rpc: skip bootstrap nodes that are lower than last checkpoint

pull/434/head
selsta 2 years ago committed by wowario
parent 537a2a761e
commit 5e2bc401ca
No known key found for this signature in database
GPG Key ID: 24DCBE762DE9C111

@ -157,6 +157,13 @@ namespace cryptonote
*/ */
bool deinit(); bool deinit();
/**
* @brief get a set of blockchain checkpoint hashes
*
* @return set of blockchain checkpoint hashes
*/
const checkpoints& get_checkpoints() const { return m_checkpoints; }
/** /**
* @brief assign a set of blockchain checkpoint hashes * @brief assign a set of blockchain checkpoint hashes
* *

@ -253,6 +253,10 @@ namespace cryptonote
m_pprotocol = &m_protocol_stub; m_pprotocol = &m_protocol_stub;
} }
//----------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------
const checkpoints& core::get_checkpoints() const
{
return m_blockchain_storage.get_checkpoints();
}
void core::set_checkpoints(checkpoints&& chk_pts) void core::set_checkpoints(checkpoints&& chk_pts)
{ {
m_blockchain_storage.set_checkpoints(std::move(chk_pts)); m_blockchain_storage.set_checkpoints(std::move(chk_pts));

@ -437,6 +437,13 @@ namespace cryptonote
*/ */
void set_cryptonote_protocol(i_cryptonote_protocol* pprotocol); void set_cryptonote_protocol(i_cryptonote_protocol* pprotocol);
/**
* @copydoc Blockchain::get_checkpoints
*
* @note see Blockchain::get_checkpoints()
*/
const checkpoints& get_checkpoints() const;
/** /**
* @copydoc Blockchain::set_checkpoints * @copydoc Blockchain::set_checkpoints
* *

@ -2142,6 +2142,12 @@ namespace cryptonote
return m_bootstrap_daemon->handle_result(false, {}); return m_bootstrap_daemon->handle_result(false, {});
} }
if (bootstrap_daemon_height < m_core.get_checkpoints().get_max_height())
{
MINFO("Bootstrap daemon height is lower than the latest checkpoint");
return m_bootstrap_daemon->handle_result(false, {});
}
if (!m_p2p.get_payload_object().no_sync()) if (!m_p2p.get_payload_object().no_sync())
{ {
uint64_t top_height = m_core.get_current_blockchain_height(); uint64_t top_height = m_core.get_current_blockchain_height();

Loading…
Cancel
Save