Summary
Pool matching in ShellCoinflipV3 is deterministic - attackers can see pending bets and front-run to guarantee wins.
Attack Vector
- Attacker monitors mempool for joinPool() transactions
- Sees opponent's choice (heads/tails)
- Front-runs with opposite choice, guaranteed win
Recommendation
- Add commit-reveal for player choices
- Or use private mempool / MEV protection