@onekeyfe/hd-shared 1.2.8-alpha.10 → 1.2.8-alpha.101

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.
@@ -63,6 +63,8 @@ export declare const HardwareErrorCode: {
63
63
  readonly TransportCallInProgress: 601;
64
64
  readonly TransportNotFound: 602;
65
65
  readonly TransportInvalidProtobuf: 603;
66
+ readonly TransportProtocolProbeFailed: 604;
67
+ readonly TransportProtocolMismatch: 605;
66
68
  readonly BleScanError: 700;
67
69
  readonly BlePermissionError: 701;
68
70
  readonly BleLocationError: 702;
@@ -123,11 +125,10 @@ export declare const HardwareErrorCode: {
123
125
  readonly LowlevelTrasnportConnectError: 900;
124
126
  readonly WebDeviceNotFoundOrNeedsPermission: 901;
125
127
  readonly WebDevicePromptAccessError: 902;
128
+ readonly WebUsbDeviceAccessError: 903;
126
129
  };
127
130
  export declare const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping;
128
131
  export declare const TypedError: (hardwareError: ErrorCodeUnion | string, message?: string, params?: any) => HardwareError;
129
- export declare const isBleStaleBondHardwareError: (error: unknown) => boolean;
130
- export declare const isBleStaleBondErrorText: (text: string) => boolean;
131
132
  export declare const serializeError: (payload: any) => any;
132
133
  export declare const CreateErrorByMessage: (message: string) => HardwareError;
133
134
  export declare const CreateHardwareErrorByBridgeError: (raw: string) => HardwareError;
@@ -1 +1 @@
1
- {"version":3,"file":"HardwareError.d.ts","sourceRoot":"","sources":["../src/HardwareError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5C,KAAK,+BAA+B,GAAG;KAAG,CAAC,IAAI,OAAO,CAAC,OAAO,iBAAiB,CAAC,GAAG,MAAM;CAAE,CAAC;AAE5F,KAAK,cAAc,GAAG,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAsCxD,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAS,EAAE,cAAc,CAAkC;IAE3D,OAAO,SAAM;IAEb,MAAM,EAAE,GAAG,CAAM;gBAEL,aAAa,EAAE,cAAc,GAAG,MAAM;CAmBnD;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8bpB,CAAC;AAEX,eAAO,MAAM,wBAAwB,EAAE,+BAyJ7B,CAAC;AAEX,eAAO,MAAM,UAAU,kBACN,cAAc,GAAG,MAAM,YAC5B,MAAM,WACP,GAAG,kBAMb,CAAC;AAEF,eAAO,MAAM,2BAA2B,UAAW,OAAO,KAAG,OAO5D,CAAC;AAEF,eAAO,MAAM,uBAAuB,SAAU,MAAM,KAAG,OAStD,CAAC;AAEF,eAAO,MAAM,cAAc,YAAa,GAAG,QAe1C,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAa,MAAM,KAAG,aAOtD,CAAC;AAGF,eAAO,MAAM,gCAAgC,QAAS,MAAM,KAAG,aAQ9D,CAAC;AAEF,QAAA,MAAM,uCAAuC;oBAM3B,MAAM;oBACN,MAAM;;;mBAcvB,CAAC;AAEF,QAAA,MAAM,sCAAsC;oBAM1B,MAAM;oBACN,MAAM;;;mBAcvB,CAAC;AAEF,QAAA,MAAM,yCAAyC,cAClC,MAAM,GAAG,SAAS,YACnB,MAAM,GAAG,SAAS,iBACb,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE,oBACnB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,kBAsBF,CAAC;AAEF,QAAA,MAAM,6BAA6B,mBACjB,MAAM,qBACH,MAAM,eACZ,MAAM,kBAQpB,CAAC;AAEF,QAAA,MAAM,4BAA4B,aACtB,MAAM,aACL,MAAM,cACL,MAAM,cACN,MAAM,aACP,MAAM,kBAWlB,CAAC;AAEF,QAAA,MAAM,iCAAiC,eAAgB,MAAM,gBAAgB,aAAa,kBAItF,CAAC;AAEL,OAAO,EACL,uCAAuC,EACvC,sCAAsC,EACtC,yCAAyC,EACzC,6BAA6B,EAC7B,4BAA4B,EAC5B,iCAAiC,GAClC,CAAC"}
1
+ {"version":3,"file":"HardwareError.d.ts","sourceRoot":"","sources":["../src/HardwareError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5C,KAAK,+BAA+B,GAAG;KAAG,CAAC,IAAI,OAAO,CAAC,OAAO,iBAAiB,CAAC,GAAG,MAAM;CAAE,CAAC;AAE5F,KAAK,cAAc,GAAG,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAsCxD,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAS,EAAE,cAAc,CAAkC;IAE3D,OAAO,SAAM;IAEb,MAAM,EAAE,GAAG,CAAM;gBAEL,aAAa,EAAE,cAAc,GAAG,MAAM;CAmBnD;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgdpB,CAAC;AAEX,eAAO,MAAM,wBAAwB,EAAE,+BA8J7B,CAAC;AAEX,eAAO,MAAM,UAAU,kBACN,cAAc,GAAG,MAAM,YAC5B,MAAM,WACP,GAAG,kBAMb,CAAC;AAEF,eAAO,MAAM,cAAc,YAAa,GAAG,QAe1C,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAa,MAAM,KAAG,aAOtD,CAAC;AAGF,eAAO,MAAM,gCAAgC,QAAS,MAAM,KAAG,aAQ9D,CAAC;AAEF,QAAA,MAAM,uCAAuC;oBAM3B,MAAM;oBACN,MAAM;;;mBAcvB,CAAC;AAEF,QAAA,MAAM,sCAAsC;oBAM1B,MAAM;oBACN,MAAM;;;mBAcvB,CAAC;AAEF,QAAA,MAAM,yCAAyC,cAClC,MAAM,GAAG,SAAS,YACnB,MAAM,GAAG,SAAS,iBACb,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE,oBACnB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,kBAsBF,CAAC;AAEF,QAAA,MAAM,6BAA6B,mBACjB,MAAM,qBACH,MAAM,eACZ,MAAM,kBAQpB,CAAC;AAEF,QAAA,MAAM,4BAA4B,aACtB,MAAM,aACL,MAAM,cACL,MAAM,cACN,MAAM,aACP,MAAM,kBAWlB,CAAC;AAEF,QAAA,MAAM,iCAAiC,eAAgB,MAAM,gBAAgB,aAAa,kBAItF,CAAC;AAEL,OAAO,EACL,uCAAuC,EACvC,sCAAsC,EACtC,yCAAyC,EACzC,6BAA6B,EAC7B,4BAA4B,EAC5B,iCAAiC,GAClC,CAAC"}
@@ -18,8 +18,8 @@ type WebUsbIdentityDescriptor = {
18
18
  manufacturerName?: string | null;
19
19
  };
20
20
  export declare const isKnownTrezorWebUsbDevice: (descriptor: WebUsbIdentityDescriptor) => boolean;
21
- export declare const ERROR_CODES_REQUIRE_RELEASE: readonly [106, 107, 109, 112, 805, 801, 802, 812];
22
- export declare const ERROR_CODES_REQUIRE_DISCONNECT: readonly [106, 805];
21
+ export declare const ERROR_CODES_REQUIRE_RELEASE: readonly [903, 604, 605, 106, 107, 109, 112, 805, 801, 802, 812];
22
+ export declare const ERROR_CODES_REQUIRE_DISCONNECT: readonly [903, 604, 605, 106, 805];
23
23
  export declare enum EOneKeyBleMessageKeys {
24
24
  BLE_SELECT = "$onekey-ble-select",
25
25
  BLE_SELECT_RESULT = "$onekey-ble-select-result",
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -22,12 +22,12 @@ declare const isKnownTrezorWebUsbDevice: (descriptor: WebUsbIdentityDescriptor)
22
22
  * Error codes that require device release after occurrence
23
23
  * These errors indicate the device is in an invalid state and needs to be released
24
24
  */
25
- declare const ERROR_CODES_REQUIRE_RELEASE: readonly [106, 107, 109, 112, 805, 801, 802, 812];
25
+ declare const ERROR_CODES_REQUIRE_RELEASE: readonly [903, 604, 605, 106, 107, 109, 112, 805, 801, 802, 812];
26
26
  /**
27
27
  * Error codes that require device disconnect before release
28
28
  * These errors indicate a communication failure that requires full reconnection
29
29
  */
30
- declare const ERROR_CODES_REQUIRE_DISCONNECT: readonly [106, 805];
30
+ declare const ERROR_CODES_REQUIRE_DISCONNECT: readonly [903, 604, 605, 106, 805];
31
31
  declare enum EOneKeyBleMessageKeys {
32
32
  BLE_SELECT = "$onekey-ble-select",
33
33
  BLE_SELECT_RESULT = "$onekey-ble-select-result",
@@ -334,6 +334,16 @@ declare const HardwareErrorCode: {
334
334
  * Transport invalid protobuf
335
335
  */
336
336
  readonly TransportInvalidProtobuf: 603;
337
+ /**
338
+ * No supported device protocol answered the active probe.
339
+ * @params: { expectedProtocol?: 'V1' | 'V2'; attempts?: number }
340
+ */
341
+ readonly TransportProtocolProbeFailed: 604;
342
+ /**
343
+ * The actively detected device protocol differs from the required protocol.
344
+ * @params: { expectedProtocol: 'V1' | 'V2'; detectedProtocol?: 'V1' | 'V2' }
345
+ */
346
+ readonly TransportProtocolMismatch: 605;
337
347
  /**
338
348
  * Bluetooth error code
339
349
  */
@@ -449,7 +459,7 @@ declare const HardwareErrorCode: {
449
459
  */
450
460
  readonly FirmwareVerificationFailed: 820;
451
461
  /**
452
- * Web bridge coonect needs permission
462
+ * USB access needs OS permission (bridge/libusb or WebUSB).
453
463
  */
454
464
  readonly BridgeNeedsPermission: 821;
455
465
  readonly CallQueueActionCancelled: 822;
@@ -505,11 +515,14 @@ declare const HardwareErrorCode: {
505
515
  * Web USB or Web Bluetooth device prompt access error
506
516
  */
507
517
  readonly WebDevicePromptAccessError: 902;
518
+ /**
519
+ * WebUSB device is present, but its interface or endpoint is unavailable
520
+ * @params: { operation: 'open' | 'claimInterface' | 'transferIn' | 'transferOut'; nativeErrorName?: string; nativeErrorMessage?: string }
521
+ */
522
+ readonly WebUsbDeviceAccessError: 903;
508
523
  };
509
524
  declare const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping;
510
525
  declare const TypedError: (hardwareError: ErrorCodeUnion | string, message?: string, params?: any) => HardwareError;
511
- declare const isBleStaleBondHardwareError: (error: unknown) => boolean;
512
- declare const isBleStaleBondErrorText: (text: string) => boolean;
513
526
  declare const serializeError: (payload: any) => any;
514
527
  declare const CreateErrorByMessage: (message: string) => HardwareError;
515
528
  declare const CreateHardwareErrorByBridgeError: (raw: string) => HardwareError;
@@ -545,8 +558,6 @@ declare const HardwareError$1_HardwareError: typeof HardwareError;
545
558
  declare const HardwareError$1_HardwareErrorCode: typeof HardwareErrorCode;
546
559
  declare const HardwareError$1_HardwareErrorCodeMessage: typeof HardwareErrorCodeMessage;
547
560
  declare const HardwareError$1_TypedError: typeof TypedError;
548
- declare const HardwareError$1_isBleStaleBondHardwareError: typeof isBleStaleBondHardwareError;
549
- declare const HardwareError$1_isBleStaleBondErrorText: typeof isBleStaleBondErrorText;
550
561
  declare const HardwareError$1_serializeError: typeof serializeError;
551
562
  declare const HardwareError$1_CreateErrorByMessage: typeof CreateErrorByMessage;
552
563
  declare const HardwareError$1_CreateHardwareErrorByBridgeError: typeof CreateHardwareErrorByBridgeError;
@@ -563,8 +574,6 @@ declare namespace HardwareError$1 {
563
574
  HardwareError$1_HardwareErrorCode as HardwareErrorCode,
564
575
  HardwareError$1_HardwareErrorCodeMessage as HardwareErrorCodeMessage,
565
576
  HardwareError$1_TypedError as TypedError,
566
- HardwareError$1_isBleStaleBondHardwareError as isBleStaleBondHardwareError,
567
- HardwareError$1_isBleStaleBondErrorText as isBleStaleBondErrorText,
568
577
  HardwareError$1_serializeError as serializeError,
569
578
  HardwareError$1_CreateErrorByMessage as CreateErrorByMessage,
570
579
  HardwareError$1_CreateHardwareErrorByBridgeError as CreateHardwareErrorByBridgeError,
@@ -585,4 +594,4 @@ declare enum EDeviceType {
585
594
  Neo = "neo"
586
595
  }
587
596
 
588
- export { CreateErrorByMessage, CreateHardwareErrorByBridgeError, Deferred, EBleDisconnectReason, EDeviceType, EFirmwareType, EOneKeyBleMessageKeys, HardwareError$1 as ERRORS, ERROR_CODES_REQUIRE_DISCONNECT, ERROR_CODES_REQUIRE_RELEASE, HARDWARE_CONNECT_PROTOCOL, HardwareConnectProtocol, HardwareError, HardwareErrorCode, HardwareErrorCodeMessage, IHardwareError, ONEKEY_NOTIFY_CHARACTERISTIC_UUID, ONEKEY_PROTOCOL_V2_USB_IDS, ONEKEY_SERVICE_UUID, ONEKEY_WEBUSB_FILTER, ONEKEY_WRITE_CHARACTERISTIC_UUID, TypedError, canonicalizePro2BleAdvertisementName, createDefectiveFirmwareError, createDeferred, createDeprecatedHardwareError, createDeviceNotSupportMethodError, createKnownBleUuidAliases, createNeedUpgradeFirmwareHardwareError, createNewFirmwareForceUpdateHardwareError, createNewFirmwareUnReleaseHardwareError, hasOnekeyCommunicationService, inferProtocolHintFromUsbId, isBleStaleBondErrorText, isBleStaleBondHardwareError, isHeaderChunk, isKnownTrezorWebUsbDevice, isOnekeyBluetoothDevice, isOnekeyDevice, isPro2FamilyBleName, isPro2FindMyAdvertisementName, isSameOnekeyBleName, matchesKnownBleUuid, normalizeBleUuid, normalizePro2FindMyAdvertisementName, resolveOneKeyUsbDevicePath, serializeError, wait };
597
+ export { CreateErrorByMessage, CreateHardwareErrorByBridgeError, Deferred, EBleDisconnectReason, EDeviceType, EFirmwareType, EOneKeyBleMessageKeys, HardwareError$1 as ERRORS, ERROR_CODES_REQUIRE_DISCONNECT, ERROR_CODES_REQUIRE_RELEASE, HARDWARE_CONNECT_PROTOCOL, HardwareConnectProtocol, HardwareError, HardwareErrorCode, HardwareErrorCodeMessage, IHardwareError, ONEKEY_NOTIFY_CHARACTERISTIC_UUID, ONEKEY_PROTOCOL_V2_USB_IDS, ONEKEY_SERVICE_UUID, ONEKEY_WEBUSB_FILTER, ONEKEY_WRITE_CHARACTERISTIC_UUID, TypedError, canonicalizePro2BleAdvertisementName, createDefectiveFirmwareError, createDeferred, createDeprecatedHardwareError, createDeviceNotSupportMethodError, createKnownBleUuidAliases, createNeedUpgradeFirmwareHardwareError, createNewFirmwareForceUpdateHardwareError, createNewFirmwareUnReleaseHardwareError, hasOnekeyCommunicationService, inferProtocolHintFromUsbId, isHeaderChunk, isKnownTrezorWebUsbDevice, isOnekeyBluetoothDevice, isOnekeyDevice, isPro2FamilyBleName, isPro2FindMyAdvertisementName, isSameOnekeyBleName, matchesKnownBleUuid, normalizeBleUuid, normalizePro2FindMyAdvertisementName, resolveOneKeyUsbDevicePath, serializeError, wait };
package/dist/index.js CHANGED
@@ -112,6 +112,8 @@ const HardwareErrorCode = {
112
112
  TransportCallInProgress: 601,
113
113
  TransportNotFound: 602,
114
114
  TransportInvalidProtobuf: 603,
115
+ TransportProtocolProbeFailed: 604,
116
+ TransportProtocolMismatch: 605,
115
117
  BleScanError: 700,
116
118
  BlePermissionError: 701,
117
119
  BleLocationError: 702,
@@ -172,6 +174,7 @@ const HardwareErrorCode = {
172
174
  LowlevelTrasnportConnectError: 900,
173
175
  WebDeviceNotFoundOrNeedsPermission: 901,
174
176
  WebDevicePromptAccessError: 902,
177
+ WebUsbDeviceAccessError: 903,
175
178
  };
176
179
  const HardwareErrorCodeMessage = {
177
180
  [HardwareErrorCode.UnknownError]: 'Unknown error occurred. Check message property.',
@@ -221,9 +224,11 @@ const HardwareErrorCodeMessage = {
221
224
  [HardwareErrorCode.TransportCallInProgress]: 'Transport call in progress',
222
225
  [HardwareErrorCode.TransportNotFound]: 'Transport not found',
223
226
  [HardwareErrorCode.TransportInvalidProtobuf]: 'Transport invalid protobuf',
227
+ [HardwareErrorCode.TransportProtocolProbeFailed]: 'Failed to detect the device communication protocol. Reconnect the device and try again.',
228
+ [HardwareErrorCode.TransportProtocolMismatch]: 'The device communication protocol does not match the expected protocol.',
224
229
  [HardwareErrorCode.BleScanError]: 'BLE scan error',
225
230
  [HardwareErrorCode.BlePermissionError]: 'Bluetooth required to be turned on',
226
- [HardwareErrorCode.BleLocationError]: 'Location permissions for the application are not available',
231
+ [HardwareErrorCode.BleLocationError]: 'Bluetooth or location permissions for the application are not available',
227
232
  [HardwareErrorCode.BleRequiredUUID]: 'uuid is required',
228
233
  [HardwareErrorCode.BleConnectedError]: 'connected error is always runtime error',
229
234
  [HardwareErrorCode.BleDeviceNotBonded]: 'device is not bonded',
@@ -281,6 +286,7 @@ const HardwareErrorCodeMessage = {
281
286
  [HardwareErrorCode.LowlevelTrasnportConnectError]: 'Lowlevel transport connect error',
282
287
  [HardwareErrorCode.WebDeviceNotFoundOrNeedsPermission]: 'Web-USB or Web-Bluetooth device not found or needs permission',
283
288
  [HardwareErrorCode.WebDevicePromptAccessError]: 'Web-USB or Web-Bluetooth device prompt access error',
289
+ [HardwareErrorCode.WebUsbDeviceAccessError]: 'WebUSB device access failed',
284
290
  };
285
291
  const TypedError = (hardwareError, message, params) => {
286
292
  if (typeof hardwareError === 'string') {
@@ -288,20 +294,6 @@ const TypedError = (hardwareError, message, params) => {
288
294
  }
289
295
  return new HardwareError({ errorCode: hardwareError, message: message !== null && message !== void 0 ? message : '', params });
290
296
  };
291
- const isBleStaleBondHardwareError = (error) => {
292
- const code = error === null || error === void 0 ? void 0 : error.errorCode;
293
- return (code === HardwareErrorCode.BleDeviceBondError ||
294
- code === HardwareErrorCode.BlePeerRemovedPairingInformation ||
295
- code === HardwareErrorCode.BleBondInvalid);
296
- };
297
- const isBleStaleBondErrorText = (text) => {
298
- const value = text.toLowerCase();
299
- return (value.includes('encryption is insufficient') ||
300
- value.includes('insufficient encryption') ||
301
- value.includes('peer removed pairing information') ||
302
- value.includes('cberrordomain:14') ||
303
- value.includes('gatt_insuf_authentication'));
304
- };
305
297
  const serializeError = (payload) => {
306
298
  if (payload && payload.error instanceof HardwareError) {
307
299
  return {
@@ -393,8 +385,6 @@ var HardwareError$1 = /*#__PURE__*/Object.freeze({
393
385
  HardwareErrorCode: HardwareErrorCode,
394
386
  HardwareErrorCodeMessage: HardwareErrorCodeMessage,
395
387
  TypedError: TypedError,
396
- isBleStaleBondHardwareError: isBleStaleBondHardwareError,
397
- isBleStaleBondErrorText: isBleStaleBondErrorText,
398
388
  serializeError: serializeError,
399
389
  CreateErrorByMessage: CreateErrorByMessage,
400
390
  CreateHardwareErrorByBridgeError: CreateHardwareErrorByBridgeError,
@@ -428,6 +418,9 @@ const isKnownTrezorWebUsbDevice = (descriptor) => {
428
418
  return manufacturerName != null && TREZOR_WEBUSB_MANUFACTURER_NAMES.has(manufacturerName);
429
419
  };
430
420
  const ERROR_CODES_REQUIRE_RELEASE = [
421
+ HardwareErrorCode.WebUsbDeviceAccessError,
422
+ HardwareErrorCode.TransportProtocolProbeFailed,
423
+ HardwareErrorCode.TransportProtocolMismatch,
431
424
  HardwareErrorCode.DeviceInitializeFailed,
432
425
  HardwareErrorCode.DeviceInterruptedFromOutside,
433
426
  HardwareErrorCode.DeviceInterruptedFromUser,
@@ -438,6 +431,9 @@ const ERROR_CODES_REQUIRE_RELEASE = [
438
431
  HardwareErrorCode.UnexpectPassphrase,
439
432
  ];
440
433
  const ERROR_CODES_REQUIRE_DISCONNECT = [
434
+ HardwareErrorCode.WebUsbDeviceAccessError,
435
+ HardwareErrorCode.TransportProtocolProbeFailed,
436
+ HardwareErrorCode.TransportProtocolMismatch,
441
437
  HardwareErrorCode.DeviceInitializeFailed,
442
438
  HardwareErrorCode.ResponseUnexpectTypeError,
443
439
  ];
@@ -770,8 +766,6 @@ exports.createNewFirmwareForceUpdateHardwareError = createNewFirmwareForceUpdate
770
766
  exports.createNewFirmwareUnReleaseHardwareError = createNewFirmwareUnReleaseHardwareError;
771
767
  exports.hasOnekeyCommunicationService = hasOnekeyCommunicationService;
772
768
  exports.inferProtocolHintFromUsbId = inferProtocolHintFromUsbId;
773
- exports.isBleStaleBondErrorText = isBleStaleBondErrorText;
774
- exports.isBleStaleBondHardwareError = isBleStaleBondHardwareError;
775
769
  exports.isHeaderChunk = isHeaderChunk;
776
770
  exports.isKnownTrezorWebUsbDevice = isKnownTrezorWebUsbDevice;
777
771
  exports.isOnekeyBluetoothDevice = isOnekeyBluetoothDevice;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-shared",
3
- "version": "1.2.8-alpha.10",
3
+ "version": "1.2.8-alpha.101",
4
4
  "description": "Hardware SDK's shared tool library",
5
5
  "keywords": [
6
6
  "Hardware-SDK",
@@ -26,5 +26,5 @@
26
26
  "lint": "eslint .",
27
27
  "lint:fix": "eslint . --fix"
28
28
  },
29
- "gitHead": "47d2f63acb8e5fa9ee623c060af7c9f83ad6f939"
29
+ "gitHead": "5670876ee082bbdf07bc1dcb17e0a93cda390085"
30
30
  }
@@ -2,11 +2,25 @@ import {
2
2
  HardwareErrorCode,
3
3
  HardwareErrorCodeMessage,
4
4
  TypedError,
5
- isBleStaleBondErrorText,
6
5
  serializeError,
7
6
  } from './HardwareError';
7
+ import { ERROR_CODES_REQUIRE_DISCONNECT, ERROR_CODES_REQUIRE_RELEASE } from './constants';
8
8
 
9
9
  describe('HardwareErrorCode compatibility', () => {
10
+ test.each([
11
+ ['TransportProtocolProbeFailed', 604, { expectedProtocol: 'V1' }],
12
+ ['TransportProtocolMismatch', 605, { expectedProtocol: 'V2', detectedProtocol: 'V1' }],
13
+ ] as const)('serializes the dedicated %s transport error', (name, code, params) => {
14
+ expect(HardwareErrorCode[name]).toBe(code);
15
+ const message = HardwareErrorCodeMessage[HardwareErrorCode[name]];
16
+ expect(message).toBeTruthy();
17
+ expect(ERROR_CODES_REQUIRE_RELEASE).toContain(code);
18
+ expect(ERROR_CODES_REQUIRE_DISCONNECT).toContain(code);
19
+ expect(
20
+ JSON.parse(JSON.stringify(serializeError({ error: TypedError(code, undefined, params) })))
21
+ ).toEqual({ code, error: message, params });
22
+ });
23
+
10
24
  test('preserves published Protocol V2 values while leaving code 829 unused', () => {
11
25
  expect(HardwareErrorCode).not.toHaveProperty('KaspaPrevTxIdMismatch');
12
26
  expect(HardwareErrorCode.DeviceLocked).toBe(830);
@@ -50,14 +64,4 @@ describe('HardwareErrorCode compatibility', () => {
50
64
  'pairing information is no longer valid'
51
65
  );
52
66
  });
53
-
54
- test('recognizes the macOS CoreBluetooth stale-pairing error without matching generic failures', () => {
55
- expect(
56
- isBleStaleBondErrorText(
57
- 'CBErrorDomain:14 Peer removed pairing information on the device side'
58
- )
59
- ).toBe(true);
60
- expect(isBleStaleBondErrorText('CBATTErrorDomain:14 localized native message')).toBe(false);
61
- expect(isBleStaleBondErrorText('connection failed')).toBe(false);
62
- });
63
67
  });
@@ -319,6 +319,18 @@ export const HardwareErrorCode = {
319
319
  */
320
320
  TransportInvalidProtobuf: 603,
321
321
 
322
+ /**
323
+ * No supported device protocol answered the active probe.
324
+ * @params: { expectedProtocol?: 'V1' | 'V2'; attempts?: number }
325
+ */
326
+ TransportProtocolProbeFailed: 604,
327
+
328
+ /**
329
+ * The actively detected device protocol differs from the required protocol.
330
+ * @params: { expectedProtocol: 'V1' | 'V2'; detectedProtocol?: 'V1' | 'V2' }
331
+ */
332
+ TransportProtocolMismatch: 605,
333
+
322
334
  /**
323
335
  * Bluetooth error code
324
336
  */
@@ -456,7 +468,7 @@ export const HardwareErrorCode = {
456
468
  FirmwareVerificationFailed: 820,
457
469
 
458
470
  /**
459
- * Web bridge coonect needs permission
471
+ * USB access needs OS permission (bridge/libusb or WebUSB).
460
472
  */
461
473
  BridgeNeedsPermission: 821,
462
474
 
@@ -522,6 +534,12 @@ export const HardwareErrorCode = {
522
534
  * Web USB or Web Bluetooth device prompt access error
523
535
  */
524
536
  WebDevicePromptAccessError: 902,
537
+
538
+ /**
539
+ * WebUSB device is present, but its interface or endpoint is unavailable
540
+ * @params: { operation: 'open' | 'claimInterface' | 'transferIn' | 'transferOut'; nativeErrorName?: string; nativeErrorMessage?: string }
541
+ */
542
+ WebUsbDeviceAccessError: 903,
525
543
  } as const;
526
544
 
527
545
  export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
@@ -599,6 +617,10 @@ export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
599
617
  [HardwareErrorCode.TransportCallInProgress]: 'Transport call in progress',
600
618
  [HardwareErrorCode.TransportNotFound]: 'Transport not found',
601
619
  [HardwareErrorCode.TransportInvalidProtobuf]: 'Transport invalid protobuf',
620
+ [HardwareErrorCode.TransportProtocolProbeFailed]:
621
+ 'Failed to detect the device communication protocol. Reconnect the device and try again.',
622
+ [HardwareErrorCode.TransportProtocolMismatch]:
623
+ 'The device communication protocol does not match the expected protocol.',
602
624
 
603
625
  /**
604
626
  * Bluetooth Error
@@ -606,7 +628,7 @@ export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
606
628
  [HardwareErrorCode.BleScanError]: 'BLE scan error',
607
629
  [HardwareErrorCode.BlePermissionError]: 'Bluetooth required to be turned on',
608
630
  [HardwareErrorCode.BleLocationError]:
609
- 'Location permissions for the application are not available',
631
+ 'Bluetooth or location permissions for the application are not available',
610
632
  [HardwareErrorCode.BleRequiredUUID]: 'uuid is required',
611
633
  [HardwareErrorCode.BleConnectedError]: 'connected error is always runtime error',
612
634
  [HardwareErrorCode.BleDeviceNotBonded]: 'device is not bonded',
@@ -677,6 +699,7 @@ export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
677
699
  'Web-USB or Web-Bluetooth device not found or needs permission',
678
700
  [HardwareErrorCode.WebDevicePromptAccessError]:
679
701
  'Web-USB or Web-Bluetooth device prompt access error',
702
+ [HardwareErrorCode.WebUsbDeviceAccessError]: 'WebUSB device access failed',
680
703
  } as const;
681
704
 
682
705
  export const TypedError = (
@@ -690,26 +713,6 @@ export const TypedError = (
690
713
  return new HardwareError({ errorCode: hardwareError, message: message ?? '', params });
691
714
  };
692
715
 
693
- export const isBleStaleBondHardwareError = (error: unknown): boolean => {
694
- const code = (error as { errorCode?: unknown })?.errorCode;
695
- return (
696
- code === HardwareErrorCode.BleDeviceBondError ||
697
- code === HardwareErrorCode.BlePeerRemovedPairingInformation ||
698
- code === HardwareErrorCode.BleBondInvalid
699
- );
700
- };
701
-
702
- export const isBleStaleBondErrorText = (text: string): boolean => {
703
- const value = text.toLowerCase();
704
- return (
705
- value.includes('encryption is insufficient') ||
706
- value.includes('insufficient encryption') ||
707
- value.includes('peer removed pairing information') ||
708
- value.includes('cberrordomain:14') ||
709
- value.includes('gatt_insuf_authentication')
710
- );
711
- };
712
-
713
716
  export const serializeError = (payload: any) => {
714
717
  if (payload && payload.error instanceof HardwareError) {
715
718
  return {
package/src/constants.ts CHANGED
@@ -43,6 +43,9 @@ export const isKnownTrezorWebUsbDevice = (descriptor: WebUsbIdentityDescriptor):
43
43
  * These errors indicate the device is in an invalid state and needs to be released
44
44
  */
45
45
  export const ERROR_CODES_REQUIRE_RELEASE = [
46
+ HardwareErrorCode.WebUsbDeviceAccessError,
47
+ HardwareErrorCode.TransportProtocolProbeFailed,
48
+ HardwareErrorCode.TransportProtocolMismatch,
46
49
  HardwareErrorCode.DeviceInitializeFailed,
47
50
  HardwareErrorCode.DeviceInterruptedFromOutside,
48
51
  HardwareErrorCode.DeviceInterruptedFromUser,
@@ -58,6 +61,9 @@ export const ERROR_CODES_REQUIRE_RELEASE = [
58
61
  * These errors indicate a communication failure that requires full reconnection
59
62
  */
60
63
  export const ERROR_CODES_REQUIRE_DISCONNECT = [
64
+ HardwareErrorCode.WebUsbDeviceAccessError,
65
+ HardwareErrorCode.TransportProtocolProbeFailed,
66
+ HardwareErrorCode.TransportProtocolMismatch,
61
67
  HardwareErrorCode.DeviceInitializeFailed,
62
68
  HardwareErrorCode.ResponseUnexpectTypeError,
63
69
  ] as const;