@onekeyfe/hd-core 0.3.38 → 0.3.40-alpha.0

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.
@@ -4,7 +4,8 @@ declare enum Networks {
4
4
  Westend = "westend",
5
5
  Kusama = "kusama",
6
6
  Astar = "astar",
7
- JoyStream = "joystream"
7
+ JoyStream = "joystream",
8
+ Manta = "manta"
8
9
  }
9
10
  export default Networks;
10
11
  export declare function getPolkadotVersionRange(network: string): DeviceFirmwareRange;
@@ -1 +1 @@
1
- {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/api/polkadot/networks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,aAAK,QAAQ;IACX,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,SAAS,cAAc;CACxB;AAuBD,eAAe,QAAQ,CAAC;AAExB,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,uBAEtD;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,EAAE;;;;;;;EAKnE"}
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/api/polkadot/networks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,aAAK,QAAQ;IACX,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,KAAK,UAAU;CAChB;AA+BD,eAAe,QAAQ,CAAC;AAExB,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,uBAEtD;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,EAAE;;;;;;;EAQnE"}
package/dist/index.d.ts CHANGED
@@ -2413,6 +2413,8 @@ declare const getDeviceTypeByBleName: (name?: string) => IDeviceType | null;
2413
2413
  declare const getDeviceTypeByDeviceId: (deviceId?: string) => IDeviceType;
2414
2414
  declare const getDeviceUUID: (features: Features) => string;
2415
2415
  declare const getDeviceLabel: (features: Features) => string;
2416
+ declare const getDeviceFirmwareVersion: (features: Features | undefined) => IVersionArray;
2417
+ declare const getDeviceBootloaderVersion: (features: Features) => IVersionArray;
2416
2418
  declare const supportInputPinOnSoftware: (features: Features) => SupportFeatureType;
2417
2419
  declare const getFirmwareUpdateField: ({ features, updateType, targetVersion, }: {
2418
2420
  features: Features;
@@ -2486,4 +2488,4 @@ declare const HardwareSdk: ({ init, call, dispose, eventEmitter, uiResponse, can
2486
2488
  declare const HardwareSDKLowLevel: ({ init, call, dispose, eventEmitter, addHardwareGlobalEventListener, uiResponse, cancel, updateSettings, }: LowLevelInjectApi) => LowLevelCoreApi;
2487
2489
  declare const HardwareTopLevelSdk: () => CoreApi;
2488
2490
 
2489
- 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, DeviceModelToTypes, DeviceRecoveryParams, DeviceResetParams, DeviceSendFeatures, DeviceSendSupportFeatures, DeviceSettingsParams, DeviceStatus, DeviceSupportFeatures, DeviceSupportFeaturesPayload, DeviceTypeMap, DeviceTypeToModels, 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, HardwareSDKLowLevel, HardwareTopLevelSdk, 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, LogBlockEvent, LogEvent, LogEventMessage, LogOutput, LoggerNames, LowLevelCoreApi, LowLevelInjectApi, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, NearAddress, NearGetAddressParams, NearSignTransactionParams, NexaAddress, NexaGetAddressParams, NexaSignInputParams, NexaSignOutputParams, NexaSignTransactionParams, NexaSignature, 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, SuiSignMessageParams, SuiSignTransactionParams, SuiSignedTx, SupportFeatureType, SupportFeatures, TopLevelInjectApi, TransactionOptions, TransportReleaseStatus, TronAddress, TronDelegateResourceContract, TronFreezeBalanceV2Contract, TronGetAddressParams, TronSignMessageParams, TronSignTransactionParams, TronTransaction, TronTransactionContract, TronTransferContract, TronTriggerSmartContract, TronUnDelegateResourceContract, TronUnfreezeBalanceV2Contract, TronWithdrawBalanceContract, TronWithdrawExpireUnfreezeContract, 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, isBleConnect, isValidVersionArray, isValidVersionString, normalizeVersionArray, parseConnectSettings, parseMessage, patchFeatures, safeThrowError, setLoggerPostMessage, supportInputPinOnSoftware, versionCompare, versionSplit, wait };
2491
+ 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, DeviceModelToTypes, DeviceRecoveryParams, DeviceResetParams, DeviceSendFeatures, DeviceSendSupportFeatures, DeviceSettingsParams, DeviceStatus, DeviceSupportFeatures, DeviceSupportFeaturesPayload, DeviceTypeMap, DeviceTypeToModels, 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, HardwareSDKLowLevel, HardwareTopLevelSdk, 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, LogBlockEvent, LogEvent, LogEventMessage, LogOutput, LoggerNames, LowLevelCoreApi, LowLevelInjectApi, MajorVersion, MethodResponseMessage, NEMAddress, NEMAggregateModificationTransaction, NEMGetAddressParams, NEMImportanceTransaction, NEMMosaic, NEMMosaicCreationTransaction, NEMMultisigTransaction, NEMProvisionNamespaceTransaction, NEMSignTransactionParams, NEMSupplyChangeTransaction, NEMTransaction, NEMTransferTransaction, NearAddress, NearGetAddressParams, NearSignTransactionParams, NexaAddress, NexaGetAddressParams, NexaSignInputParams, NexaSignOutputParams, NexaSignTransactionParams, NexaSignature, 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, SuiSignMessageParams, SuiSignTransactionParams, SuiSignedTx, SupportFeatureType, SupportFeatures, TopLevelInjectApi, TransactionOptions, TransportReleaseStatus, TronAddress, TronDelegateResourceContract, TronFreezeBalanceV2Contract, TronGetAddressParams, TronSignMessageParams, TronSignTransactionParams, TronTransaction, TronTransactionContract, TronTransferContract, TronTriggerSmartContract, TronUnDelegateResourceContract, TronUnfreezeBalanceV2Contract, TronWithdrawBalanceContract, TronWithdrawExpireUnfreezeContract, 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, getDeviceBootloaderVersion, getDeviceFirmwareVersion, getDeviceLabel, getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getEnv, getFirmwareUpdateField, getHDPath, getHomeScreenHex, getLog, getLogger, getOutputScriptType, getSDKVersion, getScriptType, getTimeStamp, httpRequest, init as initCore, isBleConnect, isValidVersionArray, isValidVersionString, normalizeVersionArray, parseConnectSettings, parseMessage, patchFeatures, safeThrowError, setLoggerPostMessage, supportInputPinOnSoftware, versionCompare, versionSplit, wait };
package/dist/index.js CHANGED
@@ -23400,8 +23400,10 @@ const getDeviceType = (features) => {
23400
23400
  return 'classic1s';
23401
23401
  case 'MINI':
23402
23402
  return 'mini';
23403
+ case 'TOUCH':
23404
+ return 'touch';
23403
23405
  case 'TOUCH_PRO':
23404
- return 'pro';
23406
+ return 'touch';
23405
23407
  }
23406
23408
  if (!features.serial_no)
23407
23409
  return 'classic';
@@ -23421,6 +23423,8 @@ const getDeviceTypeByBleName = (name) => {
23421
23423
  return 'mini';
23422
23424
  if (name.startsWith('T'))
23423
23425
  return 'touch';
23426
+ if (name.startsWith('P'))
23427
+ return 'touch';
23424
23428
  return 'classic';
23425
23429
  };
23426
23430
  const getDeviceTypeByDeviceId = (deviceId) => {
@@ -23450,16 +23454,19 @@ const getDeviceLabel = (features) => {
23450
23454
  return `My OneKey ${deviceType.charAt(0).toUpperCase() + deviceType.slice(1)}`;
23451
23455
  };
23452
23456
  const getDeviceFirmwareVersion = (features) => {
23453
- var _a, _b, _c;
23457
+ var _a, _b, _c, _d, _e;
23454
23458
  if (!features)
23455
23459
  return [0, 0, 0];
23456
- if (features.onekey_version) {
23457
- return features.onekey_version.split('.');
23460
+ if (semver__default["default"].valid(features.onekey_firmware_version)) {
23461
+ return (_a = features.onekey_firmware_version) === null || _a === void 0 ? void 0 : _a.split('.');
23462
+ }
23463
+ if (semver__default["default"].valid(features.onekey_version)) {
23464
+ return (_b = features.onekey_version) === null || _b === void 0 ? void 0 : _b.split('.');
23458
23465
  }
23459
23466
  return [
23460
- (_a = features.major_version) !== null && _a !== void 0 ? _a : '0',
23461
- (_b = features.minor_version) !== null && _b !== void 0 ? _b : '0',
23462
- (_c = features.patch_version) !== null && _c !== void 0 ? _c : '0',
23467
+ (_c = features.major_version) !== null && _c !== void 0 ? _c : '0',
23468
+ (_d = features.minor_version) !== null && _d !== void 0 ? _d : '0',
23469
+ (_e = features.patch_version) !== null && _e !== void 0 ? _e : '0',
23463
23470
  ];
23464
23471
  };
23465
23472
  const getDeviceBLEFirmwareVersion = (features) => {
@@ -23472,6 +23479,10 @@ const getDeviceBLEFirmwareVersion = (features) => {
23472
23479
  return features.ble_ver.split('.');
23473
23480
  };
23474
23481
  const getDeviceBootloaderVersion = (features) => {
23482
+ var _a, _b;
23483
+ if (semver__default["default"].valid(features.onekey_boot_version)) {
23484
+ return (_a = features.onekey_boot_version) === null || _a === void 0 ? void 0 : _a.split('.');
23485
+ }
23475
23486
  if (!features.bootloader_version) {
23476
23487
  if (features.bootloader_mode) {
23477
23488
  return [features.major_version, features.minor_version, features.patch_version];
@@ -23479,7 +23490,7 @@ const getDeviceBootloaderVersion = (features) => {
23479
23490
  return [0, 0, 0];
23480
23491
  }
23481
23492
  if (semver__default["default"].valid(features.bootloader_version)) {
23482
- return features.bootloader_version.split('.');
23493
+ return (_b = features.bootloader_version) === null || _b === void 0 ? void 0 : _b.split('.');
23483
23494
  }
23484
23495
  return [0, 0, 0];
23485
23496
  };
@@ -31080,6 +31091,7 @@ var Networks;
31080
31091
  Networks["Kusama"] = "kusama";
31081
31092
  Networks["Astar"] = "astar";
31082
31093
  Networks["JoyStream"] = "joystream";
31094
+ Networks["Manta"] = "manta";
31083
31095
  })(Networks || (Networks = {}));
31084
31096
  const baseVersionRange = {
31085
31097
  model_mini: {
@@ -31098,6 +31110,14 @@ const specialVersionRange = {
31098
31110
  min: '4.7.0',
31099
31111
  },
31100
31112
  },
31113
+ [Networks.Manta]: {
31114
+ model_mini: {
31115
+ min: '3.7.0',
31116
+ },
31117
+ model_touch: {
31118
+ min: '4.9.0',
31119
+ },
31120
+ },
31101
31121
  };
31102
31122
  function getPolkadotVersionRange(network) {
31103
31123
  var _a;
@@ -31107,6 +31127,9 @@ function getPolkadotVersionRangeWithBundle(networks) {
31107
31127
  if (networks.includes(Networks.JoyStream)) {
31108
31128
  return specialVersionRange[Networks.JoyStream];
31109
31129
  }
31130
+ if (networks.includes(Networks.Manta)) {
31131
+ return specialVersionRange[Networks.Manta];
31132
+ }
31110
31133
  return baseVersionRange;
31111
31134
  }
31112
31135
 
@@ -32914,6 +32937,8 @@ exports.createUiMessage = createUiMessage;
32914
32937
  exports.createUiResponse = createUiResponse;
32915
32938
  exports["default"] = HardwareSdk;
32916
32939
  exports.enableLog = enableLog;
32940
+ exports.getDeviceBootloaderVersion = getDeviceBootloaderVersion;
32941
+ exports.getDeviceFirmwareVersion = getDeviceFirmwareVersion;
32917
32942
  exports.getDeviceLabel = getDeviceLabel;
32918
32943
  exports.getDeviceType = getDeviceType;
32919
32944
  exports.getDeviceTypeByBleName = getDeviceTypeByBleName;
@@ -1 +1 @@
1
- {"version":3,"file":"deviceFeaturesUtils.d.ts","sourceRoot":"","sources":["../../src/utils/deviceFeaturesUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,aAAa,EACb,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,OAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEzF,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,eAAO,MAAM,cAAc,cAAe,QAAQ,KAAG,YAcpD,CAAC;AAEF,eAAO,MAAM,aAAa,cAAe,QAAQ,KAAG,WA0BnD,CAAC;AAEF,eAAO,MAAM,yBAAyB,cAAe,QAAQ,KAAG,WACvC,CAAC;AAE1B,eAAO,MAAM,sBAAsB,UAAW,MAAM,KAAG,WAAW,GAAG,IAKpE,CAAC;AAGF,eAAO,MAAM,uBAAuB,cAAe,MAAM,KAAG,WAQ3D,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,QAAQ,WAS/C,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,QAAQ,WAOhD,CAAC;AAKF,eAAO,MAAM,wBAAwB,aAAc,QAAQ,GAAG,SAAS,kBAWtE,CAAC;AAKF,eAAO,MAAM,2BAA2B,aAAc,QAAQ,KAAG,aAAa,GAAG,IAQhF,CAAC;AAEF,eAAO,MAAM,0BAA0B,aAAc,QAAQ,kBAW5D,CAAC;AAEF,eAAO,MAAM,wBAAwB,aACzB,QAAQ,GAAG,SAAS,KAC7B;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,cAAc,CAAA;CAiClD,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,QAAQ,KAAG,kBAU9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,cAAe,QAAQ,KAAG,kBAW1D,CAAC;AAEF,eAAO,MAAM,uCAAuC,WAAkB,MAAM,4BAY3E,CAAC;AAEF,eAAO,MAAM,kBAAkB,aACnB,QAAQ,GAAG,SAAS,YACpB,cAAc,4BAgBzB,CAAC;AAEF,eAAO,MAAM,qBAAqB,cAAe,QAAQ,KAAG,OAU3D,CAAC;AAEF,eAAO,MAAM,uBAAuB,cAAe,QAAQ,KAAG,kBAU7D,CAAC;AAKF,eAAO,MAAM,sBAAsB;cAKvB,QAAQ;gBACN,UAAU,GAAG,KAAK;;MAE5B,KAAK,GAAG,aAsBX,CAAC"}
1
+ {"version":3,"file":"deviceFeaturesUtils.d.ts","sourceRoot":"","sources":["../../src/utils/deviceFeaturesUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,aAAa,EACb,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,OAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEzF,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,eAAO,MAAM,cAAc,cAAe,QAAQ,KAAG,YAcpD,CAAC;AAEF,eAAO,MAAM,aAAa,cAAe,QAAQ,KAAG,WA4BnD,CAAC;AAEF,eAAO,MAAM,yBAAyB,cAAe,QAAQ,KAAG,WACvC,CAAC;AAE1B,eAAO,MAAM,sBAAsB,UAAW,MAAM,KAAG,WAAW,GAAG,IAMpE,CAAC;AAGF,eAAO,MAAM,uBAAuB,cAAe,MAAM,KAAG,WAQ3D,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,QAAQ,WAS/C,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,QAAQ,WAOhD,CAAC;AAKF,eAAO,MAAM,wBAAwB,aAAc,QAAQ,GAAG,SAAS,kBActE,CAAC;AAKF,eAAO,MAAM,2BAA2B,aAAc,QAAQ,KAAG,aAAa,GAAG,IAQhF,CAAC;AAEF,eAAO,MAAM,0BAA0B,aAAc,QAAQ,kBAe5D,CAAC;AAEF,eAAO,MAAM,wBAAwB,aACzB,QAAQ,GAAG,SAAS,KAC7B;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,cAAc,CAAA;CAiClD,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,QAAQ,KAAG,kBAU9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,cAAe,QAAQ,KAAG,kBAW1D,CAAC;AAEF,eAAO,MAAM,uCAAuC,WAAkB,MAAM,4BAY3E,CAAC;AAEF,eAAO,MAAM,kBAAkB,aACnB,QAAQ,GAAG,SAAS,YACpB,cAAc,4BAgBzB,CAAC;AAEF,eAAO,MAAM,qBAAqB,cAAe,QAAQ,KAAG,OAU3D,CAAC;AAEF,eAAO,MAAM,uBAAuB,cAAe,QAAQ,KAAG,kBAU7D,CAAC;AAKF,eAAO,MAAM,sBAAsB;cAKvB,QAAQ;gBACN,UAAU,GAAG,KAAK;;MAE5B,KAAK,GAAG,aAsBX,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, getFirmwareUpdateField, supportInputPinOnSoftware, } from './deviceFeaturesUtils';
4
+ export { getDeviceType, getDeviceTypeByBleName, getDeviceTypeByDeviceId, getDeviceUUID, getDeviceLabel, getFirmwareUpdateField, getDeviceFirmwareVersion, getDeviceBootloaderVersion, supportInputPinOnSoftware, } from './deviceFeaturesUtils';
5
5
  export { getHDPath, getScriptType, getOutputScriptType } from '../api/helpers/pathUtils';
6
6
  export { checkNeedUpdateBootForTouch, checkNeedUpdateBootForClassicAndMini, } from '../api/firmware/updateBootloader';
7
7
  export { getLogger, enableLog, LoggerNames, getLog, setLoggerPostMessage } from './logger';
@@ -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,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;AAEL,eAAO,MAAM,YAAY,QAAS,MAAM,YAAiD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,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;AAEL,eAAO,MAAM,YAAY,QAAS,MAAM,YAAiD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "0.3.38",
3
+ "version": "0.3.40-alpha.0",
4
4
  "description": "> TODO: description",
5
5
  "author": "OneKey",
6
6
  "homepage": "https://github.com/OneKeyHQ/hardware-js-sdk#readme",
@@ -25,8 +25,8 @@
25
25
  "url": "https://github.com/OneKeyHQ/hardware-js-sdk/issues"
26
26
  },
27
27
  "dependencies": {
28
- "@onekeyfe/hd-shared": "^0.3.38",
29
- "@onekeyfe/hd-transport": "^0.3.38",
28
+ "@onekeyfe/hd-shared": "^0.3.40-alpha.0",
29
+ "@onekeyfe/hd-transport": "^0.3.40-alpha.0",
30
30
  "axios": "^0.27.2",
31
31
  "bignumber.js": "^9.0.2",
32
32
  "bytebuffer": "^5.0.1",
@@ -44,5 +44,5 @@
44
44
  "@types/semver": "^7.3.9",
45
45
  "ripple-keypairs": "^1.1.4"
46
46
  },
47
- "gitHead": "85e740c727ad9fbd53bbec5b29315b5058858531"
47
+ "gitHead": "1682b66aae6682f2f31239fed2d941ccb98491ca"
48
48
  }
@@ -7,6 +7,7 @@ enum Networks {
7
7
  Kusama = 'kusama',
8
8
  Astar = 'astar',
9
9
  JoyStream = 'joystream',
10
+ Manta = 'manta',
10
11
  }
11
12
 
12
13
  // All polkadot networks are included in no special case
@@ -28,6 +29,14 @@ const specialVersionRange: Record<string, DeviceFirmwareRange> = {
28
29
  min: '4.7.0',
29
30
  },
30
31
  },
32
+ [Networks.Manta]: {
33
+ model_mini: {
34
+ min: '3.7.0',
35
+ },
36
+ model_touch: {
37
+ min: '4.9.0',
38
+ },
39
+ },
31
40
  };
32
41
 
33
42
  export default Networks;
@@ -40,5 +49,8 @@ export function getPolkadotVersionRangeWithBundle(networks: string[]) {
40
49
  if (networks.includes(Networks.JoyStream)) {
41
50
  return specialVersionRange[Networks.JoyStream];
42
51
  }
52
+ if (networks.includes(Networks.Manta)) {
53
+ return specialVersionRange[Networks.Manta];
54
+ }
43
55
  return baseVersionRange;
44
56
  }
@@ -35,7 +35,7 @@ export const getDeviceType = (features?: Features): IDeviceType => {
35
35
  return 'classic';
36
36
  }
37
37
 
38
- // classic1s 3.5.0
38
+ // classic1s 3.5.0 pro 4.6.0
39
39
  switch (features.onekey_device_type) {
40
40
  case 'CLASSIC':
41
41
  return 'classic';
@@ -43,8 +43,10 @@ export const getDeviceType = (features?: Features): IDeviceType => {
43
43
  return 'classic1s';
44
44
  case 'MINI':
45
45
  return 'mini';
46
+ case 'TOUCH':
47
+ return 'touch';
46
48
  case 'TOUCH_PRO':
47
- return 'pro';
49
+ return 'touch';
48
50
  default:
49
51
  // other
50
52
  }
@@ -65,6 +67,7 @@ export const getDeviceTypeByBleName = (name?: string): IDeviceType | null => {
65
67
  if (!name) return 'classic';
66
68
  if (name.startsWith('MI')) return 'mini';
67
69
  if (name.startsWith('T')) return 'touch';
70
+ if (name.startsWith('P')) return 'touch';
68
71
  return 'classic';
69
72
  };
70
73
 
@@ -105,8 +108,11 @@ export const getDeviceLabel = (features: Features) => {
105
108
  export const getDeviceFirmwareVersion = (features: Features | undefined): IVersionArray => {
106
109
  if (!features) return [0, 0, 0];
107
110
 
108
- if (features.onekey_version) {
109
- return features.onekey_version.split('.') as unknown as IVersionArray;
111
+ if (semver.valid(features.onekey_firmware_version)) {
112
+ return features.onekey_firmware_version?.split('.') as unknown as IVersionArray;
113
+ }
114
+ if (semver.valid(features.onekey_version)) {
115
+ return features.onekey_version?.split('.') as unknown as IVersionArray;
110
116
  }
111
117
  return [
112
118
  features.major_version ?? '0',
@@ -129,6 +135,10 @@ export const getDeviceBLEFirmwareVersion = (features: Features): IVersionArray |
129
135
  };
130
136
 
131
137
  export const getDeviceBootloaderVersion = (features: Features): IVersionArray => {
138
+ // classic1s 3.5.0 pro 4.6.0
139
+ if (semver.valid(features.onekey_boot_version)) {
140
+ return features.onekey_boot_version?.split('.') as unknown as IVersionArray;
141
+ }
132
142
  if (!features.bootloader_version) {
133
143
  if (features.bootloader_mode) {
134
144
  return [features.major_version, features.minor_version, features.patch_version];
@@ -136,7 +146,7 @@ export const getDeviceBootloaderVersion = (features: Features): IVersionArray =>
136
146
  return [0, 0, 0];
137
147
  }
138
148
  if (semver.valid(features.bootloader_version)) {
139
- return features.bootloader_version.split('.') as unknown as IVersionArray;
149
+ return features.bootloader_version?.split('.') as unknown as IVersionArray;
140
150
  }
141
151
  return [0, 0, 0];
142
152
  };
@@ -8,6 +8,8 @@ export {
8
8
  getDeviceUUID,
9
9
  getDeviceLabel,
10
10
  getFirmwareUpdateField,
11
+ getDeviceFirmwareVersion,
12
+ getDeviceBootloaderVersion,
11
13
  supportInputPinOnSoftware,
12
14
  } from './deviceFeaturesUtils';
13
15
  export { getHDPath, getScriptType, getOutputScriptType } from '../api/helpers/pathUtils';
@@ -0,0 +1,53 @@
1
+ import semver from 'semver';
2
+
3
+ const semverTest = [
4
+ {
5
+ description: 'success - normal version',
6
+ version: '2.10.0',
7
+ expected: '2.10.0',
8
+ },
9
+ {
10
+ description: 'success - 0.0.0 version',
11
+ version: '0.0.0',
12
+ expected: '0.0.0',
13
+ },
14
+ {
15
+ description: 'error - 0 version',
16
+ version: '0',
17
+ expected: null,
18
+ },
19
+ {
20
+ description: 'error - unnecessary version',
21
+ version: '2.10.0 QA',
22
+ expected: null,
23
+ },
24
+ {
25
+ description: 'error - normal version',
26
+ version: '2.10',
27
+ expected: null,
28
+ },
29
+ {
30
+ description: 'error - null version',
31
+ version: null,
32
+ expected: null,
33
+ },
34
+ {
35
+ description: 'error - empty version',
36
+ version: '',
37
+ expected: null,
38
+ },
39
+ {
40
+ description: 'error - undefined version',
41
+ version: undefined,
42
+ expected: null,
43
+ },
44
+ ];
45
+
46
+ describe('Check Semver', () => {
47
+ semverTest.forEach(data => {
48
+ test(data.description, () => {
49
+ const { version, expected } = data;
50
+ expect(semver.valid(version)).toBe(expected);
51
+ });
52
+ });
53
+ });