Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
ecc_transcript_relation.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5// =====================
6
7#pragma once
8
12
13namespace bb {
14
35template <typename FF_> class ECCVMTranscriptRelationImpl {
36 public:
37 using FF = FF_;
38
39 static constexpr std::array<size_t, 25> SUBRELATION_PARTIAL_LENGTHS{
40 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
41 };
42
43 template <typename ContainerOverSubrelations, typename AllEntities, typename Parameters>
44 static void accumulate(ContainerOverSubrelations& accumulator,
45 const AllEntities& in,
46 const Parameters& /* unused */,
47 const FF& scaling_factor);
48
49 // TODO(@zac-williamson #2609 find more generic way of doing this)
50 static constexpr FF get_curve_b()
51 {
52 if constexpr (FF::modulus == bb::fq::modulus) {
53 return bb::g1::curve_b;
54 } else if constexpr (FF::modulus == grumpkin::fq::modulus) {
56 } else {
57 return 0;
58 }
59 }
60};
61
63
64} // namespace bb
ECCVMTranscriptRelationImpl evaluates the correctness of the ECCVM transcript columns.
static void accumulate(ContainerOverSubrelations &accumulator, const AllEntities &in, const Parameters &, const FF &scaling_factor)
ECCVMTranscriptRelationImpl evaluates the correctness of the ECCVM transcript columns.
static constexpr std::array< size_t, 25 > SUBRELATION_PARTIAL_LENGTHS
A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribu...
static constexpr Fq curve_b
Definition group.hpp:51
Entry point for Barretenberg command-line interface.
typename Flavor::FF FF
static constexpr uint256_t modulus