-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
clarifying the merkletree package usage #125
Comments
Sharing my findings here for future reference: NMT repo: The usage of the merkletree package in the nmt repository is limited to a single dependency. Specifically, the Lines 177 to 178 in eec4bc0
However, the NamespaceMerkleTree struct provides an alternative method for generating range proofs called buildRangeProof . Therefore, it is safe to remove the dependency on the merkletree package from the nmt repository.Furthermore, the other repos i.e., celestia-app, celestia-core and celestia-node were also searched to determine if the Hasher type had ever been used as a merkletree.TreeHasher . However, no usage was found.
The necessary changes for this removal are available in the following pull request: #126. |
Based on the following, it seems to be fine to archive the merkletree package. Awaiting celestia-node team's response on Slack to ensure archiving the merkletree repo is ok. |
## Overview Inline with #125. For more context, please see the following [comment](#125 (comment)). ## Checklist - [x] New and updated code has appropriate documentation - [x] New and updated code has new and/or updated testing - [x] Required CI checks are passing - [x] Visual proof for any user facing features like CLI or documentation updates - [x] Linked issues closed with keywords
Based on the response from the Celestia-node team, we are good to archive the merkletree repo. |
Cool! https://github.com/celestiaorg/merkletree was archived yesterday |
@rootulp Great! so going to close this issue. |
Problem
Inline with #109 and identified as part of this EPIC: celestiaorg/celestia-app#1296.
The
HashNode
andHashLeaf
functions in the nmt package aim to satisfy theNodeHasher
andLeafHasherz
interfaces from themerkletree
package.Therefore, they need to comply with the signatures dictated by those interfaces. As a result, they cannot return any errors upon invalid inputs, as explained in issue #109. However, it is not clear whether this compliance is necessary, as pointed out by @evan-forbes. Therefore, this issue is to investigate the usage of the merkletree package in the nmt package and in celestia-app, celestia-core, and celestia-node. If no usage is found, the package should be removed from the set of dependencies.
The text was updated successfully, but these errors were encountered: