pub trait PaddingProvable {
type PaddingProof;
// Required methods
fn prove_padding_node(
&self,
idx: &TreeIndex,
secret: &Secret,
) -> Self::PaddingProof;
fn verify_padding_node(
node: &<Self as ProofExtractable>::ProofNode,
proof: &Self::PaddingProof,
idx: &TreeIndex,
) -> bool
where Self: ProofExtractable;
}
Expand description
Trait for prove and verify padding nodes at random sampling.
Required Associated Types§
Sourcetype PaddingProof
type PaddingProof
The data type of the proof for a padding node.
Required Methods§
Sourcefn prove_padding_node(
&self,
idx: &TreeIndex,
secret: &Secret,
) -> Self::PaddingProof
fn prove_padding_node( &self, idx: &TreeIndex, secret: &Secret, ) -> Self::PaddingProof
Generate the proof for padding node at given tree index.
Sourcefn verify_padding_node(
node: &<Self as ProofExtractable>::ProofNode,
proof: &Self::PaddingProof,
idx: &TreeIndex,
) -> boolwhere
Self: ProofExtractable,
fn verify_padding_node(
node: &<Self as ProofExtractable>::ProofNode,
proof: &Self::PaddingProof,
idx: &TreeIndex,
) -> boolwhere
Self: ProofExtractable,
Verify the proof for a padding node at given tree index with associated node data in the Merkle proof.
Note that node
is the node data in the Merkle proof,
proof
is the proof of the padding node,
idx
is the tree index.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.