From 6fd5ef88b6f57a14e111406bfec59348e52475f1 Mon Sep 17 00:00:00 2001 From: Danny Paz Date: Thu, 29 Nov 2018 13:53:01 -0800 Subject: [PATCH] add litecoin regtest configuration to lnd regtest change to chainregistry for default port number merge w/ master --- chainparams.go | 13 +++++++++++-- chainregistry.go | 11 ++++++++--- config.go | 17 ++++++++++------- lnd.go | 2 +- 4 files changed, 30 insertions(+), 13 deletions(-) diff --git a/chainparams.go b/chainparams.go index 8313c6cf..a119fea8 100644 --- a/chainparams.go +++ b/chainparams.go @@ -78,8 +78,17 @@ var litecoinMainNetParams = litecoinNetParams{ CoinType: keychain.CoinTypeLitecoin, } -// regTestNetParams contains parameters specific to a local regtest network. -var regTestNetParams = bitcoinNetParams{ +// litecoinRegTestNetParams contains parameters specific to a local litecoin +// regtest network. +var litecoinRegTestNetParams = litecoinNetParams{ + Params: &litecoinCfg.RegressionNetParams, + rpcPort: "18334", + CoinType: keychain.CoinTypeTestnet, +} + +// bitcoinRegTestNetParams contains parameters specific to a local bitcoin +// regtest network. +var bitcoinRegTestNetParams = bitcoinNetParams{ Params: &bitcoinCfg.RegressionNetParams, rpcPort: "18334", CoinType: keychain.CoinTypeTestnet, diff --git a/chainregistry.go b/chainregistry.go index e50e9c69..adbc906d 100644 --- a/chainregistry.go +++ b/chainregistry.go @@ -256,10 +256,15 @@ func newChainControlFromConfig(cfg *config, chanDB *channeldb.DB, rpcPort -= 2 bitcoindHost = fmt.Sprintf("%v:%d", bitcoindMode.RPCHost, rpcPort) - if cfg.Bitcoin.Active && cfg.Bitcoin.RegTest { + if (cfg.Bitcoin.Active && cfg.Bitcoin.RegTest) || + (cfg.Litecoin.Active && cfg.Litecoin.RegTest) { conn, err := net.Dial("tcp", bitcoindHost) if err != nil || conn == nil { - rpcPort = 18443 + if cfg.Bitcoin.Active && cfg.Bitcoin.RegTest { + rpcPort = 18443 + } else if cfg.Litecoin.Active && cfg.Litecoin.RegTest { + rpcPort = 19443 + } bitcoindHost = fmt.Sprintf("%v:%d", bitcoindMode.RPCHost, rpcPort) @@ -320,7 +325,7 @@ func newChainControlFromConfig(cfg *config, chanDB *channeldb.DB, if err := cc.feeEstimator.Start(); err != nil { return nil, err } - } else if cfg.Litecoin.Active { + } else if cfg.Litecoin.Active && !cfg.Litecoin.RegTest { ltndLog.Infof("Initializing litecoind backed fee estimator") // Finally, we'll re-initialize the fee estimator, as diff --git a/config.go b/config.go index 63f475b0..6e83a888 100644 --- a/config.go +++ b/config.go @@ -591,16 +591,10 @@ func loadConfig() (*config, error) { "litecoin.active must be set to 1 (true)", funcName) case cfg.Litecoin.Active: - if cfg.Litecoin.RegTest { - str := "%s: regnet mode for litecoin not currently supported" - return nil, fmt.Errorf(str, funcName) - } - if cfg.Litecoin.TimeLockDelta < minTimeLockDelta { return nil, fmt.Errorf("timelockdelta must be at least %v", minTimeLockDelta) } - // Multiple networks can't be selected simultaneously. Count // number of network flags passed; assign active network params // while we're at it. @@ -618,6 +612,15 @@ func loadConfig() (*config, error) { numNets++ ltcParams = litecoinSimNetParams } + if cfg.Litecoin.RegTest { + numNets++ + ltcParams = litecoinRegTestNetParams + } + if cfg.Litecoin.SimNet { + numNets++ + ltcParams = litecoinSimNetParams + } + if numNets > 1 { str := "%s: The mainnet, testnet, and simnet params " + "can't be used together -- choose one of the " + @@ -700,7 +703,7 @@ func loadConfig() (*config, error) { } if cfg.Bitcoin.RegTest { numNets++ - activeNetParams = regTestNetParams + activeNetParams = bitcoinRegTestNetParams } if cfg.Bitcoin.SimNet { numNets++ diff --git a/lnd.go b/lnd.go index 41d6a49e..59b8d6c7 100644 --- a/lnd.go +++ b/lnd.go @@ -123,7 +123,7 @@ func Main() error { case cfg.Bitcoin.SimNet || cfg.Litecoin.SimNet: network = "simnet" - case cfg.Bitcoin.RegTest: + case cfg.Bitcoin.RegTest || cfg.Litecoin.RegTest: network = "regtest" }