Struct exclusion_merkle_cbt::ExclusionMerkleProof [−][src]
pub struct ExclusionMerkleProof<K, V, H, M> { /* fields omitted */ }
Expand description
The proof wrapped MerkleProof to verify the exclusion of some keys
Implementations
The underlying proof
pub fn verify_exclusion_with_ranges<'a>(
&self,
root: &H256,
range_leaves: &[RangeLeaf<K, V, H>],
excluded_keys: &'a [K]
) -> Result<(), Error<'a, K>>
Verify the excluded_keys
are all not in tree.
Ok(())
=> All keys are not in treeErr(Error::InvalidProof)
=> The proof don’t match the rootErr(Error::KeyIncluded(K))
=> Some keys are in treeErr(Error::KeyUnknown(K))
=> The proof is ok, but some keys not coverted in the range
Trait Implementations
impl<K, V, H, M> From<ExclusionMerkleProof<K, V, H, M>> for (MerkleProof<H256, M>, Vec<RangeLeaf<K, V, H>>)
impl<K, V, H, M> From<ExclusionMerkleProof<K, V, H, M>> for (MerkleProof<H256, M>, Vec<RangeLeaf<K, V, H>>)
Performs the conversion.
Auto Trait Implementations
impl<K, V, H, M> RefUnwindSafe for ExclusionMerkleProof<K, V, H, M> where
H: RefUnwindSafe,
K: RefUnwindSafe,
M: RefUnwindSafe,
V: RefUnwindSafe,
impl<K, V, H, M> Send for ExclusionMerkleProof<K, V, H, M> where
H: Send,
K: Send,
M: Send,
V: Send,
impl<K, V, H, M> Sync for ExclusionMerkleProof<K, V, H, M> where
H: Sync,
K: Sync,
M: Sync,
V: Sync,
impl<K, V, H, M> Unpin for ExclusionMerkleProof<K, V, H, M> where
H: Unpin,
K: Unpin,
M: Unpin,
V: Unpin,
impl<K, V, H, M> UnwindSafe for ExclusionMerkleProof<K, V, H, M> where
H: UnwindSafe,
K: UnwindSafe,
M: UnwindSafe,
V: UnwindSafe,