The BaseGauge::setEmission
can only be called by the controller address (GaugeController
). This function is meant to set emission cap for the period. However, while the GaugeController
has the necessary CONTROLLER_ROLE
permissions, it lacks any implementation to actually call this function.
The BaseGauge::setEmission
function
has the onlyController
modifier defined as:
In BaseGauge's constructor
, the controller address is granted the CONTROLLER_ROLE
:
Looking at the GaugeController contract, there isn't any direct function to call setEmission
. Additionally, this function is not included in the IGauge
interface that GaugeController
uses to interact with gauges.
No mechanism exists to adjust the emission cap for the period, despite the contract being designed with this intention. The setEmission
function becomes effectively unusable because the authorized controller has no way to call it.
Manual review
Add setEmission
to the IGauge
interface and implement the corresponding function in GaugeController
.
IGauge.sol
GaugeController.sol
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.