6#include <gtest/gtest.h>
20static_assert(PAIRING_POINTS_SIZE == 8,
"PAIRING_POINTS_SIZE changed - update constants.nr");
21static_assert(GRUMPKIN_OPENING_CLAIM_SIZE == 6,
"IPA_CLAIM_SIZE changed - update constants.nr");
22static_assert(HIDING_KERNEL_PUBLIC_INPUTS_SIZE == 28,
23 "HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE changed - update constants.nr");
26static_assert(MERGE_PROOF_SIZE == 42,
27 "MERGE_PROOF_SIZE changed - update CHONK_MERGE_PROOF_SIZE in constants.nr "
28 "and run `yarn remake-constants`");
30 "ECCVM proof size changed - update CHONK_ECCVM_PROOF_LENGTH in constants.nr "
31 "and run `yarn remake-constants`");
32static_assert(IPA_PROOF_LENGTH == 64,
"IPA_PROOF_LENGTH changed - update constants.nr");
39 "RECURSIVE_PROOF_LENGTH changed - update constants.nr");
42 "ChonkProof::HIDING_OINK_LENGTH changed - update CHONK_HIDING_OINK_LENGTH in constants.nr "
43 "and run `yarn remake-constants`");
45 "ChonkProof::JOINT_PROOF_LENGTH changed - update CHONK_JOINT_PROOF_LENGTH in constants.nr "
46 "and run `yarn remake-constants`");
48 "MEGA_VK_LENGTH_IN_FIELDS changed - update constants.nr");
50 "MegaZK VK size changed - update constants.nr");
52 "MultilinearBatching proof size changed - update constants.nr");
60 EXPECT_EQ(merge_proof.size(), MERGE_PROOF_SIZE);
69 EXPECT_EQ(batch_merge_proof.size(), BATCH_MERGE_PROOF_SIZE);
87 EXPECT_EQ(ipa_proof.size(), IPA_PROOF_LENGTH);
108 HonkProof app_proof = create_mock_oink_proof<Flavor, stdlib::recursion::honk::AppIO>();
111 HonkProof kernel_proof = create_mock_oink_proof<Flavor, stdlib::recursion::honk::KernelIO>();
114 HonkProof hiding_proof = create_mock_oink_proof<Flavor, stdlib::recursion::honk::HidingKernelIO<Builder>>();
126 HonkProof proof = create_mock_oink_proof<Flavor, IO>();
132 HonkProof proof = create_mock_oink_proof<Flavor, IO>();
138 HonkProof proof = create_mock_oink_proof<Flavor, IO>();
152 HonkProof app_proof = create_mock_honk_proof<Flavor, stdlib::recursion::honk::AppIO>();
155 HonkProof kernel_proof = create_mock_honk_proof<Flavor, stdlib::recursion::honk::KernelIO>();
158 HonkProof hiding_proof = create_mock_honk_proof<Flavor, stdlib::recursion::honk::HidingKernelIO<Builder>>();
170 HonkProof proof = create_mock_honk_proof<Flavor, IO>();
171 EXPECT_EQ(proof.size(),
177 HonkProof proof = create_mock_honk_proof<Flavor, IO>();
178 EXPECT_EQ(proof.size(),
184 HonkProof proof = create_mock_honk_proof<Flavor, IO>();
187 IO::PUBLIC_INPUTS_SIZE + IPA_PROOF_LENGTH;
188 EXPECT_EQ(proof.size(), expected);
196 EXPECT_EQ(avm_proof.size(), 16040);
202 EXPECT_EQ(padded_avm_proof.size(), 16400);
211 HonkProof chonk_proof = create_mock_chonk_proof<Builder>();
static constexpr size_t PROOF_LENGTH
MergeProver::MergeProof MergeProof
static constexpr size_t calc_num_data_types()
Calculate the number of field elements needed for serialization.
static constexpr size_t PROOF_LENGTH
static constexpr size_t VIRTUAL_LOG_N
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.