Under normal behavior, the AuctionSettled event should only be emitted when the auction is finalized (e.g., in _executeSale after transferring funds and NFT).
In the current implementation, placeBid (normal bidding flow) incorrectly emits AuctionSettled, which generates settlement logs on every bid, misleading frontends, monitoring, and auditing systems into thinking the auction has already concluded.
Likelihood:
This issue occurs every time a user places a bid, since placeBid consistently triggers the incorrect event emission.
As a result, a single auction may generate multiple fake AuctionSettled logs.
Impact:
Log pollution — Event indexers (e.g., The Graph, Dune, frontend subscriptions) will receive incorrect settlement events, leading to inconsistent data.
Monitoring and security analysis disruption — Auditors, on-chain monitoring tools, and compliance systems may be misled into believing that the auction has settled prematurely
The following example demonstrates that when a user places a bid, the contract incorrectly emits the AuctionSettled event. Although the auction is still ongoing, the logs misleadingly indicate it has already settled, causing frontends or on-chain indexers to show incorrect states.
Remove the incorrect AuctionSettled emission from placeBid and keep the event emission inside _executeSale as the only valid settlement trigger. This ensures that the event semantics match the actual logic, preventing log pollution and misinterpretation.
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.