Trait pallet_mmr_primitives::MmrApi [−][src]
pub trait MmrApi<Block: BlockT, Hash: Codec>: Core<Block> { fn generate_proof(
&self,
__runtime_api_at_param__: &BlockId<Block>,
leaf_index: u64
) -> Result<Result<(EncodableOpaqueLeaf, Proof<Hash>), Error>, ApiError> { ... } fn generate_proof_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext,
leaf_index: u64
) -> Result<Result<(EncodableOpaqueLeaf, Proof<Hash>), Error>, ApiError> { ... } fn verify_proof(
&self,
__runtime_api_at_param__: &BlockId<Block>,
leaf: EncodableOpaqueLeaf,
proof: Proof<Hash>
) -> Result<Result<(), Error>, ApiError> { ... } fn verify_proof_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext,
leaf: EncodableOpaqueLeaf,
proof: Proof<Hash>
) -> Result<Result<(), Error>, ApiError> { ... } fn verify_proof_stateless(
&self,
__runtime_api_at_param__: &BlockId<Block>,
root: Hash,
leaf: EncodableOpaqueLeaf,
proof: Proof<Hash>
) -> Result<Result<(), Error>, ApiError> { ... } fn verify_proof_stateless_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext,
root: Hash,
leaf: EncodableOpaqueLeaf,
proof: Proof<Hash>
) -> Result<Result<(), Error>, ApiError> { ... } }
Expand description
API to interact with MMR pallet.
Provided methods
Generate MMR proof for a leaf under given index.
fn generate_proof_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext,
leaf_index: u64
) -> Result<Result<(EncodableOpaqueLeaf, Proof<Hash>), Error>, ApiError>
fn generate_proof_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext,
leaf_index: u64
) -> Result<Result<(EncodableOpaqueLeaf, Proof<Hash>), Error>, ApiError>
Generate MMR proof for a leaf under given index.
fn verify_proof(
&self,
__runtime_api_at_param__: &BlockId<Block>,
leaf: EncodableOpaqueLeaf,
proof: Proof<Hash>
) -> Result<Result<(), Error>, ApiError>
fn verify_proof(
&self,
__runtime_api_at_param__: &BlockId<Block>,
leaf: EncodableOpaqueLeaf,
proof: Proof<Hash>
) -> Result<Result<(), Error>, ApiError>
Verify MMR proof against on-chain MMR.
Note this function will use on-chain MMR root hash and check if the proof matches the hash. See Self::verify_proof_stateless for a stateless verifier.
fn verify_proof_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext,
leaf: EncodableOpaqueLeaf,
proof: Proof<Hash>
) -> Result<Result<(), Error>, ApiError>
fn verify_proof_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext,
leaf: EncodableOpaqueLeaf,
proof: Proof<Hash>
) -> Result<Result<(), Error>, ApiError>
Verify MMR proof against on-chain MMR.
Note this function will use on-chain MMR root hash and check if the proof matches the hash. See Self::verify_proof_stateless for a stateless verifier.
fn verify_proof_stateless(
&self,
__runtime_api_at_param__: &BlockId<Block>,
root: Hash,
leaf: EncodableOpaqueLeaf,
proof: Proof<Hash>
) -> Result<Result<(), Error>, ApiError>
fn verify_proof_stateless(
&self,
__runtime_api_at_param__: &BlockId<Block>,
root: Hash,
leaf: EncodableOpaqueLeaf,
proof: Proof<Hash>
) -> Result<Result<(), Error>, ApiError>
Verify MMR proof against given root hash.
Note this function does not require any on-chain storage - the proof is verified against given MMR root hash.
The leaf data is expected to be encoded in it’s compact form.
fn verify_proof_stateless_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext,
root: Hash,
leaf: EncodableOpaqueLeaf,
proof: Proof<Hash>
) -> Result<Result<(), Error>, ApiError>
fn verify_proof_stateless_with_context(
&self,
__runtime_api_at_param__: &BlockId<Block>,
context: ExecutionContext,
root: Hash,
leaf: EncodableOpaqueLeaf,
proof: Proof<Hash>
) -> Result<Result<(), Error>, ApiError>
Verify MMR proof against given root hash.
Note this function does not require any on-chain storage - the proof is verified against given MMR root hash.
The leaf data is expected to be encoded in it’s compact form.