event-service.ts raw
1 import client from '@/services/client.service'
2 import { isReplaceableEvent } from './event'
3 import { tagNameEquals } from './tag'
4 import { Event, nip19 } from 'nostr-tools'
5
6 export function getNoteBech32Id(event: Event) {
7 const hints = client.getEventHints(event.id).slice(0, 2)
8 if (isReplaceableEvent(event.kind)) {
9 const identifier = event.tags.find(tagNameEquals('d'))?.[1] ?? ''
10 return nip19.naddrEncode({ pubkey: event.pubkey, kind: event.kind, identifier, relays: hints })
11 }
12 return nip19.neventEncode({ id: event.id, author: event.pubkey, kind: event.kind, relays: hints })
13 }
14