MartenitsaEvent
contract is not properly resetting the state variables after each event cycle. This leads to issues where participants from previous events are unable to participate in subsequent events, as their participation status persists.
The main vulnerability lies in the lack of resetting state variables after each event cycle:
The MartenitsaEvent::startEvent
function is called and the event begin.
Users are joining the event.
The event period ends and the event is stopped.
The MartenitsaEvent::startEvent
function is called again for a new event.
Participants who took part in previous events are unable to join due to the lack of resetting the _participants
state.
Participants from previous events are unfairly restricted from participating in subsequent events, leading to a loss of opportunity for engagement.
Overall, the integrity and functionality of the event management system are compromised, affecting user experience and trust in the contract.
Manual Review
Reset the state variable after the event ends:
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.