MemCacheManager class

In memory database implementation benefits: very fast drawbacks: does not persist

Implemented types

Constructors

MemCacheManager()

Properties

cashuKeysets Map<String, Set<CahsuKeyset>>
String for mint Url
getter/setter pair
cashuMintInfos Set<CashuMintInfo>
getter/setter pair
cashuProofs Map<String, Set<CashuProof>>
String for mint Url
getter/setter pair
decryptedEventPayloadRecords Map<String, DecryptedEventPayloadRecord>
In memory decrypted payload sidecar storage keyed by "$eventId|$viewerPubKey"
getter/setter pair
eventCacheStateRecords Map<String, EventCacheStateRecord>
In memory derived event-state storage keyed by eventId.
getter/setter pair
eventDeliveryRecords Map<String, EventDeliveryRecord>
In memory event delivery storage keyed by eventId
getter/setter pair
events Map<String, Nip01Event>
In memory storage
getter/setter pair
eventSources Map<String, String>
In memory provenance storage keyed by "$eventId|$relayUrl"
getter/setter pair
filterFetchedRangeRecords Map<String, FilterFetchedRangeRecord>
In memory storage for filter fetched range records Key is filterHash:relayUrl:rangeStart
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
nip05s Map<String, Nip05>
In memory storage indexed by pubKey
getter/setter pair
nip05sByIdentifier Map<String, Nip05>
In memory storage indexed by nip05 identifier
getter/setter pair
relayDeliveryTargets Map<String, RelayDeliveryTarget>
In memory relay delivery target storage keyed by "$eventId|$relayUrl"
getter/setter pair
relaySets Map<String, RelaySet>
In memory storage
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
userRelayLists Map<String, UserRelayList>
In memory storage
getter/setter pair
wallets Set<Wallet>
getter/setter pair

Methods

addEventSource({required String eventId, required String relayUrl}) Future<void>
Adds one provenance relay for a stored event.
override
addEventSources({required String eventId, required Iterable<String> relayUrls}) Future<void>
override
clearAll() Future<void>
Clears all cached data.
override
close() Future<void>
closes the cache manger
used to close the db
override
evict(EvictionPolicy policy) Future<EvictionResult>
Run one eviction pass according to policy.
override
getCashuSecretCounter({required String mintUrl, required String keysetId}) Future<int>
override
getKeysets({String? mintUrl}) Future<List<CahsuKeyset>>
get all keysets if no mintUrl is provided \
override
getMintInfos({List<String>? mintUrls}) Future<List<CashuMintInfo>?>
return all if no mintUrls are provided
override
getProofs({String? mintUrl, String? keysetId, CashuProofState state = CashuProofState.unspend}) Future<List<CashuProof>>
override
loadContactList(String pubKey) Future<ContactList?>
override
loadDecryptedEventPayloadRecord({required String eventId, required String viewerPubKey}) Future<DecryptedEventPayloadRecord?>
override
loadDecryptedEventPayloadRecords({String? eventId, String? viewerPubKey, DecryptedPayloadStatus? status, int? limit}) Future<List<DecryptedEventPayloadRecord>>
override
loadEvent(String id) Future<Nip01Event?>
Loads the raw stored event by id.
override
loadEventDeliveryRecord(String eventId) Future<EventDeliveryRecord?>
override
loadEventDeliveryRecords({EventDeliveryStatus? status, int? limit}) Future<List<EventDeliveryRecord>>
override
loadEvents({List<String>? ids, List<String>? pubKeys, List<int>? kinds, Map<String, List<String>>? tags, int? since, int? until, String? search, int? limit}) Future<List<Nip01Event>>
Load visible events from cache with flexible filtering.
override
loadEventSources(String eventId) Future<List<String>>
override
loadFilterFetchedRangeRecords(String filterHash) Future<List<FilterFetchedRangeRecord>>
Load all fetched range records for a filter hash
override
loadFilterFetchedRangeRecordsByRelay(String filterHash, String relayUrl) Future<List<FilterFetchedRangeRecord>>
Load all fetched range records for a filter hash and relay
override
loadFilterFetchedRangeRecordsByRelayUrl(String relayUrl) Future<List<FilterFetchedRangeRecord>>
Load all fetched range records for a relay (all filters)
override
loadMetadata(String pubKey) Future<Metadata?>
override
loadMetadatas(List<String> pubKeys) Future<List<Metadata?>>
override
loadNip05({String? pubKey, String? identifier}) Future<Nip05?>
override
loadNip05s(List<String> pubKeys) Future<List<Nip05?>>
override
loadRelayDeliveryTarget({required String eventId, required String relayUrl}) Future<RelayDeliveryTarget?>
override
loadRelayDeliveryTargets({String? eventId, String? relayUrl, RelayDeliveryState? state, bool excludeAcked = false, int? limit}) Future<List<RelayDeliveryTarget>>
override
loadRelaySet(String name, String pubKey) Future<RelaySet?>
override
loadUserRelayList(String pubKey) Future<UserRelayList?>
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removeAllContactLists() Future<void>
override
removeAllDecryptedEventPayloadRecords() Future<void>
override
removeAllEventDeliveryRecords() Future<void>
override
removeAllEvents() Future<void>
override
removeAllEventsByPubKey(String pubKey) Future<void>
override
removeAllFilterFetchedRangeRecords() Future<void>
Remove all filter fetched range records
override
removeAllMetadatas() Future<void>
override
removeAllNip05s() Future<void>
override
removeAllRelayDeliveryTargets() Future<void>
override
removeAllRelaySets() Future<void>
override
removeAllUserRelayLists() Future<void>
override
removeContactList(String pubKey) Future<void>
override
removeDecryptedEventPayloadRecord({required String eventId, required String viewerPubKey}) Future<void>
override
removeDecryptedEventPayloadRecords(String eventId) Future<void>
override
removeEvent(String id) Future<void>
override
removeEventDeliveryRecord(String eventId) Future<void>
override
removeEvents({List<String>? ids, List<String>? pubKeys, List<int>? kinds, Map<String, List<String>>? tags, int? since, int? until}) Future<void>
Remove events from cache with flexible filtering.
override
removeEventSources(String eventId) Future<void>
override
removeFilterFetchedRangeRecords(String filterHash) Future<void>
Remove all fetched range records for a filter hash
override
removeFilterFetchedRangeRecordsByFilterAndRelay(String filterHash, String relayUrl) Future<void>
Remove fetched range records for a specific filter hash and relay
override
removeFilterFetchedRangeRecordsByRelay(String relayUrl) Future<void>
Remove all fetched range records for a relay
override
removeMetadata(String pubKey) Future<void>
override
removeMintInfo({required String mintUrl}) Future<void>
override
removeNip05(String pubKey) Future<void>
override
removeProofs({required List<CashuProof> proofs, required String mintUrl}) Future<void>
override
removeRelayDeliveryTarget({required String eventId, required String relayUrl}) Future<void>
override
removeRelayDeliveryTargets(String eventId) Future<void>
override
removeRelaySet(String name, String pubKey) Future<void>
override
removeUserRelayList(String pubKey) Future<void>
override
saveContactList(ContactList contactList) Future<void>
override
saveContactLists(List<ContactList> list) Future<void>
override
saveDecryptedEventPayloadRecord(DecryptedEventPayloadRecord record) Future<void>
Persist one plaintext sidecar for an encrypted event.
override
saveDecryptedEventPayloadRecords(List<DecryptedEventPayloadRecord> records) Future<void>
override
saveEvent(Nip01Event event) Future<void>
override
saveEventDeliveryRecord(EventDeliveryRecord record) Future<void>
Persist aggregate delivery state for one event.
override
saveEventDeliveryRecords(List<EventDeliveryRecord> records) Future<void>
override
saveEvents(List<Nip01Event> events) Future<void>
override
saveFilterFetchedRangeRecord(FilterFetchedRangeRecord record) Future<void>
Save a filter fetched range record
override
saveFilterFetchedRangeRecords(List<FilterFetchedRangeRecord> records) Future<void>
Save multiple filter fetched range records
override
saveKeyset(CahsuKeyset keyset) Future<void>
cashu methods
override
saveMetadata(Metadata metadata) Future<void>
override
saveMetadatas(List<Metadata> list) Future<void>
override
saveMintInfo({required CashuMintInfo mintInfo}) Future<void>
override
saveNip05(Nip05 nip05) Future<void>
override
saveNip05s(List<Nip05> nip05s) Future<void>
override
saveProofs({required List<CashuProof> proofs, required String mintUrl}) Future<void>
override
saveRelayDeliveryTarget(RelayDeliveryTarget target) Future<void>
Persist one relay-specific delivery target.
override
saveRelayDeliveryTargets(List<RelayDeliveryTarget> targets) Future<void>
override
saveRelaySet(RelaySet relaySet) Future<void>
override
saveUserRelayList(UserRelayList userRelayList) Future<void>
Store a precomputed user relay list projection.
override
saveUserRelayLists(List<UserRelayList> userRelayLists) Future<void>
override
searchEvents({List<String>? ids, List<String>? authors, List<int>? kinds, Map<String, List<String>>? tags, int? since, int? until, String? search, int limit = 100}) Future<Iterable<Nip01Event>>
search events
ids - list of event ids
authors - list of authors pubKeys
kinds - list of kinds
tags - map of tags
since - timestamp
until - timestamp
search - search string to match against content
limit - limit of results
returns list of events
override
searchMetadatas(String search, int limit) Future<Iterable<Metadata>>
Search for metadata by name, nip05
override
setCashuSecretCounter({required String mintUrl, required String keysetId, required int counter}) Future<void>
override
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited