30 size_t public_inputs_size,
39 size_t num_inner_public_inputs = public_inputs_size - IO::PUBLIC_INPUTS_SIZE;
40 uint32_t pub_inputs_offset = MegaZKFlavor::has_zero_row ? 1 : 0;
44 auto honk_vk = create_mock_honk_vk<MegaZKFlavor, IO>(
51 bb::HonkProof chonk_proof = create_mock_chonk_proof<Builder>(num_inner_public_inputs);
56 BB_ASSERT_EQ(chonk_proof.size(), proof_size + public_inputs_size);
69 "IPA claim and Pairing points should be accumulated")]] HonkRecursionConstraintOutput<bb::UltraCircuitBuilder>
88 if (
builder.is_write_vk_mode()) {
90 IO::PUBLIC_INPUTS_SIZE,
91 "create_chonk_recursion_constraints: fewer proof elements than public inputs.");
93 SIZE_MAX - IO::PUBLIC_INPUTS_SIZE,
94 "create_chonk_recursion_constraints: too many public inputs.");
95 size_t total_pub_inputs_size = input.
public_inputs.size() + IO::PUBLIC_INPUTS_SIZE;
96 size_t proof_size_without_pub_inputs = input.
proof.size() - IO::PUBLIC_INPUTS_SIZE;
99 builder, proof_size_without_pub_inputs, total_pub_inputs_size, key_fields, proof_fields);
114 output.
ipa_claim = verification_output.ipa_claim;
115 output.
ipa_proof = verification_output.ipa_proof;
#define BB_ASSERT_GTE(left, right,...)
#define BB_ASSERT_EQ(actual, expected,...)
#define BB_ASSERT_LTE(left, right,...)
Verifier for Chonk IVC proofs (both native and recursive).
std::conditional_t< IsRecursive, ReductionResult, bool > Output
typename HidingKernelVerifier::VerificationKey VK
Output verify(const Proof &proof)
Verify a Chonk proof.
typename HidingKernelVerifier::VKAndHash VKAndHash
static constexpr size_t VIRTUAL_LOG_N
Base Native verification key class.
static field_t from_witness_index(Builder *ctx, uint32_t witness_index)
Manages the data that is propagated on the public inputs of a hiding kernel circuit.
Entry point for Barretenberg command-line interface.
std::vector< fr > HonkProof
UltraCircuitBuilder_< UltraExecutionTraceBlocks > UltraCircuitBuilder
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
static constexpr size_t PROOF_LENGTH_WITHOUT_PUB_INPUTS
The size of a Chonk proof without backend-added public inputs.
static ChonkProof_ from_field_elements(const std::vector< FF > &fields)
Common logic to reconstruct proof from field elements.
Output type for recursive ultra verification.
OpeningClaim< grumpkin< Builder > > ipa_claim
PairingPoints< Curve > points_accumulator
stdlib::Proof< Builder > ipa_proof