The ThePredicter.sol::makePrediction
function can be called by non-approved players.
makePrediction
does not have any protections in it to prevent non-approved players from making a prediciton, this means that anyone can call it.
This is also the case in the ScoreBoard.sol::setPrediction
function. However, in that case the playersPredictions[player].isPaid
will not be set to true because the ScoreBoard.sol::confirmPredictionPayment
is not being called. This means it will have minimal protocol impact related to getting players scores and setting their predictions count.
This test passes showing that a non-approved player can make a prediction
--Foundry
It is recommended to add protections in both the ThePredicter.sol::makePrediction
and ScoreBoard.sol::setPrediction
functions to prevent non-approved players from making predictions
makePrediction has no access controls and any unapproved user can make predictions causing an incorrect calculation and distribution of rewards.
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.