78 constexpr size_t EXPECTED_TOTAL_TRANSCRIPTS = 14;
79 constexpr size_t EXPECTED_NUM_CIRCUITS = 7;
86 std::vector<size_t> indices_before_accumulation;
87 std::vector<size_t> indices_after_accumulation;
90 constexpr size_t NUM_APP_CIRCUITS = 2;
91 PrivateFunctionExecutionMockCircuitProducer circuit_producer(NUM_APP_CIRCUITS);
92 const size_t num_circuits = circuit_producer.total_num_circuits;
93 ASSERT_EQ(num_circuits, EXPECTED_NUM_CIRCUITS) <<
"Circuit count mismatch - test assumptions invalid";
95 Chonk ivc{ num_circuits };
97 for (
size_t j = 0; j < num_circuits; ++j) {
99 circuit_producer.construct_and_accumulate_next_circuit(ivc);
104 size_t total_transcripts = index_after_ivc - index_before_ivc;
107 EXPECT_EQ(total_transcripts, EXPECTED_TOTAL_TRANSCRIPTS)
108 <<
"Total transcript count during 2-app IVC accumulation changed. "
109 <<
"If intentional, update EXPECTED_TOTAL_TRANSCRIPTS. "
110 <<
"Unexpected changes may indicate security-relevant transcript isolation issues.";
113 for (
size_t i = 0; i < num_circuits; ++i) {
114 size_t circuit_transcripts = indices_after_accumulation[i] - indices_before_accumulation[i];
115 EXPECT_EQ(circuit_transcripts, EXPECTED_CIRCUIT_TRANSCRIPTS[i])
116 <<
"Circuit " << i <<
" transcript count changed from " << EXPECTED_CIRCUIT_TRANSCRIPTS[i] <<
" to "
117 << circuit_transcripts;
121 auto proof = ivc.
prove();
122 auto vk_and_hash = ivc.get_hiding_kernel_vk_and_hash();
124 EXPECT_TRUE(verifier.
verify(proof)) <<
"IVC proof should verify";
143 constexpr size_t NUM_APP_CIRCUITS = 1;
144 PrivateFunctionExecutionMockCircuitProducer circuit_producer(NUM_APP_CIRCUITS);
145 const size_t num_circuits = circuit_producer.total_num_circuits;
146 Chonk ivc{ num_circuits };
148 for (
size_t j = 0; j < num_circuits; ++j) {
149 circuit_producer.construct_and_accumulate_next_circuit(ivc);
152 auto proof = ivc.
prove();
153 auto vk_and_hash = ivc.get_hiding_kernel_vk_and_hash();
163 RecursiveVerifier verifier(stdlib_vk_and_hash);
165 [[maybe_unused]]
auto output = verifier.verify(stdlib_proof);
168 size_t transcripts_created = index_after_verify - index_before_verify;
171 constexpr size_t EXPECTED_TRANSCRIPTS_DURING_RECURSIVE_VERIFY = 2;
172 EXPECT_EQ(transcripts_created, EXPECTED_TRANSCRIPTS_DURING_RECURSIVE_VERIFY)
173 <<
"ChonkRecursiveVerifier transcript count changed. "
174 <<
"If intentional, update EXPECTED_TRANSCRIPTS_DURING_RECURSIVE_VERIFY. "
175 <<
"Unexpected changes may indicate security-relevant transcript isolation issues.";