The FeeCollector contract initializes a distribution period in the constructor but lacks mechanisms to handle period transitions, leading to reward distribution issues.
The contract initializes a single distribution period but does not implement mechanisms to:
Create new periods after the initial period expires
Handle transitions between periods
Track or validate period states during distributions
This is further complicated by the distribution logic in _processDistributions() (Lines 401-424), which creates new periods without proper period management:
Reward Distribution Errors
Rewards will continue to be distributed using the same period parameters even after the initial period expires
No validation of period status during distributions
Potential for rewards to be distributed in expired periods
Financial Impact
Incorrect reward calculations for veRAAC holders
Unfair distribution of protocol fees
Accumulated rewards may be calculated incorrectly
System State
No proper tracking of distribution periods
No historical record of distributions
Inability to audit or verify distribution correctness
Manual code review
Implement proper period management:
Add period validation:
Implement period tracking:
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.