Skip to content

Commit 19eb7f9

Browse files
authored
refactor: moving wit comms and witness and comm labels from instance to oink (#5199)
Continues the refactoring of instance by moving witness_commitments and commitment_labels to oink prover. Also changes some uses of prover_polynomials to proving_key instead.
1 parent 5cbbd7d commit 19eb7f9

File tree

3 files changed

+7
-19
lines changed

3 files changed

+7
-19
lines changed

barretenberg/cpp/src/barretenberg/sumcheck/instance/prover_instance.hpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,13 @@ template <class Flavor> class ProverInstance_ {
2525
using FF = typename Flavor::FF;
2626
using ProverPolynomials = typename Flavor::ProverPolynomials;
2727
using Polynomial = typename Flavor::Polynomial;
28-
using WitnessCommitments = typename Flavor::WitnessCommitments;
29-
using CommitmentLabels = typename Flavor::CommitmentLabels;
3028
using RelationSeparator = typename Flavor::RelationSeparator;
3129

3230
using Trace = ExecutionTrace_<Flavor>;
3331

3432
public:
3533
std::shared_ptr<ProvingKey> proving_key;
3634
ProverPolynomials prover_polynomials;
37-
WitnessCommitments witness_commitments;
38-
CommitmentLabels commitment_labels;
3935

4036
std::array<Polynomial, 4> sorted_polynomials;
4137

barretenberg/cpp/src/barretenberg/ultra_honk/oink_prover.cpp

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,13 @@ template <IsUltraFlavor Flavor> void OinkProver<Flavor>::execute_preamble_round(
3030
*/
3131
template <IsUltraFlavor Flavor> void OinkProver<Flavor>::execute_wire_commitments_round()
3232
{
33-
auto& witness_commitments = instance->witness_commitments;
34-
3533
// Commit to the first three wire polynomials of the instance
3634
// We only commit to the fourth wire polynomial after adding memory recordss
3735
witness_commitments.w_l = commitment_key->commit(instance->proving_key->w_l);
3836
witness_commitments.w_r = commitment_key->commit(instance->proving_key->w_r);
3937
witness_commitments.w_o = commitment_key->commit(instance->proving_key->w_o);
4038

4139
auto wire_comms = witness_commitments.get_wires();
42-
auto& commitment_labels = instance->commitment_labels;
4340
auto wire_labels = commitment_labels.get_wires();
4441
for (size_t idx = 0; idx < 3; ++idx) {
4542
transcript->send_to_verifier(domain_separator + wire_labels[idx], wire_comms[idx]);
@@ -72,16 +69,14 @@ template <IsUltraFlavor Flavor> void OinkProver<Flavor>::execute_wire_commitment
7269
*/
7370
template <IsUltraFlavor Flavor> void OinkProver<Flavor>::execute_sorted_list_accumulator_round()
7471
{
75-
auto& witness_commitments = instance->witness_commitments;
76-
const auto& commitment_labels = instance->commitment_labels;
7772

7873
auto eta = transcript->template get_challenge<FF>(domain_separator + "eta");
7974
instance->compute_sorted_accumulator_polynomials(eta);
8075

8176
// Commit to the sorted witness-table accumulator and the finalized (i.e. with memory records) fourth wire
8277
// polynomial
83-
witness_commitments.sorted_accum = commitment_key->commit(instance->prover_polynomials.sorted_accum);
84-
witness_commitments.w_4 = commitment_key->commit(instance->prover_polynomials.w_4);
78+
witness_commitments.sorted_accum = commitment_key->commit(instance->proving_key->sorted_accum);
79+
witness_commitments.w_4 = commitment_key->commit(instance->proving_key->w_4);
8580

8681
transcript->send_to_verifier(domain_separator + commitment_labels.sorted_accum, witness_commitments.sorted_accum);
8782
transcript->send_to_verifier(domain_separator + commitment_labels.w_4, witness_commitments.w_4);
@@ -93,16 +88,13 @@ template <IsUltraFlavor Flavor> void OinkProver<Flavor>::execute_sorted_list_acc
9388
*/
9489
template <IsUltraFlavor Flavor> void OinkProver<Flavor>::execute_log_derivative_inverse_round()
9590
{
96-
auto& witness_commitments = instance->witness_commitments;
97-
const auto& commitment_labels = instance->commitment_labels;
98-
9991
auto [beta, gamma] = transcript->template get_challenges<FF>(domain_separator + "beta", domain_separator + "gamma");
10092
instance->relation_parameters.beta = beta;
10193
instance->relation_parameters.gamma = gamma;
10294
if constexpr (IsGoblinFlavor<Flavor>) {
10395
// Compute and commit to the logderivative inverse used in DataBus
10496
instance->compute_logderivative_inverse(beta, gamma);
105-
witness_commitments.lookup_inverses = commitment_key->commit(instance->prover_polynomials.lookup_inverses);
97+
witness_commitments.lookup_inverses = commitment_key->commit(instance->proving_key->lookup_inverses);
10698
transcript->send_to_verifier(domain_separator + commitment_labels.lookup_inverses,
10799
witness_commitments.lookup_inverses);
108100
}
@@ -114,14 +106,12 @@ template <IsUltraFlavor Flavor> void OinkProver<Flavor>::execute_log_derivative_
114106
*/
115107
template <IsUltraFlavor Flavor> void OinkProver<Flavor>::execute_grand_product_computation_round()
116108
{
117-
auto& witness_commitments = instance->witness_commitments;
118-
const auto& commitment_labels = instance->commitment_labels;
119109

120110
instance->compute_grand_product_polynomials(instance->relation_parameters.beta,
121111
instance->relation_parameters.gamma);
122112

123-
witness_commitments.z_perm = commitment_key->commit(instance->prover_polynomials.z_perm);
124-
witness_commitments.z_lookup = commitment_key->commit(instance->prover_polynomials.z_lookup);
113+
witness_commitments.z_perm = commitment_key->commit(instance->proving_key->z_perm);
114+
witness_commitments.z_lookup = commitment_key->commit(instance->proving_key->z_lookup);
125115

126116
transcript->send_to_verifier(domain_separator + commitment_labels.z_perm, witness_commitments.z_perm);
127117
transcript->send_to_verifier(domain_separator + commitment_labels.z_lookup, witness_commitments.z_lookup);

barretenberg/cpp/src/barretenberg/ultra_honk/oink_prover.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ template <IsUltraFlavor Flavor> class OinkProver {
2727
std::shared_ptr<Transcript> transcript;
2828
std::shared_ptr<CommitmentKey> commitment_key;
2929
std::string domain_separator;
30+
typename Flavor::WitnessCommitments witness_commitments;
31+
typename Flavor::CommitmentLabels commitment_labels;
3032

3133
OinkProver(const std::shared_ptr<ProverInstance_<Flavor>>& inst,
3234
const std::shared_ptr<typename Flavor::CommitmentKey>& commitment_key,

0 commit comments

Comments
 (0)