@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.
- package/dist/api/firmware/getBinary.d.ts +2 -1
- package/dist/api/firmware/getBinary.d.ts.map +1 -1
- package/dist/api/firmware/updateBootloader.d.ts +1 -1
- package/dist/api/firmware/updateBootloader.d.ts.map +1 -1
- package/dist/api/firmware/uploadFirmware.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +26 -12
- package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/api/CheckBootloaderRelease.ts +3 -3
- package/src/api/firmware/getBinary.ts +14 -3
- package/src/api/firmware/updateBootloader.ts +5 -3
- package/src/api/firmware/uploadFirmware.ts +4 -0
- package/src/data-manager/DataManager.ts +1 -1
- package/src/utils/deviceFeaturesUtils.ts +6 -2
- package/src/utils/index.ts +1 -1
|
@@ -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;
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
10996
|
-
console.log('checkNeedUpdateBootForClassiccheckNeedUpdateBootForClassic');
|
|
10998
|
+
function checkNeedUpdateBootForClassicAndMini(features, willUpdateFirmware) {
|
|
10997
10999
|
const deviceType = getDeviceType(features);
|
|
10998
|
-
if (deviceType
|
|
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
|
|
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 = !!
|
|
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
|
-
|
|
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.
|
|
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,
|
|
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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -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,
|
|
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,
|
|
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.
|
|
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.
|
|
28
|
-
"@onekeyfe/hd-transport": "^0.2.
|
|
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": "
|
|
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
|
-
|
|
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 = !!
|
|
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
|
-
|
|
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
|
|
30
|
-
|
|
29
|
+
export function checkNeedUpdateBootForClassicAndMini(
|
|
30
|
+
features: Features,
|
|
31
|
+
willUpdateFirmware: string
|
|
32
|
+
) {
|
|
31
33
|
const deviceType = getDeviceType(features);
|
|
32
|
-
if (deviceType
|
|
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
|
|
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
|
|
package/src/utils/index.ts
CHANGED
|
@@ -14,7 +14,7 @@ export { getHDPath, getScriptType, getOutputScriptType } from '../api/helpers/pa
|
|
|
14
14
|
|
|
15
15
|
export {
|
|
16
16
|
checkNeedUpdateBootForTouch,
|
|
17
|
-
|
|
17
|
+
checkNeedUpdateBootForClassicAndMini,
|
|
18
18
|
} from '../api/firmware/updateBootloader';
|
|
19
19
|
|
|
20
20
|
export { getLogger, enableLog, LoggerNames, getLog, setLoggerPostMessage } from './logger';
|