Players submit their moves in plaintext, allowing the second player to see the first player's move before submitting theirs. This enables front-running and undermines fairness.
The playMove
function accepts the player’s move in an unencrypted form, directly written to contract storage:
This design makes it trivial for the second player to monitor pending transactions or read storage and submit a counter-move that always wins.
Complete undermining of game fairness.
Enables both manual cheating and automated MEV exploitation.
Manual Review
Replace plaintext submission with a commit-reveal scheme:
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.