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