Normally, totalBonus appears to represent the bonus pool tracked by the contract, while claimedBonus tracks the amount already paid to stakers. After all bonus has been paid and the pool token balance is zero, external observers would expect the live remaining bonus to be zero as well.
The issue is that claimSurvived and claimExpired increment claimedBonus but never reduce totalBonus. Consequently, totalBonus can keep reporting the originally contributed bonus after the entire bonus has already been transferred out.
Likelihood:
This occurs after any SURVIVED or EXPIRED claim pays a nonzero bonus share.
The stale value becomes most visible after all stakers have claimed and the pool's token balance is zero.
Impact:
Dashboards, monitors, and integrators can misread totalBonus as live remaining bonus.
Accounting fields become internally inconsistent: claimedBonus can equal the full bonus while totalBonus still shows the original contributed amount.
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.
The contest is complete and the rewards are being distributed.