Bitcoin ABC  0.26.3
P2P Digital Currency
checkpoints.cpp
Go to the documentation of this file.
1 // Copyright (c) 2020 The Bitcoin developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #include <chainparams.h>
6 #include <util/system.h>
7 
9  .mapCheckpoints = {
10  {11111, BlockHash::fromHex("0000000069e244f73d78e8fd29ba2fd2ed6"
11  "18bd6fa2ee92559f542fdb26e7c1d")},
12  {33333, BlockHash::fromHex("000000002dd5588a74784eaa7ab0507a18a"
13  "d16a236e7b1ce69f00d7ddfb5d0a6")},
14  {74000, BlockHash::fromHex("0000000000573993a3c9e41ce34471c079d"
15  "cf5f52a0e824a81e7f953b8661a20")},
16  {105000, BlockHash::fromHex("00000000000291ce28027faea320c8d2b0"
17  "54b2e0fe44a773f3eefb151d6bdc97")},
18  {134444, BlockHash::fromHex("00000000000005b12ffd4cd315cd34ffd4"
19  "a594f430ac814c91184a0d42d2b0fe")},
20  {168000, BlockHash::fromHex("000000000000099e61ea72015e79632f21"
21  "6fe6cb33d7899acb35b75c8303b763")},
22  {193000, BlockHash::fromHex("000000000000059f452a5f7340de6682a9"
23  "77387c17010ff6e6c3bd83ca8b1317")},
24  {210000, BlockHash::fromHex("000000000000048b95347e83192f69cf03"
25  "66076336c639f9b7228e9ba171342e")},
26  {216116, BlockHash::fromHex("00000000000001b4f4b433e81ee46494af"
27  "945cf96014816a4e2370f11b23df4e")},
28  {225430, BlockHash::fromHex("00000000000001c108384350f74090433e"
29  "7fcf79a606b8e797f065b130575932")},
30  {250000, BlockHash::fromHex("000000000000003887df1f29024b06fc22"
31  "00b55f8af8f35453d7be294df2d214")},
32  {279000, BlockHash::fromHex("0000000000000001ae8c72a0b0c301f67e"
33  "3afca10e819efa9041e458e9bd7e40")},
34  {295000, BlockHash::fromHex("00000000000000004d9b4ef50f0f9d686f"
35  "d69db2e03af35a100370c64632a983")},
36  // UAHF fork block.
37  {478558, BlockHash::fromHex("0000000000000000011865af4122fe3b14"
38  "4e2cbeea86142e8ff2fb4107352d43")},
39  // Nov, 13 DAA activation block.
40  {504031, BlockHash::fromHex("0000000000000000011ebf65b60d0a3de8"
41  "0b8175be709d653b4c1a1beeb6ab9c")},
42  // Monolith activation.
43  {530359, BlockHash::fromHex("0000000000000000011ada8bd08f46074f"
44  "44a8f155396f43e38acf9501c49103")},
45  // Magnetic anomaly activation.
46  {556767, BlockHash::fromHex("0000000000000000004626ff6e3b936941"
47  "d341c5932ece4357eeccac44e6d56c")},
48  // Great wall activation.
49  {582680, BlockHash::fromHex("000000000000000001b4b8e36aec7d4f96"
50  "71a47872cb9a74dc16ca398c7dcc18")},
51  // Graviton activation.
52  {609136, BlockHash::fromHex("000000000000000000b48bb207faac5ac6"
53  "55c313e41ac909322eaa694f5bc5b1")},
54  // Phonon activation.
55  {635259, BlockHash::fromHex("00000000000000000033dfef1fc2d6a5d5"
56  "520b078c55193a9bf498c5b27530f7")},
57  // Axion activation.
58  {661648, BlockHash::fromHex("000000000000000004284c9d8b2c8ff731efeaec6b"
59  "e50729bdc9bd07f910757d")},
60  {664198, BlockHash::fromHex("00000000000000000c2f90578cede892ff39592cce"
61  "34b2fb89b6d2a122468260")},
62  {680140, BlockHash::fromHex("0000000000000000232c48568b63451d4ac445210"
63  "9aa46f8b38c65c3f62f7c0b")},
64  // Tachyon activation
65  {686621, BlockHash::fromHex("00000000000000003c8fe6f7570a9f6d5480dcfc9"
66  "5f8228ae9d60b98bee5b745")},
67  // Selectron activation.
68  {713661, BlockHash::fromHex("00000000000000000676f84307c7ccb53a0f19083f"
69  "eace753cb73a38eaaaef8d")},
70  // Gluon activation.
71  {739536, BlockHash::fromHex("000000000000000006db04cd4609560905fe5a7be6"
72  "2f2429b159ce6b59fc7b61")},
73  // Jefferson activation.
74  {766195, BlockHash::fromHex("0000000000000000102bc94853715b9ade9610eb31"
75  "b4ed7d955529b76d24e094")},
76  // Wellington activation.
77  {792118, BlockHash::fromHex("00000000000000000b360176b8456de45b662fce6d"
78  "557c6238dec17362d197f3")},
79  // Cowperthwaite activation.
80  {818670, BlockHash::fromHex("000000000000000003e79cfe757a675909fd2bffde"
81  "52158ce4ec826e5ac6ae79")},
82  }};
83 
85  .mapCheckpoints = {
86  {546, BlockHash::fromHex("000000002a936ca763904c3c35fce2f3556c5"
87  "59c0214345d31b1bcebf76acb70")},
88  // UAHF fork block.
89  {1155875,
90  BlockHash::fromHex("00000000f17c850672894b9a75b63a1e72830bbd5f"
91  "4c8889b5c1a80e7faef138")},
92  // Nov, 13. DAA activation block.
93  {1188697,
94  BlockHash::fromHex("0000000000170ed0918077bde7b4d36cc4c91be69f"
95  "a09211f748240dabe047fb")},
96  // Great wall activation.
97  {1303885,
98  BlockHash::fromHex("00000000000000479138892ef0e4fa478ccc938fb9"
99  "4df862ef5bde7e8dee23d3")},
100  // Graviton activation.
101  {1341712,
102  BlockHash::fromHex("00000000fffc44ea2e202bd905a9fbbb9491ef9e9d"
103  "5a9eed4039079229afa35b")},
104  // Phonon activation.
105  {1378461,
106  BlockHash::fromHex("0000000099f5509b5f36b1926bcf82b21d936ebeade"
107  "e811030dfbbb7fae915d7")},
108  // Axion activation.
109  {1421481, BlockHash::fromHex("00000000062c7f32591d883c99fc89ebe74a83287"
110  "c0f2b7ffeef72e62217d40b")},
111  // Tachyon activation.
112  {1450540, BlockHash::fromHex("00000000001085419e7328a2bacaf6216dd913c40"
113  "0f0b7da4bde43a8ebf6ed4e")},
114  // Selectron activation.
115  {1477500, BlockHash::fromHex("000000000004057554e6f83253e3080774c37ae8a"
116  "940ffbc38d77525274709ae")},
117  // Gluon activation.
118  {1503557, BlockHash::fromHex("00000000000dbd764814fb67b5ff5aab606faa1f5"
119  "881dc86f57639a1396e11ba")},
120  // Jefferson activation.
121  {1530063, BlockHash::fromHex("00000000013102d35674688b5fd478c3a048660d6"
122  "fea862401734a4b914132bf")},
123  // Wellington activation.
124  {1556121, BlockHash::fromHex("000000000eb806d6dbc9a200a9d533c7a11fc7d45"
125  "ab67a3c8440cc1b5c4e741f")},
126  // Cowperthwaite activation.
127  {1584486, BlockHash::fromHex("000000000bdc9ee694295e611be29fcad7189f116"
128  "04edeb8f6c0ab65b40c3370")},
129  }};
130 
132  .mapCheckpoints = {
133  {0, BlockHash::fromHex("0f9188f13cb7b2c71f2a335e3a4fc328bf5beb4"
134  "36012afca590b1a11466e2206")},
135  }};
136 
137 const CCheckpointData &CheckpointData(const std::string &chain) {
138  if (chain == CBaseChainParams::MAIN) {
139  return mainNetCheckpointData;
140  }
141  if (chain == CBaseChainParams::TESTNET) {
142  return testNetCheckpointData;
143  }
144  if (chain == CBaseChainParams::REGTEST) {
145  return regTestCheckpointData;
146  }
147 
148  throw std::runtime_error(
149  strprintf("%s: Unknown chain %s.", __func__, chain));
150 }
static const std::string REGTEST
static const std::string TESTNET
static const std::string MAIN
BIP70 chain name strings (main, test or regtest)
const CCheckpointData & CheckpointData(const std::string &chain)
static CCheckpointData regTestCheckpointData
static CCheckpointData testNetCheckpointData
Definition: checkpoints.cpp:84
static CCheckpointData mainNetCheckpointData
Definition: checkpoints.cpp:8
static BlockHash fromHex(const std::string &str)
Definition: blockhash.h:17
MapCheckpoints mapCheckpoints
Definition: chainparams.h:28
#define strprintf
Format arguments and return the string or write to given std::ostream (see tinyformat::format doc for...
Definition: tinyformat.h:1202