Someone who already received their reward.
Someone entitled to the remaining rewards.
When a player claims their assigned reward through claimCut(), their reward should be considered consumed.
The player's reward is set to zero:
Therefore, the player should not receive the same entitlement again unless the protocol explicitly defines a separate bonus.
Specific issue
claimCut() adds every successful claimant to the claimants array:
Later, closePot() sends another amount to every address in claimants.
Therefore, every player who already claimed their reward receives an additional payment when the Pot closes.
Likelihood:
Every successful claimant is added to claimants.
Every address in claimants is paid again during closePot().
Impact:
Claimants receive duplicate payouts.
The intended reward allocation can be exceeded.
Other participants may receive fewer rewards because additional tokens are sent to already-paid users.
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.