2#include "barretenberg/aztec/aztec_constants.hpp"
10#include <gtest/gtest.h>
24static_assert(PAIRING_POINTS_SIZE == 8,
"PAIRING_POINTS_SIZE changed - update constants.nr");
25static_assert(GRUMPKIN_OPENING_CLAIM_SIZE == 6,
"IPA_CLAIM_SIZE changed - update constants.nr");
26static_assert(HIDING_KERNEL_PUBLIC_INPUTS_SIZE == 28,
27 "HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE changed - update constants.nr");
30static_assert(MERGE_PROOF_SIZE == 41,
31 "MERGE_PROOF_SIZE changed - update CHONK_MERGE_PROOF_SIZE in constants.nr "
32 "and run barretenberg/cpp/scripts/remake-constants.sh");
34 "ECCVM proof size changed - update CHONK_ECCVM_PROOF_LENGTH in constants.nr "
35 "and run barretenberg/cpp/scripts/remake-constants.sh");
37static_assert(IPA_PROOF_LENGTH == 64,
"IPA_PROOF_LENGTH changed - update constants.nr");
43 UltraFlavor::VIRTUAL_LOG_N) == 410,
44 "RECURSIVE_PROOF_LENGTH changed - update constants.nr");
47 "ChonkProof::HIDING_OINK_LENGTH changed - update CHONK_HIDING_OINK_LENGTH in constants.nr "
48 "and run barretenberg/cpp/scripts/remake-constants.sh");
50 "ChonkProof::JOINT_PROOF_LENGTH changed - update CHONK_JOINT_PROOF_LENGTH in constants.nr "
51 "and run barretenberg/cpp/scripts/remake-constants.sh");
53 "MEGA_APP_VK_LENGTH_IN_FIELDS changed - update constants.nr");
55 "MEGA_KERNEL_VK_LENGTH_IN_FIELDS changed - update constants.nr");
57 "MEGA_ZK_VK_LENGTH_IN_FIELDS changed - update constants.nr");
59 "MultilinearBatching proof size changed - update constants.nr");
67 EXPECT_EQ(merge_proof.size(), MERGE_PROOF_SIZE);
76 EXPECT_EQ(batch_merge_proof.size(), BATCH_MERGE_PROOF_SIZE);
94 EXPECT_EQ(ipa_proof.size(), IPA_PROOF_LENGTH);
115 HonkProof app_proof = create_mock_oink_proof<Flavor, stdlib::recursion::honk::AppIO>();
118 HonkProof kernel_proof = create_mock_oink_proof<Flavor, stdlib::recursion::honk::KernelIO>();
121 HonkProof hiding_proof = create_mock_oink_proof<Flavor, stdlib::recursion::honk::HidingKernelIO<Builder>>();
133 HonkProof proof = create_mock_oink_proof<Flavor, IO>();
139 HonkProof proof = create_mock_oink_proof<Flavor, IO>();
145 HonkProof proof = create_mock_oink_proof<Flavor, IO>();
159 HonkProof app_proof = create_mock_honk_proof<Flavor, stdlib::recursion::honk::AppIO>();
162 HonkProof kernel_proof = create_mock_honk_proof<Flavor, stdlib::recursion::honk::KernelIO>();
165 HonkProof hiding_proof = create_mock_honk_proof<Flavor, stdlib::recursion::honk::HidingKernelIO<Builder>>();
177 HonkProof proof = create_mock_honk_proof<Flavor, IO>();
178 EXPECT_EQ(proof.size(),
184 HonkProof proof = create_mock_honk_proof<Flavor, IO>();
185 EXPECT_EQ(proof.size(),
191 HonkProof proof = create_mock_honk_proof<Flavor, IO>();
194 IO::PUBLIC_INPUTS_SIZE + IPA_PROOF_LENGTH;
195 EXPECT_EQ(proof.size(), expected);
202 EXPECT_EQ(avm_proof.size(), AVM_V2_PROOF_LENGTH_IN_FIELDS);
211 HonkProof chonk_proof = create_mock_chonk_proof<Builder>();
static constexpr size_t PROOF_LENGTH
static constexpr size_t TRIPLE_IPA_PROOF_LENGTH
MergeProver::MergeProof MergeProof
Native flavor for multilinear batching sumcheck with NumClaims polynomials.
static constexpr size_t calc_num_data_types()
Calculate the number of field elements needed for serialization.
static constexpr size_t PROOF_LENGTH
Child class of UltraFlavor that runs with ZK Sumcheck.
Manages the data that is propagated on the public inputs of an application/function circuit.
static constexpr size_t PUBLIC_INPUTS_SIZE
Manages the data that is propagated on the public inputs of a hiding kernel circuit.
static constexpr size_t PUBLIC_INPUTS_SIZE
The data that is propagated on the public inputs of a rollup circuit.
std::filesystem::path bb_crs_path()
void init_file_crs_factory(const std::filesystem::path &path)
TEST_F(BoomerangGoblinRecursiveVerifierTests, graph_description_basic)
Construct and check a goblin recursive verification circuit.
Entry point for Barretenberg command-line interface.
std::vector< fr > HonkProof
MegaCircuitBuilder_< field< Bn254FrParams > > MegaCircuitBuilder
static constexpr size_t JOINT_PROOF_LENGTH
static constexpr size_t PROOF_LENGTH
static constexpr size_t HIDING_OINK_LENGTH
Full Honk proof layout (used by UltraVerifier).
static constexpr size_t LENGTH_WITHOUT_PUB_INPUTS(size_t log_n)
MultilinearBatching proof layout (used by HyperNova folding).
Computes Oink proof length from flavor traits.