Normal Behavior: The claimThrone()
function allows any player (other than the current king) to claim the throne by paying the current claimFee
. Once claimed, the new king becomes currentKing
, and the fee increases for the next player.
Issue: The contract contains a faulty require condition that only allows the current king to claim the throne, which is opposite of the intended functionality. As a result, after the first player claims the throne, no other player can ever dethrone them, causing the game to get stuck indefinitely.
This occurs every time a player (who is not the current king) tries to call claimThrone()
.
Deployers or malicious actors can exploit this immediately after deployment, locking the throne forever.
Game becomes unwinnable after the first claim.
ETH funds in pot and platformFeesBalance become permanently locked.
Users will lose trust in the contract's fairness and correctness.
Admin functions like declareWinner()
will never trigger since the game cannot progress.
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.