Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: medium
Invalid

Vesting Duration Includes Cliff Period

Summary

The vesting calculation incorrectly includes the cliff period in the vesting duration. Tokens start vesting after the cliff, but the code counts time from startTime instead of startTime + VESTING_CLIFF.

Impact

Beneficiaries receive tokens faster than intended. For example, with a 90-day cliff and 700-day duration, tokens vest over 790 days (cliff + duration) instead of 700 days post-cliff.

Vulnerability Details

The timeFromStart is calculated as block.timestamp - schedule.startTime, which includes the cliff period. The correct calculation should start from startTime + VESTING_CLIFF.

Explain in relevant detail using numbers and creating scenarios demonstrating the impact

  • startTime = 0, VESTING_CLIFF = 90 days, VESTING_DURATION = 700 days.

  • At day 180 (90 days post-cliff), the code calculates vested tokens as 180/700 ≈ 25.7%.

  • Correct vested amount should be 90/700 ≈ 12.85%, doubling the release rate.

Recommendations

Adjust timeFromStart to exclude the cliff:

uint256 vestingStart = schedule.startTime + VESTING_CLIFF;
if (block.timestamp < vestingStart) return 0;
uint256 timeFromVestingStart = block.timestamp - vestingStart;
Updates

Lead Judging Commences

inallhonesty Lead Judge 4 months ago
Submission Judgement Published
Validated
Assigned finding tags:

RAACReleaseOrchestrator vesting calculation includes cliff period in duration, doubling token release rate after cliff ends

inallhonesty Lead Judge 4 months ago
Submission Judgement Published
Validated
Assigned finding tags:

RAACReleaseOrchestrator vesting calculation includes cliff period in duration, doubling token release rate after cliff ends

Appeal created

inallhonesty Lead Judge
3 months ago
inallhonesty Lead Judge 3 months ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement
Assigned finding tags:

RAACReleaseOrchestrator vesting calculation includes cliff period in duration, doubling token release rate after cliff ends

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.