Closed
Description
opened on Jul 1, 2020
Summary
The current state of the CLI in the SDK is a bit of a mess, with the use of Viper global/singleton, ad-hoc flag instantiation and binding, and magically instantiation of client.Context
. It makes testing difficult and runtime errors hard to debug.
Proposal
Once #6423 is finalized and merged, we'll have the ability to remove a lot of the existing cruft from the CLI framework. Namely, we should:
- Combine the CLI into a single binary (WIP)
- Remove use of Viper and Viper flag binding (build upon Use Context in Command instead of Argument + Util #6572)
- app/server - Server/simd: Viper Removal #6599
- keys - keys: CLI Remove Viper #6613
- x/auth - x/auth: CLI Remove Viper #6609
- x/bank
- x/genutil - remove viper global singleton from x/genutil #6596
- x/crisis
- x/distribution - Module Viper Removal #6604
- x/evidence - Module Viper Removal #6604
- x/genaccounts
- x/gov - Module Viper Removal #6604
- x/ibc - x/ibc: CLI Remove Viper #6608
- x/ibc-transfer - x/ibc: CLI Remove Viper #6608
- x/mint
- x/params
- x/slashing
- x/staking - Remove viper global single from x/staking #6631
- version - version: Remove Viper #6628
- x/upgrade - Module Viper Removal #6604
- Remove fixtures
- Remove
client.Context
Init*
andNew*
functions - Context: Remove Init/New #6797
Stretch Goal:
- Support
--config
flag where if provided, any field found will set/override any flag/arg.
/cc @aaronc @anilcse @sahith-narahari @alessio
For Admin Use
- Not duplicate issue
- Appropriate labels applied
- Appropriate contributors tagged
- Contributor assigned/self-assigned
Activity