The isEligibleForReward
function contains a logical error in its eligibility criteria, potentially disqualifying players who have made only one prediction, despite meeting the stated requirement of paying at least one prediction fee.
The function in question is:
The vulnerability lies in the second condition of the return statement:
This condition requires players to have made more than one prediction to be eligible for a reward. However, according to the provided docs, the actual requirement is to have paid at least one prediction fee, which would correspond to making at least one prediction.
2. Consider adding a separate variable to track whether a player has paid the prediction fee, to make the eligibility check more explicit:
Players with only one prediction cannot withdraw.
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.