Attendees of the event which provided some sort of funding should bocome participants. However, sending ETH to a contract does not make msg.sender a participant.
Sending ETH to the contract calls the receive() function, which updates the sender's balance and emits the ChristmasDinner::NewSignup event. Unfortunately, the ETH sender does not become a participant, and sending eth a second time does not generate the ChristmasDinner::GenerousAdditionalContribution event.
See the testSendETHToBecomeParticipant() function in the foundry test below:
In the receive() function, apply the same logic as in the deposit() function:
A sender who is not a participant becomes a participant
the already participating sender is Generour Donor (i.e. the ChristmasDinner::GenerousAdditionalContribution event is emitted)
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.