7#include <gtest/gtest.h>
28 std::shared_ptr<MegaZKVerificationKey>
mega_vk;
34 static constexpr size_t NUM_APP_CIRCUITS = 1;
36 PrivateFunctionExecutionMockCircuitProducer circuit_producer(NUM_APP_CIRCUITS);
37 const size_t num_circuits = circuit_producer.total_num_circuits;
38 Chonk ivc{ num_circuits };
40 for (
size_t j = 0; j < num_circuits; ++j) {
41 circuit_producer.construct_and_accumulate_next_circuit(ivc);
45 return { ivc.get_hiding_kernel_vk_and_hash()->vk, proof };
55 chonk_data.
mega_vk->to_field_elements(),
58 static_cast<size_t>(chonk_data.
mega_vk->num_public_inputs) -
79 auto builder = create_circuit<Builder>(program, { .has_ipa_claim =
true });
84 return prover_instance;
98 std::shared_ptr<VerificationKey> vk_from_valid_witness;
100 AcirProgram program = create_acir_program(chonk_data);
101 auto prover_instance = get_chonk_recursive_verifier_pk(program);
114 std::shared_ptr<VerificationKey> vk_from_constraints;
116 AcirProgram program = create_acir_program(chonk_data);
118 auto prover_instance = get_chonk_recursive_verifier_pk(program);
122 EXPECT_EQ(*vk_from_valid_witness, *vk_from_constraints);
131 AcirProgram program = create_acir_program(chonk_data);
134 auto builder = create_circuit<Builder>(program, metadata);
static ChonkData get_chonk_data()
static void SetUpTestSuite()
Flavor::VerificationKey VerificationKey
MegaZKFlavor::VerificationKey MegaZKVerificationKey
static constexpr size_t PUBLIC_INPUTS_SIZE
static std::shared_ptr< ProverInstance > get_chonk_recursive_verifier_pk(AcirProgram &program)
static AcirProgram create_acir_program(const ChonkData &chonk_data)
The IVC scheme used by the aztec client for private function execution.
static constexpr size_t PUBLIC_INPUTS_SIZE
Base Native verification key class.
Contains all the information required by a Honk prover to create a proof, constructed from a finalize...
NativeVerificationKey_< PrecomputedEntities< Commitment >, Codec, HashFunction, CommitmentKey > VerificationKey
The verification key stores commitments to the precomputed (non-witness) polynomials used by the veri...
Output verify_proof(const Proof &proof)
Perform ultra verification.
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
UltraCircuitBuilder_< UltraExecutionTraceBlocks > UltraCircuitBuilder
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
std::shared_ptr< MegaZKVerificationKey > mega_vk
std::vector< FF > to_field_elements() const
Serialize proof to field elements (native mode)
static constexpr field one()
static constexpr field zero()