51 if (constraints.size() == 1 && constraints[0].proof_type == oink_type) {
57 if (constraints.size() == 1 && constraints[0].proof_type == hn_type) {
63 if (constraints.size() == 1 && constraints[0].proof_type == hn_tail_type) {
67 if (constraints.size() == 2) {
76 if (constraints.size() == 1 && constraints[0].proof_type == hn_final_type) {
93 using IvcType =
Chonk;
94 using FF = IvcType::FF;
95 using MegaVerificationKey = IvcType::MegaVerificationKey;
96 using Flavor = IvcType::Flavor;
98 size_t dyadic_size = 1 << Flavor::VIRTUAL_LOG_N;
99 size_t pub_inputs_offset = Flavor::has_zero_row ? 1 : 0;
102 std::vector<FF> proof;
107 BB_ASSERT_EQ(verification_type == Chonk::QUEUE_TYPE::HN || verification_type == Chonk::QUEUE_TYPE::HN_TAIL ||
108 verification_type == Chonk::QUEUE_TYPE::HN_FINAL,
112 bool include_fold =
true;
113 proof = create_mock_hyper_nova_proof<Flavor, KernelIO>(include_fold);
115 verification_key = create_mock_honk_vk<Flavor, KernelIO>(dyadic_size, pub_inputs_offset);
118 BB_ASSERT_EQ(verification_type == Chonk::QUEUE_TYPE::OINK || verification_type == Chonk::QUEUE_TYPE::HN,
true);
121 bool include_fold = !(verification_type == Chonk::QUEUE_TYPE::OINK);
122 proof = create_mock_hyper_nova_proof<Flavor, AppIO>(include_fold);
124 verification_key = create_mock_honk_vk<Flavor, AppIO>(dyadic_size, pub_inputs_offset);
146 ivc->recursive_verifier_native_accum.non_shifted_evaluation =
FF::zero();
147 ivc->recursive_verifier_native_accum.shifted_evaluation =
FF::zero();
148 ivc->recursive_verifier_native_accum.non_shifted_commitment = Commitment::one();
149 ivc->recursive_verifier_native_accum.shifted_commitment = Commitment::one();
152 ivc->verification_queue.emplace_back(entry);
154 if (
type == Chonk::QUEUE_TYPE::HN_FINAL) {
155 ivc->decider_proof = acir_format::create_mock_pcs_proof<Chonk::Flavor>();
157 ivc->num_circuits_accumulated++;
169 std::vector<uint32_t>& key_witness_indices)
174 std::vector<FF> mock_vk_fields = mock_verification_key->to_field_elements();
175 BB_ASSERT_EQ(mock_vk_fields.size(), key_witness_indices.size());
178 for (
auto [witness_idx,
value] :
zip_view(key_witness_indices, mock_vk_fields)) {
#define BB_ASSERT_EQ(actual, expected,...)
The IVC scheme used by the aztec client for private function execution.
Flavor::Commitment Commitment
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.
Base class templates for structures that contain data parameterized by the fundamental polynomials of...
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)