37 const size_t NUM_CIRCUITS = circuit_producer.total_num_circuits;
38 Chonk ivc{ NUM_CIRCUITS };
40 for (
size_t idx = 0; idx < NUM_CIRCUITS; ++idx) {
41 circuit_producer.construct_and_accumulate_next_circuit(ivc);
44 return { ivc.
prove(), ivc.get_vk() };
54 auto [proof,
vk] = construct_chonk_prover_output();
69 auto [proof,
vk] = construct_chonk_prover_output();
73 ChonkVerifier verifier{ &
builder,
vk.mega };
76 StdlibProof stdlib_proof(
builder, proof);
77 ChonkRecVerifierOutput output = verifier.verify(stdlib_proof);
84 info(
"Recursive Verifier: finalized num gates = ",
builder.num_gates());
The IVC scheme used by the aztec client for private function execution.
Proof prove()
Construct a proof for the IVC, which, if verified, fully establishes its correctness.
static bool verify(const Proof &proof, const VerificationKey &vk)
static bool check(const Builder &circuit)
Check the witness satisifies the circuit.
The recursive counterpart to the "native" UltraRollupFlavor.
UltraRollupFlavor NativeFlavor
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.
GoblinRecursiveVerifierOutput Output
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.
UltraCircuitBuilder_< UltraExecutionTraceBlocks > UltraCircuitBuilder
VerifierCommitmentKey< Curve > vk
A full proof for the IVC scheme containing a Mega proof showing correctness of the Hiding kernel (whi...
An object storing two EC points that represent the inputs to a pairing check.
IVCVerificationKey ivc_vk