Changing state after an external call can lead to re-entrancy attacks.Use the checks-effects-interactions pattern to avoid this issue.
If exploited, an attacker could:
Reenter createGameWithToken() during the balanceOf() check before gameCounter is incremented.
Cause double game creation with the same gameId, leading to game state corruption or logic bypasses.
Manipulate internal game state inconsistently, especially when combined with token transfer or reveal logic.
Aderyn Static Analysis tool
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.