The logic for validating if a user is making prediction within the required time period doesn't work properly.
Both methods ThePredicter::makePrediction
and ScoreBoard::setPrediction
contain logic for validating if user is making prediction within the required time period - until 19:00:00 UTC on the day of the match. However the used timestamps calculation do not match that condition. For example 68400
represents 19 hours and not 24 hours as the logic would suggest. The substraction of one hour also is not correctly implemented.
Users cannot make predictions in some time periods that they should be able to (for example in 18:00:00 UTC on the day of the match).
Manual Review
Rewrite checks as follows:
For the ThePredicter::makePrediction
method:
For the ScoreBoard::setPrediction
method:
In both contracts there is a similar error in the computation of the timestamps of the matches.
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.