feat: Debug and Clone derives

This commit is contained in:
sinu
2024-09-30 06:48:15 -07:00
parent 7fb354cf55
commit 85f3e82745
3 changed files with 3 additions and 2 deletions

View File

@@ -47,6 +47,7 @@ use core::convert::TryFrom;
///
/// [`Hasher`]: crate::Hasher
/// [`algorithms::Sha256`]: crate::algorithms::Sha256
#[derive(Debug, Clone)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct MerkleProof<H> {
proof_hashes: Vec<H>,

View File

@@ -14,7 +14,7 @@ use crate::{
/// Advanced features include being able to make transactional changes to a tree with being able to
/// roll back to any previously committed state of the tree. This scenario is similar to Git and
/// can be found in databases and file systems.
#[derive(Clone)]
#[derive(Debug, Clone)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct MerkleTree<H> {
current_working_tree: PartialTree<H>,

View File

@@ -11,7 +11,7 @@ type PartialTreeLayer<H> = Vec<(usize, H)>;
///
/// [`MerkleTree`]: crate::MerkleTree
/// [`MerkleProof`]: crate::MerkleProof
#[derive(Clone)]
#[derive(Debug, Clone)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct PartialTree<H> {
layers: Vec<Vec<(usize, H)>>,