Skip to content

Commit fdc2ee2

Browse files
Merge pull request #17 from ChanceBarimbao/originator/AuthfetchAndMethods
Fixed auth Fetch Types
2 parents f6a8620 + f4d3df3 commit fdc2ee2

File tree

4 files changed

+33
-25
lines changed

4 files changed

+33
-25
lines changed

package-lock.json

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bsv/message-box-client",
3-
"version": "1.2.7",
3+
"version": "1.2.8",
44
"publishConfig": {
55
"access": "public"
66
},
@@ -75,6 +75,6 @@
7575
},
7676
"dependencies": {
7777
"@bsv/authsocket-client": "^1.0.11",
78-
"@bsv/sdk": "^1.6.20"
78+
"@bsv/sdk": "^1.7.5"
7979
}
8080
}

src/PeerPayClient.ts

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212

1313
import { MessageBoxClient } from './MessageBoxClient.js'
1414
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+
1617
import * as Logger from './Utils/logger.js'
1718

1819
function safeParse<T> (input: any): T {
@@ -35,7 +36,8 @@ const STANDARD_PAYMENT_OUTPUT_INDEX = 0
3536
export interface PeerPayClientConfig {
3637
messageBoxHost?: string
3738
walletClient: WalletInterface
38-
enableLogging?: boolean // Added optional logging flag
39+
enableLogging?: boolean // Added optional logging flag,
40+
originator?: OriginatorDomainNameStringUnder250Bytes
3941
}
4042

4143
/**
@@ -73,19 +75,20 @@ export interface IncomingPayment {
7375
export class PeerPayClient extends MessageBoxClient {
7476
private readonly peerPayWalletClient: WalletInterface
7577
private _authFetchInstance?: AuthFetch
76-
78+
private originator?: OriginatorDomainNameStringUnder250Bytes
7779
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
7981

8082
// 🔹 Pass enableLogging to MessageBoxClient
8183
super({ host: messageBoxHost, walletClient, enableLogging })
8284

8385
this.peerPayWalletClient = walletClient
86+
this.originator = originator
8487
}
8588

8689
private get authFetchInstance (): AuthFetch {
8790
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)
8992
}
9093
return this._authFetchInstance
9194
}
@@ -119,7 +122,7 @@ export class PeerPayClient extends MessageBoxClient {
119122
protocolID: [2, '3241645161d8'],
120123
keyID: `${derivationPrefix} ${derivationSuffix}`,
121124
counterparty: payment.recipient
122-
})
125+
}, this.originator)
123126

124127
Logger.log(`[PP CLIENT] Derived Public Key: ${derivedKeyResult}`)
125128

@@ -148,7 +151,7 @@ export class PeerPayClient extends MessageBoxClient {
148151
options: {
149152
randomizeOutputs: false
150153
}
151-
})
154+
}, this.originator)
152155

153156
if (paymentAction.tx === undefined) {
154157
throw new Error('Transaction creation failed!')
@@ -186,7 +189,7 @@ export class PeerPayClient extends MessageBoxClient {
186189

187190
const paymentToken = await this.createPaymentToken(payment)
188191

189-
// Ensure the recipient is included before sending
192+
// Ensure the recipient is included before sendings
190193
await this.sendMessage({
191194
recipient: payment.recipient,
192195
messageBox: STANDARD_PAYMENT_MESSAGEBOX,
@@ -216,7 +219,8 @@ export class PeerPayClient extends MessageBoxClient {
216219
await this.sendLiveMessage({
217220
recipient: payment.recipient,
218221
messageBox: STANDARD_PAYMENT_MESSAGEBOX,
219-
body: JSON.stringify(paymentToken)
222+
body: JSON.stringify(paymentToken),
223+
originator: this.originator
220224
}, overrideHost)
221225
} catch (err) {
222226
Logger.warn('[PP CLIENT] sendLiveMessage failed, falling back to HTTP:', err)
@@ -225,7 +229,8 @@ export class PeerPayClient extends MessageBoxClient {
225229
await this.sendMessage({
226230
recipient: payment.recipient,
227231
messageBox: STANDARD_PAYMENT_MESSAGEBOX,
228-
body: JSON.stringify(paymentToken)
232+
body: JSON.stringify(paymentToken),
233+
originator: this.originator
229234
}, overrideHost)
230235
}
231236
}
@@ -244,14 +249,17 @@ export class PeerPayClient extends MessageBoxClient {
244249
*/
245250
async listenForLivePayments ({
246251
onPayment,
247-
overrideHost
252+
overrideHost,
253+
originator
248254
}: {
249255
onPayment: (payment: IncomingPayment) => void
250256
overrideHost?: string
257+
originator?: string
251258
}): Promise<void> {
252259
await this.listenForLiveMessages({
253260
messageBox: STANDARD_PAYMENT_MESSAGEBOX,
254-
overrideHost,
261+
overrideHost,
262+
originator,
255263

256264
// Convert PeerMessage → IncomingPayment before calling onPayment
257265
onMessage: (message: PeerMessage) => {
@@ -294,12 +302,12 @@ export class PeerPayClient extends MessageBoxClient {
294302
protocol: 'wallet payment'
295303
}],
296304
description: 'PeerPay Payment'
297-
})
305+
}, this.originator)
298306

299307
Logger.log(`[PP CLIENT] Payment internalized successfully: ${JSON.stringify(paymentResult, null, 2)}`)
300308
Logger.log(`[PP CLIENT] Acknowledging payment with messageId: ${payment.messageId}`)
301309

302-
await this.acknowledgeMessage({ messageIds: [payment.messageId] })
310+
await this.acknowledgeMessage({ messageIds: [payment.messageId] , originator: this.originator})
303311

304312
return { payment, paymentResult }
305313
} catch (error) {
@@ -363,7 +371,7 @@ export class PeerPayClient extends MessageBoxClient {
363371

364372
try {
365373
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 })
367375
Logger.log('[PP CLIENT] Acknowledgment after refund successful.')
368376
} catch (error: any) {
369377
Logger.error(`[PP CLIENT] Error acknowledging message after refund: ${(error as { message: string }).message}`)

src/__tests/PeerPayClientUnit.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ describe('PeerPayClient Unit Tests', () => {
7676
const token = await peerPayClient.createPaymentToken(payment)
7777

7878
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)
8181
})
8282

8383
it('should throw an error if recipient public key cannot be derived', async () => {

0 commit comments

Comments
 (0)