[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "address", "name": "owner", "type": "address" } ], "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": "value", "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": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "EIP712_REVISION", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PERMIT_TYPEHASH", "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": "amount", "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": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "isProtected", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "mint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "mint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "", "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": "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": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "state", "type": "bool" } ], "name": "setProtected", "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" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b5060405162001bd738038062001bd7833981016040819052620000349162000442565b8351849084906200004d906003906020850190620002cf565b50805162000063906004906020840190620002cf565b50506005805460ff191660121790555060006200007d3390565b60058054610100600160a81b0319166101006001600160a01b038416908102919091179091556040519192509060009060008051602062001bb7833981519152908290a350835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246608082018190523060a08301529060c00160408051808303601f1901815291905280516020909101206007556005805460ff851660ff199091161790556001600160a01b0382166200018857600080fd5b6200019382620001ac565b50506008805460ff191660011790555062000523915050565b6005546001600160a01b03610100909104163314620002125760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b038116620002795760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000209565b6005546040516001600160a01b03808416926101009004169060008051602062001bb783398151915290600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b828054620002dd90620004e6565b90600052602060002090601f0160209004810192826200030157600085556200034c565b82601f106200031c57805160ff19168380011785556200034c565b828001600101855582156200034c579182015b828111156200034c5782518255916020019190600101906200032f565b506200035a9291506200035e565b5090565b5b808211156200035a57600081556001016200035f565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200039d57600080fd5b81516001600160401b0380821115620003ba57620003ba62000375565b604051601f8301601f19908116603f01168101908282118183101715620003e557620003e562000375565b816040528381526020925086838588010111156200040257600080fd5b600091505b8382101562000426578582018301518183018401529082019062000407565b83821115620004385760008385830101525b9695505050505050565b600080600080608085870312156200045957600080fd5b84516001600160401b03808211156200047157600080fd5b6200047f888389016200038b565b955060208701519150808211156200049657600080fd5b50620004a5878288016200038b565b935050604085015160ff81168114620004bd57600080fd5b60608601519092506001600160a01b0381168114620004db57600080fd5b939692955090935050565b600181811c90821680620004fb57607f821691505b602082108114156200051d57634e487b7160e01b600052602260045260246000fd5b50919050565b61168480620005336000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c806370a08231116100e3578063a0712d681161008c578063d505accf11610066578063d505accf146103b7578063dd62ed3e146103ca578063f2fde38b1461041057600080fd5b8063a0712d681461037e578063a457c2d714610391578063a9059cbb146103a457600080fd5b80637ecebe00116100bd5780637ecebe00146102fd5780638da5cb5b1461033357806395d89b411461037657600080fd5b806370a0823114610283578063715018a6146102b957806378160376146102c157600080fd5b806330adf81f11610145578063395093511161011f578063395093511461025257806340c10f19146102655780635300f82b1461027857600080fd5b806330adf81f1461020d578063313ce567146102345780633644e5151461024957600080fd5b806318160ddd1161017657806318160ddd146101d35780631c02bc31146101e557806323b872dd146101fa57600080fd5b806306fdde0314610192578063095ea7b3146101b0575b600080fd5b61019a610423565b6040516101a791906113a8565b60405180910390f35b6101c36101be3660046113e6565b6104b5565b60405190151581526020016101a7565b6002545b6040519081526020016101a7565b6101f86101f3366004611410565b6104cc565b005b6101c3610208366004611432565b610589565b6101d77f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60055460405160ff90911681526020016101a7565b6101d760075481565b6101c36102603660046113e6565b6105ff565b6101c36102733660046113e6565b610642565b60085460ff166101c3565b6101d761029136600461146e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101f86106e6565b61019a6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b6101d761030b36600461146e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205490565b600554610100900473ffffffffffffffffffffffffffffffffffffffff1660405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a7565b61019a6107e1565b6101c361038c366004611489565b6107f0565b6101c361039f3660046113e6565b61089d565b6101c36103b23660046113e6565b6108f9565b6101f86103c53660046114a2565b610906565b6101d76103d8366004611515565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101f861041e36600461146e565b610c27565b60606003805461043290611548565b80601f016020809104026020016040519081016040528092919081815260200182805461045e90611548565b80156104ab5780601f10610480576101008083540402835291602001916104ab565b820191906000526020600020905b81548152906001019060200180831161048e57829003601f168201915b5050505050905090565b60006104c2338484610de9565b5060015b92915050565b60055473ffffffffffffffffffffffffffffffffffffffff610100909104163314610558576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6000610596848484610f9d565b6105f584336105f0856040518060600160405280602881526020016116026028913973ffffffffffffffffffffffffffffffffffffffff8a16600090815260016020908152604080832033845290915290205491906111c7565b610de9565b5060019392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490916104c29185906105f0908661120e565b60085460009060ff161515600114156106dc5760055473ffffffffffffffffffffffffffffffffffffffff6101009091041633146106dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161054f565b6104c2838361121e565b60055473ffffffffffffffffffffffffffffffffffffffff61010090910416331461076d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161054f565b600554604051600091610100900473ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580547fffffffffffffffffffffff0000000000000000000000000000000000000000ff169055565b60606004805461043290611548565b60085460009060ff1615156001141561088a5760055473ffffffffffffffffffffffffffffffffffffffff61010090910416331461088a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161054f565b610894338361121e565b5060015b919050565b60006104c233846105f08560405180606001604052806025815260200161162a6025913933600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8d16845290915290205491906111c7565b60006104c2338484610f9d565b73ffffffffffffffffffffffffffffffffffffffff8716610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f494e56414c49445f4f574e455200000000000000000000000000000000000000604482015260640161054f565b834211156109ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f45585049524154494f4e0000000000000000000000000000604482015260640161054f565b73ffffffffffffffffffffffffffffffffffffffff87811660008181526006602090815260408083205460075482517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958c166060860152608085018b905260a0850181905260c08086018b90528251808703909101815260e08601909252815191909201207f19010000000000000000000000000000000000000000000000000000000000006101008501526101028401949094526101228301939093529061014201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825280516020918201206000845290830180835281905260ff8816918301919091526060820186905260808201859052915060019060a0016020604051602081039080840390855afa158015610b42573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614610be0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f5349474e4154555245000000000000000000000000000000604482015260640161054f565b610beb82600161159c565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260066020526040902055610c1c898989610de9565b505050505050505050565b60055473ffffffffffffffffffffffffffffffffffffffff610100909104163314610cae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161054f565b73ffffffffffffffffffffffffffffffffffffffff8116610d51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161054f565b60055460405173ffffffffffffffffffffffffffffffffffffffff80841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36005805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff8316610e8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161054f565b73ffffffffffffffffffffffffffffffffffffffff8216610f2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161054f565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316611040576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161054f565b73ffffffffffffffffffffffffffffffffffffffff82166110e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161054f565b61112d816040518060600160405280602681526020016115dc6026913973ffffffffffffffffffffffffffffffffffffffff861660009081526020819052604090205491906111c7565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152602081905260408082209390935590841681522054611169908261120e565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610f90565b8183038184821115611206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054f91906113a8565b509392505050565b808201828110156104c657600080fd5b73ffffffffffffffffffffffffffffffffffffffff821661129b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161054f565b6002546112a8908261120e565b60025573ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260409020546112db908261120e565b73ffffffffffffffffffffffffffffffffffffffff8316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6000815180845260005b8181101561136357602081850181015186830182015201611347565b81811115611375576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006113bb602083018461133d565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461089857600080fd5b600080604083850312156113f957600080fd5b611402836113c2565b946020939093013593505050565b60006020828403121561142257600080fd5b813580151581146113bb57600080fd5b60008060006060848603121561144757600080fd5b611450846113c2565b925061145e602085016113c2565b9150604084013590509250925092565b60006020828403121561148057600080fd5b6113bb826113c2565b60006020828403121561149b57600080fd5b5035919050565b600080600080600080600060e0888a0312156114bd57600080fd5b6114c6886113c2565b96506114d4602089016113c2565b95506040880135945060608801359350608088013560ff811681146114f857600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561152857600080fd5b611531836113c2565b915061153f602084016113c2565b90509250929050565b600181811c9082168061155c57607f821691505b60208210811415611596577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600082198211156115d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50019056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122052559e8d3ca406a42880ade86d3d2c35d3caa406332e502b5974396e8626475e64736f6c634300080a00338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000060000000000000000000000006282397857193a67efad20e04837095fb7986cae0000000000000000000000000000000000000000000000000000000000000004555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045553444300000000000000000000000000000000000000000000000000000000