The BaseGauge contract manages periods using the setInitialWeight and updatePeriod functions, which can be called only by the controller. However, these functions are never called by the GaugeController contract.
Regular updates occur through updatePeriod which uses:
Since:
the initial value is 0
updatePeriod uses the average of previous period
there is no other way to set a non-zero value
setInitialWeight is never called by the controller
This means:
the system starts at 0
calculates average of 0
creates new period with that 0 average
continues in a zero-value cycle
The TimeWeightedAverage periods in BaseGauge are not working as intended, leading to a broken cycle.
Ensure that the updatePeriod and setInitialWeight functions are called as intended.
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.