-
Notifications
You must be signed in to change notification settings - Fork 329
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
Integrate relayer spike into relayer crate #335
Conversation
+ Implement the proper pipeline of types from IBCEvent to Packet to Transactions etc. + Move client updates to be bundled in transactions
+ The system model for IBC requires that a correct relayer persist in trying to submit packets even with semantic failures. + Implement a sketch of retry logic + TODO: Add proper error handling
+ Introduce a Failed link error to signal to a future supervisor process that a link needs to be re-established with a different full node.
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 great, we can start working on the different pieces.
Codecov Report
@@ Coverage Diff @@
## master #335 +/- ##
=========================================
+ Coverage 13.6% 36.5% +22.8%
=========================================
Files 69 127 +58
Lines 3752 8168 +4416
Branches 1374 2827 +1453
=========================================
+ Hits 513 2986 +2473
- Misses 2618 5009 +2391
+ Partials 621 173 -448
Continue to review full report at Codecov.
|
* Incomplete Pseudo code which compiles * commit notes and sketches from first sync * It compiles but still very rough * Introduce ForeignClient * Move update client to ForeignClient * Introduce ChainRuntime * Introduce subscriptions * Type alias * Introduce Chain as a trait ^_^ * Re-add update_client logic * update notes * Silence warnings for now * Add error handling * Fixup sequences of dependencies * move client updates to ForeignClient * Significant progress: + Implement the proper pipeline of types from IBCEvent to Packet to Transactions etc. + Move client updates to be bundled in transactions * Add error handling for packet creation * Implement submission retry: + The system model for IBC requires that a correct relayer persist in trying to submit packets even with semantic failures. + Implement a sketch of retry logic + TODO: Add proper error handling * Attempt to add proper error handling to retry loop * Bugfix: ClientUpdate should be attempt specific * LinkError:Failed + Introduce a Failed link error to signal to a future supervisor process that a link needs to be re-established with a different full node. * Make chains private to links * Document intentions * Integrate relayer spike into relayer crate * Remove comment in workspace Cargo.toml * Move spike main function into v0 command * Update changelog Co-authored-by: Sean Braithwaite <brapse@gmail.com>
Description
This PR is based on #210 (and supersedes it) and integrate the relayer spike into the relayer crate.
For now, only minimal changes have been made to the original code, just what was needed to depend on the actual
tendermint
andibc
types + clippy lints.Additionally, a new
v0
command has been added, which contains the code of the spike's main function.Also, the relayer-spike README has been moved to the
docs/architecture
folder.For contributor use:
docs/
) and code commentsFiles changed
in the Github PR explorer