Struct snarkvm_wasm::algorithms::merkle_tree::MerklePathGadget [−][src]
pub struct MerklePathGadget<P, HG, F> where
P: MerkleParameters,
F: Field,
HG: CRHGadget<<P as MerkleParameters>::H, F>, { /* fields omitted */ }
Implementations
impl<P, HG, F> MerklePathGadget<P, HG, F> where
P: MerkleParameters,
F: Field,
HG: CRHGadget<<P as MerkleParameters>::H, F>,
[src]
impl<P, HG, F> MerklePathGadget<P, HG, F> where
P: MerkleParameters,
F: Field,
HG: CRHGadget<<P as MerkleParameters>::H, F>,
[src]pub fn check_membership<CS>(
&self,
cs: CS,
parameters: &<HG as CRHGadget<<P as MerkleParameters>::H, F>>::ParametersGadget,
root: &<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget,
leaf: impl ToBytesGadget<F>
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
[src]
&self,
cs: CS,
parameters: &<HG as CRHGadget<<P as MerkleParameters>::H, F>>::ParametersGadget,
root: &<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget,
leaf: impl ToBytesGadget<F>
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
pub fn conditionally_check_membership<CS>(
&self,
cs: CS,
parameters: &<HG as CRHGadget<<P as MerkleParameters>::H, F>>::ParametersGadget,
root: &<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget,
leaf: impl ToBytesGadget<F>,
should_enforce: &Boolean
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
[src]
&self,
cs: CS,
parameters: &<HG as CRHGadget<<P as MerkleParameters>::H, F>>::ParametersGadget,
root: &<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget,
leaf: impl ToBytesGadget<F>,
should_enforce: &Boolean
) -> Result<(), SynthesisError> where
CS: ConstraintSystem<F>,
Trait Implementations
impl<P, HGadget, F> AllocGadget<MerklePath<P>, F> for MerklePathGadget<P, HGadget, F> where
P: MerkleParameters,
F: Field,
HGadget: CRHGadget<<P as MerkleParameters>::H, F>,
[src]
impl<P, HGadget, F> AllocGadget<MerklePath<P>, F> for MerklePathGadget<P, HGadget, F> where
P: MerkleParameters,
F: Field,
HGadget: CRHGadget<<P as MerkleParameters>::H, F>,
[src]pub fn alloc<Fn, T, CS>(
cs: CS,
value_gen: Fn
) -> Result<MerklePathGadget<P, HGadget, F>, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<MerklePath<P>>,
[src]
cs: CS,
value_gen: Fn
) -> Result<MerklePathGadget<P, HGadget, F>, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<MerklePath<P>>,
pub fn alloc_input<Fn, T, CS>(
cs: CS,
value_gen: Fn
) -> Result<MerklePathGadget<P, HGadget, F>, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<MerklePath<P>>,
[src]
cs: CS,
value_gen: Fn
) -> Result<MerklePathGadget<P, HGadget, F>, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<MerklePath<P>>,
fn alloc_constant<Fn, T, CS>(_cs: CS, _f: Fn) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>,
[src]
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>,
fn alloc_checked<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>,
[src]
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>,
fn alloc_input_checked<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>,
[src]
Fn: FnOnce() -> Result<T, SynthesisError>,
CS: ConstraintSystem<F>,
T: Borrow<V>,
Auto Trait Implementations
impl<P, HG, F> RefUnwindSafe for MerklePathGadget<P, HG, F> where
<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget: RefUnwindSafe,
<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget: RefUnwindSafe,
impl<P, HG, F> Send for MerklePathGadget<P, HG, F> where
<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget: Send,
<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget: Send,
impl<P, HG, F> Sync for MerklePathGadget<P, HG, F> where
<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget: Sync,
<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget: Sync,
impl<P, HG, F> Unpin for MerklePathGadget<P, HG, F> where
<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget: Unpin,
<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget: Unpin,
impl<P, HG, F> UnwindSafe for MerklePathGadget<P, HG, F> where
<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget: UnwindSafe,
<HG as CRHGadget<<P as MerkleParameters>::H, F>>::OutputGadget: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,