Skip to content

Commit 4433c06

Browse files
authored
chore: resolve field_t issues from external audit (#16210)
### `field_t` Issues and Resolutions Tracker For more details, see the comments below. | ID | Title | Status | | --- | -------------------------------------------------------------------------------------------- | ------ | | 17 | `test_slice_random` not covering the entire input space | `slice` is replaced with a simpler method `split_at` | | 16 | Unexpected random value in `test_slice_random` | `slice` is replaced with a simpler method `split_at` | | 15 | \[opt] Duplicate constraint in `invert` | ✅ | | 14 | `set_public` on constant `field_t` passes `IS_CONSTANT` as a wire index | added the assertion that the input is not constant | | 13 | \[opt] Multiplication by zero in `field_t` not canonicalized to constant | ❌ (breaks bigfield assertions + no efficiency gains in real circuits) | | 12 | \[opt] `decompose_into_bits` with `num_bits = 253` does unnecessary aliasing check | deleted | | 11 | \[doc] Incorrect documentation of `slice` method | `slice` is replaced with a simpler method `split_at` | | 10 | Missing builder context validation in field operations | ✅ | | 9 | \[doc] Confusing comment in `accumulate` | ✅ | | 8 | \[opt] `assert_equal` optimization | ✅ | | 7 | Unnecessary witness multiplied by 0 in `normalize` | ✅ | | 6 | \[opt] `madd` could be optimized when 2 inputs are constant | ✅ | | 5 | Inconsistent naming of PLONK gate terms | Made the comments consistent with the naming in gate-related structs | | 4 | `bool_t` has a constructor that takes context and value | ✅ | | 3 | Use `get_value` to get a boolean value | ✅ | | 2 | No restriction on `num_bits` in `ranged_less_than` | ✅ | | 1 | \[doc] Assumption over `ranged_less_than` is overly restrictive, method comment has mistakes | ✅ |
1 parent 7d0a49b commit 4433c06

6 files changed

Lines changed: 514 additions & 414 deletions

File tree

barretenberg/cpp/scripts/test_civc_standalone_vks_havent_changed.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ cd ..
1111
# - Generate a hash for versioning: sha256sum bb-civc-inputs.tar.gz
1212
# - Upload the compressed results: aws s3 cp bb-civc-inputs.tar.gz s3://aztec-ci-artifacts/protocol/bb-civc-inputs-[hash(0:8)].tar.gz
1313
# Note: In case of the "Test suite failed to run ... Unexpected token 'with' " error, need to run: docker pull aztecprotocol/build:3.0
14-
pinned_short_hash="42c72e0d"
14+
pinned_short_hash="ca12eef6"
1515
pinned_civc_inputs_url="https://aztec-ci-artifacts.s3.us-east-2.amazonaws.com/protocol/bb-civc-inputs-${pinned_short_hash}.tar.gz"
1616

1717
function compress_and_upload {

barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ template <typename RecursiveFlavor> class RecursiveVerifierTest : public testing
291291
}
292292
// Check the size of the recursive verifier
293293
if constexpr (std::same_as<RecursiveFlavor, MegaZKRecursiveFlavor_<UltraCircuitBuilder>>) {
294-
uint32_t NUM_GATES_EXPECTED = 873673;
294+
uint32_t NUM_GATES_EXPECTED = 873519;
295295
ASSERT_EQ(static_cast<uint32_t>(outer_circuit.get_num_finalized_gates()), NUM_GATES_EXPECTED)
296296
<< "MegaZKHonk Recursive verifier changed in Ultra gate count! Update this value if you "
297297
"are sure this is expected.";

0 commit comments

Comments
 (0)