@onekeyfe/hd-core 1.2.0-alpha.76 → 1.2.0-alpha.78

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.
Files changed (33) hide show
  1. package/__tests__/device-state-mapper.test.ts +16 -1
  2. package/__tests__/device-state-projector.test.ts +20 -0
  3. package/__tests__/device-state-store.test.ts +27 -0
  4. package/__tests__/firmware-update/firmware-update-v2-download-before-boot.test.ts +27 -0
  5. package/__tests__/firmware-update/firmware-update-v3-reconnect.test.ts +57 -0
  6. package/__tests__/homescreen.test.ts +17 -0
  7. package/__tests__/method-protocol-support.test.ts +13 -1
  8. package/__tests__/protocol-v2-resources.test.ts +11 -0
  9. package/dist/api/FirmwareUpdateV2.d.ts.map +1 -1
  10. package/dist/api/FirmwareUpdateV3.d.ts.map +1 -1
  11. package/dist/api/utils.d.ts +2 -0
  12. package/dist/api/utils.d.ts.map +1 -1
  13. package/dist/data-manager/DataManager.d.ts.map +1 -1
  14. package/dist/device/DeviceStateMapper.d.ts.map +1 -1
  15. package/dist/device/DeviceStateProjector.d.ts.map +1 -1
  16. package/dist/device/DeviceStateStore.d.ts.map +1 -1
  17. package/dist/index.d.ts +23 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +269 -99
  20. package/dist/types/device.d.ts +8 -0
  21. package/dist/types/device.d.ts.map +1 -1
  22. package/dist/utils/homescreen.d.ts.map +1 -1
  23. package/package.json +4 -4
  24. package/src/api/FirmwareUpdateV2.ts +12 -0
  25. package/src/api/FirmwareUpdateV3.ts +2 -1
  26. package/src/api/utils.ts +25 -0
  27. package/src/data-manager/DataManager.ts +15 -0
  28. package/src/device/DeviceStateMapper.ts +42 -0
  29. package/src/device/DeviceStateProjector.ts +58 -0
  30. package/src/device/DeviceStateStore.ts +31 -0
  31. package/src/index.ts +2 -0
  32. package/src/types/device.ts +16 -0
  33. package/src/utils/homescreen.ts +5 -1
package/dist/index.js CHANGED
@@ -40780,6 +40780,7 @@ function isProtocolV2ResourceFileValid(binary, resource) {
40780
40780
  }
40781
40781
 
40782
40782
  var _a$1;
40783
+ const FIRMWARE_UPDATE_CONFIG_FRESHNESS_MS = 5 * 60 * 1000;
40783
40784
  const Log$k = getLogger(exports.LoggerNames.Core);
40784
40785
  const FIRMWARE_FIELDS = [
40785
40786
  'firmware',
@@ -40920,6 +40921,7 @@ class DataManager {
40920
40921
  this.assets = {
40921
40922
  bridge: data.bridge,
40922
40923
  };
40924
+ this.lastCheckTimestamp = getTimeStamp();
40923
40925
  }
40924
40926
  static updateEnv(newEnv) {
40925
40927
  if (this.settings) {
@@ -40943,6 +40945,14 @@ class DataManager {
40943
40945
  if (!this.settings) {
40944
40946
  throw new Error('Remote config settings are not initialized');
40945
40947
  }
40948
+ const hasFreshConfig = this.lastCheckTimestamp > 0 &&
40949
+ getTimeStamp() - this.lastCheckTimestamp <= FIRMWARE_UPDATE_CONFIG_FRESHNESS_MS;
40950
+ if (hasFreshConfig) {
40951
+ if (requireResources && this.protocolV2ResourcesConfigError) {
40952
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.FirmwareUpdateDownloadFailed, `Invalid Pro2 resources config: ${this.protocolV2ResourcesConfigError.message}`);
40953
+ }
40954
+ return;
40955
+ }
40946
40956
  const loaded = yield this.load(this.settings);
40947
40957
  if (!loaded) {
40948
40958
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.NetworkError, 'Unable to refresh the latest remote config');
@@ -42996,11 +43006,15 @@ const getNftSize = ({ deviceType, thumbnail, }) => {
42996
43006
  full: { width: PRO2_NFT_IMAGE_WIDTH, height: PRO2_NFT_IMAGE_HEIGHT },
42997
43007
  thumbnail: { width: PRO2_NFT_THUMBNAIL_WIDTH, height: PRO2_NFT_THUMBNAIL_HEIGHT },
42998
43008
  },
43009
+ neo: {
43010
+ full: { width: PRO2_NFT_IMAGE_WIDTH, height: PRO2_NFT_IMAGE_HEIGHT },
43011
+ thumbnail: { width: PRO2_NFT_THUMBNAIL_WIDTH, height: PRO2_NFT_THUMBNAIL_HEIGHT },
43012
+ },
42999
43013
  };
43000
43014
  return (_a = sizes[deviceType]) === null || _a === void 0 ? void 0 : _a[thumbnail ? 'thumbnail' : 'full'];
43001
43015
  };
43002
43016
  const getHomeScreenSize = ({ deviceType, homeScreenType, thumbnail, }) => {
43003
- if (deviceType === hdShared.EDeviceType.Pro2) {
43017
+ if (deviceType === hdShared.EDeviceType.Pro2 || deviceType === hdShared.EDeviceType.Neo) {
43004
43018
  return thumbnail ? undefined : { width: PRO2_WALLPAPER_WIDTH, height: PRO2_WALLPAPER_HEIGHT };
43005
43019
  }
43006
43020
  const sizes = {
@@ -44138,6 +44152,123 @@ const buildProtocolV1FeaturesPayload = (protocolV1Features, previous) => {
44138
44152
  } });
44139
44153
  };
44140
44154
 
44155
+ const normalizeEnumValue = (enumObject, value) => {
44156
+ if (value == null)
44157
+ return null;
44158
+ if (typeof value === 'string')
44159
+ return value;
44160
+ const label = enumObject[value];
44161
+ return typeof label === 'string' ? label : null;
44162
+ };
44163
+ const getProtocolV2SeState = (se) => {
44164
+ const label = normalizeEnumValue(hdTransport.DeviceSEState, se === null || se === void 0 ? void 0 : se.state);
44165
+ switch (label) {
44166
+ case 'BOOT':
44167
+ return 'BOOT';
44168
+ case 'APP_FACTORY':
44169
+ return 'APP_FACTORY';
44170
+ case 'APP':
44171
+ return 'APP';
44172
+ default:
44173
+ return null;
44174
+ }
44175
+ };
44176
+ const getProtocolV2SeType = (se) => normalizeEnumValue(hdTransport.DeviceSeType, se === null || se === void 0 ? void 0 : se.type);
44177
+ const parseProtocolV2BuildFingerprint = (buildFingerprint) => {
44178
+ if (!buildFingerprint)
44179
+ return null;
44180
+ const [binary, version, commit, environment, buildType, ...extra] = buildFingerprint.split('__');
44181
+ if (extra.length > 0 ||
44182
+ (binary !== 'application' && binary !== 'bootloader' && binary !== 'romloader') ||
44183
+ !version ||
44184
+ !commit ||
44185
+ (environment !== 'PROD' && environment !== 'DEV') ||
44186
+ (buildType !== 'DEBUG' && buildType !== 'RELEASE')) {
44187
+ return null;
44188
+ }
44189
+ return { binary, version, commit, environment, buildType };
44190
+ };
44191
+ const getProtocolV2RuntimeMode = (protocolInfo) => {
44192
+ var _a;
44193
+ const binary = (_a = parseProtocolV2BuildFingerprint(protocolInfo.build_fingerprint)) === null || _a === void 0 ? void 0 : _a.binary;
44194
+ if (binary === 'application')
44195
+ return 'normal';
44196
+ return binary;
44197
+ };
44198
+ const PROTOCOL_V2_DEVICE_STATUS_GET_MESSAGE_TYPE = 60602;
44199
+ const supportsProtocolV2Message = (protocolInfo, messageType) => protocolInfo.supported_messages.includes(messageType);
44200
+ const PROTOCOL_V2_FEATURES_DEVICE_INFO_REQUEST = {
44201
+ targets: {
44202
+ hw: true,
44203
+ fw: true,
44204
+ coprocessor: true,
44205
+ },
44206
+ types: {
44207
+ version: true,
44208
+ specific: true,
44209
+ },
44210
+ };
44211
+ const PROTOCOL_V2_VERSIONS_DEVICE_INFO_REQUEST = {
44212
+ targets: {
44213
+ hw: true,
44214
+ fw: true,
44215
+ coprocessor: true,
44216
+ se1: true,
44217
+ se2: true,
44218
+ se3: true,
44219
+ se4: true,
44220
+ },
44221
+ types: {
44222
+ version: true,
44223
+ specific: true,
44224
+ },
44225
+ };
44226
+ const PROTOCOL_V2_FULL_DEVICE_INFO_REQUEST = {
44227
+ targets: {
44228
+ hw: true,
44229
+ fw: true,
44230
+ coprocessor: true,
44231
+ se1: true,
44232
+ se2: true,
44233
+ se3: true,
44234
+ se4: true,
44235
+ },
44236
+ types: {
44237
+ version: true,
44238
+ build_id: true,
44239
+ hash: true,
44240
+ specific: true,
44241
+ },
44242
+ };
44243
+ const PROTOCOL_V2_DEVICE_INFO_TIMEOUT_MS = 30 * 1000;
44244
+ function requestProtocolV2ProtocolInfo({ commands, timeoutMs, }) {
44245
+ return __awaiter(this, void 0, void 0, function* () {
44246
+ const response = timeoutMs === undefined
44247
+ ? yield commands.typedCall('ProtocolInfoRequest', 'ProtocolInfo', {
44248
+ eventless_wallet_session: true,
44249
+ })
44250
+ : yield commands.typedCall('ProtocolInfoRequest', 'ProtocolInfo', { eventless_wallet_session: true }, { timeoutMs });
44251
+ return response.message;
44252
+ });
44253
+ }
44254
+ function requestProtocolV2DeviceInfo({ commands, timeoutMs = PROTOCOL_V2_DEVICE_INFO_TIMEOUT_MS, request = PROTOCOL_V2_FEATURES_DEVICE_INFO_REQUEST, }) {
44255
+ return __awaiter(this, void 0, void 0, function* () {
44256
+ const { message } = yield commands.typedCall('DeviceInfoGet', 'DeviceInfo', request, {
44257
+ timeoutMs,
44258
+ });
44259
+ return message;
44260
+ });
44261
+ }
44262
+ function requestProtocolV2DeviceStatus({ commands, timeoutMs, }) {
44263
+ return __awaiter(this, void 0, void 0, function* () {
44264
+ const response = timeoutMs === undefined
44265
+ ? yield commands.typedCall('DeviceStatusGet', 'DeviceStatus', {})
44266
+ : yield commands.typedCall('DeviceStatusGet', 'DeviceStatus', {}, { timeoutMs });
44267
+ const { message } = response;
44268
+ return message;
44269
+ });
44270
+ }
44271
+
44141
44272
  const definedEntries = (value) => Object.fromEntries(Object.entries(value).filter(([, fieldValue]) => fieldValue !== undefined));
44142
44273
  const sanitizeRawFeatures = (features) => {
44143
44274
  if (!features.raw)
@@ -44265,6 +44396,11 @@ const meaningfulVersion = (version) => {
44265
44396
  parts.push('0');
44266
44397
  return parts.map(part => (Number.isNaN(Number.parseInt(part, 10)) ? '0' : part)).join('.');
44267
44398
  };
44399
+ const meaningfulText = (value) => {
44400
+ if (value === undefined || value === null || value === '')
44401
+ return null;
44402
+ return String(value);
44403
+ };
44268
44404
  const mapProtocolV1OnekeyFeaturesToState = (features) => {
44269
44405
  const verification = definedEntries({
44270
44406
  firmwareBuildId: features.onekey_firmware_build_id,
@@ -44305,7 +44441,24 @@ const mapProtocolV1OnekeyFeaturesToState = (features) => {
44305
44441
  se02Boot: meaningfulVersion(features.onekey_se02_boot_version),
44306
44442
  se03Boot: meaningfulVersion(features.onekey_se03_boot_version),
44307
44443
  se04Boot: meaningfulVersion(features.onekey_se04_boot_version),
44308
- }) }, (Object.keys(verification).length > 0 ? { verification } : {})), { raw: { protocolV1OneKeyFeatures: features } });
44444
+ }) }, (Object.keys(verification).length > 0 ? { verification } : {})), { securityElements: {
44445
+ se01: {
44446
+ type: meaningfulText(features.onekey_se_type),
44447
+ state: meaningfulText(features.onekey_se01_state),
44448
+ },
44449
+ se02: {
44450
+ type: null,
44451
+ state: meaningfulText(features.onekey_se02_state),
44452
+ },
44453
+ se03: {
44454
+ type: null,
44455
+ state: meaningfulText(features.onekey_se03_state),
44456
+ },
44457
+ se04: {
44458
+ type: null,
44459
+ state: meaningfulText(features.onekey_se04_state),
44460
+ },
44461
+ }, raw: { protocolV1OneKeyFeatures: features } });
44309
44462
  };
44310
44463
  const mapProtocolV2DeviceInfoToState = (info, mode = 'unknown') => {
44311
44464
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20;
@@ -44385,6 +44538,24 @@ const mapProtocolV2DeviceInfoToState = (info, mode = 'unknown') => {
44385
44538
  se04BootBuildId: imageBuildId((_19 = info.se4) === null || _19 === void 0 ? void 0 : _19.bootloader),
44386
44539
  se04BootHash: imageHash((_20 = info.se4) === null || _20 === void 0 ? void 0 : _20.bootloader),
44387
44540
  }),
44541
+ securityElements: {
44542
+ se01: {
44543
+ type: getProtocolV2SeType(info.se1),
44544
+ state: getProtocolV2SeState(info.se1),
44545
+ },
44546
+ se02: {
44547
+ type: getProtocolV2SeType(info.se2),
44548
+ state: getProtocolV2SeState(info.se2),
44549
+ },
44550
+ se03: {
44551
+ type: getProtocolV2SeType(info.se3),
44552
+ state: getProtocolV2SeState(info.se3),
44553
+ },
44554
+ se04: {
44555
+ type: getProtocolV2SeType(info.se4),
44556
+ state: getProtocolV2SeState(info.se4),
44557
+ },
44558
+ },
44388
44559
  raw: Object.assign({ protocolV2DeviceInfo: info }, (loader ? { protocolV2DeviceStatus: null } : {})),
44389
44560
  };
44390
44561
  };
@@ -44485,6 +44656,57 @@ const cloneDeviceState = (value) => {
44485
44656
  };
44486
44657
 
44487
44658
  const getBootloaderMode = (state) => state.status.mode === 'bootloader' || state.status.mode === 'romloader';
44659
+ const projectLegacyAdvancedFields = (state) => {
44660
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
44661
+ const verification = (_a = state.verification) !== null && _a !== void 0 ? _a : {};
44662
+ const securityElements = (_b = state.securityElements) !== null && _b !== void 0 ? _b : {};
44663
+ return {
44664
+ onekey_device_type: state.identity.deviceType,
44665
+ onekey_serial_no: state.identity.serialNo,
44666
+ onekey_se_type: (_h = (_f = (_d = (_c = securityElements.se01) === null || _c === void 0 ? void 0 : _c.type) !== null && _d !== void 0 ? _d : (_e = securityElements.se02) === null || _e === void 0 ? void 0 : _e.type) !== null && _f !== void 0 ? _f : (_g = securityElements.se03) === null || _g === void 0 ? void 0 : _g.type) !== null && _h !== void 0 ? _h : (_j = securityElements.se04) === null || _j === void 0 ? void 0 : _j.type,
44667
+ onekey_board_version: state.versions.board,
44668
+ onekey_board_hash: verification.boardHash,
44669
+ onekey_board_build_id: verification.boardBuildId,
44670
+ onekey_boot_version: state.versions.bootloader,
44671
+ onekey_boot_hash: verification.bootloaderHash,
44672
+ onekey_boot_build_id: verification.bootloaderBuildId,
44673
+ onekey_firmware_version: state.versions.firmware,
44674
+ onekey_firmware_hash: verification.firmwareHash,
44675
+ onekey_firmware_build_id: verification.firmwareBuildId,
44676
+ onekey_ble_version: state.versions.ble,
44677
+ onekey_ble_hash: verification.bleHash,
44678
+ onekey_ble_build_id: verification.bleBuildId,
44679
+ onekey_ble_name: state.identity.bleName,
44680
+ onekey_se01_version: state.versions.se01,
44681
+ onekey_se01_hash: verification.se01Hash,
44682
+ onekey_se01_build_id: verification.se01BuildId,
44683
+ onekey_se01_state: (_k = securityElements.se01) === null || _k === void 0 ? void 0 : _k.state,
44684
+ onekey_se01_boot_version: state.versions.se01Boot,
44685
+ onekey_se01_boot_hash: verification.se01BootHash,
44686
+ onekey_se01_boot_build_id: verification.se01BootBuildId,
44687
+ onekey_se02_version: state.versions.se02,
44688
+ onekey_se02_hash: verification.se02Hash,
44689
+ onekey_se02_build_id: verification.se02BuildId,
44690
+ onekey_se02_state: (_l = securityElements.se02) === null || _l === void 0 ? void 0 : _l.state,
44691
+ onekey_se02_boot_version: state.versions.se02Boot,
44692
+ onekey_se02_boot_hash: verification.se02BootHash,
44693
+ onekey_se02_boot_build_id: verification.se02BootBuildId,
44694
+ onekey_se03_version: state.versions.se03,
44695
+ onekey_se03_hash: verification.se03Hash,
44696
+ onekey_se03_build_id: verification.se03BuildId,
44697
+ onekey_se03_state: (_m = securityElements.se03) === null || _m === void 0 ? void 0 : _m.state,
44698
+ onekey_se03_boot_version: state.versions.se03Boot,
44699
+ onekey_se03_boot_hash: verification.se03BootHash,
44700
+ onekey_se03_boot_build_id: verification.se03BootBuildId,
44701
+ onekey_se04_version: state.versions.se04,
44702
+ onekey_se04_hash: verification.se04Hash,
44703
+ onekey_se04_build_id: verification.se04BuildId,
44704
+ onekey_se04_state: (_o = securityElements.se04) === null || _o === void 0 ? void 0 : _o.state,
44705
+ onekey_se04_boot_version: state.versions.se04Boot,
44706
+ onekey_se04_boot_hash: verification.se04BootHash,
44707
+ onekey_se04_boot_build_id: verification.se04BootBuildId,
44708
+ };
44709
+ };
44488
44710
  const projectFeatures = (state) => {
44489
44711
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
44490
44712
  const snapshot = cloneDeviceState(state);
@@ -44497,7 +44719,8 @@ const projectFeatures = (state) => {
44497
44719
  const bootloaderMode = snapshot.protocol === 'V1'
44498
44720
  ? (_e = rawFeatures.bootloader_mode) !== null && _e !== void 0 ? _e : null
44499
44721
  : getBootloaderMode(snapshot);
44500
- return Object.assign(Object.assign(Object.assign({}, publicRawFeatures), rawOneKeyFeatures), { protocol: snapshot.protocol, protocolVersion: (_f = snapshot.protocolVersion) !== null && _f !== void 0 ? _f : (snapshot.protocol === 'V1' ? 1 : null), deviceType: snapshot.identity.deviceType, firmwareType: snapshot.identity.firmwareType, model: snapshot.identity.model, vendor: snapshot.identity.vendor, deviceId: snapshot.identity.deviceId, serialNo: snapshot.identity.serialNo, label: snapshot.identity.label, bleName: snapshot.identity.bleName, capabilities: snapshot.capabilities, mode: snapshot.status.mode, initialized: snapshot.status.initialized, bootloaderMode, unlocked: snapshot.status.unlocked, firmwarePresent: snapshot.status.firmwarePresent, passphraseProtection: snapshot.status.passphraseProtection, pinProtection: snapshot.status.pinProtection, backupRequired: snapshot.status.backupRequired, noBackup: snapshot.status.noBackup, unfinishedBackup: snapshot.status.unfinishedBackup, recoveryMode: snapshot.status.recoveryMode, attachToPinEnabled: snapshot.status.attachToPinEnabled, unlockedAttachPin: (_g = snapshot.status.unlockedAttachPin) !== null && _g !== void 0 ? _g : undefined, language: snapshot.settings.language, bleEnabled: snapshot.settings.bleEnabled, sdCardPresent: snapshot.settings.sdCardPresent, sdProtection: snapshot.settings.sdProtection, wipeCodeProtection: snapshot.settings.wipeCodeProtection, passphraseAlwaysOnDevice: snapshot.settings.passphraseAlwaysOnDevice, safetyChecks: snapshot.settings.safetyChecks, autoLockDelayMs: snapshot.settings.autoLockDelayMs, autoShutdownDelayMs: snapshot.settings.autoShutdownDelayMs, displayRotation: snapshot.settings.displayRotation, experimentalFeatures: snapshot.settings.experimentalFeatures, wallpaperPath: snapshot.settings.wallpaperPath, brightness: snapshot.settings.brightness, animationEnabled: snapshot.settings.animationEnabled, tapToWake: snapshot.settings.tapToWake, hapticFeedback: snapshot.settings.hapticFeedback, deviceNameDisplayEnabled: snapshot.settings.deviceNameDisplayEnabled, airgapMode: snapshot.settings.airgapMode, fidoEnabled: snapshot.settings.fidoEnabled, usbLockEnabled: snapshot.settings.usbLockEnabled, randomKeypad: snapshot.settings.randomKeypad, firmwareVersion: snapshot.versions.firmware, bootloaderVersion: snapshot.versions.bootloader, boardVersion: snapshot.versions.board, bleVersion: snapshot.versions.ble, se01Version: snapshot.versions.se01, se02Version: snapshot.versions.se02, se03Version: snapshot.versions.se03, se04Version: snapshot.versions.se04, se01BootVersion: snapshot.versions.se01Boot, se02BootVersion: snapshot.versions.se02Boot, se03BootVersion: snapshot.versions.se03Boot, se04BootVersion: snapshot.versions.se04Boot, seVersion: (_h = snapshot.versions.se) !== null && _h !== void 0 ? _h : null, verify: snapshot.verification, device_id: (_j = snapshot.identity.deviceId) !== null && _j !== void 0 ? _j : undefined, ble_name: (_k = snapshot.identity.bleName) !== null && _k !== void 0 ? _k : undefined, passphrase_protection: (_l = snapshot.status.passphraseProtection) !== null && _l !== void 0 ? _l : undefined, bootloader_mode: bootloaderMode, sessionId: null, session_id: null });
44722
+ const legacyAdvancedFields = projectLegacyAdvancedFields(snapshot);
44723
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, publicRawFeatures), rawOneKeyFeatures), legacyAdvancedFields), { protocol: snapshot.protocol, protocolVersion: (_f = snapshot.protocolVersion) !== null && _f !== void 0 ? _f : (snapshot.protocol === 'V1' ? 1 : null), deviceType: snapshot.identity.deviceType, firmwareType: snapshot.identity.firmwareType, model: snapshot.identity.model, vendor: snapshot.identity.vendor, deviceId: snapshot.identity.deviceId, serialNo: snapshot.identity.serialNo, label: snapshot.identity.label, bleName: snapshot.identity.bleName, capabilities: snapshot.capabilities, mode: snapshot.status.mode, initialized: snapshot.status.initialized, bootloaderMode, unlocked: snapshot.status.unlocked, firmwarePresent: snapshot.status.firmwarePresent, passphraseProtection: snapshot.status.passphraseProtection, pinProtection: snapshot.status.pinProtection, backupRequired: snapshot.status.backupRequired, noBackup: snapshot.status.noBackup, unfinishedBackup: snapshot.status.unfinishedBackup, recoveryMode: snapshot.status.recoveryMode, attachToPinEnabled: snapshot.status.attachToPinEnabled, unlockedAttachPin: (_g = snapshot.status.unlockedAttachPin) !== null && _g !== void 0 ? _g : undefined, language: snapshot.settings.language, bleEnabled: snapshot.settings.bleEnabled, sdCardPresent: snapshot.settings.sdCardPresent, sdProtection: snapshot.settings.sdProtection, wipeCodeProtection: snapshot.settings.wipeCodeProtection, passphraseAlwaysOnDevice: snapshot.settings.passphraseAlwaysOnDevice, safetyChecks: snapshot.settings.safetyChecks, autoLockDelayMs: snapshot.settings.autoLockDelayMs, autoShutdownDelayMs: snapshot.settings.autoShutdownDelayMs, displayRotation: snapshot.settings.displayRotation, experimentalFeatures: snapshot.settings.experimentalFeatures, wallpaperPath: snapshot.settings.wallpaperPath, brightness: snapshot.settings.brightness, animationEnabled: snapshot.settings.animationEnabled, tapToWake: snapshot.settings.tapToWake, hapticFeedback: snapshot.settings.hapticFeedback, deviceNameDisplayEnabled: snapshot.settings.deviceNameDisplayEnabled, airgapMode: snapshot.settings.airgapMode, fidoEnabled: snapshot.settings.fidoEnabled, usbLockEnabled: snapshot.settings.usbLockEnabled, randomKeypad: snapshot.settings.randomKeypad, firmwareVersion: snapshot.versions.firmware, bootloaderVersion: snapshot.versions.bootloader, boardVersion: snapshot.versions.board, bleVersion: snapshot.versions.ble, se01Version: snapshot.versions.se01, se02Version: snapshot.versions.se02, se03Version: snapshot.versions.se03, se04Version: snapshot.versions.se04, se01BootVersion: snapshot.versions.se01Boot, se02BootVersion: snapshot.versions.se02Boot, se03BootVersion: snapshot.versions.se03Boot, se04BootVersion: snapshot.versions.se04Boot, seVersion: (_h = snapshot.versions.se) !== null && _h !== void 0 ? _h : null, verify: snapshot.verification, device_id: (_j = snapshot.identity.deviceId) !== null && _j !== void 0 ? _j : undefined, ble_name: (_k = snapshot.identity.bleName) !== null && _k !== void 0 ? _k : undefined, passphrase_protection: (_l = snapshot.status.passphraseProtection) !== null && _l !== void 0 ? _l : undefined, bootloader_mode: bootloaderMode, sessionId: null, session_id: null });
44501
44724
  };
44502
44725
 
44503
44726
  function createEmptyDeviceState(identity = {}) {
@@ -44564,6 +44787,21 @@ const applySectionPatch = (target, patch, prefix, changedKeys) => {
44564
44787
  }
44565
44788
  }
44566
44789
  };
44790
+ const mergeSecurityElements = (current, patch) => {
44791
+ var _a, _b;
44792
+ const merged = cloneDeviceState(current !== null && current !== void 0 ? current : {});
44793
+ for (const key of Object.keys(patch)) {
44794
+ const elementPatch = patch[key];
44795
+ if (elementPatch !== undefined) {
44796
+ const currentElement = merged[key];
44797
+ merged[key] = {
44798
+ type: elementPatch.type !== undefined ? elementPatch.type : (_a = currentElement === null || currentElement === void 0 ? void 0 : currentElement.type) !== null && _a !== void 0 ? _a : null,
44799
+ state: elementPatch.state !== undefined ? elementPatch.state : (_b = currentElement === null || currentElement === void 0 ? void 0 : currentElement.state) !== null && _b !== void 0 ? _b : null,
44800
+ };
44801
+ }
44802
+ }
44803
+ return merged;
44804
+ };
44567
44805
  class DeviceStateStore {
44568
44806
  constructor(initial) {
44569
44807
  this.state = initial ? cloneDeviceState(initial) : undefined;
@@ -44602,6 +44840,13 @@ class DeviceStateStore {
44602
44840
  applySectionPatch(next.settings, patch.settings, 'settings', changedKeys);
44603
44841
  if (patch.versions)
44604
44842
  applySectionPatch(next.versions, patch.versions, 'versions', changedKeys);
44843
+ if (patch.securityElements !== undefined) {
44844
+ const mergedSecurityElements = mergeSecurityElements(next.securityElements, patch.securityElements);
44845
+ if (!isEqual(next.securityElements, mergedSecurityElements)) {
44846
+ next.securityElements = mergedSecurityElements;
44847
+ changedKeys.push('securityElements');
44848
+ }
44849
+ }
44605
44850
  if (patch.capabilities !== undefined && !isEqual(next.capabilities, patch.capabilities)) {
44606
44851
  next.capabilities = cloneDeviceState(patch.capabilities);
44607
44852
  changedKeys.push('capabilities');
@@ -44773,101 +45018,6 @@ class DeviceWalletSessionStore {
44773
45018
  }
44774
45019
  const deviceWalletSessionStore = new DeviceWalletSessionStore();
44775
45020
 
44776
- const parseProtocolV2BuildFingerprint = (buildFingerprint) => {
44777
- if (!buildFingerprint)
44778
- return null;
44779
- const [binary, version, commit, environment, buildType, ...extra] = buildFingerprint.split('__');
44780
- if (extra.length > 0 ||
44781
- (binary !== 'application' && binary !== 'bootloader' && binary !== 'romloader') ||
44782
- !version ||
44783
- !commit ||
44784
- (environment !== 'PROD' && environment !== 'DEV') ||
44785
- (buildType !== 'DEBUG' && buildType !== 'RELEASE')) {
44786
- return null;
44787
- }
44788
- return { binary, version, commit, environment, buildType };
44789
- };
44790
- const getProtocolV2RuntimeMode = (protocolInfo) => {
44791
- var _a;
44792
- const binary = (_a = parseProtocolV2BuildFingerprint(protocolInfo.build_fingerprint)) === null || _a === void 0 ? void 0 : _a.binary;
44793
- if (binary === 'application')
44794
- return 'normal';
44795
- return binary;
44796
- };
44797
- const PROTOCOL_V2_DEVICE_STATUS_GET_MESSAGE_TYPE = 60602;
44798
- const supportsProtocolV2Message = (protocolInfo, messageType) => protocolInfo.supported_messages.includes(messageType);
44799
- const PROTOCOL_V2_FEATURES_DEVICE_INFO_REQUEST = {
44800
- targets: {
44801
- hw: true,
44802
- fw: true,
44803
- coprocessor: true,
44804
- },
44805
- types: {
44806
- version: true,
44807
- specific: true,
44808
- },
44809
- };
44810
- const PROTOCOL_V2_VERSIONS_DEVICE_INFO_REQUEST = {
44811
- targets: {
44812
- hw: true,
44813
- fw: true,
44814
- coprocessor: true,
44815
- se1: true,
44816
- se2: true,
44817
- se3: true,
44818
- se4: true,
44819
- },
44820
- types: {
44821
- version: true,
44822
- specific: true,
44823
- },
44824
- };
44825
- const PROTOCOL_V2_FULL_DEVICE_INFO_REQUEST = {
44826
- targets: {
44827
- hw: true,
44828
- fw: true,
44829
- coprocessor: true,
44830
- se1: true,
44831
- se2: true,
44832
- se3: true,
44833
- se4: true,
44834
- },
44835
- types: {
44836
- version: true,
44837
- build_id: true,
44838
- hash: true,
44839
- specific: true,
44840
- },
44841
- };
44842
- const PROTOCOL_V2_DEVICE_INFO_TIMEOUT_MS = 30 * 1000;
44843
- function requestProtocolV2ProtocolInfo({ commands, timeoutMs, }) {
44844
- return __awaiter(this, void 0, void 0, function* () {
44845
- const response = timeoutMs === undefined
44846
- ? yield commands.typedCall('ProtocolInfoRequest', 'ProtocolInfo', {
44847
- eventless_wallet_session: true,
44848
- })
44849
- : yield commands.typedCall('ProtocolInfoRequest', 'ProtocolInfo', { eventless_wallet_session: true }, { timeoutMs });
44850
- return response.message;
44851
- });
44852
- }
44853
- function requestProtocolV2DeviceInfo({ commands, timeoutMs = PROTOCOL_V2_DEVICE_INFO_TIMEOUT_MS, request = PROTOCOL_V2_FEATURES_DEVICE_INFO_REQUEST, }) {
44854
- return __awaiter(this, void 0, void 0, function* () {
44855
- const { message } = yield commands.typedCall('DeviceInfoGet', 'DeviceInfo', request, {
44856
- timeoutMs,
44857
- });
44858
- return message;
44859
- });
44860
- }
44861
- function requestProtocolV2DeviceStatus({ commands, timeoutMs, }) {
44862
- return __awaiter(this, void 0, void 0, function* () {
44863
- const response = timeoutMs === undefined
44864
- ? yield commands.typedCall('DeviceStatusGet', 'DeviceStatus', {})
44865
- : yield commands.typedCall('DeviceStatusGet', 'DeviceStatus', {}, { timeoutMs });
44866
- const { message } = response;
44867
- return message;
44868
- });
44869
- }
44870
-
44871
45021
  const parseRunOptions = (options) => {
44872
45022
  if (!options)
44873
45023
  options = {};
@@ -49870,6 +50020,12 @@ class FirmwareUpdateV2 extends BaseMethod {
49870
50020
  { name: 'platform', type: 'string', required: true },
49871
50021
  { name: 'firmwareType', type: 'string' },
49872
50022
  ]);
50023
+ if ('binary' in payload &&
50024
+ payload.binary !== undefined &&
50025
+ 'artifact' in payload &&
50026
+ payload.artifact !== undefined) {
50027
+ throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, 'Firmware update binary and artifact are mutually exclusive');
50028
+ }
49873
50029
  if (!payload.updateType) {
49874
50030
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, 'updateType is required');
49875
50031
  }
@@ -50563,6 +50719,7 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
50563
50719
  });
50564
50720
  }
50565
50721
  executeUpdate({ resourceBinary, resourceEntries, fwSources, bootloaderSource, }) {
50722
+ var _a;
50566
50723
  return __awaiter(this, void 0, void 0, function* () {
50567
50724
  let totalSize = 0;
50568
50725
  let processedSize = 0;
@@ -50709,7 +50866,8 @@ class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod {
50709
50866
  }
50710
50867
  if (shouldReconnect) {
50711
50868
  yield hdShared.wait(1000);
50712
- const reconnectTimeout = this.isBleReconnect() && (this.params.bleBinary || this.params.bleVersion)
50869
+ const reconnectTimeout = this.isBleReconnect() &&
50870
+ (this.params.bleBinary || this.params.bleVersion || ((_a = this.params.artifacts) === null || _a === void 0 ? void 0 : _a.ble))
50713
50871
  ? 3 * 60 * 1000
50714
50872
  : 60 * 1000;
50715
50873
  getFeaturesTimeoutCount = 0;
@@ -63370,6 +63528,16 @@ function findMethod(message) {
63370
63528
  }
63371
63529
  throw hdShared.ERRORS.TypedError(hdShared.HardwareErrorCode.CallMethodInvalidParameter, `Method ${method} is not set`);
63372
63530
  }
63531
+ function getMethodSupportedProtocols(method, payload) {
63532
+ const instance = findMethod({
63533
+ id: 0,
63534
+ payload: Object.assign(Object.assign({}, payload), { method }),
63535
+ });
63536
+ if (payload !== undefined) {
63537
+ instance.init();
63538
+ }
63539
+ return instance.getSupportedProtocols();
63540
+ }
63373
63541
 
63374
63542
  const resolveAfter = (msec, value) => new Promise(resolve => {
63375
63543
  setTimeout(resolve, msec, value);
@@ -64993,6 +65161,7 @@ exports.getLanguageConfig = getLanguageConfig;
64993
65161
  exports.getLog = getLog;
64994
65162
  exports.getLogBlockLabel = getLogBlockLabel;
64995
65163
  exports.getLogger = getLogger;
65164
+ exports.getMethodSupportedProtocols = getMethodSupportedProtocols;
64996
65165
  exports.getMethodVersionRange = getMethodVersionRange;
64997
65166
  exports.getNftSize = getNftSize;
64998
65167
  exports.getOutputScriptType = getOutputScriptType;
@@ -65011,6 +65180,7 @@ exports.parseConnectSettings = parseConnectSettings;
65011
65180
  exports.parseMessage = parseMessage;
65012
65181
  exports.patchFeatures = patchFeatures;
65013
65182
  exports.preloadSessionCache = preloadSessionCache;
65183
+ exports.projectDeviceStateFeatures = projectFeatures;
65014
65184
  exports.registerFirmwareUpdateHostBinding = registerFirmwareUpdateHostBinding;
65015
65185
  exports.safeThrowError = safeThrowError;
65016
65186
  exports.setLoggerPostMessage = setLoggerPostMessage;
@@ -158,6 +158,12 @@ export type DeviceStateVersions = {
158
158
  se03Boot?: string | null;
159
159
  se04Boot?: string | null;
160
160
  };
161
+ export type DeviceStateSecurityElement = {
162
+ type: string | null;
163
+ state: string | null;
164
+ };
165
+ export type DeviceStateSecurityElements = Partial<Record<'se01' | 'se02' | 'se03' | 'se04', DeviceStateSecurityElement>>;
166
+ export type DeviceStateSecurityElementsPatch = Partial<Record<keyof DeviceStateSecurityElements, Partial<DeviceStateSecurityElement>>>;
161
167
  export type DeviceState = {
162
168
  schemaVersion: 1;
163
169
  revision: number;
@@ -168,6 +174,7 @@ export type DeviceState = {
168
174
  status: DeviceStateStatus;
169
175
  settings: DeviceStateSettings;
170
176
  versions: DeviceStateVersions;
177
+ securityElements?: DeviceStateSecurityElements;
171
178
  capabilities: Array<number | string>;
172
179
  verification?: Partial<DeviceFeaturesVerify>;
173
180
  };
@@ -178,6 +185,7 @@ export type DeviceStatePatch = {
178
185
  status?: Partial<DeviceStateStatus>;
179
186
  settings?: Partial<DeviceStateSettings>;
180
187
  versions?: Partial<DeviceStateVersions>;
188
+ securityElements?: DeviceStateSecurityElementsPatch;
181
189
  capabilities?: Array<number | string>;
182
190
  verification?: DeviceFeaturesVerify;
183
191
  raw?: DeviceFeaturesRawPatch;
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/types/device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/types/device.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"homescreen.d.ts","sourceRoot":"","sources":["../../src/utils/homescreen.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEtD,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,eAAO,MAAM,SAAS,QAAO,OAAO,MAAM,EAAE,WAAW,CAqNrD,CAAC;AAEH,eAAO,MAAM,YAAY,QAAO,OAAO,MAAM,EAAE,WAAW,CAKxD,CAAC;AACH,eAAO,MAAM,UAAU,QAAO,OAAO,MAAM,EAAE,WAAW,CAQtD,CAAC;AAEH,eAAO,MAAM,gBAAgB,eAAgB,WAAW,QAAQ,MAAM,WAoBrE,CAAC;AAEF,eAAO,MAAM,wBAAwB,aAAc,QAAQ,aAgC1D,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,UAAU;gBAIT,WAAW;;MAErB,UAAU,GAAG,SAiBhB,CAAC;AAEF,eAAO,MAAM,iBAAiB;gBAKhB,WAAW;oBACP,WAAW,GAAG,KAAK;;4BAuCpC,CAAC"}
1
+ {"version":3,"file":"homescreen.d.ts","sourceRoot":"","sources":["../../src/utils/homescreen.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEtD,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,eAAO,MAAM,SAAS,QAAO,OAAO,MAAM,EAAE,WAAW,CAqNrD,CAAC;AAEH,eAAO,MAAM,YAAY,QAAO,OAAO,MAAM,EAAE,WAAW,CAKxD,CAAC;AACH,eAAO,MAAM,UAAU,QAAO,OAAO,MAAM,EAAE,WAAW,CAQtD,CAAC;AAEH,eAAO,MAAM,gBAAgB,eAAgB,WAAW,QAAQ,MAAM,WAoBrE,CAAC;AAEF,eAAO,MAAM,wBAAwB,aAAc,QAAQ,aAgC1D,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,UAAU;gBAIT,WAAW;;MAErB,UAAU,GAAG,SAqBhB,CAAC;AAEF,eAAO,MAAM,iBAAiB;gBAKhB,WAAW;oBACP,WAAW,GAAG,KAAK;;4BAuCpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-core",
3
- "version": "1.2.0-alpha.76",
3
+ "version": "1.2.0-alpha.78",
4
4
  "description": "Core processes and APIs for communicating with OneKey hardware devices.",
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": "1.2.0-alpha.76",
29
- "@onekeyfe/hd-transport": "1.2.0-alpha.76",
28
+ "@onekeyfe/hd-shared": "1.2.0-alpha.78",
29
+ "@onekeyfe/hd-transport": "1.2.0-alpha.78",
30
30
  "axios": "1.15.2",
31
31
  "bignumber.js": "^9.0.2",
32
32
  "bytebuffer": "^5.0.1",
@@ -44,5 +44,5 @@
44
44
  "@types/w3c-web-usb": "^1.0.10",
45
45
  "@types/web-bluetooth": "^0.0.21"
46
46
  },
47
- "gitHead": "9c85b3757bef3483d84ead72974af4718ca019d0"
47
+ "gitHead": "950b340ca75b4396f02ec60eb2685ddf8ecefae3"
48
48
  }
@@ -159,6 +159,18 @@ export default class FirmwareUpdateV2 extends BaseMethod<Params> {
159
159
  { name: 'firmwareType', type: 'string' },
160
160
  ]);
161
161
 
162
+ if (
163
+ 'binary' in payload &&
164
+ payload.binary !== undefined &&
165
+ 'artifact' in payload &&
166
+ payload.artifact !== undefined
167
+ ) {
168
+ throw ERRORS.TypedError(
169
+ HardwareErrorCode.CallMethodInvalidParameter,
170
+ 'Firmware update binary and artifact are mutually exclusive'
171
+ );
172
+ }
173
+
162
174
  if (!payload.updateType) {
163
175
  throw ERRORS.TypedError(
164
176
  HardwareErrorCode.CallMethodInvalidParameter,
@@ -625,7 +625,8 @@ export default class FirmwareUpdateV3 extends FirmwareUpdateBaseMethod<FirmwareU
625
625
  * 2. While including bootloader upgrade
626
626
  */
627
627
  const reconnectTimeout =
628
- this.isBleReconnect() && (this.params.bleBinary || this.params.bleVersion)
628
+ this.isBleReconnect() &&
629
+ (this.params.bleBinary || this.params.bleVersion || this.params.artifacts?.ble)
629
630
  ? 3 * 60 * 1000 // 3 minutes for BLE reconnect
630
631
  : 60 * 1000; // 1 minute for normal reconnect
631
632