INNER CODE UNIT · Rust
open_combinations
arkworks-rs/poly-commit · poly-commit/src/lib.rs:445
fn open_combinations<'a>(
ck: &Self::CommitterKey,
linear_combinations: impl IntoIterator<Item = &'a LinearCombination<F>>,
polynomials: impl IntoIterator<Item = &'a LabeledPolynomial<F, P>>,
commitments: impl IntoIterator<Item = &'a LabeledCommitment<Self::Commitment>>,
query_set: &QuerySet<P::Point>,
sponge: &mut impl CryptographicSponge,
states: impl IntoIterator<Item = &'a Self::CommitmentState>,
rng: Option<&mut dyn RngCore>,
) -> Result<BatchLCProof<F, Self::BatchProof>, Self::Error>
where
Self::CommitmentState: 'a,
Self::Commitment: 'a,
P: 'a,
{
// The default implementation proceeds by batch-opening all polynomials
// appearing in those LC that are queried at the same point.
let linear_combinations: Vec<_> = linear_combinations.into_iter().collect();