The veRAAC token's balanceOf returns the initial voting power based on the lock amount and duration, but voting power decays over time. However, the ERC20 balance doesn't decrease as time passes. So if a user's voting power should decrease because their lock is halfway through, balanceOf still shows the full amount. Any functionality relying on balanceOf, like boost calculations, would use outdated values. For example, a user might get a higher boost than deserved because their balance hasn't decayed. This leads to unfair advantages in reward distribution or governance voting.
Static balance accounting conflicts with dynamic voting power:
Reward Distortion: Staking rewards based on incorrect balances
Governance Attack Surface: Voting with expired power
UI/UX Deception: Users see incorrect token balances than they actuall have
manual review, foundry
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.