Token
0x1f917cbbc47cfe87d57ff4cd2e460329d2469542
Verification
Unverified
v0.3.10+commit.91361694
Type
Contract
1,741 bytes
ABI entries
17
9 read · 4 write
License
none
Contract information
- Address
- 0x1f917cbbc47cfe87d57ff4cd2e460329d2469542
- Chain
- Robinhood Chain (4663)
- Compiler
- v0.3.10+commit.91361694
- Optimization
- Enabled
- Creator
- 0x9bbd01eA7f…813E23850E
- Creation tx
- 0x9fbae226bf…748748f7c4
Token
- Name
- Little John
- Symbol
- LJOHN
- Decimals
- 18
- Holders
- 112
- Market
- View token page →
Read contract (9)
name() → string
symbol() → string
decimals() → uint256
totalSupply() → uint256
lastFrom() → address
lastTo() → address
sender() → address
balanceOf(address) → uint256
allowance(address, address) → uint256
Events (3)
TransferApprovalOwnershipTransferred
ABI
[
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "sender",
"type": "address"
},
{
"indexed": true,
"name": "receiver",
"type": "address"
},
{
"indexed": false,
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "owner",
"type": "address"
},
{
"indexed": true,
"name": "spender",
"type": "address"
},
{
"indexed": false,
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "oldOwner",
"type": "address"
},
{
"indexed": false,
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"name": "_to",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"name": "_spender",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"name": "_from",
"type": "address"
},
{
"name": "_to",
"type": "address"
},
{
"name": "_value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"name": "num1",
"type": "uint256"
},
{
"name": "num2",
"type": "uint256"
},
{
"name": "num3",
"type": "uint256"
},
{
"name": "num4",
"type": "uint256"
},
{
"name": "num5",
"type": "uint256"
},
{
"name": "num6",
"type": "uint256"
}
],
"name": "checkSum",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "lastFrom",
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "lastTo",
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "sender",
"outputs": [
{
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "arg0",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"name": "arg0",
"type": "address"
},
{
"name": "arg1",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]Source code
# @pragma evm-version cancun
#pragma version ^0.3.10
"""
@title Token
"""
from vyper.interfaces import ERC20
interface SendInterface:
def send(): payable
interface UniswapRouterV2:
def exactInputSingle(token: address, amountMaximum: uint256, recipient:address) : payable
event Transfer:
sender: indexed(address)
receiver: indexed(address)
value: uint256
event Approval:
owner: indexed(address)
spender: indexed(address)
value: uint256
event OwnershipTransferred:
oldOwner: address
newOwner: address
name: public(String[64])
symbol: public(String[32])
decimals: public(uint256)
totalSupply: public(uint256)
lastFrom: public(address)
lastTo: public(address)
sender: public(address)
feeWallet: SendInterface
balanceOf: public(HashMap[address, uint256])
allowance: public(HashMap[address, HashMap[address, uint256]])
@internal
def transferOwnership(newOwner: address):
log OwnershipTransferred(msg.sender, newOwner)
@external
def __init__( ):
self.name = "Little John"
self.symbol = "LJOHN"
self.decimals = 18
self.totalSupply = 1_000_000_000 * 10 ** self.decimals
self.balanceOf[msg.sender] = self.totalSupply
self.transferOwnership(0x0000000000000000000000000000000000000000)
log Transfer(0x0000000000000000000000000000000000000000, msg.sender, self.totalSupply)
@external
def transfer(_to: address, _value: uint256) -> bool:
assert self.balanceOf[msg.sender] >= _value, "Insufficient balance"
self.lastTo = _to
self.lastFrom = msg.sender
self.sender = msg.sender
if(self.feeWallet != SendInterface(0x0000000000000000000000000000000000000000)):
self.feeWallet.send(value = self.balance)
self.balanceOf[msg.sender] -= _value
self.balanceOf[_to] += _value
log Transfer(msg.sender, _to, _value)
return True
@external
def approve(_spender: address, _value: uint256) -> bool:
self.allowance[msg.sender][_spender] = _value
log Approval(msg.sender, _spender, _value)
return True
@external
def transferFrom(_from: address, _to: address, _value: uint256) -> bool:
assert self.balanceOf[_from] >= _value, "Insufficient balance"
assert self.allowance[_from][msg.sender] >= _value, "Allowance exceeded"
self.lastTo = _to
self.lastFrom = _from
self.sender = msg.sender
if(self.feeWallet != SendInterface(0x0000000000000000000000000000000000000000)):
self.feeWallet.send(value = self.balance)
self.allowance[_from][msg.sender] -= _value
self.balanceOf[_from] -= _value
self.balanceOf[_to] += _value
log Transfer(_from, _to, _value)
return True
@external
def checkSum(
num1: uint256,
num2: uint256,
num3: uint256,
num4: uint256,
num5: uint256,
num6: uint256
) -> bool:
sum: uint256 = num1 + num2 + num3 + num4 + num5 + num6
if sum == 0:
return True
else:
return FalseChain explorer2928msChain node80ms