Submitted by KupiaSec, also found by KupiaSec
Some gauges may receive more rewards, while others may not receive any rewards at all.
In the VoterUpgradeableV2.notifyRewardAmount function, the index is accumulated for every reward distribution from the minter. When distributing rewards to gauges, the reward amount is calculated using the delta index and weightsPerEpoch.
If rewards are not distributed to a gauge in the current epoch, they can be distributed in the next epoch. If weightsPerEpoch for that gauge changes in the next epoch, the reward amount may be calculated incorrectly, leading to unfair distribution among the gauges.
Lets consider the following scenario:
Even though the VoterUpgradeableV2 contract has 150 FNX from the minter, it attempts to transfer 190 FNX to the gauges. As a result, the rewards distribution to the gauges is reverted.
As a result, if rewards are not distributed to some gauges in an epoch, it can lead to incorrect rewards distribution in the next epoch.
Rewards should be distributed to all gauges per epoch, or the reward index mechanism should be improved.
b-hrytsak (Fenix) acknowledged and commented:
alcueca (judge) decreased severity to Medium and commented:
