58.9k txs
58.9k calls
constructor
constructor(address _signer, address _projectAdmin, address _vault, address _token, address _lock)
functions
active
viewfunction active() view returns (bool)
claimed
viewfunction claimed(bytes32, address) view returns (uint256)
fee
viewfunction fee() 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)
merkleConfiguration
viewfunction merkleConfiguration(bytes32) view returns (bytes32)
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) view returns (uint256 startTime, uint256 cliffTime, uint256 endTime, uint256 startUnlockPercentage, uint256 cliffUnlockPercentage, uint256 pieceDuration, uint256 amountMultiplier, bool forceVested)
cancelOwnershipHandover
payablefunction cancelOwnershipHandover() payable
claim
payablefunction claim(bytes32[] _proof, bytes _signature, uint256 _amount, address _onBehalfOf, bytes _extra) payable
claim
payablefunction claim(bytes32[] _proof, bytes _signature, 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
setClaimRoot
nonpayablefunction setClaimRoot(bytes32 _claimRoot, bytes32 _configurator)
setFee
nonpayablefunction setFee(uint256 _fee)
setSigner
nonpayablefunction setSigner(address _signer)
setVault
nonpayablefunction setVault(address _vault)
setVestingConfig
nonpayablefunction setVestingConfig(bytes32 _configurator, tuple _vestingConfig)
toggleActive
nonpayablefunction toggleActive()
transferOwnership
payablefunction transferOwnership(address newOwner) payable
withdrawFee
nonpayablefunction withdrawFee(address _recipient)
events
AirdropClaimed
event AirdropClaimed(address indexed account, bytes32 indexed root, uint256 amount)
AirdropOptClaimed
event AirdropOptClaimed(bytes32 indexed batchId, address indexed account, uint256 amount, bool isVested)
FeeSet
event FeeSet(uint256 fee)
MerkleConfigurationUpdate
event MerkleConfigurationUpdate(bytes32 indexed root, bytes32 indexed configurator)
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 configurator, (uint256 startTime, uint256 cliffTime, uint256 endTime, uint256 startUnlockPercentage, uint256 cliffUnlockPercentage, uint256 pieceDuration, uint256 amountMultiplier, bool forceVested) vestingConfig)
Withdraw
event Withdraw(address indexed to, uint256 amount)
errors
AlreadyClaimed
error AlreadyClaimed()
AlreadyInitialized
error AlreadyInitialized()
IncorrectFee
error IncorrectFee()
InvalidMerkleProof
error InvalidMerkleProof(bytes32 root)
InvalidMerkleRoot
error InvalidMerkleRoot()
InvalidSignature
error InvalidSignature()
NewOwnerIsZeroAddress
error NewOwnerIsZeroAddress()
NoHandoverRequest
error NoHandoverRequest()
NotActive
error NotActive()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
Unauthorized
error Unauthorized()
WithdrawFailed
error WithdrawFailed()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60c03461016c57601f6117c738819003918201601f19168301916001600160401b038311848410176101705780849260a09460405283398101031261016c5761004781610184565b9061005460208201610184565b61006060408301610184565b610078608061007160608601610184565b9401610184565b600180545f80546001600160a01b0319166001600160a01b039889161781556001600160a81b0319909116969093169590951790945533638b78c6d819819055907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3638b78c6d8600c525f5260016020600c20556001600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a360805260a05260405161162e908161019982396080518181816101c901528181610860015281816108d00152818161094e0152610b87015260a051818181610237015281816109110152610a260152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361016c5756fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816302fb0c5e146113f857508063183a4f6e146113e05780631ac3ddeb146113245780631c10893f146112c45780631cd64df41461128b578063238ac93314611264578063256929621461121b57806329c68dc1146111e05780632de94807146111ae5780634a4ee7b114611184578063514e62fc1461114c57806354d1f13d14611108578063584ebf7614610fb35780635fc2f03614610f5e5780636057292b14610ee15780636817031b14610e7957806369fe0e2d14610e2b5780636c19e78314610ded578063715018a614610da75780638b681820146105675780638da5cb5b1461053a578063ddca3f431461051c578063dfcae622146104d1578063e7e79a1e146104a7578063f04e283e14610429578063f28a80b61461040d578063f2fde38b146103a1578063f354542214610266578063f83d08ba14610221578063fbfa77cf146101f8578063fc0c546a146101b35763fee81cf41461017e575f80fd5b346101b05760203660031901126101b05761019761141a565b9063389a75e1600c5252602080600c2054604051908152f35b80fd5b50346101b057806003193601126101b0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346101b057806003193601126101b0576001546040516001600160a01b039091168152602090f35b50346101b057806003193601126101b0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346101b0576101203660031901126101b0576004356101008060231936011261039d5760405190610297826114a3565b6024358252602082019160443583526040810160643581526060820160843581526080830160a435815260a084019060c435825260c085019260e435845261010435948515158603610399577f670d03664255d02af6cb97ca01e9f34543d3e3d6bd4265ad4513d6042ff7a3db9860e088019687526103146114fc565b8a8c526005602052600760408d20985198898155825160018201558351600282015584516003820155855160048201558651600582015587516006820155018751151560ff801983541691161790556040519788525160208801525160408701525160608601525160808501525160a08401525160c083015251151560e0820152a280f35b5f80fd5b8280fd5b5060203660031901126101b0576103b661141a565b6103be6114e0565b8060601b156104005760018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35580f35b637448fbae82526004601cfd5b50346101b057806003193601126101b057602060405160018152f35b5060203660031901126101b05761043e61141a565b6104466114e0565b63389a75e1600c528082526020600c208054421161049a5782905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35580f35b636f5e881883526004601cfd5b50346101b05760203660031901126101b05760406020916004358152600383522054604051908152f35b50346101b05760403660031901126101b0576024356001600160a01b0381169190829003610399576040906004358152600260205220905f52602052602060405f2054604051908152f35b50346101b057806003193601126101b0576020600454604051908152f35b50346101b057806003193601126101b057638b78c6d819546040516001600160a01b039091168152602090f35b5060a03660031901126101b0576004356001600160401b038111610da357610593903690600401611446565b6024356001600160401b038111610d9f576105b2903690600401611476565b90916105bc611430565b926084356001600160401b038111610b42576105dc903690600401611476565b91909260ff60015460a01c1615610d8d576040516001600160601b03198760601b1660208201526044356034820152603481528060608101106001600160401b03606083011117610b595760608101604052602081519101206001600160401b038211610d79578160051b976040519261065960208b01856114bf565b83526020830180993681840111610d755782915b8184018310610d6557505050509681519182610d2d575b50505085875260036020526040872054938415610d1457868852600260209081526040808a206001600160a01b0389165f9081529252902054156106d457604051630c8d9eab60e31b8152600490fd5b868852600260209081526040808a206001600160a01b038981165f90815291909352204390558854169182610bd4575b50505060018060a01b0360015416906004543403610bc2578260209181010312610b3e57604051918260208101106001600160401b03602085011117610b59576020830160405280351515813503610399573582528286526005602052604086209060ff600760405193610777856114a3565b8054855260018101546020860152600281015460408601526003810154606086015260048101546080860152600581015460a0860152600681015460c086015201541615158060e0840152610bb9575b825115610b7a5760c082015190670de0b6b3a7640000826044358160443502041460443515170215610b6d57825160208401519260408501519460608101519060a060808201519101519160405197886101808101106001600160401b036101808b011117610b59576108f597670de0b6b3a7640000966101808b016040528d60018060a01b03168b528860208c015260018060a01b037f00000000000000000000000000000000000000000000000000000000000000001660408c01528787604435020460608c015260808b015260a08a015260c089015260e08801526101008701526101208601528961014086015289610160860152604435020490309060018060a01b037f00000000000000000000000000000000000000000000000000000000000000001661155c565b606081015160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482019290925290602090829060449082908b907f0000000000000000000000000000000000000000000000000000000000000000165af18015610b4e57610b0e575b5060408051632f45cd6f60e01b815282516001600160a01b039081166004830152602080850151821660248401529284015181166044830152606084015160648301526080840151608483015260a084015160a483015260c084015160c483015260e084015160e48301526101008401516101048301526101208401516101248301526101408401518116610144830152610160909301516101648201529182906101849082908a907f0000000000000000000000000000000000000000000000000000000000000000165af18015610b0357610ad4575b505b5160408051604435815291151560208301526001600160a01b03841692917f4dae5e6d6d8c43ef01a2e07eb4462495583fdf589b1191bb4b990cd4f84dbaa19190a360405160443581526001600160a01b03909116907f286b28c8571c73086fa8d8852b677537690a70b51e1a76820fe50db64e12777990602090a380f35b602090813d8311610afc575b610aea81836114bf565b81010312610af8575f610a53565b8480fd5b503d610ae0565b6040513d88823e3d90fd5b6020813d602011610b46575b81610b27602093836114bf565b81010312610b42575180151503610b3e575f61097b565b8580fd5b8680fd5b3d9150610b1a565b6040513d89823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b63ad251c2788526004601cfd5b610bb491506044359085907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661155c565b610a55565b600183526107c7565b60405163cd3cb2bb60e01b8152600490fd5b8115610cda576040516001600160601b03198860601b16602082015260443560348201528860548201523060601b6074820152466088820152608881528060c08101106001600160401b0360c083011117610b595760c08101604052602081519101206020527b19457468657265756d205369676e6564204d6573736167653a0a33328952603c600420906040519280604014610cec57604114610c8957505050505050505050638baa579f905b526004601cfd5b806040809201358b1a60205281375b88526020600160808a825afa5190886060526040523d610cc45750505050505050638baa579f90610c82565b6001600160a01b031603610cda575f8080610704565b604051638baa579f60e01b8152600490fd5b5060208181013560ff81901c601b0190915290356040526001600160ff1b0316606052610c98565b604051630ee30f2b60e21b815260048101889052602490fd5b90975b8851811160051b90815260208951911852602060408a2098019760208360051b8301018910610d3057975050505f8080610684565b823581526020928301920161066d565b8b80fd5b634e487b7160e01b89526041600452602489fd5b604051634065aaf160e11b8152600490fd5b8380fd5b5080fd5b50806003193601126101b057610dbb6114e0565b5f638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b50346101b05760203660031901126101b057610e0761141a565b610e0f6114fc565b60018060a01b03166001600160601b0360a01b5f5416175f5580f35b50346101b05760203660031901126101b0577f20461e09b8e557b77e107939f9ce6544698123aad0fc964ac5cc59b7df2e608f6020600435610e6b6114fc565b80600455604051908152a180f35b50346101b05760203660031901126101b057610e9361141a565b610e9b6114fc565b600180546001600160a01b0319166001600160a01b039290921691821790557fe7ae49f883c825b05681b3e00e8be6fdea9ed2a8a45e4c6ecb9390fc44cce6158280a280f35b50346101b05760203660031901126101b05760406101009160043581526005602052208054906001810154906002810154600382015460048301549060058401549260ff600760068701549601541695604051978852602088015260408701526060860152608085015260a084015260c0830152151560e0820152f35b50346101b05760403660031901126101b057602435600435610f7e6114fc565b80835260036020528160408420557f5f8f4c6efebc2c9c76d8cadfd5f9bd9cf6611483e79417c706c86997840e95738380a380f35b506080366003190112610399576001600160401b0360043581811161039957610fe0903690600401611446565b60249291923582811161039957610ffb903690600401611476565b91611004611430565b9260ff60015460a01c1615610d8d5760405193602085019285841087851117610b5957836040525f8652303b156103995760405163045b40c160e51b815260a0600482015260a48101829052976001600160fb1b038211610399575f968996858896601f9594869560051b809160c48b013788019260c08985030160248a01528160c485015260e48401378960e48284010152831994859101160193604435604487015260018060a01b0316606486015260e0858503016084860152518060e485015280610104968786015e8786828601015201160103018183305af180156110fd576110ef578280f35b9080925011610b5957604052005b6040513d5f823e3d90fd5b5f3660031901126103995763389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2005b346103995760403660031901126103995761116561141a565b638b78c6d8600c525f52602060243581600c2054161515604051908152f35b6040366003190112610399576111ac61119b61141a565b6111a36114e0565b60243590611517565b005b34610399576020366003190112610399576111c761141a565b638b78c6d8600c525f52602080600c2054604051908152f35b34610399575f366003190112610399576111f86114fc565b6001805460ff60a01b19811660a091821c60ff161590911b60ff60a01b16179055005b5f3660031901126103995763389a75e1600c52335f526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a2005b34610399575f366003190112610399575f546040516001600160a01b039091168152602090f35b346103995760403660031901126103995760206112a661141a565b60243590638b78c6d8600c525f528082600c20541614604051908152f35b6040366003190112610399576112d861141a565b6112e06114e0565b638b78c6d8600c525f526020600c20602435815417809155600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3005b346103995760203660031901126103995761133d61141a565b6113456114e0565b47908161134e57005b6001600160a01b0316905f80808084865af13d156113db573d6001600160401b038111610b59576040519061138d601f8201601f1916602001836114bf565b81525f60203d92013e5b156113c95760207f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436491604051908152a2005b604051631d42c86760e21b8152600490fd5b611397565b6020366003190112610399576111ac60043533611517565b34610399575f3660031901126103995760209060ff60015460a01c1615158152f35b600435906001600160a01b038216820361039957565b606435906001600160a01b038216820361039957565b9181601f84011215610399578235916001600160401b038311610399576020808501948460051b01011161039957565b9181601f84011215610399578235916001600160401b038311610399576020838186019501011161039957565b61010081019081106001600160401b03821117610b5957604052565b90601f801991011681019081106001600160401b03821117610b5957604052565b638b78c6d8195433036114ef57565b6382b429005f526004601cfd5b638b78c6d8600c52335f5260016020600c205416156114ef57565b638b78c6d8600c525f526020600c2090815490811618809155600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3565b6040516323b872dd60e01b602082019081526001600160a01b039384166024830152938316604482015260648082019590955293845292909160a08201906001600160401b03821183831017610b59576020925f92604052519082865af1156110fd575f513d6115ef57508082163b155b6115d5575050565b604051635274afe760e01b81529116600482015260249150fd5b600114156115cd56fea26469706673582212202afc8448b01dfeea59b39533b619da537d6ce993e765480b119c6b0105e03e0764736f6c6343000819003300000000000000000000000074b9b4ee0caaeea82c6b35385dc9f7c7d57fd9f300000000000000000000000074b9b4ee0caaeea82c6b35385dc9f7c7d57fd9f300000000000000000000000074b9b4ee0caaeea82c6b35385dc9f7c7d57fd9f300000000000000000000000061fac5f038515572d6f42d4bcb6b581642753d50000000000000000000000000212102fc6d0ed9ee784b25404db02b22b1e6dc42