use algebra_core::Field; use core::fmt::Debug; use crate::crh::FixedLengthCRH; use r1cs_core::{ConstraintSystem, SynthesisError}; use r1cs_std::prelude::*; pub trait FixedLengthCRHGadget: Sized { type OutputGadget: ConditionalEqGadget + EqGadget + ToBytesGadget + CondSelectGadget + AllocGadget + Debug + Clone + Sized; type ParametersGadget: AllocGadget + Clone; fn check_evaluation_gadget>( cs: CS, parameters: &Self::ParametersGadget, input: &[UInt8], ) -> Result; }