penaltyAmount
levied on early claimers is also considered as reward
Users can claim their reward early using fjordStaking:claimReward()
with _isClaimEarly = true
as input. While claiming early, they pay 50% of their unclaimedRewards as penaltyAmount
.
If we see above code then we can see, only rewardAmount
(ie 50% of unclaimedReward) is transfered to msg.sender
, which means penaltyAmount
is still in the stakingContract
but totalRewards
is reduced by rewardAmount + penaltyAmount
Now this is a problem because totalRewards
is used for calculating pendingRewards
in _checkEpochRollover(). Any extra
amount of fjordToken in stakingContract
is considered as reward
, which is calculated by subtracting totalRewards
from balanceOf stakingContract
, and we've seen above penaltyAmount
is still in the contract but totalRewards is reduced
by penaltyAmount, which means penaltyAmount
is extra token and will be considered as reward
penaltyAmount will also be distributed as reward to stakers
Manual Review
Send penaltyAmount to owner or treasury
of the protocol in claimReward()
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.