-
Notifications
You must be signed in to change notification settings - Fork 17
Refactor: Use new protobuf to compatible with different versions of protocols #458
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: onekey
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
[submodule "submodules/firmware"] | ||
path = submodules/firmware | ||
url = https://github.com/OneKeyHQ/firmware.git | ||
[submodule "submodules/onekey-protocol"] | ||
path = submodules/onekey-protocol | ||
url = git@github.com:OneKeyHQ/onekey-protocol.git |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -1,6 +1,6 @@ | ||||||
import { createContext, useMemo, useState } from 'react'; | ||||||
|
||||||
import type { Features, OnekeyFeatures } from '@onekeyfe/hd-transport'; | ||||||
import type { Features } from '@onekeyfe/hd-transport'; | ||||||
import type { TestCaseDataWithKey } from '../types'; | ||||||
|
||||||
export const TestRunnerContext = createContext<{ | ||||||
|
@@ -13,8 +13,8 @@ export const TestRunnerContext = createContext<{ | |||||
runningDeviceFeatures?: Features; | ||||||
setRunningDeviceFeatures?: React.Dispatch<React.SetStateAction<Features>>; | ||||||
|
||||||
runningOneKeyDeviceFeatures?: OnekeyFeatures; | ||||||
setRunningOneKeyDeviceFeatures?: React.Dispatch<React.SetStateAction<OnekeyFeatures>>; | ||||||
runningOneKeyDeviceFeatures?: any; | ||||||
setRunningOneKeyDeviceFeatures?: React.Dispatch<React.SetStateAction<any>>; | ||||||
|
||||||
timestampBeginTest?: number; | ||||||
setTimestampBeginTest?: React.Dispatch<React.SetStateAction<number>>; | ||||||
|
@@ -37,7 +37,7 @@ export function TestRunnerProvider({ children }: { children: React.ReactNode }) | |||||
const [runnerTestCaseTitle, setRunnerTestCaseTitle] = useState<string>(); | ||||||
const [runnerDone, setRunnerDone] = useState<boolean>(); | ||||||
const [runningDeviceFeatures, setRunningDeviceFeatures] = useState<Features>(); | ||||||
const [runningOneKeyDeviceFeatures, setRunningOneKeyDeviceFeatures] = useState<OnekeyFeatures>(); | ||||||
const [runningOneKeyDeviceFeatures, setRunningOneKeyDeviceFeatures] = useState<any>(); | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick (assertive) Same here—keep state strongly typed - const [runningOneKeyDeviceFeatures, setRunningOneKeyDeviceFeatures] = useState<any>();
+ const [runningOneKeyDeviceFeatures, setRunningOneKeyDeviceFeatures] = useState<Features>(); 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents (early access)
|
||||||
const [timestampBeginTest, setTimestampBeginTest] = useState<number>(); | ||||||
const [timestampEndTest, setTimestampEndTest] = useState<number>(); | ||||||
|
||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
import packageJson from '../../package.json'; | ||
// import packageJson from '../../package.json'; | ||
|
||
export const CONNECT_SRC = | ||
process.env.CONNECT_SRC || `https://jssdk.onekey.so/${packageJson.version}/`; | ||
// export const CONNECT_SRC = | ||
// process.env.CONNECT_SRC || `https://jssdk.onekey.so/${packageJson.version}/`; | ||
export const CONNECT_SRC = process.env.CONNECT_SRC || `https://jssdk.onekeytest.com/`; |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -1,38 +1,43 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
getDeviceBootloaderVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
getDeviceFirmwareVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
getDeviceType, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
getDeviceUUID, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} from '@onekeyfe/hd-core'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import type { Features, OnekeyFeatures } from '@onekeyfe/hd-transport'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
getHardwareInfoFromFeatures, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
getFirmwareInfoFromFeatures, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
getSeInfoFromFeatures, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EDeviceType, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} from '@onekeyfe/hd-shared'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import type { Features } from '@onekeyfe/hd-transport'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
export const getReleaseUrl = ({ features }: { features?: Features }) => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const deviceType = getDeviceType(features)?.toUpperCase() || 'UNKNOWN'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// const { firmwareUrl, bleVersion } = getDeviceBasicInfo(features, onekeyFeatures); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if (!features) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_boot_url: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_firmware_url: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_ble_url: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const { firmwareVersion, bootloaderVersion, bleVersion } = getFirmwareInfoFromFeatures(features); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const { deviceType } = getHardwareInfoFromFeatures(features); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// classic 类型(包括classci 1s, mini, classic),不需要更新bootloader | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const firmwareVersion = getDeviceFirmwareVersion(features).join('.'); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const bootloaderVersion = `${getDeviceBootloaderVersion(features)?.join('.')}`; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
switch (deviceType) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case 'CLASSIC1S': | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case EDeviceType.Classic1s: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case EDeviceType.ClassicPure: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_boot_url: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_firmware_url: firmwareVersion | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
? `https://github.com/OneKeyHQ/firmware-classic1s/releases/tag/v${firmwareVersion}` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_ble_url: features?.ble_ver | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
? `https://github.com/OneKeyHQ/bluetooth-firmware-classic/releases/tag/v${features?.ble_ver}` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_ble_url: bleVersion | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
? `https://github.com/OneKeyHQ/bluetooth-firmware-classic/releases/tag/v${bleVersion}` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case 'PRO': | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
case EDeviceType.Pro: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_boot_url: bootloaderVersion | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
? `https://github.com/OneKeyHQ/firmware-pro/releases/tag/bootloader-v${bootloaderVersion}` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_firmware_url: firmwareVersion | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
? `https://github.com/OneKeyHQ/firmware-pro/releases/tag/v${firmwareVersion}` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_ble_url: features?.ble_ver | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
? `https://github.com/OneKeyHQ/bluetooth-firmware-pro/releases/tag/v${features?.ble_ver}` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_ble_url: bleVersion | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
? `https://github.com/OneKeyHQ/bluetooth-firmware-pro/releases/tag/v${bleVersion}` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
default: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -44,27 +49,31 @@ export const getReleaseUrl = ({ features }: { features?: Features }) => { | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
export function getDeviceBasicInfo( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
features: Features | undefined, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekeyFeatures: OnekeyFeatures | undefined | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const deviceType = getDeviceType(features)?.toUpperCase() || 'UNKNOWN'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const serialNumber = features && getDeviceUUID(features); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const bleBuildId = onekeyFeatures?.onekey_ble_build_id || features?.onekey_ble_build_id; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const bleVersion = `${features?.ble_ver}-${bleBuildId}`; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const bootloaderBuildId = onekeyFeatures?.onekey_boot_build_id || features?.onekey_boot_build_id; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const bootloaderVersion = | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
features && `${getDeviceBootloaderVersion(features)?.join('.')}-${bootloaderBuildId}`; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const boardloaderVersion = | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
features && `${features?.onekey_board_version}-${onekeyFeatures?.onekey_board_build_id}`; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const firmwareBuildId = | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekeyFeatures?.onekey_firmware_build_id || features?.onekey_firmware_build_id; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const firmwareVersion = | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
features && `${getDeviceFirmwareVersion(features)?.join('.')}-${firmwareBuildId}`; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
export function getDeviceBasicInfo(features: Features | undefined) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if (!features) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deviceType: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
serialNumber: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bleVersion: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bootloaderVersion: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
boardloaderVersion: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
firmwareVersion: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
boardloaderBuildId: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bootloaderBuildId: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
firmwareBuildId: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bleBuildId: '', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+52
to
+66
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Return a uniform object when
return {
deviceType: '',
serialNumber: '',
bleVersion: '',
bootloaderVersion: '',
boardloaderVersion: '',
firmwareVersion: '',
boardloaderBuildId: '',
bootloaderBuildId: '',
firmwareBuildId: '',
bleBuildId: '',
+ bootUrl: '',
+ firmwareUrl: '',
+ bleUrl: '',
}; 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents (early access)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bootloaderVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
boardloaderVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
firmwareVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
firmwareBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bootloaderBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
boardloaderBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bleVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bleBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} = getFirmwareInfoFromFeatures(features); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const { deviceType, serialNumber } = getHardwareInfoFromFeatures(features); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_firmware_url: firmwareUrl, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -81,49 +90,44 @@ export function getDeviceBasicInfo( | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bootloaderVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
boardloaderVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
firmwareVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bootloaderBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
boardloaderBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
firmwareBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bleBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bootUrl, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
firmwareUrl, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bleUrl, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
export function getDeviceInfo( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
features: Features | undefined, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekeyFeatures: OnekeyFeatures | undefined | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
export function getDeviceInfo(features: Features | undefined, onekeyFeatures: any | undefined) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if (!features) throw new Error('features is undefined'); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const _features = { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
...features, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
...onekeyFeatures, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deviceType, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
serialNumber, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bleVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bootloaderVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
boardloaderVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
firmwareVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} = getDeviceBasicInfo(features, onekeyFeatures); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const firmwareHash = onekeyFeatures?.onekey_firmware_hash || features?.onekey_firmware_hash; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const bootloaderHash = | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekeyFeatures?.onekey_boot_hash || features?.onekey_boot_hash || features?.bootloader_hash; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const se01BuildId = onekeyFeatures?.onekey_se01_build_id || features?.onekey_se01_build_id; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const se01Version = `${features?.onekey_se01_version || features?.se_ver}-${se01BuildId}`; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const se01Hash = onekeyFeatures?.onekey_se01_hash; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const se02BuildId = onekeyFeatures?.onekey_se02_build_id; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const se02Version = `${features?.onekey_se02_version}-${se02BuildId}`; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const se02Hash = onekeyFeatures?.onekey_se02_hash; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const se03BuildId = onekeyFeatures?.onekey_se03_build_id; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const se03Version = `${features?.onekey_se03_version}-${se03BuildId}`; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const se03Hash = onekeyFeatures?.onekey_se03_hash; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const se04BuildId = onekeyFeatures?.onekey_se04_build_id; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const se04Version = `${features?.onekey_se04_version}-${se04BuildId}`; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const se04Hash = onekeyFeatures?.onekey_se04_hash; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} = getDeviceBasicInfo(_features); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const boardloaderHash = onekeyFeatures?.onekey_board_hash || features?.onekey_board_hash; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const { firmwareHash, bootloaderHash, boardloaderHash, bleHash } = | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
getFirmwareInfoFromFeatures(_features); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const bleHash = onekeyFeatures?.onekey_ble_hash || features?.onekey_ble_hash; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
se01Version, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
se01Hash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
se02Version, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
se02Hash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
se03Version, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
se03Hash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
se04Version, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
se04Hash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} = getSeInfoFromFeatures(_features); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
deviceType, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -146,3 +150,80 @@ export function getDeviceInfo( | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bleHash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
export function getFeaturesBetweenProtocol(features: Features | undefined) { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if (!features) return {}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const hardwareInfo = getHardwareInfoFromFeatures(features); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const firmwareInfo = getFirmwareInfoFromFeatures(features); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const seInfo = getSeInfoFromFeatures(features); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
return { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
...features, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// Firmware info | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_firmware_version: firmwareInfo.firmwareVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_firmware_hash: firmwareInfo.firmwareHash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_firmware_build_id: firmwareInfo.firmwareBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_boot_version: firmwareInfo.bootloaderVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_boot_build_id: firmwareInfo.bootloaderBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_boot_hash: firmwareInfo.bootloaderHash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_board_version: firmwareInfo.boardloaderVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_board_build_id: firmwareInfo.boardloaderBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_board_hash: firmwareInfo.boardloaderHash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_ble_version: firmwareInfo.bleVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_ble_name: firmwareInfo.bleName, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_ble_build_id: firmwareInfo.bleBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_ble_hash: firmwareInfo.bleHash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bleMac: firmwareInfo.bleMac, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// SE info | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se_type: seInfo.seType, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se01_type: seInfo.se01Type, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se02_type: seInfo.se02Type, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se03_type: seInfo.se03Type, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se04_type: seInfo.se04Type, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se01_version: seInfo.se01Version, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se02_version: seInfo.se02Version, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se03_version: seInfo.se03Version, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se04_version: seInfo.se04Version, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se01_hash: seInfo.se01Hash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se02_hash: seInfo.se02Hash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se03_hash: seInfo.se03Hash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se04_hash: seInfo.se04Hash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se01_boot_version: seInfo.se01BootVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se02_boot_version: seInfo.se02BootVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se03_boot_version: seInfo.se03BootVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se04_boot_version: seInfo.se04BootVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se01_boot_hash: seInfo.se01BootHash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se02_boot_hash: seInfo.se02BootHash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se03_boot_hash: seInfo.se03BootHash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se04_boot_hash: seInfo.se04BootHash, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se01_boot_build_id: seInfo.se01BootBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se02_boot_build_id: seInfo.se02BootBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se03_boot_build_id: seInfo.se03BootBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se04_boot_build_id: seInfo.se04BootBuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se01_build_id: seInfo.se01BuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se02_build_id: seInfo.se02BuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se03_build_id: seInfo.se03BuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se04_build_id: seInfo.se04BuildId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se01_state: seInfo.se01State, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se02_state: seInfo.se02State, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se03_state: seInfo.se03State, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_se04_state: seInfo.se04State, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// Hardware info | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
device_id: hardwareInfo.serialNumber, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
label: hardwareInfo.label, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_device_type: hardwareInfo.deviceType, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hardwareVersion: hardwareInfo.hardwareVersion, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hardwareVersionRawAdc: hardwareInfo.hardwareVersionRawAdc, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_serial: hardwareInfo.serialNumber, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onekey_serial_no: hardwareInfo.serialNumber, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
serial_no: hardwareInfo.serialNumber, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
init_state: hardwareInfo.init_state, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
language: hardwareInfo.language, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
passphrase_protection: hardwareInfo.passphrase_protection, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Avoid
any
; use the unifiedFeatures
typeThe codebase just unified feature shapes, so
any
throws that gain away. Stick withFeatures
(orPartial<Features>
if some fields are optional).📝 Committable suggestion
🤖 Prompt for AI Agents (early access)