Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::MegaAvmRecursiveFlavor_< BuilderType > Class Template Reference

Recursive counterpart to MegaAvmFlavor. More...

#include <mega_avm_recursive_flavor.hpp>

Classes

class  AllValues
 

Public Types

using CircuitBuilder = BuilderType
 
using Curve = stdlib::bn254< CircuitBuilder >
 
using PCS = KZG< Curve >
 
using GroupElement = typename Curve::Element
 
using FF = typename Curve::ScalarField
 
using Commitment = typename Curve::Element
 
using NativeFlavor = MegaAvmFlavor
 
using Codec = stdlib::StdlibCodec< FF >
 
using Transcript = StdlibTranscript< CircuitBuilder >
 
using Relations = MegaAvmFlavor::Relations_< FF >
 
using SubrelationSeparator = FF
 
using VerificationKey = StdlibVerificationKey_< CircuitBuilder, NativeFlavor::PrecomputedEntities< Commitment >, NativeFlavor::VerificationKey >
 
using WitnessCommitments = MegaAvmFlavor::WitnessEntities< Commitment >
 
using CommitmentLabels = MegaAvmFlavor::CommitmentLabels
 
using VKAndHash = VKAndHash_< FF, VerificationKey >
 

Static Public Member Functions

static constexpr size_t FINAL_PCS_MSM_SIZE (size_t log_n=VIRTUAL_LOG_N)
 
static const CommitmentLabelscommitment_labels ()
 

Static Public Attributes

static constexpr size_t VIRTUAL_LOG_N = MegaAvmFlavor::VIRTUAL_LOG_N
 
static constexpr bool USE_SHORT_MONOMIALS = MegaAvmFlavor::USE_SHORT_MONOMIALS
 
static constexpr bool HasZK = false
 
static constexpr bool USE_PADDING = MegaAvmFlavor::USE_PADDING
 
static constexpr size_t NUM_WIRES = MegaAvmFlavor::NUM_WIRES
 
static constexpr size_t NUM_ALL_ENTITIES = MegaAvmFlavor::NUM_ALL_ENTITIES
 
static constexpr size_t NUM_PRECOMPUTED_ENTITIES = MegaAvmFlavor::NUM_PRECOMPUTED_ENTITIES
 
static constexpr size_t NUM_WITNESS_ENTITIES = MegaAvmFlavor::NUM_WITNESS_ENTITIES
 
static constexpr size_t NUM_SHIFTED_ENTITIES = MegaAvmFlavor::NUM_SHIFTED_ENTITIES
 
static constexpr size_t NUM_UNSHIFTED_ENTITIES = MegaAvmFlavor::NUM_UNSHIFTED_ENTITIES
 
static constexpr bool HasDataBus = MegaAvmFlavor::HasDataBus
 
static constexpr size_t NUM_BUS_COLUMNS = MegaAvmFlavor::NUM_BUS_COLUMNS
 
static constexpr bool HasLogDerivLookup = MegaAvmFlavor::HasLogDerivLookup
 
static constexpr bool HasElliptic = MegaAvmFlavor::HasElliptic
 
static constexpr bool HasMemory = MegaAvmFlavor::HasMemory
 
static constexpr bool HasNonNativeField = MegaAvmFlavor::HasNonNativeField
 
static constexpr bool HasEccOpQueue = MegaAvmFlavor::HasEccOpQueue
 
static constexpr bool UsesEtaPowers = MegaAvmFlavor::UsesEtaPowers
 
static constexpr bool UsesBetaPowers = MegaAvmFlavor::UsesBetaPowers
 
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 RepeatedCommitmentsData REPEATED_COMMITMENTS = MegaAvmFlavor::REPEATED_COMMITMENTS
 
static constexpr size_t NUM_RELATIONS = std::tuple_size_v<Relations>
 
static constexpr size_t NUM_SUBRELATIONS = MegaAvmFlavor::NUM_SUBRELATIONS
 

Detailed Description

template<typename BuilderType>
class bb::MegaAvmRecursiveFlavor_< BuilderType >

Recursive counterpart to MegaAvmFlavor.

Used by the outer Ultra circuit when recursively verifying the Mega proof of the inner AVM recursive verifier. Mirrors MegaAvmFlavor's entity/relation set, with stdlib curve / field types.

Definition at line 21 of file mega_avm_recursive_flavor.hpp.

Member Typedef Documentation

◆ CircuitBuilder

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::CircuitBuilder = BuilderType

Definition at line 23 of file mega_avm_recursive_flavor.hpp.

◆ Codec

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::Codec = stdlib::StdlibCodec<FF>

Definition at line 30 of file mega_avm_recursive_flavor.hpp.

◆ Commitment

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::Commitment = typename Curve::Element

Definition at line 28 of file mega_avm_recursive_flavor.hpp.

◆ CommitmentLabels

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::CommitmentLabels = MegaAvmFlavor::CommitmentLabels

Definition at line 81 of file mega_avm_recursive_flavor.hpp.

◆ Curve

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::Curve = stdlib::bn254<CircuitBuilder>

Definition at line 24 of file mega_avm_recursive_flavor.hpp.

◆ FF

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::FF = typename Curve::ScalarField

Definition at line 27 of file mega_avm_recursive_flavor.hpp.

◆ GroupElement

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::GroupElement = typename Curve::Element

Definition at line 26 of file mega_avm_recursive_flavor.hpp.

◆ NativeFlavor

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::NativeFlavor = MegaAvmFlavor

Definition at line 29 of file mega_avm_recursive_flavor.hpp.

◆ PCS

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::PCS = KZG<Curve>

Definition at line 25 of file mega_avm_recursive_flavor.hpp.

◆ Relations

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::Relations = MegaAvmFlavor::Relations_<FF>

Definition at line 53 of file mega_avm_recursive_flavor.hpp.

◆ SubrelationSeparator

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::SubrelationSeparator = FF

Definition at line 67 of file mega_avm_recursive_flavor.hpp.

◆ Transcript

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::Transcript = StdlibTranscript<CircuitBuilder>

Definition at line 31 of file mega_avm_recursive_flavor.hpp.

◆ VerificationKey

◆ VKAndHash

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::VKAndHash = VKAndHash_<FF, VerificationKey>

Definition at line 84 of file mega_avm_recursive_flavor.hpp.

◆ WitnessCommitments

template<typename BuilderType >
using bb::MegaAvmRecursiveFlavor_< BuilderType >::WitnessCommitments = MegaAvmFlavor::WitnessEntities<Commitment>

Definition at line 79 of file mega_avm_recursive_flavor.hpp.

Member Function Documentation

◆ commitment_labels()

template<typename BuilderType >
static const CommitmentLabels & bb::MegaAvmRecursiveFlavor_< BuilderType >::commitment_labels ( )
inlinestatic

Definition at line 82 of file mega_avm_recursive_flavor.hpp.

◆ FINAL_PCS_MSM_SIZE()

template<typename BuilderType >
static constexpr size_t bb::MegaAvmRecursiveFlavor_< BuilderType >::FINAL_PCS_MSM_SIZE ( size_t  log_n = VIRTUAL_LOG_N)
inlinestaticconstexpr

Definition at line 58 of file mega_avm_recursive_flavor.hpp.

Member Data Documentation

◆ BATCHED_RELATION_PARTIAL_LENGTH

template<typename BuilderType >
constexpr size_t bb::MegaAvmRecursiveFlavor_< BuilderType >::BATCHED_RELATION_PARTIAL_LENGTH = MAX_PARTIAL_RELATION_LENGTH + 1
staticconstexpr

Definition at line 56 of file mega_avm_recursive_flavor.hpp.

◆ HasDataBus

template<typename BuilderType >
constexpr bool bb::MegaAvmRecursiveFlavor_< BuilderType >::HasDataBus = MegaAvmFlavor::HasDataBus
staticconstexpr

Definition at line 43 of file mega_avm_recursive_flavor.hpp.

◆ HasEccOpQueue

template<typename BuilderType >
constexpr bool bb::MegaAvmRecursiveFlavor_< BuilderType >::HasEccOpQueue = MegaAvmFlavor::HasEccOpQueue
staticconstexpr

Definition at line 49 of file mega_avm_recursive_flavor.hpp.

◆ HasElliptic

template<typename BuilderType >
constexpr bool bb::MegaAvmRecursiveFlavor_< BuilderType >::HasElliptic = MegaAvmFlavor::HasElliptic
staticconstexpr

Definition at line 46 of file mega_avm_recursive_flavor.hpp.

◆ HasLogDerivLookup

template<typename BuilderType >
constexpr bool bb::MegaAvmRecursiveFlavor_< BuilderType >::HasLogDerivLookup = MegaAvmFlavor::HasLogDerivLookup
staticconstexpr

Definition at line 45 of file mega_avm_recursive_flavor.hpp.

◆ HasMemory

template<typename BuilderType >
constexpr bool bb::MegaAvmRecursiveFlavor_< BuilderType >::HasMemory = MegaAvmFlavor::HasMemory
staticconstexpr

Definition at line 47 of file mega_avm_recursive_flavor.hpp.

◆ HasNonNativeField

template<typename BuilderType >
constexpr bool bb::MegaAvmRecursiveFlavor_< BuilderType >::HasNonNativeField = MegaAvmFlavor::HasNonNativeField
staticconstexpr

Definition at line 48 of file mega_avm_recursive_flavor.hpp.

◆ HasZK

template<typename BuilderType >
constexpr bool bb::MegaAvmRecursiveFlavor_< BuilderType >::HasZK = false
staticconstexpr

Definition at line 35 of file mega_avm_recursive_flavor.hpp.

◆ MAX_PARTIAL_RELATION_LENGTH

template<typename BuilderType >
constexpr size_t bb::MegaAvmRecursiveFlavor_< BuilderType >::MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>()
staticconstexpr

Definition at line 55 of file mega_avm_recursive_flavor.hpp.

◆ NUM_ALL_ENTITIES

template<typename BuilderType >
constexpr size_t bb::MegaAvmRecursiveFlavor_< BuilderType >::NUM_ALL_ENTITIES = MegaAvmFlavor::NUM_ALL_ENTITIES
staticconstexpr

Definition at line 38 of file mega_avm_recursive_flavor.hpp.

◆ NUM_BUS_COLUMNS

template<typename BuilderType >
constexpr size_t bb::MegaAvmRecursiveFlavor_< BuilderType >::NUM_BUS_COLUMNS = MegaAvmFlavor::NUM_BUS_COLUMNS
staticconstexpr

Definition at line 44 of file mega_avm_recursive_flavor.hpp.

◆ NUM_PRECOMPUTED_ENTITIES

template<typename BuilderType >
constexpr size_t bb::MegaAvmRecursiveFlavor_< BuilderType >::NUM_PRECOMPUTED_ENTITIES = MegaAvmFlavor::NUM_PRECOMPUTED_ENTITIES
staticconstexpr

Definition at line 39 of file mega_avm_recursive_flavor.hpp.

◆ NUM_RELATIONS

template<typename BuilderType >
constexpr size_t bb::MegaAvmRecursiveFlavor_< BuilderType >::NUM_RELATIONS = std::tuple_size_v<Relations>
staticconstexpr

Definition at line 64 of file mega_avm_recursive_flavor.hpp.

◆ NUM_SHIFTED_ENTITIES

template<typename BuilderType >
constexpr size_t bb::MegaAvmRecursiveFlavor_< BuilderType >::NUM_SHIFTED_ENTITIES = MegaAvmFlavor::NUM_SHIFTED_ENTITIES
staticconstexpr

Definition at line 41 of file mega_avm_recursive_flavor.hpp.

◆ NUM_SUBRELATIONS

template<typename BuilderType >
constexpr size_t bb::MegaAvmRecursiveFlavor_< BuilderType >::NUM_SUBRELATIONS = MegaAvmFlavor::NUM_SUBRELATIONS
staticconstexpr

Definition at line 66 of file mega_avm_recursive_flavor.hpp.

◆ NUM_UNSHIFTED_ENTITIES

template<typename BuilderType >
constexpr size_t bb::MegaAvmRecursiveFlavor_< BuilderType >::NUM_UNSHIFTED_ENTITIES = MegaAvmFlavor::NUM_UNSHIFTED_ENTITIES
staticconstexpr

Definition at line 42 of file mega_avm_recursive_flavor.hpp.

◆ NUM_WIRES

template<typename BuilderType >
constexpr size_t bb::MegaAvmRecursiveFlavor_< BuilderType >::NUM_WIRES = MegaAvmFlavor::NUM_WIRES
staticconstexpr

Definition at line 37 of file mega_avm_recursive_flavor.hpp.

◆ NUM_WITNESS_ENTITIES

template<typename BuilderType >
constexpr size_t bb::MegaAvmRecursiveFlavor_< BuilderType >::NUM_WITNESS_ENTITIES = MegaAvmFlavor::NUM_WITNESS_ENTITIES
staticconstexpr

Definition at line 40 of file mega_avm_recursive_flavor.hpp.

◆ REPEATED_COMMITMENTS

template<typename BuilderType >
constexpr RepeatedCommitmentsData bb::MegaAvmRecursiveFlavor_< BuilderType >::REPEATED_COMMITMENTS = MegaAvmFlavor::REPEATED_COMMITMENTS
staticconstexpr

Definition at line 62 of file mega_avm_recursive_flavor.hpp.

◆ USE_PADDING

template<typename BuilderType >
constexpr bool bb::MegaAvmRecursiveFlavor_< BuilderType >::USE_PADDING = MegaAvmFlavor::USE_PADDING
staticconstexpr

Definition at line 36 of file mega_avm_recursive_flavor.hpp.

◆ USE_SHORT_MONOMIALS

template<typename BuilderType >
constexpr bool bb::MegaAvmRecursiveFlavor_< BuilderType >::USE_SHORT_MONOMIALS = MegaAvmFlavor::USE_SHORT_MONOMIALS
staticconstexpr

Definition at line 34 of file mega_avm_recursive_flavor.hpp.

◆ UsesBetaPowers

template<typename BuilderType >
constexpr bool bb::MegaAvmRecursiveFlavor_< BuilderType >::UsesBetaPowers = MegaAvmFlavor::UsesBetaPowers
staticconstexpr

Definition at line 51 of file mega_avm_recursive_flavor.hpp.

◆ UsesEtaPowers

template<typename BuilderType >
constexpr bool bb::MegaAvmRecursiveFlavor_< BuilderType >::UsesEtaPowers = MegaAvmFlavor::UsesEtaPowers
staticconstexpr

Definition at line 50 of file mega_avm_recursive_flavor.hpp.

◆ VIRTUAL_LOG_N

template<typename BuilderType >
constexpr size_t bb::MegaAvmRecursiveFlavor_< BuilderType >::VIRTUAL_LOG_N = MegaAvmFlavor::VIRTUAL_LOG_N
staticconstexpr

Definition at line 33 of file mega_avm_recursive_flavor.hpp.


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