[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint256", "name": "initialSupply", "type": "uint256" }, { "internalType": "address", "name": "owner", "type": "address" } ], "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": "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": "", "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": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "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" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405234801562000010575f80fd5b5060405162001d5238038062001d52833981810160405281019062000036919062000641565b838381600390816200004991906200091c565b5080600490816200005b91906200091c565b5050506200007e62000072620000ab60201b60201c565b620000b260201b60201c565b6200009081836200017560201b60201c565b620000a181620000b260201b60201c565b5050505062000afa565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620001e8575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620001df919062000a11565b60405180910390fd5b620001fb5f8383620001ff60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000253578060025f82825462000246919062000a59565b9250508190555062000324565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015620002df578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620002d69392919062000aa4565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200036d578060025f8282540392505081905550620003b7565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000416919062000adf565b60405180910390a3505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000484826200043c565b810181811067ffffffffffffffff82111715620004a657620004a56200044c565b5b80604052505050565b5f620004ba62000423565b9050620004c8828262000479565b919050565b5f67ffffffffffffffff821115620004ea57620004e96200044c565b5b620004f5826200043c565b9050602081019050919050565b5f5b838110156200052157808201518184015260208101905062000504565b5f8484015250505050565b5f620005426200053c84620004cd565b620004af565b90508281526020810184848401111562000561576200056062000438565b5b6200056e84828562000502565b509392505050565b5f82601f8301126200058d576200058c62000434565b5b81516200059f8482602086016200052c565b91505092915050565b5f819050919050565b620005bc81620005a8565b8114620005c7575f80fd5b50565b5f81519050620005da81620005b1565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200060b82620005e0565b9050919050565b6200061d81620005ff565b811462000628575f80fd5b50565b5f815190506200063b8162000612565b92915050565b5f805f80608085870312156200065c576200065b6200042c565b5b5f85015167ffffffffffffffff8111156200067c576200067b62000430565b5b6200068a8782880162000576565b945050602085015167ffffffffffffffff811115620006ae57620006ad62000430565b5b620006bc8782880162000576565b9350506040620006cf87828801620005ca565b9250506060620006e2878288016200062b565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200073d57607f821691505b602082108103620007535762000752620006f8565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620007b77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200077a565b620007c386836200077a565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000804620007fe620007f884620005a8565b620007db565b620005a8565b9050919050565b5f819050919050565b6200081f83620007e4565b620008376200082e826200080b565b84845462000786565b825550505050565b5f90565b6200084d6200083f565b6200085a81848462000814565b505050565b5b818110156200088157620008755f8262000843565b60018101905062000860565b5050565b601f821115620008d0576200089a8162000759565b620008a5846200076b565b81016020851015620008b5578190505b620008cd620008c4856200076b565b8301826200085f565b50505b505050565b5f82821c905092915050565b5f620008f25f1984600802620008d5565b1980831691505092915050565b5f6200090c8383620008e1565b9150826002028217905092915050565b6200092782620006ee565b67ffffffffffffffff8111156200094357620009426200044c565b5b6200094f825462000725565b6200095c82828562000885565b5f60209050601f83116001811462000992575f84156200097d578287015190505b620009898582620008ff565b865550620009f8565b601f198416620009a28662000759565b5f5b82811015620009cb57848901518255600182019150602085019450602081019050620009a4565b86831015620009eb5784890151620009e7601f891682620008e1565b8355505b6001600288020188555050505b505050505050565b62000a0b81620005ff565b82525050565b5f60208201905062000a265f83018462000a00565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000a6582620005a8565b915062000a7283620005a8565b925082820190508082111562000a8d5762000a8c62000a2c565b5b92915050565b62000a9e81620005a8565b82525050565b5f60608201905062000ab95f83018662000a00565b62000ac8602083018562000a93565b62000ad7604083018462000a93565b949350505050565b5f60208201905062000af45f83018462000a93565b92915050565b61124a8062000b085f395ff3fe608060405234801561000f575f80fd5b50600436106100cd575f3560e01c8063715018a61161008a578063a0712d6811610064578063a0712d6814610201578063a9059cbb1461021d578063dd62ed3e1461024d578063f2fde38b1461027d576100cd565b8063715018a6146101bb5780638da5cb5b146101c557806395d89b41146101e3576100cd565b806306fdde03146100d1578063095ea7b3146100ef57806318160ddd1461011f57806323b872dd1461013d578063313ce5671461016d57806370a082311461018b575b5f80fd5b6100d9610299565b6040516100e69190610da2565b60405180910390f35b61010960048036038101906101049190610e53565b610329565b6040516101169190610eab565b60405180910390f35b61012761034b565b6040516101349190610ed3565b60405180910390f35b61015760048036038101906101529190610eec565b610354565b6040516101649190610eab565b60405180910390f35b610175610382565b6040516101829190610f57565b60405180910390f35b6101a560048036038101906101a09190610f70565b61038a565b6040516101b29190610ed3565b60405180910390f35b6101c36103cf565b005b6101cd6103e2565b6040516101da9190610faa565b60405180910390f35b6101eb61040a565b6040516101f89190610da2565b60405180910390f35b61021b60048036038101906102169190610fc3565b61049a565b005b61023760048036038101906102329190610e53565b6104af565b6040516102449190610eab565b60405180910390f35b61026760048036038101906102629190610fee565b6104d1565b6040516102749190610ed3565b60405180910390f35b61029760048036038101906102929190610f70565b610553565b005b6060600380546102a890611059565b80601f01602080910402602001604051908101604052809291908181526020018280546102d490611059565b801561031f5780601f106102f65761010080835404028352916020019161031f565b820191905f5260205f20905b81548152906001019060200180831161030257829003601f168201915b5050505050905090565b5f806103336105d5565b90506103408185856105dc565b600191505092915050565b5f600254905090565b5f8061035e6105d5565b905061036b8582856105ee565b610376858585610680565b60019150509392505050565b5f6012905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6103d7610770565b6103e05f6107ee565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461041990611059565b80601f016020809104026020016040519081016040528092919081815260200182805461044590611059565b80156104905780601f1061046757610100808354040283529160200191610490565b820191905f5260205f20905b81548152906001019060200180831161047357829003601f168201915b5050505050905090565b6104a2610770565b6104ac33826108b1565b50565b5f806104b96105d5565b90506104c6818585610680565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61055b610770565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036105c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c0906110f9565b60405180910390fd5b6105d2816107ee565b50565b5f33905090565b6105e98383836001610930565b505050565b5f6105f984846104d1565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461067a578181101561066b578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161066293929190611117565b60405180910390fd5b61067984848484035f610930565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106f0575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016106e79190610faa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610760575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016107579190610faa565b60405180910390fd5b61076b838383610aff565b505050565b6107786105d5565b73ffffffffffffffffffffffffffffffffffffffff166107966103e2565b73ffffffffffffffffffffffffffffffffffffffff16146107ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e390611196565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610921575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016109189190610faa565b60405180910390fd5b61092c5f8383610aff565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036109a0575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016109979190610faa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a10575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610a079190610faa565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610af9578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610af09190610ed3565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b4f578060025f828254610b4391906111e1565b92505081905550610c1d565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610bd8578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610bcf93929190611117565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c64578060025f8282540392505081905550610cae565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d0b9190610ed3565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610d4f578082015181840152602081019050610d34565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610d7482610d18565b610d7e8185610d22565b9350610d8e818560208601610d32565b610d9781610d5a565b840191505092915050565b5f6020820190508181035f830152610dba8184610d6a565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610def82610dc6565b9050919050565b610dff81610de5565b8114610e09575f80fd5b50565b5f81359050610e1a81610df6565b92915050565b5f819050919050565b610e3281610e20565b8114610e3c575f80fd5b50565b5f81359050610e4d81610e29565b92915050565b5f8060408385031215610e6957610e68610dc2565b5b5f610e7685828601610e0c565b9250506020610e8785828601610e3f565b9150509250929050565b5f8115159050919050565b610ea581610e91565b82525050565b5f602082019050610ebe5f830184610e9c565b92915050565b610ecd81610e20565b82525050565b5f602082019050610ee65f830184610ec4565b92915050565b5f805f60608486031215610f0357610f02610dc2565b5b5f610f1086828701610e0c565b9350506020610f2186828701610e0c565b9250506040610f3286828701610e3f565b9150509250925092565b5f60ff82169050919050565b610f5181610f3c565b82525050565b5f602082019050610f6a5f830184610f48565b92915050565b5f60208284031215610f8557610f84610dc2565b5b5f610f9284828501610e0c565b91505092915050565b610fa481610de5565b82525050565b5f602082019050610fbd5f830184610f9b565b92915050565b5f60208284031215610fd857610fd7610dc2565b5b5f610fe584828501610e3f565b91505092915050565b5f806040838503121561100457611003610dc2565b5b5f61101185828601610e0c565b925050602061102285828601610e0c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061107057607f821691505b6020821081036110835761108261102c565b5b50919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6110e3602683610d22565b91506110ee82611089565b604082019050919050565b5f6020820190508181035f830152611110816110d7565b9050919050565b5f60608201905061112a5f830186610f9b565b6111376020830185610ec4565b6111446040830184610ec4565b949350505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611180602083610d22565b915061118b8261114c565b602082019050919050565b5f6020820190508181035f8301526111ad81611174565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6111eb82610e20565b91506111f683610e20565b925082820190508082111561120e5761120d6111b4565b5b9291505056fea2646970667358221220e2404c99dfd4f557a048438fe73a9f08d5f0c9eaa2ee93fcd325716fac8e2e5964736f6c63430008150033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000433fb24dbe236cf39c80000000000000000000000000000008c2d6a40665d732115847df76a1ed7f5e3730759000000000000000000000000000000000000000000000000000000000000000d4b6e75636b6c657a20436f696e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084b4e55434b4c455a000000000000000000000000000000000000000000000000