TestingApiServer

Trait TestingApiServer 

Source
pub trait TestingApiServer:
    Sized
    + Send
    + Sync
    + 'static {
    // Required method
    fn build_block_v1<'life0, 'async_trait>(
        &'life0 self,
        request: TestingBuildBlockRequestV1,
    ) -> Pin<Box<dyn Future<Output = Result<ExecutionPayloadEnvelopeV5, 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 TestingApi RPC API.

Required Methods§

Source

fn build_block_v1<'life0, 'async_trait>( &'life0 self, request: TestingBuildBlockRequestV1, ) -> Pin<Box<dyn Future<Output = Result<ExecutionPayloadEnvelopeV5, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Builds a block using the provided parent, payload attributes, and transactions.

See https://github.com/marcindsobczak/execution-apis/blob/main/src/testing/testing_buildBlockV1.md

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.

Implementations on Foreign Types§

Source§

impl<Eth, Evm> TestingApiServer for TestingApi<Eth, Evm>
where <Eth as RpcNodeCore>::Provider: BlockReader<Header = Header>, Evm: ConfigureEvm<NextBlockEnvCtx = NextBlockEnvAttributes, Primitives = EthPrimitives> + 'static, Eth: Call,

Source§

fn build_block_v1<'life0, 'async_trait>( &'life0 self, request: TestingBuildBlockRequestV1, ) -> Pin<Box<dyn Future<Output = Result<ExecutionPayloadEnvelopeV5, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, TestingApi<Eth, Evm>: 'async_trait,

Handles testing_buildBlockV1 by gating concurrency via a semaphore and offloading heavy work to the blocking pool to avoid stalling the async runtime.

Implementors§