[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "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": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PERMIT_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "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": "rawAmount", "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": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "rawAmount", "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": "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": "dst", "type": "address" }, { "internalType": "uint256", "name": "rawAmount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "src", "type": "address" }, { "internalType": "address", "name": "dst", "type": "address" }, { "internalType": "uint256", "name": "rawAmount", "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" } ]
60806040526aa56fa5b99019a5c80000006001553480156200002057600080fd5b506000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600154600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6001546040516200016a919062000193565b60405180910390a3620001b0565b6000819050919050565b6200018d8162000178565b82525050565b6000602082019050620001aa600083018462000182565b92915050565b611efa80620001c06000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a9059cbb11610066578063a9059cbb146102a1578063d505accf146102d1578063dd62ed3e146102ed578063f2fde38b1461031d57610100565b8063715018a61461022b5780637ecebe00146102355780638da5cb5b1461026557806395d89b411461028357610100565b806323b872dd116100d357806323b872dd1461018f57806330adf81f146101bf578063313ce567146101dd57806370a08231146101fb57610100565b806306fdde0314610105578063095ea7b31461012357806318160ddd1461015357806320606b7014610171575b600080fd5b61010d610339565b60405161011a9190611455565b60405180910390f35b61013d60048036038101906101389190611510565b610372565b60405161014a919061156b565b60405180910390f35b61015b610472565b6040516101689190611595565b60405180910390f35b610179610478565b60405161018691906115c9565b60405180910390f35b6101a960048036038101906101a491906115e4565b61049c565b6040516101b6919061156b565b60405180910390f35b6101c76106b5565b6040516101d491906115c9565b60405180910390f35b6101e56106d9565b6040516101f29190611653565b60405180910390f35b6102156004803603810190610210919061166e565b6106de565b6040516102229190611595565b60405180910390f35b610233610727565b005b61024f600480360381019061024a919061166e565b61085a565b60405161025c9190611595565b60405180910390f35b61026d610872565b60405161027a91906116aa565b60405180910390f35b61028b61089b565b6040516102989190611455565b60405180910390f35b6102bb60048036038101906102b69190611510565b6108d4565b6040516102c8919061156b565b60405180910390f35b6102eb60048036038101906102e6919061171d565b6108eb565b005b610307600480360381019061030291906117bf565b610d29565b6040516103149190611595565b60405180910390f35b6103376004803603810190610332919061166e565b610db0565b005b6040518060400160405280600a81526020017f506f6c6c7920447261670000000000000000000000000000000000000000000081525081565b60008061037f8484610f52565b905080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161045f9190611595565b60405180910390a3600191505092915050565b60015481565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b6000803390506000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561057f57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114155b1561069d5760006105b3856040518060600160405280603c8152602001611e02603c913984610fc89092919063ffffffff16565b905080600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516106939190611595565b60405180910390a3505b6106a886868661102c565b6001925050509392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610746610872565b73ffffffffffffffffffffffffffffffffffffffff161461079c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107939061184b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60046020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600481526020017f445241470000000000000000000000000000000000000000000000000000000081525081565b60006108e133848461102c565b6001905092915050565b600061090f86604051806060016040528060238152602001611e73602391396112d4565b9050600460008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548114610bf65760007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8666040518060400160405280600a81526020017f506f6c6c79204472616700000000000000000000000000000000000000000000815250805190602001206109bf61134c565b306040516020016109d3949392919061186b565b60405160208183030381529060405280519060200120905060007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a600460008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610a61906118df565b919050558b604051602001610a7b96959493929190611928565b60405160208183030381529060405280519060200120905060008282604051602001610aa8929190611a01565b604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051610ae59493929190611a38565b6020604051602081039080840390855afa158015610b07573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7a90611ac9565b60405180910390fd5b8b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610bf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be890611b35565b60405180910390fd5b505050505b84421115610c39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3090611ba1565b60405180910390fd5b85600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92588604051610d179190611595565b60405180910390a35050505050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610dcf610872565b73ffffffffffffffffffffffffffffffffffffffff1614610e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1c9061184b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c90611c33565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600460008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610fbf576000608052600460a0528160c052600360e0528260406080205560c051604060c020555b81905092915050565b6000838311158290611010576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110079190611455565b60405180910390fd5b506000838561101f9190611c53565b9050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561109c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109390611cf9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110390611d8b565b60405180910390fd5b61117881604051806060016040528060358152602001611e3e60359139600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fc89092919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611227816040518060600160405280602f8152602001611e96602f9139600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113599092919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112c79190611595565b60405180910390a3505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115829061133c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113339190611455565b60405180910390fd5b5060003390508091505092915050565b6000804690508091505090565b60008083856113689190611dab565b90508481101583906113b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a79190611455565b60405180910390fd5b50809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156113f65780820151818401526020810190506113db565b83811115611405576000848401525b50505050565b6000601f19601f8301169050919050565b6000611427826113bc565b61143181856113c7565b93506114418185602086016113d8565b61144a8161140b565b840191505092915050565b6000602082019050818103600083015261146f818461141c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114a78261147c565b9050919050565b6114b78161149c565b81146114c257600080fd5b50565b6000813590506114d4816114ae565b92915050565b6000819050919050565b6114ed816114da565b81146114f857600080fd5b50565b60008135905061150a816114e4565b92915050565b6000806040838503121561152757611526611477565b5b6000611535858286016114c5565b9250506020611546858286016114fb565b9150509250929050565b60008115159050919050565b61156581611550565b82525050565b6000602082019050611580600083018461155c565b92915050565b61158f816114da565b82525050565b60006020820190506115aa6000830184611586565b92915050565b6000819050919050565b6115c3816115b0565b82525050565b60006020820190506115de60008301846115ba565b92915050565b6000806000606084860312156115fd576115fc611477565b5b600061160b868287016114c5565b935050602061161c868287016114c5565b925050604061162d868287016114fb565b9150509250925092565b600060ff82169050919050565b61164d81611637565b82525050565b60006020820190506116686000830184611644565b92915050565b60006020828403121561168457611683611477565b5b6000611692848285016114c5565b91505092915050565b6116a48161149c565b82525050565b60006020820190506116bf600083018461169b565b92915050565b6116ce81611637565b81146116d957600080fd5b50565b6000813590506116eb816116c5565b92915050565b6116fa816115b0565b811461170557600080fd5b50565b600081359050611717816116f1565b92915050565b600080600080600080600060e0888a03121561173c5761173b611477565b5b600061174a8a828b016114c5565b975050602061175b8a828b016114c5565b965050604061176c8a828b016114fb565b955050606061177d8a828b016114fb565b945050608061178e8a828b016116dc565b93505060a061179f8a828b01611708565b92505060c06117b08a828b01611708565b91505092959891949750929550565b600080604083850312156117d6576117d5611477565b5b60006117e4858286016114c5565b92505060206117f5858286016114c5565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118356020836113c7565b9150611840826117ff565b602082019050919050565b6000602082019050818103600083015261186481611828565b9050919050565b600060808201905061188060008301876115ba565b61188d60208301866115ba565b61189a6040830185611586565b6118a7606083018461169b565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006118ea826114da565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561191d5761191c6118b0565b5b600182019050919050565b600060c08201905061193d60008301896115ba565b61194a602083018861169b565b611957604083018761169b565b6119646060830186611586565b6119716080830185611586565b61197e60a0830184611586565b979650505050505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006119ca600283611989565b91506119d582611994565b600282019050919050565b6000819050919050565b6119fb6119f6826115b0565b6119e0565b82525050565b6000611a0c826119bd565b9150611a1882856119ea565b602082019150611a2882846119ea565b6020820191508190509392505050565b6000608082019050611a4d60008301876115ba565b611a5a6020830186611644565b611a6760408301856115ba565b611a7460608301846115ba565b95945050505050565b7f556e693a3a7065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000611ab3601e836113c7565b9150611abe82611a7d565b602082019050919050565b60006020820190508181036000830152611ae281611aa6565b9050919050565b7f556e693a3a7065726d69743a20756e617574686f72697a656400000000000000600082015250565b6000611b1f6019836113c7565b9150611b2a82611ae9565b602082019050919050565b60006020820190508181036000830152611b4e81611b12565b9050919050565b7f556e693a3a7065726d69743a207369676e617475726520657870697265640000600082015250565b6000611b8b601e836113c7565b9150611b9682611b55565b602082019050919050565b60006020820190508181036000830152611bba81611b7e565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611c1d6026836113c7565b9150611c2882611bc1565b604082019050919050565b60006020820190508181036000830152611c4c81611c10565b9050919050565b6000611c5e826114da565b9150611c69836114da565b925082821015611c7c57611c7b6118b0565b5b828203905092915050565b7f556e693a3a5f7472616e73666572546f6b656e733a2063616e6e6f742074726160008201527f6e736665722066726f6d20746865207a65726f20616464726573730000000000602082015250565b6000611ce3603b836113c7565b9150611cee82611c87565b604082019050919050565b60006020820190508181036000830152611d1281611cd6565b9050919050565b7f556e693a3a5f7472616e73666572546f6b656e733a2063616e6e6f742074726160008201527f6e7366657220746f20746865207a65726f206164647265737300000000000000602082015250565b6000611d756039836113c7565b9150611d8082611d19565b604082019050919050565b60006020820190508181036000830152611da481611d68565b9050919050565b6000611db6826114da565b9150611dc1836114da565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611df657611df56118b0565b5b82820190509291505056fe556e693a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365556e693a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365556e693a3a7065726d69743a20616d6f756e7420657863656564732033322062697473556e693a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f7773a2646970667358221220001c1e0a2b37e05904e47c5d532cd4ab22aac59289cb56bd04f258be2c28293564736f6c63430008090033