-
Notifications
You must be signed in to change notification settings - Fork 12
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
[☂️ Tooling, Migration] Umbrella ticket for cosmos-sdk v0.50 migration #240
Comments
@bryanchriswhite I literally create a draft for this so ty for taking the charge. Going to make some edits in-place. |
New ignite cli version seems to add support for 0.50: https://github.com/ignite/cli/releases/tag/v28.0.0 |
@bryanchriswhite I've been looking at [1], and there seem to be a lot of changes we'll need to manage. I'm holding myself back from applying them, but I believe we should try and prioritize (behind business logic) it in the next iteration (2 weeks from now). [1] https://docs.cosmos.network/main/build/migrations/upgrading#v050x |
Wanted to bump this and reiterate its priority in the next iteration. It'll block us from a variety of things such as:
Let's start thinking/planning for potentially put other work on hold to make sure this is accounted for. cc @okdas |
Going to sync with @bryanchriswhite on monday (2024/01/22) and we'll get this migration going! Exciting times 🚀 |
Both #319 and #347 will be tackled in part/full during the migration. We will also address #328 (comment) where appropriate - and update tests that depend on |
Objective
Captures tasks related to the v0.50 migration that may not otherwise have a place to go yet.
See: v0.50 migration guide.
NOTE: there's a broken link in the
BaseApp
section; see: cosmos/cosmos-sdk#19155.Origin Document
Rollkit
The Rollkit team is maintaining two branches (
v0.4x
andv0.5
) until everyone is fully off of the prior version. We can stick onv0.4x
for as long as this is supported, but ideally migrate sooner after MVP business logic is complete.Source Code
Goals
Deliverables
Comprehensive migration instructions and notes notion doc
Specific TODOs
EventsQueryClient
andEventsReplayClient
markdown docs, links to cosmos-sdk docs.Migration strategy
Options:
“In-place” migration
Steps:
Update rollkit/cosmos-sdk version in go.mod and resolve all resulting import issues:
Replace imports for cosmos-sdk objects that have moved:
We did not see any indication that we were approaching completion of this step in the time that we spent moving in this direction.
(Perhaps deleting the go.sum could assist in automating this part; not tested.)
Follow the official cosmos-sdk migration guide to manually re-wire our existing appchain components.
Discover and correct for any rollkit-specific integration hang-ups. We should expect few to none exist depending on how many times this has been attempted by other rollkit (possibly vanilla as well) cosmos-sdk chains which are actively running networks.
“Re-scaffold” migration
Merge procedure:
Review strategy
Reorganize diff, for review purposes only, such that module code in each
migration_<module>
branch can be compared to their respectivemain
counterpart code:Review branch cherry-pick script:
NOTE: It doesn’t seem possible to rely on
git mv
to consistently produce a “move diff” in the github UI due the separation of concerns between tracking and representing the diff (i.e. we would have to change how github does thediff
part). I experimented for an hour or so with mixed / inconsistent results.See this excerpt from a conversation I had with chatGPT about it:
An alternative would be to manually run something like
git diff -M0%
explicitly on files that we know were moved; e.g.proto/pocket/*
⇒proto/poktroll/*
.Creator: @bryanchriswhite
Co-Owners: @Olshansk @okdas
The text was updated successfully, but these errors were encountered: