pub struct PlonkKey<P: Pairing, A: TwistedEdwardsAffine<Range = P::ScalarField>, C: Circuit<A>> { /* private fields */ }
Expand description
Generate the arguments to prove and verify a circuit
Implementations§
source§impl<P: Pairing, A: TwistedEdwardsAffine<Range = P::ScalarField>, C: Circuit<A, ConstraintSystem = Plonk<A>>> PlonkKey<P, A, C>
impl<P: Pairing, A: TwistedEdwardsAffine<Range = P::ScalarField>, C: Circuit<A, ConstraintSystem = Plonk<A>>> PlonkKey<P, A, C>
sourcepub fn compile_with_circuit(
keypair: &PlonkParams<P>,
label: &[u8],
circuit: &C
) -> Result<(<Self as Keypair<P, A, C>>::Prover, <Self as Keypair<P, A, C>>::Verifier), Error>
pub fn compile_with_circuit( keypair: &PlonkParams<P>, label: &[u8], circuit: &C ) -> Result<(<Self as Keypair<P, A, C>>::Prover, <Self as Keypair<P, A, C>>::Verifier), Error>
Create a new arguments set from a given circuit instance
Use the provided circuit instead of the default implementation
Trait Implementations§
source§impl<P: Pairing, A: TwistedEdwardsAffine<Range = P::ScalarField>, C: Circuit<A, ConstraintSystem = Plonk<A>>> Keypair<P, A, C> for PlonkKey<P, A, C>
impl<P: Pairing, A: TwistedEdwardsAffine<Range = P::ScalarField>, C: Circuit<A, ConstraintSystem = Plonk<A>>> Keypair<P, A, C> for PlonkKey<P, A, C>
type Prover = Prover<P, A>
type Verifier = Verifier<P>
type PublicParameters = PlonkParams<P>
type ConstraintSystem = Plonk<A>
fn compile( pp: &Self::PublicParameters ) -> Result<(Self::Prover, Self::Verifier), Error>
Auto Trait Implementations§
impl<P, A, C> RefUnwindSafe for PlonkKey<P, A, C>
impl<P, A, C> Send for PlonkKey<P, A, C>where
C: Send,
impl<P, A, C> Sync for PlonkKey<P, A, C>where
C: Sync,
impl<P, A, C> Unpin for PlonkKey<P, A, C>
impl<P, A, C> UnwindSafe for PlonkKey<P, A, C>
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