From 0d0be55e102a7fa8346e6738819a4851433c34c0 Mon Sep 17 00:00:00 2001 From: theoreticalbts Date: Fri, 24 Jul 2015 15:31:05 -0400 Subject: [PATCH] db_witness_schedule.cpp: Implement genesis as special case in get_slot_time() --- libraries/chain/db_witness_schedule.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libraries/chain/db_witness_schedule.cpp b/libraries/chain/db_witness_schedule.cpp index d233c8bf..3c4a4710 100644 --- a/libraries/chain/db_witness_schedule.cpp +++ b/libraries/chain/db_witness_schedule.cpp @@ -62,6 +62,14 @@ fc::time_point_sec database::get_slot_time(uint32_t slot_num)const return fc::time_point_sec(); auto interval = block_interval(); + + if( head_block_num() == 0 ) + { + // n.b. first block is at genesis_time plus one block interval + fc::time_point_sec genesis_time = get_dynamic_global_properties().time; + return genesis_time + slot_num * interval; + } + auto head_block_abs_slot = head_block_time().sec_since_epoch() / interval; fc::time_point_sec first_slot_time(head_block_abs_slot * interval); return first_slot_time + slot_num * interval;