Barretenberg
The ZK-SNARK library at the core of Aztec
|
Public Types | |
using | InnerFlavor = typename RecursiveFlavor::NativeFlavor |
using | InnerBuilder = typename InnerFlavor::CircuitBuilder |
using | InnerDeciderProvingKey = DeciderProvingKey_< InnerFlavor > |
using | InnerProver = bb::UltraProver_< InnerFlavor > |
using | InnerVerificationKey = typename InnerFlavor::VerificationKey |
using | InnerVerifier = bb::UltraVerifier_< InnerFlavor > |
using | OuterBuilder = typename RecursiveFlavor::CircuitBuilder |
using | OuterFlavor = std::conditional_t< IsMegaBuilder< OuterBuilder >, MegaFlavor, std::conditional_t< HasIPAAccumulator< InnerFlavor >, UltraRollupFlavor, UltraFlavor > > |
using | OuterDeciderProvingKey = DeciderProvingKey_< OuterFlavor > |
using | OuterProver = bb::UltraProver_< OuterFlavor > |
using | OuterVerificationKey = typename OuterFlavor::VerificationKey |
using | OuterVerifier = bb::UltraVerifier_< OuterFlavor > |
Public Member Functions | |
InnerBuilder | create_inner_circuit () |
template<typename BuilderType > | |
BuilderType | create_outer_circuit (std::vector< InnerBuilder > &inner_circuits, bool dummy_witnesses=false) |
Create a circuit that recursively verifies one or more circuits. | |
bool | verify_proof (const std::shared_ptr< OuterDeciderProvingKey > &proving_key, const std::shared_ptr< OuterVerificationKey > &verification_key, const HonkProof &proof) |
Static Protected Member Functions | |
static void | SetUpTestSuite () |
Definition at line 17 of file honk_recursion_constraint.test.cpp.
using AcirHonkRecursionConstraint< RecursiveFlavor >::InnerBuilder = typename InnerFlavor::CircuitBuilder |
Definition at line 21 of file honk_recursion_constraint.test.cpp.
using AcirHonkRecursionConstraint< RecursiveFlavor >::InnerDeciderProvingKey = DeciderProvingKey_<InnerFlavor> |
Definition at line 22 of file honk_recursion_constraint.test.cpp.
using AcirHonkRecursionConstraint< RecursiveFlavor >::InnerFlavor = typename RecursiveFlavor::NativeFlavor |
Definition at line 20 of file honk_recursion_constraint.test.cpp.
using AcirHonkRecursionConstraint< RecursiveFlavor >::InnerProver = bb::UltraProver_<InnerFlavor> |
Definition at line 23 of file honk_recursion_constraint.test.cpp.
using AcirHonkRecursionConstraint< RecursiveFlavor >::InnerVerificationKey = typename InnerFlavor::VerificationKey |
Definition at line 24 of file honk_recursion_constraint.test.cpp.
using AcirHonkRecursionConstraint< RecursiveFlavor >::InnerVerifier = bb::UltraVerifier_<InnerFlavor> |
Definition at line 25 of file honk_recursion_constraint.test.cpp.
using AcirHonkRecursionConstraint< RecursiveFlavor >::OuterBuilder = typename RecursiveFlavor::CircuitBuilder |
Definition at line 26 of file honk_recursion_constraint.test.cpp.
using AcirHonkRecursionConstraint< RecursiveFlavor >::OuterDeciderProvingKey = DeciderProvingKey_<OuterFlavor> |
Definition at line 31 of file honk_recursion_constraint.test.cpp.
using AcirHonkRecursionConstraint< RecursiveFlavor >::OuterFlavor = std::conditional_t<IsMegaBuilder<OuterBuilder>, MegaFlavor, std::conditional_t<HasIPAAccumulator<InnerFlavor>, UltraRollupFlavor, UltraFlavor> > |
Definition at line 27 of file honk_recursion_constraint.test.cpp.
using AcirHonkRecursionConstraint< RecursiveFlavor >::OuterProver = bb::UltraProver_<OuterFlavor> |
Definition at line 32 of file honk_recursion_constraint.test.cpp.
using AcirHonkRecursionConstraint< RecursiveFlavor >::OuterVerificationKey = typename OuterFlavor::VerificationKey |
Definition at line 33 of file honk_recursion_constraint.test.cpp.
using AcirHonkRecursionConstraint< RecursiveFlavor >::OuterVerifier = bb::UltraVerifier_<OuterFlavor> |
Definition at line 34 of file honk_recursion_constraint.test.cpp.
|
inline |
constraints produced by Noir program: fn main(x : u32, y : pub u32) { let z = x ^ y;
constrain z != 10; }
Definition at line 36 of file honk_recursion_constraint.test.cpp.
|
inline |
Create a circuit that recursively verifies one or more circuits.
This function is parametized by BuilderType because we want to use this function to produce Ultra/UltraRollup circuits sometimes and also Mega circuits other times.
BuilderType |
inner_circuits |
Definition at line 140 of file honk_recursion_constraint.test.cpp.
|
inlinestaticprotected |
Definition at line 229 of file honk_recursion_constraint.test.cpp.
|
inline |
Definition at line 208 of file honk_recursion_constraint.test.cpp.