[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ArrayLengthMismatch", "type": "error" }, { "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": "_accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "_amounts", "type": "uint256[]" } ], "name": "airdrop", "outputs": [], "stateMutability": "nonpayable", "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": "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": [], "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" } ]
60806040523480156200001157600080fd5b503360405180604001604052806008815260200167139e595b8810d95d60c21b81525060405180604001604052806004815260200163272ca2a760e11b815250816003908162000062919062000348565b50600462000071828262000348565b5050506001600160a01b038116620000a457604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620000af81620000e0565b50620000da620000c76005546001600160a01b031690565b6b019d971e4fe8401e7400000062000132565b6200043c565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166200015e5760405163ec442f0560e01b8152600060048201526024016200009b565b6200016c6000838362000170565b5050565b6001600160a01b0383166200019f57806002600082825462000193919062000414565b90915550620002139050565b6001600160a01b03831660009081526020819052604090205481811015620001f45760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016200009b565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216620002315760028054829003905562000250565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200029691815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002ce57607f821691505b602082108103620002ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034357600081815260208120601f850160051c810160208610156200031e5750805b601f850160051c820191505b818110156200033f578281556001016200032a565b5050505b505050565b81516001600160401b03811115620003645762000364620002a3565b6200037c81620003758454620002b9565b84620002f5565b602080601f831160018114620003b457600084156200039b5750858301515b600019600386901b1c1916600185901b1785556200033f565b600085815260208120601f198616915b82811015620003e557888601518255948401946001909101908401620003c4565b5085821015620004045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200043657634e487b7160e01b600052601160045260246000fd5b92915050565b610e9c806200044c6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c57806395d89b411161006657806395d89b41146101f2578063a9059cbb146101fa578063dd62ed3e1461020d578063f2fde38b1461025357600080fd5b806370a082311461018c578063715018a6146101c25780638da5cb5b146101ca57600080fd5b806323b872dd116100c857806323b872dd14610142578063313ce5671461015557806342966c6814610164578063672434821461017957600080fd5b806306fdde03146100ef578063095ea7b31461010d57806318160ddd14610130575b600080fd5b6100f7610266565b6040516101049190610a34565b60405180910390f35b61012061011b366004610ac9565b6102f8565b6040519015158152602001610104565b6002545b604051908152602001610104565b610120610150366004610af3565b610312565b60405160128152602001610104565b610177610172366004610b2f565b610336565b005b610177610187366004610c55565b610343565b61013461019a366004610d15565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101776103f9565b60055460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610104565b6100f761040d565b610120610208366004610ac9565b61041c565b61013461021b366004610d37565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b610177610261366004610d15565b61042a565b60606003805461027590610d6a565b80601f01602080910402602001604051908101604052809291908181526020018280546102a190610d6a565b80156102ee5780601f106102c3576101008083540402835291602001916102ee565b820191906000526020600020905b8154815290600101906020018083116102d157829003601f168201915b5050505050905090565b600033610306818585610490565b60019150505b92915050565b60003361032085828561049d565b61032b85858561056c565b506001949350505050565b6103403382610617565b50565b61034b610677565b8051825114610386576040517fa24a13a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b82518110156103f45760008382815181106103a6576103a6610dbd565b6020026020010151905060008383815181106103c4576103c4610dbd565b602002602001015190506103df6103d83390565b838361056c565b505080806103ec90610e1b565b915050610389565b505050565b610401610677565b61040b60006106ca565b565b60606004805461027590610d6a565b60003361030681858561056c565b610432610677565b73ffffffffffffffffffffffffffffffffffffffff8116610487576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b610340816106ca565b6103f48383836001610741565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105665781811015610557576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602481018290526044810183905260640161047e565b61056684848484036000610741565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166105bc576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526000600482015260240161047e565b73ffffffffffffffffffffffffffffffffffffffff821661060c576040517fec442f050000000000000000000000000000000000000000000000000000000081526000600482015260240161047e565b6103f4838383610889565b73ffffffffffffffffffffffffffffffffffffffff8216610667576040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526000600482015260240161047e565b61067382600083610889565b5050565b60055473ffffffffffffffffffffffffffffffffffffffff16331461040b576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161047e565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8416610791576040517fe602df050000000000000000000000000000000000000000000000000000000081526000600482015260240161047e565b73ffffffffffffffffffffffffffffffffffffffff83166107e1576040517f94280d620000000000000000000000000000000000000000000000000000000081526000600482015260240161047e565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526001602090815260408083209387168352929052208290558015610566578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161087b91815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff83166108c15780600260008282546108b69190610e53565b909155506109739050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610947576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602481018290526044810183905260640161047e565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff821661099c576002805482900390556109c8565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a2791815260200190565b60405180910390a3505050565b600060208083528351808285015260005b81811015610a6157858101830151858201604001528201610a45565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ac457600080fd5b919050565b60008060408385031215610adc57600080fd5b610ae583610aa0565b946020939093013593505050565b600080600060608486031215610b0857600080fd5b610b1184610aa0565b9250610b1f60208501610aa0565b9150604084013590509250925092565b600060208284031215610b4157600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610bbe57610bbe610b48565b604052919050565b600067ffffffffffffffff821115610be057610be0610b48565b5060051b60200190565b600082601f830112610bfb57600080fd5b81356020610c10610c0b83610bc6565b610b77565b82815260059290921b84018101918181019086841115610c2f57600080fd5b8286015b84811015610c4a5780358352918301918301610c33565b509695505050505050565b60008060408385031215610c6857600080fd5b823567ffffffffffffffff80821115610c8057600080fd5b818501915085601f830112610c9457600080fd5b81356020610ca4610c0b83610bc6565b82815260059290921b84018101918181019089841115610cc357600080fd5b948201945b83861015610ce857610cd986610aa0565b82529482019490820190610cc8565b96505086013592505080821115610cfe57600080fd5b50610d0b85828601610bea565b9150509250929050565b600060208284031215610d2757600080fd5b610d3082610aa0565b9392505050565b60008060408385031215610d4a57600080fd5b610d5383610aa0565b9150610d6160208401610aa0565b90509250929050565b600181811c90821680610d7e57607f821691505b602082108103610db7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e4c57610e4c610dec565b5060010190565b8082018082111561030c5761030c610dec56fea2646970667358221220c35fe17e694ac295a2ddb0d2ff6acdc2d9cce2dc48006828d24ea723e952192264736f6c63430008140033