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

Tendermint merkle hash #21

Merged
merged 7 commits into from
Apr 25, 2024
Merged

Conversation

S1nus
Copy link
Contributor

@S1nus S1nus commented Apr 23, 2024

A MerkleHash implementation for the tendermint simple merkle tree, used by Celestia for row / column inclusion proofs into data roots

@preston-evans98
Copy link
Member

preston-evans98 commented Apr 23, 2024

Hey @S1nus! Thanks for the PR!

The implementation looks like it faithfully reproduces the tendermint merkle hasher to me - but I'm not quite sure what the motivation is. We're happy to merge this if there's a usecase, but I'm not aware of the feature request yet if so!

On the implementation side, the new code doesn’t seem to be linked to the file tree (looks like we’re missing an entry in lib.rs), and it also looks like we're missing a few doc comments on public items.

@S1nus
Copy link
Contributor Author

S1nus commented Apr 23, 2024

Hey @preston-evans98 , the motivation is because tendermint-rs seems to lack code for generating leaf / range proofs. I think nmt-rs is the right place for this contribution rather than tendermint-rs, because tendermint-rs merkle code lacks any sort of way to persist the trees. It seems it's meant for verifying commitments, not generating proofs.

@preston-evans98 preston-evans98 merged commit ac03d7c into Sovereign-Labs:master Apr 25, 2024
3 of 4 checks passed
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

Successfully merging this pull request may close these issues.

2 participants