The Host can prevent participants who deposited in various ERC20 tokens from refunding their deposits.
https://github.com/Cyfrin/2024-12-christmas-dinner/blob/9682dcc306db935a2511e1eb8280d17ef01e9004/src/ChristmasDinner.sol#L194
https://github.com/Cyfrin/2024-12-christmas-dinner/blob/9682dcc306db935a2511e1eb8280d17ef01e9004/src/ChristmasDinner.sol#L137
When the host calls the christmasDinner::withdraw function, it will wipe the contract's balance in different tokens. Consequently, when a user attempts to refund their deposit, the transaction will revert because the contract has no tokens left.
use this test in christmasDinnerTest.t.sol
Users cannot claim refunds using the christmasDinner::refund function and recover their deposits.
IDE
Manual Review
The christmasDinner::withdraw function should only be callable after the deadline has passed.
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.