Skip to content

Commit

Permalink
docs: update roadmap for q2 (#15952)
Browse files Browse the repository at this point in the history
  • Loading branch information
tac0turtle committed Apr 27, 2023
1 parent 91278f6 commit 851e9e8
Showing 1 changed file with 113 additions and 37 deletions.
150 changes: 113 additions & 37 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@ 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
* Migrating 3 modules to use collections would help in show users how to migrate users
* [ ] [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
Expand All @@ -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.

Expand All @@ -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**:
Expand Down Expand Up @@ -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

Expand All @@ -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

Expand Down

0 comments on commit 851e9e8

Please sign in to comment.