From 94418e563c4a7e12799fe52999cfe17f7207bb09 Mon Sep 17 00:00:00 2001 From: maramihali Date: Wed, 6 Sep 2023 09:51:54 +0000 Subject: [PATCH 01/28] wip --- .../honk/composer/ultra_composer.hpp | 10 +- .../barretenberg/honk/instance/instance.cpp | 314 ++++++++++++++++++ .../barretenberg/honk/instance/instance.hpp | 64 ++++ 3 files changed, 386 insertions(+), 2 deletions(-) create mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp create mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp index ec9c39b9149..ae749f60478 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp @@ -62,7 +62,9 @@ template class UltraComposer_ { UltraComposer_& operator=(UltraComposer_ const& other) noexcept = default; ~UltraComposer_() = default; + // abstract method std::shared_ptr compute_proving_key(const CircuitBuilder& circuit_constructor); + // abstract method std::shared_ptr compute_verification_key(const CircuitBuilder& circuit_constructor); void compute_circuit_size_parameters(CircuitBuilder& circuit_constructor); @@ -71,8 +73,12 @@ template class UltraComposer_ { void construct_ecc_op_wire_polynomials(auto&); - UltraProver_ create_prover(CircuitBuilder& circuit_constructor); - UltraVerifier_ create_verifier(const CircuitBuilder& circuit_constructor); + // an ultra composer can create either folding prover and verifier or ultra prover and verifier based on what kind + // of instance it receives + // we can see the composer as an orchestrator + + UltraProver_ create_prover(Instance& instance); + UltraVerifier_ create_verifier(const Instance& instance); void add_table_column_selector_poly_to_proving_key(polynomial& small, const std::string& tag); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp new file mode 100644 index 00000000000..951f21536d7 --- /dev/null +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp @@ -0,0 +1,314 @@ +#include "instance.hpp" +#include "barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp" +#include "barretenberg/proof_system/composer/composer_lib.hpp" +#include "barretenberg/proof_system/composer/permutation_lib.hpp" + +namespace proof_system::honk { +/** + * @brief Helper method to compute quantities like total number of gates and dyadic circuit size + * + * @tparam Flavor + * @param circuit_constructor + */ +template +void Instance::compute_circuit_size_parameters(CircuitBuilder& circuit_constructor) +{ + // Compute total length of the tables and the number of lookup gates; their sum is the minimum circuit size + for (const auto& table : circuit_constructor.lookup_tables) { + tables_size += table.size; + lookups_size += table.lookup_gates.size(); + } + + // Get num conventional gates, num public inputs and num Goblin style ECC op gates + const size_t num_gates = circuit_constructor.num_gates; + num_public_inputs = circuit_constructor.public_inputs.size(); + num_ecc_op_gates = circuit_constructor.num_ecc_op_gates; + + // minimum circuit size due to the length of lookups plus tables + const size_t minimum_circuit_size_due_to_lookups = tables_size + lookups_size + num_zero_rows; + + // number of populated rows in the execution trace + size_t num_rows_populated_in_execution_trace = num_zero_rows + num_ecc_op_gates + num_public_inputs + num_gates; + + // The number of gates is max(lookup gates + tables, rows already populated in trace) + 1, where the +1 is due to + // addition of a "zero row" at top of the execution trace to ensure wires and other polys are shiftable. + total_num_gates = std::max(minimum_circuit_size_due_to_lookups, num_rows_populated_in_execution_trace); + + // Next power of 2 + dyadic_circuit_size = circuit_constructor.get_circuit_subgroup_size(total_num_gates); +} + +/** + * @brief Compute witness polynomials + * + */ +template void Instance::compute_witness(CircuitBuilder& circuit_constructor) +{ + if (computed_witness) { + return; + } + + // Construct the conventional wire polynomials + auto wire_polynomials = construct_wire_polynomials_base(circuit_constructor, dyadic_circuit_size); + + proving_key->w_l = wire_polynomials[0]; + proving_key->w_r = wire_polynomials[1]; + proving_key->w_o = wire_polynomials[2]; + proving_key->w_4 = wire_polynomials[3]; + + // If Goblin, construct the ECC op queue wire polynomials + if constexpr (IsGoblinFlavor) { + construct_ecc_op_wire_polynomials(wire_polynomials); + } + + // Construct the sorted concatenated list polynomials for the lookup argument + polynomial s_1(dyadic_circuit_size); + polynomial s_2(dyadic_circuit_size); + polynomial s_3(dyadic_circuit_size); + polynomial s_4(dyadic_circuit_size); + + // The sorted list polynomials have (tables_size + lookups_size) populated entries. We define the index below so + // that these entries are written into the last indices of the polynomials. The values on the first + // dyadic_circuit_size - (tables_size + lookups_size) indices are automatically initialized to zero via the + // polynomial constructor. + size_t s_index = dyadic_circuit_size - tables_size - lookups_size; + ASSERT(s_index > 0); // We need at least 1 row of zeroes for the permutation argument + + for (auto& table : circuit_constructor.lookup_tables) { + const fr table_index(table.table_index); + auto& lookup_gates = table.lookup_gates; + for (size_t i = 0; i < table.size; ++i) { + if (table.use_twin_keys) { + lookup_gates.push_back({ + { + table.column_1[i].from_montgomery_form().data[0], + table.column_2[i].from_montgomery_form().data[0], + }, + { + table.column_3[i], + 0, + }, + }); + } else { + lookup_gates.push_back({ + { + table.column_1[i].from_montgomery_form().data[0], + 0, + }, + { + table.column_2[i], + table.column_3[i], + }, + }); + } + } + +#ifdef NO_TBB + std::sort(lookup_gates.begin(), lookup_gates.end()); +#else + std::sort(std::execution::par_unseq, lookup_gates.begin(), lookup_gates.end()); +#endif + + for (const auto& entry : lookup_gates) { + const auto components = entry.to_sorted_list_components(table.use_twin_keys); + s_1[s_index] = components[0]; + s_2[s_index] = components[1]; + s_3[s_index] = components[2]; + s_4[s_index] = table_index; + ++s_index; + } + } + + // Polynomial memory is zeroed out when constructed with size hint, so we don't have to initialize trailing space + proving_key->sorted_1 = s_1; + proving_key->sorted_2 = s_2; + proving_key->sorted_3 = s_3; + proving_key->sorted_4 = s_4; + + // Copy memory read/write record data into proving key. Prover needs to know which gates contain a read/write + // 'record' witness on the 4th wire. This wire value can only be fully computed once the first 3 wire polynomials + // have been committed to. The 4th wire on these gates will be a random linear combination of the first 3 wires, + // using the plookup challenge `eta`. We need to update the records with an offset Because we shift the gates to + // account for everything that comes before them in the execution trace, e.g. public inputs, a zero row, etc. + size_t offset = num_ecc_op_gates + num_public_inputs + num_zero_rows; + auto add_public_inputs_offset = [offset](uint32_t gate_index) { return gate_index + offset; }; + proving_key->memory_read_records = std::vector(); + proving_key->memory_write_records = std::vector(); + + std::transform(circuit_constructor.memory_read_records.begin(), + circuit_constructor.memory_read_records.end(), + std::back_inserter(proving_key->memory_read_records), + add_public_inputs_offset); + std::transform(circuit_constructor.memory_write_records.begin(), + circuit_constructor.memory_write_records.end(), + std::back_inserter(proving_key->memory_write_records), + add_public_inputs_offset); + + computed_witness = true; +} + +/** + * @brief Construct Goblin style ECC op wire polynomials + * @details The Ecc op wire values are assumed to have already been stored in the corresponding block of the + * conventional wire polynomials. The values for the ecc op wire polynomials are set based on those values. + * + * @tparam Flavor + * @param wire_polynomials + */ +template void Instance::construct_ecc_op_wire_polynomials(auto& wire_polynomials) +{ + std::array op_wire_polynomials; + for (auto& poly : op_wire_polynomials) { + poly = polynomial(dyadic_circuit_size); + } + + // The ECC op wires are constructed to contain the op data on the appropriate range and to vanish everywhere else. + // The op data is assumed to have already been stored at the correct location in the convetional wires so the data + // can simply be copied over directly. + const size_t op_wire_offset = Flavor::has_zero_row ? 1 : 0; + for (size_t poly_idx = 0; poly_idx < Flavor::NUM_WIRES; ++poly_idx) { + for (size_t i = 0; i < num_ecc_op_gates; ++i) { + size_t idx = i + op_wire_offset; + op_wire_polynomials[poly_idx][idx] = wire_polynomials[poly_idx][idx]; + } + } + + proving_key->ecc_op_wire_1 = op_wire_polynomials[0]; + proving_key->ecc_op_wire_2 = op_wire_polynomials[1]; + proving_key->ecc_op_wire_3 = op_wire_polynomials[2]; + proving_key->ecc_op_wire_4 = op_wire_polynomials[3]; +} + +template +std::shared_ptr Instance::compute_proving_key( + const CircuitBuilder& circuit_constructor) +{ + if (proving_key) { + return proving_key; + } + + proving_key = std::make_shared(dyadic_circuit_size, num_public_inputs); + + construct_selector_polynomials(circuit_constructor, proving_key.get()); + + compute_honk_generalized_sigma_permutations(circuit_constructor, proving_key.get()); + + compute_first_and_last_lagrange_polynomials(proving_key.get()); + + polynomial poly_q_table_column_1(dyadic_circuit_size); + polynomial poly_q_table_column_2(dyadic_circuit_size); + polynomial poly_q_table_column_3(dyadic_circuit_size); + polynomial poly_q_table_column_4(dyadic_circuit_size); + + size_t offset = dyadic_circuit_size - tables_size; + + // Create lookup selector polynomials which interpolate each table column. + // Our selector polys always need to interpolate the full subgroup size, so here we offset so as to + // put the table column's values at the end. (The first gates are for non-lookup constraints). + // [0, ..., 0, ...table, 0, 0, 0, x] + // ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^nonzero to ensure uniqueness and to avoid infinity commitments + // | table randomness + // ignored, as used for regular constraints and padding to the next power of 2. + + for (size_t i = 0; i < offset; ++i) { + poly_q_table_column_1[i] = 0; + poly_q_table_column_2[i] = 0; + poly_q_table_column_3[i] = 0; + poly_q_table_column_4[i] = 0; + } + + for (const auto& table : circuit_constructor.lookup_tables) { + const fr table_index(table.table_index); + + for (size_t i = 0; i < table.size; ++i) { + poly_q_table_column_1[offset] = table.column_1[i]; + poly_q_table_column_2[offset] = table.column_2[i]; + poly_q_table_column_3[offset] = table.column_3[i]; + poly_q_table_column_4[offset] = table_index; + ++offset; + } + } + + // Polynomial memory is zeroed out when constructed with size hint, so we don't have to initialize trailing space + + proving_key->table_1 = poly_q_table_column_1; + proving_key->table_2 = poly_q_table_column_2; + proving_key->table_3 = poly_q_table_column_3; + proving_key->table_4 = poly_q_table_column_4; + + proving_key->recursive_proof_public_input_indices = + std::vector(recursive_proof_public_input_indices.begin(), recursive_proof_public_input_indices.end()); + + proving_key->contains_recursive_proof = contains_recursive_proof; + + if constexpr (IsGoblinFlavor) { + proving_key->num_ecc_op_gates = num_ecc_op_gates; + } + + return proving_key; +} + +/** + * Compute verification key consisting of selector precommitments. + * + * @return Pointer to created circuit verification key. + * */ +template +std::shared_ptr Instance::compute_verification_key( + const CircuitBuilder& circuit_constructor) +{ + if (verification_key) { + return verification_key; + } + + if (!proving_key) { + compute_proving_key(circuit_constructor); + } + + verification_key = + std::make_shared(proving_key->circuit_size, proving_key->num_public_inputs); + + // Compute and store commitments to all precomputed polynomials + verification_key->q_m = commitment_key->commit(proving_key->q_m); + verification_key->q_l = commitment_key->commit(proving_key->q_l); + verification_key->q_r = commitment_key->commit(proving_key->q_r); + verification_key->q_o = commitment_key->commit(proving_key->q_o); + verification_key->q_4 = commitment_key->commit(proving_key->q_4); + verification_key->q_c = commitment_key->commit(proving_key->q_c); + verification_key->q_arith = commitment_key->commit(proving_key->q_arith); + verification_key->q_sort = commitment_key->commit(proving_key->q_sort); + verification_key->q_elliptic = commitment_key->commit(proving_key->q_elliptic); + verification_key->q_aux = commitment_key->commit(proving_key->q_aux); + verification_key->q_lookup = commitment_key->commit(proving_key->q_lookup); + verification_key->sigma_1 = commitment_key->commit(proving_key->sigma_1); + verification_key->sigma_2 = commitment_key->commit(proving_key->sigma_2); + verification_key->sigma_3 = commitment_key->commit(proving_key->sigma_3); + verification_key->sigma_4 = commitment_key->commit(proving_key->sigma_4); + verification_key->id_1 = commitment_key->commit(proving_key->id_1); + verification_key->id_2 = commitment_key->commit(proving_key->id_2); + verification_key->id_3 = commitment_key->commit(proving_key->id_3); + verification_key->id_4 = commitment_key->commit(proving_key->id_4); + verification_key->table_1 = commitment_key->commit(proving_key->table_1); + verification_key->table_2 = commitment_key->commit(proving_key->table_2); + verification_key->table_3 = commitment_key->commit(proving_key->table_3); + verification_key->table_4 = commitment_key->commit(proving_key->table_4); + verification_key->lagrange_first = commitment_key->commit(proving_key->lagrange_first); + verification_key->lagrange_last = commitment_key->commit(proving_key->lagrange_last); + + // TODO(luke): Similar to the lagrange_first/last polynomials, we dont really need to commit to this polynomial due + // to its simple structure. Handling it in the same way as the lagrange polys for now for simplicity. + if constexpr (IsGoblinFlavor) { + verification_key->lagrange_ecc_op = commitment_key->commit(proving_key->lagrange_ecc_op); + } + + // // See `add_recusrive_proof()` for how this recursive data is assigned. + // verification_key->recursive_proof_public_input_indices = + // std::vector(recursive_proof_public_input_indices.begin(), + // recursive_proof_public_input_indices.end()); + + // verification_key->contains_recursive_proof = contains_recursive_proof; + + return verification_key; +} + +} // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp new file mode 100644 index 00000000000..2ca2600afff --- /dev/null +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp @@ -0,0 +1,64 @@ +#pragma once + +#include "barretenberg/proof_system/composer/composer_lib.hpp" +#include "barretenberg/proof_system/flavor/flavor.hpp" +#include "barretenberg/srs/factories/file_crs_factory.hpp" + +#include +#include +#include +#include +namespace proof_system::honk { +// abstract class Instance has everything +// class FoldingInstance that extends Instance -- has an array of instances and will be used to initialise a +// FoldingProver and Folding Verifier +// AccumulatorInstance for actually creating a Prover and Verifier +template class Instance { + using CircuitBuilder = typename Flavor::CircuitBuilder; + using ProvingKey = typename Flavor::ProvingKey; + using VerificationKey = typename Flavor::VerificationKey; + using CommitmentKey = typename Flavor::CommitmentKey; + + // offset due to placing zero wires at the start of execution trace + static constexpr size_t num_zero_rows = Flavor::has_zero_row ? 1 : 0; + + static constexpr std::string_view NAME_STRING = "UltraHonk"; + static constexpr size_t NUM_WIRES = CircuitBuilder::NUM_WIRES; + std::shared_ptr proving_key; + std::shared_ptr verification_key; + + // The crs_factory holds the path to the srs and exposes methods to extract the srs elements + std::shared_ptr> crs_factory_; + + // The commitment key is passed to the prover but also used herein to compute the verfication key commitments + std::shared_ptr commitment_key; + + std::vector recursive_proof_public_input_indices; + bool contains_recursive_proof = false; + bool computed_witness = false; + size_t total_num_gates = 0; // num_gates + num_pub_inputs + tables + zero_row_offset (used to compute dyadic size) + size_t dyadic_circuit_size = 0; // final power-of-2 circuit size + size_t lookups_size = 0; // total number of lookup gates + size_t tables_size = 0; // total number of table entries + size_t num_public_inputs = 0; + size_t num_ecc_op_gates = 0; + + // have sth like create_instance ? + + std::shared_ptr compute_proving_key(const CircuitBuilder& circuit_constructor); + std::shared_ptr compute_verification_key(const CircuitBuilder& circuit_constructor); + + void compute_circuit_size_parameters(CircuitBuilder& circuit_constructor); + + void compute_witness(CircuitBuilder& circuit_constructor); + + void construct_ecc_op_wire_polynomials(auto&); + + void add_table_column_selector_poly_to_proving_key(barretenberg::polynomial& small, const std::string& tag); + + void compute_commitment_key(size_t circuit_size) + { + commitment_key = std::make_shared(circuit_size, crs_factory_); + }; +}; +} // namespace proof_system::honk \ No newline at end of file From f98e95fe72da29e504c8f9403d03f513753868ca Mon Sep 17 00:00:00 2001 From: maramihali Date: Thu, 7 Sep 2023 14:52:34 +0000 Subject: [PATCH 02/28] more wip --- .../honk/composer/ultra_composer.cpp | 329 +----------------- .../honk/composer/ultra_composer.hpp | 47 +-- .../src/barretenberg/honk/flavor/ultra.hpp | 10 +- .../barretenberg/honk/instance/instance.cpp | 105 ++++-- .../barretenberg/honk/instance/instance.hpp | 48 ++- .../honk/proof_system/ultra_prover.cpp | 5 + .../honk/proof_system/ultra_prover.hpp | 5 +- .../honk/proof_system/ultra_verifier.cpp | 2 + .../honk/proof_system/ultra_verifier.hpp | 1 + 9 files changed, 156 insertions(+), 396 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp index 6d088299f4b..48ab62d3c4f 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp @@ -6,194 +6,19 @@ namespace proof_system::honk { -/** - * @brief Helper method to compute quantities like total number of gates and dyadic circuit size - * - * @tparam Flavor - * @param circuit_constructor - */ -template -void UltraComposer_::compute_circuit_size_parameters(CircuitBuilder& circuit_constructor) -{ - // Compute total length of the tables and the number of lookup gates; their sum is the minimum circuit size - for (const auto& table : circuit_constructor.lookup_tables) { - tables_size += table.size; - lookups_size += table.lookup_gates.size(); - } - - // Get num conventional gates, num public inputs and num Goblin style ECC op gates - const size_t num_gates = circuit_constructor.num_gates; - num_public_inputs = circuit_constructor.public_inputs.size(); - num_ecc_op_gates = circuit_constructor.num_ecc_op_gates; - - // minimum circuit size due to the length of lookups plus tables - const size_t minimum_circuit_size_due_to_lookups = tables_size + lookups_size + num_zero_rows; - - // number of populated rows in the execution trace - size_t num_rows_populated_in_execution_trace = num_zero_rows + num_ecc_op_gates + num_public_inputs + num_gates; - - // The number of gates is max(lookup gates + tables, rows already populated in trace) + 1, where the +1 is due to - // addition of a "zero row" at top of the execution trace to ensure wires and other polys are shiftable. - total_num_gates = std::max(minimum_circuit_size_due_to_lookups, num_rows_populated_in_execution_trace); - - // Next power of 2 - dyadic_circuit_size = circuit_constructor.get_circuit_subgroup_size(total_num_gates); -} - -/** - * @brief Compute witness polynomials - * - */ -template void UltraComposer_::compute_witness(CircuitBuilder& circuit_constructor) -{ - if (computed_witness) { - return; - } - - // Construct the conventional wire polynomials - auto wire_polynomials = construct_wire_polynomials_base(circuit_constructor, dyadic_circuit_size); - - proving_key->w_l = wire_polynomials[0]; - proving_key->w_r = wire_polynomials[1]; - proving_key->w_o = wire_polynomials[2]; - proving_key->w_4 = wire_polynomials[3]; - - // If Goblin, construct the ECC op queue wire polynomials - if constexpr (IsGoblinFlavor) { - construct_ecc_op_wire_polynomials(wire_polynomials); - } - - // Construct the sorted concatenated list polynomials for the lookup argument - polynomial s_1(dyadic_circuit_size); - polynomial s_2(dyadic_circuit_size); - polynomial s_3(dyadic_circuit_size); - polynomial s_4(dyadic_circuit_size); - - // The sorted list polynomials have (tables_size + lookups_size) populated entries. We define the index below so - // that these entries are written into the last indices of the polynomials. The values on the first - // dyadic_circuit_size - (tables_size + lookups_size) indices are automatically initialized to zero via the - // polynomial constructor. - size_t s_index = dyadic_circuit_size - tables_size - lookups_size; - ASSERT(s_index > 0); // We need at least 1 row of zeroes for the permutation argument - - for (auto& table : circuit_constructor.lookup_tables) { - const fr table_index(table.table_index); - auto& lookup_gates = table.lookup_gates; - for (size_t i = 0; i < table.size; ++i) { - if (table.use_twin_keys) { - lookup_gates.push_back({ - { - table.column_1[i].from_montgomery_form().data[0], - table.column_2[i].from_montgomery_form().data[0], - }, - { - table.column_3[i], - 0, - }, - }); - } else { - lookup_gates.push_back({ - { - table.column_1[i].from_montgomery_form().data[0], - 0, - }, - { - table.column_2[i], - table.column_3[i], - }, - }); - } - } - -#ifdef NO_TBB - std::sort(lookup_gates.begin(), lookup_gates.end()); -#else - std::sort(std::execution::par_unseq, lookup_gates.begin(), lookup_gates.end()); -#endif - - for (const auto& entry : lookup_gates) { - const auto components = entry.to_sorted_list_components(table.use_twin_keys); - s_1[s_index] = components[0]; - s_2[s_index] = components[1]; - s_3[s_index] = components[2]; - s_4[s_index] = table_index; - ++s_index; - } - } - - // Polynomial memory is zeroed out when constructed with size hint, so we don't have to initialize trailing space - proving_key->sorted_1 = s_1; - proving_key->sorted_2 = s_2; - proving_key->sorted_3 = s_3; - proving_key->sorted_4 = s_4; - - // Copy memory read/write record data into proving key. Prover needs to know which gates contain a read/write - // 'record' witness on the 4th wire. This wire value can only be fully computed once the first 3 wire polynomials - // have been committed to. The 4th wire on these gates will be a random linear combination of the first 3 wires, - // using the plookup challenge `eta`. We need to update the records with an offset Because we shift the gates to - // account for everything that comes before them in the execution trace, e.g. public inputs, a zero row, etc. - size_t offset = num_ecc_op_gates + num_public_inputs + num_zero_rows; - auto add_public_inputs_offset = [offset](uint32_t gate_index) { return gate_index + offset; }; - proving_key->memory_read_records = std::vector(); - proving_key->memory_write_records = std::vector(); - - std::transform(circuit_constructor.memory_read_records.begin(), - circuit_constructor.memory_read_records.end(), - std::back_inserter(proving_key->memory_read_records), - add_public_inputs_offset); - std::transform(circuit_constructor.memory_write_records.begin(), - circuit_constructor.memory_write_records.end(), - std::back_inserter(proving_key->memory_write_records), - add_public_inputs_offset); - - computed_witness = true; -} - -/** - * @brief Construct Goblin style ECC op wire polynomials - * @details The Ecc op wire values are assumed to have already been stored in the corresponding block of the - * conventional wire polynomials. The values for the ecc op wire polynomials are set based on those values. - * - * @tparam Flavor - * @param wire_polynomials - */ -template void UltraComposer_::construct_ecc_op_wire_polynomials(auto& wire_polynomials) +template Instance UltraComposer_::create_instance(CircuitBuilder& circuit) { - std::array op_wire_polynomials; - for (auto& poly : op_wire_polynomials) { - poly = polynomial(dyadic_circuit_size); - } - - // The ECC op wires are constructed to contain the op data on the appropriate range and to vanish everywhere else. - // The op data is assumed to have already been stored at the correct location in the convetional wires so the data - // can simply be copied over directly. - const size_t op_wire_offset = Flavor::has_zero_row ? 1 : 0; - for (size_t poly_idx = 0; poly_idx < Flavor::NUM_WIRES; ++poly_idx) { - for (size_t i = 0; i < num_ecc_op_gates; ++i) { - size_t idx = i + op_wire_offset; - op_wire_polynomials[poly_idx][idx] = wire_polynomials[poly_idx][idx]; - } - } - - proving_key->ecc_op_wire_1 = op_wire_polynomials[0]; - proving_key->ecc_op_wire_2 = op_wire_polynomials[1]; - proving_key->ecc_op_wire_3 = op_wire_polynomials[2]; - proving_key->ecc_op_wire_4 = op_wire_polynomials[3]; + circuit.add_gates_to_ensure_all_polys_are_non_zero(); + circuit.finalize_circuit(); + Instance instance = Instance(circuit); + return instance; } -template -UltraProver_ UltraComposer_::create_prover(CircuitBuilder& circuit_constructor) +template UltraProver_ UltraComposer_::create_prover(Instance& instance) { - circuit_constructor.add_gates_to_ensure_all_polys_are_non_zero(); - circuit_constructor.finalize_circuit(); - - // Compute total number of gates, dyadic circuit size, etc. - compute_circuit_size_parameters(circuit_constructor); + auto proving_key = instance->proving_key; - compute_proving_key(circuit_constructor); - compute_witness(circuit_constructor); - - compute_commitment_key(proving_key->circuit_size); + compute_commitment_key(instance->proving_key->circuit_size); UltraProver_ output_state(proving_key, commitment_key); @@ -207,150 +32,16 @@ UltraProver_ UltraComposer_::create_prover(CircuitBuilder& circu * @return The verifier. * */ template -UltraVerifier_ UltraComposer_::create_verifier(const CircuitBuilder& circuit_constructor) +UltraVerifier_ UltraComposer_::create_verifier(const Instance& instance) { - auto verification_key = compute_verification_key(circuit_constructor); - + auto verification_key = instance->verification_key; UltraVerifier_ output_state(verification_key); - auto pcs_verification_key = std::make_unique(verification_key->circuit_size, crs_factory_); - output_state.pcs_verification_key = std::move(pcs_verification_key); return output_state; } -template -std::shared_ptr UltraComposer_::compute_proving_key( - const CircuitBuilder& circuit_constructor) -{ - if (proving_key) { - return proving_key; - } - - proving_key = std::make_shared(dyadic_circuit_size, num_public_inputs); - - construct_selector_polynomials(circuit_constructor, proving_key.get()); - - compute_honk_generalized_sigma_permutations(circuit_constructor, proving_key.get()); - - compute_first_and_last_lagrange_polynomials(proving_key.get()); - - polynomial poly_q_table_column_1(dyadic_circuit_size); - polynomial poly_q_table_column_2(dyadic_circuit_size); - polynomial poly_q_table_column_3(dyadic_circuit_size); - polynomial poly_q_table_column_4(dyadic_circuit_size); - - size_t offset = dyadic_circuit_size - tables_size; - - // Create lookup selector polynomials which interpolate each table column. - // Our selector polys always need to interpolate the full subgroup size, so here we offset so as to - // put the table column's values at the end. (The first gates are for non-lookup constraints). - // [0, ..., 0, ...table, 0, 0, 0, x] - // ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^nonzero to ensure uniqueness and to avoid infinity commitments - // | table randomness - // ignored, as used for regular constraints and padding to the next power of 2. - - for (size_t i = 0; i < offset; ++i) { - poly_q_table_column_1[i] = 0; - poly_q_table_column_2[i] = 0; - poly_q_table_column_3[i] = 0; - poly_q_table_column_4[i] = 0; - } - - for (const auto& table : circuit_constructor.lookup_tables) { - const fr table_index(table.table_index); - - for (size_t i = 0; i < table.size; ++i) { - poly_q_table_column_1[offset] = table.column_1[i]; - poly_q_table_column_2[offset] = table.column_2[i]; - poly_q_table_column_3[offset] = table.column_3[i]; - poly_q_table_column_4[offset] = table_index; - ++offset; - } - } - - // Polynomial memory is zeroed out when constructed with size hint, so we don't have to initialize trailing space - - proving_key->table_1 = poly_q_table_column_1; - proving_key->table_2 = poly_q_table_column_2; - proving_key->table_3 = poly_q_table_column_3; - proving_key->table_4 = poly_q_table_column_4; - - proving_key->recursive_proof_public_input_indices = - std::vector(recursive_proof_public_input_indices.begin(), recursive_proof_public_input_indices.end()); - - proving_key->contains_recursive_proof = contains_recursive_proof; - - if constexpr (IsGoblinFlavor) { - proving_key->num_ecc_op_gates = num_ecc_op_gates; - } - - return proving_key; -} - -/** - * Compute verification key consisting of selector precommitments. - * - * @return Pointer to created circuit verification key. - * */ -template -std::shared_ptr UltraComposer_::compute_verification_key( - const CircuitBuilder& circuit_constructor) -{ - if (verification_key) { - return verification_key; - } - - if (!proving_key) { - compute_proving_key(circuit_constructor); - } - - verification_key = - std::make_shared(proving_key->circuit_size, proving_key->num_public_inputs); - - // Compute and store commitments to all precomputed polynomials - verification_key->q_m = commitment_key->commit(proving_key->q_m); - verification_key->q_l = commitment_key->commit(proving_key->q_l); - verification_key->q_r = commitment_key->commit(proving_key->q_r); - verification_key->q_o = commitment_key->commit(proving_key->q_o); - verification_key->q_4 = commitment_key->commit(proving_key->q_4); - verification_key->q_c = commitment_key->commit(proving_key->q_c); - verification_key->q_arith = commitment_key->commit(proving_key->q_arith); - verification_key->q_sort = commitment_key->commit(proving_key->q_sort); - verification_key->q_elliptic = commitment_key->commit(proving_key->q_elliptic); - verification_key->q_aux = commitment_key->commit(proving_key->q_aux); - verification_key->q_lookup = commitment_key->commit(proving_key->q_lookup); - verification_key->sigma_1 = commitment_key->commit(proving_key->sigma_1); - verification_key->sigma_2 = commitment_key->commit(proving_key->sigma_2); - verification_key->sigma_3 = commitment_key->commit(proving_key->sigma_3); - verification_key->sigma_4 = commitment_key->commit(proving_key->sigma_4); - verification_key->id_1 = commitment_key->commit(proving_key->id_1); - verification_key->id_2 = commitment_key->commit(proving_key->id_2); - verification_key->id_3 = commitment_key->commit(proving_key->id_3); - verification_key->id_4 = commitment_key->commit(proving_key->id_4); - verification_key->table_1 = commitment_key->commit(proving_key->table_1); - verification_key->table_2 = commitment_key->commit(proving_key->table_2); - verification_key->table_3 = commitment_key->commit(proving_key->table_3); - verification_key->table_4 = commitment_key->commit(proving_key->table_4); - verification_key->lagrange_first = commitment_key->commit(proving_key->lagrange_first); - verification_key->lagrange_last = commitment_key->commit(proving_key->lagrange_last); - - // TODO(luke): Similar to the lagrange_first/last polynomials, we dont really need to commit to this polynomial due - // to its simple structure. Handling it in the same way as the lagrange polys for now for simplicity. - if constexpr (IsGoblinFlavor) { - verification_key->lagrange_ecc_op = commitment_key->commit(proving_key->lagrange_ecc_op); - } - - // // See `add_recusrive_proof()` for how this recursive data is assigned. - // verification_key->recursive_proof_public_input_indices = - // std::vector(recursive_proof_public_input_indices.begin(), - // recursive_proof_public_input_indices.end()); - - // verification_key->contains_recursive_proof = contains_recursive_proof; - - return verification_key; -} template class UltraComposer_; template class UltraComposer_; template class UltraComposer_; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp index ae749f60478..7fbfe38dac0 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp @@ -1,5 +1,8 @@ #pragma once +#include "barretenberg/honk/instance/instance.hpp" +#include "barretenberg/honk/proof_system/folding_prover.hpp" +#include "barretenberg/honk/proof_system/folding_verifier.hpp" #include "barretenberg/honk/proof_system/ultra_prover.hpp" #include "barretenberg/honk/proof_system/ultra_verifier.hpp" #include "barretenberg/proof_system/composer/composer_lib.hpp" @@ -31,26 +34,16 @@ template class UltraComposer_ { // The crs_factory holds the path to the srs and exposes methods to extract the srs elements std::shared_ptr> crs_factory_; - // The commitment key is passed to the prover but also used herein to compute the verfication key commitments std::shared_ptr commitment_key; - std::vector recursive_proof_public_input_indices; - bool contains_recursive_proof = false; - bool computed_witness = false; - size_t total_num_gates = 0; // num_gates + num_pub_inputs + tables + zero_row_offset (used to compute dyadic size) - size_t dyadic_circuit_size = 0; // final power-of-2 circuit size - size_t lookups_size = 0; // total number of lookup gates - size_t tables_size = 0; // total number of table entries - size_t num_public_inputs = 0; - size_t num_ecc_op_gates = 0; - UltraComposer_() { crs_factory_ = barretenberg::srs::get_crs_factory(); } explicit UltraComposer_(std::shared_ptr> crs_factory) : crs_factory_(std::move(crs_factory)) {} + // I don't really want this UltraComposer_(std::shared_ptr p_key, std::shared_ptr v_key) : proving_key(std::move(p_key)) , verification_key(std::move(v_key)) @@ -62,30 +55,20 @@ template class UltraComposer_ { UltraComposer_& operator=(UltraComposer_ const& other) noexcept = default; ~UltraComposer_() = default; - // abstract method - std::shared_ptr compute_proving_key(const CircuitBuilder& circuit_constructor); - // abstract method - std::shared_ptr compute_verification_key(const CircuitBuilder& circuit_constructor); - - void compute_circuit_size_parameters(CircuitBuilder& circuit_constructor); - - void compute_witness(CircuitBuilder& circuit_constructor); - - void construct_ecc_op_wire_polynomials(auto&); - - // an ultra composer can create either folding prover and verifier or ultra prover and verifier based on what kind - // of instance it receives - // we can see the composer as an orchestrator - - UltraProver_ create_prover(Instance& instance); - UltraVerifier_ create_verifier(const Instance& instance); - - void add_table_column_selector_poly_to_proving_key(polynomial& small, const std::string& tag); - void compute_commitment_key(size_t circuit_size) { - commitment_key = std::make_shared(circuit_size, crs_factory_); + commitment_key = std::make_shared(circuit_size); }; + + Instance create_instance(CircuitBuilder& circuit); + Instance create_instance(std::shared_ptr p_key, std::shared_ptr v_key); + + UltraProver_ create_prover(Instance& instance); + UltraVerifier_ create_verifier(const Instance& instance); + + // underlying assumption that the first instance should be the one we fold on? + FoldingProver_ create_folding_prover(std::vector&> instances); + FoldingVerifier_ create_folding_verifier(std::vector&> instances); }; extern template class UltraComposer_; // TODO: the UltraGrumpkin flavor still works on BN254 because plookup needs to be templated to be able to construct diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp index df21ba0ce55..2e1ca263dfe 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp @@ -22,11 +22,11 @@ class Ultra { public: using CircuitBuilder = UltraCircuitBuilder; using Curve = curve::BN254; - using PCS = pcs::kzg::KZG; + using FF = Curve::ScalarField; using GroupElement = Curve::Element; using Commitment = Curve::AffineElement; using CommitmentHandle = Curve::AffineElement; - using FF = Curve::ScalarField; + using PCS = pcs::kzg::KZG; using Polynomial = barretenberg::Polynomial; using PolynomialHandle = std::span; using CommitmentKey = pcs::CommitmentKey; @@ -390,6 +390,12 @@ class Ultra { lagrange_last = verification_key->lagrange_last; } }; + + class FoldingParameters { + public: + FF gate_separation_challenge; + FF target_sum; + }; }; } // namespace proof_system::honk::flavor diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp index 951f21536d7..ef75ebd9160 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp @@ -8,21 +8,20 @@ namespace proof_system::honk { * @brief Helper method to compute quantities like total number of gates and dyadic circuit size * * @tparam Flavor - * @param circuit_constructor + * @param circuit */ -template -void Instance::compute_circuit_size_parameters(CircuitBuilder& circuit_constructor) +template void Instance::compute_circuit_size_parameters(CircuitBuilder& circuit) { // Compute total length of the tables and the number of lookup gates; their sum is the minimum circuit size - for (const auto& table : circuit_constructor.lookup_tables) { + for (const auto& table : circuit.lookup_tables) { tables_size += table.size; lookups_size += table.lookup_gates.size(); } // Get num conventional gates, num public inputs and num Goblin style ECC op gates - const size_t num_gates = circuit_constructor.num_gates; - num_public_inputs = circuit_constructor.public_inputs.size(); - num_ecc_op_gates = circuit_constructor.num_ecc_op_gates; + const size_t num_gates = circuit.num_gates; + num_public_inputs = circuit.public_inputs.size(); + num_ecc_op_gates = circuit.num_ecc_op_gates; // minimum circuit size due to the length of lookups plus tables const size_t minimum_circuit_size_due_to_lookups = tables_size + lookups_size + num_zero_rows; @@ -35,21 +34,21 @@ void Instance::compute_circuit_size_parameters(CircuitBuilder& circuit_c total_num_gates = std::max(minimum_circuit_size_due_to_lookups, num_rows_populated_in_execution_trace); // Next power of 2 - dyadic_circuit_size = circuit_constructor.get_circuit_subgroup_size(total_num_gates); + dyadic_circuit_size = circuit.get_circuit_subgroup_size(total_num_gates); } /** * @brief Compute witness polynomials * */ -template void Instance::compute_witness(CircuitBuilder& circuit_constructor) +template void Instance::compute_witness(CircuitBuilder& circuit) { if (computed_witness) { return; } // Construct the conventional wire polynomials - auto wire_polynomials = construct_wire_polynomials_base(circuit_constructor, dyadic_circuit_size); + auto wire_polynomials = construct_wire_polynomials_base(circuit, dyadic_circuit_size); proving_key->w_l = wire_polynomials[0]; proving_key->w_r = wire_polynomials[1]; @@ -74,7 +73,7 @@ template void Instance::compute_witness(CircuitBuil size_t s_index = dyadic_circuit_size - tables_size - lookups_size; ASSERT(s_index > 0); // We need at least 1 row of zeroes for the permutation argument - for (auto& table : circuit_constructor.lookup_tables) { + for (auto& table : circuit.lookup_tables) { const fr table_index(table.table_index); auto& lookup_gates = table.lookup_gates; for (size_t i = 0; i < table.size; ++i) { @@ -135,12 +134,12 @@ template void Instance::compute_witness(CircuitBuil proving_key->memory_read_records = std::vector(); proving_key->memory_write_records = std::vector(); - std::transform(circuit_constructor.memory_read_records.begin(), - circuit_constructor.memory_read_records.end(), + std::transform(circuit.memory_read_records.begin(), + circuit.memory_read_records.end(), std::back_inserter(proving_key->memory_read_records), add_public_inputs_offset); - std::transform(circuit_constructor.memory_write_records.begin(), - circuit_constructor.memory_write_records.end(), + std::transform(circuit.memory_write_records.begin(), + circuit.memory_write_records.end(), std::back_inserter(proving_key->memory_write_records), add_public_inputs_offset); @@ -180,8 +179,7 @@ template void Instance::construct_ecc_op_wire_polyn } template -std::shared_ptr Instance::compute_proving_key( - const CircuitBuilder& circuit_constructor) +std::shared_ptr Instance::compute_proving_key(const CircuitBuilder& circuit) { if (proving_key) { return proving_key; @@ -189,9 +187,9 @@ std::shared_ptr Instance::compute_proving_k proving_key = std::make_shared(dyadic_circuit_size, num_public_inputs); - construct_selector_polynomials(circuit_constructor, proving_key.get()); + construct_selector_polynomials(circuit, proving_key.get()); - compute_honk_generalized_sigma_permutations(circuit_constructor, proving_key.get()); + compute_honk_generalized_sigma_permutations(circuit, proving_key.get()); compute_first_and_last_lagrange_polynomials(proving_key.get()); @@ -217,7 +215,7 @@ std::shared_ptr Instance::compute_proving_k poly_q_table_column_4[i] = 0; } - for (const auto& table : circuit_constructor.lookup_tables) { + for (const auto& table : circuit.lookup_tables) { const fr table_index(table.table_index); for (size_t i = 0; i < table.size; ++i) { @@ -248,6 +246,69 @@ std::shared_ptr Instance::compute_proving_k return proving_key; } +template typename Flavor::ProverPolynomials Instance::construct_prover_polynomials() +{ + ProverPolynomials prover_polynomials; + prover_polynomials.q_c = key->q_c; + prover_polynomials.q_l = key->q_l; + prover_polynomials.q_r = key->q_r; + prover_polynomials.q_o = key->q_o; + prover_polynomials.q_4 = key->q_4; + prover_polynomials.q_m = key->q_m; + prover_polynomials.q_arith = key->q_arith; + prover_polynomials.q_sort = key->q_sort; + prover_polynomials.q_elliptic = key->q_elliptic; + prover_polynomials.q_aux = key->q_aux; + prover_polynomials.q_lookup = key->q_lookup; + prover_polynomials.sigma_1 = key->sigma_1; + prover_polynomials.sigma_2 = key->sigma_2; + prover_polynomials.sigma_3 = key->sigma_3; + prover_polynomials.sigma_4 = key->sigma_4; + prover_polynomials.id_1 = key->id_1; + prover_polynomials.id_2 = key->id_2; + prover_polynomials.id_3 = key->id_3; + prover_polynomials.id_4 = key->id_4; + prover_polynomials.table_1 = key->table_1; + prover_polynomials.table_2 = key->table_2; + prover_polynomials.table_3 = key->table_3; + prover_polynomials.table_4 = key->table_4; + prover_polynomials.table_1_shift = key->table_1.shifted(); + prover_polynomials.table_2_shift = key->table_2.shifted(); + prover_polynomials.table_3_shift = key->table_3.shifted(); + prover_polynomials.table_4_shift = key->table_4.shifted(); + prover_polynomials.lagrange_first = key->lagrange_first; + prover_polynomials.lagrange_last = key->lagrange_last; + prover_polynomials.w_l = key->w_l; + prover_polynomials.w_r = key->w_r; + prover_polynomials.w_o = key->w_o; + prover_polynomials.w_l_shift = key->w_l.shifted(); + prover_polynomials.w_r_shift = key->w_r.shifted(); + prover_polynomials.w_o_shift = key->w_o.shifted(); + + if constexpr (IsGoblinFlavor) { + prover_polynomials.ecc_op_wire_1 = key->ecc_op_wire_1; + prover_polynomials.ecc_op_wire_2 = key->ecc_op_wire_2; + prover_polynomials.ecc_op_wire_3 = key->ecc_op_wire_3; + prover_polynomials.ecc_op_wire_4 = key->ecc_op_wire_4; + prover_polynomials.lagrange_ecc_op = key->lagrange_ecc_op; + } + + // Add public inputs to transcript from the second wire polynomial; This requires determination of the offset at + // which the PI have been written into the wires relative to the 0th index. + std::span public_wires_source = prover_polynomials.w_r; + pub_inputs_offset = Flavor::has_zero_row ? 1 : 0; + if constexpr (IsGoblinFlavor) { + pub_inputs_offset += key->num_ecc_op_gates; + } + + for (size_t i = 0; i < key->num_public_inputs; ++i) { + size_t idx = i + pub_inputs_offset; + public_inputs.emplace_back(public_wires_source[idx]); + } + + return prover_polynomials; +} + /** * Compute verification key consisting of selector precommitments. * @@ -255,14 +316,14 @@ std::shared_ptr Instance::compute_proving_k * */ template std::shared_ptr Instance::compute_verification_key( - const CircuitBuilder& circuit_constructor) + const CircuitBuilder& circuit) { if (verification_key) { return verification_key; } if (!proving_key) { - compute_proving_key(circuit_constructor); + compute_proving_key(circuit); } verification_key = diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp index 2ca2600afff..8769a51ba0b 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp @@ -9,15 +9,14 @@ #include #include namespace proof_system::honk { -// abstract class Instance has everything -// class FoldingInstance that extends Instance -- has an array of instances and will be used to initialise a -// FoldingProver and Folding Verifier -// AccumulatorInstance for actually creating a Prover and Verifier template class Instance { using CircuitBuilder = typename Flavor::CircuitBuilder; using ProvingKey = typename Flavor::ProvingKey; using VerificationKey = typename Flavor::VerificationKey; using CommitmentKey = typename Flavor::CommitmentKey; + using FF = typename Flavor::Curve::FF; + using FoldingParameters = typename Flavor::FoldingParameters; + using ProverPolynomials = typename Flavor::ProverPolynomials; // offset due to placing zero wires at the start of execution trace static constexpr size_t num_zero_rows = Flavor::has_zero_row ? 1 : 0; @@ -27,11 +26,8 @@ template class Instance { std::shared_ptr proving_key; std::shared_ptr verification_key; - // The crs_factory holds the path to the srs and exposes methods to extract the srs elements - std::shared_ptr> crs_factory_; - - // The commitment key is passed to the prover but also used herein to compute the verfication key commitments - std::shared_ptr commitment_key; + std::shared_ptr prover_polynomials; + std::shared_ptr> public_inputs; std::vector recursive_proof_public_input_indices; bool contains_recursive_proof = false; @@ -43,22 +39,36 @@ template class Instance { size_t num_public_inputs = 0; size_t num_ecc_op_gates = 0; - // have sth like create_instance ? + FoldingParameters folding_params; + + Instance(const CircuitBuilder& circuit) + { + compute_circuit_size_parameters(circuit); + compute_proving_key(circuit); + compute_witness(circuit); + compute_verification_key(circuit); + } + + Instance(std::shared_ptr p_key, std::shared_ptr v_key) + : proving_key(std::move(p_key)) + , verification_key(std::move(v_key)) + {} - std::shared_ptr compute_proving_key(const CircuitBuilder& circuit_constructor); - std::shared_ptr compute_verification_key(const CircuitBuilder& circuit_constructor); + Instance(Instance&& other) noexcept = default; + Instance(Instance const& other) noexcept = default; + Instance& operator=(Instance&& other) noexcept = default; + Instance& operator=(Instance const& other) noexcept = default; + ~Instance() = default; - void compute_circuit_size_parameters(CircuitBuilder& circuit_constructor); + std::shared_ptr compute_proving_key(const CircuitBuilder& circuit); + std::shared_ptr compute_verification_key(const CircuitBuilder& circuit); - void compute_witness(CircuitBuilder& circuit_constructor); + void compute_circuit_size_parameters(CircuitBuilder& circuit); + + void compute_witness(CircuitBuilder& circuit); void construct_ecc_op_wire_polynomials(auto&); void add_table_column_selector_poly_to_proving_key(barretenberg::polynomial& small, const std::string& tag); - - void compute_commitment_key(size_t circuit_size) - { - commitment_key = std::make_shared(circuit_size, crs_factory_); - }; }; } // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp index c26dfdbfbc6..c7c355a5183 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp @@ -24,6 +24,7 @@ UltraProver_::UltraProver_(std::shared_ptr , queue(commitment_key, transcript) , pcs_commitment_key(commitment_key) { + // move in separate function as used by both folding and non-folding prover? prover_polynomials.q_c = key->q_c; prover_polynomials.q_l = key->q_l; prover_polynomials.q_r = key->q_r; @@ -148,6 +149,8 @@ template void UltraProver_::execute_sorted_list_acc prover_polynomials.w_4_shift = key->w_4.shifted(); } +// to here things need to be done for folding as well? + /** * @brief Compute permutation and lookup grand product polynomials and commitments * @@ -173,6 +176,8 @@ template void UltraProver_::execute_grand_product_c queue.add_commitment(key->z_lookup, commitment_labels.z_lookup); } +// up ot here things go in the Instance !!!!!!!!!!! + /** * @brief Run Sumcheck resulting in u = (u_1,...,u_d) challenges and all evaluations at u being calculated. * diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp index 9aeea1327fc..dad444903fb 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp @@ -2,6 +2,7 @@ #include "barretenberg/honk/flavor/goblin_ultra.hpp" #include "barretenberg/honk/flavor/ultra.hpp" #include "barretenberg/honk/flavor/ultra_grumpkin.hpp" +#include "barretenberg/honk/instance/instance.hpp" #include "barretenberg/honk/pcs/gemini/gemini.hpp" #include "barretenberg/honk/pcs/shplonk/shplonk.hpp" #include "barretenberg/honk/proof_system/work_queue.hpp" @@ -27,7 +28,6 @@ template class UltraProver_ { public: explicit UltraProver_(std::shared_ptr input_key, std::shared_ptr commitment_key); - void execute_preamble_round(); void execute_wire_commitments_round(); void execute_sorted_list_accumulator_round(); @@ -45,7 +45,7 @@ template class UltraProver_ { ProverTranscript transcript; std::vector public_inputs; - size_t pub_inputs_offset; // offset of the PI relative to 0th index in the wire polynomials + size_t pub_inputs_offset; proof_system::RelationParameters relation_parameters; @@ -54,6 +54,7 @@ template class UltraProver_ { // Container for spans of all polynomials required by the prover (i.e. all multivariates evaluated by Sumcheck). ProverPolynomials prover_polynomials; + // what do I do w this? CommitmentLabels commitment_labels; // Container for d + 1 Fold polynomials produced by Gemini diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp index 548c8177a81..e77011b8479 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp @@ -28,6 +28,8 @@ template UltraVerifier_& UltraVerifier_::opera return *this; } +// verifier completely different + /** * @brief This function verifies an Ultra Honk proof for given program settings. * diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.hpp index 0f290f943ab..06ae30270cc 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.hpp @@ -23,6 +23,7 @@ template class UltraVerifier_ { std::shared_ptr key; std::map commitments; + // do we need this? std::map pcs_fr_elements; std::shared_ptr pcs_verification_key; VerifierTranscript transcript; From 07492897d6f3a3f407fc9f2d6b0cda03cc9cc47c Mon Sep 17 00:00:00 2001 From: maramihali Date: Thu, 7 Sep 2023 14:52:51 +0000 Subject: [PATCH 03/28] even more wip --- .../src/barretenberg/honk/proof_system/folding_prover.hpp | 5 +++++ .../src/barretenberg/honk/proof_system/folding_verifier.hpp | 4 ++++ 2 files changed, 9 insertions(+) create mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_prover.hpp create mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_verifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_prover.hpp new file mode 100644 index 00000000000..3bcff5a7993 --- /dev/null +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_prover.hpp @@ -0,0 +1,5 @@ +#include "barretenberg/proof_system/flavor/flavor.hpp" +namespace proof_system::honk { +template class FoldingProver_ {}; +// the folding prover returns the new prover polynomials and the new public inputs(does the verifier do anything) +} // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_verifier.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_verifier.hpp new file mode 100644 index 00000000000..785a099ea9b --- /dev/null +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_verifier.hpp @@ -0,0 +1,4 @@ +#include "barretenberg/proof_system/flavor/flavor.hpp" +namespace proof_system::honk { +template class FoldingVerifier_ {}; +} // namespace proof_system::honk \ No newline at end of file From 06c02ac4c91e75a8b56dd36991f3a80acd9c5b7e Mon Sep 17 00:00:00 2001 From: maramihali Date: Fri, 8 Sep 2023 09:36:52 +0000 Subject: [PATCH 04/28] more wip --- .../honk/composer/ultra_composer.cpp | 10 +- .../honk/composer/ultra_composer.hpp | 2 + .../src/barretenberg/honk/flavor/ultra.hpp | 2 +- .../barretenberg/honk/instance/instance.cpp | 47 +++++++-- .../barretenberg/honk/instance/instance.hpp | 37 ++++++-- .../honk/proof_system/ultra_prover.cpp | 95 ++----------------- .../honk/proof_system/ultra_prover.hpp | 8 +- .../honk/proof_system/ultra_verifier.cpp | 1 - .../honk/proof_system/ultra_verifier.hpp | 2 - .../honk/proof_system/verifier.cpp | 1 - .../honk/proof_system/verifier.hpp | 1 - .../verifier/ultra_recursive_verifier.hpp | 1 - 12 files changed, 86 insertions(+), 121 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp index 48ab62d3c4f..ccb3587469f 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp @@ -8,6 +8,7 @@ namespace proof_system::honk { template Instance UltraComposer_::create_instance(CircuitBuilder& circuit) { + // this could be either here or in the Instance idk circuit.add_gates_to_ensure_all_polys_are_non_zero(); circuit.finalize_circuit(); Instance instance = Instance(circuit); @@ -16,11 +17,8 @@ template Instance UltraComposer_::create_in template UltraProver_ UltraComposer_::create_prover(Instance& instance) { - auto proving_key = instance->proving_key; - - compute_commitment_key(instance->proving_key->circuit_size); - - UltraProver_ output_state(proving_key, commitment_key); + compute_commitment_key(instance.proving_key->circuit_size); + UltraProver_ output_state(instance, commitment_key); return output_state; } @@ -34,7 +32,7 @@ template UltraProver_ UltraComposer_::creat template UltraVerifier_ UltraComposer_::create_verifier(const Instance& instance) { - auto verification_key = instance->verification_key; + auto verification_key = instance.compute_verification_key(commitment_key); UltraVerifier_ output_state(verification_key); auto pcs_verification_key = std::make_unique(verification_key->circuit_size, crs_factory_); output_state.pcs_verification_key = std::move(pcs_verification_key); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp index 7fbfe38dac0..3d513cf7c60 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp @@ -32,6 +32,7 @@ template class UltraComposer_ { std::shared_ptr proving_key; std::shared_ptr verification_key; + // The composer manages the commitment key! // The crs_factory holds the path to the srs and exposes methods to extract the srs elements std::shared_ptr> crs_factory_; // The commitment key is passed to the prover but also used herein to compute the verfication key commitments @@ -55,6 +56,7 @@ template class UltraComposer_ { UltraComposer_& operator=(UltraComposer_ const& other) noexcept = default; ~UltraComposer_() = default; + // TODO: can instances share commitment key? void compute_commitment_key(size_t circuit_size) { commitment_key = std::make_shared(circuit_size); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp index 2e1ca263dfe..f2483630a35 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp @@ -75,7 +75,7 @@ class Ultra { */ class PrecomputedEntities : public PrecomputedEntities_ { public: - DataType& q_m = std::get<0>(this->_data); + DataType& q_m = std::get<0>(this->_Pdata); DataType& q_c = std::get<1>(this->_data); DataType& q_l = std::get<2>(this->_data); DataType& q_r = std::get<3>(this->_data); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp index ef75ebd9160..0ed5b318fed 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp @@ -10,7 +10,7 @@ namespace proof_system::honk { * @tparam Flavor * @param circuit */ -template void Instance::compute_circuit_size_parameters(CircuitBuilder& circuit) +template void Instance::compute_circuit_size_parameters(Circuit& circuit) { // Compute total length of the tables and the number of lookup gates; their sum is the minimum circuit size for (const auto& table : circuit.lookup_tables) { @@ -41,7 +41,7 @@ template void Instance::compute_circuit_size_parame * @brief Compute witness polynomials * */ -template void Instance::compute_witness(CircuitBuilder& circuit) +template void Instance::compute_witness(Circuit& circuit) { if (computed_witness) { return; @@ -179,7 +179,7 @@ template void Instance::construct_ecc_op_wire_polyn } template -std::shared_ptr Instance::compute_proving_key(const CircuitBuilder& circuit) +std::shared_ptr Instance::compute_proving_key(const Circuit& circuit) { if (proving_key) { return proving_key; @@ -246,7 +246,7 @@ std::shared_ptr Instance::compute_proving_k return proving_key; } -template typename Flavor::ProverPolynomials Instance::construct_prover_polynomials() +template void Instance::initialise_prover_polynomials() { ProverPolynomials prover_polynomials; prover_polynomials.q_c = key->q_c; @@ -305,8 +305,36 @@ template typename Flavor::ProverPolynomials Instance void Instance::compute_sorted_accumulator_polynomials(FF eta) +{ + relation_parameters.eta = eta; + // Compute sorted witness-table accumulator and its commitment + key->sorted_accum = prover_library::compute_sorted_list_accumulator(key, eta); + + // Finalize fourth wire polynomial by adding lookup memory records, then commit + prover_library::add_plookup_memory_records_to_wire_4(key, eta); + + prover_polynomials.sorted_accum_shift = key->sorted_accum.shifted(); + prover_polynomials.sorted_accum = key->sorted_accum; + prover_polynomials.w_4 = key->w_4; + prover_polynomials.w_4_shift = key->w_4.shifted(); +} + +template void Instance::compute_grand_product_polynomials(FF beta, FF gamma) +{ + auto public_input_delta = + compute_public_input_delta(public_inputs, beta, gamma, key->circuit_size, pub_inputs_offset); + auto lookup_grand_product_delta = compute_lookup_grand_product_delta(beta, gamma, key->circuit_size); - return prover_polynomials; + relation_parameters.beta = beta; + relation_parameters.gamma = gamma; + relation_parameters.public_input_delta = public_input_delta; + relation_parameters.lookup_grand_product_delta = lookup_grand_product_delta; + + // Compute permutation + lookup grand product and their commitments + grand_product_library::compute_grand_products(key, prover_polynomials, relation_parameters); } /** @@ -316,15 +344,16 @@ template typename Flavor::ProverPolynomials Instance std::shared_ptr Instance::compute_verification_key( - const CircuitBuilder& circuit) + std::shared_ptr commitment_key) { if (verification_key) { return verification_key; } - if (!proving_key) { - compute_proving_key(circuit); - } + // To have an instance you have to have a proving key so this can go away + // if (!proving_key) { + // compute_proving_key(circuit); + // } verification_key = std::make_shared(proving_key->circuit_size, proving_key->num_public_inputs); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp index 8769a51ba0b..716f9fa32e3 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp @@ -1,5 +1,7 @@ #pragma once +#include "barretenberg/honk/sumcheck/relations/relation_parameters.hpp" +#include "barretenberg/honk/transcript/transcript.hpp" #include "barretenberg/proof_system/composer/composer_lib.hpp" #include "barretenberg/proof_system/flavor/flavor.hpp" #include "barretenberg/srs/factories/file_crs_factory.hpp" @@ -9,26 +11,34 @@ #include #include namespace proof_system::honk { + +// An Instance is created from a Circuit and we initialise all the data structure that rely on information from a +// circuit Then a Prover and a Verifier is created from an Instance or several instances and each manages their own +// polynomials +// The responsability of a Prover is to commit, add to transcript while the Instance manages its polynomials template class Instance { - using CircuitBuilder = typename Flavor::CircuitBuilder; + using Circuit = typename Flavor::CircuitBuilder; using ProvingKey = typename Flavor::ProvingKey; using VerificationKey = typename Flavor::VerificationKey; using CommitmentKey = typename Flavor::CommitmentKey; - using FF = typename Flavor::Curve::FF; + using FF = typename Flavor::Curve::ScalarField; using FoldingParameters = typename Flavor::FoldingParameters; using ProverPolynomials = typename Flavor::ProverPolynomials; + public: // offset due to placing zero wires at the start of execution trace static constexpr size_t num_zero_rows = Flavor::has_zero_row ? 1 : 0; static constexpr std::string_view NAME_STRING = "UltraHonk"; - static constexpr size_t NUM_WIRES = CircuitBuilder::NUM_WIRES; + static constexpr size_t NUM_WIRES = Circuit::NUM_WIRES; std::shared_ptr proving_key; - std::shared_ptr verification_key; + // std::shared_ptr verification_key; std::shared_ptr prover_polynomials; std::shared_ptr> public_inputs; + sumcheck::RelationParameters relation_parameters; + std::vector recursive_proof_public_input_indices; bool contains_recursive_proof = false; bool computed_witness = false; @@ -40,13 +50,14 @@ template class Instance { size_t num_ecc_op_gates = 0; FoldingParameters folding_params; + // Used by the prover for domain separation in the transcript + uint32_t instance_index; - Instance(const CircuitBuilder& circuit) + Instance(const Circuit& circuit) { compute_circuit_size_parameters(circuit); compute_proving_key(circuit); compute_witness(circuit); - compute_verification_key(circuit); } Instance(std::shared_ptr p_key, std::shared_ptr v_key) @@ -60,15 +71,21 @@ template class Instance { Instance& operator=(Instance const& other) noexcept = default; ~Instance() = default; - std::shared_ptr compute_proving_key(const CircuitBuilder& circuit); - std::shared_ptr compute_verification_key(const CircuitBuilder& circuit); + std::shared_ptr compute_proving_key(const Circuit&); + std::shared_ptr compute_verification_key(std::shared_ptr commitment_key); - void compute_circuit_size_parameters(CircuitBuilder& circuit); + void compute_circuit_size_parameters(Circuit&); - void compute_witness(CircuitBuilder& circuit); + void compute_witness(Circuit&); void construct_ecc_op_wire_polynomials(auto&); void add_table_column_selector_poly_to_proving_key(barretenberg::polynomial& small, const std::string& tag); + + void initialise_prover_polynomials(); + + void compute_sorted_accumulator_polynomials(); + + void compute_grand_product_polynomials(); }; } // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp index c7c355a5183..7f9929cbebb 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp @@ -18,69 +18,12 @@ namespace proof_system::honk { * @tparam settings Settings class. * */ template -UltraProver_::UltraProver_(std::shared_ptr input_key, - std::shared_ptr commitment_key) - : key(input_key) - , queue(commitment_key, transcript) - , pcs_commitment_key(commitment_key) +UltraProver_::UltraProver_(Instance& instance) + : key(instance.proving_key) + , queue(instance.commitment_key, transcript) + , pcs_commitment_key(instance.commitment_key) { - // move in separate function as used by both folding and non-folding prover? - prover_polynomials.q_c = key->q_c; - prover_polynomials.q_l = key->q_l; - prover_polynomials.q_r = key->q_r; - prover_polynomials.q_o = key->q_o; - prover_polynomials.q_4 = key->q_4; - prover_polynomials.q_m = key->q_m; - prover_polynomials.q_arith = key->q_arith; - prover_polynomials.q_sort = key->q_sort; - prover_polynomials.q_elliptic = key->q_elliptic; - prover_polynomials.q_aux = key->q_aux; - prover_polynomials.q_lookup = key->q_lookup; - prover_polynomials.sigma_1 = key->sigma_1; - prover_polynomials.sigma_2 = key->sigma_2; - prover_polynomials.sigma_3 = key->sigma_3; - prover_polynomials.sigma_4 = key->sigma_4; - prover_polynomials.id_1 = key->id_1; - prover_polynomials.id_2 = key->id_2; - prover_polynomials.id_3 = key->id_3; - prover_polynomials.id_4 = key->id_4; - prover_polynomials.table_1 = key->table_1; - prover_polynomials.table_2 = key->table_2; - prover_polynomials.table_3 = key->table_3; - prover_polynomials.table_4 = key->table_4; - prover_polynomials.table_1_shift = key->table_1.shifted(); - prover_polynomials.table_2_shift = key->table_2.shifted(); - prover_polynomials.table_3_shift = key->table_3.shifted(); - prover_polynomials.table_4_shift = key->table_4.shifted(); - prover_polynomials.lagrange_first = key->lagrange_first; - prover_polynomials.lagrange_last = key->lagrange_last; - prover_polynomials.w_l = key->w_l; - prover_polynomials.w_r = key->w_r; - prover_polynomials.w_o = key->w_o; - prover_polynomials.w_l_shift = key->w_l.shifted(); - prover_polynomials.w_r_shift = key->w_r.shifted(); - prover_polynomials.w_o_shift = key->w_o.shifted(); - - if constexpr (IsGoblinFlavor) { - prover_polynomials.ecc_op_wire_1 = key->ecc_op_wire_1; - prover_polynomials.ecc_op_wire_2 = key->ecc_op_wire_2; - prover_polynomials.ecc_op_wire_3 = key->ecc_op_wire_3; - prover_polynomials.ecc_op_wire_4 = key->ecc_op_wire_4; - prover_polynomials.lagrange_ecc_op = key->lagrange_ecc_op; - } - - // Add public inputs to transcript from the second wire polynomial; This requires determination of the offset at - // which the PI have been written into the wires relative to the 0th index. - std::span public_wires_source = prover_polynomials.w_r; - pub_inputs_offset = Flavor::has_zero_row ? 1 : 0; - if constexpr (IsGoblinFlavor) { - pub_inputs_offset += key->num_ecc_op_gates; - } - - for (size_t i = 0; i < key->num_public_inputs; ++i) { - size_t idx = i + pub_inputs_offset; - public_inputs.emplace_back(public_wires_source[idx]); - } + instance.initialise_prover_polynomials(); } /** @@ -131,22 +74,12 @@ template void UltraProver_::execute_wire_commitment */ template void UltraProver_::execute_sorted_list_accumulator_round() { - // Compute and add eta to relation parameters auto eta = transcript.get_challenge("eta"); - relation_parameters.eta = eta; - // Compute sorted witness-table accumulator and its commitment - key->sorted_accum = prover_library::compute_sorted_list_accumulator(key, eta); - queue.add_commitment(key->sorted_accum, commitment_labels.sorted_accum); + instance.compute_sorted_accumulator_polynomials(eta); - // Finalize fourth wire polynomial by adding lookup memory records, then commit - prover_library::add_plookup_memory_records_to_wire_4(key, eta); + queue.add_commitment(key->sorted_accum, commitment_labels.sorted_accum); queue.add_commitment(key->w_4, commitment_labels.w_4); - - prover_polynomials.sorted_accum_shift = key->sorted_accum.shifted(); - prover_polynomials.sorted_accum = key->sorted_accum; - prover_polynomials.w_4 = key->w_4; - prover_polynomials.w_4_shift = key->w_4.shifted(); } // to here things need to be done for folding as well? @@ -160,24 +93,12 @@ template void UltraProver_::execute_grand_product_c // Compute and store parameters required by relations in Sumcheck auto [beta, gamma] = transcript.get_challenges("beta", "gamma"); - auto public_input_delta = - compute_public_input_delta(public_inputs, beta, gamma, key->circuit_size, pub_inputs_offset); - auto lookup_grand_product_delta = compute_lookup_grand_product_delta(beta, gamma, key->circuit_size); - - relation_parameters.beta = beta; - relation_parameters.gamma = gamma; - relation_parameters.public_input_delta = public_input_delta; - relation_parameters.lookup_grand_product_delta = lookup_grand_product_delta; - - // Compute permutation + lookup grand product and their commitments - grand_product_library::compute_grand_products(key, prover_polynomials, relation_parameters); + instance.compute_grand_product_polynomials(beta, gamma); queue.add_commitment(key->z_perm, commitment_labels.z_perm); queue.add_commitment(key->z_lookup, commitment_labels.z_lookup); } -// up ot here things go in the Instance !!!!!!!!!!! - /** * @brief Run Sumcheck resulting in u = (u_1,...,u_d) challenges and all evaluations at u being calculated. * diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp index dad444903fb..78f10055489 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp @@ -16,7 +16,6 @@ namespace proof_system::honk { // We won't compile this class with honk::flavor::Standard, but we will like want to compile it (at least for testing) // with a flavor that uses the curve Grumpkin, or a flavor that does/does not have zk, etc. template class UltraProver_ { - using FF = typename Flavor::FF; using PCS = typename Flavor::PCS; using CommitmentKey = typename Flavor::CommitmentKey; @@ -25,13 +24,15 @@ template class UltraProver_ { using ProverPolynomials = typename Flavor::ProverPolynomials; using CommitmentLabels = typename Flavor::CommitmentLabels; using Curve = typename Flavor::Curve; + using Instance = Instance; public: - explicit UltraProver_(std::shared_ptr input_key, std::shared_ptr commitment_key); + explicit UltraProver_(Instance& instance); void execute_preamble_round(); void execute_wire_commitments_round(); void execute_sorted_list_accumulator_round(); void execute_grand_product_computation_round(); + void execute_commitment_finalisation_round(); void execute_relation_check_rounds(); void execute_univariatization_round(); void execute_pcs_evaluation_round(); @@ -67,6 +68,9 @@ template class UltraProver_ { work_queue queue; + std::shared_ptr instance; + + // this should be ProverOutput sumcheck::SumcheckOutput sumcheck_output; pcs::gemini::ProverOutput gemini_output; pcs::shplonk::ProverOutput shplonk_output; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp index e77011b8479..132ade5482e 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp @@ -24,7 +24,6 @@ template UltraVerifier_& UltraVerifier_::opera key = other.key; pcs_verification_key = (std::move(other.pcs_verification_key)); commitments.clear(); - pcs_fr_elements.clear(); return *this; } diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.hpp index 06ae30270cc..339630386c3 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.hpp @@ -23,8 +23,6 @@ template class UltraVerifier_ { std::shared_ptr key; std::map commitments; - // do we need this? - std::map pcs_fr_elements; std::shared_ptr pcs_verification_key; VerifierTranscript transcript; }; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.cpp index 3a500f68de7..d708c17bd1e 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.cpp @@ -23,7 +23,6 @@ template StandardVerifier_& StandardVerifier_: key = other.key; pcs_verification_key = (std::move(other.pcs_verification_key)); commitments.clear(); - pcs_fr_elements.clear(); return *this; } diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.hpp index cf6120346ec..d90cb61f863 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.hpp @@ -22,7 +22,6 @@ template class StandardVerifier_ { std::shared_ptr key; std::map commitments; - std::map pcs_fr_elements; std::shared_ptr pcs_verification_key; VerifierTranscript transcript; }; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.hpp index dff4ac7ade1..d20a9d161e3 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.hpp @@ -31,7 +31,6 @@ template class UltraRecursiveVerifie std::shared_ptr key; std::map commitments; - std::map pcs_fr_elements; std::shared_ptr pcs_verification_key; Builder* builder; Transcript transcript; From 884318ac03ce87fd44e0bd16ccb9e9f88ad786f1 Mon Sep 17 00:00:00 2001 From: maramihali Date: Fri, 8 Sep 2023 11:38:55 +0000 Subject: [PATCH 05/28] more wip --- .../cpp/src/barretenberg/honk/composer/ultra_composer.cpp | 2 ++ .../cpp/src/barretenberg/honk/composer/ultra_composer.hpp | 4 ++-- .../cpp/src/barretenberg/honk/instance/instance.cpp | 1 + .../cpp/src/barretenberg/honk/instance/instance.hpp | 4 ++-- .../cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp | 6 +++--- .../cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp | 2 +- 6 files changed, 11 insertions(+), 8 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp index ccb3587469f..d40f812dba9 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp @@ -32,7 +32,9 @@ template UltraProver_ UltraComposer_::creat template UltraVerifier_ UltraComposer_::create_verifier(const Instance& instance) { + // for the folding composer we compute the commitment keys here! auto verification_key = instance.compute_verification_key(commitment_key); + // change this it's clunky and inconsistent UltraVerifier_ output_state(verification_key); auto pcs_verification_key = std::make_unique(verification_key->circuit_size, crs_factory_); output_state.pcs_verification_key = std::move(pcs_verification_key); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp index 3d513cf7c60..bb4324cf9f0 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp @@ -69,8 +69,8 @@ template class UltraComposer_ { UltraVerifier_ create_verifier(const Instance& instance); // underlying assumption that the first instance should be the one we fold on? - FoldingProver_ create_folding_prover(std::vector&> instances); - FoldingVerifier_ create_folding_verifier(std::vector&> instances); + // FoldingProver_ create_folding_prover(std::vector&> instances); + // FoldingVerifier_ create_folding_verifier(std::vector&> instances); }; extern template class UltraComposer_; // TODO: the UltraGrumpkin flavor still works on BN254 because plookup needs to be templated to be able to construct diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp index 0ed5b318fed..5d5154a1b21 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp @@ -322,6 +322,7 @@ template void Instance::compute_sorted_accumulator_ prover_polynomials.w_4_shift = key->w_4.shifted(); } +// get rid of the libraries in the end template void Instance::compute_grand_product_polynomials(FF beta, FF gamma) { auto public_input_delta = diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp index 716f9fa32e3..9daf825047c 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp @@ -84,8 +84,8 @@ template class Instance { void initialise_prover_polynomials(); - void compute_sorted_accumulator_polynomials(); + void compute_sorted_accumulator_polynomials(FF); - void compute_grand_product_polynomials(); + void compute_grand_product_polynomials(FF, FF); }; } // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp index 7f9929cbebb..edd726f4c6d 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp @@ -18,10 +18,10 @@ namespace proof_system::honk { * @tparam settings Settings class. * */ template -UltraProver_::UltraProver_(Instance& instance) +UltraProver_::UltraProver_(Instance& instance, std::shared_ptr commitment_key) : key(instance.proving_key) - , queue(instance.commitment_key, transcript) - , pcs_commitment_key(instance.commitment_key) + , queue(commitment_key, transcript) + , pcs_commitment_key(commitment_key) { instance.initialise_prover_polynomials(); } diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp index 78f10055489..d0e429085c5 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp @@ -27,7 +27,7 @@ template class UltraProver_ { using Instance = Instance; public: - explicit UltraProver_(Instance& instance); + explicit UltraProver_(Instance&, std::shared_ptr); void execute_preamble_round(); void execute_wire_commitments_round(); void execute_sorted_list_accumulator_round(); From 6403b3b45ad66364a52b507cb232ac188180fec1 Mon Sep 17 00:00:00 2001 From: maramihali Date: Fri, 8 Sep 2023 13:48:53 +0000 Subject: [PATCH 06/28] more wip --- .../honk/composer/ultra_composer.cpp | 5 +- .../honk/composer/ultra_composer.hpp | 4 +- .../honk/composer/ultra_composer.test.cpp | 663 +++++++++--------- .../barretenberg/honk/flavor/goblin_ultra.hpp | 6 + .../src/barretenberg/honk/flavor/ultra.hpp | 2 +- .../honk/flavor/ultra_grumpkin.hpp | 5 + .../barretenberg/honk/instance/instance.cpp | 2 +- .../barretenberg/honk/instance/instance.hpp | 10 +- .../honk/proof_system/ultra_prover.cpp | 5 +- .../honk/proof_system/ultra_prover.hpp | 2 +- 10 files changed, 356 insertions(+), 348 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp index d40f812dba9..08c38af7cb2 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp @@ -11,7 +11,7 @@ template Instance UltraComposer_::create_in // this could be either here or in the Instance idk circuit.add_gates_to_ensure_all_polys_are_non_zero(); circuit.finalize_circuit(); - Instance instance = Instance(circuit); + Instance instance = Instance(circuit); return instance; } @@ -29,8 +29,7 @@ template UltraProver_ UltraComposer_::creat * * @return The verifier. * */ -template -UltraVerifier_ UltraComposer_::create_verifier(const Instance& instance) +template UltraVerifier_ UltraComposer_::create_verifier(Instance& instance) { // for the folding composer we compute the commitment keys here! auto verification_key = instance.compute_verification_key(commitment_key); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp index bb4324cf9f0..c58125fb3a6 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp @@ -59,14 +59,14 @@ template class UltraComposer_ { // TODO: can instances share commitment key? void compute_commitment_key(size_t circuit_size) { - commitment_key = std::make_shared(circuit_size); + commitment_key = std::make_shared(circuit_size, crs_factory_); }; Instance create_instance(CircuitBuilder& circuit); Instance create_instance(std::shared_ptr p_key, std::shared_ptr v_key); UltraProver_ create_prover(Instance& instance); - UltraVerifier_ create_verifier(const Instance& instance); + UltraVerifier_ create_verifier(Instance& instance); // underlying assumption that the first instance should be the one we fold on? // FoldingProver_ create_folding_prover(std::vector&> instances); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp index ec3196186ef..a82b50f2df8 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp @@ -24,19 +24,20 @@ namespace { auto& engine = numeric::random::get_debug_engine(); } -std::vector add_variables(auto& circuit_constructor, std::vector variables) +std::vector add_variables(auto& circuit_builder, std::vector variables) { std::vector res; for (size_t i = 0; i < variables.size(); i++) { - res.emplace_back(circuit_constructor.add_variable(variables[i])); + res.emplace_back(circuit_builder.add_variable(variables[i])); } return res; } -void prove_and_verify(auto& circuit_constructor, auto& composer, bool expected_result) +void prove_and_verify(auto& circuit_builder, auto& composer, bool expected_result) { - auto prover = composer.create_prover(circuit_constructor); - auto verifier = composer.create_verifier(circuit_constructor); + auto instance = composer.create_instance(circuit_builder); + auto prover = composer.create_prover(instance); + auto verifier = composer.create_verifier(instance); auto proof = prover.construct_proof(); bool verified = verifier.verify_proof(proof); EXPECT_EQ(verified, expected_result); @@ -65,10 +66,10 @@ class UltraHonkComposerTests : public ::testing::Test { */ TEST_F(UltraHonkComposerTests, ANonZeroPolynomialIsAGoodPolynomial) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); auto composer = UltraComposer(); - auto prover = composer.create_prover(circuit_constructor); + auto prover = composer.create_prover(circuit_builder); auto proof = prover.construct_proof(); for (auto& poly : prover.key->get_selectors()) { @@ -114,7 +115,7 @@ TEST_F(UltraHonkComposerTests, PublicInputs) TEST_F(UltraHonkComposerTests, XorConstraint) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); uint32_t left_value = engine.get_random_uint32(); uint32_t right_value = engine.get_random_uint32(); @@ -122,8 +123,8 @@ TEST_F(UltraHonkComposerTests, XorConstraint) fr left_witness_value = fr{ left_value, 0, 0, 0 }.to_montgomery_form(); fr right_witness_value = fr{ right_value, 0, 0, 0 }.to_montgomery_form(); - uint32_t left_witness_index = circuit_constructor.add_variable(left_witness_value); - uint32_t right_witness_index = circuit_constructor.add_variable(right_witness_value); + uint32_t left_witness_index = circuit_builder.add_variable(left_witness_value); + uint32_t right_witness_index = circuit_builder.add_variable(right_witness_value); uint32_t xor_result_expected = left_value ^ right_value; @@ -133,29 +134,29 @@ TEST_F(UltraHonkComposerTests, XorConstraint) [0]; // The zeroth index in the 3rd column is the fully accumulated xor EXPECT_EQ(xor_result, xor_result_expected); - circuit_constructor.create_gates_from_plookup_accumulators( + circuit_builder.create_gates_from_plookup_accumulators( plookup::MultiTableId::UINT32_XOR, lookup_accumulators, left_witness_index, right_witness_index); auto composer = UltraComposer(barretenberg::srs::get_crs_factory()); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, create_gates_from_plookup_accumulators) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); barretenberg::fr input_value = fr::random_element(); const fr input_hi = uint256_t(input_value).slice(126, 256); const fr input_lo = uint256_t(input_value).slice(0, 126); - const auto input_hi_index = circuit_constructor.add_variable(input_hi); - const auto input_lo_index = circuit_constructor.add_variable(input_lo); + const auto input_hi_index = circuit_builder.add_variable(input_hi); + const auto input_lo_index = circuit_builder.add_variable(input_lo); const auto sequence_data_hi = plookup::get_lookup_accumulators(plookup::MultiTableId::PEDERSEN_LEFT_HI, input_hi); const auto sequence_data_lo = plookup::get_lookup_accumulators(plookup::MultiTableId::PEDERSEN_LEFT_LO, input_lo); - const auto lookup_witnesses_hi = circuit_constructor.create_gates_from_plookup_accumulators( + const auto lookup_witnesses_hi = circuit_builder.create_gates_from_plookup_accumulators( plookup::MultiTableId::PEDERSEN_LEFT_HI, sequence_data_hi, input_hi_index); - const auto lookup_witnesses_lo = circuit_constructor.create_gates_from_plookup_accumulators( + const auto lookup_witnesses_lo = circuit_builder.create_gates_from_plookup_accumulators( plookup::MultiTableId::PEDERSEN_LEFT_LO, sequence_data_lo, input_lo_index); std::vector expected_x; @@ -203,29 +204,31 @@ TEST_F(UltraHonkComposerTests, create_gates_from_plookup_accumulators) } size_t hi_shift = 126; - const fr hi_cumulative = circuit_constructor.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C1][0]); + const fr hi_cumulative = circuit_builder.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C1][0]); for (size_t i = 0; i < num_lookups_lo; ++i) { const fr hi_mult = fr(uint256_t(1) << hi_shift); - EXPECT_EQ(circuit_constructor.get_variable(lookup_witnesses_lo[plookup::ColumnIdx::C1][i]) + + EXPECT_EQ(circuit_builder.get_variable(lookup_witnesses_lo[plookup::ColumnIdx::C1][i]) + (hi_cumulative * hi_mult), expected_scalars[i]); - EXPECT_EQ(circuit_constructor.get_variable(lookup_witnesses_lo[plookup::ColumnIdx::C2][i]), expected_x[i]); - EXPECT_EQ(circuit_constructor.get_variable(lookup_witnesses_lo[plookup::ColumnIdx::C3][i]), expected_y[i]); + EXPECT_EQ(circuit_builder.get_variable(lookup_witnesses_lo[plookup::ColumnIdx::C2][i]), expected_x[i]); + EXPECT_EQ(circuit_builder.get_variable(lookup_witnesses_lo[plookup::ColumnIdx::C3][i]), expected_y[i]); hi_shift -= crypto::pedersen_hash::lookup::BITS_PER_TABLE; } for (size_t i = 0; i < num_lookups_hi; ++i) { - EXPECT_EQ(circuit_constructor.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C1][i]), + EXPECT_EQ(circuit_builder.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C1][i]), expected_scalars[i + num_lookups_lo]); - EXPECT_EQ(circuit_constructor.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C2][i]), + EXPECT_EQ(circuit_builder.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C2][i]), expected_x[i + num_lookups_lo]); - EXPECT_EQ(circuit_constructor.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C3][i]), + EXPECT_EQ(circuit_builder.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C3][i]), expected_y[i + num_lookups_lo]); } auto composer = UltraComposer(); - auto prover = composer.create_prover(circuit_constructor); - auto verifier = composer.create_verifier(circuit_constructor); + auto instance = composer.create_instance(circuit_builder); + auto prover = composer.create_prover(instance); + auto verifier = composer.create_verifier(instance); + auto proof = prover.construct_proof(); bool result = verifier.verify_proof(proof); @@ -235,199 +238,199 @@ TEST_F(UltraHonkComposerTests, create_gates_from_plookup_accumulators) TEST_F(UltraHonkComposerTests, test_no_lookup_proof) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); for (size_t i = 0; i < 16; ++i) { for (size_t j = 0; j < 16; ++j) { uint64_t left = static_cast(j); uint64_t right = static_cast(i); - uint32_t left_idx = circuit_constructor.add_variable(fr(left)); - uint32_t right_idx = circuit_constructor.add_variable(fr(right)); - uint32_t result_idx = circuit_constructor.add_variable(fr(left ^ right)); + uint32_t left_idx = circuit_builder.add_variable(fr(left)); + uint32_t right_idx = circuit_builder.add_variable(fr(right)); + uint32_t result_idx = circuit_builder.add_variable(fr(left ^ right)); uint32_t add_idx = - circuit_constructor.add_variable(fr(left) + fr(right) + circuit_constructor.get_variable(result_idx)); - circuit_constructor.create_big_add_gate( + circuit_builder.add_variable(fr(left) + fr(right) + circuit_builder.get_variable(result_idx)); + circuit_builder.create_big_add_gate( { left_idx, right_idx, result_idx, add_idx, fr(1), fr(1), fr(1), fr(-1), fr(0) }); } } auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, test_elliptic_gate) { typedef grumpkin::g1::affine_element affine_element; typedef grumpkin::g1::element element; - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); affine_element p1 = crypto::generators::get_generator_data({ 0, 0 }).generator; affine_element p2 = crypto::generators::get_generator_data({ 0, 1 }).generator; affine_element p3(element(p1) + element(p2)); - uint32_t x1 = circuit_constructor.add_variable(p1.x); - uint32_t y1 = circuit_constructor.add_variable(p1.y); - uint32_t x2 = circuit_constructor.add_variable(p2.x); - uint32_t y2 = circuit_constructor.add_variable(p2.y); - uint32_t x3 = circuit_constructor.add_variable(p3.x); - uint32_t y3 = circuit_constructor.add_variable(p3.y); + uint32_t x1 = circuit_builder.add_variable(p1.x); + uint32_t y1 = circuit_builder.add_variable(p1.y); + uint32_t x2 = circuit_builder.add_variable(p2.x); + uint32_t y2 = circuit_builder.add_variable(p2.y); + uint32_t x3 = circuit_builder.add_variable(p3.x); + uint32_t y3 = circuit_builder.add_variable(p3.y); - circuit_constructor.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, 1, 1 }); + circuit_builder.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, 1, 1 }); grumpkin::fq beta = grumpkin::fq::cube_root_of_unity(); affine_element p2_endo = p2; p2_endo.x *= beta; p3 = affine_element(element(p1) + element(p2_endo)); - x3 = circuit_constructor.add_variable(p3.x); - y3 = circuit_constructor.add_variable(p3.y); - circuit_constructor.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, beta, 1 }); + x3 = circuit_builder.add_variable(p3.x); + y3 = circuit_builder.add_variable(p3.y); + circuit_builder.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, beta, 1 }); p2_endo.x *= beta; p3 = affine_element(element(p1) - element(p2_endo)); - x3 = circuit_constructor.add_variable(p3.x); - y3 = circuit_constructor.add_variable(p3.y); - circuit_constructor.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, beta.sqr(), -1 }); + x3 = circuit_builder.add_variable(p3.x); + y3 = circuit_builder.add_variable(p3.y); + circuit_builder.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, beta.sqr(), -1 }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, non_trivial_tag_permutation) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); fr a = fr::random_element(); fr b = -a; - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(b); - auto d_idx = circuit_constructor.add_variable(a); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(b); + auto d_idx = circuit_builder.add_variable(a); - circuit_constructor.create_add_gate( - { a_idx, b_idx, circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), fr::zero() }); - circuit_constructor.create_add_gate( - { c_idx, d_idx, circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), fr::zero() }); + circuit_builder.create_add_gate( + { a_idx, b_idx, circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), fr::zero() }); + circuit_builder.create_add_gate( + { c_idx, d_idx, circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), fr::zero() }); - circuit_constructor.create_tag(1, 2); - circuit_constructor.create_tag(2, 1); + circuit_builder.create_tag(1, 2); + circuit_builder.create_tag(2, 1); - circuit_constructor.assign_tag(a_idx, 1); - circuit_constructor.assign_tag(b_idx, 1); - circuit_constructor.assign_tag(c_idx, 2); - circuit_constructor.assign_tag(d_idx, 2); + circuit_builder.assign_tag(a_idx, 1); + circuit_builder.assign_tag(b_idx, 1); + circuit_builder.assign_tag(c_idx, 2); + circuit_builder.assign_tag(d_idx, 2); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, non_trivial_tag_permutation_and_cycles) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); fr a = fr::random_element(); fr c = -a; - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(a); - circuit_constructor.assert_equal(a_idx, b_idx); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(c); - circuit_constructor.assert_equal(c_idx, d_idx); - auto e_idx = circuit_constructor.add_variable(a); - auto f_idx = circuit_constructor.add_variable(a); - circuit_constructor.assert_equal(e_idx, f_idx); - auto g_idx = circuit_constructor.add_variable(c); - auto h_idx = circuit_constructor.add_variable(c); - circuit_constructor.assert_equal(g_idx, h_idx); - - circuit_constructor.create_tag(1, 2); - circuit_constructor.create_tag(2, 1); - - circuit_constructor.assign_tag(a_idx, 1); - circuit_constructor.assign_tag(c_idx, 1); - circuit_constructor.assign_tag(e_idx, 2); - circuit_constructor.assign_tag(g_idx, 2); - - circuit_constructor.create_add_gate( - { b_idx, a_idx, circuit_constructor.zero_idx, fr::one(), fr::neg_one(), fr::zero(), fr::zero() }); - circuit_constructor.create_add_gate( - { c_idx, g_idx, circuit_constructor.zero_idx, fr::one(), -fr::one(), fr::zero(), fr::zero() }); - circuit_constructor.create_add_gate( - { e_idx, f_idx, circuit_constructor.zero_idx, fr::one(), -fr::one(), fr::zero(), fr::zero() }); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(a); + circuit_builder.assert_equal(a_idx, b_idx); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(c); + circuit_builder.assert_equal(c_idx, d_idx); + auto e_idx = circuit_builder.add_variable(a); + auto f_idx = circuit_builder.add_variable(a); + circuit_builder.assert_equal(e_idx, f_idx); + auto g_idx = circuit_builder.add_variable(c); + auto h_idx = circuit_builder.add_variable(c); + circuit_builder.assert_equal(g_idx, h_idx); + + circuit_builder.create_tag(1, 2); + circuit_builder.create_tag(2, 1); + + circuit_builder.assign_tag(a_idx, 1); + circuit_builder.assign_tag(c_idx, 1); + circuit_builder.assign_tag(e_idx, 2); + circuit_builder.assign_tag(g_idx, 2); + + circuit_builder.create_add_gate( + { b_idx, a_idx, circuit_builder.zero_idx, fr::one(), fr::neg_one(), fr::zero(), fr::zero() }); + circuit_builder.create_add_gate( + { c_idx, g_idx, circuit_builder.zero_idx, fr::one(), -fr::one(), fr::zero(), fr::zero() }); + circuit_builder.create_add_gate( + { e_idx, f_idx, circuit_builder.zero_idx, fr::one(), -fr::one(), fr::zero(), fr::zero() }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, bad_tag_permutation) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); fr a = fr::random_element(); fr b = -a; - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(b); - auto d_idx = circuit_constructor.add_variable(a + 1); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(b); + auto d_idx = circuit_builder.add_variable(a + 1); - circuit_constructor.create_add_gate({ a_idx, b_idx, circuit_constructor.zero_idx, 1, 1, 0, 0 }); - circuit_constructor.create_add_gate({ c_idx, d_idx, circuit_constructor.zero_idx, 1, 1, 0, -1 }); + circuit_builder.create_add_gate({ a_idx, b_idx, circuit_builder.zero_idx, 1, 1, 0, 0 }); + circuit_builder.create_add_gate({ c_idx, d_idx, circuit_builder.zero_idx, 1, 1, 0, -1 }); - circuit_constructor.create_tag(1, 2); - circuit_constructor.create_tag(2, 1); + circuit_builder.create_tag(1, 2); + circuit_builder.create_tag(2, 1); - circuit_constructor.assign_tag(a_idx, 1); - circuit_constructor.assign_tag(b_idx, 1); - circuit_constructor.assign_tag(c_idx, 2); - circuit_constructor.assign_tag(d_idx, 2); + circuit_builder.assign_tag(a_idx, 1); + circuit_builder.assign_tag(b_idx, 1); + circuit_builder.assign_tag(c_idx, 2); + circuit_builder.assign_tag(d_idx, 2); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } // same as above but with turbocomposer to check reason of failue is really tag mismatch TEST_F(UltraHonkComposerTests, bad_tag_turbo_permutation) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); fr a = fr::random_element(); fr b = -a; - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(b); - auto d_idx = circuit_constructor.add_variable(a + 1); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(b); + auto d_idx = circuit_builder.add_variable(a + 1); - circuit_constructor.create_add_gate({ a_idx, b_idx, circuit_constructor.zero_idx, 1, 1, 0, 0 }); - circuit_constructor.create_add_gate({ c_idx, d_idx, circuit_constructor.zero_idx, 1, 1, 0, -1 }); + circuit_builder.create_add_gate({ a_idx, b_idx, circuit_builder.zero_idx, 1, 1, 0, 0 }); + circuit_builder.create_add_gate({ c_idx, d_idx, circuit_builder.zero_idx, 1, 1, 0, -1 }); auto composer = UltraComposer(); - // circuit_constructor.create_add_gate({ a_idx, b_idx, circuit_constructor.zero_idx, fr::one(), fr::neg_one(), - // fr::zero(), fr::zero() }); circuit_constructor.create_add_gate({ a_idx, b_idx, circuit_constructor.zero_idx, - // fr::one(), fr::neg_one(), fr::zero(), fr::zero() }); circuit_constructor.create_add_gate({ a_idx, b_idx, - // circuit_constructor.zero_idx, fr::one(), fr::neg_one(), fr::zero(), fr::zero() }); - auto prover = composer.create_prover(circuit_constructor); - auto verifier = composer.create_verifier(circuit_constructor); - - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + // circuit_builder.create_add_gate({ a_idx, b_idx, circuit_builder.zero_idx, fr::one(), fr::neg_one(), + // fr::zero(), fr::zero() }); circuit_builder.create_add_gate({ a_idx, b_idx, circuit_builder.zero_idx, + // fr::one(), fr::neg_one(), fr::zero(), fr::zero() }); circuit_builder.create_add_gate({ a_idx, b_idx, + // circuit_builder.zero_idx, fr::one(), fr::neg_one(), fr::zero(), fr::zero() }); + // auto prover = composer.create_prover(circuit_builder); + // auto verifier = composer.create_verifier(circuit_builder); + + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, sort_widget) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); fr a = fr::one(); fr b = fr(2); fr c = fr(3); fr d = fr(4); - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(d); - circuit_constructor.create_sort_constraint({ a_idx, b_idx, c_idx, d_idx }); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(d); + circuit_builder.create_sort_constraint({ a_idx, b_idx, c_idx, d_idx }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, sort_with_edges_gate) @@ -443,271 +446,266 @@ TEST_F(UltraHonkComposerTests, sort_with_edges_gate) fr h = fr(8); { - auto circuit_constructor = UltraCircuitBuilder(); - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(d); - auto e_idx = circuit_constructor.add_variable(e); - auto f_idx = circuit_constructor.add_variable(f); - auto g_idx = circuit_constructor.add_variable(g); - auto h_idx = circuit_constructor.add_variable(h); - circuit_constructor.create_sort_constraint_with_edges( + auto circuit_builder = UltraCircuitBuilder(); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(d); + auto e_idx = circuit_builder.add_variable(e); + auto f_idx = circuit_builder.add_variable(f); + auto g_idx = circuit_builder.add_variable(g); + auto h_idx = circuit_builder.add_variable(h); + circuit_builder.create_sort_constraint_with_edges( { a_idx, b_idx, c_idx, d_idx, e_idx, f_idx, g_idx, h_idx }, a, h); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(d); - auto e_idx = circuit_constructor.add_variable(e); - auto f_idx = circuit_constructor.add_variable(f); - auto g_idx = circuit_constructor.add_variable(g); - auto h_idx = circuit_constructor.add_variable(h); - circuit_constructor.create_sort_constraint_with_edges( + auto circuit_builder = UltraCircuitBuilder(); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(d); + auto e_idx = circuit_builder.add_variable(e); + auto f_idx = circuit_builder.add_variable(f); + auto g_idx = circuit_builder.add_variable(g); + auto h_idx = circuit_builder.add_variable(h); + circuit_builder.create_sort_constraint_with_edges( { a_idx, b_idx, c_idx, d_idx, e_idx, f_idx, g_idx, h_idx }, a, g); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(d); - auto e_idx = circuit_constructor.add_variable(e); - auto f_idx = circuit_constructor.add_variable(f); - auto g_idx = circuit_constructor.add_variable(g); - auto h_idx = circuit_constructor.add_variable(h); - circuit_constructor.create_sort_constraint_with_edges( + auto circuit_builder = UltraCircuitBuilder(); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(d); + auto e_idx = circuit_builder.add_variable(e); + auto f_idx = circuit_builder.add_variable(f); + auto g_idx = circuit_builder.add_variable(g); + auto h_idx = circuit_builder.add_variable(h); + circuit_builder.create_sort_constraint_with_edges( { a_idx, b_idx, c_idx, d_idx, e_idx, f_idx, g_idx, h_idx }, b, h); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto a_idx = circuit_constructor.add_variable(a); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(d); - auto e_idx = circuit_constructor.add_variable(e); - auto f_idx = circuit_constructor.add_variable(f); - auto g_idx = circuit_constructor.add_variable(g); - auto h_idx = circuit_constructor.add_variable(h); - auto b2_idx = circuit_constructor.add_variable(fr(15)); - circuit_constructor.create_sort_constraint_with_edges( + auto circuit_builder = UltraCircuitBuilder(); + auto a_idx = circuit_builder.add_variable(a); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(d); + auto e_idx = circuit_builder.add_variable(e); + auto f_idx = circuit_builder.add_variable(f); + auto g_idx = circuit_builder.add_variable(g); + auto h_idx = circuit_builder.add_variable(h); + auto b2_idx = circuit_builder.add_variable(fr(15)); + circuit_builder.create_sort_constraint_with_edges( { a_idx, b2_idx, c_idx, d_idx, e_idx, f_idx, g_idx, h_idx }, b, h); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto idx = add_variables(circuit_constructor, { 1, 2, 5, 6, 7, 10, 11, 13, 16, 17, 20, 22, 22, 25, - 26, 29, 29, 32, 32, 33, 35, 38, 39, 39, 42, 42, 43, 45 }); - circuit_constructor.create_sort_constraint_with_edges(idx, 1, 45); + auto circuit_builder = UltraCircuitBuilder(); + auto idx = add_variables(circuit_builder, { 1, 2, 5, 6, 7, 10, 11, 13, 16, 17, 20, 22, 22, 25, + 26, 29, 29, 32, 32, 33, 35, 38, 39, 39, 42, 42, 43, 45 }); + circuit_builder.create_sort_constraint_with_edges(idx, 1, 45); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto idx = add_variables(circuit_constructor, { 1, 2, 5, 6, 7, 10, 11, 13, 16, 17, 20, 22, 22, 25, - 26, 29, 29, 32, 32, 33, 35, 38, 39, 39, 42, 42, 43, 45 }); - circuit_constructor.create_sort_constraint_with_edges(idx, 1, 29); + auto circuit_builder = UltraCircuitBuilder(); + auto idx = add_variables(circuit_builder, { 1, 2, 5, 6, 7, 10, 11, 13, 16, 17, 20, 22, 22, 25, + 26, 29, 29, 32, 32, 33, 35, 38, 39, 39, 42, 42, 43, 45 }); + circuit_builder.create_sort_constraint_with_edges(idx, 1, 29); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } } TEST_F(UltraHonkComposerTests, range_constraint) { { - auto circuit_constructor = UltraCircuitBuilder(); - auto indices = add_variables(circuit_constructor, { 1, 2, 3, 4, 5, 6, 7, 8 }); + auto circuit_builder = UltraCircuitBuilder(); + auto indices = add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 7, 8 }); for (size_t i = 0; i < indices.size(); i++) { - circuit_constructor.create_new_range_constraint(indices[i], 8); + circuit_builder.create_new_range_constraint(indices[i], 8); } // auto ind = {a_idx,b_idx,c_idx,d_idx,e_idx,f_idx,g_idx,h_idx}; - circuit_constructor.create_sort_constraint(indices); + circuit_builder.create_sort_constraint(indices); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto indices = add_variables(circuit_constructor, { 3 }); + auto circuit_builder = UltraCircuitBuilder(); + auto indices = add_variables(circuit_builder, { 3 }); for (size_t i = 0; i < indices.size(); i++) { - circuit_constructor.create_new_range_constraint(indices[i], 3); + circuit_builder.create_new_range_constraint(indices[i], 3); } // auto ind = {a_idx,b_idx,c_idx,d_idx,e_idx,f_idx,g_idx,h_idx}; - circuit_constructor.create_dummy_constraints(indices); + circuit_builder.create_dummy_constraints(indices); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto indices = add_variables(circuit_constructor, { 1, 2, 3, 4, 5, 6, 8, 25 }); + auto circuit_builder = UltraCircuitBuilder(); + auto indices = add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 8, 25 }); for (size_t i = 0; i < indices.size(); i++) { - circuit_constructor.create_new_range_constraint(indices[i], 8); + circuit_builder.create_new_range_constraint(indices[i], 8); } - circuit_constructor.create_sort_constraint(indices); + circuit_builder.create_sort_constraint(indices); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto indices = add_variables(circuit_constructor, - { 1, 2, 3, 4, 5, 6, 10, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 19, 51 }); + auto circuit_builder = UltraCircuitBuilder(); + auto indices = + add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 10, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 19, 51 }); for (size_t i = 0; i < indices.size(); i++) { - circuit_constructor.create_new_range_constraint(indices[i], 128); + circuit_builder.create_new_range_constraint(indices[i], 128); } - circuit_constructor.create_dummy_constraints(indices); + circuit_builder.create_dummy_constraints(indices); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto indices = add_variables(circuit_constructor, - { 1, 2, 3, 80, 5, 6, 29, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 13, 14 }); + auto circuit_builder = UltraCircuitBuilder(); + auto indices = + add_variables(circuit_builder, { 1, 2, 3, 80, 5, 6, 29, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 13, 14 }); for (size_t i = 0; i < indices.size(); i++) { - circuit_constructor.create_new_range_constraint(indices[i], 79); + circuit_builder.create_new_range_constraint(indices[i], 79); } - circuit_constructor.create_dummy_constraints(indices); + circuit_builder.create_dummy_constraints(indices); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto indices = add_variables(circuit_constructor, - { 1, 0, 3, 80, 5, 6, 29, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 13, 14 }); + auto circuit_builder = UltraCircuitBuilder(); + auto indices = + add_variables(circuit_builder, { 1, 0, 3, 80, 5, 6, 29, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 13, 14 }); for (size_t i = 0; i < indices.size(); i++) { - circuit_constructor.create_new_range_constraint(indices[i], 79); + circuit_builder.create_new_range_constraint(indices[i], 79); } - circuit_constructor.create_dummy_constraints(indices); + circuit_builder.create_dummy_constraints(indices); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } } TEST_F(UltraHonkComposerTests, range_with_gates) { - auto circuit_constructor = UltraCircuitBuilder(); - auto idx = add_variables(circuit_constructor, { 1, 2, 3, 4, 5, 6, 7, 8 }); + auto circuit_builder = UltraCircuitBuilder(); + auto idx = add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 7, 8 }); for (size_t i = 0; i < idx.size(); i++) { - circuit_constructor.create_new_range_constraint(idx[i], 8); + circuit_builder.create_new_range_constraint(idx[i], 8); } - circuit_constructor.create_add_gate( - { idx[0], idx[1], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -3 }); - circuit_constructor.create_add_gate( - { idx[2], idx[3], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -7 }); - circuit_constructor.create_add_gate( - { idx[4], idx[5], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -11 }); - circuit_constructor.create_add_gate( - { idx[6], idx[7], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -15 }); + circuit_builder.create_add_gate({ idx[0], idx[1], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -3 }); + circuit_builder.create_add_gate({ idx[2], idx[3], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -7 }); + circuit_builder.create_add_gate( + { idx[4], idx[5], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -11 }); + circuit_builder.create_add_gate( + { idx[6], idx[7], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -15 }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, range_with_gates_where_range_is_not_a_power_of_two) { - auto circuit_constructor = UltraCircuitBuilder(); - auto idx = add_variables(circuit_constructor, { 1, 2, 3, 4, 5, 6, 7, 8 }); + auto circuit_builder = UltraCircuitBuilder(); + auto idx = add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 7, 8 }); for (size_t i = 0; i < idx.size(); i++) { - circuit_constructor.create_new_range_constraint(idx[i], 12); + circuit_builder.create_new_range_constraint(idx[i], 12); } - circuit_constructor.create_add_gate( - { idx[0], idx[1], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -3 }); - circuit_constructor.create_add_gate( - { idx[2], idx[3], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -7 }); - circuit_constructor.create_add_gate( - { idx[4], idx[5], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -11 }); - circuit_constructor.create_add_gate( - { idx[6], idx[7], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -15 }); + circuit_builder.create_add_gate({ idx[0], idx[1], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -3 }); + circuit_builder.create_add_gate({ idx[2], idx[3], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -7 }); + circuit_builder.create_add_gate( + { idx[4], idx[5], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -11 }); + circuit_builder.create_add_gate( + { idx[6], idx[7], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -15 }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, sort_widget_complex) { { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); std::vector a = { 1, 3, 4, 7, 7, 8, 11, 14, 15, 15, 18, 19, 21, 21, 24, 25, 26, 27, 30, 32 }; std::vector ind; for (size_t i = 0; i < a.size(); i++) - ind.emplace_back(circuit_constructor.add_variable(a[i])); - circuit_constructor.create_sort_constraint(ind); + ind.emplace_back(circuit_builder.add_variable(a[i])); + circuit_builder.create_sort_constraint(ind); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); std::vector a = { 1, 3, 4, 7, 7, 8, 16, 14, 15, 15, 18, 19, 21, 21, 24, 25, 26, 27, 30, 32 }; std::vector ind; for (size_t i = 0; i < a.size(); i++) - ind.emplace_back(circuit_constructor.add_variable(a[i])); - circuit_constructor.create_sort_constraint(ind); + ind.emplace_back(circuit_builder.add_variable(a[i])); + circuit_builder.create_sort_constraint(ind); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } } TEST_F(UltraHonkComposerTests, sort_widget_neg) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); fr a = fr::one(); fr b = fr(2); fr c = fr(3); fr d = fr(8); - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(d); - circuit_constructor.create_sort_constraint({ a_idx, b_idx, c_idx, d_idx }); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(d); + circuit_builder.create_sort_constraint({ a_idx, b_idx, c_idx, d_idx }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } TEST_F(UltraHonkComposerTests, composed_range_constraint) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); auto c = fr::random_element(); auto d = uint256_t(c).slice(0, 133); auto e = fr(d); - auto a_idx = circuit_constructor.add_variable(fr(e)); - circuit_constructor.create_add_gate( - { a_idx, circuit_constructor.zero_idx, circuit_constructor.zero_idx, 1, 0, 0, -fr(e) }); - circuit_constructor.decompose_into_default_range(a_idx, 134); + auto a_idx = circuit_builder.add_variable(fr(e)); + circuit_builder.create_add_gate({ a_idx, circuit_builder.zero_idx, circuit_builder.zero_idx, 1, 0, 0, -fr(e) }); + circuit_builder.decompose_into_default_range(a_idx, 134); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, non_native_field_multiplication) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); fq a = fq::random_element(); fq b = fq::random_element(); @@ -736,11 +734,11 @@ TEST_F(UltraHonkComposerTests, non_native_field_multiplication) const auto get_limb_witness_indices = [&](const std::array& limbs) { std::array limb_indices; - limb_indices[0] = circuit_constructor.add_variable(limbs[0]); - limb_indices[1] = circuit_constructor.add_variable(limbs[1]); - limb_indices[2] = circuit_constructor.add_variable(limbs[2]); - limb_indices[3] = circuit_constructor.add_variable(limbs[3]); - limb_indices[4] = circuit_constructor.add_variable(limbs[4]); + limb_indices[0] = circuit_builder.add_variable(limbs[0]); + limb_indices[1] = circuit_builder.add_variable(limbs[1]); + limb_indices[2] = circuit_builder.add_variable(limbs[2]); + limb_indices[3] = circuit_builder.add_variable(limbs[3]); + limb_indices[4] = circuit_builder.add_variable(limbs[4]); return limb_indices; }; const uint512_t BINARY_BASIS_MODULUS = uint512_t(1) << (68 * 4); @@ -754,40 +752,40 @@ TEST_F(UltraHonkComposerTests, non_native_field_multiplication) proof_system::UltraCircuitBuilder::non_native_field_witnesses inputs{ a_indices, b_indices, q_indices, r_indices, modulus_limbs, fr(uint256_t(modulus)), }; - const auto [lo_1_idx, hi_1_idx] = circuit_constructor.evaluate_non_native_field_multiplication(inputs); - circuit_constructor.range_constrain_two_limbs(lo_1_idx, hi_1_idx, 70, 70); + const auto [lo_1_idx, hi_1_idx] = circuit_builder.evaluate_non_native_field_multiplication(inputs); + circuit_builder.range_constrain_two_limbs(lo_1_idx, hi_1_idx, 70, 70); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, rom) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); uint32_t rom_values[8]{ - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), }; - size_t rom_id = circuit_constructor.create_ROM_array(8); + size_t rom_id = circuit_builder.create_ROM_array(8); for (size_t i = 0; i < 8; ++i) { - circuit_constructor.set_ROM_element(rom_id, i, rom_values[i]); + circuit_builder.set_ROM_element(rom_id, i, rom_values[i]); } - uint32_t a_idx = circuit_constructor.read_ROM_array(rom_id, circuit_constructor.add_variable(5)); + uint32_t a_idx = circuit_builder.read_ROM_array(rom_id, circuit_builder.add_variable(5)); EXPECT_EQ(a_idx != rom_values[5], true); - uint32_t b_idx = circuit_constructor.read_ROM_array(rom_id, circuit_constructor.add_variable(4)); - uint32_t c_idx = circuit_constructor.read_ROM_array(rom_id, circuit_constructor.add_variable(1)); + uint32_t b_idx = circuit_builder.read_ROM_array(rom_id, circuit_builder.add_variable(4)); + uint32_t c_idx = circuit_builder.read_ROM_array(rom_id, circuit_builder.add_variable(1)); - const auto d_value = circuit_constructor.get_variable(a_idx) + circuit_constructor.get_variable(b_idx) + - circuit_constructor.get_variable(c_idx); - uint32_t d_idx = circuit_constructor.add_variable(d_value); + const auto d_value = + circuit_builder.get_variable(a_idx) + circuit_builder.get_variable(b_idx) + circuit_builder.get_variable(c_idx); + uint32_t d_idx = circuit_builder.add_variable(d_value); - circuit_constructor.create_big_add_gate({ + circuit_builder.create_big_add_gate({ a_idx, b_idx, c_idx, @@ -800,44 +798,43 @@ TEST_F(UltraHonkComposerTests, rom) }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, ram) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); uint32_t ram_values[8]{ - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), }; - size_t ram_id = circuit_constructor.create_RAM_array(8); + size_t ram_id = circuit_builder.create_RAM_array(8); for (size_t i = 0; i < 8; ++i) { - circuit_constructor.init_RAM_element(ram_id, i, ram_values[i]); + circuit_builder.init_RAM_element(ram_id, i, ram_values[i]); } - uint32_t a_idx = circuit_constructor.read_RAM_array(ram_id, circuit_constructor.add_variable(5)); + uint32_t a_idx = circuit_builder.read_RAM_array(ram_id, circuit_builder.add_variable(5)); EXPECT_EQ(a_idx != ram_values[5], true); - uint32_t b_idx = circuit_constructor.read_RAM_array(ram_id, circuit_constructor.add_variable(4)); - uint32_t c_idx = circuit_constructor.read_RAM_array(ram_id, circuit_constructor.add_variable(1)); + uint32_t b_idx = circuit_builder.read_RAM_array(ram_id, circuit_builder.add_variable(4)); + uint32_t c_idx = circuit_builder.read_RAM_array(ram_id, circuit_builder.add_variable(1)); - circuit_constructor.write_RAM_array( - ram_id, circuit_constructor.add_variable(4), circuit_constructor.add_variable(500)); - uint32_t d_idx = circuit_constructor.read_RAM_array(ram_id, circuit_constructor.add_variable(4)); + circuit_builder.write_RAM_array(ram_id, circuit_builder.add_variable(4), circuit_builder.add_variable(500)); + uint32_t d_idx = circuit_builder.read_RAM_array(ram_id, circuit_builder.add_variable(4)); - EXPECT_EQ(circuit_constructor.get_variable(d_idx), 500); + EXPECT_EQ(circuit_builder.get_variable(d_idx), 500); // ensure these vars get used in another arithmetic gate - const auto e_value = circuit_constructor.get_variable(a_idx) + circuit_constructor.get_variable(b_idx) + - circuit_constructor.get_variable(c_idx) + circuit_constructor.get_variable(d_idx); - uint32_t e_idx = circuit_constructor.add_variable(e_value); + const auto e_value = circuit_builder.get_variable(a_idx) + circuit_builder.get_variable(b_idx) + + circuit_builder.get_variable(c_idx) + circuit_builder.get_variable(d_idx); + uint32_t e_idx = circuit_builder.add_variable(e_value); - circuit_constructor.create_big_add_gate( + circuit_builder.create_big_add_gate( { a_idx, b_idx, @@ -850,11 +847,11 @@ TEST_F(UltraHonkComposerTests, ram) 0, }, true); - circuit_constructor.create_big_add_gate( + circuit_builder.create_big_add_gate( { - circuit_constructor.zero_idx, - circuit_constructor.zero_idx, - circuit_constructor.zero_idx, + circuit_builder.zero_idx, + circuit_builder.zero_idx, + circuit_builder.zero_idx, e_idx, 0, 0, @@ -865,14 +862,14 @@ TEST_F(UltraHonkComposerTests, ram) false); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST(UltraGrumpkinHonkComposer, XorConstraint) { // NOTE: as a WIP, this test may not actually use the Grumpkin SRS (just the IPA PCS). - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = UltraCircuitBuilder(); uint32_t left_value = engine.get_random_uint32(); uint32_t right_value = engine.get_random_uint32(); @@ -880,8 +877,8 @@ TEST(UltraGrumpkinHonkComposer, XorConstraint) fr left_witness_value = fr{ left_value, 0, 0, 0 }.to_montgomery_form(); fr right_witness_value = fr{ right_value, 0, 0, 0 }.to_montgomery_form(); - uint32_t left_witness_index = circuit_constructor.add_variable(left_witness_value); - uint32_t right_witness_index = circuit_constructor.add_variable(right_witness_value); + uint32_t left_witness_index = circuit_builder.add_variable(left_witness_value); + uint32_t right_witness_index = circuit_builder.add_variable(right_witness_value); uint32_t xor_result_expected = left_value ^ right_value; @@ -891,12 +888,12 @@ TEST(UltraGrumpkinHonkComposer, XorConstraint) [0]; // The zeroth index in the 3rd column is the fully accumulated xor EXPECT_EQ(xor_result, xor_result_expected); - circuit_constructor.create_gates_from_plookup_accumulators( + circuit_builder.create_gates_from_plookup_accumulators( plookup::MultiTableId::UINT32_XOR, lookup_accumulators, left_witness_index, right_witness_index); barretenberg::srs::init_crs_factory("../srs_db/ignition"); auto composer = UltraGrumpkinComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } // TODO(#378)(luke): this is a recent update from Zac and fails; do we need a corresponding bug fix in ultra circuit @@ -904,21 +901,21 @@ TEST(UltraGrumpkinHonkComposer, XorConstraint) // { // auto composer = UltraComposer(); -// uint32_t a = circuit_constructor.add_variable(100); -// uint32_t b = circuit_constructor.add_variable(100); -// uint32_t c = circuit_constructor.add_variable(100); -// uint32_t d = circuit_constructor.add_variable(100); +// uint32_t a = circuit_builder.add_variable(100); +// uint32_t b = circuit_builder.add_variable(100); +// uint32_t c = circuit_builder.add_variable(100); +// uint32_t d = circuit_builder.add_variable(100); -// circuit_constructor.assert_equal(a, b); -// circuit_constructor.assert_equal(a, c); -// circuit_constructor.assert_equal(a, d); +// circuit_builder.assert_equal(a, b); +// circuit_builder.assert_equal(a, c); +// circuit_builder.assert_equal(a, d); -// circuit_constructor.create_new_range_constraint(a, 1000); -// circuit_constructor.create_new_range_constraint(b, 1001); -// circuit_constructor.create_new_range_constraint(c, 999); -// circuit_constructor.create_new_range_constraint(d, 1000); +// circuit_builder.create_new_range_constraint(a, 1000); +// circuit_builder.create_new_range_constraint(b, 1001); +// circuit_builder.create_new_range_constraint(c, 999); +// circuit_builder.create_new_range_constraint(d, 1000); -// circuit_constructor.create_big_add_gate( +// circuit_builder.create_big_add_gate( // { // a, // b, @@ -932,7 +929,7 @@ TEST(UltraGrumpkinHonkComposer, XorConstraint) // }, // false); -// prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); +// prove_and_verify(circuit_builder, composer, /*expected_result=*/true); // } // TODO(#378)(luke): this is a new test from Zac; ultra circuit constructor does not yet have create_range_constraint @@ -946,19 +943,19 @@ TEST(UltraGrumpkinHonkComposer, XorConstraint) // auto composer = UltraComposer(); // uint16_t mask = (1 << 8) - 1; // int a = engine.get_random_uint16() & mask; -// uint32_t a_idx = circuit_constructor.add_variable(fr(a)); -// uint32_t b_idx = circuit_constructor.add_variable(fr(a)); +// uint32_t a_idx = circuit_builder.add_variable(fr(a)); +// uint32_t b_idx = circuit_builder.add_variable(fr(a)); // ASSERT_NE(a_idx, b_idx); -// uint32_t c_idx = circuit_constructor.add_variable(fr(a)); +// uint32_t c_idx = circuit_builder.add_variable(fr(a)); // ASSERT_NE(c_idx, b_idx); // composer.create_range_constraint(b_idx, 8, "bad range"); -// circuit_constructor.assert_equal(a_idx, b_idx); +// circuit_builder.assert_equal(a_idx, b_idx); // composer.create_range_constraint(c_idx, 8, "bad range"); -// circuit_constructor.assert_equal(a_idx, c_idx); +// circuit_builder.assert_equal(a_idx, c_idx); -// auto prover = composer.create_prover(circuit_constructor); +// auto prover = composer.create_prover(circuit_builder); // auto proof = prover.construct_proof(); -// auto verifier = composer.create_verifier(circuit_constructor); +// auto verifier = composer.create_verifier(circuit_builder); // bool result = verifier.verify_proof(proof); // EXPECT_EQ(result, true); // } diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/goblin_ultra.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/goblin_ultra.hpp index 37049f21866..ae5411f7e32 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/goblin_ultra.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/goblin_ultra.hpp @@ -427,6 +427,12 @@ class GoblinUltra { lagrange_ecc_op = verification_key->lagrange_ecc_op; } }; + + class FoldingParameters { + public: + FF gate_separation_challenge; + FF target_sum; + }; }; } // namespace proof_system::honk::flavor diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp index f2483630a35..2e1ca263dfe 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp @@ -75,7 +75,7 @@ class Ultra { */ class PrecomputedEntities : public PrecomputedEntities_ { public: - DataType& q_m = std::get<0>(this->_Pdata); + DataType& q_m = std::get<0>(this->_data); DataType& q_c = std::get<1>(this->_data); DataType& q_l = std::get<2>(this->_data); DataType& q_r = std::get<3>(this->_data); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra_grumpkin.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra_grumpkin.hpp index 609421f74c6..979aaceed7b 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra_grumpkin.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra_grumpkin.hpp @@ -397,6 +397,11 @@ class UltraGrumpkin { lagrange_last = verification_key->lagrange_last; } }; + class FoldingParameters { + public: + FF gate_separation_challenge; + FF target_sum; + }; }; } // namespace proof_system::honk::flavor diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp index 5d5154a1b21..c1cf239aae0 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp @@ -179,7 +179,7 @@ template void Instance::construct_ecc_op_wire_polyn } template -std::shared_ptr Instance::compute_proving_key(const Circuit& circuit) +std::shared_ptr Instance::compute_proving_key(Circuit& circuit) { if (proving_key) { return proving_key; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp index 9daf825047c..fe232e280c1 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp @@ -1,9 +1,9 @@ #pragma once -#include "barretenberg/honk/sumcheck/relations/relation_parameters.hpp" #include "barretenberg/honk/transcript/transcript.hpp" #include "barretenberg/proof_system/composer/composer_lib.hpp" #include "barretenberg/proof_system/flavor/flavor.hpp" +#include "barretenberg/proof_system/relations/relation_parameters.hpp" #include "barretenberg/srs/factories/file_crs_factory.hpp" #include @@ -32,12 +32,12 @@ template class Instance { static constexpr std::string_view NAME_STRING = "UltraHonk"; static constexpr size_t NUM_WIRES = Circuit::NUM_WIRES; std::shared_ptr proving_key; - // std::shared_ptr verification_key; + std::shared_ptr verification_key; std::shared_ptr prover_polynomials; std::shared_ptr> public_inputs; - sumcheck::RelationParameters relation_parameters; + proof_system::RelationParameters relation_parameters; std::vector recursive_proof_public_input_indices; bool contains_recursive_proof = false; @@ -53,7 +53,7 @@ template class Instance { // Used by the prover for domain separation in the transcript uint32_t instance_index; - Instance(const Circuit& circuit) + Instance(Circuit& circuit) { compute_circuit_size_parameters(circuit); compute_proving_key(circuit); @@ -71,7 +71,7 @@ template class Instance { Instance& operator=(Instance const& other) noexcept = default; ~Instance() = default; - std::shared_ptr compute_proving_key(const Circuit&); + std::shared_ptr compute_proving_key(Circuit&); std::shared_ptr compute_verification_key(std::shared_ptr commitment_key); void compute_circuit_size_parameters(Circuit&); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp index edd726f4c6d..179ca32a9d6 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp @@ -18,9 +18,10 @@ namespace proof_system::honk { * @tparam settings Settings class. * */ template -UltraProver_::UltraProver_(Instance& instance, std::shared_ptr commitment_key) - : key(instance.proving_key) +UltraProver_::UltraProver_(Instance& inst, std::shared_ptr commitment_key) + : key(inst.proving_key) , queue(commitment_key, transcript) + , instance(inst) , pcs_commitment_key(commitment_key) { instance.initialise_prover_polynomials(); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp index d0e429085c5..064c0c56d38 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp @@ -68,7 +68,7 @@ template class UltraProver_ { work_queue queue; - std::shared_ptr instance; + Instance& instance; // this should be ProverOutput sumcheck::SumcheckOutput sumcheck_output; From 18e401958573f6f0e7e9e7ea0ed09e856efdd04b Mon Sep 17 00:00:00 2001 From: maramihali Date: Sun, 10 Sep 2023 11:15:42 +0000 Subject: [PATCH 07/28] finding bug --- .../honk_bench/benchmark_utilities.hpp | 18 +- .../composer/goblin_ultra_composer.test.cpp | 5 +- .../honk/composer/ultra_composer.cpp | 9 +- .../honk/composer/ultra_composer.hpp | 9 +- .../honk/composer/ultra_composer.test.cpp | 10 +- .../barretenberg/honk/instance/instance.cpp | 128 ++++++------ .../barretenberg/honk/instance/instance.hpp | 36 ++-- .../honk/proof_system/ultra_prover.cpp | 44 ++-- .../honk/proof_system/ultra_prover.hpp | 10 +- .../sumcheck/relation_correctness.test.cpp | 196 +++--------------- .../honk/sumcheck/sumcheck.test.cpp | 82 +------- .../honk/transcript/transcript.test.cpp | 5 +- .../recursion/honk/verifier/verifier.test.cpp | 14 +- 13 files changed, 196 insertions(+), 370 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/benchmark_utilities.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/benchmark_utilities.hpp index e3c7cf7fadf..e00cf8ff401 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/benchmark_utilities.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/benchmark_utilities.hpp @@ -224,11 +224,21 @@ void construct_proof_with_specified_num_iterations(State& state, test_circuit_function(builder, num_iterations); auto composer = Composer(); - auto ext_prover = composer.create_prover(builder); - state.ResumeTiming(); + if constexpr (Composer::NAME_STRING == "UltraHonk") { + auto instance = composer.create_instance(builder); + auto ext_prover = composer.create_prover(instance); + state.ResumeTiming(); - // Construct proof - auto proof = ext_prover.construct_proof(); + // Construct proof + auto proof = ext_prover.construct_proof(); + + } else { + auto ext_prover = composer.create_prover(builder); + state.ResumeTiming(); + + // Construct proof + auto proof = ext_prover.construct_proof(); + } } } diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/goblin_ultra_composer.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/goblin_ultra_composer.test.cpp index ff4249f37b1..66555e6519b 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/goblin_ultra_composer.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/goblin_ultra_composer.test.cpp @@ -55,8 +55,9 @@ TEST_F(GoblinUltraHonkComposerTests, SimpleCircuit) } auto composer = GoblinUltraComposer(); - auto prover = composer.create_prover(builder); - auto verifier = composer.create_verifier(builder); + auto instance = composer.create_instance(builder); + auto prover = composer.create_prover(instance); + auto verifier = composer.create_verifier(instance); auto proof = prover.construct_proof(); bool verified = verifier.verify_proof(proof); EXPECT_EQ(verified, true); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp index 08c38af7cb2..19456cb4f1f 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp @@ -1,21 +1,20 @@ #include "ultra_composer.hpp" #include "barretenberg/honk/proof_system/ultra_prover.hpp" -#include "barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp" #include "barretenberg/proof_system/composer/composer_lib.hpp" #include "barretenberg/proof_system/composer/permutation_lib.hpp" namespace proof_system::honk { -template Instance UltraComposer_::create_instance(CircuitBuilder& circuit) +template Instance_ UltraComposer_::create_instance(CircuitBuilder& circuit) { // this could be either here or in the Instance idk circuit.add_gates_to_ensure_all_polys_are_non_zero(); circuit.finalize_circuit(); - Instance instance = Instance(circuit); + Instance instance = Instance(circuit); return instance; } -template UltraProver_ UltraComposer_::create_prover(Instance& instance) +template UltraProver_ UltraComposer_::create_prover(Instance& instance) { compute_commitment_key(instance.proving_key->circuit_size); UltraProver_ output_state(instance, commitment_key); @@ -29,7 +28,7 @@ template UltraProver_ UltraComposer_::creat * * @return The verifier. * */ -template UltraVerifier_ UltraComposer_::create_verifier(Instance& instance) +template UltraVerifier_ UltraComposer_::create_verifier(Instance& instance) { // for the folding composer we compute the commitment keys here! auto verification_key = instance.compute_verification_key(commitment_key); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp index c58125fb3a6..d76dffcea45 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp @@ -23,6 +23,7 @@ template class UltraComposer_ { using PCS = typename Flavor::PCS; using CommitmentKey = typename Flavor::CommitmentKey; using VerifierCommitmentKey = typename Flavor::VerifierCommitmentKey; + using Instance = Instance_; // offset due to placing zero wires at the start of execution trace static constexpr size_t num_zero_rows = Flavor::has_zero_row ? 1 : 0; @@ -62,11 +63,11 @@ template class UltraComposer_ { commitment_key = std::make_shared(circuit_size, crs_factory_); }; - Instance create_instance(CircuitBuilder& circuit); - Instance create_instance(std::shared_ptr p_key, std::shared_ptr v_key); + Instance create_instance(CircuitBuilder& circuit); + Instance create_instance(std::shared_ptr p_key, std::shared_ptr v_key); - UltraProver_ create_prover(Instance& instance); - UltraVerifier_ create_verifier(Instance& instance); + UltraProver_ create_prover(Instance& instance); + UltraVerifier_ create_verifier(Instance& instance); // underlying assumption that the first instance should be the one we fold on? // FoldingProver_ create_folding_prover(std::vector&> instances); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp index a82b50f2df8..64f52db9dbd 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp @@ -6,6 +6,7 @@ #include "barretenberg/common/log.hpp" #include "barretenberg/honk/composer/ultra_composer.hpp" +#include "barretenberg/honk/instance/instance.hpp" #include "barretenberg/honk/proof_system/prover.hpp" #include "barretenberg/honk/proof_system/ultra_prover.hpp" #include "barretenberg/honk/sumcheck/sumcheck_round.hpp" @@ -69,18 +70,19 @@ TEST_F(UltraHonkComposerTests, ANonZeroPolynomialIsAGoodPolynomial) auto circuit_builder = UltraCircuitBuilder(); auto composer = UltraComposer(); - auto prover = composer.create_prover(circuit_builder); + auto instance = composer.create_instance(circuit_builder); + auto prover = composer.create_prover(instance); auto proof = prover.construct_proof(); - for (auto& poly : prover.key->get_selectors()) { + for (auto& poly : instance.proving_key->get_selectors()) { ensure_non_zero(poly); } - for (auto& poly : prover.key->get_table_polynomials()) { + for (auto& poly : instance.proving_key->get_table_polynomials()) { ensure_non_zero(poly); } - for (auto& poly : prover.key->get_wires()) { + for (auto& poly : instance.proving_key->get_wires()) { ensure_non_zero(poly); } } diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp index c1cf239aae0..f3de1d2cd3a 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp @@ -1,4 +1,6 @@ #include "instance.hpp" +#include "barretenberg/honk/proof_system/grand_product_library.hpp" +#include "barretenberg/honk/proof_system/prover_library.hpp" #include "barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp" #include "barretenberg/proof_system/composer/composer_lib.hpp" #include "barretenberg/proof_system/composer/permutation_lib.hpp" @@ -10,7 +12,7 @@ namespace proof_system::honk { * @tparam Flavor * @param circuit */ -template void Instance::compute_circuit_size_parameters(Circuit& circuit) +template void Instance_::compute_circuit_size_parameters(Circuit& circuit) { // Compute total length of the tables and the number of lookup gates; their sum is the minimum circuit size for (const auto& table : circuit.lookup_tables) { @@ -41,7 +43,7 @@ template void Instance::compute_circuit_size_parame * @brief Compute witness polynomials * */ -template void Instance::compute_witness(Circuit& circuit) +template void Instance_::compute_witness(Circuit& circuit) { if (computed_witness) { return; @@ -154,7 +156,7 @@ template void Instance::compute_witness(Circuit& ci * @tparam Flavor * @param wire_polynomials */ -template void Instance::construct_ecc_op_wire_polynomials(auto& wire_polynomials) +template void Instance_::construct_ecc_op_wire_polynomials(auto& wire_polynomials) { std::array op_wire_polynomials; for (auto& poly : op_wire_polynomials) { @@ -179,7 +181,7 @@ template void Instance::construct_ecc_op_wire_polyn } template -std::shared_ptr Instance::compute_proving_key(Circuit& circuit) +std::shared_ptr Instance_::compute_proving_key(Circuit& circuit) { if (proving_key) { return proving_key; @@ -246,51 +248,50 @@ std::shared_ptr Instance::compute_proving_k return proving_key; } -template void Instance::initialise_prover_polynomials() +template void Instance_::initialise_prover_polynomials() { - ProverPolynomials prover_polynomials; - prover_polynomials.q_c = key->q_c; - prover_polynomials.q_l = key->q_l; - prover_polynomials.q_r = key->q_r; - prover_polynomials.q_o = key->q_o; - prover_polynomials.q_4 = key->q_4; - prover_polynomials.q_m = key->q_m; - prover_polynomials.q_arith = key->q_arith; - prover_polynomials.q_sort = key->q_sort; - prover_polynomials.q_elliptic = key->q_elliptic; - prover_polynomials.q_aux = key->q_aux; - prover_polynomials.q_lookup = key->q_lookup; - prover_polynomials.sigma_1 = key->sigma_1; - prover_polynomials.sigma_2 = key->sigma_2; - prover_polynomials.sigma_3 = key->sigma_3; - prover_polynomials.sigma_4 = key->sigma_4; - prover_polynomials.id_1 = key->id_1; - prover_polynomials.id_2 = key->id_2; - prover_polynomials.id_3 = key->id_3; - prover_polynomials.id_4 = key->id_4; - prover_polynomials.table_1 = key->table_1; - prover_polynomials.table_2 = key->table_2; - prover_polynomials.table_3 = key->table_3; - prover_polynomials.table_4 = key->table_4; - prover_polynomials.table_1_shift = key->table_1.shifted(); - prover_polynomials.table_2_shift = key->table_2.shifted(); - prover_polynomials.table_3_shift = key->table_3.shifted(); - prover_polynomials.table_4_shift = key->table_4.shifted(); - prover_polynomials.lagrange_first = key->lagrange_first; - prover_polynomials.lagrange_last = key->lagrange_last; - prover_polynomials.w_l = key->w_l; - prover_polynomials.w_r = key->w_r; - prover_polynomials.w_o = key->w_o; - prover_polynomials.w_l_shift = key->w_l.shifted(); - prover_polynomials.w_r_shift = key->w_r.shifted(); - prover_polynomials.w_o_shift = key->w_o.shifted(); + prover_polynomials.q_c = proving_key->q_c; + prover_polynomials.q_l = proving_key->q_l; + prover_polynomials.q_r = proving_key->q_r; + prover_polynomials.q_o = proving_key->q_o; + prover_polynomials.q_4 = proving_key->q_4; + prover_polynomials.q_m = proving_key->q_m; + prover_polynomials.q_arith = proving_key->q_arith; + prover_polynomials.q_sort = proving_key->q_sort; + prover_polynomials.q_elliptic = proving_key->q_elliptic; + prover_polynomials.q_aux = proving_key->q_aux; + prover_polynomials.q_lookup = proving_key->q_lookup; + prover_polynomials.sigma_1 = proving_key->sigma_1; + prover_polynomials.sigma_2 = proving_key->sigma_2; + prover_polynomials.sigma_3 = proving_key->sigma_3; + prover_polynomials.sigma_4 = proving_key->sigma_4; + prover_polynomials.id_1 = proving_key->id_1; + prover_polynomials.id_2 = proving_key->id_2; + prover_polynomials.id_3 = proving_key->id_3; + prover_polynomials.id_4 = proving_key->id_4; + prover_polynomials.table_1 = proving_key->table_1; + prover_polynomials.table_2 = proving_key->table_2; + prover_polynomials.table_3 = proving_key->table_3; + prover_polynomials.table_4 = proving_key->table_4; + prover_polynomials.table_1_shift = proving_key->table_1.shifted(); + prover_polynomials.table_2_shift = proving_key->table_2.shifted(); + prover_polynomials.table_3_shift = proving_key->table_3.shifted(); + prover_polynomials.table_4_shift = proving_key->table_4.shifted(); + prover_polynomials.lagrange_first = proving_key->lagrange_first; + prover_polynomials.lagrange_last = proving_key->lagrange_last; + prover_polynomials.w_l = proving_key->w_l; + prover_polynomials.w_r = proving_key->w_r; + prover_polynomials.w_o = proving_key->w_o; + prover_polynomials.w_l_shift = proving_key->w_l.shifted(); + prover_polynomials.w_r_shift = proving_key->w_r.shifted(); + prover_polynomials.w_o_shift = proving_key->w_o.shifted(); if constexpr (IsGoblinFlavor) { - prover_polynomials.ecc_op_wire_1 = key->ecc_op_wire_1; - prover_polynomials.ecc_op_wire_2 = key->ecc_op_wire_2; - prover_polynomials.ecc_op_wire_3 = key->ecc_op_wire_3; - prover_polynomials.ecc_op_wire_4 = key->ecc_op_wire_4; - prover_polynomials.lagrange_ecc_op = key->lagrange_ecc_op; + prover_polynomials.ecc_op_wire_1 = proving_key->ecc_op_wire_1; + prover_polynomials.ecc_op_wire_2 = proving_key->ecc_op_wire_2; + prover_polynomials.ecc_op_wire_3 = proving_key->ecc_op_wire_3; + prover_polynomials.ecc_op_wire_4 = proving_key->ecc_op_wire_4; + prover_polynomials.lagrange_ecc_op = proving_key->lagrange_ecc_op; } // Add public inputs to transcript from the second wire polynomial; This requires determination of the offset at @@ -298,36 +299,37 @@ template void Instance::initialise_prover_polynomia std::span public_wires_source = prover_polynomials.w_r; pub_inputs_offset = Flavor::has_zero_row ? 1 : 0; if constexpr (IsGoblinFlavor) { - pub_inputs_offset += key->num_ecc_op_gates; + pub_inputs_offset += proving_key->num_ecc_op_gates; } - for (size_t i = 0; i < key->num_public_inputs; ++i) { + for (size_t i = 0; i < proving_key->num_public_inputs; ++i) { size_t idx = i + pub_inputs_offset; public_inputs.emplace_back(public_wires_source[idx]); } } -template void Instance::compute_sorted_accumulator_polynomials(FF eta) +template void Instance_::compute_sorted_accumulator_polynomials(FF eta) { relation_parameters.eta = eta; // Compute sorted witness-table accumulator and its commitment - key->sorted_accum = prover_library::compute_sorted_list_accumulator(key, eta); + // work only ftom instance + proving_key->sorted_accum = prover_library::compute_sorted_list_accumulator(proving_key, eta); // Finalize fourth wire polynomial by adding lookup memory records, then commit - prover_library::add_plookup_memory_records_to_wire_4(key, eta); + prover_library::add_plookup_memory_records_to_wire_4(proving_key, eta); - prover_polynomials.sorted_accum_shift = key->sorted_accum.shifted(); - prover_polynomials.sorted_accum = key->sorted_accum; - prover_polynomials.w_4 = key->w_4; - prover_polynomials.w_4_shift = key->w_4.shifted(); + prover_polynomials.sorted_accum_shift = proving_key->sorted_accum.shifted(); + prover_polynomials.sorted_accum = proving_key->sorted_accum; + prover_polynomials.w_4 = proving_key->w_4; + prover_polynomials.w_4_shift = proving_key->w_4.shifted(); } // get rid of the libraries in the end -template void Instance::compute_grand_product_polynomials(FF beta, FF gamma) +template void Instance_::compute_grand_product_polynomials(FF beta, FF gamma) { auto public_input_delta = - compute_public_input_delta(public_inputs, beta, gamma, key->circuit_size, pub_inputs_offset); - auto lookup_grand_product_delta = compute_lookup_grand_product_delta(beta, gamma, key->circuit_size); + compute_public_input_delta(public_inputs, beta, gamma, proving_key->circuit_size, pub_inputs_offset); + auto lookup_grand_product_delta = compute_lookup_grand_product_delta(beta, gamma, proving_key->circuit_size); relation_parameters.beta = beta; relation_parameters.gamma = gamma; @@ -335,7 +337,7 @@ template void Instance::compute_grand_product_polyn relation_parameters.lookup_grand_product_delta = lookup_grand_product_delta; // Compute permutation + lookup grand product and their commitments - grand_product_library::compute_grand_products(key, prover_polynomials, relation_parameters); + grand_product_library::compute_grand_products(proving_key, prover_polynomials, relation_parameters); } /** @@ -344,14 +346,14 @@ template void Instance::compute_grand_product_polyn * @return Pointer to created circuit verification key. * */ template -std::shared_ptr Instance::compute_verification_key( +std::shared_ptr Instance_::compute_verification_key( std::shared_ptr commitment_key) { if (verification_key) { return verification_key; } - // To have an instance you have to have a proving key so this can go away + // To have an instance_ you have to have a proving key so this can go away // if (!proving_key) { // compute_proving_key(circuit); // } @@ -402,4 +404,8 @@ std::shared_ptr Instance::compute_veri return verification_key; } +template class Instance_; +template class Instance_; +template class Instance_; + } // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp index fe232e280c1..ba8c8f183d8 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp @@ -1,6 +1,7 @@ #pragma once - -#include "barretenberg/honk/transcript/transcript.hpp" +#include "barretenberg/honk/flavor/goblin_ultra.hpp" +#include "barretenberg/honk/flavor/ultra.hpp" +#include "barretenberg/honk/flavor/ultra_grumpkin.hpp" #include "barretenberg/proof_system/composer/composer_lib.hpp" #include "barretenberg/proof_system/flavor/flavor.hpp" #include "barretenberg/proof_system/relations/relation_parameters.hpp" @@ -16,7 +17,8 @@ namespace proof_system::honk { // circuit Then a Prover and a Verifier is created from an Instance or several instances and each manages their own // polynomials // The responsability of a Prover is to commit, add to transcript while the Instance manages its polynomials -template class Instance { +template class Instance_ { + public: using Circuit = typename Flavor::CircuitBuilder; using ProvingKey = typename Flavor::ProvingKey; using VerificationKey = typename Flavor::VerificationKey; @@ -25,7 +27,6 @@ template class Instance { using FoldingParameters = typename Flavor::FoldingParameters; using ProverPolynomials = typename Flavor::ProverPolynomials; - public: // offset due to placing zero wires at the start of execution trace static constexpr size_t num_zero_rows = Flavor::has_zero_row ? 1 : 0; @@ -34,8 +35,10 @@ template class Instance { std::shared_ptr proving_key; std::shared_ptr verification_key; - std::shared_ptr prover_polynomials; - std::shared_ptr> public_inputs; + // TODO: should this be a shared_ptr? + ProverPolynomials prover_polynomials; + std::vector public_inputs; + size_t pub_inputs_offset; proof_system::RelationParameters relation_parameters; @@ -53,23 +56,23 @@ template class Instance { // Used by the prover for domain separation in the transcript uint32_t instance_index; - Instance(Circuit& circuit) + Instance_(Circuit& circuit) { compute_circuit_size_parameters(circuit); compute_proving_key(circuit); compute_witness(circuit); } - Instance(std::shared_ptr p_key, std::shared_ptr v_key) + explicit Instance_(std::shared_ptr p_key, std::shared_ptr v_key) : proving_key(std::move(p_key)) , verification_key(std::move(v_key)) {} - Instance(Instance&& other) noexcept = default; - Instance(Instance const& other) noexcept = default; - Instance& operator=(Instance&& other) noexcept = default; - Instance& operator=(Instance const& other) noexcept = default; - ~Instance() = default; + Instance_(Instance_&& other) noexcept = default; + Instance_(Instance_ const& other) noexcept = default; + Instance_& operator=(Instance_&& other) noexcept = default; + Instance_& operator=(Instance_ const& other) noexcept = default; + ~Instance_() = default; std::shared_ptr compute_proving_key(Circuit&); std::shared_ptr compute_verification_key(std::shared_ptr commitment_key); @@ -88,4 +91,11 @@ template class Instance { void compute_grand_product_polynomials(FF, FF); }; + +extern template class Instance_; +extern template class Instance_; +extern template class Instance_; + +using Instance = Instance_; + } // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp index 179ca32a9d6..6e78659e15f 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp @@ -1,4 +1,5 @@ #include "ultra_prover.hpp" +#include "barretenberg/honk/instance/instance.hpp" #include "barretenberg/honk/pcs/claim.hpp" #include "barretenberg/honk/proof_system/grand_product_library.hpp" #include "barretenberg/honk/proof_system/prover_library.hpp" @@ -19,8 +20,7 @@ namespace proof_system::honk { * */ template UltraProver_::UltraProver_(Instance& inst, std::shared_ptr commitment_key) - : key(inst.proving_key) - , queue(commitment_key, transcript) + : queue(commitment_key, transcript) , instance(inst) , pcs_commitment_key(commitment_key) { @@ -33,15 +33,15 @@ UltraProver_::UltraProver_(Instance& inst, std::shared_ptr void UltraProver_::execute_preamble_round() { - const auto circuit_size = static_cast(key->circuit_size); - const auto num_public_inputs = static_cast(key->num_public_inputs); + const auto circuit_size = static_cast(instance.proving_key->circuit_size); + const auto num_public_inputs = static_cast(instance.proving_key->num_public_inputs); transcript.send_to_verifier("circuit_size", circuit_size); transcript.send_to_verifier("public_input_size", num_public_inputs); - transcript.send_to_verifier("pub_inputs_offset", static_cast(pub_inputs_offset)); + transcript.send_to_verifier("pub_inputs_offset", static_cast(instance.pub_inputs_offset)); - for (size_t i = 0; i < key->num_public_inputs; ++i) { - auto public_input_i = public_inputs[i]; + for (size_t i = 0; i < instance.proving_key->num_public_inputs; ++i) { + auto public_input_i = instance.public_inputs[i]; transcript.send_to_verifier("public_input_" + std::to_string(i), public_input_i); } } @@ -53,7 +53,7 @@ template void UltraProver_::execute_preamble_round( template void UltraProver_::execute_wire_commitments_round() { // Commit to the first three wire polynomials; the fourth is committed to after the addition of memory records. - auto wire_polys = key->get_wires(); + auto wire_polys = instance.proving_key->get_wires(); auto labels = commitment_labels.get_wires(); for (size_t idx = 0; idx < 3; ++idx) { queue.add_commitment(wire_polys[idx], labels[idx]); @@ -61,7 +61,7 @@ template void UltraProver_::execute_wire_commitment // If Goblin, commit to the ECC op wire polynomials if constexpr (IsGoblinFlavor) { - auto op_wire_polys = key->get_ecc_op_wires(); + auto op_wire_polys = instance.proving_key->get_ecc_op_wires(); auto labels = commitment_labels.get_ecc_op_wires(); for (size_t idx = 0; idx < Flavor::NUM_WIRES; ++idx) { queue.add_commitment(op_wire_polys[idx], labels[idx]); @@ -79,8 +79,8 @@ template void UltraProver_::execute_sorted_list_acc instance.compute_sorted_accumulator_polynomials(eta); - queue.add_commitment(key->sorted_accum, commitment_labels.sorted_accum); - queue.add_commitment(key->w_4, commitment_labels.w_4); + queue.add_commitment(instance.proving_key->sorted_accum, commitment_labels.sorted_accum); + queue.add_commitment(instance.proving_key->w_4, commitment_labels.w_4); } // to here things need to be done for folding as well? @@ -96,8 +96,8 @@ template void UltraProver_::execute_grand_product_c instance.compute_grand_product_polynomials(beta, gamma); - queue.add_commitment(key->z_perm, commitment_labels.z_perm); - queue.add_commitment(key->z_lookup, commitment_labels.z_lookup); + queue.add_commitment(instance.proving_key->z_perm, commitment_labels.z_perm); + queue.add_commitment(instance.proving_key->z_lookup, commitment_labels.z_lookup); } /** @@ -108,9 +108,9 @@ template void UltraProver_::execute_relation_check_ { using Sumcheck = sumcheck::SumcheckProver; - auto sumcheck = Sumcheck(key->circuit_size, transcript); + auto sumcheck = Sumcheck(instance.proving_key->circuit_size, transcript); - sumcheck_output = sumcheck.prove(prover_polynomials, relation_parameters); + sumcheck_output = sumcheck.prove(instance.prover_polynomials, instance.relation_parameters); } /** @@ -127,15 +127,15 @@ template void UltraProver_::execute_univariatizatio std::vector rhos = pcs::gemini::powers_of_rho(rho, NUM_POLYNOMIALS); // Batch the unshifted polynomials and the to-be-shifted polynomials using ρ - Polynomial batched_poly_unshifted(key->circuit_size); // batched unshifted polynomials - size_t poly_idx = 0; // TODO(#391) zip - for (auto& unshifted_poly : prover_polynomials.get_unshifted()) { + Polynomial batched_poly_unshifted(instance.proving_key->circuit_size); // batched unshifted polynomials + size_t poly_idx = 0; // TODO(#391) zip + for (auto& unshifted_poly : instance.prover_polynomials.get_unshifted()) { batched_poly_unshifted.add_scaled(unshifted_poly, rhos[poly_idx]); ++poly_idx; } - Polynomial batched_poly_to_be_shifted(key->circuit_size); // batched to-be-shifted polynomials - for (auto& to_be_shifted_poly : prover_polynomials.get_to_be_shifted()) { + Polynomial batched_poly_to_be_shifted(instance.proving_key->circuit_size); // batched to-be-shifted polynomials + for (auto& to_be_shifted_poly : instance.prover_polynomials.get_to_be_shifted()) { batched_poly_to_be_shifted.add_scaled(to_be_shifted_poly, rhos[poly_idx]); ++poly_idx; }; @@ -145,7 +145,7 @@ template void UltraProver_::execute_univariatizatio sumcheck_output.challenge_point, std::move(batched_poly_unshifted), std::move(batched_poly_to_be_shifted)); // Compute and add to trasnscript the commitments [Fold^(i)], i = 1, ..., d-1 - for (size_t l = 0; l < key->log_circuit_size - 1; ++l) { + for (size_t l = 0; l < instance.proving_key->log_circuit_size - 1; ++l) { queue.add_commitment(fold_polynomials[l + 2], "Gemini:FOLD_" + std::to_string(l + 1)); } } @@ -162,7 +162,7 @@ template void UltraProver_::execute_pcs_evaluation_ gemini_output = Gemini::compute_fold_polynomial_evaluations( sumcheck_output.challenge_point, std::move(fold_polynomials), r_challenge); - for (size_t l = 0; l < key->log_circuit_size; ++l) { + for (size_t l = 0; l < instance.proving_key->log_circuit_size; ++l) { std::string label = "Gemini:a_" + std::to_string(l); const auto& evaluation = gemini_output.opening_pairs[l + 1].evaluation; transcript.send_to_verifier(label, evaluation); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp index 064c0c56d38..af9248a172e 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp @@ -24,7 +24,7 @@ template class UltraProver_ { using ProverPolynomials = typename Flavor::ProverPolynomials; using CommitmentLabels = typename Flavor::CommitmentLabels; using Curve = typename Flavor::Curve; - using Instance = Instance; + using Instance = Instance_; public: explicit UltraProver_(Instance&, std::shared_ptr); @@ -48,14 +48,6 @@ template class UltraProver_ { std::vector public_inputs; size_t pub_inputs_offset; - proof_system::RelationParameters relation_parameters; - - std::shared_ptr key; - - // Container for spans of all polynomials required by the prover (i.e. all multivariates evaluated by Sumcheck). - ProverPolynomials prover_polynomials; - - // what do I do w this? CommitmentLabels commitment_labels; // Container for d + 1 Fold polynomials produced by Gemini diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp index ea98cc35c46..e0178645ee5 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp @@ -293,102 +293,38 @@ TEST_F(RelationCorrectnessTests, UltraRelationCorrectness) { using Flavor = honk::flavor::Ultra; using FF = typename Flavor::FF; - using ProverPolynomials = typename Flavor::ProverPolynomials; // Create a composer and then add an assortment of gates designed to ensure that the constraint(s) represented // by each relation are non-trivially exercised. - auto circuit_constructor = UltraCircuitBuilder(); + auto builder = UltraCircuitBuilder(); // Create an assortment of representative gates - create_some_add_gates(circuit_constructor); - create_some_lookup_gates(circuit_constructor); - create_some_genperm_sort_gates(circuit_constructor); - create_some_elliptic_curve_addition_gates(circuit_constructor); - create_some_RAM_gates(circuit_constructor); + create_some_add_gates(builder); + create_some_lookup_gates(builder); + create_some_genperm_sort_gates(builder); + create_some_elliptic_curve_addition_gates(builder); + create_some_RAM_gates(builder); // Create a prover (it will compute proving key and witness) auto composer = UltraComposer(); - auto prover = composer.create_prover(circuit_constructor); - auto circuit_size = prover.key->circuit_size; + auto instance = composer.create_instance(builder); + auto circuit_size = instance.proving_key->circuit_size; // Generate eta, beta and gamma fr eta = fr::random_element(); fr beta = fr::random_element(); fr gamma = fr::random_element(); - // Compute public input delta - const auto public_inputs = circuit_constructor.get_public_inputs(); - const size_t pub_inputs_offset = Flavor::has_zero_row ? 1 : 0; - auto public_input_delta = honk::compute_public_input_delta( - public_inputs, beta, gamma, prover.key->circuit_size, pub_inputs_offset); - auto lookup_grand_product_delta = - honk::compute_lookup_grand_product_delta(beta, gamma, prover.key->circuit_size); - - proof_system::RelationParameters params{ - .eta = eta, - .beta = beta, - .gamma = gamma, - .public_input_delta = public_input_delta, - .lookup_grand_product_delta = lookup_grand_product_delta, - }; - - // Compute sorted witness-table accumulator - prover.key->sorted_accum = prover_library::compute_sorted_list_accumulator(prover.key, eta); - - // Add RAM/ROM memory records to wire four - prover_library::add_plookup_memory_records_to_wire_4(prover.key, eta); - - ProverPolynomials prover_polynomials; - - prover_polynomials.w_l = prover.key->w_l; - prover_polynomials.w_r = prover.key->w_r; - prover_polynomials.w_o = prover.key->w_o; - prover_polynomials.w_4 = prover.key->w_4; - prover_polynomials.w_l_shift = prover.key->w_l.shifted(); - prover_polynomials.w_r_shift = prover.key->w_r.shifted(); - prover_polynomials.w_o_shift = prover.key->w_o.shifted(); - prover_polynomials.w_4_shift = prover.key->w_4.shifted(); - prover_polynomials.sorted_accum = prover.key->sorted_accum; - prover_polynomials.sorted_accum_shift = prover.key->sorted_accum.shifted(); - prover_polynomials.table_1 = prover.key->table_1; - prover_polynomials.table_2 = prover.key->table_2; - prover_polynomials.table_3 = prover.key->table_3; - prover_polynomials.table_4 = prover.key->table_4; - prover_polynomials.table_1_shift = prover.key->table_1.shifted(); - prover_polynomials.table_2_shift = prover.key->table_2.shifted(); - prover_polynomials.table_3_shift = prover.key->table_3.shifted(); - prover_polynomials.table_4_shift = prover.key->table_4.shifted(); - prover_polynomials.q_m = prover.key->q_m; - prover_polynomials.q_l = prover.key->q_l; - prover_polynomials.q_r = prover.key->q_r; - prover_polynomials.q_o = prover.key->q_o; - prover_polynomials.q_c = prover.key->q_c; - prover_polynomials.q_4 = prover.key->q_4; - prover_polynomials.q_arith = prover.key->q_arith; - prover_polynomials.q_sort = prover.key->q_sort; - prover_polynomials.q_elliptic = prover.key->q_elliptic; - prover_polynomials.q_aux = prover.key->q_aux; - prover_polynomials.q_lookup = prover.key->q_lookup; - prover_polynomials.sigma_1 = prover.key->sigma_1; - prover_polynomials.sigma_2 = prover.key->sigma_2; - prover_polynomials.sigma_3 = prover.key->sigma_3; - prover_polynomials.sigma_4 = prover.key->sigma_4; - prover_polynomials.id_1 = prover.key->id_1; - prover_polynomials.id_2 = prover.key->id_2; - prover_polynomials.id_3 = prover.key->id_3; - prover_polynomials.id_4 = prover.key->id_4; - prover_polynomials.lagrange_first = prover.key->lagrange_first; - prover_polynomials.lagrange_last = prover.key->lagrange_last; - - // Compute grand product polynomials for permutation + lookup - grand_product_library::compute_grand_products(prover.key, prover_polynomials, params); + instance.initialise_prover_polynomials(); + instance.compute_sorted_accumulator_polynomials(eta); + instance.compute_grand_product_polynomials(beta, gamma); // Check that selectors are nonzero to ensure corresponding relation has nontrivial contribution - ensure_non_zero(prover.key->q_arith); - ensure_non_zero(prover.key->q_sort); - ensure_non_zero(prover.key->q_lookup); - ensure_non_zero(prover.key->q_elliptic); - ensure_non_zero(prover.key->q_aux); + ensure_non_zero(instance.proving_key->q_arith); + ensure_non_zero(instance.proving_key->q_sort); + ensure_non_zero(instance.proving_key->q_lookup); + ensure_non_zero(instance.proving_key->q_elliptic); + ensure_non_zero(instance.proving_key->q_aux); // Construct the round for applying sumcheck relations and results for storing computed results auto relations = std::tuple(proof_system::UltraArithmeticRelation(), @@ -398,6 +334,8 @@ TEST_F(RelationCorrectnessTests, UltraRelationCorrectness) proof_system::EllipticRelation(), proof_system::AuxiliaryRelation()); + auto prover_polynomials = instance.prover_polynomials; + auto params = instance.relation_parameters; // Check that each relation is satisfied across each row of the prover polynomials check_relation(std::get<0>(relations), circuit_size, prover_polynomials, params); check_relation(std::get<1>(relations), circuit_size, prover_polynomials, params); @@ -411,7 +349,6 @@ TEST_F(RelationCorrectnessTests, GoblinUltraRelationCorrectness) { using Flavor = honk::flavor::GoblinUltra; using FF = typename Flavor::FF; - using ProverPolynomials = typename Flavor::ProverPolynomials; // Create a composer and then add an assortment of gates designed to ensure that the constraint(s) represented // by each relation are non-trivially exercised. @@ -427,98 +364,24 @@ TEST_F(RelationCorrectnessTests, GoblinUltraRelationCorrectness) // Create a prover (it will compute proving key and witness) auto composer = GoblinUltraComposer(); - auto prover = composer.create_prover(builder); - auto circuit_size = prover.key->circuit_size; + auto instance = composer.create_instance(builder); + auto circuit_size = instance.proving_key->circuit_size; // Generate eta, beta and gamma fr eta = fr::random_element(); fr beta = fr::random_element(); fr gamma = fr::random_element(); - // Compute public input delta - const auto public_inputs = builder.get_public_inputs(); - - // If Goblin, must account for the fact that PI are offset in the wire polynomials by the number of ecc op gates - size_t pub_inputs_offset = Flavor::has_zero_row ? 1 : 0; - if constexpr (IsGoblinFlavor) { - pub_inputs_offset += builder.num_ecc_op_gates; - } - auto public_input_delta = honk::compute_public_input_delta( - public_inputs, beta, gamma, prover.key->circuit_size, pub_inputs_offset); - auto lookup_grand_product_delta = - honk::compute_lookup_grand_product_delta(beta, gamma, prover.key->circuit_size); - - proof_system::RelationParameters params{ - .eta = eta, - .beta = beta, - .gamma = gamma, - .public_input_delta = public_input_delta, - .lookup_grand_product_delta = lookup_grand_product_delta, - }; - - // Compute sorted witness-table accumulator - prover.key->sorted_accum = prover_library::compute_sorted_list_accumulator(prover.key, eta); - - // Add RAM/ROM memory records to wire four - prover_library::add_plookup_memory_records_to_wire_4(prover.key, eta); - - ProverPolynomials prover_polynomials; - - prover_polynomials.lagrange_ecc_op = prover.key->lagrange_ecc_op; - prover_polynomials.ecc_op_wire_1 = prover.key->ecc_op_wire_1; - prover_polynomials.ecc_op_wire_2 = prover.key->ecc_op_wire_2; - prover_polynomials.ecc_op_wire_3 = prover.key->ecc_op_wire_3; - prover_polynomials.ecc_op_wire_4 = prover.key->ecc_op_wire_4; - - prover_polynomials.w_l = prover.key->w_l; - prover_polynomials.w_r = prover.key->w_r; - prover_polynomials.w_o = prover.key->w_o; - prover_polynomials.w_4 = prover.key->w_4; - prover_polynomials.w_l_shift = prover.key->w_l.shifted(); - prover_polynomials.w_r_shift = prover.key->w_r.shifted(); - prover_polynomials.w_o_shift = prover.key->w_o.shifted(); - prover_polynomials.w_4_shift = prover.key->w_4.shifted(); - prover_polynomials.sorted_accum = prover.key->sorted_accum; - prover_polynomials.sorted_accum_shift = prover.key->sorted_accum.shifted(); - prover_polynomials.table_1 = prover.key->table_1; - prover_polynomials.table_2 = prover.key->table_2; - prover_polynomials.table_3 = prover.key->table_3; - prover_polynomials.table_4 = prover.key->table_4; - prover_polynomials.table_1_shift = prover.key->table_1.shifted(); - prover_polynomials.table_2_shift = prover.key->table_2.shifted(); - prover_polynomials.table_3_shift = prover.key->table_3.shifted(); - prover_polynomials.table_4_shift = prover.key->table_4.shifted(); - prover_polynomials.q_m = prover.key->q_m; - prover_polynomials.q_l = prover.key->q_l; - prover_polynomials.q_r = prover.key->q_r; - prover_polynomials.q_o = prover.key->q_o; - prover_polynomials.q_c = prover.key->q_c; - prover_polynomials.q_4 = prover.key->q_4; - prover_polynomials.q_arith = prover.key->q_arith; - prover_polynomials.q_sort = prover.key->q_sort; - prover_polynomials.q_elliptic = prover.key->q_elliptic; - prover_polynomials.q_aux = prover.key->q_aux; - prover_polynomials.q_lookup = prover.key->q_lookup; - prover_polynomials.sigma_1 = prover.key->sigma_1; - prover_polynomials.sigma_2 = prover.key->sigma_2; - prover_polynomials.sigma_3 = prover.key->sigma_3; - prover_polynomials.sigma_4 = prover.key->sigma_4; - prover_polynomials.id_1 = prover.key->id_1; - prover_polynomials.id_2 = prover.key->id_2; - prover_polynomials.id_3 = prover.key->id_3; - prover_polynomials.id_4 = prover.key->id_4; - prover_polynomials.lagrange_first = prover.key->lagrange_first; - prover_polynomials.lagrange_last = prover.key->lagrange_last; - - // Compute grand product polynomials for permutation + lookup - grand_product_library::compute_grand_products(prover.key, prover_polynomials, params); + instance.initialise_prover_polynomials(); + instance.compute_sorted_accumulator_polynomials(eta); + instance.compute_grand_product_polynomials(beta, gamma); // Check that selectors are nonzero to ensure corresponding relation has nontrivial contribution - ensure_non_zero(prover.key->q_arith); - ensure_non_zero(prover.key->q_sort); - ensure_non_zero(prover.key->q_lookup); - ensure_non_zero(prover.key->q_elliptic); - ensure_non_zero(prover.key->q_aux); + ensure_non_zero(instance.proving_key->q_arith); + ensure_non_zero(instance.proving_key->q_sort); + ensure_non_zero(instance.proving_key->q_lookup); + ensure_non_zero(instance.proving_key->q_elliptic); + ensure_non_zero(instance.proving_key->q_aux); // Construct the round for applying sumcheck relations and results for storing computed results auto relations = std::tuple(proof_system::UltraArithmeticRelation(), @@ -529,6 +392,9 @@ TEST_F(RelationCorrectnessTests, GoblinUltraRelationCorrectness) proof_system::AuxiliaryRelation(), proof_system::EccOpQueueRelation()); + auto prover_polynomials = instance.prover_polynomials; + auto params = instance.relation_parameters; + // Check that each relation is satisfied across each row of the prover polynomials check_relation(std::get<0>(relations), circuit_size, prover_polynomials, params); check_relation(std::get<1>(relations), circuit_size, prover_polynomials, params); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp index fba343da147..e84f38c3745 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp @@ -490,7 +490,6 @@ TEST_F(SumcheckTests, RealCircuitUltra) { using Flavor = honk::flavor::Ultra; using FF = typename Flavor::FF; - using ProverPolynomials = typename Flavor::ProverPolynomials; // Create a composer and a dummy circuit with a few gates auto circuit_constructor = UltraCircuitBuilder(); @@ -606,92 +605,29 @@ TEST_F(SumcheckTests, RealCircuitUltra) // Create a prover (it will compute proving key and witness) auto composer = UltraComposer(); - auto prover = composer.create_prover(circuit_constructor); + auto instance = composer.create_instance(circuit_constructor); // Generate eta, beta and gamma fr eta = fr::random_element(); fr beta = fr::random_element(); fr gamma = fr::random_element(); - // Compute public input delta - const auto public_inputs = circuit_constructor.get_public_inputs(); - size_t pub_inputs_offset = Flavor::has_zero_row ? 1 : 0; - auto public_input_delta = honk::compute_public_input_delta( - public_inputs, beta, gamma, prover.key->circuit_size, pub_inputs_offset); - auto lookup_grand_product_delta = - honk::compute_lookup_grand_product_delta(beta, gamma, prover.key->circuit_size); - - proof_system::RelationParameters relation_parameters{ - .eta = eta, - .beta = beta, - .gamma = gamma, - .public_input_delta = public_input_delta, - .lookup_grand_product_delta = lookup_grand_product_delta, - }; - - // Compute sorted witness-table accumulator - prover.key->sorted_accum = prover_library::compute_sorted_list_accumulator(prover.key, eta); - - // Add RAM/ROM memory records to wire four - prover_library::add_plookup_memory_records_to_wire_4(prover.key, eta); - - ProverPolynomials prover_polynomials; - - prover_polynomials.w_l = prover.key->w_l; - prover_polynomials.w_r = prover.key->w_r; - prover_polynomials.w_o = prover.key->w_o; - prover_polynomials.w_4 = prover.key->w_4; - prover_polynomials.w_l_shift = prover.key->w_l.shifted(); - prover_polynomials.w_r_shift = prover.key->w_r.shifted(); - prover_polynomials.w_o_shift = prover.key->w_o.shifted(); - prover_polynomials.w_4_shift = prover.key->w_4.shifted(); - prover_polynomials.sorted_accum = prover.key->sorted_accum; - prover_polynomials.sorted_accum_shift = prover.key->sorted_accum.shifted(); - prover_polynomials.table_1 = prover.key->table_1; - prover_polynomials.table_2 = prover.key->table_2; - prover_polynomials.table_3 = prover.key->table_3; - prover_polynomials.table_4 = prover.key->table_4; - prover_polynomials.table_1_shift = prover.key->table_1.shifted(); - prover_polynomials.table_2_shift = prover.key->table_2.shifted(); - prover_polynomials.table_3_shift = prover.key->table_3.shifted(); - prover_polynomials.table_4_shift = prover.key->table_4.shifted(); - prover_polynomials.z_lookup = prover.key->z_lookup; - prover_polynomials.z_lookup_shift = prover.key->z_lookup.shifted(); - prover_polynomials.q_m = prover.key->q_m; - prover_polynomials.q_l = prover.key->q_l; - prover_polynomials.q_r = prover.key->q_r; - prover_polynomials.q_o = prover.key->q_o; - prover_polynomials.q_c = prover.key->q_c; - prover_polynomials.q_4 = prover.key->q_4; - prover_polynomials.q_arith = prover.key->q_arith; - prover_polynomials.q_sort = prover.key->q_sort; - prover_polynomials.q_elliptic = prover.key->q_elliptic; - prover_polynomials.q_aux = prover.key->q_aux; - prover_polynomials.q_lookup = prover.key->q_lookup; - prover_polynomials.sigma_1 = prover.key->sigma_1; - prover_polynomials.sigma_2 = prover.key->sigma_2; - prover_polynomials.sigma_3 = prover.key->sigma_3; - prover_polynomials.sigma_4 = prover.key->sigma_4; - prover_polynomials.id_1 = prover.key->id_1; - prover_polynomials.id_2 = prover.key->id_2; - prover_polynomials.id_3 = prover.key->id_3; - prover_polynomials.id_4 = prover.key->id_4; - prover_polynomials.lagrange_first = prover.key->lagrange_first; - prover_polynomials.lagrange_last = prover.key->lagrange_last; - - grand_product_library::compute_grand_products(prover.key, prover_polynomials, relation_parameters); + instance.initialise_prover_polynomials(); + instance.compute_sorted_accumulator_polynomials(eta); + instance.compute_grand_product_polynomials(beta, gamma); auto prover_transcript = ProverTranscript::init_empty(); + auto circuit_size = instance.proving_key->circuit_size; - auto sumcheck_prover = SumcheckProver(prover.key->circuit_size, prover_transcript); + auto sumcheck_prover = SumcheckProver(circuit_size, prover_transcript); - auto prover_output = sumcheck_prover.prove(prover_polynomials, relation_parameters); + auto prover_output = sumcheck_prover.prove(instance.prover_polynomials, instance.relation_parameters); auto verifier_transcript = VerifierTranscript::init_empty(prover_transcript); - auto sumcheck_verifier = SumcheckVerifier(prover.key->circuit_size); + auto sumcheck_verifier = SumcheckVerifier(circuit_size); - std::optional verifier_output = sumcheck_verifier.verify(relation_parameters, verifier_transcript); + std::optional verifier_output = sumcheck_verifier.verify(instance.relation_parameters, verifier_transcript); ASSERT_TRUE(verifier_output.has_value()); } diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp index 86866fe4a2d..40402023260 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp @@ -296,11 +296,12 @@ TYPED_TEST(TranscriptTests, UltraVerifierManifestConsistency) // Automatically generate a transcript manifest in the prover by constructing a proof auto composer = UltraComposer(); - auto prover = composer.create_prover(circuit_constructor); + auto instance = composer.create_instance(circuit_constructor); + auto prover = composer.create_prover(instance); plonk::proof proof = prover.construct_proof(); // Automatically generate a transcript manifest in the verifier by verifying a proof - auto verifier = composer.create_verifier(circuit_constructor); + auto verifier = composer.create_verifier(instance); verifier.verify_proof(proof); prover.transcript.print(); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp index 7bfc45452d1..e75d701d983 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp @@ -112,13 +112,14 @@ template class RecursiveVerifierTest : public testing:: { // Create proof of inner circuit InnerComposer inner_composer; - auto prover = inner_composer.create_prover(inner_circuit); + auto instance = inner_composer.create_instance(inner_circuit); + auto prover = inner_composer.create_prover(instance); auto proof_to_recursively_verify = prover.construct_proof(); - info("Inner circuit size = ", prover.key->circuit_size); + info("Inner circuit size = ", instance.proving_key->circuit_size); // Compute native verification key - const auto native_verification_key = inner_composer.compute_verification_key(inner_circuit); + const auto native_verification_key = instance.compute_verification_key(inner_composer.commitment_key); // Instantiate the recursive verification key from the native verification key auto verification_key = std::make_shared(&outer_builder, native_verification_key); @@ -128,7 +129,7 @@ template class RecursiveVerifierTest : public testing:: auto pairing_points = verifier.verify_proof(proof_to_recursively_verify); // For testing purposes only, perform native verification and compare the result - auto native_verifier = inner_composer.create_verifier(inner_circuit); + auto native_verifier = inner_composer.create_verifier(instance); auto native_result = native_verifier.verify_proof(proof_to_recursively_verify); // Extract the pairing points from the recursive verifier output and perform the pairing natively. The result @@ -187,8 +188,9 @@ template class RecursiveVerifierTest : public testing:: // Compute native verification key InnerComposer inner_composer; - auto prover = inner_composer.create_prover(inner_circuit); // A prerequisite for computing VK - const auto native_verification_key = inner_composer.compute_verification_key(inner_circuit); + auto instance = inner_composer.create_instance(inner_circuit); + auto prover = inner_composer.create_prover(instance); // A prerequisite for computing VK + const auto native_verification_key = instance.compute_verification_key(inner_composer.commitment_key); // Instantiate the recursive verification key from the native verification key auto verification_key = std::make_shared(&outer_circuit, native_verification_key); From 9172e6f569a8f5ff47bfc12c8c9fdf795363a64a Mon Sep 17 00:00:00 2001 From: maramihali Date: Mon, 11 Sep 2023 09:55:15 +0000 Subject: [PATCH 08/28] more interface --- .../honk/composer/ultra_composer.cpp | 24 ++++++----- .../honk/composer/ultra_composer.hpp | 23 ++++++---- .../barretenberg/honk/instance/instance.cpp | 22 +++------- .../barretenberg/honk/instance/instance.hpp | 17 ++++---- .../honk/instance/verifier_instance.cpp | 0 .../honk/instance/verifier_instance.hpp | 15 +++++++ .../barretenberg/honk/pcs/gemini/gemini.cpp | 43 ++++++++++--------- .../barretenberg/honk/pcs/gemini/gemini.hpp | 8 ++-- .../honk/pcs/gemini/gemini.test.cpp | 6 +-- .../cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp | 2 +- .../barretenberg/honk/pcs/ipa/ipa.test.cpp | 8 ++-- .../barretenberg/honk/pcs/kzg/kzg.test.cpp | 8 ++-- .../honk/proof_system/folding_prover.hpp | 5 --- .../honk/proof_system/folding_result.hpp | 21 +++++++++ .../honk/proof_system/folding_verifier.hpp | 4 -- .../honk/proof_system/protogalaxy_prover.cpp | 39 +++++++++++++++++ .../honk/proof_system/protogalaxy_prover.hpp | 23 ++++++++++ .../proof_system/protogalaxy_verifier.cpp | 9 ++++ .../proof_system/protogalaxy_verifier.hpp | 16 +++++++ .../barretenberg/honk/proof_system/prover.cpp | 6 +-- .../barretenberg/honk/proof_system/prover.hpp | 2 +- .../honk/proof_system/ultra_prover.cpp | 35 ++++++++------- .../honk/proof_system/ultra_prover.hpp | 6 +-- .../honk/proof_system/ultra_verifier.cpp | 4 +- .../recursion/honk/verifier/verifier.test.cpp | 4 +- 25 files changed, 232 insertions(+), 118 deletions(-) create mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.cpp create mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp delete mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_prover.hpp create mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp delete mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_verifier.hpp create mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp create mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp create mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp create mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp index 19456cb4f1f..40ce820bdf2 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp @@ -7,31 +7,24 @@ namespace proof_system::honk { template Instance_ UltraComposer_::create_instance(CircuitBuilder& circuit) { - // this could be either here or in the Instance idk circuit.add_gates_to_ensure_all_polys_are_non_zero(); circuit.finalize_circuit(); Instance instance = Instance(circuit); + instance.commitment_key = compute_commitment_key(instance.proving_key->circuit_size); return instance; } template UltraProver_ UltraComposer_::create_prover(Instance& instance) { - compute_commitment_key(instance.proving_key->circuit_size); - UltraProver_ output_state(instance, commitment_key); + UltraProver_ output_state(instance); return output_state; } -/** - * Create verifier: compute verification key, - * initialize verifier with it and an initial manifest and initialize commitment_scheme. - * - * @return The verifier. - * */ template UltraVerifier_ UltraComposer_::create_verifier(Instance& instance) { // for the folding composer we compute the commitment keys here! - auto verification_key = instance.compute_verification_key(commitment_key); + auto verification_key = instance.compute_verification_key(); // change this it's clunky and inconsistent UltraVerifier_ output_state(verification_key); auto pcs_verification_key = std::make_unique(verification_key->circuit_size, crs_factory_); @@ -40,6 +33,17 @@ template UltraVerifier_ UltraComposer_::cre return output_state; } +template +ProtoGalaxyProver_ UltraComposer_::create_folding_prover(std::vector instances) +{ + for (size_t i = 0; i < instances.size(); i++) { + instances[i].index = i; + } + ProtoGalaxyProver_ output_state(instances); + + return output_state; +} + template class UltraComposer_; template class UltraComposer_; template class UltraComposer_; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp index d76dffcea45..e676dc3fa14 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp @@ -1,8 +1,8 @@ #pragma once #include "barretenberg/honk/instance/instance.hpp" -#include "barretenberg/honk/proof_system/folding_prover.hpp" -#include "barretenberg/honk/proof_system/folding_verifier.hpp" +#include "barretenberg/honk/proof_system/protogalaxy_prover.hpp" +#include "barretenberg/honk/proof_system/protogalaxy_verifier.hpp" #include "barretenberg/honk/proof_system/ultra_prover.hpp" #include "barretenberg/honk/proof_system/ultra_verifier.hpp" #include "barretenberg/proof_system/composer/composer_lib.hpp" @@ -19,6 +19,7 @@ template class UltraComposer_ { public: using CircuitBuilder = typename Flavor::CircuitBuilder; using ProvingKey = typename Flavor::ProvingKey; + using ProverPolynomials = typename Flavor::ProverPolynomials; using VerificationKey = typename Flavor::VerificationKey; using PCS = typename Flavor::PCS; using CommitmentKey = typename Flavor::CommitmentKey; @@ -57,21 +58,25 @@ template class UltraComposer_ { UltraComposer_& operator=(UltraComposer_ const& other) noexcept = default; ~UltraComposer_() = default; - // TODO: can instances share commitment key? - void compute_commitment_key(size_t circuit_size) + std::shared_ptr compute_commitment_key(size_t circuit_size) { + if (commitment_key) { + return commitment_key; + } + commitment_key = std::make_shared(circuit_size, crs_factory_); + return commitment_key; }; Instance create_instance(CircuitBuilder& circuit); + // this needs to change Instance create_instance(std::shared_ptr p_key, std::shared_ptr v_key); - UltraProver_ create_prover(Instance& instance); - UltraVerifier_ create_verifier(Instance& instance); + UltraProver_ create_prover(Instance&); + UltraVerifier_ create_verifier(Instance&); - // underlying assumption that the first instance should be the one we fold on? - // FoldingProver_ create_folding_prover(std::vector&> instances); - // FoldingVerifier_ create_folding_verifier(std::vector&> instances); + ProtoGalaxyProver_ create_folding_prover(std::vector); + ProtoGalaxyVerifier_ create_folding_verifier(std::vector); }; extern template class UltraComposer_; // TODO: the UltraGrumpkin flavor still works on BN254 because plookup needs to be templated to be able to construct diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp index f3de1d2cd3a..4dec56ca8db 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp @@ -294,14 +294,14 @@ template void Instance_::initialise_prover_polynomi prover_polynomials.lagrange_ecc_op = proving_key->lagrange_ecc_op; } - // Add public inputs to transcript from the second wire polynomial; This requires determination of the offset at - // which the PI have been written into the wires relative to the 0th index. + // Determine public input offsets in the circuit relative to the 0th index std::span public_wires_source = prover_polynomials.w_r; pub_inputs_offset = Flavor::has_zero_row ? 1 : 0; if constexpr (IsGoblinFlavor) { pub_inputs_offset += proving_key->num_ecc_op_gates; } + // Construct the public inputs array for (size_t i = 0; i < proving_key->num_public_inputs; ++i) { size_t idx = i + pub_inputs_offset; public_inputs.emplace_back(public_wires_source[idx]); @@ -311,11 +311,10 @@ template void Instance_::initialise_prover_polynomi template void Instance_::compute_sorted_accumulator_polynomials(FF eta) { relation_parameters.eta = eta; - // Compute sorted witness-table accumulator and its commitment - // work only ftom instance + // Compute sorted witness-table accumulator proving_key->sorted_accum = prover_library::compute_sorted_list_accumulator(proving_key, eta); - // Finalize fourth wire polynomial by adding lookup memory records, then commit + // Finalize fourth wire polynomial by adding lookup memory records prover_library::add_plookup_memory_records_to_wire_4(proving_key, eta); prover_polynomials.sorted_accum_shift = proving_key->sorted_accum.shifted(); @@ -324,7 +323,6 @@ template void Instance_::compute_sorted_accumulator prover_polynomials.w_4_shift = proving_key->w_4.shifted(); } -// get rid of the libraries in the end template void Instance_::compute_grand_product_polynomials(FF beta, FF gamma) { auto public_input_delta = @@ -336,28 +334,22 @@ template void Instance_::compute_grand_product_poly relation_parameters.public_input_delta = public_input_delta; relation_parameters.lookup_grand_product_delta = lookup_grand_product_delta; - // Compute permutation + lookup grand product and their commitments + // Compute permutation and lookup grand product polynomials grand_product_library::compute_grand_products(proving_key, prover_polynomials, relation_parameters); } /** * Compute verification key consisting of selector precommitments. * - * @return Pointer to created circuit verification key. + * @return Pointer to the resulting verification key of the Instance. * */ template -std::shared_ptr Instance_::compute_verification_key( - std::shared_ptr commitment_key) +std::shared_ptr Instance_::compute_verification_key() { if (verification_key) { return verification_key; } - // To have an instance_ you have to have a proving key so this can go away - // if (!proving_key) { - // compute_proving_key(circuit); - // } - verification_key = std::make_shared(proving_key->circuit_size, proving_key->num_public_inputs); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp index ba8c8f183d8..aa8389cca35 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp @@ -12,7 +12,7 @@ #include #include namespace proof_system::honk { - +// Need verifier instance as well // An Instance is created from a Circuit and we initialise all the data structure that rely on information from a // circuit Then a Prover and a Verifier is created from an Instance or several instances and each manages their own // polynomials @@ -23,7 +23,7 @@ template class Instance_ { using ProvingKey = typename Flavor::ProvingKey; using VerificationKey = typename Flavor::VerificationKey; using CommitmentKey = typename Flavor::CommitmentKey; - using FF = typename Flavor::Curve::ScalarField; + using FF = typename Flavor::FF; using FoldingParameters = typename Flavor::FoldingParameters; using ProverPolynomials = typename Flavor::ProverPolynomials; @@ -34,8 +34,8 @@ template class Instance_ { static constexpr size_t NUM_WIRES = Circuit::NUM_WIRES; std::shared_ptr proving_key; std::shared_ptr verification_key; + std::shared_ptr commitment_key; - // TODO: should this be a shared_ptr? ProverPolynomials prover_polynomials; std::vector public_inputs; size_t pub_inputs_offset; @@ -54,7 +54,7 @@ template class Instance_ { FoldingParameters folding_params; // Used by the prover for domain separation in the transcript - uint32_t instance_index; + uint32_t index; Instance_(Circuit& circuit) { @@ -63,9 +63,10 @@ template class Instance_ { compute_witness(circuit); } - explicit Instance_(std::shared_ptr p_key, std::shared_ptr v_key) - : proving_key(std::move(p_key)) - , verification_key(std::move(v_key)) + Instance_(ProverPolynomials polys, std::vector public_inputs, std::shared_ptr vk) + : verification_key(std::move(vk)) + , prover_polynomials(polys) + , public_inputs(public_inputs) {} Instance_(Instance_&& other) noexcept = default; @@ -75,7 +76,7 @@ template class Instance_ { ~Instance_() = default; std::shared_ptr compute_proving_key(Circuit&); - std::shared_ptr compute_verification_key(std::shared_ptr commitment_key); + std::shared_ptr compute_verification_key(); void compute_circuit_size_parameters(Circuit&); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.cpp new file mode 100644 index 00000000000..e69de29bb2d diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp new file mode 100644 index 00000000000..0ada88d7085 --- /dev/null +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp @@ -0,0 +1,15 @@ +#include "barretenberg/proof_system/flavor/flavor.hpp" +namespace proof_system::honk { +template class VerifierInstance_ { + using FF = typename Flavor::FF; + using VerificationKey = typename Flavor::VerificationKey; + using FoldingParameters = typename Flavor::FoldingParameters; + + std::shared_ptr verification_key; + std::vector public_inputs; + size_t pub_inputs_offset; + size_t circuit_size; + FoldingParameters folding_params; + size_t index; +}; +} // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.cpp index 2a39a4cecba..5e3c91504b2 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.cpp @@ -54,9 +54,9 @@ namespace proof_system::honk::pcs::gemini { */ template std::vector> GeminiProver_< - Curve>::compute_fold_polynomials(std::span mle_opening_point, - Polynomial&& batched_unshifted, - Polynomial&& batched_to_be_shifted) + Curve>::compute_gemini_polynomials(std::span mle_opening_point, + Polynomial&& batched_unshifted, + Polynomial&& batched_to_be_shifted) { const size_t num_variables = mle_opening_point.size(); // m @@ -69,12 +69,12 @@ std::vector> Gemi // The first two are populated here with the batched unshifted and to-be-shifted polynomial respectively. // They will eventually contain the full batched polynomial A₀ partially evaluated at the challenges r,-r. // This function populates the other m-1 polynomials with the foldings of A₀. - std::vector fold_polynomials; - fold_polynomials.reserve(num_variables + 1); + std::vector gemini_polynomials; + gemini_polynomials.reserve(num_variables + 1); // F(X) = ∑ⱼ ρʲ fⱼ(X) and G(X) = ∑ⱼ ρᵏ⁺ʲ gⱼ(X) - Polynomial& batched_F = fold_polynomials.emplace_back(std::move(batched_unshifted)); - Polynomial& batched_G = fold_polynomials.emplace_back(std::move(batched_to_be_shifted)); + Polynomial& batched_F = gemini_polynomials.emplace_back(std::move(batched_unshifted)); + Polynomial& batched_G = gemini_polynomials.emplace_back(std::move(batched_to_be_shifted)); constexpr size_t offset_to_folded = 2; // Offset because of F an G // A₀(X) = F(X) + G↺(X) = F(X) + G(X)/X. Polynomial A_0(batched_F); @@ -86,7 +86,7 @@ std::vector> Gemi const size_t n_l = 1 << (num_variables - l - 1); // A_l_fold = Aₗ₊₁(X) = (1-uₗ)⋅even(Aₗ)(X) + uₗ⋅odd(Aₗ)(X) - fold_polynomials.emplace_back(Polynomial(n_l)); + gemini_polynomials.emplace_back(Polynomial(n_l)); } // A_l = Aₗ(X) is the polynomial being folded @@ -108,7 +108,7 @@ std::vector> Gemi const Fr u_l = mle_opening_point[l]; // A_l_fold = Aₗ₊₁(X) = (1-uₗ)⋅even(Aₗ)(X) + uₗ⋅odd(Aₗ)(X) - auto A_l_fold = fold_polynomials[l + offset_to_folded].data(); + auto A_l_fold = gemini_polynomials[l + offset_to_folded].data(); parallel_for(num_used_threads, [&](size_t i) { size_t current_chunk_size = (i == (num_used_threads - 1)) ? last_chunk_size : chunk_size; @@ -125,31 +125,31 @@ std::vector> Gemi A_l = A_l_fold; } - return fold_polynomials; + return gemini_polynomials; }; /** * @brief Computes/aggragates d+1 Fold polynomials and their opening pairs (challenge, evaluation) * - * @details This function assumes that, upon input, last d-1 entries in fold_polynomials are Fold_i. + * @details This function assumes that, upon input, last d-1 entries in gemini_polynomials are Fold_i. * The first two entries are assumed to be, respectively, the batched unshifted and batched to-be-shifted * polynomials F(X) = ∑ⱼ ρʲfⱼ(X) and G(X) = ∑ⱼ ρᵏ⁺ʲ gⱼ(X). This function completes the computation * of the first two Fold polynomials as F + G/r and F - G/r. It then evaluates each of the d+1 * fold polynomials at, respectively, the points r, rₗ = r^{2ˡ} for l = 0, 1, ..., d-1. * * @param mle_opening_point u = (u₀,...,uₘ₋₁) is the MLE opening point - * @param fold_polynomials vector of polynomials whose first two elements are F(X) = ∑ⱼ ρʲfⱼ(X) + * @param gemini_polynomials vector of polynomials whose first two elements are F(X) = ∑ⱼ ρʲfⱼ(X) * and G(X) = ∑ⱼ ρᵏ⁺ʲ gⱼ(X), and the next d-1 elements are Fold_i, i = 1, ..., d-1. * @param r_challenge univariate opening challenge */ template ProverOutput GeminiProver_::compute_fold_polynomial_evaluations( - std::span mle_opening_point, std::vector&& fold_polynomials, const Fr& r_challenge) + std::span mle_opening_point, std::vector&& gemini_polynomials, const Fr& r_challenge) { const size_t num_variables = mle_opening_point.size(); // m - Polynomial& batched_F = fold_polynomials[0]; // F(X) = ∑ⱼ ρʲ fⱼ(X) - Polynomial& batched_G = fold_polynomials[1]; // G(X) = ∑ⱼ ρᵏ⁺ʲ gⱼ(X) + Polynomial& batched_F = gemini_polynomials[0]; // F(X) = ∑ⱼ ρʲ fⱼ(X) + Polynomial& batched_G = gemini_polynomials[1]; // G(X) = ∑ⱼ ρᵏ⁺ʲ gⱼ(X) // Compute univariate opening queries rₗ = r^{2ˡ} for l = 0, 1, ..., m-1 std::vector r_squares = squares_of_r(r_challenge, num_variables); @@ -158,16 +158,16 @@ ProverOutput GeminiProver_::compute_fold_polynomial_evaluations( Fr r_inv = r_challenge.invert(); batched_G *= r_inv; - // Construct A₀₊ = F + G/r and A₀₋ = F - G/r in place in fold_polynomials + // Construct A₀₊ = F + G/r and A₀₋ = F - G/r in place in gemini_polynomials Polynomial tmp = batched_F; - Polynomial& A_0_pos = fold_polynomials[0]; + Polynomial& A_0_pos = gemini_polynomials[0]; // A₀₊(X) = F(X) + G(X)/r, s.t. A₀₊(r) = A₀(r) A_0_pos += batched_G; // Perform a swap so that tmp = G(X)/r and A_0_neg = F(X) std::swap(tmp, batched_G); - Polynomial& A_0_neg = fold_polynomials[1]; + Polynomial& A_0_neg = gemini_polynomials[1]; // A₀₋(X) = F(X) - G(X)/r, s.t. A₀₋(-r) = A₀(-r) A_0_neg -= tmp; @@ -176,15 +176,16 @@ ProverOutput GeminiProver_::compute_fold_polynomial_evaluations( fold_poly_opening_pairs.reserve(num_variables + 1); // Compute first opening pair {r, A₀(r)} - fold_poly_opening_pairs.emplace_back(OpeningPair{ r_challenge, fold_polynomials[0].evaluate(r_challenge) }); + fold_poly_opening_pairs.emplace_back( + OpeningPair{ r_challenge, gemini_polynomials[0].evaluate(r_challenge) }); // Compute the remaining m opening pairs {−r^{2ˡ}, Aₗ(−r^{2ˡ})}, l = 0, ..., m-1. for (size_t l = 0; l < num_variables; ++l) { fold_poly_opening_pairs.emplace_back( - OpeningPair{ -r_squares[l], fold_polynomials[l + 1].evaluate(-r_squares[l]) }); + OpeningPair{ -r_squares[l], gemini_polynomials[l + 1].evaluate(-r_squares[l]) }); } - return { fold_poly_opening_pairs, std::move(fold_polynomials) }; + return { fold_poly_opening_pairs, std::move(gemini_polynomials) }; }; template class GeminiProver_; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.hpp index f46d55ae71f..e24f89b76da 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.hpp @@ -102,12 +102,12 @@ template class GeminiProver_ { using Polynomial = barretenberg::Polynomial; public: - static std::vector compute_fold_polynomials(std::span mle_opening_point, - Polynomial&& batched_unshifted, - Polynomial&& batched_to_be_shifted); + static std::vector compute_gemini_polynomials(std::span mle_opening_point, + Polynomial&& batched_unshifted, + Polynomial&& batched_to_be_shifted); static ProverOutput compute_fold_polynomial_evaluations(std::span mle_opening_point, - std::vector&& fold_polynomials, + std::vector&& gemini_polynomials, const Fr& r_challenge); }; // namespace proof_system::honk::pcs::gemini diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.test.cpp index c9208592271..117b35d3cc4 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.test.cpp @@ -56,19 +56,19 @@ template class GeminiTest : public CommitmentTest { // Compute: // - (d+1) opening pairs: {r, \hat{a}_0}, {-r^{2^i}, a_i}, i = 0, ..., d-1 // - (d+1) Fold polynomials Fold_{r}^(0), Fold_{-r}^(0), and Fold^(i), i = 0, ..., d-1 - auto fold_polynomials = GeminiProver::compute_fold_polynomials( + auto gemini_polynomials = GeminiProver::compute_gemini_polynomials( multilinear_evaluation_point, std::move(batched_unshifted), std::move(batched_to_be_shifted)); for (size_t l = 0; l < log_n - 1; ++l) { std::string label = "FOLD_" + std::to_string(l + 1); - auto commitment = this->ck()->commit(fold_polynomials[l + 2]); + auto commitment = this->ck()->commit(gemini_polynomials[l + 2]); prover_transcript.send_to_verifier(label, commitment); } const Fr r_challenge = prover_transcript.get_challenge("Gemini:r"); auto prover_output = GeminiProver::compute_fold_polynomial_evaluations( - multilinear_evaluation_point, std::move(fold_polynomials), r_challenge); + multilinear_evaluation_point, std::move(gemini_polynomials), r_challenge); for (size_t l = 0; l < log_n; ++l) { std::string label = "Gemini:a_" + std::to_string(l); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp index ae5b2fcfb24..c0f594ec593 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp @@ -11,7 +11,7 @@ /** * @brief IPA (inner-product argument) commitment scheme class. Conforms to the specification - * https://hackmd.io/q-A8y6aITWyWJrvsGGMWNA?view. + * https://hackmd.io/q-A8y6aITWyWJrvsGGMWNA?view.x * */ namespace proof_system::honk::pcs::ipa { diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.test.cpp index 78b70ecc307..d015bfa6d21 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.test.cpp @@ -131,19 +131,19 @@ TEST_F(IPATest, GeminiShplonkIPAWithShift) auto prover_transcript = ProverTranscript::init_empty(); - auto fold_polynomials = GeminiProver::compute_fold_polynomials( + auto gemini_polynomials = GeminiProver::compute_gemini_polynomials( mle_opening_point, std::move(batched_unshifted), std::move(batched_to_be_shifted)); for (size_t l = 0; l < log_n - 1; ++l) { std::string label = "FOLD_" + std::to_string(l + 1); - auto commitment = this->ck()->commit(fold_polynomials[l + 2]); + auto commitment = this->ck()->commit(gemini_polynomials[l + 2]); prover_transcript.send_to_verifier(label, commitment); } const Fr r_challenge = prover_transcript.get_challenge("Gemini:r"); - const auto [gemini_opening_pairs, gemini_witnesses] = - GeminiProver::compute_fold_polynomial_evaluations(mle_opening_point, std::move(fold_polynomials), r_challenge); + const auto [gemini_opening_pairs, gemini_witnesses] = GeminiProver::compute_fold_polynomial_evaluations( + mle_opening_point, std::move(gemini_polynomials), r_challenge); for (size_t l = 0; l < log_n; ++l) { std::string label = "Gemini:a_" + std::to_string(l); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/kzg/kzg.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/kzg/kzg.test.cpp index f86cd961f6e..6fe4d1b2641 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/kzg/kzg.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/kzg/kzg.test.cpp @@ -116,19 +116,19 @@ TYPED_TEST(KZGTest, GeminiShplonkKzgWithShift) // Compute: // - (d+1) opening pairs: {r, \hat{a}_0}, {-r^{2^i}, a_i}, i = 0, ..., d-1 // - (d+1) Fold polynomials Fold_{r}^(0), Fold_{-r}^(0), and Fold^(i), i = 0, ..., d-1 - auto fold_polynomials = GeminiProver::compute_fold_polynomials( + auto gemini_polynomials = GeminiProver::compute_gemini_polynomials( mle_opening_point, std::move(batched_unshifted), std::move(batched_to_be_shifted)); for (size_t l = 0; l < log_n - 1; ++l) { std::string label = "FOLD_" + std::to_string(l + 1); - auto commitment = this->ck()->commit(fold_polynomials[l + 2]); + auto commitment = this->ck()->commit(gemini_polynomials[l + 2]); prover_transcript.send_to_verifier(label, commitment); } const Fr r_challenge = prover_transcript.get_challenge("Gemini:r"); - const auto [gemini_opening_pairs, gemini_witnesses] = - GeminiProver::compute_fold_polynomial_evaluations(mle_opening_point, std::move(fold_polynomials), r_challenge); + const auto [gemini_opening_pairs, gemini_witnesses] = GeminiProver::compute_fold_polynomial_evaluations( + mle_opening_point, std::move(gemini_polynomials), r_challenge); for (size_t l = 0; l < log_n; ++l) { std::string label = "Gemini:a_" + std::to_string(l); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_prover.hpp deleted file mode 100644 index 3bcff5a7993..00000000000 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_prover.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#include "barretenberg/proof_system/flavor/flavor.hpp" -namespace proof_system::honk { -template class FoldingProver_ {}; -// the folding prover returns the new prover polynomials and the new public inputs(does the verifier do anything) -} // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp new file mode 100644 index 00000000000..d8e5d4ab53a --- /dev/null +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp @@ -0,0 +1,21 @@ +#include "barretenberg/proof_system/flavor/flavor.hpp" +namespace proof_system::honk { +template struct ProverFoldingResult { + public: + using ProverPolynomials = typename Flavor::ProverPolynomials; + using FoldingParameters = typename Flavor::FoldingParameters; + ProverPolynomials folded_prover_polynomials; + std::vector folding_data; + FoldingParameters params; +}; + +template struct VerifierFoldingResult { + using FF = typename Flavor::FF; + using VerificationKey = typename Flavor::VerificationKey; + using FoldingParameters = typename Flavor::FoldingParameters; + // TODO: what happens to the public input offsets + std::vector folded_public_inputs; + VerificationKey verification_key; + FoldingParameters params; +}; +} // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_verifier.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_verifier.hpp deleted file mode 100644 index 785a099ea9b..00000000000 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_verifier.hpp +++ /dev/null @@ -1,4 +0,0 @@ -#include "barretenberg/proof_system/flavor/flavor.hpp" -namespace proof_system::honk { -template class FoldingVerifier_ {}; -} // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp new file mode 100644 index 00000000000..36194da4413 --- /dev/null +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp @@ -0,0 +1,39 @@ +#include "protogalaxy_prover.hpp" +#include "barretenberg/proof_system/flavor/flavor.hpp" +namespace proof_system::honk { +template +ProtoGalaxyProver_::ProtoGalaxyProver_(std::vector insts) + : instances(insts) +{} + +// Prior to folding we need to: +// - add all public inputs to the transcript, labelled by their corresponding instance index +// - finalise computation of all the instance's polynomials +// - add the relation parameters involved in computing the instances polynomials to the transcript +template void ProtoGalaxyProver_::prepare_for_folding() +{ + for (const Instance& instance : instances) { + instance.initialise_prover_polynomials(); + + const auto instance_index = std::string(instance.index); + const auto circuit_size = static_cast(instance.proving_key->circuit_size); + const auto num_public_inputs = static_cast(instance.proving_key->num_public_inputs); + + transcript.send_to_verifier(instance_index + "_circuit_size", circuit_size); + transcript.send_to_verifier(instance_index + "_public_input_size", num_public_inputs); + transcript.send_to_verifier(instance_index + "_pub_inputs_offset", + static_cast(instance.pub_inputs_offset)); + + for (size_t i = 0; i < instance.proving_key->num_public_inputs; ++i) { + auto public_input_i = instance.public_inputs[i]; + transcript.send_to_verifier(instance_index + "_public_input_" + std::to_string(i), public_input_i); + } + + auto eta = transcript.get_challenge(instance_index + "_eta"); + instance.compute_sorted_accumulator_polynomials(eta); + auto [beta, gamma] = transcript.get_challenges(instance_index + "_beta", instance_index + "_gamma"); + instance.compute_grand_product_polynomials(beta, gamma); + } +} + +} // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp new file mode 100644 index 00000000000..888599b4f6b --- /dev/null +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp @@ -0,0 +1,23 @@ +#include "barretenberg/honk/instance/instance.hpp" +#include "barretenberg/proof_system/flavor/flavor.hpp" +#include "barretenberg/proof_system/folding_result.hpp" +namespace proof_system::honk { +template class ProtoGalaxyProver_ { + public: + using FF = typename Flavor::FF; + using Instance = Instance_; + using ProverPolynomials = typename Flavor::ProverPolynomials; + + std::vector instances; + + ProverTranscript transcript; + + explicit ProtoGalaxyProver_(std::vector); + + void prepare_for_folding(); + + // TODO: implement this function + ProverFoldingResult fold_instances(); +}; +// the folding prover returns the new prover polynomials and the new public inputs(does the verifier do anything) +} // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp new file mode 100644 index 00000000000..c9bd7e2b2a0 --- /dev/null +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp @@ -0,0 +1,9 @@ +#include "protogalaxy_verifier.hpp" +namespace proof_system::honk { +template +ProtoGalaxyVerifier_::ProtoGalaxyVerifier_(std::vector vks, std::vector proof_data) + +{ + transcript = VerifierTranscript{ proof_data }; +} +} // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp new file mode 100644 index 00000000000..df4146b67db --- /dev/null +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp @@ -0,0 +1,16 @@ +#include "barretenberg/honk/transcript/transcript.hpp" +#include "barretenberg/proof_system/flavor/flavor.hpp" +#include "barretenberg/proof_system/folding_result.hpp" + +namespace proof_system::honk { +template class ProtoGalaxyVerifier_ { + public: + using FF = typename Flavor::FF; + using VerificationKey = typename Flavor::VerificationKey; + std::vector verifier_instances; + VerifierTranscript transcript; + + explicit ProtoGalaxyVerifier_(std::vector vks); + VerifierFoldingResult fold_public_parameters(); +}; +} // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp index 1e35a281877..cdf3cf89f23 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp @@ -160,12 +160,12 @@ template void StandardProver_::execute_univariat }; // Compute d-1 polynomials Fold^(i), i = 1, ..., d-1. - fold_polynomials = Gemini::compute_fold_polynomials( + gemini_polynomials = Gemini::compute_gemini_polynomials( sumcheck_output.challenge_point, std::move(batched_poly_unshifted), std::move(batched_poly_to_be_shifted)); // Compute and add to trasnscript the commitments [Fold^(i)], i = 1, ..., d-1 for (size_t l = 0; l < key->log_circuit_size - 1; ++l) { - queue.add_commitment(fold_polynomials[l + 2], "Gemini:FOLD_" + std::to_string(l + 1)); + queue.add_commitment(gemini_polynomials[l + 2], "Gemini:FOLD_" + std::to_string(l + 1)); } } @@ -179,7 +179,7 @@ template void StandardProver_::execute_pcs_evalu { const FF r_challenge = transcript.get_challenge("Gemini:r"); gemini_output = Gemini::compute_fold_polynomial_evaluations( - sumcheck_output.challenge_point, std::move(fold_polynomials), r_challenge); + sumcheck_output.challenge_point, std::move(gemini_polynomials), r_challenge); for (size_t l = 0; l < key->log_circuit_size; ++l) { std::string label = "Gemini:a_" + std::to_string(l); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp index d871d5c8b6c..95d6bfcebbe 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp @@ -61,7 +61,7 @@ template class StandardProver_ { CommitmentLabels commitment_labels; // Container for d + 1 Fold polynomials produced by Gemini - std::vector fold_polynomials; + std::vector gemini_polynomials; Polynomial batched_quotient_Q; // batched quotient poly computed by Shplonk FF nu_challenge; // needed in both Shplonk rounds diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp index 6e78659e15f..f50a23b498f 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp @@ -11,18 +11,17 @@ namespace proof_system::honk { /** - * Create UltraProver_ from proving key, witness and manifest. + * Create UltraProver_ from an instance. * - * @param input_key Proving key. - * @param input_manifest Input manifest + * @param instance Instance whose proof we want to generate. * - * @tparam settings Settings class. + * @tparam a type of UltraFlavor * */ template -UltraProver_::UltraProver_(Instance& inst, std::shared_ptr commitment_key) - : queue(commitment_key, transcript) +UltraProver_::UltraProver_(Instance& inst) + : queue(inst.commitment_key, transcript) , instance(inst) - , pcs_commitment_key(commitment_key) + , pcs_commitment_key(instance.commitment_key) { instance.initialise_prover_polynomials(); } @@ -47,19 +46,19 @@ template void UltraProver_::execute_preamble_round( } /** - * @brief Compute commitments to the first three wires + * @brief Compute commitments to the first three wire polynomials (and ECC op wires if using Goblin). * */ template void UltraProver_::execute_wire_commitments_round() { - // Commit to the first three wire polynomials; the fourth is committed to after the addition of memory records. + // Commit to the first three wire polynomials + // We only commit to the fourth wire polynomial after adding memory records auto wire_polys = instance.proving_key->get_wires(); auto labels = commitment_labels.get_wires(); for (size_t idx = 0; idx < 3; ++idx) { queue.add_commitment(wire_polys[idx], labels[idx]); } - // If Goblin, commit to the ECC op wire polynomials if constexpr (IsGoblinFlavor) { auto op_wire_polys = instance.proving_key->get_ecc_op_wires(); auto labels = commitment_labels.get_ecc_op_wires(); @@ -70,7 +69,7 @@ template void UltraProver_::execute_wire_commitment } /** - * @brief Compute sorted witness-table accumulator + * @brief Compute sorted witness-table accumulator and commit to the resulting polynomials. * */ template void UltraProver_::execute_sorted_list_accumulator_round() @@ -79,14 +78,14 @@ template void UltraProver_::execute_sorted_list_acc instance.compute_sorted_accumulator_polynomials(eta); + // Commit to the sorted withness-table accumulator and the finalised (i.e. with memory records) fourth wire + // polynomial queue.add_commitment(instance.proving_key->sorted_accum, commitment_labels.sorted_accum); queue.add_commitment(instance.proving_key->w_4, commitment_labels.w_4); } -// to here things need to be done for folding as well? - /** - * @brief Compute permutation and lookup grand product polynomials and commitments + * @brief Compute permutation and lookup grand product polynomials and their commitments * */ template void UltraProver_::execute_grand_product_computation_round() @@ -141,12 +140,12 @@ template void UltraProver_::execute_univariatizatio }; // Compute d-1 polynomials Fold^(i), i = 1, ..., d-1. - fold_polynomials = Gemini::compute_fold_polynomials( + gemini_polynomials = Gemini::compute_gemini_polynomials( sumcheck_output.challenge_point, std::move(batched_poly_unshifted), std::move(batched_poly_to_be_shifted)); // Compute and add to trasnscript the commitments [Fold^(i)], i = 1, ..., d-1 for (size_t l = 0; l < instance.proving_key->log_circuit_size - 1; ++l) { - queue.add_commitment(fold_polynomials[l + 2], "Gemini:FOLD_" + std::to_string(l + 1)); + queue.add_commitment(gemini_polynomials[l + 2], "Gemini:FOLD_" + std::to_string(l + 1)); } } @@ -160,7 +159,7 @@ template void UltraProver_::execute_pcs_evaluation_ { const FF r_challenge = transcript.get_challenge("Gemini:r"); gemini_output = Gemini::compute_fold_polynomial_evaluations( - sumcheck_output.challenge_point, std::move(fold_polynomials), r_challenge); + sumcheck_output.challenge_point, std::move(gemini_polynomials), r_challenge); for (size_t l = 0; l < instance.proving_key->log_circuit_size; ++l) { std::string label = "Gemini:a_" + std::to_string(l); @@ -197,7 +196,7 @@ template void UltraProver_::execute_shplonk_partial } /** * - Compute final PCS opening proof: - * - For KZG, this is the quotient commitment [W]_1 + * - For KZG, this is the quotient commitmecnt [W]_1 * - For IPA, the vectors L and R * */ template void UltraProver_::execute_final_pcs_round() diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp index af9248a172e..0690bbff481 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp @@ -13,8 +13,6 @@ namespace proof_system::honk { -// We won't compile this class with honk::flavor::Standard, but we will like want to compile it (at least for testing) -// with a flavor that uses the curve Grumpkin, or a flavor that does/does not have zk, etc. template class UltraProver_ { using FF = typename Flavor::FF; using PCS = typename Flavor::PCS; @@ -27,7 +25,7 @@ template class UltraProver_ { using Instance = Instance_; public: - explicit UltraProver_(Instance&, std::shared_ptr); + explicit UltraProver_(Instance&); void execute_preamble_round(); void execute_wire_commitments_round(); void execute_sorted_list_accumulator_round(); @@ -51,7 +49,7 @@ template class UltraProver_ { CommitmentLabels commitment_labels; // Container for d + 1 Fold polynomials produced by Gemini - std::vector fold_polynomials; + std::vector gemini_polynomials; Polynomial batched_quotient_Q; // batched quotient poly computed by Shplonk FF nu_challenge; // needed in both Shplonk rounds diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp index 132ade5482e..586ac1bc4c2 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp @@ -27,8 +27,6 @@ template UltraVerifier_& UltraVerifier_::opera return *this; } -// verifier completely different - /** * @brief This function verifies an Ultra Honk proof for given program settings. * @@ -70,6 +68,8 @@ template bool UltraVerifier_::verify_proof(const plonk public_inputs.emplace_back(public_input_i); } + // up to here in the folding verifier as well + // Get commitments to first three wire polynomials commitments.w_l = transcript.template receive_from_prover(commitment_labels.w_l); commitments.w_r = transcript.template receive_from_prover(commitment_labels.w_r); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp index e75d701d983..ff332b05ff4 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp @@ -119,7 +119,7 @@ template class RecursiveVerifierTest : public testing:: info("Inner circuit size = ", instance.proving_key->circuit_size); // Compute native verification key - const auto native_verification_key = instance.compute_verification_key(inner_composer.commitment_key); + const auto native_verification_key = instance.compute_verification_key(); // Instantiate the recursive verification key from the native verification key auto verification_key = std::make_shared(&outer_builder, native_verification_key); @@ -190,7 +190,7 @@ template class RecursiveVerifierTest : public testing:: InnerComposer inner_composer; auto instance = inner_composer.create_instance(inner_circuit); auto prover = inner_composer.create_prover(instance); // A prerequisite for computing VK - const auto native_verification_key = instance.compute_verification_key(inner_composer.commitment_key); + const auto native_verification_key = instance.compute_verification_key(); // Instantiate the recursive verification key from the native verification key auto verification_key = std::make_shared(&outer_circuit, native_verification_key); From 2018ffed60c327605627299e6960e75ccebfa673 Mon Sep 17 00:00:00 2001 From: maramihali Date: Mon, 11 Sep 2023 09:56:12 +0000 Subject: [PATCH 09/28] more wip --- .../honk/composer/ultra_composer.cpp | 22 ++++++++-- .../honk/composer/ultra_composer.hpp | 5 +-- .../barretenberg/honk/instance/instance.hpp | 7 ++- .../honk/instance/verifier_instance.hpp | 5 +++ .../honk/proof_system/folding_result.hpp | 1 + .../honk/proof_system/protogalaxy_prover.cpp | 28 ++++++------ .../honk/proof_system/protogalaxy_prover.hpp | 15 +++++-- .../proof_system/protogalaxy_verifier.cpp | 43 ++++++++++++++++++- .../proof_system/protogalaxy_verifier.hpp | 16 +++++-- 9 files changed, 114 insertions(+), 28 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp index 40ce820bdf2..83c7366d3c2 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp @@ -34,16 +34,32 @@ template UltraVerifier_ UltraComposer_::cre } template -ProtoGalaxyProver_ UltraComposer_::create_folding_prover(std::vector instances) +ProtoGalaxyProver_ UltraComposer_::create_folding_prover( + std::vector> instances) { - for (size_t i = 0; i < instances.size(); i++) { - instances[i].index = i; + uint32_t idx = 0; + for (const auto& inst : instances) { + inst->index = idx; + idx++; } ProtoGalaxyProver_ output_state(instances); return output_state; } +template +ProtoGalaxyVerifier_ UltraComposer_::create_folding_verifier( + std::vector> instances) +{ + std::vector> vks; + for (const auto& inst : instances) { + vks.emplace_back(inst->compute_verification_key()); + } + ProtoGalaxyVerifier_ output_state(vks); + + return output_state; +} + template class UltraComposer_; template class UltraComposer_; template class UltraComposer_; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp index e676dc3fa14..f5476754870 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp @@ -1,5 +1,4 @@ #pragma once - #include "barretenberg/honk/instance/instance.hpp" #include "barretenberg/honk/proof_system/protogalaxy_prover.hpp" #include "barretenberg/honk/proof_system/protogalaxy_verifier.hpp" @@ -75,8 +74,8 @@ template class UltraComposer_ { UltraProver_ create_prover(Instance&); UltraVerifier_ create_verifier(Instance&); - ProtoGalaxyProver_ create_folding_prover(std::vector); - ProtoGalaxyVerifier_ create_folding_verifier(std::vector); + ProtoGalaxyProver_ create_folding_prover(std::vector>); + ProtoGalaxyVerifier_ create_folding_verifier(std::vector>); }; extern template class UltraComposer_; // TODO: the UltraGrumpkin flavor still works on BN254 because plookup needs to be templated to be able to construct diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp index aa8389cca35..a2230df10bb 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp @@ -13,10 +13,11 @@ #include namespace proof_system::honk { // Need verifier instance as well -// An Instance is created from a Circuit and we initialise all the data structure that rely on information from a +// An Instance is created from a Circuit and we ini tialise all the data structure that rely on information from a // circuit Then a Prover and a Verifier is created from an Instance or several instances and each manages their own // polynomials // The responsability of a Prover is to commit, add to transcript while the Instance manages its polynomials +// TODO: we might wanna have a specialisaition of the Instance class for the Accumulator template class Instance_ { public: using Circuit = typename Flavor::CircuitBuilder; @@ -37,6 +38,10 @@ template class Instance_ { std::shared_ptr commitment_key; ProverPolynomials prover_polynomials; + + // After instances have been folded, the pub_inputs_offset will become irrelevant as it's used for computing the 4th + // wire polynomial and a folded instance does not care about wires anymore. + // Furthermore, folding limits us to having the same number of public inputs. std::vector public_inputs; size_t pub_inputs_offset; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp index 0ada88d7085..e647022be3e 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp @@ -1,6 +1,9 @@ +#pragma once #include "barretenberg/proof_system/flavor/flavor.hpp" +#include "barretenberg/proof_system/relations/relation_parameters.hpp" namespace proof_system::honk { template class VerifierInstance_ { + public: using FF = typename Flavor::FF; using VerificationKey = typename Flavor::VerificationKey; using FoldingParameters = typename Flavor::FoldingParameters; @@ -8,7 +11,9 @@ template class VerifierInstance_ { std::shared_ptr verification_key; std::vector public_inputs; size_t pub_inputs_offset; + size_t public_input_size; size_t circuit_size; + RelationParameters relation_parameters; FoldingParameters folding_params; size_t index; }; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp index d8e5d4ab53a..a504a515566 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp @@ -1,3 +1,4 @@ +#pragma once #include "barretenberg/proof_system/flavor/flavor.hpp" namespace proof_system::honk { template struct ProverFoldingResult { diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp index 36194da4413..ba70a46d0ed 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp @@ -2,7 +2,7 @@ #include "barretenberg/proof_system/flavor/flavor.hpp" namespace proof_system::honk { template -ProtoGalaxyProver_::ProtoGalaxyProver_(std::vector insts) +ProtoGalaxyProver_::ProtoGalaxyProver_(std::vector> insts) : instances(insts) {} @@ -12,28 +12,32 @@ ProtoGalaxyProver_::ProtoGalaxyProver_(std::vector insts) // - add the relation parameters involved in computing the instances polynomials to the transcript template void ProtoGalaxyProver_::prepare_for_folding() { - for (const Instance& instance : instances) { - instance.initialise_prover_polynomials(); + for (const auto& instance : instances) { + instance->initialise_prover_polynomials(); - const auto instance_index = std::string(instance.index); - const auto circuit_size = static_cast(instance.proving_key->circuit_size); - const auto num_public_inputs = static_cast(instance.proving_key->num_public_inputs); + const auto instance_index = std::to_string(instance->index); + const auto circuit_size = static_cast(instance->proving_key->circuit_size); + const auto num_public_inputs = static_cast(instance->proving_key->num_public_inputs); transcript.send_to_verifier(instance_index + "_circuit_size", circuit_size); transcript.send_to_verifier(instance_index + "_public_input_size", num_public_inputs); - transcript.send_to_verifier(instance_index + "_pub_inputs_offset", - static_cast(instance.pub_inputs_offset)); + // transcript.send_to_verifier(instance_index + "_pub_inputs_offset", + // static_cast(instance.pub_inputs_offset)); - for (size_t i = 0; i < instance.proving_key->num_public_inputs; ++i) { - auto public_input_i = instance.public_inputs[i]; + for (size_t i = 0; i < instance->proving_key->num_public_inputs; ++i) { + auto public_input_i = instance->public_inputs[i]; transcript.send_to_verifier(instance_index + "_public_input_" + std::to_string(i), public_input_i); } auto eta = transcript.get_challenge(instance_index + "_eta"); - instance.compute_sorted_accumulator_polynomials(eta); + instance->compute_sorted_accumulator_polynomials(eta); auto [beta, gamma] = transcript.get_challenges(instance_index + "_beta", instance_index + "_gamma"); - instance.compute_grand_product_polynomials(beta, gamma); + instance->compute_grand_product_polynomials(beta, gamma); } } +template class ProtoGalaxyProver_; +template class ProtoGalaxyProver_; +template class ProtoGalaxyProver_; + } // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp index 888599b4f6b..a77f0d04712 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp @@ -1,6 +1,10 @@ +#pragma once +#include "barretenberg/honk/flavor/goblin_ultra.hpp" +#include "barretenberg/honk/flavor/ultra.hpp" +#include "barretenberg/honk/flavor/ultra_grumpkin.hpp" #include "barretenberg/honk/instance/instance.hpp" +#include "barretenberg/honk/proof_system/folding_result.hpp" #include "barretenberg/proof_system/flavor/flavor.hpp" -#include "barretenberg/proof_system/folding_result.hpp" namespace proof_system::honk { template class ProtoGalaxyProver_ { public: @@ -8,16 +12,19 @@ template class ProtoGalaxyProver_ { using Instance = Instance_; using ProverPolynomials = typename Flavor::ProverPolynomials; - std::vector instances; + std::vector> instances; ProverTranscript transcript; - explicit ProtoGalaxyProver_(std::vector); + explicit ProtoGalaxyProver_(std::vector>); void prepare_for_folding(); - // TODO: implement this function ProverFoldingResult fold_instances(); }; + +extern template class ProtoGalaxyProver_; +extern template class ProtoGalaxyProver_; +extern template class ProtoGalaxyProver_; // the folding prover returns the new prover polynomials and the new public inputs(does the verifier do anything) } // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp index c9bd7e2b2a0..ca0507df274 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp @@ -1,9 +1,48 @@ #include "protogalaxy_verifier.hpp" +#include "barretenberg/honk/utils/grand_product_delta.hpp" namespace proof_system::honk { template -ProtoGalaxyVerifier_::ProtoGalaxyVerifier_(std::vector vks, std::vector proof_data) +ProtoGalaxyVerifier_::ProtoGalaxyVerifier_(std::vector> vks) +{ + uint32_t idx = 0; + for (const auto& vk : vks) { + VerifierInstance inst; + inst.verification_key = std::move(vk); + inst.index = idx; + verifier_instances.emplace_back(inst); + idx++; + } +} +template +VerifierFoldingResult ProtoGalaxyVerifier_::fold_public_parameters(std::vector fold_data) { - transcript = VerifierTranscript{ proof_data }; + transcript = VerifierTranscript{ fold_data }; + for (auto& inst : verifier_instances) { + auto idx = std::to_string(inst.index); + inst.circuit_size = transcript.template receive_from_prover(idx + "_circuit_size"); + inst.public_input_size = transcript.template receive_from_prover(idx + "_public_input_size"); + inst.pub_inputs_offset = transcript.template receive_from_prover(idx + "_pub_inputs_offset"); + + for (size_t i = 0; i < inst.public_input_size; ++i) { + auto public_input_i = + transcript.template receive_from_prover(idx + "public_input_" + std::to_string(i)); + inst.public_inputs.emplace_back(public_input_i); + } + auto eta = transcript.get_challenge(idx + "_eta"); + auto [beta, gamma] = transcript.get_challenges(idx + "_beta", idx + "_gamma"); + const FF public_input_delta = compute_public_input_delta( + inst.public_inputs, beta, gamma, inst.circuit_size, inst.pub_inputs_offset); + const FF lookup_grand_product_delta = compute_lookup_grand_product_delta(beta, gamma, inst.circuit_size); + inst.relation_parameters = + RelationParameters{ eta, beta, gamma, public_input_delta, lookup_grand_product_delta }; + verifier_instances.emplace_back(inst); + } + VerifierFoldingResult res; + return res; } + +template class ProtoGalaxyVerifier_; +template class ProtoGalaxyVerifier_; +template class ProtoGalaxyVerifier_; } // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp index df4146b67db..ce4236e85b1 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp @@ -1,16 +1,26 @@ +#pragma once +#include "barretenberg/honk/flavor/goblin_ultra.hpp" +#include "barretenberg/honk/flavor/ultra.hpp" +#include "barretenberg/honk/flavor/ultra_grumpkin.hpp" +#include "barretenberg/honk/instance/verifier_instance.hpp" +#include "barretenberg/honk/proof_system/folding_result.hpp" #include "barretenberg/honk/transcript/transcript.hpp" #include "barretenberg/proof_system/flavor/flavor.hpp" -#include "barretenberg/proof_system/folding_result.hpp" namespace proof_system::honk { template class ProtoGalaxyVerifier_ { public: using FF = typename Flavor::FF; using VerificationKey = typename Flavor::VerificationKey; + using VerifierInstance = VerifierInstance_; std::vector verifier_instances; VerifierTranscript transcript; - explicit ProtoGalaxyVerifier_(std::vector vks); - VerifierFoldingResult fold_public_parameters(); + explicit ProtoGalaxyVerifier_(std::vector> vks); + VerifierFoldingResult fold_public_parameters(std::vector fold_data); }; + +extern template class ProtoGalaxyVerifier_; +extern template class ProtoGalaxyVerifier_; +extern template class ProtoGalaxyVerifier_; } // namespace proof_system::honk \ No newline at end of file From 9ff0c23e5d5818b9ce89570601b0948c6b4636f1 Mon Sep 17 00:00:00 2001 From: maramihali Date: Mon, 11 Sep 2023 12:50:49 +0000 Subject: [PATCH 10/28] wip --- .../barretenberg/honk/instance/instance.cpp | 2 +- .../barretenberg/honk/instance/instance.hpp | 32 ++++---- .../honk/instance/verifier_instance.cpp | 0 .../honk/proof_system/folding_result.hpp | 19 ++++- .../honk/proof_system/protogalaxy_prover.cpp | 27 +++++-- .../proof_system/protogalaxy_verifier.cpp | 7 +- .../honk/proof_system/ultra_prover.hpp | 2 - .../honk/proof_system/ultra_verifier.cpp | 4 +- .../honk/transcript/transcript.hpp | 30 ++++---- .../honk/transcript/transcript.test.cpp | 77 ++++++++++++++++--- 10 files changed, 137 insertions(+), 63 deletions(-) delete mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp index 4dec56ca8db..fb257d9ec07 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp @@ -160,7 +160,7 @@ template void Instance_::construct_ecc_op_wire_poly { std::array op_wire_polynomials; for (auto& poly : op_wire_polynomials) { - poly = polynomial(dyadic_circuit_size); + poly = static_cast(dyadic_circuit_size); } // The ECC op wires are constructed to contain the op data on the appropriate range and to vanish everywhere else. diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp index a2230df10bb..fc9b9582dcf 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp @@ -2,22 +2,25 @@ #include "barretenberg/honk/flavor/goblin_ultra.hpp" #include "barretenberg/honk/flavor/ultra.hpp" #include "barretenberg/honk/flavor/ultra_grumpkin.hpp" +#include "barretenberg/honk/proof_system/folding_result.hpp" #include "barretenberg/proof_system/composer/composer_lib.hpp" #include "barretenberg/proof_system/flavor/flavor.hpp" #include "barretenberg/proof_system/relations/relation_parameters.hpp" #include "barretenberg/srs/factories/file_crs_factory.hpp" - #include #include #include #include namespace proof_system::honk { -// Need verifier instance as well -// An Instance is created from a Circuit and we ini tialise all the data structure that rely on information from a -// circuit Then a Prover and a Verifier is created from an Instance or several instances and each manages their own -// polynomials -// The responsability of a Prover is to commit, add to transcript while the Instance manages its polynomials -// TODO: we might wanna have a specialisaition of the Instance class for the Accumulator +/** + * @brief An Instance is normally constructed from a finalised circuit and it's role is to compute all the polynomials + * involved in creating a proof and, if requested, the verification key. + * In case of folded Instance, this will be created from the FoldingResult, the aggregated work from the folding prover + * and verifier. More specifically, a folded instance will be constructed from the complete set of folded polynomials + * and folded public inputs and its FoldingParams are expected to be non-zero + * + */ + template class Instance_ { public: using Circuit = typename Flavor::CircuitBuilder; @@ -39,9 +42,8 @@ template class Instance_ { ProverPolynomials prover_polynomials; - // After instances have been folded, the pub_inputs_offset will become irrelevant as it's used for computing the 4th - // wire polynomial and a folded instance does not care about wires anymore. - // Furthermore, folding limits us to having the same number of public inputs. + // The number of public inputs has to be the same for all instances because they are + // folded element by element. std::vector public_inputs; size_t pub_inputs_offset; @@ -68,11 +70,11 @@ template class Instance_ { compute_witness(circuit); } - Instance_(ProverPolynomials polys, std::vector public_inputs, std::shared_ptr vk) - : verification_key(std::move(vk)) - , prover_polynomials(polys) - , public_inputs(public_inputs) - {} + Instance_(FoldingResult result) + : verification_key(std::move(result.verification_key)) + , prover_polynomials(result.folded_prover_polynomials) + , public_inputs(result.folded_public_inputs) + , folding_params(result.params){}; Instance_(Instance_&& other) noexcept = default; Instance_(Instance_ const& other) noexcept = default; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.cpp deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp index a504a515566..95e5032bd8b 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp @@ -14,9 +14,24 @@ template struct VerifierFoldingResult { using FF = typename Flavor::FF; using VerificationKey = typename Flavor::VerificationKey; using FoldingParameters = typename Flavor::FoldingParameters; - // TODO: what happens to the public input offsets std::vector folded_public_inputs; - VerificationKey verification_key; + VerificationKey folded_verification_key; + FoldingParameters parameters; +}; + +/** + * @brief The aggregated result from the prover and verifier after a round of folding, used to create a new Instance. + * + * @tparam Flavor + */ +template struct FoldingResult { + using FF = typename Flavor::FF; + using ProverPolynomials = typename Flavor::ProverPolynomials; + using VerificationKey = typename Flavor::VerificationKey; + using FoldingParameters = typename Flavor::FoldingParameters; + ProverPolynomials folded_prover_polynomials; + std::vector folded_public_inputs; + std::shared_ptr verification_key; FoldingParameters params; }; } // namespace proof_system::honk \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp index ba70a46d0ed..1fdaa03d308 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp @@ -6,10 +6,12 @@ ProtoGalaxyProver_::ProtoGalaxyProver_(std::vector void ProtoGalaxyProver_::prepare_for_folding() { for (const auto& instance : instances) { @@ -21,21 +23,30 @@ template void ProtoGalaxyProver_::prepare_for_foldi transcript.send_to_verifier(instance_index + "_circuit_size", circuit_size); transcript.send_to_verifier(instance_index + "_public_input_size", num_public_inputs); - // transcript.send_to_verifier(instance_index + "_pub_inputs_offset", - // static_cast(instance.pub_inputs_offset)); + transcript.send_to_verifier(instance_index + "_pub_inputs_offset", + static_cast(instance->pub_inputs_offset)); for (size_t i = 0; i < instance->proving_key->num_public_inputs; ++i) { auto public_input_i = instance->public_inputs[i]; transcript.send_to_verifier(instance_index + "_public_input_" + std::to_string(i), public_input_i); } - auto eta = transcript.get_challenge(instance_index + "_eta"); + auto [eta, beta, gamma] = + transcript.get_challenges(instance_index + "_eta", instance_index + "_beta", instance_index + "_gamma"); instance->compute_sorted_accumulator_polynomials(eta); - auto [beta, gamma] = transcript.get_challenges(instance_index + "_beta", instance_index + "_gamma"); instance->compute_grand_product_polynomials(beta, gamma); } } +// TODO(#689): implement this function +template ProverFoldingResult ProtoGalaxyProver_::fold_instances() +{ + prepare_for_folding(); + ProverFoldingResult res; + res.folding_data = transcript.proof_data; + return res; +} + template class ProtoGalaxyProver_; template class ProtoGalaxyProver_; template class ProtoGalaxyProver_; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp index ca0507df274..315598f0c06 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp @@ -26,11 +26,10 @@ VerifierFoldingResult ProtoGalaxyVerifier_::fold_public_paramete for (size_t i = 0; i < inst.public_input_size; ++i) { auto public_input_i = - transcript.template receive_from_prover(idx + "public_input_" + std::to_string(i)); + transcript.template receive_from_prover(idx + "_public_input_" + std::to_string(i)); inst.public_inputs.emplace_back(public_input_i); } - auto eta = transcript.get_challenge(idx + "_eta"); - auto [beta, gamma] = transcript.get_challenges(idx + "_beta", idx + "_gamma"); + auto [eta, beta, gamma] = transcript.get_challenges(idx + "_eta", idx + "_beta", idx + "_gamma"); const FF public_input_delta = compute_public_input_delta( inst.public_inputs, beta, gamma, inst.circuit_size, inst.pub_inputs_offset); const FF lookup_grand_product_delta = compute_lookup_grand_product_delta(beta, gamma, inst.circuit_size); @@ -38,6 +37,8 @@ VerifierFoldingResult ProtoGalaxyVerifier_::fold_public_paramete RelationParameters{ eta, beta, gamma, public_input_delta, lookup_grand_product_delta }; verifier_instances.emplace_back(inst); } + + // TODO(#722): implement the Protogalaxy verifier logic VerifierFoldingResult res; return res; } diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp index 0690bbff481..50d3f1f11a5 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp @@ -30,7 +30,6 @@ template class UltraProver_ { void execute_wire_commitments_round(); void execute_sorted_list_accumulator_round(); void execute_grand_product_computation_round(); - void execute_commitment_finalisation_round(); void execute_relation_check_rounds(); void execute_univariatization_round(); void execute_pcs_evaluation_round(); @@ -60,7 +59,6 @@ template class UltraProver_ { Instance& instance; - // this should be ProverOutput sumcheck::SumcheckOutput sumcheck_output; pcs::gemini::ProverOutput gemini_output; pcs::shplonk::ProverOutput shplonk_output; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp index 586ac1bc4c2..0c8ce6d72b2 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp @@ -28,7 +28,7 @@ template UltraVerifier_& UltraVerifier_::opera } /** - * @brief This function verifies an Ultra Honk proof for given program settings. + * @brief This function verifies an Ultra Honk proof for a given Flavor. * */ template bool UltraVerifier_::verify_proof(const plonk::proof& proof) @@ -68,8 +68,6 @@ template bool UltraVerifier_::verify_proof(const plonk public_inputs.emplace_back(public_input_i); } - // up to here in the folding verifier as well - // Get commitments to first three wire polynomials commitments.w_l = transcript.template receive_from_prover(commitment_labels.w_l); commitments.w_r = transcript.template receive_from_prover(commitment_labels.w_r); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.hpp index ca36c393bde..4b99ce00b56 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.hpp @@ -130,8 +130,9 @@ template class BaseTranscript { public: /** - * @brief After all the prover messages have been sent, finalize the round by hashing all the data, create the field - * elements and reset the state in preparation for the next round. + * @brief After all the prover messages have been sent, finalize the round by hashing all the data and then create + * the number of requested challenges which will be increasing powers of the first challenge. Finally, reset the + * state in preparation for the next round. * * @param labels human-readable names for the challenges for the manifest * @return std::array challenges for this round. @@ -139,10 +140,6 @@ template class BaseTranscript { template std::array get_challenges(const Strings&... labels) { constexpr size_t num_challenges = sizeof...(Strings); - constexpr size_t bytes_per_challenge = HASH_OUTPUT_SIZE / num_challenges; - - // Ensure we have enough entropy from the hash function to construct each challenge. - static_assert(bytes_per_challenge >= MIN_BYTES_PER_CHALLENGE, "requested too many challenges in this round"); // Add challenge labels for current round to the manifest manifest.add_challenge(round_number, labels...); @@ -152,17 +149,16 @@ template class BaseTranscript { // Create challenges from bytes. std::array challenges{}; - for (size_t i = 0; i < num_challenges; ++i) { - // Initialize the buffer for the i-th challenge with 0s. - std::array field_element_buffer{}; - // Copy the i-th chunk of size `bytes_per_challenge` to the start of `field_element_buffer` - // The last bytes will be 0, - std::copy_n(next_challenge_buffer.begin() + i * bytes_per_challenge, - bytes_per_challenge, - field_element_buffer.begin()); - - // Create a FF element from a slice of bytes of next_challenge_buffer. - challenges[i] = from_buffer(field_element_buffer); + + std::array field_element_buffer{}; + std::copy_n(next_challenge_buffer.begin(), HASH_OUTPUT_SIZE, field_element_buffer.begin()); + + challenges[0] = from_buffer(field_element_buffer); + + // TODO(#583): rework the transcript to have a better structure and be able to produce a variable amount of + // challenges that are not powers of each other + for (size_t i = 1; i < num_challenges; i++) { + challenges[i] = challenges[i - 1] * challenges[0]; } // Prepare for next round. diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp index 40402023260..6f9c6c053e5 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp @@ -11,16 +11,25 @@ using namespace proof_system::honk; template class TranscriptTests : public testing::Test { - public: + protected: + // TODO(640): The Standard Honk on Grumpkin test suite fails unless the SRS is initialised for every test. + virtual void SetUp() + { + if constexpr (IsGrumpkinFlavor) { + barretenberg::srs::init_grumpkin_crs_factory("../srs_db/grumpkin"); + } else { + barretenberg::srs::init_crs_factory("../srs_db/ignition"); + } + }; + using FF = typename Flavor::FF; - static void SetUpTestSuite() { barretenberg::srs::init_crs_factory("../srs_db/ignition"); } /** * @brief Construct a manifest for a standard Honk proof * - * @details This is where we define the "Manifest" for a Standard Honk proof. The tests in this suite are intented - * to warn the developer if the Prover/Verifier has deviated from this manifest, however, the Transcript class is - * not otherwise contrained to follow the manifest. + * @details This is where we define the "Manifest" for a Standard Honk proof. The tests in this suite are + * intented to warn the developer if the Prover/Verifier has deviated from this manifest, however, the + * Transcript class is not otherwise contrained to follow the manifest. * * @note Entries in the manifest consist of a name string and a size (bytes), NOT actual data. * @@ -282,17 +291,16 @@ TYPED_TEST(TranscriptTests, VerifierMistake) * construction and the one generated by the verifier over the course of proof verification. * */ -// TODO(Mara): This is not a typed test and we should have a construct_ultra_honk_manifest as well. -TYPED_TEST(TranscriptTests, UltraVerifierManifestConsistency) +TEST(TranscriptTests, UltraVerifierManifestConsistency) { + barretenberg::srs::init_crs_factory("../srs_db/ignition"); + // Construct a simple circuit of size n = 8 (i.e. the minimum circuit size) auto circuit_constructor = proof_system::UltraCircuitBuilder(); - // fr a = 2; - // circuit_constructor.add_variable(a); - // circuit_constructor.add_public_variable(a); - - circuit_constructor.add_gates_to_ensure_all_polys_are_non_zero(); + fr a = 2; + circuit_constructor.add_variable(a); + circuit_constructor.add_public_variable(a); // Automatically generate a transcript manifest in the prover by constructing a proof auto composer = UltraComposer(); @@ -317,3 +325,48 @@ TYPED_TEST(TranscriptTests, UltraVerifierManifestConsistency) << "Prover/Verifier manifest discrepency in round " << round; } } + +TEST(TranscriptTests, FoldingManifestTest) +{ + barretenberg::srs::init_crs_factory("../srs_db/ignition"); + + auto builder_one = proof_system::UltraCircuitBuilder(); + fr a = 2; + fr b = 3; + builder_one.add_variable(a); + builder_one.add_public_variable(a); + builder_one.add_public_variable(b); + + auto builder_two = proof_system::UltraCircuitBuilder(); + a = 3; + b = 4; + builder_two.add_variable(a); + builder_two.add_variable(b); + builder_two.add_public_variable(a); + builder_two.add_public_variable(b); + + auto composer = UltraComposer(); + auto instance_one = composer.create_instance(builder_one); + auto instance_two = composer.create_instance(builder_two); + + std::vector> insts; + insts.emplace_back(std::make_shared(instance_one)); + insts.emplace_back(std::make_shared(instance_two)); + auto prover = composer.create_folding_prover(insts); + auto verifier = composer.create_folding_verifier(insts); + + auto prover_res = prover.fold_instances(); + verifier.fold_public_parameters(prover_res.folding_data); + + prover.transcript.print(); + verifier.transcript.print(); + + // Check consistency between the manifests generated by the prover and verifier + auto prover_manifest = prover.transcript.get_manifest(); + auto verifier_manifest = verifier.transcript.get_manifest(); + + for (size_t round = 0; round < prover_manifest.size(); ++round) { + ASSERT_EQ(prover_manifest[round], verifier_manifest[round]) + << "Prover/Verifier manifest discrepency in round " << round; + } +} From c76f0cdb3425a1f6272c67387d35f60110814214 Mon Sep 17 00:00:00 2001 From: maramihali Date: Mon, 11 Sep 2023 16:20:08 +0000 Subject: [PATCH 11/28] remove unwanted lines --- .../cpp/src/barretenberg/honk/composer/ultra_composer.hpp | 2 -- .../barretenberg/honk/proof_system/protogalaxy_prover.hpp | 5 +++++ .../barretenberg/honk/proof_system/protogalaxy_verifier.hpp | 5 +++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp index f5476754870..50488d21893 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp @@ -18,7 +18,6 @@ template class UltraComposer_ { public: using CircuitBuilder = typename Flavor::CircuitBuilder; using ProvingKey = typename Flavor::ProvingKey; - using ProverPolynomials = typename Flavor::ProverPolynomials; using VerificationKey = typename Flavor::VerificationKey; using PCS = typename Flavor::PCS; using CommitmentKey = typename Flavor::CommitmentKey; @@ -45,7 +44,6 @@ template class UltraComposer_ { : crs_factory_(std::move(crs_factory)) {} - // I don't really want this UltraComposer_(std::shared_ptr p_key, std::shared_ptr v_key) : proving_key(std::move(p_key)) , verification_key(std::move(v_key)) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp index a77f0d04712..ae6f20e8fa2 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp @@ -17,6 +17,11 @@ template class ProtoGalaxyProver_ { ProverTranscript transcript; explicit ProtoGalaxyProver_(std::vector>); + ProtoGalaxyProver_(ProtoGalaxyProver_&& other) noexcept = default; + ProtoGalaxyProver_(ProtoGalaxyProver_ const& other) noexcept = default; + ProtoGalaxyProver_& operator=(ProtoGalaxyProver_&& other) noexcept = default; + ProtoGalaxyProver_& operator=(ProtoGalaxyProver_ const& other) noexcept = default; + ~ProtoGalaxyProver_() = default; void prepare_for_folding(); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp index ce4236e85b1..6cb1a6c6569 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp @@ -17,6 +17,11 @@ template class ProtoGalaxyVerifier_ { VerifierTranscript transcript; explicit ProtoGalaxyVerifier_(std::vector> vks); + ProtoGalaxyVerifier_(ProtoGalaxyVerifier_&& other) noexcept = default; + ProtoGalaxyVerifier_(ProtoGalaxyVerifier_ const& other) noexcept = default; + ProtoGalaxyVerifier_& operator=(ProtoGalaxyVerifier_&& other) noexcept = default; + ProtoGalaxyVerifier_& operator=(ProtoGalaxyVerifier_ const& other) noexcept = default; + ~ProtoGalaxyVerifier_() = default; VerifierFoldingResult fold_public_parameters(std::vector fold_data); }; From 8c381230bff1ba3fdf4adee8c2f99b6a284680f1 Mon Sep 17 00:00:00 2001 From: maramihali Date: Mon, 11 Sep 2023 16:57:44 +0000 Subject: [PATCH 12/28] potentially fix test-ci --- .../barretenberg/honk/transcript/transcript.test.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp index 6f9c6c053e5..998bf40823f 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp @@ -286,14 +286,18 @@ TYPED_TEST(TranscriptTests, VerifierMistake) EXPECT_NE(prover_transcript.get_manifest(), verifier_transcript.get_manifest()); } +class UltraTranscriptTests : public ::testing::Test { + protected: + static void SetUpTestSuite() { barretenberg::srs::init_crs_factory("../srs_db/ignition"); } +}; + /** * @brief Ensure consistency between the manifest generated by the ultra honk prover over the course of proof * construction and the one generated by the verifier over the course of proof verification. * */ -TEST(TranscriptTests, UltraVerifierManifestConsistency) +TEST_F(UltraTranscriptTests, UltraVerifierManifestConsistency) { - barretenberg::srs::init_crs_factory("../srs_db/ignition"); // Construct a simple circuit of size n = 8 (i.e. the minimum circuit size) auto circuit_constructor = proof_system::UltraCircuitBuilder(); @@ -326,10 +330,8 @@ TEST(TranscriptTests, UltraVerifierManifestConsistency) } } -TEST(TranscriptTests, FoldingManifestTest) +TEST_F(UltraTranscriptTests, FoldingManifestTest) { - barretenberg::srs::init_crs_factory("../srs_db/ignition"); - auto builder_one = proof_system::UltraCircuitBuilder(); fr a = 2; fr b = 3; From 34a1da5ad3d6fe1aaa8e9d7185127ad4d2aaad19 Mon Sep 17 00:00:00 2001 From: maramihali Date: Mon, 11 Sep 2023 18:20:33 +0000 Subject: [PATCH 13/28] debug --- .../cpp/src/barretenberg/honk/transcript/transcript.test.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp index 998bf40823f..7843b291f47 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp @@ -288,7 +288,7 @@ TYPED_TEST(TranscriptTests, VerifierMistake) class UltraTranscriptTests : public ::testing::Test { protected: - static void SetUpTestSuite() { barretenberg::srs::init_crs_factory("../srs_db/ignition"); } + virtual void SetUp() { barretenberg::srs::init_crs_factory("../srs_db/ignition"); } }; /** @@ -366,7 +366,7 @@ TEST_F(UltraTranscriptTests, FoldingManifestTest) // Check consistency between the manifests generated by the prover and verifier auto prover_manifest = prover.transcript.get_manifest(); auto verifier_manifest = verifier.transcript.get_manifest(); - + info("retrieved maniferst and created everything"); for (size_t round = 0; round < prover_manifest.size(); ++round) { ASSERT_EQ(prover_manifest[round], verifier_manifest[round]) << "Prover/Verifier manifest discrepency in round " << round; From 88ea7048a80ea1b9e456d5d3ddbe00f2408019b1 Mon Sep 17 00:00:00 2001 From: maramihali Date: Tue, 12 Sep 2023 10:32:02 +0000 Subject: [PATCH 14/28] check crs_factor is null before initialising it --- .../cpp/barretenberg/cpp/CMakePresets.json | 2 +- .../honk/transcript/transcript.test.cpp | 59 ++++++++++--------- .../cpp/src/barretenberg/srs/global_crs.cpp | 8 ++- 3 files changed, 38 insertions(+), 31 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/CMakePresets.json b/circuits/cpp/barretenberg/cpp/CMakePresets.json index 6c709155e37..c602f6d8f87 100644 --- a/circuits/cpp/barretenberg/cpp/CMakePresets.json +++ b/circuits/cpp/barretenberg/cpp/CMakePresets.json @@ -44,7 +44,7 @@ "description": "Build with globally installed Clang-16 in debug mode", "inherits": "clang16", "environment": { - "CMAKE_BUILD_TYPE": "Debug" + "CMAKE_BUILD_TYPE": "Release" }, "cacheVariables": { "ENABLE_ASAN": "OFF", diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp index 7843b291f47..d8506d29eaa 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp @@ -287,8 +287,8 @@ TYPED_TEST(TranscriptTests, VerifierMistake) } class UltraTranscriptTests : public ::testing::Test { - protected: - virtual void SetUp() { barretenberg::srs::init_crs_factory("../srs_db/ignition"); } + public: + static void SetUpTestSuite() { barretenberg::srs::init_crs_factory("../srs_db/ignition"); } }; /** @@ -296,42 +296,43 @@ class UltraTranscriptTests : public ::testing::Test { * construction and the one generated by the verifier over the course of proof verification. * */ -TEST_F(UltraTranscriptTests, UltraVerifierManifestConsistency) -{ +// TEST_F(UltraTranscriptTests, UltraVerifierManifestConsistency) +// { - // Construct a simple circuit of size n = 8 (i.e. the minimum circuit size) - auto circuit_constructor = proof_system::UltraCircuitBuilder(); +// // Construct a simple circuit of size n = 8 (i.e. the minimum circuit size) +// auto circuit_constructor = proof_system::UltraCircuitBuilder(); - fr a = 2; - circuit_constructor.add_variable(a); - circuit_constructor.add_public_variable(a); +// fr a = 2; +// circuit_constructor.add_variable(a); +// circuit_constructor.add_public_variable(a); - // Automatically generate a transcript manifest in the prover by constructing a proof - auto composer = UltraComposer(); - auto instance = composer.create_instance(circuit_constructor); - auto prover = composer.create_prover(instance); - plonk::proof proof = prover.construct_proof(); +// // Automatically generate a transcript manifest in the prover by constructing a proof +// auto composer = UltraComposer(); +// auto instance = composer.create_instance(circuit_constructor); +// auto prover = composer.create_prover(instance); +// plonk::proof proof = prover.construct_proof(); - // Automatically generate a transcript manifest in the verifier by verifying a proof - auto verifier = composer.create_verifier(instance); - verifier.verify_proof(proof); +// // Automatically generate a transcript manifest in the verifier by verifying a proof +// auto verifier = composer.create_verifier(instance); +// verifier.verify_proof(proof); - prover.transcript.print(); - verifier.transcript.print(); +// prover.transcript.print(); +// verifier.transcript.print(); - // Check consistency between the manifests generated by the prover and verifier - auto prover_manifest = prover.transcript.get_manifest(); - auto verifier_manifest = verifier.transcript.get_manifest(); +// // Check consistency between the manifests generated by the prover and verifier +// auto prover_manifest = prover.transcript.get_manifest(); +// auto verifier_manifest = verifier.transcript.get_manifest(); - // Note: a manifest can be printed using manifest.print() - for (size_t round = 0; round < prover_manifest.size(); ++round) { - ASSERT_EQ(prover_manifest[round], verifier_manifest[round]) - << "Prover/Verifier manifest discrepency in round " << round; - } -} +// // Note: a manifest can be printed using manifest.print() +// for (size_t round = 0; round < prover_manifest.size(); ++round) { +// ASSERT_EQ(prover_manifest[round], verifier_manifest[round]) +// << "Prover/Verifier manifest discrepency in round " << round; +// } +// } TEST_F(UltraTranscriptTests, FoldingManifestTest) { + info("did I get here?"); auto builder_one = proof_system::UltraCircuitBuilder(); fr a = 2; fr b = 3; @@ -350,12 +351,14 @@ TEST_F(UltraTranscriptTests, FoldingManifestTest) auto composer = UltraComposer(); auto instance_one = composer.create_instance(builder_one); auto instance_two = composer.create_instance(builder_two); + info("created instances"); std::vector> insts; insts.emplace_back(std::make_shared(instance_one)); insts.emplace_back(std::make_shared(instance_two)); auto prover = composer.create_folding_prover(insts); auto verifier = composer.create_folding_verifier(insts); + info("created prover and verifier"); auto prover_res = prover.fold_instances(); verifier.fold_public_parameters(prover_res.folding_data); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/global_crs.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/global_crs.cpp index acd615b8b8a..ec9a2ba82b2 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/global_crs.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/global_crs.cpp @@ -14,13 +14,17 @@ namespace barretenberg::srs { // Initialises the crs using the memory buffers void init_crs_factory(std::vector const& points, g2::affine_element const g2_point) { - crs_factory = std::make_shared(points, g2_point); + if (!crs_factory) { + crs_factory = std::make_shared(points, g2_point); + } } // Initialises crs from a file path this we use in the entire codebase void init_crs_factory(std::string crs_path) { - crs_factory = std::make_shared>(crs_path); + if (!crs_factory) { + crs_factory = std::make_shared>(crs_path); + } } void init_grumpkin_crs_factory(std::string crs_path) From 1560d249bfa971a4ecfd3153eba6848df2061f97 Mon Sep 17 00:00:00 2001 From: maramihali Date: Tue, 12 Sep 2023 11:40:15 +0000 Subject: [PATCH 15/28] fix bug --- .../cpp/barretenberg/cpp/CMakePresets.json | 2 +- .../honk/composer/ultra_composer.cpp | 15 +++--- .../honk/composer/ultra_composer.hpp | 8 ++- .../honk/composer/ultra_composer.test.cpp | 7 +-- .../honk/proof_system/protogalaxy_prover.cpp | 1 + .../proof_system/protogalaxy_verifier.cpp | 3 +- .../honk/proof_system/ultra_prover.cpp | 54 +++++++++---------- .../honk/proof_system/ultra_prover.hpp | 4 +- .../sumcheck/relation_correctness.test.cpp | 44 +++++++-------- .../honk/sumcheck/sumcheck.test.cpp | 12 ++--- .../honk/transcript/transcript.test.cpp | 6 ++- .../cpp/src/barretenberg/srs/global_crs.cpp | 8 +-- .../recursion/honk/verifier/verifier.test.cpp | 6 +-- 13 files changed, 85 insertions(+), 85 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/CMakePresets.json b/circuits/cpp/barretenberg/cpp/CMakePresets.json index c602f6d8f87..6c709155e37 100644 --- a/circuits/cpp/barretenberg/cpp/CMakePresets.json +++ b/circuits/cpp/barretenberg/cpp/CMakePresets.json @@ -44,7 +44,7 @@ "description": "Build with globally installed Clang-16 in debug mode", "inherits": "clang16", "environment": { - "CMAKE_BUILD_TYPE": "Release" + "CMAKE_BUILD_TYPE": "Debug" }, "cacheVariables": { "ENABLE_ASAN": "OFF", diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp index 83c7366d3c2..208fde70383 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp @@ -5,26 +5,29 @@ namespace proof_system::honk { -template Instance_ UltraComposer_::create_instance(CircuitBuilder& circuit) +template +std::shared_ptr> UltraComposer_::create_instance(CircuitBuilder& circuit) { circuit.add_gates_to_ensure_all_polys_are_non_zero(); circuit.finalize_circuit(); - Instance instance = Instance(circuit); - instance.commitment_key = compute_commitment_key(instance.proving_key->circuit_size); + auto instance = std::make_shared(circuit); + instance->commitment_key = compute_commitment_key(instance->proving_key->circuit_size); return instance; } -template UltraProver_ UltraComposer_::create_prover(Instance& instance) +template +UltraProver_ UltraComposer_::create_prover(std::shared_ptr instance) { UltraProver_ output_state(instance); return output_state; } -template UltraVerifier_ UltraComposer_::create_verifier(Instance& instance) +template +UltraVerifier_ UltraComposer_::create_verifier(std::shared_ptr instance) { // for the folding composer we compute the commitment keys here! - auto verification_key = instance.compute_verification_key(); + auto verification_key = instance->compute_verification_key(); // change this it's clunky and inconsistent UltraVerifier_ output_state(verification_key); auto pcs_verification_key = std::make_unique(verification_key->circuit_size, crs_factory_); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp index 50488d21893..88baeab5c05 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp @@ -65,12 +65,10 @@ template class UltraComposer_ { return commitment_key; }; - Instance create_instance(CircuitBuilder& circuit); - // this needs to change - Instance create_instance(std::shared_ptr p_key, std::shared_ptr v_key); + std::shared_ptr create_instance(CircuitBuilder& circuit); - UltraProver_ create_prover(Instance&); - UltraVerifier_ create_verifier(Instance&); + UltraProver_ create_prover(std::shared_ptr); + UltraVerifier_ create_verifier(std::shared_ptr); ProtoGalaxyProver_ create_folding_prover(std::vector>); ProtoGalaxyVerifier_ create_folding_verifier(std::vector>); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp index 64f52db9dbd..fff0fffa487 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp @@ -73,16 +73,17 @@ TEST_F(UltraHonkComposerTests, ANonZeroPolynomialIsAGoodPolynomial) auto instance = composer.create_instance(circuit_builder); auto prover = composer.create_prover(instance); auto proof = prover.construct_proof(); + auto proving_key = instance->proving_key; - for (auto& poly : instance.proving_key->get_selectors()) { + for (auto& poly : proving_key->get_selectors()) { ensure_non_zero(poly); } - for (auto& poly : instance.proving_key->get_table_polynomials()) { + for (auto& poly : proving_key->get_table_polynomials()) { ensure_non_zero(poly); } - for (auto& poly : instance.proving_key->get_wires()) { + for (auto& poly : proving_key->get_wires()) { ensure_non_zero(poly); } } diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp index 1fdaa03d308..f15653062c8 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp @@ -42,6 +42,7 @@ template void ProtoGalaxyProver_::prepare_for_foldi template ProverFoldingResult ProtoGalaxyProver_::fold_instances() { prepare_for_folding(); + info("did folding prover prep"); ProverFoldingResult res; res.folding_data = transcript.proof_data; return res; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp index 315598f0c06..1bc4ff3d301 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp @@ -35,10 +35,9 @@ VerifierFoldingResult ProtoGalaxyVerifier_::fold_public_paramete const FF lookup_grand_product_delta = compute_lookup_grand_product_delta(beta, gamma, inst.circuit_size); inst.relation_parameters = RelationParameters{ eta, beta, gamma, public_input_delta, lookup_grand_product_delta }; - verifier_instances.emplace_back(inst); } - // TODO(#722): implement the Protogalaxy verifier logic + // TODO(#690): implement the Protogalaxy verifier logic VerifierFoldingResult res; return res; } diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp index f50a23b498f..eb4a5a1ca60 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp @@ -18,12 +18,12 @@ namespace proof_system::honk { * @tparam a type of UltraFlavor * */ template -UltraProver_::UltraProver_(Instance& inst) - : queue(inst.commitment_key, transcript) - , instance(inst) - , pcs_commitment_key(instance.commitment_key) +UltraProver_::UltraProver_(std::shared_ptr inst) + : queue(inst->commitment_key, transcript) + , instance(std::move(inst)) + , pcs_commitment_key(instance->commitment_key) { - instance.initialise_prover_polynomials(); + instance->initialise_prover_polynomials(); } /** @@ -32,15 +32,15 @@ UltraProver_::UltraProver_(Instance& inst) */ template void UltraProver_::execute_preamble_round() { - const auto circuit_size = static_cast(instance.proving_key->circuit_size); - const auto num_public_inputs = static_cast(instance.proving_key->num_public_inputs); + const auto circuit_size = static_cast(instance->proving_key->circuit_size); + const auto num_public_inputs = static_cast(instance->proving_key->num_public_inputs); transcript.send_to_verifier("circuit_size", circuit_size); transcript.send_to_verifier("public_input_size", num_public_inputs); - transcript.send_to_verifier("pub_inputs_offset", static_cast(instance.pub_inputs_offset)); + transcript.send_to_verifier("pub_inputs_offset", static_cast(instance->pub_inputs_offset)); - for (size_t i = 0; i < instance.proving_key->num_public_inputs; ++i) { - auto public_input_i = instance.public_inputs[i]; + for (size_t i = 0; i < instance->proving_key->num_public_inputs; ++i) { + auto public_input_i = instance->public_inputs[i]; transcript.send_to_verifier("public_input_" + std::to_string(i), public_input_i); } } @@ -53,14 +53,14 @@ template void UltraProver_::execute_wire_commitment { // Commit to the first three wire polynomials // We only commit to the fourth wire polynomial after adding memory records - auto wire_polys = instance.proving_key->get_wires(); + auto wire_polys = instance->proving_key->get_wires(); auto labels = commitment_labels.get_wires(); for (size_t idx = 0; idx < 3; ++idx) { queue.add_commitment(wire_polys[idx], labels[idx]); } if constexpr (IsGoblinFlavor) { - auto op_wire_polys = instance.proving_key->get_ecc_op_wires(); + auto op_wire_polys = instance->proving_key->get_ecc_op_wires(); auto labels = commitment_labels.get_ecc_op_wires(); for (size_t idx = 0; idx < Flavor::NUM_WIRES; ++idx) { queue.add_commitment(op_wire_polys[idx], labels[idx]); @@ -76,12 +76,12 @@ template void UltraProver_::execute_sorted_list_acc { auto eta = transcript.get_challenge("eta"); - instance.compute_sorted_accumulator_polynomials(eta); + instance->compute_sorted_accumulator_polynomials(eta); // Commit to the sorted withness-table accumulator and the finalised (i.e. with memory records) fourth wire // polynomial - queue.add_commitment(instance.proving_key->sorted_accum, commitment_labels.sorted_accum); - queue.add_commitment(instance.proving_key->w_4, commitment_labels.w_4); + queue.add_commitment(instance->proving_key->sorted_accum, commitment_labels.sorted_accum); + queue.add_commitment(instance->proving_key->w_4, commitment_labels.w_4); } /** @@ -93,10 +93,10 @@ template void UltraProver_::execute_grand_product_c // Compute and store parameters required by relations in Sumcheck auto [beta, gamma] = transcript.get_challenges("beta", "gamma"); - instance.compute_grand_product_polynomials(beta, gamma); + instance->compute_grand_product_polynomials(beta, gamma); - queue.add_commitment(instance.proving_key->z_perm, commitment_labels.z_perm); - queue.add_commitment(instance.proving_key->z_lookup, commitment_labels.z_lookup); + queue.add_commitment(instance->proving_key->z_perm, commitment_labels.z_perm); + queue.add_commitment(instance->proving_key->z_lookup, commitment_labels.z_lookup); } /** @@ -107,9 +107,9 @@ template void UltraProver_::execute_relation_check_ { using Sumcheck = sumcheck::SumcheckProver; - auto sumcheck = Sumcheck(instance.proving_key->circuit_size, transcript); + auto sumcheck = Sumcheck(instance->proving_key->circuit_size, transcript); - sumcheck_output = sumcheck.prove(instance.prover_polynomials, instance.relation_parameters); + sumcheck_output = sumcheck.prove(instance->prover_polynomials, instance->relation_parameters); } /** @@ -126,15 +126,15 @@ template void UltraProver_::execute_univariatizatio std::vector rhos = pcs::gemini::powers_of_rho(rho, NUM_POLYNOMIALS); // Batch the unshifted polynomials and the to-be-shifted polynomials using ρ - Polynomial batched_poly_unshifted(instance.proving_key->circuit_size); // batched unshifted polynomials - size_t poly_idx = 0; // TODO(#391) zip - for (auto& unshifted_poly : instance.prover_polynomials.get_unshifted()) { + Polynomial batched_poly_unshifted(instance->proving_key->circuit_size); // batched unshifted polynomials + size_t poly_idx = 0; // TODO(#391) zip + for (auto& unshifted_poly : instance->prover_polynomials.get_unshifted()) { batched_poly_unshifted.add_scaled(unshifted_poly, rhos[poly_idx]); ++poly_idx; } - Polynomial batched_poly_to_be_shifted(instance.proving_key->circuit_size); // batched to-be-shifted polynomials - for (auto& to_be_shifted_poly : instance.prover_polynomials.get_to_be_shifted()) { + Polynomial batched_poly_to_be_shifted(instance->proving_key->circuit_size); // batched to-be-shifted polynomials + for (auto& to_be_shifted_poly : instance->prover_polynomials.get_to_be_shifted()) { batched_poly_to_be_shifted.add_scaled(to_be_shifted_poly, rhos[poly_idx]); ++poly_idx; }; @@ -144,7 +144,7 @@ template void UltraProver_::execute_univariatizatio sumcheck_output.challenge_point, std::move(batched_poly_unshifted), std::move(batched_poly_to_be_shifted)); // Compute and add to trasnscript the commitments [Fold^(i)], i = 1, ..., d-1 - for (size_t l = 0; l < instance.proving_key->log_circuit_size - 1; ++l) { + for (size_t l = 0; l < instance->proving_key->log_circuit_size - 1; ++l) { queue.add_commitment(gemini_polynomials[l + 2], "Gemini:FOLD_" + std::to_string(l + 1)); } } @@ -161,7 +161,7 @@ template void UltraProver_::execute_pcs_evaluation_ gemini_output = Gemini::compute_fold_polynomial_evaluations( sumcheck_output.challenge_point, std::move(gemini_polynomials), r_challenge); - for (size_t l = 0; l < instance.proving_key->log_circuit_size; ++l) { + for (size_t l = 0; l < instance->proving_key->log_circuit_size; ++l) { std::string label = "Gemini:a_" + std::to_string(l); const auto& evaluation = gemini_output.opening_pairs[l + 1].evaluation; transcript.send_to_verifier(label, evaluation); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp index 50d3f1f11a5..b5249ab45a0 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp @@ -25,7 +25,7 @@ template class UltraProver_ { using Instance = Instance_; public: - explicit UltraProver_(Instance&); + explicit UltraProver_(std::shared_ptr); void execute_preamble_round(); void execute_wire_commitments_round(); void execute_sorted_list_accumulator_round(); @@ -57,7 +57,7 @@ template class UltraProver_ { work_queue queue; - Instance& instance; + std::shared_ptr instance; sumcheck::SumcheckOutput sumcheck_output; pcs::gemini::ProverOutput gemini_output; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp index e0178645ee5..bc933b1a88b 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp @@ -308,23 +308,23 @@ TEST_F(RelationCorrectnessTests, UltraRelationCorrectness) // Create a prover (it will compute proving key and witness) auto composer = UltraComposer(); auto instance = composer.create_instance(builder); - auto circuit_size = instance.proving_key->circuit_size; + auto circuit_size = instance->proving_key->circuit_size; // Generate eta, beta and gamma fr eta = fr::random_element(); fr beta = fr::random_element(); fr gamma = fr::random_element(); - instance.initialise_prover_polynomials(); - instance.compute_sorted_accumulator_polynomials(eta); - instance.compute_grand_product_polynomials(beta, gamma); + instance->initialise_prover_polynomials(); + instance->compute_sorted_accumulator_polynomials(eta); + instance->compute_grand_product_polynomials(beta, gamma); // Check that selectors are nonzero to ensure corresponding relation has nontrivial contribution - ensure_non_zero(instance.proving_key->q_arith); - ensure_non_zero(instance.proving_key->q_sort); - ensure_non_zero(instance.proving_key->q_lookup); - ensure_non_zero(instance.proving_key->q_elliptic); - ensure_non_zero(instance.proving_key->q_aux); + ensure_non_zero(instance->proving_key->q_arith); + ensure_non_zero(instance->proving_key->q_sort); + ensure_non_zero(instance->proving_key->q_lookup); + ensure_non_zero(instance->proving_key->q_elliptic); + ensure_non_zero(instance->proving_key->q_aux); // Construct the round for applying sumcheck relations and results for storing computed results auto relations = std::tuple(proof_system::UltraArithmeticRelation(), @@ -334,8 +334,8 @@ TEST_F(RelationCorrectnessTests, UltraRelationCorrectness) proof_system::EllipticRelation(), proof_system::AuxiliaryRelation()); - auto prover_polynomials = instance.prover_polynomials; - auto params = instance.relation_parameters; + auto prover_polynomials = instance->prover_polynomials; + auto params = instance->relation_parameters; // Check that each relation is satisfied across each row of the prover polynomials check_relation(std::get<0>(relations), circuit_size, prover_polynomials, params); check_relation(std::get<1>(relations), circuit_size, prover_polynomials, params); @@ -365,23 +365,23 @@ TEST_F(RelationCorrectnessTests, GoblinUltraRelationCorrectness) // Create a prover (it will compute proving key and witness) auto composer = GoblinUltraComposer(); auto instance = composer.create_instance(builder); - auto circuit_size = instance.proving_key->circuit_size; + auto circuit_size = instance->proving_key->circuit_size; // Generate eta, beta and gamma fr eta = fr::random_element(); fr beta = fr::random_element(); fr gamma = fr::random_element(); - instance.initialise_prover_polynomials(); - instance.compute_sorted_accumulator_polynomials(eta); - instance.compute_grand_product_polynomials(beta, gamma); + instance->initialise_prover_polynomials(); + instance->compute_sorted_accumulator_polynomials(eta); + instance->compute_grand_product_polynomials(beta, gamma); // Check that selectors are nonzero to ensure corresponding relation has nontrivial contribution - ensure_non_zero(instance.proving_key->q_arith); - ensure_non_zero(instance.proving_key->q_sort); - ensure_non_zero(instance.proving_key->q_lookup); - ensure_non_zero(instance.proving_key->q_elliptic); - ensure_non_zero(instance.proving_key->q_aux); + ensure_non_zero(instance->proving_key->q_arith); + ensure_non_zero(instance->proving_key->q_sort); + ensure_non_zero(instance->proving_key->q_lookup); + ensure_non_zero(instance->proving_key->q_elliptic); + ensure_non_zero(instance->proving_key->q_aux); // Construct the round for applying sumcheck relations and results for storing computed results auto relations = std::tuple(proof_system::UltraArithmeticRelation(), @@ -392,8 +392,8 @@ TEST_F(RelationCorrectnessTests, GoblinUltraRelationCorrectness) proof_system::AuxiliaryRelation(), proof_system::EccOpQueueRelation()); - auto prover_polynomials = instance.prover_polynomials; - auto params = instance.relation_parameters; + auto prover_polynomials = instance->prover_polynomials; + auto params = instance->relation_parameters; // Check that each relation is satisfied across each row of the prover polynomials check_relation(std::get<0>(relations), circuit_size, prover_polynomials, params); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp index e84f38c3745..0035e09b811 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp @@ -612,22 +612,22 @@ TEST_F(SumcheckTests, RealCircuitUltra) fr beta = fr::random_element(); fr gamma = fr::random_element(); - instance.initialise_prover_polynomials(); - instance.compute_sorted_accumulator_polynomials(eta); - instance.compute_grand_product_polynomials(beta, gamma); + instance->initialise_prover_polynomials(); + instance->compute_sorted_accumulator_polynomials(eta); + instance->compute_grand_product_polynomials(beta, gamma); auto prover_transcript = ProverTranscript::init_empty(); - auto circuit_size = instance.proving_key->circuit_size; + auto circuit_size = instance->proving_key->circuit_size; auto sumcheck_prover = SumcheckProver(circuit_size, prover_transcript); - auto prover_output = sumcheck_prover.prove(instance.prover_polynomials, instance.relation_parameters); + auto prover_output = sumcheck_prover.prove(instance->prover_polynomials, instance->relation_parameters); auto verifier_transcript = VerifierTranscript::init_empty(prover_transcript); auto sumcheck_verifier = SumcheckVerifier(circuit_size); - std::optional verifier_output = sumcheck_verifier.verify(instance.relation_parameters, verifier_transcript); + std::optional verifier_output = sumcheck_verifier.verify(instance->relation_parameters, verifier_transcript); ASSERT_TRUE(verifier_output.has_value()); } diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp index d8506d29eaa..b1bc0902e56 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp @@ -354,14 +354,16 @@ TEST_F(UltraTranscriptTests, FoldingManifestTest) info("created instances"); std::vector> insts; - insts.emplace_back(std::make_shared(instance_one)); - insts.emplace_back(std::make_shared(instance_two)); + insts.emplace_back(instance_one); + insts.emplace_back(instance_two); auto prover = composer.create_folding_prover(insts); auto verifier = composer.create_folding_verifier(insts); info("created prover and verifier"); auto prover_res = prover.fold_instances(); + info("folded"); verifier.fold_public_parameters(prover_res.folding_data); + info("verified"); prover.transcript.print(); verifier.transcript.print(); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/global_crs.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/global_crs.cpp index ec9a2ba82b2..acd615b8b8a 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/global_crs.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/global_crs.cpp @@ -14,17 +14,13 @@ namespace barretenberg::srs { // Initialises the crs using the memory buffers void init_crs_factory(std::vector const& points, g2::affine_element const g2_point) { - if (!crs_factory) { - crs_factory = std::make_shared(points, g2_point); - } + crs_factory = std::make_shared(points, g2_point); } // Initialises crs from a file path this we use in the entire codebase void init_crs_factory(std::string crs_path) { - if (!crs_factory) { - crs_factory = std::make_shared>(crs_path); - } + crs_factory = std::make_shared>(crs_path); } void init_grumpkin_crs_factory(std::string crs_path) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp index ff332b05ff4..ed46293cf95 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp @@ -116,10 +116,10 @@ template class RecursiveVerifierTest : public testing:: auto prover = inner_composer.create_prover(instance); auto proof_to_recursively_verify = prover.construct_proof(); - info("Inner circuit size = ", instance.proving_key->circuit_size); + info("Inner circuit size = ", instance->proving_key->circuit_size); // Compute native verification key - const auto native_verification_key = instance.compute_verification_key(); + const auto native_verification_key = instance->compute_verification_key(); // Instantiate the recursive verification key from the native verification key auto verification_key = std::make_shared(&outer_builder, native_verification_key); @@ -190,7 +190,7 @@ template class RecursiveVerifierTest : public testing:: InnerComposer inner_composer; auto instance = inner_composer.create_instance(inner_circuit); auto prover = inner_composer.create_prover(instance); // A prerequisite for computing VK - const auto native_verification_key = instance.compute_verification_key(); + const auto native_verification_key = instance->compute_verification_key(); // Instantiate the recursive verification key from the native verification key auto verification_key = std::make_shared(&outer_circuit, native_verification_key); From fc4880fc6be4e44973140120a57328025936e34e Mon Sep 17 00:00:00 2001 From: maramihali Date: Tue, 12 Sep 2023 13:37:34 +0000 Subject: [PATCH 16/28] remove info statements --- .../honk/composer/ultra_composer.hpp | 1 - .../honk/proof_system/ultra_prover.cpp | 7 ++- .../sumcheck/relation_correctness.test.cpp | 26 +++++---- .../honk/transcript/transcript.test.cpp | 58 +++++++++---------- 4 files changed, 44 insertions(+), 48 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp index 88baeab5c05..4920fcf2469 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp @@ -32,7 +32,6 @@ template class UltraComposer_ { std::shared_ptr proving_key; std::shared_ptr verification_key; - // The composer manages the commitment key! // The crs_factory holds the path to the srs and exposes methods to extract the srs elements std::shared_ptr> crs_factory_; // The commitment key is passed to the prover but also used herein to compute the verfication key commitments diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp index eb4a5a1ca60..db3ed710802 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp @@ -32,14 +32,15 @@ UltraProver_::UltraProver_(std::shared_ptr inst) */ template void UltraProver_::execute_preamble_round() { - const auto circuit_size = static_cast(instance->proving_key->circuit_size); - const auto num_public_inputs = static_cast(instance->proving_key->num_public_inputs); + auto proving_key = instance->proving_key; + const auto circuit_size = static_cast(proving_key->circuit_size); + const auto num_public_inputs = static_cast(proving_key->num_public_inputs); transcript.send_to_verifier("circuit_size", circuit_size); transcript.send_to_verifier("public_input_size", num_public_inputs); transcript.send_to_verifier("pub_inputs_offset", static_cast(instance->pub_inputs_offset)); - for (size_t i = 0; i < instance->proving_key->num_public_inputs; ++i) { + for (size_t i = 0; i < proving_key->num_public_inputs; ++i) { auto public_input_i = instance->public_inputs[i]; transcript.send_to_verifier("public_input_" + std::to_string(i), public_input_i); } diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp index bc933b1a88b..0f7998116a7 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp @@ -308,7 +308,8 @@ TEST_F(RelationCorrectnessTests, UltraRelationCorrectness) // Create a prover (it will compute proving key and witness) auto composer = UltraComposer(); auto instance = composer.create_instance(builder); - auto circuit_size = instance->proving_key->circuit_size; + auto proving_key = instance->proving_key; + auto circuit_size = proving_key->circuit_size; // Generate eta, beta and gamma fr eta = fr::random_element(); @@ -320,11 +321,11 @@ TEST_F(RelationCorrectnessTests, UltraRelationCorrectness) instance->compute_grand_product_polynomials(beta, gamma); // Check that selectors are nonzero to ensure corresponding relation has nontrivial contribution - ensure_non_zero(instance->proving_key->q_arith); - ensure_non_zero(instance->proving_key->q_sort); - ensure_non_zero(instance->proving_key->q_lookup); - ensure_non_zero(instance->proving_key->q_elliptic); - ensure_non_zero(instance->proving_key->q_aux); + ensure_non_zero(proving_key->q_arith); + ensure_non_zero(proving_key->q_sort); + ensure_non_zero(proving_key->q_lookup); + ensure_non_zero(proving_key->q_elliptic); + ensure_non_zero(proving_key->q_aux); // Construct the round for applying sumcheck relations and results for storing computed results auto relations = std::tuple(proof_system::UltraArithmeticRelation(), @@ -365,7 +366,8 @@ TEST_F(RelationCorrectnessTests, GoblinUltraRelationCorrectness) // Create a prover (it will compute proving key and witness) auto composer = GoblinUltraComposer(); auto instance = composer.create_instance(builder); - auto circuit_size = instance->proving_key->circuit_size; + auto proving_key = instance->proving_key; + auto circuit_size = proving_key->circuit_size; // Generate eta, beta and gamma fr eta = fr::random_element(); @@ -377,11 +379,11 @@ TEST_F(RelationCorrectnessTests, GoblinUltraRelationCorrectness) instance->compute_grand_product_polynomials(beta, gamma); // Check that selectors are nonzero to ensure corresponding relation has nontrivial contribution - ensure_non_zero(instance->proving_key->q_arith); - ensure_non_zero(instance->proving_key->q_sort); - ensure_non_zero(instance->proving_key->q_lookup); - ensure_non_zero(instance->proving_key->q_elliptic); - ensure_non_zero(instance->proving_key->q_aux); + ensure_non_zero(proving_key->q_arith); + ensure_non_zero(proving_key->q_sort); + ensure_non_zero(proving_key->q_lookup); + ensure_non_zero(proving_key->q_elliptic); + ensure_non_zero(proving_key->q_aux); // Construct the round for applying sumcheck relations and results for storing computed results auto relations = std::tuple(proof_system::UltraArithmeticRelation(), diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp index b1bc0902e56..b5de9cb4eb0 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp @@ -296,43 +296,42 @@ class UltraTranscriptTests : public ::testing::Test { * construction and the one generated by the verifier over the course of proof verification. * */ -// TEST_F(UltraTranscriptTests, UltraVerifierManifestConsistency) -// { +TEST_F(UltraTranscriptTests, UltraVerifierManifestConsistency) +{ -// // Construct a simple circuit of size n = 8 (i.e. the minimum circuit size) -// auto circuit_constructor = proof_system::UltraCircuitBuilder(); + // Construct a simple circuit of size n = 8 (i.e. the minimum circuit size) + auto circuit_constructor = proof_system::UltraCircuitBuilder(); -// fr a = 2; -// circuit_constructor.add_variable(a); -// circuit_constructor.add_public_variable(a); + fr a = 2; + circuit_constructor.add_variable(a); + circuit_constructor.add_public_variable(a); -// // Automatically generate a transcript manifest in the prover by constructing a proof -// auto composer = UltraComposer(); -// auto instance = composer.create_instance(circuit_constructor); -// auto prover = composer.create_prover(instance); -// plonk::proof proof = prover.construct_proof(); + // Automatically generate a transcript manifest in the prover by constructing a proof + auto composer = UltraComposer(); + auto instance = composer.create_instance(circuit_constructor); + auto prover = composer.create_prover(instance); + plonk::proof proof = prover.construct_proof(); -// // Automatically generate a transcript manifest in the verifier by verifying a proof -// auto verifier = composer.create_verifier(instance); -// verifier.verify_proof(proof); + // Automatically generate a transcript manifest in the verifier by verifying a proof + auto verifier = composer.create_verifier(instance); + verifier.verify_proof(proof); -// prover.transcript.print(); -// verifier.transcript.print(); + prover.transcript.print(); + verifier.transcript.print(); -// // Check consistency between the manifests generated by the prover and verifier -// auto prover_manifest = prover.transcript.get_manifest(); -// auto verifier_manifest = verifier.transcript.get_manifest(); + // Check consistency between the manifests generated by the prover and verifier + auto prover_manifest = prover.transcript.get_manifest(); + auto verifier_manifest = verifier.transcript.get_manifest(); -// // Note: a manifest can be printed using manifest.print() -// for (size_t round = 0; round < prover_manifest.size(); ++round) { -// ASSERT_EQ(prover_manifest[round], verifier_manifest[round]) -// << "Prover/Verifier manifest discrepency in round " << round; -// } -// } + // Note: a manifest can be printed using manifest.print() + for (size_t round = 0; round < prover_manifest.size(); ++round) { + ASSERT_EQ(prover_manifest[round], verifier_manifest[round]) + << "Prover/Verifier manifest discrepency in round " << round; + } +} TEST_F(UltraTranscriptTests, FoldingManifestTest) { - info("did I get here?"); auto builder_one = proof_system::UltraCircuitBuilder(); fr a = 2; fr b = 3; @@ -351,19 +350,15 @@ TEST_F(UltraTranscriptTests, FoldingManifestTest) auto composer = UltraComposer(); auto instance_one = composer.create_instance(builder_one); auto instance_two = composer.create_instance(builder_two); - info("created instances"); std::vector> insts; insts.emplace_back(instance_one); insts.emplace_back(instance_two); auto prover = composer.create_folding_prover(insts); auto verifier = composer.create_folding_verifier(insts); - info("created prover and verifier"); auto prover_res = prover.fold_instances(); - info("folded"); verifier.fold_public_parameters(prover_res.folding_data); - info("verified"); prover.transcript.print(); verifier.transcript.print(); @@ -371,7 +366,6 @@ TEST_F(UltraTranscriptTests, FoldingManifestTest) // Check consistency between the manifests generated by the prover and verifier auto prover_manifest = prover.transcript.get_manifest(); auto verifier_manifest = verifier.transcript.get_manifest(); - info("retrieved maniferst and created everything"); for (size_t round = 0; round < prover_manifest.size(); ++round) { ASSERT_EQ(prover_manifest[round], verifier_manifest[round]) << "Prover/Verifier manifest discrepency in round " << round; From 4e11ee8a14376b552e46cf7f830b95410a3c33b5 Mon Sep 17 00:00:00 2001 From: maramihali Date: Wed, 13 Sep 2023 11:14:14 +0000 Subject: [PATCH 17/28] cleanup of namings --- .../sumcheck/relation_correctness.test.cpp | 8 +- .../honk/sumcheck/sumcheck.test.cpp | 116 +++++++++--------- .../honk/transcript/transcript.test.cpp | 26 ++-- 3 files changed, 74 insertions(+), 76 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp index 0f7998116a7..f4bc1e10160 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp @@ -220,13 +220,13 @@ TEST_F(RelationCorrectnessTests, StandardRelationCorrectness) using ProverPolynomials = typename Flavor::ProverPolynomials; // Create a composer and a dummy circuit with a few gates - auto circuit_constructor = StandardCircuitBuilder(); + auto builder = StandardCircuitBuilder(); - create_some_add_gates(circuit_constructor); + create_some_add_gates(builder); // Create a prover (it will compute proving key and witness) auto composer = StandardComposer(); - auto prover = composer.create_prover(circuit_constructor); + auto prover = composer.create_prover(builder); auto circuit_size = prover.key->circuit_size; // Generate beta and gamma @@ -234,7 +234,7 @@ TEST_F(RelationCorrectnessTests, StandardRelationCorrectness) fr gamma = fr::random_element(); // Compute public input delta - const auto public_inputs = circuit_constructor.get_public_inputs(); + const auto public_inputs = builder.get_public_inputs(); auto public_input_delta = honk::compute_public_input_delta(public_inputs, beta, gamma, prover.key->circuit_size); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp index 0035e09b811..5efd3669c9f 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp @@ -411,31 +411,30 @@ TEST_F(SumcheckTests, RealCircuitStandard) using ProverPolynomials = typename Flavor::ProverPolynomials; // Create a composer and a dummy circuit with a few gates - auto circuit_constructor = StandardCircuitBuilder(); + auto builder = StandardCircuitBuilder(); fr a = fr::one(); // Using the public variable to check that public_input_delta is computed and added to the relation correctly - uint32_t a_idx = circuit_constructor.add_public_variable(a); + uint32_t a_idx = builder.add_public_variable(a); fr b = fr::one(); fr c = a + b; fr d = a + c; - uint32_t b_idx = circuit_constructor.add_variable(b); - uint32_t c_idx = circuit_constructor.add_variable(c); - uint32_t d_idx = circuit_constructor.add_variable(d); + uint32_t b_idx = builder.add_variable(b); + uint32_t c_idx = builder.add_variable(c); + uint32_t d_idx = builder.add_variable(d); for (size_t i = 0; i < 16; i++) { - circuit_constructor.create_add_gate({ a_idx, b_idx, c_idx, fr::one(), fr::one(), fr::neg_one(), fr::zero() }); - circuit_constructor.create_add_gate( - { d_idx, c_idx, a_idx, fr::one(), fr::neg_one(), fr::neg_one(), fr::zero() }); + builder.create_add_gate({ a_idx, b_idx, c_idx, fr::one(), fr::one(), fr::neg_one(), fr::zero() }); + builder.create_add_gate({ d_idx, c_idx, a_idx, fr::one(), fr::neg_one(), fr::neg_one(), fr::zero() }); } // Create a prover (it will compute proving key and witness) auto composer = StandardComposer(); - auto prover = composer.create_prover(circuit_constructor); + auto prover = composer.create_prover(builder); // Generate beta and gamma fr beta = fr::random_element(); fr gamma = fr::random_element(); // Compute public input delta - const auto public_inputs = circuit_constructor.get_public_inputs(); + const auto public_inputs = builder.get_public_inputs(); auto public_input_delta = honk::compute_public_input_delta(public_inputs, beta, gamma, prover.key->circuit_size); @@ -492,51 +491,51 @@ TEST_F(SumcheckTests, RealCircuitUltra) using FF = typename Flavor::FF; // Create a composer and a dummy circuit with a few gates - auto circuit_constructor = UltraCircuitBuilder(); + auto builder = UltraCircuitBuilder(); fr a = fr::one(); // Add some basic add gates, with a public input for good measure - uint32_t a_idx = circuit_constructor.add_public_variable(a); + uint32_t a_idx = builder.add_public_variable(a); fr b = fr::one(); fr c = a + b; fr d = a + c; - uint32_t b_idx = circuit_constructor.add_variable(b); - uint32_t c_idx = circuit_constructor.add_variable(c); - uint32_t d_idx = circuit_constructor.add_variable(d); + uint32_t b_idx = builder.add_variable(b); + uint32_t c_idx = builder.add_variable(c); + uint32_t d_idx = builder.add_variable(d); for (size_t i = 0; i < 16; i++) { - circuit_constructor.create_add_gate({ a_idx, b_idx, c_idx, 1, 1, -1, 0 }); - circuit_constructor.create_add_gate({ d_idx, c_idx, a_idx, 1, -1, -1, 0 }); + builder.create_add_gate({ a_idx, b_idx, c_idx, 1, 1, -1, 0 }); + builder.create_add_gate({ d_idx, c_idx, a_idx, 1, -1, -1, 0 }); } // Add a big add gate with use of next row to test q_arith = 2 fr e = a + b + c + d; - uint32_t e_idx = circuit_constructor.add_variable(e); + uint32_t e_idx = builder.add_variable(e); - uint32_t zero_idx = circuit_constructor.zero_idx; - circuit_constructor.create_big_add_gate({ a_idx, b_idx, c_idx, d_idx, -1, -1, -1, -1, 0 }, true); // use next row - circuit_constructor.create_big_add_gate({ zero_idx, zero_idx, zero_idx, e_idx, 0, 0, 0, 0, 0 }, false); + uint32_t zero_idx = builder.zero_idx; + builder.create_big_add_gate({ a_idx, b_idx, c_idx, d_idx, -1, -1, -1, -1, 0 }, true); // use next row + builder.create_big_add_gate({ zero_idx, zero_idx, zero_idx, e_idx, 0, 0, 0, 0, 0 }, false); // Add some lookup gates (related to pedersen hashing) barretenberg::fr pedersen_input_value = fr::random_element(); const fr input_hi = uint256_t(pedersen_input_value).slice(126, 256); const fr input_lo = uint256_t(pedersen_input_value).slice(0, 126); - const auto input_hi_index = circuit_constructor.add_variable(input_hi); - const auto input_lo_index = circuit_constructor.add_variable(input_lo); + const auto input_hi_index = builder.add_variable(input_hi); + const auto input_lo_index = builder.add_variable(input_lo); const auto sequence_data_hi = plookup::get_lookup_accumulators(plookup::MultiTableId::PEDERSEN_LEFT_HI, input_hi); const auto sequence_data_lo = plookup::get_lookup_accumulators(plookup::MultiTableId::PEDERSEN_LEFT_LO, input_lo); - circuit_constructor.create_gates_from_plookup_accumulators( + builder.create_gates_from_plookup_accumulators( plookup::MultiTableId::PEDERSEN_LEFT_HI, sequence_data_hi, input_hi_index); - circuit_constructor.create_gates_from_plookup_accumulators( + builder.create_gates_from_plookup_accumulators( plookup::MultiTableId::PEDERSEN_LEFT_LO, sequence_data_lo, input_lo_index); // Add a sort gate (simply checks that consecutive inputs have a difference of < 4) - a_idx = circuit_constructor.add_variable(FF(0)); - b_idx = circuit_constructor.add_variable(FF(1)); - c_idx = circuit_constructor.add_variable(FF(2)); - d_idx = circuit_constructor.add_variable(FF(3)); - circuit_constructor.create_sort_constraint({ a_idx, b_idx, c_idx, d_idx }); + a_idx = builder.add_variable(FF(0)); + b_idx = builder.add_variable(FF(1)); + c_idx = builder.add_variable(FF(2)); + d_idx = builder.add_variable(FF(3)); + builder.create_sort_constraint({ a_idx, b_idx, c_idx, d_idx }); // Add an elliptic curve addition gate grumpkin::g1::affine_element p1 = crypto::generators::get_generator_data({ 0, 0 }).generator; @@ -548,52 +547,51 @@ TEST_F(SumcheckTests, RealCircuitUltra) grumpkin::g1::affine_element p3(grumpkin::g1::element(p1) - grumpkin::g1::element(p2_endo)); - uint32_t x1 = circuit_constructor.add_variable(p1.x); - uint32_t y1 = circuit_constructor.add_variable(p1.y); - uint32_t x2 = circuit_constructor.add_variable(p2.x); - uint32_t y2 = circuit_constructor.add_variable(p2.y); - uint32_t x3 = circuit_constructor.add_variable(p3.x); - uint32_t y3 = circuit_constructor.add_variable(p3.y); + uint32_t x1 = builder.add_variable(p1.x); + uint32_t y1 = builder.add_variable(p1.y); + uint32_t x2 = builder.add_variable(p2.x); + uint32_t y2 = builder.add_variable(p2.y); + uint32_t x3 = builder.add_variable(p3.x); + uint32_t y3 = builder.add_variable(p3.y); - circuit_constructor.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, beta_scalar, -1 }); + builder.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, beta_scalar, -1 }); // Add some RAM gates uint32_t ram_values[8]{ - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), + builder.add_variable(fr::random_element()), builder.add_variable(fr::random_element()), + builder.add_variable(fr::random_element()), builder.add_variable(fr::random_element()), + builder.add_variable(fr::random_element()), builder.add_variable(fr::random_element()), + builder.add_variable(fr::random_element()), builder.add_variable(fr::random_element()), }; - size_t ram_id = circuit_constructor.create_RAM_array(8); + size_t ram_id = builder.create_RAM_array(8); for (size_t i = 0; i < 8; ++i) { - circuit_constructor.init_RAM_element(ram_id, i, ram_values[i]); + builder.init_RAM_element(ram_id, i, ram_values[i]); } - a_idx = circuit_constructor.read_RAM_array(ram_id, circuit_constructor.add_variable(5)); + a_idx = builder.read_RAM_array(ram_id, builder.add_variable(5)); EXPECT_EQ(a_idx != ram_values[5], true); - b_idx = circuit_constructor.read_RAM_array(ram_id, circuit_constructor.add_variable(4)); - c_idx = circuit_constructor.read_RAM_array(ram_id, circuit_constructor.add_variable(1)); + b_idx = builder.read_RAM_array(ram_id, builder.add_variable(4)); + c_idx = builder.read_RAM_array(ram_id, builder.add_variable(1)); - circuit_constructor.write_RAM_array( - ram_id, circuit_constructor.add_variable(4), circuit_constructor.add_variable(500)); - d_idx = circuit_constructor.read_RAM_array(ram_id, circuit_constructor.add_variable(4)); + builder.write_RAM_array(ram_id, builder.add_variable(4), builder.add_variable(500)); + d_idx = builder.read_RAM_array(ram_id, builder.add_variable(4)); - EXPECT_EQ(circuit_constructor.get_variable(d_idx), 500); + EXPECT_EQ(builder.get_variable(d_idx), 500); // ensure these vars get used in another arithmetic gate - const auto e_value = circuit_constructor.get_variable(a_idx) + circuit_constructor.get_variable(b_idx) + - circuit_constructor.get_variable(c_idx) + circuit_constructor.get_variable(d_idx); - e_idx = circuit_constructor.add_variable(e_value); + const auto e_value = builder.get_variable(a_idx) + builder.get_variable(b_idx) + builder.get_variable(c_idx) + + builder.get_variable(d_idx); + e_idx = builder.add_variable(e_value); - circuit_constructor.create_big_add_gate({ a_idx, b_idx, c_idx, d_idx, -1, -1, -1, -1, 0 }, true); - circuit_constructor.create_big_add_gate( + builder.create_big_add_gate({ a_idx, b_idx, c_idx, d_idx, -1, -1, -1, -1, 0 }, true); + builder.create_big_add_gate( { - circuit_constructor.zero_idx, - circuit_constructor.zero_idx, - circuit_constructor.zero_idx, + builder.zero_idx, + builder.zero_idx, + builder.zero_idx, e_idx, 0, 0, @@ -605,7 +603,7 @@ TEST_F(SumcheckTests, RealCircuitUltra) // Create a prover (it will compute proving key and witness) auto composer = UltraComposer(); - auto instance = composer.create_instance(circuit_constructor); + auto instance = composer.create_instance(builder); // Generate eta, beta and gamma fr eta = fr::random_element(); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp index b5de9cb4eb0..cd9fd477ff5 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp @@ -131,13 +131,13 @@ TYPED_TEST(TranscriptTests, ProverManifestConsistency) using Flavor = TypeParam; // Construct a simple circuit of size n = 8 (i.e. the minimum circuit size) typename Flavor::FF a = 1; - auto circuit_constructor = typename Flavor::CircuitBuilder(); - circuit_constructor.add_variable(a); - circuit_constructor.add_public_variable(a); + auto builder = typename Flavor::CircuitBuilder(); + builder.add_variable(a); + builder.add_public_variable(a); // Automatically generate a transcript manifest by constructing a proof auto composer = StandardComposer_(); - auto prover = composer.create_prover(circuit_constructor); + auto prover = composer.create_prover(builder); plonk::proof proof = prover.construct_proof(); // Check that the prover generated manifest agrees with the manifest hard coded in this suite @@ -159,17 +159,17 @@ TYPED_TEST(TranscriptTests, VerifierManifestConsistency) using Flavor = TypeParam; // Construct a simple circuit of size n = 8 (i.e. the minimum circuit size) typename Flavor::FF a = 1; - auto circuit_constructor = typename Flavor::CircuitBuilder(); - circuit_constructor.add_variable(a); - circuit_constructor.add_public_variable(a); + auto builder = typename Flavor::CircuitBuilder(); + builder.add_variable(a); + builder.add_public_variable(a); // Automatically generate a transcript manifest in the prover by constructing a proof auto composer = StandardComposer_(); - auto prover = composer.create_prover(circuit_constructor); + auto prover = composer.create_prover(builder); plonk::proof proof = prover.construct_proof(); // Automatically generate a transcript manifest in the verifier by verifying a proof - auto verifier = composer.create_verifier(circuit_constructor); + auto verifier = composer.create_verifier(builder); verifier.verify_proof(proof); prover.transcript.print(); verifier.transcript.print(); @@ -300,15 +300,15 @@ TEST_F(UltraTranscriptTests, UltraVerifierManifestConsistency) { // Construct a simple circuit of size n = 8 (i.e. the minimum circuit size) - auto circuit_constructor = proof_system::UltraCircuitBuilder(); + auto builder = proof_system::UltraCircuitBuilder(); fr a = 2; - circuit_constructor.add_variable(a); - circuit_constructor.add_public_variable(a); + builder.add_variable(a); + builder.add_public_variable(a); // Automatically generate a transcript manifest in the prover by constructing a proof auto composer = UltraComposer(); - auto instance = composer.create_instance(circuit_constructor); + auto instance = composer.create_instance(builder); auto prover = composer.create_prover(instance); plonk::proof proof = prover.construct_proof(); From 67ace3b72f2502491e7e223a926000f38e4a5501 Mon Sep 17 00:00:00 2001 From: maramihali Date: Wed, 13 Sep 2023 12:16:02 +0000 Subject: [PATCH 18/28] cleanup --- .../barretenberg/honk/instance/instance.cpp | 81 +++- .../barretenberg/honk/instance/instance.hpp | 7 + .../barretenberg/honk/proof_system/prover.cpp | 1 - .../barretenberg/honk/proof_system/prover.hpp | 1 - .../honk/proof_system/prover_library.cpp | 116 ----- .../honk/proof_system/prover_library.hpp | 17 - .../honk/proof_system/prover_library.test.cpp | 444 ------------------ .../honk/proof_system/ultra_prover.cpp | 2 - .../sumcheck/relation_correctness.test.cpp | 1 - 9 files changed, 82 insertions(+), 588 deletions(-) delete mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.cpp delete mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.hpp delete mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp index fb257d9ec07..ef830bf958a 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp @@ -1,6 +1,5 @@ #include "instance.hpp" #include "barretenberg/honk/proof_system/grand_product_library.hpp" -#include "barretenberg/honk/proof_system/prover_library.hpp" #include "barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp" #include "barretenberg/proof_system/composer/composer_lib.hpp" #include "barretenberg/proof_system/composer/permutation_lib.hpp" @@ -312,17 +311,87 @@ template void Instance_::compute_sorted_accumulator { relation_parameters.eta = eta; // Compute sorted witness-table accumulator - proving_key->sorted_accum = prover_library::compute_sorted_list_accumulator(proving_key, eta); + compute_sorted_list_accumulator(eta); + prover_polynomials.sorted_accum = proving_key->sorted_accum; + prover_polynomials.sorted_accum_shift = proving_key->sorted_accum.shifted(); // Finalize fourth wire polynomial by adding lookup memory records - prover_library::add_plookup_memory_records_to_wire_4(proving_key, eta); - - prover_polynomials.sorted_accum_shift = proving_key->sorted_accum.shifted(); - prover_polynomials.sorted_accum = proving_key->sorted_accum; + add_plookup_memory_records_to_wire_4(eta); prover_polynomials.w_4 = proving_key->w_4; prover_polynomials.w_4_shift = proving_key->w_4.shifted(); } +/** + * @brief Construct sorted list accumulator polynomial 's'. + * + * @details Compute s = s_1 + η*s_2 + η²*s_3 + η³*s_4 (via Horner) where s_i are the + * sorted concatenated witness/table polynomials + * + * @param key proving key + * @param sorted_list_polynomials sorted concatenated witness/table polynomials + * @param eta random challenge + * @return Polynomial + */ +template void Instance_::compute_sorted_list_accumulator(FF eta) +{ + const size_t circuit_size = proving_key->circuit_size; + + auto sorted_list_accumulator = Polynomial{ circuit_size }; + + auto sorted_polynomials = proving_key->get_sorted_polynomials(); + + // Construct s via Horner, i.e. s = s_1 + η(s_2 + η(s_3 + η*s_4)) + for (size_t i = 0; i < circuit_size; ++i) { + FF T0 = sorted_polynomials[3][i]; + T0 *= eta; + T0 += sorted_polynomials[2][i]; + T0 *= eta; + T0 += sorted_polynomials[1][i]; + T0 *= eta; + T0 += sorted_polynomials[0][i]; + sorted_list_accumulator[i] = T0; + } + proving_key->sorted_accum = sorted_list_accumulator; +} + +/** + * @brief Add plookup memory records to the fourth wire polynomial + * + * @details This operation must be performed after the first three wires have been committed to, hence the dependence on + * the `eta` challenge. + * + * @tparam Flavor + * @param eta challenge produced after commitment to first three wire polynomials + */ +template void Instance_::add_plookup_memory_records_to_wire_4(FF eta) +{ + // The plookup memory record values are computed at the indicated indices as + // w4 = w3 * eta^3 + w2 * eta^2 + w1 * eta + read_write_flag; + // (See plookup_auxiliary_widget.hpp for details) + auto wires = proving_key->get_wires(); + + // Compute read record values + for (const auto& gate_idx : proving_key->memory_read_records) { + wires[3][gate_idx] += wires[2][gate_idx]; + wires[3][gate_idx] *= eta; + wires[3][gate_idx] += wires[1][gate_idx]; + wires[3][gate_idx] *= eta; + wires[3][gate_idx] += wires[0][gate_idx]; + wires[3][gate_idx] *= eta; + } + + // Compute write record values + for (const auto& gate_idx : proving_key->memory_write_records) { + wires[3][gate_idx] += wires[2][gate_idx]; + wires[3][gate_idx] *= eta; + wires[3][gate_idx] += wires[1][gate_idx]; + wires[3][gate_idx] *= eta; + wires[3][gate_idx] += wires[0][gate_idx]; + wires[3][gate_idx] *= eta; + wires[3][gate_idx] += 1; + } +} + template void Instance_::compute_grand_product_polynomials(FF beta, FF gamma) { auto public_input_delta = diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp index fc9b9582dcf..ebc8f422d91 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp @@ -30,6 +30,7 @@ template class Instance_ { using FF = typename Flavor::FF; using FoldingParameters = typename Flavor::FoldingParameters; using ProverPolynomials = typename Flavor::ProverPolynomials; + using Polynomial = typename Flavor::Polynomial; // offset due to placing zero wires at the start of execution trace static constexpr size_t num_zero_rows = Flavor::has_zero_row ? 1 : 0; @@ -63,6 +64,8 @@ template class Instance_ { // Used by the prover for domain separation in the transcript uint32_t index; + Instance_(); + Instance_(Circuit& circuit) { compute_circuit_size_parameters(circuit); @@ -97,6 +100,10 @@ template class Instance_ { void compute_sorted_accumulator_polynomials(FF); + void compute_sorted_list_accumulator(FF); + + void add_plookup_memory_records_to_wire_4(FF); + void compute_grand_product_polynomials(FF, FF); }; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp index cdf3cf89f23..ff7e29346db 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp @@ -1,6 +1,5 @@ #include "prover.hpp" #include "barretenberg/honk/proof_system/grand_product_library.hpp" -#include "barretenberg/honk/proof_system/prover_library.hpp" #include "barretenberg/honk/sumcheck/sumcheck.hpp" #include "barretenberg/honk/transcript/transcript.hpp" #include "barretenberg/honk/utils/power_polynomial.hpp" diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp index 95d6bfcebbe..74366107894 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp @@ -3,7 +3,6 @@ #include "barretenberg/honk/flavor/standard_grumpkin.hpp" #include "barretenberg/honk/pcs/gemini/gemini.hpp" #include "barretenberg/honk/pcs/shplonk/shplonk.hpp" -#include "barretenberg/honk/proof_system/prover_library.hpp" #include "barretenberg/honk/proof_system/work_queue.hpp" #include "barretenberg/honk/sumcheck/sumcheck.hpp" #include "barretenberg/honk/sumcheck/sumcheck_output.hpp" diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.cpp deleted file mode 100644 index 27da4a422ec..00000000000 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.cpp +++ /dev/null @@ -1,116 +0,0 @@ -#include "prover_library.hpp" -#include "barretenberg/honk/flavor/goblin_ultra.hpp" -#include "barretenberg/honk/flavor/standard.hpp" -#include "barretenberg/honk/flavor/standard_grumpkin.hpp" -#include "barretenberg/honk/flavor/ultra.hpp" -#include "barretenberg/honk/flavor/ultra_grumpkin.hpp" -#include -#include - -namespace proof_system::honk::prover_library { - -/** - * @brief Construct sorted list accumulator polynomial 's'. - * - * @details Compute s = s_1 + η*s_2 + η²*s_3 + η³*s_4 (via Horner) where s_i are the - * sorted concatenated witness/table polynomials - * - * @param key proving key - * @param sorted_list_polynomials sorted concatenated witness/table polynomials - * @param eta random challenge - * @return Polynomial - */ -template -typename Flavor::Polynomial compute_sorted_list_accumulator(std::shared_ptr& key, - typename Flavor::FF eta) -{ - using FF = typename Flavor::FF; - using Polynomial = typename Flavor::Polynomial; - - const size_t circuit_size = key->circuit_size; - - auto sorted_list_accumulator = Polynomial{ circuit_size }; - - auto sorted_polynomials = key->get_sorted_polynomials(); - - // Construct s via Horner, i.e. s = s_1 + η(s_2 + η(s_3 + η*s_4)) - for (size_t i = 0; i < circuit_size; ++i) { - FF T0 = sorted_polynomials[3][i]; - T0 *= eta; - T0 += sorted_polynomials[2][i]; - T0 *= eta; - T0 += sorted_polynomials[1][i]; - T0 *= eta; - T0 += sorted_polynomials[0][i]; - sorted_list_accumulator[i] = T0; - } - - return sorted_list_accumulator; -} - -/** - * @brief Add plookup memory records to the fourth wire polynomial - * - * @details This operation must be performed after the first three wires have been committed to, hence the dependence on - * the `eta` challenge. - * - * @tparam Flavor - * @param eta challenge produced after commitment to first three wire polynomials - */ -template -void add_plookup_memory_records_to_wire_4(std::shared_ptr& key, typename Flavor::FF eta) -{ - // The plookup memory record values are computed at the indicated indices as - // w4 = w3 * eta^3 + w2 * eta^2 + w1 * eta + read_write_flag; - // (See plookup_auxiliary_widget.hpp for details) - auto wires = key->get_wires(); - - // Compute read record values - for (const auto& gate_idx : key->memory_read_records) { - wires[3][gate_idx] += wires[2][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += wires[1][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += wires[0][gate_idx]; - wires[3][gate_idx] *= eta; - } - - // Compute write record values - for (const auto& gate_idx : key->memory_write_records) { - wires[3][gate_idx] += wires[2][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += wires[1][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += wires[0][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += 1; - } -} - -// flavor::Ultra - -template typename honk::flavor::Ultra::Polynomial compute_sorted_list_accumulator( - std::shared_ptr& key, typename honk::flavor::Ultra::FF eta); - -template void add_plookup_memory_records_to_wire_4( - std::shared_ptr& key, typename honk::flavor::Ultra::FF eta); - -// flavor::UltraGrumpkin - -template typename honk::flavor::UltraGrumpkin::Polynomial compute_sorted_list_accumulator( - std::shared_ptr& key, - typename honk::flavor::UltraGrumpkin::FF eta); - -template void add_plookup_memory_records_to_wire_4( - std::shared_ptr& key, - typename honk::flavor::UltraGrumpkin::FF eta); - -// flavor::GoblinUltra - -template typename honk::flavor::GoblinUltra::Polynomial compute_sorted_list_accumulator( - std::shared_ptr& key, typename honk::flavor::GoblinUltra::FF eta); - -template void add_plookup_memory_records_to_wire_4( - std::shared_ptr& key, typename honk::flavor::GoblinUltra::FF eta); - -} // namespace proof_system::honk::prover_library \ No newline at end of file diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.hpp deleted file mode 100644 index 9990400c747..00000000000 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once -#include "barretenberg/ecc/curves/bn254/fr.hpp" -#include "barretenberg/plonk/proof_system/proving_key/proving_key.hpp" -#include "barretenberg/plonk/proof_system/types/program_settings.hpp" -#include "barretenberg/plonk/proof_system/types/proof.hpp" -#include "barretenberg/polynomials/polynomial.hpp" - -namespace proof_system::honk::prover_library { - -template -typename Flavor::Polynomial compute_sorted_list_accumulator(std::shared_ptr& key, - typename Flavor::FF eta); - -template -void add_plookup_memory_records_to_wire_4(std::shared_ptr& key, typename Flavor::FF eta); - -} // namespace proof_system::honk::prover_library diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.test.cpp deleted file mode 100644 index af679985ff3..00000000000 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.test.cpp +++ /dev/null @@ -1,444 +0,0 @@ - -#include "prover_library.hpp" -#include "barretenberg/ecc/curves/bn254/bn254.hpp" -#include "barretenberg/honk/flavor/standard.hpp" -#include "barretenberg/honk/flavor/ultra.hpp" -#include "barretenberg/honk/proof_system/grand_product_library.hpp" -#include "barretenberg/polynomials/polynomial.hpp" -#include "prover.hpp" - -#include "barretenberg/srs/factories/file_crs_factory.hpp" -#include -#include -#include -#include -#include - -using namespace proof_system::honk; -namespace prover_library_tests { - -template class ProverLibraryTests : public testing::Test { - - using Polynomial = barretenberg::Polynomial; - - public: - /** - * @brief Get a random polynomial - * - * @param size - * @return Polynomial - */ - static constexpr Polynomial get_random_polynomial(size_t size) - { - Polynomial random_polynomial{ size }; - for (auto& coeff : random_polynomial) { - coeff = FF::random_element(); - } - return random_polynomial; - } - - static void populate_span(auto& polynomial_view, const auto& polynomial) - { - ASSERT(polynomial_view.size() <= polynomial.size()); - for (size_t idx = 0; idx < polynomial.size(); idx++) { - polynomial_view[idx] = polynomial[idx]; - } - }; - - /** - * @brief Check consistency of the computation of the permutation grand product polynomial z_permutation. - * @details This test compares a simple, unoptimized, easily readable calculation of the grand product z_permutation - * to the optimized implementation used by the prover. It's purpose is to provide confidence that some optimization - * introduced into the calculation has not changed the result. - * @note This test does confirm the correctness of z_permutation, only that the two implementations yield an - * identical result. - */ - template static void test_permutation_grand_product_construction() - { - // Define some mock inputs for proving key constructor - static const size_t num_gates = 8; - static const size_t num_public_inputs = 0; - - // Instatiate a proving_key and make a pointer to it. This will be used to instantiate a Prover. - auto proving_key = std::make_shared(num_gates, num_public_inputs); - - // static const size_t program_width = StandardProver::settings_::program_width; - - // Construct mock wire and permutation polynomials. - // Note: for the purpose of checking the consistency between two methods of computing z_perm, these polynomials - // can simply be random. We're not interested in the particular properties of the result. - std::vector wires; - std::vector sigmas; - std::vector ids; - - auto wire_polynomials = proving_key->get_wires(); - auto sigma_polynomials = proving_key->get_sigma_polynomials(); - auto id_polynomials = proving_key->get_id_polynomials(); - for (size_t i = 0; i < Flavor::NUM_WIRES; ++i) { - wires.emplace_back(get_random_polynomial(num_gates)); - sigmas.emplace_back(get_random_polynomial(num_gates)); - ids.emplace_back(get_random_polynomial(num_gates)); - - populate_span(wire_polynomials[i], wires[i]); - populate_span(sigma_polynomials[i], sigmas[i]); - populate_span(id_polynomials[i], ids[i]); - } - - // Get random challenges - auto beta = FF::random_element(); - auto gamma = FF::random_element(); - - proof_system::RelationParameters params{ - .eta = 0, - .beta = beta, - .gamma = gamma, - .public_input_delta = 1, - .lookup_grand_product_delta = 1, - }; - - typename Flavor::ProverPolynomials prover_polynomials; - prover_polynomials.w_l = proving_key->w_l; - prover_polynomials.w_r = proving_key->w_r; - prover_polynomials.w_o = proving_key->w_o; - prover_polynomials.q_m = proving_key->q_m; - prover_polynomials.q_l = proving_key->q_l; - prover_polynomials.q_r = proving_key->q_r; - prover_polynomials.q_o = proving_key->q_o; - prover_polynomials.q_c = proving_key->q_c; - prover_polynomials.sigma_1 = proving_key->sigma_1; - prover_polynomials.sigma_2 = proving_key->sigma_2; - prover_polynomials.sigma_3 = proving_key->sigma_3; - prover_polynomials.id_1 = proving_key->id_1; - prover_polynomials.id_2 = proving_key->id_2; - prover_polynomials.id_3 = proving_key->id_3; - prover_polynomials.lagrange_first = proving_key->lagrange_first; - prover_polynomials.lagrange_last = proving_key->lagrange_last; - if constexpr (Flavor::NUM_WIRES == 4) { - prover_polynomials.w_4 = proving_key->w_4; - prover_polynomials.sigma_4 = proving_key->sigma_4; - prover_polynomials.id_4 = proving_key->id_4; - } - prover_polynomials.z_perm = proving_key->z_perm; - - // Method 1: Compute z_perm using 'compute_grand_product_polynomial' as the prover would in practice - constexpr size_t PERMUTATION_RELATION_INDEX = 0; - using LHS = - typename std::tuple_element::type; - if constexpr (Flavor::NUM_WIRES == 4) { - using RHS = typename proof_system::UltraPermutationRelation; - static_assert(std::same_as); - grand_product_library::compute_grand_product( - proving_key->circuit_size, prover_polynomials, params); - } else { - using RHS = proof_system::PermutationRelation; - static_assert(std::same_as); - grand_product_library::compute_grand_product( - proving_key->circuit_size, prover_polynomials, params); - } - - // Method 2: Compute z_perm locally using the simplest non-optimized syntax possible. The comment below, - // which describes the computation in 4 steps, is adapted from a similar comment in - // compute_grand_product_polynomial. - /* - * Assume Flavor::NUM_WIRES 3. Z_perm may be defined in terms of its values - * on X_i = 0,1,...,n-1 as Z_perm[0] = 0 and for i = 1:n-1 - * - * (w_1(j) + β⋅id_1(j) + γ) ⋅ (w_2(j) + β⋅id_2(j) + γ) ⋅ (w_3(j) + β⋅id_3(j) + γ) - * Z_perm[i] = ∏ -------------------------------------------------------------------------------- - * (w_1(j) + β⋅σ_1(j) + γ) ⋅ (w_2(j) + β⋅σ_2(j) + γ) ⋅ (w_3(j) + β⋅σ_3(j) + γ) - * - * where ∏ := ∏_{j=0:i-1} and id_i(X) = id(X) + n*(i-1). These evaluations are constructed over the - * course of three steps. For expositional simplicity, write Z_perm[i] as - * - * A_1(j) ⋅ A_2(j) ⋅ A_3(j) - * Z_perm[i] = ∏ -------------------------- - * B_1(j) ⋅ B_2(j) ⋅ B_3(j) - * - * Step 1) Compute the 2*Flavor::NUM_WIRES length-n polynomials A_i and B_i - * Step 2) Compute the 2*Flavor::NUM_WIRES length-n polynomials ∏ A_i(j) and ∏ B_i(j) - * Step 3) Compute the two length-n polynomials defined by - * numer[i] = ∏ A_1(j)⋅A_2(j)⋅A_3(j), and denom[i] = ∏ B_1(j)⋅B_2(j)⋅B_3(j) - * Step 4) Compute Z_perm[i+1] = numer[i]/denom[i] (recall: Z_perm[0] = 1) - */ - - // Make scratch space for the numerator and denominator accumulators. - std::array, Flavor::NUM_WIRES> numerator_accum; - std::array, Flavor::NUM_WIRES> denominator_accum; - - // Step (1) - for (size_t i = 0; i < proving_key->circuit_size; ++i) { - for (size_t k = 0; k < Flavor::NUM_WIRES; ++k) { - numerator_accum[k][i] = wires[k][i] + (ids[k][i] * beta) + gamma; // w_k(i) + β.id_k(i) + γ - denominator_accum[k][i] = wires[k][i] + (sigmas[k][i] * beta) + gamma; // w_k(i) + β.σ_k(i) + γ - } - } - - // Step (2) - for (size_t k = 0; k < Flavor::NUM_WIRES; ++k) { - for (size_t i = 0; i < proving_key->circuit_size - 1; ++i) { - numerator_accum[k][i + 1] *= numerator_accum[k][i]; - denominator_accum[k][i + 1] *= denominator_accum[k][i]; - } - } - - // Step (3) - for (size_t i = 0; i < proving_key->circuit_size; ++i) { - for (size_t k = 1; k < Flavor::NUM_WIRES; ++k) { - numerator_accum[0][i] *= numerator_accum[k][i]; - denominator_accum[0][i] *= denominator_accum[k][i]; - } - } - - // Step (4) - Polynomial z_permutation_expected(proving_key->circuit_size); - z_permutation_expected[0] = FF::zero(); // Z_0 = 1 - // Note: in practice, we replace this expensive element-wise division with Montgomery batch inversion - for (size_t i = 0; i < proving_key->circuit_size - 1; ++i) { - z_permutation_expected[i + 1] = numerator_accum[0][i] / denominator_accum[0][i]; - } - - // Check consistency between locally computed z_perm and the one computed by the prover library - EXPECT_EQ(proving_key->z_perm, z_permutation_expected); - }; - - /** - * @brief Check consistency of the computation of the lookup grand product polynomial z_lookup. - * @details This test compares a simple, unoptimized, easily readable calculation of the grand product z_lookup - * to the optimized implementation used by the prover. It's purpose is to provide confidence that some optimization - * introduced into the calculation has not changed the result. - * @note This test does confirm the correctness of z_lookup, only that the two implementations yield an - * identical result. - */ - static void test_lookup_grand_product_construction() - { - // Define some mock inputs for proving key constructor - static const size_t circuit_size = 8; - static const size_t num_public_inputs = 0; - - // Instatiate a proving_key and make a pointer to it. This will be used to instantiate a Prover. - using Flavor = honk::flavor::Ultra; - auto proving_key = std::make_shared(circuit_size, num_public_inputs); - - // Construct mock wire and permutation polynomials. - // Note: for the purpose of checking the consistency between two methods of computing z_lookup, these - // polynomials can simply be random. We're not interested in the particular properties of the result. - std::vector wires; - auto wire_polynomials = proving_key->get_wires(); - // Note(luke): Use of 3 wires is fundamental to the structure of the tables and should not be tied to NUM_WIRES - // for now - for (size_t i = 0; i < 3; ++i) { // TODO(Cody): will this test ever generalize? - Polynomial random_polynomial = get_random_polynomial(circuit_size); - random_polynomial[0] = 0; // when computing shifts, 1st element needs to be 0 - wires.emplace_back(random_polynomial); - populate_span(wire_polynomials[i], random_polynomial); - } - - std::vector tables; - auto table_polynomials = proving_key->get_table_polynomials(); - for (auto& table_polynomial : table_polynomials) { - Polynomial random_polynomial = get_random_polynomial(circuit_size); - random_polynomial[0] = 0; // when computing shifts, 1st element needs to be 0 - tables.emplace_back(random_polynomial); - populate_span(table_polynomial, random_polynomial); - } - - auto sorted_batched = get_random_polynomial(circuit_size); - sorted_batched[0] = 0; // when computing shifts, 1st element needs to be 0 - auto column_1_step_size = get_random_polynomial(circuit_size); - auto column_2_step_size = get_random_polynomial(circuit_size); - auto column_3_step_size = get_random_polynomial(circuit_size); - auto lookup_index_selector = get_random_polynomial(circuit_size); - auto lookup_selector = get_random_polynomial(circuit_size); - - proving_key->sorted_accum = sorted_batched; - populate_span(proving_key->q_r, column_1_step_size); - populate_span(proving_key->q_m, column_2_step_size); - populate_span(proving_key->q_c, column_3_step_size); - populate_span(proving_key->q_o, lookup_index_selector); - populate_span(proving_key->q_lookup, lookup_selector); - - // Get random challenges - auto beta = FF::random_element(); - auto gamma = FF::random_element(); - auto eta = FF::random_element(); - - proof_system::RelationParameters params{ - .eta = eta, - .beta = beta, - .gamma = gamma, - .public_input_delta = 1, - .lookup_grand_product_delta = 1, - }; - - Flavor::ProverPolynomials prover_polynomials; - prover_polynomials.w_l = proving_key->w_l; - prover_polynomials.w_r = proving_key->w_r; - prover_polynomials.w_o = proving_key->w_o; - prover_polynomials.w_l_shift = proving_key->w_l.shifted(); - prover_polynomials.w_r_shift = proving_key->w_r.shifted(); - prover_polynomials.w_o_shift = proving_key->w_o.shifted(); - prover_polynomials.sorted_accum = proving_key->sorted_accum; - prover_polynomials.sorted_accum_shift = proving_key->sorted_accum.shifted(); - prover_polynomials.table_1 = proving_key->table_1; - prover_polynomials.table_2 = proving_key->table_2; - prover_polynomials.table_3 = proving_key->table_3; - prover_polynomials.table_4 = proving_key->table_4; - prover_polynomials.table_1_shift = proving_key->table_1.shifted(); - prover_polynomials.table_2_shift = proving_key->table_2.shifted(); - prover_polynomials.table_3_shift = proving_key->table_3.shifted(); - prover_polynomials.table_4_shift = proving_key->table_4.shifted(); - prover_polynomials.q_m = proving_key->q_m; - prover_polynomials.q_r = proving_key->q_r; - prover_polynomials.q_o = proving_key->q_o; - prover_polynomials.q_c = proving_key->q_c; - prover_polynomials.q_lookup = proving_key->q_lookup; - prover_polynomials.z_perm = proving_key->z_perm; - prover_polynomials.z_lookup = proving_key->z_lookup; - - // Method 1: Compute z_lookup using the prover library method - constexpr size_t LOOKUP_RELATION_INDEX = 1; - using LHS = typename std::tuple_element::type; - using RHS = proof_system::LookupRelation; - static_assert(std::same_as); - grand_product_library::compute_grand_product( - proving_key->circuit_size, prover_polynomials, params); - - // Method 2: Compute the lookup grand product polynomial Z_lookup: - // - // ∏(1 + β) ⋅ ∏(q_lookup*f_k + γ) ⋅ ∏(t_k + βt_{k+1} + γ(1 + β)) - // Z_lookup(X_j) = ----------------------------------------------------------------- - // ∏(s_k + βs_{k+1} + γ(1 + β)) - // - // in a way that is simple to read (but inefficient). See prover library method for more details. - const FF eta_sqr = eta.sqr(); - const FF eta_cube = eta_sqr * eta; - - std::array accumulators; - for (size_t i = 0; i < 4; ++i) { - accumulators[i] = Polynomial{ circuit_size }; - } - - // Step (1) - - // Note: block_mask is used for efficient modulus, i.e. i % N := i & (N-1), for N = 2^k - const size_t block_mask = circuit_size - 1; - // Initialize 't(X)' to be used in an expression of the form t(X) + β*t(Xω) - FF table_i = tables[0][0] + tables[1][0] * eta + tables[2][0] * eta_sqr + tables[3][0] * eta_cube; - for (size_t i = 0; i < circuit_size; ++i) { - size_t shift_idx = (i + 1) & block_mask; - - // f = (w_1 + q_2*w_1(Xω)) + η(w_2 + q_m*w_2(Xω)) + η²(w_3 + q_c*w_3(Xω)) + η³q_index. - FF f_i = (wires[0][i] + wires[0][shift_idx] * column_1_step_size[i]) + - (wires[1][i] + wires[1][shift_idx] * column_2_step_size[i]) * eta + - (wires[2][i] + wires[2][shift_idx] * column_3_step_size[i]) * eta_sqr + - eta_cube * lookup_index_selector[i]; - - // q_lookup * f + γ - accumulators[0][i] = lookup_selector[i] * f_i + gamma; - - // t = t_1 + ηt_2 + η²t_3 + η³t_4 - FF table_i_plus_1 = tables[0][shift_idx] + eta * tables[1][shift_idx] + eta_sqr * tables[2][shift_idx] + - eta_cube * tables[3][shift_idx]; - - // t + βt(Xω) + γ(1 + β) - accumulators[1][i] = table_i + table_i_plus_1 * beta + gamma * (FF::one() + beta); - - // (1 + β) - accumulators[2][i] = FF::one() + beta; - - // s + βs(Xω) + γ(1 + β) - accumulators[3][i] = sorted_batched[i] + beta * sorted_batched[shift_idx] + gamma * (FF::one() + beta); - - // Set t(X_i) for next iteration - table_i = table_i_plus_1; - } - - // Step (2) - for (auto& accum : accumulators) { - for (size_t i = 0; i < circuit_size - 1; ++i) { - accum[i + 1] *= accum[i]; - } - } - - // Step (3) - Polynomial z_lookup_expected(circuit_size); - z_lookup_expected[0] = FF::zero(); // Z_lookup_0 = 0 - - // Compute the numerator in accumulators[0]; The denominator is in accumulators[3] - for (size_t i = 0; i < circuit_size - 1; ++i) { - accumulators[0][i] *= accumulators[1][i] * accumulators[2][i]; - } - // Compute Z_lookup_i, i = [1, n-1] - for (size_t i = 0; i < circuit_size - 1; ++i) { - z_lookup_expected[i + 1] = accumulators[0][i] / accumulators[3][i]; - } - - EXPECT_EQ(proving_key->z_lookup, z_lookup_expected); - }; - - /** - * @brief Check consistency of the computation of the sorted list accumulator - * @details This test compares a simple, unoptimized, easily readable calculation of the sorted list accumulator - * to the optimized implementation used by the prover. It's purpose is to provide confidence that some optimization - * introduced into the calculation has not changed the result. - * @note This test does confirm the correctness of the sorted list accumulator, only that the two implementations - * yield an identical result. - */ - static void test_sorted_list_accumulator_construction() - { - // Construct a proving_key - static const size_t circuit_size = 8; - static const size_t num_public_inputs = 0; - using Flavor = honk::flavor::Ultra; - auto proving_key = std::make_shared(circuit_size, num_public_inputs); - - // Get random challenge eta - auto eta = FF::random_element(); - - // Construct mock sorted list polynomials. - std::vector sorted_lists; - auto sorted_list_polynomials = proving_key->get_sorted_polynomials(); - for (auto& sorted_list_poly : sorted_list_polynomials) { - Polynomial random_polynomial = get_random_polynomial(circuit_size); - sorted_lists.emplace_back(random_polynomial); - populate_span(sorted_list_poly, random_polynomial); - } - - // Method 1: computed sorted list accumulator polynomial using prover library method - Polynomial sorted_list_accumulator = prover_library::compute_sorted_list_accumulator(proving_key, eta); - - // Method 2: Compute local sorted list accumulator simply and inefficiently - const FF eta_sqr = eta.sqr(); - const FF eta_cube = eta_sqr * eta; - - // Compute s = s_1 + η*s_2 + η²*s_3 + η³*s_4 - Polynomial sorted_list_accumulator_expected{ sorted_lists[0] }; - for (size_t i = 0; i < circuit_size; ++i) { - sorted_list_accumulator_expected[i] += - sorted_lists[1][i] * eta + sorted_lists[2][i] * eta_sqr + sorted_lists[3][i] * eta_cube; - } - - EXPECT_EQ(sorted_list_accumulator, sorted_list_accumulator_expected); - }; -}; - -using FieldTypes = testing::Types; -TYPED_TEST_SUITE(ProverLibraryTests, FieldTypes); - -TYPED_TEST(ProverLibraryTests, PermutationGrandProduct) -{ - TestFixture::template test_permutation_grand_product_construction(); - TestFixture::template test_permutation_grand_product_construction(); -} - -TYPED_TEST(ProverLibraryTests, LookupGrandProduct) -{ - TestFixture::test_lookup_grand_product_construction(); -} - -TYPED_TEST(ProverLibraryTests, SortedListAccumulator) -{ - TestFixture::test_sorted_list_accumulator_construction(); -} - -} // namespace prover_library_tests diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp index db3ed710802..efd072f9b18 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp @@ -1,8 +1,6 @@ #include "ultra_prover.hpp" #include "barretenberg/honk/instance/instance.hpp" #include "barretenberg/honk/pcs/claim.hpp" -#include "barretenberg/honk/proof_system/grand_product_library.hpp" -#include "barretenberg/honk/proof_system/prover_library.hpp" #include "barretenberg/honk/sumcheck/sumcheck.hpp" #include "barretenberg/honk/utils/power_polynomial.hpp" #include "barretenberg/polynomials/polynomial.hpp" diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp index f4bc1e10160..7e2663702a8 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp @@ -1,7 +1,6 @@ #include "barretenberg/honk/composer/standard_composer.hpp" #include "barretenberg/honk/composer/ultra_composer.hpp" #include "barretenberg/honk/proof_system/grand_product_library.hpp" -#include "barretenberg/honk/proof_system/prover_library.hpp" #include "barretenberg/proof_system/relations/arithmetic_relation.hpp" #include "barretenberg/proof_system/relations/auxiliary_relation.hpp" #include "barretenberg/proof_system/relations/ecc_op_queue_relation.hpp" From cf4435fda084f04c68e2c9198ba211ab0a56f600 Mon Sep 17 00:00:00 2001 From: maramihali Date: Wed, 13 Sep 2023 14:31:34 +0000 Subject: [PATCH 19/28] remove prover_library --- .../composer/goblin_ultra_composer.test.cpp | 4 +- .../honk/composer/standard_composer.test.cpp | 4 +- .../honk/composer/ultra_composer.test.cpp | 103 +++++++++++------- .../barretenberg/honk/instance/instance.hpp | 2 - .../cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp | 2 +- .../honk/sumcheck/partial_evaluation.test.cpp | 12 +- .../sumcheck/relation_correctness.test.cpp | 71 ++++++------ .../honk/sumcheck/sumcheck.test.cpp | 58 +++++----- .../honk/transcript/transcript.test.cpp | 16 +-- 9 files changed, 147 insertions(+), 125 deletions(-) diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/goblin_ultra_composer.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/goblin_ultra_composer.test.cpp index 66555e6519b..07656ebd591 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/goblin_ultra_composer.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/goblin_ultra_composer.test.cpp @@ -27,7 +27,9 @@ class GoblinUltraHonkComposerTests : public ::testing::Test { */ TEST_F(GoblinUltraHonkComposerTests, SimpleCircuit) { - auto builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + using g1 = barretenberg::g1; + auto builder = proof_system::UltraCircuitBuilder(); // Define an arbitrary number of operations/gates size_t num_ecc_ops = 3; diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp index bccb233a4f9..352e5da247d 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp @@ -18,7 +18,7 @@ using namespace proof_system::honk; #define TYPE_ALIASES \ using Flavor = TypeParam; \ using FF = typename Flavor::FF; \ - using CircuitBuilder = StandardCircuitBuilder_; \ + using CircuitBuilder = proof_system::StandardCircuitBuilder_; \ using Composer = StandardComposer_; namespace test_standard_honk_composer { @@ -28,7 +28,7 @@ template class StandardHonkComposerTests : public ::testing::T // TODO(640): The Standard Honk on Grumpkin test suite fails unless the SRS is initialised for every test. virtual void SetUp() { - if constexpr (IsGrumpkinFlavor) { + if constexpr (proof_system::IsGrumpkinFlavor) { barretenberg::srs::init_grumpkin_crs_factory("../srs_db/grumpkin"); } else { barretenberg::srs::init_crs_factory("../srs_db/ignition"); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp index fff0fffa487..1aaef5ae67f 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp @@ -1,13 +1,7 @@ -#include -#include -#include -#include -#include - -#include "barretenberg/common/log.hpp" #include "barretenberg/honk/composer/ultra_composer.hpp" +#include "barretenberg/common/log.hpp" +#include "barretenberg/ecc/curves/bn254/fr.hpp" #include "barretenberg/honk/instance/instance.hpp" -#include "barretenberg/honk/proof_system/prover.hpp" #include "barretenberg/honk/proof_system/ultra_prover.hpp" #include "barretenberg/honk/sumcheck/sumcheck_round.hpp" #include "barretenberg/honk/utils/grand_product_delta.hpp" @@ -16,6 +10,11 @@ #include "barretenberg/proof_system/plookup_tables/types.hpp" #include "barretenberg/proof_system/relations/permutation_relation.hpp" #include "barretenberg/proof_system/relations/relation_parameters.hpp" +#include +#include +#include +#include +#include using namespace proof_system::honk; @@ -25,7 +24,7 @@ namespace { auto& engine = numeric::random::get_debug_engine(); } -std::vector add_variables(auto& circuit_builder, std::vector variables) +std::vector add_variables(auto& circuit_builder, std::vector variables) { std::vector res; for (size_t i = 0; i < variables.size(); i++) { @@ -67,7 +66,7 @@ class UltraHonkComposerTests : public ::testing::Test { */ TEST_F(UltraHonkComposerTests, ANonZeroPolynomialIsAGoodPolynomial) { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto composer = UltraComposer(); auto instance = composer.create_instance(circuit_builder); @@ -94,7 +93,8 @@ TEST_F(UltraHonkComposerTests, ANonZeroPolynomialIsAGoodPolynomial) */ TEST_F(UltraHonkComposerTests, PublicInputs) { - auto builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto builder = proof_system::UltraCircuitBuilder(); size_t num_gates = 10; // Add some arbitrary arithmetic gates that utilize public inputs @@ -118,7 +118,8 @@ TEST_F(UltraHonkComposerTests, PublicInputs) TEST_F(UltraHonkComposerTests, XorConstraint) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); uint32_t left_value = engine.get_random_uint32(); uint32_t right_value = engine.get_random_uint32(); @@ -146,7 +147,8 @@ TEST_F(UltraHonkComposerTests, XorConstraint) TEST_F(UltraHonkComposerTests, create_gates_from_plookup_accumulators) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); barretenberg::fr input_value = fr::random_element(); const fr input_hi = uint256_t(input_value).slice(126, 256); @@ -241,7 +243,8 @@ TEST_F(UltraHonkComposerTests, create_gates_from_plookup_accumulators) TEST_F(UltraHonkComposerTests, test_no_lookup_proof) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); for (size_t i = 0; i < 16; ++i) { for (size_t j = 0; j < 16; ++j) { @@ -266,7 +269,7 @@ TEST_F(UltraHonkComposerTests, test_elliptic_gate) { typedef grumpkin::g1::affine_element affine_element; typedef grumpkin::g1::element element; - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); affine_element p1 = crypto::generators::get_generator_data({ 0, 0 }).generator; @@ -302,7 +305,8 @@ TEST_F(UltraHonkComposerTests, test_elliptic_gate) TEST_F(UltraHonkComposerTests, non_trivial_tag_permutation) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fr a = fr::random_element(); fr b = -a; @@ -330,7 +334,8 @@ TEST_F(UltraHonkComposerTests, non_trivial_tag_permutation) TEST_F(UltraHonkComposerTests, non_trivial_tag_permutation_and_cycles) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fr a = fr::random_element(); fr c = -a; @@ -368,7 +373,8 @@ TEST_F(UltraHonkComposerTests, non_trivial_tag_permutation_and_cycles) TEST_F(UltraHonkComposerTests, bad_tag_permutation) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fr a = fr::random_element(); fr b = -a; @@ -395,7 +401,8 @@ TEST_F(UltraHonkComposerTests, bad_tag_permutation) // same as above but with turbocomposer to check reason of failue is really tag mismatch TEST_F(UltraHonkComposerTests, bad_tag_turbo_permutation) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fr a = fr::random_element(); fr b = -a; @@ -420,7 +427,8 @@ TEST_F(UltraHonkComposerTests, bad_tag_turbo_permutation) TEST_F(UltraHonkComposerTests, sort_widget) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fr a = fr::one(); fr b = fr(2); fr c = fr(3); @@ -438,6 +446,7 @@ TEST_F(UltraHonkComposerTests, sort_widget) TEST_F(UltraHonkComposerTests, sort_with_edges_gate) { + using fr = barretenberg::fr; fr a = fr::one(); fr b = fr(2); @@ -449,7 +458,7 @@ TEST_F(UltraHonkComposerTests, sort_with_edges_gate) fr h = fr(8); { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto a_idx = circuit_builder.add_variable(a); auto b_idx = circuit_builder.add_variable(b); auto c_idx = circuit_builder.add_variable(c); @@ -466,7 +475,7 @@ TEST_F(UltraHonkComposerTests, sort_with_edges_gate) } { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto a_idx = circuit_builder.add_variable(a); auto b_idx = circuit_builder.add_variable(b); auto c_idx = circuit_builder.add_variable(c); @@ -482,7 +491,7 @@ TEST_F(UltraHonkComposerTests, sort_with_edges_gate) prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto a_idx = circuit_builder.add_variable(a); auto b_idx = circuit_builder.add_variable(b); auto c_idx = circuit_builder.add_variable(c); @@ -498,7 +507,7 @@ TEST_F(UltraHonkComposerTests, sort_with_edges_gate) prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto a_idx = circuit_builder.add_variable(a); auto c_idx = circuit_builder.add_variable(c); auto d_idx = circuit_builder.add_variable(d); @@ -514,7 +523,7 @@ TEST_F(UltraHonkComposerTests, sort_with_edges_gate) prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto idx = add_variables(circuit_builder, { 1, 2, 5, 6, 7, 10, 11, 13, 16, 17, 20, 22, 22, 25, 26, 29, 29, 32, 32, 33, 35, 38, 39, 39, 42, 42, 43, 45 }); circuit_builder.create_sort_constraint_with_edges(idx, 1, 45); @@ -523,7 +532,7 @@ TEST_F(UltraHonkComposerTests, sort_with_edges_gate) prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto idx = add_variables(circuit_builder, { 1, 2, 5, 6, 7, 10, 11, 13, 16, 17, 20, 22, 22, 25, 26, 29, 29, 32, 32, 33, 35, 38, 39, 39, 42, 42, 43, 45 }); circuit_builder.create_sort_constraint_with_edges(idx, 1, 29); @@ -536,7 +545,7 @@ TEST_F(UltraHonkComposerTests, sort_with_edges_gate) TEST_F(UltraHonkComposerTests, range_constraint) { { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto indices = add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 7, 8 }); for (size_t i = 0; i < indices.size(); i++) { circuit_builder.create_new_range_constraint(indices[i], 8); @@ -548,7 +557,7 @@ TEST_F(UltraHonkComposerTests, range_constraint) prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto indices = add_variables(circuit_builder, { 3 }); for (size_t i = 0; i < indices.size(); i++) { circuit_builder.create_new_range_constraint(indices[i], 3); @@ -560,7 +569,7 @@ TEST_F(UltraHonkComposerTests, range_constraint) prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto indices = add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 8, 25 }); for (size_t i = 0; i < indices.size(); i++) { circuit_builder.create_new_range_constraint(indices[i], 8); @@ -571,7 +580,7 @@ TEST_F(UltraHonkComposerTests, range_constraint) prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto indices = add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 10, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 19, 51 }); for (size_t i = 0; i < indices.size(); i++) { @@ -583,7 +592,7 @@ TEST_F(UltraHonkComposerTests, range_constraint) prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto indices = add_variables(circuit_builder, { 1, 2, 3, 80, 5, 6, 29, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 13, 14 }); for (size_t i = 0; i < indices.size(); i++) { @@ -595,7 +604,7 @@ TEST_F(UltraHonkComposerTests, range_constraint) prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto indices = add_variables(circuit_builder, { 1, 0, 3, 80, 5, 6, 29, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 13, 14 }); for (size_t i = 0; i < indices.size(); i++) { @@ -610,7 +619,8 @@ TEST_F(UltraHonkComposerTests, range_constraint) TEST_F(UltraHonkComposerTests, range_with_gates) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto idx = add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 7, 8 }); for (size_t i = 0; i < idx.size(); i++) { circuit_builder.create_new_range_constraint(idx[i], 8); @@ -629,7 +639,8 @@ TEST_F(UltraHonkComposerTests, range_with_gates) TEST_F(UltraHonkComposerTests, range_with_gates_where_range_is_not_a_power_of_two) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto idx = add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 7, 8 }); for (size_t i = 0; i < idx.size(); i++) { circuit_builder.create_new_range_constraint(idx[i], 12); @@ -648,9 +659,10 @@ TEST_F(UltraHonkComposerTests, range_with_gates_where_range_is_not_a_power_of_tw TEST_F(UltraHonkComposerTests, sort_widget_complex) { + using fr = barretenberg::fr; { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); std::vector a = { 1, 3, 4, 7, 7, 8, 11, 14, 15, 15, 18, 19, 21, 21, 24, 25, 26, 27, 30, 32 }; std::vector ind; for (size_t i = 0; i < a.size(); i++) @@ -662,7 +674,7 @@ TEST_F(UltraHonkComposerTests, sort_widget_complex) } { - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); std::vector a = { 1, 3, 4, 7, 7, 8, 16, 14, 15, 15, 18, 19, 21, 21, 24, 25, 26, 27, 30, 32 }; std::vector ind; for (size_t i = 0; i < a.size(); i++) @@ -676,7 +688,8 @@ TEST_F(UltraHonkComposerTests, sort_widget_complex) TEST_F(UltraHonkComposerTests, sort_widget_neg) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fr a = fr::one(); fr b = fr(2); fr c = fr(3); @@ -694,7 +707,8 @@ TEST_F(UltraHonkComposerTests, sort_widget_neg) TEST_F(UltraHonkComposerTests, composed_range_constraint) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto c = fr::random_element(); auto d = uint256_t(c).slice(0, 133); auto e = fr(d); @@ -708,7 +722,9 @@ TEST_F(UltraHonkComposerTests, composed_range_constraint) TEST_F(UltraHonkComposerTests, non_native_field_multiplication) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + using fq = barretenberg::fq; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fq a = fq::random_element(); fq b = fq::random_element(); @@ -764,7 +780,8 @@ TEST_F(UltraHonkComposerTests, non_native_field_multiplication) TEST_F(UltraHonkComposerTests, rom) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); uint32_t rom_values[8]{ circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), @@ -806,7 +823,8 @@ TEST_F(UltraHonkComposerTests, rom) TEST_F(UltraHonkComposerTests, ram) { - auto circuit_builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); uint32_t ram_values[8]{ circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), @@ -870,9 +888,10 @@ TEST_F(UltraHonkComposerTests, ram) TEST(UltraGrumpkinHonkComposer, XorConstraint) { + using fr = barretenberg::fr; // NOTE: as a WIP, this test may not actually use the Grumpkin SRS (just the IPA PCS). - auto circuit_builder = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); uint32_t left_value = engine.get_random_uint32(); uint32_t right_value = engine.get_random_uint32(); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp index ebc8f422d91..9645beacdb4 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp @@ -64,8 +64,6 @@ template class Instance_ { // Used by the prover for domain separation in the transcript uint32_t index; - Instance_(); - Instance_(Circuit& circuit) { compute_circuit_size_parameters(circuit); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp index c0f594ec593..ae5b2fcfb24 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp @@ -11,7 +11,7 @@ /** * @brief IPA (inner-product argument) commitment scheme class. Conforms to the specification - * https://hackmd.io/q-A8y6aITWyWJrvsGGMWNA?view.x + * https://hackmd.io/q-A8y6aITWyWJrvsGGMWNA?view. * */ namespace proof_system::honk::pcs::ipa { diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/partial_evaluation.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/partial_evaluation.test.cpp index b84b30c72e8..990376c5a8e 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/partial_evaluation.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/partial_evaluation.test.cpp @@ -7,7 +7,7 @@ namespace test_sumcheck_polynomials { template class PartialEvaluationTests : public testing::Test {}; -using Flavors = testing::Types; +using Flavors = testing::Types; TYPED_TEST_SUITE(PartialEvaluationTests, Flavors); @@ -41,7 +41,7 @@ TYPED_TEST(PartialEvaluationTests, TwoRoundsSpecial) { using Flavor = TypeParam; using FF = typename Flavor::FF; - using Transcript = honk::ProverTranscript; + using Transcript = proof_system::honk::ProverTranscript; // values here are chosen to check another test const size_t multivariate_d(2); @@ -79,7 +79,7 @@ TYPED_TEST(PartialEvaluationTests, TwoRoundsGeneric) { using Flavor = TypeParam; using FF = typename Flavor::FF; - using Transcript = honk::ProverTranscript; + using Transcript = proof_system::honk::ProverTranscript; const size_t multivariate_d(2); const size_t multivariate_n(1 << multivariate_d); @@ -136,7 +136,7 @@ TYPED_TEST(PartialEvaluationTests, ThreeRoundsSpecial) { using Flavor = TypeParam; using FF = typename Flavor::FF; - using Transcript = honk::ProverTranscript; + using Transcript = proof_system::honk::ProverTranscript; const size_t multivariate_d(3); const size_t multivariate_n(1 << multivariate_d); @@ -187,7 +187,7 @@ TYPED_TEST(PartialEvaluationTests, ThreeRoundsGeneric) { using Flavor = TypeParam; using FF = typename Flavor::FF; - using Transcript = honk::ProverTranscript; + using Transcript = proof_system::honk::ProverTranscript; const size_t multivariate_d(3); const size_t multivariate_n(1 << multivariate_d); @@ -238,7 +238,7 @@ TYPED_TEST(PartialEvaluationTests, ThreeRoundsGenericMultiplePolys) { using Flavor = TypeParam; using FF = typename Flavor::FF; - using Transcript = honk::ProverTranscript; + using Transcript = proof_system::honk::ProverTranscript; const size_t multivariate_d(3); const size_t multivariate_n(1 << multivariate_d); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp index 7e2663702a8..a534db7ce05 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp @@ -1,3 +1,4 @@ +#include "barretenberg/ecc/curves/bn254/fr.hpp" #include "barretenberg/honk/composer/standard_composer.hpp" #include "barretenberg/honk/composer/ultra_composer.hpp" #include "barretenberg/honk/proof_system/grand_product_library.hpp" @@ -61,13 +62,14 @@ template void check_relation(auto relation, auto circuit_size, template void create_some_add_gates(auto& circuit_builder) { - fr a = fr::random_element(); + using FF = typename Flavor::FF; + auto a = FF::random_element(); // Add some basic add gates; incorporate a public input for non-trivial PI-delta uint32_t a_idx = circuit_builder.add_public_variable(a); - fr b = fr::random_element(); - fr c = a + b; - fr d = a + c; + FF b = FF::random_element(); + FF c = a + b; + FF d = a + c; uint32_t b_idx = circuit_builder.add_variable(b); uint32_t c_idx = circuit_builder.add_variable(c); uint32_t d_idx = circuit_builder.add_variable(d); @@ -77,8 +79,8 @@ template void create_some_add_gates(auto& circuit_builder) } // If Ultra arithmetization, add a big add gate with use of next row to test q_arith = 2 - if constexpr (IsUltraFlavor) { - fr e = a + b + c + d; + if constexpr (proof_system::IsUltraFlavor) { + FF e = a + b + c + d; uint32_t e_idx = circuit_builder.add_variable(e); uint32_t zero_idx = circuit_builder.zero_idx; @@ -89,10 +91,11 @@ template void create_some_add_gates(auto& circuit_builder) template void create_some_lookup_gates(auto& circuit_builder) { + using FF = typename Flavor::FF; // Add some lookup gates (related to pedersen hashing) - barretenberg::fr pedersen_input_value = fr::random_element(); - const fr input_hi = uint256_t(pedersen_input_value).slice(126, 256); - const fr input_lo = uint256_t(pedersen_input_value).slice(0, 126); + auto pedersen_input_value = FF::random_element(); + const auto input_hi = uint256_t(pedersen_input_value).slice(126, 256); + const auto input_lo = uint256_t(pedersen_input_value).slice(0, 126); const auto input_hi_index = circuit_builder.add_variable(input_hi); const auto input_lo_index = circuit_builder.add_variable(input_lo); @@ -118,12 +121,13 @@ template void create_some_genperm_sort_gates(auto& circuit_bui template void create_some_RAM_gates(auto& circuit_builder) { + using FF = typename Flavor::FF; // Add some RAM gates uint32_t ram_values[8]{ - circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), - circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), - circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), - circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), + circuit_builder.add_variable(FF::random_element()), circuit_builder.add_variable(FF::random_element()), + circuit_builder.add_variable(FF::random_element()), circuit_builder.add_variable(FF::random_element()), + circuit_builder.add_variable(FF::random_element()), circuit_builder.add_variable(FF::random_element()), + circuit_builder.add_variable(FF::random_element()), circuit_builder.add_variable(FF::random_element()), }; size_t ram_id = circuit_builder.create_RAM_array(8); @@ -188,11 +192,13 @@ template void create_some_elliptic_curve_addition_gates(auto& template void create_some_ecc_op_queue_gates(auto& circuit_builder) { - static_assert(IsGoblinFlavor); + using G1 = typename Flavor::Curve::Group; + using FF = typename Flavor::FF; + static_assert(proof_system::IsGoblinFlavor); const size_t num_ecc_operations = 10; // arbitrary for (size_t i = 0; i < num_ecc_operations; ++i) { - auto point = g1::affine_one * fr::random_element(); - auto scalar = fr::random_element(); + auto point = G1::affine_one * FF::random_element(); + auto scalar = FF::random_element(); circuit_builder.queue_ecc_mul_accum(point, scalar); } } @@ -214,12 +220,12 @@ class RelationCorrectnessTests : public ::testing::Test { */ TEST_F(RelationCorrectnessTests, StandardRelationCorrectness) { - using Flavor = honk::flavor::Standard; + using Flavor = flavor::Standard; using FF = typename Flavor::FF; using ProverPolynomials = typename Flavor::ProverPolynomials; // Create a composer and a dummy circuit with a few gates - auto builder = StandardCircuitBuilder(); + auto builder = proof_system::StandardCircuitBuilder(); create_some_add_gates(builder); @@ -229,13 +235,12 @@ TEST_F(RelationCorrectnessTests, StandardRelationCorrectness) auto circuit_size = prover.key->circuit_size; // Generate beta and gamma - fr beta = fr::random_element(); - fr gamma = fr::random_element(); + FF beta = FF::random_element(); + FF gamma = FF::random_element(); // Compute public input delta const auto public_inputs = builder.get_public_inputs(); - auto public_input_delta = - honk::compute_public_input_delta(public_inputs, beta, gamma, prover.key->circuit_size); + auto public_input_delta = compute_public_input_delta(public_inputs, beta, gamma, prover.key->circuit_size); proof_system::RelationParameters params{ .beta = beta, @@ -267,7 +272,7 @@ TEST_F(RelationCorrectnessTests, StandardRelationCorrectness) prover_polynomials.lagrange_last = prover.key->lagrange_last; // Compute grand product polynomial - grand_product_library::compute_grand_products(prover.key, prover_polynomials, params); + grand_product_library::compute_grand_products(prover.key, prover_polynomials, params); // Construct the round for applying sumcheck relations and results for storing computed results auto relations = std::tuple(proof_system::ArithmeticRelation(), proof_system::PermutationRelation()); @@ -290,12 +295,12 @@ TEST_F(RelationCorrectnessTests, StandardRelationCorrectness) // TODO(luke): Add a gate that sets q_arith = 3 to check secondary arithmetic relation TEST_F(RelationCorrectnessTests, UltraRelationCorrectness) { - using Flavor = honk::flavor::Ultra; + using Flavor = flavor::Ultra; using FF = typename Flavor::FF; // Create a composer and then add an assortment of gates designed to ensure that the constraint(s) represented // by each relation are non-trivially exercised. - auto builder = UltraCircuitBuilder(); + auto builder = proof_system::UltraCircuitBuilder(); // Create an assortment of representative gates create_some_add_gates(builder); @@ -311,9 +316,9 @@ TEST_F(RelationCorrectnessTests, UltraRelationCorrectness) auto circuit_size = proving_key->circuit_size; // Generate eta, beta and gamma - fr eta = fr::random_element(); - fr beta = fr::random_element(); - fr gamma = fr::random_element(); + FF eta = FF::random_element(); + FF beta = FF::random_element(); + FF gamma = FF::random_element(); instance->initialise_prover_polynomials(); instance->compute_sorted_accumulator_polynomials(eta); @@ -347,12 +352,12 @@ TEST_F(RelationCorrectnessTests, UltraRelationCorrectness) TEST_F(RelationCorrectnessTests, GoblinUltraRelationCorrectness) { - using Flavor = honk::flavor::GoblinUltra; + using Flavor = flavor::GoblinUltra; using FF = typename Flavor::FF; // Create a composer and then add an assortment of gates designed to ensure that the constraint(s) represented // by each relation are non-trivially exercised. - auto builder = UltraCircuitBuilder(); + auto builder = proof_system::UltraCircuitBuilder(); // Create an assortment of representative gates create_some_add_gates(builder); @@ -369,9 +374,9 @@ TEST_F(RelationCorrectnessTests, GoblinUltraRelationCorrectness) auto circuit_size = proving_key->circuit_size; // Generate eta, beta and gamma - fr eta = fr::random_element(); - fr beta = fr::random_element(); - fr gamma = fr::random_element(); + FF eta = FF::random_element(); + FF beta = FF::random_element(); + FF gamma = FF::random_element(); instance->initialise_prover_polynomials(); instance->compute_sorted_accumulator_polynomials(eta); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp index 5efd3669c9f..b4d51ef2a3f 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp @@ -15,7 +15,7 @@ using namespace proof_system::honk; using namespace proof_system::honk::sumcheck; -using Flavor = honk::flavor::Standard; // TODO(Cody): Generalize this test. +using Flavor = proof_system::honk::flavor::Standard; // TODO(Cody): Generalize this test. using FF = typename Flavor::FF; using ProverPolynomials = typename Flavor::ProverPolynomials; const size_t NUM_POLYNOMIALS = Flavor::NUM_ALL_ENTITIES; @@ -406,37 +406,35 @@ TEST_F(SumcheckTests, ProverAndVerifierLonger) */ TEST_F(SumcheckTests, RealCircuitStandard) { - using Flavor = honk::flavor::Standard; - using FF = typename Flavor::FF; using ProverPolynomials = typename Flavor::ProverPolynomials; // Create a composer and a dummy circuit with a few gates - auto builder = StandardCircuitBuilder(); - fr a = fr::one(); + auto builder = proof_system::StandardCircuitBuilder(); + FF a = FF::one(); // Using the public variable to check that public_input_delta is computed and added to the relation correctly uint32_t a_idx = builder.add_public_variable(a); - fr b = fr::one(); - fr c = a + b; - fr d = a + c; + FF b = FF::one(); + FF c = a + b; + FF d = a + c; uint32_t b_idx = builder.add_variable(b); uint32_t c_idx = builder.add_variable(c); uint32_t d_idx = builder.add_variable(d); for (size_t i = 0; i < 16; i++) { - builder.create_add_gate({ a_idx, b_idx, c_idx, fr::one(), fr::one(), fr::neg_one(), fr::zero() }); - builder.create_add_gate({ d_idx, c_idx, a_idx, fr::one(), fr::neg_one(), fr::neg_one(), fr::zero() }); + builder.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ d_idx, c_idx, a_idx, FF::one(), FF::neg_one(), FF::neg_one(), FF::zero() }); } // Create a prover (it will compute proving key and witness) auto composer = StandardComposer(); auto prover = composer.create_prover(builder); // Generate beta and gamma - fr beta = fr::random_element(); - fr gamma = fr::random_element(); + FF beta = FF::random_element(); + FF gamma = FF::random_element(); // Compute public input delta const auto public_inputs = builder.get_public_inputs(); auto public_input_delta = - honk::compute_public_input_delta(public_inputs, beta, gamma, prover.key->circuit_size); + proof_system::honk::compute_public_input_delta(public_inputs, beta, gamma, prover.key->circuit_size); proof_system::RelationParameters relation_parameters{ .beta = beta, @@ -487,18 +485,18 @@ TEST_F(SumcheckTests, RealCircuitStandard) */ TEST_F(SumcheckTests, RealCircuitUltra) { - using Flavor = honk::flavor::Ultra; + using Flavor = flavor::Ultra; using FF = typename Flavor::FF; // Create a composer and a dummy circuit with a few gates - auto builder = UltraCircuitBuilder(); - fr a = fr::one(); + auto builder = proof_system::UltraCircuitBuilder(); + FF a = FF::one(); // Add some basic add gates, with a public input for good measure uint32_t a_idx = builder.add_public_variable(a); - fr b = fr::one(); - fr c = a + b; - fr d = a + c; + FF b = FF::one(); + FF c = a + b; + FF d = a + c; uint32_t b_idx = builder.add_variable(b); uint32_t c_idx = builder.add_variable(c); uint32_t d_idx = builder.add_variable(d); @@ -508,7 +506,7 @@ TEST_F(SumcheckTests, RealCircuitUltra) } // Add a big add gate with use of next row to test q_arith = 2 - fr e = a + b + c + d; + FF e = a + b + c + d; uint32_t e_idx = builder.add_variable(e); uint32_t zero_idx = builder.zero_idx; @@ -516,9 +514,9 @@ TEST_F(SumcheckTests, RealCircuitUltra) builder.create_big_add_gate({ zero_idx, zero_idx, zero_idx, e_idx, 0, 0, 0, 0, 0 }, false); // Add some lookup gates (related to pedersen hashing) - barretenberg::fr pedersen_input_value = fr::random_element(); - const fr input_hi = uint256_t(pedersen_input_value).slice(126, 256); - const fr input_lo = uint256_t(pedersen_input_value).slice(0, 126); + auto pedersen_input_value = FF::random_element(); + const FF input_hi = uint256_t(pedersen_input_value).slice(126, 256); + const FF input_lo = uint256_t(pedersen_input_value).slice(0, 126); const auto input_hi_index = builder.add_variable(input_hi); const auto input_lo_index = builder.add_variable(input_lo); @@ -558,10 +556,10 @@ TEST_F(SumcheckTests, RealCircuitUltra) // Add some RAM gates uint32_t ram_values[8]{ - builder.add_variable(fr::random_element()), builder.add_variable(fr::random_element()), - builder.add_variable(fr::random_element()), builder.add_variable(fr::random_element()), - builder.add_variable(fr::random_element()), builder.add_variable(fr::random_element()), - builder.add_variable(fr::random_element()), builder.add_variable(fr::random_element()), + builder.add_variable(FF::random_element()), builder.add_variable(FF::random_element()), + builder.add_variable(FF::random_element()), builder.add_variable(FF::random_element()), + builder.add_variable(FF::random_element()), builder.add_variable(FF::random_element()), + builder.add_variable(FF::random_element()), builder.add_variable(FF::random_element()), }; size_t ram_id = builder.create_RAM_array(8); @@ -606,9 +604,9 @@ TEST_F(SumcheckTests, RealCircuitUltra) auto instance = composer.create_instance(builder); // Generate eta, beta and gamma - fr eta = fr::random_element(); - fr beta = fr::random_element(); - fr gamma = fr::random_element(); + FF eta = FF::random_element(); + FF beta = FF::random_element(); + FF gamma = FF::random_element(); instance->initialise_prover_polynomials(); instance->compute_sorted_accumulator_polynomials(eta); diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp index cd9fd477ff5..d9df5bcaa14 100644 --- a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp @@ -15,7 +15,7 @@ template class TranscriptTests : public testing::Test { // TODO(640): The Standard Honk on Grumpkin test suite fails unless the SRS is initialised for every test. virtual void SetUp() { - if constexpr (IsGrumpkinFlavor) { + if constexpr (proof_system::IsGrumpkinFlavor) { barretenberg::srs::init_grumpkin_crs_factory("../srs_db/grumpkin"); } else { barretenberg::srs::init_crs_factory("../srs_db/ignition"); @@ -94,7 +94,7 @@ template class TranscriptTests : public testing::Test { round++; // TODO(Mara): Make testing more flavor agnostic so we can test this with all flavors - if constexpr (IsGrumpkinFlavor) { + if constexpr (proof_system::IsGrumpkinFlavor) { manifest_expected.add_entry(round, "IPA:poly_degree", size_uint64); manifest_expected.add_challenge(round, "IPA:generator_challenge"); @@ -138,7 +138,7 @@ TYPED_TEST(TranscriptTests, ProverManifestConsistency) // Automatically generate a transcript manifest by constructing a proof auto composer = StandardComposer_(); auto prover = composer.create_prover(builder); - plonk::proof proof = prover.construct_proof(); + auto proof = prover.construct_proof(); // Check that the prover generated manifest agrees with the manifest hard coded in this suite auto manifest_expected = TestFixture::construct_standard_honk_manifest(prover.key->circuit_size); @@ -166,7 +166,7 @@ TYPED_TEST(TranscriptTests, VerifierManifestConsistency) // Automatically generate a transcript manifest in the prover by constructing a proof auto composer = StandardComposer_(); auto prover = composer.create_prover(builder); - plonk::proof proof = prover.construct_proof(); + auto proof = prover.construct_proof(); // Automatically generate a transcript manifest in the verifier by verifying a proof auto verifier = composer.create_verifier(builder); @@ -302,7 +302,7 @@ TEST_F(UltraTranscriptTests, UltraVerifierManifestConsistency) // Construct a simple circuit of size n = 8 (i.e. the minimum circuit size) auto builder = proof_system::UltraCircuitBuilder(); - fr a = 2; + auto a = 2; builder.add_variable(a); builder.add_public_variable(a); @@ -310,7 +310,7 @@ TEST_F(UltraTranscriptTests, UltraVerifierManifestConsistency) auto composer = UltraComposer(); auto instance = composer.create_instance(builder); auto prover = composer.create_prover(instance); - plonk::proof proof = prover.construct_proof(); + auto proof = prover.construct_proof(); // Automatically generate a transcript manifest in the verifier by verifying a proof auto verifier = composer.create_verifier(instance); @@ -333,8 +333,8 @@ TEST_F(UltraTranscriptTests, UltraVerifierManifestConsistency) TEST_F(UltraTranscriptTests, FoldingManifestTest) { auto builder_one = proof_system::UltraCircuitBuilder(); - fr a = 2; - fr b = 3; + auto a = 2; + auto b = 3; builder_one.add_variable(a); builder_one.add_public_variable(a); builder_one.add_public_variable(b); From c7a6282d470df8d56d607c423f5098b091501bf7 Mon Sep 17 00:00:00 2001 From: maramihali Date: Wed, 13 Sep 2023 15:48:54 +0000 Subject: [PATCH 20/28] add instance.test.cpp that i forgot to add --- .../honk/instance/instance.test.cpp | 104 ++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp new file mode 100644 index 00000000000..4fa3333440f --- /dev/null +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp @@ -0,0 +1,104 @@ + +#include "instance.hpp" +#include "barretenberg/ecc/curves/bn254/bn254.hpp" + +#include "barretenberg/honk/proof_system/grand_product_library.hpp" +#include "barretenberg/polynomials/polynomial.hpp" + +#include "barretenberg/srs/factories/file_crs_factory.hpp" +#include +#include +#include +#include +#include + +using namespace proof_system::honk; +namespace instance_tests { + +template class InstanceTests : public testing::Test { + using FF = typename Flavor::FF; + using Polynomial = barretenberg::Polynomial; + + public: + /** + * @brief Get a random polynomial + * + * @param size + * @return Polynomial + */ + static constexpr Polynomial get_random_polynomial(size_t size) + { + Polynomial random_polynomial{ size }; + for (auto& coeff : random_polynomial) { + coeff = FF::random_element(); + } + return random_polynomial; + } + + static void populate_span(auto& polynomial_view, const auto& polynomial) + { + ASSERT(polynomial_view.size() <= polynomial.size()); + for (size_t idx = 0; idx < polynomial.size(); idx++) { + polynomial_view[idx] = polynomial[idx]; + } + }; + /** + * @brief Check consistency of the computation of the sorted list accumulator + * @details This test compares a simple, unoptimized, easily readable calculation of the sorted list accumulator + * to the optimized implementation used by the prover. It's purpose is to provide confidence that some optimization + * introduced into the calculation has not changed the result. + * @note This test does confirm the correctness of the sorted list accumulator, only that the two implementations + * yield an identical result. + */ + static void test_sorted_list_accumulator_construction() + { + // Construct a simple circuit of size n = 8 (i.e. the minimum circuit size) + auto builder = proof_system::UltraCircuitBuilder(); + + auto a = 2; + builder.add_variable(a); + + builder.add_gates_to_ensure_all_polys_are_non_zero(); + builder.finalize_circuit(); + auto instance = Instance_(builder); + + // Get random challenge eta + auto eta = FF::random_element(); + + // Construct mock sorted list polynomials. + std::vector sorted_lists; + auto sorted_list_polynomials = instance.proving_key->get_sorted_polynomials(); + for (auto& sorted_list_poly : sorted_list_polynomials) { + Polynomial random_polynomial = get_random_polynomial(instance.proving_key->circuit_size); + sorted_lists.emplace_back(random_polynomial); + populate_span(sorted_list_poly, random_polynomial); + } + + // Method 1: computed sorted list accumulator polynomial using prover library method + instance.compute_sorted_list_accumulator(eta); + auto sorted_list_accumulator = instance.proving_key->sorted_accum; + + // Method 2: Compute local sorted list accumulator simply and inefficiently + const FF eta_sqr = eta.sqr(); + const FF eta_cube = eta_sqr * eta; + + // Compute s = s_1 + η*s_2 + η²*s_3 + η³*s_4 + Polynomial sorted_list_accumulator_expected{ sorted_lists[0] }; + for (size_t i = 0; i < instance.proving_key->circuit_size; ++i) { + sorted_list_accumulator_expected[i] += + sorted_lists[1][i] * eta + sorted_lists[2][i] * eta_sqr + sorted_lists[3][i] * eta_cube; + } + + EXPECT_EQ(sorted_list_accumulator, sorted_list_accumulator_expected); + }; +}; + +using FlavorTypes = testing::Types; +TYPED_TEST_SUITE(InstanceTests, FlavorTypes); + +TYPED_TEST(InstanceTests, SortedListAccumulator) +{ + TestFixture::test_sorted_list_accumulator_construction(); +} + +} // namespace instance_tests \ No newline at end of file From 0157a1c5c53925a25b595c2f582a04ec91e2a833 Mon Sep 17 00:00:00 2001 From: maramihali Date: Wed, 13 Sep 2023 16:02:20 +0000 Subject: [PATCH 21/28] add grand_product_library.test.cpp that i forgot to add --- .../grand_product_library.test.cpp | 392 ++++++++++++++++++ 1 file changed, 392 insertions(+) create mode 100644 circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.test.cpp b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.test.cpp new file mode 100644 index 00000000000..b8fa9949f26 --- /dev/null +++ b/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.test.cpp @@ -0,0 +1,392 @@ + +#include "grand_product_library.hpp" +#include "barretenberg/ecc/curves/bn254/bn254.hpp" +#include "barretenberg/honk/flavor/standard.hpp" +#include "barretenberg/honk/flavor/ultra.hpp" +#include "barretenberg/polynomials/polynomial.hpp" + +#include "barretenberg/srs/factories/file_crs_factory.hpp" +#include +#include +#include +#include +#include + +using namespace proof_system::honk; +namespace grand_product_library_tests { + +template class GrandProductTests : public testing::Test { + + using Polynomial = barretenberg::Polynomial; + + public: + /** + * @brief Get a random polynomial + * + * @param size + * @return Polynomial + */ + static constexpr Polynomial get_random_polynomial(size_t size) + { + Polynomial random_polynomial{ size }; + for (auto& coeff : random_polynomial) { + coeff = FF::random_element(); + } + return random_polynomial; + } + + static void populate_span(auto& polynomial_view, const auto& polynomial) + { + ASSERT(polynomial_view.size() <= polynomial.size()); + for (size_t idx = 0; idx < polynomial.size(); idx++) { + polynomial_view[idx] = polynomial[idx]; + } + }; + + /** + * @brief Check consistency of the computation of the permutation grand product polynomial z_permutation. + * @details This test compares a simple, unoptimized, easily readable calculation of the grand product z_permutation + * to the optimized implementation used by the prover. It's purpose is to provide confidence that some optimization + * introduced into the calculation has not changed the result. + * @note This test does confirm the correctness of z_permutation, only that the two implementations yield an + * identical result. + */ + template static void test_permutation_grand_product_construction() + { + // Define some mock inputs for proving key constructor + static const size_t num_gates = 8; + static const size_t num_public_inputs = 0; + + // Instatiate a proving_key and make a pointer to it. This will be used to instantiate a Prover. + auto proving_key = std::make_shared(num_gates, num_public_inputs); + + // static const size_t program_width = StandardProver::settings_::program_width; + + // Construct mock wire and permutation polynomials. + // Note: for the purpose of checking the consistency between two methods of computing z_perm, these polynomials + // can simply be random. We're not interested in the particular properties of the result. + std::vector wires; + std::vector sigmas; + std::vector ids; + + auto wire_polynomials = proving_key->get_wires(); + auto sigma_polynomials = proving_key->get_sigma_polynomials(); + auto id_polynomials = proving_key->get_id_polynomials(); + for (size_t i = 0; i < Flavor::NUM_WIRES; ++i) { + wires.emplace_back(get_random_polynomial(num_gates)); + sigmas.emplace_back(get_random_polynomial(num_gates)); + ids.emplace_back(get_random_polynomial(num_gates)); + + populate_span(wire_polynomials[i], wires[i]); + populate_span(sigma_polynomials[i], sigmas[i]); + populate_span(id_polynomials[i], ids[i]); + } + + // Get random challenges + auto beta = FF::random_element(); + auto gamma = FF::random_element(); + + proof_system::RelationParameters params{ + .eta = 0, + .beta = beta, + .gamma = gamma, + .public_input_delta = 1, + .lookup_grand_product_delta = 1, + }; + + typename Flavor::ProverPolynomials prover_polynomials; + prover_polynomials.w_l = proving_key->w_l; + prover_polynomials.w_r = proving_key->w_r; + prover_polynomials.w_o = proving_key->w_o; + prover_polynomials.q_m = proving_key->q_m; + prover_polynomials.q_l = proving_key->q_l; + prover_polynomials.q_r = proving_key->q_r; + prover_polynomials.q_o = proving_key->q_o; + prover_polynomials.q_c = proving_key->q_c; + prover_polynomials.sigma_1 = proving_key->sigma_1; + prover_polynomials.sigma_2 = proving_key->sigma_2; + prover_polynomials.sigma_3 = proving_key->sigma_3; + prover_polynomials.id_1 = proving_key->id_1; + prover_polynomials.id_2 = proving_key->id_2; + prover_polynomials.id_3 = proving_key->id_3; + prover_polynomials.lagrange_first = proving_key->lagrange_first; + prover_polynomials.lagrange_last = proving_key->lagrange_last; + if constexpr (Flavor::NUM_WIRES == 4) { + prover_polynomials.w_4 = proving_key->w_4; + prover_polynomials.sigma_4 = proving_key->sigma_4; + prover_polynomials.id_4 = proving_key->id_4; + } + prover_polynomials.z_perm = proving_key->z_perm; + + // Method 1: Compute z_perm using 'compute_grand_product_polynomial' as the prover would in practice + constexpr size_t PERMUTATION_RELATION_INDEX = 0; + using LHS = + typename std::tuple_element::type; + if constexpr (Flavor::NUM_WIRES == 4) { + using RHS = typename proof_system::UltraPermutationRelation; + static_assert(std::same_as); + grand_product_library::compute_grand_product( + proving_key->circuit_size, prover_polynomials, params); + } else { + using RHS = proof_system::PermutationRelation; + static_assert(std::same_as); + grand_product_library::compute_grand_product( + proving_key->circuit_size, prover_polynomials, params); + } + + // Method 2: Compute z_perm locally using the simplest non-optimized syntax possible. The comment below, + // which describes the computation in 4 steps, is adapted from a similar comment in + // compute_grand_product_polynomial. + /* + * Assume Flavor::NUM_WIRES 3. Z_perm may be defined in terms of its values + * on X_i = 0,1,...,n-1 as Z_perm[0] = 0 and for i = 1:n-1 + * + * (w_1(j) + β⋅id_1(j) + γ) ⋅ (w_2(j) + β⋅id_2(j) + γ) ⋅ (w_3(j) + β⋅id_3(j) + γ) + * Z_perm[i] = ∏ -------------------------------------------------------------------------------- + * (w_1(j) + β⋅σ_1(j) + γ) ⋅ (w_2(j) + β⋅σ_2(j) + γ) ⋅ (w_3(j) + β⋅σ_3(j) + γ) + * + * where ∏ := ∏_{j=0:i-1} and id_i(X) = id(X) + n*(i-1). These evaluations are constructed over the + * course of three steps. For expositional simplicity, write Z_perm[i] as + * + * A_1(j) ⋅ A_2(j) ⋅ A_3(j) + * Z_perm[i] = ∏ -------------------------- + * B_1(j) ⋅ B_2(j) ⋅ B_3(j) + * + * Step 1) Compute the 2*Flavor::NUM_WIRES length-n polynomials A_i and B_i + * Step 2) Compute the 2*Flavor::NUM_WIRES length-n polynomials ∏ A_i(j) and ∏ B_i(j) + * Step 3) Compute the two length-n polynomials defined by + * numer[i] = ∏ A_1(j)⋅A_2(j)⋅A_3(j), and denom[i] = ∏ B_1(j)⋅B_2(j)⋅B_3(j) + * Step 4) Compute Z_perm[i+1] = numer[i]/denom[i] (recall: Z_perm[0] = 1) + */ + + // Make scratch space for the numerator and denominator accumulators. + std::array, Flavor::NUM_WIRES> numerator_accum; + std::array, Flavor::NUM_WIRES> denominator_accum; + + // Step (1) + for (size_t i = 0; i < proving_key->circuit_size; ++i) { + for (size_t k = 0; k < Flavor::NUM_WIRES; ++k) { + numerator_accum[k][i] = wires[k][i] + (ids[k][i] * beta) + gamma; // w_k(i) + β.id_k(i) + γ + denominator_accum[k][i] = wires[k][i] + (sigmas[k][i] * beta) + gamma; // w_k(i) + β.σ_k(i) + γ + } + } + + // Step (2) + for (size_t k = 0; k < Flavor::NUM_WIRES; ++k) { + for (size_t i = 0; i < proving_key->circuit_size - 1; ++i) { + numerator_accum[k][i + 1] *= numerator_accum[k][i]; + denominator_accum[k][i + 1] *= denominator_accum[k][i]; + } + } + + // Step (3) + for (size_t i = 0; i < proving_key->circuit_size; ++i) { + for (size_t k = 1; k < Flavor::NUM_WIRES; ++k) { + numerator_accum[0][i] *= numerator_accum[k][i]; + denominator_accum[0][i] *= denominator_accum[k][i]; + } + } + + // Step (4) + Polynomial z_permutation_expected(proving_key->circuit_size); + z_permutation_expected[0] = FF::zero(); // Z_0 = 1 + // Note: in practice, we replace this expensive element-wise division with Montgomery batch inversion + for (size_t i = 0; i < proving_key->circuit_size - 1; ++i) { + z_permutation_expected[i + 1] = numerator_accum[0][i] / denominator_accum[0][i]; + } + + // Check consistency between locally computed z_perm and the one computed by the prover library + EXPECT_EQ(proving_key->z_perm, z_permutation_expected); + }; + + /** + * @brief Check consistency of the computation of the lookup grand product polynomial z_lookup. + * @details This test compares a simple, unoptimized, easily readable calculation of the grand product z_lookup + * to the optimized implementation used by the prover. It's purpose is to provide confidence that some optimization + * introduced into the calculation has not changed the result. + * @note This test does confirm the correctness of z_lookup, only that the two implementations yield an + * identical result. + */ + static void test_lookup_grand_product_construction() + { + // Define some mock inputs for proving key constructor + static const size_t circuit_size = 8; + static const size_t num_public_inputs = 0; + + // Instatiate a proving_key and make a pointer to it. This will be used to instantiate a Prover. + using Flavor = flavor::Ultra; + auto proving_key = std::make_shared(circuit_size, num_public_inputs); + + // Construct mock wire and permutation polynomials. + // Note: for the purpose of checking the consistency between two methods of computing z_lookup, these + // polynomials can simply be random. We're not interested in the particular properties of the result. + std::vector wires; + auto wire_polynomials = proving_key->get_wires(); + // Note(luke): Use of 3 wires is fundamental to the structure of the tables and should not be tied to NUM_WIRES + // for now + for (size_t i = 0; i < 3; ++i) { // TODO(Cody): will this test ever generalize? + Polynomial random_polynomial = get_random_polynomial(circuit_size); + random_polynomial[0] = 0; // when computing shifts, 1st element needs to be 0 + wires.emplace_back(random_polynomial); + populate_span(wire_polynomials[i], random_polynomial); + } + + std::vector tables; + auto table_polynomials = proving_key->get_table_polynomials(); + for (auto& table_polynomial : table_polynomials) { + Polynomial random_polynomial = get_random_polynomial(circuit_size); + random_polynomial[0] = 0; // when computing shifts, 1st element needs to be 0 + tables.emplace_back(random_polynomial); + populate_span(table_polynomial, random_polynomial); + } + + auto sorted_batched = get_random_polynomial(circuit_size); + sorted_batched[0] = 0; // when computing shifts, 1st element needs to be 0 + auto column_1_step_size = get_random_polynomial(circuit_size); + auto column_2_step_size = get_random_polynomial(circuit_size); + auto column_3_step_size = get_random_polynomial(circuit_size); + auto lookup_index_selector = get_random_polynomial(circuit_size); + auto lookup_selector = get_random_polynomial(circuit_size); + + proving_key->sorted_accum = sorted_batched; + populate_span(proving_key->q_r, column_1_step_size); + populate_span(proving_key->q_m, column_2_step_size); + populate_span(proving_key->q_c, column_3_step_size); + populate_span(proving_key->q_o, lookup_index_selector); + populate_span(proving_key->q_lookup, lookup_selector); + + // Get random challenges + auto beta = FF::random_element(); + auto gamma = FF::random_element(); + auto eta = FF::random_element(); + + proof_system::RelationParameters params{ + .eta = eta, + .beta = beta, + .gamma = gamma, + .public_input_delta = 1, + .lookup_grand_product_delta = 1, + }; + + Flavor::ProverPolynomials prover_polynomials; + prover_polynomials.w_l = proving_key->w_l; + prover_polynomials.w_r = proving_key->w_r; + prover_polynomials.w_o = proving_key->w_o; + prover_polynomials.w_l_shift = proving_key->w_l.shifted(); + prover_polynomials.w_r_shift = proving_key->w_r.shifted(); + prover_polynomials.w_o_shift = proving_key->w_o.shifted(); + prover_polynomials.sorted_accum = proving_key->sorted_accum; + prover_polynomials.sorted_accum_shift = proving_key->sorted_accum.shifted(); + prover_polynomials.table_1 = proving_key->table_1; + prover_polynomials.table_2 = proving_key->table_2; + prover_polynomials.table_3 = proving_key->table_3; + prover_polynomials.table_4 = proving_key->table_4; + prover_polynomials.table_1_shift = proving_key->table_1.shifted(); + prover_polynomials.table_2_shift = proving_key->table_2.shifted(); + prover_polynomials.table_3_shift = proving_key->table_3.shifted(); + prover_polynomials.table_4_shift = proving_key->table_4.shifted(); + prover_polynomials.q_m = proving_key->q_m; + prover_polynomials.q_r = proving_key->q_r; + prover_polynomials.q_o = proving_key->q_o; + prover_polynomials.q_c = proving_key->q_c; + prover_polynomials.q_lookup = proving_key->q_lookup; + prover_polynomials.z_perm = proving_key->z_perm; + prover_polynomials.z_lookup = proving_key->z_lookup; + + // Method 1: Compute z_lookup using the prover library method + constexpr size_t LOOKUP_RELATION_INDEX = 1; + using LHS = typename std::tuple_element::type; + using RHS = proof_system::LookupRelation; + static_assert(std::same_as); + grand_product_library::compute_grand_product( + proving_key->circuit_size, prover_polynomials, params); + + // Method 2: Compute the lookup grand product polynomial Z_lookup: + // + // ∏(1 + β) ⋅ ∏(q_lookup*f_k + γ) ⋅ ∏(t_k + βt_{k+1} + γ(1 + β)) + // Z_lookup(X_j) = ----------------------------------------------------------------- + // ∏(s_k + βs_{k+1} + γ(1 + β)) + // + // in a way that is simple to read (but inefficient). See prover library method for more details. + const FF eta_sqr = eta.sqr(); + const FF eta_cube = eta_sqr * eta; + + std::array accumulators; + for (size_t i = 0; i < 4; ++i) { + accumulators[i] = Polynomial{ circuit_size }; + } + + // Step (1) + + // Note: block_mask is used for efficient modulus, i.e. i % N := i & (N-1), for N = 2^k + const size_t block_mask = circuit_size - 1; + // Initialize 't(X)' to be used in an expression of the form t(X) + β*t(Xω) + FF table_i = tables[0][0] + tables[1][0] * eta + tables[2][0] * eta_sqr + tables[3][0] * eta_cube; + for (size_t i = 0; i < circuit_size; ++i) { + size_t shift_idx = (i + 1) & block_mask; + + // f = (w_1 + q_2*w_1(Xω)) + η(w_2 + q_m*w_2(Xω)) + η²(w_3 + q_c*w_3(Xω)) + η³q_index. + FF f_i = (wires[0][i] + wires[0][shift_idx] * column_1_step_size[i]) + + (wires[1][i] + wires[1][shift_idx] * column_2_step_size[i]) * eta + + (wires[2][i] + wires[2][shift_idx] * column_3_step_size[i]) * eta_sqr + + eta_cube * lookup_index_selector[i]; + + // q_lookup * f + γ + accumulators[0][i] = lookup_selector[i] * f_i + gamma; + + // t = t_1 + ηt_2 + η²t_3 + η³t_4 + FF table_i_plus_1 = tables[0][shift_idx] + eta * tables[1][shift_idx] + eta_sqr * tables[2][shift_idx] + + eta_cube * tables[3][shift_idx]; + + // t + βt(Xω) + γ(1 + β) + accumulators[1][i] = table_i + table_i_plus_1 * beta + gamma * (FF::one() + beta); + + // (1 + β) + accumulators[2][i] = FF::one() + beta; + + // s + βs(Xω) + γ(1 + β) + accumulators[3][i] = sorted_batched[i] + beta * sorted_batched[shift_idx] + gamma * (FF::one() + beta); + + // Set t(X_i) for next iteration + table_i = table_i_plus_1; + } + + // Step (2) + for (auto& accum : accumulators) { + for (size_t i = 0; i < circuit_size - 1; ++i) { + accum[i + 1] *= accum[i]; + } + } + + // Step (3) + Polynomial z_lookup_expected(circuit_size); + z_lookup_expected[0] = FF::zero(); // Z_lookup_0 = 0 + + // Compute the numerator in accumulators[0]; The denominator is in accumulators[3] + for (size_t i = 0; i < circuit_size - 1; ++i) { + accumulators[0][i] *= accumulators[1][i] * accumulators[2][i]; + } + // Compute Z_lookup_i, i = [1, n-1] + for (size_t i = 0; i < circuit_size - 1; ++i) { + z_lookup_expected[i + 1] = accumulators[0][i] / accumulators[3][i]; + } + + EXPECT_EQ(proving_key->z_lookup, z_lookup_expected); + }; +}; + +using FieldTypes = testing::Types; +TYPED_TEST_SUITE(GrandProductTests, FieldTypes); + +TYPED_TEST(GrandProductTests, GrandProductPermutation) +{ + TestFixture::template test_permutation_grand_product_construction(); + TestFixture::template test_permutation_grand_product_construction(); +} + +TYPED_TEST(GrandProductTests, GrandProductLookup) +{ + TestFixture::test_lookup_grand_product_construction(); +} + +} // namespace grand_product_library_tests \ No newline at end of file From 62e0c628709f466e45c1efd7fcb7f4f172e81428 Mon Sep 17 00:00:00 2001 From: ludamad Date: Wed, 13 Sep 2023 17:07:36 +0000 Subject: [PATCH 22/28] chore: move bb for merge --- .gitmodules | 8 +- .../.circleci/config.yml | 0 .../.dockerignore | 0 .../.github/pull_request_template.md | 0 .../.github/workflows/benchmarks.yml | 0 .../.github/workflows/nix.yml | 0 .../.github/workflows/noir.yml | 0 .../.github/workflows/pull-request.yml | 0 .../barretenberg => barretenberg}/.gitignore | 0 .../barretenberg => barretenberg}/.gitmodules | 0 .../barretenberg => barretenberg}/.gitrepo | 0 .../.vscode/c_cpp_properties.json | 0 .../.vscode/settings.json | 0 barretenberg/CHANGELOG.md | 438 ++++++++++++++++- .../cpp/barretenberg => barretenberg}/LICENSE | 0 .../cpp/barretenberg => barretenberg}/PROJECT | 0 .../barretenberg => barretenberg}/README.md | 0 .../cpp/barretenberg => barretenberg}/VERSION | 0 .../acir_tests/.dockerignore | 0 .../acir_tests/.gitignore | 0 .../acir_tests/Dockerfile.bb | 0 .../acir_tests/Dockerfile.bb.js | 0 .../acir_tests/README.md | 0 .../acir_tests/browser-test-app/package.json | 0 .../acir_tests/browser-test-app/serve.mt.json | 0 .../browser-test-app/src/index.html | 0 .../acir_tests/browser-test-app/src/index.ts | 0 .../acir_tests/browser-test-app/tsconfig.json | 0 .../browser-test-app/webpack.config.js | 0 .../acir_tests/browser-test-app/yarn.lock | 0 .../acir_tests/flows/all_cmds.sh | 0 .../acir_tests/flows/prove_and_verify.sh | 0 .../acir_tests/headless-test/bb.js.browser | 0 .../acir_tests/headless-test/package.json | 0 .../acir_tests/headless-test/src/index.ts | 0 .../acir_tests/headless-test/tsconfig.json | 0 .../acir_tests/headless-test/yarn.lock | 0 .../acir_tests/run_acir_tests.sh | 0 .../acir_tests/run_acir_tests_browser.sh | 0 .../barretenberg-wasm.nix | 0 .../barretenberg.code-workspace | 0 .../barretenberg.nix | 0 .../bootstrap.sh | 0 .../bootstrap_docker.sh | 0 .../build-system | 0 .../build_manifest.json | 0 .../build_manifest.sh | 0 .../cpp/.aztec-packages-commit | 0 .../cpp/.clang-format | 0 .../barretenberg => barretenberg}/cpp/.clangd | 0 .../cpp/.dockerignore | 0 .../cpp/.gitignore | 0 .../cpp/CMakeLists.txt | 0 .../cpp/CMakePresets.json | 0 .../cpp/bin-test/target/acir.gz | Bin .../cpp/bin-test/target/witness.gz | Bin .../cpp/bootstrap.sh | 0 .../cpp/cmake/arch.cmake | 0 .../cpp/cmake/barretenberg.pc.in | 0 .../cpp/cmake/benchmark.cmake | 0 .../cpp/cmake/build.cmake | 0 .../cpp/cmake/gtest.cmake | 0 .../cpp/cmake/module.cmake | 0 .../cpp/cmake/threading.cmake | 0 .../cpp/cmake/toolchains/aarch64-darwin.cmake | 0 .../cpp/cmake/toolchains/aarch64-linux.cmake | 0 .../cpp/cmake/toolchains/i386-linux.cmake | 0 .../cpp/cmake/toolchains/wasm32-wasi.cmake | 0 .../cpp/cmake/toolchains/x86_64-darwin.cmake | 0 .../cpp/cmake/toolchains/x86_64-linux.cmake | 0 .../dockerfiles/Dockerfile.wasm-linux-clang | 0 .../dockerfiles/Dockerfile.x86_64-linux-clang | 0 .../Dockerfile.x86_64-linux-clang-assert | 0 .../Dockerfile.x86_64-linux-clang-benchmarks | 0 .../Dockerfile.x86_64-linux-clang-fuzzing | 0 .../dockerfiles/Dockerfile.x86_64-linux-gcc | 0 .../cpp/docs/Fuzzing.md | 0 .../cpp/format.sh | 0 .../cpp/notebook.ipynb | 0 .../cpp/scripts/bb-tests.sh | 0 .../scripts/collect_coverage_information.sh | 0 .../cpp/scripts/install-wasi-sdk.sh | 0 .../cpp/scripts/run_aztec_circuits_tests | 0 .../cpp/scripts/run_tests | 0 .../cpp/scripts/stdlib-tests | 0 .../cpp/scripts/strip-wasm.sh | 0 .../cpp/src/CMakeLists.txt | 0 .../cpp/src/barretenberg/barretenberg.hpp | 0 .../cpp/src/barretenberg/bb/CMakeLists.txt | 0 .../cpp/src/barretenberg/bb/exec_pipe.hpp | 0 .../cpp/src/barretenberg/bb/file_io.hpp | 0 .../cpp/src/barretenberg/bb/get_bytecode.hpp | 0 .../cpp/src/barretenberg/bb/get_crs.hpp | 0 .../cpp/src/barretenberg/bb/get_witness.hpp | 0 .../cpp/src/barretenberg/bb/log.hpp | 0 .../cpp/src/barretenberg/bb/main.cpp | 0 .../cpp/src/barretenberg/bb/readme.md | 0 .../src/barretenberg/benchmark/CMakeLists.txt | 0 .../benchmark/compare_branch_vs_baseline.sh | 0 .../benchmark/decrypt_bench/CMakeLists.txt | 0 .../benchmark/decrypt_bench/main.cpp | 0 .../benchmark/honk_bench/CMakeLists.txt | 0 .../honk_bench/benchmark_utilities.hpp | 0 .../compare_honk_to_plonk_standard.sh | 0 .../honk_bench/compare_honk_to_plonk_ultra.sh | 0 .../benchmark/honk_bench/honk.bench.cpp | 0 .../benchmark/honk_bench/main.bench.cpp | 0 .../honk_bench/standard_honk.bench.cpp | 0 .../honk_bench/standard_plonk.bench.cpp | 0 .../benchmark/honk_bench/ultra_honk.bench.cpp | 0 .../honk_bench/ultra_plonk.bench.cpp | 0 .../benchmark/pippenger_bench/CMakeLists.txt | 0 .../benchmark/pippenger_bench/main.cpp | 0 .../benchmark/plonk_bench/CMakeLists.txt | 0 .../benchmark/plonk_bench/plonk.bench.cpp | 0 .../benchmark/relations_bench/CMakeLists.txt | 0 .../relations_bench/barycentric.bench.cpp | 0 .../benchmark/relations_bench/main.bench.cpp | 0 .../relations_bench/relations.bench.cpp | 0 .../src/barretenberg/common/CMakeLists.txt | 0 .../cpp/src/barretenberg/common/assert.hpp | 0 .../cpp/src/barretenberg/common/c_bind.cpp | 0 .../cpp/src/barretenberg/common/c_bind.hpp | 0 .../barretenberg/common/constexpr_utils.hpp | 0 .../cpp/src/barretenberg/common/container.hpp | 0 .../cpp/src/barretenberg/common/fuzzer.hpp | 0 .../barretenberg/common/fuzzer_constants.hpp | 0 .../cpp/src/barretenberg/common/inline.hpp | 0 .../cpp/src/barretenberg/common/log.hpp | 0 .../cpp/src/barretenberg/common/map.hpp | 0 .../cpp/src/barretenberg/common/mem.cpp | 0 .../cpp/src/barretenberg/common/mem.hpp | 0 .../common/moody/blockingconcurrentqueue.h | 0 .../common/moody/concurrentqueue.h | 0 .../common/moody/lightweightsemaphore.h | 0 .../cpp/src/barretenberg/common/net.hpp | 0 .../common/parallel_for_atomic_pool.cpp | 0 .../common/parallel_for_moody.cpp | 0 .../common/parallel_for_mutex_pool.cpp | 0 .../barretenberg/common/parallel_for_omp.cpp | 0 .../common/parallel_for_queued.cpp | 0 .../common/parallel_for_spawning.cpp | 0 .../cpp/src/barretenberg/common/printf.hpp | 0 .../cpp/src/barretenberg/common/serialize.hpp | 0 .../barretenberg/common/slab_allocator.cpp | 0 .../barretenberg/common/slab_allocator.hpp | 0 .../cpp/src/barretenberg/common/streams.hpp | 0 .../cpp/src/barretenberg/common/test.hpp | 0 .../cpp/src/barretenberg/common/thread.cpp | 0 .../cpp/src/barretenberg/common/thread.hpp | 0 .../barretenberg/common/throw_or_abort.hpp | 0 .../cpp/src/barretenberg/common/timer.hpp | 0 .../src/barretenberg/common/wasm_export.hpp | 0 .../src/barretenberg/crypto/CMakeLists.txt | 0 .../barretenberg/crypto/aes128/CMakeLists.txt | 0 .../src/barretenberg/crypto/aes128/aes128.cpp | 0 .../src/barretenberg/crypto/aes128/aes128.hpp | 0 .../crypto/aes128/aes128.test.cpp | 0 .../src/barretenberg/crypto/aes128/c_bind.cpp | 0 .../crypto/blake2s/CMakeLists.txt | 0 .../crypto/blake2s/blake2-impl.hpp | 0 .../barretenberg/crypto/blake2s/blake2s.cpp | 0 .../barretenberg/crypto/blake2s/blake2s.hpp | 0 .../crypto/blake2s/blake2s.test.cpp | 0 .../barretenberg/crypto/blake2s/c_bind.cpp | 0 .../barretenberg/crypto/blake2s/c_bind.hpp | 0 .../crypto/blake3s/CMakeLists.txt | 0 .../crypto/blake3s/blake3-impl.hpp | 0 .../barretenberg/crypto/blake3s/blake3s.cpp | 0 .../barretenberg/crypto/blake3s/blake3s.hpp | 0 .../crypto/blake3s/blake3s.test.cpp | 0 .../barretenberg/crypto/blake3s/c_bind.cpp | 0 .../crypto/blake3s_full/CMakeLists.txt | 0 .../crypto/blake3s_full/blake3-impl.hpp | 0 .../crypto/blake3s_full/blake3s.cpp | 0 .../crypto/blake3s_full/blake3s.hpp | 0 .../crypto/blake3s_full/blake3s.test.cpp | 0 .../barretenberg/crypto/ecdsa/CMakeLists.txt | 0 .../src/barretenberg/crypto/ecdsa/c_bind.cpp | 0 .../src/barretenberg/crypto/ecdsa/c_bind.h | 0 .../src/barretenberg/crypto/ecdsa/ecdsa.hpp | 0 .../barretenberg/crypto/ecdsa/ecdsa.test.cpp | 0 .../barretenberg/crypto/ecdsa/ecdsa_impl.hpp | 0 .../crypto/generators/CMakeLists.txt | 0 .../generators/fixed_base_scalar_mul.hpp | 0 .../crypto/generators/generator_data.cpp | 0 .../crypto/generators/generator_data.hpp | 0 .../crypto/generators/generator_data.test.cpp | 0 .../barretenberg/crypto/hashers/hashers.hpp | 0 .../barretenberg/crypto/hmac/CMakeLists.txt | 0 .../cpp/src/barretenberg/crypto/hmac/hmac.hpp | 0 .../barretenberg/crypto/hmac/hmac.test.cpp | 0 .../barretenberg/crypto/keccak/CMakeLists.txt | 0 .../barretenberg/crypto/keccak/hash_types.hpp | 0 .../src/barretenberg/crypto/keccak/keccak.cpp | 0 .../src/barretenberg/crypto/keccak/keccak.hpp | 0 .../crypto/keccak/keccakf1600.cpp | 0 .../crypto/pedersen_commitment/CMakeLists.txt | 0 .../crypto/pedersen_commitment/c_bind.cpp | 0 .../crypto/pedersen_commitment/c_bind.hpp | 0 .../crypto/pedersen_commitment/c_bind_new.cpp | 0 .../crypto/pedersen_commitment/c_bind_new.hpp | 0 .../convert_buffer_to_field.hpp | 0 .../crypto/pedersen_commitment/pedersen.cpp | 0 .../crypto/pedersen_commitment/pedersen.hpp | 0 .../pedersen_commitment/pedersen_lookup.cpp | 0 .../pedersen_commitment/pedersen_lookup.hpp | 0 .../pedersen_lookup.test.cpp | 0 .../crypto/pedersen_hash/CMakeLists.txt | 0 .../crypto/pedersen_hash/c_bind.cpp | 0 .../crypto/pedersen_hash/c_bind.hpp | 0 .../crypto/pedersen_hash/c_bind_new.cpp | 0 .../crypto/pedersen_hash/pedersen.cpp | 0 .../crypto/pedersen_hash/pedersen.hpp | 0 .../crypto/pedersen_hash/pedersen_lookup.cpp | 0 .../crypto/pedersen_hash/pedersen_lookup.hpp | 0 .../crypto/schnorr/CMakeLists.txt | 0 .../barretenberg/crypto/schnorr/c_bind.cpp | 0 .../barretenberg/crypto/schnorr/c_bind.hpp | 0 .../crypto/schnorr/c_bind_new.cpp | 0 .../barretenberg/crypto/schnorr/multisig.hpp | 0 .../crypto/schnorr/multisig.test.cpp | 0 .../crypto/schnorr/proof_of_possession.hpp | 0 .../schnorr/proof_of_possession.test.cpp | 0 .../barretenberg/crypto/schnorr/schnorr.hpp | 0 .../barretenberg/crypto/schnorr/schnorr.tcc | 0 .../crypto/schnorr/schnorr.test.cpp | 0 .../barretenberg/crypto/sha256/CMakeLists.txt | 0 .../src/barretenberg/crypto/sha256/c_bind.cpp | 0 .../src/barretenberg/crypto/sha256/sha256.cpp | 0 .../src/barretenberg/crypto/sha256/sha256.hpp | 0 .../crypto/sha256/sha256.test.cpp | 0 .../cpp/src/barretenberg/dsl/CMakeLists.txt | 0 .../dsl/acir_format/acir_format.cpp | 0 .../dsl/acir_format/acir_format.hpp | 0 .../dsl/acir_format/acir_format.test.cpp | 0 .../acir_format/acir_to_constraint_buf.hpp | 0 .../dsl/acir_format/blake2s_constraint.cpp | 0 .../dsl/acir_format/blake2s_constraint.hpp | 0 .../dsl/acir_format/block_constraint.cpp | 0 .../dsl/acir_format/block_constraint.hpp | 0 .../dsl/acir_format/block_constraint.test.cpp | 0 .../dsl/acir_format/ecdsa_secp256k1.cpp | 0 .../dsl/acir_format/ecdsa_secp256k1.hpp | 0 .../dsl/acir_format/ecdsa_secp256k1.test.cpp | 0 .../dsl/acir_format/ecdsa_secp256r1.cpp | 0 .../dsl/acir_format/ecdsa_secp256r1.hpp | 0 .../dsl/acir_format/ecdsa_secp256r1.test.cpp | 0 .../dsl/acir_format/fixed_base_scalar_mul.cpp | 0 .../dsl/acir_format/fixed_base_scalar_mul.hpp | 0 .../dsl/acir_format/hash_to_field.cpp | 0 .../dsl/acir_format/hash_to_field.hpp | 0 .../dsl/acir_format/keccak_constraint.cpp | 0 .../dsl/acir_format/keccak_constraint.hpp | 0 .../dsl/acir_format/logic_constraint.cpp | 0 .../dsl/acir_format/logic_constraint.hpp | 0 .../barretenberg/dsl/acir_format/pedersen.cpp | 0 .../barretenberg/dsl/acir_format/pedersen.hpp | 0 .../dsl/acir_format/range_constraint.hpp | 0 .../dsl/acir_format/recursion_constraint.cpp | 0 .../dsl/acir_format/recursion_constraint.hpp | 0 .../acir_format/recursion_constraint.test.cpp | 0 .../barretenberg/dsl/acir_format/round.cpp | 0 .../barretenberg/dsl/acir_format/round.hpp | 0 .../dsl/acir_format/schnorr_verify.cpp | 0 .../dsl/acir_format/schnorr_verify.hpp | 0 .../dsl/acir_format/serde/acir.hpp | 0 .../dsl/acir_format/serde/binary.hpp | 0 .../dsl/acir_format/serde/bincode.hpp | 0 .../dsl/acir_format/serde/index.hpp | 0 .../dsl/acir_format/serde/serde.hpp | 0 .../dsl/acir_format/serde/witness_map.hpp | 0 .../dsl/acir_format/sha256_constraint.cpp | 0 .../dsl/acir_format/sha256_constraint.hpp | 0 .../dsl/acir_proofs/acir_composer.cpp | 0 .../dsl/acir_proofs/acir_composer.hpp | 0 .../barretenberg/dsl/acir_proofs/c_bind.cpp | 0 .../barretenberg/dsl/acir_proofs/c_bind.hpp | 0 .../cpp/src/barretenberg/dsl/types.hpp | 0 .../cpp/src/barretenberg/ecc/CMakeLists.txt | 0 .../barretenberg/ecc/curves/bn254/bn254.hpp | 0 .../src/barretenberg/ecc/curves/bn254/fq.hpp | 0 .../barretenberg/ecc/curves/bn254/fq.test.cpp | 0 .../barretenberg/ecc/curves/bn254/fq12.hpp | 0 .../ecc/curves/bn254/fq12.test.cpp | 0 .../src/barretenberg/ecc/curves/bn254/fq2.hpp | 0 .../ecc/curves/bn254/fq2.test.cpp | 0 .../src/barretenberg/ecc/curves/bn254/fq6.hpp | 0 .../ecc/curves/bn254/fq6.test.cpp | 0 .../ecc/curves/bn254/fr.bench.cpp | 0 .../src/barretenberg/ecc/curves/bn254/fr.hpp | 0 .../barretenberg/ecc/curves/bn254/fr.test.cpp | 0 .../src/barretenberg/ecc/curves/bn254/g1.hpp | 0 .../barretenberg/ecc/curves/bn254/g1.test.cpp | 0 .../src/barretenberg/ecc/curves/bn254/g2.hpp | 0 .../barretenberg/ecc/curves/bn254/g2.test.cpp | 0 .../barretenberg/ecc/curves/bn254/pairing.hpp | 0 .../ecc/curves/bn254/pairing.test.cpp | 0 .../ecc/curves/bn254/pairing_impl.hpp | 0 .../ecc/curves/grumpkin/c_bind.cpp | 0 .../ecc/curves/grumpkin/grumpkin.cpp | 0 .../ecc/curves/grumpkin/grumpkin.hpp | 0 .../ecc/curves/grumpkin/grumpkin.test.cpp | 0 .../ecc/curves/secp256k1/c_bind.cpp | 0 .../ecc/curves/secp256k1/c_bind.hpp | 0 .../ecc/curves/secp256k1/secp256k1.cpp | 0 .../ecc/curves/secp256k1/secp256k1.hpp | 0 .../ecc/curves/secp256k1/secp256k1.test.cpp | 0 .../curves/secp256k1/secp256k1_endo_notes.hpp | 0 .../ecc/curves/secp256r1/secp256r1.cpp | 0 .../ecc/curves/secp256r1/secp256r1.hpp | 0 .../ecc/curves/secp256r1/secp256r1.test.cpp | 0 .../cpp/src/barretenberg/ecc/curves/types.hpp | 0 .../barretenberg/ecc/fields/asm_macros.hpp | 0 .../ecc/fields/extra_flag_solver.py | 0 .../cpp/src/barretenberg/ecc/fields/field.hpp | 0 .../src/barretenberg/ecc/fields/field12.hpp | 0 .../src/barretenberg/ecc/fields/field2.hpp | 0 .../ecc/fields/field2_declarations.hpp | 0 .../src/barretenberg/ecc/fields/field6.hpp | 0 .../ecc/fields/field_declarations.hpp | 0 .../barretenberg/ecc/fields/field_impl.hpp | 0 .../ecc/fields/field_impl_generic.hpp | 0 .../ecc/fields/field_impl_x64.hpp | 0 .../ecc/fields/macro_scrapbook.hpp | 0 .../ecc/groups/affine_element.hpp | 0 .../ecc/groups/affine_element.test.cpp | 0 .../ecc/groups/affine_element_impl.hpp | 0 .../src/barretenberg/ecc/groups/element.hpp | 0 .../barretenberg/ecc/groups/element_impl.hpp | 0 .../cpp/src/barretenberg/ecc/groups/group.hpp | 0 .../ecc/groups/group_impl_asm.tcc | 0 .../ecc/groups/group_impl_int128.tcc | 0 .../cpp/src/barretenberg/ecc/groups/wnaf.hpp | 0 .../src/barretenberg/ecc/groups/wnaf.test.cpp | 0 .../cpp/src/barretenberg/ecc/pippenger.md | 0 .../ecc/scalar_multiplication/point_table.hpp | 0 .../scalar_multiplication/process_buckets.cpp | 0 .../scalar_multiplication/process_buckets.hpp | 0 .../scalar_multiplication/runtime_states.cpp | 0 .../scalar_multiplication/runtime_states.hpp | 0 .../scalar_multiplication.cpp | 0 .../scalar_multiplication.hpp | 0 .../src/barretenberg/ecc/serialize.test.cpp | 0 .../cpp/src/barretenberg/env/CMakeLists.txt | 0 .../cpp/src/barretenberg/env/data_store.cpp | 0 .../cpp/src/barretenberg/env/data_store.hpp | 0 .../barretenberg/env/hardware_concurrency.cpp | 0 .../barretenberg/env/hardware_concurrency.hpp | 0 .../cpp/src/barretenberg/env/logstr.cpp | 0 .../cpp/src/barretenberg/env/logstr.hpp | 0 .../src/barretenberg/examples/CMakeLists.txt | 0 .../cpp/src/barretenberg/examples/c_bind.cpp | 0 .../cpp/src/barretenberg/examples/c_bind.hpp | 0 .../barretenberg/examples/simple/simple.cpp | 0 .../barretenberg/examples/simple/simple.hpp | 0 .../examples/simple/simple.test.cpp | 0 .../grumpkin_srs_gen/CMakeLists.txt | 0 .../grumpkin_srs_gen/grumpkin_srs_gen.cpp | 0 .../cpp/src/barretenberg/honk/CMakeLists.txt | 0 .../composer/goblin_ultra_composer.test.cpp | 0 .../honk/composer/standard_composer.cpp | 0 .../honk/composer/standard_composer.hpp | 0 .../honk/composer/standard_composer.test.cpp | 0 .../honk/composer/ultra_composer.cpp | 0 .../honk/composer/ultra_composer.hpp | 0 .../honk/composer/ultra_composer.test.cpp | 0 .../barretenberg/honk/flavor/flavor.test.cpp | 0 .../barretenberg/honk/flavor/goblin_ultra.hpp | 0 .../src/barretenberg/honk/flavor/standard.hpp | 0 .../honk/flavor/standard_grumpkin.hpp | 0 .../src/barretenberg/honk/flavor/ultra.hpp | 0 .../honk/flavor/ultra_grumpkin.hpp | 0 .../honk/flavor/ultra_recursive.hpp | 0 .../barretenberg/honk/instance/instance.cpp | 0 .../barretenberg/honk/instance/instance.hpp | 0 .../honk/instance/instance.test.cpp | 0 .../honk/instance/verifier_instance.hpp | 0 .../cpp/src/barretenberg/honk/pcs/claim.hpp | 0 .../barretenberg/honk/pcs/commitment_key.hpp | 0 .../honk/pcs/commitment_key.test.hpp | 0 .../barretenberg/honk/pcs/gemini/gemini.cpp | 0 .../barretenberg/honk/pcs/gemini/gemini.hpp | 0 .../honk/pcs/gemini/gemini.test.cpp | 0 .../cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp | 0 .../barretenberg/honk/pcs/ipa/ipa.test.cpp | 0 .../cpp/src/barretenberg/honk/pcs/kzg/kzg.hpp | 0 .../barretenberg/honk/pcs/kzg/kzg.test.cpp | 0 .../barretenberg/honk/pcs/shplonk/shplonk.hpp | 0 .../honk/pcs/shplonk/shplonk.test.cpp | 0 .../honk/pcs/verification_key.hpp | 0 .../cpp/src/barretenberg/honk/pcs/wrapper.hpp | 0 .../honk/proof_system/composer_lib.hpp | 0 .../honk/proof_system/folding_result.hpp | 0 .../proof_system/grand_product_library.hpp | 0 .../grand_product_library.test.cpp | 0 .../honk/proof_system/protogalaxy_prover.cpp | 0 .../honk/proof_system/protogalaxy_prover.hpp | 0 .../proof_system/protogalaxy_verifier.cpp | 0 .../proof_system/protogalaxy_verifier.hpp | 0 .../barretenberg/honk/proof_system/prover.cpp | 0 .../barretenberg/honk/proof_system/prover.hpp | 0 .../honk/proof_system/ultra_prover.cpp | 0 .../honk/proof_system/ultra_prover.hpp | 0 .../honk/proof_system/ultra_verifier.cpp | 0 .../honk/proof_system/ultra_verifier.hpp | 0 .../honk/proof_system/verifier.cpp | 0 .../honk/proof_system/verifier.hpp | 0 .../honk/proof_system/work_queue.hpp | 0 .../honk/sumcheck/partial_evaluation.test.cpp | 0 .../sumcheck/relation_correctness.test.cpp | 0 .../barretenberg/honk/sumcheck/sumcheck.hpp | 0 .../honk/sumcheck/sumcheck.test.cpp | 0 .../honk/sumcheck/sumcheck_output.hpp | 0 .../honk/sumcheck/sumcheck_round.hpp | 0 .../honk/sumcheck/sumcheck_round.test.cpp | 0 .../honk/transcript/transcript.hpp | 0 .../honk/transcript/transcript.test.cpp | 0 .../honk/utils/grand_product_delta.hpp | 0 .../honk/utils/power_polynomial.hpp | 0 .../honk/utils/power_polynomial.test.cpp | 0 .../join_split_example/CMakeLists.txt | 0 .../join_split_example/constants.hpp | 0 .../fixtures/user_context.hpp | 0 .../join_split_example/proofs/CMakeLists.txt | 0 .../proofs/compute_circuit_data.hpp | 0 .../proofs/inner_proof_data/CMakeLists.txt | 0 .../inner_proof_data/inner_proof_data.cpp | 0 .../inner_proof_data/inner_proof_data.hpp | 0 .../inner_proof_data.test.cpp | 0 .../proofs/join_split/CMakeLists.txt | 0 .../proofs/join_split/c_bind.cpp | 0 .../proofs/join_split/c_bind.h | 0 .../join_split/compute_circuit_data.cpp | 0 .../join_split/compute_circuit_data.hpp | 0 .../join_split/compute_signing_data.cpp | 0 .../join_split/compute_signing_data.hpp | 0 .../proofs/join_split/create_proof.hpp | 0 .../proofs/join_split/index.hpp | 0 .../proofs/join_split/join_split.cpp | 0 .../proofs/join_split/join_split.hpp | 0 .../proofs/join_split/join_split.test.cpp | 0 .../proofs/join_split/join_split_circuit.cpp | 0 .../proofs/join_split/join_split_circuit.hpp | 0 .../join_split/join_split_js_parity.test.cpp | 0 .../proofs/join_split/join_split_tx.cpp | 0 .../proofs/join_split/join_split_tx.hpp | 0 .../proofs/join_split/join_split_tx.test.cpp | 0 .../proofs/join_split/sign_join_split_tx.cpp | 0 .../proofs/join_split/sign_join_split_tx.hpp | 0 .../proofs/join_split/verify_signature.hpp | 0 .../proofs/mock/CMakeLists.txt | 0 .../proofs/mock/mock_circuit.hpp | 0 .../proofs/mock/mock_circuit.test.cpp | 0 .../proofs/notes/CMakeLists.txt | 0 .../notes/circuit/account/account_note.hpp | 0 .../proofs/notes/circuit/account/commit.hpp | 0 .../proofs/notes/circuit/account/index.hpp | 0 .../proofs/notes/circuit/asset_id.cpp | 0 .../proofs/notes/circuit/asset_id.hpp | 0 .../proofs/notes/circuit/bridge_call_data.hpp | 0 .../proofs/notes/circuit/claim/claim_note.hpp | 0 .../claim/complete_partial_commitment.hpp | 0 .../notes/circuit/claim/compute_nullifier.hpp | 0 .../claim/create_partial_commitment.hpp | 0 .../proofs/notes/circuit/claim/index.hpp | 0 .../notes/circuit/claim/witness_data.hpp | 0 .../proofs/notes/circuit/index.hpp | 0 .../proofs/notes/circuit/value/commit.hpp | 0 .../value/complete_partial_commitment.hpp | 0 .../notes/circuit/value/compute_nullifier.cpp | 0 .../notes/circuit/value/compute_nullifier.hpp | 0 .../circuit/value/compute_nullifier.test.cpp | 0 .../value/create_partial_commitment.hpp | 0 .../proofs/notes/circuit/value/index.hpp | 0 .../proofs/notes/circuit/value/value_note.hpp | 0 .../notes/circuit/value/value_note.test.cpp | 0 .../notes/circuit/value/witness_data.hpp | 0 .../proofs/notes/constants.hpp | 0 .../notes/native/account/account_note.cpp | 0 .../notes/native/account/account_note.hpp | 0 .../compute_account_alias_hash_nullifier.hpp | 0 .../compute_account_public_key_nullifier.hpp | 0 .../proofs/notes/native/account/index.hpp | 0 .../proofs/notes/native/asset_id.cpp | 0 .../proofs/notes/native/asset_id.hpp | 0 .../proofs/notes/native/bridge_call_data.hpp | 0 .../proofs/notes/native/claim/claim_note.hpp | 0 .../notes/native/claim/claim_note_tx_data.hpp | 0 .../claim/complete_partial_commitment.hpp | 0 .../notes/native/claim/compute_nullifier.hpp | 0 .../claim/create_partial_commitment.hpp | 0 .../proofs/notes/native/claim/index.hpp | 0 .../proofs/notes/native/index.hpp | 0 .../value/complete_partial_commitment.hpp | 0 .../notes/native/value/compute_nullifier.cpp | 0 .../notes/native/value/compute_nullifier.hpp | 0 .../value/create_partial_commitment.hpp | 0 .../proofs/notes/native/value/index.hpp | 0 .../proofs/notes/native/value/value_note.hpp | 0 .../join_split_example/proofs/verify.hpp | 0 .../barretenberg/join_split_example/types.hpp | 0 .../src/barretenberg/numeric/CMakeLists.txt | 0 .../numeric/bitop/bitop.bench.cpp | 0 .../numeric/bitop/count_leading_zeros.hpp | 0 .../bitop/count_leading_zeros.test.cpp | 0 .../barretenberg/numeric/bitop/get_msb.hpp | 0 .../numeric/bitop/get_msb.test.cpp | 0 .../barretenberg/numeric/bitop/keep_n_lsb.hpp | 0 .../src/barretenberg/numeric/bitop/pow.hpp | 0 .../src/barretenberg/numeric/bitop/rotate.hpp | 0 .../numeric/bitop/sparse_form.hpp | 0 .../barretenberg/numeric/random/engine.cpp | 0 .../barretenberg/numeric/random/engine.hpp | 0 .../numeric/random/engine.test.cpp | 0 .../barretenberg/numeric/uint128/uint128.hpp | 0 .../numeric/uint128/uint128.test.cpp | 0 .../numeric/uint128/uint128_impl.hpp | 0 .../barretenberg/numeric/uint256/uint256.hpp | 0 .../numeric/uint256/uint256.test.cpp | 0 .../numeric/uint256/uint256_impl.hpp | 0 .../src/barretenberg/numeric/uintx/uintx.hpp | 0 .../barretenberg/numeric/uintx/uintx.test.cpp | 0 .../barretenberg/numeric/uintx/uintx_impl.hpp | 0 .../cpp/src/barretenberg/plonk/CMakeLists.txt | 0 .../plonk/composer/composer_lib.cpp | 0 .../plonk/composer/composer_lib.hpp | 0 .../plonk/composer/standard_composer.cpp | 0 .../plonk/composer/standard_composer.hpp | 0 .../plonk/composer/standard_composer.test.cpp | 0 .../plonk/composer/turbo_composer.cpp | 0 .../plonk/composer/turbo_composer.hpp | 0 .../plonk/composer/turbo_composer.test.cpp | 0 .../plonk/composer/ultra_composer.cpp | 0 .../plonk/composer/ultra_composer.hpp | 0 .../plonk/composer/ultra_composer.test.cpp | 0 .../src/barretenberg/plonk/flavor/flavor.hpp | 0 .../commitment_scheme/commitment_scheme.hpp | 0 .../commitment_scheme.test.cpp | 0 .../kate_commitment_scheme.cpp | 0 .../kate_commitment_scheme.hpp | 0 .../plonk/proof_system/constants.hpp | 0 .../plonk/proof_system/prover/c_bind.cpp | 0 .../plonk/proof_system/prover/prover.cpp | 0 .../plonk/proof_system/prover/prover.hpp | 0 .../plonk/proof_system/prover/prover.test.cpp | 0 .../proof_system/proving_key/proving_key.cpp | 0 .../proof_system/proving_key/proving_key.hpp | 0 .../proving_key/proving_key.test.cpp | 0 .../proof_system/proving_key/serialize.hpp | 0 .../public_inputs/public_inputs.hpp | 0 .../public_inputs/public_inputs.test.cpp | 0 .../public_inputs/public_inputs_impl.hpp | 0 .../types/commitment_open_proof.hpp | 0 .../types/polynomial_manifest.hpp | 0 .../proof_system/types/program_settings.hpp | 0 .../plonk/proof_system/types/proof.hpp | 0 .../proof_system/types/prover_settings.hpp | 0 .../utils/generalized_permutation.hpp | 0 .../proof_system/utils/kate_verification.hpp | 0 .../plonk/proof_system/utils/permutation.hpp | 0 .../proof_system/verification_key/sol_gen.hpp | 0 .../verification_key/verification_key.cpp | 0 .../verification_key/verification_key.hpp | 0 .../verification_key.test.cpp | 0 .../plonk/proof_system/verifier/verifier.cpp | 0 .../plonk/proof_system/verifier/verifier.hpp | 0 .../proof_system/verifier/verifier.test.cpp | 0 .../random_widgets/permutation_widget.hpp | 0 .../permutation_widget_impl.hpp | 0 .../widgets/random_widgets/plookup_widget.hpp | 0 .../random_widgets/plookup_widget_impl.hpp | 0 .../widgets/random_widgets/random_widget.hpp | 0 .../transition_widgets/arithmetic_widget.hpp | 0 .../transition_widgets/elliptic_widget.hpp | 0 .../transition_widgets/fixed_base_widget.hpp | 0 .../genperm_sort_widget.hpp | 0 .../plookup_arithmetic_widget.hpp | 0 .../plookup_auxiliary_widget.hpp | 0 .../transition_widgets/transition_widget.hpp | 0 .../turbo_arithmetic_widget.hpp | 0 .../transition_widgets/turbo_logic_widget.hpp | 0 .../transition_widgets/turbo_range_widget.hpp | 0 .../barretenberg/polynomials/CMakeLists.txt | 0 .../barretenberg/polynomials/barycentric.hpp | 0 .../polynomials/barycentric.test.cpp | 0 .../polynomials/evaluation_domain.cpp | 0 .../polynomials/evaluation_domain.hpp | 0 .../polynomials/iterate_over_domain.hpp | 0 .../barretenberg/polynomials/polynomial.cpp | 0 .../barretenberg/polynomials/polynomial.hpp | 0 .../polynomials/polynomial_arithmetic.cpp | 0 .../polynomials/polynomial_arithmetic.hpp | 0 .../polynomial_arithmetic.test.cpp | 0 .../polynomials/polynomials.bench.cpp | 0 .../cpp/src/barretenberg/polynomials/pow.hpp | 0 .../src/barretenberg/polynomials/pow.test.cpp | 0 .../barretenberg/polynomials/serialize.hpp | 0 .../barretenberg/polynomials/univariate.hpp | 0 .../polynomials/univariate.test.cpp | 0 .../barretenberg/proof_system/CMakeLists.txt | 0 .../arithmetization/arithmetization.hpp | 0 .../arithmetization/gate_data.hpp | 0 .../circuit_builder/circuit_builder_base.cpp | 0 .../circuit_builder/circuit_builder_base.hpp | 0 .../goblin_translator_circuit_builder.cpp | 0 .../goblin_translator_circuit_builder.hpp | 0 ...goblin_translator_circuit_builder.test.cpp | 0 .../goblin_translator_mini.fuzzer.cpp | 0 .../goblin_ultra_circuit_builder.test.cpp | 0 .../standard_circuit_builder.cpp | 0 .../standard_circuit_builder.hpp | 0 .../standard_circuit_builder.test.cpp | 0 .../circuit_builder/turbo_circuit_builder.cpp | 0 .../circuit_builder/turbo_circuit_builder.hpp | 0 .../turbo_circuit_builder.test.cpp | 0 .../circuit_builder/ultra_circuit_builder.cpp | 0 .../circuit_builder/ultra_circuit_builder.hpp | 0 .../ultra_circuit_builder.test.cpp | 0 .../proof_system/composer/composer_lib.hpp | 0 .../composer/composer_lib.test.cpp | 0 .../proof_system/composer/permutation_lib.hpp | 0 .../composer/permutation_lib.test.cpp | 0 .../proof_system/flavor/flavor.hpp | 0 .../proof_system/op_queue/ecc_op_queue.hpp | 0 .../op_queue/ecc_op_queue.test.cpp | 0 .../proof_system/plookup_tables/aes128.hpp | 0 .../proof_system/plookup_tables/blake2s.hpp | 0 .../proof_system/plookup_tables/dummy.hpp | 0 .../plookup_tables/keccak/keccak_chi.hpp | 0 .../plookup_tables/keccak/keccak_input.hpp | 0 .../plookup_tables/keccak/keccak_output.hpp | 0 .../plookup_tables/keccak/keccak_rho.hpp | 0 .../plookup_tables/keccak/keccak_theta.hpp | 0 .../non_native_group_generator.cpp | 0 .../non_native_group_generator.hpp | 0 .../proof_system/plookup_tables/pedersen.hpp | 0 .../plookup_tables/plookup_tables.cpp | 0 .../plookup_tables/plookup_tables.hpp | 0 .../proof_system/plookup_tables/sha256.hpp | 0 .../proof_system/plookup_tables/sparse.hpp | 0 .../proof_system/plookup_tables/types.hpp | 0 .../proof_system/plookup_tables/uint.hpp | 0 .../polynomial_store/polynomial_store.cpp | 0 .../polynomial_store/polynomial_store.hpp | 0 .../polynomial_store.test.cpp | 0 .../polynomial_store_cache.cpp | 0 .../polynomial_store_cache.hpp | 0 .../polynomial_store_wasm.cpp | 0 .../polynomial_store_wasm.hpp | 0 .../relations/arithmetic_relation.hpp | 0 .../relations/auxiliary_relation.hpp | 0 .../relations/ecc_op_queue_relation.hpp | 0 .../relations/elliptic_relation.hpp | 0 .../relations/gen_perm_sort_relation.hpp | 0 .../relations/lookup_relation.hpp | 0 .../relations/permutation_relation.hpp | 0 .../relations/relation_parameters.hpp | 0 .../proof_system/relations/relation_types.hpp | 0 .../standard_relation_consistency.test.cpp | 0 .../relations/ultra_arithmetic_relation.hpp | 0 .../ultra_relation_consistency.test.cpp | 0 .../proof_system/types/circuit_type.hpp | 0 .../proof_system/types/merkle_hash_type.hpp | 0 .../types/pedersen_commitment_type.hpp | 0 .../proof_system/work_queue/work_queue.cpp | 0 .../proof_system/work_queue/work_queue.hpp | 0 .../src/barretenberg/serialize/CMakeLists.txt | 0 .../cpp/src/barretenberg/serialize/cbind.hpp | 0 .../src/barretenberg/serialize/cbind_fwd.hpp | 0 .../src/barretenberg/serialize/msgpack.hpp | 0 .../barretenberg/serialize/msgpack_apply.hpp | 0 .../msgpack_impl/check_memory_span.hpp | 0 .../serialize/msgpack_impl/concepts.hpp | 0 .../serialize/msgpack_impl/drop_keys.hpp | 0 .../serialize/msgpack_impl/func_traits.hpp | 0 .../serialize/msgpack_impl/msgpack_impl.hpp | 0 .../msgpack_impl/name_value_pair_macro.hpp | 0 .../serialize/msgpack_impl/schema_impl.hpp | 0 .../serialize/msgpack_impl/schema_name.hpp | 0 .../msgpack_impl/struct_map_impl.hpp | 0 .../serialize/msgpack_impl/variant_impl.hpp | 0 .../serialize/msgpack_schema.test.cpp | 0 .../barretenberg/serialize/raw_pointer.hpp | 0 .../barretenberg/serialize/test_helper.hpp | 0 .../solidity_helpers/CMakeLists.txt | 0 .../circuits/add_2_circuit.hpp | 0 .../circuits/blake_circuit.hpp | 0 .../circuits/recursive_circuit.hpp | 0 .../barretenberg/solidity_helpers/key_gen.cpp | 0 .../solidity_helpers/proof_gen.cpp | 0 .../utils/instance_sol_gen.hpp | 0 .../solidity_helpers/utils/utils.hpp | 0 .../cpp/src/barretenberg/srs/CMakeLists.txt | 0 .../cpp/src/barretenberg/srs/c_bind.cpp | 0 .../cpp/src/barretenberg/srs/c_bind.hpp | 0 .../srs/factories/crs_factory.hpp | 0 .../srs/factories/file_crs_factory.cpp | 0 .../srs/factories/file_crs_factory.hpp | 0 .../srs/factories/mem_crs_factory.cpp | 0 .../srs/factories/mem_crs_factory.hpp | 0 .../srs/factories/mem_crs_factory.test.cpp | 0 .../cpp/src/barretenberg/srs/global_crs.cpp | 0 .../cpp/src/barretenberg/srs/global_crs.hpp | 0 .../cpp/src/barretenberg/srs/io.hpp | 0 .../cpp/src/barretenberg/srs/io.test.cpp | 0 .../srs/scalar_multiplication.test.cpp | 0 .../src/barretenberg/stdlib/CMakeLists.txt | 0 .../stdlib/commitment/CMakeLists.txt | 0 .../stdlib/commitment/pedersen/CMakeLists.txt | 0 .../commitment/pedersen/pedersen.bench.cpp | 0 .../stdlib/commitment/pedersen/pedersen.cpp | 0 .../stdlib/commitment/pedersen/pedersen.hpp | 0 .../commitment/pedersen/pedersen.test.cpp | 0 .../commitment/pedersen/pedersen_plookup.cpp | 0 .../commitment/pedersen/pedersen_plookup.hpp | 0 .../pedersen/pedersen_plookup.test.cpp | 0 .../stdlib/encryption/CMakeLists.txt | 0 .../stdlib/encryption/aes128/CMakeLists.txt | 0 .../stdlib/encryption/aes128/aes128.cpp | 0 .../stdlib/encryption/aes128/aes128.hpp | 0 .../stdlib/encryption/aes128/aes128.test.cpp | 0 .../stdlib/encryption/ecdsa/CMakeLists.txt | 0 .../stdlib/encryption/ecdsa/ecdsa.hpp | 0 .../stdlib/encryption/ecdsa/ecdsa.test.cpp | 0 .../stdlib/encryption/ecdsa/ecdsa_impl.hpp | 0 .../stdlib/encryption/schnorr/CMakeLists.txt | 0 .../stdlib/encryption/schnorr/schnorr.cpp | 0 .../stdlib/encryption/schnorr/schnorr.hpp | 0 .../encryption/schnorr/schnorr.test.cpp | 0 .../barretenberg/stdlib/hash/CMakeLists.txt | 0 .../stdlib/hash/benchmarks/CMakeLists.txt | 0 .../hash/benchmarks/celer/CMakeLists.txt | 0 .../hash/benchmarks/celer/sha256.bench.cpp | 0 .../hash/benchmarks/external/CMakeLists.txt | 0 .../benchmarks/external/external.bench.cpp | 0 .../hash/benchmarks/sha256/CMakeLists.txt | 0 .../hash/benchmarks/sha256/sha256.bench.cpp | 0 .../stdlib/hash/blake2s/CMakeLists.txt | 0 .../stdlib/hash/blake2s/blake2s.cpp | 0 .../stdlib/hash/blake2s/blake2s.hpp | 0 .../stdlib/hash/blake2s/blake2s.test.cpp | 0 .../stdlib/hash/blake2s/blake2s_plookup.cpp | 0 .../stdlib/hash/blake2s/blake2s_plookup.hpp | 0 .../stdlib/hash/blake2s/blake_util.hpp | 0 .../stdlib/hash/blake3s/CMakeLists.txt | 0 .../stdlib/hash/blake3s/blake3s.cpp | 0 .../stdlib/hash/blake3s/blake3s.hpp | 0 .../stdlib/hash/blake3s/blake3s.test.cpp | 0 .../stdlib/hash/blake3s/blake3s_plookup.cpp | 0 .../stdlib/hash/blake3s/blake3s_plookup.hpp | 0 .../stdlib/hash/keccak/CMakeLists.txt | 0 .../stdlib/hash/keccak/keccak.cpp | 0 .../stdlib/hash/keccak/keccak.hpp | 0 .../stdlib/hash/keccak/keccak.test.cpp | 0 .../stdlib/hash/pedersen/CMakeLists.txt | 0 .../stdlib/hash/pedersen/pedersen.cpp | 0 .../stdlib/hash/pedersen/pedersen.hpp | 0 .../stdlib/hash/pedersen/pedersen_gates.hpp | 0 .../stdlib/hash/pedersen/pedersen_plookup.cpp | 0 .../stdlib/hash/pedersen/pedersen_plookup.hpp | 0 .../stdlib/hash/sha256/CMakeLists.txt | 0 .../stdlib/hash/sha256/sha256.cpp | 0 .../stdlib/hash/sha256/sha256.hpp | 0 .../stdlib/hash/sha256/sha256.test.cpp | 0 .../stdlib/hash/sha256/sha256_plookup.cpp | 0 .../stdlib/hash/sha256/sha256_plookup.hpp | 0 .../stdlib/merkle_tree/CMakeLists.txt | 0 .../barretenberg/stdlib/merkle_tree/hash.hpp | 0 .../stdlib/merkle_tree/hash.test.cpp | 0 .../stdlib/merkle_tree/hash_path.hpp | 0 .../barretenberg/stdlib/merkle_tree/index.hpp | 0 .../stdlib/merkle_tree/membership.hpp | 0 .../stdlib/merkle_tree/membership.test.cpp | 0 .../stdlib/merkle_tree/memory_store.hpp | 0 .../stdlib/merkle_tree/memory_tree.cpp | 0 .../stdlib/merkle_tree/memory_tree.hpp | 0 .../stdlib/merkle_tree/memory_tree.test.cpp | 0 .../stdlib/merkle_tree/merkle_tree.bench.cpp | 0 .../stdlib/merkle_tree/merkle_tree.cpp | 0 .../stdlib/merkle_tree/merkle_tree.hpp | 0 .../stdlib/merkle_tree/merkle_tree.test.cpp | 0 .../nullifier_tree/nullifier_leaf.hpp | 0 .../nullifier_tree/nullifier_memory_tree.cpp | 0 .../nullifier_tree/nullifier_memory_tree.hpp | 0 .../nullifier_memory_tree.test.cpp | 0 .../nullifier_tree/nullifier_tree.cpp | 0 .../nullifier_tree/nullifier_tree.hpp | 0 .../nullifier_tree/nullifier_tree.test.cpp | 0 .../stdlib/primitives/CMakeLists.txt | 0 .../stdlib/primitives/address/address.hpp | 0 .../primitives/bigfield/bigfield.fuzzer.hpp | 0 .../stdlib/primitives/bigfield/bigfield.hpp | 0 .../primitives/bigfield/bigfield.test.cpp | 0 .../bigfield/bigfield_all.fuzzer.cpp | 0 .../primitives/bigfield/bigfield_impl.hpp | 0 .../bigfield/bigfield_standard.fuzzer.cpp | 0 .../bigfield/bigfield_turbo.fuzzer.cpp | 0 .../stdlib/primitives/biggroup/biggroup.hpp | 0 .../primitives/biggroup/biggroup.test.cpp | 0 .../biggroup/biggroup_batch_mul.hpp | 0 .../primitives/biggroup/biggroup_bn254.hpp | 0 .../primitives/biggroup/biggroup_goblin.hpp | 0 .../biggroup/biggroup_goblin.test.cpp | 0 .../primitives/biggroup/biggroup_impl.hpp | 0 .../primitives/biggroup/biggroup_nafs.hpp | 0 .../biggroup/biggroup_secp256k1.hpp | 0 .../primitives/biggroup/biggroup_tables.hpp | 0 .../stdlib/primitives/bit_array/bit_array.cpp | 0 .../primitives/bit_array/bit_array.fuzzer.hpp | 0 .../stdlib/primitives/bit_array/bit_array.hpp | 0 .../primitives/bit_array/bit_array.test.cpp | 0 .../bit_array/bit_array_all.fuzzer.cpp | 0 .../bit_array/bit_array_standard.fuzzer.cpp | 0 .../bit_array/bit_array_turbo.fuzzer.cpp | 0 .../stdlib/primitives/bool/bool.cpp | 0 .../stdlib/primitives/bool/bool.fuzzer.hpp | 0 .../stdlib/primitives/bool/bool.hpp | 0 .../stdlib/primitives/bool/bool.test.cpp | 0 .../primitives/bool/bool_all.fuzzer.cpp | 0 .../primitives/bool/bool_standard.fuzzer.cpp | 0 .../primitives/bool/bool_turbo.fuzzer.cpp | 0 .../primitives/byte_array/byte_array.cpp | 0 .../byte_array/byte_array.fuzzer.hpp | 0 .../primitives/byte_array/byte_array.hpp | 0 .../primitives/byte_array/byte_array.test.cpp | 0 .../byte_array/byte_array_all.fuzzer.cpp | 0 .../byte_array/byte_array_standard.fuzzer.cpp | 0 .../byte_array/byte_array_turbo.fuzzer.cpp | 0 .../circuit_builders/circuit_builders.hpp | 0 .../circuit_builders/circuit_builders_fwd.hpp | 0 .../stdlib/primitives/curves/bn254.hpp | 0 .../stdlib/primitives/curves/secp256k1.hpp | 0 .../stdlib/primitives/curves/secp256r1.hpp | 0 .../stdlib/primitives/field/array.hpp | 0 .../stdlib/primitives/field/array.test.cpp | 0 .../stdlib/primitives/field/field.cpp | 0 .../stdlib/primitives/field/field.fuzzer.hpp | 0 .../stdlib/primitives/field/field.hpp | 0 .../stdlib/primitives/field/field.test.cpp | 0 .../primitives/field/field_all.fuzzer.cpp | 0 .../field/field_standard.fuzzer.cpp | 0 .../primitives/field/field_turbo.fuzzer.cpp | 0 .../stdlib/primitives/group/group.hpp | 0 .../stdlib/primitives/group/group.test.cpp | 0 .../stdlib/primitives/logic/logic.cpp | 0 .../stdlib/primitives/logic/logic.hpp | 0 .../stdlib/primitives/logic/logic.test.cpp | 0 .../primitives/memory/dynamic_array.cpp | 0 .../primitives/memory/dynamic_array.hpp | 0 .../primitives/memory/dynamic_array.test.cpp | 0 .../stdlib/primitives/memory/ram_table.cpp | 0 .../stdlib/primitives/memory/ram_table.hpp | 0 .../primitives/memory/ram_table.test.cpp | 0 .../stdlib/primitives/memory/rom_table.cpp | 0 .../stdlib/primitives/memory/rom_table.hpp | 0 .../primitives/memory/rom_table.test.cpp | 0 .../primitives/memory/twin_rom_table.cpp | 0 .../primitives/memory/twin_rom_table.hpp | 0 .../packed_byte_array/packed_byte_array.cpp | 0 .../packed_byte_array/packed_byte_array.hpp | 0 .../packed_byte_array.test.cpp | 0 .../stdlib/primitives/plookup/plookup.cpp | 0 .../stdlib/primitives/plookup/plookup.hpp | 0 .../primitives/plookup/plookup.test.cpp | 0 .../stdlib/primitives/point/point.hpp | 0 .../stdlib/primitives/safe_uint/safe_uint.cpp | 0 .../primitives/safe_uint/safe_uint.fuzzer.hpp | 0 .../stdlib/primitives/safe_uint/safe_uint.hpp | 0 .../primitives/safe_uint/safe_uint.test.cpp | 0 .../safe_uint/safe_uint_all.fuzzer.cpp | 0 .../safe_uint/safe_uint_standard.fuzzer.cpp | 0 .../safe_uint/safe_uint_turbo.fuzzer.cpp | 0 .../stdlib/primitives/uint/arithmetic.cpp | 0 .../stdlib/primitives/uint/comparison.cpp | 0 .../stdlib/primitives/uint/logic.cpp | 0 .../primitives/uint/plookup/arithmetic.cpp | 0 .../primitives/uint/plookup/comparison.cpp | 0 .../stdlib/primitives/uint/plookup/logic.cpp | 0 .../stdlib/primitives/uint/plookup/uint.cpp | 0 .../stdlib/primitives/uint/plookup/uint.hpp | 0 .../stdlib/primitives/uint/uint.cpp | 0 .../stdlib/primitives/uint/uint.fuzzer.hpp | 0 .../stdlib/primitives/uint/uint.hpp | 0 .../stdlib/primitives/uint/uint.test.cpp | 0 .../primitives/uint/uint_all.fuzzer.cpp | 0 .../primitives/uint/uint_standard.fuzzer.cpp | 0 .../primitives/uint/uint_turbo.fuzzer.cpp | 0 .../stdlib/primitives/witness/witness.hpp | 0 .../stdlib/recursion/CMakeLists.txt | 0 .../aggregation_state/aggregation_state.hpp | 0 .../native_aggregation_state.hpp | 0 .../recursion/honk/transcript/transcript.hpp | 0 .../honk/transcript/transcript.test.cpp | 0 .../verifier/ultra_recursive_verifier.cpp | 0 .../verifier/ultra_recursive_verifier.hpp | 0 .../recursion/honk/verifier/verifier.test.cpp | 0 .../recursion/transcript/transcript.hpp | 0 .../recursion/transcript/transcript.test.cpp | 0 .../verification_key/verification_key.hpp | 0 .../verification_key.test.cpp | 0 .../recursion/verifier/program_settings.hpp | 0 .../stdlib/recursion/verifier/verifier.hpp | 0 .../recursion/verifier/verifier.test.cpp | 0 .../verifier/verifier_turbo.test.cpp | 0 .../src/barretenberg/stdlib/types/turbo.hpp | 0 .../src/barretenberg/stdlib/types/ultra.hpp | 0 .../barretenberg/stdlib/utility/utility.hpp | 0 .../barretenberg/transcript/CMakeLists.txt | 0 .../src/barretenberg/transcript/manifest.hpp | 0 .../barretenberg/transcript/transcript.cpp | 0 .../barretenberg/transcript/transcript.hpp | 0 .../transcript/transcript.test.cpp | 0 .../transcript/transcript_wrappers.cpp | 0 .../transcript/transcript_wrappers.hpp | 0 .../cpp/src/barretenberg/wasi/CMakeLists.txt | 0 .../cpp/src/barretenberg/wasi/wasi_stubs.cpp | 0 .../cpp/src/barretenberg/wasi/wasm_init.cpp | 0 .../cpp/src/msgpack-c/.clang-format | 0 .../src/msgpack-c/.github/depends/boost.sh | 0 .../cpp/src/msgpack-c/.github/depends/zlib.sh | 0 .../msgpack-c/.github/workflows/coverage.yml | 0 .../src/msgpack-c/.github/workflows/gha.yml | 0 .../cpp/src/msgpack-c/.gitignore | 0 .../cpp/src/msgpack-c/CHANGELOG.md | 0 .../cpp/src/msgpack-c/CMakeLists.txt | 0 .../cpp/src/msgpack-c/COPYING | 0 .../cpp/src/msgpack-c/Doxyfile | 0 .../cpp/src/msgpack-c/Files.cmake | 0 .../cpp/src/msgpack-c/LICENSE_1_0.txt | 0 .../cpp/src/msgpack-c/NOTICE | 0 .../cpp/src/msgpack-c/QUICKSTART-CPP.md | 0 .../cpp/src/msgpack-c/README.md | 0 .../cpp/src/msgpack-c/appveyor.yml | 0 .../cpp/src/msgpack-c/ci/build_cmake.sh | 0 .../cpp/src/msgpack-c/ci/build_regression.sh | 0 .../cpp/src/msgpack-c/ci/set_gcc_10.sh | 0 .../src/msgpack-c/cmake/CodeCoverage.cmake | 0 .../cpp/src/msgpack-c/codecov.yml | 0 .../erb/v1/cpp03_define_array.hpp.erb | 0 .../erb/v1/cpp03_define_array_decl.hpp.erb | 0 .../msgpack-c/erb/v1/cpp03_define_map.hpp.erb | 0 .../erb/v1/cpp03_define_map_decl.hpp.erb | 0 .../erb/v1/cpp03_msgpack_tuple.hpp.erb | 0 .../erb/v1/cpp03_msgpack_tuple_decl.hpp.erb | 0 .../src/msgpack-c/erb/v1/cpp03_zone.hpp.erb | 0 .../msgpack-c/erb/v1/cpp03_zone_decl.hpp.erb | 0 .../cpp/src/msgpack-c/example/CMakeLists.txt | 0 .../msgpack-c/example/boost/CMakeLists.txt | 0 .../example/boost/asio_send_recv.cpp | 0 .../example/boost/asio_send_recv_zlib.cpp | 0 .../boost/msgpack_variant_capitalize.cpp | 0 .../boost/msgpack_variant_mapbased.cpp | 0 .../msgpack-c/example/cpp03/CMakeLists.txt | 0 .../example/cpp03/class_intrusive.cpp | 0 .../example/cpp03/class_intrusive_map.cpp | 0 .../example/cpp03/class_non_intrusive.cpp | 0 .../src/msgpack-c/example/cpp03/custom.cpp | 0 .../cpp/src/msgpack-c/example/cpp03/enum.cpp | 0 .../example/cpp03/map_based_versionup.cpp | 0 .../src/msgpack-c/example/cpp03/protocol.cpp | 0 .../msgpack-c/example/cpp03/protocol_new.cpp | 0 .../msgpack-c/example/cpp03/reuse_zone.cpp | 0 .../src/msgpack-c/example/cpp03/simple.cpp | 0 .../msgpack-c/example/cpp03/speed_test.cpp | 0 .../example/cpp03/speed_test_nested_array.cpp | 0 .../src/msgpack-c/example/cpp03/stream.cpp | 0 .../msgpack-c/example/cpp11/CMakeLists.txt | 0 .../src/msgpack-c/example/cpp11/container.cpp | 0 .../example/cpp11/non_def_con_class.cpp | 0 .../example/cpp11/socket_stream_example.cpp | 0 .../src/msgpack-c/example/x3/CMakeLists.txt | 0 .../cpp/src/msgpack-c/example/x3/parse.cpp | 0 .../msgpack-c/example/x3/stream_unpack.cpp | 0 .../cpp/src/msgpack-c/example/x3/unpack.cpp | 0 .../cpp/src/msgpack-c/fuzz/CMakeLists.txt | 0 .../src/msgpack-c/fuzz/regression_runner.cpp | 0 .../src/msgpack-c/fuzz/unpack_pack_fuzzer.cpp | 0 ...imized-unpack_pack_fuzzer-5656982724804608 | Bin ...imized-unpack_pack_fuzzer-6022481354686464 | Bin .../unpack_pack_fuzzer_seed_corpus/EmptyArray | 0 .../EmptyObject | 0 .../ExcessiveNesting | 0 .../OpenWeatherMap | Bin .../WeatherUnderground | Bin .../cpp/src/msgpack-c/include/msgpack.hpp | 0 .../include/msgpack/adaptor/adaptor_base.hpp | 0 .../msgpack/adaptor/adaptor_base_decl.hpp | 0 .../include/msgpack/adaptor/array_ref.hpp | 0 .../msgpack/adaptor/array_ref_decl.hpp | 0 .../include/msgpack/adaptor/bool.hpp | 0 .../include/msgpack/adaptor/boost/fusion.hpp | 0 .../msgpack/adaptor/boost/msgpack_variant.hpp | 0 .../adaptor/boost/msgpack_variant_decl.hpp | 0 .../msgpack/adaptor/boost/optional.hpp | 0 .../msgpack/adaptor/boost/string_ref.hpp | 0 .../msgpack/adaptor/boost/string_view.hpp | 0 .../include/msgpack/adaptor/carray.hpp | 0 .../include/msgpack/adaptor/char_ptr.hpp | 0 .../msgpack/adaptor/check_container_size.hpp | 0 .../adaptor/check_container_size_decl.hpp | 0 .../include/msgpack/adaptor/complex.hpp | 0 .../include/msgpack/adaptor/cpp11/array.hpp | 0 .../msgpack/adaptor/cpp11/array_char.hpp | 0 .../adaptor/cpp11/array_unsigned_char.hpp | 0 .../include/msgpack/adaptor/cpp11/chrono.hpp | 0 .../msgpack/adaptor/cpp11/forward_list.hpp | 0 .../adaptor/cpp11/reference_wrapper.hpp | 0 .../msgpack/adaptor/cpp11/shared_ptr.hpp | 0 .../msgpack/adaptor/cpp11/timespec.hpp | 0 .../include/msgpack/adaptor/cpp11/tuple.hpp | 0 .../msgpack/adaptor/cpp11/unique_ptr.hpp | 0 .../msgpack/adaptor/cpp11/unordered_map.hpp | 0 .../msgpack/adaptor/cpp11/unordered_set.hpp | 0 .../msgpack/adaptor/cpp17/array_byte.hpp | 0 .../include/msgpack/adaptor/cpp17/byte.hpp | 0 .../msgpack/adaptor/cpp17/carray_byte.hpp | 0 .../msgpack/adaptor/cpp17/optional.hpp | 0 .../msgpack/adaptor/cpp17/string_view.hpp | 0 .../msgpack/adaptor/cpp17/vector_byte.hpp | 0 .../include/msgpack/adaptor/cpp20/span.hpp | 0 .../include/msgpack/adaptor/define.hpp | 0 .../include/msgpack/adaptor/define_decl.hpp | 0 .../include/msgpack/adaptor/deque.hpp | 0 .../msgpack-c/include/msgpack/adaptor/ext.hpp | 0 .../include/msgpack/adaptor/ext_decl.hpp | 0 .../include/msgpack/adaptor/fixint.hpp | 0 .../include/msgpack/adaptor/fixint_decl.hpp | 0 .../include/msgpack/adaptor/float.hpp | 0 .../msgpack-c/include/msgpack/adaptor/int.hpp | 0 .../include/msgpack/adaptor/int_decl.hpp | 0 .../include/msgpack/adaptor/list.hpp | 0 .../msgpack-c/include/msgpack/adaptor/map.hpp | 0 .../include/msgpack/adaptor/map_decl.hpp | 0 .../include/msgpack/adaptor/msgpack_tuple.hpp | 0 .../msgpack/adaptor/msgpack_tuple_decl.hpp | 0 .../msgpack-c/include/msgpack/adaptor/nil.hpp | 0 .../include/msgpack/adaptor/nil_decl.hpp | 0 .../include/msgpack/adaptor/pair.hpp | 0 .../msgpack-c/include/msgpack/adaptor/raw.hpp | 0 .../include/msgpack/adaptor/raw_decl.hpp | 0 .../msgpack-c/include/msgpack/adaptor/set.hpp | 0 .../msgpack/adaptor/size_equal_only.hpp | 0 .../msgpack/adaptor/size_equal_only_decl.hpp | 0 .../include/msgpack/adaptor/string.hpp | 0 .../msgpack/adaptor/tr1/unordered_map.hpp | 0 .../msgpack/adaptor/tr1/unordered_set.hpp | 0 .../include/msgpack/adaptor/v4raw.hpp | 0 .../include/msgpack/adaptor/v4raw_decl.hpp | 0 .../include/msgpack/adaptor/vector.hpp | 0 .../include/msgpack/adaptor/vector_bool.hpp | 0 .../include/msgpack/adaptor/vector_char.hpp | 0 .../msgpack/adaptor/vector_unsigned_char.hpp | 0 .../include/msgpack/adaptor/wstring.hpp | 0 .../src/msgpack-c/include/msgpack/assert.hpp | 0 .../msgpack-c/include/msgpack/cpp_config.hpp | 0 .../include/msgpack/cpp_config_decl.hpp | 0 .../msgpack-c/include/msgpack/cpp_version.hpp | 0 .../include/msgpack/create_object_visitor.hpp | 0 .../msgpack/create_object_visitor_decl.hpp | 0 .../src/msgpack-c/include/msgpack/fbuffer.hpp | 0 .../include/msgpack/fbuffer_decl.hpp | 0 .../msgpack-c/include/msgpack/gcc_atomic.hpp | 0 .../msgpack-c/include/msgpack/iterator.hpp | 0 .../include/msgpack/iterator_decl.hpp | 0 .../src/msgpack-c/include/msgpack/meta.hpp | 0 .../msgpack-c/include/msgpack/meta_decl.hpp | 0 .../include/msgpack/null_visitor.hpp | 0 .../include/msgpack/null_visitor_decl.hpp | 0 .../src/msgpack-c/include/msgpack/object.hpp | 0 .../msgpack-c/include/msgpack/object_decl.hpp | 0 .../msgpack-c/include/msgpack/object_fwd.hpp | 0 .../include/msgpack/object_fwd_decl.hpp | 0 .../src/msgpack-c/include/msgpack/pack.hpp | 0 .../msgpack-c/include/msgpack/pack_decl.hpp | 0 .../src/msgpack-c/include/msgpack/parse.hpp | 0 .../msgpack-c/include/msgpack/parse_decl.hpp | 0 .../include/msgpack/parse_return.hpp | 0 .../src/msgpack-c/include/msgpack/predef.h | 0 .../include/msgpack/predef/architecture.h | 0 .../msgpack/predef/architecture/alpha.h | 0 .../include/msgpack/predef/architecture/arm.h | 0 .../msgpack/predef/architecture/blackfin.h | 0 .../msgpack/predef/architecture/convex.h | 0 .../msgpack/predef/architecture/ia64.h | 0 .../msgpack/predef/architecture/m68k.h | 0 .../msgpack/predef/architecture/mips.h | 0 .../msgpack/predef/architecture/parisc.h | 0 .../include/msgpack/predef/architecture/ppc.h | 0 .../include/msgpack/predef/architecture/ptx.h | 0 .../msgpack/predef/architecture/pyramid.h | 0 .../msgpack/predef/architecture/rs6k.h | 0 .../msgpack/predef/architecture/sparc.h | 0 .../msgpack/predef/architecture/superh.h | 0 .../msgpack/predef/architecture/sys370.h | 0 .../msgpack/predef/architecture/sys390.h | 0 .../include/msgpack/predef/architecture/x86.h | 0 .../msgpack/predef/architecture/x86/32.h | 0 .../msgpack/predef/architecture/x86/64.h | 0 .../include/msgpack/predef/architecture/z.h | 0 .../include/msgpack/predef/compiler.h | 0 .../include/msgpack/predef/compiler/borland.h | 0 .../include/msgpack/predef/compiler/clang.h | 0 .../include/msgpack/predef/compiler/comeau.h | 0 .../include/msgpack/predef/compiler/compaq.h | 0 .../include/msgpack/predef/compiler/diab.h | 0 .../msgpack/predef/compiler/digitalmars.h | 0 .../include/msgpack/predef/compiler/dignus.h | 0 .../include/msgpack/predef/compiler/edg.h | 0 .../include/msgpack/predef/compiler/ekopath.h | 0 .../include/msgpack/predef/compiler/gcc.h | 0 .../include/msgpack/predef/compiler/gcc_xml.h | 0 .../msgpack/predef/compiler/greenhills.h | 0 .../include/msgpack/predef/compiler/hp_acc.h | 0 .../include/msgpack/predef/compiler/iar.h | 0 .../include/msgpack/predef/compiler/ibm.h | 0 .../include/msgpack/predef/compiler/intel.h | 0 .../include/msgpack/predef/compiler/kai.h | 0 .../include/msgpack/predef/compiler/llvm.h | 0 .../msgpack/predef/compiler/metaware.h | 0 .../msgpack/predef/compiler/metrowerks.h | 0 .../msgpack/predef/compiler/microtec.h | 0 .../include/msgpack/predef/compiler/mpw.h | 0 .../include/msgpack/predef/compiler/nvcc.h | 0 .../include/msgpack/predef/compiler/palm.h | 0 .../include/msgpack/predef/compiler/pgi.h | 0 .../msgpack/predef/compiler/sgi_mipspro.h | 0 .../include/msgpack/predef/compiler/sunpro.h | 0 .../include/msgpack/predef/compiler/tendra.h | 0 .../include/msgpack/predef/compiler/visualc.h | 0 .../include/msgpack/predef/compiler/watcom.h | 0 .../include/msgpack/predef/detail/_cassert.h | 0 .../msgpack/predef/detail/_exception.h | 0 .../msgpack/predef/detail/comp_detected.h | 0 .../msgpack/predef/detail/endian_compat.h | 0 .../msgpack/predef/detail/os_detected.h | 0 .../msgpack/predef/detail/platform_detected.h | 0 .../include/msgpack/predef/detail/test.h | 0 .../include/msgpack/predef/detail/test_def.h | 0 .../include/msgpack/predef/hardware.h | 0 .../include/msgpack/predef/hardware/simd.h | 0 .../msgpack/predef/hardware/simd/arm.h | 0 .../predef/hardware/simd/arm/versions.h | 0 .../msgpack/predef/hardware/simd/ppc.h | 0 .../predef/hardware/simd/ppc/versions.h | 0 .../msgpack/predef/hardware/simd/x86.h | 0 .../predef/hardware/simd/x86/versions.h | 0 .../msgpack/predef/hardware/simd/x86_amd.h | 0 .../predef/hardware/simd/x86_amd/versions.h | 0 .../include/msgpack/predef/language.h | 0 .../include/msgpack/predef/language/cuda.h | 0 .../include/msgpack/predef/language/objc.h | 0 .../include/msgpack/predef/language/stdc.h | 0 .../include/msgpack/predef/language/stdcpp.h | 0 .../include/msgpack/predef/library.h | 0 .../include/msgpack/predef/library/c.h | 0 .../msgpack/predef/library/c/_prefix.h | 0 .../msgpack/predef/library/c/cloudabi.h | 0 .../include/msgpack/predef/library/c/gnu.h | 0 .../include/msgpack/predef/library/c/uc.h | 0 .../include/msgpack/predef/library/c/vms.h | 0 .../include/msgpack/predef/library/c/zos.h | 0 .../include/msgpack/predef/library/std.h | 0 .../msgpack/predef/library/std/_prefix.h | 0 .../include/msgpack/predef/library/std/cxx.h | 0 .../msgpack/predef/library/std/dinkumware.h | 0 .../msgpack/predef/library/std/libcomo.h | 0 .../msgpack/predef/library/std/modena.h | 0 .../include/msgpack/predef/library/std/msl.h | 0 .../msgpack/predef/library/std/roguewave.h | 0 .../include/msgpack/predef/library/std/sgi.h | 0 .../msgpack/predef/library/std/stdcpp3.h | 0 .../msgpack/predef/library/std/stlport.h | 0 .../msgpack/predef/library/std/vacpp.h | 0 .../msgpack-c/include/msgpack/predef/make.h | 0 .../src/msgpack-c/include/msgpack/predef/os.h | 0 .../msgpack-c/include/msgpack/predef/os/aix.h | 0 .../include/msgpack/predef/os/amigaos.h | 0 .../include/msgpack/predef/os/android.h | 0 .../include/msgpack/predef/os/beos.h | 0 .../msgpack-c/include/msgpack/predef/os/bsd.h | 0 .../include/msgpack/predef/os/bsd/bsdi.h | 0 .../include/msgpack/predef/os/bsd/dragonfly.h | 0 .../include/msgpack/predef/os/bsd/free.h | 0 .../include/msgpack/predef/os/bsd/net.h | 0 .../include/msgpack/predef/os/bsd/open.h | 0 .../include/msgpack/predef/os/cygwin.h | 0 .../include/msgpack/predef/os/haiku.h | 0 .../include/msgpack/predef/os/hpux.h | 0 .../msgpack-c/include/msgpack/predef/os/ios.h | 0 .../include/msgpack/predef/os/irix.h | 0 .../include/msgpack/predef/os/linux.h | 0 .../include/msgpack/predef/os/macos.h | 0 .../include/msgpack/predef/os/os400.h | 0 .../include/msgpack/predef/os/qnxnto.h | 0 .../include/msgpack/predef/os/solaris.h | 0 .../include/msgpack/predef/os/unix.h | 0 .../msgpack-c/include/msgpack/predef/os/vms.h | 0 .../include/msgpack/predef/os/windows.h | 0 .../msgpack-c/include/msgpack/predef/other.h | 0 .../include/msgpack/predef/other/endian.h | 0 .../include/msgpack/predef/other/workaround.h | 0 .../include/msgpack/predef/platform.h | 0 .../msgpack/predef/platform/cloudabi.h | 0 .../include/msgpack/predef/platform/ios.h | 0 .../include/msgpack/predef/platform/mingw.h | 0 .../include/msgpack/predef/platform/mingw32.h | 0 .../include/msgpack/predef/platform/mingw64.h | 0 .../msgpack/predef/platform/windows_desktop.h | 0 .../msgpack/predef/platform/windows_phone.h | 0 .../msgpack/predef/platform/windows_runtime.h | 0 .../msgpack/predef/platform/windows_server.h | 0 .../msgpack/predef/platform/windows_store.h | 0 .../msgpack/predef/platform/windows_system.h | 0 .../msgpack/predef/platform/windows_uwp.h | 0 .../include/msgpack/predef/version.h | 0 .../include/msgpack/predef/version_number.h | 0 .../include/msgpack/preprocessor.hpp | 0 .../msgpack/preprocessor/arithmetic.hpp | 0 .../msgpack/preprocessor/arithmetic/add.hpp | 0 .../msgpack/preprocessor/arithmetic/dec.hpp | 0 .../arithmetic/detail/div_base.hpp | 0 .../msgpack/preprocessor/arithmetic/div.hpp | 0 .../msgpack/preprocessor/arithmetic/inc.hpp | 0 .../msgpack/preprocessor/arithmetic/mod.hpp | 0 .../msgpack/preprocessor/arithmetic/mul.hpp | 0 .../msgpack/preprocessor/arithmetic/sub.hpp | 0 .../include/msgpack/preprocessor/array.hpp | 0 .../msgpack/preprocessor/array/data.hpp | 0 .../preprocessor/array/detail/get_data.hpp | 0 .../msgpack/preprocessor/array/elem.hpp | 0 .../msgpack/preprocessor/array/enum.hpp | 0 .../msgpack/preprocessor/array/insert.hpp | 0 .../msgpack/preprocessor/array/pop_back.hpp | 0 .../msgpack/preprocessor/array/pop_front.hpp | 0 .../msgpack/preprocessor/array/push_back.hpp | 0 .../msgpack/preprocessor/array/push_front.hpp | 0 .../msgpack/preprocessor/array/remove.hpp | 0 .../msgpack/preprocessor/array/replace.hpp | 0 .../msgpack/preprocessor/array/reverse.hpp | 0 .../msgpack/preprocessor/array/size.hpp | 0 .../msgpack/preprocessor/array/to_list.hpp | 0 .../msgpack/preprocessor/array/to_seq.hpp | 0 .../msgpack/preprocessor/array/to_tuple.hpp | 0 .../msgpack/preprocessor/assert_msg.hpp | 0 .../include/msgpack/preprocessor/cat.hpp | 0 .../include/msgpack/preprocessor/comma.hpp | 0 .../include/msgpack/preprocessor/comma_if.hpp | 0 .../msgpack/preprocessor/comparison.hpp | 0 .../msgpack/preprocessor/comparison/equal.hpp | 0 .../preprocessor/comparison/greater.hpp | 0 .../preprocessor/comparison/greater_equal.hpp | 0 .../msgpack/preprocessor/comparison/less.hpp | 0 .../preprocessor/comparison/less_equal.hpp | 0 .../preprocessor/comparison/not_equal.hpp | 0 .../msgpack/preprocessor/config/config.hpp | 0 .../msgpack/preprocessor/config/limits.hpp | 0 .../include/msgpack/preprocessor/control.hpp | 0 .../msgpack/preprocessor/control/deduce_d.hpp | 0 .../preprocessor/control/detail/dmc/while.hpp | 0 .../preprocessor/control/detail/edg/while.hpp | 0 .../control/detail/msvc/while.hpp | 0 .../preprocessor/control/detail/while.hpp | 0 .../msgpack/preprocessor/control/expr_if.hpp | 0 .../msgpack/preprocessor/control/expr_iif.hpp | 0 .../msgpack/preprocessor/control/if.hpp | 0 .../msgpack/preprocessor/control/iif.hpp | 0 .../msgpack/preprocessor/control/while.hpp | 0 .../include/msgpack/preprocessor/debug.hpp | 0 .../msgpack/preprocessor/debug/assert.hpp | 0 .../msgpack/preprocessor/debug/error.hpp | 0 .../msgpack/preprocessor/debug/line.hpp | 0 .../include/msgpack/preprocessor/dec.hpp | 0 .../msgpack/preprocessor/detail/auto_rec.hpp | 0 .../msgpack/preprocessor/detail/check.hpp | 0 .../preprocessor/detail/dmc/auto_rec.hpp | 0 .../msgpack/preprocessor/detail/is_binary.hpp | 0 .../preprocessor/detail/is_nullary.hpp | 0 .../msgpack/preprocessor/detail/is_unary.hpp | 0 .../msgpack/preprocessor/detail/null.hpp | 0 .../msgpack/preprocessor/detail/split.hpp | 0 .../include/msgpack/preprocessor/empty.hpp | 0 .../include/msgpack/preprocessor/enum.hpp | 0 .../msgpack/preprocessor/enum_params.hpp | 0 .../enum_params_with_a_default.hpp | 0 .../enum_params_with_defaults.hpp | 0 .../msgpack/preprocessor/enum_shifted.hpp | 0 .../preprocessor/enum_shifted_params.hpp | 0 .../include/msgpack/preprocessor/expand.hpp | 0 .../include/msgpack/preprocessor/expr_if.hpp | 0 .../msgpack/preprocessor/facilities.hpp | 0 .../msgpack/preprocessor/facilities/apply.hpp | 0 .../facilities/detail/is_empty.hpp | 0 .../msgpack/preprocessor/facilities/empty.hpp | 0 .../preprocessor/facilities/expand.hpp | 0 .../preprocessor/facilities/identity.hpp | 0 .../preprocessor/facilities/intercept.hpp | 0 .../msgpack/preprocessor/facilities/is_1.hpp | 0 .../preprocessor/facilities/is_empty.hpp | 0 .../preprocessor/facilities/is_empty_or_1.hpp | 0 .../facilities/is_empty_variadic.hpp | 0 .../preprocessor/facilities/overload.hpp | 0 .../include/msgpack/preprocessor/for.hpp | 0 .../include/msgpack/preprocessor/identity.hpp | 0 .../include/msgpack/preprocessor/if.hpp | 0 .../include/msgpack/preprocessor/inc.hpp | 0 .../include/msgpack/preprocessor/iterate.hpp | 0 .../msgpack/preprocessor/iteration.hpp | 0 .../iteration/detail/bounds/lower1.hpp | 0 .../iteration/detail/bounds/lower2.hpp | 0 .../iteration/detail/bounds/lower3.hpp | 0 .../iteration/detail/bounds/lower4.hpp | 0 .../iteration/detail/bounds/lower5.hpp | 0 .../iteration/detail/bounds/upper1.hpp | 0 .../iteration/detail/bounds/upper2.hpp | 0 .../iteration/detail/bounds/upper3.hpp | 0 .../iteration/detail/bounds/upper4.hpp | 0 .../iteration/detail/bounds/upper5.hpp | 0 .../preprocessor/iteration/detail/finish.hpp | 0 .../iteration/detail/iter/forward1.hpp | 0 .../iteration/detail/iter/forward2.hpp | 0 .../iteration/detail/iter/forward3.hpp | 0 .../iteration/detail/iter/forward4.hpp | 0 .../iteration/detail/iter/forward5.hpp | 0 .../iteration/detail/iter/reverse1.hpp | 0 .../iteration/detail/iter/reverse2.hpp | 0 .../iteration/detail/iter/reverse3.hpp | 0 .../iteration/detail/iter/reverse4.hpp | 0 .../iteration/detail/iter/reverse5.hpp | 0 .../preprocessor/iteration/detail/local.hpp | 0 .../preprocessor/iteration/detail/rlocal.hpp | 0 .../preprocessor/iteration/detail/self.hpp | 0 .../preprocessor/iteration/detail/start.hpp | 0 .../preprocessor/iteration/iterate.hpp | 0 .../msgpack/preprocessor/iteration/local.hpp | 0 .../msgpack/preprocessor/iteration/self.hpp | 0 .../include/msgpack/preprocessor/library.hpp | 0 .../include/msgpack/preprocessor/limits.hpp | 0 .../include/msgpack/preprocessor/list.hpp | 0 .../include/msgpack/preprocessor/list/adt.hpp | 0 .../msgpack/preprocessor/list/append.hpp | 0 .../include/msgpack/preprocessor/list/at.hpp | 0 .../include/msgpack/preprocessor/list/cat.hpp | 0 .../list/detail/dmc/fold_left.hpp | 0 .../list/detail/edg/fold_left.hpp | 0 .../list/detail/edg/fold_right.hpp | 0 .../preprocessor/list/detail/fold_left.hpp | 0 .../preprocessor/list/detail/fold_right.hpp | 0 .../msgpack/preprocessor/list/enum.hpp | 0 .../msgpack/preprocessor/list/filter.hpp | 0 .../msgpack/preprocessor/list/first_n.hpp | 0 .../msgpack/preprocessor/list/fold_left.hpp | 0 .../msgpack/preprocessor/list/fold_right.hpp | 0 .../msgpack/preprocessor/list/for_each.hpp | 0 .../msgpack/preprocessor/list/for_each_i.hpp | 0 .../preprocessor/list/for_each_product.hpp | 0 .../msgpack/preprocessor/list/rest_n.hpp | 0 .../msgpack/preprocessor/list/reverse.hpp | 0 .../msgpack/preprocessor/list/size.hpp | 0 .../msgpack/preprocessor/list/to_array.hpp | 0 .../msgpack/preprocessor/list/to_seq.hpp | 0 .../msgpack/preprocessor/list/to_tuple.hpp | 0 .../msgpack/preprocessor/list/transform.hpp | 0 .../include/msgpack/preprocessor/logical.hpp | 0 .../msgpack/preprocessor/logical/and.hpp | 0 .../msgpack/preprocessor/logical/bitand.hpp | 0 .../msgpack/preprocessor/logical/bitnor.hpp | 0 .../msgpack/preprocessor/logical/bitor.hpp | 0 .../msgpack/preprocessor/logical/bitxor.hpp | 0 .../msgpack/preprocessor/logical/bool.hpp | 0 .../msgpack/preprocessor/logical/compl.hpp | 0 .../msgpack/preprocessor/logical/nor.hpp | 0 .../msgpack/preprocessor/logical/not.hpp | 0 .../msgpack/preprocessor/logical/or.hpp | 0 .../msgpack/preprocessor/logical/xor.hpp | 0 .../include/msgpack/preprocessor/max.hpp | 0 .../include/msgpack/preprocessor/min.hpp | 0 .../msgpack/preprocessor/punctuation.hpp | 0 .../preprocessor/punctuation/comma.hpp | 0 .../preprocessor/punctuation/comma_if.hpp | 0 .../punctuation/detail/is_begin_parens.hpp | 0 .../punctuation/is_begin_parens.hpp | 0 .../preprocessor/punctuation/paren.hpp | 0 .../preprocessor/punctuation/paren_if.hpp | 0 .../punctuation/remove_parens.hpp | 0 .../include/msgpack/preprocessor/repeat.hpp | 0 .../msgpack/preprocessor/repeat_2nd.hpp | 0 .../msgpack/preprocessor/repeat_3rd.hpp | 0 .../msgpack/preprocessor/repeat_from_to.hpp | 0 .../preprocessor/repeat_from_to_2nd.hpp | 0 .../preprocessor/repeat_from_to_3rd.hpp | 0 .../msgpack/preprocessor/repetition.hpp | 0 .../preprocessor/repetition/deduce_r.hpp | 0 .../preprocessor/repetition/deduce_z.hpp | 0 .../repetition/detail/dmc/for.hpp | 0 .../repetition/detail/edg/for.hpp | 0 .../preprocessor/repetition/detail/for.hpp | 0 .../repetition/detail/msvc/for.hpp | 0 .../msgpack/preprocessor/repetition/enum.hpp | 0 .../repetition/enum_binary_params.hpp | 0 .../preprocessor/repetition/enum_params.hpp | 0 .../repetition/enum_params_with_a_default.hpp | 0 .../repetition/enum_params_with_defaults.hpp | 0 .../preprocessor/repetition/enum_shifted.hpp | 0 .../repetition/enum_shifted_binary_params.hpp | 0 .../repetition/enum_shifted_params.hpp | 0 .../preprocessor/repetition/enum_trailing.hpp | 0 .../enum_trailing_binary_params.hpp | 0 .../repetition/enum_trailing_params.hpp | 0 .../msgpack/preprocessor/repetition/for.hpp | 0 .../preprocessor/repetition/repeat.hpp | 0 .../repetition/repeat_from_to.hpp | 0 .../msgpack/preprocessor/selection.hpp | 0 .../msgpack/preprocessor/selection/max.hpp | 0 .../msgpack/preprocessor/selection/min.hpp | 0 .../include/msgpack/preprocessor/seq.hpp | 0 .../include/msgpack/preprocessor/seq/cat.hpp | 0 .../seq/detail/binary_transform.hpp | 0 .../preprocessor/seq/detail/is_empty.hpp | 0 .../msgpack/preprocessor/seq/detail/split.hpp | 0 .../preprocessor/seq/detail/to_list_msvc.hpp | 0 .../include/msgpack/preprocessor/seq/elem.hpp | 0 .../include/msgpack/preprocessor/seq/enum.hpp | 0 .../msgpack/preprocessor/seq/filter.hpp | 0 .../msgpack/preprocessor/seq/first_n.hpp | 0 .../msgpack/preprocessor/seq/fold_left.hpp | 0 .../msgpack/preprocessor/seq/fold_right.hpp | 0 .../msgpack/preprocessor/seq/for_each.hpp | 0 .../msgpack/preprocessor/seq/for_each_i.hpp | 0 .../preprocessor/seq/for_each_product.hpp | 0 .../msgpack/preprocessor/seq/insert.hpp | 0 .../msgpack/preprocessor/seq/pop_back.hpp | 0 .../msgpack/preprocessor/seq/pop_front.hpp | 0 .../msgpack/preprocessor/seq/push_back.hpp | 0 .../msgpack/preprocessor/seq/push_front.hpp | 0 .../msgpack/preprocessor/seq/remove.hpp | 0 .../msgpack/preprocessor/seq/replace.hpp | 0 .../msgpack/preprocessor/seq/rest_n.hpp | 0 .../msgpack/preprocessor/seq/reverse.hpp | 0 .../include/msgpack/preprocessor/seq/seq.hpp | 0 .../include/msgpack/preprocessor/seq/size.hpp | 0 .../msgpack/preprocessor/seq/subseq.hpp | 0 .../msgpack/preprocessor/seq/to_array.hpp | 0 .../msgpack/preprocessor/seq/to_list.hpp | 0 .../msgpack/preprocessor/seq/to_tuple.hpp | 0 .../msgpack/preprocessor/seq/transform.hpp | 0 .../preprocessor/seq/variadic_seq_to_seq.hpp | 0 .../include/msgpack/preprocessor/slot.hpp | 0 .../msgpack/preprocessor/slot/counter.hpp | 0 .../preprocessor/slot/detail/counter.hpp | 0 .../msgpack/preprocessor/slot/detail/def.hpp | 0 .../preprocessor/slot/detail/shared.hpp | 0 .../preprocessor/slot/detail/slot1.hpp | 0 .../preprocessor/slot/detail/slot2.hpp | 0 .../preprocessor/slot/detail/slot3.hpp | 0 .../preprocessor/slot/detail/slot4.hpp | 0 .../preprocessor/slot/detail/slot5.hpp | 0 .../msgpack/preprocessor/slot/slot.hpp | 0 .../msgpack/preprocessor/stringize.hpp | 0 .../include/msgpack/preprocessor/tuple.hpp | 0 .../tuple/detail/is_single_return.hpp | 0 .../msgpack/preprocessor/tuple/eat.hpp | 0 .../msgpack/preprocessor/tuple/elem.hpp | 0 .../msgpack/preprocessor/tuple/enum.hpp | 0 .../msgpack/preprocessor/tuple/insert.hpp | 0 .../msgpack/preprocessor/tuple/pop_back.hpp | 0 .../msgpack/preprocessor/tuple/pop_front.hpp | 0 .../msgpack/preprocessor/tuple/push_back.hpp | 0 .../msgpack/preprocessor/tuple/push_front.hpp | 0 .../msgpack/preprocessor/tuple/rem.hpp | 0 .../msgpack/preprocessor/tuple/remove.hpp | 0 .../msgpack/preprocessor/tuple/replace.hpp | 0 .../msgpack/preprocessor/tuple/reverse.hpp | 0 .../msgpack/preprocessor/tuple/size.hpp | 0 .../msgpack/preprocessor/tuple/to_array.hpp | 0 .../msgpack/preprocessor/tuple/to_list.hpp | 0 .../msgpack/preprocessor/tuple/to_seq.hpp | 0 .../include/msgpack/preprocessor/variadic.hpp | 0 .../variadic/detail/is_single_return.hpp | 0 .../msgpack/preprocessor/variadic/elem.hpp | 0 .../msgpack/preprocessor/variadic/size.hpp | 0 .../preprocessor/variadic/to_array.hpp | 0 .../msgpack/preprocessor/variadic/to_list.hpp | 0 .../msgpack/preprocessor/variadic/to_seq.hpp | 0 .../preprocessor/variadic/to_tuple.hpp | 0 .../include/msgpack/preprocessor/while.hpp | 0 .../msgpack/preprocessor/wstringize.hpp | 0 .../src/msgpack-c/include/msgpack/sbuffer.hpp | 0 .../include/msgpack/sbuffer_decl.hpp | 0 .../src/msgpack-c/include/msgpack/sysdep.hpp | 0 .../src/msgpack-c/include/msgpack/type.hpp | 0 .../src/msgpack-c/include/msgpack/unpack.hpp | 0 .../msgpack-c/include/msgpack/unpack_decl.hpp | 0 .../include/msgpack/unpack_define.hpp | 0 .../include/msgpack/unpack_exception.hpp | 0 .../msgpack/v1/adaptor/adaptor_base.hpp | 0 .../msgpack/v1/adaptor/adaptor_base_decl.hpp | 0 .../include/msgpack/v1/adaptor/array_ref.hpp | 0 .../msgpack/v1/adaptor/array_ref_decl.hpp | 0 .../include/msgpack/v1/adaptor/bool.hpp | 0 .../msgpack/v1/adaptor/boost/fusion.hpp | 0 .../v1/adaptor/boost/msgpack_variant.hpp | 0 .../v1/adaptor/boost/msgpack_variant_decl.hpp | 0 .../msgpack/v1/adaptor/boost/optional.hpp | 0 .../msgpack/v1/adaptor/boost/string_ref.hpp | 0 .../msgpack/v1/adaptor/boost/string_view.hpp | 0 .../include/msgpack/v1/adaptor/carray.hpp | 0 .../include/msgpack/v1/adaptor/char_ptr.hpp | 0 .../v1/adaptor/check_container_size.hpp | 0 .../v1/adaptor/check_container_size_decl.hpp | 0 .../include/msgpack/v1/adaptor/complex.hpp | 0 .../msgpack/v1/adaptor/cpp11/array.hpp | 0 .../msgpack/v1/adaptor/cpp11/array_char.hpp | 0 .../v1/adaptor/cpp11/array_unsigned_char.hpp | 0 .../msgpack/v1/adaptor/cpp11/chrono.hpp | 0 .../msgpack/v1/adaptor/cpp11/forward_list.hpp | 0 .../v1/adaptor/cpp11/reference_wrapper.hpp | 0 .../msgpack/v1/adaptor/cpp11/shared_ptr.hpp | 0 .../msgpack/v1/adaptor/cpp11/timespec.hpp | 0 .../msgpack/v1/adaptor/cpp11/tuple.hpp | 0 .../msgpack/v1/adaptor/cpp11/unique_ptr.hpp | 0 .../v1/adaptor/cpp11/unordered_map.hpp | 0 .../v1/adaptor/cpp11/unordered_set.hpp | 0 .../msgpack/v1/adaptor/cpp17/array_byte.hpp | 0 .../include/msgpack/v1/adaptor/cpp17/byte.hpp | 0 .../msgpack/v1/adaptor/cpp17/carray_byte.hpp | 0 .../msgpack/v1/adaptor/cpp17/optional.hpp | 0 .../msgpack/v1/adaptor/cpp17/string_view.hpp | 0 .../msgpack/v1/adaptor/cpp17/vector_byte.hpp | 0 .../include/msgpack/v1/adaptor/cpp20/span.hpp | 0 .../include/msgpack/v1/adaptor/define.hpp | 0 .../msgpack/v1/adaptor/define_decl.hpp | 0 .../include/msgpack/v1/adaptor/deque.hpp | 0 .../v1/adaptor/detail/cpp03_define_array.hpp | 0 .../detail/cpp03_define_array_decl.hpp | 0 .../v1/adaptor/detail/cpp03_define_map.hpp | 0 .../adaptor/detail/cpp03_define_map_decl.hpp | 0 .../v1/adaptor/detail/cpp03_msgpack_tuple.hpp | 0 .../detail/cpp03_msgpack_tuple_decl.hpp | 0 .../adaptor/detail/cpp11_convert_helper.hpp | 0 .../v1/adaptor/detail/cpp11_define_array.hpp | 0 .../detail/cpp11_define_array_decl.hpp | 0 .../v1/adaptor/detail/cpp11_define_map.hpp | 0 .../adaptor/detail/cpp11_define_map_decl.hpp | 0 .../v1/adaptor/detail/cpp11_msgpack_tuple.hpp | 0 .../detail/cpp11_msgpack_tuple_decl.hpp | 0 .../include/msgpack/v1/adaptor/ext.hpp | 0 .../include/msgpack/v1/adaptor/ext_decl.hpp | 0 .../include/msgpack/v1/adaptor/fixint.hpp | 0 .../msgpack/v1/adaptor/fixint_decl.hpp | 0 .../include/msgpack/v1/adaptor/float.hpp | 0 .../include/msgpack/v1/adaptor/int.hpp | 0 .../include/msgpack/v1/adaptor/int_decl.hpp | 0 .../include/msgpack/v1/adaptor/list.hpp | 0 .../include/msgpack/v1/adaptor/map.hpp | 0 .../include/msgpack/v1/adaptor/map_decl.hpp | 0 .../msgpack/v1/adaptor/msgpack_tuple.hpp | 0 .../msgpack/v1/adaptor/msgpack_tuple_decl.hpp | 0 .../include/msgpack/v1/adaptor/nil.hpp | 0 .../include/msgpack/v1/adaptor/nil_decl.hpp | 0 .../include/msgpack/v1/adaptor/pair.hpp | 0 .../include/msgpack/v1/adaptor/raw.hpp | 0 .../include/msgpack/v1/adaptor/raw_decl.hpp | 0 .../include/msgpack/v1/adaptor/set.hpp | 0 .../msgpack/v1/adaptor/size_equal_only.hpp | 0 .../v1/adaptor/size_equal_only_decl.hpp | 0 .../include/msgpack/v1/adaptor/string.hpp | 0 .../msgpack/v1/adaptor/tr1/unordered_map.hpp | 0 .../msgpack/v1/adaptor/tr1/unordered_set.hpp | 0 .../include/msgpack/v1/adaptor/v4raw.hpp | 0 .../include/msgpack/v1/adaptor/v4raw_decl.hpp | 0 .../include/msgpack/v1/adaptor/vector.hpp | 0 .../msgpack/v1/adaptor/vector_bool.hpp | 0 .../msgpack/v1/adaptor/vector_char.hpp | 0 .../v1/adaptor/vector_unsigned_char.hpp | 0 .../include/msgpack/v1/adaptor/wstring.hpp | 0 .../include/msgpack/v1/cpp_config.hpp | 0 .../include/msgpack/v1/cpp_config_decl.hpp | 0 .../include/msgpack/v1/detail/cpp03_zone.hpp | 0 .../msgpack/v1/detail/cpp03_zone_decl.hpp | 0 .../include/msgpack/v1/detail/cpp11_zone.hpp | 0 .../msgpack/v1/detail/cpp11_zone_decl.hpp | 0 .../msgpack-c/include/msgpack/v1/fbuffer.hpp | 0 .../include/msgpack/v1/fbuffer_decl.hpp | 0 .../msgpack-c/include/msgpack/v1/iterator.hpp | 0 .../include/msgpack/v1/iterator_decl.hpp | 0 .../src/msgpack-c/include/msgpack/v1/meta.hpp | 0 .../include/msgpack/v1/meta_decl.hpp | 0 .../msgpack-c/include/msgpack/v1/object.hpp | 0 .../include/msgpack/v1/object_decl.hpp | 0 .../include/msgpack/v1/object_fwd.hpp | 0 .../include/msgpack/v1/object_fwd_decl.hpp | 0 .../src/msgpack-c/include/msgpack/v1/pack.hpp | 0 .../include/msgpack/v1/pack_decl.hpp | 0 .../include/msgpack/v1/parse_return.hpp | 0 .../msgpack-c/include/msgpack/v1/sbuffer.hpp | 0 .../include/msgpack/v1/sbuffer_decl.hpp | 0 .../msgpack-c/include/msgpack/v1/unpack.hpp | 0 .../include/msgpack/v1/unpack_decl.hpp | 0 .../include/msgpack/v1/unpack_exception.hpp | 0 .../msgpack-c/include/msgpack/v1/version.hpp | 0 .../include/msgpack/v1/versioning.hpp | 0 .../include/msgpack/v1/vrefbuffer.hpp | 0 .../include/msgpack/v1/vrefbuffer_decl.hpp | 0 .../msgpack-c/include/msgpack/v1/zbuffer.hpp | 0 .../include/msgpack/v1/zbuffer_decl.hpp | 0 .../src/msgpack-c/include/msgpack/v1/zone.hpp | 0 .../include/msgpack/v1/zone_decl.hpp | 0 .../msgpack/v2/adaptor/adaptor_base.hpp | 0 .../msgpack/v2/adaptor/adaptor_base_decl.hpp | 0 .../msgpack/v2/adaptor/array_ref_decl.hpp | 0 .../v2/adaptor/boost/msgpack_variant_decl.hpp | 0 .../v2/adaptor/check_container_size_decl.hpp | 0 .../msgpack/v2/adaptor/define_decl.hpp | 0 .../detail/cpp03_define_array_decl.hpp | 0 .../adaptor/detail/cpp03_define_map_decl.hpp | 0 .../detail/cpp03_msgpack_tuple_decl.hpp | 0 .../detail/cpp11_define_array_decl.hpp | 0 .../adaptor/detail/cpp11_define_map_decl.hpp | 0 .../detail/cpp11_msgpack_tuple_decl.hpp | 0 .../include/msgpack/v2/adaptor/ext_decl.hpp | 0 .../msgpack/v2/adaptor/fixint_decl.hpp | 0 .../include/msgpack/v2/adaptor/int_decl.hpp | 0 .../include/msgpack/v2/adaptor/map_decl.hpp | 0 .../msgpack/v2/adaptor/msgpack_tuple_decl.hpp | 0 .../include/msgpack/v2/adaptor/nil_decl.hpp | 0 .../include/msgpack/v2/adaptor/raw_decl.hpp | 0 .../v2/adaptor/size_equal_only_decl.hpp | 0 .../include/msgpack/v2/adaptor/v4raw_decl.hpp | 0 .../include/msgpack/v2/cpp_config_decl.hpp | 0 .../msgpack/v2/create_object_visitor.hpp | 0 .../msgpack/v2/create_object_visitor_decl.hpp | 0 .../msgpack/v2/detail/cpp03_zone_decl.hpp | 0 .../msgpack/v2/detail/cpp11_zone_decl.hpp | 0 .../include/msgpack/v2/fbuffer_decl.hpp | 0 .../include/msgpack/v2/iterator_decl.hpp | 0 .../include/msgpack/v2/meta_decl.hpp | 0 .../include/msgpack/v2/null_visitor.hpp | 0 .../include/msgpack/v2/null_visitor_decl.hpp | 0 .../msgpack-c/include/msgpack/v2/object.hpp | 0 .../include/msgpack/v2/object_decl.hpp | 0 .../include/msgpack/v2/object_fwd.hpp | 0 .../include/msgpack/v2/object_fwd_decl.hpp | 0 .../include/msgpack/v2/pack_decl.hpp | 0 .../msgpack-c/include/msgpack/v2/parse.hpp | 0 .../include/msgpack/v2/parse_decl.hpp | 0 .../include/msgpack/v2/parse_return.hpp | 0 .../include/msgpack/v2/sbuffer_decl.hpp | 0 .../msgpack-c/include/msgpack/v2/unpack.hpp | 0 .../include/msgpack/v2/unpack_decl.hpp | 0 .../include/msgpack/v2/vrefbuffer_decl.hpp | 0 .../msgpack-c/include/msgpack/v2/x3_parse.hpp | 0 .../include/msgpack/v2/x3_parse_decl.hpp | 0 .../include/msgpack/v2/x3_unpack.hpp | 0 .../include/msgpack/v2/x3_unpack_decl.hpp | 0 .../include/msgpack/v2/zbuffer_decl.hpp | 0 .../include/msgpack/v2/zone_decl.hpp | 0 .../msgpack/v3/adaptor/adaptor_base.hpp | 0 .../msgpack/v3/adaptor/adaptor_base_decl.hpp | 0 .../msgpack/v3/adaptor/array_ref_decl.hpp | 0 .../v3/adaptor/boost/msgpack_variant_decl.hpp | 0 .../v3/adaptor/check_container_size_decl.hpp | 0 .../msgpack/v3/adaptor/define_decl.hpp | 0 .../detail/cpp03_define_array_decl.hpp | 0 .../adaptor/detail/cpp03_define_map_decl.hpp | 0 .../detail/cpp03_msgpack_tuple_decl.hpp | 0 .../detail/cpp11_define_array_decl.hpp | 0 .../adaptor/detail/cpp11_define_map_decl.hpp | 0 .../detail/cpp11_msgpack_tuple_decl.hpp | 0 .../include/msgpack/v3/adaptor/ext_decl.hpp | 0 .../msgpack/v3/adaptor/fixint_decl.hpp | 0 .../include/msgpack/v3/adaptor/int_decl.hpp | 0 .../include/msgpack/v3/adaptor/map_decl.hpp | 0 .../msgpack/v3/adaptor/msgpack_tuple_decl.hpp | 0 .../include/msgpack/v3/adaptor/nil_decl.hpp | 0 .../include/msgpack/v3/adaptor/raw_decl.hpp | 0 .../v3/adaptor/size_equal_only_decl.hpp | 0 .../include/msgpack/v3/adaptor/v4raw_decl.hpp | 0 .../include/msgpack/v3/cpp_config_decl.hpp | 0 .../msgpack/v3/create_object_visitor_decl.hpp | 0 .../msgpack/v3/detail/cpp03_zone_decl.hpp | 0 .../msgpack/v3/detail/cpp11_zone_decl.hpp | 0 .../include/msgpack/v3/fbuffer_decl.hpp | 0 .../include/msgpack/v3/iterator_decl.hpp | 0 .../include/msgpack/v3/meta_decl.hpp | 0 .../include/msgpack/v3/null_visitor_decl.hpp | 0 .../include/msgpack/v3/object_decl.hpp | 0 .../include/msgpack/v3/object_fwd.hpp | 0 .../include/msgpack/v3/object_fwd_decl.hpp | 0 .../include/msgpack/v3/pack_decl.hpp | 0 .../msgpack-c/include/msgpack/v3/parse.hpp | 0 .../include/msgpack/v3/parse_decl.hpp | 0 .../include/msgpack/v3/parse_return.hpp | 0 .../include/msgpack/v3/sbuffer_decl.hpp | 0 .../msgpack-c/include/msgpack/v3/unpack.hpp | 0 .../include/msgpack/v3/unpack_decl.hpp | 0 .../include/msgpack/v3/vrefbuffer_decl.hpp | 0 .../include/msgpack/v3/x3_parse_decl.hpp | 0 .../include/msgpack/v3/x3_unpack.hpp | 0 .../include/msgpack/v3/x3_unpack_decl.hpp | 0 .../include/msgpack/v3/zbuffer_decl.hpp | 0 .../include/msgpack/v3/zone_decl.hpp | 0 .../src/msgpack-c/include/msgpack/version.hpp | 0 .../include/msgpack/version_master.hpp | 0 .../msgpack-c/include/msgpack/versioning.hpp | 0 .../msgpack-c/include/msgpack/vrefbuffer.hpp | 0 .../include/msgpack/vrefbuffer_decl.hpp | 0 .../msgpack-c/include/msgpack/x3_parse.hpp | 0 .../include/msgpack/x3_parse_decl.hpp | 0 .../msgpack-c/include/msgpack/x3_unpack.hpp | 0 .../include/msgpack/x3_unpack_decl.hpp | 0 .../src/msgpack-c/include/msgpack/zbuffer.hpp | 0 .../include/msgpack/zbuffer_decl.hpp | 0 .../src/msgpack-c/include/msgpack/zone.hpp | 0 .../msgpack-c/include/msgpack/zone_decl.hpp | 0 .../cpp/src/msgpack-c/make_file_list.sh | 0 .../cpp/src/msgpack-c/makedist.sh | 0 .../src/msgpack-c/msgpack-cxx-config.cmake.in | 0 .../cpp/src/msgpack-c/preprocess | 0 .../src/msgpack-c/test-install/CMakeLists.txt | 0 .../cpp/src/msgpack-c/test-install/simple.cpp | 0 .../cpp/src/msgpack-c/test/CMakeLists.txt | 0 .../cpp/src/msgpack-c/test/array_ref.cpp | 0 .../cpp/src/msgpack-c/test/boost_fusion.cpp | 0 .../cpp/src/msgpack-c/test/boost_optional.cpp | 0 .../src/msgpack-c/test/boost_string_ref.cpp | 0 .../src/msgpack-c/test/boost_string_view.cpp | 0 .../cpp/src/msgpack-c/test/boost_variant.cpp | 0 .../cpp/src/msgpack-c/test/buffer.cpp | 0 .../cpp/src/msgpack-c/test/buffer_c.cpp | 0 .../cpp/src/msgpack-c/test/carray.cpp | 0 .../cpp/src/msgpack-c/test/cases.cpp | 0 .../cpp/src/msgpack-c/test/cases.mpac | Bin .../cpp/src/msgpack-c/test/cases_compact.mpac | Bin .../cpp/src/msgpack-c/test/convert.cpp | 0 .../cpp/src/msgpack-c/test/fixint.cpp | 0 .../test/fuzz_unpack_pack_fuzzer_cpp11.cpp | 0 .../src/msgpack-c/test/inc_adaptor_define.cpp | 0 .../cpp/src/msgpack-c/test/iterator_cpp11.cpp | 0 .../cpp/src/msgpack-c/test/json.cpp | 0 .../cpp/src/msgpack-c/test/limit.cpp | 0 .../cpp/src/msgpack-c/test/msgpack_basic.cpp | 0 .../src/msgpack-c/test/msgpack_container.cpp | 0 .../cpp/src/msgpack-c/test/msgpack_cpp11.cpp | 0 .../cpp/src/msgpack-c/test/msgpack_cpp17.cpp | 0 .../cpp/src/msgpack-c/test/msgpack_cpp20.cpp | 0 .../cpp/src/msgpack-c/test/msgpack_stream.cpp | 0 .../cpp/src/msgpack-c/test/msgpack_tuple.cpp | 0 .../cpp/src/msgpack-c/test/msgpack_vref.cpp | 0 .../src/msgpack-c/test/msgpack_x3_parse.cpp | 0 .../cpp/src/msgpack-c/test/multi_file1.cpp | 0 .../cpp/src/msgpack-c/test/multi_file2.cpp | 0 .../cpp/src/msgpack-c/test/object.cpp | 0 .../src/msgpack-c/test/object_with_zone.cpp | 0 .../cpp/src/msgpack-c/test/pack_unpack.cpp | 0 .../cpp/src/msgpack-c/test/raw.cpp | 0 .../cpp/src/msgpack-c/test/reference.cpp | 0 .../src/msgpack-c/test/reference_cpp11.cpp | 0 .../test/reference_wrapper_cpp11.cpp | 0 .../src/msgpack-c/test/shared_ptr_cpp11.cpp | 0 .../src/msgpack-c/test/size_equal_only.cpp | 0 .../cpp/src/msgpack-c/test/streaming.cpp | 0 .../cpp/src/msgpack-c/test/test_allocator.hpp | 0 .../src/msgpack-c/test/unique_ptr_cpp11.cpp | 0 .../cpp/src/msgpack-c/test/user_class.cpp | 0 .../cpp/src/msgpack-c/test/version.cpp | 0 .../cpp/src/msgpack-c/test/visitor.cpp | 0 .../cpp/src/msgpack-c/test/zone.cpp | 0 .../cpp/src/msgpack-c/update_version.sh | 0 .../cpp/srs_db/download_ignition.sh | 0 .../cpp/srs_db/grumpkin/monomial/README.md | 0 .../cpp/srs_db/ignition/monomial/checksums | 0 .../cpp/srs_db/ignition/monomial/g2.dat | 0 .../exports.json | 0 .../barretenberg => barretenberg}/flake.lock | 0 .../barretenberg => barretenberg}/flake.nix | 0 .../scripts/bindgen.sh | 0 .../scripts/c_bind_files.txt | 0 .../scripts/decls_json.py | 0 .../sol/.gitignore | 0 .../sol/Dockerfile | 0 .../sol/README.md | 0 .../sol/bootstrap.sh | 0 .../sol/figures/verifier.png | Bin .../sol/foundry.toml | 0 .../sol/lib/forge-std | 0 .../sol/lib/openzeppelin-contracts | 0 .../sol/lib/solidity-stringutils | 0 .../sol/remappings.txt | 0 .../sol/scripts/init.sh | 0 .../sol/scripts/install_foundry.sh | 0 .../sol/scripts/run_fuzzer.sh | 0 .../sol/src/interfaces/IVerifier.sol | 0 .../sol/src/ultra/BaseUltraVerifier.sol | 0 .../src/ultra/instance/Add2UltraVerifier.sol | 0 .../src/ultra/instance/BlakeUltraVerifier.sol | 0 .../ultra/instance/RecursiveUltraVerifier.sol | 0 .../ultra/keys/Add2UltraVerificationKey.sol | 0 .../ultra/keys/BlakeUltraVerificationKey.sol | 0 .../keys/RecursiveUltraVerificationKey.sol | 0 .../sol/test/base/DifferentialFuzzer.sol | 0 .../sol/test/base/TestBase.sol | 0 .../sol/test/ultra/Add2.t.sol | 0 .../sol/test/ultra/Blake.t.sol | 0 .../sol/test/ultra/Recursive.t.sol | 0 .../sol/test/ultra/TestBaseUltra.sol | 0 .../ts/.dockerignore | 0 .../ts/.eslintrc.cjs | 0 .../ts/.gitignore | 0 .../ts/.prettierrc.json | 0 .../ts/.yarn/releases/yarn-berry.cjs | 0 .../ts/.yarnrc.yml | 0 barretenberg/ts/CHANGELOG.md | 192 +++++++- .../ts/Dockerfile | 0 .../ts/README.md | 0 .../ts/bb.js-dev | 0 .../ts/bin-test/target/acir.gz | Bin .../ts/bin-test/target/witness.gz | Bin .../ts/cjs-entry/index.cjs | 0 .../ts/cjs-entry/index.d.ts | 0 .../ts/package.json | 0 .../ts/scripts/run_tests | 0 .../ts/src/async_map/index.ts | 0 .../ts/src/barretenberg-threads.wasm | 0 .../ts/src/barretenberg.wasm | 0 .../ts/src/barretenberg/index.ts | 0 .../ts/src/barretenberg_api/blake2s.test.ts | 0 .../ts/src/barretenberg_api/common.test.ts | 0 .../ts/src/barretenberg_api/index.ts | 0 .../ts/src/barretenberg_api/pedersen.test.ts | 0 .../ts/src/barretenberg_api/schnorr.test.ts | 0 .../src/barretenberg_binder/heap_allocator.ts | 0 .../ts/src/barretenberg_binder/index.ts | 0 .../barretenberg_wasm_base/index.ts | 0 .../factory/browser/index.ts | 0 .../factory/browser/main.worker.ts | 0 .../factory/node/index.ts | 0 .../factory/node/main.worker.ts | 0 .../barretenberg_wasm_main/index.ts | 0 .../factory/browser/index.ts | 0 .../factory/browser/thread.worker.ts | 0 .../factory/node/index.ts | 0 .../factory/node/thread.worker.ts | 0 .../barretenberg_wasm_thread/index.ts | 0 .../fetch_code/browser/index.ts | 0 .../fetch_code/browser/wasm-module.d.ts | 0 .../src/barretenberg_wasm/fetch_code/index.ts | 0 .../fetch_code/node/index.ts | 0 .../helpers/browser/index.ts | 0 .../ts/src/barretenberg_wasm/helpers/index.ts | 0 .../barretenberg_wasm/helpers/node/index.ts | 0 .../helpers/node/node_endpoint.ts | 0 .../ts/src/barretenberg_wasm/index.test.ts | 0 .../ts/src/barretenberg_wasm/index.ts | 0 .../ts/src/bigint-array/index.ts | 0 .../ts/src/bindgen/function_declaration.ts | 0 .../ts/src/bindgen/index.ts | 0 .../ts/src/bindgen/mappings.ts | 0 .../ts/src/bindgen/rust.ts | 0 .../ts/src/bindgen/to_camel_case.ts | 0 .../ts/src/bindgen/typescript.ts | 0 .../ts/src/crs/browser/cached_net_crs.ts | 0 .../ts/src/crs/browser/index.ts | 0 .../ts/src/crs/index.ts | 0 .../ts/src/crs/net_crs.ts | 0 .../ts/src/crs/node/ignition_files_crs.ts | 0 .../ts/src/crs/node/index.ts | 0 .../ts/src/examples/simple.rawtest.ts | 0 .../ts/src/examples/simple.test.ts | 0 .../ts/src/index.html | 0 .../ts/src/index.ts | 0 .../ts/src/info.json | 0 .../ts/src/main.ts | 0 .../ts/src/random/browser/index.ts | 0 .../ts/src/random/index.ts | 0 .../ts/src/random/node/index.ts | 0 .../ts/src/serialize/buffer_reader.ts | 0 .../ts/src/serialize/index.ts | 0 .../ts/src/serialize/output_type.ts | 0 .../ts/src/serialize/serialize.ts | 0 .../ts/src/types/fields.ts | 0 .../ts/src/types/fixed_size_buffer.ts | 0 .../ts/src/types/index.ts | 0 .../ts/src/types/point.ts | 0 .../ts/src/types/ptr.ts | 0 .../ts/src/types/raw_buffer.ts | 0 .../ts/tsconfig.browser.json | 0 .../ts/tsconfig.json | 0 .../ts/webpack.config.js | 0 .../ts/yarn.lock | 0 .../wasi-sdk.nix | 0 circuits/cpp/barretenberg/CHANGELOG.md | 447 ------------------ circuits/cpp/barretenberg/ts/CHANGELOG.md | 201 -------- 1893 files changed, 628 insertions(+), 658 deletions(-) rename {circuits/cpp/barretenberg => barretenberg}/.circleci/config.yml (100%) rename {circuits/cpp/barretenberg => barretenberg}/.dockerignore (100%) rename {circuits/cpp/barretenberg => barretenberg}/.github/pull_request_template.md (100%) rename {circuits/cpp/barretenberg => barretenberg}/.github/workflows/benchmarks.yml (100%) rename {circuits/cpp/barretenberg => barretenberg}/.github/workflows/nix.yml (100%) rename {circuits/cpp/barretenberg => barretenberg}/.github/workflows/noir.yml (100%) rename {circuits/cpp/barretenberg => barretenberg}/.github/workflows/pull-request.yml (100%) rename {circuits/cpp/barretenberg => barretenberg}/.gitignore (100%) rename {circuits/cpp/barretenberg => barretenberg}/.gitmodules (100%) rename {circuits/cpp/barretenberg => barretenberg}/.gitrepo (100%) rename {circuits/cpp/barretenberg => barretenberg}/.vscode/c_cpp_properties.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/.vscode/settings.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/LICENSE (100%) rename {circuits/cpp/barretenberg => barretenberg}/PROJECT (100%) rename {circuits/cpp/barretenberg => barretenberg}/README.md (100%) rename {circuits/cpp/barretenberg => barretenberg}/VERSION (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/.dockerignore (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/.gitignore (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/Dockerfile.bb (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/Dockerfile.bb.js (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/README.md (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/browser-test-app/package.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/browser-test-app/serve.mt.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/browser-test-app/src/index.html (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/browser-test-app/src/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/browser-test-app/tsconfig.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/browser-test-app/webpack.config.js (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/browser-test-app/yarn.lock (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/flows/all_cmds.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/flows/prove_and_verify.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/headless-test/bb.js.browser (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/headless-test/package.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/headless-test/src/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/headless-test/tsconfig.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/headless-test/yarn.lock (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/run_acir_tests.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/acir_tests/run_acir_tests_browser.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/barretenberg-wasm.nix (100%) rename {circuits/cpp/barretenberg => barretenberg}/barretenberg.code-workspace (100%) rename {circuits/cpp/barretenberg => barretenberg}/barretenberg.nix (100%) rename {circuits/cpp/barretenberg => barretenberg}/bootstrap.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/bootstrap_docker.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/build-system (100%) rename {circuits/cpp/barretenberg => barretenberg}/build_manifest.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/build_manifest.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/.aztec-packages-commit (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/.clang-format (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/.clangd (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/.dockerignore (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/.gitignore (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/CMakePresets.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/bin-test/target/acir.gz (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/bin-test/target/witness.gz (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/bootstrap.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/cmake/arch.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/cmake/barretenberg.pc.in (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/cmake/benchmark.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/cmake/build.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/cmake/gtest.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/cmake/module.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/cmake/threading.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/cmake/toolchains/aarch64-darwin.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/cmake/toolchains/aarch64-linux.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/cmake/toolchains/i386-linux.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/cmake/toolchains/wasm32-wasi.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/cmake/toolchains/x86_64-darwin.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/cmake/toolchains/x86_64-linux.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/dockerfiles/Dockerfile.wasm-linux-clang (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/dockerfiles/Dockerfile.x86_64-linux-clang (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-assert (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-benchmarks (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-fuzzing (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/dockerfiles/Dockerfile.x86_64-linux-gcc (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/docs/Fuzzing.md (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/format.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/notebook.ipynb (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/scripts/bb-tests.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/scripts/collect_coverage_information.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/scripts/install-wasi-sdk.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/scripts/run_aztec_circuits_tests (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/scripts/run_tests (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/scripts/stdlib-tests (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/scripts/strip-wasm.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/barretenberg.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/bb/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/bb/exec_pipe.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/bb/file_io.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/bb/get_bytecode.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/bb/get_crs.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/bb/get_witness.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/bb/log.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/bb/main.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/bb/readme.md (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/compare_branch_vs_baseline.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/decrypt_bench/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/decrypt_bench/main.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/honk_bench/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/honk_bench/benchmark_utilities.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/honk_bench/compare_honk_to_plonk_standard.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/honk_bench/compare_honk_to_plonk_ultra.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/honk_bench/honk.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/honk_bench/main.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/honk_bench/standard_honk.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/honk_bench/standard_plonk.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/honk_bench/ultra_honk.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/honk_bench/ultra_plonk.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/pippenger_bench/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/pippenger_bench/main.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/plonk_bench/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/plonk_bench/plonk.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/relations_bench/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/relations_bench/barycentric.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/relations_bench/main.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/benchmark/relations_bench/relations.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/assert.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/c_bind.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/constexpr_utils.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/container.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/fuzzer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/fuzzer_constants.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/inline.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/log.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/map.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/mem.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/mem.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/moody/blockingconcurrentqueue.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/moody/concurrentqueue.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/moody/lightweightsemaphore.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/net.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/parallel_for_atomic_pool.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/parallel_for_moody.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/parallel_for_mutex_pool.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/parallel_for_omp.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/parallel_for_queued.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/parallel_for_spawning.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/printf.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/serialize.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/slab_allocator.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/slab_allocator.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/streams.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/test.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/thread.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/thread.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/throw_or_abort.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/timer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/common/wasm_export.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/aes128/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/aes128/aes128.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/aes128/aes128.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/aes128/aes128.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/aes128/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake2s/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake2s/blake2-impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake2s/blake2s.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake2s/blake2s.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake2s/blake2s.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake2s/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake2s/c_bind.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake3s/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake3s/blake3-impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake3s/blake3s.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake3s/blake3s.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake3s/blake3s.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake3s/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake3s_full/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake3s_full/blake3-impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake3s_full/blake3s.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake3s_full/blake3s.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/blake3s_full/blake3s.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/ecdsa/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/ecdsa/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/ecdsa/c_bind.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/ecdsa/ecdsa.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/ecdsa/ecdsa.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/ecdsa/ecdsa_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/generators/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/generators/fixed_base_scalar_mul.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/generators/generator_data.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/generators/generator_data.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/generators/generator_data.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/hashers/hashers.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/hmac/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/hmac/hmac.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/hmac/hmac.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/keccak/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/keccak/hash_types.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/keccak/keccak.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/keccak/keccak.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/keccak/keccakf1600.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_commitment/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_commitment/convert_buffer_to_field.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_hash/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_hash/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_hash/c_bind.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_hash/c_bind_new.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_hash/pedersen.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_hash/pedersen.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_hash/pedersen_lookup.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/pedersen_hash/pedersen_lookup.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/schnorr/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/schnorr/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/schnorr/c_bind.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/schnorr/c_bind_new.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/schnorr/multisig.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/schnorr/multisig.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/schnorr/proof_of_possession.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/schnorr/proof_of_possession.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/schnorr/schnorr.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/schnorr/schnorr.tcc (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/schnorr/schnorr.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/sha256/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/sha256/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/sha256/sha256.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/sha256/sha256.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/crypto/sha256/sha256.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/acir_format.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/acir_format.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/acir_format.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/blake2s_constraint.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/blake2s_constraint.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/block_constraint.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/block_constraint.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/block_constraint.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/fixed_base_scalar_mul.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/fixed_base_scalar_mul.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/hash_to_field.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/hash_to_field.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/keccak_constraint.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/keccak_constraint.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/logic_constraint.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/logic_constraint.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/pedersen.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/pedersen.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/range_constraint.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/round.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/round.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/schnorr_verify.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/schnorr_verify.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/serde/binary.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/serde/bincode.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/serde/index.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/serde/serde.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/serde/witness_map.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/sha256_constraint.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_format/sha256_constraint.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_proofs/acir_composer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_proofs/acir_composer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_proofs/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/acir_proofs/c_bind.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/dsl/types.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/bn254.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/fq.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/fq.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/fq12.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/fq12.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/fq2.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/fq2.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/fq6.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/fq6.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/fr.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/fr.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/fr.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/g1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/g1.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/g2.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/g2.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/pairing.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/pairing.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/bn254/pairing_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/grumpkin/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/secp256k1/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/secp256k1/c_bind.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1_endo_notes.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/curves/types.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/fields/asm_macros.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/fields/extra_flag_solver.py (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/fields/field.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/fields/field12.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/fields/field2.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/fields/field2_declarations.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/fields/field6.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/fields/field_declarations.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/fields/field_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/fields/field_impl_generic.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/fields/field_impl_x64.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/fields/macro_scrapbook.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/groups/affine_element.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/groups/affine_element.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/groups/affine_element_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/groups/element.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/groups/element_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/groups/group.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/groups/group_impl_asm.tcc (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/groups/group_impl_int128.tcc (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/groups/wnaf.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/groups/wnaf.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/pippenger.md (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/scalar_multiplication/point_table.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/scalar_multiplication/process_buckets.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/scalar_multiplication/process_buckets.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/scalar_multiplication/runtime_states.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/scalar_multiplication/runtime_states.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/ecc/serialize.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/env/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/env/data_store.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/env/data_store.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/env/hardware_concurrency.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/env/hardware_concurrency.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/env/logstr.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/env/logstr.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/examples/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/examples/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/examples/c_bind.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/examples/simple/simple.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/examples/simple/simple.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/examples/simple/simple.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/grumpkin_srs_gen/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/grumpkin_srs_gen/grumpkin_srs_gen.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/composer/goblin_ultra_composer.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/composer/standard_composer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/composer/standard_composer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/composer/ultra_composer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/composer/ultra_composer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/flavor/flavor.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/flavor/goblin_ultra.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/flavor/standard.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/flavor/standard_grumpkin.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/flavor/ultra.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/flavor/ultra_grumpkin.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/flavor/ultra_recursive.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/instance/instance.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/instance/instance.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/instance/instance.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/instance/verifier_instance.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/claim.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/commitment_key.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/commitment_key.test.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/gemini/gemini.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/gemini/gemini.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/gemini/gemini.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/ipa/ipa.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/kzg/kzg.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/kzg/kzg.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/shplonk/shplonk.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/shplonk/shplonk.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/verification_key.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/pcs/wrapper.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/composer_lib.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/folding_result.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/grand_product_library.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/grand_product_library.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/prover.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/prover.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/ultra_verifier.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/verifier.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/verifier.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/proof_system/work_queue.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/sumcheck/partial_evaluation.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/sumcheck/sumcheck.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/sumcheck/sumcheck_output.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/sumcheck/sumcheck_round.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/sumcheck/sumcheck_round.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/transcript/transcript.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/transcript/transcript.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/utils/grand_product_delta.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/utils/power_polynomial.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/honk/utils/power_polynomial.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/constants.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/fixtures/user_context.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/compute_circuit_data.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/c_bind.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_circuit_data.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_circuit_data.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_signing_data.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_signing_data.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/create_proof.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/index.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_circuit.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_circuit.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_js_parity.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/sign_join_split_tx.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/sign_join_split_tx.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/join_split/verify_signature.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/mock/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/mock/mock_circuit.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/mock/mock_circuit.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/account_note.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/commit.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/index.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/asset_id.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/asset_id.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/bridge_call_data.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/claim_note.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/complete_partial_commitment.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/compute_nullifier.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/create_partial_commitment.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/index.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/witness_data.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/index.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/commit.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/complete_partial_commitment.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/create_partial_commitment.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/index.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/value_note.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/value_note.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/witness_data.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/constants.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/account_note.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/account_note.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/compute_account_alias_hash_nullifier.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/compute_account_public_key_nullifier.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/index.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/asset_id.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/asset_id.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/bridge_call_data.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/claim_note.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/claim_note_tx_data.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/complete_partial_commitment.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/compute_nullifier.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/create_partial_commitment.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/index.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/index.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/complete_partial_commitment.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/compute_nullifier.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/compute_nullifier.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/create_partial_commitment.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/index.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/value_note.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/proofs/verify.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/join_split_example/types.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/bitop/bitop.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/bitop/count_leading_zeros.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/bitop/count_leading_zeros.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/bitop/get_msb.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/bitop/get_msb.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/bitop/keep_n_lsb.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/bitop/pow.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/bitop/rotate.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/bitop/sparse_form.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/random/engine.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/random/engine.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/random/engine.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/uint128/uint128.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/uint128/uint128.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/uint128/uint128_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/uint256/uint256.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/uint256/uint256.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/uint256/uint256_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/uintx/uintx.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/uintx/uintx.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/numeric/uintx/uintx_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/composer/composer_lib.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/composer/composer_lib.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/composer/standard_composer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/composer/standard_composer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/composer/standard_composer.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/composer/turbo_composer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/composer/turbo_composer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/composer/turbo_composer.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/composer/ultra_composer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/composer/ultra_composer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/composer/ultra_composer.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/flavor/flavor.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/commitment_scheme.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/commitment_scheme.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/kate_commitment_scheme.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/kate_commitment_scheme.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/constants.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/prover/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/prover/prover.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/prover/prover.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/prover/prover.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/proving_key/serialize.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/types/commitment_open_proof.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/types/polynomial_manifest.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/types/program_settings.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/types/proof.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/types/prover_settings.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/utils/generalized_permutation.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/utils/kate_verification.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/utils/permutation.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/verification_key/sol_gen.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/permutation_widget.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/permutation_widget_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/plookup_widget.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/plookup_widget_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/random_widget.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/arithmetic_widget.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/elliptic_widget.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/fixed_base_widget.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/genperm_sort_widget.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/plookup_arithmetic_widget.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/plookup_auxiliary_widget.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/transition_widget.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_arithmetic_widget.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_logic_widget.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_range_widget.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/barycentric.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/barycentric.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/evaluation_domain.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/evaluation_domain.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/iterate_over_domain.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/polynomial.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/polynomial.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/polynomial_arithmetic.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/polynomial_arithmetic.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/polynomial_arithmetic.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/polynomials.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/pow.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/pow.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/serialize.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/univariate.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/polynomials/univariate.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/arithmetization/arithmetization.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/arithmetization/gate_data.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/circuit_builder_base.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/circuit_builder_base.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_mini.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/goblin_ultra_circuit_builder.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/composer/composer_lib.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/composer/composer_lib.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/composer/permutation_lib.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/composer/permutation_lib.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/flavor/flavor.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/op_queue/ecc_op_queue.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/op_queue/ecc_op_queue.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/aes128.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/blake2s.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/dummy.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_chi.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_input.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_output.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_rho.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_theta.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/non_native_group_generator.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/non_native_group_generator.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/pedersen.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/plookup_tables.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/plookup_tables.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/sha256.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/sparse.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/types.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/plookup_tables/uint.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_cache.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_cache.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_wasm.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_wasm.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/relations/arithmetic_relation.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/relations/auxiliary_relation.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/relations/ecc_op_queue_relation.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/relations/elliptic_relation.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/relations/gen_perm_sort_relation.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/relations/lookup_relation.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/relations/permutation_relation.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/relations/relation_parameters.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/relations/relation_types.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/relations/standard_relation_consistency.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/relations/ultra_arithmetic_relation.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/relations/ultra_relation_consistency.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/types/circuit_type.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/types/merkle_hash_type.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/types/pedersen_commitment_type.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/work_queue/work_queue.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/proof_system/work_queue/work_queue.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/cbind.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/cbind_fwd.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/msgpack.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/msgpack_apply.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/msgpack_impl/check_memory_span.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/msgpack_impl/concepts.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/msgpack_impl/drop_keys.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/msgpack_impl/func_traits.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/msgpack_impl/msgpack_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/msgpack_impl/name_value_pair_macro.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/msgpack_impl/schema_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/msgpack_impl/schema_name.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/msgpack_impl/struct_map_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/msgpack_impl/variant_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/msgpack_schema.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/raw_pointer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/serialize/test_helper.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/solidity_helpers/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/solidity_helpers/circuits/add_2_circuit.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/solidity_helpers/circuits/blake_circuit.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/solidity_helpers/circuits/recursive_circuit.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/solidity_helpers/key_gen.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/solidity_helpers/proof_gen.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/solidity_helpers/utils/instance_sol_gen.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/solidity_helpers/utils/utils.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/c_bind.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/c_bind.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/factories/crs_factory.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/factories/file_crs_factory.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/factories/file_crs_factory.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/factories/mem_crs_factory.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/factories/mem_crs_factory.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/factories/mem_crs_factory.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/global_crs.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/global_crs.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/io.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/io.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/srs/scalar_multiplication.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/commitment/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/commitment/pedersen/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/encryption/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/encryption/aes128/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/encryption/ecdsa/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/encryption/schnorr/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/benchmarks/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/benchmarks/celer/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/benchmarks/celer/sha256.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/benchmarks/external/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/benchmarks/external/external.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/benchmarks/sha256/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/benchmarks/sha256/sha256.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/blake2s/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s_plookup.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s_plookup.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/blake2s/blake_util.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/blake3s/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s_plookup.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s_plookup.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/keccak/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/keccak/keccak.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/keccak/keccak.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/keccak/keccak.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/pedersen/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_gates.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_plookup.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_plookup.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/sha256/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/sha256/sha256.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/sha256/sha256.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/sha256/sha256.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/sha256/sha256_plookup.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/hash/sha256/sha256_plookup.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/hash.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/hash.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/hash_path.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/index.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/membership.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/membership.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/memory_store.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.bench.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_leaf.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/address/address.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.fuzzer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_all.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_standard.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_turbo.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_batch_mul.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_bn254.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_impl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_secp256k1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_tables.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.fuzzer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_all.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_standard.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_turbo.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bool/bool.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bool/bool.fuzzer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bool/bool.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bool/bool.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bool/bool_all.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bool/bool_standard.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/bool/bool_turbo.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.fuzzer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_all.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_standard.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_turbo.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/circuit_builders/circuit_builders.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/circuit_builders/circuit_builders_fwd.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/curves/bn254.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/curves/secp256k1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/curves/secp256r1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/field/array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/field/array.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/field/field.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/field/field.fuzzer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/field/field.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/field/field.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/field/field_all.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/field/field_standard.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/field/field_turbo.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/group/group.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/group/group.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/logic/logic.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/logic/logic.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/logic/logic.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/memory/twin_rom_table.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/memory/twin_rom_table.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/point/point.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.fuzzer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_all.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_standard.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_turbo.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/arithmetic.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/comparison.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/logic.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/plookup/arithmetic.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/plookup/comparison.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/plookup/logic.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/plookup/uint.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/plookup/uint.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/uint.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/uint.fuzzer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/uint.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/uint.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/uint_all.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/uint_standard.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/uint/uint_turbo.fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/primitives/witness/witness.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/aggregation_state/aggregation_state.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/aggregation_state/native_aggregation_state.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/honk/transcript/transcript.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/honk/transcript/transcript.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/transcript/transcript.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/transcript/transcript.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/verifier/program_settings.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/verifier/verifier.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/verifier/verifier.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/recursion/verifier/verifier_turbo.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/types/turbo.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/types/ultra.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/stdlib/utility/utility.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/transcript/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/transcript/manifest.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/transcript/transcript.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/transcript/transcript.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/transcript/transcript.test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/transcript/transcript_wrappers.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/transcript/transcript_wrappers.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/wasi/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/wasi/wasi_stubs.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/barretenberg/wasi/wasm_init.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/.clang-format (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/.github/depends/boost.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/.github/depends/zlib.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/.github/workflows/coverage.yml (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/.github/workflows/gha.yml (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/.gitignore (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/CHANGELOG.md (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/COPYING (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/Doxyfile (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/Files.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/LICENSE_1_0.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/NOTICE (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/QUICKSTART-CPP.md (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/README.md (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/appveyor.yml (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/ci/build_cmake.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/ci/build_regression.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/ci/set_gcc_10.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/cmake/CodeCoverage.cmake (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/codecov.yml (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/erb/v1/cpp03_define_array.hpp.erb (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/erb/v1/cpp03_define_array_decl.hpp.erb (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/erb/v1/cpp03_define_map.hpp.erb (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/erb/v1/cpp03_define_map_decl.hpp.erb (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/erb/v1/cpp03_msgpack_tuple.hpp.erb (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/erb/v1/cpp03_msgpack_tuple_decl.hpp.erb (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/erb/v1/cpp03_zone.hpp.erb (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/erb/v1/cpp03_zone_decl.hpp.erb (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/boost/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/boost/asio_send_recv.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/boost/asio_send_recv_zlib.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/boost/msgpack_variant_capitalize.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/boost/msgpack_variant_mapbased.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/class_intrusive.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/class_intrusive_map.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/class_non_intrusive.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/custom.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/enum.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/map_based_versionup.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/protocol.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/protocol_new.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/reuse_zone.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/simple.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/speed_test.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/speed_test_nested_array.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp03/stream.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp11/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp11/container.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp11/non_def_con_class.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/cpp11/socket_stream_example.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/x3/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/x3/parse.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/x3/stream_unpack.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/example/x3/unpack.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/fuzz/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/fuzz/regression_runner.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-5656982724804608 (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-6022481354686464 (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/OpenWeatherMap (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/WeatherUnderground (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/adaptor_base.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/adaptor_base_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/array_ref.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/array_ref_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/bool.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/boost/fusion.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/boost/optional.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/boost/string_ref.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/boost/string_view.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/carray.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/char_ptr.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/check_container_size.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/check_container_size_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/complex.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array_char.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array_unsigned_char.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/chrono.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/forward_list.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/reference_wrapper.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/shared_ptr.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/timespec.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/tuple.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unique_ptr.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unordered_map.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unordered_set.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/array_byte.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/byte.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/carray_byte.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/optional.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/string_view.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/vector_byte.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/cpp20/span.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/define.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/define_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/deque.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/ext.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/ext_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/fixint.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/fixint_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/float.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/int.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/int_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/list.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/map.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/map_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/msgpack_tuple.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/msgpack_tuple_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/nil.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/nil_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/pair.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/raw.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/raw_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/set.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/size_equal_only.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/size_equal_only_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/string.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/tr1/unordered_map.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/tr1/unordered_set.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/v4raw.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/v4raw_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/vector.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/vector_bool.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/vector_char.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/vector_unsigned_char.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/adaptor/wstring.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/assert.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/cpp_config.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/cpp_config_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/cpp_version.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/create_object_visitor.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/create_object_visitor_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/fbuffer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/fbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/gcc_atomic.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/iterator.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/iterator_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/meta.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/meta_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/null_visitor.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/null_visitor_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/object.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/object_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/object_fwd.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/object_fwd_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/pack.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/pack_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/parse.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/parse_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/parse_return.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/alpha.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/arm.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/blackfin.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/convex.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/ia64.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/m68k.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/mips.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/parisc.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/ppc.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/ptx.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/pyramid.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/rs6k.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/sparc.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/superh.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/sys370.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/sys390.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86/32.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86/64.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/architecture/z.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/borland.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/clang.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/comeau.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/compaq.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/diab.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/digitalmars.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/dignus.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/edg.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/ekopath.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/gcc.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/gcc_xml.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/greenhills.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/hp_acc.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/iar.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/ibm.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/intel.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/kai.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/llvm.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/metaware.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/metrowerks.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/microtec.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/mpw.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/nvcc.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/palm.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/pgi.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/sgi_mipspro.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/sunpro.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/tendra.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/visualc.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/compiler/watcom.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/detail/_cassert.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/detail/_exception.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/detail/comp_detected.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/detail/endian_compat.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/detail/os_detected.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/detail/platform_detected.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/detail/test.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/detail/test_def.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/hardware.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/arm.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/arm/versions.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/ppc.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/ppc/versions.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86/versions.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86_amd.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86_amd/versions.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/language.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/language/cuda.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/language/objc.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/language/stdc.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/language/stdcpp.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/c.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/c/_prefix.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/c/cloudabi.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/c/gnu.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/c/uc.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/c/vms.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/c/zos.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/std.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/std/_prefix.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/std/cxx.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/std/dinkumware.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/std/libcomo.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/std/modena.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/std/msl.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/std/roguewave.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/std/sgi.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/std/stdcpp3.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/std/stlport.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/library/std/vacpp.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/make.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/aix.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/amigaos.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/android.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/beos.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/bsd.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/bsdi.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/dragonfly.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/free.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/net.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/open.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/cygwin.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/haiku.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/hpux.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/ios.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/irix.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/linux.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/macos.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/os400.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/qnxnto.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/solaris.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/unix.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/vms.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/os/windows.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/other.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/other/endian.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/other/workaround.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/platform.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/platform/cloudabi.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/platform/ios.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw32.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw64.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_desktop.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_phone.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_runtime.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_server.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_store.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_system.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_uwp.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/version.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/predef/version_number.h (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/add.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/dec.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/detail/div_base.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/div.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/inc.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/mod.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/mul.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/sub.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/data.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/detail/get_data.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/elem.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/enum.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/insert.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/pop_back.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/pop_front.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/push_back.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/push_front.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/remove.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/replace.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/reverse.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/size.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_list.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_seq.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_tuple.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/assert_msg.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/cat.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/comma.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/comma_if.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/equal.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/greater.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/greater_equal.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/less.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/less_equal.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/not_equal.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/config/config.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/config/limits.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/control.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/control/deduce_d.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/dmc/while.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/edg/while.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/msvc/while.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/while.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/control/expr_if.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/control/expr_iif.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/control/if.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/control/iif.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/control/while.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/debug.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/assert.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/error.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/line.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/dec.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/auto_rec.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/check.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/dmc/auto_rec.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_binary.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_nullary.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_unary.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/null.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/split.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/empty.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/enum.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params_with_a_default.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params_with_defaults.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_shifted.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_shifted_params.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/expand.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/expr_if.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/apply.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/detail/is_empty.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/empty.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/expand.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/identity.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/intercept.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty_or_1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty_variadic.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/overload.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/for.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/identity.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/if.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/inc.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iterate.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower2.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower3.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower4.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower5.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper2.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper3.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper4.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper5.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/finish.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward2.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward3.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward4.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward5.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse2.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse3.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse4.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse5.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/local.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/rlocal.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/self.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/start.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/iterate.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/local.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/self.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/library.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/limits.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/adt.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/append.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/at.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/cat.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/dmc/fold_left.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/edg/fold_left.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/edg/fold_right.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/fold_left.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/fold_right.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/enum.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/filter.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/first_n.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/fold_left.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/fold_right.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each_i.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each_product.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/rest_n.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/reverse.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/size.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_seq.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_tuple.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/list/transform.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/logical.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/and.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitand.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitnor.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitor.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitxor.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bool.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/compl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/nor.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/not.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/or.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/xor.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/max.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/min.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/comma.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/comma_if.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/detail/is_begin_parens.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/is_begin_parens.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/paren.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/paren_if.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/remove_parens.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_2nd.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_3rd.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to_2nd.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to_3rd.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/deduce_r.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/deduce_z.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/dmc/for.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/edg/for.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/for.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/msvc/for.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_binary_params.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params_with_a_default.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params_with_defaults.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted_binary_params.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted_params.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing_binary_params.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing_params.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/for.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/repeat.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/repeat_from_to.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/selection.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/selection/max.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/selection/min.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/cat.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/binary_transform.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/is_empty.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/split.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/to_list_msvc.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/elem.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/enum.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/filter.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/first_n.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/fold_left.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/fold_right.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each_i.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each_product.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/insert.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/pop_back.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/pop_front.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/push_back.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/push_front.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/remove.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/replace.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/rest_n.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/reverse.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/seq.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/size.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/subseq.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_list.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_tuple.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/transform.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/variadic_seq_to_seq.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/slot.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/counter.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/counter.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/def.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/shared.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot1.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot2.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot3.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot4.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot5.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/slot.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/stringize.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/detail/is_single_return.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/eat.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/elem.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/enum.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/insert.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/pop_back.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/pop_front.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/push_back.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/push_front.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/rem.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/remove.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/replace.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/reverse.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/size.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_list.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_seq.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/detail/is_single_return.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/elem.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/size.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_list.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_seq.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_tuple.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/while.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/preprocessor/wstringize.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/sbuffer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/sbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/sysdep.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/type.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/unpack.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/unpack_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/unpack_define.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/unpack_exception.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/adaptor_base.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/adaptor_base_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/array_ref.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/array_ref_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/bool.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/fusion.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/optional.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/string_ref.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/string_view.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/carray.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/char_ptr.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/check_container_size.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/check_container_size_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/complex.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_char.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/chrono.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/forward_list.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/reference_wrapper.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/shared_ptr.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/timespec.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/tuple.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unique_ptr.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/array_byte.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/byte.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/carray_byte.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/optional.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/string_view.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp20/span.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/define.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/define_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/deque.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/ext.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/ext_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/fixint.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/fixint_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/float.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/int.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/int_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/list.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/map.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/map_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/nil.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/nil_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/pair.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/raw.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/raw_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/set.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/size_equal_only.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/size_equal_only_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/string.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_map.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_set.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/v4raw.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/v4raw_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_bool.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_char.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_unsigned_char.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/adaptor/wstring.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/cpp_config.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/cpp_config_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp03_zone.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp03_zone_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp11_zone.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp11_zone_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/fbuffer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/fbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/iterator.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/iterator_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/meta.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/meta_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/object.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/object_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/object_fwd.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/object_fwd_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/pack.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/pack_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/parse_return.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/sbuffer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/sbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/unpack.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/unpack_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/unpack_exception.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/version.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/versioning.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/vrefbuffer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/vrefbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/zbuffer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/zbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/zone.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v1/zone_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/adaptor_base.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/adaptor_base_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/array_ref_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/check_container_size_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/define_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_define_array_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_define_map_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_msgpack_tuple_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_define_array_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_define_map_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_msgpack_tuple_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/ext_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/fixint_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/int_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/map_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/msgpack_tuple_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/nil_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/raw_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/size_equal_only_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/adaptor/v4raw_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/cpp_config_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/create_object_visitor.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/create_object_visitor_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/detail/cpp03_zone_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/detail/cpp11_zone_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/fbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/iterator_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/meta_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/null_visitor.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/null_visitor_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/object.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/object_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/object_fwd.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/object_fwd_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/pack_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/parse.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/parse_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/parse_return.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/sbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/unpack.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/unpack_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/vrefbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/x3_parse.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/x3_parse_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/x3_unpack.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/x3_unpack_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/zbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v2/zone_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/adaptor_base.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/adaptor_base_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/array_ref_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/check_container_size_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/define_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/ext_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/fixint_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/int_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/map_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/nil_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/raw_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/size_equal_only_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/adaptor/v4raw_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/cpp_config_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/create_object_visitor_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/detail/cpp03_zone_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/detail/cpp11_zone_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/fbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/iterator_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/meta_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/null_visitor_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/object_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/object_fwd.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/object_fwd_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/pack_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/parse.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/parse_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/parse_return.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/sbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/unpack.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/unpack_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/vrefbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/x3_parse_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/x3_unpack.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/x3_unpack_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/zbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/v3/zone_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/version.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/version_master.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/versioning.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/vrefbuffer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/vrefbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/x3_parse.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/x3_parse_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/x3_unpack.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/x3_unpack_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/zbuffer.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/zbuffer_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/zone.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/include/msgpack/zone_decl.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/make_file_list.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/makedist.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/msgpack-cxx-config.cmake.in (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/preprocess (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test-install/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test-install/simple.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/CMakeLists.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/array_ref.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/boost_fusion.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/boost_optional.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/boost_string_ref.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/boost_string_view.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/boost_variant.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/buffer.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/buffer_c.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/carray.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/cases.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/cases.mpac (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/cases_compact.mpac (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/convert.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/fixint.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/fuzz_unpack_pack_fuzzer_cpp11.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/inc_adaptor_define.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/iterator_cpp11.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/json.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/limit.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/msgpack_basic.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/msgpack_container.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/msgpack_cpp11.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/msgpack_cpp17.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/msgpack_cpp20.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/msgpack_stream.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/msgpack_tuple.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/msgpack_vref.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/msgpack_x3_parse.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/multi_file1.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/multi_file2.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/object.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/object_with_zone.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/pack_unpack.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/raw.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/reference.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/reference_cpp11.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/reference_wrapper_cpp11.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/shared_ptr_cpp11.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/size_equal_only.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/streaming.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/test_allocator.hpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/unique_ptr_cpp11.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/user_class.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/version.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/visitor.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/test/zone.cpp (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/src/msgpack-c/update_version.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/srs_db/download_ignition.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/srs_db/grumpkin/monomial/README.md (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/srs_db/ignition/monomial/checksums (100%) rename {circuits/cpp/barretenberg => barretenberg}/cpp/srs_db/ignition/monomial/g2.dat (100%) rename {circuits/cpp/barretenberg => barretenberg}/exports.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/flake.lock (100%) rename {circuits/cpp/barretenberg => barretenberg}/flake.nix (100%) rename {circuits/cpp/barretenberg => barretenberg}/scripts/bindgen.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/scripts/c_bind_files.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/scripts/decls_json.py (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/.gitignore (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/Dockerfile (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/README.md (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/bootstrap.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/figures/verifier.png (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/foundry.toml (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/lib/forge-std (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/lib/openzeppelin-contracts (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/lib/solidity-stringutils (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/remappings.txt (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/scripts/init.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/scripts/install_foundry.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/scripts/run_fuzzer.sh (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/src/interfaces/IVerifier.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/src/ultra/BaseUltraVerifier.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/src/ultra/instance/Add2UltraVerifier.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/src/ultra/instance/BlakeUltraVerifier.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/src/ultra/instance/RecursiveUltraVerifier.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/src/ultra/keys/Add2UltraVerificationKey.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/src/ultra/keys/BlakeUltraVerificationKey.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/src/ultra/keys/RecursiveUltraVerificationKey.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/test/base/DifferentialFuzzer.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/test/base/TestBase.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/test/ultra/Add2.t.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/test/ultra/Blake.t.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/test/ultra/Recursive.t.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/sol/test/ultra/TestBaseUltra.sol (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/.dockerignore (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/.eslintrc.cjs (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/.gitignore (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/.prettierrc.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/.yarn/releases/yarn-berry.cjs (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/.yarnrc.yml (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/Dockerfile (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/README.md (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/bb.js-dev (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/bin-test/target/acir.gz (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/bin-test/target/witness.gz (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/cjs-entry/index.cjs (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/cjs-entry/index.d.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/package.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/scripts/run_tests (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/async_map/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg-threads.wasm (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg.wasm (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_api/blake2s.test.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_api/common.test.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_api/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_api/pedersen.test.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_api/schnorr.test.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_binder/heap_allocator.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_binder/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/barretenberg_wasm_base/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/barretenberg_wasm_main/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/fetch_code/browser/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/fetch_code/browser/wasm-module.d.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/fetch_code/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/fetch_code/node/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/helpers/browser/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/helpers/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/helpers/node/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/helpers/node/node_endpoint.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/index.test.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/barretenberg_wasm/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/bigint-array/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/bindgen/function_declaration.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/bindgen/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/bindgen/mappings.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/bindgen/rust.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/bindgen/to_camel_case.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/bindgen/typescript.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/crs/browser/cached_net_crs.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/crs/browser/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/crs/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/crs/net_crs.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/crs/node/ignition_files_crs.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/crs/node/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/examples/simple.rawtest.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/examples/simple.test.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/index.html (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/info.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/main.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/random/browser/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/random/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/random/node/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/serialize/buffer_reader.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/serialize/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/serialize/output_type.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/serialize/serialize.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/types/fields.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/types/fixed_size_buffer.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/types/index.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/types/point.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/types/ptr.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/src/types/raw_buffer.ts (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/tsconfig.browser.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/tsconfig.json (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/webpack.config.js (100%) rename {circuits/cpp/barretenberg => barretenberg}/ts/yarn.lock (100%) rename {circuits/cpp/barretenberg => barretenberg}/wasi-sdk.nix (100%) delete mode 100644 circuits/cpp/barretenberg/CHANGELOG.md delete mode 100644 circuits/cpp/barretenberg/ts/CHANGELOG.md diff --git a/.gitmodules b/.gitmodules index 64ffb023e53..67768137586 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,5 +1,5 @@ [submodule "legacy-barretenberg-build-system"] - path = circuits/cpp/barretenberg/build-system + path = barretenberg/build-system url = https://github.com/AztecProtocol/build-system [submodule "l1-contracts/lib/openzeppelin-contracts"] path = l1-contracts/lib/openzeppelin-contracts @@ -8,11 +8,11 @@ path = l1-contracts/lib/forge-std url = https://github.com/foundry-rs/forge-std [submodule "circuits/cpp/barretenberg/sol/lib/forge-std"] - path = circuits/cpp/barretenberg/sol/lib/forge-std + path = barretenberg/sol/lib/forge-std url = https://github.com/foundry-rs/forge-std [submodule "circuits/cpp/barretenberg/sol/lib/solidity-stringutils"] - path = circuits/cpp/barretenberg/sol/lib/solidity-stringutils + path = barretenberg/sol/lib/solidity-stringutils url = https://github.com/Arachnid/solidity-stringutils [submodule "circuits/cpp/barretenberg/sol/lib/openzeppelin-contracts"] - path = circuits/cpp/barretenberg/sol/lib/openzeppelin-contracts + path = barretenberg/sol/lib/openzeppelin-contracts url = https://github.com/OpenZeppelin/openzeppelin-contracts diff --git a/circuits/cpp/barretenberg/.circleci/config.yml b/barretenberg/.circleci/config.yml similarity index 100% rename from circuits/cpp/barretenberg/.circleci/config.yml rename to barretenberg/.circleci/config.yml diff --git a/circuits/cpp/barretenberg/.dockerignore b/barretenberg/.dockerignore similarity index 100% rename from circuits/cpp/barretenberg/.dockerignore rename to barretenberg/.dockerignore diff --git a/circuits/cpp/barretenberg/.github/pull_request_template.md b/barretenberg/.github/pull_request_template.md similarity index 100% rename from circuits/cpp/barretenberg/.github/pull_request_template.md rename to barretenberg/.github/pull_request_template.md diff --git a/circuits/cpp/barretenberg/.github/workflows/benchmarks.yml b/barretenberg/.github/workflows/benchmarks.yml similarity index 100% rename from circuits/cpp/barretenberg/.github/workflows/benchmarks.yml rename to barretenberg/.github/workflows/benchmarks.yml diff --git a/circuits/cpp/barretenberg/.github/workflows/nix.yml b/barretenberg/.github/workflows/nix.yml similarity index 100% rename from circuits/cpp/barretenberg/.github/workflows/nix.yml rename to barretenberg/.github/workflows/nix.yml diff --git a/circuits/cpp/barretenberg/.github/workflows/noir.yml b/barretenberg/.github/workflows/noir.yml similarity index 100% rename from circuits/cpp/barretenberg/.github/workflows/noir.yml rename to barretenberg/.github/workflows/noir.yml diff --git a/circuits/cpp/barretenberg/.github/workflows/pull-request.yml b/barretenberg/.github/workflows/pull-request.yml similarity index 100% rename from circuits/cpp/barretenberg/.github/workflows/pull-request.yml rename to barretenberg/.github/workflows/pull-request.yml diff --git a/circuits/cpp/barretenberg/.gitignore b/barretenberg/.gitignore similarity index 100% rename from circuits/cpp/barretenberg/.gitignore rename to barretenberg/.gitignore diff --git a/circuits/cpp/barretenberg/.gitmodules b/barretenberg/.gitmodules similarity index 100% rename from circuits/cpp/barretenberg/.gitmodules rename to barretenberg/.gitmodules diff --git a/circuits/cpp/barretenberg/.gitrepo b/barretenberg/.gitrepo similarity index 100% rename from circuits/cpp/barretenberg/.gitrepo rename to barretenberg/.gitrepo diff --git a/circuits/cpp/barretenberg/.vscode/c_cpp_properties.json b/barretenberg/.vscode/c_cpp_properties.json similarity index 100% rename from circuits/cpp/barretenberg/.vscode/c_cpp_properties.json rename to barretenberg/.vscode/c_cpp_properties.json diff --git a/circuits/cpp/barretenberg/.vscode/settings.json b/barretenberg/.vscode/settings.json similarity index 100% rename from circuits/cpp/barretenberg/.vscode/settings.json rename to barretenberg/.vscode/settings.json diff --git a/barretenberg/CHANGELOG.md b/barretenberg/CHANGELOG.md index f043d40ff40..c982314138c 100644 --- a/barretenberg/CHANGELOG.md +++ b/barretenberg/CHANGELOG.md @@ -1,15 +1,447 @@ # Changelog -## [0.5.2](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.5.1...barretenberg-v0.5.2) (2023-09-08) +## [0.6.7](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.6.6...barretenberg-v0.6.7) (2023-09-11) ### Miscellaneous -* **master:** Release 0.6.0 ([#2121](https://github.com/AztecProtocol/aztec-packages/issues/2121)) ([9bc8e11](https://github.com/AztecProtocol/aztec-packages/commit/9bc8e11ec4598c54d2c8f37c9f1a38ad90148f12)) +* **barretenberg:** Synchronize aztec-packages versions + +## [0.6.6](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.6.5...barretenberg-v0.6.6) (2023-09-11) + + +### Miscellaneous + +* **barretenberg:** Synchronize aztec-packages versions + +## [0.6.5](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.6.4...barretenberg-v0.6.5) (2023-09-08) + + +### Miscellaneous + +* **barretenberg:** Synchronize aztec-packages versions + +## [0.6.4](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.6.3...barretenberg-v0.6.4) (2023-09-08) + -## [0.6.0](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.5.1...barretenberg-v0.6.0) (2023-09-08) +### Miscellaneous + +* **barretenberg:** Synchronize aztec-packages versions + +## [0.6.3](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.6.2...barretenberg-v0.6.3) (2023-09-08) ### Miscellaneous * **barretenberg:** Synchronize aztec-packages versions + +## [0.6.2](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.6.1...barretenberg-v0.6.2) (2023-09-08) + + +### Miscellaneous + +* **barretenberg:** Synchronize aztec-packages versions + +## [0.6.1](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.5.2...barretenberg-v0.6.1) (2023-09-08) + + +### Bug Fixes + +* Work around intermittent wasm webkit issue ([#2140](https://github.com/AztecProtocol/aztec-packages/issues/2140)) ([a9b0934](https://github.com/AztecProtocol/aztec-packages/commit/a9b09344c80d8628f95f859d4e2d455d61f9e7c6)) + + +### Miscellaneous + +* **master:** Release 0.5.2 ([#2141](https://github.com/AztecProtocol/aztec-packages/issues/2141)) ([451aad6](https://github.com/AztecProtocol/aztec-packages/commit/451aad6ea92ebced9839ca14baae10cee327be35)) +* Release 0.5.2 ([f76b53c](https://github.com/AztecProtocol/aztec-packages/commit/f76b53c985116ac131a9b11b2a255feb7d0f8f13)) +* Release 0.6.1 ([1bd1a79](https://github.com/AztecProtocol/aztec-packages/commit/1bd1a79b0cefcd90306133aab141d992e8ea5fc3)) + +## [0.5.2](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.5.2...barretenberg-v0.5.2) (2023-09-08) + + +### Bug Fixes + +* Work around intermittent wasm webkit issue ([#2140](https://github.com/AztecProtocol/aztec-packages/issues/2140)) ([a9b0934](https://github.com/AztecProtocol/aztec-packages/commit/a9b09344c80d8628f95f859d4e2d455d61f9e7c6)) + + +### Miscellaneous + +* Release 0.5.2 ([f76b53c](https://github.com/AztecProtocol/aztec-packages/commit/f76b53c985116ac131a9b11b2a255feb7d0f8f13)) + +## [0.5.1](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.5.0...barretenberg-v0.5.1) (2023-09-05) + + +### Features + +* Add `info` command to bb ([#2010](https://github.com/AztecProtocol/barretenberg/issues/2010)) ([2882d97](https://github.com/AztecProtocol/barretenberg/commit/2882d97f5165239badb328be80568e7d683c0465)) +* **ci:** Use content hash in build system, restrict docs build to *.ts or *.cpp ([#1953](https://github.com/AztecProtocol/barretenberg/issues/1953)) ([297a20d](https://github.com/AztecProtocol/barretenberg/commit/297a20d7878a4aabab1cabf2cc5d2d67f9e969c5)) + + +### Bug Fixes + +* Adds Mac cross compile flags into barretenberg ([#1954](https://github.com/AztecProtocol/barretenberg/issues/1954)) ([0e17d97](https://github.com/AztecProtocol/barretenberg/commit/0e17d978a0cc6805b72646a8e36fd5267cbd6bcd)) +* **bb.js:** (breaking change) bundles bb.js properly so that it works in the browser and in node ([#1855](https://github.com/AztecProtocol/barretenberg/issues/1855)) ([bc93a5f](https://github.com/AztecProtocol/barretenberg/commit/bc93a5f8510d0dc600343e7e613ab84380d3c225)) +* **ci:** Incorrect content hash in some build targets ([#1973](https://github.com/AztecProtocol/barretenberg/issues/1973)) ([c6c469a](https://github.com/AztecProtocol/barretenberg/commit/c6c469aa5da7c6973f656ddf8af4fb20c3e8e4f6)) +* Compilation on homebrew clang 16.06 ([#1937](https://github.com/AztecProtocol/barretenberg/issues/1937)) ([79c29ee](https://github.com/AztecProtocol/barretenberg/commit/79c29eebbdb78c1e9aa5b4a3da6207fbf93bdd10)) +* Master ([#1981](https://github.com/AztecProtocol/barretenberg/issues/1981)) ([59a454e](https://github.com/AztecProtocol/barretenberg/commit/59a454ecf1611424893e1cb093774a23dde39310)) +* Unify base64 interface between mac and linux (cherry-picked) ([#1968](https://github.com/AztecProtocol/barretenberg/issues/1968)) ([37ee120](https://github.com/AztecProtocol/barretenberg/commit/37ee1204eba280442b6941eff448d6ff15eb9f04)) + +## [0.5.0](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.6...barretenberg-v0.5.0) (2023-09-01) + + +### ⚠ BREAKING CHANGES + +* update to acvm 0.24.0 ([#1925](https://github.com/AztecProtocol/barretenberg/issues/1925)) + +### Bug Fixes + +* Benchmark preset uses clang16 ([#1902](https://github.com/AztecProtocol/barretenberg/issues/1902)) ([cd0ff0e](https://github.com/AztecProtocol/barretenberg/commit/cd0ff0e2c049917ec47a110b45d76bed4c00ae2a)) +* Reset keccak var inputs to 0 ([#1881](https://github.com/AztecProtocol/barretenberg/issues/1881)) ([23011ee](https://github.com/AztecProtocol/barretenberg/commit/23011ee1ea7f1b00b0f4194ebceedc75ea01c157)) + + +### Miscellaneous Chores + +* Update to acvm 0.24.0 ([#1925](https://github.com/AztecProtocol/barretenberg/issues/1925)) ([5d8db8e](https://github.com/AztecProtocol/barretenberg/commit/5d8db8eb993334b43e24a51efba9c59e123320ab)) + +## [0.4.6](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.5...barretenberg-v0.4.6) (2023-08-29) + + +### Bug Fixes + +* Truncate SRS size to the amount of points that we have downloaded ([#1862](https://github.com/AztecProtocol/barretenberg/issues/1862)) ([3bcf12b](https://github.com/AztecProtocol/barretenberg/commit/3bcf12b1a302280d5112475c5993b125e130209e)) + +## [0.4.5](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.4...barretenberg-v0.4.5) (2023-08-28) + + +### Bug Fixes + +* Conditionally compile base64 command for bb binary ([#1851](https://github.com/AztecProtocol/barretenberg/issues/1851)) ([8f8b9f4](https://github.com/AztecProtocol/barretenberg/commit/8f8b9f46028a08342a3337db633782e5313e2763)) + +## [0.4.4](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.3...barretenberg-v0.4.4) (2023-08-28) + + +### Features + +* Add ARM build for Mac + cleanup artifacts ([#1837](https://github.com/AztecProtocol/barretenberg/issues/1837)) ([2d2d5ea](https://github.com/AztecProtocol/barretenberg/commit/2d2d5ea33c512ab36c1214fb5bb90f80d8247469)) + +## [0.4.3](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.2...barretenberg-v0.4.3) (2023-08-23) + + +### Features + +* **bb:** Use an environment variable to set the transcript URL ([#1750](https://github.com/AztecProtocol/barretenberg/issues/1750)) ([41d362e](https://github.com/AztecProtocol/barretenberg/commit/41d362e9c9ffeb763cd56ca8a9f8c4512b86c80c)) + + +### Bug Fixes + +* Clang version in README and subrepo edge case ([#1730](https://github.com/AztecProtocol/barretenberg/issues/1730)) ([74158c4](https://github.com/AztecProtocol/barretenberg/commit/74158c4e467d4b6ab90e7d5aeb9a28f04adc1d66)) +* Download SRS using one canonical URL across the codebase ([#1748](https://github.com/AztecProtocol/barretenberg/issues/1748)) ([5c91de7](https://github.com/AztecProtocol/barretenberg/commit/5c91de7296e054f6d5ac3dca94ca85e06d496048)) +* Proving fails when circuit has size > ~500K ([#1739](https://github.com/AztecProtocol/barretenberg/issues/1739)) ([6d32383](https://github.com/AztecProtocol/barretenberg/commit/6d323838a525190618d608598357ee4608c46699)) +* Revert clang check bootstrap.sh ([#1734](https://github.com/AztecProtocol/barretenberg/issues/1734)) ([65a38bc](https://github.com/AztecProtocol/barretenberg/commit/65a38bc045c66c5f64e87ba8c6e446945f2f0a24)) +* Update barretenberg bootstrap.sh for mac ([#1732](https://github.com/AztecProtocol/barretenberg/issues/1732)) ([f21ac3e](https://github.com/AztecProtocol/barretenberg/commit/f21ac3e893b5d30f7a4ba8ca10e6fd70f5c617b4)) + +## [0.4.2](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.1...barretenberg-v0.4.2) (2023-08-21) + + +### Bug Fixes + +* Remove automatic update to `AztecProtocol/dev-bb.js` ([#1712](https://github.com/AztecProtocol/barretenberg/issues/1712)) ([d883900](https://github.com/AztecProtocol/barretenberg/commit/d883900f9b297f659d14583ac93eede5160f9aae)) + +## [0.4.1](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.0...barretenberg-v0.4.1) (2023-08-21) + + +### Bug Fixes + +* **bb:** Fix Typo ([#1709](https://github.com/AztecProtocol/barretenberg/issues/1709)) ([286d64e](https://github.com/AztecProtocol/barretenberg/commit/286d64e6036336314114f1d2a25273f4dabe36f4)) + +## [0.4.0](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.6...barretenberg-v0.4.0) (2023-08-21) + + +### ⚠ BREAKING CHANGES + +* Barretenberg binaries now take in the encoded circuit instead of a json file ([#1618](https://github.com/AztecProtocol/barretenberg/issues/1618)) + +### Features + +* Add msgpack defs to remaining circuit types ([#1538](https://github.com/AztecProtocol/barretenberg/issues/1538)) ([e560e39](https://github.com/AztecProtocol/barretenberg/commit/e560e3955d039a93e2ed157c684ea36abd178d4b)) +* Add workflow to output to dev-bb.js ([#1299](https://github.com/AztecProtocol/barretenberg/issues/1299)) ([25a54f1](https://github.com/AztecProtocol/barretenberg/commit/25a54f123e6f98dafef4cd882839106eadf6ab8d)) +* Celer benchmark ([#1369](https://github.com/AztecProtocol/barretenberg/issues/1369)) ([8fd364a](https://github.com/AztecProtocol/barretenberg/commit/8fd364a3ff6e7b5f377ef5ec37649b47fe0a3e44)) +* Honk recursive verifier Pt. 1 ([#1488](https://github.com/AztecProtocol/barretenberg/issues/1488)) ([030dace](https://github.com/AztecProtocol/barretenberg/commit/030dacebd9831ed938b546133373cad63e17ecd8)) +* New stdlib Transcript ([#1219](https://github.com/AztecProtocol/barretenberg/issues/1219)) ([1b9e077](https://github.com/AztecProtocol/barretenberg/commit/1b9e0770e7e470f2708eb6f96cd5ee831b84f4f4)) + + +### Bug Fixes + +* **acir:** When retrying failed ACIR tests it should not use the default CLI argument ([#1673](https://github.com/AztecProtocol/barretenberg/issues/1673)) ([ea4792d](https://github.com/AztecProtocol/barretenberg/commit/ea4792ddc9c23f7390f47cf78d4939cce6458a46)) +* Align bbmalloc implementations ([#1513](https://github.com/AztecProtocol/barretenberg/issues/1513)) ([b92338d](https://github.com/AztecProtocol/barretenberg/commit/b92338d3c9de9d21a6933747a3f1479266d16f9e)) +* Barretenberg binaries now take in the encoded circuit instead of a json file ([#1618](https://github.com/AztecProtocol/barretenberg/issues/1618)) ([180cdc9](https://github.com/AztecProtocol/barretenberg/commit/180cdc9ac7cf9aa793d9774dc866ceb4e6ec3fbc)) +* Bb sync take 2 ([#1669](https://github.com/AztecProtocol/barretenberg/issues/1669)) ([d3eebe4](https://github.com/AztecProtocol/barretenberg/commit/d3eebe46e5b702801c866d7dd073a0eeb9f475b7)) +* Bin reference when installing package ([#678](https://github.com/AztecProtocol/barretenberg/issues/678)) ([c734295](https://github.com/AztecProtocol/barretenberg/commit/c734295a10d2c40ede773519664170880f28b2b7)) +* Fix paths in `barretenberg` bootstrap.sh script ([#1662](https://github.com/AztecProtocol/barretenberg/issues/1662)) ([c8917cd](https://github.com/AztecProtocol/barretenberg/commit/c8917cd8ec415dafe5309ec0e90aba28184d8294)) +* Fixed a failing test and added a small fuzzer ([#1384](https://github.com/AztecProtocol/barretenberg/issues/1384)) ([441e972](https://github.com/AztecProtocol/barretenberg/commit/441e972c88c5c314b4958e158f977f60a8c9e32d)) +* Sync aztec master ([#680](https://github.com/AztecProtocol/barretenberg/issues/680)) ([3afc243](https://github.com/AztecProtocol/barretenberg/commit/3afc2438053f530e49fbebbdbadd8db8a630bb8c)) + +## [0.3.6](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.5...barretenberg-v0.3.6) (2023-08-08) + + +### Features + +* Update release-please.yml ([#651](https://github.com/AztecProtocol/barretenberg/issues/651)) ([2795df6](https://github.com/AztecProtocol/barretenberg/commit/2795df6b705175a32fe2a6f18b3c572e297e277e)) + +## [0.3.5](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.4...barretenberg-v0.3.5) (2023-08-07) + + +### Features + +* Celer benchmark ([#1369](https://github.com/AztecProtocol/barretenberg/issues/1369)) ([d4ade2a](https://github.com/AztecProtocol/barretenberg/commit/d4ade2a5f06a3abf3c9c2635946d7121cc2f64b4)) +* Goblin Honk Composer/Prover/Verifier ([#1220](https://github.com/AztecProtocol/barretenberg/issues/1220)) ([970bb07](https://github.com/AztecProtocol/barretenberg/commit/970bb073763cc59552cd05dccf7f8fc63f58cef9)) +* Goblin translator prototype ([#1249](https://github.com/AztecProtocol/barretenberg/issues/1249)) ([7738d74](https://github.com/AztecProtocol/barretenberg/commit/7738d74791acc0fa8b1b1d8bb2a77783ca900123)) +* Internal keyword + lending contract and tests ([#978](https://github.com/AztecProtocol/barretenberg/issues/978)) ([e58ca4b](https://github.com/AztecProtocol/barretenberg/commit/e58ca4b332272fc57b2a5358bb5003bac79a8f5a)) +* Minimal barretenberg .circleci ([#1352](https://github.com/AztecProtocol/barretenberg/issues/1352)) ([708e2e2](https://github.com/AztecProtocol/barretenberg/commit/708e2e2786de5dce5bfc770c54734e5862a436e5)) + + +### Bug Fixes + +* Bootstrap.sh git hook for monorepo ([#1256](https://github.com/AztecProtocol/barretenberg/issues/1256)) ([b22b8d5](https://github.com/AztecProtocol/barretenberg/commit/b22b8d5f42ddfae140068c3ce8b3053d4c8d1874)) +* Build-system spot request cancellation ([#1339](https://github.com/AztecProtocol/barretenberg/issues/1339)) ([fc1d96a](https://github.com/AztecProtocol/barretenberg/commit/fc1d96a744a8d5a6cae06c408546c3638408551d)) +* Fixing external benchmarks ([#1250](https://github.com/AztecProtocol/barretenberg/issues/1250)) ([0ea6a39](https://github.com/AztecProtocol/barretenberg/commit/0ea6a39950e8cd5ff7765031457c162d03ebae06)) +* Fixing fuzzing build after composer splitting ([#1317](https://github.com/AztecProtocol/barretenberg/issues/1317)) ([946c23c](https://github.com/AztecProtocol/barretenberg/commit/946c23c52d45ddce973e453c40c048734e7f6937)) +* Reinstate barretenberg-benchmark-aggregator ([#1330](https://github.com/AztecProtocol/barretenberg/issues/1330)) ([407a915](https://github.com/AztecProtocol/barretenberg/commit/407a915a94c7d83dec9e14a11ad0e3461fd2906d)) +* Retry git submodule fetch ([#1371](https://github.com/AztecProtocol/barretenberg/issues/1371)) ([037dda3](https://github.com/AztecProtocol/barretenberg/commit/037dda3d254d56a20292d2bed5a9582d36c08427)) + +## [0.3.4](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.3...barretenberg-v0.3.4) (2023-07-25) + + +### Features + +* Add Goblin Ultra Circuit builder ([#587](https://github.com/AztecProtocol/barretenberg/issues/587)) ([2d38c25](https://github.com/AztecProtocol/barretenberg/commit/2d38c252de8b867955da661181e51f1a5f28cbc6)) +* Modify bb.js to be compatible with next.js ([#544](https://github.com/AztecProtocol/barretenberg/issues/544)) ([d384089](https://github.com/AztecProtocol/barretenberg/commit/d384089f60d1a6d5baeb0d3459556a310b790366)) +* Support public inputs in Ultra Honk ([#581](https://github.com/AztecProtocol/barretenberg/issues/581)) ([9cd0a06](https://github.com/AztecProtocol/barretenberg/commit/9cd0a064b8258bf4f72dd9e1c5e8f85b074d1bbc)) + +## [0.3.3](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.2...barretenberg-v0.3.3) (2023-07-17) + + +### Features + +* Bb and bb.js directly parse nargo bincode format. ([#610](https://github.com/AztecProtocol/barretenberg/issues/610)) ([d25e37a](https://github.com/AztecProtocol/barretenberg/commit/d25e37ad74b88dc45337b2a529ede3136dd4a699)) +* Goblin work done in Valencia ([#569](https://github.com/AztecProtocol/barretenberg/issues/569)) ([57af751](https://github.com/AztecProtocol/barretenberg/commit/57af751646dc3c038fea24ada4e160f6d422845f)) + +## [0.3.2](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.1...barretenberg-v0.3.2) (2023-07-12) + + +### Features + +* **msgpack:** Ability to specify NOSCHEMA for cbinds ([#605](https://github.com/AztecProtocol/barretenberg/issues/605)) ([8a4f5f1](https://github.com/AztecProtocol/barretenberg/commit/8a4f5f1d31e1d631c1cd3ed49c100858b58c56b2)) + +## [0.3.1](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.0...barretenberg-v0.3.1) (2023-07-11) + + +### Features + +* Sentence case changelog titles ([#598](https://github.com/AztecProtocol/barretenberg/issues/598)) ([1466108](https://github.com/AztecProtocol/barretenberg/commit/146610857ae511e9cfb27f873f49cec2dd19ddad)) + +## 0.3.0 (2023-07-11) + + +### ⚠ BREAKING CHANGES + +* Use circuit builders ([#501](https://github.com/AztecProtocol/barretenberg/issues/501)) +* **dsl:** add hash index to pedersen constraint ([#436](https://github.com/AztecProtocol/barretenberg/issues/436)) +* add support for ROM and RAM ACVM opcodes ([#417](https://github.com/AztecProtocol/barretenberg/issues/417)) +* replace `MerkleMembershipConstraint` with`ComputeMerkleRootConstraint` ([#385](https://github.com/AztecProtocol/barretenberg/issues/385)) +* Remove TOOLCHAIN logic and replace with CMake presets ([#162](https://github.com/AztecProtocol/barretenberg/issues/162)) + +### Features + +* Add `get_sibling_path` method in MerkleTree ([#584](https://github.com/AztecProtocol/barretenberg/issues/584)) ([b3db9f8](https://github.com/AztecProtocol/barretenberg/commit/b3db9f8944e546cd9da9a1529e2562ee75e62369)) +* Add `signature_verification_result` to schnorr stdlib ([#173](https://github.com/AztecProtocol/barretenberg/issues/173)) ([7ae381e](https://github.com/AztecProtocol/barretenberg/commit/7ae381e4c5a084efde18917569518c7d4040b653)) +* Add equality and serialization to poly_triple ([#172](https://github.com/AztecProtocol/barretenberg/issues/172)) ([142b041](https://github.com/AztecProtocol/barretenberg/commit/142b041b2d3d090785f0e6f319fbf7504c751098)) +* Add installation targets for libbarretenberg, wasm & headers ([#185](https://github.com/AztecProtocol/barretenberg/issues/185)) ([f2fdebe](https://github.com/AztecProtocol/barretenberg/commit/f2fdebe037d4d2d90761f98e28b4b0d3af9a0f63)) +* Add Noir DSL with acir_format and turbo_proofs namespaces ([#198](https://github.com/AztecProtocol/barretenberg/issues/198)) ([54fab22](https://github.com/AztecProtocol/barretenberg/commit/54fab2217f437bb04a5e9fb71b271cf91b90c6e5)) +* Add pkgconfig output for installed target ([#208](https://github.com/AztecProtocol/barretenberg/issues/208)) ([d85a365](https://github.com/AztecProtocol/barretenberg/commit/d85a365180ac2672bbd33bd8b799a1f154716ab3)) +* add support for ROM and RAM ACVM opcodes ([#417](https://github.com/AztecProtocol/barretenberg/issues/417)) ([697fabb](https://github.com/AztecProtocol/barretenberg/commit/697fabb7cbeadb9264db5047e7fd36565dad8790)) +* Allow bootstrap to work with linux + clang on ARM ([#131](https://github.com/AztecProtocol/barretenberg/issues/131)) ([52cb06b](https://github.com/AztecProtocol/barretenberg/commit/52cb06b445c73f2f324af6595af70ce9c130eb09)) +* **api:** external cpp header for circuits ([#489](https://github.com/AztecProtocol/barretenberg/issues/489)) ([fbbb342](https://github.com/AztecProtocol/barretenberg/commit/fbbb34287fdef0e8fedb2e25c5431f17501ad653)) +* **bb.js:** initial API ([#232](https://github.com/AztecProtocol/barretenberg/issues/232)) ([c860b02](https://github.com/AztecProtocol/barretenberg/commit/c860b02d80425de161af50acf33e94d94eb0659c)) +* Benchmark suite update ([d7b1499](https://github.com/AztecProtocol/barretenberg/commit/d7b14993ac8d329664fd36e7b4aa083935b1d407)) +* Benchmark suite update ([#508](https://github.com/AztecProtocol/barretenberg/issues/508)) ([d7b1499](https://github.com/AztecProtocol/barretenberg/commit/d7b14993ac8d329664fd36e7b4aa083935b1d407)) +* CI to test aztec circuits with current commit of bberg ([#418](https://github.com/AztecProtocol/barretenberg/issues/418)) ([20a0873](https://github.com/AztecProtocol/barretenberg/commit/20a0873dcbfe4a862ad53a9c137030689a521a04)) +* **dsl:** Add ECDSA secp256r1 verification ([#582](https://github.com/AztecProtocol/barretenberg/issues/582)) ([adc4c7b](https://github.com/AztecProtocol/barretenberg/commit/adc4c7b4eb634eae28dd28e25b94b93a5b49c80e)) +* **dsl:** add hash index to pedersen constraint ([#436](https://github.com/AztecProtocol/barretenberg/issues/436)) ([e0b8804](https://github.com/AztecProtocol/barretenberg/commit/e0b8804b9418c7aa39e29e800fecb4ed15d73b80)) +* **github:** add pull request template ([65f3e33](https://github.com/AztecProtocol/barretenberg/commit/65f3e3312061e7284c0dd0f0f89fa92ee92f9eac)) +* **honk:** Shared relation arithmetic ([#514](https://github.com/AztecProtocol/barretenberg/issues/514)) ([0838474](https://github.com/AztecProtocol/barretenberg/commit/0838474e67469a6d91d6595d1ee23e1dea53863c)) +* Improve barretenberg headers ([#201](https://github.com/AztecProtocol/barretenberg/issues/201)) ([4e03839](https://github.com/AztecProtocol/barretenberg/commit/4e03839a970a5d07dab7f86cd2b7166a09f5045a)) +* Initial native version of bb binary. ([#524](https://github.com/AztecProtocol/barretenberg/issues/524)) ([4a1b532](https://github.com/AztecProtocol/barretenberg/commit/4a1b5322dc78921d253e6a374eba0b616ab788df)) +* Make the circuit constructors field agnostic so we can check circuits on grumpkin ([#534](https://github.com/AztecProtocol/barretenberg/issues/534)) ([656d794](https://github.com/AztecProtocol/barretenberg/commit/656d7944f94f3da88250f3140838f3e32e9d0174)) +* Multithreaded Sumcheck ([#556](https://github.com/AztecProtocol/barretenberg/issues/556)) ([c4094b1](https://github.com/AztecProtocol/barretenberg/commit/c4094b155ba9d8e914c3e6a5b0d7808945b1eeed)) +* **nullifier_tree:** make empty nullifier tree leaves hash be 0 ([#360](https://github.com/AztecProtocol/barretenberg/issues/360)) ([#382](https://github.com/AztecProtocol/barretenberg/issues/382)) ([b85ab8d](https://github.com/AztecProtocol/barretenberg/commit/b85ab8d587b3e93db2aa0f1c4f012e58e5d97915)) +* Optimize memory consumption of pedersen generators ([#413](https://github.com/AztecProtocol/barretenberg/issues/413)) ([d60b16a](https://github.com/AztecProtocol/barretenberg/commit/d60b16a14219fd4bd130ce4537c3e94bfa10128f)) +* Parallelised folding in Gemini ([#550](https://github.com/AztecProtocol/barretenberg/issues/550)) ([3b962d3](https://github.com/AztecProtocol/barretenberg/commit/3b962d372491430871443fd1b95fd9e049e233c8)) +* **pkg-config:** Add a bindir variable ([#239](https://github.com/AztecProtocol/barretenberg/issues/239)) ([611bf34](https://github.com/AztecProtocol/barretenberg/commit/611bf34bcc6f82969a6fe546bf0a7cbecda6d36d)) +* Remove TOOLCHAIN logic and replace with CMake presets ([#162](https://github.com/AztecProtocol/barretenberg/issues/162)) ([09db0be](https://github.com/AztecProtocol/barretenberg/commit/09db0be3d09ee12b4b73b03abe8fa4565cdb6660)) +* replace `MerkleMembershipConstraint` with`ComputeMerkleRootConstraint` ([#385](https://github.com/AztecProtocol/barretenberg/issues/385)) ([74dbce5](https://github.com/AztecProtocol/barretenberg/commit/74dbce5dfa126ecd6dbda7b758581752f7b6a389)) +* Sort includes ([#571](https://github.com/AztecProtocol/barretenberg/issues/571)) ([dfa8736](https://github.com/AztecProtocol/barretenberg/commit/dfa8736136323e62a705066d25bef962a6a0b82d)) +* Split plonk and honk tests ([#529](https://github.com/AztecProtocol/barretenberg/issues/529)) ([ba583ff](https://github.com/AztecProtocol/barretenberg/commit/ba583ff00509f636feae7b78304b115e34fc2357)) +* Support nix package manager ([#234](https://github.com/AztecProtocol/barretenberg/issues/234)) ([19a72fe](https://github.com/AztecProtocol/barretenberg/commit/19a72fec0ff8d451fc94a9f5563202867a5f8147)) +* **ts:** allow passing srs via env functions ([#260](https://github.com/AztecProtocol/barretenberg/issues/260)) ([ac78353](https://github.com/AztecProtocol/barretenberg/commit/ac7835304f4524039abf0a0df9ae85d905f55c86)) +* **ultrahonk:** Added a simple filler table to minimize the amount of entries used to make UltraHonk polynomials non-zero ([b20b401](https://github.com/AztecProtocol/barretenberg/commit/b20b4012546c5b67623950d0fedb0974df8bf345)) +* **ultrahonk:** Added a simple filler table to minimize the amount of entries used to make UltraHonk polynomials non-zero ([#531](https://github.com/AztecProtocol/barretenberg/issues/531)) ([b20b401](https://github.com/AztecProtocol/barretenberg/commit/b20b4012546c5b67623950d0fedb0974df8bf345)) +* Utilize globally installed benchmark if available ([#152](https://github.com/AztecProtocol/barretenberg/issues/152)) ([fbc5027](https://github.com/AztecProtocol/barretenberg/commit/fbc502794e9bbdfda797b11ac71eba996d649722)) +* Utilize globally installed gtest if available ([#151](https://github.com/AztecProtocol/barretenberg/issues/151)) ([efa18a6](https://github.com/AztecProtocol/barretenberg/commit/efa18a621917dc6c38f453825cadc76eb793a73c)) +* Utilize globally installed leveldb if available ([#134](https://github.com/AztecProtocol/barretenberg/issues/134)) ([255dfb5](https://github.com/AztecProtocol/barretenberg/commit/255dfb52adca885b0a4e4380769a279922af49ff)) +* Working UltraPlonk for Noir ([#299](https://github.com/AztecProtocol/barretenberg/issues/299)) ([d56dfbd](https://github.com/AztecProtocol/barretenberg/commit/d56dfbdfd74b438b3c8652e1ae8740de99f93ae5)) + + +### Bug Fixes + +* add NUM_RESERVED_GATES before fetching subgroup size in composer ([#539](https://github.com/AztecProtocol/barretenberg/issues/539)) ([fa11abf](https://github.com/AztecProtocol/barretenberg/commit/fa11abf0877314b03420d6f7ace1312df41cd50b)) +* Adds `VERSION` file to release-please ([#542](https://github.com/AztecProtocol/barretenberg/issues/542)) ([31fb34c](https://github.com/AztecProtocol/barretenberg/commit/31fb34c307a4336414b1fd2076d96105a29b0e7b)) +* Align native library object library with wasm ([#238](https://github.com/AztecProtocol/barretenberg/issues/238)) ([4fa6c0d](https://github.com/AztecProtocol/barretenberg/commit/4fa6c0d2d8c6309d53757ad54d3433d1d662de5f)) +* Avoid bb.js memory issues. ([#578](https://github.com/AztecProtocol/barretenberg/issues/578)) ([96891de](https://github.com/AztecProtocol/barretenberg/commit/96891de21fd74ca33ea75ae97f73cada39a5d337)) +* Avoid targeting honk test files when testing is disabled ([#125](https://github.com/AztecProtocol/barretenberg/issues/125)) ([e4a70ed](https://github.com/AztecProtocol/barretenberg/commit/e4a70edf2bb39d67095cbe21fff310372369a92d)) +* BarycentricData instantiation time and unused code in secp curves ([#572](https://github.com/AztecProtocol/barretenberg/issues/572)) ([bc78bb0](https://github.com/AztecProtocol/barretenberg/commit/bc78bb00d273c756fa4f02967d219cd3fd788890)) +* bbmalloc linker error ([#459](https://github.com/AztecProtocol/barretenberg/issues/459)) ([d4761c1](https://github.com/AztecProtocol/barretenberg/commit/d4761c11f30eeecbcb2485f50516bee71809bab1)) +* Build on stock apple clang. ([#592](https://github.com/AztecProtocol/barretenberg/issues/592)) ([0ac4bc3](https://github.com/AztecProtocol/barretenberg/commit/0ac4bc36619f85c1b3a65d3f825ba5683cbbe30c)) +* **build:** git add -f .yalc ([#265](https://github.com/AztecProtocol/barretenberg/issues/265)) ([7671192](https://github.com/AztecProtocol/barretenberg/commit/7671192c8a60ff0bc0f8ad3e14ac299ff780cc25)) +* bump timeout on common test. ([c9bc87d](https://github.com/AztecProtocol/barretenberg/commit/c9bc87d29fa1325162cb1e7bf2db7cc85747fd9e)) +* Check for wasm-opt during configure & run on post_build ([#175](https://github.com/AztecProtocol/barretenberg/issues/175)) ([1ff6af3](https://github.com/AztecProtocol/barretenberg/commit/1ff6af3cb6b7b4d3bb53bfbdcbf1c3a568e0fa86)) +* check_circuit bug fix ([#510](https://github.com/AztecProtocol/barretenberg/issues/510)) ([4b156a3](https://github.com/AztecProtocol/barretenberg/commit/4b156a3648e6da9dfe292e354da9a27185d2aa9d)) +* cleanup of include statements and dependencies ([#527](https://github.com/AztecProtocol/barretenberg/issues/527)) ([b288c24](https://github.com/AztecProtocol/barretenberg/commit/b288c2420bdc350658cd3776bad1eb087cc28d63)) +* **cmake:** Remove leveldb dependency that was accidentally re-added ([#335](https://github.com/AztecProtocol/barretenberg/issues/335)) ([3534e2b](https://github.com/AztecProtocol/barretenberg/commit/3534e2bfcca46dbca30573286f43425dab6bc810)) +* **dsl:** Use info instead of std::cout to log ([#323](https://github.com/AztecProtocol/barretenberg/issues/323)) ([486d738](https://github.com/AztecProtocol/barretenberg/commit/486d73842b4b7d6aa84fa12d7462fe52e892d416)) +* Ecdsa Malleability Bug ([#512](https://github.com/AztecProtocol/barretenberg/issues/512)) ([5cf856c](https://github.com/AztecProtocol/barretenberg/commit/5cf856c5c29c9f9b8abb87d7bde23b4932711350)) +* **ecdsa:** correct short weierstrass curve eqn ([#567](https://github.com/AztecProtocol/barretenberg/issues/567)) ([386ec63](https://github.com/AztecProtocol/barretenberg/commit/386ec6372156d604e37e58490f1c7396077f84c4)) +* Ensure barretenberg provides headers that Noir needs ([#200](https://github.com/AztecProtocol/barretenberg/issues/200)) ([0171a49](https://github.com/AztecProtocol/barretenberg/commit/0171a499a175f88a0ee3fcfd4de0f43ad0ebff85)) +* Ensure TBB is optional using OPTIONAL_COMPONENTS ([#127](https://github.com/AztecProtocol/barretenberg/issues/127)) ([e3039b2](https://github.com/AztecProtocol/barretenberg/commit/e3039b26ea8aca4b8fdc4b2cbac6716ace261c76)) +* Fixed the memory issue ([#509](https://github.com/AztecProtocol/barretenberg/issues/509)) ([107d438](https://github.com/AztecProtocol/barretenberg/commit/107d438ad96847e40f8e5374749b8cba820b2007)) +* Increment CMakeList version on releases ([#536](https://github.com/AztecProtocol/barretenberg/issues/536)) ([b571411](https://github.com/AztecProtocol/barretenberg/commit/b571411a6d58f79e3e2553c3b1c81b4f186f2245)) +* msgpack error ([#456](https://github.com/AztecProtocol/barretenberg/issues/456)) ([943d6d0](https://github.com/AztecProtocol/barretenberg/commit/943d6d07c57bea521c2593e892e839f25f82b289)) +* msgpack variant_impl.hpp ([#462](https://github.com/AztecProtocol/barretenberg/issues/462)) ([b5838a6](https://github.com/AztecProtocol/barretenberg/commit/b5838a6c9fe456e832776da21379e41c0a2bbd5d)) +* **nix:** Disable ASM & ADX when building in Nix ([#327](https://github.com/AztecProtocol/barretenberg/issues/327)) ([3bc724d](https://github.com/AztecProtocol/barretenberg/commit/3bc724d2163d29041bfa29a1e49625bab77289a2)) +* **nix:** Use wasi-sdk 12 to provide barretenberg-wasm in overlay ([#315](https://github.com/AztecProtocol/barretenberg/issues/315)) ([4a06992](https://github.com/AztecProtocol/barretenberg/commit/4a069923f4a869f8c2315e6d3f738db6e66dcdfa)) +* Pass brew omp location via LDFLAGS and CPPFLAGS ([#126](https://github.com/AztecProtocol/barretenberg/issues/126)) ([54141f1](https://github.com/AztecProtocol/barretenberg/commit/54141f12de9eee86220003b1f80d39a41795cedc)) +* Remove leveldb_store from stdlib_merkle_tree ([#149](https://github.com/AztecProtocol/barretenberg/issues/149)) ([3ce5e7e](https://github.com/AztecProtocol/barretenberg/commit/3ce5e7e17ca7bb806373be833a44d55a8e584bda)) +* Revert "fix: add NUM_RESERVED_GATES before fetching subgroup size in composer" ([#540](https://github.com/AztecProtocol/barretenberg/issues/540)) ([a9fbc39](https://github.com/AztecProtocol/barretenberg/commit/a9fbc3973f24680f676682d15c3a4cef0a1ab798)) +* Revert generator changes that cause memory OOB access ([#338](https://github.com/AztecProtocol/barretenberg/issues/338)) ([500daf1](https://github.com/AztecProtocol/barretenberg/commit/500daf1ceb03771d2c01eaf1a86139a7ac1d814f)) +* Soundness issue in bigfield's `evaluate_multiply_add` method ([#558](https://github.com/AztecProtocol/barretenberg/issues/558)) ([1a98ac6](https://github.com/AztecProtocol/barretenberg/commit/1a98ac64787a0e2904fd22043497a8d11afe5e6c)) +* **srs:** Detect shasum utility when downloading lagrange ([#143](https://github.com/AztecProtocol/barretenberg/issues/143)) ([515604d](https://github.com/AztecProtocol/barretenberg/commit/515604dff83648e00106f35511aa567921599a78)) +* Store lagrange forms of selector polys w/ Ultra ([#255](https://github.com/AztecProtocol/barretenberg/issues/255)) ([b121963](https://github.com/AztecProtocol/barretenberg/commit/b12196362497c8dfb3a64284d28de2d8ee7d730c)) +* throw -> throw_or_abort in sol gen ([#388](https://github.com/AztecProtocol/barretenberg/issues/388)) ([7cfe3f0](https://github.com/AztecProtocol/barretenberg/commit/7cfe3f055815e333ff8a8f1f30e8377c83d2182a)) +* Trigger release-please ([#594](https://github.com/AztecProtocol/barretenberg/issues/594)) ([5042861](https://github.com/AztecProtocol/barretenberg/commit/5042861405df6b5659c0c32418720d8bdea81081)) +* Update versioning in nix files when a release is made ([#549](https://github.com/AztecProtocol/barretenberg/issues/549)) ([1b3ff93](https://github.com/AztecProtocol/barretenberg/commit/1b3ff93e7ed8873583cdade95a860adb8823f1cd)) +* **wasm:** Remove the CMAKE_STAGING_PREFIX variable from wasm preset ([#240](https://github.com/AztecProtocol/barretenberg/issues/240)) ([f2f8d1f](https://github.com/AztecProtocol/barretenberg/commit/f2f8d1f7a24ca73e30c981fd245c86f7f964abb7)) +* Wrap each use of filesystem library in ifndef __wasm__ ([#181](https://github.com/AztecProtocol/barretenberg/issues/181)) ([0eae962](https://github.com/AztecProtocol/barretenberg/commit/0eae96293b4d2da6b6b23ae80ac132fb49f90915)) + + +### Code Refactoring + +* Use circuit builders ([#501](https://github.com/AztecProtocol/barretenberg/issues/501)) ([709a29c](https://github.com/AztecProtocol/barretenberg/commit/709a29c89a305be017270361780995353188035a)) + +## [0.2.0](https://github.com/AztecProtocol/barretenberg/compare/v0.1.0...v0.2.0) (2023-07-11) + + +### ⚠ BREAKING CHANGES + +* Use circuit builders ([#501](https://github.com/AztecProtocol/barretenberg/issues/501)) + +### Features + +* Add `get_sibling_path` method in MerkleTree ([#584](https://github.com/AztecProtocol/barretenberg/issues/584)) ([b3db9f8](https://github.com/AztecProtocol/barretenberg/commit/b3db9f8944e546cd9da9a1529e2562ee75e62369)) +* **dsl:** Add ECDSA secp256r1 verification ([#582](https://github.com/AztecProtocol/barretenberg/issues/582)) ([adc4c7b](https://github.com/AztecProtocol/barretenberg/commit/adc4c7b4eb634eae28dd28e25b94b93a5b49c80e)) +* Initial native version of bb binary. ([#524](https://github.com/AztecProtocol/barretenberg/issues/524)) ([4a1b532](https://github.com/AztecProtocol/barretenberg/commit/4a1b5322dc78921d253e6a374eba0b616ab788df)) +* Make the circuit constructors field agnostic so we can check circuits on grumpkin ([#534](https://github.com/AztecProtocol/barretenberg/issues/534)) ([656d794](https://github.com/AztecProtocol/barretenberg/commit/656d7944f94f3da88250f3140838f3e32e9d0174)) +* Multithreaded Sumcheck ([#556](https://github.com/AztecProtocol/barretenberg/issues/556)) ([c4094b1](https://github.com/AztecProtocol/barretenberg/commit/c4094b155ba9d8e914c3e6a5b0d7808945b1eeed)) +* Optimize memory consumption of pedersen generators ([#413](https://github.com/AztecProtocol/barretenberg/issues/413)) ([d60b16a](https://github.com/AztecProtocol/barretenberg/commit/d60b16a14219fd4bd130ce4537c3e94bfa10128f)) +* Parallelised folding in Gemini ([#550](https://github.com/AztecProtocol/barretenberg/issues/550)) ([3b962d3](https://github.com/AztecProtocol/barretenberg/commit/3b962d372491430871443fd1b95fd9e049e233c8)) +* Sort includes ([#571](https://github.com/AztecProtocol/barretenberg/issues/571)) ([dfa8736](https://github.com/AztecProtocol/barretenberg/commit/dfa8736136323e62a705066d25bef962a6a0b82d)) +* Split plonk and honk tests ([#529](https://github.com/AztecProtocol/barretenberg/issues/529)) ([ba583ff](https://github.com/AztecProtocol/barretenberg/commit/ba583ff00509f636feae7b78304b115e34fc2357)) + + +### Bug Fixes + +* add NUM_RESERVED_GATES before fetching subgroup size in composer ([#539](https://github.com/AztecProtocol/barretenberg/issues/539)) ([fa11abf](https://github.com/AztecProtocol/barretenberg/commit/fa11abf0877314b03420d6f7ace1312df41cd50b)) +* Adds `VERSION` file to release-please ([#542](https://github.com/AztecProtocol/barretenberg/issues/542)) ([31fb34c](https://github.com/AztecProtocol/barretenberg/commit/31fb34c307a4336414b1fd2076d96105a29b0e7b)) +* Avoid bb.js memory issues. ([#578](https://github.com/AztecProtocol/barretenberg/issues/578)) ([96891de](https://github.com/AztecProtocol/barretenberg/commit/96891de21fd74ca33ea75ae97f73cada39a5d337)) +* BarycentricData instantiation time and unused code in secp curves ([#572](https://github.com/AztecProtocol/barretenberg/issues/572)) ([bc78bb0](https://github.com/AztecProtocol/barretenberg/commit/bc78bb00d273c756fa4f02967d219cd3fd788890)) +* Build on stock apple clang. ([#592](https://github.com/AztecProtocol/barretenberg/issues/592)) ([0ac4bc3](https://github.com/AztecProtocol/barretenberg/commit/0ac4bc36619f85c1b3a65d3f825ba5683cbbe30c)) +* bump timeout on common test. ([c9bc87d](https://github.com/AztecProtocol/barretenberg/commit/c9bc87d29fa1325162cb1e7bf2db7cc85747fd9e)) +* check_circuit bug fix ([#510](https://github.com/AztecProtocol/barretenberg/issues/510)) ([4b156a3](https://github.com/AztecProtocol/barretenberg/commit/4b156a3648e6da9dfe292e354da9a27185d2aa9d)) +* cleanup of include statements and dependencies ([#527](https://github.com/AztecProtocol/barretenberg/issues/527)) ([b288c24](https://github.com/AztecProtocol/barretenberg/commit/b288c2420bdc350658cd3776bad1eb087cc28d63)) +* Ecdsa Malleability Bug ([#512](https://github.com/AztecProtocol/barretenberg/issues/512)) ([5cf856c](https://github.com/AztecProtocol/barretenberg/commit/5cf856c5c29c9f9b8abb87d7bde23b4932711350)) +* **ecdsa:** correct short weierstrass curve eqn ([#567](https://github.com/AztecProtocol/barretenberg/issues/567)) ([386ec63](https://github.com/AztecProtocol/barretenberg/commit/386ec6372156d604e37e58490f1c7396077f84c4)) +* Increment CMakeList version on releases ([#536](https://github.com/AztecProtocol/barretenberg/issues/536)) ([b571411](https://github.com/AztecProtocol/barretenberg/commit/b571411a6d58f79e3e2553c3b1c81b4f186f2245)) +* Revert "fix: add NUM_RESERVED_GATES before fetching subgroup size in composer" ([#540](https://github.com/AztecProtocol/barretenberg/issues/540)) ([a9fbc39](https://github.com/AztecProtocol/barretenberg/commit/a9fbc3973f24680f676682d15c3a4cef0a1ab798)) +* Soundness issue in bigfield's `evaluate_multiply_add` method ([#558](https://github.com/AztecProtocol/barretenberg/issues/558)) ([1a98ac6](https://github.com/AztecProtocol/barretenberg/commit/1a98ac64787a0e2904fd22043497a8d11afe5e6c)) +* Update versioning in nix files when a release is made ([#549](https://github.com/AztecProtocol/barretenberg/issues/549)) ([1b3ff93](https://github.com/AztecProtocol/barretenberg/commit/1b3ff93e7ed8873583cdade95a860adb8823f1cd)) + + +### Code Refactoring + +* Use circuit builders ([#501](https://github.com/AztecProtocol/barretenberg/issues/501)) ([709a29c](https://github.com/AztecProtocol/barretenberg/commit/709a29c89a305be017270361780995353188035a)) + +## 0.1.0 (2023-06-15) + + +### ⚠ BREAKING CHANGES + +* **dsl:** add hash index to pedersen constraint ([#436](https://github.com/AztecProtocol/barretenberg/issues/436)) +* add support for ROM and RAM ACVM opcodes ([#417](https://github.com/AztecProtocol/barretenberg/issues/417)) +* replace `MerkleMembershipConstraint` with`ComputeMerkleRootConstraint` ([#385](https://github.com/AztecProtocol/barretenberg/issues/385)) +* Remove TOOLCHAIN logic and replace with CMake presets ([#162](https://github.com/AztecProtocol/barretenberg/issues/162)) + +### Features + +* Add `signature_verification_result` to schnorr stdlib ([#173](https://github.com/AztecProtocol/barretenberg/issues/173)) ([7ae381e](https://github.com/AztecProtocol/barretenberg/commit/7ae381e4c5a084efde18917569518c7d4040b653)) +* Add equality and serialization to poly_triple ([#172](https://github.com/AztecProtocol/barretenberg/issues/172)) ([142b041](https://github.com/AztecProtocol/barretenberg/commit/142b041b2d3d090785f0e6f319fbf7504c751098)) +* Add installation targets for libbarretenberg, wasm & headers ([#185](https://github.com/AztecProtocol/barretenberg/issues/185)) ([f2fdebe](https://github.com/AztecProtocol/barretenberg/commit/f2fdebe037d4d2d90761f98e28b4b0d3af9a0f63)) +* Add Noir DSL with acir_format and turbo_proofs namespaces ([#198](https://github.com/AztecProtocol/barretenberg/issues/198)) ([54fab22](https://github.com/AztecProtocol/barretenberg/commit/54fab2217f437bb04a5e9fb71b271cf91b90c6e5)) +* Add pkgconfig output for installed target ([#208](https://github.com/AztecProtocol/barretenberg/issues/208)) ([d85a365](https://github.com/AztecProtocol/barretenberg/commit/d85a365180ac2672bbd33bd8b799a1f154716ab3)) +* add support for ROM and RAM ACVM opcodes ([#417](https://github.com/AztecProtocol/barretenberg/issues/417)) ([697fabb](https://github.com/AztecProtocol/barretenberg/commit/697fabb7cbeadb9264db5047e7fd36565dad8790)) +* Allow bootstrap to work with linux + clang on ARM ([#131](https://github.com/AztecProtocol/barretenberg/issues/131)) ([52cb06b](https://github.com/AztecProtocol/barretenberg/commit/52cb06b445c73f2f324af6595af70ce9c130eb09)) +* **api:** external cpp header for circuits ([#489](https://github.com/AztecProtocol/barretenberg/issues/489)) ([fbbb342](https://github.com/AztecProtocol/barretenberg/commit/fbbb34287fdef0e8fedb2e25c5431f17501ad653)) +* **bb.js:** initial API ([#232](https://github.com/AztecProtocol/barretenberg/issues/232)) ([c860b02](https://github.com/AztecProtocol/barretenberg/commit/c860b02d80425de161af50acf33e94d94eb0659c)) +* Benchmark suite update ([d7b1499](https://github.com/AztecProtocol/barretenberg/commit/d7b14993ac8d329664fd36e7b4aa083935b1d407)) +* Benchmark suite update ([#508](https://github.com/AztecProtocol/barretenberg/issues/508)) ([d7b1499](https://github.com/AztecProtocol/barretenberg/commit/d7b14993ac8d329664fd36e7b4aa083935b1d407)) +* CI to test aztec circuits with current commit of bberg ([#418](https://github.com/AztecProtocol/barretenberg/issues/418)) ([20a0873](https://github.com/AztecProtocol/barretenberg/commit/20a0873dcbfe4a862ad53a9c137030689a521a04)) +* **dsl:** add hash index to pedersen constraint ([#436](https://github.com/AztecProtocol/barretenberg/issues/436)) ([e0b8804](https://github.com/AztecProtocol/barretenberg/commit/e0b8804b9418c7aa39e29e800fecb4ed15d73b80)) +* **github:** add pull request template ([65f3e33](https://github.com/AztecProtocol/barretenberg/commit/65f3e3312061e7284c0dd0f0f89fa92ee92f9eac)) +* **honk:** Shared relation arithmetic ([#514](https://github.com/AztecProtocol/barretenberg/issues/514)) ([0838474](https://github.com/AztecProtocol/barretenberg/commit/0838474e67469a6d91d6595d1ee23e1dea53863c)) +* Improve barretenberg headers ([#201](https://github.com/AztecProtocol/barretenberg/issues/201)) ([4e03839](https://github.com/AztecProtocol/barretenberg/commit/4e03839a970a5d07dab7f86cd2b7166a09f5045a)) +* **nullifier_tree:** make empty nullifier tree leaves hash be 0 ([#360](https://github.com/AztecProtocol/barretenberg/issues/360)) ([#382](https://github.com/AztecProtocol/barretenberg/issues/382)) ([b85ab8d](https://github.com/AztecProtocol/barretenberg/commit/b85ab8d587b3e93db2aa0f1c4f012e58e5d97915)) +* **pkg-config:** Add a bindir variable ([#239](https://github.com/AztecProtocol/barretenberg/issues/239)) ([611bf34](https://github.com/AztecProtocol/barretenberg/commit/611bf34bcc6f82969a6fe546bf0a7cbecda6d36d)) +* Remove TOOLCHAIN logic and replace with CMake presets ([#162](https://github.com/AztecProtocol/barretenberg/issues/162)) ([09db0be](https://github.com/AztecProtocol/barretenberg/commit/09db0be3d09ee12b4b73b03abe8fa4565cdb6660)) +* replace `MerkleMembershipConstraint` with`ComputeMerkleRootConstraint` ([#385](https://github.com/AztecProtocol/barretenberg/issues/385)) ([74dbce5](https://github.com/AztecProtocol/barretenberg/commit/74dbce5dfa126ecd6dbda7b758581752f7b6a389)) +* Support nix package manager ([#234](https://github.com/AztecProtocol/barretenberg/issues/234)) ([19a72fe](https://github.com/AztecProtocol/barretenberg/commit/19a72fec0ff8d451fc94a9f5563202867a5f8147)) +* **ts:** allow passing srs via env functions ([#260](https://github.com/AztecProtocol/barretenberg/issues/260)) ([ac78353](https://github.com/AztecProtocol/barretenberg/commit/ac7835304f4524039abf0a0df9ae85d905f55c86)) +* **ultrahonk:** Added a simple filler table to minimize the amount of entries used to make UltraHonk polynomials non-zero ([b20b401](https://github.com/AztecProtocol/barretenberg/commit/b20b4012546c5b67623950d0fedb0974df8bf345)) +* **ultrahonk:** Added a simple filler table to minimize the amount of entries used to make UltraHonk polynomials non-zero ([#531](https://github.com/AztecProtocol/barretenberg/issues/531)) ([b20b401](https://github.com/AztecProtocol/barretenberg/commit/b20b4012546c5b67623950d0fedb0974df8bf345)) +* Utilize globally installed benchmark if available ([#152](https://github.com/AztecProtocol/barretenberg/issues/152)) ([fbc5027](https://github.com/AztecProtocol/barretenberg/commit/fbc502794e9bbdfda797b11ac71eba996d649722)) +* Utilize globally installed gtest if available ([#151](https://github.com/AztecProtocol/barretenberg/issues/151)) ([efa18a6](https://github.com/AztecProtocol/barretenberg/commit/efa18a621917dc6c38f453825cadc76eb793a73c)) +* Utilize globally installed leveldb if available ([#134](https://github.com/AztecProtocol/barretenberg/issues/134)) ([255dfb5](https://github.com/AztecProtocol/barretenberg/commit/255dfb52adca885b0a4e4380769a279922af49ff)) +* Working UltraPlonk for Noir ([#299](https://github.com/AztecProtocol/barretenberg/issues/299)) ([d56dfbd](https://github.com/AztecProtocol/barretenberg/commit/d56dfbdfd74b438b3c8652e1ae8740de99f93ae5)) + + +### Bug Fixes + +* Align native library object library with wasm ([#238](https://github.com/AztecProtocol/barretenberg/issues/238)) ([4fa6c0d](https://github.com/AztecProtocol/barretenberg/commit/4fa6c0d2d8c6309d53757ad54d3433d1d662de5f)) +* Avoid targeting honk test files when testing is disabled ([#125](https://github.com/AztecProtocol/barretenberg/issues/125)) ([e4a70ed](https://github.com/AztecProtocol/barretenberg/commit/e4a70edf2bb39d67095cbe21fff310372369a92d)) +* bbmalloc linker error ([#459](https://github.com/AztecProtocol/barretenberg/issues/459)) ([d4761c1](https://github.com/AztecProtocol/barretenberg/commit/d4761c11f30eeecbcb2485f50516bee71809bab1)) +* **build:** git add -f .yalc ([#265](https://github.com/AztecProtocol/barretenberg/issues/265)) ([7671192](https://github.com/AztecProtocol/barretenberg/commit/7671192c8a60ff0bc0f8ad3e14ac299ff780cc25)) +* Check for wasm-opt during configure & run on post_build ([#175](https://github.com/AztecProtocol/barretenberg/issues/175)) ([1ff6af3](https://github.com/AztecProtocol/barretenberg/commit/1ff6af3cb6b7b4d3bb53bfbdcbf1c3a568e0fa86)) +* **cmake:** Remove leveldb dependency that was accidentally re-added ([#335](https://github.com/AztecProtocol/barretenberg/issues/335)) ([3534e2b](https://github.com/AztecProtocol/barretenberg/commit/3534e2bfcca46dbca30573286f43425dab6bc810)) +* **dsl:** Use info instead of std::cout to log ([#323](https://github.com/AztecProtocol/barretenberg/issues/323)) ([486d738](https://github.com/AztecProtocol/barretenberg/commit/486d73842b4b7d6aa84fa12d7462fe52e892d416)) +* Ensure barretenberg provides headers that Noir needs ([#200](https://github.com/AztecProtocol/barretenberg/issues/200)) ([0171a49](https://github.com/AztecProtocol/barretenberg/commit/0171a499a175f88a0ee3fcfd4de0f43ad0ebff85)) +* Ensure TBB is optional using OPTIONAL_COMPONENTS ([#127](https://github.com/AztecProtocol/barretenberg/issues/127)) ([e3039b2](https://github.com/AztecProtocol/barretenberg/commit/e3039b26ea8aca4b8fdc4b2cbac6716ace261c76)) +* Fixed the memory issue ([#509](https://github.com/AztecProtocol/barretenberg/issues/509)) ([107d438](https://github.com/AztecProtocol/barretenberg/commit/107d438ad96847e40f8e5374749b8cba820b2007)) +* msgpack error ([#456](https://github.com/AztecProtocol/barretenberg/issues/456)) ([943d6d0](https://github.com/AztecProtocol/barretenberg/commit/943d6d07c57bea521c2593e892e839f25f82b289)) +* msgpack variant_impl.hpp ([#462](https://github.com/AztecProtocol/barretenberg/issues/462)) ([b5838a6](https://github.com/AztecProtocol/barretenberg/commit/b5838a6c9fe456e832776da21379e41c0a2bbd5d)) +* **nix:** Disable ASM & ADX when building in Nix ([#327](https://github.com/AztecProtocol/barretenberg/issues/327)) ([3bc724d](https://github.com/AztecProtocol/barretenberg/commit/3bc724d2163d29041bfa29a1e49625bab77289a2)) +* **nix:** Use wasi-sdk 12 to provide barretenberg-wasm in overlay ([#315](https://github.com/AztecProtocol/barretenberg/issues/315)) ([4a06992](https://github.com/AztecProtocol/barretenberg/commit/4a069923f4a869f8c2315e6d3f738db6e66dcdfa)) +* Pass brew omp location via LDFLAGS and CPPFLAGS ([#126](https://github.com/AztecProtocol/barretenberg/issues/126)) ([54141f1](https://github.com/AztecProtocol/barretenberg/commit/54141f12de9eee86220003b1f80d39a41795cedc)) +* Remove leveldb_store from stdlib_merkle_tree ([#149](https://github.com/AztecProtocol/barretenberg/issues/149)) ([3ce5e7e](https://github.com/AztecProtocol/barretenberg/commit/3ce5e7e17ca7bb806373be833a44d55a8e584bda)) +* Revert generator changes that cause memory OOB access ([#338](https://github.com/AztecProtocol/barretenberg/issues/338)) ([500daf1](https://github.com/AztecProtocol/barretenberg/commit/500daf1ceb03771d2c01eaf1a86139a7ac1d814f)) +* **srs:** Detect shasum utility when downloading lagrange ([#143](https://github.com/AztecProtocol/barretenberg/issues/143)) ([515604d](https://github.com/AztecProtocol/barretenberg/commit/515604dff83648e00106f35511aa567921599a78)) +* Store lagrange forms of selector polys w/ Ultra ([#255](https://github.com/AztecProtocol/barretenberg/issues/255)) ([b121963](https://github.com/AztecProtocol/barretenberg/commit/b12196362497c8dfb3a64284d28de2d8ee7d730c)) +* throw -> throw_or_abort in sol gen ([#388](https://github.com/AztecProtocol/barretenberg/issues/388)) ([7cfe3f0](https://github.com/AztecProtocol/barretenberg/commit/7cfe3f055815e333ff8a8f1f30e8377c83d2182a)) +* **wasm:** Remove the CMAKE_STAGING_PREFIX variable from wasm preset ([#240](https://github.com/AztecProtocol/barretenberg/issues/240)) ([f2f8d1f](https://github.com/AztecProtocol/barretenberg/commit/f2f8d1f7a24ca73e30c981fd245c86f7f964abb7)) +* Wrap each use of filesystem library in ifndef __wasm__ ([#181](https://github.com/AztecProtocol/barretenberg/issues/181)) ([0eae962](https://github.com/AztecProtocol/barretenberg/commit/0eae96293b4d2da6b6b23ae80ac132fb49f90915)) diff --git a/circuits/cpp/barretenberg/LICENSE b/barretenberg/LICENSE similarity index 100% rename from circuits/cpp/barretenberg/LICENSE rename to barretenberg/LICENSE diff --git a/circuits/cpp/barretenberg/PROJECT b/barretenberg/PROJECT similarity index 100% rename from circuits/cpp/barretenberg/PROJECT rename to barretenberg/PROJECT diff --git a/circuits/cpp/barretenberg/README.md b/barretenberg/README.md similarity index 100% rename from circuits/cpp/barretenberg/README.md rename to barretenberg/README.md diff --git a/circuits/cpp/barretenberg/VERSION b/barretenberg/VERSION similarity index 100% rename from circuits/cpp/barretenberg/VERSION rename to barretenberg/VERSION diff --git a/circuits/cpp/barretenberg/acir_tests/.dockerignore b/barretenberg/acir_tests/.dockerignore similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/.dockerignore rename to barretenberg/acir_tests/.dockerignore diff --git a/circuits/cpp/barretenberg/acir_tests/.gitignore b/barretenberg/acir_tests/.gitignore similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/.gitignore rename to barretenberg/acir_tests/.gitignore diff --git a/circuits/cpp/barretenberg/acir_tests/Dockerfile.bb b/barretenberg/acir_tests/Dockerfile.bb similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/Dockerfile.bb rename to barretenberg/acir_tests/Dockerfile.bb diff --git a/circuits/cpp/barretenberg/acir_tests/Dockerfile.bb.js b/barretenberg/acir_tests/Dockerfile.bb.js similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/Dockerfile.bb.js rename to barretenberg/acir_tests/Dockerfile.bb.js diff --git a/circuits/cpp/barretenberg/acir_tests/README.md b/barretenberg/acir_tests/README.md similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/README.md rename to barretenberg/acir_tests/README.md diff --git a/circuits/cpp/barretenberg/acir_tests/browser-test-app/package.json b/barretenberg/acir_tests/browser-test-app/package.json similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/browser-test-app/package.json rename to barretenberg/acir_tests/browser-test-app/package.json diff --git a/circuits/cpp/barretenberg/acir_tests/browser-test-app/serve.mt.json b/barretenberg/acir_tests/browser-test-app/serve.mt.json similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/browser-test-app/serve.mt.json rename to barretenberg/acir_tests/browser-test-app/serve.mt.json diff --git a/circuits/cpp/barretenberg/acir_tests/browser-test-app/src/index.html b/barretenberg/acir_tests/browser-test-app/src/index.html similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/browser-test-app/src/index.html rename to barretenberg/acir_tests/browser-test-app/src/index.html diff --git a/circuits/cpp/barretenberg/acir_tests/browser-test-app/src/index.ts b/barretenberg/acir_tests/browser-test-app/src/index.ts similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/browser-test-app/src/index.ts rename to barretenberg/acir_tests/browser-test-app/src/index.ts diff --git a/circuits/cpp/barretenberg/acir_tests/browser-test-app/tsconfig.json b/barretenberg/acir_tests/browser-test-app/tsconfig.json similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/browser-test-app/tsconfig.json rename to barretenberg/acir_tests/browser-test-app/tsconfig.json diff --git a/circuits/cpp/barretenberg/acir_tests/browser-test-app/webpack.config.js b/barretenberg/acir_tests/browser-test-app/webpack.config.js similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/browser-test-app/webpack.config.js rename to barretenberg/acir_tests/browser-test-app/webpack.config.js diff --git a/circuits/cpp/barretenberg/acir_tests/browser-test-app/yarn.lock b/barretenberg/acir_tests/browser-test-app/yarn.lock similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/browser-test-app/yarn.lock rename to barretenberg/acir_tests/browser-test-app/yarn.lock diff --git a/circuits/cpp/barretenberg/acir_tests/flows/all_cmds.sh b/barretenberg/acir_tests/flows/all_cmds.sh similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/flows/all_cmds.sh rename to barretenberg/acir_tests/flows/all_cmds.sh diff --git a/circuits/cpp/barretenberg/acir_tests/flows/prove_and_verify.sh b/barretenberg/acir_tests/flows/prove_and_verify.sh similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/flows/prove_and_verify.sh rename to barretenberg/acir_tests/flows/prove_and_verify.sh diff --git a/circuits/cpp/barretenberg/acir_tests/headless-test/bb.js.browser b/barretenberg/acir_tests/headless-test/bb.js.browser similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/headless-test/bb.js.browser rename to barretenberg/acir_tests/headless-test/bb.js.browser diff --git a/circuits/cpp/barretenberg/acir_tests/headless-test/package.json b/barretenberg/acir_tests/headless-test/package.json similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/headless-test/package.json rename to barretenberg/acir_tests/headless-test/package.json diff --git a/circuits/cpp/barretenberg/acir_tests/headless-test/src/index.ts b/barretenberg/acir_tests/headless-test/src/index.ts similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/headless-test/src/index.ts rename to barretenberg/acir_tests/headless-test/src/index.ts diff --git a/circuits/cpp/barretenberg/acir_tests/headless-test/tsconfig.json b/barretenberg/acir_tests/headless-test/tsconfig.json similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/headless-test/tsconfig.json rename to barretenberg/acir_tests/headless-test/tsconfig.json diff --git a/circuits/cpp/barretenberg/acir_tests/headless-test/yarn.lock b/barretenberg/acir_tests/headless-test/yarn.lock similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/headless-test/yarn.lock rename to barretenberg/acir_tests/headless-test/yarn.lock diff --git a/circuits/cpp/barretenberg/acir_tests/run_acir_tests.sh b/barretenberg/acir_tests/run_acir_tests.sh similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/run_acir_tests.sh rename to barretenberg/acir_tests/run_acir_tests.sh diff --git a/circuits/cpp/barretenberg/acir_tests/run_acir_tests_browser.sh b/barretenberg/acir_tests/run_acir_tests_browser.sh similarity index 100% rename from circuits/cpp/barretenberg/acir_tests/run_acir_tests_browser.sh rename to barretenberg/acir_tests/run_acir_tests_browser.sh diff --git a/circuits/cpp/barretenberg/barretenberg-wasm.nix b/barretenberg/barretenberg-wasm.nix similarity index 100% rename from circuits/cpp/barretenberg/barretenberg-wasm.nix rename to barretenberg/barretenberg-wasm.nix diff --git a/circuits/cpp/barretenberg/barretenberg.code-workspace b/barretenberg/barretenberg.code-workspace similarity index 100% rename from circuits/cpp/barretenberg/barretenberg.code-workspace rename to barretenberg/barretenberg.code-workspace diff --git a/circuits/cpp/barretenberg/barretenberg.nix b/barretenberg/barretenberg.nix similarity index 100% rename from circuits/cpp/barretenberg/barretenberg.nix rename to barretenberg/barretenberg.nix diff --git a/circuits/cpp/barretenberg/bootstrap.sh b/barretenberg/bootstrap.sh similarity index 100% rename from circuits/cpp/barretenberg/bootstrap.sh rename to barretenberg/bootstrap.sh diff --git a/circuits/cpp/barretenberg/bootstrap_docker.sh b/barretenberg/bootstrap_docker.sh similarity index 100% rename from circuits/cpp/barretenberg/bootstrap_docker.sh rename to barretenberg/bootstrap_docker.sh diff --git a/circuits/cpp/barretenberg/build-system b/barretenberg/build-system similarity index 100% rename from circuits/cpp/barretenberg/build-system rename to barretenberg/build-system diff --git a/circuits/cpp/barretenberg/build_manifest.json b/barretenberg/build_manifest.json similarity index 100% rename from circuits/cpp/barretenberg/build_manifest.json rename to barretenberg/build_manifest.json diff --git a/circuits/cpp/barretenberg/build_manifest.sh b/barretenberg/build_manifest.sh similarity index 100% rename from circuits/cpp/barretenberg/build_manifest.sh rename to barretenberg/build_manifest.sh diff --git a/circuits/cpp/barretenberg/cpp/.aztec-packages-commit b/barretenberg/cpp/.aztec-packages-commit similarity index 100% rename from circuits/cpp/barretenberg/cpp/.aztec-packages-commit rename to barretenberg/cpp/.aztec-packages-commit diff --git a/circuits/cpp/barretenberg/cpp/.clang-format b/barretenberg/cpp/.clang-format similarity index 100% rename from circuits/cpp/barretenberg/cpp/.clang-format rename to barretenberg/cpp/.clang-format diff --git a/circuits/cpp/barretenberg/cpp/.clangd b/barretenberg/cpp/.clangd similarity index 100% rename from circuits/cpp/barretenberg/cpp/.clangd rename to barretenberg/cpp/.clangd diff --git a/circuits/cpp/barretenberg/cpp/.dockerignore b/barretenberg/cpp/.dockerignore similarity index 100% rename from circuits/cpp/barretenberg/cpp/.dockerignore rename to barretenberg/cpp/.dockerignore diff --git a/circuits/cpp/barretenberg/cpp/.gitignore b/barretenberg/cpp/.gitignore similarity index 100% rename from circuits/cpp/barretenberg/cpp/.gitignore rename to barretenberg/cpp/.gitignore diff --git a/circuits/cpp/barretenberg/cpp/CMakeLists.txt b/barretenberg/cpp/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/CMakeLists.txt rename to barretenberg/cpp/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/CMakePresets.json b/barretenberg/cpp/CMakePresets.json similarity index 100% rename from circuits/cpp/barretenberg/cpp/CMakePresets.json rename to barretenberg/cpp/CMakePresets.json diff --git a/circuits/cpp/barretenberg/cpp/bin-test/target/acir.gz b/barretenberg/cpp/bin-test/target/acir.gz similarity index 100% rename from circuits/cpp/barretenberg/cpp/bin-test/target/acir.gz rename to barretenberg/cpp/bin-test/target/acir.gz diff --git a/circuits/cpp/barretenberg/cpp/bin-test/target/witness.gz b/barretenberg/cpp/bin-test/target/witness.gz similarity index 100% rename from circuits/cpp/barretenberg/cpp/bin-test/target/witness.gz rename to barretenberg/cpp/bin-test/target/witness.gz diff --git a/circuits/cpp/barretenberg/cpp/bootstrap.sh b/barretenberg/cpp/bootstrap.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/bootstrap.sh rename to barretenberg/cpp/bootstrap.sh diff --git a/circuits/cpp/barretenberg/cpp/cmake/arch.cmake b/barretenberg/cpp/cmake/arch.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/cmake/arch.cmake rename to barretenberg/cpp/cmake/arch.cmake diff --git a/circuits/cpp/barretenberg/cpp/cmake/barretenberg.pc.in b/barretenberg/cpp/cmake/barretenberg.pc.in similarity index 100% rename from circuits/cpp/barretenberg/cpp/cmake/barretenberg.pc.in rename to barretenberg/cpp/cmake/barretenberg.pc.in diff --git a/circuits/cpp/barretenberg/cpp/cmake/benchmark.cmake b/barretenberg/cpp/cmake/benchmark.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/cmake/benchmark.cmake rename to barretenberg/cpp/cmake/benchmark.cmake diff --git a/circuits/cpp/barretenberg/cpp/cmake/build.cmake b/barretenberg/cpp/cmake/build.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/cmake/build.cmake rename to barretenberg/cpp/cmake/build.cmake diff --git a/circuits/cpp/barretenberg/cpp/cmake/gtest.cmake b/barretenberg/cpp/cmake/gtest.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/cmake/gtest.cmake rename to barretenberg/cpp/cmake/gtest.cmake diff --git a/circuits/cpp/barretenberg/cpp/cmake/module.cmake b/barretenberg/cpp/cmake/module.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/cmake/module.cmake rename to barretenberg/cpp/cmake/module.cmake diff --git a/circuits/cpp/barretenberg/cpp/cmake/threading.cmake b/barretenberg/cpp/cmake/threading.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/cmake/threading.cmake rename to barretenberg/cpp/cmake/threading.cmake diff --git a/circuits/cpp/barretenberg/cpp/cmake/toolchains/aarch64-darwin.cmake b/barretenberg/cpp/cmake/toolchains/aarch64-darwin.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/cmake/toolchains/aarch64-darwin.cmake rename to barretenberg/cpp/cmake/toolchains/aarch64-darwin.cmake diff --git a/circuits/cpp/barretenberg/cpp/cmake/toolchains/aarch64-linux.cmake b/barretenberg/cpp/cmake/toolchains/aarch64-linux.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/cmake/toolchains/aarch64-linux.cmake rename to barretenberg/cpp/cmake/toolchains/aarch64-linux.cmake diff --git a/circuits/cpp/barretenberg/cpp/cmake/toolchains/i386-linux.cmake b/barretenberg/cpp/cmake/toolchains/i386-linux.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/cmake/toolchains/i386-linux.cmake rename to barretenberg/cpp/cmake/toolchains/i386-linux.cmake diff --git a/circuits/cpp/barretenberg/cpp/cmake/toolchains/wasm32-wasi.cmake b/barretenberg/cpp/cmake/toolchains/wasm32-wasi.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/cmake/toolchains/wasm32-wasi.cmake rename to barretenberg/cpp/cmake/toolchains/wasm32-wasi.cmake diff --git a/circuits/cpp/barretenberg/cpp/cmake/toolchains/x86_64-darwin.cmake b/barretenberg/cpp/cmake/toolchains/x86_64-darwin.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/cmake/toolchains/x86_64-darwin.cmake rename to barretenberg/cpp/cmake/toolchains/x86_64-darwin.cmake diff --git a/circuits/cpp/barretenberg/cpp/cmake/toolchains/x86_64-linux.cmake b/barretenberg/cpp/cmake/toolchains/x86_64-linux.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/cmake/toolchains/x86_64-linux.cmake rename to barretenberg/cpp/cmake/toolchains/x86_64-linux.cmake diff --git a/circuits/cpp/barretenberg/cpp/dockerfiles/Dockerfile.wasm-linux-clang b/barretenberg/cpp/dockerfiles/Dockerfile.wasm-linux-clang similarity index 100% rename from circuits/cpp/barretenberg/cpp/dockerfiles/Dockerfile.wasm-linux-clang rename to barretenberg/cpp/dockerfiles/Dockerfile.wasm-linux-clang diff --git a/circuits/cpp/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang b/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang similarity index 100% rename from circuits/cpp/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang rename to barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang diff --git a/circuits/cpp/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-assert b/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-assert similarity index 100% rename from circuits/cpp/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-assert rename to barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-assert diff --git a/circuits/cpp/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-benchmarks b/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-benchmarks similarity index 100% rename from circuits/cpp/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-benchmarks rename to barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-benchmarks diff --git a/circuits/cpp/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-fuzzing b/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-fuzzing similarity index 100% rename from circuits/cpp/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-fuzzing rename to barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-fuzzing diff --git a/circuits/cpp/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-gcc b/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-gcc similarity index 100% rename from circuits/cpp/barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-gcc rename to barretenberg/cpp/dockerfiles/Dockerfile.x86_64-linux-gcc diff --git a/circuits/cpp/barretenberg/cpp/docs/Fuzzing.md b/barretenberg/cpp/docs/Fuzzing.md similarity index 100% rename from circuits/cpp/barretenberg/cpp/docs/Fuzzing.md rename to barretenberg/cpp/docs/Fuzzing.md diff --git a/circuits/cpp/barretenberg/cpp/format.sh b/barretenberg/cpp/format.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/format.sh rename to barretenberg/cpp/format.sh diff --git a/circuits/cpp/barretenberg/cpp/notebook.ipynb b/barretenberg/cpp/notebook.ipynb similarity index 100% rename from circuits/cpp/barretenberg/cpp/notebook.ipynb rename to barretenberg/cpp/notebook.ipynb diff --git a/circuits/cpp/barretenberg/cpp/scripts/bb-tests.sh b/barretenberg/cpp/scripts/bb-tests.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/scripts/bb-tests.sh rename to barretenberg/cpp/scripts/bb-tests.sh diff --git a/circuits/cpp/barretenberg/cpp/scripts/collect_coverage_information.sh b/barretenberg/cpp/scripts/collect_coverage_information.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/scripts/collect_coverage_information.sh rename to barretenberg/cpp/scripts/collect_coverage_information.sh diff --git a/circuits/cpp/barretenberg/cpp/scripts/install-wasi-sdk.sh b/barretenberg/cpp/scripts/install-wasi-sdk.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/scripts/install-wasi-sdk.sh rename to barretenberg/cpp/scripts/install-wasi-sdk.sh diff --git a/circuits/cpp/barretenberg/cpp/scripts/run_aztec_circuits_tests b/barretenberg/cpp/scripts/run_aztec_circuits_tests similarity index 100% rename from circuits/cpp/barretenberg/cpp/scripts/run_aztec_circuits_tests rename to barretenberg/cpp/scripts/run_aztec_circuits_tests diff --git a/circuits/cpp/barretenberg/cpp/scripts/run_tests b/barretenberg/cpp/scripts/run_tests similarity index 100% rename from circuits/cpp/barretenberg/cpp/scripts/run_tests rename to barretenberg/cpp/scripts/run_tests diff --git a/circuits/cpp/barretenberg/cpp/scripts/stdlib-tests b/barretenberg/cpp/scripts/stdlib-tests similarity index 100% rename from circuits/cpp/barretenberg/cpp/scripts/stdlib-tests rename to barretenberg/cpp/scripts/stdlib-tests diff --git a/circuits/cpp/barretenberg/cpp/scripts/strip-wasm.sh b/barretenberg/cpp/scripts/strip-wasm.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/scripts/strip-wasm.sh rename to barretenberg/cpp/scripts/strip-wasm.sh diff --git a/circuits/cpp/barretenberg/cpp/src/CMakeLists.txt b/barretenberg/cpp/src/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/CMakeLists.txt rename to barretenberg/cpp/src/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/barretenberg.hpp b/barretenberg/cpp/src/barretenberg/barretenberg.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/barretenberg.hpp rename to barretenberg/cpp/src/barretenberg/barretenberg.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/bb/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/bb/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/bb/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/bb/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/bb/exec_pipe.hpp b/barretenberg/cpp/src/barretenberg/bb/exec_pipe.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/bb/exec_pipe.hpp rename to barretenberg/cpp/src/barretenberg/bb/exec_pipe.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/bb/file_io.hpp b/barretenberg/cpp/src/barretenberg/bb/file_io.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/bb/file_io.hpp rename to barretenberg/cpp/src/barretenberg/bb/file_io.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/bb/get_bytecode.hpp b/barretenberg/cpp/src/barretenberg/bb/get_bytecode.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/bb/get_bytecode.hpp rename to barretenberg/cpp/src/barretenberg/bb/get_bytecode.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/bb/get_crs.hpp b/barretenberg/cpp/src/barretenberg/bb/get_crs.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/bb/get_crs.hpp rename to barretenberg/cpp/src/barretenberg/bb/get_crs.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/bb/get_witness.hpp b/barretenberg/cpp/src/barretenberg/bb/get_witness.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/bb/get_witness.hpp rename to barretenberg/cpp/src/barretenberg/bb/get_witness.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/bb/log.hpp b/barretenberg/cpp/src/barretenberg/bb/log.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/bb/log.hpp rename to barretenberg/cpp/src/barretenberg/bb/log.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/bb/main.cpp b/barretenberg/cpp/src/barretenberg/bb/main.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/bb/main.cpp rename to barretenberg/cpp/src/barretenberg/bb/main.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/bb/readme.md b/barretenberg/cpp/src/barretenberg/bb/readme.md similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/bb/readme.md rename to barretenberg/cpp/src/barretenberg/bb/readme.md diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/benchmark/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/benchmark/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/compare_branch_vs_baseline.sh b/barretenberg/cpp/src/barretenberg/benchmark/compare_branch_vs_baseline.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/compare_branch_vs_baseline.sh rename to barretenberg/cpp/src/barretenberg/benchmark/compare_branch_vs_baseline.sh diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/decrypt_bench/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/benchmark/decrypt_bench/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/decrypt_bench/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/benchmark/decrypt_bench/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/decrypt_bench/main.cpp b/barretenberg/cpp/src/barretenberg/benchmark/decrypt_bench/main.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/decrypt_bench/main.cpp rename to barretenberg/cpp/src/barretenberg/benchmark/decrypt_bench/main.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/benchmark/honk_bench/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/benchmark_utilities.hpp b/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/benchmark_utilities.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/benchmark_utilities.hpp rename to barretenberg/cpp/src/barretenberg/benchmark/honk_bench/benchmark_utilities.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/compare_honk_to_plonk_standard.sh b/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/compare_honk_to_plonk_standard.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/compare_honk_to_plonk_standard.sh rename to barretenberg/cpp/src/barretenberg/benchmark/honk_bench/compare_honk_to_plonk_standard.sh diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/compare_honk_to_plonk_ultra.sh b/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/compare_honk_to_plonk_ultra.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/compare_honk_to_plonk_ultra.sh rename to barretenberg/cpp/src/barretenberg/benchmark/honk_bench/compare_honk_to_plonk_ultra.sh diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/honk.bench.cpp b/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/honk.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/honk.bench.cpp rename to barretenberg/cpp/src/barretenberg/benchmark/honk_bench/honk.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/main.bench.cpp b/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/main.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/main.bench.cpp rename to barretenberg/cpp/src/barretenberg/benchmark/honk_bench/main.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/standard_honk.bench.cpp b/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/standard_honk.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/standard_honk.bench.cpp rename to barretenberg/cpp/src/barretenberg/benchmark/honk_bench/standard_honk.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/standard_plonk.bench.cpp b/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/standard_plonk.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/standard_plonk.bench.cpp rename to barretenberg/cpp/src/barretenberg/benchmark/honk_bench/standard_plonk.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/ultra_honk.bench.cpp b/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/ultra_honk.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/ultra_honk.bench.cpp rename to barretenberg/cpp/src/barretenberg/benchmark/honk_bench/ultra_honk.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/ultra_plonk.bench.cpp b/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/ultra_plonk.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/honk_bench/ultra_plonk.bench.cpp rename to barretenberg/cpp/src/barretenberg/benchmark/honk_bench/ultra_plonk.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/pippenger_bench/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/benchmark/pippenger_bench/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/pippenger_bench/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/benchmark/pippenger_bench/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/pippenger_bench/main.cpp b/barretenberg/cpp/src/barretenberg/benchmark/pippenger_bench/main.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/pippenger_bench/main.cpp rename to barretenberg/cpp/src/barretenberg/benchmark/pippenger_bench/main.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/plonk_bench/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/benchmark/plonk_bench/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/plonk_bench/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/benchmark/plonk_bench/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/plonk_bench/plonk.bench.cpp b/barretenberg/cpp/src/barretenberg/benchmark/plonk_bench/plonk.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/plonk_bench/plonk.bench.cpp rename to barretenberg/cpp/src/barretenberg/benchmark/plonk_bench/plonk.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/relations_bench/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/benchmark/relations_bench/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/relations_bench/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/benchmark/relations_bench/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/relations_bench/barycentric.bench.cpp b/barretenberg/cpp/src/barretenberg/benchmark/relations_bench/barycentric.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/relations_bench/barycentric.bench.cpp rename to barretenberg/cpp/src/barretenberg/benchmark/relations_bench/barycentric.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/relations_bench/main.bench.cpp b/barretenberg/cpp/src/barretenberg/benchmark/relations_bench/main.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/relations_bench/main.bench.cpp rename to barretenberg/cpp/src/barretenberg/benchmark/relations_bench/main.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/relations_bench/relations.bench.cpp b/barretenberg/cpp/src/barretenberg/benchmark/relations_bench/relations.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/benchmark/relations_bench/relations.bench.cpp rename to barretenberg/cpp/src/barretenberg/benchmark/relations_bench/relations.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/common/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/common/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/assert.hpp b/barretenberg/cpp/src/barretenberg/common/assert.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/assert.hpp rename to barretenberg/cpp/src/barretenberg/common/assert.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/c_bind.cpp b/barretenberg/cpp/src/barretenberg/common/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/common/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/c_bind.hpp b/barretenberg/cpp/src/barretenberg/common/c_bind.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/c_bind.hpp rename to barretenberg/cpp/src/barretenberg/common/c_bind.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/constexpr_utils.hpp b/barretenberg/cpp/src/barretenberg/common/constexpr_utils.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/constexpr_utils.hpp rename to barretenberg/cpp/src/barretenberg/common/constexpr_utils.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/container.hpp b/barretenberg/cpp/src/barretenberg/common/container.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/container.hpp rename to barretenberg/cpp/src/barretenberg/common/container.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/fuzzer.hpp b/barretenberg/cpp/src/barretenberg/common/fuzzer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/fuzzer.hpp rename to barretenberg/cpp/src/barretenberg/common/fuzzer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/fuzzer_constants.hpp b/barretenberg/cpp/src/barretenberg/common/fuzzer_constants.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/fuzzer_constants.hpp rename to barretenberg/cpp/src/barretenberg/common/fuzzer_constants.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/inline.hpp b/barretenberg/cpp/src/barretenberg/common/inline.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/inline.hpp rename to barretenberg/cpp/src/barretenberg/common/inline.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/log.hpp b/barretenberg/cpp/src/barretenberg/common/log.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/log.hpp rename to barretenberg/cpp/src/barretenberg/common/log.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/map.hpp b/barretenberg/cpp/src/barretenberg/common/map.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/map.hpp rename to barretenberg/cpp/src/barretenberg/common/map.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/mem.cpp b/barretenberg/cpp/src/barretenberg/common/mem.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/mem.cpp rename to barretenberg/cpp/src/barretenberg/common/mem.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/mem.hpp b/barretenberg/cpp/src/barretenberg/common/mem.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/mem.hpp rename to barretenberg/cpp/src/barretenberg/common/mem.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/moody/blockingconcurrentqueue.h b/barretenberg/cpp/src/barretenberg/common/moody/blockingconcurrentqueue.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/moody/blockingconcurrentqueue.h rename to barretenberg/cpp/src/barretenberg/common/moody/blockingconcurrentqueue.h diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/moody/concurrentqueue.h b/barretenberg/cpp/src/barretenberg/common/moody/concurrentqueue.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/moody/concurrentqueue.h rename to barretenberg/cpp/src/barretenberg/common/moody/concurrentqueue.h diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/moody/lightweightsemaphore.h b/barretenberg/cpp/src/barretenberg/common/moody/lightweightsemaphore.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/moody/lightweightsemaphore.h rename to barretenberg/cpp/src/barretenberg/common/moody/lightweightsemaphore.h diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/net.hpp b/barretenberg/cpp/src/barretenberg/common/net.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/net.hpp rename to barretenberg/cpp/src/barretenberg/common/net.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/parallel_for_atomic_pool.cpp b/barretenberg/cpp/src/barretenberg/common/parallel_for_atomic_pool.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/parallel_for_atomic_pool.cpp rename to barretenberg/cpp/src/barretenberg/common/parallel_for_atomic_pool.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/parallel_for_moody.cpp b/barretenberg/cpp/src/barretenberg/common/parallel_for_moody.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/parallel_for_moody.cpp rename to barretenberg/cpp/src/barretenberg/common/parallel_for_moody.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/parallel_for_mutex_pool.cpp b/barretenberg/cpp/src/barretenberg/common/parallel_for_mutex_pool.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/parallel_for_mutex_pool.cpp rename to barretenberg/cpp/src/barretenberg/common/parallel_for_mutex_pool.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/parallel_for_omp.cpp b/barretenberg/cpp/src/barretenberg/common/parallel_for_omp.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/parallel_for_omp.cpp rename to barretenberg/cpp/src/barretenberg/common/parallel_for_omp.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/parallel_for_queued.cpp b/barretenberg/cpp/src/barretenberg/common/parallel_for_queued.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/parallel_for_queued.cpp rename to barretenberg/cpp/src/barretenberg/common/parallel_for_queued.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/parallel_for_spawning.cpp b/barretenberg/cpp/src/barretenberg/common/parallel_for_spawning.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/parallel_for_spawning.cpp rename to barretenberg/cpp/src/barretenberg/common/parallel_for_spawning.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/printf.hpp b/barretenberg/cpp/src/barretenberg/common/printf.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/printf.hpp rename to barretenberg/cpp/src/barretenberg/common/printf.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/serialize.hpp b/barretenberg/cpp/src/barretenberg/common/serialize.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/serialize.hpp rename to barretenberg/cpp/src/barretenberg/common/serialize.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/slab_allocator.cpp b/barretenberg/cpp/src/barretenberg/common/slab_allocator.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/slab_allocator.cpp rename to barretenberg/cpp/src/barretenberg/common/slab_allocator.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/slab_allocator.hpp b/barretenberg/cpp/src/barretenberg/common/slab_allocator.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/slab_allocator.hpp rename to barretenberg/cpp/src/barretenberg/common/slab_allocator.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/streams.hpp b/barretenberg/cpp/src/barretenberg/common/streams.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/streams.hpp rename to barretenberg/cpp/src/barretenberg/common/streams.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/test.hpp b/barretenberg/cpp/src/barretenberg/common/test.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/test.hpp rename to barretenberg/cpp/src/barretenberg/common/test.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/thread.cpp b/barretenberg/cpp/src/barretenberg/common/thread.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/thread.cpp rename to barretenberg/cpp/src/barretenberg/common/thread.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/thread.hpp b/barretenberg/cpp/src/barretenberg/common/thread.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/thread.hpp rename to barretenberg/cpp/src/barretenberg/common/thread.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/throw_or_abort.hpp b/barretenberg/cpp/src/barretenberg/common/throw_or_abort.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/throw_or_abort.hpp rename to barretenberg/cpp/src/barretenberg/common/throw_or_abort.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/timer.hpp b/barretenberg/cpp/src/barretenberg/common/timer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/timer.hpp rename to barretenberg/cpp/src/barretenberg/common/timer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/common/wasm_export.hpp b/barretenberg/cpp/src/barretenberg/common/wasm_export.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/common/wasm_export.hpp rename to barretenberg/cpp/src/barretenberg/common/wasm_export.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/crypto/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/crypto/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/aes128/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/crypto/aes128/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/aes128/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/crypto/aes128/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/aes128/aes128.cpp b/barretenberg/cpp/src/barretenberg/crypto/aes128/aes128.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/aes128/aes128.cpp rename to barretenberg/cpp/src/barretenberg/crypto/aes128/aes128.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/aes128/aes128.hpp b/barretenberg/cpp/src/barretenberg/crypto/aes128/aes128.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/aes128/aes128.hpp rename to barretenberg/cpp/src/barretenberg/crypto/aes128/aes128.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/aes128/aes128.test.cpp b/barretenberg/cpp/src/barretenberg/crypto/aes128/aes128.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/aes128/aes128.test.cpp rename to barretenberg/cpp/src/barretenberg/crypto/aes128/aes128.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/aes128/c_bind.cpp b/barretenberg/cpp/src/barretenberg/crypto/aes128/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/aes128/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/crypto/aes128/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/crypto/blake2s/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/crypto/blake2s/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2-impl.hpp b/barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2-impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2-impl.hpp rename to barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2-impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2s.cpp b/barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2s.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2s.cpp rename to barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2s.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2s.hpp b/barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2s.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2s.hpp rename to barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2s.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2s.test.cpp b/barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2s.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2s.test.cpp rename to barretenberg/cpp/src/barretenberg/crypto/blake2s/blake2s.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/c_bind.cpp b/barretenberg/cpp/src/barretenberg/crypto/blake2s/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/crypto/blake2s/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/c_bind.hpp b/barretenberg/cpp/src/barretenberg/crypto/blake2s/c_bind.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake2s/c_bind.hpp rename to barretenberg/cpp/src/barretenberg/crypto/blake2s/c_bind.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/crypto/blake3s/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/crypto/blake3s/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3-impl.hpp b/barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3-impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3-impl.hpp rename to barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3-impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3s.cpp b/barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3s.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3s.cpp rename to barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3s.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3s.hpp b/barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3s.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3s.hpp rename to barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3s.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3s.test.cpp b/barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3s.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3s.test.cpp rename to barretenberg/cpp/src/barretenberg/crypto/blake3s/blake3s.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s/c_bind.cpp b/barretenberg/cpp/src/barretenberg/crypto/blake3s/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/crypto/blake3s/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/crypto/blake3s_full/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3-impl.hpp b/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3-impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3-impl.hpp rename to barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3-impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3s.cpp b/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3s.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3s.cpp rename to barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3s.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3s.hpp b/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3s.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3s.hpp rename to barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3s.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3s.test.cpp b/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3s.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3s.test.cpp rename to barretenberg/cpp/src/barretenberg/crypto/blake3s_full/blake3s.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/crypto/ecdsa/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/crypto/ecdsa/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/c_bind.cpp b/barretenberg/cpp/src/barretenberg/crypto/ecdsa/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/crypto/ecdsa/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/c_bind.h b/barretenberg/cpp/src/barretenberg/crypto/ecdsa/c_bind.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/c_bind.h rename to barretenberg/cpp/src/barretenberg/crypto/ecdsa/c_bind.h diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa.hpp b/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa.hpp rename to barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa.test.cpp b/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa.test.cpp rename to barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa_impl.hpp b/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa_impl.hpp rename to barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/generators/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/crypto/generators/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/generators/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/crypto/generators/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/generators/fixed_base_scalar_mul.hpp b/barretenberg/cpp/src/barretenberg/crypto/generators/fixed_base_scalar_mul.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/generators/fixed_base_scalar_mul.hpp rename to barretenberg/cpp/src/barretenberg/crypto/generators/fixed_base_scalar_mul.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/generators/generator_data.cpp b/barretenberg/cpp/src/barretenberg/crypto/generators/generator_data.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/generators/generator_data.cpp rename to barretenberg/cpp/src/barretenberg/crypto/generators/generator_data.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/generators/generator_data.hpp b/barretenberg/cpp/src/barretenberg/crypto/generators/generator_data.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/generators/generator_data.hpp rename to barretenberg/cpp/src/barretenberg/crypto/generators/generator_data.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/generators/generator_data.test.cpp b/barretenberg/cpp/src/barretenberg/crypto/generators/generator_data.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/generators/generator_data.test.cpp rename to barretenberg/cpp/src/barretenberg/crypto/generators/generator_data.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/hashers/hashers.hpp b/barretenberg/cpp/src/barretenberg/crypto/hashers/hashers.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/hashers/hashers.hpp rename to barretenberg/cpp/src/barretenberg/crypto/hashers/hashers.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/hmac/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/crypto/hmac/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/hmac/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/crypto/hmac/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/hmac/hmac.hpp b/barretenberg/cpp/src/barretenberg/crypto/hmac/hmac.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/hmac/hmac.hpp rename to barretenberg/cpp/src/barretenberg/crypto/hmac/hmac.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/hmac/hmac.test.cpp b/barretenberg/cpp/src/barretenberg/crypto/hmac/hmac.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/hmac/hmac.test.cpp rename to barretenberg/cpp/src/barretenberg/crypto/hmac/hmac.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/keccak/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/crypto/keccak/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/keccak/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/crypto/keccak/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/keccak/hash_types.hpp b/barretenberg/cpp/src/barretenberg/crypto/keccak/hash_types.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/keccak/hash_types.hpp rename to barretenberg/cpp/src/barretenberg/crypto/keccak/hash_types.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/keccak/keccak.cpp b/barretenberg/cpp/src/barretenberg/crypto/keccak/keccak.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/keccak/keccak.cpp rename to barretenberg/cpp/src/barretenberg/crypto/keccak/keccak.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/keccak/keccak.hpp b/barretenberg/cpp/src/barretenberg/crypto/keccak/keccak.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/keccak/keccak.hpp rename to barretenberg/cpp/src/barretenberg/crypto/keccak/keccak.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/keccak/keccakf1600.cpp b/barretenberg/cpp/src/barretenberg/crypto/keccak/keccakf1600.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/keccak/keccakf1600.cpp rename to barretenberg/cpp/src/barretenberg/crypto/keccak/keccakf1600.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.cpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.hpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.hpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.cpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.cpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.hpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.hpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/convert_buffer_to_field.hpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/convert_buffer_to_field.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/convert_buffer_to_field.hpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/convert_buffer_to_field.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen.cpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen.cpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen.hpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen.hpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.cpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.cpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.hpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.hpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.test.cpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.test.cpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/pedersen_lookup.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/c_bind.cpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/c_bind.hpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/c_bind.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/c_bind.hpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/c_bind.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/c_bind_new.cpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/c_bind_new.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/c_bind_new.cpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/c_bind_new.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen.cpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen.cpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen.hpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen.hpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen_lookup.cpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen_lookup.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen_lookup.cpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen_lookup.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen_lookup.hpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen_lookup.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen_lookup.hpp rename to barretenberg/cpp/src/barretenberg/crypto/pedersen_hash/pedersen_lookup.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/crypto/schnorr/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/crypto/schnorr/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/c_bind.cpp b/barretenberg/cpp/src/barretenberg/crypto/schnorr/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/crypto/schnorr/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/c_bind.hpp b/barretenberg/cpp/src/barretenberg/crypto/schnorr/c_bind.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/c_bind.hpp rename to barretenberg/cpp/src/barretenberg/crypto/schnorr/c_bind.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/c_bind_new.cpp b/barretenberg/cpp/src/barretenberg/crypto/schnorr/c_bind_new.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/c_bind_new.cpp rename to barretenberg/cpp/src/barretenberg/crypto/schnorr/c_bind_new.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/multisig.hpp b/barretenberg/cpp/src/barretenberg/crypto/schnorr/multisig.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/multisig.hpp rename to barretenberg/cpp/src/barretenberg/crypto/schnorr/multisig.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/multisig.test.cpp b/barretenberg/cpp/src/barretenberg/crypto/schnorr/multisig.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/multisig.test.cpp rename to barretenberg/cpp/src/barretenberg/crypto/schnorr/multisig.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/proof_of_possession.hpp b/barretenberg/cpp/src/barretenberg/crypto/schnorr/proof_of_possession.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/proof_of_possession.hpp rename to barretenberg/cpp/src/barretenberg/crypto/schnorr/proof_of_possession.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/proof_of_possession.test.cpp b/barretenberg/cpp/src/barretenberg/crypto/schnorr/proof_of_possession.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/proof_of_possession.test.cpp rename to barretenberg/cpp/src/barretenberg/crypto/schnorr/proof_of_possession.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/schnorr.hpp b/barretenberg/cpp/src/barretenberg/crypto/schnorr/schnorr.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/schnorr.hpp rename to barretenberg/cpp/src/barretenberg/crypto/schnorr/schnorr.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/schnorr.tcc b/barretenberg/cpp/src/barretenberg/crypto/schnorr/schnorr.tcc similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/schnorr.tcc rename to barretenberg/cpp/src/barretenberg/crypto/schnorr/schnorr.tcc diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/schnorr.test.cpp b/barretenberg/cpp/src/barretenberg/crypto/schnorr/schnorr.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/schnorr.test.cpp rename to barretenberg/cpp/src/barretenberg/crypto/schnorr/schnorr.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/sha256/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/crypto/sha256/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/sha256/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/crypto/sha256/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/sha256/c_bind.cpp b/barretenberg/cpp/src/barretenberg/crypto/sha256/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/sha256/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/crypto/sha256/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/sha256/sha256.cpp b/barretenberg/cpp/src/barretenberg/crypto/sha256/sha256.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/sha256/sha256.cpp rename to barretenberg/cpp/src/barretenberg/crypto/sha256/sha256.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/sha256/sha256.hpp b/barretenberg/cpp/src/barretenberg/crypto/sha256/sha256.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/sha256/sha256.hpp rename to barretenberg/cpp/src/barretenberg/crypto/sha256/sha256.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/sha256/sha256.test.cpp b/barretenberg/cpp/src/barretenberg/crypto/sha256/sha256.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/crypto/sha256/sha256.test.cpp rename to barretenberg/cpp/src/barretenberg/crypto/sha256/sha256.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/dsl/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/dsl/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.test.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.test.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/blake2s_constraint.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/blake2s_constraint.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/blake2s_constraint.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/blake2s_constraint.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/blake2s_constraint.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/blake2s_constraint.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/blake2s_constraint.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/blake2s_constraint.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.test.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.test.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/block_constraint.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.test.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.test.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256k1.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.test.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.test.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/ecdsa_secp256r1.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/fixed_base_scalar_mul.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/fixed_base_scalar_mul.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/fixed_base_scalar_mul.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/fixed_base_scalar_mul.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/fixed_base_scalar_mul.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/fixed_base_scalar_mul.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/fixed_base_scalar_mul.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/fixed_base_scalar_mul.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/hash_to_field.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/hash_to_field.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/hash_to_field.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/hash_to_field.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/hash_to_field.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/hash_to_field.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/hash_to_field.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/hash_to_field.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/keccak_constraint.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/keccak_constraint.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/keccak_constraint.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/keccak_constraint.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/keccak_constraint.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/keccak_constraint.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/keccak_constraint.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/keccak_constraint.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/logic_constraint.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/logic_constraint.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/logic_constraint.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/logic_constraint.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/logic_constraint.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/logic_constraint.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/logic_constraint.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/logic_constraint.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/pedersen.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/pedersen.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/pedersen.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/pedersen.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/pedersen.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/pedersen.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/pedersen.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/pedersen.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/range_constraint.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/range_constraint.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/range_constraint.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/range_constraint.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.test.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.test.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/round.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/round.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/round.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/round.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/round.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/round.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/round.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/round.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/schnorr_verify.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/schnorr_verify.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/schnorr_verify.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/schnorr_verify.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/schnorr_verify.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/schnorr_verify.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/schnorr_verify.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/schnorr_verify.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/binary.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/binary.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/binary.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/binary.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/bincode.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/bincode.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/bincode.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/bincode.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/index.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/index.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/index.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/index.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/serde.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/serde.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/serde.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/serde.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/witness_map.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/witness_map.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/witness_map.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/witness_map.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/sha256_constraint.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/sha256_constraint.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/sha256_constraint.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/sha256_constraint.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/sha256_constraint.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/sha256_constraint.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_format/sha256_constraint.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_format/sha256_constraint.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/acir_composer.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/acir_composer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/acir_composer.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_proofs/acir_composer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/acir_composer.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/acir_composer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/acir_composer.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_proofs/acir_composer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.hpp rename to barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/types.hpp b/barretenberg/cpp/src/barretenberg/dsl/types.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/dsl/types.hpp rename to barretenberg/cpp/src/barretenberg/dsl/types.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/ecc/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/ecc/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/bn254.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/bn254.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/bn254.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/bn254.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq12.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq12.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq12.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq12.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq12.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq12.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq12.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq12.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq2.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq2.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq2.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq2.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq2.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq2.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq2.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq2.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq6.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq6.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq6.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq6.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq6.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq6.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq6.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fq6.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fr.bench.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fr.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fr.bench.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fr.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fr.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fr.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fr.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fr.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fr.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fr.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fr.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/fr.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g1.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g1.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g1.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g1.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g1.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g1.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g2.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g2.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g2.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g2.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g2.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g2.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g2.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/g2.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/pairing.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/pairing.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/pairing.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/pairing.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/pairing.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/pairing.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/pairing.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/pairing.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/pairing_impl.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/pairing_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/bn254/pairing_impl.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/bn254/pairing_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/c_bind.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/grumpkin/grumpkin.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/c_bind.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/c_bind.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/c_bind.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/c_bind.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/c_bind.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1_endo_notes.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1_endo_notes.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1_endo_notes.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/secp256k1/secp256k1_endo_notes.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/secp256r1/secp256r1.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/types.hpp b/barretenberg/cpp/src/barretenberg/ecc/curves/types.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/curves/types.hpp rename to barretenberg/cpp/src/barretenberg/ecc/curves/types.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/asm_macros.hpp b/barretenberg/cpp/src/barretenberg/ecc/fields/asm_macros.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/asm_macros.hpp rename to barretenberg/cpp/src/barretenberg/ecc/fields/asm_macros.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/extra_flag_solver.py b/barretenberg/cpp/src/barretenberg/ecc/fields/extra_flag_solver.py similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/extra_flag_solver.py rename to barretenberg/cpp/src/barretenberg/ecc/fields/extra_flag_solver.py diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field.hpp b/barretenberg/cpp/src/barretenberg/ecc/fields/field.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field.hpp rename to barretenberg/cpp/src/barretenberg/ecc/fields/field.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field12.hpp b/barretenberg/cpp/src/barretenberg/ecc/fields/field12.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field12.hpp rename to barretenberg/cpp/src/barretenberg/ecc/fields/field12.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field2.hpp b/barretenberg/cpp/src/barretenberg/ecc/fields/field2.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field2.hpp rename to barretenberg/cpp/src/barretenberg/ecc/fields/field2.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field2_declarations.hpp b/barretenberg/cpp/src/barretenberg/ecc/fields/field2_declarations.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field2_declarations.hpp rename to barretenberg/cpp/src/barretenberg/ecc/fields/field2_declarations.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field6.hpp b/barretenberg/cpp/src/barretenberg/ecc/fields/field6.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field6.hpp rename to barretenberg/cpp/src/barretenberg/ecc/fields/field6.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field_declarations.hpp b/barretenberg/cpp/src/barretenberg/ecc/fields/field_declarations.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field_declarations.hpp rename to barretenberg/cpp/src/barretenberg/ecc/fields/field_declarations.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field_impl.hpp b/barretenberg/cpp/src/barretenberg/ecc/fields/field_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field_impl.hpp rename to barretenberg/cpp/src/barretenberg/ecc/fields/field_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field_impl_generic.hpp b/barretenberg/cpp/src/barretenberg/ecc/fields/field_impl_generic.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field_impl_generic.hpp rename to barretenberg/cpp/src/barretenberg/ecc/fields/field_impl_generic.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field_impl_x64.hpp b/barretenberg/cpp/src/barretenberg/ecc/fields/field_impl_x64.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/field_impl_x64.hpp rename to barretenberg/cpp/src/barretenberg/ecc/fields/field_impl_x64.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/macro_scrapbook.hpp b/barretenberg/cpp/src/barretenberg/ecc/fields/macro_scrapbook.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/fields/macro_scrapbook.hpp rename to barretenberg/cpp/src/barretenberg/ecc/fields/macro_scrapbook.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/affine_element.hpp b/barretenberg/cpp/src/barretenberg/ecc/groups/affine_element.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/affine_element.hpp rename to barretenberg/cpp/src/barretenberg/ecc/groups/affine_element.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/affine_element.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/groups/affine_element.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/affine_element.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/groups/affine_element.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/affine_element_impl.hpp b/barretenberg/cpp/src/barretenberg/ecc/groups/affine_element_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/affine_element_impl.hpp rename to barretenberg/cpp/src/barretenberg/ecc/groups/affine_element_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/element.hpp b/barretenberg/cpp/src/barretenberg/ecc/groups/element.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/element.hpp rename to barretenberg/cpp/src/barretenberg/ecc/groups/element.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/element_impl.hpp b/barretenberg/cpp/src/barretenberg/ecc/groups/element_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/element_impl.hpp rename to barretenberg/cpp/src/barretenberg/ecc/groups/element_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/group.hpp b/barretenberg/cpp/src/barretenberg/ecc/groups/group.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/group.hpp rename to barretenberg/cpp/src/barretenberg/ecc/groups/group.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/group_impl_asm.tcc b/barretenberg/cpp/src/barretenberg/ecc/groups/group_impl_asm.tcc similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/group_impl_asm.tcc rename to barretenberg/cpp/src/barretenberg/ecc/groups/group_impl_asm.tcc diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/group_impl_int128.tcc b/barretenberg/cpp/src/barretenberg/ecc/groups/group_impl_int128.tcc similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/group_impl_int128.tcc rename to barretenberg/cpp/src/barretenberg/ecc/groups/group_impl_int128.tcc diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/wnaf.hpp b/barretenberg/cpp/src/barretenberg/ecc/groups/wnaf.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/wnaf.hpp rename to barretenberg/cpp/src/barretenberg/ecc/groups/wnaf.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/wnaf.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/groups/wnaf.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/groups/wnaf.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/groups/wnaf.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/pippenger.md b/barretenberg/cpp/src/barretenberg/ecc/pippenger.md similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/pippenger.md rename to barretenberg/cpp/src/barretenberg/ecc/pippenger.md diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/point_table.hpp b/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/point_table.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/point_table.hpp rename to barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/point_table.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/process_buckets.cpp b/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/process_buckets.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/process_buckets.cpp rename to barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/process_buckets.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/process_buckets.hpp b/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/process_buckets.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/process_buckets.hpp rename to barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/process_buckets.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/runtime_states.cpp b/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/runtime_states.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/runtime_states.cpp rename to barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/runtime_states.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/runtime_states.hpp b/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/runtime_states.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/runtime_states.hpp rename to barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/runtime_states.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.cpp b/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.cpp rename to barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.hpp b/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.hpp rename to barretenberg/cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/serialize.test.cpp b/barretenberg/cpp/src/barretenberg/ecc/serialize.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/ecc/serialize.test.cpp rename to barretenberg/cpp/src/barretenberg/ecc/serialize.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/env/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/env/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/env/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/env/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/env/data_store.cpp b/barretenberg/cpp/src/barretenberg/env/data_store.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/env/data_store.cpp rename to barretenberg/cpp/src/barretenberg/env/data_store.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/env/data_store.hpp b/barretenberg/cpp/src/barretenberg/env/data_store.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/env/data_store.hpp rename to barretenberg/cpp/src/barretenberg/env/data_store.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/env/hardware_concurrency.cpp b/barretenberg/cpp/src/barretenberg/env/hardware_concurrency.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/env/hardware_concurrency.cpp rename to barretenberg/cpp/src/barretenberg/env/hardware_concurrency.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/env/hardware_concurrency.hpp b/barretenberg/cpp/src/barretenberg/env/hardware_concurrency.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/env/hardware_concurrency.hpp rename to barretenberg/cpp/src/barretenberg/env/hardware_concurrency.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/env/logstr.cpp b/barretenberg/cpp/src/barretenberg/env/logstr.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/env/logstr.cpp rename to barretenberg/cpp/src/barretenberg/env/logstr.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/env/logstr.hpp b/barretenberg/cpp/src/barretenberg/env/logstr.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/env/logstr.hpp rename to barretenberg/cpp/src/barretenberg/env/logstr.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/examples/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/examples/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/examples/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/examples/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/examples/c_bind.cpp b/barretenberg/cpp/src/barretenberg/examples/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/examples/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/examples/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/examples/c_bind.hpp b/barretenberg/cpp/src/barretenberg/examples/c_bind.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/examples/c_bind.hpp rename to barretenberg/cpp/src/barretenberg/examples/c_bind.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/examples/simple/simple.cpp b/barretenberg/cpp/src/barretenberg/examples/simple/simple.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/examples/simple/simple.cpp rename to barretenberg/cpp/src/barretenberg/examples/simple/simple.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/examples/simple/simple.hpp b/barretenberg/cpp/src/barretenberg/examples/simple/simple.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/examples/simple/simple.hpp rename to barretenberg/cpp/src/barretenberg/examples/simple/simple.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/examples/simple/simple.test.cpp b/barretenberg/cpp/src/barretenberg/examples/simple/simple.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/examples/simple/simple.test.cpp rename to barretenberg/cpp/src/barretenberg/examples/simple/simple.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/grumpkin_srs_gen/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/grumpkin_srs_gen/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/grumpkin_srs_gen/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/grumpkin_srs_gen/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/grumpkin_srs_gen/grumpkin_srs_gen.cpp b/barretenberg/cpp/src/barretenberg/grumpkin_srs_gen/grumpkin_srs_gen.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/grumpkin_srs_gen/grumpkin_srs_gen.cpp rename to barretenberg/cpp/src/barretenberg/grumpkin_srs_gen/grumpkin_srs_gen.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/honk/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/honk/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/goblin_ultra_composer.test.cpp b/barretenberg/cpp/src/barretenberg/honk/composer/goblin_ultra_composer.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/goblin_ultra_composer.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/composer/goblin_ultra_composer.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.cpp b/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.cpp rename to barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.hpp b/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.hpp rename to barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp b/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp rename to barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp rename to barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/flavor.test.cpp b/barretenberg/cpp/src/barretenberg/honk/flavor/flavor.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/flavor.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/flavor/flavor.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/goblin_ultra.hpp b/barretenberg/cpp/src/barretenberg/honk/flavor/goblin_ultra.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/goblin_ultra.hpp rename to barretenberg/cpp/src/barretenberg/honk/flavor/goblin_ultra.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/standard.hpp b/barretenberg/cpp/src/barretenberg/honk/flavor/standard.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/standard.hpp rename to barretenberg/cpp/src/barretenberg/honk/flavor/standard.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/standard_grumpkin.hpp b/barretenberg/cpp/src/barretenberg/honk/flavor/standard_grumpkin.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/standard_grumpkin.hpp rename to barretenberg/cpp/src/barretenberg/honk/flavor/standard_grumpkin.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp b/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp rename to barretenberg/cpp/src/barretenberg/honk/flavor/ultra.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra_grumpkin.hpp b/barretenberg/cpp/src/barretenberg/honk/flavor/ultra_grumpkin.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra_grumpkin.hpp rename to barretenberg/cpp/src/barretenberg/honk/flavor/ultra_grumpkin.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra_recursive.hpp b/barretenberg/cpp/src/barretenberg/honk/flavor/ultra_recursive.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/flavor/ultra_recursive.hpp rename to barretenberg/cpp/src/barretenberg/honk/flavor/ultra_recursive.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp b/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp rename to barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp rename to barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp b/barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp b/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp rename to barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/claim.hpp b/barretenberg/cpp/src/barretenberg/honk/pcs/claim.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/claim.hpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/claim.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/commitment_key.hpp b/barretenberg/cpp/src/barretenberg/honk/pcs/commitment_key.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/commitment_key.hpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/commitment_key.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/commitment_key.test.hpp b/barretenberg/cpp/src/barretenberg/honk/pcs/commitment_key.test.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/commitment_key.test.hpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/commitment_key.test.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.cpp b/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.cpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.hpp b/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.hpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.test.cpp b/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/gemini/gemini.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp b/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.test.cpp b/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/ipa/ipa.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/kzg/kzg.hpp b/barretenberg/cpp/src/barretenberg/honk/pcs/kzg/kzg.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/kzg/kzg.hpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/kzg/kzg.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/kzg/kzg.test.cpp b/barretenberg/cpp/src/barretenberg/honk/pcs/kzg/kzg.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/kzg/kzg.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/kzg/kzg.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/shplonk/shplonk.hpp b/barretenberg/cpp/src/barretenberg/honk/pcs/shplonk/shplonk.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/shplonk/shplonk.hpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/shplonk/shplonk.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/shplonk/shplonk.test.cpp b/barretenberg/cpp/src/barretenberg/honk/pcs/shplonk/shplonk.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/shplonk/shplonk.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/shplonk/shplonk.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/verification_key.hpp b/barretenberg/cpp/src/barretenberg/honk/pcs/verification_key.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/verification_key.hpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/verification_key.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/wrapper.hpp b/barretenberg/cpp/src/barretenberg/honk/pcs/wrapper.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/pcs/wrapper.hpp rename to barretenberg/cpp/src/barretenberg/honk/pcs/wrapper.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/composer_lib.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/composer_lib.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/composer_lib.hpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/composer_lib.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.hpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.test.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.hpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_verifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.cpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.hpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/verifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/work_queue.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/work_queue.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/proof_system/work_queue.hpp rename to barretenberg/cpp/src/barretenberg/honk/proof_system/work_queue.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/partial_evaluation.test.cpp b/barretenberg/cpp/src/barretenberg/honk/sumcheck/partial_evaluation.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/partial_evaluation.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/sumcheck/partial_evaluation.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp b/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.hpp b/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.hpp rename to barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp b/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck_output.hpp b/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck_output.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck_output.hpp rename to barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck_output.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck_round.hpp b/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck_round.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck_round.hpp rename to barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck_round.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck_round.test.cpp b/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck_round.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck_round.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck_round.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.hpp b/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.hpp rename to barretenberg/cpp/src/barretenberg/honk/transcript/transcript.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp b/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/utils/grand_product_delta.hpp b/barretenberg/cpp/src/barretenberg/honk/utils/grand_product_delta.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/utils/grand_product_delta.hpp rename to barretenberg/cpp/src/barretenberg/honk/utils/grand_product_delta.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/utils/power_polynomial.hpp b/barretenberg/cpp/src/barretenberg/honk/utils/power_polynomial.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/utils/power_polynomial.hpp rename to barretenberg/cpp/src/barretenberg/honk/utils/power_polynomial.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/honk/utils/power_polynomial.test.cpp b/barretenberg/cpp/src/barretenberg/honk/utils/power_polynomial.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/honk/utils/power_polynomial.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/utils/power_polynomial.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/join_split_example/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/join_split_example/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/constants.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/constants.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/constants.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/constants.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/fixtures/user_context.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/fixtures/user_context.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/fixtures/user_context.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/fixtures/user_context.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/compute_circuit_data.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/compute_circuit_data.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/compute_circuit_data.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/compute_circuit_data.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.test.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.test.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/inner_proof_data/inner_proof_data.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/c_bind.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/c_bind.h b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/c_bind.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/c_bind.h rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/c_bind.h diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_circuit_data.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_circuit_data.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_circuit_data.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_circuit_data.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_circuit_data.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_circuit_data.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_circuit_data.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_circuit_data.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_signing_data.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_signing_data.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_signing_data.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_signing_data.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_signing_data.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_signing_data.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_signing_data.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/compute_signing_data.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/create_proof.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/create_proof.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/create_proof.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/create_proof.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/index.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/index.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/index.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/index.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.test.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.test.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_circuit.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_circuit.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_circuit.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_circuit.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_circuit.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_circuit.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_circuit.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_circuit.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_js_parity.test.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_js_parity.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_js_parity.test.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_js_parity.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.test.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.test.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/join_split_tx.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/sign_join_split_tx.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/sign_join_split_tx.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/sign_join_split_tx.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/sign_join_split_tx.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/sign_join_split_tx.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/sign_join_split_tx.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/sign_join_split_tx.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/sign_join_split_tx.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/verify_signature.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/verify_signature.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/verify_signature.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/join_split/verify_signature.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/mock/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/mock/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/mock/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/mock/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/mock/mock_circuit.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/mock/mock_circuit.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/mock/mock_circuit.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/mock/mock_circuit.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/mock/mock_circuit.test.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/mock/mock_circuit.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/mock/mock_circuit.test.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/mock/mock_circuit.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/account_note.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/account_note.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/account_note.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/account_note.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/commit.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/commit.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/commit.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/commit.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/index.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/index.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/index.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/account/index.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/asset_id.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/asset_id.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/asset_id.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/asset_id.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/asset_id.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/asset_id.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/asset_id.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/asset_id.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/bridge_call_data.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/bridge_call_data.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/bridge_call_data.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/bridge_call_data.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/claim_note.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/claim_note.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/claim_note.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/claim_note.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/complete_partial_commitment.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/complete_partial_commitment.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/complete_partial_commitment.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/complete_partial_commitment.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/compute_nullifier.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/compute_nullifier.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/compute_nullifier.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/compute_nullifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/create_partial_commitment.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/create_partial_commitment.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/create_partial_commitment.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/create_partial_commitment.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/index.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/index.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/index.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/index.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/witness_data.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/witness_data.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/witness_data.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/claim/witness_data.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/index.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/index.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/index.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/index.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/commit.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/commit.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/commit.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/commit.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/complete_partial_commitment.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/complete_partial_commitment.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/complete_partial_commitment.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/complete_partial_commitment.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.test.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.test.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/compute_nullifier.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/create_partial_commitment.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/create_partial_commitment.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/create_partial_commitment.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/create_partial_commitment.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/index.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/index.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/index.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/index.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/value_note.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/value_note.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/value_note.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/value_note.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/value_note.test.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/value_note.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/value_note.test.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/value_note.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/witness_data.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/witness_data.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/witness_data.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/circuit/value/witness_data.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/constants.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/constants.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/constants.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/constants.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/account_note.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/account_note.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/account_note.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/account_note.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/account_note.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/account_note.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/account_note.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/account_note.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/compute_account_alias_hash_nullifier.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/compute_account_alias_hash_nullifier.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/compute_account_alias_hash_nullifier.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/compute_account_alias_hash_nullifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/compute_account_public_key_nullifier.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/compute_account_public_key_nullifier.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/compute_account_public_key_nullifier.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/compute_account_public_key_nullifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/index.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/index.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/index.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/account/index.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/asset_id.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/asset_id.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/asset_id.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/asset_id.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/asset_id.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/asset_id.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/asset_id.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/asset_id.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/bridge_call_data.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/bridge_call_data.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/bridge_call_data.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/bridge_call_data.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/claim_note.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/claim_note.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/claim_note.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/claim_note.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/claim_note_tx_data.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/claim_note_tx_data.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/claim_note_tx_data.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/claim_note_tx_data.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/complete_partial_commitment.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/complete_partial_commitment.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/complete_partial_commitment.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/complete_partial_commitment.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/compute_nullifier.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/compute_nullifier.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/compute_nullifier.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/compute_nullifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/create_partial_commitment.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/create_partial_commitment.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/create_partial_commitment.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/create_partial_commitment.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/index.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/index.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/index.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/claim/index.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/index.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/index.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/index.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/index.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/complete_partial_commitment.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/complete_partial_commitment.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/complete_partial_commitment.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/complete_partial_commitment.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/compute_nullifier.cpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/compute_nullifier.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/compute_nullifier.cpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/compute_nullifier.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/compute_nullifier.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/compute_nullifier.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/compute_nullifier.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/compute_nullifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/create_partial_commitment.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/create_partial_commitment.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/create_partial_commitment.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/create_partial_commitment.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/index.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/index.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/index.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/index.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/value_note.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/value_note.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/value_note.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/notes/native/value/value_note.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/verify.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/proofs/verify.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/proofs/verify.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/proofs/verify.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/types.hpp b/barretenberg/cpp/src/barretenberg/join_split_example/types.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/join_split_example/types.hpp rename to barretenberg/cpp/src/barretenberg/join_split_example/types.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/numeric/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/numeric/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/bitop.bench.cpp b/barretenberg/cpp/src/barretenberg/numeric/bitop/bitop.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/bitop.bench.cpp rename to barretenberg/cpp/src/barretenberg/numeric/bitop/bitop.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/count_leading_zeros.hpp b/barretenberg/cpp/src/barretenberg/numeric/bitop/count_leading_zeros.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/count_leading_zeros.hpp rename to barretenberg/cpp/src/barretenberg/numeric/bitop/count_leading_zeros.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/count_leading_zeros.test.cpp b/barretenberg/cpp/src/barretenberg/numeric/bitop/count_leading_zeros.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/count_leading_zeros.test.cpp rename to barretenberg/cpp/src/barretenberg/numeric/bitop/count_leading_zeros.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/get_msb.hpp b/barretenberg/cpp/src/barretenberg/numeric/bitop/get_msb.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/get_msb.hpp rename to barretenberg/cpp/src/barretenberg/numeric/bitop/get_msb.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/get_msb.test.cpp b/barretenberg/cpp/src/barretenberg/numeric/bitop/get_msb.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/get_msb.test.cpp rename to barretenberg/cpp/src/barretenberg/numeric/bitop/get_msb.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/keep_n_lsb.hpp b/barretenberg/cpp/src/barretenberg/numeric/bitop/keep_n_lsb.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/keep_n_lsb.hpp rename to barretenberg/cpp/src/barretenberg/numeric/bitop/keep_n_lsb.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/pow.hpp b/barretenberg/cpp/src/barretenberg/numeric/bitop/pow.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/pow.hpp rename to barretenberg/cpp/src/barretenberg/numeric/bitop/pow.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/rotate.hpp b/barretenberg/cpp/src/barretenberg/numeric/bitop/rotate.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/rotate.hpp rename to barretenberg/cpp/src/barretenberg/numeric/bitop/rotate.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/sparse_form.hpp b/barretenberg/cpp/src/barretenberg/numeric/bitop/sparse_form.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/bitop/sparse_form.hpp rename to barretenberg/cpp/src/barretenberg/numeric/bitop/sparse_form.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/random/engine.cpp b/barretenberg/cpp/src/barretenberg/numeric/random/engine.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/random/engine.cpp rename to barretenberg/cpp/src/barretenberg/numeric/random/engine.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/random/engine.hpp b/barretenberg/cpp/src/barretenberg/numeric/random/engine.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/random/engine.hpp rename to barretenberg/cpp/src/barretenberg/numeric/random/engine.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/random/engine.test.cpp b/barretenberg/cpp/src/barretenberg/numeric/random/engine.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/random/engine.test.cpp rename to barretenberg/cpp/src/barretenberg/numeric/random/engine.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uint128/uint128.hpp b/barretenberg/cpp/src/barretenberg/numeric/uint128/uint128.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uint128/uint128.hpp rename to barretenberg/cpp/src/barretenberg/numeric/uint128/uint128.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uint128/uint128.test.cpp b/barretenberg/cpp/src/barretenberg/numeric/uint128/uint128.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uint128/uint128.test.cpp rename to barretenberg/cpp/src/barretenberg/numeric/uint128/uint128.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uint128/uint128_impl.hpp b/barretenberg/cpp/src/barretenberg/numeric/uint128/uint128_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uint128/uint128_impl.hpp rename to barretenberg/cpp/src/barretenberg/numeric/uint128/uint128_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uint256/uint256.hpp b/barretenberg/cpp/src/barretenberg/numeric/uint256/uint256.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uint256/uint256.hpp rename to barretenberg/cpp/src/barretenberg/numeric/uint256/uint256.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uint256/uint256.test.cpp b/barretenberg/cpp/src/barretenberg/numeric/uint256/uint256.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uint256/uint256.test.cpp rename to barretenberg/cpp/src/barretenberg/numeric/uint256/uint256.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uint256/uint256_impl.hpp b/barretenberg/cpp/src/barretenberg/numeric/uint256/uint256_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uint256/uint256_impl.hpp rename to barretenberg/cpp/src/barretenberg/numeric/uint256/uint256_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uintx/uintx.hpp b/barretenberg/cpp/src/barretenberg/numeric/uintx/uintx.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uintx/uintx.hpp rename to barretenberg/cpp/src/barretenberg/numeric/uintx/uintx.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uintx/uintx.test.cpp b/barretenberg/cpp/src/barretenberg/numeric/uintx/uintx.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uintx/uintx.test.cpp rename to barretenberg/cpp/src/barretenberg/numeric/uintx/uintx.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uintx/uintx_impl.hpp b/barretenberg/cpp/src/barretenberg/numeric/uintx/uintx_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/numeric/uintx/uintx_impl.hpp rename to barretenberg/cpp/src/barretenberg/numeric/uintx/uintx_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/plonk/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/plonk/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/composer_lib.cpp b/barretenberg/cpp/src/barretenberg/plonk/composer/composer_lib.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/composer_lib.cpp rename to barretenberg/cpp/src/barretenberg/plonk/composer/composer_lib.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/composer_lib.hpp b/barretenberg/cpp/src/barretenberg/plonk/composer/composer_lib.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/composer_lib.hpp rename to barretenberg/cpp/src/barretenberg/plonk/composer/composer_lib.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/standard_composer.cpp b/barretenberg/cpp/src/barretenberg/plonk/composer/standard_composer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/standard_composer.cpp rename to barretenberg/cpp/src/barretenberg/plonk/composer/standard_composer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/standard_composer.hpp b/barretenberg/cpp/src/barretenberg/plonk/composer/standard_composer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/standard_composer.hpp rename to barretenberg/cpp/src/barretenberg/plonk/composer/standard_composer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/standard_composer.test.cpp b/barretenberg/cpp/src/barretenberg/plonk/composer/standard_composer.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/standard_composer.test.cpp rename to barretenberg/cpp/src/barretenberg/plonk/composer/standard_composer.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/turbo_composer.cpp b/barretenberg/cpp/src/barretenberg/plonk/composer/turbo_composer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/turbo_composer.cpp rename to barretenberg/cpp/src/barretenberg/plonk/composer/turbo_composer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/turbo_composer.hpp b/barretenberg/cpp/src/barretenberg/plonk/composer/turbo_composer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/turbo_composer.hpp rename to barretenberg/cpp/src/barretenberg/plonk/composer/turbo_composer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/turbo_composer.test.cpp b/barretenberg/cpp/src/barretenberg/plonk/composer/turbo_composer.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/turbo_composer.test.cpp rename to barretenberg/cpp/src/barretenberg/plonk/composer/turbo_composer.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/ultra_composer.cpp b/barretenberg/cpp/src/barretenberg/plonk/composer/ultra_composer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/ultra_composer.cpp rename to barretenberg/cpp/src/barretenberg/plonk/composer/ultra_composer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/ultra_composer.hpp b/barretenberg/cpp/src/barretenberg/plonk/composer/ultra_composer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/ultra_composer.hpp rename to barretenberg/cpp/src/barretenberg/plonk/composer/ultra_composer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/ultra_composer.test.cpp b/barretenberg/cpp/src/barretenberg/plonk/composer/ultra_composer.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/composer/ultra_composer.test.cpp rename to barretenberg/cpp/src/barretenberg/plonk/composer/ultra_composer.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/flavor/flavor.hpp b/barretenberg/cpp/src/barretenberg/plonk/flavor/flavor.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/flavor/flavor.hpp rename to barretenberg/cpp/src/barretenberg/plonk/flavor/flavor.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/commitment_scheme.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/commitment_scheme.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/commitment_scheme.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/commitment_scheme.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/commitment_scheme.test.cpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/commitment_scheme.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/commitment_scheme.test.cpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/commitment_scheme.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/kate_commitment_scheme.cpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/kate_commitment_scheme.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/kate_commitment_scheme.cpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/kate_commitment_scheme.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/kate_commitment_scheme.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/kate_commitment_scheme.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/kate_commitment_scheme.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/commitment_scheme/kate_commitment_scheme.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/constants.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/constants.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/constants.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/constants.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/c_bind.cpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/prover.cpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/prover.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/prover.cpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/prover.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/prover.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/prover.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/prover.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/prover.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/prover.test.cpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/prover.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/prover.test.cpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/prover/prover.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.cpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.cpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.test.cpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.test.cpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/proving_key.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/serialize.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/serialize.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/serialize.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/proving_key/serialize.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs.test.cpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs.test.cpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs_impl.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs_impl.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/public_inputs/public_inputs_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/commitment_open_proof.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/commitment_open_proof.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/commitment_open_proof.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/types/commitment_open_proof.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/polynomial_manifest.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/polynomial_manifest.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/polynomial_manifest.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/types/polynomial_manifest.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/program_settings.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/program_settings.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/program_settings.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/types/program_settings.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/proof.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/proof.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/proof.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/types/proof.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/prover_settings.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/prover_settings.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/types/prover_settings.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/types/prover_settings.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/utils/generalized_permutation.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/utils/generalized_permutation.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/utils/generalized_permutation.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/utils/generalized_permutation.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/utils/kate_verification.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/utils/kate_verification.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/utils/kate_verification.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/utils/kate_verification.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/utils/permutation.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/utils/permutation.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/utils/permutation.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/utils/permutation.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/sol_gen.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/sol_gen.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/sol_gen.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/sol_gen.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.cpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.cpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.test.cpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.test.cpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/verification_key/verification_key.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.cpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.cpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.test.cpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.test.cpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/verifier/verifier.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/permutation_widget.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/permutation_widget.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/permutation_widget.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/permutation_widget.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/permutation_widget_impl.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/permutation_widget_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/permutation_widget_impl.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/permutation_widget_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/plookup_widget.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/plookup_widget.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/plookup_widget.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/plookup_widget.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/plookup_widget_impl.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/plookup_widget_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/plookup_widget_impl.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/plookup_widget_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/random_widget.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/random_widget.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/random_widget.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/random_widgets/random_widget.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/arithmetic_widget.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/arithmetic_widget.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/arithmetic_widget.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/arithmetic_widget.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/elliptic_widget.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/elliptic_widget.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/elliptic_widget.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/elliptic_widget.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/fixed_base_widget.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/fixed_base_widget.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/fixed_base_widget.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/fixed_base_widget.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/genperm_sort_widget.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/genperm_sort_widget.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/genperm_sort_widget.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/genperm_sort_widget.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/plookup_arithmetic_widget.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/plookup_arithmetic_widget.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/plookup_arithmetic_widget.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/plookup_arithmetic_widget.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/plookup_auxiliary_widget.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/plookup_auxiliary_widget.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/plookup_auxiliary_widget.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/plookup_auxiliary_widget.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/transition_widget.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/transition_widget.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/transition_widget.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/transition_widget.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_arithmetic_widget.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_arithmetic_widget.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_arithmetic_widget.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_arithmetic_widget.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_logic_widget.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_logic_widget.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_logic_widget.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_logic_widget.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_range_widget.hpp b/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_range_widget.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_range_widget.hpp rename to barretenberg/cpp/src/barretenberg/plonk/proof_system/widgets/transition_widgets/turbo_range_widget.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/polynomials/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/polynomials/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/barycentric.hpp b/barretenberg/cpp/src/barretenberg/polynomials/barycentric.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/barycentric.hpp rename to barretenberg/cpp/src/barretenberg/polynomials/barycentric.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/barycentric.test.cpp b/barretenberg/cpp/src/barretenberg/polynomials/barycentric.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/barycentric.test.cpp rename to barretenberg/cpp/src/barretenberg/polynomials/barycentric.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/evaluation_domain.cpp b/barretenberg/cpp/src/barretenberg/polynomials/evaluation_domain.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/evaluation_domain.cpp rename to barretenberg/cpp/src/barretenberg/polynomials/evaluation_domain.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/evaluation_domain.hpp b/barretenberg/cpp/src/barretenberg/polynomials/evaluation_domain.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/evaluation_domain.hpp rename to barretenberg/cpp/src/barretenberg/polynomials/evaluation_domain.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/iterate_over_domain.hpp b/barretenberg/cpp/src/barretenberg/polynomials/iterate_over_domain.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/iterate_over_domain.hpp rename to barretenberg/cpp/src/barretenberg/polynomials/iterate_over_domain.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/polynomial.cpp b/barretenberg/cpp/src/barretenberg/polynomials/polynomial.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/polynomial.cpp rename to barretenberg/cpp/src/barretenberg/polynomials/polynomial.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/polynomial.hpp b/barretenberg/cpp/src/barretenberg/polynomials/polynomial.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/polynomial.hpp rename to barretenberg/cpp/src/barretenberg/polynomials/polynomial.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/polynomial_arithmetic.cpp b/barretenberg/cpp/src/barretenberg/polynomials/polynomial_arithmetic.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/polynomial_arithmetic.cpp rename to barretenberg/cpp/src/barretenberg/polynomials/polynomial_arithmetic.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/polynomial_arithmetic.hpp b/barretenberg/cpp/src/barretenberg/polynomials/polynomial_arithmetic.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/polynomial_arithmetic.hpp rename to barretenberg/cpp/src/barretenberg/polynomials/polynomial_arithmetic.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/polynomial_arithmetic.test.cpp b/barretenberg/cpp/src/barretenberg/polynomials/polynomial_arithmetic.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/polynomial_arithmetic.test.cpp rename to barretenberg/cpp/src/barretenberg/polynomials/polynomial_arithmetic.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/polynomials.bench.cpp b/barretenberg/cpp/src/barretenberg/polynomials/polynomials.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/polynomials.bench.cpp rename to barretenberg/cpp/src/barretenberg/polynomials/polynomials.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/pow.hpp b/barretenberg/cpp/src/barretenberg/polynomials/pow.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/pow.hpp rename to barretenberg/cpp/src/barretenberg/polynomials/pow.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/pow.test.cpp b/barretenberg/cpp/src/barretenberg/polynomials/pow.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/pow.test.cpp rename to barretenberg/cpp/src/barretenberg/polynomials/pow.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/serialize.hpp b/barretenberg/cpp/src/barretenberg/polynomials/serialize.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/serialize.hpp rename to barretenberg/cpp/src/barretenberg/polynomials/serialize.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/univariate.hpp b/barretenberg/cpp/src/barretenberg/polynomials/univariate.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/univariate.hpp rename to barretenberg/cpp/src/barretenberg/polynomials/univariate.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/univariate.test.cpp b/barretenberg/cpp/src/barretenberg/polynomials/univariate.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/polynomials/univariate.test.cpp rename to barretenberg/cpp/src/barretenberg/polynomials/univariate.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/proof_system/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/proof_system/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/arithmetization/arithmetization.hpp b/barretenberg/cpp/src/barretenberg/proof_system/arithmetization/arithmetization.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/arithmetization/arithmetization.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/arithmetization/arithmetization.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/arithmetization/gate_data.hpp b/barretenberg/cpp/src/barretenberg/proof_system/arithmetization/gate_data.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/arithmetization/gate_data.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/arithmetization/gate_data.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/circuit_builder_base.cpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/circuit_builder_base.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/circuit_builder_base.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/circuit_builder_base.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/circuit_builder_base.hpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/circuit_builder_base.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/circuit_builder_base.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/circuit_builder_base.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.cpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.hpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.test.cpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.test.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_circuit_builder.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_mini.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_mini.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_mini.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_translator_mini.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_ultra_circuit_builder.test.cpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_ultra_circuit_builder.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_ultra_circuit_builder.test.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/goblin_ultra_circuit_builder.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.cpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.hpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.test.cpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.test.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/standard_circuit_builder.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.cpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.hpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.test.cpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.test.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/turbo_circuit_builder.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.cpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.test.cpp b/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.test.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/ultra_circuit_builder.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/composer/composer_lib.hpp b/barretenberg/cpp/src/barretenberg/proof_system/composer/composer_lib.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/composer/composer_lib.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/composer/composer_lib.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/composer/composer_lib.test.cpp b/barretenberg/cpp/src/barretenberg/proof_system/composer/composer_lib.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/composer/composer_lib.test.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/composer/composer_lib.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/composer/permutation_lib.hpp b/barretenberg/cpp/src/barretenberg/proof_system/composer/permutation_lib.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/composer/permutation_lib.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/composer/permutation_lib.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/composer/permutation_lib.test.cpp b/barretenberg/cpp/src/barretenberg/proof_system/composer/permutation_lib.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/composer/permutation_lib.test.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/composer/permutation_lib.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/flavor/flavor.hpp b/barretenberg/cpp/src/barretenberg/proof_system/flavor/flavor.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/flavor/flavor.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/flavor/flavor.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/op_queue/ecc_op_queue.hpp b/barretenberg/cpp/src/barretenberg/proof_system/op_queue/ecc_op_queue.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/op_queue/ecc_op_queue.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/op_queue/ecc_op_queue.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/op_queue/ecc_op_queue.test.cpp b/barretenberg/cpp/src/barretenberg/proof_system/op_queue/ecc_op_queue.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/op_queue/ecc_op_queue.test.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/op_queue/ecc_op_queue.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/aes128.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/aes128.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/aes128.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/aes128.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/blake2s.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/blake2s.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/blake2s.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/blake2s.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/dummy.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/dummy.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/dummy.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/dummy.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_chi.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_chi.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_chi.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_chi.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_input.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_input.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_input.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_input.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_output.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_output.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_output.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_output.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_rho.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_rho.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_rho.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_rho.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_theta.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_theta.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_theta.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/keccak/keccak_theta.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/non_native_group_generator.cpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/non_native_group_generator.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/non_native_group_generator.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/non_native_group_generator.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/non_native_group_generator.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/non_native_group_generator.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/non_native_group_generator.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/non_native_group_generator.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/pedersen.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/pedersen.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/pedersen.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/pedersen.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/plookup_tables.cpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/plookup_tables.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/plookup_tables.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/plookup_tables.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/plookup_tables.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/plookup_tables.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/plookup_tables.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/plookup_tables.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/sha256.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/sha256.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/sha256.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/sha256.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/sparse.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/sparse.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/sparse.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/sparse.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/types.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/types.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/types.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/types.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/uint.hpp b/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/uint.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/uint.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/plookup_tables/uint.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.cpp b/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.hpp b/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.test.cpp b/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.test.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_cache.cpp b/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_cache.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_cache.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_cache.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_cache.hpp b/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_cache.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_cache.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_cache.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_wasm.cpp b/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_wasm.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_wasm.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_wasm.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_wasm.hpp b/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_wasm.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_wasm.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/polynomial_store/polynomial_store_wasm.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/arithmetic_relation.hpp b/barretenberg/cpp/src/barretenberg/proof_system/relations/arithmetic_relation.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/arithmetic_relation.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/relations/arithmetic_relation.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/auxiliary_relation.hpp b/barretenberg/cpp/src/barretenberg/proof_system/relations/auxiliary_relation.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/auxiliary_relation.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/relations/auxiliary_relation.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/ecc_op_queue_relation.hpp b/barretenberg/cpp/src/barretenberg/proof_system/relations/ecc_op_queue_relation.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/ecc_op_queue_relation.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/relations/ecc_op_queue_relation.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/elliptic_relation.hpp b/barretenberg/cpp/src/barretenberg/proof_system/relations/elliptic_relation.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/elliptic_relation.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/relations/elliptic_relation.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/gen_perm_sort_relation.hpp b/barretenberg/cpp/src/barretenberg/proof_system/relations/gen_perm_sort_relation.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/gen_perm_sort_relation.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/relations/gen_perm_sort_relation.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/lookup_relation.hpp b/barretenberg/cpp/src/barretenberg/proof_system/relations/lookup_relation.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/lookup_relation.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/relations/lookup_relation.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/permutation_relation.hpp b/barretenberg/cpp/src/barretenberg/proof_system/relations/permutation_relation.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/permutation_relation.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/relations/permutation_relation.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/relation_parameters.hpp b/barretenberg/cpp/src/barretenberg/proof_system/relations/relation_parameters.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/relation_parameters.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/relations/relation_parameters.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/relation_types.hpp b/barretenberg/cpp/src/barretenberg/proof_system/relations/relation_types.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/relation_types.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/relations/relation_types.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/standard_relation_consistency.test.cpp b/barretenberg/cpp/src/barretenberg/proof_system/relations/standard_relation_consistency.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/standard_relation_consistency.test.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/relations/standard_relation_consistency.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/ultra_arithmetic_relation.hpp b/barretenberg/cpp/src/barretenberg/proof_system/relations/ultra_arithmetic_relation.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/ultra_arithmetic_relation.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/relations/ultra_arithmetic_relation.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/ultra_relation_consistency.test.cpp b/barretenberg/cpp/src/barretenberg/proof_system/relations/ultra_relation_consistency.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/relations/ultra_relation_consistency.test.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/relations/ultra_relation_consistency.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/types/circuit_type.hpp b/barretenberg/cpp/src/barretenberg/proof_system/types/circuit_type.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/types/circuit_type.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/types/circuit_type.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/types/merkle_hash_type.hpp b/barretenberg/cpp/src/barretenberg/proof_system/types/merkle_hash_type.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/types/merkle_hash_type.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/types/merkle_hash_type.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/types/pedersen_commitment_type.hpp b/barretenberg/cpp/src/barretenberg/proof_system/types/pedersen_commitment_type.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/types/pedersen_commitment_type.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/types/pedersen_commitment_type.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/work_queue/work_queue.cpp b/barretenberg/cpp/src/barretenberg/proof_system/work_queue/work_queue.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/work_queue/work_queue.cpp rename to barretenberg/cpp/src/barretenberg/proof_system/work_queue/work_queue.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/work_queue/work_queue.hpp b/barretenberg/cpp/src/barretenberg/proof_system/work_queue/work_queue.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/proof_system/work_queue/work_queue.hpp rename to barretenberg/cpp/src/barretenberg/proof_system/work_queue/work_queue.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/serialize/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/serialize/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/cbind.hpp b/barretenberg/cpp/src/barretenberg/serialize/cbind.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/cbind.hpp rename to barretenberg/cpp/src/barretenberg/serialize/cbind.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/cbind_fwd.hpp b/barretenberg/cpp/src/barretenberg/serialize/cbind_fwd.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/cbind_fwd.hpp rename to barretenberg/cpp/src/barretenberg/serialize/cbind_fwd.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack.hpp b/barretenberg/cpp/src/barretenberg/serialize/msgpack.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack.hpp rename to barretenberg/cpp/src/barretenberg/serialize/msgpack.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_apply.hpp b/barretenberg/cpp/src/barretenberg/serialize/msgpack_apply.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_apply.hpp rename to barretenberg/cpp/src/barretenberg/serialize/msgpack_apply.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/check_memory_span.hpp b/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/check_memory_span.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/check_memory_span.hpp rename to barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/check_memory_span.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/concepts.hpp b/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/concepts.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/concepts.hpp rename to barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/concepts.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/drop_keys.hpp b/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/drop_keys.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/drop_keys.hpp rename to barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/drop_keys.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/func_traits.hpp b/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/func_traits.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/func_traits.hpp rename to barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/func_traits.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/msgpack_impl.hpp b/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/msgpack_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/msgpack_impl.hpp rename to barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/msgpack_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/name_value_pair_macro.hpp b/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/name_value_pair_macro.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/name_value_pair_macro.hpp rename to barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/name_value_pair_macro.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/schema_impl.hpp b/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/schema_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/schema_impl.hpp rename to barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/schema_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/schema_name.hpp b/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/schema_name.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/schema_name.hpp rename to barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/schema_name.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/struct_map_impl.hpp b/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/struct_map_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/struct_map_impl.hpp rename to barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/struct_map_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/variant_impl.hpp b/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/variant_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/variant_impl.hpp rename to barretenberg/cpp/src/barretenberg/serialize/msgpack_impl/variant_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_schema.test.cpp b/barretenberg/cpp/src/barretenberg/serialize/msgpack_schema.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/msgpack_schema.test.cpp rename to barretenberg/cpp/src/barretenberg/serialize/msgpack_schema.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/raw_pointer.hpp b/barretenberg/cpp/src/barretenberg/serialize/raw_pointer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/raw_pointer.hpp rename to barretenberg/cpp/src/barretenberg/serialize/raw_pointer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/test_helper.hpp b/barretenberg/cpp/src/barretenberg/serialize/test_helper.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/serialize/test_helper.hpp rename to barretenberg/cpp/src/barretenberg/serialize/test_helper.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/solidity_helpers/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/solidity_helpers/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/add_2_circuit.hpp b/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/add_2_circuit.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/add_2_circuit.hpp rename to barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/add_2_circuit.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/blake_circuit.hpp b/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/blake_circuit.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/blake_circuit.hpp rename to barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/blake_circuit.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/recursive_circuit.hpp b/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/recursive_circuit.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/recursive_circuit.hpp rename to barretenberg/cpp/src/barretenberg/solidity_helpers/circuits/recursive_circuit.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/key_gen.cpp b/barretenberg/cpp/src/barretenberg/solidity_helpers/key_gen.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/key_gen.cpp rename to barretenberg/cpp/src/barretenberg/solidity_helpers/key_gen.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/proof_gen.cpp b/barretenberg/cpp/src/barretenberg/solidity_helpers/proof_gen.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/proof_gen.cpp rename to barretenberg/cpp/src/barretenberg/solidity_helpers/proof_gen.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/utils/instance_sol_gen.hpp b/barretenberg/cpp/src/barretenberg/solidity_helpers/utils/instance_sol_gen.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/utils/instance_sol_gen.hpp rename to barretenberg/cpp/src/barretenberg/solidity_helpers/utils/instance_sol_gen.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/utils/utils.hpp b/barretenberg/cpp/src/barretenberg/solidity_helpers/utils/utils.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/solidity_helpers/utils/utils.hpp rename to barretenberg/cpp/src/barretenberg/solidity_helpers/utils/utils.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/srs/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/srs/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/c_bind.cpp b/barretenberg/cpp/src/barretenberg/srs/c_bind.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/c_bind.cpp rename to barretenberg/cpp/src/barretenberg/srs/c_bind.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/c_bind.hpp b/barretenberg/cpp/src/barretenberg/srs/c_bind.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/c_bind.hpp rename to barretenberg/cpp/src/barretenberg/srs/c_bind.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/factories/crs_factory.hpp b/barretenberg/cpp/src/barretenberg/srs/factories/crs_factory.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/factories/crs_factory.hpp rename to barretenberg/cpp/src/barretenberg/srs/factories/crs_factory.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/factories/file_crs_factory.cpp b/barretenberg/cpp/src/barretenberg/srs/factories/file_crs_factory.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/factories/file_crs_factory.cpp rename to barretenberg/cpp/src/barretenberg/srs/factories/file_crs_factory.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/factories/file_crs_factory.hpp b/barretenberg/cpp/src/barretenberg/srs/factories/file_crs_factory.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/factories/file_crs_factory.hpp rename to barretenberg/cpp/src/barretenberg/srs/factories/file_crs_factory.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/factories/mem_crs_factory.cpp b/barretenberg/cpp/src/barretenberg/srs/factories/mem_crs_factory.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/factories/mem_crs_factory.cpp rename to barretenberg/cpp/src/barretenberg/srs/factories/mem_crs_factory.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/factories/mem_crs_factory.hpp b/barretenberg/cpp/src/barretenberg/srs/factories/mem_crs_factory.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/factories/mem_crs_factory.hpp rename to barretenberg/cpp/src/barretenberg/srs/factories/mem_crs_factory.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/factories/mem_crs_factory.test.cpp b/barretenberg/cpp/src/barretenberg/srs/factories/mem_crs_factory.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/factories/mem_crs_factory.test.cpp rename to barretenberg/cpp/src/barretenberg/srs/factories/mem_crs_factory.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/global_crs.cpp b/barretenberg/cpp/src/barretenberg/srs/global_crs.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/global_crs.cpp rename to barretenberg/cpp/src/barretenberg/srs/global_crs.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/global_crs.hpp b/barretenberg/cpp/src/barretenberg/srs/global_crs.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/global_crs.hpp rename to barretenberg/cpp/src/barretenberg/srs/global_crs.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/io.hpp b/barretenberg/cpp/src/barretenberg/srs/io.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/io.hpp rename to barretenberg/cpp/src/barretenberg/srs/io.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/io.test.cpp b/barretenberg/cpp/src/barretenberg/srs/io.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/io.test.cpp rename to barretenberg/cpp/src/barretenberg/srs/io.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/srs/scalar_multiplication.test.cpp b/barretenberg/cpp/src/barretenberg/srs/scalar_multiplication.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/srs/scalar_multiplication.test.cpp rename to barretenberg/cpp/src/barretenberg/srs/scalar_multiplication.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/commitment/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/commitment/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.bench.cpp b/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.bench.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.cpp b/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.hpp b/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.cpp b/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.hpp b/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/commitment/pedersen/pedersen_plookup.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/encryption/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/encryption/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.cpp b/barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.hpp b/barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/encryption/aes128/aes128.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa.hpp b/barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa_impl.hpp b/barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa_impl.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/encryption/ecdsa/ecdsa_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.cpp b/barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.hpp b/barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/encryption/schnorr/schnorr.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/hash/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/hash/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/celer/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/celer/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/celer/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/celer/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/celer/sha256.bench.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/celer/sha256.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/celer/sha256.bench.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/celer/sha256.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/external/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/external/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/external/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/external/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/external/external.bench.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/external/external.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/external/external.bench.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/external/external.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/sha256/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/sha256/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/sha256/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/sha256/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/sha256/sha256.bench.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/sha256/sha256.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/sha256/sha256.bench.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/benchmarks/sha256/sha256.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.hpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s_plookup.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s_plookup.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s_plookup.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s_plookup.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s_plookup.hpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s_plookup.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s_plookup.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake2s_plookup.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake_util.hpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake_util.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake_util.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/blake2s/blake_util.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.hpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s_plookup.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s_plookup.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s_plookup.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s_plookup.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s_plookup.hpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s_plookup.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s_plookup.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/blake3s/blake3s_plookup.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/keccak.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/keccak.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/keccak.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/keccak.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/keccak.hpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/keccak.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/keccak.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/keccak.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/keccak.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/keccak.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/keccak.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/keccak/keccak.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen.hpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_gates.hpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_gates.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_gates.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_gates.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_plookup.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_plookup.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_plookup.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_plookup.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_plookup.hpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_plookup.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_plookup.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/pedersen/pedersen_plookup.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256.hpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256_plookup.cpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256_plookup.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256_plookup.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256_plookup.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256_plookup.hpp b/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256_plookup.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256_plookup.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/hash/sha256/sha256_plookup.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/hash.hpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/hash.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/hash.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/hash.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/hash.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/hash.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/hash.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/hash.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/hash_path.hpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/hash_path.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/hash_path.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/hash_path.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/index.hpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/index.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/index.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/index.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/membership.hpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/membership.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/membership.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/membership.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/membership.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/membership.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/membership.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/membership.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_store.hpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_store.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_store.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_store.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.cpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.hpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/memory_tree.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.bench.cpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.bench.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.bench.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.bench.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.cpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.hpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/merkle_tree.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_leaf.hpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_leaf.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_leaf.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_leaf.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.cpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.hpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_memory_tree.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.cpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.hpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/merkle_tree/nullifier_tree/nullifier_tree.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/primitives/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/address/address.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/address/address.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/address/address.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/address/address.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.fuzzer.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.fuzzer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.fuzzer.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.fuzzer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_all.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_all.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_all.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_all.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_standard.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_standard.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_standard.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_standard.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_turbo.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_turbo.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_turbo.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_turbo.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_batch_mul.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_batch_mul.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_batch_mul.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_batch_mul.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_bn254.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_bn254.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_bn254.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_bn254.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_impl.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_impl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_impl.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_impl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_secp256k1.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_secp256k1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_secp256k1.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_secp256k1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_tables.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_tables.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_tables.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_tables.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.fuzzer.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.fuzzer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.fuzzer.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.fuzzer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_all.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_all.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_all.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_all.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_standard.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_standard.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_standard.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_standard.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_turbo.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_turbo.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_turbo.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bit_array/bit_array_turbo.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.fuzzer.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.fuzzer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.fuzzer.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.fuzzer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool_all.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool_all.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool_all.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool_all.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool_standard.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool_standard.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool_standard.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool_standard.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool_turbo.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool_turbo.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool_turbo.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/bool/bool_turbo.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.fuzzer.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.fuzzer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.fuzzer.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.fuzzer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_all.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_all.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_all.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_all.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_standard.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_standard.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_standard.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_standard.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_turbo.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_turbo.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_turbo.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array_turbo.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/circuit_builders/circuit_builders.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/circuit_builders/circuit_builders.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/circuit_builders/circuit_builders.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/circuit_builders/circuit_builders.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/circuit_builders/circuit_builders_fwd.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/circuit_builders/circuit_builders_fwd.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/circuit_builders/circuit_builders_fwd.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/circuit_builders/circuit_builders_fwd.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/curves/bn254.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/curves/bn254.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/curves/bn254.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/curves/bn254.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/curves/secp256k1.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/curves/secp256k1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/curves/secp256k1.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/curves/secp256k1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/curves/secp256r1.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/curves/secp256r1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/curves/secp256r1.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/curves/secp256r1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/array.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/array.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/field/array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/array.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/array.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/array.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/field/array.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.fuzzer.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.fuzzer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.fuzzer.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.fuzzer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field_all.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field_all.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field_all.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field_all.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field_standard.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field_standard.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field_standard.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field_standard.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field_turbo.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field_turbo.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field_turbo.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field_turbo.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/group/group.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/group/group.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/group/group.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/group/group.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/group/group.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/group/group.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/group/group.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/group/group.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/logic/logic.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/logic/logic.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/logic/logic.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/logic/logic.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/logic/logic.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/logic/logic.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/logic/logic.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/logic/logic.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/logic/logic.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/logic/logic.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/logic/logic.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/logic/logic.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/dynamic_array.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/ram_table.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/rom_table.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/twin_rom_table.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/twin_rom_table.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/twin_rom_table.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/twin_rom_table.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/twin_rom_table.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/twin_rom_table.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/twin_rom_table.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/memory/twin_rom_table.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/packed_byte_array/packed_byte_array.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/plookup/plookup.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/point/point.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/point/point.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/point/point.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/point/point.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.fuzzer.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.fuzzer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.fuzzer.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.fuzzer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_all.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_all.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_all.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_all.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_standard.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_standard.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_standard.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_standard.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_turbo.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_turbo.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_turbo.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/safe_uint/safe_uint_turbo.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/arithmetic.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/arithmetic.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/arithmetic.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/arithmetic.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/comparison.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/comparison.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/comparison.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/comparison.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/logic.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/logic.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/logic.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/logic.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/arithmetic.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/arithmetic.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/arithmetic.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/arithmetic.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/comparison.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/comparison.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/comparison.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/comparison.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/logic.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/logic.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/logic.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/logic.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/uint.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/uint.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/uint.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/uint.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/uint.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/uint.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/uint.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/plookup/uint.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.fuzzer.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.fuzzer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.fuzzer.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.fuzzer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint_all.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint_all.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint_all.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint_all.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint_standard.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint_standard.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint_standard.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint_standard.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint_turbo.fuzzer.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint_turbo.fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint_turbo.fuzzer.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/uint/uint_turbo.fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/witness/witness.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/witness/witness.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/primitives/witness/witness.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/primitives/witness/witness.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/recursion/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/aggregation_state/aggregation_state.hpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/aggregation_state/aggregation_state.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/aggregation_state/aggregation_state.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/aggregation_state/aggregation_state.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/aggregation_state/native_aggregation_state.hpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/aggregation_state/native_aggregation_state.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/aggregation_state/native_aggregation_state.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/aggregation_state/native_aggregation_state.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/transcript/transcript.hpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/transcript/transcript.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/transcript/transcript.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/transcript/transcript.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/transcript/transcript.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/transcript/transcript.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/transcript/transcript.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/transcript/transcript.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.cpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.hpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/ultra_recursive_verifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/honk/verifier/verifier.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/transcript/transcript.hpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/transcript/transcript.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/transcript/transcript.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/transcript/transcript.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/transcript/transcript.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/transcript/transcript.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/transcript/transcript.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/transcript/transcript.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.hpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/program_settings.hpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/program_settings.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/program_settings.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/program_settings.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/verifier.hpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/verifier.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/verifier.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/verifier.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/verifier.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/verifier.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/verifier.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/verifier.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/verifier_turbo.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/verifier_turbo.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/verifier_turbo.test.cpp rename to barretenberg/cpp/src/barretenberg/stdlib/recursion/verifier/verifier_turbo.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/types/turbo.hpp b/barretenberg/cpp/src/barretenberg/stdlib/types/turbo.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/types/turbo.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/types/turbo.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/types/ultra.hpp b/barretenberg/cpp/src/barretenberg/stdlib/types/ultra.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/types/ultra.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/types/ultra.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/utility/utility.hpp b/barretenberg/cpp/src/barretenberg/stdlib/utility/utility.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/stdlib/utility/utility.hpp rename to barretenberg/cpp/src/barretenberg/stdlib/utility/utility.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/transcript/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/transcript/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/manifest.hpp b/barretenberg/cpp/src/barretenberg/transcript/manifest.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/manifest.hpp rename to barretenberg/cpp/src/barretenberg/transcript/manifest.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/transcript.cpp b/barretenberg/cpp/src/barretenberg/transcript/transcript.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/transcript.cpp rename to barretenberg/cpp/src/barretenberg/transcript/transcript.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/transcript.hpp b/barretenberg/cpp/src/barretenberg/transcript/transcript.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/transcript.hpp rename to barretenberg/cpp/src/barretenberg/transcript/transcript.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/transcript.test.cpp b/barretenberg/cpp/src/barretenberg/transcript/transcript.test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/transcript.test.cpp rename to barretenberg/cpp/src/barretenberg/transcript/transcript.test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/transcript_wrappers.cpp b/barretenberg/cpp/src/barretenberg/transcript/transcript_wrappers.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/transcript_wrappers.cpp rename to barretenberg/cpp/src/barretenberg/transcript/transcript_wrappers.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/transcript_wrappers.hpp b/barretenberg/cpp/src/barretenberg/transcript/transcript_wrappers.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/transcript/transcript_wrappers.hpp rename to barretenberg/cpp/src/barretenberg/transcript/transcript_wrappers.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/wasi/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/wasi/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/wasi/CMakeLists.txt rename to barretenberg/cpp/src/barretenberg/wasi/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/wasi/wasi_stubs.cpp b/barretenberg/cpp/src/barretenberg/wasi/wasi_stubs.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/wasi/wasi_stubs.cpp rename to barretenberg/cpp/src/barretenberg/wasi/wasi_stubs.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/barretenberg/wasi/wasm_init.cpp b/barretenberg/cpp/src/barretenberg/wasi/wasm_init.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/barretenberg/wasi/wasm_init.cpp rename to barretenberg/cpp/src/barretenberg/wasi/wasm_init.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/.clang-format b/barretenberg/cpp/src/msgpack-c/.clang-format similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/.clang-format rename to barretenberg/cpp/src/msgpack-c/.clang-format diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/.github/depends/boost.sh b/barretenberg/cpp/src/msgpack-c/.github/depends/boost.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/.github/depends/boost.sh rename to barretenberg/cpp/src/msgpack-c/.github/depends/boost.sh diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/.github/depends/zlib.sh b/barretenberg/cpp/src/msgpack-c/.github/depends/zlib.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/.github/depends/zlib.sh rename to barretenberg/cpp/src/msgpack-c/.github/depends/zlib.sh diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/.github/workflows/coverage.yml b/barretenberg/cpp/src/msgpack-c/.github/workflows/coverage.yml similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/.github/workflows/coverage.yml rename to barretenberg/cpp/src/msgpack-c/.github/workflows/coverage.yml diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/.github/workflows/gha.yml b/barretenberg/cpp/src/msgpack-c/.github/workflows/gha.yml similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/.github/workflows/gha.yml rename to barretenberg/cpp/src/msgpack-c/.github/workflows/gha.yml diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/.gitignore b/barretenberg/cpp/src/msgpack-c/.gitignore similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/.gitignore rename to barretenberg/cpp/src/msgpack-c/.gitignore diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/CHANGELOG.md b/barretenberg/cpp/src/msgpack-c/CHANGELOG.md similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/CHANGELOG.md rename to barretenberg/cpp/src/msgpack-c/CHANGELOG.md diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/CMakeLists.txt b/barretenberg/cpp/src/msgpack-c/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/CMakeLists.txt rename to barretenberg/cpp/src/msgpack-c/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/COPYING b/barretenberg/cpp/src/msgpack-c/COPYING similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/COPYING rename to barretenberg/cpp/src/msgpack-c/COPYING diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/Doxyfile b/barretenberg/cpp/src/msgpack-c/Doxyfile similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/Doxyfile rename to barretenberg/cpp/src/msgpack-c/Doxyfile diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/Files.cmake b/barretenberg/cpp/src/msgpack-c/Files.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/Files.cmake rename to barretenberg/cpp/src/msgpack-c/Files.cmake diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/LICENSE_1_0.txt b/barretenberg/cpp/src/msgpack-c/LICENSE_1_0.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/LICENSE_1_0.txt rename to barretenberg/cpp/src/msgpack-c/LICENSE_1_0.txt diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/NOTICE b/barretenberg/cpp/src/msgpack-c/NOTICE similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/NOTICE rename to barretenberg/cpp/src/msgpack-c/NOTICE diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/QUICKSTART-CPP.md b/barretenberg/cpp/src/msgpack-c/QUICKSTART-CPP.md similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/QUICKSTART-CPP.md rename to barretenberg/cpp/src/msgpack-c/QUICKSTART-CPP.md diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/README.md b/barretenberg/cpp/src/msgpack-c/README.md similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/README.md rename to barretenberg/cpp/src/msgpack-c/README.md diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/appveyor.yml b/barretenberg/cpp/src/msgpack-c/appveyor.yml similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/appveyor.yml rename to barretenberg/cpp/src/msgpack-c/appveyor.yml diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/ci/build_cmake.sh b/barretenberg/cpp/src/msgpack-c/ci/build_cmake.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/ci/build_cmake.sh rename to barretenberg/cpp/src/msgpack-c/ci/build_cmake.sh diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/ci/build_regression.sh b/barretenberg/cpp/src/msgpack-c/ci/build_regression.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/ci/build_regression.sh rename to barretenberg/cpp/src/msgpack-c/ci/build_regression.sh diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/ci/set_gcc_10.sh b/barretenberg/cpp/src/msgpack-c/ci/set_gcc_10.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/ci/set_gcc_10.sh rename to barretenberg/cpp/src/msgpack-c/ci/set_gcc_10.sh diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/cmake/CodeCoverage.cmake b/barretenberg/cpp/src/msgpack-c/cmake/CodeCoverage.cmake similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/cmake/CodeCoverage.cmake rename to barretenberg/cpp/src/msgpack-c/cmake/CodeCoverage.cmake diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/codecov.yml b/barretenberg/cpp/src/msgpack-c/codecov.yml similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/codecov.yml rename to barretenberg/cpp/src/msgpack-c/codecov.yml diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_array.hpp.erb b/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_array.hpp.erb similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_array.hpp.erb rename to barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_array.hpp.erb diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_array_decl.hpp.erb b/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_array_decl.hpp.erb similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_array_decl.hpp.erb rename to barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_array_decl.hpp.erb diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_map.hpp.erb b/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_map.hpp.erb similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_map.hpp.erb rename to barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_map.hpp.erb diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_map_decl.hpp.erb b/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_map_decl.hpp.erb similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_map_decl.hpp.erb rename to barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_define_map_decl.hpp.erb diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_msgpack_tuple.hpp.erb b/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_msgpack_tuple.hpp.erb similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_msgpack_tuple.hpp.erb rename to barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_msgpack_tuple.hpp.erb diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_msgpack_tuple_decl.hpp.erb b/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_msgpack_tuple_decl.hpp.erb similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_msgpack_tuple_decl.hpp.erb rename to barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_msgpack_tuple_decl.hpp.erb diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_zone.hpp.erb b/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_zone.hpp.erb similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_zone.hpp.erb rename to barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_zone.hpp.erb diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_zone_decl.hpp.erb b/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_zone_decl.hpp.erb similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_zone_decl.hpp.erb rename to barretenberg/cpp/src/msgpack-c/erb/v1/cpp03_zone_decl.hpp.erb diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/CMakeLists.txt b/barretenberg/cpp/src/msgpack-c/example/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/CMakeLists.txt rename to barretenberg/cpp/src/msgpack-c/example/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/boost/CMakeLists.txt b/barretenberg/cpp/src/msgpack-c/example/boost/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/boost/CMakeLists.txt rename to barretenberg/cpp/src/msgpack-c/example/boost/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/boost/asio_send_recv.cpp b/barretenberg/cpp/src/msgpack-c/example/boost/asio_send_recv.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/boost/asio_send_recv.cpp rename to barretenberg/cpp/src/msgpack-c/example/boost/asio_send_recv.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/boost/asio_send_recv_zlib.cpp b/barretenberg/cpp/src/msgpack-c/example/boost/asio_send_recv_zlib.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/boost/asio_send_recv_zlib.cpp rename to barretenberg/cpp/src/msgpack-c/example/boost/asio_send_recv_zlib.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/boost/msgpack_variant_capitalize.cpp b/barretenberg/cpp/src/msgpack-c/example/boost/msgpack_variant_capitalize.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/boost/msgpack_variant_capitalize.cpp rename to barretenberg/cpp/src/msgpack-c/example/boost/msgpack_variant_capitalize.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/boost/msgpack_variant_mapbased.cpp b/barretenberg/cpp/src/msgpack-c/example/boost/msgpack_variant_mapbased.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/boost/msgpack_variant_mapbased.cpp rename to barretenberg/cpp/src/msgpack-c/example/boost/msgpack_variant_mapbased.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/CMakeLists.txt b/barretenberg/cpp/src/msgpack-c/example/cpp03/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/CMakeLists.txt rename to barretenberg/cpp/src/msgpack-c/example/cpp03/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/class_intrusive.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp03/class_intrusive.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/class_intrusive.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp03/class_intrusive.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/class_intrusive_map.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp03/class_intrusive_map.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/class_intrusive_map.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp03/class_intrusive_map.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/class_non_intrusive.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp03/class_non_intrusive.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/class_non_intrusive.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp03/class_non_intrusive.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/custom.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp03/custom.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/custom.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp03/custom.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/enum.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp03/enum.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/enum.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp03/enum.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/map_based_versionup.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp03/map_based_versionup.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/map_based_versionup.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp03/map_based_versionup.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/protocol.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp03/protocol.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/protocol.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp03/protocol.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/protocol_new.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp03/protocol_new.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/protocol_new.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp03/protocol_new.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/reuse_zone.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp03/reuse_zone.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/reuse_zone.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp03/reuse_zone.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/simple.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp03/simple.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/simple.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp03/simple.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/speed_test.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp03/speed_test.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/speed_test.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp03/speed_test.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/speed_test_nested_array.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp03/speed_test_nested_array.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/speed_test_nested_array.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp03/speed_test_nested_array.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/stream.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp03/stream.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp03/stream.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp03/stream.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp11/CMakeLists.txt b/barretenberg/cpp/src/msgpack-c/example/cpp11/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp11/CMakeLists.txt rename to barretenberg/cpp/src/msgpack-c/example/cpp11/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp11/container.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp11/container.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp11/container.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp11/container.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp11/non_def_con_class.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp11/non_def_con_class.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp11/non_def_con_class.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp11/non_def_con_class.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp11/socket_stream_example.cpp b/barretenberg/cpp/src/msgpack-c/example/cpp11/socket_stream_example.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/cpp11/socket_stream_example.cpp rename to barretenberg/cpp/src/msgpack-c/example/cpp11/socket_stream_example.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/x3/CMakeLists.txt b/barretenberg/cpp/src/msgpack-c/example/x3/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/x3/CMakeLists.txt rename to barretenberg/cpp/src/msgpack-c/example/x3/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/x3/parse.cpp b/barretenberg/cpp/src/msgpack-c/example/x3/parse.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/x3/parse.cpp rename to barretenberg/cpp/src/msgpack-c/example/x3/parse.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/x3/stream_unpack.cpp b/barretenberg/cpp/src/msgpack-c/example/x3/stream_unpack.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/x3/stream_unpack.cpp rename to barretenberg/cpp/src/msgpack-c/example/x3/stream_unpack.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/example/x3/unpack.cpp b/barretenberg/cpp/src/msgpack-c/example/x3/unpack.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/example/x3/unpack.cpp rename to barretenberg/cpp/src/msgpack-c/example/x3/unpack.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/CMakeLists.txt b/barretenberg/cpp/src/msgpack-c/fuzz/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/CMakeLists.txt rename to barretenberg/cpp/src/msgpack-c/fuzz/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/regression_runner.cpp b/barretenberg/cpp/src/msgpack-c/fuzz/regression_runner.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/regression_runner.cpp rename to barretenberg/cpp/src/msgpack-c/fuzz/regression_runner.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer.cpp b/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer.cpp rename to barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-5656982724804608 b/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-5656982724804608 similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-5656982724804608 rename to barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-5656982724804608 diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-6022481354686464 b/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-6022481354686464 similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-6022481354686464 rename to barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_regressions/clusterfuzz-testcase-minimized-unpack_pack_fuzzer-6022481354686464 diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray b/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray rename to barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyArray diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject b/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject rename to barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/EmptyObject diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting b/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting rename to barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/ExcessiveNesting diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/OpenWeatherMap b/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/OpenWeatherMap similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/OpenWeatherMap rename to barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/OpenWeatherMap diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/WeatherUnderground b/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/WeatherUnderground similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/WeatherUnderground rename to barretenberg/cpp/src/msgpack-c/fuzz/unpack_pack_fuzzer_seed_corpus/WeatherUnderground diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/adaptor_base.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/adaptor_base.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/adaptor_base.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/adaptor_base.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/adaptor_base_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/adaptor_base_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/adaptor_base_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/adaptor_base_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/array_ref.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/array_ref.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/array_ref.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/array_ref.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/array_ref_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/array_ref_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/array_ref_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/array_ref_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/bool.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/bool.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/bool.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/bool.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/fusion.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/fusion.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/fusion.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/fusion.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/optional.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/optional.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/optional.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/optional.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/string_ref.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/string_ref.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/string_ref.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/string_ref.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/string_view.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/string_view.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/string_view.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/boost/string_view.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/carray.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/carray.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/carray.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/carray.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/char_ptr.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/char_ptr.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/char_ptr.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/char_ptr.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/check_container_size.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/check_container_size.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/check_container_size.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/check_container_size.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/check_container_size_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/check_container_size_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/check_container_size_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/check_container_size_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/complex.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/complex.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/complex.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/complex.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array_char.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array_char.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array_char.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array_char.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array_unsigned_char.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array_unsigned_char.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array_unsigned_char.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/array_unsigned_char.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/chrono.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/chrono.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/chrono.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/chrono.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/forward_list.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/forward_list.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/forward_list.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/forward_list.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/reference_wrapper.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/reference_wrapper.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/reference_wrapper.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/reference_wrapper.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/shared_ptr.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/shared_ptr.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/shared_ptr.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/shared_ptr.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/timespec.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/timespec.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/timespec.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/timespec.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/tuple.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/tuple.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/tuple.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/tuple.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unique_ptr.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unique_ptr.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unique_ptr.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unique_ptr.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unordered_map.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unordered_map.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unordered_map.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unordered_map.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unordered_set.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unordered_set.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unordered_set.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp11/unordered_set.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/array_byte.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/array_byte.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/array_byte.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/array_byte.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/byte.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/byte.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/byte.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/byte.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/carray_byte.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/carray_byte.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/carray_byte.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/carray_byte.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/optional.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/optional.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/optional.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/optional.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/string_view.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/string_view.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/string_view.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/string_view.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/vector_byte.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/vector_byte.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/vector_byte.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp17/vector_byte.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp20/span.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp20/span.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp20/span.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/cpp20/span.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/define.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/define.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/define.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/define.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/define_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/define_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/define_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/define_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/deque.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/deque.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/deque.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/deque.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/ext.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/ext.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/ext.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/ext.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/ext_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/ext_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/ext_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/ext_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/fixint.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/fixint.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/fixint.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/fixint.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/fixint_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/fixint_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/fixint_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/fixint_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/float.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/float.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/float.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/float.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/int.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/int.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/int.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/int.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/int_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/int_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/int_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/int_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/list.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/list.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/list.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/list.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/map.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/map.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/map.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/map.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/map_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/map_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/map_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/map_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/msgpack_tuple.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/msgpack_tuple.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/msgpack_tuple.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/msgpack_tuple.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/msgpack_tuple_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/msgpack_tuple_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/msgpack_tuple_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/msgpack_tuple_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/nil.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/nil.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/nil.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/nil.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/nil_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/nil_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/nil_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/nil_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/pair.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/pair.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/pair.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/pair.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/raw.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/raw.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/raw.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/raw.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/raw_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/raw_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/raw_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/raw_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/set.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/set.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/set.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/set.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/size_equal_only.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/size_equal_only.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/size_equal_only.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/size_equal_only.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/size_equal_only_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/size_equal_only_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/size_equal_only_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/size_equal_only_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/string.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/string.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/string.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/string.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/tr1/unordered_map.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/tr1/unordered_map.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/tr1/unordered_map.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/tr1/unordered_map.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/tr1/unordered_set.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/tr1/unordered_set.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/tr1/unordered_set.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/tr1/unordered_set.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/v4raw.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/v4raw.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/v4raw.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/v4raw.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/v4raw_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/v4raw_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/v4raw_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/v4raw_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector_bool.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector_bool.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector_bool.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector_bool.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector_char.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector_char.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector_char.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector_char.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector_unsigned_char.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector_unsigned_char.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector_unsigned_char.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/vector_unsigned_char.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/wstring.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/wstring.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/wstring.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/adaptor/wstring.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/assert.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/assert.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/assert.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/assert.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/cpp_config.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/cpp_config.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/cpp_config.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/cpp_config.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/cpp_config_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/cpp_config_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/cpp_config_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/cpp_config_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/cpp_version.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/cpp_version.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/cpp_version.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/cpp_version.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/create_object_visitor.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/create_object_visitor.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/create_object_visitor.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/create_object_visitor.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/create_object_visitor_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/create_object_visitor_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/create_object_visitor_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/create_object_visitor_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/fbuffer.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/fbuffer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/fbuffer.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/fbuffer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/fbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/fbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/fbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/fbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/gcc_atomic.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/gcc_atomic.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/gcc_atomic.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/gcc_atomic.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/iterator.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/iterator.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/iterator.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/iterator.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/iterator_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/iterator_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/iterator_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/iterator_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/meta.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/meta.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/meta.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/meta.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/meta_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/meta_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/meta_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/meta_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/null_visitor.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/null_visitor.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/null_visitor.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/null_visitor.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/null_visitor_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/null_visitor_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/null_visitor_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/null_visitor_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/object.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/object.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/object.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/object.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/object_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/object_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/object_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/object_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/object_fwd.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/object_fwd.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/object_fwd.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/object_fwd.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/object_fwd_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/object_fwd_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/object_fwd_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/object_fwd_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/pack.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/pack.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/pack.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/pack.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/pack_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/pack_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/pack_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/pack_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/parse.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/parse.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/parse.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/parse.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/parse_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/parse_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/parse_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/parse_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/parse_return.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/parse_return.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/parse_return.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/parse_return.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/alpha.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/alpha.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/alpha.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/alpha.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/arm.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/arm.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/arm.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/arm.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/blackfin.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/blackfin.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/blackfin.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/blackfin.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/convex.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/convex.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/convex.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/convex.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/ia64.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/ia64.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/ia64.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/ia64.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/m68k.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/m68k.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/m68k.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/m68k.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/mips.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/mips.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/mips.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/mips.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/parisc.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/parisc.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/parisc.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/parisc.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/ppc.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/ppc.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/ppc.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/ppc.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/ptx.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/ptx.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/ptx.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/ptx.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/pyramid.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/pyramid.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/pyramid.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/pyramid.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/rs6k.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/rs6k.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/rs6k.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/rs6k.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/sparc.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/sparc.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/sparc.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/sparc.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/superh.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/superh.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/superh.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/superh.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/sys370.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/sys370.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/sys370.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/sys370.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/sys390.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/sys390.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/sys390.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/sys390.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86/32.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86/32.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86/32.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86/32.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86/64.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86/64.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86/64.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/x86/64.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/z.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/z.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/z.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/architecture/z.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/borland.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/borland.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/borland.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/borland.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/clang.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/clang.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/clang.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/clang.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/comeau.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/comeau.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/comeau.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/comeau.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/compaq.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/compaq.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/compaq.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/compaq.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/diab.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/diab.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/diab.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/diab.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/digitalmars.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/digitalmars.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/digitalmars.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/digitalmars.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/dignus.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/dignus.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/dignus.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/dignus.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/edg.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/edg.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/edg.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/edg.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/ekopath.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/ekopath.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/ekopath.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/ekopath.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/gcc.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/gcc.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/gcc.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/gcc.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/gcc_xml.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/gcc_xml.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/gcc_xml.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/gcc_xml.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/greenhills.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/greenhills.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/greenhills.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/greenhills.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/hp_acc.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/hp_acc.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/hp_acc.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/hp_acc.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/iar.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/iar.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/iar.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/iar.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/ibm.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/ibm.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/ibm.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/ibm.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/intel.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/intel.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/intel.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/intel.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/kai.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/kai.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/kai.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/kai.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/llvm.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/llvm.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/llvm.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/llvm.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/metaware.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/metaware.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/metaware.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/metaware.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/metrowerks.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/metrowerks.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/metrowerks.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/metrowerks.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/microtec.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/microtec.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/microtec.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/microtec.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/mpw.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/mpw.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/mpw.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/mpw.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/nvcc.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/nvcc.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/nvcc.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/nvcc.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/palm.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/palm.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/palm.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/palm.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/pgi.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/pgi.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/pgi.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/pgi.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/sgi_mipspro.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/sgi_mipspro.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/sgi_mipspro.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/sgi_mipspro.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/sunpro.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/sunpro.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/sunpro.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/sunpro.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/tendra.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/tendra.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/tendra.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/tendra.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/visualc.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/visualc.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/visualc.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/visualc.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/watcom.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/watcom.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/watcom.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/compiler/watcom.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/_cassert.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/_cassert.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/_cassert.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/_cassert.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/_exception.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/_exception.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/_exception.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/_exception.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/comp_detected.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/comp_detected.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/comp_detected.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/comp_detected.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/endian_compat.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/endian_compat.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/endian_compat.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/endian_compat.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/os_detected.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/os_detected.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/os_detected.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/os_detected.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/platform_detected.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/platform_detected.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/platform_detected.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/platform_detected.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/test.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/test.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/test.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/test.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/test_def.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/test_def.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/test_def.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/detail/test_def.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/arm.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/arm.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/arm.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/arm.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/arm/versions.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/arm/versions.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/arm/versions.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/arm/versions.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/ppc.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/ppc.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/ppc.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/ppc.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/ppc/versions.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/ppc/versions.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/ppc/versions.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/ppc/versions.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86/versions.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86/versions.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86/versions.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86/versions.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86_amd.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86_amd.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86_amd.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86_amd.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86_amd/versions.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86_amd/versions.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86_amd/versions.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/hardware/simd/x86_amd/versions.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/cuda.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/cuda.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/cuda.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/cuda.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/objc.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/objc.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/objc.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/objc.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/stdc.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/stdc.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/stdc.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/stdc.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/stdcpp.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/stdcpp.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/stdcpp.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/language/stdcpp.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/_prefix.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/_prefix.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/_prefix.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/_prefix.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/cloudabi.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/cloudabi.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/cloudabi.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/cloudabi.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/gnu.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/gnu.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/gnu.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/gnu.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/uc.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/uc.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/uc.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/uc.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/vms.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/vms.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/vms.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/vms.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/zos.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/zos.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/zos.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/c/zos.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/_prefix.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/_prefix.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/_prefix.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/_prefix.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/cxx.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/cxx.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/cxx.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/cxx.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/dinkumware.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/dinkumware.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/dinkumware.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/dinkumware.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/libcomo.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/libcomo.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/libcomo.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/libcomo.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/modena.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/modena.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/modena.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/modena.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/msl.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/msl.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/msl.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/msl.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/roguewave.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/roguewave.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/roguewave.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/roguewave.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/sgi.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/sgi.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/sgi.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/sgi.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/stdcpp3.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/stdcpp3.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/stdcpp3.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/stdcpp3.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/stlport.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/stlport.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/stlport.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/stlport.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/vacpp.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/vacpp.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/vacpp.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/library/std/vacpp.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/make.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/make.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/make.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/make.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/aix.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/aix.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/aix.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/aix.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/amigaos.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/amigaos.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/amigaos.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/amigaos.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/android.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/android.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/android.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/android.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/beos.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/beos.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/beos.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/beos.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/bsdi.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/bsdi.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/bsdi.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/bsdi.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/dragonfly.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/dragonfly.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/dragonfly.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/dragonfly.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/free.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/free.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/free.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/free.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/net.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/net.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/net.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/net.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/open.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/open.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/open.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/bsd/open.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/cygwin.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/cygwin.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/cygwin.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/cygwin.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/haiku.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/haiku.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/haiku.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/haiku.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/hpux.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/hpux.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/hpux.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/hpux.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/ios.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/ios.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/ios.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/ios.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/irix.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/irix.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/irix.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/irix.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/linux.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/linux.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/linux.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/linux.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/macos.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/macos.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/macos.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/macos.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/os400.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/os400.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/os400.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/os400.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/qnxnto.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/qnxnto.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/qnxnto.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/qnxnto.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/solaris.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/solaris.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/solaris.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/solaris.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/unix.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/unix.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/unix.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/unix.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/vms.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/vms.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/vms.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/vms.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/windows.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/windows.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/windows.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/os/windows.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/other.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/other.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/other.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/other.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/other/endian.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/other/endian.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/other/endian.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/other/endian.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/other/workaround.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/other/workaround.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/other/workaround.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/other/workaround.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/cloudabi.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/cloudabi.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/cloudabi.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/cloudabi.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/ios.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/ios.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/ios.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/ios.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw32.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw32.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw32.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw32.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw64.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw64.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw64.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/mingw64.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_desktop.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_desktop.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_desktop.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_desktop.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_phone.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_phone.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_phone.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_phone.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_runtime.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_runtime.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_runtime.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_runtime.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_server.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_server.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_server.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_server.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_store.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_store.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_store.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_store.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_system.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_system.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_system.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_system.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_uwp.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_uwp.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_uwp.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/platform/windows_uwp.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/version.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/version.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/version.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/version.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/version_number.h b/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/version_number.h similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/predef/version_number.h rename to barretenberg/cpp/src/msgpack-c/include/msgpack/predef/version_number.h diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/add.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/add.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/add.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/add.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/dec.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/dec.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/dec.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/dec.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/detail/div_base.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/detail/div_base.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/detail/div_base.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/detail/div_base.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/div.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/div.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/div.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/div.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/inc.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/inc.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/inc.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/inc.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/mod.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/mod.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/mod.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/mod.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/mul.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/mul.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/mul.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/mul.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/sub.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/sub.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/sub.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/arithmetic/sub.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/data.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/data.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/data.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/data.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/detail/get_data.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/detail/get_data.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/detail/get_data.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/detail/get_data.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/elem.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/elem.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/elem.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/elem.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/enum.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/enum.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/enum.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/enum.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/insert.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/insert.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/insert.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/insert.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/pop_back.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/pop_back.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/pop_back.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/pop_back.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/pop_front.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/pop_front.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/pop_front.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/pop_front.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/push_back.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/push_back.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/push_back.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/push_back.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/push_front.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/push_front.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/push_front.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/push_front.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/remove.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/remove.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/remove.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/remove.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/replace.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/replace.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/replace.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/replace.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/reverse.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/reverse.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/reverse.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/reverse.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/size.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/size.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/size.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/size.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_list.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_list.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_list.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_list.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_seq.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_seq.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_seq.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_seq.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_tuple.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_tuple.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_tuple.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/array/to_tuple.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/assert_msg.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/assert_msg.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/assert_msg.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/assert_msg.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/cat.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/cat.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/cat.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/cat.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comma.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comma.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comma.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comma.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comma_if.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comma_if.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comma_if.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comma_if.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/equal.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/equal.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/equal.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/equal.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/greater.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/greater.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/greater.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/greater.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/greater_equal.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/greater_equal.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/greater_equal.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/greater_equal.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/less.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/less.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/less.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/less.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/less_equal.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/less_equal.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/less_equal.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/less_equal.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/not_equal.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/not_equal.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/not_equal.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/comparison/not_equal.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/config/config.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/config/config.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/config/config.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/config/config.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/config/limits.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/config/limits.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/config/limits.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/config/limits.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/deduce_d.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/deduce_d.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/deduce_d.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/deduce_d.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/dmc/while.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/dmc/while.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/dmc/while.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/dmc/while.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/edg/while.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/edg/while.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/edg/while.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/edg/while.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/msvc/while.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/msvc/while.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/msvc/while.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/msvc/while.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/while.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/while.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/while.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/detail/while.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/expr_if.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/expr_if.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/expr_if.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/expr_if.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/expr_iif.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/expr_iif.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/expr_iif.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/expr_iif.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/if.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/if.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/if.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/if.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/iif.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/iif.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/iif.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/iif.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/while.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/while.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/while.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/control/while.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/assert.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/assert.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/assert.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/assert.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/error.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/error.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/error.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/error.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/line.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/line.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/line.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/debug/line.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/dec.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/dec.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/dec.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/dec.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/auto_rec.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/auto_rec.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/auto_rec.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/auto_rec.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/check.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/check.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/check.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/check.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/dmc/auto_rec.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/dmc/auto_rec.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/dmc/auto_rec.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/dmc/auto_rec.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_binary.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_binary.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_binary.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_binary.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_nullary.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_nullary.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_nullary.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_nullary.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_unary.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_unary.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_unary.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/is_unary.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/null.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/null.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/null.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/null.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/split.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/split.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/split.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/detail/split.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/empty.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/empty.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/empty.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/empty.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params_with_a_default.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params_with_a_default.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params_with_a_default.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params_with_a_default.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params_with_defaults.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params_with_defaults.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params_with_defaults.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_params_with_defaults.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_shifted.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_shifted.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_shifted.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_shifted.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_shifted_params.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_shifted_params.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_shifted_params.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/enum_shifted_params.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/expand.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/expand.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/expand.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/expand.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/expr_if.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/expr_if.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/expr_if.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/expr_if.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/apply.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/apply.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/apply.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/apply.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/detail/is_empty.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/detail/is_empty.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/detail/is_empty.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/detail/is_empty.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/empty.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/empty.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/empty.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/empty.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/expand.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/expand.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/expand.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/expand.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/identity.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/identity.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/identity.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/identity.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/intercept.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/intercept.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/intercept.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/intercept.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_1.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_1.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty_or_1.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty_or_1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty_or_1.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty_or_1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty_variadic.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty_variadic.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty_variadic.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/is_empty_variadic.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/overload.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/overload.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/overload.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/facilities/overload.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/for.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/for.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/for.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/for.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/identity.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/identity.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/identity.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/identity.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/if.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/if.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/if.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/if.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/inc.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/inc.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/inc.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/inc.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iterate.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iterate.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iterate.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iterate.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower1.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower1.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower2.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower2.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower2.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower2.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower3.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower3.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower3.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower3.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower4.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower4.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower4.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower4.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower5.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower5.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower5.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/lower5.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper1.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper1.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper2.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper2.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper2.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper2.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper3.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper3.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper3.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper3.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper4.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper4.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper4.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper4.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper5.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper5.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper5.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/bounds/upper5.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/finish.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/finish.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/finish.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/finish.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward1.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward1.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward2.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward2.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward2.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward2.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward3.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward3.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward3.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward3.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward4.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward4.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward4.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward4.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward5.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward5.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward5.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/forward5.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse1.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse1.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse2.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse2.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse2.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse2.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse3.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse3.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse3.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse3.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse4.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse4.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse4.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse4.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse5.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse5.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse5.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/iter/reverse5.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/local.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/local.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/local.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/local.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/rlocal.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/rlocal.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/rlocal.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/rlocal.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/self.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/self.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/self.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/self.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/start.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/start.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/start.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/detail/start.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/iterate.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/iterate.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/iterate.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/iterate.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/local.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/local.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/local.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/local.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/self.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/self.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/self.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/iteration/self.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/library.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/library.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/library.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/library.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/limits.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/limits.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/limits.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/limits.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/adt.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/adt.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/adt.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/adt.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/append.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/append.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/append.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/append.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/at.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/at.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/at.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/at.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/cat.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/cat.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/cat.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/cat.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/dmc/fold_left.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/dmc/fold_left.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/dmc/fold_left.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/dmc/fold_left.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/edg/fold_left.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/edg/fold_left.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/edg/fold_left.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/edg/fold_left.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/edg/fold_right.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/edg/fold_right.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/edg/fold_right.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/edg/fold_right.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/fold_left.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/fold_left.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/fold_left.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/fold_left.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/fold_right.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/fold_right.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/fold_right.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/detail/fold_right.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/enum.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/enum.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/enum.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/enum.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/filter.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/filter.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/filter.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/filter.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/first_n.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/first_n.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/first_n.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/first_n.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/fold_left.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/fold_left.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/fold_left.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/fold_left.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/fold_right.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/fold_right.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/fold_right.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/fold_right.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each_i.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each_i.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each_i.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each_i.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each_product.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each_product.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each_product.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/for_each_product.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/rest_n.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/rest_n.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/rest_n.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/rest_n.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/reverse.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/reverse.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/reverse.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/reverse.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/size.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/size.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/size.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/size.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_array.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_array.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_seq.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_seq.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_seq.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_seq.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_tuple.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_tuple.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_tuple.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/to_tuple.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/transform.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/transform.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/transform.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/list/transform.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/and.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/and.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/and.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/and.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitand.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitand.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitand.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitand.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitnor.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitnor.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitnor.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitnor.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitor.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitor.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitor.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitor.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitxor.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitxor.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitxor.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bitxor.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bool.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bool.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bool.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/bool.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/compl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/compl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/compl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/compl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/nor.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/nor.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/nor.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/nor.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/not.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/not.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/not.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/not.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/or.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/or.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/or.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/or.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/xor.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/xor.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/xor.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/logical/xor.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/max.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/max.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/max.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/max.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/min.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/min.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/min.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/min.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/comma.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/comma.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/comma.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/comma.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/comma_if.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/comma_if.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/comma_if.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/comma_if.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/detail/is_begin_parens.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/detail/is_begin_parens.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/detail/is_begin_parens.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/detail/is_begin_parens.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/is_begin_parens.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/is_begin_parens.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/is_begin_parens.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/is_begin_parens.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/paren.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/paren.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/paren.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/paren.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/paren_if.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/paren_if.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/paren_if.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/paren_if.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/remove_parens.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/remove_parens.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/remove_parens.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/punctuation/remove_parens.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_2nd.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_2nd.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_2nd.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_2nd.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_3rd.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_3rd.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_3rd.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_3rd.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to_2nd.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to_2nd.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to_2nd.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to_2nd.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to_3rd.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to_3rd.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to_3rd.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repeat_from_to_3rd.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/deduce_r.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/deduce_r.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/deduce_r.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/deduce_r.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/deduce_z.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/deduce_z.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/deduce_z.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/deduce_z.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/dmc/for.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/dmc/for.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/dmc/for.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/dmc/for.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/edg/for.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/edg/for.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/edg/for.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/edg/for.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/for.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/for.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/for.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/for.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/msvc/for.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/msvc/for.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/msvc/for.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/detail/msvc/for.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_binary_params.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_binary_params.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_binary_params.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_binary_params.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params_with_a_default.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params_with_a_default.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params_with_a_default.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params_with_a_default.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params_with_defaults.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params_with_defaults.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params_with_defaults.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_params_with_defaults.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted_binary_params.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted_binary_params.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted_binary_params.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted_binary_params.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted_params.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted_params.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted_params.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_shifted_params.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing_binary_params.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing_binary_params.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing_binary_params.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing_binary_params.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing_params.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing_params.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing_params.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/enum_trailing_params.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/for.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/for.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/for.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/for.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/repeat.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/repeat.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/repeat.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/repeat.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/repeat_from_to.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/repeat_from_to.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/repeat_from_to.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/repetition/repeat_from_to.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/selection.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/selection.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/selection.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/selection.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/selection/max.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/selection/max.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/selection/max.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/selection/max.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/selection/min.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/selection/min.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/selection/min.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/selection/min.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/cat.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/cat.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/cat.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/cat.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/binary_transform.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/binary_transform.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/binary_transform.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/binary_transform.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/is_empty.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/is_empty.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/is_empty.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/is_empty.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/split.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/split.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/split.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/split.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/to_list_msvc.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/to_list_msvc.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/to_list_msvc.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/detail/to_list_msvc.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/elem.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/elem.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/elem.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/elem.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/enum.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/enum.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/enum.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/enum.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/filter.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/filter.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/filter.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/filter.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/first_n.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/first_n.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/first_n.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/first_n.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/fold_left.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/fold_left.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/fold_left.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/fold_left.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/fold_right.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/fold_right.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/fold_right.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/fold_right.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each_i.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each_i.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each_i.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each_i.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each_product.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each_product.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each_product.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/for_each_product.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/insert.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/insert.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/insert.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/insert.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/pop_back.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/pop_back.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/pop_back.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/pop_back.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/pop_front.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/pop_front.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/pop_front.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/pop_front.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/push_back.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/push_back.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/push_back.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/push_back.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/push_front.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/push_front.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/push_front.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/push_front.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/remove.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/remove.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/remove.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/remove.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/replace.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/replace.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/replace.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/replace.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/rest_n.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/rest_n.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/rest_n.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/rest_n.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/reverse.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/reverse.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/reverse.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/reverse.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/seq.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/seq.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/seq.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/seq.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/size.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/size.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/size.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/size.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/subseq.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/subseq.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/subseq.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/subseq.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_array.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_array.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_list.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_list.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_list.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_list.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_tuple.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_tuple.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_tuple.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/to_tuple.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/transform.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/transform.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/transform.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/transform.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/variadic_seq_to_seq.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/variadic_seq_to_seq.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/variadic_seq_to_seq.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/seq/variadic_seq_to_seq.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/counter.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/counter.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/counter.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/counter.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/counter.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/counter.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/counter.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/counter.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/def.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/def.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/def.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/def.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/shared.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/shared.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/shared.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/shared.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot1.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot1.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot1.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot1.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot2.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot2.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot2.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot2.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot3.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot3.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot3.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot3.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot4.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot4.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot4.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot4.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot5.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot5.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot5.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/detail/slot5.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/slot.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/slot.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/slot.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/slot/slot.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/stringize.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/stringize.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/stringize.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/stringize.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/detail/is_single_return.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/detail/is_single_return.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/detail/is_single_return.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/detail/is_single_return.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/eat.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/eat.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/eat.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/eat.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/elem.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/elem.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/elem.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/elem.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/enum.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/enum.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/enum.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/enum.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/insert.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/insert.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/insert.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/insert.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/pop_back.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/pop_back.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/pop_back.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/pop_back.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/pop_front.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/pop_front.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/pop_front.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/pop_front.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/push_back.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/push_back.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/push_back.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/push_back.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/push_front.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/push_front.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/push_front.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/push_front.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/rem.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/rem.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/rem.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/rem.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/remove.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/remove.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/remove.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/remove.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/replace.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/replace.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/replace.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/replace.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/reverse.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/reverse.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/reverse.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/reverse.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/size.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/size.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/size.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/size.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_array.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_array.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_list.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_list.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_list.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_list.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_seq.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_seq.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_seq.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/tuple/to_seq.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/detail/is_single_return.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/detail/is_single_return.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/detail/is_single_return.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/detail/is_single_return.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/elem.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/elem.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/elem.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/elem.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/size.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/size.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/size.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/size.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_array.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_array.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_list.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_list.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_list.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_list.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_seq.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_seq.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_seq.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_seq.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_tuple.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_tuple.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_tuple.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/variadic/to_tuple.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/while.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/while.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/while.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/while.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/wstringize.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/wstringize.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/wstringize.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/preprocessor/wstringize.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/sbuffer.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/sbuffer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/sbuffer.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/sbuffer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/sbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/sbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/sbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/sbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/sysdep.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/sysdep.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/sysdep.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/sysdep.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/type.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/type.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/type.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/type.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/unpack.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/unpack.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/unpack.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/unpack.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/unpack_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/unpack_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/unpack_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/unpack_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/unpack_define.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/unpack_define.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/unpack_define.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/unpack_define.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/unpack_exception.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/unpack_exception.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/unpack_exception.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/unpack_exception.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/adaptor_base.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/adaptor_base.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/adaptor_base.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/adaptor_base.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/adaptor_base_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/adaptor_base_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/adaptor_base_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/adaptor_base_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/array_ref.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/array_ref.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/array_ref.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/array_ref.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/array_ref_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/array_ref_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/array_ref_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/array_ref_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/bool.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/bool.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/bool.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/bool.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/fusion.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/fusion.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/fusion.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/fusion.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/msgpack_variant_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/optional.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/optional.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/optional.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/optional.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/string_ref.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/string_ref.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/string_ref.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/string_ref.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/string_view.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/string_view.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/string_view.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/boost/string_view.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/carray.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/carray.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/carray.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/carray.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/char_ptr.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/char_ptr.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/char_ptr.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/char_ptr.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/check_container_size.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/check_container_size.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/check_container_size.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/check_container_size.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/check_container_size_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/check_container_size_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/check_container_size_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/check_container_size_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/complex.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/complex.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/complex.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/complex.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_char.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_char.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_char.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_char.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/chrono.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/chrono.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/chrono.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/chrono.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/forward_list.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/forward_list.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/forward_list.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/forward_list.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/reference_wrapper.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/reference_wrapper.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/reference_wrapper.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/reference_wrapper.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/shared_ptr.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/shared_ptr.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/shared_ptr.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/shared_ptr.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/timespec.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/timespec.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/timespec.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/timespec.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/tuple.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/tuple.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/tuple.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/tuple.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unique_ptr.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unique_ptr.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unique_ptr.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unique_ptr.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/array_byte.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/array_byte.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/array_byte.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/array_byte.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/byte.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/byte.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/byte.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/byte.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/carray_byte.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/carray_byte.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/carray_byte.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/carray_byte.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/optional.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/optional.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/optional.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/optional.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/string_view.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/string_view.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/string_view.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/string_view.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp17/vector_byte.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp20/span.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp20/span.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp20/span.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/cpp20/span.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/define.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/define.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/define.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/define.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/define_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/define_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/define_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/define_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/deque.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/deque.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/deque.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/deque.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_array_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_define_map_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_array_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_define_map_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/ext.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/ext.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/ext.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/ext.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/ext_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/ext_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/ext_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/ext_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/fixint.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/fixint.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/fixint.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/fixint.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/fixint_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/fixint_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/fixint_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/fixint_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/float.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/float.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/float.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/float.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/int.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/int.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/int.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/int.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/int_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/int_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/int_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/int_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/list.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/list.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/list.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/list.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/map.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/map.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/map.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/map.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/map_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/map_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/map_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/map_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/msgpack_tuple_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/nil.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/nil.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/nil.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/nil.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/nil_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/nil_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/nil_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/nil_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/pair.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/pair.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/pair.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/pair.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/raw.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/raw.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/raw.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/raw.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/raw_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/raw_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/raw_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/raw_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/set.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/set.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/set.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/set.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/size_equal_only.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/size_equal_only.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/size_equal_only.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/size_equal_only.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/size_equal_only_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/size_equal_only_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/size_equal_only_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/size_equal_only_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/string.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/string.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/string.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/string.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_map.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_map.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_map.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_map.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_set.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_set.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_set.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/tr1/unordered_set.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/v4raw.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/v4raw.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/v4raw.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/v4raw.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/v4raw_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/v4raw_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/v4raw_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/v4raw_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_bool.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_bool.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_bool.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_bool.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_char.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_char.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_char.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_char.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_unsigned_char.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_unsigned_char.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_unsigned_char.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/vector_unsigned_char.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/wstring.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/wstring.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/wstring.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/adaptor/wstring.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/cpp_config.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/cpp_config.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/cpp_config.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/cpp_config.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/cpp_config_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/cpp_config_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/cpp_config_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/cpp_config_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp03_zone.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp03_zone.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp03_zone.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp03_zone.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp03_zone_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp03_zone_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp03_zone_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp03_zone_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp11_zone.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp11_zone.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp11_zone.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp11_zone.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp11_zone_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp11_zone_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp11_zone_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/detail/cpp11_zone_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/fbuffer.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/fbuffer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/fbuffer.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/fbuffer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/fbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/fbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/fbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/fbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/iterator.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/iterator.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/iterator.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/iterator.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/iterator_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/iterator_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/iterator_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/iterator_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/meta.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/meta.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/meta.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/meta.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/meta_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/meta_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/meta_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/meta_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object_fwd.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object_fwd.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object_fwd.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object_fwd.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object_fwd_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object_fwd_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object_fwd_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/object_fwd_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/pack.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/pack.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/pack.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/pack.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/pack_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/pack_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/pack_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/pack_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/parse_return.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/parse_return.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/parse_return.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/parse_return.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/sbuffer.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/sbuffer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/sbuffer.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/sbuffer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/sbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/sbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/sbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/sbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/unpack.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/unpack.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/unpack.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/unpack.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/unpack_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/unpack_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/unpack_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/unpack_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/unpack_exception.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/unpack_exception.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/unpack_exception.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/unpack_exception.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/version.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/version.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/version.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/version.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/versioning.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/versioning.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/versioning.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/versioning.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/vrefbuffer.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/vrefbuffer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/vrefbuffer.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/vrefbuffer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/vrefbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/vrefbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/vrefbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/vrefbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zbuffer.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zbuffer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zbuffer.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zbuffer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zone.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zone.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zone.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zone.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zone_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zone_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zone_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v1/zone_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/adaptor_base.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/adaptor_base.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/adaptor_base.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/adaptor_base.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/adaptor_base_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/adaptor_base_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/adaptor_base_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/adaptor_base_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/array_ref_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/array_ref_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/array_ref_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/array_ref_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/boost/msgpack_variant_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/check_container_size_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/check_container_size_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/check_container_size_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/check_container_size_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/define_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/define_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/define_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/define_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_define_array_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_define_array_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_define_array_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_define_array_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_define_map_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_define_map_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_define_map_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_define_map_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_msgpack_tuple_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_msgpack_tuple_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_msgpack_tuple_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp03_msgpack_tuple_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_define_array_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_define_array_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_define_array_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_define_array_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_define_map_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_define_map_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_define_map_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_define_map_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_msgpack_tuple_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_msgpack_tuple_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_msgpack_tuple_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/detail/cpp11_msgpack_tuple_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/ext_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/ext_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/ext_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/ext_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/fixint_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/fixint_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/fixint_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/fixint_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/int_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/int_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/int_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/int_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/map_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/map_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/map_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/map_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/msgpack_tuple_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/msgpack_tuple_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/msgpack_tuple_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/msgpack_tuple_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/nil_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/nil_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/nil_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/nil_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/raw_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/raw_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/raw_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/raw_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/size_equal_only_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/size_equal_only_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/size_equal_only_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/size_equal_only_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/v4raw_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/v4raw_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/v4raw_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/adaptor/v4raw_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/cpp_config_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/cpp_config_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/cpp_config_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/cpp_config_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/create_object_visitor.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/create_object_visitor.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/create_object_visitor.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/create_object_visitor.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/create_object_visitor_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/create_object_visitor_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/create_object_visitor_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/create_object_visitor_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/detail/cpp03_zone_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/detail/cpp03_zone_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/detail/cpp03_zone_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/detail/cpp03_zone_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/detail/cpp11_zone_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/detail/cpp11_zone_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/detail/cpp11_zone_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/detail/cpp11_zone_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/fbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/fbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/fbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/fbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/iterator_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/iterator_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/iterator_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/iterator_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/meta_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/meta_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/meta_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/meta_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/null_visitor.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/null_visitor.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/null_visitor.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/null_visitor.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/null_visitor_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/null_visitor_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/null_visitor_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/null_visitor_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object_fwd.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object_fwd.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object_fwd.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object_fwd.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object_fwd_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object_fwd_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object_fwd_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/object_fwd_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/pack_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/pack_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/pack_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/pack_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/parse.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/parse.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/parse.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/parse.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/parse_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/parse_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/parse_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/parse_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/parse_return.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/parse_return.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/parse_return.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/parse_return.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/sbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/sbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/sbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/sbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/unpack.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/unpack.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/unpack.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/unpack.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/unpack_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/unpack_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/unpack_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/unpack_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/vrefbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/vrefbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/vrefbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/vrefbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_parse.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_parse.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_parse.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_parse.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_parse_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_parse_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_parse_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_parse_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_unpack.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_unpack.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_unpack.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_unpack.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_unpack_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_unpack_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_unpack_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/x3_unpack_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/zbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/zbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/zbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/zbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/zone_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/zone_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v2/zone_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v2/zone_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/adaptor_base.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/adaptor_base.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/adaptor_base.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/adaptor_base.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/adaptor_base_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/adaptor_base_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/adaptor_base_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/adaptor_base_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/array_ref_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/array_ref_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/array_ref_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/array_ref_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/check_container_size_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/check_container_size_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/check_container_size_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/check_container_size_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/define_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/define_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/define_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/define_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/ext_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/ext_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/ext_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/ext_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/fixint_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/fixint_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/fixint_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/fixint_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/int_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/int_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/int_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/int_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/map_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/map_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/map_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/map_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/nil_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/nil_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/nil_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/nil_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/raw_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/raw_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/raw_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/raw_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/size_equal_only_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/size_equal_only_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/size_equal_only_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/size_equal_only_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/v4raw_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/v4raw_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/v4raw_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/adaptor/v4raw_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/cpp_config_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/cpp_config_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/cpp_config_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/cpp_config_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/create_object_visitor_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/create_object_visitor_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/create_object_visitor_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/create_object_visitor_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/detail/cpp03_zone_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/detail/cpp03_zone_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/detail/cpp03_zone_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/detail/cpp03_zone_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/detail/cpp11_zone_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/detail/cpp11_zone_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/detail/cpp11_zone_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/detail/cpp11_zone_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/fbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/fbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/fbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/fbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/iterator_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/iterator_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/iterator_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/iterator_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/meta_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/meta_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/meta_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/meta_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/null_visitor_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/null_visitor_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/null_visitor_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/null_visitor_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/object_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/object_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/object_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/object_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/object_fwd.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/object_fwd.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/object_fwd.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/object_fwd.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/object_fwd_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/object_fwd_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/object_fwd_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/object_fwd_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/pack_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/pack_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/pack_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/pack_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/parse.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/parse.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/parse.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/parse.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/parse_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/parse_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/parse_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/parse_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/parse_return.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/parse_return.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/parse_return.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/parse_return.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/sbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/sbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/sbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/sbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/unpack.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/unpack.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/unpack.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/unpack.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/unpack_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/unpack_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/unpack_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/unpack_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/vrefbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/vrefbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/vrefbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/vrefbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/x3_parse_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/x3_parse_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/x3_parse_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/x3_parse_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/x3_unpack.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/x3_unpack.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/x3_unpack.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/x3_unpack.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/x3_unpack_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/x3_unpack_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/x3_unpack_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/x3_unpack_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/zbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/zbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/zbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/zbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/zone_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/zone_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/v3/zone_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/v3/zone_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/version.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/version.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/version.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/version.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/version_master.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/version_master.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/version_master.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/version_master.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/versioning.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/versioning.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/versioning.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/versioning.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/vrefbuffer.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/vrefbuffer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/vrefbuffer.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/vrefbuffer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/vrefbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/vrefbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/vrefbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/vrefbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/x3_parse.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/x3_parse.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/x3_parse.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/x3_parse.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/x3_parse_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/x3_parse_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/x3_parse_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/x3_parse_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/x3_unpack.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/x3_unpack.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/x3_unpack.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/x3_unpack.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/x3_unpack_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/x3_unpack_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/x3_unpack_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/x3_unpack_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/zbuffer.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/zbuffer.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/zbuffer.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/zbuffer.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/zbuffer_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/zbuffer_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/zbuffer_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/zbuffer_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/zone.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/zone.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/zone.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/zone.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/zone_decl.hpp b/barretenberg/cpp/src/msgpack-c/include/msgpack/zone_decl.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/include/msgpack/zone_decl.hpp rename to barretenberg/cpp/src/msgpack-c/include/msgpack/zone_decl.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/make_file_list.sh b/barretenberg/cpp/src/msgpack-c/make_file_list.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/make_file_list.sh rename to barretenberg/cpp/src/msgpack-c/make_file_list.sh diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/makedist.sh b/barretenberg/cpp/src/msgpack-c/makedist.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/makedist.sh rename to barretenberg/cpp/src/msgpack-c/makedist.sh diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/msgpack-cxx-config.cmake.in b/barretenberg/cpp/src/msgpack-c/msgpack-cxx-config.cmake.in similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/msgpack-cxx-config.cmake.in rename to barretenberg/cpp/src/msgpack-c/msgpack-cxx-config.cmake.in diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/preprocess b/barretenberg/cpp/src/msgpack-c/preprocess similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/preprocess rename to barretenberg/cpp/src/msgpack-c/preprocess diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test-install/CMakeLists.txt b/barretenberg/cpp/src/msgpack-c/test-install/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test-install/CMakeLists.txt rename to barretenberg/cpp/src/msgpack-c/test-install/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test-install/simple.cpp b/barretenberg/cpp/src/msgpack-c/test-install/simple.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test-install/simple.cpp rename to barretenberg/cpp/src/msgpack-c/test-install/simple.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/CMakeLists.txt b/barretenberg/cpp/src/msgpack-c/test/CMakeLists.txt similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/CMakeLists.txt rename to barretenberg/cpp/src/msgpack-c/test/CMakeLists.txt diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/array_ref.cpp b/barretenberg/cpp/src/msgpack-c/test/array_ref.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/array_ref.cpp rename to barretenberg/cpp/src/msgpack-c/test/array_ref.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/boost_fusion.cpp b/barretenberg/cpp/src/msgpack-c/test/boost_fusion.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/boost_fusion.cpp rename to barretenberg/cpp/src/msgpack-c/test/boost_fusion.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/boost_optional.cpp b/barretenberg/cpp/src/msgpack-c/test/boost_optional.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/boost_optional.cpp rename to barretenberg/cpp/src/msgpack-c/test/boost_optional.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/boost_string_ref.cpp b/barretenberg/cpp/src/msgpack-c/test/boost_string_ref.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/boost_string_ref.cpp rename to barretenberg/cpp/src/msgpack-c/test/boost_string_ref.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/boost_string_view.cpp b/barretenberg/cpp/src/msgpack-c/test/boost_string_view.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/boost_string_view.cpp rename to barretenberg/cpp/src/msgpack-c/test/boost_string_view.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/boost_variant.cpp b/barretenberg/cpp/src/msgpack-c/test/boost_variant.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/boost_variant.cpp rename to barretenberg/cpp/src/msgpack-c/test/boost_variant.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/buffer.cpp b/barretenberg/cpp/src/msgpack-c/test/buffer.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/buffer.cpp rename to barretenberg/cpp/src/msgpack-c/test/buffer.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/buffer_c.cpp b/barretenberg/cpp/src/msgpack-c/test/buffer_c.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/buffer_c.cpp rename to barretenberg/cpp/src/msgpack-c/test/buffer_c.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/carray.cpp b/barretenberg/cpp/src/msgpack-c/test/carray.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/carray.cpp rename to barretenberg/cpp/src/msgpack-c/test/carray.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/cases.cpp b/barretenberg/cpp/src/msgpack-c/test/cases.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/cases.cpp rename to barretenberg/cpp/src/msgpack-c/test/cases.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/cases.mpac b/barretenberg/cpp/src/msgpack-c/test/cases.mpac similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/cases.mpac rename to barretenberg/cpp/src/msgpack-c/test/cases.mpac diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/cases_compact.mpac b/barretenberg/cpp/src/msgpack-c/test/cases_compact.mpac similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/cases_compact.mpac rename to barretenberg/cpp/src/msgpack-c/test/cases_compact.mpac diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/convert.cpp b/barretenberg/cpp/src/msgpack-c/test/convert.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/convert.cpp rename to barretenberg/cpp/src/msgpack-c/test/convert.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/fixint.cpp b/barretenberg/cpp/src/msgpack-c/test/fixint.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/fixint.cpp rename to barretenberg/cpp/src/msgpack-c/test/fixint.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/fuzz_unpack_pack_fuzzer_cpp11.cpp b/barretenberg/cpp/src/msgpack-c/test/fuzz_unpack_pack_fuzzer_cpp11.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/fuzz_unpack_pack_fuzzer_cpp11.cpp rename to barretenberg/cpp/src/msgpack-c/test/fuzz_unpack_pack_fuzzer_cpp11.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/inc_adaptor_define.cpp b/barretenberg/cpp/src/msgpack-c/test/inc_adaptor_define.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/inc_adaptor_define.cpp rename to barretenberg/cpp/src/msgpack-c/test/inc_adaptor_define.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/iterator_cpp11.cpp b/barretenberg/cpp/src/msgpack-c/test/iterator_cpp11.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/iterator_cpp11.cpp rename to barretenberg/cpp/src/msgpack-c/test/iterator_cpp11.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/json.cpp b/barretenberg/cpp/src/msgpack-c/test/json.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/json.cpp rename to barretenberg/cpp/src/msgpack-c/test/json.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/limit.cpp b/barretenberg/cpp/src/msgpack-c/test/limit.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/limit.cpp rename to barretenberg/cpp/src/msgpack-c/test/limit.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_basic.cpp b/barretenberg/cpp/src/msgpack-c/test/msgpack_basic.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_basic.cpp rename to barretenberg/cpp/src/msgpack-c/test/msgpack_basic.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_container.cpp b/barretenberg/cpp/src/msgpack-c/test/msgpack_container.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_container.cpp rename to barretenberg/cpp/src/msgpack-c/test/msgpack_container.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_cpp11.cpp b/barretenberg/cpp/src/msgpack-c/test/msgpack_cpp11.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_cpp11.cpp rename to barretenberg/cpp/src/msgpack-c/test/msgpack_cpp11.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_cpp17.cpp b/barretenberg/cpp/src/msgpack-c/test/msgpack_cpp17.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_cpp17.cpp rename to barretenberg/cpp/src/msgpack-c/test/msgpack_cpp17.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_cpp20.cpp b/barretenberg/cpp/src/msgpack-c/test/msgpack_cpp20.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_cpp20.cpp rename to barretenberg/cpp/src/msgpack-c/test/msgpack_cpp20.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_stream.cpp b/barretenberg/cpp/src/msgpack-c/test/msgpack_stream.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_stream.cpp rename to barretenberg/cpp/src/msgpack-c/test/msgpack_stream.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_tuple.cpp b/barretenberg/cpp/src/msgpack-c/test/msgpack_tuple.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_tuple.cpp rename to barretenberg/cpp/src/msgpack-c/test/msgpack_tuple.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_vref.cpp b/barretenberg/cpp/src/msgpack-c/test/msgpack_vref.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_vref.cpp rename to barretenberg/cpp/src/msgpack-c/test/msgpack_vref.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_x3_parse.cpp b/barretenberg/cpp/src/msgpack-c/test/msgpack_x3_parse.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/msgpack_x3_parse.cpp rename to barretenberg/cpp/src/msgpack-c/test/msgpack_x3_parse.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/multi_file1.cpp b/barretenberg/cpp/src/msgpack-c/test/multi_file1.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/multi_file1.cpp rename to barretenberg/cpp/src/msgpack-c/test/multi_file1.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/multi_file2.cpp b/barretenberg/cpp/src/msgpack-c/test/multi_file2.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/multi_file2.cpp rename to barretenberg/cpp/src/msgpack-c/test/multi_file2.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/object.cpp b/barretenberg/cpp/src/msgpack-c/test/object.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/object.cpp rename to barretenberg/cpp/src/msgpack-c/test/object.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/object_with_zone.cpp b/barretenberg/cpp/src/msgpack-c/test/object_with_zone.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/object_with_zone.cpp rename to barretenberg/cpp/src/msgpack-c/test/object_with_zone.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/pack_unpack.cpp b/barretenberg/cpp/src/msgpack-c/test/pack_unpack.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/pack_unpack.cpp rename to barretenberg/cpp/src/msgpack-c/test/pack_unpack.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/raw.cpp b/barretenberg/cpp/src/msgpack-c/test/raw.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/raw.cpp rename to barretenberg/cpp/src/msgpack-c/test/raw.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/reference.cpp b/barretenberg/cpp/src/msgpack-c/test/reference.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/reference.cpp rename to barretenberg/cpp/src/msgpack-c/test/reference.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/reference_cpp11.cpp b/barretenberg/cpp/src/msgpack-c/test/reference_cpp11.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/reference_cpp11.cpp rename to barretenberg/cpp/src/msgpack-c/test/reference_cpp11.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/reference_wrapper_cpp11.cpp b/barretenberg/cpp/src/msgpack-c/test/reference_wrapper_cpp11.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/reference_wrapper_cpp11.cpp rename to barretenberg/cpp/src/msgpack-c/test/reference_wrapper_cpp11.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/shared_ptr_cpp11.cpp b/barretenberg/cpp/src/msgpack-c/test/shared_ptr_cpp11.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/shared_ptr_cpp11.cpp rename to barretenberg/cpp/src/msgpack-c/test/shared_ptr_cpp11.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/size_equal_only.cpp b/barretenberg/cpp/src/msgpack-c/test/size_equal_only.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/size_equal_only.cpp rename to barretenberg/cpp/src/msgpack-c/test/size_equal_only.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/streaming.cpp b/barretenberg/cpp/src/msgpack-c/test/streaming.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/streaming.cpp rename to barretenberg/cpp/src/msgpack-c/test/streaming.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/test_allocator.hpp b/barretenberg/cpp/src/msgpack-c/test/test_allocator.hpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/test_allocator.hpp rename to barretenberg/cpp/src/msgpack-c/test/test_allocator.hpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/unique_ptr_cpp11.cpp b/barretenberg/cpp/src/msgpack-c/test/unique_ptr_cpp11.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/unique_ptr_cpp11.cpp rename to barretenberg/cpp/src/msgpack-c/test/unique_ptr_cpp11.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/user_class.cpp b/barretenberg/cpp/src/msgpack-c/test/user_class.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/user_class.cpp rename to barretenberg/cpp/src/msgpack-c/test/user_class.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/version.cpp b/barretenberg/cpp/src/msgpack-c/test/version.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/version.cpp rename to barretenberg/cpp/src/msgpack-c/test/version.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/visitor.cpp b/barretenberg/cpp/src/msgpack-c/test/visitor.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/visitor.cpp rename to barretenberg/cpp/src/msgpack-c/test/visitor.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/test/zone.cpp b/barretenberg/cpp/src/msgpack-c/test/zone.cpp similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/test/zone.cpp rename to barretenberg/cpp/src/msgpack-c/test/zone.cpp diff --git a/circuits/cpp/barretenberg/cpp/src/msgpack-c/update_version.sh b/barretenberg/cpp/src/msgpack-c/update_version.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/src/msgpack-c/update_version.sh rename to barretenberg/cpp/src/msgpack-c/update_version.sh diff --git a/circuits/cpp/barretenberg/cpp/srs_db/download_ignition.sh b/barretenberg/cpp/srs_db/download_ignition.sh similarity index 100% rename from circuits/cpp/barretenberg/cpp/srs_db/download_ignition.sh rename to barretenberg/cpp/srs_db/download_ignition.sh diff --git a/circuits/cpp/barretenberg/cpp/srs_db/grumpkin/monomial/README.md b/barretenberg/cpp/srs_db/grumpkin/monomial/README.md similarity index 100% rename from circuits/cpp/barretenberg/cpp/srs_db/grumpkin/monomial/README.md rename to barretenberg/cpp/srs_db/grumpkin/monomial/README.md diff --git a/circuits/cpp/barretenberg/cpp/srs_db/ignition/monomial/checksums b/barretenberg/cpp/srs_db/ignition/monomial/checksums similarity index 100% rename from circuits/cpp/barretenberg/cpp/srs_db/ignition/monomial/checksums rename to barretenberg/cpp/srs_db/ignition/monomial/checksums diff --git a/circuits/cpp/barretenberg/cpp/srs_db/ignition/monomial/g2.dat b/barretenberg/cpp/srs_db/ignition/monomial/g2.dat similarity index 100% rename from circuits/cpp/barretenberg/cpp/srs_db/ignition/monomial/g2.dat rename to barretenberg/cpp/srs_db/ignition/monomial/g2.dat diff --git a/circuits/cpp/barretenberg/exports.json b/barretenberg/exports.json similarity index 100% rename from circuits/cpp/barretenberg/exports.json rename to barretenberg/exports.json diff --git a/circuits/cpp/barretenberg/flake.lock b/barretenberg/flake.lock similarity index 100% rename from circuits/cpp/barretenberg/flake.lock rename to barretenberg/flake.lock diff --git a/circuits/cpp/barretenberg/flake.nix b/barretenberg/flake.nix similarity index 100% rename from circuits/cpp/barretenberg/flake.nix rename to barretenberg/flake.nix diff --git a/circuits/cpp/barretenberg/scripts/bindgen.sh b/barretenberg/scripts/bindgen.sh similarity index 100% rename from circuits/cpp/barretenberg/scripts/bindgen.sh rename to barretenberg/scripts/bindgen.sh diff --git a/circuits/cpp/barretenberg/scripts/c_bind_files.txt b/barretenberg/scripts/c_bind_files.txt similarity index 100% rename from circuits/cpp/barretenberg/scripts/c_bind_files.txt rename to barretenberg/scripts/c_bind_files.txt diff --git a/circuits/cpp/barretenberg/scripts/decls_json.py b/barretenberg/scripts/decls_json.py similarity index 100% rename from circuits/cpp/barretenberg/scripts/decls_json.py rename to barretenberg/scripts/decls_json.py diff --git a/circuits/cpp/barretenberg/sol/.gitignore b/barretenberg/sol/.gitignore similarity index 100% rename from circuits/cpp/barretenberg/sol/.gitignore rename to barretenberg/sol/.gitignore diff --git a/circuits/cpp/barretenberg/sol/Dockerfile b/barretenberg/sol/Dockerfile similarity index 100% rename from circuits/cpp/barretenberg/sol/Dockerfile rename to barretenberg/sol/Dockerfile diff --git a/circuits/cpp/barretenberg/sol/README.md b/barretenberg/sol/README.md similarity index 100% rename from circuits/cpp/barretenberg/sol/README.md rename to barretenberg/sol/README.md diff --git a/circuits/cpp/barretenberg/sol/bootstrap.sh b/barretenberg/sol/bootstrap.sh similarity index 100% rename from circuits/cpp/barretenberg/sol/bootstrap.sh rename to barretenberg/sol/bootstrap.sh diff --git a/circuits/cpp/barretenberg/sol/figures/verifier.png b/barretenberg/sol/figures/verifier.png similarity index 100% rename from circuits/cpp/barretenberg/sol/figures/verifier.png rename to barretenberg/sol/figures/verifier.png diff --git a/circuits/cpp/barretenberg/sol/foundry.toml b/barretenberg/sol/foundry.toml similarity index 100% rename from circuits/cpp/barretenberg/sol/foundry.toml rename to barretenberg/sol/foundry.toml diff --git a/circuits/cpp/barretenberg/sol/lib/forge-std b/barretenberg/sol/lib/forge-std similarity index 100% rename from circuits/cpp/barretenberg/sol/lib/forge-std rename to barretenberg/sol/lib/forge-std diff --git a/circuits/cpp/barretenberg/sol/lib/openzeppelin-contracts b/barretenberg/sol/lib/openzeppelin-contracts similarity index 100% rename from circuits/cpp/barretenberg/sol/lib/openzeppelin-contracts rename to barretenberg/sol/lib/openzeppelin-contracts diff --git a/circuits/cpp/barretenberg/sol/lib/solidity-stringutils b/barretenberg/sol/lib/solidity-stringutils similarity index 100% rename from circuits/cpp/barretenberg/sol/lib/solidity-stringutils rename to barretenberg/sol/lib/solidity-stringutils diff --git a/circuits/cpp/barretenberg/sol/remappings.txt b/barretenberg/sol/remappings.txt similarity index 100% rename from circuits/cpp/barretenberg/sol/remappings.txt rename to barretenberg/sol/remappings.txt diff --git a/circuits/cpp/barretenberg/sol/scripts/init.sh b/barretenberg/sol/scripts/init.sh similarity index 100% rename from circuits/cpp/barretenberg/sol/scripts/init.sh rename to barretenberg/sol/scripts/init.sh diff --git a/circuits/cpp/barretenberg/sol/scripts/install_foundry.sh b/barretenberg/sol/scripts/install_foundry.sh similarity index 100% rename from circuits/cpp/barretenberg/sol/scripts/install_foundry.sh rename to barretenberg/sol/scripts/install_foundry.sh diff --git a/circuits/cpp/barretenberg/sol/scripts/run_fuzzer.sh b/barretenberg/sol/scripts/run_fuzzer.sh similarity index 100% rename from circuits/cpp/barretenberg/sol/scripts/run_fuzzer.sh rename to barretenberg/sol/scripts/run_fuzzer.sh diff --git a/circuits/cpp/barretenberg/sol/src/interfaces/IVerifier.sol b/barretenberg/sol/src/interfaces/IVerifier.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/src/interfaces/IVerifier.sol rename to barretenberg/sol/src/interfaces/IVerifier.sol diff --git a/circuits/cpp/barretenberg/sol/src/ultra/BaseUltraVerifier.sol b/barretenberg/sol/src/ultra/BaseUltraVerifier.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/src/ultra/BaseUltraVerifier.sol rename to barretenberg/sol/src/ultra/BaseUltraVerifier.sol diff --git a/circuits/cpp/barretenberg/sol/src/ultra/instance/Add2UltraVerifier.sol b/barretenberg/sol/src/ultra/instance/Add2UltraVerifier.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/src/ultra/instance/Add2UltraVerifier.sol rename to barretenberg/sol/src/ultra/instance/Add2UltraVerifier.sol diff --git a/circuits/cpp/barretenberg/sol/src/ultra/instance/BlakeUltraVerifier.sol b/barretenberg/sol/src/ultra/instance/BlakeUltraVerifier.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/src/ultra/instance/BlakeUltraVerifier.sol rename to barretenberg/sol/src/ultra/instance/BlakeUltraVerifier.sol diff --git a/circuits/cpp/barretenberg/sol/src/ultra/instance/RecursiveUltraVerifier.sol b/barretenberg/sol/src/ultra/instance/RecursiveUltraVerifier.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/src/ultra/instance/RecursiveUltraVerifier.sol rename to barretenberg/sol/src/ultra/instance/RecursiveUltraVerifier.sol diff --git a/circuits/cpp/barretenberg/sol/src/ultra/keys/Add2UltraVerificationKey.sol b/barretenberg/sol/src/ultra/keys/Add2UltraVerificationKey.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/src/ultra/keys/Add2UltraVerificationKey.sol rename to barretenberg/sol/src/ultra/keys/Add2UltraVerificationKey.sol diff --git a/circuits/cpp/barretenberg/sol/src/ultra/keys/BlakeUltraVerificationKey.sol b/barretenberg/sol/src/ultra/keys/BlakeUltraVerificationKey.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/src/ultra/keys/BlakeUltraVerificationKey.sol rename to barretenberg/sol/src/ultra/keys/BlakeUltraVerificationKey.sol diff --git a/circuits/cpp/barretenberg/sol/src/ultra/keys/RecursiveUltraVerificationKey.sol b/barretenberg/sol/src/ultra/keys/RecursiveUltraVerificationKey.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/src/ultra/keys/RecursiveUltraVerificationKey.sol rename to barretenberg/sol/src/ultra/keys/RecursiveUltraVerificationKey.sol diff --git a/circuits/cpp/barretenberg/sol/test/base/DifferentialFuzzer.sol b/barretenberg/sol/test/base/DifferentialFuzzer.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/test/base/DifferentialFuzzer.sol rename to barretenberg/sol/test/base/DifferentialFuzzer.sol diff --git a/circuits/cpp/barretenberg/sol/test/base/TestBase.sol b/barretenberg/sol/test/base/TestBase.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/test/base/TestBase.sol rename to barretenberg/sol/test/base/TestBase.sol diff --git a/circuits/cpp/barretenberg/sol/test/ultra/Add2.t.sol b/barretenberg/sol/test/ultra/Add2.t.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/test/ultra/Add2.t.sol rename to barretenberg/sol/test/ultra/Add2.t.sol diff --git a/circuits/cpp/barretenberg/sol/test/ultra/Blake.t.sol b/barretenberg/sol/test/ultra/Blake.t.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/test/ultra/Blake.t.sol rename to barretenberg/sol/test/ultra/Blake.t.sol diff --git a/circuits/cpp/barretenberg/sol/test/ultra/Recursive.t.sol b/barretenberg/sol/test/ultra/Recursive.t.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/test/ultra/Recursive.t.sol rename to barretenberg/sol/test/ultra/Recursive.t.sol diff --git a/circuits/cpp/barretenberg/sol/test/ultra/TestBaseUltra.sol b/barretenberg/sol/test/ultra/TestBaseUltra.sol similarity index 100% rename from circuits/cpp/barretenberg/sol/test/ultra/TestBaseUltra.sol rename to barretenberg/sol/test/ultra/TestBaseUltra.sol diff --git a/circuits/cpp/barretenberg/ts/.dockerignore b/barretenberg/ts/.dockerignore similarity index 100% rename from circuits/cpp/barretenberg/ts/.dockerignore rename to barretenberg/ts/.dockerignore diff --git a/circuits/cpp/barretenberg/ts/.eslintrc.cjs b/barretenberg/ts/.eslintrc.cjs similarity index 100% rename from circuits/cpp/barretenberg/ts/.eslintrc.cjs rename to barretenberg/ts/.eslintrc.cjs diff --git a/circuits/cpp/barretenberg/ts/.gitignore b/barretenberg/ts/.gitignore similarity index 100% rename from circuits/cpp/barretenberg/ts/.gitignore rename to barretenberg/ts/.gitignore diff --git a/circuits/cpp/barretenberg/ts/.prettierrc.json b/barretenberg/ts/.prettierrc.json similarity index 100% rename from circuits/cpp/barretenberg/ts/.prettierrc.json rename to barretenberg/ts/.prettierrc.json diff --git a/circuits/cpp/barretenberg/ts/.yarn/releases/yarn-berry.cjs b/barretenberg/ts/.yarn/releases/yarn-berry.cjs similarity index 100% rename from circuits/cpp/barretenberg/ts/.yarn/releases/yarn-berry.cjs rename to barretenberg/ts/.yarn/releases/yarn-berry.cjs diff --git a/circuits/cpp/barretenberg/ts/.yarnrc.yml b/barretenberg/ts/.yarnrc.yml similarity index 100% rename from circuits/cpp/barretenberg/ts/.yarnrc.yml rename to barretenberg/ts/.yarnrc.yml diff --git a/barretenberg/ts/CHANGELOG.md b/barretenberg/ts/CHANGELOG.md index 352f3ac1273..1dcbdc136f6 100644 --- a/barretenberg/ts/CHANGELOG.md +++ b/barretenberg/ts/CHANGELOG.md @@ -1,15 +1,201 @@ # Changelog -## [0.5.2](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.5.1...barretenberg.js-v0.5.2) (2023-09-08) +## [0.6.7](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.6.6...barretenberg.js-v0.6.7) (2023-09-11) ### Miscellaneous -* **master:** Release 0.6.0 ([#2121](https://github.com/AztecProtocol/aztec-packages/issues/2121)) ([9bc8e11](https://github.com/AztecProtocol/aztec-packages/commit/9bc8e11ec4598c54d2c8f37c9f1a38ad90148f12)) +* **barretenberg.js:** Synchronize aztec-packages versions + +## [0.6.6](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.6.5...barretenberg.js-v0.6.6) (2023-09-11) + + +### Miscellaneous + +* **barretenberg.js:** Synchronize aztec-packages versions + +## [0.6.5](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.6.4...barretenberg.js-v0.6.5) (2023-09-08) + + +### Miscellaneous + +* **barretenberg.js:** Synchronize aztec-packages versions + +## [0.6.4](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.6.3...barretenberg.js-v0.6.4) (2023-09-08) -## [0.6.0](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.5.1...barretenberg.js-v0.6.0) (2023-09-08) + +### Miscellaneous + +* **barretenberg.js:** Synchronize aztec-packages versions + +## [0.6.3](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.6.2...barretenberg.js-v0.6.3) (2023-09-08) + + +### Miscellaneous + +* **barretenberg.js:** Synchronize aztec-packages versions + +## [0.6.2](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.6.1...barretenberg.js-v0.6.2) (2023-09-08) ### Miscellaneous * **barretenberg.js:** Synchronize aztec-packages versions + +## [0.6.1](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.5.2...barretenberg.js-v0.6.1) (2023-09-08) + + +### Miscellaneous + +* **master:** Release 0.5.2 ([#2141](https://github.com/AztecProtocol/aztec-packages/issues/2141)) ([451aad6](https://github.com/AztecProtocol/aztec-packages/commit/451aad6ea92ebced9839ca14baae10cee327be35)) +* Release 0.5.2 ([f76b53c](https://github.com/AztecProtocol/aztec-packages/commit/f76b53c985116ac131a9b11b2a255feb7d0f8f13)) +* Release 0.6.1 ([1bd1a79](https://github.com/AztecProtocol/aztec-packages/commit/1bd1a79b0cefcd90306133aab141d992e8ea5fc3)) + +## [0.5.2](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.5.2...barretenberg.js-v0.5.2) (2023-09-08) + + +### Miscellaneous + +* Release 0.5.2 ([f76b53c](https://github.com/AztecProtocol/aztec-packages/commit/f76b53c985116ac131a9b11b2a255feb7d0f8f13)) + +## [0.5.1](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.5.0...barretenberg.js-v0.5.1) (2023-09-05) + + +### Features + +* Add `info` command to bb ([#2010](https://github.com/AztecProtocol/barretenberg/issues/2010)) ([2882d97](https://github.com/AztecProtocol/barretenberg/commit/2882d97f5165239badb328be80568e7d683c0465)) +* **ci:** Use content hash in build system, restrict docs build to *.ts or *.cpp ([#1953](https://github.com/AztecProtocol/barretenberg/issues/1953)) ([297a20d](https://github.com/AztecProtocol/barretenberg/commit/297a20d7878a4aabab1cabf2cc5d2d67f9e969c5)) + + +### Bug Fixes + +* **bb.js:** (breaking change) bundles bb.js properly so that it works in the browser and in node ([#1855](https://github.com/AztecProtocol/barretenberg/issues/1855)) ([bc93a5f](https://github.com/AztecProtocol/barretenberg/commit/bc93a5f8510d0dc600343e7e613ab84380d3c225)) +* **ci:** Incorrect content hash in some build targets ([#1973](https://github.com/AztecProtocol/barretenberg/issues/1973)) ([c6c469a](https://github.com/AztecProtocol/barretenberg/commit/c6c469aa5da7c6973f656ddf8af4fb20c3e8e4f6)) +* Master ([#1981](https://github.com/AztecProtocol/barretenberg/issues/1981)) ([59a454e](https://github.com/AztecProtocol/barretenberg/commit/59a454ecf1611424893e1cb093774a23dde39310)) + +## [0.5.0](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.6...barretenberg.js-v0.5.0) (2023-09-01) + + +### ⚠ BREAKING CHANGES + +* update to acvm 0.24.0 ([#1925](https://github.com/AztecProtocol/barretenberg/issues/1925)) + +### Miscellaneous Chores + +* Update to acvm 0.24.0 ([#1925](https://github.com/AztecProtocol/barretenberg/issues/1925)) ([5d8db8e](https://github.com/AztecProtocol/barretenberg/commit/5d8db8eb993334b43e24a51efba9c59e123320ab)) + +## [0.4.6](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.5...barretenberg.js-v0.4.6) (2023-08-29) + + +### Miscellaneous Chores + +* **barretenberg.js:** Synchronize barretenberg versions + +## [0.4.5](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.4...barretenberg.js-v0.4.5) (2023-08-28) + + +### Miscellaneous Chores + +* **barretenberg.js:** Synchronize barretenberg versions + +## [0.4.4](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.3...barretenberg.js-v0.4.4) (2023-08-28) + + +### Miscellaneous Chores + +* **barretenberg.js:** Synchronize barretenberg versions + +## [0.4.3](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.2...barretenberg.js-v0.4.3) (2023-08-23) + + +### Bug Fixes + +* Download SRS using one canonical URL across the codebase ([#1748](https://github.com/AztecProtocol/barretenberg/issues/1748)) ([5c91de7](https://github.com/AztecProtocol/barretenberg/commit/5c91de7296e054f6d5ac3dca94ca85e06d496048)) +* Proving fails when circuit has size > ~500K ([#1739](https://github.com/AztecProtocol/barretenberg/issues/1739)) ([6d32383](https://github.com/AztecProtocol/barretenberg/commit/6d323838a525190618d608598357ee4608c46699)) + +## [0.4.2](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.1...barretenberg.js-v0.4.2) (2023-08-21) + + +### Miscellaneous Chores + +* **barretenberg.js:** Synchronize barretenberg versions + +## [0.4.1](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.0...barretenberg.js-v0.4.1) (2023-08-21) + + +### Bug Fixes + +* **bb:** Fix Typo ([#1709](https://github.com/AztecProtocol/barretenberg/issues/1709)) ([286d64e](https://github.com/AztecProtocol/barretenberg/commit/286d64e6036336314114f1d2a25273f4dabe36f4)) + +## [0.4.0](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.6...barretenberg.js-v0.4.0) (2023-08-21) + + +### ⚠ BREAKING CHANGES + +* Barretenberg binaries now take in the encoded circuit instead of a json file ([#1618](https://github.com/AztecProtocol/barretenberg/issues/1618)) + +### Bug Fixes + +* Barretenberg binaries now take in the encoded circuit instead of a json file ([#1618](https://github.com/AztecProtocol/barretenberg/issues/1618)) ([180cdc9](https://github.com/AztecProtocol/barretenberg/commit/180cdc9ac7cf9aa793d9774dc866ceb4e6ec3fbc)) +* Bin reference when installing package ([#678](https://github.com/AztecProtocol/barretenberg/issues/678)) ([c734295](https://github.com/AztecProtocol/barretenberg/commit/c734295a10d2c40ede773519664170880f28b2b7)) +* Sync aztec master ([#680](https://github.com/AztecProtocol/barretenberg/issues/680)) ([3afc243](https://github.com/AztecProtocol/barretenberg/commit/3afc2438053f530e49fbebbdbadd8db8a630bb8c)) + +## [0.3.6](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.5...barretenberg.js-v0.3.6) (2023-08-08) + + +### Miscellaneous Chores + +* **barretenberg.js:** Synchronize barretenberg versions + +## [0.3.5](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.4...barretenberg.js-v0.3.5) (2023-08-07) + + +### Miscellaneous Chores + +* **barretenberg.js:** Synchronize barretenberg versions + +## [0.3.4](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.3...barretenberg.js-v0.3.4) (2023-07-25) + + +### Features + +* Modify bb.js to be compatible with next.js ([#544](https://github.com/AztecProtocol/barretenberg/issues/544)) ([d384089](https://github.com/AztecProtocol/barretenberg/commit/d384089f60d1a6d5baeb0d3459556a310b790366)) + +## [0.3.3](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.2...barretenberg.js-v0.3.3) (2023-07-17) + + +### Features + +* Bb and bb.js directly parse nargo bincode format. ([#610](https://github.com/AztecProtocol/barretenberg/issues/610)) ([d25e37a](https://github.com/AztecProtocol/barretenberg/commit/d25e37ad74b88dc45337b2a529ede3136dd4a699)) + +## [0.3.2](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.1...barretenberg.js-v0.3.2) (2023-07-12) + + +### Miscellaneous Chores + +* **barretenberg.js:** Synchronize barretenberg versions + +## [0.3.1](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.0...barretenberg.js-v0.3.1) (2023-07-11) + + +### Miscellaneous Chores + +* **barretenberg.js:** Synchronize barretenberg versions + +## 0.3.0 (2023-07-11) + + +### Features + +* **bb.js:** initial API ([#232](https://github.com/AztecProtocol/barretenberg/issues/232)) ([c860b02](https://github.com/AztecProtocol/barretenberg/commit/c860b02d80425de161af50acf33e94d94eb0659c)) +* **dsl:** Add ECDSA secp256r1 verification ([#582](https://github.com/AztecProtocol/barretenberg/issues/582)) ([adc4c7b](https://github.com/AztecProtocol/barretenberg/commit/adc4c7b4eb634eae28dd28e25b94b93a5b49c80e)) +* Initial native version of bb binary. ([#524](https://github.com/AztecProtocol/barretenberg/issues/524)) ([4a1b532](https://github.com/AztecProtocol/barretenberg/commit/4a1b5322dc78921d253e6a374eba0b616ab788df)) +* Optimize memory consumption of pedersen generators ([#413](https://github.com/AztecProtocol/barretenberg/issues/413)) ([d60b16a](https://github.com/AztecProtocol/barretenberg/commit/d60b16a14219fd4bd130ce4537c3e94bfa10128f)) +* **ts:** allow passing srs via env functions ([#260](https://github.com/AztecProtocol/barretenberg/issues/260)) ([ac78353](https://github.com/AztecProtocol/barretenberg/commit/ac7835304f4524039abf0a0df9ae85d905f55c86)) + + +### Bug Fixes + +* **build:** git add -f .yalc ([#265](https://github.com/AztecProtocol/barretenberg/issues/265)) ([7671192](https://github.com/AztecProtocol/barretenberg/commit/7671192c8a60ff0bc0f8ad3e14ac299ff780cc25)) +* bump timeout on common test. ([c9bc87d](https://github.com/AztecProtocol/barretenberg/commit/c9bc87d29fa1325162cb1e7bf2db7cc85747fd9e)) +* Trigger release-please ([#594](https://github.com/AztecProtocol/barretenberg/issues/594)) ([5042861](https://github.com/AztecProtocol/barretenberg/commit/5042861405df6b5659c0c32418720d8bdea81081)) diff --git a/circuits/cpp/barretenberg/ts/Dockerfile b/barretenberg/ts/Dockerfile similarity index 100% rename from circuits/cpp/barretenberg/ts/Dockerfile rename to barretenberg/ts/Dockerfile diff --git a/circuits/cpp/barretenberg/ts/README.md b/barretenberg/ts/README.md similarity index 100% rename from circuits/cpp/barretenberg/ts/README.md rename to barretenberg/ts/README.md diff --git a/circuits/cpp/barretenberg/ts/bb.js-dev b/barretenberg/ts/bb.js-dev similarity index 100% rename from circuits/cpp/barretenberg/ts/bb.js-dev rename to barretenberg/ts/bb.js-dev diff --git a/circuits/cpp/barretenberg/ts/bin-test/target/acir.gz b/barretenberg/ts/bin-test/target/acir.gz similarity index 100% rename from circuits/cpp/barretenberg/ts/bin-test/target/acir.gz rename to barretenberg/ts/bin-test/target/acir.gz diff --git a/circuits/cpp/barretenberg/ts/bin-test/target/witness.gz b/barretenberg/ts/bin-test/target/witness.gz similarity index 100% rename from circuits/cpp/barretenberg/ts/bin-test/target/witness.gz rename to barretenberg/ts/bin-test/target/witness.gz diff --git a/circuits/cpp/barretenberg/ts/cjs-entry/index.cjs b/barretenberg/ts/cjs-entry/index.cjs similarity index 100% rename from circuits/cpp/barretenberg/ts/cjs-entry/index.cjs rename to barretenberg/ts/cjs-entry/index.cjs diff --git a/circuits/cpp/barretenberg/ts/cjs-entry/index.d.ts b/barretenberg/ts/cjs-entry/index.d.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/cjs-entry/index.d.ts rename to barretenberg/ts/cjs-entry/index.d.ts diff --git a/circuits/cpp/barretenberg/ts/package.json b/barretenberg/ts/package.json similarity index 100% rename from circuits/cpp/barretenberg/ts/package.json rename to barretenberg/ts/package.json diff --git a/circuits/cpp/barretenberg/ts/scripts/run_tests b/barretenberg/ts/scripts/run_tests similarity index 100% rename from circuits/cpp/barretenberg/ts/scripts/run_tests rename to barretenberg/ts/scripts/run_tests diff --git a/circuits/cpp/barretenberg/ts/src/async_map/index.ts b/barretenberg/ts/src/async_map/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/async_map/index.ts rename to barretenberg/ts/src/async_map/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg-threads.wasm b/barretenberg/ts/src/barretenberg-threads.wasm similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg-threads.wasm rename to barretenberg/ts/src/barretenberg-threads.wasm diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg.wasm b/barretenberg/ts/src/barretenberg.wasm similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg.wasm rename to barretenberg/ts/src/barretenberg.wasm diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg/index.ts b/barretenberg/ts/src/barretenberg/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg/index.ts rename to barretenberg/ts/src/barretenberg/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_api/blake2s.test.ts b/barretenberg/ts/src/barretenberg_api/blake2s.test.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_api/blake2s.test.ts rename to barretenberg/ts/src/barretenberg_api/blake2s.test.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_api/common.test.ts b/barretenberg/ts/src/barretenberg_api/common.test.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_api/common.test.ts rename to barretenberg/ts/src/barretenberg_api/common.test.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_api/index.ts b/barretenberg/ts/src/barretenberg_api/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_api/index.ts rename to barretenberg/ts/src/barretenberg_api/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_api/pedersen.test.ts b/barretenberg/ts/src/barretenberg_api/pedersen.test.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_api/pedersen.test.ts rename to barretenberg/ts/src/barretenberg_api/pedersen.test.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_api/schnorr.test.ts b/barretenberg/ts/src/barretenberg_api/schnorr.test.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_api/schnorr.test.ts rename to barretenberg/ts/src/barretenberg_api/schnorr.test.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_binder/heap_allocator.ts b/barretenberg/ts/src/barretenberg_binder/heap_allocator.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_binder/heap_allocator.ts rename to barretenberg/ts/src/barretenberg_binder/heap_allocator.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_binder/index.ts b/barretenberg/ts/src/barretenberg_binder/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_binder/index.ts rename to barretenberg/ts/src/barretenberg_binder/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_base/index.ts b/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_base/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_base/index.ts rename to barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_base/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts b/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts rename to barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts b/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts rename to barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts b/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts rename to barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts b/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts rename to barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/index.ts b/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/index.ts rename to barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_main/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts b/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts rename to barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts b/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts rename to barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts b/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts rename to barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts b/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts rename to barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts b/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts rename to barretenberg/ts/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/fetch_code/browser/index.ts b/barretenberg/ts/src/barretenberg_wasm/fetch_code/browser/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/fetch_code/browser/index.ts rename to barretenberg/ts/src/barretenberg_wasm/fetch_code/browser/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/fetch_code/browser/wasm-module.d.ts b/barretenberg/ts/src/barretenberg_wasm/fetch_code/browser/wasm-module.d.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/fetch_code/browser/wasm-module.d.ts rename to barretenberg/ts/src/barretenberg_wasm/fetch_code/browser/wasm-module.d.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/fetch_code/index.ts b/barretenberg/ts/src/barretenberg_wasm/fetch_code/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/fetch_code/index.ts rename to barretenberg/ts/src/barretenberg_wasm/fetch_code/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/fetch_code/node/index.ts b/barretenberg/ts/src/barretenberg_wasm/fetch_code/node/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/fetch_code/node/index.ts rename to barretenberg/ts/src/barretenberg_wasm/fetch_code/node/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/helpers/browser/index.ts b/barretenberg/ts/src/barretenberg_wasm/helpers/browser/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/helpers/browser/index.ts rename to barretenberg/ts/src/barretenberg_wasm/helpers/browser/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/helpers/index.ts b/barretenberg/ts/src/barretenberg_wasm/helpers/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/helpers/index.ts rename to barretenberg/ts/src/barretenberg_wasm/helpers/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/helpers/node/index.ts b/barretenberg/ts/src/barretenberg_wasm/helpers/node/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/helpers/node/index.ts rename to barretenberg/ts/src/barretenberg_wasm/helpers/node/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/helpers/node/node_endpoint.ts b/barretenberg/ts/src/barretenberg_wasm/helpers/node/node_endpoint.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/helpers/node/node_endpoint.ts rename to barretenberg/ts/src/barretenberg_wasm/helpers/node/node_endpoint.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/index.test.ts b/barretenberg/ts/src/barretenberg_wasm/index.test.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/index.test.ts rename to barretenberg/ts/src/barretenberg_wasm/index.test.ts diff --git a/circuits/cpp/barretenberg/ts/src/barretenberg_wasm/index.ts b/barretenberg/ts/src/barretenberg_wasm/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/barretenberg_wasm/index.ts rename to barretenberg/ts/src/barretenberg_wasm/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/bigint-array/index.ts b/barretenberg/ts/src/bigint-array/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/bigint-array/index.ts rename to barretenberg/ts/src/bigint-array/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/bindgen/function_declaration.ts b/barretenberg/ts/src/bindgen/function_declaration.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/bindgen/function_declaration.ts rename to barretenberg/ts/src/bindgen/function_declaration.ts diff --git a/circuits/cpp/barretenberg/ts/src/bindgen/index.ts b/barretenberg/ts/src/bindgen/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/bindgen/index.ts rename to barretenberg/ts/src/bindgen/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/bindgen/mappings.ts b/barretenberg/ts/src/bindgen/mappings.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/bindgen/mappings.ts rename to barretenberg/ts/src/bindgen/mappings.ts diff --git a/circuits/cpp/barretenberg/ts/src/bindgen/rust.ts b/barretenberg/ts/src/bindgen/rust.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/bindgen/rust.ts rename to barretenberg/ts/src/bindgen/rust.ts diff --git a/circuits/cpp/barretenberg/ts/src/bindgen/to_camel_case.ts b/barretenberg/ts/src/bindgen/to_camel_case.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/bindgen/to_camel_case.ts rename to barretenberg/ts/src/bindgen/to_camel_case.ts diff --git a/circuits/cpp/barretenberg/ts/src/bindgen/typescript.ts b/barretenberg/ts/src/bindgen/typescript.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/bindgen/typescript.ts rename to barretenberg/ts/src/bindgen/typescript.ts diff --git a/circuits/cpp/barretenberg/ts/src/crs/browser/cached_net_crs.ts b/barretenberg/ts/src/crs/browser/cached_net_crs.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/crs/browser/cached_net_crs.ts rename to barretenberg/ts/src/crs/browser/cached_net_crs.ts diff --git a/circuits/cpp/barretenberg/ts/src/crs/browser/index.ts b/barretenberg/ts/src/crs/browser/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/crs/browser/index.ts rename to barretenberg/ts/src/crs/browser/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/crs/index.ts b/barretenberg/ts/src/crs/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/crs/index.ts rename to barretenberg/ts/src/crs/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/crs/net_crs.ts b/barretenberg/ts/src/crs/net_crs.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/crs/net_crs.ts rename to barretenberg/ts/src/crs/net_crs.ts diff --git a/circuits/cpp/barretenberg/ts/src/crs/node/ignition_files_crs.ts b/barretenberg/ts/src/crs/node/ignition_files_crs.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/crs/node/ignition_files_crs.ts rename to barretenberg/ts/src/crs/node/ignition_files_crs.ts diff --git a/circuits/cpp/barretenberg/ts/src/crs/node/index.ts b/barretenberg/ts/src/crs/node/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/crs/node/index.ts rename to barretenberg/ts/src/crs/node/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/examples/simple.rawtest.ts b/barretenberg/ts/src/examples/simple.rawtest.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/examples/simple.rawtest.ts rename to barretenberg/ts/src/examples/simple.rawtest.ts diff --git a/circuits/cpp/barretenberg/ts/src/examples/simple.test.ts b/barretenberg/ts/src/examples/simple.test.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/examples/simple.test.ts rename to barretenberg/ts/src/examples/simple.test.ts diff --git a/circuits/cpp/barretenberg/ts/src/index.html b/barretenberg/ts/src/index.html similarity index 100% rename from circuits/cpp/barretenberg/ts/src/index.html rename to barretenberg/ts/src/index.html diff --git a/circuits/cpp/barretenberg/ts/src/index.ts b/barretenberg/ts/src/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/index.ts rename to barretenberg/ts/src/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/info.json b/barretenberg/ts/src/info.json similarity index 100% rename from circuits/cpp/barretenberg/ts/src/info.json rename to barretenberg/ts/src/info.json diff --git a/circuits/cpp/barretenberg/ts/src/main.ts b/barretenberg/ts/src/main.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/main.ts rename to barretenberg/ts/src/main.ts diff --git a/circuits/cpp/barretenberg/ts/src/random/browser/index.ts b/barretenberg/ts/src/random/browser/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/random/browser/index.ts rename to barretenberg/ts/src/random/browser/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/random/index.ts b/barretenberg/ts/src/random/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/random/index.ts rename to barretenberg/ts/src/random/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/random/node/index.ts b/barretenberg/ts/src/random/node/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/random/node/index.ts rename to barretenberg/ts/src/random/node/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/serialize/buffer_reader.ts b/barretenberg/ts/src/serialize/buffer_reader.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/serialize/buffer_reader.ts rename to barretenberg/ts/src/serialize/buffer_reader.ts diff --git a/circuits/cpp/barretenberg/ts/src/serialize/index.ts b/barretenberg/ts/src/serialize/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/serialize/index.ts rename to barretenberg/ts/src/serialize/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/serialize/output_type.ts b/barretenberg/ts/src/serialize/output_type.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/serialize/output_type.ts rename to barretenberg/ts/src/serialize/output_type.ts diff --git a/circuits/cpp/barretenberg/ts/src/serialize/serialize.ts b/barretenberg/ts/src/serialize/serialize.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/serialize/serialize.ts rename to barretenberg/ts/src/serialize/serialize.ts diff --git a/circuits/cpp/barretenberg/ts/src/types/fields.ts b/barretenberg/ts/src/types/fields.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/types/fields.ts rename to barretenberg/ts/src/types/fields.ts diff --git a/circuits/cpp/barretenberg/ts/src/types/fixed_size_buffer.ts b/barretenberg/ts/src/types/fixed_size_buffer.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/types/fixed_size_buffer.ts rename to barretenberg/ts/src/types/fixed_size_buffer.ts diff --git a/circuits/cpp/barretenberg/ts/src/types/index.ts b/barretenberg/ts/src/types/index.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/types/index.ts rename to barretenberg/ts/src/types/index.ts diff --git a/circuits/cpp/barretenberg/ts/src/types/point.ts b/barretenberg/ts/src/types/point.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/types/point.ts rename to barretenberg/ts/src/types/point.ts diff --git a/circuits/cpp/barretenberg/ts/src/types/ptr.ts b/barretenberg/ts/src/types/ptr.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/types/ptr.ts rename to barretenberg/ts/src/types/ptr.ts diff --git a/circuits/cpp/barretenberg/ts/src/types/raw_buffer.ts b/barretenberg/ts/src/types/raw_buffer.ts similarity index 100% rename from circuits/cpp/barretenberg/ts/src/types/raw_buffer.ts rename to barretenberg/ts/src/types/raw_buffer.ts diff --git a/circuits/cpp/barretenberg/ts/tsconfig.browser.json b/barretenberg/ts/tsconfig.browser.json similarity index 100% rename from circuits/cpp/barretenberg/ts/tsconfig.browser.json rename to barretenberg/ts/tsconfig.browser.json diff --git a/circuits/cpp/barretenberg/ts/tsconfig.json b/barretenberg/ts/tsconfig.json similarity index 100% rename from circuits/cpp/barretenberg/ts/tsconfig.json rename to barretenberg/ts/tsconfig.json diff --git a/circuits/cpp/barretenberg/ts/webpack.config.js b/barretenberg/ts/webpack.config.js similarity index 100% rename from circuits/cpp/barretenberg/ts/webpack.config.js rename to barretenberg/ts/webpack.config.js diff --git a/circuits/cpp/barretenberg/ts/yarn.lock b/barretenberg/ts/yarn.lock similarity index 100% rename from circuits/cpp/barretenberg/ts/yarn.lock rename to barretenberg/ts/yarn.lock diff --git a/circuits/cpp/barretenberg/wasi-sdk.nix b/barretenberg/wasi-sdk.nix similarity index 100% rename from circuits/cpp/barretenberg/wasi-sdk.nix rename to barretenberg/wasi-sdk.nix diff --git a/circuits/cpp/barretenberg/CHANGELOG.md b/circuits/cpp/barretenberg/CHANGELOG.md deleted file mode 100644 index c982314138c..00000000000 --- a/circuits/cpp/barretenberg/CHANGELOG.md +++ /dev/null @@ -1,447 +0,0 @@ -# Changelog - -## [0.6.7](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.6.6...barretenberg-v0.6.7) (2023-09-11) - - -### Miscellaneous - -* **barretenberg:** Synchronize aztec-packages versions - -## [0.6.6](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.6.5...barretenberg-v0.6.6) (2023-09-11) - - -### Miscellaneous - -* **barretenberg:** Synchronize aztec-packages versions - -## [0.6.5](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.6.4...barretenberg-v0.6.5) (2023-09-08) - - -### Miscellaneous - -* **barretenberg:** Synchronize aztec-packages versions - -## [0.6.4](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.6.3...barretenberg-v0.6.4) (2023-09-08) - - -### Miscellaneous - -* **barretenberg:** Synchronize aztec-packages versions - -## [0.6.3](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.6.2...barretenberg-v0.6.3) (2023-09-08) - - -### Miscellaneous - -* **barretenberg:** Synchronize aztec-packages versions - -## [0.6.2](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.6.1...barretenberg-v0.6.2) (2023-09-08) - - -### Miscellaneous - -* **barretenberg:** Synchronize aztec-packages versions - -## [0.6.1](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.5.2...barretenberg-v0.6.1) (2023-09-08) - - -### Bug Fixes - -* Work around intermittent wasm webkit issue ([#2140](https://github.com/AztecProtocol/aztec-packages/issues/2140)) ([a9b0934](https://github.com/AztecProtocol/aztec-packages/commit/a9b09344c80d8628f95f859d4e2d455d61f9e7c6)) - - -### Miscellaneous - -* **master:** Release 0.5.2 ([#2141](https://github.com/AztecProtocol/aztec-packages/issues/2141)) ([451aad6](https://github.com/AztecProtocol/aztec-packages/commit/451aad6ea92ebced9839ca14baae10cee327be35)) -* Release 0.5.2 ([f76b53c](https://github.com/AztecProtocol/aztec-packages/commit/f76b53c985116ac131a9b11b2a255feb7d0f8f13)) -* Release 0.6.1 ([1bd1a79](https://github.com/AztecProtocol/aztec-packages/commit/1bd1a79b0cefcd90306133aab141d992e8ea5fc3)) - -## [0.5.2](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg-v0.5.2...barretenberg-v0.5.2) (2023-09-08) - - -### Bug Fixes - -* Work around intermittent wasm webkit issue ([#2140](https://github.com/AztecProtocol/aztec-packages/issues/2140)) ([a9b0934](https://github.com/AztecProtocol/aztec-packages/commit/a9b09344c80d8628f95f859d4e2d455d61f9e7c6)) - - -### Miscellaneous - -* Release 0.5.2 ([f76b53c](https://github.com/AztecProtocol/aztec-packages/commit/f76b53c985116ac131a9b11b2a255feb7d0f8f13)) - -## [0.5.1](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.5.0...barretenberg-v0.5.1) (2023-09-05) - - -### Features - -* Add `info` command to bb ([#2010](https://github.com/AztecProtocol/barretenberg/issues/2010)) ([2882d97](https://github.com/AztecProtocol/barretenberg/commit/2882d97f5165239badb328be80568e7d683c0465)) -* **ci:** Use content hash in build system, restrict docs build to *.ts or *.cpp ([#1953](https://github.com/AztecProtocol/barretenberg/issues/1953)) ([297a20d](https://github.com/AztecProtocol/barretenberg/commit/297a20d7878a4aabab1cabf2cc5d2d67f9e969c5)) - - -### Bug Fixes - -* Adds Mac cross compile flags into barretenberg ([#1954](https://github.com/AztecProtocol/barretenberg/issues/1954)) ([0e17d97](https://github.com/AztecProtocol/barretenberg/commit/0e17d978a0cc6805b72646a8e36fd5267cbd6bcd)) -* **bb.js:** (breaking change) bundles bb.js properly so that it works in the browser and in node ([#1855](https://github.com/AztecProtocol/barretenberg/issues/1855)) ([bc93a5f](https://github.com/AztecProtocol/barretenberg/commit/bc93a5f8510d0dc600343e7e613ab84380d3c225)) -* **ci:** Incorrect content hash in some build targets ([#1973](https://github.com/AztecProtocol/barretenberg/issues/1973)) ([c6c469a](https://github.com/AztecProtocol/barretenberg/commit/c6c469aa5da7c6973f656ddf8af4fb20c3e8e4f6)) -* Compilation on homebrew clang 16.06 ([#1937](https://github.com/AztecProtocol/barretenberg/issues/1937)) ([79c29ee](https://github.com/AztecProtocol/barretenberg/commit/79c29eebbdb78c1e9aa5b4a3da6207fbf93bdd10)) -* Master ([#1981](https://github.com/AztecProtocol/barretenberg/issues/1981)) ([59a454e](https://github.com/AztecProtocol/barretenberg/commit/59a454ecf1611424893e1cb093774a23dde39310)) -* Unify base64 interface between mac and linux (cherry-picked) ([#1968](https://github.com/AztecProtocol/barretenberg/issues/1968)) ([37ee120](https://github.com/AztecProtocol/barretenberg/commit/37ee1204eba280442b6941eff448d6ff15eb9f04)) - -## [0.5.0](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.6...barretenberg-v0.5.0) (2023-09-01) - - -### ⚠ BREAKING CHANGES - -* update to acvm 0.24.0 ([#1925](https://github.com/AztecProtocol/barretenberg/issues/1925)) - -### Bug Fixes - -* Benchmark preset uses clang16 ([#1902](https://github.com/AztecProtocol/barretenberg/issues/1902)) ([cd0ff0e](https://github.com/AztecProtocol/barretenberg/commit/cd0ff0e2c049917ec47a110b45d76bed4c00ae2a)) -* Reset keccak var inputs to 0 ([#1881](https://github.com/AztecProtocol/barretenberg/issues/1881)) ([23011ee](https://github.com/AztecProtocol/barretenberg/commit/23011ee1ea7f1b00b0f4194ebceedc75ea01c157)) - - -### Miscellaneous Chores - -* Update to acvm 0.24.0 ([#1925](https://github.com/AztecProtocol/barretenberg/issues/1925)) ([5d8db8e](https://github.com/AztecProtocol/barretenberg/commit/5d8db8eb993334b43e24a51efba9c59e123320ab)) - -## [0.4.6](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.5...barretenberg-v0.4.6) (2023-08-29) - - -### Bug Fixes - -* Truncate SRS size to the amount of points that we have downloaded ([#1862](https://github.com/AztecProtocol/barretenberg/issues/1862)) ([3bcf12b](https://github.com/AztecProtocol/barretenberg/commit/3bcf12b1a302280d5112475c5993b125e130209e)) - -## [0.4.5](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.4...barretenberg-v0.4.5) (2023-08-28) - - -### Bug Fixes - -* Conditionally compile base64 command for bb binary ([#1851](https://github.com/AztecProtocol/barretenberg/issues/1851)) ([8f8b9f4](https://github.com/AztecProtocol/barretenberg/commit/8f8b9f46028a08342a3337db633782e5313e2763)) - -## [0.4.4](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.3...barretenberg-v0.4.4) (2023-08-28) - - -### Features - -* Add ARM build for Mac + cleanup artifacts ([#1837](https://github.com/AztecProtocol/barretenberg/issues/1837)) ([2d2d5ea](https://github.com/AztecProtocol/barretenberg/commit/2d2d5ea33c512ab36c1214fb5bb90f80d8247469)) - -## [0.4.3](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.2...barretenberg-v0.4.3) (2023-08-23) - - -### Features - -* **bb:** Use an environment variable to set the transcript URL ([#1750](https://github.com/AztecProtocol/barretenberg/issues/1750)) ([41d362e](https://github.com/AztecProtocol/barretenberg/commit/41d362e9c9ffeb763cd56ca8a9f8c4512b86c80c)) - - -### Bug Fixes - -* Clang version in README and subrepo edge case ([#1730](https://github.com/AztecProtocol/barretenberg/issues/1730)) ([74158c4](https://github.com/AztecProtocol/barretenberg/commit/74158c4e467d4b6ab90e7d5aeb9a28f04adc1d66)) -* Download SRS using one canonical URL across the codebase ([#1748](https://github.com/AztecProtocol/barretenberg/issues/1748)) ([5c91de7](https://github.com/AztecProtocol/barretenberg/commit/5c91de7296e054f6d5ac3dca94ca85e06d496048)) -* Proving fails when circuit has size > ~500K ([#1739](https://github.com/AztecProtocol/barretenberg/issues/1739)) ([6d32383](https://github.com/AztecProtocol/barretenberg/commit/6d323838a525190618d608598357ee4608c46699)) -* Revert clang check bootstrap.sh ([#1734](https://github.com/AztecProtocol/barretenberg/issues/1734)) ([65a38bc](https://github.com/AztecProtocol/barretenberg/commit/65a38bc045c66c5f64e87ba8c6e446945f2f0a24)) -* Update barretenberg bootstrap.sh for mac ([#1732](https://github.com/AztecProtocol/barretenberg/issues/1732)) ([f21ac3e](https://github.com/AztecProtocol/barretenberg/commit/f21ac3e893b5d30f7a4ba8ca10e6fd70f5c617b4)) - -## [0.4.2](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.1...barretenberg-v0.4.2) (2023-08-21) - - -### Bug Fixes - -* Remove automatic update to `AztecProtocol/dev-bb.js` ([#1712](https://github.com/AztecProtocol/barretenberg/issues/1712)) ([d883900](https://github.com/AztecProtocol/barretenberg/commit/d883900f9b297f659d14583ac93eede5160f9aae)) - -## [0.4.1](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.4.0...barretenberg-v0.4.1) (2023-08-21) - - -### Bug Fixes - -* **bb:** Fix Typo ([#1709](https://github.com/AztecProtocol/barretenberg/issues/1709)) ([286d64e](https://github.com/AztecProtocol/barretenberg/commit/286d64e6036336314114f1d2a25273f4dabe36f4)) - -## [0.4.0](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.6...barretenberg-v0.4.0) (2023-08-21) - - -### ⚠ BREAKING CHANGES - -* Barretenberg binaries now take in the encoded circuit instead of a json file ([#1618](https://github.com/AztecProtocol/barretenberg/issues/1618)) - -### Features - -* Add msgpack defs to remaining circuit types ([#1538](https://github.com/AztecProtocol/barretenberg/issues/1538)) ([e560e39](https://github.com/AztecProtocol/barretenberg/commit/e560e3955d039a93e2ed157c684ea36abd178d4b)) -* Add workflow to output to dev-bb.js ([#1299](https://github.com/AztecProtocol/barretenberg/issues/1299)) ([25a54f1](https://github.com/AztecProtocol/barretenberg/commit/25a54f123e6f98dafef4cd882839106eadf6ab8d)) -* Celer benchmark ([#1369](https://github.com/AztecProtocol/barretenberg/issues/1369)) ([8fd364a](https://github.com/AztecProtocol/barretenberg/commit/8fd364a3ff6e7b5f377ef5ec37649b47fe0a3e44)) -* Honk recursive verifier Pt. 1 ([#1488](https://github.com/AztecProtocol/barretenberg/issues/1488)) ([030dace](https://github.com/AztecProtocol/barretenberg/commit/030dacebd9831ed938b546133373cad63e17ecd8)) -* New stdlib Transcript ([#1219](https://github.com/AztecProtocol/barretenberg/issues/1219)) ([1b9e077](https://github.com/AztecProtocol/barretenberg/commit/1b9e0770e7e470f2708eb6f96cd5ee831b84f4f4)) - - -### Bug Fixes - -* **acir:** When retrying failed ACIR tests it should not use the default CLI argument ([#1673](https://github.com/AztecProtocol/barretenberg/issues/1673)) ([ea4792d](https://github.com/AztecProtocol/barretenberg/commit/ea4792ddc9c23f7390f47cf78d4939cce6458a46)) -* Align bbmalloc implementations ([#1513](https://github.com/AztecProtocol/barretenberg/issues/1513)) ([b92338d](https://github.com/AztecProtocol/barretenberg/commit/b92338d3c9de9d21a6933747a3f1479266d16f9e)) -* Barretenberg binaries now take in the encoded circuit instead of a json file ([#1618](https://github.com/AztecProtocol/barretenberg/issues/1618)) ([180cdc9](https://github.com/AztecProtocol/barretenberg/commit/180cdc9ac7cf9aa793d9774dc866ceb4e6ec3fbc)) -* Bb sync take 2 ([#1669](https://github.com/AztecProtocol/barretenberg/issues/1669)) ([d3eebe4](https://github.com/AztecProtocol/barretenberg/commit/d3eebe46e5b702801c866d7dd073a0eeb9f475b7)) -* Bin reference when installing package ([#678](https://github.com/AztecProtocol/barretenberg/issues/678)) ([c734295](https://github.com/AztecProtocol/barretenberg/commit/c734295a10d2c40ede773519664170880f28b2b7)) -* Fix paths in `barretenberg` bootstrap.sh script ([#1662](https://github.com/AztecProtocol/barretenberg/issues/1662)) ([c8917cd](https://github.com/AztecProtocol/barretenberg/commit/c8917cd8ec415dafe5309ec0e90aba28184d8294)) -* Fixed a failing test and added a small fuzzer ([#1384](https://github.com/AztecProtocol/barretenberg/issues/1384)) ([441e972](https://github.com/AztecProtocol/barretenberg/commit/441e972c88c5c314b4958e158f977f60a8c9e32d)) -* Sync aztec master ([#680](https://github.com/AztecProtocol/barretenberg/issues/680)) ([3afc243](https://github.com/AztecProtocol/barretenberg/commit/3afc2438053f530e49fbebbdbadd8db8a630bb8c)) - -## [0.3.6](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.5...barretenberg-v0.3.6) (2023-08-08) - - -### Features - -* Update release-please.yml ([#651](https://github.com/AztecProtocol/barretenberg/issues/651)) ([2795df6](https://github.com/AztecProtocol/barretenberg/commit/2795df6b705175a32fe2a6f18b3c572e297e277e)) - -## [0.3.5](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.4...barretenberg-v0.3.5) (2023-08-07) - - -### Features - -* Celer benchmark ([#1369](https://github.com/AztecProtocol/barretenberg/issues/1369)) ([d4ade2a](https://github.com/AztecProtocol/barretenberg/commit/d4ade2a5f06a3abf3c9c2635946d7121cc2f64b4)) -* Goblin Honk Composer/Prover/Verifier ([#1220](https://github.com/AztecProtocol/barretenberg/issues/1220)) ([970bb07](https://github.com/AztecProtocol/barretenberg/commit/970bb073763cc59552cd05dccf7f8fc63f58cef9)) -* Goblin translator prototype ([#1249](https://github.com/AztecProtocol/barretenberg/issues/1249)) ([7738d74](https://github.com/AztecProtocol/barretenberg/commit/7738d74791acc0fa8b1b1d8bb2a77783ca900123)) -* Internal keyword + lending contract and tests ([#978](https://github.com/AztecProtocol/barretenberg/issues/978)) ([e58ca4b](https://github.com/AztecProtocol/barretenberg/commit/e58ca4b332272fc57b2a5358bb5003bac79a8f5a)) -* Minimal barretenberg .circleci ([#1352](https://github.com/AztecProtocol/barretenberg/issues/1352)) ([708e2e2](https://github.com/AztecProtocol/barretenberg/commit/708e2e2786de5dce5bfc770c54734e5862a436e5)) - - -### Bug Fixes - -* Bootstrap.sh git hook for monorepo ([#1256](https://github.com/AztecProtocol/barretenberg/issues/1256)) ([b22b8d5](https://github.com/AztecProtocol/barretenberg/commit/b22b8d5f42ddfae140068c3ce8b3053d4c8d1874)) -* Build-system spot request cancellation ([#1339](https://github.com/AztecProtocol/barretenberg/issues/1339)) ([fc1d96a](https://github.com/AztecProtocol/barretenberg/commit/fc1d96a744a8d5a6cae06c408546c3638408551d)) -* Fixing external benchmarks ([#1250](https://github.com/AztecProtocol/barretenberg/issues/1250)) ([0ea6a39](https://github.com/AztecProtocol/barretenberg/commit/0ea6a39950e8cd5ff7765031457c162d03ebae06)) -* Fixing fuzzing build after composer splitting ([#1317](https://github.com/AztecProtocol/barretenberg/issues/1317)) ([946c23c](https://github.com/AztecProtocol/barretenberg/commit/946c23c52d45ddce973e453c40c048734e7f6937)) -* Reinstate barretenberg-benchmark-aggregator ([#1330](https://github.com/AztecProtocol/barretenberg/issues/1330)) ([407a915](https://github.com/AztecProtocol/barretenberg/commit/407a915a94c7d83dec9e14a11ad0e3461fd2906d)) -* Retry git submodule fetch ([#1371](https://github.com/AztecProtocol/barretenberg/issues/1371)) ([037dda3](https://github.com/AztecProtocol/barretenberg/commit/037dda3d254d56a20292d2bed5a9582d36c08427)) - -## [0.3.4](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.3...barretenberg-v0.3.4) (2023-07-25) - - -### Features - -* Add Goblin Ultra Circuit builder ([#587](https://github.com/AztecProtocol/barretenberg/issues/587)) ([2d38c25](https://github.com/AztecProtocol/barretenberg/commit/2d38c252de8b867955da661181e51f1a5f28cbc6)) -* Modify bb.js to be compatible with next.js ([#544](https://github.com/AztecProtocol/barretenberg/issues/544)) ([d384089](https://github.com/AztecProtocol/barretenberg/commit/d384089f60d1a6d5baeb0d3459556a310b790366)) -* Support public inputs in Ultra Honk ([#581](https://github.com/AztecProtocol/barretenberg/issues/581)) ([9cd0a06](https://github.com/AztecProtocol/barretenberg/commit/9cd0a064b8258bf4f72dd9e1c5e8f85b074d1bbc)) - -## [0.3.3](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.2...barretenberg-v0.3.3) (2023-07-17) - - -### Features - -* Bb and bb.js directly parse nargo bincode format. ([#610](https://github.com/AztecProtocol/barretenberg/issues/610)) ([d25e37a](https://github.com/AztecProtocol/barretenberg/commit/d25e37ad74b88dc45337b2a529ede3136dd4a699)) -* Goblin work done in Valencia ([#569](https://github.com/AztecProtocol/barretenberg/issues/569)) ([57af751](https://github.com/AztecProtocol/barretenberg/commit/57af751646dc3c038fea24ada4e160f6d422845f)) - -## [0.3.2](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.1...barretenberg-v0.3.2) (2023-07-12) - - -### Features - -* **msgpack:** Ability to specify NOSCHEMA for cbinds ([#605](https://github.com/AztecProtocol/barretenberg/issues/605)) ([8a4f5f1](https://github.com/AztecProtocol/barretenberg/commit/8a4f5f1d31e1d631c1cd3ed49c100858b58c56b2)) - -## [0.3.1](https://github.com/AztecProtocol/barretenberg/compare/barretenberg-v0.3.0...barretenberg-v0.3.1) (2023-07-11) - - -### Features - -* Sentence case changelog titles ([#598](https://github.com/AztecProtocol/barretenberg/issues/598)) ([1466108](https://github.com/AztecProtocol/barretenberg/commit/146610857ae511e9cfb27f873f49cec2dd19ddad)) - -## 0.3.0 (2023-07-11) - - -### ⚠ BREAKING CHANGES - -* Use circuit builders ([#501](https://github.com/AztecProtocol/barretenberg/issues/501)) -* **dsl:** add hash index to pedersen constraint ([#436](https://github.com/AztecProtocol/barretenberg/issues/436)) -* add support for ROM and RAM ACVM opcodes ([#417](https://github.com/AztecProtocol/barretenberg/issues/417)) -* replace `MerkleMembershipConstraint` with`ComputeMerkleRootConstraint` ([#385](https://github.com/AztecProtocol/barretenberg/issues/385)) -* Remove TOOLCHAIN logic and replace with CMake presets ([#162](https://github.com/AztecProtocol/barretenberg/issues/162)) - -### Features - -* Add `get_sibling_path` method in MerkleTree ([#584](https://github.com/AztecProtocol/barretenberg/issues/584)) ([b3db9f8](https://github.com/AztecProtocol/barretenberg/commit/b3db9f8944e546cd9da9a1529e2562ee75e62369)) -* Add `signature_verification_result` to schnorr stdlib ([#173](https://github.com/AztecProtocol/barretenberg/issues/173)) ([7ae381e](https://github.com/AztecProtocol/barretenberg/commit/7ae381e4c5a084efde18917569518c7d4040b653)) -* Add equality and serialization to poly_triple ([#172](https://github.com/AztecProtocol/barretenberg/issues/172)) ([142b041](https://github.com/AztecProtocol/barretenberg/commit/142b041b2d3d090785f0e6f319fbf7504c751098)) -* Add installation targets for libbarretenberg, wasm & headers ([#185](https://github.com/AztecProtocol/barretenberg/issues/185)) ([f2fdebe](https://github.com/AztecProtocol/barretenberg/commit/f2fdebe037d4d2d90761f98e28b4b0d3af9a0f63)) -* Add Noir DSL with acir_format and turbo_proofs namespaces ([#198](https://github.com/AztecProtocol/barretenberg/issues/198)) ([54fab22](https://github.com/AztecProtocol/barretenberg/commit/54fab2217f437bb04a5e9fb71b271cf91b90c6e5)) -* Add pkgconfig output for installed target ([#208](https://github.com/AztecProtocol/barretenberg/issues/208)) ([d85a365](https://github.com/AztecProtocol/barretenberg/commit/d85a365180ac2672bbd33bd8b799a1f154716ab3)) -* add support for ROM and RAM ACVM opcodes ([#417](https://github.com/AztecProtocol/barretenberg/issues/417)) ([697fabb](https://github.com/AztecProtocol/barretenberg/commit/697fabb7cbeadb9264db5047e7fd36565dad8790)) -* Allow bootstrap to work with linux + clang on ARM ([#131](https://github.com/AztecProtocol/barretenberg/issues/131)) ([52cb06b](https://github.com/AztecProtocol/barretenberg/commit/52cb06b445c73f2f324af6595af70ce9c130eb09)) -* **api:** external cpp header for circuits ([#489](https://github.com/AztecProtocol/barretenberg/issues/489)) ([fbbb342](https://github.com/AztecProtocol/barretenberg/commit/fbbb34287fdef0e8fedb2e25c5431f17501ad653)) -* **bb.js:** initial API ([#232](https://github.com/AztecProtocol/barretenberg/issues/232)) ([c860b02](https://github.com/AztecProtocol/barretenberg/commit/c860b02d80425de161af50acf33e94d94eb0659c)) -* Benchmark suite update ([d7b1499](https://github.com/AztecProtocol/barretenberg/commit/d7b14993ac8d329664fd36e7b4aa083935b1d407)) -* Benchmark suite update ([#508](https://github.com/AztecProtocol/barretenberg/issues/508)) ([d7b1499](https://github.com/AztecProtocol/barretenberg/commit/d7b14993ac8d329664fd36e7b4aa083935b1d407)) -* CI to test aztec circuits with current commit of bberg ([#418](https://github.com/AztecProtocol/barretenberg/issues/418)) ([20a0873](https://github.com/AztecProtocol/barretenberg/commit/20a0873dcbfe4a862ad53a9c137030689a521a04)) -* **dsl:** Add ECDSA secp256r1 verification ([#582](https://github.com/AztecProtocol/barretenberg/issues/582)) ([adc4c7b](https://github.com/AztecProtocol/barretenberg/commit/adc4c7b4eb634eae28dd28e25b94b93a5b49c80e)) -* **dsl:** add hash index to pedersen constraint ([#436](https://github.com/AztecProtocol/barretenberg/issues/436)) ([e0b8804](https://github.com/AztecProtocol/barretenberg/commit/e0b8804b9418c7aa39e29e800fecb4ed15d73b80)) -* **github:** add pull request template ([65f3e33](https://github.com/AztecProtocol/barretenberg/commit/65f3e3312061e7284c0dd0f0f89fa92ee92f9eac)) -* **honk:** Shared relation arithmetic ([#514](https://github.com/AztecProtocol/barretenberg/issues/514)) ([0838474](https://github.com/AztecProtocol/barretenberg/commit/0838474e67469a6d91d6595d1ee23e1dea53863c)) -* Improve barretenberg headers ([#201](https://github.com/AztecProtocol/barretenberg/issues/201)) ([4e03839](https://github.com/AztecProtocol/barretenberg/commit/4e03839a970a5d07dab7f86cd2b7166a09f5045a)) -* Initial native version of bb binary. ([#524](https://github.com/AztecProtocol/barretenberg/issues/524)) ([4a1b532](https://github.com/AztecProtocol/barretenberg/commit/4a1b5322dc78921d253e6a374eba0b616ab788df)) -* Make the circuit constructors field agnostic so we can check circuits on grumpkin ([#534](https://github.com/AztecProtocol/barretenberg/issues/534)) ([656d794](https://github.com/AztecProtocol/barretenberg/commit/656d7944f94f3da88250f3140838f3e32e9d0174)) -* Multithreaded Sumcheck ([#556](https://github.com/AztecProtocol/barretenberg/issues/556)) ([c4094b1](https://github.com/AztecProtocol/barretenberg/commit/c4094b155ba9d8e914c3e6a5b0d7808945b1eeed)) -* **nullifier_tree:** make empty nullifier tree leaves hash be 0 ([#360](https://github.com/AztecProtocol/barretenberg/issues/360)) ([#382](https://github.com/AztecProtocol/barretenberg/issues/382)) ([b85ab8d](https://github.com/AztecProtocol/barretenberg/commit/b85ab8d587b3e93db2aa0f1c4f012e58e5d97915)) -* Optimize memory consumption of pedersen generators ([#413](https://github.com/AztecProtocol/barretenberg/issues/413)) ([d60b16a](https://github.com/AztecProtocol/barretenberg/commit/d60b16a14219fd4bd130ce4537c3e94bfa10128f)) -* Parallelised folding in Gemini ([#550](https://github.com/AztecProtocol/barretenberg/issues/550)) ([3b962d3](https://github.com/AztecProtocol/barretenberg/commit/3b962d372491430871443fd1b95fd9e049e233c8)) -* **pkg-config:** Add a bindir variable ([#239](https://github.com/AztecProtocol/barretenberg/issues/239)) ([611bf34](https://github.com/AztecProtocol/barretenberg/commit/611bf34bcc6f82969a6fe546bf0a7cbecda6d36d)) -* Remove TOOLCHAIN logic and replace with CMake presets ([#162](https://github.com/AztecProtocol/barretenberg/issues/162)) ([09db0be](https://github.com/AztecProtocol/barretenberg/commit/09db0be3d09ee12b4b73b03abe8fa4565cdb6660)) -* replace `MerkleMembershipConstraint` with`ComputeMerkleRootConstraint` ([#385](https://github.com/AztecProtocol/barretenberg/issues/385)) ([74dbce5](https://github.com/AztecProtocol/barretenberg/commit/74dbce5dfa126ecd6dbda7b758581752f7b6a389)) -* Sort includes ([#571](https://github.com/AztecProtocol/barretenberg/issues/571)) ([dfa8736](https://github.com/AztecProtocol/barretenberg/commit/dfa8736136323e62a705066d25bef962a6a0b82d)) -* Split plonk and honk tests ([#529](https://github.com/AztecProtocol/barretenberg/issues/529)) ([ba583ff](https://github.com/AztecProtocol/barretenberg/commit/ba583ff00509f636feae7b78304b115e34fc2357)) -* Support nix package manager ([#234](https://github.com/AztecProtocol/barretenberg/issues/234)) ([19a72fe](https://github.com/AztecProtocol/barretenberg/commit/19a72fec0ff8d451fc94a9f5563202867a5f8147)) -* **ts:** allow passing srs via env functions ([#260](https://github.com/AztecProtocol/barretenberg/issues/260)) ([ac78353](https://github.com/AztecProtocol/barretenberg/commit/ac7835304f4524039abf0a0df9ae85d905f55c86)) -* **ultrahonk:** Added a simple filler table to minimize the amount of entries used to make UltraHonk polynomials non-zero ([b20b401](https://github.com/AztecProtocol/barretenberg/commit/b20b4012546c5b67623950d0fedb0974df8bf345)) -* **ultrahonk:** Added a simple filler table to minimize the amount of entries used to make UltraHonk polynomials non-zero ([#531](https://github.com/AztecProtocol/barretenberg/issues/531)) ([b20b401](https://github.com/AztecProtocol/barretenberg/commit/b20b4012546c5b67623950d0fedb0974df8bf345)) -* Utilize globally installed benchmark if available ([#152](https://github.com/AztecProtocol/barretenberg/issues/152)) ([fbc5027](https://github.com/AztecProtocol/barretenberg/commit/fbc502794e9bbdfda797b11ac71eba996d649722)) -* Utilize globally installed gtest if available ([#151](https://github.com/AztecProtocol/barretenberg/issues/151)) ([efa18a6](https://github.com/AztecProtocol/barretenberg/commit/efa18a621917dc6c38f453825cadc76eb793a73c)) -* Utilize globally installed leveldb if available ([#134](https://github.com/AztecProtocol/barretenberg/issues/134)) ([255dfb5](https://github.com/AztecProtocol/barretenberg/commit/255dfb52adca885b0a4e4380769a279922af49ff)) -* Working UltraPlonk for Noir ([#299](https://github.com/AztecProtocol/barretenberg/issues/299)) ([d56dfbd](https://github.com/AztecProtocol/barretenberg/commit/d56dfbdfd74b438b3c8652e1ae8740de99f93ae5)) - - -### Bug Fixes - -* add NUM_RESERVED_GATES before fetching subgroup size in composer ([#539](https://github.com/AztecProtocol/barretenberg/issues/539)) ([fa11abf](https://github.com/AztecProtocol/barretenberg/commit/fa11abf0877314b03420d6f7ace1312df41cd50b)) -* Adds `VERSION` file to release-please ([#542](https://github.com/AztecProtocol/barretenberg/issues/542)) ([31fb34c](https://github.com/AztecProtocol/barretenberg/commit/31fb34c307a4336414b1fd2076d96105a29b0e7b)) -* Align native library object library with wasm ([#238](https://github.com/AztecProtocol/barretenberg/issues/238)) ([4fa6c0d](https://github.com/AztecProtocol/barretenberg/commit/4fa6c0d2d8c6309d53757ad54d3433d1d662de5f)) -* Avoid bb.js memory issues. ([#578](https://github.com/AztecProtocol/barretenberg/issues/578)) ([96891de](https://github.com/AztecProtocol/barretenberg/commit/96891de21fd74ca33ea75ae97f73cada39a5d337)) -* Avoid targeting honk test files when testing is disabled ([#125](https://github.com/AztecProtocol/barretenberg/issues/125)) ([e4a70ed](https://github.com/AztecProtocol/barretenberg/commit/e4a70edf2bb39d67095cbe21fff310372369a92d)) -* BarycentricData instantiation time and unused code in secp curves ([#572](https://github.com/AztecProtocol/barretenberg/issues/572)) ([bc78bb0](https://github.com/AztecProtocol/barretenberg/commit/bc78bb00d273c756fa4f02967d219cd3fd788890)) -* bbmalloc linker error ([#459](https://github.com/AztecProtocol/barretenberg/issues/459)) ([d4761c1](https://github.com/AztecProtocol/barretenberg/commit/d4761c11f30eeecbcb2485f50516bee71809bab1)) -* Build on stock apple clang. ([#592](https://github.com/AztecProtocol/barretenberg/issues/592)) ([0ac4bc3](https://github.com/AztecProtocol/barretenberg/commit/0ac4bc36619f85c1b3a65d3f825ba5683cbbe30c)) -* **build:** git add -f .yalc ([#265](https://github.com/AztecProtocol/barretenberg/issues/265)) ([7671192](https://github.com/AztecProtocol/barretenberg/commit/7671192c8a60ff0bc0f8ad3e14ac299ff780cc25)) -* bump timeout on common test. ([c9bc87d](https://github.com/AztecProtocol/barretenberg/commit/c9bc87d29fa1325162cb1e7bf2db7cc85747fd9e)) -* Check for wasm-opt during configure & run on post_build ([#175](https://github.com/AztecProtocol/barretenberg/issues/175)) ([1ff6af3](https://github.com/AztecProtocol/barretenberg/commit/1ff6af3cb6b7b4d3bb53bfbdcbf1c3a568e0fa86)) -* check_circuit bug fix ([#510](https://github.com/AztecProtocol/barretenberg/issues/510)) ([4b156a3](https://github.com/AztecProtocol/barretenberg/commit/4b156a3648e6da9dfe292e354da9a27185d2aa9d)) -* cleanup of include statements and dependencies ([#527](https://github.com/AztecProtocol/barretenberg/issues/527)) ([b288c24](https://github.com/AztecProtocol/barretenberg/commit/b288c2420bdc350658cd3776bad1eb087cc28d63)) -* **cmake:** Remove leveldb dependency that was accidentally re-added ([#335](https://github.com/AztecProtocol/barretenberg/issues/335)) ([3534e2b](https://github.com/AztecProtocol/barretenberg/commit/3534e2bfcca46dbca30573286f43425dab6bc810)) -* **dsl:** Use info instead of std::cout to log ([#323](https://github.com/AztecProtocol/barretenberg/issues/323)) ([486d738](https://github.com/AztecProtocol/barretenberg/commit/486d73842b4b7d6aa84fa12d7462fe52e892d416)) -* Ecdsa Malleability Bug ([#512](https://github.com/AztecProtocol/barretenberg/issues/512)) ([5cf856c](https://github.com/AztecProtocol/barretenberg/commit/5cf856c5c29c9f9b8abb87d7bde23b4932711350)) -* **ecdsa:** correct short weierstrass curve eqn ([#567](https://github.com/AztecProtocol/barretenberg/issues/567)) ([386ec63](https://github.com/AztecProtocol/barretenberg/commit/386ec6372156d604e37e58490f1c7396077f84c4)) -* Ensure barretenberg provides headers that Noir needs ([#200](https://github.com/AztecProtocol/barretenberg/issues/200)) ([0171a49](https://github.com/AztecProtocol/barretenberg/commit/0171a499a175f88a0ee3fcfd4de0f43ad0ebff85)) -* Ensure TBB is optional using OPTIONAL_COMPONENTS ([#127](https://github.com/AztecProtocol/barretenberg/issues/127)) ([e3039b2](https://github.com/AztecProtocol/barretenberg/commit/e3039b26ea8aca4b8fdc4b2cbac6716ace261c76)) -* Fixed the memory issue ([#509](https://github.com/AztecProtocol/barretenberg/issues/509)) ([107d438](https://github.com/AztecProtocol/barretenberg/commit/107d438ad96847e40f8e5374749b8cba820b2007)) -* Increment CMakeList version on releases ([#536](https://github.com/AztecProtocol/barretenberg/issues/536)) ([b571411](https://github.com/AztecProtocol/barretenberg/commit/b571411a6d58f79e3e2553c3b1c81b4f186f2245)) -* msgpack error ([#456](https://github.com/AztecProtocol/barretenberg/issues/456)) ([943d6d0](https://github.com/AztecProtocol/barretenberg/commit/943d6d07c57bea521c2593e892e839f25f82b289)) -* msgpack variant_impl.hpp ([#462](https://github.com/AztecProtocol/barretenberg/issues/462)) ([b5838a6](https://github.com/AztecProtocol/barretenberg/commit/b5838a6c9fe456e832776da21379e41c0a2bbd5d)) -* **nix:** Disable ASM & ADX when building in Nix ([#327](https://github.com/AztecProtocol/barretenberg/issues/327)) ([3bc724d](https://github.com/AztecProtocol/barretenberg/commit/3bc724d2163d29041bfa29a1e49625bab77289a2)) -* **nix:** Use wasi-sdk 12 to provide barretenberg-wasm in overlay ([#315](https://github.com/AztecProtocol/barretenberg/issues/315)) ([4a06992](https://github.com/AztecProtocol/barretenberg/commit/4a069923f4a869f8c2315e6d3f738db6e66dcdfa)) -* Pass brew omp location via LDFLAGS and CPPFLAGS ([#126](https://github.com/AztecProtocol/barretenberg/issues/126)) ([54141f1](https://github.com/AztecProtocol/barretenberg/commit/54141f12de9eee86220003b1f80d39a41795cedc)) -* Remove leveldb_store from stdlib_merkle_tree ([#149](https://github.com/AztecProtocol/barretenberg/issues/149)) ([3ce5e7e](https://github.com/AztecProtocol/barretenberg/commit/3ce5e7e17ca7bb806373be833a44d55a8e584bda)) -* Revert "fix: add NUM_RESERVED_GATES before fetching subgroup size in composer" ([#540](https://github.com/AztecProtocol/barretenberg/issues/540)) ([a9fbc39](https://github.com/AztecProtocol/barretenberg/commit/a9fbc3973f24680f676682d15c3a4cef0a1ab798)) -* Revert generator changes that cause memory OOB access ([#338](https://github.com/AztecProtocol/barretenberg/issues/338)) ([500daf1](https://github.com/AztecProtocol/barretenberg/commit/500daf1ceb03771d2c01eaf1a86139a7ac1d814f)) -* Soundness issue in bigfield's `evaluate_multiply_add` method ([#558](https://github.com/AztecProtocol/barretenberg/issues/558)) ([1a98ac6](https://github.com/AztecProtocol/barretenberg/commit/1a98ac64787a0e2904fd22043497a8d11afe5e6c)) -* **srs:** Detect shasum utility when downloading lagrange ([#143](https://github.com/AztecProtocol/barretenberg/issues/143)) ([515604d](https://github.com/AztecProtocol/barretenberg/commit/515604dff83648e00106f35511aa567921599a78)) -* Store lagrange forms of selector polys w/ Ultra ([#255](https://github.com/AztecProtocol/barretenberg/issues/255)) ([b121963](https://github.com/AztecProtocol/barretenberg/commit/b12196362497c8dfb3a64284d28de2d8ee7d730c)) -* throw -> throw_or_abort in sol gen ([#388](https://github.com/AztecProtocol/barretenberg/issues/388)) ([7cfe3f0](https://github.com/AztecProtocol/barretenberg/commit/7cfe3f055815e333ff8a8f1f30e8377c83d2182a)) -* Trigger release-please ([#594](https://github.com/AztecProtocol/barretenberg/issues/594)) ([5042861](https://github.com/AztecProtocol/barretenberg/commit/5042861405df6b5659c0c32418720d8bdea81081)) -* Update versioning in nix files when a release is made ([#549](https://github.com/AztecProtocol/barretenberg/issues/549)) ([1b3ff93](https://github.com/AztecProtocol/barretenberg/commit/1b3ff93e7ed8873583cdade95a860adb8823f1cd)) -* **wasm:** Remove the CMAKE_STAGING_PREFIX variable from wasm preset ([#240](https://github.com/AztecProtocol/barretenberg/issues/240)) ([f2f8d1f](https://github.com/AztecProtocol/barretenberg/commit/f2f8d1f7a24ca73e30c981fd245c86f7f964abb7)) -* Wrap each use of filesystem library in ifndef __wasm__ ([#181](https://github.com/AztecProtocol/barretenberg/issues/181)) ([0eae962](https://github.com/AztecProtocol/barretenberg/commit/0eae96293b4d2da6b6b23ae80ac132fb49f90915)) - - -### Code Refactoring - -* Use circuit builders ([#501](https://github.com/AztecProtocol/barretenberg/issues/501)) ([709a29c](https://github.com/AztecProtocol/barretenberg/commit/709a29c89a305be017270361780995353188035a)) - -## [0.2.0](https://github.com/AztecProtocol/barretenberg/compare/v0.1.0...v0.2.0) (2023-07-11) - - -### ⚠ BREAKING CHANGES - -* Use circuit builders ([#501](https://github.com/AztecProtocol/barretenberg/issues/501)) - -### Features - -* Add `get_sibling_path` method in MerkleTree ([#584](https://github.com/AztecProtocol/barretenberg/issues/584)) ([b3db9f8](https://github.com/AztecProtocol/barretenberg/commit/b3db9f8944e546cd9da9a1529e2562ee75e62369)) -* **dsl:** Add ECDSA secp256r1 verification ([#582](https://github.com/AztecProtocol/barretenberg/issues/582)) ([adc4c7b](https://github.com/AztecProtocol/barretenberg/commit/adc4c7b4eb634eae28dd28e25b94b93a5b49c80e)) -* Initial native version of bb binary. ([#524](https://github.com/AztecProtocol/barretenberg/issues/524)) ([4a1b532](https://github.com/AztecProtocol/barretenberg/commit/4a1b5322dc78921d253e6a374eba0b616ab788df)) -* Make the circuit constructors field agnostic so we can check circuits on grumpkin ([#534](https://github.com/AztecProtocol/barretenberg/issues/534)) ([656d794](https://github.com/AztecProtocol/barretenberg/commit/656d7944f94f3da88250f3140838f3e32e9d0174)) -* Multithreaded Sumcheck ([#556](https://github.com/AztecProtocol/barretenberg/issues/556)) ([c4094b1](https://github.com/AztecProtocol/barretenberg/commit/c4094b155ba9d8e914c3e6a5b0d7808945b1eeed)) -* Optimize memory consumption of pedersen generators ([#413](https://github.com/AztecProtocol/barretenberg/issues/413)) ([d60b16a](https://github.com/AztecProtocol/barretenberg/commit/d60b16a14219fd4bd130ce4537c3e94bfa10128f)) -* Parallelised folding in Gemini ([#550](https://github.com/AztecProtocol/barretenberg/issues/550)) ([3b962d3](https://github.com/AztecProtocol/barretenberg/commit/3b962d372491430871443fd1b95fd9e049e233c8)) -* Sort includes ([#571](https://github.com/AztecProtocol/barretenberg/issues/571)) ([dfa8736](https://github.com/AztecProtocol/barretenberg/commit/dfa8736136323e62a705066d25bef962a6a0b82d)) -* Split plonk and honk tests ([#529](https://github.com/AztecProtocol/barretenberg/issues/529)) ([ba583ff](https://github.com/AztecProtocol/barretenberg/commit/ba583ff00509f636feae7b78304b115e34fc2357)) - - -### Bug Fixes - -* add NUM_RESERVED_GATES before fetching subgroup size in composer ([#539](https://github.com/AztecProtocol/barretenberg/issues/539)) ([fa11abf](https://github.com/AztecProtocol/barretenberg/commit/fa11abf0877314b03420d6f7ace1312df41cd50b)) -* Adds `VERSION` file to release-please ([#542](https://github.com/AztecProtocol/barretenberg/issues/542)) ([31fb34c](https://github.com/AztecProtocol/barretenberg/commit/31fb34c307a4336414b1fd2076d96105a29b0e7b)) -* Avoid bb.js memory issues. ([#578](https://github.com/AztecProtocol/barretenberg/issues/578)) ([96891de](https://github.com/AztecProtocol/barretenberg/commit/96891de21fd74ca33ea75ae97f73cada39a5d337)) -* BarycentricData instantiation time and unused code in secp curves ([#572](https://github.com/AztecProtocol/barretenberg/issues/572)) ([bc78bb0](https://github.com/AztecProtocol/barretenberg/commit/bc78bb00d273c756fa4f02967d219cd3fd788890)) -* Build on stock apple clang. ([#592](https://github.com/AztecProtocol/barretenberg/issues/592)) ([0ac4bc3](https://github.com/AztecProtocol/barretenberg/commit/0ac4bc36619f85c1b3a65d3f825ba5683cbbe30c)) -* bump timeout on common test. ([c9bc87d](https://github.com/AztecProtocol/barretenberg/commit/c9bc87d29fa1325162cb1e7bf2db7cc85747fd9e)) -* check_circuit bug fix ([#510](https://github.com/AztecProtocol/barretenberg/issues/510)) ([4b156a3](https://github.com/AztecProtocol/barretenberg/commit/4b156a3648e6da9dfe292e354da9a27185d2aa9d)) -* cleanup of include statements and dependencies ([#527](https://github.com/AztecProtocol/barretenberg/issues/527)) ([b288c24](https://github.com/AztecProtocol/barretenberg/commit/b288c2420bdc350658cd3776bad1eb087cc28d63)) -* Ecdsa Malleability Bug ([#512](https://github.com/AztecProtocol/barretenberg/issues/512)) ([5cf856c](https://github.com/AztecProtocol/barretenberg/commit/5cf856c5c29c9f9b8abb87d7bde23b4932711350)) -* **ecdsa:** correct short weierstrass curve eqn ([#567](https://github.com/AztecProtocol/barretenberg/issues/567)) ([386ec63](https://github.com/AztecProtocol/barretenberg/commit/386ec6372156d604e37e58490f1c7396077f84c4)) -* Increment CMakeList version on releases ([#536](https://github.com/AztecProtocol/barretenberg/issues/536)) ([b571411](https://github.com/AztecProtocol/barretenberg/commit/b571411a6d58f79e3e2553c3b1c81b4f186f2245)) -* Revert "fix: add NUM_RESERVED_GATES before fetching subgroup size in composer" ([#540](https://github.com/AztecProtocol/barretenberg/issues/540)) ([a9fbc39](https://github.com/AztecProtocol/barretenberg/commit/a9fbc3973f24680f676682d15c3a4cef0a1ab798)) -* Soundness issue in bigfield's `evaluate_multiply_add` method ([#558](https://github.com/AztecProtocol/barretenberg/issues/558)) ([1a98ac6](https://github.com/AztecProtocol/barretenberg/commit/1a98ac64787a0e2904fd22043497a8d11afe5e6c)) -* Update versioning in nix files when a release is made ([#549](https://github.com/AztecProtocol/barretenberg/issues/549)) ([1b3ff93](https://github.com/AztecProtocol/barretenberg/commit/1b3ff93e7ed8873583cdade95a860adb8823f1cd)) - - -### Code Refactoring - -* Use circuit builders ([#501](https://github.com/AztecProtocol/barretenberg/issues/501)) ([709a29c](https://github.com/AztecProtocol/barretenberg/commit/709a29c89a305be017270361780995353188035a)) - -## 0.1.0 (2023-06-15) - - -### ⚠ BREAKING CHANGES - -* **dsl:** add hash index to pedersen constraint ([#436](https://github.com/AztecProtocol/barretenberg/issues/436)) -* add support for ROM and RAM ACVM opcodes ([#417](https://github.com/AztecProtocol/barretenberg/issues/417)) -* replace `MerkleMembershipConstraint` with`ComputeMerkleRootConstraint` ([#385](https://github.com/AztecProtocol/barretenberg/issues/385)) -* Remove TOOLCHAIN logic and replace with CMake presets ([#162](https://github.com/AztecProtocol/barretenberg/issues/162)) - -### Features - -* Add `signature_verification_result` to schnorr stdlib ([#173](https://github.com/AztecProtocol/barretenberg/issues/173)) ([7ae381e](https://github.com/AztecProtocol/barretenberg/commit/7ae381e4c5a084efde18917569518c7d4040b653)) -* Add equality and serialization to poly_triple ([#172](https://github.com/AztecProtocol/barretenberg/issues/172)) ([142b041](https://github.com/AztecProtocol/barretenberg/commit/142b041b2d3d090785f0e6f319fbf7504c751098)) -* Add installation targets for libbarretenberg, wasm & headers ([#185](https://github.com/AztecProtocol/barretenberg/issues/185)) ([f2fdebe](https://github.com/AztecProtocol/barretenberg/commit/f2fdebe037d4d2d90761f98e28b4b0d3af9a0f63)) -* Add Noir DSL with acir_format and turbo_proofs namespaces ([#198](https://github.com/AztecProtocol/barretenberg/issues/198)) ([54fab22](https://github.com/AztecProtocol/barretenberg/commit/54fab2217f437bb04a5e9fb71b271cf91b90c6e5)) -* Add pkgconfig output for installed target ([#208](https://github.com/AztecProtocol/barretenberg/issues/208)) ([d85a365](https://github.com/AztecProtocol/barretenberg/commit/d85a365180ac2672bbd33bd8b799a1f154716ab3)) -* add support for ROM and RAM ACVM opcodes ([#417](https://github.com/AztecProtocol/barretenberg/issues/417)) ([697fabb](https://github.com/AztecProtocol/barretenberg/commit/697fabb7cbeadb9264db5047e7fd36565dad8790)) -* Allow bootstrap to work with linux + clang on ARM ([#131](https://github.com/AztecProtocol/barretenberg/issues/131)) ([52cb06b](https://github.com/AztecProtocol/barretenberg/commit/52cb06b445c73f2f324af6595af70ce9c130eb09)) -* **api:** external cpp header for circuits ([#489](https://github.com/AztecProtocol/barretenberg/issues/489)) ([fbbb342](https://github.com/AztecProtocol/barretenberg/commit/fbbb34287fdef0e8fedb2e25c5431f17501ad653)) -* **bb.js:** initial API ([#232](https://github.com/AztecProtocol/barretenberg/issues/232)) ([c860b02](https://github.com/AztecProtocol/barretenberg/commit/c860b02d80425de161af50acf33e94d94eb0659c)) -* Benchmark suite update ([d7b1499](https://github.com/AztecProtocol/barretenberg/commit/d7b14993ac8d329664fd36e7b4aa083935b1d407)) -* Benchmark suite update ([#508](https://github.com/AztecProtocol/barretenberg/issues/508)) ([d7b1499](https://github.com/AztecProtocol/barretenberg/commit/d7b14993ac8d329664fd36e7b4aa083935b1d407)) -* CI to test aztec circuits with current commit of bberg ([#418](https://github.com/AztecProtocol/barretenberg/issues/418)) ([20a0873](https://github.com/AztecProtocol/barretenberg/commit/20a0873dcbfe4a862ad53a9c137030689a521a04)) -* **dsl:** add hash index to pedersen constraint ([#436](https://github.com/AztecProtocol/barretenberg/issues/436)) ([e0b8804](https://github.com/AztecProtocol/barretenberg/commit/e0b8804b9418c7aa39e29e800fecb4ed15d73b80)) -* **github:** add pull request template ([65f3e33](https://github.com/AztecProtocol/barretenberg/commit/65f3e3312061e7284c0dd0f0f89fa92ee92f9eac)) -* **honk:** Shared relation arithmetic ([#514](https://github.com/AztecProtocol/barretenberg/issues/514)) ([0838474](https://github.com/AztecProtocol/barretenberg/commit/0838474e67469a6d91d6595d1ee23e1dea53863c)) -* Improve barretenberg headers ([#201](https://github.com/AztecProtocol/barretenberg/issues/201)) ([4e03839](https://github.com/AztecProtocol/barretenberg/commit/4e03839a970a5d07dab7f86cd2b7166a09f5045a)) -* **nullifier_tree:** make empty nullifier tree leaves hash be 0 ([#360](https://github.com/AztecProtocol/barretenberg/issues/360)) ([#382](https://github.com/AztecProtocol/barretenberg/issues/382)) ([b85ab8d](https://github.com/AztecProtocol/barretenberg/commit/b85ab8d587b3e93db2aa0f1c4f012e58e5d97915)) -* **pkg-config:** Add a bindir variable ([#239](https://github.com/AztecProtocol/barretenberg/issues/239)) ([611bf34](https://github.com/AztecProtocol/barretenberg/commit/611bf34bcc6f82969a6fe546bf0a7cbecda6d36d)) -* Remove TOOLCHAIN logic and replace with CMake presets ([#162](https://github.com/AztecProtocol/barretenberg/issues/162)) ([09db0be](https://github.com/AztecProtocol/barretenberg/commit/09db0be3d09ee12b4b73b03abe8fa4565cdb6660)) -* replace `MerkleMembershipConstraint` with`ComputeMerkleRootConstraint` ([#385](https://github.com/AztecProtocol/barretenberg/issues/385)) ([74dbce5](https://github.com/AztecProtocol/barretenberg/commit/74dbce5dfa126ecd6dbda7b758581752f7b6a389)) -* Support nix package manager ([#234](https://github.com/AztecProtocol/barretenberg/issues/234)) ([19a72fe](https://github.com/AztecProtocol/barretenberg/commit/19a72fec0ff8d451fc94a9f5563202867a5f8147)) -* **ts:** allow passing srs via env functions ([#260](https://github.com/AztecProtocol/barretenberg/issues/260)) ([ac78353](https://github.com/AztecProtocol/barretenberg/commit/ac7835304f4524039abf0a0df9ae85d905f55c86)) -* **ultrahonk:** Added a simple filler table to minimize the amount of entries used to make UltraHonk polynomials non-zero ([b20b401](https://github.com/AztecProtocol/barretenberg/commit/b20b4012546c5b67623950d0fedb0974df8bf345)) -* **ultrahonk:** Added a simple filler table to minimize the amount of entries used to make UltraHonk polynomials non-zero ([#531](https://github.com/AztecProtocol/barretenberg/issues/531)) ([b20b401](https://github.com/AztecProtocol/barretenberg/commit/b20b4012546c5b67623950d0fedb0974df8bf345)) -* Utilize globally installed benchmark if available ([#152](https://github.com/AztecProtocol/barretenberg/issues/152)) ([fbc5027](https://github.com/AztecProtocol/barretenberg/commit/fbc502794e9bbdfda797b11ac71eba996d649722)) -* Utilize globally installed gtest if available ([#151](https://github.com/AztecProtocol/barretenberg/issues/151)) ([efa18a6](https://github.com/AztecProtocol/barretenberg/commit/efa18a621917dc6c38f453825cadc76eb793a73c)) -* Utilize globally installed leveldb if available ([#134](https://github.com/AztecProtocol/barretenberg/issues/134)) ([255dfb5](https://github.com/AztecProtocol/barretenberg/commit/255dfb52adca885b0a4e4380769a279922af49ff)) -* Working UltraPlonk for Noir ([#299](https://github.com/AztecProtocol/barretenberg/issues/299)) ([d56dfbd](https://github.com/AztecProtocol/barretenberg/commit/d56dfbdfd74b438b3c8652e1ae8740de99f93ae5)) - - -### Bug Fixes - -* Align native library object library with wasm ([#238](https://github.com/AztecProtocol/barretenberg/issues/238)) ([4fa6c0d](https://github.com/AztecProtocol/barretenberg/commit/4fa6c0d2d8c6309d53757ad54d3433d1d662de5f)) -* Avoid targeting honk test files when testing is disabled ([#125](https://github.com/AztecProtocol/barretenberg/issues/125)) ([e4a70ed](https://github.com/AztecProtocol/barretenberg/commit/e4a70edf2bb39d67095cbe21fff310372369a92d)) -* bbmalloc linker error ([#459](https://github.com/AztecProtocol/barretenberg/issues/459)) ([d4761c1](https://github.com/AztecProtocol/barretenberg/commit/d4761c11f30eeecbcb2485f50516bee71809bab1)) -* **build:** git add -f .yalc ([#265](https://github.com/AztecProtocol/barretenberg/issues/265)) ([7671192](https://github.com/AztecProtocol/barretenberg/commit/7671192c8a60ff0bc0f8ad3e14ac299ff780cc25)) -* Check for wasm-opt during configure & run on post_build ([#175](https://github.com/AztecProtocol/barretenberg/issues/175)) ([1ff6af3](https://github.com/AztecProtocol/barretenberg/commit/1ff6af3cb6b7b4d3bb53bfbdcbf1c3a568e0fa86)) -* **cmake:** Remove leveldb dependency that was accidentally re-added ([#335](https://github.com/AztecProtocol/barretenberg/issues/335)) ([3534e2b](https://github.com/AztecProtocol/barretenberg/commit/3534e2bfcca46dbca30573286f43425dab6bc810)) -* **dsl:** Use info instead of std::cout to log ([#323](https://github.com/AztecProtocol/barretenberg/issues/323)) ([486d738](https://github.com/AztecProtocol/barretenberg/commit/486d73842b4b7d6aa84fa12d7462fe52e892d416)) -* Ensure barretenberg provides headers that Noir needs ([#200](https://github.com/AztecProtocol/barretenberg/issues/200)) ([0171a49](https://github.com/AztecProtocol/barretenberg/commit/0171a499a175f88a0ee3fcfd4de0f43ad0ebff85)) -* Ensure TBB is optional using OPTIONAL_COMPONENTS ([#127](https://github.com/AztecProtocol/barretenberg/issues/127)) ([e3039b2](https://github.com/AztecProtocol/barretenberg/commit/e3039b26ea8aca4b8fdc4b2cbac6716ace261c76)) -* Fixed the memory issue ([#509](https://github.com/AztecProtocol/barretenberg/issues/509)) ([107d438](https://github.com/AztecProtocol/barretenberg/commit/107d438ad96847e40f8e5374749b8cba820b2007)) -* msgpack error ([#456](https://github.com/AztecProtocol/barretenberg/issues/456)) ([943d6d0](https://github.com/AztecProtocol/barretenberg/commit/943d6d07c57bea521c2593e892e839f25f82b289)) -* msgpack variant_impl.hpp ([#462](https://github.com/AztecProtocol/barretenberg/issues/462)) ([b5838a6](https://github.com/AztecProtocol/barretenberg/commit/b5838a6c9fe456e832776da21379e41c0a2bbd5d)) -* **nix:** Disable ASM & ADX when building in Nix ([#327](https://github.com/AztecProtocol/barretenberg/issues/327)) ([3bc724d](https://github.com/AztecProtocol/barretenberg/commit/3bc724d2163d29041bfa29a1e49625bab77289a2)) -* **nix:** Use wasi-sdk 12 to provide barretenberg-wasm in overlay ([#315](https://github.com/AztecProtocol/barretenberg/issues/315)) ([4a06992](https://github.com/AztecProtocol/barretenberg/commit/4a069923f4a869f8c2315e6d3f738db6e66dcdfa)) -* Pass brew omp location via LDFLAGS and CPPFLAGS ([#126](https://github.com/AztecProtocol/barretenberg/issues/126)) ([54141f1](https://github.com/AztecProtocol/barretenberg/commit/54141f12de9eee86220003b1f80d39a41795cedc)) -* Remove leveldb_store from stdlib_merkle_tree ([#149](https://github.com/AztecProtocol/barretenberg/issues/149)) ([3ce5e7e](https://github.com/AztecProtocol/barretenberg/commit/3ce5e7e17ca7bb806373be833a44d55a8e584bda)) -* Revert generator changes that cause memory OOB access ([#338](https://github.com/AztecProtocol/barretenberg/issues/338)) ([500daf1](https://github.com/AztecProtocol/barretenberg/commit/500daf1ceb03771d2c01eaf1a86139a7ac1d814f)) -* **srs:** Detect shasum utility when downloading lagrange ([#143](https://github.com/AztecProtocol/barretenberg/issues/143)) ([515604d](https://github.com/AztecProtocol/barretenberg/commit/515604dff83648e00106f35511aa567921599a78)) -* Store lagrange forms of selector polys w/ Ultra ([#255](https://github.com/AztecProtocol/barretenberg/issues/255)) ([b121963](https://github.com/AztecProtocol/barretenberg/commit/b12196362497c8dfb3a64284d28de2d8ee7d730c)) -* throw -> throw_or_abort in sol gen ([#388](https://github.com/AztecProtocol/barretenberg/issues/388)) ([7cfe3f0](https://github.com/AztecProtocol/barretenberg/commit/7cfe3f055815e333ff8a8f1f30e8377c83d2182a)) -* **wasm:** Remove the CMAKE_STAGING_PREFIX variable from wasm preset ([#240](https://github.com/AztecProtocol/barretenberg/issues/240)) ([f2f8d1f](https://github.com/AztecProtocol/barretenberg/commit/f2f8d1f7a24ca73e30c981fd245c86f7f964abb7)) -* Wrap each use of filesystem library in ifndef __wasm__ ([#181](https://github.com/AztecProtocol/barretenberg/issues/181)) ([0eae962](https://github.com/AztecProtocol/barretenberg/commit/0eae96293b4d2da6b6b23ae80ac132fb49f90915)) diff --git a/circuits/cpp/barretenberg/ts/CHANGELOG.md b/circuits/cpp/barretenberg/ts/CHANGELOG.md deleted file mode 100644 index 1dcbdc136f6..00000000000 --- a/circuits/cpp/barretenberg/ts/CHANGELOG.md +++ /dev/null @@ -1,201 +0,0 @@ -# Changelog - -## [0.6.7](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.6.6...barretenberg.js-v0.6.7) (2023-09-11) - - -### Miscellaneous - -* **barretenberg.js:** Synchronize aztec-packages versions - -## [0.6.6](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.6.5...barretenberg.js-v0.6.6) (2023-09-11) - - -### Miscellaneous - -* **barretenberg.js:** Synchronize aztec-packages versions - -## [0.6.5](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.6.4...barretenberg.js-v0.6.5) (2023-09-08) - - -### Miscellaneous - -* **barretenberg.js:** Synchronize aztec-packages versions - -## [0.6.4](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.6.3...barretenberg.js-v0.6.4) (2023-09-08) - - -### Miscellaneous - -* **barretenberg.js:** Synchronize aztec-packages versions - -## [0.6.3](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.6.2...barretenberg.js-v0.6.3) (2023-09-08) - - -### Miscellaneous - -* **barretenberg.js:** Synchronize aztec-packages versions - -## [0.6.2](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.6.1...barretenberg.js-v0.6.2) (2023-09-08) - - -### Miscellaneous - -* **barretenberg.js:** Synchronize aztec-packages versions - -## [0.6.1](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.5.2...barretenberg.js-v0.6.1) (2023-09-08) - - -### Miscellaneous - -* **master:** Release 0.5.2 ([#2141](https://github.com/AztecProtocol/aztec-packages/issues/2141)) ([451aad6](https://github.com/AztecProtocol/aztec-packages/commit/451aad6ea92ebced9839ca14baae10cee327be35)) -* Release 0.5.2 ([f76b53c](https://github.com/AztecProtocol/aztec-packages/commit/f76b53c985116ac131a9b11b2a255feb7d0f8f13)) -* Release 0.6.1 ([1bd1a79](https://github.com/AztecProtocol/aztec-packages/commit/1bd1a79b0cefcd90306133aab141d992e8ea5fc3)) - -## [0.5.2](https://github.com/AztecProtocol/aztec-packages/compare/barretenberg.js-v0.5.2...barretenberg.js-v0.5.2) (2023-09-08) - - -### Miscellaneous - -* Release 0.5.2 ([f76b53c](https://github.com/AztecProtocol/aztec-packages/commit/f76b53c985116ac131a9b11b2a255feb7d0f8f13)) - -## [0.5.1](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.5.0...barretenberg.js-v0.5.1) (2023-09-05) - - -### Features - -* Add `info` command to bb ([#2010](https://github.com/AztecProtocol/barretenberg/issues/2010)) ([2882d97](https://github.com/AztecProtocol/barretenberg/commit/2882d97f5165239badb328be80568e7d683c0465)) -* **ci:** Use content hash in build system, restrict docs build to *.ts or *.cpp ([#1953](https://github.com/AztecProtocol/barretenberg/issues/1953)) ([297a20d](https://github.com/AztecProtocol/barretenberg/commit/297a20d7878a4aabab1cabf2cc5d2d67f9e969c5)) - - -### Bug Fixes - -* **bb.js:** (breaking change) bundles bb.js properly so that it works in the browser and in node ([#1855](https://github.com/AztecProtocol/barretenberg/issues/1855)) ([bc93a5f](https://github.com/AztecProtocol/barretenberg/commit/bc93a5f8510d0dc600343e7e613ab84380d3c225)) -* **ci:** Incorrect content hash in some build targets ([#1973](https://github.com/AztecProtocol/barretenberg/issues/1973)) ([c6c469a](https://github.com/AztecProtocol/barretenberg/commit/c6c469aa5da7c6973f656ddf8af4fb20c3e8e4f6)) -* Master ([#1981](https://github.com/AztecProtocol/barretenberg/issues/1981)) ([59a454e](https://github.com/AztecProtocol/barretenberg/commit/59a454ecf1611424893e1cb093774a23dde39310)) - -## [0.5.0](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.6...barretenberg.js-v0.5.0) (2023-09-01) - - -### ⚠ BREAKING CHANGES - -* update to acvm 0.24.0 ([#1925](https://github.com/AztecProtocol/barretenberg/issues/1925)) - -### Miscellaneous Chores - -* Update to acvm 0.24.0 ([#1925](https://github.com/AztecProtocol/barretenberg/issues/1925)) ([5d8db8e](https://github.com/AztecProtocol/barretenberg/commit/5d8db8eb993334b43e24a51efba9c59e123320ab)) - -## [0.4.6](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.5...barretenberg.js-v0.4.6) (2023-08-29) - - -### Miscellaneous Chores - -* **barretenberg.js:** Synchronize barretenberg versions - -## [0.4.5](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.4...barretenberg.js-v0.4.5) (2023-08-28) - - -### Miscellaneous Chores - -* **barretenberg.js:** Synchronize barretenberg versions - -## [0.4.4](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.3...barretenberg.js-v0.4.4) (2023-08-28) - - -### Miscellaneous Chores - -* **barretenberg.js:** Synchronize barretenberg versions - -## [0.4.3](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.2...barretenberg.js-v0.4.3) (2023-08-23) - - -### Bug Fixes - -* Download SRS using one canonical URL across the codebase ([#1748](https://github.com/AztecProtocol/barretenberg/issues/1748)) ([5c91de7](https://github.com/AztecProtocol/barretenberg/commit/5c91de7296e054f6d5ac3dca94ca85e06d496048)) -* Proving fails when circuit has size > ~500K ([#1739](https://github.com/AztecProtocol/barretenberg/issues/1739)) ([6d32383](https://github.com/AztecProtocol/barretenberg/commit/6d323838a525190618d608598357ee4608c46699)) - -## [0.4.2](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.1...barretenberg.js-v0.4.2) (2023-08-21) - - -### Miscellaneous Chores - -* **barretenberg.js:** Synchronize barretenberg versions - -## [0.4.1](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.4.0...barretenberg.js-v0.4.1) (2023-08-21) - - -### Bug Fixes - -* **bb:** Fix Typo ([#1709](https://github.com/AztecProtocol/barretenberg/issues/1709)) ([286d64e](https://github.com/AztecProtocol/barretenberg/commit/286d64e6036336314114f1d2a25273f4dabe36f4)) - -## [0.4.0](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.6...barretenberg.js-v0.4.0) (2023-08-21) - - -### ⚠ BREAKING CHANGES - -* Barretenberg binaries now take in the encoded circuit instead of a json file ([#1618](https://github.com/AztecProtocol/barretenberg/issues/1618)) - -### Bug Fixes - -* Barretenberg binaries now take in the encoded circuit instead of a json file ([#1618](https://github.com/AztecProtocol/barretenberg/issues/1618)) ([180cdc9](https://github.com/AztecProtocol/barretenberg/commit/180cdc9ac7cf9aa793d9774dc866ceb4e6ec3fbc)) -* Bin reference when installing package ([#678](https://github.com/AztecProtocol/barretenberg/issues/678)) ([c734295](https://github.com/AztecProtocol/barretenberg/commit/c734295a10d2c40ede773519664170880f28b2b7)) -* Sync aztec master ([#680](https://github.com/AztecProtocol/barretenberg/issues/680)) ([3afc243](https://github.com/AztecProtocol/barretenberg/commit/3afc2438053f530e49fbebbdbadd8db8a630bb8c)) - -## [0.3.6](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.5...barretenberg.js-v0.3.6) (2023-08-08) - - -### Miscellaneous Chores - -* **barretenberg.js:** Synchronize barretenberg versions - -## [0.3.5](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.4...barretenberg.js-v0.3.5) (2023-08-07) - - -### Miscellaneous Chores - -* **barretenberg.js:** Synchronize barretenberg versions - -## [0.3.4](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.3...barretenberg.js-v0.3.4) (2023-07-25) - - -### Features - -* Modify bb.js to be compatible with next.js ([#544](https://github.com/AztecProtocol/barretenberg/issues/544)) ([d384089](https://github.com/AztecProtocol/barretenberg/commit/d384089f60d1a6d5baeb0d3459556a310b790366)) - -## [0.3.3](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.2...barretenberg.js-v0.3.3) (2023-07-17) - - -### Features - -* Bb and bb.js directly parse nargo bincode format. ([#610](https://github.com/AztecProtocol/barretenberg/issues/610)) ([d25e37a](https://github.com/AztecProtocol/barretenberg/commit/d25e37ad74b88dc45337b2a529ede3136dd4a699)) - -## [0.3.2](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.1...barretenberg.js-v0.3.2) (2023-07-12) - - -### Miscellaneous Chores - -* **barretenberg.js:** Synchronize barretenberg versions - -## [0.3.1](https://github.com/AztecProtocol/barretenberg/compare/barretenberg.js-v0.3.0...barretenberg.js-v0.3.1) (2023-07-11) - - -### Miscellaneous Chores - -* **barretenberg.js:** Synchronize barretenberg versions - -## 0.3.0 (2023-07-11) - - -### Features - -* **bb.js:** initial API ([#232](https://github.com/AztecProtocol/barretenberg/issues/232)) ([c860b02](https://github.com/AztecProtocol/barretenberg/commit/c860b02d80425de161af50acf33e94d94eb0659c)) -* **dsl:** Add ECDSA secp256r1 verification ([#582](https://github.com/AztecProtocol/barretenberg/issues/582)) ([adc4c7b](https://github.com/AztecProtocol/barretenberg/commit/adc4c7b4eb634eae28dd28e25b94b93a5b49c80e)) -* Initial native version of bb binary. ([#524](https://github.com/AztecProtocol/barretenberg/issues/524)) ([4a1b532](https://github.com/AztecProtocol/barretenberg/commit/4a1b5322dc78921d253e6a374eba0b616ab788df)) -* Optimize memory consumption of pedersen generators ([#413](https://github.com/AztecProtocol/barretenberg/issues/413)) ([d60b16a](https://github.com/AztecProtocol/barretenberg/commit/d60b16a14219fd4bd130ce4537c3e94bfa10128f)) -* **ts:** allow passing srs via env functions ([#260](https://github.com/AztecProtocol/barretenberg/issues/260)) ([ac78353](https://github.com/AztecProtocol/barretenberg/commit/ac7835304f4524039abf0a0df9ae85d905f55c86)) - - -### Bug Fixes - -* **build:** git add -f .yalc ([#265](https://github.com/AztecProtocol/barretenberg/issues/265)) ([7671192](https://github.com/AztecProtocol/barretenberg/commit/7671192c8a60ff0bc0f8ad3e14ac299ff780cc25)) -* bump timeout on common test. ([c9bc87d](https://github.com/AztecProtocol/barretenberg/commit/c9bc87d29fa1325162cb1e7bf2db7cc85747fd9e)) -* Trigger release-please ([#594](https://github.com/AztecProtocol/barretenberg/issues/594)) ([5042861](https://github.com/AztecProtocol/barretenberg/commit/5042861405df6b5659c0c32418720d8bdea81081)) From b5de3a9c27cab0a7b19b492456aebfb84244e70e Mon Sep 17 00:00:00 2001 From: ludamad Date: Wed, 13 Sep 2023 17:07:53 +0000 Subject: [PATCH 23/28] chore: remove build-system for merge --- barretenberg/build-system | 1 - 1 file changed, 1 deletion(-) delete mode 160000 barretenberg/build-system diff --git a/barretenberg/build-system b/barretenberg/build-system deleted file mode 160000 index a109f3aef28..00000000000 --- a/barretenberg/build-system +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a109f3aef28cea4a50481cdf2d74fc3909212c0b From 7e3bf574269d858c9f316ec2fffabd8d6cc3ec3e Mon Sep 17 00:00:00 2001 From: maramihali Date: Wed, 13 Sep 2023 17:30:45 +0000 Subject: [PATCH 24/28] resolve merge conflicts --- .../honk/composer/ultra_composer.cpp | 476 +----------- .../honk/composer/ultra_composer.test.cpp | 710 +++++++++--------- 2 files changed, 366 insertions(+), 820 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp index 1e10d23779a..b6ae69303d8 100644 --- a/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp @@ -1,16 +1,11 @@ -<<<<<<< HEAD -#include "ultra_composer.hpp" -#include "barretenberg/honk/proof_system/ultra_prover.hpp" -======= -#include "instance.hpp" +#include "barretenberg/honk/composer/ultra_composer.hpp" +#include "barretenberg/honk/instance/instance.hpp" #include "barretenberg/honk/proof_system/grand_product_library.hpp" #include "barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp" ->>>>>>> origin/master #include "barretenberg/proof_system/composer/composer_lib.hpp" #include "barretenberg/proof_system/composer/permutation_lib.hpp" namespace proof_system::honk { -<<<<<<< HEAD template std::shared_ptr> UltraComposer_::create_instance(CircuitBuilder& circuit) @@ -75,470 +70,3 @@ template class UltraComposer_; template class UltraComposer_; } // namespace proof_system::honk -======= -/** - * @brief Helper method to compute quantities like total number of gates and dyadic circuit size - * - * @tparam Flavor - * @param circuit - */ -template void Instance_::compute_circuit_size_parameters(Circuit& circuit) -{ - // Compute total length of the tables and the number of lookup gates; their sum is the minimum circuit size - for (const auto& table : circuit.lookup_tables) { - tables_size += table.size; - lookups_size += table.lookup_gates.size(); - } - - // Get num conventional gates, num public inputs and num Goblin style ECC op gates - const size_t num_gates = circuit.num_gates; - num_public_inputs = circuit.public_inputs.size(); - num_ecc_op_gates = circuit.num_ecc_op_gates; - - // minimum circuit size due to the length of lookups plus tables - const size_t minimum_circuit_size_due_to_lookups = tables_size + lookups_size + num_zero_rows; - - // number of populated rows in the execution trace - size_t num_rows_populated_in_execution_trace = num_zero_rows + num_ecc_op_gates + num_public_inputs + num_gates; - - // The number of gates is max(lookup gates + tables, rows already populated in trace) + 1, where the +1 is due to - // addition of a "zero row" at top of the execution trace to ensure wires and other polys are shiftable. - total_num_gates = std::max(minimum_circuit_size_due_to_lookups, num_rows_populated_in_execution_trace); - - // Next power of 2 - dyadic_circuit_size = circuit.get_circuit_subgroup_size(total_num_gates); -} - -/** - * @brief Compute witness polynomials - * - */ -template void Instance_::compute_witness(Circuit& circuit) -{ - if (computed_witness) { - return; - } - - // Construct the conventional wire polynomials - auto wire_polynomials = construct_wire_polynomials_base(circuit, dyadic_circuit_size); - - proving_key->w_l = wire_polynomials[0]; - proving_key->w_r = wire_polynomials[1]; - proving_key->w_o = wire_polynomials[2]; - proving_key->w_4 = wire_polynomials[3]; - - // If Goblin, construct the ECC op queue wire polynomials - if constexpr (IsGoblinFlavor) { - construct_ecc_op_wire_polynomials(wire_polynomials); - } - - // Construct the sorted concatenated list polynomials for the lookup argument - polynomial s_1(dyadic_circuit_size); - polynomial s_2(dyadic_circuit_size); - polynomial s_3(dyadic_circuit_size); - polynomial s_4(dyadic_circuit_size); - - // The sorted list polynomials have (tables_size + lookups_size) populated entries. We define the index below so - // that these entries are written into the last indices of the polynomials. The values on the first - // dyadic_circuit_size - (tables_size + lookups_size) indices are automatically initialized to zero via the - // polynomial constructor. - size_t s_index = dyadic_circuit_size - tables_size - lookups_size; - ASSERT(s_index > 0); // We need at least 1 row of zeroes for the permutation argument - - for (auto& table : circuit.lookup_tables) { - const fr table_index(table.table_index); - auto& lookup_gates = table.lookup_gates; - for (size_t i = 0; i < table.size; ++i) { - if (table.use_twin_keys) { - lookup_gates.push_back({ - { - table.column_1[i].from_montgomery_form().data[0], - table.column_2[i].from_montgomery_form().data[0], - }, - { - table.column_3[i], - 0, - }, - }); - } else { - lookup_gates.push_back({ - { - table.column_1[i].from_montgomery_form().data[0], - 0, - }, - { - table.column_2[i], - table.column_3[i], - }, - }); - } - } - -#ifdef NO_TBB - std::sort(lookup_gates.begin(), lookup_gates.end()); -#else - std::sort(std::execution::par_unseq, lookup_gates.begin(), lookup_gates.end()); -#endif - - for (const auto& entry : lookup_gates) { - const auto components = entry.to_sorted_list_components(table.use_twin_keys); - s_1[s_index] = components[0]; - s_2[s_index] = components[1]; - s_3[s_index] = components[2]; - s_4[s_index] = table_index; - ++s_index; - } - } - - // Polynomial memory is zeroed out when constructed with size hint, so we don't have to initialize trailing space - proving_key->sorted_1 = s_1; - proving_key->sorted_2 = s_2; - proving_key->sorted_3 = s_3; - proving_key->sorted_4 = s_4; - - // Copy memory read/write record data into proving key. Prover needs to know which gates contain a read/write - // 'record' witness on the 4th wire. This wire value can only be fully computed once the first 3 wire polynomials - // have been committed to. The 4th wire on these gates will be a random linear combination of the first 3 wires, - // using the plookup challenge `eta`. We need to update the records with an offset Because we shift the gates to - // account for everything that comes before them in the execution trace, e.g. public inputs, a zero row, etc. - size_t offset = num_ecc_op_gates + num_public_inputs + num_zero_rows; - auto add_public_inputs_offset = [offset](uint32_t gate_index) { return gate_index + offset; }; - proving_key->memory_read_records = std::vector(); - proving_key->memory_write_records = std::vector(); - - std::transform(circuit.memory_read_records.begin(), - circuit.memory_read_records.end(), - std::back_inserter(proving_key->memory_read_records), - add_public_inputs_offset); - std::transform(circuit.memory_write_records.begin(), - circuit.memory_write_records.end(), - std::back_inserter(proving_key->memory_write_records), - add_public_inputs_offset); - - computed_witness = true; -} - -/** - * @brief Construct Goblin style ECC op wire polynomials - * @details The Ecc op wire values are assumed to have already been stored in the corresponding block of the - * conventional wire polynomials. The values for the ecc op wire polynomials are set based on those values. - * - * @tparam Flavor - * @param wire_polynomials - */ -template void Instance_::construct_ecc_op_wire_polynomials(auto& wire_polynomials) -{ - std::array op_wire_polynomials; - for (auto& poly : op_wire_polynomials) { - poly = static_cast(dyadic_circuit_size); - } - - // The ECC op wires are constructed to contain the op data on the appropriate range and to vanish everywhere else. - // The op data is assumed to have already been stored at the correct location in the convetional wires so the data - // can simply be copied over directly. - const size_t op_wire_offset = Flavor::has_zero_row ? 1 : 0; - for (size_t poly_idx = 0; poly_idx < Flavor::NUM_WIRES; ++poly_idx) { - for (size_t i = 0; i < num_ecc_op_gates; ++i) { - size_t idx = i + op_wire_offset; - op_wire_polynomials[poly_idx][idx] = wire_polynomials[poly_idx][idx]; - } - } - - proving_key->ecc_op_wire_1 = op_wire_polynomials[0]; - proving_key->ecc_op_wire_2 = op_wire_polynomials[1]; - proving_key->ecc_op_wire_3 = op_wire_polynomials[2]; - proving_key->ecc_op_wire_4 = op_wire_polynomials[3]; -} - -template -std::shared_ptr Instance_::compute_proving_key(Circuit& circuit) -{ - if (proving_key) { - return proving_key; - } - - proving_key = std::make_shared(dyadic_circuit_size, num_public_inputs); - - construct_selector_polynomials(circuit, proving_key.get()); - - compute_honk_generalized_sigma_permutations(circuit, proving_key.get()); - - compute_first_and_last_lagrange_polynomials(proving_key.get()); - - polynomial poly_q_table_column_1(dyadic_circuit_size); - polynomial poly_q_table_column_2(dyadic_circuit_size); - polynomial poly_q_table_column_3(dyadic_circuit_size); - polynomial poly_q_table_column_4(dyadic_circuit_size); - - size_t offset = dyadic_circuit_size - tables_size; - - // Create lookup selector polynomials which interpolate each table column. - // Our selector polys always need to interpolate the full subgroup size, so here we offset so as to - // put the table column's values at the end. (The first gates are for non-lookup constraints). - // [0, ..., 0, ...table, 0, 0, 0, x] - // ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^nonzero to ensure uniqueness and to avoid infinity commitments - // | table randomness - // ignored, as used for regular constraints and padding to the next power of 2. - - for (size_t i = 0; i < offset; ++i) { - poly_q_table_column_1[i] = 0; - poly_q_table_column_2[i] = 0; - poly_q_table_column_3[i] = 0; - poly_q_table_column_4[i] = 0; - } - - for (const auto& table : circuit.lookup_tables) { - const fr table_index(table.table_index); - - for (size_t i = 0; i < table.size; ++i) { - poly_q_table_column_1[offset] = table.column_1[i]; - poly_q_table_column_2[offset] = table.column_2[i]; - poly_q_table_column_3[offset] = table.column_3[i]; - poly_q_table_column_4[offset] = table_index; - ++offset; - } - } - - // Polynomial memory is zeroed out when constructed with size hint, so we don't have to initialize trailing space - - proving_key->table_1 = poly_q_table_column_1; - proving_key->table_2 = poly_q_table_column_2; - proving_key->table_3 = poly_q_table_column_3; - proving_key->table_4 = poly_q_table_column_4; - - proving_key->recursive_proof_public_input_indices = - std::vector(recursive_proof_public_input_indices.begin(), recursive_proof_public_input_indices.end()); - - proving_key->contains_recursive_proof = contains_recursive_proof; - - if constexpr (IsGoblinFlavor) { - proving_key->num_ecc_op_gates = num_ecc_op_gates; - } - - return proving_key; -} - -template void Instance_::initialise_prover_polynomials() -{ - prover_polynomials.q_c = proving_key->q_c; - prover_polynomials.q_l = proving_key->q_l; - prover_polynomials.q_r = proving_key->q_r; - prover_polynomials.q_o = proving_key->q_o; - prover_polynomials.q_4 = proving_key->q_4; - prover_polynomials.q_m = proving_key->q_m; - prover_polynomials.q_arith = proving_key->q_arith; - prover_polynomials.q_sort = proving_key->q_sort; - prover_polynomials.q_elliptic = proving_key->q_elliptic; - prover_polynomials.q_aux = proving_key->q_aux; - prover_polynomials.q_lookup = proving_key->q_lookup; - prover_polynomials.sigma_1 = proving_key->sigma_1; - prover_polynomials.sigma_2 = proving_key->sigma_2; - prover_polynomials.sigma_3 = proving_key->sigma_3; - prover_polynomials.sigma_4 = proving_key->sigma_4; - prover_polynomials.id_1 = proving_key->id_1; - prover_polynomials.id_2 = proving_key->id_2; - prover_polynomials.id_3 = proving_key->id_3; - prover_polynomials.id_4 = proving_key->id_4; - prover_polynomials.table_1 = proving_key->table_1; - prover_polynomials.table_2 = proving_key->table_2; - prover_polynomials.table_3 = proving_key->table_3; - prover_polynomials.table_4 = proving_key->table_4; - prover_polynomials.table_1_shift = proving_key->table_1.shifted(); - prover_polynomials.table_2_shift = proving_key->table_2.shifted(); - prover_polynomials.table_3_shift = proving_key->table_3.shifted(); - prover_polynomials.table_4_shift = proving_key->table_4.shifted(); - prover_polynomials.lagrange_first = proving_key->lagrange_first; - prover_polynomials.lagrange_last = proving_key->lagrange_last; - prover_polynomials.w_l = proving_key->w_l; - prover_polynomials.w_r = proving_key->w_r; - prover_polynomials.w_o = proving_key->w_o; - prover_polynomials.w_l_shift = proving_key->w_l.shifted(); - prover_polynomials.w_r_shift = proving_key->w_r.shifted(); - prover_polynomials.w_o_shift = proving_key->w_o.shifted(); - - if constexpr (IsGoblinFlavor) { - prover_polynomials.ecc_op_wire_1 = proving_key->ecc_op_wire_1; - prover_polynomials.ecc_op_wire_2 = proving_key->ecc_op_wire_2; - prover_polynomials.ecc_op_wire_3 = proving_key->ecc_op_wire_3; - prover_polynomials.ecc_op_wire_4 = proving_key->ecc_op_wire_4; - prover_polynomials.lagrange_ecc_op = proving_key->lagrange_ecc_op; - } - - // Determine public input offsets in the circuit relative to the 0th index - std::span public_wires_source = prover_polynomials.w_r; - pub_inputs_offset = Flavor::has_zero_row ? 1 : 0; - if constexpr (IsGoblinFlavor) { - pub_inputs_offset += proving_key->num_ecc_op_gates; - } - - // Construct the public inputs array - for (size_t i = 0; i < proving_key->num_public_inputs; ++i) { - size_t idx = i + pub_inputs_offset; - public_inputs.emplace_back(public_wires_source[idx]); - } -} - -template void Instance_::compute_sorted_accumulator_polynomials(FF eta) -{ - relation_parameters.eta = eta; - // Compute sorted witness-table accumulator - compute_sorted_list_accumulator(eta); - prover_polynomials.sorted_accum = proving_key->sorted_accum; - prover_polynomials.sorted_accum_shift = proving_key->sorted_accum.shifted(); - - // Finalize fourth wire polynomial by adding lookup memory records - add_plookup_memory_records_to_wire_4(eta); - prover_polynomials.w_4 = proving_key->w_4; - prover_polynomials.w_4_shift = proving_key->w_4.shifted(); -} - -/** - * @brief Construct sorted list accumulator polynomial 's'. - * - * @details Compute s = s_1 + η*s_2 + η²*s_3 + η³*s_4 (via Horner) where s_i are the - * sorted concatenated witness/table polynomials - * - * @param key proving key - * @param sorted_list_polynomials sorted concatenated witness/table polynomials - * @param eta random challenge - * @return Polynomial - */ -template void Instance_::compute_sorted_list_accumulator(FF eta) -{ - const size_t circuit_size = proving_key->circuit_size; - - auto sorted_list_accumulator = Polynomial{ circuit_size }; - - auto sorted_polynomials = proving_key->get_sorted_polynomials(); - - // Construct s via Horner, i.e. s = s_1 + η(s_2 + η(s_3 + η*s_4)) - for (size_t i = 0; i < circuit_size; ++i) { - FF T0 = sorted_polynomials[3][i]; - T0 *= eta; - T0 += sorted_polynomials[2][i]; - T0 *= eta; - T0 += sorted_polynomials[1][i]; - T0 *= eta; - T0 += sorted_polynomials[0][i]; - sorted_list_accumulator[i] = T0; - } - proving_key->sorted_accum = sorted_list_accumulator; -} - -/** - * @brief Add plookup memory records to the fourth wire polynomial - * - * @details This operation must be performed after the first three wires have been committed to, hence the dependence on - * the `eta` challenge. - * - * @tparam Flavor - * @param eta challenge produced after commitment to first three wire polynomials - */ -template void Instance_::add_plookup_memory_records_to_wire_4(FF eta) -{ - // The plookup memory record values are computed at the indicated indices as - // w4 = w3 * eta^3 + w2 * eta^2 + w1 * eta + read_write_flag; - // (See plookup_auxiliary_widget.hpp for details) - auto wires = proving_key->get_wires(); - - // Compute read record values - for (const auto& gate_idx : proving_key->memory_read_records) { - wires[3][gate_idx] += wires[2][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += wires[1][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += wires[0][gate_idx]; - wires[3][gate_idx] *= eta; - } - - // Compute write record values - for (const auto& gate_idx : proving_key->memory_write_records) { - wires[3][gate_idx] += wires[2][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += wires[1][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += wires[0][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += 1; - } -} - -template void Instance_::compute_grand_product_polynomials(FF beta, FF gamma) -{ - auto public_input_delta = - compute_public_input_delta(public_inputs, beta, gamma, proving_key->circuit_size, pub_inputs_offset); - auto lookup_grand_product_delta = compute_lookup_grand_product_delta(beta, gamma, proving_key->circuit_size); - - relation_parameters.beta = beta; - relation_parameters.gamma = gamma; - relation_parameters.public_input_delta = public_input_delta; - relation_parameters.lookup_grand_product_delta = lookup_grand_product_delta; - - // Compute permutation and lookup grand product polynomials - grand_product_library::compute_grand_products(proving_key, prover_polynomials, relation_parameters); -} - -/** - * Compute verification key consisting of selector precommitments. - * - * @return Pointer to the resulting verification key of the Instance. - * */ -template -std::shared_ptr Instance_::compute_verification_key() -{ - if (verification_key) { - return verification_key; - } - - verification_key = - std::make_shared(proving_key->circuit_size, proving_key->num_public_inputs); - - // Compute and store commitments to all precomputed polynomials - verification_key->q_m = commitment_key->commit(proving_key->q_m); - verification_key->q_l = commitment_key->commit(proving_key->q_l); - verification_key->q_r = commitment_key->commit(proving_key->q_r); - verification_key->q_o = commitment_key->commit(proving_key->q_o); - verification_key->q_4 = commitment_key->commit(proving_key->q_4); - verification_key->q_c = commitment_key->commit(proving_key->q_c); - verification_key->q_arith = commitment_key->commit(proving_key->q_arith); - verification_key->q_sort = commitment_key->commit(proving_key->q_sort); - verification_key->q_elliptic = commitment_key->commit(proving_key->q_elliptic); - verification_key->q_aux = commitment_key->commit(proving_key->q_aux); - verification_key->q_lookup = commitment_key->commit(proving_key->q_lookup); - verification_key->sigma_1 = commitment_key->commit(proving_key->sigma_1); - verification_key->sigma_2 = commitment_key->commit(proving_key->sigma_2); - verification_key->sigma_3 = commitment_key->commit(proving_key->sigma_3); - verification_key->sigma_4 = commitment_key->commit(proving_key->sigma_4); - verification_key->id_1 = commitment_key->commit(proving_key->id_1); - verification_key->id_2 = commitment_key->commit(proving_key->id_2); - verification_key->id_3 = commitment_key->commit(proving_key->id_3); - verification_key->id_4 = commitment_key->commit(proving_key->id_4); - verification_key->table_1 = commitment_key->commit(proving_key->table_1); - verification_key->table_2 = commitment_key->commit(proving_key->table_2); - verification_key->table_3 = commitment_key->commit(proving_key->table_3); - verification_key->table_4 = commitment_key->commit(proving_key->table_4); - verification_key->lagrange_first = commitment_key->commit(proving_key->lagrange_first); - verification_key->lagrange_last = commitment_key->commit(proving_key->lagrange_last); - - // TODO(luke): Similar to the lagrange_first/last polynomials, we dont really need to commit to this polynomial due - // to its simple structure. Handling it in the same way as the lagrange polys for now for simplicity. - if constexpr (IsGoblinFlavor) { - verification_key->lagrange_ecc_op = commitment_key->commit(proving_key->lagrange_ecc_op); - } - - // // See `add_recusrive_proof()` for how this recursive data is assigned. - // verification_key->recursive_proof_public_input_indices = - // std::vector(recursive_proof_public_input_indices.begin(), - // recursive_proof_public_input_indices.end()); - - // verification_key->contains_recursive_proof = contains_recursive_proof; - - return verification_key; -} - -template class Instance_; -template class Instance_; -template class Instance_; - -} // namespace proof_system::honk ->>>>>>> origin/master diff --git a/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp index ec3196186ef..d493cb73034 100644 --- a/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp @@ -1,12 +1,6 @@ -#include -#include -#include -#include -#include - -#include "barretenberg/common/log.hpp" #include "barretenberg/honk/composer/ultra_composer.hpp" -#include "barretenberg/honk/proof_system/prover.hpp" +#include "barretenberg/ecc/curves/bn254/fr.hpp" +#include "barretenberg/honk/instance/instance.hpp" #include "barretenberg/honk/proof_system/ultra_prover.hpp" #include "barretenberg/honk/sumcheck/sumcheck_round.hpp" #include "barretenberg/honk/utils/grand_product_delta.hpp" @@ -15,6 +9,11 @@ #include "barretenberg/proof_system/plookup_tables/types.hpp" #include "barretenberg/proof_system/relations/permutation_relation.hpp" #include "barretenberg/proof_system/relations/relation_parameters.hpp" +#include +#include +#include +#include +#include using namespace proof_system::honk; @@ -24,19 +23,20 @@ namespace { auto& engine = numeric::random::get_debug_engine(); } -std::vector add_variables(auto& circuit_constructor, std::vector variables) +std::vector add_variables(auto& circuit_builder, std::vector variables) { std::vector res; for (size_t i = 0; i < variables.size(); i++) { - res.emplace_back(circuit_constructor.add_variable(variables[i])); + res.emplace_back(circuit_builder.add_variable(variables[i])); } return res; } -void prove_and_verify(auto& circuit_constructor, auto& composer, bool expected_result) +void prove_and_verify(auto& circuit_builder, auto& composer, bool expected_result) { - auto prover = composer.create_prover(circuit_constructor); - auto verifier = composer.create_verifier(circuit_constructor); + auto instance = composer.create_instance(circuit_builder); + auto prover = composer.create_prover(instance); + auto verifier = composer.create_verifier(instance); auto proof = prover.construct_proof(); bool verified = verifier.verify_proof(proof); EXPECT_EQ(verified, expected_result); @@ -65,21 +65,23 @@ class UltraHonkComposerTests : public ::testing::Test { */ TEST_F(UltraHonkComposerTests, ANonZeroPolynomialIsAGoodPolynomial) { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto composer = UltraComposer(); - auto prover = composer.create_prover(circuit_constructor); + auto instance = composer.create_instance(circuit_builder); + auto prover = composer.create_prover(instance); auto proof = prover.construct_proof(); + auto proving_key = instance->proving_key; - for (auto& poly : prover.key->get_selectors()) { + for (auto& poly : proving_key->get_selectors()) { ensure_non_zero(poly); } - for (auto& poly : prover.key->get_table_polynomials()) { + for (auto& poly : proving_key->get_table_polynomials()) { ensure_non_zero(poly); } - for (auto& poly : prover.key->get_wires()) { + for (auto& poly : proving_key->get_wires()) { ensure_non_zero(poly); } } @@ -90,7 +92,8 @@ TEST_F(UltraHonkComposerTests, ANonZeroPolynomialIsAGoodPolynomial) */ TEST_F(UltraHonkComposerTests, PublicInputs) { - auto builder = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto builder = proof_system::UltraCircuitBuilder(); size_t num_gates = 10; // Add some arbitrary arithmetic gates that utilize public inputs @@ -114,7 +117,8 @@ TEST_F(UltraHonkComposerTests, PublicInputs) TEST_F(UltraHonkComposerTests, XorConstraint) { - auto circuit_constructor = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); uint32_t left_value = engine.get_random_uint32(); uint32_t right_value = engine.get_random_uint32(); @@ -122,8 +126,8 @@ TEST_F(UltraHonkComposerTests, XorConstraint) fr left_witness_value = fr{ left_value, 0, 0, 0 }.to_montgomery_form(); fr right_witness_value = fr{ right_value, 0, 0, 0 }.to_montgomery_form(); - uint32_t left_witness_index = circuit_constructor.add_variable(left_witness_value); - uint32_t right_witness_index = circuit_constructor.add_variable(right_witness_value); + uint32_t left_witness_index = circuit_builder.add_variable(left_witness_value); + uint32_t right_witness_index = circuit_builder.add_variable(right_witness_value); uint32_t xor_result_expected = left_value ^ right_value; @@ -133,29 +137,30 @@ TEST_F(UltraHonkComposerTests, XorConstraint) [0]; // The zeroth index in the 3rd column is the fully accumulated xor EXPECT_EQ(xor_result, xor_result_expected); - circuit_constructor.create_gates_from_plookup_accumulators( + circuit_builder.create_gates_from_plookup_accumulators( plookup::MultiTableId::UINT32_XOR, lookup_accumulators, left_witness_index, right_witness_index); auto composer = UltraComposer(barretenberg::srs::get_crs_factory()); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, create_gates_from_plookup_accumulators) { - auto circuit_constructor = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); barretenberg::fr input_value = fr::random_element(); const fr input_hi = uint256_t(input_value).slice(126, 256); const fr input_lo = uint256_t(input_value).slice(0, 126); - const auto input_hi_index = circuit_constructor.add_variable(input_hi); - const auto input_lo_index = circuit_constructor.add_variable(input_lo); + const auto input_hi_index = circuit_builder.add_variable(input_hi); + const auto input_lo_index = circuit_builder.add_variable(input_lo); const auto sequence_data_hi = plookup::get_lookup_accumulators(plookup::MultiTableId::PEDERSEN_LEFT_HI, input_hi); const auto sequence_data_lo = plookup::get_lookup_accumulators(plookup::MultiTableId::PEDERSEN_LEFT_LO, input_lo); - const auto lookup_witnesses_hi = circuit_constructor.create_gates_from_plookup_accumulators( + const auto lookup_witnesses_hi = circuit_builder.create_gates_from_plookup_accumulators( plookup::MultiTableId::PEDERSEN_LEFT_HI, sequence_data_hi, input_hi_index); - const auto lookup_witnesses_lo = circuit_constructor.create_gates_from_plookup_accumulators( + const auto lookup_witnesses_lo = circuit_builder.create_gates_from_plookup_accumulators( plookup::MultiTableId::PEDERSEN_LEFT_LO, sequence_data_lo, input_lo_index); std::vector expected_x; @@ -203,29 +208,31 @@ TEST_F(UltraHonkComposerTests, create_gates_from_plookup_accumulators) } size_t hi_shift = 126; - const fr hi_cumulative = circuit_constructor.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C1][0]); + const fr hi_cumulative = circuit_builder.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C1][0]); for (size_t i = 0; i < num_lookups_lo; ++i) { const fr hi_mult = fr(uint256_t(1) << hi_shift); - EXPECT_EQ(circuit_constructor.get_variable(lookup_witnesses_lo[plookup::ColumnIdx::C1][i]) + + EXPECT_EQ(circuit_builder.get_variable(lookup_witnesses_lo[plookup::ColumnIdx::C1][i]) + (hi_cumulative * hi_mult), expected_scalars[i]); - EXPECT_EQ(circuit_constructor.get_variable(lookup_witnesses_lo[plookup::ColumnIdx::C2][i]), expected_x[i]); - EXPECT_EQ(circuit_constructor.get_variable(lookup_witnesses_lo[plookup::ColumnIdx::C3][i]), expected_y[i]); + EXPECT_EQ(circuit_builder.get_variable(lookup_witnesses_lo[plookup::ColumnIdx::C2][i]), expected_x[i]); + EXPECT_EQ(circuit_builder.get_variable(lookup_witnesses_lo[plookup::ColumnIdx::C3][i]), expected_y[i]); hi_shift -= crypto::pedersen_hash::lookup::BITS_PER_TABLE; } for (size_t i = 0; i < num_lookups_hi; ++i) { - EXPECT_EQ(circuit_constructor.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C1][i]), + EXPECT_EQ(circuit_builder.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C1][i]), expected_scalars[i + num_lookups_lo]); - EXPECT_EQ(circuit_constructor.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C2][i]), + EXPECT_EQ(circuit_builder.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C2][i]), expected_x[i + num_lookups_lo]); - EXPECT_EQ(circuit_constructor.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C3][i]), + EXPECT_EQ(circuit_builder.get_variable(lookup_witnesses_hi[plookup::ColumnIdx::C3][i]), expected_y[i + num_lookups_lo]); } auto composer = UltraComposer(); - auto prover = composer.create_prover(circuit_constructor); - auto verifier = composer.create_verifier(circuit_constructor); + auto instance = composer.create_instance(circuit_builder); + auto prover = composer.create_prover(instance); + auto verifier = composer.create_verifier(instance); + auto proof = prover.construct_proof(); bool result = verifier.verify_proof(proof); @@ -235,203 +242,210 @@ TEST_F(UltraHonkComposerTests, create_gates_from_plookup_accumulators) TEST_F(UltraHonkComposerTests, test_no_lookup_proof) { - auto circuit_constructor = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); for (size_t i = 0; i < 16; ++i) { for (size_t j = 0; j < 16; ++j) { uint64_t left = static_cast(j); uint64_t right = static_cast(i); - uint32_t left_idx = circuit_constructor.add_variable(fr(left)); - uint32_t right_idx = circuit_constructor.add_variable(fr(right)); - uint32_t result_idx = circuit_constructor.add_variable(fr(left ^ right)); + uint32_t left_idx = circuit_builder.add_variable(fr(left)); + uint32_t right_idx = circuit_builder.add_variable(fr(right)); + uint32_t result_idx = circuit_builder.add_variable(fr(left ^ right)); uint32_t add_idx = - circuit_constructor.add_variable(fr(left) + fr(right) + circuit_constructor.get_variable(result_idx)); - circuit_constructor.create_big_add_gate( + circuit_builder.add_variable(fr(left) + fr(right) + circuit_builder.get_variable(result_idx)); + circuit_builder.create_big_add_gate( { left_idx, right_idx, result_idx, add_idx, fr(1), fr(1), fr(1), fr(-1), fr(0) }); } } auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, test_elliptic_gate) { typedef grumpkin::g1::affine_element affine_element; typedef grumpkin::g1::element element; - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); affine_element p1 = crypto::generators::get_generator_data({ 0, 0 }).generator; affine_element p2 = crypto::generators::get_generator_data({ 0, 1 }).generator; affine_element p3(element(p1) + element(p2)); - uint32_t x1 = circuit_constructor.add_variable(p1.x); - uint32_t y1 = circuit_constructor.add_variable(p1.y); - uint32_t x2 = circuit_constructor.add_variable(p2.x); - uint32_t y2 = circuit_constructor.add_variable(p2.y); - uint32_t x3 = circuit_constructor.add_variable(p3.x); - uint32_t y3 = circuit_constructor.add_variable(p3.y); + uint32_t x1 = circuit_builder.add_variable(p1.x); + uint32_t y1 = circuit_builder.add_variable(p1.y); + uint32_t x2 = circuit_builder.add_variable(p2.x); + uint32_t y2 = circuit_builder.add_variable(p2.y); + uint32_t x3 = circuit_builder.add_variable(p3.x); + uint32_t y3 = circuit_builder.add_variable(p3.y); - circuit_constructor.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, 1, 1 }); + circuit_builder.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, 1, 1 }); grumpkin::fq beta = grumpkin::fq::cube_root_of_unity(); affine_element p2_endo = p2; p2_endo.x *= beta; p3 = affine_element(element(p1) + element(p2_endo)); - x3 = circuit_constructor.add_variable(p3.x); - y3 = circuit_constructor.add_variable(p3.y); - circuit_constructor.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, beta, 1 }); + x3 = circuit_builder.add_variable(p3.x); + y3 = circuit_builder.add_variable(p3.y); + circuit_builder.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, beta, 1 }); p2_endo.x *= beta; p3 = affine_element(element(p1) - element(p2_endo)); - x3 = circuit_constructor.add_variable(p3.x); - y3 = circuit_constructor.add_variable(p3.y); - circuit_constructor.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, beta.sqr(), -1 }); + x3 = circuit_builder.add_variable(p3.x); + y3 = circuit_builder.add_variable(p3.y); + circuit_builder.create_ecc_add_gate({ x1, y1, x2, y2, x3, y3, beta.sqr(), -1 }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, non_trivial_tag_permutation) { - auto circuit_constructor = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fr a = fr::random_element(); fr b = -a; - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(b); - auto d_idx = circuit_constructor.add_variable(a); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(b); + auto d_idx = circuit_builder.add_variable(a); - circuit_constructor.create_add_gate( - { a_idx, b_idx, circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), fr::zero() }); - circuit_constructor.create_add_gate( - { c_idx, d_idx, circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), fr::zero() }); + circuit_builder.create_add_gate( + { a_idx, b_idx, circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), fr::zero() }); + circuit_builder.create_add_gate( + { c_idx, d_idx, circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), fr::zero() }); - circuit_constructor.create_tag(1, 2); - circuit_constructor.create_tag(2, 1); + circuit_builder.create_tag(1, 2); + circuit_builder.create_tag(2, 1); - circuit_constructor.assign_tag(a_idx, 1); - circuit_constructor.assign_tag(b_idx, 1); - circuit_constructor.assign_tag(c_idx, 2); - circuit_constructor.assign_tag(d_idx, 2); + circuit_builder.assign_tag(a_idx, 1); + circuit_builder.assign_tag(b_idx, 1); + circuit_builder.assign_tag(c_idx, 2); + circuit_builder.assign_tag(d_idx, 2); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, non_trivial_tag_permutation_and_cycles) { - auto circuit_constructor = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fr a = fr::random_element(); fr c = -a; - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(a); - circuit_constructor.assert_equal(a_idx, b_idx); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(c); - circuit_constructor.assert_equal(c_idx, d_idx); - auto e_idx = circuit_constructor.add_variable(a); - auto f_idx = circuit_constructor.add_variable(a); - circuit_constructor.assert_equal(e_idx, f_idx); - auto g_idx = circuit_constructor.add_variable(c); - auto h_idx = circuit_constructor.add_variable(c); - circuit_constructor.assert_equal(g_idx, h_idx); - - circuit_constructor.create_tag(1, 2); - circuit_constructor.create_tag(2, 1); - - circuit_constructor.assign_tag(a_idx, 1); - circuit_constructor.assign_tag(c_idx, 1); - circuit_constructor.assign_tag(e_idx, 2); - circuit_constructor.assign_tag(g_idx, 2); - - circuit_constructor.create_add_gate( - { b_idx, a_idx, circuit_constructor.zero_idx, fr::one(), fr::neg_one(), fr::zero(), fr::zero() }); - circuit_constructor.create_add_gate( - { c_idx, g_idx, circuit_constructor.zero_idx, fr::one(), -fr::one(), fr::zero(), fr::zero() }); - circuit_constructor.create_add_gate( - { e_idx, f_idx, circuit_constructor.zero_idx, fr::one(), -fr::one(), fr::zero(), fr::zero() }); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(a); + circuit_builder.assert_equal(a_idx, b_idx); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(c); + circuit_builder.assert_equal(c_idx, d_idx); + auto e_idx = circuit_builder.add_variable(a); + auto f_idx = circuit_builder.add_variable(a); + circuit_builder.assert_equal(e_idx, f_idx); + auto g_idx = circuit_builder.add_variable(c); + auto h_idx = circuit_builder.add_variable(c); + circuit_builder.assert_equal(g_idx, h_idx); + + circuit_builder.create_tag(1, 2); + circuit_builder.create_tag(2, 1); + + circuit_builder.assign_tag(a_idx, 1); + circuit_builder.assign_tag(c_idx, 1); + circuit_builder.assign_tag(e_idx, 2); + circuit_builder.assign_tag(g_idx, 2); + + circuit_builder.create_add_gate( + { b_idx, a_idx, circuit_builder.zero_idx, fr::one(), fr::neg_one(), fr::zero(), fr::zero() }); + circuit_builder.create_add_gate( + { c_idx, g_idx, circuit_builder.zero_idx, fr::one(), -fr::one(), fr::zero(), fr::zero() }); + circuit_builder.create_add_gate( + { e_idx, f_idx, circuit_builder.zero_idx, fr::one(), -fr::one(), fr::zero(), fr::zero() }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, bad_tag_permutation) { - auto circuit_constructor = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fr a = fr::random_element(); fr b = -a; - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(b); - auto d_idx = circuit_constructor.add_variable(a + 1); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(b); + auto d_idx = circuit_builder.add_variable(a + 1); - circuit_constructor.create_add_gate({ a_idx, b_idx, circuit_constructor.zero_idx, 1, 1, 0, 0 }); - circuit_constructor.create_add_gate({ c_idx, d_idx, circuit_constructor.zero_idx, 1, 1, 0, -1 }); + circuit_builder.create_add_gate({ a_idx, b_idx, circuit_builder.zero_idx, 1, 1, 0, 0 }); + circuit_builder.create_add_gate({ c_idx, d_idx, circuit_builder.zero_idx, 1, 1, 0, -1 }); - circuit_constructor.create_tag(1, 2); - circuit_constructor.create_tag(2, 1); + circuit_builder.create_tag(1, 2); + circuit_builder.create_tag(2, 1); - circuit_constructor.assign_tag(a_idx, 1); - circuit_constructor.assign_tag(b_idx, 1); - circuit_constructor.assign_tag(c_idx, 2); - circuit_constructor.assign_tag(d_idx, 2); + circuit_builder.assign_tag(a_idx, 1); + circuit_builder.assign_tag(b_idx, 1); + circuit_builder.assign_tag(c_idx, 2); + circuit_builder.assign_tag(d_idx, 2); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } // same as above but with turbocomposer to check reason of failue is really tag mismatch TEST_F(UltraHonkComposerTests, bad_tag_turbo_permutation) { - auto circuit_constructor = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fr a = fr::random_element(); fr b = -a; - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(b); - auto d_idx = circuit_constructor.add_variable(a + 1); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(b); + auto d_idx = circuit_builder.add_variable(a + 1); - circuit_constructor.create_add_gate({ a_idx, b_idx, circuit_constructor.zero_idx, 1, 1, 0, 0 }); - circuit_constructor.create_add_gate({ c_idx, d_idx, circuit_constructor.zero_idx, 1, 1, 0, -1 }); + circuit_builder.create_add_gate({ a_idx, b_idx, circuit_builder.zero_idx, 1, 1, 0, 0 }); + circuit_builder.create_add_gate({ c_idx, d_idx, circuit_builder.zero_idx, 1, 1, 0, -1 }); auto composer = UltraComposer(); - // circuit_constructor.create_add_gate({ a_idx, b_idx, circuit_constructor.zero_idx, fr::one(), fr::neg_one(), - // fr::zero(), fr::zero() }); circuit_constructor.create_add_gate({ a_idx, b_idx, circuit_constructor.zero_idx, - // fr::one(), fr::neg_one(), fr::zero(), fr::zero() }); circuit_constructor.create_add_gate({ a_idx, b_idx, - // circuit_constructor.zero_idx, fr::one(), fr::neg_one(), fr::zero(), fr::zero() }); - auto prover = composer.create_prover(circuit_constructor); - auto verifier = composer.create_verifier(circuit_constructor); - - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + // circuit_builder.create_add_gate({ a_idx, b_idx, circuit_builder.zero_idx, fr::one(), fr::neg_one(), + // fr::zero(), fr::zero() }); circuit_builder.create_add_gate({ a_idx, b_idx, circuit_builder.zero_idx, + // fr::one(), fr::neg_one(), fr::zero(), fr::zero() }); circuit_builder.create_add_gate({ a_idx, b_idx, + // circuit_builder.zero_idx, fr::one(), fr::neg_one(), fr::zero(), fr::zero() }); + // auto prover = composer.create_prover(circuit_builder); + // auto verifier = composer.create_verifier(circuit_builder); + + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, sort_widget) { - auto circuit_constructor = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fr a = fr::one(); fr b = fr(2); fr c = fr(3); fr d = fr(4); - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(d); - circuit_constructor.create_sort_constraint({ a_idx, b_idx, c_idx, d_idx }); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(d); + circuit_builder.create_sort_constraint({ a_idx, b_idx, c_idx, d_idx }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, sort_with_edges_gate) { + using fr = barretenberg::fr; fr a = fr::one(); fr b = fr(2); @@ -443,271 +457,273 @@ TEST_F(UltraHonkComposerTests, sort_with_edges_gate) fr h = fr(8); { - auto circuit_constructor = UltraCircuitBuilder(); - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(d); - auto e_idx = circuit_constructor.add_variable(e); - auto f_idx = circuit_constructor.add_variable(f); - auto g_idx = circuit_constructor.add_variable(g); - auto h_idx = circuit_constructor.add_variable(h); - circuit_constructor.create_sort_constraint_with_edges( + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(d); + auto e_idx = circuit_builder.add_variable(e); + auto f_idx = circuit_builder.add_variable(f); + auto g_idx = circuit_builder.add_variable(g); + auto h_idx = circuit_builder.add_variable(h); + circuit_builder.create_sort_constraint_with_edges( { a_idx, b_idx, c_idx, d_idx, e_idx, f_idx, g_idx, h_idx }, a, h); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(d); - auto e_idx = circuit_constructor.add_variable(e); - auto f_idx = circuit_constructor.add_variable(f); - auto g_idx = circuit_constructor.add_variable(g); - auto h_idx = circuit_constructor.add_variable(h); - circuit_constructor.create_sort_constraint_with_edges( + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(d); + auto e_idx = circuit_builder.add_variable(e); + auto f_idx = circuit_builder.add_variable(f); + auto g_idx = circuit_builder.add_variable(g); + auto h_idx = circuit_builder.add_variable(h); + circuit_builder.create_sort_constraint_with_edges( { a_idx, b_idx, c_idx, d_idx, e_idx, f_idx, g_idx, h_idx }, a, g); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(d); - auto e_idx = circuit_constructor.add_variable(e); - auto f_idx = circuit_constructor.add_variable(f); - auto g_idx = circuit_constructor.add_variable(g); - auto h_idx = circuit_constructor.add_variable(h); - circuit_constructor.create_sort_constraint_with_edges( + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(d); + auto e_idx = circuit_builder.add_variable(e); + auto f_idx = circuit_builder.add_variable(f); + auto g_idx = circuit_builder.add_variable(g); + auto h_idx = circuit_builder.add_variable(h); + circuit_builder.create_sort_constraint_with_edges( { a_idx, b_idx, c_idx, d_idx, e_idx, f_idx, g_idx, h_idx }, b, h); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto a_idx = circuit_constructor.add_variable(a); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(d); - auto e_idx = circuit_constructor.add_variable(e); - auto f_idx = circuit_constructor.add_variable(f); - auto g_idx = circuit_constructor.add_variable(g); - auto h_idx = circuit_constructor.add_variable(h); - auto b2_idx = circuit_constructor.add_variable(fr(15)); - circuit_constructor.create_sort_constraint_with_edges( + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto a_idx = circuit_builder.add_variable(a); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(d); + auto e_idx = circuit_builder.add_variable(e); + auto f_idx = circuit_builder.add_variable(f); + auto g_idx = circuit_builder.add_variable(g); + auto h_idx = circuit_builder.add_variable(h); + auto b2_idx = circuit_builder.add_variable(fr(15)); + circuit_builder.create_sort_constraint_with_edges( { a_idx, b2_idx, c_idx, d_idx, e_idx, f_idx, g_idx, h_idx }, b, h); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto idx = add_variables(circuit_constructor, { 1, 2, 5, 6, 7, 10, 11, 13, 16, 17, 20, 22, 22, 25, - 26, 29, 29, 32, 32, 33, 35, 38, 39, 39, 42, 42, 43, 45 }); - circuit_constructor.create_sort_constraint_with_edges(idx, 1, 45); + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto idx = add_variables(circuit_builder, { 1, 2, 5, 6, 7, 10, 11, 13, 16, 17, 20, 22, 22, 25, + 26, 29, 29, 32, 32, 33, 35, 38, 39, 39, 42, 42, 43, 45 }); + circuit_builder.create_sort_constraint_with_edges(idx, 1, 45); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto idx = add_variables(circuit_constructor, { 1, 2, 5, 6, 7, 10, 11, 13, 16, 17, 20, 22, 22, 25, - 26, 29, 29, 32, 32, 33, 35, 38, 39, 39, 42, 42, 43, 45 }); - circuit_constructor.create_sort_constraint_with_edges(idx, 1, 29); + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto idx = add_variables(circuit_builder, { 1, 2, 5, 6, 7, 10, 11, 13, 16, 17, 20, 22, 22, 25, + 26, 29, 29, 32, 32, 33, 35, 38, 39, 39, 42, 42, 43, 45 }); + circuit_builder.create_sort_constraint_with_edges(idx, 1, 29); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } } TEST_F(UltraHonkComposerTests, range_constraint) { { - auto circuit_constructor = UltraCircuitBuilder(); - auto indices = add_variables(circuit_constructor, { 1, 2, 3, 4, 5, 6, 7, 8 }); + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto indices = add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 7, 8 }); for (size_t i = 0; i < indices.size(); i++) { - circuit_constructor.create_new_range_constraint(indices[i], 8); + circuit_builder.create_new_range_constraint(indices[i], 8); } // auto ind = {a_idx,b_idx,c_idx,d_idx,e_idx,f_idx,g_idx,h_idx}; - circuit_constructor.create_sort_constraint(indices); + circuit_builder.create_sort_constraint(indices); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto indices = add_variables(circuit_constructor, { 3 }); + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto indices = add_variables(circuit_builder, { 3 }); for (size_t i = 0; i < indices.size(); i++) { - circuit_constructor.create_new_range_constraint(indices[i], 3); + circuit_builder.create_new_range_constraint(indices[i], 3); } // auto ind = {a_idx,b_idx,c_idx,d_idx,e_idx,f_idx,g_idx,h_idx}; - circuit_constructor.create_dummy_constraints(indices); + circuit_builder.create_dummy_constraints(indices); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto indices = add_variables(circuit_constructor, { 1, 2, 3, 4, 5, 6, 8, 25 }); + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto indices = add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 8, 25 }); for (size_t i = 0; i < indices.size(); i++) { - circuit_constructor.create_new_range_constraint(indices[i], 8); + circuit_builder.create_new_range_constraint(indices[i], 8); } - circuit_constructor.create_sort_constraint(indices); + circuit_builder.create_sort_constraint(indices); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto indices = add_variables(circuit_constructor, - { 1, 2, 3, 4, 5, 6, 10, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 19, 51 }); + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto indices = + add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 10, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 19, 51 }); for (size_t i = 0; i < indices.size(); i++) { - circuit_constructor.create_new_range_constraint(indices[i], 128); + circuit_builder.create_new_range_constraint(indices[i], 128); } - circuit_constructor.create_dummy_constraints(indices); + circuit_builder.create_dummy_constraints(indices); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto indices = add_variables(circuit_constructor, - { 1, 2, 3, 80, 5, 6, 29, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 13, 14 }); + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto indices = + add_variables(circuit_builder, { 1, 2, 3, 80, 5, 6, 29, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 13, 14 }); for (size_t i = 0; i < indices.size(); i++) { - circuit_constructor.create_new_range_constraint(indices[i], 79); + circuit_builder.create_new_range_constraint(indices[i], 79); } - circuit_constructor.create_dummy_constraints(indices); + circuit_builder.create_dummy_constraints(indices); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } { - auto circuit_constructor = UltraCircuitBuilder(); - auto indices = add_variables(circuit_constructor, - { 1, 0, 3, 80, 5, 6, 29, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 13, 14 }); + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto indices = + add_variables(circuit_builder, { 1, 0, 3, 80, 5, 6, 29, 8, 15, 11, 32, 21, 42, 79, 16, 10, 3, 26, 13, 14 }); for (size_t i = 0; i < indices.size(); i++) { - circuit_constructor.create_new_range_constraint(indices[i], 79); + circuit_builder.create_new_range_constraint(indices[i], 79); } - circuit_constructor.create_dummy_constraints(indices); + circuit_builder.create_dummy_constraints(indices); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } } TEST_F(UltraHonkComposerTests, range_with_gates) { - auto circuit_constructor = UltraCircuitBuilder(); - auto idx = add_variables(circuit_constructor, { 1, 2, 3, 4, 5, 6, 7, 8 }); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto idx = add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 7, 8 }); for (size_t i = 0; i < idx.size(); i++) { - circuit_constructor.create_new_range_constraint(idx[i], 8); + circuit_builder.create_new_range_constraint(idx[i], 8); } - circuit_constructor.create_add_gate( - { idx[0], idx[1], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -3 }); - circuit_constructor.create_add_gate( - { idx[2], idx[3], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -7 }); - circuit_constructor.create_add_gate( - { idx[4], idx[5], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -11 }); - circuit_constructor.create_add_gate( - { idx[6], idx[7], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -15 }); + circuit_builder.create_add_gate({ idx[0], idx[1], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -3 }); + circuit_builder.create_add_gate({ idx[2], idx[3], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -7 }); + circuit_builder.create_add_gate( + { idx[4], idx[5], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -11 }); + circuit_builder.create_add_gate( + { idx[6], idx[7], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -15 }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, range_with_gates_where_range_is_not_a_power_of_two) { - auto circuit_constructor = UltraCircuitBuilder(); - auto idx = add_variables(circuit_constructor, { 1, 2, 3, 4, 5, 6, 7, 8 }); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); + auto idx = add_variables(circuit_builder, { 1, 2, 3, 4, 5, 6, 7, 8 }); for (size_t i = 0; i < idx.size(); i++) { - circuit_constructor.create_new_range_constraint(idx[i], 12); + circuit_builder.create_new_range_constraint(idx[i], 12); } - circuit_constructor.create_add_gate( - { idx[0], idx[1], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -3 }); - circuit_constructor.create_add_gate( - { idx[2], idx[3], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -7 }); - circuit_constructor.create_add_gate( - { idx[4], idx[5], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -11 }); - circuit_constructor.create_add_gate( - { idx[6], idx[7], circuit_constructor.zero_idx, fr::one(), fr::one(), fr::zero(), -15 }); + circuit_builder.create_add_gate({ idx[0], idx[1], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -3 }); + circuit_builder.create_add_gate({ idx[2], idx[3], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -7 }); + circuit_builder.create_add_gate( + { idx[4], idx[5], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -11 }); + circuit_builder.create_add_gate( + { idx[6], idx[7], circuit_builder.zero_idx, fr::one(), fr::one(), fr::zero(), -15 }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, sort_widget_complex) { + using fr = barretenberg::fr; { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); std::vector a = { 1, 3, 4, 7, 7, 8, 11, 14, 15, 15, 18, 19, 21, 21, 24, 25, 26, 27, 30, 32 }; std::vector ind; for (size_t i = 0; i < a.size(); i++) - ind.emplace_back(circuit_constructor.add_variable(a[i])); - circuit_constructor.create_sort_constraint(ind); + ind.emplace_back(circuit_builder.add_variable(a[i])); + circuit_builder.create_sort_constraint(ind); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } { - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); std::vector a = { 1, 3, 4, 7, 7, 8, 16, 14, 15, 15, 18, 19, 21, 21, 24, 25, 26, 27, 30, 32 }; std::vector ind; for (size_t i = 0; i < a.size(); i++) - ind.emplace_back(circuit_constructor.add_variable(a[i])); - circuit_constructor.create_sort_constraint(ind); + ind.emplace_back(circuit_builder.add_variable(a[i])); + circuit_builder.create_sort_constraint(ind); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } } TEST_F(UltraHonkComposerTests, sort_widget_neg) { - auto circuit_constructor = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fr a = fr::one(); fr b = fr(2); fr c = fr(3); fr d = fr(8); - auto a_idx = circuit_constructor.add_variable(a); - auto b_idx = circuit_constructor.add_variable(b); - auto c_idx = circuit_constructor.add_variable(c); - auto d_idx = circuit_constructor.add_variable(d); - circuit_constructor.create_sort_constraint({ a_idx, b_idx, c_idx, d_idx }); + auto a_idx = circuit_builder.add_variable(a); + auto b_idx = circuit_builder.add_variable(b); + auto c_idx = circuit_builder.add_variable(c); + auto d_idx = circuit_builder.add_variable(d); + circuit_builder.create_sort_constraint({ a_idx, b_idx, c_idx, d_idx }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/false); + prove_and_verify(circuit_builder, composer, /*expected_result=*/false); } TEST_F(UltraHonkComposerTests, composed_range_constraint) { - auto circuit_constructor = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); auto c = fr::random_element(); auto d = uint256_t(c).slice(0, 133); auto e = fr(d); - auto a_idx = circuit_constructor.add_variable(fr(e)); - circuit_constructor.create_add_gate( - { a_idx, circuit_constructor.zero_idx, circuit_constructor.zero_idx, 1, 0, 0, -fr(e) }); - circuit_constructor.decompose_into_default_range(a_idx, 134); + auto a_idx = circuit_builder.add_variable(fr(e)); + circuit_builder.create_add_gate({ a_idx, circuit_builder.zero_idx, circuit_builder.zero_idx, 1, 0, 0, -fr(e) }); + circuit_builder.decompose_into_default_range(a_idx, 134); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, non_native_field_multiplication) { - auto circuit_constructor = UltraCircuitBuilder(); + using fr = barretenberg::fr; + using fq = barretenberg::fq; + auto circuit_builder = proof_system::UltraCircuitBuilder(); fq a = fq::random_element(); fq b = fq::random_element(); @@ -736,11 +752,11 @@ TEST_F(UltraHonkComposerTests, non_native_field_multiplication) const auto get_limb_witness_indices = [&](const std::array& limbs) { std::array limb_indices; - limb_indices[0] = circuit_constructor.add_variable(limbs[0]); - limb_indices[1] = circuit_constructor.add_variable(limbs[1]); - limb_indices[2] = circuit_constructor.add_variable(limbs[2]); - limb_indices[3] = circuit_constructor.add_variable(limbs[3]); - limb_indices[4] = circuit_constructor.add_variable(limbs[4]); + limb_indices[0] = circuit_builder.add_variable(limbs[0]); + limb_indices[1] = circuit_builder.add_variable(limbs[1]); + limb_indices[2] = circuit_builder.add_variable(limbs[2]); + limb_indices[3] = circuit_builder.add_variable(limbs[3]); + limb_indices[4] = circuit_builder.add_variable(limbs[4]); return limb_indices; }; const uint512_t BINARY_BASIS_MODULUS = uint512_t(1) << (68 * 4); @@ -754,40 +770,41 @@ TEST_F(UltraHonkComposerTests, non_native_field_multiplication) proof_system::UltraCircuitBuilder::non_native_field_witnesses inputs{ a_indices, b_indices, q_indices, r_indices, modulus_limbs, fr(uint256_t(modulus)), }; - const auto [lo_1_idx, hi_1_idx] = circuit_constructor.evaluate_non_native_field_multiplication(inputs); - circuit_constructor.range_constrain_two_limbs(lo_1_idx, hi_1_idx, 70, 70); + const auto [lo_1_idx, hi_1_idx] = circuit_builder.evaluate_non_native_field_multiplication(inputs); + circuit_builder.range_constrain_two_limbs(lo_1_idx, hi_1_idx, 70, 70); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, rom) { - auto circuit_constructor = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); uint32_t rom_values[8]{ - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), }; - size_t rom_id = circuit_constructor.create_ROM_array(8); + size_t rom_id = circuit_builder.create_ROM_array(8); for (size_t i = 0; i < 8; ++i) { - circuit_constructor.set_ROM_element(rom_id, i, rom_values[i]); + circuit_builder.set_ROM_element(rom_id, i, rom_values[i]); } - uint32_t a_idx = circuit_constructor.read_ROM_array(rom_id, circuit_constructor.add_variable(5)); + uint32_t a_idx = circuit_builder.read_ROM_array(rom_id, circuit_builder.add_variable(5)); EXPECT_EQ(a_idx != rom_values[5], true); - uint32_t b_idx = circuit_constructor.read_ROM_array(rom_id, circuit_constructor.add_variable(4)); - uint32_t c_idx = circuit_constructor.read_ROM_array(rom_id, circuit_constructor.add_variable(1)); + uint32_t b_idx = circuit_builder.read_ROM_array(rom_id, circuit_builder.add_variable(4)); + uint32_t c_idx = circuit_builder.read_ROM_array(rom_id, circuit_builder.add_variable(1)); - const auto d_value = circuit_constructor.get_variable(a_idx) + circuit_constructor.get_variable(b_idx) + - circuit_constructor.get_variable(c_idx); - uint32_t d_idx = circuit_constructor.add_variable(d_value); + const auto d_value = + circuit_builder.get_variable(a_idx) + circuit_builder.get_variable(b_idx) + circuit_builder.get_variable(c_idx); + uint32_t d_idx = circuit_builder.add_variable(d_value); - circuit_constructor.create_big_add_gate({ + circuit_builder.create_big_add_gate({ a_idx, b_idx, c_idx, @@ -800,44 +817,44 @@ TEST_F(UltraHonkComposerTests, rom) }); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST_F(UltraHonkComposerTests, ram) { - auto circuit_constructor = UltraCircuitBuilder(); + using fr = barretenberg::fr; + auto circuit_builder = proof_system::UltraCircuitBuilder(); uint32_t ram_values[8]{ - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), - circuit_constructor.add_variable(fr::random_element()), circuit_constructor.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), + circuit_builder.add_variable(fr::random_element()), circuit_builder.add_variable(fr::random_element()), }; - size_t ram_id = circuit_constructor.create_RAM_array(8); + size_t ram_id = circuit_builder.create_RAM_array(8); for (size_t i = 0; i < 8; ++i) { - circuit_constructor.init_RAM_element(ram_id, i, ram_values[i]); + circuit_builder.init_RAM_element(ram_id, i, ram_values[i]); } - uint32_t a_idx = circuit_constructor.read_RAM_array(ram_id, circuit_constructor.add_variable(5)); + uint32_t a_idx = circuit_builder.read_RAM_array(ram_id, circuit_builder.add_variable(5)); EXPECT_EQ(a_idx != ram_values[5], true); - uint32_t b_idx = circuit_constructor.read_RAM_array(ram_id, circuit_constructor.add_variable(4)); - uint32_t c_idx = circuit_constructor.read_RAM_array(ram_id, circuit_constructor.add_variable(1)); + uint32_t b_idx = circuit_builder.read_RAM_array(ram_id, circuit_builder.add_variable(4)); + uint32_t c_idx = circuit_builder.read_RAM_array(ram_id, circuit_builder.add_variable(1)); - circuit_constructor.write_RAM_array( - ram_id, circuit_constructor.add_variable(4), circuit_constructor.add_variable(500)); - uint32_t d_idx = circuit_constructor.read_RAM_array(ram_id, circuit_constructor.add_variable(4)); + circuit_builder.write_RAM_array(ram_id, circuit_builder.add_variable(4), circuit_builder.add_variable(500)); + uint32_t d_idx = circuit_builder.read_RAM_array(ram_id, circuit_builder.add_variable(4)); - EXPECT_EQ(circuit_constructor.get_variable(d_idx), 500); + EXPECT_EQ(circuit_builder.get_variable(d_idx), 500); // ensure these vars get used in another arithmetic gate - const auto e_value = circuit_constructor.get_variable(a_idx) + circuit_constructor.get_variable(b_idx) + - circuit_constructor.get_variable(c_idx) + circuit_constructor.get_variable(d_idx); - uint32_t e_idx = circuit_constructor.add_variable(e_value); + const auto e_value = circuit_builder.get_variable(a_idx) + circuit_builder.get_variable(b_idx) + + circuit_builder.get_variable(c_idx) + circuit_builder.get_variable(d_idx); + uint32_t e_idx = circuit_builder.add_variable(e_value); - circuit_constructor.create_big_add_gate( + circuit_builder.create_big_add_gate( { a_idx, b_idx, @@ -850,11 +867,11 @@ TEST_F(UltraHonkComposerTests, ram) 0, }, true); - circuit_constructor.create_big_add_gate( + circuit_builder.create_big_add_gate( { - circuit_constructor.zero_idx, - circuit_constructor.zero_idx, - circuit_constructor.zero_idx, + circuit_builder.zero_idx, + circuit_builder.zero_idx, + circuit_builder.zero_idx, e_idx, 0, 0, @@ -865,14 +882,15 @@ TEST_F(UltraHonkComposerTests, ram) false); auto composer = UltraComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } TEST(UltraGrumpkinHonkComposer, XorConstraint) { + using fr = barretenberg::fr; // NOTE: as a WIP, this test may not actually use the Grumpkin SRS (just the IPA PCS). - auto circuit_constructor = UltraCircuitBuilder(); + auto circuit_builder = proof_system::UltraCircuitBuilder(); uint32_t left_value = engine.get_random_uint32(); uint32_t right_value = engine.get_random_uint32(); @@ -880,8 +898,8 @@ TEST(UltraGrumpkinHonkComposer, XorConstraint) fr left_witness_value = fr{ left_value, 0, 0, 0 }.to_montgomery_form(); fr right_witness_value = fr{ right_value, 0, 0, 0 }.to_montgomery_form(); - uint32_t left_witness_index = circuit_constructor.add_variable(left_witness_value); - uint32_t right_witness_index = circuit_constructor.add_variable(right_witness_value); + uint32_t left_witness_index = circuit_builder.add_variable(left_witness_value); + uint32_t right_witness_index = circuit_builder.add_variable(right_witness_value); uint32_t xor_result_expected = left_value ^ right_value; @@ -891,12 +909,12 @@ TEST(UltraGrumpkinHonkComposer, XorConstraint) [0]; // The zeroth index in the 3rd column is the fully accumulated xor EXPECT_EQ(xor_result, xor_result_expected); - circuit_constructor.create_gates_from_plookup_accumulators( + circuit_builder.create_gates_from_plookup_accumulators( plookup::MultiTableId::UINT32_XOR, lookup_accumulators, left_witness_index, right_witness_index); barretenberg::srs::init_crs_factory("../srs_db/ignition"); auto composer = UltraGrumpkinComposer(); - prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); + prove_and_verify(circuit_builder, composer, /*expected_result=*/true); } // TODO(#378)(luke): this is a recent update from Zac and fails; do we need a corresponding bug fix in ultra circuit @@ -904,21 +922,21 @@ TEST(UltraGrumpkinHonkComposer, XorConstraint) // { // auto composer = UltraComposer(); -// uint32_t a = circuit_constructor.add_variable(100); -// uint32_t b = circuit_constructor.add_variable(100); -// uint32_t c = circuit_constructor.add_variable(100); -// uint32_t d = circuit_constructor.add_variable(100); +// uint32_t a = circuit_builder.add_variable(100); +// uint32_t b = circuit_builder.add_variable(100); +// uint32_t c = circuit_builder.add_variable(100); +// uint32_t d = circuit_builder.add_variable(100); -// circuit_constructor.assert_equal(a, b); -// circuit_constructor.assert_equal(a, c); -// circuit_constructor.assert_equal(a, d); +// circuit_builder.assert_equal(a, b); +// circuit_builder.assert_equal(a, c); +// circuit_builder.assert_equal(a, d); -// circuit_constructor.create_new_range_constraint(a, 1000); -// circuit_constructor.create_new_range_constraint(b, 1001); -// circuit_constructor.create_new_range_constraint(c, 999); -// circuit_constructor.create_new_range_constraint(d, 1000); +// circuit_builder.create_new_range_constraint(a, 1000); +// circuit_builder.create_new_range_constraint(b, 1001); +// circuit_builder.create_new_range_constraint(c, 999); +// circuit_builder.create_new_range_constraint(d, 1000); -// circuit_constructor.create_big_add_gate( +// circuit_builder.create_big_add_gate( // { // a, // b, @@ -932,7 +950,7 @@ TEST(UltraGrumpkinHonkComposer, XorConstraint) // }, // false); -// prove_and_verify(circuit_constructor, composer, /*expected_result=*/true); +// prove_and_verify(circuit_builder, composer, /*expected_result=*/true); // } // TODO(#378)(luke): this is a new test from Zac; ultra circuit constructor does not yet have create_range_constraint @@ -946,21 +964,21 @@ TEST(UltraGrumpkinHonkComposer, XorConstraint) // auto composer = UltraComposer(); // uint16_t mask = (1 << 8) - 1; // int a = engine.get_random_uint16() & mask; -// uint32_t a_idx = circuit_constructor.add_variable(fr(a)); -// uint32_t b_idx = circuit_constructor.add_variable(fr(a)); +// uint32_t a_idx = circuit_builder.add_variable(fr(a)); +// uint32_t b_idx = circuit_builder.add_variable(fr(a)); // ASSERT_NE(a_idx, b_idx); -// uint32_t c_idx = circuit_constructor.add_variable(fr(a)); +// uint32_t c_idx = circuit_builder.add_variable(fr(a)); // ASSERT_NE(c_idx, b_idx); // composer.create_range_constraint(b_idx, 8, "bad range"); -// circuit_constructor.assert_equal(a_idx, b_idx); +// circuit_builder.assert_equal(a_idx, b_idx); // composer.create_range_constraint(c_idx, 8, "bad range"); -// circuit_constructor.assert_equal(a_idx, c_idx); +// circuit_builder.assert_equal(a_idx, c_idx); -// auto prover = composer.create_prover(circuit_constructor); +// auto prover = composer.create_prover(circuit_builder); // auto proof = prover.construct_proof(); -// auto verifier = composer.create_verifier(circuit_constructor); +// auto verifier = composer.create_verifier(circuit_builder); // bool result = verifier.verify_proof(proof); // EXPECT_EQ(result, true); // } -} // namespace test_ultra_honk_composer +} // namespace test_ultra_honk_composer \ No newline at end of file From 78a643b7b33ea8a1f152f4167887b5cc09e1cbad Mon Sep 17 00:00:00 2001 From: maramihali Date: Thu, 14 Sep 2023 09:17:04 +0000 Subject: [PATCH 25/28] actually delete prover_library and resolve comments --- .../barretenberg/honk/instance/instance.cpp | 1 - .../barretenberg/honk/instance/instance.hpp | 4 - .../honk/instance/instance.test.cpp | 6 - .../honk/proof_system/protogalaxy_prover.cpp | 1 - .../proof_system/protogalaxy_verifier.cpp | 1 + .../honk/proof_system/prover_library.cpp | 116 ------ .../honk/proof_system/prover_library.hpp | 17 - .../honk/proof_system/prover_library.test.cpp | 392 ------------------ 8 files changed, 1 insertion(+), 537 deletions(-) delete mode 100644 barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.cpp delete mode 100644 barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.hpp delete mode 100644 barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.test.cpp diff --git a/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp b/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp index ef830bf958a..f17f36b08a0 100644 --- a/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp @@ -1,7 +1,6 @@ #include "instance.hpp" #include "barretenberg/honk/proof_system/grand_product_library.hpp" #include "barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp" -#include "barretenberg/proof_system/composer/composer_lib.hpp" #include "barretenberg/proof_system/composer/permutation_lib.hpp" namespace proof_system::honk { diff --git a/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp index 9645beacdb4..a9895006904 100644 --- a/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp @@ -7,10 +7,6 @@ #include "barretenberg/proof_system/flavor/flavor.hpp" #include "barretenberg/proof_system/relations/relation_parameters.hpp" #include "barretenberg/srs/factories/file_crs_factory.hpp" -#include -#include -#include -#include namespace proof_system::honk { /** * @brief An Instance is normally constructed from a finalised circuit and it's role is to compute all the polynomials diff --git a/barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp b/barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp index 4fa3333440f..33ee3ec0018 100644 --- a/barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp @@ -1,16 +1,10 @@ #include "instance.hpp" #include "barretenberg/ecc/curves/bn254/bn254.hpp" - #include "barretenberg/honk/proof_system/grand_product_library.hpp" #include "barretenberg/polynomials/polynomial.hpp" - #include "barretenberg/srs/factories/file_crs_factory.hpp" -#include -#include #include -#include -#include using namespace proof_system::honk; namespace instance_tests { diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp index f15653062c8..1fdaa03d308 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp @@ -42,7 +42,6 @@ template void ProtoGalaxyProver_::prepare_for_foldi template ProverFoldingResult ProtoGalaxyProver_::fold_instances() { prepare_for_folding(); - info("did folding prover prep"); ProverFoldingResult res; res.folding_data = transcript.proof_data; return res; diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp index 1bc4ff3d301..67d4b6d37ef 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp @@ -4,6 +4,7 @@ namespace proof_system::honk { template ProtoGalaxyVerifier_::ProtoGalaxyVerifier_(std::vector> vks) { + // TODO(#391): simplify code with C++23 features uint32_t idx = 0; for (const auto& vk : vks) { VerifierInstance inst; diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.cpp deleted file mode 100644 index 27da4a422ec..00000000000 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.cpp +++ /dev/null @@ -1,116 +0,0 @@ -#include "prover_library.hpp" -#include "barretenberg/honk/flavor/goblin_ultra.hpp" -#include "barretenberg/honk/flavor/standard.hpp" -#include "barretenberg/honk/flavor/standard_grumpkin.hpp" -#include "barretenberg/honk/flavor/ultra.hpp" -#include "barretenberg/honk/flavor/ultra_grumpkin.hpp" -#include -#include - -namespace proof_system::honk::prover_library { - -/** - * @brief Construct sorted list accumulator polynomial 's'. - * - * @details Compute s = s_1 + η*s_2 + η²*s_3 + η³*s_4 (via Horner) where s_i are the - * sorted concatenated witness/table polynomials - * - * @param key proving key - * @param sorted_list_polynomials sorted concatenated witness/table polynomials - * @param eta random challenge - * @return Polynomial - */ -template -typename Flavor::Polynomial compute_sorted_list_accumulator(std::shared_ptr& key, - typename Flavor::FF eta) -{ - using FF = typename Flavor::FF; - using Polynomial = typename Flavor::Polynomial; - - const size_t circuit_size = key->circuit_size; - - auto sorted_list_accumulator = Polynomial{ circuit_size }; - - auto sorted_polynomials = key->get_sorted_polynomials(); - - // Construct s via Horner, i.e. s = s_1 + η(s_2 + η(s_3 + η*s_4)) - for (size_t i = 0; i < circuit_size; ++i) { - FF T0 = sorted_polynomials[3][i]; - T0 *= eta; - T0 += sorted_polynomials[2][i]; - T0 *= eta; - T0 += sorted_polynomials[1][i]; - T0 *= eta; - T0 += sorted_polynomials[0][i]; - sorted_list_accumulator[i] = T0; - } - - return sorted_list_accumulator; -} - -/** - * @brief Add plookup memory records to the fourth wire polynomial - * - * @details This operation must be performed after the first three wires have been committed to, hence the dependence on - * the `eta` challenge. - * - * @tparam Flavor - * @param eta challenge produced after commitment to first three wire polynomials - */ -template -void add_plookup_memory_records_to_wire_4(std::shared_ptr& key, typename Flavor::FF eta) -{ - // The plookup memory record values are computed at the indicated indices as - // w4 = w3 * eta^3 + w2 * eta^2 + w1 * eta + read_write_flag; - // (See plookup_auxiliary_widget.hpp for details) - auto wires = key->get_wires(); - - // Compute read record values - for (const auto& gate_idx : key->memory_read_records) { - wires[3][gate_idx] += wires[2][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += wires[1][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += wires[0][gate_idx]; - wires[3][gate_idx] *= eta; - } - - // Compute write record values - for (const auto& gate_idx : key->memory_write_records) { - wires[3][gate_idx] += wires[2][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += wires[1][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += wires[0][gate_idx]; - wires[3][gate_idx] *= eta; - wires[3][gate_idx] += 1; - } -} - -// flavor::Ultra - -template typename honk::flavor::Ultra::Polynomial compute_sorted_list_accumulator( - std::shared_ptr& key, typename honk::flavor::Ultra::FF eta); - -template void add_plookup_memory_records_to_wire_4( - std::shared_ptr& key, typename honk::flavor::Ultra::FF eta); - -// flavor::UltraGrumpkin - -template typename honk::flavor::UltraGrumpkin::Polynomial compute_sorted_list_accumulator( - std::shared_ptr& key, - typename honk::flavor::UltraGrumpkin::FF eta); - -template void add_plookup_memory_records_to_wire_4( - std::shared_ptr& key, - typename honk::flavor::UltraGrumpkin::FF eta); - -// flavor::GoblinUltra - -template typename honk::flavor::GoblinUltra::Polynomial compute_sorted_list_accumulator( - std::shared_ptr& key, typename honk::flavor::GoblinUltra::FF eta); - -template void add_plookup_memory_records_to_wire_4( - std::shared_ptr& key, typename honk::flavor::GoblinUltra::FF eta); - -} // namespace proof_system::honk::prover_library \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.hpp deleted file mode 100644 index 9990400c747..00000000000 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once -#include "barretenberg/ecc/curves/bn254/fr.hpp" -#include "barretenberg/plonk/proof_system/proving_key/proving_key.hpp" -#include "barretenberg/plonk/proof_system/types/program_settings.hpp" -#include "barretenberg/plonk/proof_system/types/proof.hpp" -#include "barretenberg/polynomials/polynomial.hpp" - -namespace proof_system::honk::prover_library { - -template -typename Flavor::Polynomial compute_sorted_list_accumulator(std::shared_ptr& key, - typename Flavor::FF eta); - -template -void add_plookup_memory_records_to_wire_4(std::shared_ptr& key, typename Flavor::FF eta); - -} // namespace proof_system::honk::prover_library diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.test.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.test.cpp deleted file mode 100644 index ab8343291fe..00000000000 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/prover_library.test.cpp +++ /dev/null @@ -1,392 +0,0 @@ - -#include "barretenberg/ecc/curves/bn254/bn254.hpp" -#include "barretenberg/honk/flavor/standard.hpp" -#include "barretenberg/honk/flavor/ultra.hpp" -#include "barretenberg/polynomials/polynomial.hpp" -#include "grand_product_library.hpp" - -#include "barretenberg/srs/factories/file_crs_factory.hpp" -#include -#include -#include -#include -#include - -using namespace proof_system::honk; -namespace grand_product_library_tests { - -template class GrandProductTests : public testing::Test { - - using Polynomial = barretenberg::Polynomial; - - public: - /** - * @brief Get a random polynomial - * - * @param size - * @return Polynomial - */ - static constexpr Polynomial get_random_polynomial(size_t size) - { - Polynomial random_polynomial{ size }; - for (auto& coeff : random_polynomial) { - coeff = FF::random_element(); - } - return random_polynomial; - } - - static void populate_span(auto& polynomial_view, const auto& polynomial) - { - ASSERT(polynomial_view.size() <= polynomial.size()); - for (size_t idx = 0; idx < polynomial.size(); idx++) { - polynomial_view[idx] = polynomial[idx]; - } - }; - - /** - * @brief Check consistency of the computation of the permutation grand product polynomial z_permutation. - * @details This test compares a simple, unoptimized, easily readable calculation of the grand product z_permutation - * to the optimized implementation used by the prover. It's purpose is to provide confidence that some optimization - * introduced into the calculation has not changed the result. - * @note This test does confirm the correctness of z_permutation, only that the two implementations yield an - * identical result. - */ - template static void test_permutation_grand_product_construction() - { - // Define some mock inputs for proving key constructor - static const size_t num_gates = 8; - static const size_t num_public_inputs = 0; - - // Instatiate a proving_key and make a pointer to it. This will be used to instantiate a Prover. - auto proving_key = std::make_shared(num_gates, num_public_inputs); - - // static const size_t program_width = StandardProver::settings_::program_width; - - // Construct mock wire and permutation polynomials. - // Note: for the purpose of checking the consistency between two methods of computing z_perm, these polynomials - // can simply be random. We're not interested in the particular properties of the result. - std::vector wires; - std::vector sigmas; - std::vector ids; - - auto wire_polynomials = proving_key->get_wires(); - auto sigma_polynomials = proving_key->get_sigma_polynomials(); - auto id_polynomials = proving_key->get_id_polynomials(); - for (size_t i = 0; i < Flavor::NUM_WIRES; ++i) { - wires.emplace_back(get_random_polynomial(num_gates)); - sigmas.emplace_back(get_random_polynomial(num_gates)); - ids.emplace_back(get_random_polynomial(num_gates)); - - populate_span(wire_polynomials[i], wires[i]); - populate_span(sigma_polynomials[i], sigmas[i]); - populate_span(id_polynomials[i], ids[i]); - } - - // Get random challenges - auto beta = FF::random_element(); - auto gamma = FF::random_element(); - - proof_system::RelationParameters params{ - .eta = 0, - .beta = beta, - .gamma = gamma, - .public_input_delta = 1, - .lookup_grand_product_delta = 1, - }; - - typename Flavor::ProverPolynomials prover_polynomials; - prover_polynomials.w_l = proving_key->w_l; - prover_polynomials.w_r = proving_key->w_r; - prover_polynomials.w_o = proving_key->w_o; - prover_polynomials.q_m = proving_key->q_m; - prover_polynomials.q_l = proving_key->q_l; - prover_polynomials.q_r = proving_key->q_r; - prover_polynomials.q_o = proving_key->q_o; - prover_polynomials.q_c = proving_key->q_c; - prover_polynomials.sigma_1 = proving_key->sigma_1; - prover_polynomials.sigma_2 = proving_key->sigma_2; - prover_polynomials.sigma_3 = proving_key->sigma_3; - prover_polynomials.id_1 = proving_key->id_1; - prover_polynomials.id_2 = proving_key->id_2; - prover_polynomials.id_3 = proving_key->id_3; - prover_polynomials.lagrange_first = proving_key->lagrange_first; - prover_polynomials.lagrange_last = proving_key->lagrange_last; - if constexpr (Flavor::NUM_WIRES == 4) { - prover_polynomials.w_4 = proving_key->w_4; - prover_polynomials.sigma_4 = proving_key->sigma_4; - prover_polynomials.id_4 = proving_key->id_4; - } - prover_polynomials.z_perm = proving_key->z_perm; - - // Method 1: Compute z_perm using 'compute_grand_product_polynomial' as the prover would in practice - constexpr size_t PERMUTATION_RELATION_INDEX = 0; - using LHS = - typename std::tuple_element::type; - if constexpr (Flavor::NUM_WIRES == 4) { - using RHS = typename proof_system::UltraPermutationRelation; - static_assert(std::same_as); - grand_product_library::compute_grand_product( - proving_key->circuit_size, prover_polynomials, params); - } else { - using RHS = proof_system::PermutationRelation; - static_assert(std::same_as); - grand_product_library::compute_grand_product( - proving_key->circuit_size, prover_polynomials, params); - } - - // Method 2: Compute z_perm locally using the simplest non-optimized syntax possible. The comment below, - // which describes the computation in 4 steps, is adapted from a similar comment in - // compute_grand_product_polynomial. - /* - * Assume Flavor::NUM_WIRES 3. Z_perm may be defined in terms of its values - * on X_i = 0,1,...,n-1 as Z_perm[0] = 0 and for i = 1:n-1 - * - * (w_1(j) + β⋅id_1(j) + γ) ⋅ (w_2(j) + β⋅id_2(j) + γ) ⋅ (w_3(j) + β⋅id_3(j) + γ) - * Z_perm[i] = ∏ -------------------------------------------------------------------------------- - * (w_1(j) + β⋅σ_1(j) + γ) ⋅ (w_2(j) + β⋅σ_2(j) + γ) ⋅ (w_3(j) + β⋅σ_3(j) + γ) - * - * where ∏ := ∏_{j=0:i-1} and id_i(X) = id(X) + n*(i-1). These evaluations are constructed over the - * course of three steps. For expositional simplicity, write Z_perm[i] as - * - * A_1(j) ⋅ A_2(j) ⋅ A_3(j) - * Z_perm[i] = ∏ -------------------------- - * B_1(j) ⋅ B_2(j) ⋅ B_3(j) - * - * Step 1) Compute the 2*Flavor::NUM_WIRES length-n polynomials A_i and B_i - * Step 2) Compute the 2*Flavor::NUM_WIRES length-n polynomials ∏ A_i(j) and ∏ B_i(j) - * Step 3) Compute the two length-n polynomials defined by - * numer[i] = ∏ A_1(j)⋅A_2(j)⋅A_3(j), and denom[i] = ∏ B_1(j)⋅B_2(j)⋅B_3(j) - * Step 4) Compute Z_perm[i+1] = numer[i]/denom[i] (recall: Z_perm[0] = 1) - */ - - // Make scratch space for the numerator and denominator accumulators. - std::array, Flavor::NUM_WIRES> numerator_accum; - std::array, Flavor::NUM_WIRES> denominator_accum; - - // Step (1) - for (size_t i = 0; i < proving_key->circuit_size; ++i) { - for (size_t k = 0; k < Flavor::NUM_WIRES; ++k) { - numerator_accum[k][i] = wires[k][i] + (ids[k][i] * beta) + gamma; // w_k(i) + β.id_k(i) + γ - denominator_accum[k][i] = wires[k][i] + (sigmas[k][i] * beta) + gamma; // w_k(i) + β.σ_k(i) + γ - } - } - - // Step (2) - for (size_t k = 0; k < Flavor::NUM_WIRES; ++k) { - for (size_t i = 0; i < proving_key->circuit_size - 1; ++i) { - numerator_accum[k][i + 1] *= numerator_accum[k][i]; - denominator_accum[k][i + 1] *= denominator_accum[k][i]; - } - } - - // Step (3) - for (size_t i = 0; i < proving_key->circuit_size; ++i) { - for (size_t k = 1; k < Flavor::NUM_WIRES; ++k) { - numerator_accum[0][i] *= numerator_accum[k][i]; - denominator_accum[0][i] *= denominator_accum[k][i]; - } - } - - // Step (4) - Polynomial z_permutation_expected(proving_key->circuit_size); - z_permutation_expected[0] = FF::zero(); // Z_0 = 1 - // Note: in practice, we replace this expensive element-wise division with Montgomery batch inversion - for (size_t i = 0; i < proving_key->circuit_size - 1; ++i) { - z_permutation_expected[i + 1] = numerator_accum[0][i] / denominator_accum[0][i]; - } - - // Check consistency between locally computed z_perm and the one computed by the prover library - EXPECT_EQ(proving_key->z_perm, z_permutation_expected); - }; - - /** - * @brief Check consistency of the computation of the lookup grand product polynomial z_lookup. - * @details This test compares a simple, unoptimized, easily readable calculation of the grand product z_lookup - * to the optimized implementation used by the prover. It's purpose is to provide confidence that some optimization - * introduced into the calculation has not changed the result. - * @note This test does confirm the correctness of z_lookup, only that the two implementations yield an - * identical result. - */ - static void test_lookup_grand_product_construction() - { - // Define some mock inputs for proving key constructor - static const size_t circuit_size = 8; - static const size_t num_public_inputs = 0; - - // Instatiate a proving_key and make a pointer to it. This will be used to instantiate a Prover. - using Flavor = flavor::Ultra; - auto proving_key = std::make_shared(circuit_size, num_public_inputs); - - // Construct mock wire and permutation polynomials. - // Note: for the purpose of checking the consistency between two methods of computing z_lookup, these - // polynomials can simply be random. We're not interested in the particular properties of the result. - std::vector wires; - auto wire_polynomials = proving_key->get_wires(); - // Note(luke): Use of 3 wires is fundamental to the structure of the tables and should not be tied to NUM_WIRES - // for now - for (size_t i = 0; i < 3; ++i) { // TODO(Cody): will this test ever generalize? - Polynomial random_polynomial = get_random_polynomial(circuit_size); - random_polynomial[0] = 0; // when computing shifts, 1st element needs to be 0 - wires.emplace_back(random_polynomial); - populate_span(wire_polynomials[i], random_polynomial); - } - - std::vector tables; - auto table_polynomials = proving_key->get_table_polynomials(); - for (auto& table_polynomial : table_polynomials) { - Polynomial random_polynomial = get_random_polynomial(circuit_size); - random_polynomial[0] = 0; // when computing shifts, 1st element needs to be 0 - tables.emplace_back(random_polynomial); - populate_span(table_polynomial, random_polynomial); - } - - auto sorted_batched = get_random_polynomial(circuit_size); - sorted_batched[0] = 0; // when computing shifts, 1st element needs to be 0 - auto column_1_step_size = get_random_polynomial(circuit_size); - auto column_2_step_size = get_random_polynomial(circuit_size); - auto column_3_step_size = get_random_polynomial(circuit_size); - auto lookup_index_selector = get_random_polynomial(circuit_size); - auto lookup_selector = get_random_polynomial(circuit_size); - - proving_key->sorted_accum = sorted_batched; - populate_span(proving_key->q_r, column_1_step_size); - populate_span(proving_key->q_m, column_2_step_size); - populate_span(proving_key->q_c, column_3_step_size); - populate_span(proving_key->q_o, lookup_index_selector); - populate_span(proving_key->q_lookup, lookup_selector); - - // Get random challenges - auto beta = FF::random_element(); - auto gamma = FF::random_element(); - auto eta = FF::random_element(); - - proof_system::RelationParameters params{ - .eta = eta, - .beta = beta, - .gamma = gamma, - .public_input_delta = 1, - .lookup_grand_product_delta = 1, - }; - - Flavor::ProverPolynomials prover_polynomials; - prover_polynomials.w_l = proving_key->w_l; - prover_polynomials.w_r = proving_key->w_r; - prover_polynomials.w_o = proving_key->w_o; - prover_polynomials.w_l_shift = proving_key->w_l.shifted(); - prover_polynomials.w_r_shift = proving_key->w_r.shifted(); - prover_polynomials.w_o_shift = proving_key->w_o.shifted(); - prover_polynomials.sorted_accum = proving_key->sorted_accum; - prover_polynomials.sorted_accum_shift = proving_key->sorted_accum.shifted(); - prover_polynomials.table_1 = proving_key->table_1; - prover_polynomials.table_2 = proving_key->table_2; - prover_polynomials.table_3 = proving_key->table_3; - prover_polynomials.table_4 = proving_key->table_4; - prover_polynomials.table_1_shift = proving_key->table_1.shifted(); - prover_polynomials.table_2_shift = proving_key->table_2.shifted(); - prover_polynomials.table_3_shift = proving_key->table_3.shifted(); - prover_polynomials.table_4_shift = proving_key->table_4.shifted(); - prover_polynomials.q_m = proving_key->q_m; - prover_polynomials.q_r = proving_key->q_r; - prover_polynomials.q_o = proving_key->q_o; - prover_polynomials.q_c = proving_key->q_c; - prover_polynomials.q_lookup = proving_key->q_lookup; - prover_polynomials.z_perm = proving_key->z_perm; - prover_polynomials.z_lookup = proving_key->z_lookup; - - // Method 1: Compute z_lookup using the prover library method - constexpr size_t LOOKUP_RELATION_INDEX = 1; - using LHS = typename std::tuple_element::type; - using RHS = proof_system::LookupRelation; - static_assert(std::same_as); - grand_product_library::compute_grand_product( - proving_key->circuit_size, prover_polynomials, params); - - // Method 2: Compute the lookup grand product polynomial Z_lookup: - // - // ∏(1 + β) ⋅ ∏(q_lookup*f_k + γ) ⋅ ∏(t_k + βt_{k+1} + γ(1 + β)) - // Z_lookup(X_j) = ----------------------------------------------------------------- - // ∏(s_k + βs_{k+1} + γ(1 + β)) - // - // in a way that is simple to read (but inefficient). See prover library method for more details. - const FF eta_sqr = eta.sqr(); - const FF eta_cube = eta_sqr * eta; - - std::array accumulators; - for (size_t i = 0; i < 4; ++i) { - accumulators[i] = Polynomial{ circuit_size }; - } - - // Step (1) - - // Note: block_mask is used for efficient modulus, i.e. i % N := i & (N-1), for N = 2^k - const size_t block_mask = circuit_size - 1; - // Initialize 't(X)' to be used in an expression of the form t(X) + β*t(Xω) - FF table_i = tables[0][0] + tables[1][0] * eta + tables[2][0] * eta_sqr + tables[3][0] * eta_cube; - for (size_t i = 0; i < circuit_size; ++i) { - size_t shift_idx = (i + 1) & block_mask; - - // f = (w_1 + q_2*w_1(Xω)) + η(w_2 + q_m*w_2(Xω)) + η²(w_3 + q_c*w_3(Xω)) + η³q_index. - FF f_i = (wires[0][i] + wires[0][shift_idx] * column_1_step_size[i]) + - (wires[1][i] + wires[1][shift_idx] * column_2_step_size[i]) * eta + - (wires[2][i] + wires[2][shift_idx] * column_3_step_size[i]) * eta_sqr + - eta_cube * lookup_index_selector[i]; - - // q_lookup * f + γ - accumulators[0][i] = lookup_selector[i] * f_i + gamma; - - // t = t_1 + ηt_2 + η²t_3 + η³t_4 - FF table_i_plus_1 = tables[0][shift_idx] + eta * tables[1][shift_idx] + eta_sqr * tables[2][shift_idx] + - eta_cube * tables[3][shift_idx]; - - // t + βt(Xω) + γ(1 + β) - accumulators[1][i] = table_i + table_i_plus_1 * beta + gamma * (FF::one() + beta); - - // (1 + β) - accumulators[2][i] = FF::one() + beta; - - // s + βs(Xω) + γ(1 + β) - accumulators[3][i] = sorted_batched[i] + beta * sorted_batched[shift_idx] + gamma * (FF::one() + beta); - - // Set t(X_i) for next iteration - table_i = table_i_plus_1; - } - - // Step (2) - for (auto& accum : accumulators) { - for (size_t i = 0; i < circuit_size - 1; ++i) { - accum[i + 1] *= accum[i]; - } - } - - // Step (3) - Polynomial z_lookup_expected(circuit_size); - z_lookup_expected[0] = FF::zero(); // Z_lookup_0 = 0 - - // Compute the numerator in accumulators[0]; The denominator is in accumulators[3] - for (size_t i = 0; i < circuit_size - 1; ++i) { - accumulators[0][i] *= accumulators[1][i] * accumulators[2][i]; - } - // Compute Z_lookup_i, i = [1, n-1] - for (size_t i = 0; i < circuit_size - 1; ++i) { - z_lookup_expected[i + 1] = accumulators[0][i] / accumulators[3][i]; - } - - EXPECT_EQ(proving_key->z_lookup, z_lookup_expected); - }; -}; - -using FieldTypes = testing::Types; -TYPED_TEST_SUITE(GrandProductTests, FieldTypes); - -TYPED_TEST(GrandProductTests, GrandProductPermutation) -{ - TestFixture::template test_permutation_grand_product_construction(); - TestFixture::template test_permutation_grand_product_construction(); -} - -TYPED_TEST(GrandProductTests, GrandProductLookup) -{ - TestFixture::test_lookup_grand_product_construction(); -} - -} // namespace grand_product_library_tests \ No newline at end of file From 1eb15fb39449fe5d687bb0719c5837a2be58f7db Mon Sep 17 00:00:00 2001 From: maramihali Date: Thu, 14 Sep 2023 10:37:03 +0000 Subject: [PATCH 26/28] address some review comments --- .../honk/composer/ultra_composer.cpp | 3 +- .../honk/composer/ultra_composer.hpp | 4 +-- .../honk/composer/ultra_composer.test.cpp | 1 - .../{instance.cpp => prover_instance.cpp} | 28 +++++++-------- .../{instance.hpp => prover_instance.hpp} | 35 ++++++++----------- ...ance.test.cpp => prover_instance.test.cpp} | 4 +-- .../grand_product_library.test.cpp | 4 --- .../honk/proof_system/protogalaxy_prover.hpp | 9 ++--- .../proof_system/protogalaxy_verifier.cpp | 2 +- .../proof_system/protogalaxy_verifier.hpp | 4 --- .../honk/proof_system/ultra_prover.cpp | 1 - .../honk/proof_system/ultra_prover.hpp | 4 +-- .../sumcheck/relation_correctness.test.cpp | 1 - .../honk/transcript/transcript.test.cpp | 5 +-- 14 files changed, 41 insertions(+), 64 deletions(-) rename barretenberg/cpp/src/barretenberg/honk/instance/{instance.cpp => prover_instance.cpp} (94%) rename barretenberg/cpp/src/barretenberg/honk/instance/{instance.hpp => prover_instance.hpp} (84%) rename barretenberg/cpp/src/barretenberg/honk/instance/{instance.test.cpp => prover_instance.test.cpp} (97%) diff --git a/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp index b6ae69303d8..789f4a43ba7 100644 --- a/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp @@ -1,5 +1,4 @@ #include "barretenberg/honk/composer/ultra_composer.hpp" -#include "barretenberg/honk/instance/instance.hpp" #include "barretenberg/honk/proof_system/grand_product_library.hpp" #include "barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp" #include "barretenberg/proof_system/composer/composer_lib.hpp" @@ -8,7 +7,7 @@ namespace proof_system::honk { template -std::shared_ptr> UltraComposer_::create_instance(CircuitBuilder& circuit) +std::shared_ptr> UltraComposer_::create_instance(CircuitBuilder& circuit) { circuit.add_gates_to_ensure_all_polys_are_non_zero(); circuit.finalize_circuit(); diff --git a/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp index 4920fcf2469..0a33f748ba3 100644 --- a/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.hpp @@ -1,5 +1,5 @@ #pragma once -#include "barretenberg/honk/instance/instance.hpp" +#include "barretenberg/honk/instance/prover_instance.hpp" #include "barretenberg/honk/proof_system/protogalaxy_prover.hpp" #include "barretenberg/honk/proof_system/protogalaxy_verifier.hpp" #include "barretenberg/honk/proof_system/ultra_prover.hpp" @@ -22,7 +22,7 @@ template class UltraComposer_ { using PCS = typename Flavor::PCS; using CommitmentKey = typename Flavor::CommitmentKey; using VerifierCommitmentKey = typename Flavor::VerifierCommitmentKey; - using Instance = Instance_; + using Instance = ProverInstance_; // offset due to placing zero wires at the start of execution trace static constexpr size_t num_zero_rows = Flavor::has_zero_row ? 1 : 0; diff --git a/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp index d493cb73034..65a15a2249f 100644 --- a/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.test.cpp @@ -1,6 +1,5 @@ #include "barretenberg/honk/composer/ultra_composer.hpp" #include "barretenberg/ecc/curves/bn254/fr.hpp" -#include "barretenberg/honk/instance/instance.hpp" #include "barretenberg/honk/proof_system/ultra_prover.hpp" #include "barretenberg/honk/sumcheck/sumcheck_round.hpp" #include "barretenberg/honk/utils/grand_product_delta.hpp" diff --git a/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.cpp similarity index 94% rename from barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp rename to barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.cpp index f17f36b08a0..28bcbdbfb34 100644 --- a/barretenberg/cpp/src/barretenberg/honk/instance/instance.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.cpp @@ -1,4 +1,4 @@ -#include "instance.hpp" +#include "prover_instance.hpp" #include "barretenberg/honk/proof_system/grand_product_library.hpp" #include "barretenberg/proof_system/circuit_builder/ultra_circuit_builder.hpp" #include "barretenberg/proof_system/composer/permutation_lib.hpp" @@ -10,7 +10,7 @@ namespace proof_system::honk { * @tparam Flavor * @param circuit */ -template void Instance_::compute_circuit_size_parameters(Circuit& circuit) +template void ProverInstance_::compute_circuit_size_parameters(Circuit& circuit) { // Compute total length of the tables and the number of lookup gates; their sum is the minimum circuit size for (const auto& table : circuit.lookup_tables) { @@ -41,7 +41,7 @@ template void Instance_::compute_circuit_size_param * @brief Compute witness polynomials * */ -template void Instance_::compute_witness(Circuit& circuit) +template void ProverInstance_::compute_witness(Circuit& circuit) { if (computed_witness) { return; @@ -154,7 +154,7 @@ template void Instance_::compute_witness(Circuit& c * @tparam Flavor * @param wire_polynomials */ -template void Instance_::construct_ecc_op_wire_polynomials(auto& wire_polynomials) +template void ProverInstance_::construct_ecc_op_wire_polynomials(auto& wire_polynomials) { std::array op_wire_polynomials; for (auto& poly : op_wire_polynomials) { @@ -179,7 +179,7 @@ template void Instance_::construct_ecc_op_wire_poly } template -std::shared_ptr Instance_::compute_proving_key(Circuit& circuit) +std::shared_ptr ProverInstance_::compute_proving_key(Circuit& circuit) { if (proving_key) { return proving_key; @@ -246,7 +246,7 @@ std::shared_ptr Instance_::compute_proving_ return proving_key; } -template void Instance_::initialise_prover_polynomials() +template void ProverInstance_::initialise_prover_polynomials() { prover_polynomials.q_c = proving_key->q_c; prover_polynomials.q_l = proving_key->q_l; @@ -306,7 +306,7 @@ template void Instance_::initialise_prover_polynomi } } -template void Instance_::compute_sorted_accumulator_polynomials(FF eta) +template void ProverInstance_::compute_sorted_accumulator_polynomials(FF eta) { relation_parameters.eta = eta; // Compute sorted witness-table accumulator @@ -331,7 +331,7 @@ template void Instance_::compute_sorted_accumulator * @param eta random challenge * @return Polynomial */ -template void Instance_::compute_sorted_list_accumulator(FF eta) +template void ProverInstance_::compute_sorted_list_accumulator(FF eta) { const size_t circuit_size = proving_key->circuit_size; @@ -362,7 +362,7 @@ template void Instance_::compute_sorted_list_accumu * @tparam Flavor * @param eta challenge produced after commitment to first three wire polynomials */ -template void Instance_::add_plookup_memory_records_to_wire_4(FF eta) +template void ProverInstance_::add_plookup_memory_records_to_wire_4(FF eta) { // The plookup memory record values are computed at the indicated indices as // w4 = w3 * eta^3 + w2 * eta^2 + w1 * eta + read_write_flag; @@ -391,7 +391,7 @@ template void Instance_::add_plookup_memory_records } } -template void Instance_::compute_grand_product_polynomials(FF beta, FF gamma) +template void ProverInstance_::compute_grand_product_polynomials(FF beta, FF gamma) { auto public_input_delta = compute_public_input_delta(public_inputs, beta, gamma, proving_key->circuit_size, pub_inputs_offset); @@ -412,7 +412,7 @@ template void Instance_::compute_grand_product_poly * @return Pointer to the resulting verification key of the Instance. * */ template -std::shared_ptr Instance_::compute_verification_key() +std::shared_ptr ProverInstance_::compute_verification_key() { if (verification_key) { return verification_key; @@ -464,8 +464,8 @@ std::shared_ptr Instance_::compute_ver return verification_key; } -template class Instance_; -template class Instance_; -template class Instance_; +template class ProverInstance_; +template class ProverInstance_; +template class ProverInstance_; } // namespace proof_system::honk \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.hpp similarity index 84% rename from barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp rename to barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.hpp index a9895006904..4fb05009627 100644 --- a/barretenberg/cpp/src/barretenberg/honk/instance/instance.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.hpp @@ -16,8 +16,7 @@ namespace proof_system::honk { * and folded public inputs and its FoldingParams are expected to be non-zero * */ - -template class Instance_ { +template class ProverInstance_ { public: using Circuit = typename Flavor::CircuitBuilder; using ProvingKey = typename Flavor::ProvingKey; @@ -31,7 +30,6 @@ template class Instance_ { // offset due to placing zero wires at the start of execution trace static constexpr size_t num_zero_rows = Flavor::has_zero_row ? 1 : 0; - static constexpr std::string_view NAME_STRING = "UltraHonk"; static constexpr size_t NUM_WIRES = Circuit::NUM_WIRES; std::shared_ptr proving_key; std::shared_ptr verification_key; @@ -60,27 +58,28 @@ template class Instance_ { // Used by the prover for domain separation in the transcript uint32_t index; - Instance_(Circuit& circuit) + ProverInstance_(Circuit& circuit) { compute_circuit_size_parameters(circuit); compute_proving_key(circuit); compute_witness(circuit); } - Instance_(FoldingResult result) + ProverInstance_(FoldingResult result) : verification_key(std::move(result.verification_key)) , prover_polynomials(result.folded_prover_polynomials) , public_inputs(result.folded_public_inputs) , folding_params(result.params){}; - Instance_(Instance_&& other) noexcept = default; - Instance_(Instance_ const& other) noexcept = default; - Instance_& operator=(Instance_&& other) noexcept = default; - Instance_& operator=(Instance_ const& other) noexcept = default; - ~Instance_() = default; + ProverInstance_(ProverInstance_&& other) noexcept = default; + ~ProverInstance_() = default; - std::shared_ptr compute_proving_key(Circuit&); std::shared_ptr compute_verification_key(); + void initialise_prover_polynomials(); + void compute_sorted_accumulator_polynomials(FF); + void compute_grand_product_polynomials(FF, FF); + + std::shared_ptr compute_proving_key(Circuit&); void compute_circuit_size_parameters(Circuit&); @@ -90,21 +89,15 @@ template class Instance_ { void add_table_column_selector_poly_to_proving_key(barretenberg::polynomial& small, const std::string& tag); - void initialise_prover_polynomials(); - - void compute_sorted_accumulator_polynomials(FF); - void compute_sorted_list_accumulator(FF); void add_plookup_memory_records_to_wire_4(FF); - - void compute_grand_product_polynomials(FF, FF); }; -extern template class Instance_; -extern template class Instance_; -extern template class Instance_; +extern template class ProverInstance_; +extern template class ProverInstance_; +extern template class ProverInstance_; -using Instance = Instance_; +using ProverInstance = ProverInstance_; } // namespace proof_system::honk \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.test.cpp similarity index 97% rename from barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp rename to barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.test.cpp index 33ee3ec0018..1cced414dd2 100644 --- a/barretenberg/cpp/src/barretenberg/honk/instance/instance.test.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.test.cpp @@ -1,5 +1,5 @@ -#include "instance.hpp" +#include "prover_instance.hpp" #include "barretenberg/ecc/curves/bn254/bn254.hpp" #include "barretenberg/honk/proof_system/grand_product_library.hpp" #include "barretenberg/polynomials/polynomial.hpp" @@ -54,7 +54,7 @@ template class InstanceTests : public testing::Test { builder.add_gates_to_ensure_all_polys_are_non_zero(); builder.finalize_circuit(); - auto instance = Instance_(builder); + auto instance = ProverInstance_(builder); // Get random challenge eta auto eta = FF::random_element(); diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.test.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.test.cpp index b8fa9949f26..807c27f7d0f 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.test.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/grand_product_library.test.cpp @@ -6,11 +6,7 @@ #include "barretenberg/polynomials/polynomial.hpp" #include "barretenberg/srs/factories/file_crs_factory.hpp" -#include -#include #include -#include -#include using namespace proof_system::honk; namespace grand_product_library_tests { diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp index ae6f20e8fa2..eb557a74059 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp @@ -2,14 +2,14 @@ #include "barretenberg/honk/flavor/goblin_ultra.hpp" #include "barretenberg/honk/flavor/ultra.hpp" #include "barretenberg/honk/flavor/ultra_grumpkin.hpp" -#include "barretenberg/honk/instance/instance.hpp" +#include "barretenberg/honk/instance/prover_instance.hpp" #include "barretenberg/honk/proof_system/folding_result.hpp" #include "barretenberg/proof_system/flavor/flavor.hpp" namespace proof_system::honk { template class ProtoGalaxyProver_ { public: using FF = typename Flavor::FF; - using Instance = Instance_; + using Instance = ProverInstance_; using ProverPolynomials = typename Flavor::ProverPolynomials; std::vector> instances; @@ -17,10 +17,6 @@ template class ProtoGalaxyProver_ { ProverTranscript transcript; explicit ProtoGalaxyProver_(std::vector>); - ProtoGalaxyProver_(ProtoGalaxyProver_&& other) noexcept = default; - ProtoGalaxyProver_(ProtoGalaxyProver_ const& other) noexcept = default; - ProtoGalaxyProver_& operator=(ProtoGalaxyProver_&& other) noexcept = default; - ProtoGalaxyProver_& operator=(ProtoGalaxyProver_ const& other) noexcept = default; ~ProtoGalaxyProver_() = default; void prepare_for_folding(); @@ -31,5 +27,4 @@ template class ProtoGalaxyProver_ { extern template class ProtoGalaxyProver_; extern template class ProtoGalaxyProver_; extern template class ProtoGalaxyProver_; -// the folding prover returns the new prover polynomials and the new public inputs(does the verifier do anything) } // namespace proof_system::honk \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp index 67d4b6d37ef..19e6a155b74 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp @@ -4,7 +4,7 @@ namespace proof_system::honk { template ProtoGalaxyVerifier_::ProtoGalaxyVerifier_(std::vector> vks) { - // TODO(#391): simplify code with C++23 features + // TODO(https://github.com/AztecProtocol/barretenberg/issues/391): simplify code with C++23 features uint32_t idx = 0; for (const auto& vk : vks) { VerifierInstance inst; diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp index 6cb1a6c6569..a5a0921b314 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp @@ -17,10 +17,6 @@ template class ProtoGalaxyVerifier_ { VerifierTranscript transcript; explicit ProtoGalaxyVerifier_(std::vector> vks); - ProtoGalaxyVerifier_(ProtoGalaxyVerifier_&& other) noexcept = default; - ProtoGalaxyVerifier_(ProtoGalaxyVerifier_ const& other) noexcept = default; - ProtoGalaxyVerifier_& operator=(ProtoGalaxyVerifier_&& other) noexcept = default; - ProtoGalaxyVerifier_& operator=(ProtoGalaxyVerifier_ const& other) noexcept = default; ~ProtoGalaxyVerifier_() = default; VerifierFoldingResult fold_public_parameters(std::vector fold_data); }; diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp index efd072f9b18..f700ea55ab6 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.cpp @@ -1,5 +1,4 @@ #include "ultra_prover.hpp" -#include "barretenberg/honk/instance/instance.hpp" #include "barretenberg/honk/pcs/claim.hpp" #include "barretenberg/honk/sumcheck/sumcheck.hpp" #include "barretenberg/honk/utils/power_polynomial.hpp" diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp index b5249ab45a0..9012f2ce26a 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/ultra_prover.hpp @@ -2,7 +2,7 @@ #include "barretenberg/honk/flavor/goblin_ultra.hpp" #include "barretenberg/honk/flavor/ultra.hpp" #include "barretenberg/honk/flavor/ultra_grumpkin.hpp" -#include "barretenberg/honk/instance/instance.hpp" +#include "barretenberg/honk/instance/prover_instance.hpp" #include "barretenberg/honk/pcs/gemini/gemini.hpp" #include "barretenberg/honk/pcs/shplonk/shplonk.hpp" #include "barretenberg/honk/proof_system/work_queue.hpp" @@ -22,7 +22,7 @@ template class UltraProver_ { using ProverPolynomials = typename Flavor::ProverPolynomials; using CommitmentLabels = typename Flavor::CommitmentLabels; using Curve = typename Flavor::Curve; - using Instance = Instance_; + using Instance = ProverInstance_; public: explicit UltraProver_(std::shared_ptr); diff --git a/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp b/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp index a534db7ce05..7a38c9df1ea 100644 --- a/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp @@ -1,4 +1,3 @@ -#include "barretenberg/ecc/curves/bn254/fr.hpp" #include "barretenberg/honk/composer/standard_composer.hpp" #include "barretenberg/honk/composer/ultra_composer.hpp" #include "barretenberg/honk/proof_system/grand_product_library.hpp" diff --git a/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp b/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp index d9df5bcaa14..ff6954177e0 100644 --- a/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp @@ -12,7 +12,8 @@ using namespace proof_system::honk; template class TranscriptTests : public testing::Test { protected: - // TODO(640): The Standard Honk on Grumpkin test suite fails unless the SRS is initialised for every test. + // TODO(https://github.com/AztecProtocol/barretenberg/issues/640): The Standard Honk on Grumpkin test suite fails + // unless the SRS is initialised for every test. virtual void SetUp() { if constexpr (proof_system::IsGrumpkinFlavor) { @@ -351,7 +352,7 @@ TEST_F(UltraTranscriptTests, FoldingManifestTest) auto instance_one = composer.create_instance(builder_one); auto instance_two = composer.create_instance(builder_two); - std::vector> insts; + std::vector> insts; insts.emplace_back(instance_one); insts.emplace_back(instance_two); auto prover = composer.create_folding_prover(insts); From 4fba3a282a2e9b330a24113f48c02ebdcd215b2c Mon Sep 17 00:00:00 2001 From: maramihali Date: Thu, 14 Sep 2023 13:21:50 +0000 Subject: [PATCH 27/28] start work to make standard honk support instances --- .../honk/composer/standard_composer.cpp | 108 +---------- .../honk/composer/standard_composer.hpp | 26 +-- .../honk/composer/standard_composer.test.cpp | 174 +++++++++--------- .../honk/composer/ultra_composer.cpp | 2 - .../src/barretenberg/honk/flavor/standard.hpp | 6 + .../honk/flavor/standard_grumpkin.hpp | 6 + .../honk/instance/prover_instance.cpp | 81 ++++---- .../honk/instance/prover_instance.hpp | 18 +- .../honk/instance/verifier_instance.hpp | 2 +- .../honk/proof_system/folding_result.hpp | 6 +- .../barretenberg/honk/proof_system/prover.cpp | 87 +++------ .../barretenberg/honk/proof_system/prover.hpp | 14 +- .../sumcheck/relation_correctness.test.cpp | 45 +---- .../honk/sumcheck/sumcheck.test.cpp | 47 +---- .../honk/transcript/transcript.test.cpp | 10 +- 15 files changed, 235 insertions(+), 397 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.cpp b/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.cpp index 571ac034634..d7d8b55b1e8 100644 --- a/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.cpp @@ -9,122 +9,30 @@ namespace proof_system::honk { -/** - * Compute witness polynomials (w_1, w_2, w_3, w_4). - * - * @details Fills 3 or 4 witness polynomials w_1, w_2, w_3, w_4 with the values of in-circuit variables. The beginning - * of w_1, w_2 polynomials is filled with public_input values. - * @return Witness with computed witness polynomials. - * - * @tparam Program settings needed to establish if w_4 is being used. - * */ template -void StandardComposer_::compute_witness(const CircuitBuilder& circuit_constructor, const size_t /*unused*/) +std::shared_ptr> StandardComposer_::create_instance(CircuitBuilder& circuit) { - if (computed_witness) { - return; - } - auto wire_polynomials = construct_wire_polynomials_base(circuit_constructor, dyadic_circuit_size); - - proving_key->w_l = wire_polynomials[0]; - proving_key->w_r = wire_polynomials[1]; - proving_key->w_o = wire_polynomials[2]; - - computed_witness = true; -} - -/** - * Compute proving key. - * Compute the polynomials q_l, q_r, etc. and sigma polynomial. - * - * @return Proving key with saved computed polynomials. - * */ - -template -std::shared_ptr StandardComposer_::compute_proving_key( - const CircuitBuilder& circuit_constructor) -{ - if (proving_key) { - return proving_key; - } - - // Construct a proving key - proving_key = std::make_shared(dyadic_circuit_size, num_public_inputs); - - // Compute lagrange selectors - construct_selector_polynomials(circuit_constructor, proving_key.get()); - - // Compute sigma polynomials (we should update that late) - compute_standard_honk_sigma_permutations(circuit_constructor, proving_key.get()); - compute_standard_honk_id_polynomials(proving_key.get()); - - compute_first_and_last_lagrange_polynomials(proving_key.get()); - - return proving_key; + auto instance = std::make_shared(circuit); + instance->commitment_key = compute_commitment_key(instance->proving_key->circuit_size); + return instance; } -/** - * Compute verification key consisting of selector precommitments. - * - * @return Pointer to created circuit verification key. - * */ template -std::shared_ptr StandardComposer_::compute_verification_key( - const CircuitBuilder& /*unused*/) +StandardVerifier_ StandardComposer_::create_verifier(std::shared_ptr instance) { - if (verification_key) { - return verification_key; - } - - verification_key = - std::make_shared(proving_key->circuit_size, proving_key->num_public_inputs); - - // Compute and store commitments to all precomputed polynomials - verification_key->q_m = commitment_key->commit(proving_key->q_m); - verification_key->q_l = commitment_key->commit(proving_key->q_l); - verification_key->q_r = commitment_key->commit(proving_key->q_r); - verification_key->q_o = commitment_key->commit(proving_key->q_o); - verification_key->q_c = commitment_key->commit(proving_key->q_c); - verification_key->sigma_1 = commitment_key->commit(proving_key->sigma_1); - verification_key->sigma_2 = commitment_key->commit(proving_key->sigma_2); - verification_key->sigma_3 = commitment_key->commit(proving_key->sigma_3); - verification_key->id_1 = commitment_key->commit(proving_key->id_1); - verification_key->id_2 = commitment_key->commit(proving_key->id_2); - verification_key->id_3 = commitment_key->commit(proving_key->id_3); - verification_key->lagrange_first = commitment_key->commit(proving_key->lagrange_first); - verification_key->lagrange_last = commitment_key->commit(proving_key->lagrange_last); - - return verification_key; -} - -template -StandardVerifier_ StandardComposer_::create_verifier(const CircuitBuilder& circuit_constructor) -{ - compute_verification_key(circuit_constructor); + auto verification_key = instance->compute_verification_key(); StandardVerifier_ output_state(verification_key); - auto pcs_verification_key = std::make_unique(verification_key->circuit_size, crs_factory_); - output_state.pcs_verification_key = std::move(pcs_verification_key); return output_state; } template -StandardProver_ StandardComposer_::create_prover(const CircuitBuilder& circuit_constructor) +StandardProver_ StandardComposer_::create_prover(std::shared_ptr instance) { - // Compute some key cicuit size paramaters - num_public_inputs = circuit_constructor.public_inputs.size(); - total_num_gates = circuit_constructor.num_gates + num_public_inputs; - dyadic_circuit_size = circuit_constructor.get_circuit_subgroup_size(total_num_gates); - - compute_proving_key(circuit_constructor); - compute_witness(circuit_constructor); - - compute_commitment_key(proving_key->circuit_size); - - StandardProver_ output_state(proving_key, commitment_key); + StandardProver_ output_state(instance); return output_state; } diff --git a/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.hpp b/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.hpp index 2117058d747..c25b8beaf7d 100644 --- a/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.hpp @@ -1,5 +1,6 @@ #pragma once +#include "barretenberg/honk/instance/prover_instance.hpp" #include "barretenberg/honk/proof_system/prover.hpp" #include "barretenberg/honk/proof_system/verifier.hpp" #include "barretenberg/proof_system/circuit_builder/standard_circuit_builder.hpp" @@ -18,6 +19,7 @@ template class StandardComposer_ { using ProvingKey = typename Flavor::ProvingKey; using VerificationKey = typename Flavor::VerificationKey; using CommitmentKey = typename Flavor::CommitmentKey; + using Instance = ProverInstance_; static constexpr std::string_view NAME_STRING = "StandardHonk"; static constexpr size_t NUM_WIRES = CircuitBuilder::NUM_WIRES; @@ -29,14 +31,11 @@ template class StandardComposer_ { // The commitment key is passed to the prover but also used herein to compute the verfication key commitments std::shared_ptr commitment_key; - - size_t total_num_gates; // total num gates prior to computing dyadic size - size_t dyadic_circuit_size; // final dyadic circuit size - size_t num_public_inputs; + ; bool computed_witness = false; // TODO(Luke): use make_shared - // TODO(#637): design the crs factory better + // TODO(https://github.com/AztecProtocol/barretenberg/issues/637): design the crs factory better StandardComposer_() { if constexpr (IsGrumpkinFlavor) { @@ -64,18 +63,19 @@ template class StandardComposer_ { StandardComposer_& operator=(const StandardComposer_& other) = delete; ~StandardComposer_() = default; - std::shared_ptr compute_proving_key(const CircuitBuilder& circuit_constructor); - std::shared_ptr compute_verification_key(const CircuitBuilder& circuit_constructor); - - StandardVerifier_ create_verifier(const CircuitBuilder& circuit_constructor); - - StandardProver_ create_prover(const CircuitBuilder& circuit_constructor); + std::shared_ptr create_instance(CircuitBuilder& circuit); - void compute_witness(const CircuitBuilder& circuit_constructor, const size_t minimum_circuit_size = 0); + StandardProver_ create_prover(std::shared_ptr); + StandardVerifier_ create_verifier(std::shared_ptr); - void compute_commitment_key(size_t circuit_size) + std::shared_ptr compute_commitment_key(size_t circuit_size) { + if (commitment_key) { + return commitment_key; + } + commitment_key = std::make_shared(circuit_size, crs_factory_); + return commitment_key; }; }; diff --git a/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp b/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp index 352e5da247d..39d1d533eb2 100644 --- a/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp @@ -50,15 +50,16 @@ TYPED_TEST_SUITE(StandardHonkComposerTests, FlavorTypes); TYPED_TEST(StandardHonkComposerTests, SigmaIDCorrectness) { TYPE_ALIASES - auto test_permutation = [](CircuitBuilder& circuit_constructor, Composer& composer) { - auto prover = composer.create_prover(circuit_constructor); - auto proving_key = prover.key; + auto test_permutation = [](CircuitBuilder& builder, Composer& composer) { + auto instance = composer.create_instance(builder); + auto prover = composer.create_prover(instance); + auto proving_key = instance->proving_key; const auto n = proving_key->circuit_size; - auto public_inputs = circuit_constructor.get_public_inputs(); + auto public_inputs = builder.get_public_inputs(); auto num_public_inputs = public_inputs.size(); - auto num_gates = circuit_constructor.get_num_gates(); + auto num_gates = builder.get_num_gates(); // Using the same random beta and gamma as in the permutation argument FF beta = FF::random_element(); @@ -131,30 +132,30 @@ TYPED_TEST(StandardHonkComposerTests, SigmaIDCorrectness) EXPECT_EQ(left, right); }; - auto circuit_constructor = CircuitBuilder(); + auto builder = CircuitBuilder(); FF a = FF::one(); - uint32_t a_idx = circuit_constructor.add_variable(a); + uint32_t a_idx = builder.add_variable(a); FF b = FF::one(); FF c = a + b; - uint32_t b_idx = circuit_constructor.add_variable(b); - uint32_t c_idx = circuit_constructor.add_variable(c); + uint32_t b_idx = builder.add_variable(b); + uint32_t c_idx = builder.add_variable(c); FF d = a + c; - uint32_t d_idx = circuit_constructor.add_public_variable(d); + uint32_t d_idx = builder.add_public_variable(d); - uint32_t e_idx = circuit_constructor.put_constant_variable(d); - circuit_constructor.assert_equal(e_idx, d_idx, ""); + uint32_t e_idx = builder.put_constant_variable(d); + builder.assert_equal(e_idx, d_idx, ""); - circuit_constructor.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); - circuit_constructor.create_add_gate({ d_idx, c_idx, a_idx, FF::one(), FF::neg_one(), FF::neg_one(), FF::zero() }); - circuit_constructor.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); - circuit_constructor.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); - circuit_constructor.create_add_gate({ b_idx, a_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ d_idx, c_idx, a_idx, FF::one(), FF::neg_one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ b_idx, a_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); for (size_t i = 0; i < 30; ++i) { - circuit_constructor.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); } auto composer = Composer(); - test_permutation(circuit_constructor, composer); + test_permutation(builder, composer); } /** @@ -166,25 +167,25 @@ TYPED_TEST(StandardHonkComposerTests, LagrangeCorrectness) TYPE_ALIASES using Polynomial = typename Flavor::Polynomial; // Create a dummy circuit with a few gates - auto circuit_constructor = CircuitBuilder(); + auto builder = CircuitBuilder(); FF a = FF::one(); - uint32_t a_idx = circuit_constructor.add_variable(a); + uint32_t a_idx = builder.add_variable(a); FF b = FF::one(); FF c = a + b; FF d = a + c; - uint32_t b_idx = circuit_constructor.add_variable(b); - uint32_t c_idx = circuit_constructor.add_variable(c); - uint32_t d_idx = circuit_constructor.add_variable(d); + uint32_t b_idx = builder.add_variable(b); + uint32_t c_idx = builder.add_variable(c); + uint32_t d_idx = builder.add_variable(d); for (size_t i = 0; i < 16; i++) { - circuit_constructor.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); - circuit_constructor.create_add_gate( - { d_idx, c_idx, a_idx, FF::one(), FF::neg_one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ d_idx, c_idx, a_idx, FF::one(), FF::neg_one(), FF::neg_one(), FF::zero() }); } // Generate proving key auto composer = Composer(); - auto prover = composer.create_prover(circuit_constructor); - auto proving_key = prover.key; + auto instance = composer.create_instance(builder); + auto prover = composer.create_prover(instance); + auto proving_key = instance->proving_key; // Generate a random polynomial Polynomial random_polynomial = Polynomial(proving_key->circuit_size); @@ -225,19 +226,17 @@ TYPED_TEST(StandardHonkComposerTests, AssertEquals) * @brief A function that creates a simple circuit with repeated gates, leading to large permutation cycles * */ - auto create_simple_circuit = [](auto& circuit_constructor) { + auto create_simple_circuit = [](auto& builder) { FF a = FF::one(); - uint32_t a_idx = circuit_constructor.add_variable(a); + uint32_t a_idx = builder.add_variable(a); FF b = FF::one(); FF c = a + b; - uint32_t b_idx = circuit_constructor.add_variable(b); - uint32_t c_idx = circuit_constructor.add_variable(c); + uint32_t b_idx = builder.add_variable(b); + uint32_t c_idx = builder.add_variable(c); for (size_t i = 0; i < 10; i++) { - circuit_constructor.create_add_gate( - { a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); - circuit_constructor.create_add_gate( - { b_idx, a_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ b_idx, a_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); } return std::make_tuple(a_idx, b_idx); }; @@ -245,10 +244,11 @@ TYPED_TEST(StandardHonkComposerTests, AssertEquals) * @brief A function that computes the largest cycle from the sigma permutation generated by the composer * */ - auto get_maximum_cycle = [](auto& circuit_constructor, auto& composer) { + auto get_maximum_cycle = [](auto& builder, auto& composer) { // Compute the proving key for sigma polynomials - auto prover = composer.create_prover(circuit_constructor); - auto proving_key = prover.key; + auto instance = composer.create_instance(builder); + auto prover = composer.create_prover(instance); + auto proving_key = instance->proving_key; auto permutation_length = composer.NUM_WIRES * proving_key->circuit_size; auto sigma_polynomials = proving_key->get_sigma_polynomials(); @@ -302,23 +302,23 @@ TYPED_TEST(StandardHonkComposerTests, AssertEquals) }; // Get 2 circuits - auto circuit_constructor_no_assert_equal = CircuitBuilder(); - auto circuit_constructor_with_assert_equal = CircuitBuilder(); + auto builder_no_assert_equal = CircuitBuilder(); + auto builder_with_assert_equal = CircuitBuilder(); // Construct circuits - create_simple_circuit(circuit_constructor_no_assert_equal); - auto assert_eq_params = create_simple_circuit(circuit_constructor_with_assert_equal); + create_simple_circuit(builder_no_assert_equal); + auto assert_eq_params = create_simple_circuit(builder_with_assert_equal); // Use assert_equal on one of them - circuit_constructor_with_assert_equal.assert_equal(std::get<0>(assert_eq_params), - std::get<1>(assert_eq_params), - "Equality asssertion in standard honk composer test"); + builder_with_assert_equal.assert_equal(std::get<0>(assert_eq_params), + std::get<1>(assert_eq_params), + "Equality asssertion in standard honk composer test"); // Check that the maximum cycle in the one, where we used assert_equal, is twice as long auto composer_no_assert_equal = Composer(); auto composer_with_assert_equal = Composer(); - EXPECT_EQ(get_maximum_cycle(circuit_constructor_with_assert_equal, composer_with_assert_equal), - get_maximum_cycle(circuit_constructor_no_assert_equal, composer_no_assert_equal) * 2); + EXPECT_EQ(get_maximum_cycle(builder_with_assert_equal, composer_with_assert_equal), + get_maximum_cycle(builder_no_assert_equal, composer_no_assert_equal) * 2); } TYPED_TEST(StandardHonkComposerTests, VerificationKeyCreation) @@ -326,41 +326,41 @@ TYPED_TEST(StandardHonkComposerTests, VerificationKeyCreation) TYPE_ALIASES // Create a composer and a dummy circuit with a few gates - auto circuit_constructor = CircuitBuilder(); + auto builder = CircuitBuilder(); FF a = FF::one(); - uint32_t a_idx = circuit_constructor.add_variable(a); + uint32_t a_idx = builder.add_variable(a); FF b = FF::one(); FF c = a + b; FF d = a + c; - uint32_t b_idx = circuit_constructor.add_variable(b); - uint32_t c_idx = circuit_constructor.add_variable(c); - uint32_t d_idx = circuit_constructor.add_variable(d); + uint32_t b_idx = builder.add_variable(b); + uint32_t c_idx = builder.add_variable(c); + uint32_t d_idx = builder.add_variable(d); for (size_t i = 0; i < 16; i++) { - circuit_constructor.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); - circuit_constructor.create_add_gate( - { d_idx, c_idx, a_idx, FF::one(), FF::neg_one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ d_idx, c_idx, a_idx, FF::one(), FF::neg_one(), FF::neg_one(), FF::zero() }); } auto composer = Composer(); - composer.create_prover(circuit_constructor); - auto verification_key = composer.compute_verification_key(circuit_constructor); + auto instance = composer.create_instance(builder); + auto verification_key = instance->compute_verification_key(); // There is nothing we can really check apart from the fact that constraint selectors and permutation selectors // were committed to, we simply check that the verification key now contains the appropriate number of // constraint and permutation selector commitments. This method should work with any future arithemtization. - EXPECT_EQ(verification_key->size(), circuit_constructor.selectors.size() + composer.NUM_WIRES * 2 + 2); + EXPECT_EQ(verification_key->size(), builder.selectors.size() + composer.NUM_WIRES * 2 + 2); } TYPED_TEST(StandardHonkComposerTests, BaseCase) { TYPE_ALIASES - auto circuit_constructor = CircuitBuilder(); + auto builder = CircuitBuilder(); FF a = 1; - circuit_constructor.add_variable(a); + builder.add_variable(a); auto composer = Composer(); - auto prover = composer.create_prover(circuit_constructor); + auto instance = composer.create_instance(builder); + auto prover = composer.create_prover(instance); auto proof = prover.construct_proof(); - auto verifier = composer.create_verifier(circuit_constructor); + auto verifier = composer.create_verifier(instance); bool verified = verifier.verify_proof(proof); ASSERT_TRUE(verified); } @@ -369,29 +369,30 @@ TYPED_TEST(StandardHonkComposerTests, TwoGates) { TYPE_ALIASES auto run_test = [](bool expect_verified) { - auto circuit_constructor = CircuitBuilder(); + auto builder = CircuitBuilder(); // 1 + 1 - 2 = 0 uint32_t w_l_1_idx; if (expect_verified) { - w_l_1_idx = circuit_constructor.add_variable(1); + w_l_1_idx = builder.add_variable(1); } else { - w_l_1_idx = circuit_constructor.add_variable(0); + w_l_1_idx = builder.add_variable(0); } - uint32_t w_r_1_idx = circuit_constructor.add_variable(1); - uint32_t w_o_1_idx = circuit_constructor.add_variable(2); - circuit_constructor.create_add_gate({ w_l_1_idx, w_r_1_idx, w_o_1_idx, 1, 1, -1, 0 }); + uint32_t w_r_1_idx = builder.add_variable(1); + uint32_t w_o_1_idx = builder.add_variable(2); + builder.create_add_gate({ w_l_1_idx, w_r_1_idx, w_o_1_idx, 1, 1, -1, 0 }); // 2 * 2 - 4 = 0 - uint32_t w_l_2_idx = circuit_constructor.add_variable(2); - uint32_t w_r_2_idx = circuit_constructor.add_variable(2); - uint32_t w_o_2_idx = circuit_constructor.add_variable(4); - circuit_constructor.create_mul_gate({ w_l_2_idx, w_r_2_idx, w_o_2_idx, 1, -1, 0 }); + uint32_t w_l_2_idx = builder.add_variable(2); + uint32_t w_r_2_idx = builder.add_variable(2); + uint32_t w_o_2_idx = builder.add_variable(4); + builder.create_mul_gate({ w_l_2_idx, w_r_2_idx, w_o_2_idx, 1, -1, 0 }); auto composer = Composer(); - auto prover = composer.create_prover(circuit_constructor); + auto instance = composer.create_instance(builder); + auto prover = composer.create_prover(instance); auto proof = prover.construct_proof(); - auto verifier = composer.create_verifier(circuit_constructor); + auto verifier = composer.create_verifier(instance); bool verified = verifier.verify_proof(proof); EXPECT_EQ(verified, expect_verified); @@ -405,10 +406,10 @@ TYPED_TEST(StandardHonkComposerTests, SumcheckEvaluations) { TYPE_ALIASES auto run_test = [](bool expected_result) { - auto circuit_constructor = CircuitBuilder(); + auto builder = CircuitBuilder(); FF a = FF::one(); // Construct a small but non-trivial circuit - uint32_t a_idx = circuit_constructor.add_public_variable(a); + uint32_t a_idx = builder.add_public_variable(a); FF b = FF::one(); FF c = a + b; FF d = a + c; @@ -417,20 +418,19 @@ TYPED_TEST(StandardHonkComposerTests, SumcheckEvaluations) d += 1; }; - uint32_t b_idx = circuit_constructor.add_variable(b); - uint32_t c_idx = circuit_constructor.add_variable(c); - uint32_t d_idx = circuit_constructor.add_variable(d); + uint32_t b_idx = builder.add_variable(b); + uint32_t c_idx = builder.add_variable(c); + uint32_t d_idx = builder.add_variable(d); for (size_t i = 0; i < 16; i++) { - circuit_constructor.create_add_gate( - { a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); - circuit_constructor.create_add_gate( - { d_idx, c_idx, a_idx, FF::one(), FF::neg_one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); + builder.create_add_gate({ d_idx, c_idx, a_idx, FF::one(), FF::neg_one(), FF::neg_one(), FF::zero() }); } auto composer = Composer(); - auto prover = composer.create_prover(circuit_constructor); + auto instance = composer.create_instance(builder); + auto prover = composer.create_prover(instance); auto proof = prover.construct_proof(); - auto verifier = composer.create_verifier(circuit_constructor); + auto verifier = composer.create_verifier(instance); bool verified = verifier.verify_proof(proof); ASSERT_EQ(verified, expected_result); }; diff --git a/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp index 789f4a43ba7..93aba6f71bf 100644 --- a/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/composer/ultra_composer.cpp @@ -27,9 +27,7 @@ UltraProver_ UltraComposer_::create_prover(std::shared_ptr UltraVerifier_ UltraComposer_::create_verifier(std::shared_ptr instance) { - // for the folding composer we compute the commitment keys here! auto verification_key = instance->compute_verification_key(); - // change this it's clunky and inconsistent UltraVerifier_ output_state(verification_key); auto pcs_verification_key = std::make_unique(verification_key->circuit_size, crs_factory_); output_state.pcs_verification_key = std::move(pcs_verification_key); diff --git a/barretenberg/cpp/src/barretenberg/honk/flavor/standard.hpp b/barretenberg/cpp/src/barretenberg/honk/flavor/standard.hpp index 55006bdfaa9..0f503179a6a 100644 --- a/barretenberg/cpp/src/barretenberg/honk/flavor/standard.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/flavor/standard.hpp @@ -298,6 +298,12 @@ class Standard { lagrange_last = verification_key->lagrange_last; } }; + + class FoldingParameters { + public: + FF gate_separation_challenge; + FF target_sum; + }; }; } // namespace proof_system::honk::flavor diff --git a/barretenberg/cpp/src/barretenberg/honk/flavor/standard_grumpkin.hpp b/barretenberg/cpp/src/barretenberg/honk/flavor/standard_grumpkin.hpp index dbb013241b0..bee22076a59 100644 --- a/barretenberg/cpp/src/barretenberg/honk/flavor/standard_grumpkin.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/flavor/standard_grumpkin.hpp @@ -296,5 +296,11 @@ class StandardGrumpkin { lagrange_last = verification_key->lagrange_last; } }; + + class FoldingParameters { + public: + FF gate_separation_challenge; + FF target_sum; + }; }; } // namespace proof_system::honk::flavor \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.cpp b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.cpp index 28bcbdbfb34..b3e5117f632 100644 --- a/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.cpp @@ -10,7 +10,7 @@ namespace proof_system::honk { * @tparam Flavor * @param circuit */ -template void ProverInstance_::compute_circuit_size_parameters(Circuit& circuit) +template void ProverInstance_::compute_circuit_size_parameters(Circuit& circuit) { // Compute total length of the tables and the number of lookup gates; their sum is the minimum circuit size for (const auto& table : circuit.lookup_tables) { @@ -41,7 +41,7 @@ template void ProverInstance_::compute_circuit_size * @brief Compute witness polynomials * */ -template void ProverInstance_::compute_witness(Circuit& circuit) +template void ProverInstance_::compute_witness(Circuit& circuit) { if (computed_witness) { return; @@ -154,7 +154,9 @@ template void ProverInstance_::compute_witness(Circ * @tparam Flavor * @param wire_polynomials */ -template void ProverInstance_::construct_ecc_op_wire_polynomials(auto& wire_polynomials) +template +void ProverInstance_::construct_ecc_op_wire_polynomials(auto& wire_polynomials) + requires IsUltraFlavor; { std::array op_wire_polynomials; for (auto& poly : op_wire_polynomials) { @@ -178,7 +180,7 @@ template void ProverInstance_::construct_ecc_op_wir proving_key->ecc_op_wire_4 = op_wire_polynomials[3]; } -template +template std::shared_ptr ProverInstance_::compute_proving_key(Circuit& circuit) { if (proving_key) { @@ -246,43 +248,46 @@ std::shared_ptr ProverInstance_::compute_pr return proving_key; } -template void ProverInstance_::initialise_prover_polynomials() +template void ProverInstance_::initialise_prover_polynomials() { prover_polynomials.q_c = proving_key->q_c; prover_polynomials.q_l = proving_key->q_l; prover_polynomials.q_r = proving_key->q_r; prover_polynomials.q_o = proving_key->q_o; - prover_polynomials.q_4 = proving_key->q_4; prover_polynomials.q_m = proving_key->q_m; - prover_polynomials.q_arith = proving_key->q_arith; - prover_polynomials.q_sort = proving_key->q_sort; - prover_polynomials.q_elliptic = proving_key->q_elliptic; - prover_polynomials.q_aux = proving_key->q_aux; - prover_polynomials.q_lookup = proving_key->q_lookup; prover_polynomials.sigma_1 = proving_key->sigma_1; prover_polynomials.sigma_2 = proving_key->sigma_2; prover_polynomials.sigma_3 = proving_key->sigma_3; - prover_polynomials.sigma_4 = proving_key->sigma_4; prover_polynomials.id_1 = proving_key->id_1; prover_polynomials.id_2 = proving_key->id_2; prover_polynomials.id_3 = proving_key->id_3; - prover_polynomials.id_4 = proving_key->id_4; - prover_polynomials.table_1 = proving_key->table_1; - prover_polynomials.table_2 = proving_key->table_2; - prover_polynomials.table_3 = proving_key->table_3; - prover_polynomials.table_4 = proving_key->table_4; - prover_polynomials.table_1_shift = proving_key->table_1.shifted(); - prover_polynomials.table_2_shift = proving_key->table_2.shifted(); - prover_polynomials.table_3_shift = proving_key->table_3.shifted(); - prover_polynomials.table_4_shift = proving_key->table_4.shifted(); prover_polynomials.lagrange_first = proving_key->lagrange_first; prover_polynomials.lagrange_last = proving_key->lagrange_last; prover_polynomials.w_l = proving_key->w_l; prover_polynomials.w_r = proving_key->w_r; prover_polynomials.w_o = proving_key->w_o; - prover_polynomials.w_l_shift = proving_key->w_l.shifted(); - prover_polynomials.w_r_shift = proving_key->w_r.shifted(); - prover_polynomials.w_o_shift = proving_key->w_o.shifted(); + + if constexpr (IsUltraFlavor) { + prover_polynomials.q_4 = proving_key->q_4; + prover_polynomials.q_arith = proving_key->q_arith; + prover_polynomials.q_sort = proving_key->q_sort; + prover_polynomials.q_elliptic = proving_key->q_elliptic; + prover_polynomials.q_aux = proving_key->q_aux; + prover_polynomials.q_lookup = proving_key->q_lookup; + prover_polynomials.sigma_4 = proving_key->sigma_4; + prover_polynomials.id_4 = proving_key->id_4; + prover_polynomials.table_1 = proving_key->table_1; + prover_polynomials.table_2 = proving_key->table_2; + prover_polynomials.table_3 = proving_key->table_3; + prover_polynomials.table_4 = proving_key->table_4; + prover_polynomials.table_1_shift = proving_key->table_1.shifted(); + prover_polynomials.table_2_shift = proving_key->table_2.shifted(); + prover_polynomials.table_3_shift = proving_key->table_3.shifted(); + prover_polynomials.table_4_shift = proving_key->table_4.shifted(); + prover_polynomials.w_l_shift = proving_key->w_l.shifted(); + prover_polynomials.w_r_shift = proving_key->w_r.shifted(); + prover_polynomials.w_o_shift = proving_key->w_o.shifted(); + } if constexpr (IsGoblinFlavor) { prover_polynomials.ecc_op_wire_1 = proving_key->ecc_op_wire_1; @@ -292,11 +297,14 @@ template void ProverInstance_::initialise_prover_po prover_polynomials.lagrange_ecc_op = proving_key->lagrange_ecc_op; } - // Determine public input offsets in the circuit relative to the 0th index std::span public_wires_source = prover_polynomials.w_r; - pub_inputs_offset = Flavor::has_zero_row ? 1 : 0; - if constexpr (IsGoblinFlavor) { - pub_inputs_offset += proving_key->num_ecc_op_gates; + + // Determine public input offsets in the circuit relative to the 0th index for Ultra flavors + if constexpr (IsUltraFlavor) { + pub_inputs_offset = Flavor::has_zero_row ? 1 : 0; + if constexpr (IsGoblinFlavor) { + pub_inputs_offset += proving_key->num_ecc_op_gates; + } } // Construct the public inputs array @@ -306,7 +314,7 @@ template void ProverInstance_::initialise_prover_po } } -template void ProverInstance_::compute_sorted_accumulator_polynomials(FF eta) +template void ProverInstance_::compute_sorted_accumulator_polynomials(FF eta) { relation_parameters.eta = eta; // Compute sorted witness-table accumulator @@ -331,7 +339,7 @@ template void ProverInstance_::compute_sorted_accum * @param eta random challenge * @return Polynomial */ -template void ProverInstance_::compute_sorted_list_accumulator(FF eta) +template void ProverInstance_::compute_sorted_list_accumulator(FF eta) { const size_t circuit_size = proving_key->circuit_size; @@ -391,16 +399,19 @@ template void ProverInstance_::add_plookup_memory_r } } -template void ProverInstance_::compute_grand_product_polynomials(FF beta, FF gamma) +template void ProverInstance_::compute_grand_product_polynomials(FF beta, FF gamma) { auto public_input_delta = compute_public_input_delta(public_inputs, beta, gamma, proving_key->circuit_size, pub_inputs_offset); - auto lookup_grand_product_delta = compute_lookup_grand_product_delta(beta, gamma, proving_key->circuit_size); relation_parameters.beta = beta; relation_parameters.gamma = gamma; relation_parameters.public_input_delta = public_input_delta; - relation_parameters.lookup_grand_product_delta = lookup_grand_product_delta; + + if constexpr (IsUltraFlavor) { + auto lookup_grand_product_delta = compute_lookup_grand_product_delta(beta, gamma, proving_key->circuit_size); + relation_parameters.lookup_grand_product_delta = lookup_grand_product_delta; + } // Compute permutation and lookup grand product polynomials grand_product_library::compute_grand_products(proving_key, prover_polynomials, relation_parameters); @@ -411,7 +422,7 @@ template void ProverInstance_::compute_grand_produc * * @return Pointer to the resulting verification key of the Instance. * */ -template +template std::shared_ptr ProverInstance_::compute_verification_key() { if (verification_key) { @@ -466,6 +477,8 @@ std::shared_ptr ProverInstance_::compu template class ProverInstance_; template class ProverInstance_; +template class ProverInstance_; +template class ProverInstance_; template class ProverInstance_; } // namespace proof_system::honk \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.hpp b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.hpp index 4fb05009627..65adacf4f39 100644 --- a/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.hpp @@ -16,7 +16,7 @@ namespace proof_system::honk { * and folded public inputs and its FoldingParams are expected to be non-zero * */ -template class ProverInstance_ { +template class ProverInstance_ { public: using Circuit = typename Flavor::CircuitBuilder; using ProvingKey = typename Flavor::ProvingKey; @@ -75,8 +75,11 @@ template class ProverInstance_ { ~ProverInstance_() = default; std::shared_ptr compute_verification_key(); + void initialise_prover_polynomials(); - void compute_sorted_accumulator_polynomials(FF); + void compute_sorted_accumulator_polynomials(FF) + requires IsUltraFlavor; + void compute_grand_product_polynomials(FF, FF); std::shared_ptr compute_proving_key(Circuit&); @@ -85,18 +88,23 @@ template class ProverInstance_ { void compute_witness(Circuit&); - void construct_ecc_op_wire_polynomials(auto&); + void construct_ecc_op_wire_polynomials(auto&) + requires IsUltraFlavor; void add_table_column_selector_poly_to_proving_key(barretenberg::polynomial& small, const std::string& tag); - void compute_sorted_list_accumulator(FF); + void compute_sorted_list_accumulator(FF) + requires IsUltraFlavor; - void add_plookup_memory_records_to_wire_4(FF); + void add_plookup_memory_records_to_wire_4(FF) + requires IsUltraFlavor; }; extern template class ProverInstance_; extern template class ProverInstance_; extern template class ProverInstance_; +extern template class ProverInstance_; +extern template class ProverInstance_; using ProverInstance = ProverInstance_; diff --git a/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp b/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp index e647022be3e..7adb643d441 100644 --- a/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/instance/verifier_instance.hpp @@ -2,7 +2,7 @@ #include "barretenberg/proof_system/flavor/flavor.hpp" #include "barretenberg/proof_system/relations/relation_parameters.hpp" namespace proof_system::honk { -template class VerifierInstance_ { +template class VerifierInstance_ { public: using FF = typename Flavor::FF; using VerificationKey = typename Flavor::VerificationKey; diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp index 95e5032bd8b..08c17ce50a8 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/folding_result.hpp @@ -1,7 +1,7 @@ #pragma once #include "barretenberg/proof_system/flavor/flavor.hpp" namespace proof_system::honk { -template struct ProverFoldingResult { +template struct ProverFoldingResult { public: using ProverPolynomials = typename Flavor::ProverPolynomials; using FoldingParameters = typename Flavor::FoldingParameters; @@ -10,7 +10,7 @@ template struct ProverFoldingResult { FoldingParameters params; }; -template struct VerifierFoldingResult { +template struct VerifierFoldingResult { using FF = typename Flavor::FF; using VerificationKey = typename Flavor::VerificationKey; using FoldingParameters = typename Flavor::FoldingParameters; @@ -24,7 +24,7 @@ template struct VerifierFoldingResult { * * @tparam Flavor */ -template struct FoldingResult { +template struct FoldingResult { using FF = typename Flavor::FF; using ProverPolynomials = typename Flavor::ProverPolynomials; using VerificationKey = typename Flavor::VerificationKey; diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp index ff7e29346db..8df098e009f 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.cpp @@ -15,50 +15,12 @@ namespace proof_system::honk { * @tparam settings Settings class. * */ template -StandardProver_::StandardProver_(const std::shared_ptr input_key, - const std::shared_ptr commitment_key) - : key(input_key) - , queue(commitment_key, transcript) - , pcs_commitment_key(commitment_key) +StandardProver_::StandardProver_(std::shared_ptr inst) + : queue(inst->commitment_key, transcript) + , instance(std::move(inst)) + , pcs_commitment_key(instance->commitment_key) { - prover_polynomials.q_c = key->q_c; - prover_polynomials.q_l = key->q_l; - prover_polynomials.q_r = key->q_r; - prover_polynomials.q_o = key->q_o; - prover_polynomials.q_m = key->q_m; - prover_polynomials.sigma_1 = key->sigma_1; - prover_polynomials.sigma_2 = key->sigma_2; - prover_polynomials.sigma_3 = key->sigma_3; - prover_polynomials.id_1 = key->id_1; - prover_polynomials.id_2 = key->id_2; - prover_polynomials.id_3 = key->id_3; - prover_polynomials.lagrange_first = key->lagrange_first; - prover_polynomials.lagrange_last = key->lagrange_last; - prover_polynomials.w_l = key->w_l; - prover_polynomials.w_r = key->w_r; - prover_polynomials.w_o = key->w_o; - - // Add public inputs to transcript from the second wire polynomial - std::span public_wires_source = prover_polynomials.w_r; - - for (size_t i = 0; i < key->num_public_inputs; ++i) { - public_inputs.emplace_back(public_wires_source[i]); - } -} - -/** - * - Add commitment to wires 1,2,3 to work queue - * - Add PI to transcript (I guess PI will stay in w_2 for now?) - * - * */ -template void StandardProver_::compute_wire_commitments() -{ - size_t wire_idx = 0; // TODO(#391) zip - auto wire_polys = key->get_wires(); - for (auto& label : commitment_labels.get_wires()) { - queue.add_commitment(wire_polys[wire_idx], label); - ++wire_idx; - } + instance->initialise_prover_polynomials(); } /** @@ -67,24 +29,31 @@ template void StandardProver_::compute_wire_comm * */ template void StandardProver_::execute_preamble_round() { - const auto circuit_size = static_cast(key->circuit_size); - const auto num_public_inputs = static_cast(key->num_public_inputs); + const auto circuit_size = static_cast(instance->proving_key->circuit_size); + const auto num_public_inputs = static_cast(instance->proving_key->num_public_inputs); transcript.send_to_verifier("circuit_size", circuit_size); transcript.send_to_verifier("public_input_size", num_public_inputs); - for (size_t i = 0; i < key->num_public_inputs; ++i) { - auto public_input_i = public_inputs[i]; + for (size_t i = 0; i < instance->proving_key->num_public_inputs; ++i) { + auto public_input_i = instance->public_inputs[i]; transcript.send_to_verifier("public_input_" + std::to_string(i), public_input_i); } } /** - * - compute wire commitments + * - Add commitment to wires 1,2,3 to work queue + * - Add PI to transcript (I guess PI will stay in w_2 for now?) + * * */ template void StandardProver_::execute_wire_commitments_round() { - compute_wire_commitments(); + size_t wire_idx = 0; // TODO(#391) zip + auto wire_polys = instance->proving_key->get_wires(); + for (auto& label : commitment_labels.get_wires()) { + queue.add_commitment(wire_polys[wire_idx], label); + ++wire_idx; + } } /** @@ -104,17 +73,9 @@ template void StandardProver_::execute_grand_pro // Compute and store parameters required by relations in Sumcheck auto [beta, gamma] = transcript.get_challenges("beta", "gamma"); - auto public_input_delta = compute_public_input_delta(public_inputs, beta, gamma, key->circuit_size); - - relation_parameters = proof_system::RelationParameters{ - .beta = beta, - .gamma = gamma, - .public_input_delta = public_input_delta, - }; - - grand_product_library::compute_grand_products(key, prover_polynomials, relation_parameters); + instance->compute_grand_product_polynomials(beta, gamma); - queue.add_commitment(key->z_perm, commitment_labels.z_perm); + queue.add_commitment(instance->proving_key->z_perm, commitment_labels.z_perm); } /** @@ -126,9 +87,9 @@ template void StandardProver_::execute_relation_ { using Sumcheck = sumcheck::SumcheckProver; - auto sumcheck = Sumcheck(key->circuit_size, transcript); + auto sumcheck = Sumcheck(instance->proving_key->circuit_size, transcript); - sumcheck_output = sumcheck.prove(prover_polynomials, relation_parameters); + sumcheck_output = sumcheck.prove(instance->prover_polynomials, instance->relation_parameters); } /** @@ -143,6 +104,8 @@ template void StandardProver_::execute_univariat // Generate batching challenge ρ and powers 1,ρ,…,ρᵐ⁻¹ FF rho = transcript.get_challenge("rho"); std::vector rhos = pcs::gemini::powers_of_rho(rho, NUM_POLYNOMIALS); + auto key = instance->proving_key; + auto prover_polynomials = instance->prover_polynomials; // Batch the unshifted polynomials and the to-be-shifted polynomials using ρ Polynomial batched_poly_unshifted(key->circuit_size); // batched unshifted polynomials @@ -180,7 +143,7 @@ template void StandardProver_::execute_pcs_evalu gemini_output = Gemini::compute_fold_polynomial_evaluations( sumcheck_output.challenge_point, std::move(gemini_polynomials), r_challenge); - for (size_t l = 0; l < key->log_circuit_size; ++l) { + for (size_t l = 0; l < instance->proving_key->log_circuit_size; ++l) { std::string label = "Gemini:a_" + std::to_string(l); const auto& evaluation = gemini_output.opening_pairs[l + 1].evaluation; transcript.send_to_verifier(label, evaluation); diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp index 74366107894..a88e8db8b7b 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/prover.hpp @@ -1,6 +1,7 @@ #pragma once #include "barretenberg/honk/flavor/standard.hpp" #include "barretenberg/honk/flavor/standard_grumpkin.hpp" +#include "barretenberg/honk/instance/prover_instance.hpp" #include "barretenberg/honk/pcs/gemini/gemini.hpp" #include "barretenberg/honk/pcs/shplonk/shplonk.hpp" #include "barretenberg/honk/proof_system/work_queue.hpp" @@ -23,10 +24,10 @@ template class StandardProver_ { using CommitmentKey = typename Flavor::CommitmentKey; using PCS = typename Flavor::PCS; using Curve = typename Flavor::Curve; + using Instance = ProverInstance_; public: - explicit StandardProver_(std::shared_ptr input_key, std::shared_ptr commitment_key); - + explicit StandardProver_(std::shared_ptr); void execute_preamble_round(); void execute_wire_commitments_round(); void execute_tables_round(); @@ -50,13 +51,6 @@ template class StandardProver_ { std::vector public_inputs; - proof_system::RelationParameters relation_parameters; - - std::shared_ptr key; - - // Container for spans of all polynomials required by the prover (i.e. all multivariates evaluated by Sumcheck). - ProverPolynomials prover_polynomials; - CommitmentLabels commitment_labels; // Container for d + 1 Fold polynomials produced by Gemini @@ -69,6 +63,8 @@ template class StandardProver_ { work_queue queue; + std::shared_ptr instance; + sumcheck::SumcheckOutput sumcheck_output; pcs::gemini::ProverOutput gemini_output; pcs::shplonk::ProverOutput shplonk_output; diff --git a/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp b/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp index 7a38c9df1ea..73a0f5ebe61 100644 --- a/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/sumcheck/relation_correctness.test.cpp @@ -221,7 +221,6 @@ TEST_F(RelationCorrectnessTests, StandardRelationCorrectness) { using Flavor = flavor::Standard; using FF = typename Flavor::FF; - using ProverPolynomials = typename Flavor::ProverPolynomials; // Create a composer and a dummy circuit with a few gates auto builder = proof_system::StandardCircuitBuilder(); @@ -230,52 +229,22 @@ TEST_F(RelationCorrectnessTests, StandardRelationCorrectness) // Create a prover (it will compute proving key and witness) auto composer = StandardComposer(); - auto prover = composer.create_prover(builder); - auto circuit_size = prover.key->circuit_size; + auto instance = composer.create_instance(builder); + auto proving_key = instance->proving_key; + auto circuit_size = proving_key->circuit_size; // Generate beta and gamma FF beta = FF::random_element(); FF gamma = FF::random_element(); - // Compute public input delta - const auto public_inputs = builder.get_public_inputs(); - auto public_input_delta = compute_public_input_delta(public_inputs, beta, gamma, prover.key->circuit_size); - - proof_system::RelationParameters params{ - .beta = beta, - .gamma = gamma, - .public_input_delta = public_input_delta, - }; - - // Create an array of spans to the underlying polynomials to more easily - // get the transposition. - // Ex: polynomial_spans[3][i] returns the i-th coefficient of the third polynomial - // in the list below - ProverPolynomials prover_polynomials; - - prover_polynomials.w_l = prover.key->w_l; - prover_polynomials.w_r = prover.key->w_r; - prover_polynomials.w_o = prover.key->w_o; - prover_polynomials.q_m = prover.key->q_m; - prover_polynomials.q_l = prover.key->q_l; - prover_polynomials.q_r = prover.key->q_r; - prover_polynomials.q_o = prover.key->q_o; - prover_polynomials.q_c = prover.key->q_c; - prover_polynomials.sigma_1 = prover.key->sigma_1; - prover_polynomials.sigma_2 = prover.key->sigma_2; - prover_polynomials.sigma_3 = prover.key->sigma_3; - prover_polynomials.id_1 = prover.key->id_1; - prover_polynomials.id_2 = prover.key->id_2; - prover_polynomials.id_3 = prover.key->id_3; - prover_polynomials.lagrange_first = prover.key->lagrange_first; - prover_polynomials.lagrange_last = prover.key->lagrange_last; - - // Compute grand product polynomial - grand_product_library::compute_grand_products(prover.key, prover_polynomials, params); + instance->initialise_prover_polynomials(); + instance->compute_grand_product_polynomials(beta, gamma); // Construct the round for applying sumcheck relations and results for storing computed results auto relations = std::tuple(proof_system::ArithmeticRelation(), proof_system::PermutationRelation()); + auto prover_polynomials = instance->prover_polynomials; + auto params = instance->relation_parameters; // Check that each relation is satisfied across each row of the prover polynomials check_relation(std::get<0>(relations), circuit_size, prover_polynomials, params); check_relation(std::get<1>(relations), circuit_size, prover_polynomials, params); diff --git a/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp b/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp index b4d51ef2a3f..37dfbf90771 100644 --- a/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/sumcheck/sumcheck.test.cpp @@ -406,8 +406,6 @@ TEST_F(SumcheckTests, ProverAndVerifierLonger) */ TEST_F(SumcheckTests, RealCircuitStandard) { - using ProverPolynomials = typename Flavor::ProverPolynomials; - // Create a composer and a dummy circuit with a few gates auto builder = proof_system::StandardCircuitBuilder(); FF a = FF::one(); @@ -425,56 +423,27 @@ TEST_F(SumcheckTests, RealCircuitStandard) } // Create a prover (it will compute proving key and witness) auto composer = StandardComposer(); - auto prover = composer.create_prover(builder); + auto instance = composer.create_instance(builder); // Generate beta and gamma FF beta = FF::random_element(); FF gamma = FF::random_element(); - // Compute public input delta - const auto public_inputs = builder.get_public_inputs(); - auto public_input_delta = - proof_system::honk::compute_public_input_delta(public_inputs, beta, gamma, prover.key->circuit_size); - - proof_system::RelationParameters relation_parameters{ - .beta = beta, - .gamma = gamma, - .public_input_delta = public_input_delta, - }; - - ProverPolynomials prover_polynomials; - - prover_polynomials.w_l = prover.key->w_l; - prover_polynomials.w_r = prover.key->w_r; - prover_polynomials.w_o = prover.key->w_o; - prover_polynomials.q_m = prover.key->q_m; - prover_polynomials.q_l = prover.key->q_l; - prover_polynomials.q_r = prover.key->q_r; - prover_polynomials.q_o = prover.key->q_o; - prover_polynomials.q_c = prover.key->q_c; - prover_polynomials.sigma_1 = prover.key->sigma_1; - prover_polynomials.sigma_2 = prover.key->sigma_2; - prover_polynomials.sigma_3 = prover.key->sigma_3; - prover_polynomials.id_1 = prover.key->id_1; - prover_polynomials.id_2 = prover.key->id_2; - prover_polynomials.id_3 = prover.key->id_3; - prover_polynomials.lagrange_first = prover.key->lagrange_first; - prover_polynomials.lagrange_last = prover.key->lagrange_last; - - // Compute grand product polynomial - grand_product_library::compute_grand_products(prover.key, prover_polynomials, relation_parameters); + instance->initialise_prover_polynomials(); + instance->compute_grand_product_polynomials(beta, gamma); auto prover_transcript = ProverTranscript::init_empty(); + auto circuit_size = instance->proving_key->circuit_size; - auto sumcheck_prover = SumcheckProver(prover.key->circuit_size, prover_transcript); + auto sumcheck_prover = SumcheckProver(circuit_size, prover_transcript); - auto prover_output = sumcheck_prover.prove(prover_polynomials, relation_parameters); + auto prover_output = sumcheck_prover.prove(instance->prover_polynomials, instance->relation_parameters); auto verifier_transcript = VerifierTranscript::init_empty(prover_transcript); - auto sumcheck_verifier = SumcheckVerifier(prover.key->circuit_size); + auto sumcheck_verifier = SumcheckVerifier(circuit_size); - std::optional verifier_output = sumcheck_verifier.verify(relation_parameters, verifier_transcript); + std::optional verifier_output = sumcheck_verifier.verify(instance->relation_parameters, verifier_transcript); ASSERT_TRUE(verifier_output.has_value()); } diff --git a/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp b/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp index ff6954177e0..7981a048503 100644 --- a/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/transcript/transcript.test.cpp @@ -138,11 +138,12 @@ TYPED_TEST(TranscriptTests, ProverManifestConsistency) // Automatically generate a transcript manifest by constructing a proof auto composer = StandardComposer_(); - auto prover = composer.create_prover(builder); + auto instance = composer.create_instance(builder); + auto prover = composer.create_prover(instance); auto proof = prover.construct_proof(); // Check that the prover generated manifest agrees with the manifest hard coded in this suite - auto manifest_expected = TestFixture::construct_standard_honk_manifest(prover.key->circuit_size); + auto manifest_expected = TestFixture::construct_standard_honk_manifest(instance->proving_key->circuit_size); auto prover_manifest = prover.transcript.get_manifest(); // Note: a manifest can be printed using manifest.print() for (size_t round = 0; round < manifest_expected.size(); ++round) { @@ -166,11 +167,12 @@ TYPED_TEST(TranscriptTests, VerifierManifestConsistency) // Automatically generate a transcript manifest in the prover by constructing a proof auto composer = StandardComposer_(); - auto prover = composer.create_prover(builder); + auto instance = composer.create_instance(builder); + auto prover = composer.create_prover(instance); auto proof = prover.construct_proof(); // Automatically generate a transcript manifest in the verifier by verifying a proof - auto verifier = composer.create_verifier(builder); + auto verifier = composer.create_verifier(instance); verifier.verify_proof(proof); prover.transcript.print(); verifier.transcript.print(); From ce7d33c2a1ab128863896e3cb05a3da734bd5bc8 Mon Sep 17 00:00:00 2001 From: maramihali Date: Fri, 15 Sep 2023 10:41:57 +0000 Subject: [PATCH 28/28] continue work for standard honk with instances --- .../honk/composer/standard_composer.hpp | 4 - .../honk/composer/standard_composer.test.cpp | 14 +- .../honk/instance/prover_instance.cpp | 324 ++++++++++-------- .../honk/instance/prover_instance.hpp | 13 +- .../honk/proof_system/protogalaxy_prover.cpp | 6 +- .../honk/proof_system/protogalaxy_prover.hpp | 2 +- .../proof_system/protogalaxy_verifier.cpp | 4 +- .../proof_system/protogalaxy_verifier.hpp | 2 +- .../proof_system/composer/permutation_lib.hpp | 50 +-- 9 files changed, 230 insertions(+), 189 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.hpp b/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.hpp index c25b8beaf7d..6763a4a29d1 100644 --- a/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.hpp @@ -70,10 +70,6 @@ template class StandardComposer_ { std::shared_ptr compute_commitment_key(size_t circuit_size) { - if (commitment_key) { - return commitment_key; - } - commitment_key = std::make_shared(circuit_size, crs_factory_); return commitment_key; }; diff --git a/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp b/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp index 39d1d533eb2..79835459c86 100644 --- a/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/composer/standard_composer.test.cpp @@ -36,7 +36,7 @@ template class StandardHonkComposerTests : public ::testing::T }; }; -using FlavorTypes = ::testing::Types; +using FlavorTypes = ::testing::Types; TYPED_TEST_SUITE(StandardHonkComposerTests, FlavorTypes); /** @@ -369,6 +369,9 @@ TYPED_TEST(StandardHonkComposerTests, TwoGates) { TYPE_ALIASES auto run_test = [](bool expect_verified) { + if constexpr (proof_system::IsGrumpkinFlavor) { + barretenberg::srs::init_grumpkin_crs_factory("../srs_db/grumpkin"); + } auto builder = CircuitBuilder(); // 1 + 1 - 2 = 0 uint32_t w_l_1_idx; @@ -406,6 +409,11 @@ TYPED_TEST(StandardHonkComposerTests, SumcheckEvaluations) { TYPE_ALIASES auto run_test = [](bool expected_result) { + if constexpr (proof_system::IsGrumpkinFlavor) { + barretenberg::srs::init_grumpkin_crs_factory("../srs_db/grumpkin"); + } else { + barretenberg::srs::init_crs_factory("../srs_db/ignition"); + } auto builder = CircuitBuilder(); FF a = FF::one(); // Construct a small but non-trivial circuit @@ -421,7 +429,7 @@ TYPED_TEST(StandardHonkComposerTests, SumcheckEvaluations) uint32_t b_idx = builder.add_variable(b); uint32_t c_idx = builder.add_variable(c); uint32_t d_idx = builder.add_variable(d); - for (size_t i = 0; i < 16; i++) { + for (size_t i = 0; i < 4; i++) { builder.create_add_gate({ a_idx, b_idx, c_idx, FF::one(), FF::one(), FF::neg_one(), FF::zero() }); builder.create_add_gate({ d_idx, c_idx, a_idx, FF::one(), FF::neg_one(), FF::neg_one(), FF::zero() }); } @@ -435,6 +443,6 @@ TYPED_TEST(StandardHonkComposerTests, SumcheckEvaluations) ASSERT_EQ(verified, expected_result); }; run_test(/*expected_result=*/true); - run_test(/*expected_result=*/false); + // run_test(/*expected_result=*/false); } } // namespace test_standard_honk_composer diff --git a/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.cpp b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.cpp index b3e5117f632..eb07aecb8a8 100644 --- a/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.cpp @@ -10,7 +10,9 @@ namespace proof_system::honk { * @tparam Flavor * @param circuit */ -template void ProverInstance_::compute_circuit_size_parameters(Circuit& circuit) +template +void ProverInstance_::compute_circuit_size_parameters(Circuit& circuit) + requires IsUltraFlavor { // Compute total length of the tables and the number of lookup gates; their sum is the minimum circuit size for (const auto& table : circuit.lookup_tables) { @@ -53,95 +55,100 @@ template void ProverInstance_::compute_witness(Circuit& c proving_key->w_l = wire_polynomials[0]; proving_key->w_r = wire_polynomials[1]; proving_key->w_o = wire_polynomials[2]; - proving_key->w_4 = wire_polynomials[3]; - // If Goblin, construct the ECC op queue wire polynomials - if constexpr (IsGoblinFlavor) { - construct_ecc_op_wire_polynomials(wire_polynomials); - } + if constexpr (IsUltraFlavor) { + proving_key->w_4 = wire_polynomials[3]; - // Construct the sorted concatenated list polynomials for the lookup argument - polynomial s_1(dyadic_circuit_size); - polynomial s_2(dyadic_circuit_size); - polynomial s_3(dyadic_circuit_size); - polynomial s_4(dyadic_circuit_size); - - // The sorted list polynomials have (tables_size + lookups_size) populated entries. We define the index below so - // that these entries are written into the last indices of the polynomials. The values on the first - // dyadic_circuit_size - (tables_size + lookups_size) indices are automatically initialized to zero via the - // polynomial constructor. - size_t s_index = dyadic_circuit_size - tables_size - lookups_size; - ASSERT(s_index > 0); // We need at least 1 row of zeroes for the permutation argument - - for (auto& table : circuit.lookup_tables) { - const fr table_index(table.table_index); - auto& lookup_gates = table.lookup_gates; - for (size_t i = 0; i < table.size; ++i) { - if (table.use_twin_keys) { - lookup_gates.push_back({ - { - table.column_1[i].from_montgomery_form().data[0], - table.column_2[i].from_montgomery_form().data[0], - }, - { - table.column_3[i], - 0, - }, - }); - } else { - lookup_gates.push_back({ - { - table.column_1[i].from_montgomery_form().data[0], - 0, - }, - { - table.column_2[i], - table.column_3[i], - }, - }); - } + // If Goblin, construct the ECC op queue wire polynomials + if constexpr (IsGoblinFlavor) { + construct_ecc_op_wire_polynomials(wire_polynomials); } + // Construct the sorted concatenated list polynomials for the lookup argument + polynomial s_1(dyadic_circuit_size); + polynomial s_2(dyadic_circuit_size); + polynomial s_3(dyadic_circuit_size); + polynomial s_4(dyadic_circuit_size); + + // The sorted list polynomials have (tables_size + lookups_size) populated entries. We define the index below so + // that these entries are written into the last indices of the polynomials. The values on the first + // dyadic_circuit_size - (tables_size + lookups_size) indices are automatically initialized to zero via the + // polynomial constructor. + size_t s_index = dyadic_circuit_size - tables_size - lookups_size; + ASSERT(s_index > 0); // We need at least 1 row of zeroes for the permutation argument + + for (auto& table : circuit.lookup_tables) { + const fr table_index(table.table_index); + auto& lookup_gates = table.lookup_gates; + for (size_t i = 0; i < table.size; ++i) { + if (table.use_twin_keys) { + lookup_gates.push_back({ + { + table.column_1[i].from_montgomery_form().data[0], + table.column_2[i].from_montgomery_form().data[0], + }, + { + table.column_3[i], + 0, + }, + }); + } else { + lookup_gates.push_back({ + { + table.column_1[i].from_montgomery_form().data[0], + 0, + }, + { + table.column_2[i], + table.column_3[i], + }, + }); + } + } + #ifdef NO_TBB - std::sort(lookup_gates.begin(), lookup_gates.end()); + std::sort(lookup_gates.begin(), lookup_gates.end()); #else - std::sort(std::execution::par_unseq, lookup_gates.begin(), lookup_gates.end()); + std::sort(std::execution::par_unseq, lookup_gates.begin(), lookup_gates.end()); #endif - for (const auto& entry : lookup_gates) { - const auto components = entry.to_sorted_list_components(table.use_twin_keys); - s_1[s_index] = components[0]; - s_2[s_index] = components[1]; - s_3[s_index] = components[2]; - s_4[s_index] = table_index; - ++s_index; + for (const auto& entry : lookup_gates) { + const auto components = entry.to_sorted_list_components(table.use_twin_keys); + s_1[s_index] = components[0]; + s_2[s_index] = components[1]; + s_3[s_index] = components[2]; + s_4[s_index] = table_index; + ++s_index; + } } - } - // Polynomial memory is zeroed out when constructed with size hint, so we don't have to initialize trailing space - proving_key->sorted_1 = s_1; - proving_key->sorted_2 = s_2; - proving_key->sorted_3 = s_3; - proving_key->sorted_4 = s_4; - - // Copy memory read/write record data into proving key. Prover needs to know which gates contain a read/write - // 'record' witness on the 4th wire. This wire value can only be fully computed once the first 3 wire polynomials - // have been committed to. The 4th wire on these gates will be a random linear combination of the first 3 wires, - // using the plookup challenge `eta`. We need to update the records with an offset Because we shift the gates to - // account for everything that comes before them in the execution trace, e.g. public inputs, a zero row, etc. - size_t offset = num_ecc_op_gates + num_public_inputs + num_zero_rows; - auto add_public_inputs_offset = [offset](uint32_t gate_index) { return gate_index + offset; }; - proving_key->memory_read_records = std::vector(); - proving_key->memory_write_records = std::vector(); - - std::transform(circuit.memory_read_records.begin(), - circuit.memory_read_records.end(), - std::back_inserter(proving_key->memory_read_records), - add_public_inputs_offset); - std::transform(circuit.memory_write_records.begin(), - circuit.memory_write_records.end(), - std::back_inserter(proving_key->memory_write_records), - add_public_inputs_offset); + // Polynomial memory is zeroed out when constructed with size hint, so we don't have to initialize trailing + // space + proving_key->sorted_1 = s_1; + proving_key->sorted_2 = s_2; + proving_key->sorted_3 = s_3; + proving_key->sorted_4 = s_4; + + // Copy memory read/write record data into proving key. Prover needs to know which gates contain a read/write + // 'record' witness on the 4th wire. This wire value can only be fully computed once the first 3 wire + // polynomials have been committed to. The 4th wire on these gates will be a random linear combination of the + // first 3 wires, using the plookup challenge `eta`. We need to update the records with an offset Because we + // shift the gates to account for everything that comes before them in the execution trace, e.g. public inputs, + // a zero row, etc. + size_t offset = num_ecc_op_gates + num_public_inputs + num_zero_rows; + auto add_public_inputs_offset = [offset](uint32_t gate_index) { return gate_index + offset; }; + proving_key->memory_read_records = std::vector(); + proving_key->memory_write_records = std::vector(); + + std::transform(circuit.memory_read_records.begin(), + circuit.memory_read_records.end(), + std::back_inserter(proving_key->memory_read_records), + add_public_inputs_offset); + std::transform(circuit.memory_write_records.begin(), + circuit.memory_write_records.end(), + std::back_inserter(proving_key->memory_write_records), + add_public_inputs_offset); + } computed_witness = true; } @@ -156,7 +163,7 @@ template void ProverInstance_::compute_witness(Circuit& c */ template void ProverInstance_::construct_ecc_op_wire_polynomials(auto& wire_polynomials) - requires IsUltraFlavor; + requires IsUltraFlavor { std::array op_wire_polynomials; for (auto& poly : op_wire_polynomials) { @@ -189,60 +196,73 @@ std::shared_ptr ProverInstance_::compute_pr proving_key = std::make_shared(dyadic_circuit_size, num_public_inputs); - construct_selector_polynomials(circuit, proving_key.get()); + if constexpr (IsUltraFlavor) { - compute_honk_generalized_sigma_permutations(circuit, proving_key.get()); + construct_selector_polynomials(circuit, proving_key.get()); - compute_first_and_last_lagrange_polynomials(proving_key.get()); + compute_honk_generalized_sigma_permutations(circuit, proving_key.get()); - polynomial poly_q_table_column_1(dyadic_circuit_size); - polynomial poly_q_table_column_2(dyadic_circuit_size); - polynomial poly_q_table_column_3(dyadic_circuit_size); - polynomial poly_q_table_column_4(dyadic_circuit_size); + compute_first_and_last_lagrange_polynomials(proving_key.get()); - size_t offset = dyadic_circuit_size - tables_size; + polynomial poly_q_table_column_1(dyadic_circuit_size); + polynomial poly_q_table_column_2(dyadic_circuit_size); + polynomial poly_q_table_column_3(dyadic_circuit_size); + polynomial poly_q_table_column_4(dyadic_circuit_size); - // Create lookup selector polynomials which interpolate each table column. - // Our selector polys always need to interpolate the full subgroup size, so here we offset so as to - // put the table column's values at the end. (The first gates are for non-lookup constraints). - // [0, ..., 0, ...table, 0, 0, 0, x] - // ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^nonzero to ensure uniqueness and to avoid infinity commitments - // | table randomness - // ignored, as used for regular constraints and padding to the next power of 2. + size_t offset = dyadic_circuit_size - tables_size; - for (size_t i = 0; i < offset; ++i) { - poly_q_table_column_1[i] = 0; - poly_q_table_column_2[i] = 0; - poly_q_table_column_3[i] = 0; - poly_q_table_column_4[i] = 0; - } + // Create lookup selector polynomials which interpolate each table column. + // Our selector polys always need to interpolate the full subgroup size, so here we offset so as to + // put the table column's values at the end. (The first gates are for non-lookup constraints). + // [0, ..., 0, ...table, 0, 0, 0, x] + // ^^^^^^^^^ ^^^^^^^^ ^^^^^^^ ^nonzero to ensure uniqueness and to avoid infinity commitments + // | table randomness + // ignored, as used for regular constraints and padding to the next power of 2. - for (const auto& table : circuit.lookup_tables) { - const fr table_index(table.table_index); - - for (size_t i = 0; i < table.size; ++i) { - poly_q_table_column_1[offset] = table.column_1[i]; - poly_q_table_column_2[offset] = table.column_2[i]; - poly_q_table_column_3[offset] = table.column_3[i]; - poly_q_table_column_4[offset] = table_index; - ++offset; + for (size_t i = 0; i < offset; ++i) { + poly_q_table_column_1[i] = 0; + poly_q_table_column_2[i] = 0; + poly_q_table_column_3[i] = 0; + poly_q_table_column_4[i] = 0; + } + + for (const auto& table : circuit.lookup_tables) { + const fr table_index(table.table_index); + + for (size_t i = 0; i < table.size; ++i) { + poly_q_table_column_1[offset] = table.column_1[i]; + poly_q_table_column_2[offset] = table.column_2[i]; + poly_q_table_column_3[offset] = table.column_3[i]; + poly_q_table_column_4[offset] = table_index; + ++offset; + } } - } - // Polynomial memory is zeroed out when constructed with size hint, so we don't have to initialize trailing space + // Polynomial memory is zeroed out when constructed with size hint, so we don't have to initialize trailing + // space - proving_key->table_1 = poly_q_table_column_1; - proving_key->table_2 = poly_q_table_column_2; - proving_key->table_3 = poly_q_table_column_3; - proving_key->table_4 = poly_q_table_column_4; + proving_key->table_1 = poly_q_table_column_1; + proving_key->table_2 = poly_q_table_column_2; + proving_key->table_3 = poly_q_table_column_3; + proving_key->table_4 = poly_q_table_column_4; - proving_key->recursive_proof_public_input_indices = - std::vector(recursive_proof_public_input_indices.begin(), recursive_proof_public_input_indices.end()); + proving_key->recursive_proof_public_input_indices = std::vector( + recursive_proof_public_input_indices.begin(), recursive_proof_public_input_indices.end()); - proving_key->contains_recursive_proof = contains_recursive_proof; + proving_key->contains_recursive_proof = contains_recursive_proof; - if constexpr (IsGoblinFlavor) { - proving_key->num_ecc_op_gates = num_ecc_op_gates; + if constexpr (IsGoblinFlavor) { + proving_key->num_ecc_op_gates = num_ecc_op_gates; + } + } else { + // Compute lagrange selectors + construct_selector_polynomials(circuit, proving_key.get()); + + // Compute sigma polynomials (we should update that late) + compute_standard_honk_sigma_permutations(circuit, proving_key.get()); + compute_standard_honk_id_polynomials(proving_key.get()); + + compute_first_and_last_lagrange_polynomials(proving_key.get()); } return proving_key; @@ -314,7 +334,9 @@ template void ProverInstance_::initialise_prover_polynomi } } -template void ProverInstance_::compute_sorted_accumulator_polynomials(FF eta) +template +void ProverInstance_::compute_sorted_accumulator_polynomials(FF eta) + requires IsUltraFlavor { relation_parameters.eta = eta; // Compute sorted witness-table accumulator @@ -339,7 +361,9 @@ template void ProverInstance_::compute_sorted_accumulator * @param eta random challenge * @return Polynomial */ -template void ProverInstance_::compute_sorted_list_accumulator(FF eta) +template +void ProverInstance_::compute_sorted_list_accumulator(FF eta) + requires IsUltraFlavor { const size_t circuit_size = proving_key->circuit_size; @@ -370,7 +394,9 @@ template void ProverInstance_::compute_sorted_list_accumu * @tparam Flavor * @param eta challenge produced after commitment to first three wire polynomials */ -template void ProverInstance_::add_plookup_memory_records_to_wire_4(FF eta) +template +void ProverInstance_::add_plookup_memory_records_to_wire_4(FF eta) + requires IsUltraFlavor { // The plookup memory record values are computed at the indicated indices as // w4 = w3 * eta^3 + w2 * eta^2 + w1 * eta + read_write_flag; @@ -437,41 +463,43 @@ std::shared_ptr ProverInstance_::compu verification_key->q_l = commitment_key->commit(proving_key->q_l); verification_key->q_r = commitment_key->commit(proving_key->q_r); verification_key->q_o = commitment_key->commit(proving_key->q_o); - verification_key->q_4 = commitment_key->commit(proving_key->q_4); verification_key->q_c = commitment_key->commit(proving_key->q_c); - verification_key->q_arith = commitment_key->commit(proving_key->q_arith); - verification_key->q_sort = commitment_key->commit(proving_key->q_sort); - verification_key->q_elliptic = commitment_key->commit(proving_key->q_elliptic); - verification_key->q_aux = commitment_key->commit(proving_key->q_aux); - verification_key->q_lookup = commitment_key->commit(proving_key->q_lookup); verification_key->sigma_1 = commitment_key->commit(proving_key->sigma_1); verification_key->sigma_2 = commitment_key->commit(proving_key->sigma_2); verification_key->sigma_3 = commitment_key->commit(proving_key->sigma_3); - verification_key->sigma_4 = commitment_key->commit(proving_key->sigma_4); verification_key->id_1 = commitment_key->commit(proving_key->id_1); verification_key->id_2 = commitment_key->commit(proving_key->id_2); verification_key->id_3 = commitment_key->commit(proving_key->id_3); - verification_key->id_4 = commitment_key->commit(proving_key->id_4); - verification_key->table_1 = commitment_key->commit(proving_key->table_1); - verification_key->table_2 = commitment_key->commit(proving_key->table_2); - verification_key->table_3 = commitment_key->commit(proving_key->table_3); - verification_key->table_4 = commitment_key->commit(proving_key->table_4); verification_key->lagrange_first = commitment_key->commit(proving_key->lagrange_first); verification_key->lagrange_last = commitment_key->commit(proving_key->lagrange_last); - // TODO(luke): Similar to the lagrange_first/last polynomials, we dont really need to commit to this polynomial due - // to its simple structure. Handling it in the same way as the lagrange polys for now for simplicity. - if constexpr (IsGoblinFlavor) { - verification_key->lagrange_ecc_op = commitment_key->commit(proving_key->lagrange_ecc_op); - } - - // // See `add_recusrive_proof()` for how this recursive data is assigned. - // verification_key->recursive_proof_public_input_indices = - // std::vector(recursive_proof_public_input_indices.begin(), - // recursive_proof_public_input_indices.end()); + if constexpr (IsUltraFlavor) { + verification_key->q_4 = commitment_key->commit(proving_key->q_4); + verification_key->q_arith = commitment_key->commit(proving_key->q_arith); + verification_key->q_sort = commitment_key->commit(proving_key->q_sort); + verification_key->q_elliptic = commitment_key->commit(proving_key->q_elliptic); + verification_key->q_aux = commitment_key->commit(proving_key->q_aux); + verification_key->q_lookup = commitment_key->commit(proving_key->q_lookup); + verification_key->sigma_4 = commitment_key->commit(proving_key->sigma_4); + verification_key->id_4 = commitment_key->commit(proving_key->id_4); + verification_key->table_1 = commitment_key->commit(proving_key->table_1); + verification_key->table_2 = commitment_key->commit(proving_key->table_2); + verification_key->table_3 = commitment_key->commit(proving_key->table_3); + verification_key->table_4 = commitment_key->commit(proving_key->table_4); + + // TODO(luke): Similar to the lagrange_first/last polynomials, we dont really need to commit to this polynomial + // due to its simple structure. Handling it in the same way as the lagrange polys for now for simplicity. + if constexpr (IsGoblinFlavor) { + verification_key->lagrange_ecc_op = commitment_key->commit(proving_key->lagrange_ecc_op); + } - // verification_key->contains_recursive_proof = contains_recursive_proof; + // // See `add_recusrive_proof()` for how this recursive data is assigned. + // verification_key->recursive_proof_public_input_indices = + // std::vector(recursive_proof_public_input_indices.begin(), + // recursive_proof_public_input_indices.end()); + // verification_key->contains_recursive_proof = contains_recursive_proof; + } return verification_key; } diff --git a/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.hpp b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.hpp index 65adacf4f39..339d9b0cbff 100644 --- a/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/instance/prover_instance.hpp @@ -1,5 +1,7 @@ #pragma once #include "barretenberg/honk/flavor/goblin_ultra.hpp" +#include "barretenberg/honk/flavor/standard.hpp" +#include "barretenberg/honk/flavor/standard_grumpkin.hpp" #include "barretenberg/honk/flavor/ultra.hpp" #include "barretenberg/honk/flavor/ultra_grumpkin.hpp" #include "barretenberg/honk/proof_system/folding_result.hpp" @@ -60,7 +62,13 @@ template class ProverInstance_ { ProverInstance_(Circuit& circuit) { - compute_circuit_size_parameters(circuit); + if constexpr (IsUltraFlavor) { + compute_circuit_size_parameters(circuit); + } else { + num_public_inputs = circuit.public_inputs.size(); + total_num_gates = circuit.num_gates + num_public_inputs; + dyadic_circuit_size = circuit.get_circuit_subgroup_size(total_num_gates); + } compute_proving_key(circuit); compute_witness(circuit); } @@ -84,7 +92,8 @@ template class ProverInstance_ { std::shared_ptr compute_proving_key(Circuit&); - void compute_circuit_size_parameters(Circuit&); + void compute_circuit_size_parameters(Circuit&) + requires IsUltraFlavor; void compute_witness(Circuit&); diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp index 1fdaa03d308..679071c8cb7 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.cpp @@ -1,7 +1,7 @@ #include "protogalaxy_prover.hpp" #include "barretenberg/proof_system/flavor/flavor.hpp" namespace proof_system::honk { -template +template ProtoGalaxyProver_::ProtoGalaxyProver_(std::vector> insts) : instances(insts) {} @@ -12,7 +12,7 @@ ProtoGalaxyProver_::ProtoGalaxyProver_(std::vector void ProtoGalaxyProver_::prepare_for_folding() +template void ProtoGalaxyProver_::prepare_for_folding() { for (const auto& instance : instances) { instance->initialise_prover_polynomials(); @@ -39,7 +39,7 @@ template void ProtoGalaxyProver_::prepare_for_foldi } // TODO(#689): implement this function -template ProverFoldingResult ProtoGalaxyProver_::fold_instances() +template ProverFoldingResult ProtoGalaxyProver_::fold_instances() { prepare_for_folding(); ProverFoldingResult res; diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp index eb557a74059..a2e2969c77b 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_prover.hpp @@ -6,7 +6,7 @@ #include "barretenberg/honk/proof_system/folding_result.hpp" #include "barretenberg/proof_system/flavor/flavor.hpp" namespace proof_system::honk { -template class ProtoGalaxyProver_ { +template class ProtoGalaxyProver_ { public: using FF = typename Flavor::FF; using Instance = ProverInstance_; diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp index 19e6a155b74..8ad3054595f 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.cpp @@ -1,7 +1,7 @@ #include "protogalaxy_verifier.hpp" #include "barretenberg/honk/utils/grand_product_delta.hpp" namespace proof_system::honk { -template +template ProtoGalaxyVerifier_::ProtoGalaxyVerifier_(std::vector> vks) { // TODO(https://github.com/AztecProtocol/barretenberg/issues/391): simplify code with C++23 features @@ -15,7 +15,7 @@ ProtoGalaxyVerifier_::ProtoGalaxyVerifier_(std::vector +template VerifierFoldingResult ProtoGalaxyVerifier_::fold_public_parameters(std::vector fold_data) { transcript = VerifierTranscript{ fold_data }; diff --git a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp index a5a0921b314..e556480af1c 100644 --- a/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp +++ b/barretenberg/cpp/src/barretenberg/honk/proof_system/protogalaxy_verifier.hpp @@ -8,7 +8,7 @@ #include "barretenberg/proof_system/flavor/flavor.hpp" namespace proof_system::honk { -template class ProtoGalaxyVerifier_ { +template class ProtoGalaxyVerifier_ { public: using FF = typename Flavor::FF; using VerificationKey = typename Flavor::VerificationKey; diff --git a/barretenberg/cpp/src/barretenberg/proof_system/composer/permutation_lib.hpp b/barretenberg/cpp/src/barretenberg/proof_system/composer/permutation_lib.hpp index 65c5e318e99..b46390dea2b 100644 --- a/barretenberg/cpp/src/barretenberg/proof_system/composer/permutation_lib.hpp +++ b/barretenberg/cpp/src/barretenberg/proof_system/composer/permutation_lib.hpp @@ -469,31 +469,6 @@ void compute_standard_honk_id_polynomials(auto proving_key) // TODO(Cody): provi } } -/** - * @brief Compute sigma permutations for standard honk and put them into polynomial cache - * - * @details These permutations don't involve sets. We only care about equating one witness value to another. The - * sequences don't use cosets unlike FFT-based Plonk, because there is no need for them. We simply use indices based - on - * the witness vector and index within the vector. These values are permuted to account for wire copy cycles - * - * @tparam program_width - * @tparam CircuitBuilder - * @param circuit_constructor - * @param key - */ -// TODO(#293): Update this (and all similar functions) to take a smart pointer. -template -void compute_standard_honk_sigma_permutations(const typename Flavor::CircuitBuilder& circuit_constructor, - typename Flavor::ProvingKey* proving_key) -{ - // Compute the permutation table specifying which element becomes which - auto mapping = compute_permutation_mapping(circuit_constructor, proving_key); - // Compute Honk-style sigma polynomial from the permutation table - compute_honk_style_permutation_lagrange_polynomials_from_mapping( - proving_key->get_sigma_polynomials(), mapping.sigmas, proving_key); -} - /** * @brief Compute sigma permutation polynomials for standard plonk and put them in the polynomial cache * @@ -554,6 +529,31 @@ void compute_plonk_generalized_sigma_permutations(const typename Flavor::Circuit compute_monomial_and_coset_fft_polynomials_from_lagrange("id", key); } +/** + * @brief Compute sigma permutations for standard honk and put them into polynomial cache + * + * @details These permutations don't involve sets. We only care about equating one witness value to another. The + * sequences don't use cosets unlike FFT-based Plonk, because there is no need for them. We simply use indices based + on + * the witness vector and index within the vector. These values are permuted to account for wire copy cycles + * + * @tparam program_width + * @tparam CircuitBuilder + * @param circuit_constructor + * @param key + */ +// TODO(#293): Update this (and all similar functions) to take a smart pointer. +template +void compute_standard_honk_sigma_permutations(const typename Flavor::CircuitBuilder& circuit_constructor, + typename Flavor::ProvingKey* proving_key) +{ + // Compute the permutation table specifying which element becomes which + auto mapping = compute_permutation_mapping(circuit_constructor, proving_key); + // Compute Honk-style sigma polynomial from the permutation table + compute_honk_style_permutation_lagrange_polynomials_from_mapping( + proving_key->get_sigma_polynomials(), mapping.sigmas, proving_key); +} + /** * @brief Compute generalized permutation sigmas and ids for ultra plonk *