[][src]Trait ethers_providers::JsonRpcClient

pub trait JsonRpcClient: Debug + Clone + Send + Sync {
    type Error: Error + Into<ProviderError>;
#[must_use]    fn request<'life0, 'life1, 'async_trait, T, R>(
        &'life0 self,
        method: &'life1 str,
        params: T
    ) -> Pin<Box<dyn Future<Output = Result<R, Self::Error>> + Send + 'async_trait>>
    where
        T: Debug + Serialize + Send + Sync,
        R: for<'a> Deserialize<'a>,
        T: 'async_trait,
        R: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; }

Trait which must be implemented by data transports to be used with the Ethereum JSON-RPC provider.

Associated Types

type Error: Error + Into<ProviderError>

A JSON-RPC Error

Loading content...

Required methods

#[must_use]fn request<'life0, 'life1, 'async_trait, T, R>(
    &'life0 self,
    method: &'life1 str,
    params: T
) -> Pin<Box<dyn Future<Output = Result<R, Self::Error>> + Send + 'async_trait>> where
    T: Debug + Serialize + Send + Sync,
    R: for<'a> Deserialize<'a>,
    T: 'async_trait,
    R: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 

Sends a request with the provided JSON-RPC and parameters serialized as JSON

Loading content...

Implementors

impl JsonRpcClient for Provider[src]

type Error = ClientError

fn request<'life0, 'life1, 'async_trait, T: Serialize + Send + Sync, R: for<'a> Deserialize<'a>>(
    &'life0 self,
    method: &'life1 str,
    params: T
) -> Pin<Box<dyn Future<Output = Result<R, ClientError>> + Send + 'async_trait>> where
    T: 'async_trait,
    R: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    Self: 'async_trait, 
[src]

Sends a POST request with the provided method and the params serialized as JSON over HTTP

Loading content...