Description: The contract does not handle cases where someone sends ETH directly to the contract without calling claimThrone,
and there is no function for the owner to withdraw these funds.
Impact: This can lead to a situation where funds are locked in the contract forever, if user accidentally sends ETH to the contract directly.
Proof of Concept:
add following test to Game.t.sol and run it
Recommended Mitigation:
logically there is no need to send extra ETH to the contract, so it is better to remove the receive() function.
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.