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