broadcastAddNip65Relay method
Future<UserRelayList>
broadcastAddNip65Relay(
- String relayUrl,
- ReadWriteMarker marker,
- Iterable<
String> broadcastRelays, - EventSigner signer,
Implementation
Future<UserRelayList> broadcastAddNip65Relay(String relayUrl,
ReadWriteMarker marker,
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);
}
userRelayList.relays[relayUrl] = marker;
await Future.wait([
broadcastEvent(
userRelayList.toNip65().toEvent(), broadcastRelays, signer),
cacheManager.saveUserRelayList(userRelayList)
]);
return userRelayList;
}