diff --git a/libraries/chain/db_init.cpp b/libraries/chain/db_init.cpp index 831edf12..50964961 100644 --- a/libraries/chain/db_init.cpp +++ b/libraries/chain/db_init.cpp @@ -789,6 +789,7 @@ void database::init_genesis(const genesis_state_type& genesis_state) #endif create([&](witness_schedule_object& _wso) { + // for scheduled memset(_wso.rng_seed.begin(), 0, _wso.rng_seed.size()); witness_scheduler_rng rng(_wso.rng_seed.begin(), GRAPHENE_NEAR_SCHEDULE_CTR_IV); @@ -805,6 +806,10 @@ void database::init_genesis(const genesis_state_type& genesis_state) _wso.last_scheduling_block = 0; _wso.recent_slots_filled = fc::uint128::max_value(); + + // for shuffled + for( const witness_id_type& wid : get_global_properties().active_witnesses ) + _wso.current_shuffled_witnesses.push_back( wid ); }); assert( wso.id == witness_schedule_id_type() ); @@ -814,11 +819,11 @@ void database::init_genesis(const genesis_state_type& genesis_state) }); // Create witness scheduler - create([&]( witness_schedule_object& wso ) - { - for( const witness_id_type& wid : get_global_properties().active_witnesses ) - wso.current_shuffled_witnesses.push_back( wid ); - }); + //create([&]( witness_schedule_object& wso ) + //{ + // for( const witness_id_type& wid : get_global_properties().active_witnesses ) + // wso.current_shuffled_witnesses.push_back( wid ); + //}); // Create FBA counters create([&]( fba_accumulator_object& acc ) diff --git a/libraries/chain/db_witness_schedule.cpp b/libraries/chain/db_witness_schedule.cpp index 446d34a9..9b968311 100644 --- a/libraries/chain/db_witness_schedule.cpp +++ b/libraries/chain/db_witness_schedule.cpp @@ -125,7 +125,9 @@ fc::time_point_sec database::get_slot_time(uint32_t slot_num)const uint32_t database::get_slot_at_time(fc::time_point_sec when)const { fc::time_point_sec first_slot_time = get_slot_time( 1 ); - std::cout << "romek " << when.to_iso_string() << " " << first_slot_time.to_iso_string() << "\n"; +#ifndef NDEBUG + std::cout << "@get_slot_at_time " << when.to_iso_string() << " " << first_slot_time.to_iso_string() << "\n"; +#endif if( when < first_slot_time ) return 0; return (when - first_slot_time).to_seconds() / block_interval() + 1; diff --git a/libraries/chain/include/graphene/chain/witness_schedule_object.hpp b/libraries/chain/include/graphene/chain/witness_schedule_object.hpp index f0d9e85c..e4c4bb51 100644 --- a/libraries/chain/include/graphene/chain/witness_schedule_object.hpp +++ b/libraries/chain/include/graphene/chain/witness_schedule_object.hpp @@ -32,7 +32,6 @@ namespace graphene { namespace chain { class witness_schedule_object; -//#ifndef GRAPHENE_SHUFFLED_WITNESSES typedef hash_ctr_rng< /* HashClass = */ fc::sha256, /* SeedLength = */ GRAPHENE_RNG_SEED_LENGTH @@ -53,7 +52,6 @@ typedef generic_far_future_witness_scheduler< /* OffsetType = */ uint32_t, /* debug = */ true > far_future_witness_scheduler; -//#endif class witness_schedule_object : public graphene::db::abstract_object { @@ -61,9 +59,8 @@ class witness_schedule_object : public graphene::db::abstract_object current_shuffled_witnesses; -//#else + witness_scheduler scheduler; uint32_t last_scheduling_block; uint64_t slots_since_genesis = 0; @@ -74,14 +71,11 @@ class witness_schedule_object : public graphene::db::abstract_object