35 const size_t NUM_CIRCUITS = circuit_producer.total_num_circuits;
36 Chonk ivc{ NUM_CIRCUITS };
38 for (
size_t idx = 0; idx < NUM_CIRCUITS; ++idx) {
39 circuit_producer.construct_and_accumulate_next_circuit(ivc);
42 return { ivc.
prove(), ivc.get_hiding_kernel_vk_and_hash() };
52 auto [proof, vk_and_hash] = construct_chonk_prover_output();
56 EXPECT_TRUE(verifier.
verify(proof));
68 auto [proof, native_vk_and_hash] = construct_chonk_prover_output();
76 StdlibProof stdlib_proof(
builder, proof);
77 ChonkRecVerifierOutput output = verifier.verify(stdlib_proof);
84 info(
"Recursive Verifier: finalized num gates = ",
builder.get_num_finalized_gates_inefficient());
The IVC scheme used by the aztec client for private function execution.
ChonkProof prove()
Construct Chonk proof using the batched MegaZK + Translator protocol.
Verifier for Chonk IVC proofs (both native and recursive).
std::conditional_t< IsRecursive, ReductionResult, bool > Output
Output verify(const Proof &proof)
Verify a Chonk proof.
MegaFlavor::VKAndHash VKAndHash
static bool check(const Builder &circuit)
Check the witness satisifies the circuit.
Wrapper holding a verification key and its precomputed hash.
PrivateFunctionExecutionMockCircuitProducer MockCircuitProducer
static void SetUpTestSuite()
static ChonkProverOutput construct_chonk_prover_output(const size_t num_app_circuits=1)
Construct a genuine Chonk prover output based on accumulation of an arbitrary set of mock circuits.
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.
ChonkProof_< true > ChonkStdlibProof
ChonkProof_< false > ChonkProof
ChonkVerifier< true > ChonkRecursiveVerifier
UltraCircuitBuilder_< UltraExecutionTraceBlocks > UltraCircuitBuilder
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
An object storing two EC points that represent the inputs to a pairing check.
std::shared_ptr< VKAndHash > vk_and_hash