use algebra_core::Field; use r1cs_core::SynthesisError; use r1cs_std::prelude::*; use crate::signature::SignatureScheme; pub trait SigRandomizePkGadget { type ParametersVar: AllocVar + Clone; type PublicKeyVar: ToBytesGadget + EqGadget + AllocVar + Clone; fn randomize( parameters: &Self::ParametersVar, public_key: &Self::PublicKeyVar, randomness: &[UInt8], ) -> Result; }