reth_rpc_api::servers

Trait EthFilterApiServer

pub trait EthFilterApiServer<T>:
    Sized
    + Send
    + Sync
    + 'static
where T: RpcObject,
{ // Required methods fn new_filter<'life0, 'async_trait>( &'life0 self, filter: Filter, ) -> Pin<Box<dyn Future<Output = Result<FilterId, ErrorObject<'static>>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn new_block_filter<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<FilterId, ErrorObject<'static>>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn new_pending_transaction_filter<'life0, 'async_trait>( &'life0 self, kind: Option<PendingTransactionFilterKind>, ) -> Pin<Box<dyn Future<Output = Result<FilterId, ErrorObject<'static>>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn filter_changes<'life0, 'async_trait>( &'life0 self, id: FilterId, ) -> Pin<Box<dyn Future<Output = Result<FilterChanges<T>, ErrorObject<'static>>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn filter_logs<'life0, 'async_trait>( &'life0 self, id: FilterId, ) -> Pin<Box<dyn Future<Output = Result<Vec<Log>, ErrorObject<'static>>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn uninstall_filter<'life0, 'async_trait>( &'life0 self, id: FilterId, ) -> Pin<Box<dyn Future<Output = Result<bool, ErrorObject<'static>>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; fn logs<'life0, 'async_trait>( &'life0 self, filter: Filter, ) -> Pin<Box<dyn Future<Output = Result<Vec<Log>, ErrorObject<'static>>> + Send + 'async_trait>> where 'life0: 'async_trait, Self: 'async_trait; // Provided method fn into_rpc(self) -> RpcModule<Self> where T: Send + Sync + 'static + Clone + Serialize { ... } }
Expand description

Server trait implementation for the EthFilterApi RPC API.

Required Methods§

fn new_filter<'life0, 'async_trait>( &'life0 self, filter: Filter, ) -> Pin<Box<dyn Future<Output = Result<FilterId, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Creates anew filter and returns its id.

fn new_block_filter<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<FilterId, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Creates a new block filter and returns its id.

fn new_pending_transaction_filter<'life0, 'async_trait>( &'life0 self, kind: Option<PendingTransactionFilterKind>, ) -> Pin<Box<dyn Future<Output = Result<FilterId, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Creates a pending transaction filter and returns its id.

fn filter_changes<'life0, 'async_trait>( &'life0 self, id: FilterId, ) -> Pin<Box<dyn Future<Output = Result<FilterChanges<T>, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Returns all filter changes since last poll.

fn filter_logs<'life0, 'async_trait>( &'life0 self, id: FilterId, ) -> Pin<Box<dyn Future<Output = Result<Vec<Log>, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Returns all logs matching given filter (in a range ‘from’ - ‘to’).

fn uninstall_filter<'life0, 'async_trait>( &'life0 self, id: FilterId, ) -> Pin<Box<dyn Future<Output = Result<bool, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Uninstalls filter.

fn logs<'life0, 'async_trait>( &'life0 self, filter: Filter, ) -> Pin<Box<dyn Future<Output = Result<Vec<Log>, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Returns logs matching given filter object.

Provided Methods§

fn into_rpc(self) -> RpcModule<Self>
where T: Send + Sync + 'static + Clone + Serialize,

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

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.

Implementors§