@onekeyfe/hd-core 0.2.52 → 0.2.54

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,qBAqDlC,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
@@ -776,6 +776,9 @@ const getDeviceModel = (features) => {
776
776
  if (!features || typeof features !== 'object') {
777
777
  return 'model_mini';
778
778
  }
779
+ if (!features.model) {
780
+ return 'model_mini';
781
+ }
779
782
  if (features.model === '1') {
780
783
  return 'model_mini';
781
784
  }
@@ -847,7 +850,7 @@ const getDeviceBLEFirmwareVersion = (features) => {
847
850
  const getDeviceBootloaderVersion = (features) => {
848
851
  const deviceType = getDeviceType(features);
849
852
  if (!features.bootloader_version) {
850
- if (deviceType === 'classic' && features.bootloader_mode) {
853
+ if ((deviceType === 'classic' || deviceType === 'mini') && features.bootloader_mode) {
851
854
  return [features.major_version, features.minor_version, features.patch_version];
852
855
  }
853
856
  return [0, 0, 0];
@@ -914,7 +917,7 @@ const getFirmwareUpdateField = (features, updateType) => {
914
917
  if (updateType === 'ble') {
915
918
  return 'ble';
916
919
  }
917
- if (deviceType === 'classic') {
920
+ if (deviceType === 'classic' || deviceType === 'mini') {
918
921
  return 'firmware-v2';
919
922
  }
920
923
  if (deviceType === 'touch') {
@@ -10992,10 +10995,9 @@ function checkNeedUpdateBootForTouch(features) {
10992
10995
  semver__default["default"].gte(currentVersion, '4.1.0') &&
10993
10996
  semver__default["default"].lte(bootloaderVersion, targetBootloaderVersion.join('.')));
10994
10997
  }
10995
- function checkNeedUpdateBootForClassic(features, willUpdateFirmware) {
10996
- console.log('checkNeedUpdateBootForClassiccheckNeedUpdateBootForClassic');
10998
+ function checkNeedUpdateBootForClassicAndMini(features, willUpdateFirmware) {
10997
10999
  const deviceType = getDeviceType(features);
10998
- if (deviceType !== 'classic')
11000
+ if (!(deviceType === 'classic' || deviceType === 'mini'))
10999
11001
  return false;
11000
11002
  if (!willUpdateFirmware)
11001
11003
  return false;
@@ -11576,7 +11578,7 @@ DataManager.getBootloaderTargetVersion = (features) => {
11576
11578
  DataManager.getBootloaderRelatedFirmwareVersion = (features) => {
11577
11579
  var _b, _c, _d, _e;
11578
11580
  const deviceType = getDeviceType(features);
11579
- if (deviceType !== 'classic')
11581
+ if (!(deviceType === 'classic' || deviceType === 'mini'))
11580
11582
  return undefined;
11581
11583
  const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware');
11582
11584
  const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b[firmwareUpdateField]) !== null && _c !== void 0 ? _c : [];
@@ -12983,8 +12985,8 @@ class CheckBootloaderRelease extends BaseMethod {
12983
12985
  const { features } = this.device;
12984
12986
  const deviceType = getDeviceType(features);
12985
12987
  let shouldUpdate = false;
12986
- if (deviceType === 'classic') {
12987
- shouldUpdate = !!checkNeedUpdateBootForClassic(features, this.payload.willUpdateFirmwareVersion);
12988
+ if (deviceType === 'classic' || deviceType === 'mini') {
12989
+ shouldUpdate = !!checkNeedUpdateBootForClassicAndMini(features, this.payload.willUpdateFirmwareVersion);
12988
12990
  }
12989
12991
  else if (deviceType === 'touch') {
12990
12992
  shouldUpdate = checkNeedUpdateBootForTouch(features);
@@ -13511,7 +13513,7 @@ class DeviceWipe extends BaseMethod {
13511
13513
  }
13512
13514
 
13513
13515
  const getBinary = ({ features, updateType, version, isUpdateBootloader, }) => __awaiter(void 0, void 0, void 0, function* () {
13514
- const releaseInfo = getInfo({ features, updateType });
13516
+ const releaseInfo = getInfo({ features, updateType, targetVersion: version === null || version === void 0 ? void 0 : version.join('.') });
13515
13517
  if (!releaseInfo) {
13516
13518
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'no firmware found for this device');
13517
13519
  }
@@ -13548,11 +13550,20 @@ const getSysResourceBinary = (url) => __awaiter(void 0, void 0, void 0, function
13548
13550
  binary: fw,
13549
13551
  };
13550
13552
  });
13551
- const getInfo = ({ features, updateType }) => {
13553
+ const getInfo = ({ features, updateType, targetVersion }) => {
13552
13554
  var _a, _b;
13553
13555
  const deviceType = getDeviceType(features);
13554
13556
  const { deviceMap } = DataManager;
13555
- 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);
13556
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 : [];
13557
13568
  return findLatestRelease(releaseInfo);
13558
13569
  };
@@ -13614,6 +13625,9 @@ const uploadFirmware = (updateType, typedCall, postMessage, device, { payload })
13614
13625
  response = yield typedCall('FirmwareUpload', ['FirmwareRequest', 'Success'], {
13615
13626
  payload: chunk,
13616
13627
  });
13628
+ if (response.type === 'CallMethodError') {
13629
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'upload firmware error');
13630
+ }
13617
13631
  }
13618
13632
  postProgressMessage(device, 100, postMessage);
13619
13633
  yield waitBleInstall(updateType);
@@ -19812,7 +19826,7 @@ exports.RESPONSE_EVENT = RESPONSE_EVENT;
19812
19826
  exports.UI_EVENT = UI_EVENT;
19813
19827
  exports.UI_REQUEST = UI_REQUEST$1;
19814
19828
  exports.UI_RESPONSE = UI_RESPONSE;
19815
- exports.checkNeedUpdateBootForClassic = checkNeedUpdateBootForClassic;
19829
+ exports.checkNeedUpdateBootForClassicAndMini = checkNeedUpdateBootForClassicAndMini;
19816
19830
  exports.checkNeedUpdateBootForTouch = checkNeedUpdateBootForTouch;
19817
19831
  exports.corsValidator = corsValidator;
19818
19832
  exports.createDeviceMessage = createDeviceMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"deviceFeaturesUtils.d.ts","sourceRoot":"","sources":["../../src/utils/deviceFeaturesUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,cAAc,4EAA0B,YAUpD,CAAC;AAEF,eAAO,MAAM,aAAa,4EAA0B,WAUnD,CAAC;AAEF,eAAO,MAAM,yBAAyB,4EAA0B,WACvC,CAAC;AAE1B,eAAO,MAAM,sBAAsB,iCAAoB,WAAW,GAAG,IAKpE,CAAC;AAEF,eAAO,MAAM,uBAAuB,qCAAwB,WAQ3D,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,QAAQ,WAM/C,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,QAAQ,WAOhD,CAAC;AAKF,eAAO,MAAM,wBAAwB,aAAc,QAAQ,GAAG,SAAS,kBAOtE,CAAC;AAKF,eAAO,MAAM,2BAA2B,aAAc,QAAQ,KAAG,aAAa,GAAG,IAQhF,CAAC;AAEF,eAAO,MAAM,0BAA0B,aAAc,QAAQ,kBAY5D,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,QAAQ,KAAG,kBAU9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,4EAA0B,kBAW1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAoB,QAAQ,YAAY,cAAc,4BAUpF,CAAC;AAEF,eAAO,MAAM,qBAAqB,4EAA0B,OAU3D,CAAC;AAEF,eAAO,MAAM,uBAAuB,4EAA0B,kBAU7D,CAAC;AAKF,eAAO,MAAM,sBAAsB,aAAc,QAAQ,cAAc,UAAU,GAAG,KAAK,uDAgBxF,CAAC"}
1
+ {"version":3,"file":"deviceFeaturesUtils.d.ts","sourceRoot":"","sources":["../../src/utils/deviceFeaturesUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,cAAc,4EAA0B,YAcpD,CAAC;AAEF,eAAO,MAAM,aAAa,4EAA0B,WAUnD,CAAC;AAEF,eAAO,MAAM,yBAAyB,4EAA0B,WACvC,CAAC;AAE1B,eAAO,MAAM,sBAAsB,iCAAoB,WAAW,GAAG,IAKpE,CAAC;AAEF,eAAO,MAAM,uBAAuB,qCAAwB,WAQ3D,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,QAAQ,WAM/C,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,QAAQ,WAOhD,CAAC;AAKF,eAAO,MAAM,wBAAwB,aAAc,QAAQ,GAAG,SAAS,kBAOtE,CAAC;AAKF,eAAO,MAAM,2BAA2B,aAAc,QAAQ,KAAG,aAAa,GAAG,IAQhF,CAAC;AAEF,eAAO,MAAM,0BAA0B,aAAc,QAAQ,kBAY5D,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,QAAQ,KAAG,kBAU9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,4EAA0B,kBAW1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAoB,QAAQ,YAAY,cAAc,4BAUpF,CAAC;AAEF,eAAO,MAAM,qBAAqB,4EAA0B,OAU3D,CAAC;AAEF,eAAO,MAAM,uBAAuB,4EAA0B,kBAU7D,CAAC;AAKF,eAAO,MAAM,sBAAsB,aAAc,QAAQ,cAAc,UAAU,GAAG,KAAK,uDAgBxF,CAAC"}
@@ -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.52",
3
+ "version": "0.2.54",
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.52",
28
- "@onekeyfe/hd-transport": "^0.2.52",
27
+ "@onekeyfe/hd-shared": "^0.2.54",
28
+ "@onekeyfe/hd-transport": "^0.2.54",
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": "a19c24024d7a51271cc02da3681b04f274d641c5"
46
+ "gitHead": "6a241ca2b12d684b9638c808b8c6c822c7f74143"
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';
@@ -23,8 +23,8 @@ export default class CheckBootloaderRelease extends BaseMethod {
23
23
  const { features } = this.device;
24
24
  const deviceType = getDeviceType(features);
25
25
  let shouldUpdate = false;
26
- if (deviceType === 'classic') {
27
- shouldUpdate = !!checkNeedUpdateBootForClassic(
26
+ if (deviceType === 'classic' || deviceType === 'mini') {
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,10 +26,12 @@ 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
- if (deviceType !== 'classic') return false;
34
+ if (!(deviceType === 'classic' || deviceType === 'mini')) return false;
33
35
  if (!willUpdateFirmware) return false;
34
36
  const currentVersion = getDeviceFirmwareVersion(features).join('.');
35
37
  const bootloaderVersion = getDeviceBootloaderVersion(features).join('.');
@@ -98,6 +98,10 @@ export const uploadFirmware = async (
98
98
  response = await typedCall('FirmwareUpload', ['FirmwareRequest', 'Success'], {
99
99
  payload: chunk,
100
100
  });
101
+ // @ts-expect-error
102
+ if (response.type === 'CallMethodError') {
103
+ throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, 'upload firmware error');
104
+ }
101
105
  }
102
106
 
103
107
  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(
@@ -14,6 +14,10 @@ export const getDeviceModel = (features?: Features): IDeviceModel => {
14
14
  return 'model_mini';
15
15
  }
16
16
 
17
+ if (!features.model) {
18
+ return 'model_mini';
19
+ }
20
+
17
21
  if (features.model === '1') {
18
22
  return 'model_mini';
19
23
  }
@@ -98,7 +102,7 @@ export const getDeviceBLEFirmwareVersion = (features: Features): IVersionArray |
98
102
  export const getDeviceBootloaderVersion = (features: Features): IVersionArray => {
99
103
  const deviceType = getDeviceType(features);
100
104
  if (!features.bootloader_version) {
101
- if (deviceType === 'classic' && features.bootloader_mode) {
105
+ if ((deviceType === 'classic' || deviceType === 'mini') && features.bootloader_mode) {
102
106
  return [features.major_version, features.minor_version, features.patch_version];
103
107
  }
104
108
  return [0, 0, 0];
@@ -180,7 +184,7 @@ export const getFirmwareUpdateField = (features: Features, updateType: 'firmware
180
184
  return 'ble';
181
185
  }
182
186
 
183
- if (deviceType === 'classic') {
187
+ if (deviceType === 'classic' || deviceType === 'mini') {
184
188
  return 'firmware-v2';
185
189
  }
186
190
 
@@ -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';