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

Introduce ADR 006: "Hermes release v0.2.0 use-cases" #676

Merged
merged 20 commits into from
Feb 25, 2021
Merged

Conversation

adizere
Copy link
Member

@adizere adizere commented Feb 17, 2021

Closes: #637

Description

Based on discussion from #637, #628, and synchronous coordination with @ancazamfir and @brapse.
Introduces a new ADR 006 documenting these discussions.

ADR 006 rendered


For contributor use:

  • Updated the Unreleased section of CHANGELOG.md with the issue.
  • If applicable: Unit tests written, added test to CI.
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
  • Updated relevant documentation (docs/) and code comments.
  • Re-reviewed Files changed in the Github PR explorer.

Copy link
Collaborator

@ancazamfir ancazamfir left a comment

Choose a reason for hiding this comment

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

Looks great! Provided a few comments.

docs/architecture/adr-006-hermes-v0.2-usecases.md Outdated Show resolved Hide resolved
docs/architecture/adr-006-hermes-v0.2-usecases.md Outdated Show resolved Hide resolved
docs/architecture/adr-006-hermes-v0.2-usecases.md Outdated Show resolved Hide resolved
docs/architecture/adr-006-hermes-v0.2-usecases.md Outdated Show resolved Hide resolved
@adizere adizere mentioned this pull request Feb 23, 2021
7 tasks
Copy link
Collaborator

@ancazamfir ancazamfir left a comment

Choose a reason for hiding this comment

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

Left a few more comments. Also, maybe instead of ibc-0 and ibc-1 we should use <src-chain-id> and <dst-chain-id>?

docs/architecture/adr-006-hermes-v0.2-usecases.md Outdated Show resolved Hide resolved
docs/architecture/adr-006-hermes-v0.2-usecases.md Outdated Show resolved Hide resolved
docs/architecture/adr-006-hermes-v0.2-usecases.md Outdated Show resolved Hide resolved
docs/architecture/adr-006-hermes-v0.2-usecases.md Outdated Show resolved Hide resolved
docs/architecture/adr-006-hermes-v0.2-usecases.md Outdated Show resolved Hide resolved
@codecov-io
Copy link

codecov-io commented Feb 23, 2021

Codecov Report

Merging #676 (92ffdd1) into master (b1b37f5) will increase coverage by 30.3%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##           master    #676      +/-   ##
=========================================
+ Coverage    13.6%   44.0%   +30.3%     
=========================================
  Files          69     150      +81     
  Lines        3752    9786    +6034     
  Branches     1374       0    -1374     
=========================================
+ Hits          513    4309    +3796     
- Misses       2618    5477    +2859     
+ Partials      621       0     -621     
Impacted Files Coverage Δ
modules/src/address.rs 100.0% <ø> (ø)
...application/ics20_fungible_token_transfer/error.rs 0.0% <ø> (ø)
...ion/ics20_fungible_token_transfer/msgs/transfer.rs 0.0% <ø> (ø)
modules/src/events.rs 0.0% <ø> (ø)
modules/src/handler.rs 100.0% <ø> (ø)
modules/src/ics02_client/client_def.rs 48.3% <ø> (ø)
modules/src/ics02_client/client_type.rs 79.1% <ø> (+31.5%) ⬆️
modules/src/ics02_client/context.rs 100.0% <ø> (ø)
modules/src/ics02_client/error.rs 100.0% <ø> (ø)
modules/src/ics02_client/events.rs 15.7% <ø> (+15.7%) ⬆️
... and 253 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3757b65...92ffdd1. Read the comment docs.

length to a minimum.

To create and update a client:
- `create client <src-chain-id> <dst-chain-id>`
Copy link
Collaborator

Choose a reason for hiding this comment

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

Oh, just noticed we have src chain first and then dst chain. Until now we used the other order. First we specify the destination and then the source.

Copy link
Collaborator

@ancazamfir ancazamfir Feb 24, 2021

Choose a reason for hiding this comment

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

Actually I would propose we stop using the src and dst for these commands. With the exception of the client, all the others involve multiple transactions so using src/dst doesn't make sense anymore.
Maybe say a and b or something else. For connection and channel we can say that open-init is always sent to a (if that's the case)

Copy link
Collaborator

@ancazamfir ancazamfir Feb 24, 2021

Choose a reason for hiding this comment

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

I still like a bit more:
"create client on X for chain Y" -> create client <chain-x> <chain-y>
instead of
"create client for Y on chain X" -> create client <chain-y> <chain-x>
It's also most consistent with update client where we only have a chain-x.
But I can live with either :)

Copy link
Member Author

Choose a reason for hiding this comment

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

  • For connection & channel: I like the a b distinction and I think we should make more effort to use this naming scheme consistently. Will use this from now.
  • For client: cool to use destination before source! As a more general comment, I would find it more intuitive and accurate to use the naming scheme host/target instead of destination/source, but I don't insist on it.

Copy link
Member Author

Choose a reason for hiding this comment

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

Introduced the scheme with "a" and "b" 92ffdd1.

Copy link
Collaborator

@ancazamfir ancazamfir left a comment

Choose a reason for hiding this comment

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

Great stuff!!! Thanks Adi!

@adizere adizere merged commit d3d49be into master Feb 25, 2021
@adizere adizere deleted the adi/637_adr006 branch February 25, 2021 13:54
hu55a1n1 pushed a commit to hu55a1n1/hermes that referenced this pull request Sep 13, 2022
…#676)

* adr 006

* Finished 1st sketch. Updated changelog.

* Cosmetic improvs

* Reorder start commands

* Introduced establish for finishing handshakes

* Added summary

* Reviewed commands. Removed start w/ specific client

* Review tenses & 'we' plus some nits.

* Added client commands

* Added create client missing params (optional)

* Added port to disambiguate. Separated optional params for better clarity

* Mention client create limitation

* Reordered connection option

* Reviewed

* Added entry in TOC

* Extended limitations section. Removed delay option from channel/start cmds.

* Introduced 'a' and 'b' scheme. Revised

* Added the host<>target scheme for client ops.
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.

ADR for channel and connection handshake commands
4 participants