6 #ifndef KAGOME_CONSENSUS_BLOCKEXECUTORIMPL 7 #define KAGOME_CONSENSUS_BLOCKEXECUTORIMPL 11 #include <libp2p/peer/peer_id.hpp> 28 class OffchainWorkerApi;
32 class BabeConfigRepository;
33 class ConsistencyKeeper;
44 public std::enable_shared_from_this<BlockExecutorImpl> {
46 enum class Error { INVALID_BLOCK = 1, PARENT_NOT_FOUND, INTERNAL_ERROR };
49 std::shared_ptr<blockchain::BlockTree> block_tree,
50 std::shared_ptr<runtime::Core> core,
51 std::shared_ptr<consensus::babe::BabeConfigRepository> babe_config_repo,
52 std::shared_ptr<BlockValidator> block_validator,
53 std::shared_ptr<grandpa::Environment> grandpa_environment,
54 std::shared_ptr<transaction_pool::TransactionPool> tx_pool,
55 std::shared_ptr<crypto::Hasher> hasher,
56 std::shared_ptr<blockchain::DigestTracker> digest_tracker,
57 std::shared_ptr<BabeUtil> babe_util,
58 std::shared_ptr<runtime::OffchainWorkerApi> offchain_worker_api,
59 std::shared_ptr<babe::ConsistencyKeeper> consistency_keeper);
63 outcome::result<void> applyJustification(
69 std::shared_ptr<runtime::Core>
core_;
73 std::shared_ptr<transaction_pool::TransactionPool>
tx_pool_;
95 #endif // KAGOME_CONSENSUS_BLOCKEXECUTORIMPL std::shared_ptr< transaction_pool::TransactionPool > tx_pool_
std::map< primitives::BlockInfo, primitives::Justification > justifications_
std::shared_ptr< runtime::OffchainWorkerApi > offchain_worker_api_
A histogram metric to represent aggregatable distributions of events.
metrics::Histogram * metric_block_execution_time_
std::unique_ptr< Registry > RegistryPtr
RegistryPtr createRegistry()
std::shared_ptr< consensus::babe::BabeConfigRepository > babe_config_repo_
OUTCOME_HPP_DECLARE_ERROR(kagome::consensus, BlockExecutorImpl::Error)
std::shared_ptr< soralog::Logger > Logger
telemetry::Telemetry telemetry_
std::shared_ptr< grandpa::Environment > grandpa_environment_
std::shared_ptr< runtime::Core > core_
std::shared_ptr< crypto::Hasher > hasher_
std::shared_ptr< blockchain::DigestTracker > digest_tracker_
std::shared_ptr< BabeUtil > babe_util_
std::shared_ptr< blockchain::BlockTree > block_tree_
std::shared_ptr< babe::ConsistencyKeeper > consistency_keeper_
std::shared_ptr< TelemetryService > Telemetry
std::shared_ptr< BlockValidator > block_validator_