refactor(rln): Update Merkle tree initialization method #30
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR addresses #28, by updating zerokit RLN Merkle tree implementation so that trees are initialized by passing the
tree_height = N
in order to be able to accumulate at most2^N
hash leaves.Previously, Merkle tree implementation followed semaphore-rs one, and trees were initialized by passing the total number of node levels (including the pre-images of the hash leaves), i.e.
tree_height+1
.As a consequence, previous circuits embedded in zerokit RLN, correspond to
height
equal to 15 and 19. Sincenwaku
requires a tree of height 20 for implementing RLN-RELAY, the corresponding circuit was added in the library and tests were updated to cover this case as well.This PR affects #27, and one between waku-org/nwaku#1030 and waku-org/nwaku#1060, mainly due to tests' hardcoded values that need to be updated.