hermes icon indicating copy to clipboard operation
hermes copied to clipboard

ICS29 Fee Middleware Support

Open soareschen opened this issue 2 years ago • 6 comments

Description

This is a work in progress to support ICS29 fee middleware. This branch tracks the changes made in https://github.com/cosmos/ibc-go/pull/276, which is not yet merged.

Tasks:

  • [x] #1968
  • [x] #1964

PR author checklist:

  • [ ] Added changelog entry, using unclog.
  • [ ] Added tests: integration (for Hermes) or unit/mock tests (for modules).
  • [ ] Linked to GitHub issue.
  • [ ] Updated code comments and documentation (e.g., docs/).

Reviewer checklist:

  • [ ] Reviewed Files changed in the GitHub PR explorer.
  • [ ] Manually tested (in case integration/unit/mock tests are absent).

soareschen avatar Mar 21 '22 16:03 soareschen

Does work in this PR depend on https://github.com/cosmos/ibc-go/issues/1566 ?

adizere avatar Jun 23 '22 08:06 adizere

It does not depend on it, but it keeps track of the main branch in ibc-go.

soareschen avatar Jun 24 '22 09:06 soareschen

Merged master into this branch in 9b138b8. The merge was a bit complicated by #2642 but was mostly syntactic changes (moving files around).

adizere avatar Sep 26 '22 09:09 adizere

@ljoss17 raised the question on how this PR should be merged once the modules/relayer split goes through.

seanchen1991 avatar Oct 03 '22 12:10 seanchen1991

If this PR ensures compatibility with IBC-go v4, we should update the version requirements for IBC-go module.

https://github.com/informalsystems/hermes/blob/be9e846c64dcf8aaef3dcc0cd70015ec939b275e/crates/relayer/src/chain/cosmos/compatibility.rs#L23

The same for SDK, but unclear which SDK version was used to generate the proto files here.

Context

Relayer operators are currently flagging that Hermes issues warning when trying to communicate with latest Osmosis binary. Example:

2022-10-01T21:16:03.333163Z WARN ThreadId(50) Health checkup for chain 'osmosis-1' failed 2022-10-01T21:16:03.333184Z WARN ThreadId(50) Reason: Hermes health check failed while verifying the application compatibility for chain osmosis-1:http://localhost:6687/; caused by: SDK module at version '0.46.1' does not meet compatibility requirements >=0.41, <0.46 2022-10-01T21:16:03.333191Z WARN ThreadId(50) Some Hermes features may not work in this mode! 2022-10-01T21:16:03.333245Z WARN ThreadId(01) chain is unhealthy: Hermes health check failed while verifying the application compatibility for chain osmosis-1:http://localhost:6687/; caused by: SDK module at version '0.46.1' does not meet compatibility requirements >=0.41, <0.46 chain=osmosis-1

adizere avatar Oct 04 '22 15:10 adizere

I will merge master here next week.

romac avatar Oct 07 '22 16:10 romac

@ljoss17 I just found a detailed tutorial by the IBC-go team on fee-enabled ft-transfers. Hope it proves useful in reviewing or understanding ICS29!

https://github.com/cosmos/ibc-go/wiki/Fee-enabled-fungible-token-transfers

adizere avatar Oct 13 '22 14:10 adizere

@ljoss17 I just found a detailed tutorial by the IBC-go team on fee-enabled ft-transfers. Hope it proves useful in reviewing or understanding ICS29!

https://github.com/cosmos/ibc-go/wiki/Fee-enabled-fungible-token-transfers

Awesome, thank you! I'll try it out!

ljoss17 avatar Oct 13 '22 14:10 ljoss17