regen-ledger icon indicating copy to clipboard operation
regen-ledger copied to clipboard

Cosmos SDK v0.50

Open ryanchristo opened this issue 1 year ago • 3 comments

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:

  • https://github.com/cosmos/cosmos-sdk/blob/release/v0.47.x/UPGRADING.md
  • https://github.com/cosmos/cosmos-sdk/blob/release/v0.50.x/UPGRADING.md

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

  • [ ] #1449
  • [ ] ...

For Admin Use

  • [ ] Not duplicate issue
  • [ ] Appropriate labels applied
  • [ ] Appropriate contributors tagged
  • [ ] Contributor assigned/self-assigned

ryanchristo avatar Oct 19 '23 00:10 ryanchristo