mirror of
https://github.com/monero-project/monero.git
synced 2025-08-13 17:45:34 -04:00
checkpoints: support nearest lower checkpoint lookup
This commit is contained in:
parent
cc73fe7116
commit
edc447eb75
2 changed files with 21 additions and 0 deletions
|
@ -158,6 +158,19 @@ namespace cryptonote
|
||||||
return m_points.rbegin()->first;
|
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
|
const std::map<uint64_t, crypto::hash>& checkpoints::get_points() const
|
||||||
{
|
{
|
||||||
return m_points;
|
return m_points;
|
||||||
|
|
|
@ -129,6 +129,14 @@ namespace cryptonote
|
||||||
*/
|
*/
|
||||||
uint64_t get_max_height() const;
|
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
|
* @brief gets the checkpoints container
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue