CatapultServer  v0.5.0.1 (Elephant)
catapult::model::TransactionPlugin Class Referenceabstract

A transaction plugin. More...

Inheritance diagram for catapult::model::TransactionPlugin:
Collaboration diagram for catapult::model::TransactionPlugin:

Public Member Functions

virtual void publish (const WeakEntityInfoT< Transaction > &transactionInfo, NotificationSubscriber &sub) const =0
 Sends all notifications from transactionInfo to sub. More...
 
virtual RawBuffer dataBuffer (const Transaction &transaction) const =0
 Extracts the primary data buffer from transaction that is used for signing and basic hashing. More...
 
virtual std::vector< RawBuffer > merkleSupplementaryBuffers (const Transaction &transaction) const =0
 
virtual bool supportsTopLevel () const =0
 true if this transaction type supports being embedded directly in blocks. More...
 
virtual bool supportsEmbedding () const =0
 true if this transaction type supports being embedded in other transactions. More...
 
virtual const EmbeddedTransactionPluginembeddedPlugin () const =0
 Gets the corresponding embedded plugin if supportsEmbedding() is true. More...
 
- Public Member Functions inherited from catapult::model::TransactionPluginT< Transaction >
virtual ~TransactionPluginT ()=default
 
virtual EntityType type () const=0
 Gets the transaction entity type. More...
 
virtual TransactionAttributes attributes () const=0
 Gets transaction dependent attributes. More...
 
virtual uint64_t calculateRealSize (const Transaction &transaction) const=0
 Calculates the real size of transaction. More...
 

Detailed Description

A transaction plugin.

Member Function Documentation

◆ dataBuffer()

virtual RawBuffer catapult::model::TransactionPlugin::dataBuffer ( const Transaction transaction) const
pure virtual

Extracts the primary data buffer from transaction that is used for signing and basic hashing.

Implemented in catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >.

◆ embeddedPlugin()

virtual const EmbeddedTransactionPlugin& catapult::model::TransactionPlugin::embeddedPlugin ( ) const
pure virtual

◆ merkleSupplementaryBuffers()

virtual std::vector<RawBuffer> catapult::model::TransactionPlugin::merkleSupplementaryBuffers ( const Transaction transaction) const
pure virtual

Extracts additional buffers from transaction that should be included in the merkle hash in addition to the primary data buffer.

Implemented in catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >.

Here is the caller graph for this function:

◆ publish()

virtual void catapult::model::TransactionPlugin::publish ( const WeakEntityInfoT< Transaction > &  transactionInfo,
NotificationSubscriber sub 
) const
pure virtual

◆ supportsEmbedding()

virtual bool catapult::model::TransactionPlugin::supportsEmbedding ( ) const
pure virtual

true if this transaction type supports being embedded in other transactions.

Implemented in catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >.

◆ supportsTopLevel()

virtual bool catapult::model::TransactionPlugin::supportsTopLevel ( ) const
pure virtual

true if this transaction type supports being embedded directly in blocks.

Implemented in catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >.


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