Trait snarkvm_gadgets::traits::algorithms::crh::CRHGadget [−][src]
pub trait CRHGadget<H: CRH, F: Field>: Sized + Clone { type ParametersGadget: AllocGadget<H::Parameters, F> + Clone; type OutputGadget: ConditionalEqGadget<F> + EqGadget<F> + ToBytesGadget<F> + CondSelectGadget<F> + AllocGadget<H::Output, F> + Debug + Clone + Sized; fn check_evaluation_gadget<CS: ConstraintSystem<F>>(
cs: CS,
parameters: &Self::ParametersGadget,
input: Vec<UInt8>
) -> Result<Self::OutputGadget, SynthesisError>; }
Associated Types
type ParametersGadget: AllocGadget<H::Parameters, F> + Clone
type OutputGadget: ConditionalEqGadget<F> + EqGadget<F> + ToBytesGadget<F> + CondSelectGadget<F> + AllocGadget<H::Output, F> + Debug + Clone + Sized
Required methods
fn check_evaluation_gadget<CS: ConstraintSystem<F>>(
cs: CS,
parameters: &Self::ParametersGadget,
input: Vec<UInt8>
) -> Result<Self::OutputGadget, SynthesisError>
Implementors
impl<F: Field, G: Group + ProjectiveCurve, GG: CompressedGroupGadget<G, F>, S: PedersenSize> CRHGadget<BoweHopwoodPedersenCompressedCRH<G, S>, F> for BoweHopwoodPedersenCompressedCRHGadget<G, F, GG>
impl<F: Field, G: Group + ProjectiveCurve, GG: CompressedGroupGadget<G, F>, S: PedersenSize> CRHGadget<PedersenCompressedCRH<G, S>, F> for PedersenCompressedCRHGadget<G, F, GG>
impl<F: Field, G: Group, GG: GroupGadget<G, F>, S: PedersenSize> CRHGadget<BoweHopwoodPedersenCRH<G, S>, F> for BoweHopwoodPedersenCRHGadget<G, F, GG>
impl<F: Field, G: Group, GG: GroupGadget<G, F>, S: PedersenSize> CRHGadget<PedersenCRH<G, S>, F> for PedersenCRHGadget<G, F, GG>