A user can call christmasDinner::refund to retrieve their deposit but still participate in the event.
https://github.com/Cyfrin/2024-12-christmas-dinner/blob/9682dcc306db935a2511e1eb8280d17ef01e9004/src/ChristmasDinner.sol#L137
When a user calls christmasDinner::refund, it sends the user all deposited amounts in various tokens. However, it does not update the user's participation status, allowing them to remain marked as a participant in the event despite receiving a refund.
use this test in christmasDinnerTest.t.sol`
A user can refund all their deposits and still participate in the event, potentially disrupting the event's integrity and fairness.
IDE
Manual Review
Update the user participation status to false after processing the refund to prevent participation after the refund is issued.
We can also add mapping to check whether user called refund or not and add it as check in changeParticipationStatus function
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.