@onekeyfe/hd-core 0.2.33 → 0.2.34

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.
@@ -14,6 +14,7 @@ export declare const getBinary: ({ features, updateType, version }: GetBinaryPro
14
14
  fullResource?: string | undefined;
15
15
  fullResourceRange?: string[] | undefined;
16
16
  bootloaderResource?: string | undefined;
17
+ bootloaderVersion?: import("../../types").IVersionArray | undefined;
17
18
  fingerprint: string;
18
19
  version: import("../../types").IVersionArray;
19
20
  changelog: {
@@ -1 +1 @@
1
- {"version":3,"file":"getBinary.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/getBinary.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMvC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;CAChC;AAED,UAAU,cAAe,SAAQ,YAAY;IAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,sCAA6C,cAAc;;;;;;;;;;;;;;EA2BhF,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAe,MAAM;;EAWrD,CAAC;AAEF,eAAO,MAAM,OAAO,6BAA8B,YAAY,2DAO7D,CAAC"}
1
+ {"version":3,"file":"getBinary.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/getBinary.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMvC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;CAChC;AAED,UAAU,cAAe,SAAQ,YAAY;IAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,sCAA6C,cAAc;;;;;;;;;;;;;;;EA2BhF,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAe,MAAM;;EAWrD,CAAC;AAEF,eAAO,MAAM,OAAO,6BAA8B,YAAY,2DAO7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateBootloader.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/updateBootloader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,WAarD"}
1
+ {"version":3,"file":"updateBootloader.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/updateBootloader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQvC,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,WAgBrD"}
@@ -1,4 +1,4 @@
1
- import type { ConnectSettings, DeviceTypeMap, AssetsMap, Features, IDeviceFirmwareStatus, IDeviceBLEFirmwareStatus, ITransportStatus } from '../types';
1
+ import type { ConnectSettings, DeviceTypeMap, AssetsMap, Features, IDeviceFirmwareStatus, IDeviceBLEFirmwareStatus, ITransportStatus, IVersionArray } from '../types';
2
2
  export default class DataManager {
3
3
  static deviceMap: DeviceTypeMap;
4
4
  static assets: AssetsMap | null;
@@ -10,6 +10,7 @@ export default class DataManager {
10
10
  static getSysResourcesLatestRelease: (features: Features, forcedUpdateRes?: boolean | undefined) => string | undefined;
11
11
  static getSysFullResource: (features: Features) => string | undefined;
12
12
  static getBootloaderResource: (features: Features) => string | undefined;
13
+ static getBootloaderTargetVersion: (features: Features) => IVersionArray | undefined;
13
14
  static getFirmwareChangelog: (features: Features) => {
14
15
  "zh-CN": string;
15
16
  "en-US": string;
@@ -1 +1 @@
1
- {"version":3,"file":"DataManager.d.ts","sourceRoot":"","sources":["../../src/data-manager/DataManager.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,SAAS,EAET,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAKlB,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,MAAM,CAAC,SAAS,EAAE,aAAa,CAiB7B;IAEF,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEvC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEjC,MAAM,CAAC,QAAQ,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAEhC;IAEF,MAAM,CAAC,iBAAiB,aAAc,QAAQ,KAAG,qBAAqB,CAepE;IAMF,MAAM,CAAC,4BAA4B,aAAc,QAAQ,+DAgBvD;IAMF,MAAM,CAAC,kBAAkB,aAAc,QAAQ,wBAU7C;IAEF,MAAM,CAAC,qBAAqB,aAAc,QAAQ,wBAShD;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ;;;QAe/C;IAEF,MAAM,CAAC,wBAAwB,aAAc,QAAQ,yDAgBnD;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ,KAAG,wBAAwB,CAY1E;IAEF,MAAM,CAAC,uBAAuB,aAAc,QAAQ;;;QAWlD;IAEF,MAAM,CAAC,2BAA2B,aAAc,QAAQ,4DAItD;IAEF,MAAM,CAAC,kBAAkB,iBAAkB,MAAM,KAAG,gBAAgB,CAKlE;WAEW,IAAI,CAAC,QAAQ,EAAE,eAAe;IAwB3C,MAAM,CAAC,mBAAmB;IAI1B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,eAAe;IAEpD,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;CAShF"}
1
+ {"version":3,"file":"DataManager.d.ts","sourceRoot":"","sources":["../../src/data-manager/DataManager.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,SAAS,EAET,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACd,MAAM,UAAU,CAAC;AAKlB,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,MAAM,CAAC,SAAS,EAAE,aAAa,CAiB7B;IAEF,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEvC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEjC,MAAM,CAAC,QAAQ,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAEhC;IAEF,MAAM,CAAC,iBAAiB,aAAc,QAAQ,KAAG,qBAAqB,CAepE;IAMF,MAAM,CAAC,4BAA4B,aAAc,QAAQ,+DAgBvD;IAMF,MAAM,CAAC,kBAAkB,aAAc,QAAQ,wBAU7C;IAEF,MAAM,CAAC,qBAAqB,aAAc,QAAQ,wBAShD;IAEF,MAAM,CAAC,0BAA0B,aAAc,QAAQ,KAAG,aAAa,GAAG,SAAS,CASjF;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ;;;QAe/C;IAEF,MAAM,CAAC,wBAAwB,aAAc,QAAQ,yDAgBnD;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ,KAAG,wBAAwB,CAY1E;IAEF,MAAM,CAAC,uBAAuB,aAAc,QAAQ;;;QAWlD;IAEF,MAAM,CAAC,2BAA2B,aAAc,QAAQ,4DAItD;IAEF,MAAM,CAAC,kBAAkB,iBAAkB,MAAM,KAAG,gBAAgB,CAKlE;WAEW,IAAI,CAAC,QAAQ,EAAE,eAAe;IAwB3C,MAAM,CAAC,mBAAmB;IAI1B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,eAAe;IAEpD,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;CAShF"}
package/dist/index.d.ts CHANGED
@@ -149,6 +149,7 @@ declare type IFirmwareReleaseInfo = {
149
149
  fullResource?: string;
150
150
  fullResourceRange?: string[];
151
151
  bootloaderResource?: string;
152
+ bootloaderVersion?: IVersionArray;
152
153
  fingerprint: string;
153
154
  version: IVersionArray;
154
155
  changelog: {
@@ -2140,6 +2141,7 @@ declare class DataManager {
2140
2141
  static getSysResourcesLatestRelease: (features: Features, forcedUpdateRes?: boolean | undefined) => string | undefined;
2141
2142
  static getSysFullResource: (features: Features) => string | undefined;
2142
2143
  static getBootloaderResource: (features: Features) => string | undefined;
2144
+ static getBootloaderTargetVersion: (features: Features) => IVersionArray | undefined;
2143
2145
  static getFirmwareChangelog: (features: Features) => {
2144
2146
  "zh-CN": string;
2145
2147
  "en-US": string;
package/dist/index.js CHANGED
@@ -10741,15 +10741,106 @@ function patchFeatures(response) {
10741
10741
  return response;
10742
10742
  }
10743
10743
 
10744
+ const pkg = require('../package.json');
10745
+ const getSDKVersion = () => pkg.version;
10746
+ const DEFAULT_DOMAIN = `https://jssdk.onekey.so/${getSDKVersion()}/`;
10747
+
10748
+ const DEFAULT_PRIORITY = 2;
10749
+ const initialSettings = {
10750
+ configSrc: './data/config.json',
10751
+ version: '',
10752
+ debug: false,
10753
+ priority: DEFAULT_PRIORITY,
10754
+ trustedHost: false,
10755
+ connectSrc: DEFAULT_DOMAIN,
10756
+ iframeSrc: `${DEFAULT_DOMAIN}iframe.html`,
10757
+ parentOrigin: typeof window !== 'undefined' && window.location ? window.location.origin : '',
10758
+ supportedBrowser: typeof navigator !== 'undefined' ? !/Trident|MSIE|Edge/.test(navigator.userAgent) : true,
10759
+ env: 'web',
10760
+ lazyLoad: false,
10761
+ timestamp: new Date().getTime(),
10762
+ };
10763
+ const getEnv = () => {
10764
+ if (typeof chrome !== 'undefined' &&
10765
+ chrome.runtime &&
10766
+ typeof chrome.runtime.onConnect !== 'undefined') {
10767
+ return 'webextension';
10768
+ }
10769
+ if (typeof navigator !== 'undefined') {
10770
+ if (typeof navigator.product === 'string' &&
10771
+ navigator.product.toLowerCase() === 'reactnative') {
10772
+ return 'react-native';
10773
+ }
10774
+ const userAgent = navigator.userAgent.toLowerCase();
10775
+ if (userAgent.indexOf(' electron/') > -1) {
10776
+ return 'electron';
10777
+ }
10778
+ }
10779
+ return 'web';
10780
+ };
10781
+ const corsValidator = (url) => {
10782
+ if (typeof url !== 'string')
10783
+ return;
10784
+ if (url.match(/^https:\/\/([A-Za-z0-9\-_]+\.)*onekey\.so\//))
10785
+ return url;
10786
+ if (url.match(/^https?:\/\/localhost:[58][0-9]{3}\//))
10787
+ return url;
10788
+ return url;
10789
+ };
10790
+ const parseConnectSettings = (input = {}) => {
10791
+ const settings = Object.assign({}, initialSettings);
10792
+ if (Object.prototype.hasOwnProperty.call(input, 'debug')) {
10793
+ settings.debug = input.debug;
10794
+ }
10795
+ if (input.isFrame) {
10796
+ settings.parentOrigin = input.parentOrigin;
10797
+ }
10798
+ if (typeof input.connectSrc === 'string') {
10799
+ settings.connectSrc = input.connectSrc;
10800
+ }
10801
+ let globalSrc;
10802
+ if (typeof window !== 'undefined') {
10803
+ globalSrc = window.ONEKEY_CONNECT_SRC;
10804
+ }
10805
+ else if (typeof global !== 'undefined') {
10806
+ globalSrc = global.ONEKEY_CONNECT_SRC;
10807
+ }
10808
+ if (typeof globalSrc === 'string') {
10809
+ settings.connectSrc = corsValidator(globalSrc);
10810
+ settings.debug = true;
10811
+ }
10812
+ const src = settings.connectSrc || DEFAULT_DOMAIN;
10813
+ settings.iframeSrc = `${src}iframe.html`;
10814
+ if (input.transportReconnect) {
10815
+ settings.transportReconnect = input.transportReconnect;
10816
+ }
10817
+ if (input.lazyLoad) {
10818
+ settings.lazyLoad = input.lazyLoad;
10819
+ }
10820
+ if (typeof input.env === 'string') {
10821
+ settings.env = input.env;
10822
+ }
10823
+ else {
10824
+ settings.env = getEnv();
10825
+ }
10826
+ if (input.timestamp) {
10827
+ settings.timestamp = input.timestamp;
10828
+ }
10829
+ return settings;
10830
+ };
10831
+
10744
10832
  function checkNeedUpdateBoot(features) {
10745
10833
  const deviceType = getDeviceType(features);
10746
10834
  if (deviceType !== 'touch')
10747
10835
  return false;
10748
10836
  const currentVersion = getDeviceFirmwareVersion(features).join('.');
10749
10837
  const bootloaderVersion = getDeviceBootloaderVersion(features).join('.');
10838
+ const targetBootloaderVersion = DataManager.getBootloaderTargetVersion(features);
10839
+ if (!targetBootloaderVersion)
10840
+ return false;
10750
10841
  return (semver__default["default"].gte(currentVersion, '3.2.0') &&
10751
10842
  semver__default["default"].gte(currentVersion, '4.1.0') &&
10752
- semver__default["default"].lte(bootloaderVersion, '2.4.0'));
10843
+ semver__default["default"].lte(bootloaderVersion, targetBootloaderVersion.join('.')));
10753
10844
  }
10754
10845
 
10755
10846
  const LOG_EVENT = 'LOG_EVENT';
@@ -11275,6 +11366,16 @@ DataManager.getBootloaderResource = (features) => {
11275
11366
  const targetDeviceConfig = targetDeviceConfigList.filter(item => !!item.bootloaderResource);
11276
11367
  return (_d = findLatestRelease(targetDeviceConfig)) === null || _d === void 0 ? void 0 : _d.bootloaderResource;
11277
11368
  };
11369
+ DataManager.getBootloaderTargetVersion = (features) => {
11370
+ var _b, _c, _d, _e;
11371
+ const deviceType = getDeviceType(features);
11372
+ if (deviceType !== 'pro' && deviceType !== 'touch')
11373
+ return undefined;
11374
+ const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware');
11375
+ const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b[firmwareUpdateField]) !== null && _c !== void 0 ? _c : [];
11376
+ const targetDeviceConfig = targetDeviceConfigList.filter(item => !!item.bootloaderResource);
11377
+ return (_e = (_d = targetDeviceConfig === null || targetDeviceConfig === void 0 ? void 0 : targetDeviceConfig[0]) === null || _d === void 0 ? void 0 : _d.bootloaderVersion) !== null && _e !== void 0 ? _e : undefined;
11378
+ };
11278
11379
  DataManager.getFirmwareChangelog = (features) => {
11279
11380
  var _b, _c;
11280
11381
  const deviceType = getDeviceType(features);
@@ -11946,94 +12047,6 @@ const UI_REQUEST = {
11946
12047
  FIRMWARE_TIP: 'ui-firmware-tip',
11947
12048
  };
11948
12049
 
11949
- const pkg = require('../package.json');
11950
- const getSDKVersion = () => pkg.version;
11951
- const DEFAULT_DOMAIN = `https://jssdk.onekey.so/${getSDKVersion()}/`;
11952
-
11953
- const DEFAULT_PRIORITY = 2;
11954
- const initialSettings = {
11955
- configSrc: './data/config.json',
11956
- version: '',
11957
- debug: false,
11958
- priority: DEFAULT_PRIORITY,
11959
- trustedHost: false,
11960
- connectSrc: DEFAULT_DOMAIN,
11961
- iframeSrc: `${DEFAULT_DOMAIN}iframe.html`,
11962
- parentOrigin: typeof window !== 'undefined' && window.location ? window.location.origin : '',
11963
- supportedBrowser: typeof navigator !== 'undefined' ? !/Trident|MSIE|Edge/.test(navigator.userAgent) : true,
11964
- env: 'web',
11965
- lazyLoad: false,
11966
- timestamp: new Date().getTime(),
11967
- };
11968
- const getEnv = () => {
11969
- if (typeof chrome !== 'undefined' &&
11970
- chrome.runtime &&
11971
- typeof chrome.runtime.onConnect !== 'undefined') {
11972
- return 'webextension';
11973
- }
11974
- if (typeof navigator !== 'undefined') {
11975
- if (typeof navigator.product === 'string' &&
11976
- navigator.product.toLowerCase() === 'reactnative') {
11977
- return 'react-native';
11978
- }
11979
- const userAgent = navigator.userAgent.toLowerCase();
11980
- if (userAgent.indexOf(' electron/') > -1) {
11981
- return 'electron';
11982
- }
11983
- }
11984
- return 'web';
11985
- };
11986
- const corsValidator = (url) => {
11987
- if (typeof url !== 'string')
11988
- return;
11989
- if (url.match(/^https:\/\/([A-Za-z0-9\-_]+\.)*onekey\.so\//))
11990
- return url;
11991
- if (url.match(/^https?:\/\/localhost:[58][0-9]{3}\//))
11992
- return url;
11993
- return url;
11994
- };
11995
- const parseConnectSettings = (input = {}) => {
11996
- const settings = Object.assign({}, initialSettings);
11997
- if (Object.prototype.hasOwnProperty.call(input, 'debug')) {
11998
- settings.debug = input.debug;
11999
- }
12000
- if (input.isFrame) {
12001
- settings.parentOrigin = input.parentOrigin;
12002
- }
12003
- if (typeof input.connectSrc === 'string') {
12004
- settings.connectSrc = input.connectSrc;
12005
- }
12006
- let globalSrc;
12007
- if (typeof window !== 'undefined') {
12008
- globalSrc = window.ONEKEY_CONNECT_SRC;
12009
- }
12010
- else if (typeof global !== 'undefined') {
12011
- globalSrc = global.ONEKEY_CONNECT_SRC;
12012
- }
12013
- if (typeof globalSrc === 'string') {
12014
- settings.connectSrc = corsValidator(globalSrc);
12015
- settings.debug = true;
12016
- }
12017
- const src = settings.connectSrc || DEFAULT_DOMAIN;
12018
- settings.iframeSrc = `${src}iframe.html`;
12019
- if (input.transportReconnect) {
12020
- settings.transportReconnect = input.transportReconnect;
12021
- }
12022
- if (input.lazyLoad) {
12023
- settings.lazyLoad = input.lazyLoad;
12024
- }
12025
- if (typeof input.env === 'string') {
12026
- settings.env = input.env;
12027
- }
12028
- else {
12029
- settings.env = getEnv();
12030
- }
12031
- if (input.timestamp) {
12032
- settings.timestamp = input.timestamp;
12033
- }
12034
- return settings;
12035
- };
12036
-
12037
12050
  const parseRunOptions = (options) => {
12038
12051
  if (!options)
12039
12052
  options = {};
@@ -25,6 +25,7 @@ export declare type IFirmwareReleaseInfo = {
25
25
  fullResource?: string;
26
26
  fullResourceRange?: string[];
27
27
  bootloaderResource?: string;
28
+ bootloaderVersion?: IVersionArray;
28
29
  fingerprint: string;
29
30
  version: IVersionArray;
30
31
  changelog: {
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/types/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,oBAAY,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oBAAY,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD,oBAAY,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAGxC,oBAAY,oBAAoB,GAAG;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IAEZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE;SACR,CAAC,IAAI,OAAO,GAAG,MAAM;KACvB,CAAC;CACH,CAAC;AAGF,oBAAY,uBAAuB,GAAG;IACpC,QAAQ,EAAE,OAAO,CAAC;IAElB,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE;SACR,CAAC,IAAI,OAAO,GAAG,MAAM;KACvB,CAAC;CACH,CAAC;AAEF,oBAAY,aAAa,GAAG;KACzB,CAAC,IAAI,WAAW,GAAG;QAClB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;QACjC,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACvC,GAAG,EAAE,uBAAuB,EAAE,CAAC;KAChC;CACF,CAAC;AAEF,oBAAY,SAAS,GAAG;IACtB,MAAM,EAAE;QACN,OAAO,EAAE,aAAa,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE;aACR,CAAC,IAAI,OAAO,GAAG,MAAM;SACvB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CAC7B,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/types/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,oBAAY,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oBAAY,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD,oBAAY,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAGxC,oBAAY,oBAAoB,GAAG;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IAEZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE;SACR,CAAC,IAAI,OAAO,GAAG,MAAM;KACvB,CAAC;CACH,CAAC;AAGF,oBAAY,uBAAuB,GAAG;IACpC,QAAQ,EAAE,OAAO,CAAC;IAElB,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE;SACR,CAAC,IAAI,OAAO,GAAG,MAAM;KACvB,CAAC;CACH,CAAC;AAEF,oBAAY,aAAa,GAAG;KACzB,CAAC,IAAI,WAAW,GAAG;QAClB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;QACjC,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACvC,GAAG,EAAE,uBAAuB,EAAE,CAAC;KAChC;CACF,CAAC;AAEF,oBAAY,SAAS,GAAG;IACtB,MAAM,EAAE;QACN,OAAO,EAAE,aAAa,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE;aACR,CAAC,IAAI,OAAO,GAAG,MAAM;SACvB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CAC7B,GAAG,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "0.2.33",
3
+ "version": "0.2.34",
4
4
  "description": "> TODO: description",
5
5
  "author": "OneKey",
6
6
  "homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
@@ -24,8 +24,8 @@
24
24
  "url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
25
25
  },
26
26
  "dependencies": {
27
- "@onekeyfe/hd-shared": "^0.2.33",
28
- "@onekeyfe/hd-transport": "^0.2.33",
27
+ "@onekeyfe/hd-shared": "^0.2.34",
28
+ "@onekeyfe/hd-transport": "^0.2.34",
29
29
  "axios": "^0.27.2",
30
30
  "bignumber.js": "^9.0.2",
31
31
  "jszip": "^3.10.1",
@@ -42,5 +42,5 @@
42
42
  "@types/semver": "^7.3.9",
43
43
  "ripple-keypairs": "^1.1.4"
44
44
  },
45
- "gitHead": "c9180a19c4b3faf1e47ed119ecaa91f35cae27c5"
45
+ "gitHead": "938bb02e6417dd94caaea4719933a33575705add"
46
46
  }
@@ -5,18 +5,22 @@ import {
5
5
  getDeviceBootloaderVersion,
6
6
  getDeviceFirmwareVersion,
7
7
  } from '../../utils/deviceFeaturesUtils';
8
+ import { DataManager } from '../../data-manager';
8
9
 
9
10
  export function checkNeedUpdateBoot(features: Features) {
10
11
  const deviceType = getDeviceType(features);
11
12
  if (deviceType !== 'touch') return false;
12
13
  const currentVersion = getDeviceFirmwareVersion(features).join('.');
13
14
  const bootloaderVersion = getDeviceBootloaderVersion(features).join('.');
15
+ const targetBootloaderVersion = DataManager.getBootloaderTargetVersion(features);
16
+ if (!targetBootloaderVersion) return false;
17
+
14
18
  return (
15
19
  // support ResourceUpdate version 3.2.0
16
20
  semver.gte(currentVersion, '3.2.0') &&
17
21
  // support update bootloader version 4.1.0
18
22
  semver.gte(currentVersion, '4.1.0') &&
19
23
  // target bootloader version
20
- semver.lte(bootloaderVersion, '2.4.0')
24
+ semver.lte(bootloaderVersion, targetBootloaderVersion.join('.'))
21
25
  );
22
26
  }
@@ -18,6 +18,7 @@ import type {
18
18
  IDeviceFirmwareStatus,
19
19
  IDeviceBLEFirmwareStatus,
20
20
  ITransportStatus,
21
+ IVersionArray,
21
22
  } from '../types';
22
23
  import { getReleaseChangelog, getReleaseStatus, findLatestRelease } from '../utils/release';
23
24
 
@@ -117,6 +118,17 @@ export default class DataManager {
117
118
  return findLatestRelease(targetDeviceConfig)?.bootloaderResource;
118
119
  };
119
120
 
121
+ static getBootloaderTargetVersion = (features: Features): IVersionArray | undefined => {
122
+ const deviceType = getDeviceType(features);
123
+
124
+ if (deviceType !== 'pro' && deviceType !== 'touch') return undefined;
125
+ const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware') as FirmwareField;
126
+ const targetDeviceConfigList = this.deviceMap[deviceType]?.[firmwareUpdateField] ?? [];
127
+ const targetDeviceConfig = targetDeviceConfigList.filter(item => !!item.bootloaderResource);
128
+
129
+ return targetDeviceConfig?.[0]?.bootloaderVersion ?? undefined;
130
+ };
131
+
120
132
  static getFirmwareChangelog = (features: Features) => {
121
133
  const deviceType = getDeviceType(features);
122
134
  const deviceFirmwareVersion = getDeviceFirmwareVersion(features);
@@ -33,6 +33,7 @@ export type IFirmwareReleaseInfo = {
33
33
  fullResource?: string;
34
34
  fullResourceRange?: string[];
35
35
  bootloaderResource?: string;
36
+ bootloaderVersion?: IVersionArray;
36
37
  fingerprint: string;
37
38
  version: IVersionArray;
38
39
  changelog: {