loopd: Consider network when making LND paths

In this commit we consider the passed network options when assuming the
LND macaroon path if not passed by user
This commit is contained in:
Harsha Goli 2021-11-16 12:05:40 -05:00
parent 05693411f7
commit 3fb75131ea
No known key found for this signature in database
GPG key ID: 90E00CCB1C74C611

View file

@ -51,6 +51,14 @@ var (
// deprecated --lnd.macaroondir config option is used.
defaultLndMacaroon = "admin.macaroon"
// DefaultLndMacaroonPath is the default mainnet admin macaroon path of
// LND.
DefaultLndMacaroonPath = filepath.Join(
btcutil.AppDataDir("lnd", false),
"data", "chain", "bitcoin", DefaultNetwork,
defaultLndMacaroon,
)
// DefaultTLSCertPath is the default full path of the autogenerated TLS
// certificate.
DefaultTLSCertPath = filepath.Join(
@ -171,12 +179,8 @@ func DefaultConfig() Config {
MaxLSATFee: lsat.DefaultMaxRoutingFeeSats,
LoopOutMaxParts: defaultLoopOutMaxParts,
Lnd: &lndConfig{
Host: "localhost:10009",
MacaroonPath: filepath.Join(
btcutil.AppDataDir("lnd", false),
"data", "chain", "bitcoin", DefaultNetwork,
"admin.macaroon",
),
Host: "localhost:10009",
MacaroonPath: DefaultLndMacaroonPath,
},
}
}
@ -252,6 +256,16 @@ func Validate(cfg *Config) error {
)
}
// If the user doesn't specify Lnd.MacaroonPath, we'll reassemble it
// with the passed Network options.
if cfg.Lnd.MacaroonPath == DefaultLndMacaroonPath {
cfg.Lnd.MacaroonPath = filepath.Join(
btcutil.AppDataDir("lnd", false),
"data", "chain", "bitcoin", cfg.Network,
defaultLndMacaroon,
)
}
// If either of these directories do not exist, create them.
if err := os.MkdirAll(cfg.DataDir, os.ModePerm); err != nil {
return err