CatapultServer  v0.5.0.1 (Elephant)
ModifyMultisigAccountBuilder.h
Go to the documentation of this file.
1 
21 #pragma once
22 #include "TransactionBuilder.h"
24 #include <vector>
25 
26 namespace catapult { namespace builders {
27 
30  public:
31  using Transaction = model::ModifyMultisigAccountTransaction;
32  using EmbeddedTransaction = model::EmbeddedModifyMultisigAccountTransaction;
33 
34  public:
38 
39  public:
41  void setMinRemovalDelta(int8_t minRemovalDelta);
42 
44  void setMinApprovalDelta(int8_t minApprovalDelta);
45 
47  void addModification(const model::CosignatoryModification& modification);
48 
49  public:
52  size_t size() const;
53 
55  std::unique_ptr<Transaction> build() const;
56 
58  std::unique_ptr<EmbeddedTransaction> buildEmbedded() const;
59 
60  private:
61  template<typename TTransaction>
62  size_t sizeImpl() const;
63 
64  template<typename TTransaction>
65  std::unique_ptr<TTransaction> buildImpl() const;
66 
67  private:
70  std::vector<model::CosignatoryModification> m_modifications;
71  };
72 }}
catapult::builders::TransactionBuilder::signer
const Key & signer() const
Returns signer.
Definition: TransactionBuilder.h:41
catapult::builders::ModifyMultisigAccountBuilder::size
size_t size() const
Definition: ModifyMultisigAccountBuilder.cpp:44
ModifyMultisigAccountBuilder.h
catapult::builders::ModifyMultisigAccountBuilder::m_minRemovalDelta
int8_t m_minRemovalDelta
Definition: ModifyMultisigAccountBuilder.h:68
catapult::builders::ModifyMultisigAccountBuilder::sizeImpl
size_t sizeImpl() const
Definition: ModifyMultisigAccountBuilder.cpp:57
catapult::builders::ModifyMultisigAccountBuilder::ModifyMultisigAccountBuilder
ModifyMultisigAccountBuilder(model::NetworkIdentifier networkIdentifier, const Key &signer)
Definition: ModifyMultisigAccountBuilder.cpp:25
catapult::builders::ModifyMultisigAccountBuilder::setMinRemovalDelta
void setMinRemovalDelta(int8_t minRemovalDelta)
Sets the relative change of the minimal number of cosignatories required when removing an account to ...
Definition: ModifyMultisigAccountBuilder.cpp:32
catapult::builders::ModifyMultisigAccountBuilder::m_minApprovalDelta
int8_t m_minApprovalDelta
Definition: ModifyMultisigAccountBuilder.h:69
catapult::builders::ModifyMultisigAccountBuilder::buildImpl
std::unique_ptr< TTransaction > buildImpl() const
TransactionBuilder.h
catapult::builders::ModifyMultisigAccountBuilder::setMinApprovalDelta
void setMinApprovalDelta(int8_t minApprovalDelta)
Sets the relative change of the minimal number of cosignatories required when approving a transaction...
Definition: ModifyMultisigAccountBuilder.cpp:36
catapult::model::CosignatoryModification
Binary layout for cosignatory modification.
Definition: ModifyMultisigAccountTransaction.h:39
catapult::model::NetworkIdentifier
NetworkIdentifier
Possible network identifiers.
Definition: NetworkInfo.h:45
catapult::builders::TransactionBuilder
Base transaction builder.
Definition: TransactionBuilder.h:31
catapult::builders::ModifyMultisigAccountBuilder::Transaction
model::ModifyMultisigAccountTransaction Transaction
Definition: ModifyMultisigAccountBuilder.h:31
catapult::builders::ModifyMultisigAccountBuilder::addModification
void addModification(const model::CosignatoryModification &modification)
Adds modification to attached cosignatory modifications.
Definition: ModifyMultisigAccountBuilder.cpp:40
ModifyMultisigAccountTransaction.h
catapult
Definition: AddressExtractionExtension.cpp:28
catapult::builders::ModifyMultisigAccountBuilder::buildEmbedded
std::unique_ptr< EmbeddedTransaction > buildEmbedded() const
Builds a new embedded modify multisig account transaction.
Definition: ModifyMultisigAccountBuilder.cpp:52
catapult::builders::ModifyMultisigAccountBuilder::m_modifications
std::vector< model::CosignatoryModification > m_modifications
Definition: ModifyMultisigAccountBuilder.h:70
catapult::utils::ByteArray< Key_Size, Key_tag >
catapult::builders::ModifyMultisigAccountBuilder::EmbeddedTransaction
model::EmbeddedModifyMultisigAccountTransaction EmbeddedTransaction
Definition: ModifyMultisigAccountBuilder.h:32
catapult::builders::ModifyMultisigAccountBuilder::build
std::unique_ptr< Transaction > build() const
Builds a new modify multisig account transaction.
Definition: ModifyMultisigAccountBuilder.cpp:48
catapult::builders::TransactionType
model::AggregateTransaction TransactionType
Definition: AggregateTransactionBuilder.cpp:28
catapult::builders::ModifyMultisigAccountBuilder
Builder for a modify multisig account transaction.
Definition: ModifyMultisigAccountBuilder.h:29