use algebra_core::Field; use r1cs_core::{ConstraintSystem, SynthesisError}; use r1cs_std::prelude::*; use crate::signature::SignatureScheme; pub trait SigRandomizePkGadget { type ParametersGadget: AllocGadget + Clone; type PublicKeyGadget: ToBytesGadget + EqGadget + AllocGadget + Clone; fn check_randomization_gadget>( cs: CS, parameters: &Self::ParametersGadget, public_key: &Self::PublicKeyGadget, randomness: &[UInt8], ) -> Result; }