3#include "barretenberg/plonk/proof_system/types/program_settings.hpp"
4#include "barretenberg/stdlib/recursion/transcript/transcript.hpp"
12 typedef typename Curve::ScalarField fr_ct;
13 typedef typename Curve::GroupNative::affine_element g1;
14 typedef typename Curve::Builder Builder;
28 static constexpr size_t num_challenge_bytes = 16;
29 static constexpr transcript::HashType hash_type = transcript::HashType::PedersenBlake3s;
33 static constexpr bool idpolys =
true;
36 const fr_ct& alpha_base,
38 std::map<std::string, fr_ct>& scalars)
40 auto updated_alpha = PermutationWidget::append_scalar_multiplication_inputs(key, alpha_base, transcript);
42 updated_alpha = PlookupWidget::append_scalar_multiplication_inputs(key, updated_alpha, transcript, scalars);
45 PlookupArithmeticWidget::append_scalar_multiplication_inputs(key, updated_alpha, transcript, scalars);
47 updated_alpha = GenPermSortWidget::append_scalar_multiplication_inputs(key, updated_alpha, transcript, scalars);
49 updated_alpha = EllipticWidget::append_scalar_multiplication_inputs(key, updated_alpha, transcript, scalars);
52 PlookupAuxiliaryWidget::append_scalar_multiplication_inputs(key, updated_alpha, transcript, scalars);
57 static fr_ct compute_quotient_evaluation_contribution(
typename Transcript_pt::Key* key,
58 const fr_ct& alpha_base,
60 fr_ct& quotient_numerator_eval)
63 key, alpha_base, transcript, quotient_numerator_eval, idpolys);
66 key, updated_alpha_base, transcript, quotient_numerator_eval);
68 updated_alpha_base = PlookupArithmeticWidget::compute_quotient_evaluation_contribution(
69 key, updated_alpha_base, transcript, quotient_numerator_eval);
71 updated_alpha_base = GenPermSortWidget::compute_quotient_evaluation_contribution(
72 key, updated_alpha_base, transcript, quotient_numerator_eval);
74 updated_alpha_base = EllipticWidget::compute_quotient_evaluation_contribution(
75 key, updated_alpha_base, transcript, quotient_numerator_eval);
77 updated_alpha_base = PlookupAuxiliaryWidget::compute_quotient_evaluation_contribution(
78 key, updated_alpha_base, transcript, quotient_numerator_eval);
80 return updated_alpha_base;
86template <
typename Curve>
89 typedef typename Curve::ScalarField fr_ct;
90 typedef typename Curve::GroupNative::affine_element g1;
91 typedef typename Curve::Builder Builder;
105 static constexpr transcript::HashType hash_type = transcript::HashType::PedersenBlake3s;
Definition: transcript.hpp:18
Definition: program_settings.hpp:87
Definition: program_settings.hpp:10
Definition: prover_settings.hpp:27
Definition: prover_settings.hpp:42
Definition: program_settings.hpp:58
Definition: widget.bench.cpp:13
Definition: verification_key.hpp:235