Struct kimchi::snarky::api::ProverIndexWrapper
source · pub struct ProverIndexWrapper<Circuit>where
Circuit: SnarkyCircuit,{ /* private fields */ }
Expand description
A prover index.
Implementations§
source§impl<Circuit> ProverIndexWrapper<Circuit>where
Circuit: SnarkyCircuit,
impl<Circuit> ProverIndexWrapper<Circuit>where Circuit: SnarkyCircuit,
sourcepub fn prove<EFqSponge, EFrSponge>(
&mut self,
public_input: <Circuit::PublicInput as SnarkyType<<Circuit::Curve as AffineRepr>::ScalarField>>::OutOfCircuit,
private_input: Circuit::PrivateInput,
debug: bool
) -> SnarkyResult<(ProverProof<<Circuit as SnarkyCircuit>::Curve, <Circuit as SnarkyCircuit>::Proof>, Box<<<Circuit as SnarkyCircuit>::PublicOutput as SnarkyType<<<Circuit as SnarkyCircuit>::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 prove<EFqSponge, EFrSponge>( &mut self, public_input: <Circuit::PublicInput as SnarkyType<<Circuit::Curve as AffineRepr>::ScalarField>>::OutOfCircuit, private_input: Circuit::PrivateInput, debug: bool ) -> SnarkyResult<(ProverProof<<Circuit as SnarkyCircuit>::Curve, <Circuit as SnarkyCircuit>::Proof>, Box<<<Circuit as SnarkyCircuit>::PublicOutput as SnarkyType<<<Circuit as SnarkyCircuit>::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>,
Produces a proof for the given public input.
Auto Trait Implementations§
impl<Circuit> RefUnwindSafe for ProverIndexWrapper<Circuit>where Circuit: RefUnwindSafe, <<Circuit as SnarkyCircuit>::Curve as AffineRepr>::BaseField: RefUnwindSafe, <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 ProverIndexWrapper<Circuit>where Circuit: Send, <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: Send + Sync,
impl<Circuit> Sync for ProverIndexWrapper<Circuit>where Circuit: Sync, <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: Send + Sync,
impl<Circuit> Unpin for ProverIndexWrapper<Circuit>where Circuit: Unpin, <<Circuit as SnarkyCircuit>::Curve as AffineRepr>::BaseField: Unpin, <Circuit as SnarkyCircuit>::Curve: Unpin, <<Circuit as SnarkyCircuit>::Curve as AffineRepr>::ScalarField: Unpin,
impl<Circuit> UnwindSafe for ProverIndexWrapper<Circuit>where Circuit: UnwindSafe, <<Circuit as SnarkyCircuit>::Curve as AffineRepr>::BaseField: UnwindSafe, <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 + RefUnwindSafe,
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