use crate::converter::IdentifierConverter;
use sp_std::vec::Vec;
use sp_core::H256;
pub trait MerkleTree: IdentifierConverter {
type VerifyingShares;
type Hash;
fn merkle_build_tree(vs: &Self::VerifyingShares) -> Result, E>;
fn merkle_generate_proof_from_tree(vsm: &Self::VerifyingShares, t: &[Self::Hash], i: A) -> Result<(Vec, Vec), E>;
fn merkle_verify_proof(&self, vs: &[u8], p: &[Self::Hash], r: Self::Hash, i: A) -> Result<(), E>;
}