CatapultServer
v0.5.0.1 (Elephant)
|
Go to the documentation of this file.
24 namespace catapult {
namespace plugins {
class PluginManager; } }
26 namespace catapult {
namespace plugins {
DEFINE_STATEFUL_VALIDATOR(EligibleHarvester, [](const auto ¬ification, const auto &context) { cache::ImportanceView view(context.Cache.template sub< cache::AccountStateCache >());return view.canHarvest(notification.Signer, context.Height) ? ValidationResult::Success :Failure_Core_Block_Harvester_Ineligible;})
void RegisterMultisigSubsystem(PluginManager &manager)
Registers multisig support with manager.
Definition: MultisigPlugin.cpp:33
A diagnostic counter id.
Definition: DiagnosticCounterId.h:27
void addTransactionSupport(std::unique_ptr< model::TransactionPlugin > &&pTransactionPlugin)
Adds support for a transaction described by pTransactionPlugin.
Definition: PluginManager.cpp:63
stateful::NotificationValidatorPointerT< model::AggregateCosignaturesNotification > CreateMultisigAggregateEligibleCosignersValidator()
const model::BlockChainConfiguration & config() const
Gets the block chain configuration.
Definition: PluginManager.cpp:37
model::AccountAddressNotification Notification
Definition: AddressValidator.cpp:27
Utility class for registering cache-dependent handlers.
Definition: CacheHandlers.h:31
A manager for registering plugins.
Definition: PluginManager.h:51
Synchronized cache composed of multisig information.
Definition: MultisigCache.h:33
cache::CacheConfiguration cacheConfig(const std::string &name) const
Gets the cache configuration for cache with name.
Definition: PluginManager.cpp:49
#define PLUGIN_API
Definition: plugins.h:30
Policy for saving and loading multisig cache data.
Definition: MultisigCacheStorage.h:29
stateless::NotificationValidatorPointerT< model::ModifyMultisigCosignersNotification > CreateModifyMultisigCosignersValidator()
void addCacheSupport(std::unique_ptr< TCache > &&pSubCache)
Adds support for a sub cache described by pSubCache.
Definition: PluginManager.h:113
Central cache holding all sub caches.
Definition: CatapultCache.h:40
stateful::NotificationValidatorPointerT< model::ModifyMultisigCosignersNotification > CreateModifyMultisigMaxCosignersValidator(uint8_t maxCosignersPerAccount)
stateful::NotificationValidatorPointerT< model::ModifyMultisigNewCosignerNotification > CreateModifyMultisigLoopAndLevelValidator(uint8_t maxMultisigDepth)
static constexpr auto Name
Definition: PtSynchronizer.cpp:31
PLUGIN_API void RegisterSubsystem(catapult::plugins::PluginManager &manager)
Entry point for registering a dynamic module with manager.
Definition: MultisigPlugin.cpp:79
stateful::NotificationValidatorPointerT< model::AggregateEmbeddedTransactionNotification > CreateMultisigAggregateSufficientCosignersValidator()
stateful::NotificationValidatorPointerT< model::ModifyMultisigNewCosignerNotification > CreateModifyMultisigMaxCosignedAccountsValidator(uint8_t maxCosignedAccountsPerAccount)
void addDiagnosticCounterHook(const CounterHook &hook)
Adds a diagnostic counter hook.
Definition: PluginManager.cpp:118
const TCache & sub() const
Gets a specific sub cache.
Definition: CatapultCache.h:56
Definition: AddressExtractionExtension.cpp:28
void addObserverHook(const ObserverHook &hook)
Adds an observer hook.
Definition: PluginManager.cpp:164
stateful::NotificationValidatorPointerT< model::ModifyMultisigSettingsNotification > CreateModifyMultisigInvalidSettingsValidator()
stateful::NotificationValidatorPointerT< model::ModifyMultisigCosignersNotification > CreateModifyMultisigInvalidCosignersValidator()
void addStatefulValidatorHook(const StatefulValidatorHook &hook)
Adds a stateful validator hook.
Definition: PluginManager.cpp:138
stateful::NotificationValidatorPointerT< model::TransactionNotification > CreateMultisigPermittedOperationValidator()
void addStatelessValidatorHook(const StatelessValidatorHook &hook)
Adds a stateless validator hook.
Definition: PluginManager.cpp:134
PLUGIN_API std::unique_ptr< model::TransactionPlugin > CreateModifyMultisigAccountTransactionPlugin()
Creates a modify multisig account transaction plugin.