@unicitylabs/nostr-js-sdk 0.2.5 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,20 @@ import { Event } from '../protocol/Event.js';
6
6
  import * as EventKinds from '../protocol/EventKinds.js';
7
7
  /** Prefix for payment request messages */
8
8
  const MESSAGE_PREFIX = 'payment_request:';
9
+ /** Prefix for payment request response messages */
10
+ const RESPONSE_PREFIX = 'payment_request_response:';
11
+ /** Default deadline duration: 5 minutes in milliseconds */
12
+ export const DEFAULT_DEADLINE_MS = 5 * 60 * 1000;
13
+ /**
14
+ * Payment request response status.
15
+ */
16
+ export var ResponseStatus;
17
+ (function (ResponseStatus) {
18
+ /** Payment request was declined by the recipient */
19
+ ResponseStatus["DECLINED"] = "DECLINED";
20
+ /** Payment request expired (deadline passed) */
21
+ ResponseStatus["EXPIRED"] = "EXPIRED";
22
+ })(ResponseStatus || (ResponseStatus = {}));
9
23
  /**
10
24
  * Generate a short unique request ID.
11
25
  */
@@ -46,6 +60,13 @@ function generateRequestId() {
46
60
  export async function createPaymentRequestEvent(keyManager, targetPubkeyHex, request) {
47
61
  // Generate request ID if not provided
48
62
  const requestId = request.requestId || generateRequestId();
63
+ // Calculate deadline: use provided value, or default to 5 minutes from now
64
+ // If explicitly set to null, no deadline
65
+ const deadline = request.deadline === null
66
+ ? null
67
+ : request.deadline !== undefined
68
+ ? request.deadline
69
+ : Date.now() + DEFAULT_DEADLINE_MS;
49
70
  // Serialize request to JSON
50
71
  const requestJson = JSON.stringify({
51
72
  amount: String(request.amount), // Convert to string for JSON compatibility with bigint
@@ -53,6 +74,7 @@ export async function createPaymentRequestEvent(keyManager, targetPubkeyHex, req
53
74
  message: request.message,
54
75
  recipientNametag: request.recipientNametag,
55
76
  requestId: requestId,
77
+ deadline: deadline,
56
78
  });
57
79
  // Add prefix and encrypt
58
80
  const message = MESSAGE_PREFIX + requestJson;
@@ -124,6 +146,7 @@ export async function parsePaymentRequest(event, keyManager) {
124
146
  senderPubkey: event.pubkey,
125
147
  timestamp: event.created_at * 1000, // Convert to milliseconds
126
148
  eventId: event.id,
149
+ deadline: parsed.deadline !== undefined ? parsed.deadline : null,
127
150
  };
128
151
  }
129
152
  /**
@@ -221,4 +244,143 @@ export function parseAmount(amountStr, decimals = 8) {
221
244
  const fractionalPart = BigInt(fractionalStr);
222
245
  return wholePart * multiplier + fractionalPart;
223
246
  }
247
+ // ============================================================================
248
+ // Payment Request Response Functions
249
+ // ============================================================================
250
+ /**
251
+ * Check if a parsed payment request has expired.
252
+ * @param request Parsed payment request
253
+ * @returns true if the request has a deadline and it has passed
254
+ */
255
+ export function isExpired(request) {
256
+ return request.deadline !== null && Date.now() > request.deadline;
257
+ }
258
+ /**
259
+ * Get remaining time until deadline in milliseconds.
260
+ * @param request Parsed payment request
261
+ * @returns Remaining time in ms, 0 if expired, null if no deadline
262
+ */
263
+ export function getRemainingTimeMs(request) {
264
+ if (request.deadline === null)
265
+ return null;
266
+ const remaining = request.deadline - Date.now();
267
+ return remaining > 0 ? remaining : 0;
268
+ }
269
+ /**
270
+ * Create a payment request response event (for decline/expiration).
271
+ *
272
+ * Event structure:
273
+ * - Kind: 31116 (PAYMENT_REQUEST_RESPONSE)
274
+ * - Tags:
275
+ * - ["p", "<target_pubkey_hex>"] - Original requester
276
+ * - ["type", "payment_request_response"]
277
+ * - ["status", "DECLINED" | "EXPIRED"]
278
+ * - ["e", "<original_event_id>", "", "reply"] - Reference to original request
279
+ * - Content: NIP-04 encrypted response JSON
280
+ *
281
+ * @param keyManager Key manager with signing keys
282
+ * @param targetPubkeyHex Original requester's public key
283
+ * @param response Response details
284
+ * @returns Signed event
285
+ */
286
+ export async function createPaymentRequestResponseEvent(keyManager, targetPubkeyHex, response) {
287
+ // Serialize response to JSON
288
+ const responseJson = JSON.stringify({
289
+ requestId: response.requestId,
290
+ originalEventId: response.originalEventId,
291
+ status: response.status,
292
+ reason: response.reason,
293
+ });
294
+ // Add prefix and encrypt
295
+ const message = RESPONSE_PREFIX + responseJson;
296
+ const encryptedContent = await keyManager.encryptHex(message, targetPubkeyHex);
297
+ // Build tags
298
+ const tags = [
299
+ ['p', targetPubkeyHex],
300
+ ['type', 'payment_request_response'],
301
+ ['status', response.status],
302
+ ];
303
+ // Add reference to original event
304
+ if (response.originalEventId) {
305
+ tags.push(['e', response.originalEventId, '', 'reply']);
306
+ }
307
+ const event = Event.create(keyManager, {
308
+ kind: EventKinds.PAYMENT_REQUEST_RESPONSE,
309
+ tags,
310
+ content: encryptedContent,
311
+ });
312
+ return event;
313
+ }
314
+ /**
315
+ * Parse a payment request response event.
316
+ * Decrypts and parses the response data.
317
+ *
318
+ * @param event Payment request response event
319
+ * @param keyManager Key manager for decryption
320
+ * @returns Parsed payment request response
321
+ * @throws Error if the event is not a valid payment request response
322
+ */
323
+ export async function parsePaymentRequestResponse(event, keyManager) {
324
+ // Verify event kind
325
+ if (event.kind !== EventKinds.PAYMENT_REQUEST_RESPONSE) {
326
+ throw new Error('Event is not a payment request response');
327
+ }
328
+ // Determine the peer's public key for decryption
329
+ let peerPubkeyHex;
330
+ if (keyManager.isMyPublicKey(event.pubkey)) {
331
+ // We sent this response, decrypt with target's key
332
+ const targetPubkey = event.getTagValue('p');
333
+ if (!targetPubkey) {
334
+ throw new Error('No target found in event');
335
+ }
336
+ peerPubkeyHex = targetPubkey;
337
+ }
338
+ else {
339
+ // We received this response, decrypt with sender's key
340
+ peerPubkeyHex = event.pubkey;
341
+ }
342
+ // Decrypt the content
343
+ const decrypted = await keyManager.decryptHex(event.content, peerPubkeyHex);
344
+ // Validate prefix
345
+ if (!decrypted.startsWith(RESPONSE_PREFIX)) {
346
+ throw new Error('Invalid payment request response format: missing prefix');
347
+ }
348
+ // Parse JSON
349
+ const responseJson = decrypted.slice(RESPONSE_PREFIX.length);
350
+ const parsed = JSON.parse(responseJson);
351
+ return {
352
+ requestId: parsed.requestId,
353
+ originalEventId: parsed.originalEventId,
354
+ status: parsed.status,
355
+ reason: parsed.reason,
356
+ senderPubkey: event.pubkey,
357
+ eventId: event.id,
358
+ timestamp: event.created_at * 1000,
359
+ };
360
+ }
361
+ /**
362
+ * Check if an event is a payment request response.
363
+ * @param event Event to check
364
+ * @returns true if the event is a payment request response
365
+ */
366
+ export function isPaymentRequestResponse(event) {
367
+ return (event.kind === EventKinds.PAYMENT_REQUEST_RESPONSE &&
368
+ event.getTagValue('type') === 'payment_request_response');
369
+ }
370
+ /**
371
+ * Get the response status from a payment request response event (from unencrypted tag).
372
+ * @param event Payment request response event
373
+ * @returns Status string, or undefined if not found
374
+ */
375
+ export function getResponseStatus(event) {
376
+ return event.getTagValue('status');
377
+ }
378
+ /**
379
+ * Get the referenced original event ID from the response event.
380
+ * @param event Payment request response event
381
+ * @returns Original event ID, or undefined if not found
382
+ */
383
+ export function getOriginalEventId(event) {
384
+ return event.getTagValue('e');
385
+ }
224
386
  //# sourceMappingURL=PaymentRequestProtocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentRequestProtocol.js","sourceRoot":"","sources":["../../../src/payment/PaymentRequestProtocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PaymentRequestProtocol.js","sourceRoot":"","sources":["../../../src/payment/PaymentRequestProtocol.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,8 @@ export const TOKEN_TRANSFER = 31113;
44
44
  export const FILE_METADATA = 31114;
45
45
  /** Unicity: Payment request */
46
46
  export const PAYMENT_REQUEST = 31115;
47
+ /** Unicity: Payment request response (accept/decline) */
48
+ export const PAYMENT_REQUEST_RESPONSE = 31116;
47
49
  // ============================================================================
48
50
  // Event Kind Classification Functions
49
51
  // ============================================================================
@@ -119,6 +121,8 @@ export function getName(kind) {
119
121
  return 'File Metadata';
120
122
  case PAYMENT_REQUEST:
121
123
  return 'Payment Request';
124
+ case PAYMENT_REQUEST_RESPONSE:
125
+ return 'Payment Request Response';
122
126
  default:
123
127
  if (isReplaceable(kind)) {
124
128
  return `Replaceable (${kind})`;
@@ -1 +1 @@
1
- {"version":3,"file":"EventKinds.js","sourceRoot":"","sources":["../../../src/protocol/EventKinds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventKinds.js","sourceRoot":"","sources":["../../../src/protocol/EventKinds.ts"],"names":[],"mappings":"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"}
@@ -197,7 +197,30 @@ export declare class NostrClient {
197
197
  message?: string;
198
198
  recipientNametag: string;
199
199
  requestId?: string;
200
+ deadline?: number | null;
200
201
  }): Promise<string>;
202
+ /**
203
+ * Send a payment request response (decline/expiration notification).
204
+ * @param targetPubkeyHex Original requester's public key
205
+ * @param response Response details
206
+ * @returns Promise that resolves with the event ID
207
+ */
208
+ sendPaymentRequestResponse(targetPubkeyHex: string, response: {
209
+ requestId: string;
210
+ originalEventId: string;
211
+ status: 'DECLINED' | 'EXPIRED';
212
+ reason?: string;
213
+ }): Promise<string>;
214
+ /**
215
+ * Send a payment request decline response.
216
+ * Convenience method for declining a payment request.
217
+ * @param originalRequestSenderPubkey Pubkey of who sent the original payment request
218
+ * @param originalEventId Event ID of the original payment request
219
+ * @param requestId Request ID from the original payment request
220
+ * @param reason Optional reason for declining
221
+ * @returns Promise that resolves with the event ID
222
+ */
223
+ sendPaymentRequestDecline(originalRequestSenderPubkey: string, originalEventId: string, requestId: string, reason?: string): Promise<string>;
201
224
  /**
202
225
  * Publish a nametag binding.
203
226
  * @param nametagId Nametag identifier
@@ -1 +1 @@
1
- {"version":3,"file":"NostrClient.d.ts","sourceRoot":"","sources":["../../../src/client/NostrClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAS7D,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAWnF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,8EAA8E;IAC9E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qFAAqF;IACrF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,oDAAoD;IACpD,SAAS,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,6CAA6C;IAC7C,YAAY,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,kDAAkD;IAClD,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,wCAAwC;IACxC,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AA4CD;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,aAAa,CAA4C;IACjE,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,mBAAmB,CAAiC;IAE5D;;;;OAIG;gBACS,UAAU,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,kBAAkB;IASrE;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI;IAI9D;;;OAGG;IACH,wBAAwB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI;IAOjE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;OAGG;IACH,aAAa,IAAI,eAAe;IAIhC;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIxC;;;;OAIG;IACG,OAAO,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASpD;;;OAGG;YACW,cAAc;IAiG5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAqDtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,UAAU,IAAI,IAAI;IAsClB;;;OAGG;IACH,WAAW,IAAI,OAAO;IAOtB;;;OAGG;IACH,kBAAkB,IAAI,GAAG,CAAC,MAAM,CAAC;IAUjC;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBjD;;OAEG;YACW,cAAc;IA2B5B;;;;;OAKG;IACG,uBAAuB,CAC3B,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAelB;;;;;;OAMG;IACG,iBAAiB,CACrB,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GACA,OAAO,CAAC,MAAM,CAAC;IAWlB;;;;;OAKG;IACG,kBAAkB,CACtB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,gBAAgB,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GACA,OAAO,CAAC,MAAM,CAAC;IAUlB;;;;;OAKG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC;IAgBnB;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,MAAM;IAC/D;;;;;;OAMG;IACH,SAAS,CACP,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,kBAAkB,GAC3B,MAAM;IAiCT;;;OAGG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAczC;;;;OAIG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA8BrE;;;;OAIG;IACG,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAOrE;;;;;;OAMG;IACG,kBAAkB,CACtB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,MAAM,CAAC;IAUlB;;;;;;;OAOG;IACG,2BAA2B,CAC/B,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,MAAM,CAAC;IAQlB;;;;;OAKG;IACG,eAAe,CACnB,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC;IASlB;;;;OAIG;IACH,oBAAoB,CAAC,QAAQ,EAAE,KAAK,GAAG,cAAc;CAGtD"}
1
+ {"version":3,"file":"NostrClient.d.ts","sourceRoot":"","sources":["../../../src/client/NostrClient.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,17 @@
4
4
  */
5
5
  import { NostrKeyManager } from '../NostrKeyManager.js';
6
6
  import { Event } from '../protocol/Event.js';
7
+ /** Default deadline duration: 5 minutes in milliseconds */
8
+ export declare const DEFAULT_DEADLINE_MS: number;
9
+ /**
10
+ * Payment request response status.
11
+ */
12
+ export declare enum ResponseStatus {
13
+ /** Payment request was declined by the recipient */
14
+ DECLINED = "DECLINED",
15
+ /** Payment request expired (deadline passed) */
16
+ EXPIRED = "EXPIRED"
17
+ }
7
18
  /**
8
19
  * Payment request data structure.
9
20
  */
@@ -18,6 +29,21 @@ export interface PaymentRequest {
18
29
  recipientNametag: string;
19
30
  /** Unique request ID for tracking (auto-generated if not provided) */
20
31
  requestId?: string;
32
+ /** Deadline timestamp in milliseconds (Unix epoch). Null/undefined means default deadline (5 min). */
33
+ deadline?: number | null;
34
+ }
35
+ /**
36
+ * Payment request response data structure.
37
+ */
38
+ export interface PaymentRequestResponse {
39
+ /** The original request ID being responded to */
40
+ requestId: string;
41
+ /** The original event ID being responded to */
42
+ originalEventId: string;
43
+ /** Response status (DECLINED, EXPIRED) */
44
+ status: ResponseStatus;
45
+ /** Optional reason for decline/expiration */
46
+ reason?: string;
21
47
  }
22
48
  /**
23
49
  * Parsed payment request from an event.
@@ -39,6 +65,27 @@ export interface ParsedPaymentRequest {
39
65
  timestamp: number;
40
66
  /** Original event ID */
41
67
  eventId: string;
68
+ /** Deadline timestamp in milliseconds, null if no deadline */
69
+ deadline: number | null;
70
+ }
71
+ /**
72
+ * Parsed payment request response from an event.
73
+ */
74
+ export interface ParsedPaymentRequestResponse {
75
+ /** The original request ID */
76
+ requestId: string;
77
+ /** The original event ID */
78
+ originalEventId: string;
79
+ /** Response status */
80
+ status: ResponseStatus;
81
+ /** Optional reason */
82
+ reason?: string;
83
+ /** Sender's public key (who sent the response) */
84
+ senderPubkey: string;
85
+ /** Response event ID */
86
+ eventId: string;
87
+ /** Event timestamp */
88
+ timestamp: number;
42
89
  }
43
90
  /**
44
91
  * Create a payment request event.
@@ -112,4 +159,62 @@ export declare function formatAmount(amount: bigint | number, decimals?: number)
112
159
  * @returns Amount in smallest units
113
160
  */
114
161
  export declare function parseAmount(amountStr: string, decimals?: number): bigint;
162
+ /**
163
+ * Check if a parsed payment request has expired.
164
+ * @param request Parsed payment request
165
+ * @returns true if the request has a deadline and it has passed
166
+ */
167
+ export declare function isExpired(request: ParsedPaymentRequest): boolean;
168
+ /**
169
+ * Get remaining time until deadline in milliseconds.
170
+ * @param request Parsed payment request
171
+ * @returns Remaining time in ms, 0 if expired, null if no deadline
172
+ */
173
+ export declare function getRemainingTimeMs(request: ParsedPaymentRequest): number | null;
174
+ /**
175
+ * Create a payment request response event (for decline/expiration).
176
+ *
177
+ * Event structure:
178
+ * - Kind: 31116 (PAYMENT_REQUEST_RESPONSE)
179
+ * - Tags:
180
+ * - ["p", "<target_pubkey_hex>"] - Original requester
181
+ * - ["type", "payment_request_response"]
182
+ * - ["status", "DECLINED" | "EXPIRED"]
183
+ * - ["e", "<original_event_id>", "", "reply"] - Reference to original request
184
+ * - Content: NIP-04 encrypted response JSON
185
+ *
186
+ * @param keyManager Key manager with signing keys
187
+ * @param targetPubkeyHex Original requester's public key
188
+ * @param response Response details
189
+ * @returns Signed event
190
+ */
191
+ export declare function createPaymentRequestResponseEvent(keyManager: NostrKeyManager, targetPubkeyHex: string, response: PaymentRequestResponse): Promise<Event>;
192
+ /**
193
+ * Parse a payment request response event.
194
+ * Decrypts and parses the response data.
195
+ *
196
+ * @param event Payment request response event
197
+ * @param keyManager Key manager for decryption
198
+ * @returns Parsed payment request response
199
+ * @throws Error if the event is not a valid payment request response
200
+ */
201
+ export declare function parsePaymentRequestResponse(event: Event, keyManager: NostrKeyManager): Promise<ParsedPaymentRequestResponse>;
202
+ /**
203
+ * Check if an event is a payment request response.
204
+ * @param event Event to check
205
+ * @returns true if the event is a payment request response
206
+ */
207
+ export declare function isPaymentRequestResponse(event: Event): boolean;
208
+ /**
209
+ * Get the response status from a payment request response event (from unencrypted tag).
210
+ * @param event Payment request response event
211
+ * @returns Status string, or undefined if not found
212
+ */
213
+ export declare function getResponseStatus(event: Event): string | undefined;
214
+ /**
215
+ * Get the referenced original event ID from the response event.
216
+ * @param event Payment request response event
217
+ * @returns Original event ID, or undefined if not found
218
+ */
219
+ export declare function getOriginalEventId(event: Event): string | undefined;
115
220
  //# sourceMappingURL=PaymentRequestProtocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentRequestProtocol.d.ts","sourceRoot":"","sources":["../../../src/payment/PaymentRequestProtocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAM7C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,gBAAgB,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAsBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,eAAe,EAC3B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,KAAK,CAAC,CAmChB;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CAgD/B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAKtD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAU1D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAiBlF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAsB3E"}
1
+ {"version":3,"file":"PaymentRequestProtocol.d.ts","sourceRoot":"","sources":["../../../src/payment/PaymentRequestProtocol.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,8 @@ export declare const TOKEN_TRANSFER = 31113;
38
38
  export declare const FILE_METADATA = 31114;
39
39
  /** Unicity: Payment request */
40
40
  export declare const PAYMENT_REQUEST = 31115;
41
+ /** Unicity: Payment request response (accept/decline) */
42
+ export declare const PAYMENT_REQUEST_RESPONSE = 31116;
41
43
  /**
42
44
  * Check if an event kind is replaceable.
43
45
  * Replaceable events (kinds 0, 3, or 10000-19999) are replaced when a new
@@ -1 +1 @@
1
- {"version":3,"file":"EventKinds.d.ts","sourceRoot":"","sources":["../../../src/protocol/EventKinds.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,oCAAoC;AACpC,eAAO,MAAM,OAAO,IAAI,CAAC;AAEzB,8BAA8B;AAC9B,eAAO,MAAM,SAAS,IAAI,CAAC;AAE3B,2CAA2C;AAC3C,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,qCAAqC;AACrC,eAAO,MAAM,QAAQ,IAAI,CAAC;AAE1B,wCAAwC;AACxC,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,6BAA6B;AAC7B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAE1B,6CAA6C;AAC7C,eAAO,MAAM,IAAI,KAAK,CAAC;AAEvB,kEAAkE;AAClE,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,wCAAwC;AACxC,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,sCAAsC;AACtC,eAAO,MAAM,QAAQ,IAAI,CAAC;AAE1B,2CAA2C;AAC3C,eAAO,MAAM,SAAS,OAAO,CAAC;AAE9B,kCAAkC;AAClC,eAAO,MAAM,UAAU,QAAQ,CAAC;AAEhC,oEAAoE;AACpE,eAAO,MAAM,QAAQ,QAAQ,CAAC;AAM9B,yCAAyC;AACzC,eAAO,MAAM,aAAa,QAAQ,CAAC;AAEnC,kCAAkC;AAClC,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC,oCAAoC;AACpC,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC,6BAA6B;AAC7B,eAAO,MAAM,aAAa,QAAQ,CAAC;AAEnC,+BAA+B;AAC/B,eAAO,MAAM,eAAe,QAAQ,CAAC;AAMrC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkD5C"}
1
+ {"version":3,"file":"EventKinds.d.ts","sourceRoot":"","sources":["../../../src/protocol/EventKinds.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,oCAAoC;AACpC,eAAO,MAAM,OAAO,IAAI,CAAC;AAEzB,8BAA8B;AAC9B,eAAO,MAAM,SAAS,IAAI,CAAC;AAE3B,2CAA2C;AAC3C,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,qCAAqC;AACrC,eAAO,MAAM,QAAQ,IAAI,CAAC;AAE1B,wCAAwC;AACxC,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,6BAA6B;AAC7B,eAAO,MAAM,QAAQ,IAAI,CAAC;AAE1B,6CAA6C;AAC7C,eAAO,MAAM,IAAI,KAAK,CAAC;AAEvB,kEAAkE;AAClE,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,wCAAwC;AACxC,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,sCAAsC;AACtC,eAAO,MAAM,QAAQ,IAAI,CAAC;AAE1B,2CAA2C;AAC3C,eAAO,MAAM,SAAS,OAAO,CAAC;AAE9B,kCAAkC;AAClC,eAAO,MAAM,UAAU,QAAQ,CAAC;AAEhC,oEAAoE;AACpE,eAAO,MAAM,QAAQ,QAAQ,CAAC;AAM9B,yCAAyC;AACzC,eAAO,MAAM,aAAa,QAAQ,CAAC;AAEnC,kCAAkC;AAClC,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC,oCAAoC;AACpC,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC,6BAA6B;AAC7B,eAAO,MAAM,aAAa,QAAQ,CAAC;AAEnC,+BAA+B;AAC/B,eAAO,MAAM,eAAe,QAAQ,CAAC;AAErC,yDAAyD;AACzD,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAM9C;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoD5C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unicitylabs/nostr-js-sdk",
3
- "version": "0.2.5",
3
+ "version": "0.3.0",
4
4
  "description": "Unicity Nostr SDK - Token transfers and nametag bindings over Nostr protocol",
5
5
  "license": "MIT",
6
6
  "author": "Unicity Labs",