@onekeyfe/hd-core 1.1.21-alpha.5 → 1.1.21
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/api/FirmwareUpdateV3.d.ts +2 -0
- package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
- package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +1 -0
- package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/device/Device.d.ts +10 -8
- package/dist/device/Device.d.ts.map +1 -1
- package/dist/device/DeviceConnector.d.ts +2 -3
- package/dist/device/DeviceConnector.d.ts.map +1 -1
- package/dist/events/device.d.ts +1 -0
- package/dist/events/device.d.ts.map +1 -1
- package/dist/events/ui-request.d.ts +9 -1
- package/dist/events/ui-request.d.ts.map +1 -1
- package/dist/events/ui-response.d.ts +8 -1
- package/dist/events/ui-response.d.ts.map +1 -1
- package/dist/index.d.ts +53 -34
- package/dist/index.js +46 -26
- package/package.json +4 -4
- package/src/api/FirmwareUpdateV3.ts +18 -7
- package/src/api/firmware/FirmwareUpdateBaseMethod.ts +18 -0
- package/src/core/index.ts +23 -1
- package/src/device/Device.ts +20 -26
- package/src/device/DeviceConnector.ts +3 -16
- package/src/events/device.ts +1 -0
- package/src/events/ui-request.ts +11 -0
- package/src/events/ui-response.ts +11 -1
|
@@ -4,6 +4,7 @@ import type { Deferred } from '@onekeyfe/hd-shared';
|
|
|
4
4
|
export declare const MIN_UPDATE_V3_BOOTLOADER_VERSION = "2.8.0";
|
|
5
5
|
export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareUpdateV3Params> {
|
|
6
6
|
checkPromise: Deferred<any> | null;
|
|
7
|
+
private isSwitchFirmware;
|
|
7
8
|
init(): void;
|
|
8
9
|
run(): Promise<{
|
|
9
10
|
bootloaderVersion: string;
|
|
@@ -18,6 +19,7 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
18
19
|
private extractUpdateModeProgress;
|
|
19
20
|
private isGetFeaturesTimeoutError;
|
|
20
21
|
private normalizeErrorMessage;
|
|
22
|
+
private canPromptWebUsbSwitchFirmwareReconnect;
|
|
21
23
|
waitForDeviceReconnect(timeout: number): Promise<void>;
|
|
22
24
|
}
|
|
23
25
|
//# sourceMappingURL=FirmwareUpdateV3.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirmwareUpdateV3.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV3.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAI/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,qBAAqB,CAAC;AAKnE,eAAO,MAAM,gCAAgC,UAAU,CAAC;AAaxD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,wBAAwB,CAAC,sBAAsB,CAAC;IAC5F,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI;IAmCE,GAAG;;;;;
|
|
1
|
+
{"version":3,"file":"FirmwareUpdateV3.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV3.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAI/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,qBAAqB,CAAC;AAKnE,eAAO,MAAM,gCAAgC,UAAU,CAAC;AAaxD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,wBAAwB,CAAC,sBAAsB,CAAC;IAC5F,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,OAAO,CAAC,gBAAgB,CAAS;IAEjC,IAAI;IAmCE,GAAG;;;;;IA+CT,OAAO,CAAC,wBAAwB;YAiBlB,qBAAqB;YAoBrB,uBAAuB;YAiBvB,2BAA2B;YAiD3B,aAAa;IA2M3B,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,sCAAsC;IAexC,sBAAsB,CAAC,OAAO,EAAE,MAAM;CAuE7C"}
|
|
@@ -14,6 +14,7 @@ export declare class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params>
|
|
|
14
14
|
postProcessingMessage: (type: 'firmware' | 'ble' | 'bootloader' | 'resource') => void;
|
|
15
15
|
postProgressMessage: (progress: number, progressType: IFirmwareUpdateProgressType) => void;
|
|
16
16
|
protected _promptDeviceInBootloaderForWebDevice(): Promise<unknown>;
|
|
17
|
+
protected _promptDeviceForSwitchFirmwareWebDevice(): Promise<unknown>;
|
|
17
18
|
checkDeviceToBootloader(connectId: string | undefined): void;
|
|
18
19
|
private _checkDeviceInBootloaderMode;
|
|
19
20
|
enterBootloaderMode(): Promise<true | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirmwareUpdateBaseMethod.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/FirmwareUpdateBaseMethod.ts"],"names":[],"mappings":";AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAexE,qBAAa,wBAAwB,CAAC,MAAM,CAAE,SAAQ,UAAU,CAAC,MAAM,CAAC;IACtE,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI,IAAI,IAAI;IAEZ,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAInB,cAAc,IAAI,OAAO;IASzB,cAAc,YAAa,yBAAyB,UASlD;IAMF,qBAAqB,SAAU,UAAU,GAAG,KAAK,GAAG,YAAY,GAAG,UAAU,UAM3E;IAMF,mBAAmB,aAAc,MAAM,gBAAgB,2BAA2B,UAQhF;cAEc,qCAAqC;
|
|
1
|
+
{"version":3,"file":"FirmwareUpdateBaseMethod.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/FirmwareUpdateBaseMethod.ts"],"names":[],"mappings":";AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAexE,qBAAa,wBAAwB,CAAC,MAAM,CAAE,SAAQ,UAAU,CAAC,MAAM,CAAC;IACtE,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI,IAAI,IAAI;IAEZ,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAInB,cAAc,IAAI,OAAO;IASzB,cAAc,YAAa,yBAAyB,UASlD;IAMF,qBAAqB,SAAU,UAAU,GAAG,KAAK,GAAG,YAAY,GAAG,UAAU,UAM3E;IAMF,mBAAmB,aAAc,MAAM,gBAAgB,2BAA2B,UAQhF;cAEc,qCAAqC;cAkBrC,uCAAuC;IAkBvD,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;YAmFvC,4BAA4B;IAuBpC,mBAAmB;IA8CnB,uBAAuB,CAAC,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IA6BlD,8BAA8B,CAAC,IAAI,EAAE,MAAM;IAW3C,uBAAuB,CAAC,EAC5B,OAAO,EACP,QAAQ,EACR,aAAa,EACb,SAAS,GACV,EAAE,KAAK,CAAC,cAAc,GAAG;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IA4CK,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,WAAW,GAAG,MAAM,EAC3B,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,MAAM,GAAG,IAAI;IAwEnB,MAAM,CAAC,UAAU,EAAE,UAAU;CAsBpC"}
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAuClC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAiB1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAIxD,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAmD,MAAM,WAAW,CAAC;AAI9F,OAAO,KAAK,EAEV,6BAA6B,EAE9B,MAAM,wBAAwB,CAAC;AAKhC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AA8D7D,eAAO,MAAM,OAAO,YAAmB,WAAW,WAAW,WAAW,iBAuEvE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAuClC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAiB1C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAIxD,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAmD,MAAM,WAAW,CAAC;AAI9F,OAAO,KAAK,EAEV,6BAA6B,EAE9B,MAAM,wBAAwB,CAAC;AAKhC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AA8D7D,eAAO,MAAM,OAAO,YAAmB,WAAW,WAAW,WAAW,iBAuEvE,CAAC;AA4pBF,eAAO,MAAM,MAAM,YAAa,WAAW,cAAc,MAAM,SAkF9D,CAAC;AAsEF,eAAO,MAAM,qBAAqB,gFAejC,CAAC;AA0GF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IAC5C,OAAO,CAAC,cAAc,CAAoB;IAE1C,SAAgB,aAAa,EAAE,MAAM,CAAC;IAEtC,OAAO,CAAC,YAAY,CAAsB;IAG1C,OAAO,CAAC,qBAAqB,CAA4B;IAEzD,OAAO,CAAC,iBAAiB,CAAoB;;IAS7C,OAAO,CAAC,cAAc;IAoBhB,aAAa,CAAC,OAAO,EAAE,WAAW;IA2DxC,OAAO;CAMR;AAED,eAAO,MAAM,QAAQ,YAGpB,CAAC;AAEF,eAAO,MAAM,aAAa,uBAIzB,CAAC;AAMF,eAAO,MAAM,IAAI,aACL,eAAe,aACd,GAAG,WACL,6BAA6B,8BAoBvC,CAAC;AAEF,eAAO,MAAM,eAAe;SAKrB,eAAe,CAAC,KAAK,CAAC;eAChB,GAAG;;UASf,CAAC"}
|
package/dist/device/Device.d.ts
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import EventEmitter from 'events';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { DEVICE } from '../events';
|
|
6
|
-
import type { PROTO } from '../constants';
|
|
7
|
-
import type { DeviceButtonRequestPayload, DeviceFeaturesPayload, PassphraseRequestPayload } from '../events';
|
|
8
|
-
import type { PassphrasePromptResponse } from './DeviceCommands';
|
|
9
|
-
import type { Deferred } from '@onekeyfe/hd-shared';
|
|
10
|
-
import type { OneKeyDeviceInfo as DeviceDescriptor } from '@onekeyfe/hd-transport';
|
|
3
|
+
import { OneKeyDeviceInfo as DeviceDescriptor } from '@onekeyfe/hd-transport';
|
|
4
|
+
import { Deferred } from '@onekeyfe/hd-shared';
|
|
11
5
|
import type DeviceConnector from './DeviceConnector';
|
|
6
|
+
import { DeviceCommands, PassphrasePromptResponse } from './DeviceCommands';
|
|
7
|
+
import { type DeviceFirmwareRange, EOneKeyDeviceMode, type Device as DeviceTyped, type Features, type UnavailableCapabilities } from '../types';
|
|
8
|
+
import { DEVICE, DeviceButtonRequestPayload, DeviceFeaturesPayload, PassphraseRequestPayload } from '../events';
|
|
9
|
+
import { PROTO } from '../constants';
|
|
12
10
|
export type InitOptions = {
|
|
13
11
|
initSession?: boolean;
|
|
14
12
|
deviceId?: string;
|
|
@@ -32,6 +30,10 @@ export interface DeviceEvents {
|
|
|
32
30
|
Device,
|
|
33
31
|
(err: any, deviceId: string) => void
|
|
34
32
|
];
|
|
33
|
+
[DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE]: [
|
|
34
|
+
Device,
|
|
35
|
+
(err: any, deviceId: string) => void
|
|
36
|
+
];
|
|
35
37
|
}
|
|
36
38
|
export interface Device {
|
|
37
39
|
on<K extends keyof DeviceEvents>(type: K, listener: (...event: DeviceEvents[K]) => void): this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/device/Device.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/device/Device.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="w3c-web-usb" />
|
|
2
2
|
/// <reference types="web-bluetooth" />
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import { Transport, OneKeyDeviceInfo as DeviceDescriptor } from '@onekeyfe/hd-transport';
|
|
4
|
+
import { DeviceDescriptorDiff } from './DevicePool';
|
|
5
5
|
export default class DeviceConnector {
|
|
6
6
|
transport: Transport;
|
|
7
7
|
listenTimestamp: number;
|
|
@@ -14,7 +14,6 @@ export default class DeviceConnector {
|
|
|
14
14
|
stop(): void;
|
|
15
15
|
acquire(path: string, session?: string | null, forceCleanRunPromise?: boolean): Promise<string | undefined>;
|
|
16
16
|
release(session: string, onclose: boolean): Promise<void>;
|
|
17
|
-
disconnect(session: string | undefined | null): Promise<void>;
|
|
18
17
|
promptDeviceAccess(): Promise<USBDevice | BluetoothDevice | null>;
|
|
19
18
|
_reportDevicesChange(): void;
|
|
20
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceConnector.d.ts","sourceRoot":"","sources":["../../src/device/DeviceConnector.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"DeviceConnector.d.ts","sourceRoot":"","sources":["../../src/device/DeviceConnector.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAIzF,OAAO,EAAc,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAMhE,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,SAAS,EAAE,SAAS,CAAC;IAErB,eAAe,SAAK;IAEpB,OAAO,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAQ;IAE1C,QAAQ,EAAE,gBAAgB,EAAE,CAAM;IAElC,SAAS,UAAS;;IAQZ,SAAS;IAWT,MAAM;IAiCZ,IAAI;IAIE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,oBAAoB,CAAC,EAAE,OAAO;IAiB7E,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAS/C,kBAAkB,IAAI,OAAO,CAAC,SAAS,GAAG,eAAe,GAAG,IAAI,CAAC;IAOjE,oBAAoB;CAGrB"}
|
package/dist/events/device.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export declare const DEVICE: {
|
|
|
21
21
|
readonly WORD: "word";
|
|
22
22
|
readonly SUPPORT_FEATURES: "support_features";
|
|
23
23
|
readonly SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE: "select_device_in_bootloader_for_web_device";
|
|
24
|
+
readonly SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE: "select_device_for_switch_firmware_web_device";
|
|
24
25
|
readonly FEATURES: "features";
|
|
25
26
|
};
|
|
26
27
|
export interface DeviceConnnectRequest {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/events/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,IAAI,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAExF,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/events/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,IAAI,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAExF,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;CA0BT,CAAC;AAEX,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAC5B,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,MAAM,CAAC,UAAU,CAAC;IAC/B,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC;IACnF,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,8BAA8B,CAAC;CACrE;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,0BAA0B,GAAG;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACjE;AAED,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;IAC7B,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAED,MAAM,MAAM,4BAA4B,GAAG,eAAe,GAAG;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AACvF,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC;IACrC,OAAO,EAAE,4BAA4B,CAAC;CACvC;AAED,MAAM,MAAM,WAAW,GACnB,mBAAmB,GACnB,kBAAkB,GAClB,yBAAyB,GACzB,wBAAwB,GACxB,qBAAqB,CAAC;AAE1B,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG;IAAE,KAAK,EAAE,OAAO,YAAY,CAAA;CAAE,CAAC;AAE9E,MAAM,MAAM,qBAAqB,GAAG,CAClC,IAAI,EAAE,OAAO,YAAY,EACzB,EAAE,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,KACpC,IAAI,CAAC;AAEV,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,CAAC,OAAO,YAAY,EAAE,WAAW,CAQxE,CAAC"}
|
|
@@ -10,6 +10,7 @@ export declare const UI_REQUEST: {
|
|
|
10
10
|
readonly REQUEST_PASSPHRASE: "ui-request_passphrase";
|
|
11
11
|
readonly REQUEST_PASSPHRASE_ON_DEVICE: "ui-request_passphrase_on_device";
|
|
12
12
|
readonly REQUEST_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE: "ui-request_select_device_in_bootloader_for_web_device";
|
|
13
|
+
readonly REQUEST_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE: "ui-request_select_device_for_switch_firmware_web_device";
|
|
13
14
|
readonly CLOSE_UI_WINDOW: "ui-close_window";
|
|
14
15
|
readonly CLOSE_UI_PIN_WINDOW: "ui-close_pin_window";
|
|
15
16
|
readonly DEVICE_PROGRESS: "ui-device_progress";
|
|
@@ -77,6 +78,12 @@ export interface UiRequestSelectDeviceInBootloaderForWebDevice {
|
|
|
77
78
|
device: Device;
|
|
78
79
|
};
|
|
79
80
|
}
|
|
81
|
+
export interface UiRequestSelectDeviceForSwitchFirmwareWebDevice {
|
|
82
|
+
type: typeof UI_REQUEST.REQUEST_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE;
|
|
83
|
+
payload: {
|
|
84
|
+
device: Device;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
80
87
|
export interface FirmwareProcessing {
|
|
81
88
|
type: typeof UI_REQUEST.FIRMWARE_PROCESSING;
|
|
82
89
|
payload: {
|
|
@@ -117,7 +124,7 @@ export interface PreviousAddressResult {
|
|
|
117
124
|
};
|
|
118
125
|
};
|
|
119
126
|
}
|
|
120
|
-
export type UiEvent = UiRequestWithoutPayload | UiRequestDeviceAction | UiRequestButton | UiRequestPassphraseOnDevice | UiRequestPassphrase | UiRequestSelectDeviceInBootloaderForWebDevice | FirmwareProcessing | UiRequestSelectDeviceInBootloaderForWebDevice | FirmwareProgress | FirmwareTip | DeviceProgress | PreviousAddressResult;
|
|
127
|
+
export type UiEvent = UiRequestWithoutPayload | UiRequestDeviceAction | UiRequestButton | UiRequestPassphraseOnDevice | UiRequestPassphrase | UiRequestSelectDeviceInBootloaderForWebDevice | UiRequestSelectDeviceForSwitchFirmwareWebDevice | FirmwareProcessing | UiRequestSelectDeviceInBootloaderForWebDevice | FirmwareProgress | FirmwareTip | DeviceProgress | PreviousAddressResult;
|
|
121
128
|
export declare enum FirmwareUpdateTipMessage {
|
|
122
129
|
CheckLatestUiResource = "CheckLatestUiResource",
|
|
123
130
|
StartDownloadFirmware = "StartDownloadFirmware",
|
|
@@ -133,6 +140,7 @@ export declare enum FirmwareUpdateTipMessage {
|
|
|
133
140
|
AutoRebootToBootloader = "AutoRebootToBootloader",
|
|
134
141
|
GoToBootloaderSuccess = "GoToBootloaderSuccess",
|
|
135
142
|
SelectDeviceInBootloaderForWebDevice = "SelectDeviceInBootloaderForWebDevice",
|
|
143
|
+
SwitchFirmwareReconnectDevice = "SwitchFirmwareReconnectDevice",
|
|
136
144
|
ConfirmOnDevice = "ConfirmOnDevice",
|
|
137
145
|
FirmwareEraseSuccess = "FirmwareEraseSuccess",
|
|
138
146
|
StartTransferData = "StartTransferData",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-request.d.ts","sourceRoot":"","sources":["../../src/events/ui-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,QAAQ,aAAa,CAAC;AAEnC,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"ui-request.d.ts","sourceRoot":"","sources":["../../src/events/ui-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export declare const UI_RESPONSE: {
|
|
|
4
4
|
readonly RECEIVE_PIN: "ui-receive_pin";
|
|
5
5
|
readonly RECEIVE_PASSPHRASE: "ui-receive_passphrase";
|
|
6
6
|
readonly SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE: "ui-receive_select-device-in-bootloader-for-web-device";
|
|
7
|
+
readonly SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE: "ui-receive_select-device-for-switch-firmware-web-device";
|
|
7
8
|
};
|
|
8
9
|
export interface UiResponsePin {
|
|
9
10
|
type: typeof UI_RESPONSE.RECEIVE_PIN;
|
|
@@ -24,7 +25,13 @@ export interface UiResponseSelectDeviceInBootloaderForWebDevice {
|
|
|
24
25
|
deviceId: string;
|
|
25
26
|
};
|
|
26
27
|
}
|
|
27
|
-
export
|
|
28
|
+
export interface UiResponseSelectDeviceForSwitchFirmwareWebDevice {
|
|
29
|
+
type: typeof UI_RESPONSE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE;
|
|
30
|
+
payload: {
|
|
31
|
+
deviceId: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export type UiResponseEvent = UiResponsePin | UiResponsePassphrase | UiResponseSelectDeviceInBootloaderForWebDevice | UiResponseSelectDeviceForSwitchFirmwareWebDevice;
|
|
28
35
|
export type UiResponseMessage = UiResponseEvent & {
|
|
29
36
|
event: typeof UI_EVENT;
|
|
30
37
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-response.d.ts","sourceRoot":"","sources":["../../src/events/ui-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"ui-response.d.ts","sourceRoot":"","sources":["../../src/events/ui-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,WAAW;;;;;CAOd,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,WAAW,CAAC,WAAW,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,WAAW,CAAC,kBAAkB,CAAC;IAC5C,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,8CAA8C;IAC7D,IAAI,EAAE,OAAO,WAAW,CAAC,0CAA0C,CAAC;IACpE,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,gDAAgD;IAC/D,IAAI,EAAE,OAAO,WAAW,CAAC,4CAA4C,CAAC;IACtE,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,MAAM,eAAe,GACvB,aAAa,GACb,oBAAoB,GACpB,8CAA8C,GAC9C,gDAAgD,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG;IAAE,KAAK,EAAE,OAAO,QAAQ,CAAA;CAAE,CAAC;AAE7E,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,QAAQ,EAAE,eAAe,CAQrE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import EventEmitter$1, { EventEmitter } from 'events';
|
|
2
2
|
import * as _onekeyfe_hd_transport from '@onekeyfe/hd-transport';
|
|
3
|
-
import { OneKeyDeviceCommType, Messages, LowlevelTransportSharedPlugin, Features as Features$1, Success as Success$1, RecoveryDeviceType, SafetyCheckLevel, ResourceType, NextU2FCounter, SetU2FCounter, CipheredKeyValue as CipheredKeyValue$1, UintType, EthereumPublicKey, EthereumMessageSignature, Address, MultisigRedeemScriptType, InputScriptType, PublicKey, MessageSignature, SignedPsbt, PrevInput, TxOutputBinType, TxInput, TxOutputType, TxInputType, StarcoinAddress as StarcoinAddress$1, StarcoinPublicKey as StarcoinPublicKey$1, StarcoinMessageSignature, StarcoinSignedTx, NEMAddress as NEMAddress$1, NEMSignedTx, SolanaAddress as SolanaAddress$1, SolanaSignedTx as SolanaSignedTx$1, SolanaOffChainMessageVersion, SolanaOffChainMessageFormat, StellarAddress as StellarAddress$1, StellarSignedTx, TronAddress as TronAddress$1, TronResourceCode, TronSignedTx, TronMessageSignature, ConfluxAddress as ConfluxAddress$1, ConfluxMessageSignature, NearAddress as NearAddress$1, NearSignedTx, AptosAddress as AptosAddress$1, AptosMessageSignature as AptosMessageSignature$1, AptosSignedTx as AptosSignedTx$1, AlgorandAddress, AlgorandSignedTx, CosmosAddress as CosmosAddress$1, CosmosSignedTx as CosmosSignedTx$1, SuiAddress as SuiAddress$1, SuiMessageSignature, CardanoAddressParametersType, CardanoMessageSignature, FilecoinAddress as FilecoinAddress$1, FilecoinSignedTx as FilecoinSignedTx$1, PolkadotAddress as PolkadotAddress$1, PolkadotSignedTx as PolkadotSignedTx$1, KaspaAddress as KaspaAddress$1, NervosAddress as NervosAddress$1, NervosSignedTx as NervosSignedTx$1, DnxAddress as DnxAddress$1, TonWalletVersion, TonWorkChain, TonSignedMessage, TonSignedProof, ScdoAddress as ScdoAddress$1, ScdoSignedMessage, ScdoSignedTx as ScdoSignedTx$1, AlephiumMessageSignature, AlephiumSignedTx as AlephiumSignedTx$1, BenfenAddress as BenfenAddress$1, BenfenMessageSignature,
|
|
3
|
+
import { OneKeyDeviceCommType, Messages, LowlevelTransportSharedPlugin, Features as Features$1, Success as Success$1, RecoveryDeviceType, SafetyCheckLevel, ResourceType, NextU2FCounter, SetU2FCounter, CipheredKeyValue as CipheredKeyValue$1, UintType, EthereumPublicKey, EthereumMessageSignature, Address, MultisigRedeemScriptType, InputScriptType, PublicKey, MessageSignature, SignedPsbt, PrevInput, TxOutputBinType, TxInput, TxOutputType, TxInputType, StarcoinAddress as StarcoinAddress$1, StarcoinPublicKey as StarcoinPublicKey$1, StarcoinMessageSignature, StarcoinSignedTx, NEMAddress as NEMAddress$1, NEMSignedTx, SolanaAddress as SolanaAddress$1, SolanaSignedTx as SolanaSignedTx$1, SolanaOffChainMessageVersion, SolanaOffChainMessageFormat, StellarAddress as StellarAddress$1, StellarSignedTx, TronAddress as TronAddress$1, TronResourceCode, TronSignedTx, TronMessageSignature, ConfluxAddress as ConfluxAddress$1, ConfluxMessageSignature, NearAddress as NearAddress$1, NearSignedTx, AptosAddress as AptosAddress$1, AptosMessageSignature as AptosMessageSignature$1, AptosSignedTx as AptosSignedTx$1, AlgorandAddress, AlgorandSignedTx, CosmosAddress as CosmosAddress$1, CosmosSignedTx as CosmosSignedTx$1, SuiAddress as SuiAddress$1, SuiMessageSignature, CardanoAddressParametersType, CardanoMessageSignature, FilecoinAddress as FilecoinAddress$1, FilecoinSignedTx as FilecoinSignedTx$1, PolkadotAddress as PolkadotAddress$1, PolkadotSignedTx as PolkadotSignedTx$1, KaspaAddress as KaspaAddress$1, NervosAddress as NervosAddress$1, NervosSignedTx as NervosSignedTx$1, DnxAddress as DnxAddress$1, TonWalletVersion, TonWorkChain, TonSignedMessage, TonSignedProof, ScdoAddress as ScdoAddress$1, ScdoSignedMessage, ScdoSignedTx as ScdoSignedTx$1, AlephiumMessageSignature, AlephiumSignedTx as AlephiumSignedTx$1, BenfenAddress as BenfenAddress$1, BenfenMessageSignature, OneKeyDeviceInfo, Transport, ChangeOutputScriptType } from '@onekeyfe/hd-transport';
|
|
4
4
|
export { Messages as PROTO } from '@onekeyfe/hd-transport';
|
|
5
5
|
import { EDeviceType, EFirmwareType, Deferred } from '@onekeyfe/hd-shared';
|
|
6
6
|
|
|
@@ -2505,6 +2505,7 @@ declare const DEVICE: {
|
|
|
2505
2505
|
readonly WORD: "word";
|
|
2506
2506
|
readonly SUPPORT_FEATURES: "support_features";
|
|
2507
2507
|
readonly SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE: "select_device_in_bootloader_for_web_device";
|
|
2508
|
+
readonly SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE: "select_device_for_switch_firmware_web_device";
|
|
2508
2509
|
readonly FEATURES: "features";
|
|
2509
2510
|
};
|
|
2510
2511
|
interface DeviceConnnectRequest {
|
|
@@ -2558,6 +2559,7 @@ declare const UI_REQUEST: {
|
|
|
2558
2559
|
readonly REQUEST_PASSPHRASE: "ui-request_passphrase";
|
|
2559
2560
|
readonly REQUEST_PASSPHRASE_ON_DEVICE: "ui-request_passphrase_on_device";
|
|
2560
2561
|
readonly REQUEST_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE: "ui-request_select_device_in_bootloader_for_web_device";
|
|
2562
|
+
readonly REQUEST_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE: "ui-request_select_device_for_switch_firmware_web_device";
|
|
2561
2563
|
readonly CLOSE_UI_WINDOW: "ui-close_window";
|
|
2562
2564
|
readonly CLOSE_UI_PIN_WINDOW: "ui-close_pin_window";
|
|
2563
2565
|
readonly DEVICE_PROGRESS: "ui-device_progress";
|
|
@@ -2625,6 +2627,12 @@ interface UiRequestSelectDeviceInBootloaderForWebDevice {
|
|
|
2625
2627
|
device: Device$1;
|
|
2626
2628
|
};
|
|
2627
2629
|
}
|
|
2630
|
+
interface UiRequestSelectDeviceForSwitchFirmwareWebDevice {
|
|
2631
|
+
type: typeof UI_REQUEST.REQUEST_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE;
|
|
2632
|
+
payload: {
|
|
2633
|
+
device: Device$1;
|
|
2634
|
+
};
|
|
2635
|
+
}
|
|
2628
2636
|
interface FirmwareProcessing {
|
|
2629
2637
|
type: typeof UI_REQUEST.FIRMWARE_PROCESSING;
|
|
2630
2638
|
payload: {
|
|
@@ -2665,7 +2673,7 @@ interface PreviousAddressResult {
|
|
|
2665
2673
|
};
|
|
2666
2674
|
};
|
|
2667
2675
|
}
|
|
2668
|
-
type UiEvent = UiRequestWithoutPayload | UiRequestDeviceAction | UiRequestButton | UiRequestPassphraseOnDevice | UiRequestPassphrase | UiRequestSelectDeviceInBootloaderForWebDevice | FirmwareProcessing | UiRequestSelectDeviceInBootloaderForWebDevice | FirmwareProgress | FirmwareTip | DeviceProgress | PreviousAddressResult;
|
|
2676
|
+
type UiEvent = UiRequestWithoutPayload | UiRequestDeviceAction | UiRequestButton | UiRequestPassphraseOnDevice | UiRequestPassphrase | UiRequestSelectDeviceInBootloaderForWebDevice | UiRequestSelectDeviceForSwitchFirmwareWebDevice | FirmwareProcessing | UiRequestSelectDeviceInBootloaderForWebDevice | FirmwareProgress | FirmwareTip | DeviceProgress | PreviousAddressResult;
|
|
2669
2677
|
declare enum FirmwareUpdateTipMessage {
|
|
2670
2678
|
CheckLatestUiResource = "CheckLatestUiResource",
|
|
2671
2679
|
StartDownloadFirmware = "StartDownloadFirmware",
|
|
@@ -2681,6 +2689,7 @@ declare enum FirmwareUpdateTipMessage {
|
|
|
2681
2689
|
AutoRebootToBootloader = "AutoRebootToBootloader",
|
|
2682
2690
|
GoToBootloaderSuccess = "GoToBootloaderSuccess",
|
|
2683
2691
|
SelectDeviceInBootloaderForWebDevice = "SelectDeviceInBootloaderForWebDevice",
|
|
2692
|
+
SwitchFirmwareReconnectDevice = "SwitchFirmwareReconnectDevice",
|
|
2684
2693
|
ConfirmOnDevice = "ConfirmOnDevice",
|
|
2685
2694
|
FirmwareEraseSuccess = "FirmwareEraseSuccess",
|
|
2686
2695
|
StartTransferData = "StartTransferData",
|
|
@@ -2802,6 +2811,7 @@ declare const UI_RESPONSE: {
|
|
|
2802
2811
|
readonly RECEIVE_PIN: "ui-receive_pin";
|
|
2803
2812
|
readonly RECEIVE_PASSPHRASE: "ui-receive_passphrase";
|
|
2804
2813
|
readonly SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE: "ui-receive_select-device-in-bootloader-for-web-device";
|
|
2814
|
+
readonly SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE: "ui-receive_select-device-for-switch-firmware-web-device";
|
|
2805
2815
|
};
|
|
2806
2816
|
interface UiResponsePin {
|
|
2807
2817
|
type: typeof UI_RESPONSE.RECEIVE_PIN;
|
|
@@ -2822,7 +2832,13 @@ interface UiResponseSelectDeviceInBootloaderForWebDevice {
|
|
|
2822
2832
|
deviceId: string;
|
|
2823
2833
|
};
|
|
2824
2834
|
}
|
|
2825
|
-
|
|
2835
|
+
interface UiResponseSelectDeviceForSwitchFirmwareWebDevice {
|
|
2836
|
+
type: typeof UI_RESPONSE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE;
|
|
2837
|
+
payload: {
|
|
2838
|
+
deviceId: string;
|
|
2839
|
+
};
|
|
2840
|
+
}
|
|
2841
|
+
type UiResponseEvent = UiResponsePin | UiResponsePassphrase | UiResponseSelectDeviceInBootloaderForWebDevice | UiResponseSelectDeviceForSwitchFirmwareWebDevice;
|
|
2826
2842
|
type UiResponseMessage = UiResponseEvent & {
|
|
2827
2843
|
event: typeof UI_EVENT;
|
|
2828
2844
|
};
|
|
@@ -2897,6 +2913,35 @@ declare const createErrorMessage: (error: Error & {
|
|
|
2897
2913
|
code?: string | number;
|
|
2898
2914
|
}) => Unsuccessful;
|
|
2899
2915
|
|
|
2916
|
+
type DeviceDescriptorDiff = {
|
|
2917
|
+
didUpdate: boolean;
|
|
2918
|
+
connected: OneKeyDeviceInfo[];
|
|
2919
|
+
disconnected: OneKeyDeviceInfo[];
|
|
2920
|
+
changedSessions: OneKeyDeviceInfo[];
|
|
2921
|
+
changedDebugSessions: OneKeyDeviceInfo[];
|
|
2922
|
+
acquired: OneKeyDeviceInfo[];
|
|
2923
|
+
debugAcquired: OneKeyDeviceInfo[];
|
|
2924
|
+
released: OneKeyDeviceInfo[];
|
|
2925
|
+
debugReleased: OneKeyDeviceInfo[];
|
|
2926
|
+
descriptors: OneKeyDeviceInfo[];
|
|
2927
|
+
};
|
|
2928
|
+
|
|
2929
|
+
declare class DeviceConnector {
|
|
2930
|
+
transport: Transport;
|
|
2931
|
+
listenTimestamp: number;
|
|
2932
|
+
current: OneKeyDeviceInfo[] | null;
|
|
2933
|
+
upcoming: OneKeyDeviceInfo[];
|
|
2934
|
+
listening: boolean;
|
|
2935
|
+
constructor();
|
|
2936
|
+
enumerate(): Promise<DeviceDescriptorDiff | undefined>;
|
|
2937
|
+
listen(): Promise<void>;
|
|
2938
|
+
stop(): void;
|
|
2939
|
+
acquire(path: string, session?: string | null, forceCleanRunPromise?: boolean): Promise<string | undefined>;
|
|
2940
|
+
release(session: string, onclose: boolean): Promise<void>;
|
|
2941
|
+
promptDeviceAccess(): Promise<USBDevice | BluetoothDevice | null>;
|
|
2942
|
+
_reportDevicesChange(): void;
|
|
2943
|
+
}
|
|
2944
|
+
|
|
2900
2945
|
type PassphrasePromptResponse = {
|
|
2901
2946
|
passphrase?: string;
|
|
2902
2947
|
passphraseOnDevice?: boolean;
|
|
@@ -2972,36 +3017,6 @@ declare class DeviceCommands {
|
|
|
2972
3017
|
_promptPassphrase(options: PassphraseRequestPayload): Promise<PassphrasePromptResponse>;
|
|
2973
3018
|
}
|
|
2974
3019
|
|
|
2975
|
-
type DeviceDescriptorDiff = {
|
|
2976
|
-
didUpdate: boolean;
|
|
2977
|
-
connected: OneKeyDeviceInfo[];
|
|
2978
|
-
disconnected: OneKeyDeviceInfo[];
|
|
2979
|
-
changedSessions: OneKeyDeviceInfo[];
|
|
2980
|
-
changedDebugSessions: OneKeyDeviceInfo[];
|
|
2981
|
-
acquired: OneKeyDeviceInfo[];
|
|
2982
|
-
debugAcquired: OneKeyDeviceInfo[];
|
|
2983
|
-
released: OneKeyDeviceInfo[];
|
|
2984
|
-
debugReleased: OneKeyDeviceInfo[];
|
|
2985
|
-
descriptors: OneKeyDeviceInfo[];
|
|
2986
|
-
};
|
|
2987
|
-
|
|
2988
|
-
declare class DeviceConnector {
|
|
2989
|
-
transport: Transport;
|
|
2990
|
-
listenTimestamp: number;
|
|
2991
|
-
current: OneKeyDeviceInfo[] | null;
|
|
2992
|
-
upcoming: OneKeyDeviceInfo[];
|
|
2993
|
-
listening: boolean;
|
|
2994
|
-
constructor();
|
|
2995
|
-
enumerate(): Promise<DeviceDescriptorDiff | undefined>;
|
|
2996
|
-
listen(): Promise<void>;
|
|
2997
|
-
stop(): void;
|
|
2998
|
-
acquire(path: string, session?: string | null, forceCleanRunPromise?: boolean): Promise<string | undefined>;
|
|
2999
|
-
release(session: string, onclose: boolean): Promise<void>;
|
|
3000
|
-
disconnect(session: string | undefined | null): Promise<void>;
|
|
3001
|
-
promptDeviceAccess(): Promise<USBDevice | BluetoothDevice | null>;
|
|
3002
|
-
_reportDevicesChange(): void;
|
|
3003
|
-
}
|
|
3004
|
-
|
|
3005
3020
|
type InitOptions = {
|
|
3006
3021
|
initSession?: boolean;
|
|
3007
3022
|
deviceId?: string;
|
|
@@ -3025,6 +3040,10 @@ interface DeviceEvents {
|
|
|
3025
3040
|
Device,
|
|
3026
3041
|
(err: any, deviceId: string) => void
|
|
3027
3042
|
];
|
|
3043
|
+
[DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE]: [
|
|
3044
|
+
Device,
|
|
3045
|
+
(err: any, deviceId: string) => void
|
|
3046
|
+
];
|
|
3028
3047
|
}
|
|
3029
3048
|
interface Device {
|
|
3030
3049
|
on<K extends keyof DeviceEvents>(type: K, listener: (...event: DeviceEvents[K]) => void): this;
|
|
@@ -3346,4 +3365,4 @@ declare const HardwareSdk: ({ init, call, dispose, eventEmitter, uiResponse, can
|
|
|
3346
3365
|
declare const HardwareSDKLowLevel: ({ init, call, dispose, eventEmitter, addHardwareGlobalEventListener, uiResponse, cancel, updateSettings, switchTransport, }: LowLevelInjectApi) => LowLevelCoreApi;
|
|
3347
3366
|
declare const HardwareTopLevelSdk: () => CoreApi;
|
|
3348
3367
|
|
|
3349
|
-
export { AccountAddress, AccountAddresses, AlephiumAddress, AlephiumGetAddressParams, AlephiumSignMessageParams, AlephiumSignTransactionParams, AlephiumSignedTx, AlgoAddress, AlgoGetAddressParams, AlgoSignTransactionParams, AlgoSignedTx, AllFirmwareRelease, AllNetworkAddressParams, AllNetworkGetAddressParams, AptosAddress, AptosGetAddressParams, AptosGetPublicKeyParams, AptosMessageSignature, AptosPublicKey, AptosSignInMessageParams, AptosSignInMessageSignature, AptosSignMessageParams, AptosSignTransactionParams, AptosSignedTx, AssetsMap, BTCAddress, BTCGetAddressParams, BTCGetPublicKeyParams, BTCPublicKey, BTCSignMessageParams, BTCSignTransactionParams, BTCVerifyMessageParams, BenfenAddress, BenfenGetAddressParams, BenfenGetPublicKeyParams, BenfenPublicKey, BenfenSignMessageParams, BenfenSignTransactionParams, BenfenSignedTx, BleReleaseInfoEvent, BleReleaseInfoPayload, CORE_EVENT, CallMethod, CallMethodAnyResponse, CallMethodKeys, CallMethodPayload, CallMethodResponse, CallMethodUnion, CardanoAddress, CardanoGetAddressMethodParams, CardanoGetAddressParams, CardanoSignMessageMethodParams, CardanoSignMessageParams, CardanoSignTransaction, CardanoSignedTxData, CipheredKeyValue, CipheredKeyValueParams, CommonParams, ConfluxAddress, ConfluxGetAddressParams, ConfluxSignMessageCIP23Params, ConfluxSignMessageParams, ConfluxSignTransactionParams, ConfluxSignedTx, ConfluxTransaction, ConnectSettings, Core, CoreApi, CoreMessage, CosmosAddress, CosmosGetAddressParams, CosmosGetPublicKeyParams, CosmosPublicKey, CosmosSignTransactionParams, CosmosSignedTx, DEFAULT_PRIORITY, DEVICE, DEVICE_EVENT, DataManager, Device$1 as Device, DeviceButtonRequest, DeviceButtonRequestPayload, DeviceChangePinParams, DeviceConnnectRequest, DeviceDisconnnectRequest, DeviceEvent, DeviceEventListenerFn, DeviceEventMessage, DeviceFeaturesPayload, DeviceFirmwareRange, DeviceFlagsParams, DeviceModelToTypes, DeviceProgress, DeviceRecoveryParams, DeviceResetParams, DeviceSendFeatures, DeviceSendSupportFeatures, DeviceSettingsParams, DeviceStatus, DeviceSupportFeatures, DeviceSupportFeaturesPayload, DeviceTypeMap, DeviceTypeToModels, DeviceUploadResourceParams, DeviceUploadResourceResponse, DeviceVerifyParams, DeviceVerifySignature, DnxAddress, DnxGetAddressParams, DnxSignTransactionParams, DnxSignature, DnxTxKey, EOneKeyDeviceMode, EVMAccessList, EVMAddress, EVMAuthorization, EVMAuthorizationSignature, EVMGetAddressParams, EVMGetPublicKeyParams, EVMPublicKey, EVMSignMessageEIP712Params, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, EVMSignedTx, EVMTransaction, EVMTransactionEIP1559, EVMTransactionEIP7702, EVMVerifyMessageParams, EthereumSignTypedDataMessage, EthereumSignTypedDataTypeProperty, EthereumSignTypedDataTypes, FIRMWARE, FIRMWARE_EVENT, Features, FilecoinAddress, FilecoinGetAddressParams, FilecoinSignTransactionParams, FilecoinSignedTx, FirmwareEvent, FirmwareMessage, FirmwareProcessing, FirmwareProgress, FirmwareRange, FirmwareRelease, FirmwareTip, FirmwareUpdateBinaryParams, FirmwareUpdateParams, FirmwareUpdateTipMessage, FirmwareUpdateV3Params, HardwareSDKLowLevel, HardwareTopLevelSdk, IBLEFirmwareReleaseInfo, IDeviceBLEFirmwareStatus, IDeviceFirmwareStatus, IDeviceModel, IDeviceType, IFRAME, IFirmwareField, IFirmwareReleaseInfo, IFirmwareUpdateProgressType, IFirmwareUpdateTipMessage, IFrameBridge, IFrameCallMessage, IFrameCallback, IFrameCallbackMessage, IFrameCancelMessage, IFrameEvent, IFrameEventMessage, IFrameInit, IFrameSwitchTransport, IFrameSwitchTransportMessage, ILocale, ITransportStatus, IVersionArray, IVersionRange, KaspaAddress, KaspaGetAddressParams, KaspaSignInputParams, KaspaSignOutputParams, KaspaSignTransactionParams, KaspaSignature, KnownDevice, LOG, LOG_EVENT, LogBlockEvent, LogEvent, LogEventMessage, LogOutput, LoggerNames, LowLevelCoreApi, LowLevelInjectApi, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, NearAddress, NearGetAddressParams, NearSignTransactionParams, NervosAddress, NervosGetAddressParams, NervosSignTransactionParams, NervosSignedTx, NexaAddress, NexaGetAddressParams, NexaSignInputParams, NexaSignOutputParams, NexaSignTransactionParams, NexaSignature, OnekeyFeatures, Params, PassphraseRequestPayload, PolkadotAddress, PolkadotGetAddressParams, PolkadotSignTransactionParams, PolkadotSignedTx, PostMessageEvent, PreviousAddressResult, RESPONSE_EVENT, RefTransaction, ReleaseInfo, ReleaseInfoEvent, ReleaseInfoPayload, RemoteConfigResponse, RequestContext, Response, ScdoAddress, ScdoGetAddressParams, ScdoSignMessageParams, ScdoSignTransactionParams, ScdoSignedTx, SdkTracingContext, SearchDevice, SignedTransaction, SolSignMessageParams, SolSignMessageResponse, SolSignOffchainMessageParams, SolSignOffchainMessageResponse, SolanaAddress, SolanaGetAddressParams, SolanaSignTransactionParams, SolanaSignedTx, StarcoinAddress, StarcoinGetAddressParams, StarcoinGetPublicKeyParams, StarcoinPublicKey, StarcoinSignMessageParams, StarcoinSignTransactionParams, StarcoinVerifyMessageParams, StellarAddress, StellarAsset, StellarGetAddressParams, StellarOperation, StellarSignTransactionParams, StellarTransaction, StrictFeatures, Success, SuiAddress, SuiGetAddressParams, SuiGetPublicKeyParams, SuiPublicKey, SuiSignMessageParams, SuiSignTransactionParams, SuiSignedTx, SupportFeatureType, SupportFeatures, TonAddress, TonGetAddressParams, TonSignMessageParams, TonSignProofParams, TopLevelInjectApi, TransactionOptions, TransportReleaseStatus, TronAddress, TronDelegateResourceContract, TronFreezeBalanceV2Contract, TronGetAddressParams, TronSignMessageParams, TronSignTransactionParams, TronTransaction, TronTransactionContract, TronTransferContract, TronTriggerSmartContract, TronUnDelegateResourceContract, TronUnfreezeBalanceV2Contract, TronWithdrawBalanceContract, TronWithdrawExpireUnfreezeContract, UI_EVENT, UI_REQUEST, UI_RESPONSE, UiEvent, UiEventMessage, UiPromise, UiPromiseResponse, UiRequestButton, UiRequestDeviceAction, UiRequestFirmwareProgressing, UiRequestPassphrase, UiRequestPassphraseOnDevice, UiRequestSelectDeviceInBootloaderForWebDevice, UiRequestWithoutPayload, UiResponseEvent, UiResponseMessage, UiResponsePassphrase, UiResponsePin, UiResponseSelectDeviceInBootloaderForWebDevice, UnavailableCapabilities, UnavailableCapability, Unsuccessful, VersionArray, checkNeedUpdateBootForClassicAndMini, checkNeedUpdateBootForTouch, cleanupCallback, cleanupSdkInstance, completeRequestContext, corsValidator, createDeviceMessage, createErrorMessage, createFirmwareMessage, createIFrameMessage, createLogMessage, createRequestContext, createResponseMessage, createSdkTracingContext, createUiMessage, createUiResponse, HardwareSdk as default, enableLog, executeCallback, formatRequestContext, generateInstanceId, generateSdkInstanceId, getActiveRequestsByDeviceInstance, getDeviceBLEFirmwareVersion, getDeviceBleName, getDeviceBoardloaderVersion, getDeviceBootloaderVersion, getDeviceFirmwareVersion, getDeviceLabel, getDeviceType, getDeviceTypeByBleName, getDeviceUUID, getEnv, getFirmwareType, getFirmwareUpdateField, getFirmwareUpdateFieldArray, getHDPath, getHomeScreenDefaultList, getHomeScreenHex, getHomeScreenSize, getLog, getLogger, getMethodVersionRange, getOutputScriptType, getSDKVersion, getScriptType, getTimeStamp, httpRequest, init as initCore, isBleConnect, isValidVersionArray, isValidVersionString, normalizeVersionArray, parseConnectSettings, parseMessage, patchFeatures, safeThrowError, setLoggerPostMessage, supportInputPinOnSoftware, switchTransport, transportEnv, updateRequestContext, versionCompare, versionSplit, wait, whitelist, whitelistExtension };
|
|
3368
|
+
export { AccountAddress, AccountAddresses, AlephiumAddress, AlephiumGetAddressParams, AlephiumSignMessageParams, AlephiumSignTransactionParams, AlephiumSignedTx, AlgoAddress, AlgoGetAddressParams, AlgoSignTransactionParams, AlgoSignedTx, AllFirmwareRelease, AllNetworkAddressParams, AllNetworkGetAddressParams, AptosAddress, AptosGetAddressParams, AptosGetPublicKeyParams, AptosMessageSignature, AptosPublicKey, AptosSignInMessageParams, AptosSignInMessageSignature, AptosSignMessageParams, AptosSignTransactionParams, AptosSignedTx, AssetsMap, BTCAddress, BTCGetAddressParams, BTCGetPublicKeyParams, BTCPublicKey, BTCSignMessageParams, BTCSignTransactionParams, BTCVerifyMessageParams, BenfenAddress, BenfenGetAddressParams, BenfenGetPublicKeyParams, BenfenPublicKey, BenfenSignMessageParams, BenfenSignTransactionParams, BenfenSignedTx, BleReleaseInfoEvent, BleReleaseInfoPayload, CORE_EVENT, CallMethod, CallMethodAnyResponse, CallMethodKeys, CallMethodPayload, CallMethodResponse, CallMethodUnion, CardanoAddress, CardanoGetAddressMethodParams, CardanoGetAddressParams, CardanoSignMessageMethodParams, CardanoSignMessageParams, CardanoSignTransaction, CardanoSignedTxData, CipheredKeyValue, CipheredKeyValueParams, CommonParams, ConfluxAddress, ConfluxGetAddressParams, ConfluxSignMessageCIP23Params, ConfluxSignMessageParams, ConfluxSignTransactionParams, ConfluxSignedTx, ConfluxTransaction, ConnectSettings, Core, CoreApi, CoreMessage, CosmosAddress, CosmosGetAddressParams, CosmosGetPublicKeyParams, CosmosPublicKey, CosmosSignTransactionParams, CosmosSignedTx, DEFAULT_PRIORITY, DEVICE, DEVICE_EVENT, DataManager, Device$1 as Device, DeviceButtonRequest, DeviceButtonRequestPayload, DeviceChangePinParams, DeviceConnnectRequest, DeviceDisconnnectRequest, DeviceEvent, DeviceEventListenerFn, DeviceEventMessage, DeviceFeaturesPayload, DeviceFirmwareRange, DeviceFlagsParams, DeviceModelToTypes, DeviceProgress, DeviceRecoveryParams, DeviceResetParams, DeviceSendFeatures, DeviceSendSupportFeatures, DeviceSettingsParams, DeviceStatus, DeviceSupportFeatures, DeviceSupportFeaturesPayload, DeviceTypeMap, DeviceTypeToModels, DeviceUploadResourceParams, DeviceUploadResourceResponse, DeviceVerifyParams, DeviceVerifySignature, DnxAddress, DnxGetAddressParams, DnxSignTransactionParams, DnxSignature, DnxTxKey, EOneKeyDeviceMode, EVMAccessList, EVMAddress, EVMAuthorization, EVMAuthorizationSignature, EVMGetAddressParams, EVMGetPublicKeyParams, EVMPublicKey, EVMSignMessageEIP712Params, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, EVMSignedTx, EVMTransaction, EVMTransactionEIP1559, EVMTransactionEIP7702, EVMVerifyMessageParams, EthereumSignTypedDataMessage, EthereumSignTypedDataTypeProperty, EthereumSignTypedDataTypes, FIRMWARE, FIRMWARE_EVENT, Features, FilecoinAddress, FilecoinGetAddressParams, FilecoinSignTransactionParams, FilecoinSignedTx, FirmwareEvent, FirmwareMessage, FirmwareProcessing, FirmwareProgress, FirmwareRange, FirmwareRelease, FirmwareTip, FirmwareUpdateBinaryParams, FirmwareUpdateParams, FirmwareUpdateTipMessage, FirmwareUpdateV3Params, HardwareSDKLowLevel, HardwareTopLevelSdk, IBLEFirmwareReleaseInfo, IDeviceBLEFirmwareStatus, IDeviceFirmwareStatus, IDeviceModel, IDeviceType, IFRAME, IFirmwareField, IFirmwareReleaseInfo, IFirmwareUpdateProgressType, IFirmwareUpdateTipMessage, IFrameBridge, IFrameCallMessage, IFrameCallback, IFrameCallbackMessage, IFrameCancelMessage, IFrameEvent, IFrameEventMessage, IFrameInit, IFrameSwitchTransport, IFrameSwitchTransportMessage, ILocale, ITransportStatus, IVersionArray, IVersionRange, KaspaAddress, KaspaGetAddressParams, KaspaSignInputParams, KaspaSignOutputParams, KaspaSignTransactionParams, KaspaSignature, KnownDevice, LOG, LOG_EVENT, LogBlockEvent, LogEvent, LogEventMessage, LogOutput, LoggerNames, LowLevelCoreApi, LowLevelInjectApi, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, NearAddress, NearGetAddressParams, NearSignTransactionParams, NervosAddress, NervosGetAddressParams, NervosSignTransactionParams, NervosSignedTx, NexaAddress, NexaGetAddressParams, NexaSignInputParams, NexaSignOutputParams, NexaSignTransactionParams, NexaSignature, OnekeyFeatures, Params, PassphraseRequestPayload, PolkadotAddress, PolkadotGetAddressParams, PolkadotSignTransactionParams, PolkadotSignedTx, PostMessageEvent, PreviousAddressResult, RESPONSE_EVENT, RefTransaction, ReleaseInfo, ReleaseInfoEvent, ReleaseInfoPayload, RemoteConfigResponse, RequestContext, Response, ScdoAddress, ScdoGetAddressParams, ScdoSignMessageParams, ScdoSignTransactionParams, ScdoSignedTx, SdkTracingContext, SearchDevice, SignedTransaction, SolSignMessageParams, SolSignMessageResponse, SolSignOffchainMessageParams, SolSignOffchainMessageResponse, SolanaAddress, SolanaGetAddressParams, SolanaSignTransactionParams, SolanaSignedTx, StarcoinAddress, StarcoinGetAddressParams, StarcoinGetPublicKeyParams, StarcoinPublicKey, StarcoinSignMessageParams, StarcoinSignTransactionParams, StarcoinVerifyMessageParams, StellarAddress, StellarAsset, StellarGetAddressParams, StellarOperation, StellarSignTransactionParams, StellarTransaction, StrictFeatures, Success, SuiAddress, SuiGetAddressParams, SuiGetPublicKeyParams, SuiPublicKey, SuiSignMessageParams, SuiSignTransactionParams, SuiSignedTx, SupportFeatureType, SupportFeatures, TonAddress, TonGetAddressParams, TonSignMessageParams, TonSignProofParams, TopLevelInjectApi, TransactionOptions, TransportReleaseStatus, TronAddress, TronDelegateResourceContract, TronFreezeBalanceV2Contract, TronGetAddressParams, TronSignMessageParams, TronSignTransactionParams, TronTransaction, TronTransactionContract, TronTransferContract, TronTriggerSmartContract, TronUnDelegateResourceContract, TronUnfreezeBalanceV2Contract, TronWithdrawBalanceContract, TronWithdrawExpireUnfreezeContract, UI_EVENT, UI_REQUEST, UI_RESPONSE, UiEvent, UiEventMessage, UiPromise, UiPromiseResponse, UiRequestButton, UiRequestDeviceAction, UiRequestFirmwareProgressing, UiRequestPassphrase, UiRequestPassphraseOnDevice, UiRequestSelectDeviceForSwitchFirmwareWebDevice, UiRequestSelectDeviceInBootloaderForWebDevice, UiRequestWithoutPayload, UiResponseEvent, UiResponseMessage, UiResponsePassphrase, UiResponsePin, UiResponseSelectDeviceForSwitchFirmwareWebDevice, UiResponseSelectDeviceInBootloaderForWebDevice, UnavailableCapabilities, UnavailableCapability, Unsuccessful, VersionArray, checkNeedUpdateBootForClassicAndMini, checkNeedUpdateBootForTouch, cleanupCallback, cleanupSdkInstance, completeRequestContext, corsValidator, createDeviceMessage, createErrorMessage, createFirmwareMessage, createIFrameMessage, createLogMessage, createRequestContext, createResponseMessage, createSdkTracingContext, createUiMessage, createUiResponse, HardwareSdk as default, enableLog, executeCallback, formatRequestContext, generateInstanceId, generateSdkInstanceId, getActiveRequestsByDeviceInstance, getDeviceBLEFirmwareVersion, getDeviceBleName, getDeviceBoardloaderVersion, getDeviceBootloaderVersion, getDeviceFirmwareVersion, getDeviceLabel, getDeviceType, getDeviceTypeByBleName, getDeviceUUID, getEnv, getFirmwareType, getFirmwareUpdateField, getFirmwareUpdateFieldArray, getHDPath, getHomeScreenDefaultList, getHomeScreenHex, getHomeScreenSize, getLog, getLogger, getMethodVersionRange, getOutputScriptType, getSDKVersion, getScriptType, getTimeStamp, httpRequest, init as initCore, isBleConnect, isValidVersionArray, isValidVersionString, normalizeVersionArray, parseConnectSettings, parseMessage, patchFeatures, safeThrowError, setLoggerPostMessage, supportInputPinOnSoftware, switchTransport, transportEnv, updateRequestContext, versionCompare, versionSplit, wait, whitelist, whitelistExtension };
|
package/dist/index.js
CHANGED
|
@@ -26190,6 +26190,7 @@ const UI_REQUEST = {
|
|
|
26190
26190
|
REQUEST_PASSPHRASE: 'ui-request_passphrase',
|
|
26191
26191
|
REQUEST_PASSPHRASE_ON_DEVICE: 'ui-request_passphrase_on_device',
|
|
26192
26192
|
REQUEST_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE: 'ui-request_select_device_in_bootloader_for_web_device',
|
|
26193
|
+
REQUEST_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE: 'ui-request_select_device_for_switch_firmware_web_device',
|
|
26193
26194
|
CLOSE_UI_WINDOW: 'ui-close_window',
|
|
26194
26195
|
CLOSE_UI_PIN_WINDOW: 'ui-close_pin_window',
|
|
26195
26196
|
DEVICE_PROGRESS: 'ui-device_progress',
|
|
@@ -26231,6 +26232,7 @@ exports.FirmwareUpdateTipMessage = void 0;
|
|
|
26231
26232
|
FirmwareUpdateTipMessage["AutoRebootToBootloader"] = "AutoRebootToBootloader";
|
|
26232
26233
|
FirmwareUpdateTipMessage["GoToBootloaderSuccess"] = "GoToBootloaderSuccess";
|
|
26233
26234
|
FirmwareUpdateTipMessage["SelectDeviceInBootloaderForWebDevice"] = "SelectDeviceInBootloaderForWebDevice";
|
|
26235
|
+
FirmwareUpdateTipMessage["SwitchFirmwareReconnectDevice"] = "SwitchFirmwareReconnectDevice";
|
|
26234
26236
|
FirmwareUpdateTipMessage["ConfirmOnDevice"] = "ConfirmOnDevice";
|
|
26235
26237
|
FirmwareUpdateTipMessage["FirmwareEraseSuccess"] = "FirmwareEraseSuccess";
|
|
26236
26238
|
FirmwareUpdateTipMessage["StartTransferData"] = "StartTransferData";
|
|
@@ -26275,6 +26277,7 @@ const UI_RESPONSE = {
|
|
|
26275
26277
|
RECEIVE_PIN: 'ui-receive_pin',
|
|
26276
26278
|
RECEIVE_PASSPHRASE: 'ui-receive_passphrase',
|
|
26277
26279
|
SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE: 'ui-receive_select-device-in-bootloader-for-web-device',
|
|
26280
|
+
SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE: 'ui-receive_select-device-for-switch-firmware-web-device',
|
|
26278
26281
|
};
|
|
26279
26282
|
const createUiResponse = (type, payload) => ({
|
|
26280
26283
|
event: UI_EVENT,
|
|
@@ -26302,6 +26305,7 @@ const DEVICE = {
|
|
|
26302
26305
|
WORD: 'word',
|
|
26303
26306
|
SUPPORT_FEATURES: 'support_features',
|
|
26304
26307
|
SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE: 'select_device_in_bootloader_for_web_device',
|
|
26308
|
+
SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE: 'select_device_for_switch_firmware_web_device',
|
|
26305
26309
|
FEATURES: 'features',
|
|
26306
26310
|
};
|
|
26307
26311
|
const createDeviceMessage = (type, payload) => ({
|
|
@@ -27401,7 +27405,6 @@ class Device extends events.exports {
|
|
|
27401
27405
|
});
|
|
27402
27406
|
}
|
|
27403
27407
|
_runInner(fn, options) {
|
|
27404
|
-
var _a;
|
|
27405
27408
|
return __awaiter(this, void 0, void 0, function* () {
|
|
27406
27409
|
if (!this.isUsedHere() || this.commands.disposed) {
|
|
27407
27410
|
const env = DataManager.getSettings('env');
|
|
@@ -27443,7 +27446,6 @@ class Device extends events.exports {
|
|
|
27443
27446
|
if (this.runPromise) {
|
|
27444
27447
|
this.runPromise.reject(e);
|
|
27445
27448
|
}
|
|
27446
|
-
Log$a.debug('=====>>>>>> _runInner error: ', e);
|
|
27447
27449
|
if (e instanceof hdShared.HardwareError &&
|
|
27448
27450
|
(e.errorCode === hdShared.HardwareErrorCode.DeviceInitializeFailed ||
|
|
27449
27451
|
e.errorCode === hdShared.HardwareErrorCode.DeviceInterruptedFromOutside ||
|
|
@@ -27453,10 +27455,6 @@ class Device extends events.exports {
|
|
|
27453
27455
|
e.errorCode === hdShared.HardwareErrorCode.PinInvalid ||
|
|
27454
27456
|
e.errorCode === hdShared.HardwareErrorCode.PinCancelled ||
|
|
27455
27457
|
e.errorCode === hdShared.HardwareErrorCode.UnexpectPassphrase)) {
|
|
27456
|
-
if (e.errorCode === hdShared.HardwareErrorCode.DeviceInitializeFailed ||
|
|
27457
|
-
e.errorCode === hdShared.HardwareErrorCode.ResponseUnexpectTypeError) {
|
|
27458
|
-
yield ((_a = this.deviceConnector) === null || _a === void 0 ? void 0 : _a.disconnect(this.mainId));
|
|
27459
|
-
}
|
|
27460
27458
|
yield this.release();
|
|
27461
27459
|
Log$a.debug(`error code ${e.errorCode} release device, mainId: ${this.mainId}`);
|
|
27462
27460
|
}
|
|
@@ -29420,6 +29418,22 @@ class FirmwareUpdateBaseMethod extends BaseMethod {
|
|
|
29420
29418
|
});
|
|
29421
29419
|
});
|
|
29422
29420
|
}
|
|
29421
|
+
_promptDeviceForSwitchFirmwareWebDevice() {
|
|
29422
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29423
|
+
return new Promise((resolve, reject) => {
|
|
29424
|
+
if (this.device.listenerCount(DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE) > 0) {
|
|
29425
|
+
this.device.emit(DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE, this.device, (err, deviceId) => {
|
|
29426
|
+
if (err) {
|
|
29427
|
+
reject(err);
|
|
29428
|
+
}
|
|
29429
|
+
else {
|
|
29430
|
+
resolve(deviceId);
|
|
29431
|
+
}
|
|
29432
|
+
});
|
|
29433
|
+
}
|
|
29434
|
+
});
|
|
29435
|
+
});
|
|
29436
|
+
}
|
|
29423
29437
|
checkDeviceToBootloader(connectId) {
|
|
29424
29438
|
var _a, _b;
|
|
29425
29439
|
this.checkPromise = hdShared.createDeferred();
|
|
@@ -30238,6 +30252,7 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
|
|
|
30238
30252
|
constructor() {
|
|
30239
30253
|
super(...arguments);
|
|
30240
30254
|
this.checkPromise = null;
|
|
30255
|
+
this.isSwitchFirmware = false;
|
|
30241
30256
|
}
|
|
30242
30257
|
init() {
|
|
30243
30258
|
this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.NOT_INITIALIZE];
|
|
@@ -30283,6 +30298,7 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
|
|
|
30283
30298
|
}
|
|
30284
30299
|
const deviceFirmwareType = getFirmwareType(features);
|
|
30285
30300
|
const firmwareType = (_a = this.params.firmwareType) !== null && _a !== void 0 ? _a : deviceFirmwareType;
|
|
30301
|
+
this.isSwitchFirmware = firmwareType !== deviceFirmwareType;
|
|
30286
30302
|
let resourceBinary = null;
|
|
30287
30303
|
let fwBinaryMap = [];
|
|
30288
30304
|
let bootloaderBinary = null;
|
|
@@ -30591,6 +30607,14 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
|
|
|
30591
30607
|
}
|
|
30592
30608
|
return '';
|
|
30593
30609
|
}
|
|
30610
|
+
canPromptWebUsbSwitchFirmwareReconnect() {
|
|
30611
|
+
if (!this.isSwitchFirmware) {
|
|
30612
|
+
return false;
|
|
30613
|
+
}
|
|
30614
|
+
return (DataManager.isBrowserWebUsb(DataManager.getSettings('env')) &&
|
|
30615
|
+
!this.payload.skipWebDevicePrompt &&
|
|
30616
|
+
this.device.listenerCount(DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE) > 0);
|
|
30617
|
+
}
|
|
30594
30618
|
waitForDeviceReconnect(timeout) {
|
|
30595
30619
|
var _a, _b, _c, _d;
|
|
30596
30620
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -30620,15 +30644,13 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
|
|
|
30620
30644
|
else {
|
|
30621
30645
|
const deviceDiff = yield ((_b = this.device.deviceConnector) === null || _b === void 0 ? void 0 : _b.enumerate());
|
|
30622
30646
|
const devicesDescriptor = (_c = deviceDiff === null || deviceDiff === void 0 ? void 0 : deviceDiff.descriptors) !== null && _c !== void 0 ? _c : [];
|
|
30623
|
-
const
|
|
30624
|
-
|
|
30625
|
-
this.device.listenerCount(DEVICE.SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE) > 0;
|
|
30626
|
-
if (canPromptWebUsbBootloader) {
|
|
30647
|
+
const canPromptSwitchFirmwareReconnect = this.canPromptWebUsbSwitchFirmwareReconnect();
|
|
30648
|
+
if (canPromptSwitchFirmwareReconnect) {
|
|
30627
30649
|
webUsbCheckCount += 1;
|
|
30628
30650
|
if (webUsbCheckCount > 4) {
|
|
30629
|
-
this.postTipMessage(exports.FirmwareUpdateTipMessage.
|
|
30651
|
+
this.postTipMessage(exports.FirmwareUpdateTipMessage.SwitchFirmwareReconnectDevice);
|
|
30630
30652
|
try {
|
|
30631
|
-
yield this.
|
|
30653
|
+
yield this._promptDeviceForSwitchFirmwareWebDevice();
|
|
30632
30654
|
}
|
|
30633
30655
|
catch (e) {
|
|
30634
30656
|
Log$4.log('WebUSB re-authorization failed: ', e);
|
|
@@ -39609,19 +39631,6 @@ class DeviceConnector {
|
|
|
39609
39631
|
}
|
|
39610
39632
|
});
|
|
39611
39633
|
}
|
|
39612
|
-
disconnect(session) {
|
|
39613
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
39614
|
-
try {
|
|
39615
|
-
Log$2.debug('=====>>>>>> disconnect: ', session);
|
|
39616
|
-
if (this.transport.disconnect && !!session) {
|
|
39617
|
-
yield this.transport.disconnect(session);
|
|
39618
|
-
}
|
|
39619
|
-
}
|
|
39620
|
-
catch (error) {
|
|
39621
|
-
safeThrowError(error);
|
|
39622
|
-
}
|
|
39623
|
-
});
|
|
39624
|
-
}
|
|
39625
39634
|
promptDeviceAccess() {
|
|
39626
39635
|
if (!this.transport.promptDeviceAccess) {
|
|
39627
39636
|
return Promise.resolve(null);
|
|
@@ -39940,6 +39949,7 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
|
|
|
39940
39949
|
device.on(DEVICE.PASSPHRASE_ON_DEVICE, onEnterPassphraseOnDeviceHandler);
|
|
39941
39950
|
device.on(DEVICE.FEATURES, onDeviceFeaturesHandler);
|
|
39942
39951
|
device.on(DEVICE.SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE, onSelectDeviceInBootloaderForWebDeviceHandler);
|
|
39952
|
+
device.on(DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE, onSelectDeviceForSwitchFirmwareWebDeviceHandler);
|
|
39943
39953
|
try {
|
|
39944
39954
|
if (method.connectId) {
|
|
39945
39955
|
yield context.waitForCallbackTasks(method.connectId);
|
|
@@ -40495,6 +40505,15 @@ const onSelectDeviceInBootloaderForWebDeviceHandler = (...[device, callback]) =>
|
|
|
40495
40505
|
const uiResp = yield uiPromise.promise;
|
|
40496
40506
|
callback(null, uiResp.payload.deviceId);
|
|
40497
40507
|
});
|
|
40508
|
+
const onSelectDeviceForSwitchFirmwareWebDeviceHandler = (...[device, callback]) => __awaiter(void 0, void 0, void 0, function* () {
|
|
40509
|
+
Log.debug('onSelectDeviceForSwitchFirmwareWebDeviceHandler');
|
|
40510
|
+
const uiPromise = createUiPromise(UI_RESPONSE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE, device);
|
|
40511
|
+
postMessage(createUiMessage(UI_REQUEST.REQUEST_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE, {
|
|
40512
|
+
device: device.toMessageObject(),
|
|
40513
|
+
}));
|
|
40514
|
+
const uiResp = yield uiPromise.promise;
|
|
40515
|
+
callback(null, uiResp.payload.deviceId);
|
|
40516
|
+
});
|
|
40498
40517
|
const postMessage = (message) => {
|
|
40499
40518
|
if (!_core) {
|
|
40500
40519
|
return;
|
|
@@ -40542,7 +40561,8 @@ class Core extends events.exports {
|
|
|
40542
40561
|
switch (message.type) {
|
|
40543
40562
|
case UI_RESPONSE.RECEIVE_PIN:
|
|
40544
40563
|
case UI_RESPONSE.RECEIVE_PASSPHRASE:
|
|
40545
|
-
case UI_RESPONSE.SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE:
|
|
40564
|
+
case UI_RESPONSE.SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE:
|
|
40565
|
+
case UI_RESPONSE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE: {
|
|
40546
40566
|
const uiPromise = findUiPromise(message.type);
|
|
40547
40567
|
if (uiPromise) {
|
|
40548
40568
|
Log.log('receive UI Response: ', message.type);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/hd-core",
|
|
3
|
-
"version": "1.1.21
|
|
3
|
+
"version": "1.1.21",
|
|
4
4
|
"description": "Core processes and APIs for communicating with OneKey hardware devices.",
|
|
5
5
|
"author": "OneKey",
|
|
6
6
|
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@onekeyfe/hd-shared": "1.1.21
|
|
29
|
-
"@onekeyfe/hd-transport": "1.1.21
|
|
28
|
+
"@onekeyfe/hd-shared": "1.1.21",
|
|
29
|
+
"@onekeyfe/hd-transport": "1.1.21",
|
|
30
30
|
"axios": "1.12.2",
|
|
31
31
|
"bignumber.js": "^9.0.2",
|
|
32
32
|
"bytebuffer": "^5.0.1",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"@types/w3c-web-usb": "^1.0.10",
|
|
45
45
|
"@types/web-bluetooth": "^0.0.21"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "2c691aee96693b102a0edeca7e7768448090b4d1"
|
|
48
48
|
}
|
|
@@ -41,6 +41,8 @@ export const MIN_UPDATE_V3_BOOTLOADER_VERSION = '2.8.0';
|
|
|
41
41
|
export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareUpdateV3Params> {
|
|
42
42
|
checkPromise: Deferred<any> | null = null;
|
|
43
43
|
|
|
44
|
+
private isSwitchFirmware = false;
|
|
45
|
+
|
|
44
46
|
init() {
|
|
45
47
|
this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.NOT_INITIALIZE];
|
|
46
48
|
this.requireDeviceMode = [];
|
|
@@ -91,6 +93,7 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
91
93
|
|
|
92
94
|
const deviceFirmwareType = getFirmwareType(features);
|
|
93
95
|
const firmwareType = this.params.firmwareType ?? deviceFirmwareType;
|
|
96
|
+
this.isSwitchFirmware = firmwareType !== deviceFirmwareType;
|
|
94
97
|
|
|
95
98
|
let resourceBinary: ArrayBuffer | null = null;
|
|
96
99
|
let fwBinaryMap: { fileName: string; binary: ArrayBuffer }[] = [];
|
|
@@ -468,6 +471,17 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
468
471
|
return '';
|
|
469
472
|
}
|
|
470
473
|
|
|
474
|
+
private canPromptWebUsbSwitchFirmwareReconnect(): boolean {
|
|
475
|
+
if (!this.isSwitchFirmware) {
|
|
476
|
+
return false;
|
|
477
|
+
}
|
|
478
|
+
return (
|
|
479
|
+
DataManager.isBrowserWebUsb(DataManager.getSettings('env')) &&
|
|
480
|
+
!this.payload.skipWebDevicePrompt &&
|
|
481
|
+
this.device.listenerCount(DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE) > 0
|
|
482
|
+
);
|
|
483
|
+
}
|
|
484
|
+
|
|
471
485
|
/**
|
|
472
486
|
* @description Reconnect device - While update with bootloader, it will reconnect device
|
|
473
487
|
* @param {number} timeout - The timeout for the reconnection
|
|
@@ -503,17 +517,14 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
503
517
|
const deviceDiff = await this.device.deviceConnector?.enumerate();
|
|
504
518
|
const devicesDescriptor = deviceDiff?.descriptors ?? [];
|
|
505
519
|
|
|
506
|
-
const
|
|
507
|
-
DataManager.isBrowserWebUsb(DataManager.getSettings('env')) &&
|
|
508
|
-
!this.payload.skipWebDevicePrompt &&
|
|
509
|
-
this.device.listenerCount(DEVICE.SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE) > 0;
|
|
520
|
+
const canPromptSwitchFirmwareReconnect = this.canPromptWebUsbSwitchFirmwareReconnect();
|
|
510
521
|
|
|
511
|
-
if (
|
|
522
|
+
if (canPromptSwitchFirmwareReconnect) {
|
|
512
523
|
webUsbCheckCount += 1;
|
|
513
524
|
if (webUsbCheckCount > 4) {
|
|
514
|
-
this.postTipMessage(FirmwareUpdateTipMessage.
|
|
525
|
+
this.postTipMessage(FirmwareUpdateTipMessage.SwitchFirmwareReconnectDevice);
|
|
515
526
|
try {
|
|
516
|
-
await this.
|
|
527
|
+
await this._promptDeviceForSwitchFirmwareWebDevice();
|
|
517
528
|
} catch (e) {
|
|
518
529
|
Log.log('WebUSB re-authorization failed: ', e);
|
|
519
530
|
}
|
|
@@ -110,6 +110,24 @@ export class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
|
|
|
110
110
|
});
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
+
protected async _promptDeviceForSwitchFirmwareWebDevice() {
|
|
114
|
+
return new Promise((resolve, reject) => {
|
|
115
|
+
if (this.device.listenerCount(DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE) > 0) {
|
|
116
|
+
this.device.emit(
|
|
117
|
+
DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE,
|
|
118
|
+
this.device,
|
|
119
|
+
(err, deviceId) => {
|
|
120
|
+
if (err) {
|
|
121
|
+
reject(err);
|
|
122
|
+
} else {
|
|
123
|
+
resolve(deviceId);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
|
|
113
131
|
checkDeviceToBootloader(connectId: string | undefined) {
|
|
114
132
|
this.checkPromise = createDeferred();
|
|
115
133
|
const env = DataManager.getSettings('env');
|
package/src/core/index.ts
CHANGED
|
@@ -323,6 +323,10 @@ const onCallDevice = async (
|
|
|
323
323
|
DEVICE.SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE,
|
|
324
324
|
onSelectDeviceInBootloaderForWebDeviceHandler
|
|
325
325
|
);
|
|
326
|
+
device.on(
|
|
327
|
+
DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE,
|
|
328
|
+
onSelectDeviceForSwitchFirmwareWebDeviceHandler
|
|
329
|
+
);
|
|
326
330
|
|
|
327
331
|
try {
|
|
328
332
|
if (method.connectId) {
|
|
@@ -1098,6 +1102,23 @@ const onSelectDeviceInBootloaderForWebDeviceHandler = async (
|
|
|
1098
1102
|
callback(null, uiResp.payload.deviceId);
|
|
1099
1103
|
};
|
|
1100
1104
|
|
|
1105
|
+
const onSelectDeviceForSwitchFirmwareWebDeviceHandler = async (
|
|
1106
|
+
...[device, callback]: [...DeviceEvents['select_device_for_switch_firmware_web_device']]
|
|
1107
|
+
) => {
|
|
1108
|
+
Log.debug('onSelectDeviceForSwitchFirmwareWebDeviceHandler');
|
|
1109
|
+
const uiPromise = createUiPromise(
|
|
1110
|
+
UI_RESPONSE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE,
|
|
1111
|
+
device
|
|
1112
|
+
);
|
|
1113
|
+
postMessage(
|
|
1114
|
+
createUiMessage(UI_REQUEST.REQUEST_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE, {
|
|
1115
|
+
device: device.toMessageObject() as KnownDevice,
|
|
1116
|
+
})
|
|
1117
|
+
);
|
|
1118
|
+
const uiResp = await uiPromise.promise;
|
|
1119
|
+
callback(null, uiResp.payload.deviceId);
|
|
1120
|
+
};
|
|
1121
|
+
|
|
1101
1122
|
/**
|
|
1102
1123
|
* Emit message to listener (parent).
|
|
1103
1124
|
* Clear method reference from _callMethods
|
|
@@ -1169,7 +1190,8 @@ export default class Core extends EventEmitter {
|
|
|
1169
1190
|
switch (message.type) {
|
|
1170
1191
|
case UI_RESPONSE.RECEIVE_PIN:
|
|
1171
1192
|
case UI_RESPONSE.RECEIVE_PASSPHRASE:
|
|
1172
|
-
case UI_RESPONSE.SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE:
|
|
1193
|
+
case UI_RESPONSE.SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE:
|
|
1194
|
+
case UI_RESPONSE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE: {
|
|
1173
1195
|
const uiPromise = findUiPromise(message.type);
|
|
1174
1196
|
if (uiPromise) {
|
|
1175
1197
|
Log.log('receive UI Response: ', message.type);
|
package/src/device/Device.ts
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import EventEmitter from 'events';
|
|
2
2
|
import semver from 'semver';
|
|
3
|
-
import { Enum_Capability } from '@onekeyfe/hd-transport';
|
|
3
|
+
import { OneKeyDeviceInfo as DeviceDescriptor, Enum_Capability } from '@onekeyfe/hd-transport';
|
|
4
4
|
import {
|
|
5
|
+
createDeferred,
|
|
6
|
+
Deferred,
|
|
5
7
|
EDeviceType,
|
|
6
8
|
ERRORS,
|
|
7
9
|
HardwareError,
|
|
8
10
|
HardwareErrorCode,
|
|
9
|
-
createDeferred,
|
|
10
11
|
} from '@onekeyfe/hd-shared';
|
|
11
|
-
|
|
12
12
|
import {
|
|
13
|
-
LoggerNames,
|
|
14
13
|
getDeviceBLEFirmwareVersion,
|
|
15
14
|
getDeviceBleName,
|
|
16
15
|
getDeviceFirmwareVersion,
|
|
@@ -19,6 +18,7 @@ import {
|
|
|
19
18
|
getDeviceUUID,
|
|
20
19
|
getLogger,
|
|
21
20
|
getMethodVersionRange,
|
|
21
|
+
LoggerNames,
|
|
22
22
|
} from '../utils';
|
|
23
23
|
import {
|
|
24
24
|
fixFeaturesFirmwareVersion,
|
|
@@ -26,31 +26,29 @@ import {
|
|
|
26
26
|
} from '../utils/deviceFeaturesUtils';
|
|
27
27
|
import { generateInstanceId } from '../utils/tracing';
|
|
28
28
|
|
|
29
|
+
import type DeviceConnector from './DeviceConnector';
|
|
29
30
|
// eslint-disable-next-line import/no-cycle
|
|
30
|
-
import { DeviceCommands } from './DeviceCommands';
|
|
31
|
+
import { DeviceCommands, PassphrasePromptResponse } from './DeviceCommands';
|
|
32
|
+
|
|
31
33
|
import {
|
|
32
34
|
type DeviceFirmwareRange,
|
|
33
|
-
type Device as DeviceTyped,
|
|
34
35
|
EOneKeyDeviceMode,
|
|
36
|
+
type Device as DeviceTyped,
|
|
35
37
|
type Features,
|
|
36
38
|
type UnavailableCapabilities,
|
|
37
39
|
} from '../types';
|
|
38
|
-
import {
|
|
39
|
-
|
|
40
|
-
import TransportManager from '../data-manager/TransportManager';
|
|
41
|
-
import { toHardened } from '../api/helpers/pathUtils';
|
|
42
|
-
import { existCapability } from '../utils/capabilitieUtils';
|
|
43
|
-
|
|
44
|
-
import type { PROTO } from '../constants';
|
|
45
|
-
import type {
|
|
40
|
+
import {
|
|
41
|
+
DEVICE,
|
|
46
42
|
DeviceButtonRequestPayload,
|
|
47
43
|
DeviceFeaturesPayload,
|
|
48
44
|
PassphraseRequestPayload,
|
|
45
|
+
UI_REQUEST,
|
|
49
46
|
} from '../events';
|
|
50
|
-
import
|
|
51
|
-
import
|
|
52
|
-
import
|
|
53
|
-
import
|
|
47
|
+
import { PROTO } from '../constants';
|
|
48
|
+
import { DataManager } from '../data-manager';
|
|
49
|
+
import TransportManager from '../data-manager/TransportManager';
|
|
50
|
+
import { toHardened } from '../api/helpers/pathUtils';
|
|
51
|
+
import { existCapability } from '../utils/capabilitieUtils';
|
|
54
52
|
|
|
55
53
|
export type InitOptions = {
|
|
56
54
|
initSession?: boolean;
|
|
@@ -84,6 +82,10 @@ export interface DeviceEvents {
|
|
|
84
82
|
Device,
|
|
85
83
|
(err: any, deviceId: string) => void
|
|
86
84
|
];
|
|
85
|
+
[DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE]: [
|
|
86
|
+
Device,
|
|
87
|
+
(err: any, deviceId: string) => void
|
|
88
|
+
];
|
|
87
89
|
}
|
|
88
90
|
|
|
89
91
|
export interface Device {
|
|
@@ -591,8 +593,6 @@ export class Device extends EventEmitter {
|
|
|
591
593
|
this.runPromise.reject(e);
|
|
592
594
|
}
|
|
593
595
|
|
|
594
|
-
Log.debug('=====>>>>>> _runInner error: ', e);
|
|
595
|
-
|
|
596
596
|
if (
|
|
597
597
|
e instanceof HardwareError &&
|
|
598
598
|
(e.errorCode === HardwareErrorCode.DeviceInitializeFailed ||
|
|
@@ -604,12 +604,6 @@ export class Device extends EventEmitter {
|
|
|
604
604
|
e.errorCode === HardwareErrorCode.PinCancelled ||
|
|
605
605
|
e.errorCode === HardwareErrorCode.UnexpectPassphrase)
|
|
606
606
|
) {
|
|
607
|
-
if (
|
|
608
|
-
e.errorCode === HardwareErrorCode.DeviceInitializeFailed ||
|
|
609
|
-
e.errorCode === HardwareErrorCode.ResponseUnexpectTypeError
|
|
610
|
-
) {
|
|
611
|
-
await this.deviceConnector?.disconnect(this.mainId);
|
|
612
|
-
}
|
|
613
607
|
await this.release();
|
|
614
608
|
Log.debug(`error code ${e.errorCode} release device, mainId: ${this.mainId}`);
|
|
615
609
|
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
+
import { Transport, OneKeyDeviceInfo as DeviceDescriptor } from '@onekeyfe/hd-transport';
|
|
1
2
|
import { safeThrowError } from '../constants';
|
|
2
3
|
import { DataManager } from '../data-manager';
|
|
3
4
|
import TransportManager from '../data-manager/TransportManager';
|
|
4
|
-
import { DevicePool } from './DevicePool';
|
|
5
|
+
import { DevicePool, DeviceDescriptorDiff } from './DevicePool';
|
|
5
6
|
import { resolveAfter } from '../utils/promiseUtils';
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
import type { DeviceDescriptorDiff } from './DevicePool';
|
|
9
|
-
import type { OneKeyDeviceInfo as DeviceDescriptor, Transport } from '@onekeyfe/hd-transport';
|
|
7
|
+
import { getLogger, LoggerNames } from '../utils';
|
|
10
8
|
|
|
11
9
|
const Log = getLogger(LoggerNames.DeviceConnector);
|
|
12
10
|
|
|
@@ -101,17 +99,6 @@ export default class DeviceConnector {
|
|
|
101
99
|
}
|
|
102
100
|
}
|
|
103
101
|
|
|
104
|
-
async disconnect(session: string | undefined | null) {
|
|
105
|
-
try {
|
|
106
|
-
Log.debug('=====>>>>>> disconnect: ', session);
|
|
107
|
-
if (this.transport.disconnect && !!session) {
|
|
108
|
-
await this.transport.disconnect(session);
|
|
109
|
-
}
|
|
110
|
-
} catch (error) {
|
|
111
|
-
safeThrowError(error);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
102
|
promptDeviceAccess(): Promise<USBDevice | BluetoothDevice | null> {
|
|
116
103
|
if (!this.transport.promptDeviceAccess) {
|
|
117
104
|
return Promise.resolve(null);
|
package/src/events/device.ts
CHANGED
|
@@ -26,6 +26,7 @@ export const DEVICE = {
|
|
|
26
26
|
WORD: 'word',
|
|
27
27
|
SUPPORT_FEATURES: 'support_features',
|
|
28
28
|
SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE: 'select_device_in_bootloader_for_web_device',
|
|
29
|
+
SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE: 'select_device_for_switch_firmware_web_device',
|
|
29
30
|
|
|
30
31
|
FEATURES: 'features',
|
|
31
32
|
} as const;
|
package/src/events/ui-request.ts
CHANGED
|
@@ -13,6 +13,8 @@ export const UI_REQUEST = {
|
|
|
13
13
|
REQUEST_PASSPHRASE_ON_DEVICE: 'ui-request_passphrase_on_device',
|
|
14
14
|
REQUEST_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE:
|
|
15
15
|
'ui-request_select_device_in_bootloader_for_web_device',
|
|
16
|
+
REQUEST_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE:
|
|
17
|
+
'ui-request_select_device_for_switch_firmware_web_device',
|
|
16
18
|
|
|
17
19
|
CLOSE_UI_WINDOW: 'ui-close_window',
|
|
18
20
|
CLOSE_UI_PIN_WINDOW: 'ui-close_pin_window',
|
|
@@ -106,6 +108,13 @@ export interface UiRequestSelectDeviceInBootloaderForWebDevice {
|
|
|
106
108
|
};
|
|
107
109
|
}
|
|
108
110
|
|
|
111
|
+
export interface UiRequestSelectDeviceForSwitchFirmwareWebDevice {
|
|
112
|
+
type: typeof UI_REQUEST.REQUEST_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE;
|
|
113
|
+
payload: {
|
|
114
|
+
device: Device;
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
|
|
109
118
|
export interface FirmwareProcessing {
|
|
110
119
|
type: typeof UI_REQUEST.FIRMWARE_PROCESSING;
|
|
111
120
|
payload: {
|
|
@@ -156,6 +165,7 @@ export type UiEvent =
|
|
|
156
165
|
| UiRequestPassphraseOnDevice
|
|
157
166
|
| UiRequestPassphrase
|
|
158
167
|
| UiRequestSelectDeviceInBootloaderForWebDevice
|
|
168
|
+
| UiRequestSelectDeviceForSwitchFirmwareWebDevice
|
|
159
169
|
| FirmwareProcessing
|
|
160
170
|
| UiRequestSelectDeviceInBootloaderForWebDevice
|
|
161
171
|
| FirmwareProgress
|
|
@@ -181,6 +191,7 @@ export enum FirmwareUpdateTipMessage {
|
|
|
181
191
|
AutoRebootToBootloader = 'AutoRebootToBootloader',
|
|
182
192
|
GoToBootloaderSuccess = 'GoToBootloaderSuccess',
|
|
183
193
|
SelectDeviceInBootloaderForWebDevice = 'SelectDeviceInBootloaderForWebDevice',
|
|
194
|
+
SwitchFirmwareReconnectDevice = 'SwitchFirmwareReconnectDevice',
|
|
184
195
|
ConfirmOnDevice = 'ConfirmOnDevice',
|
|
185
196
|
FirmwareEraseSuccess = 'FirmwareEraseSuccess',
|
|
186
197
|
StartTransferData = 'StartTransferData',
|
|
@@ -6,6 +6,8 @@ export const UI_RESPONSE = {
|
|
|
6
6
|
RECEIVE_PASSPHRASE: 'ui-receive_passphrase',
|
|
7
7
|
SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE:
|
|
8
8
|
'ui-receive_select-device-in-bootloader-for-web-device',
|
|
9
|
+
SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE:
|
|
10
|
+
'ui-receive_select-device-for-switch-firmware-web-device',
|
|
9
11
|
} as const;
|
|
10
12
|
|
|
11
13
|
export interface UiResponsePin {
|
|
@@ -30,10 +32,18 @@ export interface UiResponseSelectDeviceInBootloaderForWebDevice {
|
|
|
30
32
|
};
|
|
31
33
|
}
|
|
32
34
|
|
|
35
|
+
export interface UiResponseSelectDeviceForSwitchFirmwareWebDevice {
|
|
36
|
+
type: typeof UI_RESPONSE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE;
|
|
37
|
+
payload: {
|
|
38
|
+
deviceId: string;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
33
42
|
export type UiResponseEvent =
|
|
34
43
|
| UiResponsePin
|
|
35
44
|
| UiResponsePassphrase
|
|
36
|
-
| UiResponseSelectDeviceInBootloaderForWebDevice
|
|
45
|
+
| UiResponseSelectDeviceInBootloaderForWebDevice
|
|
46
|
+
| UiResponseSelectDeviceForSwitchFirmwareWebDevice;
|
|
37
47
|
|
|
38
48
|
export type UiResponseMessage = UiResponseEvent & { event: typeof UI_EVENT };
|
|
39
49
|
|