Core Contracts

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

Fixed Emission Rates May Not Adapt to Token Supply and Economic Conditions

Summary

The GaugeController uses hardcoded emission values for both RWA and RAAC rewards, making it impossible to adjust emission rates without contract upgrades. This rigid reward structure cannot adapt to changing market conditions, token supply, or protocol requirements.

Vulnerability Details

The emission rate calculations are hardcoded with fixed values:

function _calculateRWAEmission() internal view returns (uint256) {
// Monthly RWA emission calculation
return 1000000 * 10**18; // Fixed at 1M tokens per month
}
function _calculateRAACEmission() internal view returns (uint256) {
// Weekly RAAC emission calculation
return 250000 * 10**18; // Fixed at 250K tokens per week
}

These fixed emissions are problematic because:

  1. Cannot be adjusted based on total token supply

  2. No ability to implement emission schedule changes

  3. No way to reduce emissions during market downturns

Impact

Low, Could result in unsustainable reward distributions

Tools Used

Manual Review

Recommendations

Implement configurable emission rates with owner controls:

uint256 public rwaEmissionRate;
uint256 public raacEmissionRate;
uint256 public constant MAX_EMISSION_RATE = 2000000 * 10**18; // Safety cap
function setEmissionRates(uint256 _rwaRate, uint256 _raacRate) external onlyOwner {
require(_rwaRate <= MAX_EMISSION_RATE, "RWA rate too high");
require(_raacRate <= MAX_EMISSION_RATE, "RAAC rate too high");
rwaEmissionRate = _rwaRate;
raacEmissionRate = _raacRate;
emit EmissionRatesUpdated(_rwaRate, _raacRate);
}
function _calculateRWAEmission() internal view returns (uint256) {
return rwaEmissionRate;
}
function _calculateRAACEmission() internal view returns (uint256) {
return raacEmissionRate;
}```
Updates

Lead Judging Commences

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

GaugeController uses hardcoded placeholder emission values in _calculateRWAEmission() and _calculateRAACEmission() instead of actual tokenomics-based rates

Support

FAQs

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