broadcastAddNip51ListElement method
Implementation
Future<Nip51List> broadcastAddNip51ListElement(int kind, String tag, String value,
Iterable<String> broadcastRelays,
EventSigner signer,
{bool private=false}
) async {
if (private && !signer.canSign()) {
throw Exception("cannot broadcast private nip51 list without a signer that can sign");
}
Nip51List? list = await getSingleNip51List(kind, signer, forceRefresh: true, timeout: 2);
list ??= Nip51List(
kind: kind,
pubKey: signer.getPublicKey(),
createdAt: Helpers.now,
elements: []
);
list.addElement(tag, value, private);
list.createdAt = Helpers.now;
Nip01Event event = await list.toEvent(signer);
print(event);
await Future.wait([
broadcastEvent(
event, broadcastRelays, signer),
]);
List<Nip01Event>? events = cacheManager.loadEvents(pubKeys: [signer.getPublicKey()], kinds: [kind]);
for (var event in events) { cacheManager.removeEvent(event.id); }
await cacheManager.saveEvent(event);
return list;
}