394 txs
395 calls
constructor
constructor(address _signer, address _projectAdmin, address _vault)
functions
active
viewfunction active() view returns (bool)
batchEnabled
viewfunction batchEnabled(bytes32) view returns (bool)
batchFee
viewfunction batchFee(bytes32) view returns (uint256)
claimed
viewfunction claimed(bytes32, address) view returns (uint256)
hasAllRoles
viewfunction hasAllRoles(address user, uint256 roles) view returns (bool)
hasAnyRole
viewfunction hasAnyRole(address user, uint256 roles) view returns (bool)
owner
viewfunction owner() view returns (address result)
ownershipHandoverExpiresAt
viewfunction ownershipHandoverExpiresAt(address pendingOwner) view returns (uint256 result)
PROJECT_ADMIN
viewfunction PROJECT_ADMIN() view returns (uint256)
rolesOf
viewfunction rolesOf(address user) view returns (uint256 roles)
signer
viewfunction signer() view returns (address)
token
viewfunction token() view returns (address)
vault
viewfunction vault() view returns (address)
cancelOwnershipHandover
payablefunction cancelOwnershipHandover() payable
claim
payablefunction claim(bytes _signature, bytes32 _batch, uint256 _amount, address _onBehalfOf) payable
completeOwnershipHandover
payablefunction completeOwnershipHandover(address pendingOwner) payable
grantRoles
payablefunction grantRoles(address user, uint256 roles) payable
renounceOwnership
payablefunction renounceOwnership() payable
renounceRoles
payablefunction renounceRoles(uint256 roles) payable
requestOwnershipHandover
payablefunction requestOwnershipHandover() payable
revokeRoles
payablefunction revokeRoles(address user, uint256 roles) payable
setBatchEnabled
nonpayablefunction setBatchEnabled(bytes32 _root, bool _enabled)
setBatchFee
nonpayablefunction setBatchFee(bytes32 _root, uint256 _fee)
setSigner
nonpayablefunction setSigner(address _signer)
setToken
nonpayablefunction setToken(address _token)
setVault
nonpayablefunction setVault(address _vault)
toggleActive
nonpayablefunction toggleActive()
transferOwnership
payablefunction transferOwnership(address newOwner) payable
withdrawFees
nonpayablefunction withdrawFees()
events
AirdropClaimed
event AirdropClaimed(bytes32 indexed batch, address indexed account, uint256 amount)
BatchEnabled
event BatchEnabled(bytes32 indexed root, bool enabled)
BatchFeeSet
event BatchFeeSet(bytes32 indexed root, uint256 fee)
OwnershipHandoverCanceled
event OwnershipHandoverCanceled(address indexed pendingOwner)
OwnershipHandoverRequested
event OwnershipHandoverRequested(address indexed pendingOwner)
OwnershipTransferred
event OwnershipTransferred(address indexed oldOwner, address indexed newOwner)
RolesUpdated
event RolesUpdated(address indexed user, uint256 indexed roles)
TokenSet
event TokenSet(address indexed token)
VaultSet
event VaultSet(address indexed vault)
errors
AlreadyClaimed
error AlreadyClaimed()
AlreadyInitialized
error AlreadyInitialized()
BatchNotEnabled
error BatchNotEnabled()
ETHTransferFailed
error ETHTransferFailed()
InvalidSignature
error InvalidSignature()
MismatchedFee
error MismatchedFee()
NewOwnerIsZeroAddress
error NewOwnerIsZeroAddress()
NoHandoverRequest
error NoHandoverRequest()
NotActive
error NotActive()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
SignerNotSet
error SignerNotSet()
Unauthorized
error Unauthorized()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60803461011157601f610e3a38819003918201601f19168301916001600160401b03831184841017610115578084926060946040528339810103126101115761004781610129565b61005f604061005860208501610129565b9301610129565b600180545f80546001600160a01b0319166001600160a01b039586161781556001600160a81b0319909116939092169290921790915533638b78c6d819819055907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3638b78c6d8600c525f5260016020600c20556001600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3604051610cfc908161013e8239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101115756fe6080806040526004361015610012575f80fd5b5f3560e01c90816302fb0c5e14610c125750806312f908ad14610891578063144fa6d71461082b578063183a4f6e146108135780631c10893f146107b35780631cd64df41461077a578063238ac93314610753578063256929621461070a57806329c68dc1146106cf5780632de948071461069d57806346a87ebb1461062f578063476343ee1461059a5780634a4ee7b114610570578063514e62fc1461053857806354d1f13d146104f45780636817031b1461048e5780636c19e7831461044c578063715018a6146104085780638da5cb5b146103dc578063b2661bb5146103b2578063cb60d95b14610383578063d2e034401461032b578063dfcae622146102e2578063f04e283e14610266578063f28a80b61461024b578063f2fde38b146101e1578063fbfa77cf146101b9578063fc0c546a146101915763fee81cf41461015b575f80fd5b3461018d57602036600319011261018d57610174610c34565b63389a75e1600c525f52602080600c2054604051908152f35b5f80fd5b3461018d575f36600319011261018d576002546040516001600160a01b039091168152602090f35b3461018d575f36600319011261018d576001546040516001600160a01b039091168152602090f35b602036600319011261018d576101f5610c34565b6101fd610c72565b8060601b1561023e5760018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355005b637448fbae5f526004601cfd5b3461018d575f36600319011261018d57602060405160018152f35b602036600319011261018d5761027a610c34565b610282610c72565b63389a75e1600c52805f526020600c20805442116102d5575f905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355005b636f5e88185f526004601cfd5b3461018d57604036600319011261018d576024356001600160a01b0381169081900361018d576004355f52600360205260405f20905f52602052602060405f2054604051908152f35b3461018d57604036600319011261018d576004357f2f31b25f7fb267ed89341dc87a5c2413e3c846dc775839fc72684d43978f2269602060243561036d610c4a565b835f52600582528060405f2055604051908152a2005b3461018d57602036600319011261018d576004355f526004602052602060ff60405f2054166040519015158152f35b3461018d57602036600319011261018d576004355f526005602052602060405f2054604051908152f35b3461018d575f36600319011261018d57638b78c6d819546040516001600160a01b039091168152602090f35b5f36600319011261018d5761041b610c72565b5f638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a355005b3461018d57602036600319011261018d57610465610c34565b61046d610c4a565b5f80546001600160a01b0319166001600160a01b0392909216919091179055005b3461018d57602036600319011261018d576104a7610c34565b6104af610c4a565b600180546001600160a01b0319166001600160a01b039290921691821790557fe7ae49f883c825b05681b3e00e8be6fdea9ed2a8a45e4c6ecb9390fc44cce6155f80a2005b5f36600319011261018d5763389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2005b3461018d57604036600319011261018d57610551610c34565b638b78c6d8600c525f52602060243581600c2054161515604051908152f35b604036600319011261018d57610598610587610c34565b61058f610c72565b60243590610c81565b005b3461018d575f36600319011261018d576105b2610c4a565b5f80808047335af13d1561062a5767ffffffffffffffff3d8181116106165760405191601f8201601f19908116603f01168301908111838210176106165760405281525f60203d92013e5b1561060457005b60405163b12d13eb60e01b8152600490fd5b634e487b7160e01b5f52604160045260245ffd5b6105fd565b3461018d57604036600319011261018d5760043560243580151580910361018d5760207f95c91c24aaea7c10229e9b3fbb26e25e9cc77a7f7ebe99dbbf5f5d2eab38b65d9161067c610c4a565b835f526004825260405f2060ff1981541660ff8316179055604051908152a2005b3461018d57602036600319011261018d576106b6610c34565b638b78c6d8600c525f52602080600c2054604051908152f35b3461018d575f36600319011261018d576106e7610c4a565b6001805460ff60a01b19811660a091821c60ff161590911b60ff60a01b16179055005b5f36600319011261018d5763389a75e1600c52335f526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a2005b3461018d575f36600319011261018d575f546040516001600160a01b039091168152602090f35b3461018d57604036600319011261018d576020610795610c34565b60243590638b78c6d8600c525f528082600c20541614604051908152f35b604036600319011261018d576107c7610c34565b6107cf610c72565b638b78c6d8600c525f526020600c20602435815417809155600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3005b602036600319011261018d5761059860043533610c81565b3461018d57602036600319011261018d57610844610c34565b61084c610c4a565b600280546001600160a01b0319166001600160a01b039290921691821790557fa07c91c183e42229e705a9795a1c06d76528b673788b849597364528c96eefb75f80a2005b608036600319011261018d5767ffffffffffffffff6004351161018d5736602360043501121561018d5767ffffffffffffffff600435600401351161018d57602436816004356004013560043501011161018d576064356001600160a01b0381169180359183810361018d5760ff60015460a01c1615610c0057825f52600460205260ff60405f20541615610bee57825f52600560205260405f20543403610bdc57825f52600360205260405f20845f5260205260405f2054610bca575f546001600160a01b03169060048035013515610b67578115610bb857604051906bffffffffffffffffffffffff199060601b16602082015260443560348201528360548201523060601b6074820152466088820152608881528060c081011067ffffffffffffffff60c083011117610ba55760c08101604052805160208201206020527b19457468657265756d205369676e6564204d6573736167653a0a33325f52603c6004206004356004013580604014610b7957604114610a20575050505050505b638baa579f5f526004601cfd5b606460043501355f1a6020526040846004350181375b5f5260c06020600160805f825afa51915f606052016040523d610a5d575050505050610a13565b6001600160a01b031603610b6757815f52600360205260405f20835f526020524360405f205560018060a01b036002541660018060a01b036001541660405160208101916323b872dd60e01b83528482015285604482015260443560648201526064815260a0810181811067ffffffffffffffff821117610b5457604052516020915f919082855af115610b49575f513d610b405750803b155b610b2b5750507ffc17c9eeb95f1fc3b7ab9c994f98087e328edfe1cf7f11bb36f658b85e000f1460206040516044358152a3005b60405190635274afe760e01b82526004820152fd5b60011415610af7565b6040513d5f823e3d90fd5b84634e487b7160e01b5f5260416004525ffd5b604051638baa579f60e01b8152600490fd5b50600435604481013560ff81901c601b01602052908501356040526001600160ff1b0316606052610a36565b82634e487b7160e01b5f5260416004525ffd5b60405163c322e32760e01b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b60405163124dcb4b60e21b8152600490fd5b60405163134b831160e31b8152600490fd5b604051634065aaf160e11b8152600490fd5b3461018d575f36600319011261018d5760209060ff60015460a01c1615158152f35b600435906001600160a01b038216820361018d57565b638b78c6d8600c52335f5260016020600c20541615610c6557565b6382b429005f526004601cfd5b638b78c6d819543303610c6557565b638b78c6d8600c525f526020600c2090815490811618809155600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a356fea2646970667358221220814edc5288837bb278515f1f0da05d04b3c8e15fda1cb6089902d0748971809364736f6c6343000819003300000000000000000000000074b9b4ee0caaeea82c6b35385dc9f7c7d57fd9f300000000000000000000000074b9b4ee0caaeea82c6b35385dc9f7c7d57fd9f300000000000000000000000074b9b4ee0caaeea82c6b35385dc9f7c7d57fd9f3