reth::rpc::api

Trait MevSimApiServer

Source
pub trait MevSimApiServer:
    Sized
    + Send
    + Sync
    + 'static {
    // Required method
    fn sim_bundle<'life0, 'async_trait>(
        &'life0 self,
        bundle: SendBundleRequest,
        sim_overrides: SimBundleOverrides,
    ) -> Pin<Box<dyn Future<Output = Result<SimBundleResponse, ErrorObject<'static>>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;

    // Provided method
    fn into_rpc(self) -> RpcModule<Self> { ... }
}
Expand description

Server trait implementation for the MevSimApi RPC API.

Required Methods§

Source

fn sim_bundle<'life0, 'async_trait>( &'life0 self, bundle: SendBundleRequest, sim_overrides: SimBundleOverrides, ) -> Pin<Box<dyn Future<Output = Result<SimBundleResponse, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Similar to mev_sendBundle but instead of submitting a bundle to the relay, it returns a simulation result. Only fully matched bundles can be simulated.

Provided Methods§

Source

fn into_rpc(self) -> RpcModule<Self>

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> MevSimApiServer for EthSimBundle<Eth>
where Eth: EthTransactions + LoadPendingBlock + Call + 'static,