-
Notifications
You must be signed in to change notification settings - Fork 332
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
Brief relayer refactor to improve testing and add semantic dependencies #448
Conversation
Codecov Report
@@ Coverage Diff @@
## master #448 +/- ##
=========================================
+ Coverage 13.6% 37.1% +23.5%
=========================================
Files 69 158 +89
Lines 3752 12063 +8311
Branches 1374 4765 +3391
=========================================
+ Hits 513 4486 +3973
- Misses 2618 6903 +4285
- Partials 621 674 +53
Continue to review full report at Codecov.
|
Tested
Confirm that connection handshake are very slow:
Channel handshakeUsing any other port than
With the correct
|
That's probably because they are all created already by the Go relayer. Otherwise you should have seen the handshake steps. |
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! Thanks Adi!
…es (informalsystems#448) * Starting refactor for Connection & Channel relayer objects * Make chain handle object-safe via dyn_clone. * Went back to clone() method [h/t Romain for suggesting clone_trait_object!] * Refactoring Connection and ForeignClient * Added tests for client update * Added height check in ForeignClient update tests * Removed useless test/code * Added changelog entry * Consolidating names (cf. review of informalsystems#364). * Added more semantic deps
Closes: #447
High-level view:
Clone
withDynClone
bound forChainHandle
impl ChainHandle
argument type withBox<dyn ChainHandle>
wherever necessaryConnection
type to store its semantic dependencies, namely the two clientsForeignClient
type to store its semantic deps, namely the two chains handlers, and also added some tests for theupdate
methodFor contributor use:
docs/
) and code comments.Files changed
in the Github PR explorer.