diff --git a/core/service/blockMainService.go b/core/service/blockMainService.go index 0dbb95a27..4904e3118 100644 --- a/core/service/blockMainService.go +++ b/core/service/blockMainService.go @@ -1339,15 +1339,6 @@ func (bs *BlockService) PopOffToBlock(commonBlock *model.Block) ([]*model.Block, return nil, err } - for _, dQuery := range derivedQueries { - queries := dQuery.Rollback(commonBlock.Height) - err = bs.QueryExecutor.ExecuteTransactions(queries) - if err != nil { - _ = bs.QueryExecutor.RollbackTx() - return nil, err - } - } - mempoolsBackupBytes = bytes.NewBuffer([]byte{}) for _, mempool := range mempoolsBackup { @@ -1377,6 +1368,15 @@ func (bs *BlockService) PopOffToBlock(commonBlock *model.Block) ([]*model.Block, mempoolsBackupBytes.Write(commonUtils.ConvertUint32ToBytes(sizeMempool)) mempoolsBackupBytes.Write(mempool.GetTransactionBytes()) } + + for _, dQuery := range derivedQueries { + queries := dQuery.Rollback(commonBlock.Height) + err = bs.QueryExecutor.ExecuteTransactions(queries) + if err != nil { + _ = bs.QueryExecutor.RollbackTx() + return nil, err + } + } err = bs.QueryExecutor.CommitTx() if err != nil { return nil, err