39 const size_t NUM_CIRCUITS = circuit_producer.total_num_circuits;
42 for (
size_t idx = 0; idx < NUM_CIRCUITS; ++idx) {
43 circuit_producer.construct_and_accumulate_next_circuit(ivc);
46 return { ivc.prove(), ivc.get_vk() };
56 auto [proof,
vk] = construct_client_ivc_prover_output();
71 auto [proof,
vk] = construct_client_ivc_prover_output();
75 ClientIVCVerifier verifier{ &
builder,
vk.mega };
79 CIVCRecVerifierOutput output = verifier.verify(stdlib_proof);
86 info(
"Recursive Verifier: finalized num gates = ",
builder.num_gates);
The IVC scheme used by the aztec client for private function execution.
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
A simple wrapper around a vector of stdlib field elements representing a proof.
static constexpr TraceSettings trace_settings
static ClientIVCProverOutput construct_client_ivc_prover_output(const size_t num_app_circuits=1)
Construct a genuine ClientIVC prover output based on accumulation of an arbitrary set of mock circuit...
PrivateFunctionExecutionMockCircuitProducer MockCircuitProducer
static void SetUpTestSuite()
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 circuit (wh...
IVCVerificationKey ivc_vk