The normal behavior of claimThrone() is to allow any new player to become the king by paying the required claimFee. The function should reject only redundant claims from the current king.
However, the current implementation mistakenly allows only the current king to call claimThrone(), freezing the game for all other players. This makes the game unplayable after the first claim.
Likelihood:
This bug will occur immediately after the first claim, as the next player (a different address) will always fail the require(msg.sender == currentKing) check.
Since the game requires multiple participants, this stops core game flow by design.
Impact:
Players are permanently locked out after one person claims the throne.
The declareWinner, claimFee increase, and platform fee logic will never execute again — rendering the game and economy non-functional.
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.