From b602946c0cdce3f534d89cfe1dba7214c2620771 Mon Sep 17 00:00:00 2001
From: librelois <elois@ifee.fr>
Date: Tue, 26 Nov 2019 14:39:27 +0100
Subject: [PATCH] [fix] bc: if stackable block is invalid, write tx must return
 err

---
 .../blockchain/src/fork/stackable_blocks.rs   | 28 +++++++++++++------
 1 file changed, 19 insertions(+), 9 deletions(-)

diff --git a/lib/modules/blockchain/blockchain/src/fork/stackable_blocks.rs b/lib/modules/blockchain/blockchain/src/fork/stackable_blocks.rs
index 582dbcf1..946afaed 100644
--- a/lib/modules/blockchain/blockchain/src/fork/stackable_blocks.rs
+++ b/lib/modules/blockchain/blockchain/src/fork/stackable_blocks.rs
@@ -82,17 +82,27 @@ pub fn apply_stackable_blocks(bc: &mut BlockchainModule) {
                             bc,
                             &BlockchainEvent::StackUpValidBlock(Box::new(new_current_block)),
                         );
+                        Ok(w)
+                    }
+                    Ok(re) => {
+                        warn!(
+                            "fail to stackable_block({}) : {:?}",
+                            stackable_block_number, re
+                        );
+                        Err(DbError::WriteAbort {
+                            reason: format!("{:?}", re),
+                        })
+                    }
+                    Err(e) => {
+                        warn!(
+                            "fail to stackable_block({}) : {:?}",
+                            stackable_block_number, e
+                        );
+                        Err(DbError::WriteAbort {
+                            reason: format!("{:?}", e),
+                        })
                     }
-                    Ok(re) => warn!(
-                        "fail to stackable_block({}) : {:?}",
-                        stackable_block_number, re
-                    ),
-                    Err(e) => warn!(
-                        "fail to stackable_block({}) : {:?}",
-                        stackable_block_number, e
-                    ),
                 }
-                Ok(w)
             });
             bc.db = Some(db);
             match db_write_result {
-- 
GitLab