-
Notifications
You must be signed in to change notification settings - Fork 357
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
Implement proof verification functions for Tendermint client #1583
Implement proof verification functions for Tendermint client #1583
Conversation
Thanks so much for this PR @yito88! 🙏 Amazing stuff! 👌 |
Sorry for the delay in getting to this @yito88. I just pushed some changes ->
I will continue to test/review and get back with more feedback. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing work!
I left a bunch of improvement suggestions, none of them major. I think the PR is almost ready!
Co-authored-by: Adi Seredinschi <[email protected]>
I tried to test this code with basecoin-rs and I see that verification is failing for
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thanks Shoaib for the fixes and the follow-up issue!
Will let you merge this Shoaib 💯
Okay, so I spent some time again trying to debug the
Interestingly, this is also seen on master, so I think it is unrelated to this PR. It is difficult to say whether this is a problem with basecoin-rs, but I'll continue to debug this separately and open an issue if required. |
@hu55a1n1 Thank you so much for your help! |
…lsystems#1583) * proof verification functions * fix counterparty in ConnectionOpenAck * verify delay * verify height * Revert "verify height" This reverts commit 4735aa7. * Impl verify_height() * Revert changes to ics23 types * Update mock impl to use new ClientDef API with height * Clippy happy * Modify ClientDef API * Implement max_expected_time_per_block() * Fix mock build * Refactor verify_delay_passed() * Move get_block_delay() into ChannelReader trait as provided method * Remove usages of std:: * Fix clippy errors * Add keeper methods for processed time and height * Set processed time using host_timestamp() * Add new ICS02 error variant InvalidCommitmentProof * Augment packet delay errors * Revert to old naming of errors for client upgrade proofs * Rename processed_{time,height}() * Apply suggestions from code review Co-authored-by: Adi Seredinschi <[email protected]> * Record height in processed height/time errors * Fix clippy errors * Add changelog entry Co-authored-by: Shoaib Ahmed <[email protected]> Co-authored-by: Adi Seredinschi <[email protected]>
Closes: cosmos/ibc-rs#76
Description
Add proof verification functions for Tendermint client.
I referred to ibc-go implementation.
I think we need some tests and discussion. Welcome your feedback.
For contributor use:
unclog
.docs/
) and code comments.Files changed
in the Github PR explorer.