The emission rate update functions in both RAACGauge and RWAGauge lack validation against their defined maximum emission constants, allowing emissions to be set higher than intended limits.
In RAACGauge:
In RWAGauge:
The functions allow setting arbitrary emission values without checking against:
MAX_WEEKLY_EMISSION (500,000e18) for RAACGauge
MAX_MONTHLY_EMISSION (2,500,000e18) for RWAGauge
This is confirmed by:
Constants are explicitly defined RAACGauge.sol line 17, RWAGauge.sol line 17
Documentation explicitly states "Emission caps enforced" RAACGauge.md line 101
BaseGauge's notifyReward checks emission caps but setWeeklyEmission/setMonthlyEmission bypass these checks
Emissions can exceed maximum intended limits
Potential economic damage through excessive token distribution
Disruption of tokenomics model
Bypass of emission cap checks in BaseGauge's notifyReward function
The lack of validation could lead to:
Inflation of token supply beyond intended rates
Economic imbalances in the protocol
Manipulation of reward distributions
Breaking of carefully designed tokenomics parameters
Manual Review
Static Analysis
Add maximum emission validation:
Similarly for monthly emissions:
Additional considerations:
Consider adding a timelock for emission rate changes
Implement gradual adjustment mechanisms for large changes
Add events for emission cap violations
Consider implementing emergency pause for excessive emissions
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.