Struct snarkvm_marlin::marlin::CircuitProvingKey
source · [−]pub struct CircuitProvingKey<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>, MM: MarlinMode> {
pub circuit_verifying_key: CircuitVerifyingKey<F, CF, PC, MM>,
pub circuit_commitment_randomness: Vec<PC::Randomness>,
pub circuit: Circuit<F, MM>,
pub committer_key: PC::CommitterKey,
}
Expand description
Proving key for a specific circuit (i.e., R1CS matrices).
Fields
circuit_verifying_key: CircuitVerifyingKey<F, CF, PC, MM>
The circuit verifying key.
circuit_commitment_randomness: Vec<PC::Randomness>
The randomness for the circuit polynomial commitments.
circuit: Circuit<F, MM>
The circuit itself.
committer_key: PC::CommitterKey
The committer key for this index, trimmed from the universal SRS.
Trait Implementations
sourceimpl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>, MM: MarlinMode> Clone for CircuitProvingKey<F, CF, PC, MM>
impl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>, MM: MarlinMode> Clone for CircuitProvingKey<F, CF, PC, MM>
sourceimpl<F: Debug + PrimeField, CF: Debug + PrimeField, PC: Debug + PolynomialCommitment<F, CF>, MM: Debug + MarlinMode> Debug for CircuitProvingKey<F, CF, PC, MM> where
PC::Randomness: Debug,
PC::CommitterKey: Debug,
impl<F: Debug + PrimeField, CF: Debug + PrimeField, PC: Debug + PolynomialCommitment<F, CF>, MM: Debug + MarlinMode> Debug for CircuitProvingKey<F, CF, PC, MM> where
PC::Randomness: Debug,
PC::CommitterKey: Debug,
sourceimpl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>, MM: MarlinMode> From<CircuitProvingKey<F, CF, PC, MM>> for CircuitVerifyingKey<F, CF, PC, MM>
impl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>, MM: MarlinMode> From<CircuitProvingKey<F, CF, PC, MM>> for CircuitVerifyingKey<F, CF, PC, MM>
sourcefn from(other: CircuitProvingKey<F, CF, PC, MM>) -> Self
fn from(other: CircuitProvingKey<F, CF, PC, MM>) -> Self
Performs the conversion.
sourceimpl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>, MM: MarlinMode> FromBytes for CircuitProvingKey<F, CF, PC, MM>
impl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>, MM: MarlinMode> FromBytes for CircuitProvingKey<F, CF, PC, MM>
sourceimpl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>, MM: MarlinMode> ToBytes for CircuitProvingKey<F, CF, PC, MM>
impl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>, MM: MarlinMode> ToBytes for CircuitProvingKey<F, CF, PC, MM>
Auto Trait Implementations
impl<F, CF, PC, MM> RefUnwindSafe for CircuitProvingKey<F, CF, PC, MM> where
F: RefUnwindSafe,
MM: RefUnwindSafe,
<PC as PolynomialCommitment<F, CF>>::Commitment: RefUnwindSafe,
<PC as PolynomialCommitment<F, CF>>::CommitterKey: RefUnwindSafe,
<PC as PolynomialCommitment<F, CF>>::Randomness: RefUnwindSafe,
<PC as PolynomialCommitment<F, CF>>::VerifierKey: RefUnwindSafe,
impl<F, CF, PC, MM> Send for CircuitProvingKey<F, CF, PC, MM>
impl<F, CF, PC, MM> Sync for CircuitProvingKey<F, CF, PC, MM>
impl<F, CF, PC, MM> Unpin for CircuitProvingKey<F, CF, PC, MM> where
F: Unpin,
MM: Unpin,
<PC as PolynomialCommitment<F, CF>>::Commitment: Unpin,
<PC as PolynomialCommitment<F, CF>>::CommitterKey: Unpin,
<PC as PolynomialCommitment<F, CF>>::Randomness: Unpin,
<PC as PolynomialCommitment<F, CF>>::VerifierKey: Unpin,
impl<F, CF, PC, MM> UnwindSafe for CircuitProvingKey<F, CF, PC, MM> where
F: UnwindSafe + RefUnwindSafe,
MM: UnwindSafe,
<PC as PolynomialCommitment<F, CF>>::Commitment: UnwindSafe,
<PC as PolynomialCommitment<F, CF>>::CommitterKey: UnwindSafe,
<PC as PolynomialCommitment<F, CF>>::Randomness: UnwindSafe,
<PC as PolynomialCommitment<F, CF>>::VerifierKey: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more