@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.
@@ -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;;;;;IA8CT,OAAO,CAAC,wBAAwB;YAiBlB,qBAAqB;YAoBrB,uBAAuB;YAiBvB,2BAA2B;YAiD3B,aAAa;IA2M3B,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,qBAAqB;IAuBvB,sBAAsB,CAAC,OAAO,EAAE,MAAM;CA0E7C"}
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;IAkBrD,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"}
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"}
@@ -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;AAwpBF,eAAO,MAAM,MAAM,YAAa,WAAW,cAAc,MAAM,SAkF9D,CAAC;AAsEF,eAAO,MAAM,qBAAqB,gFAejC,CAAC;AAyFF,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;IA0DxC,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"}
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"}
@@ -1,14 +1,12 @@
1
1
  /// <reference types="node" />
2
2
  import EventEmitter from 'events';
3
- import { DeviceCommands } from './DeviceCommands';
4
- import { type DeviceFirmwareRange, type Device as DeviceTyped, EOneKeyDeviceMode, type Features, type UnavailableCapabilities } from '../types';
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":"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"}
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 type { DeviceDescriptorDiff } from './DevicePool';
4
- import type { OneKeyDeviceInfo as DeviceDescriptor, Transport } from '@onekeyfe/hd-transport';
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":";;AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,IAAI,gBAAgB,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAI9F,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;IASzC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAWnD,kBAAkB,IAAI,OAAO,CAAC,SAAS,GAAG,eAAe,GAAG,IAAI,CAAC;IAOjE,oBAAoB;CAGrB"}
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"}
@@ -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;;;;;;;;;;;;;;;;;;;;CAyBT,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"}
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":"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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Cb,CAAC;AAEX,MAAM,WAAW,uBAAuB;IACtC,IAAI,EACA,OAAO,UAAU,CAAC,eAAe,GACjC,OAAO,UAAU,CAAC,mBAAmB,GACrC,OAAO,UAAU,CAAC,oBAAoB,GACtC,OAAO,UAAU,CAAC,qBAAqB,GACvC,OAAO,UAAU,CAAC,qBAAqB,GACvC,OAAO,UAAU,CAAC,8CAA8C,GAChE,OAAO,UAAU,CAAC,mBAAmB,GACrC,OAAO,UAAU,CAAC,2BAA2B,GAC7C,OAAO,UAAU,CAAC,mBAAmB,GACrC,OAAO,UAAU,CAAC,mCAAmC,CAAC;IAC1D,OAAO,CAAC,EAAE,OAAO,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,OAAO,UAAU,CAAC,mBAAmB,CAAC;IAC5C,OAAO,EAAE;QACP,IAAI,EAAE,UAAU,GAAG,KAAK,GAAG,YAAY,GAAG,UAAU,CAAC;KACtD,CAAC;CACH;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,OAAO,UAAU,CAAC,WAAW,CAAC;IACpC,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,KAAK,CAAC,oBAAoB,GAAG,wBAAwB,GAAG,yBAAyB,CAAC;KAC1F,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,UAAU,CAAC,cAAc,CAAC;IACvC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,UAAU,CAAC,kBAAkB,CAAC;IAC3C,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,OAAO,UAAU,CAAC,4BAA4B,CAAC;IACrD,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,6CAA6C;IAC5D,IAAI,EAAE,OAAO,UAAU,CAAC,2CAA2C,CAAC;IACpE,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,+CAA+C;IAC9D,IAAI,EAAE,OAAO,UAAU,CAAC,6CAA6C,CAAC;IACtE,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,UAAU,CAAC,mBAAmB,CAAC;IAC5C,OAAO,EAAE;QACP,IAAI,EAAE,UAAU,GAAG,KAAK,GAAG,YAAY,GAAG,UAAU,CAAC;KACtD,CAAC;CACH;AAED,MAAM,MAAM,2BAA2B,GAAG,cAAc,GAAG,oBAAoB,CAAC;AAChF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,UAAU,CAAC,iBAAiB,CAAC;IAC1C,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,2BAA2B,CAAC;KAC3C,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,UAAU,CAAC,YAAY,CAAC;IACrC,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,UAAU,CAAC,eAAe,CAAC;IACxC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,UAAU,CAAC,uBAAuB,CAAC;IAChD,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE;YACJ,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;CACH;AAED,MAAM,MAAM,OAAO,GACf,uBAAuB,GACvB,qBAAqB,GACrB,eAAe,GACf,2BAA2B,GAC3B,mBAAmB,GACnB,6CAA6C,GAC7C,+CAA+C,GAC/C,kBAAkB,GAClB,6CAA6C,GAC7C,gBAAgB,GAChB,WAAW,GACX,cAAc,GACd,qBAAqB,CAAC;AAE1B,oBAAY,wBAAwB;IAClC,qBAAqB,0BAA0B;IAE/C,qBAAqB,0BAA0B;IAC/C,sBAAsB,2BAA2B;IACjD,wBAAwB,6BAA6B;IACrD,gBAAgB,qBAAqB;IACrC,mBAAmB,wBAAwB;IAC3C,gCAAgC,qCAAqC;IAErE,+BAA+B,oCAAoC;IACnE,uBAAuB,4BAA4B;IACnD,0BAA0B,+BAA+B;IACzD,uCAAuC,4CAA4C;IAEnF,sBAAsB,2BAA2B;IACjD,qBAAqB,0BAA0B;IAC/C,oCAAoC,yCAAyC;IAC7E,6BAA6B,kCAAkC;IAC/D,eAAe,oBAAoB;IACnC,oBAAoB,yBAAyB;IAC7C,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;IACnD,iBAAiB,sBAAsB;IACvC,wBAAwB,6BAA6B;IACrD,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;CACpD;AAED,MAAM,MAAM,yBAAyB,GAAG,GAAG,wBAAwB,EAAE,CAAC;AAEtE,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG;IAAE,KAAK,EAAE,OAAO,QAAQ,CAAA;CAAE,CAAC;AAElE,eAAO,MAAM,eAAe,EAAE,gBAAgB,CAAC,OAAO,QAAQ,EAAE,OAAO,CAK5D,CAAC"}
@@ -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 type UiResponseEvent = UiResponsePin | UiResponsePassphrase | UiResponseSelectDeviceInBootloaderForWebDevice;
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;;;;CAKd,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,MAAM,eAAe,GACvB,aAAa,GACb,oBAAoB,GACpB,8CAA8C,CAAC;AAEnD,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"}
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, Transport, OneKeyDeviceInfo, ChangeOutputScriptType } 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, 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
- type UiResponseEvent = UiResponsePin | UiResponsePassphrase | UiResponseSelectDeviceInBootloaderForWebDevice;
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 canPromptWebUsbBootloader = DataManager.isBrowserWebUsb(DataManager.getSettings('env')) &&
30624
- !this.payload.skipWebDevicePrompt &&
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.SelectDeviceInBootloaderForWebDevice);
30651
+ this.postTipMessage(exports.FirmwareUpdateTipMessage.SwitchFirmwareReconnectDevice);
30630
30652
  try {
30631
- yield this._promptDeviceInBootloaderForWebDevice();
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-alpha.5",
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-alpha.5",
29
- "@onekeyfe/hd-transport": "1.1.21-alpha.5",
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": "0252084f01f06a7a6f305a45853c1f21dd2b4755"
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 canPromptWebUsbBootloader =
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 (canPromptWebUsbBootloader) {
522
+ if (canPromptSwitchFirmwareReconnect) {
512
523
  webUsbCheckCount += 1;
513
524
  if (webUsbCheckCount > 4) {
514
- this.postTipMessage(FirmwareUpdateTipMessage.SelectDeviceInBootloaderForWebDevice);
525
+ this.postTipMessage(FirmwareUpdateTipMessage.SwitchFirmwareReconnectDevice);
515
526
  try {
516
- await this._promptDeviceInBootloaderForWebDevice();
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);
@@ -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 { DEVICE, UI_REQUEST } from '../events';
39
- import { DataManager } from '../data-manager';
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 type { PassphrasePromptResponse } from './DeviceCommands';
51
- import type { Deferred } from '@onekeyfe/hd-shared';
52
- import type { OneKeyDeviceInfo as DeviceDescriptor } from '@onekeyfe/hd-transport';
53
- import type DeviceConnector from './DeviceConnector';
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 { LoggerNames, getLogger } from '../utils';
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);
@@ -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;
@@ -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