@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.
@@ -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;IAgB9C,GAAG;CAiGV"}
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,EAAe,MAAM,aAAa,CAAC;AAKpD,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;;;;;;;;;;;;EAwBhF,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAe,MAAM;;EAWrD,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;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, IDeviceType } from '../types';
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":"AAUA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,SAAS,EAET,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,EACZ,MAAM,UAAU,CAAC;AAGlB,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;IAKF,MAAM,CAAC,sBAAsB,eAAgB,WAAW,gCACF;IAEtD,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"}
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 = _a.getFirmwareUpdateField(deviceType);
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 = _a.getFirmwareUpdateField(deviceType);
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 = _a.getFirmwareUpdateField(deviceType);
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 = _a.getFirmwareUpdateField(deviceType);
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 = _a.getFirmwareUpdateField(deviceType);
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
- throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.RuntimeError, 'firmware version mismatch');
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(deviceType, updateType);
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, '3.5.0') &&
13483
- semver__default["default"].gte(targetVersion, '3.5.0') &&
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;
@@ -23,6 +23,7 @@ export declare type IFirmwareReleaseInfo = {
23
23
  url: string;
24
24
  resource?: string;
25
25
  fullResource?: string;
26
+ fullResourceRange?: string[];
26
27
  fingerprint: string;
27
28
  version: IVersionArray;
28
29
  changelog: {
@@ -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"}
@@ -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,GACf,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"}
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.19",
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.19",
28
- "@onekeyfe/hd-transport": "^0.2.19",
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": "85f3cc752e9f40ac4e14e213ea610e66e8942c01"
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, '3.5.0') &&
159
- semver.gte(targetVersion, '3.5.0') &&
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, IDeviceType } from '../../types';
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
- throw ERRORS.TypedError(HardwareErrorCode.RuntimeError, 'firmware version mismatch');
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 getFirmwareUpdateField = (deviceType: IDeviceType, updateType: 'firmware' | 'ble') => {
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(deviceType, updateType);
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 = this.getFirmwareUpdateField(deviceType);
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 = this.getFirmwareUpdateField(deviceType);
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 = this.getFirmwareUpdateField(deviceType);
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 = this.getFirmwareUpdateField(deviceType);
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 = this.getFirmwareUpdateField(deviceType);
128
+ const firmwareUpdateField = getFirmwareUpdateField(features, 'firmware') as FirmwareField;
133
129
  const targetDeviceConfigList = this.deviceMap[deviceType]?.[firmwareUpdateField] ?? [];
134
130
 
135
131
  const target = findLatestRelease(targetDeviceConfigList);
@@ -31,6 +31,7 @@ export type IFirmwareReleaseInfo = {
31
31
  resource?: string;
32
32
  /** Firmware full UI resource */
33
33
  fullResource?: string;
34
+ fullResourceRange?: string[];
34
35
  fingerprint: string;
35
36
  version: IVersionArray;
36
37
  changelog: {
@@ -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
+ };
@@ -7,6 +7,7 @@ export {
7
7
  getDeviceTypeByDeviceId,
8
8
  getDeviceUUID,
9
9
  getDeviceLabel,
10
+ getFirmwareUpdateField,
10
11
  } from './deviceFeaturesUtils';
11
12
  export { getHDPath, getScriptType, getOutputScriptType } from '../api/helpers/pathUtils';
12
13