[ { "inputs": [ { "internalType": "address", "name": "totalSupply", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "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": [ { "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": [ { "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": [], "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": [], "name": "getIdentifier", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "realname", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "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": "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" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526005805460ff60a01b1916600960a11b1790553480156200002457600080fd5b5060405162000dfb38038062000dfb8339810160408190526200004791620001ea565b336040518060400160405280600f81526020016ef09f9090204156415820476f61747360881b8152506040518060400160405280600481526020016311d3d05560e21b81525081600390816200009e9190620002c1565b506006620000ad8382620002c1565b506004620000bc8282620002c1565b5050506001600160a01b038116620000ee57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b620000f9816200010c565b5062000105816200015e565b506200038d565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6c08b5829f66bff9a4295000000060028190553360009081526020819052604090208190556200019090829062000193565b50565b600580546001600160a01b0319166001600160a01b03841617905560405181815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600060208284031215620001fd57600080fd5b81516001600160a01b03811681146200021557600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200024757607f821691505b6020821081036200026857634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002bc57600081815260208120601f850160051c81016020861015620002975750805b601f850160051c820191505b81811015620002b857828155600101620002a3565b5050505b505050565b81516001600160401b03811115620002dd57620002dd6200021c565b620002f581620002ee845462000232565b846200026e565b602080601f8311600181146200032d5760008415620003145750858301515b600019600386901b1c1916600185901b178555620002b8565b600085815260208120601f198616915b828110156200035e578886015182559484019460019091019084016200033d565b50858210156200037d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610a5e806200039d6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a9059cbb11610066578063a9059cbb1461020e578063aa23e03d14610221578063dd62ed3e14610233578063f2fde38b1461026c57600080fd5b8063715018a6146101ce5780638da5cb5b146101d857806395d89b41146101f3578063a457c2d7146101fb57600080fd5b8063313ce567116100d3578063313ce5671461016b578063395093511461018a5780634e065b181461019d57806370a08231146101a557600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d61027f565b60405161011a919061088f565b60405180910390f35b6101366101313660046108f9565b610311565b604051901515815260200161011a565b6002545b60405190815260200161011a565b610136610166366004610923565b61032b565b600554600160a01b900460ff1660405160ff909116815260200161011a565b6101366101983660046108f9565b61034f565b61010d61038e565b61014a6101b336600461095f565b6001600160a01b031660009081526020819052604090205490565b6101d661039d565b005b6007546040516001600160a01b03909116815260200161011a565b61010d6103b1565b6101366102093660046108f9565b6103c0565b61013661021c3660046108f9565b610457565b600554600160a01b900460ff1661014a565b61014a610241366004610981565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101d661027a36600461095f565b610465565b60606003805461028e906109b4565b80601f01602080910402602001604051908101604052809291908181526020018280546102ba906109b4565b80156103075780601f106102dc57610100808354040283529160200191610307565b820191906000526020600020905b8154815290600101906020018083116102ea57829003601f168201915b5050505050905090565b60003361031f8185856104a3565b60019150505b92915050565b600033610339858285610559565b6103448585856105d5565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061031f90829086906103899087906109ee565b6104a3565b60606006805461028e906109b4565b6103a5610639565b6103af6000610666565b565b60606004805461028e906109b4565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091908381101561044a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61034482868684036104a3565b60003361031f8185856105d5565b61046d610639565b6001600160a01b03811661049757604051631e4fbdf760e01b815260006004820152602401610441565b6104a081610666565b50565b6001600160a01b0383166104cd5760405163e602df0560e01b815260006004820152602401610441565b6001600160a01b0382166104f757604051634a1406b160e11b815260006004820152602401610441565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146105cf57818110156105c257604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610441565b6105cf84848484036104a3565b50505050565b6001600160a01b0383166105ff57604051634b637e8f60e11b815260006004820152602401610441565b6001600160a01b0382166106295760405163ec442f0560e01b815260006004820152602401610441565b6106348383836106c5565b505050565b6007546001600160a01b031633146103af5760405163118cdaa760e01b8152336004820152602401610441565b600780546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0383166106f05780600260008282546106e591906109ee565b9091555061077f9050565b806106fa846107ff565b10156107575760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610441565b80610761846107ff565b6001600160a01b038516600090815260208190526040902091900390555b6001600160a01b03821661079b576002805482900390556107ba565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161054c91815260200190565b6005546001600160a01b03828116600081815260208190526040808220549051636a45853560e01b815230600482015260248101919091526044810192909252929190911690636a45853590606401602060405180830381865afa15801561086b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103259190610a0f565b600060208083528351808285015260005b818110156108bc578581018301518582016040015282016108a0565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108f457600080fd5b919050565b6000806040838503121561090c57600080fd5b610915836108dd565b946020939093013593505050565b60008060006060848603121561093857600080fd5b610941846108dd565b925061094f602085016108dd565b9150604084013590509250925092565b60006020828403121561097157600080fd5b61097a826108dd565b9392505050565b6000806040838503121561099457600080fd5b61099d836108dd565b91506109ab602084016108dd565b90509250929050565b600181811c908216806109c857607f821691505b6020821081036109e857634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561032557634e487b7160e01b600052601160045260246000fd5b600060208284031215610a2157600080fd5b505191905056fea2646970667358221220c3caa01094f5b83f2e869a65303491b4f59890341a5fefd94747ac7b2c2b881864736f6c634300081400330000000000000000000000009085e56c25d88f484a171b148e4e379a0e4c27d5