closePot never writes remainingRewards and sets no closed flag; every call recomputes identical payouts, so closeContest can be re-run to double-pay.
Double (or repeated) payouts drain the pot.
Foundry test (passes): second closeContest succeeds — ContestManager balance 75→150 ether, claimant 418.75→587.5 ether; total across 2 closes 487.5 vs intended 243.75.
Set remainingRewards = 0 and/or add a bool closed gate.
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.