The stake() and withdraw() functions in BaseGauge remain callable during market pause, creating an inconsistency with other protected functions and potentially allowing users to manipulate staking positions while reward and voting mechanisms are frozen.
The BaseGauge contract implements pause protection on critical functions like getReward() and voteDirection() but fails to apply the same protection to stake() and withdraw() operations.
Users can modify staking positions while rewards are frozen
Total supply can be manipulated during pause
Reward calculations affected through updateReward modifier
Position changes possible while voting is disabled
Potential for position manipulation before pause is lifted
Manual Review
Add whenNotPaused modifier to stake() and withdraw() functions
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.