Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion barretenberg/cpp/src/barretenberg/vm2/common/field.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#pragma once

#include "barretenberg/vm2/common/standard_affine_point.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/flavor_settings.hpp"

namespace bb::avm2 {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
#include "barretenberg/common/constexpr_utils.hpp"
#include "barretenberg/relations/relation_parameters.hpp"
#include "barretenberg/vm2/common/field.hpp"
#include "barretenberg/vm2/constraining/flavor.hpp"
#include "barretenberg/vm2/constraining/full_row.hpp"
#include "barretenberg/vm2/generated/columns.hpp"
#include "barretenberg/vm2/generated/flavor.hpp"

using namespace benchmark;
using namespace bb::avm2;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

#include <cstdint>

#include "barretenberg/vm2/generated/flavor.hpp"
#include "barretenberg/vm2/constraining/flavor.hpp"

namespace bb::avm2::constraining {

// This is a version of check circuit that runs on the prover polynomials.
// It is the closest to "real proving" that we can get without actually running the prover.
void run_check_circuit(AvmFlavor::ProverPolynomials& polys, size_t num_rows);

} // namespace bb::avm2::constraining
} // namespace bb::avm2::constraining
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// AUTOGENERATED FILE
#pragma once

#include "barretenberg/commitment_schemes/kzg/kzg.hpp"
Expand All @@ -14,46 +13,10 @@

#include "barretenberg/vm/aztec_constants.hpp"
#include "barretenberg/vm2/common/macros.hpp"
#include "columns.hpp"
#include "flavor_settings.hpp"

// Relations
#include "relations/address_derivation.hpp"
#include "relations/alu.hpp"
#include "relations/bc_decomposition.hpp"
#include "relations/bc_hashing.hpp"
#include "relations/bc_retrieval.hpp"
#include "relations/bitwise.hpp"
#include "relations/class_id_derivation.hpp"
#include "relations/context.hpp"
#include "relations/context_stack.hpp"
#include "relations/ecc.hpp"
#include "relations/execution.hpp"
#include "relations/ff_gt.hpp"
#include "relations/instr_fetching.hpp"
#include "relations/merkle_check.hpp"
#include "relations/poseidon2_hash.hpp"
#include "relations/poseidon2_perm.hpp"
#include "relations/range_check.hpp"
#include "relations/scalar_mul.hpp"
#include "relations/sha256.hpp"
#include "relations/to_radix.hpp"

// Lookup and permutation relations
#include "relations/lookups_address_derivation.hpp"
#include "relations/lookups_bc_decomposition.hpp"
#include "relations/lookups_bc_hashing.hpp"
#include "relations/lookups_bc_retrieval.hpp"
#include "relations/lookups_bitwise.hpp"
#include "relations/lookups_class_id_derivation.hpp"
#include "relations/lookups_ff_gt.hpp"
#include "relations/lookups_instr_fetching.hpp"
#include "relations/lookups_merkle_check.hpp"
#include "relations/lookups_poseidon2_hash.hpp"
#include "relations/lookups_range_check.hpp"
#include "relations/lookups_scalar_mul.hpp"
#include "relations/lookups_sha256.hpp"
#include "relations/lookups_to_radix.hpp"
#include "barretenberg/vm2/constraining/flavor_settings.hpp"

#include "barretenberg/vm2/generated/columns.hpp"
#include "barretenberg/vm2/generated/flavor_variables.hpp"

// Metaprogramming to concatenate tuple types.
template <typename... input_t> using tuple_cat_t = decltype(std::tuple_cat(std::declval<input_t>()...));
Expand Down Expand Up @@ -95,13 +58,11 @@ class AvmFlavor {
// This flavor would not be used with ZK Sumcheck
static constexpr bool HasZK = false;

static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 47;
static constexpr size_t NUM_WITNESS_ENTITIES = 942;
static constexpr size_t NUM_SHIFTED_ENTITIES = 135;
static constexpr size_t NUM_WIRES = NUM_WITNESS_ENTITIES + NUM_PRECOMPUTED_ENTITIES;
// We have two copies of the witness entities, so we subtract the number of fixed ones (they have no shift), one for
// the unshifted and one for the shifted
static constexpr size_t NUM_ALL_ENTITIES = 1124;
static constexpr size_t NUM_PRECOMPUTED_ENTITIES = AvmFlavorVariables::NUM_PRECOMPUTED_ENTITIES;
static constexpr size_t NUM_WITNESS_ENTITIES = AvmFlavorVariables::NUM_WITNESS_ENTITIES;
static constexpr size_t NUM_SHIFTED_ENTITIES = AvmFlavorVariables::NUM_SHIFTED_ENTITIES;
static constexpr size_t NUM_WIRES = AvmFlavorVariables::NUM_WIRES;
static constexpr size_t NUM_ALL_ENTITIES = AvmFlavorVariables::NUM_ALL_ENTITIES;

// In the sumcheck univariate computation, we divide the trace in chunks and each chunk is
// evenly processed by all the threads. This constant defines the maximum number of rows
Expand All @@ -114,89 +75,12 @@ class AvmFlavor {
static constexpr size_t MAX_CHUNK_THREAD_PORTION_SIZE = 32;

// Need to be templated for recursive verifier
template <typename FF_>
using MainRelations_ = std::tuple<
// Relations
avm2::address_derivation<FF_>,
avm2::alu<FF_>,
avm2::bc_decomposition<FF_>,
avm2::bc_hashing<FF_>,
avm2::bc_retrieval<FF_>,
avm2::bitwise<FF_>,
avm2::class_id_derivation<FF_>,
avm2::context<FF_>,
avm2::context_stack<FF_>,
avm2::ecc<FF_>,
avm2::execution<FF_>,
avm2::ff_gt<FF_>,
avm2::instr_fetching<FF_>,
avm2::merkle_check<FF_>,
avm2::poseidon2_hash<FF_>,
avm2::poseidon2_perm<FF_>,
avm2::range_check<FF_>,
avm2::scalar_mul<FF_>,
avm2::sha256<FF_>,
avm2::to_radix<FF_>>;
template <typename FF_> using MainRelations_ = AvmFlavorVariables::MainRelations_<FF_>;

using MainRelations = MainRelations_<FF>;

// Need to be templated for recursive verifier
template <typename FF_>
using LookupRelations_ = std::tuple<
// Lookups
lookup_address_derivation_address_ecadd_relation<FF_>,
lookup_address_derivation_partial_address_poseidon2_relation<FF_>,
lookup_address_derivation_preaddress_poseidon2_relation<FF_>,
lookup_address_derivation_preaddress_scalar_mul_relation<FF_>,
lookup_address_derivation_public_keys_hash_poseidon2_0_relation<FF_>,
lookup_address_derivation_public_keys_hash_poseidon2_1_relation<FF_>,
lookup_address_derivation_public_keys_hash_poseidon2_2_relation<FF_>,
lookup_address_derivation_public_keys_hash_poseidon2_3_relation<FF_>,
lookup_address_derivation_public_keys_hash_poseidon2_4_relation<FF_>,
lookup_address_derivation_salted_initialization_hash_poseidon2_0_relation<FF_>,
lookup_address_derivation_salted_initialization_hash_poseidon2_1_relation<FF_>,
lookup_bc_decomposition_abs_diff_is_u16_relation<FF_>,
lookup_bc_decomposition_bytes_are_bytes_relation<FF_>,
lookup_bc_decomposition_bytes_to_read_as_unary_relation<FF_>,
lookup_bc_hashing_get_packed_field_relation<FF_>,
lookup_bc_hashing_iv_is_len_relation<FF_>,
lookup_bc_hashing_poseidon2_hash_relation<FF_>,
lookup_bc_retrieval_bytecode_hash_is_correct_relation<FF_>,
lookup_bc_retrieval_class_id_derivation_relation<FF_>,
lookup_bitwise_byte_operations_relation<FF_>,
lookup_bitwise_integral_tag_length_relation<FF_>,
lookup_class_id_derivation_class_id_poseidon2_0_relation<FF_>,
lookup_class_id_derivation_class_id_poseidon2_1_relation<FF_>,
lookup_ff_gt_a_hi_range_relation<FF_>,
lookup_ff_gt_a_lo_range_relation<FF_>,
lookup_instr_fetching_bytecode_size_from_bc_dec_relation<FF_>,
lookup_instr_fetching_bytes_from_bc_dec_relation<FF_>,
lookup_instr_fetching_instr_abs_diff_positive_relation<FF_>,
lookup_instr_fetching_pc_abs_diff_positive_relation<FF_>,
lookup_instr_fetching_tag_value_validation_relation<FF_>,
lookup_instr_fetching_wire_instruction_info_relation<FF_>,
lookup_merkle_check_merkle_poseidon2_read_relation<FF_>,
lookup_merkle_check_merkle_poseidon2_write_relation<FF_>,
lookup_poseidon2_hash_poseidon2_perm_relation<FF_>,
lookup_range_check_dyn_diff_is_u16_relation<FF_>,
lookup_range_check_dyn_rng_chk_pow_2_relation<FF_>,
lookup_range_check_r0_is_u16_relation<FF_>,
lookup_range_check_r1_is_u16_relation<FF_>,
lookup_range_check_r2_is_u16_relation<FF_>,
lookup_range_check_r3_is_u16_relation<FF_>,
lookup_range_check_r4_is_u16_relation<FF_>,
lookup_range_check_r5_is_u16_relation<FF_>,
lookup_range_check_r6_is_u16_relation<FF_>,
lookup_range_check_r7_is_u16_relation<FF_>,
lookup_scalar_mul_add_relation<FF_>,
lookup_scalar_mul_double_relation<FF_>,
lookup_scalar_mul_to_radix_relation<FF_>,
lookup_sha256_round_constant_relation<FF_>,
lookup_to_radix_fetch_p_limb_relation<FF_>,
lookup_to_radix_fetch_safe_limbs_relation<FF_>,
lookup_to_radix_limb_less_than_radix_range_relation<FF_>,
lookup_to_radix_limb_p_diff_range_relation<FF_>,
lookup_to_radix_limb_range_relation<FF_>>;
template <typename FF_> using LookupRelations_ = AvmFlavorVariables::LookupRelations_<FF_>;

using LookupRelations = LookupRelations_<FF>;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// AUTOGENERATED FILE
// This file exists so that we can have access to these definitions without including the whole flavor.
#pragma once

#include "barretenberg/commitment_schemes/kzg/kzg.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include "barretenberg/relations/relation_parameters.hpp"
#include "barretenberg/sumcheck/sumcheck_output.hpp"
#include "barretenberg/transcript/transcript.hpp"
#include "barretenberg/vm2/generated/flavor.hpp"
#include "barretenberg/vm2/constraining/flavor.hpp"

namespace bb::avm2 {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@

#include "barretenberg/crypto/poseidon2/poseidon2.hpp"
#include "barretenberg/crypto/poseidon2/poseidon2_params.hpp"
#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/columns.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/address_derivation.hpp"
#include "barretenberg/vm2/generated/relations/lookups_address_derivation.hpp"
#include "barretenberg/vm2/simulation/address_derivation.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

#include <cstdint>

#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/alu.hpp"
#include "barretenberg/vm2/testing/macros.hpp"
#include "barretenberg/vm2/tracegen/test_trace_container.hpp"
Expand Down Expand Up @@ -53,4 +53,4 @@ TEST(AluConstrainingTest, NegativeAdd)
}

} // namespace
} // namespace bb::avm2::constraining
} // namespace bb::avm2::constraining
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
#include <memory>
#include <vector>

#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/columns.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/bc_decomposition.hpp"
#include "barretenberg/vm2/testing/fixtures.hpp"
#include "barretenberg/vm2/testing/macros.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
#include <memory>
#include <vector>

#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/columns.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/bc_hashing.hpp"
#include "barretenberg/vm2/generated/relations/lookups_bc_hashing.hpp"
#include "barretenberg/vm2/generated/relations/poseidon2_hash.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

#include "barretenberg/vm2/common/constants.hpp"
#include "barretenberg/vm2/common/memory_types.hpp"
#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/bitwise.hpp"
#include "barretenberg/vm2/generated/relations/lookups_bitwise.hpp"
#include "barretenberg/vm2/testing/fixtures.hpp"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#include <gmock/gmock.h>
#include <gtest/gtest.h>

#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/columns.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/class_id_derivation.hpp"
#include "barretenberg/vm2/generated/relations/lookups_bc_retrieval.hpp"
#include "barretenberg/vm2/generated/relations/lookups_class_id_derivation.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

#include "barretenberg/vm2/common/aztec_types.hpp"
#include "barretenberg/vm2/common/field.hpp"
#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/ecc.hpp"
#include "barretenberg/vm2/generated/relations/lookups_scalar_mul.hpp"
#include "barretenberg/vm2/simulation/ecc.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

#include <cstdint>

#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/execution.hpp"
#include "barretenberg/vm2/testing/macros.hpp"
#include "barretenberg/vm2/tracegen/test_trace_container.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include "barretenberg/numeric/uint256/uint256.hpp"
#include "barretenberg/vm/avm/trace/gadgets/range_check.hpp"
#include "barretenberg/vm2/common/aztec_types.hpp"
#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/lookups_ff_gt.hpp"
#include "barretenberg/vm2/simulation/events/field_gt_event.hpp"
#include "barretenberg/vm2/simulation/field_gt.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
#include <vector>

#include "barretenberg/vm2/common/instruction_spec.hpp"
#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/columns.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/instr_fetching.hpp"
#include "barretenberg/vm2/simulation/events/range_check_event.hpp"
#include "barretenberg/vm2/testing/fixtures.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
#include <cstdint>

#include "barretenberg/crypto/poseidon2/poseidon2.hpp"
#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/lookups_merkle_check.hpp"
#include "barretenberg/vm2/generated/relations/merkle_check.hpp"
#include "barretenberg/vm2/simulation/lib/merkle.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include <cstdint>

#include "barretenberg/crypto/poseidon2/poseidon2.hpp"
#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/lookups_poseidon2_hash.hpp"
#include "barretenberg/vm2/generated/relations/poseidon2_hash.hpp"
#include "barretenberg/vm2/generated/relations/poseidon2_perm.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include <cmath>
#include <cstdint>

#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/range_check.hpp"
#include "barretenberg/vm2/testing/fixtures.hpp"
#include "barretenberg/vm2/testing/macros.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

#include <cstdint>

#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/lookups_sha256.hpp"
#include "barretenberg/vm2/generated/relations/sha256.hpp"
#include "barretenberg/vm2/simulation/events/event_emitter.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

#include "barretenberg/vm/avm/trace/gadgets/range_check.hpp"
#include "barretenberg/vm2/common/aztec_types.hpp"
#include "barretenberg/vm2/constraining/flavor_settings.hpp"
#include "barretenberg/vm2/constraining/testing/check_relation.hpp"
#include "barretenberg/vm2/generated/flavor_settings.hpp"
#include "barretenberg/vm2/generated/relations/lookups_to_radix.hpp"
#include "barretenberg/vm2/simulation/to_radix.hpp"
#include "barretenberg/vm2/testing/fixtures.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

#include "barretenberg/plonk/proof_system/types/proof.hpp"
#include "barretenberg/sumcheck/sumcheck.hpp"
#include "barretenberg/vm2/generated/flavor.hpp"
#include "barretenberg/vm2/constraining/flavor.hpp"

namespace bb::avm2 {

Expand Down
2 changes: 1 addition & 1 deletion barretenberg/cpp/src/barretenberg/vm2/debugger.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

#include "barretenberg/numeric/uint256/uint256.hpp"
#include "barretenberg/vm2/common/field.hpp"
#include "barretenberg/vm2/constraining/flavor.hpp"
#include "barretenberg/vm2/constraining/full_row.hpp"
#include "barretenberg/vm2/generated/columns.hpp"
#include "barretenberg/vm2/generated/flavor.hpp"
#include "barretenberg/vm2/tracegen/lib/trace_conversion.hpp"

namespace bb::avm2 {
Expand Down
Loading