From 6c6121b5040157b4d4213f2a7f34d27383f5c0e5 Mon Sep 17 00:00:00 2001 From: shocknet-justin Date: Sat, 14 Jun 2025 21:28:33 -0400 Subject: [PATCH] event fix? --- src/services/managementManager.ts | 14 +------------- src/services/nostr/handler.ts | 29 +++++++++++++++++++---------- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/src/services/managementManager.ts b/src/services/managementManager.ts index 8ee4fcf2..6d30615e 100644 --- a/src/services/managementManager.ts +++ b/src/services/managementManager.ts @@ -1,13 +1,8 @@ import { getRepository } from "typeorm"; import { User } from "./storage/entity/User"; import { UserOffer } from "./storage/entity/UserOffer"; -import { validateEvent, type Event as BaseNostrEvent } from "nostr-tools"; import { ManagementGrant } from "./storage/entity/ManagementGrant"; -import { NostrSend, NostrSettings } from "./nostr/handler"; - -type NostrEvent = BaseNostrEvent & { - appId: string; -}; +import { NostrEvent, NostrSend, NostrSettings } from "./nostr/handler.js"; export class ManagementManager { private nostrSend: NostrSend; @@ -30,13 +25,6 @@ export class ManagementManager { } const appPubkey = app.publicKey; - // Validate event - const isValid = validateEvent(event); - if (!isValid) { - console.error("Invalid event"); - return; - } - // Check grant const userIdTag = event.tags.find((t: string[]) => t[0] === 'p'); if (!userIdTag) { diff --git a/src/services/nostr/handler.ts b/src/services/nostr/handler.ts index 50496cc7..ce064bc7 100644 --- a/src/services/nostr/handler.ts +++ b/src/services/nostr/handler.ts @@ -26,15 +26,16 @@ export type NostrSettings = { clients: ClientInfo[] maxEventContentLength: number } -export type NostrEvent = { - id: string - pub: string - content: string - appId: string - startAtNano: string - startAtMs: number - kind: number -} +export type NostrEvent = Event & { + /** Identifier of the application as defined in NostrSettings.apps */ + appId: string; + /** High-resolution timer capture when processing began (BigInt serialized as string to keep JSON friendly) */ + startAtNano: string; + /** wall-clock millis when processing began */ + startAtMs: number; + /** Convenience duplicate of the sender pubkey (e.pubkey) kept for backwards-compat */ + pub: string; +}; type SettingsRequest = { type: 'settings' @@ -216,7 +217,15 @@ export default class Handler { return } - this.eventCallback({ id: eventId, content, pub: e.pubkey, appId: app.appId, startAtNano, startAtMs, kind: e.kind }) + const nostrEvent: NostrEvent = { + ...e, + content, + appId: app.appId, + startAtNano, + startAtMs, + pub: e.pubkey, + } + this.eventCallback(nostrEvent) } async Send(initiator: SendInitiator, data: SendData, relays?: string[]) {