pub struct IndexVerifierKey<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> {
pub index_info: IndexInfo<F>,
pub index_comms: Vec<PC::Commitment>,
pub verifier_key: PC::VerifierKey,
}Expand description
Verification key for a specific index (i.e., R1CS matrices).
Fields§
§index_info: IndexInfo<F>Stores information about the size of the index, as well as its field of definition.
index_comms: Vec<PC::Commitment>Commitments to the indexed polynomials.
verifier_key: PC::VerifierKeyThe verifier key for this index, trimmed from the universal SRS.
Implementations§
Source§impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> IndexVerifierKey<F, PC>
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> IndexVerifierKey<F, PC>
Sourcepub fn iter(&self) -> impl Iterator<Item = &PC::Commitment>
pub fn iter(&self) -> impl Iterator<Item = &PC::Commitment>
Iterate over the commitments to indexed polynomials in self.
Trait Implementations§
Source§impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> CanonicalDeserialize for IndexVerifierKey<F, PC>
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> CanonicalDeserialize for IndexVerifierKey<F, PC>
Source§fn deserialize<R: Read>(reader: R) -> Result<Self, SerializationError>
fn deserialize<R: Read>(reader: R) -> Result<Self, SerializationError>
Reads
Self from reader.Source§fn deserialize_uncompressed<R: Read>(
reader: R,
) -> Result<Self, SerializationError>
fn deserialize_uncompressed<R: Read>( reader: R, ) -> Result<Self, SerializationError>
Reads
Self from reader without compression.Source§fn deserialize_unchecked<R: Read>(reader: R) -> Result<Self, SerializationError>
fn deserialize_unchecked<R: Read>(reader: R) -> Result<Self, SerializationError>
Reads
self from reader without compression, and without performing
validity checks. Should be used only when the input is trusted.Source§impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> CanonicalSerialize for IndexVerifierKey<F, PC>
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> CanonicalSerialize for IndexVerifierKey<F, PC>
Source§fn serialize<W: Write>(&self, writer: W) -> Result<(), SerializationError>
fn serialize<W: Write>(&self, writer: W) -> Result<(), SerializationError>
Serializes
self into writer.
It is left up to a particular type for how it strikes the
serialization efficiency vs compression tradeoff.
For standard types (e.g. bool, lengths, etc.) typically an uncompressed
form is used, whereas for algebraic types compressed forms are used. Read morefn serialized_size(&self) -> usize
Source§fn serialize_uncompressed<W: Write>(
&self,
writer: W,
) -> Result<(), SerializationError>
fn serialize_uncompressed<W: Write>( &self, writer: W, ) -> Result<(), SerializationError>
Serializes
self into writer without compression.Source§fn serialize_unchecked<W: Write>(
&self,
writer: W,
) -> Result<(), SerializationError>
fn serialize_unchecked<W: Write>( &self, writer: W, ) -> Result<(), SerializationError>
Serializes
self into writer without compression, and without
performing validity checks. Should be used only when there is no
danger of adversarial manipulation of the output.fn uncompressed_size(&self) -> usize
Source§impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> Clone for IndexVerifierKey<F, PC>
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> Clone for IndexVerifierKey<F, PC>
Source§impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> ToBytes for IndexVerifierKey<F, PC>
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> ToBytes for IndexVerifierKey<F, PC>
Auto Trait Implementations§
impl<F, PC> Freeze for IndexVerifierKey<F, PC>
impl<F, PC> RefUnwindSafe for IndexVerifierKey<F, PC>where
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::VerifierKey: RefUnwindSafe,
F: RefUnwindSafe,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Commitment: RefUnwindSafe,
impl<F, PC> Send for IndexVerifierKey<F, PC>where
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::VerifierKey: Send,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Commitment: Send,
impl<F, PC> Sync for IndexVerifierKey<F, PC>where
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::VerifierKey: Sync,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Commitment: Sync,
impl<F, PC> Unpin for IndexVerifierKey<F, PC>where
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::VerifierKey: Unpin,
F: Unpin,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Commitment: Unpin,
impl<F, PC> UnwindSafe for IndexVerifierKey<F, PC>where
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::VerifierKey: UnwindSafe,
F: UnwindSafe,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Commitment: 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<T> CanonicalSerializeHashExt for Twhere
T: CanonicalSerialize,
impl<T> CanonicalSerializeHashExt for Twhere
T: CanonicalSerialize,
fn hash<H>(&self) -> GenericArray<u8, <H as Digest>::OutputSize>where
H: Digest,
fn hash_uncompressed<H>(&self) -> GenericArray<u8, <H as Digest>::OutputSize>where
H: Digest,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more