import { nip19, NostrEvent } from "nostr-tools"; import { isReplaceable } from "./event.js"; export function getSharableEventAddress(event: NostrEvent, relays?: Iterable) { if (isReplaceable(event.kind)) { const d = event.tags.find((t) => t[0] === "d" && t[1])?.[1]; if (!d) return null; return nip19.naddrEncode({ kind: event.kind, identifier: d, pubkey: event.pubkey, relays: relays && Array.from(relays), }); } else { return nip19.neventEncode({ id: event.id, kind: event.kind, relays: relays && Array.from(relays), author: event.pubkey, }); } }