0 txs
219 calls
constructor
constructor(address _owner, address _token, address _treasury, address _votingEscrow)
functions
beneficiaries
viewfunction beneficiaries(address) view returns (uint256 allocation, uint256 startTime, uint256 claimedAmount, uint8 claimType)
IMMEDIATE_UNLOCK_BASIS_POINTS
viewfunction IMMEDIATE_UNLOCK_BASIS_POINTS() view returns (uint256)
MAX_BASIS_POINTS
viewfunction MAX_BASIS_POINTS() view returns (uint256)
MIN_STAKE_DURATION
viewfunction MIN_STAKE_DURATION() view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
token
viewfunction token() view returns (address)
treasury
viewfunction treasury() view returns (address)
VESTING_DURATION
viewfunction VESTING_DURATION() view returns (uint256)
votingEscrow
viewfunction votingEscrow() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
claimAndDepositToLock
nonpayablefunction claimAndDepositToLock()
claimAndForfeitRemaining
nonpayablefunction claimAndForfeitRemaining()
registerBeneficiaries
nonpayablefunction registerBeneficiaries(address[] _users, uint256[] _amounts)
renounceOwnership
nonpayablefunction renounceOwnership()
rescueTokens
nonpayablefunction rescueTokens(address _to, uint256 _amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Claimed
event Claimed(address indexed user, uint256 claimedAmount, uint256 forfeitedAmount)
ClaimedAndDepositedToLock
event ClaimedAndDepositedToLock(address indexed user, uint256 amount, uint256 unlockTime)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Registered
event Registered(address indexed user, uint256 amount, uint256 startTime)
errors
AlreadyClaimed
error AlreadyClaimed()
BeneficiaryAlreadyRegistered
error BeneficiaryAlreadyRegistered()
InputLengthMismatch
error InputLengthMismatch()
InvalidBeneficiaryAddress
error InvalidBeneficiaryAddress()
InvalidRecipientAddress
error InvalidRecipientAddress()
InvalidTokenAddress
error InvalidTokenAddress()
InvalidTreasuryAddress
error InvalidTreasuryAddress()
InvalidUnlockTime
error InvalidUnlockTime()
LockDurationTooShort
error LockDurationTooShort()
MissingBeneficiary
error MissingBeneficiary()
NoActiveLock
error NoActiveLock()
NotEligible
error NotEligible()
NothingToClaim
error NothingToClaim()
NoVotingEscrowConfigured
error NoVotingEscrowConfigured()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
ZeroAllocationAmount
error ZeroAllocationAmount()
creation bytecode
0x60e060405234801561000f575f5ffd5b50604051611d8f380380611d8f833981810160405281019061003191906103b2565b835f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100a2575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100999190610425565b60405180910390fd5b6100b18161025d60201b60201c565b5060016002819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361011f576040517f1eb00b0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610184576040517fcfe2ea6300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610254578073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505b5050505061043e565b60015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556102908161029360201b60201c565b50565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61038182610358565b9050919050565b61039181610377565b811461039b575f5ffd5b50565b5f815190506103ac81610388565b92915050565b5f5f5f5f608085870312156103ca576103c9610354565b5b5f6103d78782880161039e565b94505060206103e88782880161039e565b93505060406103f98782880161039e565b925050606061040a8782880161039e565b91505092959194509250565b61041f81610377565b82525050565b5f6020820190506104385f830184610416565b92915050565b60805160a05160c0516118ef6104a05f395f818161040d0152818161090d01528181610a360152610bd801525f81816104ed015261082001525f81816104a3015281816107cf0152818161084201528181610b920152610d6f01526118ef5ff3fe608060405234801561000f575f5ffd5b5060043610610109575f3560e01c806379ba5097116100a0578063e30c39781161006f578063e30c39781461024a578063eb551af814610268578063f2fde38b14610272578063f4ea93d81461028e578063fc0c546a146102ac57610109565b806379ba5097146101fa5780638294ccd7146102045780638da5cb5b1461020e578063e0c570ba1461022c57610109565b806357376198116100dc578063573761981461019857806361d027b3146101b45780636f0d6a0f146101d2578063715018a6146101f057610109565b8063015677391461010d5780634b862646146101405780634cfc4d301461015c5780634f2bfe5b1461017a575b5f5ffd5b61012760048036038101906101229190611302565b6102ca565b60405161013794939291906113b8565b60405180910390f35b61015a600480360381019061015591906114b1565b610302565b005b610164610404565b604051610171919061152f565b60405180910390f35b61018261040b565b60405161018f91906115a3565b60405180910390f35b6101b260048036038101906101ad91906115e6565b61042f565b005b6101bc6104eb565b6040516101c99190611633565b60405180910390f35b6101da61050f565b6040516101e7919061152f565b60405180910390f35b6101f8610515565b005b610202610528565b005b61020c6105b6565b005b610216610896565b6040516102239190611633565b60405180910390f35b6102346108bd565b604051610241919061152f565b60405180910390f35b6102526108c4565b60405161025f9190611633565b60405180910390f35b6102706108ec565b005b61028c60048036038101906102879190611302565b610cbb565b005b610296610d67565b6040516102a3919061152f565b60405180910390f35b6102b4610d6d565b6040516102c1919061166c565b60405180910390f35b6003602052805f5260405f205f91509050805f015490806001015490806002015490806003015f9054906101000a900460ff16905084565b61030a610d91565b5f84849050148061031d57505f82829050145b15610354576040517f3556ac5800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818190508484905014610393576040517faaad13f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8484905090505f5f90505b818110156103fc576103f18686838181106103bd576103bc611685565b5b90506020020160208101906103d29190611302565b8585848181106103e5576103e4611685565b5b90506020020135610e18565b80600101905061039f565b505050505050565b6276a70081565b7f000000000000000000000000000000000000000000000000000000000000000081565b610437610d91565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361049c576040517f44d99fea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104e782827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166110409092919063ffffffff16565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6101f481565b61051d610d91565b6105265f6110bf565b565b5f6105316110ef565b90508073ffffffffffffffffffffffffffffffffffffffff166105526108c4565b73ffffffffffffffffffffffffffffffffffffffff16146105aa57806040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016105a19190611633565b60405180910390fd5b6105b3816110bf565b50565b6105be6110f6565b5f60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f815f01540361063a576040517ff8eb54de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81600201541115610678576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81600101544261068991906116df565b90505f825f015490505f6276a70083106106a5578190506106fb565b5f6276a7006101f46127106106ba91906116df565b856106c59190611712565b6106cf9190611780565b6101f46106dc91906117b0565b905061271081846106ed9190611712565b6106f79190611780565b9150505b5f8103610734576040517f969bf72800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818361074191906116df565b90508185600201819055506001856003015f6101000a81548160ff0219169083600281111561077357610772611345565b5b02179055503373ffffffffffffffffffffffffffffffffffffffff167f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a83836040516107c09291906117e3565b60405180910390a261081333837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166110409092919063ffffffff16565b5f811115610887576108867f0000000000000000000000000000000000000000000000000000000000000000827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166110409092919063ffffffff16565b5b505050505061089461113a565b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6276a70081565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108f46110f6565b5f73ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1603610979576040517fd1e57bee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f815f0154036109f5576040517ff8eb54de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81600201541115610a33576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663cbf9fe5f336040518263ffffffff1660e01b8152600401610a8d9190611633565b6040805180830381865afa158015610aa7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb9190611854565b915050428111610b07576040517f33edfc1300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6276a70042610b1691906117b0565b811015610b4f576040517f49eeb0b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f825f015490508083600201819055506002836003015f6101000a81548160ff02191690836002811115610b8657610b85611345565b5b0217905550610bd633827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166110409092919063ffffffff16565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16633a46273e33836040518363ffffffff1660e01b8152600401610c31929190611892565b5f604051808303815f87803b158015610c48575f5ffd5b505af1158015610c5a573d5f5f3e3d5ffd5b505050503373ffffffffffffffffffffffffffffffffffffffff167f41a0a29abbaefcb844c549286274147bc9a50a4647fce7856519c5a6d01dfad18284604051610ca69291906117e3565b60405180910390a2505050610cb961113a565b565b610cc3610d91565b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16610d22610896565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61271081565b7f000000000000000000000000000000000000000000000000000000000000000081565b610d996110ef565b73ffffffffffffffffffffffffffffffffffffffff16610db7610896565b73ffffffffffffffffffffffffffffffffffffffff1614610e1657610dda6110ef565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610e0d9190611633565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e7d576040517fd343d98400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8103610eb6576040517fafa6536400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015414610f2e576040517f235ccc9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180608001604052808281526020014281526020015f81526020015f6002811115610f5e57610f5d611345565b5b81525060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f820151815f015560208201518160010155604082015181600201556060820151816003015f6101000a81548160ff02191690836002811115610fe457610fe3611345565b5b02179055509050508173ffffffffffffffffffffffffffffffffffffffff167fcda33a906ffa8a5f960826827500581f4613a5db7a84b250433e0d591a63093882426040516110349291906117e3565b60405180910390a25050565b6110ba838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401611073929190611892565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611144565b505050565b60015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556110ec816111df565b50565b5f33905090565b6002805403611131576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028081905550565b6001600281905550565b5f5f60205f8451602086015f885af180611163576040513d5f823e3d81fd5b3d92505f519150505f821461117c576001811415611197565b5f8473ffffffffffffffffffffffffffffffffffffffff163b145b156111d957836040517f5274afe70000000000000000000000000000000000000000000000000000000081526004016111d09190611633565b60405180910390fd5b50505050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112d1826112a8565b9050919050565b6112e1816112c7565b81146112eb575f5ffd5b50565b5f813590506112fc816112d8565b92915050565b5f60208284031215611317576113166112a0565b5b5f611324848285016112ee565b91505092915050565b5f819050919050565b61133f8161132d565b82525050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6003811061138357611382611345565b5b50565b5f81905061139382611372565b919050565b5f6113a282611386565b9050919050565b6113b281611398565b82525050565b5f6080820190506113cb5f830187611336565b6113d86020830186611336565b6113e56040830185611336565b6113f260608301846113a9565b95945050505050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261141c5761141b6113fb565b5b8235905067ffffffffffffffff811115611439576114386113ff565b5b60208301915083602082028301111561145557611454611403565b5b9250929050565b5f5f83601f840112611471576114706113fb565b5b8235905067ffffffffffffffff81111561148e5761148d6113ff565b5b6020830191508360208202830111156114aa576114a9611403565b5b9250929050565b5f5f5f5f604085870312156114c9576114c86112a0565b5b5f85013567ffffffffffffffff8111156114e6576114e56112a4565b5b6114f287828801611407565b9450945050602085013567ffffffffffffffff811115611515576115146112a4565b5b6115218782880161145c565b925092505092959194509250565b5f6020820190506115425f830184611336565b92915050565b5f819050919050565b5f61156b611566611561846112a8565b611548565b6112a8565b9050919050565b5f61157c82611551565b9050919050565b5f61158d82611572565b9050919050565b61159d81611583565b82525050565b5f6020820190506115b65f830184611594565b92915050565b6115c58161132d565b81146115cf575f5ffd5b50565b5f813590506115e0816115bc565b92915050565b5f5f604083850312156115fc576115fb6112a0565b5b5f611609858286016112ee565b925050602061161a858286016115d2565b9150509250929050565b61162d816112c7565b82525050565b5f6020820190506116465f830184611624565b92915050565b5f61165682611572565b9050919050565b6116668161164c565b82525050565b5f60208201905061167f5f83018461165d565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6116e98261132d565b91506116f48361132d565b925082820390508181111561170c5761170b6116b2565b5b92915050565b5f61171c8261132d565b91506117278361132d565b92508282026117358161132d565b9150828204841483151761174c5761174b6116b2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61178a8261132d565b91506117958361132d565b9250826117a5576117a4611753565b5b828204905092915050565b5f6117ba8261132d565b91506117c58361132d565b92508282019050808211156117dd576117dc6116b2565b5b92915050565b5f6040820190506117f65f830185611336565b6118036020830184611336565b9392505050565b5f81600f0b9050919050565b61181f8161180a565b8114611829575f5ffd5b50565b5f8151905061183a81611816565b92915050565b5f8151905061184e816115bc565b92915050565b5f5f6040838503121561186a576118696112a0565b5b5f6118778582860161182c565b925050602061188885828601611840565b9150509250929050565b5f6040820190506118a55f830185611624565b6118b26020830184611336565b939250505056fea264697066735822122037e09e31f58dc11d0b63d924f75c5c28e0cf9593dbf2d4b2cf3f7f9043ce4de364736f6c634300081c00330000000000000000000000003573b660557c7c88157f8039cdda3285ac90e68100000000000000000000000045e4e92f5a94f4b741c9cb553ff8be7b25eb7df5000000000000000000000000eff5440746a7b362273ca7cddb9cd5783c71737d0000000000000000000000004ccce7dd8a43cd1dc9342cee6b5c6e85a62c469c