Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: low
Invalid

Auction Cannot Start at `startTime` Due to Strict Comparison, Causing Unexpected Reverts

Summary

The whenActive modifier in the Auction contract enforces that the auction starts only after state.startTime, rather than at or after state.startTime. This strict comparison causes the auction to reject bids at the exact start time, which is misaligned with expected behavior.

Vulnerability Details

  • Found in contracts/zeno/Auction.sol at Line 35

34: modifier whenActive() {
35: => require(block.timestamp > state.startTime, "Auction not started");
36: require(block.timestamp < state.endTime, "Auction ended");
...
38: }
  • state.startTime represents the exact timestamp when the auction is scheduled to start.

  • However, the whenActive modifier checks block.timestamp > state.startTime, meaning that if a user tries to bid at block.timestamp == state.startTime, the transaction reverts.

Impact

  • Severity: Low

  • The auction does not align with expected behavior, preventing users from bidding at the exact startTime.

Tools Used

Manual Review

Recommendations

  • Modify the whenActive modifier to allow participation at the start time:

modifier whenActive() {
- require(block.timestamp > state.startTime, "Auction not started");
+ require(block.timestamp >= state.startTime, "Auction not started");
require(block.timestamp < state.endTime, "Auction ended");
_;
}
Updates

Lead Judging Commences

inallhonesty Lead Judge 3 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.