Core Contracts

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

Protocol Fees not being distributed to veRAAC Holders due to incomplete implementation in FeeCollector

Summary

The FeeCollector contract, which is responsible for managing and distributing protocol fees to veRAAC holders, creates time-weighted average periods but lacks the implementation to actually distribute these fees to holders. This contradicts the core functionality described in the documentation.

Vulnerability Details

According to the FeeCollector documentation:

The FeeCollector is designed to:
- Collect and manage various types of protocol fees in RAAC tokens
- Implement time-weighted reward distribution to veRAAC holders (claimable by address)

In _processDistributions(), fees are tracked but not made claimable:

if (totalVeRAACSupply > 0) {
TimeWeightedAverage.createPeriod(
distributionPeriod,
block.timestamp + 1,
7 days,
shares[0],
totalVeRAACSupply
);
totalDistributed += shares[0];
}

While the contract creates distribution periods, it lacks the crucial functionality to:

  1. Make these fees claimable by veRAAC holders

  2. Calculate and distribute rewards based on holders' voting power

  3. Track and process actual fee distribution to individual holders

Impact

  • veRAAC holders cannot claim their entitled share of protocol fees, leading to locked funds in the contract and failure to deliver promised rewards.

Tools Used

Manual Review

Recommendations

Implement the same logic to distribute the rewards as is done in BaseGauge. (As it uses TimeWeightedAveragefor creating period and rewards distribution)

Updates

Lead Judging Commences

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

Time-Weighted Average Logic is Not Applied to Reward Distribution in `FeeCollector`

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

Time-Weighted Average Logic is Not Applied to Reward Distribution in `FeeCollector`

Support

FAQs

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