// Copyright (c) 2011-2016 The Cryptonote developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #pragma once #include #include "CryptoNoteBasicImpl.h" #include namespace CryptoNote { class Checkpoints { public: Checkpoints(Logging::ILogger& log); bool add_checkpoint(uint32_t height, const std::string& hash_str); bool is_in_checkpoint_zone(uint32_t height) const; bool check_block(uint32_t height, const Crypto::Hash& h) const; bool check_block(uint32_t height, const Crypto::Hash& h, bool& is_a_checkpoint) const; bool is_alternative_block_allowed(uint32_t blockchain_height, uint32_t block_height) const; private: std::map m_points; Logging::LoggerRef logger; }; }