aboutsummaryrefslogtreecommitdiff
path: root/src/checkpoints
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2018-03-05 19:11:20 +0200
committerRiccardo Spagni <ric@spagni.net>2018-03-05 19:11:20 +0200
commit4f93f745284c10f12e2524f5211030085d9626cf (patch)
tree29b5f359a8f346305bcf7bf82f459f421bfaa7a7 /src/checkpoints
parentMerge pull request #3273 (diff)
parentWallet API: generalize 'bool testnet' to 'NetworkType nettype' (diff)
downloadmonero-4f93f745284c10f12e2524f5211030085d9626cf.tar.xz
Merge pull request #3277
0e7ad2e2 Wallet API: generalize 'bool testnet' to 'NetworkType nettype' (stoffu) af773211 Stagenet (stoffu) cc9a0bee command_line: allow args to depend on more than one args (stoffu) 55f8d917 command_line::get_arg: remove 'required' for dependent args as they're always optional (stoffu) 450306a0 command line: allow has_arg to handle arg_descriptor<bool,false,true> #3318 (stoffu) 9f9e095a Use `genesis_tx` parameter in `generate_genesis_block`. #3261 (Jean Pierre Dudey)
Diffstat (limited to '')
-rw-r--r--src/checkpoints/checkpoints.cpp24
-rw-r--r--src/checkpoints/checkpoints.h13
2 files changed, 25 insertions, 12 deletions
diff --git a/src/checkpoints/checkpoints.cpp b/src/checkpoints/checkpoints.cpp
index eadfb4df7..f709465c8 100644
--- a/src/checkpoints/checkpoints.cpp
+++ b/src/checkpoints/checkpoints.cpp
@@ -159,14 +159,20 @@ namespace cryptonote
return true;
}
- bool checkpoints::init_default_checkpoints(bool testnet)
+ bool checkpoints::init_default_checkpoints(network_type nettype)
{
- if (testnet)
+ if (nettype == TESTNET)
{
ADD_CHECKPOINT(0, "48ca7cd3c8de5b6a4d53d2861fbdaedca141553559f9be9520068053cda8430b");
ADD_CHECKPOINT(1000000, "46b690b710a07ea051bc4a6b6842ac37be691089c0f7758cfeec4d5fc0b4a258");
return true;
}
+ if (nettype == STAGENET)
+ {
+ ADD_CHECKPOINT(0, "76ee3cc98646292206cd3e86f74d88b4dcc1d937088645e9b0cbca84b7ce74eb");
+ ADD_CHECKPOINT(10000, "1f8b0ce313f8b9ba9a46108bfd285c45ad7c2176871fd41c3a690d4830ce2fd5");
+ return true;
+ }
ADD_CHECKPOINT(1, "771fbcd656ec1464d3a02ead5e18644030007a0fc664c0a964d30922821a8148");
ADD_CHECKPOINT(10, "c0e3b387e47042f72d8ccdca88071ff96bff1ac7cde09ae113dbb7ad3fe92381");
ADD_CHECKPOINT(100, "ac3e11ca545e57c49fca2b4e8c48c03c23be047c43e471e1394528b1f9f80b2d");
@@ -240,7 +246,7 @@ namespace cryptonote
return true;
}
- bool checkpoints::load_checkpoints_from_dns(bool testnet)
+ bool checkpoints::load_checkpoints_from_dns(network_type nettype)
{
std::vector<std::string> records;
@@ -257,7 +263,13 @@ namespace cryptonote
, "testpoints.moneropulse.co"
};
- if (!tools::dns_utils::load_txt_records_from_dns(records, testnet ? testnet_dns_urls : dns_urls))
+ static const std::vector<std::string> stagenet_dns_urls = { "stagenetpoints.moneropulse.se"
+ , "stagenetpoints.moneropulse.org"
+ , "stagenetpoints.moneropulse.net"
+ , "stagenetpoints.moneropulse.co"
+ };
+
+ if (!tools::dns_utils::load_txt_records_from_dns(records, nettype == TESTNET ? testnet_dns_urls : nettype == STAGENET ? stagenet_dns_urls : dns_urls))
return true; // why true ?
for (const auto& record : records)
@@ -290,14 +302,14 @@ namespace cryptonote
return true;
}
- bool checkpoints::load_new_checkpoints(const std::string &json_hashfile_fullpath, bool testnet, bool dns)
+ bool checkpoints::load_new_checkpoints(const std::string &json_hashfile_fullpath, network_type nettype, bool dns)
{
bool result;
result = load_checkpoints_from_json(json_hashfile_fullpath);
if (dns)
{
- result &= load_checkpoints_from_dns(testnet);
+ result &= load_checkpoints_from_dns(nettype);
}
return result;
diff --git a/src/checkpoints/checkpoints.h b/src/checkpoints/checkpoints.h
index e71861c44..61be2c27a 100644
--- a/src/checkpoints/checkpoints.h
+++ b/src/checkpoints/checkpoints.h
@@ -33,6 +33,7 @@
#include <vector>
#include "misc_log_ex.h"
#include "crypto/hash.h"
+#include "cryptonote_config.h"
#define ADD_CHECKPOINT(h, hash) CHECK_AND_ASSERT(add_checkpoint(h, hash), false);
#define JSON_HASH_FILE_NAME "checkpoints.json"
@@ -147,11 +148,11 @@ namespace cryptonote
/**
* @brief loads the default main chain checkpoints
- * @param testnet whether to load testnet checkpoints or mainnet
+ * @param nettype network type
*
* @return true unless adding a checkpoint fails
*/
- bool init_default_checkpoints(bool testnet);
+ bool init_default_checkpoints(network_type nettype);
/**
* @brief load new checkpoints
@@ -160,12 +161,12 @@ namespace cryptonote
* (optionally) from DNS.
*
* @param json_hashfile_fullpath path to the json checkpoints file
- * @param testnet whether to load testnet checkpoints or mainnet
+ * @param nettype network type
* @param dns whether or not to load DNS checkpoints
*
* @return true if loading successful and no conflicts
*/
- bool load_new_checkpoints(const std::string &json_hashfile_fullpath, bool testnet=false, bool dns=true);
+ bool load_new_checkpoints(const std::string &json_hashfile_fullpath, network_type nettype=MAINNET, bool dns=true);
/**
* @brief load new checkpoints from json
@@ -179,11 +180,11 @@ namespace cryptonote
/**
* @brief load new checkpoints from DNS
*
- * @param testnet whether to load testnet checkpoints or mainnet
+ * @param nettype network type
*
* @return true if loading successful and no conflicts
*/
- bool load_checkpoints_from_dns(bool testnet = false);
+ bool load_checkpoints_from_dns(network_type nettype = MAINNET);
private:
std::map<uint64_t, crypto::hash> m_points; //!< the checkpoints container