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}