-
Notifications
You must be signed in to change notification settings - Fork 619
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
msg server function and tests for MsgScheduleIBCClientUpgrade #4442
Conversation
…e-clients-using-v1-governance-proposals' into charly/issue#3673-msg-server
…e-clients-using-v1-governance-proposals' into charly/issue#3673-msg-server
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks super clean! Just left two suggestions on testing 👍
testCases := []struct { | ||
name string | ||
malleate func() | ||
expPass bool |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same as other PR, we can refactor this to be expError
and use expPass := expError == nil
in the test body! 👍
|
||
_, err = keeper.Keeper.IBCSoftwareUpgrade(*suite.chainA.App.GetIBCKeeper(), suite.chainA.GetContext(), msg) | ||
if tc.expPass { | ||
suite.Require().NoError(err) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inside expPass
we can also check that there exists an upgrade plan in the x/upgrade
store and upgraded client state in the upgradePath
…e-clients-using-v1-governance-proposals' into charly/issue#3673-msg-server
…e-clients-using-v1-governance-proposals' into charly/issue#3673-msg-server
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. I agree also with @damiannolan's suggestions.
…handler-to-upgrade-clients-using-v1-governance-proposals
…e-clients-using-v1-governance-proposals' into charly/issue#3673-msg-server
@@ -849,3 +851,74 @@ func (suite *TypesTestSuite) TestMsgIBCSoftwareUpgrade_GetSigners() { | |||
} | |||
} | |||
} | |||
|
|||
// TestMsgIBCSoftwareUpgrade_ValidateBasic tests ValidateBasic for MsgIBCSoftwareUpgrade | |||
func (suite *TypesTestSuite) TestMsgIBCSoftwareUpgrade_ValidateBasic() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this test got removed in the last pr merge process.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Left a tiny nit and a suggestion (implement if you wish!)
func (*KeeperTestSuite) TestIBCSoftwareUpgrade() { | ||
func (suite *KeeperTestSuite) TestIBCSoftwareUpgrade() { | ||
var ( | ||
expError error |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
super nit: I like defining the expError on the testCases, it makes it more explicit what we expect to occur and avoids potential mishaps of not setting an expected error
// update trusting period | ||
clientState := ibctm.NewClientState(suite.chainA.ChainID, ibctesting.DefaultTrustLevel, ibctesting.TrustingPeriod+100, ibctesting.UnbondingPeriod, ibctesting.MaxClockDrift, clienttypes.NewHeight(1, 10), commitmenttypes.GetSDKSpecs(), ibctesting.UpgradePath) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could also likely do:
clientState := path.EndpointB.GetClientState()
clientState.TrustingPeriod+=100
…and `MsgIBCSoftwareUpgrade`. The legacy proposal types `ClientUpdateProposal` and `UpgradeClientProposal` have been removed. (#4620) * Add proto message, implement sdk.Msg for Recover Client. (#4494) * Add proto message for Recover client, implement sdk.Message interface. * Update modules/core/02-client/types/msgs.go Co-authored-by: Damian Nolan <[email protected]> * Apply suggestions from code review Co-authored-by: Charly <[email protected]> * Remove gogoproto false for cmp, lint, move ibctesting address inline. --------- Co-authored-by: Damian Nolan <[email protected]> Co-authored-by: Charly <[email protected]> * add protos, msgs, keeper handler to upgrade clients using v1 governance proposals (#4436) * add protos and keeper function placeholder * add keeper functions/tests, msgs and tests * update to 0.47.5 release branch * Move signer as last proto field. (#4510) * msg server function and tests for MsgScheduleIBCClientUpgrade (#4442) * Add 02-client implementation for Recover client. (#4499) * Add 02-client implementation for Recover client. * Partially address feedback. * Docu RecoverClient, add label, re-use error. * Add implementation for recover client on message server. (#4503) * Add message server handler for recovering a client * Don't assign to deprecated attrs, clean up unused fields. * Further clean-up, remove declaration of unmutated vars. * Add cmd for submitting a recover client prop. (#4522) * Add cmd for submitting a recover client prop. * Bump cosmossdk in e2e. * Use govtypes.ModuleName, rename old govtypes to govv1beta1 * Update modules/core/02-client/client/cli/tx.go Co-authored-by: Damian Nolan <[email protected]> * Add auth flag. --------- Co-authored-by: Damian Nolan <[email protected]> * rename command * docs: fixed broken links (#4571) * Add e2e test for recovering a client. (#4543) Co-authored-by: Colin Axnér <[email protected]> * feat: add unpacket inerfaces message assertion (#4588) * add cli for MsgIBCSoftwareUpgrade (#4558) * docs: use MsgRecoverClient in docs (#4580) * docs: recover client update * Update docs/ibc/proposals.md * Apply suggestions from code review Co-authored-by: Carlos Rodriguez <[email protected]> --------- Co-authored-by: Carlos Rodriguez <[email protected]> * refactor: remove legacy client update proposal (#4581) * refactor: remove legacy client update proposal * e2e: swap from ClientUpdateProposal e2e to RecoverClient * refactor: remove unused events * feat: add proposal simulator interface function and tests (#4466) Co-authored-by: colin axner <[email protected]> * refactor!: remove UpgradeProposal type (#4602) * create separate event emission for ibc software upgrades vs an upgraded client (#4594) * add new event type * update event name * fix build * remove: legacy event emissions * remove: unnecessary assignments, apply suggestion from code review * e2e: schedule IBC software upgrade (#4585) * wip e2e test * query proposal * update upgrade height in plan * rm unnecessary wait/authority * rm test artifact from merge * add checks for scheduled plan * hook up upgrade query client * plan height * pr fixes * update test * import space * update newchainID value * update clientID upgrade * linter * gci * rm unnecessary event --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Damian Nolan <[email protected]> Co-authored-by: colin axnér <[email protected]> Co-authored-by: Sishir Giri <[email protected]> Co-authored-by: srdtrk <[email protected]> Co-authored-by: Cian Hatton <[email protected]> Co-authored-by: Julien Robert <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> Co-authored-by: sontrinh16 <[email protected]> Co-authored-by: catShaark <[email protected]> Co-authored-by: khanh-notional <[email protected]> * chore: docs for MsgIBCSoftwareUpgrade (#4601) * chore: update docs for UpgradeProposal -> MsgIBCSoftwareUpgrade * chore: anticipate link change * fix event docs * refactor: s.Assert -> s.Require * Apply suggestions from code review Co-authored-by: Damian Nolan <[email protected]> * make proto-all * chore: update compiler assertion * refactor: ordering, order as follows: create, update, upgrade, misbheaviour, recover, ibcsoftwareupgrade, update params * refactor: simplify ibc software upgrade emitted event * lint lint lint * Apply suggestions from code review Co-authored-by: Charly <[email protected]> * review of feat/govv1 * pr nits * fix tests for error wrapping --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Jim Fasarakis-Hilliard <[email protected]> Co-authored-by: Damian Nolan <[email protected]> Co-authored-by: Charly <[email protected]> Co-authored-by: Charly <[email protected]> Co-authored-by: Carlos Rodriguez <[email protected]> Co-authored-by: srdtrk <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sishir Giri <[email protected]> Co-authored-by: Cian Hatton <[email protected]> Co-authored-by: Julien Robert <[email protected]> Co-authored-by: sontrinh16 <[email protected]> Co-authored-by: catShaark <[email protected]> Co-authored-by: khanh-notional <[email protected]>
Please first review #4436
Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
docs/
) or specification (x/<module>/spec/
).godoc
comments.Files changed
in the Github PR explorer.Codecov Report
in the comment section below once CI passes.