barretenberg
Loading...
Searching...
No Matches
bn254.hpp
1#pragma once
2#include "../bn254/fq.hpp"
3#include "../bn254/fq12.hpp"
4#include "../bn254/fq2.hpp"
5#include "../bn254/fr.hpp"
6#include "../bn254/g1.hpp"
7#include "../bn254/g2.hpp"
8
9namespace curve {
10class BN254 {
11 public:
14 using Group = typename barretenberg::g1;
15 using Element = typename Group::element;
16 using AffineElement = typename Group::affine_element;
17 using G2AffineElement = typename barretenberg::g2::affine_element;
18 using G2BaseField = typename barretenberg::fq2;
20
21 // TODO(#673): This flag is temporary. It is needed in the verifier classes (GeminiVerifier, etc.) while these
22 // classes are instantiated with "native" curve types. Eventually, the verifier classes will be instantiated only
23 // with stdlib types, and "native" verification will be acheived via a simulated builder.
24 static constexpr bool is_stdlib_type = false;
25};
26} // namespace curve
Definition: field12.hpp:5
Definition: affine_element.hpp:11
group class. Represents an elliptic curve group element. Group is parametrised by coordinate_field an...
Definition: group.hpp:29
Definition: bn254.hpp:10
Definition: field2_declarations.hpp:11