extern crate zcash_mmr as mmr; use mmr::{NodeData, Tree, EntryLink, Entry}; fn prepare_tree(vec: Vec) -> (Tree, EntryLink) { assert!(vec.len() > 0); // integer log2 of (vec.len()+1), -1 let mut h = (32 - ((vec.len()+1) as u32).leading_zeros() - 1)-1; let mut peak_pos = (1 << (h+1)) - 1; let mut nodes = Vec::new(); let mut root_peak: Entry = vec[peak_pos-1].clone().into(); root_peak.update_siblings( EntryLink::Stored((peak_pos - (1< vec.len() { // left child, -2^h peak_pos = peak_pos - (1<