Normal behavior: All ETH received by the contract should either be tracked or explicitly rejected, ensuring no funds become inaccessible.
Issue: The receive() function does nothing but accept ETH. ETH sent directly (via selfdestruct or a simple transfer) increases the contract’s balance but is not recorded in pot or platformFeesBalance:
Likelihood:
While arbitrary ETH transfers are less common, any address can send ETH to the contract, including by accident
Impact:
Locked Funds: ETH received via receive() becomes unrecoverable because there is no withdrawal mechanism for unaccounted funds.
Incorrect Accounting: getContractBalance() no longer equals the sum of pot + platformFeesBalance, leading to confusion.
Reject unexpected transfers:
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.