Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::avm2::AvmFlavor::Transcript Class Reference

#include <flavor.hpp>

Inheritance diagram for bb::avm2::AvmFlavor::Transcript:
bb::BaseTranscript< Codec_, HashFunction_ >

Public Member Functions

 Transcript ()=default
 
void deserialize_full_transcript ()
 
void serialize_full_transcript ()
 
- Public Member Functions inherited from bb::BaseTranscript< Codec_, HashFunction_ >
 BaseTranscript ()
 
 BaseTranscript (const Proof &proof)
 
std::vector< DataTypeexport_proof ()
 Return the proof data starting at proof_start.
 
void load_proof (const std::vector< DataType > &proof)
 Verifier-specific method. The verifier needs to load a proof or its segment before the verification.
 
size_t get_proof_size ()
 
void enable_manifest ()
 
template<typename ChallengeType >
std::vector< ChallengeType > get_challenges (std::span< const std::string > labels)
 After all the prover messages have been sent, finalize the round by hashing all the data and then create the number of requested challenges.
 
template<typename ChallengeType , size_t N>
std::array< ChallengeType, N > get_challenges (const std::array< std::string, N > &labels)
 Wrapper around get_challenges to handle array of challenges.
 
template<typename ChallengeType >
std::vector< ChallengeType > get_dyadic_powers_of_challenge (const std::string &label, size_t num_challenges)
 Get a challenge and compute its dyadic powers [δ, δ², δ⁴, ..., δ^(2^(num_challenges-1))].
 
template<class T >
void add_to_hash_buffer (const std::string &label, const T &element)
 Adds an element to the transcript.
 
template<class T >
void send_to_verifier (const std::string &label, const T &element)
 Adds a prover message to the transcript, only intended to be used by the prover.
 
template<class T >
receive_from_prover (const std::string &label)
 Reads the next element of type T from the transcript, with a predefined label, only used by verifier.
 
template<typename ChallengeType >
ChallengeType get_challenge (const std::string &label)
 
TranscriptManifest get_manifest () const
 
void print ()
 
void test_set_proof_parsing_state (std::ptrdiff_t start, size_t written)
 Test utility: Set proof parsing state for export after deserialization.
 
std::ptrdiff_t test_get_proof_start () const
 Test utility: Get proof_start for validation.
 

Public Attributes

size_t log_circuit_size = MAX_AVM_TRACE_LOG_SIZE
 
std::array< Commitment, NUM_WITNESS_ENTITIEScommitments
 
std::vector< bb::Univariate< FF, BATCHED_RELATION_PARTIAL_LENGTH > > sumcheck_univariates
 
std::array< FF, NUM_ALL_ENTITIESsumcheck_evaluations
 
std::vector< Commitmentgemini_fold_comms
 
std::vector< FFgemini_fold_evals
 
Commitment shplonk_q_comm
 
Commitment kzg_w_comm
 

Additional Inherited Members

- Public Types inherited from bb::BaseTranscript< Codec_, HashFunction_ >
using Codec = Codec_
 
using HashFunction = HashFunction_
 
using DataType = typename Codec::DataType
 
using Proof = std::vector< DataType >
 
- Static Public Member Functions inherited from bb::BaseTranscript< Codec_, HashFunction_ >
static std::shared_ptr< BaseTranscriptconvert_prover_transcript_to_verifier_transcript (const std::shared_ptr< BaseTranscript > &prover_transcript)
 Convert a prover transcript to a verifier transcript.
 
template<typename T >
static std::vector< DataTypeserialize (const T &element)
 
template<typename T >
static T deserialize (std::span< const DataType > frs)
 
static std::shared_ptr< BaseTranscriptprover_init_empty ()
 For testing: initializes transcript with some arbitrary data so that a challenge can be generated after initialization. Only intended to be used by Prover.
 
static std::shared_ptr< BaseTranscriptverifier_init_empty (const std::shared_ptr< BaseTranscript > &transcript)
 For testing: initializes transcript based on proof data then receives junk data produced by BaseTranscript::prover_init_empty(). Only intended to be used by Verifier.
 
- Static Public Attributes inherited from bb::BaseTranscript< Codec_, HashFunction_ >
static constexpr bool in_circuit = InCircuit<DataType>
 
static constexpr size_t CHALLENGE_BUFFER_SIZE = 2
 
- Protected Member Functions inherited from bb::BaseTranscript< Codec_, HashFunction_ >
void add_element_frs_to_hash_buffer (const std::string &label, std::span< const DataType > element_frs)
 Adds challenge elements to the current_round_buffer and updates the manifest.
 
template<typename T >
void serialize_to_buffer (const T &element, Proof &proof_data)
 Serializes object and appends it to proof_data.
 
template<typename T >
deserialize_from_buffer (const Proof &proof_data, size_t &offset) const
 Deserializes the frs starting at offset into the typed element and returns that element.
 
- Protected Attributes inherited from bb::BaseTranscript< Codec_, HashFunction_ >
Proof proof_data
 

Detailed Description

Definition at line 180 of file flavor.hpp.

Constructor & Destructor Documentation

◆ Transcript()

bb::avm2::AvmFlavor::Transcript::Transcript ( )
default

Member Function Documentation

◆ deserialize_full_transcript()

void bb::avm2::AvmFlavor::Transcript::deserialize_full_transcript ( )

Definition at line 18 of file flavor.cpp.

◆ serialize_full_transcript()

void bb::avm2::AvmFlavor::Transcript::serialize_full_transcript ( )

Definition at line 47 of file flavor.cpp.

Member Data Documentation

◆ commitments

std::array<Commitment, NUM_WITNESS_ENTITIES> bb::avm2::AvmFlavor::Transcript::commitments

Definition at line 184 of file flavor.hpp.

◆ gemini_fold_comms

std::vector<Commitment> bb::avm2::AvmFlavor::Transcript::gemini_fold_comms

Definition at line 188 of file flavor.hpp.

◆ gemini_fold_evals

std::vector<FF> bb::avm2::AvmFlavor::Transcript::gemini_fold_evals

Definition at line 189 of file flavor.hpp.

◆ kzg_w_comm

Commitment bb::avm2::AvmFlavor::Transcript::kzg_w_comm

Definition at line 191 of file flavor.hpp.

◆ log_circuit_size

size_t bb::avm2::AvmFlavor::Transcript::log_circuit_size = MAX_AVM_TRACE_LOG_SIZE

Definition at line 182 of file flavor.hpp.

◆ shplonk_q_comm

Commitment bb::avm2::AvmFlavor::Transcript::shplonk_q_comm

Definition at line 190 of file flavor.hpp.

◆ sumcheck_evaluations

std::array<FF, NUM_ALL_ENTITIES> bb::avm2::AvmFlavor::Transcript::sumcheck_evaluations

Definition at line 187 of file flavor.hpp.

◆ sumcheck_univariates

std::vector<bb::Univariate<FF, BATCHED_RELATION_PARTIAL_LENGTH> > bb::avm2::AvmFlavor::Transcript::sumcheck_univariates

Definition at line 186 of file flavor.hpp.


The documentation for this class was generated from the following files: