Dangerous usage of block.timestamp. block.timestamp can be manipulated by miners.
This calculation can be manipulated by a miner: uint256 secondsSince = block.timestamp - updatedAt;
If a miner wants to prevent the contract from reverting, they could manipulate the block.timestamp
value so that the difference between it and the updatedAt
variable is always less than or equal to the TIMEOUT
value.
Slither and manual code review.
Use an external oracle service to provide a reliable source of time data and avoid using block.timestamp
, which can be exploited.
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.