The BaseGauge contract's stake() and withdraw() functions lack proper pause protection, allowing users to modify staking positions while other critical functions like rewards and voting are frozen. This creates an inconsistency in the pause mechanism and potential for position manipulation during market stress.
In the BaseGauge contract:
This inconsistency means:
Users can still stake/unstake during market emergencies
Position changes allowed while rewards frozen
Voting weight can be manipulated while voting paused
Breaks the intended market freeze mechanism
Inconsistent protocol behavior during emergencies
Potential for position manipulation during market stress
Undermined pause protection for rewards and voting
Reduced effectiveness of emergency controls
Possible gaming of reward/voting mechanisms
Manual code review
Add pause protection to staking functions.
Add emergency withdrawal function.
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.