-
Notifications
You must be signed in to change notification settings - Fork 80
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
Connection proofs refactor #170
Conversation
Remove connection::verify.rs
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.
I really like the idea of inlining the proofs and verification. 🙌
Since the PR partially implements crossing-hellos I suggest we don't merge it until either the remaining work is complete or the current work is released (to ease the release process).
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.
This is an awesome PR - it greatly improves readability and removes a lot of unwanted code! Thank you! 🙏 I've approved it but would recommend we don't merge it before the release.
Co-authored-by: Shoaib Ahmed <[email protected]> Signed-off-by: Philippe Laferrière <[email protected]>
Remove redundant log and adjust logging level.
* conn_open_confirm refactor * conn_open_ack handler * disable mbt * ConnOpenConfirm handler Remove connection::verify.rs * conn_open_ack: readability * remove ConnectionOpenTry::with_previous_connection_id * Make previous_connection_id deprecated * remove mbt * Remove hold_oldest_height check * changelog * Output logs for handlers again * conn_open_ack: apply naming convention * conn_open_try apply naming convention * conn_open_init apply naming convention * conn_open_try naming fix * conn_open_confirm apply naming convention * Document naming convention * fmt * comments * Update crates/ibc/src/core/ics03_connection/handler.rs Co-authored-by: Shoaib Ahmed <[email protected]> Signed-off-by: Philippe Laferrière <[email protected]> * Move naming convention docstring * fix * update deprecated annotation Signed-off-by: Philippe Laferrière <[email protected]> Co-authored-by: Shoaib Ahmed <[email protected]>
* variable naming in ics26 * Rework ics26 channel handler * cleanup Ics4ChannelMsg handler * channel callbacks now return ModuleExtras * channel_dispatch now returns a `MsgReceipt` * remove crossing hellos logic from chan_open_try Also removes tests that tested that logic specifically * deprecate `MsgChannelOpenTry::previous_channel_id` field * ics20: refactor on_chan_open_init * Remove `version` field of `on_chan_open_try()` * ICS20: inline on_chan_open_init * ics20: on_chan_open_try * ics20: refactor rest of handshake callbacks * fmt * ics26_routing: Derive Hash for ModuleId (#179) * ics26_routing: Derive Hash for ModuleId Signed-off-by: Kevin Ji <[email protected]> * Add changelog for #179 Signed-off-by: Kevin Ji <[email protected]> Co-authored-by: Shoaib Ahmed <[email protected]> * Release v0.20.0 (#186) * release v0.20.0 * bump crate version to 0.20.0 * update CONTRIBUTING * CONTRIBUTING change * Update ibc-proto-rs to v0.21.0 * Update CONTRIBUTING.md * Connection proofs refactor (#170) * conn_open_confirm refactor * conn_open_ack handler * disable mbt * ConnOpenConfirm handler Remove connection::verify.rs * conn_open_ack: readability * remove ConnectionOpenTry::with_previous_connection_id * Make previous_connection_id deprecated * remove mbt * Remove hold_oldest_height check * changelog * Output logs for handlers again * conn_open_ack: apply naming convention * conn_open_try apply naming convention * conn_open_init apply naming convention * conn_open_try naming fix * conn_open_confirm apply naming convention * Document naming convention * fmt * comments * Update crates/ibc/src/core/ics03_connection/handler.rs Co-authored-by: Shoaib Ahmed <[email protected]> Signed-off-by: Philippe Laferrière <[email protected]> * Move naming convention docstring * fix * update deprecated annotation Signed-off-by: Philippe Laferrière <[email protected]> Co-authored-by: Shoaib Ahmed <[email protected]> * changelog * ics20 on_chan_open_init tests * ics20 on_chan_open_try tests * update deprecation versions * update comment with issue * fmt * use ModuleExtras::empty() Signed-off-by: Kevin Ji <[email protected]> Signed-off-by: Philippe Laferrière <[email protected]> Co-authored-by: Kevin Ji <[email protected]> Co-authored-by: Shoaib Ahmed <[email protected]>
) Bumps [github.com/cosmos/gogoproto](https://github.com/cosmos/gogoproto) from 1.4.3 to 1.4.11. - [Release notes](https://github.com/cosmos/gogoproto/releases) - [Changelog](https://github.com/cosmos/gogoproto/blob/main/CHANGELOG.md) - [Commits](cosmos/gogoproto@v1.4.3...v1.4.11) --- updated-dependencies: - dependency-name: github.com/cosmos/gogoproto dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <[email protected]>
* conn_open_confirm refactor * conn_open_ack handler * disable mbt * ConnOpenConfirm handler Remove connection::verify.rs * conn_open_ack: readability * remove ConnectionOpenTry::with_previous_connection_id * Make previous_connection_id deprecated * remove mbt * Remove hold_oldest_height check * changelog * Output logs for handlers again * conn_open_ack: apply naming convention * conn_open_try apply naming convention * conn_open_init apply naming convention * conn_open_try naming fix * conn_open_confirm apply naming convention * Document naming convention * fmt * comments * Update crates/ibc/src/core/ics03_connection/handler.rs Co-authored-by: Shoaib Ahmed <[email protected]> Signed-off-by: Philippe Laferrière <[email protected]> * Move naming convention docstring * fix * update deprecated annotation Signed-off-by: Philippe Laferrière <[email protected]> Co-authored-by: Shoaib Ahmed <[email protected]>
* variable naming in ics26 * Rework ics26 channel handler * cleanup Ics4ChannelMsg handler * channel callbacks now return ModuleExtras * channel_dispatch now returns a `MsgReceipt` * remove crossing hellos logic from chan_open_try Also removes tests that tested that logic specifically * deprecate `MsgChannelOpenTry::previous_channel_id` field * ics20: refactor on_chan_open_init * Remove `version` field of `on_chan_open_try()` * ICS20: inline on_chan_open_init * ics20: on_chan_open_try * ics20: refactor rest of handshake callbacks * fmt * ics26_routing: Derive Hash for ModuleId (#179) * ics26_routing: Derive Hash for ModuleId Signed-off-by: Kevin Ji <[email protected]> * Add changelog for #179 Signed-off-by: Kevin Ji <[email protected]> Co-authored-by: Shoaib Ahmed <[email protected]> * Release v0.20.0 (#186) * release v0.20.0 * bump crate version to 0.20.0 * update CONTRIBUTING * CONTRIBUTING change * Update ibc-proto-rs to v0.21.0 * Update CONTRIBUTING.md * Connection proofs refactor (#170) * conn_open_confirm refactor * conn_open_ack handler * disable mbt * ConnOpenConfirm handler Remove connection::verify.rs * conn_open_ack: readability * remove ConnectionOpenTry::with_previous_connection_id * Make previous_connection_id deprecated * remove mbt * Remove hold_oldest_height check * changelog * Output logs for handlers again * conn_open_ack: apply naming convention * conn_open_try apply naming convention * conn_open_init apply naming convention * conn_open_try naming fix * conn_open_confirm apply naming convention * Document naming convention * fmt * comments * Update crates/ibc/src/core/ics03_connection/handler.rs Co-authored-by: Shoaib Ahmed <[email protected]> Signed-off-by: Philippe Laferrière <[email protected]> * Move naming convention docstring * fix * update deprecated annotation Signed-off-by: Philippe Laferrière <[email protected]> Co-authored-by: Shoaib Ahmed <[email protected]> * changelog * ics20 on_chan_open_init tests * ics20 on_chan_open_try tests * update deprecation versions * update comment with issue * fmt * use ModuleExtras::empty() Signed-off-by: Kevin Ji <[email protected]> Signed-off-by: Philippe Laferrière <[email protected]> Co-authored-by: Kevin Ji <[email protected]> Co-authored-by: Shoaib Ahmed <[email protected]>
Closes: #156
Closes: #165
Closes: #168
Description
Refactors the connection handlers to remove crossing hellos and refactor proof verification. Also fixes a bug I discovered while refactoring (#168).
Main choices made:
ConnectionOpen{Try,Ack,Confirm}
), and I found "wrapping them" together in a new type superfluous.PR author checklist:
docs/
).unclog
.Reviewer checklist:
Files changed
in the GitHub PR explorer.