Skip to content

Latest commit

 

History

History
28 lines (23 loc) · 1.01 KB

Gap Between Periods Can Lead to Erroneous Rewards.md

File metadata and controls

28 lines (23 loc) · 1.01 KB

The SNX rewards are earned each period based on reward and duration as specified in the notifyRewardAmount() function.

The contract will output more rewards than it receives.

Therefore if all stakers call getReward() the contract will not have enough SNX balance to transfer out all the rewards and some stakers may not receive any rewards.

Recommendation:

We recommend enforcing each period start exactly at the end of the previous period.


Slide Screenshot

075.jpg


Slide Text

  • Sigma Prime Unipool Finding 4
  • Timing/DoS
  • Medium Severity
  • Stakers -> getReward()
  • SNX Deficit -> No Rewards
  • No Gap Between Periods

References


Tags