@unicitylabs/nostr-js-sdk 0.2.5 → 0.3.1
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.
- package/README.md +2 -0
- package/dist/browser/index.js +253 -2
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/index.min.js +7 -7
- package/dist/browser/index.min.js.map +1 -1
- package/dist/browser/index.umd.js +254 -1
- package/dist/browser/index.umd.js.map +1 -1
- package/dist/browser/index.umd.min.js +7 -7
- package/dist/browser/index.umd.min.js.map +1 -1
- package/dist/cjs/client/NostrClient.js +72 -0
- package/dist/cjs/client/NostrClient.js.map +1 -1
- package/dist/cjs/payment/PaymentRequestProtocol.js +170 -0
- package/dist/cjs/payment/PaymentRequestProtocol.js.map +1 -1
- package/dist/cjs/protocol/EventKinds.js +7 -1
- package/dist/cjs/protocol/EventKinds.js.map +1 -1
- package/dist/esm/client/NostrClient.js +72 -0
- package/dist/esm/client/NostrClient.js.map +1 -1
- package/dist/esm/payment/PaymentRequestProtocol.js +162 -0
- package/dist/esm/payment/PaymentRequestProtocol.js.map +1 -1
- package/dist/esm/protocol/EventKinds.js +6 -0
- package/dist/esm/protocol/EventKinds.js.map +1 -1
- package/dist/types/client/NostrClient.d.ts +27 -0
- package/dist/types/client/NostrClient.d.ts.map +1 -1
- package/dist/types/payment/PaymentRequestProtocol.d.ts +105 -0
- package/dist/types/payment/PaymentRequestProtocol.d.ts.map +1 -1
- package/dist/types/protocol/EventKinds.d.ts +4 -0
- package/dist/types/protocol/EventKinds.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -49,6 +49,13 @@ const DEFAULT_QUERY_TIMEOUT_MS = 5000;
|
|
|
49
49
|
const DEFAULT_RECONNECT_INTERVAL_MS = 1000;
|
|
50
50
|
const DEFAULT_MAX_RECONNECT_INTERVAL_MS = 30000;
|
|
51
51
|
const DEFAULT_PING_INTERVAL_MS = 30000;
|
|
52
|
+
/**
|
|
53
|
+
* Delay before resubscribing after NIP-42 authentication.
|
|
54
|
+
* This gives the relay time to process the AUTH response before we send
|
|
55
|
+
* subscription requests. Without this delay, some relays may still reject
|
|
56
|
+
* the subscriptions as the AUTH hasn't been fully processed yet.
|
|
57
|
+
*/
|
|
58
|
+
const AUTH_RESUBSCRIBE_DELAY_MS = 100;
|
|
52
59
|
/**
|
|
53
60
|
* NostrClient provides the main interface for Nostr protocol operations.
|
|
54
61
|
*/
|
|
@@ -393,6 +400,9 @@ class NostrClient {
|
|
|
393
400
|
case 'CLOSED':
|
|
394
401
|
this.handleClosedMessage(json);
|
|
395
402
|
break;
|
|
403
|
+
case 'AUTH':
|
|
404
|
+
this.handleAuthMessage(_url, json);
|
|
405
|
+
break;
|
|
396
406
|
}
|
|
397
407
|
}
|
|
398
408
|
catch {
|
|
@@ -473,6 +483,33 @@ class NostrClient {
|
|
|
473
483
|
subscription.listener.onError(subscriptionId, `Subscription closed: ${message}`);
|
|
474
484
|
}
|
|
475
485
|
}
|
|
486
|
+
/**
|
|
487
|
+
* Handle AUTH message from relay (NIP-42 authentication challenge).
|
|
488
|
+
*/
|
|
489
|
+
handleAuthMessage(relayUrl, json) {
|
|
490
|
+
if (json.length < 2)
|
|
491
|
+
return;
|
|
492
|
+
const challenge = json[1];
|
|
493
|
+
const relay = this.relays.get(relayUrl);
|
|
494
|
+
if (!relay?.socket || !relay.connected)
|
|
495
|
+
return;
|
|
496
|
+
// Create and sign the auth event (kind 22242)
|
|
497
|
+
const authEvent = Event_js_1.Event.create(this.keyManager, {
|
|
498
|
+
kind: EventKinds.AUTH,
|
|
499
|
+
tags: [
|
|
500
|
+
['relay', relayUrl],
|
|
501
|
+
['challenge', challenge],
|
|
502
|
+
],
|
|
503
|
+
content: '',
|
|
504
|
+
});
|
|
505
|
+
// Send AUTH response
|
|
506
|
+
const message = JSON.stringify(['AUTH', authEvent.toJSON()]);
|
|
507
|
+
relay.socket.send(message);
|
|
508
|
+
// Re-send subscriptions after auth (relay may have ignored pre-auth requests)
|
|
509
|
+
setTimeout(() => {
|
|
510
|
+
this.resubscribeAll(relayUrl);
|
|
511
|
+
}, AUTH_RESUBSCRIBE_DELAY_MS);
|
|
512
|
+
}
|
|
476
513
|
/**
|
|
477
514
|
* Disconnect from all relays.
|
|
478
515
|
*/
|
|
@@ -619,6 +656,41 @@ class NostrClient {
|
|
|
619
656
|
const event = await PaymentRequestProtocol.createPaymentRequestEvent(this.keyManager, targetPubkeyHex, request);
|
|
620
657
|
return this.publishEvent(event);
|
|
621
658
|
}
|
|
659
|
+
/**
|
|
660
|
+
* Send a payment request response (decline/expiration notification).
|
|
661
|
+
* @param targetPubkeyHex Original requester's public key
|
|
662
|
+
* @param response Response details
|
|
663
|
+
* @returns Promise that resolves with the event ID
|
|
664
|
+
*/
|
|
665
|
+
async sendPaymentRequestResponse(targetPubkeyHex, response) {
|
|
666
|
+
const PaymentRequestProtocol = await Promise.resolve().then(() => __importStar(require('../payment/PaymentRequestProtocol.js')));
|
|
667
|
+
const event = await PaymentRequestProtocol.createPaymentRequestResponseEvent(this.keyManager, targetPubkeyHex, {
|
|
668
|
+
requestId: response.requestId,
|
|
669
|
+
originalEventId: response.originalEventId,
|
|
670
|
+
status: response.status === 'DECLINED'
|
|
671
|
+
? PaymentRequestProtocol.ResponseStatus.DECLINED
|
|
672
|
+
: PaymentRequestProtocol.ResponseStatus.EXPIRED,
|
|
673
|
+
reason: response.reason,
|
|
674
|
+
});
|
|
675
|
+
return this.publishEvent(event);
|
|
676
|
+
}
|
|
677
|
+
/**
|
|
678
|
+
* Send a payment request decline response.
|
|
679
|
+
* Convenience method for declining a payment request.
|
|
680
|
+
* @param originalRequestSenderPubkey Pubkey of who sent the original payment request
|
|
681
|
+
* @param originalEventId Event ID of the original payment request
|
|
682
|
+
* @param requestId Request ID from the original payment request
|
|
683
|
+
* @param reason Optional reason for declining
|
|
684
|
+
* @returns Promise that resolves with the event ID
|
|
685
|
+
*/
|
|
686
|
+
async sendPaymentRequestDecline(originalRequestSenderPubkey, originalEventId, requestId, reason) {
|
|
687
|
+
return this.sendPaymentRequestResponse(originalRequestSenderPubkey, {
|
|
688
|
+
requestId,
|
|
689
|
+
originalEventId,
|
|
690
|
+
status: 'DECLINED',
|
|
691
|
+
reason,
|
|
692
|
+
});
|
|
693
|
+
}
|
|
622
694
|
/**
|
|
623
695
|
* Publish a nametag binding.
|
|
624
696
|
* @param nametagId Nametag identifier
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NostrClient.js","sourceRoot":"","sources":["../../../src/client/NostrClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NostrClient.js","sourceRoot":"","sources":["../../../src/client/NostrClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
37
37
|
};
|
|
38
38
|
})();
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.ResponseStatus = exports.DEFAULT_DEADLINE_MS = void 0;
|
|
40
41
|
exports.createPaymentRequestEvent = createPaymentRequestEvent;
|
|
41
42
|
exports.parsePaymentRequest = parsePaymentRequest;
|
|
42
43
|
exports.isPaymentRequest = isPaymentRequest;
|
|
@@ -46,10 +47,31 @@ exports.getTarget = getTarget;
|
|
|
46
47
|
exports.getSender = getSender;
|
|
47
48
|
exports.formatAmount = formatAmount;
|
|
48
49
|
exports.parseAmount = parseAmount;
|
|
50
|
+
exports.isExpired = isExpired;
|
|
51
|
+
exports.getRemainingTimeMs = getRemainingTimeMs;
|
|
52
|
+
exports.createPaymentRequestResponseEvent = createPaymentRequestResponseEvent;
|
|
53
|
+
exports.parsePaymentRequestResponse = parsePaymentRequestResponse;
|
|
54
|
+
exports.isPaymentRequestResponse = isPaymentRequestResponse;
|
|
55
|
+
exports.getResponseStatus = getResponseStatus;
|
|
56
|
+
exports.getOriginalEventId = getOriginalEventId;
|
|
49
57
|
const Event_js_1 = require("../protocol/Event.js");
|
|
50
58
|
const EventKinds = __importStar(require("../protocol/EventKinds.js"));
|
|
51
59
|
/** Prefix for payment request messages */
|
|
52
60
|
const MESSAGE_PREFIX = 'payment_request:';
|
|
61
|
+
/** Prefix for payment request response messages */
|
|
62
|
+
const RESPONSE_PREFIX = 'payment_request_response:';
|
|
63
|
+
/** Default deadline duration: 5 minutes in milliseconds */
|
|
64
|
+
exports.DEFAULT_DEADLINE_MS = 5 * 60 * 1000;
|
|
65
|
+
/**
|
|
66
|
+
* Payment request response status.
|
|
67
|
+
*/
|
|
68
|
+
var ResponseStatus;
|
|
69
|
+
(function (ResponseStatus) {
|
|
70
|
+
/** Payment request was declined by the recipient */
|
|
71
|
+
ResponseStatus["DECLINED"] = "DECLINED";
|
|
72
|
+
/** Payment request expired (deadline passed) */
|
|
73
|
+
ResponseStatus["EXPIRED"] = "EXPIRED";
|
|
74
|
+
})(ResponseStatus || (exports.ResponseStatus = ResponseStatus = {}));
|
|
53
75
|
/**
|
|
54
76
|
* Generate a short unique request ID.
|
|
55
77
|
*/
|
|
@@ -90,6 +112,13 @@ function generateRequestId() {
|
|
|
90
112
|
async function createPaymentRequestEvent(keyManager, targetPubkeyHex, request) {
|
|
91
113
|
// Generate request ID if not provided
|
|
92
114
|
const requestId = request.requestId || generateRequestId();
|
|
115
|
+
// Calculate deadline: use provided value, or default to 5 minutes from now
|
|
116
|
+
// If explicitly set to null, no deadline
|
|
117
|
+
const deadline = request.deadline === null
|
|
118
|
+
? null
|
|
119
|
+
: request.deadline !== undefined
|
|
120
|
+
? request.deadline
|
|
121
|
+
: Date.now() + exports.DEFAULT_DEADLINE_MS;
|
|
93
122
|
// Serialize request to JSON
|
|
94
123
|
const requestJson = JSON.stringify({
|
|
95
124
|
amount: String(request.amount), // Convert to string for JSON compatibility with bigint
|
|
@@ -97,6 +126,7 @@ async function createPaymentRequestEvent(keyManager, targetPubkeyHex, request) {
|
|
|
97
126
|
message: request.message,
|
|
98
127
|
recipientNametag: request.recipientNametag,
|
|
99
128
|
requestId: requestId,
|
|
129
|
+
deadline: deadline,
|
|
100
130
|
});
|
|
101
131
|
// Add prefix and encrypt
|
|
102
132
|
const message = MESSAGE_PREFIX + requestJson;
|
|
@@ -168,6 +198,7 @@ async function parsePaymentRequest(event, keyManager) {
|
|
|
168
198
|
senderPubkey: event.pubkey,
|
|
169
199
|
timestamp: event.created_at * 1000, // Convert to milliseconds
|
|
170
200
|
eventId: event.id,
|
|
201
|
+
deadline: parsed.deadline !== undefined ? parsed.deadline : null,
|
|
171
202
|
};
|
|
172
203
|
}
|
|
173
204
|
/**
|
|
@@ -265,4 +296,143 @@ function parseAmount(amountStr, decimals = 8) {
|
|
|
265
296
|
const fractionalPart = BigInt(fractionalStr);
|
|
266
297
|
return wholePart * multiplier + fractionalPart;
|
|
267
298
|
}
|
|
299
|
+
// ============================================================================
|
|
300
|
+
// Payment Request Response Functions
|
|
301
|
+
// ============================================================================
|
|
302
|
+
/**
|
|
303
|
+
* Check if a parsed payment request has expired.
|
|
304
|
+
* @param request Parsed payment request
|
|
305
|
+
* @returns true if the request has a deadline and it has passed
|
|
306
|
+
*/
|
|
307
|
+
function isExpired(request) {
|
|
308
|
+
return request.deadline !== null && Date.now() > request.deadline;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Get remaining time until deadline in milliseconds.
|
|
312
|
+
* @param request Parsed payment request
|
|
313
|
+
* @returns Remaining time in ms, 0 if expired, null if no deadline
|
|
314
|
+
*/
|
|
315
|
+
function getRemainingTimeMs(request) {
|
|
316
|
+
if (request.deadline === null)
|
|
317
|
+
return null;
|
|
318
|
+
const remaining = request.deadline - Date.now();
|
|
319
|
+
return remaining > 0 ? remaining : 0;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Create a payment request response event (for decline/expiration).
|
|
323
|
+
*
|
|
324
|
+
* Event structure:
|
|
325
|
+
* - Kind: 31116 (PAYMENT_REQUEST_RESPONSE)
|
|
326
|
+
* - Tags:
|
|
327
|
+
* - ["p", "<target_pubkey_hex>"] - Original requester
|
|
328
|
+
* - ["type", "payment_request_response"]
|
|
329
|
+
* - ["status", "DECLINED" | "EXPIRED"]
|
|
330
|
+
* - ["e", "<original_event_id>", "", "reply"] - Reference to original request
|
|
331
|
+
* - Content: NIP-04 encrypted response JSON
|
|
332
|
+
*
|
|
333
|
+
* @param keyManager Key manager with signing keys
|
|
334
|
+
* @param targetPubkeyHex Original requester's public key
|
|
335
|
+
* @param response Response details
|
|
336
|
+
* @returns Signed event
|
|
337
|
+
*/
|
|
338
|
+
async function createPaymentRequestResponseEvent(keyManager, targetPubkeyHex, response) {
|
|
339
|
+
// Serialize response to JSON
|
|
340
|
+
const responseJson = JSON.stringify({
|
|
341
|
+
requestId: response.requestId,
|
|
342
|
+
originalEventId: response.originalEventId,
|
|
343
|
+
status: response.status,
|
|
344
|
+
reason: response.reason,
|
|
345
|
+
});
|
|
346
|
+
// Add prefix and encrypt
|
|
347
|
+
const message = RESPONSE_PREFIX + responseJson;
|
|
348
|
+
const encryptedContent = await keyManager.encryptHex(message, targetPubkeyHex);
|
|
349
|
+
// Build tags
|
|
350
|
+
const tags = [
|
|
351
|
+
['p', targetPubkeyHex],
|
|
352
|
+
['type', 'payment_request_response'],
|
|
353
|
+
['status', response.status],
|
|
354
|
+
];
|
|
355
|
+
// Add reference to original event
|
|
356
|
+
if (response.originalEventId) {
|
|
357
|
+
tags.push(['e', response.originalEventId, '', 'reply']);
|
|
358
|
+
}
|
|
359
|
+
const event = Event_js_1.Event.create(keyManager, {
|
|
360
|
+
kind: EventKinds.PAYMENT_REQUEST_RESPONSE,
|
|
361
|
+
tags,
|
|
362
|
+
content: encryptedContent,
|
|
363
|
+
});
|
|
364
|
+
return event;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Parse a payment request response event.
|
|
368
|
+
* Decrypts and parses the response data.
|
|
369
|
+
*
|
|
370
|
+
* @param event Payment request response event
|
|
371
|
+
* @param keyManager Key manager for decryption
|
|
372
|
+
* @returns Parsed payment request response
|
|
373
|
+
* @throws Error if the event is not a valid payment request response
|
|
374
|
+
*/
|
|
375
|
+
async function parsePaymentRequestResponse(event, keyManager) {
|
|
376
|
+
// Verify event kind
|
|
377
|
+
if (event.kind !== EventKinds.PAYMENT_REQUEST_RESPONSE) {
|
|
378
|
+
throw new Error('Event is not a payment request response');
|
|
379
|
+
}
|
|
380
|
+
// Determine the peer's public key for decryption
|
|
381
|
+
let peerPubkeyHex;
|
|
382
|
+
if (keyManager.isMyPublicKey(event.pubkey)) {
|
|
383
|
+
// We sent this response, decrypt with target's key
|
|
384
|
+
const targetPubkey = event.getTagValue('p');
|
|
385
|
+
if (!targetPubkey) {
|
|
386
|
+
throw new Error('No target found in event');
|
|
387
|
+
}
|
|
388
|
+
peerPubkeyHex = targetPubkey;
|
|
389
|
+
}
|
|
390
|
+
else {
|
|
391
|
+
// We received this response, decrypt with sender's key
|
|
392
|
+
peerPubkeyHex = event.pubkey;
|
|
393
|
+
}
|
|
394
|
+
// Decrypt the content
|
|
395
|
+
const decrypted = await keyManager.decryptHex(event.content, peerPubkeyHex);
|
|
396
|
+
// Validate prefix
|
|
397
|
+
if (!decrypted.startsWith(RESPONSE_PREFIX)) {
|
|
398
|
+
throw new Error('Invalid payment request response format: missing prefix');
|
|
399
|
+
}
|
|
400
|
+
// Parse JSON
|
|
401
|
+
const responseJson = decrypted.slice(RESPONSE_PREFIX.length);
|
|
402
|
+
const parsed = JSON.parse(responseJson);
|
|
403
|
+
return {
|
|
404
|
+
requestId: parsed.requestId,
|
|
405
|
+
originalEventId: parsed.originalEventId,
|
|
406
|
+
status: parsed.status,
|
|
407
|
+
reason: parsed.reason,
|
|
408
|
+
senderPubkey: event.pubkey,
|
|
409
|
+
eventId: event.id,
|
|
410
|
+
timestamp: event.created_at * 1000,
|
|
411
|
+
};
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Check if an event is a payment request response.
|
|
415
|
+
* @param event Event to check
|
|
416
|
+
* @returns true if the event is a payment request response
|
|
417
|
+
*/
|
|
418
|
+
function isPaymentRequestResponse(event) {
|
|
419
|
+
return (event.kind === EventKinds.PAYMENT_REQUEST_RESPONSE &&
|
|
420
|
+
event.getTagValue('type') === 'payment_request_response');
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Get the response status from a payment request response event (from unencrypted tag).
|
|
424
|
+
* @param event Payment request response event
|
|
425
|
+
* @returns Status string, or undefined if not found
|
|
426
|
+
*/
|
|
427
|
+
function getResponseStatus(event) {
|
|
428
|
+
return event.getTagValue('status');
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Get the referenced original event ID from the response event.
|
|
432
|
+
* @param event Payment request response event
|
|
433
|
+
* @returns Original event ID, or undefined if not found
|
|
434
|
+
*/
|
|
435
|
+
function getOriginalEventId(event) {
|
|
436
|
+
return event.getTagValue('e');
|
|
437
|
+
}
|
|
268
438
|
//# sourceMappingURL=PaymentRequestProtocol.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentRequestProtocol.js","sourceRoot":"","sources":["../../../src/payment/PaymentRequestProtocol.ts"],"names":[],"mappings":";AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"PaymentRequestProtocol.js","sourceRoot":"","sources":["../../../src/payment/PaymentRequestProtocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Includes both standard NIP kinds and Unicity custom kinds.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.PAYMENT_REQUEST = exports.FILE_METADATA = exports.TOKEN_TRANSFER = exports.AGENT_LOCATION = exports.AGENT_PROFILE = exports.APP_DATA = exports.RELAY_LIST = exports.GIFT_WRAP = exports.REACTION = exports.READ_RECEIPT = exports.CHAT_MESSAGE = exports.SEAL = exports.DELETION = exports.ENCRYPTED_DM = exports.CONTACTS = exports.RECOMMEND_RELAY = exports.TEXT_NOTE = exports.PROFILE = void 0;
|
|
7
|
+
exports.PAYMENT_REQUEST_RESPONSE = exports.PAYMENT_REQUEST = exports.FILE_METADATA = exports.TOKEN_TRANSFER = exports.AGENT_LOCATION = exports.AGENT_PROFILE = exports.APP_DATA = exports.AUTH = exports.RELAY_LIST = exports.GIFT_WRAP = exports.REACTION = exports.READ_RECEIPT = exports.CHAT_MESSAGE = exports.SEAL = exports.DELETION = exports.ENCRYPTED_DM = exports.CONTACTS = exports.RECOMMEND_RELAY = exports.TEXT_NOTE = exports.PROFILE = void 0;
|
|
8
8
|
exports.isReplaceable = isReplaceable;
|
|
9
9
|
exports.isEphemeral = isEphemeral;
|
|
10
10
|
exports.isParameterizedReplaceable = isParameterizedReplaceable;
|
|
@@ -36,6 +36,8 @@ exports.REACTION = 7;
|
|
|
36
36
|
exports.GIFT_WRAP = 1059;
|
|
37
37
|
/** NIP-65: Relay list metadata */
|
|
38
38
|
exports.RELAY_LIST = 10002;
|
|
39
|
+
/** NIP-42: Client authentication to relay */
|
|
40
|
+
exports.AUTH = 22242;
|
|
39
41
|
/** NIP-78: Application-specific data (parameterized replaceable) */
|
|
40
42
|
exports.APP_DATA = 30078;
|
|
41
43
|
// ============================================================================
|
|
@@ -51,6 +53,8 @@ exports.TOKEN_TRANSFER = 31113;
|
|
|
51
53
|
exports.FILE_METADATA = 31114;
|
|
52
54
|
/** Unicity: Payment request */
|
|
53
55
|
exports.PAYMENT_REQUEST = 31115;
|
|
56
|
+
/** Unicity: Payment request response (accept/decline) */
|
|
57
|
+
exports.PAYMENT_REQUEST_RESPONSE = 31116;
|
|
54
58
|
// ============================================================================
|
|
55
59
|
// Event Kind Classification Functions
|
|
56
60
|
// ============================================================================
|
|
@@ -126,6 +130,8 @@ function getName(kind) {
|
|
|
126
130
|
return 'File Metadata';
|
|
127
131
|
case exports.PAYMENT_REQUEST:
|
|
128
132
|
return 'Payment Request';
|
|
133
|
+
case exports.PAYMENT_REQUEST_RESPONSE:
|
|
134
|
+
return 'Payment Request Response';
|
|
129
135
|
default:
|
|
130
136
|
if (isReplaceable(kind)) {
|
|
131
137
|
return `Replaceable (${kind})`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventKinds.js","sourceRoot":"","sources":["../../../src/protocol/EventKinds.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"EventKinds.js","sourceRoot":"","sources":["../../../src/protocol/EventKinds.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,13 @@ const DEFAULT_QUERY_TIMEOUT_MS = 5000;
|
|
|
13
13
|
const DEFAULT_RECONNECT_INTERVAL_MS = 1000;
|
|
14
14
|
const DEFAULT_MAX_RECONNECT_INTERVAL_MS = 30000;
|
|
15
15
|
const DEFAULT_PING_INTERVAL_MS = 30000;
|
|
16
|
+
/**
|
|
17
|
+
* Delay before resubscribing after NIP-42 authentication.
|
|
18
|
+
* This gives the relay time to process the AUTH response before we send
|
|
19
|
+
* subscription requests. Without this delay, some relays may still reject
|
|
20
|
+
* the subscriptions as the AUTH hasn't been fully processed yet.
|
|
21
|
+
*/
|
|
22
|
+
const AUTH_RESUBSCRIBE_DELAY_MS = 100;
|
|
16
23
|
/**
|
|
17
24
|
* NostrClient provides the main interface for Nostr protocol operations.
|
|
18
25
|
*/
|
|
@@ -357,6 +364,9 @@ export class NostrClient {
|
|
|
357
364
|
case 'CLOSED':
|
|
358
365
|
this.handleClosedMessage(json);
|
|
359
366
|
break;
|
|
367
|
+
case 'AUTH':
|
|
368
|
+
this.handleAuthMessage(_url, json);
|
|
369
|
+
break;
|
|
360
370
|
}
|
|
361
371
|
}
|
|
362
372
|
catch {
|
|
@@ -437,6 +447,33 @@ export class NostrClient {
|
|
|
437
447
|
subscription.listener.onError(subscriptionId, `Subscription closed: ${message}`);
|
|
438
448
|
}
|
|
439
449
|
}
|
|
450
|
+
/**
|
|
451
|
+
* Handle AUTH message from relay (NIP-42 authentication challenge).
|
|
452
|
+
*/
|
|
453
|
+
handleAuthMessage(relayUrl, json) {
|
|
454
|
+
if (json.length < 2)
|
|
455
|
+
return;
|
|
456
|
+
const challenge = json[1];
|
|
457
|
+
const relay = this.relays.get(relayUrl);
|
|
458
|
+
if (!relay?.socket || !relay.connected)
|
|
459
|
+
return;
|
|
460
|
+
// Create and sign the auth event (kind 22242)
|
|
461
|
+
const authEvent = Event.create(this.keyManager, {
|
|
462
|
+
kind: EventKinds.AUTH,
|
|
463
|
+
tags: [
|
|
464
|
+
['relay', relayUrl],
|
|
465
|
+
['challenge', challenge],
|
|
466
|
+
],
|
|
467
|
+
content: '',
|
|
468
|
+
});
|
|
469
|
+
// Send AUTH response
|
|
470
|
+
const message = JSON.stringify(['AUTH', authEvent.toJSON()]);
|
|
471
|
+
relay.socket.send(message);
|
|
472
|
+
// Re-send subscriptions after auth (relay may have ignored pre-auth requests)
|
|
473
|
+
setTimeout(() => {
|
|
474
|
+
this.resubscribeAll(relayUrl);
|
|
475
|
+
}, AUTH_RESUBSCRIBE_DELAY_MS);
|
|
476
|
+
}
|
|
440
477
|
/**
|
|
441
478
|
* Disconnect from all relays.
|
|
442
479
|
*/
|
|
@@ -583,6 +620,41 @@ export class NostrClient {
|
|
|
583
620
|
const event = await PaymentRequestProtocol.createPaymentRequestEvent(this.keyManager, targetPubkeyHex, request);
|
|
584
621
|
return this.publishEvent(event);
|
|
585
622
|
}
|
|
623
|
+
/**
|
|
624
|
+
* Send a payment request response (decline/expiration notification).
|
|
625
|
+
* @param targetPubkeyHex Original requester's public key
|
|
626
|
+
* @param response Response details
|
|
627
|
+
* @returns Promise that resolves with the event ID
|
|
628
|
+
*/
|
|
629
|
+
async sendPaymentRequestResponse(targetPubkeyHex, response) {
|
|
630
|
+
const PaymentRequestProtocol = await import('../payment/PaymentRequestProtocol.js');
|
|
631
|
+
const event = await PaymentRequestProtocol.createPaymentRequestResponseEvent(this.keyManager, targetPubkeyHex, {
|
|
632
|
+
requestId: response.requestId,
|
|
633
|
+
originalEventId: response.originalEventId,
|
|
634
|
+
status: response.status === 'DECLINED'
|
|
635
|
+
? PaymentRequestProtocol.ResponseStatus.DECLINED
|
|
636
|
+
: PaymentRequestProtocol.ResponseStatus.EXPIRED,
|
|
637
|
+
reason: response.reason,
|
|
638
|
+
});
|
|
639
|
+
return this.publishEvent(event);
|
|
640
|
+
}
|
|
641
|
+
/**
|
|
642
|
+
* Send a payment request decline response.
|
|
643
|
+
* Convenience method for declining a payment request.
|
|
644
|
+
* @param originalRequestSenderPubkey Pubkey of who sent the original payment request
|
|
645
|
+
* @param originalEventId Event ID of the original payment request
|
|
646
|
+
* @param requestId Request ID from the original payment request
|
|
647
|
+
* @param reason Optional reason for declining
|
|
648
|
+
* @returns Promise that resolves with the event ID
|
|
649
|
+
*/
|
|
650
|
+
async sendPaymentRequestDecline(originalRequestSenderPubkey, originalEventId, requestId, reason) {
|
|
651
|
+
return this.sendPaymentRequestResponse(originalRequestSenderPubkey, {
|
|
652
|
+
requestId,
|
|
653
|
+
originalEventId,
|
|
654
|
+
status: 'DECLINED',
|
|
655
|
+
reason,
|
|
656
|
+
});
|
|
657
|
+
}
|
|
586
658
|
/**
|
|
587
659
|
* Publish a nametag binding.
|
|
588
660
|
* @param nametagId Nametag identifier
|