Compare commits

...

1 commit

Author SHA1 Message Date
sierra19XX
4c5deb1772 GPOS2 HF - Handle rolling period on missing blocks 2020-07-28 10:37:55 +00:00
2 changed files with 14 additions and 5 deletions

View file

@ -803,8 +803,6 @@ uint32_t database::get_gpos_current_subperiod()
const auto now = this->head_block_time();
auto seconds_since_period_start = now.sec_since_epoch() - period_start.sec_since_epoch();
FC_ASSERT(period_start <= now && now <= period_end);
// get in what sub period we are
uint32_t current_subperiod = 0;
std::list<uint32_t> period_list(number_of_subperiods);
@ -926,9 +924,16 @@ void rolling_period_start(database& db)
if(now.sec_since_epoch() >= (period_start + vesting_period))
{
// roll
db.modify(db.get_global_properties(), [now](global_property_object& p) {
p.parameters.extensions.value.gpos_period_start = now.sec_since_epoch();
});
if(db.head_block_time() >= HARDFORK_GPOS2_TIME)
{
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;
});
} else {
db.modify(db.get_global_properties(), [now](global_property_object& p) {
p.parameters.extensions.value.gpos_period_start = now.sec_since_epoch();
});
}
}
}
}

View file

@ -0,0 +1,4 @@
// GPOS2 HARDFORK Tuesday, 28 July 2020 01:00:00 GMT
#ifndef HARDFORK_GPOS2_TIME
#define HARDFORK_GPOS2_TIME (fc::time_point_sec( 1595898000 ))
#endif