116 const std::vector<FF>& powers_of_kappa_inv,
118 const std::vector<FF>& degree_check_challenges)
const;
126 const std::vector<FF>& calculated_hashes,
127 const std::vector<FF>& indicator_array)
const;
133namespace stdlib::recursion::goblin {
134template <
typename Builder>
Unified batch verifier for the batch Goblin ECC op queue merge protocol.
static constexpr size_t MERGE_BATCHED_CLAIM_SIZE
std::shared_ptr< Transcript > transcript
bool check_degree_identity(std::vector< FF > &evals, const std::vector< FF > &powers_of_kappa_inv, const FF &kappa, const std::vector< FF > °ree_check_challenges) const
Verify the degree identity G(κ⁻¹) = Σ_{i,col} α_{i,col} · C_i_col(κ) · κ^{1 − shift_sizes[j]}.
typename Curve::ScalarField FF
ReductionResult reduce_to_pairing_check(const Proof &proof, const FF hash)
Reduce the batch merge proof to a pairing check.
bool check_concatenation_identity(std::vector< FF > &evals, const std::vector< FF > &pow_kappa_subtable_size) const
Verify the concatenation identity T(κ) = Σ_i C_i(κ) · κ^{offset_i} for every column.
static constexpr bool IsRecursive
static constexpr size_t NUM_WIRES
static FF ecc_op_hash_step(const std::vector< Commitment > &col_commitments, const std::optional< FF > &prev_hash=std::nullopt)
Compute one step of the ECC op running hash.
static constexpr size_t NUM_COLUMN_TABLES
typename Curve::AffineElement Commitment
std::vector< FF > compute_indicator_array(const FF &N) const
Compute array of length M := MaxMergeSize s.t. indicator_array[i] = (i < N).
static constexpr size_t NUM_EVALS
std::array< Commitment, NUM_WIRES > TableCommitments
static constexpr size_t LOG_MAX_MERGE_SIZE
static constexpr size_t NUM_EVALS_FROM_COLUMNS
std::conditional_t< Curve::is_stdlib_type, stdlib::recursion::PairingPoints< Curve >, bb::PairingPoints< Curve > > PairingPoints
std::vector< FF > compute_dirac_array(const std::vector< FF > &indicator_array) const
Compute array of length M := MaxMergeSize s.t. dirac_array[i] = (i == N - 1)
TranscriptFor_t< Curve > Transcript
static constexpr size_t MAX_MERGE_SIZE
bool check_hash_consistency(const FF &hash, const std::vector< FF > &calculated_hashes, const std::vector< FF > &indicator_array) const
Verify that the column commitments in the proof match the running hash from accumulation.
static constexpr size_t NUM_OPENING_CLAIMS
static constexpr size_t NUM_WIRES
An object storing two EC points that represent the inputs to a pairing check.
static constexpr bool is_stdlib_type
typename Group::affine_element AffineElement
constexpr T get_msb(const T in)
Entry point for Barretenberg command-line interface.
typename TranscriptFor< Curve >::type TranscriptFor_t
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Result of batch merge verification.
PairingPoints pairing_points
TableCommitments merged_commitments