[ { "inputs": [], "name": "AllowanceOverflow", "type": "error" }, { "inputs": [], "name": "AllowanceUnderflow", "type": "error" }, { "inputs": [], "name": "InsufficientAllowance", "type": "error" }, { "inputs": [], "name": "InsufficientBalance", "type": "error" }, { "inputs": [], "name": "InvalidPermit", "type": "error" }, { "inputs": [], "name": "PermitExpired", "type": "error" }, { "inputs": [], "name": "TotalSupplyOverflow", "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": "amount", "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": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "result", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "directSpendAllowance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "directTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "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": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "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": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
60a06040523480156200001157600080fd5b506040518060400160405280600a81526020017f54657468657220555344000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f55534454000000000000000000000000000000000000000000000000000000008152506006826000908162000091919062000351565b508160019081620000a3919062000351565b5080600260006101000a81548160ff021916908360ff16021790555082805190602001206080818152505050505062000438565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200015957607f821691505b6020821081036200016f576200016e62000111565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001d97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200019a565b620001e586836200019a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620002326200022c6200022684620001fd565b62000207565b620001fd565b9050919050565b6000819050919050565b6200024e8362000211565b620002666200025d8262000239565b848454620001a7565b825550505050565b600090565b6200027d6200026e565b6200028a81848462000243565b505050565b5b81811015620002b257620002a660008262000273565b60018101905062000290565b5050565b601f8211156200030157620002cb8162000175565b620002d6846200018a565b81016020851015620002e6578190505b620002fe620002f5856200018a565b8301826200028f565b50505b505050565b600082821c905092915050565b6000620003266000198460080262000306565b1980831691505092915050565b600062000341838362000313565b9150826002028217905092915050565b6200035c82620000d7565b67ffffffffffffffff811115620003785762000377620000e2565b5b62000384825462000140565b62000391828285620002b6565b600060209050601f831160018114620003c95760008415620003b4578287015190505b620003c0858262000333565b86555062000430565b601f198416620003d98662000175565b60005b828110156200040357848901518255600182019150602085019450602081019050620003dc565b868310156200042357848901516200041f601f89168262000313565b8355505b6001600288020188555050505b505050505050565b60805161116762000454600039600061099301526111676000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80637ecebe0011610097578063d30ed3b311610066578063d30ed3b3146102c3578063d505accf146102df578063dd62ed3e146102fb578063f83d17911461032b57610100565b80637ecebe001461022957806395d89b41146102595780639dc29fac14610277578063a9059cbb1461029357610100565b8063313ce567116100d3578063313ce567146101a15780633644e515146101bf57806340c10f19146101dd57806370a08231146101f957610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806323b872dd14610171575b600080fd5b61010d610347565b60405161011a9190610ce5565b60405180910390f35b61013d60048036038101906101389190610da0565b6103d9565b60405161014a9190610dfb565b60405180910390f35b61015b610443565b6040516101689190610e25565b60405180910390f35b61018b60048036038101906101869190610e40565b610455565b6040516101989190610dfb565b60405180910390f35b6101a961047b565b6040516101b69190610eaf565b60405180910390f35b6101c7610492565b6040516101d49190610ee3565b60405180910390f35b6101f760048036038101906101f29190610da0565b610524565b005b610213600480360381019061020e9190610efe565b61053a565b6040516102209190610e25565b60405180910390f35b610243600480360381019061023e9190610efe565b610555565b6040516102509190610e25565b60405180910390f35b610261610570565b60405161026e9190610ce5565b60405180910390f35b610291600480360381019061028c9190610da0565b610602565b005b6102ad60048036038101906102a89190610da0565b610618565b6040516102ba9190610dfb565b60405180910390f35b6102dd60048036038101906102d89190610e40565b610634565b005b6102f960048036038101906102f49190610f83565b610654565b005b61031560048036038101906103109190611025565b6107f8565b6040516103229190610e25565b60405180910390f35b61034560048036038101906103409190610e40565b610818565b005b60606000805461035690611094565b80601f016020809104026020016040519081016040528092919081815260200182805461038290611094565b80156103cf5780601f106103a4576101008083540402835291602001916103cf565b820191906000526020600020905b8154815290600101906020018083116103b257829003601f168201915b5050505050905090565b6000808214806103f2575060006103f033856107f8565b145b610431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042890611111565b60405180910390fd5b61043b8383610838565b905092915050565b60006805345cdf77eb68f44c54905090565b60006104726104638561088c565b61046c8561088c565b846108ba565b90509392505050565b6000600260009054906101000a900460ff16905090565b60008061049d61098f565b90506000801b81036104bb576104b1610347565b8051906020012090505b6040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81528160208201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a081209250505090565b6105366105308361088c565b826109b7565b5050565b60006387a211a2600c52816000526020600c20549050919050565b60006338377508600c52816000526020600c20549050919050565b60606001805461057f90611094565b80601f01602080910402602001604051908101604052809291908181526020018280546105ab90611094565b80156105f85780601f106105cd576101008083540402835291602001916105f8565b820191906000526020600020905b8154815290600101906020018083116105db57829003601f168201915b5050505050905090565b61061461060e8361088c565b82610a4e565b5050565b600061062c6106268461088c565b83610ae5565b905092915050565b61064f6106408461088c565b6106498461088c565b83610b77565b505050565b600061065e61098f565b90506000801b810361067c57610672610347565b8051906020012090505b8442111561069257631a15a3cc6000526004601cfd5b6040518860601b60601c98508760601b60601c975065383775081901600e52886000526020600c2080547f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528360208401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604084015246606084015230608084015260a08320602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a60208401528960408401528860608401528060808401528760a084015260c08320604e526042602c206000528660ff1660205285604052846060526020806080600060015afa8b3d511461079e5763ddafbaef6000526004601cfd5b80820183558a637f5e9f2060a01b17604052896034602c20558a8c7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608801a3836040526000606052505050505050505050505050565b600081602052637f5e9f20600c52826000526034600c2054905092915050565b6108336108248461088c565b61082d8461088c565b83610bba565b505050565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a36001905092915050565b60006010516000358360201b011860005260043560205260606000206010528160105160a01b179050919050565b60006108c7848484610c4b565b8360601b33602052637f5e9f208117600c526034600c208054600181011561090557808511156108ff576313be252b6000526004601cfd5b84810382555b6387a211a28317600c526020600c2080548087111561092c5763f4d678b86000526004601cfd5b8681038255876000526020600c2087815401815587602052600c5160601c8660601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505050505050610984848484610c50565b600190509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b6109c360008383610c4b565b6805345cdf77eb68f44c54818101818110156109e75763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c556387a211a2600c52836000526020600c2083815401815583602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505050610a4a60008383610c50565b5050565b610a5a82600083610c4b565b6387a211a2600c52816000526020600c20805480831115610a835763f4d678b86000526004601cfd5b8281038255826805345cdf77eb68f44c54036805345cdf77eb68f44c558260005260008460601b60601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206000a35050610ae182600083610c50565b5050565b6000610af2338484610c4b565b6387a211a2600c52336000526020600c20805480841115610b1b5763f4d678b86000526004601cfd5b8381038255846000526020600c2084815401815584602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505050610b6d338484610c50565b6001905092915050565b81602052637f5e9f20600c52826000526034600c2080546001810115610bb35780831115610bad576313be252b6000526004601cfd5b82810382555b5050505050565b610bc5838383610c4b565b8260601b6387a211a28117600c526020600c20805480841115610bf05763f4d678b86000526004601cfd5b8381038255846000526020600c2084815401815584602052600c5160601c8460601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050610c46838383610c50565b505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c8f578082015181840152602081019050610c74565b60008484015250505050565b6000601f19601f8301169050919050565b6000610cb782610c55565b610cc18185610c60565b9350610cd1818560208601610c71565b610cda81610c9b565b840191505092915050565b60006020820190508181036000830152610cff8184610cac565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d3782610d0c565b9050919050565b610d4781610d2c565b8114610d5257600080fd5b50565b600081359050610d6481610d3e565b92915050565b6000819050919050565b610d7d81610d6a565b8114610d8857600080fd5b50565b600081359050610d9a81610d74565b92915050565b60008060408385031215610db757610db6610d07565b5b6000610dc585828601610d55565b9250506020610dd685828601610d8b565b9150509250929050565b60008115159050919050565b610df581610de0565b82525050565b6000602082019050610e106000830184610dec565b92915050565b610e1f81610d6a565b82525050565b6000602082019050610e3a6000830184610e16565b92915050565b600080600060608486031215610e5957610e58610d07565b5b6000610e6786828701610d55565b9350506020610e7886828701610d55565b9250506040610e8986828701610d8b565b9150509250925092565b600060ff82169050919050565b610ea981610e93565b82525050565b6000602082019050610ec46000830184610ea0565b92915050565b6000819050919050565b610edd81610eca565b82525050565b6000602082019050610ef86000830184610ed4565b92915050565b600060208284031215610f1457610f13610d07565b5b6000610f2284828501610d55565b91505092915050565b610f3481610e93565b8114610f3f57600080fd5b50565b600081359050610f5181610f2b565b92915050565b610f6081610eca565b8114610f6b57600080fd5b50565b600081359050610f7d81610f57565b92915050565b600080600080600080600060e0888a031215610fa257610fa1610d07565b5b6000610fb08a828b01610d55565b9750506020610fc18a828b01610d55565b9650506040610fd28a828b01610d8b565b9550506060610fe38a828b01610d8b565b9450506080610ff48a828b01610f42565b93505060a06110058a828b01610f6e565b92505060c06110168a828b01610f6e565b91505092959891949750929550565b6000806040838503121561103c5761103b610d07565b5b600061104a85828601610d55565b925050602061105b85828601610d55565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806110ac57607f821691505b6020821081036110bf576110be611065565b5b50919050565b7f5553445420617070726f76616c206661696c7572650000000000000000000000600082015250565b60006110fb601583610c60565b9150611106826110c5565b602082019050919050565b6000602082019050818103600083015261112a816110ee565b905091905056fea2646970667358221220c32da3df8beea540b8c16b76386c48793a2c6db77ed1246e5ee05c0015a4609264736f6c63430008140033