93 const Proof& proof,
const InputCommitments& input_commitments);
97 "LEFT_TABLE_DEGREE_CHECK_1",
98 "LEFT_TABLE_DEGREE_CHECK_2",
99 "LEFT_TABLE_DEGREE_CHECK_3" };
102 "SHPLONK_MERGE_BATCHING_CHALLENGE_0",
"SHPLONK_MERGE_BATCHING_CHALLENGE_1",
103 "SHPLONK_MERGE_BATCHING_CHALLENGE_2",
"SHPLONK_MERGE_BATCHING_CHALLENGE_3",
104 "SHPLONK_MERGE_BATCHING_CHALLENGE_4",
"SHPLONK_MERGE_BATCHING_CHALLENGE_5",
105 "SHPLONK_MERGE_BATCHING_CHALLENGE_6",
"SHPLONK_MERGE_BATCHING_CHALLENGE_7",
106 "SHPLONK_MERGE_BATCHING_CHALLENGE_8",
"SHPLONK_MERGE_BATCHING_CHALLENGE_9",
107 "SHPLONK_MERGE_BATCHING_CHALLENGE_10",
"SHPLONK_MERGE_BATCHING_CHALLENGE_11",
108 "SHPLONK_MERGE_BATCHING_CHALLENGE_12"
114 const FF& pow_kappa_minus_one,
115 const std::vector<FF>& degree_check_challenges)
const;
119 const FF& shplonk_opening_challenge,
120 const std::vector<FF>& shplonk_batching_challenges,
123 const std::vector<FF>& evals)
const;
129namespace stdlib::recursion::goblin {
static constexpr size_t NUM_WIRES
Unified verifier class for the Goblin ECC op queue transcript merge protocol.
static constexpr bool IsRecursive
typename Curve::AffineElement Commitment
typename Curve::ScalarField FF
std::shared_ptr< Transcript > transcript
typename Curve::Element GroupElement
BatchOpeningClaim< Curve > compute_shplonk_opening_claim(const std::vector< Commitment > &table_commitments, const Commitment &shplonk_batched_quotient, const FF &shplonk_opening_challenge, const std::vector< FF > &shplonk_batching_challenges, const FF &kappa, const FF &kappa_inv, const std::vector< FF > &evals) const
TranscriptFor_t< Curve > Transcript
MergeVerifier_(const MergeSettings settings=MergeSettings::PREPEND, std::shared_ptr< Transcript > transcript=std::make_shared< Transcript >())
bool check_concatenation_identities(std::vector< FF > &evals, const FF &pow_kappa) const
std::conditional_t< Curve::is_stdlib_type, stdlib::recursion::PairingPoints< Curve >, bb::PairingPoints< Curve > > PairingPoints
std::vector< std::string > labels_degree_check
static constexpr size_t MERGE_BATCHED_CLAIM_SIZE
bool check_degree_identity(std::vector< FF > &evals, const FF &pow_kappa_minus_one, const std::vector< FF > °ree_check_challenges) const
ReductionResult reduce_to_pairing_check(const Proof &proof, const InputCommitments &input_commitments)
Reduce the merge proof to a pairing check.
std::vector< std::string > labels_shplonk_batching_challenges
std::array< Commitment, NUM_WIRES > TableCommitments
static constexpr size_t NUM_WIRES
An object storing two EC points that represent the inputs to a pairing check.
typename Group::element Element
static constexpr bool is_stdlib_type
typename Group::affine_element AffineElement
Entry point for Barretenberg command-line interface.
MergeSettings
The MergeSettings define whether an current subtable will be added at the beginning (PREPEND) or at t...
typename TranscriptFor< Curve >::type TranscriptFor_t
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
An accumulator consisting of the Shplonk evaluation challenge and vectors of commitments and scalars.
Result of merge verification.
TableCommitments merged_commitments
PairingPoints pairing_points