The contract VestedAirdrop.vy
lacks a finalization mechanism for vesting, meaning it does not contain a function to complete the vesting process once the vesting period has ended. Without this function, users may not be able to fully claim their tokens after the vesting period has concluded.
Locked Tokens Post-Vesting: After the vesting period ends (vesting_end_time
), the tokens that should be fully claimed remain locked in the contract. The absence of finalization means that fully vested tokens are left unavailable to the users, which can result in accumulated unclaimed tokens.
User Impact: Users expecting to claim their full token amount after the vesting period may find that they cannot, leading to frustration and dissatisfaction.
Missed Token Distribution: Without finalization, the contract’s token distribution process may be incomplete. Users might fail to receive their entire vested amount since the contract cannot finalize the process once the vesting period ends.
POC:
The above implementation does not provide any method to finalize the vesting once the end time is reached. A finalization function can fix this issue.
manual review
To mitigate this, a finalization function should be implemented that ensures any remaining vested tokens can be claimed once the vesting period ends.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.