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>; }