Skip to content
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

deps: update to cosmos-sdk v0.52 (Olympus) #7261

Merged
merged 98 commits into from
Dec 17, 2024
Merged

Conversation

tac0turtle
Copy link
Member

@tac0turtle tac0turtle commented Sep 6, 2024

Description

@damiannolan updating PR description.

Updates ibc-go to cosmos-sdk olympus release.

We will also migrate to use runtime.Environment. Currently this PR only migrates icacontroller to runtime.Environment to fix test failures which suffered from loss of event propagation when using UnwrapSDKContext due to event emission on a copy.

Blocking issues:

** Required for compatability tests and E2E upgrade tests as client code working on v0.52 is incompatible against older node software

closes: #7223


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.

  • Targeted PR against the correct branch (see CONTRIBUTING.md).
  • Linked to GitHub issue with discussion and accepted design, OR link to spec that describes this work.
  • Code follows the module structure standards and Go style guide.
  • Wrote unit and integration tests.
  • Updated relevant documentation (docs/).
  • Added relevant godoc comments.
  • Provide a conventional commit message to follow the repository standards.
  • Include a descriptive changelog entry when appropriate. This may be left to the discretion of the PR reviewers. (e.g. chores should be omitted from changelog)
  • Re-reviewed Files changed in the GitHub PR explorer.
  • Review SonarCloud Report in the comment section below once CI passes.

@tac0turtle tac0turtle changed the title chore: update to 0.52 (1/n) chore: update to 0.52 Sep 8, 2024
@@ -641,7 +641,7 @@ func (suite *KeeperTestSuite) TestJSONOnRecvPacket() {
"messages": [],
"metadata": "ipfs://CID",
"title": "IBC Gov Proposal",
"summary": "tokens for all!",
"summary": "tokens for some, miniature American flags for others!",
Copy link
Contributor

@DimitrisJim DimitrisJim Dec 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lol'ed profusely

Copy link
Contributor

@DimitrisJim DimitrisJim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

more than half way there, looks great so far!

modules/apps/transfer/keeper/relay_test.go Show resolved Hide resolved
modules/apps/transfer/module.go Show resolved Hide resolved
modules/apps/27-interchain-accounts/module.go Show resolved Hide resolved
modules/apps/transfer/keeper/genesis.go Show resolved Hide resolved
Copy link

Copy link
Contributor

@DimitrisJim DimitrisJim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

finished all files. Idea of merging and taking care of some things post merge sounds good to me.

Thanks so much @tac0turtle for initial work and @damiannolan and @chatton for powering through with it!

modules/core/keeper/msg_server.go Show resolved Hide resolved
modules/light-clients/07-tendermint/update.go Show resolved Hide resolved
ante.NewValidateMemoDecorator(options.AccountKeeper),
ante.NewConsumeGasForTxSizeDecorator(options.AccountKeeper),
ante.NewDeductFeeDecorator(options.AccountKeeper, options.BankKeeper, options.FeegrantKeeper, options.TxFeeChecker),
ante.NewSetPubKeyDecorator(options.AccountKeeper), // SetPubKeyDecorator must be called before all signature verification decorators
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

trusting this comment is still valid and handled by the new NewSigVerificationDecorator handler that appears to encompass all ones that are now removed

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think so! But I didn't verify

testing/simapp/ante.go Show resolved Hide resolved
Copy link
Member

@damiannolan damiannolan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to move forward with this to main now. I've created a number of issues to follow up with and I will continue migrating the rest of the codebase to use appmodule.Environment

Thanks to everyone who contributed on this PR and to the SDK team for their responsiveness in addressing any issues that came up from it.

The last blocking issue listed in the description is in relation to client encoding of txs which directly affects testing compatibility and upgrade tests. This is being actively worked on and I think it can be resolved soon ™️

edit: note that build (arm) was removed but is still showing as a required check on PR. This doesn't matter anymore

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could use more love too at some point

@DimitrisJim
Copy link
Contributor

edit: note that build (arm) was removed but is still showing as a required check on PR. This doesn't matter anymore

removed as required check!

Copy link
Contributor

@gjermundgaraba gjermundgaraba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Holy moly this was not a small upgrade 🙈
Really great work on this! LGTM and follow up with smaller PRs as soon as possible.

@@ -42,7 +42,7 @@ const (
// ChainBRelayerName is the name given to the relayer wallet on ChainB
ChainBRelayerName = "rlyB"
// DefaultGasValue is the default gas value used to configure tx.Factory
DefaultGasValue = 500_000_0000
DefaultGasValue = 100_000_00
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, would be interesting to understand if this is because it was sent too high in the first place, or the sdk somehow requires less? Not very important if this value works (although, should it not be 10_000_000? :D )

modules/apps/27-interchain-accounts/module.go Show resolved Hide resolved
modules/apps/transfer/keeper/keeper.go Show resolved Hide resolved
@damiannolan damiannolan added this pull request to the merge queue Dec 17, 2024
Merged via the queue into main with commit 8575743 Dec 17, 2024
119 of 129 checks passed
@damiannolan damiannolan deleted the marko/gomod_change branch December 17, 2024 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

EPIC: Olympus Upgrade (SDk 0.52)
8 participants