Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
chonk_recursion_constraints.hpp
Go to the documentation of this file.
1
// === AUDIT STATUS ===
2
// internal: { status: Planned, auditors: [], commit: }
3
// external_1: { status: not started, auditors: [], commit: }
4
// external_2: { status: not started, auditors: [], commit: }
5
// =====================
6
7
#pragma once
8
9
#include "
barretenberg/chonk/chonk_verifier.hpp
"
10
#include "
barretenberg/dsl/acir_format/honk_recursion_constraint.hpp
"
11
#include "
barretenberg/dsl/acir_format/recursion_constraint.hpp
"
12
#include "
barretenberg/stdlib/primitives/bigfield/bigfield.hpp
"
13
14
namespace
acir_format
{
15
16
using namespace
bb
;
17
18
struct
ChonkRecursionConstraintOutput
{
19
stdlib::recursion::PairingPoints<stdlib::bn254<bb::UltraCircuitBuilder>
>
points_accumulator
;
20
bb::ECCVMRecursiveVerifier::DeferredTripleIpaOpening
triple_ipa_opening
;
21
};
22
23
[[nodiscard(
"TripleIPA claim and Pairing points should be accumulated"
)]]
ChonkRecursionConstraintOutput
24
create_chonk_recursion_constraints
(
bb::UltraCircuitBuilder
&
builder
,
const
RecursionConstraint
& input);
25
26
void
create_dummy_vkey_and_proof
(
UltraCircuitBuilder
&
builder
,
27
size_t
proof_size,
28
size_t
public_inputs_size,
29
const
std::vector<
stdlib::field_t<UltraCircuitBuilder>
>& key_fields,
30
const
std::vector<
stdlib::field_t<UltraCircuitBuilder>
>& proof_fields);
31
32
}
// namespace acir_format
bigfield.hpp
chonk_verifier.hpp
bb::UltraCircuitBuilder_
Definition
ultra_circuit_builder.hpp:40
bb::stdlib::field_t
Definition
field.hpp:46
builder
AluTraceBuilder builder
Definition
alu.test.cpp:124
honk_recursion_constraint.hpp
acir_format
Definition
acir_format.cpp:30
acir_format::create_chonk_recursion_constraints
ChonkRecursionConstraintOutput create_chonk_recursion_constraints(bb::UltraCircuitBuilder &builder, const RecursionConstraint &input)
Add constraints associated with recursive verification of a Chonk proof.
Definition
chonk_recursion_constraints.cpp:66
acir_format::create_dummy_vkey_and_proof
void create_dummy_vkey_and_proof(UltraCircuitBuilder &builder, size_t proof_size, size_t public_inputs_size, const std::vector< stdlib::field_t< UltraCircuitBuilder > > &key_fields, const std::vector< stdlib::field_t< UltraCircuitBuilder > > &proof_fields)
Creates a dummy vkey and proof object.
Definition
chonk_recursion_constraints.cpp:28
bb
Entry point for Barretenberg command-line interface.
Definition
api.hpp:5
recursion_constraint.hpp
acir_format::ChonkRecursionConstraintOutput
Definition
chonk_recursion_constraints.hpp:18
acir_format::ChonkRecursionConstraintOutput::triple_ipa_opening
bb::ECCVMRecursiveVerifier::DeferredTripleIpaOpening triple_ipa_opening
Definition
chonk_recursion_constraints.hpp:20
acir_format::ChonkRecursionConstraintOutput::points_accumulator
stdlib::recursion::PairingPoints< stdlib::bn254< bb::UltraCircuitBuilder > > points_accumulator
Definition
chonk_recursion_constraints.hpp:19
acir_format::RecursionConstraint
RecursionConstraint struct contains information required to recursively verify a proof.
Definition
recursion_constraint.hpp:96
bb::ECCVMVerifier_::DeferredTripleIpaOpening
Definition
eccvm_verifier.hpp:42
bb::stdlib::recursion::PairingPoints
An object storing two EC points that represent the inputs to a pairing check.
Definition
pairing_points.hpp:26
src
barretenberg
dsl
acir_format
chonk_recursion_constraints.hpp
Generated by
1.9.8