Trait EthApiOverrideServer

Source
pub trait EthApiOverrideServer<B: RpcObject>:
    Sized
    + Send
    + Sync
    + 'static {
    // Required methods
    fn sign_typed_data_v4<'life0, 'async_trait>(
        &'life0 self,
        address: Address,
        data: TypedData,
    ) -> Pin<Box<dyn Future<Output = RpcResult<String>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn simulate_v1<'life0, 'async_trait>(
        &'life0 self,
        opts: SimulatePayload<SeismicCallRequest>,
        block_number: Option<BlockId>,
    ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<SimulatedBlock<B>>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn call<'life0, 'async_trait>(
        &'life0 self,
        request: SeismicCallRequest,
        block_number: Option<BlockId>,
        state_overrides: Option<StateOverride>,
        block_overrides: Option<Box<BlockOverrides>>,
    ) -> Pin<Box<dyn Future<Output = RpcResult<Bytes>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn send_raw_transaction<'life0, 'async_trait>(
        &'life0 self,
        bytes: SeismicRawTxRequest,
    ) -> Pin<Box<dyn Future<Output = RpcResult<B256>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;

    // Provided method
    fn into_rpc(self) -> RpcModule<Self>
       where B: Send + Sync + 'static + Clone + Serialize { ... }
}
Expand description

Server trait implementation for the EthApiOverride RPC API.

Required Methods§

Source

fn sign_typed_data_v4<'life0, 'async_trait>( &'life0 self, address: Address, data: TypedData, ) -> Pin<Box<dyn Future<Output = RpcResult<String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the account and storage values of the specified account including the Merkle-proof. This call can be used to verify that the data you are pulling from is not tampered with.

Source

fn simulate_v1<'life0, 'async_trait>( &'life0 self, opts: SimulatePayload<SeismicCallRequest>, block_number: Option<BlockId>, ) -> Pin<Box<dyn Future<Output = RpcResult<Vec<SimulatedBlock<B>>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

eth_simulateV1 executes an arbitrary number of transactions on top of the requested state. The transactions are packed into individual blocks. Overrides can be provided.

Source

fn call<'life0, 'async_trait>( &'life0 self, request: SeismicCallRequest, block_number: Option<BlockId>, state_overrides: Option<StateOverride>, block_overrides: Option<Box<BlockOverrides>>, ) -> Pin<Box<dyn Future<Output = RpcResult<Bytes>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Executes a new message call immediately without creating a transaction on the block chain.

Source

fn send_raw_transaction<'life0, 'async_trait>( &'life0 self, bytes: SeismicRawTxRequest, ) -> Pin<Box<dyn Future<Output = RpcResult<B256>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Sends signed transaction, returning its hash.

Provided Methods§

Source

fn into_rpc(self) -> RpcModule<Self>
where B: 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<Eth> EthApiOverrideServer<Block<<<Eth as EthApiTypes>::NetworkTypes as Network>::TransactionResponse, <<Eth as EthApiTypes>::NetworkTypes as Network>::HeaderResponse>> for EthApiExt<Eth>
where Eth: FullEthApi, ErrorObject<'static>: From<Eth::Error>,