[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" } ], "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" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "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": "spender", "type": "address" } ], "name": "approveAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "approveAllToOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approveToOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "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" } ]
608060405234801561000f575f80fd5b506040516119c63803806119c6833981810160405281019061003191906102ff565b81816100416100ea60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100b1575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100a891906103b4565b60405180910390fd5b6100c0816100f160201b60201c565b5081600490816100d091906105da565b5080600590816100e091906105da565b50505050506106a9565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610211826101cb565b810181811067ffffffffffffffff821117156102305761022f6101db565b5b80604052505050565b5f6102426101b2565b905061024e8282610208565b919050565b5f67ffffffffffffffff82111561026d5761026c6101db565b5b610276826101cb565b9050602081019050919050565b8281835e5f83830152505050565b5f6102a361029e84610253565b610239565b9050828152602081018484840111156102bf576102be6101c7565b5b6102ca848285610283565b509392505050565b5f82601f8301126102e6576102e56101c3565b5b81516102f6848260208601610291565b91505092915050565b5f8060408385031215610315576103146101bb565b5b5f83015167ffffffffffffffff811115610332576103316101bf565b5b61033e858286016102d2565b925050602083015167ffffffffffffffff81111561035f5761035e6101bf565b5b61036b858286016102d2565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61039e82610375565b9050919050565b6103ae81610394565b82525050565b5f6020820190506103c75f8301846103a5565b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061041b57607f821691505b60208210810361042e5761042d6103d7565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026104907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610455565b61049a8683610455565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6104de6104d96104d4846104b2565b6104bb565b6104b2565b9050919050565b5f819050919050565b6104f7836104c4565b61050b610503826104e5565b848454610461565b825550505050565b5f90565b61051f610513565b61052a8184846104ee565b505050565b5b8181101561054d576105425f82610517565b600181019050610530565b5050565b601f8211156105925761056381610434565b61056c84610446565b8101602085101561057b578190505b61058f61058785610446565b83018261052f565b50505b505050565b5f82821c905092915050565b5f6105b25f1984600802610597565b1980831691505092915050565b5f6105ca83836105a3565b9150826002028217905092915050565b6105e3826103cd565b67ffffffffffffffff8111156105fc576105fb6101db565b5b6106068254610404565b610611828285610551565b5f60209050601f831160018114610642575f8415610630578287015190505b61063a85826105bf565b8655506106a1565b601f19841661065086610434565b5f5b8281101561067757848901518255600182019150602085019450602081019050610652565b868310156106945784890151610690601f8916826105a3565b8355505b6001600288020188555050505b505050505050565b611310806106b65f395ff3fe608060405234801561000f575f80fd5b5060043610610114575f3560e01c8063715018a6116100a0578063a9059cbb1161006f578063a9059cbb146102b8578063d0e65ddb146102e8578063dd62ed3e14610304578063ed9b1bd314610334578063f2fde38b1461033e57610114565b8063715018a61461025657806379cc6790146102605780638da5cb5b1461027c57806395d89b411461029a57610114565b806323b872dd116100e757806323b872dd146101a0578063313ce567146101d057806340c10f19146101ee57806342966c681461020a57806370a082311461022657610114565b80630621472c1461011857806306fdde0314610134578063095ea7b31461015257806318160ddd14610182575b5f80fd5b610132600480360381019061012d9190610f4c565b61035a565b005b61013c610377565b6040516101499190610fe7565b60405180910390f35b61016c6004803603810190610167919061103a565b610407565b6040516101799190611092565b60405180910390f35b61018a610429565b60405161019791906110ba565b60405180910390f35b6101ba60048036038101906101b591906110d3565b610432565b6040516101c79190611092565b60405180910390f35b6101d8610460565b6040516101e5919061113e565b60405180910390f35b6102086004803603810190610203919061103a565b610468565b005b610224600480360381019061021f9190611157565b61047e565b005b610240600480360381019061023b9190610f4c565b610492565b60405161024d91906110ba565b60405180910390f35b61025e6104d8565b005b61027a6004803603810190610275919061103a565b6104eb565b005b61028461050b565b6040516102919190611191565b60405180910390f35b6102a2610532565b6040516102af9190610fe7565b60405180910390f35b6102d260048036038101906102cd919061103a565b6105c2565b6040516102df9190611092565b60405180910390f35b61030260048036038101906102fd9190611157565b6105e4565b005b61031e600480360381019061031991906111aa565b6105f9565b60405161032b91906110ba565b60405180910390f35b61033c61067b565b005b61035860048036038101906103539190610f4c565b61069e565b005b6103738161036e610369610722565b610492565b610407565b5050565b60606004805461038690611215565b80601f01602080910402602001604051908101604052809291908181526020018280546103b290611215565b80156103fd5780601f106103d4576101008083540402835291602001916103fd565b820191905f5260205f20905b8154815290600101906020018083116103e057829003601f168201915b5050505050905090565b5f80610411610722565b905061041e818585610729565b600191505092915050565b5f600354905090565b5f8061043c610722565b905061044985828561073b565b6104548585856107cd565b60019150509392505050565b5f6012905090565b6104706108bd565b61047a8282610944565b5050565b61048f610489610722565b826109c3565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6104e06108bd565b6104e95f610a42565b565b6104fd826104f7610722565b8361073b565b61050782826109c3565b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461054190611215565b80601f016020809104026020016040519081016040528092919081815260200182805461056d90611215565b80156105b85780601f1061058f576101008083540402835291602001916105b8565b820191905f5260205f20905b81548152906001019060200180831161059b57829003601f168201915b5050505050905090565b5f806105cc610722565b90506105d98185856107cd565b600191505092915050565b6105f56105ef61050b565b82610407565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61069b61068661050b565b610696610691610722565b610492565b610407565b50565b6106a66108bd565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610716575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161070d9190611191565b60405180910390fd5b61071f81610a42565b50565b5f33905090565b6107368383836001610b03565b505050565b5f61074684846105f9565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107c757818110156107b8578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016107af93929190611245565b60405180910390fd5b6107c684848484035f610b03565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361083d575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016108349190611191565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108ad575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016108a49190611191565b60405180910390fd5b6108b8838383610cd2565b505050565b6108c5610722565b73ffffffffffffffffffffffffffffffffffffffff166108e361050b565b73ffffffffffffffffffffffffffffffffffffffff161461094257610906610722565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016109399190611191565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109b4575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016109ab9190611191565b60405180910390fd5b6109bf5f8383610cd2565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a33575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610a2a9190611191565b60405180910390fd5b610a3e825f83610cd2565b5050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610b73575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610b6a9190611191565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610be3575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610bda9190611191565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610ccc578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610cc391906110ba565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d22578060035f828254610d1691906112a7565b92505081905550610df2565b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610dac578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610da393929190611245565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e39578060035f8282540392505081905550610e84565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ee191906110ba565b60405180910390a3505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610f1b82610ef2565b9050919050565b610f2b81610f11565b8114610f35575f80fd5b50565b5f81359050610f4681610f22565b92915050565b5f60208284031215610f6157610f60610eee565b5b5f610f6e84828501610f38565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610fb982610f77565b610fc38185610f81565b9350610fd3818560208601610f91565b610fdc81610f9f565b840191505092915050565b5f6020820190508181035f830152610fff8184610faf565b905092915050565b5f819050919050565b61101981611007565b8114611023575f80fd5b50565b5f8135905061103481611010565b92915050565b5f80604083850312156110505761104f610eee565b5b5f61105d85828601610f38565b925050602061106e85828601611026565b9150509250929050565b5f8115159050919050565b61108c81611078565b82525050565b5f6020820190506110a55f830184611083565b92915050565b6110b481611007565b82525050565b5f6020820190506110cd5f8301846110ab565b92915050565b5f805f606084860312156110ea576110e9610eee565b5b5f6110f786828701610f38565b935050602061110886828701610f38565b925050604061111986828701611026565b9150509250925092565b5f60ff82169050919050565b61113881611123565b82525050565b5f6020820190506111515f83018461112f565b92915050565b5f6020828403121561116c5761116b610eee565b5b5f61117984828501611026565b91505092915050565b61118b81610f11565b82525050565b5f6020820190506111a45f830184611182565b92915050565b5f80604083850312156111c0576111bf610eee565b5b5f6111cd85828601610f38565b92505060206111de85828601610f38565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061122c57607f821691505b60208210810361123f5761123e6111e8565b5b50919050565b5f6060820190506112585f830186611182565b61126560208301856110ab565b61127260408301846110ab565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6112b182611007565b91506112bc83611007565b92508282019050808211156112d4576112d361127a565b5b9291505056fea2646970667358221220785ccc7b39420aff3a74cda2a466a32b45bd07ad06e81d126fedb0fbbf1b438064736f6c634300081a00330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000054272756d6500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054252554d45000000000000000000000000000000000000000000000000000000