Skip to content

Commit ec2e36e

Browse files
authoredJan 3, 2024
feat: tree ids in noir (AztecProtocol#3809)
Fixes [AztecProtocol#3443](AztecProtocol#3443) Given that the tree ids are used only in 1 noir file I decided to tackle the issue just by adding a comment to merkle_tree_id.ts and grouping the constants next to each other.
1 parent e9077cd commit ec2e36e

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed
 

‎yarn-project/aztec-nr/aztec/src/oracle/get_membership_witness.nr

+7-6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ use dep::protocol_types::constants::{
55
};
66
use crate::utils::arr_copy_slice;
77

8+
global CONTRACT_TREE_ID = 0;
9+
global NOTE_HASH_TREE_ID = 2;
10+
global ARCHIVE_TREE_ID = 5;
11+
812
// Note: We have M here because we need to somehow set it when calling get_membership_witness function and one way to
913
// do it is to set M here and then set type of the return param, e.g.:
1014
//
@@ -26,21 +30,18 @@ unconstrained pub fn get_membership_witness<N, M>(block_number: u32, tree_id: Fi
2630
}
2731

2832
unconstrained pub fn get_contract_membership_witness(block_number: u32, leaf_value: Field) -> MembershipWitness<CONTRACT_TREE_HEIGHT, CONTRACT_TREE_HEIGHT + 1> {
29-
let contract_tree_id = 0; // TODO(#3443)
30-
get_membership_witness(block_number, contract_tree_id, leaf_value)
33+
get_membership_witness(block_number, CONTRACT_TREE_ID, leaf_value)
3134
}
3235

3336
// Note: get_nullifier_membership_witness function is implemented in get_nullifier_membership_witness.nr
3437

3538
unconstrained pub fn get_note_hash_membership_witness<N, M>(block_number: u32, leaf_value: Field) -> MembershipWitness<NOTE_HASH_TREE_HEIGHT, NOTE_HASH_TREE_HEIGHT + 1> {
36-
let note_hash_tree_id = 2; // TODO(#3443)
37-
get_membership_witness(block_number, note_hash_tree_id, leaf_value)
39+
get_membership_witness(block_number, NOTE_HASH_TREE_ID, leaf_value)
3840
}
3941

4042
// There is no `get_public_data_membership_witness` function because it doesn't make sense to be getting a membership
4143
// witness for a value in the public data tree.
4244

4345
unconstrained pub fn get_archive_membership_witness(block_number: u32, leaf_value: Field) -> MembershipWitness<ARCHIVE_HEIGHT, ARCHIVE_HEIGHT + 1> {
44-
let archive_tree_id = 5; // TODO(#3443)
45-
get_membership_witness(block_number, archive_tree_id, leaf_value)
46+
get_membership_witness(block_number, ARCHIVE_TREE_ID, leaf_value)
4647
}

‎yarn-project/types/src/merkle_tree_id.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/**
22
* Defines the possible Merkle tree IDs.
3+
* NOTE: If you change this, update get_membership_witness.nr as well.
34
*/
45
export enum MerkleTreeId {
56
CONTRACT_TREE = 0,

0 commit comments

Comments
 (0)