use algebra::Field; use std::fmt::Debug; use crate::prf::PRF; use r1cs_core::{ConstraintSystem, SynthesisError}; use r1cs_std::prelude::*; pub trait PRFGadget { type OutputGadget: EqGadget + ToBytesGadget + AllocGadget + Clone + Debug; fn new_seed>(cs: CS, output: &P::Seed) -> Vec; fn check_evaluation_gadget>( cs: CS, seed: &[UInt8], input: &[UInt8], ) -> Result; }