The contract lacks a dedicated withdrawal function for the ETH deposits made by participants. While _refundETH
is a private function called during the refund
process, there is no explicit external or public function allowing the contract owner (host) to withdraw all ETH deposited in the contract for event facilitation.
Deploy the contract.
Send ETH to the contract using the receive()
function.
Attempt to withdraw the ETH as the host.
Observe that there is no function available to retrieve the ETH.
The contract should provide a withdrawETH
function for the host to retrieve ETH deposited by participants.
Contract Usability Issue: ETH deposits made by participants remain locked in the contract, as there is no mechanism for the host to retrieve these funds.
foundry
Implement a withdrawETH
function, similar to the existing withdraw
function for token balances, allowing the host to withdraw all ETH held by the contract.
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.