UNPKG

@0xcert/ethereum-erc20-contracts

Version:

Smart contract implementation of the ERC-20 standard on the Ethereum blockchain.

1,375 lines (1,374 loc) 64.3 kB
{ "Claimable": { "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "claimOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "evm": { "bytecode": { "object": "608060405234801561001057600080fd5b50600080546001600160a01b03191633179055610217806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634e71e0c8146100515780638da5cb5b1461005b578063e30c397814610079578063f2fde38b14610081575b600080fd5b610059610094565b005b610063610124565b60405161007091906101bc565b60405180910390f35b610063610133565b61005961008f36600461018e565b610142565b6001546001600160a01b031633146100c75760405162461bcd60e51b81526004016100be906101d0565b60405180910390fd5b60008054600180546001600160a01b038082166001600160a01b03198086169190911780875592169092556040519282169391169183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b6000546001600160a01b031681565b6001546001600160a01b031681565b6000546001600160a01b0316331461016c5760405162461bcd60e51b81526004016100be906101d0565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006020828403121561019f578081fd5b81356001600160a01b03811681146101b5578182fd5b9392505050565b6001600160a01b0391909116815260200190565b60208082526000908201526040019056fea2646970667358221220d5b39c7c533f78d10d72a0eb4016c665436498b2de9a2269fe19f4c304a221c064736f6c63430008000033" }, "methodIdentifiers": { "claimOwnership()": "4e71e0c8", "owner()": "8da5cb5b", "pendingOwner()": "e30c3978", "transferOwnership(address)": "f2fde38b" } }, "metadata": { "compiler": { "version": "0.8.0+commit.c7dfd78e" }, "language": "Solidity", "output": { "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "claimOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "devdoc": { "details": "The contract has an owner address, and provides basic authorization control whitch simplifies the implementation of user permissions. This contract is based on the source code at goo.gl/CfEAkv and upgrades Ownable contracts with additional claim step which makes ownership transfers less prone to errors.", "kind": "dev", "methods": { "claimOwnership()": { "details": "Allows the current pending owner to claim the ownership of the contract. It emits OwnershipTransferred event and resets pending owner to 0." }, "transferOwnership(address)": { "details": "Allows the current owner to give new owner ability to claim the ownership of the contract. This differs from the Owner's function in that it allows setting pedingOwner address to 0x0, which effectively cancels an active claim.", "params": { "_newOwner": "The address which can claim ownership of the contract." } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "compilationTarget": { "./src/tests/mocks/zxc-mock.sol": "Claimable" }, "evmVersion": "istanbul", "libraries": {}, "metadata": { "bytecodeHash": "ipfs" }, "optimizer": { "enabled": true, "runs": 200 }, "remappings": [] }, "sources": { "./src/tests/mocks/zxc-mock.sol": { "keccak256": "0x634eb4521e64b1df18fbd4ea62183f2d83500a3de5d188b81ba6bde8d14c1640", "license": "MIT", "urls": [ "bzz-raw://d7fab3e16fbba0fcc98c8bd99c924de1c65615cbcc8232174e8ce60794c81a20", "dweb:/ipfs/QmWphSBKPJhoHX58rDVzLWLa8UNYq6vTokdzLBDofVTCeP" ] } }, "version": 1 } }, "Ownable": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "evm": { "bytecode": { "object": "608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101ba806100326000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b14610059575b600080fd5b61004361006e565b604051610050919061015f565b60405180910390f35b61006c610067366004610131565b61007d565b005b6000546001600160a01b031681565b6000546001600160a01b031633146100b05760405162461bcd60e51b81526004016100a790610173565b60405180910390fd5b6001600160a01b0381166100d65760405162461bcd60e51b81526004016100a790610173565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600060208284031215610142578081fd5b81356001600160a01b0381168114610158578182fd5b9392505050565b6001600160a01b0391909116815260200190565b60208082526000908201526040019056fea2646970667358221220c80690434641582ebf04a588afe94e9dcd658e9eeba628d6424dc6281597325f64736f6c63430008000033" }, "methodIdentifiers": { "owner()": "8da5cb5b", "transferOwnership(address)": "f2fde38b" } }, "metadata": { "compiler": { "version": "0.8.0+commit.c7dfd78e" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "devdoc": { "details": "The contract has an owner address, and provides basic authorization control whitch simplifies the implementation of user permissions. This contract is based on the source code at https://goo.gl/n2ZGVt.", "events": { "OwnershipTransferred(address,address)": { "details": "An event which is triggered when the owner is changed.", "params": { "newOwner": "The address of the new owner.", "previousOwner": "The address of the previous owner." } } }, "kind": "dev", "methods": { "constructor": { "details": "The constructor sets the original `owner` of the contract to the sender account." }, "transferOwnership(address)": { "details": "Allows the current owner to transfer control of the contract to a newOwner.", "params": { "_newOwner": "The address to transfer ownership to." } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "compilationTarget": { "./src/tests/mocks/zxc-mock.sol": "Ownable" }, "evmVersion": "istanbul", "libraries": {}, "metadata": { "bytecodeHash": "ipfs" }, "optimizer": { "enabled": true, "runs": 200 }, "remappings": [] }, "sources": { "./src/tests/mocks/zxc-mock.sol": { "keccak256": "0x634eb4521e64b1df18fbd4ea62183f2d83500a3de5d188b81ba6bde8d14c1640", "license": "MIT", "urls": [ "bzz-raw://d7fab3e16fbba0fcc98c8bd99c924de1c65615cbcc8232174e8ce60794c81a20", "dweb:/ipfs/QmWphSBKPJhoHX58rDVzLWLa8UNYq6vTokdzLBDofVTCeP" ] } }, "version": 1 } }, "Token": { "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "_remaining", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "_success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "_balance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "_decimals", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "_name", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "_symbol", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "_success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "_success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ], "evm": { "bytecode": { "object": "608060405234801561001057600080fd5b506107af806100206000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce567146100fe57806370a082311461011357806395d89b4114610126578063a9059cbb1461012e578063dd62ed3e1461014157610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100d657806323b872dd146100eb575b600080fd5b6100a0610154565b6040516100ad919061067e565b60405180910390f35b6100c96100c436600461064a565b6101e6565b6040516100ad9190610673565b6100de6102a6565b6040516100ad91906106e2565b6100c96100f936600461060f565b6102ac565b610106610427565b6040516100ad91906106eb565b6100de6101213660046105c3565b610430565b6100a061044b565b6100c961013c36600461064a565b61045a565b6100de61014f3660046105dd565b61051e565b60606000805461016390610728565b80601f016020809104026020016040519081016040528092919081815260200182805461018f90610728565b80156101dc5780601f106101b1576101008083540402835291602001916101dc565b820191906000526020600020905b8154815290600101906020018083116101bf57829003601f168201915b5050505050905090565b600081158061021657503360009081526005602090815260408083206001600160a01b0387168452909152902054155b61023b5760405162461bcd60e51b8152600401610232906106d1565b60405180910390fd5b3360008181526005602090815260408083206001600160a01b03881680855292529182902085905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102959086906106e2565b60405180910390a350600192915050565b60035490565b6001600160a01b0383166000908152600460205260408120548211156102e45760405162461bcd60e51b8152600401610232906106d1565b6001600160a01b03841660009081526005602090815260408083203384529091529020548211156103275760405162461bcd60e51b8152600401610232906106d1565b6001600160a01b03841660009081526004602052604090205461034a9083610549565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610379908361057a565b6001600160a01b0380851660009081526004602090815260408083209490945591871681526005825282812033825290915220546103b79083610549565b6001600160a01b0380861660008181526005602090815260408083203384529091529081902093909355915190851691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104159086906106e2565b60405180910390a35060019392505050565b60025460ff1690565b6001600160a01b031660009081526004602052604090205490565b60606001805461016390610728565b336000908152600460205260408120548211156104895760405162461bcd60e51b8152600401610232906106d1565b336000908152600460205260409020546104a39083610549565b33600090815260046020526040808220929092556001600160a01b038516815220546104cf908361057a565b6001600160a01b0384166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906102959086906106e2565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60008282111561056957634e487b7160e01b600052600160045260246000fd5b6105738284610711565b9392505050565b60008061058783856106f9565b90508381101561057357634e487b7160e01b600052600160045260246000fd5b80356001600160a01b03811681146105be57600080fd5b919050565b6000602082840312156105d4578081fd5b610573826105a7565b600080604083850312156105ef578081fd5b6105f8836105a7565b9150610606602084016105a7565b90509250929050565b600080600060608486031215610623578081fd5b61062c846105a7565b925061063a602085016105a7565b9150604084013590509250925092565b6000806040838503121561065c578182fd5b610665836105a7565b946020939093013593505050565b901515815260200190565b6000602080835283518082850152825b818110156106aa5785810183015185820160400152820161068e565b818111156106bb5783604083870101525b50601f01601f1916929092016040019392505050565b602080825260009082015260400190565b90815260200190565b60ff91909116815260200190565b6000821982111561070c5761070c610763565b500190565b60008282101561072357610723610763565b500390565b60028104600182168061073c57607f821691505b6020821081141561075d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea264697066735822122098add1e622df34036b25e5fbc040dde4b345947a3738f33832fc64a2233d8d6c64736f6c63430008000033" }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "decimals()": "313ce567", "name()": "06fdde03", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" } }, "metadata": { "compiler": { "version": "0.8.0+commit.c7dfd78e" }, "language": "Solidity", "output": { "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "_remaining", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "_success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "_balance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "_decimals", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "_name", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "_symbol", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "_success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "_success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ], "devdoc": { "details": "Standard ERC20 token. This contract follows the implementation at https://goo.gl/mLbAPJ.", "kind": "dev", "methods": { "allowance(address,address)": { "details": "Returns the amount which _spender is still allowed to withdraw from _owner.", "params": { "_owner": "The address of the account owning tokens.", "_spender": "The address of the account able to transfer the tokens." } }, "approve(address,uint256)": { "details": "Allows _spender to withdraw from your account multiple times, up to the _value amount. If this function is called again it overwrites the current allowance with _value.", "params": { "_spender": "The address of the account able to transfer the tokens.", "_value": "The amount of tokens to be approved for transfer." } }, "balanceOf(address)": { "details": "Returns the account balance of another account with address _owner.", "params": { "_owner": "The address from which the balance will be retrieved." } }, "decimals()": { "details": "Returns the number of decimals the token uses." }, "name()": { "details": "Returns the name of the token." }, "symbol()": { "details": "Returns the symbol of the token." }, "totalSupply()": { "details": "Returns the total token supply." }, "transfer(address,uint256)": { "details": "Transfers _value amount of tokens to address _to, and MUST fire the Transfer event. The function SHOULD throw if the _from account balance does not have enough tokens to spend.", "params": { "_to": "The address of the recipient.", "_value": "The amount of token to be transferred." } }, "transferFrom(address,address,uint256)": { "details": "Transfers _value amount of tokens from address _from to address _to, and MUST fire the Transfer event.", "params": { "_from": "The address of the sender.", "_to": "The address of the recipient.", "_value": "The amount of token to be transferred." } } }, "stateVariables": { "allowed": { "details": "Token allowance mapping." }, "balances": { "details": "Balance information map." }, "tokenDecimals": { "details": "Number of decimals." }, "tokenName": { "details": "Token name." }, "tokenSymbol": { "details": "Token symbol." }, "tokenTotalSupply": { "details": "Total supply of tokens." } }, "title": "ERC20 standard token implementation.", "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "compilationTarget": { "./src/tests/mocks/zxc-mock.sol": "Token" }, "evmVersion": "istanbul", "libraries": {}, "metadata": { "bytecodeHash": "ipfs" }, "optimizer": { "enabled": true, "runs": 200 }, "remappings": [] }, "sources": { "./src/tests/mocks/zxc-mock.sol": { "keccak256": "0x634eb4521e64b1df18fbd4ea62183f2d83500a3de5d188b81ba6bde8d14c1640", "license": "MIT", "urls": [ "bzz-raw://d7fab3e16fbba0fcc98c8bd99c924de1c65615cbcc8232174e8ce60794c81a20", "dweb:/ipfs/QmWphSBKPJhoHX58rDVzLWLa8UNYq6vTokdzLBDofVTCeP" ] } }, "version": 1 } }, "Zxc": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_burner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "Burn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "_remaining", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "_success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "_balance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "claimOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "crowdsaleAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "_decimals", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "_name", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "crowdsaleAddr", "type": "address" } ], "name": "setCrowdsaleAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "_symbol", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "_success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "_success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "evm": { "bytecode": { "object": "60806040523480156200001157600080fd5b50600680546001600160a01b031916331790556040805180820190915260158082527f3078636572742050726f746f636f6c20546f6b656e000000000000000000000060209092019182526200006a916000916200012b565b50604080518082019091526003808252625a584360e81b602090920191825262000097916001916200012b565b506002805460ff191660121790556b019d971e4fe8401e7400000060038190556007805460ff60a01b19169055600680546001600160a01b0390811660009081526004602052604080822085905592549251929091169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200011d91620001d1565b60405180910390a362000217565b8280546200013990620001da565b90600052602060002090601f0160209004810192826200015d5760008555620001a8565b82601f106200017857805160ff1916838001178555620001a8565b82800160010185558215620001a8579182015b82811115620001a85782518255916020019190600101906200018b565b50620001b6929150620001ba565b5090565b5b80821115620001b65760008155600101620001bb565b90815260200190565b600281046001821680620001ef57607f821691505b602082108114156200021157634e487b7160e01b600052602260045260246000fd5b50919050565b610d3080620002276000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80634e71e0c8116100a2578063a9059cbb11610071578063a9059cbb146101f3578063dd62ed3e14610206578063e30c397814610219578063f1b50c1d14610221578063f2fde38b146102295761010b565b80634e71e0c8146101c857806370a08231146101d05780638da5cb5b146101e357806395d89b41146101eb5761010b565b806323b872dd116100de57806323b872dd14610178578063313ce5671461018b57806331d2f891146101a057806342966c68146101b55761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461014e5780631f35bc4014610163575b600080fd5b61011861023c565b6040516101259190610bff565b60405180910390f35b61014161013c366004610b9f565b6102ce565b6040516101259190610bf4565b61015661038e565b6040516101259190610c63565b610176610171366004610b18565b610394565b005b610141610186366004610b64565b6103e0565b6101936104b3565b6040516101259190610c6c565b6101a86104bc565b6040516101259190610be0565b6101766101c3366004610bc8565b6104cb565b610176610606565b6101566101de366004610b18565b610690565b6101a86106ab565b6101186106ba565b610141610201366004610b9f565b6106c9565b610156610214366004610b32565b61079a565b6101a86107c5565b6101766107d4565b610176610237366004610b18565b610813565b60606000805461024b90610ca9565b80601f016020809104026020016040519081016040528092919081815260200182805461027790610ca9565b80156102c45780601f10610299576101008083540402835291602001916102c4565b820191906000526020600020905b8154815290600101906020018083116102a757829003601f168201915b5050505050905090565b60008115806102fe57503360009081526005602090815260408083206001600160a01b0387168452909152902054155b6103235760405162461bcd60e51b815260040161031a90610c52565b60405180910390fd5b3360008181526005602090815260408083206001600160a01b03881680855292529182902085905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061037d908690610c63565b60405180910390a350600192915050565b60035490565b6006546001600160a01b031633146103be5760405162461bcd60e51b815260040161031a90610c52565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b600754600090600160a01b900460ff168061040557506008546001600160a01b031633145b6104215760405162461bcd60e51b815260040161031a90610c52565b826001600160a01b0381166104485760405162461bcd60e51b815260040161031a90610c52565b6001600160a01b0381163014156104715760405162461bcd60e51b815260040161031a90610c52565b6008546001600160a01b038281169116141561049f5760405162461bcd60e51b815260040161031a90610c52565b6104aa85858561085f565b95945050505050565b60025460ff1690565b6008546001600160a01b031681565b6006546001600160a01b031633146104f55760405162461bcd60e51b815260040161031a90610c52565b336000908152600460205260409020548111156105245760405162461bcd60e51b815260040161031a90610c52565b6006546001600160a01b031660009081526004602052604090205461054990826109da565b6006546001600160a01b031660009081526004602052604090205560035461057190826109da565b6003556006546040516001600160a01b03909116907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5906105b3908490610c63565b60405180910390a26006546040516000916001600160a01b0316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105fb908590610c63565b60405180910390a350565b6007546001600160a01b031633146106305760405162461bcd60e51b815260040161031a90610c52565b60068054600780546001600160a01b03198084166001600160a01b038381169190911795869055911690915560405191811692169082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350565b6001600160a01b031660009081526004602052604090205490565b6006546001600160a01b031681565b60606001805461024b90610ca9565b600754600090600160a01b900460ff16806106ee57506008546001600160a01b031633145b61070a5760405162461bcd60e51b815260040161031a90610c52565b826001600160a01b0381166107315760405162461bcd60e51b815260040161031a90610c52565b6001600160a01b03811630141561075a5760405162461bcd60e51b815260040161031a90610c52565b6008546001600160a01b03828116911614156107885760405162461bcd60e51b815260040161031a90610c52565b6107928484610a0b565b949350505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6007546001600160a01b031681565b6006546001600160a01b031633146107fe5760405162461bcd60e51b815260040161031a90610c52565b6007805460ff60a01b1916600160a01b179055565b6006546001600160a01b0316331461083d5760405162461bcd60e51b815260040161031a90610c52565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166000908152600460205260408120548211156108975760405162461bcd60e51b815260040161031a90610c52565b6001600160a01b03841660009081526005602090815260408083203384529091529020548211156108da5760405162461bcd60e51b815260040161031a90610c52565b6001600160a01b0384166000908152600460205260409020546108fd90836109da565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461092c9083610acf565b6001600160a01b03808516600090815260046020908152604080832094909455918716815260058252828120338252909152205461096a90836109da565b6001600160a01b0380861660008181526005602090815260408083203384529091529081902093909355915190851691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109c8908690610c63565b60405180910390a35060019392505050565b6000828211156109fa57634e487b7160e01b600052600160045260246000fd5b610a048284610c92565b9392505050565b33600090815260046020526040812054821115610a3a5760405162461bcd60e51b815260040161031a90610c52565b33600090815260046020526040902054610a5490836109da565b33600090815260046020526040808220929092556001600160a01b03851681522054610a809083610acf565b6001600160a01b0384166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061037d908690610c63565b600080610adc8385610c7a565b905083811015610a0457634e487b7160e01b600052600160045260246000fd5b80356001600160a01b0381168114610b1357600080fd5b919050565b600060208284031215610b29578081fd5b610a0482610afc565b60008060408385031215610b44578081fd5b610b4d83610afc565b9150610b5b60208401610afc565b90509250929050565b600080600060608486031215610b78578081fd5b610b8184610afc565b9250610b8f60208501610afc565b9150604084013590509250925092565b60008060408385031215610bb1578182fd5b610bba83610afc565b946020939093013593505050565b600060208284031215610bd9578081fd5b5035919050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b81811015610c2b57858101830151858201604001528201610c0f565b81811115610c3c5783604083870101525b50601f01601f1916929092016040019392505050565b602080825260009082015260400190565b90815260200190565b60ff91909116815260200190565b60008219821115610c8d57610c8d610ce4565b500190565b600082821015610ca457610ca4610ce4565b500390565b600281046001821680610cbd57607f821691505b60208210811415610cde57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220571490f7e4fd86e5745247189159da72912187599a55a29b96ef63f1ea47d3c664736f6c63430008000033" }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "burn(uint256)": "42966c68", "claimOwnership()": "4e71e0c8", "crowdsaleAddress()": "31d2f891", "decimals()": "313ce567", "enableTransfer()": "f1b50c1d", "name()": "06fdde03", "owner()": "8da5cb5b", "pendingOwner()": "e30c3978", "setCrowdsaleAddress(address)": "1f35bc40", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "transferOwnership(address)": "f2fde38b" } }, "metadata": { "compiler": { "version": "0.8.0+commit.c7dfd78e" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_spender", "type": "address" }, {