In the BaseGauge constructor, minBoost is initialized to 1e18 (incorrectly, as it should be in basis points, e.g., 10000 for 1x).
This minBoost value is stored in BoostState.minBoost, which is part of the BoostState struct in the BoostCalculator library
When _applyBoost is called in BaseGauge:
the minboost is initalized as https://github.com/Cyfrin/2025-02-raac/blob/89ccb062e2b175374d40d824263a4c0b601bcb7f/contracts/core/governance/gauges/BaseGauge.sol#L142
BoostCalculator.calculateBoost uses params.minBoost directly from BaseGauge’s BoostState.
The minBoost value of 1e18 propagates into the calculation, causing an underflow when boostRange = maxBoost (25000) - minBoost (1e18).
initialize the minboost correctly
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.