Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
recursion_constraint_output.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
13#include <cstdint>
14#include <vector>
15
16namespace acir_format {
17
18using namespace bb;
19using namespace stdlib;
20
24template <typename Builder>
26
30template <typename Builder> struct HonkRecursionConstraintsOutput {
34 bool is_root_rollup = false;
35
39 void update(const HonkRecursionConstraintOutput<Builder>& other, bool update_ipa_data);
40
44 void update(const HonkRecursionConstraintsOutput<Builder>& other, bool update_ipa_data);
45
51 [[maybe_unused]] bool is_hn_recursion_constraints = false,
52 [[maybe_unused]] bool has_ipa_claim = false);
53
54 private:
58 [[nodiscard("IPA claim should be accumulated, IPA proof should be propagated")]] std::
61
66};
67
68} // namespace acir_format
AluTraceBuilder builder
Definition alu.test.cpp:124
Entry point for Barretenberg command-line interface.
Definition api.hpp:5
std::vector< fr > HonkProof
Definition proof.hpp:15
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
Container for the output of multiple recursive verifications.
void finalize(Builder &builder, bool is_hn_recursion_constraints=false, bool has_ipa_claim=false)
Finalize the output by accumulating IPA claims/proofs, performing full IPA verification,...
std::pair< OpeningClaim< stdlib::grumpkin< Builder > >, HonkProof > perform_IPA_accumulation(Builder &builder) const
Accumulate the IPA claims and proofs held in this output.
std::vector< stdlib::Proof< Builder > > nested_ipa_proofs
void perform_full_IPA_verification(Builder &builder) const
Perform full IPA recursive verification of the IPA claims and proofs contained in this output.
stdlib::recursion::PairingPoints< stdlib::bn254< Builder > > points_accumulator
std::vector< OpeningClaim< stdlib::grumpkin< Builder > > > nested_ipa_claims
void update(const HonkRecursionConstraintOutput< Builder > &other, bool update_ipa_data)
Update the current output with another recursion constraint output.
An object storing two EC points that represent the inputs to a pairing check.
Output type for recursive ultra verification.