diff --git a/lib/modules/blockchain/bc-db-writer/src/blocks/fork_tree.rs b/lib/modules/blockchain/bc-db-writer/src/blocks/fork_tree.rs index 30f41d92a66a64c9abfb6519af5f55016d9593a0..bb058054dba5ee5085fba0e4e7c93d7c164fd7f7 100644 --- a/lib/modules/blockchain/bc-db-writer/src/blocks/fork_tree.rs +++ b/lib/modules/blockchain/bc-db-writer/src/blocks/fork_tree.rs @@ -74,6 +74,7 @@ pub fn insert_new_fork_block( /// Modify the main branch (function to call after a successful roolback) pub fn change_main_branch( db: &Db, + w: &mut DbWriter, fork_tree: &mut ForkTree, old_current_blockstamp: Blockstamp, new_current_blockstamp: Blockstamp, @@ -83,15 +84,12 @@ pub fn change_main_branch( let removed_blockstamps = fork_tree.get_removed_blockstamps(); // Remove too old blocks - db.write(|mut w| { - let fork_blocks_store = db.get_store(FORK_BLOCKS); - for blockstamp in removed_blockstamps { - let blockstamp_bytes: Vec<u8> = blockstamp.into(); - fork_blocks_store.delete(w.as_mut(), &blockstamp_bytes)?; - } - - Ok(w) - }) + let fork_blocks_store = db.get_store(FORK_BLOCKS); + for blockstamp in removed_blockstamps { + let blockstamp_bytes: Vec<u8> = blockstamp.into(); + fork_blocks_store.delete(w.as_mut(), &blockstamp_bytes)?; + } + Ok(()) } #[cfg(test)] diff --git a/lib/modules/blockchain/blockchain/src/fork/rollback.rs b/lib/modules/blockchain/blockchain/src/fork/rollback.rs index 6ff7069fc2f38afded70289626ad2fbc0819a1ff..8aacf3b83eb8bde3289b6ba518951e58897dc52f 100644 --- a/lib/modules/blockchain/blockchain/src/fork/rollback.rs +++ b/lib/modules/blockchain/blockchain/src/fork/rollback.rs @@ -146,6 +146,7 @@ pub fn apply_rollback(bc: &mut BlockchainModule, new_bc_branch: Vec<Blockstamp>) // update main branch in fork tree if let Err(err) = durs_bc_db_writer::blocks::fork_tree::change_main_branch( &db, + &mut w, &mut bc.fork_tree, old_current_blockstamp, bc.current_blockstamp,