Kagome
Polkadot Runtime Engine in C++17
kagome::runtime::wavm::CoreApiFactoryImpl Class Referencefinal

#include <core_api_factory_impl.hpp>

Inheritance diagram for kagome::runtime::wavm::CoreApiFactoryImpl:
Collaboration diagram for kagome::runtime::wavm::CoreApiFactoryImpl:

Public Member Functions

 CoreApiFactoryImpl (std::shared_ptr< CompartmentWrapper > compartment, std::shared_ptr< ModuleParams > module_params, std::shared_ptr< IntrinsicModule > intrinsic_module, std::shared_ptr< storage::trie::TrieStorage > storage, std::shared_ptr< blockchain::BlockHeaderRepository > block_header_repo, std::shared_ptr< const InstanceEnvironmentFactory > instance_env_factory, std::shared_ptr< storage::changes_trie::ChangesTracker > changes_tracker, std::shared_ptr< SingleModuleCache > last_compiled_module, std::shared_ptr< runtime::RuntimePropertiesCache > cache)
 
std::unique_ptr< Coremake (std::shared_ptr< const crypto::Hasher > hasher, const std::vector< uint8_t > &runtime_code) const override
 
- Public Member Functions inherited from kagome::runtime::CoreApiFactory
virtual ~CoreApiFactory ()=default
 

Private Attributes

std::shared_ptr< const InstanceEnvironmentFactoryinstance_env_factory_
 
std::shared_ptr< CompartmentWrappercompartment_
 
std::shared_ptr< ModuleParamsmodule_params_
 
std::shared_ptr< IntrinsicModuleintrinsic_module_
 
std::shared_ptr< storage::trie::TrieStoragestorage_
 
std::shared_ptr< blockchain::BlockHeaderRepositoryblock_header_repo_
 
std::shared_ptr< storage::changes_trie::ChangesTrackerchanges_tracker_
 
std::shared_ptr< SingleModuleCachelast_compiled_module_
 
std::shared_ptr< runtime::RuntimePropertiesCachecache_
 

Detailed Description

Definition at line 39 of file core_api_factory_impl.hpp.

Constructor & Destructor Documentation

kagome::runtime::wavm::CoreApiFactoryImpl::CoreApiFactoryImpl ( std::shared_ptr< CompartmentWrapper compartment,
std::shared_ptr< ModuleParams module_params,
std::shared_ptr< IntrinsicModule intrinsic_module,
std::shared_ptr< storage::trie::TrieStorage storage,
std::shared_ptr< blockchain::BlockHeaderRepository block_header_repo,
std::shared_ptr< const InstanceEnvironmentFactory instance_env_factory,
std::shared_ptr< storage::changes_trie::ChangesTracker changes_tracker,
std::shared_ptr< SingleModuleCache last_compiled_module,
std::shared_ptr< runtime::RuntimePropertiesCache cache 
)

Definition at line 90 of file core_api_factory_impl.cpp.

Member Function Documentation

std::unique_ptr< Core > kagome::runtime::wavm::CoreApiFactoryImpl::make ( std::shared_ptr< const crypto::Hasher hasher,
const std::vector< uint8_t > &  runtime_code 
) const
overridevirtual

Implements kagome::runtime::CoreApiFactory.

Definition at line 120 of file core_api_factory_impl.cpp.

Member Data Documentation

std::shared_ptr<blockchain::BlockHeaderRepository> kagome::runtime::wavm::CoreApiFactoryImpl::block_header_repo_
private

Definition at line 64 of file core_api_factory_impl.hpp.

std::shared_ptr<runtime::RuntimePropertiesCache> kagome::runtime::wavm::CoreApiFactoryImpl::cache_
private

Definition at line 67 of file core_api_factory_impl.hpp.

std::shared_ptr<storage::changes_trie::ChangesTracker> kagome::runtime::wavm::CoreApiFactoryImpl::changes_tracker_
private

Definition at line 65 of file core_api_factory_impl.hpp.

std::shared_ptr<CompartmentWrapper> kagome::runtime::wavm::CoreApiFactoryImpl::compartment_
private

Definition at line 60 of file core_api_factory_impl.hpp.

std::shared_ptr<const InstanceEnvironmentFactory> kagome::runtime::wavm::CoreApiFactoryImpl::instance_env_factory_
private

Definition at line 59 of file core_api_factory_impl.hpp.

std::shared_ptr<IntrinsicModule> kagome::runtime::wavm::CoreApiFactoryImpl::intrinsic_module_
private

Definition at line 62 of file core_api_factory_impl.hpp.

std::shared_ptr<SingleModuleCache> kagome::runtime::wavm::CoreApiFactoryImpl::last_compiled_module_
private

Definition at line 66 of file core_api_factory_impl.hpp.

std::shared_ptr<ModuleParams> kagome::runtime::wavm::CoreApiFactoryImpl::module_params_
private

Definition at line 61 of file core_api_factory_impl.hpp.

std::shared_ptr<storage::trie::TrieStorage> kagome::runtime::wavm::CoreApiFactoryImpl::storage_
private

Definition at line 63 of file core_api_factory_impl.hpp.


The documentation for this class was generated from the following files: