[ { "inputs": [], "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": [], "name": "Initialized", "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": [ { "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": [ { "internalType": "address", "name": "gov", "type": "address" } ], "name": "enableClaimable", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_initTotalSupply", "type": "uint256" }, { "internalType": "string", "name": "tokenName", "type": "string" }, { "internalType": "string", "name": "tokenSymbol", "type": "string" }, { "internalType": "address", "name": "_gasOperator", "type": "address" } ], "name": "initialize", "outputs": [], "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": "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" } ]
60806040523480156200001157600080fd5b506040805160208082018352600080835283519182019093529182529033806200005557604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b620000608162000087565b5060046200006f83826200017c565b5060056200007e82826200017c565b50505062000248565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200010257607f821691505b6020821081036200012357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200017757600081815260208120601f850160051c81016020861015620001525750805b601f850160051c820191505b8181101562000173578281556001016200015e565b5050505b505050565b81516001600160401b03811115620001985762000198620000d7565b620001b081620001a98454620000ed565b8462000129565b602080601f831160018114620001e85760008415620001cf5750858301515b600019600386901b1c1916600185901b17855562000173565b600085815260208120601f198616915b828110156200021957888601518255948401946001909101908401620001f8565b5085821015620002385787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610cff80620002586000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a9059cbb11610066578063a9059cbb146101eb578063be4d0ae7146101fe578063dd62ed3e14610211578063f2fde38b1461024a57600080fd5b806370a0823114610197578063715018a6146101c05780638da5cb5b146101c857806395d89b41146101e357600080fd5b806323b872dd116100d357806323b872dd1461014d578063313ce5671461016057806342966c681461016f5780636ebd362c1461018457600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b61010261025d565b60405161010f91906108de565b60405180910390f35b61012b610126366004610948565b6102ef565b604051901515815260200161010f565b6003545b60405190815260200161010f565b61012b61015b366004610972565b610309565b6040516012815260200161010f565b61018261017d3660046109ae565b61032d565b005b610182610192366004610a10565b61033a565b61013f6101a5366004610a99565b6001600160a01b031660009081526001602052604090205490565b6101826103b9565b6000546040516001600160a01b03909116815260200161010f565b6101026103cd565b61012b6101f9366004610948565b6103dc565b61018261020c366004610a99565b6103ea565b61013f61021f366004610abb565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b610182610258366004610a99565b6104c3565b60606007805461026c90610aee565b80601f016020809104026020016040519081016040528092919081815260200182805461029890610aee565b80156102e55780601f106102ba576101008083540402835291602001916102e5565b820191906000526020600020905b8154815290600101906020018083116102c857829003601f168201915b5050505050905090565b6000336102fd818585610503565b60019150505b92915050565b600033610317858285610515565b610322858585610593565b506001949350505050565b61033733826105f2565b50565b61034261062c565b60065460ff1615610366576040516302ed543d60e51b815260040160405180910390fd5b6103703387610659565b600761037d858783610b8c565b50600861038b838583610b8c565b506001600160a01b038116156103a4576103a4816103ea565b50506006805460ff1916600117905550505050565b6103c161062c565b6103cb600061068f565b565b60606008805461026c90610aee565b6000336102fd818585610593565b6103f261062c565b60405163c8992e6160e01b81526002604360981b019063c8992e61906104219060019081908690600401610c62565b600060405180830381600087803b15801561043b57600080fd5b505af115801561044f573d6000803e3d6000fd5b50506040516336b91f2b60e01b81526001600160a01b0384166004820152732536fe9ab3f511540f2f9e2ec2a805005c3dd80092506336b91f2b9150602401600060405180830381600087803b1580156104a857600080fd5b505af11580156104bc573d6000803e3d6000fd5b5050505050565b6104cb61062c565b6001600160a01b0381166104fa57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6103378161068f565b61051083838360016106df565b505050565b6001600160a01b03838116600090815260026020908152604080832093861683529290522054600019811461058d578181101561057e57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016104f1565b61058d848484840360006106df565b50505050565b6001600160a01b0383166105bd57604051634b637e8f60e11b8152600060048201526024016104f1565b6001600160a01b0382166105e75760405163ec442f0560e01b8152600060048201526024016104f1565b6105108383836107b4565b6001600160a01b03821661061c57604051634b637e8f60e11b8152600060048201526024016104f1565b610628826000836107b4565b5050565b6000546001600160a01b031633146103cb5760405163118cdaa760e01b81523360048201526024016104f1565b6001600160a01b0382166106835760405163ec442f0560e01b8152600060048201526024016104f1565b610628600083836107b4565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0384166107095760405163e602df0560e01b8152600060048201526024016104f1565b6001600160a01b03831661073357604051634a1406b160e11b8152600060048201526024016104f1565b6001600160a01b038085166000908152600260209081526040808320938716835292905220829055801561058d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107a691815260200190565b60405180910390a350505050565b6001600160a01b0383166107df5780600360008282546107d49190610ca8565b909155506108519050565b6001600160a01b038316600090815260016020526040902054818110156108325760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104f1565b6001600160a01b03841660009081526001602052604090209082900390555b6001600160a01b03821661086d5760038054829003905561088c565b6001600160a01b03821660009081526001602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516108d191815260200190565b60405180910390a3505050565b600060208083528351808285015260005b8181101561090b578581018301518582016040015282016108ef565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461094357600080fd5b919050565b6000806040838503121561095b57600080fd5b6109648361092c565b946020939093013593505050565b60008060006060848603121561098757600080fd5b6109908461092c565b925061099e6020850161092c565b9150604084013590509250925092565b6000602082840312156109c057600080fd5b5035919050565b60008083601f8401126109d957600080fd5b50813567ffffffffffffffff8111156109f157600080fd5b602083019150836020828501011115610a0957600080fd5b9250929050565b60008060008060008060808789031215610a2957600080fd5b86359550602087013567ffffffffffffffff80821115610a4857600080fd5b610a548a838b016109c7565b90975095506040890135915080821115610a6d57600080fd5b50610a7a89828a016109c7565b9094509250610a8d90506060880161092c565b90509295509295509295565b600060208284031215610aab57600080fd5b610ab48261092c565b9392505050565b60008060408385031215610ace57600080fd5b610ad78361092c565b9150610ae56020840161092c565b90509250929050565b600181811c90821680610b0257607f821691505b602082108103610b2257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b601f82111561051057600081815260208120601f850160051c81016020861015610b655750805b601f850160051c820191505b81811015610b8457828155600101610b71565b505050505050565b67ffffffffffffffff831115610ba457610ba4610b28565b610bb883610bb28354610aee565b83610b3e565b6000601f841160018114610bec5760008515610bd45750838201355b600019600387901b1c1916600186901b1783556104bc565b600083815260209020601f19861690835b82811015610c1d5786850135825560209485019460019092019101610bfd565b5086821015610c3a5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b634e487b7160e01b600052602160045260246000fd5b6060810160038510610c7657610c76610c4c565b84825260028410610c8957610c89610c4c565b60208201939093526001600160a01b0391909116604090910152919050565b8082018082111561030357634e487b7160e01b600052601160045260246000fdfea2646970667358221220da01e23d507184d7f27d5a64a2dce7dc61d8b39c547f4479361923923a5256c064736f6c63430008150033