hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
stateful_validator_impl.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_STATEFUL_VALIDATIOR_IMPL_HPP
7 #define IROHA_STATEFUL_VALIDATIOR_IMPL_HPP
8 
10 
13 #include "logger/logger_fwd.hpp"
14 
15 namespace iroha {
16  namespace validation {
17 
22  public:
24  std::unique_ptr<shared_model::interface::UnsafeProposalFactory>
25  factory,
26  std::shared_ptr<shared_model::interface::TransactionBatchParser>
27  batch_parser,
28  logger::LoggerPtr log);
29 
30  std::unique_ptr<validation::VerifiedProposalAndErrors> validate(
31  const shared_model::interface::Proposal &proposal,
32  ametsuchi::TemporaryWsv &temporaryWsv) override;
33 
34  private:
35  std::unique_ptr<shared_model::interface::UnsafeProposalFactory> factory_;
36  std::shared_ptr<shared_model::interface::TransactionBatchParser>
37  batch_parser_;
38  logger::LoggerPtr log_;
39  };
40 
41  } // namespace validation
42 } // namespace iroha
43 
44 #endif // IROHA_STATEFUL_VALIDATION_IMPL_HPP
Definition: stateful_validator_impl.hpp:21
Definition: proposal.hpp:17
std::shared_ptr< Logger > LoggerPtr
Definition: logger_fwd.hpp:22
Definition: stateful_validator.hpp:19
Definition: temporary_wsv.hpp:27
Definition: block_query.hpp:14
StatefulValidatorImpl(std::unique_ptr< shared_model::interface::UnsafeProposalFactory > factory, std::shared_ptr< shared_model::interface::TransactionBatchParser > batch_parser, logger::LoggerPtr log)
Definition: stateful_validator_impl.cpp:114
std::unique_ptr< validation::VerifiedProposalAndErrors > validate(const shared_model::interface::Proposal &proposal, ametsuchi::TemporaryWsv &temporaryWsv) override
Definition: stateful_validator_impl.cpp:124