in the BaseGauge constructor the boostState.minBoost is denominated in 18 decimals instead of basis points.
This will lead to total DoS of the BaseGauge contract because of the following block of code in the BoostCalculator::calculateBoost function:
Since maxBoost == 25000 and minBoost == 1e18 this line will always revert, leading to full DoS of the contract because the calculateBoost function is practically called in every core function in the contract like stake, withdraw, etc.
Normally this wouldn't be a problem since there is GaugeController that could upgrade the minBoost, but in this case the GaugeController doesn't have the implementation to call the setBoostParameters function, which leads to full contract DoS
Full DoS of both RWAGauge and RAACGauge
manual review
Fix the value in the constructor or implement a way for GaugeController to fix the value
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.