Users can spam call distributeRewards
in order to distribute more rewards than the gauge percentage allocation allows
Rewards are based off a couple of factors
gauge weight
typeWeights[RWA/RAAC] distribution, where currently it's 50% RWA and 50% RAAC
Where in order to distribute the max emissions both values need to be maxed out or only 1 gauge to exist.
https://github.com/Cyfrin/2025-02-raac/blob/main/contracts/core/governance/gauges/GaugeController.sol#L360
However currently distributeRewards
can be called instantly as many times as users want in order to always distribute the max amount of rewards.
https://github.com/Cyfrin/2025-02-raac/blob/main/contracts/core/governance/gauges/GaugeController.sol#L323
Gauges are manipulated to distribute more rewards than their each percentage allocation allows to
Gauge rewards are only capped by their max emissions and their weight or typeWeights
does not matter.
Users can spam distributeRewards
in order to distribute rewards a couple of time and max out each gauge max reward emissions.
Manual review
Put a timer on distributeRewards
or add admin modifiers in order to prevent users from calling it constantly. Else the whole weight gauge distribution does not matter if we are always distributing each max gauge.
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.