pub struct Mmr<Client, Block, S> { /* private fields */ }
Expand description
MMR RPC methods.
Implementations§
Trait Implementations§
Source§impl<Client, Block, MmrHash, S> MmrApiServer<<Block as Block>::Hash, <<Block as Block>::Header as Header>::Number, MmrHash> for Mmr<Client, (Block, MmrHash), S>where
Block: BlockT,
Client: Send + Sync + 'static + ProvideRuntimeApi<Block> + HeaderBackend<Block>,
Client::Api: MmrRuntimeApi<Block, MmrHash, NumberFor<Block>>,
MmrHash: Codec + Send + Sync + 'static,
S: OffchainStorage + 'static,
impl<Client, Block, MmrHash, S> MmrApiServer<<Block as Block>::Hash, <<Block as Block>::Header as Header>::Number, MmrHash> for Mmr<Client, (Block, MmrHash), S>where
Block: BlockT,
Client: Send + Sync + 'static + ProvideRuntimeApi<Block> + HeaderBackend<Block>,
Client::Api: MmrRuntimeApi<Block, MmrHash, NumberFor<Block>>,
MmrHash: Codec + Send + Sync + 'static,
S: OffchainStorage + 'static,
Source§fn mmr_root(&self, at: Option<<Block as BlockT>::Hash>) -> RpcResult<MmrHash>
fn mmr_root(&self, at: Option<<Block as BlockT>::Hash>) -> RpcResult<MmrHash>
Get the MMR root hash for the current best block.
Source§fn generate_proof(
&self,
block_numbers: Vec<NumberFor<Block>>,
best_known_block_number: Option<NumberFor<Block>>,
at: Option<<Block as BlockT>::Hash>,
) -> RpcResult<LeavesProof<<Block as BlockT>::Hash>>
fn generate_proof( &self, block_numbers: Vec<NumberFor<Block>>, best_known_block_number: Option<NumberFor<Block>>, at: Option<<Block as BlockT>::Hash>, ) -> RpcResult<LeavesProof<<Block as BlockT>::Hash>>
Generate an MMR proof for the given
block_numbers
. Read moreSource§fn verify_proof(
&self,
proof: LeavesProof<<Block as BlockT>::Hash>,
) -> RpcResult<bool>
fn verify_proof( &self, proof: LeavesProof<<Block as BlockT>::Hash>, ) -> RpcResult<bool>
Verify an MMR
proof
. Read moreSource§fn verify_proof_stateless(
&self,
mmr_root: MmrHash,
proof: LeavesProof<<Block as BlockT>::Hash>,
) -> RpcResult<bool>
fn verify_proof_stateless( &self, mmr_root: MmrHash, proof: LeavesProof<<Block as BlockT>::Hash>, ) -> RpcResult<bool>
Source§fn into_rpc(self) -> RpcModule<Self>where
BlockHash: Send + Sync + 'static + DeserializeOwned + Clone + Serialize,
BlockNumber: Send + Sync + 'static + DeserializeOwned,
MmrHash: Send + Sync + 'static + DeserializeOwned + Clone + Serialize,
fn into_rpc(self) -> RpcModule<Self>where
BlockHash: Send + Sync + 'static + DeserializeOwned + Clone + Serialize,
BlockNumber: Send + Sync + 'static + DeserializeOwned,
MmrHash: Send + Sync + 'static + DeserializeOwned + Clone + Serialize,
Collects all the methods and subscriptions defined in the trait and adds them into a single
RpcModule
.Auto Trait Implementations§
impl<Client, Block, S> Freeze for Mmr<Client, Block, S>where
S: Freeze,
impl<Client, Block, S> RefUnwindSafe for Mmr<Client, Block, S>
impl<Client, Block, S> Send for Mmr<Client, Block, S>
impl<Client, Block, S> Sync for Mmr<Client, Block, S>
impl<Client, Block, S> Unpin for Mmr<Client, Block, S>
impl<Client, Block, S> UnwindSafe for Mmr<Client, Block, S>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read moreSource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.