The notifyRewardAmount
function in the BaseGauge
contract fails to validate the total distribution against the distributionCap
. Although the function checks the emission limit, it does not ensure that the cumulative rewards distributed do not exceed the predefined distributionCap
. This missing validation allows potential over-distribution of rewards, which can disrupt the intended economic balance of the protocol.
The contract includes a distributionCap variable, designed to limit the total amount of rewards distributed. However, the notifyRewardAmount function does not reference or enforce this cap when updating periodState.distributed .
Key Issues Identified:
The notifyRewardAmount
function checks if the amount
exceeds periodState.emission
but not the distributionCap
.
The notifyReward
internal function validates emission constraints but does not consider the global distributionCap
.
As a result, multiple calls to notifyRewardAmount
could cumulatively surpass the distributionCap
, leading to unintended reward overflows.
Excessive Reward Distribution: The total distributed rewards may surpass the intended cap, potentially diluting the token’s value and disrupting the reward mechanism.
🔓 Protocol Fund Drain: Over-distribution could prematurely deplete the protocol’s reward reserves, preventing future rewards from being properly distributed.
Manual Review
Introduce a validation check in the notifyRewardAmount
function to ensure that the sum of periodState.distributed
and the new amount
does not exceed the distributionCap
.
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.