Players enter the game by calling ThePredicter::register which sets their status to Status.Pending. ThePredicter::register checks whether the player already has a status of Status.Pending and denies registration if so. The organizer can approve the player by calling ThePredicter::approvePlayer which sets the player's status to Status.Approved. Because the player's status is now Status.Approved, the player can call ThePredicter::register again and enter the game multiple times, if the organizer does not check if the player is already entered. As stated in the readme, the organizer wants all his friends to participate in the game, which might not be possible if some players enter multiple times.
The player can take up multiple slots in the game, increasing their chances of winning.
Manual review
Add a check in the register function if the player is already approved.
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.