usersAddress Array During Multiple joinEvent CallsThe joinEvent function is intended to register a user once for a specific country, adding their address to the usersAddress array and incrementing participant counters exactly once per unique user.
On repeated calls, it appends duplicates to usersAddress and increments counters multiple times, bloating the array and inflating totals without validation.
Likelihood:
After initial join when users accidentally or maliciously call joinEvent again for the same or different country.
In automated scripts or front-runs where multiple transactions target the same user pre-start.
Impact:
_getWinnerShares overcounts shares in loops, diluting legitimate winners' withdrawal amounts.
Array bloat causes gas exhaustion in setWinner, preventing event finalization for all participants.
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.