Struct kimchi::snarky::api::VerifierIndexWrapper
source · pub struct VerifierIndexWrapper<Circuit>where
Circuit: SnarkyCircuit,{ /* private fields */ }
Expand description
A verifier index.
Implementations§
source§impl<Circuit> VerifierIndexWrapper<Circuit>where
Circuit: SnarkyCircuit,
impl<Circuit> VerifierIndexWrapper<Circuit>where Circuit: SnarkyCircuit,
sourcepub fn verify<EFqSponge, EFrSponge>(
&self,
proof: ProverProof<Circuit::Curve, Circuit::Proof>,
public_input: <Circuit::PublicInput as SnarkyType<<Circuit::Curve as AffineRepr>::ScalarField>>::OutOfCircuit,
public_output: <Circuit::PublicOutput as SnarkyType<<Circuit::Curve as AffineRepr>::ScalarField>>::OutOfCircuit
)where
<Circuit::Curve as AffineRepr>::BaseField: PrimeField,
EFqSponge: Clone + FqSponge<<Circuit::Curve as AffineRepr>::BaseField, Circuit::Curve, <Circuit::Curve as AffineRepr>::ScalarField>,
EFrSponge: FrSponge<<Circuit::Curve as AffineRepr>::ScalarField>,
pub fn verify<EFqSponge, EFrSponge>( &self, proof: ProverProof<Circuit::Curve, Circuit::Proof>, public_input: <Circuit::PublicInput as SnarkyType<<Circuit::Curve as AffineRepr>::ScalarField>>::OutOfCircuit, public_output: <Circuit::PublicOutput as SnarkyType<<Circuit::Curve as AffineRepr>::ScalarField>>::OutOfCircuit )where <Circuit::Curve as AffineRepr>::BaseField: PrimeField, EFqSponge: Clone + FqSponge<<Circuit::Curve as AffineRepr>::BaseField, Circuit::Curve, <Circuit::Curve as AffineRepr>::ScalarField>, EFrSponge: FrSponge<<Circuit::Curve as AffineRepr>::ScalarField>,
Verify a proof for a given public input and public output.
Auto Trait Implementations§
impl<Circuit> RefUnwindSafe for VerifierIndexWrapper<Circuit>where <Circuit as SnarkyCircuit>::Curve: RefUnwindSafe, <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: RefUnwindSafe, <<Circuit as SnarkyCircuit>::Curve as AffineRepr>::ScalarField: UnwindSafe + RefUnwindSafe,
impl<Circuit> Send for VerifierIndexWrapper<Circuit>where <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: Send + Sync,
impl<Circuit> Sync for VerifierIndexWrapper<Circuit>where <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: Send + Sync,
impl<Circuit> Unpin for VerifierIndexWrapper<Circuit>where <Circuit as SnarkyCircuit>::Curve: Unpin, <<Circuit as SnarkyCircuit>::Curve as AffineRepr>::ScalarField: Unpin,
impl<Circuit> UnwindSafe for VerifierIndexWrapper<Circuit>where <Circuit as SnarkyCircuit>::Curve: UnwindSafe, <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: RefUnwindSafe, <<Circuit as SnarkyCircuit>::Curve as AffineRepr>::ScalarField: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more