A vulnerability exists in the GaugeController's period transition mechanism where gauge weights are incorrectly averaged, causing significant dilution of voting power and weight influence over time.
In GaugeController.sol
, when transitioning between periods, the code:
Calculates simple average of previous period
Uses this average as new base value
Applies weight to this averaged value
This causes the weight's multiplicative effect to be lost each period.
Lets see the following example:
User votes with weight = 2
Initial value = 100 gets multiplied by weight = 200
Next period averages back to 100
New weight application gives 200 again
Pattern repeats, preventing weight compounding
Place the following code in GaugeController.test.js in "Weight management" section:
Loss of intended voting power influence
Gauge weights don't compound as designed
Voting power gets diluted each period
Manual review and unit tests
N/A
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.