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.
The setEmission() function in the BaseGauge contract are protected by the onlyController modifier, which checks if the caller has the CONTROLLER_ROLE.
This role is meant to be held by the GaugeController.
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.
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.
Manual Review
Create functions in the GaugeController contract that allow it to call setEmission() .
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.