Trait snarkvm_wasm::traits::algorithms::CRHGadget[][src]

pub trait CRHGadget<H, F>: Clone where
    H: CRH,
    F: Field
{ type ParametersGadget: AllocGadget<<H as CRH>::Parameters, F> + Clone; type OutputGadget: ConditionalEqGadget<F> + EqGadget<F> + ToBytesGadget<F> + CondSelectGadget<F> + AllocGadget<<H as CRH>::Output, F> + Debug + Clone + Sized; fn check_evaluation_gadget<CS>(
        cs: CS,
        parameters: &Self::ParametersGadget,
        input: Vec<UInt8, Global>
    ) -> Result<Self::OutputGadget, SynthesisError>
    where
        CS: ConstraintSystem<F>
; }

Associated Types

Required methods

fn check_evaluation_gadget<CS>(
    cs: CS,
    parameters: &Self::ParametersGadget,
    input: Vec<UInt8, Global>
) -> Result<Self::OutputGadget, SynthesisError> where
    CS: ConstraintSystem<F>, 
[src]

Implementors

impl<F, G, GG, S> CRHGadget<BoweHopwoodPedersenCRH<G, S>, F> for BoweHopwoodPedersenCRHGadget<G, F, GG> where
    G: Group,
    S: PedersenSize,
    F: Field,
    GG: GroupGadget<G, F>, 
[src]

type OutputGadget = GG

type ParametersGadget = PedersenCRHParametersGadget<G, S, F, GG>

pub fn check_evaluation_gadget<CS>(
    cs: CS,
    parameters: &<BoweHopwoodPedersenCRHGadget<G, F, GG> as CRHGadget<BoweHopwoodPedersenCRH<G, S>, F>>::ParametersGadget,
    input: Vec<UInt8, Global>
) -> Result<<BoweHopwoodPedersenCRHGadget<G, F, GG> as CRHGadget<BoweHopwoodPedersenCRH<G, S>, F>>::OutputGadget, SynthesisError> where
    CS: ConstraintSystem<F>, 
[src]

impl<F, G, GG, S> CRHGadget<BoweHopwoodPedersenCompressedCRH<G, S>, F> for BoweHopwoodPedersenCompressedCRHGadget<G, F, GG> where
    G: Group + ProjectiveCurve,
    S: PedersenSize,
    F: Field,
    GG: CompressedGroupGadget<G, F>, 
[src]

impl<F, G, GG, S> CRHGadget<PedersenCRH<G, S>, F> for PedersenCRHGadget<G, F, GG> where
    G: Group,
    S: PedersenSize,
    F: Field,
    GG: GroupGadget<G, F>, 
[src]

type OutputGadget = GG

type ParametersGadget = PedersenCRHParametersGadget<G, S, F, GG>

pub fn check_evaluation_gadget<CS>(
    cs: CS,
    parameters: &<PedersenCRHGadget<G, F, GG> as CRHGadget<PedersenCRH<G, S>, F>>::ParametersGadget,
    input: Vec<UInt8, Global>
) -> Result<<PedersenCRHGadget<G, F, GG> as CRHGadget<PedersenCRH<G, S>, F>>::OutputGadget, SynthesisError> where
    CS: ConstraintSystem<F>, 
[src]

impl<F, G, GG, S> CRHGadget<PedersenCompressedCRH<G, S>, F> for PedersenCompressedCRHGadget<G, F, GG> where
    G: Group + ProjectiveCurve,
    S: PedersenSize,
    F: Field,
    GG: CompressedGroupGadget<G, F>, 
[src]