The contract accepts ETH through the receive()
function but provides no mechanism to withdraw it, resulting in permanently locked ETH.
The contract includes a receive()
function that accepts ETH:
However, the withdraw()
function only handles ERC20 tokens, leaving ETH trapped in the contract with no withdrawal mechanism.
Critical: ETH contributions are permanently locked
Users lose access to their ETH deposits
No emergency withdrawal mechanism exists
Contract accumulates unusable ETH
Foundry for testing and verification
Manual code review
Test demonstrating locked ETH:
Add ETH withdrawal functionality:
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.