Core Contracts

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

Malicious Users Can Inflate Rewards by Temporarily Locking veRAAC Tokens

The contract calculates reward distribution based on the current voting power of veRAACToken holders, using veRAACToken.getVotingPower(user). However, since there is no mechanism ensuring that users maintain their veRAAC balance throughout the entire distribution period, an attacker can artificially inflate their rewards by temporarily locking a large amount of veRAAC before the snapshot, only to withdraw or transfer it immediately after. This allows the attacker to appear as a major stakeholder at the time of calculation but without actually maintaining that stake throughout the period. For example:

uint256 userVotingPower = veRAACToken.getVotingPower(user);
uint256 totalVotingPower = veRAACToken.getTotalVotingPower();
uint256 share = (totalDistributed * userVotingPower) / totalVotingPower;

Since getVotingPower(user) is queried only at the time of reward distribution, a user can game the system by moving tokens strategically across wallets, unfairly increasing their reward share while diluting honest users’ earnings.

Impact:

An attacker can unfairly claim a disproportionate share of rewards, reducing the earnings of legitimate long-term veRAAC holders.

Mitigation:

Use time-weighted voting power instead of a single snapshot by implementing an averaging function.

Updates

Lead Judging Commences

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

Support

FAQs

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