aboutsummaryrefslogtreecommitdiff
path: root/src/blocks/blocks.cpp
diff options
context:
space:
mode:
authorxiphon <xiphon@protonmail.com>2018-10-09 12:33:39 +0000
committerxiphon <xiphon@protonmail.com>2018-10-22 01:12:00 +0300
commitfd62b6e79f87503bf27a3c8709aaf9cc4ae36146 (patch)
treea68bf9c14fd49d40f24fb92e49395c0f77e8a988 /src/blocks/blocks.cpp
parentMerge pull request #4532 (diff)
downloadmonero-fd62b6e79f87503bf27a3c8709aaf9cc4ae36146.tar.xz
blocks: use auto-generated .c files instead of 'LD -r -b binary'
Diffstat (limited to 'src/blocks/blocks.cpp')
-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;
+ }
+
+}