0 txs
35 calls
constructor
constructor()
functions
FEE_DENOMINATOR
viewfunction FEE_DENOMINATOR() view returns (uint256)
feeInBPS
viewfunction feeInBPS() view returns (uint256)
getClaimableAmount
viewfunction getClaimableAmount(address user, uint256 amount) view returns (uint256)
kernel
viewfunction kernel() view returns (address)
kernelDepositPool
viewfunction kernelDepositPool() view returns (address)
MAX_FEE_IN_BPS
viewfunction MAX_FEE_IN_BPS() view returns (uint256)
merkleRoot
viewfunction merkleRoot() view returns (bytes32)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
protocolTreasury
viewfunction protocolTreasury() view returns (address)
userClaims
viewfunction userClaims(address user) view returns (uint256 lastClaimTimestamp, uint256 amountClaimed)
VESTING_DURATION
viewfunction VESTING_DURATION() view returns (uint256)
vestingStartTimestamp
viewfunction vestingStartTimestamp() view returns (uint256)
claim
nonpayablefunction claim(uint256 amount, bytes32[] merkleProof)
claimAndStake
nonpayablefunction claimAndStake(uint256 amount, bytes32[] merkleProof)
initialize
nonpayablefunction initialize(address _kernel, address _kernelDepositPool, address _protocolTreasury, uint256 _feeInBPS, uint256 _vestingStartTimestamp, bytes32 _merkleRoot)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
setFeeInBPS
nonpayablefunction setFeeInBPS(uint256 _feeInBPS)
setKernelDepositPool
nonpayablefunction setKernelDepositPool(address _kernelDepositPool)
setProtocolTreasury
nonpayablefunction setProtocolTreasury(address _protocolTreasury)
setVestingStartTimestamp
nonpayablefunction setVestingStartTimestamp(uint256 _vestingStartTimestamp)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdrawTokens
nonpayablefunction withdrawTokens(address _token, uint256 _amount, address _recipient)
events
Claimed
event Claimed(address account, uint256 amount)
ClaimedAndStaked
event ClaimedAndStaked(address account, uint256 amount)
FeeInBPSUpdated
event FeeInBPSUpdated(uint256 feeInBPS)
Initialized
event Initialized(uint8 version)
KernelDepositPoolUpdated
event KernelDepositPoolUpdated(address kernelDepositPool)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
ProtocolTreasuryUpdated
event ProtocolTreasuryUpdated(address protocolTreasury)
TokensWithdrawn
event TokensWithdrawn(address token, uint256 amount, address recipient)
Unpaused
event Unpaused(address account)
VestingStartTimestampSet
event VestingStartTimestampSet(uint256 vestingStartTimestamp)
errors
InvalidFeeInBPS
error InvalidFeeInBPS()
InvalidMerkleProof
error InvalidMerkleProof()
NoTokensToClaim
error NoTokensToClaim()
ZeroAddressNotAllowed
error ZeroAddressNotAllowed()
ZeroValueProvided
error ZeroValueProvided()
creation bytecode
0x6080604052348015600e575f5ffd5b5060156019565b60d3565b5f54610100900460ff161560835760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff9081161460d1575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611cb9806100e05f395ff3fe608060405234801561000f575f5ffd5b506004361061019a575f3560e01c80638456cb59116100e8578063cbf4f9de11610093578063d73792a91161006e578063d73792a914610309578063ecccb71d14610312578063f0a3563c14610325578063f2fde38b14610360575f5ffd5b8063cbf4f9de146102e4578063d4aae0c4146102ed578063d6ddd21b14610300575f5ffd5b8063b3743f60116100c3578063b3743f60146102b5578063c4278a1a146102c8578063cabe4274146102d1575f5ffd5b80638456cb59146102895780638da5cb5b146102915780639bc5c509146102a2575f5ffd5b80633f4ba83a116101485780636d6e7d01116101235780636d6e7d0114610243578063715018a61461026e578063803db96d14610276575f5ffd5b80633f4ba83a1461021b5780634cfc4d30146102235780635c975abb1461022d575f5ffd5b80632f52ebb7116101785780632f52ebb7146101e257806336d76a95146101f55780633cee06c314610208575f5ffd5b80630c5a61f81461019e5780632da5da7d146101b35780632eb4a7ab146101c6575b5f5ffd5b6101b16101ac3660046119a8565b610373565b005b6101b16101c13660046119c1565b6103f1565b6101cf60cd5481565b6040519081526020015b60405180910390f35b6101b16101f03660046119d8565b61044e565b6101b16102033660046119d8565b61059f565b6101b1610216366004611a52565b61073d565b6101b16109ea565b6101cf62278d0081565b60655460ff1660405190151581526020016101d9565b60cc54610256906001600160a01b031681565b6040516001600160a01b0390911681526020016101d9565b6101b16109fc565b60ca54610256906001600160a01b031681565b6101b1610a0d565b6033546001600160a01b0316610256565b6101b16102b0366004611aad565b610a1d565b6101cf6102c3366004611ae6565b610aba565b6101cf60cb5481565b6101b16102df3660046119a8565b610ace565b6101cf6103e881565b60c954610256906001600160a01b031681565b6101cf60ce5481565b6101cf61271081565b6101b16103203660046119c1565b610b82565b61034b6103333660046119a8565b60cf6020525f90815260409020805460019091015482565b604080519283526020830191909152016101d9565b6101b161036e3660046119a8565b610bfb565b61037b610c8b565b61038481610ce5565b60ca80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527fb141872ee67913e1bc546464f29b6b07a65159d45c6af64fdecf8b4129157faf906020015b60405180910390a150565b6103f9610c8b565b805f036104195760405163ad3e811360e01b815260040160405180910390fd5b60ce8190556040518181527fbef2d8066d78f70a733575f2821f3c2de722e00c7cda0713ead8ff095c10e651906020016103e6565b610456610d25565b61045e610d78565b3361046b81858585610dd1565b5f6104768286610f14565b9050805f036104b1576040517f0f3f861000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382165f90815260cf6020526040812042815560010180548392906104de908490611b3b565b909155505060cb545f90612710906104f69084611b4e565b6105009190611b65565b90505f61050d8284611b9d565b905081156105325760ca5460c954610532916001600160a01b0391821691168461100a565b60c954610549906001600160a01b0316858361100a565b604080516001600160a01b0386168152602081018390527fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a91015b60405180910390a15050505061059a6001609755565b505050565b6105a7610d25565b6105af610d78565b336105bc81858585610dd1565b5f6105c78286610f14565b9050805f03610602576040517f0f3f861000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382165f90815260cf60205260408120428155600101805483929061062f908490611b3b565b909155505060cb545f90612710906106479084611b4e565b6106519190611b65565b90505f61065e8284611b9d565b905081156106835760ca5460c954610683916001600160a01b0391821691168461100a565b60cc546040517f2ee409080000000000000000000000000000000000000000000000000000000081526001600160a01b0386811660048301526024820184905290911690632ee40908906044015f604051808303815f87803b1580156106e7575f5ffd5b505af11580156106f9573d5f5f3e3d5ffd5b5050604080516001600160a01b0388168152602081018590527fe355416ef72a4ee51b15d2ca97670169b610e79b34df8e94673c08f045faf77d9350019050610584565b5f54610100900460ff161580801561075b57505f54600160ff909116105b806107745750303b15801561077457505f5460ff166001145b6107eb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b5f805460ff191660011790558015610829575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61083287610ce5565b61083b86610ce5565b61084485610ce5565b6103e8841115610880576040517f0645975a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8161089e5760405163ad3e811360e01b815260040160405180910390fd5b825f036108be5760405163ad3e811360e01b815260040160405180910390fd5b6108c66110d8565b6108ce61115c565b6108d66111e0565b60c980546001600160a01b03808a167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790935560cc80548a831690841617905560ca80549189169190921617905560cb85905560cd83905560ce84905561094490875f19611264565b7fbef2d8066d78f70a733575f2821f3c2de722e00c7cda0713ead8ff095c10e65160ce5460405161097791815260200190565b60405180910390a180156109e1575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b6109f2610c8b565b6109fa6113b0565b565b610a04610c8b565b6109fa5f611402565b610a15610c8b565b6109fa61146b565b610a25610c8b565b610a2e83610ce5565b610a3781610ce5565b815f03610a575760405163ad3e811360e01b815260040160405180910390fd5b610a6b6001600160a01b038416828461100a565b604080516001600160a01b0385811682526020820185905283168183015290517f892212fefec48d5ab9985161b9e69f149494b9970bd1981c3dbf712d63f0d59c9181900360600190a1505050565b5f610ac58383610f14565b90505b92915050565b610ad6610c8b565b610adf81610ce5565b60cc5460c9546001600160a01b0391821691610afd9116825f611264565b60c954610b15906001600160a01b0316835f19611264565b60cc80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0384169081179091556040519081527f60b4cbb8fc9634e806c9728f64fb36bb0661e11ac356719a98a91693d61a1ecb9060200160405180910390a15050565b610b8a610c8b565b6103e8811115610bc6576040517f0645975a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cb8190556040518181527fd4e6c751f871fb8558b382eb26ed022500fb7161c90a8ffce36b6eb8372219cd906020016103e6565b610c03610c8b565b6001600160a01b038116610c7f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016107e2565b610c8881611402565b50565b6033546001600160a01b031633146109fa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107e2565b6001600160a01b038116610c88576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60655460ff16156109fa5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016107e2565b600260975403610dca5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107e2565b6002609755565b610dda84610ce5565b60cd54610dfa5760405163ad3e811360e01b815260040160405180910390fd5b825f03610e1a5760405163ad3e811360e01b815260040160405180910390fd5b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b166020820152603481018490525f906054016040516020818303038152906040528051906020012090505f610eae8484808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505060cd5491508590506114a8565b905080610ee7576040517fb05e92fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0386165f90815260cf6020526040812080549091036109e15760ce549055505050505050565b6001600160a01b0382165f90815260cf60205260408120821580610f38575060ce54155b15610f46575f915050610ac8565b82816001015410610f5a575f915050610ac8565b5f62278d0060ce54610f6c9190611b3b565b90505f5f835f015411610f815760ce54610f84565b82545b90504282811115610f925750815b8181111580610fa3575060ce548111155b15610fb4575f945050505050610ac8565b5f60ce5482610fc39190611b9d565b90505f62278d00610fd4838a611b4e565b610fde9190611b65565b905087811115610feb5750865b5f866001015482610ffc9190611b9d565b9a9950505050505050505050565b6040516001600160a01b03831660248201526044810182905261059a9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526114bd565b6001609755565b5f54610100900460ff166111545760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107e2565b6109fa6115a3565b5f54610100900460ff166111d85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107e2565b6109fa611628565b5f54610100900460ff1661125c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107e2565b6109fa6116b0565b8015806112f557506040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156112cf573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112f39190611bb0565b155b6113675760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084016107e2565b6040516001600160a01b03831660248201526044810182905261059a9084907f095ea7b3000000000000000000000000000000000000000000000000000000009060640161104f565b6113b861172c565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b611473610d25565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586113e53390565b5f826114b4858461177e565b14949350505050565b5f611511826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166117c09092919063ffffffff16565b905080515f14806115315750808060200190518101906115319190611bc7565b61059a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016107e2565b5f54610100900460ff1661161f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107e2565b6109fa33611402565b5f54610100900460ff166116a45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107e2565b6065805460ff19169055565b5f54610100900460ff166110d15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107e2565b60655460ff166109fa5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016107e2565b5f81815b84518110156117b8576117ae828683815181106117a1576117a1611bed565b60200260200101516117d6565b9150600101611782565b509392505050565b60606117ce84845f85611802565b949350505050565b5f8183106117f0575f828152602084905260409020610ac5565b5f838152602083905260409020610ac5565b60608247101561187a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016107e2565b5f5f866001600160a01b031685876040516118959190611c1a565b5f6040518083038185875af1925050503d805f81146118cf576040519150601f19603f3d011682016040523d82523d5f602084013e6118d4565b606091505b50915091506118e5878383876118f0565b979650505050505050565b6060831561195e5782515f03611957576001600160a01b0385163b6119575760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107e2565b50816117ce565b6117ce83838151156119735781518083602001fd5b8060405162461bcd60e51b81526004016107e29190611c30565b80356001600160a01b03811681146119a3575f5ffd5b919050565b5f602082840312156119b8575f5ffd5b610ac58261198d565b5f602082840312156119d1575f5ffd5b5035919050565b5f5f5f604084860312156119ea575f5ffd5b83359250602084013567ffffffffffffffff811115611a07575f5ffd5b8401601f81018613611a17575f5ffd5b803567ffffffffffffffff811115611a2d575f5ffd5b8660208260051b8401011115611a41575f5ffd5b939660209190910195509293505050565b5f5f5f5f5f5f60c08789031215611a67575f5ffd5b611a708761198d565b9550611a7e6020880161198d565b9450611a8c6040880161198d565b959894975094956060810135955060808101359460a0909101359350915050565b5f5f5f60608486031215611abf575f5ffd5b611ac88461198d565b925060208401359150611add6040850161198d565b90509250925092565b5f5f60408385031215611af7575f5ffd5b611b008361198d565b946020939093013593505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b80820180821115610ac857610ac8611b0e565b8082028115828204841417610ac857610ac8611b0e565b5f82611b98577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b81810381811115610ac857610ac8611b0e565b5f60208284031215611bc0575f5ffd5b5051919050565b5f60208284031215611bd7575f5ffd5b81518015158114611be6575f5ffd5b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150509291505056fea2646970667358221220bb536ef85b83321d760771b54787fc1d26da4a030d61dbbbda9c8f8a8c220bb864736f6c634300081b0033