@onekeyfe/hd-core 0.2.19 → 0.2.21
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/FirmwareUpdateV2.d.ts.map +1 -1
- package/dist/api/firmware/getBinary.d.ts +2 -0
- package/dist/api/firmware/getBinary.d.ts.map +1 -1
- package/dist/data-manager/DataManager.d.ts +1 -2
- package/dist/data-manager/DataManager.d.ts.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +35 -16
- package/dist/types/settings.d.ts +1 -0
- package/dist/types/settings.d.ts.map +1 -1
- package/dist/utils/deviceFeaturesUtils.d.ts +1 -0
- 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/FirmwareUpdateV2.ts +11 -3
- package/src/api/firmware/getBinary.ts +8 -12
- package/src/data-manager/DataManager.ts +8 -12
- package/src/types/settings.ts +1 -0
- package/src/utils/deviceFeaturesUtils.ts +17 -0
- package/src/utils/index.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirmwareUpdateV2.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAIT,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO1C,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,UAAU,CAAC;AAItD,aAAK,MAAM,GAAG;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAIF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,UAAU,CAAC,MAAM,CAAC;IAC9D,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI;IAsCJ,cAAc,YAAa,MAAM,UAS/B;IAEF,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IA6CrD,qBAAqB,CAAC,QAAQ,EAAE,QAAQ;IAUxC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM;IAc9D,gCAAgC,CAAC,QAAQ,CAAC,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"FirmwareUpdateV2.d.ts","sourceRoot":"","sources":["../../src/api/FirmwareUpdateV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAIT,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO1C,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,UAAU,CAAC;AAItD,aAAK,MAAM,GAAG;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAIF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,UAAU,CAAC,MAAM,CAAC;IAC9D,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;IAE1C,IAAI;IAsCJ,cAAc,YAAa,MAAM,UAS/B;IAEF,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IA6CrD,qBAAqB,CAAC,QAAQ,EAAE,QAAQ;IAUxC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM;IAc9D,gCAAgC,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAwB9C,GAAG;CAiGV"}
|
|
@@ -12,6 +12,7 @@ export declare const getBinary: ({ features, updateType, version }: GetBinaryPro
|
|
|
12
12
|
url: string;
|
|
13
13
|
resource?: string | undefined;
|
|
14
14
|
fullResource?: string | undefined;
|
|
15
|
+
fullResourceRange?: string[] | undefined;
|
|
15
16
|
fingerprint: string;
|
|
16
17
|
version: import("../../types").IVersionArray;
|
|
17
18
|
changelog: {
|
|
@@ -22,5 +23,6 @@ export declare const getBinary: ({ features, updateType, version }: GetBinaryPro
|
|
|
22
23
|
export declare const getSysResourceBinary: (url: string) => Promise<{
|
|
23
24
|
binary: any;
|
|
24
25
|
}>;
|
|
26
|
+
export declare const getInfo: ({ features, updateType }: GetInfoProps) => import("../../types").IFirmwareReleaseInfo | undefined;
|
|
25
27
|
export {};
|
|
26
28
|
//# 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,
|
|
1
|
+
{"version":3,"file":"getBinary.d.ts","sourceRoot":"","sources":["../../../src/api/firmware/getBinary.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMvC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC;CAChC;AAED,UAAU,cAAe,SAAQ,YAAY;IAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,sCAA6C,cAAc;;;;;;;;;;;;;EA2BhF,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAe,MAAM;;EAWrD,CAAC;AAEF,eAAO,MAAM,OAAO,6BAA8B,YAAY,2DAO7D,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ConnectSettings, DeviceTypeMap, AssetsMap, Features, IDeviceFirmwareStatus, IDeviceBLEFirmwareStatus, ITransportStatus
|
|
1
|
+
import type { ConnectSettings, DeviceTypeMap, AssetsMap, Features, IDeviceFirmwareStatus, IDeviceBLEFirmwareStatus, ITransportStatus } from '../types';
|
|
2
2
|
export default class DataManager {
|
|
3
3
|
static deviceMap: DeviceTypeMap;
|
|
4
4
|
static assets: AssetsMap | null;
|
|
@@ -6,7 +6,6 @@ export default class DataManager {
|
|
|
6
6
|
static messages: {
|
|
7
7
|
default: JSON;
|
|
8
8
|
};
|
|
9
|
-
static getFirmwareUpdateField: (deviceType: IDeviceType) => "firmware" | "firmware-v2";
|
|
10
9
|
static getFirmwareStatus: (features: Features) => IDeviceFirmwareStatus;
|
|
11
10
|
static getSysResourcesLatestRelease: (features: Features, forcedUpdateRes?: boolean | undefined) => string | undefined;
|
|
12
11
|
static getSysFullResource: (features: Features) => string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataManager.d.ts","sourceRoot":"","sources":["../../src/data-manager/DataManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataManager.d.ts","sourceRoot":"","sources":["../../src/data-manager/DataManager.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,SAAS,EAET,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAKlB,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,MAAM,CAAC,SAAS,EAAE,aAAa,CAiB7B;IAEF,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEvC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEjC,MAAM,CAAC,QAAQ,EAAE;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAEhC;IAEF,MAAM,CAAC,iBAAiB,aAAc,QAAQ,KAAG,qBAAqB,CAepE;IAMF,MAAM,CAAC,4BAA4B,aAAc,QAAQ,+DAgBvD;IAMF,MAAM,CAAC,kBAAkB,aAAc,QAAQ,wBAU7C;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ;;;QAe/C;IAEF,MAAM,CAAC,wBAAwB,aAAc,QAAQ,yDAgBnD;IAEF,MAAM,CAAC,oBAAoB,aAAc,QAAQ,KAAG,wBAAwB,CAY1E;IAEF,MAAM,CAAC,uBAAuB,aAAc,QAAQ;;;QAWlD;IAEF,MAAM,CAAC,2BAA2B,aAAc,QAAQ,4DAItD;IAEF,MAAM,CAAC,kBAAkB,iBAAkB,MAAM,KAAG,gBAAgB,CAKlE;WAEW,IAAI,CAAC,QAAQ,EAAE,eAAe;IAwB3C,MAAM,CAAC,mBAAmB;IAI1B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,eAAe;IAEpD,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;CAShF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -147,6 +147,7 @@ declare type IFirmwareReleaseInfo = {
|
|
|
147
147
|
url: string;
|
|
148
148
|
resource?: string;
|
|
149
149
|
fullResource?: string;
|
|
150
|
+
fullResourceRange?: string[];
|
|
150
151
|
fingerprint: string;
|
|
151
152
|
version: IVersionArray;
|
|
152
153
|
changelog: {
|
|
@@ -2006,6 +2007,7 @@ declare const getDeviceTypeByBleName: (name?: string | undefined) => IDeviceType
|
|
|
2006
2007
|
declare const getDeviceTypeByDeviceId: (deviceId?: string | undefined) => IDeviceType;
|
|
2007
2008
|
declare const getDeviceUUID: (features: Features) => string;
|
|
2008
2009
|
declare const getDeviceLabel: (features: Features) => string;
|
|
2010
|
+
declare const getFirmwareUpdateField: (features: Features, updateType: 'firmware' | 'ble') => "firmware" | "ble" | "firmware-v2";
|
|
2009
2011
|
|
|
2010
2012
|
declare const getHDPath: (path: string) => Array<number>;
|
|
2011
2013
|
declare const getScriptType: (path: Array<number>) => InputScriptType;
|
|
@@ -2071,7 +2073,6 @@ declare class DataManager {
|
|
|
2071
2073
|
static messages: {
|
|
2072
2074
|
default: JSON;
|
|
2073
2075
|
};
|
|
2074
|
-
static getFirmwareUpdateField: (deviceType: IDeviceType) => "firmware" | "firmware-v2";
|
|
2075
2076
|
static getFirmwareStatus: (features: Features) => IDeviceFirmwareStatus;
|
|
2076
2077
|
static getSysResourcesLatestRelease: (features: Features, forcedUpdateRes?: boolean | undefined) => string | undefined;
|
|
2077
2078
|
static getSysFullResource: (features: Features) => string | undefined;
|
|
@@ -2095,4 +2096,4 @@ declare class DataManager {
|
|
|
2095
2096
|
|
|
2096
2097
|
declare const HardwareSdk: ({ init, call, dispose, eventEmitter, uiResponse, cancel, }: InjectApi) => CoreApi;
|
|
2097
2098
|
|
|
2098
|
-
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, 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, PostMessageEvent, 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, corsValidator, createDeviceMessage, createErrorMessage, createFirmwareMessage, createIFrameMessage, createLogMessage, createResponseMessage, createUiMessage, createUiResponse, HardwareSdk as default, enableLog, getDeviceLabel, getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getEnv, getHDPath, getHomeScreenHex, getLog, getLogger, getOutputScriptType, getSDKVersion, getScriptType, getTimeStamp, httpRequest, init as initCore, isValidVersionArray, isValidVersionString, normalizeVersionArray, parseConnectSettings, parseMessage, patchFeatures, safeThrowError, setLoggerPostMessage, versionCompare, versionSplit, wait };
|
|
2099
|
+
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, 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, PostMessageEvent, 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, 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, versionCompare, versionSplit, wait };
|
package/dist/index.js
CHANGED
|
@@ -877,6 +877,19 @@ const supportModifyHomescreen = (features) => {
|
|
|
877
877
|
}
|
|
878
878
|
return { support: semver__default["default"].gte(currentVersion, '3.4.0') };
|
|
879
879
|
};
|
|
880
|
+
const getFirmwareUpdateField = (features, updateType) => {
|
|
881
|
+
const deviceType = getDeviceType(features);
|
|
882
|
+
const deviceFirmwareVersion = getDeviceFirmwareVersion(features);
|
|
883
|
+
if (updateType === 'ble') {
|
|
884
|
+
return 'ble';
|
|
885
|
+
}
|
|
886
|
+
if (deviceType === 'touch') {
|
|
887
|
+
if (semver__default["default"].lt(deviceFirmwareVersion.join('.'), '3.4.0'))
|
|
888
|
+
return 'firmware';
|
|
889
|
+
return 'firmware-v2';
|
|
890
|
+
}
|
|
891
|
+
return 'firmware';
|
|
892
|
+
};
|
|
880
893
|
|
|
881
894
|
var nested = {
|
|
882
895
|
AlgorandGetAddress: {
|
|
@@ -11170,7 +11183,6 @@ DataManager.assets = null;
|
|
|
11170
11183
|
DataManager.messages = {
|
|
11171
11184
|
default: MessagesJSON,
|
|
11172
11185
|
};
|
|
11173
|
-
DataManager.getFirmwareUpdateField = (deviceType) => deviceType === 'touch' ? 'firmware-v2' : 'firmware';
|
|
11174
11186
|
DataManager.getFirmwareStatus = (features) => {
|
|
11175
11187
|
var _b, _c;
|
|
11176
11188
|
const deviceType = getDeviceType(features);
|
|
@@ -11181,7 +11193,7 @@ DataManager.getFirmwareStatus = (features) => {
|
|
|
11181
11193
|
if (deviceType === 'classic' && features.bootloader_mode) {
|
|
11182
11194
|
return 'unknown';
|
|
11183
11195
|
}
|
|
11184
|
-
const firmwareUpdateField =
|
|
11196
|
+
const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware');
|
|
11185
11197
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b[firmwareUpdateField]) !== null && _c !== void 0 ? _c : [];
|
|
11186
11198
|
const currentVersion = deviceFirmwareVersion.join('.');
|
|
11187
11199
|
return getReleaseStatus(targetDeviceConfigList, currentVersion);
|
|
@@ -11192,7 +11204,7 @@ DataManager.getSysResourcesLatestRelease = (features, forcedUpdateRes) => {
|
|
|
11192
11204
|
const deviceFirmwareVersion = getDeviceFirmwareVersion(features);
|
|
11193
11205
|
if (deviceType !== 'pro' && deviceType !== 'touch')
|
|
11194
11206
|
return undefined;
|
|
11195
|
-
const firmwareUpdateField =
|
|
11207
|
+
const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware');
|
|
11196
11208
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b[firmwareUpdateField]) !== null && _c !== void 0 ? _c : [];
|
|
11197
11209
|
const currentVersion = deviceFirmwareVersion.join('.');
|
|
11198
11210
|
const targetDeviceConfig = targetDeviceConfigList.filter(item => forcedUpdateRes
|
|
@@ -11205,7 +11217,7 @@ DataManager.getSysFullResource = (features) => {
|
|
|
11205
11217
|
const deviceType = getDeviceType(features);
|
|
11206
11218
|
if (deviceType !== 'pro' && deviceType !== 'touch')
|
|
11207
11219
|
return undefined;
|
|
11208
|
-
const firmwareUpdateField =
|
|
11220
|
+
const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware');
|
|
11209
11221
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b[firmwareUpdateField]) !== null && _c !== void 0 ? _c : [];
|
|
11210
11222
|
const targetDeviceConfig = targetDeviceConfigList.filter(item => !!item.fullResource);
|
|
11211
11223
|
return (_d = findLatestRelease(targetDeviceConfig)) === null || _d === void 0 ? void 0 : _d.fullResource;
|
|
@@ -11218,7 +11230,7 @@ DataManager.getFirmwareChangelog = (features) => {
|
|
|
11218
11230
|
(deviceType === 'classic' && features.bootloader_mode)) {
|
|
11219
11231
|
return [];
|
|
11220
11232
|
}
|
|
11221
|
-
const firmwareUpdateField =
|
|
11233
|
+
const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware');
|
|
11222
11234
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b[firmwareUpdateField]) !== null && _c !== void 0 ? _c : [];
|
|
11223
11235
|
const currentVersion = deviceFirmwareVersion.join('.');
|
|
11224
11236
|
return getReleaseChangelog(targetDeviceConfigList, currentVersion);
|
|
@@ -11226,7 +11238,7 @@ DataManager.getFirmwareChangelog = (features) => {
|
|
|
11226
11238
|
DataManager.getFirmwareLatestRelease = (features) => {
|
|
11227
11239
|
var _b, _c;
|
|
11228
11240
|
const deviceType = getDeviceType(features);
|
|
11229
|
-
const firmwareUpdateField =
|
|
11241
|
+
const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware');
|
|
11230
11242
|
const targetDeviceConfigList = (_c = (_b = _a.deviceMap[deviceType]) === null || _b === void 0 ? void 0 : _b[firmwareUpdateField]) !== null && _c !== void 0 ? _c : [];
|
|
11231
11243
|
const target = findLatestRelease(targetDeviceConfigList);
|
|
11232
11244
|
if (!target)
|
|
@@ -13136,7 +13148,10 @@ const getBinary = ({ features, updateType, version }) => __awaiter(void 0, void
|
|
|
13136
13148
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'no firmware found for this device');
|
|
13137
13149
|
}
|
|
13138
13150
|
if (version && !semver__default["default"].eq(releaseInfo.version.join('.'), version.join('.'))) {
|
|
13139
|
-
|
|
13151
|
+
const touchWithoutVersion = getDeviceType(features) === 'touch' && !features.onekey_version;
|
|
13152
|
+
if (!touchWithoutVersion) {
|
|
13153
|
+
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'firmware version mismatch');
|
|
13154
|
+
}
|
|
13140
13155
|
}
|
|
13141
13156
|
const url = updateType === 'ble' ? releaseInfo.webUpdate : releaseInfo.url;
|
|
13142
13157
|
let fw;
|
|
@@ -13160,17 +13175,11 @@ const getSysResourceBinary = (url) => __awaiter(void 0, void 0, void 0, function
|
|
|
13160
13175
|
binary: fw,
|
|
13161
13176
|
};
|
|
13162
13177
|
});
|
|
13163
|
-
const getFirmwareUpdateField = (deviceType, updateType) => {
|
|
13164
|
-
if (updateType === 'ble') {
|
|
13165
|
-
return 'ble';
|
|
13166
|
-
}
|
|
13167
|
-
return deviceType === 'touch' ? 'firmware-v2' : 'firmware';
|
|
13168
|
-
};
|
|
13169
13178
|
const getInfo = ({ features, updateType }) => {
|
|
13170
13179
|
var _a, _b;
|
|
13171
13180
|
const deviceType = getDeviceType(features);
|
|
13172
13181
|
const { deviceMap } = DataManager;
|
|
13173
|
-
const firmwareUpdateField = getFirmwareUpdateField(
|
|
13182
|
+
const firmwareUpdateField = getFirmwareUpdateField(features, updateType);
|
|
13174
13183
|
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 : [];
|
|
13175
13184
|
return findLatestRelease(releaseInfo);
|
|
13176
13185
|
};
|
|
@@ -13474,13 +13483,22 @@ class FirmwareUpdateV2 extends BaseMethod {
|
|
|
13474
13483
|
}
|
|
13475
13484
|
checkVersionForCopyTouchResource(features) {
|
|
13476
13485
|
var _a;
|
|
13486
|
+
if (!features)
|
|
13487
|
+
return;
|
|
13477
13488
|
const deviceType = getDeviceType(features);
|
|
13478
13489
|
const currentVersion = getDeviceFirmwareVersion(features).join('.');
|
|
13479
13490
|
const targetVersion = (_a = this.params.version) === null || _a === void 0 ? void 0 : _a.join('.');
|
|
13480
13491
|
const { updateType } = this.params;
|
|
13492
|
+
const releaseInfo = getInfo({ features, updateType });
|
|
13493
|
+
if (!releaseInfo)
|
|
13494
|
+
return;
|
|
13495
|
+
const { fullResourceRange } = releaseInfo;
|
|
13496
|
+
if (!fullResourceRange)
|
|
13497
|
+
return;
|
|
13498
|
+
const [minVersion, limitVersion] = fullResourceRange;
|
|
13481
13499
|
if (deviceType === 'touch' && updateType === 'firmware' && targetVersion) {
|
|
13482
|
-
if (semver__default["default"].lt(currentVersion,
|
|
13483
|
-
semver__default["default"].gte(targetVersion,
|
|
13500
|
+
if (semver__default["default"].lt(currentVersion, minVersion) &&
|
|
13501
|
+
semver__default["default"].gte(targetVersion, limitVersion) &&
|
|
13484
13502
|
this.payload.platform !== 'desktop') {
|
|
13485
13503
|
throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.UseDesktopToUpdateFirmware);
|
|
13486
13504
|
}
|
|
@@ -18559,6 +18577,7 @@ exports.getDeviceTypeByBleName = getDeviceTypeByBleName;
|
|
|
18559
18577
|
exports.getDeviceTypeByDeviceId = getDeviceTypeByDeviceId;
|
|
18560
18578
|
exports.getDeviceUUID = getDeviceUUID;
|
|
18561
18579
|
exports.getEnv = getEnv;
|
|
18580
|
+
exports.getFirmwareUpdateField = getFirmwareUpdateField;
|
|
18562
18581
|
exports.getHDPath = getHDPath;
|
|
18563
18582
|
exports.getHomeScreenHex = getHomeScreenHex;
|
|
18564
18583
|
exports.getLog = getLog;
|
package/dist/types/settings.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/types/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,oBAAY,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oBAAY,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD,oBAAY,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAGxC,oBAAY,oBAAoB,GAAG;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IAEZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE;SACR,CAAC,IAAI,OAAO,GAAG,MAAM;KACvB,CAAC;CACH,CAAC;AAGF,oBAAY,uBAAuB,GAAG;IACpC,QAAQ,EAAE,OAAO,CAAC;IAElB,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE;SACR,CAAC,IAAI,OAAO,GAAG,MAAM;KACvB,CAAC;CACH,CAAC;AAEF,oBAAY,aAAa,GAAG;KACzB,CAAC,IAAI,WAAW,GAAG;QAClB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;QACjC,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACvC,GAAG,EAAE,uBAAuB,EAAE,CAAC;KAChC;CACF,CAAC;AAEF,oBAAY,SAAS,GAAG;IACtB,MAAM,EAAE;QACN,OAAO,EAAE,aAAa,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE;aACR,CAAC,IAAI,OAAO,GAAG,MAAM;SACvB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CAC7B,GAAG,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/types/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,oBAAY,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oBAAY,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD,oBAAY,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAGxC,oBAAY,oBAAoB,GAAG;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IAEZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE;SACR,CAAC,IAAI,OAAO,GAAG,MAAM;KACvB,CAAC;CACH,CAAC;AAGF,oBAAY,uBAAuB,GAAG;IACpC,QAAQ,EAAE,OAAO,CAAC;IAElB,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE;SACR,CAAC,IAAI,OAAO,GAAG,MAAM;KACvB,CAAC;CACH,CAAC;AAEF,oBAAY,aAAa,GAAG;KACzB,CAAC,IAAI,WAAW,GAAG;QAClB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;QACjC,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACvC,GAAG,EAAE,uBAAuB,EAAE,CAAC;KAChC;CACF,CAAC;AAEF,oBAAY,SAAS,GAAG;IACtB,MAAM,EAAE;QACN,OAAO,EAAE,aAAa,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE;aACR,CAAC,IAAI,OAAO,GAAG,MAAM;SACvB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CAC7B,GAAG,aAAa,CAAC"}
|
|
@@ -14,4 +14,5 @@ export declare const supportNewPassphrase: (features?: import("packages/hd-trans
|
|
|
14
14
|
export declare const getPassphraseState: (features: Features, commands: DeviceCommands) => Promise<string | false>;
|
|
15
15
|
export declare const supportBatchPublicKey: (features?: import("packages/hd-transport/dist").Features | undefined) => boolean;
|
|
16
16
|
export declare const supportModifyHomescreen: (features?: import("packages/hd-transport/dist").Features | undefined) => SupportFeatureType;
|
|
17
|
+
export declare const getFirmwareUpdateField: (features: Features, updateType: 'firmware' | 'ble') => "firmware" | "ble" | "firmware-v2";
|
|
17
18
|
//# sourceMappingURL=deviceFeaturesUtils.d.ts.map
|
|
@@ -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,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"}
|
|
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,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,uCAYxF,CAAC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './assets';
|
|
2
2
|
export * from './versionUtils';
|
|
3
3
|
export * from './patch';
|
|
4
|
-
export { getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getDeviceLabel, } from './deviceFeaturesUtils';
|
|
4
|
+
export { getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getDeviceLabel, getFirmwareUpdateField, } from './deviceFeaturesUtils';
|
|
5
5
|
export { getHDPath, getScriptType, getOutputScriptType } from '../api/helpers/pathUtils';
|
|
6
6
|
export { getLogger, enableLog, LoggerNames, getLog, setLoggerPostMessage } from './logger';
|
|
7
7
|
export { getHomeScreenHex } from './homescreen';
|
|
@@ -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,
|
|
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,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,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.21",
|
|
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.21",
|
|
28
|
+
"@onekeyfe/hd-transport": "^0.2.21",
|
|
29
29
|
"axios": "^0.27.2",
|
|
30
30
|
"bignumber.js": "^9.0.2",
|
|
31
31
|
"jszip": "^3.10.1",
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"@types/semver": "^7.3.9",
|
|
43
43
|
"ripple-keypairs": "^1.1.4"
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "9c6e7dbad51e7133b18c8fcb5ff6bd1427bf1765"
|
|
46
46
|
}
|
|
@@ -10,7 +10,7 @@ import { UI_REQUEST } from '../constants/ui-request';
|
|
|
10
10
|
import { BaseMethod } from './BaseMethod';
|
|
11
11
|
import { validateParams } from './helpers/paramsValidator';
|
|
12
12
|
import { DevicePool } from '../device/DevicePool';
|
|
13
|
-
import { getBinary, getSysResourceBinary } from './firmware/getBinary';
|
|
13
|
+
import { getBinary, getInfo, getSysResourceBinary } from './firmware/getBinary';
|
|
14
14
|
import { updateResources, uploadFirmware } from './firmware/uploadFirmware';
|
|
15
15
|
import { getDeviceType, getDeviceUUID, wait, getLogger, LoggerNames } from '../utils';
|
|
16
16
|
import { createUiMessage } from '../events/ui-request';
|
|
@@ -149,14 +149,22 @@ export default class FirmwareUpdateV2 extends BaseMethod<Params> {
|
|
|
149
149
|
* needs to be upgraded via the desktop
|
|
150
150
|
*/
|
|
151
151
|
checkVersionForCopyTouchResource(features?: Features) {
|
|
152
|
+
if (!features) return;
|
|
152
153
|
const deviceType = getDeviceType(features);
|
|
153
154
|
const currentVersion = getDeviceFirmwareVersion(features).join('.');
|
|
154
155
|
const targetVersion = this.params.version?.join('.');
|
|
155
156
|
const { updateType } = this.params;
|
|
157
|
+
|
|
158
|
+
const releaseInfo = getInfo({ features, updateType });
|
|
159
|
+
if (!releaseInfo) return;
|
|
160
|
+
const { fullResourceRange } = releaseInfo;
|
|
161
|
+
if (!fullResourceRange) return;
|
|
162
|
+
|
|
163
|
+
const [minVersion, limitVersion] = fullResourceRange;
|
|
156
164
|
if (deviceType === 'touch' && updateType === 'firmware' && targetVersion) {
|
|
157
165
|
if (
|
|
158
|
-
semver.lt(currentVersion,
|
|
159
|
-
semver.gte(targetVersion,
|
|
166
|
+
semver.lt(currentVersion, minVersion) &&
|
|
167
|
+
semver.gte(targetVersion, limitVersion) &&
|
|
160
168
|
this.payload.platform !== 'desktop'
|
|
161
169
|
) {
|
|
162
170
|
throw ERRORS.TypedError(HardwareErrorCode.UseDesktopToUpdateFirmware);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import semver from 'semver';
|
|
2
2
|
import { ERRORS, HardwareErrorCode } from '@onekeyfe/hd-shared';
|
|
3
|
-
import { Features
|
|
3
|
+
import { Features } from '../../types';
|
|
4
4
|
import { getDeviceType, httpRequest } from '../../utils';
|
|
5
5
|
import { DataManager } from '../../data-manager';
|
|
6
6
|
import { findLatestRelease } from '../../utils/release';
|
|
7
|
+
import { getFirmwareUpdateField } from '../../utils/deviceFeaturesUtils';
|
|
7
8
|
|
|
8
9
|
export interface GetInfoProps {
|
|
9
10
|
features: Features;
|
|
@@ -22,7 +23,10 @@ export const getBinary = async ({ features, updateType, version }: GetBinaryProp
|
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
if (version && !semver.eq(releaseInfo.version.join('.'), version.join('.'))) {
|
|
25
|
-
|
|
26
|
+
const touchWithoutVersion = getDeviceType(features) === 'touch' && !features.onekey_version;
|
|
27
|
+
if (!touchWithoutVersion) {
|
|
28
|
+
throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, 'firmware version mismatch');
|
|
29
|
+
}
|
|
26
30
|
}
|
|
27
31
|
|
|
28
32
|
// @ts-expect-error
|
|
@@ -53,19 +57,11 @@ export const getSysResourceBinary = async (url: string) => {
|
|
|
53
57
|
};
|
|
54
58
|
};
|
|
55
59
|
|
|
56
|
-
const
|
|
57
|
-
if (updateType === 'ble') {
|
|
58
|
-
return 'ble';
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return deviceType === 'touch' ? 'firmware-v2' : 'firmware';
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
const getInfo = ({ features, updateType }: GetInfoProps) => {
|
|
60
|
+
export const getInfo = ({ features, updateType }: GetInfoProps) => {
|
|
65
61
|
const deviceType = getDeviceType(features);
|
|
66
62
|
const { deviceMap } = DataManager;
|
|
67
63
|
|
|
68
|
-
const firmwareUpdateField = getFirmwareUpdateField(
|
|
64
|
+
const firmwareUpdateField = getFirmwareUpdateField(features, updateType);
|
|
69
65
|
const releaseInfo = deviceMap?.[deviceType]?.[firmwareUpdateField] ?? [];
|
|
70
66
|
return findLatestRelease(releaseInfo);
|
|
71
67
|
};
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
getDeviceType,
|
|
7
7
|
getDeviceFirmwareVersion,
|
|
8
8
|
getDeviceBLEFirmwareVersion,
|
|
9
|
+
getFirmwareUpdateField,
|
|
9
10
|
} from '../utils/deviceFeaturesUtils';
|
|
10
11
|
|
|
11
12
|
import type {
|
|
@@ -17,10 +18,11 @@ import type {
|
|
|
17
18
|
IDeviceFirmwareStatus,
|
|
18
19
|
IDeviceBLEFirmwareStatus,
|
|
19
20
|
ITransportStatus,
|
|
20
|
-
IDeviceType,
|
|
21
21
|
} from '../types';
|
|
22
22
|
import { getReleaseChangelog, getReleaseStatus, findLatestRelease } from '../utils/release';
|
|
23
23
|
|
|
24
|
+
type FirmwareField = 'firmware' | 'firmware-v2';
|
|
25
|
+
|
|
24
26
|
export default class DataManager {
|
|
25
27
|
static deviceMap: DeviceTypeMap = {
|
|
26
28
|
classic: {
|
|
@@ -49,12 +51,6 @@ export default class DataManager {
|
|
|
49
51
|
default: MessagesJSON as unknown as JSON,
|
|
50
52
|
};
|
|
51
53
|
|
|
52
|
-
/**
|
|
53
|
-
* Since 3.5.0, Touch uses the firmware-v2 field to get firmware release info
|
|
54
|
-
*/
|
|
55
|
-
static getFirmwareUpdateField = (deviceType: IDeviceType) =>
|
|
56
|
-
deviceType === 'touch' ? 'firmware-v2' : 'firmware';
|
|
57
|
-
|
|
58
54
|
static getFirmwareStatus = (features: Features): IDeviceFirmwareStatus => {
|
|
59
55
|
const deviceType = getDeviceType(features);
|
|
60
56
|
const deviceFirmwareVersion = getDeviceFirmwareVersion(features);
|
|
@@ -66,7 +62,7 @@ export default class DataManager {
|
|
|
66
62
|
return 'unknown';
|
|
67
63
|
}
|
|
68
64
|
|
|
69
|
-
const firmwareUpdateField =
|
|
65
|
+
const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware');
|
|
70
66
|
const targetDeviceConfigList = this.deviceMap[deviceType]?.[firmwareUpdateField] ?? [];
|
|
71
67
|
const currentVersion = deviceFirmwareVersion.join('.');
|
|
72
68
|
return getReleaseStatus(targetDeviceConfigList, currentVersion);
|
|
@@ -82,7 +78,7 @@ export default class DataManager {
|
|
|
82
78
|
|
|
83
79
|
if (deviceType !== 'pro' && deviceType !== 'touch') return undefined;
|
|
84
80
|
|
|
85
|
-
const firmwareUpdateField =
|
|
81
|
+
const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware') as FirmwareField;
|
|
86
82
|
const targetDeviceConfigList = this.deviceMap[deviceType]?.[firmwareUpdateField] ?? [];
|
|
87
83
|
const currentVersion = deviceFirmwareVersion.join('.');
|
|
88
84
|
const targetDeviceConfig = targetDeviceConfigList.filter(item =>
|
|
@@ -103,7 +99,7 @@ export default class DataManager {
|
|
|
103
99
|
|
|
104
100
|
if (deviceType !== 'pro' && deviceType !== 'touch') return undefined;
|
|
105
101
|
|
|
106
|
-
const firmwareUpdateField =
|
|
102
|
+
const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware') as FirmwareField;
|
|
107
103
|
const targetDeviceConfigList = this.deviceMap[deviceType]?.[firmwareUpdateField] ?? [];
|
|
108
104
|
const targetDeviceConfig = targetDeviceConfigList.filter(item => !!item.fullResource);
|
|
109
105
|
|
|
@@ -121,7 +117,7 @@ export default class DataManager {
|
|
|
121
117
|
return [];
|
|
122
118
|
}
|
|
123
119
|
|
|
124
|
-
const firmwareUpdateField =
|
|
120
|
+
const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware') as FirmwareField;
|
|
125
121
|
const targetDeviceConfigList = this.deviceMap[deviceType]?.[firmwareUpdateField] ?? [];
|
|
126
122
|
const currentVersion = deviceFirmwareVersion.join('.');
|
|
127
123
|
return getReleaseChangelog(targetDeviceConfigList, currentVersion);
|
|
@@ -129,7 +125,7 @@ export default class DataManager {
|
|
|
129
125
|
|
|
130
126
|
static getFirmwareLatestRelease = (features: Features) => {
|
|
131
127
|
const deviceType = getDeviceType(features);
|
|
132
|
-
const firmwareUpdateField =
|
|
128
|
+
const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware') as FirmwareField;
|
|
133
129
|
const targetDeviceConfigList = this.deviceMap[deviceType]?.[firmwareUpdateField] ?? [];
|
|
134
130
|
|
|
135
131
|
const target = findLatestRelease(targetDeviceConfigList);
|
package/src/types/settings.ts
CHANGED
|
@@ -155,3 +155,20 @@ export const supportModifyHomescreen = (features?: Features): SupportFeatureType
|
|
|
155
155
|
|
|
156
156
|
return { support: semver.gte(currentVersion, '3.4.0') };
|
|
157
157
|
};
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Since 3.5.0, Touch uses the firmware-v2 field to get firmware release info
|
|
161
|
+
*/
|
|
162
|
+
export const getFirmwareUpdateField = (features: Features, updateType: 'firmware' | 'ble') => {
|
|
163
|
+
const deviceType = getDeviceType(features);
|
|
164
|
+
const deviceFirmwareVersion = getDeviceFirmwareVersion(features);
|
|
165
|
+
if (updateType === 'ble') {
|
|
166
|
+
return 'ble';
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if (deviceType === 'touch') {
|
|
170
|
+
if (semver.lt(deviceFirmwareVersion.join('.'), '3.4.0')) return 'firmware';
|
|
171
|
+
return 'firmware-v2';
|
|
172
|
+
}
|
|
173
|
+
return 'firmware';
|
|
174
|
+
};
|