Add basic validation of client upgrade proposal contents #3106
Labels
02-client
07-tendermint
needs discussion
Issues that need discussion before they can be worked on
type: refactor
Architecture, code or CI improvements that may or may not tackle technical debt.
Summary
We should consider adding an additional validation step of at minimum (chainID suffix, height revision number) before proceeding with client upgrade proposals.
For example, if a client upgrade proposal is submitted which modifies the chainID from
testchain-1
totestchain-2
, then it is required for theUpgradedClientState
provided in the proposal contents to ensure the client stateLatestHeight.RevisionNumber
follows suit and increments from revision 1 to 2.The issue arises when a misconfigured upgrade proposal is accepted and a relayer attempts to upgrade the client on the counterparty chain. This results in an error being returned from
VerifyUpgradeAndUpdateState
when attempting to callValidate
on the new client state.Adding an additional basic validation step to the proposal handler will allow this to be caught much earlier in the client upgrade process.
ref: informalsystems/hermes#3057
For Admin Use
The text was updated successfully, but these errors were encountered: