[][src]Struct dusk_poseidon_merkle::Proof

pub struct Proof<T: PoseidonLeaf> { /* fields omitted */ }

Set of pairs (idx, Hash) to reconstruct the merkle root. For every level of the tree, Required information to reconstruct the merkle root.

For every level of the tree, there is an index, and a slice of leaves.

The index will be the position in which the previously calculated information should be inserted.

The leaves will define the other elements required to perform the hash for that level of the tree.

Methods

impl<T: PoseidonLeaf> Proof<T>[src]

pub fn data(&self) -> &[(usize, [Option<T>; 4]); 3][src]

Return the raw proof data

pub fn verify(&self, leaf: &T, root: &T) -> bool where
    Scalar: Mul<T, Output = T>, 
[src]

Verify if the provided leaf corresponds to the proof in the merkle construction

Trait Implementations

impl<T: Clone + PoseidonLeaf> Clone for Proof<T>[src]

impl<T: Copy + PoseidonLeaf> Copy for Proof<T>[src]

impl<T: PoseidonLeaf> Default for Proof<T>[src]

impl<T: PartialEq + PoseidonLeaf> PartialEq<Proof<T>> for Proof<T>[src]

impl<T: Debug + PoseidonLeaf> Debug for Proof<T>[src]

Auto Trait Implementations

impl<T> Send for Proof<T> where
    T: Send

impl<T> Sync for Proof<T> where
    T: Sync

impl<T> Unpin for Proof<T> where
    T: Unpin

impl<T> UnwindSafe for Proof<T> where
    T: UnwindSafe

impl<T> RefUnwindSafe for Proof<T> where
    T: RefUnwindSafe

Blanket Implementations

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

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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<T> Borrow<T> for T where
    T: ?Sized
[src]

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

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

impl<T> Clear for T where
    T: InitializableFromZeroed + ?Sized
[src]

impl<T> InitializableFromZeroed for T where
    T: Default
[src]

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

type Output = T

Should always be Self