[][src]Struct tendermint_light_client::fork_detector::ProdForkDetector

pub struct ProdForkDetector { /* fields omitted */ }

A production-ready fork detector which compares light blocks fetched from the witnesses by hash. If the hashes don't match, this fork detector then attempts to verify the light block pulled from the witness against a light block containing only the given trusted state, and then:

  • If the verification succeeds, we have a real fork
  • If verification fails because of lack of trust, we have a potential fork.
  • If verification fails for any other reason, the witness is deemed faulty.

Implementations

impl ProdForkDetector[src]

pub fn new(hasher: impl Hasher + 'static) -> Self[src]

Construct a new fork detector that will use the given header hasher.

Trait Implementations

impl Default for ProdForkDetector[src]

impl ForkDetector for ProdForkDetector[src]

pub fn detect_forks(
    &self,
    verified_block: &LightBlock,
    trusted_block: &LightBlock,
    witnesses: Vec<&Instance>
) -> Result<ForkDetection, Error>
[src]

Perform fork detection. See the documentation ProdForkDetector for details.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,