broadcastRemoveNip65Relay method
Future<UserRelayList?>
broadcastRemoveNip65Relay(
- String relayUrl,
- Iterable<
String> broadcastRelays, - EventSigner signer
Implementation
Future<UserRelayList?> broadcastRemoveNip65Relay(String relayUrl,
Iterable<String> broadcastRelays, EventSigner signer) async {
UserRelayList? userRelayList = await ensureUpToDateUserRelayList(signer);
if (userRelayList == null) {
int now = DateTime
.now()
.millisecondsSinceEpoch ~/ 1000;
userRelayList = UserRelayList(
pubKey: signer.getPublicKey(),
relays: {
for (String url in broadcastRelays) url: ReadWriteMarker.readWrite
},
createdAt: now,
refreshedTimestamp: now);
}
if (userRelayList.relays.keys.contains(relayUrl)) {
userRelayList.relays.remove(relayUrl);
userRelayList.refreshedTimestamp = Helpers.now;
await Future.wait([
broadcastEvent(
userRelayList.toNip65().toEvent(), broadcastRelays, signer),
cacheManager.saveUserRelayList(userRelayList)
]);
}
return userRelayList;
}