CatapultServer  v0.5.0.1 (Elephant)
HashLockBuilder.h
Go to the documentation of this file.
1 
21 #pragma once
22 #include "TransactionBuilder.h"
24 
25 namespace catapult { namespace builders {
26 
29  public:
30  using Transaction = model::HashLockTransaction;
31  using EmbeddedTransaction = model::EmbeddedHashLockTransaction;
32 
33  public:
36  HashLockBuilder(model::NetworkIdentifier networkIdentifier, const Key& signer);
37 
38  public:
40  void setMosaic(const model::UnresolvedMosaic& mosaic);
41 
43  void setDuration(BlockDuration duration);
44 
46  void setHash(const Hash256& hash);
47 
48  public:
51  size_t size() const;
52 
54  std::unique_ptr<Transaction> build() const;
55 
57  std::unique_ptr<EmbeddedTransaction> buildEmbedded() const;
58 
59  private:
60  template<typename TTransaction>
61  size_t sizeImpl() const;
62 
63  template<typename TTransaction>
64  std::unique_ptr<TTransaction> buildImpl() const;
65 
66  private:
70  };
71 }}
HashLockTransaction.h
catapult::builders::TransactionBuilder::signer
const Key & signer() const
Returns signer.
Definition: TransactionBuilder.h:41
catapult::model::MosaicT< UnresolvedMosaicId >
catapult::builders::HashLockBuilder::setMosaic
void setMosaic(const model::UnresolvedMosaic &mosaic)
Sets the lock mosaic to mosaic.
Definition: HashLockBuilder.cpp:32
catapult::builders::HashLockBuilder::EmbeddedTransaction
model::EmbeddedHashLockTransaction EmbeddedTransaction
Definition: HashLockBuilder.h:31
catapult::builders::HashLockBuilder::HashLockBuilder
HashLockBuilder(model::NetworkIdentifier networkIdentifier, const Key &signer)
Definition: HashLockBuilder.cpp:25
catapult::builders::HashLockBuilder::build
std::unique_ptr< Transaction > build() const
Builds a new hash lock transaction.
Definition: HashLockBuilder.cpp:48
catapult::builders::HashLockBuilder
Builder for a hash lock transaction.
Definition: HashLockBuilder.h:28
catapult::builders::HashLockBuilder::Transaction
model::HashLockTransaction Transaction
Definition: HashLockBuilder.h:30
catapult::builders::HashLockBuilder::setDuration
void setDuration(BlockDuration duration)
Sets the number of blocks for which a lock should be valid to duration.
Definition: HashLockBuilder.cpp:36
catapult::builders::HashLockBuilder::buildEmbedded
std::unique_ptr< EmbeddedTransaction > buildEmbedded() const
Builds a new embedded hash lock transaction.
Definition: HashLockBuilder.cpp:52
catapult::builders::HashLockBuilder::buildImpl
std::unique_ptr< TTransaction > buildImpl() const
catapult::utils::BaseValue< uint64_t, BlockDuration_tag >
HashLockBuilder.h
catapult::builders::HashLockBuilder::m_mosaic
model::UnresolvedMosaic m_mosaic
Definition: HashLockBuilder.h:67
catapult::builders::HashLockBuilder::size
size_t size() const
Definition: HashLockBuilder.cpp:44
catapult::builders::HashLockBuilder::sizeImpl
size_t sizeImpl() const
Definition: HashLockBuilder.cpp:57
TransactionBuilder.h
catapult::builders::HashLockBuilder::m_hash
Hash256 m_hash
Definition: HashLockBuilder.h:69
catapult::model::NetworkIdentifier
NetworkIdentifier
Possible network identifiers.
Definition: NetworkInfo.h:45
catapult::builders::TransactionBuilder
Base transaction builder.
Definition: TransactionBuilder.h:31
catapult::builders::HashLockBuilder::setHash
void setHash(const Hash256 &hash)
Sets the lock hash to hash.
Definition: HashLockBuilder.cpp:40
catapult
Definition: AddressExtractionExtension.cpp:28
catapult::builders::HashLockBuilder::m_duration
BlockDuration m_duration
Definition: HashLockBuilder.h:68
catapult::utils::ByteArray< Key_Size, Key_tag >
catapult::builders::TransactionType
model::AggregateTransaction TransactionType
Definition: AggregateTransactionBuilder.cpp:28