65 "Number of indices differs from the expected proof size.");
67 auto it = proof_indices.begin();
72 RecursiveFlavor::NativeFlavor::PROOF_LENGTH_WITHOUT_PUB_INPUTS(virtual_log_n) +
100 "Reconstructed a ClientIVC proof of wrong the length from proof indices.");
#define BB_ASSERT_EQ(actual, expected,...)
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS
The verification key is responsible for storing the commitments to the precomputed (non-witness) poly...
static constexpr size_t VIRTUAL_LOG_N
The verification key is responsible for storing the commitments to the precomputed (non-witnessk) pol...
Child class of MegaFlavor that runs with ZK Sumcheck. See more in Sumcheck Outline.
The recursive counterpart to the "native" MegaZKFlavor.
MegaZKFlavor NativeFlavor
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS
A simple wrapper around a vector of stdlib field elements representing a proof.
ClientIVCRecursiveVerifier(Builder *builder, const std::shared_ptr< RecursiveVKAndHash > &stdlib_mega_vk_and_hash)
RecursiveDeciderVerificationKeys::VerificationKey RecursiveVerificationKey
Output verify(const StdlibProof &)
Creates a circuit that executes the ClientIvc verification algorithm.
GoblinRecursiveVerifierOutput Output
ClientIVCRecursiveVerifier(Builder *builder, const std::shared_ptr< VerificationKey > &native_mega_vk)
std::shared_ptr< RecursiveVKAndHash > stdlib_mega_vk_and_hash
RecursiveDeciderVerificationKeys::VKAndHash RecursiveVKAndHash
bb::BaseTranscript< bb::stdlib::recursion::honk::StdlibTranscriptParams< Builder > > Transcript
Manages the data that is propagated on the public inputs of a hiding kernel circuit.
The stdlib counterpart of DeciderVerificationKey, used in recursive folding verification.
UltraCircuitBuilder_< UltraExecutionTraceBlocks > UltraCircuitBuilder
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
A full proof for the IVC scheme containing a Mega proof showing correctness of the hiding circuit (wh...
static constexpr size_t PROOF_LENGTH(size_t virtual_log_n=MegaZKFlavor::VIRTUAL_LOG_N)
The size of a ClientIVC proof with backend-added public inputs: HidingKernelIO.
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS(size_t virtual_log_n=MegaZKFlavor::VIRTUAL_LOG_N)
The size of a ClientIVC proof without backend-added public inputs.
StdlibPreIpaProof pre_ipa_proof
StdlibProof(Builder &builder, const ClientIVC::Proof &proof)
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS(size_t virtual_log_n=Flavor::VIRTUAL_LOG_N)
StdlibGoblinProof goblin_proof
StdlibProof(const std::vector< field_t< Builder > > &proof_indices, size_t virtual_log_n=Flavor::VIRTUAL_LOG_N)
Construct a new Stdlib Proof object from indices in a builder.
StdlibHonkProof mega_proof
static constexpr size_t PROOF_LENGTH(size_t virtual_log_n=Flavor::VIRTUAL_LOG_N)
StdlibHonkProof merge_proof
StdlibHonkProof translator_proof
StdlibEccvmProof eccvm_proof
typename Flavor::VerificationKey VerificationKey
typename Flavor::VKAndHash VKAndHash
RecursiveDeciderVerificationKey_< Flavor > DeciderVK