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 iroha::ametsuchi {
19  class BurrowStorage;
20  class CommandExecutor;
21  class SpecificQueryExecutor;
22 
23  class VmCaller {
24  public:
26  call(std::string const &tx_hash,
28  shared_model::interface::types::EvmCodeHexStringView input,
30  std::optional<shared_model::interface::types::EvmCalleeHexStringView>
31  callee,
32  BurrowStorage &burrow_storage,
33  CommandExecutor &command_executor,
34  SpecificQueryExecutor &query_executor) const = 0;
35  };
36 } // namespace iroha::ametsuchi
37 
38 #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
Definition: burrow_storage.hpp:19
virtual iroha::expected::Result< std::optional< std::string >, std::string > call(std::string const &tx_hash, shared_model::interface::types::CommandIndexType cmd_index, shared_model::interface::types::EvmCodeHexStringView input, shared_model::interface::types::AccountIdType const &caller, std::optional< shared_model::interface::types::EvmCalleeHexStringView > callee, BurrowStorage &burrow_storage, CommandExecutor &command_executor, SpecificQueryExecutor &query_executor) const =0
int32_t CommandIndexType
Type of command index within a transaction.
Definition: types.hpp:97
Definition: vm_caller.hpp:23