Normally, any player who is not the current king should be able to call claimThrone() by paying the required fee to become the new king.
However, the current implementation uses a require condition that mistakenly allows only the current king to claim the throne, which breaks the entire game logic.
Likelihood:
The issue occurs on every call to claimThrone() after deployment.
It is persistent, and no precondition has to be fulfilled.
Impact:
Practically, no participant can execute the claimThrone() function successfully.
The game is completely unplayable, because no new king can ever be crowned.
Deploy the core contract Game.sol, then any user can attempt to call claimThrone():
Replace == with != in the requirement statement to correctly enforce that new participants can become king:
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.