poolBoost.totalBoost is incorrectly updated in BoostController due to hardcoded base amount.
In BoostController, updateUserBoost() is called to update the boost value for a user in a specific pool, and poolBoost.totalBoost is updated based on user's oldBoost and newBoost.
BoostController::updateUserBoost()
User's boot is returned by _calculateBoost(), this function calculates boot for a user based on base amount.
BoostController::_calculateBoost()
The problem is that when _calculateBoost() is called in updateUserBoost(), the base amount is hardcoded to 10000, results in a user's boost amount is always between [10000, 25000], even if the user holds no veRAAC tokens.
As a result, poolBoost.totalBoost is incorrectly updated.
poolBoost.totalBoost is wrongly updated, this may result in user receive incorrectly pool yieldings.
Manual Review
User boost amount should be calculated based on the user's veToken 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.