@onekeyfe/hd-core 0.2.53 → 0.2.55

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.
@@ -3,6 +3,7 @@ export interface GetInfoProps {
3
3
  features: Features;
4
4
  updateType: 'firmware' | 'ble';
5
5
  isUpdateBootloader?: boolean;
6
+ targetVersion?: string;
6
7
  }
7
8
  interface GetBinaryProps extends GetInfoProps {
8
9
  version?: number[];
@@ -31,6 +32,6 @@ export declare const getBinary: ({ features, updateType, version, isUpdateBootlo
31
32
  export declare const getSysResourceBinary: (url: string) => Promise<{
32
33
  binary: any;
33
34
  }>;
34
- export declare const getInfo: ({ features, updateType }: GetInfoProps) => import("../../types").IFirmwareReleaseInfo | undefined;
35
+ export declare const getInfo: ({ features, updateType, targetVersion }: GetInfoProps) => import("../../types").IFirmwareReleaseInfo | undefined;
35
36
  export {};
36
37
  //# sourceMappingURL=getBinary.d.ts.map
@@ -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;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,cAAe,SAAQ,YAAY;IAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,2DAKnB,cAAc;;;;;;;;;;;;;;;;;;;;EAiChB,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;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,cAAe,SAAQ,YAAY;IAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,2DAKnB,cAAc;;;;;;;;;;;;;;;;;;;;EAiChB,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAe,MAAM;;EAWrD,CAAC;AAEF,eAAO,MAAM,OAAO,4CAA6C,YAAY,2DAiB5E,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Features } from '../../types';
2
2
  export declare function checkNeedUpdateBootForTouch(features: Features): boolean;
3
- export declare function checkNeedUpdateBootForClassic(features: Features, willUpdateFirmware: string): boolean | undefined;
3
+ export declare function checkNeedUpdateBootForClassicAndMini(features: Features, willUpdateFirmware: string): boolean | undefined;
4
4
  export declare function checkBootloaderLength(data: ArrayBuffer): boolean;
5
5
  //# sourceMappingURL=updateBootloader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateBootloader.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/updateBootloader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQvC,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,WAgB7D;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,uBAwB3F;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,WAiBtD"}
1
+ {"version":3,"file":"updateBootloader.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/updateBootloader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQvC,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,WAgB7D;AAED,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,MAAM,uBAwB3B;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,WAiBtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"uploadFirmware.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/uploadFirmware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAU,WAAW,EAA+B,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,6BAA6B,CAAC;AAwCnF,eAAO,MAAM,cAAc,eAAsB,MAAM,kBAKtD,CAAC;AAEF,eAAO,MAAM,cAAc,eACb,UAAU,GAAG,KAAK,aACnB,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,eACD,MAAM,cAAc,qBAiDlC,CAAC;AAmCF,eAAO,MAAM,cAAc,cAAqB,SAAS,YAAY,MAAM,QAAQ,WAAW,qBAY7F,CAAC;AAEF,eAAO,MAAM,eAAe,cACf,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,UACN,WAAW,qBAwBpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAChB,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,UACN,WAAW,qBAQpB,CAAC"}
1
+ {"version":3,"file":"uploadFirmware.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/uploadFirmware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAU,WAAW,EAA+B,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAwB,MAAM,6BAA6B,CAAC;AAwCnF,eAAO,MAAM,cAAc,eAAsB,MAAM,kBAKtD,CAAC;AAEF,eAAO,MAAM,cAAc,eACb,UAAU,GAAG,KAAK,aACnB,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,eACD,MAAM,cAAc,qBA2DlC,CAAC;AAmCF,eAAO,MAAM,cAAc,cAAqB,SAAS,YAAY,MAAM,QAAQ,WAAW,qBAY7F,CAAC;AAEF,eAAO,MAAM,eAAe,cACf,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,UACN,WAAW,qBAwBpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAChB,SAAS,yBACG,WAAW,KAAK,IAAI,UACnC,MAAM,UACN,WAAW,qBAQpB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2156,7 +2156,7 @@ declare const getScriptType: (path: Array<number>) => InputScriptType;
2156
2156
  declare const getOutputScriptType: (path?: number[] | undefined) => ChangeOutputScriptType;
2157
2157
 
2158
2158
  declare function checkNeedUpdateBootForTouch(features: Features): boolean;
2159
- declare function checkNeedUpdateBootForClassic(features: Features, willUpdateFirmware: string): boolean | undefined;
2159
+ declare function checkNeedUpdateBootForClassicAndMini(features: Features, willUpdateFirmware: string): boolean | undefined;
2160
2160
 
2161
2161
  declare type LogMessage = {
2162
2162
  level: string;
@@ -2246,4 +2246,4 @@ declare class DataManager {
2246
2246
 
2247
2247
  declare const HardwareSdk: ({ init, call, dispose, eventEmitter, uiResponse, cancel, }: InjectApi) => CoreApi;
2248
2248
 
2249
- export { AccountAddress, AccountAddresses, AlgoAddress, AlgoGetAddressParams, AlgoSignTransactionParams, AlgoSignedTx, AptosAddress, AptosGetAddressParams, AptosGetPublicKeyParams, AptosMessageSignature, AptosPublicKey, AptosSignMessageParams, AptosSignTransactionParams, AptosSignedTx, AssetsMap, BTCAddress, BTCGetAddressParams, BTCGetPublicKeyParams, BTCPublicKey, BTCSignMessageParams, BTCSignTransactionParams, BTCVerifyMessageParams, BleReleaseInfoEvent, BleReleaseInfoPayload, CORE_EVENT, CallMethod, CallMethodAnyResponse, CallMethodKeys, CallMethodPayload, CallMethodResponse, CallMethodUnion, CardanoAddress, CardanoGetAddressMethodParams, CardanoGetAddressParams, CardanoSignTransaction, CardanoSignedTxData, CipheredKeyValue, CipheredKeyValueParams, CommonParams, ConfluxAddress, ConfluxGetAddressParams, ConfluxSignMessageCIP23Params, ConfluxSignMessageParams, ConfluxSignTransactionParams, ConfluxSignedTx, ConfluxTransaction, ConnectSettings, Core, CoreApi, CoreMessage, CosmosAddress, CosmosGetAddressParams, CosmosGetPublicKeyParams, CosmosPublicKey, CosmosSignTransactionParams, CosmosSignedTx, DEFAULT_PRIORITY, DEVICE, DEVICE_EVENT, DataManager, Device$1 as Device, DeviceButtonRequest, DeviceButtonRequestPayload, DeviceChangePinParams, DeviceConnnectRequest, DeviceDisconnnectRequest, DeviceEvent, DeviceEventListenerFn, DeviceEventMessage, DeviceFeaturesPayload, DeviceFirmwareRange, DeviceFlagsParams, DeviceMode, DeviceRecoveryParams, DeviceResetParams, DeviceSendFeatures, DeviceSendSupportFeatures, DeviceSettingsParams, DeviceStatus, DeviceSupportFeatures, DeviceSupportFeaturesPayload, DeviceTypeMap, DeviceUploadResourceParams, DeviceVerifyParams, DeviceVerifySignature, EVMAccessList, EVMAddress, EVMGetAddressParams, EVMGetPublicKeyParams, EVMPublicKey, EVMSignMessageEIP712Params, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, EVMSignedTx, EVMTransaction, EVMTransactionEIP1559, EVMVerifyMessageParams, EthereumSignTypedDataMessage, EthereumSignTypedDataTypeProperty, EthereumSignTypedDataTypes, FIRMWARE, FIRMWARE_EVENT, Features, FilecoinAddress, FilecoinGetAddressParams, FilecoinSignTransactionParams, FilecoinSignedTx, FirmwareEvent, FirmwareMessage, FirmwareProgress, FirmwareRange, FirmwareRelease$1 as FirmwareRelease, FirmwareTip, FirmwareUpdateBinaryParams, FirmwareUpdateParams, IBLEFirmwareReleaseInfo, IDeviceBLEFirmwareStatus, IDeviceFirmwareStatus, IDeviceModel, IDeviceType, IFRAME, IFirmwareReleaseInfo, IFrameBridge, IFrameCallMessage, IFrameCancelMessage, IFrameEvent, IFrameEventMessage, IFrameInit, ILocale, ITransportStatus, IVersionArray, KaspaAddress, KaspaGetAddressParams, KaspaSignInputParams, KaspaSignOutputParams, KaspaSignTransactionParams, KaspaSignature, KnownDevice, LOG, LOG_EVENT, LogEvent, LogEventMessage, LogOutput, LoggerNames, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, NearAddress, NearGetAddressParams, NearSignTransactionParams, Params, PolkadotAddress, PolkadotGetAddressParams, PolkadotSignTransactionParams, PolkadotSignedTx, PostMessageEvent, PreviousAddressResult, RESPONSE_EVENT, RefTransaction, ReleaseInfo, ReleaseInfoEvent, ReleaseInfoPayload, RemoteConfigResponse, Response, SearchDevice, SignedTransaction, SolanaAddress, SolanaGetAddressParams, SolanaSignTransactionParams, SolanaSignedTx, StarcoinAddress, StarcoinGetAddressParams, StarcoinGetPublicKeyParams, StarcoinPublicKey, StarcoinSignMessageParams, StarcoinSignTransactionParams, StarcoinVerifyMessageParams, StellarAddress, StellarAsset, StellarGetAddressParams, StellarOperation, StellarSignTransactionParams, StellarTransaction, StrictFeatures, Success, SuiAddress, SuiGetAddressParams, SuiGetPublicKeyParams, SuiPublicKey, SuiSignTransactionParams, SuiSignedTx, SupportFeatureType, SupportFeatures, TransactionOptions, TransportReleaseStatus, TronAddress, TronGetAddressParams, TronSignMessageParams, TronSignTransactionParams, TronTransaction, TronTransactionContract, TronTransferContract, TronTriggerSmartContract, UI_EVENT, UI_REQUEST, UI_RESPONSE, UiEvent, UiEventMessage, UiPromise, UiPromiseResponse, UiRequestButton, UiRequestDeviceAction, UiRequestPassphrase, UiRequestPassphraseOnDevice, UiRequestWithoutPayload, UiResponseEvent, UiResponseMessage, UiResponsePassphrase, UiResponsePin, UnavailableCapabilities, UnavailableCapability, Unsuccessful, VersionArray, checkNeedUpdateBootForClassic, checkNeedUpdateBootForTouch, corsValidator, createDeviceMessage, createErrorMessage, createFirmwareMessage, createIFrameMessage, createLogMessage, createResponseMessage, createUiMessage, createUiResponse, HardwareSdk as default, enableLog, getDeviceLabel, getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getEnv, getFirmwareUpdateField, getHDPath, getHomeScreenHex, getLog, getLogger, getOutputScriptType, getSDKVersion, getScriptType, getTimeStamp, httpRequest, init as initCore, isValidVersionArray, isValidVersionString, normalizeVersionArray, parseConnectSettings, parseMessage, patchFeatures, safeThrowError, setLoggerPostMessage, supportInputPinOnSoftware, versionCompare, versionSplit, wait };
2249
+ export { AccountAddress, AccountAddresses, AlgoAddress, AlgoGetAddressParams, AlgoSignTransactionParams, AlgoSignedTx, AptosAddress, AptosGetAddressParams, AptosGetPublicKeyParams, AptosMessageSignature, AptosPublicKey, AptosSignMessageParams, AptosSignTransactionParams, AptosSignedTx, AssetsMap, BTCAddress, BTCGetAddressParams, BTCGetPublicKeyParams, BTCPublicKey, BTCSignMessageParams, BTCSignTransactionParams, BTCVerifyMessageParams, BleReleaseInfoEvent, BleReleaseInfoPayload, CORE_EVENT, CallMethod, CallMethodAnyResponse, CallMethodKeys, CallMethodPayload, CallMethodResponse, CallMethodUnion, CardanoAddress, CardanoGetAddressMethodParams, CardanoGetAddressParams, CardanoSignTransaction, CardanoSignedTxData, CipheredKeyValue, CipheredKeyValueParams, CommonParams, ConfluxAddress, ConfluxGetAddressParams, ConfluxSignMessageCIP23Params, ConfluxSignMessageParams, ConfluxSignTransactionParams, ConfluxSignedTx, ConfluxTransaction, ConnectSettings, Core, CoreApi, CoreMessage, CosmosAddress, CosmosGetAddressParams, CosmosGetPublicKeyParams, CosmosPublicKey, CosmosSignTransactionParams, CosmosSignedTx, DEFAULT_PRIORITY, DEVICE, DEVICE_EVENT, DataManager, Device$1 as Device, DeviceButtonRequest, DeviceButtonRequestPayload, DeviceChangePinParams, DeviceConnnectRequest, DeviceDisconnnectRequest, DeviceEvent, DeviceEventListenerFn, DeviceEventMessage, DeviceFeaturesPayload, DeviceFirmwareRange, DeviceFlagsParams, DeviceMode, DeviceRecoveryParams, DeviceResetParams, DeviceSendFeatures, DeviceSendSupportFeatures, DeviceSettingsParams, DeviceStatus, DeviceSupportFeatures, DeviceSupportFeaturesPayload, DeviceTypeMap, DeviceUploadResourceParams, DeviceVerifyParams, DeviceVerifySignature, EVMAccessList, EVMAddress, EVMGetAddressParams, EVMGetPublicKeyParams, EVMPublicKey, EVMSignMessageEIP712Params, EVMSignMessageParams, EVMSignTransactionParams, EVMSignTypedDataParams, EVMSignedTx, EVMTransaction, EVMTransactionEIP1559, EVMVerifyMessageParams, EthereumSignTypedDataMessage, EthereumSignTypedDataTypeProperty, EthereumSignTypedDataTypes, FIRMWARE, FIRMWARE_EVENT, Features, FilecoinAddress, FilecoinGetAddressParams, FilecoinSignTransactionParams, FilecoinSignedTx, FirmwareEvent, FirmwareMessage, FirmwareProgress, FirmwareRange, FirmwareRelease$1 as FirmwareRelease, FirmwareTip, FirmwareUpdateBinaryParams, FirmwareUpdateParams, IBLEFirmwareReleaseInfo, IDeviceBLEFirmwareStatus, IDeviceFirmwareStatus, IDeviceModel, IDeviceType, IFRAME, IFirmwareReleaseInfo, IFrameBridge, IFrameCallMessage, IFrameCancelMessage, IFrameEvent, IFrameEventMessage, IFrameInit, ILocale, ITransportStatus, IVersionArray, KaspaAddress, KaspaGetAddressParams, KaspaSignInputParams, KaspaSignOutputParams, KaspaSignTransactionParams, KaspaSignature, KnownDevice, LOG, LOG_EVENT, LogEvent, LogEventMessage, LogOutput, LoggerNames, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, NearAddress, NearGetAddressParams, NearSignTransactionParams, Params, PolkadotAddress, PolkadotGetAddressParams, PolkadotSignTransactionParams, PolkadotSignedTx, PostMessageEvent, PreviousAddressResult, RESPONSE_EVENT, RefTransaction, ReleaseInfo, ReleaseInfoEvent, ReleaseInfoPayload, RemoteConfigResponse, Response, SearchDevice, SignedTransaction, SolanaAddress, SolanaGetAddressParams, SolanaSignTransactionParams, SolanaSignedTx, StarcoinAddress, StarcoinGetAddressParams, StarcoinGetPublicKeyParams, StarcoinPublicKey, StarcoinSignMessageParams, StarcoinSignTransactionParams, StarcoinVerifyMessageParams, StellarAddress, StellarAsset, StellarGetAddressParams, StellarOperation, StellarSignTransactionParams, StellarTransaction, StrictFeatures, Success, SuiAddress, SuiGetAddressParams, SuiGetPublicKeyParams, SuiPublicKey, SuiSignTransactionParams, SuiSignedTx, SupportFeatureType, SupportFeatures, TransactionOptions, TransportReleaseStatus, TronAddress, TronGetAddressParams, TronSignMessageParams, TronSignTransactionParams, TronTransaction, TronTransactionContract, TronTransferContract, TronTriggerSmartContract, UI_EVENT, UI_REQUEST, UI_RESPONSE, UiEvent, UiEventMessage, UiPromise, UiPromiseResponse, UiRequestButton, UiRequestDeviceAction, UiRequestPassphrase, UiRequestPassphraseOnDevice, UiRequestWithoutPayload, UiResponseEvent, UiResponseMessage, UiResponsePassphrase, UiResponsePin, UnavailableCapabilities, UnavailableCapability, Unsuccessful, VersionArray, checkNeedUpdateBootForClassicAndMini, checkNeedUpdateBootForTouch, corsValidator, createDeviceMessage, createErrorMessage, createFirmwareMessage, createIFrameMessage, createLogMessage, createResponseMessage, createUiMessage, createUiResponse, HardwareSdk as default, enableLog, getDeviceLabel, getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getEnv, getFirmwareUpdateField, getHDPath, getHomeScreenHex, getLog, getLogger, getOutputScriptType, getSDKVersion, getScriptType, getTimeStamp, httpRequest, init as initCore, isValidVersionArray, isValidVersionString, normalizeVersionArray, parseConnectSettings, parseMessage, patchFeatures, safeThrowError, setLoggerPostMessage, supportInputPinOnSoftware, versionCompare, versionSplit, wait };
package/dist/index.js CHANGED
@@ -850,7 +850,7 @@ const getDeviceBLEFirmwareVersion = (features) => {
850
850
  const getDeviceBootloaderVersion = (features) => {
851
851
  const deviceType = getDeviceType(features);
852
852
  if (!features.bootloader_version) {
853
- if (deviceType === 'classic' && features.bootloader_mode) {
853
+ if ((deviceType === 'classic' || deviceType === 'mini') && features.bootloader_mode) {
854
854
  return [features.major_version, features.minor_version, features.patch_version];
855
855
  }
856
856
  return [0, 0, 0];
@@ -10995,8 +10995,7 @@ function checkNeedUpdateBootForTouch(features) {
10995
10995
  semver__default["default"].gte(currentVersion, '4.1.0') &&
10996
10996
  semver__default["default"].lte(bootloaderVersion, targetBootloaderVersion.join('.')));
10997
10997
  }
10998
- function checkNeedUpdateBootForClassic(features, willUpdateFirmware) {
10999
- console.log('checkNeedUpdateBootForClassiccheckNeedUpdateBootForClassic');
10998
+ function checkNeedUpdateBootForClassicAndMini(features, willUpdateFirmware) {
11000
10999
  const deviceType = getDeviceType(features);
11001
11000
  if (deviceType !== 'classic')
11002
11001
  return false;
@@ -11579,7 +11578,7 @@ DataManager.getBootloaderTargetVersion = (features) => {
11579
11578
  DataManager.getBootloaderRelatedFirmwareVersion = (features) => {
11580
11579
  var _b, _c, _d, _e;
11581
11580
  const deviceType = getDeviceType(features);
11582
- if (deviceType !== 'classic')
11581
+ if (!(deviceType === 'classic' || deviceType === 'mini'))
11583
11582
  return undefined;
11584
11583
  const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware');
11585
11584
  const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b[firmwareUpdateField]) !== null && _c !== void 0 ? _c : [];
@@ -12987,7 +12986,7 @@ class CheckBootloaderRelease extends BaseMethod {
12987
12986
  const deviceType = getDeviceType(features);
12988
12987
  let shouldUpdate = false;
12989
12988
  if (deviceType === 'classic') {
12990
- shouldUpdate = !!checkNeedUpdateBootForClassic(features, this.payload.willUpdateFirmwareVersion);
12989
+ shouldUpdate = !!checkNeedUpdateBootForClassicAndMini(features, this.payload.willUpdateFirmwareVersion);
12991
12990
  }
12992
12991
  else if (deviceType === 'touch') {
12993
12992
  shouldUpdate = checkNeedUpdateBootForTouch(features);
@@ -13514,7 +13513,7 @@ class DeviceWipe extends BaseMethod {
13514
13513
  }
13515
13514
 
13516
13515
  const getBinary = ({ features, updateType, version, isUpdateBootloader, }) => __awaiter(void 0, void 0, void 0, function* () {
13517
- const releaseInfo = getInfo({ features, updateType });
13516
+ const releaseInfo = getInfo({ features, updateType, targetVersion: version === null || version === void 0 ? void 0 : version.join('.') });
13518
13517
  if (!releaseInfo) {
13519
13518
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'no firmware found for this device');
13520
13519
  }
@@ -13551,11 +13550,20 @@ const getSysResourceBinary = (url) => __awaiter(void 0, void 0, void 0, function
13551
13550
  binary: fw,
13552
13551
  };
13553
13552
  });
13554
- const getInfo = ({ features, updateType }) => {
13553
+ const getInfo = ({ features, updateType, targetVersion }) => {
13555
13554
  var _a, _b;
13556
13555
  const deviceType = getDeviceType(features);
13557
13556
  const { deviceMap } = DataManager;
13558
- const firmwareUpdateField = getFirmwareUpdateField(features, updateType);
13557
+ let firmwareUpdateField = getFirmwareUpdateField(features, updateType);
13558
+ if (deviceType === 'touch' && targetVersion) {
13559
+ if (semver__default["default"].eq(targetVersion, '4.0.0')) {
13560
+ firmwareUpdateField = 'firmware-v2';
13561
+ }
13562
+ else if (semver__default["default"].gt(targetVersion, '4.0.0')) {
13563
+ firmwareUpdateField = 'firmware-v3';
13564
+ }
13565
+ }
13566
+ console.log('=====>>>getInfo: ', firmwareUpdateField);
13559
13567
  const releaseInfo = (_b = (_a = deviceMap === null || deviceMap === void 0 ? void 0 : deviceMap[deviceType]) === null || _a === void 0 ? void 0 : _a[firmwareUpdateField]) !== null && _b !== void 0 ? _b : [];
13560
13568
  return findLatestRelease(releaseInfo);
13561
13569
  };
@@ -13591,14 +13599,20 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, { payload })
13591
13599
  postConfirmationMessage(device);
13592
13600
  postProgressTip(device, 'ConfirmOnDevice', postMessage);
13593
13601
  const eraseCommand = updateType === 'firmware' ? 'FirmwareErase' : 'FirmwareErase_ex';
13594
- yield typedCall(eraseCommand, 'Success', {});
13602
+ const eraseRes = yield typedCall(eraseCommand, 'Success', {});
13603
+ if (eraseRes.type !== 'Success') {
13604
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'erase firmware error');
13605
+ }
13595
13606
  postProgressTip(device, 'FirmwareEraseSuccess', postMessage);
13596
13607
  postProgressMessage(device, 0, postMessage);
13597
- const { message } = yield typedCall('FirmwareUpload', 'Success', {
13608
+ const { message, type } = yield typedCall('FirmwareUpload', 'Success', {
13598
13609
  payload,
13599
13610
  });
13600
13611
  postProgressMessage(device, 100, postMessage);
13601
13612
  yield waitBleInstall(updateType);
13613
+ if (type !== 'Success') {
13614
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'install firmware error');
13615
+ }
13602
13616
  return message;
13603
13617
  }
13604
13618
  if (deviceModel === 'model_touch') {
@@ -13617,6 +13631,9 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, { payload })
13617
13631
  response = yield typedCall('FirmwareUpload', ['FirmwareRequest', 'Success'], {
13618
13632
  payload: chunk,
13619
13633
  });
13634
+ if (response.type === 'CallMethodError') {
13635
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'upload firmware error');
13636
+ }
13620
13637
  }
13621
13638
  postProgressMessage(device, 100, postMessage);
13622
13639
  yield waitBleInstall(updateType);
@@ -19815,7 +19832,7 @@ exports.RESPONSE_EVENT = RESPONSE_EVENT;
19815
19832
  exports.UI_EVENT = UI_EVENT;
19816
19833
  exports.UI_REQUEST = UI_REQUEST$1;
19817
19834
  exports.UI_RESPONSE = UI_RESPONSE;
19818
- exports.checkNeedUpdateBootForClassic = checkNeedUpdateBootForClassic;
19835
+ exports.checkNeedUpdateBootForClassicAndMini = checkNeedUpdateBootForClassicAndMini;
19819
19836
  exports.checkNeedUpdateBootForTouch = checkNeedUpdateBootForTouch;
19820
19837
  exports.corsValidator = corsValidator;
19821
19838
  exports.createDeviceMessage = createDeviceMessage;
@@ -3,7 +3,7 @@ export * from './versionUtils';
3
3
  export * from './patch';
4
4
  export { getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getDeviceLabel, getFirmwareUpdateField, supportInputPinOnSoftware, } from './deviceFeaturesUtils';
5
5
  export { getHDPath, getScriptType, getOutputScriptType } from '../api/helpers/pathUtils';
6
- export { checkNeedUpdateBootForTouch, checkNeedUpdateBootForClassic, } from '../api/firmware/updateBootloader';
6
+ export { checkNeedUpdateBootForTouch, checkNeedUpdateBootForClassicAndMini, } from '../api/firmware/updateBootloader';
7
7
  export { getLogger, enableLog, LoggerNames, getLog, setLoggerPostMessage } from './logger';
8
8
  export { getHomeScreenHex } from './homescreen';
9
9
  export declare const wait: (ms: number) => Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,eAAO,MAAM,IAAI,OAAQ,MAAM,qBAG3B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,OAAO,EACL,2BAA2B,EAC3B,oCAAoC,GACrC,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,eAAO,MAAM,IAAI,OAAQ,MAAM,qBAG3B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "0.2.53",
3
+ "version": "0.2.55",
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.53",
28
- "@onekeyfe/hd-transport": "^0.2.53",
27
+ "@onekeyfe/hd-shared": "^0.2.55",
28
+ "@onekeyfe/hd-transport": "^0.2.55",
29
29
  "axios": "^0.27.2",
30
30
  "bignumber.js": "^9.0.2",
31
31
  "bytebuffer": "^5.0.1",
@@ -43,5 +43,5 @@
43
43
  "@types/semver": "^7.3.9",
44
44
  "ripple-keypairs": "^1.1.4"
45
45
  },
46
- "gitHead": "34e3effa06eb1dfe224e51e03be9724ce35fe635"
46
+ "gitHead": "7815dafd6d55e51fda855ff813fb9be6768ed4e9"
47
47
  }
@@ -2,7 +2,7 @@ import { BaseMethod } from './BaseMethod';
2
2
 
3
3
  import { UI_REQUEST } from '../constants/ui-request';
4
4
  import {
5
- checkNeedUpdateBootForClassic,
5
+ checkNeedUpdateBootForClassicAndMini,
6
6
  checkNeedUpdateBootForTouch,
7
7
  } from './firmware/updateBootloader';
8
8
  import { DataManager } from '../data-manager';
@@ -24,7 +24,7 @@ export default class CheckBootloaderRelease extends BaseMethod {
24
24
  const deviceType = getDeviceType(features);
25
25
  let shouldUpdate = false;
26
26
  if (deviceType === 'classic') {
27
- shouldUpdate = !!checkNeedUpdateBootForClassic(
27
+ shouldUpdate = !!checkNeedUpdateBootForClassicAndMini(
28
28
  features,
29
29
  this.payload.willUpdateFirmwareVersion
30
30
  );
@@ -10,6 +10,7 @@ export interface GetInfoProps {
10
10
  features: Features;
11
11
  updateType: 'firmware' | 'ble';
12
12
  isUpdateBootloader?: boolean;
13
+ targetVersion?: string;
13
14
  }
14
15
 
15
16
  interface GetBinaryProps extends GetInfoProps {
@@ -22,7 +23,7 @@ export const getBinary = async ({
22
23
  version,
23
24
  isUpdateBootloader,
24
25
  }: GetBinaryProps) => {
25
- const releaseInfo = getInfo({ features, updateType });
26
+ const releaseInfo = getInfo({ features, updateType, targetVersion: version?.join('.') });
26
27
 
27
28
  if (!releaseInfo) {
28
29
  throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, 'no firmware found for this device');
@@ -69,11 +70,21 @@ export const getSysResourceBinary = async (url: string) => {
69
70
  };
70
71
  };
71
72
 
72
- export const getInfo = ({ features, updateType }: GetInfoProps) => {
73
+ export const getInfo = ({ features, updateType, targetVersion }: GetInfoProps) => {
73
74
  const deviceType = getDeviceType(features);
74
75
  const { deviceMap } = DataManager;
75
76
 
76
- const firmwareUpdateField = getFirmwareUpdateField(features, updateType);
77
+ let firmwareUpdateField: 'firmware' | 'ble' | 'firmware-v2' | 'firmware-v3' =
78
+ getFirmwareUpdateField(features, updateType);
79
+ if (deviceType === 'touch' && targetVersion) {
80
+ if (semver.eq(targetVersion, '4.0.0')) {
81
+ firmwareUpdateField = 'firmware-v2';
82
+ } else if (semver.gt(targetVersion, '4.0.0')) {
83
+ firmwareUpdateField = 'firmware-v3';
84
+ }
85
+ }
86
+
87
+ console.log('=====>>>getInfo: ', firmwareUpdateField);
77
88
  const releaseInfo = deviceMap?.[deviceType]?.[firmwareUpdateField] ?? [];
78
89
  return findLatestRelease(releaseInfo);
79
90
  };
@@ -26,8 +26,10 @@ export function checkNeedUpdateBootForTouch(features: Features) {
26
26
  );
27
27
  }
28
28
 
29
- export function checkNeedUpdateBootForClassic(features: Features, willUpdateFirmware: string) {
30
- console.log('checkNeedUpdateBootForClassiccheckNeedUpdateBootForClassic');
29
+ export function checkNeedUpdateBootForClassicAndMini(
30
+ features: Features,
31
+ willUpdateFirmware: string
32
+ ) {
31
33
  const deviceType = getDeviceType(features);
32
34
  if (deviceType !== 'classic') return false;
33
35
  if (!willUpdateFirmware) return false;
@@ -65,15 +65,21 @@ export const uploadFirmware = async (
65
65
  postConfirmationMessage(device);
66
66
  postProgressTip(device, 'ConfirmOnDevice', postMessage);
67
67
  const eraseCommand = updateType === 'firmware' ? 'FirmwareErase' : 'FirmwareErase_ex';
68
- await typedCall(eraseCommand as unknown as any, 'Success', {});
68
+ const eraseRes = await typedCall(eraseCommand as unknown as any, 'Success', {});
69
+ if (eraseRes.type !== 'Success') {
70
+ throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, 'erase firmware error');
71
+ }
69
72
  postProgressTip(device, 'FirmwareEraseSuccess', postMessage);
70
73
  postProgressMessage(device, 0, postMessage);
71
- const { message } = await typedCall('FirmwareUpload', 'Success', {
74
+ const { message, type } = await typedCall('FirmwareUpload', 'Success', {
72
75
  payload,
73
76
  });
74
77
  postProgressMessage(device, 100, postMessage);
75
78
 
76
79
  await waitBleInstall(updateType);
80
+ if (type !== 'Success') {
81
+ throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, 'install firmware error');
82
+ }
77
83
  return message;
78
84
  }
79
85
 
@@ -98,6 +104,10 @@ export const uploadFirmware = async (
98
104
  response = await typedCall('FirmwareUpload', ['FirmwareRequest', 'Success'], {
99
105
  payload: chunk,
100
106
  });
107
+ // @ts-expect-error
108
+ if (response.type === 'CallMethodError') {
109
+ throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, 'upload firmware error');
110
+ }
101
111
  }
102
112
 
103
113
  postProgressMessage(device, 100, postMessage);
@@ -133,7 +133,7 @@ export default class DataManager {
133
133
  static getBootloaderRelatedFirmwareVersion = (features: Features): IVersionArray | undefined => {
134
134
  const deviceType = getDeviceType(features);
135
135
 
136
- if (deviceType !== 'classic') return undefined;
136
+ if (!(deviceType === 'classic' || deviceType === 'mini')) return undefined;
137
137
  const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware') as FirmwareField;
138
138
  const targetDeviceConfigList = this.deviceMap[deviceType]?.[firmwareUpdateField] ?? [];
139
139
  const targetDeviceConfig = targetDeviceConfigList.filter(
@@ -102,7 +102,7 @@ export const getDeviceBLEFirmwareVersion = (features: Features): IVersionArray |
102
102
  export const getDeviceBootloaderVersion = (features: Features): IVersionArray => {
103
103
  const deviceType = getDeviceType(features);
104
104
  if (!features.bootloader_version) {
105
- if (deviceType === 'classic' && features.bootloader_mode) {
105
+ if ((deviceType === 'classic' || deviceType === 'mini') && features.bootloader_mode) {
106
106
  return [features.major_version, features.minor_version, features.patch_version];
107
107
  }
108
108
  return [0, 0, 0];
@@ -14,7 +14,7 @@ export { getHDPath, getScriptType, getOutputScriptType } from '../api/helpers/pa
14
14
 
15
15
  export {
16
16
  checkNeedUpdateBootForTouch,
17
- checkNeedUpdateBootForClassic,
17
+ checkNeedUpdateBootForClassicAndMini,
18
18
  } from '../api/firmware/updateBootloader';
19
19
 
20
20
  export { getLogger, enableLog, LoggerNames, getLog, setLoggerPostMessage } from './logger';