@spacesops/wdk-react-native-core 1.0.0-beta.63 → 1.0.0-beta.65

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.
@@ -212,5 +212,52 @@ describe('AccountService', () => {
212
212
  await expect(AccountService.callAccountMethod('ethereum', 0, 'getBalance', null)).rejects.toThrow();
213
213
  });
214
214
  });
215
+ describe('callAccountMethodByPath', () => {
216
+ beforeEach(() => {
217
+ mockHRPC.callMethodByPath = jest.fn();
218
+ });
219
+ it('should call method by path and return result', async () => {
220
+ mockHRPC.callMethodByPath.mockResolvedValue({
221
+ result: JSON.stringify('bc1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'),
222
+ });
223
+ const result = await AccountService.callAccountMethodByPath('bitcoin', "9'/0/0", 'getAddress');
224
+ expect(result).toBe('bc1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq');
225
+ expect(mockHRPC.callMethodByPath).toHaveBeenCalledWith({
226
+ methodName: 'getAddress',
227
+ network: 'bitcoin',
228
+ path: "9'/0/0",
229
+ args: null,
230
+ });
231
+ });
232
+ it('should pass string args for getScriptPubKeyHex', async () => {
233
+ const address = 'bc1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';
234
+ mockHRPC.callMethodByPath.mockResolvedValue({
235
+ result: JSON.stringify('5120abcd'),
236
+ });
237
+ const result = await AccountService.callAccountMethodByPath('bitcoin', "9'/0/1", 'getScriptPubKeyHex', address);
238
+ expect(result).toBe('5120abcd');
239
+ expect(mockHRPC.callMethodByPath).toHaveBeenCalledWith({
240
+ methodName: 'getScriptPubKeyHex',
241
+ network: 'bitcoin',
242
+ path: "9'/0/1",
243
+ args: JSON.stringify(address),
244
+ });
245
+ });
246
+ it('should allow null JSON results (e.g. missing taproot keys)', async () => {
247
+ mockHRPC.callMethodByPath.mockResolvedValue({
248
+ result: JSON.stringify(null),
249
+ });
250
+ const result = await AccountService.callAccountMethodByPath('bitcoin', "9'/0/0", 'getTaprootKeyMaterialHex');
251
+ expect(result).toBeNull();
252
+ });
253
+ it('should validate path and methodName', async () => {
254
+ await expect(AccountService.callAccountMethodByPath('bitcoin', '', 'getAddress')).rejects.toThrow('path must be a non-empty string');
255
+ await expect(AccountService.callAccountMethodByPath('bitcoin', "9'/0/0", '')).rejects.toThrow('methodName must be a non-empty string');
256
+ });
257
+ it('should throw if callMethodByPath is missing on HRPC', async () => {
258
+ delete mockHRPC.callMethodByPath;
259
+ await expect(AccountService.callAccountMethodByPath('bitcoin', "9'/0/0", 'getAddress')).rejects.toThrow(/callMethodByPath is not available/);
260
+ });
261
+ });
215
262
  });
216
263
  //# sourceMappingURL=accountService.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accountService.test.js","sourceRoot":"","sources":["../../../src/__tests__/services/accountService.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accountService.test.js","sourceRoot":"","sources":["../../../src/__tests__/services/accountService.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,4 @@
1
1
  /**
2
2
  * Jest setup file for test configuration
3
3
  */
4
- declare const originalError: {
5
- (message?: any, ...optionalParams: any[]): void;
6
- (message?: any, ...optionalParams: any[]): void;
7
- };
4
+ declare const originalError: (message?: any, ...optionalParams: any[]) => void;
@@ -37,6 +37,7 @@ export interface UseWalletResult {
37
37
  isLoadingAddress: (network: string, accountIndex?: number) => boolean;
38
38
  getAddress: (network: string, accountIndex?: number) => Promise<string>;
39
39
  callAccountMethod: <T = unknown>(network: string, accountIndex: number, methodName: string, args?: unknown) => Promise<T>;
40
+ callAccountMethodByPath: <T = unknown>(network: string, path: string, methodName: string, args?: unknown) => Promise<T>;
40
41
  }
41
42
  export declare function useWallet(options?: {
42
43
  walletId?: string;
@@ -156,6 +156,11 @@ export function useWallet(options) {
156
156
  const walletId = targetWalletId || '__temporary__';
157
157
  return AccountService.callAccountMethod(network, accountIndex, methodName, args, walletId);
158
158
  }, [targetWalletId]);
159
+ // Call a method on a wallet account resolved by BIP relative path
160
+ const callAccountMethodByPath = useCallback(async (network, path, methodName, args) => {
161
+ const walletId = targetWalletId || '__temporary__';
162
+ return AccountService.callAccountMethodByPath(network, path, methodName, args, walletId);
163
+ }, [targetWalletId]);
159
164
  // Memoize the entire result object to ensure stable reference
160
165
  // useShallow already provides stable references for addresses and walletLoading
161
166
  // We memoize the result object to prevent creating new objects on every render
@@ -175,6 +180,7 @@ export function useWallet(options) {
175
180
  // Actions
176
181
  getAddress,
177
182
  callAccountMethod,
183
+ callAccountMethodByPath,
178
184
  }), [
179
185
  addresses,
180
186
  walletLoading,
@@ -187,6 +193,7 @@ export function useWallet(options) {
187
193
  isLoadingAddress,
188
194
  getAddress,
189
195
  callAccountMethod,
196
+ callAccountMethodByPath,
190
197
  ]);
191
198
  return result;
192
199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useWallet.js","sourceRoot":"","sources":["../../src/hooks/useWallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useWallet.js","sourceRoot":"","sources":["../../src/hooks/useWallet.ts"],"names":[],"mappings":"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"}
@@ -49,4 +49,27 @@ export declare class AccountService {
49
49
  * ```
50
50
  */
51
51
  static callAccountMethod<T = unknown>(network: string, accountIndex: number, methodName: string, args?: unknown, walletId?: string): Promise<T>;
52
+ /**
53
+ * Call a method on a wallet account resolved by BIP relative derivation path
54
+ * via worklet `callMethodByPath` → `wdk.getAccountByPath(network, path)`.
55
+ *
56
+ * Path is the wallet-relative BIP suffix (e.g. `"0'/0/0"` or `"9'/0/1"`),
57
+ * not the full `m/86'/0'/…` path.
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * const address = await AccountService.callAccountMethodByPath(
62
+ * 'bitcoin',
63
+ * "9'/0/0",
64
+ * 'getAddress'
65
+ * )
66
+ * const scriptPubKeyHex = await AccountService.callAccountMethodByPath(
67
+ * 'bitcoin',
68
+ * "9'/0/0",
69
+ * 'getScriptPubKeyHex',
70
+ * address
71
+ * )
72
+ * ```
73
+ */
74
+ static callAccountMethodByPath<T = unknown>(network: string, path: string, methodName: string, args?: unknown, walletId?: string): Promise<T>;
52
75
  }
@@ -115,5 +115,79 @@ export class AccountService {
115
115
  });
116
116
  }
117
117
  }
118
+ /**
119
+ * Call a method on a wallet account resolved by BIP relative derivation path
120
+ * via worklet `callMethodByPath` → `wdk.getAccountByPath(network, path)`.
121
+ *
122
+ * Path is the wallet-relative BIP suffix (e.g. `"0'/0/0"` or `"9'/0/1"`),
123
+ * not the full `m/86'/0'/…` path.
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * const address = await AccountService.callAccountMethodByPath(
128
+ * 'bitcoin',
129
+ * "9'/0/0",
130
+ * 'getAddress'
131
+ * )
132
+ * const scriptPubKeyHex = await AccountService.callAccountMethodByPath(
133
+ * 'bitcoin',
134
+ * "9'/0/0",
135
+ * 'getScriptPubKeyHex',
136
+ * address
137
+ * )
138
+ * ```
139
+ */
140
+ static async callAccountMethodByPath(network, path, methodName, args, walletId) {
141
+ if (typeof methodName !== 'string' || methodName.trim().length === 0) {
142
+ throw new Error('methodName must be a non-empty string');
143
+ }
144
+ if (typeof path !== 'string' || path.trim().length === 0) {
145
+ throw new Error('path must be a non-empty string');
146
+ }
147
+ validateNetworkName(network);
148
+ const hrpc = requireInitialized();
149
+ if (typeof hrpc.callMethodByPath !== 'function') {
150
+ throw new Error('HRPC.callMethodByPath is not available — upgrade @spacesops/pear-wrk-wdk');
151
+ }
152
+ let argsString = null;
153
+ if (args !== undefined && args !== null) {
154
+ argsString = safeStringify(args);
155
+ }
156
+ const trimmedPath = path.trim();
157
+ try {
158
+ const response = await hrpc.callMethodByPath({
159
+ methodName,
160
+ network,
161
+ path: trimmedPath,
162
+ args: argsString,
163
+ });
164
+ const validatedResponse = workletResponseSchema.parse(response);
165
+ // Some account methods (e.g. getTaprootKeyMaterialHex) intentionally return null
166
+ if (validatedResponse.result === null || validatedResponse.result === undefined) {
167
+ throw new Error(`Method ${methodName} returned no result`);
168
+ }
169
+ let parsed;
170
+ try {
171
+ parsed = JSON.parse(validatedResponse.result);
172
+ }
173
+ catch (error) {
174
+ throw new Error(`Failed to parse result from ${methodName}: ${error instanceof Error ? error.message : String(error)}`);
175
+ }
176
+ if (methodName === 'getBalance' || methodName === 'getTokenBalance') {
177
+ if (typeof parsed !== 'string' || !/^\d+$/.test(parsed)) {
178
+ throw new Error(`Invalid balance format: ${parsed}`);
179
+ }
180
+ }
181
+ return convertBigIntToString(parsed);
182
+ }
183
+ catch (error) {
184
+ handleServiceError(error, 'AccountService', `callAccountMethodByPath:${methodName}`, {
185
+ network,
186
+ path: trimmedPath,
187
+ methodName,
188
+ ...(walletId ? { walletId } : {}),
189
+ });
190
+ }
191
+ }
118
192
  }
119
193
  //# sourceMappingURL=accountService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accountService.js","sourceRoot":"","sources":["../../src/services/accountService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accountService.js","sourceRoot":"","sources":["../../src/services/accountService.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -163,6 +163,8 @@ export interface TokenHelpers {
163
163
  export interface WalletStore {
164
164
  /** Call a method on a wallet account */
165
165
  callAccountMethod: <T = unknown>(network: string, accountIndex: number, methodName: string, args?: unknown) => Promise<T>;
166
+ /** Call a method on a wallet account resolved by BIP relative path */
167
+ callAccountMethodByPath?: <T = unknown>(network: string, path: string, methodName: string, args?: unknown) => Promise<T>;
166
168
  /** Check if the wallet is initialized */
167
169
  isWalletInitialized: () => boolean;
168
170
  }
@@ -33,6 +33,6 @@ export declare function getWalletAddresses(walletStore: {
33
33
  *
34
34
  * @returns Base wallet store implementation
35
35
  */
36
- export declare function createBaseWalletStore(): Pick<WalletStore, 'callAccountMethod' | 'isWalletInitialized'> & {
36
+ export declare function createBaseWalletStore(): Pick<WalletStore, 'callAccountMethod' | 'callAccountMethodByPath' | 'isWalletInitialized'> & {
37
37
  getWalletAddresses: (accountIndex: number) => Record<string, string>;
38
38
  };
@@ -76,6 +76,9 @@ export function createBaseWalletStore() {
76
76
  callAccountMethod: async (network, accountIndex, methodName, args) => {
77
77
  return AccountService.callAccountMethod(network, accountIndex, methodName, args);
78
78
  },
79
+ callAccountMethodByPath: async (network, path, methodName, args) => {
80
+ return AccountService.callAccountMethodByPath(network, path, methodName, args);
81
+ },
79
82
  isWalletInitialized: () => {
80
83
  return workletStore.getState().isInitialized;
81
84
  },
@@ -1 +1 @@
1
- {"version":3,"file":"walletUtils.js","sourceRoot":"","sources":["../../src/utils/walletUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAIvD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAgD,EAChD,YAAoB;IAEpB,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAA;IACpC,MAAM,SAAS,GAA2B,EAAE,CAAA;IAE5C,0CAA0C;IAC1C,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAA;IAE3C,4DAA4D;IAC5D,yGAAyG;IACzG,IAAI,cAAc,IAAI,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QACtD,iCAAiC;QACjC,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QACvD,iFAAiF;QACjF,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,EAAE;YACtE,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;gBAC7D,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAA;gBAC9C,IAAI,OAAO,EAAE,CAAC;oBACZ,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,2FAA2F;QAC3F,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;YACzD,IAAI,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;gBAC3D,iFAAiF;gBACjF,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,EAAE;oBACtE,IAAI,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;wBAC7D,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAA;wBAC9C,IAAI,OAAO,EAAE,CAAC;4BACZ,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;wBAC9B,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB;IAGnC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,OAAO;QACL,iBAAiB,EAAE,KAAK,EACtB,OAAe,EACf,YAAoB,EACpB,UAAkB,EAClB,IAAc,EACF,EAAE;YACd,OAAO,cAAc,CAAC,iBAAiB,CAAI,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;QACrF,CAAC;QAED,mBAAmB,EAAE,GAAG,EAAE;YACxB,OAAO,YAAY,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAA;QAC9C,CAAC;QAED,kBAAkB,EAAE,CAAC,YAAoB,EAAE,EAAE;YAC3C,OAAO,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QACtD,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"walletUtils.js","sourceRoot":"","sources":["../../src/utils/walletUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spacesops/wdk-react-native-core",
3
- "version": "1.0.0-beta.63",
3
+ "version": "1.0.0-beta.65",
4
4
  "description": "Core functionality for React Native wallets - wallet management, balance fetching, and worklet operations",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -53,7 +53,7 @@
53
53
  "author": "Spacesops",
54
54
  "license": "Apache-2.0",
55
55
  "dependencies": {
56
- "@spacesops/pear-wrk-wdk": "1.1.1-beta.50",
56
+ "@spacesops/pear-wrk-wdk": "1.1.1-beta.51",
57
57
  "@spacesops/react-native-bare-kit": "0.11.0-beta.49",
58
58
  "@tanstack/react-query": "^5.0.0",
59
59
  "@tetherto/wdk-react-native-secure-storage": "1.0.0-beta.5",
@@ -333,5 +333,84 @@ describe('AccountService', () => {
333
333
  ).rejects.toThrow()
334
334
  })
335
335
  })
336
- })
337
336
 
337
+ describe('callAccountMethodByPath', () => {
338
+ beforeEach(() => {
339
+ mockHRPC.callMethodByPath = jest.fn()
340
+ })
341
+
342
+ it('should call method by path and return result', async () => {
343
+ mockHRPC.callMethodByPath.mockResolvedValue({
344
+ result: JSON.stringify('bc1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'),
345
+ })
346
+
347
+ const result = await AccountService.callAccountMethodByPath(
348
+ 'bitcoin',
349
+ "9'/0/0",
350
+ 'getAddress'
351
+ )
352
+
353
+ expect(result).toBe('bc1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq')
354
+ expect(mockHRPC.callMethodByPath).toHaveBeenCalledWith({
355
+ methodName: 'getAddress',
356
+ network: 'bitcoin',
357
+ path: "9'/0/0",
358
+ args: null,
359
+ })
360
+ })
361
+
362
+ it('should pass string args for getScriptPubKeyHex', async () => {
363
+ const address = 'bc1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq'
364
+ mockHRPC.callMethodByPath.mockResolvedValue({
365
+ result: JSON.stringify('5120abcd'),
366
+ })
367
+
368
+ const result = await AccountService.callAccountMethodByPath(
369
+ 'bitcoin',
370
+ "9'/0/1",
371
+ 'getScriptPubKeyHex',
372
+ address
373
+ )
374
+
375
+ expect(result).toBe('5120abcd')
376
+ expect(mockHRPC.callMethodByPath).toHaveBeenCalledWith({
377
+ methodName: 'getScriptPubKeyHex',
378
+ network: 'bitcoin',
379
+ path: "9'/0/1",
380
+ args: JSON.stringify(address),
381
+ })
382
+ })
383
+
384
+ it('should allow null JSON results (e.g. missing taproot keys)', async () => {
385
+ mockHRPC.callMethodByPath.mockResolvedValue({
386
+ result: JSON.stringify(null),
387
+ })
388
+
389
+ const result = await AccountService.callAccountMethodByPath(
390
+ 'bitcoin',
391
+ "9'/0/0",
392
+ 'getTaprootKeyMaterialHex'
393
+ )
394
+
395
+ expect(result).toBeNull()
396
+ })
397
+
398
+ it('should validate path and methodName', async () => {
399
+ await expect(
400
+ AccountService.callAccountMethodByPath('bitcoin', '', 'getAddress')
401
+ ).rejects.toThrow('path must be a non-empty string')
402
+
403
+ await expect(
404
+ AccountService.callAccountMethodByPath('bitcoin', "9'/0/0", '')
405
+ ).rejects.toThrow('methodName must be a non-empty string')
406
+ })
407
+
408
+ it('should throw if callMethodByPath is missing on HRPC', async () => {
409
+ delete mockHRPC.callMethodByPath
410
+
411
+ await expect(
412
+ AccountService.callAccountMethodByPath('bitcoin', "9'/0/0", 'getAddress')
413
+ ).rejects.toThrow(/callMethodByPath is not available/)
414
+ })
415
+ })
416
+ })
@@ -105,6 +105,12 @@ export interface UseWalletResult {
105
105
  methodName: string,
106
106
  args?: unknown
107
107
  ) => Promise<T>
108
+ callAccountMethodByPath: <T = unknown>(
109
+ network: string,
110
+ path: string,
111
+ methodName: string,
112
+ args?: unknown
113
+ ) => Promise<T>
108
114
  }
109
115
 
110
116
  export function useWallet(options?: {
@@ -250,6 +256,17 @@ export function useWallet(options?: {
250
256
  return AccountService.callAccountMethod<T>(network, accountIndex, methodName, args, walletId)
251
257
  }, [targetWalletId])
252
258
 
259
+ // Call a method on a wallet account resolved by BIP relative path
260
+ const callAccountMethodByPath = useCallback(async <T = unknown>(
261
+ network: string,
262
+ path: string,
263
+ methodName: string,
264
+ args?: unknown
265
+ ): Promise<T> => {
266
+ const walletId = targetWalletId || '__temporary__'
267
+ return AccountService.callAccountMethodByPath<T>(network, path, methodName, args, walletId)
268
+ }, [targetWalletId])
269
+
253
270
  // Memoize the entire result object to ensure stable reference
254
271
  // useShallow already provides stable references for addresses and walletLoading
255
272
  // We memoize the result object to prevent creating new objects on every render
@@ -269,6 +286,7 @@ export function useWallet(options?: {
269
286
  // Actions
270
287
  getAddress,
271
288
  callAccountMethod,
289
+ callAccountMethodByPath,
272
290
  }), [
273
291
  addresses,
274
292
  walletLoading,
@@ -281,6 +299,7 @@ export function useWallet(options?: {
281
299
  isLoadingAddress,
282
300
  getAddress,
283
301
  callAccountMethod,
302
+ callAccountMethodByPath,
284
303
  ]);
285
304
 
286
305
  return result;
@@ -130,5 +130,99 @@ export class AccountService {
130
130
  })
131
131
  }
132
132
  }
133
+
134
+ /**
135
+ * Call a method on a wallet account resolved by BIP relative derivation path
136
+ * via worklet `callMethodByPath` → `wdk.getAccountByPath(network, path)`.
137
+ *
138
+ * Path is the wallet-relative BIP suffix (e.g. `"0'/0/0"` or `"9'/0/1"`),
139
+ * not the full `m/86'/0'/…` path.
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * const address = await AccountService.callAccountMethodByPath(
144
+ * 'bitcoin',
145
+ * "9'/0/0",
146
+ * 'getAddress'
147
+ * )
148
+ * const scriptPubKeyHex = await AccountService.callAccountMethodByPath(
149
+ * 'bitcoin',
150
+ * "9'/0/0",
151
+ * 'getScriptPubKeyHex',
152
+ * address
153
+ * )
154
+ * ```
155
+ */
156
+ static async callAccountMethodByPath<T = unknown>(
157
+ network: string,
158
+ path: string,
159
+ methodName: string,
160
+ args?: unknown,
161
+ walletId?: string
162
+ ): Promise<T> {
163
+ if (typeof methodName !== 'string' || methodName.trim().length === 0) {
164
+ throw new Error('methodName must be a non-empty string')
165
+ }
166
+ if (typeof path !== 'string' || path.trim().length === 0) {
167
+ throw new Error('path must be a non-empty string')
168
+ }
169
+
170
+ validateNetworkName(network)
171
+
172
+ const hrpc = requireInitialized()
173
+
174
+ if (typeof hrpc.callMethodByPath !== 'function') {
175
+ throw new Error(
176
+ 'HRPC.callMethodByPath is not available — upgrade @spacesops/pear-wrk-wdk'
177
+ )
178
+ }
179
+
180
+ let argsString: string | null = null
181
+ if (args !== undefined && args !== null) {
182
+ argsString = safeStringify(args)
183
+ }
184
+
185
+ const trimmedPath = path.trim()
186
+
187
+ try {
188
+ const response = await hrpc.callMethodByPath({
189
+ methodName,
190
+ network,
191
+ path: trimmedPath,
192
+ args: argsString,
193
+ })
194
+
195
+ const validatedResponse = workletResponseSchema.parse(response)
196
+
197
+ // Some account methods (e.g. getTaprootKeyMaterialHex) intentionally return null
198
+ if (validatedResponse.result === null || validatedResponse.result === undefined) {
199
+ throw new Error(`Method ${methodName} returned no result`)
200
+ }
201
+
202
+ let parsed: T
203
+ try {
204
+ parsed = JSON.parse(validatedResponse.result) as T
205
+ } catch (error) {
206
+ throw new Error(
207
+ `Failed to parse result from ${methodName}: ${error instanceof Error ? error.message : String(error)}`
208
+ )
209
+ }
210
+
211
+ if (methodName === 'getBalance' || methodName === 'getTokenBalance') {
212
+ if (typeof parsed !== 'string' || !/^\d+$/.test(parsed)) {
213
+ throw new Error(`Invalid balance format: ${parsed}`)
214
+ }
215
+ }
216
+
217
+ return convertBigIntToString(parsed) as T
218
+ } catch (error) {
219
+ handleServiceError(error, 'AccountService', `callAccountMethodByPath:${methodName}`, {
220
+ network,
221
+ path: trimmedPath,
222
+ methodName,
223
+ ...(walletId ? { walletId } : {}),
224
+ })
225
+ }
226
+ }
133
227
  }
134
228
 
package/src/types.ts CHANGED
@@ -183,6 +183,13 @@ export interface WalletStore {
183
183
  methodName: string,
184
184
  args?: unknown
185
185
  ) => Promise<T>
186
+ /** Call a method on a wallet account resolved by BIP relative path */
187
+ callAccountMethodByPath?: <T = unknown>(
188
+ network: string,
189
+ path: string,
190
+ methodName: string,
191
+ args?: unknown
192
+ ) => Promise<T>
186
193
  /** Check if the wallet is initialized */
187
194
  isWalletInitialized: () => boolean
188
195
  }
@@ -79,7 +79,10 @@ export function getWalletAddresses(
79
79
  *
80
80
  * @returns Base wallet store implementation
81
81
  */
82
- export function createBaseWalletStore(): Pick<WalletStore, 'callAccountMethod' | 'isWalletInitialized'> & {
82
+ export function createBaseWalletStore(): Pick<
83
+ WalletStore,
84
+ 'callAccountMethod' | 'callAccountMethodByPath' | 'isWalletInitialized'
85
+ > & {
83
86
  getWalletAddresses: (accountIndex: number) => Record<string, string>
84
87
  } {
85
88
  const workletStore = getWorkletStore()
@@ -95,6 +98,15 @@ export function createBaseWalletStore(): Pick<WalletStore, 'callAccountMethod' |
95
98
  return AccountService.callAccountMethod<T>(network, accountIndex, methodName, args)
96
99
  },
97
100
 
101
+ callAccountMethodByPath: async <T = unknown>(
102
+ network: string,
103
+ path: string,
104
+ methodName: string,
105
+ args?: unknown
106
+ ): Promise<T> => {
107
+ return AccountService.callAccountMethodByPath<T>(network, path, methodName, args)
108
+ },
109
+
98
110
  isWalletInitialized: () => {
99
111
  return workletStore.getState().isInitialized
100
112
  },