Enum merkle::Tree [] [src]

pub enum Tree<T> {
    Leaf {
        hash: Vec<u8>,
        value: T,
    },
    Node {
        hash: Vec<u8>,
        left: Box<Tree<T>>,
        right: Box<Tree<T>>,
    },
}

Binary Tree where leaves hold a stand-alone value.

Variants

Leaf

Fields

hash: Vec<u8>
value: T
Node

Fields

hash: Vec<u8>
left: Box<Tree<T>>
right: Box<Tree<T>>

Methods

impl<T> Tree<T> where T: Hashable
[src]

fn new(hash: Vec<u8>, value: T) -> Self

Create a new tree

fn get_hash(&self) -> &Vec<u8>

Returns a hash from the tree.

fn make_leaf<D: Digest>(digest: &mut D, value: T) -> Tree<T>

Create a new leaf