36 #include "misc_log_ex.h" 37 #include "storages/portable_storage_template_helper.h" 39 #define ADD_CHECKPOINT(h, hash) CHECK_AND_ASSERT(add_checkpoint(h, hash), false); 40 #define JSON_HASH_FILE_NAME "checkpoints.json" 136 const std::map<uint64_t, crypto::hash>&
get_points()
const;
169 bool load_new_checkpoints(
const std::string json_hashfile_fullpath,
bool testnet=
false,
bool dns=
true);
199 BEGIN_KV_SERIALIZE_MAP()
202 END_KV_SERIALIZE_MAP()
210 BEGIN_KV_SERIALIZE_MAP()
211 KV_SERIALIZE(hashlines)
212 END_KV_SERIALIZE_MAP()
bool add_checkpoint(uint64_t height, const std::string &hash_str)
adds a checkpoint to the container
Definition: checkpoints.cpp:53
bool load_new_checkpoints(const std::string json_hashfile_fullpath, bool testnet=false, bool dns=true)
load new checkpoints
Definition: checkpoints.cpp:245
uint64_t height
the height of the checkpoint
Definition: checkpoints.h:197
uint64_t get_max_height() const
gets the highest checkpoint height
Definition: checkpoints.cpp:113
uint64_t height
Definition: blockchain.cpp:87
crypto namespace.
Definition: crypto.cpp:47
Definition: block_queue.cpp:41
bool check_block(uint64_t height, const crypto::hash &h, bool &is_a_checkpoint) const
checks if the given height and hash agree with the checkpoints
Definition: checkpoints.cpp:73
bool load_checkpoints_from_json(const std::string json_hashfile_fullpath)
load new checkpoints from json
Definition: checkpoints.cpp:161
bool is_alternative_block_allowed(uint64_t blockchain_height, uint64_t block_height) const
checks if alternate chain blocks should be kept for a given height
Definition: checkpoints.cpp:98
bool load_checkpoints_from_dns(bool testnet=false)
load new checkpoints from DNS
Definition: checkpoints.cpp:193
Holds cryptonote related classes and helpers.
Definition: db_bdb.cpp:225
internal::map< const std::string, node > map
Definition: mstch.hpp:119
std::vector< t_hashline > hashlines
the checkpoint lines from the file
Definition: checkpoints.h:209
bool init_default_checkpoints()
loads the default main chain checkpoints
Definition: checkpoints.cpp:139
std::map< uint64_t, crypto::hash > m_points
the checkpoints container
Definition: checkpoints.h:215
std::string hash
the hash for the checkpoint
Definition: checkpoints.h:198
POD_CLASS hash
Definition: hash.h:46
A container for blockchain checkpoints.
Definition: checkpoints.h:52
const std::map< uint64_t, crypto::hash > & get_points() const
gets the checkpoints container
Definition: checkpoints.cpp:122
checkpoints()
default constructor
Definition: checkpoints.cpp:49
struct for loading a checkpoint from json
Definition: checkpoints.h:195
struct for loading many checkpoints from json
Definition: checkpoints.h:208
bool check_for_conflicts(const checkpoints &other) const
checks if our checkpoints container conflicts with another
Definition: checkpoints.cpp:127
bool is_in_checkpoint_zone(uint64_t height) const
checks if there is a checkpoint in the future
Definition: checkpoints.cpp:68