@onekeyfe/hd-shared 1.2.8-alpha.5 → 1.2.8-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/HardwareError.d.ts +2 -1
- package/dist/HardwareError.d.ts.map +1 -1
- package/dist/constants.d.ts +2 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/index.d.ts +10 -9
- package/dist/index.js +19 -5
- package/package.json +2 -2
- package/src/HardwareError.test.ts +11 -0
- package/src/HardwareError.ts +22 -9
- package/src/constants.ts +0 -2
package/dist/HardwareError.d.ts
CHANGED
|
@@ -123,10 +123,11 @@ export declare const HardwareErrorCode: {
|
|
|
123
123
|
readonly LowlevelTrasnportConnectError: 900;
|
|
124
124
|
readonly WebDeviceNotFoundOrNeedsPermission: 901;
|
|
125
125
|
readonly WebDevicePromptAccessError: 902;
|
|
126
|
-
readonly WebUsbDeviceAccessError: 903;
|
|
127
126
|
};
|
|
128
127
|
export declare const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping;
|
|
129
128
|
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;
|
|
130
131
|
export declare const serializeError: (payload: any) => any;
|
|
131
132
|
export declare const CreateErrorByMessage: (message: string) => HardwareError;
|
|
132
133
|
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
|
|
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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -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 [
|
|
22
|
-
export declare const ERROR_CODES_REQUIRE_DISCONNECT: readonly [
|
|
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];
|
|
23
23
|
export declare enum EOneKeyBleMessageKeys {
|
|
24
24
|
BLE_SELECT = "$onekey-ble-select",
|
|
25
25
|
BLE_SELECT_RESULT = "$onekey-ble-select-result",
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,yBAAyB;;;CAG5B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,OAAO,yBAAyB,CAAC,CAAC;AAE7E,eAAO,MAAM,oBAAoB;;;GAOhC,CAAC;AAGF,eAAO,MAAM,0BAA0B;;;EAAqD,CAAC;AAE7F,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAIF,eAAO,MAAM,yBAAyB,eAAgB,wBAAwB,KAAG,OAQhF,CAAC;AAMF,eAAO,MAAM,2BAA2B,
|
|
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 [
|
|
25
|
+
declare const ERROR_CODES_REQUIRE_RELEASE: readonly [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 [
|
|
30
|
+
declare const ERROR_CODES_REQUIRE_DISCONNECT: readonly [106, 805];
|
|
31
31
|
declare enum EOneKeyBleMessageKeys {
|
|
32
32
|
BLE_SELECT = "$onekey-ble-select",
|
|
33
33
|
BLE_SELECT_RESULT = "$onekey-ble-select-result",
|
|
@@ -449,7 +449,7 @@ declare const HardwareErrorCode: {
|
|
|
449
449
|
*/
|
|
450
450
|
readonly FirmwareVerificationFailed: 820;
|
|
451
451
|
/**
|
|
452
|
-
*
|
|
452
|
+
* Web bridge coonect needs permission
|
|
453
453
|
*/
|
|
454
454
|
readonly BridgeNeedsPermission: 821;
|
|
455
455
|
readonly CallQueueActionCancelled: 822;
|
|
@@ -505,14 +505,11 @@ declare const HardwareErrorCode: {
|
|
|
505
505
|
* Web USB or Web Bluetooth device prompt access error
|
|
506
506
|
*/
|
|
507
507
|
readonly WebDevicePromptAccessError: 902;
|
|
508
|
-
/**
|
|
509
|
-
* WebUSB device is present, but its interface or endpoint is unavailable
|
|
510
|
-
* @params: { operation: 'open' | 'claimInterface' | 'transferIn' | 'transferOut'; nativeErrorName?: string; nativeErrorMessage?: string }
|
|
511
|
-
*/
|
|
512
|
-
readonly WebUsbDeviceAccessError: 903;
|
|
513
508
|
};
|
|
514
509
|
declare const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping;
|
|
515
510
|
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;
|
|
516
513
|
declare const serializeError: (payload: any) => any;
|
|
517
514
|
declare const CreateErrorByMessage: (message: string) => HardwareError;
|
|
518
515
|
declare const CreateHardwareErrorByBridgeError: (raw: string) => HardwareError;
|
|
@@ -548,6 +545,8 @@ declare const HardwareError$1_HardwareError: typeof HardwareError;
|
|
|
548
545
|
declare const HardwareError$1_HardwareErrorCode: typeof HardwareErrorCode;
|
|
549
546
|
declare const HardwareError$1_HardwareErrorCodeMessage: typeof HardwareErrorCodeMessage;
|
|
550
547
|
declare const HardwareError$1_TypedError: typeof TypedError;
|
|
548
|
+
declare const HardwareError$1_isBleStaleBondHardwareError: typeof isBleStaleBondHardwareError;
|
|
549
|
+
declare const HardwareError$1_isBleStaleBondErrorText: typeof isBleStaleBondErrorText;
|
|
551
550
|
declare const HardwareError$1_serializeError: typeof serializeError;
|
|
552
551
|
declare const HardwareError$1_CreateErrorByMessage: typeof CreateErrorByMessage;
|
|
553
552
|
declare const HardwareError$1_CreateHardwareErrorByBridgeError: typeof CreateHardwareErrorByBridgeError;
|
|
@@ -564,6 +563,8 @@ declare namespace HardwareError$1 {
|
|
|
564
563
|
HardwareError$1_HardwareErrorCode as HardwareErrorCode,
|
|
565
564
|
HardwareError$1_HardwareErrorCodeMessage as HardwareErrorCodeMessage,
|
|
566
565
|
HardwareError$1_TypedError as TypedError,
|
|
566
|
+
HardwareError$1_isBleStaleBondHardwareError as isBleStaleBondHardwareError,
|
|
567
|
+
HardwareError$1_isBleStaleBondErrorText as isBleStaleBondErrorText,
|
|
567
568
|
HardwareError$1_serializeError as serializeError,
|
|
568
569
|
HardwareError$1_CreateErrorByMessage as CreateErrorByMessage,
|
|
569
570
|
HardwareError$1_CreateHardwareErrorByBridgeError as CreateHardwareErrorByBridgeError,
|
|
@@ -584,4 +585,4 @@ declare enum EDeviceType {
|
|
|
584
585
|
Neo = "neo"
|
|
585
586
|
}
|
|
586
587
|
|
|
587
|
-
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 };
|
|
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 };
|
package/dist/index.js
CHANGED
|
@@ -172,7 +172,6 @@ const HardwareErrorCode = {
|
|
|
172
172
|
LowlevelTrasnportConnectError: 900,
|
|
173
173
|
WebDeviceNotFoundOrNeedsPermission: 901,
|
|
174
174
|
WebDevicePromptAccessError: 902,
|
|
175
|
-
WebUsbDeviceAccessError: 903,
|
|
176
175
|
};
|
|
177
176
|
const HardwareErrorCodeMessage = {
|
|
178
177
|
[HardwareErrorCode.UnknownError]: 'Unknown error occurred. Check message property.',
|
|
@@ -224,7 +223,7 @@ const HardwareErrorCodeMessage = {
|
|
|
224
223
|
[HardwareErrorCode.TransportInvalidProtobuf]: 'Transport invalid protobuf',
|
|
225
224
|
[HardwareErrorCode.BleScanError]: 'BLE scan error',
|
|
226
225
|
[HardwareErrorCode.BlePermissionError]: 'Bluetooth required to be turned on',
|
|
227
|
-
[HardwareErrorCode.BleLocationError]: '
|
|
226
|
+
[HardwareErrorCode.BleLocationError]: 'Location permissions for the application are not available',
|
|
228
227
|
[HardwareErrorCode.BleRequiredUUID]: 'uuid is required',
|
|
229
228
|
[HardwareErrorCode.BleConnectedError]: 'connected error is always runtime error',
|
|
230
229
|
[HardwareErrorCode.BleDeviceNotBonded]: 'device is not bonded',
|
|
@@ -282,7 +281,6 @@ const HardwareErrorCodeMessage = {
|
|
|
282
281
|
[HardwareErrorCode.LowlevelTrasnportConnectError]: 'Lowlevel transport connect error',
|
|
283
282
|
[HardwareErrorCode.WebDeviceNotFoundOrNeedsPermission]: 'Web-USB or Web-Bluetooth device not found or needs permission',
|
|
284
283
|
[HardwareErrorCode.WebDevicePromptAccessError]: 'Web-USB or Web-Bluetooth device prompt access error',
|
|
285
|
-
[HardwareErrorCode.WebUsbDeviceAccessError]: 'WebUSB device access failed',
|
|
286
284
|
};
|
|
287
285
|
const TypedError = (hardwareError, message, params) => {
|
|
288
286
|
if (typeof hardwareError === 'string') {
|
|
@@ -290,6 +288,20 @@ const TypedError = (hardwareError, message, params) => {
|
|
|
290
288
|
}
|
|
291
289
|
return new HardwareError({ errorCode: hardwareError, message: message !== null && message !== void 0 ? message : '', params });
|
|
292
290
|
};
|
|
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
|
+
};
|
|
293
305
|
const serializeError = (payload) => {
|
|
294
306
|
if (payload && payload.error instanceof HardwareError) {
|
|
295
307
|
return {
|
|
@@ -381,6 +393,8 @@ var HardwareError$1 = /*#__PURE__*/Object.freeze({
|
|
|
381
393
|
HardwareErrorCode: HardwareErrorCode,
|
|
382
394
|
HardwareErrorCodeMessage: HardwareErrorCodeMessage,
|
|
383
395
|
TypedError: TypedError,
|
|
396
|
+
isBleStaleBondHardwareError: isBleStaleBondHardwareError,
|
|
397
|
+
isBleStaleBondErrorText: isBleStaleBondErrorText,
|
|
384
398
|
serializeError: serializeError,
|
|
385
399
|
CreateErrorByMessage: CreateErrorByMessage,
|
|
386
400
|
CreateHardwareErrorByBridgeError: CreateHardwareErrorByBridgeError,
|
|
@@ -414,7 +428,6 @@ const isKnownTrezorWebUsbDevice = (descriptor) => {
|
|
|
414
428
|
return manufacturerName != null && TREZOR_WEBUSB_MANUFACTURER_NAMES.has(manufacturerName);
|
|
415
429
|
};
|
|
416
430
|
const ERROR_CODES_REQUIRE_RELEASE = [
|
|
417
|
-
HardwareErrorCode.WebUsbDeviceAccessError,
|
|
418
431
|
HardwareErrorCode.DeviceInitializeFailed,
|
|
419
432
|
HardwareErrorCode.DeviceInterruptedFromOutside,
|
|
420
433
|
HardwareErrorCode.DeviceInterruptedFromUser,
|
|
@@ -425,7 +438,6 @@ const ERROR_CODES_REQUIRE_RELEASE = [
|
|
|
425
438
|
HardwareErrorCode.UnexpectPassphrase,
|
|
426
439
|
];
|
|
427
440
|
const ERROR_CODES_REQUIRE_DISCONNECT = [
|
|
428
|
-
HardwareErrorCode.WebUsbDeviceAccessError,
|
|
429
441
|
HardwareErrorCode.DeviceInitializeFailed,
|
|
430
442
|
HardwareErrorCode.ResponseUnexpectTypeError,
|
|
431
443
|
];
|
|
@@ -758,6 +770,8 @@ exports.createNewFirmwareForceUpdateHardwareError = createNewFirmwareForceUpdate
|
|
|
758
770
|
exports.createNewFirmwareUnReleaseHardwareError = createNewFirmwareUnReleaseHardwareError;
|
|
759
771
|
exports.hasOnekeyCommunicationService = hasOnekeyCommunicationService;
|
|
760
772
|
exports.inferProtocolHintFromUsbId = inferProtocolHintFromUsbId;
|
|
773
|
+
exports.isBleStaleBondErrorText = isBleStaleBondErrorText;
|
|
774
|
+
exports.isBleStaleBondHardwareError = isBleStaleBondHardwareError;
|
|
761
775
|
exports.isHeaderChunk = isHeaderChunk;
|
|
762
776
|
exports.isKnownTrezorWebUsbDevice = isKnownTrezorWebUsbDevice;
|
|
763
777
|
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.
|
|
3
|
+
"version": "1.2.8-alpha.6",
|
|
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": "
|
|
29
|
+
"gitHead": "eba2e870aaf79093ba41c67eb616f7239527a84b"
|
|
30
30
|
}
|
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
HardwareErrorCode,
|
|
3
3
|
HardwareErrorCodeMessage,
|
|
4
4
|
TypedError,
|
|
5
|
+
isBleStaleBondErrorText,
|
|
5
6
|
serializeError,
|
|
6
7
|
} from './HardwareError';
|
|
7
8
|
|
|
@@ -49,4 +50,14 @@ describe('HardwareErrorCode compatibility', () => {
|
|
|
49
50
|
'pairing information is no longer valid'
|
|
50
51
|
);
|
|
51
52
|
});
|
|
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
|
+
});
|
|
52
63
|
});
|
package/src/HardwareError.ts
CHANGED
|
@@ -456,7 +456,7 @@ export const HardwareErrorCode = {
|
|
|
456
456
|
FirmwareVerificationFailed: 820,
|
|
457
457
|
|
|
458
458
|
/**
|
|
459
|
-
*
|
|
459
|
+
* Web bridge coonect needs permission
|
|
460
460
|
*/
|
|
461
461
|
BridgeNeedsPermission: 821,
|
|
462
462
|
|
|
@@ -522,12 +522,6 @@ export const HardwareErrorCode = {
|
|
|
522
522
|
* Web USB or Web Bluetooth device prompt access error
|
|
523
523
|
*/
|
|
524
524
|
WebDevicePromptAccessError: 902,
|
|
525
|
-
|
|
526
|
-
/**
|
|
527
|
-
* WebUSB device is present, but its interface or endpoint is unavailable
|
|
528
|
-
* @params: { operation: 'open' | 'claimInterface' | 'transferIn' | 'transferOut'; nativeErrorName?: string; nativeErrorMessage?: string }
|
|
529
|
-
*/
|
|
530
|
-
WebUsbDeviceAccessError: 903,
|
|
531
525
|
} as const;
|
|
532
526
|
|
|
533
527
|
export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
|
|
@@ -612,7 +606,7 @@ export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
|
|
|
612
606
|
[HardwareErrorCode.BleScanError]: 'BLE scan error',
|
|
613
607
|
[HardwareErrorCode.BlePermissionError]: 'Bluetooth required to be turned on',
|
|
614
608
|
[HardwareErrorCode.BleLocationError]:
|
|
615
|
-
'
|
|
609
|
+
'Location permissions for the application are not available',
|
|
616
610
|
[HardwareErrorCode.BleRequiredUUID]: 'uuid is required',
|
|
617
611
|
[HardwareErrorCode.BleConnectedError]: 'connected error is always runtime error',
|
|
618
612
|
[HardwareErrorCode.BleDeviceNotBonded]: 'device is not bonded',
|
|
@@ -683,7 +677,6 @@ export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
|
|
|
683
677
|
'Web-USB or Web-Bluetooth device not found or needs permission',
|
|
684
678
|
[HardwareErrorCode.WebDevicePromptAccessError]:
|
|
685
679
|
'Web-USB or Web-Bluetooth device prompt access error',
|
|
686
|
-
[HardwareErrorCode.WebUsbDeviceAccessError]: 'WebUSB device access failed',
|
|
687
680
|
} as const;
|
|
688
681
|
|
|
689
682
|
export const TypedError = (
|
|
@@ -697,6 +690,26 @@ export const TypedError = (
|
|
|
697
690
|
return new HardwareError({ errorCode: hardwareError, message: message ?? '', params });
|
|
698
691
|
};
|
|
699
692
|
|
|
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
|
+
|
|
700
713
|
export const serializeError = (payload: any) => {
|
|
701
714
|
if (payload && payload.error instanceof HardwareError) {
|
|
702
715
|
return {
|
package/src/constants.ts
CHANGED
|
@@ -43,7 +43,6 @@ 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
46
|
HardwareErrorCode.DeviceInitializeFailed,
|
|
48
47
|
HardwareErrorCode.DeviceInterruptedFromOutside,
|
|
49
48
|
HardwareErrorCode.DeviceInterruptedFromUser,
|
|
@@ -59,7 +58,6 @@ export const ERROR_CODES_REQUIRE_RELEASE = [
|
|
|
59
58
|
* These errors indicate a communication failure that requires full reconnection
|
|
60
59
|
*/
|
|
61
60
|
export const ERROR_CODES_REQUIRE_DISCONNECT = [
|
|
62
|
-
HardwareErrorCode.WebUsbDeviceAccessError,
|
|
63
61
|
HardwareErrorCode.DeviceInitializeFailed,
|
|
64
62
|
HardwareErrorCode.ResponseUnexpectTypeError,
|
|
65
63
|
] as const;
|