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

Update proto spec #28

Merged
merged 13 commits into from
Mar 23, 2020
Merged

Update proto spec #28

merged 13 commits into from
Mar 23, 2020

Conversation

ethanfrey
Copy link
Contributor

This addresses concerns raised by @cwgoes here: cosmos/ibc#282 (comment)

Notably, the spec now fixes the hash algorithm for inner nodes and optionally allows setting a min and max depth for the trees (min/max number of inner nodes).

Copy link

@cwgoes cwgoes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK, although do you want to add tests for the spec mis-matching (hash / min depth / max depth)?

I believe that this addresses all the specifically ICS23-related concerns in cosmos/ibc#282 (comment); we still need to check the CommitStore and sub-store logic though (in any case).

@ethanfrey
Copy link
Contributor Author

ethanfrey commented Mar 18, 2020

Thank you for the review

ACK, although do you want to add tests for the spec mis-matching (hash / min depth / max depth)?

There is a test for hash. I will add some for min/max depth. As well as the Rust and JS implementations.

I believe that this addresses all the specifically ICS23-related concerns in cosmos/ibc#282 (comment); we still need to check the CommitStore and sub-store logic though (in any case).

This is changes in the SDK. I can help with those as well, but that is not in this repo. I would demo how to use ics23/tendermint to make proofs for the CommitStore (but we need to change it to use merkle proofs, not just amino-serialize the roots of all sub-stores and hash it)

@ethanfrey
Copy link
Contributor Author

@cwgoes I extended the tests for go to enforce min/max depth and made the same test cases for both TypeScript and Rust and updated validation logic in both.

I believe this is completed. Happy for one more review from you, and will merge and tag upon approval

Copy link

@cwgoes cwgoes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK - thanks! Looking forward to using this in the SDK.

@ethanfrey ethanfrey merged commit 1a0acff into master Mar 23, 2020
@ethanfrey ethanfrey deleted the update-proto-spec branch March 23, 2020 11:44
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