Struct sc_light::fetcher::LightDataChecker[][src]

pub struct LightDataChecker<E, H, B: BlockT, S: BlockchainStorage<B>> { /* fields omitted */ }

Remote data checker.

Implementations

impl<E, H, B: BlockT, S: BlockchainStorage<B>> LightDataChecker<E, H, B, S>[src]

pub fn new(
    blockchain: Arc<Blockchain<S>>,
    executor: E,
    spawn_handle: Box<dyn SpawnNamed>
) -> Self
[src]

Create new light data checker.

pub fn check_changes_proof_with_cht_size(
    &self,
    request: &RemoteChangesRequest<B::Header>,
    remote_proof: ChangesProof<B::Header>,
    cht_size: NumberFor<B>
) -> ClientResult<Vec<(NumberFor<B>, u32)>> where
    H: Hasher,
    H::Out: Ord + Codec
[src]

Check remote changes query proof assuming that CHT-s are of given size.

pub fn check_changes_tries_proof(
    &self,
    cht_size: NumberFor<B>,
    remote_roots: &BTreeMap<NumberFor<B>, B::Hash>,
    remote_roots_proof: StorageProof
) -> ClientResult<()> where
    H: Hasher,
    H::Out: Ord + Codec
[src]

Check CHT-based proof for changes tries roots.

Trait Implementations

impl<E, Block, H, S> FetchChecker<Block> for LightDataChecker<E, H, Block, S> where
    Block: BlockT,
    E: CodeExecutor + Clone + 'static,
    H: Hasher,
    H::Out: Ord + Codec + 'static,
    S: BlockchainStorage<Block>, 
[src]

Auto Trait Implementations

impl<E, H, B, S> !RefUnwindSafe for LightDataChecker<E, H, B, S>

impl<E, H, B, S> Send for LightDataChecker<E, H, B, S> where
    E: Send,
    H: Send

impl<E, H, B, S> Sync for LightDataChecker<E, H, B, S> where
    E: Sync,
    H: Sync

impl<E, H, B, S> Unpin for LightDataChecker<E, H, B, S> where
    B: Unpin,
    E: Unpin,
    H: Unpin

impl<E, H, B, S> !UnwindSafe for LightDataChecker<E, H, B, S>

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> CheckedConversion for T[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, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 
[src]

pub fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

pub fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

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

type Output = T

Should always be Self

impl<T> SaturatedConversion for T[src]

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<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<T, S> UniqueSaturatedInto<T> for S where
    S: TryInto<T>,
    T: Bounded
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]