mirror of
https://github.com/monero-project/monero.git
synced 2025-12-05 20:40:22 -08:00
checkpoints: support nearest lower checkpoint lookup
This commit is contained in:
@@ -158,6 +158,19 @@ namespace cryptonote
|
||||
return m_points.rbegin()->first;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
uint64_t checkpoints::get_nearest_checkpoint_height(uint64_t block_height) const
|
||||
{
|
||||
if (m_points.empty())
|
||||
return 0;
|
||||
|
||||
auto it = m_points.upper_bound(block_height);
|
||||
if (it == m_points.begin())
|
||||
return 0;
|
||||
|
||||
--it;
|
||||
return it->first;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
const std::map<uint64_t, crypto::hash>& checkpoints::get_points() const
|
||||
{
|
||||
return m_points;
|
||||
|
||||
@@ -129,6 +129,14 @@ namespace cryptonote
|
||||
*/
|
||||
uint64_t get_max_height() const;
|
||||
|
||||
/**
|
||||
* @brief gets the highest checkpoint height less than the given block height
|
||||
*
|
||||
* @param block_height the reference block height
|
||||
* @return the nearest checkpoint height below block_height, or 0 if none
|
||||
*/
|
||||
uint64_t get_nearest_checkpoint_height(uint64_t block_height) const;
|
||||
|
||||
/**
|
||||
* @brief gets the checkpoints container
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user