Core Contracts

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

Inability to set emission cap for gauges

Summary

The GaugeController contract is intended to manage the emission cap of the gauges defined in the BaseGauge contract. However, there are currently no functions implemented in the GaugeController that allow it to call the setEmission() function of the BaseGauge contract.

This oversight prevents the GaugeController from effectively managing these critical parameters.

Vulnerability Details

The setEmission() function in the BaseGauge contract are protected by the onlyController modifier, which checks if the caller has the CONTROLLER_ROLE.

>> function setEmission(uint256 emission) external onlyController {
if (emission > periodState.emission) revert RewardCapExceeded();
periodState.emission = emission;
emit EmissionUpdated(emission);
}

This role is meant to be held by the GaugeController.

>> _grantRole(CONTROLLER_ROLE, _controller);

However, the GaugeController does not have any functions that invoke these methods, leading to a lack of control over the emission cap and initial weights of the gauges.

Impact

The inability to adjust emission caps means that the GaugeController cannot effectively manage the reward distribution system.

For example, periodState.emission determines the total period emission cap and therefore if there are any adjustments to be made on this value, it will not be possible as required.

Tools Used

Manual Review

Recommendations

Create functions in the GaugeController contract that allow it to call setEmission() .

Updates

Lead Judging Commences

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

`setWeeklyEmission`, `setBoostParameters`, `setEmission` and `setInitialWeight` cannot be called due to controller access control - not implemented in controller

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

`setWeeklyEmission`, `setBoostParameters`, `setEmission` and `setInitialWeight` cannot be called due to controller access control - not implemented in controller

Support

FAQs

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

Give us feedback!