Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bbapi_srs.cpp
Go to the documentation of this file.
1
5
#include "
barretenberg/bbapi/bbapi_srs.hpp
"
6
#include "
barretenberg/common/serialize.hpp
"
7
#include "
barretenberg/ecc/curves/bn254/g1.hpp
"
8
#include "
barretenberg/ecc/curves/bn254/g2.hpp
"
9
#include "
barretenberg/ecc/curves/grumpkin/grumpkin.hpp
"
10
#include "
barretenberg/srs/global_crs.hpp
"
11
12
namespace
bb::bbapi
{
13
14
SrsInitSrs::Response
SrsInitSrs::execute
(
BB_UNUSED
BBApiRequest
& request) &&
15
{
16
// Parse G1 points from buffer (64 bytes each)
17
std::vector<g1::affine_element>
g1_points(num_points);
18
for
(
size_t
i = 0; i < num_points; ++i) {
19
g1_points[i] = from_buffer<g1::affine_element>(points_buf.data(), i * 64);
20
}
21
22
// Parse G2 point from buffer (128 bytes)
23
auto
g2_point_elem = from_buffer<g2::affine_element>(g2_point.data());
24
25
// Initialize BN254 SRS
26
bb::srs::init_bn254_mem_crs_factory
(g1_points, g2_point_elem);
27
28
return
{};
29
}
30
31
SrsInitGrumpkinSrs::Response
SrsInitGrumpkinSrs::execute
(
BB_UNUSED
BBApiRequest
& request) &&
32
{
33
// Parse Grumpkin affine elements from buffer
34
std::vector<curve::Grumpkin::AffineElement>
points(num_points);
35
for
(uint32_t i = 0; i < num_points; ++i) {
36
points[i] =
37
from_buffer<curve::Grumpkin::AffineElement>(points_buf.data(), i *
sizeof
(
curve::Grumpkin::AffineElement
));
38
}
39
40
// Initialize Grumpkin SRS
41
bb::srs::init_grumpkin_mem_crs_factory
(points);
42
43
return
{};
44
}
45
46
}
// namespace bb::bbapi
bbapi_srs.hpp
SRS (Structured Reference String) initialization command definitions for the Barretenberg RPC API.
bb::curve::Grumpkin::AffineElement
typename Group::affine_element AffineElement
Definition
grumpkin.hpp:63
BB_UNUSED
#define BB_UNUSED
Definition
compiler_hints.hpp:30
grumpkin.hpp
g1.hpp
g2.hpp
global_crs.hpp
bb::bbapi
Definition
bbapi_chonk.cpp:13
bb::srs::init_grumpkin_mem_crs_factory
void init_grumpkin_mem_crs_factory(std::vector< curve::Grumpkin::AffineElement > const &points)
Definition
global_crs.cpp:31
bb::srs::init_bn254_mem_crs_factory
void init_bn254_mem_crs_factory(std::vector< g1::affine_element > const &points, g2::affine_element const &g2_point)
Definition
global_crs.cpp:26
std::get
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition
tuple.hpp:13
serialize.hpp
bb::bbapi::BBApiRequest
Definition
bbapi_shared.hpp:147
bb::bbapi::SrsInitGrumpkinSrs::Response
Definition
bbapi_srs.hpp:45
bb::bbapi::SrsInitGrumpkinSrs::execute
Response execute(BBApiRequest &request) &&
Definition
bbapi_srs.cpp:31
bb::bbapi::SrsInitSrs::Response
Definition
bbapi_srs.hpp:23
bb::bbapi::SrsInitSrs::execute
Response execute(BBApiRequest &request) &&
Definition
bbapi_srs.cpp:14
src
barretenberg
bbapi
bbapi_srs.cpp
Generated by
1.9.8