|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
The recursive counterpart to the "native" MegaZKFlavor. More...
#include <mega_zk_recursive_flavor.hpp>
Public Types | |
| using | NativeFlavor = MegaZKFlavor |
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 | Transcript = StdlibTranscript< CircuitBuilder > |
| using | VerifierCommitmentKey = bb::VerifierCommitmentKey< NativeFlavor::Curve > |
| using | Relations = MegaFlavor::Relations_< FF > |
| using | SubrelationSeparators = std::array< FF, NUM_SUBRELATIONS - 1 > |
| 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 Attributes | |
| static constexpr bool | HasZK = true |
| 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_FOLDED_ENTITIES = NUM_PRECOMPUTED_ENTITIES + NUM_WITNESS_ENTITIES |
| static constexpr size_t | MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>() |
| static constexpr size_t | MAX_TOTAL_RELATION_LENGTH = compute_max_total_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 |
The recursive counterpart to the "native" MegaZKFlavor.
This flavor can be used to instantiate a recursive Mega Honk verifier for a proof created using the MegaZKFlavor. It is similar in structure to its native counterpart with two main differences: 1) the curve types are stdlib types (e.g. field_t instead of field) and 2) it does not specify any Prover related types (e.g. Polynomial, ExtendedEdges, etc.) since we do not emulate prover computation in circuits, i.e. it only makes sense to instantiate a Verifier with this flavor.
| BuilderType | Determines the arithmetization of the verifier circuit defined based on this flavor. |
Definition at line 38 of file mega_zk_recursive_flavor.hpp.
| using bb::MegaZKRecursiveFlavor_< BuilderType >::NativeFlavor = MegaZKFlavor |
Definition at line 40 of file mega_zk_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 47 of file mega_zk_recursive_flavor.hpp.
|
staticconstexpr |
Definition at line 42 of file mega_zk_recursive_flavor.hpp.