reth::rpc::api::clients

Trait EthBundleApiClient

pub trait EthBundleApiClient: ClientT {
    // Provided methods
    fn send_bundle<'life0, 'async_trait>(
        &'life0 self,
        bundle: EthSendBundle,
    ) -> Pin<Box<dyn Future<Output = Result<EthBundleHash, Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: Sync + 'async_trait { ... }
    fn call_bundle<'life0, 'async_trait>(
        &'life0 self,
        request: EthCallBundle,
    ) -> Pin<Box<dyn Future<Output = Result<EthCallBundleResponse, Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: Sync + 'async_trait { ... }
    fn cancel_bundle<'life0, 'async_trait>(
        &'life0 self,
        request: CancelBundleRequest,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: Sync + 'async_trait { ... }
    fn send_private_transaction<'life0, 'async_trait>(
        &'life0 self,
        request: PrivateTransactionRequest,
    ) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: Sync + 'async_trait { ... }
    fn send_private_raw_transaction<'life0, 'async_trait>(
        &'life0 self,
        bytes: Bytes,
    ) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: Sync + 'async_trait { ... }
    fn cancel_private_transaction<'life0, 'async_trait>(
        &'life0 self,
        request: CancelPrivateTransactionRequest,
    ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: Sync + 'async_trait { ... }
}
Available on crate feature client only.
Expand description

Client implementation for the EthBundleApi RPC API.

Provided Methods§

fn send_bundle<'life0, 'async_trait>( &'life0 self, bundle: EthSendBundle, ) -> Pin<Box<dyn Future<Output = Result<EthBundleHash, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

eth_sendBundle can be used to send your bundles to the builder.

fn call_bundle<'life0, 'async_trait>( &'life0 self, request: EthCallBundle, ) -> Pin<Box<dyn Future<Output = Result<EthCallBundleResponse, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

eth_callBundle can be used to simulate a bundle against a specific block number, including simulating a bundle at the top of the next block.

fn cancel_bundle<'life0, 'async_trait>( &'life0 self, request: CancelBundleRequest, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

eth_cancelBundle is used to prevent a submitted bundle from being included on-chain. See bundle cancellations for more information.

fn send_private_transaction<'life0, 'async_trait>( &'life0 self, request: PrivateTransactionRequest, ) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

eth_sendPrivateTransaction is used to send a single transaction to Flashbots. Flashbots will attempt to build a block including the transaction for the next 25 blocks. See Private Transactions for more info.

fn send_private_raw_transaction<'life0, 'async_trait>( &'life0 self, bytes: Bytes, ) -> Pin<Box<dyn Future<Output = Result<FixedBytes<32>, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

The eth_sendPrivateRawTransaction method can be used to send private transactions to the RPC endpoint. Private transactions are protected from frontrunning and kept private until included in a block. A request to this endpoint needs to follow the standard eth_sendRawTransaction

fn cancel_private_transaction<'life0, 'async_trait>( &'life0 self, request: CancelPrivateTransactionRequest, ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: Sync + 'async_trait,

The eth_cancelPrivateTransaction method stops private transactions from being submitted for future blocks.

A transaction can only be cancelled if the request is signed by the same key as the eth_sendPrivateTransaction call submitting the transaction in first place.

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§

§

impl<TypeJsonRpseeInteral> EthBundleApiClient for TypeJsonRpseeInteral
where TypeJsonRpseeInteral: ClientT,