mirror of
https://github.com/0glabs/0g-storage-node.git
synced 2025-11-03 16:17:27 +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> {
|
pub fn as_ref(&self) -> Option<&H256> {
|
||||||
self.0.as_ref()
|
self.0.as_ref()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_h256_or_zero(&self) -> H256 {
|
|
||||||
self.0.unwrap()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add From conversions for easier usage
|
// Add From conversions for easier usage
|
||||||
|
|||||||
@ -682,13 +682,13 @@ pub struct OptionalHashNodeDBTransaction(Box<dyn NodeTransaction<DataRoot>>);
|
|||||||
|
|
||||||
impl NodeTransaction<OptionalHash> for OptionalHashNodeDBTransaction {
|
impl NodeTransaction<OptionalHash> for OptionalHashNodeDBTransaction {
|
||||||
fn save_node(&mut self, layer: usize, pos: usize, node: &OptionalHash) {
|
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)]) {
|
fn save_node_list(&mut self, nodes: &[(usize, usize, &OptionalHash)]) {
|
||||||
let h256_nodes: Vec<(usize, usize, DataRoot)> = nodes
|
let h256_nodes: Vec<(usize, usize, DataRoot)> = nodes
|
||||||
.iter()
|
.iter()
|
||||||
.map(|(layer, pos, oh)| (*layer, *pos, oh.to_h256_or_zero()))
|
.map(|(layer, pos, oh)| (*layer, *pos, oh.unwrap()))
|
||||||
.collect();
|
.collect();
|
||||||
let h256_node_refs: Vec<(usize, usize, &DataRoot)> = h256_nodes
|
let h256_node_refs: Vec<(usize, usize, &DataRoot)> = h256_nodes
|
||||||
.iter()
|
.iter()
|
||||||
|
|||||||
@ -692,7 +692,7 @@ impl LogStoreRead for LogManager {
|
|||||||
fn get_context(&self) -> crate::error::Result<(DataRoot, u64)> {
|
fn get_context(&self) -> crate::error::Result<(DataRoot, u64)> {
|
||||||
let merkle = self.merkle.read_recursive();
|
let merkle = self.merkle.read_recursive();
|
||||||
Ok((
|
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,
|
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 to_insert_subtrees = Vec::new();
|
||||||
let mut start_index = 0;
|
let mut start_index = 0;
|
||||||
for (subtree_height, root) in subtree_list {
|
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);
|
start_index += 1 << (subtree_height - 1);
|
||||||
}
|
}
|
||||||
self.flow_store
|
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
|
/// 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>> {
|
pub fn data_to_merkle_leaves_h256(leaf_data: &[u8]) -> Result<Vec<H256>> {
|
||||||
let optional_hashes = data_to_merkle_leaves(leaf_data)?;
|
let optional_hashes = data_to_merkle_leaves(leaf_data)?;
|
||||||
Ok(optional_hashes
|
Ok(optional_hashes.into_iter().map(|oh| oh.unwrap()).collect())
|
||||||
.into_iter()
|
|
||||||
.map(|oh| oh.to_h256_or_zero())
|
|
||||||
.collect())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn bytes_to_entries(size_bytes: u64) -> u64 {
|
pub fn bytes_to_entries(size_bytes: u64) -> u64 {
|
||||||
|
|||||||
@ -131,7 +131,7 @@ fn test_root() {
|
|||||||
0,
|
0,
|
||||||
None,
|
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::error::Error;
|
||||||
use crate::log_store::log_manager::{
|
use crate::log_store::log_manager::{
|
||||||
data_to_merkle_leaves, sub_merkle_tree, COL_BLOCK_PROGRESS, COL_MISC, COL_TX, COL_TX_COMPLETED,
|
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::log_store::metrics;
|
||||||
use crate::{try_option, LogManager, ZgsKeyValueDB};
|
use crate::{try_option, LogManager, ZgsKeyValueDB};
|
||||||
use anyhow::{anyhow, Result};
|
use anyhow::{anyhow, Result};
|
||||||
use append_merkle::{MerkleTreeRead, AppendMerkleTree, OptionalHash, Sha3Algorithm};
|
use append_merkle::{AppendMerkleTree, MerkleTreeRead, OptionalHash, Sha3Algorithm};
|
||||||
use ethereum_types::H256;
|
use ethereum_types::H256;
|
||||||
use merkle_light::merkle::log2_pow2;
|
use merkle_light::merkle::log2_pow2;
|
||||||
use shared_types::{DataRoot, Transaction};
|
use shared_types::{DataRoot, Transaction};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user