From 1f06e6f311a9b4dcec80c3b78009d8c3d6558aab Mon Sep 17 00:00:00 2001 From: Suyash Bagad Date: Thu, 18 May 2023 18:16:39 +0000 Subject: [PATCH 1/2] Add missing `hash_index` while compressing vk. --- .../recursion/verification_key/verification_key.hpp | 9 +++++---- .../verification_key/verification_key.test.cpp | 12 ++++++------ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.hpp b/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.hpp index 915f63e5a3..0c91945554 100644 --- a/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.hpp +++ b/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.hpp @@ -339,7 +339,8 @@ template struct verification_key { return compressed_key; } - static barretenberg::fr compress_native(const std::shared_ptr& key, const size_t = 0) + static barretenberg::fr compress_native(const std::shared_ptr& key, + const size_t hash_index = 0) { std::vector preimage_data; @@ -365,10 +366,10 @@ template struct verification_key { barretenberg::fr compressed_key; if constexpr (Composer::type == ComposerType::PLOOKUP) { - compressed_key = - from_buffer(crypto::pedersen_commitment::lookup::compress_native(preimage_data)); + compressed_key = from_buffer( + crypto::pedersen_commitment::lookup::compress_native(preimage_data, hash_index)); } else { - compressed_key = crypto::pedersen_commitment::compress_native(preimage_data); + compressed_key = crypto::pedersen_commitment::compress_native(preimage_data, hash_index); } return compressed_key; } diff --git a/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.test.cpp b/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.test.cpp index b9cb01e079..5be5ce87c9 100644 --- a/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.test.cpp +++ b/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.test.cpp @@ -63,10 +63,10 @@ TYPED_TEST(VerificationKeyFixture, vk_data_vs_recursion_compress_native) auto recurs_vk = RecursVk::from_witness(&composer, native_vk); EXPECT_EQ(vk_data.compress_native(0), RecursVk::compress_native(native_vk, 0)); - // EXPECT_EQ(vk_data.compress_native(15), RecursVk::compress_native(native_vk, 15)); + EXPECT_EQ(vk_data.compress_native(15), RecursVk::compress_native(native_vk, 15)); // ne hash indeces still lead to ne compressions - // EXPECT_NE(vk_data.compress_native(0), RecursVk::compress_native(native_vk, 15)); - // EXPECT_NE(vk_data.compress_native(14), RecursVk::compress_native(native_vk, 15)); + EXPECT_NE(vk_data.compress_native(0), RecursVk::compress_native(native_vk, 15)); + EXPECT_NE(vk_data.compress_native(14), RecursVk::compress_native(native_vk, 15)); } TYPED_TEST(VerificationKeyFixture, compress_vs_compress_native) @@ -83,8 +83,8 @@ TYPED_TEST(VerificationKeyFixture, compress_vs_compress_native) auto recurs_vk = RecursVk::from_witness(&composer, native_vk); EXPECT_EQ(recurs_vk->compress(0).get_value(), RecursVk::compress_native(native_vk, 0)); - // EXPECT_EQ(recurs_vk->compress(15).get_value(), RecursVk::compress_native(native_vk, 15)); + EXPECT_EQ(recurs_vk->compress(15).get_value(), RecursVk::compress_native(native_vk, 15)); // ne hash indeces still lead to ne compressions - // EXPECT_NE(recurs_vk->compress(0).get_value(), RecursVk::compress_native(native_vk, 15)); - // EXPECT_NE(recurs_vk->compress(14).get_value(), RecursVk::compress_native(native_vk, 15)); + EXPECT_NE(recurs_vk->compress(0).get_value(), RecursVk::compress_native(native_vk, 15)); + EXPECT_NE(recurs_vk->compress(14).get_value(), RecursVk::compress_native(native_vk, 15)); } From 51d69afa59a8c5c22077ca99d8de9e2c8c63f7bb Mon Sep 17 00:00:00 2001 From: Suyash Bagad Date: Thu, 18 May 2023 19:05:35 +0000 Subject: [PATCH 2/2] comment back vk tests with hash index > 0. --- .../verification_key/verification_key.test.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.test.cpp b/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.test.cpp index 5be5ce87c9..755d751ff2 100644 --- a/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.test.cpp +++ b/cpp/src/barretenberg/stdlib/recursion/verification_key/verification_key.test.cpp @@ -63,10 +63,10 @@ TYPED_TEST(VerificationKeyFixture, vk_data_vs_recursion_compress_native) auto recurs_vk = RecursVk::from_witness(&composer, native_vk); EXPECT_EQ(vk_data.compress_native(0), RecursVk::compress_native(native_vk, 0)); - EXPECT_EQ(vk_data.compress_native(15), RecursVk::compress_native(native_vk, 15)); - // ne hash indeces still lead to ne compressions - EXPECT_NE(vk_data.compress_native(0), RecursVk::compress_native(native_vk, 15)); - EXPECT_NE(vk_data.compress_native(14), RecursVk::compress_native(native_vk, 15)); + // EXPECT_EQ(vk_data.compress_native(15), RecursVk::compress_native(native_vk, 15)); + // // ne hash indeces still lead to ne compressions + // EXPECT_NE(vk_data.compress_native(0), RecursVk::compress_native(native_vk, 15)); + // EXPECT_NE(vk_data.compress_native(14), RecursVk::compress_native(native_vk, 15)); } TYPED_TEST(VerificationKeyFixture, compress_vs_compress_native) @@ -83,8 +83,8 @@ TYPED_TEST(VerificationKeyFixture, compress_vs_compress_native) auto recurs_vk = RecursVk::from_witness(&composer, native_vk); EXPECT_EQ(recurs_vk->compress(0).get_value(), RecursVk::compress_native(native_vk, 0)); - EXPECT_EQ(recurs_vk->compress(15).get_value(), RecursVk::compress_native(native_vk, 15)); - // ne hash indeces still lead to ne compressions - EXPECT_NE(recurs_vk->compress(0).get_value(), RecursVk::compress_native(native_vk, 15)); - EXPECT_NE(recurs_vk->compress(14).get_value(), RecursVk::compress_native(native_vk, 15)); + // EXPECT_EQ(recurs_vk->compress(15).get_value(), RecursVk::compress_native(native_vk, 15)); + // // ne hash indeces still lead to ne compressions + // EXPECT_NE(recurs_vk->compress(0).get_value(), RecursVk::compress_native(native_vk, 15)); + // EXPECT_NE(recurs_vk->compress(14).get_value(), RecursVk::compress_native(native_vk, 15)); }