Trait snarkvm_wasm::traits::algorithms::SNARKVerifierGadget[][src]

pub trait SNARKVerifierGadget<N, F> where
    N: SNARK,
    F: Field
{ type VerificationKeyGadget: AllocGadget<<N as SNARK>::VerificationParameters, F> + AllocBytesGadget<Vec<u8, Global>, F> + ToBytesGadget<F>; type ProofGadget: AllocGadget<<N as SNARK>::Proof, F> + AllocBytesGadget<Vec<u8, Global>, F>; fn check_verify<'a, CS, I, T>(
        cs: CS,
        verification_key: &Self::VerificationKeyGadget,
        input: I,
        proof: &Self::ProofGadget
    ) -> Result<(), SynthesisError>
    where
        CS: ConstraintSystem<F>,
        T: 'a + ToBitsBEGadget<F> + ?Sized,
        I: Iterator<Item = &'a T>
; }

Associated Types

Required methods

fn check_verify<'a, CS, I, T>(
    cs: CS,
    verification_key: &Self::VerificationKeyGadget,
    input: I,
    proof: &Self::ProofGadget
) -> Result<(), SynthesisError> where
    CS: ConstraintSystem<F>,
    T: 'a + ToBitsBEGadget<F> + ?Sized,
    I: Iterator<Item = &'a T>, 
[src]

Implementors

impl<Pairing, F, P, C, V> SNARKVerifierGadget<GM17<Pairing, C, V>, F> for GM17VerifierGadget<Pairing, F, P> where
    C: ConstraintSynthesizer<<Pairing as PairingEngine>::Fr>,
    P: PairingGadget<Pairing, F>,
    F: Field,
    V: ToConstraintField<<Pairing as PairingEngine>::Fr>,
    Pairing: PairingEngine
[src]

type ProofGadget = GM17ProofGadget<Pairing, F, P>

type VerificationKeyGadget = GM17VerifyingKeyGadget<Pairing, F, P>

pub fn check_verify<'a, CS, I, T>(
    cs: CS,
    vk: &<GM17VerifierGadget<Pairing, F, P> as SNARKVerifierGadget<GM17<Pairing, C, V>, F>>::VerificationKeyGadget,
    public_inputs: I,
    proof: &<GM17VerifierGadget<Pairing, F, P> as SNARKVerifierGadget<GM17<Pairing, C, V>, F>>::ProofGadget
) -> Result<(), SynthesisError> where
    CS: ConstraintSystem<F>,
    T: 'a + ToBitsBEGadget<F> + ?Sized,
    I: Iterator<Item = &'a T>, 
[src]

impl<PairingE, ConstraintF, P, C, V> SNARKVerifierGadget<Groth16<PairingE, C, V>, ConstraintF> for Groth16VerifierGadget<PairingE, ConstraintF, P> where
    C: ConstraintSynthesizer<<PairingE as PairingEngine>::Fr>,
    P: PairingGadget<PairingE, ConstraintF>,
    V: ToConstraintField<<PairingE as PairingEngine>::Fr>,
    PairingE: PairingEngine,
    ConstraintF: Field
[src]

type ProofGadget = ProofGadget<PairingE, ConstraintF, P>

type VerificationKeyGadget = VerifyingKeyGadget<PairingE, ConstraintF, P>

pub fn check_verify<'a, CS, I, T>(
    cs: CS,
    vk: &<Groth16VerifierGadget<PairingE, ConstraintF, P> as SNARKVerifierGadget<Groth16<PairingE, C, V>, ConstraintF>>::VerificationKeyGadget,
    public_inputs: I,
    proof: &<Groth16VerifierGadget<PairingE, ConstraintF, P> as SNARKVerifierGadget<Groth16<PairingE, C, V>, ConstraintF>>::ProofGadget
) -> Result<(), SynthesisError> where
    CS: ConstraintSystem<ConstraintF>,
    T: 'a + ToBitsBEGadget<ConstraintF> + ?Sized,
    I: Iterator<Item = &'a T>, 
[src]