Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
mega_avm_recursive_flavor.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: Completed, auditors: [Federico], commit: }
3// external_1: { status: not started, auditors: [], commit: }
4// external_2: { status: not started, auditors: [], commit: }
5// =====================
6
7#pragma once
8
13
14namespace bb {
15
21template <typename BuilderType> class MegaAvmRecursiveFlavor_ {
22 public:
23 using CircuitBuilder = BuilderType;
25 using PCS = KZG<Curve>;
26 using GroupElement = typename Curve::Element;
27 using FF = typename Curve::ScalarField;
28 using Commitment = typename Curve::Element;
32
35 static constexpr bool HasZK = false;
36 static constexpr bool USE_PADDING = MegaAvmFlavor::USE_PADDING;
37 static constexpr size_t NUM_WIRES = MegaAvmFlavor::NUM_WIRES;
43 static constexpr bool HasDataBus = MegaAvmFlavor::HasDataBus;
46 static constexpr bool HasElliptic = MegaAvmFlavor::HasElliptic;
47 static constexpr bool HasMemory = MegaAvmFlavor::HasMemory;
52
54
55 static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>();
57
58 static constexpr size_t FINAL_PCS_MSM_SIZE(size_t log_n = VIRTUAL_LOG_N)
59 {
61 };
63
65
68
70 public:
72 using Base::Base;
73 };
74
78
80
83
85};
86
87} // namespace bb
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
static constexpr size_t NUM_UNSHIFTED_ENTITIES
static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS
static constexpr size_t NUM_SHIFTED_ENTITIES
static constexpr size_t NUM_PRECOMPUTED_ENTITIES
static constexpr size_t NUM_WITNESS_ENTITIES
std::tuple< bb::ArithmeticRelation< FF >, bb::UltraPermutationRelation< FF >, bb::DeltaRangeConstraintRelation< FF >, bb::EccOpQueueRelation< FF >, bb::Poseidon2ExternalRelation< FF >, bb::Poseidon2InitialExternalRelation< FF >, bb::Poseidon2QuadInternalRelation< FF >, bb::Poseidon2QuadInternalTerminalRelation< FF >, bb::Poseidon2TransitionEntryRelation< FF > > Relations_
A flavor for the AVM recursive verifier circuit arithmetized with Mega.
static constexpr bool USE_PADDING
static constexpr size_t NUM_SUBRELATIONS
static constexpr size_t VIRTUAL_LOG_N
static constexpr bool UsesBetaPowers
static constexpr size_t NUM_WIRES
static constexpr bool USE_SHORT_MONOMIALS
static constexpr bool UsesEtaPowers
static const CommitmentLabels & commitment_labels()
AllEntities< std::string > CommitmentLabels
static constexpr size_t FINAL_PCS_MSM_SIZE(size_t log_n=VIRTUAL_LOG_N)
Recursive counterpart to MegaAvmFlavor.
static const CommitmentLabels & commitment_labels()
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH
static constexpr size_t NUM_PRECOMPUTED_ENTITIES
static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS
static constexpr size_t NUM_WITNESS_ENTITIES
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
static constexpr size_t NUM_UNSHIFTED_ENTITIES
MegaAvmFlavor::CommitmentLabels CommitmentLabels
static constexpr size_t FINAL_PCS_MSM_SIZE(size_t log_n=VIRTUAL_LOG_N)
static constexpr size_t NUM_SHIFTED_ENTITIES
MegaAvmFlavor::Relations_< FF > Relations
Base Native verification key class.
Definition flavor.hpp:138
Base Stdlib verification key class.
Definition flavor.hpp:378
Wrapper holding a verification key and its precomputed hash.
Definition flavor.hpp:551
Entry point for Barretenberg command-line interface.
Definition api.hpp:5
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
field_t< CircuitBuilder > ScalarField
Definition bn254.hpp:30