hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
transaction_batch.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_TRANSACTION_BATCH_HPP
7 #define IROHA_TRANSACTION_BATCH_HPP
8 
9 #include <boost/optional.hpp>
10 
11 #include "cryptography/hash.hpp"
15 
16 namespace shared_model {
17  namespace interface {
18 
22  class TransactionBatch : public ModelPrimitive<TransactionBatch> {
23  public:
28  virtual const types::SharedTxsCollectionType &transactions() const = 0;
29 
30  // TODO [IR-1874] Akvinikym 16.11.18: rename the field
36  virtual const types::HashType &reducedHash() const = 0;
37 
43  virtual bool hasAllSignatures() const = 0;
44 
52  virtual bool addSignature(
53  size_t number_of_tx,
54  const shared_model::crypto::Signed &signed_blob,
55  const shared_model::crypto::PublicKey &public_key) = 0;
56  };
57 
58  } // namespace interface
59 } // namespace shared_model
60 
61 #endif // IROHA_TRANSACTION_BATCH_HPP
virtual bool hasAllSignatures() const =0
Definition: hash.hpp:18
Definition: signed.hpp:17
Definition: transaction_batch.hpp:22
Definition: public_key.hpp:16
virtual const types::SharedTxsCollectionType & transactions() const =0
Definition: model_primitive.hpp:23
Definition: command_executor.hpp:12
virtual const types::HashType & reducedHash() const =0
virtual bool addSignature(size_t number_of_tx, const shared_model::crypto::Signed &signed_blob, const shared_model::crypto::PublicKey &public_key)=0
std::vector< std::shared_ptr< Transaction >> SharedTxsCollectionType
Definition: transaction_sequence_common.hpp:27