hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
vm_caller.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_AMETSUCHI_VM_CALLER_HPP
7 #define IROHA_AMETSUCHI_VM_CALLER_HPP
8 
9 #include <functional>
10 #include <memory>
11 #include <optional>
12 #include <string>
13 
14 #include "common/result_fwd.hpp"
17 
18 namespace soci {
19  class session;
20 }
21 
22 namespace iroha::ametsuchi {
23  class CommandExecutor;
24  class SpecificQueryExecutor;
25 
26  class VmCaller {
27  public:
29  call(soci::session &sql,
30  std::string const &tx_hash,
32  shared_model::interface::types::EvmCodeHexStringView input,
34  std::optional<shared_model::interface::types::EvmCalleeHexStringView>
35  callee,
36  CommandExecutor &command_executor,
37  SpecificQueryExecutor &query_executor) const = 0;
38  };
39 } // namespace iroha::ametsuchi
40 
41 #endif
Definition: block_query.hpp:17
Definition: specific_query_executor.hpp:30
Definition: result_fwd.hpp:27
std::string AccountIdType
Type of account id.
Definition: types.hpp:38
Definition: command_executor.hpp:43
int32_t CommandIndexType
Type of command index within a transaction.
Definition: types.hpp:97
Definition: pool_wrapper.hpp:11
Definition: vm_caller.hpp:26