reth::providers

Trait CanonChainTracker

pub trait CanonChainTracker: Send + Sync {
    type Header: Send + Sync;

    // Required methods
    fn on_forkchoice_update_received(&self, update: &ForkchoiceState);
    fn last_received_update_timestamp(&self) -> Option<Instant>;
    fn on_transition_configuration_exchanged(&self);
    fn last_exchanged_transition_configuration_timestamp(
        &self,
    ) -> Option<Instant>;
    fn set_canonical_head(&self, header: SealedHeader<Self::Header>);
    fn set_safe(&self, header: SealedHeader<Self::Header>);
    fn set_finalized(&self, header: SealedHeader<Self::Header>);
}
Expand description

A type that can track updates related to fork choice updates.

Required Associated Types§

type Header: Send + Sync

The header type.

Required Methods§

fn on_forkchoice_update_received(&self, update: &ForkchoiceState)

Notify the tracker about a received fork choice update.

fn last_received_update_timestamp(&self) -> Option<Instant>

Returns the last time a fork choice update was received from the CL (CanonChainTracker::on_forkchoice_update_received)

fn on_transition_configuration_exchanged(&self)

Notify the tracker about a transition configuration exchange.

fn last_exchanged_transition_configuration_timestamp(&self) -> Option<Instant>

Returns the last time a transition configuration was exchanged with the CL (CanonChainTracker::on_transition_configuration_exchanged)

fn set_canonical_head(&self, header: SealedHeader<Self::Header>)

Sets the canonical head of the chain.

fn set_safe(&self, header: SealedHeader<Self::Header>)

Sets the safe block of the chain.

fn set_finalized(&self, header: SealedHeader<Self::Header>)

Sets the finalized block of the chain.

Implementors§