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

Hermes: Add support to fetch Tendermint version of a network #2301

Closed
5 of 6 tasks
adizere opened this issue Jun 15, 2022 · 0 comments · Fixed by #2302
Closed
5 of 6 tasks

Hermes: Add support to fetch Tendermint version of a network #2301

adizere opened this issue Jun 15, 2022 · 0 comments · Fixed by #2302
Assignees
Labels
I: logic Internal: related to the relaying logic O: new-feature Objective: cause to add a new feature or support
Milestone

Comments

@adizere
Copy link
Member

adizere commented Jun 15, 2022

Summary

Given the upcoming breaking changes in #1560, Hermes will need to be able to fetch and parse the Tendermint semver that a network is running. There is already support in Hermes to fetch the version of the SDK and IBC-go modules, so we just need to extend that to additionally extract the Tendermint version spec.

Problem Definition

Why do we need this feature?

To be able to detect in Hermes which version of Tendermint is network using. One important use-case is: this will allow Hermes to switch at runtime to a specific monitor (i.e., event subscriber) implementation:

  • for Tendermint 0.34 and older we'll use the current Websocket-based monitor
  • for Tendermint 0.35 and newer we'll switch to using the JSON-RCP event streaming

A note on priority of this issue: We're adding this feature in advance of breaking changes from Tendermint 0.35 to derisk that upgrade. We want to make sure Hermes is capable of finding & parsing Tendermint versions before this feature becomes urgent.

Acceptance Criteria

  • The chain endpoint for Cosmos chains should have support for detecting the Tendermint version of the network it is connected to

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate milestone (priority) applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@adizere adizere added O: new-feature Objective: cause to add a new feature or support I: logic Internal: related to the relaying logic P-medium labels Jun 15, 2022
@adizere adizere added this to the v1.0.0 milestone Jun 15, 2022
@adizere adizere self-assigned this Jun 15, 2022
adizere added a commit that referenced this issue Jun 15, 2022
adizere added a commit that referenced this issue Jun 16, 2022
…2302)

* Fix for #2301

* changelog

* changelog broken link

* KV pairs in log h/t Mikhail
seunlanlege pushed a commit to ComposableFi/ibc-rs that referenced this issue Jun 20, 2022
* Add codespace information in unknown SDK error (informalsystems#2268)

* ICS20 API improvements (informalsystems#2280)

* Remove `Debug` and `'static` requirements on Module trait

* Manually implement Debug for `MockRouter`

* Remove `Ics20Reader` supertrait `PortReader`

* Use primitive_types::U256 instead of uint::construct_uint!()

* Impl serde for Amount

* Add .changelog entries

* Fix relayer Dockerfile for M1 Mac (informalsystems#2286)

Otherwise library not found error will be encountered
Ref: nodejs/help#3239

* Bump uuid from 1.1.1 to 1.1.2 (informalsystems#2289)

Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.1.1 to 1.1.2.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](uuid-rs/uuid@1.1.1...1.1.2)

---
updated-dependencies:
- dependency-name: uuid
  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>

* Bump hdpath from 0.6.0 to 0.6.1 (informalsystems#2292)

Bumps [hdpath](https://github.com/emeraldpay/hdpath-rs) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/emeraldpay/hdpath-rs/releases)
- [Commits](https://github.com/emeraldpay/hdpath-rs/commits)

---
updated-dependencies:
- dependency-name: hdpath
  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>

* Bump clap from 3.1.18 to 3.2.1 (informalsystems#2291)

* Bump semver from 1.0.9 to 1.0.10 (informalsystems#2295)

* Bump http from 0.2.7 to 0.2.8 (informalsystems#2296)

* Bump tracing from 0.1.34 to 0.1.35 (informalsystems#2290)

* Hs/2210 - Fixed the variable TM to point to GAIAD_BINARY (informalsystems#2297)

* Fixed variable TM

* change log entry and lib-gm version updated to v0.1.3

Co-authored-by: Harveen Singh <[email protected]>

* Bump clap_complete from 3.1.4 to 3.2.1 (informalsystems#2288)

* Bump clap_complete from 3.1.4 to 3.2.1

Bumps [clap_complete](https://github.com/clap-rs/clap) from 3.1.4 to 3.2.1.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](clap-rs/clap@clap_complete-v3.1.4...clap_complete-v3.2.1)

---
updated-dependencies:
- dependency-name: clap_complete
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump clap dependency to 3.2.4

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mikhail Zabaluev <[email protected]>

* Fix recv packet handler incorrectly using dest port/chan to get receipt/next_seq_recv (informalsystems#2294)

* Use packet destination port/channel in recv_packet handler where appropriate

* Add .changelog entry

* Address review feedback

* Use enum for recv-packet results

* Improve RecvPacketResult

* Ignore acc seq mismath when expected < got (informalsystems#2298)

* Ignore acc seq mismath when expected < got

* Address review comments

* Changelog entry

* Add support for fetching & parsing the Tendermint version of a chain (informalsystems#2302)

* Fix for informalsystems#2301

* changelog

* changelog broken link

* KV pairs in log h/t Mikhail

* update dependencies to master branch

* update tendermint dependency

Co-authored-by: Soares Chen <[email protected]>
Co-authored-by: Shoaib Ahmed <[email protected]>
Co-authored-by: PikachuEXE <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: harveenSingh <[email protected]>
Co-authored-by: Harveen Singh <[email protected]>
Co-authored-by: Mikhail Zabaluev <[email protected]>
Co-authored-by: Anca Zamfir <[email protected]>
Co-authored-by: Adi Seredinschi <[email protected]>
hu55a1n1 pushed a commit to hu55a1n1/hermes that referenced this issue Sep 13, 2022
…nformalsystems#2302)

* Fix for informalsystems#2301

* changelog

* changelog broken link

* KV pairs in log h/t Mikhail
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I: logic Internal: related to the relaying logic O: new-feature Objective: cause to add a new feature or support
Projects
No open projects
Status: Closed
Development

Successfully merging a pull request may close this issue.

1 participant