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
saveEventIfAbsent(Nip01Event event) → Future<bool>
Stores event only when its id is not already present.
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