The contract accepts ETH through the receive() function but doesn't properly track or allocate these funds, causing them to become permanently trapped.
The contract implements an empty receive() function that accepts ETH transfers but doesn't update the pot, platform fees, or any other tracked balance. This ETH becomes part of the contract balance but cannot be withdrawn through normal game mechanics.
The receive() function is implemented without any logic to handle the received ETH:
Permanent Fund Loss: ETH sent directly to contract cannot be recovered
Accounting Discrepancies: Contract balance won't match pot + platform fees + pending winnings
Potential Exploitation: Could be used to manipulate contract balance calculations
Either remove the receive function or implement proper ETH handling:
Remove 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.