barretenberg
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
barretenberg::GoblinTestingUtils Class Reference

Public Types

using Curve = curve::BN254
 
using FF = Curve::ScalarField
 
using Fbase = Curve::BaseField
 
using Point = Curve::AffineElement
 
using CommitmentKey = proof_system::honk::pcs::CommitmentKey< Curve >
 
using OpQueue = proof_system::ECCOpQueue
 
using GoblinUltraBuilder = proof_system::GoblinUltraCircuitBuilder
 
using Flavor = proof_system::honk::flavor::GoblinUltra
 

Static Public Member Functions

static void construct_arithmetic_circuit (GoblinUltraBuilder &builder)
 
static void construct_goblin_ecc_op_circuit (GoblinUltraBuilder &builder)
 
static void perform_op_queue_interactions_for_mock_first_circuit (std::shared_ptr< proof_system::ECCOpQueue > &op_queue)
 Mock the interactions of a simple curcuit with the op_queue.
 
static void construct_simple_initial_circuit (GoblinUltraBuilder &builder)
 Generate a simple test circuit with some ECC op gates and conventional arithmetic gates.
 

Static Public Attributes

static constexpr size_t NUM_OP_QUEUE_COLUMNS = Flavor::NUM_WIRES
 

Member Function Documentation

◆ construct_simple_initial_circuit()

static void barretenberg::GoblinTestingUtils::construct_simple_initial_circuit ( GoblinUltraBuilder builder)
inlinestatic

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

Parameters
builder

◆ perform_op_queue_interactions_for_mock_first_circuit()

static void barretenberg::GoblinTestingUtils::perform_op_queue_interactions_for_mock_first_circuit ( std::shared_ptr< proof_system::ECCOpQueue > &  op_queue)
inlinestatic

Mock the interactions of a simple curcuit with the op_queue.

Todo:
The transcript aggregation protocol in the Goblin proof system can not yet support an empty "previous transcript" (see issue #723) because the corresponding commitments are zero / the point at infinity. This function mocks the interactions with the op queue of a fictional "first" circuit. This way, when we go to generate a proof over our first "real" circuit, the transcript aggregation protocol can proceed nominally. The mock data is valid in the sense that it can be processed by all stages of Goblin as if it came from a genuine circuit.
Parameters
op_queue

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