Page MenuHomePhabricator

D8339.id25685.diff
No OneTemporary

D8339.id25685.diff

diff --git a/contrib/seeds/generate-seeds.py b/contrib/seeds/generate-seeds.py
--- a/contrib/seeds/generate-seeds.py
+++ b/contrib/seeds/generate-seeds.py
@@ -128,6 +128,9 @@
indir = sys.argv[1]
g.write('#ifndef BITCOIN_CHAINPARAMSSEEDS_H\n')
g.write('#define BITCOIN_CHAINPARAMSSEEDS_H\n')
+ g.write('#include <chainparams.h>\n')
+ g.write('#include <util/strencodings.h>\n')
+ g.write('#include <tinyformat.h>\n')
g.write('/**\n')
g.write(' * List of fixed seed nodes for the bitcoin network\n')
g.write(' * @{} by contrib/seeds/generate-seeds.py\n'.format('generated'))
@@ -141,6 +144,20 @@
g.write('\n')
with open(os.path.join(indir, 'nodes_test.txt'), 'r', encoding="utf8") as f:
process_nodes(g, f, 'pnSeed6_test', 18333)
+ g.write(
+ 'std::vector<SeedSpec6> FixedSeedsList(const std::string &chain) {\n')
+ g.write(' if (chain == CBaseChainParams::MAIN) {\n')
+ g.write(' return std::vector<SeedSpec6>(\n')
+ g.write(' pnSeed6_main, pnSeed6_main + ARRAYLEN(pnSeed6_main));\n')
+ g.write(' }\n')
+ g.write(' if (chain == CBaseChainParams::TESTNET) {\n')
+ g.write(' return std::vector<SeedSpec6>(\n')
+ g.write(' pnSeed6_test, pnSeed6_test + ARRAYLEN(pnSeed6_test));\n')
+ g.write(' }\n')
+ g.write(' throw std::runtime_error(\n')
+ g.write(
+ ' strprintf("%s: Unknown or unsupported chain %s.", __func__, chain));\n')
+ g.write('}\n')
g.write('#endif // BITCOIN_CHAINPARAMSSEEDS_H\n')
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -440,6 +440,7 @@
cashaddrenc.cpp
chainparams.cpp
chainparamsconstants.cpp
+ chainparamsseeds.cpp
config.cpp
consensus/merkle.cpp
coins.cpp
diff --git a/src/chainparams.h b/src/chainparams.h
--- a/src/chainparams.h
+++ b/src/chainparams.h
@@ -142,4 +142,6 @@
const CCheckpointData &CheckpointData(const std::string &chain);
+std::vector<SeedSpec6> FixedSeedsList(const std::string &chain);
+
#endif // BITCOIN_CHAINPARAMS_H
diff --git a/src/chainparams.cpp b/src/chainparams.cpp
--- a/src/chainparams.cpp
+++ b/src/chainparams.cpp
@@ -7,7 +7,6 @@
#include <chainparams.h>
#include <chainparamsconstants.h>
-#include <chainparamsseeds.h>
#include <consensus/merkle.h>
#include <network.h>
#include <tinyformat.h>
@@ -200,9 +199,7 @@
base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x88, 0xB2, 0x1E};
base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x88, 0xAD, 0xE4};
cashaddrPrefix = "bitcoincash";
-
- vFixedSeeds = std::vector<SeedSpec6>(
- pnSeed6_main, pnSeed6_main + ARRAYLEN(pnSeed6_main));
+ vFixedSeeds = FixedSeedsList(CBaseChainParams::MAIN);
fDefaultConsistencyChecks = false;
fRequireStandard = true;
@@ -344,8 +341,7 @@
base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};
cashaddrPrefix = "bchtest";
- vFixedSeeds = std::vector<SeedSpec6>(
- pnSeed6_test, pnSeed6_test + ARRAYLEN(pnSeed6_test));
+ vFixedSeeds = FixedSeedsList(CBaseChainParams::TESTNET);
fDefaultConsistencyChecks = false;
fRequireStandard = false;
diff --git a/src/chainparamsseeds.h b/src/chainparamsseeds.cpp
rename from src/chainparamsseeds.h
rename to src/chainparamsseeds.cpp
--- a/src/chainparamsseeds.h
+++ b/src/chainparamsseeds.cpp
@@ -1,5 +1,8 @@
#ifndef BITCOIN_CHAINPARAMSSEEDS_H
#define BITCOIN_CHAINPARAMSSEEDS_H
+#include <chainparams.h>
+#include <util/strencodings.h>
+#include <tinyformat.h>
/**
* List of fixed seed nodes for the bitcoin network
* @generated by contrib/seeds/generate-seeds.py
@@ -122,4 +125,16 @@
{{0x20,0x01,0x0b,0xc8,0x18,0x28,0x13,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01}, 18433},
{{0x26,0x01,0x06,0x02,0x8d,0x80,0x0b,0x63,0xdc,0x6d,0x61,0xff,0xfe,0x9f,0x7f,0x29}, 18333}
};
+std::vector<SeedSpec6> FixedSeedsList(const std::string &chain) {
+ if (chain == CBaseChainParams::MAIN) {
+ return std::vector<SeedSpec6>(
+ pnSeed6_main, pnSeed6_main + ARRAYLEN(pnSeed6_main));
+ }
+ if (chain == CBaseChainParams::TESTNET) {
+ return std::vector<SeedSpec6>(
+ pnSeed6_test, pnSeed6_test + ARRAYLEN(pnSeed6_test));
+ }
+ throw std::runtime_error(
+ strprintf("%s: Unknown or unsupported chain %s.", __func__, chain));
+}
#endif // BITCOIN_CHAINPARAMSSEEDS_H

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 1, 11:30 (6 h, 24 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5182956
Default Alt Text
D8339.id25685.diff (4 KB)

Event Timeline