@onekeyfe/hd-shared 1.0.39-alpha.1 → 1.0.39-alpha.10
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 -0
- package/dist/HardwareError.d.ts.map +1 -1
- package/dist/constants.d.ts +29 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/firmwareType.d.ts +5 -0
- package/dist/firmwareType.d.ts.map +1 -0
- package/dist/index.d.ts +36 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +66 -0
- package/package.json +2 -2
- package/src/HardwareError.ts +4 -0
- package/src/constants.ts +69 -0
- package/src/firmwareType.ts +4 -0
- package/src/index.ts +1 -0
package/dist/HardwareError.d.ts
CHANGED
|
@@ -81,6 +81,8 @@ export declare const HardwareErrorCode: {
|
|
|
81
81
|
readonly BleDeviceBondedCanceled: 718;
|
|
82
82
|
readonly BlePeerRemovedPairingInformation: 719;
|
|
83
83
|
readonly BleDeviceDisconnected: 720;
|
|
84
|
+
readonly BlePoweredOff: 721;
|
|
85
|
+
readonly BleUnsupported: 722;
|
|
84
86
|
readonly RuntimeError: 800;
|
|
85
87
|
readonly PinInvalid: 801;
|
|
86
88
|
readonly PinCancelled: 802;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HardwareError.d.ts","sourceRoot":"","sources":["../src/HardwareError.ts"],"names":[],"mappings":"AAAA,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;AAOxD,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,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;AAOxD,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmXpB,CAAC;AAEX,eAAO,MAAM,wBAAwB,EAAE,+BAoI7B,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;AAEF,QAAA,MAAM,uCAAuC,mBAAoB,MAAM,kBAAkB,MAAM,kBAK5F,CAAC;AAEJ,QAAA,MAAM,sCAAsC,mBAAoB,MAAM,kBAAkB,MAAM,kBAK3F,CAAC;AAEJ,QAAA,MAAM,yCAAyC,cAClC,MAAM,GAAG,SAAS,YACnB,MAAM,GAAG,SAAS,kBAM3B,CAAC;AAEJ,QAAA,MAAM,6BAA6B,mBAAoB,MAAM,qBAAqB,MAAM,kBAKrF,CAAC;AAEJ,OAAO,EACL,uCAAuC,EACvC,sCAAsC,EACtC,yCAAyC,EACzC,6BAA6B,GAC9B,CAAC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
export declare const ONEKEY_WEBUSB_FILTER: {
|
|
2
3
|
vendorId: number;
|
|
3
4
|
productId: number;
|
|
4
5
|
}[];
|
|
6
|
+
export declare enum EOneKeyBleMessageKeys {
|
|
7
|
+
BLE_SELECT = "$onekey-ble-select",
|
|
8
|
+
BLE_SELECT_RESULT = "$onekey-ble-select-result",
|
|
9
|
+
BLE_STOP_SCAN = "$onekey-ble-stop-scan",
|
|
10
|
+
BLE_CANCEL_REQUEST = "$onekey-ble-cancel-request",
|
|
11
|
+
BLE_PRE_SELECT = "$onekey-ble-pre-select",
|
|
12
|
+
BLE_CLEAR_PRE_SELECT = "$onekey-ble-clear-pre-select",
|
|
13
|
+
BLE_PAIRING_REQUEST = "$onekey-ble-pairing-request",
|
|
14
|
+
BLE_PAIRING_RESPONSE = "$onekey-ble-pairing-response",
|
|
15
|
+
BLE_ENUMERATE = "$onekey-ble-enumerate",
|
|
16
|
+
BLE_ENUMERATE_RESULT = "$onekey-ble-enumerate-result",
|
|
17
|
+
BLE_DEVICE_DISCONNECTED = "$onekey-ble-device-disconnected",
|
|
18
|
+
BLE_AVAILABILITY_CHECK = "$onekey-ble-availability-check",
|
|
19
|
+
NOBLE_BLE_ENUMERATE = "$onekey-noble-ble-enumerate",
|
|
20
|
+
NOBLE_BLE_STOP_SCAN = "$onekey-noble-ble-stop-scan",
|
|
21
|
+
NOBLE_BLE_GET_DEVICE = "$onekey-noble-ble-get-device",
|
|
22
|
+
NOBLE_BLE_CONNECT = "$onekey-noble-ble-connect",
|
|
23
|
+
NOBLE_BLE_DISCONNECT = "$onekey-noble-ble-disconnect",
|
|
24
|
+
NOBLE_BLE_WRITE = "$onekey-noble-ble-write",
|
|
25
|
+
NOBLE_BLE_SUBSCRIBE = "$onekey-noble-ble-subscribe",
|
|
26
|
+
NOBLE_BLE_UNSUBSCRIBE = "$onekey-noble-ble-unsubscribe",
|
|
27
|
+
NOBLE_BLE_NOTIFICATION = "$onekey-noble-ble-notification"
|
|
28
|
+
}
|
|
29
|
+
export declare const ONEKEY_SERVICE_UUID = "00000001-0000-1000-8000-00805f9b34fb";
|
|
30
|
+
export declare const ONEKEY_WRITE_CHARACTERISTIC_UUID = "00000002-0000-1000-8000-00805f9b34fb";
|
|
31
|
+
export declare const ONEKEY_NOTIFY_CHARACTERISTIC_UUID = "00000003-0000-1000-8000-00805f9b34fb";
|
|
32
|
+
export declare const isHeaderChunk: (chunk: Buffer | Uint8Array) => boolean;
|
|
33
|
+
export declare const isOnekeyDevice: (name: string | null, id?: string) => boolean;
|
|
5
34
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB;;;GAOhC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA,eAAO,MAAM,oBAAoB;;;GAOhC,CAAC;AAGF,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;CAC1D;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;AAEF,eAAO,MAAM,cAAc,SAAU,MAAM,GAAG,IAAI,OAAO,MAAM,KAAG,OAYjE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firmwareType.d.ts","sourceRoot":"","sources":["../src/firmwareType.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,SAAS,cAAc;IACvB,WAAW,gBAAgB;CAC5B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,34 @@ declare const ONEKEY_WEBUSB_FILTER: {
|
|
|
2
2
|
vendorId: number;
|
|
3
3
|
productId: number;
|
|
4
4
|
}[];
|
|
5
|
+
declare enum EOneKeyBleMessageKeys {
|
|
6
|
+
BLE_SELECT = "$onekey-ble-select",
|
|
7
|
+
BLE_SELECT_RESULT = "$onekey-ble-select-result",
|
|
8
|
+
BLE_STOP_SCAN = "$onekey-ble-stop-scan",
|
|
9
|
+
BLE_CANCEL_REQUEST = "$onekey-ble-cancel-request",
|
|
10
|
+
BLE_PRE_SELECT = "$onekey-ble-pre-select",
|
|
11
|
+
BLE_CLEAR_PRE_SELECT = "$onekey-ble-clear-pre-select",
|
|
12
|
+
BLE_PAIRING_REQUEST = "$onekey-ble-pairing-request",
|
|
13
|
+
BLE_PAIRING_RESPONSE = "$onekey-ble-pairing-response",
|
|
14
|
+
BLE_ENUMERATE = "$onekey-ble-enumerate",
|
|
15
|
+
BLE_ENUMERATE_RESULT = "$onekey-ble-enumerate-result",
|
|
16
|
+
BLE_DEVICE_DISCONNECTED = "$onekey-ble-device-disconnected",
|
|
17
|
+
BLE_AVAILABILITY_CHECK = "$onekey-ble-availability-check",
|
|
18
|
+
NOBLE_BLE_ENUMERATE = "$onekey-noble-ble-enumerate",
|
|
19
|
+
NOBLE_BLE_STOP_SCAN = "$onekey-noble-ble-stop-scan",
|
|
20
|
+
NOBLE_BLE_GET_DEVICE = "$onekey-noble-ble-get-device",
|
|
21
|
+
NOBLE_BLE_CONNECT = "$onekey-noble-ble-connect",
|
|
22
|
+
NOBLE_BLE_DISCONNECT = "$onekey-noble-ble-disconnect",
|
|
23
|
+
NOBLE_BLE_WRITE = "$onekey-noble-ble-write",
|
|
24
|
+
NOBLE_BLE_SUBSCRIBE = "$onekey-noble-ble-subscribe",
|
|
25
|
+
NOBLE_BLE_UNSUBSCRIBE = "$onekey-noble-ble-unsubscribe",
|
|
26
|
+
NOBLE_BLE_NOTIFICATION = "$onekey-noble-ble-notification"
|
|
27
|
+
}
|
|
28
|
+
declare const ONEKEY_SERVICE_UUID = "00000001-0000-1000-8000-00805f9b34fb";
|
|
29
|
+
declare const ONEKEY_WRITE_CHARACTERISTIC_UUID = "00000002-0000-1000-8000-00805f9b34fb";
|
|
30
|
+
declare const ONEKEY_NOTIFY_CHARACTERISTIC_UUID = "00000003-0000-1000-8000-00805f9b34fb";
|
|
31
|
+
declare const isHeaderChunk: (chunk: Buffer | Uint8Array) => boolean;
|
|
32
|
+
declare const isOnekeyDevice: (name: string | null, id?: string) => boolean;
|
|
5
33
|
|
|
6
34
|
type Deferred<T, I = any, D = any> = {
|
|
7
35
|
id?: I;
|
|
@@ -95,6 +123,8 @@ declare const HardwareErrorCode: {
|
|
|
95
123
|
readonly BleDeviceBondedCanceled: 718;
|
|
96
124
|
readonly BlePeerRemovedPairingInformation: 719;
|
|
97
125
|
readonly BleDeviceDisconnected: 720;
|
|
126
|
+
readonly BlePoweredOff: 721;
|
|
127
|
+
readonly BleUnsupported: 722;
|
|
98
128
|
readonly RuntimeError: 800;
|
|
99
129
|
readonly PinInvalid: 801;
|
|
100
130
|
readonly PinCancelled: 802;
|
|
@@ -168,4 +198,9 @@ declare enum EDeviceType {
|
|
|
168
198
|
Pro = "pro"
|
|
169
199
|
}
|
|
170
200
|
|
|
171
|
-
|
|
201
|
+
declare enum EFirmwareType {
|
|
202
|
+
Universal = "universal",
|
|
203
|
+
BitcoinOnly = "bitcoinonly"
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export { CreateErrorByMessage, Deferred, EDeviceType, EFirmwareType, EOneKeyBleMessageKeys, HardwareError$1 as ERRORS, HardwareError, HardwareErrorCode, HardwareErrorCodeMessage, IHardwareError, ONEKEY_NOTIFY_CHARACTERISTIC_UUID, ONEKEY_SERVICE_UUID, ONEKEY_WEBUSB_FILTER, ONEKEY_WRITE_CHARACTERISTIC_UUID, TypedError, createDeferred, createDeprecatedHardwareError, createNeedUpgradeFirmwareHardwareError, createNewFirmwareForceUpdateHardwareError, createNewFirmwareUnReleaseHardwareError, isHeaderChunk, isOnekeyDevice, serializeError, wait };
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,57 @@ const ONEKEY_WEBUSB_FILTER = [
|
|
|
8
8
|
{ vendorId: 0x1209, productId: 0x4f4a },
|
|
9
9
|
{ vendorId: 0x1209, productId: 0x4f4b },
|
|
10
10
|
];
|
|
11
|
+
exports.EOneKeyBleMessageKeys = void 0;
|
|
12
|
+
(function (EOneKeyBleMessageKeys) {
|
|
13
|
+
EOneKeyBleMessageKeys["BLE_SELECT"] = "$onekey-ble-select";
|
|
14
|
+
EOneKeyBleMessageKeys["BLE_SELECT_RESULT"] = "$onekey-ble-select-result";
|
|
15
|
+
EOneKeyBleMessageKeys["BLE_STOP_SCAN"] = "$onekey-ble-stop-scan";
|
|
16
|
+
EOneKeyBleMessageKeys["BLE_CANCEL_REQUEST"] = "$onekey-ble-cancel-request";
|
|
17
|
+
EOneKeyBleMessageKeys["BLE_PRE_SELECT"] = "$onekey-ble-pre-select";
|
|
18
|
+
EOneKeyBleMessageKeys["BLE_CLEAR_PRE_SELECT"] = "$onekey-ble-clear-pre-select";
|
|
19
|
+
EOneKeyBleMessageKeys["BLE_PAIRING_REQUEST"] = "$onekey-ble-pairing-request";
|
|
20
|
+
EOneKeyBleMessageKeys["BLE_PAIRING_RESPONSE"] = "$onekey-ble-pairing-response";
|
|
21
|
+
EOneKeyBleMessageKeys["BLE_ENUMERATE"] = "$onekey-ble-enumerate";
|
|
22
|
+
EOneKeyBleMessageKeys["BLE_ENUMERATE_RESULT"] = "$onekey-ble-enumerate-result";
|
|
23
|
+
EOneKeyBleMessageKeys["BLE_DEVICE_DISCONNECTED"] = "$onekey-ble-device-disconnected";
|
|
24
|
+
EOneKeyBleMessageKeys["BLE_AVAILABILITY_CHECK"] = "$onekey-ble-availability-check";
|
|
25
|
+
EOneKeyBleMessageKeys["NOBLE_BLE_ENUMERATE"] = "$onekey-noble-ble-enumerate";
|
|
26
|
+
EOneKeyBleMessageKeys["NOBLE_BLE_STOP_SCAN"] = "$onekey-noble-ble-stop-scan";
|
|
27
|
+
EOneKeyBleMessageKeys["NOBLE_BLE_GET_DEVICE"] = "$onekey-noble-ble-get-device";
|
|
28
|
+
EOneKeyBleMessageKeys["NOBLE_BLE_CONNECT"] = "$onekey-noble-ble-connect";
|
|
29
|
+
EOneKeyBleMessageKeys["NOBLE_BLE_DISCONNECT"] = "$onekey-noble-ble-disconnect";
|
|
30
|
+
EOneKeyBleMessageKeys["NOBLE_BLE_WRITE"] = "$onekey-noble-ble-write";
|
|
31
|
+
EOneKeyBleMessageKeys["NOBLE_BLE_SUBSCRIBE"] = "$onekey-noble-ble-subscribe";
|
|
32
|
+
EOneKeyBleMessageKeys["NOBLE_BLE_UNSUBSCRIBE"] = "$onekey-noble-ble-unsubscribe";
|
|
33
|
+
EOneKeyBleMessageKeys["NOBLE_BLE_NOTIFICATION"] = "$onekey-noble-ble-notification";
|
|
34
|
+
})(exports.EOneKeyBleMessageKeys || (exports.EOneKeyBleMessageKeys = {}));
|
|
35
|
+
const ONEKEY_SERVICE_UUID = '00000001-0000-1000-8000-00805f9b34fb';
|
|
36
|
+
const ONEKEY_WRITE_CHARACTERISTIC_UUID = '00000002-0000-1000-8000-00805f9b34fb';
|
|
37
|
+
const ONEKEY_NOTIFY_CHARACTERISTIC_UUID = '00000003-0000-1000-8000-00805f9b34fb';
|
|
38
|
+
const MESSAGE_TOP_CHAR = 63;
|
|
39
|
+
const MESSAGE_HEADER_BYTE = 35;
|
|
40
|
+
const isHeaderChunk = (chunk) => {
|
|
41
|
+
if (chunk.length < 9)
|
|
42
|
+
return false;
|
|
43
|
+
const [MagicQuestionMark, sharp1, sharp2] = chunk;
|
|
44
|
+
if (String.fromCharCode(MagicQuestionMark) === String.fromCharCode(MESSAGE_TOP_CHAR) &&
|
|
45
|
+
String.fromCharCode(sharp1) === String.fromCharCode(MESSAGE_HEADER_BYTE) &&
|
|
46
|
+
String.fromCharCode(sharp2) === String.fromCharCode(MESSAGE_HEADER_BYTE)) {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
return false;
|
|
50
|
+
};
|
|
51
|
+
const isOnekeyDevice = (name, id) => {
|
|
52
|
+
var _a;
|
|
53
|
+
if ((_a = id === null || id === void 0 ? void 0 : id.startsWith) === null || _a === void 0 ? void 0 : _a.call(id, 'MI')) {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
const re = /(BixinKey\d{10})|(K\d{4})|(T\d{4})|(Touch\s\w{4})|(Pro\s\w{4})/i;
|
|
57
|
+
if (name && re.exec(name)) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
};
|
|
11
62
|
|
|
12
63
|
/******************************************************************************
|
|
13
64
|
Copyright (c) Microsoft Corporation.
|
|
@@ -162,6 +213,8 @@ const HardwareErrorCode = {
|
|
|
162
213
|
BleDeviceBondedCanceled: 718,
|
|
163
214
|
BlePeerRemovedPairingInformation: 719,
|
|
164
215
|
BleDeviceDisconnected: 720,
|
|
216
|
+
BlePoweredOff: 721,
|
|
217
|
+
BleUnsupported: 722,
|
|
165
218
|
RuntimeError: 800,
|
|
166
219
|
PinInvalid: 801,
|
|
167
220
|
PinCancelled: 802,
|
|
@@ -253,6 +306,8 @@ const HardwareErrorCodeMessage = {
|
|
|
253
306
|
[HardwareErrorCode.BleCharacteristicNotifyChangeFailure]: 'Characteristic Notify Change Failure',
|
|
254
307
|
[HardwareErrorCode.BleTransportCallCanceled]: 'Ble Transport call canceled',
|
|
255
308
|
[HardwareErrorCode.BleDeviceDisconnected]: 'Device disconnected',
|
|
309
|
+
[HardwareErrorCode.BlePoweredOff]: 'Bluetooth is turned off',
|
|
310
|
+
[HardwareErrorCode.BleUnsupported]: 'Bluetooth is not supported on this device',
|
|
256
311
|
[HardwareErrorCode.RuntimeError]: 'Runtime error',
|
|
257
312
|
[HardwareErrorCode.PinInvalid]: 'Pin invalid',
|
|
258
313
|
[HardwareErrorCode.PinCancelled]: 'Pin cancelled',
|
|
@@ -341,17 +396,28 @@ exports.EDeviceType = void 0;
|
|
|
341
396
|
EDeviceType["Pro"] = "pro";
|
|
342
397
|
})(exports.EDeviceType || (exports.EDeviceType = {}));
|
|
343
398
|
|
|
399
|
+
exports.EFirmwareType = void 0;
|
|
400
|
+
(function (EFirmwareType) {
|
|
401
|
+
EFirmwareType["Universal"] = "universal";
|
|
402
|
+
EFirmwareType["BitcoinOnly"] = "bitcoinonly";
|
|
403
|
+
})(exports.EFirmwareType || (exports.EFirmwareType = {}));
|
|
404
|
+
|
|
344
405
|
exports.CreateErrorByMessage = CreateErrorByMessage;
|
|
345
406
|
exports.ERRORS = HardwareError$1;
|
|
346
407
|
exports.HardwareError = HardwareError;
|
|
347
408
|
exports.HardwareErrorCode = HardwareErrorCode;
|
|
348
409
|
exports.HardwareErrorCodeMessage = HardwareErrorCodeMessage;
|
|
410
|
+
exports.ONEKEY_NOTIFY_CHARACTERISTIC_UUID = ONEKEY_NOTIFY_CHARACTERISTIC_UUID;
|
|
411
|
+
exports.ONEKEY_SERVICE_UUID = ONEKEY_SERVICE_UUID;
|
|
349
412
|
exports.ONEKEY_WEBUSB_FILTER = ONEKEY_WEBUSB_FILTER;
|
|
413
|
+
exports.ONEKEY_WRITE_CHARACTERISTIC_UUID = ONEKEY_WRITE_CHARACTERISTIC_UUID;
|
|
350
414
|
exports.TypedError = TypedError;
|
|
351
415
|
exports.createDeferred = createDeferred;
|
|
352
416
|
exports.createDeprecatedHardwareError = createDeprecatedHardwareError;
|
|
353
417
|
exports.createNeedUpgradeFirmwareHardwareError = createNeedUpgradeFirmwareHardwareError;
|
|
354
418
|
exports.createNewFirmwareForceUpdateHardwareError = createNewFirmwareForceUpdateHardwareError;
|
|
355
419
|
exports.createNewFirmwareUnReleaseHardwareError = createNewFirmwareUnReleaseHardwareError;
|
|
420
|
+
exports.isHeaderChunk = isHeaderChunk;
|
|
421
|
+
exports.isOnekeyDevice = isOnekeyDevice;
|
|
356
422
|
exports.serializeError = serializeError;
|
|
357
423
|
exports.wait = wait;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/hd-shared",
|
|
3
|
-
"version": "1.0.39-alpha.
|
|
3
|
+
"version": "1.0.39-alpha.10",
|
|
4
4
|
"description": "Hardware SDK's shared tool library",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Hardware-SDK",
|
|
@@ -25,5 +25,5 @@
|
|
|
25
25
|
"lint": "eslint .",
|
|
26
26
|
"lint:fix": "eslint . --fix"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "97fbf97e4ba3388fdc01be8722a94358715dcf12"
|
|
29
29
|
}
|
package/src/HardwareError.ts
CHANGED
|
@@ -299,6 +299,8 @@ export const HardwareErrorCode = {
|
|
|
299
299
|
BleDeviceBondedCanceled: 718,
|
|
300
300
|
BlePeerRemovedPairingInformation: 719,
|
|
301
301
|
BleDeviceDisconnected: 720,
|
|
302
|
+
BlePoweredOff: 721,
|
|
303
|
+
BleUnsupported: 722,
|
|
302
304
|
|
|
303
305
|
/**
|
|
304
306
|
* Hardware runtiome errors
|
|
@@ -511,6 +513,8 @@ export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
|
|
|
511
513
|
[HardwareErrorCode.BleCharacteristicNotifyChangeFailure]: 'Characteristic Notify Change Failure',
|
|
512
514
|
[HardwareErrorCode.BleTransportCallCanceled]: 'Ble Transport call canceled',
|
|
513
515
|
[HardwareErrorCode.BleDeviceDisconnected]: 'Device disconnected',
|
|
516
|
+
[HardwareErrorCode.BlePoweredOff]: 'Bluetooth is turned off',
|
|
517
|
+
[HardwareErrorCode.BleUnsupported]: 'Bluetooth is not supported on this device',
|
|
514
518
|
|
|
515
519
|
/**
|
|
516
520
|
* Runtime Error
|
package/src/constants.ts
CHANGED
|
@@ -6,3 +6,72 @@ export const ONEKEY_WEBUSB_FILTER = [
|
|
|
6
6
|
// { vendorId: 0x1209, productId: 0x4f4c }, // Pro Board
|
|
7
7
|
// { vendorId: 0x1209, productId: 0x4f50 }, // Touch Board
|
|
8
8
|
];
|
|
9
|
+
|
|
10
|
+
// BLE IPC communication message types
|
|
11
|
+
export enum EOneKeyBleMessageKeys {
|
|
12
|
+
// BLE device selection related
|
|
13
|
+
BLE_SELECT = '$onekey-ble-select',
|
|
14
|
+
BLE_SELECT_RESULT = '$onekey-ble-select-result',
|
|
15
|
+
BLE_STOP_SCAN = '$onekey-ble-stop-scan',
|
|
16
|
+
BLE_CANCEL_REQUEST = '$onekey-ble-cancel-request',
|
|
17
|
+
BLE_PRE_SELECT = '$onekey-ble-pre-select',
|
|
18
|
+
BLE_CLEAR_PRE_SELECT = '$onekey-ble-clear-pre-select',
|
|
19
|
+
|
|
20
|
+
// BLE pairing related
|
|
21
|
+
BLE_PAIRING_REQUEST = '$onekey-ble-pairing-request',
|
|
22
|
+
BLE_PAIRING_RESPONSE = '$onekey-ble-pairing-response',
|
|
23
|
+
|
|
24
|
+
// BLE enumeration related
|
|
25
|
+
BLE_ENUMERATE = '$onekey-ble-enumerate',
|
|
26
|
+
BLE_ENUMERATE_RESULT = '$onekey-ble-enumerate-result',
|
|
27
|
+
|
|
28
|
+
// BLE connection status related
|
|
29
|
+
BLE_DEVICE_DISCONNECTED = '$onekey-ble-device-disconnected',
|
|
30
|
+
BLE_AVAILABILITY_CHECK = '$onekey-ble-availability-check',
|
|
31
|
+
|
|
32
|
+
// Noble BLE related (for direct BLE communication)
|
|
33
|
+
NOBLE_BLE_ENUMERATE = '$onekey-noble-ble-enumerate',
|
|
34
|
+
NOBLE_BLE_STOP_SCAN = '$onekey-noble-ble-stop-scan',
|
|
35
|
+
NOBLE_BLE_GET_DEVICE = '$onekey-noble-ble-get-device',
|
|
36
|
+
NOBLE_BLE_CONNECT = '$onekey-noble-ble-connect',
|
|
37
|
+
NOBLE_BLE_DISCONNECT = '$onekey-noble-ble-disconnect',
|
|
38
|
+
NOBLE_BLE_WRITE = '$onekey-noble-ble-write',
|
|
39
|
+
NOBLE_BLE_SUBSCRIBE = '$onekey-noble-ble-subscribe',
|
|
40
|
+
NOBLE_BLE_UNSUBSCRIBE = '$onekey-noble-ble-unsubscribe',
|
|
41
|
+
NOBLE_BLE_NOTIFICATION = '$onekey-noble-ble-notification',
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export const ONEKEY_SERVICE_UUID = '00000001-0000-1000-8000-00805f9b34fb';
|
|
45
|
+
export const ONEKEY_WRITE_CHARACTERISTIC_UUID = '00000002-0000-1000-8000-00805f9b34fb';
|
|
46
|
+
export const ONEKEY_NOTIFY_CHARACTERISTIC_UUID = '00000003-0000-1000-8000-00805f9b34fb';
|
|
47
|
+
|
|
48
|
+
const MESSAGE_TOP_CHAR = 63;
|
|
49
|
+
const MESSAGE_HEADER_BYTE = 35;
|
|
50
|
+
export const isHeaderChunk = (chunk: Buffer | Uint8Array): boolean => {
|
|
51
|
+
if (chunk.length < 9) return false;
|
|
52
|
+
const [MagicQuestionMark, sharp1, sharp2] = chunk;
|
|
53
|
+
|
|
54
|
+
if (
|
|
55
|
+
String.fromCharCode(MagicQuestionMark) === String.fromCharCode(MESSAGE_TOP_CHAR) &&
|
|
56
|
+
String.fromCharCode(sharp1) === String.fromCharCode(MESSAGE_HEADER_BYTE) &&
|
|
57
|
+
String.fromCharCode(sharp2) === String.fromCharCode(MESSAGE_HEADER_BYTE)
|
|
58
|
+
) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return false;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export const isOnekeyDevice = (name: string | null, id?: string): boolean => {
|
|
66
|
+
if (id?.startsWith?.('MI')) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// 过滤 BixinKeyxxx 和 Kxxxx 和 Txxxx
|
|
71
|
+
// i 忽略大小写模式
|
|
72
|
+
const re = /(BixinKey\d{10})|(K\d{4})|(T\d{4})|(Touch\s\w{4})|(Pro\s\w{4})/i;
|
|
73
|
+
if (name && re.exec(name)) {
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
};
|