pub trait RethEngineApiServer<ExecutionData>:
Sized
+ Send
+ Sync
+ 'static {
// Required methods
fn reth_new_payload<'life0, 'async_trait>(
&'life0 self,
payload: RethNewPayloadInput<ExecutionData>,
wait_for_persistence: Option<bool>,
wait_for_caches: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<RethPayloadStatus, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn reth_forkchoice_updated<'life0, 'async_trait>(
&'life0 self,
forkchoice_state: ForkchoiceState,
) -> Pin<Box<dyn Future<Output = Result<ForkchoiceUpdated, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
// Provided method
fn into_rpc(self) -> RpcModule<Self>
where ExecutionData: Send + Sync + 'static + DeserializeOwned { ... }
}Available on crate feature
rpc only.Expand description
Server trait implementation for the RethEngineApi RPC API.
Required Methods§
Sourcefn reth_new_payload<'life0, 'async_trait>(
&'life0 self,
payload: RethNewPayloadInput<ExecutionData>,
wait_for_persistence: Option<bool>,
wait_for_caches: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<RethPayloadStatus, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn reth_new_payload<'life0, 'async_trait>(
&'life0 self,
payload: RethNewPayloadInput<ExecutionData>,
wait_for_persistence: Option<bool>,
wait_for_caches: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<RethPayloadStatus, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Reth-specific newPayload that accepts either ExecutionData directly or an RLP-encoded
block.
wait_for_persistence (default true): waits for in-flight persistence to complete.
wait_for_caches (default true): waits for execution cache and sparse trie locks.
Sourcefn reth_forkchoice_updated<'life0, 'async_trait>(
&'life0 self,
forkchoice_state: ForkchoiceState,
) -> Pin<Box<dyn Future<Output = Result<ForkchoiceUpdated, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn reth_forkchoice_updated<'life0, 'async_trait>(
&'life0 self,
forkchoice_state: ForkchoiceState,
) -> Pin<Box<dyn Future<Output = Result<ForkchoiceUpdated, ErrorObject<'static>>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Reth-specific forkchoiceUpdated that sends a regular forkchoice update with no payload attributes.
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".