diff --git a/miner/bid_simulator.go b/miner/bid_simulator.go index baa2c9c1c5..6d98a34f58 100644 --- a/miner/bid_simulator.go +++ b/miner/bid_simulator.go @@ -519,6 +519,7 @@ func (b *bidSimulator) simBid(interruptCh chan int32, bidRuntime *BidRuntime) { // ensure simulation exited then start next simulation b.SetSimulatingBid(parentHash, bidRuntime) + bestBidOnStart := b.GetBestBid(parentHash) defer func(simStart time.Time) { logCtx := []any{ @@ -706,7 +707,12 @@ func (b *bidSimulator) simBid(interruptCh chan int32, bidRuntime *BidRuntime) { bestBid := b.GetBestBid(parentHash) if bestBid == nil { - log.Info("[BID RESULT]", "win", "true[first]", "builder", bidRuntime.bid.Builder, "hash", bidRuntime.bid.Hash().TerminalString()) + winResult := "true[first]" + if bestBidOnStart != nil { + // new block was imported, so the bestBidOnStart was cleared, the bid will be stale and useless. + winResult = "false[stale]" + } + log.Info("[BID RESULT]", "win", winResult, "builder", bidRuntime.bid.Builder, "hash", bidRuntime.bid.Hash().TerminalString()) b.SetBestBid(bidRuntime.bid.ParentHash, bidRuntime) success = true return