aboutsummaryrefslogtreecommitdiff
path: root/src/blocks/blocks.cpp
diff options
context:
space:
mode:
authorxiphon <xiphon@protonmail.com>2018-10-04 00:01:09 +0000
committerxiphon <xiphon@protonmail.com>2018-10-04 00:01:09 +0000
commit02d3ef7bdae7d1dd7a9a6f4fee24631cf9403278 (patch)
tree3892e9302e654cab76eb29ac0cf02a72b40c9ad6 /src/blocks/blocks.cpp
parentMerge pull request #4485 (diff)
downloadmonero-02d3ef7bdae7d1dd7a9a6f4fee24631cf9403278.tar.xz
blocks: use auto-generated .c files instead of 'LD -r -b binary'
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;
+ }
+
+}