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 namespace shared_model {
12  namespace interface {
13  class Block;
14  } // namespace interface
15 } // namespace shared_model
16 
17 namespace iroha {
18  namespace ametsuchi {
19  class MutableStorage;
20  }
21 
22  namespace validation {
23 
29  public:
30  virtual ~ChainValidator() = default;
31 
43  virtual bool validateAndApply(
44  std::shared_ptr<const shared_model::interface::Block> block,
45  ametsuchi::MutableStorage &storage) const = 0;
46  };
47  } // namespace validation
48 } // namespace iroha
49 
50 #endif // IROHA_CHAIN_VALIDATOR_HPP
Definition: block_query.hpp:17
Definition: chain_validator.hpp:28
Definition: block_query.hpp:15
Definition: mutable_storage.hpp:33
Definition: command_executor.hpp:13