pub trait RethEngineApiServer<ExecutionData>:
Sized
+ Send
+ Sync
+ 'static {
// Required methods
fn reth_new_payload<'life0, 'async_trait>(
&'life0 self,
payload: RethNewPayloadInput<ExecutionData>,
) -> Pin<Box<dyn Future<Output = RpcResult<RethPayloadStatus>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn reth_forkchoice_updated<'life0, 'async_trait>(
&'life0 self,
forkchoice_state: ForkchoiceState,
) -> Pin<Box<dyn Future<Output = RpcResult<ForkchoiceUpdated>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided method
fn into_rpc(self) -> RpcModule<Self>
where ExecutionData: Send + Sync + 'static + DeserializeOwned { ... }
}Expand description
Server trait implementation for the RethEngineApi RPC API.
Required Methods§
Sourcefn reth_new_payload<'life0, 'async_trait>(
&'life0 self,
payload: RethNewPayloadInput<ExecutionData>,
) -> Pin<Box<dyn Future<Output = RpcResult<RethPayloadStatus>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reth_new_payload<'life0, 'async_trait>(
&'life0 self,
payload: RethNewPayloadInput<ExecutionData>,
) -> Pin<Box<dyn Future<Output = RpcResult<RethPayloadStatus>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Reth-specific newPayload that accepts either ExecutionData directly or an RLP-encoded
block.
Waits for persistence, execution cache, and sparse trie locks before processing.
Sourcefn reth_forkchoice_updated<'life0, 'async_trait>(
&'life0 self,
forkchoice_state: ForkchoiceState,
) -> Pin<Box<dyn Future<Output = RpcResult<ForkchoiceUpdated>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reth_forkchoice_updated<'life0, 'async_trait>(
&'life0 self,
forkchoice_state: ForkchoiceState,
) -> Pin<Box<dyn Future<Output = RpcResult<ForkchoiceUpdated>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: '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", so this trait is not object safe.