@bsv/message-box-client 1.2.7 → 1.2.9
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/dist/cjs/package.json +2 -2
- package/dist/cjs/src/PeerPayClient.js +17 -13
- package/dist/cjs/src/PeerPayClient.js.map +1 -1
- package/dist/cjs/src/__tests/PeerPayClientUnit.test.js +2 -2
- package/dist/cjs/src/__tests/PeerPayClientUnit.test.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/PeerPayClient.js +18 -13
- package/dist/esm/src/PeerPayClient.js.map +1 -1
- package/dist/esm/src/__tests/PeerPayClientUnit.test.js +2 -2
- package/dist/esm/src/__tests/PeerPayClientUnit.test.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/PeerPayClient.d.ts +5 -2
- package/dist/types/src/PeerPayClient.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +1 -1
- package/package.json +2 -2
- package/src/PeerPayClient.ts +25 -17
- package/src/__tests/PeerPayClientUnit.test.ts +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bsv/message-box-client",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.9",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -75,6 +75,6 @@
|
|
|
75
75
|
},
|
|
76
76
|
"dependencies": {
|
|
77
77
|
"@bsv/authsocket-client": "^1.0.11",
|
|
78
|
-
"@bsv/sdk": "^1.
|
|
78
|
+
"@bsv/sdk": "^1.7.5"
|
|
79
79
|
}
|
|
80
80
|
}
|
package/src/PeerPayClient.ts
CHANGED
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
import { MessageBoxClient } from './MessageBoxClient.js'
|
|
14
14
|
import { PeerMessage } from './types.js'
|
|
15
|
-
import { WalletInterface, P2PKH, PublicKey, createNonce, AtomicBEEF, AuthFetch, Base64String } from '@bsv/sdk'
|
|
15
|
+
import { WalletInterface, P2PKH, PublicKey, createNonce, AtomicBEEF, AuthFetch, Base64String, OriginatorDomainNameStringUnder250Bytes } from '@bsv/sdk'
|
|
16
|
+
|
|
16
17
|
import * as Logger from './Utils/logger.js'
|
|
17
18
|
|
|
18
19
|
function safeParse<T> (input: any): T {
|
|
@@ -35,7 +36,8 @@ const STANDARD_PAYMENT_OUTPUT_INDEX = 0
|
|
|
35
36
|
export interface PeerPayClientConfig {
|
|
36
37
|
messageBoxHost?: string
|
|
37
38
|
walletClient: WalletInterface
|
|
38
|
-
enableLogging?: boolean // Added optional logging flag
|
|
39
|
+
enableLogging?: boolean // Added optional logging flag,
|
|
40
|
+
originator?: OriginatorDomainNameStringUnder250Bytes
|
|
39
41
|
}
|
|
40
42
|
|
|
41
43
|
/**
|
|
@@ -73,19 +75,20 @@ export interface IncomingPayment {
|
|
|
73
75
|
export class PeerPayClient extends MessageBoxClient {
|
|
74
76
|
private readonly peerPayWalletClient: WalletInterface
|
|
75
77
|
private _authFetchInstance?: AuthFetch
|
|
76
|
-
|
|
78
|
+
private originator?: OriginatorDomainNameStringUnder250Bytes
|
|
77
79
|
constructor (config: PeerPayClientConfig) {
|
|
78
|
-
const { messageBoxHost = 'https://messagebox.babbage.systems', walletClient, enableLogging = false } = config
|
|
80
|
+
const { messageBoxHost = 'https://messagebox.babbage.systems', walletClient, enableLogging = false, originator } = config
|
|
79
81
|
|
|
80
82
|
// 🔹 Pass enableLogging to MessageBoxClient
|
|
81
83
|
super({ host: messageBoxHost, walletClient, enableLogging })
|
|
82
84
|
|
|
83
85
|
this.peerPayWalletClient = walletClient
|
|
86
|
+
this.originator = originator
|
|
84
87
|
}
|
|
85
88
|
|
|
86
89
|
private get authFetchInstance (): AuthFetch {
|
|
87
90
|
if (this._authFetchInstance === null || this._authFetchInstance === undefined) {
|
|
88
|
-
this._authFetchInstance = new AuthFetch(this.peerPayWalletClient)
|
|
91
|
+
this._authFetchInstance = new AuthFetch(this.peerPayWalletClient, undefined, undefined, this.originator)
|
|
89
92
|
}
|
|
90
93
|
return this._authFetchInstance
|
|
91
94
|
}
|
|
@@ -119,7 +122,7 @@ export class PeerPayClient extends MessageBoxClient {
|
|
|
119
122
|
protocolID: [2, '3241645161d8'],
|
|
120
123
|
keyID: `${derivationPrefix} ${derivationSuffix}`,
|
|
121
124
|
counterparty: payment.recipient
|
|
122
|
-
})
|
|
125
|
+
}, this.originator)
|
|
123
126
|
|
|
124
127
|
Logger.log(`[PP CLIENT] Derived Public Key: ${derivedKeyResult}`)
|
|
125
128
|
|
|
@@ -148,7 +151,7 @@ export class PeerPayClient extends MessageBoxClient {
|
|
|
148
151
|
options: {
|
|
149
152
|
randomizeOutputs: false
|
|
150
153
|
}
|
|
151
|
-
})
|
|
154
|
+
}, this.originator)
|
|
152
155
|
|
|
153
156
|
if (paymentAction.tx === undefined) {
|
|
154
157
|
throw new Error('Transaction creation failed!')
|
|
@@ -186,7 +189,7 @@ export class PeerPayClient extends MessageBoxClient {
|
|
|
186
189
|
|
|
187
190
|
const paymentToken = await this.createPaymentToken(payment)
|
|
188
191
|
|
|
189
|
-
// Ensure the recipient is included before
|
|
192
|
+
// Ensure the recipient is included before sendings
|
|
190
193
|
await this.sendMessage({
|
|
191
194
|
recipient: payment.recipient,
|
|
192
195
|
messageBox: STANDARD_PAYMENT_MESSAGEBOX,
|
|
@@ -216,7 +219,8 @@ export class PeerPayClient extends MessageBoxClient {
|
|
|
216
219
|
await this.sendLiveMessage({
|
|
217
220
|
recipient: payment.recipient,
|
|
218
221
|
messageBox: STANDARD_PAYMENT_MESSAGEBOX,
|
|
219
|
-
body: JSON.stringify(paymentToken)
|
|
222
|
+
body: JSON.stringify(paymentToken),
|
|
223
|
+
originator: this.originator
|
|
220
224
|
}, overrideHost)
|
|
221
225
|
} catch (err) {
|
|
222
226
|
Logger.warn('[PP CLIENT] sendLiveMessage failed, falling back to HTTP:', err)
|
|
@@ -225,7 +229,8 @@ export class PeerPayClient extends MessageBoxClient {
|
|
|
225
229
|
await this.sendMessage({
|
|
226
230
|
recipient: payment.recipient,
|
|
227
231
|
messageBox: STANDARD_PAYMENT_MESSAGEBOX,
|
|
228
|
-
body: JSON.stringify(paymentToken)
|
|
232
|
+
body: JSON.stringify(paymentToken),
|
|
233
|
+
originator: this.originator
|
|
229
234
|
}, overrideHost)
|
|
230
235
|
}
|
|
231
236
|
}
|
|
@@ -244,14 +249,17 @@ export class PeerPayClient extends MessageBoxClient {
|
|
|
244
249
|
*/
|
|
245
250
|
async listenForLivePayments ({
|
|
246
251
|
onPayment,
|
|
247
|
-
overrideHost
|
|
252
|
+
overrideHost,
|
|
253
|
+
originator
|
|
248
254
|
}: {
|
|
249
255
|
onPayment: (payment: IncomingPayment) => void
|
|
250
256
|
overrideHost?: string
|
|
257
|
+
originator?: string
|
|
251
258
|
}): Promise<void> {
|
|
252
259
|
await this.listenForLiveMessages({
|
|
253
260
|
messageBox: STANDARD_PAYMENT_MESSAGEBOX,
|
|
254
|
-
overrideHost,
|
|
261
|
+
overrideHost,
|
|
262
|
+
originator,
|
|
255
263
|
|
|
256
264
|
// Convert PeerMessage → IncomingPayment before calling onPayment
|
|
257
265
|
onMessage: (message: PeerMessage) => {
|
|
@@ -294,12 +302,12 @@ export class PeerPayClient extends MessageBoxClient {
|
|
|
294
302
|
protocol: 'wallet payment'
|
|
295
303
|
}],
|
|
296
304
|
description: 'PeerPay Payment'
|
|
297
|
-
})
|
|
305
|
+
}, this.originator)
|
|
298
306
|
|
|
299
307
|
Logger.log(`[PP CLIENT] Payment internalized successfully: ${JSON.stringify(paymentResult, null, 2)}`)
|
|
300
308
|
Logger.log(`[PP CLIENT] Acknowledging payment with messageId: ${payment.messageId}`)
|
|
301
309
|
|
|
302
|
-
await this.acknowledgeMessage({ messageIds: [payment.messageId] })
|
|
310
|
+
await this.acknowledgeMessage({ messageIds: [payment.messageId] , originator: this.originator})
|
|
303
311
|
|
|
304
312
|
return { payment, paymentResult }
|
|
305
313
|
} catch (error) {
|
|
@@ -330,7 +338,7 @@ export class PeerPayClient extends MessageBoxClient {
|
|
|
330
338
|
Logger.warn('[PP CLIENT] Warning: authFetch is undefined! Ensure PeerPayClient is initialized correctly.')
|
|
331
339
|
}
|
|
332
340
|
Logger.log('[PP CLIENT] authFetch instance:', this.authFetch)
|
|
333
|
-
const response = await this.acknowledgeMessage({ messageIds: [payment.messageId] })
|
|
341
|
+
const response = await this.acknowledgeMessage({ messageIds: [payment.messageId], originator: this.originator })
|
|
334
342
|
Logger.log(`[PP CLIENT] Acknowledgment response: ${response}`)
|
|
335
343
|
} catch (error: any) {
|
|
336
344
|
if (
|
|
@@ -363,7 +371,7 @@ export class PeerPayClient extends MessageBoxClient {
|
|
|
363
371
|
|
|
364
372
|
try {
|
|
365
373
|
Logger.log(`[PP CLIENT] Acknowledging message ${payment.messageId} after refunding...`)
|
|
366
|
-
await this.acknowledgeMessage({ messageIds: [payment.messageId] })
|
|
374
|
+
await this.acknowledgeMessage({ messageIds: [payment.messageId], originator: this.originator })
|
|
367
375
|
Logger.log('[PP CLIENT] Acknowledgment after refund successful.')
|
|
368
376
|
} catch (error: any) {
|
|
369
377
|
Logger.error(`[PP CLIENT] Error acknowledging message after refund: ${(error as { message: string }).message}`)
|
|
@@ -380,7 +388,7 @@ export class PeerPayClient extends MessageBoxClient {
|
|
|
380
388
|
* @returns {Promise<IncomingPayment[]>} Resolves with an array of pending payments.
|
|
381
389
|
*/
|
|
382
390
|
async listIncomingPayments (overrideHost?: string): Promise<IncomingPayment[]> {
|
|
383
|
-
const messages = await this.listMessages({ messageBox: STANDARD_PAYMENT_MESSAGEBOX, host: overrideHost })
|
|
391
|
+
const messages = await this.listMessages({ messageBox: STANDARD_PAYMENT_MESSAGEBOX, host: overrideHost, originator: this.originator })
|
|
384
392
|
|
|
385
393
|
return messages.map((msg: any) => {
|
|
386
394
|
const parsedToken = safeParse<PaymentToken>(msg.body)
|
|
@@ -76,8 +76,8 @@ describe('PeerPayClient Unit Tests', () => {
|
|
|
76
76
|
const token = await peerPayClient.createPaymentToken(payment)
|
|
77
77
|
|
|
78
78
|
expect(token).toHaveProperty('amount', 5)
|
|
79
|
-
expect(mockWalletClient.getPublicKey).toHaveBeenCalledWith(expect.any(Object))
|
|
80
|
-
expect(mockWalletClient.createAction).toHaveBeenCalledWith(expect.any(Object))
|
|
79
|
+
expect(mockWalletClient.getPublicKey).toHaveBeenCalledWith(expect.any(Object), undefined)
|
|
80
|
+
expect(mockWalletClient.createAction).toHaveBeenCalledWith(expect.any(Object), undefined)
|
|
81
81
|
})
|
|
82
82
|
|
|
83
83
|
it('should throw an error if recipient public key cannot be derived', async () => {
|