CatapultServer  v0.5.0.1 (Elephant)
AddressAliasTransaction.h
Go to the documentation of this file.
1 
21 #pragma once
22 #include "AliasSharedTransaction.h"
23 #include "NamespaceEntityType.h"
24 
25 namespace catapult { namespace model {
26 
27 #pragma pack(push, 1)
28 
30  template<typename THeader>
31  struct AddressAliasTransactionBody : public SharedAliasBody<THeader> {
32  private:
34 
35  public:
36  DEFINE_TRANSACTION_CONSTANTS(Entity_Type_Alias_Address, 1)
37 
38  public:
41 
42  public:
43  // Calculates the real size of address alias \a transaction.
44  static constexpr uint64_t CalculateRealSize(const TransactionType&) noexcept {
45  return sizeof(TransactionType);
46  }
47  };
48 
49  DEFINE_EMBEDDABLE_TRANSACTION(AddressAlias)
50 
51 #pragma pack(pop)
52 }}
catapult::model::AddressAliasTransactionBody
Binary layout for an address alias transaction body.
Definition: AddressAliasTransaction.h:31
AliasSharedTransaction.h
DEFINE_EMBEDDABLE_TRANSACTION
#define DEFINE_EMBEDDABLE_TRANSACTION(NAME)
Defines a transaction with NAME that supports embedding.
Definition: Transaction.h:69
catapult::model::AddressAliasTransactionBody::TransactionType
AddressAliasTransactionBody< THeader > TransactionType
Definition: AddressAliasTransaction.h:33
catapult::model::AddressAliasTransactionBody::CalculateRealSize
static constexpr uint64_t CalculateRealSize(const TransactionType &) noexcept
Definition: AddressAliasTransaction.h:44
DEFINE_TRANSACTION_CONSTANTS
#define DEFINE_TRANSACTION_CONSTANTS(TYPE, VERSION)
Defines constants for a transaction with TYPE and VERSION.
Definition: Transaction.h:50
NamespaceEntityType.h
catapult
Definition: AddressExtractionExtension.cpp:28
catapult::utils::ByteArray< Address_Decoded_Size, Address_tag >
catapult::model::SharedAliasBody
Binary layout for an alias transaction body.
Definition: AliasSharedTransaction.h:32