pub trait SignatureGadget<S: SignatureScheme, F: Field>: AllocGadget<S, F> {
    type ComputeKeyGadget: ToBitsLEGadget<F> + Clone;
    type PublicKeyGadget: ToBytesGadget<F> + EqGadget<F> + AllocGadget<S::PublicKey, F> + Clone;
    type SignatureGadget: ToBytesGadget<F> + EqGadget<F> + AllocGadget<S::Signature, F> + Clone;
    fn compute_key<CS: ConstraintSystem<F>>(
        &self,
        cs: CS,
        signature: &Self::SignatureGadget
    ) -> Result<Self::ComputeKeyGadget, SynthesisError>;
fn verify<CS: ConstraintSystem<F>>(
        &self,
        cs: CS,
        public_key: &Self::PublicKeyGadget,
        message: &[UInt8],
        signature: &Self::SignatureGadget
    ) -> Result<Boolean, SynthesisError>; }

Associated Types

Required methods

Implementors