Core Contracts

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

Benchmark Rate Overrides Utilization-Based Emission Adjustments

Summary

The calculateNewEmissionRate function allows the benchmarkRate to override utilization-based emission adjustments, causing emission rates to deviate from intended dynamic behavior. This disrupts the protocol’s ability to incentivize borrowing/deposits accurately based on system utilization.

Vulnerability Details

The calculateNewEmissionRate function adjusts the emission rate (emissionRate) based on the system’s utilization rate. However, the logic incorrectly prioritizes the benchmarkRate over utilization-driven adjustments, leading to unintended outcomes.

if (utilizationRate > utilizationTarget) {
uint256 increasedRate = emissionRate + adjustment;
uint256 maxRate = increasedRate > benchmarkRate ? increasedRate : benchmarkRate; // @audit the benchmark overrides the increasedRate
return maxRate < maxEmissionRate ? maxRate : maxEmissionRate;
} else if (utilizationRate < utilizationTarget) {
uint256 decreasedRate = emissionRate > adjustment ? emissionRate - adjustment : 0;
uint256 minRate = decreasedRate < benchmarkRate ? decreasedRate : benchmarkRate; // @audit the benchmark overrides the increasedRate
return minRate > minEmissionRate ? minRate : minEmissionRate;
}
Example Scenario
  1. High Utilization (80%):

    • emissionRate = 100, adjustment = 5, benchmarkRate = 150.

    • Expected: 100 + 5 = 105 RAAC/block.

    • Actual: max(105, 150) = 150 RAAC/block.

  2. Low Utilization (60%):

    • emissionRate = 100, adjustment = 5, benchmarkRate = 80.

    • Expected: 100 - 5 = 95 RAAC/block.

    • Actual: min(95, 80) = 80 RAAC/block.

The benchmarkRate overrides the utilization-based adjustment, rendering the dynamic emission logic ineffective.

Impact

  • Protocol Instability: Emission rates will not align with system utilization, leading to misaligned incentives.

  • Economic Imbalance: Over- or under-minting of RAAC tokens due to incorrect rates.

  • Stagnation Risk: If benchmarkRate is outdated, emission rates become unresponsive to real-time utilization changes.

Tools Used

manual review

Recommendations

Remove the benchmarkRate comparison so that the increasedRate can be used. This recommendation might not be what the protocol intend to do yet, comparing the increasedRate to the benchmarkRate will always lead to the benchmarkRate being used instead of the increasedRate

Updates

Lead Judging Commences

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

Support

FAQs

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