Kagome
Polkadot Runtime Engine in C++17
block_builder_factory_impl.hpp
Go to the documentation of this file.
1 
6 #ifndef KAGOME_CORE_AUTHORSHIP_IMPL_BLOCK_BUILDER_FACTORY_IMPL_HPP
7 #define KAGOME_CORE_AUTHORSHIP_IMPL_BLOCK_BUILDER_FACTORY_IMPL_HPP
8 
10 
12 #include "log/logger.hpp"
13 
14 namespace kagome::authorship {
15 
17  public:
18  ~BlockBuilderFactoryImpl() override = default;
19 
21  std::shared_ptr<runtime::Core> r_core,
22  std::shared_ptr<runtime::BlockBuilder> r_block_builder,
23  std::shared_ptr<blockchain::BlockHeaderRepository> header_backend);
24 
25  outcome::result<std::unique_ptr<BlockBuilder>> make(
26  const kagome::primitives::BlockInfo &parent_block,
27  primitives::Digest inherent_digest) const override;
28 
29  private:
30  std::shared_ptr<runtime::Core> r_core_;
31  std::shared_ptr<runtime::BlockBuilder> r_block_builder_;
32  std::shared_ptr<blockchain::BlockHeaderRepository> header_backend_;
34  };
35 
36 } // namespace kagome::authorship
37 
38 #endif // KAGOME_CORE_AUTHORSHIP_IMPL_BLOCK_BUILDER_FACTORY_IMPL_HPP
outcome::result< std::unique_ptr< BlockBuilder > > make(const kagome::primitives::BlockInfo &parent_block, primitives::Digest inherent_digest) const override
std::shared_ptr< blockchain::BlockHeaderRepository > header_backend_
BlockBuilderFactoryImpl(std::shared_ptr< runtime::Core > r_core, std::shared_ptr< runtime::BlockBuilder > r_block_builder, std::shared_ptr< blockchain::BlockHeaderRepository > header_backend)
std::shared_ptr< soralog::Logger > Logger
Definition: logger.hpp:23
std::shared_ptr< runtime::BlockBuilder > r_block_builder_