Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
honk_recursion_constraint.test.cpp File Reference

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.
 

Typedef Documentation

◆ Flavors

Function Documentation

◆ TYPED_TEST() [1/5]

TYPED_TEST ( AcirHonkRecursionConstraint  ,
TestBasicDoubleHonkRecursionConstraints   
)

Definition at line 285 of file honk_recursion_constraint.test.cpp.

◆ TYPED_TEST() [2/5]

TYPED_TEST ( AcirHonkRecursionConstraint  ,
TestBasicSingleHonkRecursionConstraint   
)

Definition at line 265 of file honk_recursion_constraint.test.cpp.

◆ TYPED_TEST() [3/5]

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 386 of file honk_recursion_constraint.test.cpp.

◆ TYPED_TEST() [4/5]

TYPED_TEST ( AcirHonkRecursionConstraint  ,
TestHonkRecursionConstraintVKGeneration   
)

Definition at line 240 of file honk_recursion_constraint.test.cpp.

◆ TYPED_TEST() [5/5]

TYPED_TEST ( AcirHonkRecursionConstraint  ,
TestOneOuterRecursiveCircuit   
)

We want to test the following:

  1. circuit that verifies a proof of another circuit
  2. the above, but the inner circuit contains a recursive proof output that we have to aggregate
  3. the above, but the outer circuit verifies 2 proofs, the aggregation outputs from the 2 proofs (+ the recursive proof output from 2) are aggregated together

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

Attempt at a visual graphic

C
^
|
| - B
^   ^
|   |
|    -A
|
 - A

===========================

Final aggregation object contains aggregated proofs for 2 instances of A and 1 instance of B

Definition at line 307 of file honk_recursion_constraint.test.cpp.

◆ TYPED_TEST_SUITE()

TYPED_TEST_SUITE ( AcirHonkRecursionConstraint  ,
Flavors   
)