2022-10-22 19:34:50 -07:00
|
|
|
use std::io::{Read, Write};
|
|
|
|
use crate::sync::tree::{CTree, Witness};
|
|
|
|
use zcash_primitives::merkle_tree::{CommitmentTree, HashSer, IncrementalWitness};
|
|
|
|
use crate::sync::Node;
|
2021-06-24 05:08:20 -07:00
|
|
|
|
|
|
|
#[allow(dead_code)]
|
|
|
|
pub fn print_node(n: &Node) {
|
|
|
|
println!("{:?}", hex::encode(n.repr));
|
|
|
|
}
|
|
|
|
|
|
|
|
#[allow(dead_code)]
|
|
|
|
pub fn print_tree(t: &CommitmentTree<Node>) {
|
|
|
|
println!("{:?}", t.left.map(|n| hex::encode(n.repr)));
|
|
|
|
println!("{:?}", t.right.map(|n| hex::encode(n.repr)));
|
|
|
|
for p in t.parents.iter() {
|
|
|
|
println!("{:?}", p.map(|n| hex::encode(n.repr)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[allow(dead_code)]
|
|
|
|
pub fn print_witness(w: &IncrementalWitness<Node>) {
|
|
|
|
println!("Tree");
|
|
|
|
print_tree(&w.tree);
|
|
|
|
println!("Filled");
|
|
|
|
for n in w.filled.iter() {
|
|
|
|
print_node(n);
|
|
|
|
}
|
|
|
|
println!("Cursor");
|
2022-06-08 05:48:16 -07:00
|
|
|
w.cursor.as_ref().map(print_tree);
|
2021-06-24 05:08:20 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
pub fn print_ctree(t: &CTree) {
|
|
|
|
println!("Tree");
|
2022-10-22 19:34:50 -07:00
|
|
|
println!("{:?}", t.left.map(|n| hex::encode(n)));
|
|
|
|
println!("{:?}", t.right.map(|n| hex::encode(n)));
|
2021-06-24 05:08:20 -07:00
|
|
|
for p in t.parents.iter() {
|
2022-10-22 19:34:50 -07:00
|
|
|
println!("{:?}", p.map(|n| hex::encode(n)));
|
2021-06-24 05:08:20 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[allow(dead_code)]
|
|
|
|
pub fn print_witness2(w: &Witness) {
|
|
|
|
let t = &w.tree;
|
|
|
|
print_ctree(t);
|
|
|
|
println!("Filled");
|
|
|
|
for n in w.filled.iter() {
|
|
|
|
print_node(n);
|
|
|
|
}
|
|
|
|
let t = &w.cursor;
|
|
|
|
println!("Cursor");
|
2022-10-22 19:34:50 -07:00
|
|
|
println!("{:?}", t.left.map(|n| hex::encode(n)));
|
|
|
|
println!("{:?}", t.right.map(|n| hex::encode(n)));
|
2021-06-24 05:08:20 -07:00
|
|
|
for p in t.parents.iter() {
|
2022-10-22 19:34:50 -07:00
|
|
|
println!("{:?}", p.map(|n| hex::encode(n)));
|
2021-06-24 05:08:20 -07:00
|
|
|
}
|
2021-06-26 02:52:03 -07:00
|
|
|
}
|