6 #ifndef KAGOME_CONSENSUS_AUTHORITIES_MANAGER_IMPL     7 #define KAGOME_CONSENSUS_AUTHORITIES_MANAGER_IMPL    19   class AppStateManager;
    26   class BlockHeaderRepository;
    30   struct BabeConfiguration;
    47     inline static const std::vector<primitives::ConsensusEngineId>
    55       bool on_disable_enabled = 
false;
    60         std::shared_ptr<application::AppStateManager> app_state_manager,
    61         std::shared_ptr<blockchain::BlockTree> block_tree,
    62         std::shared_ptr<storage::trie::TrieStorage> trie_storage,
    63         std::shared_ptr<runtime::GrandpaApi> grandpa_api,
    64         std::shared_ptr<crypto::Hasher> hash,
    65         std::shared_ptr<storage::BufferStorage> persistent_storage,
    66         std::shared_ptr<blockchain::BlockHeaderRepository> header_repo);
    70     outcome::result<void> recalculateStoredState(
    77     std::optional<std::shared_ptr<const primitives::AuthoritySet>> authorities(
    81     outcome::result<void> applyScheduledChange(
    86     outcome::result<void> applyForcedChange(
    90         size_t delay) 
override;
    93                                           uint64_t authority_index) 
override;
    95     outcome::result<void> applyPause(
    99     outcome::result<void> applyResume(
   103     outcome::result<void> onConsensus(
   119     std::shared_ptr<ScheduleNode> getAppropriateAncestor(
   122     outcome::result<std::optional<primitives::AuthoritySetId>>
   134     void reorganize(std::shared_ptr<ScheduleNode> node,
   135                     std::shared_ptr<ScheduleNode> new_node);
   145     std::shared_ptr<ScheduleNode> 
root_;
   150 #endif  // KAGOME_CONSENSUS_AUTHORITIES_MANAGER_IMPL std::shared_ptr< storage::trie::TrieStorage > trie_storage_
 
std::shared_ptr< ScheduleNode > root_
 
std::shared_ptr< soralog::Logger > Logger
 
std::shared_ptr< crypto::Hasher > hasher_
 
std::shared_ptr< runtime::GrandpaApi > grandpa_api_
 
const auto kGrandpaEngineId
 
std::shared_ptr< storage::BufferStorage > persistent_storage_
 
std::shared_ptr< const blockchain::BlockTree > block_tree_
 
std::shared_ptr< blockchain::BlockHeaderRepository > header_repo_