pub fn collect_committed_witnesses<'a, U, F>(
commit_meta: &CommitMeta,
oracle_to_commit_index: &SparseIndex<usize>,
oracles: &MultilinearOracleSet<F>,
witness_index: &MultilinearExtensionIndex<'a, U, F>,
) -> Result<Vec<MultilinearWitness<'a, PackedType<U, F>>>, Error>
Expand description
Collects the committed multilinear witnesses from the witness index and returns them in order.
During the commitment phase of the protocol, the trace polynomials are committed in a specific order recorded by the commit metadata. This collects the witnesses corresponding to committed multilinears and returns a vector of them in the commitment order.
ยงPreconditions
oracle_to_commit_index
must be correctly constructed. Specifically, it must be surjective, mapping at exactly one oracle to every index up to the number of committed multilinears.