reth_rpc_api::servers

Trait DebugExecutionWitnessApiServer

Source
pub trait DebugExecutionWitnessApiServer<Attributes>:
    Sized
    + Send
    + Sync
    + 'static {
    // Required method
    fn execute_payload<'life0, 'async_trait>(
        &'life0 self,
        parent_block_hash: B256,
        attributes: Attributes,
    ) -> Pin<Box<dyn Future<Output = RpcResult<ExecutionWitness>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;

    // Provided method
    fn into_rpc(self) -> RpcModule<Self>
       where Attributes: Send + Sync + 'static + DeserializeOwned { ... }
}
Expand description

Server trait implementation for the DebugExecutionWitnessApi RPC API.

Required Methods§

Source

fn execute_payload<'life0, 'async_trait>( &'life0 self, parent_block_hash: B256, attributes: Attributes, ) -> Pin<Box<dyn Future<Output = RpcResult<ExecutionWitness>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

The debug_executePayload method allows for re-execution of a group of transactions with the purpose of generating an execution witness. The witness comprises of a map of all hashed trie nodes to their preimages that were required during the execution of the block, including during state root recomputation.

The first argument is the parent block hash. The second argument is the payload attributes for the new block.

Provided Methods§

Source

fn into_rpc(self) -> RpcModule<Self>
where Attributes: Send + Sync + 'static + DeserializeOwned,

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.

Implementors§