getNip51RelaySets method
Future<List<Nip51Set> ?>
getNip51RelaySets(
- int kind,
- EventSigner signer, {
- bool forceRefresh = false,
Implementation
Future<List<Nip51Set>?> getNip51RelaySets(int kind, EventSigner signer,
{bool forceRefresh = false}) async {
Nip51Set? relaySet;//getCachedNip51RelaySets(signer);
if (relaySet==null || forceRefresh) {
Map<String,Nip51Set> newRelaySets = {};
await for (final event in (await requestRelays(bootstrapRelays.toList(),
Filter(
authors: [signer.getPublicKey()],
kinds: [kind],
), timeout: 5)).stream) {
if (event.getDtag()!=null) {
Nip51Set? newRelaySet = newRelaySets[event.getDtag()];
if (newRelaySet == null ||
newRelaySet.createdAt < event.createdAt) {
if (event.getDtag() != null) {
newRelaySet = await Nip51Set.fromEvent(event, signer);
}
if (newRelaySet!=null) {
await cacheManager.saveEvent(event);
newRelaySets[newRelaySet.name] = newRelaySet;
}
}
}
}
return newRelaySets.values.toList();
}
return [];
}