@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.
- 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 +28 -11
- 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 +2 -2
- package/src/api/firmware/getBinary.ts +14 -3
- package/src/api/firmware/updateBootloader.ts +4 -2
- package/src/api/firmware/uploadFirmware.ts +12 -2
- package/src/data-manager/DataManager.ts +1 -1
- package/src/utils/deviceFeaturesUtils.ts +1 -1
- 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,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
|
|
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
|
@@ -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
|
|
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
|
|
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 = !!
|
|
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
|
-
|
|
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.
|
|
19835
|
+
exports.checkNeedUpdateBootForClassicAndMini = checkNeedUpdateBootForClassicAndMini;
|
|
19819
19836
|
exports.checkNeedUpdateBootForTouch = checkNeedUpdateBootForTouch;
|
|
19820
19837
|
exports.corsValidator = corsValidator;
|
|
19821
19838
|
exports.createDeviceMessage = createDeviceMessage;
|
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.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.
|
|
28
|
-
"@onekeyfe/hd-transport": "^0.2.
|
|
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": "
|
|
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
|
-
|
|
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 = !!
|
|
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,8 +26,10 @@ 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
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
|
|
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];
|
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';
|