The contract allows users to contribute zero token on sign up, effectively letting them register as participants without making any financial commitment and doesn't allow the host to plan properly
This test was added to the ChristmasDinnerTest.t.sol
Call deposit() with a whitelisted token and _amount = 0.
Observe that the user is added as a participant without transferring any tokens.
Ran 1 test for test/ChristmasDinnerTest.t.sol:ChristmasDinnerTest
[PASS] testParticipantDepositZeroToken() (gas: 62499)
Logs:
true
Participants can sign up for free without making any contribution. This undermines the contract's purpose of collecting funds for the event, causing budgeting issues for the host and creating a potential loophole for free participation.
Manual Review
The deposit function need to have this check:
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.