From b2d99dd0548c601f97312b35cb488e8faca1a471 Mon Sep 17 00:00:00 2001 From: Suyash Bagad Date: Tue, 22 Aug 2023 10:24:46 +0000 Subject: [PATCH] Add issue 1205 todo wherever relevant. --- .../ecdsa_account_contract/src/ecdsa_public_key_note.nr | 2 ++ .../src/contracts/escrow_contract/src/address_note.nr | 2 ++ .../src/contracts/lending_contract/src/storage.nr | 1 + .../contracts/non_native_token_contract/src/transparent_note.nr | 2 ++ .../src/contracts/pokeable_token_contract/src/address_note.nr | 2 ++ .../contracts/private_token_airdrop_contract/src/claim_note.nr | 2 ++ .../contracts/schnorr_account_contract/src/public_key_note.nr | 2 ++ yarn-project/noir-libs/noir-aztec/src/note/lifecycle.nr | 2 +- yarn-project/noir-libs/value-note/src/value_note.nr | 2 ++ 9 files changed, 16 insertions(+), 1 deletion(-) diff --git a/yarn-project/noir-contracts/src/contracts/ecdsa_account_contract/src/ecdsa_public_key_note.nr b/yarn-project/noir-contracts/src/contracts/ecdsa_account_contract/src/ecdsa_public_key_note.nr index d4221124f496..85322deadbda 100644 --- a/yarn-project/noir-contracts/src/contracts/ecdsa_account_contract/src/ecdsa_public_key_note.nr +++ b/yarn-project/noir-contracts/src/contracts/ecdsa_account_contract/src/ecdsa_public_key_note.nr @@ -56,6 +56,7 @@ impl EcdsaPublicKeyNote { let unique_siloed_note_hash = compute_unique_siloed_note_hash(EcdsaPublicKeyNoteInterface, self); let owner_nullifying_public_key = get_public_key(self.owner); let secret = get_secret_key(owner_nullifying_public_key); + // TODO(#1205) Should use a non-zero generator index. dep::std::hash::pedersen([ unique_siloed_note_hash, secret, @@ -92,6 +93,7 @@ fn serialise(note: EcdsaPublicKeyNote) -> [Field; ECDSA_PUBLIC_KEY_NOTE_LEN] { } fn compute_note_hash(note: EcdsaPublicKeyNote) -> Field { + // TODO(#1205) Should use a non-zero generator index. dep::std::hash::pedersen(note.serialise())[0] } diff --git a/yarn-project/noir-contracts/src/contracts/escrow_contract/src/address_note.nr b/yarn-project/noir-contracts/src/contracts/escrow_contract/src/address_note.nr index 069457cce682..bc51d8c89e23 100644 --- a/yarn-project/noir-contracts/src/contracts/escrow_contract/src/address_note.nr +++ b/yarn-project/noir-contracts/src/contracts/escrow_contract/src/address_note.nr @@ -33,6 +33,7 @@ impl AddressNote { let siloed_note_hash = compute_siloed_note_hash(AddressNoteMethods, self); let owner_nullifying_public_key = get_public_key(self.owner); let secret = get_secret_key(owner_nullifying_public_key); + // TODO(#1205) Should use a non-zero generator index. dep::std::hash::pedersen([ siloed_note_hash, secret, @@ -57,6 +58,7 @@ fn serialise(note: AddressNote) -> [Field; ADDRESS_NOTE_LEN]{ } fn compute_note_hash(note: AddressNote) -> Field { + // TODO(#1205) Should use a non-zero generator index. dep::std::hash::pedersen(note.serialise())[0] } diff --git a/yarn-project/noir-contracts/src/contracts/lending_contract/src/storage.nr b/yarn-project/noir-contracts/src/contracts/lending_contract/src/storage.nr index 61f021e06a76..9d9936504152 100644 --- a/yarn-project/noir-contracts/src/contracts/lending_contract/src/storage.nr +++ b/yarn-project/noir-contracts/src/contracts/lending_contract/src/storage.nr @@ -25,6 +25,7 @@ impl Account { } fn key(self: Self) -> Field { + // TODO(#1205) Should use a non-zero generator index. pedersen([self.address, self.secret])[0] } } diff --git a/yarn-project/noir-contracts/src/contracts/non_native_token_contract/src/transparent_note.nr b/yarn-project/noir-contracts/src/contracts/non_native_token_contract/src/transparent_note.nr index 1a673ad8c8db..d6285e0ad984 100644 --- a/yarn-project/noir-contracts/src/contracts/non_native_token_contract/src/transparent_note.nr +++ b/yarn-project/noir-contracts/src/contracts/non_native_token_contract/src/transparent_note.nr @@ -63,6 +63,7 @@ impl TransparentNote { } fn compute_note_hash(self) -> Field { + // TODO(#1205) Should use a non-zero generator index. dep::std::hash::pedersen([ self.amount, self.secret_hash, @@ -73,6 +74,7 @@ impl TransparentNote { // TODO(https://github.com/AztecProtocol/aztec-packages/issues/1386): should use // `compute_note_hash_for_read_or_nullify` once public functions inject nonce! let siloed_note_hash = compute_siloed_note_hash(TransparentNoteMethods, self); + // TODO(#1205) Should use a non-zero generator index. pedersen([self.secret, siloed_note_hash])[0] } diff --git a/yarn-project/noir-contracts/src/contracts/pokeable_token_contract/src/address_note.nr b/yarn-project/noir-contracts/src/contracts/pokeable_token_contract/src/address_note.nr index 678463b5a916..bc930ab55f7f 100644 --- a/yarn-project/noir-contracts/src/contracts/pokeable_token_contract/src/address_note.nr +++ b/yarn-project/noir-contracts/src/contracts/pokeable_token_contract/src/address_note.nr @@ -30,6 +30,7 @@ impl AddressNote { let unique_siloed_note_hash = compute_unique_siloed_note_hash(AddressNoteMethods, self); let owner_nullifying_public_key = get_public_key(self.address); let secret = get_secret_key(owner_nullifying_public_key); + // TODO(#1205) Should use a non-zero generator index. dep::std::hash::pedersen([ unique_siloed_note_hash, secret, @@ -53,6 +54,7 @@ fn serialise(note: AddressNote) -> [Field; ADDRESS_NOTE_LEN] { } fn compute_note_hash(note: AddressNote) -> Field { + // TODO(#1205) Should use a non-zero generator index. dep::std::hash::pedersen(note.serialise())[0] } diff --git a/yarn-project/noir-contracts/src/contracts/private_token_airdrop_contract/src/claim_note.nr b/yarn-project/noir-contracts/src/contracts/private_token_airdrop_contract/src/claim_note.nr index ca936a59a11c..49ed92e15b54 100644 --- a/yarn-project/noir-contracts/src/contracts/private_token_airdrop_contract/src/claim_note.nr +++ b/yarn-project/noir-contracts/src/contracts/private_token_airdrop_contract/src/claim_note.nr @@ -35,6 +35,7 @@ impl ClaimNote { } fn compute_note_hash(self) -> Field { + // TODO(#1205) Should use a non-zero generator index. dep::std::hash::pedersen([ self.value, self.secret_hash, @@ -43,6 +44,7 @@ impl ClaimNote { fn compute_nullifier(self) -> Field { let note_hash_for_nullify = compute_note_hash_for_read_or_nullify(ClaimNoteMethods, self); + // TODO(#1205) Should use a non-zero generator index. dep::std::hash::pedersen([ note_hash_for_nullify, self.secret_hash, // Include the secret_hash again so that the public won't know the note has been claimed. diff --git a/yarn-project/noir-contracts/src/contracts/schnorr_account_contract/src/public_key_note.nr b/yarn-project/noir-contracts/src/contracts/schnorr_account_contract/src/public_key_note.nr index 742a4fc134d4..af62daa46f45 100644 --- a/yarn-project/noir-contracts/src/contracts/schnorr_account_contract/src/public_key_note.nr +++ b/yarn-project/noir-contracts/src/contracts/schnorr_account_contract/src/public_key_note.nr @@ -35,6 +35,7 @@ impl PublicKeyNote { let unique_siloed_note_hash = compute_unique_siloed_note_hash(PublicKeyNoteMethods, self); let owner_nullifying_public_key = get_public_key(self.owner); let secret = get_secret_key(owner_nullifying_public_key); + // TODO(#1205) Should use a non-zero generator index. dep::std::hash::pedersen([ unique_siloed_note_hash, secret, @@ -60,6 +61,7 @@ fn serialise(note: PublicKeyNote) -> [Field; PUBLIC_KEY_NOTE_LEN] { } fn compute_note_hash(note: PublicKeyNote) -> Field { + // TODO(#1205) Should use a non-zero generator index. dep::std::hash::pedersen(note.serialise())[0] } diff --git a/yarn-project/noir-libs/noir-aztec/src/note/lifecycle.nr b/yarn-project/noir-libs/noir-aztec/src/note/lifecycle.nr index ea065a2b2dde..cec018aead0e 100644 --- a/yarn-project/noir-libs/noir-aztec/src/note/lifecycle.nr +++ b/yarn-project/noir-libs/noir-aztec/src/note/lifecycle.nr @@ -73,7 +73,7 @@ fn destroy_note( // commitment) in which case `nullified_commitment` is not used since the kernel // just siloes and forwards the nullier to its output. if (header.nonce == 0) { - // TODO(suyash): Can we reuse the note commitment computed in `compute_nullifier`? + // TODO(1718): Can we reuse the note commitment computed in `compute_nullifier`? nullified_commitment = compute_inner_note_hash(note_interface, note); } assert(notify_nullified_note(storage_slot, nullifier, preimage, nullified_commitment) == 0); diff --git a/yarn-project/noir-libs/value-note/src/value_note.nr b/yarn-project/noir-libs/value-note/src/value_note.nr index 34bb7d795039..b87808b58c90 100644 --- a/yarn-project/noir-libs/value-note/src/value_note.nr +++ b/yarn-project/noir-libs/value-note/src/value_note.nr @@ -45,6 +45,7 @@ impl ValueNote { } fn compute_note_hash(self) -> Field { + // TODO(#1205) Should use a non-zero generator index. dep::std::hash::pedersen([ self.value, self.owner, @@ -58,6 +59,7 @@ impl ValueNote { // TODO: get_secret_key should just accept an address // TODO! let secret = get_secret_key(owner_nullifying_public_key); + // TODO(#1205) Should use a non-zero generator index. dep::std::hash::pedersen([ note_hash_for_nullify, secret,