In the ThePredicter::register
function, a validation check is performed to ensure a user's state remains Pending
, effectively preventing duplicate registrations. However, the function lacks a crucial validation to prevent users who have already been approved from re-registering, potentially leading to unintended consequences in the application logic. This oversight could permit users with an 'Approved' status to re-enter the registration process, which may disrupt the intended flow and data integrity of the system.
This oversight permits users with an `Approved` status to register multiple times, potentially monopolizing available slots and thereby limiting opportunities for new users to participate as players. This could lead to an inefficient allocation of resources and diminish the overall accessibility and fairness of the system.
Manual review and test.
Here is a test that can be implemented in ThePredicter.test.sol
:
Step by step:
Stranger registers.
Organiser approves them.
Stranger registers again.
Change the check to make sure they have not registered and 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.