[ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "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" }, { "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": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": "", "type": "address" } ], "name": "isAuth", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "toggleAuth", "outputs": [], "stateMutability": "nonpayable", "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" } ]
60806040523480156200001157600080fd5b5060405162001bef38038062001bef8339818101604052810190620000379190620002e2565b816040518060400160405280600a81526020017f566f746520546f6b656e000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f564f5445000000000000000000000000000000000000000000000000000000008152508160039081620000b59190620005a3565b508060049081620000c79190620005a3565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200013f5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200013691906200069b565b60405180910390fd5b62000150816200017460201b60201c565b5080600560146101000a81548160ff021916908360ff1602179055505050620006b8565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200026c826200023f565b9050919050565b6200027e816200025f565b81146200028a57600080fd5b50565b6000815190506200029e8162000273565b92915050565b600060ff82169050919050565b620002bc81620002a4565b8114620002c857600080fd5b50565b600081519050620002dc81620002b1565b92915050565b60008060408385031215620002fc57620002fb6200023a565b5b60006200030c858286016200028d565b92505060206200031f85828601620002cb565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003ab57607f821691505b602082108103620003c157620003c062000363565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200042b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003ec565b620004378683620003ec565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004846200047e62000478846200044f565b62000459565b6200044f565b9050919050565b6000819050919050565b620004a08362000463565b620004b8620004af826200048b565b848454620003f9565b825550505050565b600090565b620004cf620004c0565b620004dc81848462000495565b505050565b5b818110156200050457620004f8600082620004c5565b600181019050620004e2565b5050565b601f82111562000553576200051d81620003c7565b6200052884620003dc565b8101602085101562000538578190505b620005506200054785620003dc565b830182620004e1565b50505b505050565b600082821c905092915050565b6000620005786000198460080262000558565b1980831691505092915050565b600062000593838362000565565b9150826002028217905092915050565b620005ae8262000329565b67ffffffffffffffff811115620005ca57620005c962000334565b5b620005d6825462000392565b620005e382828562000508565b600060209050601f8311600181146200061b576000841562000606578287015190505b62000612858262000585565b86555062000682565b601f1984166200062b86620003c7565b60005b8281101562000655578489015182556001820191506020850194506020810190506200062e565b8683101562000675578489015162000671601f89168262000565565b8355505b6001600288020188555050505b505050505050565b62000695816200025f565b82525050565b6000602082019050620006b260008301846200068a565b92915050565b61152780620006c86000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a082311161009757806395d89b411161006657806395d89b411461029b578063a9059cbb146102b9578063dd62ed3e146102e9578063f2fde38b1461031957610100565b806370a0823114610227578063715018a61461025757806379cc6790146102615780638da5cb5b1461027d57610100565b80632520e7ff116100d35780632520e7ff146101a1578063313ce567146101d157806340c10f19146101ef57806357d186411461020b57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d610335565b60405161011a919061110f565b60405180910390f35b61013d600480360381019061013891906111ca565b6103c7565b60405161014a9190611225565b60405180910390f35b61015b6103ea565b604051610168919061124f565b60405180910390f35b61018b6004803603810190610186919061126a565b6103f4565b6040516101989190611225565b60405180910390f35b6101bb60048036038101906101b691906112bd565b610423565b6040516101c89190611225565b60405180910390f35b6101d9610443565b6040516101e69190611306565b60405180910390f35b610209600480360381019061020491906111ca565b61045a565b005b610225600480360381019061022091906112bd565b6104f4565b005b610241600480360381019061023c91906112bd565b6105a3565b60405161024e919061124f565b60405180910390f35b61025f6105eb565b005b61027b600480360381019061027691906111ca565b6105ff565b005b6102856106a4565b6040516102929190611330565b60405180910390f35b6102a36106ce565b6040516102b0919061110f565b60405180910390f35b6102d360048036038101906102ce91906111ca565b610760565b6040516102e09190611225565b60405180910390f35b61030360048036038101906102fe919061134b565b610783565b604051610310919061124f565b60405180910390f35b610333600480360381019061032e91906112bd565b61080a565b005b606060038054610344906113ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610370906113ba565b80156103bd5780601f10610392576101008083540402835291602001916103bd565b820191906000526020600020905b8154815290600101906020018083116103a057829003601f168201915b5050505050905090565b6000806103d2610890565b90506103df818585610898565b600191505092915050565b6000600254905090565b6000806103ff610890565b905061040c8582856108aa565b61041785858561093e565b60019150509392505050565b60066020528060005260406000206000915054906101000a900460ff1681565b6000600560149054906101000a900460ff16905090565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166104e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104dd90611437565b60405180910390fd5b6104f08282610a32565b5050565b6104fc610ab4565b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105f3610ab4565b6105fd6000610b3b565b565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661068b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068290611437565b60405180910390fd5b6106968233836108aa565b6106a08282610c01565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546106dd906113ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610709906113ba565b80156107565780601f1061072b57610100808354040283529160200191610756565b820191906000526020600020905b81548152906001019060200180831161073957829003601f168201915b5050505050905090565b60008061076b610890565b905061077881858561093e565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610812610ab4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108845760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161087b9190611330565b60405180910390fd5b61088d81610b3b565b50565b600033905090565b6108a58383836001610c83565b505050565b60006108b68484610783565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109385781811015610928578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161091f93929190611457565b60405180910390fd5b61093784848484036000610c83565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109b05760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016109a79190611330565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a225760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610a199190611330565b60405180910390fd5b610a2d838383610e5a565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610aa45760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610a9b9190611330565b60405180910390fd5b610ab060008383610e5a565b5050565b610abc610890565b73ffffffffffffffffffffffffffffffffffffffff16610ada6106a4565b73ffffffffffffffffffffffffffffffffffffffff1614610b3957610afd610890565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610b309190611330565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c735760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610c6a9190611330565b60405180910390fd5b610c7f82600083610e5a565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610cf55760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610cec9190611330565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d675760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610d5e9190611330565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610e54578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610e4b919061124f565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eac578060026000828254610ea091906114bd565b92505081905550610f7f565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610f38578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610f2f93929190611457565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fc85780600260008282540392505081905550611015565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611072919061124f565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156110b957808201518184015260208101905061109e565b60008484015250505050565b6000601f19601f8301169050919050565b60006110e18261107f565b6110eb818561108a565b93506110fb81856020860161109b565b611104816110c5565b840191505092915050565b6000602082019050818103600083015261112981846110d6565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061116182611136565b9050919050565b61117181611156565b811461117c57600080fd5b50565b60008135905061118e81611168565b92915050565b6000819050919050565b6111a781611194565b81146111b257600080fd5b50565b6000813590506111c48161119e565b92915050565b600080604083850312156111e1576111e0611131565b5b60006111ef8582860161117f565b9250506020611200858286016111b5565b9150509250929050565b60008115159050919050565b61121f8161120a565b82525050565b600060208201905061123a6000830184611216565b92915050565b61124981611194565b82525050565b60006020820190506112646000830184611240565b92915050565b60008060006060848603121561128357611282611131565b5b60006112918682870161117f565b93505060206112a28682870161117f565b92505060406112b3868287016111b5565b9150509250925092565b6000602082840312156112d3576112d2611131565b5b60006112e18482850161117f565b91505092915050565b600060ff82169050919050565b611300816112ea565b82525050565b600060208201905061131b60008301846112f7565b92915050565b61132a81611156565b82525050565b60006020820190506113456000830184611321565b92915050565b6000806040838503121561136257611361611131565b5b60006113708582860161117f565b92505060206113818582860161117f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806113d257607f821691505b6020821081036113e5576113e461138b565b5b50919050565b7f4572726f723a20556e617574686f72697a656420746f206d696e742f6275726e600082015250565b600061142160208361108a565b915061142c826113eb565b602082019050919050565b6000602082019050818103600083015261145081611414565b9050919050565b600060608201905061146c6000830186611321565b6114796020830185611240565b6114866040830184611240565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006114c882611194565b91506114d383611194565b92508282019050808211156114eb576114ea61148e565b5b9291505056fea2646970667358221220d7296a0980d6c404ec06732f073addcefc25712ba2599404a753a3eb884388f164736f6c63430008140033000000000000000000000000b483da43ec4a8c9033394b5181001b0209a3a0c60000000000000000000000000000000000000000000000000000000000000011