Decentralised Art Server
High-performance C++ backend that exposes HTML interface and a secure REST API for managing Performative Transactions entities
Loading...
Searching...
No Matches
loader.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstddef>
4#include <fstream>
5
6#include "native.h"
7#include <asio.hpp>
8#include <spdlog/spdlog.h>
9
10#include "pt.hpp"
11#include "registry.hpp"
12#include "parser.hpp"
13#include "evm.hpp"
14#include "chain.hpp"
15
16namespace dcn::loader
17{
18 bool ensurePTBuildVersion(const std::filesystem::path & storage_path);
19
20 asio::awaitable<std::expected<chain::Address, pt::PTDeployError>> deployConnector(
21 evm::EVM & evm,
23 ConnectorRecord connector,
24 const std::filesystem::path & storage_path,
25 bool persist_json = true);
26 asio::awaitable<std::expected<chain::Address, pt::PTDeployError>> deployTransformation(
27 evm::EVM & evm,
29 TransformationRecord transformation,
30 const std::filesystem::path & storage_path,
31 bool persist_json = true);
32 asio::awaitable<std::expected<chain::Address, pt::PTDeployError>> deployCondition(
33 evm::EVM & evm,
35 ConditionRecord condition,
36 const std::filesystem::path & storage_path,
37 bool persist_json = true);
38
39 asio::awaitable<bool> importJsonStorageToDatabase(
40 evm::EVM & evm,
42 const std::filesystem::path & storage_path);
43
44 asio::awaitable<bool> ensureTransformationDeployed(
45 evm::EVM & evm,
47 const std::string & name,
48 const std::filesystem::path & storage_path);
49 asio::awaitable<bool> ensureConditionDeployed(
50 evm::EVM & evm,
52 const std::string & name,
53 const std::filesystem::path & storage_path);
54 asio::awaitable<bool> ensureConnectorDeployed(
55 evm::EVM & evm,
57 const std::string & name,
58 const std::filesystem::path & storage_path);
59
60
61 asio::awaitable<bool> loadStoredConnectors(
62 evm::EVM & evm,
64 const std::filesystem::path & storage_path);
65 asio::awaitable<bool> loadStoredConditions(
66 evm::EVM & evm,
68 const std::filesystem::path & storage_path);
69 asio::awaitable<bool> loadStoredTransformations(
70 evm::EVM & evm,
72 const std::filesystem::path & storage_path);
73}
Definition evm.hpp:45
Definition registry.hpp:42
Definition evm.hpp:43
Definition loader.hpp:17
asio::awaitable< bool > ensureTransformationDeployed(evm::EVM &evm, registry::Registry &registry, const std::string &name, const std::filesystem::path &storage_path)
Definition loader.cpp:945
asio::awaitable< bool > loadStoredConnectors(evm::EVM &evm, registry::Registry &registry, const std::filesystem::path &storage_path)
Definition loader.cpp:791
asio::awaitable< bool > loadStoredConditions(evm::EVM &evm, registry::Registry &registry, const std::filesystem::path &storage_path)
Definition loader.cpp:907
asio::awaitable< std::expected< chain::Address, pt::PTDeployError > > deployConnector(evm::EVM &evm, registry::Registry &registry, ConnectorRecord connector, const std::filesystem::path &storage_path, bool persist_json=true)
Definition loader.cpp:737
asio::awaitable< std::expected< chain::Address, pt::PTDeployError > > deployCondition(evm::EVM &evm, registry::Registry &registry, ConditionRecord condition, const std::filesystem::path &storage_path, bool persist_json=true)
Definition loader.cpp:773
asio::awaitable< bool > ensureConnectorDeployed(evm::EVM &evm, registry::Registry &registry, const std::string &name, const std::filesystem::path &storage_path)
Definition loader.cpp:1046
bool ensurePTBuildVersion(const std::filesystem::path &storage_path)
Definition loader.cpp:317
asio::awaitable< bool > loadStoredTransformations(evm::EVM &evm, registry::Registry &registry, const std::filesystem::path &storage_path)
Definition loader.cpp:869
asio::awaitable< std::expected< chain::Address, pt::PTDeployError > > deployTransformation(evm::EVM &evm, registry::Registry &registry, TransformationRecord transformation, const std::filesystem::path &storage_path, bool persist_json=true)
Definition loader.cpp:755
asio::awaitable< bool > ensureConditionDeployed(evm::EVM &evm, registry::Registry &registry, const std::string &name, const std::filesystem::path &storage_path)
Definition loader.cpp:996
asio::awaitable< bool > importJsonStorageToDatabase(evm::EVM &evm, registry::Registry &registry, const std::filesystem::path &storage_path)
Definition loader.cpp:1057
Definition registry.hpp:23