[ { "inputs": [ { "internalType": "uint256", "name": "initialSupply", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ECDSAInvalidSignature", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "ECDSAInvalidSignatureLength", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "ECDSAInvalidSignatureS", "type": "error" }, { "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": "uint256", "name": "deadline", "type": "uint256" } ], "name": "ERC2612ExpiredSignature", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "signer", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC2612InvalidSigner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "currentNonce", "type": "uint256" } ], "name": "InvalidAccountNonce", "type": "error" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "str", "type": "string" } ], "name": "StringTooLong", "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": [], "name": "EIP712DomainChanged", "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": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "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": "", "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": "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": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } ], "stateMutability": "view", "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": "", "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": "", "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" } ]
610160346104c457601f1990601f906117d53881900383810185168301916001600160401b0391828411858510176103d157808592604095865283396020948591810103126104c4575192825193610056856104c9565b6005808652828601966425b4b232b760d91b88528551986100768a6104c9565b60098a52682937b137a5b4b232b760b91b858b01528651610096816104c9565b8381526425a4a222a760d91b8682015287519a6100b28c6104c9565b6001808d52878d0194603160f81b865282518a81116103d1576003938454908482811c921680156104ba575b8c8310146104a4578b8285859411610452575b50508b908483116001146103f2576000926103e7575b505060001982861b1c191690831b1783555b8351938a85116103d1576004978854908482811c921680156103c7575b8c8310146103b257908b9184821161036d575b5050508991851160011461030957849550908492916000956102fe575b50501b92600019911b1c19161782555b61017f876104e4565b9761012098895261018f8a6106b4565b97610140988952519020988960e0525190209761010098808a524660a052865190858201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f84528883015260608201524660808201523060a082015260a0815260c0810195818710908711176102e9578587525190206080523060c052670de0b6b3a7640000918281029281840414901517156102c05733156102d557600254908282018092116102c05750917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160009360025533845283825285842081815401905584523393a35191610f6e9384610867853960805184610a88015260a05184610b54015260c05184610a59015260e05184610ad701525183610afd015251826103f30152518161041d0152f35b601190634e487b7160e01b6000525260246000fd5b60009063ec442f0560e01b82525260246000fd5b604183634e487b7160e01b6000525260246000fd5b015193503880610166565b92919484169287600052848a6000209460005b8c89838310610356575050501061033c575b50505050811b018255610176565b01519060f884600019921b161c191690553880808061032e565b86860151895590970196948501948893500161031c565b8a600052848360002092818a01831c8401948a106103a9575b01901c019084905b82811061039d578c9250610149565b6000815501849061038e565b93508293610386565b60228a634e487b7160e01b6000525260246000fd5b91607f1691610136565b634e487b7160e01b600052604160045260246000fd5b015190503880610107565b908c91898795168860005283600020936000905b82821061043b5750508411610423575b505050811b018355610119565b015160001983881b60f8161c19169055388080610416565b83850151865589979095019493840193018f610406565b90919250866000528482600020918186018d1c830193861061049b575b91879186959493018d1c01915b82811061048c57508d91506100f1565b6000815585945087910161047c565b9250819261046f565b634e487b7160e01b600052602260045260246000fd5b91607f16916100de565b600080fd5b604081019081106001600160401b038211176103d157604052565b80516020906000908281101561057c5750601f83511161052157508082519201519080831061051257501790565b82600019910360031b1b161790565b829060405192839163305a27a960e01b8352816004840152835191826024850152815b83811061056557505060448094508284010152601f80199101168101030190fd5b808601820151878201604401528694508101610544565b90926001600160401b0382116106a0576005938454916001928381811c91168015610696575b8682101461068257601f8111610651575b508491601f85116001146105ef5793945084929190836105e4575b50501b916000199060031b1c191617905560ff90565b0151925038806105ce565b86815285812093958591601f198316915b88838310610637575050501061061e575b505050811b01905560ff90565b015160001960f88460031b161c19169055388080610611565b858701518855909601959485019487935090810190610600565b86835283601f8785209201881c820191601f8701891c015b8281106106775750506105b3565b848155018490610669565b634e487b7160e01b83526022600452602483fd5b90607f16906105a2565b634e487b7160e01b84526041600452602484fd5b80516020906000908281101561073d5750601f8351116106e257508082519201519080831061051257501790565b829060405192839163305a27a960e01b8352816004840152835191826024850152815b83811061072657505060448094508284010152601f80199101168101030190fd5b808601820151878201604401528694508101610705565b9192906001600160401b03831161085257600654916001928381811c91168015610848575b8682101461068257601f8111610814575b508491601f85116001146107b05793945084929190836107a5575b50501b916000199060031b1c19161760065560ff90565b01519250388061078e565b6006815285812093958591601f198316915b888383106107fa57505050106107e1575b505050811b0160065560ff90565b015160001960f88460031b161c191690553880806107d3565b8587015188559096019594850194879350908101906107c2565b6006835283601f878520920160051c820191601f870160051c015b82811061083d575050610773565b84815501849061082f565b90607f1690610762565b634e487b7160e01b81526041600452602490fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde03146107a357508163095ea7b31461077957816318160ddd1461075a57816323b872dd14610665578163313ce567146106495781633644e5151461062557816342966c681461058457816370a082311461054e5781637ecebe001461051757816384b0196e146103db57816395d89b41146102e7578163a9059cbb146102b6578163d505accf1461010a575063dd62ed3e146100bf57600080fd5b34610106578060031936011261010657806020926100db6108bb565b6100e36108d6565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b8383346101065760e0366003190112610106576101256108bb565b61012d6108d6565b90604435926064359060843560ff811681036102b257824211610287576001600160a01b03918285169384895260076020528189209081549160018301905582519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528785840152868a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff82111761027457835251902061022f926102269290916101e6610a4f565b9151917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220610de3565b90929192610e71565b16818103610247575050610244939450610b7a565b80f35b7f4b800e460000000000000000000000000000000000000000000000000000000086528652602452604484fd5b60248b60418e634e487b7160e01b835252fd5b602487848a7f6279130200000000000000000000000000000000000000000000000000000000835252fd5b8680fd5b5050346101065780600319360112610106576020906102e06102d66108bb565b602435903361097a565b5160018152f35b919050346103d757826003193601126103d757805183819490845461030b816108ec565b91828552602096600192886001821691826000146103ad575050600114610352575b858861034e8961033f848a0385610958565b5192828493845283019061087b565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610395575050508201018161033f61034e3861032d565b8054848a01860152889550879490930192810161037b565b60ff19168882015294151560051b8701909401945085935061033f925061034e915038905061032d565b8280fd5b919050346103d757826003193601126103d7576104177f0000000000000000000000000000000000000000000000000000000000000000610c07565b926104417f0000000000000000000000000000000000000000000000000000000000000000610d23565b90825192602092602085019585871067ffffffffffffffff88111761050457509260206104ba8388966104ad998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b019061087b565b91898303908a015261087b565b924660608801523060808801528460a088015286840360c088015251928381520193925b8281106104ed57505050500390f35b8351855286955093810193928101926001016104de565b836041602492634e487b7160e01b835252fd5b50503461010657602036600319011261010657806020926001600160a01b0361053e6108bb565b1681526007845220549051908152f35b50503461010657602036600319011261010657806020926001600160a01b036105756108bb565b16815280845220549051908152f35b83915034610106576020366003190112610106578035903315610613573383528260205283832054908282106105fa5750928183943385528460205203818420558160025403600255519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a380f35b6064945063391434e360e21b8452339052602452604452fd5b8280602492634b637e8f60e11b825252fd5b505034610106578160031936011261010657602090610642610a4f565b9051908152f35b5050346101065781600319360112610106576020905160128152f35b828434610757576060366003190112610757576106806108bb565b6106886108d6565b90604435926001600160a01b0382168082526001602052858220338352602052858220549060001982036106c5575b6020876102e088888861097a565b8582106107235780156107115733156106ff5782526001602090815286832033845281529186902090859003905594506102e086806106b7565b602483808a634a1406b160e11b825252fd5b602483808a63e602df0560e01b825252fd5b60648387848b7ffb8f41b2000000000000000000000000000000000000000000000000000000008452339052602452604452fd5b80fd5b5050346101065781600319360112610106576020906002549051908152f35b5050346101065780600319360112610106576020906102e06107996108bb565b6024359033610b7a565b84843461010657816003193601126101065782826003546107c3816108ec565b90818452602095600191876001821691826000146108545750506001146107f8575b50505061034e929161033f910385610958565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061083c575050508201018161033f61034e6107e5565b8054848a018601528895508794909301928101610823565b60ff19168782015293151560051b8601909301935084925061033f915061034e90506107e5565b919082519283825260005b8481106108a7575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610886565b600435906001600160a01b03821682036108d157565b600080fd5b602435906001600160a01b03821682036108d157565b90600182811c9216801561091c575b602083101461090657565b634e487b7160e01b600052602260045260246000fd5b91607f16916108fb565b6040810190811067ffffffffffffffff82111761094257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761094257604052565b6001600160a01b03809116918215610a395716918215610a0a5760008281528060205260408120548281106109f05791604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60649363391434e360e21b83949352600452602452604452fd5b7fec442f0500000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b634b637e8f60e11b600052600060045260246000fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480610b51575b15610aaa577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176109425760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610a81565b6001600160a01b03809116918215610bf15716918215610bdb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b634a1406b160e11b600052600060045260246000fd5b63e602df0560e01b600052600060045260246000fd5b60ff8114610c5d5760ff811690601f8211610c335760405191610c2983610926565b8252602082015290565b7fb3512b0c0000000000000000000000000000000000000000000000000000000060005260046000fd5b50604051600554816000610c70836108ec565b80835292602090600190818116908115610cff5750600114610c9e575b5050610c9b92500382610958565b90565b91509260056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0936000925b828410610ce75750610c9b9450505081016020013880610c8d565b85548785018301529485019486945092810192610ccc565b91505060209250610c9b94915060ff191682840152151560051b8201013880610c8d565b60ff8114610d455760ff811690601f8211610c335760405191610c2983610926565b50604051600654816000610d58836108ec565b80835292602090600190818116908115610cff5750600114610d82575050610c9b92500382610958565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b828410610dcb5750610c9b9450505081016020013880610c8d565b85548785018301529485019486945092810192610db0565b90916000927f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08511610e675791839460809260ff6020969560405194855216868401526040830152606082015282805260015afa15610e5b5780516001600160a01b03811615610e5257918190565b50809160019190565b604051903d90823e3d90fd5b5050509160039190565b6004811015610f225780610e83575050565b60018103610eb5577ff645eedf0000000000000000000000000000000000000000000000000000000060005260046000fd5b60028103610eeb57507ffce698f70000000000000000000000000000000000000000000000000000000060005260045260246000fd5b600314610ef55750565b7fd78bce0c0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b634e487b7160e01b600052602160045260246000fdfea2646970667358221220950a19aaedfa7c26ea83d0fefe7f905db1046624da99e38a1b9778ed5b8cad1864736f6c634300081a00330000000000000000000000000000000000000000000000000000000002faf080