The calculation in calculateBoost() are not correct in BoostCalculator.sol
In the documentation of RAAC protocol it is stated that -> The BoostController is designed to manage boost calculations and delegations for the protocol. It implements Curve-style boost mechanics with configurable multipliers and supports pool-specific boost management.
However, it doesn't implements the Curve-style boost mechanics and calculations.
This is the documentation of Curve Finance->
B has a maximum of 2.5 so if the formula gives a value greater than 2.5 then your boost is 2.5.
B=1.5×((D×v)/(V×d))+1
Where:
B is your rewards boost (if it's more than 2.5 it just equals 2.5).
d is the value you deposit, in USD.
D is the total value deposited to the pool's reward gauge, in USD.
v is the amount of veCRV you have (vote weight).
V is the total veCRV in the system (total vote weight) click here to find the current amount.
But in the RAAC protocol in the calculateBoost the formula is different ->
as we can see the calculation is not using the tokens that the users staked neither the total staked tokens.
This means that the boost calculation is only increased via the voting power.
Incorrect calculations
the calculation of the boost variable should look like
boost = 1.5 * ((totalStakedSupply * veBalance) / (totalVeSupply * staked)) + 1
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.