mirror of
https://github.com/monero-project/monero.git
synced 2025-08-01 09:06:08 -04:00
Merge pull request #3444
a79fc21
hardfork: fix get_earliest_ideal_height_for_version() to support non-existent versions (stoffu)7e30ead
unit_tests/hardfork: add tests for check_for_height() (stoffu)98cf62c
hardfork: fix get_next_version() (stoffu)0321d1a
unit_tests/hardfork: add tests for get_voting_info() (stoffu)
This commit is contained in:
commit
5321769b65
2 changed files with 138 additions and 7 deletions
|
@ -379,20 +379,24 @@ uint8_t HardFork::get_ideal_version(uint64_t height) const
|
|||
|
||||
uint64_t HardFork::get_earliest_ideal_height_for_version(uint8_t version) const
|
||||
{
|
||||
for (unsigned int n = heights.size() - 1; n > 0; --n) {
|
||||
if (heights[n].version <= version)
|
||||
return heights[n].height;
|
||||
uint64_t height = std::numeric_limits<uint64_t>::max();
|
||||
for (auto i = heights.rbegin(); i != heights.rend(); ++i) {
|
||||
if (i->version >= version) {
|
||||
height = i->height;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return height;
|
||||
}
|
||||
|
||||
uint8_t HardFork::get_next_version() const
|
||||
{
|
||||
CRITICAL_REGION_LOCAL(lock);
|
||||
uint64_t height = db.height();
|
||||
for (unsigned int n = heights.size() - 1; n > 0; --n) {
|
||||
if (height >= heights[n].height) {
|
||||
return heights[n < heights.size() - 1 ? n + 1 : n].version;
|
||||
for (auto i = heights.rbegin(); i != heights.rend(); ++i) {
|
||||
if (height >= i->height) {
|
||||
return (i == heights.rbegin() ? i : (i - 1))->version;
|
||||
}
|
||||
}
|
||||
return original_version;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue