CatapultServer
v0.5.0.1 (Elephant)
|
Go to the documentation of this file.
29 struct EmbeddedTransaction;
30 class NotificationSubscriber;
35 namespace catapult {
namespace model {
51 template<
typename TTransaction>
uint8_t MaxVersion
Maximum supported version.
Definition: TransactionPlugin.h:43
virtual uint64_t calculateRealSize(const TTransaction &transaction) const =0
Calculates the real size of transaction.
virtual std::vector< RawBuffer > merkleSupplementaryBuffers(const Transaction &transaction) const =0
virtual bool supportsEmbedding() const =0
true if this transaction type supports being embedded in other transactions.
utils::TimeSpan MaxLifetime
Definition: TransactionPlugin.h:47
A notification subscriber.
Definition: NotificationSubscriber.h:27
virtual TransactionAttributes attributes() const =0
Gets transaction dependent attributes.
virtual void publish(const EmbeddedTransaction &transaction, NotificationSubscriber &sub) const =0
Sends all notifications from transaction to sub.
EntityType
Enumeration of entity types.
Definition: EntityType.h:43
uint8_t MinVersion
Minimum supported version.
Definition: TransactionPlugin.h:40
A typed transaction plugin.
Definition: TransactionPlugin.h:52
virtual void publish(const WeakEntityInfoT< Transaction > &transactionInfo, NotificationSubscriber &sub) const =0
Sends all notifications from transactionInfo to sub.
Represents a time duration.
Definition: TimeSpan.h:30
A registry of transaction plugins.
Definition: TransactionRegistry.h:29
virtual const EmbeddedTransactionPlugin & embeddedPlugin() const =0
Gets the corresponding embedded plugin if supportsEmbedding() is true.
virtual EntityType type() const =0
Gets the transaction entity type.
Wrapper around a strongly typed entity and its associated metadata.
Definition: WeakEntityInfo.h:33
An embedded transaction plugin.
Definition: TransactionPlugin.h:68
virtual RawBuffer dataBuffer(const Transaction &transaction) const =0
Extracts the primary data buffer from transaction that is used for signing and basic hashing.
virtual ~TransactionPluginT()=default
A transaction plugin.
Definition: TransactionPlugin.h:75
virtual bool supportsTopLevel() const =0
true if this transaction type supports being embedded directly in blocks.
Binary layout for an embedded transaction (non-verifiable).
Definition: EmbeddedTransaction.h:38
Transaction dependent attributes.
Definition: TransactionPlugin.h:38
Definition: AddressExtractionExtension.cpp:28
A registry of transaction plugins.
Definition: TransactionPlugin.h:98
BasicRawBuffer< const uint8_t > RawBuffer
A const binary buffer.
Definition: RawBuffer.h:62
Binary layout for a transaction.
Definition: Transaction.h:32