CatapultServer  v0.5.0.1 (Elephant)
catapult::model Namespace Reference

Classes

struct  AccountAddressNotification
 Notification of use of an account address. More...
 
struct  AccountLinkTransactionBody
 Binary layout for an account link transaction body. More...
 
struct  AccountPublicKeyNotification
 Notification of use of an account public key. More...
 
struct  AccountRestrictionModification
 Binary layout for an account restriction modification. More...
 
struct  AccountRestrictionTypeNotification
 Notification of an account restriction type. More...
 
struct  AddressAliasTransactionBody
 Binary layout for an address alias transaction body. More...
 
struct  AddressInteractionNotification
 
struct  AggregateCosignaturesNotification
 
struct  AggregateEmbeddedTransactionNotification
 Notification of an embedded aggregate transaction with cosignatures. More...
 
struct  AggregateTransaction
 Binary layout for an aggregate transaction. More...
 
struct  AggregateTransactionHeader
 Binary layout for an aggregate transaction header. More...
 
struct  AliasedDataNotification
 Notification of aliased data. More...
 
struct  AliasOwnerNotification
 Notification of alias owner. More...
 
struct  AnnotatedEntityRange
 Combination of an entity range and optional context. More...
 
struct  ArtifactExpiryReceipt
 Binary layout for an artifact expiry receipt. More...
 
struct  BalanceChangeReceipt
 Binary layout for a balance change receipt. More...
 
struct  BalanceDebitNotification
 Notifies a balance debit by sender. More...
 
struct  BalanceTransferNotification
 Notifies a balance transfer from sender to recipient. More...
 
struct  BalanceTransferReceipt
 Binary layout for a balance transfer receipt. More...
 
struct  BaseAliasNotification
 Base alias notification. More...
 
struct  BaseLockDurationNotification
 Base for lock duration notification. More...
 
struct  BaseLockNotification
 Base for lock transaction notification. More...
 
struct  BasicAccountRestrictionTransactionBody
 Binary layout for a basic account restriction transaction body. More...
 
struct  BasicAggregateNotification
 A basic aggregate notification. More...
 
struct  BasicBalanceNotification
 A basic balance notification. More...
 
class  BasicContiguousEntityContainer
 
struct  Block
 Binary layout for a block. More...
 
struct  BlockChainConfiguration
 Block chain configuration settings. More...
 
struct  BlockElement
 Processing element for a block composed of a block and metadata. More...
 
struct  BlockHeader
 Binary layout for a block header. More...
 
struct  BlockNotification
 Notifies the arrival of a block. More...
 
struct  BlockStatement
 Collection of statements scoped to a block. More...
 
class  BlockStatementBuilder
 Collection of receipts scoped to a block. More...
 
struct  BlockTransactionsInfo
 Information about transactions stored in a block. More...
 
struct  CacheEntryInfo
 Cache entry info. More...
 
class  ChainScore
 
struct  ChildNamespaceNotification
 Notification of a child namespace registration. More...
 
struct  CosignatoryModification
 Binary layout for cosignatory modification. More...
 
struct  Cosignature
 A cosignature. More...
 
struct  CosignedTransactionInfo
 
struct  DetachedCosignature
 A detached cosignature. More...
 
struct  DetachedTransactionInfo
 
struct  DiagnosticCounterValue
 A diagnostic counter value. More...
 
struct  EmbeddedTransaction
 Binary layout for an embedded transaction (non-verifiable). More...
 
class  EmbeddedTransactionPlugin
 An embedded transaction plugin. More...
 
struct  EntityBody
 Binary layout for an entity body. More...
 
struct  EntityInfo
 Tuple composed of an entity and its associated metadata. More...
 
struct  EntityInfoComparer
 Comparer object for an EntityInfo. More...
 
struct  EntityInfoHasher
 Hasher object for an EntityInfo. More...
 
struct  EntityNotification
 Notifies the arrival of an entity. More...
 
class  EntityRange
 Represents a range of entities. More...
 
struct  HashLockDurationNotification
 Notification of a hash lock duration. More...
 
struct  HashLockMosaicNotification
 Notification of a hash lock mosaic. More...
 
struct  HashLockNotification
 Notification of a hash lock. More...
 
struct  HashLockTransactionBody
 Binary layout for a hash lock transaction body. More...
 
struct  ImportanceHeight_tag
 
class  InflationCalculator
 Calculator for calculating the inflation at a given height and the total inflation up to a given height. More...
 
struct  InflationReceipt
 Binary layout for an inflation receipt. More...
 
struct  ModifyAccountRestrictionNotification
 Notification of an account restriction modification. More...
 
struct  ModifyAccountRestrictionValueNotification
 Notification of an account restriction value modification. More...
 
struct  ModifyMultisigAccountTransactionBody
 Binary layout for a modify multisig account transaction body. More...
 
struct  ModifyMultisigCosignersNotification
 Notification of a multisig cosigners modification. More...
 
struct  ModifyMultisigNewCosignerNotification
 Notification of a new cosigner. More...
 
struct  ModifyMultisigSettingsNotification
 Notification of a multisig settings modification. More...
 
struct  MosaicAliasTransactionBody
 Binary layout for a mosaic alias transaction body. More...
 
struct  MosaicDefinitionNotification
 Notification of a mosaic definition. More...
 
struct  MosaicDefinitionTransactionBody
 Binary layout for a mosaic definition transaction body. More...
 
struct  MosaicNonceNotification
 Notification of a mosaic nonce and id. More...
 
class  MosaicProperties
 Container for mosaic properties. More...
 
struct  MosaicPropertiesHeader
 Mosaic properties header. More...
 
struct  MosaicPropertiesNotification
 
struct  MosaicProperty
 Mosaic property composed of an id and a value. More...
 
struct  MosaicRentalFeeNotification
 Notification of a mosaic rental fee. More...
 
struct  MosaicRequiredNotification
 Notification of a required mosaic. More...
 
struct  MosaicSupplyChangeNotification
 Notification of a mosaic supply change. More...
 
struct  MosaicSupplyChangeTransactionBody
 Binary layout for a mosaic supply change transaction body. More...
 
struct  MosaicT
 Binary layout for a mosaic. More...
 
struct  NamespaceLifetimeConstraints
 Constraints for a namespace's lifetime. More...
 
struct  NamespaceNameNotification
 Notification of a namespace name. More...
 
struct  NamespaceNotification
 Notification of a namespace registration. More...
 
struct  NamespaceRentalFeeNotification
 Notification of a namespace rental fee. More...
 
struct  NetworkInfo
 Information about a network. More...
 
struct  NewRemoteAccountNotification
 Notification of a new remote account. More...
 
struct  Notification
 A basic notification. More...
 
class  NotificationPublisher
 A notification publisher. More...
 
class  NotificationSubscriber
 A notification subscriber. More...
 
class  PluginRegistry
 A registry of plugins. More...
 
struct  PreviousBlockContext
 Context passed when creating new block. More...
 
struct  ProofPublicationNotification
 Notification of a proof publication. More...
 
struct  ProofSecretNotification
 Notification of a secret and its proof. More...
 
struct  RawAccountRestrictionModification
 Raw account restriction modification. More...
 
struct  Receipt
 Binary layout for a receipt entity. More...
 
struct  ReceiptSource
 Receipt source (unique within a block). More...
 
struct  RegisterNamespaceTransactionBody
 Binary layout for a register namespace transaction body. More...
 
struct  RemoteAccountLinkNotification
 Notification of a remote account link. More...
 
class  ResolutionStatement
 Collection of receipts scoped to a unresolved value. More...
 
class  ResolverContext
 Context used to resolve unresolved types. More...
 
struct  RootNamespaceNotification
 Notification of a root namespace registration. More...
 
struct  SecretLockDurationNotification
 Notification of a secret lock duration. More...
 
struct  SecretLockHashAlgorithmNotification
 Notification of a secret lock hash algorithm. More...
 
struct  SecretLockNotification
 Notification of a secret lock. More...
 
struct  SecretLockTransactionBody
 Binary layout for a secret lock transaction body. More...
 
struct  SecretProofTransactionBody
 Binary layout for a secret proof transaction body. More...
 
struct  SharedAliasBody
 Binary layout for an alias transaction body. More...
 
struct  SignatureNotification
 Notifies the presence of a signature. More...
 
struct  SizePrefixedEntity
 Binary layout for a size prefixed entity. More...
 
struct  SourceChangeNotification
 Notification of a source change. More...
 
struct  TrailingVariableDataLayout
 
struct  Transaction
 Binary layout for a transaction. More...
 
struct  TransactionAttributes
 Transaction dependent attributes. More...
 
class  TransactionChangeTracker
 Tracks transaction changes and keeps track of net changes. More...
 
struct  TransactionContainer
 
struct  TransactionDeadlineNotification
 Notifies the arrival of a transaction deadline. More...
 
struct  TransactionElement
 Processing element for a transaction composed of a transaction and metadata. More...
 
struct  TransactionFeeNotification
 Notifies the arrival of a transaction fee. More...
 
struct  TransactionInfo
 A transaction and its associated metadata. More...
 
struct  TransactionNotification
 Notifies the arrival of a transaction. More...
 
class  TransactionPlugin
 A transaction plugin. More...
 
class  TransactionPluginFactory
 Factory for creating transaction plugins. More...
 
class  TransactionPluginT
 A typed transaction plugin. More...
 
class  TransactionRegistry
 A registry of transaction plugins. More...
 
class  TransactionRegistryT
 A registry of transaction plugins. More...
 
class  TransactionStatement
 Collection of receipts scoped to a transaction. More...
 
struct  TransactionStatus
 A transaction status. More...
 
struct  TransferMessageNotification
 Notification of a transfer transaction with a message. More...
 
struct  TransferMosaicsNotification
 Notification of a transfer transaction with mosaics. More...
 
struct  TransferTransactionBody
 Binary layout for a transfer transaction body. More...
 
struct  VerifiableEntity
 Binary layout for a verifiable (with signature) entity. More...
 
struct  VerifiableEntityHeader
 Binary layout for a verifiable entity header. More...
 
class  WeakCosignedTransactionInfo
 Wrapper around a transaction and its cosignatures. More...
 
class  WeakEntityInfoT
 Wrapper around a strongly typed entity and its associated metadata. More...
 

Typedefs

using AliasedAddressNotification = AliasedDataNotification< Address, Namespace_Aliased_Address_Notification >
 Notification of an aliased address. More...
 
using AliasedMosaicIdNotification = AliasedDataNotification< MosaicId, Namespace_Aliased_MosaicId_Notification >
 Notification of an aliased mosaic id. More...
 
using AccountAddressRestrictionModification = AccountRestrictionModification< UnresolvedAddress >
 Modification type used with account address restriction transaction. More...
 
using AccountMosaicRestrictionModification = AccountRestrictionModification< UnresolvedMosaicId >
 Modification type used with account mosaic restriction transaction. More...
 
using AccountOperationRestrictionModification = AccountRestrictionModification< EntityType >
 Modification type used with account operation restriction transaction. More...
 
using ModifyAccountAddressRestrictionValueNotification = ModifyAccountRestrictionValueNotification< UnresolvedAddress, RestrictionAccount_Address_Modification_Notification >
 
using ModifyAccountMosaicRestrictionValueNotification = ModifyAccountRestrictionValueNotification< UnresolvedMosaicId, RestrictionAccount_Mosaic_Modification_Notification >
 
using ModifyAccountOperationRestrictionValueNotification = ModifyAccountRestrictionValueNotification< EntityType, RestrictionAccount_Operation_Modification_Notification >
 
using ModifyAccountAddressRestrictionNotification = ModifyAccountRestrictionNotification< UnresolvedAddress, RestrictionAccount_Address_Modifications_Notification >
 
using ModifyAccountMosaicRestrictionNotification = ModifyAccountRestrictionNotification< UnresolvedMosaicId, RestrictionAccount_Mosaic_Modifications_Notification >
 
using ModifyAccountOperationRestrictionNotification = ModifyAccountRestrictionNotification< EntityType, RestrictionAccount_Operation_Modifications_Notification >
 
using AnnotatedBlockRange = AnnotatedEntityRange< Block >
 An annotated entity range composed of blocks. More...
 
using AnnotatedTransactionRange = AnnotatedEntityRange< Transaction >
 An annotated entity range composed of transactions. More...
 
using Transactions = std::vector< std::shared_ptr< const Transaction > >
 Container of transactions. More...
 
using ChainScoreSupplier = supplier< ChainScore >
 Prototype for a function that returns a chain score. More...
 
using AddressSet = std::unordered_set< Address, utils::ArrayHasher< Address > >
 Unordered set of addresses. More...
 
using UnresolvedAddressSet = std::unordered_set< UnresolvedAddress, utils::ArrayHasher< UnresolvedAddress > >
 Unordered set of unresolved addresses. More...
 
using TransactionInfosSet = std::unordered_set< TransactionInfo, EntityInfoHasher< const Transaction >, EntityInfoComparer< const Transaction > >
 Unordered set of transaction infos. More...
 
using MatchingEntityPredicate = predicate< BasicEntityType, Timestamp, const Hash256 & >
 Predicate for evaluating a timestamp, a hash and an entity type. More...
 
using ImportanceHeight = utils::BaseValue< Height::ValueType, ImportanceHeight_tag >
 Represents a height at which importance is calculated. More...
 
using Mosaic = MosaicT< MosaicId >
 
using UnresolvedMosaic = MosaicT< UnresolvedMosaicId >
 
using BlockRange = EntityRange< Block >
 An entity range composed of blocks. More...
 
using TransactionRange = EntityRange< Transaction >
 An entity range composed of transactions. More...
 
using HashRange = EntityRange< Hash256 >
 An entity range composed of hashes. More...
 
using ShortHashRange = EntityRange< utils::ShortHash >
 An entity range composed of short hashes. More...
 
using AddressRange = EntityRange< Address >
 An entity range composed of addresses. More...
 
using AddressResolutionStatement = ResolutionStatement< UnresolvedAddress, Address, Receipt_Type_Address_Alias_Resolution >
 Address resolution statement. More...
 
using MosaicResolutionStatement = ResolutionStatement< UnresolvedMosaicId, MosaicId, Receipt_Type_Mosaic_Alias_Resolution >
 Mosaic resolution statement. More...
 
using VerifiableEntityPredicate = predicate< const VerifiableEntity & >
 Prototype for a verifiable entity predicate. More...
 
using WeakEntityInfo = WeakEntityInfoT< VerifiableEntity >
 
using WeakEntityInfos = std::vector< WeakEntityInfo >
 A container of weak entity infos. More...
 

Enumerations

enum  AccountLinkAction : uint8_t { AccountLinkAction::Link, AccountLinkAction::Unlink }
 Account link transaction action. More...
 
enum  LockHashAlgorithm : uint8_t { LockHashAlgorithm::Op_Sha3_256, LockHashAlgorithm::Op_Keccak_256, LockHashAlgorithm::Op_Hash_160, LockHashAlgorithm::Op_Hash_256 }
 Lock secret hash algorithm. More...
 
enum  MosaicPropertyId : uint8_t { MosaicPropertyId::Flags, MosaicPropertyId::Divisibility, MosaicPropertyId::Duration, MosaicPropertyId::Sentinel_Property_Id }
 Available mosaic property ids. More...
 
enum  MosaicFlags : uint8_t { MosaicFlags::None = 0x00, MosaicFlags::Supply_Mutable = 0x01, MosaicFlags::Transferable = 0x02, MosaicFlags::All = 0x03 }
 Mosaic property flags. More...
 
enum  MosaicSupplyChangeDirection : uint8_t { MosaicSupplyChangeDirection::Decrease, MosaicSupplyChangeDirection::Increase }
 Supply change directions. More...
 
enum  CosignatoryModificationType : uint8_t { CosignatoryModificationType::Add, CosignatoryModificationType::Del }
 Cosignatory modification type. More...
 
enum  NamespaceType : uint8_t { NamespaceType::Root, NamespaceType::Child }
 Namespace types. More...
 
enum  AliasAction : uint8_t { AliasAction::Link, AliasAction::Unlink }
 Alias transaction action. More...
 
enum  AccountRestrictionType : uint8_t {
  AccountRestrictionType::Address = 0x01, AccountRestrictionType::MosaicId = 0x02, AccountRestrictionType::TransactionType = 0x04, AccountRestrictionType::Sentinel = 0x05,
  AccountRestrictionType::Block = 0x80
}
 Account restriction types. More...
 
enum  AccountRestrictionModificationType : uint8_t { AccountRestrictionModificationType::Add, AccountRestrictionModificationType::Del }
 Account restriction modification type. More...
 
enum  EntityContainerErrorPolicy { EntityContainerErrorPolicy::Throw, EntityContainerErrorPolicy::Suppress }
 Polcies for handling iteration errors. More...
 
enum  BasicEntityType : uint8_t { BasicEntityType::Other = 0x0, BasicEntityType::Transaction = 0x1, BasicEntityType::Block = 0x2 }
 
enum  EntityType : uint16_t
 Enumeration of entity types. More...
 
enum  FacilityCode : uint8_t {
  FacilityCode::AccountLink = 0x4C, FacilityCode::Aggregate = 0x41, FacilityCode::Core = 0x43, FacilityCode::LockHash = 0x48,
  FacilityCode::LockSecret = 0x52, FacilityCode::Metadata = 0x44, FacilityCode::Mosaic = 0x4D, FacilityCode::Multisig = 0x55,
  FacilityCode::Namespace = 0x4E, FacilityCode::RestrictionAccount = 0x50, FacilityCode::RestrictionMosaic = 0x51, FacilityCode::Transfer = 0x54
}
 Possible facility codes. More...
 
enum  NetworkIdentifier : uint8_t { NetworkIdentifier::NETWORK_IDENTIFIER_LIST }
 Possible network identifiers. More...
 
enum  PublicationMode { PublicationMode::Basic, PublicationMode::Custom, PublicationMode::All }
 Publication modes. More...
 
enum  NotificationChannel : uint8_t { NotificationChannel::None = 0x00, NotificationChannel::Validator = 0x01, NotificationChannel::Observer = 0x02, NotificationChannel::All = 0xFF }
 Notification channel. More...
 
enum  NotificationType : uint32_t
 Enumeration of all possible notification types. More...
 
enum  BasicReceiptType : uint8_t {
  BasicReceiptType::Other = 0x0, BasicReceiptType::BalanceTransfer = 0x1, BasicReceiptType::BalanceCredit = 0x2, BasicReceiptType::BalanceDebit = 0x3,
  BasicReceiptType::ArtifactExpiry = 0x4, BasicReceiptType::Inflation = 0x5, BasicReceiptType::Aggregate = 0xE, BasicReceiptType::AliasResolution = 0xF
}
 
enum  ReceiptType : uint16_t
 Enumeration of receipt types. More...
 
enum  TransactionPluginFactoryOptions { TransactionPluginFactoryOptions::Default, TransactionPluginFactoryOptions::Only_Embeddable }
 Transaction plugin factory options. More...
 
enum  TransactionSelectionStrategy { TransactionSelectionStrategy::Oldest, TransactionSelectionStrategy::Minimize_Fee, TransactionSelectionStrategy::Maximize_Fee }
 Strategy for selecting transactions. More...
 

Functions

 DEFINE_TRANSACTION_TYPE (AccountLink, Account_Link, 0x1)
 Account link transaction. More...
 
 DEFINE_ACCOUNT_LINK_NOTIFICATION (Remote, 0x001, All)
 Remote account was un/linked. More...
 
 DEFINE_ACCOUNT_LINK_NOTIFICATION (New_Remote_Account, 0x002, Validator)
 New remote account was created. More...
 
 DEFINE_TRANSACTION_TYPE (Aggregate, Aggregate_Complete, 0x1)
 Fully complete aggregate transaction. More...
 
 DEFINE_TRANSACTION_TYPE (Aggregate, Aggregate_Bonded, 0x2)
 Bonded aggregate transaction. More...
 
 DEFINE_AGGREGATE_NOTIFICATION (Cosignatures, 0x001, Validator)
 Aggregate was received with cosignatures. More...
 
 DEFINE_AGGREGATE_NOTIFICATION (EmbeddedTransaction, 0x002, Validator)
 Aggregate was received with an embedded transaction. More...
 
size_t GetTransactionPayloadSize (const AggregateTransactionHeader &header)
 Gets the number of bytes containing transaction data according to header. More...
 
bool IsSizeValid (const AggregateTransaction &aggregate, const TransactionRegistry &registry)
 
 DEFINE_TRANSACTION_TYPE (LockHash, Hash_Lock, 0x1)
 Hash lock transaction. More...
 
 DEFINE_HASH_LOCK_NOTIFICATION (Hash_Duration, 0x0001, Validator)
 Hash lock duration. More...
 
 DEFINE_HASH_LOCK_NOTIFICATION (Mosaic, 0x0002, Validator)
 Hash lock mosaic. More...
 
 DEFINE_HASH_LOCK_NOTIFICATION (Hash, 0x0003, All)
 Hash lock creation. More...
 
 DEFINE_RECEIPT_TYPE (BalanceDebit, LockHash, LockHash_Created, 1)
 Hash lock creation. More...
 
 DEFINE_RECEIPT_TYPE (BalanceCredit, LockHash, LockHash_Completed, 2)
 Hash lock completion. More...
 
 DEFINE_RECEIPT_TYPE (BalanceCredit, LockHash, LockHash_Expired, 3)
 Hash lock expiration. More...
 
Hash256 CalculateHash (LockHashAlgorithm hashAlgorithm, const RawBuffer &data)
 Calculates hashAlgorithm hash of data. More...
 
Hash256 CalculateSecretLockInfoHash (const Hash256 &secret, const Address &recipient)
 Calculates the secret lock info hash from secret and recipient. More...
 
 DEFINE_TRANSACTION_TYPE (LockSecret, Secret_Lock, 0x1)
 Secret lock transaction. More...
 
 DEFINE_TRANSACTION_TYPE (LockSecret, Secret_Proof, 0x2)
 Secret proof transaction. More...
 
 DEFINE_SECRET_LOCK_NOTIFICATION (Secret_Duration, 0x0001, Validator)
 Secret lock duration. More...
 
 DEFINE_SECRET_LOCK_NOTIFICATION (Hash_Algorithm, 0x0002, Validator)
 Secret lock hash algorithm. More...
 
 DEFINE_SECRET_LOCK_NOTIFICATION (Secret, 0x0003, All)
 Secret lock creation. More...
 
 DEFINE_SECRET_LOCK_NOTIFICATION (Proof_Secret, 0x0004, Validator)
 Proof and secret. More...
 
 DEFINE_SECRET_LOCK_NOTIFICATION (Proof_Publication, 0x0005, All)
 Proof publication. More...
 
 DEFINE_RECEIPT_TYPE (BalanceDebit, LockSecret, LockSecret_Created, 1)
 Secret lock creation. More...
 
 DEFINE_RECEIPT_TYPE (BalanceCredit, LockSecret, LockSecret_Completed, 2)
 Secret lock completion. More...
 
 DEFINE_RECEIPT_TYPE (BalanceCredit, LockSecret, LockSecret_Expired, 3)
 Secret lock expiration. More...
 
 DEFINE_TRANSACTION_TYPE (Mosaic, Mosaic_Definition, 0x1)
 Mosaic definition transaction. More...
 
 DEFINE_TRANSACTION_TYPE (Mosaic, Mosaic_Supply_Change, 0x2)
 Mosaic supply change transaction. More...
 
MosaicId GenerateMosaicId (const Key &owner, MosaicNonce nonce) noexcept
 Generates a mosaic id given owner and nonce. More...
 
 DEFINE_MOSAIC_NOTIFICATION (Properties, 0x0012, Validator)
 Mosaic properties were provided. More...
 
 DEFINE_MOSAIC_NOTIFICATION (Definition, 0x0013, All)
 Mosaic was defined. More...
 
 DEFINE_MOSAIC_NOTIFICATION (Nonce, 0x0014, Validator)
 Mosaic nonce and id were provided. More...
 
 DEFINE_MOSAIC_NOTIFICATION (Supply_Change, 0x0022, All)
 Mosaic supply was changed. More...
 
 DEFINE_MOSAIC_NOTIFICATION (Rental_Fee, 0x0030, Observer)
 Mosaic rental fee has been sent. More...
 
MosaicProperties ExtractAllProperties (const MosaicPropertiesHeader &header, const MosaicProperty *pProperties)
 Extracts all properties from header and pProperties. More...
 
 DEFINE_RECEIPT_TYPE (ArtifactExpiry, Mosaic, Mosaic_Expired, 1)
 Mosaic expiry. More...
 
 DEFINE_RECEIPT_TYPE (BalanceTransfer, Mosaic, Mosaic_Rental_Fee, 2)
 Mosaic rental fee. More...
 
 DEFINE_TRANSACTION_TYPE (Multisig, Modify_Multisig_Account, 0x1)
 Modify multisig account transaction. More...
 
 DEFINE_MULTISIG_NOTIFICATION (Modify_Cosigners, 0x0001, All)
 Multisig account cosigners were modified. More...
 
 DEFINE_MULTISIG_NOTIFICATION (Modify_New_Cosigner, 0x0002, Validator)
 A cosigner was added to a multisig account. More...
 
 DEFINE_MULTISIG_NOTIFICATION (Modify_Settings, 0x1001, All)
 Multisig account settings were modified. More...
 
 DEFINE_NAMESPACE_NOTIFICATION (Alias_Owner, 0x0081, Validator)
 Alias owner was provided. More...
 
 DEFINE_NAMESPACE_NOTIFICATION (Aliased_Address, 0x0091, All)
 Address alias was un/linked. More...
 
 DEFINE_NAMESPACE_NOTIFICATION (Aliased_MosaicId, 0x0092, All)
 Mosaic alias was un/linked. More...
 
bool IsValidName (const uint8_t *pName, size_t nameSize)
 Returns true if pName with size nameSize points to a valid name. More...
 
 DEFINE_TRANSACTION_TYPE (Namespace, Register_Namespace, 0x1)
 Register namespace transaction. More...
 
 DEFINE_TRANSACTION_TYPE (Namespace, Alias_Address, 0x2)
 Address alias transaction. More...
 
 DEFINE_TRANSACTION_TYPE (Namespace, Alias_Mosaic, 0x3)
 Mosaic alias transaction. More...
 
NamespaceId GenerateRootNamespaceId (const RawString &name) noexcept
 Generates a root namespace id given name. More...
 
NamespaceId GenerateNamespaceId (NamespaceId parentId, const RawString &name) noexcept
 Generates a namespace id given parentId and namespace name. More...
 
 DEFINE_NAMESPACE_NOTIFICATION (Name, 0x0011, Validator)
 Namespace name was provided. More...
 
 DEFINE_NAMESPACE_NOTIFICATION (Registration, 0x0012, Validator)
 Namespace was registered. More...
 
 DEFINE_NAMESPACE_NOTIFICATION (Root_Registration, 0x0021, All)
 Root namespace was registered. More...
 
 DEFINE_NAMESPACE_NOTIFICATION (Child_Registration, 0x0022, All)
 Child namespace was registered. More...
 
 DEFINE_NAMESPACE_NOTIFICATION (Rental_Fee, 0x0030, Observer)
 Namespace rental fee has been sent. More...
 
 DEFINE_RECEIPT_TYPE (ArtifactExpiry, Namespace, Namespace_Expired, 1)
 Namespace expiry. More...
 
 DEFINE_RECEIPT_TYPE (BalanceTransfer, Namespace, Namespace_Rental_Fee, 2)
 Namespace rental fee. More...
 
 DEFINE_TRANSACTION_TYPE (RestrictionAccount, Account_Address_Restriction, 0x1)
 Address account restriction transaction. More...
 
 DEFINE_TRANSACTION_TYPE (RestrictionAccount, Account_Mosaic_Restriction, 0x2)
 Mosaic account restriction transaction. More...
 
 DEFINE_TRANSACTION_TYPE (RestrictionAccount, Account_Operation_Restriction, 0x3)
 Operation account restriction transaction. More...
 
 DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION (Type, 0x0001, Validator)
 Account restriction type. More...
 
 DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION (Address_Modification, 0x0010, All)
 Account address restriction modification. More...
 
 DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION (Mosaic_Modification, 0x0011, All)
 Account mosaic restriction modification. More...
 
 DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION (Operation_Modification, 0x0012, All)
 Account operation restriction modification. More...
 
 DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION (Address_Modifications, 0x0020, Validator)
 Account address restriction modifications. More...
 
 DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION (Mosaic_Modifications, 0x0021, Validator)
 Account mosaic restriction modifications. More...
 
 DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION (Operation_Modifications, 0x0022, Validator)
 Account operation restriction modifications. More...
 
 DEFINE_TRANSACTION_TYPE (Transfer, Transfer, 0x1)
 Transfer transaction. More...
 
 DEFINE_TRANSFER_NOTIFICATION (Message, 0x001, Validator)
 Transfer was received with a message. More...
 
 DEFINE_TRANSFER_NOTIFICATION (Mosaics, 0x002, Validator)
 Transfer was received with at least one mosaic. More...
 
Address StringToAddress (const std::string &encoded)
 Creates an address from an encoded address (encoded). More...
 
std::string AddressToString (const Address &address)
 Creates an encoded address from an address. More...
 
Address PublicKeyToAddress (const Key &publicKey, NetworkIdentifier networkIdentifier)
 Creates an address from a public key (publicKey) for the network identified by networkIdentifier. More...
 
bool IsValidAddress (const Address &address, NetworkIdentifier networkIdentifier)
 Returns a value indicating whether or not the given address is valid for the network identified by networkIdentifier. More...
 
bool IsValidEncodedAddress (const std::string &encoded, NetworkIdentifier networkIdentifier)
 
size_t GetTransactionPayloadSize (const BlockHeader &header)
 Gets the number of bytes containing transaction data according to header. More...
 
bool IsSizeValid (const Block &block, const TransactionRegistry &registry)
 
UnresolvedMosaicId GetUnresolvedCurrencyMosaicId (const BlockChainConfiguration &config)
 Gets unresolved currency mosaic id from config. More...
 
utils::TimeSpan CalculateFullRollbackDuration (const BlockChainConfiguration &config)
 Calculates the duration of a full rollback for the block chain described by config. More...
 
utils::TimeSpan CalculateRollbackVariabilityBufferDuration (const BlockChainConfiguration &config)
 Calculates the duration of the rollback variability buffer for the block chain described by config. More...
 
utils::TimeSpan CalculateTransactionCacheDuration (const BlockChainConfiguration &config)
 Calculates the duration of time that expired transactions should be cached for the block chain described by config. More...
 
uint64_t CalculateDifficultyHistorySize (const BlockChainConfiguration &config)
 Calculates the number of historical difficulties to cache in memory for the block chain described by config. More...
 
template<typename T >
LoadPluginConfiguration (const BlockChainConfiguration &config, const std::string &pluginName)
 Loads plugin configuration for plugin named pluginName from config. More...
 
Hash256 CalculateMerkleHash (const BlockStatement &statement)
 Calculates the merkle hash for statement. More...
 
std::vector< Hash256CalculateMerkleTree (const BlockStatement &statement)
 Calculates the merkle tree for statement. More...
 
size_t CountTotalStatements (const BlockStatement &statement)
 Counts the total number of statements in statement. More...
 
void DeepCopyTo (BlockStatement &destination, const BlockStatement &source)
 Creates a deep copy of source into destination. More...
 
void DeepCopyTo (BlockStatement &destination, const BlockStatement &source, uint32_t maxSourcePrimaryId)
 Creates a deep copy of source into destination excluding receipts with primary source id greater than maxSourcePrimaryId. More...
 
void CalculateBlockTransactionsHash (const std::vector< const TransactionInfo * > &transactionInfos, Hash256 &blockTransactionsHash)
 Calculates the block transactions hash of transactionInfos into blockTransactionsHash. More...
 
GenerationHash CalculateGenerationHash (const GenerationHash &previousGenerationHash, const Key &publicKey)
 
void SignBlockHeader (const crypto::KeyPair &signer, Block &block)
 
bool VerifyBlockHeaderSignature (const Block &block)
 Validates signature of block header. More...
 
BlockTransactionsInfo CalculateBlockTransactionsInfo (const Block &block)
 Calculates information about transactions stored in block. More...
 
std::unique_ptr< BlockCreateBlock (const PreviousBlockContext &context, NetworkIdentifier networkIdentifier, const Key &signerPublicKey, const Transactions &transactions)
 
std::unique_ptr< BlockStitchBlock (const BlockHeader &blockHeader, const Transactions &transactions)
 Creates a new block by stitching together blockHeader and transactions. More...
 
template<typename TEntity >
constexpr BasicContiguousEntityContainer< TEntity > MakeContiguousEntityContainer (TEntity *pEntity, size_t size, EntityContainerErrorPolicy errorPolicy=EntityContainerErrorPolicy::Throw)
 
void ExtractMatchingEntityInfos (const std::vector< BlockElement > &elements, WeakEntityInfos &entityInfos, const MatchingEntityPredicate &predicate)
 Extracts all entity infos for which predicate returns true from elements into entityInfos. More...
 
void ExtractEntityInfos (const BlockElement &element, WeakEntityInfos &entityInfos)
 Extracts all entity infos from element into entityInfos. More...
 
void ExtractTransactionInfos (std::vector< TransactionInfo > &transactionInfos, const std::shared_ptr< const BlockElement > &pBlockElement)
 
TransactionInfo MakeTransactionInfo (const std::shared_ptr< const Transaction > &pTransaction, const TransactionElement &transactionElement)
 Makes a transaction info by merging pTransaction and transactionElement. More...
 
std::ostream & operator<< (std::ostream &out, const EmbeddedTransaction &transaction)
 Insertion operator for outputting transaction to out. More...
 
bool IsSizeValid (const EmbeddedTransaction &transaction, const TransactionRegistry &registry)
 
void PublishNotifications (const EmbeddedTransaction &transaction, NotificationSubscriber &sub)
 Sends all notifications from transaction to sub. More...
 
constexpr uint16_t MakeVersion (NetworkIdentifier networkIdentifier, uint8_t version) noexcept
 Creates a version field out of given entity version and networkIdentifier. More...
 
Hash256 CalculateHash (const Block &block)
 Calculates the hash for the given block header. More...
 
Hash256 CalculateHash (const Transaction &transaction, const GenerationHash &generationHash)
 Calculates the hash for the given transaction for the network with the specified generation hash (generationHash). More...
 
Hash256 CalculateHash (const Transaction &transaction, const GenerationHash &generationHash, const RawBuffer &buffer)
 
Hash256 CalculateMerkleComponentHash (const Transaction &transaction, const Hash256 &transactionHash, const TransactionRegistry &transactionRegistry)
 
std::vector< Hash256CalculateMerkleTree (const std::vector< TransactionElement > &transactionElements)
 Calculates the merkle tree from transactionElements. More...
 
void UpdateHashes (const TransactionRegistry &transactionRegistry, const GenerationHash &generationHash, TransactionElement &transactionElement)
 
template<typename TEntity >
size_t FindFirstDifferenceIndex (const EntityRange< TEntity > &lhs, const EntityRange< TEntity > &rhs)
 Compares two entity ranges (lhs and rhs) and returns the index of the first non-equal element. More...
 
std::ostream & operator<< (std::ostream &out, EntityType entityType)
 Insertion operator for outputting entityType to out. More...
 
constexpr EntityType MakeEntityType (BasicEntityType basicEntityType, FacilityCode facilityCode, uint8_t code)
 Makes entity type given basicEntityType, facilityCode and code. More...
 
 DEFINE_ENTITY_TYPE (Block, Core, Nemesis_Block, 0)
 Nemesis block. More...
 
 DEFINE_ENTITY_TYPE (Block, Core, Block, 1)
 Block. More...
 
constexpr BasicEntityType ToBasicEntityType (EntityType type)
 Converts an entity type into a basic entity type. More...
 
Amount CalculateTransactionFee (BlockFeeMultiplier feeMultiplier, const Transaction &transaction)
 Calculates the fee for transaction contained in block with feeMultiplier. More...
 
BlockFeeMultiplier CalculateTransactionMaxFeeMultiplier (const Transaction &transaction)
 Calculates the maximum fee multiplier for transaction. More...
 
ImportanceHeight ConvertToImportanceHeight (Height height, Height::ValueType grouping)
 
bool TryParseValue (const std::string &networkName, NetworkIdentifier &networkIdentifier)
 Tries to parse networkName into a network identifier (networkIdentifier). More...
 
std::ostream & operator<< (std::ostream &out, NetworkIdentifier value)
 Insertion operator for outputting value to out. More...
 
std::unique_ptr< NotificationPublisherCreateNotificationPublisher (const TransactionRegistry &transactionRegistry, UnresolvedMosaicId feeMosaicId, PublicationMode mode)
 
constexpr NotificationType MakeNotificationType (NotificationChannel channel, FacilityCode facility, uint16_t code)
 Makes a notification type given channel, facility and code. More...
 
constexpr bool IsSet (NotificationType type, NotificationChannel channel)
 Checks if type has channel set. More...
 
constexpr NotificationChannel GetNotificationChannel (NotificationType type)
 Gets the notification channel set in type. More...
 
constexpr void SetNotificationChannel (NotificationType &type, NotificationChannel channel)
 Sets the notification channel in type to channel. More...
 
constexpr bool AreEqualExcludingChannel (NotificationType lhs, NotificationType rhs)
 Returns true if lhs and rhs have the same source (facility and code). More...
 
 DEFINE_CORE_NOTIFICATION (Register_Account_Address, 0x0001, All)
 Account was used with specified address. More...
 
 DEFINE_CORE_NOTIFICATION (Register_Account_Public_Key, 0x0002, Observer)
 Account was used with specified public key. More...
 
 DEFINE_CORE_NOTIFICATION (Balance_Transfer, 0x0003, All)
 Mosaic was transferred between two accounts. More...
 
 DEFINE_CORE_NOTIFICATION (Entity, 0x0004, Validator)
 Entity was received. More...
 
 DEFINE_CORE_NOTIFICATION (Block, 0x0005, All)
 Block was received. More...
 
 DEFINE_CORE_NOTIFICATION (Transaction, 0x0006, All)
 Transaction was received. More...
 
 DEFINE_CORE_NOTIFICATION (Signature, 0x0007, Validator)
 Signature was received. More...
 
 DEFINE_CORE_NOTIFICATION (Balance_Debit, 0x0008, All)
 Mosaic was debited from account. More...
 
 DEFINE_CORE_NOTIFICATION (Address_Interaction, 0x0009, Validator)
 Source address interacts with destination addresses. More...
 
 DEFINE_CORE_NOTIFICATION (Mosaic_Required, 0x000A, Validator)
 Mosaic is required. More...
 
 DEFINE_CORE_NOTIFICATION (Source_Change, 0x000B, Observer)
 Source has changed. More...
 
 DEFINE_CORE_NOTIFICATION (Transaction_Fee, 0x000C, All)
 Transaction fee was received. More...
 
 DEFINE_CORE_NOTIFICATION (Transaction_Deadline, 0x000D, Validator)
 Transaction deadline was received. More...
 
std::ostream & operator<< (std::ostream &out, ReceiptType receiptType)
 Insertion operator for outputting receiptType to out. More...
 
constexpr ReceiptType MakeReceiptType (BasicReceiptType basicReceiptType, FacilityCode facilityCode, uint8_t code)
 Makes receipt type given basicReceiptType, facilityCode and code. More...
 
 DEFINE_RECEIPT_TYPE (BalanceCredit, Core, Harvest_Fee, 1)
 Harvest fee credit. More...
 
 DEFINE_RECEIPT_TYPE (Inflation, Core, Inflation, 1)
 Inflation. More...
 
 DEFINE_RECEIPT_TYPE (Aggregate, Core, Transaction_Group, 1)
 Transaction group. More...
 
 DEFINE_RECEIPT_TYPE (AliasResolution, Core, Address_Alias_Resolution, 1)
 Address alias resolution. More...
 
 DEFINE_RECEIPT_TYPE (AliasResolution, Core, Mosaic_Alias_Resolution, 2)
 Mosaic alias resolution. More...
 
bool IsSizeValid (const Transaction &transaction, const TransactionRegistry &registry)
 
bool TryParseValue (const std::string &strategyName, TransactionSelectionStrategy &strategy)
 Tries to parse strategyName into a transaction selection strategy. More...
 
UnresolvedAddressSet ExtractAddresses (const Transaction &transaction, const NotificationPublisher &notificationPublisher)
 Extracts all addresses that are involved in transaction using notificationPublisher. More...
 
std::ostream & operator<< (std::ostream &out, const VerifiableEntity &entity)
 Insertion operator for outputting entity to out. More...
 
bool IsSizeValid (const VerifiableEntity &entity, const TransactionRegistry &registry)
 
VerifiableEntityPredicate NeverFilter ()
 Creates a predicate that always returns true. More...
 
VerifiableEntityPredicate HasTypeFilter (EntityType type)
 Creates a predicate that returns true when an entity has a matching entity type. More...
 
VerifiableEntityPredicate HasBasicTypeFilter (BasicEntityType type)
 Creates a predicate that returns true when an entity has a matching basic entity type. More...
 
template<typename TEntity >
std::ostream & operator<< (std::ostream &out, const WeakEntityInfoT< TEntity > &entityInfo)
 Insertion operator for outputting entityInfo to out. More...
 

Variables

constexpr size_t Num_Mosaic_Properties = utils::to_underlying_type(MosaicPropertyId::Sentinel_Property_Id)
 Number of available properties. More...
 
constexpr size_t First_Optional_Property = utils::to_underlying_type(MosaicPropertyId::Duration)
 Index of first optional property. More...
 
const uint8_t Checksum_Size = 4
 

Typedef Documentation

◆ AccountAddressRestrictionModification

Modification type used with account address restriction transaction.

◆ AccountMosaicRestrictionModification

Modification type used with account mosaic restriction transaction.

◆ AccountOperationRestrictionModification

Modification type used with account operation restriction transaction.

◆ AddressRange

An entity range composed of addresses.

◆ AddressResolutionStatement

using catapult::model::AddressResolutionStatement = typedef ResolutionStatement<UnresolvedAddress, Address, Receipt_Type_Address_Alias_Resolution>

Address resolution statement.

◆ AddressSet

using catapult::model::AddressSet = typedef std::unordered_set<Address, utils::ArrayHasher<Address> >

Unordered set of addresses.

◆ AliasedAddressNotification

using catapult::model::AliasedAddressNotification = typedef AliasedDataNotification<Address, Namespace_Aliased_Address_Notification>

Notification of an aliased address.

◆ AliasedMosaicIdNotification

using catapult::model::AliasedMosaicIdNotification = typedef AliasedDataNotification<MosaicId, Namespace_Aliased_MosaicId_Notification>

Notification of an aliased mosaic id.

◆ AnnotatedBlockRange

An annotated entity range composed of blocks.

◆ AnnotatedTransactionRange

An annotated entity range composed of transactions.

◆ BlockRange

An entity range composed of blocks.

◆ ChainScoreSupplier

Prototype for a function that returns a chain score.

◆ HashRange

An entity range composed of hashes.

◆ ImportanceHeight

Represents a height at which importance is calculated.

◆ MatchingEntityPredicate

Predicate for evaluating a timestamp, a hash and an entity type.

◆ ModifyAccountAddressRestrictionNotification

using catapult::model::ModifyAccountAddressRestrictionNotification = typedef ModifyAccountRestrictionNotification< UnresolvedAddress, RestrictionAccount_Address_Modifications_Notification>

◆ ModifyAccountAddressRestrictionValueNotification

◆ ModifyAccountMosaicRestrictionNotification

using catapult::model::ModifyAccountMosaicRestrictionNotification = typedef ModifyAccountRestrictionNotification< UnresolvedMosaicId, RestrictionAccount_Mosaic_Modifications_Notification>

◆ ModifyAccountMosaicRestrictionValueNotification

◆ ModifyAccountOperationRestrictionNotification

using catapult::model::ModifyAccountOperationRestrictionNotification = typedef ModifyAccountRestrictionNotification< EntityType, RestrictionAccount_Operation_Modifications_Notification>

◆ ModifyAccountOperationRestrictionValueNotification

◆ Mosaic

◆ MosaicResolutionStatement

using catapult::model::MosaicResolutionStatement = typedef ResolutionStatement<UnresolvedMosaicId, MosaicId, Receipt_Type_Mosaic_Alias_Resolution>

Mosaic resolution statement.

◆ ShortHashRange

An entity range composed of short hashes.

◆ TransactionInfosSet

Unordered set of transaction infos.

◆ TransactionRange

An entity range composed of transactions.

◆ Transactions

using catapult::model::Transactions = typedef std::vector<std::shared_ptr<const Transaction> >

Container of transactions.

◆ UnresolvedAddressSet

Unordered set of unresolved addresses.

◆ UnresolvedMosaic

◆ VerifiableEntityPredicate

Prototype for a verifiable entity predicate.

◆ WeakEntityInfo

◆ WeakEntityInfos

using catapult::model::WeakEntityInfos = typedef std::vector<WeakEntityInfo>

A container of weak entity infos.

Enumeration Type Documentation

◆ AccountLinkAction

enum catapult::model::AccountLinkAction : uint8_t
strong

Account link transaction action.

Enumerator
Link 

Link account.

Unlink 

Unlink account.

◆ AccountRestrictionModificationType

Account restriction modification type.

Enumerator
Add 

Add restriction value.

Del 

Remove restriction value.

◆ AccountRestrictionType

Account restriction types.

Enumerator
Address 

Account restriction type is an address.

MosaicId 

Account restriction type is a mosaic id.

TransactionType 

Account restriction type is a transaction type.

Sentinel 

Account restriction type sentinel.

Block 

Account restriction is interpreted as blocking operation.

◆ AliasAction

enum catapult::model::AliasAction : uint8_t
strong

Alias transaction action.

Enumerator
Link 

Link alias.

Unlink 

Unlink alias.

◆ BasicEntityType

enum catapult::model::BasicEntityType : uint8_t
strong

Enumeration of basic entity types.

Note
BasicEntityType is used as highest bits of entity type.
Enumerator
Other 

Some other type.

Transaction 

Transaction type.

Block 

Block type.

◆ BasicReceiptType

enum catapult::model::BasicReceiptType : uint8_t
strong

Enumeration of basic receipt types.

Note
BasicReceiptType is used as highest nibble of receipt type.
Enumerator
Other 

Some other receipt type.

BalanceTransfer 

Balance transfer.

BalanceCredit 

Balance credit.

BalanceDebit 

Balance debit.

ArtifactExpiry 

Artifact expiry receipt.

Inflation 

Inflation.

Aggregate 

Aggregate receipt.

AliasResolution 

Alias resolution.

◆ CosignatoryModificationType

Cosignatory modification type.

Enumerator
Add 

Add cosignatory.

Del 

Remove cosignatory.

◆ EntityContainerErrorPolicy

Polcies for handling iteration errors.

Enumerator
Throw 

Immediately throw when an iteration error is encounted.

Suppress 

Do not throw when an iteration error is encountered (but error flag will still be set).

◆ EntityType

enum catapult::model::EntityType : uint16_t
strong

Enumeration of entity types.

◆ FacilityCode

enum catapult::model::FacilityCode : uint8_t
strong

Possible facility codes.

Enumerator
AccountLink 

Account link facility code.

Aggregate 

Aggregate facility code.

Core 

Core facility code.

LockHash 

Lock hash facility code.

LockSecret 

Lock secret facility code.

Metadata 

Metadata facility code.

Mosaic 

Mosaic facility code.

Multisig 

Multisig facility code.

Namespace 

Namespace facility code.

RestrictionAccount 

Account restriction facility code.

RestrictionMosaic 

Mosaic restriction facility code.

Transfer 

Transfer facility code.

◆ LockHashAlgorithm

enum catapult::model::LockHashAlgorithm : uint8_t
strong

Lock secret hash algorithm.

Enumerator
Op_Sha3_256 

Input is hashed using Sha-3-256.

Op_Keccak_256 

Input is hashed using Keccak-256.

Op_Hash_160 

Input is hashed twice: first with SHA-256 and then with RIPEMD-160.

Op_Hash_256 

Input is hashed twice with SHA-256.

◆ MosaicFlags

enum catapult::model::MosaicFlags : uint8_t
strong

Mosaic property flags.

Enumerator
None 

No flags present.

Supply_Mutable 

Mosaic supply is mutable.

Transferable 

Mosaic is transferable.

All 

All flags.

◆ MosaicPropertyId

enum catapult::model::MosaicPropertyId : uint8_t
strong

Available mosaic property ids.

Enumerator
Flags 

Mosaic flags.

Divisibility 

Mosaic divisibility.

Duration 

Mosaic duration.

Sentinel_Property_Id 

◆ MosaicSupplyChangeDirection

Supply change directions.

Enumerator
Decrease 

Decreases the supply.

Increase 

Increases the supply.

◆ NamespaceType

enum catapult::model::NamespaceType : uint8_t
strong

Namespace types.

Enumerator
Root 

A root namespace.

Child 

A child namespace.

◆ NetworkIdentifier

enum catapult::model::NetworkIdentifier : uint8_t
strong

Possible network identifiers.

Enumerator
NETWORK_IDENTIFIER_LIST 

◆ NotificationChannel

enum catapult::model::NotificationChannel : uint8_t
strong

Notification channel.

Enumerator
None 

Publish notification on no channels.

Validator 

Publish notification on validator channel.

Observer 

Publish notification on observer channel.

All 

Publish notification on all channels.

◆ NotificationType

enum catapult::model::NotificationType : uint32_t
strong

Enumeration of all possible notification types.

◆ PublicationMode

Publication modes.

Enumerator
Basic 

Only basic notifications are published.

Custom 

Only custom notifications are published.

All 

All notifications are published.

◆ ReceiptType

enum catapult::model::ReceiptType : uint16_t
strong

Enumeration of receipt types.

◆ TransactionPluginFactoryOptions

Transaction plugin factory options.

Enumerator
Default 

Transaction supports both top-level and embedding.

Only_Embeddable 

Transaction only supports embedding.

◆ TransactionSelectionStrategy

Strategy for selecting transactions.

Enumerator
Oldest 

Choose oldest transactions.

Note
This strategy is preferred for high TPS networks.
Minimize_Fee 

Choose transactions with lowest fees.

Maximize_Fee 

Choose transactions with highest fees.

Function Documentation

◆ AddressToString()

std::string catapult::model::AddressToString ( const Address address)

Creates an encoded address from an address.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AreEqualExcludingChannel()

constexpr bool catapult::model::AreEqualExcludingChannel ( NotificationType  lhs,
NotificationType  rhs 
)
constexpr

Returns true if lhs and rhs have the same source (facility and code).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalculateBlockTransactionsHash()

void catapult::model::CalculateBlockTransactionsHash ( const std::vector< const TransactionInfo * > &  transactionInfos,
Hash256 blockTransactionsHash 
)

Calculates the block transactions hash of transactionInfos into blockTransactionsHash.

Here is the call graph for this function:

◆ CalculateBlockTransactionsInfo()

BlockTransactionsInfo catapult::model::CalculateBlockTransactionsInfo ( const Block block)

Calculates information about transactions stored in block.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalculateDifficultyHistorySize()

uint64_t catapult::model::CalculateDifficultyHistorySize ( const BlockChainConfiguration config)

Calculates the number of historical difficulties to cache in memory for the block chain described by config.

◆ CalculateFullRollbackDuration()

utils::TimeSpan catapult::model::CalculateFullRollbackDuration ( const BlockChainConfiguration config)

Calculates the duration of a full rollback for the block chain described by config.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalculateGenerationHash()

GenerationHash catapult::model::CalculateGenerationHash ( const GenerationHash previousGenerationHash,
const Key publicKey 
)

Calculates the generation hash from a previous generation hash (previousGenerationHash) and a public key (publicKey).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalculateHash() [1/4]

Hash256 catapult::model::CalculateHash ( const Block block)

Calculates the hash for the given block header.

Here is the call graph for this function:

◆ CalculateHash() [2/4]

Hash256 catapult::model::CalculateHash ( const Transaction transaction,
const GenerationHash generationHash 
)

Calculates the hash for the given transaction for the network with the specified generation hash (generationHash).

Here is the call graph for this function:

◆ CalculateHash() [3/4]

Hash256 catapult::model::CalculateHash ( const Transaction transaction,
const GenerationHash generationHash,
const RawBuffer &  buffer 
)

Calculates the hash for the given transaction with data buffer for the network with the specified generation hash (generationHash).

Here is the call graph for this function:

◆ CalculateHash() [4/4]

Hash256 catapult::model::CalculateHash ( LockHashAlgorithm  hashAlgorithm,
const RawBuffer &  data 
)

Calculates hashAlgorithm hash of data.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalculateMerkleComponentHash()

Hash256 catapult::model::CalculateMerkleComponentHash ( const Transaction transaction,
const Hash256 transactionHash,
const TransactionRegistry transactionRegistry 
)

Calculates the merkle component hash for the given transaction with transactionHash using transaction information from transactionRegistry.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalculateMerkleHash()

Hash256 catapult::model::CalculateMerkleHash ( const BlockStatement statement)

Calculates the merkle hash for statement.

Here is the caller graph for this function:

◆ CalculateMerkleTree() [1/2]

std::vector< Hash256 > catapult::model::CalculateMerkleTree ( const BlockStatement statement)

Calculates the merkle tree for statement.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalculateMerkleTree() [2/2]

std::vector< Hash256 > catapult::model::CalculateMerkleTree ( const std::vector< TransactionElement > &  transactionElements)

Calculates the merkle tree from transactionElements.

Here is the call graph for this function:

◆ CalculateRollbackVariabilityBufferDuration()

utils::TimeSpan catapult::model::CalculateRollbackVariabilityBufferDuration ( const BlockChainConfiguration config)

Calculates the duration of the rollback variability buffer for the block chain described by config.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalculateSecretLockInfoHash()

Hash256 catapult::model::CalculateSecretLockInfoHash ( const Hash256 secret,
const Address recipient 
)

Calculates the secret lock info hash from secret and recipient.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalculateTransactionCacheDuration()

utils::TimeSpan catapult::model::CalculateTransactionCacheDuration ( const BlockChainConfiguration config)

Calculates the duration of time that expired transactions should be cached for the block chain described by config.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalculateTransactionFee()

Amount catapult::model::CalculateTransactionFee ( BlockFeeMultiplier  feeMultiplier,
const Transaction transaction 
)

Calculates the fee for transaction contained in block with feeMultiplier.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalculateTransactionMaxFeeMultiplier()

BlockFeeMultiplier catapult::model::CalculateTransactionMaxFeeMultiplier ( const Transaction transaction)

Calculates the maximum fee multiplier for transaction.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConvertToImportanceHeight()

ImportanceHeight catapult::model::ConvertToImportanceHeight ( Height  height,
Height::ValueType  grouping 
)

Calculates the importance height from the supplied height and grouping (the number of blocks that should be treated as a group for importance purposes).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CountTotalStatements()

size_t catapult::model::CountTotalStatements ( const BlockStatement statement)

Counts the total number of statements in statement.

Here is the caller graph for this function:

◆ CreateBlock()

std::unique_ptr< Block > catapult::model::CreateBlock ( const PreviousBlockContext context,
NetworkIdentifier  networkIdentifier,
const Key signerPublicKey,
const Transactions transactions 
)

Creates an unsigned Block given a context, signer public key (signerPublicKey) and transactions for a network with identifier networkIdentifier.

Here is the caller graph for this function:

◆ CreateNotificationPublisher()

std::unique_ptr< NotificationPublisher > catapult::model::CreateNotificationPublisher ( const TransactionRegistry transactionRegistry,
UnresolvedMosaicId  feeMosaicId,
PublicationMode  mode = PublicationMode::All 
)

Creates a notification publisher around transactionRegistry for the specified mode given specified fee mosaic id (feeMosaicId).

Here is the caller graph for this function:

◆ DeepCopyTo() [1/2]

void catapult::model::DeepCopyTo ( BlockStatement destination,
const BlockStatement source 
)

Creates a deep copy of source into destination.

Here is the caller graph for this function:

◆ DeepCopyTo() [2/2]

void catapult::model::DeepCopyTo ( BlockStatement destination,
const BlockStatement source,
uint32_t  maxSourcePrimaryId 
)

Creates a deep copy of source into destination excluding receipts with primary source id greater than maxSourcePrimaryId.

◆ DEFINE_ACCOUNT_LINK_NOTIFICATION() [1/2]

catapult::model::DEFINE_ACCOUNT_LINK_NOTIFICATION ( New_Remote_Account  ,
0x002  ,
Validator   
)

New remote account was created.

◆ DEFINE_ACCOUNT_LINK_NOTIFICATION() [2/2]

catapult::model::DEFINE_ACCOUNT_LINK_NOTIFICATION ( Remote  ,
0x001  ,
All   
)

Remote account was un/linked.

◆ DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION() [1/7]

catapult::model::DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION ( Address_Modification  ,
0x0010  ,
All   
)

Account address restriction modification.

◆ DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION() [2/7]

catapult::model::DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION ( Address_Modifications  ,
0x0020  ,
Validator   
)

Account address restriction modifications.

◆ DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION() [3/7]

catapult::model::DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION ( Mosaic_Modification  ,
0x0011  ,
All   
)

Account mosaic restriction modification.

◆ DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION() [4/7]

catapult::model::DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION ( Mosaic_Modifications  ,
0x0021  ,
Validator   
)

Account mosaic restriction modifications.

◆ DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION() [5/7]

catapult::model::DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION ( Operation_Modification  ,
0x0012  ,
All   
)

Account operation restriction modification.

◆ DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION() [6/7]

catapult::model::DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION ( Operation_Modifications  ,
0x0022  ,
Validator   
)

Account operation restriction modifications.

◆ DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION() [7/7]

catapult::model::DEFINE_ACCOUNT_RESTRICTION_NOTIFICATION ( Type  ,
0x0001  ,
Validator   
)

Account restriction type.

◆ DEFINE_AGGREGATE_NOTIFICATION() [1/2]

catapult::model::DEFINE_AGGREGATE_NOTIFICATION ( Cosignatures  ,
0x001  ,
Validator   
)

Aggregate was received with cosignatures.

◆ DEFINE_AGGREGATE_NOTIFICATION() [2/2]

catapult::model::DEFINE_AGGREGATE_NOTIFICATION ( EmbeddedTransaction  ,
0x002  ,
Validator   
)

Aggregate was received with an embedded transaction.

◆ DEFINE_CORE_NOTIFICATION() [1/13]

catapult::model::DEFINE_CORE_NOTIFICATION ( Address_Interaction  ,
0x0009  ,
Validator   
)

Source address interacts with destination addresses.

◆ DEFINE_CORE_NOTIFICATION() [2/13]

catapult::model::DEFINE_CORE_NOTIFICATION ( Balance_Debit  ,
0x0008  ,
All   
)

Mosaic was debited from account.

◆ DEFINE_CORE_NOTIFICATION() [3/13]

catapult::model::DEFINE_CORE_NOTIFICATION ( Balance_Transfer  ,
0x0003  ,
All   
)

Mosaic was transferred between two accounts.

◆ DEFINE_CORE_NOTIFICATION() [4/13]

catapult::model::DEFINE_CORE_NOTIFICATION ( Block  ,
0x0005  ,
All   
)

Block was received.

◆ DEFINE_CORE_NOTIFICATION() [5/13]

catapult::model::DEFINE_CORE_NOTIFICATION ( Entity  ,
0x0004  ,
Validator   
)

Entity was received.

◆ DEFINE_CORE_NOTIFICATION() [6/13]

catapult::model::DEFINE_CORE_NOTIFICATION ( Mosaic_Required  ,
0x000A  ,
Validator   
)

Mosaic is required.

◆ DEFINE_CORE_NOTIFICATION() [7/13]

catapult::model::DEFINE_CORE_NOTIFICATION ( Register_Account_Address  ,
0x0001  ,
All   
)

Account was used with specified address.

◆ DEFINE_CORE_NOTIFICATION() [8/13]

catapult::model::DEFINE_CORE_NOTIFICATION ( Register_Account_Public_Key  ,
0x0002  ,
Observer   
)

Account was used with specified public key.

◆ DEFINE_CORE_NOTIFICATION() [9/13]

catapult::model::DEFINE_CORE_NOTIFICATION ( Signature  ,
0x0007  ,
Validator   
)

Signature was received.

◆ DEFINE_CORE_NOTIFICATION() [10/13]

catapult::model::DEFINE_CORE_NOTIFICATION ( Source_Change  ,
0x000B  ,
Observer   
)

Source has changed.

◆ DEFINE_CORE_NOTIFICATION() [11/13]

catapult::model::DEFINE_CORE_NOTIFICATION ( Transaction  ,
0x0006  ,
All   
)

Transaction was received.

◆ DEFINE_CORE_NOTIFICATION() [12/13]

catapult::model::DEFINE_CORE_NOTIFICATION ( Transaction_Deadline  ,
0x000D  ,
Validator   
)

Transaction deadline was received.

◆ DEFINE_CORE_NOTIFICATION() [13/13]

catapult::model::DEFINE_CORE_NOTIFICATION ( Transaction_Fee  ,
0x000C  ,
All   
)

Transaction fee was received.

◆ DEFINE_ENTITY_TYPE() [1/2]

catapult::model::DEFINE_ENTITY_TYPE ( Block  ,
Core  ,
Block  ,
 
)

◆ DEFINE_ENTITY_TYPE() [2/2]

catapult::model::DEFINE_ENTITY_TYPE ( Block  ,
Core  ,
Nemesis_Block  ,
 
)

Nemesis block.

◆ DEFINE_HASH_LOCK_NOTIFICATION() [1/3]

catapult::model::DEFINE_HASH_LOCK_NOTIFICATION ( Hash  ,
0x0003  ,
All   
)

Hash lock creation.

◆ DEFINE_HASH_LOCK_NOTIFICATION() [2/3]

catapult::model::DEFINE_HASH_LOCK_NOTIFICATION ( Hash_Duration  ,
0x0001  ,
Validator   
)

Hash lock duration.

◆ DEFINE_HASH_LOCK_NOTIFICATION() [3/3]

catapult::model::DEFINE_HASH_LOCK_NOTIFICATION ( Mosaic  ,
0x0002  ,
Validator   
)

Hash lock mosaic.

◆ DEFINE_MOSAIC_NOTIFICATION() [1/5]

catapult::model::DEFINE_MOSAIC_NOTIFICATION ( Definition  ,
0x0013  ,
All   
)

Mosaic was defined.

◆ DEFINE_MOSAIC_NOTIFICATION() [2/5]

catapult::model::DEFINE_MOSAIC_NOTIFICATION ( Nonce  ,
0x0014  ,
Validator   
)

Mosaic nonce and id were provided.

◆ DEFINE_MOSAIC_NOTIFICATION() [3/5]

catapult::model::DEFINE_MOSAIC_NOTIFICATION ( Properties  ,
0x0012  ,
Validator   
)

Mosaic properties were provided.

◆ DEFINE_MOSAIC_NOTIFICATION() [4/5]

catapult::model::DEFINE_MOSAIC_NOTIFICATION ( Rental_Fee  ,
0x0030  ,
Observer   
)

Mosaic rental fee has been sent.

◆ DEFINE_MOSAIC_NOTIFICATION() [5/5]

catapult::model::DEFINE_MOSAIC_NOTIFICATION ( Supply_Change  ,
0x0022  ,
All   
)

Mosaic supply was changed.

◆ DEFINE_MULTISIG_NOTIFICATION() [1/3]

catapult::model::DEFINE_MULTISIG_NOTIFICATION ( Modify_Cosigners  ,
0x0001  ,
All   
)

Multisig account cosigners were modified.

◆ DEFINE_MULTISIG_NOTIFICATION() [2/3]

catapult::model::DEFINE_MULTISIG_NOTIFICATION ( Modify_New_Cosigner  ,
0x0002  ,
Validator   
)

A cosigner was added to a multisig account.

◆ DEFINE_MULTISIG_NOTIFICATION() [3/3]

catapult::model::DEFINE_MULTISIG_NOTIFICATION ( Modify_Settings  ,
0x1001  ,
All   
)

Multisig account settings were modified.

◆ DEFINE_NAMESPACE_NOTIFICATION() [1/8]

catapult::model::DEFINE_NAMESPACE_NOTIFICATION ( Alias_Owner  ,
0x0081  ,
Validator   
)

Alias owner was provided.

◆ DEFINE_NAMESPACE_NOTIFICATION() [2/8]

catapult::model::DEFINE_NAMESPACE_NOTIFICATION ( Aliased_Address  ,
0x0091  ,
All   
)

Address alias was un/linked.

◆ DEFINE_NAMESPACE_NOTIFICATION() [3/8]

catapult::model::DEFINE_NAMESPACE_NOTIFICATION ( Aliased_MosaicId  ,
0x0092  ,
All   
)

Mosaic alias was un/linked.

◆ DEFINE_NAMESPACE_NOTIFICATION() [4/8]

catapult::model::DEFINE_NAMESPACE_NOTIFICATION ( Child_Registration  ,
0x0022  ,
All   
)

Child namespace was registered.

◆ DEFINE_NAMESPACE_NOTIFICATION() [5/8]

catapult::model::DEFINE_NAMESPACE_NOTIFICATION ( Name  ,
0x0011  ,
Validator   
)

Namespace name was provided.

◆ DEFINE_NAMESPACE_NOTIFICATION() [6/8]

catapult::model::DEFINE_NAMESPACE_NOTIFICATION ( Registration  ,
0x0012  ,
Validator   
)

Namespace was registered.

◆ DEFINE_NAMESPACE_NOTIFICATION() [7/8]

catapult::model::DEFINE_NAMESPACE_NOTIFICATION ( Rental_Fee  ,
0x0030  ,
Observer   
)

Namespace rental fee has been sent.

◆ DEFINE_NAMESPACE_NOTIFICATION() [8/8]

catapult::model::DEFINE_NAMESPACE_NOTIFICATION ( Root_Registration  ,
0x0021  ,
All   
)

Root namespace was registered.

◆ DEFINE_RECEIPT_TYPE() [1/15]

catapult::model::DEFINE_RECEIPT_TYPE ( Aggregate  ,
Core  ,
Transaction_Group  ,
 
)

Transaction group.

◆ DEFINE_RECEIPT_TYPE() [2/15]

catapult::model::DEFINE_RECEIPT_TYPE ( AliasResolution  ,
Core  ,
Address_Alias_Resolution  ,
 
)

Address alias resolution.

◆ DEFINE_RECEIPT_TYPE() [3/15]

catapult::model::DEFINE_RECEIPT_TYPE ( AliasResolution  ,
Core  ,
Mosaic_Alias_Resolution  ,
 
)

Mosaic alias resolution.

◆ DEFINE_RECEIPT_TYPE() [4/15]

catapult::model::DEFINE_RECEIPT_TYPE ( ArtifactExpiry  ,
Mosaic  ,
Mosaic_Expired  ,
 
)

Mosaic expiry.

◆ DEFINE_RECEIPT_TYPE() [5/15]

catapult::model::DEFINE_RECEIPT_TYPE ( ArtifactExpiry  ,
Namespace  ,
Namespace_Expired  ,
 
)

Namespace expiry.

◆ DEFINE_RECEIPT_TYPE() [6/15]

catapult::model::DEFINE_RECEIPT_TYPE ( BalanceCredit  ,
Core  ,
Harvest_Fee  ,
 
)

Harvest fee credit.

◆ DEFINE_RECEIPT_TYPE() [7/15]

catapult::model::DEFINE_RECEIPT_TYPE ( BalanceCredit  ,
LockHash  ,
LockHash_Completed  ,
 
)

Hash lock completion.

◆ DEFINE_RECEIPT_TYPE() [8/15]

catapult::model::DEFINE_RECEIPT_TYPE ( BalanceCredit  ,
LockHash  ,
LockHash_Expired  ,
 
)

Hash lock expiration.

◆ DEFINE_RECEIPT_TYPE() [9/15]

catapult::model::DEFINE_RECEIPT_TYPE ( BalanceCredit  ,
LockSecret  ,
LockSecret_Completed  ,
 
)

Secret lock completion.

◆ DEFINE_RECEIPT_TYPE() [10/15]

catapult::model::DEFINE_RECEIPT_TYPE ( BalanceCredit  ,
LockSecret  ,
LockSecret_Expired  ,
 
)

Secret lock expiration.

◆ DEFINE_RECEIPT_TYPE() [11/15]

catapult::model::DEFINE_RECEIPT_TYPE ( BalanceDebit  ,
LockHash  ,
LockHash_Created  ,
 
)

Hash lock creation.

◆ DEFINE_RECEIPT_TYPE() [12/15]

catapult::model::DEFINE_RECEIPT_TYPE ( BalanceDebit  ,
LockSecret  ,
LockSecret_Created  ,
 
)

Secret lock creation.

◆ DEFINE_RECEIPT_TYPE() [13/15]

catapult::model::DEFINE_RECEIPT_TYPE ( BalanceTransfer  ,
Mosaic  ,
Mosaic_Rental_Fee  ,
 
)

Mosaic rental fee.

◆ DEFINE_RECEIPT_TYPE() [14/15]

catapult::model::DEFINE_RECEIPT_TYPE ( BalanceTransfer  ,
Namespace  ,
Namespace_Rental_Fee  ,
 
)

Namespace rental fee.

◆ DEFINE_RECEIPT_TYPE() [15/15]

catapult::model::DEFINE_RECEIPT_TYPE ( Inflation  ,
Core  ,
Inflation  ,
 
)

Inflation.

◆ DEFINE_SECRET_LOCK_NOTIFICATION() [1/5]

catapult::model::DEFINE_SECRET_LOCK_NOTIFICATION ( Hash_Algorithm  ,
0x0002  ,
Validator   
)

Secret lock hash algorithm.

◆ DEFINE_SECRET_LOCK_NOTIFICATION() [2/5]

catapult::model::DEFINE_SECRET_LOCK_NOTIFICATION ( Proof_Publication  ,
0x0005  ,
All   
)

Proof publication.

◆ DEFINE_SECRET_LOCK_NOTIFICATION() [3/5]

catapult::model::DEFINE_SECRET_LOCK_NOTIFICATION ( Proof_Secret  ,
0x0004  ,
Validator   
)

Proof and secret.

◆ DEFINE_SECRET_LOCK_NOTIFICATION() [4/5]

catapult::model::DEFINE_SECRET_LOCK_NOTIFICATION ( Secret  ,
0x0003  ,
All   
)

Secret lock creation.

◆ DEFINE_SECRET_LOCK_NOTIFICATION() [5/5]

catapult::model::DEFINE_SECRET_LOCK_NOTIFICATION ( Secret_Duration  ,
0x0001  ,
Validator   
)

Secret lock duration.

◆ DEFINE_TRANSACTION_TYPE() [1/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( AccountLink  ,
Account_Link  ,
0x1   
)

Account link transaction.

◆ DEFINE_TRANSACTION_TYPE() [2/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( Aggregate  ,
Aggregate_Bonded  ,
0x2   
)

Bonded aggregate transaction.

◆ DEFINE_TRANSACTION_TYPE() [3/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( Aggregate  ,
Aggregate_Complete  ,
0x1   
)

Fully complete aggregate transaction.

◆ DEFINE_TRANSACTION_TYPE() [4/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( LockHash  ,
Hash_Lock  ,
0x1   
)

Hash lock transaction.

◆ DEFINE_TRANSACTION_TYPE() [5/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( LockSecret  ,
Secret_Lock  ,
0x1   
)

Secret lock transaction.

◆ DEFINE_TRANSACTION_TYPE() [6/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( LockSecret  ,
Secret_Proof  ,
0x2   
)

Secret proof transaction.

◆ DEFINE_TRANSACTION_TYPE() [7/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( Mosaic  ,
Mosaic_Definition  ,
0x1   
)

Mosaic definition transaction.

◆ DEFINE_TRANSACTION_TYPE() [8/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( Mosaic  ,
Mosaic_Supply_Change  ,
0x2   
)

Mosaic supply change transaction.

◆ DEFINE_TRANSACTION_TYPE() [9/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( Multisig  ,
Modify_Multisig_Account  ,
0x1   
)

Modify multisig account transaction.

◆ DEFINE_TRANSACTION_TYPE() [10/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( Namespace  ,
Alias_Address  ,
0x2   
)

Address alias transaction.

◆ DEFINE_TRANSACTION_TYPE() [11/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( Namespace  ,
Alias_Mosaic  ,
0x3   
)

Mosaic alias transaction.

◆ DEFINE_TRANSACTION_TYPE() [12/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( Namespace  ,
Register_Namespace  ,
0x1   
)

Register namespace transaction.

◆ DEFINE_TRANSACTION_TYPE() [13/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( RestrictionAccount  ,
Account_Address_Restriction  ,
0x1   
)

Address account restriction transaction.

◆ DEFINE_TRANSACTION_TYPE() [14/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( RestrictionAccount  ,
Account_Mosaic_Restriction  ,
0x2   
)

Mosaic account restriction transaction.

◆ DEFINE_TRANSACTION_TYPE() [15/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( RestrictionAccount  ,
Account_Operation_Restriction  ,
0x3   
)

Operation account restriction transaction.

◆ DEFINE_TRANSACTION_TYPE() [16/16]

catapult::model::DEFINE_TRANSACTION_TYPE ( Transfer  ,
Transfer  ,
0x1   
)

Transfer transaction.

◆ DEFINE_TRANSFER_NOTIFICATION() [1/2]

catapult::model::DEFINE_TRANSFER_NOTIFICATION ( Message  ,
0x001  ,
Validator   
)

Transfer was received with a message.

◆ DEFINE_TRANSFER_NOTIFICATION() [2/2]

catapult::model::DEFINE_TRANSFER_NOTIFICATION ( Mosaics  ,
0x002  ,
Validator   
)

Transfer was received with at least one mosaic.

◆ ExtractAddresses()

UnresolvedAddressSet catapult::model::ExtractAddresses ( const Transaction transaction,
const NotificationPublisher notificationPublisher 
)

Extracts all addresses that are involved in transaction using notificationPublisher.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ExtractAllProperties()

MosaicProperties catapult::model::ExtractAllProperties ( const MosaicPropertiesHeader header,
const MosaicProperty pProperties 
)

Extracts all properties from header and pProperties.

Here is the call graph for this function:

◆ ExtractEntityInfos()

void catapult::model::ExtractEntityInfos ( const BlockElement element,
WeakEntityInfos entityInfos 
)

Extracts all entity infos from element into entityInfos.

Here is the caller graph for this function:

◆ ExtractMatchingEntityInfos()

void catapult::model::ExtractMatchingEntityInfos ( const std::vector< BlockElement > &  elements,
WeakEntityInfos entityInfos,
const MatchingEntityPredicate predicate 
)

Extracts all entity infos for which predicate returns true from elements into entityInfos.

Here is the caller graph for this function:

◆ ExtractTransactionInfos()

void catapult::model::ExtractTransactionInfos ( std::vector< TransactionInfo > &  transactionInfos,
const std::shared_ptr< const BlockElement > &  pBlockElement 
)

Extracts transaction infos from a block element (pBlockElement) into transactionInfos such that each transaction will extend the lifetime of the owning block element.

Here is the call graph for this function:

◆ FindFirstDifferenceIndex()

template<typename TEntity >
size_t catapult::model::FindFirstDifferenceIndex ( const EntityRange< TEntity > &  lhs,
const EntityRange< TEntity > &  rhs 
)

Compares two entity ranges (lhs and rhs) and returns the index of the first non-equal element.

Here is the call graph for this function:

◆ GenerateMosaicId()

MosaicId catapult::model::GenerateMosaicId ( const Key owner,
MosaicNonce  nonce 
)
noexcept

Generates a mosaic id given owner and nonce.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GenerateNamespaceId()

NamespaceId catapult::model::GenerateNamespaceId ( NamespaceId  parentId,
const RawString name 
)
noexcept

Generates a namespace id given parentId and namespace name.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GenerateRootNamespaceId()

NamespaceId catapult::model::GenerateRootNamespaceId ( const RawString name)
noexcept

Generates a root namespace id given name.

Here is the call graph for this function:

◆ GetNotificationChannel()

constexpr NotificationChannel catapult::model::GetNotificationChannel ( NotificationType  type)
constexpr

Gets the notification channel set in type.

Here is the call graph for this function:

◆ GetTransactionPayloadSize() [1/2]

size_t catapult::model::GetTransactionPayloadSize ( const AggregateTransactionHeader header)

Gets the number of bytes containing transaction data according to header.

Here is the caller graph for this function:

◆ GetTransactionPayloadSize() [2/2]

size_t catapult::model::GetTransactionPayloadSize ( const BlockHeader header)

Gets the number of bytes containing transaction data according to header.

◆ GetUnresolvedCurrencyMosaicId()

UnresolvedMosaicId catapult::model::GetUnresolvedCurrencyMosaicId ( const BlockChainConfiguration config)

Gets unresolved currency mosaic id from config.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HasBasicTypeFilter()

VerifiableEntityPredicate catapult::model::HasBasicTypeFilter ( BasicEntityType  type)
inline

Creates a predicate that returns true when an entity has a matching basic entity type.

Here is the call graph for this function:

◆ HasTypeFilter()

VerifiableEntityPredicate catapult::model::HasTypeFilter ( EntityType  type)
inline

Creates a predicate that returns true when an entity has a matching entity type.

◆ IsSet()

constexpr bool catapult::model::IsSet ( NotificationType  type,
NotificationChannel  channel 
)
constexpr

Checks if type has channel set.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsSizeValid() [1/5]

bool catapult::model::IsSizeValid ( const AggregateTransaction aggregate,
const TransactionRegistry registry 
)

Checks the real size of aggregate against its reported size and returns true if the sizes match. registry contains all known transaction types.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsSizeValid() [2/5]

bool catapult::model::IsSizeValid ( const Block block,
const TransactionRegistry registry 
)

Checks the real size of block against its reported size and returns true if the sizes match. registry contains all known transaction types.

Here is the call graph for this function:

◆ IsSizeValid() [3/5]

bool catapult::model::IsSizeValid ( const EmbeddedTransaction transaction,
const TransactionRegistry registry 
)

Checks the real size of transaction against its reported size and returns true if the sizes match. registry contains all known transaction types.

Here is the call graph for this function:

◆ IsSizeValid() [4/5]

bool catapult::model::IsSizeValid ( const Transaction transaction,
const TransactionRegistry registry 
)

Checks the real size of transaction against its reported size and returns true if the sizes match. registry contains all known transaction types.

Here is the call graph for this function:

◆ IsSizeValid() [5/5]

bool catapult::model::IsSizeValid ( const VerifiableEntity entity,
const TransactionRegistry registry 
)

Checks the real size of entity against its reported size and returns true if the sizes match. registry contains all known transaction types.

Here is the call graph for this function:

◆ IsValidAddress()

bool catapult::model::IsValidAddress ( const Address address,
NetworkIdentifier  networkIdentifier 
)

Returns a value indicating whether or not the given address is valid for the network identified by networkIdentifier.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsValidEncodedAddress()

bool catapult::model::IsValidEncodedAddress ( const std::string &  encoded,
NetworkIdentifier  networkIdentifier 
)

Returns a value indicating whether or not the given encoded address is valid for the network identified by networkIdentifier.

Here is the call graph for this function:

◆ IsValidName()

bool catapult::model::IsValidName ( const uint8_t *  pName,
size_t  nameSize 
)

Returns true if pName with size nameSize points to a valid name.

◆ LoadPluginConfiguration()

template<typename T >
T catapult::model::LoadPluginConfiguration ( const BlockChainConfiguration config,
const std::string &  pluginName 
)

Loads plugin configuration for plugin named pluginName from config.

◆ MakeContiguousEntityContainer()

template<typename TEntity >
constexpr BasicContiguousEntityContainer<TEntity> catapult::model::MakeContiguousEntityContainer ( TEntity *  pEntity,
size_t  size,
EntityContainerErrorPolicy  errorPolicy = EntityContainerErrorPolicy::Throw 
)
constexpr

Creates a container over memory pointed to by pEntity spanning across size bytes with the desired error policy (errorPolicy).

Here is the caller graph for this function:

◆ MakeEntityType()

constexpr EntityType catapult::model::MakeEntityType ( BasicEntityType  basicEntityType,
FacilityCode  facilityCode,
uint8_t  code 
)
constexpr

Makes entity type given basicEntityType, facilityCode and code.

◆ MakeNotificationType()

constexpr NotificationType catapult::model::MakeNotificationType ( NotificationChannel  channel,
FacilityCode  facility,
uint16_t  code 
)
constexpr

Makes a notification type given channel, facility and code.

◆ MakeReceiptType()

constexpr ReceiptType catapult::model::MakeReceiptType ( BasicReceiptType  basicReceiptType,
FacilityCode  facilityCode,
uint8_t  code 
)
constexpr

Makes receipt type given basicReceiptType, facilityCode and code.

Here is the call graph for this function:

◆ MakeTransactionInfo()

TransactionInfo catapult::model::MakeTransactionInfo ( const std::shared_ptr< const Transaction > &  pTransaction,
const TransactionElement transactionElement 
)

Makes a transaction info by merging pTransaction and transactionElement.

Here is the caller graph for this function:

◆ MakeVersion()

constexpr uint16_t catapult::model::MakeVersion ( NetworkIdentifier  networkIdentifier,
uint8_t  version 
)
constexprnoexcept

Creates a version field out of given entity version and networkIdentifier.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NeverFilter()

VerifiableEntityPredicate catapult::model::NeverFilter ( )
inline

Creates a predicate that always returns true.

◆ operator<<() [1/6]

std::ostream & catapult::model::operator<< ( std::ostream &  out,
const EmbeddedTransaction transaction 
)

Insertion operator for outputting transaction to out.

Here is the call graph for this function:

◆ operator<<() [2/6]

std::ostream & catapult::model::operator<< ( std::ostream &  out,
const VerifiableEntity entity 
)

Insertion operator for outputting entity to out.

Here is the call graph for this function:

◆ operator<<() [3/6]

template<typename TEntity >
std::ostream& catapult::model::operator<< ( std::ostream &  out,
const WeakEntityInfoT< TEntity > &  entityInfo 
)

Insertion operator for outputting entityInfo to out.

Here is the call graph for this function:

◆ operator<<() [4/6]

std::ostream & catapult::model::operator<< ( std::ostream &  out,
EntityType  entityType 
)

Insertion operator for outputting entityType to out.

Here is the call graph for this function:

◆ operator<<() [5/6]

std::ostream& catapult::model::operator<< ( std::ostream &  out,
NetworkIdentifier  value 
)

Insertion operator for outputting value to out.

◆ operator<<() [6/6]

std::ostream & catapult::model::operator<< ( std::ostream &  out,
ReceiptType  receiptType 
)

Insertion operator for outputting receiptType to out.

Here is the call graph for this function:

◆ PublicKeyToAddress()

Address catapult::model::PublicKeyToAddress ( const Key publicKey,
NetworkIdentifier  networkIdentifier 
)

Creates an address from a public key (publicKey) for the network identified by networkIdentifier.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PublishNotifications()

void catapult::model::PublishNotifications ( const EmbeddedTransaction transaction,
NotificationSubscriber sub 
)

Sends all notifications from transaction to sub.

Here is the call graph for this function:

◆ SetNotificationChannel()

constexpr void catapult::model::SetNotificationChannel ( NotificationType type,
NotificationChannel  channel 
)
constexpr

Sets the notification channel in type to channel.

Here is the call graph for this function:

◆ SignBlockHeader()

void catapult::model::SignBlockHeader ( const crypto::KeyPair signer,
Block block 
)

Signs block header as signer.

Note
All header data is assumed to be present and valid.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ StitchBlock()

std::unique_ptr< Block > catapult::model::StitchBlock ( const BlockHeader blockHeader,
const Transactions transactions 
)

Creates a new block by stitching together blockHeader and transactions.

Here is the caller graph for this function:

◆ StringToAddress()

Address catapult::model::StringToAddress ( const std::string &  str)

Creates an address from an encoded address (encoded).

Here is the caller graph for this function:

◆ ToBasicEntityType()

constexpr BasicEntityType catapult::model::ToBasicEntityType ( EntityType  type)
constexpr

Converts an entity type into a basic entity type.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TryParseValue() [1/2]

bool catapult::model::TryParseValue ( const std::string &  networkName,
NetworkIdentifier networkIdentifier 
)

Tries to parse networkName into a network identifier (networkIdentifier).

Here is the call graph for this function:

◆ TryParseValue() [2/2]

bool catapult::model::TryParseValue ( const std::string &  strategyName,
TransactionSelectionStrategy strategy 
)

Tries to parse strategyName into a transaction selection strategy.

Here is the call graph for this function:

◆ UpdateHashes()

void catapult::model::UpdateHashes ( const TransactionRegistry transactionRegistry,
const GenerationHash generationHash,
TransactionElement transactionElement 
)

Calculates the hashes for transactionElement in place for the network with the specified generation hash (generationHash) using transaction information from transactionRegistry.

Here is the call graph for this function:

◆ VerifyBlockHeaderSignature()

bool catapult::model::VerifyBlockHeaderSignature ( const Block block)

Validates signature of block header.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ Checksum_Size

const uint8_t catapult::model::Checksum_Size = 4

◆ First_Optional_Property

constexpr size_t catapult::model::First_Optional_Property = utils::to_underlying_type(MosaicPropertyId::Duration)
constexpr

Index of first optional property.

◆ Num_Mosaic_Properties

constexpr size_t catapult::model::Num_Mosaic_Properties = utils::to_underlying_type(MosaicPropertyId::Sentinel_Property_Id)
constexpr

Number of available properties.