Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::GoblinMockCircuits Class Reference

#include <mock_circuits.hpp>

Public Types

using Curve = curve::BN254
 
using FF = Curve::ScalarField
 
using Fbase = Curve::BaseField
 
using Point = Curve::AffineElement
 
using CommitmentKey = bb::CommitmentKey< Curve >
 
using OpQueue = bb::ECCOpQueue
 
using MegaBuilder = bb::MegaCircuitBuilder
 
using Flavor = bb::MegaFlavor
 
using RecursiveFlavor = bb::MegaRecursiveFlavor_< MegaBuilder >
 
using RecursiveVerifier = bb::stdlib::recursion::honk::UltraRecursiveVerifier_< RecursiveFlavor >
 
using DeciderVerificationKey = bb::DeciderVerificationKey_< Flavor >
 
using RecursiveDeciderVerificationKey = ::bb::stdlib::recursion::honk::RecursiveDeciderVerificationKey_< RecursiveFlavor >
 
using RecursiveVKAndHash = RecursiveDeciderVerificationKey::VKAndHash
 
using RecursiveVerifierAccumulator = std::shared_ptr< RecursiveDeciderVerificationKey >
 
using VerificationKey = Flavor::VerificationKey
 

Static Public Member Functions

static void construct_mock_app_circuit (MegaBuilder &builder, bool large=false)
 Populate a builder with some arbitrary but nontrivial constraints.
 
static void add_some_ecc_op_gates (MegaBuilder &builder)
 Generate a simple test circuit with some ECC op gates and conventional arithmetic gates.
 
static void randomise_op_queue (MegaBuilder &builder)
 Add some randomness into the op queue.
 
static void construct_simple_circuit (MegaBuilder &builder, bool last_circuit=false)
 Generate a simple test circuit with some ECC op gates and conventional arithmetic gates.
 
static void construct_mock_folding_kernel (MegaBuilder &builder)
 Construct a mock kernel circuit.
 

Static Public Attributes

static constexpr size_t NUM_WIRES = Flavor::NUM_WIRES
 

Detailed Description

Definition at line 54 of file mock_circuits.hpp.

Member Typedef Documentation

◆ CommitmentKey

◆ Curve

Definition at line 56 of file mock_circuits.hpp.

◆ DeciderVerificationKey

◆ Fbase

◆ FF

◆ Flavor

◆ MegaBuilder

◆ OpQueue

◆ Point

◆ RecursiveDeciderVerificationKey

◆ RecursiveFlavor

◆ RecursiveVerifier

◆ RecursiveVerifierAccumulator

◆ RecursiveVKAndHash

◆ VerificationKey

Member Function Documentation

◆ add_some_ecc_op_gates()

static void bb::GoblinMockCircuits::add_some_ecc_op_gates ( MegaBuilder builder)
inlinestatic

Generate a simple test circuit with some ECC op gates and conventional arithmetic gates.

Parameters
builder

Definition at line 110 of file mock_circuits.hpp.

◆ construct_mock_app_circuit()

static void bb::GoblinMockCircuits::construct_mock_app_circuit ( MegaBuilder builder,
bool  large = false 
)
inlinestatic

Populate a builder with some arbitrary but nontrivial constraints.

Although the details of the circuit constructed here are arbitrary, the intent is to mock something a bit more realistic than a circuit comprised entirely of arithmetic gates. E.g. the circuit should respond realistically to efforts to parallelize circuit construction.

Parameters
builder
largeIf true, construct a "large" circuit (2^19), else a medium circuit (2^17)

Definition at line 84 of file mock_circuits.hpp.

◆ construct_mock_folding_kernel()

static void bb::GoblinMockCircuits::construct_mock_folding_kernel ( MegaBuilder builder)
inlinestatic

Construct a mock kernel circuit.

Construct an arbitrary circuit meant to represent the aztec private function execution kernel. Recursive folding verification is handled internally by ClientIvc, not in the kernel.

Parameters
builder
function_fold_proof
kernel_fold_proof

Definition at line 161 of file mock_circuits.hpp.

◆ construct_simple_circuit()

static void bb::GoblinMockCircuits::construct_simple_circuit ( MegaBuilder builder,
bool  last_circuit = false 
)
inlinestatic

Generate a simple test circuit with some ECC op gates and conventional arithmetic gates.

Parameters
builder

Definition at line 139 of file mock_circuits.hpp.

◆ randomise_op_queue()

static void bb::GoblinMockCircuits::randomise_op_queue ( MegaBuilder builder)
inlinestatic

Add some randomness into the op queue.

Definition at line 128 of file mock_circuits.hpp.

Member Data Documentation

◆ NUM_WIRES

constexpr size_t bb::GoblinMockCircuits::NUM_WIRES = Flavor::NUM_WIRES
staticconstexpr

Definition at line 73 of file mock_circuits.hpp.


The documentation for this class was generated from the following file: