Core Contracts

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

The `RAACMinter::setMaxEmissionRate` fails to check against `MAX_BENCHMARK_RATE` leading to excessive token minting

Summary

The RAACMinter::setMaxEmissionRatefunction lacks validation against theMAX_BENCHMARK_RATE` constant. This allows to set an emission rate higher than the intended protocol maximum. This can lead to excessive token minting beyond protocol design limits causing an economic imbalance in the system.

Vulnerability Details

function setMaxEmissionRate(uint256 _maxEmissionRate) external onlyRole(UPDATER_ROLE) {
@> if (_maxEmissionRate <= minEmissionRate) revert InvalidMaxEmissionRate();
uint256 oldRate = maxEmissionRate;
maxEmissionRate = _maxEmissionRate;
emit MaxEmissionRateUpdated(oldRate, _maxEmissionRate);
}

Impact

The RAACMinter::setMaxEmissionRate only checks that the new rate is greater than minEmissionRate but fails to validate against MAX_BENCHMARK_RATE, allowing setting of arbitrarily high emission rates. This can lead to excessive token minting beyond protocol design limits causing an economic imbalance in the system.

Tools Used

Manual review

Recommendations

Add validation against MAX_BENCHMARK_RATE in the setMaxEmissionRate function.

function setMaxEmissionRate(uint256 _maxEmissionRate) external onlyRole(UPDATER_ROLE) {
if (_maxEmissionRate <= minEmissionRate) revert InvalidMaxEmissionRate();
+ if (_maxEmissionRate > MAX_BENCHMARK_RATE) revert MaxEmissionRateExceedsLimit();
uint256 oldRate = maxEmissionRate;
maxEmissionRate = _maxEmissionRate;
emit MaxEmissionRateUpdated(oldRate, _maxEmissionRate);
}
Updates

Lead Judging Commences

inallhonesty Lead Judge 3 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

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