According to the documentation, once a seller lists an NFT, the auction duration should be exactly 3 days.
This is also consistent with the platform’s promotional materials when attracting sellers, such as: "Our platform ensures that sellers’ NFTs receive 3 days of continuous market exposure."
However, based on the logic in the placeBid function, the auction duration behaves as follows: "When a bid is placed, the duration is extended by 15 minutes. If bids are placed continuously, the auction may never end." This clearly does not align with the "3-day" description.
BidBeastsNFTMarketPlace.sol is as follows:
Likelihood:
Each time a buyer places a bid, the duration is extended. If no further bids are placed, the duration stops extending.
Impact:
Although there is no direct financial loss, this makes it impossible for both buyers and sellers to accurately predict "whether the auction will end abruptly or how long it will last," which severely undermines the protocol’s original intent.
In most cases, the auction is more likely to end early. While it is possible for the auction to exceed 3 days, the conditions required are relatively strict.
It is relatively easy for the auction to end abruptly. Here, I demonstrate how the auction duration can exceed 3 days.
Add the following to BidBeastsMarketPlaceTest.t.sol:
Only when the first bid is placed, change the auction end timestamp to 3 days later.
Documentation for BidBeasts Marketplace is incomplete or inaccurate, potentially leading to misconfigurations or security misunderstandings.
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.