Struct snarkvm_algorithms::snark::marlin::CircuitVerifyingKey
source · pub struct CircuitVerifyingKey<E: PairingEngine, MM: MarlinMode> {
pub circuit_info: CircuitInfo<E::Fr>,
pub circuit_commitments: Vec<Commitment<E>>,
pub verifier_key: VerifierKey<E>,
pub id: CircuitId,
/* private fields */
}
Expand description
Verification key for a specific index (i.e., R1CS matrices).
Fields§
§circuit_info: CircuitInfo<E::Fr>
Stores information about the size of the circuit, as well as its defined field.
circuit_commitments: Vec<Commitment<E>>
Commitments to the indexed polynomials.
verifier_key: VerifierKey<E>
The verifier key for this index, trimmed from the universal SRS.
id: CircuitId
Implementations§
source§impl<E: PairingEngine, MM: MarlinMode> CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> CircuitVerifyingKey<E, MM>
sourcepub fn iter(&self) -> impl Iterator<Item = &Commitment<E>>
pub fn iter(&self) -> impl Iterator<Item = &Commitment<E>>
Iterate over the commitments to indexed polynomials in self
.
Trait Implementations§
source§impl<E: PairingEngine, MM: MarlinMode> CanonicalDeserialize for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> CanonicalDeserialize for CircuitVerifyingKey<E, MM>
fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate ) -> Result<Self, SerializationError>
fn deserialize_compressed<R>(reader: R) -> Result<Self, SerializationError>where R: Read,
fn deserialize_compressed_unchecked<R>( reader: R ) -> Result<Self, SerializationError>where R: Read,
fn deserialize_uncompressed<R>(reader: R) -> Result<Self, SerializationError>where R: Read,
fn deserialize_uncompressed_unchecked<R>( reader: R ) -> Result<Self, SerializationError>where R: Read,
source§impl<E: PairingEngine, MM: MarlinMode> CanonicalSerialize for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> CanonicalSerialize for CircuitVerifyingKey<E, MM>
fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress ) -> Result<(), SerializationError>
fn serialized_size(&self, compress: Compress) -> usize
fn serialize_compressed<W>(&self, writer: W) -> Result<(), SerializationError>where W: Write,
fn compressed_size(&self) -> usize
fn serialize_uncompressed<W>(&self, writer: W) -> Result<(), SerializationError>where W: Write,
fn uncompressed_size(&self) -> usize
source§impl<E: Clone + PairingEngine, MM: Clone + MarlinMode> Clone for CircuitVerifyingKey<E, MM>where
E::Fr: Clone,
impl<E: Clone + PairingEngine, MM: Clone + MarlinMode> Clone for CircuitVerifyingKey<E, MM>where E::Fr: Clone,
source§fn clone(&self) -> CircuitVerifyingKey<E, MM>
fn clone(&self) -> CircuitVerifyingKey<E, MM>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<E: Debug + PairingEngine, MM: Debug + MarlinMode> Debug for CircuitVerifyingKey<E, MM>where
E::Fr: Debug,
impl<E: Debug + PairingEngine, MM: Debug + MarlinMode> Debug for CircuitVerifyingKey<E, MM>where E::Fr: Debug,
source§impl<'de, E: PairingEngine, MM: MarlinMode> Deserialize<'de> for CircuitVerifyingKey<E, MM>
impl<'de, E: PairingEngine, MM: MarlinMode> Deserialize<'de> for CircuitVerifyingKey<E, MM>
source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
source§impl<E: PairingEngine, MM: MarlinMode> Display for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> Display for CircuitVerifyingKey<E, MM>
source§impl<'a, E: PairingEngine, MM: MarlinMode> From<&'a CircuitProvingKey<E, MM>> for CircuitVerifyingKey<E, MM>
impl<'a, E: PairingEngine, MM: MarlinMode> From<&'a CircuitProvingKey<E, MM>> for CircuitVerifyingKey<E, MM>
source§fn from(other: &'a CircuitProvingKey<E, MM>) -> Self
fn from(other: &'a CircuitProvingKey<E, MM>) -> Self
Converts to this type from the input type.
source§impl<E: PairingEngine, MM: MarlinMode> From<CircuitProvingKey<E, MM>> for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> From<CircuitProvingKey<E, MM>> for CircuitVerifyingKey<E, MM>
source§fn from(other: CircuitProvingKey<E, MM>) -> Self
fn from(other: CircuitProvingKey<E, MM>) -> Self
Converts to this type from the input type.
source§impl<E: PairingEngine, MM: MarlinMode> From<PreparedCircuitVerifyingKey<E, MM>> for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> From<PreparedCircuitVerifyingKey<E, MM>> for CircuitVerifyingKey<E, MM>
source§fn from(other: PreparedCircuitVerifyingKey<E, MM>) -> Self
fn from(other: PreparedCircuitVerifyingKey<E, MM>) -> Self
Converts to this type from the input type.
source§impl<E: PairingEngine, MM: MarlinMode> FromBytes for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> FromBytes for CircuitVerifyingKey<E, MM>
source§impl<E: PairingEngine, MM: MarlinMode> FromStr for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> FromStr for CircuitVerifyingKey<E, MM>
source§impl<E: PairingEngine, MM: MarlinMode> Ord for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> Ord for CircuitVerifyingKey<E, MM>
source§impl<E: PartialEq + PairingEngine, MM: PartialEq + MarlinMode> PartialEq<CircuitVerifyingKey<E, MM>> for CircuitVerifyingKey<E, MM>where
E::Fr: PartialEq,
impl<E: PartialEq + PairingEngine, MM: PartialEq + MarlinMode> PartialEq<CircuitVerifyingKey<E, MM>> for CircuitVerifyingKey<E, MM>where E::Fr: PartialEq,
source§fn eq(&self, other: &CircuitVerifyingKey<E, MM>) -> bool
fn eq(&self, other: &CircuitVerifyingKey<E, MM>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<E: PairingEngine, MM: MarlinMode> PartialOrd<CircuitVerifyingKey<E, MM>> for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> PartialOrd<CircuitVerifyingKey<E, MM>> for CircuitVerifyingKey<E, MM>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl<E: PairingEngine, MM: MarlinMode> PrepareOrd for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> PrepareOrd for CircuitVerifyingKey<E, MM>
source§impl<E: PairingEngine, MM: MarlinMode> Serialize for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> Serialize for CircuitVerifyingKey<E, MM>
source§impl<E: PairingEngine, MM: MarlinMode> ToBytes for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> ToBytes for CircuitVerifyingKey<E, MM>
source§impl<E: PairingEngine, MM: MarlinMode> ToConstraintField<<E as PairingEngine>::Fq> for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> ToConstraintField<<E as PairingEngine>::Fq> for CircuitVerifyingKey<E, MM>
fn to_field_elements(&self) -> Result<Vec<E::Fq>, ConstraintFieldError>
source§impl<E: PairingEngine, MM: MarlinMode> ToMinimalBits for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> ToMinimalBits for CircuitVerifyingKey<E, MM>
source§fn to_minimal_bits(&self) -> Vec<bool>
fn to_minimal_bits(&self) -> Vec<bool>
Returns
self
as a minimal boolean array.source§impl<E: PairingEngine, MM: MarlinMode> Valid for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> Valid for CircuitVerifyingKey<E, MM>
fn check(&self) -> Result<(), SerializationError>
fn batch_check<'a>( batch: impl Iterator<Item = &'a Self> + Send ) -> Result<(), SerializationError>where Self: 'a,
impl<E: Eq + PairingEngine, MM: Eq + MarlinMode> Eq for CircuitVerifyingKey<E, MM>where E::Fr: Eq,
impl<E: PairingEngine, MM: MarlinMode> StructuralEq for CircuitVerifyingKey<E, MM>
impl<E: PairingEngine, MM: MarlinMode> StructuralPartialEq for CircuitVerifyingKey<E, MM>
Auto Trait Implementations§
impl<E, MM> RefUnwindSafe for CircuitVerifyingKey<E, MM>where MM: RefUnwindSafe, <E as PairingEngine>::Fr: RefUnwindSafe, <E as PairingEngine>::G1Affine: RefUnwindSafe, <E as PairingEngine>::G2Affine: RefUnwindSafe, <<E as PairingEngine>::G2Affine as PairingCurve>::Prepared: RefUnwindSafe,
impl<E, MM> Send for CircuitVerifyingKey<E, MM>
impl<E, MM> Sync for CircuitVerifyingKey<E, MM>
impl<E, MM> Unpin for CircuitVerifyingKey<E, MM>where MM: Unpin, <E as PairingEngine>::Fr: Unpin, <E as PairingEngine>::G1Affine: Unpin, <E as PairingEngine>::G2Affine: Unpin, <<E as PairingEngine>::G2Affine as PairingCurve>::Prepared: Unpin,
impl<E, MM> UnwindSafe for CircuitVerifyingKey<E, MM>where MM: UnwindSafe, <E as PairingEngine>::Fr: UnwindSafe, <E as PairingEngine>::G1Affine: UnwindSafe, <E as PairingEngine>::G2Affine: UnwindSafe, <<E as PairingEngine>::G2Affine as PairingCurve>::Prepared: 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
source§impl<'de, T> DeserializeExt<'de> for Twhere
T: DeserializeOwned,
impl<'de, T> DeserializeExt<'de> for Twhere T: DeserializeOwned,
fn take_from_value<D>( value: &mut Value, field: &str ) -> Result<T, <D as Deserializer<'de>>::Error>where D: Deserializer<'de>,
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.