@onekeyfe/hd-core 1.1.21-alpha.1 → 1.1.21-alpha.3
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 +3 -0
- package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
- package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts +2 -3
- 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 +4 -0
- package/dist/device/Device.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 +23 -3
- package/dist/index.js +86 -21
- package/package.json +4 -4
- package/src/api/FirmwareUpdateV3.ts +75 -3
- package/src/api/firmware/FirmwareUpdateBaseMethod.ts +21 -28
- package/src/core/index.ts +23 -1
- package/src/device/Device.ts +4 -0
- 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;
|
|
@@ -16,7 +17,9 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
16
17
|
private prepareFirmwareAndBleBinary;
|
|
17
18
|
private executeUpdate;
|
|
18
19
|
private extractUpdateModeProgress;
|
|
20
|
+
private isGetFeaturesTimeoutError;
|
|
19
21
|
private normalizeErrorMessage;
|
|
22
|
+
private canPromptWebUsbSwitchFirmwareReconnect;
|
|
20
23
|
waitForDeviceReconnect(timeout: number): Promise<void>;
|
|
21
24
|
}
|
|
22
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;
|
|
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"}
|
|
@@ -7,16 +7,15 @@ import type { Deferred } from '@onekeyfe/hd-shared';
|
|
|
7
7
|
import type { TypedResponseMessage } from '../../device/DeviceCommands';
|
|
8
8
|
export declare class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
|
|
9
9
|
checkPromise: Deferred<any> | null;
|
|
10
|
-
protected hasPromptedWebUsbBootloaderReauth: boolean;
|
|
11
10
|
init(): void;
|
|
12
11
|
run(): Promise<any>;
|
|
13
12
|
isBleReconnect(): boolean;
|
|
14
13
|
postTipMessage: (message: IFirmwareUpdateTipMessage) => void;
|
|
15
14
|
postProcessingMessage: (type: 'firmware' | 'ble' | 'bootloader' | 'resource') => void;
|
|
16
15
|
postProgressMessage: (progress: number, progressType: IFirmwareUpdateProgressType) => void;
|
|
17
|
-
|
|
16
|
+
protected _promptDeviceInBootloaderForWebDevice(): Promise<unknown>;
|
|
17
|
+
protected _promptDeviceForSwitchFirmwareWebDevice(): Promise<unknown>;
|
|
18
18
|
checkDeviceToBootloader(connectId: string | undefined): void;
|
|
19
|
-
protected ensureWebUsbBootloaderReauthPrompt(): Promise<void>;
|
|
20
19
|
private _checkDeviceInBootloaderMode;
|
|
21
20
|
enterBootloaderMode(): Promise<true | undefined>;
|
|
22
21
|
startEmmcFirmwareUpdate({ path }: {
|
|
@@ -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,
|
|
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
|
@@ -30,6 +30,10 @@ export interface DeviceEvents {
|
|
|
30
30
|
Device,
|
|
31
31
|
(err: any, deviceId: string) => void
|
|
32
32
|
];
|
|
33
|
+
[DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE]: [
|
|
34
|
+
Device,
|
|
35
|
+
(err: any, deviceId: string) => void
|
|
36
|
+
];
|
|
33
37
|
}
|
|
34
38
|
export interface Device {
|
|
35
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":"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"}
|
|
1
|
+
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../../src/device/Device.ts"],"names":[],"mappings":"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"}
|
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
|
@@ -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
|
};
|
|
@@ -3024,6 +3040,10 @@ interface DeviceEvents {
|
|
|
3024
3040
|
Device,
|
|
3025
3041
|
(err: any, deviceId: string) => void
|
|
3026
3042
|
];
|
|
3043
|
+
[DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE]: [
|
|
3044
|
+
Device,
|
|
3045
|
+
(err: any, deviceId: string) => void
|
|
3046
|
+
];
|
|
3027
3047
|
}
|
|
3028
3048
|
interface Device {
|
|
3029
3049
|
on<K extends keyof DeviceEvents>(type: K, listener: (...event: DeviceEvents[K]) => void): this;
|
|
@@ -3345,4 +3365,4 @@ declare const HardwareSdk: ({ init, call, dispose, eventEmitter, uiResponse, can
|
|
|
3345
3365
|
declare const HardwareSDKLowLevel: ({ init, call, dispose, eventEmitter, addHardwareGlobalEventListener, uiResponse, cancel, updateSettings, switchTransport, }: LowLevelInjectApi) => LowLevelCoreApi;
|
|
3346
3366
|
declare const HardwareTopLevelSdk: () => CoreApi;
|
|
3347
3367
|
|
|
3348
|
-
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) => ({
|
|
@@ -29369,7 +29373,6 @@ class FirmwareUpdateBaseMethod extends BaseMethod {
|
|
|
29369
29373
|
constructor() {
|
|
29370
29374
|
super(...arguments);
|
|
29371
29375
|
this.checkPromise = null;
|
|
29372
|
-
this.hasPromptedWebUsbBootloaderReauth = false;
|
|
29373
29376
|
this.postTipMessage = (message) => {
|
|
29374
29377
|
this.postMessage(createUiMessage(UI_REQUEST.FIRMWARE_TIP, {
|
|
29375
29378
|
device: this.device.toMessageObject(),
|
|
@@ -29415,6 +29418,22 @@ class FirmwareUpdateBaseMethod extends BaseMethod {
|
|
|
29415
29418
|
});
|
|
29416
29419
|
});
|
|
29417
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
|
+
}
|
|
29418
29437
|
checkDeviceToBootloader(connectId) {
|
|
29419
29438
|
var _a, _b;
|
|
29420
29439
|
this.checkPromise = hdShared.createDeferred();
|
|
@@ -29477,23 +29496,6 @@ class FirmwareUpdateBaseMethod extends BaseMethod {
|
|
|
29477
29496
|
}
|
|
29478
29497
|
}, 30000);
|
|
29479
29498
|
}
|
|
29480
|
-
ensureWebUsbBootloaderReauthPrompt() {
|
|
29481
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29482
|
-
if (this.hasPromptedWebUsbBootloaderReauth ||
|
|
29483
|
-
!DataManager.isBrowserWebUsb(DataManager.getSettings('env')) ||
|
|
29484
|
-
this.device.listenerCount(DEVICE.SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE) === 0) {
|
|
29485
|
-
return;
|
|
29486
|
-
}
|
|
29487
|
-
this.hasPromptedWebUsbBootloaderReauth = true;
|
|
29488
|
-
this.postTipMessage(exports.FirmwareUpdateTipMessage.SelectDeviceInBootloaderForWebDevice);
|
|
29489
|
-
try {
|
|
29490
|
-
yield this._promptDeviceInBootloaderForWebDevice();
|
|
29491
|
-
}
|
|
29492
|
-
catch (error) {
|
|
29493
|
-
Log$7.log('WebUSB 设备重新授权失败: ', error);
|
|
29494
|
-
}
|
|
29495
|
-
});
|
|
29496
|
-
}
|
|
29497
29499
|
_checkDeviceInBootloaderMode(connectId, intervalTimer, timeoutTimer) {
|
|
29498
29500
|
var _a, _b, _c, _d, _e;
|
|
29499
29501
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -30250,6 +30252,7 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
|
|
|
30250
30252
|
constructor() {
|
|
30251
30253
|
super(...arguments);
|
|
30252
30254
|
this.checkPromise = null;
|
|
30255
|
+
this.isSwitchFirmware = false;
|
|
30253
30256
|
}
|
|
30254
30257
|
init() {
|
|
30255
30258
|
this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.NOT_INITIALIZE];
|
|
@@ -30295,6 +30298,7 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
|
|
|
30295
30298
|
}
|
|
30296
30299
|
const deviceFirmwareType = getFirmwareType(features);
|
|
30297
30300
|
const firmwareType = (_a = this.params.firmwareType) !== null && _a !== void 0 ? _a : deviceFirmwareType;
|
|
30301
|
+
this.isSwitchFirmware = firmwareType !== deviceFirmwareType;
|
|
30298
30302
|
let resourceBinary = null;
|
|
30299
30303
|
let fwBinaryMap = [];
|
|
30300
30304
|
let bootloaderBinary = null;
|
|
@@ -30504,18 +30508,22 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
|
|
|
30504
30508
|
this.postProgressMessage(0, 'installingFirmware');
|
|
30505
30509
|
const installStartTime = Date.now();
|
|
30506
30510
|
const maxWaitTimeForInstallingFirmware = 5 * 60 * 1000;
|
|
30511
|
+
let getFeaturesTimeoutCount = 0;
|
|
30512
|
+
const maxGetFeaturesTimeoutBeforeReauth = 3;
|
|
30507
30513
|
while (true) {
|
|
30508
30514
|
if (Date.now() - installStartTime > maxWaitTimeForInstallingFirmware) {
|
|
30509
30515
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'Firmware update process timeout after 5 minutes');
|
|
30510
30516
|
}
|
|
30511
30517
|
try {
|
|
30512
30518
|
const typedCall = this.device.getCommands().typedCall.bind(this.device.getCommands());
|
|
30519
|
+
const timeoutMs = 3000;
|
|
30513
30520
|
const featuresRes = yield Promise.race([
|
|
30514
30521
|
typedCall('GetFeatures', 'Features', {}),
|
|
30515
30522
|
new Promise((_, reject) => {
|
|
30516
|
-
setTimeout(() => reject(
|
|
30523
|
+
setTimeout(() => reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodNotResponse, 'GetFeatures timeout', { method: 'GetFeatures', timeoutMs })), timeoutMs);
|
|
30517
30524
|
}),
|
|
30518
30525
|
]);
|
|
30526
|
+
getFeaturesTimeoutCount = 0;
|
|
30519
30527
|
const features = featuresRes.message;
|
|
30520
30528
|
const bootloaderVersion = getDeviceBootloaderVersion(features).join('.');
|
|
30521
30529
|
const bleVersion = getDeviceBLEFirmwareVersion(features).join('.');
|
|
@@ -30532,17 +30540,31 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
|
|
|
30532
30540
|
yield hdShared.wait(1000);
|
|
30533
30541
|
}
|
|
30534
30542
|
catch (error) {
|
|
30543
|
+
Log$4.log('getFeatures error', error);
|
|
30544
|
+
let shouldReconnect = true;
|
|
30535
30545
|
const progress = this.extractUpdateModeProgress(error);
|
|
30536
30546
|
if (progress !== null) {
|
|
30547
|
+
getFeaturesTimeoutCount = 0;
|
|
30537
30548
|
this.postProgressMessage(progress, 'installingFirmware');
|
|
30538
30549
|
yield hdShared.wait(1000);
|
|
30550
|
+
shouldReconnect = false;
|
|
30551
|
+
}
|
|
30552
|
+
else if (this.isGetFeaturesTimeoutError(error)) {
|
|
30553
|
+
getFeaturesTimeoutCount += 1;
|
|
30554
|
+
if (getFeaturesTimeoutCount <= maxGetFeaturesTimeoutBeforeReauth) {
|
|
30555
|
+
yield hdShared.wait(1000);
|
|
30556
|
+
shouldReconnect = false;
|
|
30557
|
+
}
|
|
30539
30558
|
}
|
|
30540
30559
|
else {
|
|
30560
|
+
getFeaturesTimeoutCount = 0;
|
|
30561
|
+
}
|
|
30562
|
+
if (shouldReconnect) {
|
|
30541
30563
|
yield hdShared.wait(1000);
|
|
30542
30564
|
const reconnectTimeout = this.isBleReconnect() && (this.params.bleBinary || this.params.bleVersion)
|
|
30543
30565
|
? 3 * 60 * 1000
|
|
30544
30566
|
: 60 * 1000;
|
|
30545
|
-
|
|
30567
|
+
getFeaturesTimeoutCount = 0;
|
|
30546
30568
|
yield this.waitForDeviceReconnect(reconnectTimeout);
|
|
30547
30569
|
}
|
|
30548
30570
|
}
|
|
@@ -30561,6 +30583,12 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
|
|
|
30561
30583
|
const progress = parseInt(match[1], 10);
|
|
30562
30584
|
return Number.isNaN(progress) ? null : progress;
|
|
30563
30585
|
}
|
|
30586
|
+
isGetFeaturesTimeoutError(error) {
|
|
30587
|
+
var _a;
|
|
30588
|
+
return (error instanceof hdShared.HardwareError &&
|
|
30589
|
+
error.errorCode === hdShared.HardwareErrorCode.CallMethodNotResponse &&
|
|
30590
|
+
((_a = error.params) === null || _a === void 0 ? void 0 : _a.method) === 'GetFeatures');
|
|
30591
|
+
}
|
|
30564
30592
|
normalizeErrorMessage(error) {
|
|
30565
30593
|
if (!error) {
|
|
30566
30594
|
return '';
|
|
@@ -30579,11 +30607,20 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
|
|
|
30579
30607
|
}
|
|
30580
30608
|
return '';
|
|
30581
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
|
+
}
|
|
30582
30618
|
waitForDeviceReconnect(timeout) {
|
|
30583
30619
|
var _a, _b, _c, _d;
|
|
30584
30620
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30585
30621
|
const startTime = Date.now();
|
|
30586
30622
|
const isBleReconnect = this.isBleReconnect();
|
|
30623
|
+
let webUsbCheckCount = 0;
|
|
30587
30624
|
while (Date.now() - startTime < timeout) {
|
|
30588
30625
|
try {
|
|
30589
30626
|
if (isBleReconnect) {
|
|
@@ -30607,6 +30644,23 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
|
|
|
30607
30644
|
else {
|
|
30608
30645
|
const deviceDiff = yield ((_b = this.device.deviceConnector) === null || _b === void 0 ? void 0 : _b.enumerate());
|
|
30609
30646
|
const devicesDescriptor = (_c = deviceDiff === null || deviceDiff === void 0 ? void 0 : deviceDiff.descriptors) !== null && _c !== void 0 ? _c : [];
|
|
30647
|
+
const canPromptSwitchFirmwareReconnect = this.canPromptWebUsbSwitchFirmwareReconnect();
|
|
30648
|
+
if (canPromptSwitchFirmwareReconnect) {
|
|
30649
|
+
webUsbCheckCount += 1;
|
|
30650
|
+
if (webUsbCheckCount > 4) {
|
|
30651
|
+
this.postTipMessage(exports.FirmwareUpdateTipMessage.SwitchFirmwareReconnectDevice);
|
|
30652
|
+
try {
|
|
30653
|
+
yield this._promptDeviceForSwitchFirmwareWebDevice();
|
|
30654
|
+
}
|
|
30655
|
+
catch (e) {
|
|
30656
|
+
Log$4.log('WebUSB re-authorization failed: ', e);
|
|
30657
|
+
}
|
|
30658
|
+
webUsbCheckCount = 0;
|
|
30659
|
+
}
|
|
30660
|
+
}
|
|
30661
|
+
else {
|
|
30662
|
+
webUsbCheckCount = 0;
|
|
30663
|
+
}
|
|
30610
30664
|
const { deviceList } = yield DevicePool.getDevices(devicesDescriptor, this.connectId);
|
|
30611
30665
|
if (deviceList.length === 1) {
|
|
30612
30666
|
this.device.updateFromCache(deviceList[0]);
|
|
@@ -39895,6 +39949,7 @@ const onCallDevice = (context, message, method) => __awaiter(void 0, void 0, voi
|
|
|
39895
39949
|
device.on(DEVICE.PASSPHRASE_ON_DEVICE, onEnterPassphraseOnDeviceHandler);
|
|
39896
39950
|
device.on(DEVICE.FEATURES, onDeviceFeaturesHandler);
|
|
39897
39951
|
device.on(DEVICE.SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE, onSelectDeviceInBootloaderForWebDeviceHandler);
|
|
39952
|
+
device.on(DEVICE.SELECT_DEVICE_FOR_SWITCH_FIRMWARE_WEB_DEVICE, onSelectDeviceForSwitchFirmwareWebDeviceHandler);
|
|
39898
39953
|
try {
|
|
39899
39954
|
if (method.connectId) {
|
|
39900
39955
|
yield context.waitForCallbackTasks(method.connectId);
|
|
@@ -40450,6 +40505,15 @@ const onSelectDeviceInBootloaderForWebDeviceHandler = (...[device, callback]) =>
|
|
|
40450
40505
|
const uiResp = yield uiPromise.promise;
|
|
40451
40506
|
callback(null, uiResp.payload.deviceId);
|
|
40452
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
|
+
});
|
|
40453
40517
|
const postMessage = (message) => {
|
|
40454
40518
|
if (!_core) {
|
|
40455
40519
|
return;
|
|
@@ -40497,7 +40561,8 @@ class Core extends events.exports {
|
|
|
40497
40561
|
switch (message.type) {
|
|
40498
40562
|
case UI_RESPONSE.RECEIVE_PIN:
|
|
40499
40563
|
case UI_RESPONSE.RECEIVE_PASSPHRASE:
|
|
40500
|
-
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: {
|
|
40501
40566
|
const uiPromise = findUiPromise(message.type);
|
|
40502
40567
|
if (uiPromise) {
|
|
40503
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-alpha.
|
|
3
|
+
"version": "1.1.21-alpha.3",
|
|
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-alpha.
|
|
29
|
-
"@onekeyfe/hd-transport": "1.1.21-alpha.
|
|
28
|
+
"@onekeyfe/hd-shared": "1.1.21-alpha.3",
|
|
29
|
+
"@onekeyfe/hd-transport": "1.1.21-alpha.3",
|
|
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": "d2759a545080e3bf0910b2c4ecdf555f77b388bd"
|
|
48
48
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EDeviceType, ERRORS, HardwareErrorCode, wait } from '@onekeyfe/hd-shared';
|
|
1
|
+
import { EDeviceType, ERRORS, HardwareError, HardwareErrorCode, wait } from '@onekeyfe/hd-shared';
|
|
2
2
|
import semver from 'semver';
|
|
3
3
|
import JSZip from 'jszip';
|
|
4
4
|
|
|
@@ -17,6 +17,7 @@ import { getBinary, getSysResourceBinary } from './firmware/getBinary';
|
|
|
17
17
|
import { DataManager } from '../data-manager';
|
|
18
18
|
import { FirmwareUpdateBaseMethod } from './firmware/FirmwareUpdateBaseMethod';
|
|
19
19
|
import { DevicePool } from '../device/DevicePool';
|
|
20
|
+
import { DEVICE } from '../events';
|
|
20
21
|
|
|
21
22
|
import type { FirmwareUpdateV3Params } from '../types/api/firmwareUpdate';
|
|
22
23
|
import type { Deferred, EFirmwareType } from '@onekeyfe/hd-shared';
|
|
@@ -40,6 +41,8 @@ export const MIN_UPDATE_V3_BOOTLOADER_VERSION = '2.8.0';
|
|
|
40
41
|
export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareUpdateV3Params> {
|
|
41
42
|
checkPromise: Deferred<any> | null = null;
|
|
42
43
|
|
|
44
|
+
private isSwitchFirmware = false;
|
|
45
|
+
|
|
43
46
|
init() {
|
|
44
47
|
this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.NOT_INITIALIZE];
|
|
45
48
|
this.requireDeviceMode = [];
|
|
@@ -90,6 +93,7 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
90
93
|
|
|
91
94
|
const deviceFirmwareType = getFirmwareType(features);
|
|
92
95
|
const firmwareType = this.params.firmwareType ?? deviceFirmwareType;
|
|
96
|
+
this.isSwitchFirmware = firmwareType !== deviceFirmwareType;
|
|
93
97
|
|
|
94
98
|
let resourceBinary: ArrayBuffer | null = null;
|
|
95
99
|
let fwBinaryMap: { fileName: string; binary: ArrayBuffer }[] = [];
|
|
@@ -336,6 +340,9 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
336
340
|
const installStartTime = Date.now();
|
|
337
341
|
const maxWaitTimeForInstallingFirmware = 5 * 60 * 1000; // 5 minutes in milliseconds
|
|
338
342
|
|
|
343
|
+
let getFeaturesTimeoutCount = 0;
|
|
344
|
+
const maxGetFeaturesTimeoutBeforeReauth = 3;
|
|
345
|
+
|
|
339
346
|
// eslint-disable-next-line no-constant-condition
|
|
340
347
|
while (true) {
|
|
341
348
|
// Check if timeout exceeded
|
|
@@ -348,12 +355,24 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
348
355
|
|
|
349
356
|
try {
|
|
350
357
|
const typedCall = this.device.getCommands().typedCall.bind(this.device.getCommands());
|
|
358
|
+
const timeoutMs = 3000;
|
|
351
359
|
const featuresRes = await Promise.race<TypedResponseMessage<'Features'>>([
|
|
352
360
|
typedCall('GetFeatures', 'Features', {}),
|
|
353
361
|
new Promise<never>((_, reject) => {
|
|
354
|
-
setTimeout(
|
|
362
|
+
setTimeout(
|
|
363
|
+
() =>
|
|
364
|
+
reject(
|
|
365
|
+
ERRORS.TypedError(
|
|
366
|
+
HardwareErrorCode.CallMethodNotResponse,
|
|
367
|
+
'GetFeatures timeout',
|
|
368
|
+
{ method: 'GetFeatures', timeoutMs }
|
|
369
|
+
)
|
|
370
|
+
),
|
|
371
|
+
timeoutMs
|
|
372
|
+
);
|
|
355
373
|
}),
|
|
356
374
|
]);
|
|
375
|
+
getFeaturesTimeoutCount = 0;
|
|
357
376
|
const features = featuresRes.message;
|
|
358
377
|
const bootloaderVersion = getDeviceBootloaderVersion(features).join('.');
|
|
359
378
|
const bleVersion = getDeviceBLEFirmwareVersion(features).join('.');
|
|
@@ -371,11 +390,26 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
371
390
|
// Still in update mode; continue polling (e.g., iOS may return firmwareVersion 0.0.0 during switches)
|
|
372
391
|
await wait(1000);
|
|
373
392
|
} catch (error) {
|
|
393
|
+
Log.log('getFeatures error', error);
|
|
394
|
+
let shouldReconnect = true;
|
|
374
395
|
const progress = this.extractUpdateModeProgress(error);
|
|
375
396
|
if (progress !== null) {
|
|
397
|
+
getFeaturesTimeoutCount = 0;
|
|
376
398
|
this.postProgressMessage(progress, 'installingFirmware');
|
|
377
399
|
await wait(1000);
|
|
400
|
+
shouldReconnect = false;
|
|
401
|
+
} else if (this.isGetFeaturesTimeoutError(error)) {
|
|
402
|
+
getFeaturesTimeoutCount += 1;
|
|
403
|
+
// Retry transient GetFeatures timeouts to avoid unnecessary WebUSB re-authorization prompts.
|
|
404
|
+
if (getFeaturesTimeoutCount <= maxGetFeaturesTimeoutBeforeReauth) {
|
|
405
|
+
await wait(1000);
|
|
406
|
+
shouldReconnect = false;
|
|
407
|
+
}
|
|
378
408
|
} else {
|
|
409
|
+
getFeaturesTimeoutCount = 0;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
if (shouldReconnect) {
|
|
379
413
|
await wait(1000);
|
|
380
414
|
/**
|
|
381
415
|
* Needs second reconnect case:
|
|
@@ -387,7 +421,7 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
387
421
|
? 3 * 60 * 1000 // 3 minutes for BLE reconnect
|
|
388
422
|
: 60 * 1000; // 1 minute for normal reconnect
|
|
389
423
|
|
|
390
|
-
|
|
424
|
+
getFeaturesTimeoutCount = 0;
|
|
391
425
|
await this.waitForDeviceReconnect(reconnectTimeout);
|
|
392
426
|
}
|
|
393
427
|
}
|
|
@@ -410,6 +444,14 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
410
444
|
return Number.isNaN(progress) ? null : progress;
|
|
411
445
|
}
|
|
412
446
|
|
|
447
|
+
private isGetFeaturesTimeoutError(error: unknown): boolean {
|
|
448
|
+
return (
|
|
449
|
+
error instanceof HardwareError &&
|
|
450
|
+
error.errorCode === HardwareErrorCode.CallMethodNotResponse &&
|
|
451
|
+
error.params?.method === 'GetFeatures'
|
|
452
|
+
);
|
|
453
|
+
}
|
|
454
|
+
|
|
413
455
|
private normalizeErrorMessage(error: unknown): string {
|
|
414
456
|
if (!error) {
|
|
415
457
|
return '';
|
|
@@ -429,6 +471,17 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
429
471
|
return '';
|
|
430
472
|
}
|
|
431
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
|
+
|
|
432
485
|
/**
|
|
433
486
|
* @description Reconnect device - While update with bootloader, it will reconnect device
|
|
434
487
|
* @param {number} timeout - The timeout for the reconnection
|
|
@@ -436,6 +489,7 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
436
489
|
async waitForDeviceReconnect(timeout: number) {
|
|
437
490
|
const startTime = Date.now();
|
|
438
491
|
const isBleReconnect = this.isBleReconnect();
|
|
492
|
+
let webUsbCheckCount = 0;
|
|
439
493
|
while (Date.now() - startTime < timeout) {
|
|
440
494
|
try {
|
|
441
495
|
if (isBleReconnect) {
|
|
@@ -462,6 +516,24 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
462
516
|
} else {
|
|
463
517
|
const deviceDiff = await this.device.deviceConnector?.enumerate();
|
|
464
518
|
const devicesDescriptor = deviceDiff?.descriptors ?? [];
|
|
519
|
+
|
|
520
|
+
const canPromptSwitchFirmwareReconnect = this.canPromptWebUsbSwitchFirmwareReconnect();
|
|
521
|
+
|
|
522
|
+
if (canPromptSwitchFirmwareReconnect) {
|
|
523
|
+
webUsbCheckCount += 1;
|
|
524
|
+
if (webUsbCheckCount > 4) {
|
|
525
|
+
this.postTipMessage(FirmwareUpdateTipMessage.SwitchFirmwareReconnectDevice);
|
|
526
|
+
try {
|
|
527
|
+
await this._promptDeviceForSwitchFirmwareWebDevice();
|
|
528
|
+
} catch (e) {
|
|
529
|
+
Log.log('WebUSB re-authorization failed: ', e);
|
|
530
|
+
}
|
|
531
|
+
webUsbCheckCount = 0;
|
|
532
|
+
}
|
|
533
|
+
} else {
|
|
534
|
+
webUsbCheckCount = 0;
|
|
535
|
+
}
|
|
536
|
+
|
|
465
537
|
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, this.connectId);
|
|
466
538
|
|
|
467
539
|
if (deviceList.length === 1) {
|
|
@@ -40,8 +40,6 @@ const isDeviceDisconnectedError = (error: unknown) => {
|
|
|
40
40
|
export class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
|
|
41
41
|
checkPromise: Deferred<any> | null = null;
|
|
42
42
|
|
|
43
|
-
protected hasPromptedWebUsbBootloaderReauth = false;
|
|
44
|
-
|
|
45
43
|
init(): void {}
|
|
46
44
|
|
|
47
45
|
run(): Promise<any> {
|
|
@@ -94,7 +92,7 @@ export class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
|
|
|
94
92
|
);
|
|
95
93
|
};
|
|
96
94
|
|
|
97
|
-
|
|
95
|
+
protected async _promptDeviceInBootloaderForWebDevice() {
|
|
98
96
|
return new Promise((resolve, reject) => {
|
|
99
97
|
if (this.device.listenerCount(DEVICE.SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE) > 0) {
|
|
100
98
|
this.device.emit(
|
|
@@ -112,6 +110,24 @@ export class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
|
|
|
112
110
|
});
|
|
113
111
|
}
|
|
114
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
|
+
|
|
115
131
|
checkDeviceToBootloader(connectId: string | undefined) {
|
|
116
132
|
this.checkPromise = createDeferred();
|
|
117
133
|
const env = DataManager.getSettings('env');
|
|
@@ -195,29 +211,6 @@ export class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
|
|
|
195
211
|
}, 30000);
|
|
196
212
|
}
|
|
197
213
|
|
|
198
|
-
/**
|
|
199
|
-
* 仅在 firmware 被抹掉、需要重新授权的 bootloader 场景下才提示 WebUSB
|
|
200
|
-
* (比如 BTC-only 与通用固件互转后算作新设备)。
|
|
201
|
-
*/
|
|
202
|
-
protected async ensureWebUsbBootloaderReauthPrompt() {
|
|
203
|
-
if (
|
|
204
|
-
this.hasPromptedWebUsbBootloaderReauth ||
|
|
205
|
-
!DataManager.isBrowserWebUsb(DataManager.getSettings('env')) ||
|
|
206
|
-
this.device.listenerCount(DEVICE.SELECT_DEVICE_IN_BOOTLOADER_FOR_WEB_DEVICE) === 0
|
|
207
|
-
) {
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
this.hasPromptedWebUsbBootloaderReauth = true;
|
|
212
|
-
this.postTipMessage(FirmwareUpdateTipMessage.SelectDeviceInBootloaderForWebDevice);
|
|
213
|
-
|
|
214
|
-
try {
|
|
215
|
-
await this._promptDeviceInBootloaderForWebDevice();
|
|
216
|
-
} catch (error) {
|
|
217
|
-
Log.log('WebUSB 设备重新授权失败: ', error);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
|
|
221
214
|
private async _checkDeviceInBootloaderMode(
|
|
222
215
|
connectId: string | undefined,
|
|
223
216
|
intervalTimer?: ReturnType<typeof setInterval>,
|
|
@@ -455,8 +448,8 @@ export class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
|
|
|
455
448
|
}
|
|
456
449
|
|
|
457
450
|
/**
|
|
458
|
-
* @description
|
|
459
|
-
* @param rebootType
|
|
451
|
+
* @description Device reboot (available in bootloader mode)
|
|
452
|
+
* @param rebootType Reboot type, see the RebootType enum
|
|
460
453
|
*/
|
|
461
454
|
async reboot(rebootType: RebootType) {
|
|
462
455
|
const typedCall = this.device.getCommands().typedCall.bind(this.device.getCommands());
|
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
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
|
|