cfx_rpc_eth_api/
pubsub.rs

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