20static constexpr bb::fq DEFAULT_ECC_COMMITMENT_X(
"0x08434fa4480433735e7aeaccecb911eb7a06165ad70e5ced6ac6848296e59279");
21static constexpr bb::fq DEFAULT_ECC_COMMITMENT_Y(
"0x0a13a1839ab95ef15be8d0710b2c8aa47cea0b0e62a8596e68cc0fd54a6ae73d");
23 DEFAULT_ECC_COMMITMENT_Y);
35template <
typename Builder>
39 for (
auto& table_commitment : empty_tables) {
86 index += G1::PUBLIC_INPUTS_SIZE;
88 index += G1::PUBLIC_INPUTS_SIZE;
91 index += G1::PUBLIC_INPUTS_SIZE;
114 table_commitment.set_public();
119 builder->pairing_points_tagging.set_public_pairing_points();
121 builder->finalize_public_inputs();
135 for (
auto& table_commitment :
inputs.ecc_op_tables) {
136 table_commitment =
G1(DEFAULT_ECC_COMMITMENT);
137 table_commitment.convert_constant_to_fixed_witness(&
builder);
186 builder->pairing_points_tagging.set_public_pairing_points();
188 builder->finalize_public_inputs();
198 builder.finalize_public_inputs();
252 builder->pairing_points_tagging.set_public_pairing_points();
254 builder->finalize_public_inputs();
292 index += G1::PUBLIC_INPUTS_SIZE;
295 index += G1::PUBLIC_INPUTS_SIZE;
315 commitment.set_public();
319 builder->pairing_points_tagging.set_public_pairing_points();
321 builder->finalize_public_inputs();
332 inputs.kernel_return_data =
G1(DEFAULT_ECC_COMMITMENT);
333 inputs.kernel_return_data.convert_constant_to_fixed_witness(&
builder);
334 for (
auto& table_commitment :
inputs.ecc_op_tables) {
335 table_commitment =
G1(DEFAULT_ECC_COMMITMENT);
336 table_commitment.convert_constant_to_fixed_witness(&
builder);
393 builder->pairing_points_tagging.set_public_pairing_points();
395 builder->finalize_public_inputs();
406 auto [stdlib_opening_claim, ipa_proof] =
408 inputs.ipa_claim = stdlib_opening_claim;
#define BB_ASSERT_NEQ(actual, expected,...)
#define BB_ASSERT_EQ(actual, expected,...)
IPA (inner product argument) commitment scheme class.
uint32_t set_public()
Set the witness indices for the opening claim to public.
typename Group::affine_element AffineElement
static Commitment construct_default_commitment(Builder &builder)
Construct a default commitment for the databus return data.
uint32_t set_public() const
Builder * get_context() const
static field_t from_witness(Builder *ctx, const bb::fr &input)
static constexpr size_t PUBLIC_INPUTS_SIZE
Manages the data that is propagated on the public inputs of an application/function circuit.
void reconstruct_from_public(const std::vector< FF > &public_inputs)
Reconstructs the IO components from a public inputs array.
void set_public()
Set each IO component to be a public input of the underlying circuit.
PairingInputs pairing_inputs
static constexpr size_t PUBLIC_INPUTS_SIZE
static void add_default(Builder &builder)
Add default public inputs when they are not present.
The data that is propagated on the public inputs of the inner GoblinAvmRecursiveVerifier circuit.
void set_public()
Set each IO component to be a public input of the underlying circuit.
static constexpr size_t PUBLIC_INPUTS_SIZE
PairingInputs pairing_inputs
void reconstruct_from_public(const std::vector< FF > &public_inputs)
Reconstructs the IO components from a public inputs array.
Manages the data that is propagated on the public inputs of a hiding kernel circuit.
TableCommitments ecc_op_tables
static constexpr size_t PUBLIC_INPUTS_SIZE
std::array< G1, Builder::NUM_WIRES > TableCommitments
void reconstruct_from_public(const std::vector< FF > &public_inputs)
Reconstructs the IO components from a public inputs array.
PairingInputs pairing_inputs
static void add_default(Builder &builder)
Add default public inputs when they are not present.
void set_public()
Set each IO component to be a public input of the underlying circuit.
Manages the data that is propagated on the public inputs of a kernel circuit.
std::array< G1, Builder::NUM_WIRES > TableCommitments
static void add_default(Builder &builder)
Add default public inputs when they are not present.
void reconstruct_from_public(const std::vector< FF > &public_inputs)
Reconstructs the IO components from a public inputs array.
PairingInputs pairing_inputs
static constexpr size_t PUBLIC_INPUTS_SIZE
void set_public()
Set each IO component to be a public input of the underlying circuit.
TableCommitments ecc_op_tables
The data that is propagated on the public inputs of a rollup circuit.
static constexpr size_t PUBLIC_INPUTS_SIZE
void reconstruct_from_public(const std::vector< FF > &public_inputs)
Reconstructs the IO components from a public inputs array.
static void add_default(Builder &builder)
Add default public inputs when they are not present.
void set_public()
Set each IO component to be a public input of the underlying circuit.
PairingInputs pairing_inputs
std::array< typename bn254< Builder >::Group, Builder::NUM_WIRES > empty_ecc_op_tables(Builder &builder)
Construct commitments to empty subtables.
UltraCircuitBuilder_< UltraExecutionTraceBlocks > UltraCircuitBuilder
MegaCircuitBuilder_< field< Bn254FrParams > > MegaCircuitBuilder
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
field_t< CircuitBuilder > ScalarField
element< CircuitBuilder, bigfield< CircuitBuilder, bb::Bn254FqParams >, ScalarField, GroupNative > Group
An object storing two EC points that represent the inputs to a pairing check.
static constexpr size_t PUBLIC_INPUTS_SIZE
static uint32_t set_default_to_public(Builder *builder)
Set the witness indices for the default limbs of the pairing points to public.
uint32_t set_public()
Set the witness indices for the limbs of the pairing points to public.
static PairingPoints construct_default()
Construct default pairing points.