@bsv/message-box-client 2.0.5 → 2.0.7

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.
Files changed (32) hide show
  1. package/dist/cjs/package.json +2 -2
  2. package/dist/cjs/src/PeerPayClient.js +463 -62
  3. package/dist/cjs/src/PeerPayClient.js.map +1 -1
  4. package/dist/cjs/src/__tests/PeerPayClientRequestIntegration.test.js +317 -0
  5. package/dist/cjs/src/__tests/PeerPayClientRequestIntegration.test.js.map +1 -0
  6. package/dist/cjs/src/__tests/PeerPayClientUnit.test.js +505 -1
  7. package/dist/cjs/src/__tests/PeerPayClientUnit.test.js.map +1 -1
  8. package/dist/cjs/src/types.js +5 -0
  9. package/dist/cjs/src/types.js.map +1 -1
  10. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  11. package/dist/esm/src/PeerPayClient.js +459 -61
  12. package/dist/esm/src/PeerPayClient.js.map +1 -1
  13. package/dist/esm/src/__tests/PeerPayClientRequestIntegration.test.js +312 -0
  14. package/dist/esm/src/__tests/PeerPayClientRequestIntegration.test.js.map +1 -0
  15. package/dist/esm/src/__tests/PeerPayClientUnit.test.js +505 -1
  16. package/dist/esm/src/__tests/PeerPayClientUnit.test.js.map +1 -1
  17. package/dist/esm/src/types.js +4 -1
  18. package/dist/esm/src/types.js.map +1 -1
  19. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  20. package/dist/types/src/PeerPayClient.d.ts +160 -0
  21. package/dist/types/src/PeerPayClient.d.ts.map +1 -1
  22. package/dist/types/src/__tests/PeerPayClientRequestIntegration.test.d.ts +10 -0
  23. package/dist/types/src/__tests/PeerPayClientRequestIntegration.test.d.ts.map +1 -0
  24. package/dist/types/src/types.d.ts +88 -0
  25. package/dist/types/src/types.d.ts.map +1 -1
  26. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  27. package/dist/umd/bundle.js +1 -1
  28. package/package.json +2 -2
  29. package/src/PeerPayClient.ts +526 -69
  30. package/src/__tests/PeerPayClientRequestIntegration.test.ts +364 -0
  31. package/src/__tests/PeerPayClientUnit.test.ts +594 -1
  32. package/src/types.ts +95 -0
@@ -35,7 +35,8 @@ globals_1.jest.mock('@bsv/sdk', () => {
35
35
  internalizeAction: globals_1.jest.fn(),
36
36
  createHmac: globals_1.jest.fn().mockResolvedValue({
37
37
  hmac: [1, 2, 3, 4, 5]
38
- })
38
+ }),
39
+ verifyHmac: globals_1.jest.fn().mockResolvedValue({ valid: true })
39
40
  }))
40
41
  };
41
42
  });
@@ -209,5 +210,508 @@ describe('PeerPayClient Unit Tests', () => {
209
210
  expect(payments[1].token.amount).toBe(9);
210
211
  });
211
212
  });
213
+ // Test: listIncomingPaymentRequests
214
+ describe('listIncomingPaymentRequests', () => {
215
+ const futureExpiry = Date.now() + 60000;
216
+ const pastExpiry = Date.now() - 60000;
217
+ it('returns parsed request messages from payment_requests box', async () => {
218
+ globals_1.jest.spyOn(peerPayClient, 'listMessages').mockResolvedValue([
219
+ {
220
+ messageId: 'msg1',
221
+ sender: 'sender1',
222
+ created_at: '2025-01-01T00:00:00Z',
223
+ updated_at: '2025-01-01T00:00:00Z',
224
+ body: JSON.stringify({
225
+ requestId: 'req1',
226
+ amount: 5000,
227
+ description: 'Test request',
228
+ expiresAt: futureExpiry,
229
+ senderIdentityKey: 'sender1',
230
+ requestProof: 'abcd1234'
231
+ })
232
+ }
233
+ ]);
234
+ globals_1.jest.spyOn(peerPayClient, 'acknowledgeMessage').mockResolvedValue('ok');
235
+ const requests = await peerPayClient.listIncomingPaymentRequests();
236
+ expect(requests).toHaveLength(1);
237
+ expect(requests[0]).toMatchObject({
238
+ messageId: 'msg1',
239
+ sender: 'sender1',
240
+ requestId: 'req1',
241
+ amount: 5000,
242
+ description: 'Test request'
243
+ });
244
+ });
245
+ it('filters expired requests and acknowledges them', async () => {
246
+ globals_1.jest.spyOn(peerPayClient, 'listMessages').mockResolvedValue([
247
+ {
248
+ messageId: 'expired-msg',
249
+ sender: 'sender1',
250
+ created_at: '2025-01-01T00:00:00Z',
251
+ updated_at: '2025-01-01T00:00:00Z',
252
+ body: JSON.stringify({
253
+ requestId: 'req-expired',
254
+ amount: 5000,
255
+ description: 'Expired request',
256
+ expiresAt: pastExpiry,
257
+ senderIdentityKey: 'sender1',
258
+ requestProof: 'abcd1234'
259
+ })
260
+ },
261
+ {
262
+ messageId: 'active-msg',
263
+ sender: 'sender2',
264
+ created_at: '2025-01-01T00:00:00Z',
265
+ updated_at: '2025-01-01T00:00:00Z',
266
+ body: JSON.stringify({
267
+ requestId: 'req-active',
268
+ amount: 3000,
269
+ description: 'Active request',
270
+ expiresAt: futureExpiry,
271
+ senderIdentityKey: 'sender2',
272
+ requestProof: 'abcd1234'
273
+ })
274
+ }
275
+ ]);
276
+ const ackSpy = globals_1.jest.spyOn(peerPayClient, 'acknowledgeMessage').mockResolvedValue('ok');
277
+ const requests = await peerPayClient.listIncomingPaymentRequests();
278
+ expect(requests).toHaveLength(1);
279
+ expect(requests[0].requestId).toBe('req-active');
280
+ expect(ackSpy).toHaveBeenCalledWith({ messageIds: ['expired-msg'] });
281
+ });
282
+ it('filters cancelled requests and acknowledges both original and cancel messages', async () => {
283
+ globals_1.jest.spyOn(peerPayClient, 'listMessages').mockResolvedValue([
284
+ {
285
+ messageId: 'original-msg',
286
+ sender: 'sender1',
287
+ created_at: '2025-01-01T00:00:00Z',
288
+ updated_at: '2025-01-01T00:00:00Z',
289
+ body: JSON.stringify({
290
+ requestId: 'req-cancel',
291
+ amount: 5000,
292
+ description: 'To be cancelled',
293
+ expiresAt: futureExpiry,
294
+ senderIdentityKey: 'sender1',
295
+ requestProof: 'abcd1234'
296
+ })
297
+ },
298
+ {
299
+ messageId: 'cancel-msg',
300
+ sender: 'sender1',
301
+ created_at: '2025-01-01T00:01:00Z',
302
+ updated_at: '2025-01-01T00:01:00Z',
303
+ body: JSON.stringify({
304
+ requestId: 'req-cancel',
305
+ senderIdentityKey: 'sender1',
306
+ cancelled: true,
307
+ requestProof: 'abcd1234'
308
+ })
309
+ },
310
+ {
311
+ messageId: 'other-msg',
312
+ sender: 'sender2',
313
+ created_at: '2025-01-01T00:00:00Z',
314
+ updated_at: '2025-01-01T00:00:00Z',
315
+ body: JSON.stringify({
316
+ requestId: 'req-other',
317
+ amount: 2000,
318
+ description: 'Other request',
319
+ expiresAt: futureExpiry,
320
+ senderIdentityKey: 'sender2',
321
+ requestProof: 'abcd1234'
322
+ })
323
+ }
324
+ ]);
325
+ const ackSpy = globals_1.jest.spyOn(peerPayClient, 'acknowledgeMessage').mockResolvedValue('ok');
326
+ const requests = await peerPayClient.listIncomingPaymentRequests();
327
+ expect(requests).toHaveLength(1);
328
+ expect(requests[0].requestId).toBe('req-other');
329
+ expect(ackSpy).toHaveBeenCalledWith({ messageIds: expect.arrayContaining(['original-msg', 'cancel-msg']) });
330
+ });
331
+ it('discards malformed messages (invalid JSON) and acknowledges them', async () => {
332
+ globals_1.jest.spyOn(peerPayClient, 'listMessages').mockResolvedValue([
333
+ {
334
+ messageId: 'bad-msg',
335
+ sender: 'sender1',
336
+ created_at: '2025-01-01T00:00:00Z',
337
+ updated_at: '2025-01-01T00:00:00Z',
338
+ body: 'NOT VALID JSON {{{}'
339
+ },
340
+ {
341
+ messageId: 'good-msg',
342
+ sender: 'sender2',
343
+ created_at: '2025-01-01T00:00:00Z',
344
+ updated_at: '2025-01-01T00:00:00Z',
345
+ body: JSON.stringify({
346
+ requestId: 'req-good',
347
+ amount: 5000,
348
+ description: 'Valid request',
349
+ expiresAt: Date.now() + 60000,
350
+ senderIdentityKey: 'sender2',
351
+ requestProof: 'abcd1234'
352
+ })
353
+ }
354
+ ]);
355
+ const ackSpy = globals_1.jest.spyOn(peerPayClient, 'acknowledgeMessage').mockResolvedValue('ok');
356
+ const requests = await peerPayClient.listIncomingPaymentRequests();
357
+ expect(requests).toHaveLength(1);
358
+ expect(requests[0].requestId).toBe('req-good');
359
+ expect(ackSpy).toHaveBeenCalledWith(expect.objectContaining({
360
+ messageIds: expect.arrayContaining(['bad-msg'])
361
+ }));
362
+ });
363
+ it('discards messages with missing required fields and acknowledges them', async () => {
364
+ globals_1.jest.spyOn(peerPayClient, 'listMessages').mockResolvedValue([
365
+ {
366
+ messageId: 'incomplete-msg',
367
+ sender: 'sender1',
368
+ created_at: '2025-01-01T00:00:00Z',
369
+ updated_at: '2025-01-01T00:00:00Z',
370
+ body: JSON.stringify({ requestId: 'req-incomplete' })
371
+ }
372
+ ]);
373
+ const ackSpy = globals_1.jest.spyOn(peerPayClient, 'acknowledgeMessage').mockResolvedValue('ok');
374
+ const requests = await peerPayClient.listIncomingPaymentRequests();
375
+ expect(requests).toHaveLength(0);
376
+ expect(ackSpy).toHaveBeenCalledWith(expect.objectContaining({
377
+ messageIds: expect.arrayContaining(['incomplete-msg'])
378
+ }));
379
+ });
380
+ it('only cancels requests from the same sender', async () => {
381
+ const futureExpiry = Date.now() + 60000;
382
+ globals_1.jest.spyOn(peerPayClient, 'listMessages').mockResolvedValue([
383
+ {
384
+ messageId: 'original-msg',
385
+ sender: 'sender1',
386
+ created_at: '2025-01-01T00:00:00Z',
387
+ updated_at: '2025-01-01T00:00:00Z',
388
+ body: JSON.stringify({
389
+ requestId: 'req-1',
390
+ amount: 5000,
391
+ description: 'Real request',
392
+ expiresAt: futureExpiry,
393
+ senderIdentityKey: 'sender1',
394
+ requestProof: 'abcd1234'
395
+ })
396
+ },
397
+ {
398
+ messageId: 'spoofed-cancel',
399
+ sender: 'attacker',
400
+ created_at: '2025-01-01T00:01:00Z',
401
+ updated_at: '2025-01-01T00:01:00Z',
402
+ body: JSON.stringify({
403
+ requestId: 'req-1',
404
+ senderIdentityKey: 'attacker',
405
+ cancelled: true,
406
+ requestProof: 'abcd1234'
407
+ })
408
+ }
409
+ ]);
410
+ globals_1.jest.spyOn(peerPayClient, 'acknowledgeMessage').mockResolvedValue('ok');
411
+ const requests = await peerPayClient.listIncomingPaymentRequests();
412
+ // The request should NOT be cancelled because the cancel came from a different sender
413
+ expect(requests).toHaveLength(1);
414
+ expect(requests[0].requestId).toBe('req-1');
415
+ });
416
+ it('filters out requests below minAmount and above maxAmount, acknowledges them', async () => {
417
+ globals_1.jest.spyOn(peerPayClient, 'listMessages').mockResolvedValue([
418
+ {
419
+ messageId: 'too-small',
420
+ sender: 'sender1',
421
+ created_at: '2025-01-01T00:00:00Z',
422
+ updated_at: '2025-01-01T00:00:00Z',
423
+ body: JSON.stringify({
424
+ requestId: 'req-small',
425
+ amount: 100,
426
+ description: 'Too small',
427
+ expiresAt: futureExpiry,
428
+ senderIdentityKey: 'sender1',
429
+ requestProof: 'abcd1234'
430
+ })
431
+ },
432
+ {
433
+ messageId: 'too-large',
434
+ sender: 'sender2',
435
+ created_at: '2025-01-01T00:00:00Z',
436
+ updated_at: '2025-01-01T00:00:00Z',
437
+ body: JSON.stringify({
438
+ requestId: 'req-large',
439
+ amount: 99999,
440
+ description: 'Too large',
441
+ expiresAt: futureExpiry,
442
+ senderIdentityKey: 'sender2',
443
+ requestProof: 'abcd1234'
444
+ })
445
+ },
446
+ {
447
+ messageId: 'just-right',
448
+ sender: 'sender3',
449
+ created_at: '2025-01-01T00:00:00Z',
450
+ updated_at: '2025-01-01T00:00:00Z',
451
+ body: JSON.stringify({
452
+ requestId: 'req-ok',
453
+ amount: 5000,
454
+ description: 'Just right',
455
+ expiresAt: futureExpiry,
456
+ senderIdentityKey: 'sender3',
457
+ requestProof: 'abcd1234'
458
+ })
459
+ }
460
+ ]);
461
+ const ackSpy = globals_1.jest.spyOn(peerPayClient, 'acknowledgeMessage').mockResolvedValue('ok');
462
+ const requests = await peerPayClient.listIncomingPaymentRequests(undefined, { minAmount: 1000, maxAmount: 10000 });
463
+ expect(requests).toHaveLength(1);
464
+ expect(requests[0].requestId).toBe('req-ok');
465
+ expect(ackSpy).toHaveBeenCalledWith({ messageIds: expect.arrayContaining(['too-small', 'too-large']) });
466
+ });
467
+ });
468
+ // Test: fulfillPaymentRequest
469
+ describe('fulfillPaymentRequest', () => {
470
+ const mockRequest = {
471
+ messageId: 'req-msg-1',
472
+ sender: 'senderKey',
473
+ requestId: 'req-id-1',
474
+ amount: 5000,
475
+ description: 'Pay for goods',
476
+ expiresAt: Date.now() + 60000
477
+ };
478
+ it('sends payment for request.amount, sends paid response, acknowledges', async () => {
479
+ const sendPaymentSpy = globals_1.jest.spyOn(peerPayClient, 'sendPayment').mockResolvedValue(undefined);
480
+ const sendMessageSpy = globals_1.jest.spyOn(peerPayClient, 'sendMessage').mockResolvedValue({
481
+ status: 'success',
482
+ messageId: 'resp-msg-id'
483
+ });
484
+ const ackSpy = globals_1.jest.spyOn(peerPayClient, 'acknowledgeMessage').mockResolvedValue('ok');
485
+ await peerPayClient.fulfillPaymentRequest({ request: mockRequest });
486
+ expect(sendPaymentSpy).toHaveBeenCalledWith({ recipient: 'senderKey', amount: 5000 }, undefined);
487
+ const responseBody = JSON.parse(sendMessageSpy.mock.calls[0][0].body);
488
+ expect(responseBody).toMatchObject({ requestId: 'req-id-1', status: 'paid', amountPaid: 5000 });
489
+ expect(ackSpy).toHaveBeenCalledWith({ messageIds: ['req-msg-1'] });
490
+ });
491
+ it('includes note when provided', async () => {
492
+ globals_1.jest.spyOn(peerPayClient, 'sendPayment').mockResolvedValue(undefined);
493
+ const sendMessageSpy = globals_1.jest.spyOn(peerPayClient, 'sendMessage').mockResolvedValue({
494
+ status: 'success',
495
+ messageId: 'resp-msg-id'
496
+ });
497
+ globals_1.jest.spyOn(peerPayClient, 'acknowledgeMessage').mockResolvedValue('ok');
498
+ await peerPayClient.fulfillPaymentRequest({ request: mockRequest, note: 'Here you go' });
499
+ const responseBody = JSON.parse(sendMessageSpy.mock.calls[0][0].body);
500
+ expect(responseBody).toMatchObject({ note: 'Here you go' });
501
+ });
502
+ });
503
+ // Test: declinePaymentRequest
504
+ describe('declinePaymentRequest', () => {
505
+ const mockRequest = {
506
+ messageId: 'req-msg-2',
507
+ sender: 'senderKey2',
508
+ requestId: 'req-id-2',
509
+ amount: 3000,
510
+ description: 'Pay for service',
511
+ expiresAt: Date.now() + 60000
512
+ };
513
+ it('sends declined response to payment_request_responses and acknowledges request', async () => {
514
+ const sendMessageSpy = globals_1.jest.spyOn(peerPayClient, 'sendMessage').mockResolvedValue({
515
+ status: 'success',
516
+ messageId: 'resp-msg-id'
517
+ });
518
+ const ackSpy = globals_1.jest.spyOn(peerPayClient, 'acknowledgeMessage').mockResolvedValue('ok');
519
+ await peerPayClient.declinePaymentRequest({ request: mockRequest, note: 'Not today' });
520
+ expect(sendMessageSpy).toHaveBeenCalledWith(expect.objectContaining({
521
+ recipient: 'senderKey2',
522
+ messageBox: 'payment_request_responses'
523
+ }), undefined);
524
+ const responseBody = JSON.parse(sendMessageSpy.mock.calls[0][0].body);
525
+ expect(responseBody).toMatchObject({ requestId: 'req-id-2', status: 'declined', note: 'Not today' });
526
+ expect(ackSpy).toHaveBeenCalledWith({ messageIds: ['req-msg-2'] });
527
+ });
528
+ });
529
+ // Test: listPaymentRequestResponses
530
+ describe('listPaymentRequestResponses', () => {
531
+ it('returns parsed responses from payment_request_responses box', async () => {
532
+ globals_1.jest.spyOn(peerPayClient, 'listMessages').mockResolvedValue([
533
+ {
534
+ messageId: 'resp-1',
535
+ sender: 'payer1',
536
+ created_at: '2025-01-01T00:00:00Z',
537
+ updated_at: '2025-01-01T00:00:00Z',
538
+ body: JSON.stringify({ requestId: 'req-1', status: 'paid', amountPaid: 5000 })
539
+ },
540
+ {
541
+ messageId: 'resp-2',
542
+ sender: 'payer2',
543
+ created_at: '2025-01-01T00:00:00Z',
544
+ updated_at: '2025-01-01T00:00:00Z',
545
+ body: JSON.stringify({ requestId: 'req-2', status: 'declined', note: 'No funds' })
546
+ }
547
+ ]);
548
+ const responses = await peerPayClient.listPaymentRequestResponses();
549
+ expect(responses).toHaveLength(2);
550
+ expect(responses[0]).toMatchObject({ requestId: 'req-1', status: 'paid', amountPaid: 5000 });
551
+ expect(responses[1]).toMatchObject({ requestId: 'req-2', status: 'declined', note: 'No funds' });
552
+ });
553
+ });
554
+ // Test: listenForLivePaymentRequests
555
+ describe('listenForLivePaymentRequests', () => {
556
+ it('calls listenForLiveMessages on payment_requests box and converts messages to IncomingPaymentRequest', async () => {
557
+ const listenSpy = globals_1.jest.spyOn(peerPayClient, 'listenForLiveMessages').mockResolvedValue(undefined);
558
+ const onRequest = globals_1.jest.fn();
559
+ await peerPayClient.listenForLivePaymentRequests({ onRequest });
560
+ expect(listenSpy).toHaveBeenCalledWith(expect.objectContaining({ messageBox: 'payment_requests' }));
561
+ // Simulate a message arriving by calling the onMessage callback
562
+ const { onMessage } = listenSpy.mock.calls[0][0];
563
+ onMessage({
564
+ messageId: 'live-msg-1',
565
+ sender: 'sender1',
566
+ created_at: '2025-01-01T00:00:00Z',
567
+ updated_at: '2025-01-01T00:00:00Z',
568
+ body: JSON.stringify({
569
+ requestId: 'req-live-1',
570
+ amount: 3000,
571
+ description: 'Live request',
572
+ expiresAt: Date.now() + 60000,
573
+ senderIdentityKey: 'sender1',
574
+ requestProof: 'abcd1234'
575
+ })
576
+ });
577
+ expect(onRequest).toHaveBeenCalledWith(expect.objectContaining({ messageId: 'live-msg-1', requestId: 'req-live-1', amount: 3000 }));
578
+ });
579
+ });
580
+ // Test: listenForLivePaymentRequestResponses
581
+ describe('listenForLivePaymentRequestResponses', () => {
582
+ it('calls listenForLiveMessages on payment_request_responses box and parses responses', async () => {
583
+ const listenSpy = globals_1.jest.spyOn(peerPayClient, 'listenForLiveMessages').mockResolvedValue(undefined);
584
+ const onResponse = globals_1.jest.fn();
585
+ await peerPayClient.listenForLivePaymentRequestResponses({ onResponse });
586
+ expect(listenSpy).toHaveBeenCalledWith(expect.objectContaining({ messageBox: 'payment_request_responses' }));
587
+ // Simulate a message arriving
588
+ const { onMessage } = listenSpy.mock.calls[0][0];
589
+ onMessage({
590
+ messageId: 'live-resp-1',
591
+ sender: 'payer1',
592
+ created_at: '2025-01-01T00:00:00Z',
593
+ updated_at: '2025-01-01T00:00:00Z',
594
+ body: JSON.stringify({ requestId: 'req-1', status: 'paid', amountPaid: 5000 })
595
+ });
596
+ expect(onResponse).toHaveBeenCalledWith(expect.objectContaining({ requestId: 'req-1', status: 'paid', amountPaid: 5000 }));
597
+ });
598
+ });
599
+ // Test: allowPaymentRequestsFrom
600
+ describe('allowPaymentRequestsFrom', () => {
601
+ it('calls setMessageBoxPermission with messageBox=payment_requests and recipientFee=0', async () => {
602
+ const setPermSpy = globals_1.jest.spyOn(peerPayClient, 'setMessageBoxPermission').mockResolvedValue(undefined);
603
+ await peerPayClient.allowPaymentRequestsFrom({ identityKey: 'trustedKey' });
604
+ expect(setPermSpy).toHaveBeenCalledWith({
605
+ messageBox: 'payment_requests',
606
+ sender: 'trustedKey',
607
+ recipientFee: 0
608
+ });
609
+ });
610
+ });
611
+ // Test: blockPaymentRequestsFrom
612
+ describe('blockPaymentRequestsFrom', () => {
613
+ it('calls setMessageBoxPermission with recipientFee=-1', async () => {
614
+ const setPermSpy = globals_1.jest.spyOn(peerPayClient, 'setMessageBoxPermission').mockResolvedValue(undefined);
615
+ await peerPayClient.blockPaymentRequestsFrom({ identityKey: 'blockedKey' });
616
+ expect(setPermSpy).toHaveBeenCalledWith({
617
+ messageBox: 'payment_requests',
618
+ sender: 'blockedKey',
619
+ recipientFee: -1
620
+ });
621
+ });
622
+ });
623
+ // Test: listPaymentRequestPermissions
624
+ describe('listPaymentRequestPermissions', () => {
625
+ it('calls listMessageBoxPermissions and maps to { identityKey, allowed } array', async () => {
626
+ globals_1.jest.spyOn(peerPayClient, 'listMessageBoxPermissions').mockResolvedValue([
627
+ {
628
+ sender: 'key1',
629
+ messageBox: 'payment_requests',
630
+ recipientFee: 0,
631
+ status: 'always_allow',
632
+ createdAt: '2025-01-01T00:00:00Z',
633
+ updatedAt: '2025-01-01T00:00:00Z'
634
+ },
635
+ {
636
+ sender: 'key2',
637
+ messageBox: 'payment_requests',
638
+ recipientFee: -1,
639
+ status: 'blocked',
640
+ createdAt: '2025-01-01T00:00:00Z',
641
+ updatedAt: '2025-01-01T00:00:00Z'
642
+ }
643
+ ]);
644
+ const permissions = await peerPayClient.listPaymentRequestPermissions();
645
+ expect(permissions).toHaveLength(2);
646
+ expect(permissions[0]).toEqual({ identityKey: 'key1', allowed: true });
647
+ expect(permissions[1]).toEqual({ identityKey: 'key2', allowed: false });
648
+ });
649
+ });
650
+ // Test: requestPayment
651
+ describe('requestPayment', () => {
652
+ it('sends payment request message to payment_requests box with correct body fields', async () => {
653
+ globals_1.jest.spyOn(peerPayClient, 'getIdentityKey').mockResolvedValue('myIdentityKey');
654
+ const sendMessageSpy = globals_1.jest.spyOn(peerPayClient, 'sendMessage').mockResolvedValue({
655
+ status: 'success',
656
+ messageId: 'mockedMessageId'
657
+ });
658
+ const result = await peerPayClient.requestPayment({
659
+ recipient: 'recipientKey',
660
+ amount: 1000,
661
+ description: 'Please pay me',
662
+ expiresAt: Date.now() + 60000
663
+ });
664
+ expect(result).toHaveProperty('requestId');
665
+ expect(typeof result.requestId).toBe('string');
666
+ expect(sendMessageSpy).toHaveBeenCalledWith(expect.objectContaining({
667
+ recipient: 'recipientKey',
668
+ messageBox: 'payment_requests',
669
+ body: expect.stringContaining('"amount":1000')
670
+ }), undefined);
671
+ const sentBody = JSON.parse(sendMessageSpy.mock.calls[0][0].body);
672
+ expect(sentBody).toHaveProperty('requestId');
673
+ expect(sentBody).toHaveProperty('amount', 1000);
674
+ expect(sentBody).toHaveProperty('description', 'Please pay me');
675
+ expect(sentBody).toHaveProperty('senderIdentityKey', 'myIdentityKey');
676
+ expect(sentBody).toHaveProperty('requestProof');
677
+ expect(typeof sentBody.requestProof).toBe('string');
678
+ expect(sentBody.requestProof.length).toBeGreaterThan(0);
679
+ expect(result).toHaveProperty('requestProof');
680
+ });
681
+ it('throws if amount <= 0', async () => {
682
+ await expect(peerPayClient.requestPayment({
683
+ recipient: 'recipientKey',
684
+ amount: 0,
685
+ description: 'Bad request',
686
+ expiresAt: Date.now() + 60000
687
+ })).rejects.toThrow();
688
+ });
689
+ });
690
+ // Test: cancelPaymentRequest
691
+ describe('cancelPaymentRequest', () => {
692
+ it('sends cancellation message with requestId, real senderIdentityKey, and cancelled: true', async () => {
693
+ globals_1.jest.spyOn(peerPayClient, 'getIdentityKey').mockResolvedValue('myIdentityKey');
694
+ const sendMessageSpy = globals_1.jest.spyOn(peerPayClient, 'sendMessage').mockResolvedValue({
695
+ status: 'success',
696
+ messageId: 'mockedMessageId'
697
+ });
698
+ await peerPayClient.cancelPaymentRequest({
699
+ recipient: 'recipientKey',
700
+ requestId: 'existing-request-id',
701
+ requestProof: 'original-proof-hex'
702
+ });
703
+ expect(sendMessageSpy).toHaveBeenCalledWith(expect.objectContaining({
704
+ recipient: 'recipientKey',
705
+ messageBox: 'payment_requests'
706
+ }), undefined);
707
+ const sentBody = JSON.parse(sendMessageSpy.mock.calls[0][0].body);
708
+ expect(sentBody).toEqual({
709
+ requestId: 'existing-request-id',
710
+ senderIdentityKey: 'myIdentityKey',
711
+ requestProof: 'original-proof-hex',
712
+ cancelled: true
713
+ });
714
+ });
715
+ });
212
716
  });
213
717
  //# sourceMappingURL=PeerPayClientUnit.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PeerPayClientUnit.test.js","sourceRoot":"","sources":["../../../../src/__tests/PeerPayClientUnit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PeerPayClientUnit.test.js","sourceRoot":"","sources":["../../../../src/__tests/PeerPayClientUnit.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_PAYMENT_REQUEST_MAX_AMOUNT = exports.DEFAULT_PAYMENT_REQUEST_MIN_AMOUNT = void 0;
4
+ /** Default minimum satoshis for payment request filtering. */
5
+ exports.DEFAULT_PAYMENT_REQUEST_MIN_AMOUNT = 1000;
6
+ /** Default maximum satoshis for payment request filtering. */
7
+ exports.DEFAULT_PAYMENT_REQUEST_MAX_AMOUNT = 10000000;
3
8
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":";;;AA6QA,8DAA8D;AACjD,QAAA,kCAAkC,GAAG,IAAI,CAAA;AACtD,8DAA8D;AACjD,QAAA,kCAAkC,GAAG,QAAU,CAAA"}