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

The recursive counterpart to MegaZKFlavor. More...

#include <mega_zk_recursive_flavor.hpp>

Inheritance diagram for bb::MegaZKRecursiveFlavor_< BuilderType >:
bb::MegaRecursiveFlavor_< BuilderType >

Classes

class  AllValues
 

Public Types

using NativeFlavor = MegaZKFlavor
 
using Commitment = typename MegaRecursiveFlavor_< BuilderType >::Commitment
 
using VerificationKey = typename MegaRecursiveFlavor_< BuilderType >::VerificationKey
 
using FF = typename MegaRecursiveFlavor_< BuilderType >::FF
 
using VerifierCommitments = MegaFlavor::VerifierCommitments_< Commitment, VerificationKey, HasZK >
 
- Public Types inherited from bb::MegaRecursiveFlavor_< BuilderType >
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 = MegaFlavor
 
using Codec = stdlib::StdlibCodec< FF >
 
using Transcript = StdlibTranscript< CircuitBuilder >
 
using Relations = MegaFlavor::Relations_< FF >
 
using SubrelationSeparator = FF
 
using VerificationKey = StdlibVerificationKey_< CircuitBuilder, NativeFlavor::PrecomputedEntities< Commitment >, NativeFlavor::VerificationKey >
 
using WitnessCommitments = MegaFlavor::WitnessEntities< Commitment >
 A container for the witness commitments.
 
using CommitmentLabels = MegaFlavor::CommitmentLabels
 
using VerifierCommitments = MegaFlavor::VerifierCommitments_< Commitment, VerificationKey >
 
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 Public Member Functions inherited from bb::MegaRecursiveFlavor_< BuilderType >
static constexpr size_t FINAL_PCS_MSM_SIZE (size_t log_n=VIRTUAL_LOG_N)
 

Static Public Attributes

static constexpr bool HasZK = true
 
static constexpr size_t VIRTUAL_LOG_N = NativeFlavor::VIRTUAL_LOG_N
 
static constexpr size_t NUM_WITNESS_ENTITIES = NativeFlavor::NUM_WITNESS_ENTITIES
 
static constexpr size_t NUM_ALL_ENTITIES = NativeFlavor::NUM_ALL_ENTITIES
 
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH = NativeFlavor::BATCHED_RELATION_PARTIAL_LENGTH
 
- Static Public Attributes inherited from bb::MegaRecursiveFlavor_< BuilderType >
static constexpr size_t VIRTUAL_LOG_N = MegaFlavor::VIRTUAL_LOG_N
 
static constexpr bool USE_SHORT_MONOMIALS = MegaFlavor::USE_SHORT_MONOMIALS
 
static constexpr bool HasZK = false
 
static constexpr bool USE_PADDING = MegaFlavor::USE_PADDING
 
static constexpr size_t NUM_WIRES = MegaFlavor::NUM_WIRES
 
static constexpr size_t NUM_ALL_ENTITIES = MegaFlavor::NUM_ALL_ENTITIES
 
static constexpr size_t NUM_PRECOMPUTED_ENTITIES = MegaFlavor::NUM_PRECOMPUTED_ENTITIES
 
static constexpr size_t NUM_WITNESS_ENTITIES = MegaFlavor::NUM_WITNESS_ENTITIES
 
static constexpr size_t NUM_SHIFTED_ENTITIES = MegaFlavor::NUM_SHIFTED_ENTITIES
 
static constexpr size_t NUM_UNSHIFTED_ENTITIES = MegaFlavor::NUM_UNSHIFTED_ENTITIES
 
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 = MegaFlavor::REPEATED_COMMITMENTS
 
static constexpr size_t NUM_RELATIONS = std::tuple_size_v<Relations>
 
static constexpr size_t NUM_SUBRELATIONS = MegaFlavor::NUM_SUBRELATIONS
 

Detailed Description

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

The recursive counterpart to MegaZKFlavor.

Adds ZK overrides (HasZK, BATCHED_RELATION_PARTIAL_LENGTH, AllValues with masking entities) on top of MegaRecursiveFlavor_.

Definition at line 18 of file mega_zk_recursive_flavor.hpp.

Member Typedef Documentation

◆ Commitment

template<typename BuilderType >
using bb::MegaZKRecursiveFlavor_< BuilderType >::Commitment = typename MegaRecursiveFlavor_<BuilderType>::Commitment

Definition at line 21 of file mega_zk_recursive_flavor.hpp.

◆ FF

template<typename BuilderType >
using bb::MegaZKRecursiveFlavor_< BuilderType >::FF = typename MegaRecursiveFlavor_<BuilderType>::FF

Definition at line 23 of file mega_zk_recursive_flavor.hpp.

◆ NativeFlavor

template<typename BuilderType >
using bb::MegaZKRecursiveFlavor_< BuilderType >::NativeFlavor = MegaZKFlavor

Definition at line 20 of file mega_zk_recursive_flavor.hpp.

◆ VerificationKey

template<typename BuilderType >
using bb::MegaZKRecursiveFlavor_< BuilderType >::VerificationKey = typename MegaRecursiveFlavor_<BuilderType>::VerificationKey

Definition at line 22 of file mega_zk_recursive_flavor.hpp.

◆ VerifierCommitments

template<typename BuilderType >
using bb::MegaZKRecursiveFlavor_< BuilderType >::VerifierCommitments = MegaFlavor::VerifierCommitments_<Commitment, VerificationKey, HasZK>

Definition at line 46 of file mega_zk_recursive_flavor.hpp.

Member Function Documentation

◆ FINAL_PCS_MSM_SIZE()

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

Definition at line 34 of file mega_zk_recursive_flavor.hpp.

Member Data Documentation

◆ BATCHED_RELATION_PARTIAL_LENGTH

template<typename BuilderType >
constexpr size_t bb::MegaZKRecursiveFlavor_< BuilderType >::BATCHED_RELATION_PARTIAL_LENGTH = NativeFlavor::BATCHED_RELATION_PARTIAL_LENGTH
staticconstexpr

Definition at line 32 of file mega_zk_recursive_flavor.hpp.

◆ HasZK

template<typename BuilderType >
constexpr bool bb::MegaZKRecursiveFlavor_< BuilderType >::HasZK = true
staticconstexpr

Definition at line 25 of file mega_zk_recursive_flavor.hpp.

◆ NUM_ALL_ENTITIES

template<typename BuilderType >
constexpr size_t bb::MegaZKRecursiveFlavor_< BuilderType >::NUM_ALL_ENTITIES = NativeFlavor::NUM_ALL_ENTITIES
staticconstexpr

Definition at line 30 of file mega_zk_recursive_flavor.hpp.

◆ NUM_WITNESS_ENTITIES

template<typename BuilderType >
constexpr size_t bb::MegaZKRecursiveFlavor_< BuilderType >::NUM_WITNESS_ENTITIES = NativeFlavor::NUM_WITNESS_ENTITIES
staticconstexpr

Definition at line 29 of file mega_zk_recursive_flavor.hpp.

◆ VIRTUAL_LOG_N

template<typename BuilderType >
constexpr size_t bb::MegaZKRecursiveFlavor_< BuilderType >::VIRTUAL_LOG_N = NativeFlavor::VIRTUAL_LOG_N
staticconstexpr

Definition at line 28 of file mega_zk_recursive_flavor.hpp.


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