@onekeyfe/hd-core 1.2.0-alpha.48 → 1.2.0-alpha.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/check-all-firmware-release-protocol-v2.test.ts +4 -4
- package/__tests__/device-lifecycle-events.test.ts +105 -3
- package/__tests__/method-protocol-support.test.ts +19 -0
- package/__tests__/protocol-binding.test.ts +89 -0
- package/__tests__/protocol-v2.test.ts +274 -6
- package/__tests__/search-devices.test.ts +12 -3
- package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
- package/dist/api/DetectDeviceConnectProtocol.d.ts +7 -0
- package/dist/api/DetectDeviceConnectProtocol.d.ts.map +1 -0
- package/dist/api/FirmwareUpdate.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV4.d.ts +1 -0
- package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
- package/dist/api/SearchDevices.d.ts.map +1 -1
- package/dist/api/firmware/FirmwareUpdateBaseMethod.d.ts.map +1 -1
- package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/device/Device.d.ts +5 -1
- package/dist/device/Device.d.ts.map +1 -1
- package/dist/device/DevicePool.d.ts.map +1 -1
- package/dist/index.d.ts +19 -2
- package/dist/index.js +238 -105
- package/dist/inject.d.ts +6 -1
- package/dist/inject.d.ts.map +1 -1
- package/dist/lowLevelInject.d.ts.map +1 -1
- package/dist/topLevelInject.d.ts.map +1 -1
- package/dist/types/api/detectDeviceConnectProtocol.d.ts +4 -0
- package/dist/types/api/detectDeviceConnectProtocol.d.ts.map +1 -0
- package/dist/types/api/index.d.ts +4 -0
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/params.d.ts +1 -0
- package/dist/types/params.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/api/CheckAllFirmwareRelease.ts +5 -3
- package/src/api/DetectDeviceConnectProtocol.ts +18 -0
- package/src/api/FirmwareUpdate.ts +6 -2
- package/src/api/FirmwareUpdateV2.ts +5 -2
- package/src/api/FirmwareUpdateV3.ts +6 -2
- package/src/api/FirmwareUpdateV4.ts +68 -40
- package/src/api/SearchDevices.ts +3 -1
- package/src/api/firmware/FirmwareUpdateBaseMethod.ts +15 -4
- package/src/api/firmware/uploadFirmware.ts +17 -4
- package/src/api/index.ts +1 -0
- package/src/core/index.ts +11 -2
- package/src/device/Device.ts +53 -15
- package/src/device/DevicePool.ts +7 -2
- package/src/inject.ts +57 -2
- package/src/lowLevelInject.ts +6 -3
- package/src/topLevelInject.ts +6 -3
- package/src/types/api/detectDeviceConnectProtocol.ts +7 -0
- package/src/types/api/index.ts +11 -0
- package/src/types/params.ts +7 -1
package/dist/inject.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
import type { HardwareConnectProtocol } from '@onekeyfe/hd-shared';
|
|
2
3
|
import type { EventEmitter } from 'events';
|
|
3
4
|
import type { CallMethod } from './events';
|
|
4
5
|
import type { CoreApi } from './types/api';
|
|
@@ -15,6 +16,10 @@ export interface InjectApi {
|
|
|
15
16
|
cancel: CoreApi['cancel'];
|
|
16
17
|
switchTransport: CoreApi['switchTransport'];
|
|
17
18
|
}
|
|
19
|
+
export declare const createProtocolAwareCall: (rawCall: CoreApi['call']) => {
|
|
20
|
+
call: (params: any) => Promise<any>;
|
|
21
|
+
setDeviceConnectProtocol: (connectId: string, connectProtocol: HardwareConnectProtocol | undefined) => void;
|
|
22
|
+
};
|
|
18
23
|
export declare const inject: ({ call, cancel, dispose, eventEmitter, init, updateSettings, switchTransport, uiResponse, }: InjectApi) => CoreApi;
|
|
19
|
-
export declare const createCoreApi: (call: CoreApi['call']) => Omit<CoreApi, 'on' | 'off' | 'emit' | 'removeAllListeners' | 'init' | 'call' | 'dispose' | 'uiResponse' | 'cancel' | 'updateSettings' | 'switchTransport'>;
|
|
24
|
+
export declare const createCoreApi: (call: CoreApi['call']) => Omit<CoreApi, 'on' | 'off' | 'emit' | 'removeAllListeners' | 'init' | 'call' | 'setDeviceConnectProtocol' | 'dispose' | 'uiResponse' | 'cancel' | 'updateSettings' | 'switchTransport'>;
|
|
20
25
|
//# sourceMappingURL=inject.d.ts.map
|
package/dist/inject.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAc3C,QAAA,MAAM,eAAe,OAAQ,MAAM,WAAW,GAAG,EAAE,SAKlD,CAAC;AAEF,QAAA,MAAM,eAAe,OAAQ,MAAM,SAElC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AAE5C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC7C;AAQD,eAAO,MAAM,uBAAuB,YAAa,OAAO,CAAC,MAAM,CAAC;;;CAoC/D,CAAC;AAEF,eAAO,MAAM,MAAM,gGAShB,SAAS,KAAG,OAoCd,CAAC;AAEF,eAAO,MAAM,aAAa,SAClB,OAAO,CAAC,MAAM,CAAC,KACpB,KACD,OAAO,EACL,IAAI,GACJ,KAAK,GACL,MAAM,GACN,oBAAoB,GACpB,MAAM,GACN,MAAM,GACN,0BAA0B,GAC1B,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,gBAAgB,GAChB,iBAAiB,CAgVnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lowLevelInject.d.ts","sourceRoot":"","sources":["../src/lowLevelInject.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,KAAK,+BAA+B,GAAG,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,8BAA8B,EAAE,CAAC,QAAQ,EAAE,+BAA+B,KAAK,IAAI,CAAC;CACrF;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,KAAK,CAAC,GAAG;IAC1D,8BAA8B,EAAE,CAAC,QAAQ,EAAE,+BAA+B,KAAK,IAAI,CAAC;CACrF,CAAC;AAEF,eAAO,MAAM,cAAc,gIAUxB,iBAAiB,KAAG,
|
|
1
|
+
{"version":3,"file":"lowLevelInject.d.ts","sourceRoot":"","sources":["../src/lowLevelInject.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,KAAK,+BAA+B,GAAG,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,8BAA8B,EAAE,CAAC,QAAQ,EAAE,+BAA+B,KAAK,IAAI,CAAC;CACrF;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,KAAK,CAAC,GAAG;IAC1D,8BAA8B,EAAE,CAAC,QAAQ,EAAE,+BAA+B,KAAK,IAAI,CAAC;CACrF,CAAC;AAEF,eAAO,MAAM,cAAc,gIAUxB,iBAAiB,KAAG,eA6BtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topLevelInject.d.ts","sourceRoot":"","sources":["../src/topLevelInject.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CACvB;AAID,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"topLevelInject.d.ts","sourceRoot":"","sources":["../src/topLevelInject.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CACvB;AAID,eAAO,MAAM,cAAc,eAiD1B,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { HardwareConnectProtocol } from '@onekeyfe/hd-shared';
|
|
2
|
+
import type { Response } from '../params';
|
|
3
|
+
export declare function detectDeviceConnectProtocol(connectId: string): Response<HardwareConnectProtocol>;
|
|
4
|
+
//# sourceMappingURL=detectDeviceConnectProtocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detectDeviceConnectProtocol.d.ts","sourceRoot":"","sources":["../../../src/types/api/detectDeviceConnectProtocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,OAAO,UAAU,2BAA2B,CACjD,SAAS,EAAE,MAAM,GAChB,QAAQ,CAAC,uBAAuB,CAAC,CAAC"}
|
|
@@ -12,6 +12,7 @@ import type { checkBootloaderRelease } from './checkBootloaderRelease';
|
|
|
12
12
|
import type { checkAllFirmwareRelease } from './checkAllFirmwareRelease';
|
|
13
13
|
import type { checkFirmwareTypeAvailable } from './checkFirmwareTypeAvailable';
|
|
14
14
|
import type { searchDevices } from './searchDevices';
|
|
15
|
+
import type { detectDeviceConnectProtocol } from './detectDeviceConnectProtocol';
|
|
15
16
|
import type { getFeatures } from './getFeatures';
|
|
16
17
|
import type { getDeviceState } from './getDeviceState';
|
|
17
18
|
import type { getOnekeyFeatures } from './getOnekeyFeatures';
|
|
@@ -133,6 +134,7 @@ import type { benfenSignMessage } from './benfenSignMessage';
|
|
|
133
134
|
import type { neoGetAddress } from './neoGetAddress';
|
|
134
135
|
import type { neoSignTransaction } from './neoSignTransaction';
|
|
135
136
|
import type { ConnectSettings } from '../settings';
|
|
137
|
+
import type { HardwareConnectProtocol } from '@onekeyfe/hd-shared';
|
|
136
138
|
export * from './export';
|
|
137
139
|
export type { DeviceStateScope, GetDeviceStateParams } from './getDeviceState';
|
|
138
140
|
export type { GetPassphraseStateParams } from './getPassphraseState';
|
|
@@ -148,6 +150,7 @@ export type CoreApi = {
|
|
|
148
150
|
removeAllListeners: typeof removeAllListeners;
|
|
149
151
|
dispose: () => void | Promise<void>;
|
|
150
152
|
call: (params: any) => Promise<any>;
|
|
153
|
+
setDeviceConnectProtocol: (connectId: string, connectProtocol: HardwareConnectProtocol | undefined) => void;
|
|
151
154
|
uiResponse: typeof uiResponse;
|
|
152
155
|
cancel: (connectId?: string) => void;
|
|
153
156
|
updateSettings: typeof updateSettings;
|
|
@@ -165,6 +168,7 @@ export type CoreApi = {
|
|
|
165
168
|
checkBootloaderRelease: typeof checkBootloaderRelease;
|
|
166
169
|
checkFirmwareTypeAvailable: typeof checkFirmwareTypeAvailable;
|
|
167
170
|
searchDevices: typeof searchDevices;
|
|
171
|
+
detectDeviceConnectProtocol: typeof detectDeviceConnectProtocol;
|
|
168
172
|
promptWebDeviceAccess: typeof promptWebDeviceAccess;
|
|
169
173
|
getFeatures: typeof getFeatures;
|
|
170
174
|
getDeviceState: typeof getDeviceState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,YAAY,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACxF,YAAY,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAE7D,MAAM,MAAM,OAAO,GAAG;IAIpB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,eAAe,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAChF,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAK5C,4BAA4B,EAAE,OAAO,4BAA4B,CAAC;IAClE,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,aAAa,EAAE,OAAO,aAAa,CAAC;IAKpC,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,0BAA0B,EAAE,OAAO,0BAA0B,CAAC;IAK9D,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,yBAAyB,EAAE,OAAO,yBAAyB,CAAC;IAC5D,wBAAwB,EAAE,OAAO,wBAAwB,CAAC;IAC1D,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,yBAAyB,EAAE,OAAO,yBAAyB,CAAC;IAC5D,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,cAAc,EAAE,OAAO,cAAc,CAAC;IAKtC,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,yBAAyB,EAAE,OAAO,yBAAyB,CAAC;IAC5D,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,eAAe,EAAE,OAAO,eAAe,CAAC;IAKxC,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,0BAA0B,EAAE,OAAO,0BAA0B,CAAC;IAK9D,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAK1C,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAK1C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IAKpD,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAK9C,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,cAAc,EAAE,OAAO,cAAc,CAAC;IAKtC,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IAKtD,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAKhD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IAKtD,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAKhD,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAKlD,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAKhD,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IAKpD,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAK9C,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAK9C,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAK9C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IAKxD,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IAKxD,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAKlD,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAKhD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAK1C,SAAS,EAAE,OAAO,SAAS,CAAC;IAK5B,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IAKpD,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAK9C,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,WAAW,EAAE,OAAO,WAAW,CAAC;IAKhC,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAKhD,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IAKxD,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAK5C,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/params.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/types/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAI1B,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAIvC,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAI7B,WAAW,CAAC,EAAE,OAAO,CAAC;IAKtB,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAKjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAK9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAK9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAK/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAM3B,eAAe,CAAC,EAAE,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/types/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAI1B,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAIvC,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAI7B,WAAW,CAAC,EAAE,OAAO,CAAC;IAKtB,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAKjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAK9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAK9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAK/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAM3B,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAM1C,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACpD;AAED,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/hd-core",
|
|
3
|
-
"version": "1.2.0-alpha.
|
|
3
|
+
"version": "1.2.0-alpha.49",
|
|
4
4
|
"description": "Core processes and APIs for communicating with OneKey hardware devices.",
|
|
5
5
|
"author": "OneKey",
|
|
6
6
|
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@onekeyfe/hd-shared": "1.2.0-alpha.
|
|
29
|
-
"@onekeyfe/hd-transport": "1.2.0-alpha.
|
|
28
|
+
"@onekeyfe/hd-shared": "1.2.0-alpha.49",
|
|
29
|
+
"@onekeyfe/hd-transport": "1.2.0-alpha.49",
|
|
30
30
|
"axios": "1.15.2",
|
|
31
31
|
"bignumber.js": "^9.0.2",
|
|
32
32
|
"bytebuffer": "^5.0.1",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"@types/w3c-web-usb": "^1.0.10",
|
|
45
45
|
"@types/web-bluetooth": "^0.0.21"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "46137af125efb005f80329372e2304a752c8e2b3"
|
|
48
48
|
}
|
|
@@ -346,7 +346,9 @@ export default class CheckAllFirmwareRelease extends BaseMethod {
|
|
|
346
346
|
let resourceStatus: 'valid' | 'outdated' | 'unknown' = 'unknown';
|
|
347
347
|
if (resources?.length) {
|
|
348
348
|
const loaderMode = state.status.mode === 'bootloader' || state.status.mode === 'romloader';
|
|
349
|
-
|
|
349
|
+
// Application mode rejects host access to vol0:/bundles. Resource inventory is
|
|
350
|
+
// resolved after FirmwareUpdateV4 enters a loader instead of probing here.
|
|
351
|
+
if (loaderMode) {
|
|
350
352
|
try {
|
|
351
353
|
const inventory = await readProtocolV2ResourceInventory({
|
|
352
354
|
commands: this.device.getCommands(),
|
|
@@ -355,12 +357,12 @@ export default class CheckAllFirmwareRelease extends BaseMethod {
|
|
|
355
357
|
resourceStatus = buildProtocolV2ResourceUpdatePlan({
|
|
356
358
|
resources,
|
|
357
359
|
inventory,
|
|
358
|
-
mode:
|
|
360
|
+
mode: 'bootloader-recovery',
|
|
359
361
|
}).status;
|
|
360
362
|
} catch {
|
|
361
363
|
resourceStatus = buildProtocolV2ResourceUpdatePlan({
|
|
362
364
|
resources,
|
|
363
|
-
mode:
|
|
365
|
+
mode: 'bootloader-recovery',
|
|
364
366
|
}).status;
|
|
365
367
|
}
|
|
366
368
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseMethod } from './BaseMethod';
|
|
2
|
+
|
|
3
|
+
export default class DetectDeviceConnectProtocol extends BaseMethod {
|
|
4
|
+
init() {
|
|
5
|
+
this.payload.forceProtocolDetection = true;
|
|
6
|
+
this.useDevicePassphraseState = false;
|
|
7
|
+
this.skipForceUpdateCheck = true;
|
|
8
|
+
this.unlockPolicy = 'none';
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
getSupportedProtocols() {
|
|
12
|
+
return ['V1', 'V2'] as const;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
run() {
|
|
16
|
+
return Promise.resolve(this.device.getProtocol());
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -89,7 +89,8 @@ export default class FirmwareUpdate extends BaseMethod<Params> {
|
|
|
89
89
|
await this.device.deviceConnector?.acquire(
|
|
90
90
|
this.device.originalDescriptor.id,
|
|
91
91
|
null,
|
|
92
|
-
true
|
|
92
|
+
true,
|
|
93
|
+
this.payload.connectProtocol ?? this.device.originalDescriptor.protocolType
|
|
93
94
|
);
|
|
94
95
|
await this.device.initialize();
|
|
95
96
|
if (this.device.isBootloader()) {
|
|
@@ -103,7 +104,10 @@ export default class FirmwareUpdate extends BaseMethod<Params> {
|
|
|
103
104
|
} else {
|
|
104
105
|
const deviceDiff = await this.device.deviceConnector?.enumerate();
|
|
105
106
|
const devicesDescriptor = deviceDiff?.descriptors ?? [];
|
|
106
|
-
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, connectId
|
|
107
|
+
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, connectId, {
|
|
108
|
+
connectProtocol:
|
|
109
|
+
this.payload.connectProtocol ?? this.device.originalDescriptor.protocolType,
|
|
110
|
+
});
|
|
107
111
|
|
|
108
112
|
if (deviceList.length === 1 && deviceList[0]?.isBootloader()) {
|
|
109
113
|
// should update current device from cache
|
|
@@ -238,7 +238,8 @@ export default class FirmwareUpdateV2 extends BaseMethod<Params> {
|
|
|
238
238
|
await this.device.deviceConnector?.acquire(
|
|
239
239
|
this.device.originalDescriptor.id,
|
|
240
240
|
null,
|
|
241
|
-
true
|
|
241
|
+
true,
|
|
242
|
+
this.payload.connectProtocol ?? this.device.originalDescriptor.protocolType
|
|
242
243
|
);
|
|
243
244
|
await this.device.initialize();
|
|
244
245
|
if (this.device.isBootloader()) {
|
|
@@ -272,7 +273,9 @@ export default class FirmwareUpdateV2 extends BaseMethod<Params> {
|
|
|
272
273
|
) {
|
|
273
274
|
const deviceDiff = await this.device.deviceConnector?.enumerate();
|
|
274
275
|
const devicesDescriptor = deviceDiff?.descriptors ?? [];
|
|
275
|
-
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, connectId
|
|
276
|
+
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, connectId, {
|
|
277
|
+
connectProtocol: this.payload.connectProtocol ?? this.device.originalDescriptor.protocolType,
|
|
278
|
+
});
|
|
276
279
|
|
|
277
280
|
if (deviceList.length === 1 && deviceList[0]?.isBootloader()) {
|
|
278
281
|
// should update current device from cache
|
|
@@ -503,7 +503,8 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
503
503
|
await this.device.deviceConnector?.acquire(
|
|
504
504
|
this.device.originalDescriptor.id,
|
|
505
505
|
null,
|
|
506
|
-
true
|
|
506
|
+
true,
|
|
507
|
+
this.payload.connectProtocol ?? this.device.originalDescriptor.protocolType
|
|
507
508
|
);
|
|
508
509
|
const typedCall = this.device.getCommands().typedCall.bind(this.device.getCommands());
|
|
509
510
|
await Promise.race([
|
|
@@ -540,7 +541,10 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
540
541
|
webUsbCheckCount = 0;
|
|
541
542
|
}
|
|
542
543
|
|
|
543
|
-
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, this.connectId
|
|
544
|
+
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, this.connectId, {
|
|
545
|
+
connectProtocol:
|
|
546
|
+
this.payload.connectProtocol ?? this.device.originalDescriptor.protocolType,
|
|
547
|
+
});
|
|
544
548
|
|
|
545
549
|
if (deviceList.length === 1) {
|
|
546
550
|
this.device.updateFromCache(deviceList[0]);
|
|
@@ -487,9 +487,9 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
487
487
|
const deviceFeatures = await this.getProtocolV2DeviceFeatures();
|
|
488
488
|
const deviceFirmwareType = getFirmwareType(deviceFeatures);
|
|
489
489
|
const firmwareType = this.params.firmwareType ?? deviceFirmwareType;
|
|
490
|
-
const
|
|
491
|
-
this.
|
|
492
|
-
|
|
490
|
+
const needsRemoteResources =
|
|
491
|
+
!this.params.resourceBundleFiles?.length &&
|
|
492
|
+
!!this.params.targetsToUpdate?.includes('resource');
|
|
493
493
|
|
|
494
494
|
let fwBinaryMap: ProtocolV2TargetBinary[] = [];
|
|
495
495
|
let bootloaderBinary: ArrayBuffer | null = null;
|
|
@@ -498,12 +498,10 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
498
498
|
let resourceBundles: ProtocolV2ResourceBundleBinary[] | undefined;
|
|
499
499
|
try {
|
|
500
500
|
this.postTipMessage(FirmwareUpdateTipMessage.StartDownloadFirmware);
|
|
501
|
+
resourceBundles = this.prepareExplicitProtocolV2ResourceBundles();
|
|
501
502
|
fwBinaryMap = this.collectExplicitTargetBinaries();
|
|
502
503
|
bootloaderBinary = this.prepareBootloaderBinary();
|
|
503
504
|
const needsRemoteFirmware = !this.hasExplicitProtocolV2Payload(fwBinaryMap);
|
|
504
|
-
const needsRemoteResources =
|
|
505
|
-
!this.params.resourceBundleFiles?.length &&
|
|
506
|
-
!!this.params.targetsToUpdate?.includes('resource');
|
|
507
505
|
const needsRemoteBootResources =
|
|
508
506
|
!this.params.bootResourcesBinary &&
|
|
509
507
|
!!this.params.targetsToUpdate?.includes('boot_resources');
|
|
@@ -527,8 +525,9 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
527
525
|
...(installItems ?? this.buildProtocolV2InstallItems({ bootloaderBinary, fwBinaryMap })),
|
|
528
526
|
];
|
|
529
527
|
}
|
|
530
|
-
|
|
531
|
-
|
|
528
|
+
if (!needsRemoteResources) {
|
|
529
|
+
this.postTipMessage(FirmwareUpdateTipMessage.FinishDownloadFirmware);
|
|
530
|
+
}
|
|
532
531
|
} catch (err) {
|
|
533
532
|
throw ERRORS.TypedError(HardwareErrorCode.FirmwareUpdateDownloadFailed, err.message ?? err);
|
|
534
533
|
}
|
|
@@ -537,19 +536,35 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
537
536
|
!bootloaderBinary &&
|
|
538
537
|
fwBinaryMap.length === 0 &&
|
|
539
538
|
!installItems?.length &&
|
|
540
|
-
!resourceBundles?.length
|
|
539
|
+
!resourceBundles?.length &&
|
|
540
|
+
!needsRemoteResources
|
|
541
541
|
) {
|
|
542
|
-
if (resourceBundles !== undefined) {
|
|
543
|
-
this.postTipMessage(FirmwareUpdateTipMessage.FirmwareUpdateCompleted);
|
|
544
|
-
return this.getProtocolV2VersionResult(deviceFeatures);
|
|
545
|
-
}
|
|
546
542
|
throw ERRORS.TypedError(
|
|
547
543
|
HardwareErrorCode.FirmwareUpdateDownloadFailed,
|
|
548
544
|
'No firmware to update'
|
|
549
545
|
);
|
|
550
546
|
}
|
|
551
547
|
|
|
552
|
-
await this.enterProtocolV2BootloaderMode();
|
|
548
|
+
const enteredBootloader = await this.enterProtocolV2BootloaderMode();
|
|
549
|
+
|
|
550
|
+
if (needsRemoteResources) {
|
|
551
|
+
try {
|
|
552
|
+
resourceBundles = await this.prepareProtocolV2ResourceBundles();
|
|
553
|
+
this.postTipMessage(FirmwareUpdateTipMessage.FinishDownloadFirmware);
|
|
554
|
+
} catch (err) {
|
|
555
|
+
if (enteredBootloader) {
|
|
556
|
+
try {
|
|
557
|
+
await this.exitProtocolV2BootloaderToNormal();
|
|
558
|
+
} catch (restoreError) {
|
|
559
|
+
Log.warn(
|
|
560
|
+
'[FirmwareUpdateV4] failed to restore App mode after resource preparation error:',
|
|
561
|
+
restoreError
|
|
562
|
+
);
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
throw ERRORS.TypedError(HardwareErrorCode.FirmwareUpdateDownloadFailed, err.message ?? err);
|
|
566
|
+
}
|
|
567
|
+
}
|
|
553
568
|
|
|
554
569
|
await this.executeProtocolV2Update({
|
|
555
570
|
fwBinaryMap,
|
|
@@ -816,23 +831,25 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
816
831
|
};
|
|
817
832
|
}
|
|
818
833
|
|
|
819
|
-
private
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
}
|
|
834
|
+
private prepareExplicitProtocolV2ResourceBundles(): ProtocolV2ResourceBundleBinary[] | undefined {
|
|
835
|
+
if (!this.params.resourceBundleFiles?.length) return undefined;
|
|
836
|
+
|
|
837
|
+
return this.params.resourceBundleFiles.map((file, index) => {
|
|
838
|
+
const devicePath = validateProtocolV2FilesystemPath(
|
|
839
|
+
file.devicePath,
|
|
840
|
+
`resourceBundleFiles[${index}].devicePath`
|
|
841
|
+
);
|
|
842
|
+
return {
|
|
843
|
+
name: devicePath.split('/').pop() ?? devicePath,
|
|
844
|
+
binary: file.binary,
|
|
845
|
+
devicePath,
|
|
846
|
+
};
|
|
847
|
+
});
|
|
848
|
+
}
|
|
835
849
|
|
|
850
|
+
private async prepareProtocolV2ResourceBundles(): Promise<
|
|
851
|
+
ProtocolV2ResourceBundleBinary[] | undefined
|
|
852
|
+
> {
|
|
836
853
|
if (!this.params.targetsToUpdate?.includes('resource')) {
|
|
837
854
|
return undefined;
|
|
838
855
|
}
|
|
@@ -853,13 +870,11 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
853
870
|
const plan = buildProtocolV2ResourceUpdatePlan({
|
|
854
871
|
resources,
|
|
855
872
|
inventory,
|
|
856
|
-
mode:
|
|
873
|
+
mode: 'bootloader-recovery',
|
|
857
874
|
forced: this.params.forcedUpdateRes,
|
|
858
875
|
});
|
|
859
876
|
Log.log(
|
|
860
|
-
`[FirmwareUpdateV4] Pro2 resource plan mode=${
|
|
861
|
-
recoveryMode ? 'bootloader-recovery' : 'application'
|
|
862
|
-
} status=${plan.status} count=${plan.resources.length}`
|
|
877
|
+
`[FirmwareUpdateV4] Pro2 resource plan mode=bootloader-recovery status=${plan.status} count=${plan.resources.length}`
|
|
863
878
|
);
|
|
864
879
|
|
|
865
880
|
const bundles: ProtocolV2ResourceBundleBinary[] = [];
|
|
@@ -1423,20 +1438,33 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
1423
1438
|
return;
|
|
1424
1439
|
}
|
|
1425
1440
|
|
|
1426
|
-
//
|
|
1427
|
-
//
|
|
1441
|
+
// Reinitialize every USB descriptor so DeviceInfo can provide the physical serial.
|
|
1442
|
+
// Enumeration order is not stable and must never decide the reconnect target.
|
|
1428
1443
|
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, undefined, {
|
|
1429
1444
|
connectProtocol: PROTOCOL_V2_CONNECT_PROTOCOL,
|
|
1430
1445
|
});
|
|
1431
|
-
|
|
1446
|
+
const expectedSerialNumber = this.protocolV2ExpectedSerialNumber?.trim();
|
|
1447
|
+
const identityMatch = expectedSerialNumber
|
|
1448
|
+
? deviceList.find(
|
|
1449
|
+
candidate => candidate.getCurrentSerialNo?.().trim() === expectedSerialNumber
|
|
1450
|
+
)
|
|
1451
|
+
: undefined;
|
|
1452
|
+
const singleCandidate = deviceList.length === 1 ? deviceList.at(0) : undefined;
|
|
1453
|
+
const singleCandidateSerialNumber = singleCandidate?.getCurrentSerialNo?.().trim();
|
|
1454
|
+
const reconnectDevice =
|
|
1455
|
+
identityMatch ??
|
|
1456
|
+
(singleCandidate && (!expectedSerialNumber || !singleCandidateSerialNumber)
|
|
1457
|
+
? singleCandidate
|
|
1458
|
+
: undefined);
|
|
1459
|
+
if (!reconnectDevice) {
|
|
1432
1460
|
throw ERRORS.TypedError(HardwareErrorCode.DeviceNotFound);
|
|
1433
1461
|
}
|
|
1434
1462
|
|
|
1435
1463
|
Log.debug(
|
|
1436
|
-
'Protocol V2 firmware reconnect using
|
|
1437
|
-
|
|
1464
|
+
'Protocol V2 firmware reconnect using matched device:',
|
|
1465
|
+
reconnectDevice.getConnectId()
|
|
1438
1466
|
);
|
|
1439
|
-
this.device.updateFromCache(
|
|
1467
|
+
this.device.updateFromCache(reconnectDevice);
|
|
1440
1468
|
await this.ensureProtocolV2DeviceAcquired();
|
|
1441
1469
|
this.device.commands.disposed = false;
|
|
1442
1470
|
this.device.getCommands().mainId = this.device.mainId ?? '';
|
package/src/api/SearchDevices.ts
CHANGED
|
@@ -59,7 +59,9 @@ export default class SearchDevices extends BaseMethod {
|
|
|
59
59
|
// Discovery is best effort. Browsers may retain WebUSB grants for devices that
|
|
60
60
|
// are offline, busy, or not ready, so one descriptor must not abort the scan.
|
|
61
61
|
const result = await DevicePool.getDevices([descriptor], descriptor.path, {
|
|
62
|
-
|
|
62
|
+
// Discovery must actively identify the protocol instead of trusting a caller hint.
|
|
63
|
+
connectProtocol: undefined,
|
|
64
|
+
forceProtocolDetection: true,
|
|
63
65
|
refreshRuntimeState: true,
|
|
64
66
|
});
|
|
65
67
|
deviceList.push(...result.deviceList);
|
|
@@ -191,7 +191,8 @@ export class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
|
|
|
191
191
|
await this.device.deviceConnector?.acquire(
|
|
192
192
|
this.device.originalDescriptor.id,
|
|
193
193
|
null,
|
|
194
|
-
true
|
|
194
|
+
true,
|
|
195
|
+
this.payload.connectProtocol ?? this.device.originalDescriptor.protocolType
|
|
195
196
|
);
|
|
196
197
|
await this.device.initialize();
|
|
197
198
|
if (this.device.isBootloader()) {
|
|
@@ -225,7 +226,9 @@ export class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
|
|
|
225
226
|
) {
|
|
226
227
|
const deviceDiff = await this.device.deviceConnector?.enumerate();
|
|
227
228
|
const devicesDescriptor = deviceDiff?.descriptors ?? [];
|
|
228
|
-
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, connectId
|
|
229
|
+
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, connectId, {
|
|
230
|
+
connectProtocol: this.payload.connectProtocol ?? this.device.originalDescriptor.protocolType,
|
|
231
|
+
});
|
|
229
232
|
|
|
230
233
|
if (deviceList.length === 1 && deviceList[0]?.isBootloader()) {
|
|
231
234
|
// should update current device from cache
|
|
@@ -434,7 +437,12 @@ export class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
|
|
|
434
437
|
const env = DataManager.getSettings('env');
|
|
435
438
|
if (DataManager.isBleConnect(env)) {
|
|
436
439
|
await wait(3000);
|
|
437
|
-
await this.device.deviceConnector?.acquire(
|
|
440
|
+
await this.device.deviceConnector?.acquire(
|
|
441
|
+
this.device.originalDescriptor.id,
|
|
442
|
+
null,
|
|
443
|
+
true,
|
|
444
|
+
this.payload.connectProtocol ?? this.device.originalDescriptor.protocolType
|
|
445
|
+
);
|
|
438
446
|
await this.device.initialize();
|
|
439
447
|
} else if (
|
|
440
448
|
error?.message?.indexOf(SESSION_ERROR) > -1 ||
|
|
@@ -442,7 +450,10 @@ export class FirmwareUpdateBaseMethod<Params> extends BaseMethod<Params> {
|
|
|
442
450
|
) {
|
|
443
451
|
const deviceDiff = await this.device.deviceConnector?.enumerate();
|
|
444
452
|
const devicesDescriptor = deviceDiff?.descriptors ?? [];
|
|
445
|
-
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, undefined
|
|
453
|
+
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, undefined, {
|
|
454
|
+
connectProtocol:
|
|
455
|
+
this.payload.connectProtocol ?? this.device.originalDescriptor.protocolType,
|
|
456
|
+
});
|
|
446
457
|
if (deviceList.length === 1 && deviceList[0]?.isBootloader()) {
|
|
447
458
|
this.device.updateFromCache(deviceList[0]);
|
|
448
459
|
await this.device.acquire();
|
|
@@ -322,7 +322,12 @@ const newTouchUpdateProcess = async (
|
|
|
322
322
|
try {
|
|
323
323
|
if (isBleReconnect) {
|
|
324
324
|
try {
|
|
325
|
-
await device.deviceConnector?.acquire(
|
|
325
|
+
await device.deviceConnector?.acquire(
|
|
326
|
+
device.originalDescriptor.id,
|
|
327
|
+
null,
|
|
328
|
+
true,
|
|
329
|
+
device.originalDescriptor.protocolType
|
|
330
|
+
);
|
|
326
331
|
const typedCall = device.getCommands().typedCall.bind(device.getCommands());
|
|
327
332
|
await Promise.race([
|
|
328
333
|
typedCall('Initialize', 'Features', {}),
|
|
@@ -341,7 +346,8 @@ const newTouchUpdateProcess = async (
|
|
|
341
346
|
const devicesDescriptor = deviceDiff?.descriptors ?? [];
|
|
342
347
|
const { deviceList } = await DevicePool.getDevices(
|
|
343
348
|
devicesDescriptor,
|
|
344
|
-
device.originalDescriptor.id
|
|
349
|
+
device.originalDescriptor.id,
|
|
350
|
+
{ connectProtocol: device.originalDescriptor.protocolType }
|
|
345
351
|
);
|
|
346
352
|
if (deviceList.length === 1) {
|
|
347
353
|
device.updateFromCache(deviceList[0]);
|
|
@@ -416,7 +422,12 @@ const emmcFileWriteWithRetry = async (
|
|
|
416
422
|
const env = DataManager.getSettings('env');
|
|
417
423
|
if (DataManager.isBleConnect(env)) {
|
|
418
424
|
await wait(3000);
|
|
419
|
-
await device.deviceConnector?.acquire(
|
|
425
|
+
await device.deviceConnector?.acquire(
|
|
426
|
+
device.originalDescriptor.id,
|
|
427
|
+
null,
|
|
428
|
+
true,
|
|
429
|
+
device.originalDescriptor.protocolType
|
|
430
|
+
);
|
|
420
431
|
await device.initialize();
|
|
421
432
|
} else if (
|
|
422
433
|
error?.message?.indexOf(SESSION_ERROR) > -1 ||
|
|
@@ -424,7 +435,9 @@ const emmcFileWriteWithRetry = async (
|
|
|
424
435
|
) {
|
|
425
436
|
const deviceDiff = await device.deviceConnector?.enumerate();
|
|
426
437
|
const devicesDescriptor = deviceDiff?.descriptors ?? [];
|
|
427
|
-
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, undefined
|
|
438
|
+
const { deviceList } = await DevicePool.getDevices(devicesDescriptor, undefined, {
|
|
439
|
+
connectProtocol: device.originalDescriptor.protocolType,
|
|
440
|
+
});
|
|
428
441
|
if (deviceList.length === 1 && deviceList[0]?.isBootloader()) {
|
|
429
442
|
device.updateFromCache(deviceList[0]);
|
|
430
443
|
await device.acquire();
|
package/src/api/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { default as testProtocolV2Ping } from './protocol-v2/Ping';
|
|
|
3
3
|
export { default as preInitialize } from './device/PreInitialize';
|
|
4
4
|
|
|
5
5
|
export { default as searchDevices } from './SearchDevices';
|
|
6
|
+
export { default as detectDeviceConnectProtocol } from './DetectDeviceConnectProtocol';
|
|
6
7
|
export { default as getFeatures } from './GetFeatures';
|
|
7
8
|
export { default as getDeviceState } from './GetDeviceState';
|
|
8
9
|
export { default as getOnekeyFeatures } from './GetOnekeyFeatures';
|
package/src/core/index.ts
CHANGED
|
@@ -106,6 +106,7 @@ const parseInitOptions = (method?: BaseMethod): InitOptions => ({
|
|
|
106
106
|
deviceId: method?.payload.deviceId,
|
|
107
107
|
deriveCardano: method && hasDeriveCardano(method),
|
|
108
108
|
connectProtocol: method?.payload.connectProtocol,
|
|
109
|
+
forceProtocolDetection: method?.payload.forceProtocolDetection,
|
|
109
110
|
protocolV2DeviceInfoTimeoutMs: method?.payload.protocolV2DeviceInfoTimeoutMs,
|
|
110
111
|
});
|
|
111
112
|
|
|
@@ -895,10 +896,18 @@ function isRetryableBleProtocolV2ProbeError(method: BaseMethod, error: unknown)
|
|
|
895
896
|
*/
|
|
896
897
|
async function connectDeviceForBle(method: BaseMethod, device: Device, retryCount = 0) {
|
|
897
898
|
try {
|
|
899
|
+
if (method.payload.forceProtocolDetection && device.hasDeviceAcquire()) {
|
|
900
|
+
await device.release();
|
|
901
|
+
}
|
|
898
902
|
const shouldAcquire =
|
|
899
|
-
|
|
903
|
+
method.payload.forceProtocolDetection ||
|
|
904
|
+
!device.hasDeviceAcquire() ||
|
|
905
|
+
!device.commands ||
|
|
906
|
+
device.commands.disposed;
|
|
900
907
|
if (shouldAcquire) {
|
|
901
|
-
await device.acquire(method.payload.connectProtocol
|
|
908
|
+
await device.acquire(method.payload.connectProtocol, {
|
|
909
|
+
forceProtocolDetection: method.payload.forceProtocolDetection,
|
|
910
|
+
});
|
|
902
911
|
}
|
|
903
912
|
if (method.payload?.onlyConnectBleDevice) {
|
|
904
913
|
if (shouldAcquire) {
|