[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint8", "name": "__decimals", "type": "uint8" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "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": "", "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": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "__decimals", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_usr", "type": "address" }, { "internalType": "uint256", "name": "_wei", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_wei", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "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": "", "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": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b5060405162000d7938038062000d79833981016040819052620000349162000139565b828260036200004483826200024d565b5060046200005382826200024d565b50506005805460ff191660ff93909316929092179091555062000319915050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009c57600080fd5b81516001600160401b0380821115620000b957620000b962000074565b604051601f8301601f19908116603f01168101908282118183101715620000e457620000e462000074565b816040528381526020925086838588010111156200010157600080fd5b600091505b8382101562000125578582018301518183018401529082019062000106565b600093810190920192909252949350505050565b6000806000606084860312156200014f57600080fd5b83516001600160401b03808211156200016757600080fd5b62000175878388016200008a565b945060208601519150808211156200018c57600080fd5b506200019b868287016200008a565b925050604084015160ff81168114620001b357600080fd5b809150509250925092565b600181811c90821680620001d357607f821691505b602082108103620001f457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024857600081815260208120601f850160051c81016020861015620002235750805b601f850160051c820191505b8181101562000244578281556001016200022f565b5050505b505050565b81516001600160401b0381111562000269576200026962000074565b62000281816200027a8454620001be565b84620001fa565b602080601f831160018114620002b95760008415620002a05750858301515b600019600386901b1c1916600185901b17855562000244565b600085815260208120601f198616915b82811015620002ea57888601518255948401946001909101908401620002c9565b5085821015620003095787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610a5080620003296000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c806340c10f1911610081578063a0712d681161005b578063a0712d681461019c578063a9059cbb146101af578063dd62ed3e146101c257600080fd5b806340c10f191461014957806370a082311461015e57806395d89b411461019457600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d6610208565b6040516100e39190610824565b60405180910390f35b6100ff6100fa3660046108b9565b61029a565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046108e3565b6102b4565b60055460405160ff90911681526020016100e3565b61015c6101573660046108b9565b6102d8565b005b61011361016c36600461091f565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6100d6610300565b61015c6101aa366004610941565b61030f565b6100ff6101bd3660046108b9565b610336565b6101136101d036600461095a565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6060600380546102179061098d565b80601f01602080910402602001604051908101604052809291908181526020018280546102439061098d565b80156102905780601f1061026557610100808354040283529160200191610290565b820191906000526020600020905b81548152906001019060200180831161027357829003601f168201915b5050505050905090565b6000336102a8818585610344565b60019150505b92915050565b6000336102c2858285610356565b6102cd85858561042a565b506001949350505050565b6102fc828277ffffffffffffffffffffffffffffffffffffffffffffffff166104d5565b5050565b6060600480546102179061098d565b610333338277ffffffffffffffffffffffffffffffffffffffffffffffff166104d5565b50565b6000336102a881858561042a565b6103518383836001610531565b505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146104245781811015610415576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101829052604481018390526064015b60405180910390fd5b61042484848484036000610531565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661047a576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526000600482015260240161040c565b73ffffffffffffffffffffffffffffffffffffffff82166104ca576040517fec442f050000000000000000000000000000000000000000000000000000000081526000600482015260240161040c565b610351838383610679565b73ffffffffffffffffffffffffffffffffffffffff8216610525576040517fec442f050000000000000000000000000000000000000000000000000000000081526000600482015260240161040c565b6102fc60008383610679565b73ffffffffffffffffffffffffffffffffffffffff8416610581576040517fe602df050000000000000000000000000000000000000000000000000000000081526000600482015260240161040c565b73ffffffffffffffffffffffffffffffffffffffff83166105d1576040517f94280d620000000000000000000000000000000000000000000000000000000081526000600482015260240161040c565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526001602090815260408083209387168352929052208290558015610424578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161066b91815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff83166106b15780600260008282546106a691906109e0565b909155506107639050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610737576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602481018290526044810183905260640161040c565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff821661078c576002805482900390556107b8565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161081791815260200190565b60405180910390a3505050565b600060208083528351808285015260005b8181101561085157858101830151858201604001528201610835565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146108b457600080fd5b919050565b600080604083850312156108cc57600080fd5b6108d583610890565b946020939093013593505050565b6000806000606084860312156108f857600080fd5b61090184610890565b925061090f60208501610890565b9150604084013590509250925092565b60006020828403121561093157600080fd5b61093a82610890565b9392505050565b60006020828403121561095357600080fd5b5035919050565b6000806040838503121561096d57600080fd5b61097683610890565b915061098460208401610890565b90509250929050565b600181811c908216806109a157607f821691505b6020821081036109da577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b808201808211156102ae577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea264697066735822122050e2e99a2752dfd14684b1a691d8f0eb5ad18ef1a2f44cf6361aece7b50e5bf764736f6c63430008140033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005546f74656d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000354544d0000000000000000000000000000000000000000000000000000000000