[ { "inputs": [ { "internalType": "uint256", "name": "totalSupply", "type": "uint256" } ], "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": [], "name": "_creator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "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": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getDecimals", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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" } ]
60806040523480156200001157600080fd5b5060405162001f7938038062001f798339818101604052810190620000379190620003c5565b336040518060400160405280600481526020017f4556494c000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4556494c000000000000000000000000000000000000000000000000000000008152508160039081620000b5919062000667565b508060049081620000c7919062000667565b5033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001805760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000177919062000793565b60405180910390fd5b6200019181620001aa60201b60201c565b50620001a3816200027060201b60201c565b5062000848565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6c01431e0fae6d7217caa00000006002819055506002546000806200029a6200030560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000302816806ae31658fd7f8a9b2620002f39190620007df565b6002546200030d60201b60201c565b50565b600033905090565b60008290508060038001553373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516200037891906200082b565b60405180910390a3505050565b600080fd5b6000819050919050565b6200039f816200038a565b8114620003ab57600080fd5b50565b600081519050620003bf8162000394565b92915050565b600060208284031215620003de57620003dd62000385565b5b6000620003ee84828501620003ae565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200047957607f821691505b6020821081036200048f576200048e62000431565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004f97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004ba565b620005058683620004ba565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000548620005426200053c846200038a565b6200051d565b6200038a565b9050919050565b6000819050919050565b620005648362000527565b6200057c62000573826200054f565b848454620004c7565b825550505050565b600090565b6200059362000584565b620005a081848462000559565b505050565b5b81811015620005c857620005bc60008262000589565b600181019050620005a6565b5050565b601f8211156200061757620005e18162000495565b620005ec84620004aa565b81016020851015620005fc578190505b620006146200060b85620004aa565b830182620005a5565b50505b505050565b600082821c905092915050565b60006200063c600019846008026200061c565b1980831691505092915050565b600062000657838362000629565b9150826002028217905092915050565b6200067282620003f7565b67ffffffffffffffff8111156200068e576200068d62000402565b5b6200069a825462000460565b620006a7828285620005cc565b600060209050601f831160018114620006df5760008415620006ca578287015190505b620006d6858262000649565b86555062000746565b601f198416620006ef8662000495565b60005b828110156200071957848901518255600182019150602085019450602081019050620006f2565b8683101562000739578489015162000735601f89168262000629565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200077b826200074e565b9050919050565b6200078d816200076e565b82525050565b6000602082019050620007aa600083018462000782565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007ec826200038a565b9150620007f9836200038a565b9250828201905080821115620008145762000813620007b0565b5b92915050565b62000825816200038a565b82525050565b60006020820190506200084260008301846200081a565b92915050565b61172180620008586000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063bc8bde6411610066578063bc8bde64146102c5578063dd62ed3e146102e3578063f0141d8414610313578063f2fde38b1461033157610100565b80638da5cb5b1461022957806395d89b4114610247578063a457c2d714610265578063a9059cbb1461029557610100565b8063313ce567116100d3578063313ce567146101a157806339509351146101bf57806370a08231146101ef578063715018a61461021f57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d61034d565b60405161011a91906111af565b60405180910390f35b61013d6004803603810190610138919061126a565b6103df565b60405161014a91906112c5565b60405180910390f35b61015b610402565b60405161016891906112ef565b60405180910390f35b61018b6004803603810190610186919061130a565b61040c565b60405161019891906112c5565b60405180910390f35b6101a9610559565b6040516101b69190611379565b60405180910390f35b6101d960048036038101906101d4919061126a565b610562565b6040516101e691906112c5565b60405180910390f35b61020960048036038101906102049190611394565b610599565b60405161021691906112ef565b60405180910390f35b6102276105e1565b005b6102316105f5565b60405161023e91906113d0565b60405180910390f35b61024f61061f565b60405161025c91906111af565b60405180910390f35b61027f600480360381019061027a919061126a565b6106b1565b60405161028c91906112c5565b60405180910390f35b6102af60048036038101906102aa919061126a565b610728565b6040516102bc91906112c5565b60405180910390f35b6102cd6107f4565b6040516102da91906113d0565b60405180910390f35b6102fd60048036038101906102f891906113eb565b61081a565b60405161030a91906112ef565b60405180910390f35b61031b6108a1565b60405161032891906112ef565b60405180910390f35b61034b60048036038101906103469190611394565b6108aa565b005b60606003805461035c9061145a565b80601f01602080910402602001604051908101604052809291908181526020018280546103889061145a565b80156103d55780601f106103aa576101008083540402835291602001916103d5565b820191906000526020600020905b8154815290600101906020018083116103b857829003601f168201915b5050505050905090565b6000806103ea610930565b90506103f7818585610938565b600191505092915050565b6000600254905090565b600080610417610930565b9050610424858285610b07565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ae64c6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054336040518363ffffffff1660e01b81526004016104bf92919061148b565b602060405180830381865afa1580156104dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050091906114c9565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061054d858585610b99565b60019150509392505050565b60006012905090565b60008061056d610930565b905061058e81858561057f858961081a565b6105899190611525565b610938565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105e9610c8d565b6105f36000610d14565b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461062e9061145a565b80601f016020809104026020016040519081016040528092919081815260200182805461065a9061145a565b80156106a75780601f1061067c576101008083540402835291602001916106a7565b820191906000526020600020905b81548152906001019060200180831161068a57829003601f168201915b5050505050905090565b6000806106bc610930565b905060006106ca828661081a565b90508381101561070f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610706906115cb565b60405180910390fd5b61071c8286868403610938565b60019250505092915050565b600080610733610930565b9050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610776610930565b73ffffffffffffffffffffffffffffffffffffffff16146107de577360ae616a2155ee3d9a68541ba4544862310933d473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036107dd57600080fd5b5b6107e9818585610b99565b600191505092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60006012905090565b6108b2610c8d565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109245760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161091b91906113d0565b60405180910390fd5b61092d81610d14565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109aa5760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016109a191906113d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a1c5760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610a1391906113d0565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610afa91906112ef565b60405180910390a3505050565b6000610b13848461081a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b935781811015610b85578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610b7c939291906115eb565b60405180910390fd5b610b928484848403610938565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c0b5760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610c0291906113d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c7d5760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610c7491906113d0565b60405180910390fd5b610c88838383610dda565b505050565b610c95610930565b73ffffffffffffffffffffffffffffffffffffffff16610cb36105f5565b73ffffffffffffffffffffffffffffffffffffffff1614610d1257610cd6610930565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610d0991906113d0565b60405180910390fd5b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e2c578060026000828254610e209190611525565b9250508190555061101f565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610eb8578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610eaf939291906115eb565b60405180910390fd5b81600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166357577195306000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054886040518463ffffffff1660e01b8152600401610f5693929190611622565b602060405180830381865afa158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9791906114c9565b1015610fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcf906116cb565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361106857806002600082825403925050819055506110b5565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161111291906112ef565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561115957808201518184015260208101905061113e565b60008484015250505050565b6000601f19601f8301169050919050565b60006111818261111f565b61118b818561112a565b935061119b81856020860161113b565b6111a481611165565b840191505092915050565b600060208201905081810360008301526111c98184611176565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611201826111d6565b9050919050565b611211816111f6565b811461121c57600080fd5b50565b60008135905061122e81611208565b92915050565b6000819050919050565b61124781611234565b811461125257600080fd5b50565b6000813590506112648161123e565b92915050565b60008060408385031215611281576112806111d1565b5b600061128f8582860161121f565b92505060206112a085828601611255565b9150509250929050565b60008115159050919050565b6112bf816112aa565b82525050565b60006020820190506112da60008301846112b6565b92915050565b6112e981611234565b82525050565b600060208201905061130460008301846112e0565b92915050565b600080600060608486031215611323576113226111d1565b5b60006113318682870161121f565b93505060206113428682870161121f565b925050604061135386828701611255565b9150509250925092565b600060ff82169050919050565b6113738161135d565b82525050565b600060208201905061138e600083018461136a565b92915050565b6000602082840312156113aa576113a96111d1565b5b60006113b88482850161121f565b91505092915050565b6113ca816111f6565b82525050565b60006020820190506113e560008301846113c1565b92915050565b60008060408385031215611402576114016111d1565b5b60006114108582860161121f565b92505060206114218582860161121f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061147257607f821691505b6020821081036114855761148461142b565b5b50919050565b60006040820190506114a060008301856112e0565b6114ad60208301846113c1565b9392505050565b6000815190506114c38161123e565b92915050565b6000602082840312156114df576114de6111d1565b5b60006114ed848285016114b4565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061153082611234565b915061153b83611234565b9250828201905080821115611553576115526114f6565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006115b560258361112a565b91506115c082611559565b604082019050919050565b600060208201905081810360008301526115e4816115a8565b9050919050565b600060608201905061160060008301866113c1565b61160d60208301856112e0565b61161a60408301846112e0565b949350505050565b600060608201905061163760008301866113c1565b61164460208301856112e0565b61165160408301846113c1565b949350505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006116b560268361112a565b91506116c082611659565b604082019050919050565b600060208201905081810360008301526116e4816116a8565b905091905056fea26469706673582212200c0afce65d3d24d06983dbb9a1f3f25ea15eb1a75a7d16e0b5724dbd77608c4864736f6c63430008130033000000000000000000000000a56d3a74ba629584f355fe7832d32c2311fd2d7c