CatapultServer  v0.5.0.1 (Elephant)
RegisterNamespaceTransactionPlugin.h
Go to the documentation of this file.
1 
21 #pragma once
22 #include "catapult/plugins.h"
23 #include "catapult/types.h"
24 #include <memory>
25 
26 namespace catapult { namespace model { class TransactionPlugin; } }
27 
28 namespace catapult { namespace plugins {
29 
34 
37 
40 
43 
46 
49  };
50 
53  std::unique_ptr<model::TransactionPlugin> CreateRegisterNamespaceTransactionPlugin(const NamespaceRentalFeeConfiguration& config);
54 }}
catapult::plugins::NamespaceRentalFeeConfiguration::ChildFee
Amount ChildFee
Child namespace rental fee.
Definition: RegisterNamespaceTransactionPlugin.h:45
catapult::model::TransactionPluginFactoryOptions::Default
Transaction supports both top-level and embedding.
catapult::plugins::NamespaceRentalFeeConfiguration
Namespace rental fee configuration.
Definition: RegisterNamespaceTransactionPlugin.h:31
catapult::plugins::NamespaceRentalFeeConfiguration::SinkAddress
UnresolvedAddress SinkAddress
Address of the rental fee sink account.
Definition: RegisterNamespaceTransactionPlugin.h:39
catapult::Namespace_Base_Id
constexpr NamespaceId Namespace_Base_Id(0)
Base id for namespaces.
catapult::model::NotificationSubscriber
A notification subscriber.
Definition: NotificationSubscriber.h:27
catapult::Amount
utils::BaseValue< uint64_t, Amount_tag > Amount
Definition: src/catapult/types.h:76
catapult::validators::Notification
model::AccountAddressNotification Notification
Definition: AddressValidator.cpp:27
NotificationSubscriber.h
catapult::model
Definition: AddressExtractor.h:26
catapult::Eternal_Artifact_Duration
constexpr BlockDuration Eternal_Artifact_Duration(0)
Duration of eternal artifact.
catapult::plugins::CreateRegisterNamespaceTransactionPlugin
PLUGIN_API std::unique_ptr< model::TransactionPlugin > CreateRegisterNamespaceTransactionPlugin(const NamespaceRentalFeeConfiguration &config)
Creates a register namespace transaction plugin given the rental fee configuration (config).
catapult::plugins::NamespaceRentalFeeConfiguration::SinkPublicKey
Key SinkPublicKey
Public key of the rental fee sink account.
Definition: RegisterNamespaceTransactionPlugin.h:33
catapult::utils::BaseValue< uint64_t, UnresolvedMosaicId_tag >
catapult::model::ChildNamespaceNotification
Notification of a child namespace registration.
Definition: NamespaceNotifications.h:145
TransactionPluginFactory.h
catapult::model::NamespaceNotification
Notification of a namespace registration.
Definition: NamespaceNotifications.h:93
catapult::plugins::NamespaceRentalFeeConfiguration::NemesisPublicKey
Key NemesisPublicKey
Public key of the (exempt from fees) nemesis account.
Definition: RegisterNamespaceTransactionPlugin.h:48
catapult::plugins::NamespaceRentalFeeConfiguration::RootFeePerBlock
Amount RootFeePerBlock
Root namespace rental fee per block.
Definition: RegisterNamespaceTransactionPlugin.h:42
plugins.h
RegisterNamespaceTransactionPlugin.h
PLUGIN_API
#define PLUGIN_API
Definition: plugins.h:30
catapult::plugins::NamespaceRentalFeeConfiguration::CurrencyMosaicId
UnresolvedMosaicId CurrencyMosaicId
Currency mosaic id.
Definition: RegisterNamespaceTransactionPlugin.h:36
catapult::validators::BalanceTransferNotification
model::BalanceTransferNotification BalanceTransferNotification
Definition: BalanceValidator.cpp:28
constants.h
RegisterNamespaceTransaction.h
catapult::model::Notification
A basic notification.
Definition: Notifications.h:36
types.h
catapult::model::AccountPublicKeyNotification
Notification of use of an account public key.
Definition: Notifications.h:75
catapult::model::NamespaceNameNotification
Notification of a namespace name.
Definition: NamespaceNotifications.h:55
catapult
Definition: AddressExtractionExtension.cpp:28
catapult::model::NamespaceRentalFeeNotification
Notification of a namespace rental fee.
Definition: NamespaceNotifications.h:175
catapult::utils::ByteArray< Key_Size, Key_tag >
catapult::model::NotificationSubscriber::notify
virtual void notify(const Notification &notification)=0
Notifies the subscriber of notification.
catapult::model::RootNamespaceNotification
Notification of a root namespace registration.
Definition: NamespaceNotifications.h:115
NamespaceNotifications.h
DEFINE_TRANSACTION_PLUGIN_FACTORY_WITH_CONFIG
#define DEFINE_TRANSACTION_PLUGIN_FACTORY_WITH_CONFIG(NAME, OPTIONS, PUBLISH, CONFIG_TYPE)
Defines a transaction plugin factory for NAME transaction with OPTIONS using PUBLISH accepting CONFIG...
Definition: TransactionPluginFactory.h:156