hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
chain_validator.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_CHAIN_VALIDATOR_HPP
7 #define IROHA_CHAIN_VALIDATOR_HPP
8 
9 #include <memory>
10 
11 #include <rxcpp/rx-observable-fwd.hpp>
12 
13 namespace shared_model {
14  namespace interface {
15  class Block;
16  } // namespace interface
17 } // namespace shared_model
18 
19 namespace iroha {
20  namespace ametsuchi {
21  class MutableStorage;
22  }
23 
24  namespace validation {
25 
31  public:
32  virtual ~ChainValidator() = default;
33 
46  virtual bool validateAndApply(
47  rxcpp::observable<std::shared_ptr<shared_model::interface::Block>>
48  blocks,
49  ametsuchi::MutableStorage &storage) const = 0;
50  };
51  } // namespace validation
52 } // namespace iroha
53 
54 #endif // IROHA_CHAIN_VALIDATOR_HPP
Definition: chain_validator.hpp:30
Definition: block_query.hpp:15
Definition: mutable_storage.hpp:34
Definition: command_executor.hpp:12