From 61906ed8faf49ff4211874f656f815b93896c4a0 Mon Sep 17 00:00:00 2001 From: TomAFrench Date: Fri, 26 May 2023 08:19:34 +0000 Subject: [PATCH] feat(stdlib)!: return update verification functions to return `bool` --- crates/nargo_cli/tests/test_data/ecdsa_secp256k1/src/main.nr | 4 ++-- crates/nargo_cli/tests/test_data/merkle_insert/src/main.nr | 2 +- crates/nargo_cli/tests/test_data/schnorr/src/main.nr | 4 ++-- crates/nargo_cli/tests/test_data/simple_shield/src/main.nr | 2 +- examples_failing/ecdsa_secp256k1/src/main.nr | 4 ++-- noir_stdlib/src/ecdsa_secp256k1.nr | 2 +- noir_stdlib/src/merkle.nr | 4 ++-- noir_stdlib/src/schnorr.nr | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/crates/nargo_cli/tests/test_data/ecdsa_secp256k1/src/main.nr b/crates/nargo_cli/tests/test_data/ecdsa_secp256k1/src/main.nr index 1cb40f09cd0..dfac8673b38 100644 --- a/crates/nargo_cli/tests/test_data/ecdsa_secp256k1/src/main.nr +++ b/crates/nargo_cli/tests/test_data/ecdsa_secp256k1/src/main.nr @@ -6,6 +6,6 @@ fn main(message : [u8;38],hashed_message : [u8;32], pub_key_x : [u8;32], pub_key let expected= std::hash::sha256(message); assert(hashed_message == expected); - let x = std::ecdsa_secp256k1::verify_signature(pub_key_x, pub_key_y, signature, hashed_message); - assert(x == 1); + let valid_signature = std::ecdsa_secp256k1::verify_signature(pub_key_x, pub_key_y, signature, hashed_message); + assert(valid_signature); } \ No newline at end of file diff --git a/crates/nargo_cli/tests/test_data/merkle_insert/src/main.nr b/crates/nargo_cli/tests/test_data/merkle_insert/src/main.nr index 53d876272ac..f90bcac3efa 100644 --- a/crates/nargo_cli/tests/test_data/merkle_insert/src/main.nr +++ b/crates/nargo_cli/tests/test_data/merkle_insert/src/main.nr @@ -10,7 +10,7 @@ fn main( mimc_input: [Field; 4], ) { let old_leaf_exists = std::merkle::check_membership(old_root, old_leaf, index, old_hash_path); - assert(old_leaf_exists == 1); + assert(old_leaf_exists); assert(old_root == std::merkle::compute_root_from_leaf(old_leaf, index, old_hash_path)); let calculated_root = std::merkle::compute_merkle_root(leaf, index, old_hash_path); assert(new_root == calculated_root); diff --git a/crates/nargo_cli/tests/test_data/schnorr/src/main.nr b/crates/nargo_cli/tests/test_data/schnorr/src/main.nr index ec4f819858a..c0933b23029 100644 --- a/crates/nargo_cli/tests/test_data/schnorr/src/main.nr +++ b/crates/nargo_cli/tests/test_data/schnorr/src/main.nr @@ -5,6 +5,6 @@ use dep::std; fn main(message: [u8; 10], pub_key_x: Field, pub_key_y: Field, signature: [u8; 64]) { // Is there ever a situation where someone would want // to ensure that a signature was invalid? - let x = std::schnorr::verify_signature(pub_key_x,pub_key_y,signature, message); - assert(x == 1); + let valid_signature = std::schnorr::verify_signature(pub_key_x,pub_key_y,signature, message); + assert(valid_signature); } diff --git a/crates/nargo_cli/tests/test_data/simple_shield/src/main.nr b/crates/nargo_cli/tests/test_data/simple_shield/src/main.nr index 65d0ec954ac..4b3eeae409a 100644 --- a/crates/nargo_cli/tests/test_data/simple_shield/src/main.nr +++ b/crates/nargo_cli/tests/test_data/simple_shield/src/main.nr @@ -30,7 +30,7 @@ fn main( // Check that the input note nullifier is in the root let is_member = std::merkle::check_membership(note_root, note_commitment[0], index, note_hash_path); - assert(is_member == 1); + assert(is_member); [nullifier[0], receiver_note_commitment[0]] } diff --git a/examples_failing/ecdsa_secp256k1/src/main.nr b/examples_failing/ecdsa_secp256k1/src/main.nr index 43a4f78e634..2b5f789ca31 100644 --- a/examples_failing/ecdsa_secp256k1/src/main.nr +++ b/examples_failing/ecdsa_secp256k1/src/main.nr @@ -12,6 +12,6 @@ use dep::std; fn main(hashed_message : [32]u8, pub_key_x : [32]u8, pub_key_y : [32]u8, signature : [64]u8) { // Is there ever a situation where someone would want // to ensure that a signature was invalid? - let x = std::ecdsa_secp256k1::verify_signature(pub_key_x,pub_key_y,signature, hashed_message); - assert(x == 1); + let valid_signature = std::ecdsa_secp256k1::verify_signature(pub_key_x,pub_key_y,signature, hashed_message); + assert(valid_signature); } diff --git a/noir_stdlib/src/ecdsa_secp256k1.nr b/noir_stdlib/src/ecdsa_secp256k1.nr index 18ad37bbd94..efeceef5df2 100644 --- a/noir_stdlib/src/ecdsa_secp256k1.nr +++ b/noir_stdlib/src/ecdsa_secp256k1.nr @@ -1,2 +1,2 @@ #[foreign(ecdsa_secp256k1)] -fn verify_signature(_public_key_x : [u8; 32], _public_key_y : [u8; 32], _signature: [u8; 64], _message_hash: [u8]) -> Field {} +fn verify_signature(_public_key_x : [u8; 32], _public_key_y : [u8; 32], _signature: [u8; 64], _message_hash: [u8]) -> bool {} diff --git a/noir_stdlib/src/merkle.nr b/noir_stdlib/src/merkle.nr index 9d01f84feaf..aa4aa8c40da 100644 --- a/noir_stdlib/src/merkle.nr +++ b/noir_stdlib/src/merkle.nr @@ -5,8 +5,8 @@ // and the hashpath proves this // Currently we assume that it is a binary tree, so depth k implies a width of 2^k // XXX: In the future we can add an arity parameter -fn check_membership(_root : Field, _leaf : Field, _index : Field, _hash_path: [Field]) -> Field { - (compute_merkle_root(_leaf, _index, _hash_path) == _root) as Field +fn check_membership(_root : Field, _leaf : Field, _index : Field, _hash_path: [Field]) -> bool { + compute_merkle_root(_leaf, _index, _hash_path) == _root } #[foreign(compute_merkle_root)] diff --git a/noir_stdlib/src/schnorr.nr b/noir_stdlib/src/schnorr.nr index 391ded619ac..5000efd3be4 100644 --- a/noir_stdlib/src/schnorr.nr +++ b/noir_stdlib/src/schnorr.nr @@ -1,2 +1,2 @@ #[foreign(schnorr_verify)] -fn verify_signature(_public_key_x: Field, _public_key_y: Field, _signature: [u8; 64], _message: [u8]) -> Field {} +fn verify_signature(_public_key_x: Field, _public_key_y: Field, _signature: [u8; 64], _message: [u8]) -> bool {}