pub trait ChainApiServer<Number, Hash, Header, SignedBlock>:
Sized
+ Send
+ Sync
+ 'static {
// Required methods
fn header(&self, hash: Option<Hash>) -> Result<Option<Header>, Error>;
fn block(&self, hash: Option<Hash>) -> Result<Option<SignedBlock>, Error>;
fn block_hash(
&self,
hash: Option<ListOrValue<NumberOrHex>>,
) -> Result<ListOrValue<Option<Hash>>, Error>;
fn finalized_head(&self) -> Result<Hash, Error>;
fn subscribe_all_heads(&self, subscription_sink: PendingSubscriptionSink);
fn subscribe_new_heads(&self, subscription_sink: PendingSubscriptionSink);
fn subscribe_finalized_heads(
&self,
subscription_sink: PendingSubscriptionSink,
);
// Provided method
fn into_rpc(self) -> RpcModule<Self>
where Number: Send + Sync + 'static,
Hash: Send + Sync + 'static + DeserializeOwned + Clone + Serialize,
Header: Send + Sync + 'static + Clone + Serialize,
SignedBlock: Send + Sync + 'static + Clone + Serialize { ... }
}
Expand description
Server trait implementation for the ChainApi
RPC API.
Required Methods§
Sourcefn block(&self, hash: Option<Hash>) -> Result<Option<SignedBlock>, Error>
fn block(&self, hash: Option<Hash>) -> Result<Option<SignedBlock>, Error>
Get header and body of a block.
Sourcefn block_hash(
&self,
hash: Option<ListOrValue<NumberOrHex>>,
) -> Result<ListOrValue<Option<Hash>>, Error>
fn block_hash( &self, hash: Option<ListOrValue<NumberOrHex>>, ) -> Result<ListOrValue<Option<Hash>>, Error>
Get hash of the n-th block in the canon chain.
By default returns latest block hash.
Sourcefn finalized_head(&self) -> Result<Hash, Error>
fn finalized_head(&self) -> Result<Hash, Error>
Get hash of the last finalized block in the canon chain.
Sourcefn subscribe_all_heads(&self, subscription_sink: PendingSubscriptionSink)
fn subscribe_all_heads(&self, subscription_sink: PendingSubscriptionSink)
All head subscription.
Sourcefn subscribe_new_heads(&self, subscription_sink: PendingSubscriptionSink)
fn subscribe_new_heads(&self, subscription_sink: PendingSubscriptionSink)
New head subscription.
Sourcefn subscribe_finalized_heads(&self, subscription_sink: PendingSubscriptionSink)
fn subscribe_finalized_heads(&self, subscription_sink: PendingSubscriptionSink)
Finalized head subscription.
Provided Methods§
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.