The claimThrone() function, which is intended to allow any non-king player to claim the throne and become the new king, contains a logic error in the require statement. Instead of preventing the current king from reclaiming the throne, it only allows the current king to call the function — blocking all other players from participating.
This completely breaks the "Last Man Standing" mechanics
Likelihood:
Always triggered after contract deployment because the first claim will set a currentKing, after which no one else can call claimThrone() except that king.
The intended competitive mechanic is effectively disabled in all game rounds.
Impact:
No new participants can join the game after the first king is set.
The game becomes locked with a single permanent king until manually reset.
Pot growth, fee collection, and winner dynamics are all broken.
player1 is set as the current king.
player2 attempts to claimthrown but meets a revert message You are already the king. No need to re-claim
Change the require condition to prevent the current king from reclaiming, rather than allowing only the current 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.