Vesting schedule can be created without ensuring that the token balance of the contract can afford the vesting schedule. This can cause failure of claim for the beneficiary when the time is ripe for beneficiaries to claim the token.
The createVestingSchedule
function in RAACReleaseOrchestrator.sol
does not check that the amount of token for the new vesting schedule can be afforded by the contract.
If there are some vesting schedule claimable amount that is greater than the current token balance of the contract, the beneficiaries cannot claim the token through the release
function as the transaction will revert because of insufficient token balance. This is especially problematic if there are multiple vesting schedule that start at the same time considering all of the schedules duration use the same constant VESTING_DURATION
variable (700 days).
Manual review
Check in the createVestingSchedule
function if the current contract token balance can afford the vesting schedule amount by checking the current contract token balance subtracted by all existing vesting schedule amount.
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.