10#include <gtest/gtest.h>
20void check_bn254_consistency(
const fs::path& crs_download_path,
size_t num_points,
bool allow_download)
27 for (
size_t i = 0; i < num_points; ++i) {
28 g1_points[i] = from_buffer<g1::affine_element>(g1_buf, i *
sizeof(
g1::affine_element));
33 auto g2_point = from_buffer<g2::affine_element>(g2_buf);
39 auto f_prover = file_crs.get_crs(num_points);
40 auto m_prover = mem_crs.get_crs(num_points);
41 EXPECT_EQ(m_prover->get_monomial_size(), f_prover->get_monomial_size());
42 for (
size_t i = 0; i < num_points; ++i) {
47 auto f_ver = file_crs.get_verifier_crs();
48 auto m_ver = mem_crs.get_verifier_crs();
49 EXPECT_EQ(m_ver->get_g2x(), f_ver->get_g2x());
51 memcmp(m_ver->get_precomputed_g2_lines(),
52 f_ver->get_precomputed_g2_lines(),
57void check_grumpkin_consistency(
const fs::path& crs_download_path,
size_t num_points,
bool allow_download)
66 for (
size_t i = 0; i < num_points; ++i) {
72 auto f_prover = file_crs.get_crs(num_points);
73 auto m_prover = mem_crs.get_crs(num_points);
74 EXPECT_EQ(m_prover->get_monomial_size(), f_prover->get_monomial_size());
75 for (
size_t i = 0; i < num_points; ++i) {
85 const std::filesystem::path& temp_crs_path =
"barretenberg_srs_test_crs_bn254";
86 fs::remove_all(temp_crs_path);
87 fs::create_directories(temp_crs_path);
89 ASSERT_ANY_THROW(check_bn254_consistency(temp_crs_path, 1,
false));
90 check_bn254_consistency(temp_crs_path, 1,
true);
96 const std::filesystem::path& temp_crs_path =
"barretenberg_srs_test_crs_grumpkin";
97 fs::remove_all(temp_crs_path);
98 fs::create_directories(temp_crs_path);
100 ASSERT_ANY_THROW(check_grumpkin_consistency(temp_crs_path, 1,
false));
101 check_grumpkin_consistency(temp_crs_path, 1,
true);
typename Group::affine_element AffineElement
const std::vector< FF > data
std::filesystem::path bb_crs_path()
Entry point for Barretenberg command-line interface.
TEST(MegaCircuitBuilder, CopyConstructor)
std::vector< uint8_t > read_file(const std::string &filename, size_t bytes=0)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept