The protocol is designed to be an event participation event, where user's join and at the end of the event, owner sets winner, and users who bet correctly win some shares
The protocol is hardcoded to be a single-use contract instance. The critical event timeline variables, such as eventStartDate and eventEndDate, are initialized exclusively within the constructor and cannot be modified or reset once deployed. Furthermore, there is no owner function to clear the internal state (like the usersAddress array or totalParticipantShares) after the event concludes and the winner is declared.
Likelihood:
When the contract is deployed
Impact:
For every new event the protocol wishes to host, the owner must pay the full gas cost to deploy an entirely new contract, including all the logic. This is highly inefficient and expensive.
All historical data, analytics, and user relationships are siloed in the old contract instance, preventing the accumulation of protocol history.
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.