mirror of
https://github.com/lightningnetwork/lnd.git
synced 2024-11-19 09:53:54 +01:00
config: add sanity check to ensure either BTC or LTC is specified
This commit is contained in:
parent
f953f94f71
commit
dff3ad05f0
20
config.go
20
config.go
@ -223,25 +223,31 @@ func loadConfig() (*config, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch {
|
||||||
// The SPV mode implemented currently doesn't support Litecoin, so the
|
// The SPV mode implemented currently doesn't support Litecoin, so the
|
||||||
// two modes are incompatible.
|
// two modes are incompatible.
|
||||||
if cfg.NeutrinoMode.Active && cfg.Litecoin.Active {
|
case cfg.NeutrinoMode.Active && cfg.Litecoin.Active:
|
||||||
str := "%s: The light client mode currently supported does " +
|
str := "%s: The light client mode currently supported does " +
|
||||||
"not yet support execution on the Litecoin network"
|
"not yet support execution on the Litecoin network"
|
||||||
err := fmt.Errorf(str, funcName)
|
err := fmt.Errorf(str, funcName)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
|
||||||
|
|
||||||
if cfg.Litecoin.Active {
|
// Either Bitcoin must be active, or Litecoin must be active.
|
||||||
|
// Otherwise, we don't know which chain we're on.
|
||||||
|
case !cfg.Bitcoin.Active && !cfg.Litecoin.Active:
|
||||||
|
return nil, fmt.Errorf("either bitcoin.active or " +
|
||||||
|
"litecoin.active must be set to 1 (true)")
|
||||||
|
|
||||||
|
case cfg.Litecoin.Active:
|
||||||
if cfg.Litecoin.SimNet {
|
if cfg.Litecoin.SimNet {
|
||||||
str := "%s: simnet mode for litecoin not currently supported"
|
str := "%s: simnet mode for litecoin not currently supported"
|
||||||
return nil, fmt.Errorf(str, funcName)
|
return nil, fmt.Errorf(str, funcName)
|
||||||
}
|
}
|
||||||
|
|
||||||
// The litecoin chain is the current active chain. However
|
// The litecoin chain is the current active chain. However
|
||||||
// throuhgout the codebase we required chiancfg.Params. So as a
|
// throughout the codebase we required chiancfg.Params. So as a
|
||||||
// temporary hack, we'll mutate the default net params for
|
// temporary hack, we'll mutate the default net params for
|
||||||
// bitcoin with the litecoin specific informat.ion
|
// bitcoin with the litecoin specific information.
|
||||||
paramCopy := bitcoinTestNetParams
|
paramCopy := bitcoinTestNetParams
|
||||||
applyLitecoinParams(¶mCopy)
|
applyLitecoinParams(¶mCopy)
|
||||||
activeNetParams = paramCopy
|
activeNetParams = paramCopy
|
||||||
@ -262,8 +268,8 @@ func loadConfig() (*config, error) {
|
|||||||
// Finally we'll register the litecoin chain as our current
|
// Finally we'll register the litecoin chain as our current
|
||||||
// primary chain.
|
// primary chain.
|
||||||
registeredChains.RegisterPrimaryChain(litecoinChain)
|
registeredChains.RegisterPrimaryChain(litecoinChain)
|
||||||
}
|
|
||||||
if cfg.Bitcoin.Active {
|
case cfg.Bitcoin.Active:
|
||||||
// Multiple networks can't be selected simultaneously. Count
|
// Multiple networks can't be selected simultaneously. Count
|
||||||
// number of network flags passed; assign active network params
|
// number of network flags passed; assign active network params
|
||||||
// while we're at it.
|
// while we're at it.
|
||||||
|
Loading…
Reference in New Issue
Block a user