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§
Sourcefn 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,
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§
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,
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,
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.