The contract allows addresses to change their participation status through changeParticipationStatus() without requiring any deposits. This creates a discrepancy between actual contributors and registered participants, potentially disrupting event planning and participant tracking.
The changeParticipationStatus() function allows status changes without checking for deposits:
ChristmasDinner.sol#L148-L157
Anyone can register as a participant without financial commitment
Inaccurate participant count for event planning
Host cannot rely on participant list for actual attendee count
Could lead to resource allocation issues for the event
Manual code review
Performing formal verification with Quint
Add deposit verification before allowing participation status changes:
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.