barretenberg
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
proof_system::honk::UltraComposer_< Flavor > Class Template Reference

Public Types

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 ProverInstance = ProverInstance_< Flavor >
 
using Instance = ProverInstance
 
using FF = typename Flavor::FF
 
using Transcript = typename Flavor::Transcript
 
using CRSFactory = srs::factories::CrsFactory< typename Flavor::Curve >
 
using ProverInstances = ProverInstances_< Flavor, NUM_FOLDING >
 
using VerifierInstances = VerifierInstances_< Flavor, NUM_FOLDING >
 

Public Member Functions

 UltraComposer_ (std::shared_ptr< CRSFactory > crs_factory)
 
 UltraComposer_ (UltraComposer_ &&other) noexcept=default
 
 UltraComposer_ (UltraComposer_ const &other) noexcept=default
 
UltraComposer_operator= (UltraComposer_ &&other) noexcept=default
 
UltraComposer_operator= (UltraComposer_ const &other) noexcept=default
 
std::shared_ptr< CommitmentKey > compute_commitment_key (size_t circuit_size)
 
std::shared_ptr< Instancecreate_instance (CircuitBuilder &circuit)
 
UltraProver_< Flavorcreate_prover (const std::shared_ptr< Instance > &, const std::shared_ptr< Transcript > &transcript=std::make_shared< Transcript >())
 
UltraVerifier_< Flavorcreate_verifier (const std::shared_ptr< Instance > &, const std::shared_ptr< Transcript > &transcript=std::make_shared< Transcript >())
 
UltraVerifier_< Flavorcreate_verifier (CircuitBuilder &circuit)
 
UltraVerifier_< Flavorcreate_ultra_with_keccak_verifier (CircuitBuilder &circuit)
 
MergeProver_< Flavorcreate_merge_prover (const std::shared_ptr< ECCOpQueue > &op_queue, const std::shared_ptr< Transcript > &transcript=std::make_shared< Transcript >())
 Create Prover for Goblin ECC op queue merge protocol.
 
MergeVerifier_< Flavorcreate_merge_verifier ()
 Create Verifier for Goblin ECC op queue merge protocol.
 
ProtoGalaxyProver_< ProverInstancescreate_folding_prover (const std::vector< std::shared_ptr< Instance > > &instances, const std::shared_ptr< CommitmentKey > &commitment_key)
 
ProtoGalaxyVerifier_< VerifierInstancescreate_folding_verifier ()
 
void compute_verification_key (const std::shared_ptr< Instance > &)
 Compute the verification key of an Instance, produced from a finalised circuit.
 

Public Attributes

std::shared_ptr< CRSFactorycrs_factory_
 
std::shared_ptr< CommitmentKey > commitment_key
 

Static Public Attributes

static constexpr size_t NUM_FOLDING = 2
 
static constexpr size_t num_zero_rows = Flavor::has_zero_row ? 1 : 0
 
static constexpr std::string_view NAME_STRING = "UltraHonk"
 
static constexpr size_t NUM_WIRES = CircuitBuilder::NUM_WIRES
 

Member Function Documentation

◆ compute_verification_key()

template<UltraFlavor Flavor>
void proof_system::honk::UltraComposer_< Flavor >::compute_verification_key ( const std::shared_ptr< Instance > &  )

Compute the verification key of an Instance, produced from a finalised circuit.

Parameters
inst

Compute verification key consisting of selector precommitments.

Returns
Pointer to the resulting verification key of the Instance.

◆ create_merge_prover()

template<UltraFlavor Flavor>
MergeProver_< Flavor > proof_system::honk::UltraComposer_< Flavor >::create_merge_prover ( const std::shared_ptr< ECCOpQueue > &  op_queue,
const std::shared_ptr< Transcript > &  transcript = std::make_shared<Transcript>() 
)
inline

Create Prover for Goblin ECC op queue merge protocol.

Parameters
op_queue
Returns
MergeProver_<Flavor> TODO(https://github.com/AztecProtocol/barretenberg/issues/804): Goblin should be responsible for constructing merge prover/verifier.

◆ create_merge_verifier()

template<UltraFlavor Flavor>
MergeVerifier_< Flavor > proof_system::honk::UltraComposer_< Flavor >::create_merge_verifier ( )
inline

Create Verifier for Goblin ECC op queue merge protocol.

Returns
MergeVerifier_<Flavor>

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