The whenActive
modifier in the Auction.sol
contract incorrectly checks the auction's start time using a strict greater-than comparison (>
) instead of a greater-than-or-equal-to comparison (>=
). This causes valid transactions at the exact start time to be rejected, even though the auction should be active.
The modifier currently uses the condition:
This condition excludes the moment when block.timestamp
is exactly equal to state.startTime
. As a result, if a user calls the buy
function at the precise start time of the auction, the transaction will revert with "Auction not started" despite the auction being intended as active from that moment.
User Experience: Bidders may experience confusion and frustration if their transactions are unexpectedly reverted at the start time, leading to potential loss of gas fees.
Fairness: The auction could inadvertently disadvantage users trying to place bids at the exact start time, affecting the auction's integrity and fairness.
Manual
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.