Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion EXTERNAL_NOIR_LIBRARIES.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ libraries:
repo: AztecProtocol/aztec-packages
ref: *AZ_COMMIT
path: noir-projects/noir-protocol-circuits/crates/rollup-lib
timeout: 625
timeout: 700
critical: false
# Use 1 test threads for rollup-lib because each test requires a lot of memory, and multiple ones in parallel exceed the maximum memory limit.
nargo_args: "--test-threads 1"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,10 @@ impl<F: AcirField> GeneratedAcir<F> {
}

self.assert_is_zero(input_expr - &composed_limbs);
let assertion_payload = self.generate_assertion_message_payload(format!(
"Field failed to decompose into specified {limb_count} limbs"
));
self.assertion_payloads.insert(self.last_acir_opcode_location(), assertion_payload);

Ok(limb_witnesses)
}
Expand Down
6 changes: 6 additions & 0 deletions test_programs/noir_test_success/to_radix_error/Nargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[package]
name = "to_radix_error"
type = "bin"
authors = [""]

[dependencies]
29 changes: 29 additions & 0 deletions test_programs/noir_test_success/to_radix_error/src/main.nr
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
fn constrained_le_decompose(x: Field) -> [u8; 16] {
let x_bytes: [u8; 16] = x.to_le_bytes();
println(x);
println(x_bytes);
x_bytes
}

unconstrained fn brillig_le_decompose(x: Field) -> [u8; 16] {
constrained_le_decompose(x)
}

#[test]
fn test_acir_field_fits() {
let _ = constrained_le_decompose(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF);
}

#[test(should_fail_with = "Field failed to decompose into specified 16 limbs")]
fn test_acir_field_too_big() {
// One greater than `0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF`
let _ = constrained_le_decompose(0x100000000000000000000000000000000);
}

// We do not constrain a decomposition in Brillig. We instead just write up to the number of specified limbs,
// thus this does not fail in Brillig where the number of limbs determines the correctness of the byte decomposition.
Comment thread
TomAFrench marked this conversation as resolved.
#[test]
fn test_brillig() {
// Safety: testing context
let _ = unsafe { brillig_le_decompose(0x100000000000000000000000000000000) };
}
1 change: 1 addition & 0 deletions tooling/debugger/ignored-noir-tests.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ test_add
test_add_and_show
test_sort
test_sort_comptime
test_acir_field_too_big
1 change: 1 addition & 0 deletions tooling/debugger/ignored-tests.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ array_rc_regression_7842
mutate_array_copy
regression_8229
regression_8926
to_radix_error

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading