pub trait EngineApiValidWaitExt<N, T>: Send + Sync {
    // Required methods
    fn new_payload_v1_wait<'life0, 'async_trait>(
        &'life0 self,
        payload: ExecutionPayloadV1,
    ) -> Pin<Box<dyn Future<Output = TransportResult<PayloadStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn new_payload_v2_wait<'life0, 'async_trait>(
        &'life0 self,
        payload: ExecutionPayloadInputV2,
    ) -> Pin<Box<dyn Future<Output = TransportResult<PayloadStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn new_payload_v3_wait<'life0, 'async_trait>(
        &'life0 self,
        payload: ExecutionPayloadV3,
        versioned_hashes: Vec<B256>,
        parent_beacon_block_root: B256,
    ) -> Pin<Box<dyn Future<Output = TransportResult<PayloadStatus>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn fork_choice_updated_v1_wait<'life0, 'async_trait>(
        &'life0 self,
        fork_choice_state: ForkchoiceState,
        payload_attributes: Option<PayloadAttributes>,
    ) -> Pin<Box<dyn Future<Output = TransportResult<ForkchoiceUpdated>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn fork_choice_updated_v2_wait<'life0, 'async_trait>(
        &'life0 self,
        fork_choice_state: ForkchoiceState,
        payload_attributes: Option<PayloadAttributes>,
    ) -> Pin<Box<dyn Future<Output = TransportResult<ForkchoiceUpdated>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn fork_choice_updated_v3_wait<'life0, 'async_trait>(
        &'life0 self,
        fork_choice_state: ForkchoiceState,
        payload_attributes: Option<PayloadAttributes>,
    ) -> Pin<Box<dyn Future<Output = TransportResult<ForkchoiceUpdated>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

An extension trait for providers that implement the engine API, to wait for a VALID response.

Required Methods§

source

fn new_payload_v1_wait<'life0, 'async_trait>( &'life0 self, payload: ExecutionPayloadV1, ) -> Pin<Box<dyn Future<Output = TransportResult<PayloadStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Calls engine_newPayloadV1 with the given [ExecutionPayloadV1], and waits until the response is VALID.

source

fn new_payload_v2_wait<'life0, 'async_trait>( &'life0 self, payload: ExecutionPayloadInputV2, ) -> Pin<Box<dyn Future<Output = TransportResult<PayloadStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Calls engine_newPayloadV2 with the given [ExecutionPayloadInputV2], and waits until the response is VALID.

source

fn new_payload_v3_wait<'life0, 'async_trait>( &'life0 self, payload: ExecutionPayloadV3, versioned_hashes: Vec<B256>, parent_beacon_block_root: B256, ) -> Pin<Box<dyn Future<Output = TransportResult<PayloadStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Calls engine_newPayloadV3 with the given [ExecutionPayloadV3], parent beacon block root, and versioned hashes, and waits until the response is VALID.

source

fn fork_choice_updated_v1_wait<'life0, 'async_trait>( &'life0 self, fork_choice_state: ForkchoiceState, payload_attributes: Option<PayloadAttributes>, ) -> Pin<Box<dyn Future<Output = TransportResult<ForkchoiceUpdated>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Calls engine_forkChoiceUpdatedV1 with the given [ForkchoiceState] and optional [PayloadAttributes], and waits until the response is VALID.

source

fn fork_choice_updated_v2_wait<'life0, 'async_trait>( &'life0 self, fork_choice_state: ForkchoiceState, payload_attributes: Option<PayloadAttributes>, ) -> Pin<Box<dyn Future<Output = TransportResult<ForkchoiceUpdated>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Calls engine_forkChoiceUpdatedV2 with the given [ForkchoiceState] and optional [PayloadAttributes], and waits until the response is VALID.

source

fn fork_choice_updated_v3_wait<'life0, 'async_trait>( &'life0 self, fork_choice_state: ForkchoiceState, payload_attributes: Option<PayloadAttributes>, ) -> Pin<Box<dyn Future<Output = TransportResult<ForkchoiceUpdated>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Calls engine_forkChoiceUpdatedV3 with the given [ForkchoiceState] and optional [PayloadAttributes], and waits until the response is VALID.

Implementors§

source§

impl<T, N, P> EngineApiValidWaitExt<N, T> for P
where N: Network, T: Transport + Clone, P: EngineApi<N, T>,