The contract includes a receive()
function that allows it to accept ETH sent directly without any specific action, which should ideally be handled as part of gameplay mechanics like claimThrone()
.
ETH sent this way increases the contract’s balance but is not added to pot
or platformFeesBalance
, making it unaccounted for and unwithdrawable by the winner or owner, effectively locking those funds in the contract.
Likelihood:
This occurs whenever a user or external contract mistakenly sends ETH directly to the contract address instead of using claimThrone()
.
Such mistakes can happen due to user error or misconfigured interactions, which are plausible in decentralized applications.
Impact:
Funds sent directly become permanently stuck, resulting in a loss for the sender without benefiting the game’s pot or platform fees.
This reduces trust in the contract and may confuse participants about the actual prize pool.
Prevent direct ETH transfers by reverting them:
There is no reason for a user to directly send ETH or anything to this contract. Basic user mistake, info, invalid according to CH Docs.
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.