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 VerifierInstance = bb::VerifierInstance_< Flavor >
 
using RecursiveVerifierInstance = ::bb::stdlib::recursion::honk::RecursiveVerifierInstance_< RecursiveFlavor >
 
using RecursiveVKAndHash = RecursiveVerifierInstance::VKAndHash
 
using RecursiveVerifierAccumulator = std::shared_ptr< RecursiveVerifierInstance >
 
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, size_t num_ops)
 Add some randomness into the op queue.
 
static void construct_simple_circuit (MegaBuilder &builder)
 Generate a simple test circuit with some ECC op gates and conventional arithmetic gates.
 
static void construct_and_merge_mock_circuits (Goblin &goblin, const size_t num_circuits=3)
 
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 55 of file mock_circuits.hpp.

Member Typedef Documentation

◆ CommitmentKey

◆ Curve

Definition at line 57 of file mock_circuits.hpp.

◆ Fbase

◆ FF

◆ Flavor

◆ MegaBuilder

◆ OpQueue

◆ Point

◆ RecursiveFlavor

◆ RecursiveVerifier

◆ RecursiveVerifierAccumulator

◆ RecursiveVerifierInstance

◆ RecursiveVKAndHash

◆ VerificationKey

◆ VerifierInstance

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_and_merge_mock_circuits()

static void bb::GoblinMockCircuits::construct_and_merge_mock_circuits ( Goblin goblin,
const size_t  num_circuits = 3 
)
inlinestatic

Definition at line 150 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 178 of file mock_circuits.hpp.

◆ construct_simple_circuit()

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

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

Parameters
builder

Definition at line 141 of file mock_circuits.hpp.

◆ randomise_op_queue()

static void bb::GoblinMockCircuits::randomise_op_queue ( MegaBuilder builder,
size_t  num_ops 
)
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: