@onekeyfe/hd-core 1.2.0-alpha.95 → 1.2.0-alpha.96

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.
@@ -256,6 +256,27 @@ describe('prepared firmware host digest binding', () => {
256
256
  expect(directArtifactReader.open).not.toHaveBeenCalled();
257
257
  });
258
258
 
259
+ test('FirmwareUpdateV3 does not execute legacy inputs outside the prepared plan', () => {
260
+ const { artifact, preparedPlan } = createPreparedPlan({
261
+ executor: 'v3',
262
+ target: 'firmware',
263
+ });
264
+ const method = new FirmwareUpdateV3({
265
+ id: 1,
266
+ payload: {
267
+ method: 'firmwareUpdateV3',
268
+ platform: 'desktop',
269
+ artifacts: { firmware: artifact },
270
+ preparedPlan,
271
+ bleBinary: new ArrayBuffer(4),
272
+ },
273
+ });
274
+
275
+ expect(() => method.init()).toThrow(
276
+ 'Prepared firmware plans cannot be combined with legacy firmware inputs'
277
+ );
278
+ });
279
+
259
280
  test('DeviceUpdateBootloader rejects a host registered for another prepared plan', async () => {
260
281
  const { artifact, preparedPlan } = createPreparedPlan({
261
282
  executor: 'v2',
@@ -1 +1 @@
1
- {"version":3,"file":"FirmwareUpdateV3.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV3.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAa/E,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,qBAAqB,CAAC;AAMnE,eAAO,MAAM,gCAAgC,UAAU,CAAC;AAaxD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,wBAAwB,CAAC,sBAAsB,CAAC;IAC5F,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,eAAe,CAA4B;IAEnD,IAAI;IAyFE,GAAG;;;;;YAQK,aAAa;IA6D3B,OAAO,CAAC,wBAAwB;YAiBlB,kBAAkB;YAelB,oBAAoB;IAKlC,OAAO,CAAC,wBAAwB;YAgBlB,oBAAoB;YA2DpB,uBAAuB;YAuBvB,4BAA4B;YA+E5B,aAAa;IAyN3B,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,sCAAsC;IAexC,sBAAsB,CAAC,OAAO,EAAE,MAAM;CA+E7C"}
1
+ {"version":3,"file":"FirmwareUpdateV3.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV3.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAa/E,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,qBAAqB,CAAC;AAMnE,eAAO,MAAM,gCAAgC,UAAU,CAAC;AAaxD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,wBAAwB,CAAC,sBAAsB,CAAC;IAC5F,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,eAAe,CAA4B;IAEnD,IAAI;IAwGE,GAAG;;;;;YAQK,aAAa;IA6D3B,OAAO,CAAC,wBAAwB;YAiBlB,kBAAkB;YAelB,oBAAoB;IAKlC,OAAO,CAAC,wBAAwB;YAgBlB,oBAAoB;YA2DpB,uBAAuB;YAuBvB,4BAA4B;YA+E5B,aAAa;IAyN3B,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,sCAAsC;IAexC,sBAAsB,CAAC,OAAO,EAAE,MAAM;CA+E7C"}
package/dist/index.js CHANGED
@@ -50575,7 +50575,7 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
50575
50575
  this.artifactSources = [];
50576
50576
  }
50577
50577
  init() {
50578
- var _a, _b, _c, _d, _e;
50578
+ var _a, _b, _c, _d, _e, _f;
50579
50579
  this.allowDeviceMode = [UI_REQUEST.BOOTLOADER, UI_REQUEST.NOT_INITIALIZE];
50580
50580
  this.requireDeviceMode = [];
50581
50581
  this.useDevicePassphraseState = false;
@@ -50596,6 +50596,18 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
50596
50596
  const preparedPlan = payload.artifacts || payload.preparedPlan
50597
50597
  ? validateFirmwareUpdatePreparedPlan(payload.preparedPlan)
50598
50598
  : undefined;
50599
+ const hasLegacyInputs = [
50600
+ payload.bleVersion,
50601
+ payload.bleBinary,
50602
+ payload.firmwareVersion,
50603
+ payload.firmwareBinary,
50604
+ payload.resourceBinary,
50605
+ payload.bootloaderVersion,
50606
+ payload.bootloaderBinary,
50607
+ ].some(input => input !== undefined);
50608
+ if (preparedPlan && hasLegacyInputs) {
50609
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, 'Prepared firmware plans cannot be combined with legacy firmware inputs');
50610
+ }
50599
50611
  const artifactReader = preparedPlan
50600
50612
  ? resolveFirmwareUpdateHostBinding(payload.hostBindingGeneration, preparedPlan.preparedPlanDigest).artifactReader
50601
50613
  : payload.artifactReader;
@@ -50648,7 +50660,7 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
50648
50660
  bootloaderBinary: payload.bootloaderBinary,
50649
50661
  firmwareVersion: payload.firmwareVersion,
50650
50662
  resourceBinary: payload.resourceBinary,
50651
- firmwareType: payload.firmwareType,
50663
+ firmwareType: (_f = preparedPlan === null || preparedPlan === void 0 ? void 0 : preparedPlan.firmwareType) !== null && _f !== void 0 ? _f : payload.firmwareType,
50652
50664
  platform: payload.platform,
50653
50665
  artifactReader,
50654
50666
  artifacts: payload.artifacts,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "1.2.0-alpha.95",
3
+ "version": "1.2.0-alpha.96",
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.95",
29
- "@onekeyfe/hd-transport": "1.2.0-alpha.95",
28
+ "@onekeyfe/hd-shared": "1.2.0-alpha.96",
29
+ "@onekeyfe/hd-transport": "1.2.0-alpha.96",
30
30
  "axios": "1.15.2",
31
31
  "bignumber.js": "^9.0.2",
32
32
  "bytebuffer": "^5.0.1",
@@ -44,5 +44,5 @@
44
44
  "@types/w3c-web-usb": "^1.0.10",
45
45
  "@types/web-bluetooth": "^0.0.21"
46
46
  },
47
- "gitHead": "efd79360b765d83a31d12f2403da4e79ed2ccffc"
47
+ "gitHead": "cd8982b684556ce3a154d16d5691e21c656f410a"
48
48
  }
@@ -82,6 +82,21 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
82
82
  payload.artifacts || payload.preparedPlan
83
83
  ? validateFirmwareUpdatePreparedPlan(payload.preparedPlan)
84
84
  : undefined;
85
+ const hasLegacyInputs = [
86
+ payload.bleVersion,
87
+ payload.bleBinary,
88
+ payload.firmwareVersion,
89
+ payload.firmwareBinary,
90
+ payload.resourceBinary,
91
+ payload.bootloaderVersion,
92
+ payload.bootloaderBinary,
93
+ ].some(input => input !== undefined);
94
+ if (preparedPlan && hasLegacyInputs) {
95
+ throw ERRORS.TypedError(
96
+ HardwareErrorCode.CallMethodInvalidParameter,
97
+ 'Prepared firmware plans cannot be combined with legacy firmware inputs'
98
+ );
99
+ }
85
100
  const artifactReader = preparedPlan
86
101
  ? resolveFirmwareUpdateHostBinding(
87
102
  payload.hostBindingGeneration,
@@ -140,7 +155,7 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
140
155
  bootloaderBinary: payload.bootloaderBinary,
141
156
  firmwareVersion: payload.firmwareVersion,
142
157
  resourceBinary: payload.resourceBinary,
143
- firmwareType: payload.firmwareType,
158
+ firmwareType: preparedPlan?.firmwareType ?? payload.firmwareType,
144
159
  platform: payload.platform,
145
160
  artifactReader,
146
161
  artifacts: payload.artifacts,