From c68ef7241dad90bd2713d126a7e6583ab87ad6f0 Mon Sep 17 00:00:00 2001 From: cody Date: Thu, 13 Mar 2025 14:37:14 +0000 Subject: [PATCH 1/3] Update references to GH issues to reflect recent changes --- barretenberg/acir_tests/run_acir_tests.sh | 146 +++++++++ .../circuit_checker/ultra_circuit_checker.cpp | 2 - .../commitment_schemes/ipa/ipa.hpp | 2 - .../zeromorph/zeromorph.hpp | 2 - .../dsl/acir_format/acir_format.cpp | 2 - .../dsl/acir_format/acir_integration.test.cpp | 2 +- .../acir_format/acir_to_constraint_buf.cpp | 18 - .../acir_format/ivc_recursion_constraint.hpp | 3 - .../barretenberg/dsl/acir_proofs/c_bind.cpp | 2 - .../cpp/src/barretenberg/goblin/goblin.hpp | 3 +- .../types/pedersen_commitment_type.hpp | 6 - .../barretenberg/polynomials/barycentric.hpp | 3 +- .../protogalaxy/folding_result.hpp | 3 +- .../protogalaxy/protogalaxy_prover.hpp | 3 +- .../protogalaxy/protogalaxy_prover_impl.hpp | 4 +- .../protogalaxy_prover_internal.hpp | 4 - .../cpp/src/barretenberg/relations/utils.hpp | 2 - .../client_ivc_recursive_verifier.cpp | 5 +- .../goblin_recursive_verifier.cpp | 3 - .../goblin_verifier/merge_verifier.test.cpp | 3 - .../stdlib/honk_verifier/ipa_accumulator.hpp | 6 +- .../primitives/bigfield/bigfield_impl.hpp | 4 - .../stdlib/primitives/biggroup/biggroup.hpp | 4 +- .../primitives/biggroup/biggroup.test.cpp | 14 +- .../primitives/biggroup/biggroup_goblin.hpp | 2 +- .../stdlib/primitives/field/field.cpp | 1 + .../protogalaxy_recursive_verifier.test.cpp | 4 +- .../translator_recursive_verifier.hpp | 2 - .../circuit_simulator.hpp | 1 - .../stdlib_circuit_builders/mega_flavor.hpp | 2 - .../standard_circuit_builder.hpp | 2 - .../ultra_circuit_builder.hpp | 5 - .../ultra_vanilla_client_ivc.cpp | 2 +- barretenberg/scripts/find_github_issues.sh | 6 + check-off | 10 + issues | 310 ++++++++++++++++++ 36 files changed, 495 insertions(+), 98 deletions(-) create mode 100755 barretenberg/acir_tests/run_acir_tests.sh delete mode 100644 barretenberg/cpp/src/barretenberg/plonk_honk_shared/types/pedersen_commitment_type.hpp create mode 100755 barretenberg/scripts/find_github_issues.sh create mode 100644 check-off create mode 100644 issues diff --git a/barretenberg/acir_tests/run_acir_tests.sh b/barretenberg/acir_tests/run_acir_tests.sh new file mode 100755 index 000000000000..86dfaff6c6e4 --- /dev/null +++ b/barretenberg/acir_tests/run_acir_tests.sh @@ -0,0 +1,146 @@ +#!/usr/bin/env bash +# DEPRECATED: USE bootstrap.sh test +#!/usr/bin/env bash +# Env var overrides: +# BIN: to specify a different binary to test with (e.g. bb.js or bb.js-dev). +# VERBOSE: to enable logging for each test. +# RECURSIVE: to enable --recursive for each test. +set -eu + +# Catch when running in parallel +error_file="/tmp/error.$$" +pids=() + +# Handler for SIGCHLD, cleanup if child exit with error +handle_sigchild() { + for pid in "${pids[@]}"; do + # If process is no longer running + if ! kill -0 "$pid" 2>/dev/null; then + # Wait for the process and get exit status + wait "$pid" + status=$? + + # If exit status is error + if [ $status -ne 0 ]; then + # Create error file + touch "$error_file" + fi + fi + done +} +trap handle_sigchild SIGCHLD + +BIN=${BIN:-../cpp/build/bin/bb} +FLOW=${FLOW:-prove_and_verify} +HONK=${HONK:-false} +CLIENT_IVC_SKIPS=${CLIENT_IVC_SKIPS:-false} +CRS_PATH=~/.bb-crs +BRANCH=master +VERBOSE=${VERBOSE:-} +TEST_NAMES=("$@") +# We get little performance benefit over 16 cores (in fact it can be worse). +HARDWARE_CONCURRENCY=${HARDWARE_CONCURRENCY:-16} +RECURSIVE=${RECURSIVE:-false} + +FLOW_SCRIPT=$(realpath ./flows/${FLOW}.sh) + +if [ -f $BIN ]; then + BIN=$(realpath $BIN) +else + BIN=$(realpath $(which $BIN)) +fi + +export BIN CRS_PATH VERBOSE BRANCH RECURSIVE + +cd acir_tests + +# Convert them to array +# There are no issues with the tests below but as they check proper handling of dependencies or circuits that are part of a workspace +# running these require extra glue code so they are skipped for the purpose of this script +SKIP_ARRAY=(diamond_deps_0 workspace workspace_default_member) + +# if HONK is false, we should skip verify_honk_proof +if [ "$HONK" = false ]; then + # Don't run programs with Honk recursive verifier + SKIP_ARRAY+=(verify_honk_proof double_verify_honk_proof verify_rollup_honk_proof) +fi + +if [ "$HONK" = true ]; then + # Don't run programs with Plonk recursive verifier(s) + SKIP_ARRAY+=(single_verify_proof double_verify_proof double_verify_nested_proof verify_rollup_honk_proof) +fi + +if [ "$CLIENT_IVC_SKIPS" = true ]; then + # At least for now, skip folding tests that fail when run against ClientIVC. + # This is not a regression--folding was not being properly tested. + # TODO(https://github.com/AztecProtocol/barretenberg/issues/1164): Resolve this + # The reason for failure is that compile-time folding, as initially conceived, is + # only supported by ClientIVC through hacks. ClientIVC in Aztec is ultimately to be + # used through runtime folding, since the kernels that are needed are detected and + # constructed at runtime in Aztec's typescript proving interface. ClientIVC appends + # folding verifiers and does databus and Goblin merge work depending on its inputs, + # detecting which circuits are Aztec kernels. These tests may simple fail for trivial + # reasons, e.g. because the number of circuits in the stack is odd. + SKIP_ARRAY+=(fold_basic_nested_call fold_fibonacci fold_numeric_generic_poseidon ram_blowup_regression) +fi + + +function test() { + cd $1 + + set +e + start=$SECONDS + $FLOW_SCRIPT + result=$? + end=$SECONDS + duration=$((end - start)) + set -eu + + if [ $result -eq 0 ]; then + echo -e "\033[32mPASSED\033[0m ($duration s)" + else + echo -e "\033[31mFAILED\033[0m" + touch "$error_file" + exit 1 + fi + + cd .. +} + +if [ "${#TEST_NAMES[@]}" -ne 0 ]; then + for NAMED_TEST in "${TEST_NAMES[@]}"; do + echo -n "Testing $NAMED_TEST... " + test $NAMED_TEST + done +else + for TEST_NAME in $(find -maxdepth 1 -type d -not -path '.' | sed 's|^\./||'); do + echo -n "Testing $TEST_NAME... " + + if [[ " ${SKIP_ARRAY[@]} " =~ " $TEST_NAME" ]]; then + echo -e "\033[33mSKIPPED\033[0m (hardcoded to skip)" + continue + fi + + if [[ ! -f ./$TEST_NAME/target/program.json || ! -f ./$TEST_NAME/target/witness.gz ]]; then + echo -e "\033[33mSKIPPED\033[0m (uncompiled)" + continue + fi + + # If parallel flag is set, run in parallel + if [ -n "${PARALLEL:-}" ]; then + test $TEST_NAME & + else + test $TEST_NAME + fi + done +fi + +wait + +# Check for parallel errors +# If error file exists, exit with error +if [ -f "$error_file" ]; then + rm "$error_file" + echo "Error occurred in one or more child processes. Exiting..." + exit 1 +fi diff --git a/barretenberg/cpp/src/barretenberg/circuit_checker/ultra_circuit_checker.cpp b/barretenberg/cpp/src/barretenberg/circuit_checker/ultra_circuit_checker.cpp index 4396802c7589..e54463359c2b 100644 --- a/barretenberg/cpp/src/barretenberg/circuit_checker/ultra_circuit_checker.cpp +++ b/barretenberg/cpp/src/barretenberg/circuit_checker/ultra_circuit_checker.cpp @@ -35,8 +35,6 @@ template bool UltraCircuitChecker::check(const Builder& build MemoryCheckData memory_data{ builder }; bool result = true; - // TODO(https://github.com/AztecProtocol/barretenberg/issues/870): Currently we check all relations for each block. - // Once sorting is complete, is will be sufficient to check only the relevant relation(s) per block. size_t block_idx = 0; for (auto& block : builder.blocks.get()) { result = result && check_block(builder, block, tag_data, memory_data, lookup_hash_table); diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp index ec31de7ac8d7..c3d7151108ab 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp @@ -587,8 +587,6 @@ template class IPA { * *@remark The verification procedure documentation is in \link IPA::verify_internal verify_internal \endlink */ - // TODO(https://github.com/AztecProtocol/barretenberg/issues/912): Return the proper VerifierAccumulator once - // implemented static VerifierAccumulator reduce_verify(const OpeningClaim& opening_claim, const auto& transcript) requires(Curve::is_stdlib_type) diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp index 53f8a39c9938..0e2350fb58f2 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp @@ -329,8 +329,6 @@ template class ZeroMorphProver_ { * @param multilinear_challenge Multilinear challenge point u * @param commitment_key * @param transcript - * - * @todo https://github.com/AztecProtocol/barretenberg/issues/1030: document concatenation trick */ template static OpeningClaim prove(FF circuit_size, diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.cpp index a7a63bc2a853..d12cab07fbc9 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.cpp @@ -229,8 +229,6 @@ void build_constraints(Builder& builder, AcirProgram& program, const ProgramMeta } // RecursionConstraints - // TODO(https://github.com/AztecProtocol/barretenberg/issues/817): disable these for MegaHonk for now since we're - // not yet dealing with proper recursion if constexpr (IsMegaBuilder) { if (!constraint_system.recursion_constraints.empty()) { info("WARNING: this circuit contains unhandled recursion_constraints!"); diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_integration.test.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_integration.test.cpp index 30c6e41a987f..dc3a90c90680 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_integration.test.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_integration.test.cpp @@ -308,7 +308,7 @@ INSTANTIATE_TEST_SUITE_P(AcirTests, "regression_4202", "regression_4449", "regression_4709", - //"regression_5045", + "regression_5045", "regression_capacity_tracker", "regression_mem_op_predicate", "regression_method_cannot_be_found", diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp index 32953099687f..7a0921b55270 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp @@ -25,12 +25,6 @@ using namespace bb; */ poly_triple serialize_arithmetic_gate(Program::Expression const& arg) { - // TODO(https://github.com/AztecProtocol/barretenberg/issues/816): The initialization of the witness indices a,b,c - // to 0 is implicitly assuming that (builder.zero_idx == 0) which is no longer the case. Now, witness idx 0 in - // general will correspond to some non-zero value and some witnesses which are not explicitly set below will be - // erroneously populated with this value. This does not cause failures however because the corresponding selector - // will indeed be 0 so the gate will be satisfied. Still, its a bad idea to have erroneous wire values - // even if they dont break the relation. They'll still add cost in commitments, for example. poly_triple pt{ .a = 0, .b = 0, @@ -67,9 +61,6 @@ poly_triple serialize_arithmetic_gate(Program::Expression const& arg) // If the witness index has not yet been set or if the corresponding linear term is active, set the witness // index and the corresponding selector value. - // TODO(https://github.com/AztecProtocol/barretenberg/issues/816): May need to adjust the pt.a == witness_idx - // check (and the others like it) since we initialize a,b,c with 0 but 0 is a valid witness index once the - // +1 offset is removed from noir. if (!a_set || pt.a == witness_idx) { // q_l * w_l pt.a = witness_idx; pt.q_l = selector_value; @@ -241,12 +232,6 @@ std::vector> split_into_mul_quad_gates(Program::Expression const& mul_quad_ serialize_mul_quad_gate(Program::Expression const& arg) { - // TODO(https://github.com/AztecProtocol/barretenberg/issues/816): The initialization of the witness indices a,b,c - // to 0 is implicitly assuming that (builder.zero_idx == 0) which is no longer the case. Now, witness idx 0 in - // general will correspond to some non-zero value and some witnesses which are not explicitly set below will be - // erroneously populated with this value. This does not cause failures however because the corresponding selector - // will indeed be 0 so the gate will be satisfied. Still, its a bad idea to have erroneous wire values - // even if they dont break the relation. They'll still add cost in commitments, for example. mul_quad_ quad{ .a = 0, .b = 0, .c = 0, @@ -280,9 +265,6 @@ mul_quad_ serialize_mul_quad_gate(Program::Expression const& arg) // If the witness index has not yet been set or if the corresponding linear term is active, set the witness // index and the corresponding selector value. - // TODO(https://github.com/AztecProtocol/barretenberg/issues/816): May need to adjust the quad.a == witness_idx - // check (and the others like it) since we initialize a,b,c with 0 but 0 is a valid witness index once the - // +1 offset is removed from noir. if (!a_set || quad.a == witness_idx) { quad.a = witness_idx; quad.a_scaling = selector_value; diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/ivc_recursion_constraint.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ivc_recursion_constraint.hpp index c660f150bd92..2e83e99ca580 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/ivc_recursion_constraint.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/ivc_recursion_constraint.hpp @@ -8,9 +8,6 @@ namespace acir_format { using namespace bb; -// TODO(https://github.com/AztecProtocol/barretenberg/issues/1148): logic in this file is incomplete. See issue for -// details. - std::shared_ptr create_mock_ivc_from_constraints(const std::vector& constraints, const TraceSettings& trace_settings); diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.cpp index 154248b6e87c..28b6171c4654 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.cpp @@ -207,8 +207,6 @@ WASM_EXPORT void acir_prove_and_verify_aztec_client(uint8_t const* acir_stack, const acir_format::ProgramMetadata metadata{ ivc }; // Accumulate the entire program stack into the IVC - // TODO(https://github.com/AztecProtocol/barretenberg/issues/1116): remove manual setting of is_kernel once databus - // has been integrated into noir kernel programs bool is_kernel = false; auto start = std::chrono::steady_clock::now(); for (Program& program : folding_stack) { diff --git a/barretenberg/cpp/src/barretenberg/goblin/goblin.hpp b/barretenberg/cpp/src/barretenberg/goblin/goblin.hpp index ec62293ddb26..ae23d9c3a97b 100644 --- a/barretenberg/cpp/src/barretenberg/goblin/goblin.hpp +++ b/barretenberg/cpp/src/barretenberg/goblin/goblin.hpp @@ -241,8 +241,7 @@ class GoblinVerifier { bool accumulator_construction_verified = translator_verifier.verify_proof( proof.translator_proof, eccvm_verifier.evaluation_challenge_x, eccvm_verifier.batching_challenge_v); - // TODO(https://github.com/AztecProtocol/barretenberg/issues/799): Ensure translation_evaluations are passed - // correctly + bool translation_verified = translator_verifier.verify_translation( proof.translation_evaluations, eccvm_verifier.translation_masking_term_eval); diff --git a/barretenberg/cpp/src/barretenberg/plonk_honk_shared/types/pedersen_commitment_type.hpp b/barretenberg/cpp/src/barretenberg/plonk_honk_shared/types/pedersen_commitment_type.hpp deleted file mode 100644 index 8e72d71d6bc0..000000000000 --- a/barretenberg/cpp/src/barretenberg/plonk_honk_shared/types/pedersen_commitment_type.hpp +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -namespace bb::pedersen { -// TODO(https://github.com/AztecProtocol/barretenberg/issues/426) -enum CommitmentType { FIXED_BASE_PEDERSEN, LOOKUP_PEDERSEN }; -} // namespace bb::pedersen diff --git a/barretenberg/cpp/src/barretenberg/polynomials/barycentric.hpp b/barretenberg/cpp/src/barretenberg/polynomials/barycentric.hpp index dbad8cb56f03..f9c25d981fd4 100644 --- a/barretenberg/cpp/src/barretenberg/polynomials/barycentric.hpp +++ b/barretenberg/cpp/src/barretenberg/polynomials/barycentric.hpp @@ -8,7 +8,8 @@ // with the non-constexpr setting. Right now everything is more or less duplicated across BarycentricDataCompileTime and // BarycentricDataRunTime. There should be a way to share more of the logic. -/* IMPROVEMENT(Cody): This could or should be improved in various ways. In no particular order: +/* TODO(https://github.com/AztecProtocol/barretenberg/issues/10): This could or should be improved in various ways. In + no particular order: 1) Edge cases are not considered. One non-use case situation (I forget which) leads to a segfault. 2) Precomputing for all possible size pairs is probably feasible and might be a better solution than instantiating diff --git a/barretenberg/cpp/src/barretenberg/protogalaxy/folding_result.hpp b/barretenberg/cpp/src/barretenberg/protogalaxy/folding_result.hpp index cad8fcf7844f..1511234a8a8b 100644 --- a/barretenberg/cpp/src/barretenberg/protogalaxy/folding_result.hpp +++ b/barretenberg/cpp/src/barretenberg/protogalaxy/folding_result.hpp @@ -10,7 +10,6 @@ namespace bb { template struct FoldingResult { public: std::shared_ptr> accumulator; - // TODO(https://github.com/AztecProtocol/barretenberg/issues/656): turn folding data into a struct std::vector proof; }; -} // namespace bb \ No newline at end of file +} // namespace bb diff --git a/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover.hpp b/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover.hpp index aef9371ef621..d5b45f6968be 100644 --- a/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover.hpp +++ b/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover.hpp @@ -46,7 +46,6 @@ template class ProtogalaxyProver_ { ProtogalaxyProver_(const std::vector>& keys, ExecutionTraceUsageTracker trace_usage_tracker = ExecutionTraceUsageTracker{}) : keys_to_fold(DeciderProvingKeys_(keys)) - // TODO(https://github.com/AztecProtocol/barretenberg/issues/878) , commitment_key(keys_to_fold[1]->proving_key.commitment_key) , pg_internal(trace_usage_tracker){}; @@ -106,4 +105,4 @@ template class ProtogalaxyProver_ { */ BB_PROFILE FoldingResult prove(); }; -} // namespace bb \ No newline at end of file +} // namespace bb diff --git a/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover_impl.hpp b/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover_impl.hpp index 6fbd2e47dc0a..b45465dd6c33 100644 --- a/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover_impl.hpp +++ b/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover_impl.hpp @@ -105,8 +105,6 @@ ProtogalaxyProver_::combiner_quotient_round(const std::vecto /** * @brief Given the challenge \gamma, compute Z(\gamma) and {L_0(\gamma),L_1(\gamma)} - * TODO(https://github.com/AztecProtocol/barretenberg/issues/764): Generalize the vanishing polynomial formula - * and the computation of Lagrange basis for k decider proving keys. */ template FoldingResult ProtogalaxyProver_::update_target_sum_and_fold( @@ -209,4 +207,4 @@ FoldingResult ProtogalaxyProver_ class ProtogalaxyProverInternal { /** * @brief Compute the combiner quotient defined as $K$ polynomial in the paper. - * - * TODO(https://github.com/AztecProtocol/barretenberg/issues/764): generalize the computation of vanishing - * polynomials and Lagrange basis and use batch_invert. - * */ static Univariate compute_combiner_quotient( FF perturbator_evaluation, ExtendedUnivariateWithRandomization combiner) diff --git a/barretenberg/cpp/src/barretenberg/relations/utils.hpp b/barretenberg/cpp/src/barretenberg/relations/utils.hpp index 905ddfe310f1..8ef8e8bec577 100644 --- a/barretenberg/cpp/src/barretenberg/relations/utils.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/utils.hpp @@ -150,7 +150,6 @@ template class RelationUtils { * thesis). */ template - // TODO(#224)(Cody): Input should be an array? inline static void accumulate_relation_evaluations_without_skipping(const PolynomialEvaluations& evaluations, RelationEvaluations& relation_evaluations, const Parameters& relation_parameters, @@ -173,7 +172,6 @@ template class RelationUtils { * thesis). */ template - // TODO(#224)(Cody): Input should be an array? inline static RelationEvaluations accumulate_relation_evaluations(const PolynomialEvaluations& evaluations, const Parameters& relation_parameters, const FF& partial_evaluation_result) diff --git a/barretenberg/cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.cpp b/barretenberg/cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.cpp index ca351429ab07..6edbc452a030 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.cpp @@ -4,9 +4,6 @@ namespace bb::stdlib::recursion::honk { /** * @brief Performs recursive verification of the Client IVC proof. - * - * @todo (https://github.com/AztecProtocol/barretenberg/issues/934): Add logic for accumulating the pairing points - * produced by the verifiers (and potentially IPA accumulators for ECCVM verifier) */ ClientIVCRecursiveVerifier::Output ClientIVCRecursiveVerifier::verify(const ClientIVC::Proof& proof) { @@ -29,4 +26,4 @@ ClientIVCRecursiveVerifier::Output ClientIVCRecursiveVerifier::verify(const Clie return output; } -} // namespace bb::stdlib::recursion::honk \ No newline at end of file +} // namespace bb::stdlib::recursion::honk diff --git a/barretenberg/cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursive_verifier.cpp b/barretenberg/cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursive_verifier.cpp index deb50225a8da..d260c8e6ce8c 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursive_verifier.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursive_verifier.cpp @@ -4,9 +4,6 @@ namespace bb::stdlib::recursion::honk { /** * @brief Runs the Goblin recursive verifier consisting of ECCVM, Translator and Merge verifiers. - * - * @todo https://github.com/AztecProtocol/barretenberg/issues/934: Add logic for accumulating the pairing points - * produced by the translator and merge verifier (and potentially IPA accumulators for ECCVM verifier) */ GoblinRecursiveVerifierOutput GoblinRecursiveVerifier::verify(const GoblinProof& proof) { diff --git a/barretenberg/cpp/src/barretenberg/stdlib/goblin_verifier/merge_verifier.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/goblin_verifier/merge_verifier.test.cpp index 764ae5830280..c1fa8405d4ee 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/goblin_verifier/merge_verifier.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/goblin_verifier/merge_verifier.test.cpp @@ -89,9 +89,6 @@ template class RecursiveMergeVerifierTest : public test } }; -// Run the recursive verifier tests with Ultra and Mega builders -// TODO(https://github.com/AztecProtocol/barretenberg/issues/1024): Ultra fails, possibly due to repeated points in -// batch mul? using Builders = testing::Types; TYPED_TEST_SUITE(RecursiveMergeVerifierTest, Builders); diff --git a/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ipa_accumulator.hpp b/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ipa_accumulator.hpp index a89382865731..eb8b1b0e0099 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ipa_accumulator.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ipa_accumulator.hpp @@ -3,13 +3,11 @@ #include namespace bb::stdlib::recursion::honk { -// TODO(https://github.com/AztecProtocol/barretenberg/issues/1009): Make the us vector an array after we constify eccvm -// circuit size. template struct IpaAccumulator { typename Curve::ScalarField log_poly_length; std::vector - u_challenges_inv; // inverses of u challenges that represent the polynomial h + u_challenges_inv; // inverses of u challenges that represent the polynomial h; could be an array typename Curve::Group comm; // commitment to the polynomial h }; -} // namespace bb::stdlib::recursion::honk \ No newline at end of file +} // namespace bb::stdlib::recursion::honk diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp index d756044298b5..9be01e8f94b0 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp @@ -1105,8 +1105,6 @@ bigfield bigfield::sqradd(const std::vector& t * @returns this ** (exponent) * * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/1014) Improve the efficiency of this function. - * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/1015) Security of this (as part of the whole - * class) */ template bigfield bigfield::pow(const size_t exponent) const @@ -1147,8 +1145,6 @@ template bigfield bigfield bigfield bigfield::pow(const field_t& exponent) const diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp index ee11b3b75e61..5e753df12552 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp @@ -232,7 +232,7 @@ template class element { // i.e. for the bn254 curve, the template param is `typename = void` // for any other curve, there is no template param template ::value>> - requires(IsNotMegaBuilder) // TODO(https://github.com/AztecProtocol/barretenberg/issues/707) + requires(IsNotMegaBuilder) static element bn254_endo_batch_mul(const std::vector& big_points, const std::vector& big_scalars, const std::vector& small_points, @@ -240,7 +240,7 @@ template class element { const size_t max_num_small_bits); template ::value>> - requires(IsNotMegaBuilder) // TODO(https://github.com/AztecProtocol/barretenberg/issues/707) + requires(IsNotMegaBuilder) static element bn254_endo_batch_mul_with_generator(const std::vector& big_points, const std::vector& big_scalars, const std::vector& small_points, diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp index 6a96f54f7598..855d970fb951 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp @@ -1754,7 +1754,7 @@ TYPED_TEST(stdlib_biggroup, dbl) TYPED_TEST(stdlib_biggroup, montgomery_ladder) { if constexpr (HasGoblinBuilder) { - GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; + GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/1290"; } else { TestFixture::test_montgomery_ladder(); }; @@ -1793,7 +1793,7 @@ HEAVY_TYPED_TEST(stdlib_biggroup, short_scalar_mul_infinity) HEAVY_TYPED_TEST(stdlib_biggroup, twin_mul) { if constexpr (HasGoblinBuilder) { - GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; + GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/1290"; } else { TestFixture::test_twin_mul(); }; @@ -1801,7 +1801,7 @@ HEAVY_TYPED_TEST(stdlib_biggroup, twin_mul) HEAVY_TYPED_TEST(stdlib_biggroup, triple_mul) { if constexpr (HasGoblinBuilder) { - GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; + GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/1290"; } else { TestFixture::test_triple_mul(); }; @@ -1809,7 +1809,7 @@ HEAVY_TYPED_TEST(stdlib_biggroup, triple_mul) HEAVY_TYPED_TEST(stdlib_biggroup, quad_mul) { if constexpr (HasGoblinBuilder) { - GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; + GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/1290"; } else { TestFixture::test_quad_mul(); }; @@ -1844,7 +1844,7 @@ HEAVY_TYPED_TEST(stdlib_biggroup, chain_add) { if constexpr (HasGoblinBuilder) { - GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; + GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/1290"; } else { TestFixture::test_chain_add(); }; @@ -1853,7 +1853,7 @@ HEAVY_TYPED_TEST(stdlib_biggroup, multiple_montgomery_ladder) { if constexpr (HasGoblinBuilder) { - GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; + GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/1290"; } else { TestFixture::test_multiple_montgomery_ladder(); }; @@ -1997,4 +1997,4 @@ HEAVY_TYPED_TEST(stdlib_biggroup, ecdsa_mul_secp256k1) } else { GTEST_SKIP(); } -} \ No newline at end of file +} diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.hpp index 25ec35a8dce8..da4f10bcf933 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.hpp @@ -227,7 +227,7 @@ template class goblin_el goblin_element dbl() const { return batch_mul({ *this }, { 2 }); } - // TODO(https://github.com/AztecProtocol/barretenberg/issues/707) max_num_bits is unused; could implement and + // TODO(https://github.com/AztecProtocol/barretenberg/issues/1291) max_num_bits is unused; could implement and // use this to optimize other operations. interface compatible with biggroup.hpp, the final parameter // handle_edge_cases is not needed as this is always done in the eccvm static goblin_element batch_mul(const std::vector& points, diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.cpp index 51b4b726be58..b6e47a9f6ce4 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/field.cpp @@ -376,6 +376,7 @@ template field_t field_t::pow(const field_t } bool exponent_constant = exponent.is_constant(); + // TODO(https://github.com/AztecProtocol/barretenberg/issues/446): optimize by allowing smaller expoonent std::vector> exponent_bits(32); for (size_t i = 0; i < exponent_bits.size(); ++i) { uint256_t value_bit = exponent_value & 1; diff --git a/barretenberg/cpp/src/barretenberg/stdlib/protogalaxy_verifier/protogalaxy_recursive_verifier.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/protogalaxy_verifier/protogalaxy_recursive_verifier.test.cpp index 40f31064e90b..70e553199cdf 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/protogalaxy_verifier/protogalaxy_recursive_verifier.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/protogalaxy_verifier/protogalaxy_recursive_verifier.test.cpp @@ -267,8 +267,6 @@ template class ProtogalaxyRecursiveTests : public tes * make sure the verifer circuits pass check_circuit(). Ensure that the algorithm of the recursive and native * verifiers are identical by checking the manifests */ - // TODO(https://github.com/AztecProtocol/barretenberg/issues/844): Fold the recursive folding verifier in - // tests once we can fold keys of different sizes. static void test_full_protogalaxy_recursive() { // Create two arbitrary circuits for the first round of folding @@ -516,4 +514,4 @@ TYPED_TEST(ProtogalaxyRecursiveTests, ConstantVerifierCircuit) TestFixture::test_constant_pg_verifier_circuit(); } -} // namespace bb::stdlib::recursion::honk \ No newline at end of file +} // namespace bb::stdlib::recursion::honk diff --git a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.hpp b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.hpp index 3faf36e0d733..fa04078ff775 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.hpp @@ -42,8 +42,6 @@ template class TranslatorRecursiveVerifier_ { PairingPoints verify_proof(const HonkProof& proof, const BF& evaluation_input_x, const BF& batching_challenge_v); - // TODO(https://github.com/AztecProtocol/barretenberg/issues/986): Ensure the translation is also recursively - // verified somewhere bool verify_translation(const TranslationEvaluations& translation_evaluations, const BF& translation_masking_term_eval); }; diff --git a/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/circuit_simulator.hpp b/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/circuit_simulator.hpp index 5d8221ee15b8..aec21bd440ad 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/circuit_simulator.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/circuit_simulator.hpp @@ -6,7 +6,6 @@ #include "barretenberg/plonk_honk_shared/types/aggregation_object_type.hpp" #include "barretenberg/plonk_honk_shared/types/circuit_type.hpp" #include "barretenberg/plonk_honk_shared/types/merkle_hash_type.hpp" -#include "barretenberg/plonk_honk_shared/types/pedersen_commitment_type.hpp" #include "barretenberg/stdlib_circuit_builders/plookup_tables/plookup_tables.hpp" #include "barretenberg/stdlib_circuit_builders/plookup_tables/types.hpp" #include diff --git a/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp b/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp index bf3139d5e84f..1b7fcfbcb67a 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp @@ -334,8 +334,6 @@ class MegaFlavor { // fully-formed constructor ProverPolynomials(size_t circuit_size) { - // TODO(https://github.com/AztecProtocol/barretenberg/issues/1072): Unexpected jump in time to allocate all - // of these polys (in client_ivc_bench only). PROFILE_THIS_NAME("ProverPolynomials(size_t)"); for (auto& poly : get_to_be_shifted()) { diff --git a/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/standard_circuit_builder.hpp b/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/standard_circuit_builder.hpp index 04b81d749440..ca527db663d9 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/standard_circuit_builder.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/standard_circuit_builder.hpp @@ -4,7 +4,6 @@ #include "barretenberg/plonk_honk_shared/execution_trace/standard_execution_trace.hpp" #include "barretenberg/plonk_honk_shared/types/circuit_type.hpp" #include "barretenberg/plonk_honk_shared/types/merkle_hash_type.hpp" -#include "barretenberg/plonk_honk_shared/types/pedersen_commitment_type.hpp" #include "barretenberg/trace_to_polynomials/trace_to_polynomials.hpp" #include "circuit_builder_base.hpp" #include @@ -24,7 +23,6 @@ template class StandardCircuitBuilder_ : public CircuitBuilderBase static constexpr std::string_view NAME_STRING = "StandardExecutionTrace"; static constexpr CircuitType CIRCUIT_TYPE = CircuitType::STANDARD; static constexpr merkle::HashType merkle_hash_type = merkle::HashType::FIXED_BASE_PEDERSEN; - static constexpr pedersen::CommitmentType commitment_type = pedersen::CommitmentType::FIXED_BASE_PEDERSEN; // Storage for wires and selectors for all gate types GateBlocks blocks; diff --git a/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp b/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp index 6fd2525607f7..59ead130ae27 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp @@ -3,7 +3,6 @@ #include "barretenberg/plonk_honk_shared/execution_trace/ultra_execution_trace.hpp" #include "barretenberg/plonk_honk_shared/types/circuit_type.hpp" #include "barretenberg/plonk_honk_shared/types/merkle_hash_type.hpp" -#include "barretenberg/plonk_honk_shared/types/pedersen_commitment_type.hpp" #include "barretenberg/stdlib_circuit_builders/op_queue/ecc_op_queue.hpp" #include "barretenberg/stdlib_circuit_builders/plookup_tables/plookup_tables.hpp" #include "barretenberg/stdlib_circuit_builders/plookup_tables/types.hpp" @@ -44,7 +43,6 @@ class UltraCircuitBuilder_ : public CircuitBuilderBase(size_hint) { - // TODO(https://github.com/AztecProtocol/barretenberg/issues/870): reserve space in blocks here somehow? this->zero_idx = put_constant_variable(FF::zero()); this->tau.insert({ DUMMY_TAG, DUMMY_TAG }); // TODO(luke): explain this }; @@ -363,8 +360,6 @@ class UltraCircuitBuilder_ : public CircuitBuilderBase(size_hint, witness_values.empty()) { - // TODO(https://github.com/AztecProtocol/barretenberg/issues/870): reserve space in blocks here somehow? - for (size_t idx = 0; idx < varnum; ++idx) { // Zeros are added for variables whose existence is known but whose values are not yet known. The values may // be "set" later on via the assert_equal mechanism. diff --git a/barretenberg/cpp/src/barretenberg/ultra_vanilla_client_ivc/ultra_vanilla_client_ivc.cpp b/barretenberg/cpp/src/barretenberg/ultra_vanilla_client_ivc/ultra_vanilla_client_ivc.cpp index c7d88a2795ff..168e2719122f 100644 --- a/barretenberg/cpp/src/barretenberg/ultra_vanilla_client_ivc/ultra_vanilla_client_ivc.cpp +++ b/barretenberg/cpp/src/barretenberg/ultra_vanilla_client_ivc/ultra_vanilla_client_ivc.cpp @@ -50,7 +50,7 @@ HonkProof UltraVanillaClientIVC::prove(CircuitSource& source, previous_proof = prover.construct_proof(); vinfo("constructed proof"); } else { - // TODO(https://github.com/AztecProtocol/barretenberg/issues/1176) Use UltraKeccakZKProver when it exists + // TODO(https://github.com/AztecProtocol/barretenberg/issues/1294) Use UltraKeccakZKProver when it exists UltraProver prover{ proving_key, commitment_key }; previous_proof = prover.construct_proof(); } diff --git a/barretenberg/scripts/find_github_issues.sh b/barretenberg/scripts/find_github_issues.sh new file mode 100755 index 000000000000..c1b960559217 --- /dev/null +++ b/barretenberg/scripts/find_github_issues.sh @@ -0,0 +1,6 @@ +RESULT=../issues +> $RESULT +find acir_tests/ -name "*.sh" -exec grep "barretenberg/issues/" {} + >> ../issues +find cpp/src/ -type f -exec grep "barretenberg/issues/" {} + >> ../issues +find ts/src -type f -exec grep "barretenberg/issues/" {} + >> ../issues +find sol/src -type f -exec grep "barretenberg/issues/" {} + >> ../issues diff --git a/check-off b/check-off new file mode 100644 index 000000000000..f89ad41c49d3 --- /dev/null +++ b/check-off @@ -0,0 +1,10 @@ +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1072): Unexpected jump in time to allocate all +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_recursive_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/983): Think about if these should be witnesses +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/870): reserve space in blocks here somehow? +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/870): reserve space in blocks here somehow? +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_rollup_recursive_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/983): Think about if these should be witnesses +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/ultra_vanilla_client_ivc/ultra_vanilla_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1176) Use UltraKeccakZKProver when it exists +✅ /workspaces/aztec-packages/barretenberg/ts/src/barretenberg/index.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? +✅ /workspaces/aztec-packages/barretenberg/ts/src/examples/simple.rawtest.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? +✅ /workspaces/aztec-packages/barretenberg/ts/src/examples/simple.test.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? +✅ /workspaces/aztec-packages/barretenberg/ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? diff --git a/issues b/issues new file mode 100644 index 000000000000..5ec89809a4bc --- /dev/null +++ b/issues @@ -0,0 +1,310 @@ +acir_tests/flows/prove_then_verify_tube.sh: # TODO(https://github.com/AztecProtocol/barretenberg/issues/1252): deprecate in favor of normal proving flow +✅ /workspaces/aztec-packages/barretenberg/acir_tests/bootstrap.sh: # TODO(https://github.com/AztecProtocol/barretenberg/issues/1108): problem regardless the proof system used +acir_tests/bootstrap.sh: # TODO(https://github.com/AztecProtocol/barretenberg/issues/1253) Deprecate command and construct TOML (e.g., via yq or via conversion from a JSON) +acir_tests/bootstrap.sh:# TODO(https://github.com/AztecProtocol/barretenberg/issues/1254): More complete testing, including failure tests +acir_tests/bootstrap.sh: # TODO(https://github.com/AztecProtocol/barretenberg/issues/1265) fix acir benchmarking +✅ /workspaces/aztec-packages/barretenberg/acir_tests/run_acir_tests.sh:# TODO(https://github.com/AztecProtocol/barretenberg/issues/1108): problem regardless the proof system used +acir_tests/run_acir_tests.sh: # TODO(https://github.com/AztecProtocol/barretenberg/issues/1164): Resolve this +cpp/src/barretenberg/bb/main.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1257): Remove unused/seemingly unnecessary flags. +cpp/src/barretenberg/bb/main.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1258): Improve defaults. +cpp/src/barretenberg/benchmark/protogalaxy_bench/protogalaxy.bench.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/938): Parallelize this loop +cpp/src/barretenberg/benchmark/protogalaxy_rounds_bench/protogalaxy_rounds.bench.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/938): Parallelize this loop, also extend to more than +cpp/src/barretenberg/benchmark/ultra_bench/ultra_honk_rounds.bench.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/761) benchmark both sparse and dense circuits +FORMAT cpp/src/barretenberg/benchmark/ultra_bench/ultra_plonk_rounds.bench.cpp: // TODO: https://github.com/AztecProtocol/barretenberg/issues/761 benchmark both sparse and dense circuits +cpp/src/barretenberg/crypto/ecdsa/ecdsa.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/659) +cpp/src/barretenberg/crypto/schnorr/schnorr.tcc: // TODO(https://github.com/AztecProtocol/barretenberg/issues/895): securely erase `k` +cpp/src/barretenberg/dsl/acir_format/avm_recursion_constraint.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/996): investigate whether assert_equal on public +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_format/ivc_recursion_constraint.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1148): logic in this file is incomplete. See issue for +cpp/src/barretenberg/dsl/acir_format/acir_integration.test.cpp: /*honk_recursion=*/0); // TODO(https://github.com/AztecProtocol/barretenberg/issues/1013): +cpp/src/barretenberg/dsl/acir_format/acir_integration.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/994): Run all tests +cpp/src/barretenberg/dsl/acir_format/acir_integration.test.cpp: test_name, /*honk_recursion=*/0); // TODO(https://github.com/AztecProtocol/barretenberg/issues/1013): +cpp/src/barretenberg/dsl/acir_format/acir_integration.test.cpp: test_name, /*honk_recursion=*/0); // TODO(https://github.com/AztecProtocol/barretenberg/issues/1013): +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/816): The initialization of the witness indices a,b,c +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/816): May need to adjust the pt.a == witness_idx +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/816): The initialization of the witness indices a,b,c +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/816): May need to adjust the quad.a == witness_idx +cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1074): Eventually arg.proof_type will +cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/927): Move to using just +cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/927): Move to using just +cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: honk_recursion); // TODO(https://github.com/AztecProtocol/barretenberg/issues/1013): +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/817): disable these for MegaHonk for now since we're +cpp/src/barretenberg/dsl/acir_format/block_constraint.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1165): is_kernel must be known prior to this stage +cpp/src/barretenberg/dsl/acir_format/recursion_constraint.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/996): Create similar comments for Honk. +cpp/src/barretenberg/dsl/acir_format/honk_recursion_constraint.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/996): investigate whether assert_equal on public inputs +cpp/src/barretenberg/dsl/acir_format/acir_format.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1161) Refactor this function +cpp/src/barretenberg/dsl/acir_format/acir_format.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1161) Refactor this function +cpp/src/barretenberg/dsl/acir_proofs/honk_zk_contract.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1098): memcpy +cpp/src/barretenberg/dsl/acir_proofs/honk_zk_contract.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1098): memcpy +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1116): remove manual setting of is_kernel once databus +cpp/src/barretenberg/ecc/fields/field_declarations.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/851): We should move away from this hack by +cpp/src/barretenberg/ecc/fields/field_declarations.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/851): Unify these APIs. +cpp/src/barretenberg/ecc/fields/field_impl.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1166) +cpp/src/barretenberg/ecc/groups/affine_element.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/909): These tests are not typed for no reason +cpp/src/barretenberg/ecc/groups/element.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/908) point at inifinty isn't handled +cpp/src/barretenberg/ecc/scalar_multiplication/sorted_msm.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1130): This class is largely superceded by the newer +cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1135): Optimize so it's only scalars.size(). +cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1135): We don't need start_index more scalars here. +cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1135): We don't need start_index more scalars here. +cpp/src/barretenberg/honk/proof_system/logderivative_library.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/940): avoid get_row if possible. +cpp/src/barretenberg/numeric/uintx/uintx_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1051): investigate, why) +cpp/src/barretenberg/plonk/composer/standard_composer.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/392): Composer type +cpp/src/barretenberg/plonk/composer/ultra_composer.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/392): Composer type +cpp/src/barretenberg/polynomials/univariate.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/714) Try out std::valarray? +cpp/src/barretenberg/polynomials/barycentric.hpp:/* TODO(https://github.com/AztecProtocol/barretenberg/issues/10): This could or should be improved in various ways. In +cpp/src/barretenberg/polynomials/barycentric.hpp: * @todo: TODO(https://github.com/AztecProtocol/barretenberg/issues/713) Optimize with lookup tables? +cpp/src/barretenberg/polynomials/gate_separator.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/864): This computation is asymtotically slow as it +cpp/src/barretenberg/polynomials/polynomial.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1113): Optimizing based on actual sizes would involve using +cpp/src/barretenberg/polynomials/polynomial.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1113): Optimizing based on actual sizes would involve using +cpp/src/barretenberg/polynomials/polynomial.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1096): Make this a Polynomial with +cpp/src/barretenberg/solidity_helpers/honk_proof_gen.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1227) +cpp/src/barretenberg/stdlib/hash/keccak/keccak.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/662) +cpp/src/barretenberg/stdlib/hash/keccak/keccak.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/662) +cpp/src/barretenberg/stdlib/hash/poseidon2/poseidon2_permutation.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): dummy gate required since the last external gate +cpp/src/barretenberg/stdlib/hash/poseidon2/poseidon2_permutation.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): dummy gate required since the last internal gate +cpp/src/barretenberg/stdlib/primitives/address/address.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/376): Establish whether this type should be here at all. +cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/850): audit the evaluate_linear_identity function +cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): dummy necessary for preceeding big add +cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/1014) Improve the efficiency of this function. +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/1015) Security of this (as part of the whole +cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/1014) Improve the efficiency of this function. +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/1015) Security of this (as part of the whole +cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/660): null context _should_ mean that both are +cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/999): get native values efficiently (i.e. if u512 +cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/677) +cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/998): Something is fishy here +cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_batch_mul.hpp: * @todo : TODO(https://github.com/AztecProtocol/barretenberg/issues/1001) when we nuke standard and turbo plonk we +cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_edgecase_handling.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1002): if both point and scalar are constant, +cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1043): this test will fail with num_points is 1 +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; +cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_impl.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/657): This function is untested +cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/971): This will fail when the two elements are the +cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/663) +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/707) max_num_bits is unused; could implement and +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp: requires(IsNotMegaBuilder) // TODO(https://github.com/AztecProtocol/barretenberg/issues/707) +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp: requires(IsNotMegaBuilder) // TODO(https://github.com/AztecProtocol/barretenberg/issues/707) +cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/664) +cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/665) +cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1082): Addition could be optimized +cpp/src/barretenberg/stdlib/primitives/field/field_conversion.cpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/850): audit this function more carefully +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/array.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/666): +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/array.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/666): +cpp/src/barretenberg/stdlib/primitives/field/field_conversion.hpp: * @todo https://github.com/AztecProtocol/barretenberg/issues/1065 optimise validate_on_curve and check points +cpp/src/barretenberg/stdlib/primitives/field/field.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/446): optimize by allowing smaller expoonent +cpp/src/barretenberg/stdlib/primitives/field/field.cpp: *It should make the circuits smaller. https://github.com/AztecProtocol/barretenberg/issues/1052 +cpp/src/barretenberg/stdlib/primitives/field/field.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1039): Use of this function in ZM verifier is insecure. +cpp/src/barretenberg/stdlib/primitives/group/cycle_group.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1020): Re-enable these. +cpp/src/barretenberg/stdlib/primitives/group/cycle_group.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1067): This ASSERT is missing in the constructor but +cpp/src/barretenberg/stdlib/primitives/group/cycle_group.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1022): ensure lo and hi are in bb::fr modulus not +cpp/src/barretenberg/stdlib/primitives/group/cycle_group.cpp: * @todo (https://github.com/AztecProtocol/barretenberg/issues/1016): Optimise this method +cpp/src/barretenberg/stdlib/primitives/plookup/plookup.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/953): Re-enable these tests +cpp/src/barretenberg/stdlib/primitives/databus/databus.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/1138): Resolve issues around default commitment value +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.cpp: * @todo (https://github.com/AztecProtocol/barretenberg/issues/934): Add logic for accumulating the pairing points +cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1069): fix this by taking it from the output instead of +cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1069): fix this by taking it from the output +cpp/src/barretenberg/stdlib/eccvm_verifier/ecc_relation_consistency.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/997): Actually create consistency tests for ECCVM relations +cpp/src/barretenberg/stdlib/eccvm_verifier/eccvm_recursive_verifier.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1040): Extract circuit size as BF (field_t) then +cpp/src/barretenberg/stdlib/eccvm_verifier/eccvm_recursive_verifier.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/991): switch recursive verifiers to StdlibProof +cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursive_verifier.hpp: * @todo(https://github.com/AztecProtocol/barretenberg/issues/1021): The values returned by the recursive verifiers +cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursive_verifier.hpp: * @todo(https://github.com/AztecProtocol/barretenberg/issues/991): The GoblinProof should aleady be a stdlib proof +cpp/src/barretenberg/stdlib/goblin_verifier/goblin.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/787) Expand these tests. +cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursion.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/787) Expand these tests. +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursive_verifier.cpp: * @todo https://github.com/AztecProtocol/barretenberg/issues/934: Add logic for accumulating the pairing points +cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursive_verifier.cpp: // (see https://github.com/AztecProtocol/barretenberg/issues/991) +cpp/src/barretenberg/stdlib/goblin_verifier/merge_verifier.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/800) Testing cleanup +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/goblin_verifier/merge_verifier.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1024): Ultra fails, possibly due to repeated points in +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ipa_accumulator.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1009): Make the us vector an array after we constify eccvm +cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1182): Handle in ProofSurgeon. +cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/995): generate this challenge properly. +cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/995): generate recursion separator challenge properly. +cpp/src/barretenberg/stdlib/plonk_recursion/aggregation_state/aggregation_state.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/911): These are pairing points extracted from a valid +cpp/src/barretenberg/stdlib/plonk_recursion/aggregation_state/aggregation_state.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/911): These are pairing points extracted from a valid +cpp/src/barretenberg/stdlib/protogalaxy_verifier/protogalaxy_recursive_verifier.test.cpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/744): make testing utility with functionality shared +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/protogalaxy_verifier/protogalaxy_recursive_verifier.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/844): Fold the recursive folding verifier in +cpp/src/barretenberg/stdlib/transcript/transcript.test.cpp: * @todo(https://github.com/AztecProtocol/barretenberg/issues/1064) Add more transcript tests for both curves +cpp/src/barretenberg/stdlib/transcript/transcript.test.cpp: * @todo(https://github.com/AztecProtocol/barretenberg/issues/1064) Add more transcript tests for both curves +cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/990): Establish whether mini_circuit_size pattern is +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/986): Ensure the translation is also recursively +cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/980): Add failing tests after we have a proper shared +cpp/src/barretenberg/transcript/transcript.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1226): univariates should also be logged +cpp/src/barretenberg/transcript/transcript.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/832): investigate why +cpp/src/barretenberg/circuit_checker/circuit_checker.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/928): Reorganize +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/circuit_checker/ultra_circuit_checker.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/870): Currently we check all relations for each block. +cpp/src/barretenberg/client_ivc/client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1069): Do proper aggregation with merge recursive +cpp/src/barretenberg/client_ivc/client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1048): link these properly, likely insecure +cpp/src/barretenberg/client_ivc/client_ivc.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/911): We require goblin ops to be added to the +cpp/src/barretenberg/commitment_schemes/gemini/gemini.hpp: * @note TODO(https://github.com/AztecProtocol/barretenberg/issues/1223): There are certain operations herein that +cpp/src/barretenberg/commitment_schemes/gemini/gemini.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! +cpp/src/barretenberg/commitment_schemes/gemini/gemini_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1159): Decouple constants from primitives. +cpp/src/barretenberg/commitment_schemes/gemini/gemini_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1194). Handle edge cases in PCS +cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1150): Hash more things here. +cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1159): Decouple constant from IPA. +cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1140): Use batch_invert. +cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: * @todo (https://github.com/AztecProtocol/barretenberg/issues/1018): simulator should use the native verify +cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1144): need checks here on poly_length. +cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! +cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1144): Add proper constraints for taking the log of a field_t. +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/912): Return the proper VerifierAccumulator once +cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: * @todo (https://github.com/AztecProtocol/barretenberg/issues/1018): simulator should use the native verify +cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1144): need checks here on poly_length. +cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! +cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! +cpp/src/barretenberg/commitment_schemes/ipa/ipa.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1159): Decouple constant from IPA. +cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp: * TODO (https://github.com/AztecProtocol/barretenberg/issues/1084) Reduce the size of batch_mul further by eliminating +cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp: bool* consistency_checked = nullptr, // TODO(https://github.com/AztecProtocol/barretenberg/issues/1191). +cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1159): Decouple constants from primitives. +cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure! +cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1151) Avoid erasing vector elements. +cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure! +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: * @todo https://github.com/AztecProtocol/barretenberg/issues/1030: document concatenation trick +cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1159): Decouple constants from primitives. +cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1039): pow may not add proper constraints +cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! +cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1039): is it kosher to reassign like this? +cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1144): Add proper constraints for taking the log of +cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1039): pow may not add proper constraints +cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1039): Connect witness log_N to circuit size +cpp/src/barretenberg/commitment_schemes/commitment_key.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1131): Peak memory usage could be improved by +cpp/src/barretenberg/commitment_schemes/small_subgroup_ipa/small_subgroup_ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1194). Handle edge cases in PCS +cpp/src/barretenberg/commitment_schemes/small_subgroup_ipa/small_subgroup_ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1186). Insecure pattern. +cpp/src/barretenberg/commitment_schemes/small_subgroup_ipa/small_subgroup_ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1197) +cpp/src/barretenberg/commitment_schemes/small_subgroup_ipa/small_subgroup_ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1186). Insecure pattern. +cpp/src/barretenberg/eccvm/eccvm_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/989): refine access specifiers in flavors, this is +cpp/src/barretenberg/eccvm/eccvm_flavor.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/788): Move to normal composition once comfortable +cpp/src/barretenberg/eccvm/eccvm_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1025): make it so that PCSs inform the crs of +cpp/src/barretenberg/eccvm/msm_builder.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/973): Reinstate multitreading? +cpp/src/barretenberg/eccvm/eccvm_prover.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/939): Remove redundancy between +cpp/src/barretenberg/eccvm/eccvm_prover.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1240) Structured Polynomials in +cpp/src/barretenberg/goblin/goblin.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/798) unique_ptr use is a hack +cpp/src/barretenberg/goblin/goblin.hpp: // commitments (https://github.com/AztecProtocol/barretenberg/issues/871) which would otherwise appear in the +cpp/src/barretenberg/goblin/goblin.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/993): Some circuits (particularly on the first call +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/goblin/goblin.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/799): Ensure translation_evaluations are passed +cpp/src/barretenberg/goblin/mock_circuits.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/911): We require goblin ops to be added to the +cpp/src/barretenberg/goblin/mock_circuits.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/911): We require goblin ops to be added to the +cpp/src/barretenberg/plonk_honk_shared/composer/composer_lib.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1033): construct tables and counts at top of trace +cpp/src/barretenberg/plonk_honk_shared/composer/composer_lib.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1033): construct tables and counts at top of trace +cpp/src/barretenberg/plonk_honk_shared/composer/composer_lib.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1033): construct tables and counts at top of trace +cpp/src/barretenberg/plonk_honk_shared/library/grand_product_delta.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1158): Ensure correct construction of public input +cpp/src/barretenberg/plonk_honk_shared/library/grand_product_library.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/940):consider avoiding get_row if possible. +cpp/src/barretenberg/plonk_honk_shared/types/merkle_hash_type.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/426) +cpp/src/barretenberg/plonk_honk_shared/execution_trace/execution_trace_usage_tracker.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1152): should be able to use simply Range{ 0, +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/protogalaxy/folding_result.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/656): turn folding data into a struct +cpp/src/barretenberg/protogalaxy/protogalaxy_prover_internal.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1115): Iniitalize with first subrelation value to +cpp/src/barretenberg/protogalaxy/protogalaxy_prover_internal.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/745): make computation of perturbator more memory +cpp/src/barretenberg/protogalaxy/protogalaxy_prover_internal.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/751) Optimize memory +cpp/src/barretenberg/protogalaxy/protogalaxy_prover_internal.hpp: * @todo (https://github.com/AztecProtocol/barretenberg/issues/968) Make combiner tests better +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover_internal.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/764): generalize the computation of vanishing +cpp/src/barretenberg/protogalaxy/protogalaxy_prover_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1087): Verifier circuit for first IVC step is +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover_impl.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/764): Generalize the vanishing polynomial formula +cpp/src/barretenberg/protogalaxy/combiner.test.cpp: * @todo (https://github.com/AztecProtocol/barretenberg/issues/968) Make combiner tests better +cpp/src/barretenberg/protogalaxy/combiner.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/780): Improve combiner tests to check more than the +cpp/src/barretenberg/protogalaxy/combiner_example_gen.py:# TODO(https://github.com/AztecProtocol/barretenberg/issues/760): Delete this? +cpp/src/barretenberg/protogalaxy/protogalaxy.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/938): Parallelize this loop +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/878) +cpp/src/barretenberg/relations/ecc_vm/ecc_lookup_relation.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/750) Is this a bug? +cpp/src/barretenberg/relations/auxiliary_relation.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/757): Investigate optimizations. +cpp/src/barretenberg/relations/auxiliary_relation.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/757): If we sorted in +cpp/src/barretenberg/relations/databus_lookup_relation.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/940): avoid get_row if possible. +cpp/src/barretenberg/relations/logderiv_lookup_relation.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/940): avoid get_row if possible. +cpp/src/barretenberg/relations/relation_types.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/759): Optimize +cpp/src/barretenberg/stdlib_circuit_builders/op_queue/ecc_op_queue.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/1267): consider possible efficiency improvements +cpp/src/barretenberg/stdlib_circuit_builders/op_queue/ecc_op_queue.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/905): Can remove this with better handling of scalar +cpp/src/barretenberg/stdlib_circuit_builders/op_queue/ecc_ops_table.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/1267): multithread this functionality +cpp/src/barretenberg/stdlib_circuit_builders/databus.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1138): A default value added to every databus column to +cpp/src/barretenberg/stdlib_circuit_builders/mega_circuit_builder.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1066): This function adds valid (but arbitrary) gates to +cpp/src/barretenberg/stdlib_circuit_builders/mega_circuit_builder.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1138): Consider default value. +cpp/src/barretenberg/stdlib_circuit_builders/mega_circuit_builder.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1066): This function adds valid (but arbitrary) gates to +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1072): Unexpected jump in time to allocate all +cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/876) +cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/964): Clean the boilerplate up. +cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/877): Remove this Commitment template parameter +cpp/src/barretenberg/stdlib_circuit_builders/mega_recursive_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/983): Think about if these should be witnesses +cpp/src/barretenberg/stdlib_circuit_builders/mega_zk_flavor.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/877): Remove this Commitment template parameter +cpp/src/barretenberg/stdlib_circuit_builders/ultra_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/966): use inheritance +cpp/src/barretenberg/stdlib_circuit_builders/ultra_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/964): Clean the boilerplate +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_recursive_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/983): Think about if these should be witnesses +cpp/src/barretenberg/stdlib_circuit_builders/ultra_rollup_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/964): Clean the boilerplate +cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): This was formerly a single arithmetic gate. A +cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): Originally this was a single arithmetic gate. +cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/896): descrepency between above comment and the actual +cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): This method used to add a single arithmetic gate +cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): This was formerly a single arithmetic gate. A +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/870): reserve space in blocks here somehow? +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/870): reserve space in blocks here somehow? +cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/875): This method may return an incorrect value before +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_rollup_recursive_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/983): Think about if these should be witnesses +cpp/src/barretenberg/stdlib_circuit_builders/ultra_keccak_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1094): Add aggregation to the verifier contract so the +cpp/src/barretenberg/stdlib_circuit_builders/ultra_keccak_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/964): Clean the boilerplate +cpp/src/barretenberg/stdlib_circuit_builders/circuit_simulator.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/961): Ensure we can execute the simulator in the context of +cpp/src/barretenberg/stdlib_circuit_builders/mock_circuits.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/902) +cpp/src/barretenberg/sumcheck/sumcheck.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1102): this makes the module not empty (note the comment +cpp/src/barretenberg/sumcheck/sumcheck.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1144): Add proper constraints for taking the log of +cpp/src/barretenberg/sumcheck/sumcheck.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! +cpp/src/barretenberg/sumcheck/sumcheck.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1144): Add proper constraints for taking the log of +cpp/src/barretenberg/sumcheck/sumcheck.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! +cpp/src/barretenberg/sumcheck/sumcheck.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1197) +cpp/src/barretenberg/sumcheck/sumcheck.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! +cpp/src/barretenberg/sumcheck/sumcheck_round.hpp: // https://github.com/AztecProtocol/barretenberg/issues/998): Avoids the scenario where the assert_equal +cpp/src/barretenberg/translator_vm/translator_circuit_builder.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1266): Evaluate whether this method can reuse existing data +cpp/src/barretenberg/translator_vm/translator_circuit_builder.fuzzer.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/869): composer generates the initial challenge through +cpp/src/barretenberg/translator_vm/translator_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/907) +cpp/src/barretenberg/translator_vm/translator_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/810) +cpp/src/barretenberg/translator_vm/translator_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/810) +cpp/src/barretenberg/ultra_honk/mega_honk.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1240) Structured Polynomials in +cpp/src/barretenberg/ultra_honk/mega_honk.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1240) Structured Polynomials in +cpp/src/barretenberg/ultra_honk/mega_honk.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1158) +cpp/src/barretenberg/ultra_honk/mega_honk.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1240) Structured Polynomials in +cpp/src/barretenberg/ultra_honk/merge_prover.cpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/1267): consider possible efficiency improvements +cpp/src/barretenberg/ultra_honk/merge_prover.cpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/1270): connect [t_j] used herein those used in PG verifier +cpp/src/barretenberg/ultra_honk/decider_proving_key.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/914): q_arith is currently used +cpp/src/barretenberg/ultra_honk/decider_proving_key.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1193): can potentially improve memory footprint +cpp/src/barretenberg/ultra_honk/decider_proving_key.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/905): This is adding ops to the op queue but NOT to +cpp/src/barretenberg/ultra_honk/decider_proving_key.hpp: // failure once https://github.com/AztecProtocol/barretenberg/issues/746 is resolved. +cpp/src/barretenberg/ultra_honk/ultra_transcript.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1182): Handle in ProofSurgeon. +cpp/src/barretenberg/vm/avm/generated/recursive_verifier.cpp:// TODO(#991): (see https://github.com/AztecProtocol/barretenberg/issues/991) +cpp/src/barretenberg/vm/avm/generated/recursive_verifier.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/995): generate this challenge properly. +cpp/src/barretenberg/trace_to_polynomials/trace_to_polynomials.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/398): implicit arithmetization/flavor consistency +✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/ultra_vanilla_client_ivc/ultra_vanilla_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1176) Use UltraKeccakZKProver when it exists +cpp/src/barretenberg/ultra_vanilla_client_ivc/ultra_vanilla_client_ivc.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1177) Implement failure tests +cpp/src/barretenberg/api/gate_count.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/1126): split this into separate Plonk and Honk functions as +cpp/src/barretenberg/api/gate_count.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1180): Try to only do this when necessary. +cpp/src/barretenberg/api/prove_tube.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1025) +cpp/src/barretenberg/api/prove_tube.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1048): INSECURE - make this tube proof actually use +cpp/src/barretenberg/api/prove_tube.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1069): Add aggregation to goblin recursive verifiers. +cpp/src/barretenberg/api/api_ultra_plonk.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/811) adapt for grumpkin +cpp/src/barretenberg/api/api.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1256): Implement +cpp/src/barretenberg/api/api.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1255): deprecate or include as flag to `prove` +cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1163) set these dynamically +cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1162): Efficiently unify ACIR stack parsing +cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1163) set these dynamically +cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1163): Set these dynamically +cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1163) set these dynamically +cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1181): Use enum for honk_recursion. +cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1163) set these dynamically +cpp/src/barretenberg/constants.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1046): Remove the need for const sized proofs +cpp/src/barretenberg/constants.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1193): potentially reenable for better memory performance +✅ /workspaces/aztec-packages/barretenberg/ts/src/barretenberg/index.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? +ts/src/crs/node/ignition_files_crs.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/811): proper abstraction from Grumpkin which does not have g2 +✅ /workspaces/aztec-packages/barretenberg/ts/src/examples/simple.rawtest.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? +✅ /workspaces/aztec-packages/barretenberg/ts/src/examples/simple.test.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? +ts/src/main.ts:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1126): split this into separate Plonk and Honk functions as their gate count differs +ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1248): Get rid of this call to avoid building the circuit twice. +ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1126): use specific UltraPlonk function +ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/811): remove subgroupSizeOverride hack for goblin +✅ /workspaces/aztec-packages/barretenberg/ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? +ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1248): Get rid of this call to avoid building the circuit twice. +ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1126): use specific UltraHonk function +ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/811): remove subgroupSizeOverride hack for goblin +sol/src/honk/BaseHonkVerifier.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1219) +sol/src/honk/Relations.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/757): If we sorted in +sol/src/honk/Transcript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1098): memcpy +sol/src/honk/Transcript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1098): memcpy +sol/src/honk/Transcript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1234) +sol/src/honk/Transcript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1235) +sol/src/honk/Transcript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1236) +sol/src/honk/ZKTranscript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1098): memcpy +sol/src/honk/ZKTranscript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1098): memcpy From c9d7e3e2ecb51e98e6b8a048f41f37e96fb306be Mon Sep 17 00:00:00 2001 From: cody Date: Thu, 13 Mar 2025 14:53:12 +0000 Subject: [PATCH 2/3] Looks like this has been moved --- barretenberg/acir_tests/run_acir_tests.sh | 146 ---------------------- 1 file changed, 146 deletions(-) delete mode 100755 barretenberg/acir_tests/run_acir_tests.sh diff --git a/barretenberg/acir_tests/run_acir_tests.sh b/barretenberg/acir_tests/run_acir_tests.sh deleted file mode 100755 index 86dfaff6c6e4..000000000000 --- a/barretenberg/acir_tests/run_acir_tests.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/env bash -# DEPRECATED: USE bootstrap.sh test -#!/usr/bin/env bash -# Env var overrides: -# BIN: to specify a different binary to test with (e.g. bb.js or bb.js-dev). -# VERBOSE: to enable logging for each test. -# RECURSIVE: to enable --recursive for each test. -set -eu - -# Catch when running in parallel -error_file="/tmp/error.$$" -pids=() - -# Handler for SIGCHLD, cleanup if child exit with error -handle_sigchild() { - for pid in "${pids[@]}"; do - # If process is no longer running - if ! kill -0 "$pid" 2>/dev/null; then - # Wait for the process and get exit status - wait "$pid" - status=$? - - # If exit status is error - if [ $status -ne 0 ]; then - # Create error file - touch "$error_file" - fi - fi - done -} -trap handle_sigchild SIGCHLD - -BIN=${BIN:-../cpp/build/bin/bb} -FLOW=${FLOW:-prove_and_verify} -HONK=${HONK:-false} -CLIENT_IVC_SKIPS=${CLIENT_IVC_SKIPS:-false} -CRS_PATH=~/.bb-crs -BRANCH=master -VERBOSE=${VERBOSE:-} -TEST_NAMES=("$@") -# We get little performance benefit over 16 cores (in fact it can be worse). -HARDWARE_CONCURRENCY=${HARDWARE_CONCURRENCY:-16} -RECURSIVE=${RECURSIVE:-false} - -FLOW_SCRIPT=$(realpath ./flows/${FLOW}.sh) - -if [ -f $BIN ]; then - BIN=$(realpath $BIN) -else - BIN=$(realpath $(which $BIN)) -fi - -export BIN CRS_PATH VERBOSE BRANCH RECURSIVE - -cd acir_tests - -# Convert them to array -# There are no issues with the tests below but as they check proper handling of dependencies or circuits that are part of a workspace -# running these require extra glue code so they are skipped for the purpose of this script -SKIP_ARRAY=(diamond_deps_0 workspace workspace_default_member) - -# if HONK is false, we should skip verify_honk_proof -if [ "$HONK" = false ]; then - # Don't run programs with Honk recursive verifier - SKIP_ARRAY+=(verify_honk_proof double_verify_honk_proof verify_rollup_honk_proof) -fi - -if [ "$HONK" = true ]; then - # Don't run programs with Plonk recursive verifier(s) - SKIP_ARRAY+=(single_verify_proof double_verify_proof double_verify_nested_proof verify_rollup_honk_proof) -fi - -if [ "$CLIENT_IVC_SKIPS" = true ]; then - # At least for now, skip folding tests that fail when run against ClientIVC. - # This is not a regression--folding was not being properly tested. - # TODO(https://github.com/AztecProtocol/barretenberg/issues/1164): Resolve this - # The reason for failure is that compile-time folding, as initially conceived, is - # only supported by ClientIVC through hacks. ClientIVC in Aztec is ultimately to be - # used through runtime folding, since the kernels that are needed are detected and - # constructed at runtime in Aztec's typescript proving interface. ClientIVC appends - # folding verifiers and does databus and Goblin merge work depending on its inputs, - # detecting which circuits are Aztec kernels. These tests may simple fail for trivial - # reasons, e.g. because the number of circuits in the stack is odd. - SKIP_ARRAY+=(fold_basic_nested_call fold_fibonacci fold_numeric_generic_poseidon ram_blowup_regression) -fi - - -function test() { - cd $1 - - set +e - start=$SECONDS - $FLOW_SCRIPT - result=$? - end=$SECONDS - duration=$((end - start)) - set -eu - - if [ $result -eq 0 ]; then - echo -e "\033[32mPASSED\033[0m ($duration s)" - else - echo -e "\033[31mFAILED\033[0m" - touch "$error_file" - exit 1 - fi - - cd .. -} - -if [ "${#TEST_NAMES[@]}" -ne 0 ]; then - for NAMED_TEST in "${TEST_NAMES[@]}"; do - echo -n "Testing $NAMED_TEST... " - test $NAMED_TEST - done -else - for TEST_NAME in $(find -maxdepth 1 -type d -not -path '.' | sed 's|^\./||'); do - echo -n "Testing $TEST_NAME... " - - if [[ " ${SKIP_ARRAY[@]} " =~ " $TEST_NAME" ]]; then - echo -e "\033[33mSKIPPED\033[0m (hardcoded to skip)" - continue - fi - - if [[ ! -f ./$TEST_NAME/target/program.json || ! -f ./$TEST_NAME/target/witness.gz ]]; then - echo -e "\033[33mSKIPPED\033[0m (uncompiled)" - continue - fi - - # If parallel flag is set, run in parallel - if [ -n "${PARALLEL:-}" ]; then - test $TEST_NAME & - else - test $TEST_NAME - fi - done -fi - -wait - -# Check for parallel errors -# If error file exists, exit with error -if [ -f "$error_file" ]; then - rm "$error_file" - echo "Error occurred in one or more child processes. Exiting..." - exit 1 -fi From fa24b7d01b5b70d7eee898279abbc9224a21878e Mon Sep 17 00:00:00 2001 From: cody Date: Thu, 13 Mar 2025 14:54:37 +0000 Subject: [PATCH 3/3] Remove log/scratch files --- check-off | 10 -- issues | 310 ------------------------------------------------------ 2 files changed, 320 deletions(-) delete mode 100644 check-off delete mode 100644 issues diff --git a/check-off b/check-off deleted file mode 100644 index f89ad41c49d3..000000000000 --- a/check-off +++ /dev/null @@ -1,10 +0,0 @@ -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1072): Unexpected jump in time to allocate all -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_recursive_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/983): Think about if these should be witnesses -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/870): reserve space in blocks here somehow? -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/870): reserve space in blocks here somehow? -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_rollup_recursive_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/983): Think about if these should be witnesses -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/ultra_vanilla_client_ivc/ultra_vanilla_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1176) Use UltraKeccakZKProver when it exists -✅ /workspaces/aztec-packages/barretenberg/ts/src/barretenberg/index.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? -✅ /workspaces/aztec-packages/barretenberg/ts/src/examples/simple.rawtest.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? -✅ /workspaces/aztec-packages/barretenberg/ts/src/examples/simple.test.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? -✅ /workspaces/aztec-packages/barretenberg/ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? diff --git a/issues b/issues deleted file mode 100644 index 5ec89809a4bc..000000000000 --- a/issues +++ /dev/null @@ -1,310 +0,0 @@ -acir_tests/flows/prove_then_verify_tube.sh: # TODO(https://github.com/AztecProtocol/barretenberg/issues/1252): deprecate in favor of normal proving flow -✅ /workspaces/aztec-packages/barretenberg/acir_tests/bootstrap.sh: # TODO(https://github.com/AztecProtocol/barretenberg/issues/1108): problem regardless the proof system used -acir_tests/bootstrap.sh: # TODO(https://github.com/AztecProtocol/barretenberg/issues/1253) Deprecate command and construct TOML (e.g., via yq or via conversion from a JSON) -acir_tests/bootstrap.sh:# TODO(https://github.com/AztecProtocol/barretenberg/issues/1254): More complete testing, including failure tests -acir_tests/bootstrap.sh: # TODO(https://github.com/AztecProtocol/barretenberg/issues/1265) fix acir benchmarking -✅ /workspaces/aztec-packages/barretenberg/acir_tests/run_acir_tests.sh:# TODO(https://github.com/AztecProtocol/barretenberg/issues/1108): problem regardless the proof system used -acir_tests/run_acir_tests.sh: # TODO(https://github.com/AztecProtocol/barretenberg/issues/1164): Resolve this -cpp/src/barretenberg/bb/main.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1257): Remove unused/seemingly unnecessary flags. -cpp/src/barretenberg/bb/main.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1258): Improve defaults. -cpp/src/barretenberg/benchmark/protogalaxy_bench/protogalaxy.bench.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/938): Parallelize this loop -cpp/src/barretenberg/benchmark/protogalaxy_rounds_bench/protogalaxy_rounds.bench.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/938): Parallelize this loop, also extend to more than -cpp/src/barretenberg/benchmark/ultra_bench/ultra_honk_rounds.bench.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/761) benchmark both sparse and dense circuits -FORMAT cpp/src/barretenberg/benchmark/ultra_bench/ultra_plonk_rounds.bench.cpp: // TODO: https://github.com/AztecProtocol/barretenberg/issues/761 benchmark both sparse and dense circuits -cpp/src/barretenberg/crypto/ecdsa/ecdsa.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/659) -cpp/src/barretenberg/crypto/schnorr/schnorr.tcc: // TODO(https://github.com/AztecProtocol/barretenberg/issues/895): securely erase `k` -cpp/src/barretenberg/dsl/acir_format/avm_recursion_constraint.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/996): investigate whether assert_equal on public -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_format/ivc_recursion_constraint.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1148): logic in this file is incomplete. See issue for -cpp/src/barretenberg/dsl/acir_format/acir_integration.test.cpp: /*honk_recursion=*/0); // TODO(https://github.com/AztecProtocol/barretenberg/issues/1013): -cpp/src/barretenberg/dsl/acir_format/acir_integration.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/994): Run all tests -cpp/src/barretenberg/dsl/acir_format/acir_integration.test.cpp: test_name, /*honk_recursion=*/0); // TODO(https://github.com/AztecProtocol/barretenberg/issues/1013): -cpp/src/barretenberg/dsl/acir_format/acir_integration.test.cpp: test_name, /*honk_recursion=*/0); // TODO(https://github.com/AztecProtocol/barretenberg/issues/1013): -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/816): The initialization of the witness indices a,b,c -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/816): May need to adjust the pt.a == witness_idx -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/816): The initialization of the witness indices a,b,c -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/816): May need to adjust the quad.a == witness_idx -cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1074): Eventually arg.proof_type will -cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/927): Move to using just -cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/927): Move to using just -cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp: honk_recursion); // TODO(https://github.com/AztecProtocol/barretenberg/issues/1013): -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/817): disable these for MegaHonk for now since we're -cpp/src/barretenberg/dsl/acir_format/block_constraint.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1165): is_kernel must be known prior to this stage -cpp/src/barretenberg/dsl/acir_format/recursion_constraint.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/996): Create similar comments for Honk. -cpp/src/barretenberg/dsl/acir_format/honk_recursion_constraint.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/996): investigate whether assert_equal on public inputs -cpp/src/barretenberg/dsl/acir_format/acir_format.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1161) Refactor this function -cpp/src/barretenberg/dsl/acir_format/acir_format.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1161) Refactor this function -cpp/src/barretenberg/dsl/acir_proofs/honk_zk_contract.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1098): memcpy -cpp/src/barretenberg/dsl/acir_proofs/honk_zk_contract.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1098): memcpy -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/c_bind.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1116): remove manual setting of is_kernel once databus -cpp/src/barretenberg/ecc/fields/field_declarations.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/851): We should move away from this hack by -cpp/src/barretenberg/ecc/fields/field_declarations.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/851): Unify these APIs. -cpp/src/barretenberg/ecc/fields/field_impl.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1166) -cpp/src/barretenberg/ecc/groups/affine_element.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/909): These tests are not typed for no reason -cpp/src/barretenberg/ecc/groups/element.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/908) point at inifinty isn't handled -cpp/src/barretenberg/ecc/scalar_multiplication/sorted_msm.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1130): This class is largely superceded by the newer -cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1135): Optimize so it's only scalars.size(). -cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1135): We don't need start_index more scalars here. -cpp/src/barretenberg/ecc/scalar_multiplication/scalar_multiplication.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1135): We don't need start_index more scalars here. -cpp/src/barretenberg/honk/proof_system/logderivative_library.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/940): avoid get_row if possible. -cpp/src/barretenberg/numeric/uintx/uintx_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1051): investigate, why) -cpp/src/barretenberg/plonk/composer/standard_composer.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/392): Composer type -cpp/src/barretenberg/plonk/composer/ultra_composer.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/392): Composer type -cpp/src/barretenberg/polynomials/univariate.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/714) Try out std::valarray? -cpp/src/barretenberg/polynomials/barycentric.hpp:/* TODO(https://github.com/AztecProtocol/barretenberg/issues/10): This could or should be improved in various ways. In -cpp/src/barretenberg/polynomials/barycentric.hpp: * @todo: TODO(https://github.com/AztecProtocol/barretenberg/issues/713) Optimize with lookup tables? -cpp/src/barretenberg/polynomials/gate_separator.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/864): This computation is asymtotically slow as it -cpp/src/barretenberg/polynomials/polynomial.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1113): Optimizing based on actual sizes would involve using -cpp/src/barretenberg/polynomials/polynomial.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1113): Optimizing based on actual sizes would involve using -cpp/src/barretenberg/polynomials/polynomial.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1096): Make this a Polynomial with -cpp/src/barretenberg/solidity_helpers/honk_proof_gen.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1227) -cpp/src/barretenberg/stdlib/hash/keccak/keccak.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/662) -cpp/src/barretenberg/stdlib/hash/keccak/keccak.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/662) -cpp/src/barretenberg/stdlib/hash/poseidon2/poseidon2_permutation.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): dummy gate required since the last external gate -cpp/src/barretenberg/stdlib/hash/poseidon2/poseidon2_permutation.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): dummy gate required since the last internal gate -cpp/src/barretenberg/stdlib/primitives/address/address.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/376): Establish whether this type should be here at all. -cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/850): audit the evaluate_linear_identity function -cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): dummy necessary for preceeding big add -cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/1014) Improve the efficiency of this function. -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/1015) Security of this (as part of the whole -cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/1014) Improve the efficiency of this function. -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/1015) Security of this (as part of the whole -cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/660): null context _should_ mean that both are -cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/999): get native values efficiently (i.e. if u512 -cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/677) -cpp/src/barretenberg/stdlib/primitives/bigfield/bigfield_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/998): Something is fishy here -cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_batch_mul.hpp: * @todo : TODO(https://github.com/AztecProtocol/barretenberg/issues/1001) when we nuke standard and turbo plonk we -cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_edgecase_handling.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1002): if both point and scalar are constant, -cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1043): this test will fail with num_points is 1 -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp: GTEST_SKIP() << "https://github.com/AztecProtocol/barretenberg/issues/707"; -cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_impl.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/657): This function is untested -cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/971): This will fail when the two elements are the -cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/663) -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_goblin.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/707) max_num_bits is unused; could implement and -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp: requires(IsNotMegaBuilder) // TODO(https://github.com/AztecProtocol/barretenberg/issues/707) -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp: requires(IsNotMegaBuilder) // TODO(https://github.com/AztecProtocol/barretenberg/issues/707) -cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/664) -cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/665) -cpp/src/barretenberg/stdlib/primitives/byte_array/byte_array.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1082): Addition could be optimized -cpp/src/barretenberg/stdlib/primitives/field/field_conversion.cpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/850): audit this function more carefully -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/array.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/666): -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/primitives/field/array.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/666): -cpp/src/barretenberg/stdlib/primitives/field/field_conversion.hpp: * @todo https://github.com/AztecProtocol/barretenberg/issues/1065 optimise validate_on_curve and check points -cpp/src/barretenberg/stdlib/primitives/field/field.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/446): optimize by allowing smaller expoonent -cpp/src/barretenberg/stdlib/primitives/field/field.cpp: *It should make the circuits smaller. https://github.com/AztecProtocol/barretenberg/issues/1052 -cpp/src/barretenberg/stdlib/primitives/field/field.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1039): Use of this function in ZM verifier is insecure. -cpp/src/barretenberg/stdlib/primitives/group/cycle_group.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1020): Re-enable these. -cpp/src/barretenberg/stdlib/primitives/group/cycle_group.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1067): This ASSERT is missing in the constructor but -cpp/src/barretenberg/stdlib/primitives/group/cycle_group.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1022): ensure lo and hi are in bb::fr modulus not -cpp/src/barretenberg/stdlib/primitives/group/cycle_group.cpp: * @todo (https://github.com/AztecProtocol/barretenberg/issues/1016): Optimise this method -cpp/src/barretenberg/stdlib/primitives/plookup/plookup.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/953): Re-enable these tests -cpp/src/barretenberg/stdlib/primitives/databus/databus.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/1138): Resolve issues around default commitment value -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.cpp: * @todo (https://github.com/AztecProtocol/barretenberg/issues/934): Add logic for accumulating the pairing points -cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1069): fix this by taking it from the output instead of -cpp/src/barretenberg/stdlib/client_ivc_verifier/client_ivc_recursive_verifier.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1069): fix this by taking it from the output -cpp/src/barretenberg/stdlib/eccvm_verifier/ecc_relation_consistency.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/997): Actually create consistency tests for ECCVM relations -cpp/src/barretenberg/stdlib/eccvm_verifier/eccvm_recursive_verifier.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1040): Extract circuit size as BF (field_t) then -cpp/src/barretenberg/stdlib/eccvm_verifier/eccvm_recursive_verifier.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/991): switch recursive verifiers to StdlibProof -cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursive_verifier.hpp: * @todo(https://github.com/AztecProtocol/barretenberg/issues/1021): The values returned by the recursive verifiers -cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursive_verifier.hpp: * @todo(https://github.com/AztecProtocol/barretenberg/issues/991): The GoblinProof should aleady be a stdlib proof -cpp/src/barretenberg/stdlib/goblin_verifier/goblin.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/787) Expand these tests. -cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursion.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/787) Expand these tests. -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursive_verifier.cpp: * @todo https://github.com/AztecProtocol/barretenberg/issues/934: Add logic for accumulating the pairing points -cpp/src/barretenberg/stdlib/goblin_verifier/goblin_recursive_verifier.cpp: // (see https://github.com/AztecProtocol/barretenberg/issues/991) -cpp/src/barretenberg/stdlib/goblin_verifier/merge_verifier.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/800) Testing cleanup -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/goblin_verifier/merge_verifier.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1024): Ultra fails, possibly due to repeated points in -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ipa_accumulator.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1009): Make the us vector an array after we constify eccvm -cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1182): Handle in ProofSurgeon. -cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/995): generate this challenge properly. -cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/995): generate recursion separator challenge properly. -cpp/src/barretenberg/stdlib/plonk_recursion/aggregation_state/aggregation_state.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/911): These are pairing points extracted from a valid -cpp/src/barretenberg/stdlib/plonk_recursion/aggregation_state/aggregation_state.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/911): These are pairing points extracted from a valid -cpp/src/barretenberg/stdlib/protogalaxy_verifier/protogalaxy_recursive_verifier.test.cpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/744): make testing utility with functionality shared -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/protogalaxy_verifier/protogalaxy_recursive_verifier.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/844): Fold the recursive folding verifier in -cpp/src/barretenberg/stdlib/transcript/transcript.test.cpp: * @todo(https://github.com/AztecProtocol/barretenberg/issues/1064) Add more transcript tests for both curves -cpp/src/barretenberg/stdlib/transcript/transcript.test.cpp: * @todo(https://github.com/AztecProtocol/barretenberg/issues/1064) Add more transcript tests for both curves -cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/990): Establish whether mini_circuit_size pattern is -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/986): Ensure the translation is also recursively -cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/980): Add failing tests after we have a proper shared -cpp/src/barretenberg/transcript/transcript.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1226): univariates should also be logged -cpp/src/barretenberg/transcript/transcript.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/832): investigate why -cpp/src/barretenberg/circuit_checker/circuit_checker.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/928): Reorganize -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/circuit_checker/ultra_circuit_checker.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/870): Currently we check all relations for each block. -cpp/src/barretenberg/client_ivc/client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1069): Do proper aggregation with merge recursive -cpp/src/barretenberg/client_ivc/client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1048): link these properly, likely insecure -cpp/src/barretenberg/client_ivc/client_ivc.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/911): We require goblin ops to be added to the -cpp/src/barretenberg/commitment_schemes/gemini/gemini.hpp: * @note TODO(https://github.com/AztecProtocol/barretenberg/issues/1223): There are certain operations herein that -cpp/src/barretenberg/commitment_schemes/gemini/gemini.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! -cpp/src/barretenberg/commitment_schemes/gemini/gemini_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1159): Decouple constants from primitives. -cpp/src/barretenberg/commitment_schemes/gemini/gemini_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1194). Handle edge cases in PCS -cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1150): Hash more things here. -cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1159): Decouple constant from IPA. -cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1140): Use batch_invert. -cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: * @todo (https://github.com/AztecProtocol/barretenberg/issues/1018): simulator should use the native verify -cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1144): need checks here on poly_length. -cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! -cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1144): Add proper constraints for taking the log of a field_t. -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/912): Return the proper VerifierAccumulator once -cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: * @todo (https://github.com/AztecProtocol/barretenberg/issues/1018): simulator should use the native verify -cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1144): need checks here on poly_length. -cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! -cpp/src/barretenberg/commitment_schemes/ipa/ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! -cpp/src/barretenberg/commitment_schemes/ipa/ipa.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1159): Decouple constant from IPA. -cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp: * TODO (https://github.com/AztecProtocol/barretenberg/issues/1084) Reduce the size of batch_mul further by eliminating -cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp: bool* consistency_checked = nullptr, // TODO(https://github.com/AztecProtocol/barretenberg/issues/1191). -cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1159): Decouple constants from primitives. -cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure! -cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1151) Avoid erasing vector elements. -cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure! -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: * @todo https://github.com/AztecProtocol/barretenberg/issues/1030: document concatenation trick -cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1159): Decouple constants from primitives. -cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1039): pow may not add proper constraints -cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! -cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1039): is it kosher to reassign like this? -cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1144): Add proper constraints for taking the log of -cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1039): pow may not add proper constraints -cpp/src/barretenberg/commitment_schemes/zeromorph/zeromorph.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1039): Connect witness log_N to circuit size -cpp/src/barretenberg/commitment_schemes/commitment_key.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1131): Peak memory usage could be improved by -cpp/src/barretenberg/commitment_schemes/small_subgroup_ipa/small_subgroup_ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1194). Handle edge cases in PCS -cpp/src/barretenberg/commitment_schemes/small_subgroup_ipa/small_subgroup_ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1186). Insecure pattern. -cpp/src/barretenberg/commitment_schemes/small_subgroup_ipa/small_subgroup_ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1197) -cpp/src/barretenberg/commitment_schemes/small_subgroup_ipa/small_subgroup_ipa.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1186). Insecure pattern. -cpp/src/barretenberg/eccvm/eccvm_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/989): refine access specifiers in flavors, this is -cpp/src/barretenberg/eccvm/eccvm_flavor.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/788): Move to normal composition once comfortable -cpp/src/barretenberg/eccvm/eccvm_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1025): make it so that PCSs inform the crs of -cpp/src/barretenberg/eccvm/msm_builder.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/973): Reinstate multitreading? -cpp/src/barretenberg/eccvm/eccvm_prover.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/939): Remove redundancy between -cpp/src/barretenberg/eccvm/eccvm_prover.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1240) Structured Polynomials in -cpp/src/barretenberg/goblin/goblin.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/798) unique_ptr use is a hack -cpp/src/barretenberg/goblin/goblin.hpp: // commitments (https://github.com/AztecProtocol/barretenberg/issues/871) which would otherwise appear in the -cpp/src/barretenberg/goblin/goblin.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/993): Some circuits (particularly on the first call -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/goblin/goblin.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/799): Ensure translation_evaluations are passed -cpp/src/barretenberg/goblin/mock_circuits.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/911): We require goblin ops to be added to the -cpp/src/barretenberg/goblin/mock_circuits.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/911): We require goblin ops to be added to the -cpp/src/barretenberg/plonk_honk_shared/composer/composer_lib.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1033): construct tables and counts at top of trace -cpp/src/barretenberg/plonk_honk_shared/composer/composer_lib.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1033): construct tables and counts at top of trace -cpp/src/barretenberg/plonk_honk_shared/composer/composer_lib.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1033): construct tables and counts at top of trace -cpp/src/barretenberg/plonk_honk_shared/library/grand_product_delta.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1158): Ensure correct construction of public input -cpp/src/barretenberg/plonk_honk_shared/library/grand_product_library.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/940):consider avoiding get_row if possible. -cpp/src/barretenberg/plonk_honk_shared/types/merkle_hash_type.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/426) -cpp/src/barretenberg/plonk_honk_shared/execution_trace/execution_trace_usage_tracker.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1152): should be able to use simply Range{ 0, -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/protogalaxy/folding_result.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/656): turn folding data into a struct -cpp/src/barretenberg/protogalaxy/protogalaxy_prover_internal.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1115): Iniitalize with first subrelation value to -cpp/src/barretenberg/protogalaxy/protogalaxy_prover_internal.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/745): make computation of perturbator more memory -cpp/src/barretenberg/protogalaxy/protogalaxy_prover_internal.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/751) Optimize memory -cpp/src/barretenberg/protogalaxy/protogalaxy_prover_internal.hpp: * @todo (https://github.com/AztecProtocol/barretenberg/issues/968) Make combiner tests better -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover_internal.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/764): generalize the computation of vanishing -cpp/src/barretenberg/protogalaxy/protogalaxy_prover_impl.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1087): Verifier circuit for first IVC step is -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover_impl.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/764): Generalize the vanishing polynomial formula -cpp/src/barretenberg/protogalaxy/combiner.test.cpp: * @todo (https://github.com/AztecProtocol/barretenberg/issues/968) Make combiner tests better -cpp/src/barretenberg/protogalaxy/combiner.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/780): Improve combiner tests to check more than the -cpp/src/barretenberg/protogalaxy/combiner_example_gen.py:# TODO(https://github.com/AztecProtocol/barretenberg/issues/760): Delete this? -cpp/src/barretenberg/protogalaxy/protogalaxy.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/938): Parallelize this loop -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/protogalaxy/protogalaxy_prover.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/878) -cpp/src/barretenberg/relations/ecc_vm/ecc_lookup_relation.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/750) Is this a bug? -cpp/src/barretenberg/relations/auxiliary_relation.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/757): Investigate optimizations. -cpp/src/barretenberg/relations/auxiliary_relation.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/757): If we sorted in -cpp/src/barretenberg/relations/databus_lookup_relation.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/940): avoid get_row if possible. -cpp/src/barretenberg/relations/logderiv_lookup_relation.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/940): avoid get_row if possible. -cpp/src/barretenberg/relations/relation_types.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/759): Optimize -cpp/src/barretenberg/stdlib_circuit_builders/op_queue/ecc_op_queue.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/1267): consider possible efficiency improvements -cpp/src/barretenberg/stdlib_circuit_builders/op_queue/ecc_op_queue.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/905): Can remove this with better handling of scalar -cpp/src/barretenberg/stdlib_circuit_builders/op_queue/ecc_ops_table.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/1267): multithread this functionality -cpp/src/barretenberg/stdlib_circuit_builders/databus.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1138): A default value added to every databus column to -cpp/src/barretenberg/stdlib_circuit_builders/mega_circuit_builder.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1066): This function adds valid (but arbitrary) gates to -cpp/src/barretenberg/stdlib_circuit_builders/mega_circuit_builder.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1138): Consider default value. -cpp/src/barretenberg/stdlib_circuit_builders/mega_circuit_builder.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1066): This function adds valid (but arbitrary) gates to -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1072): Unexpected jump in time to allocate all -cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp: * @todo TODO(https://github.com/AztecProtocol/barretenberg/issues/876) -cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/964): Clean the boilerplate up. -cpp/src/barretenberg/stdlib_circuit_builders/mega_flavor.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/877): Remove this Commitment template parameter -cpp/src/barretenberg/stdlib_circuit_builders/mega_recursive_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/983): Think about if these should be witnesses -cpp/src/barretenberg/stdlib_circuit_builders/mega_zk_flavor.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/877): Remove this Commitment template parameter -cpp/src/barretenberg/stdlib_circuit_builders/ultra_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/966): use inheritance -cpp/src/barretenberg/stdlib_circuit_builders/ultra_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/964): Clean the boilerplate -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_recursive_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/983): Think about if these should be witnesses -cpp/src/barretenberg/stdlib_circuit_builders/ultra_rollup_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/964): Clean the boilerplate -cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): This was formerly a single arithmetic gate. A -cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): Originally this was a single arithmetic gate. -cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/896): descrepency between above comment and the actual -cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): This method used to add a single arithmetic gate -cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/879): This was formerly a single arithmetic gate. A -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/870): reserve space in blocks here somehow? -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/870): reserve space in blocks here somehow? -cpp/src/barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/875): This method may return an incorrect value before -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/stdlib_circuit_builders/ultra_rollup_recursive_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/983): Think about if these should be witnesses -cpp/src/barretenberg/stdlib_circuit_builders/ultra_keccak_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1094): Add aggregation to the verifier contract so the -cpp/src/barretenberg/stdlib_circuit_builders/ultra_keccak_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/964): Clean the boilerplate -cpp/src/barretenberg/stdlib_circuit_builders/circuit_simulator.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/961): Ensure we can execute the simulator in the context of -cpp/src/barretenberg/stdlib_circuit_builders/mock_circuits.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/902) -cpp/src/barretenberg/sumcheck/sumcheck.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1102): this makes the module not empty (note the comment -cpp/src/barretenberg/sumcheck/sumcheck.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1144): Add proper constraints for taking the log of -cpp/src/barretenberg/sumcheck/sumcheck.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! -cpp/src/barretenberg/sumcheck/sumcheck.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1144): Add proper constraints for taking the log of -cpp/src/barretenberg/sumcheck/sumcheck.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! -cpp/src/barretenberg/sumcheck/sumcheck.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1197) -cpp/src/barretenberg/sumcheck/sumcheck.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1114): insecure dummy_round derivation! -cpp/src/barretenberg/sumcheck/sumcheck_round.hpp: // https://github.com/AztecProtocol/barretenberg/issues/998): Avoids the scenario where the assert_equal -cpp/src/barretenberg/translator_vm/translator_circuit_builder.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1266): Evaluate whether this method can reuse existing data -cpp/src/barretenberg/translator_vm/translator_circuit_builder.fuzzer.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/869): composer generates the initial challenge through -cpp/src/barretenberg/translator_vm/translator_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/907) -cpp/src/barretenberg/translator_vm/translator_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/810) -cpp/src/barretenberg/translator_vm/translator_flavor.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/810) -cpp/src/barretenberg/ultra_honk/mega_honk.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1240) Structured Polynomials in -cpp/src/barretenberg/ultra_honk/mega_honk.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1240) Structured Polynomials in -cpp/src/barretenberg/ultra_honk/mega_honk.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1158) -cpp/src/barretenberg/ultra_honk/mega_honk.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1240) Structured Polynomials in -cpp/src/barretenberg/ultra_honk/merge_prover.cpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/1267): consider possible efficiency improvements -cpp/src/barretenberg/ultra_honk/merge_prover.cpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/1270): connect [t_j] used herein those used in PG verifier -cpp/src/barretenberg/ultra_honk/decider_proving_key.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/914): q_arith is currently used -cpp/src/barretenberg/ultra_honk/decider_proving_key.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1193): can potentially improve memory footprint -cpp/src/barretenberg/ultra_honk/decider_proving_key.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/905): This is adding ops to the op queue but NOT to -cpp/src/barretenberg/ultra_honk/decider_proving_key.hpp: // failure once https://github.com/AztecProtocol/barretenberg/issues/746 is resolved. -cpp/src/barretenberg/ultra_honk/ultra_transcript.test.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1182): Handle in ProofSurgeon. -cpp/src/barretenberg/vm/avm/generated/recursive_verifier.cpp:// TODO(#991): (see https://github.com/AztecProtocol/barretenberg/issues/991) -cpp/src/barretenberg/vm/avm/generated/recursive_verifier.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/995): generate this challenge properly. -cpp/src/barretenberg/trace_to_polynomials/trace_to_polynomials.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/398): implicit arithmetization/flavor consistency -✅ /workspaces/aztec-packages/barretenberg/cpp/src/barretenberg/ultra_vanilla_client_ivc/ultra_vanilla_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1176) Use UltraKeccakZKProver when it exists -cpp/src/barretenberg/ultra_vanilla_client_ivc/ultra_vanilla_client_ivc.test.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1177) Implement failure tests -cpp/src/barretenberg/api/gate_count.hpp: * TODO(https://github.com/AztecProtocol/barretenberg/issues/1126): split this into separate Plonk and Honk functions as -cpp/src/barretenberg/api/gate_count.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1180): Try to only do this when necessary. -cpp/src/barretenberg/api/prove_tube.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1025) -cpp/src/barretenberg/api/prove_tube.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1048): INSECURE - make this tube proof actually use -cpp/src/barretenberg/api/prove_tube.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1069): Add aggregation to goblin recursive verifiers. -cpp/src/barretenberg/api/api_ultra_plonk.cpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/811) adapt for grumpkin -cpp/src/barretenberg/api/api.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1256): Implement -cpp/src/barretenberg/api/api.hpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1255): deprecate or include as flag to `prove` -cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1163) set these dynamically -cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1162): Efficiently unify ACIR stack parsing -cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1163) set these dynamically -cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1163): Set these dynamically -cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1163) set these dynamically -cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1181): Use enum for honk_recursion. -cpp/src/barretenberg/api/api_client_ivc.cpp: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1163) set these dynamically -cpp/src/barretenberg/constants.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1046): Remove the need for const sized proofs -cpp/src/barretenberg/constants.hpp:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1193): potentially reenable for better memory performance -✅ /workspaces/aztec-packages/barretenberg/ts/src/barretenberg/index.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? -ts/src/crs/node/ignition_files_crs.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/811): proper abstraction from Grumpkin which does not have g2 -✅ /workspaces/aztec-packages/barretenberg/ts/src/examples/simple.rawtest.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? -✅ /workspaces/aztec-packages/barretenberg/ts/src/examples/simple.test.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? -ts/src/main.ts:// TODO(https://github.com/AztecProtocol/barretenberg/issues/1126): split this into separate Plonk and Honk functions as their gate count differs -ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1248): Get rid of this call to avoid building the circuit twice. -ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1126): use specific UltraPlonk function -ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/811): remove subgroupSizeOverride hack for goblin -✅ /workspaces/aztec-packages/barretenberg/ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization? -ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1248): Get rid of this call to avoid building the circuit twice. -ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1126): use specific UltraHonk function -ts/src/main.ts: // TODO(https://github.com/AztecProtocol/barretenberg/issues/811): remove subgroupSizeOverride hack for goblin -sol/src/honk/BaseHonkVerifier.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1219) -sol/src/honk/Relations.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/757): If we sorted in -sol/src/honk/Transcript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1098): memcpy -sol/src/honk/Transcript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1098): memcpy -sol/src/honk/Transcript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1234) -sol/src/honk/Transcript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1235) -sol/src/honk/Transcript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1236) -sol/src/honk/ZKTranscript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1098): memcpy -sol/src/honk/ZKTranscript.sol: // TODO(https://github.com/AztecProtocol/barretenberg/issues/1098): memcpy