Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
mock_kernel_pinning.test.cpp
Go to the documentation of this file.
5
6#include <gtest/gtest.h>
7
8using namespace bb;
9
15class MockKernelTest : public ::testing::Test {
16 public:
18 using MockCircuitProducer = PrivateFunctionExecutionMockCircuitProducer;
19
20 protected:
22};
23
24TEST_F(MockKernelTest, PinFoldingKernelSizes)
25{
26 MockCircuitProducer circuit_producer{ /*num_app_circuits=*/1 };
27 const size_t NUM_CIRCUITS = circuit_producer.total_num_circuits;
28 ClientIVC ivc{ NUM_CIRCUITS, { AZTEC_TRACE_STRUCTURE } };
29
30 // Construct and accumulate a series of mocked private function execution circuits
31 for (size_t idx = 0; idx < NUM_CIRCUITS; ++idx) {
32 auto [circuit, vk] = circuit_producer.create_next_circuit_and_vk(ivc);
33
34 ivc.accumulate(circuit, vk);
35 EXPECT_TRUE(circuit.blocks.has_overflow); // trace overflow mechanism should be triggered
36 }
37
38 EXPECT_EQ(ivc.fold_output.accumulator->log_dyadic_size(), 19);
39}
For benchmarking, we want to be sure that our mocking functions create circuits of a known size....
PrivateFunctionExecutionMockCircuitProducer MockCircuitProducer
The IVC scheme used by the aztec client for private function execution.
void accumulate(ClientCircuit &circuit, const std::shared_ptr< MegaVerificationKey > &precomputed_vk)
Perform prover work for accumulation (e.g. PG folding, merge proving)
TEST_F(MockKernelTest, PinFoldingKernelSizes)
std::filesystem::path bb_crs_path()
void init_file_crs_factory(const std::filesystem::path &path)
Entry point for Barretenberg command-line interface.
MegaCircuitBuilder_< field< Bn254FrParams > > MegaCircuitBuilder
VerifierCommitmentKey< Curve > vk