CatapultServer  v0.5.0.1 (Elephant)
SecretProofBuilder.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::SecretProofTransaction;
31  using EmbeddedTransaction = model::EmbeddedSecretProofTransaction;
32 
33  public:
36  SecretProofBuilder(model::NetworkIdentifier networkIdentifier, const Key& signer);
37 
38  public:
40  void setHashAlgorithm(model::LockHashAlgorithm hashAlgorithm);
41 
43  void setSecret(const Hash256& secret);
44 
46  void setRecipient(const UnresolvedAddress& recipient);
47 
49  void setProof(const RawBuffer& proof);
50 
51  public:
54  size_t size() const;
55 
57  std::unique_ptr<Transaction> build() const;
58 
60  std::unique_ptr<EmbeddedTransaction> buildEmbedded() const;
61 
62  private:
63  template<typename TTransaction>
64  size_t sizeImpl() const;
65 
66  template<typename TTransaction>
67  std::unique_ptr<TTransaction> buildImpl() const;
68 
69  private:
73  std::vector<uint8_t> m_proof;
74  };
75 }}
catapult::builders::TransactionBuilder::signer
const Key & signer() const
Returns signer.
Definition: TransactionBuilder.h:41
catapult::builders::SecretProofBuilder::SecretProofBuilder
SecretProofBuilder(model::NetworkIdentifier networkIdentifier, const Key &signer)
Definition: SecretProofBuilder.cpp:25
catapult::builders::SecretProofBuilder::m_recipient
UnresolvedAddress m_recipient
Definition: SecretProofBuilder.h:72
catapult::builders::SecretProofBuilder::setProof
void setProof(const RawBuffer &proof)
Sets the proof data to proof.
Definition: SecretProofBuilder.cpp:45
catapult::builders::SecretProofBuilder::build
std::unique_ptr< Transaction > build() const
Builds a new secret proof transaction.
Definition: SecretProofBuilder.cpp:60
catapult::builders::SecretProofBuilder::setRecipient
void setRecipient(const UnresolvedAddress &recipient)
Sets the recipient to recipient.
Definition: SecretProofBuilder.cpp:41
catapult::builders::SecretProofBuilder::size
size_t size() const
Definition: SecretProofBuilder.cpp:56
catapult::builders::SecretProofBuilder::m_secret
Hash256 m_secret
Definition: SecretProofBuilder.h:71
catapult::builders::SecretProofBuilder::m_hashAlgorithm
model::LockHashAlgorithm m_hashAlgorithm
Definition: SecretProofBuilder.h:70
catapult::builders::SecretProofBuilder::setSecret
void setSecret(const Hash256 &secret)
Sets the secret to secret.
Definition: SecretProofBuilder.cpp:37
catapult::builders::SecretProofBuilder::buildEmbedded
std::unique_ptr< EmbeddedTransaction > buildEmbedded() const
Builds a new embedded secret proof transaction.
Definition: SecretProofBuilder.cpp:64
TransactionBuilder.h
catapult::builders::SecretProofBuilder::EmbeddedTransaction
model::EmbeddedSecretProofTransaction EmbeddedTransaction
Definition: SecretProofBuilder.h:31
catapult::model::NetworkIdentifier
NetworkIdentifier
Possible network identifiers.
Definition: NetworkInfo.h:45
catapult::builders::TransactionBuilder
Base transaction builder.
Definition: TransactionBuilder.h:31
catapult::builders::SecretProofBuilder
Builder for a secret proof transaction.
Definition: SecretProofBuilder.h:28
CATAPULT_THROW_RUNTIME_ERROR
#define CATAPULT_THROW_RUNTIME_ERROR(MESSAGE)
Macro used to throw a catapult runtime error.
Definition: exceptions.h:167
catapult::builders::SecretProofBuilder::sizeImpl
size_t sizeImpl() const
Definition: SecretProofBuilder.cpp:69
SecretProofTransaction.h
CATAPULT_THROW_INVALID_ARGUMENT
#define CATAPULT_THROW_INVALID_ARGUMENT(MESSAGE)
Macro used to throw a catapult invalid argument.
Definition: exceptions.h:179
catapult
Definition: AddressExtractionExtension.cpp:28
catapult::builders::SecretProofBuilder::Transaction
model::SecretProofTransaction Transaction
Definition: SecretProofBuilder.h:30
catapult::builders::SecretProofBuilder::setHashAlgorithm
void setHashAlgorithm(model::LockHashAlgorithm hashAlgorithm)
Sets the hash algorithm to hashAlgorithm.
Definition: SecretProofBuilder.cpp:33
SecretProofBuilder.h
catapult::utils::ByteArray< Key_Size, Key_tag >
catapult::builders::SecretProofBuilder::buildImpl
std::unique_ptr< TTransaction > buildImpl() const
catapult::model::LockHashAlgorithm
LockHashAlgorithm
Lock secret hash algorithm.
Definition: LockHashAlgorithm.h:27
catapult::builders::TransactionType
model::AggregateTransaction TransactionType
Definition: AggregateTransactionBuilder.cpp:28
catapult::utils::RawBuffer
BasicRawBuffer< const uint8_t > RawBuffer
A const binary buffer.
Definition: RawBuffer.h:62
catapult::builders::SecretProofBuilder::m_proof
std::vector< uint8_t > m_proof
Definition: SecretProofBuilder.h:73