aboutsummaryrefslogtreecommitdiff
path: root/src/blocks/blocks.cpp
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2018-10-26 22:20:39 +0200
committerRiccardo Spagni <ric@spagni.net>2018-10-26 22:20:39 +0200
commit056a58d13fcb87b3eee8937146643e5e193a2790 (patch)
tree96982bd0eb5499885f2e6b7bf3bb5c43ba1a2e73 /src/blocks/blocks.cpp
parentMerge pull request #4526 (diff)
parentblocks: use auto-generated .c files instead of 'LD -r -b binary' (diff)
downloadmonero-056a58d13fcb87b3eee8937146643e5e193a2790.tar.xz
Merge pull request #4536
fd62b6e7 blocks: use auto-generated .c files instead of 'LD -r -b binary' (xiphon)
Diffstat (limited to '')
-rw-r--r--src/blocks/blocks.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/blocks/blocks.cpp b/src/blocks/blocks.cpp
new file mode 100644
index 000000000..0661f8448
--- /dev/null
+++ b/src/blocks/blocks.cpp
@@ -0,0 +1,31 @@
+#include "blocks.h"
+
+#include <unordered_map>
+
+extern const unsigned char checkpoints[];
+extern const size_t checkpoints_len;
+extern const unsigned char stagenet_blocks[];
+extern const size_t stagenet_blocks_len;
+extern const unsigned char testnet_blocks[];
+extern const size_t testnet_blocks_len;
+
+namespace blocks
+{
+
+ const std::unordered_map<cryptonote::network_type, const epee::span<const unsigned char>, std::hash<size_t>> CheckpointsByNetwork = {
+ {cryptonote::network_type::MAINNET, {checkpoints, checkpoints_len}},
+ {cryptonote::network_type::STAGENET, {stagenet_blocks, stagenet_blocks_len}},
+ {cryptonote::network_type::TESTNET, {testnet_blocks, testnet_blocks_len}}
+ };
+
+ const epee::span<const unsigned char> GetCheckpointsData(cryptonote::network_type network)
+ {
+ const auto it = CheckpointsByNetwork.find(network);
+ if (it != CheckpointsByNetwork.end())
+ {
+ return it->second;
+ }
+ return nullptr;
+ }
+
+}