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.