diff --git a/client/config/config.go b/client/config/config.go index d247927c6e55a..e3a2a8646d939 100644 --- a/client/config/config.go +++ b/client/config/config.go @@ -46,6 +46,26 @@ func (c *ClientConfig) SetBroadcastMode(broadcastMode string) { c.BroadcastMode = broadcastMode } +// ReadDefaultValuesFromDefaultClientConfig reads default values from default client.toml file and updates them in client.Context +// The client.toml is then discarded. +func ReadDefaultValuesFromDefaultClientConfig(ctx client.Context) (client.Context, error) { + prevHomeDir := ctx.HomeDir + dir, err := os.MkdirTemp("", "simapp") + if err != nil { + return ctx, fmt.Errorf("couldn't create temp dir: %w", err) + } + defer os.RemoveAll(dir) + + ctx.HomeDir = dir + ctx, err = ReadFromClientConfig(ctx) + if err != nil { + return ctx, fmt.Errorf("couldn't create client config: %w", err) + } + + ctx.HomeDir = prevHomeDir + return ctx, nil +} + // ReadFromClientConfig reads values from client.toml file and updates them in client Context func ReadFromClientConfig(ctx client.Context) (client.Context, error) { configPath := filepath.Join(ctx.HomeDir, "config") diff --git a/simapp/simd/cmd/root.go b/simapp/simd/cmd/root.go index 7260f000c39f5..a25281e13429f 100644 --- a/simapp/simd/cmd/root.go +++ b/simapp/simd/cmd/root.go @@ -60,7 +60,7 @@ func NewRootCmd() *cobra.Command { return err } - initClientCtx, err = config.ReadFromClientConfig(initClientCtx) + initClientCtx, err = config.ReadDefaultValuesFromDefaultClientConfig(initClientCtx) if err != nil { return err } diff --git a/simapp/simd/cmd/root_v2.go b/simapp/simd/cmd/root_v2.go index e6512b452352c..cc0e5946338f8 100644 --- a/simapp/simd/cmd/root_v2.go +++ b/simapp/simd/cmd/root_v2.go @@ -68,7 +68,7 @@ func NewRootCmd() *cobra.Command { return err } - clientCtx, err = config.ReadFromClientConfig(clientCtx) + clientCtx, err = config.ReadDefaultValuesFromDefaultClientConfig(clientCtx) if err != nil { return err }