Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::TripleIpaClaimData< Curve > Struct Template Reference

Pre-batch verifier-side claim data: per-polynomial commitments/evaluations before Stage-1 rho-batching. More...

#include <triple_ipa_claim.hpp>

Classes

struct  ShiftedBatch
 
struct  UnshiftedClaim
 

Public Types

using Fr = typename Curve::ScalarField
 
using Commitment = typename Curve::AffineElement
 

Public Member Functions

TripleIpaClaim< Curvebatch () const
 Stage-1 rho-batching: collapse the per-polynomial data into the compact three-claim statement.
 

Static Public Member Functions

static std::vector< Frrho_powers (const Fr &rho, size_t count, size_t offset=0)
 Consecutive powers rho^offset, ..., rho^{offset + count - 1}.
 
template<typename CommitmentRange , typename EvaluationRange , typename ShiftedCommitmentRange , typename ShiftedSourceEvaluationRange , typename ShiftedEvaluationRange >
static TripleIpaClaimData create (const CommitmentRange &unshifted_commitments, const EvaluationRange &unshifted_evaluations, const ShiftedCommitmentRange &shifted_source_commitments, const ShiftedSourceEvaluationRange &shifted_source_evaluations, const ShiftedEvaluationRange &shifted_evaluations, std::span< const Fr > multilinear_challenge, const Fr &rho, const OpeningClaim< Curve > &univariate)
 Build the claim data shared by the ECCVM prover and verifier.
 

Public Attributes

UnshiftedClaim unshifted
 
ShiftedBatch shifted
 
OpeningClaim< Curveunivariate
 

Detailed Description

template<typename Curve>
struct bb::TripleIpaClaimData< Curve >

Pre-batch verifier-side claim data: per-polynomial commitments/evaluations before Stage-1 rho-batching.

Built identically by the ECCVM prover and verifier via create, then collapsed to the compact TripleIpaClaim by batch. The to-be-shifted block stores the source commitments directly (the same commitments the flavor's get_to_be_shifted() returns — a subset of the unshifted set by value), opened under a second rho-power; no new committed data is introduced.

Definition at line 48 of file triple_ipa_claim.hpp.

Member Typedef Documentation

◆ Commitment

template<typename Curve >
using bb::TripleIpaClaimData< Curve >::Commitment = typename Curve::AffineElement

Definition at line 50 of file triple_ipa_claim.hpp.

◆ Fr

template<typename Curve >
using bb::TripleIpaClaimData< Curve >::Fr = typename Curve::ScalarField

Definition at line 49 of file triple_ipa_claim.hpp.

Member Function Documentation

◆ batch()

template<typename Curve >
TripleIpaClaim< Curve > bb::TripleIpaClaimData< Curve >::batch ( ) const
inline

Stage-1 rho-batching: collapse the per-polynomial data into the compact three-claim statement.

Definition at line 138 of file triple_ipa_claim.hpp.

◆ create()

template<typename Curve >
template<typename CommitmentRange , typename EvaluationRange , typename ShiftedCommitmentRange , typename ShiftedSourceEvaluationRange , typename ShiftedEvaluationRange >
static TripleIpaClaimData bb::TripleIpaClaimData< Curve >::create ( const CommitmentRange &  unshifted_commitments,
const EvaluationRange &  unshifted_evaluations,
const ShiftedCommitmentRange &  shifted_source_commitments,
const ShiftedSourceEvaluationRange &  shifted_source_evaluations,
const ShiftedEvaluationRange &  shifted_evaluations,
std::span< const Fr multilinear_challenge,
const Fr rho,
const OpeningClaim< Curve > &  univariate 
)
inlinestatic

Build the claim data shared by the ECCVM prover and verifier.

Each range maps to a flavor getter: unshifted_* to get_unshifted(), shifted_source_* to get_to_be_shifted() (commitments and their unshifted evals at u), and shifted_evaluations to get_shifted(). The shifted rho-powers continue after the unshifted block. Ranges are taken by template so RefArray views can be passed without an intermediate copy at the call site.

Definition at line 98 of file triple_ipa_claim.hpp.

◆ rho_powers()

template<typename Curve >
static std::vector< Fr > bb::TripleIpaClaimData< Curve >::rho_powers ( const Fr rho,
size_t  count,
size_t  offset = 0 
)
inlinestatic

Consecutive powers rho^offset, ..., rho^{offset + count - 1}.

Definition at line 71 of file triple_ipa_claim.hpp.

Member Data Documentation

◆ shifted

template<typename Curve >
ShiftedBatch bb::TripleIpaClaimData< Curve >::shifted

Definition at line 67 of file triple_ipa_claim.hpp.

◆ univariate

template<typename Curve >
OpeningClaim<Curve> bb::TripleIpaClaimData< Curve >::univariate

Definition at line 68 of file triple_ipa_claim.hpp.

◆ unshifted

template<typename Curve >
UnshiftedClaim bb::TripleIpaClaimData< Curve >::unshifted

Definition at line 66 of file triple_ipa_claim.hpp.


The documentation for this struct was generated from the following file: