The placeBid() function contains a misplaced AuctionSettled event emission that occurs during regular bid placement rather than actual auction completion. This event is emitted outside the buy-now logic block, causing it to fire every time a user places a regular bid, not when an auction is actually settled. This creates false auction completion records on the blockchain and can mislead off-chain systems, analytics tools, and users monitoring auction activities.
_executeSale()contains emit AuctionSettled(tokenId, bid.bidder, listing.seller, bid.amount);
User calls placeBid(tokenId) with a regular bid amount (not triggering buy-now logic)
The function passes initial validation checks
AuctionSettled event is incorrectly emitted with bid details before the bid is actually processed
Off-chain systems record this as a completed auction when it's actually just a bid placement
The auction continues normally with the bid being placed
When the auction actually ends via settleAuction() or takeHighestBid(), another AuctionSettled event is emitted from _executeSale()
This results in duplicate and misleading auction settlement records for the same auction
Blockchain logs contain false auction completion records
Analytics dashboards, indexers, and monitoring tools receive incorrect data
Frontend applications may display incorrect auction status information
Remove the misplaced AuctionSettled event emission from the regular bidding flow:
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.