The BoostCalculator
library in the veRAACToken
contract calculates boosts based on the current veToken balance rather than a time-weighted average. This allows users to manipulate their boosts by timing lock extensions or increases, leading to unfair advantages in reward distribution.
The issue stem from calculateTimeWeightedBoost
function in the BoostCalculator
library.
The boost calculation relies solely on the current veToken balance (balanceOf(user)
) and total supply (totalSupply()
), without considering a time-weighted average of the user's voting power over the boost window.
This makes it possible for users to artificially inflate their boost multiplier by strategically extending or increasing their locks just before the boost calculation occurs.
Example Scenario :
A user with a small lock can temporarily increase their veToken balance by locking additional tokens or extending their lock duration just before the boost calculation occurs.
This temporary increase inflates their boost multiplier, allowing them to claim disproportionately higher rewards.
In vote-escrow systems (e.g., Curve’s veCRV), boosts are often intended to reward long-term commitment. Using current balance allows users to "game" the system by temporarily inflating their veRAAC just before reward calculations, then reducing commitment afterward (though veRAACToken doesn’t allow reducing locks early without emergency mechanisms).
This undermines fairness because users with consistent long-term locks are penalized compared to those who manipulate timing.
Users can exploit the system by timing their actions to maximize their boost multiplier, leading to unfair reward distribution.
Inaccurate boost calculations could skew governance power, giving disproportionate influence to users who manipulate their locks.
Modify the BoostCalculator
library to use a time-weighted average of the user's voting power over the boost window instead of the current balance.
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.