44 if (constraints.size() == 1 && constraint_has_type(constraints[0], Chonk::QUEUE_TYPE::OINK)) {
50 if (constraints.size() == 1 && constraint_has_type(constraints[0], Chonk::QUEUE_TYPE::HN)) {
56 if (constraints.size() == 1 && constraint_has_type(constraints[0], Chonk::QUEUE_TYPE::HN_TAIL)) {
62 if (constraints.size() == 2) {
63 BB_ASSERT(constraint_has_type(constraints[0], Chonk::QUEUE_TYPE::HN),
64 "Inner kernel first constraint must be HN type");
65 BB_ASSERT(constraint_has_type(constraints[1], Chonk::QUEUE_TYPE::HN),
66 "Inner kernel second constraint must be HN type");
73 if (constraints.size() == 1 && constraint_has_type(constraints[0], Chonk::QUEUE_TYPE::HN_FINAL)) {
100 using IvcType =
Chonk;
101 using FF = IvcType::FF;
102 using MegaVerificationKey = IvcType::MegaVerificationKey;
103 using Flavor = IvcType::Flavor;
105 size_t dyadic_size = 1 << Flavor::VIRTUAL_LOG_N;
107 std::vector<FF> proof;
112 BB_ASSERT_EQ(verification_type == Chonk::QUEUE_TYPE::HN || verification_type == Chonk::QUEUE_TYPE::HN_TAIL ||
113 verification_type == Chonk::QUEUE_TYPE::HN_FINAL,
117 constexpr bool include_fold =
true;
118 proof = create_mock_hyper_nova_proof<Flavor, KernelIO>(include_fold);
120 verification_key = create_mock_honk_vk<Flavor, KernelIO>(dyadic_size);
123 BB_ASSERT_EQ(verification_type == Chonk::QUEUE_TYPE::OINK || verification_type == Chonk::QUEUE_TYPE::HN,
true);
126 bool include_fold = (verification_type != Chonk::QUEUE_TYPE::OINK);
127 proof = create_mock_hyper_nova_proof<Flavor, AppIO>(include_fold);
129 verification_key = create_mock_honk_vk<Flavor, AppIO>(dyadic_size);
156 ivc->recursive_verifier_native_accum.non_shifted_evaluation =
FF::zero();
157 ivc->recursive_verifier_native_accum.shifted_evaluation =
FF::zero();
158 ivc->recursive_verifier_native_accum.non_shifted_commitment = Commitment::one();
159 ivc->recursive_verifier_native_accum.shifted_commitment = Commitment::one();
162 ivc->verification_queue.emplace_back(entry);
164 if (
type == Chonk::QUEUE_TYPE::HN_FINAL) {
165 ivc->decider_proof = acir_format::create_mock_pcs_proof<Chonk::Flavor>();
167 ivc->num_circuits_accumulated++;
#define BB_ASSERT(expression,...)
#define BB_ASSERT_EQ(actual, expected,...)
The IVC scheme used by the aztec client for private function execution.
Flavor::Commitment Commitment
QUEUE_TYPE
Proof type determining recursive verification logic in kernel circuits.
static constexpr size_t VIRTUAL_LOG_N
Manages the data that is propagated on the public inputs of an application/function circuit.
Manages the data that is propagated on the public inputs of a kernel circuit.
DefaultIO< MegaCircuitBuilder > AppIO
The data that is propagated on the public inputs of an application/function circuit.
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
static constexpr field zero()
void throw_or_abort(std::string const &err)