From 64fbaa7bfc36da5a647d7707a6815ab90bb33e52 Mon Sep 17 00:00:00 2001 From: Martin Boehm Date: Fri, 28 Sep 2018 22:54:08 +0200 Subject: [PATCH] Change initialization of coin params to avoid cross influence --- bchain/coins/btg/bgoldparser.go | 5 ++++- bchain/coins/dash/dashparser.go | 5 ++++- bchain/coins/dogecoin/dogecoinparser.go | 5 ++++- bchain/coins/litecoin/litecoinparser.go | 5 ++++- bchain/coins/monacoin/monacoinparser.go | 5 ++++- bchain/coins/namecoin/namecoinparser.go | 5 ++++- bchain/coins/vertcoin/vertcoinparser.go | 5 ++++- bchain/coins/zec/zcashparser.go | 5 ++++- 8 files changed, 32 insertions(+), 8 deletions(-) diff --git a/bchain/coins/btg/bgoldparser.go b/bchain/coins/btg/bgoldparser.go index f6433a40..1e87aa93 100644 --- a/bchain/coins/btg/bgoldparser.go +++ b/bchain/coins/btg/bgoldparser.go @@ -23,7 +23,7 @@ var ( TestNetParams chaincfg.Params ) -func init() { +func initParams() { MainNetParams = chaincfg.MainNetParams MainNetParams.Net = MainnetMagic @@ -63,6 +63,9 @@ func NewBGoldParser(params *chaincfg.Params, c *btc.Configuration) *BGoldParser // the regression test Bitcoin Cash network, the test Bitcoin Cash network and // the simulation test Bitcoin Cash network, in this order func GetChainParams(chain string) *chaincfg.Params { + if MainNetParams.Name == "" { + initParams() + } switch chain { case "test": return &TestNetParams diff --git a/bchain/coins/dash/dashparser.go b/bchain/coins/dash/dashparser.go index 9b93e41b..d2371ef5 100644 --- a/bchain/coins/dash/dashparser.go +++ b/bchain/coins/dash/dashparser.go @@ -19,7 +19,7 @@ var ( RegtestParams chaincfg.Params ) -func init() { +func initParams() { MainNetParams = chaincfg.MainNetParams MainNetParams.Net = MainnetMagic @@ -67,6 +67,9 @@ func NewDashParser(params *chaincfg.Params, c *btc.Configuration) *DashParser { // the regression test Dash network, the test Dash network and // the simulation test Dash network, in this order func GetChainParams(chain string) *chaincfg.Params { + if MainNetParams.Name == "" { + initParams() + } switch chain { case "test": return &TestNetParams diff --git a/bchain/coins/dogecoin/dogecoinparser.go b/bchain/coins/dogecoin/dogecoinparser.go index f727e52b..56c95983 100644 --- a/bchain/coins/dogecoin/dogecoinparser.go +++ b/bchain/coins/dogecoin/dogecoinparser.go @@ -18,7 +18,7 @@ var ( MainNetParams chaincfg.Params ) -func init() { +func initParams() { MainNetParams = chaincfg.MainNetParams MainNetParams.Net = MainnetMagic MainNetParams.PubKeyHashAddrID = []byte{30} @@ -43,6 +43,9 @@ func NewDogecoinParser(params *chaincfg.Params, c *btc.Configuration) *DogecoinP // GetChainParams contains network parameters for the main Dogecoin network, // and the test Dogecoin network func GetChainParams(chain string) *chaincfg.Params { + if MainNetParams.Name == "" { + initParams() + } switch chain { default: return &MainNetParams diff --git a/bchain/coins/litecoin/litecoinparser.go b/bchain/coins/litecoin/litecoinparser.go index d81faa4f..7a60d2ac 100644 --- a/bchain/coins/litecoin/litecoinparser.go +++ b/bchain/coins/litecoin/litecoinparser.go @@ -18,7 +18,7 @@ var ( TestNetParams chaincfg.Params ) -func init() { +func initParams() { MainNetParams = chaincfg.MainNetParams MainNetParams.Net = MainnetMagic MainNetParams.PubKeyHashAddrID = []byte{48} @@ -53,6 +53,9 @@ func NewLitecoinParser(params *chaincfg.Params, c *btc.Configuration) *LitecoinP // GetChainParams contains network parameters for the main Litecoin network, // and the test Litecoin network func GetChainParams(chain string) *chaincfg.Params { + if MainNetParams.Name == "" { + initParams() + } switch chain { case "test": return &TestNetParams diff --git a/bchain/coins/monacoin/monacoinparser.go b/bchain/coins/monacoin/monacoinparser.go index ac082016..d5a9de37 100644 --- a/bchain/coins/monacoin/monacoinparser.go +++ b/bchain/coins/monacoin/monacoinparser.go @@ -26,7 +26,7 @@ var ( MonaTestParams monacoinCfg.Params ) -func init() { +func initParams() { MainNetParams = chaincfg.MainNetParams MainNetParams.Net = MainnetMagic MainNetParams.PubKeyHashAddrID = []byte{50} @@ -71,6 +71,9 @@ func NewMonacoinParser(params *chaincfg.Params, c *btc.Configuration) *MonacoinP // GetChainParams contains network parameters for the main Monacoin network, // and the test Monacoin network func GetChainParams(chain string) *chaincfg.Params { + if MainNetParams.Name == "" { + initParams() + } switch chain { case "test": return &TestNetParams diff --git a/bchain/coins/namecoin/namecoinparser.go b/bchain/coins/namecoin/namecoinparser.go index 726d6841..bca57e55 100644 --- a/bchain/coins/namecoin/namecoinparser.go +++ b/bchain/coins/namecoin/namecoinparser.go @@ -18,7 +18,7 @@ var ( MainNetParams chaincfg.Params ) -func init() { +func initParams() { MainNetParams = chaincfg.MainNetParams MainNetParams.Net = MainnetMagic MainNetParams.PubKeyHashAddrID = []byte{52} @@ -43,6 +43,9 @@ func NewNamecoinParser(params *chaincfg.Params, c *btc.Configuration) *NamecoinP // GetChainParams contains network parameters for the main Namecoin network, // and the test Namecoin network func GetChainParams(chain string) *chaincfg.Params { + if MainNetParams.Name == "" { + initParams() + } switch chain { default: return &MainNetParams diff --git a/bchain/coins/vertcoin/vertcoinparser.go b/bchain/coins/vertcoin/vertcoinparser.go index 59fdbdcf..ef7d82fc 100644 --- a/bchain/coins/vertcoin/vertcoinparser.go +++ b/bchain/coins/vertcoin/vertcoinparser.go @@ -18,7 +18,7 @@ var ( TestNetParams chaincfg.Params ) -func init() { +func initParams() { MainNetParams = chaincfg.MainNetParams MainNetParams.Net = MainnetMagic MainNetParams.PubKeyHashAddrID = []byte{71} @@ -53,6 +53,9 @@ func NewVertcoinParser(params *chaincfg.Params, c *btc.Configuration) *VertcoinP // GetChainParams contains network parameters for the main Vertcoin network, // and the test Vertcoin network func GetChainParams(chain string) *chaincfg.Params { + if MainNetParams.Name == "" { + initParams() + } switch chain { case "test": return &TestNetParams diff --git a/bchain/coins/zec/zcashparser.go b/bchain/coins/zec/zcashparser.go index c6452fc7..ea4917c3 100644 --- a/bchain/coins/zec/zcashparser.go +++ b/bchain/coins/zec/zcashparser.go @@ -19,7 +19,7 @@ var ( TestNetParams chaincfg.Params ) -func init() { +func initParams() { MainNetParams = chaincfg.MainNetParams MainNetParams.Net = MainnetMagic @@ -63,6 +63,9 @@ func NewZCashParser(params *chaincfg.Params, c *btc.Configuration) *ZCashParser // the regression test ZCash network, the test ZCash network and // the simulation test ZCash network, in this order func GetChainParams(chain string) *chaincfg.Params { + if MainNetParams.Name == "" { + initParams() + } var params *chaincfg.Params switch chain { case "test":