-
Notifications
You must be signed in to change notification settings - Fork 323
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 uses wrong unbonding period or fails for ICS Consumer chains #3125
Closed
4 of 14 tasks
Comments
ancazamfir
added
A: blocked
Admin: blocked by another (internal/external) issue or PR
A: okr
Admin: tracks an ongoing OKR
labels
Feb 25, 2023
2 tasks
3 tasks
7 tasks
ancazamfir
changed the title
Hermes support for ICS Consumer chains
Hermes uses wrong unbonding period or fails ICS Consumer chains
Mar 16, 2023
ancazamfir
changed the title
Hermes uses wrong unbonding period or fails ICS Consumer chains
Hermes uses wrong unbonding period or fails for ICS Consumer chains
Mar 16, 2023
seanchen1991
removed
the
A: blocked
Admin: blocked by another (internal/external) issue or PR
label
Apr 19, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Summary
As it was discovered in #3112, hermes does not properly support ICS Consumer chains. We fixed this temporarily in #3113
However the fix is not ideal as it requires relayer operator knowledge of the correct
unbonding_period
of the consumer chain. It also does not address the health check forhistorical_entries
parameter.Problem Definition
summary of discussions with @mpoke @MSalopek @romac
Currently hermes uses the staking parameter query endpoint to get some parameters required for IBC client creation and chain health check.
ICS Consumer chains do not have an SDK staking module that can be queried in the same way as for sovereign chains. The relevant parameters for relaying are the
ccvconsumer
parameters in genesis which are derived from the governance proposal used to create the consumer chain in the first place. Here is an example (seehistorical_entries
andunbonding_period
):For relaying purposes (creating and updating clients, creating connections, etc) we need to use these parameters as they are the ones relevant to block production.
If the consumer chain is also a "democracy", i.e. it has its own native token, the chain will have an additional staking module. This is not the one hermes should use.
Proposal
ccvconsumer
parameters. This will be done in theinterchain-security
, (see issue) and partial blocker to proceed with the final implementation.ibc-proto-rs
. This is a blocker now as we cannot change the SDK version to the custom one that ICS is usingunbonding_period
parameter from config.tomlibc-proto
consumer
(vs.sovereign
- default). The name is TBD. An alternative is to derive the chain type based on theUnimplemented
return value of the new gRPCAcceptance Criteria
Be able to retrieve and use the correct parameters when creating clients such that connections with other chains can be established.
For Admin Use
The text was updated successfully, but these errors were encountered: