diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_main_tag_err.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_main_tag_err.hpp index 6504fe11f264..6cfb74059d9d 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_main_tag_err.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_main_tag_err.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class incl_main_tag_err_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +54,10 @@ class incl_main_tag_err_lookup_settings { }; template -using incl_main_tag_err_relation = GenericLookupRelation; +class incl_main_tag_err_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "incl_main_tag_err"; +}; template using incl_main_tag_err = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_mem_tag_err.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_mem_tag_err.hpp index b790c7ec1130..a3c55ff966bb 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_mem_tag_err.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_mem_tag_err.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class incl_mem_tag_err_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -59,7 +45,11 @@ class incl_mem_tag_err_lookup_settings { } }; -template using incl_mem_tag_err_relation = GenericLookupRelation; +template +class incl_mem_tag_err_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "incl_mem_tag_err"; +}; template using incl_mem_tag_err = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/kernel_output_lookup.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/kernel_output_lookup.hpp index 5d41006a5c45..d432d46bc2cb 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/kernel_output_lookup.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/kernel_output_lookup.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class kernel_output_lookup_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -80,7 +66,10 @@ class kernel_output_lookup_lookup_settings { }; template -using kernel_output_lookup_relation = GenericLookupRelation; +class kernel_output_lookup_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "kernel_output_lookup"; +}; template using kernel_output_lookup = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_lengths.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_lengths.hpp index 7dbde65e4e8c..093c0f5b6ea2 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_lengths.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_lengths.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_byte_lengths_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -72,7 +58,10 @@ class lookup_byte_lengths_lookup_settings { }; template -using lookup_byte_lengths_relation = GenericLookupRelation; +class lookup_byte_lengths_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_byte_lengths"; +}; template using lookup_byte_lengths = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_operations.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_operations.hpp index 7e3b35390f2d..0961460086eb 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_operations.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_operations.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_byte_operations_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -80,7 +66,10 @@ class lookup_byte_operations_lookup_settings { }; template -using lookup_byte_operations_relation = GenericLookupRelation; +class lookup_byte_operations_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_byte_operations"; +}; template using lookup_byte_operations = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_0.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_0.hpp index 722ae7e4486f..99c91af7b939 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_0.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_0.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_0_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,11 @@ class lookup_div_u16_0_lookup_settings { } }; -template using lookup_div_u16_0_relation = GenericLookupRelation; +template +class lookup_div_u16_0_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_0"; +}; template using lookup_div_u16_0 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_1.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_1.hpp index 8e47192dbe98..d95c608d0b9b 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_1.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_1.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_1_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,11 @@ class lookup_div_u16_1_lookup_settings { } }; -template using lookup_div_u16_1_relation = GenericLookupRelation; +template +class lookup_div_u16_1_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_1"; +}; template using lookup_div_u16_1 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_2.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_2.hpp index cf15ed785e0c..b1b9036f4982 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_2.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_2.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_2_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,11 @@ class lookup_div_u16_2_lookup_settings { } }; -template using lookup_div_u16_2_relation = GenericLookupRelation; +template +class lookup_div_u16_2_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_2"; +}; template using lookup_div_u16_2 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_3.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_3.hpp index cbd1af82710b..56680df40c04 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_3.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_3.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_3_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,11 @@ class lookup_div_u16_3_lookup_settings { } }; -template using lookup_div_u16_3_relation = GenericLookupRelation; +template +class lookup_div_u16_3_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_3"; +}; template using lookup_div_u16_3 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_4.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_4.hpp index 7df49f051390..5c02f3c52caa 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_4.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_4.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_4_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,11 @@ class lookup_div_u16_4_lookup_settings { } }; -template using lookup_div_u16_4_relation = GenericLookupRelation; +template +class lookup_div_u16_4_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_4"; +}; template using lookup_div_u16_4 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_5.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_5.hpp index a58751eb66fb..b8923c750e59 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_5.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_5.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_5_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,11 @@ class lookup_div_u16_5_lookup_settings { } }; -template using lookup_div_u16_5_relation = GenericLookupRelation; +template +class lookup_div_u16_5_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_5"; +}; template using lookup_div_u16_5 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_6.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_6.hpp index 51e4c73a501d..a6486bb05ac2 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_6.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_6.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_6_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,11 @@ class lookup_div_u16_6_lookup_settings { } }; -template using lookup_div_u16_6_relation = GenericLookupRelation; +template +class lookup_div_u16_6_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_6"; +}; template using lookup_div_u16_6 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_7.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_7.hpp index 657221da61ec..c52978bade94 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_7.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_7.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_7_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,11 @@ class lookup_div_u16_7_lookup_settings { } }; -template using lookup_div_u16_7_relation = GenericLookupRelation; +template +class lookup_div_u16_7_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_7"; +}; template using lookup_div_u16_7 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_into_kernel.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_into_kernel.hpp index dbd8cc05603d..4fe44d760c53 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_into_kernel.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_into_kernel.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_into_kernel_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -72,7 +58,10 @@ class lookup_into_kernel_lookup_settings { }; template -using lookup_into_kernel_relation = GenericLookupRelation; +class lookup_into_kernel_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_into_kernel"; +}; template using lookup_into_kernel = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_hi.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_hi.hpp index 933d2272d27b..b0db8e3f3a81 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_hi.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_hi.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_mem_rng_chk_hi_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +54,10 @@ class lookup_mem_rng_chk_hi_lookup_settings { }; template -using lookup_mem_rng_chk_hi_relation = GenericLookupRelation; +class lookup_mem_rng_chk_hi_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_mem_rng_chk_hi"; +}; template using lookup_mem_rng_chk_hi = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_lo.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_lo.hpp index e61714cabb2d..7a0dca83ce37 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_lo.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_lo.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_mem_rng_chk_lo_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +54,10 @@ class lookup_mem_rng_chk_lo_lookup_settings { }; template -using lookup_mem_rng_chk_lo_relation = GenericLookupRelation; +class lookup_mem_rng_chk_lo_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_mem_rng_chk_lo"; +}; template using lookup_mem_rng_chk_lo = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_mid.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_mid.hpp index 6e0ce0b9803b..e44547863c66 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_mid.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_mid.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_mem_rng_chk_mid_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +54,10 @@ class lookup_mem_rng_chk_mid_lookup_settings { }; template -using lookup_mem_rng_chk_mid_relation = GenericLookupRelation; +class lookup_mem_rng_chk_mid_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_mem_rng_chk_mid"; +}; template using lookup_mem_rng_chk_mid = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_opcode_gas.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_opcode_gas.hpp index 64d11a5bdc3a..a62f68e5b4f1 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_opcode_gas.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_opcode_gas.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_opcode_gas_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -76,7 +62,10 @@ class lookup_opcode_gas_lookup_settings { }; template -using lookup_opcode_gas_relation = GenericLookupRelation; +class lookup_opcode_gas_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_opcode_gas"; +}; template using lookup_opcode_gas = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_0.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_0.hpp index 1f1c342cd818..e9e73ca0b9df 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_0.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_0.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_pow_2_0_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -71,7 +57,11 @@ class lookup_pow_2_0_lookup_settings { } }; -template using lookup_pow_2_0_relation = GenericLookupRelation; +template +class lookup_pow_2_0_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_pow_2_0"; +}; template using lookup_pow_2_0 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_1.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_1.hpp index b8949612dd71..55a5eec29b74 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_1.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_1.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_pow_2_1_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -71,7 +57,11 @@ class lookup_pow_2_1_lookup_settings { } }; -template using lookup_pow_2_1_relation = GenericLookupRelation; +template +class lookup_pow_2_1_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_pow_2_1"; +}; template using lookup_pow_2_1 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_0.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_0.hpp index c8486d70f076..70a2e3ac66e3 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_0.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_0.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_0_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,10 @@ class lookup_u16_0_lookup_settings { } }; -template using lookup_u16_0_relation = GenericLookupRelation; +template class lookup_u16_0_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_0"; +}; template using lookup_u16_0 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_1.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_1.hpp index a7195014b593..e391e04bc729 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_1.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_1.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_1_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,10 @@ class lookup_u16_1_lookup_settings { } }; -template using lookup_u16_1_relation = GenericLookupRelation; +template class lookup_u16_1_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_1"; +}; template using lookup_u16_1 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_10.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_10.hpp index 5d9340e18ad4..1b30139552c8 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_10.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_10.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_10_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,11 @@ class lookup_u16_10_lookup_settings { } }; -template using lookup_u16_10_relation = GenericLookupRelation; +template +class lookup_u16_10_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_10"; +}; template using lookup_u16_10 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_11.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_11.hpp index cf7473b5cfa3..860588384db2 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_11.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_11.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_11_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,11 @@ class lookup_u16_11_lookup_settings { } }; -template using lookup_u16_11_relation = GenericLookupRelation; +template +class lookup_u16_11_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_11"; +}; template using lookup_u16_11 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_12.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_12.hpp index e0edca8a9ab2..0acfe46bc145 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_12.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_12.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_12_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,11 @@ class lookup_u16_12_lookup_settings { } }; -template using lookup_u16_12_relation = GenericLookupRelation; +template +class lookup_u16_12_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_12"; +}; template using lookup_u16_12 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_13.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_13.hpp index 8255f13cf85c..87eaa2d6bb12 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_13.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_13.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_13_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,11 @@ class lookup_u16_13_lookup_settings { } }; -template using lookup_u16_13_relation = GenericLookupRelation; +template +class lookup_u16_13_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_13"; +}; template using lookup_u16_13 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_14.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_14.hpp index a4857ab021e9..ea9a74cc8d1c 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_14.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_14.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_14_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,11 @@ class lookup_u16_14_lookup_settings { } }; -template using lookup_u16_14_relation = GenericLookupRelation; +template +class lookup_u16_14_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_14"; +}; template using lookup_u16_14 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_2.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_2.hpp index aea3c986c9f9..35a34762d1b5 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_2.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_2.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_2_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,10 @@ class lookup_u16_2_lookup_settings { } }; -template using lookup_u16_2_relation = GenericLookupRelation; +template class lookup_u16_2_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_2"; +}; template using lookup_u16_2 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_3.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_3.hpp index 828351e0b5ee..50284c84860e 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_3.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_3.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_3_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,10 @@ class lookup_u16_3_lookup_settings { } }; -template using lookup_u16_3_relation = GenericLookupRelation; +template class lookup_u16_3_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_3"; +}; template using lookup_u16_3 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_4.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_4.hpp index 157c0225baa1..b5cd10a6670a 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_4.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_4.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_4_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,10 @@ class lookup_u16_4_lookup_settings { } }; -template using lookup_u16_4_relation = GenericLookupRelation; +template class lookup_u16_4_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_4"; +}; template using lookup_u16_4 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_5.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_5.hpp index 930117b7e8bf..1f313268b6e3 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_5.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_5.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_5_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,10 @@ class lookup_u16_5_lookup_settings { } }; -template using lookup_u16_5_relation = GenericLookupRelation; +template class lookup_u16_5_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_5"; +}; template using lookup_u16_5 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_6.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_6.hpp index ec75af309310..c4aef86a50cb 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_6.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_6.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_6_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,10 @@ class lookup_u16_6_lookup_settings { } }; -template using lookup_u16_6_relation = GenericLookupRelation; +template class lookup_u16_6_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_6"; +}; template using lookup_u16_6 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_7.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_7.hpp index 6aec3db35c24..b1496c4403a1 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_7.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_7.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_7_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,10 @@ class lookup_u16_7_lookup_settings { } }; -template using lookup_u16_7_relation = GenericLookupRelation; +template class lookup_u16_7_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_7"; +}; template using lookup_u16_7 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_8.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_8.hpp index 46e991f15ee4..e2080cc7190a 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_8.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_8.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_8_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,10 @@ class lookup_u16_8_lookup_settings { } }; -template using lookup_u16_8_relation = GenericLookupRelation; +template class lookup_u16_8_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_8"; +}; template using lookup_u16_8 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_9.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_9.hpp index 36a1ca2745ba..40b258e59429 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_9.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_9.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_9_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,10 @@ class lookup_u16_9_lookup_settings { } }; -template using lookup_u16_9_relation = GenericLookupRelation; +template class lookup_u16_9_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_9"; +}; template using lookup_u16_9 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_0.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_0.hpp index 3f1626db1bd0..568ecd3731da 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_0.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_0.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u8_0_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,10 @@ class lookup_u8_0_lookup_settings { } }; -template using lookup_u8_0_relation = GenericLookupRelation; +template class lookup_u8_0_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u8_0"; +}; template using lookup_u8_0 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_1.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_1.hpp index a7ce90bc8bf5..3b78d561e68e 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_1.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_1.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u8_1_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +53,10 @@ class lookup_u8_1_lookup_settings { } }; -template using lookup_u8_1_relation = GenericLookupRelation; +template class lookup_u8_1_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u8_1"; +}; template using lookup_u8_1 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_alu.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_alu.hpp index 3fd9226043b6..c96e000c2da0 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_alu.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_alu.hpp @@ -99,7 +99,10 @@ class perm_main_alu_permutation_settings { }; template -using perm_main_alu_relation = GenericPermutationRelation; +class perm_main_alu_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_alu"; +}; template using perm_main_alu = GenericPermutation; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_bin.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_bin.hpp index ed038c33a508..42c820a4b84c 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_bin.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_bin.hpp @@ -59,7 +59,10 @@ class perm_main_bin_permutation_settings { }; template -using perm_main_bin_relation = GenericPermutationRelation; +class perm_main_bin_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_bin"; +}; template using perm_main_bin = GenericPermutation; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_conv.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_conv.hpp index 061fb8c398a2..20b6d13e3226 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_conv.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_conv.hpp @@ -51,7 +51,10 @@ class perm_main_conv_permutation_settings { }; template -using perm_main_conv_relation = GenericPermutationRelation; +class perm_main_conv_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_conv"; +}; template using perm_main_conv = GenericPermutation; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_a.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_a.hpp index fe1c96709ff5..2efb6d21b31c 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_a.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_a.hpp @@ -71,7 +71,10 @@ class perm_main_mem_a_permutation_settings { }; template -using perm_main_mem_a_relation = GenericPermutationRelation; +class perm_main_mem_a_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_mem_a"; +}; template using perm_main_mem_a = GenericPermutation; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_b.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_b.hpp index 8899945f4fea..0f7a88a66f1b 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_b.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_b.hpp @@ -71,7 +71,10 @@ class perm_main_mem_b_permutation_settings { }; template -using perm_main_mem_b_relation = GenericPermutationRelation; +class perm_main_mem_b_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_mem_b"; +}; template using perm_main_mem_b = GenericPermutation; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_c.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_c.hpp index 69b3ca8ea89f..f1888c7ce18d 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_c.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_c.hpp @@ -63,7 +63,10 @@ class perm_main_mem_c_permutation_settings { }; template -using perm_main_mem_c_relation = GenericPermutationRelation; +class perm_main_mem_c_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_mem_c"; +}; template using perm_main_mem_c = GenericPermutation; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_d.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_d.hpp index 081ae644bfb9..2cb433eed790 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_d.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_d.hpp @@ -67,7 +67,10 @@ class perm_main_mem_d_permutation_settings { }; template -using perm_main_mem_d_relation = GenericPermutationRelation; +class perm_main_mem_d_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_mem_d"; +}; template using perm_main_mem_d = GenericPermutation; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_a.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_a.hpp index 5f8b6ae9705c..5d6267e60a9c 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_a.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_a.hpp @@ -51,8 +51,11 @@ class perm_main_mem_ind_addr_a_permutation_settings { }; template -using perm_main_mem_ind_addr_a_relation = - GenericPermutationRelation; +class perm_main_mem_ind_addr_a_relation + : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_mem_ind_addr_a"; +}; template using perm_main_mem_ind_addr_a = GenericPermutation; diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_b.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_b.hpp index c79bc802aa5a..708696d3343f 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_b.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_b.hpp @@ -51,8 +51,11 @@ class perm_main_mem_ind_addr_b_permutation_settings { }; template -using perm_main_mem_ind_addr_b_relation = - GenericPermutationRelation; +class perm_main_mem_ind_addr_b_relation + : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_mem_ind_addr_b"; +}; template using perm_main_mem_ind_addr_b = GenericPermutation; diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_c.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_c.hpp index 3be1b96d43a5..011cee0cdba9 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_c.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_c.hpp @@ -51,8 +51,11 @@ class perm_main_mem_ind_addr_c_permutation_settings { }; template -using perm_main_mem_ind_addr_c_relation = - GenericPermutationRelation; +class perm_main_mem_ind_addr_c_relation + : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_mem_ind_addr_c"; +}; template using perm_main_mem_ind_addr_c = GenericPermutation; diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_d.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_d.hpp index 310c85078ec9..0db506340412 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_d.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_d.hpp @@ -51,8 +51,11 @@ class perm_main_mem_ind_addr_d_permutation_settings { }; template -using perm_main_mem_ind_addr_d_relation = - GenericPermutationRelation; +class perm_main_mem_ind_addr_d_relation + : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_mem_ind_addr_d"; +}; template using perm_main_mem_ind_addr_d = GenericPermutation; diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pedersen.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pedersen.hpp index 0b94b48c5978..16e141e8481d 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pedersen.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pedersen.hpp @@ -43,7 +43,10 @@ class perm_main_pedersen_permutation_settings { }; template -using perm_main_pedersen_relation = GenericPermutationRelation; +class perm_main_pedersen_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_pedersen"; +}; template using perm_main_pedersen = GenericPermutation; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pos2_perm.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pos2_perm.hpp index 2a4f91d68118..e79de4c00208 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pos2_perm.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pos2_perm.hpp @@ -47,7 +47,10 @@ class perm_main_pos2_perm_permutation_settings { }; template -using perm_main_pos2_perm_relation = GenericPermutationRelation; +class perm_main_pos2_perm_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_pos2_perm"; +}; template using perm_main_pos2_perm = GenericPermutation; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_hi.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_hi.hpp index c0ec53d582e2..47629f260718 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_hi.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_hi.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class range_check_da_gas_hi_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +54,10 @@ class range_check_da_gas_hi_lookup_settings { }; template -using range_check_da_gas_hi_relation = GenericLookupRelation; +class range_check_da_gas_hi_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "range_check_da_gas_hi"; +}; template using range_check_da_gas_hi = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_lo.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_lo.hpp index 2847c57513a4..f006e63ecb4f 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_lo.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_lo.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class range_check_da_gas_lo_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +54,10 @@ class range_check_da_gas_lo_lookup_settings { }; template -using range_check_da_gas_lo_relation = GenericLookupRelation; +class range_check_da_gas_lo_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "range_check_da_gas_lo"; +}; template using range_check_da_gas_lo = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_hi.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_hi.hpp index 5e0bda1a6058..b0009a37beed 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_hi.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_hi.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class range_check_l2_gas_hi_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +54,10 @@ class range_check_l2_gas_hi_lookup_settings { }; template -using range_check_l2_gas_hi_relation = GenericLookupRelation; +class range_check_l2_gas_hi_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "range_check_l2_gas_hi"; +}; template using range_check_l2_gas_hi = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_lo.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_lo.hpp index f32e8958047e..e55a6539853b 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_lo.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_lo.hpp @@ -7,20 +7,6 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class range_check_l2_gas_lo_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +54,10 @@ class range_check_l2_gas_lo_lookup_settings { }; template -using range_check_l2_gas_lo_relation = GenericLookupRelation; +class range_check_l2_gas_lo_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "range_check_l2_gas_lo"; +}; template using range_check_l2_gas_lo = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/generated/avm_flavor.hpp b/barretenberg/cpp/src/barretenberg/vm/generated/avm_flavor.hpp index bdd10e57f7ad..fedb4c60bcdb 100644 --- a/barretenberg/cpp/src/barretenberg/vm/generated/avm_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/generated/avm_flavor.hpp @@ -12,8 +12,6 @@ #include "barretenberg/polynomials/polynomial.hpp" #include "barretenberg/transcript/transcript.hpp" -#include "barretenberg/vm/avm_trace/stats.hpp" - // Relations #include "barretenberg/relations/generated/avm/alu.hpp" #include "barretenberg/relations/generated/avm/binary.hpp" @@ -85,6 +83,9 @@ #include "barretenberg/relations/generated/avm/range_check_l2_gas_lo.hpp" #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" +// Metaprogramming to concatenate tuple types. +template using tuple_cat_t = decltype(std::tuple_cat(std::declval()...)); + namespace bb { class AvmFlavor { @@ -110,7 +111,7 @@ class AvmFlavor { // the unshifted and one for the shifted static constexpr size_t NUM_ALL_ENTITIES = 452; - using Relations = std::tuple< + using MainRelations = std::tuple< // Relations Avm_vm::alu, Avm_vm::binary, @@ -123,7 +124,9 @@ class AvmFlavor { Avm_vm::pedersen, Avm_vm::poseidon2, Avm_vm::powers, - Avm_vm::sha256, + Avm_vm::sha256>; + + using LookupRelations = std::tuple< // Lookups perm_main_alu_relation, perm_main_bin_relation, @@ -180,6 +183,8 @@ class AvmFlavor { lookup_div_u16_6_relation, lookup_div_u16_7_relation>; + using Relations = tuple_cat_t; + static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length(); // BATCHED_RELATION_PARTIAL_LENGTH = algebraic degree of sumcheck relation *after* multiplying by the `pow_zeta` @@ -748,7 +753,8 @@ class AvmFlavor { class WitnessEntities : public WireEntities, public DerivedWitnessEntities { public: DEFINE_COMPOUND_GET_ALL(WireEntities, DerivedWitnessEntities) - auto get_wires() { return WireEntities::get_all(); }; + auto get_wires() { return WireEntities::get_all(); } + auto get_derived() { return DerivedWitnessEntities::get_all(); } }; template @@ -849,174 +855,6 @@ class AvmFlavor { mem_tsp, mem_val }; } - - void compute_logderivative_inverses(const RelationParameters& relation_parameters) - { - ProverPolynomials prover_polynomials = ProverPolynomials(*this); - - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_alu_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_bin_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_conv_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_pos2_perm_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_pedersen_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_a_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_b_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_c_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_d_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_ind_addr_a_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_ind_addr_b_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_ind_addr_c_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_ind_addr_d_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_byte_lengths_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_byte_operations_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_opcode_gas_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/range_check_l2_gas_hi_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/range_check_l2_gas_lo_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/range_check_da_gas_hi_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/range_check_da_gas_lo_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/kernel_output_lookup_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_into_kernel_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/incl_main_tag_err_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/incl_mem_tag_err_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_mem_rng_chk_lo_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_mem_rng_chk_mid_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_mem_rng_chk_hi_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_pow_2_0_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_pow_2_1_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u8_0_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u8_1_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_0_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_1_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_2_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_3_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_4_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_5_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_6_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_7_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_8_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_9_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_10_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_11_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_12_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_13_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_14_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_0_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_1_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_2_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_3_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_4_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_5_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_6_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_7_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - } }; using VerificationKey = VerificationKey_, VerifierCommitmentKey>; @@ -1110,7 +948,6 @@ class AvmFlavor { public: CommitmentLabels() - : AllEntities() { Base::main_clk = "MAIN_CLK"; Base::main_sel_first = "MAIN_SEL_FIRST"; @@ -1518,391 +1355,7 @@ class AvmFlavor { public: uint32_t circuit_size; - Commitment kernel_kernel_inputs; - Commitment kernel_kernel_value_out; - Commitment kernel_kernel_side_effect_out; - Commitment kernel_kernel_metadata_out; - Commitment main_calldata; - Commitment alu_a_hi; - Commitment alu_a_lo; - Commitment alu_b_hi; - Commitment alu_b_lo; - Commitment alu_borrow; - Commitment alu_cf; - Commitment alu_clk; - Commitment alu_cmp_rng_ctr; - Commitment alu_div_u16_r0; - Commitment alu_div_u16_r1; - Commitment alu_div_u16_r2; - Commitment alu_div_u16_r3; - Commitment alu_div_u16_r4; - Commitment alu_div_u16_r5; - Commitment alu_div_u16_r6; - Commitment alu_div_u16_r7; - Commitment alu_divisor_hi; - Commitment alu_divisor_lo; - Commitment alu_ff_tag; - Commitment alu_ia; - Commitment alu_ib; - Commitment alu_ic; - Commitment alu_in_tag; - Commitment alu_op_add; - Commitment alu_op_cast; - Commitment alu_op_cast_prev; - Commitment alu_op_div; - Commitment alu_op_div_a_lt_b; - Commitment alu_op_div_std; - Commitment alu_op_eq; - Commitment alu_op_eq_diff_inv; - Commitment alu_op_lt; - Commitment alu_op_lte; - Commitment alu_op_mul; - Commitment alu_op_not; - Commitment alu_op_shl; - Commitment alu_op_shr; - Commitment alu_op_sub; - Commitment alu_p_a_borrow; - Commitment alu_p_b_borrow; - Commitment alu_p_sub_a_hi; - Commitment alu_p_sub_a_lo; - Commitment alu_p_sub_b_hi; - Commitment alu_p_sub_b_lo; - Commitment alu_partial_prod_hi; - Commitment alu_partial_prod_lo; - Commitment alu_quotient_hi; - Commitment alu_quotient_lo; - Commitment alu_remainder; - Commitment alu_res_hi; - Commitment alu_res_lo; - Commitment alu_sel_alu; - Commitment alu_sel_cmp; - Commitment alu_sel_div_rng_chk; - Commitment alu_sel_rng_chk; - Commitment alu_sel_rng_chk_lookup; - Commitment alu_sel_shift_which; - Commitment alu_shift_lt_bit_len; - Commitment alu_t_sub_s_bits; - Commitment alu_two_pow_s; - Commitment alu_two_pow_t_sub_s; - Commitment alu_u128_tag; - Commitment alu_u16_r0; - Commitment alu_u16_r1; - Commitment alu_u16_r10; - Commitment alu_u16_r11; - Commitment alu_u16_r12; - Commitment alu_u16_r13; - Commitment alu_u16_r14; - Commitment alu_u16_r2; - Commitment alu_u16_r3; - Commitment alu_u16_r4; - Commitment alu_u16_r5; - Commitment alu_u16_r6; - Commitment alu_u16_r7; - Commitment alu_u16_r8; - Commitment alu_u16_r9; - Commitment alu_u16_tag; - Commitment alu_u32_tag; - Commitment alu_u64_tag; - Commitment alu_u8_r0; - Commitment alu_u8_r1; - Commitment alu_u8_tag; - Commitment binary_acc_ia; - Commitment binary_acc_ib; - Commitment binary_acc_ic; - Commitment binary_clk; - Commitment binary_ia_bytes; - Commitment binary_ib_bytes; - Commitment binary_ic_bytes; - Commitment binary_in_tag; - Commitment binary_mem_tag_ctr; - Commitment binary_mem_tag_ctr_inv; - Commitment binary_op_id; - Commitment binary_sel_bin; - Commitment binary_start; - Commitment byte_lookup_sel_bin; - Commitment byte_lookup_table_byte_lengths; - Commitment byte_lookup_table_in_tags; - Commitment byte_lookup_table_input_a; - Commitment byte_lookup_table_input_b; - Commitment byte_lookup_table_op_id; - Commitment byte_lookup_table_output; - Commitment conversion_clk; - Commitment conversion_input; - Commitment conversion_num_limbs; - Commitment conversion_radix; - Commitment conversion_sel_to_radix_le; - Commitment gas_da_gas_fixed_table; - Commitment gas_l2_gas_fixed_table; - Commitment gas_sel_gas_cost; - Commitment keccakf1600_clk; - Commitment keccakf1600_input; - Commitment keccakf1600_output; - Commitment keccakf1600_sel_keccakf1600; - Commitment kernel_emit_l2_to_l1_msg_write_offset; - Commitment kernel_emit_note_hash_write_offset; - Commitment kernel_emit_nullifier_write_offset; - Commitment kernel_emit_unencrypted_log_write_offset; - Commitment kernel_kernel_in_offset; - Commitment kernel_kernel_out_offset; - Commitment kernel_l1_to_l2_msg_exists_write_offset; - Commitment kernel_note_hash_exist_write_offset; - Commitment kernel_nullifier_exists_write_offset; - Commitment kernel_nullifier_non_exists_write_offset; - Commitment kernel_q_public_input_kernel_add_to_table; - Commitment kernel_q_public_input_kernel_out_add_to_table; - Commitment kernel_side_effect_counter; - Commitment kernel_sload_write_offset; - Commitment kernel_sstore_write_offset; - Commitment main_abs_da_rem_gas_hi; - Commitment main_abs_da_rem_gas_lo; - Commitment main_abs_l2_rem_gas_hi; - Commitment main_abs_l2_rem_gas_lo; - Commitment main_alu_in_tag; - Commitment main_bin_op_id; - Commitment main_call_ptr; - Commitment main_da_gas_op_cost; - Commitment main_da_gas_remaining; - Commitment main_da_out_of_gas; - Commitment main_ia; - Commitment main_ib; - Commitment main_ic; - Commitment main_id; - Commitment main_id_zero; - Commitment main_ind_addr_a; - Commitment main_ind_addr_b; - Commitment main_ind_addr_c; - Commitment main_ind_addr_d; - Commitment main_internal_return_ptr; - Commitment main_inv; - Commitment main_l2_gas_op_cost; - Commitment main_l2_gas_remaining; - Commitment main_l2_out_of_gas; - Commitment main_mem_addr_a; - Commitment main_mem_addr_b; - Commitment main_mem_addr_c; - Commitment main_mem_addr_d; - Commitment main_op_err; - Commitment main_opcode_val; - Commitment main_pc; - Commitment main_r_in_tag; - Commitment main_rwa; - Commitment main_rwb; - Commitment main_rwc; - Commitment main_rwd; - Commitment main_sel_alu; - Commitment main_sel_bin; - Commitment main_sel_gas_accounting_active; - Commitment main_sel_last; - Commitment main_sel_mem_op_a; - Commitment main_sel_mem_op_activate_gas; - Commitment main_sel_mem_op_b; - Commitment main_sel_mem_op_c; - Commitment main_sel_mem_op_d; - Commitment main_sel_mov_ia_to_ic; - Commitment main_sel_mov_ib_to_ic; - Commitment main_sel_op_add; - Commitment main_sel_op_address; - Commitment main_sel_op_and; - Commitment main_sel_op_block_number; - Commitment main_sel_op_cast; - Commitment main_sel_op_chain_id; - Commitment main_sel_op_cmov; - Commitment main_sel_op_coinbase; - Commitment main_sel_op_dagasleft; - Commitment main_sel_op_div; - Commitment main_sel_op_emit_l2_to_l1_msg; - Commitment main_sel_op_emit_note_hash; - Commitment main_sel_op_emit_nullifier; - Commitment main_sel_op_emit_unencrypted_log; - Commitment main_sel_op_eq; - Commitment main_sel_op_external_call; - Commitment main_sel_op_fdiv; - Commitment main_sel_op_fee_per_da_gas; - Commitment main_sel_op_fee_per_l2_gas; - Commitment main_sel_op_function_selector; - Commitment main_sel_op_get_contract_instance; - Commitment main_sel_op_halt; - Commitment main_sel_op_internal_call; - Commitment main_sel_op_internal_return; - Commitment main_sel_op_jump; - Commitment main_sel_op_jumpi; - Commitment main_sel_op_keccak; - Commitment main_sel_op_l1_to_l2_msg_exists; - Commitment main_sel_op_l2gasleft; - Commitment main_sel_op_lt; - Commitment main_sel_op_lte; - Commitment main_sel_op_mov; - Commitment main_sel_op_mul; - Commitment main_sel_op_not; - Commitment main_sel_op_note_hash_exists; - Commitment main_sel_op_nullifier_exists; - Commitment main_sel_op_or; - Commitment main_sel_op_pedersen; - Commitment main_sel_op_poseidon2; - Commitment main_sel_op_radix_le; - Commitment main_sel_op_sender; - Commitment main_sel_op_sha256; - Commitment main_sel_op_shl; - Commitment main_sel_op_shr; - Commitment main_sel_op_sload; - Commitment main_sel_op_sstore; - Commitment main_sel_op_storage_address; - Commitment main_sel_op_sub; - Commitment main_sel_op_timestamp; - Commitment main_sel_op_transaction_fee; - Commitment main_sel_op_version; - Commitment main_sel_op_xor; - Commitment main_sel_q_kernel_lookup; - Commitment main_sel_q_kernel_output_lookup; - Commitment main_sel_resolve_ind_addr_a; - Commitment main_sel_resolve_ind_addr_b; - Commitment main_sel_resolve_ind_addr_c; - Commitment main_sel_resolve_ind_addr_d; - Commitment main_sel_rng_16; - Commitment main_sel_rng_8; - Commitment main_space_id; - Commitment main_tag_err; - Commitment main_w_in_tag; - Commitment mem_addr; - Commitment mem_clk; - Commitment mem_diff_hi; - Commitment mem_diff_lo; - Commitment mem_diff_mid; - Commitment mem_glob_addr; - Commitment mem_last; - Commitment mem_lastAccess; - Commitment mem_one_min_inv; - Commitment mem_r_in_tag; - Commitment mem_rw; - Commitment mem_sel_mem; - Commitment mem_sel_mov_ia_to_ic; - Commitment mem_sel_mov_ib_to_ic; - Commitment mem_sel_op_a; - Commitment mem_sel_op_b; - Commitment mem_sel_op_c; - Commitment mem_sel_op_cmov; - Commitment mem_sel_op_d; - Commitment mem_sel_resolve_ind_addr_a; - Commitment mem_sel_resolve_ind_addr_b; - Commitment mem_sel_resolve_ind_addr_c; - Commitment mem_sel_resolve_ind_addr_d; - Commitment mem_sel_rng_chk; - Commitment mem_skip_check_tag; - Commitment mem_space_id; - Commitment mem_tag; - Commitment mem_tag_err; - Commitment mem_tsp; - Commitment mem_val; - Commitment mem_w_in_tag; - Commitment pedersen_clk; - Commitment pedersen_input; - Commitment pedersen_output; - Commitment pedersen_sel_pedersen; - Commitment poseidon2_clk; - Commitment poseidon2_input; - Commitment poseidon2_output; - Commitment poseidon2_sel_poseidon_perm; - Commitment powers_power_of_2; - Commitment sha256_clk; - Commitment sha256_input; - Commitment sha256_output; - Commitment sha256_sel_sha256_compression; - Commitment sha256_state; - Commitment perm_main_alu; - Commitment perm_main_bin; - Commitment perm_main_conv; - Commitment perm_main_pos2_perm; - Commitment perm_main_pedersen; - Commitment perm_main_mem_a; - Commitment perm_main_mem_b; - Commitment perm_main_mem_c; - Commitment perm_main_mem_d; - Commitment perm_main_mem_ind_addr_a; - Commitment perm_main_mem_ind_addr_b; - Commitment perm_main_mem_ind_addr_c; - Commitment perm_main_mem_ind_addr_d; - Commitment lookup_byte_lengths; - Commitment lookup_byte_operations; - Commitment lookup_opcode_gas; - Commitment range_check_l2_gas_hi; - Commitment range_check_l2_gas_lo; - Commitment range_check_da_gas_hi; - Commitment range_check_da_gas_lo; - Commitment kernel_output_lookup; - Commitment lookup_into_kernel; - Commitment incl_main_tag_err; - Commitment incl_mem_tag_err; - Commitment lookup_mem_rng_chk_lo; - Commitment lookup_mem_rng_chk_mid; - Commitment lookup_mem_rng_chk_hi; - Commitment lookup_pow_2_0; - Commitment lookup_pow_2_1; - Commitment lookup_u8_0; - Commitment lookup_u8_1; - Commitment lookup_u16_0; - Commitment lookup_u16_1; - Commitment lookup_u16_2; - Commitment lookup_u16_3; - Commitment lookup_u16_4; - Commitment lookup_u16_5; - Commitment lookup_u16_6; - Commitment lookup_u16_7; - Commitment lookup_u16_8; - Commitment lookup_u16_9; - Commitment lookup_u16_10; - Commitment lookup_u16_11; - Commitment lookup_u16_12; - Commitment lookup_u16_13; - Commitment lookup_u16_14; - Commitment lookup_div_u16_0; - Commitment lookup_div_u16_1; - Commitment lookup_div_u16_2; - Commitment lookup_div_u16_3; - Commitment lookup_div_u16_4; - Commitment lookup_div_u16_5; - Commitment lookup_div_u16_6; - Commitment lookup_div_u16_7; - Commitment lookup_byte_lengths_counts; - Commitment lookup_byte_operations_counts; - Commitment lookup_opcode_gas_counts; - Commitment range_check_l2_gas_hi_counts; - Commitment range_check_l2_gas_lo_counts; - Commitment range_check_da_gas_hi_counts; - Commitment range_check_da_gas_lo_counts; - Commitment kernel_output_lookup_counts; - Commitment lookup_into_kernel_counts; - Commitment incl_main_tag_err_counts; - Commitment incl_mem_tag_err_counts; - Commitment lookup_mem_rng_chk_lo_counts; - Commitment lookup_mem_rng_chk_mid_counts; - Commitment lookup_mem_rng_chk_hi_counts; - Commitment lookup_pow_2_0_counts; - Commitment lookup_pow_2_1_counts; - Commitment lookup_u8_0_counts; - Commitment lookup_u8_1_counts; - Commitment lookup_u16_0_counts; - Commitment lookup_u16_1_counts; - Commitment lookup_u16_2_counts; - Commitment lookup_u16_3_counts; - Commitment lookup_u16_4_counts; - Commitment lookup_u16_5_counts; - Commitment lookup_u16_6_counts; - Commitment lookup_u16_7_counts; - Commitment lookup_u16_8_counts; - Commitment lookup_u16_9_counts; - Commitment lookup_u16_10_counts; - Commitment lookup_u16_11_counts; - Commitment lookup_u16_12_counts; - Commitment lookup_u16_13_counts; - Commitment lookup_u16_14_counts; - Commitment lookup_div_u16_0_counts; - Commitment lookup_div_u16_1_counts; - Commitment lookup_div_u16_2_counts; - Commitment lookup_div_u16_3_counts; - Commitment lookup_div_u16_4_counts; - Commitment lookup_div_u16_5_counts; - Commitment lookup_div_u16_6_counts; - Commitment lookup_div_u16_7_counts; + std::array commitments; std::vector> sumcheck_univariates; std::array sumcheck_evaluations; @@ -1922,404 +1375,9 @@ class AvmFlavor { circuit_size = deserialize_from_buffer(proof_data, num_frs_read); size_t log_n = numeric::get_msb(circuit_size); - kernel_kernel_inputs = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_kernel_value_out = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_kernel_side_effect_out = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_kernel_metadata_out = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_calldata = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_a_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_a_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_b_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_b_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_borrow = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_cf = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_clk = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_cmp_rng_ctr = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_div_u16_r0 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_div_u16_r1 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_div_u16_r2 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_div_u16_r3 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_div_u16_r4 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_div_u16_r5 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_div_u16_r6 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_div_u16_r7 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_divisor_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_divisor_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_ff_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_ia = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_ib = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_ic = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_in_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_add = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_cast = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_cast_prev = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_div = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_div_a_lt_b = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_div_std = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_eq = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_eq_diff_inv = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_lt = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_lte = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_mul = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_not = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_shl = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_shr = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_op_sub = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_p_a_borrow = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_p_b_borrow = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_p_sub_a_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_p_sub_a_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_p_sub_b_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_p_sub_b_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_partial_prod_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_partial_prod_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_quotient_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_quotient_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_remainder = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_res_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_res_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_sel_alu = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_sel_cmp = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_sel_div_rng_chk = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_sel_rng_chk = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_sel_rng_chk_lookup = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_sel_shift_which = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_shift_lt_bit_len = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_t_sub_s_bits = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_two_pow_s = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_two_pow_t_sub_s = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u128_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r0 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r1 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r10 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r11 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r12 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r13 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r14 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r2 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r3 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r4 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r5 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r6 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r7 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r8 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_r9 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u16_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u32_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u64_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u8_r0 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u8_r1 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - alu_u8_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - binary_acc_ia = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - binary_acc_ib = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - binary_acc_ic = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - binary_clk = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - binary_ia_bytes = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - binary_ib_bytes = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - binary_ic_bytes = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - binary_in_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - binary_mem_tag_ctr = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - binary_mem_tag_ctr_inv = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - binary_op_id = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - binary_sel_bin = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - binary_start = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - byte_lookup_sel_bin = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - byte_lookup_table_byte_lengths = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - byte_lookup_table_in_tags = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - byte_lookup_table_input_a = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - byte_lookup_table_input_b = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - byte_lookup_table_op_id = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - byte_lookup_table_output = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - conversion_clk = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - conversion_input = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - conversion_num_limbs = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - conversion_radix = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - conversion_sel_to_radix_le = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - gas_da_gas_fixed_table = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - gas_l2_gas_fixed_table = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - gas_sel_gas_cost = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - keccakf1600_clk = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - keccakf1600_input = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - keccakf1600_output = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - keccakf1600_sel_keccakf1600 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_emit_l2_to_l1_msg_write_offset = - deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_emit_note_hash_write_offset = - deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_emit_nullifier_write_offset = - deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_emit_unencrypted_log_write_offset = - deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_kernel_in_offset = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_kernel_out_offset = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_l1_to_l2_msg_exists_write_offset = - deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_note_hash_exist_write_offset = - deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_nullifier_exists_write_offset = - deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_nullifier_non_exists_write_offset = - deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_q_public_input_kernel_add_to_table = - deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_q_public_input_kernel_out_add_to_table = - deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_side_effect_counter = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_sload_write_offset = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_sstore_write_offset = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_abs_da_rem_gas_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_abs_da_rem_gas_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_abs_l2_rem_gas_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_abs_l2_rem_gas_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_alu_in_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_bin_op_id = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_call_ptr = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_da_gas_op_cost = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_da_gas_remaining = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_da_out_of_gas = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_ia = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_ib = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_ic = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_id = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_id_zero = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_ind_addr_a = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_ind_addr_b = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_ind_addr_c = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_ind_addr_d = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_internal_return_ptr = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_inv = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_l2_gas_op_cost = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_l2_gas_remaining = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_l2_out_of_gas = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_mem_addr_a = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_mem_addr_b = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_mem_addr_c = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_mem_addr_d = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_op_err = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_opcode_val = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_pc = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_r_in_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_rwa = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_rwb = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_rwc = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_rwd = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_alu = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_bin = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_gas_accounting_active = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_last = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_mem_op_a = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_mem_op_activate_gas = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_mem_op_b = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_mem_op_c = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_mem_op_d = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_mov_ia_to_ic = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_mov_ib_to_ic = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_add = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_address = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_and = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_block_number = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_cast = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_chain_id = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_cmov = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_coinbase = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_dagasleft = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_div = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_emit_l2_to_l1_msg = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_emit_note_hash = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_emit_nullifier = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_emit_unencrypted_log = - deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_eq = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_external_call = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_fdiv = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_fee_per_da_gas = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_fee_per_l2_gas = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_function_selector = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_get_contract_instance = - deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_halt = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_internal_call = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_internal_return = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_jump = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_jumpi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_keccak = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_l1_to_l2_msg_exists = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_l2gasleft = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_lt = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_lte = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_mov = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_mul = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_not = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_note_hash_exists = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_nullifier_exists = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_or = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_pedersen = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_poseidon2 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_radix_le = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_sender = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_sha256 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_shl = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_shr = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_sload = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_sstore = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_storage_address = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_sub = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_timestamp = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_transaction_fee = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_version = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_op_xor = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_q_kernel_lookup = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_q_kernel_output_lookup = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_resolve_ind_addr_a = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_resolve_ind_addr_b = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_resolve_ind_addr_c = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_resolve_ind_addr_d = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_rng_16 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_sel_rng_8 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_space_id = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_tag_err = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - main_w_in_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_addr = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_clk = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_diff_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_diff_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_diff_mid = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_glob_addr = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_last = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_lastAccess = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_one_min_inv = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_r_in_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_rw = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_sel_mem = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_sel_mov_ia_to_ic = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_sel_mov_ib_to_ic = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_sel_op_a = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_sel_op_b = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_sel_op_c = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_sel_op_cmov = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_sel_op_d = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_sel_resolve_ind_addr_a = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_sel_resolve_ind_addr_b = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_sel_resolve_ind_addr_c = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_sel_resolve_ind_addr_d = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_sel_rng_chk = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_skip_check_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_space_id = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_tag_err = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_tsp = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_val = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - mem_w_in_tag = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - pedersen_clk = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - pedersen_input = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - pedersen_output = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - pedersen_sel_pedersen = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - poseidon2_clk = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - poseidon2_input = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - poseidon2_output = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - poseidon2_sel_poseidon_perm = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - powers_power_of_2 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - sha256_clk = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - sha256_input = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - sha256_output = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - sha256_sel_sha256_compression = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - sha256_state = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - perm_main_alu = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - perm_main_bin = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - perm_main_conv = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - perm_main_pos2_perm = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - perm_main_pedersen = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - perm_main_mem_a = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - perm_main_mem_b = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - perm_main_mem_c = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - perm_main_mem_d = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - perm_main_mem_ind_addr_a = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - perm_main_mem_ind_addr_b = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - perm_main_mem_ind_addr_c = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - perm_main_mem_ind_addr_d = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_byte_lengths = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_byte_operations = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_opcode_gas = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - range_check_l2_gas_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - range_check_l2_gas_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - range_check_da_gas_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - range_check_da_gas_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_output_lookup = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_into_kernel = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - incl_main_tag_err = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - incl_mem_tag_err = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_mem_rng_chk_lo = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_mem_rng_chk_mid = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_mem_rng_chk_hi = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_pow_2_0 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_pow_2_1 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u8_0 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u8_1 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_0 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_1 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_2 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_3 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_4 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_5 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_6 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_7 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_8 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_9 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_10 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_11 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_12 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_13 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_14 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_0 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_1 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_2 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_3 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_4 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_5 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_6 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_7 = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_byte_lengths_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_byte_operations_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_opcode_gas_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - range_check_l2_gas_hi_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - range_check_l2_gas_lo_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - range_check_da_gas_hi_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - range_check_da_gas_lo_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - kernel_output_lookup_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_into_kernel_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - incl_main_tag_err_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - incl_mem_tag_err_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_mem_rng_chk_lo_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_mem_rng_chk_mid_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_mem_rng_chk_hi_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_pow_2_0_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_pow_2_1_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u8_0_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u8_1_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_0_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_1_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_2_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_3_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_4_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_5_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_6_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_7_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_8_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_9_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_10_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_11_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_12_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_13_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_u16_14_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_0_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_1_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_2_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_3_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_4_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_5_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_6_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - lookup_div_u16_7_counts = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - + for (auto& commitment : commitments) { + commitment = deserialize_from_buffer(proof_data, num_frs_read); + } for (size_t i = 0; i < log_n; ++i) { sumcheck_univariates.emplace_back( deserialize_from_buffer>(Transcript::proof_data, @@ -2342,392 +1400,9 @@ class AvmFlavor { serialize_to_buffer(circuit_size, Transcript::proof_data); - serialize_to_buffer(kernel_kernel_inputs, Transcript::proof_data); - serialize_to_buffer(kernel_kernel_value_out, Transcript::proof_data); - serialize_to_buffer(kernel_kernel_side_effect_out, Transcript::proof_data); - serialize_to_buffer(kernel_kernel_metadata_out, Transcript::proof_data); - serialize_to_buffer(main_calldata, Transcript::proof_data); - serialize_to_buffer(alu_a_hi, Transcript::proof_data); - serialize_to_buffer(alu_a_lo, Transcript::proof_data); - serialize_to_buffer(alu_b_hi, Transcript::proof_data); - serialize_to_buffer(alu_b_lo, Transcript::proof_data); - serialize_to_buffer(alu_borrow, Transcript::proof_data); - serialize_to_buffer(alu_cf, Transcript::proof_data); - serialize_to_buffer(alu_clk, Transcript::proof_data); - serialize_to_buffer(alu_cmp_rng_ctr, Transcript::proof_data); - serialize_to_buffer(alu_div_u16_r0, Transcript::proof_data); - serialize_to_buffer(alu_div_u16_r1, Transcript::proof_data); - serialize_to_buffer(alu_div_u16_r2, Transcript::proof_data); - serialize_to_buffer(alu_div_u16_r3, Transcript::proof_data); - serialize_to_buffer(alu_div_u16_r4, Transcript::proof_data); - serialize_to_buffer(alu_div_u16_r5, Transcript::proof_data); - serialize_to_buffer(alu_div_u16_r6, Transcript::proof_data); - serialize_to_buffer(alu_div_u16_r7, Transcript::proof_data); - serialize_to_buffer(alu_divisor_hi, Transcript::proof_data); - serialize_to_buffer(alu_divisor_lo, Transcript::proof_data); - serialize_to_buffer(alu_ff_tag, Transcript::proof_data); - serialize_to_buffer(alu_ia, Transcript::proof_data); - serialize_to_buffer(alu_ib, Transcript::proof_data); - serialize_to_buffer(alu_ic, Transcript::proof_data); - serialize_to_buffer(alu_in_tag, Transcript::proof_data); - serialize_to_buffer(alu_op_add, Transcript::proof_data); - serialize_to_buffer(alu_op_cast, Transcript::proof_data); - serialize_to_buffer(alu_op_cast_prev, Transcript::proof_data); - serialize_to_buffer(alu_op_div, Transcript::proof_data); - serialize_to_buffer(alu_op_div_a_lt_b, Transcript::proof_data); - serialize_to_buffer(alu_op_div_std, Transcript::proof_data); - serialize_to_buffer(alu_op_eq, Transcript::proof_data); - serialize_to_buffer(alu_op_eq_diff_inv, Transcript::proof_data); - serialize_to_buffer(alu_op_lt, Transcript::proof_data); - serialize_to_buffer(alu_op_lte, Transcript::proof_data); - serialize_to_buffer(alu_op_mul, Transcript::proof_data); - serialize_to_buffer(alu_op_not, Transcript::proof_data); - serialize_to_buffer(alu_op_shl, Transcript::proof_data); - serialize_to_buffer(alu_op_shr, Transcript::proof_data); - serialize_to_buffer(alu_op_sub, Transcript::proof_data); - serialize_to_buffer(alu_p_a_borrow, Transcript::proof_data); - serialize_to_buffer(alu_p_b_borrow, Transcript::proof_data); - serialize_to_buffer(alu_p_sub_a_hi, Transcript::proof_data); - serialize_to_buffer(alu_p_sub_a_lo, Transcript::proof_data); - serialize_to_buffer(alu_p_sub_b_hi, Transcript::proof_data); - serialize_to_buffer(alu_p_sub_b_lo, Transcript::proof_data); - serialize_to_buffer(alu_partial_prod_hi, Transcript::proof_data); - serialize_to_buffer(alu_partial_prod_lo, Transcript::proof_data); - serialize_to_buffer(alu_quotient_hi, Transcript::proof_data); - serialize_to_buffer(alu_quotient_lo, Transcript::proof_data); - serialize_to_buffer(alu_remainder, Transcript::proof_data); - serialize_to_buffer(alu_res_hi, Transcript::proof_data); - serialize_to_buffer(alu_res_lo, Transcript::proof_data); - serialize_to_buffer(alu_sel_alu, Transcript::proof_data); - serialize_to_buffer(alu_sel_cmp, Transcript::proof_data); - serialize_to_buffer(alu_sel_div_rng_chk, Transcript::proof_data); - serialize_to_buffer(alu_sel_rng_chk, Transcript::proof_data); - serialize_to_buffer(alu_sel_rng_chk_lookup, Transcript::proof_data); - serialize_to_buffer(alu_sel_shift_which, Transcript::proof_data); - serialize_to_buffer(alu_shift_lt_bit_len, Transcript::proof_data); - serialize_to_buffer(alu_t_sub_s_bits, Transcript::proof_data); - serialize_to_buffer(alu_two_pow_s, Transcript::proof_data); - serialize_to_buffer(alu_two_pow_t_sub_s, Transcript::proof_data); - serialize_to_buffer(alu_u128_tag, Transcript::proof_data); - serialize_to_buffer(alu_u16_r0, Transcript::proof_data); - serialize_to_buffer(alu_u16_r1, Transcript::proof_data); - serialize_to_buffer(alu_u16_r10, Transcript::proof_data); - serialize_to_buffer(alu_u16_r11, Transcript::proof_data); - serialize_to_buffer(alu_u16_r12, Transcript::proof_data); - serialize_to_buffer(alu_u16_r13, Transcript::proof_data); - serialize_to_buffer(alu_u16_r14, Transcript::proof_data); - serialize_to_buffer(alu_u16_r2, Transcript::proof_data); - serialize_to_buffer(alu_u16_r3, Transcript::proof_data); - serialize_to_buffer(alu_u16_r4, Transcript::proof_data); - serialize_to_buffer(alu_u16_r5, Transcript::proof_data); - serialize_to_buffer(alu_u16_r6, Transcript::proof_data); - serialize_to_buffer(alu_u16_r7, Transcript::proof_data); - serialize_to_buffer(alu_u16_r8, Transcript::proof_data); - serialize_to_buffer(alu_u16_r9, Transcript::proof_data); - serialize_to_buffer(alu_u16_tag, Transcript::proof_data); - serialize_to_buffer(alu_u32_tag, Transcript::proof_data); - serialize_to_buffer(alu_u64_tag, Transcript::proof_data); - serialize_to_buffer(alu_u8_r0, Transcript::proof_data); - serialize_to_buffer(alu_u8_r1, Transcript::proof_data); - serialize_to_buffer(alu_u8_tag, Transcript::proof_data); - serialize_to_buffer(binary_acc_ia, Transcript::proof_data); - serialize_to_buffer(binary_acc_ib, Transcript::proof_data); - serialize_to_buffer(binary_acc_ic, Transcript::proof_data); - serialize_to_buffer(binary_clk, Transcript::proof_data); - serialize_to_buffer(binary_ia_bytes, Transcript::proof_data); - serialize_to_buffer(binary_ib_bytes, Transcript::proof_data); - serialize_to_buffer(binary_ic_bytes, Transcript::proof_data); - serialize_to_buffer(binary_in_tag, Transcript::proof_data); - serialize_to_buffer(binary_mem_tag_ctr, Transcript::proof_data); - serialize_to_buffer(binary_mem_tag_ctr_inv, Transcript::proof_data); - serialize_to_buffer(binary_op_id, Transcript::proof_data); - serialize_to_buffer(binary_sel_bin, Transcript::proof_data); - serialize_to_buffer(binary_start, Transcript::proof_data); - serialize_to_buffer(byte_lookup_sel_bin, Transcript::proof_data); - serialize_to_buffer(byte_lookup_table_byte_lengths, Transcript::proof_data); - serialize_to_buffer(byte_lookup_table_in_tags, Transcript::proof_data); - serialize_to_buffer(byte_lookup_table_input_a, Transcript::proof_data); - serialize_to_buffer(byte_lookup_table_input_b, Transcript::proof_data); - serialize_to_buffer(byte_lookup_table_op_id, Transcript::proof_data); - serialize_to_buffer(byte_lookup_table_output, Transcript::proof_data); - serialize_to_buffer(conversion_clk, Transcript::proof_data); - serialize_to_buffer(conversion_input, Transcript::proof_data); - serialize_to_buffer(conversion_num_limbs, Transcript::proof_data); - serialize_to_buffer(conversion_radix, Transcript::proof_data); - serialize_to_buffer(conversion_sel_to_radix_le, Transcript::proof_data); - serialize_to_buffer(gas_da_gas_fixed_table, Transcript::proof_data); - serialize_to_buffer(gas_l2_gas_fixed_table, Transcript::proof_data); - serialize_to_buffer(gas_sel_gas_cost, Transcript::proof_data); - serialize_to_buffer(keccakf1600_clk, Transcript::proof_data); - serialize_to_buffer(keccakf1600_input, Transcript::proof_data); - serialize_to_buffer(keccakf1600_output, Transcript::proof_data); - serialize_to_buffer(keccakf1600_sel_keccakf1600, Transcript::proof_data); - serialize_to_buffer(kernel_emit_l2_to_l1_msg_write_offset, Transcript::proof_data); - serialize_to_buffer(kernel_emit_note_hash_write_offset, Transcript::proof_data); - serialize_to_buffer(kernel_emit_nullifier_write_offset, Transcript::proof_data); - serialize_to_buffer(kernel_emit_unencrypted_log_write_offset, Transcript::proof_data); - serialize_to_buffer(kernel_kernel_in_offset, Transcript::proof_data); - serialize_to_buffer(kernel_kernel_out_offset, Transcript::proof_data); - serialize_to_buffer(kernel_l1_to_l2_msg_exists_write_offset, Transcript::proof_data); - serialize_to_buffer(kernel_note_hash_exist_write_offset, Transcript::proof_data); - serialize_to_buffer(kernel_nullifier_exists_write_offset, Transcript::proof_data); - serialize_to_buffer(kernel_nullifier_non_exists_write_offset, Transcript::proof_data); - serialize_to_buffer(kernel_q_public_input_kernel_add_to_table, Transcript::proof_data); - serialize_to_buffer(kernel_q_public_input_kernel_out_add_to_table, Transcript::proof_data); - serialize_to_buffer(kernel_side_effect_counter, Transcript::proof_data); - serialize_to_buffer(kernel_sload_write_offset, Transcript::proof_data); - serialize_to_buffer(kernel_sstore_write_offset, Transcript::proof_data); - serialize_to_buffer(main_abs_da_rem_gas_hi, Transcript::proof_data); - serialize_to_buffer(main_abs_da_rem_gas_lo, Transcript::proof_data); - serialize_to_buffer(main_abs_l2_rem_gas_hi, Transcript::proof_data); - serialize_to_buffer(main_abs_l2_rem_gas_lo, Transcript::proof_data); - serialize_to_buffer(main_alu_in_tag, Transcript::proof_data); - serialize_to_buffer(main_bin_op_id, Transcript::proof_data); - serialize_to_buffer(main_call_ptr, Transcript::proof_data); - serialize_to_buffer(main_da_gas_op_cost, Transcript::proof_data); - serialize_to_buffer(main_da_gas_remaining, Transcript::proof_data); - serialize_to_buffer(main_da_out_of_gas, Transcript::proof_data); - serialize_to_buffer(main_ia, Transcript::proof_data); - serialize_to_buffer(main_ib, Transcript::proof_data); - serialize_to_buffer(main_ic, Transcript::proof_data); - serialize_to_buffer(main_id, Transcript::proof_data); - serialize_to_buffer(main_id_zero, Transcript::proof_data); - serialize_to_buffer(main_ind_addr_a, Transcript::proof_data); - serialize_to_buffer(main_ind_addr_b, Transcript::proof_data); - serialize_to_buffer(main_ind_addr_c, Transcript::proof_data); - serialize_to_buffer(main_ind_addr_d, Transcript::proof_data); - serialize_to_buffer(main_internal_return_ptr, Transcript::proof_data); - serialize_to_buffer(main_inv, Transcript::proof_data); - serialize_to_buffer(main_l2_gas_op_cost, Transcript::proof_data); - serialize_to_buffer(main_l2_gas_remaining, Transcript::proof_data); - serialize_to_buffer(main_l2_out_of_gas, Transcript::proof_data); - serialize_to_buffer(main_mem_addr_a, Transcript::proof_data); - serialize_to_buffer(main_mem_addr_b, Transcript::proof_data); - serialize_to_buffer(main_mem_addr_c, Transcript::proof_data); - serialize_to_buffer(main_mem_addr_d, Transcript::proof_data); - serialize_to_buffer(main_op_err, Transcript::proof_data); - serialize_to_buffer(main_opcode_val, Transcript::proof_data); - serialize_to_buffer(main_pc, Transcript::proof_data); - serialize_to_buffer(main_r_in_tag, Transcript::proof_data); - serialize_to_buffer(main_rwa, Transcript::proof_data); - serialize_to_buffer(main_rwb, Transcript::proof_data); - serialize_to_buffer(main_rwc, Transcript::proof_data); - serialize_to_buffer(main_rwd, Transcript::proof_data); - serialize_to_buffer(main_sel_alu, Transcript::proof_data); - serialize_to_buffer(main_sel_bin, Transcript::proof_data); - serialize_to_buffer(main_sel_gas_accounting_active, Transcript::proof_data); - serialize_to_buffer(main_sel_last, Transcript::proof_data); - serialize_to_buffer(main_sel_mem_op_a, Transcript::proof_data); - serialize_to_buffer(main_sel_mem_op_activate_gas, Transcript::proof_data); - serialize_to_buffer(main_sel_mem_op_b, Transcript::proof_data); - serialize_to_buffer(main_sel_mem_op_c, Transcript::proof_data); - serialize_to_buffer(main_sel_mem_op_d, Transcript::proof_data); - serialize_to_buffer(main_sel_mov_ia_to_ic, Transcript::proof_data); - serialize_to_buffer(main_sel_mov_ib_to_ic, Transcript::proof_data); - serialize_to_buffer(main_sel_op_add, Transcript::proof_data); - serialize_to_buffer(main_sel_op_address, Transcript::proof_data); - serialize_to_buffer(main_sel_op_and, Transcript::proof_data); - serialize_to_buffer(main_sel_op_block_number, Transcript::proof_data); - serialize_to_buffer(main_sel_op_cast, Transcript::proof_data); - serialize_to_buffer(main_sel_op_chain_id, Transcript::proof_data); - serialize_to_buffer(main_sel_op_cmov, Transcript::proof_data); - serialize_to_buffer(main_sel_op_coinbase, Transcript::proof_data); - serialize_to_buffer(main_sel_op_dagasleft, Transcript::proof_data); - serialize_to_buffer(main_sel_op_div, Transcript::proof_data); - serialize_to_buffer(main_sel_op_emit_l2_to_l1_msg, Transcript::proof_data); - serialize_to_buffer(main_sel_op_emit_note_hash, Transcript::proof_data); - serialize_to_buffer(main_sel_op_emit_nullifier, Transcript::proof_data); - serialize_to_buffer(main_sel_op_emit_unencrypted_log, Transcript::proof_data); - serialize_to_buffer(main_sel_op_eq, Transcript::proof_data); - serialize_to_buffer(main_sel_op_external_call, Transcript::proof_data); - serialize_to_buffer(main_sel_op_fdiv, Transcript::proof_data); - serialize_to_buffer(main_sel_op_fee_per_da_gas, Transcript::proof_data); - serialize_to_buffer(main_sel_op_fee_per_l2_gas, Transcript::proof_data); - serialize_to_buffer(main_sel_op_function_selector, Transcript::proof_data); - serialize_to_buffer(main_sel_op_get_contract_instance, Transcript::proof_data); - serialize_to_buffer(main_sel_op_halt, Transcript::proof_data); - serialize_to_buffer(main_sel_op_internal_call, Transcript::proof_data); - serialize_to_buffer(main_sel_op_internal_return, Transcript::proof_data); - serialize_to_buffer(main_sel_op_jump, Transcript::proof_data); - serialize_to_buffer(main_sel_op_jumpi, Transcript::proof_data); - serialize_to_buffer(main_sel_op_keccak, Transcript::proof_data); - serialize_to_buffer(main_sel_op_l1_to_l2_msg_exists, Transcript::proof_data); - serialize_to_buffer(main_sel_op_l2gasleft, Transcript::proof_data); - serialize_to_buffer(main_sel_op_lt, Transcript::proof_data); - serialize_to_buffer(main_sel_op_lte, Transcript::proof_data); - serialize_to_buffer(main_sel_op_mov, Transcript::proof_data); - serialize_to_buffer(main_sel_op_mul, Transcript::proof_data); - serialize_to_buffer(main_sel_op_not, Transcript::proof_data); - serialize_to_buffer(main_sel_op_note_hash_exists, Transcript::proof_data); - serialize_to_buffer(main_sel_op_nullifier_exists, Transcript::proof_data); - serialize_to_buffer(main_sel_op_or, Transcript::proof_data); - serialize_to_buffer(main_sel_op_pedersen, Transcript::proof_data); - serialize_to_buffer(main_sel_op_poseidon2, Transcript::proof_data); - serialize_to_buffer(main_sel_op_radix_le, Transcript::proof_data); - serialize_to_buffer(main_sel_op_sender, Transcript::proof_data); - serialize_to_buffer(main_sel_op_sha256, Transcript::proof_data); - serialize_to_buffer(main_sel_op_shl, Transcript::proof_data); - serialize_to_buffer(main_sel_op_shr, Transcript::proof_data); - serialize_to_buffer(main_sel_op_sload, Transcript::proof_data); - serialize_to_buffer(main_sel_op_sstore, Transcript::proof_data); - serialize_to_buffer(main_sel_op_storage_address, Transcript::proof_data); - serialize_to_buffer(main_sel_op_sub, Transcript::proof_data); - serialize_to_buffer(main_sel_op_timestamp, Transcript::proof_data); - serialize_to_buffer(main_sel_op_transaction_fee, Transcript::proof_data); - serialize_to_buffer(main_sel_op_version, Transcript::proof_data); - serialize_to_buffer(main_sel_op_xor, Transcript::proof_data); - serialize_to_buffer(main_sel_q_kernel_lookup, Transcript::proof_data); - serialize_to_buffer(main_sel_q_kernel_output_lookup, Transcript::proof_data); - serialize_to_buffer(main_sel_resolve_ind_addr_a, Transcript::proof_data); - serialize_to_buffer(main_sel_resolve_ind_addr_b, Transcript::proof_data); - serialize_to_buffer(main_sel_resolve_ind_addr_c, Transcript::proof_data); - serialize_to_buffer(main_sel_resolve_ind_addr_d, Transcript::proof_data); - serialize_to_buffer(main_sel_rng_16, Transcript::proof_data); - serialize_to_buffer(main_sel_rng_8, Transcript::proof_data); - serialize_to_buffer(main_space_id, Transcript::proof_data); - serialize_to_buffer(main_tag_err, Transcript::proof_data); - serialize_to_buffer(main_w_in_tag, Transcript::proof_data); - serialize_to_buffer(mem_addr, Transcript::proof_data); - serialize_to_buffer(mem_clk, Transcript::proof_data); - serialize_to_buffer(mem_diff_hi, Transcript::proof_data); - serialize_to_buffer(mem_diff_lo, Transcript::proof_data); - serialize_to_buffer(mem_diff_mid, Transcript::proof_data); - serialize_to_buffer(mem_glob_addr, Transcript::proof_data); - serialize_to_buffer(mem_last, Transcript::proof_data); - serialize_to_buffer(mem_lastAccess, Transcript::proof_data); - serialize_to_buffer(mem_one_min_inv, Transcript::proof_data); - serialize_to_buffer(mem_r_in_tag, Transcript::proof_data); - serialize_to_buffer(mem_rw, Transcript::proof_data); - serialize_to_buffer(mem_sel_mem, Transcript::proof_data); - serialize_to_buffer(mem_sel_mov_ia_to_ic, Transcript::proof_data); - serialize_to_buffer(mem_sel_mov_ib_to_ic, Transcript::proof_data); - serialize_to_buffer(mem_sel_op_a, Transcript::proof_data); - serialize_to_buffer(mem_sel_op_b, Transcript::proof_data); - serialize_to_buffer(mem_sel_op_c, Transcript::proof_data); - serialize_to_buffer(mem_sel_op_cmov, Transcript::proof_data); - serialize_to_buffer(mem_sel_op_d, Transcript::proof_data); - serialize_to_buffer(mem_sel_resolve_ind_addr_a, Transcript::proof_data); - serialize_to_buffer(mem_sel_resolve_ind_addr_b, Transcript::proof_data); - serialize_to_buffer(mem_sel_resolve_ind_addr_c, Transcript::proof_data); - serialize_to_buffer(mem_sel_resolve_ind_addr_d, Transcript::proof_data); - serialize_to_buffer(mem_sel_rng_chk, Transcript::proof_data); - serialize_to_buffer(mem_skip_check_tag, Transcript::proof_data); - serialize_to_buffer(mem_space_id, Transcript::proof_data); - serialize_to_buffer(mem_tag, Transcript::proof_data); - serialize_to_buffer(mem_tag_err, Transcript::proof_data); - serialize_to_buffer(mem_tsp, Transcript::proof_data); - serialize_to_buffer(mem_val, Transcript::proof_data); - serialize_to_buffer(mem_w_in_tag, Transcript::proof_data); - serialize_to_buffer(pedersen_clk, Transcript::proof_data); - serialize_to_buffer(pedersen_input, Transcript::proof_data); - serialize_to_buffer(pedersen_output, Transcript::proof_data); - serialize_to_buffer(pedersen_sel_pedersen, Transcript::proof_data); - serialize_to_buffer(poseidon2_clk, Transcript::proof_data); - serialize_to_buffer(poseidon2_input, Transcript::proof_data); - serialize_to_buffer(poseidon2_output, Transcript::proof_data); - serialize_to_buffer(poseidon2_sel_poseidon_perm, Transcript::proof_data); - serialize_to_buffer(powers_power_of_2, Transcript::proof_data); - serialize_to_buffer(sha256_clk, Transcript::proof_data); - serialize_to_buffer(sha256_input, Transcript::proof_data); - serialize_to_buffer(sha256_output, Transcript::proof_data); - serialize_to_buffer(sha256_sel_sha256_compression, Transcript::proof_data); - serialize_to_buffer(sha256_state, Transcript::proof_data); - serialize_to_buffer(perm_main_alu, Transcript::proof_data); - serialize_to_buffer(perm_main_bin, Transcript::proof_data); - serialize_to_buffer(perm_main_conv, Transcript::proof_data); - serialize_to_buffer(perm_main_pos2_perm, Transcript::proof_data); - serialize_to_buffer(perm_main_pedersen, Transcript::proof_data); - serialize_to_buffer(perm_main_mem_a, Transcript::proof_data); - serialize_to_buffer(perm_main_mem_b, Transcript::proof_data); - serialize_to_buffer(perm_main_mem_c, Transcript::proof_data); - serialize_to_buffer(perm_main_mem_d, Transcript::proof_data); - serialize_to_buffer(perm_main_mem_ind_addr_a, Transcript::proof_data); - serialize_to_buffer(perm_main_mem_ind_addr_b, Transcript::proof_data); - serialize_to_buffer(perm_main_mem_ind_addr_c, Transcript::proof_data); - serialize_to_buffer(perm_main_mem_ind_addr_d, Transcript::proof_data); - serialize_to_buffer(lookup_byte_lengths, Transcript::proof_data); - serialize_to_buffer(lookup_byte_operations, Transcript::proof_data); - serialize_to_buffer(lookup_opcode_gas, Transcript::proof_data); - serialize_to_buffer(range_check_l2_gas_hi, Transcript::proof_data); - serialize_to_buffer(range_check_l2_gas_lo, Transcript::proof_data); - serialize_to_buffer(range_check_da_gas_hi, Transcript::proof_data); - serialize_to_buffer(range_check_da_gas_lo, Transcript::proof_data); - serialize_to_buffer(kernel_output_lookup, Transcript::proof_data); - serialize_to_buffer(lookup_into_kernel, Transcript::proof_data); - serialize_to_buffer(incl_main_tag_err, Transcript::proof_data); - serialize_to_buffer(incl_mem_tag_err, Transcript::proof_data); - serialize_to_buffer(lookup_mem_rng_chk_lo, Transcript::proof_data); - serialize_to_buffer(lookup_mem_rng_chk_mid, Transcript::proof_data); - serialize_to_buffer(lookup_mem_rng_chk_hi, Transcript::proof_data); - serialize_to_buffer(lookup_pow_2_0, Transcript::proof_data); - serialize_to_buffer(lookup_pow_2_1, Transcript::proof_data); - serialize_to_buffer(lookup_u8_0, Transcript::proof_data); - serialize_to_buffer(lookup_u8_1, Transcript::proof_data); - serialize_to_buffer(lookup_u16_0, Transcript::proof_data); - serialize_to_buffer(lookup_u16_1, Transcript::proof_data); - serialize_to_buffer(lookup_u16_2, Transcript::proof_data); - serialize_to_buffer(lookup_u16_3, Transcript::proof_data); - serialize_to_buffer(lookup_u16_4, Transcript::proof_data); - serialize_to_buffer(lookup_u16_5, Transcript::proof_data); - serialize_to_buffer(lookup_u16_6, Transcript::proof_data); - serialize_to_buffer(lookup_u16_7, Transcript::proof_data); - serialize_to_buffer(lookup_u16_8, Transcript::proof_data); - serialize_to_buffer(lookup_u16_9, Transcript::proof_data); - serialize_to_buffer(lookup_u16_10, Transcript::proof_data); - serialize_to_buffer(lookup_u16_11, Transcript::proof_data); - serialize_to_buffer(lookup_u16_12, Transcript::proof_data); - serialize_to_buffer(lookup_u16_13, Transcript::proof_data); - serialize_to_buffer(lookup_u16_14, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_0, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_1, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_2, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_3, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_4, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_5, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_6, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_7, Transcript::proof_data); - serialize_to_buffer(lookup_byte_lengths_counts, Transcript::proof_data); - serialize_to_buffer(lookup_byte_operations_counts, Transcript::proof_data); - serialize_to_buffer(lookup_opcode_gas_counts, Transcript::proof_data); - serialize_to_buffer(range_check_l2_gas_hi_counts, Transcript::proof_data); - serialize_to_buffer(range_check_l2_gas_lo_counts, Transcript::proof_data); - serialize_to_buffer(range_check_da_gas_hi_counts, Transcript::proof_data); - serialize_to_buffer(range_check_da_gas_lo_counts, Transcript::proof_data); - serialize_to_buffer(kernel_output_lookup_counts, Transcript::proof_data); - serialize_to_buffer(lookup_into_kernel_counts, Transcript::proof_data); - serialize_to_buffer(incl_main_tag_err_counts, Transcript::proof_data); - serialize_to_buffer(incl_mem_tag_err_counts, Transcript::proof_data); - serialize_to_buffer(lookup_mem_rng_chk_lo_counts, Transcript::proof_data); - serialize_to_buffer(lookup_mem_rng_chk_mid_counts, Transcript::proof_data); - serialize_to_buffer(lookup_mem_rng_chk_hi_counts, Transcript::proof_data); - serialize_to_buffer(lookup_pow_2_0_counts, Transcript::proof_data); - serialize_to_buffer(lookup_pow_2_1_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u8_0_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u8_1_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_0_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_1_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_2_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_3_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_4_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_5_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_6_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_7_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_8_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_9_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_10_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_11_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_12_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_13_counts, Transcript::proof_data); - serialize_to_buffer(lookup_u16_14_counts, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_0_counts, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_1_counts, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_2_counts, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_3_counts, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_4_counts, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_5_counts, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_6_counts, Transcript::proof_data); - serialize_to_buffer(lookup_div_u16_7_counts, Transcript::proof_data); - + for (const auto& commitment : commitments) { + serialize_to_buffer(commitment, Transcript::proof_data); + } for (size_t i = 0; i < log_n; ++i) { serialize_to_buffer(sumcheck_univariates[i], Transcript::proof_data); } diff --git a/barretenberg/cpp/src/barretenberg/vm/generated/avm_prover.cpp b/barretenberg/cpp/src/barretenberg/vm/generated/avm_prover.cpp index 2633bb78f0fe..23762777a9f6 100644 --- a/barretenberg/cpp/src/barretenberg/vm/generated/avm_prover.cpp +++ b/barretenberg/cpp/src/barretenberg/vm/generated/avm_prover.cpp @@ -9,11 +9,34 @@ #include "barretenberg/relations/permutation_relation.hpp" #include "barretenberg/sumcheck/sumcheck.hpp" +#include "barretenberg/vm/avm_trace/stats.hpp" + namespace bb { using Flavor = AvmFlavor; using FF = Flavor::FF; +namespace { + +// Loops through LookupRelations and calculates the logderivatives. +// Metaprogramming is used to loop through the relations, because they are types. +template +void compute_logderivative_rel(const RelationParameters& relation_parameters, + PP& prover_polynomials, + size_t circuit_size) +{ + using Relation = std::tuple_element_t; + AVM_TRACK_TIME( + Relation::NAME + std::string("_ms"), + (compute_logderivative_inverse(prover_polynomials, relation_parameters, circuit_size))); + + if constexpr (relation_idx + 1 < std::tuple_size_v) { + compute_logderivative_rel(relation_parameters, prover_polynomials, circuit_size); + } +} + +} // namespace + /** * Create AvmProver from proving key, witness and manifest. * @@ -69,123 +92,18 @@ void AvmProver::execute_log_derivative_inverse_round() relation_parameters.beta = beta; relation_parameters.gamma = gamm; - key->compute_logderivative_inverses(relation_parameters); + auto prover_polynomials = ProverPolynomials(*key); + compute_logderivative_rel(relation_parameters, prover_polynomials, key->circuit_size); // Commit to all logderivative inverse polynomials - witness_commitments.perm_main_alu = commitment_key->commit(key->perm_main_alu); - witness_commitments.perm_main_bin = commitment_key->commit(key->perm_main_bin); - witness_commitments.perm_main_conv = commitment_key->commit(key->perm_main_conv); - witness_commitments.perm_main_pos2_perm = commitment_key->commit(key->perm_main_pos2_perm); - witness_commitments.perm_main_pedersen = commitment_key->commit(key->perm_main_pedersen); - witness_commitments.perm_main_mem_a = commitment_key->commit(key->perm_main_mem_a); - witness_commitments.perm_main_mem_b = commitment_key->commit(key->perm_main_mem_b); - witness_commitments.perm_main_mem_c = commitment_key->commit(key->perm_main_mem_c); - witness_commitments.perm_main_mem_d = commitment_key->commit(key->perm_main_mem_d); - witness_commitments.perm_main_mem_ind_addr_a = commitment_key->commit(key->perm_main_mem_ind_addr_a); - witness_commitments.perm_main_mem_ind_addr_b = commitment_key->commit(key->perm_main_mem_ind_addr_b); - witness_commitments.perm_main_mem_ind_addr_c = commitment_key->commit(key->perm_main_mem_ind_addr_c); - witness_commitments.perm_main_mem_ind_addr_d = commitment_key->commit(key->perm_main_mem_ind_addr_d); - witness_commitments.lookup_byte_lengths = commitment_key->commit(key->lookup_byte_lengths); - witness_commitments.lookup_byte_operations = commitment_key->commit(key->lookup_byte_operations); - witness_commitments.lookup_opcode_gas = commitment_key->commit(key->lookup_opcode_gas); - witness_commitments.range_check_l2_gas_hi = commitment_key->commit(key->range_check_l2_gas_hi); - witness_commitments.range_check_l2_gas_lo = commitment_key->commit(key->range_check_l2_gas_lo); - witness_commitments.range_check_da_gas_hi = commitment_key->commit(key->range_check_da_gas_hi); - witness_commitments.range_check_da_gas_lo = commitment_key->commit(key->range_check_da_gas_lo); - witness_commitments.kernel_output_lookup = commitment_key->commit(key->kernel_output_lookup); - witness_commitments.lookup_into_kernel = commitment_key->commit(key->lookup_into_kernel); - witness_commitments.incl_main_tag_err = commitment_key->commit(key->incl_main_tag_err); - witness_commitments.incl_mem_tag_err = commitment_key->commit(key->incl_mem_tag_err); - witness_commitments.lookup_mem_rng_chk_lo = commitment_key->commit(key->lookup_mem_rng_chk_lo); - witness_commitments.lookup_mem_rng_chk_mid = commitment_key->commit(key->lookup_mem_rng_chk_mid); - witness_commitments.lookup_mem_rng_chk_hi = commitment_key->commit(key->lookup_mem_rng_chk_hi); - witness_commitments.lookup_pow_2_0 = commitment_key->commit(key->lookup_pow_2_0); - witness_commitments.lookup_pow_2_1 = commitment_key->commit(key->lookup_pow_2_1); - witness_commitments.lookup_u8_0 = commitment_key->commit(key->lookup_u8_0); - witness_commitments.lookup_u8_1 = commitment_key->commit(key->lookup_u8_1); - witness_commitments.lookup_u16_0 = commitment_key->commit(key->lookup_u16_0); - witness_commitments.lookup_u16_1 = commitment_key->commit(key->lookup_u16_1); - witness_commitments.lookup_u16_2 = commitment_key->commit(key->lookup_u16_2); - witness_commitments.lookup_u16_3 = commitment_key->commit(key->lookup_u16_3); - witness_commitments.lookup_u16_4 = commitment_key->commit(key->lookup_u16_4); - witness_commitments.lookup_u16_5 = commitment_key->commit(key->lookup_u16_5); - witness_commitments.lookup_u16_6 = commitment_key->commit(key->lookup_u16_6); - witness_commitments.lookup_u16_7 = commitment_key->commit(key->lookup_u16_7); - witness_commitments.lookup_u16_8 = commitment_key->commit(key->lookup_u16_8); - witness_commitments.lookup_u16_9 = commitment_key->commit(key->lookup_u16_9); - witness_commitments.lookup_u16_10 = commitment_key->commit(key->lookup_u16_10); - witness_commitments.lookup_u16_11 = commitment_key->commit(key->lookup_u16_11); - witness_commitments.lookup_u16_12 = commitment_key->commit(key->lookup_u16_12); - witness_commitments.lookup_u16_13 = commitment_key->commit(key->lookup_u16_13); - witness_commitments.lookup_u16_14 = commitment_key->commit(key->lookup_u16_14); - witness_commitments.lookup_div_u16_0 = commitment_key->commit(key->lookup_div_u16_0); - witness_commitments.lookup_div_u16_1 = commitment_key->commit(key->lookup_div_u16_1); - witness_commitments.lookup_div_u16_2 = commitment_key->commit(key->lookup_div_u16_2); - witness_commitments.lookup_div_u16_3 = commitment_key->commit(key->lookup_div_u16_3); - witness_commitments.lookup_div_u16_4 = commitment_key->commit(key->lookup_div_u16_4); - witness_commitments.lookup_div_u16_5 = commitment_key->commit(key->lookup_div_u16_5); - witness_commitments.lookup_div_u16_6 = commitment_key->commit(key->lookup_div_u16_6); - witness_commitments.lookup_div_u16_7 = commitment_key->commit(key->lookup_div_u16_7); + for (auto [commitment, key_poly] : zip_view(witness_commitments.get_derived(), key->get_derived())) { + commitment = commitment_key->commit(key_poly); + } // Send all commitments to the verifier - transcript->send_to_verifier(commitment_labels.perm_main_alu, witness_commitments.perm_main_alu); - transcript->send_to_verifier(commitment_labels.perm_main_bin, witness_commitments.perm_main_bin); - transcript->send_to_verifier(commitment_labels.perm_main_conv, witness_commitments.perm_main_conv); - transcript->send_to_verifier(commitment_labels.perm_main_pos2_perm, witness_commitments.perm_main_pos2_perm); - transcript->send_to_verifier(commitment_labels.perm_main_pedersen, witness_commitments.perm_main_pedersen); - transcript->send_to_verifier(commitment_labels.perm_main_mem_a, witness_commitments.perm_main_mem_a); - transcript->send_to_verifier(commitment_labels.perm_main_mem_b, witness_commitments.perm_main_mem_b); - transcript->send_to_verifier(commitment_labels.perm_main_mem_c, witness_commitments.perm_main_mem_c); - transcript->send_to_verifier(commitment_labels.perm_main_mem_d, witness_commitments.perm_main_mem_d); - transcript->send_to_verifier(commitment_labels.perm_main_mem_ind_addr_a, - witness_commitments.perm_main_mem_ind_addr_a); - transcript->send_to_verifier(commitment_labels.perm_main_mem_ind_addr_b, - witness_commitments.perm_main_mem_ind_addr_b); - transcript->send_to_verifier(commitment_labels.perm_main_mem_ind_addr_c, - witness_commitments.perm_main_mem_ind_addr_c); - transcript->send_to_verifier(commitment_labels.perm_main_mem_ind_addr_d, - witness_commitments.perm_main_mem_ind_addr_d); - transcript->send_to_verifier(commitment_labels.lookup_byte_lengths, witness_commitments.lookup_byte_lengths); - transcript->send_to_verifier(commitment_labels.lookup_byte_operations, witness_commitments.lookup_byte_operations); - transcript->send_to_verifier(commitment_labels.lookup_opcode_gas, witness_commitments.lookup_opcode_gas); - transcript->send_to_verifier(commitment_labels.range_check_l2_gas_hi, witness_commitments.range_check_l2_gas_hi); - transcript->send_to_verifier(commitment_labels.range_check_l2_gas_lo, witness_commitments.range_check_l2_gas_lo); - transcript->send_to_verifier(commitment_labels.range_check_da_gas_hi, witness_commitments.range_check_da_gas_hi); - transcript->send_to_verifier(commitment_labels.range_check_da_gas_lo, witness_commitments.range_check_da_gas_lo); - transcript->send_to_verifier(commitment_labels.kernel_output_lookup, witness_commitments.kernel_output_lookup); - transcript->send_to_verifier(commitment_labels.lookup_into_kernel, witness_commitments.lookup_into_kernel); - transcript->send_to_verifier(commitment_labels.incl_main_tag_err, witness_commitments.incl_main_tag_err); - transcript->send_to_verifier(commitment_labels.incl_mem_tag_err, witness_commitments.incl_mem_tag_err); - transcript->send_to_verifier(commitment_labels.lookup_mem_rng_chk_lo, witness_commitments.lookup_mem_rng_chk_lo); - transcript->send_to_verifier(commitment_labels.lookup_mem_rng_chk_mid, witness_commitments.lookup_mem_rng_chk_mid); - transcript->send_to_verifier(commitment_labels.lookup_mem_rng_chk_hi, witness_commitments.lookup_mem_rng_chk_hi); - transcript->send_to_verifier(commitment_labels.lookup_pow_2_0, witness_commitments.lookup_pow_2_0); - transcript->send_to_verifier(commitment_labels.lookup_pow_2_1, witness_commitments.lookup_pow_2_1); - transcript->send_to_verifier(commitment_labels.lookup_u8_0, witness_commitments.lookup_u8_0); - transcript->send_to_verifier(commitment_labels.lookup_u8_1, witness_commitments.lookup_u8_1); - transcript->send_to_verifier(commitment_labels.lookup_u16_0, witness_commitments.lookup_u16_0); - transcript->send_to_verifier(commitment_labels.lookup_u16_1, witness_commitments.lookup_u16_1); - transcript->send_to_verifier(commitment_labels.lookup_u16_2, witness_commitments.lookup_u16_2); - transcript->send_to_verifier(commitment_labels.lookup_u16_3, witness_commitments.lookup_u16_3); - transcript->send_to_verifier(commitment_labels.lookup_u16_4, witness_commitments.lookup_u16_4); - transcript->send_to_verifier(commitment_labels.lookup_u16_5, witness_commitments.lookup_u16_5); - transcript->send_to_verifier(commitment_labels.lookup_u16_6, witness_commitments.lookup_u16_6); - transcript->send_to_verifier(commitment_labels.lookup_u16_7, witness_commitments.lookup_u16_7); - transcript->send_to_verifier(commitment_labels.lookup_u16_8, witness_commitments.lookup_u16_8); - transcript->send_to_verifier(commitment_labels.lookup_u16_9, witness_commitments.lookup_u16_9); - transcript->send_to_verifier(commitment_labels.lookup_u16_10, witness_commitments.lookup_u16_10); - transcript->send_to_verifier(commitment_labels.lookup_u16_11, witness_commitments.lookup_u16_11); - transcript->send_to_verifier(commitment_labels.lookup_u16_12, witness_commitments.lookup_u16_12); - transcript->send_to_verifier(commitment_labels.lookup_u16_13, witness_commitments.lookup_u16_13); - transcript->send_to_verifier(commitment_labels.lookup_u16_14, witness_commitments.lookup_u16_14); - transcript->send_to_verifier(commitment_labels.lookup_div_u16_0, witness_commitments.lookup_div_u16_0); - transcript->send_to_verifier(commitment_labels.lookup_div_u16_1, witness_commitments.lookup_div_u16_1); - transcript->send_to_verifier(commitment_labels.lookup_div_u16_2, witness_commitments.lookup_div_u16_2); - transcript->send_to_verifier(commitment_labels.lookup_div_u16_3, witness_commitments.lookup_div_u16_3); - transcript->send_to_verifier(commitment_labels.lookup_div_u16_4, witness_commitments.lookup_div_u16_4); - transcript->send_to_verifier(commitment_labels.lookup_div_u16_5, witness_commitments.lookup_div_u16_5); - transcript->send_to_verifier(commitment_labels.lookup_div_u16_6, witness_commitments.lookup_div_u16_6); - transcript->send_to_verifier(commitment_labels.lookup_div_u16_7, witness_commitments.lookup_div_u16_7); + for (auto [label, commitment] : zip_view(commitment_labels.get_derived(), witness_commitments.get_derived())) { + transcript->send_to_verifier(label, commitment); + } } /** diff --git a/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs b/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs index 88b8386f8911..6c879c84fb86 100644 --- a/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs @@ -12,8 +12,6 @@ #include "barretenberg/polynomials/polynomial.hpp" #include "barretenberg/flavor/flavor.hpp" -#include "barretenberg/vm/{{snakeCase name}}_trace/stats.hpp" - // Relations {{#each relation_file_names as |r|}} #include "barretenberg/relations/generated/{{snakeCase ../name}}/{{r}}.hpp" @@ -25,6 +23,9 @@ #include "barretenberg/relations/generated/{{snakeCase ../name}}/{{r}}.hpp" {{/each}} +// Metaprogramming to concatenate tuple types. +template using tuple_cat_t = decltype(std::tuple_cat(std::declval()...)); + namespace bb { class {{name}}Flavor { @@ -49,13 +50,18 @@ class {{name}}Flavor { // 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 = {{len all_cols_and_shifts}}; - using Relations = std::tuple< + using MainRelations = std::tuple< // Relations - {{#each relation_file_names as |item|}}{{#if @index}},{{/if}}{{../name}}_vm::{{item}}{{/each}}, + {{#each relation_file_names as |item|}}{{#if @index}},{{/if}}{{../name}}_vm::{{item}}{{/each}} + >; + + using LookupRelations = std::tuple< // Lookups {{#each lookups as |item|}}{{#if @index}},{{/if}}{{item}}_relation{{/each}} >; + using Relations = tuple_cat_t; + static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length(); // BATCHED_RELATION_PARTIAL_LENGTH = algebraic degree of sumcheck relation *after* multiplying by the `pow_zeta` @@ -117,7 +123,8 @@ class {{name}}Flavor { class WitnessEntities: public WireEntities, public DerivedWitnessEntities { public: DEFINE_COMPOUND_GET_ALL(WireEntities, DerivedWitnessEntities) - auto get_wires() { return WireEntities::get_all(); }; + auto get_wires() { return WireEntities::get_all(); } + auto get_derived() { return DerivedWitnessEntities::get_all(); } }; template @@ -151,15 +158,6 @@ class {{name}}Flavor { RefVector get_to_be_shifted() { return { {{#each to_be_shifted as |item|}}{{#if @index}},{{/if}}{{item}}{{/each}} }; } - - void compute_logderivative_inverses(const RelationParameters& relation_parameters) - { - ProverPolynomials prover_polynomials = ProverPolynomials(*this); - - {{#each lookups as |item|}} - AVM_TRACK_TIME("compute_logderivative_inverse/{{item}}_ms", (bb::compute_logderivative_inverse<{{../name}}Flavor, {{item}}_relation>(prover_polynomials, relation_parameters, this->circuit_size))); - {{/each}} - } }; using VerificationKey = VerificationKey_, VerifierCommitmentKey>; @@ -253,7 +251,7 @@ class {{name}}Flavor { using Base = AllEntities; public: - CommitmentLabels() : AllEntities() + CommitmentLabels() { {{#each all_cols as |item|}} Base::{{item}} = "{{shoutySnakeCase item}}"; @@ -278,9 +276,7 @@ class {{name}}Flavor { public: uint32_t circuit_size; - {{#each witness as |w|}} - Commitment {{w}}; - {{/each}} + std::array commitments; std::vector> sumcheck_univariates; std::array sumcheck_evaluations; @@ -300,10 +296,9 @@ class {{name}}Flavor { circuit_size = deserialize_from_buffer(proof_data, num_frs_read); size_t log_n = numeric::get_msb(circuit_size); - {{#each witness as |w|}} - {{w}} = deserialize_from_buffer(Transcript::proof_data, num_frs_read); - {{/each}} - + for (auto& commitment : commitments) { + commitment = deserialize_from_buffer(proof_data, num_frs_read); + } for (size_t i = 0; i < log_n; ++i) { sumcheck_univariates.emplace_back( deserialize_from_buffer>( @@ -326,10 +321,9 @@ class {{name}}Flavor { serialize_to_buffer(circuit_size, Transcript::proof_data); - {{#each witness as |w|}} - serialize_to_buffer({{w}}, Transcript::proof_data); - {{/each}} - + for (const auto& commitment : commitments) { + serialize_to_buffer(commitment, Transcript::proof_data); + } for (size_t i = 0; i < log_n; ++i) { serialize_to_buffer(sumcheck_univariates[i], Transcript::proof_data); } diff --git a/bb-pilcom/bb-pil-backend/templates/lookup.hpp.hbs b/bb-pilcom/bb-pil-backend/templates/lookup.hpp.hbs index 0ad04440e502..938d996f3e32 100644 --- a/bb-pilcom/bb-pil-backend/templates/lookup.hpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/lookup.hpp.hbs @@ -7,21 +7,7 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ - class {{lookup_name}}_lookup_settings { +class {{lookup_name}}_lookup_settings { public: static constexpr size_t READ_TERMS = {{read_terms}}; static constexpr size_t WRITE_TERMS = {{write_terms}}; @@ -65,7 +51,10 @@ namespace bb { } }; -template using {{lookup_name}}_relation = GenericLookupRelation<{{lookup_name}}_lookup_settings, FF_>; +template class {{lookup_name}}_relation : public GenericLookupRelation<{{lookup_name}}_lookup_settings, FF_> { + public: + static constexpr const char* NAME = "{{lookup_name}}"; +}; template using {{lookup_name}} = GenericLookup<{{lookup_name}}_lookup_settings, FF_>; } // namespace bb \ No newline at end of file diff --git a/bb-pilcom/bb-pil-backend/templates/permutation.hpp.hbs b/bb-pilcom/bb-pil-backend/templates/permutation.hpp.hbs index add6336de4e6..33cb51d73cc9 100644 --- a/bb-pilcom/bb-pil-backend/templates/permutation.hpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/permutation.hpp.hbs @@ -36,8 +36,10 @@ class {{perm_name}}_permutation_settings { } }; -template -using {{perm_name}}_relation = GenericPermutationRelation<{{perm_name}}_permutation_settings, FF_>; +template class {{perm_name}}_relation : public GenericPermutationRelation<{{perm_name}}_permutation_settings, FF_> { + public: + static constexpr const char* NAME = "{{perm_name}}"; +}; template using {{perm_name}} = GenericPermutation<{{perm_name}}_permutation_settings, FF_>; } // namespace bb \ No newline at end of file diff --git a/bb-pilcom/bb-pil-backend/templates/prover.cpp.hbs b/bb-pilcom/bb-pil-backend/templates/prover.cpp.hbs index 75a9862e2fe7..32474b361e4e 100644 --- a/bb-pilcom/bb-pil-backend/templates/prover.cpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/prover.cpp.hbs @@ -9,11 +9,34 @@ #include "barretenberg/relations/permutation_relation.hpp" #include "barretenberg/sumcheck/sumcheck.hpp" +#include "barretenberg/vm/{{snakeCase name}}_trace/stats.hpp" + namespace bb { using Flavor = {{name}}Flavor; using FF = Flavor::FF; +namespace { + +// Loops through LookupRelations and calculates the logderivatives. +// Metaprogramming is used to loop through the relations, because they are types. +template +void compute_logderivative_rel(const RelationParameters& relation_parameters, + PP& prover_polynomials, + size_t circuit_size) +{ + using Relation = std::tuple_element_t; + AVM_TRACK_TIME( + Relation::NAME + std::string("_ms"), + (compute_logderivative_inverse(prover_polynomials, relation_parameters, circuit_size))); + + if constexpr (relation_idx + 1 < std::tuple_size_v) { + compute_logderivative_rel(relation_parameters, prover_polynomials, circuit_size); + } +} + +} // namespace + /** * Create {{name}}Prover from proving key, witness and manifest. * @@ -70,17 +93,18 @@ void {{name}}Prover::execute_log_derivative_inverse_round() relation_parameters.beta = beta; relation_parameters.gamma = gamm; - key->compute_logderivative_inverses(relation_parameters); + auto prover_polynomials = ProverPolynomials(*key); + compute_logderivative_rel(relation_parameters, prover_polynomials, key->circuit_size); // Commit to all logderivative inverse polynomials - {{#each lookups as |l|}} - witness_commitments.{{l}} = commitment_key->commit(key->{{l}}); - {{/each}} + for (auto [commitment, key_poly] : zip_view(witness_commitments.get_derived(), key->get_derived())) { + commitment = commitment_key->commit(key_poly); + } // Send all commitments to the verifier - {{#each lookups as |l|}} - transcript->send_to_verifier(commitment_labels.{{l}}, witness_commitments.{{l}}); - {{/each}} + for (auto [label, commitment] : zip_view(commitment_labels.get_derived(), witness_commitments.get_derived())) { + transcript->send_to_verifier(label, commitment); + } } /**