Dangerous usage of block.timestamp. block.timestamp can be manipulated by miners.
Location:
PuppyRaffle.selectWinner() (src/PuppyRaffle.sol#125-154) uses timestamp for comparisons
Dangerous comparisons:
require(bool,string)(block.timestamp >= raffleStartTime + raffleDuration,PuppyRaffle: Raffle not over) (src/PuppyRaffle.sol#126)
If the winner's address is a contract, it could potentially execute arbitrary code and manipulate the contract state.
Audit Wizard (Slither)
Avoid relying on block.timestamp.
Root cause: bad RNG Impact: manipulate winner
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.