|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include "honk_recursion_constraint.hpp"#include "acir_format.hpp"#include "acir_format_mocks.hpp"#include "barretenberg/dsl/acir_format/witness_constant.hpp"#include "barretenberg/numeric/uint256/uint256.hpp"#include "barretenberg/special_public_inputs/special_public_inputs.hpp"#include "barretenberg/ultra_honk/prover_instance.hpp"#include "barretenberg/ultra_honk/ultra_prover.hpp"#include "barretenberg/ultra_honk/ultra_verifier.hpp"#include "proof_surgeon.hpp"#include <gtest/gtest.h>#include <vector>Go to the source code of this file.
Classes | |
| class | AcirHonkRecursionConstraint< RecursiveFlavor > |
Typedefs | |
| using | Flavors = testing::Types< UltraRecursiveFlavor_< UltraCircuitBuilder >, UltraRollupRecursiveFlavor_< UltraCircuitBuilder >, UltraRecursiveFlavor_< MegaCircuitBuilder >, UltraZKRecursiveFlavor_< UltraCircuitBuilder >, UltraZKRecursiveFlavor_< MegaCircuitBuilder > > |
Functions | |
| TYPED_TEST_SUITE (AcirHonkRecursionConstraint, Flavors) | |
| TYPED_TEST (AcirHonkRecursionConstraint, TestHonkRecursionConstraintVKGeneration) | |
| TYPED_TEST (AcirHonkRecursionConstraint, TestBasicSingleHonkRecursionConstraint) | |
| TYPED_TEST (AcirHonkRecursionConstraint, TestBasicDoubleHonkRecursionConstraints) | |
| TYPED_TEST (AcirHonkRecursionConstraint, TestOneOuterRecursiveCircuit) | |
| TYPED_TEST (AcirHonkRecursionConstraint, TestFullRecursiveComposition) | |
| Similar to previous test but one extra node in tree of recursion. | |
Definition at line 243 of file honk_recursion_constraint.test.cpp.
| TYPED_TEST | ( | AcirHonkRecursionConstraint | , |
| TestBasicDoubleHonkRecursionConstraints | |||
| ) |
Definition at line 299 of file honk_recursion_constraint.test.cpp.
| TYPED_TEST | ( | AcirHonkRecursionConstraint | , |
| TestBasicSingleHonkRecursionConstraint | |||
| ) |
Definition at line 277 of file honk_recursion_constraint.test.cpp.
| TYPED_TEST | ( | AcirHonkRecursionConstraint | , |
| TestFullRecursiveComposition | |||
| ) |
Similar to previous test but one extra node in tree of recursion.
Layer 1 is two separate circuits, layer 2 is two circuits, each which verify one circuit of layer 1. The layer 3 circuit verifies both circuits of layer 2.
C ^ | B - B ^ ^ | | A A
===========================
Definition at line 404 of file honk_recursion_constraint.test.cpp.
| TYPED_TEST | ( | AcirHonkRecursionConstraint | , |
| TestHonkRecursionConstraintVKGeneration | |||
| ) |
Definition at line 251 of file honk_recursion_constraint.test.cpp.
| TYPED_TEST | ( | AcirHonkRecursionConstraint | , |
| TestOneOuterRecursiveCircuit | |||
| ) |
We want to test the following:
A = basic circuit B = circuit that verifies proof of A C = circuit that verifies proof of B and a proof of A
Layer 1 = proof of A Layer 2 = verifies proof of A and proof of B Layer 3 = verifies proof of C
C ^ | | - B ^ ^ | | | -A | - A
===========================
Final aggregation object contains aggregated proofs for 2 instances of A and 1 instance of B
Definition at line 321 of file honk_recursion_constraint.test.cpp.
| TYPED_TEST_SUITE | ( | AcirHonkRecursionConstraint | , |
| Flavors | |||
| ) |