@onekeyfe/hd-core 1.1.2-alpha.2 → 1.1.2-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"AllNetworkGetAddress.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddress.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AASlE,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,wBAAwB;IAClE,oBAAoB;CAsD3B"}
1
+ {"version":3,"file":"AllNetworkGetAddress.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddress.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AASlE,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,wBAAwB;IAClE,oBAAoB;CA6D3B"}
@@ -28,6 +28,7 @@ export default abstract class AllNetworkGetAddressBase extends BaseMethod<{
28
28
  network: string;
29
29
  chain_name?: string;
30
30
  }[]> {
31
+ abortController: AbortController | null;
31
32
  init(): void;
32
33
  generateMethodName({ network, payload, originalIndex, }: {
33
34
  network: INetwork;
@@ -1 +1 @@
1
- {"version":3,"file":"AllNetworkGetAddressBase.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddressBase.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EACV,uBAAuB,EACvB,QAAQ,EACR,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,sCAAsC,CAAC;AAW9C,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,uBAAuB,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IAClG,kBAAkB,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAEzF,MAAM,MAAM,gBAAgB,GAAG;KAC5B,CAAC,IAAI,YAAY,GAAG,aAAa;CACnC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAOrD,CAAC;AA8LF,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,oBAAoB,EAAE,uBAAuB,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,wBAAyB,SAAQ,UAAU,CACvE;IACE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,EAAE,CACJ;IACC,IAAI;IAkBJ,kBAAkB,CAAC,EACjB,OAAO,EACP,OAAO,EACP,aAAa,GACd,EAAE;QACD,OAAO,EAAE,QAAQ,CAAC;QAClB,OAAO,EAAE,uBAAuB,CAAC;QACjC,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,YAAY;IAqBV,UAAU,CACd,UAAU,EAAE,MAAM,OAAO,EACzB,MAAM,EAAE,GAAG,GAAG;QACZ,MAAM,EAAE,CAAC,GAAG,GAAG;YAAE,oBAAoB,EAAE,oBAAoB,CAAA;SAAE,CAAC,EAAE,CAAC;KAClE;IAyDH,QAAQ,CAAC,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAEvD,GAAG;CAGV"}
1
+ {"version":3,"file":"AllNetworkGetAddressBase.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddressBase.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EACV,uBAAuB,EACvB,QAAQ,EACR,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,sCAAsC,CAAC;AAY9C,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,uBAAuB,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IAClG,kBAAkB,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAEzF,MAAM,MAAM,gBAAgB,GAAG;KAC5B,CAAC,IAAI,YAAY,GAAG,aAAa;CACnC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAOrD,CAAC;AA8LF,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,oBAAoB,EAAE,uBAAuB,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,wBAAyB,SAAQ,UAAU,CACvE;IACE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,EAAE,CACJ;IACC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAQ;IAE/C,IAAI;IAoBJ,kBAAkB,CAAC,EACjB,OAAO,EACP,OAAO,EACP,aAAa,GACd,EAAE;QACD,OAAO,EAAE,QAAQ,CAAC;QAClB,OAAO,EAAE,uBAAuB,CAAC;QACjC,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,YAAY;IAqBV,UAAU,CACd,UAAU,EAAE,MAAM,OAAO,EACzB,MAAM,EAAE,GAAG,GAAG;QACZ,MAAM,EAAE,CAAC,GAAG,GAAG;YAAE,oBAAoB,EAAE,oBAAoB,CAAA;SAAE,CAAC,EAAE,CAAC;KAClE;IA+EH,QAAQ,CAAC,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAEvD,GAAG;CAmBV"}
@@ -1 +1 @@
1
- {"version":3,"file":"AllNetworkGetAddressByLoop.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddressByLoop.ts"],"names":[],"mappings":"AAOA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,wBAAwB;IACxE,oBAAoB;YAwBZ,4BAA4B;IA4C1C,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;CAczB"}
1
+ {"version":3,"file":"AllNetworkGetAddressByLoop.d.ts","sourceRoot":"","sources":["../../../src/api/allnetwork/AllNetworkGetAddressByLoop.ts"],"names":[],"mappings":"AAaA,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAGlE,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,wBAAwB;IACxE,oBAAoB;YAwBZ,4BAA4B;IA2E1C,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,gBAAgB;CAazB"}
@@ -1 +1 @@
1
- {"version":3,"file":"BTCGetPublicKey.d.ts","sourceRoot":"","sources":["../../../src/api/btc/BTCGetPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAK/D,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,YAAY,EAAE,CAAC;IACrE,SAAS,UAAS;IAElB,IAAI;IA4CJ,OAAO,CAAC,YAAY;IAIpB,eAAe;;;;;;;;;;;IAIT,GAAG;CA2FV"}
1
+ {"version":3,"file":"BTCGetPublicKey.d.ts","sourceRoot":"","sources":["../../../src/api/btc/BTCGetPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAK/D,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,YAAY,EAAE,CAAC;IACrE,SAAS,UAAS;IAElB,IAAI;IA4CJ,OAAO,CAAC,YAAY;IAIpB,eAAe;;;;;;;;;;;IAIT,GAAG;CAuGV"}
@@ -1,9 +1,7 @@
1
1
  import { LockDevice } from '@onekeyfe/hd-transport';
2
2
  import { BaseMethod } from '../BaseMethod';
3
- import { DeviceFirmwareRange } from '../../types';
4
3
  export default class DeviceUnlock extends BaseMethod<LockDevice> {
5
4
  init(): void;
6
- supportUnlockVersionRange(): DeviceFirmwareRange;
7
5
  run(): Promise<import("@onekeyfe/hd-transport").Features>;
8
6
  }
9
7
  //# sourceMappingURL=DeviceUnlock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceUnlock.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceUnlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU,CAAC,UAAU,CAAC;IAC9D,IAAI;IAIJ,yBAAyB,IAAI,mBAAmB;IAQ1C,GAAG;CAqCV"}
1
+ {"version":3,"file":"DeviceUnlock.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceUnlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU,CAAC,UAAU,CAAC;IAC9D,IAAI;IAIE,GAAG;CAGV"}
@@ -1,12 +1,14 @@
1
1
  /// <reference types="node" />
2
2
  import EventEmitter from 'events';
3
3
  import { LowlevelTransportSharedPlugin } from '@onekeyfe/hd-transport';
4
+ import { Device } from '../device/Device';
4
5
  import { CoreMessage } from '../events';
5
6
  import type { ConnectSettings } from '../types';
6
7
  import DeviceConnector from '../device/DeviceConnector';
7
8
  export type CoreContext = ReturnType<Core['getCoreContext']>;
8
9
  export declare const callAPI: (context: CoreContext, message: CoreMessage) => Promise<any>;
9
10
  export declare const cancel: (context: CoreContext, connectId?: string) => void;
11
+ export declare const onDeviceButtonHandler: (__0_0: Device, __0_1: import("../events").DeviceButtonRequestPayload) => void;
10
12
  export default class Core extends EventEmitter {
11
13
  private requestQueue;
12
14
  private prePendingCallPromise;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAY,6BAA6B,EAAoB,MAAM,wBAAwB,CAAC;AA6BnG,OAAO,EAEL,WAAW,EAWZ,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAE7D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAMxD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAsC7D,eAAO,MAAM,OAAO,YAAmB,WAAW,WAAW,WAAW,iBA2DvE,CAAC;AA+iBF,eAAO,MAAM,MAAM,YAAa,WAAW,cAAc,MAAM,SA+E9D,CAAC;AA2KF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IAC5C,OAAO,CAAC,YAAY,CAAsB;IAG1C,OAAO,CAAC,qBAAqB,CAA4B;IAEzD,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,cAAc;IAkBhB,aAAa,CAAC,OAAO,EAAE,WAAW;IA0DxC,OAAO;CAGR;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;AAClC,OAAO,EAAY,6BAA6B,EAAoB,MAAM,wBAAwB,CAAC;AAsBnG,OAAO,EAAE,MAAM,EAAyC,MAAM,kBAAkB,CAAC;AAOjF,OAAO,EAEL,WAAW,EAWZ,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,UAAU,CAAC;AAE7D,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAMxD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAsC7D,eAAO,MAAM,OAAO,YAAmB,WAAW,WAAW,WAAW,iBA2DvE,CAAC;AA+iBF,eAAO,MAAM,MAAM,YAAa,WAAW,cAAc,MAAM,SA+E9D,CAAC;AAsEF,eAAO,MAAM,qBAAqB,gFAejC,CAAC;AAsFF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,YAAY;IAC5C,OAAO,CAAC,YAAY,CAAsB;IAG1C,OAAO,CAAC,qBAAqB,CAA4B;IAEzD,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,cAAc;IAkBhB,aAAa,CAAC,OAAO,EAAE,WAAW;IA0DxC,OAAO;CAGR;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"}
@@ -4,7 +4,7 @@ import { OneKeyDeviceInfo as DeviceDescriptor } from '@onekeyfe/hd-transport';
4
4
  import { Deferred } from '@onekeyfe/hd-shared';
5
5
  import type DeviceConnector from './DeviceConnector';
6
6
  import { DeviceCommands, PassphrasePromptResponse } from './DeviceCommands';
7
- import { EOneKeyDeviceMode, type Device as DeviceTyped, type Features, type UnavailableCapabilities } from '../types';
7
+ import { type DeviceFirmwareRange, EOneKeyDeviceMode, type Device as DeviceTyped, type Features, type UnavailableCapabilities } from '../types';
8
8
  import { DEVICE, DeviceButtonRequestPayload, DeviceFeaturesPayload, PassphraseRequestPayload } from '../events';
9
9
  import { PROTO } from '../constants';
10
10
  export type InitOptions = {
@@ -92,6 +92,8 @@ export declare class Device extends EventEmitter {
92
92
  hasUsePassphrase(): boolean | undefined;
93
93
  checkDeviceId(deviceId: string): boolean;
94
94
  lockDevice(): Promise<import("@onekeyfe/hd-transport").Success>;
95
+ supportUnlockVersionRange(): DeviceFirmwareRange;
96
+ unlockDevice(): Promise<import("@onekeyfe/hd-transport").Features>;
95
97
  checkPassphraseStateSafety(passphraseState?: string, useEmptyPassphrase?: boolean, skipPassphraseCheck?: boolean): Promise<boolean>;
96
98
  }
97
99
  export default Device;
@@ -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":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,gBAAgB,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAEL,QAAQ,EAKT,MAAM,qBAAqB,CAAC;AAiB7B,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,EACL,KAAK,mBAAmB,EACxB,iBAAiB,EACjB,KAAK,MAAM,IAAI,WAAW,EAC1B,KAAK,QAAQ,EACb,KAAK,uBAAuB,EAC7B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,MAAM,EACN,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,EAEzB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAKrC,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,WAAW,CAAC;AAShB,MAAM,WAAW,YAAY;IAC3B,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,oBAAoB,GAAG,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;IAChG,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IACtD,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACnD,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACnB,MAAM;QACN,wBAAwB;QACxB,CAAC,QAAQ,EAAE,wBAAwB,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI;KAC5D,CAAC;IACF,CAAC,MAAM,CAAC,0CAA0C,CAAC,EAAE;QACnD,MAAM;QACN,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI;KACrC,CAAC;CACH;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAE/F,GAAG,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAEhG,IAAI,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CAChF;AAID,qBAAa,MAAO,SAAQ,YAAY;IAItC,kBAAkB,EAAE,gBAAgB,CAAC;IAOrC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAKvB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAQ;IAMhD,QAAQ,EAAE,cAAc,CAAC;IAKzB,OAAO,CAAC,gBAAgB,CAAC,CAAoC;IAK7D,OAAO,CAAC,cAAc,CAAS;IAK/B,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAa;IAK3C,mBAAmB,UAAS;IAE5B,UAAU,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEnC,aAAa,EAAE,MAAM,EAAE,CAAM;IAE7B,uBAAuB,EAAE,uBAAuB,CAAM;IAEtD,QAAQ,SAAK;IAEb,aAAa,EAAE,MAAM,EAAE,CAAM;IAE7B,gBAAgB,UAAS;IAKzB,WAAW,UAAS;IAEpB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAa;IAEhD,sBAAsB,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAE5B,UAAU,EAAE,gBAAgB;IAKxC,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,gBAAgB;IAM1D,eAAe,IAAI,WAAW,GAAG,IAAI;IAiCrC,OAAO;IA+BD,OAAO;IAgCP,OAAO;IAwCb,WAAW;IAIX,OAAO,CAAC,gBAAgB;IAOxB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM;IAkBnC,mBAAmB,CACjB,gBAAgB,EAAE,OAAO,EACzB,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,iBAAiB,GAAE,MAAM,GAAG,IAAW;IA6BzC,OAAO,CAAC,gBAAgB;IAuBxB,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM;IAc/B,UAAU,CAAC,OAAO,CAAC,EAAE,WAAW;IAiDhC,WAAW;IAKjB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,OAAO;IAsBrD,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,EAAE,WAAW,UAAQ;IAiBlE,eAAe,CAAC,MAAM,EAAE,MAAM;IASxB,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU;IAYlD,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,OAAO,EAAE,UAAU;IAoFpE,uBAAuB;IASvB,oBAAoB;IAW1B,mBAAmB,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC;IAW/D,qBAAqB;IAIrB,OAAO;IAoBP,kBAAkB;IAKlB,qBAAqB;IAKrB,MAAM;IAIN,gBAAgB;IAQhB,UAAU;IAQV,eAAe,IAAI,OAAO;IAI1B,YAAY;IAIZ,aAAa;IAIb,UAAU;IAIV,YAAY,IAAI,OAAO;IAIvB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;IAsBpD,gBAAgB;IAShB,aAAa,CAAC,QAAQ,EAAE,MAAM;IAOxB,UAAU;IAKhB,yBAAyB,IAAI,mBAAmB;IAQ1C,YAAY;IAsCZ,0BAA0B,CAC9B,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,OAAO,EAC5B,mBAAmB,CAAC,EAAE,OAAO;CA2ChC;AAED,eAAe,MAAM,CAAC"}
@@ -31,7 +31,7 @@ export declare const cancelDeviceInPrompt: (device: Device, expectResponse?: boo
31
31
  };
32
32
  } | {
33
33
  success: boolean;
34
- error: 0 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 200 | 300 | 301 | 302 | 303 | 304 | 305 | 400 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 500 | 600 | 601 | 602 | 603 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 900 | 901 | 902;
34
+ error: 0 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 200 | 300 | 301 | 302 | 303 | 304 | 305 | 400 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 500 | 600 | 601 | 602 | 603 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 900 | 901 | 902;
35
35
  payload: {
36
36
  message: string;
37
37
  };
@@ -50,7 +50,7 @@ export declare const cancelDeviceWithInitialize: (device: Device) => Promise<{
50
50
  };
51
51
  } | {
52
52
  success: boolean;
53
- error: 0 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 200 | 300 | 301 | 302 | 303 | 304 | 305 | 400 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 500 | 600 | 601 | 602 | 603 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 900 | 901 | 902;
53
+ error: 0 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 200 | 300 | 301 | 302 | 303 | 304 | 305 | 400 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 500 | 600 | 601 | 602 | 603 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 900 | 901 | 902;
54
54
  payload: {
55
55
  message: string;
56
56
  };
@@ -78,7 +78,7 @@ export declare class DeviceCommands {
78
78
  };
79
79
  } | {
80
80
  success: boolean;
81
- error: 0 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 200 | 300 | 301 | 302 | 303 | 304 | 305 | 400 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 500 | 600 | 601 | 602 | 603 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 900 | 901 | 902;
81
+ error: 0 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 200 | 300 | 301 | 302 | 303 | 304 | 305 | 400 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 500 | 600 | 601 | 602 | 603 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 900 | 901 | 902;
82
82
  payload: {
83
83
  message: string;
84
84
  };
@@ -97,7 +97,7 @@ export declare class DeviceCommands {
97
97
  };
98
98
  } | {
99
99
  success: boolean;
100
- error: 0 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 200 | 300 | 301 | 302 | 303 | 304 | 305 | 400 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 500 | 600 | 601 | 602 | 603 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 900 | 901 | 902;
100
+ error: 0 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 200 | 300 | 301 | 302 | 303 | 304 | 305 | 400 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 500 | 600 | 601 | 602 | 603 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 900 | 901 | 902;
101
101
  payload: {
102
102
  message: string;
103
103
  };
package/dist/index.d.ts CHANGED
@@ -700,17 +700,14 @@ type AllNetworkAddress = AllNetworkAddressParams & {
700
700
  type AllNetworkGetAddressParams = {
701
701
  bundle: AllNetworkAddressParams[];
702
702
  };
703
- type AllNetworkGetAddressParamsByLoop = {
703
+ type AllNetworkGetAddressParamsByLoop = AllNetworkGetAddressParams & {
704
704
  callbackId?: string;
705
705
  callbackIdFinish?: string;
706
- onLoopItemResponse: (data?: AllNetworkAddress, error?: {
707
- message: string;
708
- code?: number;
709
- }) => void;
710
- onAllItemsResponse: (data?: AllNetworkAddress[]) => void;
706
+ onLoopItemResponse: (data?: AllNetworkAddress) => void;
707
+ onAllItemsResponse: (data?: AllNetworkAddress[], error?: Unsuccessful) => void;
711
708
  };
712
709
  declare function allNetworkGetAddress(connectId: string, deviceId: string, params: CommonParams & AllNetworkGetAddressParams): Response<AllNetworkAddress[]>;
713
- declare function allNetworkGetAddressByLoop(connectId: string, deviceId: string, params: CommonParams & AllNetworkGetAddressParamsByLoop): Response<string[]>;
710
+ declare function allNetworkGetAddressByLoop(connectId: string, deviceId: string, params: CommonParams & AllNetworkGetAddressParamsByLoop): Response<AllNetworkAddress[]>;
714
711
 
715
712
  type EVMAddress = {
716
713
  path: string;
@@ -2888,7 +2885,7 @@ declare class DeviceCommands {
2888
2885
  };
2889
2886
  } | {
2890
2887
  success: boolean;
2891
- error: 0 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 200 | 300 | 301 | 302 | 303 | 304 | 305 | 400 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 500 | 600 | 601 | 602 | 603 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 900 | 901 | 902;
2888
+ error: 0 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 200 | 300 | 301 | 302 | 303 | 304 | 305 | 400 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 500 | 600 | 601 | 602 | 603 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 900 | 901 | 902;
2892
2889
  payload: {
2893
2890
  message: string;
2894
2891
  };
@@ -2907,7 +2904,7 @@ declare class DeviceCommands {
2907
2904
  };
2908
2905
  } | {
2909
2906
  success: boolean;
2910
- error: 0 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 200 | 300 | 301 | 302 | 303 | 304 | 305 | 400 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 500 | 600 | 601 | 602 | 603 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 900 | 901 | 902;
2907
+ error: 0 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 200 | 300 | 301 | 302 | 303 | 304 | 305 | 400 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 500 | 600 | 601 | 602 | 603 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 900 | 901 | 902;
2911
2908
  payload: {
2912
2909
  message: string;
2913
2910
  };
@@ -3007,6 +3004,8 @@ declare class Device extends EventEmitter$1 {
3007
3004
  hasUsePassphrase(): boolean | undefined;
3008
3005
  checkDeviceId(deviceId: string): boolean;
3009
3006
  lockDevice(): Promise<_onekeyfe_hd_transport.Success>;
3007
+ supportUnlockVersionRange(): DeviceFirmwareRange;
3008
+ unlockDevice(): Promise<_onekeyfe_hd_transport.Features>;
3010
3009
  checkPassphraseStateSafety(passphraseState?: string, useEmptyPassphrase?: boolean, skipPassphraseCheck?: boolean): Promise<boolean>;
3011
3010
  }
3012
3011
 
package/dist/index.js CHANGED
@@ -27109,6 +27109,44 @@ class Device extends events.exports {
27109
27109
  return res.message;
27110
27110
  });
27111
27111
  }
27112
+ supportUnlockVersionRange() {
27113
+ return {
27114
+ pro: {
27115
+ min: '4.15.0',
27116
+ },
27117
+ };
27118
+ }
27119
+ unlockDevice() {
27120
+ var _a;
27121
+ return __awaiter(this, void 0, void 0, function* () {
27122
+ const firmwareVersion = (_a = getDeviceFirmwareVersion(this.features)) === null || _a === void 0 ? void 0 : _a.join('.');
27123
+ const versionRange = getMethodVersionRange(this.features, type => this.supportUnlockVersionRange()[type]);
27124
+ if (versionRange && semver__default["default"].gte(firmwareVersion, versionRange.min)) {
27125
+ const res = yield this.commands.typedCall('UnLockDevice', 'UnLockDeviceResponse');
27126
+ if (this.features) {
27127
+ this.features.unlocked = res.message.unlocked == null ? null : res.message.unlocked;
27128
+ this.features.unlocked_attach_pin =
27129
+ res.message.unlocked_attach_pin == null ? undefined : res.message.unlocked_attach_pin;
27130
+ this.features.passphrase_protection =
27131
+ res.message.passphrase_protection == null ? null : res.message.passphrase_protection;
27132
+ return Promise.resolve(this.features);
27133
+ }
27134
+ const featuresRes = yield this.commands.typedCall('GetFeatures', 'Features');
27135
+ return Promise.resolve(featuresRes.message);
27136
+ }
27137
+ const { type } = yield this.commands.typedCall('GetAddress', 'Address', {
27138
+ address_n: [toHardened(44), toHardened(1), toHardened(0), 0, 0],
27139
+ coin_name: 'Testnet',
27140
+ script_type: 'SPENDADDRESS',
27141
+ show_display: false,
27142
+ });
27143
+ if (type === 'CallMethodError') {
27144
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'unlock device error');
27145
+ }
27146
+ const res = yield this.commands.typedCall('GetFeatures', 'Features');
27147
+ return Promise.resolve(res.message);
27148
+ });
27149
+ }
27112
27150
  checkPassphraseStateSafety(passphraseState, useEmptyPassphrase, skipPassphraseCheck) {
27113
27151
  return __awaiter(this, void 0, void 0, function* () {
27114
27152
  if (!this.features)
@@ -28681,42 +28719,9 @@ class DeviceUnlock extends BaseMethod {
28681
28719
  init() {
28682
28720
  this.useDevicePassphraseState = false;
28683
28721
  }
28684
- supportUnlockVersionRange() {
28685
- return {
28686
- pro: {
28687
- min: '4.15.0',
28688
- },
28689
- };
28690
- }
28691
28722
  run() {
28692
- var _a;
28693
28723
  return __awaiter(this, void 0, void 0, function* () {
28694
- const firmwareVersion = (_a = getDeviceFirmwareVersion(this.device.features)) === null || _a === void 0 ? void 0 : _a.join('.');
28695
- const versionRange = getMethodVersionRange(this.device.features, type => this.supportUnlockVersionRange()[type]);
28696
- if (versionRange && semver__default["default"].gte(firmwareVersion, versionRange.min)) {
28697
- const res = yield this.device.commands.typedCall('UnLockDevice', 'UnLockDeviceResponse');
28698
- if (this.device.features) {
28699
- this.device.features.unlocked = res.message.unlocked == null ? null : res.message.unlocked;
28700
- this.device.features.unlocked_attach_pin =
28701
- res.message.unlocked_attach_pin == null ? undefined : res.message.unlocked_attach_pin;
28702
- this.device.features.passphrase_protection =
28703
- res.message.passphrase_protection == null ? null : res.message.passphrase_protection;
28704
- return Promise.resolve(this.device.features);
28705
- }
28706
- const featuresRes = yield this.device.commands.typedCall('GetFeatures', 'Features');
28707
- return Promise.resolve(featuresRes.message);
28708
- }
28709
- const { type } = yield this.device.commands.typedCall('GetAddress', 'Address', {
28710
- address_n: [toHardened(44), toHardened(1), toHardened(0), 0, 0],
28711
- coin_name: 'Testnet',
28712
- script_type: 'SPENDADDRESS',
28713
- show_display: false,
28714
- });
28715
- if (type === 'CallMethodError') {
28716
- throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'Get the passphrase state error');
28717
- }
28718
- const res = yield this.device.commands.typedCall('GetFeatures', 'Features');
28719
- return Promise.resolve(res.message);
28724
+ return this.device.unlockDevice();
28720
28725
  });
28721
28726
  }
28722
28727
  }
@@ -30080,10 +30085,15 @@ const networkConfigMap = {
30080
30085
  },
30081
30086
  };
30082
30087
  class AllNetworkGetAddressBase extends BaseMethod {
30088
+ constructor() {
30089
+ super(...arguments);
30090
+ this.abortController = null;
30091
+ }
30083
30092
  init() {
30084
30093
  var _a, _b;
30085
30094
  this.checkDeviceId = true;
30086
30095
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
30096
+ this.useDevicePassphraseState = false;
30087
30097
  validateParams(this.payload, [{ name: 'bundle', type: 'array' }]);
30088
30098
  (_b = (_a = this.payload) === null || _a === void 0 ? void 0 : _a.bundle) === null || _b === void 0 ? void 0 : _b.forEach((batch) => {
30089
30099
  validateParams(batch, [
@@ -30125,6 +30135,23 @@ class AllNetworkGetAddressBase extends BaseMethod {
30125
30135
  try {
30126
30136
  method.init();
30127
30137
  (_a = method.setDevice) === null || _a === void 0 ? void 0 : _a.call(method, this.device);
30138
+ method.context = this.context;
30139
+ const onSignalAbort = () => {
30140
+ var _a;
30141
+ (_a = this.abortController) === null || _a === void 0 ? void 0 : _a.abort(hdShared.HardwareErrorCodeMessage[hdShared.HardwareErrorCode.RepeatUnlocking]);
30142
+ };
30143
+ const _onDeviceButtonHandler = (...[device, request]) => {
30144
+ if (request.code === 'ButtonRequest_PinEntry' ||
30145
+ request.code === 'ButtonRequest_AttachPin') {
30146
+ onSignalAbort();
30147
+ }
30148
+ else {
30149
+ onDeviceButtonHandler(device, request);
30150
+ }
30151
+ };
30152
+ this.device.on(DEVICE.BUTTON, _onDeviceButtonHandler);
30153
+ this.device.on(DEVICE.PIN, onSignalAbort);
30154
+ this.device.on(DEVICE.PASSPHRASE, onSignalAbort);
30128
30155
  preCheckDeviceSupport(this.device, method);
30129
30156
  const response = yield method.run();
30130
30157
  if (!Array.isArray(response) || response.length === 0) {
@@ -30151,8 +30178,21 @@ class AllNetworkGetAddressBase extends BaseMethod {
30151
30178
  });
30152
30179
  }
30153
30180
  run() {
30181
+ var _a;
30154
30182
  return __awaiter(this, void 0, void 0, function* () {
30155
- return Promise.resolve(this.getAllNetworkAddress());
30183
+ if (!((_a = this.device.features) === null || _a === void 0 ? void 0 : _a.unlocked)) {
30184
+ const features = yield this.device.unlockDevice();
30185
+ if (features.passphrase_protection) {
30186
+ yield this.device.checkPassphraseStateSafety();
30187
+ }
30188
+ }
30189
+ this.abortController = new AbortController();
30190
+ return Promise.resolve(this.getAllNetworkAddress()).catch(e => {
30191
+ if (e instanceof hdShared.HardwareError && e.errorCode === hdShared.HardwareErrorCode.RepeatUnlocking) {
30192
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RepeatUnlocking, e.message);
30193
+ }
30194
+ throw e;
30195
+ });
30156
30196
  });
30157
30197
  }
30158
30198
  }
@@ -30173,10 +30213,7 @@ function handleSkippableHardwareError(e, device, method) {
30173
30213
  let error;
30174
30214
  if (e instanceof hdShared.HardwareError && e.errorCode !== hdShared.HardwareErrorCode.RuntimeError) {
30175
30215
  const { errorCode } = e;
30176
- if (errorCode === hdShared.HardwareErrorCode.CallMethodInvalidParameter) {
30177
- error = e;
30178
- }
30179
- else if (errorCode === hdShared.HardwareErrorCode.CallMethodNeedUpgradeFirmware) {
30216
+ if (errorCode === hdShared.HardwareErrorCode.CallMethodNeedUpgradeFirmware) {
30180
30217
  error = e;
30181
30218
  }
30182
30219
  else if (errorCode === hdShared.HardwareErrorCode.DeviceNotSupportMethod) {
@@ -30204,7 +30241,7 @@ function handleSkippableHardwareError(e, device, method) {
30204
30241
 
30205
30242
  class AllNetworkGetAddress extends AllNetworkGetAddressBase {
30206
30243
  getAllNetworkAddress() {
30207
- var _a, _b;
30244
+ var _a, _b, _c, _d;
30208
30245
  return __awaiter(this, void 0, void 0, function* () {
30209
30246
  const responses = [];
30210
30247
  const resultMap = {};
@@ -30227,13 +30264,19 @@ class AllNetworkGetAddress extends AllNetworkGetAddressBase {
30227
30264
  const methodParams = {
30228
30265
  bundle: params.map(param => (Object.assign({}, param.params))),
30229
30266
  };
30267
+ if ((_a = this.abortController) === null || _a === void 0 ? void 0 : _a.signal.aborted) {
30268
+ throw new Error(hdShared.HardwareErrorCodeMessage[hdShared.HardwareErrorCode.RepeatUnlocking]);
30269
+ }
30230
30270
  const response = yield this.callMethod(methodName, methodParams);
30271
+ if ((_b = this.abortController) === null || _b === void 0 ? void 0 : _b.signal.aborted) {
30272
+ throw new Error(hdShared.HardwareErrorCodeMessage[hdShared.HardwareErrorCode.RepeatUnlocking]);
30273
+ }
30231
30274
  for (let i = 0; i < params.length; i++) {
30232
30275
  const { _originRequestParams, _originalIndex } = params[i];
30233
30276
  const responseKey = `${_originalIndex}`;
30234
30277
  resultMap[responseKey] = Object.assign(Object.assign({}, _originRequestParams), response[i]);
30235
30278
  }
30236
- if (((_b = (_a = this.payload) === null || _a === void 0 ? void 0 : _a.bundle) === null || _b === void 0 ? void 0 : _b.length) > 1) {
30279
+ if (((_d = (_c = this.payload) === null || _c === void 0 ? void 0 : _c.bundle) === null || _d === void 0 ? void 0 : _d.length) > 1) {
30237
30280
  const progress = Math.round(((i + 1) / this.payload.bundle.length) * 100);
30238
30281
  this.postMessage(createUiMessage(UI_REQUEST.DEVICE_PROGRESS, { progress }));
30239
30282
  }
@@ -30267,56 +30310,86 @@ class AllNetworkGetAddressByLoop extends AllNetworkGetAddressBase {
30267
30310
  });
30268
30311
  }
30269
30312
  processCallbacksInBackground(bundle, callbackId, callbackIdFinish) {
30270
- var _a;
30313
+ var _a, _b, _c;
30271
30314
  return __awaiter(this, void 0, void 0, function* () {
30272
30315
  try {
30273
30316
  const allResults = [];
30274
30317
  for (let i = 0; i < bundle.length; i++) {
30275
30318
  const item = bundle[i];
30276
- try {
30277
- const methodParams = this.generateMethodName({
30278
- network: item.network,
30279
- payload: item,
30280
- originalIndex: i,
30281
- });
30282
- const singleMethodParams = {
30283
- bundle: [methodParams.params],
30284
- };
30285
- const response = yield this.callMethod(methodParams.methodName, singleMethodParams);
30286
- const singleResult = Object.assign(Object.assign({}, item), response[0]);
30287
- allResults.push(singleResult);
30288
- this.sendItemCallback(callbackId, singleResult, null, i);
30319
+ if ((_a = this.abortController) === null || _a === void 0 ? void 0 : _a.signal.aborted) {
30320
+ throw new Error(hdShared.HardwareErrorCodeMessage[hdShared.HardwareErrorCode.RepeatUnlocking]);
30289
30321
  }
30290
- catch (error) {
30291
- this.sendItemCallback(callbackId, null, error, i);
30292
- console.error(`Error processing item ${i}:`, error);
30322
+ const methodParams = this.generateMethodName({
30323
+ network: item.network,
30324
+ payload: item,
30325
+ originalIndex: i,
30326
+ });
30327
+ const singleMethodParams = {
30328
+ bundle: [methodParams.params],
30329
+ };
30330
+ const response = yield this.callMethod(methodParams.methodName, singleMethodParams);
30331
+ if ((_b = this.abortController) === null || _b === void 0 ? void 0 : _b.signal.aborted) {
30332
+ throw new Error(hdShared.HardwareErrorCodeMessage[hdShared.HardwareErrorCode.RepeatUnlocking]);
30293
30333
  }
30334
+ const singleResult = Object.assign(Object.assign({}, item), response[0]);
30335
+ allResults.push(singleResult);
30336
+ this.sendItemCallback(callbackId, singleResult, i);
30337
+ }
30338
+ this.sendFinishCallback({
30339
+ callbackId: callbackIdFinish,
30340
+ data: allResults,
30341
+ });
30342
+ }
30343
+ catch (error) {
30344
+ let errorCode = error.errorCode || error.code;
30345
+ let errorMessage = error.message;
30346
+ if (error instanceof hdShared.HardwareError) {
30347
+ errorCode = error.errorCode;
30348
+ errorMessage = error.message;
30349
+ }
30350
+ else if (error.message === hdShared.HardwareErrorCodeMessage[hdShared.HardwareErrorCode.RepeatUnlocking]) {
30351
+ errorCode = hdShared.HardwareErrorCode.RepeatUnlocking;
30352
+ errorMessage = error.message;
30353
+ }
30354
+ else {
30355
+ const hardwareError = hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, error.message);
30356
+ errorCode = hardwareError.errorCode;
30357
+ errorMessage = hardwareError.message;
30294
30358
  }
30295
- this.sendFinishCallback(callbackIdFinish, allResults);
30359
+ this.sendFinishCallback({
30360
+ callbackId,
30361
+ error: {
30362
+ success: false,
30363
+ payload: {
30364
+ error: errorMessage,
30365
+ code: errorCode,
30366
+ },
30367
+ },
30368
+ });
30296
30369
  }
30297
30370
  finally {
30298
- (_a = this.context) === null || _a === void 0 ? void 0 : _a.cancelCallbackTasks(this.payload.connectId);
30371
+ (_c = this.context) === null || _c === void 0 ? void 0 : _c.cancelCallbackTasks(this.payload.connectId);
30299
30372
  }
30300
30373
  });
30301
30374
  }
30302
- sendFinishCallback(callbackId, data) {
30375
+ sendFinishCallback({ callbackId, data, error, }) {
30303
30376
  this.postMessage({
30304
30377
  event: IFRAME.CALLBACK,
30305
30378
  type: IFRAME.CALLBACK,
30306
30379
  payload: {
30307
30380
  callbackId,
30308
30381
  data,
30382
+ error,
30309
30383
  },
30310
30384
  });
30311
30385
  }
30312
- sendItemCallback(callbackId, data, error, itemIndex) {
30386
+ sendItemCallback(callbackId, data, itemIndex) {
30313
30387
  this.postMessage({
30314
30388
  event: IFRAME.CALLBACK,
30315
30389
  type: IFRAME.CALLBACK,
30316
30390
  payload: {
30317
30391
  callbackId,
30318
30392
  data: Object.assign(Object.assign({}, data), { index: itemIndex }),
30319
- error: error ? { message: error.message, code: error.code } : null,
30320
30393
  },
30321
30394
  });
30322
30395
  }
@@ -30896,6 +30969,15 @@ class BTCGetPublicKey extends BaseMethod {
30896
30969
  }
30897
30970
  }
30898
30971
  catch (error) {
30972
+ if (error instanceof hdShared.HardwareError) {
30973
+ const { errorCode } = error;
30974
+ if (errorCode === hdShared.HardwareErrorCode.PinCancelled ||
30975
+ errorCode === hdShared.HardwareErrorCode.ActionCancelled ||
30976
+ errorCode === hdShared.HardwareErrorCode.ResponseUnexpectTypeError ||
30977
+ errorCode === hdShared.HardwareErrorCode.PinInvalid) {
30978
+ throw error;
30979
+ }
30980
+ }
30899
30981
  responses = [];
30900
30982
  for (let i = 0; i < this.params.length; i++) {
30901
30983
  const param = this.params[i];
@@ -1,4 +1,4 @@
1
- import type { CommonParams, Response } from '../params';
1
+ import type { CommonParams, Response, Unsuccessful } from '../params';
2
2
  import type { CardanoAddressParameters } from './cardano';
3
3
  export type INetwork = 'evm' | 'btc' | 'tbtc' | 'doge' | 'neurai' | 'ltc' | 'bch' | 'sol' | 'algo' | 'near' | 'stc' | 'cfx' | 'tron' | 'aptos' | 'xrp' | 'cosmos' | 'ada' | 'sui' | 'fil' | 'dot' | 'kaspa' | 'nexa' | 'dynex' | 'nervos' | 'scdo' | 'ton' | 'alph' | 'nostr' | 'benfen' | 'neo';
4
4
  export type CommonResponseParams = {
@@ -57,16 +57,13 @@ export type AllNetworkAddress = AllNetworkAddressParams & {
57
57
  export type AllNetworkGetAddressParams = {
58
58
  bundle: AllNetworkAddressParams[];
59
59
  };
60
- export type AllNetworkGetAddressParamsByLoop = {
60
+ export type AllNetworkGetAddressParamsByLoop = AllNetworkGetAddressParams & {
61
61
  callbackId?: string;
62
62
  callbackIdFinish?: string;
63
- onLoopItemResponse: (data?: AllNetworkAddress, error?: {
64
- message: string;
65
- code?: number;
66
- }) => void;
67
- onAllItemsResponse: (data?: AllNetworkAddress[]) => void;
63
+ onLoopItemResponse: (data?: AllNetworkAddress) => void;
64
+ onAllItemsResponse: (data?: AllNetworkAddress[], error?: Unsuccessful) => void;
68
65
  };
69
66
  export declare function allNetworkGetAddress(connectId: string, deviceId: string, params: CommonParams & AllNetworkGetAddressParams): Response<AllNetworkAddress[]>;
70
- export declare function allNetworkGetAddressByLoop(connectId: string, deviceId: string, params: CommonParams & AllNetworkGetAddressParamsByLoop): Response<string[]>;
67
+ export declare function allNetworkGetAddressByLoop(connectId: string, deviceId: string, params: CommonParams & AllNetworkGetAddressParamsByLoop): Response<AllNetworkAddress[]>;
71
68
  export {};
72
69
  //# sourceMappingURL=allNetworkGetAddress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"allNetworkGetAddress.d.ts","sourceRoot":"","sources":["../../../src/types/api/allNetworkGetAddress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"allNetworkGetAddress.d.ts","sourceRoot":"","sources":["../../../src/types/api/allNetworkGetAddress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAE1D,MAAM,MAAM,QAAQ,GAChB,KAAK,GAEL,KAAK,GACL,MAAM,GACN,MAAM,GACN,QAAQ,GACR,KAAK,GACL,KAAK,GAEL,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,MAAM,GACN,OAAO,GACP,KAAK,GACL,QAAQ,GACR,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,MAAM,GACN,KAAK,GACL,MAAM,GACN,OAAO,GACP,QAAQ,GACR,KAAK,CAAC;AAEV,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,wBAAwB,GACzB;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IAIb,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACD;IAEE,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACD;IAEE,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEN,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EACJ,wBAAwB,GACxB;QACE,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,GAAG,CAAC;KACb,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,0BAA0B,GAAG;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,CAAC,IAAI,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACvD,kBAAkB,EAAE,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,EAAE,KAAK,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;CAChF,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,0BAA0B,GAChD,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAChD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,gCAAgC,GAEtD,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "1.1.2-alpha.2",
3
+ "version": "1.1.2-alpha.3",
4
4
  "description": "> TODO: description",
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.2-alpha.2",
29
- "@onekeyfe/hd-transport": "^1.1.2-alpha.2",
28
+ "@onekeyfe/hd-shared": "^1.1.2-alpha.3",
29
+ "@onekeyfe/hd-transport": "^1.1.2-alpha.3",
30
30
  "axios": "^0.27.2",
31
31
  "bignumber.js": "^9.0.2",
32
32
  "bytebuffer": "^5.0.1",
@@ -46,5 +46,5 @@
46
46
  "@types/web-bluetooth": "^0.0.21",
47
47
  "ripple-keypairs": "^1.1.4"
48
48
  },
49
- "gitHead": "3d9a4eec5eddf20b1a01c41f5c80793446924c6e"
49
+ "gitHead": "c8cf96e2fbd1ce2ffe22b88ec48aaa272a8d3f6c"
50
50
  }
@@ -1,3 +1,4 @@
1
+ import { HardwareErrorCode, HardwareErrorCodeMessage } from '@onekeyfe/hd-shared';
1
2
  import { CoreApi } from '../../types';
2
3
 
3
4
  import type {
@@ -46,9 +47,16 @@ export default class AllNetworkGetAddress extends AllNetworkGetAddressBase {
46
47
  })),
47
48
  };
48
49
 
50
+ if (this.abortController?.signal.aborted) {
51
+ throw new Error(HardwareErrorCodeMessage[HardwareErrorCode.RepeatUnlocking]);
52
+ }
49
53
  // call method
50
54
  const response = await this.callMethod(methodName as keyof CoreApi, methodParams);
51
55
 
56
+ if (this.abortController?.signal.aborted) {
57
+ throw new Error(HardwareErrorCodeMessage[HardwareErrorCode.RepeatUnlocking]);
58
+ }
59
+
52
60
  for (let i = 0; i < params.length; i++) {
53
61
  const { _originRequestParams, _originalIndex } = params[i];
54
62
  const responseKey = `${_originalIndex}`;
@@ -1,5 +1,10 @@
1
1
  import semver from 'semver';
2
- import { ERRORS, HardwareError, HardwareErrorCode } from '@onekeyfe/hd-shared';
2
+ import {
3
+ ERRORS,
4
+ HardwareError,
5
+ HardwareErrorCode,
6
+ HardwareErrorCodeMessage,
7
+ } from '@onekeyfe/hd-shared';
3
8
 
4
9
  import { serializedPath } from '../helpers/pathUtils';
5
10
  import { BaseMethod } from '../BaseMethod';
@@ -14,10 +19,11 @@ import type {
14
19
  import { PROTO } from '../../constants';
15
20
 
16
21
  import { findMethod } from '../utils';
17
- import { IFRAME } from '../../events';
22
+ import { DEVICE, IFRAME } from '../../events';
18
23
  import { getDeviceFirmwareVersion, getMethodVersionRange } from '../../utils';
19
- import { Device } from '../../device/Device';
24
+ import { Device, DeviceEvents } from '../../device/Device';
20
25
  import { UI_REQUEST } from '../../constants/ui-request';
26
+ import { onDeviceButtonHandler } from '../../core';
21
27
 
22
28
  const Mainnet = 'mainnet';
23
29
 
@@ -246,10 +252,14 @@ export default abstract class AllNetworkGetAddressBase extends BaseMethod<
246
252
  chain_name?: string;
247
253
  }[]
248
254
  > {
255
+ abortController: AbortController | null = null;
256
+
249
257
  init() {
250
258
  this.checkDeviceId = true;
251
259
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.NOT_INITIALIZE];
252
260
 
261
+ this.useDevicePassphraseState = false;
262
+
253
263
  // check payload
254
264
  validateParams(this.payload, [{ name: 'bundle', type: 'array' }]);
255
265
 
@@ -317,6 +327,28 @@ export default abstract class AllNetworkGetAddressBase extends BaseMethod<
317
327
  try {
318
328
  method.init();
319
329
  method.setDevice?.(this.device);
330
+ method.context = this.context;
331
+
332
+ const onSignalAbort = () => {
333
+ this.abortController?.abort(HardwareErrorCodeMessage[HardwareErrorCode.RepeatUnlocking]);
334
+ };
335
+
336
+ const _onDeviceButtonHandler = (...[device, request]: [...DeviceEvents['button']]) => {
337
+ if (
338
+ request.code === 'ButtonRequest_PinEntry' ||
339
+ request.code === 'ButtonRequest_AttachPin'
340
+ ) {
341
+ onSignalAbort();
342
+ } else {
343
+ onDeviceButtonHandler(device, request);
344
+ }
345
+ };
346
+
347
+ // pro pin event
348
+ this.device.on(DEVICE.BUTTON, _onDeviceButtonHandler);
349
+ // classic pin event
350
+ this.device.on(DEVICE.PIN, onSignalAbort);
351
+ this.device.on(DEVICE.PASSPHRASE, onSignalAbort);
320
352
 
321
353
  preCheckDeviceSupport(this.device, method);
322
354
 
@@ -357,7 +389,23 @@ export default abstract class AllNetworkGetAddressBase extends BaseMethod<
357
389
  abstract getAllNetworkAddress(): Promise<AllNetworkAddress[]>;
358
390
 
359
391
  async run() {
360
- return Promise.resolve(this.getAllNetworkAddress());
392
+ if (!this.device.features?.unlocked) {
393
+ // unlock device
394
+ const features = await this.device.unlockDevice();
395
+ if (features.passphrase_protection) {
396
+ // check passphrase state
397
+ await this.device.checkPassphraseStateSafety();
398
+ }
399
+ }
400
+
401
+ this.abortController = new AbortController();
402
+
403
+ return Promise.resolve(this.getAllNetworkAddress()).catch(e => {
404
+ if (e instanceof HardwareError && e.errorCode === HardwareErrorCode.RepeatUnlocking) {
405
+ throw ERRORS.TypedError(HardwareErrorCode.RepeatUnlocking, e.message);
406
+ }
407
+ throw e;
408
+ });
361
409
  }
362
410
  }
363
411
 
@@ -393,9 +441,7 @@ function handleSkippableHardwareError(
393
441
 
394
442
  if (e instanceof HardwareError && e.errorCode !== HardwareErrorCode.RuntimeError) {
395
443
  const { errorCode } = e;
396
- if (errorCode === HardwareErrorCode.CallMethodInvalidParameter) {
397
- error = e;
398
- } else if (errorCode === HardwareErrorCode.CallMethodNeedUpgradeFirmware) {
444
+ if (errorCode === HardwareErrorCode.CallMethodNeedUpgradeFirmware) {
399
445
  error = e;
400
446
  } else if (errorCode === HardwareErrorCode.DeviceNotSupportMethod) {
401
447
  error = e;
@@ -1,4 +1,10 @@
1
- import { createDeferred } from '@onekeyfe/hd-shared';
1
+ import {
2
+ createDeferred,
3
+ ERRORS,
4
+ HardwareError,
5
+ HardwareErrorCode,
6
+ HardwareErrorCodeMessage,
7
+ } from '@onekeyfe/hd-shared';
2
8
  import type {
3
9
  AllNetworkAddress,
4
10
  AllNetworkGetAddressParamsByLoop,
@@ -6,6 +12,7 @@ import type {
6
12
 
7
13
  import { IFRAME } from '../../events';
8
14
  import AllNetworkGetAddressBase from './AllNetworkGetAddressBase';
15
+ import { Unsuccessful } from '../../types';
9
16
 
10
17
  export default class AllNetworkGetAddressByLoop extends AllNetworkGetAddressBase {
11
18
  async getAllNetworkAddress() {
@@ -43,51 +50,91 @@ export default class AllNetworkGetAddressByLoop extends AllNetworkGetAddressBase
43
50
  for (let i = 0; i < bundle.length; i++) {
44
51
  const item = bundle[i];
45
52
 
46
- try {
47
- const methodParams = this.generateMethodName({
48
- network: item.network,
49
- payload: item,
50
- originalIndex: i,
51
- });
52
-
53
- const singleMethodParams = {
54
- bundle: [methodParams.params],
55
- };
56
-
57
- const response = await this.callMethod(methodParams.methodName, singleMethodParams);
58
-
59
- const singleResult = {
60
- ...item,
61
- ...response[0],
62
- };
63
- allResults.push(singleResult);
64
-
65
- this.sendItemCallback(callbackId, singleResult, null, i);
66
- } catch (error: any) {
67
- this.sendItemCallback(callbackId, null, error, i);
68
- // continue to process other items, do not throw error
69
- console.error(`Error processing item ${i}:`, error);
53
+ if (this.abortController?.signal.aborted) {
54
+ throw new Error(HardwareErrorCodeMessage[HardwareErrorCode.RepeatUnlocking]);
70
55
  }
56
+
57
+ const methodParams = this.generateMethodName({
58
+ network: item.network,
59
+ payload: item,
60
+ originalIndex: i,
61
+ });
62
+
63
+ const singleMethodParams = {
64
+ bundle: [methodParams.params],
65
+ };
66
+
67
+ const response = await this.callMethod(methodParams.methodName, singleMethodParams);
68
+
69
+ if (this.abortController?.signal.aborted) {
70
+ throw new Error(HardwareErrorCodeMessage[HardwareErrorCode.RepeatUnlocking]);
71
+ }
72
+
73
+ const singleResult = {
74
+ ...item,
75
+ ...response[0],
76
+ };
77
+ allResults.push(singleResult);
78
+
79
+ this.sendItemCallback(callbackId, singleResult, i);
80
+ }
81
+
82
+ this.sendFinishCallback({
83
+ callbackId: callbackIdFinish,
84
+ data: allResults,
85
+ });
86
+ } catch (error: any) {
87
+ let errorCode = error.errorCode || error.code;
88
+ let errorMessage = error.message;
89
+
90
+ if (error instanceof HardwareError) {
91
+ errorCode = error.errorCode;
92
+ errorMessage = error.message;
93
+ } else if (error.message === HardwareErrorCodeMessage[HardwareErrorCode.RepeatUnlocking]) {
94
+ errorCode = HardwareErrorCode.RepeatUnlocking;
95
+ errorMessage = error.message;
96
+ } else {
97
+ const hardwareError = ERRORS.TypedError(HardwareErrorCode.RuntimeError, error.message);
98
+ errorCode = hardwareError.errorCode;
99
+ errorMessage = hardwareError.message;
71
100
  }
72
101
 
73
- this.sendFinishCallback(callbackIdFinish, allResults);
102
+ this.sendFinishCallback({
103
+ callbackId,
104
+ error: {
105
+ success: false,
106
+ payload: {
107
+ error: errorMessage,
108
+ code: errorCode,
109
+ },
110
+ },
111
+ });
74
112
  } finally {
75
113
  this.context?.cancelCallbackTasks(this.payload.connectId);
76
114
  }
77
115
  }
78
116
 
79
- private sendFinishCallback(callbackId: string, data: AllNetworkAddress[]) {
117
+ private sendFinishCallback({
118
+ callbackId,
119
+ data,
120
+ error,
121
+ }: {
122
+ callbackId: string;
123
+ data?: AllNetworkAddress[];
124
+ error?: Unsuccessful;
125
+ }) {
80
126
  this.postMessage({
81
127
  event: IFRAME.CALLBACK,
82
128
  type: IFRAME.CALLBACK,
83
129
  payload: {
84
130
  callbackId,
85
131
  data,
132
+ error,
86
133
  },
87
134
  });
88
135
  }
89
136
 
90
- private sendItemCallback(callbackId: string, data: any, error: any, itemIndex: number) {
137
+ private sendItemCallback(callbackId: string, data: any, itemIndex: number) {
91
138
  this.postMessage({
92
139
  event: IFRAME.CALLBACK,
93
140
  type: IFRAME.CALLBACK,
@@ -97,7 +144,6 @@ export default class AllNetworkGetAddressByLoop extends AllNetworkGetAddressBase
97
144
  ...data,
98
145
  index: itemIndex,
99
146
  },
100
- error: error ? { message: error.message, code: error.code } : null,
101
147
  },
102
148
  });
103
149
  }
@@ -1,4 +1,5 @@
1
1
  import type { GetPublicKey } from '@onekeyfe/hd-transport';
2
+ import { HardwareError, HardwareErrorCode } from '@onekeyfe/hd-shared';
2
3
  import { UI_REQUEST } from '../../constants/ui-request';
3
4
  import { getScriptType, isTaprootPath, serializedPath, validatePath } from '../helpers/pathUtils';
4
5
  import { BaseMethod } from '../BaseMethod';
@@ -121,6 +122,18 @@ export default class BTCGetPublicKey extends BaseMethod<GetPublicKey[]> {
121
122
  });
122
123
  }
123
124
  } catch (error) {
125
+ if (error instanceof HardwareError) {
126
+ const { errorCode } = error;
127
+ if (
128
+ errorCode === HardwareErrorCode.PinCancelled ||
129
+ errorCode === HardwareErrorCode.ActionCancelled ||
130
+ errorCode === HardwareErrorCode.ResponseUnexpectTypeError ||
131
+ errorCode === HardwareErrorCode.PinInvalid
132
+ ) {
133
+ throw error;
134
+ }
135
+ }
136
+
124
137
  // clear responses
125
138
  responses = [];
126
139
 
@@ -1,59 +1,12 @@
1
1
  import { LockDevice } from '@onekeyfe/hd-transport';
2
- import { ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
3
- import semver from 'semver';
4
2
  import { BaseMethod } from '../BaseMethod';
5
- import { toHardened } from '../helpers/pathUtils';
6
- import { DeviceFirmwareRange } from '../../types';
7
- import { getDeviceFirmwareVersion, getMethodVersionRange } from '../../utils';
8
3
 
9
4
  export default class DeviceUnlock extends BaseMethod<LockDevice> {
10
5
  init() {
11
6
  this.useDevicePassphraseState = false;
12
7
  }
13
8
 
14
- supportUnlockVersionRange(): DeviceFirmwareRange {
15
- return {
16
- pro: {
17
- min: '4.15.0',
18
- },
19
- };
20
- }
21
-
22
9
  async run() {
23
- const firmwareVersion = getDeviceFirmwareVersion(this.device.features)?.join('.');
24
- const versionRange = getMethodVersionRange(
25
- this.device.features,
26
- type => this.supportUnlockVersionRange()[type]
27
- );
28
-
29
- if (versionRange && semver.gte(firmwareVersion, versionRange.min)) {
30
- const res = await this.device.commands.typedCall('UnLockDevice', 'UnLockDeviceResponse');
31
- if (this.device.features) {
32
- this.device.features.unlocked = res.message.unlocked == null ? null : res.message.unlocked;
33
- this.device.features.unlocked_attach_pin =
34
- res.message.unlocked_attach_pin == null ? undefined : res.message.unlocked_attach_pin;
35
- this.device.features.passphrase_protection =
36
- res.message.passphrase_protection == null ? null : res.message.passphrase_protection;
37
-
38
- return Promise.resolve(this.device.features);
39
- }
40
-
41
- const featuresRes = await this.device.commands.typedCall('GetFeatures', 'Features');
42
- return Promise.resolve(featuresRes.message);
43
- }
44
-
45
- const { type } = await this.device.commands.typedCall('GetAddress', 'Address', {
46
- address_n: [toHardened(44), toHardened(1), toHardened(0), 0, 0],
47
- coin_name: 'Testnet',
48
- script_type: 'SPENDADDRESS',
49
- show_display: false,
50
- });
51
-
52
- // @ts-expect-error
53
- if (type === 'CallMethodError') {
54
- throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, 'Get the passphrase state error');
55
- }
56
- const res = await this.device.commands.typedCall('GetFeatures', 'Features');
57
- return Promise.resolve(res.message);
10
+ return this.device.unlockDevice();
58
11
  }
59
12
  }
package/src/core/index.ts CHANGED
@@ -195,7 +195,7 @@ const onCallDevice = async (
195
195
  DevicePool.clearDeviceCache(method.payload.connectId);
196
196
  }
197
197
 
198
- // 等待之前的 callback 任务完成(确保设备不会并发调用)
198
+ // wait for previous callback tasks to complete (ensure device does not call concurrently)
199
199
  if (method.connectId) {
200
200
  await context.waitForCallbackTasks(method.connectId);
201
201
  }
@@ -857,7 +857,7 @@ const onDevicePinHandler = async (...[device, type, callback]: DeviceEvents['pin
857
857
  callback(null, uiResp.payload);
858
858
  };
859
859
 
860
- const onDeviceButtonHandler = (...[device, request]: [...DeviceEvents['button']]) => {
860
+ export const onDeviceButtonHandler = (...[device, request]: [...DeviceEvents['button']]) => {
861
861
  postMessage(createDeviceMessage(DEVICE.BUTTON, { ...request, device: device.toMessageObject() }));
862
862
 
863
863
  if (request.code === 'ButtonRequest_PinEntry' || request.code === 'ButtonRequest_AttachPin') {
@@ -1,4 +1,5 @@
1
1
  import EventEmitter from 'events';
2
+ import semver from 'semver';
2
3
  import { OneKeyDeviceInfo as DeviceDescriptor } from '@onekeyfe/hd-transport';
3
4
  import {
4
5
  createDeferred,
@@ -16,6 +17,7 @@ import {
16
17
  getDeviceType,
17
18
  getDeviceUUID,
18
19
  getLogger,
20
+ getMethodVersionRange,
19
21
  LoggerNames,
20
22
  } from '../utils';
21
23
  import {
@@ -28,6 +30,7 @@ import type DeviceConnector from './DeviceConnector';
28
30
  import { DeviceCommands, PassphrasePromptResponse } from './DeviceCommands';
29
31
 
30
32
  import {
33
+ type DeviceFirmwareRange,
31
34
  EOneKeyDeviceMode,
32
35
  type Device as DeviceTyped,
33
36
  type Features,
@@ -43,6 +46,7 @@ import {
43
46
  import { PROTO } from '../constants';
44
47
  import { DataManager } from '../data-manager';
45
48
  import TransportManager from '../data-manager/TransportManager';
49
+ import { toHardened } from '../api/helpers/pathUtils';
46
50
 
47
51
  export type InitOptions = {
48
52
  initSession?: boolean;
@@ -746,6 +750,52 @@ export class Device extends EventEmitter {
746
750
  return res.message;
747
751
  }
748
752
 
753
+ supportUnlockVersionRange(): DeviceFirmwareRange {
754
+ return {
755
+ pro: {
756
+ min: '4.15.0',
757
+ },
758
+ };
759
+ }
760
+
761
+ async unlockDevice() {
762
+ const firmwareVersion = getDeviceFirmwareVersion(this.features)?.join('.');
763
+ const versionRange = getMethodVersionRange(
764
+ this.features,
765
+ type => this.supportUnlockVersionRange()[type]
766
+ );
767
+
768
+ if (versionRange && semver.gte(firmwareVersion, versionRange.min)) {
769
+ const res = await this.commands.typedCall('UnLockDevice', 'UnLockDeviceResponse');
770
+ if (this.features) {
771
+ this.features.unlocked = res.message.unlocked == null ? null : res.message.unlocked;
772
+ this.features.unlocked_attach_pin =
773
+ res.message.unlocked_attach_pin == null ? undefined : res.message.unlocked_attach_pin;
774
+ this.features.passphrase_protection =
775
+ res.message.passphrase_protection == null ? null : res.message.passphrase_protection;
776
+
777
+ return Promise.resolve(this.features);
778
+ }
779
+
780
+ const featuresRes = await this.commands.typedCall('GetFeatures', 'Features');
781
+ return Promise.resolve(featuresRes.message);
782
+ }
783
+
784
+ const { type } = await this.commands.typedCall('GetAddress', 'Address', {
785
+ address_n: [toHardened(44), toHardened(1), toHardened(0), 0, 0],
786
+ coin_name: 'Testnet',
787
+ script_type: 'SPENDADDRESS',
788
+ show_display: false,
789
+ });
790
+
791
+ // @ts-expect-error
792
+ if (type === 'CallMethodError') {
793
+ throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, 'unlock device error');
794
+ }
795
+ const res = await this.commands.typedCall('GetFeatures', 'Features');
796
+ return Promise.resolve(res.message);
797
+ }
798
+
749
799
  async checkPassphraseStateSafety(
750
800
  passphraseState?: string,
751
801
  useEmptyPassphrase?: boolean,
@@ -1,4 +1,4 @@
1
- import type { CommonParams, Response } from '../params';
1
+ import type { CommonParams, Response, Unsuccessful } from '../params';
2
2
  import type { CardanoAddressParameters } from './cardano';
3
3
 
4
4
  export type INetwork =
@@ -108,14 +108,11 @@ export type AllNetworkGetAddressParams = {
108
108
  bundle: AllNetworkAddressParams[];
109
109
  };
110
110
 
111
- export type AllNetworkGetAddressParamsByLoop = {
111
+ export type AllNetworkGetAddressParamsByLoop = AllNetworkGetAddressParams & {
112
112
  callbackId?: string;
113
113
  callbackIdFinish?: string;
114
- onLoopItemResponse: (
115
- data?: AllNetworkAddress,
116
- error?: { message: string; code?: number }
117
- ) => void;
118
- onAllItemsResponse: (data?: AllNetworkAddress[]) => void;
114
+ onLoopItemResponse: (data?: AllNetworkAddress) => void;
115
+ onAllItemsResponse: (data?: AllNetworkAddress[], error?: Unsuccessful) => void;
119
116
  };
120
117
 
121
118
  export declare function allNetworkGetAddress(
@@ -128,4 +125,5 @@ export declare function allNetworkGetAddressByLoop(
128
125
  connectId: string,
129
126
  deviceId: string,
130
127
  params: CommonParams & AllNetworkGetAddressParamsByLoop
131
- ): Response<string[]>;
128
+ // only return empty array
129
+ ): Response<AllNetworkAddress[]>;