3#include "barretenberg/ecc/curves/bn254/fq.hpp"
4#include "barretenberg/ecc/curves/bn254/fr.hpp"
5#include "barretenberg/ecc/curves/bn254/g1.hpp"
6#include "barretenberg/polynomials/univariate.hpp"
8#include "barretenberg/transcript/transcript.hpp"
10#include "barretenberg/stdlib/primitives/bigfield/bigfield.hpp"
11#include "barretenberg/stdlib/primitives/biggroup/biggroup.hpp"
12#include "barretenberg/stdlib/primitives/field/field.hpp"
13#include "barretenberg/stdlib/utility/utility.hpp"
16namespace proof_system::plonk::stdlib::recursion::honk {
24 static constexpr size_t HASH_OUTPUT_SIZE = BaseTranscript::HASH_OUTPUT_SIZE;
32 : native_transcript(proof_data)
39 auto get_manifest()
const {
return native_transcript.get_manifest(); };
51 constexpr size_t num_challenges =
sizeof...(Strings);
52 std::array<uint256_t, num_challenges> native_challenges{};
61 std::array<field_ct, num_challenges> challenges;
62 for (
size_t i = 0; i < num_challenges; ++i) {
63 challenges[i] = field_ct::from_witness(builder,
static_cast<FF>(native_challenges[i]));
78 auto native_challenge = native_transcript.get_challenge(label);
82 return field_ct::from_witness(builder, native_challenge);
95 using NativeType =
typename StdlibTypes::template NativeType<T>::type;
98 NativeType
element = native_transcript.template receive_from_prover<NativeType>(label);
Definition: ultra_circuit_builder.hpp:31
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
Definition: transcript.hpp:62
std::array< uint256_t, sizeof...(Strings)> get_challenges(const Strings &... labels)
After all the prover messages have been sent, finalize the round by hashing all the data and then cre...
Definition: transcript.hpp:226
Definition: biggroup.hpp:22
Definition: transcript.hpp:17
std::array< field_ct, sizeof...(Strings)> get_challenges(const Strings &... labels)
Compute the challenges (more than 1) indicated by labels.
Definition: transcript.hpp:48
field_ct get_challenge(const std::string &label)
Compute the single challenge indicated by the input label.
Definition: transcript.hpp:75
auto receive_from_prover(const std::string &label)
Extract a native element from the transcript and return a corresponding stdlib type.
Definition: transcript.hpp:92
auto get_manifest() const
Get the underlying native transcript manifest (primarily for debugging)
Definition: transcript.hpp:39
Utility class for converting native types to corresponding stdlib types.
Definition: utility.hpp:26
static field_ct from_witness(Builder *builder, uint32_t native_element)
Construct stdlib field from uint32_t.
Definition: utility.hpp:42