[ { "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": [], "name": "MAX_FEE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "admin", "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": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeAccount", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feePercent", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [ { "internalType": "address", "name": "_feeAccount", "type": "address" } ], "name": "setFeeAccount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_feePercent", "type": "uint256" } ], "name": "setFeePercent", "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": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
6080604052600360075534801562000015575f80fd5b506040518060400160405280601581526020017f5772617070656420414920506f776572204772696400000000000000000000008152506040518060400160405280600581526020017f7741495047000000000000000000000000000000000000000000000000000000815250816003908162000093919062000392565b508060049081620000a5919062000392565b5050503360055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000476565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620001aa57607f821691505b602082108103620001c057620001bf62000165565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620001e7565b620002308683620001e7565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200027a620002746200026e8462000248565b62000251565b62000248565b9050919050565b5f819050919050565b62000295836200025a565b620002ad620002a48262000281565b848454620001f3565b825550505050565b5f90565b620002c3620002b5565b620002d08184846200028a565b505050565b5b81811015620002f757620002eb5f82620002b9565b600181019050620002d6565b5050565b601f82111562000346576200031081620001c6565b6200031b84620001d8565b810160208510156200032b578190505b620003436200033a85620001d8565b830182620002d5565b50505b505050565b5f82821c905092915050565b5f620003685f19846008026200034b565b1980831691505092915050565b5f62000382838362000357565b9150826002028217905092915050565b6200039d826200012e565b67ffffffffffffffff811115620003b957620003b862000138565b5b620003c5825462000192565b620003d2828285620002fb565b5f60209050601f83116001811462000408575f8415620003f3578287015190505b620003ff858262000375565b8655506200046e565b601f1984166200041886620001c6565b5f5b8281101562000441578489015182556001820191506020850194506020810190506200041a565b868310156200046157848901516200045d601f89168262000357565b8355505b6001600288020188555050505b505050505050565b61172080620004845f395ff3fe608060405234801561000f575f80fd5b5060043610610109575f3560e01c806370a08231116100a05780639dc29fac1161006f5780639dc29fac146102a5578063a9059cbb146102c1578063bc063e1a146102f1578063dd62ed3e1461030f578063f851a4401461033f57610109565b806370a082311461021d5780637ce3489b1461024d5780637fd6f15c1461026957806395d89b411461028757610109565b8063313ce567116100dc578063313ce567146101a957806340c10f19146101c75780634b023cf8146101e357806365e17c9d146101ff57610109565b806306fdde031461010d578063095ea7b31461012b57806318160ddd1461015b57806323b872dd14610179575b5f80fd5b61011561035d565b6040516101229190611095565b60405180910390f35b61014560048036038101906101409190611146565b6103ed565b604051610152919061119e565b60405180910390f35b61016361040f565b60405161017091906111c6565b60405180910390f35b610193600480360381019061018e91906111df565b610418565b6040516101a0919061119e565b60405180910390f35b6101b161042d565b6040516101be919061124a565b60405180910390f35b6101e160048036038101906101dc9190611146565b610435565b005b6101fd60048036038101906101f89190611263565b6104d2565b005b6102076105a4565b604051610214919061129d565b60405180910390f35b61023760048036038101906102329190611263565b6105c9565b60405161024491906111c6565b60405180910390f35b610267600480360381019061026291906112b6565b61060e565b005b6102716106eb565b60405161027e91906111c6565b60405180910390f35b61028f6106f1565b60405161029c9190611095565b60405180910390f35b6102bf60048036038101906102ba9190611146565b610781565b005b6102db60048036038101906102d69190611146565b61081e565b6040516102e8919061119e565b60405180910390f35b6102f961088e565b60405161030691906111c6565b60405180910390f35b610329600480360381019061032491906112e1565b610893565b60405161033691906111c6565b60405180910390f35b610347610915565b604051610354919061129d565b60405180910390f35b60606003805461036c9061134c565b80601f01602080910402602001604051908101604052809291908181526020018280546103989061134c565b80156103e35780601f106103ba576101008083540402835291602001916103e3565b820191905f5260205f20905b8154815290600101906020018083116103c657829003601f168201915b5050505050905090565b5f806103f761093a565b9050610404818585610941565b600191505092915050565b5f600254905090565b5f610424848484610953565b90509392505050565b5f6012905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bb906113c6565b60405180910390fd5b6104ce8282610981565b5050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610561576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105589061142e565b60405180910390fd5b8060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461069d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069490611496565b60405180910390fd5b60058111156106e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d8906114fe565b60405180910390fd5b8060078190555050565b60075481565b6060600480546107009061134c565b80601f016020809104026020016040519081016040528092919081815260200182805461072c9061134c565b80156107775780601f1061074e57610100808354040283529160200191610777565b820191905f5260205f20905b81548152906001019060200180831161075a57829003601f168201915b5050505050905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080790611566565b60405180910390fd5b61081a8282610a00565b5050565b5f8060646007548461083091906115b1565b61083a919061161f565b90505f8184610849919061164f565b905061087660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610a7f565b506108818582610a7f565b5060019250505092915050565b600581565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f33905090565b61094e8383836001610aa1565b505050565b5f8061095d61093a565b905061096a858285610c70565b610975858585610d02565b60019150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109f1575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016109e8919061129d565b60405180910390fd5b6109fc5f8383610df2565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a70575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610a67919061129d565b60405180910390fd5b610a7b825f83610df2565b5050565b5f80610a8961093a565b9050610a96818585610d02565b600191505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610b11575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610b08919061129d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b81575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610b78919061129d565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610c6a578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c6191906111c6565b60405180910390a35b50505050565b5f610c7b8484610893565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610cfc5781811015610ced578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610ce493929190611682565b60405180910390fd5b610cfb84848484035f610aa1565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d72575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610d69919061129d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610de2575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610dd9919061129d565b60405180910390fd5b610ded838383610df2565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e42578060025f828254610e3691906116b7565b92505081905550610f10565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610ecb578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610ec293929190611682565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f57578060025f8282540392505081905550610fa1565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ffe91906111c6565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611042578082015181840152602081019050611027565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6110678261100b565b6110718185611015565b9350611081818560208601611025565b61108a8161104d565b840191505092915050565b5f6020820190508181035f8301526110ad818461105d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6110e2826110b9565b9050919050565b6110f2816110d8565b81146110fc575f80fd5b50565b5f8135905061110d816110e9565b92915050565b5f819050919050565b61112581611113565b811461112f575f80fd5b50565b5f813590506111408161111c565b92915050565b5f806040838503121561115c5761115b6110b5565b5b5f611169858286016110ff565b925050602061117a85828601611132565b9150509250929050565b5f8115159050919050565b61119881611184565b82525050565b5f6020820190506111b15f83018461118f565b92915050565b6111c081611113565b82525050565b5f6020820190506111d95f8301846111b7565b92915050565b5f805f606084860312156111f6576111f56110b5565b5b5f611203868287016110ff565b9350506020611214868287016110ff565b925050604061122586828701611132565b9150509250925092565b5f60ff82169050919050565b6112448161122f565b82525050565b5f60208201905061125d5f83018461123b565b92915050565b5f60208284031215611278576112776110b5565b5b5f611285848285016110ff565b91505092915050565b611297816110d8565b82525050565b5f6020820190506112b05f83018461128e565b92915050565b5f602082840312156112cb576112ca6110b5565b5b5f6112d884828501611132565b91505092915050565b5f80604083850312156112f7576112f66110b5565b5b5f611304858286016110ff565b9250506020611315858286016110ff565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061136357607f821691505b6020821081036113765761137561131f565b5b50919050565b7f4f6e6c792061646d696e2063616e206d696e7420746f6b656e730000000000005f82015250565b5f6113b0601a83611015565b91506113bb8261137c565b602082019050919050565b5f6020820190508181035f8301526113dd816113a4565b9050919050565b7f4f6e6c792061646d696e2063616e2073657420666565206163636f756e7400005f82015250565b5f611418601e83611015565b9150611423826113e4565b602082019050919050565b5f6020820190508181035f8301526114458161140c565b9050919050565b7f4f6e6c792061646d696e2063616e20736574206665652070657263656e7400005f82015250565b5f611480601e83611015565b915061148b8261144c565b602082019050919050565b5f6020820190508181035f8301526114ad81611474565b9050919050565b7f4665652070657263656e7420746f6f20686967680000000000000000000000005f82015250565b5f6114e8601483611015565b91506114f3826114b4565b602082019050919050565b5f6020820190508181035f830152611515816114dc565b9050919050565b7f4f6e6c792061646d696e2063616e206275726e20746f6b656e730000000000005f82015250565b5f611550601a83611015565b915061155b8261151c565b602082019050919050565b5f6020820190508181035f83015261157d81611544565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6115bb82611113565b91506115c683611113565b92508282026115d481611113565b915082820484148315176115eb576115ea611584565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61162982611113565b915061163483611113565b925082611644576116436115f2565b5b828204905092915050565b5f61165982611113565b915061166483611113565b925082820390508181111561167c5761167b611584565b5b92915050565b5f6060820190506116955f83018661128e565b6116a260208301856111b7565b6116af60408301846111b7565b949350505050565b5f6116c182611113565b91506116cc83611113565b92508282019050808211156116e4576116e3611584565b5b9291505056fea26469706673582212200048a2f44f2799cb1521565a52da88255c2c60b724983de7236b6b7949f6b55464736f6c63430008140033