56 static constexpr bool HasZK =
false;
132 for (
auto [commitment, native_commitment] :
zip_view(this->get_all(), native_key->get_all())) {
133 commitment = Commitment::from_witness(
builder, native_commitment);
147 size_t num_frs_read = 0;
153 for (
Commitment& commitment : this->get_all()) {
154 commitment = deserialize_from_frs<Commitment>(
builder, elements, num_frs_read);
157 if (num_frs_read != elements.size()) {
158 throw_or_abort(
"Invalid buffer length in VerificationKey constuctor from fields!");
170 const std::span<const uint32_t>& witness_indices)
172 std::vector<FF> vk_fields;
173 vk_fields.reserve(witness_indices.size());
174 for (
const auto& idx : witness_indices) {
189 for (
Commitment& commitment : this->get_all()) {
190 commitment.fix_witness();
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
A base class labelling all entities (for instance, all of the polynomials used by the prover during s...
A container for commitment labels.
The verification key is responsible for storing the commitments to the precomputed (non-witness) poly...
Container for all witness polynomials used/constructed by the prover.
static constexpr size_t NUM_PRECOMPUTED_ENTITIES
static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS
static constexpr size_t NUM_WIRES
static constexpr size_t NUM_SUBRELATIONS
static constexpr size_t NUM_ALL_ENTITIES
static constexpr size_t NUM_WITNESS_ENTITIES
static constexpr size_t VIRTUAL_LOG_N
static constexpr bool USE_SHORT_MONOMIALS
static constexpr bool USE_PADDING
std::tuple< bb::UltraArithmeticRelation< FF >, bb::UltraPermutationRelation< FF >, bb::LogDerivLookupRelation< FF >, bb::DeltaRangeConstraintRelation< FF >, bb::EllipticRelation< FF >, bb::MemoryRelation< FF >, bb::NonNativeFieldRelation< FF >, bb::EccOpQueueRelation< FF >, bb::DatabusLookupRelation< FF >, bb::Poseidon2ExternalRelation< FF >, bb::Poseidon2InternalRelation< FF > > Relations_
A field element for each entity of the flavor. These entities represent the prover polynomials evalua...
The verification key is responsible for storing the commitments to the precomputed (non-witnessk) pol...
static VerificationKey from_witness_indices(CircuitBuilder &builder, const std::span< const uint32_t > &witness_indices)
Construct a VerificationKey from a set of corresponding witness indices.
VerificationKey(CircuitBuilder &builder, std::span< FF > elements)
Deserialize a verification key from a vector of field elements.
VerificationKey(CircuitBuilder *builder, const std::shared_ptr< NativeVerificationKey > &native_key)
Construct a new Verification Key with stdlib types from a provided native verification key.
void fix_witness()
Fixes witnesses of VK to be constants.
The recursive counterpart to the "native" Mega flavor.
typename Curve::Element GroupElement
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
static constexpr size_t NUM_WITNESS_ENTITIES
typename Curve::Element Commitment
static constexpr size_t NUM_WIRES
static constexpr size_t MAX_TOTAL_RELATION_LENGTH
static constexpr size_t NUM_PRECOMPUTED_ENTITIES
static constexpr bool USE_SHORT_MONOMIALS
std::array< FF, NUM_SUBRELATIONS - 1 > SubrelationSeparators
static constexpr size_t VIRTUAL_LOG_N
static constexpr bool HasZK
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH
BuilderType CircuitBuilder
static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS
static constexpr bool USE_PADDING
static constexpr size_t NUM_ALL_ENTITIES
MegaFlavor::Relations_< FF > Relations
typename Curve::ScalarField FF
static constexpr size_t NUM_FOLDED_ENTITIES
static constexpr size_t NUM_SUBRELATIONS
static constexpr size_t NUM_RELATIONS
Base Stdlib verification key class.
typename PrecomputedCommitments::DataType Commitment
Representation of the Grumpkin Verifier Commitment Key inside a bn254 circuit.
static field_t from_witness_index(Builder *ctx, uint32_t witness_index)
static field_t from_witness(Builder *ctx, const bb::fr &input)
Base class templates for structures that contain data parameterized by the fundamental polynomials of...
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
field_t< CircuitBuilder > ScalarField
void throw_or_abort(std::string const &err)