mirror of
				https://github.com/0glabs/0g-storage-node.git
				synced 2025-11-04 00:27:39 +00:00 
			
		
		
		
	no zero
This commit is contained in:
		
							parent
							
								
									366a2a82f6
								
							
						
					
					
						commit
						f29f4f8b61
					
				@ -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
 | 
			
		||||
 | 
			
		||||
@ -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()
 | 
			
		||||
 | 
			
		||||
@ -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 {
 | 
			
		||||
 | 
			
		||||
@ -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);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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};
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user