Core Contracts

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

The reward distribution system in `FeeCollector` contract is broken

Summary

The FeeCollector contract creates TimeWeightedAverage periods for reward distribution but never uses them for calculations.

Vulnerability Details

The contract creates 7-day periods in _processDistributions:

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

But calculates rewards in _calculatePendingRewards using point-in-time ratios:

uint256 share = (totalDistributed * userVotingPower) / totalVotingPower;

Impact

High: Ignores intended time-weighted distribution mechanism, incorectly distributing rewards.

Recommendations

Calculate the rewards using TimeWeightedAverage.calculateAverage.

Updates

Lead Judging Commences

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

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

inallhonesty Lead Judge 4 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.