From 13254fbe0641796eb40425d0910db2d9fc43645d Mon Sep 17 00:00:00 2001 From: enes Date: Fri, 13 Sep 2024 17:57:50 +0200 Subject: [PATCH] feat: add exportedBy to useSigitMeta --- src/hooks/useSigitMeta.tsx | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/hooks/useSigitMeta.tsx b/src/hooks/useSigitMeta.tsx index 088940e..22a6a6d 100644 --- a/src/hooks/useSigitMeta.tsx +++ b/src/hooks/useSigitMeta.tsx @@ -33,6 +33,10 @@ export interface FlatMeta // Remove pubkey and use submittedBy as `npub1${string}` submittedBy?: `npub1${string}` + // Optional field only present on exported sigits + // Exporting adds user's pubkey + exportedBy?: `npub1${string}` + // Remove created_at and replace with createdAt createdAt?: number @@ -68,6 +72,7 @@ export const useSigitMeta = (meta: Meta): FlatMeta => { const [tags, setTags] = useState() const [createdAt, setCreatedAt] = useState() const [submittedBy, setSubmittedBy] = useState<`npub1${string}`>() // submittedBy, pubkey from nostr event + const [exportedBy, setExportedBy] = useState<`npub1${string}`>() // pubkey from export signature nostr event const [id, setId] = useState() const [sig, setSig] = useState() @@ -99,6 +104,18 @@ export const useSigitMeta = (meta: Meta): FlatMeta => { if (!meta) return ;(async function () { try { + if (meta.exportSignature) { + const exportSignatureEvent = await parseNostrEvent( + meta.exportSignature + ) + if ( + verifyEvent(exportSignatureEvent) && + exportSignatureEvent.pubkey + ) { + setExportedBy(exportSignatureEvent.pubkey as `npub1${string}`) + } + } + const createSignatureEvent = await parseNostrEvent(meta.createSignature) const { kind, tags, created_at, pubkey, id, sig, content } = @@ -265,6 +282,7 @@ export const useSigitMeta = (meta: Meta): FlatMeta => { tags, createdAt, submittedBy, + exportedBy, id, sig, signers,