CatapultServer
v0.5.0.1 (Elephant)
MultisigCacheTypes.h
Go to the documentation of this file.
1
21
#pragma once
22
#include "
src/state/MultisigEntry.h
"
23
#include "
catapult/cache/CacheDescriptorAdapters.h
"
24
#include "
catapult/utils/Hashers.h
"
25
26
namespace
catapult
{
27
namespace
cache {
28
class
BasicMultisigCacheDelta;
29
class
BasicMultisigCacheView;
30
struct
MultisigBaseSetDeltaPointers;
31
struct
MultisigBaseSets;
32
class
MultisigCache;
33
class
MultisigCacheDelta;
34
class
MultisigCacheView;
35
struct
MultisigEntryPrimarySerializer;
36
class
MultisigPatriciaTree;
37
38
template
<
typename
TCache,
typename
TCacheDelta,
typename
TKey,
typename
TGetResult>
39
class
ReadOnlyArtifactCache;
40
}
41
}
42
43
namespace
catapult
{
namespace
cache {
44
46
struct
MultisigCacheDescriptor
{
47
public
:
48
static
constexpr
auto
Name
=
"MultisigCache"
;
49
50
public
:
51
// key value types
52
using
KeyType
=
Key
;
53
using
ValueType
=
state::MultisigEntry
;
54
55
// cache types
56
using
CacheType
=
MultisigCache
;
57
using
CacheDeltaType
=
MultisigCacheDelta
;
58
using
CacheViewType
=
MultisigCacheView
;
59
60
using
Serializer
=
MultisigEntryPrimarySerializer
;
61
using
PatriciaTree
=
MultisigPatriciaTree
;
62
63
public
:
65
static
const
auto
&
GetKeyFromValue
(
const
ValueType
& entry) {
66
return
entry.
key
();
67
}
68
};
69
71
struct
MultisigCacheTypes
{
72
using
PrimaryTypes
=
MutableUnorderedMapAdapter<MultisigCacheDescriptor, utils::ArrayHasher<Key>
>;
73
74
using
CacheReadOnlyType
=
ReadOnlyArtifactCache<BasicMultisigCacheView, BasicMultisigCacheDelta, const Key&, state::MultisigEntry>
;
75
76
using
BaseSetDeltaPointers
=
MultisigBaseSetDeltaPointers
;
77
using
BaseSets
=
MultisigBaseSets
;
78
};
79
}}
catapult::cache::MultisigCacheTypes
Multisig cache types.
Definition:
MultisigCacheTypes.h:71
catapult::cache::MultisigCacheDescriptor::Name
static constexpr auto Name
Definition:
MultisigCacheTypes.h:48
catapult::cache::MultisigBaseSetDeltaPointers
Definition:
MultisigBaseSets.h:45
catapult::cache::MultisigEntryPrimarySerializer
Primary serializer for multisig cache.
Definition:
MultisigCacheSerializers.h:29
catapult::cache::MultisigCacheDescriptor
Describes a multisig cache.
Definition:
MultisigCacheTypes.h:46
catapult::cache::ReadOnlyArtifactCache
A read-only overlay on top of a cache that provides support for contains, get and isActive.
Definition:
MosaicCacheTypes.h:42
catapult::cache::MultisigCache
Synchronized cache composed of multisig information.
Definition:
MultisigCache.h:33
catapult::cache::MultisigBaseSets
Definition:
MultisigBaseSets.h:47
MultisigEntry.h
catapult::cache::MultisigCacheView
View on top of the multisig cache.
Definition:
MultisigCacheView.h:56
catapult::state::MultisigEntry
Multisig entry.
Definition:
MultisigEntry.h:95
catapult::state::MultisigEntry::key
const Key & key() const
Gets the account public key.
Definition:
MultisigEntry.h:103
CacheDescriptorAdapters.h
catapult::cache::MultisigPatriciaTree
Definition:
MultisigBaseSets.h:36
catapult
Definition:
AddressExtractionExtension.cpp:28
Hashers.h
catapult::utils::ByteArray< Key_Size, Key_tag >
catapult::cache::MultisigCacheDelta
Delta on top of the multisig cache.
Definition:
MultisigCacheDelta.h:68
catapult::cache::MultisigCacheDescriptor::GetKeyFromValue
static const auto & GetKeyFromValue(const ValueType &entry)
Gets the key corresponding to entry.
Definition:
MultisigCacheTypes.h:65
catapult::Key
utils::ByteArray< Key_Size, Key_tag > Key
Definition:
src/catapult/types.h:41
catapult::cache::detail::UnorderedMapAdapter
Defines cache types for an unordered map based cache.
Definition:
CacheDescriptorAdapters.h:35
catapult-server
plugins
txes
multisig
src
cache
MultisigCacheTypes.h
Generated by
1.8.16