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
type VerificationKeyGadget: AllocGadget<<N as SNARK>::VerificationParameters, F> + AllocBytesGadget<Vec<u8, Global>, F> + ToBytesGadget<F>[src]
type VerificationKeyGadget: AllocGadget<<N as SNARK>::VerificationParameters, F> + AllocBytesGadget<Vec<u8, Global>, F> + ToBytesGadget<F>[src]type ProofGadget: AllocGadget<<N as SNARK>::Proof, F> + AllocBytesGadget<Vec<u8, Global>, F>[src]
type ProofGadget: AllocGadget<<N as SNARK>::Proof, F> + AllocBytesGadget<Vec<u8, Global>, F>[src]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]
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]
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]
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>,
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]
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]
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>,