rewardDistributionCoolDown represents the cooldown time before the next distribution of rewards. There should be at least a rewardDistributionCoolDown time difference between two successive distributeRewards() calls. The admin can change rewardDistributionCoolDown but doesn't call distributeRewards() before changing it, which can lead to unintended waiting for the next distribution of rewards to stakers.
distribution can only be completed if lastRewardNotificationTimestamp + rewardDistributionCoolDown <= block.timestamp
Assume the admin decides to update rewardDistributionCoolDown to a value greater than the existing rewardDistributionCoolDown.
The admin will call setRewardDistributionCoolDown() to update the cooldown time period.
If _cooldown > existing cooldown, distribution can be revert, and stakers will lose exposure to the reward tokens for _cooldown - rewardDistributionCoolDown time period.
Stakers will lose exposure to reward tokens during the newCooldown - oldCooldown period.
Manual
distributeRewards() should be called before updating rewardDistributionCoolDown if new coolDown > rewardDistributionCoolDown
An eg implementation
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.