feat: upgrade to sdk v0.55 - #5001
Draft
julienrbrt wants to merge 6 commits into
Draft
julienrbrt wants to merge 6 commits into
julienrbrt wants to merge 6 commits into
Conversation
✅ Deploy Preview for docs-ignite ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
The v0.53.6 pin breaks go mod tidy now that cosmossdk.io/api v1.1.0 no longer contains the params and group proto packages imported by the old SDK. Also raise the Go directive to 1.26.7 to match ignite/cli/v30.
- add the Cosmos SDK v0.55 section to the v30.0.0 migration guide - update the readme compatibility table and the install Go version - update the Go client tutorial module example to ignite/cli/v30 - bump the IBC guide import to ibc-go/v11 - prefix Cosmos commands with 'ignite cosmos' in the live guide, clients, and configuration pages - add changelog entries for the SDK upgrade
Cosmos SDK v0.55 moves the deprecated circuit and nft protos to contrib/proto, outside the proto tree. When module discovery walked the SDK module root it picked them up, and the name based package lookup produced missing proto/cosmos/<mod> paths that broke ts-client and composables generation. Resolve SDK module protos from the SDK proto directory only. Also remove x/circuit and x/nft from the chain template, following the SDK v0.55 reference app, and update the affected integration tests, changelog, and migration guide.
The cosmos-sdk v0.55.0 replace brings libp2p v0.48 and webtransport-go v0.11.1 into the app module graph. ignite/cli@main still requires cosmos-sdk v0.53, so until this branch merges nothing bumps webtransport-go past v0.11.1, which does not compile against the quic-go version required by the buf tool dependency. Pin the same compatible versions as the chain template.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Upgrades Ignite CLI and the scaffolded Cosmos SDK chain templates to Cosmos SDK v0.55.0, IBC-Go v11.2.0, and CometBFT v0.40.0.
CLI
github.com/cosmos/cosmos-sdkto v0.55.0,github.com/cometbft/cometbftto v0.40.0, andcosmossdk.io/coreto v1.1.0.github.com/libp2p/go-libp2pto v0.50.0 andgithub.com/quic-go/webtransport-goto v0.13.0. CometBFT v0.40 pulls in libp2p, and webtransport-go v0.11.1 does not compile against the quic-go version required by the buf tool.StargateFiftyFiveVersiontocosmosver.Versions(nowLatest).go mod tidynow thatcosmossdk.io/apiv1.1.0 drops the params and group proto packages, and the webtransport pin is needed untilignite/climain carries the compatible versions.protodirectory only during module discovery. Cosmos SDK v0.55 moves the deprecated circuit and nft protos tocontrib/proto, outside the proto tree, wherebuf --pathcannot reach them and the name-based package lookup returns missing paths.Chain template
go.mod: SDK v0.55.0 dependency set,go 1.26.5, and replaces for sonic, libp2p, and webtransport-go.x/params(deleted in v0.55): drop the params module config,ParamsKeeper,GetSubspace, and the legacy IBC param key tables.x/circuitandx/nftfrom the template, following the SDK v0.55 reference app (simapp). They are deprecated and moved tocosmos-sdk/contrib, and TypeScript client generation cannot resolve their protos from the contrib tree.x/group(moved to Cosmos Enterprise under a commercial license).evidence,feegrant, andupgradeimports togithub.com/cosmos/cosmos-sdk/x/....cosmossdk.io/logtolog/v2andcosmossdk.io/storetocosmos-sdk/store/v2.SIGN_MODE_TEXTUALwiring fromroot.go(TextualCoinMetadataQueryFnis gone in v0.55).traceStorefromapp.New,AppCreator,AppExporter, andappBuilder.Build.SetICS4Wrapper.NewUncachedContextwithNewNextBlockContextplusSimWriteStatein the in-place testnet command.genutil.ExportGenesisFileWithTimesignature in the multi-node testnet command.Template bug fixes found along the way
expected_keepers.goimportedcosmossdk.io/core/addressonly when the module had a Staking dependency, butAuthKeeperalways usesaddress.Codec. Modules without a Staking dependency did not compile. The import is now unconditional.depinject.gohad an unbalanced plush conditional that rendered theibckeeperimport into non-IBC modules. The opening conditional is restored.logandcodectestutilwithout using them.Docs
ignite cosmosin the live guide, clients, and configuration pages, since the top-level commands now target gno.land.Validation
go build ./...andgo vet ./...pass.ignite cosmos chain initandignite cosmos chain serverun on a freshly scaffolded chain and the chain produces blocks.ignite cosmos generate ts-clientandgenerate composables(with a Vue frontend) work on a freshly scaffolded chain.chain,app,tx, andcosmosgenpass. Local runs need a workaround for an invalid Buf API token in the machine~/.netrcand for agoenvtest that assumes the defaultGOMODCACHEpath; CI is not affected by either.