hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
tx_executor.hpp
Go to the documentation of this file.
1 #ifndef IROHA_AMETSUCHI_TX_EXECUTOR_HPP
2 #define IROHA_AMETSUCHI_TX_EXECUTOR_HPP
3 
5 #include "common/result.hpp"
6 
7 namespace shared_model {
8  namespace interface {
9  class Command;
10  class Transaction;
11  } // namespace interface
12 } // namespace shared_model
13 
14 namespace iroha {
15  namespace ametsuchi {
16 
19  size_t command_index;
20  };
21 
23  public:
24  explicit TransactionExecutor(
25  std::shared_ptr<CommandExecutor> command_executor);
26 
27  iroha::expected::Result<void, TxExecutionError> execute(
28  const shared_model::interface::Transaction &transaction,
29  bool do_validation) const;
30 
31  private:
32  std::shared_ptr<CommandExecutor> command_executor_;
33  };
34 
35  } // namespace ametsuchi
36 } // namespace iroha
37 
38 #endif // IROHA_AMETSUCHI_TX_EXECUTOR_HPP
Definition: tx_executor.hpp:17
Definition: block_query.hpp:14
Definition: command_executor.hpp:41
WsvCommandResult execute(soci::statement &st, Function &&error)
Definition: postgres_wsv_command.cpp:23
CommandError command_error
Definition: tx_executor.hpp:18
Definition: command_executor.hpp:12
Definition: transaction.hpp:22
Definition: tx_executor.hpp:22
size_t command_index
Definition: tx_executor.hpp:19