The AuctionState
struct is initialized in the constructor without verifying that the provided startTime
is in the future. This oversight allows the auction to start at a past timestamp, potentially leading to unintended auction behavior.
In the constructor:
Without validating _startTime
, a malicious deployer or misconfigured deployment can set the startTime
to a value less than block.timestamp
. This could immediately open the auction or even skip critical auction phases.
The auction may start unintentionally upon deployment.
Participants could exploit the timing to gain unfair advantages.
Scheduled auctions could be invalidated, affecting user trust and platform integrity.
Manual code review.
Add a require statement to enforce future start times:
Additionally, ensure endTime
is after startTime
:
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.