use algebra_core::Field; use core::fmt::Debug; use crate::{prf::PRF, Vec}; use r1cs_core::{ConstraintSystemRef, SynthesisError}; use r1cs_std::prelude::*; pub trait PRFGadget { type OutputVar: EqGadget + ToBytesGadget + AllocVar + R1CSVar + Clone + Debug; fn new_seed(cs: ConstraintSystemRef, seed: &P::Seed) -> Vec>; fn evaluate(seed: &[UInt8], input: &[UInt8]) -> Result; }