[ { "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": "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": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PERMIT_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "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": "", "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": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "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": [ { "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": "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" } ]
60e06040523480156200001157600080fd5b5060408051808201825260098152682130b9b2aa37b5b2b760b91b6020808301918252835180850190945260048452634241534560e01b90840152815191929160129162000063916000919062000240565b5081516200007990600190602085019062000240565b5060ff81166080524660a0526200008f62000162565b60c0525050600654610100900460ff169050620000b35760065460ff1615620000bd565b620000bd62000213565b620001255760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600654610100900460ff1615801562000148576006805461ffff19166101011790555b80156200015b576006805461ff00191690555b50620003c7565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405162000196919062000323565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b60006200022b306200023160201b620008971760201c565b15905090565b6001600160a01b03163b151590565b8280546200024e90620002e6565b90600052602060002090601f016020900481019282620002725760008555620002bd565b82601f106200028d57805160ff1916838001178555620002bd565b82800160010185558215620002bd579182015b82811115620002bd578251825591602001919060010190620002a0565b50620002cb929150620002cf565b5090565b5b80821115620002cb5760008155600101620002d0565b600181811c90821680620002fb57607f821691505b602082108114156200031d57634e487b7160e01b600052602260045260246000fd5b50919050565b600080835481600182811c9150808316806200034057607f831692505b60208084108214156200036157634e487b7160e01b86526022600452602486fd5b8180156200037857600181146200038a57620003b9565b60ff19861689528489019650620003b9565b60008a81526020902060005b86811015620003b15781548b82015290850190830162000396565b505084890196505b509498975050505050505050565b60805160a05160c051610e5a620003f7600039600061049d01526000610468015260006101860152610e5a6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a9059cbb11610066578063a9059cbb1461020a578063b119490e1461021d578063d505accf14610232578063dd62ed3e1461024557600080fd5b806370a08231146101c25780637ecebe00146101e257806395d89b411461020257600080fd5b806323b872dd116100c857806323b872dd1461014757806330adf81f1461015a578063313ce567146101815780633644e515146101ba57600080fd5b806306fdde03146100ef578063095ea7b31461010d57806318160ddd14610130575b600080fd5b6100f7610270565b6040516101049190610a59565b60405180910390f35b61012061011b366004610aca565b6102fe565b6040519015158152602001610104565b61013960025481565b604051908152602001610104565b610120610155366004610af4565b61036a565b6101397f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6101a87f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610104565b610139610464565b6101396101d0366004610b30565b60036020526000908152604090205481565b6101396101f0366004610b30565b60056020526000908152604090205481565b6100f76104bf565b610120610218366004610aca565b6104cc565b61023061022b366004610bf5565b610544565b005b610230610240366004610c62565b610637565b610139610253366004610cd5565b600460209081526000928352604080842090915290825290205481565b6000805461027d90610d08565b80601f01602080910402602001604051908101604052809291908181526020018280546102a990610d08565b80156102f65780601f106102cb576101008083540402835291602001916102f6565b820191906000526020600020905b8154815290600101906020018083116102d957829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103599086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146103cf576001600160a01b0384166000908152600460209081526040808320338452909152812080548492906103c9908490610d59565b90915550505b6001600160a01b038416600090815260036020526040812080548492906103f7908490610d59565b90915550506001600160a01b03808416600081815260036020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104529086815260200190565b60405180910390a35060019392505050565b60007f0000000000000000000000000000000000000000000000000000000000000000461461049a576104956108a6565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b6001805461027d90610d08565b336000908152600360205260408120805483919083906104ed908490610d59565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103599086815260200190565b600654610100900460ff1661055f5760065460ff1615610563565b303b155b6105cb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b600654610100900460ff161580156105ed576006805461ffff19166101011790555b83516106009060009060208701906109c0565b5082516106149060019060208601906109c0565b5061061f3383610955565b8015610631576006805461ff00191690555b50505050565b428410156106875760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016105c2565b6000610691610464565b6001600160a01b0389811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938c166060840152608083018b905260a083019390935260c08083018a90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156107aa573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906107e05750886001600160a01b0316816001600160a01b0316145b61082c5760405162461bcd60e51b815260206004820152601860248201527f494e56414c49445f5045524d49545f5349474e4154555245000000000000000060448201526064016105c2565b6001600160a01b0390811660009081526004602090815260408083208b8516808552908352928190208a905551898152919350918a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6001600160a01b03163b151590565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516108d89190610d70565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b80600260008282546109679190610e0c565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b8280546109cc90610d08565b90600052602060002090601f0160209004810192826109ee5760008555610a34565b82601f10610a0757805160ff1916838001178555610a34565b82800160010185558215610a34579182015b82811115610a34578251825591602001919060010190610a19565b50610a40929150610a44565b5090565b5b80821115610a405760008155600101610a45565b600060208083528351808285015260005b81811015610a8657858101830151858201604001528201610a6a565b81811115610a98576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610ac557600080fd5b919050565b60008060408385031215610add57600080fd5b610ae683610aae565b946020939093013593505050565b600080600060608486031215610b0957600080fd5b610b1284610aae565b9250610b2060208501610aae565b9150604084013590509250925092565b600060208284031215610b4257600080fd5b610b4b82610aae565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610b7957600080fd5b813567ffffffffffffffff80821115610b9457610b94610b52565b604051601f8301601f19908116603f01168101908282118183101715610bbc57610bbc610b52565b81604052838152866020858801011115610bd557600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215610c0a57600080fd5b833567ffffffffffffffff80821115610c2257600080fd5b610c2e87838801610b68565b94506020860135915080821115610c4457600080fd5b50610c5186828701610b68565b925050604084013590509250925092565b600080600080600080600060e0888a031215610c7d57600080fd5b610c8688610aae565b9650610c9460208901610aae565b95506040880135945060608801359350608088013560ff81168114610cb857600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610ce857600080fd5b610cf183610aae565b9150610cff60208401610aae565b90509250929050565b600181811c90821680610d1c57607f821691505b60208210811415610d3d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d6b57610d6b610d43565b500390565b600080835481600182811c915080831680610d8c57607f831692505b6020808410821415610dac57634e487b7160e01b86526022600452602486fd5b818015610dc05760018114610dd157610dfe565b60ff19861689528489019650610dfe565b60008a81526020902060005b86811015610df65781548b820152908501908301610ddd565b505084890196505b509498975050505050505050565b60008219821115610e1f57610e1f610d43565b50019056fea26469706673582212209494d49fef05f1db7b56e2af81cf79d92f4a4f1be035ad91c38d27b300338e3664736f6c634300080b0033