hermes icon indicating copy to clipboard operation
hermes copied to clipboard

Automatic client upgrades

Open adizere opened this issue 4 years ago • 1 comments

Crate

Summary

Add support in Hermes to detect a chain upgrade and to automatically trigger the upgrading of all clients which target the upgraded chain.

Problem Definition

The problem is that currently Hermes has only a manual upgrade client command, and we are at a WIP stage on adding a bulk upgrade clients CLI (#763). It would be good to support client upgrading in a reactive manner; so this feature is an extension to the reactive capabilities (#823) of Hermes, to additionally support client upgrades.

Another problem we'd like to tackle is to extend the end-to-end tests with a scenario for chain & client upgrades. Currently we only have some manual testing guide for this scenario.

Proposal

  • investigate and find which event does a chain generate upon upgrading
    • depends on https://github.com/cosmos/ibc-go/issues/270
  • add mechanism to handle the event, so that Hermes automatically triggers client upgrade
  • all clients (which target the upgraded chain) hosted on one of the chains in the config file should be upgraded

Acceptance Criteria

  • [ ] support for reactive client upgrade
  • [ ] extension to E2E test suite with appropriate test scenario for chain & client upgrade

For Admin Use

  • [ ] Not duplicate issue
  • [ ] Appropriate labels applied
  • [ ] Appropriate milestone (priority) applied
  • [ ] Appropriate contributors tagged
  • [ ] Contributor assigned/self-assigned

adizere avatar Jul 03 '21 07:07 adizere

Emitting upgrade_chain events should be released with ibc-go v7.0.0 early 2023

ljoss17 avatar Oct 27 '22 14:10 ljoss17