DebugExecutionWitnessApiServer

Trait DebugExecutionWitnessApiServer 

pub trait DebugExecutionWitnessApiServer<Attributes>:
    Sized
    + Send
    + Sync
    + 'static {
    // Required method
    fn execute_payload<'life0, 'async_trait>(
        &'life0 self,
        parent_block_hash: FixedBytes<32>,
        attributes: Attributes,
    ) -> Pin<Box<dyn Future<Output = Result<ExecutionWitness, ErrorObject<'static>>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: '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§

fn execute_payload<'life0, 'async_trait>( &'life0 self, parent_block_hash: FixedBytes<32>, attributes: Attributes, ) -> Pin<Box<dyn Future<Output = Result<ExecutionWitness, ErrorObject<'static>>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: '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§

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§