@onekeyfe/hd-core 0.1.1 → 0.1.4

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.
@@ -8,6 +8,7 @@ export declare const ERROR_CODES: {
8
8
  Device_UnexpectedMode: string;
9
9
  Device_CallInProgress: string;
10
10
  Device_InitializeFailed: string;
11
+ Device_Interrupted: string;
11
12
  Not_Use_Onekey_Device: string;
12
13
  Runtime: string;
13
14
  Init_NotInitialized: string;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/constants/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;CAwBvB,CAAC;AAEF,qBAAa,WAAY,SAAQ,KAAK;IACpC,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,MAAM,CAAC;gBAEJ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C;AAED,eAAO,MAAM,UAAU,OAAQ,MAAM,kBAAkB,8CACN,CAAC;AAGlD,eAAO,MAAM,cAAc,YAAa,GAAG,QAK1C,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/constants/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;CAyBvB,CAAC;AAEF,qBAAa,WAAY,SAAQ,KAAK;IACpC,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,MAAM,CAAC;gBAEJ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK1C;AAED,eAAO,MAAM,UAAU,OAAQ,MAAM,kBAAkB,8CACN,CAAC;AAGlD,eAAO,MAAM,cAAc,YAAa,GAAG,QAK1C,CAAC"}
@@ -4,6 +4,7 @@ import { CoreMessage } from '../events';
4
4
  import type { ConnectSettings } from '../types';
5
5
  import DeviceConnector from '../device/DeviceConnector';
6
6
  export declare const callAPI: (message: CoreMessage) => Promise<any>;
7
+ export declare const cancel: (connectId?: string | undefined) => void;
7
8
  export default class Core extends EventEmitter {
8
9
  handleMessage(message: CoreMessage): Promise<any>;
9
10
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AASlC,OAAO,EACL,WAAW,EAYZ,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAE7D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAgBxD,eAAO,MAAM,OAAO,YAAmB,WAAW,iBA6JjD,CAAC;AA8HF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IACtC,aAAa,CAAC,OAAO,EAAE,WAAW;IA2BxC,OAAO;CAGR;AAED,eAAO,MAAM,QAAQ,YAGpB,CAAC;AAEF,eAAO,MAAM,aAAa,uBAGzB,CAAC;AAMF,eAAO,MAAM,IAAI,aAAoB,eAAe,aAAa,GAAG,8BAgBnE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AASlC,OAAO,EACL,WAAW,EAYZ,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAE7D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAkBxD,eAAO,MAAM,OAAO,YAAmB,WAAW,iBA6JjD,CAAC;AA+DF,eAAO,MAAM,MAAM,0CAalB,CAAC;AAuEF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IACtC,aAAa,CAAC,OAAO,EAAE,WAAW;IA+BxC,OAAO;CAGR;AAED,eAAO,MAAM,QAAQ,YAGpB,CAAC;AAEF,eAAO,MAAM,aAAa,uBAGzB,CAAC;AAMF,eAAO,MAAM,IAAI,aAAoB,eAAe,aAAa,GAAG,8BAgBnE,CAAC"}
@@ -32,7 +32,6 @@ export declare class Device extends EventEmitter {
32
32
  unavailableCapabilities: UnavailableCapabilities;
33
33
  instance: number;
34
34
  internalState: string[];
35
- loaded: boolean;
36
35
  needReloadDevice: boolean;
37
36
  keepSession: boolean;
38
37
  constructor(descriptor: DeviceDescriptor);
@@ -47,8 +46,10 @@ export declare class Device extends EventEmitter {
47
46
  getFeatures(): Promise<void>;
48
47
  _updateFeatures(feat: Features): void;
49
48
  updateDescriptor(descriptor: DeviceDescriptor): void;
49
+ updateFromCache(device: Device): void;
50
50
  run(fn?: () => Promise<void>, options?: RunOptions): Promise<void>;
51
51
  _runInner<T>(fn: (() => Promise<T>) | undefined, options: RunOptions): Promise<undefined>;
52
+ interruption(): void;
52
53
  getMode(): "normal" | "bootloader" | "initialize" | "seedless";
53
54
  getFirmwareVersion(): import("../types").IVersionArray | null;
54
55
  getBLEFirmwareVersion(): import("../types").IVersionArray | null;
@@ -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 +1 @@
1
- {"version":3,"file":"DeviceCommands.d.ts","sourceRoot":"","sources":["../../src/device/DeviceCommands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,aAAK,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;AACxC,aAAK,UAAU,GAAG,MAAM,WAAW,CAAC;AACpC,oBAAY,oBAAoB,CAAC,CAAC,SAAS,UAAU,IAAI;IACvD,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CACzB,CAAC;AACF,aAAK,oBAAoB,GAAG;KACzB,CAAC,IAAI,MAAM,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC;CAClD,CAAC;AACF,oBAAY,sBAAsB,GAAG,oBAAoB,CAAC,MAAM,WAAW,CAAC,CAAC;AAE7E,oBAAY,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAcF,qBAAa,cAAc;IACzB,MAAM,EAAE,MAAM,CAAC;IAEf,SAAS,EAAE,SAAS,CAAC;IAErB,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE9C,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;gBAE/B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAO1C,OAAO;IAMD,IAAI,CACR,IAAI,EAAE,UAAU,EAChB,GAAG,GAAE,sBAAsB,CAAC,SAAS,CAAM,GAC1C,OAAO,CAAC,sBAAsB,CAAC;IAelC,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,UAAU,EAAE,EACpD,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,EACV,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3C,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,UAAU,EAClD,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,EACV,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAyB7B,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,sBAAsB,CAAC,SAAS,CAAC;IAK3E,kBAAkB,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAoEhF,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,oBAAoB;CAkBhD;AAED,oBAAY,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"DeviceCommands.d.ts","sourceRoot":"","sources":["../../src/device/DeviceCommands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,aAAK,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;AACxC,aAAK,UAAU,GAAG,MAAM,WAAW,CAAC;AACpC,oBAAY,oBAAoB,CAAC,CAAC,SAAS,UAAU,IAAI;IACvD,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CACzB,CAAC;AACF,aAAK,oBAAoB,GAAG;KACzB,CAAC,IAAI,MAAM,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC;CAClD,CAAC;AACF,oBAAY,sBAAsB,GAAG,oBAAoB,CAAC,MAAM,WAAW,CAAC,CAAC;AAE7E,oBAAY,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAcF,qBAAa,cAAc;IACzB,MAAM,EAAE,MAAM,CAAC;IAEf,SAAS,EAAE,SAAS,CAAC;IAErB,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE9C,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;gBAE/B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAO1C,OAAO;IAUD,IAAI,CACR,IAAI,EAAE,UAAU,EAChB,GAAG,GAAE,sBAAsB,CAAC,SAAS,CAAM,GAC1C,OAAO,CAAC,sBAAsB,CAAC;IAelC,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,UAAU,EAAE,EACpD,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,EACV,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3C,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,UAAU,EAClD,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,EACV,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAyB7B,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,sBAAsB,CAAC,SAAS,CAAC;IAK3E,kBAAkB,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAoEhF,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,oBAAoB;CAkBhD;AAED,oBAAY,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceList.d.ts","sourceRoot":"","sources":["../../src/device/DeviceList.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAErC,SAAS,CAAC,EAAE,eAAe,CAAC;IAMtB,cAAc;IAyBpB,UAAU,IAAI,MAAM,EAAE;IAItB,SAAS,CAAC,SAAS,EAAE,MAAM;CAG5B"}
1
+ {"version":3,"file":"DeviceList.d.ts","sourceRoot":"","sources":["../../src/device/DeviceList.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQlC,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAErC,SAAS,CAAC,EAAE,eAAe,CAAC;IAMtB,cAAc;IAgCpB,UAAU,IAAI,MAAM,EAAE;IAItB,SAAS,CAAC,SAAS,EAAE,MAAM;CAG5B"}
@@ -27,6 +27,13 @@ export interface IFrameCallMessage {
27
27
  type: typeof IFRAME.CALL;
28
28
  payload: CallMethodPayload;
29
29
  }
30
+ export interface IFrameCancelMessage {
31
+ event: typeof IFRAME.CANCEL;
32
+ type: typeof IFRAME.CANCEL;
33
+ payload: {
34
+ connectId?: string;
35
+ };
36
+ }
30
37
  export declare const RESPONSE_EVENT = "RESPONSE_EVENT";
31
38
  export interface MethodResponseMessage {
32
39
  event: typeof RESPONSE_EVENT;
@@ -1 +1 @@
1
- {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/events/call.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/events/call.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Unsuccessful } from '../types/params';
2
- import { IFrameCallMessage } from './call';
2
+ import { IFrameCallMessage, IFrameCancelMessage } from './call';
3
3
  import { DeviceEventMessage } from './device';
4
4
  import { IFrameEventMessage } from './iframe';
5
5
  import { UiEventMessage } from './ui-request';
@@ -8,7 +8,7 @@ export declare const CORE_EVENT = "CORE_EVENT";
8
8
  export declare type CoreMessage = {
9
9
  id?: string;
10
10
  success?: true | false;
11
- } & (IFrameEventMessage | IFrameCallMessage | UiResponseMessage | UiEventMessage | DeviceEventMessage);
11
+ } & (IFrameEventMessage | IFrameCallMessage | IFrameCancelMessage | UiResponseMessage | UiEventMessage | DeviceEventMessage);
12
12
  export declare type PostMessageEvent = MessageEvent<any>;
13
13
  export declare const parseMessage: (messageData: any) => CoreMessage;
14
14
  export declare const createErrorMessage: (error: Error & {
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/events/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC,oBAAY,WAAW,GAAG;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;CACxB,GAAG,CACA,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,cAAc,GACd,kBAAkB,CACrB,CAAC;AAEF,oBAAY,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;AAEjD,eAAO,MAAM,YAAY,gBAAiB,GAAG,KAAG,WAiB/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAW,KAAK,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,YAMpE,CAAC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/events/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC,oBAAY,WAAW,GAAG;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;CACxB,GAAG,CACA,kBAAkB,GAClB,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,cAAc,GACd,kBAAkB,CACrB,CAAC;AAEF,oBAAY,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;AAEjD,eAAO,MAAM,YAAY,gBAAiB,GAAG,KAAG,WAiB/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAW,KAAK,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,YAMpE,CAAC"}
@@ -5,6 +5,7 @@ export declare const IFRAME: {
5
5
  readonly INIT: "iframe-init";
6
6
  readonly INIT_BRIDGE: "iframe-init-bridge";
7
7
  readonly CALL: "iframe-call";
8
+ readonly CANCEL: "iframe-cancel";
8
9
  };
9
10
  export interface IFrameInit {
10
11
  type: typeof IFRAME.INIT;
@@ -1 +1 @@
1
- {"version":3,"file":"iframe.d.ts","sourceRoot":"","sources":["../../src/events/iframe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IACzB,OAAO,EAAE;QACP,QAAQ,EAAE,eAAe,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,oBAAY,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC;AACpD,oBAAY,kBAAkB,GAAG,WAAW,GAAG;IAAE,KAAK,EAAE,OAAO,QAAQ,CAAA;CAAE,CAAC;AAE1E,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,CAAC,OAAO,QAAQ,EAAE,WAAW,CAQpE,CAAC"}
1
+ {"version":3,"file":"iframe.d.ts","sourceRoot":"","sources":["../../src/events/iframe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAEX,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IACzB,OAAO,EAAE;QACP,QAAQ,EAAE,eAAe,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,oBAAY,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC;AACpD,oBAAY,kBAAkB,GAAG,WAAW,GAAG;IAAE,KAAK,EAAE,OAAO,QAAQ,CAAA;CAAE,CAAC;AAE1E,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,CAAC,OAAO,QAAQ,EAAE,WAAW,CAQpE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -36,6 +36,7 @@ declare const ERROR_CODES: {
36
36
  Device_UnexpectedMode: string;
37
37
  Device_CallInProgress: string;
38
38
  Device_InitializeFailed: string;
39
+ Device_Interrupted: string;
39
40
  Not_Use_Onekey_Device: string;
40
41
  Runtime: string;
41
42
  Init_NotInitialized: string;
@@ -911,7 +912,7 @@ declare type CoreApi = {
911
912
  dispose: () => void;
912
913
  call: (params: any) => Promise<any>;
913
914
  uiResponse: typeof uiResponse;
914
- cancel: (params?: string) => void;
915
+ cancel: (connectId?: string) => void;
915
916
  searchDevices: typeof searchDevices;
916
917
  getFeatures: typeof getFeatures;
917
918
  checkFirmwareRelease: typeof checkFirmwareRelease;
@@ -1045,6 +1046,7 @@ declare const IFRAME: {
1045
1046
  readonly INIT: "iframe-init";
1046
1047
  readonly INIT_BRIDGE: "iframe-init-bridge";
1047
1048
  readonly CALL: "iframe-call";
1049
+ readonly CANCEL: "iframe-cancel";
1048
1050
  };
1049
1051
  interface IFrameInit {
1050
1052
  type: typeof IFRAME.INIT;
@@ -1089,6 +1091,13 @@ interface IFrameCallMessage {
1089
1091
  type: typeof IFRAME.CALL;
1090
1092
  payload: CallMethodPayload;
1091
1093
  }
1094
+ interface IFrameCancelMessage {
1095
+ event: typeof IFRAME.CANCEL;
1096
+ type: typeof IFRAME.CANCEL;
1097
+ payload: {
1098
+ connectId?: string;
1099
+ };
1100
+ }
1092
1101
  declare const RESPONSE_EVENT = "RESPONSE_EVENT";
1093
1102
  interface MethodResponseMessage {
1094
1103
  event: typeof RESPONSE_EVENT;
@@ -1117,7 +1126,7 @@ declare const CORE_EVENT = "CORE_EVENT";
1117
1126
  declare type CoreMessage = {
1118
1127
  id?: string;
1119
1128
  success?: true | false;
1120
- } & (IFrameEventMessage | IFrameCallMessage | UiResponseMessage | UiEventMessage | DeviceEventMessage);
1129
+ } & (IFrameEventMessage | IFrameCallMessage | IFrameCancelMessage | UiResponseMessage | UiEventMessage | DeviceEventMessage);
1121
1130
  declare type PostMessageEvent = MessageEvent<any>;
1122
1131
  declare const parseMessage: (messageData: any) => CoreMessage;
1123
1132
  declare const createErrorMessage: (error: Error & {
@@ -1297,7 +1306,6 @@ declare class Device extends EventEmitter {
1297
1306
  unavailableCapabilities: UnavailableCapabilities;
1298
1307
  instance: number;
1299
1308
  internalState: string[];
1300
- loaded: boolean;
1301
1309
  needReloadDevice: boolean;
1302
1310
  keepSession: boolean;
1303
1311
  constructor(descriptor: OneKeyDeviceInfo);
@@ -1312,8 +1320,10 @@ declare class Device extends EventEmitter {
1312
1320
  getFeatures(): Promise<void>;
1313
1321
  _updateFeatures(feat: Features): void;
1314
1322
  updateDescriptor(descriptor: OneKeyDeviceInfo): void;
1323
+ updateFromCache(device: Device): void;
1315
1324
  run(fn?: () => Promise<void>, options?: RunOptions): Promise<void>;
1316
1325
  _runInner<T>(fn: (() => Promise<T>) | undefined, options: RunOptions): Promise<undefined>;
1326
+ interruption(): void;
1317
1327
  getMode(): "normal" | "bootloader" | "initialize" | "seedless";
1318
1328
  getFirmwareVersion(): IVersionArray | null;
1319
1329
  getBLEFirmwareVersion(): IVersionArray | null;
@@ -1386,4 +1396,4 @@ declare class DataManager {
1386
1396
 
1387
1397
  declare const HardwareSdk: ({ init, call, dispose, eventEmitter, uiResponse, cancel, }: InjectApi) => CoreApi;
1388
1398
 
1389
- export { AccountAddress, AccountAddresses, AssetsMap, BTCAddress, BTCGetAddressParams, BTCGetPublicKeyParams, BTCPublicKey, BTCSignMessageParams, BTCSignTransactionParams, BTCVerifyMessageParams, CORE_EVENT, CallMethod, CallMethodAnyResponse, CallMethodKeys, CallMethodPayload, CallMethodResponse, CallMethodUnion, CipheredKeyValue, CipheredKeyValueParams, CommonParams, ConnectSettings, Core, CoreApi, CoreMessage, DEFAULT_PRIORITY, DEVICE, DEVICE_EVENT, DataManager, Deferred, Device$1 as Device, DeviceButtonRequest, DeviceButtonRequestPayload, DeviceChangePinParams, DeviceEvent, DeviceEventListenerFn, DeviceEventMessage, DeviceFirmwareRange, DeviceFlagsParams, DeviceMode, DeviceRecoveryParams, DeviceResetParams, DeviceSettingsParams, DeviceStatus, DeviceTypeMap, errors as ERRORS, EVMAccessList, EVMAddress, EVMGetAddressParams, EVMGetPublicKeyParams, EVMPublicKey, EVMSignMessageEIP712Params, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, EVMSignedTx, EVMTransaction, EVMTransactionEIP1559, EVMVerifyMessageParams, EthereumSignTypedDataMessage, EthereumSignTypedDataTypeProperty, EthereumSignTypedDataTypes, Features, FirmwareProgress, FirmwareRange, FirmwareRelease, IBLEFirmwareReleaseInfo, IDeviceBLEFirmwareStatus, IDeviceFirmwareStatus, IDeviceModel, IDeviceType, IFRAME, IFirmwareReleaseInfo, IFrameBridge, IFrameCallMessage, IFrameEvent, IFrameEventMessage, IFrameInit, ILocale, ITransportStatus, IVersionArray, KnownDevice, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, Params, PostMessageEvent, RESPONSE_EVENT, RefTransaction, ReleaseInfo, RemoteConfigResponse, Response, SearchDevice, SignedTransaction, SolanaAddress, SolanaGetAddressParams, SolanaSignTransactionParams, SolanaSignedTx, StarcoinAddress, StarcoinGetAddressParams, StarcoinGetPublicKeyParams, StarcoinPublicKey, StarcoinSignMessageParams, StarcoinSignTransactionParams, StarcoinVerifyMessageParams, StellarAddress, StellarAsset, StellarGetAddressParams, StellarOperation, StellarSignTransactionParams, StellarTransaction, StrictFeatures, Success, TransactionOptions, TransportReleaseStatus, UI_EVENT, UI_REQUEST, UI_RESPONSE, UiEvent, UiEventMessage, UiPromise, UiPromiseResponse, UiRequestButton, UiRequestDeviceAction, UiRequestWithoutPayload, UiResponseEvent, UiResponseMessage, UiResponsePin, UnavailableCapabilities, UnavailableCapability, Unsuccessful, VersionArray, corsValidator, create, createDeviceMessage, createErrorMessage, createIFrameMessage, createResponseMessage, createUiMessage, createUiResponse, HardwareSdk as default, enableLog, getDeviceLabel, getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getEnv, getHDPath, getScriptType, getTimeStamp, httpRequest, init as initCore, initLog, isValidVersionArray, isValidVersionString, normalizeVersionArray, parseConnectSettings, parseMessage, versionCompare, versionSplit };
1399
+ export { AccountAddress, AccountAddresses, AssetsMap, BTCAddress, BTCGetAddressParams, BTCGetPublicKeyParams, BTCPublicKey, BTCSignMessageParams, BTCSignTransactionParams, BTCVerifyMessageParams, CORE_EVENT, CallMethod, CallMethodAnyResponse, CallMethodKeys, CallMethodPayload, CallMethodResponse, CallMethodUnion, CipheredKeyValue, CipheredKeyValueParams, CommonParams, ConnectSettings, Core, CoreApi, CoreMessage, DEFAULT_PRIORITY, DEVICE, DEVICE_EVENT, DataManager, Deferred, Device$1 as Device, DeviceButtonRequest, DeviceButtonRequestPayload, DeviceChangePinParams, DeviceEvent, DeviceEventListenerFn, DeviceEventMessage, DeviceFirmwareRange, DeviceFlagsParams, DeviceMode, DeviceRecoveryParams, DeviceResetParams, DeviceSettingsParams, DeviceStatus, DeviceTypeMap, errors as ERRORS, EVMAccessList, EVMAddress, EVMGetAddressParams, EVMGetPublicKeyParams, EVMPublicKey, EVMSignMessageEIP712Params, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, EVMSignedTx, EVMTransaction, EVMTransactionEIP1559, EVMVerifyMessageParams, EthereumSignTypedDataMessage, EthereumSignTypedDataTypeProperty, EthereumSignTypedDataTypes, Features, FirmwareProgress, FirmwareRange, FirmwareRelease, IBLEFirmwareReleaseInfo, IDeviceBLEFirmwareStatus, IDeviceFirmwareStatus, IDeviceModel, IDeviceType, IFRAME, IFirmwareReleaseInfo, IFrameBridge, IFrameCallMessage, IFrameCancelMessage, IFrameEvent, IFrameEventMessage, IFrameInit, ILocale, ITransportStatus, IVersionArray, KnownDevice, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, Params, PostMessageEvent, RESPONSE_EVENT, RefTransaction, ReleaseInfo, RemoteConfigResponse, Response, SearchDevice, SignedTransaction, SolanaAddress, SolanaGetAddressParams, SolanaSignTransactionParams, SolanaSignedTx, StarcoinAddress, StarcoinGetAddressParams, StarcoinGetPublicKeyParams, StarcoinPublicKey, StarcoinSignMessageParams, StarcoinSignTransactionParams, StarcoinVerifyMessageParams, StellarAddress, StellarAsset, StellarGetAddressParams, StellarOperation, StellarSignTransactionParams, StellarTransaction, StrictFeatures, Success, TransactionOptions, TransportReleaseStatus, UI_EVENT, UI_REQUEST, UI_RESPONSE, UiEvent, UiEventMessage, UiPromise, UiPromiseResponse, UiRequestButton, UiRequestDeviceAction, UiRequestWithoutPayload, UiResponseEvent, UiResponseMessage, UiResponsePin, UnavailableCapabilities, UnavailableCapability, Unsuccessful, VersionArray, corsValidator, create, createDeviceMessage, createErrorMessage, createIFrameMessage, createResponseMessage, createUiMessage, createUiResponse, HardwareSdk as default, enableLog, getDeviceLabel, getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getEnv, getHDPath, getScriptType, getTimeStamp, httpRequest, init as initCore, initLog, isValidVersionArray, isValidVersionString, normalizeVersionArray, parseConnectSettings, parseMessage, versionCompare, versionSplit };
package/dist/index.js CHANGED
@@ -615,6 +615,7 @@ const ERROR_CODES = {
615
615
  Device_UnexpectedMode: '',
616
616
  Device_CallInProgress: '',
617
617
  Device_InitializeFailed: '',
618
+ Device_Interrupted: 'The device is performing other operations',
618
619
  Not_Use_Onekey_Device: 'Please use onekey device',
619
620
  Runtime: '',
620
621
  Init_NotInitialized: 'Init_NotInitialized',
@@ -658,7 +659,7 @@ const colors = {
658
659
  Transport: 'color: #ffb6c1; background: #000;',
659
660
  };
660
661
  const MAX_ENTRIES = 100;
661
- class Log$5 {
662
+ class Log$6 {
662
663
  constructor(prefix, enabled) {
663
664
  this.prefix = prefix;
664
665
  this.enabled = enabled;
@@ -708,7 +709,7 @@ class Log$5 {
708
709
  }
709
710
  const _logs = {};
710
711
  const initLog = (prefix, enabled) => {
711
- const instance = new Log$5(prefix, !!enabled);
712
+ const instance = new Log$6(prefix, !!enabled);
712
713
  _logs[prefix] = instance;
713
714
  return instance;
714
715
  };
@@ -9894,7 +9895,7 @@ DataManager.getTransportStatus = (localVersion) => {
9894
9895
  return isLatest ? 'valid' : 'outdated';
9895
9896
  };
9896
9897
 
9897
- const Log$4 = initLog('Transport');
9898
+ const Log$5 = initLog('Transport');
9898
9899
  class TransportManager {
9899
9900
  static load() {
9900
9901
  console.log('transport manager load');
@@ -9905,25 +9906,25 @@ class TransportManager {
9905
9906
  return __awaiter(this, void 0, void 0, function* () {
9906
9907
  try {
9907
9908
  const env = DataManager.getSettings('env');
9908
- Log$4.debug('Initializing transports');
9909
+ Log$5.debug('Initializing transports');
9909
9910
  if (env === 'react-native') {
9910
9911
  if (!this.reactNativeInit) {
9911
9912
  yield this.transport.init();
9912
9913
  this.reactNativeInit = true;
9913
9914
  }
9914
9915
  else {
9915
- Log$4.debug('React Native Do Not Initializing transports');
9916
+ Log$5.debug('React Native Do Not Initializing transports');
9916
9917
  }
9917
9918
  }
9918
9919
  else {
9919
9920
  yield this.transport.init();
9920
9921
  }
9921
- Log$4.debug('Configuring transports');
9922
+ Log$5.debug('Configuring transports');
9922
9923
  yield this.transport.configure(JSON.stringify(this.defaultMessages));
9923
- Log$4.debug('Configuring transports done');
9924
+ Log$5.debug('Configuring transports done');
9924
9925
  }
9925
9926
  catch (error) {
9926
- Log$4.debug('Initializing transports error: ', error);
9927
+ Log$5.debug('Initializing transports error: ', error);
9927
9928
  }
9928
9929
  });
9929
9930
  }
@@ -10010,6 +10011,7 @@ const IFRAME = {
10010
10011
  INIT: 'iframe-init',
10011
10012
  INIT_BRIDGE: 'iframe-init-bridge',
10012
10013
  CALL: 'iframe-call',
10014
+ CANCEL: 'iframe-cancel',
10013
10015
  };
10014
10016
  const createIFrameMessage = (type, payload) => ({
10015
10017
  event: UI_EVENT,
@@ -10066,7 +10068,7 @@ const assertType = (res, resType) => {
10066
10068
  throw TypedError('Runtime', `assertType: Response of unexpected type: ${res.type}. Should be ${resType}`);
10067
10069
  }
10068
10070
  };
10069
- const Log$3 = initLog('DeviceCommands');
10071
+ const Log$4 = initLog('DeviceCommands');
10070
10072
  class DeviceCommands {
10071
10073
  constructor(device, mainId) {
10072
10074
  this.device = device;
@@ -10075,8 +10077,13 @@ class DeviceCommands {
10075
10077
  this.disposed = false;
10076
10078
  }
10077
10079
  dispose() {
10080
+ var _a, _b;
10078
10081
  this.disposed = true;
10082
+ if (this._cancelableRequest) {
10083
+ this._cancelableRequest();
10084
+ }
10079
10085
  this._cancelableRequest = undefined;
10086
+ (_b = (_a = this.transport).cancel) === null || _b === void 0 ? void 0 : _b.call(_a);
10080
10087
  }
10081
10088
  call(type, msg = {}) {
10082
10089
  return __awaiter(this, void 0, void 0, function* () {
@@ -10085,11 +10092,11 @@ class DeviceCommands {
10085
10092
  const promise = this.transport.call(this.mainId, type, msg);
10086
10093
  this.callPromise = promise;
10087
10094
  const res = yield promise;
10088
- Log$3.debug('[DeviceCommands] [call] Received', res.type);
10095
+ Log$4.debug('[DeviceCommands] [call] Received', res.type);
10089
10096
  return res;
10090
10097
  }
10091
10098
  catch (error) {
10092
- Log$3.debug('[DeviceCommands] [call] Received error', error);
10099
+ Log$4.debug('[DeviceCommands] [call] Received error', error);
10093
10100
  throw error;
10094
10101
  }
10095
10102
  });
@@ -10282,7 +10289,7 @@ const parseRunOptions = (options) => {
10282
10289
  options = {};
10283
10290
  return options;
10284
10291
  };
10285
- const Log$2 = initLog('Device');
10292
+ const Log$3 = initLog('Device');
10286
10293
  class Device extends events.exports {
10287
10294
  constructor(descriptor) {
10288
10295
  super();
@@ -10293,7 +10300,6 @@ class Device extends events.exports {
10293
10300
  this.unavailableCapabilities = {};
10294
10301
  this.instance = 0;
10295
10302
  this.internalState = [];
10296
- this.loaded = false;
10297
10303
  this.needReloadDevice = false;
10298
10304
  this.keepSession = false;
10299
10305
  this.originalDescriptor = descriptor;
@@ -10362,11 +10368,11 @@ class Device extends events.exports {
10362
10368
  if (env === 'react-native') {
10363
10369
  const res = yield ((_a = this.deviceConnector) === null || _a === void 0 ? void 0 : _a.acquire(this.originalDescriptor.id));
10364
10370
  this.mainId = (_b = res.uuid) !== null && _b !== void 0 ? _b : '';
10365
- Log$2.debug('Expected uuid:', this.mainId);
10371
+ Log$3.debug('Expected uuid:', this.mainId);
10366
10372
  }
10367
10373
  else {
10368
10374
  this.mainId = yield ((_c = this.deviceConnector) === null || _c === void 0 ? void 0 : _c.acquire(this.originalDescriptor.path, this.originalDescriptor.session));
10369
- Log$2.debug('Expected session id:', this.mainId);
10375
+ Log$3.debug('Expected session id:', this.mainId);
10370
10376
  }
10371
10377
  this.updateDescriptor({ [mainIdKey]: this.mainId });
10372
10378
  if (this.commands) {
@@ -10407,7 +10413,7 @@ class Device extends events.exports {
10407
10413
  this.updateDescriptor({ session: null });
10408
10414
  }
10409
10415
  catch (err) {
10410
- Log$2.error('[Device] release error: ', err);
10416
+ Log$3.error('[Device] release error: ', err);
10411
10417
  }
10412
10418
  finally {
10413
10419
  this.needReloadDevice = true;
@@ -10460,11 +10466,19 @@ class Device extends events.exports {
10460
10466
  this.originalDescriptor.session = upcomingSession;
10461
10467
  }
10462
10468
  }
10469
+ updateFromCache(device) {
10470
+ this.mainId = device.mainId;
10471
+ this.commands = device.commands;
10472
+ this.updateDescriptor(device.originalDescriptor);
10473
+ if (device.features) {
10474
+ this._updateFeatures(device.features);
10475
+ }
10476
+ }
10463
10477
  run(fn, options) {
10464
10478
  return __awaiter(this, void 0, void 0, function* () {
10465
10479
  if (this.runPromise) {
10466
- Log$2.error('[Device] run error:', 'Device is running');
10467
- throw TypedError('Device_CallInProgress');
10480
+ this.interruption();
10481
+ Log$3.debug('[Device] run error:', 'Device is running, but will cancel previous operate');
10468
10482
  }
10469
10483
  options = parseRunOptions(options);
10470
10484
  this.runPromise = create(this._runInner.bind(this, fn, options));
@@ -10491,24 +10505,26 @@ class Device extends events.exports {
10491
10505
  if (fn) {
10492
10506
  yield fn();
10493
10507
  }
10494
- if (this.loaded && this.features) {
10495
- yield this.getFeatures();
10496
- }
10497
10508
  if ((!this.keepSession && typeof options.keepSession !== 'boolean') ||
10498
10509
  options.keepSession === false) {
10499
10510
  this.keepSession = false;
10500
10511
  yield this.release();
10501
- Log$2.debug('release device, mainId: ', this.mainId);
10512
+ Log$3.debug('release device, mainId: ', this.mainId);
10502
10513
  }
10503
10514
  if (this.runPromise) {
10504
10515
  this.runPromise.resolve();
10505
10516
  }
10506
10517
  this.runPromise = null;
10507
- if (!this.loaded) {
10508
- this.loaded = true;
10509
- }
10510
10518
  });
10511
10519
  }
10520
+ interruption() {
10521
+ if (this.commands) {
10522
+ this.commands.dispose();
10523
+ }
10524
+ if (this.runPromise) {
10525
+ this.runPromise.reject(TypedError('Device_Interrupted'));
10526
+ }
10527
+ }
10512
10528
  getMode() {
10513
10529
  var _a, _b, _c;
10514
10530
  if ((_a = this.features) === null || _a === void 0 ? void 0 : _a.bootloader_mode)
@@ -10573,6 +10589,8 @@ class Device extends events.exports {
10573
10589
  }
10574
10590
  }
10575
10591
 
10592
+ const cacheDeviceMap = new Map();
10593
+ const Log$2 = initLog('DeviceList');
10576
10594
  class DeviceList extends events.exports {
10577
10595
  constructor() {
10578
10596
  super(...arguments);
@@ -10590,7 +10608,7 @@ class DeviceList extends events.exports {
10590
10608
  try {
10591
10609
  for (var descriptorList_1 = __asyncValues(descriptorList), descriptorList_1_1; descriptorList_1_1 = yield descriptorList_1.next(), !descriptorList_1_1.done;) {
10592
10610
  const descriptor = descriptorList_1_1.value;
10593
- const device = Device.fromDescriptor(descriptor);
10611
+ let device = Device.fromDescriptor(descriptor);
10594
10612
  device.deviceConnector = this.connector;
10595
10613
  yield device.connect();
10596
10614
  yield device.initialize();
@@ -10598,7 +10616,14 @@ class DeviceList extends events.exports {
10598
10616
  deviceList.push(device);
10599
10617
  if (device.features) {
10600
10618
  const uuid = getDeviceUUID(device.features);
10619
+ if (cacheDeviceMap.has(uuid)) {
10620
+ const cache = cacheDeviceMap.get(uuid);
10621
+ cache === null || cache === void 0 ? void 0 : cache.updateFromCache(device);
10622
+ device = cache;
10623
+ Log$2.debug('use cache device: ', uuid);
10624
+ }
10601
10625
  this.devices[uuid] = device;
10626
+ cacheDeviceMap.set(uuid, device);
10602
10627
  }
10603
10628
  }
10604
10629
  }
@@ -13199,6 +13224,7 @@ let _deviceList;
13199
13224
  let _connector;
13200
13225
  let _uiPromises = [];
13201
13226
  let _callPromise;
13227
+ const deviceCacheMap = new Map();
13202
13228
  const callAPI = (message) => __awaiter(void 0, void 0, void 0, function* () {
13203
13229
  var _a, _b;
13204
13230
  if (!message.id || !message.payload || message.type !== IFRAME.CALL) {
@@ -13359,10 +13385,32 @@ function initDeviceForBle(method) {
13359
13385
  if (!method.connectId) {
13360
13386
  return initDevice(method);
13361
13387
  }
13362
- const device = Device.fromDescriptor({ id: method.connectId });
13388
+ let device;
13389
+ if (deviceCacheMap.has(method.connectId)) {
13390
+ device = deviceCacheMap.get(method.connectId);
13391
+ }
13392
+ else {
13393
+ device = Device.fromDescriptor({ id: method.connectId });
13394
+ deviceCacheMap.set(method.connectId, device);
13395
+ }
13363
13396
  device.deviceConnector = _connector;
13364
13397
  return device;
13365
13398
  }
13399
+ const cancel = (connectId) => {
13400
+ const env = DataManager.getSettings('env');
13401
+ if (connectId) {
13402
+ let device;
13403
+ if (env === 'react-native') {
13404
+ device = initDeviceForBle({ connectId });
13405
+ }
13406
+ else {
13407
+ device = initDevice({ connectId });
13408
+ }
13409
+ device === null || device === void 0 ? void 0 : device.interruption();
13410
+ }
13411
+ cleanup();
13412
+ closePopup();
13413
+ };
13366
13414
  const cleanup = () => {
13367
13415
  _uiPromises = [];
13368
13416
  Log.debug('Cleanup...');
@@ -13425,6 +13473,10 @@ class Core extends events.exports {
13425
13473
  const response = yield callAPI(message);
13426
13474
  return response;
13427
13475
  }
13476
+ case IFRAME.CANCEL: {
13477
+ cancel(message.payload.connectId);
13478
+ break;
13479
+ }
13428
13480
  }
13429
13481
  return Promise.resolve(message);
13430
13482
  });
@@ -49,7 +49,7 @@ export declare type CoreApi = {
49
49
  dispose: () => void;
50
50
  call: (params: any) => Promise<any>;
51
51
  uiResponse: typeof uiResponse;
52
- cancel: (params?: string) => void;
52
+ cancel: (connectId?: string) => void;
53
53
  searchDevices: typeof searchDevices;
54
54
  getFeatures: typeof getFeatures;
55
55
  checkFirmwareRelease: typeof checkFirmwareRelease;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "0.1.1",
3
+ "version": "0.1.4",
4
4
  "description": "> TODO: description",
5
5
  "author": "OneKey",
6
6
  "homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
@@ -25,7 +25,7 @@
25
25
  "url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
26
26
  },
27
27
  "dependencies": {
28
- "@onekeyfe/hd-transport": "^0.1.1",
28
+ "@onekeyfe/hd-transport": "^0.1.4",
29
29
  "axios": "^0.27.2",
30
30
  "bignumber.js": "^9.0.2",
31
31
  "parse-uri": "^1.0.7",
@@ -35,5 +35,5 @@
35
35
  "@types/parse-uri": "^1.0.0",
36
36
  "@types/semver": "^7.3.9"
37
37
  },
38
- "gitHead": "006c48af97498aad26719d9839979ecc2c55aea6"
38
+ "gitHead": "11d482262e5af9baf45b0b554006cff0aebed97c"
39
39
  }
@@ -11,6 +11,7 @@ export const ERROR_CODES = {
11
11
  Device_UnexpectedMode: '',
12
12
  Device_CallInProgress: '',
13
13
  Device_InitializeFailed: '',
14
+ Device_Interrupted: 'The device is performing other operations',
14
15
  Not_Use_Onekey_Device: 'Please use onekey device',
15
16
 
16
17
  // runtime error
package/src/core/index.ts CHANGED
@@ -41,6 +41,8 @@ let _uiPromises: UiPromise<UiPromiseResponse['type']>[] = []; // Waiting for ui
41
41
  let _callPromise: Deferred<any> | undefined;
42
42
  const callApiQueue = [];
43
43
 
44
+ const deviceCacheMap = new Map<string, Device>();
45
+
44
46
  export const callAPI = async (message: CoreMessage) => {
45
47
  if (!message.id || !message.payload || message.type !== IFRAME.CALL) {
46
48
  return Promise.reject(
@@ -250,11 +252,32 @@ function initDeviceForBle(method: BaseMethod) {
250
252
  return initDevice(method);
251
253
  }
252
254
 
253
- const device = Device.fromDescriptor({ id: method.connectId } as OneKeyDeviceInfo);
255
+ let device: Device;
256
+ if (deviceCacheMap.has(method.connectId)) {
257
+ device = deviceCacheMap.get(method.connectId) as Device;
258
+ } else {
259
+ device = Device.fromDescriptor({ id: method.connectId } as OneKeyDeviceInfo);
260
+ deviceCacheMap.set(method.connectId, device);
261
+ }
254
262
  device.deviceConnector = _connector;
255
263
  return device;
256
264
  }
257
265
 
266
+ export const cancel = (connectId?: string) => {
267
+ const env = DataManager.getSettings('env');
268
+ if (connectId) {
269
+ let device;
270
+ if (env === 'react-native') {
271
+ device = initDeviceForBle({ connectId } as BaseMethod);
272
+ } else {
273
+ device = initDevice({ connectId } as BaseMethod);
274
+ }
275
+ device?.interruption();
276
+ }
277
+ cleanup();
278
+ closePopup();
279
+ };
280
+
258
281
  const cleanup = () => {
259
282
  _uiPromises = [];
260
283
  Log.debug('Cleanup...');
@@ -346,6 +369,10 @@ export default class Core extends EventEmitter {
346
369
  const response = await callAPI(message);
347
370
  return response;
348
371
  }
372
+ case IFRAME.CANCEL: {
373
+ cancel(message.payload.connectId);
374
+ break;
375
+ }
349
376
  default:
350
377
  break;
351
378
  }
@@ -85,8 +85,6 @@ export class Device extends EventEmitter {
85
85
 
86
86
  internalState: string[] = [];
87
87
 
88
- loaded = false;
89
-
90
88
  needReloadDevice = false;
91
89
 
92
90
  /**
@@ -281,10 +279,19 @@ export class Device extends EventEmitter {
281
279
  }
282
280
  }
283
281
 
282
+ updateFromCache(device: Device) {
283
+ this.mainId = device.mainId;
284
+ this.commands = device.commands;
285
+ this.updateDescriptor(device.originalDescriptor);
286
+ if (device.features) {
287
+ this._updateFeatures(device.features);
288
+ }
289
+ }
290
+
284
291
  async run(fn?: () => Promise<void>, options?: RunOptions) {
285
292
  if (this.runPromise) {
286
- Log.error('[Device] run error:', 'Device is running');
287
- throw ERRORS.TypedError('Device_CallInProgress');
293
+ this.interruption();
294
+ Log.debug('[Device] run error:', 'Device is running, but will cancel previous operate');
288
295
  }
289
296
 
290
297
  options = parseRunOptions(options);
@@ -319,11 +326,6 @@ export class Device extends EventEmitter {
319
326
  await fn();
320
327
  }
321
328
 
322
- // reload features
323
- if (this.loaded && this.features) {
324
- await this.getFeatures();
325
- }
326
-
327
329
  if (
328
330
  (!this.keepSession && typeof options.keepSession !== 'boolean') ||
329
331
  options.keepSession === false
@@ -338,9 +340,14 @@ export class Device extends EventEmitter {
338
340
  }
339
341
 
340
342
  this.runPromise = null;
343
+ }
341
344
 
342
- if (!this.loaded) {
343
- this.loaded = true;
345
+ interruption() {
346
+ if (this.commands) {
347
+ this.commands.dispose();
348
+ }
349
+ if (this.runPromise) {
350
+ this.runPromise.reject(ERRORS.TypedError('Device_Interrupted'));
344
351
  }
345
352
  }
346
353
 
@@ -56,7 +56,11 @@ export class DeviceCommands {
56
56
 
57
57
  dispose() {
58
58
  this.disposed = true;
59
+ if (this._cancelableRequest) {
60
+ this._cancelableRequest();
61
+ }
59
62
  this._cancelableRequest = undefined;
63
+ this.transport.cancel?.();
60
64
  }
61
65
 
62
66
  // Sends an async message to the opened device.
@@ -2,6 +2,11 @@ import EventEmitter from 'events';
2
2
  import DeviceConnector from './DeviceConnector';
3
3
  import { Device } from './Device';
4
4
  import { getDeviceUUID } from '../utils/deviceFeaturesUtils';
5
+ import { initLog } from '../utils';
6
+
7
+ const cacheDeviceMap = new Map<string, Device>();
8
+
9
+ const Log = initLog('DeviceList');
5
10
 
6
11
  export class DeviceList extends EventEmitter {
7
12
  devices: Record<string, Device> = {};
@@ -20,7 +25,7 @@ export class DeviceList extends EventEmitter {
20
25
  const deviceList = [];
21
26
  console.log('get device list');
22
27
  for await (const descriptor of descriptorList) {
23
- const device = Device.fromDescriptor(descriptor);
28
+ let device = Device.fromDescriptor(descriptor);
24
29
  device.deviceConnector = this.connector;
25
30
  await device.connect();
26
31
  await device.initialize();
@@ -30,7 +35,14 @@ export class DeviceList extends EventEmitter {
30
35
  deviceList.push(device);
31
36
  if (device.features) {
32
37
  const uuid = getDeviceUUID(device.features);
38
+ if (cacheDeviceMap.has(uuid)) {
39
+ const cache = cacheDeviceMap.get(uuid);
40
+ cache?.updateFromCache(device);
41
+ device = cache as Device;
42
+ Log.debug('use cache device: ', uuid);
43
+ }
33
44
  this.devices[uuid] = device;
45
+ cacheDeviceMap.set(uuid, device);
34
46
  }
35
47
  }
36
48
 
@@ -46,6 +46,12 @@ export interface IFrameCallMessage {
46
46
  payload: CallMethodPayload;
47
47
  }
48
48
 
49
+ export interface IFrameCancelMessage {
50
+ event: typeof IFRAME.CANCEL;
51
+ type: typeof IFRAME.CANCEL;
52
+ payload: { connectId?: string };
53
+ }
54
+
49
55
  export const RESPONSE_EVENT = 'RESPONSE_EVENT';
50
56
 
51
57
  export interface MethodResponseMessage {
@@ -1,5 +1,5 @@
1
1
  import { Unsuccessful } from '../types/params';
2
- import { IFrameCallMessage } from './call';
2
+ import { IFrameCallMessage, IFrameCancelMessage } from './call';
3
3
  import { DeviceEventMessage } from './device';
4
4
  import { IFrameEventMessage } from './iframe';
5
5
  import { UiEventMessage } from './ui-request';
@@ -13,6 +13,7 @@ export type CoreMessage = {
13
13
  } & (
14
14
  | IFrameEventMessage
15
15
  | IFrameCallMessage
16
+ | IFrameCancelMessage
16
17
  | UiResponseMessage
17
18
  | UiEventMessage
18
19
  | DeviceEventMessage
@@ -6,6 +6,7 @@ export const IFRAME = {
6
6
  INIT: 'iframe-init',
7
7
  INIT_BRIDGE: 'iframe-init-bridge',
8
8
  CALL: 'iframe-call',
9
+ CANCEL: 'iframe-cancel',
9
10
  } as const;
10
11
 
11
12
  export interface IFrameInit {
@@ -54,7 +54,7 @@ export type CoreApi = {
54
54
  dispose: () => void;
55
55
  call: (params: any) => Promise<any>;
56
56
  uiResponse: typeof uiResponse;
57
- cancel: (params?: string) => void;
57
+ cancel: (connectId?: string) => void;
58
58
 
59
59
  /**
60
60
  * Core function