Once the user joins a Martenitsa event, they are unable to join future events due to bad participants management after the event ends.
The MartenitsaEvent smart contract implements an event system where users can join and temporarily become producers, so that they can create and sell MartenitsaTokens.
However, once the user joins an event, they are permanently recorded in the _participants mapping and never removed from it, preventing them from joinining future events.
This issue leads to unintended denial of participation for users who are eligible to join Martenitsa events by having enough HealthTokens.
Foundry, manual review
Modify the MartenitsaEvent::stopEvent function to reset both the participants array and the participants mapping, allowing them to rejoin future events:
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.