@onekeyfe/hd-shared 1.2.0-alpha.53 → 1.2.0-alpha.54
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 +0 -1
- package/dist/HardwareError.d.ts.map +1 -1
- package/dist/constants.d.ts +0 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/index.d.ts +1 -7
- package/dist/index.js +4 -11
- package/package.json +2 -2
- package/src/HardwareError.ts +0 -8
- package/src/constants.test.ts +4 -24
- package/src/constants.ts +6 -10
package/dist/HardwareError.d.ts
CHANGED
|
@@ -118,7 +118,6 @@ export declare const HardwareErrorCode: {
|
|
|
118
118
|
readonly KaspaPrevTxIdMismatch: 829;
|
|
119
119
|
readonly DeviceLocked: 830;
|
|
120
120
|
readonly WalletSessionInvalid: 831;
|
|
121
|
-
readonly NftStorageLimitReached: 832;
|
|
122
121
|
readonly LowlevelTrasnportConnectError: 900;
|
|
123
122
|
readonly WebDeviceNotFoundOrNeedsPermission: 901;
|
|
124
123
|
readonly WebDevicePromptAccessError: 902;
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAubpB,CAAC;AAEX,eAAO,MAAM,wBAAwB,EAAE,+BAmJ7B,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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -54,7 +54,6 @@ type BluetoothDeviceIdentity = {
|
|
|
54
54
|
export declare const normalizeBleUuid: (uuid?: string | null) => string;
|
|
55
55
|
export declare const createKnownBleUuidAliases: (uuid: string) => ReadonlySet<string>;
|
|
56
56
|
export declare const matchesKnownBleUuid: (actualUuid: string | null | undefined, aliases: ReadonlySet<string>) => boolean;
|
|
57
|
-
export declare const isPro2FindMyAdvertisementName: (value?: string | null) => boolean;
|
|
58
57
|
export declare const hasOnekeyCommunicationService: (serviceUuids: Array<string | null | undefined> | null | undefined) => boolean;
|
|
59
58
|
export declare const isOnekeyBluetoothDevice: ({ id, name, localName, serviceUuids, }: BluetoothDeviceIdentity) => boolean;
|
|
60
59
|
export {};
|
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;AAEF,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,mDAS9B,CAAC;AAMX,eAAO,MAAM,8BAA8B,qBAGjC,CAAC;AAGX,oBAAY,qBAAqB;IAE/B,UAAU,uBAAuB;IACjC,iBAAiB,8BAA8B;IAC/C,aAAa,0BAA0B;IACvC,kBAAkB,+BAA+B;IACjD,cAAc,2BAA2B;IACzC,oBAAoB,iCAAiC;IAGrD,mBAAmB,gCAAgC;IACnD,oBAAoB,iCAAiC;IAGrD,aAAa,0BAA0B;IACvC,oBAAoB,iCAAiC;IAGrD,uBAAuB,oCAAoC;IAC3D,sBAAsB,mCAAmC;IAGzD,mBAAmB,gCAAgC;IACnD,mBAAmB,gCAAgC;IACnD,oBAAoB,iCAAiC;IACrD,iBAAiB,8BAA8B;IAC/C,oBAAoB,iCAAiC;IACrD,eAAe,4BAA4B;IAC3C,mBAAmB,gCAAgC;IACnD,qBAAqB,kCAAkC;IACvD,sBAAsB,mCAAmC;IACzD,wBAAwB,qCAAqC;CAC9D;AAED,eAAO,MAAM,mBAAmB,yCAAyC,CAAC;AAC1E,eAAO,MAAM,gCAAgC,yCAAyC,CAAC;AACvF,eAAO,MAAM,iCAAiC,yCAAyC,CAAC;AAIxF,eAAO,MAAM,aAAa,UAAW,MAAM,GAAG,UAAU,KAAG,OAa1D,CAAC;AAkBF,eAAO,MAAM,cAAc,SAAU,MAAM,GAAG,IAAI,OAAO,MAAM,KAAG,OAsBjE,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;CACxD,CAAC;AAIF,eAAO,MAAM,gBAAgB,UAAW,MAAM,GAAG,IAAI,WACP,CAAC;AAE/C,eAAO,MAAM,yBAAyB,SAAU,MAAM,KAAG,YAAY,MAAM,CAc1E,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAClB,MAAM,GAAG,IAAI,GAAG,SAAS,WAC5B,YAAY,MAAM,CAAC,YACgB,CAAC;
|
|
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;AAEF,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,mDAS9B,CAAC;AAMX,eAAO,MAAM,8BAA8B,qBAGjC,CAAC;AAGX,oBAAY,qBAAqB;IAE/B,UAAU,uBAAuB;IACjC,iBAAiB,8BAA8B;IAC/C,aAAa,0BAA0B;IACvC,kBAAkB,+BAA+B;IACjD,cAAc,2BAA2B;IACzC,oBAAoB,iCAAiC;IAGrD,mBAAmB,gCAAgC;IACnD,oBAAoB,iCAAiC;IAGrD,aAAa,0BAA0B;IACvC,oBAAoB,iCAAiC;IAGrD,uBAAuB,oCAAoC;IAC3D,sBAAsB,mCAAmC;IAGzD,mBAAmB,gCAAgC;IACnD,mBAAmB,gCAAgC;IACnD,oBAAoB,iCAAiC;IACrD,iBAAiB,8BAA8B;IAC/C,oBAAoB,iCAAiC;IACrD,eAAe,4BAA4B;IAC3C,mBAAmB,gCAAgC;IACnD,qBAAqB,kCAAkC;IACvD,sBAAsB,mCAAmC;IACzD,wBAAwB,qCAAqC;CAC9D;AAED,eAAO,MAAM,mBAAmB,yCAAyC,CAAC;AAC1E,eAAO,MAAM,gCAAgC,yCAAyC,CAAC;AACvF,eAAO,MAAM,iCAAiC,yCAAyC,CAAC;AAIxF,eAAO,MAAM,aAAa,UAAW,MAAM,GAAG,UAAU,KAAG,OAa1D,CAAC;AAkBF,eAAO,MAAM,cAAc,SAAU,MAAM,GAAG,IAAI,OAAO,MAAM,KAAG,OAsBjE,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;CACxD,CAAC;AAIF,eAAO,MAAM,gBAAgB,UAAW,MAAM,GAAG,IAAI,WACP,CAAC;AAE/C,eAAO,MAAM,yBAAyB,SAAU,MAAM,KAAG,YAAY,MAAM,CAc1E,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAClB,MAAM,GAAG,IAAI,GAAG,SAAS,WAC5B,YAAY,MAAM,CAAC,YACgB,CAAC;AAQ/C,eAAO,MAAM,6BAA6B,iBAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,YAIhE,CAAC;AAEJ,eAAO,MAAM,uBAAuB,2CAKjC,uBAAuB,KAAG,OAe5B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -61,7 +61,6 @@ type BluetoothDeviceIdentity = {
|
|
|
61
61
|
declare const normalizeBleUuid: (uuid?: string | null) => string;
|
|
62
62
|
declare const createKnownBleUuidAliases: (uuid: string) => ReadonlySet<string>;
|
|
63
63
|
declare const matchesKnownBleUuid: (actualUuid: string | null | undefined, aliases: ReadonlySet<string>) => boolean;
|
|
64
|
-
declare const isPro2FindMyAdvertisementName: (value?: string | null) => boolean;
|
|
65
64
|
declare const hasOnekeyCommunicationService: (serviceUuids: Array<string | null | undefined> | null | undefined) => boolean;
|
|
66
65
|
declare const isOnekeyBluetoothDevice: ({ id, name, localName, serviceUuids, }: BluetoothDeviceIdentity) => boolean;
|
|
67
66
|
|
|
@@ -440,11 +439,6 @@ declare const HardwareErrorCode: {
|
|
|
440
439
|
* @params: { failureCode?: string; subcode?: number; firmwareMessage?: string }
|
|
441
440
|
*/
|
|
442
441
|
readonly WalletSessionInvalid: 831;
|
|
443
|
-
/**
|
|
444
|
-
* Pro2 NFT storage has reached its item limit.
|
|
445
|
-
* @params: { count: number; limit: number }
|
|
446
|
-
*/
|
|
447
|
-
readonly NftStorageLimitReached: 832;
|
|
448
442
|
/**
|
|
449
443
|
* Lowlevel transport connect error
|
|
450
444
|
*/
|
|
@@ -530,4 +524,4 @@ declare enum EDeviceType {
|
|
|
530
524
|
Pro2 = "pro2"
|
|
531
525
|
}
|
|
532
526
|
|
|
533
|
-
export { CreateErrorByMessage, CreateHardwareErrorByBridgeError, Deferred, 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_SERVICE_UUID, ONEKEY_WEBUSB_FILTER, ONEKEY_WRITE_CHARACTERISTIC_UUID, TypedError, createDefectiveFirmwareError, createDeferred, createDeprecatedHardwareError, createDeviceNotSupportMethodError, createKnownBleUuidAliases, createNeedUpgradeFirmwareHardwareError, createNewFirmwareForceUpdateHardwareError, createNewFirmwareUnReleaseHardwareError, hasOnekeyCommunicationService, isHeaderChunk, isKnownTrezorWebUsbDevice, isOnekeyBluetoothDevice, isOnekeyDevice,
|
|
527
|
+
export { CreateErrorByMessage, CreateHardwareErrorByBridgeError, Deferred, 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_SERVICE_UUID, ONEKEY_WEBUSB_FILTER, ONEKEY_WRITE_CHARACTERISTIC_UUID, TypedError, createDefectiveFirmwareError, createDeferred, createDeprecatedHardwareError, createDeviceNotSupportMethodError, createKnownBleUuidAliases, createNeedUpgradeFirmwareHardwareError, createNewFirmwareForceUpdateHardwareError, createNewFirmwareUnReleaseHardwareError, hasOnekeyCommunicationService, isHeaderChunk, isKnownTrezorWebUsbDevice, isOnekeyBluetoothDevice, isOnekeyDevice, matchesKnownBleUuid, normalizeBleUuid, serializeError, wait };
|
package/dist/index.js
CHANGED
|
@@ -167,7 +167,6 @@ const HardwareErrorCode = {
|
|
|
167
167
|
KaspaPrevTxIdMismatch: 829,
|
|
168
168
|
DeviceLocked: 830,
|
|
169
169
|
WalletSessionInvalid: 831,
|
|
170
|
-
NftStorageLimitReached: 832,
|
|
171
170
|
LowlevelTrasnportConnectError: 900,
|
|
172
171
|
WebDeviceNotFoundOrNeedsPermission: 901,
|
|
173
172
|
WebDevicePromptAccessError: 902,
|
|
@@ -275,7 +274,6 @@ const HardwareErrorCodeMessage = {
|
|
|
275
274
|
[HardwareErrorCode.DeviceLocked]: 'Device locked',
|
|
276
275
|
[HardwareErrorCode.KaspaPrevTxIdMismatch]: 'Kaspa previous transaction id mismatch',
|
|
277
276
|
[HardwareErrorCode.WalletSessionInvalid]: 'Wallet session is invalid or expired',
|
|
278
|
-
[HardwareErrorCode.NftStorageLimitReached]: 'NFT storage limit reached. Remove an NFT from the device and try again.',
|
|
279
277
|
[HardwareErrorCode.LowlevelTrasnportConnectError]: 'Lowlevel transport connect error',
|
|
280
278
|
[HardwareErrorCode.WebDeviceNotFoundOrNeedsPermission]: 'Web-USB or Web-Bluetooth device not found or needs permission',
|
|
281
279
|
[HardwareErrorCode.WebDevicePromptAccessError]: 'Web-USB or Web-Bluetooth device prompt access error',
|
|
@@ -516,20 +514,16 @@ const createKnownBleUuidAliases = (uuid) => {
|
|
|
516
514
|
const matchesKnownBleUuid = (actualUuid, aliases) => aliases.has(normalizeBleUuid(actualUuid));
|
|
517
515
|
const ONEKEY_COMMUNICATION_SERVICE_ALIASES = createKnownBleUuidAliases(ONEKEY_SERVICE_UUID);
|
|
518
516
|
const FIDO_SERVICE_ALIASES = createKnownBleUuidAliases('0000fffd-0000-1000-8000-00805f9b34fb');
|
|
519
|
-
const
|
|
520
|
-
var _a;
|
|
521
|
-
const normalizedName = (_a = value === null || value === void 0 ? void 0 : value.trim().toLowerCase()) !== null && _a !== void 0 ? _a : '';
|
|
522
|
-
return /\bpro\s*2\b/.test(normalizedName) && /\bfinde?\s+my\b/.test(normalizedName);
|
|
523
|
-
};
|
|
517
|
+
const isFindMyAdvertisementName = (value) => { var _a; return /\bfinde?\s+my\b/.test((_a = value === null || value === void 0 ? void 0 : value.trim().toLowerCase()) !== null && _a !== void 0 ? _a : ''); };
|
|
524
518
|
const hasOnekeyCommunicationService = (serviceUuids) => (serviceUuids !== null && serviceUuids !== void 0 ? serviceUuids : []).some(uuid => matchesKnownBleUuid(uuid, ONEKEY_COMMUNICATION_SERVICE_ALIASES));
|
|
525
519
|
const isOnekeyBluetoothDevice = ({ id, name, localName, serviceUuids, }) => {
|
|
526
520
|
const advertisedServiceUuids = serviceUuids !== null && serviceUuids !== void 0 ? serviceUuids : [];
|
|
521
|
+
if (isFindMyAdvertisementName(name) || isFindMyAdvertisementName(localName)) {
|
|
522
|
+
return false;
|
|
523
|
+
}
|
|
527
524
|
if (hasOnekeyCommunicationService(advertisedServiceUuids)) {
|
|
528
525
|
return true;
|
|
529
526
|
}
|
|
530
|
-
if (isPro2FindMyAdvertisementName(name) || isPro2FindMyAdvertisementName(localName)) {
|
|
531
|
-
return false;
|
|
532
|
-
}
|
|
533
527
|
if (advertisedServiceUuids.some(uuid => matchesKnownBleUuid(uuid, FIDO_SERVICE_ALIASES))) {
|
|
534
528
|
return false;
|
|
535
529
|
}
|
|
@@ -636,7 +630,6 @@ exports.isHeaderChunk = isHeaderChunk;
|
|
|
636
630
|
exports.isKnownTrezorWebUsbDevice = isKnownTrezorWebUsbDevice;
|
|
637
631
|
exports.isOnekeyBluetoothDevice = isOnekeyBluetoothDevice;
|
|
638
632
|
exports.isOnekeyDevice = isOnekeyDevice;
|
|
639
|
-
exports.isPro2FindMyAdvertisementName = isPro2FindMyAdvertisementName;
|
|
640
633
|
exports.matchesKnownBleUuid = matchesKnownBleUuid;
|
|
641
634
|
exports.normalizeBleUuid = normalizeBleUuid;
|
|
642
635
|
exports.serializeError = serializeError;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/hd-shared",
|
|
3
|
-
"version": "1.2.0-alpha.
|
|
3
|
+
"version": "1.2.0-alpha.54",
|
|
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": "a382a4719286e0df04fe706ed13099020eb8e13f"
|
|
30
30
|
}
|
package/src/HardwareError.ts
CHANGED
|
@@ -501,12 +501,6 @@ export const HardwareErrorCode = {
|
|
|
501
501
|
*/
|
|
502
502
|
WalletSessionInvalid: 831,
|
|
503
503
|
|
|
504
|
-
/**
|
|
505
|
-
* Pro2 NFT storage has reached its item limit.
|
|
506
|
-
* @params: { count: number; limit: number }
|
|
507
|
-
*/
|
|
508
|
-
NftStorageLimitReached: 832,
|
|
509
|
-
|
|
510
504
|
/**
|
|
511
505
|
* Lowlevel transport connect error
|
|
512
506
|
*/
|
|
@@ -661,8 +655,6 @@ export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
|
|
|
661
655
|
[HardwareErrorCode.DeviceLocked]: 'Device locked',
|
|
662
656
|
[HardwareErrorCode.KaspaPrevTxIdMismatch]: 'Kaspa previous transaction id mismatch',
|
|
663
657
|
[HardwareErrorCode.WalletSessionInvalid]: 'Wallet session is invalid or expired',
|
|
664
|
-
[HardwareErrorCode.NftStorageLimitReached]:
|
|
665
|
-
'NFT storage limit reached. Remove an NFT from the device and try again.',
|
|
666
658
|
|
|
667
659
|
/**
|
|
668
660
|
* Lowlevel transport
|
package/src/constants.test.ts
CHANGED
|
@@ -20,14 +20,14 @@ describe('hardware device identity filters', () => {
|
|
|
20
20
|
expect(isOnekeyDevice('Ledger Nano X')).toBe(false);
|
|
21
21
|
});
|
|
22
22
|
|
|
23
|
-
it('does not identify an FFFD
|
|
23
|
+
it('does not identify an unnamed FFFD or Find My advertisement as OneKey', () => {
|
|
24
24
|
expect(isOnekeyBluetoothDevice({ name: 'Find My', serviceUuids: ['fffd'] })).toBe(false);
|
|
25
25
|
expect(
|
|
26
26
|
isOnekeyBluetoothDevice({ serviceUuids: ['0000fffd-0000-1000-8000-00805f9b34fb'] })
|
|
27
27
|
).toBe(false);
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
-
it('
|
|
30
|
+
it('keeps Pro2 communication advertisements and rejects its Find My advertisement', () => {
|
|
31
31
|
expect(
|
|
32
32
|
isOnekeyBluetoothDevice({
|
|
33
33
|
name: 'Pro2 A1B2',
|
|
@@ -37,33 +37,13 @@ describe('hardware device identity filters', () => {
|
|
|
37
37
|
expect(
|
|
38
38
|
isOnekeyBluetoothDevice({
|
|
39
39
|
localName: 'Pro2 A1B2 - Find My',
|
|
40
|
-
serviceUuids: ['
|
|
41
|
-
})
|
|
42
|
-
).toBe(true);
|
|
43
|
-
expect(
|
|
44
|
-
isOnekeyBluetoothDevice({
|
|
45
|
-
name: 'Pro2 5E9D - Finde My',
|
|
46
|
-
serviceUuids: ['0001', 'fffd'],
|
|
47
|
-
})
|
|
48
|
-
).toBe(true);
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
it('rejects Pro2 Find My entries when the communication service is absent', () => {
|
|
52
|
-
expect(
|
|
53
|
-
isOnekeyBluetoothDevice({
|
|
54
|
-
name: 'Pro2 A1B2 - Find My',
|
|
55
|
-
})
|
|
56
|
-
).toBe(false);
|
|
57
|
-
expect(
|
|
58
|
-
isOnekeyBluetoothDevice({
|
|
59
|
-
localName: 'OneKey Pro 2 A1B2 - Find My',
|
|
60
|
-
serviceUuids: [],
|
|
40
|
+
serviceUuids: ['fffd'],
|
|
61
41
|
})
|
|
62
42
|
).toBe(false);
|
|
63
43
|
expect(
|
|
64
44
|
isOnekeyBluetoothDevice({
|
|
65
45
|
name: 'Pro2 5E9D - Finde My',
|
|
66
|
-
serviceUuids: ['fffd'],
|
|
46
|
+
serviceUuids: ['0001', 'fffd'],
|
|
67
47
|
})
|
|
68
48
|
).toBe(false);
|
|
69
49
|
});
|
package/src/constants.ts
CHANGED
|
@@ -191,10 +191,8 @@ export const matchesKnownBleUuid = (
|
|
|
191
191
|
const ONEKEY_COMMUNICATION_SERVICE_ALIASES = createKnownBleUuidAliases(ONEKEY_SERVICE_UUID);
|
|
192
192
|
const FIDO_SERVICE_ALIASES = createKnownBleUuidAliases('0000fffd-0000-1000-8000-00805f9b34fb');
|
|
193
193
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
return /\bpro\s*2\b/.test(normalizedName) && /\bfinde?\s+my\b/.test(normalizedName);
|
|
197
|
-
};
|
|
194
|
+
const isFindMyAdvertisementName = (value?: string | null) =>
|
|
195
|
+
/\bfinde?\s+my\b/.test(value?.trim().toLowerCase() ?? '');
|
|
198
196
|
|
|
199
197
|
export const hasOnekeyCommunicationService = (
|
|
200
198
|
serviceUuids: Array<string | null | undefined> | null | undefined
|
|
@@ -210,14 +208,12 @@ export const isOnekeyBluetoothDevice = ({
|
|
|
210
208
|
serviceUuids,
|
|
211
209
|
}: BluetoothDeviceIdentity): boolean => {
|
|
212
210
|
const advertisedServiceUuids = serviceUuids ?? [];
|
|
213
|
-
if (
|
|
214
|
-
return
|
|
211
|
+
if (isFindMyAdvertisementName(name) || isFindMyAdvertisementName(localName)) {
|
|
212
|
+
return false;
|
|
215
213
|
}
|
|
216
214
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
if (isPro2FindMyAdvertisementName(name) || isPro2FindMyAdvertisementName(localName)) {
|
|
220
|
-
return false;
|
|
215
|
+
if (hasOnekeyCommunicationService(advertisedServiceUuids)) {
|
|
216
|
+
return true;
|
|
221
217
|
}
|
|
222
218
|
|
|
223
219
|
if (advertisedServiceUuids.some(uuid => matchesKnownBleUuid(uuid, FIDO_SERVICE_ALIASES))) {
|