This commit is contained in:
Peter Zhang 2025-09-08 16:40:15 +08:00
parent 366a2a82f6
commit f29f4f8b61
5 changed files with 7 additions and 15 deletions

View File

@ -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

View File

@ -682,13 +682,13 @@ pub struct OptionalHashNodeDBTransaction(Box<dyn NodeTransaction<DataRoot>>);
impl NodeTransaction<OptionalHash> 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()

View File

@ -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<Vec<OptionalHash>> {
/// Convenience function that combines data_to_merkle_leaves and conversion to H256
pub fn data_to_merkle_leaves_h256(leaf_data: &[u8]) -> Result<Vec<H256>> {
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 {

View File

@ -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);
}
}

View File

@ -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};