barretenberg
Loading...
Searching...
No Matches
mem_bn254_crs_factory.hpp
1#pragma once
2#include "barretenberg/ecc/curves/bn254/bn254.hpp"
3#include "barretenberg/ecc/curves/bn254/g1.hpp"
4#include "barretenberg/ecc/curves/bn254/g2.hpp"
5#include "crs_factory.hpp"
6#include <cstddef>
7#include <utility>
8
9namespace barretenberg::srs::factories {
10
16class MemBn254CrsFactory : public CrsFactory<curve::BN254> {
17 public:
18 MemBn254CrsFactory(std::vector<g1::affine_element> const& points, g2::affine_element const& g2_point);
19 MemBn254CrsFactory(MemBn254CrsFactory&& other) = default;
20
21 std::shared_ptr<barretenberg::srs::factories::ProverCrs<curve::BN254>> get_prover_crs(size_t degree) override;
22
23 std::shared_ptr<barretenberg::srs::factories::VerifierCrs<curve::BN254>> get_verifier_crs(
24 size_t degree = 0) override;
25
26 private:
27 std::shared_ptr<barretenberg::srs::factories::ProverCrs<curve::BN254>> prover_crs_;
28 std::shared_ptr<barretenberg::srs::factories::VerifierCrs<curve::BN254>> verifier_crs_;
29};
30
31} // namespace barretenberg::srs::factories
Definition: affine_element.hpp:11
Definition: crs_factory.hpp:72
Definition: mem_bn254_crs_factory.hpp:16