Struct snarkvm_polycommit::BatchLCProof
source · [−]pub struct BatchLCProof<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>> {
pub proof: PC::BatchProof,
pub evaluations: Option<Vec<F>>,
}
Expand description
A proof of satisfaction of linear combinations.
Fields
proof: PC::BatchProof
Evaluation proof.
evaluations: Option<Vec<F>>
Evaluations required to verify the proof.
Trait Implementations
sourceimpl<TargetCurve, BaseCurve, PG> AllocGadget<BatchLCProof<<TargetCurve as PairingEngine>::Fr, <TargetCurve as PairingEngine>::Fq, MarlinKZG10<TargetCurve>>, <BaseCurve as PairingEngine>::Fr> for BatchLCProofVar<TargetCurve, BaseCurve, PG> where
TargetCurve: PairingEngine,
BaseCurve: PairingEngine,
PG: PairingGadget<TargetCurve, <BaseCurve as PairingEngine>::Fr>,
impl<TargetCurve, BaseCurve, PG> AllocGadget<BatchLCProof<<TargetCurve as PairingEngine>::Fr, <TargetCurve as PairingEngine>::Fq, MarlinKZG10<TargetCurve>>, <BaseCurve as PairingEngine>::Fr> for BatchLCProofVar<TargetCurve, BaseCurve, PG> where
TargetCurve: PairingEngine,
BaseCurve: PairingEngine,
PG: PairingGadget<TargetCurve, <BaseCurve as PairingEngine>::Fr>,
fn alloc_constant<Fn: FnOnce() -> Result<T, SynthesisError>, T: Borrow<BatchLCProof<<TargetCurve as PairingEngine>::Fr, <TargetCurve as PairingEngine>::Fq, MarlinKZG10<TargetCurve>>>, CS: ConstraintSystem<<BaseCurve as PairingEngine>::Fr>>(
cs: CS,
value_gen: Fn
) -> Result<Self, SynthesisError>
fn alloc<Fn: FnOnce() -> Result<T, SynthesisError>, T: Borrow<BatchLCProof<<TargetCurve as PairingEngine>::Fr, <TargetCurve as PairingEngine>::Fq, MarlinKZG10<TargetCurve>>>, CS: ConstraintSystem<<BaseCurve as PairingEngine>::Fr>>(
cs: CS,
value_gen: Fn
) -> Result<Self, SynthesisError>
fn alloc_input<Fn: FnOnce() -> Result<T, SynthesisError>, T: Borrow<BatchLCProof<<TargetCurve as PairingEngine>::Fr, <TargetCurve as PairingEngine>::Fq, MarlinKZG10<TargetCurve>>>, CS: ConstraintSystem<<BaseCurve as PairingEngine>::Fr>>(
cs: CS,
value_gen: Fn
) -> Result<Self, SynthesisError>
fn alloc_checked<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
T: Borrow<V>,
CS: ConstraintSystem<F>,
fn alloc_input_checked<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
T: Borrow<V>,
CS: ConstraintSystem<F>,
sourceimpl<TargetCurve, BaseCurve, PG> AllocGadget<BatchLCProof<<TargetCurve as PairingEngine>::Fr, <TargetCurve as PairingEngine>::Fq, SonicKZG10<TargetCurve>>, <BaseCurve as PairingEngine>::Fr> for BatchLCProofVar<TargetCurve, BaseCurve, PG> where
TargetCurve: PairingEngine,
BaseCurve: PairingEngine,
PG: PairingGadget<TargetCurve, <BaseCurve as PairingEngine>::Fr>,
impl<TargetCurve, BaseCurve, PG> AllocGadget<BatchLCProof<<TargetCurve as PairingEngine>::Fr, <TargetCurve as PairingEngine>::Fq, SonicKZG10<TargetCurve>>, <BaseCurve as PairingEngine>::Fr> for BatchLCProofVar<TargetCurve, BaseCurve, PG> where
TargetCurve: PairingEngine,
BaseCurve: PairingEngine,
PG: PairingGadget<TargetCurve, <BaseCurve as PairingEngine>::Fr>,
fn alloc_constant<Fn: FnOnce() -> Result<T, SynthesisError>, T: Borrow<BatchLCProof<<TargetCurve as PairingEngine>::Fr, <TargetCurve as PairingEngine>::Fq, SonicKZG10<TargetCurve>>>, CS: ConstraintSystem<<BaseCurve as PairingEngine>::Fr>>(
cs: CS,
value_gen: Fn
) -> Result<Self, SynthesisError>
fn alloc<Fn: FnOnce() -> Result<T, SynthesisError>, T: Borrow<BatchLCProof<<TargetCurve as PairingEngine>::Fr, <TargetCurve as PairingEngine>::Fq, SonicKZG10<TargetCurve>>>, CS: ConstraintSystem<<BaseCurve as PairingEngine>::Fr>>(
cs: CS,
value_gen: Fn
) -> Result<Self, SynthesisError>
fn alloc_input<Fn: FnOnce() -> Result<T, SynthesisError>, T: Borrow<BatchLCProof<<TargetCurve as PairingEngine>::Fr, <TargetCurve as PairingEngine>::Fq, SonicKZG10<TargetCurve>>>, CS: ConstraintSystem<<BaseCurve as PairingEngine>::Fr>>(
cs: CS,
value_gen: Fn
) -> Result<Self, SynthesisError>
fn alloc_checked<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
T: Borrow<V>,
CS: ConstraintSystem<F>,
fn alloc_input_checked<Fn, T, CS>(cs: CS, f: Fn) -> Result<Self, SynthesisError> where
Fn: FnOnce() -> Result<T, SynthesisError>,
T: Borrow<V>,
CS: ConstraintSystem<F>,
sourceimpl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>> CanonicalDeserialize for BatchLCProof<F, CF, PC>
impl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>> CanonicalDeserialize for BatchLCProof<F, CF, PC>
sourcefn deserialize<R: Read>(reader: &mut R) -> Result<Self, SerializationError>
fn deserialize<R: Read>(reader: &mut R) -> Result<Self, SerializationError>
Reads Self
from reader
.
sourcefn deserialize_uncompressed<R: Read>(
reader: &mut R
) -> Result<Self, SerializationError>
fn deserialize_uncompressed<R: Read>(
reader: &mut R
) -> Result<Self, SerializationError>
Reads Self
from reader
without compression.
sourceimpl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>> CanonicalSerialize for BatchLCProof<F, CF, PC>
impl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>> CanonicalSerialize for BatchLCProof<F, CF, PC>
sourcefn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
fn serialize<W: Write>(&self, writer: &mut W) -> Result<(), SerializationError>
Serializes self
into writer
.
fn serialized_size(&self) -> usize
sourcefn serialize_uncompressed<W: Write>(
&self,
writer: &mut W
) -> Result<(), SerializationError>
fn serialize_uncompressed<W: Write>(
&self,
writer: &mut W
) -> Result<(), SerializationError>
Serializes self
into writer
without compression.
fn uncompressed_size(&self) -> usize
sourceimpl<F: Clone + PrimeField, CF: Clone + PrimeField, PC: Clone + PolynomialCommitment<F, CF>> Clone for BatchLCProof<F, CF, PC> where
PC::BatchProof: Clone,
impl<F: Clone + PrimeField, CF: Clone + PrimeField, PC: Clone + PolynomialCommitment<F, CF>> Clone for BatchLCProof<F, CF, PC> where
PC::BatchProof: Clone,
sourcefn clone(&self) -> BatchLCProof<F, CF, PC>
fn clone(&self) -> BatchLCProof<F, CF, PC>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<F: Debug + PrimeField, CF: Debug + PrimeField, PC: Debug + PolynomialCommitment<F, CF>> Debug for BatchLCProof<F, CF, PC> where
PC::BatchProof: Debug,
impl<F: Debug + PrimeField, CF: Debug + PrimeField, PC: Debug + PolynomialCommitment<F, CF>> Debug for BatchLCProof<F, CF, PC> where
PC::BatchProof: Debug,
sourceimpl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>> FromBytes for BatchLCProof<F, CF, PC>
impl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>> FromBytes for BatchLCProof<F, CF, PC>
sourceimpl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>> PCProof for BatchLCProof<F, CF, PC>
impl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>> PCProof for BatchLCProof<F, CF, PC>
sourceimpl<F: PartialEq + PrimeField, CF: PartialEq + PrimeField, PC: PartialEq + PolynomialCommitment<F, CF>> PartialEq<BatchLCProof<F, CF, PC>> for BatchLCProof<F, CF, PC> where
PC::BatchProof: PartialEq,
impl<F: PartialEq + PrimeField, CF: PartialEq + PrimeField, PC: PartialEq + PolynomialCommitment<F, CF>> PartialEq<BatchLCProof<F, CF, PC>> for BatchLCProof<F, CF, PC> where
PC::BatchProof: PartialEq,
sourcefn eq(&self, other: &BatchLCProof<F, CF, PC>) -> bool
fn eq(&self, other: &BatchLCProof<F, CF, PC>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &BatchLCProof<F, CF, PC>) -> bool
fn ne(&self, other: &BatchLCProof<F, CF, PC>) -> bool
This method tests for !=
.
sourceimpl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>> ToBytes for BatchLCProof<F, CF, PC>
impl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>> ToBytes for BatchLCProof<F, CF, PC>
impl<F: Eq + PrimeField, CF: Eq + PrimeField, PC: Eq + PolynomialCommitment<F, CF>> Eq for BatchLCProof<F, CF, PC> where
PC::BatchProof: Eq,
impl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>> StructuralEq for BatchLCProof<F, CF, PC>
impl<F: PrimeField, CF: PrimeField, PC: PolynomialCommitment<F, CF>> StructuralPartialEq for BatchLCProof<F, CF, PC>
Auto Trait Implementations
impl<F, CF, PC> RefUnwindSafe for BatchLCProof<F, CF, PC> where
F: RefUnwindSafe,
<PC as PolynomialCommitment<F, CF>>::BatchProof: RefUnwindSafe,
impl<F, CF, PC> Send for BatchLCProof<F, CF, PC>
impl<F, CF, PC> Sync for BatchLCProof<F, CF, PC>
impl<F, CF, PC> Unpin for BatchLCProof<F, CF, PC> where
F: Unpin,
<PC as PolynomialCommitment<F, CF>>::BatchProof: Unpin,
impl<F, CF, PC> UnwindSafe for BatchLCProof<F, CF, PC> where
F: UnwindSafe,
<PC as PolynomialCommitment<F, CF>>::BatchProof: 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
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcepub fn equivalent(&self, key: &K) -> bool
pub fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
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