@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;
|
|
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.
|
|
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.
|
|
29
|
-
"@onekeyfe/hd-transport": "1.2.0-alpha.
|
|
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": "
|
|
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,
|