The notifyRewardAmount
function in BaseGauge contract updates reward accounting and distribution state without requiring actual token transfer into the contract.
the ['rewardRate](https://github.com/Cyfrin/2025-02-raac/blob/89ccb062e2b175374d40d824263a4c0b601bcb7f/contracts/core/governance/gauges/BaseGauge.sol#L388) is calculated as
amount / periodDuration, this means
the rewardRate * getPeriodDuration()
doesn't have to be bigger than balance as the balance also contains rewards from previous periods that weren't claimed
Contract might revert upon receiving rewards due the incorrect check.
Manual Review
The rewardRate calculation should take in consideration the total rewards unclaimed
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.