diff --git a/ROADMAP.md b/ROADMAP.md index 4f127a5bb1ec..7ed72ae95ee4 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -38,7 +38,7 @@ Welcome to the Cosmos SDK's team roadmap. ### Dev UX -* [ ] [Release collections v1](https://github.com/cosmos/cosmos-sdk/issues/14300) +* [x] [Release collections v0.1](https://github.com/cosmos/cosmos-sdk/issues/14300) * Collections is a new abstraction layer similar to the ORM. In the ADR phase it received support from many in the ecosystem. * V1 release should allow modules to be migrated to collections. * Migrate 3 modules to use collections api @@ -46,7 +46,7 @@ Welcome to the Cosmos SDK's team roadmap. * [ ] [Release ORM v1](https://github.com/cosmos/cosmos-sdk/issues/11088) * [x] [Sign mode textual](https://github.com/cosmos/cosmos-sdk/issues/11970) * Sign mode textual has been under construction for 2 quarters now, this quarter the goal is to move towards v1 and potentially line up a audit before final release. -* [ ] Core API +* [x] Core API * [Merge ADR for Core API](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-063-core-module-api.md) * Migrate three modules to use core api * [x] Module Dependency @@ -59,13 +59,13 @@ Welcome to the Cosmos SDK's team roadmap. * Come to consensus on module dependency graph for the future * Begin socializing conventions * [ ] [Remove global bech32](https://github.com/cosmos/cosmos-sdk/issues/13140) -* [ ] [Auth module](https://github.com/cosmos/cosmos-sdk/issues/14900) +* [x] [Auth module](https://github.com/cosmos/cosmos-sdk/issues/14900) * Produce a spec/ADR on a proposed new auth module. * [x] [Implement Amino Json encoder](https://github.com/cosmos/cosmos-sdk/issues/10993) ### Testing -* [ ] [integration testing framework](https://github.com/cosmos/cosmos-sdk/issues/14145) +* [x] [integration testing framework](https://github.com/cosmos/cosmos-sdk/issues/14145) * design and merge a integration testing framework. * The goals of the framework would that a module only needs to depend on modules that it depends on outside of testing, not all modules in the sdk like today. @@ -74,7 +74,7 @@ Welcome to the Cosmos SDK's team roadmap. Issue: https://github.com/cosmos/cosmos-sdk/issues/12272 -* [ ] [ADR ABCI 2.0](https://github.com/cosmos/cosmos-sdk/issues/14674) +* [x] [ADR ABCI 2.0](https://github.com/cosmos/cosmos-sdk/issues/14674) * Write ADR for integration of vote extensions & finalize block **Blocked**: @@ -104,53 +104,129 @@ Issue: https://github.com/cosmos/iavl/issues/548 ### Storage -* Completion of Storage v2 - * Goal is to complete the rewrite storage - * Begin testing the rewrite on mainnets if possible - * External Audit -* Optimistic Execution spec is merged and implementation has begun - * Goal is to have the spec merged and implementation started. -* Store Design should enable parallel execution of transactions. - * Goal is to enable it but it may still require some work to complete it +* [ ] [Storage v2](https://github.com/cosmos/cosmos-sdk/issues/12986) + * Objective: + * Goal is to get 60% of the way through the rewrite of storage + * Begin testing the rewrite on mainnets if possible + * External Audit + * Progress: + * On pause till ABCI 2.0 ships +* [ ] [Optimistic Execution](https://github.com/cosmos/cosmos-sdk/issues/15365) + * Objective: + * Users should be able to pick between delayed execution and optimistic + * RFC/ADR is merged + * Implementation started. + * Progess: + * On pause till ABCI 2.0 is merged ### Client UX -* Add signing support to hubl - * Signing support is added to hubl - * Potentially integrating keystone (coordinate with Zondax) +* [ ] Hubl/AutoCLI + * Objective: + * Allow users to sign and submit transactions using hubl + * Add module support for autocli + * Deprecate/remove legacy cli (optional) + * Progress: + * Signing support is being refactored and is near completion + * Adapting modules to use autocli instead of manually written cli +* [ ] [Consensus Key Rotation](https://github.com/cosmos/cosmos-sdk/issues/5231) + * Objective: + * Allow users to rotate consensus keys for their validators + * Progress + * Merge pull request and updated ADR into main +* [ ] [Operator key rotation](https://github.com/cosmos/cosmos-sdk/issues/3863) + * Objective: + * Allow users to rotate operator keys for their validators + * Progress: + * secondary val index was added to support operator key rotation + * Pr is open and is being worked on ### Dev UX * Toolkit/SDK ADR. - * Come to consensus on how to make the sdk composable + * Objective: + * Produce a RFC/ADR on how to make core composable + * Merge RFC/ADR into main + * Progress: + * on pause until abci 2.0 integration is completed * Adopt core api fully in modules - * Goal is to remove the Cosmos SDK and Comet as a dependency from all modules - * Release v1 of modules that have their dependency graph cleaned up + * Objective: + * Remove the Cosmos SDK and Comet as a dependency from all modules + * Release v1 of modules that have their dependency graph cleaned up + * Spin out 4 more modules into their own go.mods + * Progress: + * Core api has been integrated into all modules + * KvStoreService is being added to all modules +* [ ] [Remove global bech32](https://github.com/cosmos/cosmos-sdk/issues/13140) + * Objective: + * Depreacte global bech32 setting + * Progress: + * All modules except bank use the `address.Codec` +* [ ] Make sdk.Msg only be `proto.message` + * Objectives: + * Reduce sdk.Msg to only be proto.message + * Reduce boilerplate in `msgs.go` + * Progess: + * [x] [Make ValidateBasic Optional](https://github.com/cosmos/cosmos-sdk/issues/15648) + * [ ] [Make GetSigners be optional](https://github.com/cosmos/cosmos-sdk/issues/15677) + * [ ] Remove GetsignBytes for legacy amino encoding +* [ ] [Collections](https://github.com/cosmos/cosmos-sdk/issues/14300) + * Objectives + * Migrate all modules + * Add query support + * Add schema support + * Progress: + * We have migrated three modules ### ABCI 2.0 -**Blocked**: +* [ ] [ABCI 2.0](https://github.com/cosmos/cosmos-sdk/issues/12272) + * Objectives: + * Integrate comet 0.38 + * QA + * Progress: + * Integration has started -> once cometBFT has a release candidate of ABCI 2.0 (cmt 0.38) -* Integrate ABCI 2.0 +### Testing + +* [ ] [Integration framework](https://github.com/cosmos/cosmos-sdk/issues/14145) + * Objectives: + * Migrate all modules + * Progress: + * We have migrated 2-4 modules currently ### Modules -* Governance - * Make gov and groups composable with each other, not duplicate -* Staking - * Research a new staking design - * Begin Implementation -* Auth/Accounts v2 - * Spec is merged - * Implementation is completed - * External Audit +* [ ] [Invariant Checking](https://github.com/cosmos/cosmos-sdk/issues/15706) + * Objective: + * Design a new system for checking invairants + * Implement changes + * Audit current invariants + * Progress: + * NA +* [ ] [Accounts](https://github.com/cosmos/cosmos-sdk/issues/14900) + * Objective: + * Allow users to use account abstractions + * Implementation is completed + * External Audit is scheduled (if needed) + * Progress: + * RFC/ADR is in review ### Research -* Feemarket Abstractions - * Spec on how to abstract fee markets to allow applications to write complex fee markets +* [ ] Commitment Structure + * Objective: + * Identify different commitment structures that could be used in the sdk and how they would be plugged (highlevel) + * Progress: + * Conversations in slack have started +* [ ] Cross lang + * Objective: + * Answer, what is needed to support many languages + * Answer, what sort of encoding of passing between the cgo/ffi boundary + * Progress: + * working group is meeting bi weekly + * ADR/RFC is in review ## Q3 @@ -169,17 +245,17 @@ Issue: https://github.com/cosmos/iavl/issues/548 ### Modules +* Governance + * Make gov and groups composable with each other, not duplicate * Staking - * Complete staking redesign - * External Audit + * Research a new staking design + * Begin Implementation ### Research * Nonce Lanes * Goal is to produce a spec and/or viability of using lanes for nonces instead of a single sequence number. -* Merklization - * Research different trees and commitment structures ## Q4