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

A flavor for the AVM recursive verifier circuit arithmetized with Mega. More...

#include <mega_avm_flavor.hpp>

Inheritance diagram for bb::MegaAvmFlavor:
bb::MegaFlavor

Static Public Member Functions

static constexpr size_t FINAL_PCS_MSM_SIZE (size_t log_n=VIRTUAL_LOG_N)
 
static constexpr size_t DECIDER_PROOF_LENGTH (size_t virtual_log_n=VIRTUAL_LOG_N)
 
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS (size_t virtual_log_n=VIRTUAL_LOG_N)
 
- Static Public Member Functions inherited from bb::MegaFlavor
static constexpr size_t FINAL_PCS_MSM_SIZE (size_t log_n=VIRTUAL_LOG_N)
 
static constexpr size_t DECIDER_PROOF_LENGTH (size_t virtual_log_n=VIRTUAL_LOG_N)
 
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS (size_t virtual_log_n=VIRTUAL_LOG_N)
 

Static Public Attributes

static constexpr size_t VIRTUAL_LOG_N = MEGA_AVM_LOG_N
 
- Static Public Attributes inherited from bb::MegaFlavor
static constexpr size_t VIRTUAL_LOG_N = CONST_FOLDING_LOG_N
 
static constexpr bool USE_SHORT_MONOMIALS = true
 
static constexpr bool HasZK = false
 
static constexpr bool USE_PADDING = true
 
static constexpr size_t NUM_WIRES = CircuitBuilder::NUM_WIRES
 
static constexpr size_t NUM_ALL_ENTITIES = 60
 
static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 31
 
static constexpr size_t NUM_WITNESS_ENTITIES = 24
 
static constexpr size_t NUM_SHIFTED_ENTITIES = 5
 
static constexpr size_t NUM_UNSHIFTED_ENTITIES = NUM_PRECOMPUTED_ENTITIES + NUM_WITNESS_ENTITIES
 
static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS
 
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>()
 
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH = MAX_PARTIAL_RELATION_LENGTH + 1
 
static constexpr size_t NUM_RELATIONS = std::tuple_size_v<Relations>
 
static constexpr size_t num_frs_comm = FrCodec::calc_num_fields<Commitment>()
 
static constexpr size_t num_frs_fr = FrCodec::calc_num_fields<FF>()
 
static constexpr size_t OINK_PROOF_LENGTH_WITHOUT_PUB_INPUTS
 
static constexpr size_t NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>()
 
static constexpr bool has_zero_row = true
 

Additional Inherited Members

- Public Types inherited from bb::MegaFlavor
using CircuitBuilder = MegaCircuitBuilder
 
using Curve = curve::BN254
 
using FF = Curve::ScalarField
 
using GroupElement = Curve::Element
 
using Commitment = Curve::AffineElement
 
using PCS = KZG< Curve >
 
using Polynomial = bb::Polynomial< FF >
 
using CommitmentKey = bb::CommitmentKey< Curve >
 
using VerifierCommitmentKey = bb::VerifierCommitmentKey< Curve >
 
using TraceBlocks = MegaExecutionTraceBlocks
 
using Codec = FrCodec
 
using HashFunction = crypto::Poseidon2< crypto::Poseidon2Bn254ScalarFieldParams >
 
using Transcript = BaseTranscript< Codec, HashFunction >
 
template<typename FF >
using Relations_ = std::tuple< bb::ArithmeticRelation< FF >, bb::UltraPermutationRelation< FF >, bb::LogDerivLookupRelation< FF >, bb::DeltaRangeConstraintRelation< FF >, bb::EllipticRelation< FF >, bb::MemoryRelation< FF >, bb::NonNativeFieldRelation< FF >, bb::EccOpQueueRelation< FF >, bb::DatabusLookupRelation< FF >, bb::Poseidon2ExternalRelation< FF >, bb::Poseidon2InternalRelation< FF > >
 
using Relations = Relations_< FF >
 
using SubrelationSeparator = FF
 
template<typename DataType >
using WitnessEntities = WitnessEntities_< DataType >
 
template<typename DataType >
using AllEntities = AllEntities_< DataType, HasZK >
 
using AllValues = AllValues_< HasZK >
 
using ProverPolynomials = ProverPolynomials_< HasZK >
 
using PrecomputedData = PrecomputedData_< Polynomial, NUM_PRECOMPUTED_ENTITIES >
 
using VerificationKey = NativeVerificationKey_< PrecomputedEntities< Commitment >, Codec, HashFunction, CommitmentKey >
 The verification key is responsible for storing the commitments to the precomputed (non-witness) polynomials used by the verifier.
 
using VKAndHash = VKAndHash_< FF, VerificationKey >
 
using PartiallyEvaluatedMultivariates = PartiallyEvaluatedMultivariates_< HasZK >
 
template<size_t LENGTH>
using ProverUnivariates = AllEntities< bb::Univariate< FF, LENGTH > >
 A container for univariates used in sumcheck.
 
using ExtendedEdges = ProverUnivariates< MAX_PARTIAL_RELATION_LENGTH >
 A container for univariates produced during the hot loop in sumcheck.
 
using WitnessCommitments = WitnessEntities< Commitment >
 A container for the witness commitments.
 
using VerifierCommitments = VerifierCommitments_< Commitment, VerificationKey, HasZK >
 

Detailed Description

A flavor for the AVM recursive verifier circuit arithmetized with Mega.

The AVM recursive verifier is a Mega-arithmetized circuit that verifies AVM proofs.

Definition at line 18 of file mega_avm_flavor.hpp.

Member Function Documentation

◆ DECIDER_PROOF_LENGTH()

static constexpr size_t bb::MegaAvmFlavor::DECIDER_PROOF_LENGTH ( size_t  virtual_log_n = VIRTUAL_LOG_N)
inlinestaticconstexpr

Definition at line 29 of file mega_avm_flavor.hpp.

◆ FINAL_PCS_MSM_SIZE()

static constexpr size_t bb::MegaAvmFlavor::FINAL_PCS_MSM_SIZE ( size_t  log_n = VIRTUAL_LOG_N)
inlinestaticconstexpr

Definition at line 24 of file mega_avm_flavor.hpp.

◆ PROOF_LENGTH_WITHOUT_PUB_INPUTS()

static constexpr size_t bb::MegaAvmFlavor::PROOF_LENGTH_WITHOUT_PUB_INPUTS ( size_t  virtual_log_n = VIRTUAL_LOG_N)
inlinestaticconstexpr

Definition at line 34 of file mega_avm_flavor.hpp.

Member Data Documentation

◆ VIRTUAL_LOG_N

constexpr size_t bb::MegaAvmFlavor::VIRTUAL_LOG_N = MEGA_AVM_LOG_N
staticconstexpr

Definition at line 21 of file mega_avm_flavor.hpp.


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