Progress #17: Fix genesis witness list
This commit is contained in:
parent
d4e4854eb6
commit
5a01e255e2
1 changed files with 9 additions and 12 deletions
|
|
@ -424,29 +424,26 @@ void database::init_genesis(const genesis_state_type& genesis_state)
|
||||||
});
|
});
|
||||||
|
|
||||||
// Create initial workers
|
// Create initial workers
|
||||||
std::for_each( genesis_state.initial_worker_candidates.begin(), genesis_state.initial_worker_candidates.end(),
|
std::for_each(genesis_state.initial_worker_candidates.begin(), genesis_state.initial_worker_candidates.end(),
|
||||||
[ & ]( const genesis_state_type::initial_worker_type& worker )
|
[&](const genesis_state_type::initial_worker_type& worker)
|
||||||
{
|
{
|
||||||
worker_create_operation op;
|
worker_create_operation op;
|
||||||
op.owner = get_account_id( worker.owner_name );
|
op.owner = get_account_id(worker.owner_name);
|
||||||
op.work_begin_date = genesis_state.initial_timestamp;
|
op.work_begin_date = genesis_state.initial_timestamp;
|
||||||
op.work_end_date = time_point_sec::maximum();
|
op.work_end_date = time_point_sec::maximum();
|
||||||
op.daily_pay = worker.daily_pay;
|
op.daily_pay = worker.daily_pay;
|
||||||
op.name = "Genesis-Worker-" + worker.owner_name;
|
op.name = "Genesis-Worker-" + worker.owner_name;
|
||||||
op.initializer = vesting_balance_worker_type::initializer( 0 );
|
op.initializer = vesting_balance_worker_type::initializer(0);
|
||||||
|
|
||||||
apply_operation( genesis_eval_state, std::move( op ) );
|
apply_operation(genesis_eval_state, std::move(op));
|
||||||
} );
|
});
|
||||||
|
|
||||||
// Set active witnesses
|
// Set active witnesses
|
||||||
modify(get_global_properties(), [&](global_property_object& p) {
|
modify(get_global_properties(), [&](global_property_object& p) {
|
||||||
auto idx = get_index_type<witness_index>().indices();
|
for( int i = 0; i < genesis_state.initial_active_witnesses; ++i )
|
||||||
for( auto itr = idx.begin();
|
|
||||||
itr != idx.end() && p.active_witnesses.size() < genesis_state.initial_active_witnesses;
|
|
||||||
++itr )
|
|
||||||
{
|
{
|
||||||
p.active_witnesses.insert(itr->id);
|
p.active_witnesses.insert(i);
|
||||||
p.witness_accounts.insert(itr->witness_account);
|
p.witness_accounts.insert(get(witness_id_type(i)).witness_account);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue