[M-2]Missing payout to previous player breaks documented incentive model
The documentation states that when a player joins and calls claim(), part of the claimFee is sent to
the previous player. However, the smart contract does not contain any logic to actually perform this
payout. As a result, previous players receive nothing, which directly contradicts the intended reward
model and creates an unfair loss.
Impact:
This breaks the game’s incentive mechanism. Players are led to believe they will receive a portion of the claimFee when someone else joins after them, but in practice, they receive nothing. This creates:
1.An unfair economic loss for participants.
2.Broken trust and reduced participation due to false incentives.
3.A game model collapse if no one receives any reward beyond the chance to be the winner.
Add logic in the claim() function to transfer the specified share of the claimFee to the previous claimer, e.g.:
Ensure proper validation and state updates to prevent abuse.
Alternatively, if the reward is intentionally removed, update the documentation to reflect the actual behavior — no fee sharing — to avoid misleading players.
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.