55 static constexpr bool HasZK =
false;
127 for (
auto [commitment, native_commitment] :
zip_view(this->get_all(), native_key->get_all())) {
128 commitment = Commitment::from_witness(
builder, native_commitment);
142 size_t num_frs_read = 0;
144 this->
log_circuit_size = Codec::template deserialize_from_frs<FF>(elements, num_frs_read);
145 this->
num_public_inputs = Codec::template deserialize_from_frs<FF>(elements, num_frs_read);
146 this->
pub_inputs_offset = Codec::template deserialize_from_frs<FF>(elements, num_frs_read);
148 for (
Commitment& commitment : this->get_all()) {
149 commitment = Codec::template deserialize_from_frs<Commitment>(elements, num_frs_read);
152 if (num_frs_read != elements.size()) {
153 throw_or_abort(
"Invalid buffer length in VerificationKey constuctor from fields!");
165 const std::span<const uint32_t>& witness_indices)
167 std::vector<FF> vk_fields;
168 vk_fields.reserve(witness_indices.size());
169 for (
const auto& idx : witness_indices) {
184 for (
Commitment& commitment : this->get_all()) {
185 commitment.fix_witness();
201 for (
auto [commitment, native_commitment] :
zip_view(this->get_all(), native_vk.get_all())) {
202 native_commitment = commitment.get_value();
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
std::tuple< bb::ArithmeticRelation< 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_
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
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, const std::shared_ptr< NativeVerificationKey > &native_key)
Construct a new Verification Key with stdlib types from a provided native verification key.
NativeVerificationKey get_value() const
Get the native verification key corresponding to this stdlib verification key.
void fix_witness()
Fixes witnesses of VK to be constants.
VerificationKey(std::span< FF > elements)
Deserialize a verification key from a vector of field elements.
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 NUM_PRECOMPUTED_ENTITIES
static constexpr bool USE_SHORT_MONOMIALS
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_SUBRELATIONS
static constexpr size_t NUM_RELATIONS
uint64_t num_public_inputs
uint64_t log_circuit_size
uint64_t pub_inputs_offset
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)
bb::fr get_value() const
Given a := *this, compute its value given by a.v * a.mul + a.add.
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)