Unset home and keyring dir from depinject client config (#35)
All checks were successful
Integration Tests / test-integration (push) Successful in 2m37s
E2E Tests / test-e2e (push) Successful in 4m4s
Lint / Run golangci-lint (push) Successful in 5m24s
Unit Tests / test-unit (push) Successful in 1m55s
SDK Tests / sdk_tests_nameservice_expiry (push) Successful in 7m34s
SDK Tests / sdk_tests (push) Successful in 8m13s
SDK Tests / sdk_tests_auctions (push) Successful in 13m23s
Publish on release / Run docker build and publish (release) Successful in 2m27s

Part of #33
Follows PR #34

- With earlier workaround in root cmd (not passing `DefaultNodeHome` to depinject), it created a `config/client.toml` wherever the laconicd CLI was being run
- Unset `clientCtx.HomeDir` and `clientCtx.KeyringDir` while providing client context to depinject instead to prevent this and still handle the `--home` flag precedence issue
  - When using default home directory, all commands still work as `DefaultNodeHome` is passed to the [command executor](https://git.vdb.to/cerc-io/laconic2d/src/branch/main/cmd/laconicd/main.go#L18)

Reviewed-on: cerc-io/laconic2d#35
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
This commit is contained in:
Prathamesh Musale 2024-07-16 03:50:08 +00:00 committed by nabarun
parent 9dc84ef943
commit 4c0cb6c2c4

View File

@ -134,14 +134,17 @@ func ProvideClientContext(
WithLegacyAmino(legacyAmino).
WithInput(os.Stdin).
WithAccountRetriever(types.AccountRetriever{}).
// Workaround: Avoid providing DefaultNodeHome to depinject as it is given precedence over the one passed using --home flag in some CLI commands
// TODO: Implement proper fix
// WithHomeDir(app.DefaultNodeHome).
WithHomeDir(app.DefaultNodeHome).
WithViper(EnvPrefix) // env variable prefix
// Read the config again to overwrite the default values with the values from the config file
clientCtx, _ = config.ReadFromClientConfig(clientCtx)
// Workaround: Unset clientCtx.HomeDir and clientCtx.KeyringDir from depinject clientCtx as they are given precedence over the CLI args (--home flag) in some commands
// TODO: Implement proper fix
clientCtx.HomeDir = ""
clientCtx.KeyringDir = ""
return clientCtx
}