24template <
class Curve>
class VerifierCommitmentKey;
42 srs = srs::get_crs_factory<Curve>()->get_verifier_crs();
51 return srs->get_g1_identity();
62 pairing_points.data(), srs->get_precomputed_g2_lines(), 2);
64 return (
result == Curve::TargetField::one());
89 : srs(crs_factory->get_crs(num_points))
100 BB_ASSERT(srs !=
nullptr,
"VerifierCommitmentKey<Grumpkin>: SRS not initialized (default-constructed key)");
101 return srs->get_g1_identity();
106 BB_ASSERT(srs !=
nullptr,
"VerifierCommitmentKey<Grumpkin>: SRS not initialized (default-constructed key)");
107 return srs->get_monomial_points();
#define BB_ASSERT(expression,...)
typename Curve::Element GroupElement
Commitment get_g1_identity()
std::shared_ptr< bb::srs::factories::Crs< Curve > > srs
VerifierCommitmentKey()=default
bool pairing_check(const GroupElement &p0, const GroupElement &p1)
Verify the pairing equation e(P₀,[1]₂) · e(P₁,[x]₂) = [1]ₜ
typename Curve::AffineElement Commitment
VerifierCommitmentKey()=default
Commitment get_g1_identity() const
std::span< const Commitment > get_monomial_points() const
VerifierCommitmentKey(size_t num_points)
typename Curve::AffineElement Commitment
VerifierCommitmentKey(size_t num_points, const std::shared_ptr< bb::srs::factories::CrsFactory< Curve > > &crs_factory)
Construct a new IPA Verification Key object from existing SRS.
typename Curve::Element GroupElement
std::shared_ptr< bb::srs::factories::Crs< Curve > > srs
Representation of the Grumpkin Verifier Commitment Key inside a bn254 circuit.
typename Group::element Element
typename Group::affine_element AffineElement
fq12 reduced_ate_pairing_batch_precomputed(const g1::affine_element *P_affines, const miller_lines *lines, const size_t num_points)
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept