@ukeyfe/hardware-shared 1.1.25 → 1.1.26
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 +20 -3
- package/dist/HardwareError.d.ts.map +1 -1
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/index.d.ts +28 -8
- package/dist/index.js +162 -124
- package/package.json +4 -4
- package/src/HardwareError.ts +64 -10
- package/src/constants.ts +26 -0
package/dist/HardwareError.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EFirmwareType } from './firmwareType';
|
|
1
2
|
export interface IHardwareError {
|
|
2
3
|
errorCode: ValueOf<typeof HardwareErrorCode>;
|
|
3
4
|
message?: string;
|
|
@@ -107,6 +108,11 @@ export declare const HardwareErrorCode: {
|
|
|
107
108
|
readonly EmmcFileWriteFirmwareError: 819;
|
|
108
109
|
readonly FirmwareVerificationFailed: 820;
|
|
109
110
|
readonly BridgeNeedsPermission: 821;
|
|
111
|
+
readonly CallQueueActionCancelled: 822;
|
|
112
|
+
readonly FirmwareDowngradeNotAllowed: 823;
|
|
113
|
+
readonly CosmosInvalidJsonMessage: 824;
|
|
114
|
+
readonly DeviceSettingsNotProvided: 825;
|
|
115
|
+
readonly DeviceSettingsLanguageNotSupport: 826;
|
|
110
116
|
readonly LowlevelTrasnportConnectError: 900;
|
|
111
117
|
readonly WebDeviceNotFoundOrNeedsPermission: 901;
|
|
112
118
|
readonly WebDevicePromptAccessError: 902;
|
|
@@ -116,13 +122,24 @@ export declare const TypedError: (hardwareError: ErrorCodeUnion | string, messag
|
|
|
116
122
|
export declare const serializeError: (payload: any) => any;
|
|
117
123
|
export declare const CreateErrorByMessage: (message: string) => HardwareError;
|
|
118
124
|
export declare const CreateHardwareErrorByBridgeError: (raw: string) => HardwareError;
|
|
119
|
-
declare const createNewFirmwareUnReleaseHardwareError: (currentVersion
|
|
120
|
-
|
|
125
|
+
declare const createNewFirmwareUnReleaseHardwareError: ({ currentVersion, requireVersion, methodName, firmwareType, }: {
|
|
126
|
+
currentVersion: string;
|
|
127
|
+
requireVersion: string;
|
|
128
|
+
methodName?: string | undefined;
|
|
129
|
+
firmwareType?: EFirmwareType | undefined;
|
|
130
|
+
}) => HardwareError;
|
|
131
|
+
declare const createNeedUpgradeFirmwareHardwareError: ({ currentVersion, requireVersion, methodName, firmwareType, }: {
|
|
132
|
+
currentVersion: string;
|
|
133
|
+
requireVersion: string;
|
|
134
|
+
methodName?: string | undefined;
|
|
135
|
+
firmwareType?: EFirmwareType | undefined;
|
|
136
|
+
}) => HardwareError;
|
|
121
137
|
declare const createNewFirmwareForceUpdateHardwareError: (connectId: string | undefined, deviceId: string | undefined, versionTypes?: ('firmware' | 'ble')[], currentVersions?: {
|
|
122
138
|
firmware?: string;
|
|
123
139
|
ble?: string;
|
|
124
140
|
}) => HardwareError;
|
|
125
141
|
declare const createDeprecatedHardwareError: (currentVersion: string, deprecatedVersion: string, methodName?: string) => HardwareError;
|
|
126
142
|
declare const createDefectiveFirmwareError: (serialNo: string, seVersion: string, deviceType: string, connectId?: string, deviceId?: string) => HardwareError;
|
|
127
|
-
|
|
143
|
+
declare const createDeviceNotSupportMethodError: (methodName: string, firmwareType: EFirmwareType) => HardwareError;
|
|
144
|
+
export { createNewFirmwareUnReleaseHardwareError, createNeedUpgradeFirmwareHardwareError, createNewFirmwareForceUpdateHardwareError, createDeprecatedHardwareError, createDefectiveFirmwareError, createDeviceNotSupportMethodError, };
|
|
128
145
|
//# sourceMappingURL=HardwareError.d.ts.map
|
|
@@ -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;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ZpB,CAAC;AAEX,eAAO,MAAM,wBAAwB,EAAE,+BA8I7B,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
|
@@ -3,6 +3,8 @@ export declare const UKEY_WEBUSB_FILTER: {
|
|
|
3
3
|
vendorId: number;
|
|
4
4
|
productId: number;
|
|
5
5
|
}[];
|
|
6
|
+
export declare const ERROR_CODES_REQUIRE_RELEASE: readonly [106, 107, 109, 112, 805, 801, 802, 812];
|
|
7
|
+
export declare const ERROR_CODES_REQUIRE_DISCONNECT: readonly [106, 805];
|
|
6
8
|
export declare enum EUKeyBleMessageKeys {
|
|
7
9
|
BLE_SELECT = "$ukey-ble-select",
|
|
8
10
|
BLE_SELECT_RESULT = "$ukey-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":";
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,kBAAkB;;;GAO9B,CAAC;AAMF,eAAO,MAAM,2BAA2B,mDAS9B,CAAC;AAMX,eAAO,MAAM,8BAA8B,qBAGjC,CAAC;AAGX,oBAAY,mBAAmB;IAE7B,UAAU,qBAAqB;IAC/B,iBAAiB,4BAA4B;IAC7C,aAAa,wBAAwB;IACrC,kBAAkB,6BAA6B;IAC/C,cAAc,yBAAyB;IACvC,oBAAoB,+BAA+B;IAGnD,mBAAmB,8BAA8B;IACjD,oBAAoB,+BAA+B;IAGnD,aAAa,wBAAwB;IACrC,oBAAoB,+BAA+B;IAGnD,uBAAuB,kCAAkC;IACzD,sBAAsB,iCAAiC;IAGvD,mBAAmB,8BAA8B;IACjD,mBAAmB,8BAA8B;IACjD,oBAAoB,+BAA+B;IACnD,iBAAiB,4BAA4B;IAC7C,oBAAoB,+BAA+B;IACnD,eAAe,0BAA0B;IACzC,mBAAmB,8BAA8B;IACjD,qBAAqB,gCAAgC;IACrD,sBAAsB,iCAAiC;IACvD,wBAAwB,mCAAmC;CAC5D;AAED,eAAO,MAAM,iBAAiB,yCAAyC,CAAC;AACxE,eAAO,MAAM,8BAA8B,yCAAyC,CAAC;AACrF,eAAO,MAAM,+BAA+B,yCAAyC,CAAC;AAItF,eAAO,MAAM,aAAa,UAAW,MAAM,GAAG,UAAU,KAAG,OAa1D,CAAC;AAEF,eAAO,MAAM,YAAY,SAAU,MAAM,GAAG,IAAI,OAAO,MAAM,KAAG,OAY/D,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ declare const UKEY_WEBUSB_FILTER: {
|
|
|
2
2
|
vendorId: number;
|
|
3
3
|
productId: number;
|
|
4
4
|
}[];
|
|
5
|
+
declare const ERROR_CODES_REQUIRE_RELEASE: readonly [106, 107, 109, 112, 805, 801, 802, 812];
|
|
6
|
+
declare const ERROR_CODES_REQUIRE_DISCONNECT: readonly [106, 805];
|
|
5
7
|
declare enum EUKeyBleMessageKeys {
|
|
6
8
|
BLE_SELECT = "$ukey-ble-select",
|
|
7
9
|
BLE_SELECT_RESULT = "$ukey-ble-select-result",
|
|
@@ -41,6 +43,11 @@ type Deferred<T, I = any, D = any> = {
|
|
|
41
43
|
};
|
|
42
44
|
declare function createDeferred<T, I = any, D = any>(arg?: I, data?: D): Deferred<T, I, D>;
|
|
43
45
|
|
|
46
|
+
declare enum EFirmwareType {
|
|
47
|
+
Universal = "universal",
|
|
48
|
+
BitcoinOnly = "bitcoinonly"
|
|
49
|
+
}
|
|
50
|
+
|
|
44
51
|
interface IHardwareError {
|
|
45
52
|
errorCode: ValueOf<typeof HardwareErrorCode>;
|
|
46
53
|
message?: string;
|
|
@@ -150,6 +157,11 @@ declare const HardwareErrorCode: {
|
|
|
150
157
|
readonly EmmcFileWriteFirmwareError: 819;
|
|
151
158
|
readonly FirmwareVerificationFailed: 820;
|
|
152
159
|
readonly BridgeNeedsPermission: 821;
|
|
160
|
+
readonly CallQueueActionCancelled: 822;
|
|
161
|
+
readonly FirmwareDowngradeNotAllowed: 823;
|
|
162
|
+
readonly CosmosInvalidJsonMessage: 824;
|
|
163
|
+
readonly DeviceSettingsNotProvided: 825;
|
|
164
|
+
readonly DeviceSettingsLanguageNotSupport: 826;
|
|
153
165
|
readonly LowlevelTrasnportConnectError: 900;
|
|
154
166
|
readonly WebDeviceNotFoundOrNeedsPermission: 901;
|
|
155
167
|
readonly WebDevicePromptAccessError: 902;
|
|
@@ -159,20 +171,32 @@ declare const TypedError: (hardwareError: ErrorCodeUnion | string, message?: str
|
|
|
159
171
|
declare const serializeError: (payload: any) => any;
|
|
160
172
|
declare const CreateErrorByMessage: (message: string) => HardwareError;
|
|
161
173
|
declare const CreateHardwareErrorByBridgeError: (raw: string) => HardwareError;
|
|
162
|
-
declare const createNewFirmwareUnReleaseHardwareError: (currentVersion
|
|
163
|
-
|
|
174
|
+
declare const createNewFirmwareUnReleaseHardwareError: ({ currentVersion, requireVersion, methodName, firmwareType, }: {
|
|
175
|
+
currentVersion: string;
|
|
176
|
+
requireVersion: string;
|
|
177
|
+
methodName?: string | undefined;
|
|
178
|
+
firmwareType?: EFirmwareType | undefined;
|
|
179
|
+
}) => HardwareError;
|
|
180
|
+
declare const createNeedUpgradeFirmwareHardwareError: ({ currentVersion, requireVersion, methodName, firmwareType, }: {
|
|
181
|
+
currentVersion: string;
|
|
182
|
+
requireVersion: string;
|
|
183
|
+
methodName?: string | undefined;
|
|
184
|
+
firmwareType?: EFirmwareType | undefined;
|
|
185
|
+
}) => HardwareError;
|
|
164
186
|
declare const createNewFirmwareForceUpdateHardwareError: (connectId: string | undefined, deviceId: string | undefined, versionTypes?: ('firmware' | 'ble')[], currentVersions?: {
|
|
165
187
|
firmware?: string;
|
|
166
188
|
ble?: string;
|
|
167
189
|
}) => HardwareError;
|
|
168
190
|
declare const createDeprecatedHardwareError: (currentVersion: string, deprecatedVersion: string, methodName?: string) => HardwareError;
|
|
169
191
|
declare const createDefectiveFirmwareError: (serialNo: string, seVersion: string, deviceType: string, connectId?: string, deviceId?: string) => HardwareError;
|
|
192
|
+
declare const createDeviceNotSupportMethodError: (methodName: string, firmwareType: EFirmwareType) => HardwareError;
|
|
170
193
|
|
|
171
194
|
declare const HardwareError$1_createNewFirmwareUnReleaseHardwareError: typeof createNewFirmwareUnReleaseHardwareError;
|
|
172
195
|
declare const HardwareError$1_createNeedUpgradeFirmwareHardwareError: typeof createNeedUpgradeFirmwareHardwareError;
|
|
173
196
|
declare const HardwareError$1_createNewFirmwareForceUpdateHardwareError: typeof createNewFirmwareForceUpdateHardwareError;
|
|
174
197
|
declare const HardwareError$1_createDeprecatedHardwareError: typeof createDeprecatedHardwareError;
|
|
175
198
|
declare const HardwareError$1_createDefectiveFirmwareError: typeof createDefectiveFirmwareError;
|
|
199
|
+
declare const HardwareError$1_createDeviceNotSupportMethodError: typeof createDeviceNotSupportMethodError;
|
|
176
200
|
type HardwareError$1_IHardwareError = IHardwareError;
|
|
177
201
|
type HardwareError$1_HardwareError = HardwareError;
|
|
178
202
|
declare const HardwareError$1_HardwareError: typeof HardwareError;
|
|
@@ -189,6 +213,7 @@ declare namespace HardwareError$1 {
|
|
|
189
213
|
HardwareError$1_createNewFirmwareForceUpdateHardwareError as createNewFirmwareForceUpdateHardwareError,
|
|
190
214
|
HardwareError$1_createDeprecatedHardwareError as createDeprecatedHardwareError,
|
|
191
215
|
HardwareError$1_createDefectiveFirmwareError as createDefectiveFirmwareError,
|
|
216
|
+
HardwareError$1_createDeviceNotSupportMethodError as createDeviceNotSupportMethodError,
|
|
192
217
|
HardwareError$1_IHardwareError as IHardwareError,
|
|
193
218
|
HardwareError$1_HardwareError as HardwareError,
|
|
194
219
|
HardwareError$1_HardwareErrorCode as HardwareErrorCode,
|
|
@@ -212,9 +237,4 @@ declare enum EDeviceType {
|
|
|
212
237
|
Pro = "pro"
|
|
213
238
|
}
|
|
214
239
|
|
|
215
|
-
|
|
216
|
-
Universal = "universal",
|
|
217
|
-
BitcoinOnly = "bitcoinonly"
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
export { CreateErrorByMessage, CreateHardwareErrorByBridgeError, Deferred, EDeviceType, EFirmwareType, HardwareError$1 as ERRORS, EUKeyBleMessageKeys, HardwareError, HardwareErrorCode, HardwareErrorCodeMessage, IHardwareError, TypedError, UKEY_NOTIFY_CHARACTERISTIC_UUID, UKEY_SERVICE_UUID, UKEY_WEBUSB_FILTER, UKEY_WRITE_CHARACTERISTIC_UUID, createDefectiveFirmwareError, createDeferred, createDeprecatedHardwareError, createNeedUpgradeFirmwareHardwareError, createNewFirmwareForceUpdateHardwareError, createNewFirmwareUnReleaseHardwareError, isHeaderChunk, isUkeyDevice, serializeError, wait };
|
|
240
|
+
export { CreateErrorByMessage, CreateHardwareErrorByBridgeError, Deferred, EDeviceType, EFirmwareType, HardwareError$1 as ERRORS, ERROR_CODES_REQUIRE_DISCONNECT, ERROR_CODES_REQUIRE_RELEASE, EUKeyBleMessageKeys, HardwareError, HardwareErrorCode, HardwareErrorCodeMessage, IHardwareError, TypedError, UKEY_NOTIFY_CHARACTERISTIC_UUID, UKEY_SERVICE_UUID, UKEY_WEBUSB_FILTER, UKEY_WRITE_CHARACTERISTIC_UUID, createDefectiveFirmwareError, createDeferred, createDeprecatedHardwareError, createDeviceNotSupportMethodError, createNeedUpgradeFirmwareHardwareError, createNewFirmwareForceUpdateHardwareError, createNewFirmwareUnReleaseHardwareError, isHeaderChunk, isUkeyDevice, serializeError, wait };
|
package/dist/index.js
CHANGED
|
@@ -2,121 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
];
|
|
11
|
-
exports.EUKeyBleMessageKeys = void 0;
|
|
12
|
-
(function (EUKeyBleMessageKeys) {
|
|
13
|
-
EUKeyBleMessageKeys["BLE_SELECT"] = "$ukey-ble-select";
|
|
14
|
-
EUKeyBleMessageKeys["BLE_SELECT_RESULT"] = "$ukey-ble-select-result";
|
|
15
|
-
EUKeyBleMessageKeys["BLE_STOP_SCAN"] = "$ukey-ble-stop-scan";
|
|
16
|
-
EUKeyBleMessageKeys["BLE_CANCEL_REQUEST"] = "$ukey-ble-cancel-request";
|
|
17
|
-
EUKeyBleMessageKeys["BLE_PRE_SELECT"] = "$ukey-ble-pre-select";
|
|
18
|
-
EUKeyBleMessageKeys["BLE_CLEAR_PRE_SELECT"] = "$ukey-ble-clear-pre-select";
|
|
19
|
-
EUKeyBleMessageKeys["BLE_PAIRING_REQUEST"] = "$ukey-ble-pairing-request";
|
|
20
|
-
EUKeyBleMessageKeys["BLE_PAIRING_RESPONSE"] = "$ukey-ble-pairing-response";
|
|
21
|
-
EUKeyBleMessageKeys["BLE_ENUMERATE"] = "$ukey-ble-enumerate";
|
|
22
|
-
EUKeyBleMessageKeys["BLE_ENUMERATE_RESULT"] = "$ukey-ble-enumerate-result";
|
|
23
|
-
EUKeyBleMessageKeys["BLE_DEVICE_DISCONNECTED"] = "$ukey-ble-device-disconnected";
|
|
24
|
-
EUKeyBleMessageKeys["BLE_AVAILABILITY_CHECK"] = "$ukey-ble-availability-check";
|
|
25
|
-
EUKeyBleMessageKeys["NOBLE_BLE_ENUMERATE"] = "$ukey-noble-ble-enumerate";
|
|
26
|
-
EUKeyBleMessageKeys["NOBLE_BLE_STOP_SCAN"] = "$ukey-noble-ble-stop-scan";
|
|
27
|
-
EUKeyBleMessageKeys["NOBLE_BLE_GET_DEVICE"] = "$ukey-noble-ble-get-device";
|
|
28
|
-
EUKeyBleMessageKeys["NOBLE_BLE_CONNECT"] = "$ukey-noble-ble-connect";
|
|
29
|
-
EUKeyBleMessageKeys["NOBLE_BLE_DISCONNECT"] = "$ukey-noble-ble-disconnect";
|
|
30
|
-
EUKeyBleMessageKeys["NOBLE_BLE_WRITE"] = "$ukey-noble-ble-write";
|
|
31
|
-
EUKeyBleMessageKeys["NOBLE_BLE_SUBSCRIBE"] = "$ukey-noble-ble-subscribe";
|
|
32
|
-
EUKeyBleMessageKeys["NOBLE_BLE_UNSUBSCRIBE"] = "$ukey-noble-ble-unsubscribe";
|
|
33
|
-
EUKeyBleMessageKeys["NOBLE_BLE_NOTIFICATION"] = "$ukey-noble-ble-notification";
|
|
34
|
-
EUKeyBleMessageKeys["NOBLE_BLE_CANCEL_PAIRING"] = "$ukey-noble-ble-cancel-pairing";
|
|
35
|
-
})(exports.EUKeyBleMessageKeys || (exports.EUKeyBleMessageKeys = {}));
|
|
36
|
-
const UKEY_SERVICE_UUID = '00000001-0000-1000-8000-00805f9b34fb';
|
|
37
|
-
const UKEY_WRITE_CHARACTERISTIC_UUID = '00000002-0000-1000-8000-00805f9b34fb';
|
|
38
|
-
const UKEY_NOTIFY_CHARACTERISTIC_UUID = '00000003-0000-1000-8000-00805f9b34fb';
|
|
39
|
-
const MESSAGE_TOP_CHAR = 63;
|
|
40
|
-
const MESSAGE_HEADER_BYTE = 35;
|
|
41
|
-
const isHeaderChunk = (chunk) => {
|
|
42
|
-
if (chunk.length < 9)
|
|
43
|
-
return false;
|
|
44
|
-
const [MagicQuestionMark, sharp1, sharp2] = chunk;
|
|
45
|
-
if (String.fromCharCode(MagicQuestionMark) === String.fromCharCode(MESSAGE_TOP_CHAR) &&
|
|
46
|
-
String.fromCharCode(sharp1) === String.fromCharCode(MESSAGE_HEADER_BYTE) &&
|
|
47
|
-
String.fromCharCode(sharp2) === String.fromCharCode(MESSAGE_HEADER_BYTE)) {
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
return false;
|
|
51
|
-
};
|
|
52
|
-
const isUkeyDevice = (name, id) => {
|
|
53
|
-
var _a;
|
|
54
|
-
if ((_a = id === null || id === void 0 ? void 0 : id.startsWith) === null || _a === void 0 ? void 0 : _a.call(id, 'MI')) {
|
|
55
|
-
return true;
|
|
56
|
-
}
|
|
57
|
-
const re = /(BixinKey\d{10})|(K\d{4})|(T\d{4})|(Touch\s\w{4})|(Pro\s\w{4})/i;
|
|
58
|
-
if (name && re.exec(name)) {
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
return false;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
/******************************************************************************
|
|
65
|
-
Copyright (c) Microsoft Corporation.
|
|
66
|
-
|
|
67
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
68
|
-
purpose with or without fee is hereby granted.
|
|
69
|
-
|
|
70
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
71
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
72
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
73
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
74
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
75
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
76
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
77
|
-
***************************************************************************** */
|
|
78
|
-
|
|
79
|
-
function __awaiter(thisArg, _arguments, P, generator) {
|
|
80
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
81
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
82
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
83
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
84
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
85
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
90
|
-
var e = new Error(message);
|
|
91
|
-
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
function createDeferred(arg, data) {
|
|
95
|
-
let localResolve = (_t) => { };
|
|
96
|
-
let localReject = (_e) => { };
|
|
97
|
-
let id;
|
|
98
|
-
const promise = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
99
|
-
localResolve = resolve;
|
|
100
|
-
localReject = reject;
|
|
101
|
-
if (typeof arg === 'function') {
|
|
102
|
-
try {
|
|
103
|
-
yield arg();
|
|
104
|
-
}
|
|
105
|
-
catch (error) {
|
|
106
|
-
reject(error);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
if (typeof arg === 'string')
|
|
110
|
-
id = arg;
|
|
111
|
-
}));
|
|
112
|
-
return {
|
|
113
|
-
id,
|
|
114
|
-
data,
|
|
115
|
-
resolve: localResolve,
|
|
116
|
-
reject: localReject,
|
|
117
|
-
promise,
|
|
118
|
-
};
|
|
119
|
-
}
|
|
5
|
+
exports.EFirmwareType = void 0;
|
|
6
|
+
(function (EFirmwareType) {
|
|
7
|
+
EFirmwareType["Universal"] = "universal";
|
|
8
|
+
EFirmwareType["BitcoinOnly"] = "bitcoinonly";
|
|
9
|
+
})(exports.EFirmwareType || (exports.EFirmwareType = {}));
|
|
120
10
|
|
|
121
11
|
function fillStringWithArguments(value, object) {
|
|
122
12
|
if (typeof value !== 'string')
|
|
@@ -267,6 +157,11 @@ const HardwareErrorCode = {
|
|
|
267
157
|
EmmcFileWriteFirmwareError: 819,
|
|
268
158
|
FirmwareVerificationFailed: 820,
|
|
269
159
|
BridgeNeedsPermission: 821,
|
|
160
|
+
CallQueueActionCancelled: 822,
|
|
161
|
+
FirmwareDowngradeNotAllowed: 823,
|
|
162
|
+
CosmosInvalidJsonMessage: 824,
|
|
163
|
+
DeviceSettingsNotProvided: 825,
|
|
164
|
+
DeviceSettingsLanguageNotSupport: 826,
|
|
270
165
|
LowlevelTrasnportConnectError: 900,
|
|
271
166
|
WebDeviceNotFoundOrNeedsPermission: 901,
|
|
272
167
|
WebDevicePromptAccessError: 902,
|
|
@@ -346,6 +241,7 @@ const HardwareErrorCodeMessage = {
|
|
|
346
241
|
[HardwareErrorCode.PinInvalid]: 'Pin invalid',
|
|
347
242
|
[HardwareErrorCode.PinCancelled]: 'Pin cancelled',
|
|
348
243
|
[HardwareErrorCode.ActionCancelled]: 'Action cancelled by user',
|
|
244
|
+
[HardwareErrorCode.CallQueueActionCancelled]: 'Action cancelled by user on call queue',
|
|
349
245
|
[HardwareErrorCode.FirmwareError]: 'Firmware installation failed',
|
|
350
246
|
[HardwareErrorCode.ResponseUnexpectTypeError]: 'Response type is not expected',
|
|
351
247
|
[HardwareErrorCode.BridgeNetworkError]: 'Bridge network error',
|
|
@@ -364,6 +260,10 @@ const HardwareErrorCodeMessage = {
|
|
|
364
260
|
[HardwareErrorCode.EmmcFileWriteFirmwareError]: 'EMMC file write firmware error',
|
|
365
261
|
[HardwareErrorCode.FirmwareVerificationFailed]: 'Firmware verification failed',
|
|
366
262
|
[HardwareErrorCode.BridgeNeedsPermission]: 'Bridge needs permission',
|
|
263
|
+
[HardwareErrorCode.FirmwareDowngradeNotAllowed]: 'Firmware downgrade not allowed',
|
|
264
|
+
[HardwareErrorCode.CosmosInvalidJsonMessage]: 'Cosmos invalid JSON message, Only support Amino msgs.',
|
|
265
|
+
[HardwareErrorCode.DeviceSettingsNotProvided]: 'No setting provided',
|
|
266
|
+
[HardwareErrorCode.DeviceSettingsLanguageNotSupport]: 'Language not supported',
|
|
367
267
|
[HardwareErrorCode.LowlevelTrasnportConnectError]: 'Lowlevel transport connect error',
|
|
368
268
|
[HardwareErrorCode.WebDeviceNotFoundOrNeedsPermission]: 'Web-USB or Web-Bluetooth device not found or needs permission',
|
|
369
269
|
[HardwareErrorCode.WebDevicePromptAccessError]: 'Web-USB or Web-Bluetooth device prompt access error',
|
|
@@ -405,11 +305,17 @@ const CreateHardwareErrorByBridgeError = (raw) => {
|
|
|
405
305
|
}
|
|
406
306
|
return TypedError(HardwareErrorCode.BridgeNetworkError, msg);
|
|
407
307
|
};
|
|
408
|
-
const createNewFirmwareUnReleaseHardwareError = (currentVersion, requireVersion, methodName) => {
|
|
308
|
+
const createNewFirmwareUnReleaseHardwareError = ({ currentVersion, requireVersion, methodName, firmwareType, }) => {
|
|
309
|
+
if ((methodName === null || methodName === void 0 ? void 0 : methodName.startsWith('btc')) === false && firmwareType === exports.EFirmwareType.BitcoinOnly) {
|
|
310
|
+
return createDeviceNotSupportMethodError(methodName !== null && methodName !== void 0 ? methodName : '', firmwareType);
|
|
311
|
+
}
|
|
409
312
|
const methodInfo = methodName ? ` for method '${methodName}'` : '';
|
|
410
313
|
return TypedError(HardwareErrorCode.NewFirmwareUnRelease, `Device firmware version is too low${methodInfo}, please update to the latest version`, { current: currentVersion, require: requireVersion, method: methodName });
|
|
411
314
|
};
|
|
412
|
-
const createNeedUpgradeFirmwareHardwareError = (currentVersion, requireVersion, methodName) => {
|
|
315
|
+
const createNeedUpgradeFirmwareHardwareError = ({ currentVersion, requireVersion, methodName, firmwareType, }) => {
|
|
316
|
+
if ((methodName === null || methodName === void 0 ? void 0 : methodName.startsWith('btc')) === false && firmwareType === exports.EFirmwareType.BitcoinOnly) {
|
|
317
|
+
return createDeviceNotSupportMethodError(methodName !== null && methodName !== void 0 ? methodName : '', firmwareType);
|
|
318
|
+
}
|
|
413
319
|
const methodInfo = methodName ? ` for method '${methodName}'` : '';
|
|
414
320
|
return TypedError(HardwareErrorCode.CallMethodNeedUpgradeFirmware, `Device firmware version is too low${methodInfo}, please update to ${requireVersion}`, { current: currentVersion, require: requireVersion, method: methodName });
|
|
415
321
|
};
|
|
@@ -448,6 +354,10 @@ const createDefectiveFirmwareError = (serialNo, seVersion, deviceType, connectId
|
|
|
448
354
|
deviceId,
|
|
449
355
|
});
|
|
450
356
|
};
|
|
357
|
+
const createDeviceNotSupportMethodError = (methodName, firmwareType) => TypedError(HardwareErrorCode.DeviceNotSupportMethod, `Device not support this method`, {
|
|
358
|
+
firmwareType: firmwareType.toString(),
|
|
359
|
+
method: methodName,
|
|
360
|
+
});
|
|
451
361
|
|
|
452
362
|
var HardwareError$1 = /*#__PURE__*/Object.freeze({
|
|
453
363
|
__proto__: null,
|
|
@@ -462,9 +372,140 @@ var HardwareError$1 = /*#__PURE__*/Object.freeze({
|
|
|
462
372
|
createNeedUpgradeFirmwareHardwareError: createNeedUpgradeFirmwareHardwareError,
|
|
463
373
|
createNewFirmwareForceUpdateHardwareError: createNewFirmwareForceUpdateHardwareError,
|
|
464
374
|
createDeprecatedHardwareError: createDeprecatedHardwareError,
|
|
465
|
-
createDefectiveFirmwareError: createDefectiveFirmwareError
|
|
375
|
+
createDefectiveFirmwareError: createDefectiveFirmwareError,
|
|
376
|
+
createDeviceNotSupportMethodError: createDeviceNotSupportMethodError
|
|
466
377
|
});
|
|
467
378
|
|
|
379
|
+
const UKEY_WEBUSB_FILTER = [
|
|
380
|
+
{ vendorId: 0x1209, productId: 0x53c0 },
|
|
381
|
+
{ vendorId: 0x1209, productId: 0x53c1 },
|
|
382
|
+
{ vendorId: 0x1209, productId: 0x4f4a },
|
|
383
|
+
{ vendorId: 0x1209, productId: 0x4f4b },
|
|
384
|
+
];
|
|
385
|
+
const ERROR_CODES_REQUIRE_RELEASE = [
|
|
386
|
+
HardwareErrorCode.DeviceInitializeFailed,
|
|
387
|
+
HardwareErrorCode.DeviceInterruptedFromOutside,
|
|
388
|
+
HardwareErrorCode.DeviceInterruptedFromUser,
|
|
389
|
+
HardwareErrorCode.DeviceCheckPassphraseStateError,
|
|
390
|
+
HardwareErrorCode.ResponseUnexpectTypeError,
|
|
391
|
+
HardwareErrorCode.PinInvalid,
|
|
392
|
+
HardwareErrorCode.PinCancelled,
|
|
393
|
+
HardwareErrorCode.UnexpectPassphrase,
|
|
394
|
+
];
|
|
395
|
+
const ERROR_CODES_REQUIRE_DISCONNECT = [
|
|
396
|
+
HardwareErrorCode.DeviceInitializeFailed,
|
|
397
|
+
HardwareErrorCode.ResponseUnexpectTypeError,
|
|
398
|
+
];
|
|
399
|
+
exports.EUKeyBleMessageKeys = void 0;
|
|
400
|
+
(function (EUKeyBleMessageKeys) {
|
|
401
|
+
EUKeyBleMessageKeys["BLE_SELECT"] = "$ukey-ble-select";
|
|
402
|
+
EUKeyBleMessageKeys["BLE_SELECT_RESULT"] = "$ukey-ble-select-result";
|
|
403
|
+
EUKeyBleMessageKeys["BLE_STOP_SCAN"] = "$ukey-ble-stop-scan";
|
|
404
|
+
EUKeyBleMessageKeys["BLE_CANCEL_REQUEST"] = "$ukey-ble-cancel-request";
|
|
405
|
+
EUKeyBleMessageKeys["BLE_PRE_SELECT"] = "$ukey-ble-pre-select";
|
|
406
|
+
EUKeyBleMessageKeys["BLE_CLEAR_PRE_SELECT"] = "$ukey-ble-clear-pre-select";
|
|
407
|
+
EUKeyBleMessageKeys["BLE_PAIRING_REQUEST"] = "$ukey-ble-pairing-request";
|
|
408
|
+
EUKeyBleMessageKeys["BLE_PAIRING_RESPONSE"] = "$ukey-ble-pairing-response";
|
|
409
|
+
EUKeyBleMessageKeys["BLE_ENUMERATE"] = "$ukey-ble-enumerate";
|
|
410
|
+
EUKeyBleMessageKeys["BLE_ENUMERATE_RESULT"] = "$ukey-ble-enumerate-result";
|
|
411
|
+
EUKeyBleMessageKeys["BLE_DEVICE_DISCONNECTED"] = "$ukey-ble-device-disconnected";
|
|
412
|
+
EUKeyBleMessageKeys["BLE_AVAILABILITY_CHECK"] = "$ukey-ble-availability-check";
|
|
413
|
+
EUKeyBleMessageKeys["NOBLE_BLE_ENUMERATE"] = "$ukey-noble-ble-enumerate";
|
|
414
|
+
EUKeyBleMessageKeys["NOBLE_BLE_STOP_SCAN"] = "$ukey-noble-ble-stop-scan";
|
|
415
|
+
EUKeyBleMessageKeys["NOBLE_BLE_GET_DEVICE"] = "$ukey-noble-ble-get-device";
|
|
416
|
+
EUKeyBleMessageKeys["NOBLE_BLE_CONNECT"] = "$ukey-noble-ble-connect";
|
|
417
|
+
EUKeyBleMessageKeys["NOBLE_BLE_DISCONNECT"] = "$ukey-noble-ble-disconnect";
|
|
418
|
+
EUKeyBleMessageKeys["NOBLE_BLE_WRITE"] = "$ukey-noble-ble-write";
|
|
419
|
+
EUKeyBleMessageKeys["NOBLE_BLE_SUBSCRIBE"] = "$ukey-noble-ble-subscribe";
|
|
420
|
+
EUKeyBleMessageKeys["NOBLE_BLE_UNSUBSCRIBE"] = "$ukey-noble-ble-unsubscribe";
|
|
421
|
+
EUKeyBleMessageKeys["NOBLE_BLE_NOTIFICATION"] = "$ukey-noble-ble-notification";
|
|
422
|
+
EUKeyBleMessageKeys["NOBLE_BLE_CANCEL_PAIRING"] = "$ukey-noble-ble-cancel-pairing";
|
|
423
|
+
})(exports.EUKeyBleMessageKeys || (exports.EUKeyBleMessageKeys = {}));
|
|
424
|
+
const UKEY_SERVICE_UUID = '00000001-0000-1000-8000-00805f9b34fb';
|
|
425
|
+
const UKEY_WRITE_CHARACTERISTIC_UUID = '00000002-0000-1000-8000-00805f9b34fb';
|
|
426
|
+
const UKEY_NOTIFY_CHARACTERISTIC_UUID = '00000003-0000-1000-8000-00805f9b34fb';
|
|
427
|
+
const MESSAGE_TOP_CHAR = 63;
|
|
428
|
+
const MESSAGE_HEADER_BYTE = 35;
|
|
429
|
+
const isHeaderChunk = (chunk) => {
|
|
430
|
+
if (chunk.length < 9)
|
|
431
|
+
return false;
|
|
432
|
+
const [MagicQuestionMark, sharp1, sharp2] = chunk;
|
|
433
|
+
if (String.fromCharCode(MagicQuestionMark) === String.fromCharCode(MESSAGE_TOP_CHAR) &&
|
|
434
|
+
String.fromCharCode(sharp1) === String.fromCharCode(MESSAGE_HEADER_BYTE) &&
|
|
435
|
+
String.fromCharCode(sharp2) === String.fromCharCode(MESSAGE_HEADER_BYTE)) {
|
|
436
|
+
return true;
|
|
437
|
+
}
|
|
438
|
+
return false;
|
|
439
|
+
};
|
|
440
|
+
const isUkeyDevice = (name, id) => {
|
|
441
|
+
var _a;
|
|
442
|
+
if ((_a = id === null || id === void 0 ? void 0 : id.startsWith) === null || _a === void 0 ? void 0 : _a.call(id, 'MI')) {
|
|
443
|
+
return true;
|
|
444
|
+
}
|
|
445
|
+
const re = /(BixinKey\d{10})|(K\d{4})|(T\d{4})|(Touch\s\w{4})|(Pro\s\w{4})/i;
|
|
446
|
+
if (name && re.exec(name)) {
|
|
447
|
+
return true;
|
|
448
|
+
}
|
|
449
|
+
return false;
|
|
450
|
+
};
|
|
451
|
+
|
|
452
|
+
/******************************************************************************
|
|
453
|
+
Copyright (c) Microsoft Corporation.
|
|
454
|
+
|
|
455
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
456
|
+
purpose with or without fee is hereby granted.
|
|
457
|
+
|
|
458
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
459
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
460
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
461
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
462
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
463
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
464
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
465
|
+
***************************************************************************** */
|
|
466
|
+
|
|
467
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
468
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
469
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
470
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
471
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
472
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
473
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
474
|
+
});
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
478
|
+
var e = new Error(message);
|
|
479
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
480
|
+
};
|
|
481
|
+
|
|
482
|
+
function createDeferred(arg, data) {
|
|
483
|
+
let localResolve = (_t) => { };
|
|
484
|
+
let localReject = (_e) => { };
|
|
485
|
+
let id;
|
|
486
|
+
const promise = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
487
|
+
localResolve = resolve;
|
|
488
|
+
localReject = reject;
|
|
489
|
+
if (typeof arg === 'function') {
|
|
490
|
+
try {
|
|
491
|
+
yield arg();
|
|
492
|
+
}
|
|
493
|
+
catch (error) {
|
|
494
|
+
reject(error);
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
if (typeof arg === 'string')
|
|
498
|
+
id = arg;
|
|
499
|
+
}));
|
|
500
|
+
return {
|
|
501
|
+
id,
|
|
502
|
+
data,
|
|
503
|
+
resolve: localResolve,
|
|
504
|
+
reject: localReject,
|
|
505
|
+
promise,
|
|
506
|
+
};
|
|
507
|
+
}
|
|
508
|
+
|
|
468
509
|
const wait = (ms) => new Promise(resolve => {
|
|
469
510
|
setTimeout(resolve, ms);
|
|
470
511
|
});
|
|
@@ -480,15 +521,11 @@ exports.EDeviceType = void 0;
|
|
|
480
521
|
EDeviceType["Pro"] = "pro";
|
|
481
522
|
})(exports.EDeviceType || (exports.EDeviceType = {}));
|
|
482
523
|
|
|
483
|
-
exports.EFirmwareType = void 0;
|
|
484
|
-
(function (EFirmwareType) {
|
|
485
|
-
EFirmwareType["Universal"] = "universal";
|
|
486
|
-
EFirmwareType["BitcoinOnly"] = "bitcoinonly";
|
|
487
|
-
})(exports.EFirmwareType || (exports.EFirmwareType = {}));
|
|
488
|
-
|
|
489
524
|
exports.CreateErrorByMessage = CreateErrorByMessage;
|
|
490
525
|
exports.CreateHardwareErrorByBridgeError = CreateHardwareErrorByBridgeError;
|
|
491
526
|
exports.ERRORS = HardwareError$1;
|
|
527
|
+
exports.ERROR_CODES_REQUIRE_DISCONNECT = ERROR_CODES_REQUIRE_DISCONNECT;
|
|
528
|
+
exports.ERROR_CODES_REQUIRE_RELEASE = ERROR_CODES_REQUIRE_RELEASE;
|
|
492
529
|
exports.HardwareError = HardwareError;
|
|
493
530
|
exports.HardwareErrorCode = HardwareErrorCode;
|
|
494
531
|
exports.HardwareErrorCodeMessage = HardwareErrorCodeMessage;
|
|
@@ -500,6 +537,7 @@ exports.UKEY_WRITE_CHARACTERISTIC_UUID = UKEY_WRITE_CHARACTERISTIC_UUID;
|
|
|
500
537
|
exports.createDefectiveFirmwareError = createDefectiveFirmwareError;
|
|
501
538
|
exports.createDeferred = createDeferred;
|
|
502
539
|
exports.createDeprecatedHardwareError = createDeprecatedHardwareError;
|
|
540
|
+
exports.createDeviceNotSupportMethodError = createDeviceNotSupportMethodError;
|
|
503
541
|
exports.createNeedUpgradeFirmwareHardwareError = createNeedUpgradeFirmwareHardwareError;
|
|
504
542
|
exports.createNewFirmwareForceUpdateHardwareError = createNewFirmwareForceUpdateHardwareError;
|
|
505
543
|
exports.createNewFirmwareUnReleaseHardwareError = createNewFirmwareUnReleaseHardwareError;
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ukeyfe/hardware-shared",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.26",
|
|
4
4
|
"description": "Hardware SDK's shared tool library",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Hardware-SDK",
|
|
7
7
|
"shared",
|
|
8
8
|
"utils"
|
|
9
9
|
],
|
|
10
|
-
"author": "
|
|
10
|
+
"author": "Leon <lixiao.dev@gmail.com>",
|
|
11
11
|
"homepage": "https://github.com/UKeyHQ/hardware-js-sdk#readme",
|
|
12
12
|
"license": "ISC",
|
|
13
13
|
"main": "dist/index.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"repository": {
|
|
19
19
|
"type": "git",
|
|
20
|
-
"url": "git+https://github.com/
|
|
20
|
+
"url": "git+https://github.com/UKeyHQ/hardware-js-sdk.git"
|
|
21
21
|
},
|
|
22
22
|
"scripts": {
|
|
23
23
|
"dev": "rimraf dist && rollup -c ../../build/rollup.config.js -w",
|
|
@@ -25,5 +25,5 @@
|
|
|
25
25
|
"lint": "eslint .",
|
|
26
26
|
"lint:fix": "eslint . --fix"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "ca0b502d1ac83fdd0883d5e278e20bd80ac08f29"
|
|
29
29
|
}
|
package/src/HardwareError.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { EFirmwareType } from './firmwareType';
|
|
2
|
+
|
|
1
3
|
export interface IHardwareError {
|
|
2
4
|
errorCode: ValueOf<typeof HardwareErrorCode>;
|
|
3
5
|
message?: string;
|
|
@@ -452,6 +454,25 @@ export const HardwareErrorCode = {
|
|
|
452
454
|
*/
|
|
453
455
|
BridgeNeedsPermission: 821,
|
|
454
456
|
|
|
457
|
+
CallQueueActionCancelled: 822,
|
|
458
|
+
/**
|
|
459
|
+
* Firmware downgrade not allowed
|
|
460
|
+
*/
|
|
461
|
+
FirmwareDowngradeNotAllowed: 823,
|
|
462
|
+
/**
|
|
463
|
+
* Cosmos invalid JSON message, Only support Amino msgs.
|
|
464
|
+
*/
|
|
465
|
+
CosmosInvalidJsonMessage: 824,
|
|
466
|
+
/**
|
|
467
|
+
* No setting provided
|
|
468
|
+
*/
|
|
469
|
+
DeviceSettingsNotProvided: 825,
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Language not supported
|
|
473
|
+
*/
|
|
474
|
+
DeviceSettingsLanguageNotSupport: 826,
|
|
475
|
+
|
|
455
476
|
/**
|
|
456
477
|
* Lowlevel transport connect error
|
|
457
478
|
*/
|
|
@@ -577,6 +598,7 @@ export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
|
|
|
577
598
|
[HardwareErrorCode.PinInvalid]: 'Pin invalid',
|
|
578
599
|
[HardwareErrorCode.PinCancelled]: 'Pin cancelled',
|
|
579
600
|
[HardwareErrorCode.ActionCancelled]: 'Action cancelled by user',
|
|
601
|
+
[HardwareErrorCode.CallQueueActionCancelled]: 'Action cancelled by user on call queue',
|
|
580
602
|
[HardwareErrorCode.FirmwareError]: 'Firmware installation failed',
|
|
581
603
|
[HardwareErrorCode.ResponseUnexpectTypeError]: 'Response type is not expected',
|
|
582
604
|
[HardwareErrorCode.BridgeNetworkError]: 'Bridge network error',
|
|
@@ -595,6 +617,11 @@ export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
|
|
|
595
617
|
[HardwareErrorCode.EmmcFileWriteFirmwareError]: 'EMMC file write firmware error',
|
|
596
618
|
[HardwareErrorCode.FirmwareVerificationFailed]: 'Firmware verification failed',
|
|
597
619
|
[HardwareErrorCode.BridgeNeedsPermission]: 'Bridge needs permission',
|
|
620
|
+
[HardwareErrorCode.FirmwareDowngradeNotAllowed]: 'Firmware downgrade not allowed',
|
|
621
|
+
[HardwareErrorCode.CosmosInvalidJsonMessage]:
|
|
622
|
+
'Cosmos invalid JSON message, Only support Amino msgs.',
|
|
623
|
+
[HardwareErrorCode.DeviceSettingsNotProvided]: 'No setting provided',
|
|
624
|
+
[HardwareErrorCode.DeviceSettingsLanguageNotSupport]: 'Language not supported',
|
|
598
625
|
|
|
599
626
|
/**
|
|
600
627
|
* Lowlevel transport
|
|
@@ -654,11 +681,21 @@ export const CreateHardwareErrorByBridgeError = (raw: string): HardwareError =>
|
|
|
654
681
|
return TypedError(HardwareErrorCode.BridgeNetworkError, msg);
|
|
655
682
|
};
|
|
656
683
|
|
|
657
|
-
const createNewFirmwareUnReleaseHardwareError = (
|
|
658
|
-
currentVersion
|
|
659
|
-
requireVersion
|
|
660
|
-
methodName
|
|
661
|
-
|
|
684
|
+
const createNewFirmwareUnReleaseHardwareError = ({
|
|
685
|
+
currentVersion,
|
|
686
|
+
requireVersion,
|
|
687
|
+
methodName,
|
|
688
|
+
firmwareType,
|
|
689
|
+
}: {
|
|
690
|
+
currentVersion: string;
|
|
691
|
+
requireVersion: string;
|
|
692
|
+
methodName?: string;
|
|
693
|
+
firmwareType?: EFirmwareType;
|
|
694
|
+
}) => {
|
|
695
|
+
if (methodName?.startsWith('btc') === false && firmwareType === EFirmwareType.BitcoinOnly) {
|
|
696
|
+
return createDeviceNotSupportMethodError(methodName ?? '', firmwareType);
|
|
697
|
+
}
|
|
698
|
+
|
|
662
699
|
const methodInfo = methodName ? ` for method '${methodName}'` : '';
|
|
663
700
|
return TypedError(
|
|
664
701
|
HardwareErrorCode.NewFirmwareUnRelease,
|
|
@@ -667,11 +704,21 @@ const createNewFirmwareUnReleaseHardwareError = (
|
|
|
667
704
|
);
|
|
668
705
|
};
|
|
669
706
|
|
|
670
|
-
const createNeedUpgradeFirmwareHardwareError = (
|
|
671
|
-
currentVersion
|
|
672
|
-
requireVersion
|
|
673
|
-
methodName
|
|
674
|
-
|
|
707
|
+
const createNeedUpgradeFirmwareHardwareError = ({
|
|
708
|
+
currentVersion,
|
|
709
|
+
requireVersion,
|
|
710
|
+
methodName,
|
|
711
|
+
firmwareType,
|
|
712
|
+
}: {
|
|
713
|
+
currentVersion: string;
|
|
714
|
+
requireVersion: string;
|
|
715
|
+
methodName?: string;
|
|
716
|
+
firmwareType?: EFirmwareType;
|
|
717
|
+
}) => {
|
|
718
|
+
if (methodName?.startsWith('btc') === false && firmwareType === EFirmwareType.BitcoinOnly) {
|
|
719
|
+
return createDeviceNotSupportMethodError(methodName ?? '', firmwareType);
|
|
720
|
+
}
|
|
721
|
+
|
|
675
722
|
const methodInfo = methodName ? ` for method '${methodName}'` : '';
|
|
676
723
|
return TypedError(
|
|
677
724
|
HardwareErrorCode.CallMethodNeedUpgradeFirmware,
|
|
@@ -742,10 +789,17 @@ const createDefectiveFirmwareError = (
|
|
|
742
789
|
});
|
|
743
790
|
};
|
|
744
791
|
|
|
792
|
+
const createDeviceNotSupportMethodError = (methodName: string, firmwareType: EFirmwareType) =>
|
|
793
|
+
TypedError(HardwareErrorCode.DeviceNotSupportMethod, `Device not support this method`, {
|
|
794
|
+
firmwareType: firmwareType.toString(),
|
|
795
|
+
method: methodName,
|
|
796
|
+
});
|
|
797
|
+
|
|
745
798
|
export {
|
|
746
799
|
createNewFirmwareUnReleaseHardwareError,
|
|
747
800
|
createNeedUpgradeFirmwareHardwareError,
|
|
748
801
|
createNewFirmwareForceUpdateHardwareError,
|
|
749
802
|
createDeprecatedHardwareError,
|
|
750
803
|
createDefectiveFirmwareError,
|
|
804
|
+
createDeviceNotSupportMethodError,
|
|
751
805
|
};
|
package/src/constants.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { HardwareErrorCode } from './HardwareError';
|
|
2
|
+
|
|
1
3
|
export const UKEY_WEBUSB_FILTER = [
|
|
2
4
|
{ vendorId: 0x1209, productId: 0x53c0 }, // Classic Boot、Classic1s Boot、Mini Boot
|
|
3
5
|
{ vendorId: 0x1209, productId: 0x53c1 }, // Classic Firmware、Classic1s Firmware、Mini Firmware、Pro Firmware、Touch Firmware
|
|
@@ -7,6 +9,30 @@ export const UKEY_WEBUSB_FILTER = [
|
|
|
7
9
|
// { vendorId: 0x1209, productId: 0x4f50 }, // Touch Board
|
|
8
10
|
];
|
|
9
11
|
|
|
12
|
+
/**
|
|
13
|
+
* Error codes that require device release after occurrence
|
|
14
|
+
* These errors indicate the device is in an invalid state and needs to be released
|
|
15
|
+
*/
|
|
16
|
+
export const ERROR_CODES_REQUIRE_RELEASE = [
|
|
17
|
+
HardwareErrorCode.DeviceInitializeFailed,
|
|
18
|
+
HardwareErrorCode.DeviceInterruptedFromOutside,
|
|
19
|
+
HardwareErrorCode.DeviceInterruptedFromUser,
|
|
20
|
+
HardwareErrorCode.DeviceCheckPassphraseStateError,
|
|
21
|
+
HardwareErrorCode.ResponseUnexpectTypeError,
|
|
22
|
+
HardwareErrorCode.PinInvalid,
|
|
23
|
+
HardwareErrorCode.PinCancelled,
|
|
24
|
+
HardwareErrorCode.UnexpectPassphrase,
|
|
25
|
+
] as const;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Error codes that require device disconnect before release
|
|
29
|
+
* These errors indicate a communication failure that requires full reconnection
|
|
30
|
+
*/
|
|
31
|
+
export const ERROR_CODES_REQUIRE_DISCONNECT = [
|
|
32
|
+
HardwareErrorCode.DeviceInitializeFailed,
|
|
33
|
+
HardwareErrorCode.ResponseUnexpectTypeError,
|
|
34
|
+
] as const;
|
|
35
|
+
|
|
10
36
|
// BLE IPC communication message types
|
|
11
37
|
export enum EUKeyBleMessageKeys {
|
|
12
38
|
// BLE device selection related
|