From f29f4f8b618b656057861c9238477bf12cb3d5e4 Mon Sep 17 00:00:00 2001 From: Peter Zhang Date: Mon, 8 Sep 2025 16:40:15 +0800 Subject: [PATCH] no zero --- common/append_merkle/src/merkle_tree.rs | 4 ---- node/storage/src/log_store/flow_store.rs | 4 ++-- node/storage/src/log_store/log_manager.rs | 9 +++------ node/storage/src/log_store/tests.rs | 2 +- node/storage/src/log_store/tx_store.rs | 3 +-- 5 files changed, 7 insertions(+), 15 deletions(-) diff --git a/common/append_merkle/src/merkle_tree.rs b/common/append_merkle/src/merkle_tree.rs index 2de541f..f2886ed 100644 --- a/common/append_merkle/src/merkle_tree.rs +++ b/common/append_merkle/src/merkle_tree.rs @@ -40,10 +40,6 @@ impl OptionalHash { pub fn as_ref(&self) -> Option<&H256> { self.0.as_ref() } - - pub fn to_h256_or_zero(&self) -> H256 { - self.0.unwrap() - } } // Add From conversions for easier usage diff --git a/node/storage/src/log_store/flow_store.rs b/node/storage/src/log_store/flow_store.rs index 8697fdf..7858c16 100644 --- a/node/storage/src/log_store/flow_store.rs +++ b/node/storage/src/log_store/flow_store.rs @@ -682,13 +682,13 @@ pub struct OptionalHashNodeDBTransaction(Box>); impl NodeTransaction for OptionalHashNodeDBTransaction { fn save_node(&mut self, layer: usize, pos: usize, node: &OptionalHash) { - self.0.save_node(layer, pos, &node.to_h256_or_zero()); + self.0.save_node(layer, pos, &node.unwrap()); } fn save_node_list(&mut self, nodes: &[(usize, usize, &OptionalHash)]) { let h256_nodes: Vec<(usize, usize, DataRoot)> = nodes .iter() - .map(|(layer, pos, oh)| (*layer, *pos, oh.to_h256_or_zero())) + .map(|(layer, pos, oh)| (*layer, *pos, oh.unwrap())) .collect(); let h256_node_refs: Vec<(usize, usize, &DataRoot)> = h256_nodes .iter() diff --git a/node/storage/src/log_store/log_manager.rs b/node/storage/src/log_store/log_manager.rs index 49c3652..89436a2 100644 --- a/node/storage/src/log_store/log_manager.rs +++ b/node/storage/src/log_store/log_manager.rs @@ -692,7 +692,7 @@ impl LogStoreRead for LogManager { fn get_context(&self) -> crate::error::Result<(DataRoot, u64)> { let merkle = self.merkle.read_recursive(); Ok(( - merkle.pora_chunks_merkle.root().to_h256_or_zero(), + merkle.pora_chunks_merkle.root().unwrap(), merkle.last_chunk_start_index() + merkle.last_chunk_merkle.leaves() as u64, )) } @@ -1268,7 +1268,7 @@ impl LogManager { let mut to_insert_subtrees = Vec::new(); let mut start_index = 0; for (subtree_height, root) in subtree_list { - to_insert_subtrees.push((start_index, subtree_height, root.to_h256_or_zero())); + to_insert_subtrees.push((start_index, subtree_height, root.unwrap())); start_index += 1 << (subtree_height - 1); } self.flow_store @@ -1349,10 +1349,7 @@ pub fn data_to_merkle_leaves(leaf_data: &[u8]) -> Result> { /// Convenience function that combines data_to_merkle_leaves and conversion to H256 pub fn data_to_merkle_leaves_h256(leaf_data: &[u8]) -> Result> { let optional_hashes = data_to_merkle_leaves(leaf_data)?; - Ok(optional_hashes - .into_iter() - .map(|oh| oh.to_h256_or_zero()) - .collect()) + Ok(optional_hashes.into_iter().map(|oh| oh.unwrap()).collect()) } pub fn bytes_to_entries(size_bytes: u64) -> u64 { diff --git a/node/storage/src/log_store/tests.rs b/node/storage/src/log_store/tests.rs index 4659d14..75a6c24 100644 --- a/node/storage/src/log_store/tests.rs +++ b/node/storage/src/log_store/tests.rs @@ -131,7 +131,7 @@ fn test_root() { 0, None, ); - assert_eq!(mt.root(), append_mt.root().to_h256_or_zero().0); + assert_eq!(mt.root(), append_mt.root().unwrap().0); } } diff --git a/node/storage/src/log_store/tx_store.rs b/node/storage/src/log_store/tx_store.rs index dbfc919..ee2b3c4 100644 --- a/node/storage/src/log_store/tx_store.rs +++ b/node/storage/src/log_store/tx_store.rs @@ -1,4 +1,3 @@ - use crate::error::Error; use crate::log_store::log_manager::{ data_to_merkle_leaves, sub_merkle_tree, COL_BLOCK_PROGRESS, COL_MISC, COL_TX, COL_TX_COMPLETED, @@ -7,7 +6,7 @@ use crate::log_store::log_manager::{ use crate::log_store::metrics; use crate::{try_option, LogManager, ZgsKeyValueDB}; use anyhow::{anyhow, Result}; -use append_merkle::{MerkleTreeRead, AppendMerkleTree, OptionalHash, Sha3Algorithm}; +use append_merkle::{AppendMerkleTree, MerkleTreeRead, OptionalHash, Sha3Algorithm}; use ethereum_types::H256; use merkle_light::merkle::log2_pow2; use shared_types::{DataRoot, Transaction};