pub struct IndexProverKey<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> {
pub index_vk: IndexVerifierKey<F, PC>,
pub index_comm_rands: Vec<PC::Randomness>,
pub index: Index<F>,
pub committer_key: PC::CommitterKey,
}Expand description
Proving key for a specific index (i.e., R1CS matrices).
Fields§
§index_vk: IndexVerifierKey<F, PC>The index verifier key.
index_comm_rands: Vec<PC::Randomness>The randomness for the index polynomial commitments.
index: Index<F>The index itself.
committer_key: PC::CommitterKeyThe committer key for this index, trimmed from the universal SRS.
Trait Implementations§
Source§impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> CanonicalDeserialize for IndexProverKey<F, PC>
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> CanonicalDeserialize for IndexProverKey<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 IndexProverKey<F, PC>
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> CanonicalSerialize for IndexProverKey<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 IndexProverKey<F, PC>where
PC::Commitment: Clone,
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> Clone for IndexProverKey<F, PC>where
PC::Commitment: Clone,
Auto Trait Implementations§
impl<F, PC> Freeze for IndexProverKey<F, PC>where
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::CommitterKey: Freeze,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::VerifierKey: Freeze,
F: Freeze,
impl<F, PC> RefUnwindSafe for IndexProverKey<F, PC>where
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::CommitterKey: RefUnwindSafe,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::VerifierKey: RefUnwindSafe,
F: RefUnwindSafe,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Randomness: RefUnwindSafe,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Commitment: RefUnwindSafe,
impl<F, PC> !Send for IndexProverKey<F, PC>
impl<F, PC> !Sync for IndexProverKey<F, PC>
impl<F, PC> Unpin for IndexProverKey<F, PC>where
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::CommitterKey: Unpin,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::VerifierKey: Unpin,
F: Unpin,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Randomness: Unpin,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Commitment: Unpin,
impl<F, PC> UnwindSafe for IndexProverKey<F, PC>where
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::CommitterKey: UnwindSafe,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::VerifierKey: UnwindSafe,
F: UnwindSafe + RefUnwindSafe,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Randomness: 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