CatapultServer  v0.5.0.1 (Elephant)
catapult::builders::AccountAddressRestrictionBuilder Class Reference

Builder for an account address restriction transaction. More...

Inheritance diagram for catapult::builders::AccountAddressRestrictionBuilder:
Collaboration diagram for catapult::builders::AccountAddressRestrictionBuilder:

Public Types

using Transaction = model::AccountAddressRestrictionTransaction
 
using EmbeddedTransaction = model::EmbeddedAccountAddressRestrictionTransaction
 

Public Member Functions

 AccountAddressRestrictionBuilder (model::NetworkIdentifier networkIdentifier, const Key &signer)
 
void setRestrictionType (model::AccountRestrictionType restrictionType)
 Sets the account restriction type to restrictionType. More...
 
void addModification (const model::AccountAddressRestrictionModification &modification)
 Adds modification to account restriction modifications. More...
 
size_t size () const
 
std::unique_ptr< Transactionbuild () const
 Builds a new account address restriction transaction. More...
 
std::unique_ptr< EmbeddedTransactionbuildEmbedded () const
 Builds a new embedded account address restriction transaction. More...
 
- Public Member Functions inherited from catapult::builders::TransactionBuilder
 TransactionBuilder (model::NetworkIdentifier networkIdentifier, const Key &signer)
 Creates a transaction builder with networkIdentifier and signer. More...
 
const Keysigner () const
 Returns signer. More...
 
void setDeadline (catapult::Timestamp deadline)
 Sets transaction deadline. More...
 
void setMaxFee (catapult::Amount fee)
 Sets maximum transaction fee. More...
 

Private Member Functions

template<typename TTransaction >
size_t sizeImpl () const
 
template<typename TTransaction >
std::unique_ptr< TTransaction > buildImpl () const
 
template<typename TransactionType >
std::unique_ptr< TransactionTypebuildImpl () const
 

Private Attributes

model::AccountRestrictionType m_restrictionType
 
std::vector< model::AccountAddressRestrictionModificationm_modifications
 

Additional Inherited Members

- Protected Member Functions inherited from catapult::builders::TransactionBuilder
template<typename TTransaction >
std::unique_ptr< TTransaction > createTransaction (size_t size) const
 
- Static Protected Member Functions inherited from catapult::builders::TransactionBuilder
template<typename T , typename Predicate >
static void InsertSorted (std::vector< T > &vector, const T &element, Predicate orderPredicate)
 

Detailed Description

Builder for an account address restriction transaction.

Member Typedef Documentation

◆ EmbeddedTransaction

using catapult::builders::AccountAddressRestrictionBuilder::EmbeddedTransaction = model::EmbeddedAccountAddressRestrictionTransaction

◆ Transaction

using catapult::builders::AccountAddressRestrictionBuilder::Transaction = model::AccountAddressRestrictionTransaction

Constructor & Destructor Documentation

◆ AccountAddressRestrictionBuilder()

catapult::builders::AccountAddressRestrictionBuilder::AccountAddressRestrictionBuilder ( model::NetworkIdentifier  networkIdentifier,
const Key signer 
)

Creates an account address restriction builder for building an account address restriction transaction from signer for the network specified by networkIdentifier.

Member Function Documentation

◆ addModification()

void catapult::builders::AccountAddressRestrictionBuilder::addModification ( const model::AccountAddressRestrictionModification modification)

Adds modification to account restriction modifications.

◆ build()

std::unique_ptr< AccountAddressRestrictionBuilder::Transaction > catapult::builders::AccountAddressRestrictionBuilder::build ( ) const

Builds a new account address restriction transaction.

◆ buildEmbedded()

std::unique_ptr< AccountAddressRestrictionBuilder::EmbeddedTransaction > catapult::builders::AccountAddressRestrictionBuilder::buildEmbedded ( ) const

Builds a new embedded account address restriction transaction.

◆ buildImpl() [1/2]

template<typename TransactionType >
std::unique_ptr<TransactionType> catapult::builders::AccountAddressRestrictionBuilder::buildImpl ( ) const
private

◆ buildImpl() [2/2]

template<typename TTransaction >
std::unique_ptr<TTransaction> catapult::builders::AccountAddressRestrictionBuilder::buildImpl ( ) const
private

◆ setRestrictionType()

void catapult::builders::AccountAddressRestrictionBuilder::setRestrictionType ( model::AccountRestrictionType  restrictionType)

Sets the account restriction type to restrictionType.

◆ size()

size_t catapult::builders::AccountAddressRestrictionBuilder::size ( ) const

Returns size of account address restriction transaction.

Note
This returns size of a normal transaction not embedded transaction.
Here is the caller graph for this function:

◆ sizeImpl()

template<typename TransactionType >
size_t catapult::builders::AccountAddressRestrictionBuilder::sizeImpl ( ) const
private
Here is the call graph for this function:

Member Data Documentation

◆ m_modifications

std::vector<model::AccountAddressRestrictionModification> catapult::builders::AccountAddressRestrictionBuilder::m_modifications
private

◆ m_restrictionType

model::AccountRestrictionType catapult::builders::AccountAddressRestrictionBuilder::m_restrictionType
private

The documentation for this class was generated from the following files: