pub trait ChainApiServer<Number, Hash, Header, SignedBlock>: Sized + Send + Sync + 'static {
    fn header(&self, hash: Option<Hash>) -> RpcResult<Option<Header>>;
    fn block(&self, hash: Option<Hash>) -> RpcResult<Option<SignedBlock>>;
    fn block_hash(
        &self,
        hash: Option<ListOrValue<NumberOrHex>>
    ) -> RpcResult<ListOrValue<Option<Hash>>>; fn finalized_head(&self) -> RpcResult<Hash>; fn subscribe_all_heads(
        &self,
        subscription_sink: SubscriptionSink
    ) -> SubscriptionResult; fn subscribe_new_heads(
        &self,
        subscription_sink: SubscriptionSink
    ) -> SubscriptionResult; fn subscribe_finalized_heads(
        &self,
        subscription_sink: SubscriptionSink
    ) -> SubscriptionResult; fn into_rpc(self) -> RpcModule<Self>
    where
        Number: Send + Sync + 'static,
        Hash: Send + Sync + 'static + DeserializeOwned + Serialize,
        Header: Send + Sync + 'static + Serialize,
        SignedBlock: Send + Sync + 'static + Serialize
, { ... } }
Expand description

Server trait implementation for the ChainApi RPC API.

Required Methods§

source

fn header(&self, hash: Option<Hash>) -> RpcResult<Option<Header>>

Get header.

source

fn block(&self, hash: Option<Hash>) -> RpcResult<Option<SignedBlock>>

Get header and body of a relay chain block.

source

fn block_hash(
    &self,
    hash: Option<ListOrValue<NumberOrHex>>
) -> RpcResult<ListOrValue<Option<Hash>>>

Get hash of the n-th block in the canon chain.

By default returns latest block hash.

source

fn finalized_head(&self) -> RpcResult<Hash>

Get hash of the last finalized block in the canon chain.

source

fn subscribe_all_heads(
    &self,
    subscription_sink: SubscriptionSink
) -> SubscriptionResult

All head subscription.

source

fn subscribe_new_heads(
    &self,
    subscription_sink: SubscriptionSink
) -> SubscriptionResult

New head subscription.

source

fn subscribe_finalized_heads(
    &self,
    subscription_sink: SubscriptionSink
) -> SubscriptionResult

Finalized head subscription.

Provided Methods§

source

fn into_rpc(self) -> RpcModule<Self>where
    Number: Send + Sync + 'static,
    Hash: Send + Sync + 'static + DeserializeOwned + Serialize,
    Header: Send + Sync + 'static + Serialize,
    SignedBlock: Send + Sync + 'static + Serialize,

Collects all the methods and subscriptions defined in the trait and adds them into a single RpcModule.

Implementors§