40 txs
42 calls
constructor
constructor(address _signer, address _token, address _projectAdmin, address _vault, address _lock)
functions
active
viewfunction active() view returns (bool)
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)
lock
viewfunction lock() view returns (address)
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)
vestingConfigs
viewfunction vestingConfigs(bytes32 configId) view returns (uint256 startTime, uint256 cliffTime, uint256 endTime, uint256 startUnlockPercentage, uint256 cliffUnlockPercentage, uint256 pieceDuration, uint256 fee)
cancelOwnershipHandover
payablefunction cancelOwnershipHandover() payable
claim
payablefunction claim(bytes _signature, bytes32 _batchId, uint256 _amount, address _onBehalfOf, bytes _extra) 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
setSigner
nonpayablefunction setSigner(address _signer)
setVault
nonpayablefunction setVault(address _vault)
setVestingConfig
nonpayablefunction setVestingConfig(bytes32 _configId, tuple _vestingConfig)
toggleActive
nonpayablefunction toggleActive()
transferOwnership
payablefunction transferOwnership(address newOwner) payable
withdrawFees
nonpayablefunction withdrawFees()
events
AirdropClaimed
event AirdropClaimed(bytes32 indexed batch, address indexed account, uint256 amount)
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)
VaultSet
event VaultSet(address indexed vault)
VestingConfigUpdate
event VestingConfigUpdate(bytes32 indexed configId, (uint256 startTime, uint256 cliffTime, uint256 endTime, uint256 startUnlockPercentage, uint256 cliffUnlockPercentage, uint256 pieceDuration, uint256 fee) vestingConfig)
errors
AlreadyClaimed
error AlreadyClaimed()
AlreadyInitialized
error AlreadyInitialized()
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
0x60c03461017457601f6111e338819003918201601f19168301916001600160401b038311848410176101785780849260a094604052833981010312610174576100478161018c565b6100536020830161018c565b916100606040820161018c565b9061007960806100726060840161018c565b920161018c565b600180545f80546001600160a01b0319166001600160a01b039788161781556001600160a81b0319909116959093169490941790935533638b78c6d819819055907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3638b78c6d8600c525f5260016020600c20556001600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a360805260a05260405161104290816101a182396080518181816101fc01528181610776015261088b015260a05181818161019001528181610642015281816106f20152818161072b015281816107b301526109760152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101745756fe6080806040526004361015610012575f80fd5b5f3560e01c90816302fb0c5e14610f0857508063183a4f6e14610ef05780631c10893f14610e905780631cd64df414610e57578063238ac93314610e305780632569296214610de757806329c68dc114610dac5780632de9480714610d7a578063476343ee14610d045780634a4ee7b114610cda578063514e62fc14610ca257806354d1f13d14610c5e5780636057292b14610bf35780636817031b14610b8d5780636c19e78314610b4b5780636fa4fb4814610a8b578063715018a614610a475780637e4b1bfb146103a15780638da5cb5b14610375578063dfcae6221461032c578063f04e283e146102b0578063f28a80b614610295578063f2fde38b1461022b578063f83d08ba146101e7578063fbfa77cf146101bf578063fc0c546a1461017b5763fee81cf414610145575f80fd5b346101775760203660031901126101775761015e610f2a565b63389a75e1600c525f52602080600c2054604051908152f35b5f80fd5b34610177575f366003190112610177576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610177575f366003190112610177576001546040516001600160a01b039091168152602090f35b34610177575f366003190112610177576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60203660031901126101775761023f610f2a565b610247610f90565b8060601b156102885760018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355005b637448fbae5f526004601cfd5b34610177575f36600319011261017757602060405160018152f35b6020366003190112610177576102c4610f2a565b6102cc610f90565b63389a75e1600c52805f526020600c208054421161031f575f905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355005b636f5e88185f526004601cfd5b34610177576040366003190112610177576024356001600160a01b03811690819003610177576004355f52600260205260405f20905f52602052602060405f2054604051908152f35b34610177575f36600319011261017757638b78c6d819546040516001600160a01b039091168152602090f35b60a03660031901126101775760043567ffffffffffffffff8111610177576103cd903690600401610f40565b606435916001600160a01b03831683036101775760843567ffffffffffffffff811161017757610401903690600401610f40565b505060ff60015460a01c1615610a35576024355f52600260205260405f2060018060a01b0384165f5260205260405f2054610a23575f546001600160a01b03169180156109d7578215610a1157604051916bffffffffffffffffffffffff198560601b166020840152604435603484015260243560548401523060601b6074840152466088840152608883528260c081011067ffffffffffffffff60c0850111176109b15760c08301604052825160208401206020527b19457468657265756d205369676e6564204d6573736167653a0a33325f52603c60042091806040146109e9576041146104fe5750505050505b638baa579f5f526004601cfd5b806040809201355f1a60205281375b5f5260c06020600160805f825afa51915f606052016040523d610532575050506104f1565b6001600160a01b0316036109d7576024355f52600260205260405f2060018060a01b0382165f526020524360405f205560018060a01b03600154166024355f52600360205260405f20906040519160e083019083821067ffffffffffffffff8311176109b1576006916040528054845260018101546020850152600281015460408501526003810154606085015260048101546080850152600581015460a085015201548060c084015234036109c557815191602081015190604081015160608201519060a0608084015193015193604051968761018081011067ffffffffffffffff6101808a0111176109b157610180880160405260018060a01b038916885286602089015260018060a01b037f00000000000000000000000000000000000000000000000000000000000000001660408901526044356060890152608088015260a087015260c086015260e08501526101008401526101208301525f6101408301525f610160830152604051906323b872dd60e01b602083015260248201523060448201526044356064820152606481528060a081011067ffffffffffffffff60a0830111176109b15760a0810160405280516020915f91908301827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af115610924575f513d6109a857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b155b61096757606081015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482019290925290602090829060449082905f907f0000000000000000000000000000000000000000000000000000000000000000165af180156109245761092f575b5060408051632f45cd6f60e01b815282516001600160a01b039081166004830152602080850151821660248401529284015181166044830152606084015160648301526080840151608483015260a084015160a483015260c084015160c483015260e084015160e48301526101008401516101048301526101208401516101248301526101408401518116610144830152610160909301516101648201529182906101849082905f907f0000000000000000000000000000000000000000000000000000000000000000165af18015610924576108f9575b5060405160443581526001600160a01b0390911690602435907ffc17c9eeb95f1fc3b7ab9c994f98087e328edfe1cf7f11bb36f658b85e000f1490602090a3005b602090813d831161091d575b61090f8183610f6e565b8101031261017757816108b8565b503d610905565b6040513d5f823e3d90fd5b6020813d60201161095f575b8161094860209383610f6e565b8101031261017757518015150361017757826107e0565b3d915061093b565b604051635274afe760e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004820152602490fd5b60011415610756565b634e487b7160e01b5f52604160045260245ffd5b60405163124dcb4b60e21b8152600490fd5b604051638baa579f60e01b8152600490fd5b5060208181013560ff81901c601b0190915290356040526001600160ff1b031660605261050d565b60405163c322e32760e01b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b604051634065aaf160e11b8152600490fd5b5f36600319011261017757610a5a610f90565b5f638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a355005b34610177576101003660031901126101775760043560e036602319011261017757610ab4610fac565b805f5260036020527fa62ce23d1f9427f64dc1c78d8767186097614db4c462b2c0ffb40aa4b45c21c060e060405f206006602435918281556044358060018301556064358060028401556084359081600385015560a4359283600486015560c4359485600582015560e4359687910155604051968752602087015260408601526060850152608084015260a083015260c0820152a2005b3461017757602036600319011261017757610b64610f2a565b610b6c610fac565b5f80546001600160a01b0319166001600160a01b0392909216919091179055005b3461017757602036600319011261017757610ba6610f2a565b610bae610fac565b600180546001600160a01b0319166001600160a01b039290921691821790557fe7ae49f883c825b05681b3e00e8be6fdea9ed2a8a45e4c6ecb9390fc44cce6155f80a2005b34610177576020366003190112610177576004355f52600360205260e060405f20805490600181015490600281015460038201546004830154916006600585015494015494604051968752602087015260408601526060850152608084015260a083015260c0820152f35b5f3660031901126101775763389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2005b3461017757604036600319011261017757610cbb610f2a565b638b78c6d8600c525f52602060243581600c2054161515604051908152f35b604036600319011261017757610d02610cf1610f2a565b610cf9610f90565b60243590610fc7565b005b34610177575f36600319011261017757610d1c610fac565b5f80808047335af13d15610d75573d67ffffffffffffffff81116109b15760405190610d52601f8201601f191660200183610f6e565b81525f60203d92013e5b15610d6357005b60405163b12d13eb60e01b8152600490fd5b610d5c565b3461017757602036600319011261017757610d93610f2a565b638b78c6d8600c525f52602080600c2054604051908152f35b34610177575f36600319011261017757610dc4610fac565b6001805460ff60a01b19811660a091821c60ff161590911b60ff60a01b16179055005b5f3660031901126101775763389a75e1600c52335f526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a2005b34610177575f366003190112610177575f546040516001600160a01b039091168152602090f35b34610177576040366003190112610177576020610e72610f2a565b60243590638b78c6d8600c525f528082600c20541614604051908152f35b604036600319011261017757610ea4610f2a565b610eac610f90565b638b78c6d8600c525f526020600c20602435815417809155600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3005b602036600319011261017757610d0260043533610fc7565b34610177575f3660031901126101775760209060ff60015460a01c1615158152f35b600435906001600160a01b038216820361017757565b9181601f840112156101775782359167ffffffffffffffff8311610177576020838186019501011161017757565b90601f8019910116810190811067ffffffffffffffff8211176109b157604052565b638b78c6d819543303610f9f57565b6382b429005f526004601cfd5b638b78c6d8600c52335f5260016020600c20541615610f9f57565b638b78c6d8600c525f526020600c2090815490811618809155600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a356fea26469706673582212205c85a4e007dca640655fc6b4234f719e448958e381e22f9fa6a2618ca8c80db764736f6c6343000819003300000000000000000000000074b9b4ee0caaeea82c6b35385dc9f7c7d57fd9f300000000000000000000000061fac5f038515572d6f42d4bcb6b581642753d5000000000000000000000000074b9b4ee0caaeea82c6b35385dc9f7c7d57fd9f300000000000000000000000074b9b4ee0caaeea82c6b35385dc9f7c7d57fd9f3000000000000000000000000212102fc6d0ed9ee784b25404db02b22b1e6dc42