feat(client/v2): add autocli run + simapp example (#13867)

Co-authored-by: Julien Robert <julien@rbrt.fr>
This commit is contained in:
Aaron Craelius
2022-12-31 01:53:08 +00:00
committed by GitHub
co-authored by Julien Robert
parent 02ca843d49
commit ebfd057716
37 changed files with 1232 additions and 57 deletions
+17 -1
View File
@@ -39,7 +39,9 @@ import (
// main function.
func NewRootCmd() *cobra.Command {
// we "pre"-instantiate the application for getting the injected/configured encoding configuration
tempApp := simapp.NewSimApp(log.NewNopLogger(), dbm.NewMemDB(), nil, true, simtestutil.NewAppOptionsWithFlagHome(simapp.DefaultNodeHome))
// note, this is not necessary when using app wiring, as depinject can be directly used.
// for consistency between app-v1 and app-v2, we do it the same way via methods on simapp
tempApp := simapp.NewSimApp(log.NewNopLogger(), dbm.NewMemDB(), nil, true, simtestutil.NewAppOptionsWithFlagHome(tempDir()))
encodingConfig := params.EncodingConfig{
InterfaceRegistry: tempApp.InterfaceRegistry(),
Codec: tempApp.AppCodec(),
@@ -88,6 +90,10 @@ func NewRootCmd() *cobra.Command {
initRootCmd(rootCmd, encodingConfig)
if err := tempApp.AutoCliOpts().EnhanceRootCommand(rootCmd); err != nil {
panic(err)
}
return rootCmd
}
@@ -307,3 +313,13 @@ func appExport(
return simApp.ExportAppStateAndValidators(forZeroHeight, jailAllowedAddrs, modulesToExport)
}
var tempDir = func() string {
dir, err := os.MkdirTemp("", "simapp")
if err != nil {
dir = simapp.DefaultNodeHome
}
defer os.RemoveAll(dir)
return dir
}