2.3k txs
2.2k calls
constructor
constructor(address token_, bytes32 merkleRoot_, uint256 endTime_)
functions
END_TIME
viewfunction END_TIME() view returns (uint256)
isClaimed
viewfunction isClaimed(uint256 index) view returns (bool)
MERKLE_ROOT
viewfunction MERKLE_ROOT() view returns (bytes32)
owner
viewfunction owner() view returns (address)
TOKEN
viewfunction TOKEN() view returns (address)
claim
nonpayablefunction claim(uint256 index, address account, uint256 amount, bytes32[] merkleProof)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw()
events
Claimed
event Claimed(uint256 indexed index, address indexed account, uint256 indexed amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
AlreadyClaimed
error AlreadyClaimed()
ClaimWindowFinished
error ClaimWindowFinished()
EndTimeInPast
error EndTimeInPast()
InvalidProof
error InvalidProof()
NoWithdrawDuringClaim
error NoWithdrawDuringClaim()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UnauthorizedClaim
error UnauthorizedClaim(address sender)
creation bytecode
0x60e060405234801561001057600080fd5b50604051610cef380380610cef83398101604081905261002f916100e8565b338061005557604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61005e81610098565b5042811161007f576040516372e54d4d60e01b815260040160405180910390fd5b60c0526001600160a01b0390911660805260a05261012b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806000606084860312156100fd57600080fd5b83516001600160a01b038116811461011457600080fd5b602085015160409095015190969495509392505050565b60805160a05160c051610b6c6101836000396000818160c2015281816101d001526104690152600081816101040152610367015260008181610133015281816103eb0152818161050a015261058c0152610b6c6000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c8063715018a6116100765780638da5cb5b1161005b5780638da5cb5b1461017a5780639e34070f14610198578063f2fde38b146101bb57600080fd5b8063715018a61461012657806382bfefc81461012e57600080fd5b80632e7ba6ef146100a857806337ba682d146100bd5780633ccfd60b146100f757806351e75e8b146100ff575b600080fd5b6100bb6100b636600461096d565b6101ce565b005b6100e47f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020015b60405180910390f35b6100bb61045f565b6100e47f000000000000000000000000000000000000000000000000000000000000000081565b6100bb6105b5565b6101557f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ee565b60005473ffffffffffffffffffffffffffffffffffffffff16610155565b6101ab6101a6366004610a04565b6105c7565b60405190151581526020016100ee565b6100bb6101c9366004610a1d565b610608565b7f0000000000000000000000000000000000000000000000000000000000000000421115610228576040517fd365f61100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84163314610294576040517f343cafcc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024015b60405180910390fd5b61029d856105c7565b156102d4576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051602081018790527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606087901b1691810191909152605481018490526000906074016040516020818303038152906040528051906020012090506103928383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152507f0000000000000000000000000000000000000000000000000000000000000000925085915061066c9050565b6103c8576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103d186610682565b61041273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001686866106c1565b838573ffffffffffffffffffffffffffffffffffffffff16877f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed02660405160405180910390a4505050505050565b610467610753565b7f00000000000000000000000000000000000000000000000000000000000000004210156104c1576040517fee56a2b000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526105b390339073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610551573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105759190610a38565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691906106c1565b565b6105bd610753565b6105b360006107a6565b6000806105d661010084610a80565b905060006105e661010085610a94565b60009283526001602081905260409093205492901b9182169091149392505050565b610610610753565b73ffffffffffffffffffffffffffffffffffffffff8116610660576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526000600482015260240161028b565b610669816107a6565b50565b600082610679858461081b565b14949350505050565b600061069061010083610a80565b905060006106a061010084610a94565b600092835260016020819052604090932080549390911b9092179091555050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261074e908490610868565b505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105b3576040517f118cdaa700000000000000000000000000000000000000000000000000000000815233600482015260240161028b565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081815b84518110156108605761084c8286838151811061083f5761083f610aa8565b6020026020010151610912565b91508061085881610ad7565b915050610820565b509392505050565b600080602060008451602086016000885af18061088b576040513d6000823e3d81fd5b50506000513d915081156108a35780600114156108bd565b73ffffffffffffffffffffffffffffffffffffffff84163b155b1561090c576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161028b565b50505050565b600081831061092e57600082815260208490526040902061093d565b60008381526020839052604090205b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461096857600080fd5b919050565b60008060008060006080868803121561098557600080fd5b8535945061099560208701610944565b935060408601359250606086013567ffffffffffffffff808211156109b957600080fd5b818801915088601f8301126109cd57600080fd5b8135818111156109dc57600080fd5b8960208260051b85010111156109f157600080fd5b9699959850939650602001949392505050565b600060208284031215610a1657600080fd5b5035919050565b600060208284031215610a2f57600080fd5b61093d82610944565b600060208284031215610a4a57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082610a8f57610a8f610a51565b500490565b600082610aa357610aa3610a51565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610b2f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220cbd60817a3687ff8d0dcbdd181e735f6377af2dc0c29c80bd91fd6e2b5bfd21364736f6c634300081400330000000000000000000000004ed4e862860bed51a9570b96d89af5e1b0efefedc3d0036bd7a281a450de398139fc98b3406c78a91efb75ee171f4805c9f6dbfc0000000000000000000000000000000000000000000000000000000068db1d80