Skip to main content

LightClientService

Trait LightClientService 

Source
pub trait LightClientService:
    Send
    + Sync
    + 'static {
    // Required methods
    fn get_light_client_leaf_proof<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetLightClientLeafProofRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientLeafProofResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_light_client_header_proof<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetLightClientHeaderProofRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientHeaderProofResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_light_client_stake_table<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetLightClientStakeTableRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientStakeTableResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_light_client_payload_proof<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetLightClientPayloadProofRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientPayloadProofResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_light_client_payload_proof_range<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetLightClientPayloadProofRangeRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientPayloadProofRangeResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_light_client_payload_proof_ranges<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetLightClientPayloadProofRangesRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientPayloadProofRangeResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_light_client_namespace_proof<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetLightClientNamespaceProofRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientNamespaceProofResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_light_client_namespace_proof_range<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetLightClientNamespaceProofRangeRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientNamespaceProofRangeResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn get_light_client_namespaces_proof_range<'life0, 'async_trait>(
        &'life0 self,
        request: Request<GetLightClientNamespacesProofRangeRequest>,
    ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientNamespacesProofRangeResponse>, Status>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Generated trait containing gRPC methods that should be implemented for use with LightClientServiceServer.

Required Methods§

Source

fn get_light_client_leaf_proof<'life0, 'async_trait>( &'life0 self, request: Request<GetLightClientLeafProofRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientLeafProofResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get a leaf with a proof that it is finalized

Source

fn get_light_client_header_proof<'life0, 'async_trait>( &'life0 self, request: Request<GetLightClientHeaderProofRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientHeaderProofResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get a header with a proof of membership under a trusted block merkle tree root

Source

fn get_light_client_stake_table<'life0, 'async_trait>( &'life0 self, request: Request<GetLightClientStakeTableRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientStakeTableResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the stake table events that turn the previous epoch’s stake table into this epoch’s

Source

fn get_light_client_payload_proof<'life0, 'async_trait>( &'life0 self, request: Request<GetLightClientPayloadProofRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientPayloadProofResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get a block payload with the data to check it against its header

Source

fn get_light_client_payload_proof_range<'life0, 'async_trait>( &'life0 self, request: Request<GetLightClientPayloadProofRangeRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientPayloadProofRangeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get payload proofs for a range of blocks

Source

fn get_light_client_payload_proof_ranges<'life0, 'async_trait>( &'life0 self, request: Request<GetLightClientPayloadProofRangesRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientPayloadProofRangeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get payload proofs for several ranges of blocks in one request

Source

fn get_light_client_namespace_proof<'life0, 'async_trait>( &'life0 self, request: Request<GetLightClientNamespaceProofRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientNamespaceProofResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get a proof of one namespace’s transactions in a block, checked against its header

Source

fn get_light_client_namespace_proof_range<'life0, 'async_trait>( &'life0 self, request: Request<GetLightClientNamespaceProofRangeRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientNamespaceProofRangeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get one namespace’s proofs for a range of blocks

Source

fn get_light_client_namespaces_proof_range<'life0, 'async_trait>( &'life0 self, request: Request<GetLightClientNamespacesProofRangeRequest>, ) -> Pin<Box<dyn Future<Output = Result<Response<LightClientNamespacesProofRangeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get several namespaces’ proofs for a range of blocks

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§