From 89928fd7f85b7c8274cc581fdd350890383998ca Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Fri, 3 Feb 2023 14:16:45 +0100 Subject: [PATCH 1/7] add roadmap --- RADMAP.md | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 RADMAP.md diff --git a/RADMAP.md b/RADMAP.md new file mode 100644 index 000000000000..cba8ddb6290f --- /dev/null +++ b/RADMAP.md @@ -0,0 +1,110 @@ +# Roadmap + +Welcome to the Cosmos SDK's team roadmap. + +> This document is meant to help the team get feedback on the proposed work and for others to follow where we stand in our process. This will be a living document updated on a regular basis. If you'd like to participate in any workscope or would like to suggest another feature please reach out to [Marko](marko@binary.builders) or [Sam](sam@binary.builders) and we will schedule a call to discuss the feature request. + + +## Q1 + +### Storage + +- [Prodcue a spec for the new store design](https://github.com/cosmos/cosmos-sdk/issues/12986) + - Research a new design for store. This could entail writing some POC's in order to identify design patterns +- Store as its own go module + - Store module should be its own go.mod without a dependency on the Cosmos SDK +- Begin implementation of store v2 + - Achieve 20%-50% implementation + - Identify the migration path from store v1 -> store v2 +- Parallel execution of state + - RFC/ADR is merged into the main on the sdk +- Optimistic execution + - RFC?ADR is merged into main on the sdk + + +### Client UX + +- Release v1 of query support (auto-cli) + - A version of query support has been merged, documentation is missing +- Dynamic metadata support + - Dynamic support allows the Cosmos SDK to release a cmd line tool that could work with any chain. + - Add metadata support to latest version of Cosmos SDK and, if possible, backport to older versions +- Multi-chain command + - release a cmd line tool that can be pointed a grpc endpoint which then can produce cmd lines to interact with the chain +- Auto-cli tx support + - tx support for auto-cli/hubl + - this would fully remove the need for application developers to write cli commands for their modules + + +### Dev UX + +**Deliverable** +- [Release collections v1](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 + - migrating 3 modules to use collections would help in show users how to migrate users +- [Sign mode textual](https://github.com/cosmos/cosmos-sdk/issues/11970) (75%) + - 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 (60%) + - merge ADR for core api + - migrate 3+ modules to use core api +- Module Dependency + - Give three modules their own go.mods + - cleanup dependency graph (dependent on integration testing framework) +- Metamask signing directly into the sdk + - metamask signing can be done directly from the sdk. In doing research in Q4 2022, it was identified that sign mode textual was a blocker +- Adr-033 (internal message routing) + - Merge internal router pr + - add docs on how to use the router +- Adr-54 (dependency management) + - Come to consensus on module dependency graph for the future + - Merge adr + - Begin socializing conventions +- [Remove global bech32](https://github.com/cosmos/cosmos-sdk/issues/13140) +- Auth module + - produce a spec/ADR on a proposed new auth module. + +### Testing + +- [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. + + +### ABCI 2.0 + +Issue: https://github.com/cosmos/cosmos-sdk/issues/12272 + +- ADR ABCI 2.0 (50%) + - Write ADR for integration of vote extensions & finalize block + +**Blocked**: + +> once tendermint has a release candidate of ABCI 2.0 (tm 0.38) + +- complete implementation (0%) + - implement ABCI 2.0 ADR. + - conduct all pre-release testing for ABCI 2.0 + +### Security + +- [Circuit breaker](https://github.com/cosmos/cosmos-sdk/issues/14226) + - Implement the circuit breaker module and prepare releases for Cosmos SDK versions 0.45, 0.46 and 0.47 + + +### IAVL + +- Adr 001 +- implementation of Adr 001 + - implementation has been completed, waiting on reviewers +- Prepare the migration path + - Migration path has not been finalized +- Test on mainnets + - If possible we would like to test the new IAVL design on mainnets to observer behavior changes. + +Issue: https://github.com/cosmos/iavl/issues/548 + + + +This document will be updated at the end of the quarter on what was achieved and what was not. Shortly before the quarter concludes a new section will be added for the next quarter. We are working on updating the complete one year roadmap and will be posting it here as well. From a6b9b30661f598b5b64cac88b3be41369ae049d9 Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Fri, 3 Feb 2023 14:19:38 +0100 Subject: [PATCH 2/7] fix --- RADMAP.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RADMAP.md b/RADMAP.md index cba8ddb6290f..cced48c1a028 100644 --- a/RADMAP.md +++ b/RADMAP.md @@ -19,7 +19,7 @@ Welcome to the Cosmos SDK's team roadmap. - Parallel execution of state - RFC/ADR is merged into the main on the sdk - Optimistic execution - - RFC?ADR is merged into main on the sdk + - RFC/ADR is merged into main on the sdk ### Client UX From b824cc3d69bbbd22786cfa6dc874949dc8f16c89 Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Fri, 3 Feb 2023 14:21:12 +0100 Subject: [PATCH 3/7] add json encoder --- RADMAP.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RADMAP.md b/RADMAP.md index cced48c1a028..fb9ca4464e43 100644 --- a/RADMAP.md +++ b/RADMAP.md @@ -64,6 +64,7 @@ Welcome to the Cosmos SDK's team roadmap. - [Remove global bech32](https://github.com/cosmos/cosmos-sdk/issues/13140) - Auth module - produce a spec/ADR on a proposed new auth module. +- [Implement Amino Json encoder](https://github.com/cosmos/cosmos-sdk/issues/10993) ### Testing From 9d5d96c45398e0cb389fc83a05ecbe813843b17c Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Fri, 3 Feb 2023 17:34:54 +0100 Subject: [PATCH 4/7] add links --- RADMAP.md => ROADMAP.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) rename RADMAP.md => ROADMAP.md (96%) diff --git a/RADMAP.md b/ROADMAP.md similarity index 96% rename from RADMAP.md rename to ROADMAP.md index fb9ca4464e43..31f48e8eac3c 100644 --- a/RADMAP.md +++ b/ROADMAP.md @@ -14,7 +14,6 @@ Welcome to the Cosmos SDK's team roadmap. - Store as its own go module - Store module should be its own go.mod without a dependency on the Cosmos SDK - Begin implementation of store v2 - - Achieve 20%-50% implementation - Identify the migration path from store v1 -> store v2 - Parallel execution of state - RFC/ADR is merged into the main on the sdk @@ -46,9 +45,9 @@ Welcome to the Cosmos SDK's team roadmap. - migrating 3 modules to use collections would help in show users how to migrate users - [Sign mode textual](https://github.com/cosmos/cosmos-sdk/issues/11970) (75%) - 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 (60%) - - merge ADR for core api - - migrate 3+ modules to use core api +- Core API + - [Merge ADR for Core API](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-063-core-module-api.md) + - Migrate 3 modules to use core api - Module Dependency - Give three modules their own go.mods - cleanup dependency graph (dependent on integration testing framework) From 34b5a56c8586e6d7e0abb6e03a66fa20f6381718 Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Fri, 3 Feb 2023 17:35:21 +0100 Subject: [PATCH 5/7] add links --- ROADMAP.md | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index 31f48e8eac3c..c5a09dca104b 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -47,21 +47,19 @@ Welcome to the Cosmos SDK's team roadmap. - 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 - [Merge ADR for Core API](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-063-core-module-api.md) - - Migrate 3 modules to use core api + - Migrate three modules to use core api - Module Dependency - Give three modules their own go.mods - - cleanup dependency graph (dependent on integration testing framework) -- Metamask signing directly into the sdk - - metamask signing can be done directly from the sdk. In doing research in Q4 2022, it was identified that sign mode textual was a blocker -- Adr-033 (internal message routing) - - Merge internal router pr - - add docs on how to use the router -- Adr-54 (dependency management) + - Cleanup dependency graph (dependent on integration testing framework) +- [Metamask signing directly into the sdk](https://github.com/cosmos/cosmos-sdk/discussions/13892) +- [Adr-033 (internal message routing)](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-033-protobuf-inter-module-comm.md) + - Merge internal message router + - Add docs on how to use the router +- [Adr-54 (dependency management)](https://github.com/cosmos/cosmos-sdk/pull/11802) - Come to consensus on module dependency graph for the future - - Merge adr - Begin socializing conventions - [Remove global bech32](https://github.com/cosmos/cosmos-sdk/issues/13140) -- Auth module +- [Auth module](https://github.com/cosmos/cosmos-sdk/issues/14900) - produce a spec/ADR on a proposed new auth module. - [Implement Amino Json encoder](https://github.com/cosmos/cosmos-sdk/issues/10993) @@ -76,7 +74,7 @@ Welcome to the Cosmos SDK's team roadmap. Issue: https://github.com/cosmos/cosmos-sdk/issues/12272 -- ADR ABCI 2.0 (50%) +- [ADR ABCI 2.0](https://github.com/cosmos/cosmos-sdk/issues/14674) - Write ADR for integration of vote extensions & finalize block **Blocked**: @@ -95,10 +93,9 @@ Issue: https://github.com/cosmos/cosmos-sdk/issues/12272 ### IAVL -- Adr 001 -- implementation of Adr 001 +- [Adr 001](https://github.com/cosmos/iavl/pull/608) - implementation has been completed, waiting on reviewers -- Prepare the migration path +- [Prepare the migration path](https://github.com/cosmos/iavl/issues/675) - Migration path has not been finalized - Test on mainnets - If possible we would like to test the new IAVL design on mainnets to observer behavior changes. From f2a0228ce0fca8754801e56a507f22b645c0de4c Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Fri, 3 Feb 2023 23:22:38 +0100 Subject: [PATCH 6/7] add feedback --- ROADMAP.md | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index c5a09dca104b..eb984d7b2931 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,4 +1,4 @@ -# Roadmap +# Roadmap 2023 Welcome to the Cosmos SDK's team roadmap. @@ -9,7 +9,7 @@ Welcome to the Cosmos SDK's team roadmap. ### Storage -- [Prodcue a spec for the new store design](https://github.com/cosmos/cosmos-sdk/issues/12986) +- [Produce a spec for the new store design](https://github.com/cosmos/cosmos-sdk/issues/12986) - Research a new design for store. This could entail writing some POC's in order to identify design patterns - Store as its own go module - Store module should be its own go.mod without a dependency on the Cosmos SDK @@ -29,20 +29,19 @@ Welcome to the Cosmos SDK's team roadmap. - Dynamic support allows the Cosmos SDK to release a cmd line tool that could work with any chain. - Add metadata support to latest version of Cosmos SDK and, if possible, backport to older versions - Multi-chain command - - release a cmd line tool that can be pointed a grpc endpoint which then can produce cmd lines to interact with the chain + - Release a cmd line tool that can be pointed a grpc endpoint which then can produce cmd lines to interact with the chain - Auto-cli tx support - - tx support for auto-cli/hubl - - this would fully remove the need for application developers to write cli commands for their modules + - Tx support for auto-cli/hubl + - This would fully remove the need for application developers to write cli commands for their modules ### Dev UX -**Deliverable** - [Release collections v1](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 - - migrating 3 modules to use collections would help in show users how to migrate users + - Migrating 3 modules to use collections would help in show users how to migrate users - [Sign mode textual](https://github.com/cosmos/cosmos-sdk/issues/11970) (75%) - 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 @@ -52,15 +51,15 @@ Welcome to the Cosmos SDK's team roadmap. - Give three modules their own go.mods - Cleanup dependency graph (dependent on integration testing framework) - [Metamask signing directly into the sdk](https://github.com/cosmos/cosmos-sdk/discussions/13892) -- [Adr-033 (internal message routing)](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-033-protobuf-inter-module-comm.md) +- [ADR-033 (internal message routing)](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-033-protobuf-inter-module-comm.md) - Merge internal message router - Add docs on how to use the router -- [Adr-54 (dependency management)](https://github.com/cosmos/cosmos-sdk/pull/11802) +- [ADR-54 (dependency management)](https://github.com/cosmos/cosmos-sdk/pull/11802) - 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) - - produce a spec/ADR on a proposed new auth module. + - Produce a spec/ADR on a proposed new auth module. - [Implement Amino Json encoder](https://github.com/cosmos/cosmos-sdk/issues/10993) ### Testing @@ -79,11 +78,9 @@ Issue: https://github.com/cosmos/cosmos-sdk/issues/12272 **Blocked**: -> once tendermint has a release candidate of ABCI 2.0 (tm 0.38) +> once cometBFT has a release candidate of ABCI 2.0 (cmt 0.38) -- complete implementation (0%) - - implement ABCI 2.0 ADR. - - conduct all pre-release testing for ABCI 2.0 +- Integrate ABCI 2.0 ### Security @@ -93,8 +90,8 @@ Issue: https://github.com/cosmos/cosmos-sdk/issues/12272 ### IAVL -- [Adr 001](https://github.com/cosmos/iavl/pull/608) - - implementation has been completed, waiting on reviewers +- [ADR 001](https://github.com/cosmos/iavl/pull/608) + - Implementation has been completed, waiting on reviewers - [Prepare the migration path](https://github.com/cosmos/iavl/issues/675) - Migration path has not been finalized - Test on mainnets From a0a7cd951c51a6be99f6c7a58a2edc7374866ea2 Mon Sep 17 00:00:00 2001 From: marbar3778 Date: Fri, 3 Feb 2023 23:26:03 +0100 Subject: [PATCH 7/7] lint --- ROADMAP.md | 116 ++++++++++++++++++++++++++--------------------------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index eb984d7b2931..349be3fe56b7 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -9,93 +9,93 @@ Welcome to the Cosmos SDK's team roadmap. ### Storage -- [Produce a spec for the new store design](https://github.com/cosmos/cosmos-sdk/issues/12986) - - Research a new design for store. This could entail writing some POC's in order to identify design patterns -- Store as its own go module - - Store module should be its own go.mod without a dependency on the Cosmos SDK -- Begin implementation of store v2 - - Identify the migration path from store v1 -> store v2 -- Parallel execution of state - - RFC/ADR is merged into the main on the sdk -- Optimistic execution - - RFC/ADR is merged into main on the sdk +* [Produce a spec for the new store design](https://github.com/cosmos/cosmos-sdk/issues/12986) + * Research a new design for store. This could entail writing some POC's in order to identify design patterns +* Store as its own go module + * Store module should be its own go.mod without a dependency on the Cosmos SDK +* Begin implementation of store v2 + * Identify the migration path from store v1 -> store v2 +* Parallel execution of state + * RFC/ADR is merged into the main on the sdk +* Optimistic execution + * RFC/ADR is merged into main on the sdk ### Client UX -- Release v1 of query support (auto-cli) - - A version of query support has been merged, documentation is missing -- Dynamic metadata support - - Dynamic support allows the Cosmos SDK to release a cmd line tool that could work with any chain. - - Add metadata support to latest version of Cosmos SDK and, if possible, backport to older versions -- Multi-chain command - - Release a cmd line tool that can be pointed a grpc endpoint which then can produce cmd lines to interact with the chain -- Auto-cli tx support - - Tx support for auto-cli/hubl - - This would fully remove the need for application developers to write cli commands for their modules +* Release v1 of query support (auto-cli) + * A version of query support has been merged, documentation is missing +* Dynamic metadata support + * Dynamic support allows the Cosmos SDK to release a cmd line tool that could work with any chain. + * Add metadata support to latest version of Cosmos SDK and, if possible, backport to older versions +* Multi-chain command + * Release a cmd line tool that can be pointed a grpc endpoint which then can produce cmd lines to interact with the chain +* Auto-cli tx support + * Tx support for auto-cli/hubl + * This would fully remove the need for application developers to write cli commands for their modules ### Dev UX -- [Release collections v1](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 - - Migrating 3 modules to use collections would help in show users how to migrate users -- [Sign mode textual](https://github.com/cosmos/cosmos-sdk/issues/11970) (75%) - - 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 - - [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 -- Module Dependency - - Give three modules their own go.mods - - Cleanup dependency graph (dependent on integration testing framework) -- [Metamask signing directly into the sdk](https://github.com/cosmos/cosmos-sdk/discussions/13892) -- [ADR-033 (internal message routing)](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-033-protobuf-inter-module-comm.md) - - Merge internal message router - - Add docs on how to use the router -- [ADR-54 (dependency management)](https://github.com/cosmos/cosmos-sdk/pull/11802) - - 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) - - Produce a spec/ADR on a proposed new auth module. -- [Implement Amino Json encoder](https://github.com/cosmos/cosmos-sdk/issues/10993) +* [Release collections v1](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 + * Migrating 3 modules to use collections would help in show users how to migrate users +* [Sign mode textual](https://github.com/cosmos/cosmos-sdk/issues/11970) (75%) + * 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 + * [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 +* Module Dependency + * Give three modules their own go.mods + * Cleanup dependency graph (dependent on integration testing framework) +* [Metamask signing directly into the sdk](https://github.com/cosmos/cosmos-sdk/discussions/13892) +* [ADR-033 (internal message routing)](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-033-protobuf-inter-module-comm.md) + * Merge internal message router + * Add docs on how to use the router +* [ADR-54 (dependency management)](https://github.com/cosmos/cosmos-sdk/pull/11802) + * 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) + * Produce a spec/ADR on a proposed new auth module. +* [Implement Amino Json encoder](https://github.com/cosmos/cosmos-sdk/issues/10993) ### Testing -- [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. +* [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. ### ABCI 2.0 Issue: https://github.com/cosmos/cosmos-sdk/issues/12272 -- [ADR ABCI 2.0](https://github.com/cosmos/cosmos-sdk/issues/14674) - - Write ADR for integration of vote extensions & finalize block +* [ADR ABCI 2.0](https://github.com/cosmos/cosmos-sdk/issues/14674) + * Write ADR for integration of vote extensions & finalize block **Blocked**: > once cometBFT has a release candidate of ABCI 2.0 (cmt 0.38) -- Integrate ABCI 2.0 +* Integrate ABCI 2.0 ### Security -- [Circuit breaker](https://github.com/cosmos/cosmos-sdk/issues/14226) - - Implement the circuit breaker module and prepare releases for Cosmos SDK versions 0.45, 0.46 and 0.47 +* [Circuit breaker](https://github.com/cosmos/cosmos-sdk/issues/14226) + * Implement the circuit breaker module and prepare releases for Cosmos SDK versions 0.45, 0.46 and 0.47 ### IAVL -- [ADR 001](https://github.com/cosmos/iavl/pull/608) - - Implementation has been completed, waiting on reviewers -- [Prepare the migration path](https://github.com/cosmos/iavl/issues/675) - - Migration path has not been finalized -- Test on mainnets - - If possible we would like to test the new IAVL design on mainnets to observer behavior changes. +* [ADR 001](https://github.com/cosmos/iavl/pull/608) + * Implementation has been completed, waiting on reviewers +* [Prepare the migration path](https://github.com/cosmos/iavl/issues/675) + * Migration path has not been finalized +* Test on mainnets + * If possible we would like to test the new IAVL design on mainnets to observer behavior changes. Issue: https://github.com/cosmos/iavl/issues/548