bug/451-update-son-list-on-maintenance

This commit is contained in:
Vlad Dobromyslov 2022-09-27 10:41:35 +00:00 committed by serkixenos
parent 2fd6f60112
commit 2accee53e2

View file

@ -104,7 +104,7 @@ vector<std::reference_wrapper<const son_object>> database::sort_votable_objects<
return oa_vote > ob_vote; return oa_vote > ob_vote;
return a.get_sidechain_vote_id(sidechain) < b.get_sidechain_vote_id(sidechain); return a.get_sidechain_vote_id(sidechain) < b.get_sidechain_vote_id(sidechain);
}); });
refs.resize(count, refs.front()); refs.resize(count, refs.front());
return refs; return refs;
@ -1463,17 +1463,19 @@ void rolling_period_start(database& db)
{ {
if(db.head_block_time() >= HARDFORK_GPOS_TIME) if(db.head_block_time() >= HARDFORK_GPOS_TIME)
{ {
auto gpo = db.get_global_properties(); const auto gpo = db.get_global_properties();
auto period_start = db.get_global_properties().parameters.gpos_period_start(); auto period_start = db.get_global_properties().parameters.gpos_period_start();
auto vesting_period = db.get_global_properties().parameters.gpos_period(); const auto vesting_period = db.get_global_properties().parameters.gpos_period();
auto now = db.head_block_time(); const auto now = db.head_block_time();
if(now.sec_since_epoch() >= (period_start + vesting_period)) while(now.sec_since_epoch() >= (period_start + vesting_period))
{ {
// roll // roll
db.modify(db.get_global_properties(), [period_start, vesting_period](global_property_object& p) { db.modify(db.get_global_properties(), [period_start, vesting_period](global_property_object& p) {
p.parameters.extensions.value.gpos_period_start = period_start + vesting_period; p.parameters.extensions.value.gpos_period_start = period_start + vesting_period;
}); });
period_start = db.get_global_properties().parameters.gpos_period_start();
} }
} }
} }