-
Notifications
You must be signed in to change notification settings - Fork 332
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
CLIs for upgrades regression following update to tm-rs 0.21 #1229
Comments
romac
added a commit
that referenced
this issue
Jul 22, 2021
* Bump crates and guide to 0.6.1 * Fix `hdpath` version * Update changelog * Bump proto crate version. * Fixed typo * Fix for query tx events unwrap * Add warning on cancelled subscription in supervisor * Bump ibc-proto to 0.9.0 * Update `hdpath`'s dep on `bitcoin` * Disable `upgrade client` command due to a regression See #1229 for more info * Disable `tx raw upgrade-chain` due to a regression See #1229 for more info * Remove mention of `upgrade clients` from the changelog * Add warninga about newly disabled commands * Disable `tx raw upgrade-clients` due to a regression See #1229 for more info * Update changelog Co-authored-by: Adi Seredinschi <adi@informal.systems>
adizere
added a commit
that referenced
this issue
Aug 2, 2021
7 tasks
adizere
added a commit
that referenced
this issue
Aug 2, 2021
* Fix for regression #1229 using new type ics02::TrustThreshold * Cleanup * changelog * Apply suggestions from code review Co-authored-by: Romain Ruetschi <romain@informal.systems> * Add CI job for finding invalid links in markdown files (#1244) * Added markdown-link-check * Update changelog * Added config file * Added ignore pattern for crates.io, simplified output * Added ignore pattern for localhost * Fix ignore patterns in markdown-link-check config * Better Github relative link for directory * Fix Github relative links within the project * Fixed two broken links * Fixed last broken link * Reverted changelog * Removed pending changelog file Co-authored-by: Adi Seredinschi <adi@informal.systems> Co-authored-by: Romain Ruetschi <romain@informal.systems> Co-authored-by: Ranadeep Biswas <ranadeep@informal.systems>
hu55a1n1
pushed a commit
to hu55a1n1/hermes
that referenced
this issue
Sep 13, 2022
* Bump crates and guide to 0.6.1 * Fix `hdpath` version * Update changelog * Bump proto crate version. * Fixed typo * Fix for query tx events unwrap * Add warning on cancelled subscription in supervisor * Bump ibc-proto to 0.9.0 * Update `hdpath`'s dep on `bitcoin` * Disable `upgrade client` command due to a regression See informalsystems#1229 for more info * Disable `tx raw upgrade-chain` due to a regression See informalsystems#1229 for more info * Remove mention of `upgrade clients` from the changelog * Add warninga about newly disabled commands * Disable `tx raw upgrade-clients` due to a regression See informalsystems#1229 for more info * Update changelog Co-authored-by: Adi Seredinschi <adi@informal.systems>
hu55a1n1
pushed a commit
to hu55a1n1/hermes
that referenced
this issue
Sep 13, 2022
…reshold (informalsystems#1254) * Fix for regression informalsystems#1229 using new type ics02::TrustThreshold * Cleanup * changelog * Apply suggestions from code review Co-authored-by: Romain Ruetschi <romain@informal.systems> * Add CI job for finding invalid links in markdown files (informalsystems#1244) * Added markdown-link-check * Update changelog * Added config file * Added ignore pattern for crates.io, simplified output * Added ignore pattern for localhost * Fix ignore patterns in markdown-link-check config * Better Github relative link for directory * Fix Github relative links within the project * Fixed two broken links * Fixed last broken link * Reverted changelog * Removed pending changelog file Co-authored-by: Adi Seredinschi <adi@informal.systems> Co-authored-by: Romain Ruetschi <romain@informal.systems> Co-authored-by: Ranadeep Biswas <ranadeep@informal.systems>
hu55a1n1
pushed a commit
to cosmos/ibc-rs
that referenced
this issue
Sep 29, 2022
* Bump crates and guide to 0.6.1 * Fix `hdpath` version * Update changelog * Bump proto crate version. * Fixed typo * Fix for query tx events unwrap * Add warning on cancelled subscription in supervisor * Bump ibc-proto to 0.9.0 * Update `hdpath`'s dep on `bitcoin` * Disable `upgrade client` command due to a regression See informalsystems/hermes#1229 for more info * Disable `tx raw upgrade-chain` due to a regression See informalsystems/hermes#1229 for more info * Remove mention of `upgrade clients` from the changelog * Add warninga about newly disabled commands * Disable `tx raw upgrade-clients` due to a regression See informalsystems/hermes#1229 for more info * Update changelog Co-authored-by: Adi Seredinschi <adi@informal.systems>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Crate
ibc-relayer
Summary of Bug
Following the update to tm-rs 0.21 (#1223), in particular this change mentioned here, the
upgrade-chain
functionality fails. Thezero_custom_fields
method can no longer enforce the trust threshold to be 0/0, because that is not a valid domain type construction of theTrustThresholdFraction
type.There is a possible workaround to make the
upgrade-chain
command work successfully, documented in this commit27c1a7e
This workaround achieves the following:
prost_types::Any
directly from a rawClientState
ClientState
has not type checks, so we can enforce zero trust_levelupgrade-chain
tx to succeedThe drawback of this solution is that it's partial: the
upgrade client(s)
CLIs still don't work, because they required reading and decoding the client state from the upgraded chain, and this state includes the zero value, which cannot be decoded.Two possible long-term solution:
TrustThresholdFraction
to permit construction with zero fieldTrustThresholdFraction
in therelayer
crate and handle its validation there, permitting construction with zero fieldsAs a short term solution, for 0.6.1, we are explicitly disabling the
upgrade-chain
andupgrade client
functionality.More details on the underlying problem
A successful governance proposal would have a zero trust level:
Using the changes from a0d9d4b, the chain accepts the upgrade proposal, but the upgraded trust level is not zero:
The
trust_level
field, like all the other fields specified in thezero_custom_fields
method, are custom and differ from client to client (these are chosen by the relayer when that client was created). Since these are client-specific field, the upgrading chain must set them to zero, and must only change those fields that are chain-specific (chain id, unbonding period).After discussing with @colin-axner, here are further details:
upgrade client
CLI subsequently fails with an error specifying that proof verification failed, log here.Version
3c383cf
Acceptance Criteria
upgrade-chain
andupgrade client
CLIsFor Admin Use
The text was updated successfully, but these errors were encountered: