diff --git a/acvm-repo/acir/src/circuit/opcodes/black_box_function_call.rs b/acvm-repo/acir/src/circuit/opcodes/black_box_function_call.rs index b9d2c1952d3..04655ef4a50 100644 --- a/acvm-repo/acir/src/circuit/opcodes/black_box_function_call.rs +++ b/acvm-repo/acir/src/circuit/opcodes/black_box_function_call.rs @@ -394,7 +394,7 @@ impl BlackBoxFuncCall { inputs } BlackBoxFuncCall::EmbeddedCurveAdd { input1, input2, .. } => { - vec![input1[0], input1[1], input2[0], input2[1]] + vec![input1[0], input1[1], input1[2], input2[0], input2[1], input2[2]] } BlackBoxFuncCall::RANGE { input } => vec![*input], BlackBoxFuncCall::EcdsaSecp256k1 { diff --git a/test_programs/compile_success_empty/regression_7749/Nargo.toml b/test_programs/compile_success_empty/regression_7749/Nargo.toml new file mode 100644 index 00000000000..e740abab2ed --- /dev/null +++ b/test_programs/compile_success_empty/regression_7749/Nargo.toml @@ -0,0 +1,6 @@ +[package] +name = "regression_7744" +type = "bin" +authors = [""] + +[dependencies] diff --git a/test_programs/compile_success_empty/regression_7749/src/main.nr b/test_programs/compile_success_empty/regression_7749/src/main.nr new file mode 100644 index 00000000000..a7af5ee89d6 --- /dev/null +++ b/test_programs/compile_success_empty/regression_7749/src/main.nr @@ -0,0 +1,9 @@ +// https://github.com/noir-lang/noir/issues/7749 + +fn main() { + let pt_y = 17631683881184975370165255887551781615748388533673675138860; + let pt = std::embedded_curve_ops::EmbeddedCurvePoint { x: 1, y: pt_y, is_infinite: false }; + let pt_2x = pt.double(); + let pt_4x = pt_2x.double(); + assert(pt_2x != pt_4x); +} diff --git a/test_programs/execution_success/regression_7744/Nargo.toml b/test_programs/execution_success/regression_7744/Nargo.toml new file mode 100644 index 00000000000..e740abab2ed --- /dev/null +++ b/test_programs/execution_success/regression_7744/Nargo.toml @@ -0,0 +1,6 @@ +[package] +name = "regression_7744" +type = "bin" +authors = [""] + +[dependencies] diff --git a/test_programs/execution_success/regression_7744/Prover.toml b/test_programs/execution_success/regression_7744/Prover.toml new file mode 100644 index 00000000000..9556fe97d96 --- /dev/null +++ b/test_programs/execution_success/regression_7744/Prover.toml @@ -0,0 +1 @@ +is_active=false diff --git a/test_programs/execution_success/regression_7744/src/main.nr b/test_programs/execution_success/regression_7744/src/main.nr new file mode 100644 index 00000000000..6bc6ece09aa --- /dev/null +++ b/test_programs/execution_success/regression_7744/src/main.nr @@ -0,0 +1,13 @@ +// https://github.com/noir-lang/noir/issues/7744 + +use std::embedded_curve_ops::{embedded_curve_add_unsafe, EmbeddedCurvePoint}; + +// is_active = false +fn main(is_active: bool) -> pub EmbeddedCurvePoint { + let bad = EmbeddedCurvePoint { x: 0, y: 5, is_infinite: false }; + if is_active { + embedded_curve_add_unsafe(bad, bad) + } else { + bad + } +} diff --git a/test_programs/execution_success/regression_7744/stdout.txt b/test_programs/execution_success/regression_7744/stdout.txt new file mode 100644 index 00000000000..f26babac4ba --- /dev/null +++ b/test_programs/execution_success/regression_7744/stdout.txt @@ -0,0 +1 @@ +[regression_7744] Circuit output: Struct({"is_infinite": Field(0), "x": Field(0), "y": Field(5)}) diff --git a/test_programs/format.sh b/test_programs/format.sh index 8fa96541f92..bb0cb36ee83 100755 --- a/test_programs/format.sh +++ b/test_programs/format.sh @@ -25,6 +25,12 @@ function collect_dirs { continue fi + if [[ ! -f "$current_dir/$1/$dir/Nargo.toml" ]]; then + echo "No Nargo.toml found in $dir. Removing directory." + rm -rf "$current_dir/$1/$dir" + echo "$dir: skipped (no Nargo.toml)" + fi + echo " \"$1/$dir\"," >> Nargo.toml done }