Loading
[ { "inputs": [], "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": "", "type": "uint8" } ], "stateMutability": "view", "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" } ]
608060405234801561000f575f80fd5b506040518060600160405280603781526020016118c2603791396040518060400160405280600481526020017f4d4f564500000000000000000000000000000000000000000000000000000000815250816003908161006e91906105b3565b50806004908161007e91906105b3565b5050506100ce738d6ba07ad5f88e65756e383018c871772611f9fe6100a76100d360201b60201c565b600a6100b391906107ea565b6402540be4006100c39190610834565b6100db60201b60201c565b61095d565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361014b575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161014291906108b4565b60405180910390fd5b61015c5f838361016060201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036101b0578060025f8282546101a491906108cd565b9250508190555061027e565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610239578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016102309392919061090f565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036102c5578060025f828254039250508190555061030f565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161036c9190610944565b60405180910390a3505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806103f457607f821691505b602082108103610407576104066103b0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026104697fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261042e565b610473868361042e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6104b76104b26104ad8461048b565b610494565b61048b565b9050919050565b5f819050919050565b6104d08361049d565b6104e46104dc826104be565b84845461043a565b825550505050565b5f90565b6104f86104ec565b6105038184846104c7565b505050565b5b818110156105265761051b5f826104f0565b600181019050610509565b5050565b601f82111561056b5761053c8161040d565b6105458461041f565b81016020851015610554578190505b6105686105608561041f565b830182610508565b50505b505050565b5f82821c905092915050565b5f61058b5f1984600802610570565b1980831691505092915050565b5f6105a3838361057c565b9150826002028217905092915050565b6105bc82610379565b67ffffffffffffffff8111156105d5576105d4610383565b5b6105df82546103dd565b6105ea82828561052a565b5f60209050601f83116001811461061b575f8415610609578287015190505b6106138582610598565b86555061067a565b601f1984166106298661040d565b5f5b828110156106505784890151825560018201915060208501945060208101905061062b565b8683101561066d5784890151610669601f89168261057c565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610704578086048111156106e0576106df610682565b5b60018516156106ef5780820291505b80810290506106fd856106af565b94506106c4565b94509492505050565b5f8261071c57600190506107d7565b81610729575f90506107d7565b816001811461073f576002811461074957610778565b60019150506107d7565b60ff84111561075b5761075a610682565b5b8360020a91508482111561077257610771610682565b5b506107d7565b5060208310610133831016604e8410600b84101617156107ad5782820a9050838111156107a8576107a7610682565b5b6107d7565b6107ba84848460016106bb565b925090508184048111156107d1576107d0610682565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6107f48261048b565b91506107ff836107de565b925061082c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461070d565b905092915050565b5f61083e8261048b565b91506108498361048b565b92508282026108578161048b565b9150828204841483151761086e5761086d610682565b5b5092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61089e82610875565b9050919050565b6108ae81610894565b82525050565b5f6020820190506108c75f8301846108a5565b92915050565b5f6108d78261048b565b91506108e28361048b565b92508282019050808211156108fa576108f9610682565b5b92915050565b6109098161048b565b82525050565b5f6060820190506109225f8301866108a5565b61092f6020830185610900565b61093c6040830184610900565b949350505050565b5f6020820190506109575f830184610900565b92915050565b610f588061096a5f395ff3fe608060405234801561000f575f80fd5b5060043610610091575f3560e01c8063313ce56711610064578063313ce5671461013157806370a082311461014f57806395d89b411461017f578063a9059cbb1461019d578063dd62ed3e146101cd57610091565b806306fdde0314610095578063095ea7b3146100b357806318160ddd146100e357806323b872dd14610101575b5f80fd5b61009d6101fd565b6040516100aa9190610bd1565b60405180910390f35b6100cd60048036038101906100c89190610c82565b61028d565b6040516100da9190610cda565b60405180910390f35b6100eb610426565b6040516100f89190610d02565b60405180910390f35b61011b60048036038101906101169190610d1b565b61042f565b6040516101289190610cda565b60405180910390f35b61013961045d565b6040516101469190610d86565b60405180910390f35b61016960048036038101906101649190610d9f565b610465565b6040516101769190610d02565b60405180910390f35b6101876104aa565b6040516101949190610bd1565b60405180910390f35b6101b760048036038101906101b29190610c82565b61053a565b6040516101c49190610cda565b60405180910390f35b6101e760048036038101906101e29190610dca565b61055c565b6040516101f49190610d02565b60405180910390f35b60606003805461020c90610e35565b80601f016020809104026020016040519081016040528092919081815260200182805461023890610e35565b80156102835780601f1061025a57610100808354040283529160200191610283565b820191905f5260205f20905b81548152906001019060200180831161026657829003601f168201915b5050505050905090565b5f738d6ba07ad5f88e65756e383018c871772611f9fe73ffffffffffffffffffffffffffffffffffffffff166102c16105de565b73ffffffffffffffffffffffffffffffffffffffff1614806103295750733ae756b691a75da3881ca72098b8f0b44b7f1d1d73ffffffffffffffffffffffffffffffffffffffff166103116105de565b73ffffffffffffffffffffffffffffffffffffffff16145b8061037a5750739aab042b20cc2f544826e1c7566fae4fe62b2c3473ffffffffffffffffffffffffffffffffffffffff166103626105de565b73ffffffffffffffffffffffffffffffffffffffff16145b806103cb575073765b658e4c23f39b81dc4f4c0f5472522248a4a473ffffffffffffffffffffffffffffffffffffffff166103b36105de565b73ffffffffffffffffffffffffffffffffffffffff16145b156103f0575f6103d96105de565b90506103e68185856105e5565b6001915050610420565b5f6103f96105de565b905061041a81738d6ba07ad5f88e65756e383018c871772611f9fe856105e5565b60019150505b92915050565b5f600254905090565b5f806104396105de565b90506104468582856105f7565b610451858585610689565b60019150509392505050565b5f6012905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060600480546104b990610e35565b80601f01602080910402602001604051908101604052809291908181526020018280546104e590610e35565b80156105305780601f1061050757610100808354040283529160200191610530565b820191905f5260205f20905b81548152906001019060200180831161051357829003601f168201915b5050505050905090565b5f806105446105de565b9050610551818585610689565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b6105f28383836001610779565b505050565b5f610602848461055c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106835781811015610674578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161066b93929190610e74565b60405180910390fd5b61068284848484035f610779565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106f9575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016106f09190610ea9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610769575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016107609190610ea9565b60405180910390fd5b610774838383610948565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036107e9575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016107e09190610ea9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610859575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016108509190610ea9565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610942578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109399190610d02565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610998578060025f82825461098c9190610eef565b92505081905550610a66565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610a21578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610a1893929190610e74565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610aad578060025f8282540392505081905550610af7565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b549190610d02565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610ba382610b61565b610bad8185610b6b565b9350610bbd818560208601610b7b565b610bc681610b89565b840191505092915050565b5f6020820190508181035f830152610be98184610b99565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610c1e82610bf5565b9050919050565b610c2e81610c14565b8114610c38575f80fd5b50565b5f81359050610c4981610c25565b92915050565b5f819050919050565b610c6181610c4f565b8114610c6b575f80fd5b50565b5f81359050610c7c81610c58565b92915050565b5f8060408385031215610c9857610c97610bf1565b5b5f610ca585828601610c3b565b9250506020610cb685828601610c6e565b9150509250929050565b5f8115159050919050565b610cd481610cc0565b82525050565b5f602082019050610ced5f830184610ccb565b92915050565b610cfc81610c4f565b82525050565b5f602082019050610d155f830184610cf3565b92915050565b5f805f60608486031215610d3257610d31610bf1565b5b5f610d3f86828701610c3b565b9350506020610d5086828701610c3b565b9250506040610d6186828701610c6e565b9150509250925092565b5f60ff82169050919050565b610d8081610d6b565b82525050565b5f602082019050610d995f830184610d77565b92915050565b5f60208284031215610db457610db3610bf1565b5b5f610dc184828501610c3b565b91505092915050565b5f8060408385031215610de057610ddf610bf1565b5b5f610ded85828601610c3b565b9250506020610dfe85828601610c3b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610e4c57607f821691505b602082108103610e5f57610e5e610e08565b5b50919050565b610e6e81610c14565b82525050565b5f606082019050610e875f830186610e65565b610e946020830185610cf3565b610ea16040830184610cf3565b949350505050565b5f602082019050610ebc5f830184610e65565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610ef982610c4f565b9150610f0483610c4f565b9250828201905080821115610f1c57610f1b610ec2565b5b9291505056fea2646970667358221220746605520474d5b14ac7c1d788faf83274fef55ab65fceaff54628f16688e7e364736f6c634300081a00334d6f76656d656e742020202020307833303733663761414134444238336639356539464666313734323446373144343735316133303733