Core Contracts

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

Initial `minBoost` is set to 1e18 instead of 10000 in `BaseGauge:constructor`.

Summary

In the constructor on BaseGauge the minBoost is set to 1e18 instead of 10000.

Vulnerability Details

The boost in the system is calculated in the basis point, for example for 1x boost it should use 1e4 and for 2x boost it should use 2e4. But here in the constructor the minBoost is initialized as 1e18 instead of 1e4 , you can also see that maxBoost is correctly initialized.

constructor(
address _rewardToken,
address _stakingToken,
address _controller,
uint256 _maxEmission,
uint256 _periodDuration
) {
...SKIP...
boostState.maxBoost = 25000; // 2.5x
-> boostState.minBoost = 1e18;
...SKIP...
}

This issue will cause the incorrect boost calculation in BoostCalculator:calculateBoost which is called from BaseGauge:_applyBoost, The boost in a reward calculation so this will disrupt that.

Impact

This will cause the incorrect boost calculation causing the whole reward calculation to be ineffective.

Recommendations

Use 1e4 instead of 1e18 as minBoost.

Updates

Lead Judging Commences

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

boostState.minBoost is set to 1e18

Support

FAQs

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

Give us feedback!