Skip to content

Commit 5853af4

Browse files
ludamadludamad0
andauthored
refactor: collapse bb::honk (AztecProtocol#4318)
Per crypto team thinking, the following namespaces ``` namespace bb::honk { namespace bb::honk::flavor { namespace bb::honk::grand_product_library { namespace bb::honk::logderivative_library { namespace bb::honk::pcs { namespace bb::honk::pcs::gemini { namespace bb::honk::pcs::ipa { namespace bb::honk::pcs::kzg { namespace bb::honk::pcs::shplonk { namespace bb::honk::pcs::zeromorph { namespace bb::honk::permutation_library { namespace bb::honk::sumcheck { ``` are now all in 'bb'. If any names are unclear, they should be improved (feel free to point them out here). If details really need to be grouped and used by multiple source units, they can have a namespace like I kept with gemini partially. --------- Co-authored-by: ludamad <[email protected]>
1 parent 1615803 commit 5853af4

176 files changed

Lines changed: 780 additions & 877 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

barretenberg/cpp/src/barretenberg/benchmark/goblin_bench/eccvm.bench.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
using namespace benchmark;
88
using namespace bb;
99

10-
using Flavor = honk::flavor::ECCVM;
10+
using Flavor = ECCVMFlavor;
1111
using Builder = ECCVMCircuitBuilder<Flavor>;
12-
using Composer = honk::ECCVMComposer;
12+
using Composer = ECCVMComposer;
1313

1414
namespace {
1515

barretenberg/cpp/src/barretenberg/benchmark/ipa_bench/ipa.bench.cpp

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,22 @@
33

44
using namespace benchmark;
55
using namespace bb;
6-
using namespace bb::honk::pcs::ipa;
6+
77
namespace {
88
using Curve = curve::Grumpkin;
99
using Fr = Curve::ScalarField;
10-
using IPA = IPA<Curve>;
11-
using OpeningPair = honk::pcs::OpeningPair<Curve>;
12-
using OpeningClaim = honk::pcs::OpeningClaim<Curve>;
13-
using Polynomial = Polynomial<Curve::ScalarField>;
14-
using CommitmentKey = honk::pcs::CommitmentKey<Curve>;
15-
using VerifierCommitmentKey = honk::pcs::VerifierCommitmentKey<Curve>;
1610

1711
constexpr size_t MIN_POLYNOMIAL_DEGREE_LOG2 = 10;
1812
constexpr size_t MAX_POLYNOMIAL_DEGREE_LOG2 = 16;
1913
std::shared_ptr<bb::srs::factories::CrsFactory<curve::Grumpkin>> crs_factory(
2014
new bb::srs::factories::FileCrsFactory<curve::Grumpkin>("../srs_db/grumpkin", 1 << 16));
2115

22-
auto ck = std::make_shared<CommitmentKey>(1 << MAX_POLYNOMIAL_DEGREE_LOG2, crs_factory);
23-
auto vk = std::make_shared<VerifierCommitmentKey>(1 << MAX_POLYNOMIAL_DEGREE_LOG2, crs_factory);
16+
auto ck = std::make_shared<CommitmentKey<Curve>>(1 << MAX_POLYNOMIAL_DEGREE_LOG2, crs_factory);
17+
auto vk = std::make_shared<VerifierCommitmentKey<Curve>>(1 << MAX_POLYNOMIAL_DEGREE_LOG2, crs_factory);
2418

25-
std::vector<std::shared_ptr<honk::BaseTranscript>> prover_transcripts(MAX_POLYNOMIAL_DEGREE_LOG2 -
26-
MIN_POLYNOMIAL_DEGREE_LOG2 + 1);
27-
std::vector<OpeningClaim> opening_claims(MAX_POLYNOMIAL_DEGREE_LOG2 - MIN_POLYNOMIAL_DEGREE_LOG2 + 1);
19+
std::vector<std::shared_ptr<BaseTranscript>> prover_transcripts(MAX_POLYNOMIAL_DEGREE_LOG2 -
20+
MIN_POLYNOMIAL_DEGREE_LOG2 + 1);
21+
std::vector<OpeningClaim<Curve>> opening_claims(MAX_POLYNOMIAL_DEGREE_LOG2 - MIN_POLYNOMIAL_DEGREE_LOG2 + 1);
2822

2923
void ipa_open(State& state) noexcept
3024
{
@@ -33,19 +27,19 @@ void ipa_open(State& state) noexcept
3327
state.PauseTiming();
3428
size_t n = 1 << static_cast<size_t>(state.range(0));
3529
// Construct the polynomial
36-
Polynomial poly(n);
30+
Polynomial<Fr> poly(n);
3731
for (size_t i = 0; i < n; ++i) {
3832
poly[i] = Fr::random_element(&engine);
3933
}
4034
auto x = Fr::random_element(&engine);
4135
auto eval = poly.evaluate(x);
42-
const OpeningPair opening_pair = { x, eval };
43-
const OpeningClaim opening_claim{ opening_pair, ck->commit(poly) };
36+
const OpeningPair<Curve> opening_pair = { x, eval };
37+
const OpeningClaim<Curve> opening_claim{ opening_pair, ck->commit(poly) };
4438
// initialize empty prover transcript
45-
auto prover_transcript = std::make_shared<honk::BaseTranscript>();
39+
auto prover_transcript = std::make_shared<BaseTranscript>();
4640
state.ResumeTiming();
4741
// Compute proof
48-
IPA::compute_opening_proof(ck, opening_pair, poly, prover_transcript);
42+
IPA<Curve>::compute_opening_proof(ck, opening_pair, poly, prover_transcript);
4943
// Store info for verifier
5044
prover_transcripts[static_cast<size_t>(state.range(0)) - MIN_POLYNOMIAL_DEGREE_LOG2] = prover_transcript;
5145
opening_claims[static_cast<size_t>(state.range(0)) - MIN_POLYNOMIAL_DEGREE_LOG2] = opening_claim;
@@ -59,10 +53,10 @@ void ipa_verify(State& state) noexcept
5953
auto prover_transcript = prover_transcripts[static_cast<size_t>(state.range(0)) - MIN_POLYNOMIAL_DEGREE_LOG2];
6054
auto opening_claim = opening_claims[static_cast<size_t>(state.range(0)) - MIN_POLYNOMIAL_DEGREE_LOG2];
6155
// initialize verifier transcript from proof data
62-
auto verifier_transcript = std::make_shared<honk::BaseTranscript>(prover_transcript->proof_data);
56+
auto verifier_transcript = std::make_shared<BaseTranscript>(prover_transcript->proof_data);
6357

6458
state.ResumeTiming();
65-
auto result = IPA::verify(vk, opening_claim, verifier_transcript);
59+
auto result = IPA<Curve>::verify(vk, opening_claim, verifier_transcript);
6660
ASSERT(result);
6761
}
6862
}

barretenberg/cpp/src/barretenberg/benchmark/protogalaxy_bench/protogalaxy.bench.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
using namespace benchmark;
88

9-
namespace bb::honk {
10-
using Flavor = flavor::Ultra;
9+
namespace bb {
10+
using Flavor = UltraFlavor;
1111
using Instance = ProverInstance_<Flavor>;
1212
using Instances = ProverInstances_<Flavor, 2>;
1313
using ProtoGalaxyProver = ProtoGalaxyProver_<Instances>;
@@ -38,6 +38,6 @@ void fold_one(State& state) noexcept
3838
}
3939

4040
BENCHMARK(fold_one)->/* vary the circuit size */ DenseRange(14, 20)->Unit(kMillisecond);
41-
} // namespace bb::honk
41+
} // namespace bb
4242

4343
BENCHMARK_MAIN();

barretenberg/cpp/src/barretenberg/benchmark/relations_bench/relations.bench.cpp

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ namespace {
88
auto& engine = bb::numeric::get_debug_randomness();
99
}
1010

11-
using namespace bb::honk::sumcheck;
12-
1311
namespace bb::benchmark::relations {
1412

1513
using Fr = bb::fr;
@@ -33,28 +31,28 @@ template <typename Flavor, typename Relation> void execute_relation(::benchmark:
3331
Relation::accumulate(accumulator, new_value, params, 1);
3432
}
3533
}
36-
BENCHMARK(execute_relation<honk::flavor::Ultra, UltraArithmeticRelation<Fr>>);
37-
BENCHMARK(execute_relation<honk::flavor::Ultra, GenPermSortRelation<Fr>>);
38-
BENCHMARK(execute_relation<honk::flavor::Ultra, EllipticRelation<Fr>>);
39-
BENCHMARK(execute_relation<honk::flavor::Ultra, AuxiliaryRelation<Fr>>);
40-
BENCHMARK(execute_relation<honk::flavor::Ultra, LookupRelation<Fr>>);
41-
BENCHMARK(execute_relation<honk::flavor::Ultra, UltraPermutationRelation<Fr>>);
42-
43-
BENCHMARK(execute_relation<honk::flavor::GoblinUltra, EccOpQueueRelation<Fr>>);
44-
45-
BENCHMARK(execute_relation<honk::flavor::GoblinTranslator, GoblinTranslatorDecompositionRelation<Fr>>);
46-
BENCHMARK(execute_relation<honk::flavor::GoblinTranslator, GoblinTranslatorOpcodeConstraintRelation<Fr>>);
47-
BENCHMARK(execute_relation<honk::flavor::GoblinTranslator, GoblinTranslatorAccumulatorTransferRelation<Fr>>);
48-
BENCHMARK(execute_relation<honk::flavor::GoblinTranslator, GoblinTranslatorGenPermSortRelation<Fr>>);
49-
BENCHMARK(execute_relation<honk::flavor::GoblinTranslator, GoblinTranslatorNonNativeFieldRelation<Fr>>);
50-
BENCHMARK(execute_relation<honk::flavor::GoblinTranslator, GoblinTranslatorPermutationRelation<Fr>>);
51-
52-
BENCHMARK(execute_relation<honk::flavor::ECCVM, ECCVMLookupRelation<Fq>>);
53-
BENCHMARK(execute_relation<honk::flavor::ECCVM, ECCVMMSMRelation<Fq>>);
54-
BENCHMARK(execute_relation<honk::flavor::ECCVM, ECCVMPointTableRelation<Fq>>);
55-
BENCHMARK(execute_relation<honk::flavor::ECCVM, ECCVMSetRelation<Fq>>);
56-
BENCHMARK(execute_relation<honk::flavor::ECCVM, ECCVMTranscriptRelation<Fq>>);
57-
BENCHMARK(execute_relation<honk::flavor::ECCVM, ECCVMWnafRelation<Fq>>);
34+
BENCHMARK(execute_relation<UltraFlavor, UltraArithmeticRelation<Fr>>);
35+
BENCHMARK(execute_relation<UltraFlavor, GenPermSortRelation<Fr>>);
36+
BENCHMARK(execute_relation<UltraFlavor, EllipticRelation<Fr>>);
37+
BENCHMARK(execute_relation<UltraFlavor, AuxiliaryRelation<Fr>>);
38+
BENCHMARK(execute_relation<UltraFlavor, LookupRelation<Fr>>);
39+
BENCHMARK(execute_relation<UltraFlavor, UltraPermutationRelation<Fr>>);
40+
41+
BENCHMARK(execute_relation<GoblinUltraFlavor, EccOpQueueRelation<Fr>>);
42+
43+
BENCHMARK(execute_relation<GoblinTranslatorFlavor, GoblinTranslatorDecompositionRelation<Fr>>);
44+
BENCHMARK(execute_relation<GoblinTranslatorFlavor, GoblinTranslatorOpcodeConstraintRelation<Fr>>);
45+
BENCHMARK(execute_relation<GoblinTranslatorFlavor, GoblinTranslatorAccumulatorTransferRelation<Fr>>);
46+
BENCHMARK(execute_relation<GoblinTranslatorFlavor, GoblinTranslatorGenPermSortRelation<Fr>>);
47+
BENCHMARK(execute_relation<GoblinTranslatorFlavor, GoblinTranslatorNonNativeFieldRelation<Fr>>);
48+
BENCHMARK(execute_relation<GoblinTranslatorFlavor, GoblinTranslatorPermutationRelation<Fr>>);
49+
50+
BENCHMARK(execute_relation<ECCVMFlavor, ECCVMLookupRelation<Fq>>);
51+
BENCHMARK(execute_relation<ECCVMFlavor, ECCVMMSMRelation<Fq>>);
52+
BENCHMARK(execute_relation<ECCVMFlavor, ECCVMPointTableRelation<Fq>>);
53+
BENCHMARK(execute_relation<ECCVMFlavor, ECCVMSetRelation<Fq>>);
54+
BENCHMARK(execute_relation<ECCVMFlavor, ECCVMTranscriptRelation<Fq>>);
55+
BENCHMARK(execute_relation<ECCVMFlavor, ECCVMWnafRelation<Fq>>);
5856

5957
} // namespace bb::benchmark::relations
6058

barretenberg/cpp/src/barretenberg/benchmark/ultra_bench/mock_proofs.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,13 @@ template <typename Builder> void generate_basic_arithmetic_circuit(Builder& buil
4848
}
4949

5050
// ultrahonk
51-
inline honk::UltraProver get_prover(honk::UltraComposer& composer,
52-
void (*test_circuit_function)(honk::UltraComposer::CircuitBuilder&, size_t),
53-
size_t num_iterations)
51+
inline UltraProver get_prover(UltraComposer& composer,
52+
void (*test_circuit_function)(UltraComposer::CircuitBuilder&, size_t),
53+
size_t num_iterations)
5454
{
55-
honk::UltraComposer::CircuitBuilder builder;
55+
UltraComposer::CircuitBuilder builder;
5656
test_circuit_function(builder, num_iterations);
57-
std::shared_ptr<honk::UltraComposer::Instance> instance = composer.create_instance(builder);
57+
std::shared_ptr<UltraComposer::Instance> instance = composer.create_instance(builder);
5858
return composer.create_prover(instance);
5959
}
6060

@@ -70,7 +70,7 @@ inline plonk::Prover get_prover(plonk::StandardComposer& composer,
7070

7171
// ultraplonk
7272
inline plonk::UltraProver get_prover(plonk::UltraComposer& composer,
73-
void (*test_circuit_function)(honk::UltraComposer::CircuitBuilder&, size_t),
73+
void (*test_circuit_function)(UltraComposer::CircuitBuilder&, size_t),
7474
size_t num_iterations)
7575
{
7676
plonk::UltraComposer::CircuitBuilder builder;

barretenberg/cpp/src/barretenberg/benchmark/ultra_bench/ultra_honk.bench.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ static void construct_proof_ultrahonk(State& state,
1414
void (*test_circuit_function)(UltraCircuitBuilder&, size_t)) noexcept
1515
{
1616
size_t num_iterations = 10; // 10x the circuit
17-
bb::mock_proofs::construct_proof_with_specified_num_iterations<honk::UltraComposer>(
17+
bb::mock_proofs::construct_proof_with_specified_num_iterations<UltraComposer>(
1818
state, test_circuit_function, num_iterations);
1919
}
2020

@@ -24,7 +24,7 @@ static void construct_proof_ultrahonk(State& state,
2424
static void construct_proof_ultrahonk_power_of_2(State& state) noexcept
2525
{
2626
auto log2_of_gates = static_cast<size_t>(state.range(0));
27-
bb::mock_proofs::construct_proof_with_specified_num_iterations<honk::UltraComposer>(
27+
bb::mock_proofs::construct_proof_with_specified_num_iterations<UltraComposer>(
2828
state, &bb::mock_proofs::generate_basic_arithmetic_circuit<UltraCircuitBuilder>, log2_of_gates);
2929
}
3030

barretenberg/cpp/src/barretenberg/benchmark/ultra_bench/ultra_honk_rounds.bench.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ enum {
2727
* @param prover - The ultrahonk prover.
2828
* @param index - The pass to measure.
2929
**/
30-
BBERG_PROFILE static void test_round_inner(State& state, honk::UltraProver& prover, size_t index) noexcept
30+
BBERG_PROFILE static void test_round_inner(State& state, UltraProver& prover, size_t index) noexcept
3131
{
3232
auto time_if_index = [&](size_t target_index, auto&& func) -> void {
3333
if (index == target_index) {
@@ -53,9 +53,9 @@ BBERG_PROFILE static void test_round(State& state, size_t index) noexcept
5353

5454
for (auto _ : state) {
5555
state.PauseTiming();
56-
honk::UltraComposer composer;
56+
UltraComposer composer;
5757
// TODO(https://github.com/AztecProtocol/barretenberg/issues/761) benchmark both sparse and dense circuits
58-
honk::UltraProver prover = bb::mock_proofs::get_prover(
58+
UltraProver prover = bb::mock_proofs::get_prover(
5959
composer, &bb::stdlib::generate_ecdsa_verification_test_circuit<UltraCircuitBuilder>, 10);
6060
test_round_inner(state, prover, index);
6161
state.ResumeTiming();

barretenberg/cpp/src/barretenberg/commitment_schemes/claim.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#include "barretenberg/commitment_schemes/commitment_key.hpp"
44
#include "barretenberg/polynomials/polynomial.hpp"
55

6-
namespace bb::honk::pcs {
6+
namespace bb {
77
/**
88
* @brief Opening pair (r,v) for some witness polynomial p(X) such that p(r) = v
99
*
@@ -72,4 +72,4 @@ template <typename Curve> class OpeningClaim {
7272

7373
bool operator==(const OpeningClaim& other) const = default;
7474
};
75-
} // namespace bb::honk::pcs
75+
} // namespace bb

barretenberg/cpp/src/barretenberg/commitment_schemes/commit.bench.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55

66
namespace bb {
77

8-
template <typename Curve>
9-
std::shared_ptr<honk::pcs::CommitmentKey<Curve>> create_commitment_key(const size_t num_points)
8+
template <typename Curve> std::shared_ptr<CommitmentKey<Curve>> create_commitment_key(const size_t num_points)
109
{
1110
std::string srs_path;
1211
if constexpr (std::same_as<Curve, curve::BN254>) {
@@ -16,7 +15,7 @@ std::shared_ptr<honk::pcs::CommitmentKey<Curve>> create_commitment_key(const siz
1615
srs_path = "../srs_db/grumpkin";
1716
}
1817
auto crs_factory = std::make_shared<bb::srs::factories::FileCrsFactory<Curve>>(srs_path, num_points);
19-
return std::make_shared<honk::pcs::CommitmentKey<Curve>>(num_points, crs_factory);
18+
return std::make_shared<CommitmentKey<Curve>>(num_points, crs_factory);
2019
}
2120

2221
constexpr size_t MAX_LOG_NUM_POINTS = 24;

barretenberg/cpp/src/barretenberg/commitment_schemes/commitment_key.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#include <memory>
2020
#include <string_view>
2121

22-
namespace bb::honk::pcs {
22+
namespace bb {
2323

2424
/**
2525
* @brief CommitmentKey object over a pairing group 𝔾₁.
@@ -74,4 +74,4 @@ template <class Curve> class CommitmentKey {
7474
std::shared_ptr<bb::srs::factories::ProverCrs<Curve>> srs;
7575
};
7676

77-
} // namespace bb::honk::pcs
77+
} // namespace bb

0 commit comments

Comments
 (0)