referrerpolicy=no-referrer-when-downgrade
finality_relay

Trait TargetClient

Source
pub trait TargetClient<P: FinalitySyncPipeline>: RelayClient {
    type TransactionTracker: TransactionTracker;

    // Required methods
    fn best_finalized_source_block_id<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<HeaderId<P::Hash, P::Number>, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn free_source_headers_interval<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<Option<P::Number>, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn submit_finality_proof<'life0, 'async_trait>(
        &'life0 self,
        header: P::Header,
        proof: P::FinalityProof,
        is_free_execution_expected: bool,
    ) -> Pin<Box<dyn Future<Output = Result<Self::TransactionTracker, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Target client used in finality synchronization loop.

Required Associated Types§

Source

type TransactionTracker: TransactionTracker

Transaction tracker to track submitted transactions.

Required Methods§

Source

fn best_finalized_source_block_id<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<HeaderId<P::Hash, P::Number>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get best finalized source block number.

Source

fn free_source_headers_interval<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Option<P::Number>, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get free source headers submission interval, if it is configured in the target runtime.

Source

fn submit_finality_proof<'life0, 'async_trait>( &'life0 self, header: P::Header, proof: P::FinalityProof, is_free_execution_expected: bool, ) -> Pin<Box<dyn Future<Output = Result<Self::TransactionTracker, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Submit header finality proof.

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§

impl<P: SubstrateFinalitySyncPipeline, TargetClnt: Client<P::TargetChain>> TargetClient<FinalitySyncPipelineAdapter<P>> for SubstrateFinalityTarget<P, TargetClnt>
where AccountIdOf<P::TargetChain>: From<<AccountKeyPairOf<P::TargetChain> as Pair>::Public>,