@onekeyfe/hd-core 1.2.0-alpha.141 → 1.2.0-alpha.142

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.
@@ -6011,7 +6011,7 @@ describe('Protocol V2 firmware update targets', () => {
6011
6011
  expect(typedCall).toHaveBeenCalledTimes(1);
6012
6012
  });
6013
6013
 
6014
- test('does not fail a completed multi-app install when final app versions are unobservable', () => {
6014
+ test('uses the device firmware version for P1 and install completion for unobservable P2', () => {
6015
6015
  const method = new FirmwareUpdateV4({
6016
6016
  id: 1,
6017
6017
  payload: {
@@ -6019,7 +6019,7 @@ describe('Protocol V2 firmware update targets', () => {
6019
6019
  platform: 'desktop',
6020
6020
  targetsToUpdate: ['app_v1', 'app_v2'],
6021
6021
  expectedTargetVersions: {
6022
- app_v1: '1.0.0',
6022
+ app_v1: '3.0.0',
6023
6023
  app_v2: '2.0.0',
6024
6024
  },
6025
6025
  },
@@ -6035,7 +6035,7 @@ describe('Protocol V2 firmware update targets', () => {
6035
6035
  expect(() => (method as any).assertExpectedProtocolV2Versions()).not.toThrow();
6036
6036
  });
6037
6037
 
6038
- test('uses final DeviceInfo versions for both application slots after status polling ends', () => {
6038
+ test('uses the firmware version for P1 and the optional DeviceInfo version for P2', () => {
6039
6039
  const method = new FirmwareUpdateV4({
6040
6040
  id: 1,
6041
6041
  payload: {
@@ -6050,13 +6050,13 @@ describe('Protocol V2 firmware update targets', () => {
6050
6050
  });
6051
6051
  method.init();
6052
6052
  (method as any).protocolV2LatestFinalFeatures = {
6053
- major_version: 3,
6053
+ major_version: 1,
6054
6054
  minor_version: 0,
6055
6055
  patch_version: 0,
6056
6056
  };
6057
6057
  (method as any).protocolV2LatestFinalDeviceInfo = {
6058
6058
  main_mcu: {
6059
- application: { version: '1.0.0' },
6059
+ application: { version: '9.9.9' },
6060
6060
  application_data: { version: '2.0.0' },
6061
6061
  },
6062
6062
  };
@@ -6079,7 +6079,7 @@ describe('Protocol V2 firmware update targets', () => {
6079
6079
  });
6080
6080
  method.init();
6081
6081
  (method as any).protocolV2LatestFinalFeatures = {
6082
- major_version: 3,
6082
+ major_version: 1,
6083
6083
  minor_version: 0,
6084
6084
  patch_version: 0,
6085
6085
  };
@@ -6095,7 +6095,7 @@ describe('Protocol V2 firmware update targets', () => {
6095
6095
  );
6096
6096
  });
6097
6097
 
6098
- test('rejects unobservable multi-app versions without per-target completion evidence', () => {
6098
+ test('rejects an unobservable P2 version without P2 completion evidence', () => {
6099
6099
  const method = new FirmwareUpdateV4({
6100
6100
  id: 1,
6101
6101
  payload: {
@@ -6103,7 +6103,7 @@ describe('Protocol V2 firmware update targets', () => {
6103
6103
  platform: 'desktop',
6104
6104
  targetsToUpdate: ['app_v1', 'app_v2'],
6105
6105
  expectedTargetVersions: {
6106
- app_v1: '1.0.0',
6106
+ app_v1: '3.0.0',
6107
6107
  app_v2: '2.0.0',
6108
6108
  },
6109
6109
  },
@@ -6118,7 +6118,7 @@ describe('Protocol V2 firmware update targets', () => {
6118
6118
  (method as any).protocolV2CompletedTargetIds = new Set([4]);
6119
6119
 
6120
6120
  expect(() => (method as any).assertExpectedProtocolV2Versions()).toThrow(
6121
- 'target app_v1 has no observable final version after status fallback'
6121
+ 'target app_v2 has no observable final version after status fallback'
6122
6122
  );
6123
6123
  });
6124
6124
 
@@ -40,7 +40,6 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
40
40
  private validateExpectedTargetVersions;
41
41
  private getExpectedProtocolV2TargetVersion;
42
42
  private assertExpectedProtocolV2Versions;
43
- private getProtocolV2RequestedTargets;
44
43
  private getProtocolV2DeviceFeatures;
45
44
  private getProtocolV2SerialNumber;
46
45
  private getProtocolV2PreparedPlanDeviceModel;
@@ -1 +1 @@
1
- {"version":3,"file":"FirmwareUpdateV4.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FirmwareUpdateV4.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV4.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -52784,11 +52784,11 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
52784
52784
  return;
52785
52785
  const features = this.protocolV2LatestFinalFeatures;
52786
52786
  const deviceInfo = this.protocolV2LatestFinalDeviceInfo;
52787
- const requestedTargets = this.getProtocolV2RequestedTargets();
52788
- const applicationTargets = requestedTargets.filter(target => target === 'app_v1' || target === 'app_v2');
52789
52787
  const visibleVersions = {
52790
52788
  boot: features ? getDeviceBootloaderVersion(features).join('.') : undefined,
52791
- app_v1: (_c = (_b = deviceInfo === null || deviceInfo === void 0 ? void 0 : deviceInfo.main_mcu) === null || _b === void 0 ? void 0 : _b.application) === null || _c === void 0 ? void 0 : _c.version,
52789
+ app_v1: features
52790
+ ? getDeviceFirmwareVersion(features).join('.')
52791
+ : (_c = (_b = deviceInfo === null || deviceInfo === void 0 ? void 0 : deviceInfo.main_mcu) === null || _b === void 0 ? void 0 : _b.application) === null || _c === void 0 ? void 0 : _c.version,
52792
52792
  app_v2: (_e = (_d = deviceInfo === null || deviceInfo === void 0 ? void 0 : deviceInfo.main_mcu) === null || _d === void 0 ? void 0 : _d.application_data) === null || _e === void 0 ? void 0 : _e.version,
52793
52793
  coprocessor: features ? getDeviceBLEFirmwareVersion(features).join('.') : undefined,
52794
52794
  se01: (_f = features === null || features === void 0 ? void 0 : features.se01Version) !== null && _f !== void 0 ? _f : undefined,
@@ -52796,9 +52796,6 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
52796
52796
  se03: (_h = features === null || features === void 0 ? void 0 : features.se03Version) !== null && _h !== void 0 ? _h : undefined,
52797
52797
  se04: (_j = features === null || features === void 0 ? void 0 : features.se04Version) !== null && _j !== void 0 ? _j : undefined,
52798
52798
  };
52799
- if (features && applicationTargets.length === 1 && !visibleVersions[applicationTargets[0]]) {
52800
- visibleVersions[applicationTargets[0]] = getDeviceFirmwareVersion(features).join('.');
52801
- }
52802
52799
  const expectedEntries = Object.entries(expected).filter(([target]) => !targets || targets.includes(target));
52803
52800
  for (const [target, expectedVersion] of expectedEntries) {
52804
52801
  const targetId = (_k = Array.from(PROTOCOL_V2_UPDATE_TARGET_BY_TARGET_ID.entries()).find(([, mappedTarget]) => mappedTarget === target)) === null || _k === void 0 ? void 0 : _k[0];
@@ -52807,14 +52804,7 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
52807
52804
  ? visibleVersions[target]
52808
52805
  : `${Math.floor(statusVersion / 0x10000) % 0x100}.${Math.floor(statusVersion / 0x100) % 0x100}.${statusVersion % 0x100}`;
52809
52806
  if (!observedVersion) {
52810
- const requestedTargetIds = requestedTargets.flatMap(requestedTarget => {
52811
- if (requestedTarget === 'resource' || requestedTarget === 'boot_resources')
52812
- return [];
52813
- const installTarget = PROTOCOL_V2_INSTALL_TARGET_BY_UPDATE_TARGET.get(requestedTarget);
52814
- return installTarget ? [installTarget.targetId] : [];
52815
- });
52816
- const hasCompleteTargetEvidence = requestedTargetIds.length > 0 &&
52817
- requestedTargetIds.every(targetId => this.protocolV2CompletedTargetIds.has(targetId));
52807
+ const hasCompleteTargetEvidence = targetId !== undefined && this.protocolV2CompletedTargetIds.has(targetId);
52818
52808
  if (hasCompleteTargetEvidence) {
52819
52809
  Log$7.warn(`Protocol V2 target ${target} has no observable final version; install completion is authoritative`);
52820
52810
  }
@@ -52827,34 +52817,6 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
52827
52817
  }
52828
52818
  }
52829
52819
  }
52830
- getProtocolV2RequestedTargets() {
52831
- var _a, _b, _c;
52832
- if ((_a = this.params.targetsToUpdate) === null || _a === void 0 ? void 0 : _a.length) {
52833
- return [...new Set(this.params.targetsToUpdate)];
52834
- }
52835
- if ((_b = this.params.preparedPlan) === null || _b === void 0 ? void 0 : _b.targetsToUpdate.length) {
52836
- return [...new Set(this.params.preparedPlan.targetsToUpdate)];
52837
- }
52838
- const targets = new Set();
52839
- Object.keys((_c = this.params.componentArtifacts) !== null && _c !== void 0 ? _c : {}).forEach(target => targets.add(target));
52840
- if (this.params.bootloaderBinary)
52841
- targets.add('boot');
52842
- if (this.params.applicationP1Binary)
52843
- targets.add('app_v1');
52844
- if (this.params.applicationP2Binary)
52845
- targets.add('app_v2');
52846
- if (this.params.coprocessorBinary)
52847
- targets.add('coprocessor');
52848
- if (this.params.se01Binary)
52849
- targets.add('se01');
52850
- if (this.params.se02Binary)
52851
- targets.add('se02');
52852
- if (this.params.se03Binary)
52853
- targets.add('se03');
52854
- if (this.params.se04Binary)
52855
- targets.add('se04');
52856
- return Array.from(targets);
52857
- }
52858
52820
  getProtocolV2DeviceFeatures() {
52859
52821
  return __awaiter(this, void 0, void 0, function* () {
52860
52822
  let { features } = this.device;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "1.2.0-alpha.141",
3
+ "version": "1.2.0-alpha.142",
4
4
  "description": "Core processes and APIs for communicating with OneKey hardware devices.",
5
5
  "author": "OneKey",
6
6
  "homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
@@ -25,8 +25,8 @@
25
25
  "url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
26
26
  },
27
27
  "dependencies": {
28
- "@onekeyfe/hd-shared": "1.2.0-alpha.141",
29
- "@onekeyfe/hd-transport": "1.2.0-alpha.141",
28
+ "@onekeyfe/hd-shared": "1.2.0-alpha.142",
29
+ "@onekeyfe/hd-transport": "1.2.0-alpha.142",
30
30
  "axios": "1.15.2",
31
31
  "bignumber.js": "^9.0.2",
32
32
  "buffer": "^6.0.3",
@@ -46,5 +46,5 @@
46
46
  "@types/w3c-web-usb": "^1.0.10",
47
47
  "@types/web-bluetooth": "^0.0.21"
48
48
  },
49
- "gitHead": "2fdadf97749fea76cf47f5b1899f18050abe01d1"
49
+ "gitHead": "fae9cf5fd2f2a064deab77c32a987f8b989fdd95"
50
50
  }
@@ -1606,13 +1606,12 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
1606
1606
  if (!expected) return;
1607
1607
  const features = this.protocolV2LatestFinalFeatures;
1608
1608
  const deviceInfo = this.protocolV2LatestFinalDeviceInfo;
1609
- const requestedTargets = this.getProtocolV2RequestedTargets();
1610
- const applicationTargets = requestedTargets.filter(
1611
- target => target === 'app_v1' || target === 'app_v2'
1612
- );
1613
1609
  const visibleVersions: Partial<Record<FirmwareUpdateV4Target, string>> = {
1614
1610
  boot: features ? getDeviceBootloaderVersion(features).join('.') : undefined,
1615
- app_v1: deviceInfo?.main_mcu?.application?.version,
1611
+ // Protocol V2 firmware exposes P1 as the device firmware version after reboot.
1612
+ app_v1: features
1613
+ ? getDeviceFirmwareVersion(features).join('.')
1614
+ : deviceInfo?.main_mcu?.application?.version,
1616
1615
  app_v2: deviceInfo?.main_mcu?.application_data?.version,
1617
1616
  coprocessor: features ? getDeviceBLEFirmwareVersion(features).join('.') : undefined,
1618
1617
  se01: features?.se01Version ?? undefined,
@@ -1620,9 +1619,6 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
1620
1619
  se03: features?.se03Version ?? undefined,
1621
1620
  se04: features?.se04Version ?? undefined,
1622
1621
  };
1623
- if (features && applicationTargets.length === 1 && !visibleVersions[applicationTargets[0]]) {
1624
- visibleVersions[applicationTargets[0]] = getDeviceFirmwareVersion(features).join('.');
1625
- }
1626
1622
  const expectedEntries = (
1627
1623
  Object.entries(expected) as Array<[FirmwareUpdateV4Target, string]>
1628
1624
  ).filter(([target]) => !targets || targets.includes(target));
@@ -1639,14 +1635,8 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
1639
1635
  Math.floor(statusVersion / 0x100) % 0x100
1640
1636
  }.${statusVersion % 0x100}`;
1641
1637
  if (!observedVersion) {
1642
- const requestedTargetIds = requestedTargets.flatMap(requestedTarget => {
1643
- if (requestedTarget === 'resource' || requestedTarget === 'boot_resources') return [];
1644
- const installTarget = PROTOCOL_V2_INSTALL_TARGET_BY_UPDATE_TARGET.get(requestedTarget);
1645
- return installTarget ? [installTarget.targetId] : [];
1646
- });
1647
1638
  const hasCompleteTargetEvidence =
1648
- requestedTargetIds.length > 0 &&
1649
- requestedTargetIds.every(targetId => this.protocolV2CompletedTargetIds.has(targetId));
1639
+ targetId !== undefined && this.protocolV2CompletedTargetIds.has(targetId);
1650
1640
  if (hasCompleteTargetEvidence) {
1651
1641
  Log.warn(
1652
1642
  `Protocol V2 target ${target} has no observable final version; install completion is authoritative`
@@ -1666,28 +1656,6 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
1666
1656
  }
1667
1657
  }
1668
1658
 
1669
- private getProtocolV2RequestedTargets(): FirmwareUpdateV4Target[] {
1670
- if (this.params.targetsToUpdate?.length) {
1671
- return [...new Set(this.params.targetsToUpdate)];
1672
- }
1673
- if (this.params.preparedPlan?.targetsToUpdate.length) {
1674
- return [...new Set(this.params.preparedPlan.targetsToUpdate)] as FirmwareUpdateV4Target[];
1675
- }
1676
- const targets = new Set<FirmwareUpdateV4Target>();
1677
- Object.keys(this.params.componentArtifacts ?? {}).forEach(target =>
1678
- targets.add(target as FirmwareUpdateV4Target)
1679
- );
1680
- if (this.params.bootloaderBinary) targets.add('boot');
1681
- if (this.params.applicationP1Binary) targets.add('app_v1');
1682
- if (this.params.applicationP2Binary) targets.add('app_v2');
1683
- if (this.params.coprocessorBinary) targets.add('coprocessor');
1684
- if (this.params.se01Binary) targets.add('se01');
1685
- if (this.params.se02Binary) targets.add('se02');
1686
- if (this.params.se03Binary) targets.add('se03');
1687
- if (this.params.se04Binary) targets.add('se04');
1688
- return Array.from(targets);
1689
- }
1690
-
1691
1659
  private async getProtocolV2DeviceFeatures(): Promise<Features> {
1692
1660
  let { features } = this.device;
1693
1661
  if (typeof this.device.getFeatures === 'function') {