@onekeyfe/hd-core 1.2.0-alpha.26 → 1.2.0-alpha.28

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 (51) hide show
  1. package/__tests__/DeviceCommands.test.ts +28 -0
  2. package/__tests__/device-lifecycle-events.test.ts +21 -0
  3. package/__tests__/deviceSettings.test.ts +4 -4
  4. package/__tests__/firmware-update/check-all-firmware-release.test.ts +48 -1
  5. package/__tests__/firmware-update/firmware-preparation-error.test.ts +27 -0
  6. package/__tests__/firmware-update/firmware-update-plan.test.ts +239 -0
  7. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +20 -1
  8. package/__tests__/kaspa-use-tweak-pro2.test.ts +20 -0
  9. package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
  10. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  11. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  12. package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
  13. package/dist/api/firmware/FirmwarePreparationError.d.ts +3 -0
  14. package/dist/api/firmware/FirmwarePreparationError.d.ts.map +1 -0
  15. package/dist/api/firmware/FirmwareUpdatePlan.d.ts +4 -2
  16. package/dist/api/firmware/FirmwareUpdatePlan.d.ts.map +1 -1
  17. package/dist/api/kaspa/KaspaGetAddress.d.ts +3 -0
  18. package/dist/api/kaspa/KaspaGetAddress.d.ts.map +1 -1
  19. package/dist/api/kaspa/KaspaSignTransaction.d.ts +3 -0
  20. package/dist/api/kaspa/KaspaSignTransaction.d.ts.map +1 -1
  21. package/dist/device/Device.d.ts +1 -0
  22. package/dist/device/Device.d.ts.map +1 -1
  23. package/dist/device/DeviceCommands.d.ts.map +1 -1
  24. package/dist/index.d.ts +6 -1
  25. package/dist/index.js +146 -48
  26. package/dist/types/api/checkAllFirmwareRelease.d.ts +2 -1
  27. package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
  28. package/dist/types/api/export.d.ts +1 -1
  29. package/dist/types/api/export.d.ts.map +1 -1
  30. package/dist/types/api/firmwareUpdatePlan.d.ts +1 -0
  31. package/dist/types/api/firmwareUpdatePlan.d.ts.map +1 -1
  32. package/dist/types/device.d.ts +1 -0
  33. package/dist/types/device.d.ts.map +1 -1
  34. package/dist/utils/deviceSettings.d.ts.map +1 -1
  35. package/package.json +4 -4
  36. package/src/api/CheckAllFirmwareRelease.ts +8 -1
  37. package/src/api/FirmwareUpdateV2.ts +3 -5
  38. package/src/api/FirmwareUpdateV3.ts +3 -2
  39. package/src/api/FirmwareUpdateV4.ts +2 -1
  40. package/src/api/firmware/FirmwarePreparationError.ts +12 -0
  41. package/src/api/firmware/FirmwareUpdatePlan.ts +165 -48
  42. package/src/api/kaspa/KaspaGetAddress.ts +3 -0
  43. package/src/api/kaspa/KaspaSignTransaction.ts +3 -0
  44. package/src/data-manager/TransportManager.ts +1 -1
  45. package/src/device/Device.ts +7 -0
  46. package/src/device/DeviceCommands.ts +10 -4
  47. package/src/types/api/checkAllFirmwareRelease.ts +2 -1
  48. package/src/types/api/export.ts +1 -0
  49. package/src/types/api/firmwareUpdatePlan.ts +2 -0
  50. package/src/types/device.ts +2 -0
  51. package/src/utils/deviceSettings.ts +11 -1
@@ -234,6 +234,34 @@ describe('DeviceCommands failure mapping', () => {
234
234
  }
235
235
  );
236
236
 
237
+ it.each(['Cancelled', 'User cancelled typed data signing'])(
238
+ 'maps the Protocol V2 MP engine cancellation response "%s" to ActionCancelled',
239
+ async message => {
240
+ const commands = createCommands();
241
+
242
+ await expect(
243
+ commands._filterCommonTypes(
244
+ {
245
+ type: 'Failure',
246
+ message: {
247
+ code: 'Failure_ProcessError',
248
+ subcode: 1,
249
+ message,
250
+ },
251
+ } as any,
252
+ 'SignTx'
253
+ )
254
+ ).rejects.toMatchObject({
255
+ errorCode: HardwareErrorCode.ActionCancelled,
256
+ params: {
257
+ failureCode: 'Failure_ProcessError',
258
+ subcode: 1,
259
+ firmwareMessage: message,
260
+ },
261
+ });
262
+ }
263
+ );
264
+
237
265
  it('does not use the legacy cancellation-message fallback for Protocol V1', async () => {
238
266
  const commands = createCommands();
239
267
  (commands.device.isProtocolV2 as jest.Mock).mockReturnValue(false);
@@ -118,6 +118,25 @@ describe('public device lifecycle events', () => {
118
118
  expect(device.isUsedHere()).toBe(false);
119
119
  });
120
120
 
121
+ test('exposes the current transport usage state in public device snapshots', () => {
122
+ const getSettings = jest
123
+ .spyOn(DataManager, 'getSettings')
124
+ .mockReturnValue('desktop-web-ble' as never);
125
+ const device = createInitializedDevice('V2');
126
+
127
+ expect(device.toMessageObject()?.status).toBe('available');
128
+
129
+ (device as unknown as { deviceAcquired: boolean }).deviceAcquired = true;
130
+ expect(device.toMessageObject()?.status).toBe('used');
131
+
132
+ device.markTransportDisconnected();
133
+ expect(device.toMessageObject()?.status).toBe('available');
134
+
135
+ getSettings.mockReturnValue('web' as never);
136
+ device.originalDescriptor.session = 'external-session';
137
+ expect(device.toMessageObject()?.status).toBe('occupied');
138
+ });
139
+
121
140
  test.each([
122
141
  ['react-native', 'V1'],
123
142
  ['react-native', 'V2'],
@@ -154,6 +173,7 @@ describe('public device lifecycle events', () => {
154
173
  connectId: 'ble-connect-id',
155
174
  serialNo: 'SERIAL-001',
156
175
  uuid: 'SERIAL-001',
176
+ status: 'available',
157
177
  label: 'OneKey Test',
158
178
  state: { protocol },
159
179
  });
@@ -161,6 +181,7 @@ describe('public device lifecycle events', () => {
161
181
  connectId: 'ble-connect-id',
162
182
  serialNo: 'SERIAL-001',
163
183
  uuid: 'SERIAL-001',
184
+ status: 'available',
164
185
  label: 'Updated label',
165
186
  state: { protocol },
166
187
  });
@@ -15,16 +15,16 @@ describe('Pro 2 device settings options', () => {
15
15
  expect(getLanguageConfig(EDeviceType.Pro2)).toEqual([
16
16
  { code: 'en', label: 'English' },
17
17
  { code: 'zh_cn', label: '简体中文' },
18
- { code: 'zh_hk', label: '繁體中文' },
18
+ { code: 'zh_hk', label: '繁體中文(香港)' },
19
+ { code: 'zh-Hant-TW', label: '繁體中文(台灣)' },
19
20
  { code: 'ja', label: '日本語' },
20
21
  { code: 'ko', label: '한국어' },
21
22
  { code: 'fr', label: 'Français' },
22
23
  { code: 'de', label: 'Deutsch' },
23
- { code: 'ru', label: 'Russian' },
24
- { code: 'es', label: 'Spanish' },
24
+ { code: 'ru', label: 'Русский' },
25
+ { code: 'es', label: 'Español' },
25
26
  { code: 'it', label: 'Italiano' },
26
27
  { code: 'pt_br', label: 'Portuguese (Brazil)' },
27
- { code: 'zh-Hant-TW', label: '繁體中文(台灣)' },
28
28
  { code: 'vi-Latn-VN', label: 'Tiếng Việt' },
29
29
  { code: 'tr-Latn-TR', label: 'Türkçe' },
30
30
  { code: 'id-Latn-ID', label: 'Bahasa Indonesia' },
@@ -1,4 +1,4 @@
1
- import { ERRORS, EDeviceType, EFirmwareType, HardwareErrorCode } from '@onekeyfe/hd-shared';
1
+ import { EDeviceType, EFirmwareType, ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
2
2
 
3
3
  import CheckAllFirmwareRelease from '../../src/api/CheckAllFirmwareRelease';
4
4
  import { buildFirmwareUpdatePlan } from '../../src/api/firmware/FirmwareUpdatePlan';
@@ -15,6 +15,7 @@ jest.mock('../../src/data/config', () => ({
15
15
 
16
16
  jest.mock('../../src/api/firmware/FirmwareUpdatePlan', () => ({
17
17
  buildFirmwareUpdatePlan: jest.fn(),
18
+ validateFirmwareUpdatePlanForceTargets: jest.fn(value => value ?? []),
18
19
  }));
19
20
 
20
21
  jest.mock('../../src/api/firmware/releaseHelper', () => ({
@@ -62,6 +63,15 @@ const createMethod = (serialNo = 'device-id') => {
62
63
  return method;
63
64
  };
64
65
 
66
+ const createMethodWithForceTargets = () => {
67
+ const method = createMethod();
68
+ method.payload = {
69
+ ...method.payload,
70
+ forceUpdateTargets: ['firmware', 'resource'],
71
+ };
72
+ return method;
73
+ };
74
+
65
75
  describe('CheckAllFirmwareRelease', () => {
66
76
  beforeEach(() => {
67
77
  jest.clearAllMocks();
@@ -116,6 +126,43 @@ describe('CheckAllFirmwareRelease', () => {
116
126
  );
117
127
  });
118
128
 
129
+ test('passes host-selected update targets to the Plan builder', async () => {
130
+ mockBuildFirmwareUpdatePlan.mockReturnValue({
131
+ schemaVersion: 2,
132
+ planDigest: 'a'.repeat(64),
133
+ executor: 'v2',
134
+ deviceIdentity: 'device-id',
135
+ deviceModel: EDeviceType.Classic1s,
136
+ firmwareType: EFirmwareType.Universal,
137
+ platform: 'native',
138
+ artifacts: [],
139
+ targetsToUpdate: [],
140
+ });
141
+
142
+ await createMethodWithForceTargets().run();
143
+
144
+ expect(mockBuildFirmwareUpdatePlan).toHaveBeenCalledWith(
145
+ expect.objectContaining({
146
+ forceUpdateTargets: ['firmware', 'resource'],
147
+ })
148
+ );
149
+ });
150
+
151
+ test('does not hide a Plan failure for an explicitly forced target', async () => {
152
+ const planError = ERRORS.TypedError(
153
+ HardwareErrorCode.RuntimeError,
154
+ 'Forced firmware target is unavailable',
155
+ {
156
+ firmwareUpdateCode: 'FirmwarePlanInvalid',
157
+ }
158
+ );
159
+ mockBuildFirmwareUpdatePlan.mockImplementation(() => {
160
+ throw planError;
161
+ });
162
+
163
+ await expect(createMethodWithForceTargets().run()).rejects.toBe(planError);
164
+ });
165
+
119
166
  test('does not hide unexpected Plan builder failures', async () => {
120
167
  const unexpectedError = new Error('unexpected builder failure');
121
168
  mockBuildFirmwareUpdatePlan.mockImplementation(() => {
@@ -0,0 +1,27 @@
1
+ import { ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
2
+
3
+ import { normalizeFirmwarePreparationError } from '../../src/api/firmware/FirmwarePreparationError';
4
+
5
+ describe('normalizeFirmwarePreparationError', () => {
6
+ test('preserves structured firmware invariant errors', () => {
7
+ const error = ERRORS.TypedError(
8
+ HardwareErrorCode.RuntimeError,
9
+ 'Firmware must be prepared by the external firmware host',
10
+ {
11
+ firmwareUpdateCode: 'FirmwareArtifactsNotPrepared',
12
+ artifactName: 'firmware',
13
+ }
14
+ );
15
+
16
+ expect(normalizeFirmwarePreparationError(error)).toBe(error);
17
+ });
18
+
19
+ test('wraps ordinary preparation failures as firmware download errors', () => {
20
+ const error = normalizeFirmwarePreparationError(new Error('request failed'));
21
+
22
+ expect(error).toMatchObject({
23
+ errorCode: HardwareErrorCode.FirmwareUpdateDownloadFailed,
24
+ message: 'request failed',
25
+ });
26
+ });
27
+ });
@@ -25,6 +25,63 @@ const noUpdate = {
25
25
  release: undefined,
26
26
  };
27
27
 
28
+ const expectFirmwarePlanInvalid = (build: () => unknown, expectedMessage?: string) => {
29
+ let thrown: unknown;
30
+ try {
31
+ build();
32
+ } catch (error) {
33
+ thrown = error;
34
+ }
35
+ expect(thrown).toMatchObject({
36
+ params: {
37
+ firmwareUpdateCode: 'FirmwarePlanInvalid',
38
+ },
39
+ });
40
+ if (expectedMessage) {
41
+ expect(thrown).toBeInstanceOf(Error);
42
+ expect((thrown as Error).message).toContain(expectedMessage);
43
+ }
44
+ };
45
+
46
+ type BuildPlanInput = Parameters<typeof buildFirmwareUpdatePlan>[0];
47
+
48
+ const createLegacyForceInput = (
49
+ forceUpdateTargets: unknown,
50
+ release: Record<string, unknown> = {
51
+ url: 'https://firmware.onekey.so/pro/firmware.bin',
52
+ version: [4, 21, 0],
53
+ }
54
+ ): BuildPlanInput => ({
55
+ features: createFeatures({
56
+ deviceType: EDeviceType.Pro,
57
+ firmwareVersion: '4.21.0',
58
+ bootloaderVersion: '2.8.4',
59
+ }),
60
+ firmwareType: EFirmwareType.Universal,
61
+ platform: 'desktop',
62
+ firmware: { status: 'valid', release },
63
+ ble: noUpdate,
64
+ bootloader: noUpdate,
65
+ forceUpdateTargets: forceUpdateTargets as BuildPlanInput['forceUpdateTargets'],
66
+ });
67
+
68
+ const createProtocolV2ForceInput = (
69
+ forceUpdateTargets: unknown,
70
+ release: Record<string, unknown>
71
+ ): BuildPlanInput => ({
72
+ features: createFeatures({
73
+ deviceType: EDeviceType.Pro2,
74
+ firmwareVersion: '1.0.0',
75
+ bootloaderVersion: '1.0.0',
76
+ }),
77
+ firmwareType: EFirmwareType.Universal,
78
+ platform: 'desktop',
79
+ firmware: { status: 'valid', release },
80
+ ble: noUpdate,
81
+ bootloader: noUpdate,
82
+ forceUpdateTargets: forceUpdateTargets as BuildPlanInput['forceUpdateTargets'],
83
+ });
84
+
28
85
  describe('buildFirmwareUpdatePlan', () => {
29
86
  test('selects all legacy artifacts before execution and chooses the desktop full resource', () => {
30
87
  const plan = buildFirmwareUpdatePlan({
@@ -122,6 +179,188 @@ describe('buildFirmwareUpdatePlan', () => {
122
179
  expect(plan.platform).toBe('native');
123
180
  });
124
181
 
182
+ test('includes same-version legacy artifacts selected by the host', () => {
183
+ const plan = buildFirmwareUpdatePlan({
184
+ features: createFeatures({
185
+ deviceType: EDeviceType.Pro,
186
+ firmwareVersion: '4.21.0',
187
+ bootloaderVersion: '2.8.4',
188
+ }),
189
+ firmwareType: EFirmwareType.Universal,
190
+ platform: 'desktop',
191
+ firmware: {
192
+ status: 'valid',
193
+ release: {
194
+ url: 'https://firmware.onekey.so/pro/firmware.bin',
195
+ version: [4, 21, 0],
196
+ resource: 'https://firmware.onekey.so/pro/resource.zip',
197
+ },
198
+ },
199
+ ble: {
200
+ status: 'valid',
201
+ release: {
202
+ webUpdate: 'https://firmware.onekey.so/pro/ble.bin',
203
+ version: [2, 3, 7],
204
+ },
205
+ },
206
+ bootloader: {
207
+ status: 'valid',
208
+ release: {
209
+ bootloaderResource: 'https://firmware.onekey.so/pro/bootloader.bin',
210
+ bootloaderVersion: [2, 8, 4],
211
+ },
212
+ },
213
+ forceUpdateTargets: ['firmware', 'resource', 'ble', 'bootloader'],
214
+ });
215
+
216
+ expect(plan.executor).toBe('v3');
217
+ expect(plan.artifacts.map(artifact => artifact.artifactId)).toEqual([
218
+ 'bootloader',
219
+ 'firmware',
220
+ 'resource',
221
+ 'ble',
222
+ ]);
223
+ expect(plan.targetsToUpdate).toEqual(['bootloader', 'firmware', 'resource', 'ble']);
224
+ });
225
+
226
+ test('does not include a same-version resource unless the host selects it', () => {
227
+ const plan = buildFirmwareUpdatePlan({
228
+ features: createFeatures({
229
+ deviceType: EDeviceType.Pro,
230
+ firmwareVersion: '4.21.0',
231
+ bootloaderVersion: '2.8.4',
232
+ }),
233
+ firmwareType: EFirmwareType.Universal,
234
+ platform: 'desktop',
235
+ firmware: {
236
+ status: 'valid',
237
+ release: {
238
+ url: 'https://firmware.onekey.so/pro/firmware.bin',
239
+ version: [4, 21, 0],
240
+ resource: 'https://firmware.onekey.so/pro/resource.zip',
241
+ },
242
+ },
243
+ ble: noUpdate,
244
+ bootloader: noUpdate,
245
+ forceUpdateTargets: ['firmware'],
246
+ });
247
+
248
+ expect(plan.artifacts.map(artifact => artifact.artifactId)).toEqual(['firmware']);
249
+ expect(plan.targetsToUpdate).toEqual(['firmware']);
250
+ });
251
+
252
+ test.each([
253
+ {
254
+ label: 'a non-array value',
255
+ forceUpdateTargets: 'firmware',
256
+ },
257
+ {
258
+ label: 'an unknown target',
259
+ forceUpdateTargets: ['firmware', 'unknown'],
260
+ },
261
+ {
262
+ label: 'a duplicate target',
263
+ forceUpdateTargets: ['firmware', 'firmware'],
264
+ },
265
+ ])('rejects $label in forceUpdateTargets', ({ forceUpdateTargets }) => {
266
+ expectFirmwarePlanInvalid(() =>
267
+ buildFirmwareUpdatePlan(createLegacyForceInput(forceUpdateTargets))
268
+ );
269
+ });
270
+
271
+ test('rejects an explicitly forced legacy resource without a resource artifact', () => {
272
+ expectFirmwarePlanInvalid(() => buildFirmwareUpdatePlan(createLegacyForceInput(['resource'])));
273
+ });
274
+
275
+ test.each(['ble', 'bootloader'] as const)(
276
+ 'rejects the unsupported Pro2 %s force target',
277
+ forceTarget => {
278
+ expectFirmwarePlanInvalid(
279
+ () =>
280
+ buildFirmwareUpdatePlan(
281
+ createProtocolV2ForceInput([forceTarget], {
282
+ components: {
283
+ applicationP1: {
284
+ target: 'APPLICATION_P1',
285
+ url: 'https://firmware.onekey.so/pro2/application-p1.bin',
286
+ },
287
+ },
288
+ })
289
+ ),
290
+ 'does not support forced'
291
+ );
292
+ }
293
+ );
294
+
295
+ test.each([
296
+ {
297
+ forceTarget: 'firmware' as const,
298
+ release: {
299
+ components: {},
300
+ resourceBundles: [
301
+ {
302
+ name: 'images',
303
+ url: 'https://firmware.onekey.so/pro2/images.okpkg',
304
+ },
305
+ ],
306
+ },
307
+ },
308
+ {
309
+ forceTarget: 'resource' as const,
310
+ release: {
311
+ components: {
312
+ applicationP1: {
313
+ target: 'APPLICATION_P1',
314
+ url: 'https://firmware.onekey.so/pro2/application-p1.bin',
315
+ },
316
+ },
317
+ },
318
+ },
319
+ ])(
320
+ 'rejects a Pro2 $forceTarget force target not represented by an artifact',
321
+ ({ forceTarget, release }) => {
322
+ expectFirmwarePlanInvalid(() =>
323
+ buildFirmwareUpdatePlan(createProtocolV2ForceInput([forceTarget], release))
324
+ );
325
+ }
326
+ );
327
+
328
+ test.each([
329
+ {
330
+ forceTarget: 'firmware' as const,
331
+ expectedArtifactIds: ['component:app_v1'],
332
+ expectedTargets: ['app_v1'],
333
+ },
334
+ {
335
+ forceTarget: 'resource' as const,
336
+ expectedArtifactIds: ['resourceBundle:images'],
337
+ expectedTargets: ['resource'],
338
+ },
339
+ ])(
340
+ 'limits a Pro2 $forceTarget force to the selected artifact role',
341
+ ({ forceTarget, expectedArtifactIds, expectedTargets }) => {
342
+ const plan = buildFirmwareUpdatePlan(
343
+ createProtocolV2ForceInput([forceTarget], {
344
+ components: {
345
+ applicationP1: {
346
+ target: 'APPLICATION_P1',
347
+ url: 'https://firmware.onekey.so/pro2/application-p1.bin',
348
+ },
349
+ },
350
+ resourceBundles: [
351
+ {
352
+ name: 'images',
353
+ url: 'https://firmware.onekey.so/pro2/images.okpkg',
354
+ },
355
+ ],
356
+ })
357
+ );
358
+
359
+ expect(plan.artifacts.map(artifact => artifact.artifactId)).toEqual(expectedArtifactIds);
360
+ expect(plan.targetsToUpdate).toEqual(expectedTargets);
361
+ }
362
+ );
363
+
125
364
  test('rejects a prepared native plan without a stable device identity', () => {
126
365
  const features = createFeatures({
127
366
  deviceType: EDeviceType.Classic1s,
@@ -1,4 +1,4 @@
1
- import { EDeviceType, EFirmwareType, HardwareErrorCode } from '@onekeyfe/hd-shared';
1
+ import { EDeviceType, EFirmwareType, ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
2
2
 
3
3
  import FirmwareUpdateV2 from '../../src/api/FirmwareUpdateV2';
4
4
  import { getBinary } from '../../src/api/firmware/getBinary';
@@ -181,6 +181,25 @@ describe('FirmwareUpdateV2 download-before-reboot safety', () => {
181
181
  expect(mockUploadFirmwareFromSource).not.toHaveBeenCalled();
182
182
  });
183
183
 
184
+ it('preserves structured preparation errors before any firmware mutation', async () => {
185
+ const preparationError = ERRORS.TypedError(
186
+ HardwareErrorCode.RuntimeError,
187
+ 'Firmware must be prepared by the external firmware host',
188
+ {
189
+ firmwareUpdateCode: 'FirmwareArtifactsNotPrepared',
190
+ artifactName: 'firmware',
191
+ }
192
+ );
193
+ mockGetBinary.mockRejectedValue(preparationError);
194
+ const { method, typedCall, acquire } = createMethod();
195
+
196
+ await expect(method.run()).rejects.toBe(preparationError);
197
+
198
+ expectNoFirmwareMutationCalls(typedCall);
199
+ expect(acquire).not.toHaveBeenCalled();
200
+ expect(mockUploadFirmwareFromSource).not.toHaveBeenCalled();
201
+ });
202
+
184
203
  it.each([
185
204
  {
186
205
  mode: 'firmware release.url',
@@ -0,0 +1,20 @@
1
+ import KaspaGetAddress from '../src/api/kaspa/KaspaGetAddress';
2
+ import KaspaSignTransaction from '../src/api/kaspa/KaspaSignTransaction';
3
+
4
+ jest.mock('../src/data/config', () => ({
5
+ getSDKVersion: jest.fn(() => '1.0.0'),
6
+ DEFAULT_DOMAIN: 'https://jssdk.onekey.so/1.0.0/',
7
+ }));
8
+
9
+ describe('Kaspa Pro2 useTweak capability', () => {
10
+ test.each([
11
+ ['get address', KaspaGetAddress],
12
+ ['sign transaction', KaspaSignTransaction],
13
+ ])('allows useTweak=false for %s', (_name, Method) => {
14
+ const method = new Method({ id: 1, payload: {} } as never);
15
+
16
+ expect(method.getUseTweakVersionRange()).toMatchObject({
17
+ pro2: { min: '0.0.0' },
18
+ });
19
+ });
20
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"CheckAllFirmwareRelease.d.ts","sourceRoot":"","sources":["../../src/api/CheckAllFirmwareRelease.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAiB1C,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,sCAAsC,CAAC;AAK9C,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D,IAAI;IAME,GAAG;CA8EV"}
1
+ {"version":3,"file":"CheckAllFirmwareRelease.d.ts","sourceRoot":"","sources":["../../src/api/CheckAllFirmwareRelease.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAoB1C,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,sCAAsC,CAAC;AAK9C,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D,IAAI;IAME,GAAG;CAkFV"}
@@ -1 +1 @@
1
- {"version":3,"file":"FirmwareUpdateV2.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,aAAa,EAKnB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAsB1C,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,UAAU,CAAC;AAEtD,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAE1F,KAAK,MAAM,GAAG;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,eAAe,CAAC,EAAE,KAAK,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,yBAAyB,CAAC;KACrC,CAAC,CAAC;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,EAAE,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAC;AAkFF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,UAAU,CAAC,MAAM,CAAC;IAC9D,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI;IA6EJ,cAAc,YAAa,MAAM,UAS/B;YAEY,qCAAqC;IAkBnD,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;YAkFvC,4BAA4B;IAuB1C,qBAAqB;IAUrB,uBAAuB,CAAC,UAAU,EAAE,MAAM;IAc1C,gCAAgC,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,YAAY,EAAE,aAAa;IAwBtF,GAAG;CA4QV"}
1
+ {"version":3,"file":"FirmwareUpdateV2.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV2.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,aAAa,EAKnB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAuB1C,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,UAAU,CAAC;AAEtD,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAE1F,KAAK,MAAM,GAAG;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,eAAe,CAAC,EAAE,KAAK,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,yBAAyB,CAAC;KACrC,CAAC,CAAC;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,EAAE,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAC;AAkFF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,UAAU,CAAC,MAAM,CAAC;IAC9D,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI;IA6EJ,cAAc,YAAa,MAAM,UAS/B;YAEY,qCAAqC;IAkBnD,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;YAkFvC,4BAA4B;IAuB1C,qBAAqB;IAUrB,uBAAuB,CAAC,UAAU,EAAE,MAAM;IAc1C,gCAAgC,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,YAAY,EAAE,aAAa;IAwBtF,GAAG;CAyQV"}
@@ -1 +1 @@
1
- {"version":3,"file":"FirmwareUpdateV3.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV3.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAY/E,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,qBAAqB,CAAC;AAMnE,eAAO,MAAM,gCAAgC,UAAU,CAAC;AAaxD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,wBAAwB,CAAC,sBAAsB,CAAC;IAC5F,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,eAAe,CAA4B;IAEnD,IAAI;IAmFE,GAAG;;;;;YAQK,aAAa;IA6D3B,OAAO,CAAC,wBAAwB;YAiBlB,kBAAkB;YAelB,oBAAoB;IAKlC,OAAO,CAAC,wBAAwB;YAgBlB,oBAAoB;YA2DpB,uBAAuB;YAuBvB,4BAA4B;YA+E5B,aAAa;IAwN3B,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,sCAAsC;IAexC,sBAAsB,CAAC,OAAO,EAAE,MAAM;CAuE7C"}
1
+ {"version":3,"file":"FirmwareUpdateV3.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV3.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAY/E,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,qBAAqB,CAAC;AAMnE,eAAO,MAAM,gCAAgC,UAAU,CAAC;AAaxD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,wBAAwB,CAAC,sBAAsB,CAAC;IAC5F,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,eAAe,CAA4B;IAEnD,IAAI;IAmFE,GAAG;;;;;YAQK,aAAa;IA6D3B,OAAO,CAAC,wBAAwB;YAiBlB,kBAAkB;YAelB,oBAAoB;IAKlC,OAAO,CAAC,wBAAwB;YAgBlB,oBAAoB;YA2DpB,uBAAuB;YAuBvB,4BAA4B;YA+E5B,aAAa;IAwN3B,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,sCAAsC;IAexC,sBAAsB,CAAC,OAAO,EAAE,MAAM;CAuE7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"FirmwareUpdateV4.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV4.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAkB/E,OAAO,KAAK,EAEV,sBAAsB,EAEvB,MAAM,6BAA6B,CAAC;AA4VrC,eAAO,MAAM,iCAAiC,0BACrB,MAAM,uBACR,MAAM,SAc5B,CAAC;AAUF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,wBAAwB,CAAC,sBAAsB,CAAC;IAC5F,OAAO,CAAC,8BAA8B,CAAC,CAAS;IAEhD,qBAAqB;IAIrB,OAAO,CAAC,yBAAyB,CAA4B;IAE7D,OAAO,CAAC,2BAA2B,CAAS;IAE5C,OAAO,CAAC,iCAAiC,CAA6B;IAEtE,OAAO,CAAC,6BAA6B,CAAC,CAAW;IAEjD,OAAO,CAAC,6BAA6B,CAAS;IAE9C,IAAI;IAoHJ,OAAO,CAAC,8BAA8B;IAoBhC,GAAG;;;;;YAKK,aAAa;YAsEb,4BAA4B;YAkB5B,0BAA0B;YAY1B,8BAA8B;YAK9B,+BAA+B;YAqD/B,gCAAgC;YAmDhC,8BAA8B;IAsB5C,OAAO,CAAC,8BAA8B;IA0BtC,OAAO,CAAC,kCAAkC;IAc1C,OAAO,CAAC,gCAAgC;IAsDxC,OAAO,CAAC,6BAA6B;YAsBvB,2BAA2B;IAWzC,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,kCAAkC;YAO5B,iCAAiC;YAOjC,iCAAiC;YAgBjC,iCAAiC;IAM/C,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,4BAA4B;IAQpC,OAAO,CAAC,2BAA2B;IAsBnC,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,6BAA6B;YAMvB,8BAA8B;YA6C9B,iCAAiC;YAmBjC,+BAA+B;IA+D7C,OAAO,CAAC,gCAAgC;YAyC1B,oCAAoC;YAkCpC,kCAAkC;IAgChD,OAAO,CAAC,0BAA0B;IAO5B,6BAA6B;YA0BrB,+BAA+B;IA4C7C,OAAO,CAAC,6BAA6B;IAkCrC,OAAO,CAAC,8BAA8B;YA8CxB,uBAAuB;YAiCvB,6BAA6B;YAa7B,uBAAuB;YA6CvB,8BAA8B;YA2D9B,6BAA6B;IA0D3C,OAAO,CAAC,mCAAmC;YAI7B,0BAA0B;IAaxC,OAAO,CAAC,4BAA4B;YA+FtB,uCAAuC;YA4GvC,gCAAgC;YAShC,8BAA8B;YAsB9B,mCAAmC;YAWnC,qCAAqC;YA2CrC,yBAAyB;YAiDzB,8BAA8B;IAU5C,OAAO,CAAC,kCAAkC;YAI5B,cAAc;YA+Bd,6BAA6B;YAU7B,0BAA0B;YAS1B,6BAA6B;YAmB7B,gBAAgB;IAiB9B,OAAO,CAAC,qBAAqB;CAM9B"}
1
+ {"version":3,"file":"FirmwareUpdateV4.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV4.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAkB/E,OAAO,KAAK,EAEV,sBAAsB,EAEvB,MAAM,6BAA6B,CAAC;AA4VrC,eAAO,MAAM,iCAAiC,0BACrB,MAAM,uBACR,MAAM,SAc5B,CAAC;AAUF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,wBAAwB,CAAC,sBAAsB,CAAC;IAC5F,OAAO,CAAC,8BAA8B,CAAC,CAAS;IAEhD,qBAAqB;IAIrB,OAAO,CAAC,yBAAyB,CAA4B;IAE7D,OAAO,CAAC,2BAA2B,CAAS;IAE5C,OAAO,CAAC,iCAAiC,CAA6B;IAEtE,OAAO,CAAC,6BAA6B,CAAC,CAAW;IAEjD,OAAO,CAAC,6BAA6B,CAAS;IAE9C,IAAI;IAoHJ,OAAO,CAAC,8BAA8B;IAoBhC,GAAG;;;;;YAKK,aAAa;YAsEb,4BAA4B;YAkB5B,0BAA0B;YAY1B,8BAA8B;YAK9B,+BAA+B;YAqD/B,gCAAgC;YAmDhC,8BAA8B;IAsB5C,OAAO,CAAC,8BAA8B;IA0BtC,OAAO,CAAC,kCAAkC;IAc1C,OAAO,CAAC,gCAAgC;IAsDxC,OAAO,CAAC,6BAA6B;YAsBvB,2BAA2B;IAWzC,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,kCAAkC;YAO5B,iCAAiC;YAOjC,iCAAiC;YAgBjC,iCAAiC;IAM/C,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,4BAA4B;IAQpC,OAAO,CAAC,2BAA2B;IAsBnC,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,6BAA6B;YAMvB,8BAA8B;YA6C9B,iCAAiC;YAmBjC,+BAA+B;IA+D7C,OAAO,CAAC,gCAAgC;YAyC1B,oCAAoC;YAkCpC,kCAAkC;IAgChD,OAAO,CAAC,0BAA0B;IAO5B,6BAA6B;YA0BrB,+BAA+B;IA4C7C,OAAO,CAAC,6BAA6B;IAkCrC,OAAO,CAAC,8BAA8B;YA8CxB,uBAAuB;YAiCvB,6BAA6B;YAa7B,uBAAuB;YA6CvB,8BAA8B;YA2D9B,6BAA6B;IA0D3C,OAAO,CAAC,mCAAmC;YAI7B,0BAA0B;IAaxC,OAAO,CAAC,4BAA4B;YA+FtB,uCAAuC;YA4GvC,gCAAgC;YAShC,8BAA8B;YAsB9B,mCAAmC;YAWnC,qCAAqC;YA2CrC,yBAAyB;YAiDzB,8BAA8B;IAU5C,OAAO,CAAC,kCAAkC;YAI5B,cAAc;YA+Bd,6BAA6B;YAU7B,0BAA0B;YAS1B,6BAA6B;YAmB7B,gBAAgB;IAiB9B,OAAO,CAAC,qBAAqB;CAM9B"}
@@ -0,0 +1,3 @@
1
+ import { HardwareError } from '@onekeyfe/hd-shared';
2
+ export declare const normalizeFirmwarePreparationError: (error: unknown) => HardwareError;
3
+ //# sourceMappingURL=FirmwarePreparationError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FirmwarePreparationError.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/FirmwarePreparationError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AAE/E,eAAO,MAAM,iCAAiC,UAAW,OAAO,kBAS/D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { EFirmwareType } from '@onekeyfe/hd-shared';
2
- import type { FirmwareUpdatePlan, FirmwareUpdatePlanTarget } from '../../types/api/firmwareUpdatePlan';
2
+ import type { FirmwareUpdatePlan, FirmwareUpdatePlanForceTarget, FirmwareUpdatePlanTarget } from '../../types/api/firmwareUpdatePlan';
3
3
  import type { Features } from '../../types';
4
4
  type FirmwareUpdatePlatform = 'native' | 'desktop' | 'ext' | 'web' | 'web-embed';
5
5
  type ReleaseSelection = {
@@ -8,16 +8,18 @@ type ReleaseSelection = {
8
8
  release?: unknown;
9
9
  };
10
10
  export declare const digestFirmwareUpdateContract: (value: unknown) => string;
11
+ export declare const validateFirmwareUpdatePlanForceTargets: (value: unknown) => FirmwareUpdatePlanForceTarget[];
11
12
  export declare const FIRMWARE_UPDATE_PLAN_TARGETS: Set<FirmwareUpdatePlanTarget>;
12
13
  export declare const FIRMWARE_UPDATE_PLAN_ROLES: Set<string>;
13
14
  export declare const assertFirmwareUpdatePlan: (value: unknown) => FirmwareUpdatePlan;
14
- export declare const buildFirmwareUpdatePlan: ({ features, firmwareType, platform, firmware, ble, bootloader, }: {
15
+ export declare const buildFirmwareUpdatePlan: ({ features, firmwareType, platform, firmware, ble, bootloader, forceUpdateTargets, }: {
15
16
  features: Features;
16
17
  firmwareType: EFirmwareType;
17
18
  platform: FirmwareUpdatePlatform;
18
19
  firmware: ReleaseSelection;
19
20
  ble: ReleaseSelection;
20
21
  bootloader?: ReleaseSelection | undefined;
22
+ forceUpdateTargets?: FirmwareUpdatePlanForceTarget[] | undefined;
21
23
  }) => FirmwareUpdatePlan;
22
24
  export {};
23
25
  //# sourceMappingURL=FirmwareUpdatePlan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FirmwareUpdatePlan.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/FirmwareUpdatePlan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAS5F,OAAO,KAAK,EACV,kBAAkB,EAElB,wBAAwB,EACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,KAAK,sBAAsB,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC;AAyBjF,KAAK,gBAAgB,GAAG;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AA0GF,eAAO,MAAM,4BAA4B,UAAW,OAAO,KAAG,MAG3D,CAAC;AAgCJ,eAAO,MAAM,4BAA4B,+BAavC,CAAC;AAEH,eAAO,MAAM,0BAA0B,aAOrC,CAAC;AAYH,eAAO,MAAM,wBAAwB,UAAW,OAAO,KAAG,kBAoHzD,CAAC;AA2JF,eAAO,MAAM,uBAAuB;cAQxB,QAAQ;kBACJ,aAAa;cACjB,sBAAsB;cACtB,gBAAgB;SACrB,gBAAgB;;MAEnB,kBAwHH,CAAC"}
1
+ {"version":3,"file":"FirmwareUpdatePlan.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/FirmwareUpdatePlan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAS5F,OAAO,KAAK,EACV,kBAAkB,EAElB,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,KAAK,sBAAsB,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC;AAyBjF,KAAK,gBAAgB,GAAG;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AA0GF,eAAO,MAAM,4BAA4B,UAAW,OAAO,KAAG,MAG3D,CAAC;AAkBJ,eAAO,MAAM,sCAAsC,UAC1C,OAAO,KACb,6BAA6B,EAa/B,CAAC;AAuBF,eAAO,MAAM,4BAA4B,+BAavC,CAAC;AAEH,eAAO,MAAM,0BAA0B,aAOrC,CAAC;AAYH,eAAO,MAAM,wBAAwB,UAAW,OAAO,KAAG,kBAoHzD,CAAC;AA4NF,eAAO,MAAM,uBAAuB;cASxB,QAAQ;kBACJ,aAAa;cACjB,sBAAsB;cACtB,gBAAgB;SACrB,gBAAgB;;;MAGnB,kBAiJH,CAAC"}
@@ -20,6 +20,9 @@ export default class KaspaGetAddress extends BaseMethod<HardwareKaspaGetAddress[
20
20
  model_classic1s: {
21
21
  min: string;
22
22
  };
23
+ pro2: {
24
+ min: string;
25
+ };
23
26
  };
24
27
  run(): Promise<KaspaAddress | KaspaAddress[]>;
25
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"KaspaGetAddress.d.ts","sourceRoot":"","sources":["../../../src/api/kaspa/KaspaGetAddress.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAyB,MAAM,aAAa,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,uBAAuB,EAAE,CAAC;IAChF,qBAAqB;IAIrB,SAAS,UAAS;IAElB,IAAI;IAmCJ,eAAe;;;;;;;;IAWf,uBAAuB;;;;;;;;IAWjB,GAAG;CAkCV"}
1
+ {"version":3,"file":"KaspaGetAddress.d.ts","sourceRoot":"","sources":["../../../src/api/kaspa/KaspaGetAddress.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAyB,MAAM,aAAa,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,uBAAuB,EAAE,CAAC;IAChF,qBAAqB;IAIrB,SAAS,UAAS;IAElB,IAAI;IAmCJ,eAAe;;;;;;;;IAWf,uBAAuB;;;;;;;;;;;IAcjB,GAAG;CAkCV"}
@@ -23,6 +23,9 @@ export default class KaspaSignTransaction extends BaseMethod<KaspaSignTransactio
23
23
  model_classic1s: {
24
24
  min: string;
25
25
  };
26
+ pro2: {
27
+ min: string;
28
+ };
26
29
  };
27
30
  processTxRequest(typedCall: TypedCall, res: TypedResponseMessage<'KaspaTxInputRequest'> | TypedResponseMessage<'KaspaSignedTx'>, index: number, signature: KaspaSignature[]): Promise<KaspaSignature[]>;
28
31
  ackPrevRequest(typedCall: TypedCall, request: KaspaTxRequest, requestIndex: number): Promise<import("@onekeyfe/hd-transport").MessageResponse<"KaspaTxRequest">>;
@@ -1 +1 @@
1
- {"version":3,"file":"KaspaSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/api/kaspa/KaspaSignTransaction.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAEV,cAAc,EAEd,SAAS,EACV,MAAM,wBAAwB,CAAC;AAgBhC,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,UAAU,CAAC,0BAA0B,CAAC;IACtF,qBAAqB;IAIrB,SAAS,UAAS;IAGlB,cAAc,UAAS;IAEvB,iBAAiB,UAAS;IAE1B,IAAI;IAyHJ,eAAe;;;;;;;;IAWf,uBAAuB;;;;;;;;IAejB,gBAAgB,CACpB,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,oBAAoB,CAAC,eAAe,CAAC,EACxF,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,cAAc,EAAE,GAC1B,OAAO,CAAC,cAAc,EAAE,CAAC;IAwCtB,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM;IA8ElF,YAAY,CAChB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GACpD,OAAO,CAAC,cAAc,EAAE,CAAC;IAqGtB,GAAG;CAuGV"}
1
+ {"version":3,"file":"KaspaSignTransaction.d.ts","sourceRoot":"","sources":["../../../src/api/kaspa/KaspaSignTransaction.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAEV,cAAc,EAEd,SAAS,EACV,MAAM,wBAAwB,CAAC;AAgBhC,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,UAAU,CAAC,0BAA0B,CAAC;IACtF,qBAAqB;IAIrB,SAAS,UAAS;IAGlB,cAAc,UAAS;IAEvB,iBAAiB,UAAS;IAE1B,IAAI;IAyHJ,eAAe;;;;;;;;IAWf,uBAAuB;;;;;;;;;;;IAkBjB,gBAAgB,CACpB,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,oBAAoB,CAAC,eAAe,CAAC,EACxF,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,cAAc,EAAE,GAC1B,OAAO,CAAC,cAAc,EAAE,CAAC;IAwCtB,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM;IA8ElF,YAAY,CAChB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GACpD,OAAO,CAAC,cAAc,EAAE,CAAC;IAqGtB,GAAG;CAuGV"}
@@ -151,6 +151,7 @@ export declare class Device extends EventEmitter {
151
151
  setCancelableAction(callback: (err?: Error) => Promise<unknown>): void;
152
152
  clearCancelableAction(): void;
153
153
  getMode(): EOneKeyDeviceMode;
154
+ getStatus(): "available" | "occupied" | "used";
154
155
  getFirmwareVersion(): import("../types").IVersionArray | null;
155
156
  getBLEFirmwareVersion(): import("../types").IVersionArray | null;
156
157
  isUsed(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/device/Device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/device/Device.ts"],"names":[],"mappings":"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"}