The contract lacks a mechanism to handle the ETH deposits in the ChristmasDinner::withdraw
function which results in a permanent loss of ETH.
The ChristmasDinner::withdraw
function is missing a mechanism to handle the ETH balance of the contract, which results in a permanent loss of ETH that was sent to the contract but not refunded before the deadline. The withdraw
function only transfers token balances (WETH, WBTC, and USDC) to the host. It does not account for ETH sent directly to the contract. Since ETH is part of the supported currencies (as stated in the overview), this is a clear design flaw.
Participants lose their ETH contributions to the protocol.
The host cannot use these funds for the event, violating the core purpose of the contract.
Manual review
The ChristamsDinner::withdraw
function should also include logic to transfer any ETH balance of the contract to the host.
Add an appropriate error to revert with as well.
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.