Struct ark_marlin::IndexProverKey [−][src]
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::CommitterKey
The committer key for this index, trimmed from the universal SRS.
Trait Implementations
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> CanonicalDeserialize for IndexProverKey<F, PC>
[src]
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> CanonicalDeserialize for IndexProverKey<F, PC>
[src]Reads Self
from reader
.
Reads Self
from reader
without compression.
Reads self
from reader
without compression, and without performing
validity checks. Should be used only when the input is trusted. Read more
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> CanonicalSerialize for IndexProverKey<F, PC>
[src]
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> CanonicalSerialize for IndexProverKey<F, PC>
[src]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 more
Serializes self
into writer
without compression.
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. Read more
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> Clone for IndexProverKey<F, PC> where
PC::Commitment: Clone,
[src]
impl<F: PrimeField, PC: PolynomialCommitment<F, DensePolynomial<F>>> Clone for IndexProverKey<F, PC> where
PC::Commitment: Clone,
[src]Auto Trait Implementations
impl<F, PC> !RefUnwindSafe for IndexProverKey<F, PC>
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
F: Unpin,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Commitment: Unpin,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::CommitterKey: Unpin,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Randomness: Unpin,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::VerifierKey: Unpin,
impl<F, PC> UnwindSafe for IndexProverKey<F, PC> where
F: RefUnwindSafe + UnwindSafe,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Commitment: UnwindSafe,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::CommitterKey: UnwindSafe,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::Randomness: UnwindSafe,
<PC as PolynomialCommitment<F, DensePolynomial<F>>>::VerifierKey: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
fn hash_uncompressed<H>(&self) -> GenericArray<u8, <H as Digest>::OutputSize> where
H: Digest,
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self
pub fn vzip(self) -> V