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.