@onekeyfe/hd-core 1.0.0-alpha.4 → 1.0.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,6 +8,7 @@ export default class CheckBLEFirmwareRelease extends BaseMethod {
8
8
  "en-US": string;
9
9
  }[];
10
10
  release: import("..").IBLEFirmwareReleaseInfo | undefined;
11
+ bootloaderMode: boolean;
11
12
  }>;
12
13
  }
13
14
  //# sourceMappingURL=CheckBLEFirmwareRelease.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckBLEFirmwareRelease.d.ts","sourceRoot":"","sources":["../../src/api/CheckBLEFirmwareRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK1C,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D,IAAI;IAOJ,GAAG;;;;;;;;CAOJ"}
1
+ {"version":3,"file":"CheckBLEFirmwareRelease.d.ts","sourceRoot":"","sources":["../../src/api/CheckBLEFirmwareRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK1C,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D,IAAI;IAUJ,GAAG;;;;;;;;;CAOJ"}
@@ -4,7 +4,12 @@ export default class CheckBootloaderRelease extends BaseMethod {
4
4
  run(): Promise<{
5
5
  shouldUpdate: boolean;
6
6
  status: string;
7
- release: string | undefined;
7
+ changelog: ({
8
+ "zh-CN": string;
9
+ "en-US": string;
10
+ } | undefined)[];
11
+ release: import("../types").IFirmwareReleaseInfo | undefined;
12
+ bootloaderMode: boolean;
8
13
  } | null>;
9
14
  }
10
15
  //# sourceMappingURL=CheckBootloaderRelease.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckBootloaderRelease.d.ts","sourceRoot":"","sources":["../../src/api/CheckBootloaderRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAW1C,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,UAAU;IAC5D,IAAI;IAME,GAAG;;;;;CAuBV"}
1
+ {"version":3,"file":"CheckBootloaderRelease.d.ts","sourceRoot":"","sources":["../../src/api/CheckBootloaderRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAW1C,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,UAAU;IAC5D,IAAI;IAME,GAAG;;;;;;;;;;CAuBV"}
@@ -8,6 +8,7 @@ export default class CheckFirmwareRelease extends BaseMethod {
8
8
  "en-US": string;
9
9
  }[];
10
10
  release: import("..").IFirmwareReleaseInfo | undefined;
11
+ bootloaderMode: boolean;
11
12
  }> | Promise<null>;
12
13
  }
13
14
  //# sourceMappingURL=CheckFirmwareRelease.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckFirmwareRelease.d.ts","sourceRoot":"","sources":["../../src/api/CheckFirmwareRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,UAAU;IAC1D,IAAI;IAKJ,GAAG;;;;;;;;CAOJ"}
1
+ {"version":3,"file":"CheckFirmwareRelease.d.ts","sourceRoot":"","sources":["../../src/api/CheckFirmwareRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK1C,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,UAAU;IAC1D,IAAI;IAUJ,GAAG;;;;;;;;;CAOJ"}
@@ -6,6 +6,7 @@ export declare const getFirmwareReleaseInfo: (features: Features) => {
6
6
  "en-US": string;
7
7
  }[];
8
8
  release: import("../../types").IFirmwareReleaseInfo | undefined;
9
+ bootloaderMode: boolean;
9
10
  };
10
11
  export declare const getBleFirmwareReleaseInfo: (features: Features) => {
11
12
  status: import("../../types").IDeviceBLEFirmwareStatus;
@@ -14,5 +15,15 @@ export declare const getBleFirmwareReleaseInfo: (features: Features) => {
14
15
  "en-US": string;
15
16
  }[];
16
17
  release: import("../../types").IBLEFirmwareReleaseInfo | undefined;
18
+ bootloaderMode: boolean;
19
+ };
20
+ export declare const getBootloaderReleaseInfo: (features: Features) => {
21
+ status: undefined;
22
+ changelog: ({
23
+ "zh-CN": string;
24
+ "en-US": string;
25
+ } | undefined)[];
26
+ release: import("../../types").IFirmwareReleaseInfo | undefined;
27
+ bootloaderMode: boolean;
17
28
  };
18
29
  //# sourceMappingURL=releaseHelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"releaseHelper.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/releaseHelper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,sBAAsB,aAAc,QAAQ;;;;;;;CASxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,QAAQ;;;;;;;CAS3D,CAAC"}
1
+ {"version":3,"file":"releaseHelper.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/releaseHelper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,sBAAsB,aAAc,QAAQ;;;;;;;;CAWxD,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,QAAQ;;;;;;;;CAW3D,CAAC;AAEF,eAAO,MAAM,wBAAwB,aAAc,QAAQ;;;;;;;;CAiB1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataManager.d.ts","sourceRoot":"","sources":["../../src/data-manager/DataManager.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,QAAQ,EACR,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EAEd,MAAM,UAAU,CAAC;AAIlB,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;AAEvE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,IAAI,CAAC;AAE7C,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,MAAM,CAAC,SAAS,EAAE,aAAa,CAqB7B;IAEF,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEvC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEjC,MAAM,CAAC,QAAQ,EAAE;SAAG,OAAO,IAAI,cAAc,GAAG,IAAI;KAAE,CAGpD;IAEF,MAAM,CAAC,kBAAkB,SAAK;IAE9B,MAAM,CAAC,iBAAiB,aAAc,QAAQ,KAAG,qBAAqB,CAiBpE;IAMF,MAAM,CAAC,4BAA4B,aAAc,QAAQ,oBAAoB,OAAO,wBAmBlF;IAMF,MAAM,CAAC,kBAAkB,aAAc,QAAQ,wBAc7C;IAEF,MAAM,CAAC,qBAAqB,aAAc,QAAQ,wBAahD;IAEF,MAAM,CAAC,0BAA0B,aAAc,QAAQ,KAAG,aAAa,GAAG,SAAS,CAYjF;IAEF,MAAM,CAAC,mCAAmC,aAAc,QAAQ,KAAG,aAAa,GAAG,SAAS,CAe1F;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ;;;QAoB/C;IAEF,MAAM,CAAC,wBAAwB,aAAc,QAAQ,yDAqBnD;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ,KAAG,wBAAwB,CAc1E;IAEF,MAAM,CAAC,uBAAuB,aAAc,QAAQ;;;QAalD;IAEF,MAAM,CAAC,2BAA2B,aAAc,QAAQ,4DAMtD;IAEF,MAAM,CAAC,kBAAkB,iBAAkB,MAAM,KAAG,gBAAgB,CAKlE;WAEW,IAAI,CAAC,QAAQ,EAAE,eAAe;WAgC9B,kBAAkB;IAQ/B,MAAM,CAAC,mBAAmB,CAAC,cAAc,GAAE,cAAyB,GAAG,IAAI;IAI3E,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;IAU/E,MAAM,CAAC,YAAY,QAAS,eAAe,CAAC,KAAK,CAAC,aACH;CAChD"}
1
+ {"version":3,"file":"DataManager.d.ts","sourceRoot":"","sources":["../../src/data-manager/DataManager.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,QAAQ,EACR,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EAEd,MAAM,UAAU,CAAC;AAIlB,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;AAEvE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,IAAI,CAAC;AAE7C,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,MAAM,CAAC,SAAS,EAAE,aAAa,CAqB7B;IAEF,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEvC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEjC,MAAM,CAAC,QAAQ,EAAE;SAAG,OAAO,IAAI,cAAc,GAAG,IAAI;KAAE,CAGpD;IAEF,MAAM,CAAC,kBAAkB,SAAK;IAE9B,MAAM,CAAC,iBAAiB,aAAc,QAAQ,KAAG,qBAAqB,CAiBpE;IAMF,MAAM,CAAC,4BAA4B,aAAc,QAAQ,oBAAoB,OAAO,wBAmBlF;IAMF,MAAM,CAAC,kBAAkB,aAAc,QAAQ,wBAc7C;IAEF,MAAM,CAAC,qBAAqB,aAAc,QAAQ,wBAahD;IAEF,MAAM,CAAC,0BAA0B,aAAc,QAAQ,KAAG,aAAa,GAAG,SAAS,CAYjF;IAEF,MAAM,CAAC,mCAAmC,aAAc,QAAQ,KAAG,aAAa,GAAG,SAAS,CAe1F;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ;;;QAsB/C;IAEF,MAAM,CAAC,wBAAwB,aAAc,QAAQ,yDAqBnD;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ,KAAG,wBAAwB,CAc1E;IAEF,MAAM,CAAC,uBAAuB,aAAc,QAAQ;;;QAalD;IAEF,MAAM,CAAC,2BAA2B,aAAc,QAAQ,4DAMtD;IAEF,MAAM,CAAC,kBAAkB,iBAAkB,MAAM,KAAG,gBAAgB,CAKlE;WAEW,IAAI,CAAC,QAAQ,EAAE,eAAe;WAgC9B,kBAAkB;IAQ/B,MAAM,CAAC,mBAAmB,CAAC,cAAc,GAAE,cAAyB,GAAG,IAAI;IAI3E,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;IAU/E,MAAM,CAAC,YAAY,QAAS,eAAe,CAAC,KAAK,CAAC,aACH;CAChD"}
package/dist/index.d.ts CHANGED
@@ -287,6 +287,7 @@ type CheckBootloaderReleaseResponse = {
287
287
  shouldUpdate: boolean;
288
288
  status: 'outdated' | 'valid';
289
289
  release: string | undefined;
290
+ bootloaderMode: boolean;
290
291
  } | null;
291
292
  declare function checkBootloaderRelease(connectId?: string, params?: CommonParams & {
292
293
  willUpdateFirmwareVersion?: string;
@@ -307,6 +308,7 @@ type FirmwareRelease = {
307
308
  'zh-CN': string;
308
309
  }[];
309
310
  release: IFirmwareReleaseInfo;
311
+ bootloaderMode: boolean;
310
312
  };
311
313
  declare function checkFirmwareRelease(connectId?: string): Response<FirmwareRelease>;
312
314
 
@@ -317,6 +319,7 @@ type BleFirmwareRelease = {
317
319
  'en-US': string;
318
320
  }[];
319
321
  release: IBLEFirmwareReleaseInfo;
322
+ bootloaderMode: boolean;
320
323
  };
321
324
  declare function checkBLEFirmwareRelease(connectId?: string): Response<BleFirmwareRelease>;
322
325
 
@@ -2231,6 +2234,7 @@ declare const getFirmwareReleaseInfo: (features: Features) => {
2231
2234
  "en-US": string;
2232
2235
  }[];
2233
2236
  release: IFirmwareReleaseInfo | undefined;
2237
+ bootloaderMode: boolean;
2234
2238
  };
2235
2239
  declare const getBleFirmwareReleaseInfo: (features: Features) => {
2236
2240
  status: IDeviceBLEFirmwareStatus;
@@ -2239,6 +2243,7 @@ declare const getBleFirmwareReleaseInfo: (features: Features) => {
2239
2243
  "en-US": string;
2240
2244
  }[];
2241
2245
  release: IBLEFirmwareReleaseInfo | undefined;
2246
+ bootloaderMode: boolean;
2242
2247
  };
2243
2248
 
2244
2249
  declare const FIRMWARE_EVENT = "FIRMWARE_EVENT";
package/dist/index.js CHANGED
@@ -23318,7 +23318,7 @@ DataManager.getFirmwareStatus = (features) => {
23318
23318
  if (features.firmware_present === false) {
23319
23319
  return 'none';
23320
23320
  }
23321
- if (DeviceModelToTypes.model_classic.includes(deviceType) && features.bootloader_mode) {
23321
+ if (DeviceModelToTypes.model_mini.includes(deviceType) && features.bootloader_mode) {
23322
23322
  return 'unknown';
23323
23323
  }
23324
23324
  const firmwareUpdateField = getFirmwareUpdateField({ features, updateType: 'firmware' });
@@ -23407,15 +23407,15 @@ DataManager.getFirmwareChangelog = (features) => {
23407
23407
  if (deviceType === 'unknown')
23408
23408
  return [];
23409
23409
  const deviceFirmwareVersion = getDeviceFirmwareVersion(features);
23410
- if (features.firmware_present === false ||
23411
- (DeviceModelToTypes.model_classic.includes(deviceType) && features.bootloader_mode)) {
23412
- return [];
23413
- }
23414
23410
  const firmwareUpdateField = getFirmwareUpdateField({
23415
23411
  features,
23416
23412
  updateType: 'firmware',
23417
23413
  });
23418
23414
  const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b[firmwareUpdateField]) !== null && _c !== void 0 ? _c : [];
23415
+ if (features.firmware_present === false ||
23416
+ (DeviceModelToTypes.model_classic.includes(deviceType) && features.bootloader_mode)) {
23417
+ return getReleaseChangelog(targetDeviceConfigList, '0.0.0');
23418
+ }
23419
23419
  const currentVersion = deviceFirmwareVersion.join('.');
23420
23420
  return getReleaseChangelog(targetDeviceConfigList, currentVersion);
23421
23421
  };
@@ -25312,20 +25312,38 @@ const getFirmwareReleaseInfo = (features) => {
25312
25312
  const firmwareStatus = DataManager.getFirmwareStatus(features);
25313
25313
  const changelog = DataManager.getFirmwareChangelog(features);
25314
25314
  const release = DataManager.getFirmwareLatestRelease(features);
25315
+ const bootloaderMode = !!features.bootloader_mode;
25315
25316
  return {
25316
25317
  status: firmwareStatus,
25317
25318
  changelog,
25318
25319
  release,
25320
+ bootloaderMode,
25319
25321
  };
25320
25322
  };
25321
25323
  const getBleFirmwareReleaseInfo = (features) => {
25322
25324
  const firmwareStatus = DataManager.getBLEFirmwareStatus(features);
25323
25325
  const changelog = DataManager.getBleFirmwareChangelog(features);
25324
25326
  const release = DataManager.getBleFirmwareLatestRelease(features);
25327
+ const bootloaderMode = !!features.bootloader_mode;
25325
25328
  return {
25326
25329
  status: firmwareStatus,
25327
25330
  changelog,
25328
25331
  release,
25332
+ bootloaderMode,
25333
+ };
25334
+ };
25335
+ const getBootloaderReleaseInfo = (features) => {
25336
+ const release = DataManager.getFirmwareLatestRelease(features);
25337
+ const changelog = [release === null || release === void 0 ? void 0 : release.bootloaderChangelog].filter(item => item != null &&
25338
+ typeof item === 'object' &&
25339
+ Object.prototype.hasOwnProperty.call(item, 'zh-CN') &&
25340
+ Object.prototype.hasOwnProperty.call(item, 'en-US'));
25341
+ const bootloaderMode = !!features.bootloader_mode;
25342
+ return {
25343
+ status: undefined,
25344
+ changelog,
25345
+ release,
25346
+ bootloaderMode,
25329
25347
  };
25330
25348
  };
25331
25349
 
@@ -25433,7 +25451,8 @@ class GetFeatures extends BaseMethod {
25433
25451
  this.skipForceUpdateCheck = true;
25434
25452
  }
25435
25453
  run() {
25436
- if (this.payload.detectBootloaderDevice && this.device.features.bootloader_mode) {
25454
+ var _a;
25455
+ if (this.payload.detectBootloaderDevice && ((_a = this.device.features) === null || _a === void 0 ? void 0 : _a.bootloader_mode)) {
25437
25456
  return Promise.reject(hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.DeviceDetectInBootloaderMode));
25438
25457
  }
25439
25458
  return Promise.resolve(this.device.features);
@@ -25496,6 +25515,11 @@ class CheckBridgeStatus$1 extends BaseMethod {
25496
25515
 
25497
25516
  class CheckFirmwareRelease extends BaseMethod {
25498
25517
  init() {
25518
+ this.notAllowDeviceMode = [
25519
+ ...this.notAllowDeviceMode,
25520
+ UI_REQUEST.INITIALIZE,
25521
+ UI_REQUEST.BOOTLOADER,
25522
+ ];
25499
25523
  this.useDevicePassphraseState = false;
25500
25524
  this.skipForceUpdateCheck = true;
25501
25525
  }
@@ -25510,8 +25534,11 @@ class CheckFirmwareRelease extends BaseMethod {
25510
25534
 
25511
25535
  class CheckBLEFirmwareRelease extends BaseMethod {
25512
25536
  init() {
25513
- this.notAllowDeviceMode = [...this.notAllowDeviceMode, UI_REQUEST.BOOTLOADER];
25514
- this.checkDeviceId = true;
25537
+ this.notAllowDeviceMode = [
25538
+ ...this.notAllowDeviceMode,
25539
+ UI_REQUEST.INITIALIZE,
25540
+ UI_REQUEST.BOOTLOADER,
25541
+ ];
25515
25542
  this.useDevicePassphraseState = false;
25516
25543
  this.skipForceUpdateCheck = true;
25517
25544
  }
@@ -25652,12 +25679,8 @@ class CheckBootloaderRelease extends BaseMethod {
25652
25679
  else if (deviceType === 'touch') {
25653
25680
  shouldUpdate = checkNeedUpdateBootForTouch(features);
25654
25681
  }
25655
- const resource = DataManager.getBootloaderResource(features);
25656
- return Promise.resolve({
25657
- shouldUpdate,
25658
- status: shouldUpdate ? 'outdated' : 'valid',
25659
- release: resource,
25660
- });
25682
+ const releaseInfo = getBootloaderReleaseInfo(features);
25683
+ return Promise.resolve(Object.assign(Object.assign({}, releaseInfo), { shouldUpdate, status: shouldUpdate ? 'outdated' : 'valid' }));
25661
25684
  });
25662
25685
  }
25663
25686
  }
@@ -8,6 +8,7 @@ type BleFirmwareRelease = {
8
8
  'en-US': string;
9
9
  }[];
10
10
  release: IBLEFirmwareReleaseInfo;
11
+ bootloaderMode: boolean;
11
12
  };
12
13
  export declare function checkBLEFirmwareRelease(connectId?: string): Response<BleFirmwareRelease>;
13
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"checkBLEFirmwareRelease.d.ts","sourceRoot":"","sources":["../../../src/types/api/checkBLEFirmwareRelease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,wBAAwB,CAAC;IACjC,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,OAAO,EAAE,uBAAuB,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"checkBLEFirmwareRelease.d.ts","sourceRoot":"","sources":["../../../src/types/api/checkBLEFirmwareRelease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,wBAAwB,CAAC;IACjC,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,OAAO,EAAE,uBAAuB,CAAC;IACjC,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC"}
@@ -3,6 +3,7 @@ export type CheckBootloaderReleaseResponse = {
3
3
  shouldUpdate: boolean;
4
4
  status: 'outdated' | 'valid';
5
5
  release: string | undefined;
6
+ bootloaderMode: boolean;
6
7
  } | null;
7
8
  export declare function checkBootloaderRelease(connectId?: string, params?: CommonParams & {
8
9
  willUpdateFirmwareVersion?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"checkBootloaderRelease.d.ts","sourceRoot":"","sources":["../../../src/types/api/checkBootloaderRelease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,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,EAClB,MAAM,CAAC,EAAE,YAAY,GAAG;IACtB,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,GACA,QAAQ,CAAC,8BAA8B,CAAC,CAAC"}
1
+ {"version":3,"file":"checkBootloaderRelease.d.ts","sourceRoot":"","sources":["../../../src/types/api/checkBootloaderRelease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;CACzB,GAAG,IAAI,CAAC;AAET,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,YAAY,GAAG;IACtB,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,GACA,QAAQ,CAAC,8BAA8B,CAAC,CAAC"}
@@ -8,6 +8,7 @@ type FirmwareRelease = {
8
8
  'zh-CN': string;
9
9
  }[];
10
10
  release: IFirmwareReleaseInfo;
11
+ bootloaderMode: boolean;
11
12
  };
12
13
  export declare function checkFirmwareRelease(connectId?: string): Response<FirmwareRelease>;
13
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"checkFirmwareRelease.d.ts","sourceRoot":"","sources":["../../../src/types/api/checkFirmwareRelease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"checkFirmwareRelease.d.ts","sourceRoot":"","sources":["../../../src/types/api/checkFirmwareRelease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,OAAO,EAAE,oBAAoB,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "1.0.0-alpha.4",
3
+ "version": "1.0.0-alpha.6",
4
4
  "description": "> TODO: description",
5
5
  "author": "OneKey",
6
6
  "homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
@@ -25,8 +25,8 @@
25
25
  "url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
26
26
  },
27
27
  "dependencies": {
28
- "@onekeyfe/hd-shared": "^1.0.0-alpha.4",
29
- "@onekeyfe/hd-transport": "^1.0.0-alpha.4",
28
+ "@onekeyfe/hd-shared": "^1.0.0-alpha.6",
29
+ "@onekeyfe/hd-transport": "^1.0.0-alpha.6",
30
30
  "axios": "^0.27.2",
31
31
  "bignumber.js": "^9.0.2",
32
32
  "bytebuffer": "^5.0.1",
@@ -44,5 +44,5 @@
44
44
  "@types/semver": "^7.3.9",
45
45
  "ripple-keypairs": "^1.1.4"
46
46
  },
47
- "gitHead": "216ae99dccdae4b01bd7fc9f62e0b593c243a864"
47
+ "gitHead": "d13f1147cbc7f7e01df3c9b2d563668c43b14aaa"
48
48
  }
@@ -5,8 +5,11 @@ import { getBleFirmwareReleaseInfo } from './firmware/releaseHelper';
5
5
 
6
6
  export default class CheckBLEFirmwareRelease extends BaseMethod {
7
7
  init() {
8
- this.notAllowDeviceMode = [...this.notAllowDeviceMode, UI_REQUEST.BOOTLOADER];
9
- this.checkDeviceId = true;
8
+ this.notAllowDeviceMode = [
9
+ ...this.notAllowDeviceMode,
10
+ UI_REQUEST.INITIALIZE,
11
+ UI_REQUEST.BOOTLOADER,
12
+ ];
10
13
  this.useDevicePassphraseState = false;
11
14
  this.skipForceUpdateCheck = true;
12
15
  }
@@ -5,9 +5,9 @@ import {
5
5
  checkNeedUpdateBootForClassicAndMini,
6
6
  checkNeedUpdateBootForTouch,
7
7
  } from './firmware/updateBootloader';
8
- import { DataManager } from '../data-manager';
9
8
  import { getDeviceType } from '../utils';
10
9
  import { DeviceModelToTypes } from '../types';
10
+ import { getBootloaderReleaseInfo } from './firmware/releaseHelper';
11
11
 
12
12
  export default class CheckBootloaderRelease extends BaseMethod {
13
13
  init() {
@@ -32,11 +32,11 @@ export default class CheckBootloaderRelease extends BaseMethod {
32
32
  } else if (deviceType === 'touch') {
33
33
  shouldUpdate = checkNeedUpdateBootForTouch(features);
34
34
  }
35
- const resource = DataManager.getBootloaderResource(features);
35
+ const releaseInfo = getBootloaderReleaseInfo(features);
36
36
  return Promise.resolve({
37
+ ...releaseInfo,
37
38
  shouldUpdate,
38
39
  status: shouldUpdate ? 'outdated' : 'valid',
39
- release: resource,
40
40
  });
41
41
  }
42
42
  }
@@ -1,9 +1,15 @@
1
1
  import { BaseMethod } from './BaseMethod';
2
+ import { UI_REQUEST } from '../constants/ui-request';
2
3
 
3
4
  import { getFirmwareReleaseInfo } from './firmware/releaseHelper';
4
5
 
5
6
  export default class CheckFirmwareRelease extends BaseMethod {
6
7
  init() {
8
+ this.notAllowDeviceMode = [
9
+ ...this.notAllowDeviceMode,
10
+ UI_REQUEST.INITIALIZE,
11
+ UI_REQUEST.BOOTLOADER,
12
+ ];
7
13
  this.useDevicePassphraseState = false;
8
14
  this.skipForceUpdateCheck = true;
9
15
  }
@@ -14,7 +14,7 @@ export default class GetFeatures extends BaseMethod {
14
14
  }
15
15
 
16
16
  run() {
17
- if (this.payload.detectBootloaderDevice && this.device.features.bootloader_mode) {
17
+ if (this.payload.detectBootloaderDevice && this.device.features?.bootloader_mode) {
18
18
  return Promise.reject(ERRORS.TypedError(HardwareErrorCode.DeviceDetectInBootloaderMode));
19
19
  }
20
20
  return Promise.resolve(this.device.features);
@@ -5,10 +5,12 @@ export const getFirmwareReleaseInfo = (features: Features) => {
5
5
  const firmwareStatus = DataManager.getFirmwareStatus(features);
6
6
  const changelog = DataManager.getFirmwareChangelog(features);
7
7
  const release = DataManager.getFirmwareLatestRelease(features);
8
+ const bootloaderMode = !!features.bootloader_mode;
8
9
  return {
9
10
  status: firmwareStatus,
10
11
  changelog,
11
12
  release,
13
+ bootloaderMode,
12
14
  };
13
15
  };
14
16
 
@@ -16,9 +18,30 @@ export const getBleFirmwareReleaseInfo = (features: Features) => {
16
18
  const firmwareStatus = DataManager.getBLEFirmwareStatus(features);
17
19
  const changelog = DataManager.getBleFirmwareChangelog(features);
18
20
  const release = DataManager.getBleFirmwareLatestRelease(features);
21
+ const bootloaderMode = !!features.bootloader_mode;
19
22
  return {
20
23
  status: firmwareStatus,
21
24
  changelog,
22
25
  release,
26
+ bootloaderMode,
27
+ };
28
+ };
29
+
30
+ export const getBootloaderReleaseInfo = (features: Features) => {
31
+ const release = DataManager.getFirmwareLatestRelease(features);
32
+ const changelog = [release?.bootloaderChangelog].filter(
33
+ item =>
34
+ item != null &&
35
+ typeof item === 'object' &&
36
+ Object.prototype.hasOwnProperty.call(item, 'zh-CN') &&
37
+ Object.prototype.hasOwnProperty.call(item, 'en-US')
38
+ );
39
+
40
+ const bootloaderMode = !!features.bootloader_mode;
41
+ return {
42
+ status: undefined,
43
+ changelog,
44
+ release,
45
+ bootloaderMode,
23
46
  };
24
47
  };
@@ -72,7 +72,7 @@ export default class DataManager {
72
72
  return 'none';
73
73
  }
74
74
 
75
- if (DeviceModelToTypes.model_classic.includes(deviceType) && features.bootloader_mode) {
75
+ if (DeviceModelToTypes.model_mini.includes(deviceType) && features.bootloader_mode) {
76
76
  return 'unknown';
77
77
  }
78
78
 
@@ -179,18 +179,20 @@ export default class DataManager {
179
179
 
180
180
  const deviceFirmwareVersion = getDeviceFirmwareVersion(features);
181
181
 
182
+ const firmwareUpdateField = getFirmwareUpdateField({
183
+ features,
184
+ updateType: 'firmware',
185
+ }) as FirmwareField;
186
+ const targetDeviceConfigList = this.deviceMap[deviceType]?.[firmwareUpdateField] ?? [];
187
+
182
188
  if (
183
189
  features.firmware_present === false ||
184
190
  (DeviceModelToTypes.model_classic.includes(deviceType) && features.bootloader_mode)
185
191
  ) {
186
- return [];
192
+ // Always return least changelog
193
+ return getReleaseChangelog(targetDeviceConfigList, '0.0.0');
187
194
  }
188
195
 
189
- const firmwareUpdateField = getFirmwareUpdateField({
190
- features,
191
- updateType: 'firmware',
192
- }) as FirmwareField;
193
- const targetDeviceConfigList = this.deviceMap[deviceType]?.[firmwareUpdateField] ?? [];
194
196
  const currentVersion = deviceFirmwareVersion.join('.');
195
197
  return getReleaseChangelog(targetDeviceConfigList, currentVersion);
196
198
  };
@@ -9,6 +9,7 @@ type BleFirmwareRelease = {
9
9
  'en-US': string;
10
10
  }[];
11
11
  release: IBLEFirmwareReleaseInfo;
12
+ bootloaderMode: boolean;
12
13
  };
13
14
 
14
15
  export declare function checkBLEFirmwareRelease(connectId?: string): Response<BleFirmwareRelease>;
@@ -4,6 +4,7 @@ export type CheckBootloaderReleaseResponse = {
4
4
  shouldUpdate: boolean;
5
5
  status: 'outdated' | 'valid';
6
6
  release: string | undefined;
7
+ bootloaderMode: boolean;
7
8
  } | null;
8
9
 
9
10
  export declare function checkBootloaderRelease(
@@ -9,6 +9,7 @@ type FirmwareRelease = {
9
9
  'zh-CN': string;
10
10
  }[];
11
11
  release: IFirmwareReleaseInfo;
12
+ bootloaderMode: boolean;
12
13
  };
13
14
 
14
15
  export declare function checkFirmwareRelease(connectId?: string): Response<FirmwareRelease>;