diff --git a/network/protocol/flowcontext/blocks.go b/network/protocol/flowcontext/blocks.go index 6ffbf1917..ec7519092 100644 --- a/network/protocol/flowcontext/blocks.go +++ b/network/protocol/flowcontext/blocks.go @@ -39,8 +39,10 @@ func (f *FlowContext) broadcastTransactionsAfterBlockAdded(block *util.Block, tr for i, tx := range transactionsAcceptedToMempool { txIDsToBroadcast[i] = tx.ID() } - - copy(txIDsToBroadcast[len(transactionsAcceptedToMempool):], txIDsToBroadcast) + offset := len(transactionsAcceptedToMempool) + for i, txID := range txIDsToRebroadcast { + txIDsToBroadcast[offset+i] = txID + } if len(txIDsToBroadcast) == 0 { return nil @@ -64,5 +66,9 @@ func (f *FlowContext) AddBlock(block *util.Block, flags blockdag.BehaviorFlags) if err != nil { return err } + err = f.OnNewBlock(block) + if err != nil { + return err + } return f.Broadcast(domainmessage.NewMsgInvBlock(block.Hash())) }