@onekeyfe/hd-core 0.2.27 → 0.2.29

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.
Files changed (52) hide show
  1. package/dist/api/CheckBootloaderRelease.d.ts +10 -0
  2. package/dist/api/CheckBootloaderRelease.d.ts.map +1 -0
  3. package/dist/api/device/DeviceUpdateBootloader.d.ts +9 -0
  4. package/dist/api/device/DeviceUpdateBootloader.d.ts.map +1 -0
  5. package/dist/api/evm/EVMGetPublicKey.d.ts +5 -1
  6. package/dist/api/evm/EVMGetPublicKey.d.ts.map +1 -1
  7. package/dist/api/firmware/getBinary.d.ts +1 -0
  8. package/dist/api/firmware/getBinary.d.ts.map +1 -1
  9. package/dist/api/firmware/updateBootloader.d.ts +3 -0
  10. package/dist/api/firmware/updateBootloader.d.ts.map +1 -0
  11. package/dist/api/firmware/uploadFirmware.d.ts +1 -0
  12. package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
  13. package/dist/api/index.d.ts +2 -0
  14. package/dist/api/index.d.ts.map +1 -1
  15. package/dist/data-manager/DataManager.d.ts +1 -0
  16. package/dist/data-manager/DataManager.d.ts.map +1 -1
  17. package/dist/index.d.ts +24 -4
  18. package/dist/index.js +128 -3
  19. package/dist/inject.d.ts.map +1 -1
  20. package/dist/types/api/checkBootloaderRelease.d.ts +8 -0
  21. package/dist/types/api/checkBootloaderRelease.d.ts.map +1 -0
  22. package/dist/types/api/checkTransportRelease.d.ts +1 -1
  23. package/dist/types/api/checkTransportRelease.d.ts.map +1 -1
  24. package/dist/types/api/deviceUpdateBootloader.d.ts +4 -0
  25. package/dist/types/api/deviceUpdateBootloader.d.ts.map +1 -0
  26. package/dist/types/api/evmGetPublicKey.d.ts +5 -0
  27. package/dist/types/api/evmGetPublicKey.d.ts.map +1 -1
  28. package/dist/types/api/index.d.ts +4 -0
  29. package/dist/types/api/index.d.ts.map +1 -1
  30. package/dist/types/settings.d.ts +2 -1
  31. package/dist/types/settings.d.ts.map +1 -1
  32. package/dist/utils/deviceFeaturesUtils.d.ts +2 -1
  33. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  34. package/dist/utils/index.d.ts +1 -0
  35. package/dist/utils/index.d.ts.map +1 -1
  36. package/package.json +4 -4
  37. package/src/api/CheckBootloaderRelease.ts +26 -0
  38. package/src/api/device/DeviceUpdateBootloader.ts +68 -0
  39. package/src/api/evm/EVMGetPublicKey.ts +17 -0
  40. package/src/api/firmware/updateBootloader.ts +22 -0
  41. package/src/api/firmware/uploadFirmware.ts +14 -0
  42. package/src/api/index.ts +2 -0
  43. package/src/data-manager/DataManager.ts +12 -1
  44. package/src/inject.ts +3 -0
  45. package/src/types/api/checkBootloaderRelease.ts +11 -0
  46. package/src/types/api/checkTransportRelease.ts +1 -1
  47. package/src/types/api/deviceUpdateBootloader.ts +4 -0
  48. package/src/types/api/evmGetPublicKey.ts +7 -0
  49. package/src/types/api/index.ts +4 -0
  50. package/src/types/settings.ts +2 -1
  51. package/src/utils/deviceFeaturesUtils.ts +10 -2
  52. package/src/utils/index.ts +2 -0
@@ -0,0 +1,10 @@
1
+ import { BaseMethod } from './BaseMethod';
2
+ export default class CheckBootloaderRelease extends BaseMethod {
3
+ init(): void;
4
+ run(): Promise<{
5
+ shouldUpdate: boolean;
6
+ status: string;
7
+ release: string | undefined;
8
+ } | null>;
9
+ }
10
+ //# sourceMappingURL=CheckBootloaderRelease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckBootloaderRelease.d.ts","sourceRoot":"","sources":["../../src/api/CheckBootloaderRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,UAAU;IAC5D,IAAI;IAME,GAAG;;;;;CAYV"}
@@ -0,0 +1,9 @@
1
+ import { Deferred } from '@onekeyfe/hd-shared';
2
+ import { BaseMethod } from '../BaseMethod';
3
+ export default class DeviceUpdateBootloader extends BaseMethod {
4
+ checkPromise: Deferred<any> | null;
5
+ init(): void;
6
+ postTipMessage: (message: string) => void;
7
+ run(): Promise<boolean>;
8
+ }
9
+ //# sourceMappingURL=DeviceUpdateBootloader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceUpdateBootloader.d.ts","sourceRoot":"","sources":["../../../src/api/device/DeviceUpdateBootloader.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQ3C,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,UAAU;IAC5D,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI;IAMJ,cAAc,YAAa,MAAM,UAS/B;IAEI,GAAG;CAqCV"}
@@ -3,7 +3,11 @@ import { BaseMethod } from '../BaseMethod';
3
3
  import { EVMPublicKey } from '../../types/api/evmGetPublicKey';
4
4
  export default class EVMGetPublicKey extends BaseMethod<EthereumGetPublicKey[]> {
5
5
  hasBundle: boolean;
6
+ useBatch: boolean;
6
7
  init(): void;
7
- run(): Promise<EVMPublicKey | EVMPublicKey[]>;
8
+ run(): Promise<EVMPublicKey | {
9
+ path: string;
10
+ publicKey: string;
11
+ }[]>;
8
12
  }
9
13
  //# sourceMappingURL=EVMGetPublicKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EVMGetPublicKey.d.ts","sourceRoot":"","sources":["../../../src/api/evm/EVMGetPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAyB,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEtF,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAC7E,SAAS,UAAS;IAElB,IAAI;IA+BE,GAAG;CAsBV"}
1
+ {"version":3,"file":"EVMGetPublicKey.d.ts","sourceRoot":"","sources":["../../../src/api/evm/EVMGetPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAyB,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAGtF,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAC7E,SAAS,UAAS;IAElB,QAAQ,UAAS;IAEjB,IAAI;IAgCE,GAAG;;;;CAmCV"}
@@ -13,6 +13,7 @@ export declare const getBinary: ({ features, updateType, version }: GetBinaryPro
13
13
  resource?: string | undefined;
14
14
  fullResource?: string | undefined;
15
15
  fullResourceRange?: string[] | undefined;
16
+ bootloaderResource?: string | undefined;
16
17
  fingerprint: string;
17
18
  version: import("../../types").IVersionArray;
18
19
  changelog: {
@@ -1 +1 @@
1
- {"version":3,"file":"getBinary.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/getBinary.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMvC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;CAChC;AAED,UAAU,cAAe,SAAQ,YAAY;IAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,sCAA6C,cAAc;;;;;;;;;;;;;EA2BhF,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAe,MAAM;;EAWrD,CAAC;AAEF,eAAO,MAAM,OAAO,6BAA8B,YAAY,2DAO7D,CAAC"}
1
+ {"version":3,"file":"getBinary.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/getBinary.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMvC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;CAChC;AAED,UAAU,cAAe,SAAQ,YAAY;IAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,sCAA6C,cAAc;;;;;;;;;;;;;;EA2BhF,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAe,MAAM;;EAWrD,CAAC;AAEF,eAAO,MAAM,OAAO,6BAA8B,YAAY,2DAO7D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Features } from '../../types';
2
+ export declare function checkNeedUpdateBoot(features: Features): boolean;
3
+ //# sourceMappingURL=updateBootloader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateBootloader.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/updateBootloader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,WAarD"}
@@ -7,4 +7,5 @@ export declare const waitBleInstall: (updateType: string) => Promise<void>;
7
7
  export declare const uploadFirmware: (updateType: 'firmware' | 'ble', typedCall: TypedCall, postMessage: (message: CoreMessage) => void, device: Device, { payload }: PROTO.FirmwareUpload) => Promise<Success>;
8
8
  export declare const updateResource: (typedCall: TypedCall, fileName: string, data: ArrayBuffer) => Promise<Success>;
9
9
  export declare const updateResources: (typedCall: TypedCall, postMessage: (message: CoreMessage) => void, device: Device, source: ArrayBuffer) => Promise<boolean>;
10
+ export declare const updateBootloader: (typedCall: TypedCall, postMessage: (message: CoreMessage) => void, device: Device, source: ArrayBuffer) => Promise<boolean>;
10
11
  //# sourceMappingURL=uploadFirmware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uploadFirmware.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/uploadFirmware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAU,WAAW,EAA+B,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,6BAA6B,CAAC;AAuCnF,eAAO,MAAM,cAAc,eAAsB,MAAM,kBAKtD,CAAC;AAEF,eAAO,MAAM,cAAc,eACb,UAAU,GAAG,KAAK,aACnB,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,eACD,MAAM,cAAc,qBAgDlC,CAAC;AAmCF,eAAO,MAAM,cAAc,cAAqB,SAAS,YAAY,MAAM,QAAQ,WAAW,qBAY7F,CAAC;AAEF,eAAO,MAAM,eAAe,cACf,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,UACN,WAAW,qBAwBpB,CAAC"}
1
+ {"version":3,"file":"uploadFirmware.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/uploadFirmware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAU,WAAW,EAA+B,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,6BAA6B,CAAC;AAuCnF,eAAO,MAAM,cAAc,eAAsB,MAAM,kBAKtD,CAAC;AAEF,eAAO,MAAM,cAAc,eACb,UAAU,GAAG,KAAK,aACnB,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,eACD,MAAM,cAAc,qBAgDlC,CAAC;AAmCF,eAAO,MAAM,cAAc,cAAqB,SAAS,YAAY,MAAM,QAAQ,WAAW,qBAY7F,CAAC;AAEF,eAAO,MAAM,eAAe,cACf,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,UACN,WAAW,qBAwBpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAChB,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,UACN,WAAW,qBAQpB,CAAC"}
@@ -6,6 +6,7 @@ export { default as checkFirmwareRelease } from './CheckFirmwareRelease';
6
6
  export { default as checkBLEFirmwareRelease } from './CheckBLEFirmwareRelease';
7
7
  export { default as checkTransportRelease } from './CheckTransportRelease';
8
8
  export { default as checkBridgeStatus } from './CheckBridgeStatus';
9
+ export { default as checkBootloaderRelease } from './CheckBootloaderRelease';
9
10
  export { default as deviceBackup } from './device/DeviceBackup';
10
11
  export { default as deviceChangePin } from './device/DeviceChangePin';
11
12
  export { default as deviceFlags } from './device/DeviceFlags';
@@ -20,6 +21,7 @@ export { default as deviceSupportFeatures } from './device/DeviceSupportFeatures
20
21
  export { default as deviceVerify } from './device/DeviceVerify';
21
22
  export { default as deviceWipe } from './device/DeviceWipe';
22
23
  export { default as deviceFullyUploadResource } from './device/DeviceFullyUploadResource';
24
+ export { default as deviceUpdateBootloader } from './device/DeviceUpdateBootloader';
23
25
  export { default as firmwareUpdate } from './FirmwareUpdate';
24
26
  export { default as firmwareUpdateV2 } from './FirmwareUpdateV2';
25
27
  export { default as requestWebUsbDevice } from './RequestWebUsbDevice';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export default class DataManager {
9
9
  static getFirmwareStatus: (features: Features) => IDeviceFirmwareStatus;
10
10
  static getSysResourcesLatestRelease: (features: Features, forcedUpdateRes?: boolean | undefined) => string | undefined;
11
11
  static getSysFullResource: (features: Features) => string | undefined;
12
+ static getBootloaderResource: (features: Features) => string | undefined;
12
13
  static getFirmwareChangelog: (features: Features) => {
13
14
  "zh-CN": string;
14
15
  "en-US": string;
@@ -1 +1 @@
1
- {"version":3,"file":"DataManager.d.ts","sourceRoot":"","sources":["../../src/data-manager/DataManager.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,SAAS,EAET,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAKlB,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,MAAM,CAAC,SAAS,EAAE,aAAa,CAiB7B;IAEF,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEvC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEjC,MAAM,CAAC,QAAQ,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAEhC;IAEF,MAAM,CAAC,iBAAiB,aAAc,QAAQ,KAAG,qBAAqB,CAepE;IAMF,MAAM,CAAC,4BAA4B,aAAc,QAAQ,+DAgBvD;IAMF,MAAM,CAAC,kBAAkB,aAAc,QAAQ,wBAU7C;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ;;;QAe/C;IAEF,MAAM,CAAC,wBAAwB,aAAc,QAAQ,yDAgBnD;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ,KAAG,wBAAwB,CAY1E;IAEF,MAAM,CAAC,uBAAuB,aAAc,QAAQ;;;QAWlD;IAEF,MAAM,CAAC,2BAA2B,aAAc,QAAQ,4DAItD;IAEF,MAAM,CAAC,kBAAkB,iBAAkB,MAAM,KAAG,gBAAgB,CAKlE;WAEW,IAAI,CAAC,QAAQ,EAAE,eAAe;IAwB3C,MAAM,CAAC,mBAAmB;IAI1B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,eAAe;IAEpD,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;CAShF"}
1
+ {"version":3,"file":"DataManager.d.ts","sourceRoot":"","sources":["../../src/data-manager/DataManager.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,SAAS,EAET,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAKlB,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,MAAM,CAAC,SAAS,EAAE,aAAa,CAiB7B;IAEF,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEvC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEjC,MAAM,CAAC,QAAQ,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAEhC;IAEF,MAAM,CAAC,iBAAiB,aAAc,QAAQ,KAAG,qBAAqB,CAepE;IAMF,MAAM,CAAC,4BAA4B,aAAc,QAAQ,+DAgBvD;IAMF,MAAM,CAAC,kBAAkB,aAAc,QAAQ,wBAU7C;IAEF,MAAM,CAAC,qBAAqB,aAAc,QAAQ,wBAShD;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ;;;QAe/C;IAEF,MAAM,CAAC,wBAAwB,aAAc,QAAQ,yDAgBnD;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ,KAAG,wBAAwB,CAY1E;IAEF,MAAM,CAAC,uBAAuB,aAAc,QAAQ;;;QAWlD;IAEF,MAAM,CAAC,2BAA2B,aAAc,QAAQ,4DAItD;IAEF,MAAM,CAAC,kBAAkB,iBAAkB,MAAM,KAAG,gBAAgB,CAKlE;WAEW,IAAI,CAAC,QAAQ,EAAE,eAAe;IAwB3C,MAAM,CAAC,mBAAmB;IAI1B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,eAAe;IAEpD,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;CAShF"}
package/dist/index.d.ts CHANGED
@@ -148,6 +148,7 @@ declare type IFirmwareReleaseInfo = {
148
148
  resource?: string;
149
149
  fullResource?: string;
150
150
  fullResourceRange?: string[];
151
+ bootloaderResource?: string;
151
152
  fingerprint: string;
152
153
  version: IVersionArray;
153
154
  changelog: {
@@ -168,7 +169,7 @@ declare type IBLEFirmwareReleaseInfo = {
168
169
  declare type DeviceTypeMap = {
169
170
  [k in IDeviceType]: {
170
171
  firmware: IFirmwareReleaseInfo[];
171
- 'firmware-v2'?: IFirmwareReleaseInfo[];
172
+ 'firmware-v3'?: IFirmwareReleaseInfo[];
172
173
  ble: IBLEFirmwareReleaseInfo[];
173
174
  };
174
175
  };
@@ -233,10 +234,17 @@ declare type ReleaseInfo = {
233
234
  };
234
235
  declare type TransportReleaseStatus = 'valid' | 'outdated';
235
236
 
236
- declare function checkTransportRelease(): Response<TransportReleaseStatus>;
237
+ declare function checkTransportRelease(connectId?: string): Response<TransportReleaseStatus>;
237
238
 
238
239
  declare function checkBridgeStatus(): Response<boolean>;
239
240
 
241
+ declare type CheckBootloaderReleaseResponse = {
242
+ shouldUpdate: boolean;
243
+ status: 'outdated' | 'valid';
244
+ release: string | undefined;
245
+ } | null;
246
+ declare function checkBootloaderRelease(connectId?: string): Response<CheckBootloaderReleaseResponse>;
247
+
240
248
  declare function searchDevices(): Response<SearchDevice[]>;
241
249
 
242
250
  declare function getFeatures(connectId?: string): Response<Features>;
@@ -371,6 +379,8 @@ declare function deviceSupportFeatures(connectId?: string): Response<DeviceSuppo
371
379
 
372
380
  declare function deviceFullyUploadResource(connectId: string, params: CommonParams): Response<Success$1>;
373
381
 
382
+ declare function deviceUpdateBootloader(connectId: string): Response<Success$1>;
383
+
374
384
  declare type CipheredKeyValue = {
375
385
  path: string;
376
386
  } & CipheredKeyValue$1;
@@ -404,6 +414,7 @@ declare function evmGetAddress(connectId: string, deviceId: string, params: Comm
404
414
 
405
415
  declare type EVMPublicKey = {
406
416
  path: string;
417
+ publicKey: string;
407
418
  } & EthereumPublicKey;
408
419
  declare type EVMGetPublicKeyParams = {
409
420
  path: string | number[];
@@ -414,6 +425,10 @@ declare function evmGetPublicKey(connectId: string, deviceId: string, params: Co
414
425
  declare function evmGetPublicKey(connectId: string, deviceId: string, params: CommonParams & {
415
426
  bundle?: EVMGetPublicKeyParams[];
416
427
  }): Response<Array<EVMPublicKey>>;
428
+ declare function evmGetPublicKey(connectId: string, deviceId: string, params: CommonParams & {
429
+ bundle?: EVMGetPublicKeyParams[];
430
+ useBatch?: boolean;
431
+ }): Response<Omit<EVMPublicKey, 'node' | 'xpub'>>;
417
432
 
418
433
  declare type EVMSignMessageParams = {
419
434
  path: string | number[];
@@ -1500,6 +1515,7 @@ declare type CoreApi = {
1500
1515
  getLogs: typeof getLogs;
1501
1516
  checkTransportRelease: typeof checkTransportRelease;
1502
1517
  checkBridgeStatus: typeof checkBridgeStatus;
1518
+ checkBootloaderRelease: typeof checkBootloaderRelease;
1503
1519
  searchDevices: typeof searchDevices;
1504
1520
  requestWebUsbDevice: typeof requestWebUsbDevice;
1505
1521
  getFeatures: typeof getFeatures;
@@ -1518,6 +1534,7 @@ declare type CoreApi = {
1518
1534
  deviceVerify: typeof deviceVerify;
1519
1535
  deviceWipe: typeof deviceWipe;
1520
1536
  deviceFullyUploadResource: typeof deviceFullyUploadResource;
1537
+ deviceUpdateBootloader: typeof deviceUpdateBootloader;
1521
1538
  checkFirmwareRelease: typeof checkFirmwareRelease;
1522
1539
  checkBLEFirmwareRelease: typeof checkBLEFirmwareRelease;
1523
1540
  firmwareUpdate: typeof firmwareUpdate;
@@ -2051,12 +2068,14 @@ declare const getDeviceTypeByDeviceId: (deviceId?: string | undefined) => IDevic
2051
2068
  declare const getDeviceUUID: (features: Features) => string;
2052
2069
  declare const getDeviceLabel: (features: Features) => string;
2053
2070
  declare const supportInputPinOnSoftware: (features: Features) => SupportFeatureType;
2054
- declare const getFirmwareUpdateField: (features: Features, updateType: 'firmware' | 'ble') => "firmware" | "ble" | "firmware-v2";
2071
+ declare const getFirmwareUpdateField: (features: Features, updateType: 'firmware' | 'ble') => "firmware" | "ble" | "firmware-v3";
2055
2072
 
2056
2073
  declare const getHDPath: (path: string) => Array<number>;
2057
2074
  declare const getScriptType: (path: Array<number>) => InputScriptType;
2058
2075
  declare const getOutputScriptType: (path?: number[] | undefined) => ChangeOutputScriptType;
2059
2076
 
2077
+ declare function checkNeedUpdateBoot(features: Features): boolean;
2078
+
2060
2079
  declare type LogMessage = {
2061
2080
  level: string;
2062
2081
  prefix: string;
@@ -2120,6 +2139,7 @@ declare class DataManager {
2120
2139
  static getFirmwareStatus: (features: Features) => IDeviceFirmwareStatus;
2121
2140
  static getSysResourcesLatestRelease: (features: Features, forcedUpdateRes?: boolean | undefined) => string | undefined;
2122
2141
  static getSysFullResource: (features: Features) => string | undefined;
2142
+ static getBootloaderResource: (features: Features) => string | undefined;
2123
2143
  static getFirmwareChangelog: (features: Features) => {
2124
2144
  "zh-CN": string;
2125
2145
  "en-US": string;
@@ -2140,4 +2160,4 @@ declare class DataManager {
2140
2160
 
2141
2161
  declare const HardwareSdk: ({ init, call, dispose, eventEmitter, uiResponse, cancel, }: InjectApi) => CoreApi;
2142
2162
 
2143
- export { AccountAddress, AccountAddresses, AlgoAddress, AlgoGetAddressParams, AlgoSignTransactionParams, AlgoSignedTx, AptosAddress, AptosGetAddressParams, AptosGetPublicKeyParams, AptosMessageSignature, AptosPublicKey, AptosSignMessageParams, AptosSignTransactionParams, AptosSignedTx, AssetsMap, BTCAddress, BTCGetAddressParams, BTCGetPublicKeyParams, BTCPublicKey, BTCSignMessageParams, BTCSignTransactionParams, BTCVerifyMessageParams, BleReleaseInfoEvent, BleReleaseInfoPayload, CORE_EVENT, CallMethod, CallMethodAnyResponse, CallMethodKeys, CallMethodPayload, CallMethodResponse, CallMethodUnion, CardanoAddress, CardanoGetAddressMethodParams, CardanoGetAddressParams, CardanoSignTransaction, CardanoSignedTxData, CipheredKeyValue, CipheredKeyValueParams, CommonParams, ConfluxAddress, ConfluxGetAddressParams, ConfluxSignMessageCIP23Params, ConfluxSignMessageParams, ConfluxSignTransactionParams, ConfluxSignedTx, ConfluxTransaction, ConnectSettings, Core, CoreApi, CoreMessage, CosmosAddress, CosmosGetAddressParams, CosmosGetPublicKeyParams, CosmosPublicKey, CosmosSignTransactionParams, CosmosSignedTx, DEFAULT_PRIORITY, DEVICE, DEVICE_EVENT, DataManager, Device$1 as Device, DeviceButtonRequest, DeviceButtonRequestPayload, DeviceChangePinParams, DeviceConnnectRequest, DeviceDisconnnectRequest, DeviceEvent, DeviceEventListenerFn, DeviceEventMessage, DeviceFeaturesPayload, DeviceFirmwareRange, DeviceFlagsParams, DeviceMode, DeviceRecoveryParams, DeviceResetParams, DeviceSendFeatures, DeviceSendSupportFeatures, DeviceSettingsParams, DeviceStatus, DeviceSupportFeatures, DeviceSupportFeaturesPayload, DeviceTypeMap, DeviceUploadResourceParams, DeviceVerifyParams, DeviceVerifySignature, EVMAccessList, EVMAddress, EVMGetAddressParams, EVMGetPublicKeyParams, EVMPublicKey, EVMSignMessageEIP712Params, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, EVMSignedTx, EVMTransaction, EVMTransactionEIP1559, EVMVerifyMessageParams, EthereumSignTypedDataMessage, EthereumSignTypedDataTypeProperty, EthereumSignTypedDataTypes, FIRMWARE, FIRMWARE_EVENT, Features, FilecoinAddress, FilecoinGetAddressParams, FilecoinSignTransactionParams, FilecoinSignedTx, FirmwareEvent, FirmwareMessage, FirmwareProgress, FirmwareRange, FirmwareRelease$1 as FirmwareRelease, FirmwareTip, FirmwareUpdateBinaryParams, FirmwareUpdateParams, IBLEFirmwareReleaseInfo, IDeviceBLEFirmwareStatus, IDeviceFirmwareStatus, IDeviceModel, IDeviceType, IFRAME, IFirmwareReleaseInfo, IFrameBridge, IFrameCallMessage, IFrameCancelMessage, IFrameEvent, IFrameEventMessage, IFrameInit, ILocale, ITransportStatus, IVersionArray, KnownDevice, LOG, LOG_EVENT, LogEvent, LogEventMessage, LogOutput, LoggerNames, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, NearAddress, NearGetAddressParams, NearSignTransactionParams, Params, PolkadotAddress, PolkadotGetAddressParams, PolkadotSignTransactionParams, PolkadotSignedTx, PostMessageEvent, RESPONSE_EVENT, RefTransaction, ReleaseInfo, ReleaseInfoEvent, ReleaseInfoPayload, RemoteConfigResponse, Response, SearchDevice, SignedTransaction, SolanaAddress, SolanaGetAddressParams, SolanaSignTransactionParams, SolanaSignedTx, StarcoinAddress, StarcoinGetAddressParams, StarcoinGetPublicKeyParams, StarcoinPublicKey, StarcoinSignMessageParams, StarcoinSignTransactionParams, StarcoinVerifyMessageParams, StellarAddress, StellarAsset, StellarGetAddressParams, StellarOperation, StellarSignTransactionParams, StellarTransaction, StrictFeatures, Success, SuiAddress, SuiGetAddressParams, SuiGetPublicKeyParams, SuiPublicKey, SuiSignTransactionParams, SuiSignedTx, SupportFeatureType, SupportFeatures, TransactionOptions, TransportReleaseStatus, TronAddress, TronGetAddressParams, TronSignMessageParams, TronSignTransactionParams, TronTransaction, TronTransactionContract, TronTransferContract, TronTriggerSmartContract, UI_EVENT, UI_REQUEST, UI_RESPONSE, UiEvent, UiEventMessage, UiPromise, UiPromiseResponse, UiRequestButton, UiRequestDeviceAction, UiRequestPassphrase, UiRequestPassphraseOnDevice, UiRequestWithoutPayload, UiResponseEvent, UiResponseMessage, UiResponsePassphrase, UiResponsePin, UnavailableCapabilities, UnavailableCapability, Unsuccessful, VersionArray, corsValidator, createDeviceMessage, createErrorMessage, createFirmwareMessage, createIFrameMessage, createLogMessage, createResponseMessage, createUiMessage, createUiResponse, HardwareSdk as default, enableLog, getDeviceLabel, getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getEnv, getFirmwareUpdateField, getHDPath, getHomeScreenHex, getLog, getLogger, getOutputScriptType, getSDKVersion, getScriptType, getTimeStamp, httpRequest, init as initCore, isValidVersionArray, isValidVersionString, normalizeVersionArray, parseConnectSettings, parseMessage, patchFeatures, safeThrowError, setLoggerPostMessage, supportInputPinOnSoftware, versionCompare, versionSplit, wait };
2163
+ export { AccountAddress, AccountAddresses, AlgoAddress, AlgoGetAddressParams, AlgoSignTransactionParams, AlgoSignedTx, AptosAddress, AptosGetAddressParams, AptosGetPublicKeyParams, AptosMessageSignature, AptosPublicKey, AptosSignMessageParams, AptosSignTransactionParams, AptosSignedTx, AssetsMap, BTCAddress, BTCGetAddressParams, BTCGetPublicKeyParams, BTCPublicKey, BTCSignMessageParams, BTCSignTransactionParams, BTCVerifyMessageParams, BleReleaseInfoEvent, BleReleaseInfoPayload, CORE_EVENT, CallMethod, CallMethodAnyResponse, CallMethodKeys, CallMethodPayload, CallMethodResponse, CallMethodUnion, CardanoAddress, CardanoGetAddressMethodParams, CardanoGetAddressParams, CardanoSignTransaction, CardanoSignedTxData, CipheredKeyValue, CipheredKeyValueParams, CommonParams, ConfluxAddress, ConfluxGetAddressParams, ConfluxSignMessageCIP23Params, ConfluxSignMessageParams, ConfluxSignTransactionParams, ConfluxSignedTx, ConfluxTransaction, ConnectSettings, Core, CoreApi, CoreMessage, CosmosAddress, CosmosGetAddressParams, CosmosGetPublicKeyParams, CosmosPublicKey, CosmosSignTransactionParams, CosmosSignedTx, DEFAULT_PRIORITY, DEVICE, DEVICE_EVENT, DataManager, Device$1 as Device, DeviceButtonRequest, DeviceButtonRequestPayload, DeviceChangePinParams, DeviceConnnectRequest, DeviceDisconnnectRequest, DeviceEvent, DeviceEventListenerFn, DeviceEventMessage, DeviceFeaturesPayload, DeviceFirmwareRange, DeviceFlagsParams, DeviceMode, DeviceRecoveryParams, DeviceResetParams, DeviceSendFeatures, DeviceSendSupportFeatures, DeviceSettingsParams, DeviceStatus, DeviceSupportFeatures, DeviceSupportFeaturesPayload, DeviceTypeMap, DeviceUploadResourceParams, DeviceVerifyParams, DeviceVerifySignature, EVMAccessList, EVMAddress, EVMGetAddressParams, EVMGetPublicKeyParams, EVMPublicKey, EVMSignMessageEIP712Params, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, EVMSignedTx, EVMTransaction, EVMTransactionEIP1559, EVMVerifyMessageParams, EthereumSignTypedDataMessage, EthereumSignTypedDataTypeProperty, EthereumSignTypedDataTypes, FIRMWARE, FIRMWARE_EVENT, Features, FilecoinAddress, FilecoinGetAddressParams, FilecoinSignTransactionParams, FilecoinSignedTx, FirmwareEvent, FirmwareMessage, FirmwareProgress, FirmwareRange, FirmwareRelease$1 as FirmwareRelease, FirmwareTip, FirmwareUpdateBinaryParams, FirmwareUpdateParams, IBLEFirmwareReleaseInfo, IDeviceBLEFirmwareStatus, IDeviceFirmwareStatus, IDeviceModel, IDeviceType, IFRAME, IFirmwareReleaseInfo, IFrameBridge, IFrameCallMessage, IFrameCancelMessage, IFrameEvent, IFrameEventMessage, IFrameInit, ILocale, ITransportStatus, IVersionArray, KnownDevice, LOG, LOG_EVENT, LogEvent, LogEventMessage, LogOutput, LoggerNames, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, NearAddress, NearGetAddressParams, NearSignTransactionParams, Params, PolkadotAddress, PolkadotGetAddressParams, PolkadotSignTransactionParams, PolkadotSignedTx, PostMessageEvent, RESPONSE_EVENT, RefTransaction, ReleaseInfo, ReleaseInfoEvent, ReleaseInfoPayload, RemoteConfigResponse, Response, SearchDevice, SignedTransaction, SolanaAddress, SolanaGetAddressParams, SolanaSignTransactionParams, SolanaSignedTx, StarcoinAddress, StarcoinGetAddressParams, StarcoinGetPublicKeyParams, StarcoinPublicKey, StarcoinSignMessageParams, StarcoinSignTransactionParams, StarcoinVerifyMessageParams, StellarAddress, StellarAsset, StellarGetAddressParams, StellarOperation, StellarSignTransactionParams, StellarTransaction, StrictFeatures, Success, SuiAddress, SuiGetAddressParams, SuiGetPublicKeyParams, SuiPublicKey, SuiSignTransactionParams, SuiSignedTx, SupportFeatureType, SupportFeatures, TransactionOptions, TransportReleaseStatus, TronAddress, TronGetAddressParams, TronSignMessageParams, TronSignTransactionParams, TronTransaction, TronTransactionContract, TronTransferContract, TronTriggerSmartContract, UI_EVENT, UI_REQUEST, UI_RESPONSE, UiEvent, UiEventMessage, UiPromise, UiPromiseResponse, UiRequestButton, UiRequestDeviceAction, UiRequestPassphrase, UiRequestPassphraseOnDevice, UiRequestWithoutPayload, UiResponseEvent, UiResponseMessage, UiResponsePassphrase, UiResponsePin, UnavailableCapabilities, UnavailableCapability, Unsuccessful, VersionArray, checkNeedUpdateBoot, corsValidator, createDeviceMessage, createErrorMessage, createFirmwareMessage, createIFrameMessage, createLogMessage, createResponseMessage, createUiMessage, createUiResponse, HardwareSdk as default, enableLog, getDeviceLabel, getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getEnv, getFirmwareUpdateField, getHDPath, getHomeScreenHex, getLog, getLogger, getOutputScriptType, getSDKVersion, getScriptType, getTimeStamp, httpRequest, init as initCore, isValidVersionArray, isValidVersionString, normalizeVersionArray, parseConnectSettings, parseMessage, patchFeatures, safeThrowError, setLoggerPostMessage, supportInputPinOnSoftware, versionCompare, versionSplit, wait };
package/dist/index.js CHANGED
@@ -44,6 +44,7 @@ const inject = ({ call, cancel, dispose, eventEmitter, init, uiResponse, }) => {
44
44
  checkBLEFirmwareRelease: connectId => call({ connectId, method: 'checkBLEFirmwareRelease' }),
45
45
  checkTransportRelease: () => call({ method: 'checkTransportRelease' }),
46
46
  checkBridgeStatus: () => call({ method: 'checkBridgeStatus' }),
47
+ checkBootloaderRelease: connectId => call({ connectId, method: 'checkBootloaderRelease' }),
47
48
  cipherKeyValue: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), { connectId, deviceId, method: 'cipherKeyValue' })),
48
49
  deviceBackup: connectId => call({ connectId, method: 'deviceBackup' }),
49
50
  deviceChangePin: (connectId, params) => call(Object.assign(Object.assign({}, params), { connectId, method: 'deviceChangePin' })),
@@ -59,6 +60,7 @@ const inject = ({ call, cancel, dispose, eventEmitter, init, uiResponse, }) => {
59
60
  deviceVerify: (connectId, params) => call(Object.assign(Object.assign({}, params), { connectId, method: 'deviceVerify' })),
60
61
  deviceWipe: connectId => call({ connectId, method: 'deviceWipe' }),
61
62
  deviceFullyUploadResource: connectId => call({ connectId, method: 'deviceFullyUploadResource' }),
63
+ deviceUpdateBootloader: connectId => call({ connectId, method: 'deviceUpdateBootloader' }),
62
64
  getPassphraseState: (connectId, params) => call(Object.assign(Object.assign({}, params), { connectId, method: 'getPassphraseState' })),
63
65
  evmGetAddress: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), { connectId, deviceId, method: 'evmGetAddress' })),
64
66
  evmGetPublicKey: (connectId, deviceId, params) => call(Object.assign(Object.assign({}, params), { connectId, deviceId, method: 'evmGetPublicKey' })),
@@ -829,6 +831,14 @@ const getDeviceBLEFirmwareVersion = (features) => {
829
831
  }
830
832
  return features.ble_ver.split('.');
831
833
  };
834
+ const getDeviceBootloaderVersion = (features) => {
835
+ if (!features.bootloader_version)
836
+ return [0, 0, 0];
837
+ if (semver__default["default"].valid(features.bootloader_version)) {
838
+ return features.bootloader_version.split('.');
839
+ }
840
+ return [0, 0, 0];
841
+ };
832
842
  const supportInputPinOnSoftware = (features) => {
833
843
  if (!features)
834
844
  return { support: false };
@@ -889,7 +899,7 @@ const getFirmwareUpdateField = (features, updateType) => {
889
899
  if (deviceType === 'touch') {
890
900
  if (semver__default["default"].lt(deviceFirmwareVersion.join('.'), '3.4.0'))
891
901
  return 'firmware';
892
- return 'firmware-v2';
902
+ return 'firmware-v3';
893
903
  }
894
904
  return 'firmware';
895
905
  };
@@ -10731,6 +10741,17 @@ function patchFeatures(response) {
10731
10741
  return response;
10732
10742
  }
10733
10743
 
10744
+ function checkNeedUpdateBoot(features) {
10745
+ const deviceType = getDeviceType(features);
10746
+ if (deviceType !== 'touch')
10747
+ return false;
10748
+ const currentVersion = getDeviceFirmwareVersion(features).join('.');
10749
+ const bootloaderVersion = getDeviceBootloaderVersion(features).join('.');
10750
+ return (semver__default["default"].gte(currentVersion, '3.2.0') &&
10751
+ semver__default["default"].gte(currentVersion, '4.1.0') &&
10752
+ semver__default["default"].lte(bootloaderVersion, '2.4.0'));
10753
+ }
10754
+
10734
10755
  const LOG_EVENT = 'LOG_EVENT';
10735
10756
  const LOG = {
10736
10757
  OUTPUT: 'log-output',
@@ -11244,6 +11265,16 @@ DataManager.getSysFullResource = (features) => {
11244
11265
  const targetDeviceConfig = targetDeviceConfigList.filter(item => !!item.fullResource);
11245
11266
  return (_d = findLatestRelease(targetDeviceConfig)) === null || _d === void 0 ? void 0 : _d.fullResource;
11246
11267
  };
11268
+ DataManager.getBootloaderResource = (features) => {
11269
+ var _b, _c, _d;
11270
+ const deviceType = getDeviceType(features);
11271
+ if (deviceType !== 'pro' && deviceType !== 'touch')
11272
+ return undefined;
11273
+ const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware');
11274
+ const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b[firmwareUpdateField]) !== null && _c !== void 0 ? _c : [];
11275
+ const targetDeviceConfig = targetDeviceConfigList.filter(item => !!item.bootloaderResource);
11276
+ return (_d = findLatestRelease(targetDeviceConfig)) === null || _d === void 0 ? void 0 : _d.bootloaderResource;
11277
+ };
11247
11278
  DataManager.getFirmwareChangelog = (features) => {
11248
11279
  var _b, _c;
11249
11280
  const deviceType = getDeviceType(features);
@@ -12692,6 +12723,28 @@ class CheckBridgeStatus extends BaseMethod {
12692
12723
  }
12693
12724
  }
12694
12725
 
12726
+ class CheckBootloaderRelease extends BaseMethod {
12727
+ init() {
12728
+ this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.BOOTLOADER];
12729
+ this.checkDeviceId = true;
12730
+ this.useDevicePassphraseState = false;
12731
+ }
12732
+ run() {
12733
+ return __awaiter(this, void 0, void 0, function* () {
12734
+ if (this.device.features) {
12735
+ const shouldUpdate = checkNeedUpdateBoot(this.device.features);
12736
+ const resource = DataManager.getBootloaderResource(this.device.features);
12737
+ return Promise.resolve({
12738
+ shouldUpdate,
12739
+ status: shouldUpdate ? 'outdated' : 'valid',
12740
+ release: resource,
12741
+ });
12742
+ }
12743
+ return null;
12744
+ });
12745
+ }
12746
+ }
12747
+
12695
12748
  class DeviceBackup extends BaseMethod {
12696
12749
  init() {
12697
12750
  this.useDevicePassphraseState = false;
@@ -13352,6 +13405,14 @@ const updateResources = (typedCall, postMessage, device, source) => __awaiter(vo
13352
13405
  postProgressTip(device, 'UpdateSysResourceSuccess', postMessage);
13353
13406
  return true;
13354
13407
  });
13408
+ const updateBootloader = (typedCall, postMessage, device, source) => __awaiter(void 0, void 0, void 0, function* () {
13409
+ postProgressTip(device, 'UpdateBootloader', postMessage);
13410
+ postProgressMessage(device, Math.floor(0), postMessage);
13411
+ yield updateResource(typedCall, 'bootloader.bin', source);
13412
+ postProgressMessage(device, Math.floor(100), postMessage);
13413
+ postProgressTip(device, 'UpdateBootloaderSuccess', postMessage);
13414
+ return true;
13415
+ });
13355
13416
 
13356
13417
  class DeviceFullyUploadResource extends BaseMethod {
13357
13418
  constructor() {
@@ -13401,6 +13462,53 @@ class DeviceFullyUploadResource extends BaseMethod {
13401
13462
  }
13402
13463
  }
13403
13464
 
13465
+ class DeviceUpdateBootloader extends BaseMethod {
13466
+ constructor() {
13467
+ super(...arguments);
13468
+ this.checkPromise = null;
13469
+ this.postTipMessage = (message) => {
13470
+ this.postMessage(createUiMessage(UI_REQUEST.FIRMWARE_TIP, {
13471
+ device: this.device.toMessageObject(),
13472
+ data: {
13473
+ message,
13474
+ },
13475
+ }));
13476
+ };
13477
+ }
13478
+ init() {
13479
+ this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.INITIALIZE];
13480
+ this.requireDeviceMode = [];
13481
+ this.useDevicePassphraseState = false;
13482
+ }
13483
+ run() {
13484
+ return __awaiter(this, void 0, void 0, function* () {
13485
+ const { device } = this;
13486
+ const { features } = device;
13487
+ if (!(features === null || features === void 0 ? void 0 : features.bootloader_mode) && features) {
13488
+ if (features && checkNeedUpdateBoot(features)) {
13489
+ this.postTipMessage('CheckLatestUiResource');
13490
+ const resourceUrl = DataManager.getBootloaderResource(features);
13491
+ if (resourceUrl) {
13492
+ this.postTipMessage('DownloadLatestBootloaderResource');
13493
+ const resource = yield getSysResourceBinary(resourceUrl);
13494
+ this.postTipMessage('DownloadLatestBootloaderResourceSuccess');
13495
+ if (resource) {
13496
+ try {
13497
+ yield updateBootloader(this.device.getCommands().typedCall.bind(this.device.getCommands()), this.postMessage, device, resource.binary);
13498
+ return yield Promise.resolve(true);
13499
+ }
13500
+ catch (e) {
13501
+ return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, `update bootloader error, err: ${e}`));
13502
+ }
13503
+ }
13504
+ }
13505
+ }
13506
+ }
13507
+ return Promise.resolve(true);
13508
+ });
13509
+ }
13510
+ }
13511
+
13404
13512
  class FirmwareUpdate extends BaseMethod {
13405
13513
  init() {
13406
13514
  this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.INITIALIZE];
@@ -14738,12 +14846,14 @@ class EVMGetPublicKey extends BaseMethod {
14738
14846
  constructor() {
14739
14847
  super(...arguments);
14740
14848
  this.hasBundle = false;
14849
+ this.useBatch = false;
14741
14850
  }
14742
14851
  init() {
14743
- var _a;
14852
+ var _a, _b;
14744
14853
  this.checkDeviceId = true;
14745
14854
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];
14746
14855
  this.hasBundle = !!((_a = this.payload) === null || _a === void 0 ? void 0 : _a.bundle);
14856
+ this.useBatch = !!((_b = this.payload) === null || _b === void 0 ? void 0 : _b.useBatch);
14747
14857
  const payload = this.hasBundle ? this.payload : { bundle: [this.payload] };
14748
14858
  validateParams(payload, [{ name: 'bundle', type: 'array' }]);
14749
14859
  this.params = [];
@@ -14764,12 +14874,24 @@ class EVMGetPublicKey extends BaseMethod {
14764
14874
  });
14765
14875
  }
14766
14876
  run() {
14877
+ var _a;
14767
14878
  return __awaiter(this, void 0, void 0, function* () {
14768
14879
  const responses = [];
14880
+ if (this.useBatch && this.hasBundle && supportBatchPublicKey((_a = this.device) === null || _a === void 0 ? void 0 : _a.features)) {
14881
+ const res = yield this.device.commands.typedCall('BatchGetPublickeys', 'EcdsaPublicKeys', {
14882
+ paths: this.params,
14883
+ ecdsa_curve_name: 'secp256k1',
14884
+ });
14885
+ const result = res.message.public_keys.map((publicKey, index) => ({
14886
+ path: serializedPath(this.params[index].address_n),
14887
+ publicKey,
14888
+ }));
14889
+ return Promise.resolve(result);
14890
+ }
14769
14891
  for (let i = 0; i < this.params.length; i++) {
14770
14892
  const param = this.params[i];
14771
14893
  const res = yield this.device.commands.typedCall('EthereumGetPublicKey', 'EthereumPublicKey', Object.assign({}, param));
14772
- responses.push(Object.assign({ path: serializedPath(param.address_n) }, res.message));
14894
+ responses.push(Object.assign({ path: serializedPath(param.address_n), publicKey: res.message.node.public_key }, res.message));
14773
14895
  }
14774
14896
  return Promise.resolve(this.hasBundle ? responses : responses[0]);
14775
14897
  });
@@ -18030,6 +18152,7 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
18030
18152
  checkBLEFirmwareRelease: CheckBLEFirmwareRelease,
18031
18153
  checkTransportRelease: CheckTransportRelease,
18032
18154
  checkBridgeStatus: CheckBridgeStatus,
18155
+ checkBootloaderRelease: CheckBootloaderRelease,
18033
18156
  deviceBackup: DeviceBackup,
18034
18157
  deviceChangePin: DeviceChangePin,
18035
18158
  deviceFlags: DeviceFlags,
@@ -18044,6 +18167,7 @@ var ApiMethods = /*#__PURE__*/Object.freeze({
18044
18167
  deviceVerify: DeviceVerify,
18045
18168
  deviceWipe: DeviceWipe,
18046
18169
  deviceFullyUploadResource: DeviceFullyUploadResource,
18170
+ deviceUpdateBootloader: DeviceUpdateBootloader,
18047
18171
  firmwareUpdate: FirmwareUpdate,
18048
18172
  firmwareUpdateV2: FirmwareUpdateV2,
18049
18173
  requestWebUsbDevice: RequestWebUsbDevice,
@@ -18786,6 +18910,7 @@ exports.RESPONSE_EVENT = RESPONSE_EVENT;
18786
18910
  exports.UI_EVENT = UI_EVENT;
18787
18911
  exports.UI_REQUEST = UI_REQUEST$1;
18788
18912
  exports.UI_RESPONSE = UI_RESPONSE;
18913
+ exports.checkNeedUpdateBoot = checkNeedUpdateBoot;
18789
18914
  exports.corsValidator = corsValidator;
18790
18915
  exports.createDeviceMessage = createDeviceMessage;
18791
18916
  exports.createErrorMessage = createErrorMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,SAAS;IACxB,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;CAC3B;AAED,eAAO,MAAM,MAAM,+DAOhB,SAAS,KAAG,OAkNd,CAAC"}
1
+ {"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,SAAS;IACxB,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;CAC3B;AAED,eAAO,MAAM,MAAM,+DAOhB,SAAS,KAAG,OAqNd,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Response } from '../params';
2
+ export declare type CheckBootloaderReleaseResponse = {
3
+ shouldUpdate: boolean;
4
+ status: 'outdated' | 'valid';
5
+ release: string | undefined;
6
+ } | null;
7
+ export declare function checkBootloaderRelease(connectId?: string): Response<CheckBootloaderReleaseResponse>;
8
+ //# sourceMappingURL=checkBootloaderRelease.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkBootloaderRelease.d.ts","sourceRoot":"","sources":["../../../src/types/api/checkBootloaderRelease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,oBAAY,8BAA8B,GAAG;IAC3C,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,GAAG,IAAI,CAAC;AAET,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,SAAS,CAAC,EAAE,MAAM,GACjB,QAAQ,CAAC,8BAA8B,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { Response } from '../params';
2
2
  import { TransportReleaseStatus } from '../firmware';
3
- export declare function checkTransportRelease(): Response<TransportReleaseStatus>;
3
+ export declare function checkTransportRelease(connectId?: string): Response<TransportReleaseStatus>;
4
4
  //# sourceMappingURL=checkTransportRelease.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkTransportRelease.d.ts","sourceRoot":"","sources":["../../../src/types/api/checkTransportRelease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,CAAC,OAAO,UAAU,qBAAqB,IAAI,QAAQ,CAAC,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"checkTransportRelease.d.ts","sourceRoot":"","sources":["../../../src/types/api/checkTransportRelease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Success } from '@onekeyfe/hd-transport';
2
+ import type { Response } from '../params';
3
+ export declare function deviceUpdateBootloader(connectId: string): Response<Success>;
4
+ //# sourceMappingURL=deviceUpdateBootloader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceUpdateBootloader.d.ts","sourceRoot":"","sources":["../../../src/types/api/deviceUpdateBootloader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import { EthereumPublicKey } from '@onekeyfe/hd-transport';
2
2
  import type { CommonParams, Response } from '../params';
3
3
  export declare type EVMPublicKey = {
4
4
  path: string;
5
+ publicKey: string;
5
6
  } & EthereumPublicKey;
6
7
  export declare type EVMGetPublicKeyParams = {
7
8
  path: string | number[];
@@ -12,4 +13,8 @@ export declare function evmGetPublicKey(connectId: string, deviceId: string, par
12
13
  export declare function evmGetPublicKey(connectId: string, deviceId: string, params: CommonParams & {
13
14
  bundle?: EVMGetPublicKeyParams[];
14
15
  }): Response<Array<EVMPublicKey>>;
16
+ export declare function evmGetPublicKey(connectId: string, deviceId: string, params: CommonParams & {
17
+ bundle?: EVMGetPublicKeyParams[];
18
+ useBatch?: boolean;
19
+ }): Response<Omit<EVMPublicKey, 'node' | 'xpub'>>;
15
20
  //# sourceMappingURL=evmGetPublicKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evmGetPublicKey.d.ts","sourceRoot":"","sources":["../../../src/types/api/evmGetPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,oBAAY,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,iBAAiB,CAAC;AAEtB,oBAAY,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,qBAAqB,GAC3C,QAAQ,CAAC,YAAY,CAAC,CAAC;AAE1B,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG;IAAE,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAAE,GAC1D,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"evmGetPublicKey.d.ts","sourceRoot":"","sources":["../../../src/types/api/evmGetPublicKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,oBAAY,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,iBAAiB,CAAC;AAEtB,oBAAY,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG,qBAAqB,GAC3C,QAAQ,CAAC,YAAY,CAAC,CAAC;AAE1B,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG;IAAE,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAAE,GAC1D,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;AAEjC,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,GAAG;IAAE,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9E,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC"}
@@ -4,6 +4,7 @@ import { init } from './init';
4
4
  import { getLogs } from './getLogs';
5
5
  import { checkTransportRelease } from './checkTransportRelease';
6
6
  import { checkBridgeStatus } from './checkBridgeStatus';
7
+ import { checkBootloaderRelease } from './checkBootloaderRelease';
7
8
  import { searchDevices } from './searchDevices';
8
9
  import { getFeatures } from './getFeatures';
9
10
  import { getPassphraseState } from './getPassphraseState';
@@ -25,6 +26,7 @@ import { deviceUpdateReboot } from './deviceUpdateReboot';
25
26
  import { deviceUploadResource } from './deviceUploadResource';
26
27
  import { deviceSupportFeatures } from './deviceSupportFeatures';
27
28
  import { deviceFullyUploadResource } from './deviceFullyUploadResource';
29
+ import { deviceUpdateBootloader } from './deviceUpdateBootloader';
28
30
  import { cipherKeyValue } from './cipherKeyValue';
29
31
  import { evmGetAddress } from './evmGetAddress';
30
32
  import { evmGetPublicKey } from './evmGetPublicKey';
@@ -93,6 +95,7 @@ export declare type CoreApi = {
93
95
  getLogs: typeof getLogs;
94
96
  checkTransportRelease: typeof checkTransportRelease;
95
97
  checkBridgeStatus: typeof checkBridgeStatus;
98
+ checkBootloaderRelease: typeof checkBootloaderRelease;
96
99
  searchDevices: typeof searchDevices;
97
100
  requestWebUsbDevice: typeof requestWebUsbDevice;
98
101
  getFeatures: typeof getFeatures;
@@ -111,6 +114,7 @@ export declare type CoreApi = {
111
114
  deviceVerify: typeof deviceVerify;
112
115
  deviceWipe: typeof deviceWipe;
113
116
  deviceFullyUploadResource: typeof deviceFullyUploadResource;
117
+ deviceUpdateBootloader: typeof deviceUpdateBootloader;
114
118
  checkFirmwareRelease: typeof checkFirmwareRelease;
115
119
  checkBLEFirmwareRelease: typeof checkBLEFirmwareRelease;
116
120
  firmwareUpdate: typeof firmwareUpdate;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,cAAc,UAAU,CAAC;AAEzB,oBAAY,OAAO,GAAG;IAIpB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,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,OAAO,EAAE,OAAO,OAAO,CAAC;IAKxB,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IAKtD,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,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,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAE1C,cAAc,EAAE,OAAO,cAAc,CAAC;IAKtC,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,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;IAK9C,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,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,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;CACzD,CAAC"}
@@ -24,6 +24,7 @@ export declare type IFirmwareReleaseInfo = {
24
24
  resource?: string;
25
25
  fullResource?: string;
26
26
  fullResourceRange?: string[];
27
+ bootloaderResource?: string;
27
28
  fingerprint: string;
28
29
  version: IVersionArray;
29
30
  changelog: {
@@ -44,7 +45,7 @@ export declare type IBLEFirmwareReleaseInfo = {
44
45
  export declare type DeviceTypeMap = {
45
46
  [k in IDeviceType]: {
46
47
  firmware: IFirmwareReleaseInfo[];
47
- 'firmware-v2'?: IFirmwareReleaseInfo[];
48
+ 'firmware-v3'?: IFirmwareReleaseInfo[];
48
49
  ble: IBLEFirmwareReleaseInfo[];
49
50
  };
50
51
  };
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/types/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,oBAAY,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oBAAY,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD,oBAAY,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAGxC,oBAAY,oBAAoB,GAAG;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IAEZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE;SACR,CAAC,IAAI,OAAO,GAAG,MAAM;KACvB,CAAC;CACH,CAAC;AAGF,oBAAY,uBAAuB,GAAG;IACpC,QAAQ,EAAE,OAAO,CAAC;IAElB,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE;SACR,CAAC,IAAI,OAAO,GAAG,MAAM;KACvB,CAAC;CACH,CAAC;AAEF,oBAAY,aAAa,GAAG;KACzB,CAAC,IAAI,WAAW,GAAG;QAClB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;QACjC,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACvC,GAAG,EAAE,uBAAuB,EAAE,CAAC;KAChC;CACF,CAAC;AAEF,oBAAY,SAAS,GAAG;IACtB,MAAM,EAAE;QACN,OAAO,EAAE,aAAa,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE;aACR,CAAC,IAAI,OAAO,GAAG,MAAM;SACvB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CAC7B,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/types/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,oBAAY,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oBAAY,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD,oBAAY,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAGxC,oBAAY,oBAAoB,GAAG;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IAEZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE;SACR,CAAC,IAAI,OAAO,GAAG,MAAM;KACvB,CAAC;CACH,CAAC;AAGF,oBAAY,uBAAuB,GAAG;IACpC,QAAQ,EAAE,OAAO,CAAC;IAElB,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE;SACR,CAAC,IAAI,OAAO,GAAG,MAAM;KACvB,CAAC;CACH,CAAC;AAEF,oBAAY,aAAa,GAAG;KACzB,CAAC,IAAI,WAAW,GAAG;QAClB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;QACjC,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACvC,GAAG,EAAE,uBAAuB,EAAE,CAAC;KAChC;CACF,CAAC;AAEF,oBAAY,SAAS,GAAG;IACtB,MAAM,EAAE;QACN,OAAO,EAAE,aAAa,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE;aACR,CAAC,IAAI,OAAO,GAAG,MAAM;SACvB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CAC7B,GAAG,aAAa,CAAC"}
@@ -9,10 +9,11 @@ export declare const getDeviceUUID: (features: Features) => string;
9
9
  export declare const getDeviceLabel: (features: Features) => string;
10
10
  export declare const getDeviceFirmwareVersion: (features: Features | undefined) => IVersionArray;
11
11
  export declare const getDeviceBLEFirmwareVersion: (features: Features) => IVersionArray | null;
12
+ export declare const getDeviceBootloaderVersion: (features: Features) => IVersionArray;
12
13
  export declare const supportInputPinOnSoftware: (features: Features) => SupportFeatureType;
13
14
  export declare const supportNewPassphrase: (features?: import("packages/hd-transport/dist").Features | undefined) => SupportFeatureType;
14
15
  export declare const getPassphraseState: (features: Features, commands: DeviceCommands) => Promise<string | false>;
15
16
  export declare const supportBatchPublicKey: (features?: import("packages/hd-transport/dist").Features | undefined) => boolean;
16
17
  export declare const supportModifyHomescreen: (features?: import("packages/hd-transport/dist").Features | undefined) => SupportFeatureType;
17
- export declare const getFirmwareUpdateField: (features: Features, updateType: 'firmware' | 'ble') => "firmware" | "ble" | "firmware-v2";
18
+ export declare const getFirmwareUpdateField: (features: Features, updateType: 'firmware' | 'ble') => "firmware" | "ble" | "firmware-v3";
18
19
  //# sourceMappingURL=deviceFeaturesUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deviceFeaturesUtils.d.ts","sourceRoot":"","sources":["../../src/utils/deviceFeaturesUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,cAAc,4EAA0B,YAUpD,CAAC;AAEF,eAAO,MAAM,aAAa,4EAA0B,WAUnD,CAAC;AAEF,eAAO,MAAM,yBAAyB,4EAA0B,WACvC,CAAC;AAE1B,eAAO,MAAM,sBAAsB,iCAAoB,WAAW,GAAG,IAKpE,CAAC;AAEF,eAAO,MAAM,uBAAuB,qCAAwB,WAQ3D,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,QAAQ,WAM/C,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,QAAQ,WAOhD,CAAC;AAKF,eAAO,MAAM,wBAAwB,aAAc,QAAQ,GAAG,SAAS,kBAOtE,CAAC;AAKF,eAAO,MAAM,2BAA2B,aAAc,QAAQ,KAAG,aAAa,GAAG,IAQhF,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,QAAQ,KAAG,kBAU9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,4EAA0B,kBAW1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAoB,QAAQ,YAAY,cAAc,4BAUpF,CAAC;AAEF,eAAO,MAAM,qBAAqB,4EAA0B,OAU3D,CAAC;AAEF,eAAO,MAAM,uBAAuB,4EAA0B,kBAU7D,CAAC;AAKF,eAAO,MAAM,sBAAsB,aAAc,QAAQ,cAAc,UAAU,GAAG,KAAK,uCAYxF,CAAC"}
1
+ {"version":3,"file":"deviceFeaturesUtils.d.ts","sourceRoot":"","sources":["../../src/utils/deviceFeaturesUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,cAAc,4EAA0B,YAUpD,CAAC;AAEF,eAAO,MAAM,aAAa,4EAA0B,WAUnD,CAAC;AAEF,eAAO,MAAM,yBAAyB,4EAA0B,WACvC,CAAC;AAE1B,eAAO,MAAM,sBAAsB,iCAAoB,WAAW,GAAG,IAKpE,CAAC;AAEF,eAAO,MAAM,uBAAuB,qCAAwB,WAQ3D,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,QAAQ,WAM/C,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,QAAQ,WAOhD,CAAC;AAKF,eAAO,MAAM,wBAAwB,aAAc,QAAQ,GAAG,SAAS,kBAOtE,CAAC;AAKF,eAAO,MAAM,2BAA2B,aAAc,QAAQ,KAAG,aAAa,GAAG,IAQhF,CAAC;AAEF,eAAO,MAAM,0BAA0B,aAAc,QAAQ,kBAM5D,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,QAAQ,KAAG,kBAU9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,4EAA0B,kBAW1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAoB,QAAQ,YAAY,cAAc,4BAUpF,CAAC;AAEF,eAAO,MAAM,qBAAqB,4EAA0B,OAU3D,CAAC;AAEF,eAAO,MAAM,uBAAuB,4EAA0B,kBAU7D,CAAC;AAKF,eAAO,MAAM,sBAAsB,aAAc,QAAQ,cAAc,UAAU,GAAG,KAAK,uCAYxF,CAAC"}
@@ -3,6 +3,7 @@ export * from './versionUtils';
3
3
  export * from './patch';
4
4
  export { getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getDeviceLabel, getFirmwareUpdateField, supportInputPinOnSoftware, } from './deviceFeaturesUtils';
5
5
  export { getHDPath, getScriptType, getOutputScriptType } from '../api/helpers/pathUtils';
6
+ export { checkNeedUpdateBoot } from '../api/firmware/updateBootloader';
6
7
  export { getLogger, enableLog, LoggerNames, getLog, setLoggerPostMessage } from './logger';
7
8
  export { getHomeScreenHex } from './homescreen';
8
9
  export declare const wait: (ms: number) => Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,eAAO,MAAM,IAAI,OAAQ,MAAM,qBAG3B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,eAAO,MAAM,IAAI,OAAQ,MAAM,qBAG3B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "0.2.27",
3
+ "version": "0.2.29",
4
4
  "description": "> TODO: description",
5
5
  "author": "OneKey",
6
6
  "homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
@@ -24,8 +24,8 @@
24
24
  "url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
25
25
  },
26
26
  "dependencies": {
27
- "@onekeyfe/hd-shared": "^0.2.27",
28
- "@onekeyfe/hd-transport": "^0.2.27",
27
+ "@onekeyfe/hd-shared": "^0.2.29",
28
+ "@onekeyfe/hd-transport": "^0.2.29",
29
29
  "axios": "^0.27.2",
30
30
  "bignumber.js": "^9.0.2",
31
31
  "jszip": "^3.10.1",
@@ -42,5 +42,5 @@
42
42
  "@types/semver": "^7.3.9",
43
43
  "ripple-keypairs": "^1.1.4"
44
44
  },
45
- "gitHead": "a3066efb64101d6996833fa328ecd01c9d827700"
45
+ "gitHead": "fe8cb7c73571d43ef6db56af728ee69ac3fa731e"
46
46
  }
@@ -0,0 +1,26 @@
1
+ import { BaseMethod } from './BaseMethod';
2
+
3
+ import { UI_REQUEST } from '../constants/ui-request';
4
+ import { checkNeedUpdateBoot } from './firmware/updateBootloader';
5
+ import { DataManager } from '../data-manager';
6
+
7
+ export default class CheckBootloaderRelease extends BaseMethod {
8
+ init() {
9
+ this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.BOOTLOADER];
10
+ this.checkDeviceId = true;
11
+ this.useDevicePassphraseState = false;
12
+ }
13
+
14
+ async run() {
15
+ if (this.device.features) {
16
+ const shouldUpdate = checkNeedUpdateBoot(this.device.features);
17
+ const resource = DataManager.getBootloaderResource(this.device.features);
18
+ return Promise.resolve({
19
+ shouldUpdate,
20
+ status: shouldUpdate ? 'outdated' : 'valid',
21
+ release: resource,
22
+ });
23
+ }
24
+ return null;
25
+ }
26
+ }
@@ -0,0 +1,68 @@
1
+ import { ERRORS, HardwareErrorCode, Deferred } from '@onekeyfe/hd-shared';
2
+ import { UI_REQUEST } from '../../constants/ui-request';
3
+ import { BaseMethod } from '../BaseMethod';
4
+ import { getSysResourceBinary } from '../firmware/getBinary';
5
+ import { updateBootloader } from '../firmware/uploadFirmware';
6
+ import { createUiMessage } from '../../events/ui-request';
7
+ import type { KnownDevice } from '../../types';
8
+ import { DataManager } from '../../data-manager';
9
+ import { checkNeedUpdateBoot } from '../firmware/updateBootloader';
10
+
11
+ export default class DeviceUpdateBootloader extends BaseMethod {
12
+ checkPromise: Deferred<any> | null = null;
13
+
14
+ init() {
15
+ this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.INITIALIZE];
16
+ this.requireDeviceMode = [];
17
+ this.useDevicePassphraseState = false;
18
+ }
19
+
20
+ postTipMessage = (message: string) => {
21
+ this.postMessage(
22
+ createUiMessage(UI_REQUEST.FIRMWARE_TIP, {
23
+ device: this.device.toMessageObject() as KnownDevice,
24
+ data: {
25
+ message,
26
+ },
27
+ })
28
+ );
29
+ };
30
+
31
+ async run() {
32
+ const { device } = this;
33
+ const { features } = device;
34
+
35
+ if (!features?.bootloader_mode && features) {
36
+ // check & upgrade firmware resource
37
+ if (features && checkNeedUpdateBoot(features)) {
38
+ this.postTipMessage('CheckLatestUiResource');
39
+ const resourceUrl = DataManager.getBootloaderResource(features);
40
+ if (resourceUrl) {
41
+ this.postTipMessage('DownloadLatestBootloaderResource');
42
+ const resource = await getSysResourceBinary(resourceUrl);
43
+ this.postTipMessage('DownloadLatestBootloaderResourceSuccess');
44
+ if (resource) {
45
+ try {
46
+ await updateBootloader(
47
+ this.device.getCommands().typedCall.bind(this.device.getCommands()),
48
+ this.postMessage,
49
+ device,
50
+ resource.binary
51
+ );
52
+ return await Promise.resolve(true);
53
+ } catch (e) {
54
+ return Promise.reject(
55
+ ERRORS.TypedError(
56
+ HardwareErrorCode.RuntimeError,
57
+ `update bootloader error, err: ${e}`
58
+ )
59
+ );
60
+ }
61
+ }
62
+ }
63
+ }
64
+ }
65
+
66
+ return Promise.resolve(true);
67
+ }
68
+ }
@@ -4,15 +4,19 @@ import { serializedPath, validatePath } from '../helpers/pathUtils';
4
4
  import { BaseMethod } from '../BaseMethod';
5
5
  import { validateParams } from '../helpers/paramsValidator';
6
6
  import { EVMGetPublicKeyParams, EVMPublicKey } from '../../types/api/evmGetPublicKey';
7
+ import { supportBatchPublicKey } from '../../utils/deviceFeaturesUtils';
7
8
 
8
9
  export default class EVMGetPublicKey extends BaseMethod<EthereumGetPublicKey[]> {
9
10
  hasBundle = false;
10
11
 
12
+ useBatch = false;
13
+
11
14
  init() {
12
15
  this.checkDeviceId = true;
13
16
  this.allowDeviceMode = [...this.allowDeviceMode, UI_REQUEST.INITIALIZE];
14
17
 
15
18
  this.hasBundle = !!this.payload?.bundle;
19
+ this.useBatch = !!this.payload?.useBatch;
16
20
  const payload = this.hasBundle ? this.payload : { bundle: [this.payload] };
17
21
 
18
22
  // check payload
@@ -42,6 +46,18 @@ export default class EVMGetPublicKey extends BaseMethod<EthereumGetPublicKey[]>
42
46
  async run() {
43
47
  const responses: EVMPublicKey[] = [];
44
48
 
49
+ if (this.useBatch && this.hasBundle && supportBatchPublicKey(this.device?.features)) {
50
+ const res = await this.device.commands.typedCall('BatchGetPublickeys', 'EcdsaPublicKeys', {
51
+ paths: this.params,
52
+ ecdsa_curve_name: 'secp256k1',
53
+ });
54
+ const result = res.message.public_keys.map((publicKey: string, index: number) => ({
55
+ path: serializedPath((this.params as unknown as any[])[index].address_n),
56
+ publicKey,
57
+ }));
58
+ return Promise.resolve(result);
59
+ }
60
+
45
61
  for (let i = 0; i < this.params.length; i++) {
46
62
  const param = this.params[i];
47
63
 
@@ -55,6 +71,7 @@ export default class EVMGetPublicKey extends BaseMethod<EthereumGetPublicKey[]>
55
71
 
56
72
  responses.push({
57
73
  path: serializedPath(param.address_n),
74
+ publicKey: res.message.node.public_key,
58
75
  ...res.message,
59
76
  });
60
77
  }
@@ -0,0 +1,22 @@
1
+ import semver from 'semver';
2
+ import { Features } from '../../types';
3
+ import { getDeviceType } from '../../utils';
4
+ import {
5
+ getDeviceBootloaderVersion,
6
+ getDeviceFirmwareVersion,
7
+ } from '../../utils/deviceFeaturesUtils';
8
+
9
+ export function checkNeedUpdateBoot(features: Features) {
10
+ const deviceType = getDeviceType(features);
11
+ if (deviceType !== 'touch') return false;
12
+ const currentVersion = getDeviceFirmwareVersion(features).join('.');
13
+ const bootloaderVersion = getDeviceBootloaderVersion(features).join('.');
14
+ return (
15
+ // support ResourceUpdate version 3.2.0
16
+ semver.gte(currentVersion, '3.2.0') &&
17
+ // support update bootloader version 4.1.0
18
+ semver.gte(currentVersion, '4.1.0') &&
19
+ // target bootloader version
20
+ semver.lte(bootloaderVersion, '2.4.0')
21
+ );
22
+ }
@@ -183,3 +183,17 @@ export const updateResources = async (
183
183
  postProgressTip(device, 'UpdateSysResourceSuccess', postMessage);
184
184
  return true;
185
185
  };
186
+
187
+ export const updateBootloader = async (
188
+ typedCall: TypedCall,
189
+ postMessage: (message: CoreMessage) => void,
190
+ device: Device,
191
+ source: ArrayBuffer
192
+ ) => {
193
+ postProgressTip(device, 'UpdateBootloader', postMessage);
194
+ postProgressMessage(device, Math.floor(0), postMessage);
195
+ await updateResource(typedCall, 'bootloader.bin', source);
196
+ postProgressMessage(device, Math.floor(100), postMessage);
197
+ postProgressTip(device, 'UpdateBootloaderSuccess', postMessage);
198
+ return true;
199
+ };
package/src/api/index.ts CHANGED
@@ -6,6 +6,7 @@ export { default as checkFirmwareRelease } from './CheckFirmwareRelease';
6
6
  export { default as checkBLEFirmwareRelease } from './CheckBLEFirmwareRelease';
7
7
  export { default as checkTransportRelease } from './CheckTransportRelease';
8
8
  export { default as checkBridgeStatus } from './CheckBridgeStatus';
9
+ export { default as checkBootloaderRelease } from './CheckBootloaderRelease';
9
10
  export { default as deviceBackup } from './device/DeviceBackup';
10
11
  export { default as deviceChangePin } from './device/DeviceChangePin';
11
12
  export { default as deviceFlags } from './device/DeviceFlags';
@@ -20,6 +21,7 @@ export { default as deviceSupportFeatures } from './device/DeviceSupportFeatures
20
21
  export { default as deviceVerify } from './device/DeviceVerify';
21
22
  export { default as deviceWipe } from './device/DeviceWipe';
22
23
  export { default as deviceFullyUploadResource } from './device/DeviceFullyUploadResource';
24
+ export { default as deviceUpdateBootloader } from './device/DeviceUpdateBootloader';
23
25
 
24
26
  export { default as firmwareUpdate } from './FirmwareUpdate';
25
27
  export { default as firmwareUpdateV2 } from './FirmwareUpdateV2';
@@ -21,7 +21,7 @@ import type {
21
21
  } from '../types';
22
22
  import { getReleaseChangelog, getReleaseStatus, findLatestRelease } from '../utils/release';
23
23
 
24
- type FirmwareField = 'firmware' | 'firmware-v2';
24
+ type FirmwareField = 'firmware' | 'firmware-v3';
25
25
 
26
26
  export default class DataManager {
27
27
  static deviceMap: DeviceTypeMap = {
@@ -106,6 +106,17 @@ export default class DataManager {
106
106
  return findLatestRelease(targetDeviceConfig)?.fullResource;
107
107
  };
108
108
 
109
+ static getBootloaderResource = (features: Features) => {
110
+ const deviceType = getDeviceType(features);
111
+
112
+ if (deviceType !== 'pro' && deviceType !== 'touch') return undefined;
113
+ const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware') as FirmwareField;
114
+ const targetDeviceConfigList = this.deviceMap[deviceType]?.[firmwareUpdateField] ?? [];
115
+ const targetDeviceConfig = targetDeviceConfigList.filter(item => !!item.bootloaderResource);
116
+
117
+ return findLatestRelease(targetDeviceConfig)?.bootloaderResource;
118
+ };
119
+
109
120
  static getFirmwareChangelog = (features: Features) => {
110
121
  const deviceType = getDeviceType(features);
111
122
  const deviceFirmwareVersion = getDeviceFirmwareVersion(features);
package/src/inject.ts CHANGED
@@ -73,6 +73,8 @@ export const inject = ({
73
73
  */
74
74
  checkBridgeStatus: () => call({ method: 'checkBridgeStatus' }),
75
75
 
76
+ checkBootloaderRelease: connectId => call({ connectId, method: 'checkBootloaderRelease' }),
77
+
76
78
  cipherKeyValue: (connectId, deviceId, params) =>
77
79
  call({ ...params, connectId, deviceId, method: 'cipherKeyValue' }),
78
80
 
@@ -94,6 +96,7 @@ export const inject = ({
94
96
  deviceWipe: connectId => call({ connectId, method: 'deviceWipe' }),
95
97
  deviceFullyUploadResource: connectId =>
96
98
  call({ connectId, method: 'deviceFullyUploadResource' }),
99
+ deviceUpdateBootloader: connectId => call({ connectId, method: 'deviceUpdateBootloader' }),
97
100
  getPassphraseState: (connectId, params) =>
98
101
  call({ ...params, connectId, method: 'getPassphraseState' }),
99
102
 
@@ -0,0 +1,11 @@
1
+ import type { Response } from '../params';
2
+
3
+ export type CheckBootloaderReleaseResponse = {
4
+ shouldUpdate: boolean;
5
+ status: 'outdated' | 'valid';
6
+ release: string | undefined;
7
+ } | null;
8
+
9
+ export declare function checkBootloaderRelease(
10
+ connectId?: string
11
+ ): Response<CheckBootloaderReleaseResponse>;
@@ -1,4 +1,4 @@
1
1
  import type { Response } from '../params';
2
2
  import { TransportReleaseStatus } from '../firmware';
3
3
 
4
- export declare function checkTransportRelease(): Response<TransportReleaseStatus>;
4
+ export declare function checkTransportRelease(connectId?: string): Response<TransportReleaseStatus>;
@@ -0,0 +1,4 @@
1
+ import { Success } from '@onekeyfe/hd-transport';
2
+ import type { Response } from '../params';
3
+
4
+ export declare function deviceUpdateBootloader(connectId: string): Response<Success>;
@@ -3,6 +3,7 @@ import type { CommonParams, Response } from '../params';
3
3
 
4
4
  export type EVMPublicKey = {
5
5
  path: string;
6
+ publicKey: string;
6
7
  } & EthereumPublicKey;
7
8
 
8
9
  export type EVMGetPublicKeyParams = {
@@ -22,3 +23,9 @@ export declare function evmGetPublicKey(
22
23
  deviceId: string,
23
24
  params: CommonParams & { bundle?: EVMGetPublicKeyParams[] }
24
25
  ): Response<Array<EVMPublicKey>>;
26
+
27
+ export declare function evmGetPublicKey(
28
+ connectId: string,
29
+ deviceId: string,
30
+ params: CommonParams & { bundle?: EVMGetPublicKeyParams[]; useBatch?: boolean }
31
+ ): Response<Omit<EVMPublicKey, 'node' | 'xpub'>>;
@@ -5,6 +5,7 @@ import { init } from './init';
5
5
  import { getLogs } from './getLogs';
6
6
  import { checkTransportRelease } from './checkTransportRelease';
7
7
  import { checkBridgeStatus } from './checkBridgeStatus';
8
+ import { checkBootloaderRelease } from './checkBootloaderRelease';
8
9
 
9
10
  import { searchDevices } from './searchDevices';
10
11
  import { getFeatures } from './getFeatures';
@@ -28,6 +29,7 @@ import { deviceUpdateReboot } from './deviceUpdateReboot';
28
29
  import { deviceUploadResource } from './deviceUploadResource';
29
30
  import { deviceSupportFeatures } from './deviceSupportFeatures';
30
31
  import { deviceFullyUploadResource } from './deviceFullyUploadResource';
32
+ import { deviceUpdateBootloader } from './deviceUpdateBootloader';
31
33
 
32
34
  import { cipherKeyValue } from './cipherKeyValue';
33
35
 
@@ -123,6 +125,7 @@ export type CoreApi = {
123
125
  */
124
126
  checkTransportRelease: typeof checkTransportRelease;
125
127
  checkBridgeStatus: typeof checkBridgeStatus;
128
+ checkBootloaderRelease: typeof checkBootloaderRelease;
126
129
 
127
130
  /**
128
131
  * Device function
@@ -145,6 +148,7 @@ export type CoreApi = {
145
148
  deviceVerify: typeof deviceVerify;
146
149
  deviceWipe: typeof deviceWipe;
147
150
  deviceFullyUploadResource: typeof deviceFullyUploadResource;
151
+ deviceUpdateBootloader: typeof deviceUpdateBootloader;
148
152
  checkFirmwareRelease: typeof checkFirmwareRelease;
149
153
  checkBLEFirmwareRelease: typeof checkBLEFirmwareRelease;
150
154
  firmwareUpdate: typeof firmwareUpdate;
@@ -32,6 +32,7 @@ export type IFirmwareReleaseInfo = {
32
32
  /** Firmware full UI resource */
33
33
  fullResource?: string;
34
34
  fullResourceRange?: string[];
35
+ bootloaderResource?: string;
35
36
  fingerprint: string;
36
37
  version: IVersionArray;
37
38
  changelog: {
@@ -57,7 +58,7 @@ export type IBLEFirmwareReleaseInfo = {
57
58
  export type DeviceTypeMap = {
58
59
  [k in IDeviceType]: {
59
60
  firmware: IFirmwareReleaseInfo[];
60
- 'firmware-v2'?: IFirmwareReleaseInfo[];
61
+ 'firmware-v3'?: IFirmwareReleaseInfo[];
61
62
  ble: IBLEFirmwareReleaseInfo[];
62
63
  };
63
64
  };
@@ -95,6 +95,14 @@ export const getDeviceBLEFirmwareVersion = (features: Features): IVersionArray |
95
95
  return features.ble_ver.split('.') as unknown as IVersionArray;
96
96
  };
97
97
 
98
+ export const getDeviceBootloaderVersion = (features: Features): IVersionArray => {
99
+ if (!features.bootloader_version) return [0, 0, 0];
100
+ if (semver.valid(features.bootloader_version)) {
101
+ return features.bootloader_version.split('.') as unknown as IVersionArray;
102
+ }
103
+ return [0, 0, 0];
104
+ };
105
+
98
106
  export const supportInputPinOnSoftware = (features: Features): SupportFeatureType => {
99
107
  if (!features) return { support: false };
100
108
 
@@ -157,7 +165,7 @@ export const supportModifyHomescreen = (features?: Features): SupportFeatureType
157
165
  };
158
166
 
159
167
  /**
160
- * Since 3.5.0, Touch uses the firmware-v2 field to get firmware release info
168
+ * Since 3.5.0, Touch uses the firmware-v3 field to get firmware release info
161
169
  */
162
170
  export const getFirmwareUpdateField = (features: Features, updateType: 'firmware' | 'ble') => {
163
171
  const deviceType = getDeviceType(features);
@@ -168,7 +176,7 @@ export const getFirmwareUpdateField = (features: Features, updateType: 'firmware
168
176
 
169
177
  if (deviceType === 'touch') {
170
178
  if (semver.lt(deviceFirmwareVersion.join('.'), '3.4.0')) return 'firmware';
171
- return 'firmware-v2';
179
+ return 'firmware-v3';
172
180
  }
173
181
  return 'firmware';
174
182
  };
@@ -12,6 +12,8 @@ export {
12
12
  } from './deviceFeaturesUtils';
13
13
  export { getHDPath, getScriptType, getOutputScriptType } from '../api/helpers/pathUtils';
14
14
 
15
+ export { checkNeedUpdateBoot } from '../api/firmware/updateBootloader';
16
+
15
17
  export { getLogger, enableLog, LoggerNames, getLog, setLoggerPostMessage } from './logger';
16
18
 
17
19
  export { getHomeScreenHex } from './homescreen';