The GaugeController's voting mechanism contains conflicting vote delay parameters and lacks protection against vote timing manipulation, allowing users to amplify their voting power impact.
In GaugeController.sol, the voting delay parameters are inconsistent:
The issue arises because:
VOTE_DELAY (10 days) conflicts with MIN_VOTE_DELAY (1 day)
Users can vote immediately after MIN_VOTE_DELAY instead of waiting for VOTE_DELAY
No slope calculation for vote weight changes between periods
A malicious user could:
Vote with maximum weight
Wait for MIN_VOTE_DELAY (1 day)
Change vote to manipulate gauge weights
Repeat this process every day instead of every 10 days as intended
Gauge weights can be manipulated more frequently than intended
Voting power can be artificially amplified through timing
Time-weighted average calculations become less reliable
Implement consistent vote delay enforcement:
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.