cfx_rpc_cfx_api/
pubsub.rs

1//! `cfx_` RPC API for pubsub subscription.
2
3use cfx_rpc_cfx_types::pubsub;
4use jsonrpsee::{core::SubscriptionResult, proc_macros::rpc};
5
6/// Cfx pub-sub rpc interface.
7#[rpc(server, namespace = "cfx")]
8pub trait PubSubApi {
9    /// Create a cfx subscription for the given params
10    #[subscription(
11        name = "subscribe" => "subscription",
12        unsubscribe = "unsubscribe",
13        item = pubsub::Result,
14    )]
15    async fn subscribe(
16        &self, kind: pubsub::Kind, params: Option<pubsub::Params>,
17    ) -> SubscriptionResult;
18}