The RockPaperScissors::joinGameWithToken
function does not validate whether a Player B is already assigned to a game instance. As a result, multiple users can join as Player B, with only the most recent one being stored, causing previous participants’ token to be irretrievably locked in the contract.
In the RockPaperScissors::joinGameWithToken
,there is no check to verify whether a player B is already present in the game. When a new player B joins the game, they overwrite the previous player B’s address. The previous player’s token remain locked in the contract, with no way to retrieve them.
Multiple players can join as player B in a single game, but only the latest one will be recorded. The tokens of all previous player B entries will remain locked in the contract.
Manual review
You must check whether a game already has a player B before allowing a player to join.
Game state remains Created after a player joins
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.