In the bidBeastMarketPlace:: placeBid() function, when a bidder submits a bid greater than or equal to bidBeastMarketPlace:: listing.buyNowPrice, the auction is immediately settled via bidBeastMarketPlace:: _executeSale(). However, the function performs a return statement before the bidBeastMarketPlace:: emit AuctionSettled(...) call, causing the event to never be emitted for instant-settled auctions.
This omission breaks the consistency of the event log:
Regular auctions emit AuctionSettled when they conclude.
Instant-settled auctions (via buyNowPrice) do not emit the event, making it harder for off-chain systems to track finalized auctions.
Off-chain services (indexers, UIs, analytics, bots) depending on the AuctionSettled event will not detect instantly-settled auctions.
Protocol-integrated systems relying on this event for state updates, accounting, or triggers may malfunction.
Creates inconsistent protocol behavior, making instant settlements invisible in event logs.
Impact:
Off-chain services (indexers, UIs, analytics, bots) depending on the AuctionSettled event will not detect instantly-settled auctions.
Protocol-integrated systems relying on this event for state updates, accounting, or triggers may malfunction.
Creates inconsistent protocol behavior, making instant settlements invisible in event logs.
Alice lists an NFT with a buyNowPrice.
Bob submits a bid ≥ buyNowPrice.
The sale executes successfully (_executeSale() runs), and funds/NFT are transferred.
However, since the function returns early, the AuctionSettled event is not emitted.
Off-chain indexersdepending on emits wont get to know that whether the auction has happened or not .
Move the emit AuctionSettled(...) inside the if block handling the buyNowPrice case, before the return, to ensure consistent event emission for both instant-settled and regular auctions.
placeBid emits AuctionSettled even though the auction hasn’t ended, causing misleading event logs.
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.