@onekeyfe/hd-core 0.1.0 → 0.1.3
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/dist/api/CheckBLEFirmwareRelease.d.ts +8 -1
- package/dist/api/CheckBLEFirmwareRelease.d.ts.map +1 -1
- package/dist/api/CheckFirmwareRelease.d.ts +8 -1
- package/dist/api/CheckFirmwareRelease.d.ts.map +1 -1
- package/dist/constants/errors.d.ts +1 -0
- package/dist/constants/errors.d.ts.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/data-manager/DataManager.d.ts +10 -0
- package/dist/data-manager/DataManager.d.ts.map +1 -1
- package/dist/device/Device.d.ts +2 -1
- package/dist/device/Device.d.ts.map +1 -1
- package/dist/device/DeviceCommands.d.ts.map +1 -1
- package/dist/device/DeviceList.d.ts.map +1 -1
- package/dist/events/call.d.ts +7 -0
- package/dist/events/call.d.ts.map +1 -1
- package/dist/events/core.d.ts +2 -2
- package/dist/events/core.d.ts.map +1 -1
- package/dist/events/iframe.d.ts +1 -0
- package/dist/events/iframe.d.ts.map +1 -1
- package/dist/index.d.ts +42 -6
- package/dist/index.js +143 -47
- package/dist/types/api/checkBLEFirmwareRelease.d.ts +12 -2
- package/dist/types/api/checkBLEFirmwareRelease.d.ts.map +1 -1
- package/dist/types/api/checkFirmwareRelease.d.ts +11 -1
- package/dist/types/api/checkFirmwareRelease.d.ts.map +1 -1
- package/dist/types/api/index.d.ts +1 -1
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/utils/release.d.ts +4 -0
- package/dist/utils/release.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/api/CheckBLEFirmwareRelease.ts +7 -1
- package/src/api/CheckFirmwareRelease.ts +7 -1
- package/src/constants/errors.ts +1 -0
- package/src/core/index.ts +28 -1
- package/src/data-manager/DataManager.ts +36 -20
- package/src/device/Device.ts +18 -11
- package/src/device/DeviceCommands.ts +4 -0
- package/src/device/DeviceList.ts +13 -1
- package/src/events/call.ts +6 -0
- package/src/events/core.ts +2 -1
- package/src/events/iframe.ts +1 -0
- package/src/types/api/checkBLEFirmwareRelease.ts +12 -4
- package/src/types/api/checkFirmwareRelease.ts +11 -1
- package/src/types/api/index.ts +1 -1
- package/src/utils/release.ts +24 -0
package/dist/index.js
CHANGED
|
@@ -615,6 +615,7 @@ const ERROR_CODES = {
|
|
|
615
615
|
Device_UnexpectedMode: '',
|
|
616
616
|
Device_CallInProgress: '',
|
|
617
617
|
Device_InitializeFailed: '',
|
|
618
|
+
Device_Interrupted: 'The device is performing other operations',
|
|
618
619
|
Not_Use_Onekey_Device: 'Please use onekey device',
|
|
619
620
|
Runtime: '',
|
|
620
621
|
Init_NotInitialized: 'Init_NotInitialized',
|
|
@@ -658,7 +659,7 @@ const colors = {
|
|
|
658
659
|
Transport: 'color: #ffb6c1; background: #000;',
|
|
659
660
|
};
|
|
660
661
|
const MAX_ENTRIES = 100;
|
|
661
|
-
class Log$
|
|
662
|
+
class Log$6 {
|
|
662
663
|
constructor(prefix, enabled) {
|
|
663
664
|
this.prefix = prefix;
|
|
664
665
|
this.enabled = enabled;
|
|
@@ -708,7 +709,7 @@ class Log$5 {
|
|
|
708
709
|
}
|
|
709
710
|
const _logs = {};
|
|
710
711
|
const initLog = (prefix, enabled) => {
|
|
711
|
-
const instance = new Log$
|
|
712
|
+
const instance = new Log$6(prefix, !!enabled);
|
|
712
713
|
_logs[prefix] = instance;
|
|
713
714
|
return instance;
|
|
714
715
|
};
|
|
@@ -9754,6 +9755,21 @@ var MessagesJSON = {
|
|
|
9754
9755
|
nested: nested
|
|
9755
9756
|
};
|
|
9756
9757
|
|
|
9758
|
+
const getReleaseStatus = (releases, currentVersion) => {
|
|
9759
|
+
const newVersions = releases.filter(r => semver__default["default"].gt(r.version.join('.'), currentVersion));
|
|
9760
|
+
if (newVersions.length === 0) {
|
|
9761
|
+
return 'valid';
|
|
9762
|
+
}
|
|
9763
|
+
if (newVersions.some(r => r.required)) {
|
|
9764
|
+
return 'required';
|
|
9765
|
+
}
|
|
9766
|
+
return 'outdated';
|
|
9767
|
+
};
|
|
9768
|
+
const getReleaseChangelog = (releases, currentVersion) => {
|
|
9769
|
+
const newVersions = releases.filter(r => semver__default["default"].gt(r.version.join('.'), currentVersion));
|
|
9770
|
+
return newVersions.map(r => r.changelog);
|
|
9771
|
+
};
|
|
9772
|
+
|
|
9757
9773
|
var _a;
|
|
9758
9774
|
class DataManager {
|
|
9759
9775
|
static load(settings) {
|
|
@@ -9821,17 +9837,26 @@ DataManager.getFirmwareStatus = (features) => {
|
|
|
9821
9837
|
return 'unknown';
|
|
9822
9838
|
}
|
|
9823
9839
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.firmware) !== null && _c !== void 0 ? _c : [];
|
|
9824
|
-
const latestFirmware = targetDeviceConfigList[targetDeviceConfigList.length - 1];
|
|
9825
|
-
if (!latestFirmware)
|
|
9826
|
-
return 'valid';
|
|
9827
|
-
const latestVersion = latestFirmware.version.join('.');
|
|
9828
9840
|
const currentVersion = deviceFirmwareVersion.join('.');
|
|
9829
|
-
|
|
9830
|
-
|
|
9831
|
-
|
|
9832
|
-
|
|
9841
|
+
return getReleaseStatus(targetDeviceConfigList, currentVersion);
|
|
9842
|
+
};
|
|
9843
|
+
DataManager.getFirmwareChangelog = (features) => {
|
|
9844
|
+
var _b, _c;
|
|
9845
|
+
const deviceType = getDeviceType(features);
|
|
9846
|
+
const deviceFirmwareVersion = getDeviceFirmwareVersion(features);
|
|
9847
|
+
if (features.firmware_present === false ||
|
|
9848
|
+
(deviceType === 'classic' && features.bootloader_mode)) {
|
|
9849
|
+
return [];
|
|
9833
9850
|
}
|
|
9834
|
-
|
|
9851
|
+
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.firmware) !== null && _c !== void 0 ? _c : [];
|
|
9852
|
+
const currentVersion = deviceFirmwareVersion.join('.');
|
|
9853
|
+
return getReleaseChangelog(targetDeviceConfigList, currentVersion);
|
|
9854
|
+
};
|
|
9855
|
+
DataManager.getFirmwareLeatestRelease = (features) => {
|
|
9856
|
+
var _b, _c;
|
|
9857
|
+
const deviceType = getDeviceType(features);
|
|
9858
|
+
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.firmware) !== null && _c !== void 0 ? _c : [];
|
|
9859
|
+
return targetDeviceConfigList[targetDeviceConfigList.length - 1];
|
|
9835
9860
|
};
|
|
9836
9861
|
DataManager.getBLEFirmwareStatus = (features) => {
|
|
9837
9862
|
var _b, _c;
|
|
@@ -9841,17 +9866,25 @@ DataManager.getBLEFirmwareStatus = (features) => {
|
|
|
9841
9866
|
return 'none';
|
|
9842
9867
|
}
|
|
9843
9868
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.ble) !== null && _c !== void 0 ? _c : [];
|
|
9844
|
-
const latestBLEFirmware = targetDeviceConfigList[targetDeviceConfigList.length - 1];
|
|
9845
|
-
if (!latestBLEFirmware)
|
|
9846
|
-
return 'valid';
|
|
9847
|
-
const latestVersion = latestBLEFirmware.version.join('.');
|
|
9848
9869
|
const currentVersion = deviceBLEFirmwareVersion.join('.');
|
|
9849
|
-
|
|
9850
|
-
|
|
9851
|
-
|
|
9852
|
-
|
|
9870
|
+
return getReleaseStatus(targetDeviceConfigList, currentVersion);
|
|
9871
|
+
};
|
|
9872
|
+
DataManager.getBleFirmwareChangelog = (features) => {
|
|
9873
|
+
var _b, _c;
|
|
9874
|
+
const deviceType = getDeviceType(features);
|
|
9875
|
+
const deviceBLEFirmwareVersion = getDeviceBLEFirmwareVersion(features);
|
|
9876
|
+
if (!deviceBLEFirmwareVersion) {
|
|
9877
|
+
return [];
|
|
9853
9878
|
}
|
|
9854
|
-
|
|
9879
|
+
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.ble) !== null && _c !== void 0 ? _c : [];
|
|
9880
|
+
const currentVersion = deviceBLEFirmwareVersion.join('.');
|
|
9881
|
+
return getReleaseChangelog(targetDeviceConfigList, currentVersion);
|
|
9882
|
+
};
|
|
9883
|
+
DataManager.getBleFirmwareLeatestRelease = (features) => {
|
|
9884
|
+
var _b, _c;
|
|
9885
|
+
const deviceType = getDeviceType(features);
|
|
9886
|
+
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b.ble) !== null && _c !== void 0 ? _c : [];
|
|
9887
|
+
return targetDeviceConfigList[targetDeviceConfigList.length - 1];
|
|
9855
9888
|
};
|
|
9856
9889
|
DataManager.getTransportStatus = (localVersion) => {
|
|
9857
9890
|
var _b, _c;
|
|
@@ -9862,7 +9895,7 @@ DataManager.getTransportStatus = (localVersion) => {
|
|
|
9862
9895
|
return isLatest ? 'valid' : 'outdated';
|
|
9863
9896
|
};
|
|
9864
9897
|
|
|
9865
|
-
const Log$
|
|
9898
|
+
const Log$5 = initLog('Transport');
|
|
9866
9899
|
class TransportManager {
|
|
9867
9900
|
static load() {
|
|
9868
9901
|
console.log('transport manager load');
|
|
@@ -9873,25 +9906,25 @@ class TransportManager {
|
|
|
9873
9906
|
return __awaiter(this, void 0, void 0, function* () {
|
|
9874
9907
|
try {
|
|
9875
9908
|
const env = DataManager.getSettings('env');
|
|
9876
|
-
Log$
|
|
9909
|
+
Log$5.debug('Initializing transports');
|
|
9877
9910
|
if (env === 'react-native') {
|
|
9878
9911
|
if (!this.reactNativeInit) {
|
|
9879
9912
|
yield this.transport.init();
|
|
9880
9913
|
this.reactNativeInit = true;
|
|
9881
9914
|
}
|
|
9882
9915
|
else {
|
|
9883
|
-
Log$
|
|
9916
|
+
Log$5.debug('React Native Do Not Initializing transports');
|
|
9884
9917
|
}
|
|
9885
9918
|
}
|
|
9886
9919
|
else {
|
|
9887
9920
|
yield this.transport.init();
|
|
9888
9921
|
}
|
|
9889
|
-
Log$
|
|
9922
|
+
Log$5.debug('Configuring transports');
|
|
9890
9923
|
yield this.transport.configure(JSON.stringify(this.defaultMessages));
|
|
9891
|
-
Log$
|
|
9924
|
+
Log$5.debug('Configuring transports done');
|
|
9892
9925
|
}
|
|
9893
9926
|
catch (error) {
|
|
9894
|
-
Log$
|
|
9927
|
+
Log$5.debug('Initializing transports error: ', error);
|
|
9895
9928
|
}
|
|
9896
9929
|
});
|
|
9897
9930
|
}
|
|
@@ -9978,6 +10011,7 @@ const IFRAME = {
|
|
|
9978
10011
|
INIT: 'iframe-init',
|
|
9979
10012
|
INIT_BRIDGE: 'iframe-init-bridge',
|
|
9980
10013
|
CALL: 'iframe-call',
|
|
10014
|
+
CANCEL: 'iframe-cancel',
|
|
9981
10015
|
};
|
|
9982
10016
|
const createIFrameMessage = (type, payload) => ({
|
|
9983
10017
|
event: UI_EVENT,
|
|
@@ -10034,7 +10068,7 @@ const assertType = (res, resType) => {
|
|
|
10034
10068
|
throw TypedError('Runtime', `assertType: Response of unexpected type: ${res.type}. Should be ${resType}`);
|
|
10035
10069
|
}
|
|
10036
10070
|
};
|
|
10037
|
-
const Log$
|
|
10071
|
+
const Log$4 = initLog('DeviceCommands');
|
|
10038
10072
|
class DeviceCommands {
|
|
10039
10073
|
constructor(device, mainId) {
|
|
10040
10074
|
this.device = device;
|
|
@@ -10043,8 +10077,13 @@ class DeviceCommands {
|
|
|
10043
10077
|
this.disposed = false;
|
|
10044
10078
|
}
|
|
10045
10079
|
dispose() {
|
|
10080
|
+
var _a, _b;
|
|
10046
10081
|
this.disposed = true;
|
|
10082
|
+
if (this._cancelableRequest) {
|
|
10083
|
+
this._cancelableRequest();
|
|
10084
|
+
}
|
|
10047
10085
|
this._cancelableRequest = undefined;
|
|
10086
|
+
(_b = (_a = this.transport).cancel) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
10048
10087
|
}
|
|
10049
10088
|
call(type, msg = {}) {
|
|
10050
10089
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -10053,11 +10092,11 @@ class DeviceCommands {
|
|
|
10053
10092
|
const promise = this.transport.call(this.mainId, type, msg);
|
|
10054
10093
|
this.callPromise = promise;
|
|
10055
10094
|
const res = yield promise;
|
|
10056
|
-
Log$
|
|
10095
|
+
Log$4.debug('[DeviceCommands] [call] Received', res.type);
|
|
10057
10096
|
return res;
|
|
10058
10097
|
}
|
|
10059
10098
|
catch (error) {
|
|
10060
|
-
Log$
|
|
10099
|
+
Log$4.debug('[DeviceCommands] [call] Received error', error);
|
|
10061
10100
|
throw error;
|
|
10062
10101
|
}
|
|
10063
10102
|
});
|
|
@@ -10250,7 +10289,7 @@ const parseRunOptions = (options) => {
|
|
|
10250
10289
|
options = {};
|
|
10251
10290
|
return options;
|
|
10252
10291
|
};
|
|
10253
|
-
const Log$
|
|
10292
|
+
const Log$3 = initLog('Device');
|
|
10254
10293
|
class Device extends events.exports {
|
|
10255
10294
|
constructor(descriptor) {
|
|
10256
10295
|
super();
|
|
@@ -10261,7 +10300,6 @@ class Device extends events.exports {
|
|
|
10261
10300
|
this.unavailableCapabilities = {};
|
|
10262
10301
|
this.instance = 0;
|
|
10263
10302
|
this.internalState = [];
|
|
10264
|
-
this.loaded = false;
|
|
10265
10303
|
this.needReloadDevice = false;
|
|
10266
10304
|
this.keepSession = false;
|
|
10267
10305
|
this.originalDescriptor = descriptor;
|
|
@@ -10330,11 +10368,11 @@ class Device extends events.exports {
|
|
|
10330
10368
|
if (env === 'react-native') {
|
|
10331
10369
|
const res = yield ((_a = this.deviceConnector) === null || _a === void 0 ? void 0 : _a.acquire(this.originalDescriptor.id));
|
|
10332
10370
|
this.mainId = (_b = res.uuid) !== null && _b !== void 0 ? _b : '';
|
|
10333
|
-
Log$
|
|
10371
|
+
Log$3.debug('Expected uuid:', this.mainId);
|
|
10334
10372
|
}
|
|
10335
10373
|
else {
|
|
10336
10374
|
this.mainId = yield ((_c = this.deviceConnector) === null || _c === void 0 ? void 0 : _c.acquire(this.originalDescriptor.path, this.originalDescriptor.session));
|
|
10337
|
-
Log$
|
|
10375
|
+
Log$3.debug('Expected session id:', this.mainId);
|
|
10338
10376
|
}
|
|
10339
10377
|
this.updateDescriptor({ [mainIdKey]: this.mainId });
|
|
10340
10378
|
if (this.commands) {
|
|
@@ -10375,7 +10413,7 @@ class Device extends events.exports {
|
|
|
10375
10413
|
this.updateDescriptor({ session: null });
|
|
10376
10414
|
}
|
|
10377
10415
|
catch (err) {
|
|
10378
|
-
Log$
|
|
10416
|
+
Log$3.error('[Device] release error: ', err);
|
|
10379
10417
|
}
|
|
10380
10418
|
finally {
|
|
10381
10419
|
this.needReloadDevice = true;
|
|
@@ -10428,11 +10466,19 @@ class Device extends events.exports {
|
|
|
10428
10466
|
this.originalDescriptor.session = upcomingSession;
|
|
10429
10467
|
}
|
|
10430
10468
|
}
|
|
10469
|
+
updateFromCache(device) {
|
|
10470
|
+
this.mainId = device.mainId;
|
|
10471
|
+
this.commands = device.commands;
|
|
10472
|
+
this.updateDescriptor(device.originalDescriptor);
|
|
10473
|
+
if (device.features) {
|
|
10474
|
+
this._updateFeatures(device.features);
|
|
10475
|
+
}
|
|
10476
|
+
}
|
|
10431
10477
|
run(fn, options) {
|
|
10432
10478
|
return __awaiter(this, void 0, void 0, function* () {
|
|
10433
10479
|
if (this.runPromise) {
|
|
10434
|
-
|
|
10435
|
-
|
|
10480
|
+
this.interruption();
|
|
10481
|
+
Log$3.debug('[Device] run error:', 'Device is running, but will cancel previous operate');
|
|
10436
10482
|
}
|
|
10437
10483
|
options = parseRunOptions(options);
|
|
10438
10484
|
this.runPromise = create(this._runInner.bind(this, fn, options));
|
|
@@ -10459,24 +10505,26 @@ class Device extends events.exports {
|
|
|
10459
10505
|
if (fn) {
|
|
10460
10506
|
yield fn();
|
|
10461
10507
|
}
|
|
10462
|
-
if (this.loaded && this.features) {
|
|
10463
|
-
yield this.getFeatures();
|
|
10464
|
-
}
|
|
10465
10508
|
if ((!this.keepSession && typeof options.keepSession !== 'boolean') ||
|
|
10466
10509
|
options.keepSession === false) {
|
|
10467
10510
|
this.keepSession = false;
|
|
10468
10511
|
yield this.release();
|
|
10469
|
-
Log$
|
|
10512
|
+
Log$3.debug('release device, mainId: ', this.mainId);
|
|
10470
10513
|
}
|
|
10471
10514
|
if (this.runPromise) {
|
|
10472
10515
|
this.runPromise.resolve();
|
|
10473
10516
|
}
|
|
10474
10517
|
this.runPromise = null;
|
|
10475
|
-
if (!this.loaded) {
|
|
10476
|
-
this.loaded = true;
|
|
10477
|
-
}
|
|
10478
10518
|
});
|
|
10479
10519
|
}
|
|
10520
|
+
interruption() {
|
|
10521
|
+
if (this.commands) {
|
|
10522
|
+
this.commands.dispose();
|
|
10523
|
+
}
|
|
10524
|
+
if (this.runPromise) {
|
|
10525
|
+
this.runPromise.reject(TypedError('Device_Interrupted'));
|
|
10526
|
+
}
|
|
10527
|
+
}
|
|
10480
10528
|
getMode() {
|
|
10481
10529
|
var _a, _b, _c;
|
|
10482
10530
|
if ((_a = this.features) === null || _a === void 0 ? void 0 : _a.bootloader_mode)
|
|
@@ -10541,6 +10589,8 @@ class Device extends events.exports {
|
|
|
10541
10589
|
}
|
|
10542
10590
|
}
|
|
10543
10591
|
|
|
10592
|
+
const cacheDeviceMap = new Map();
|
|
10593
|
+
const Log$2 = initLog('DeviceList');
|
|
10544
10594
|
class DeviceList extends events.exports {
|
|
10545
10595
|
constructor() {
|
|
10546
10596
|
super(...arguments);
|
|
@@ -10558,7 +10608,7 @@ class DeviceList extends events.exports {
|
|
|
10558
10608
|
try {
|
|
10559
10609
|
for (var descriptorList_1 = __asyncValues(descriptorList), descriptorList_1_1; descriptorList_1_1 = yield descriptorList_1.next(), !descriptorList_1_1.done;) {
|
|
10560
10610
|
const descriptor = descriptorList_1_1.value;
|
|
10561
|
-
|
|
10611
|
+
let device = Device.fromDescriptor(descriptor);
|
|
10562
10612
|
device.deviceConnector = this.connector;
|
|
10563
10613
|
yield device.connect();
|
|
10564
10614
|
yield device.initialize();
|
|
@@ -10566,7 +10616,14 @@ class DeviceList extends events.exports {
|
|
|
10566
10616
|
deviceList.push(device);
|
|
10567
10617
|
if (device.features) {
|
|
10568
10618
|
const uuid = getDeviceUUID(device.features);
|
|
10619
|
+
if (cacheDeviceMap.has(uuid)) {
|
|
10620
|
+
const cache = cacheDeviceMap.get(uuid);
|
|
10621
|
+
cache === null || cache === void 0 ? void 0 : cache.updateFromCache(device);
|
|
10622
|
+
device = cache;
|
|
10623
|
+
Log$2.debug('use cache device: ', uuid);
|
|
10624
|
+
}
|
|
10569
10625
|
this.devices[uuid] = device;
|
|
10626
|
+
cacheDeviceMap.set(uuid, device);
|
|
10570
10627
|
}
|
|
10571
10628
|
}
|
|
10572
10629
|
}
|
|
@@ -11562,7 +11619,13 @@ class CheckFirmwareRelease extends BaseMethod {
|
|
|
11562
11619
|
run() {
|
|
11563
11620
|
if (this.device.features) {
|
|
11564
11621
|
const firmwareStatus = DataManager.getFirmwareStatus(this.device.features);
|
|
11565
|
-
|
|
11622
|
+
const changelog = DataManager.getFirmwareChangelog(this.device.features);
|
|
11623
|
+
const release = DataManager.getFirmwareLeatestRelease(this.device.features);
|
|
11624
|
+
return Promise.resolve({
|
|
11625
|
+
status: firmwareStatus,
|
|
11626
|
+
changelog,
|
|
11627
|
+
release,
|
|
11628
|
+
});
|
|
11566
11629
|
}
|
|
11567
11630
|
return Promise.resolve(null);
|
|
11568
11631
|
}
|
|
@@ -11575,7 +11638,13 @@ class CheckBLEFirmwareRelease extends BaseMethod {
|
|
|
11575
11638
|
run() {
|
|
11576
11639
|
if (this.device.features) {
|
|
11577
11640
|
const firmwareStatus = DataManager.getBLEFirmwareStatus(this.device.features);
|
|
11578
|
-
|
|
11641
|
+
const changelog = DataManager.getBleFirmwareChangelog(this.device.features);
|
|
11642
|
+
const release = DataManager.getBleFirmwareLeatestRelease(this.device.features);
|
|
11643
|
+
return Promise.resolve({
|
|
11644
|
+
status: firmwareStatus,
|
|
11645
|
+
changelog,
|
|
11646
|
+
release,
|
|
11647
|
+
});
|
|
11579
11648
|
}
|
|
11580
11649
|
return Promise.resolve(null);
|
|
11581
11650
|
}
|
|
@@ -13155,6 +13224,7 @@ let _deviceList;
|
|
|
13155
13224
|
let _connector;
|
|
13156
13225
|
let _uiPromises = [];
|
|
13157
13226
|
let _callPromise;
|
|
13227
|
+
const deviceCacheMap = new Map();
|
|
13158
13228
|
const callAPI = (message) => __awaiter(void 0, void 0, void 0, function* () {
|
|
13159
13229
|
var _a, _b;
|
|
13160
13230
|
if (!message.id || !message.payload || message.type !== IFRAME.CALL) {
|
|
@@ -13315,10 +13385,32 @@ function initDeviceForBle(method) {
|
|
|
13315
13385
|
if (!method.connectId) {
|
|
13316
13386
|
return initDevice(method);
|
|
13317
13387
|
}
|
|
13318
|
-
|
|
13388
|
+
let device;
|
|
13389
|
+
if (deviceCacheMap.has(method.connectId)) {
|
|
13390
|
+
device = deviceCacheMap.get(method.connectId);
|
|
13391
|
+
}
|
|
13392
|
+
else {
|
|
13393
|
+
device = Device.fromDescriptor({ id: method.connectId });
|
|
13394
|
+
deviceCacheMap.set(method.connectId, device);
|
|
13395
|
+
}
|
|
13319
13396
|
device.deviceConnector = _connector;
|
|
13320
13397
|
return device;
|
|
13321
13398
|
}
|
|
13399
|
+
const cancel = (connectId) => {
|
|
13400
|
+
const env = DataManager.getSettings('env');
|
|
13401
|
+
if (connectId) {
|
|
13402
|
+
let device;
|
|
13403
|
+
if (env === 'react-native') {
|
|
13404
|
+
device = initDeviceForBle({ connectId });
|
|
13405
|
+
}
|
|
13406
|
+
else {
|
|
13407
|
+
device = initDevice({ connectId });
|
|
13408
|
+
}
|
|
13409
|
+
device === null || device === void 0 ? void 0 : device.interruption();
|
|
13410
|
+
}
|
|
13411
|
+
cleanup();
|
|
13412
|
+
closePopup();
|
|
13413
|
+
};
|
|
13322
13414
|
const cleanup = () => {
|
|
13323
13415
|
_uiPromises = [];
|
|
13324
13416
|
Log.debug('Cleanup...');
|
|
@@ -13381,6 +13473,10 @@ class Core extends events.exports {
|
|
|
13381
13473
|
const response = yield callAPI(message);
|
|
13382
13474
|
return response;
|
|
13383
13475
|
}
|
|
13476
|
+
case IFRAME.CANCEL: {
|
|
13477
|
+
cancel(message.payload.connectId);
|
|
13478
|
+
break;
|
|
13479
|
+
}
|
|
13384
13480
|
}
|
|
13385
13481
|
return Promise.resolve(message);
|
|
13386
13482
|
});
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import type { Response } from '../params';
|
|
2
|
-
import type {
|
|
3
|
-
|
|
2
|
+
import type { IDeviceBLEFirmwareStatus } from '../device';
|
|
3
|
+
import { IBLEFirmwareReleaseInfo } from '../settings';
|
|
4
|
+
declare type BleFirmwareRelease = {
|
|
5
|
+
status: IDeviceBLEFirmwareStatus;
|
|
6
|
+
changelog: {
|
|
7
|
+
'zh-CN': string;
|
|
8
|
+
'en-US': string;
|
|
9
|
+
}[];
|
|
10
|
+
release: IBLEFirmwareReleaseInfo;
|
|
11
|
+
};
|
|
12
|
+
export declare function checkBLEFirmwareRelease(connectId?: string): Response<BleFirmwareRelease>;
|
|
13
|
+
export {};
|
|
4
14
|
//# sourceMappingURL=checkBLEFirmwareRelease.d.ts.map
|
|
@@ -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,
|
|
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,aAAK,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,4 +1,14 @@
|
|
|
1
1
|
import type { Response } from '../params';
|
|
2
2
|
import type { IDeviceFirmwareStatus } from '../device';
|
|
3
|
-
|
|
3
|
+
import { IFirmwareReleaseInfo } from '../settings';
|
|
4
|
+
declare type FirmwareRelease = {
|
|
5
|
+
status: IDeviceFirmwareStatus;
|
|
6
|
+
changelog: {
|
|
7
|
+
'en-US': string;
|
|
8
|
+
'zh-CN': string;
|
|
9
|
+
}[];
|
|
10
|
+
release: IFirmwareReleaseInfo;
|
|
11
|
+
};
|
|
12
|
+
export declare function checkFirmwareRelease(connectId?: string): Response<FirmwareRelease>;
|
|
13
|
+
export {};
|
|
4
14
|
//# sourceMappingURL=checkFirmwareRelease.d.ts.map
|
|
@@ -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;
|
|
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,aAAK,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"}
|
|
@@ -49,7 +49,7 @@ export declare type CoreApi = {
|
|
|
49
49
|
dispose: () => void;
|
|
50
50
|
call: (params: any) => Promise<any>;
|
|
51
51
|
uiResponse: typeof uiResponse;
|
|
52
|
-
cancel: (
|
|
52
|
+
cancel: (connectId?: string) => void;
|
|
53
53
|
searchDevices: typeof searchDevices;
|
|
54
54
|
getFeatures: typeof getFeatures;
|
|
55
55
|
checkFirmwareRelease: typeof checkFirmwareRelease;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,cAAc,UAAU,CAAC;AAEzB,oBAAY,OAAO,GAAG;IAIpB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,GAAG,EAAE,OAAO,GAAG,CAAC;IAChB,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IBLEFirmwareReleaseInfo, IDeviceFirmwareStatus, IFirmwareReleaseInfo } from '../types';
|
|
2
|
+
export declare const getReleaseStatus: (releases: (IFirmwareReleaseInfo | IBLEFirmwareReleaseInfo)[], currentVersion: string) => IDeviceFirmwareStatus;
|
|
3
|
+
export declare const getReleaseChangelog: (releases: (IFirmwareReleaseInfo | IBLEFirmwareReleaseInfo)[], currentVersion: string) => IFirmwareReleaseInfo['changelog'][];
|
|
4
|
+
//# sourceMappingURL=release.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/utils/release.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhG,eAAO,MAAM,gBAAgB,aACjB,CAAC,oBAAoB,GAAG,uBAAuB,CAAC,EAAE,kBAC5C,MAAM,KACrB,qBASF,CAAC;AAEF,eAAO,MAAM,mBAAmB,aACpB,CAAC,oBAAoB,GAAG,uBAAuB,CAAC,EAAE,kBAC5C,MAAM,KACrB,oBAAoB,CAAC,WAAW,CAAC,EAGnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/hd-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"author": "OneKey",
|
|
6
6
|
"homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@onekeyfe/hd-transport": "^0.1.
|
|
28
|
+
"@onekeyfe/hd-transport": "^0.1.3",
|
|
29
29
|
"axios": "^0.27.2",
|
|
30
30
|
"bignumber.js": "^9.0.2",
|
|
31
31
|
"parse-uri": "^1.0.7",
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
"@types/parse-uri": "^1.0.0",
|
|
36
36
|
"@types/semver": "^7.3.9"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "64411d3cac440d142574f8aa30c9d60204d47c2c"
|
|
39
39
|
}
|
|
@@ -11,7 +11,13 @@ export default class CheckBLEFirmwareRelease extends BaseMethod {
|
|
|
11
11
|
run() {
|
|
12
12
|
if (this.device.features) {
|
|
13
13
|
const firmwareStatus = DataManager.getBLEFirmwareStatus(this.device.features);
|
|
14
|
-
|
|
14
|
+
const changelog = DataManager.getBleFirmwareChangelog(this.device.features);
|
|
15
|
+
const release = DataManager.getBleFirmwareLeatestRelease(this.device.features);
|
|
16
|
+
return Promise.resolve({
|
|
17
|
+
status: firmwareStatus,
|
|
18
|
+
changelog,
|
|
19
|
+
release,
|
|
20
|
+
});
|
|
15
21
|
}
|
|
16
22
|
return Promise.resolve(null);
|
|
17
23
|
}
|
|
@@ -8,7 +8,13 @@ export default class CheckFirmwareRelease extends BaseMethod {
|
|
|
8
8
|
run() {
|
|
9
9
|
if (this.device.features) {
|
|
10
10
|
const firmwareStatus = DataManager.getFirmwareStatus(this.device.features);
|
|
11
|
-
|
|
11
|
+
const changelog = DataManager.getFirmwareChangelog(this.device.features);
|
|
12
|
+
const release = DataManager.getFirmwareLeatestRelease(this.device.features);
|
|
13
|
+
return Promise.resolve({
|
|
14
|
+
status: firmwareStatus,
|
|
15
|
+
changelog,
|
|
16
|
+
release,
|
|
17
|
+
});
|
|
12
18
|
}
|
|
13
19
|
return Promise.resolve(null);
|
|
14
20
|
}
|
package/src/constants/errors.ts
CHANGED
|
@@ -11,6 +11,7 @@ export const ERROR_CODES = {
|
|
|
11
11
|
Device_UnexpectedMode: '',
|
|
12
12
|
Device_CallInProgress: '',
|
|
13
13
|
Device_InitializeFailed: '',
|
|
14
|
+
Device_Interrupted: 'The device is performing other operations',
|
|
14
15
|
Not_Use_Onekey_Device: 'Please use onekey device',
|
|
15
16
|
|
|
16
17
|
// runtime error
|
package/src/core/index.ts
CHANGED
|
@@ -41,6 +41,8 @@ let _uiPromises: UiPromise<UiPromiseResponse['type']>[] = []; // Waiting for ui
|
|
|
41
41
|
let _callPromise: Deferred<any> | undefined;
|
|
42
42
|
const callApiQueue = [];
|
|
43
43
|
|
|
44
|
+
const deviceCacheMap = new Map<string, Device>();
|
|
45
|
+
|
|
44
46
|
export const callAPI = async (message: CoreMessage) => {
|
|
45
47
|
if (!message.id || !message.payload || message.type !== IFRAME.CALL) {
|
|
46
48
|
return Promise.reject(
|
|
@@ -250,11 +252,32 @@ function initDeviceForBle(method: BaseMethod) {
|
|
|
250
252
|
return initDevice(method);
|
|
251
253
|
}
|
|
252
254
|
|
|
253
|
-
|
|
255
|
+
let device: Device;
|
|
256
|
+
if (deviceCacheMap.has(method.connectId)) {
|
|
257
|
+
device = deviceCacheMap.get(method.connectId) as Device;
|
|
258
|
+
} else {
|
|
259
|
+
device = Device.fromDescriptor({ id: method.connectId } as OneKeyDeviceInfo);
|
|
260
|
+
deviceCacheMap.set(method.connectId, device);
|
|
261
|
+
}
|
|
254
262
|
device.deviceConnector = _connector;
|
|
255
263
|
return device;
|
|
256
264
|
}
|
|
257
265
|
|
|
266
|
+
export const cancel = (connectId?: string) => {
|
|
267
|
+
const env = DataManager.getSettings('env');
|
|
268
|
+
if (connectId) {
|
|
269
|
+
let device;
|
|
270
|
+
if (env === 'react-native') {
|
|
271
|
+
device = initDeviceForBle({ connectId } as BaseMethod);
|
|
272
|
+
} else {
|
|
273
|
+
device = initDevice({ connectId } as BaseMethod);
|
|
274
|
+
}
|
|
275
|
+
device?.interruption();
|
|
276
|
+
}
|
|
277
|
+
cleanup();
|
|
278
|
+
closePopup();
|
|
279
|
+
};
|
|
280
|
+
|
|
258
281
|
const cleanup = () => {
|
|
259
282
|
_uiPromises = [];
|
|
260
283
|
Log.debug('Cleanup...');
|
|
@@ -346,6 +369,10 @@ export default class Core extends EventEmitter {
|
|
|
346
369
|
const response = await callAPI(message);
|
|
347
370
|
return response;
|
|
348
371
|
}
|
|
372
|
+
case IFRAME.CANCEL: {
|
|
373
|
+
cancel(message.payload.connectId);
|
|
374
|
+
break;
|
|
375
|
+
}
|
|
349
376
|
default:
|
|
350
377
|
break;
|
|
351
378
|
}
|