Core Contracts

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

Emission math does not work correctly, rewards too little for high utilization

Summary

Emission math does not work correctly, rewards too little for high utilization

Vulnerability Details

Utilization is used to calculate emissions, where like AAVE the higher the utilization, the higher the emissions. However an issue appears when we look into calculateNewEmissionRate, as increasing or decreasing the utilization barely makes any difference in the emissions.

https://github.com/Cyfrin/2025-02-raac/blob/main/contracts/core/minters/RAACMinter/RAACMinter.sol#L220

function calculateNewEmissionRate() internal view returns (uint256) {
uint256 utilizationRate = getUtilizationRate();
// emissionRate * 5%
uint256 adjustment = (emissionRate * adjustmentFactor) / 100;
if (utilizationRate > utilizationTarget) {
// emissionRate + emissionRate * 5%
uint256 increasedRate = emissionRate + adjustment;
// max(increasedRate || benchmarkRate)
uint256 maxRate = increasedRate > benchmarkRate
? increasedRate
: benchmarkRate;
// min ( max((emissionRate + emissionRate * 5%) || benchmarkRate) || maxEmissionRate)
return maxRate < maxEmissionRate
? maxRate
: maxEmissionRa

From the above comment math we can easily see that if our utilizationRate is higher than utilizationTarget (doesn't matter how much, 0.1% or 10 %are the same) we would increase the emissions by 5%.

The current increase/decrease is step-wise and by so little that it would not be noticeable. It would not be enough to reward stakers/LP providers, compared to the risk of having utilization at high numbers.

Impact

LP/stakers will not be incentives enough by the emissions as the math used to calculate the rewards is not linear, nor does it increase substancily with increased utilization (high util s always risky).
Emission math does not work correctly, rewards too little for high utilization.

Tools Used

Manual review

Recommendations

Updates

Lead Judging Commences

inallhonesty Lead Judge 4 months ago
Submission Judgement Published
Invalidated
Reason: Design choice
inallhonesty Lead Judge 4 months ago
Submission Judgement Published
Invalidated
Reason: Design choice

Support

FAQs

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