232 txs
233 calls
constructor
constructor(address initialOwner, address tokenAddress, uint256 poolLimit)
functions
canClaim
viewfunction canClaim(address account, uint256 amount, bytes32[] merkleProof) view returns (bool)
isClaimed
viewfunction isClaimed(address) view returns (bool)
merkleRoot
viewfunction merkleRoot() view returns (bytes32)
owner
viewfunction owner() view returns (address)
POOL_LIMIT
viewfunction POOL_LIMIT() view returns (uint256)
stakeAccounts
viewfunction stakeAccounts(address) view returns (uint256)
token
viewfunction token() view returns (address)
totalContribution
viewfunction totalContribution() view returns (uint256)
claimLockStaking
nonpayablefunction claimLockStaking(uint256 amount, bytes32[] proof)
contribution
nonpayablefunction contribution(uint256 amount)
contributionPermit
nonpayablefunction contributionPermit(address account, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
emergencyWithdraw
nonpayablefunction emergencyWithdraw()
renounceOwnership
nonpayablefunction renounceOwnership()
setMerkleRoot
nonpayablefunction setMerkleRoot(bytes32 newMerkleRoot)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
ClaimLockStaking
event ClaimLockStaking(address indexed owner, uint256 amount)
Contribution
event Contribution(address indexed account, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PoolLimit
event PoolLimit(uint256 amount)
Withdraw
event Withdraw(address indexed owner, uint256 amount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60a060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b50604051620014573803806200145783398101604081905261007e91610182565b826001600160a01b0381166100ad57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100b681610116565b5060018055600280546001600160a01b0319166001600160a01b03841617905560808190526040518181527fc87053795d3f68e94d183c24fbaf54fbfb28ebc5e25e889178f9740b23c9a0609060200160405180910390a1505050610209565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461017d57600080fd5b919050565b6000806000606084860312156101e25760405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b6101eb84610166565b92506101f960208501610166565b9150604084015190509250925092565b60805161121d6200023a60003960008181610258015281816109f601528181610a5b0152610a90015261121d6000f3fe608060405234801561005d5760405162461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e637469604482019081526137b760f11b6064830152608482fd5b50600436106101415760003560e01c8063ab8b859e116100e4578063e57466fd116100b3578063e57466fd146102a8578063e8709c40146102c8578063f2fde38b146102db578063fc0c546a146102ee57610141565b8063ab8b859e14610253578063c62f116e1461027a578063db2e21bc1461028d578063dc38bdb51461029557610141565b8063715018a611610120578063715018a6146101e05780637cb64759146101e85780638cc08025146101fb5780638da5cb5b1461022e57610141565b80624295bb146101a65780630dcf4b8f146101bb5780632eb4a7ab146101d7575b60405162461bcd60e51b815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201908152746e6f7220726563656976652066756e6374696f6e7360581b6064830152608482fd5b6101b96101b4366004610fa1565b610301565b005b6101c460035481565b6040519081526020015b60405180910390f35b6101c460045481565b6101b961042b565b6101b96101f6366004610ff3565b61043f565b61021e61020936600461102b565b60056020526000908152604090205460ff1681565b60405190151581526020016101ce565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016101ce565b6101c47f000000000000000000000000000000000000000000000000000000000000000081565b6101b9610288366004611049565b61044c565b6101b9610549565b61021e6102a33660046110ac565b6106f4565b6101c46102b636600461102b565b60066020526000908152604090205481565b6101b96102d6366004610ff3565b610734565b6101b96102e936600461102b565b610752565b60025461023b906001600160a01b031681565b3360008181526005602052604090205460ff16156103665760405162461bcd60e51b815260206004820152601760248201527f546f6b656e7320616c726561647920636c61696d65642e00000000000000000060448201526064015b60405180910390fd5b6103728185858561078d565b6103af5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b210383937b7b31760911b604482015260640161035d565b6001600160a01b038082166000908152600560205260409020805460ff191660011790556002546103e29116828661081b565b806001600160a01b03167f985f1563d1680bd9a4006b06d1ba05102ebf3a0cce8d50b9606773dfa912ff8d8560405161041d91815260200190565b60405180910390a250505050565b61043361087f565b61043d60006108ac565b565b61044761087f565b600455565b6104546108fc565b60025460405163d505accf60e01b81526001600160a01b038881166004830152306024830152604482018890526064820187905260ff8616608483015260a4820185905260c482018490529091169063d505accf9060e401600060405180830381600087803b1580156105165760405162461bcd60e51b815260206004820152602560248201527f54617267657420636f6e747261637420646f6573206e6f7420636f6e7461696e604482019081526420636f646560d81b6064830152608482fd5b505af115801561052a573d6000803e3d6000fd5b505050506105388686610926565b61054160018055565b505050505050565b61055161087f565b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156105e55760405162461bcd60e51b815260206004820152602560248201527f54617267657420636f6e747261637420646f6573206e6f7420636f6e7461696e604482019081526420636f646560d81b6064830152608482fd5b505afa1580156105f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061d919061110c565b90506000811161067b5760405162461bcd60e51b815260206004820152602360248201527f4e6f20746f6b656e7320617661696c61626c6520666f7220776974686472617760448201526230b61760e91b606482015260840161035d565b6106a36106906000546001600160a01b031690565b6002546001600160a01b0316908361081b565b6000546001600160a01b03166001600160a01b03167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364826040516106e991815260200190565b60405180910390a250565b6001600160a01b03841660009081526005602052604081205460ff161561071d5750600061072c565b6107298585858561078d565b90505b949350505050565b61073c6108fc565b6107463382610926565b61074f60018055565b50565b61075a61087f565b6001600160a01b03811661078457604051631e4fbdf760e01b81526000600482015260240161035d565b61074f816108ac565b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526000908190605401604051602081830303815290604052805190602001209050610811848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506004549150849050610b58565b9695505050505050565b6040516001600160a01b0383811660248301526044820183905261087a91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610b70565b505050565b6000546001600160a01b0316331461043d5760405163118cdaa760e01b815233600482015260240161035d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60026001540361091f57604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156109ba5760405162461bcd60e51b815260206004820152602560248201527f54617267657420636f6e747261637420646f6573206e6f7420636f6e7461696e604482019081526420636f646560d81b6064830152608482fd5b505afa1580156109ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f2919061110c565b90507f00000000000000000000000000000000000000000000000000000000000000008110610a595760405162461bcd60e51b81526020600482015260136024820152722837b7b6103634b6b4ba103932b0b1b432b21760691b604482015260640161035d565b7f0000000000000000000000000000000000000000000000000000000000000000610a84838361113e565b1115610ab757610ab4817f0000000000000000000000000000000000000000000000000000000000000000611151565b91505b600254610acf906001600160a01b0316843085610bd3565b6001600160a01b03831660009081526006602052604081208054849290610af790849061113e565b925050819055508160036000828254610b10919061113e565b90915550506040518281526001600160a01b038416907f4d154d4aae216bed6d0926db77c00df2b57c6b5ba4eee05775de20facede3a7b9060200160405180910390a2505050565b600082610b658584610c12565b1490505b9392505050565b6000610b856001600160a01b03841683610c61565b90508051600014158015610baa575080806020019051810190610ba89190611164565b155b1561087a57604051635274afe760e01b81526001600160a01b038416600482015260240161035d565b6040516001600160a01b038481166024830152838116604483015260648201839052610c0c9186918216906323b872dd90608401610848565b50505050565b600081815b8451811015610c5757610c4382868381518110610c3657610c36611189565b6020026020010151610c6f565b915080610c4f8161119f565b915050610c17565b5090505b92915050565b6060610b6983836000610c9e565b6000818310610c8b576000828152602084905260409020610b69565b6000838152602083905260409020610b69565b606081471015610cc35760405163cd78605960e01b815230600482015260240161035d565b600080856001600160a01b03168486604051610cdf91906111b8565b60006040518083038185875af1925050503d8060008114610d1c576040519150601f19603f3d011682016040523d82523d6000602084013e610d21565b606091505b5091509150610811868383606082610d4157610d3c82610d88565b610b69565b8151158015610d5857506001600160a01b0384163b155b15610d8157604051639996b31560e01b81526001600160a01b038516600482015260240161035d565b5080610b69565b805115610d985780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f6044820152611c9d60f21b6064820152608481fd5b60405162461bcd60e51b815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f666673604482015261195d60f21b6064820152608481fd5b60405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a727261792073747269646560a81b6064820152608481fd5b60008083601f840112610f105760405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a1c9c985e481bd9999cd95d60aa1b6064820152608481fd5b50813567ffffffffffffffff811115610f7c5760405162461bcd60e51b815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201526a0e4e4c2f240d8cadccee8d60ab1b6064820152608481fd5b6020830191508360208260051b8501011115610f9a57610f9a610e51565b9250929050565b600080600060408486031215610fb957610fb9610db1565b83359250602084013567ffffffffffffffff811115610fda57610fda610e01565b610fe686828701610eaa565b9497909650939450505050565b60006020828403121561100857611008610db1565b5035919050565b80356001600160a01b038116811461102657600080fd5b919050565b60006020828403121561104057611040610db1565b610b698261100f565b60008060008060008060c0878903121561106557611065610db1565b61106e8761100f565b95506020870135945060408701359350606087013560ff8116811461109257600080fd5b9598949750929560808101359460a0909101359350915050565b600080600080606085870312156110c5576110c5610db1565b6110ce8561100f565b935060208501359250604085013567ffffffffffffffff8111156110f4576110f4610e01565b61110087828801610eaa565b95989497509550505050565b60006020828403121561112157611121610db1565b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610c5b57610c5b611128565b81810381811115610c5b57610c5b611128565b60006020828403121561117957611179610db1565b81518015158114610b6957600080fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016111b1576111b1611128565b5060010190565b6000825160005b818110156111d957602081860181015185830152016111bf565b50600092019182525091905056fea264697066735822122065bdeb929524e7e4a61bf5dce5bb3006de6d5dd4e7e4a5492dbda539c97f4e3c64736f6c6343000814003300000000000000000000000073395dd2954333fe546414679b931fb08c84ae8100000000000000000000000092d5942f468447f1f21c2092580f15544923b43400000000000000000000000000000000000000000044b83c9a71214f555e0000