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

Public Types

using Flavor = honk::flavor::GoblinTranslator
 
using Curve = typename Flavor::Curve
 
using CircuitBuilder = typename Flavor::CircuitBuilder
 
using ProvingKey = typename Flavor::ProvingKey
 
using VerificationKey = typename Flavor::VerificationKey
 
using PCS = typename Flavor::PCS
 
using CommitmentKey = typename Flavor::CommitmentKey
 
using VerifierCommitmentKey = typename Flavor::VerifierCommitmentKey
 
using Polynomial = typename Flavor::Polynomial
 
using Transcript = BaseTranscript
 

Public Member Functions

 GoblinTranslatorComposer (std::shared_ptr< ProvingKey > p_key, std::shared_ptr< VerificationKey > v_key)
 
std::shared_ptr< ProvingKey > compute_proving_key (const CircuitBuilder &circuit_builder)
 Move goblin translator specific inputs from circuit builder and compute all the constant polynomials used by the prover.
 
std::shared_ptr< VerificationKey > compute_verification_key (const CircuitBuilder &circuit_builder)
 
void compute_circuit_size_parameters (CircuitBuilder &circuit_builder)
 Helper method to compute quantities like total number of gates and dyadic circuit size.
 
void compute_witness (CircuitBuilder &circuit_builder)
 Compute witness polynomials.
 
GoblinTranslatorProver create_prover (CircuitBuilder &circuit_builder, const std::shared_ptr< Transcript > &transcript=std::make_shared< Transcript >())
 Create a prover object (used to create the proof)
 
GoblinTranslatorVerifier create_verifier (const CircuitBuilder &circuit_builder, const std::shared_ptr< Transcript > &transcript=std::make_shared< Transcript >())
 Create verifier: compute verification key, initialize verifier with it and an initial manifest and initialize commitment_scheme.
 
std::shared_ptr< CommitmentKey > compute_commitment_key (size_t circuit_size)
 

Public Attributes

std::shared_ptr< ProvingKey > proving_key
 
std::shared_ptr< VerificationKey > verification_key
 
std::shared_ptr< barretenberg::srs::factories::CrsFactory< Curve > > crs_factory_
 
std::shared_ptr< CommitmentKey > commitment_key
 
bool computed_witness = false
 
size_t total_num_gates = 0
 
size_t dyadic_circuit_size = 0
 
size_t mini_circuit_dyadic_size = 0
 

Static Public Attributes

static constexpr size_t MINI_CIRCUIT_SIZE = Flavor::MINI_CIRCUIT_SIZE
 
static constexpr std::string_view NAME_STRING = "GoblinTranslator"
 
static constexpr size_t NUM_WIRES = CircuitBuilder::NUM_WIRES
 

Member Function Documentation

◆ compute_circuit_size_parameters()

void proof_system::honk::GoblinTranslatorComposer::compute_circuit_size_parameters ( CircuitBuilder &  circuit_builder)

Helper method to compute quantities like total number of gates and dyadic circuit size.

Template Parameters
Flavor
Parameters
circuit_builder

◆ compute_proving_key()

std::shared_ptr< typename Flavor::ProvingKey > proof_system::honk::GoblinTranslatorComposer::compute_proving_key ( const CircuitBuilder &  circuit_builder)

Move goblin translator specific inputs from circuit builder and compute all the constant polynomials used by the prover.

Template Parameters
Flavor
Parameters
circuit_builder
Returns
std::shared_ptr<ProvingKey>

◆ compute_verification_key()

std::shared_ptr< VerificationKey > proof_system::honk::GoblinTranslatorComposer::compute_verification_key ( const CircuitBuilder &  circuit_builder)

Compute verification key consisting of non-changing polynomials' precommitments.

Returns
Pointer to created circuit verification key.

◆ compute_witness()

void proof_system::honk::GoblinTranslatorComposer::compute_witness ( CircuitBuilder &  circuit_builder)

Compute witness polynomials.

◆ create_prover()

GoblinTranslatorProver proof_system::honk::GoblinTranslatorComposer::create_prover ( CircuitBuilder &  circuit_builder,
const std::shared_ptr< Transcript > &  transcript = std::make_shared<Transcript>() 
)

Create a prover object (used to create the proof)

Template Parameters
Flavor
Parameters
circuit_builder
Returns
GoblinTranslatorProver

◆ create_verifier()

GoblinTranslatorVerifier proof_system::honk::GoblinTranslatorComposer::create_verifier ( const CircuitBuilder &  circuit_builder,
const std::shared_ptr< Transcript > &  transcript = std::make_shared<Transcript>() 
)

Create verifier: compute verification key, initialize verifier with it and an initial manifest and initialize commitment_scheme.

Template Parameters
Flavor
Parameters
circuit_builder
Returns
GoblinTranslatorVerifier

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