-
Notifications
You must be signed in to change notification settings - Fork 41
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
Epic: SDK v0.50 #1760
Milestone
Comments
If you find more thing that need to be done (that you're not just handling as you find it), feel free to update the checklists. |
This command can be used to check compilation of all the unit tests: go test -mod=readonly -tags='cgo ledger test_ledger_mock norace' -run='ZYX_NOPE_NOPE_XYZ' ./... This is an example command for finding specific TODOs: grep --color --recursive --include '*' --include '.*' --exclude-dir .git --exclude-dir vendor --exclude statik.go -F 'TODO[1760]: account' |
This was referenced Mar 2, 2024
19 tasks
This was referenced Mar 15, 2024
8 tasks
This was referenced Mar 26, 2024
This was referenced Apr 12, 2024
8 tasks
8 tasks
8 tasks
This was referenced May 1, 2024
Merged
This was referenced May 8, 2024
Merged
This was referenced May 16, 2024
Merged
This was referenced May 17, 2024
Merged
This was referenced May 17, 2024
This was referenced May 28, 2024
This was referenced May 30, 2024
This was referenced Jun 11, 2024
The work for this bump is done, so I'm closing this epic! |
github-project-automation
bot
moved this from In Progress
to Done
in Provenance Core Protocol Team
Jul 8, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Summary
This epic is for identifying and coordinating the work for bumping Cosmos SDK to
v0.50.x
.Overview
We will need to make changes across at least two repos, this one and our fork of the SDK. We'll need to do a few key things that then allow us to do some work in parallel. In general, we will be commenting a bunch of stuff out and re-adding it all back in.
As we disable stuff, mark things with todo comments that reference this issue, e.g.
// TODO[1760]: Add the marker module back in.
These comments should give us a nice list of work to do if we do something likegrep -rF 'TODO[1760]' *
When you pick up a checklist item, make an issue from it and assign it to yourself (so that we know someone's working on it). Use the "convert to issue" thing (right side when you hover over a checklist item) for this. It's okay to have a PR that checks off multiple things.
The Plan
main-v0.50
branch that we will create PRs to. We'll start it off by switching the SDK tov0.50.x
and commenting out a lot of stuff, then we'll work on fixing everything and putting it all back together.release-pio/v0.50.x
branch that starts with av0.50.x
tag and re-applies our customizations.main
, but those will eventually need to be backported tomain-v0.50
.main-v0.50
branch.main-v0.50
is done, merge it back intomain
.Provenance Repo Plan
These should be done in this order.
v0.50.x
.main-v0.50
branch from ourmain
branch. #1771TODO[1760]
s compile a general list of things to work on and add entries to the TODOs checklist.main-v0.50
.main
that aren't yet inmain-v0.50
.main-v0.50
back intomain
.main
.Provenance Repo Pre-Work
These are the key changes that need to be done before we start the
v0.50
work in this repo.Provenance Repo TODOs
These can (mostly) be done in any order and can be grouped together for PRs as needed. An entry that starts with a tag has related TODOs in the repo.
Example command for finding TODO entries for a tag:
account
: Add the account keeper back to the app. PR [TODOs] sdk-v0.50 app.go #1844auth
: Add the auth keeper back to the app. PR [TODOs] sdk-v0.50 app.go #1844authz
: Add the authz keeper back to the app. PR [TODOs] sdk-v0.50 app.go #1844bank
: Add the bank keeper back to the app. PR [TODOs] sdk-v0.50 app.go #1844capability
: Add the capability keeper back to the app. PR [TODOs] sdk-v0.50 app.go #1844crisis
: Add the crisis keeper back to the app. PR [TODOs] sdk-v0.50 app.go #1844distr
: Add the distribution keeper back to the app. PR [TODOs] sdk-v0.50 app.go #1844evidence
: Add the evidence keeper back to the app. PR [TODOs] sdk-v0.50 app.go #1844feegrant
: Add the feegrant keeper back to the app. PR [TODOs] sdk-v0.50 app.go #1844gov
: Add the gov keeper stuff back to the app. PR [TODOs] sdk-v0.50 app.go #1844ica-host
: Add the icahost back to the app. PR [TODOs] sdk-v0.50 app.go #1844mint
: Add the mint module back to the app. PR [TODOs] sdk-v0.50 app.go #1844slashing
: Add the slashing keeper back to the app. PR [TODOs] sdk-v0.50 app.go #1844staking
: Add the staking keeper back to the app. PR [TODOs] sdk-v0.50 app.go #1844upgrade
: Add the upgrade keeper back to the app. PR [TODOs] sdk-v0.50 app.go #1844wasm
: Add the wasm keeper back to the app, and fix a couple provwasm sim parts.Add proposers to old proposals (in the upgrade): https://github.com/cosmos/cosmos-sdk/blob/v0.47.6/UPGRADING.md#new-proposalproposer-fieldCan only affect current, open proposals, and stuff needs to be hard-coded, so we probably don't care about this.app-module
: Add assertions of new interface types with each module definition, Ensure the BasicModuleManager is correct, and get rid of the global ModuleBasics variable (inapp/app.go
).auto-cli
: Ensure we still get the GetAccount and Block commands.broadcast
: Fix unit tests that depend on submitting a tx and getting a result. https://github.com/cosmos/cosmos-sdk/blob/v0.47.6/UPGRADING.md#broadcast-modecli
: Grab ReadPageRequestWithPageKeyDecoded from our fork and switch back to it.finalize-block
: Refactor a bunch of tests to use FinalizeBlock (was BeginBlock/EndBlock stuff). TODOs finalize-block, event-history, signing,add cosmos.msg.v1.signer to protos txs #1873genutil
: Add some genutil commands back in.gov-cli
: Grab GenerateOrBroadcastTxCLIAsGovProp and related stuff from our fork of the SDK and restore its uses.proto
: Update protos that use sdk.Int and sdk.Dec (now sdkmath .Int and .LegacyDec). Make sure all tx requests have a signer option. Make sure any interface-related options are correct. https://github.com/cosmos/cosmos-sdk/blob/v0.47.6/UPGRADING.md#acceptsimplements_interface-proto-annotations PR [TODOs] sdk-v0.50 app.go #1844proto
: Update proto depenency retrieval. Update proto generation and management. Use cosmos/gogoprotoinstead of gogo/protobuf: https://github.com/cosmos/cosmos-sdk/blob/v0.47.6/UPGRADING.md#protobuf Regenerate the protos.rosetta
: See what's up with this now. Add it back in or clean up the TODOs.signers
: Update MsgCreateTriggerRequest validation because ValidateBasic() can't get signers anymore.signing
: Fix tests that do their own thing to sign Txs. TODOs finalize-block, event-history, signing,add cosmos.msg.v1.signer to protos txs #1873streaming
: Ensure that the new streaming stuff is sufficient.sync-info
: Figure out how to keep this route where it is.yaml
: Decide if we care about a yaml-related test.attribute
: Delete the NewHandler and migrate the tests to the keeper.marker
: Delete the marker handler and migrate handler tests to the keeper.metadata
: Delete the metadata handler and migrate handler tests to the keeper.name
: Delete the name handler.reward
: Delete the reward handler. Clean up some event attribute stuff.marker
: Delete the marker querier.metadata
: Delete the metadata querier.bank
: Remove a couple entries from the marker's expected keeper.async-icq
: Add this back once they have a v0.50 compatible version.bank
: Figure out how to use the bank queries in the CLI tests.gov
: Fix tests/sims that try to get the last proposal or update gov params.ibc
: Switch back to our fork of ibc-go or clean up the TODO in go.mod.ibc-host
: Figure out where the ibchost stuff moved and add the stuff back to the app.params
: Add migration of consensus params to the upgrade. https://github.com/cosmos/cosmos-sdk/blob/v0.47.6/UPGRADING.md#xconsensusconsensus
: Add new module registration forconsensus
module to the upgrade handler (0.47.x migration)params
: Create module migrations to move params to their own stores: metadata, marker, name, attribute, msgfees, reward, trigger, ibctransfer, ibc-hooks. Track Migration of Parameters for Metadata, Marker, Name, and MsgFees Modules #1935wasm
: Switch back to our fork (or delete the TODO in go.mod).sdk
: Bump the SDK back to a version from our fork.count-authz
: Fix some tests once this is back in the SDK.event-history
: Replace the event history stuff once we have it back in the SDK. TODOs finalize-block, event-history, signing,add cosmos.msg.v1.signer to protos txs #1873fee-handler
: Replace the fee handler stuff once we have it back in the SDK. PR Remove unsupported databases for sdk v0.50. #1862locked-coins
: Replace the locked coins stuff once we have it back in the SDK.msg-service-router
: Switch back to the PioMsgServiceRouter once IMsgServiceRouter is back in the SDK. Ensure ours is still in-line with what the SDK has (plus our alterations). PR [TODOs] sdk-v0.50 app.go #1844bankkeeper.MigrateParamsProv
in the upgrade handlers.msg-service-router
: registerHybridHandler was added in v0.50 we need to figure out if we need to add msg fee logic to itexchange
: Restore commented functionality once the better InputOutputCoins is back in the SDK.github
: Restore some github-action related stuff.option (cosmos.msg.v1.signer) = "<signer>"
and remove theGetSigners
methods. Also, make sure tx msg has been tested with sim or other method where it has been signed.rewards
modulemain
since splitting offmain-v0.50
.Getparams
andSetParams
endpoints for the modules that have params, but don't have those endpoints.TODO[1760]
comments.Cosmos-SDK Fork Plan
These should be done in this order.
release-pio/v0.50.x
branch from the most recentv0.50.x
tag.release-pio/v0.50.x
.main-pio
matchrelease-pio/v0.50.x
.Cosmos-SDK Fork TODOs
InputOutputCoins
func signature, we'll want that to switch back to that and make our own copy of that func.buildCommitInfo
method, sort the keys by name first.ValidateBasic
on all its msgs.The text was updated successfully, but these errors were encountered: