10#include "barretenberg/ecc/curves/bn254/bn254.hpp"
11#include "barretenberg/ecc/curves/bn254/pairing.hpp"
12#include "barretenberg/ecc/curves/grumpkin/grumpkin.hpp"
13#include "barretenberg/ecc/scalar_multiplication/scalar_multiplication.hpp"
14#include "barretenberg/numeric/bitop/pow.hpp"
15#include "barretenberg/polynomials/polynomial.hpp"
16#include "barretenberg/polynomials/polynomial_arithmetic.hpp"
17#include "barretenberg/srs/factories/crs_factory.hpp"
18#include "barretenberg/srs/factories/file_crs_factory.hpp"
19#include "barretenberg/srs/global_crs.hpp"
37 using Fr =
typename Curve::ScalarField;
38 using Commitment =
typename Curve::AffineElement;
52 barretenberg::srs::get_crs_factory())
53 : pippenger_runtime_state(num_points)
54 , srs(crs_factory->get_prover_crs(num_points))
59 : pippenger_runtime_state(num_points)
72 ASSERT(degree <= srs->get_monomial_size());
73 return barretenberg::scalar_multiplication::pippenger_unsafe<Curve>(
74 const_cast<Fr*
>(
polynomial.data()), srs->get_monomial_points(), degree, pippenger_runtime_state);
78 std::shared_ptr<barretenberg::srs::factories::ProverCrs<Curve>> srs;
Definition: crs_factory.hpp:72
Definition: crs_factory.hpp:18
CommitmentKey object over a pairing group 𝔾₁.
Definition: commitment_key.hpp:35
CommitmentKey(const size_t num_points, std::shared_ptr< barretenberg::srs::factories::CrsFactory< Curve > > crs_factory=barretenberg::srs::get_crs_factory())
Construct a new Kate Commitment Key object from existing SRS.
Definition: commitment_key.hpp:50
Commitment commit(std::span< const Fr > polynomial)
Uses the ProverSRS to create a commitment to p(X)
Definition: commitment_key.hpp:69
Provides interfaces for different 'CommitmentKey' classes.
Definition: claim.hpp:6
Definition: runtime_states.hpp:79