distributeRewards() internally calls _calculateReward() which calculates gaugeShare
incorrectly. It ought to be:
This is because of the following; imagine:
typeShare
for RAAC is 50% and remaining for RWA gauge types
There are 5 RAAC gauges with weight 25 each. And there are 3 RWA gauges with weight 25 each.
Consider period emissions = 200
RAAC gauges are entitled to 50% emissions i.e. 50% of 200 = 100
The current RAAC gauge is eligible for gaugeWeight / totalRAACGaugeWeights
or 25 / (5 * 25)
or 1/5
of this i.e. 100/5 = 20
. This should have been the returned value from _calculateReward()
.
Instead it does:
50% * emissions * gaugeWeight / totalWeightOfRAACplusRWAgauges
= 50% * 200 * 25 / 200
= 12.5
What this means is: First calculate reward for each gauge according to their share of weight, irrespective of gauge type AND THEN give them a fraction of that depending on their type. That's not how the setting is supposed to work.
Incorrect rewards distributed to gauges.
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.