Skip to content
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

rsmt2d tests do not use nmt for row/column roots calculation #214

Open
staheri14 opened this issue Jul 4, 2023 · 0 comments
Open

rsmt2d tests do not use nmt for row/column roots calculation #214

staheri14 opened this issue Jul 4, 2023 · 0 comments

Comments

@staheri14
Copy link
Contributor

Problem

While working on issue #191 in the rsmt2d repo, I encountered an unusual situation. All the tests (as far as I checked) in the repository utilize a default tree, which is a normal Merkle tree but not an NMT. As a result, the tests do not actually make use of any of the logic related to NMT. This discrepancy means that the test scenarios in this repository do not accurately reflect the true mechanics of an EDS in Celestia. Consequently, important issues may remain unnoticed due to this inconsistency.

One such discrepancy can be observed in the Root() method. In the default tree implementation, the root can be computed regardless of whether the shares are nil or not. However, in the NMT implementation, it is not possible to even push a nil value to the tree.

Acceptance Criteria

This issue aims to investigate the problem and address it accordingly:

  1. If the choice of a normal Merkle tree for the tests is intentional, it is crucial to document the reasoning behind this decision, at least within the tests themselves. It may be the case that for some of the tests, the usage of a normal Merkle tree is fine and desirable.
  2. If the use of a normal Merkle tree is not intentional, it is recommended to consider replacing it with an NMT to ensure consistency and accuracy in the test scenarios.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant