reth::rpc::api

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§

Source§

impl<Provider, Pool, Eth> EthFilterApiServer<<<Eth as EthApiTypes>::NetworkTypes as Network>::TransactionResponse> for EthFilter<Provider, Pool, Eth>
where Provider: BlockReader + BlockIdReader + 'static, Pool: TransactionPool + 'static, Eth: FullEthApiTypes + 'static,