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

#include <eccvm_short_monomial_flavor.hpp>

Inheritance diagram for bb::ECCVMShortMonomialFlavor:
bb::ECCVMFlavor

Public Types

using FF = ECCVMFlavor::FF
 
using Curve = ECCVMFlavor::Curve
 
using GrandProductRelations = std::tuple< ECCVMSetShortRelation< FF > >
 
template<typename FF_ >
using Relations_ = std::tuple< ECCVMTranscriptShortRelation< FF_ >, ECCVMTranscriptMsmTransitionShortRelation< FF_ >, ECCVMPointTableDoubleShortRelation< FF_ >, ECCVMPointTableShortRelation< FF_ >, ECCVMWnafShortRelation< FF_ >, ECCVMMSMAddShortRelation< FF_ >, ECCVMMSMDoubleShortRelation< FF_ >, ECCVMMSMSkewShortRelation< FF_ >, ECCVMMSMShortRelation< FF_ >, ECCVMSetShortRelation< FF_ >, ECCVMLookupShortRelation< FF_ >, ECCVMBoolsTranscriptShortRelation< FF_ >, ECCVMBoolsMsmShortRelation< FF_ > >
 
using Relations = Relations_< FF >
 
using LookupRelation = ECCVMLookupShortRelation< FF >
 
using SubrelationSeparators = std::array< FF, NUM_SUBRELATIONS - 1 >
 
template<size_t LENGTH>
using ProverUnivariates = ECCVMFlavor::ProverUnivariates< LENGTH >
 
using ExtendedEdges = ProverUnivariates< MAX_PARTIAL_RELATION_LENGTH >
 
- Public Types inherited from bb::ECCVMFlavor
using CircuitBuilder = ECCVMCircuitBuilder
 
using CycleGroup = bb::g1
 
using Curve = curve::Grumpkin
 
using G1 = typename Curve::Group
 
using FF = typename Curve::ScalarField
 
using BF = typename Curve::BaseField
 
using Polynomial = bb::Polynomial< FF >
 
using GroupElement = typename G1::element
 
using Commitment = typename G1::affine_element
 
using CommitmentKey = bb::CommitmentKey< Curve >
 
using VerifierCommitmentKey = bb::VerifierCommitmentKey< Curve >
 
using MSM = bb::eccvm::MSM< CycleGroup >
 
using Codec = FrCodec
 
using HashFunction = crypto::Poseidon2< crypto::Poseidon2Bn254ScalarFieldParams >
 
using Transcript = BaseTranscript< Codec, HashFunction >
 
using Proof = HonkProof
 
using GrandProductRelations = std::tuple< ECCVMSetRelation< FF > >
 
template<typename FF >
using Relations_ = std::tuple< ECCVMTranscriptRelation< FF >, ECCVMPointTableRelation< FF >, ECCVMWnafRelation< FF >, ECCVMMSMRelation< FF >, ECCVMSetRelation< FF >, ECCVMLookupRelation< FF >, ECCVMBoolsRelation< FF > >
 
using Relations = Relations_< FF >
 
using LookupRelation = ECCVMLookupRelation< FF >
 
using SubrelationSeparators = std::array< FF, NUM_SUBRELATIONS - 1 >
 
template<size_t LENGTH>
using ProverUnivariates = AllEntities< bb::Univariate< FF, LENGTH > >
 A container for univariates used during sumcheck.
 
using ExtendedEdges = ProverUnivariates< MAX_PARTIAL_RELATION_LENGTH >
 A container for univariates produced during the hot loop in sumcheck.
 
using PartiallyEvaluatedMultivariates = PartiallyEvaluatedMultivariatesBase< AllEntities< Polynomial >, ProverPolynomials, Polynomial >
 A container for storing the partially evaluated multivariates produced by sumcheck.
 
using VerificationKey = FixedVKAndHash_< PrecomputedEntities< Commitment >, BF, ECCVMHardcodedVKAndHash >
 The verification key stores commitments to the precomputed polynomials used by the verifier.
 
using VerifierCommitments = VerifierCommitments_< Commitment, VerificationKey >
 

Static Public Attributes

static constexpr bool USE_SHORT_MONOMIALS = true
 
static constexpr size_t NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>()
 
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 + 2
 
static constexpr size_t NUM_RELATIONS = std::tuple_size_v<Relations>
 
- Static Public Attributes inherited from bb::ECCVMFlavor
static constexpr bool USE_SHORT_MONOMIALS = false
 
static constexpr bool HasZK = true
 
static constexpr size_t TRACE_OFFSET = NUM_DISABLED_ROWS_IN_SUMCHECK
 
static constexpr bool USE_PADDING = false
 
static constexpr size_t ECCVM_FIXED_SIZE = 1UL << CONST_ECCVM_LOG_N
 
static constexpr size_t NUM_WIRES = 85
 
static constexpr size_t NUM_MASKING_POLYNOMIALS = 1
 
static constexpr size_t NUM_ALL_ENTITIES = 118
 
static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 4
 
static constexpr size_t NUM_WITNESS_ENTITIES = 87
 
static constexpr size_t NUM_SHIFTED_ENTITIES = 26
 
static constexpr size_t NUM_DERIVED_WITNESS_ENTITIES_NON_SHIFTED = 1
 
static constexpr size_t NUM_WIRE_NON_SHIFTED
 
static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS
 
static constexpr size_t NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>()
 
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 + 2
 
static constexpr size_t NUM_RELATIONS = std::tuple_size<Relations>::value
 
static constexpr size_t num_frs_comm = FrCodec::calc_num_fields<Commitment>()
 
static constexpr size_t num_frs_fq = FrCodec::calc_num_fields<FF>()
 
static constexpr size_t PROOF_LENGTH
 
static constexpr size_t NUM_TRANSLATION_OPENING_CLAIMS = NUM_SMALL_IPA_EVALUATIONS + 1
 

Additional Inherited Members

- Static Public Member Functions inherited from bb::ECCVMFlavor
template<typename DataType , typename PrecomputedAndWitnessEntitiesSuperset >
static auto get_to_be_shifted (PrecomputedAndWitnessEntitiesSuperset &entities)
 
template<typename ProverPolynomialsOrPartiallyEvaluatedMultivariates >
static size_t row_skip_active_prefix_end (const ProverPolynomialsOrPartiallyEvaluatedMultivariates &polynomials)
 

Detailed Description

Definition at line 21 of file eccvm_short_monomial_flavor.hpp.

Member Typedef Documentation

◆ Curve

◆ ExtendedEdges

◆ FF

◆ GrandProductRelations

◆ LookupRelation

◆ ProverUnivariates

◆ Relations

◆ Relations_

◆ SubrelationSeparators

Member Data Documentation

◆ BATCHED_RELATION_PARTIAL_LENGTH

constexpr size_t bb::ECCVMShortMonomialFlavor::BATCHED_RELATION_PARTIAL_LENGTH = MAX_PARTIAL_RELATION_LENGTH + 2
staticconstexpr

Definition at line 59 of file eccvm_short_monomial_flavor.hpp.

◆ MAX_PARTIAL_RELATION_LENGTH

constexpr size_t bb::ECCVMShortMonomialFlavor::MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>()
staticconstexpr

Definition at line 58 of file eccvm_short_monomial_flavor.hpp.

◆ NUM_RELATIONS

constexpr size_t bb::ECCVMShortMonomialFlavor::NUM_RELATIONS = std::tuple_size_v<Relations>
staticconstexpr

Definition at line 60 of file eccvm_short_monomial_flavor.hpp.

◆ NUM_SUBRELATIONS

constexpr size_t bb::ECCVMShortMonomialFlavor::NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>()
staticconstexpr

Definition at line 55 of file eccvm_short_monomial_flavor.hpp.

◆ USE_SHORT_MONOMIALS

constexpr bool bb::ECCVMShortMonomialFlavor::USE_SHORT_MONOMIALS = true
staticconstexpr

Definition at line 26 of file eccvm_short_monomial_flavor.hpp.


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