use algebra_core::Field; use core::fmt::Debug; use crate::crh::FixedLengthCRH; use r1cs_core::SynthesisError; use r1cs_std::prelude::*; pub trait FixedLengthCRHGadget: Sized { type OutputVar: EqGadget + ToBytesGadget + CondSelectGadget + AllocVar + R1CSVar + Debug + Clone + Sized; type ParametersVar: AllocVar + Clone; fn evaluate( parameters: &Self::ParametersVar, input: &[UInt8], ) -> Result; }