block.timestamp
can be found in ThePredicter::register
, ThePredicter::makePrediction
and ScoreBoard::setPrediction
functions and can be manipulated by the miners. This timestamp dependence can be exploited if the contract does not have proper checks and balances in place. Attackers can manipulate the timestamp to trick the contract into executing a function prematurely or delaying its execution, leading to unexpected results. The vulnerability can be found in the below code.block.timestamp
, the Chainlink Time-Based Upkeep job can be scheduled such that block.timestamp
is extracted off-chain and hence it cannot be manipulated by miners. Another method is to use the below functions which provides a timeduration window before execution of the functions ThePredicter::register
, ThePredicter::makePrediction
and ScoreBoard::setPrediction
. The function isExpired
checks if the time durtion window is expred or not and only then allows the execution of the above functions.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.