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 6504fe11f26..6cfb74059d9 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 b790c7ec113..a3c55ff966b 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 5d41006a5c4..d432d46bc2c 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 7dbde65e4e8..093c0f5b6ea 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 7e3b35390f2..0961460086e 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 722ae7e4486..99c91af7b93 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 8e47192dbe9..d95c608d0b9 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 cf15ed785e0..b1b9036f498 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 cbd1af82710..56680df40c0 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 7df49f05139..5c02f3c52ca 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 a58751eb66f..b8923c750e5 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 51e4c73a501..a6486bb05ac 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 657221da61e..c52978bade9 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 dbd8cc05603..4fe44d760c5 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 933d2272d27..b0db8e3f3a8 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 e61714cabb2..7a0dca83ce3 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 6e0ce0b9803..e44547863c6 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 64d11a5bdc3..a62f68e5b4f 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 1f1c342cd81..e9e73ca0b9d 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 b8949612dd7..55a5eec29b7 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 c8486d70f07..70a2e3ac66e 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 a7195014b59..e391e04bc72 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 5d9340e18ad..1b30139552c 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 cf7473b5cfa..860588384db 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 e0edca8a9ab..0acfe46bc14 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 8255f13cf85..87eaa2d6bb1 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 a4857ab021e..ea9a74cc8d1 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 aea3c986c9f..35a34762d1b 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 828351e0b5e..50284c84860 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 157c0225baa..b5cd10a6670 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 930117b7e8b..1f313268b6e 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 ec75af30931..c4aef86a50c 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 6aec3db35c2..b1496c4403a 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 46e991f15ee..e2080cc7190 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 36a1ca2745b..40b258e5942 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 3f1626db1bd..568ecd3731d 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 a7ce90bc8bf..3b78d561e68 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 3fd9226043b..c96e000c2da 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 ed038c33a50..42c820a4b84 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 061fb8c398a..20b6d13e322 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 fe1c96709ff..2efb6d21b31 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 8899945f4fe..0f7a88a66f1 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 69b3ca8ea89..f1888c7ce18 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 081ae644bfb..2cb433eed79 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 5f8b6ae9705..5d6267e60a9 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 c79bc802aa5..708696d3343 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 3be1b96d43a..011cee0cdba 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 310c85078ec..0db50634041 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 0b94b48c597..16e141e8481 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 2a4f91d6811..e79de4c0020 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 c0ec53d582e..47629f26071 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 2847c57513a..f006e63ecb4 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 5e0bda1a605..b0009a37bee 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 f32e8958047..e55a6539853 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 bdd10e57f7a..fedb4c60bcd 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 2633bb78f0f..23762777a9f 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 88b8386f891..6c879c84fb8 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 0ad04440e50..938d996f3e3 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 add6336de4e..33cb51d73cc 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 75a9862e2fe..32474b361e4 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); + } } /**