CatapultServer  v0.5.0.1 (Elephant)
MongoAccountRestrictionCacheStorage.h
Go to the documentation of this file.
1 
21 #pragma once
23 
24 namespace catapult { namespace mongo { namespace plugins {
25 
27  DECLARE_MONGO_CACHE_STORAGE(AccountRestriction);
28 }}}
catapult::cache::FindDescendants
size_t FindDescendants(const MultisigCacheTypes::CacheReadOnlyType &cache, const Key &key, utils::KeySet &descendantKeys)
Definition: MultisigCacheUtils.cpp:60
Id_Property_Name
static constexpr auto Id_Property_Name
Definition: MongoAccountRestrictionCacheStorage.cpp:33
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;})
m_multisigAccountKey
const Key & m_multisigAccountKey
Definition: ModifyMultisigCosignersObserver.cpp:74
catapult::cache::SynchronizedCache< BasicMultisigCache >::CacheReadOnlyType
typename BasicMultisigCache ::CacheReadOnlyType CacheReadOnlyType
Definition: SynchronizedCache.h:207
CacheStorageInclude.h
AccountRestrictionCache.h
Validators.h
m_multisigIter
cache::MultisigCacheDelta::iterator m_multisigIter
Definition: ModifyMultisigCosignersObserver.cpp:75
catapult::cache::FindAncestors
size_t FindAncestors(const MultisigCacheTypes::CacheReadOnlyType &cache, const Key &key, utils::KeySet &ancestorKeys)
Definition: MultisigCacheUtils.cpp:56
catapult::validators::ValidatorContext::Cache
const cache::ReadOnlyCatapultCache & Cache
Catapult cache.
Definition: ValidatorContext.h:62
m_maxMultisigDepth
uint8_t m_maxMultisigDepth
Definition: ModifyMultisigLoopAndLevelValidator.cpp:59
RegisterMongoSubsystem
PLUGIN_API void RegisterMongoSubsystem(catapult::mongo::MongoPluginManager &manager)
Entry point for registering a dynamic module with manager.
Definition: MongoAccountLinkPlugin.cpp:25
ValidatorContext.h
Observers.h
RawBuffer.h
catapult::validators::ValidationResult
ValidationResult
Enumeration of all possible validation results.
Definition: ValidationResult.h:51
catapult::validators::Notification
model::AccountAddressNotification Notification
Definition: AddressValidator.cpp:27
catapult::mongo::plugins::CreateAccountLinkTransactionMongoPlugin
PLUGIN_API std::unique_ptr< MongoTransactionPlugin > CreateAccountLinkTransactionMongoPlugin()
Creates a mongo accoult link transaction plugin.
MultisigCache.h
catapult::observers::DEFINE_OBSERVER
DEFINE_OBSERVER(AccountAddress, model::AccountAddressNotification, [](const auto &notification, const auto &context) { DefaultAccountVisitor visitor(context);visitor.visit(notification.Address);})
catapult::cache::ReadOnlyCatapultCache::sub
const TCache::CacheReadOnlyType & sub() const
Gets a specific sub cache read-only view.
Definition: ReadOnlyCatapultCache.h:35
m_multisigEntry
state::MultisigEntry & m_multisigEntry
Definition: ModifyMultisigCosignersObserver.cpp:76
Collection_Name
static constexpr auto Collection_Name
Definition: MongoAccountRestrictionCacheStorage.cpp:32
MAKE_STATEFUL_VALIDATOR
#define MAKE_STATEFUL_VALIDATOR(NAME, HANDLER)
Definition: ValidatorTypes.h:123
catapult::cache::MultisigCache
Synchronized cache composed of multisig information.
Definition: MultisigCache.h:33
catapult::mongo::MongoPluginManager::addTransactionSupport
void addTransactionSupport(std::unique_ptr< MongoTransactionPlugin > &&pTransactionPlugin)
Adds support for a transaction described by pTransactionPlugin.
Definition: MongoPluginManager.h:53
catapult::validators::DECLARE_STATEFUL_VALIDATOR
DECLARE_STATEFUL_VALIDATOR(Address, Notification)(model
Definition: AddressValidator.cpp:29
AccountLinkMapper.h
catapult::observers::Notification
model::TransactionNotification Notification
Definition: CompletedAggregateObserver.cpp:29
AccountRestrictionsMapper.h
catapult::validators::ValidatorContext
Contextual information passed to stateful validators.
Definition: ValidatorContext.h:32
catapult::model::CosignatoryModificationType
CosignatoryModificationType
Cosignatory modification type.
Definition: ModifyMultisigAccountTransaction.h:30
PLUGIN_API
#define PLUGIN_API
Definition: plugins.h:30
catapult::mongo::MongoPluginManager
A manager for registering mongo plugins.
Definition: MongoPluginManager.h:32
m_multisigCache
cache::MultisigCacheDelta & m_multisigCache
Definition: ModifyMultisigCosignersObserver.cpp:73
Functional.h
MultisigCacheUtils.h
catapult::utils::KeySet
ArraySet< Key > KeySet
A key set.
Definition: ArraySet.h:64
MongoPluginManager.h
DEFINE_MONGO_FLAT_CACHE_STORAGE
#define DEFINE_MONGO_FLAT_CACHE_STORAGE(NAME, TRAITS_NAME)
Defines a mongo flat cache storage with NAME using TRAITS_NAME.
Definition: extensions/mongo/src/CacheStorageInclude.h:41
catapult::model::NetworkIdentifier
NetworkIdentifier
Possible network identifiers.
Definition: NetworkInfo.h:45
catapult::mongo::plugins::ToDbModel
bsoncxx::document::value ToDbModel(const state::HashLockInfo &hashLockInfo, const Address &accountAddress)
Maps a hashLockInfo and accountAddress to the corresponding db model value.
Definition: HashLockInfoMapper.cpp:40
catapult::validators::ValidationResult::Success
Validation succeeded.
ArraySet.h
catapult::utils::KeyPointerSet
ArrayPointerSet< Key > KeyPointerSet
A key pointer set.
Definition: ArraySet.h:73
catapult
Definition: AddressExtractionExtension.cpp:28
catapult::model::AccountAddressNotification
Notification of use of an account address.
Definition: Notifications.h:57
Hashers.h
catapult::mongo::mappers::ToBinary
bsoncxx::types::b_binary ToBinary(const uint8_t *pData, size_t size)
Converts raw array (pData) of size elements into bson binary type.
Definition: MapperUtils.cpp:30
MongoCacheStorage.h
m_multisigCache
const cache::MultisigCache::CacheReadOnlyType & m_multisigCache
Definition: ModifyMultisigLoopAndLevelValidator.cpp:58
catapult::validators::DEFINE_STATELESS_VALIDATOR
DEFINE_STATELESS_VALIDATOR(TransactionFee, [](const auto &notification) { if(notification.Fee > notification.MaxFee) return Failure_Core_Invalid_Transaction_Fee;constexpr auto Max_Raw_Block_Fee_Multiplier=static_cast< uint64_t >(std::numeric_limits< BlockFeeMultiplier::ValueType >::max());return notification.MaxFee.unwrap() > Max_Raw_Block_Fee_Multiplier *notification.TransactionSize ? Failure_Core_Invalid_Transaction_Fee :ValidationResult::Success;})
catapult::cache::MutableAccessorMixin::iterator
detail::CacheFindIterator< TCacheDescriptor, TValueAdapter, SetIteratorType, ValueType > iterator
Find (mutable) iterator.
Definition: CacheMixins.h:230
catapult::model::CosignatoryModificationType::Del
Remove cosignatory.
catapult::Key
utils::ByteArray< Key_Size, Key_tag > Key
Definition: src/catapult/types.h:41
MongoAccountRestrictionCacheStorage.h
catapult::model::CosignatoryModificationType::Add
Add cosignatory.
catapult::mongo::plugins::DECLARE_MONGO_CACHE_STORAGE
DECLARE_MONGO_CACHE_STORAGE(HashLockInfo)
Creates a mongo hash lock info cache storage around database, bulkWriter and networkIdentifier.