The BaseGauge::voteDirection function calculates voting power using veRAACToken.balanceOf() which returns the raw token balance without considering time-based decay. This allows users to maintain full voting power indefinitely, bypassing the intended linear decay mechanism implemented in veRAACToken::getVotingPower. The discrepancy creates an unfair advantage for voters who should have reduced influence over time.
Add to test file BaseGauge.test.js:
Medium severity - Distorts governance outcomes by allowing voters to maintain inflated influence beyond intended decay schedule. While not directly risking fund loss, it undermines protocol's weighted voting mechanics and long-term incentive alignment.
Primary Fix: Replace balance check with time-decayed voting power:
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.