@onekeyfe/hd-core 1.2.0-alpha.85 → 1.2.0-alpha.87
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.
- package/__tests__/check-all-firmware-release-protocol-v2.test.ts +74 -37
- package/__tests__/check-firmware-release-protocol-v2.test.ts +1 -2
- package/__tests__/firmware-memory-host.test.ts +3 -0
- package/__tests__/firmware-update/device-update-bootloader.test.ts +4 -1
- package/__tests__/firmware-update/firmware-host-binding.test.ts +9 -0
- package/__tests__/protocol-v2-resources.test.ts +59 -1
- package/__tests__/protocol-v2.test.ts +96 -1
- package/dist/api/CheckAllFirmwareRelease.d.ts.map +1 -1
- package/dist/api/FirmwareUpdateV4.d.ts.map +1 -1
- package/dist/api/firmware/FirmwareHostBinding.d.ts +1 -1
- package/dist/api/firmware/FirmwareHostBinding.d.ts.map +1 -1
- package/dist/api/firmware/FirmwareMemoryHost.d.ts.map +1 -1
- package/dist/data-manager/DataManager.d.ts +3 -1
- package/dist/data-manager/DataManager.d.ts.map +1 -1
- package/dist/index.d.ts +8 -6
- package/dist/index.js +57 -35
- package/dist/types/api/checkAllFirmwareRelease.d.ts +0 -1
- package/dist/types/api/checkAllFirmwareRelease.d.ts.map +1 -1
- package/dist/types/api/firmwareUpdate.d.ts +1 -0
- package/dist/types/api/firmwareUpdate.d.ts.map +1 -1
- package/dist/types/settings.d.ts +3 -4
- package/dist/types/settings.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/api/CheckAllFirmwareRelease.ts +2 -7
- package/src/api/FirmwareUpdateV4.ts +22 -12
- package/src/api/firmware/FirmwareHostBinding.ts +16 -3
- package/src/api/firmware/FirmwareMemoryHost.ts +4 -1
- package/src/data-manager/DataManager.ts +33 -13
- package/src/types/api/checkAllFirmwareRelease.ts +0 -1
- package/src/types/api/firmwareUpdate.ts +2 -0
- package/src/types/settings.ts +3 -5
package/dist/index.js
CHANGED
|
@@ -1347,6 +1347,8 @@ class FirmwareHostBindingRegistry {
|
|
|
1347
1347
|
register(binding) {
|
|
1348
1348
|
var _a;
|
|
1349
1349
|
if (!binding ||
|
|
1350
|
+
typeof binding.preparedPlanDigest !== 'string' ||
|
|
1351
|
+
!/^[0-9a-f]{64}$/i.test(binding.preparedPlanDigest) ||
|
|
1350
1352
|
typeof ((_a = binding.artifactReader) === null || _a === void 0 ? void 0 : _a.open) !== 'function' ||
|
|
1351
1353
|
typeof binding.artifactReader.read !== 'function' ||
|
|
1352
1354
|
typeof binding.artifactReader.close !== 'function') {
|
|
@@ -1367,7 +1369,7 @@ class FirmwareHostBindingRegistry {
|
|
|
1367
1369
|
getGeneration() {
|
|
1368
1370
|
return this.generation;
|
|
1369
1371
|
}
|
|
1370
|
-
resolve(generation) {
|
|
1372
|
+
resolve(generation, preparedPlanDigest) {
|
|
1371
1373
|
if (!Number.isSafeInteger(generation) ||
|
|
1372
1374
|
generation <= 0 ||
|
|
1373
1375
|
generation !== this.generation ||
|
|
@@ -1375,12 +1377,17 @@ class FirmwareHostBindingRegistry {
|
|
|
1375
1377
|
return bindingError(`Firmware host binding generation ${generation} is stale`);
|
|
1376
1378
|
}
|
|
1377
1379
|
const { binding } = this;
|
|
1380
|
+
if (preparedPlanDigest !== undefined &&
|
|
1381
|
+
binding.preparedPlanDigest.toLowerCase() !== preparedPlanDigest.toLowerCase()) {
|
|
1382
|
+
return bindingError(`Firmware host binding generation ${generation} does not match the prepared plan`);
|
|
1383
|
+
}
|
|
1378
1384
|
const assertCurrent = () => {
|
|
1379
1385
|
if (generation !== this.generation || binding !== this.binding) {
|
|
1380
1386
|
bindingError(`Firmware host binding generation ${generation} is stale`);
|
|
1381
1387
|
}
|
|
1382
1388
|
};
|
|
1383
1389
|
return {
|
|
1390
|
+
preparedPlanDigest: binding.preparedPlanDigest,
|
|
1384
1391
|
artifactReader: {
|
|
1385
1392
|
open: (input) => __awaiter(this, void 0, void 0, function* () {
|
|
1386
1393
|
assertCurrent();
|
|
@@ -1413,7 +1420,7 @@ const firmwareHostBindingRegistry = new FirmwareHostBindingRegistry();
|
|
|
1413
1420
|
const registerFirmwareUpdateHostBinding = (binding) => firmwareHostBindingRegistry.register(binding);
|
|
1414
1421
|
const unregisterFirmwareUpdateHostBinding = (generation) => firmwareHostBindingRegistry.unregister(generation);
|
|
1415
1422
|
const getFirmwareUpdateHostBindingGeneration = () => firmwareHostBindingRegistry.getGeneration();
|
|
1416
|
-
const resolveFirmwareUpdateHostBinding = (generation) => firmwareHostBindingRegistry.resolve(generation !== null && generation !== void 0 ? generation : Number.NaN);
|
|
1423
|
+
const resolveFirmwareUpdateHostBinding = (generation, preparedPlanDigest) => firmwareHostBindingRegistry.resolve(generation !== null && generation !== void 0 ? generation : Number.NaN, preparedPlanDigest);
|
|
1417
1424
|
|
|
1418
1425
|
const callbackManager = new Map();
|
|
1419
1426
|
const generateCallbackId = () => `callback_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
|
|
@@ -40798,6 +40805,7 @@ class DataManager {
|
|
|
40798
40805
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40799
40806
|
this.settings = settings;
|
|
40800
40807
|
this.protocolV2ResourcesConfigError = undefined;
|
|
40808
|
+
this.protocolV2NeoResourcesConfigError = undefined;
|
|
40801
40809
|
const manifestMode = (_b = settings.firmwareManifestMode) !== null && _b !== void 0 ? _b : (settings.fetchConfig ? 'sdk-managed' : undefined);
|
|
40802
40810
|
if (settings.preloadedConfig) {
|
|
40803
40811
|
this.applyRemoteConfig(settings.preloadedConfig);
|
|
@@ -40858,12 +40866,19 @@ class DataManager {
|
|
|
40858
40866
|
let neoResources;
|
|
40859
40867
|
try {
|
|
40860
40868
|
pro2Resources = parseProtocolV2Resources((_b = data.pro2) === null || _b === void 0 ? void 0 : _b.resources);
|
|
40861
|
-
neoResources = parseProtocolV2Resources((_c = data.neo) === null || _c === void 0 ? void 0 : _c.resources);
|
|
40862
40869
|
}
|
|
40863
40870
|
catch (error) {
|
|
40864
40871
|
this.protocolV2ResourcesConfigError =
|
|
40865
40872
|
error instanceof Error ? error : new Error(String(error));
|
|
40866
|
-
Log$k.warn('[DataConfig] Ignoring invalid
|
|
40873
|
+
Log$k.warn('[DataConfig] Ignoring invalid Pro2 resources config:', error);
|
|
40874
|
+
}
|
|
40875
|
+
try {
|
|
40876
|
+
neoResources = parseProtocolV2Resources((_c = data.neo) === null || _c === void 0 ? void 0 : _c.resources);
|
|
40877
|
+
}
|
|
40878
|
+
catch (error) {
|
|
40879
|
+
this.protocolV2NeoResourcesConfigError =
|
|
40880
|
+
error instanceof Error ? error : new Error(String(error));
|
|
40881
|
+
Log$k.warn('[DataConfig] Ignoring invalid Neo resources config:', error);
|
|
40867
40882
|
}
|
|
40868
40883
|
const enrichedPro2Config = this.enrichFirmwareReleaseInfo(data.pro2);
|
|
40869
40884
|
const enrichedNeoConfig = this.enrichFirmwareReleaseInfo(data.neo);
|
|
@@ -40901,16 +40916,20 @@ class DataManager {
|
|
|
40901
40916
|
}
|
|
40902
40917
|
});
|
|
40903
40918
|
}
|
|
40904
|
-
static forceReloadData({ requireResources = false, } = {}) {
|
|
40919
|
+
static forceReloadData({ requireResources = false, resourceDeviceType = hdShared.EDeviceType.Pro2, } = {}) {
|
|
40905
40920
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40921
|
+
const resourceDeviceName = resourceDeviceType === hdShared.EDeviceType.Pro2 ? 'Pro2' : 'Neo';
|
|
40906
40922
|
if (!this.settings) {
|
|
40907
40923
|
throw new Error('Remote config settings are not initialized');
|
|
40908
40924
|
}
|
|
40909
40925
|
const hasFreshConfig = this.lastCheckTimestamp > 0 &&
|
|
40910
40926
|
getTimeStamp() - this.lastCheckTimestamp <= FIRMWARE_UPDATE_CONFIG_FRESHNESS_MS;
|
|
40911
40927
|
if (hasFreshConfig) {
|
|
40912
|
-
|
|
40913
|
-
|
|
40928
|
+
const resourcesConfigError = resourceDeviceType === hdShared.EDeviceType.Pro2
|
|
40929
|
+
? this.protocolV2ResourcesConfigError
|
|
40930
|
+
: this.protocolV2NeoResourcesConfigError;
|
|
40931
|
+
if (requireResources && resourcesConfigError) {
|
|
40932
|
+
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateDownloadFailed, `Invalid ${resourceDeviceName} resources config: ${resourcesConfigError.message}`);
|
|
40914
40933
|
}
|
|
40915
40934
|
return;
|
|
40916
40935
|
}
|
|
@@ -40918,8 +40937,11 @@ class DataManager {
|
|
|
40918
40937
|
if (!loaded) {
|
|
40919
40938
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.NetworkError, 'Unable to refresh the latest remote config');
|
|
40920
40939
|
}
|
|
40921
|
-
|
|
40922
|
-
|
|
40940
|
+
const resourcesConfigError = resourceDeviceType === hdShared.EDeviceType.Pro2
|
|
40941
|
+
? this.protocolV2ResourcesConfigError
|
|
40942
|
+
: this.protocolV2NeoResourcesConfigError;
|
|
40943
|
+
if (requireResources && resourcesConfigError) {
|
|
40944
|
+
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateDownloadFailed, `Invalid ${resourceDeviceName} resources config: ${resourcesConfigError.message}`);
|
|
40923
40945
|
}
|
|
40924
40946
|
this.lastCheckTimestamp = getTimeStamp();
|
|
40925
40947
|
});
|
|
@@ -40963,12 +40985,10 @@ DataManager.deviceMap = {
|
|
|
40963
40985
|
ble: [],
|
|
40964
40986
|
},
|
|
40965
40987
|
[hdShared.EDeviceType.Pro2]: {
|
|
40966
|
-
firmware: [],
|
|
40967
|
-
ble: [],
|
|
40988
|
+
'firmware-v1': [],
|
|
40968
40989
|
},
|
|
40969
40990
|
[hdShared.EDeviceType.Neo]: {
|
|
40970
|
-
firmware: [],
|
|
40971
|
-
ble: [],
|
|
40991
|
+
'firmware-v1': [],
|
|
40972
40992
|
},
|
|
40973
40993
|
[hdShared.EDeviceType.ClassicPure]: {
|
|
40974
40994
|
firmware: [],
|
|
@@ -47750,7 +47770,6 @@ class CheckAllFirmwareRelease extends BaseMethod {
|
|
|
47750
47770
|
const resourceDeviceType = state.identity.deviceType === 'neo' ? hdShared.EDeviceType.Neo : hdShared.EDeviceType.Pro2;
|
|
47751
47771
|
const resourceSource = DataManager.getProtocolV2ResourceSource(resourceDeviceType);
|
|
47752
47772
|
const resourceStatus = 'unknown';
|
|
47753
|
-
const resourcePreparationRequired = !!resourceSource;
|
|
47754
47773
|
const detectedComponentTargets = validatedForceUpdateTargets.includes('firmware')
|
|
47755
47774
|
? plan.components.flatMap(component => component.updateTarget ? [component.updateTarget] : [])
|
|
47756
47775
|
: plan.targetsToUpdate;
|
|
@@ -47762,7 +47781,7 @@ class CheckAllFirmwareRelease extends BaseMethod {
|
|
|
47762
47781
|
validatedProtocolV2ForceUpdateTargets.includes('resource');
|
|
47763
47782
|
const targetsToUpdate = Array.from(new Set([
|
|
47764
47783
|
...componentTargetsToUpdate,
|
|
47765
|
-
...(
|
|
47784
|
+
...(forceResourceUpdate ? ['resource'] : []),
|
|
47766
47785
|
]));
|
|
47767
47786
|
let firmwareUpdatePlan;
|
|
47768
47787
|
try {
|
|
@@ -47802,9 +47821,7 @@ class CheckAllFirmwareRelease extends BaseMethod {
|
|
|
47802
47821
|
const firmwarePlan = summarizeProtocolV2FirmwareRelease(plan, PROTOCOL_V2_MAIN_FIRMWARE_TARGETS);
|
|
47803
47822
|
const blePlan = summarizeProtocolV2FirmwareRelease(plan, PROTOCOL_V2_BLE_TARGETS);
|
|
47804
47823
|
const bootloaderPlan = summarizeProtocolV2FirmwareRelease(plan, PROTOCOL_V2_BOOTLOADER_TARGETS);
|
|
47805
|
-
const
|
|
47806
|
-
? 'unknown'
|
|
47807
|
-
: plan.status;
|
|
47824
|
+
const { status } = plan;
|
|
47808
47825
|
return Object.assign(Object.assign({ firmware: toProtocolV2FirmwareReleaseInfo({ plan: firmwarePlan, state, release }), ble: toProtocolV2FirmwareReleaseInfo({
|
|
47809
47826
|
plan: blePlan,
|
|
47810
47827
|
state,
|
|
@@ -47814,7 +47831,7 @@ class CheckAllFirmwareRelease extends BaseMethod {
|
|
|
47814
47831
|
state,
|
|
47815
47832
|
release: getProtocolV2ComponentReleaseInfo(plan, 'BOOTLOADER'),
|
|
47816
47833
|
}), features, protocol: 'V2', deviceType: state.identity.deviceType }, plan), { status,
|
|
47817
|
-
resourceStatus, resourceArchive: resourceSource,
|
|
47834
|
+
resourceStatus, resourceArchive: resourceSource, hasUpgrade: targetsToUpdate.length > 0, targetsToUpdate,
|
|
47818
47835
|
firmwareUpdatePlan });
|
|
47819
47836
|
});
|
|
47820
47837
|
}
|
|
@@ -51534,12 +51551,14 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
|
|
|
51534
51551
|
(payload.expectedDeviceId.length === 0 || payload.expectedDeviceId.length > 160)) {
|
|
51535
51552
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, 'Protocol V2 expected device identity is invalid');
|
|
51536
51553
|
}
|
|
51537
|
-
const
|
|
51538
|
-
?
|
|
51554
|
+
const preparedPlan = payload.preparedPlan
|
|
51555
|
+
? validateFirmwareUpdatePreparedPlan(payload.preparedPlan)
|
|
51539
51556
|
: undefined;
|
|
51540
|
-
|
|
51557
|
+
const hostBinding = payload.hostBindingGeneration !== undefined
|
|
51558
|
+
? resolveFirmwareUpdateHostBinding(payload.hostBindingGeneration, preparedPlan === null || preparedPlan === void 0 ? void 0 : preparedPlan.preparedPlanDigest)
|
|
51559
|
+
: undefined;
|
|
51560
|
+
if (preparedPlan) {
|
|
51541
51561
|
const componentArtifacts = ((_a = payload.componentArtifacts) !== null && _a !== void 0 ? _a : {});
|
|
51542
|
-
const preparedPlan = validateFirmwareUpdatePreparedPlan(payload.preparedPlan);
|
|
51543
51562
|
assertFirmwareUpdatePreparedPlanBinding({
|
|
51544
51563
|
preparedPlan,
|
|
51545
51564
|
executor: 'v4',
|
|
@@ -51558,9 +51577,7 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
|
|
|
51558
51577
|
});
|
|
51559
51578
|
}
|
|
51560
51579
|
this.params = {
|
|
51561
|
-
preparedPlan
|
|
51562
|
-
? validateFirmwareUpdatePreparedPlan(payload.preparedPlan)
|
|
51563
|
-
: undefined,
|
|
51580
|
+
preparedPlan,
|
|
51564
51581
|
chunkSize: payload.chunkSize,
|
|
51565
51582
|
forcedUpdateRes: payload.forcedUpdateRes,
|
|
51566
51583
|
bootloaderBinary: payload.bootloaderBinary,
|
|
@@ -51609,7 +51626,7 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
|
|
|
51609
51626
|
});
|
|
51610
51627
|
}
|
|
51611
51628
|
runProtocolV2() {
|
|
51612
|
-
var _a, _b, _c, _d;
|
|
51629
|
+
var _a, _b, _c, _d, _e;
|
|
51613
51630
|
return __awaiter(this, void 0, void 0, function* () {
|
|
51614
51631
|
yield this.captureProtocolV2PhysicalIdentity();
|
|
51615
51632
|
const deviceFeatures = yield this.getProtocolV2DeviceFeatures();
|
|
@@ -51621,10 +51638,11 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
|
|
|
51621
51638
|
const deviceFirmwareType = getFirmwareType(deviceFeatures);
|
|
51622
51639
|
const firmwareType = (_a = this.params.firmwareType) !== null && _a !== void 0 ? _a : deviceFirmwareType;
|
|
51623
51640
|
this.validateExpectedTargetVersions();
|
|
51624
|
-
|
|
51641
|
+
const hasPreparedComponentArtifacts = Object.values((_b = this.params.componentArtifacts) !== null && _b !== void 0 ? _b : {}).some(Boolean);
|
|
51642
|
+
if (this.params.preparedPlan || hasPreparedComponentArtifacts) {
|
|
51625
51643
|
return this.runProtocolV2PreparedArtifacts(deviceFeatures, firmwareType);
|
|
51626
51644
|
}
|
|
51627
|
-
const wantsResources = !!((
|
|
51645
|
+
const wantsResources = !!((_c = this.params.targetsToUpdate) === null || _c === void 0 ? void 0 : _c.includes('resource'));
|
|
51628
51646
|
let fwBinaryMap = [];
|
|
51629
51647
|
let bootloaderBinary = null;
|
|
51630
51648
|
let installItems;
|
|
@@ -51637,7 +51655,7 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
|
|
|
51637
51655
|
fwBinaryMap,
|
|
51638
51656
|
});
|
|
51639
51657
|
const missingFirmwareTargets = this.getMissingProtocolV2FirmwareTargets(explicitInstallItems);
|
|
51640
|
-
const needsRemoteFirmware = ((
|
|
51658
|
+
const needsRemoteFirmware = ((_d = this.params.targetsToUpdate) === null || _d === void 0 ? void 0 : _d.length)
|
|
51641
51659
|
? missingFirmwareTargets.length > 0
|
|
51642
51660
|
: explicitInstallItems.length === 0;
|
|
51643
51661
|
if (wantsResources) {
|
|
@@ -51667,7 +51685,7 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
|
|
|
51667
51685
|
if (typeof err === 'object' &&
|
|
51668
51686
|
err !== null &&
|
|
51669
51687
|
'params' in err &&
|
|
51670
|
-
((
|
|
51688
|
+
((_e = err.params) === null || _e === void 0 ? void 0 : _e.firmwareUpdateCode) === 'FirmwareArtifactsNotPrepared') {
|
|
51671
51689
|
throw err;
|
|
51672
51690
|
}
|
|
51673
51691
|
if (err instanceof hdShared.HardwareError && err.errorCode === hdShared.HardwareErrorCode.NetworkError) {
|
|
@@ -52148,7 +52166,7 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
|
|
|
52148
52166
|
return `vol0:${path}`;
|
|
52149
52167
|
return `vol0:/${path}`;
|
|
52150
52168
|
}
|
|
52151
|
-
readProtocolV2DeviceFileHeader(path) {
|
|
52169
|
+
readProtocolV2DeviceFileHeader(path, expectedSize) {
|
|
52152
52170
|
var _a, _b, _c, _d;
|
|
52153
52171
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52154
52172
|
const typedCall = this.device.getCommands().typedCall.bind(this.device.getCommands());
|
|
@@ -52160,7 +52178,8 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
|
|
|
52160
52178
|
if (!((_b = pathInfoRes.message) === null || _b === void 0 ? void 0 : _b.exist) ||
|
|
52161
52179
|
((_c = pathInfoRes.message) === null || _c === void 0 ? void 0 : _c.directory) ||
|
|
52162
52180
|
fileSize === undefined ||
|
|
52163
|
-
fileSize < PROTOCOL_V2_OKPP_HEADER_SIZE
|
|
52181
|
+
fileSize < PROTOCOL_V2_OKPP_HEADER_SIZE ||
|
|
52182
|
+
(expectedSize !== undefined && fileSize !== expectedSize)) {
|
|
52164
52183
|
return null;
|
|
52165
52184
|
}
|
|
52166
52185
|
const chunkSize = this.getProtocolV2FirmwareChunkSize('read');
|
|
@@ -52200,7 +52219,7 @@ class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod {
|
|
|
52200
52219
|
if (!bundle.payloadHash || !bundle.headerHash)
|
|
52201
52220
|
return false;
|
|
52202
52221
|
try {
|
|
52203
|
-
const header = yield this.readProtocolV2DeviceFileHeader(bundle.devicePath);
|
|
52222
|
+
const header = yield this.readProtocolV2DeviceFileHeader(bundle.devicePath, bundle.source.size);
|
|
52204
52223
|
if (!header)
|
|
52205
52224
|
return false;
|
|
52206
52225
|
if (bundle.version) {
|
|
@@ -65103,7 +65122,10 @@ function prepareFirmwareUpdateV4MemoryHost({ sdk, plan, artifacts, }) {
|
|
|
65103
65122
|
return Promise.resolve();
|
|
65104
65123
|
},
|
|
65105
65124
|
};
|
|
65106
|
-
const hostBindingGeneration = sdk.registerFirmwareUpdateHostBinding({
|
|
65125
|
+
const hostBindingGeneration = sdk.registerFirmwareUpdateHostBinding({
|
|
65126
|
+
artifactReader,
|
|
65127
|
+
preparedPlanDigest: preparedPlan.preparedPlanDigest,
|
|
65128
|
+
});
|
|
65107
65129
|
const componentArtifacts = {};
|
|
65108
65130
|
const expectedTargetVersions = {};
|
|
65109
65131
|
for (const artifact of preparedPlan.artifacts) {
|
|
@@ -49,7 +49,6 @@ export type AllFirmwareRelease = {
|
|
|
49
49
|
required?: boolean;
|
|
50
50
|
resourceStatus?: 'valid' | 'outdated' | 'unknown';
|
|
51
51
|
resourceArchive?: IProtocolV2ResourceSource;
|
|
52
|
-
resourcePreparationRequired?: boolean;
|
|
53
52
|
currentVersions?: DeviceStateVersions;
|
|
54
53
|
components?: ProtocolV2FirmwareComponentRelease[];
|
|
55
54
|
targetsToUpdate?: FirmwareUpdateV4Target[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkAllFirmwareRelease.d.ts","sourceRoot":"","sources":["../../../src/types/api/checkAllFirmwareRelease.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACtF,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,EAC5B,kCAAkC,EAClC,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAE9F,MAAM,MAAM,8BAA8B,GAAG,4BAA4B,GAAG;IAC1E,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,kCAAkC,CAAC;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,OAAO,EACH,uBAAuB,GACvB,oBAAoB,GACpB,8BAA8B,GAC9B,SAAS,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC,GAAG;IACnF,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,wCAAwC,GAChD,OAAO,GACP,UAAU,GACV,SAAS,GACT,aAAa,CAAC;AAElB,MAAM,MAAM,+BAA+B,GACvC,aAAa,GACb,OAAO,GACP,SAAS,GACT,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,MAAM,kCAAkC,GAAG;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,kCAAkC,CAAC;IACpD,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC5C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,wCAAwC,CAAC;IACjD,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,0BAA0B,CAAC;IACrC,GAAG,EAAE,0BAA0B,CAAC;IAChC,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,MAAM,CAAC,EAAE,+BAA+B,CAAC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IAClD,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C,
|
|
1
|
+
{"version":3,"file":"checkAllFirmwareRelease.d.ts","sourceRoot":"","sources":["../../../src/types/api/checkAllFirmwareRelease.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firmwareUpdate.d.ts","sourceRoot":"","sources":["../../../src/types/api/firmwareUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,KAAK,WAAW,GAAG,UAAU,GAAG,KAAK,CAAC;AAEtC,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAC5C,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QACzE,IAAI,EAAE,WAAW,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,OAAO,CAAC;KACd,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,yBAAyB;IACxC,cAAc,EAAE,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"firmwareUpdate.d.ts","sourceRoot":"","sources":["../../../src/types/api/firmwareUpdate.ts"],"names":[],"mappings":"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"}
|
package/dist/types/settings.d.ts
CHANGED
|
@@ -114,18 +114,17 @@ export type IBLEFirmwareReleaseInfo = {
|
|
|
114
114
|
};
|
|
115
115
|
};
|
|
116
116
|
type IKnownDevice = Exclude<IDeviceType, 'unknown'>;
|
|
117
|
-
type ILegacyKnownDevice = Exclude<IKnownDevice, 'neo'>;
|
|
118
117
|
type IDeviceReleaseInfo = {
|
|
119
|
-
firmware
|
|
118
|
+
firmware?: IFirmwareReleaseInfo[];
|
|
120
119
|
'firmware-v1'?: IFirmwareReleaseInfo[];
|
|
121
120
|
'firmware-v2'?: IFirmwareReleaseInfo[];
|
|
122
121
|
'firmware-v8'?: IFirmwareReleaseInfo[];
|
|
123
122
|
'firmware-btc-v8'?: IFirmwareReleaseInfo[];
|
|
124
|
-
ble
|
|
123
|
+
ble?: IBLEFirmwareReleaseInfo[];
|
|
125
124
|
resources?: IProtocolV2Resources;
|
|
126
125
|
};
|
|
127
126
|
export type DeviceTypeMap = {
|
|
128
|
-
[k in
|
|
127
|
+
[k in Exclude<IKnownDevice, 'neo'>]: IDeviceReleaseInfo;
|
|
129
128
|
} & {
|
|
130
129
|
neo?: IDeviceReleaseInfo;
|
|
131
130
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/types/settings.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/types/settings.ts"],"names":[],"mappings":"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"}
|
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.87",
|
|
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.87",
|
|
29
|
+
"@onekeyfe/hd-transport": "1.2.0-alpha.87",
|
|
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": "4192396a9d3cf4930ce7d710752db898155a3293"
|
|
48
48
|
}
|
|
@@ -416,7 +416,6 @@ export default class CheckAllFirmwareRelease extends BaseMethod {
|
|
|
416
416
|
state.identity.deviceType === 'neo' ? EDeviceType.Neo : EDeviceType.Pro2;
|
|
417
417
|
const resourceSource = DataManager.getProtocolV2ResourceSource(resourceDeviceType);
|
|
418
418
|
const resourceStatus = 'unknown' as const;
|
|
419
|
-
const resourcePreparationRequired = !!resourceSource;
|
|
420
419
|
const detectedComponentTargets = validatedForceUpdateTargets.includes('firmware')
|
|
421
420
|
? plan.components.flatMap(component =>
|
|
422
421
|
component.updateTarget ? [component.updateTarget] : []
|
|
@@ -434,7 +433,7 @@ export default class CheckAllFirmwareRelease extends BaseMethod {
|
|
|
434
433
|
const targetsToUpdate = Array.from(
|
|
435
434
|
new Set([
|
|
436
435
|
...componentTargetsToUpdate,
|
|
437
|
-
...(
|
|
436
|
+
...(forceResourceUpdate ? (['resource'] as const) : []),
|
|
438
437
|
])
|
|
439
438
|
);
|
|
440
439
|
let firmwareUpdatePlan: FirmwareUpdatePlan | undefined;
|
|
@@ -483,10 +482,7 @@ export default class CheckAllFirmwareRelease extends BaseMethod {
|
|
|
483
482
|
);
|
|
484
483
|
const blePlan = summarizeProtocolV2FirmwareRelease(plan, PROTOCOL_V2_BLE_TARGETS);
|
|
485
484
|
const bootloaderPlan = summarizeProtocolV2FirmwareRelease(plan, PROTOCOL_V2_BOOTLOADER_TARGETS);
|
|
486
|
-
const status =
|
|
487
|
-
resourcePreparationRequired && (plan.status === 'valid' || plan.status === 'unavailable')
|
|
488
|
-
? 'unknown'
|
|
489
|
-
: plan.status;
|
|
485
|
+
const { status } = plan;
|
|
490
486
|
|
|
491
487
|
return {
|
|
492
488
|
firmware: toProtocolV2FirmwareReleaseInfo({ plan: firmwarePlan, state, release }),
|
|
@@ -507,7 +503,6 @@ export default class CheckAllFirmwareRelease extends BaseMethod {
|
|
|
507
503
|
status,
|
|
508
504
|
resourceStatus,
|
|
509
505
|
resourceArchive: resourceSource,
|
|
510
|
-
resourcePreparationRequired,
|
|
511
506
|
hasUpgrade: targetsToUpdate.length > 0,
|
|
512
507
|
targetsToUpdate,
|
|
513
508
|
firmwareUpdatePlan,
|
|
@@ -555,15 +555,20 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
555
555
|
'Protocol V2 expected device identity is invalid'
|
|
556
556
|
);
|
|
557
557
|
}
|
|
558
|
+
const preparedPlan = payload.preparedPlan
|
|
559
|
+
? validateFirmwareUpdatePreparedPlan(payload.preparedPlan)
|
|
560
|
+
: undefined;
|
|
558
561
|
const hostBinding =
|
|
559
|
-
payload.
|
|
560
|
-
? resolveFirmwareUpdateHostBinding(
|
|
562
|
+
payload.hostBindingGeneration !== undefined
|
|
563
|
+
? resolveFirmwareUpdateHostBinding(
|
|
564
|
+
payload.hostBindingGeneration,
|
|
565
|
+
preparedPlan?.preparedPlanDigest
|
|
566
|
+
)
|
|
561
567
|
: undefined;
|
|
562
|
-
if (
|
|
568
|
+
if (preparedPlan) {
|
|
563
569
|
const componentArtifacts = (payload.componentArtifacts ?? {}) as NonNullable<
|
|
564
570
|
FirmwareUpdateV4Params['componentArtifacts']
|
|
565
571
|
>;
|
|
566
|
-
const preparedPlan = validateFirmwareUpdatePreparedPlan(payload.preparedPlan);
|
|
567
572
|
assertFirmwareUpdatePreparedPlanBinding({
|
|
568
573
|
preparedPlan,
|
|
569
574
|
executor: 'v4',
|
|
@@ -585,9 +590,7 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
585
590
|
}
|
|
586
591
|
|
|
587
592
|
this.params = {
|
|
588
|
-
preparedPlan
|
|
589
|
-
? validateFirmwareUpdatePreparedPlan(payload.preparedPlan)
|
|
590
|
-
: undefined,
|
|
593
|
+
preparedPlan,
|
|
591
594
|
chunkSize: payload.chunkSize,
|
|
592
595
|
forcedUpdateRes: payload.forcedUpdateRes,
|
|
593
596
|
bootloaderBinary: payload.bootloaderBinary,
|
|
@@ -651,7 +654,10 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
651
654
|
const firmwareType = this.params.firmwareType ?? deviceFirmwareType;
|
|
652
655
|
this.validateExpectedTargetVersions();
|
|
653
656
|
|
|
654
|
-
|
|
657
|
+
const hasPreparedComponentArtifacts = Object.values(this.params.componentArtifacts ?? {}).some(
|
|
658
|
+
Boolean
|
|
659
|
+
);
|
|
660
|
+
if (this.params.preparedPlan || hasPreparedComponentArtifacts) {
|
|
655
661
|
return this.runProtocolV2PreparedArtifacts(deviceFeatures, firmwareType);
|
|
656
662
|
}
|
|
657
663
|
const wantsResources = !!this.params.targetsToUpdate?.includes('resource');
|
|
@@ -1352,7 +1358,7 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
1352
1358
|
return `vol0:/${path}`;
|
|
1353
1359
|
}
|
|
1354
1360
|
|
|
1355
|
-
private async readProtocolV2DeviceFileHeader(path: string) {
|
|
1361
|
+
private async readProtocolV2DeviceFileHeader(path: string, expectedSize?: number) {
|
|
1356
1362
|
const typedCall = this.device.getCommands().typedCall.bind(this.device.getCommands());
|
|
1357
1363
|
const filePath = this.getProtocolV2ResourceFilePath(path);
|
|
1358
1364
|
const pathInfoRes = await typedCall('FilesystemPathInfoQuery', 'FilesystemPathInfo', {
|
|
@@ -1363,7 +1369,8 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
1363
1369
|
!pathInfoRes.message?.exist ||
|
|
1364
1370
|
pathInfoRes.message?.directory ||
|
|
1365
1371
|
fileSize === undefined ||
|
|
1366
|
-
fileSize < PROTOCOL_V2_OKPP_HEADER_SIZE
|
|
1372
|
+
fileSize < PROTOCOL_V2_OKPP_HEADER_SIZE ||
|
|
1373
|
+
(expectedSize !== undefined && fileSize !== expectedSize)
|
|
1367
1374
|
) {
|
|
1368
1375
|
return null;
|
|
1369
1376
|
}
|
|
@@ -1401,14 +1408,17 @@ export default class FirmwareUpdateV4 extends FirmwareUpdateBaseMethod<FirmwareU
|
|
|
1401
1408
|
private async isProtocolV2ResourceBundleUpToDate(
|
|
1402
1409
|
bundle: Pick<
|
|
1403
1410
|
ProtocolV2ResourceBundleSource,
|
|
1404
|
-
'name' | 'devicePath' | 'version' | 'payloadHash' | 'headerHash'
|
|
1411
|
+
'name' | 'source' | 'devicePath' | 'version' | 'payloadHash' | 'headerHash'
|
|
1405
1412
|
>
|
|
1406
1413
|
): Promise<boolean> {
|
|
1407
1414
|
if (this.params?.forcedUpdateRes) return false;
|
|
1408
1415
|
if (!bundle.payloadHash || !bundle.headerHash) return false;
|
|
1409
1416
|
|
|
1410
1417
|
try {
|
|
1411
|
-
const header = await this.readProtocolV2DeviceFileHeader(
|
|
1418
|
+
const header = await this.readProtocolV2DeviceFileHeader(
|
|
1419
|
+
bundle.devicePath,
|
|
1420
|
+
bundle.source.size
|
|
1421
|
+
);
|
|
1412
1422
|
if (!header) return false;
|
|
1413
1423
|
|
|
1414
1424
|
if (bundle.version) {
|
|
@@ -16,6 +16,8 @@ class FirmwareHostBindingRegistry {
|
|
|
16
16
|
register(binding: FirmwareUpdateHostBinding): number {
|
|
17
17
|
if (
|
|
18
18
|
!binding ||
|
|
19
|
+
typeof binding.preparedPlanDigest !== 'string' ||
|
|
20
|
+
!/^[0-9a-f]{64}$/i.test(binding.preparedPlanDigest) ||
|
|
19
21
|
typeof binding.artifactReader?.open !== 'function' ||
|
|
20
22
|
typeof binding.artifactReader.read !== 'function' ||
|
|
21
23
|
typeof binding.artifactReader.close !== 'function'
|
|
@@ -40,7 +42,7 @@ class FirmwareHostBindingRegistry {
|
|
|
40
42
|
return this.generation;
|
|
41
43
|
}
|
|
42
44
|
|
|
43
|
-
resolve(generation: number): FirmwareUpdateHostBinding {
|
|
45
|
+
resolve(generation: number, preparedPlanDigest?: string): FirmwareUpdateHostBinding {
|
|
44
46
|
if (
|
|
45
47
|
!Number.isSafeInteger(generation) ||
|
|
46
48
|
generation <= 0 ||
|
|
@@ -50,12 +52,21 @@ class FirmwareHostBindingRegistry {
|
|
|
50
52
|
return bindingError(`Firmware host binding generation ${generation} is stale`);
|
|
51
53
|
}
|
|
52
54
|
const { binding } = this;
|
|
55
|
+
if (
|
|
56
|
+
preparedPlanDigest !== undefined &&
|
|
57
|
+
binding.preparedPlanDigest.toLowerCase() !== preparedPlanDigest.toLowerCase()
|
|
58
|
+
) {
|
|
59
|
+
return bindingError(
|
|
60
|
+
`Firmware host binding generation ${generation} does not match the prepared plan`
|
|
61
|
+
);
|
|
62
|
+
}
|
|
53
63
|
const assertCurrent = () => {
|
|
54
64
|
if (generation !== this.generation || binding !== this.binding) {
|
|
55
65
|
bindingError(`Firmware host binding generation ${generation} is stale`);
|
|
56
66
|
}
|
|
57
67
|
};
|
|
58
68
|
return {
|
|
69
|
+
preparedPlanDigest: binding.preparedPlanDigest,
|
|
59
70
|
artifactReader: {
|
|
60
71
|
open: async input => {
|
|
61
72
|
assertCurrent();
|
|
@@ -96,5 +107,7 @@ export const getFirmwareUpdateHostBindingGeneration = (): number =>
|
|
|
96
107
|
firmwareHostBindingRegistry.getGeneration();
|
|
97
108
|
|
|
98
109
|
export const resolveFirmwareUpdateHostBinding = (
|
|
99
|
-
generation: number | undefined
|
|
100
|
-
|
|
110
|
+
generation: number | undefined,
|
|
111
|
+
preparedPlanDigest?: string
|
|
112
|
+
): FirmwareUpdateHostBinding =>
|
|
113
|
+
firmwareHostBindingRegistry.resolve(generation ?? Number.NaN, preparedPlanDigest);
|
|
@@ -144,7 +144,10 @@ export function prepareFirmwareUpdateV4MemoryHost({
|
|
|
144
144
|
return Promise.resolve();
|
|
145
145
|
},
|
|
146
146
|
};
|
|
147
|
-
const hostBindingGeneration = sdk.registerFirmwareUpdateHostBinding({
|
|
147
|
+
const hostBindingGeneration = sdk.registerFirmwareUpdateHostBinding({
|
|
148
|
+
artifactReader,
|
|
149
|
+
preparedPlanDigest: preparedPlan.preparedPlanDigest,
|
|
150
|
+
});
|
|
148
151
|
const componentArtifacts: FirmwareUpdateV4MemoryHost['componentArtifacts'] = {};
|
|
149
152
|
const expectedTargetVersions: FirmwareUpdateV4MemoryHost['expectedTargetVersions'] = {};
|
|
150
153
|
for (const artifact of preparedPlan.artifacts) {
|