Scorum
libraries
chain
genesis
initializators
witnesses_initializator.cpp
Go to the documentation of this file.
1
#include <
scorum/chain/genesis/initializators/witnesses_initializator.hpp
>
2
#include <
scorum/chain/data_service_factory.hpp
>
3
4
#include <fc/exception/exception.hpp>
5
6
#include <
scorum/chain/services/account.hpp
>
7
#include <
scorum/chain/services/witness.hpp
>
8
9
#include <
scorum/chain/schema/account_objects.hpp
>
10
#include <
scorum/chain/schema/witness_objects.hpp
>
11
12
#include <
scorum/chain/genesis/genesis_state.hpp
>
13
14
namespace
scorum
{
15
namespace
chain {
16
namespace
genesis {
17
18
void
witnesses_initializator_impl::on_apply
(
initializator_context
& ctx)
19
{
20
account_service_i
& account_service = ctx.
services
().account_service();
21
witness_service_i
& witness_service = ctx.
services
().witness_service();
22
23
for
(
auto
& witness : ctx.
genesis_state
().
witness_candidates
)
24
{
25
FC_ASSERT(!witness.name.empty(),
"Witness 'name' should not be empty."
);
26
27
account_service.
check_account_existence
(witness.name);
28
29
FC_ASSERT(witness.block_signing_key !=
public_key_type
(),
"Witness 'block_signing_key' should not be empty."
);
30
31
witness_service.
create_initial_witness
(witness.name, witness.block_signing_key);
32
}
33
}
34
}
35
}
36
}
account.hpp
account_objects.hpp
witness_objects.hpp
scorum::chain::genesis::initializator_context
Definition:
initializators.hpp:16
scorum::chain::genesis::initializator_context::genesis_state
const genesis_state_type & genesis_state() const
Definition:
initializators.hpp:32
scorum::chain::genesis::initializator_context::services
data_service_factory_i & services() const
Definition:
initializators.hpp:22
data_service_factory.hpp
genesis_state.hpp
scorum
Definition:
asset.cpp:15
scorum::chain::account_service_i
Definition:
account.hpp:28
scorum::chain::account_service_i::check_account_existence
virtual void check_account_existence(const account_name_type &, const optional< const char * > &context_type_name=optional< const char * >()) const =0
scorum::chain::genesis::witnesses_initializator_impl::on_apply
virtual void on_apply(initializator_context &)
Definition:
witnesses_initializator.cpp:18
scorum::chain::genesis_state_type::witness_candidates
std::vector< witness_type > witness_candidates
Definition:
genesis_state.hpp:75
scorum::chain::witness_service_i
Definition:
witness.hpp:21
scorum::chain::witness_service_i::create_initial_witness
virtual const witness_object & create_initial_witness(const account_name_type &owner, const public_key_type &block_signing_key)=0
scorum::protocol::public_key_type
Definition:
types.hpp:76
witness.hpp
witnesses_initializator.hpp
Generated on Thu Jun 9 2022 13:04:24 for Scorum by
1.9.1