diff --git a/domain/consensus/processes/consensusstatemanager/update_virtual.go b/domain/consensus/processes/consensusstatemanager/update_virtual.go index 8b7c7b675..c714a89b4 100644 --- a/domain/consensus/processes/consensusstatemanager/update_virtual.go +++ b/domain/consensus/processes/consensusstatemanager/update_virtual.go @@ -69,22 +69,25 @@ func (csm *consensusStateManager) updateVirtualDiffParents( newVirtualDiffParents := []*externalapi.DomainHash{newBlockHash} for _, virtualDiffParent := range virtualDiffParents { if !newBlockParents.Contains(virtualDiffParent) { - virtualDiffParentUTXODiff, err := csm.utxoDiffStore.UTXODiff(csm.databaseContext, virtualDiffParent) - if err != nil { - return err - } - newDiff, err := utxoalgebra.DiffFrom(virtualUTXODiff, virtualDiffParentUTXODiff) - if err != nil { - return err - } - err = csm.utxoDiffStore.Stage(virtualDiffParent, newDiff, newBlockHash) - if err != nil { - return err - } newVirtualDiffParents = append(newVirtualDiffParents, virtualDiffParent) } } + + for _, virtualDiffParent := range newVirtualDiffParents { + virtualDiffParentUTXODiff, err := csm.utxoDiffStore.UTXODiff(csm.databaseContext, virtualDiffParent) + if err != nil { + return err + } + newDiff, err := utxoalgebra.DiffFrom(virtualUTXODiff, virtualDiffParentUTXODiff) + if err != nil { + return err + } + err = csm.utxoDiffStore.Stage(virtualDiffParent, newDiff, nil) + if err != nil { + return err + } + } } return csm.consensusStateStore.StageVirtualDiffParents(newVirtualDiffParents)