regen-network / regen-ledger

:seedling: Blockchain for planetary regeneration
https://docs.regen.network
Other
214 stars 103 forks source link

Cosmos SDK v0.50 #2068

Open ryanchristo opened 1 year ago

ryanchristo commented 1 year ago

Summary

This epic tracks issues required to perform the upgrade from Cosmos SDK v0.46 to Cosmos SDK v0.50. The following upgrade guides should be used as a reference when implementing the required changes:

Additional Notes

Regen Ledger is currently using a fork of Cosmos SDK v0.46 that includes amino signing support for gov and group modules. A fork is no longer necessary as amino signing support was included in Cosmos SDK v0.47.

Many of the Cosmos SDK modules are now standalone go modules. For example, store has migrated to a standalone module as well as x/gov and other sdk modules. To what extent possible, migrating one by one might help break up the work.

Regen Ledger is using the orm module within the x/data module and the x/ecocredit module (the x/intertx module does not store any state). An upgrade to the latest version of the orm module should be included and may present some challenges.

The addition of new parameters such as the MinInitialDepositRatio should use the default value (in this case 0, which represents no minimum initial deposit) and the decision to set such parameters should be decided via governance.

The new app module interface and extension interfaces should be implemented in full, i.e. extension interfaces should be used when appropriate and for ensuring the module is wired correctly HasConsensusVersion, HasGenesis, HasServices, etc.

The x/params module is deprecated and x/consensus has been added as a replacement for consensus params. The migration for the upgrade will need x/params but x/params should no longer be wired up to the application.

The new AutoCLI option needs to be implemented correctly, otherwise queries for Cosmos SDK modules will not be included in the binary. Regen Ledger modules would ideally migrate to dependency injection to align with Cosmos SDK modules.

Issues


For Admin Use

ryanchristo commented 3 months ago

@robert-zaremba @aaronc @JeancarloBarrios

What are the remaining issues or blockers for the upgrade to cosmos sdk v0.50? Are there any issues that community members might be able to help with?

It looks like there has been some progress in https://github.com/regen-network/regen-ledger/pull/2162 and @JeancarloBarrios mentioned this work is wrapping up and there were just a few tests failing that he was working on.

If you need any help with the upgrade, an update here and opening issues for the remaining work and blockers might make it easier for community members to get caught up and to help with pushing this work over the finish line.

robert-zaremba commented 3 months ago

The blocker is to get v0.47 tested and merged.

ryanchristo commented 3 months ago

Thanks for the update. Is there anything community members might be able to help with?