[ { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint8", "name": "_decimals", "type": "uint8" } ], "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" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "TransferOwnership", "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": "_minter", "type": "address" } ], "name": "addMinter", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isMinter", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "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": "", "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": "_amount", "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": [ { "internalType": "address", "name": "_minter", "type": "address" } ], "name": "removeMinter", "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" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60c060405234801561000f575f80fd5b5060405161123e38038061123e83398101604081905261002e916101f5565b6001600160a01b0384166100785760405162461bcd60e51b815260206004820152600d60248201526c24a72b20a624a22fa7aba722a960991b604482015260640160405180910390fd5b600380546001600160a01b0319166001600160a01b038616179055600161009f8482610313565b505f6100ab8382610313565b5060ff1660a0908152825160209384012060408051808201825260018152603160f81b9086015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81870152808201929092527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808084019190915230838501528151808403909401845260c0909201905281519190930120909152506103cd9050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261017b575f80fd5b81516001600160401b0381111561019457610194610158565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101c2576101c2610158565b6040528181528382016020018510156101d9575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f805f8060808587031215610208575f80fd5b84516001600160a01b038116811461021e575f80fd5b60208601519094506001600160401b03811115610239575f80fd5b6102458782880161016c565b604087015190945090506001600160401b03811115610262575f80fd5b61026e8782880161016c565b925050606085015160ff81168114610284575f80fd5b939692955090935050565b600181811c908216806102a357607f821691505b6020821081036102c157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561030e57805f5260205f20601f840160051c810160208510156102ec5750805b601f840160051c820191505b8181101561030b575f81556001016102f8565b50505b505050565b81516001600160401b0381111561032c5761032c610158565b6103408161033a845461028f565b846102c7565b6020601f821160018114610372575f831561035b5750848201515b5f19600385901b1c1916600184901b17845561030b565b5f84815260208120601f198516915b828110156103a15787850151825560209485019460019092019101610381565b50848210156103be57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a051610e496103f55f395f6101d701525f818161021001526106a10152610e495ff3fe608060405234801561000f575f80fd5b5060043610610127575f3560e01c80637ecebe00116100a9578063a9059cbb1161006e578063a9059cbb146102dc578063aa271e1a146102ef578063d505accf14610311578063dd62ed3e14610324578063f2fde38b1461034e575f80fd5b80637ecebe00146102645780638da5cb5b1461028357806395d89b41146102ae578063983b2d56146102b65780639dc29fac146102c9575f80fd5b806330adf81f116100ef57806330adf81f146101ab578063313ce567146101d25780633644e5151461020b57806340c10f191461023257806370a0823114610245575f80fd5b806306fdde031461012b578063095ea7b31461014957806318160ddd1461016c57806323b872dd146101835780633092afd514610196575b5f80fd5b610133610361565b6040516101409190610bfd565b60405180910390f35b61015c610157366004610c4d565b6103ed565b6040519015158152602001610140565b61017560025481565b604051908152602001610140565b61015c610191366004610c75565b610403565b6101a96101a4366004610caf565b610478565b005b6101757f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6101f97f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610140565b6101757f000000000000000000000000000000000000000000000000000000000000000081565b61015c610240366004610c4d565b6104cb565b610175610253366004610caf565b60046020525f908152604090205481565b610175610272366004610caf565b60076020525f908152604090205481565b600354610296906001600160a01b031681565b6040516001600160a01b039091168152602001610140565b61013361051f565b6101a96102c4366004610caf565b61052b565b61015c6102d7366004610c4d565b610578565b61015c6102ea366004610c4d565b6105e4565b61015c6102fd366004610caf565b60066020525f908152604090205460ff1681565b6101a961031f366004610cc8565b6105f0565b610175610332366004610d35565b600560209081525f928352604080842090915290825290205481565b6101a961035c366004610caf565b610850565b6001805461036e90610d66565b80601f016020809104026020016040519081016040528092919081815260200182805461039a90610d66565b80156103e55780601f106103bc576101008083540402835291602001916103e5565b820191905f5260205f20905b8154815290600101906020018083116103c857829003601f168201915b505050505081565b5f6103f9338484610914565b5060015b92915050565b6001600160a01b0383165f9081526005602090815260408083203384529091528120545f1914610465576001600160a01b0384165f9081526005602090815260408083203384529091528120805484929061045f908490610db2565b90915550505b610470848484610a37565b949350505050565b6003546001600160a01b031633146104ab5760405162461bcd60e51b81526004016104a290610dc5565b60405180910390fd5b6001600160a01b03165f908152600660205260409020805460ff19169055565b335f9081526006602052604081205460ff16806104f257506003546001600160a01b031633145b61050e5760405162461bcd60e51b81526004016104a290610dc5565b6105188383610aea565b9392505050565b5f805461036e90610d66565b6003546001600160a01b031633146105555760405162461bcd60e51b81526004016104a290610dc5565b6001600160a01b03165f908152600660205260409020805460ff19166001179055565b6001600160a01b0382165f9081526005602090815260408083203384529091528120545f19146105da576001600160a01b0383165f908152600560209081526040808320338452909152812080548492906105d4908490610db2565b90915550505b6105188383610b7a565b5f610518338484610a37565b6001600160a01b0387166106355760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b60448201526064016104a2565b8342111580610642575083155b6106825760405162461bcd60e51b81526020600482015260116024820152701c195c9b5a5d081a5cc8195e1c1a5c9959607a1b60448201526064016104a2565b6001600160a01b0387165f9081526007602052604081208054611901917f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c9190886106f483610de8565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016107789392919060f09390931b6001600160f01b03191683526002830191909152602282015260420190565b60408051601f1981840301815282825280516020918201205f845290830180835281905260ff8716918301919091526060820185905260808201849052915060019060a0016020604051602081039080840390855afa1580156107dd573d5f803e3d5ffd5b505050602060405103516001600160a01b0316886001600160a01b03161461083b5760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964207369676e617475726560781b60448201526064016104a2565b610846888888610914565b5050505050505050565b6003546001600160a01b0316331461087a5760405162461bcd60e51b81526004016104a290610dc5565b6001600160a01b0381166108c05760405162461bcd60e51b815260206004820152600d60248201526c24a72b20a624a22fa7aba722a960991b60448201526064016104a2565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527fcfaaa26691e16e66e73290fc725eee1a6b4e0e693a1640484937aac25ffb55a49060200160405180910390a150565b6001600160a01b0383166109765760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a2565b6001600160a01b0382166109d75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a2565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f90815260046020526040812080548391908390610a60908490610db2565b90915550506001600160a01b0383165f9081526004602052604081208054849290610a8c908490610e00565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ad891815260200190565b60405180910390a35060019392505050565b6001600160a01b0382165f90815260046020526040812080548391908390610b13908490610e00565b925050819055508160025f828254610b2b9190610e00565b90915550506040518281526001600160a01b038416905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a350600192915050565b6001600160a01b0382165f90815260046020526040812080548391908390610ba3908490610db2565b925050819055508160025f828254610bbb9190610db2565b90915550506040518281525f906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610b69565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610c48575f80fd5b919050565b5f8060408385031215610c5e575f80fd5b610c6783610c32565b946020939093013593505050565b5f805f60608486031215610c87575f80fd5b610c9084610c32565b9250610c9e60208501610c32565b929592945050506040919091013590565b5f60208284031215610cbf575f80fd5b61051882610c32565b5f805f805f805f60e0888a031215610cde575f80fd5b610ce788610c32565b9650610cf560208901610c32565b95506040880135945060608801359350608088013560ff81168114610d18575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215610d46575f80fd5b610d4f83610c32565b9150610d5d60208401610c32565b90509250929050565b600181811c90821680610d7a57607f821691505b602082108103610d9857634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103fd576103fd610d9e565b6020808252600990820152682327a92124a22222a760b91b604082015260600190565b5f60018201610df957610df9610d9e565b5060010190565b808201808211156103fd576103fd610d9e56fea26469706673582212206c56dd088da3f5d27f47571e1fad9fd50ee15461c250e23752ef6e54f500dc8364736f6c634300081a0033000000000000000000000000c49feda03b617a78e0026fc2a0f3e87b8229a2e5000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000044145524f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044145524f00000000000000000000000000000000000000000000000000000000