The commit phase lacks a timeout mechanism, allowing malicious/absent players to permanently lock opponents' funds by never completing their commitment.
Code Flaw:
timeoutReveal
only handles reveal-phase timeouts
No deadline enforcement for players to complete commit
revealDeadline
never set if both commits aren't received
Attack Scenario:
Player A creates game but never commits
Player B joins and commits
Game remains stuck in Committed
state indefinitely
Funds permanently locked in contract
Permanent loss of ETH/tokens for honest players
Manual Review
Foundry test
Add Commit Deadlines
Protocol does not provide a way for Player B to exit a game and reclaim their stake if Player A stops participating
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.