chore(device-utils): acccept only PartialDevice as param

This commit is contained in:
Martin Varmuza
2024-10-15 17:45:25 +02:00
committed by martin
parent de58841260
commit 4764484da9
5 changed files with 24 additions and 14 deletions

View File

@@ -1,10 +1,10 @@
import { Device } from '@trezor/connect';
import { isDeviceInBootloaderMode } from './modeUtils';
import { PartialDevice } from './types';
export const getBootloaderHash = (device?: Device) => device?.features?.bootloader_hash || '';
export const getBootloaderHash = (device?: PartialDevice) =>
device?.features?.bootloader_hash || '';
export const getBootloaderVersion = (device?: Device) => {
export const getBootloaderVersion = (device?: PartialDevice) => {
if (!device?.features) {
return '';
}

View File

@@ -1,10 +1,11 @@
import { FirmwareType, Device, VersionArray } from '@trezor/connect';
import { FirmwareType, VersionArray } from '@trezor/connect';
import { isDeviceInBootloaderMode } from './modeUtils';
import { PartialDevice } from './types';
export const getFirmwareRevision = (device?: Device) => device?.features?.revision || '';
export const getFirmwareRevision = (device?: PartialDevice) => device?.features?.revision || '';
export const getFirmwareVersionArray = (device?: Device): VersionArray | null => {
export const getFirmwareVersionArray = (device?: PartialDevice): VersionArray | null => {
if (!device?.features) {
return null;
}
@@ -19,7 +20,9 @@ export const getFirmwareVersionArray = (device?: Device): VersionArray | null =>
return [features.major_version, features.minor_version, features.patch_version];
};
export const getFirmwareVersion = (device?: Device): '' | `${number}.${number}.${number}` => {
export const getFirmwareVersion = (
device?: PartialDevice,
): '' | `${number}.${number}.${number}` => {
if (!device?.features) {
return '';
}
@@ -35,9 +38,9 @@ export const getFirmwareVersion = (device?: Device): '' | `${number}.${number}.$
};
// This can give a false negative in bootloader mode for T1B1 and T2T1.
export const hasBitcoinOnlyFirmware = (device?: Device) =>
export const hasBitcoinOnlyFirmware = (device?: PartialDevice) =>
device?.firmwareType === FirmwareType.BitcoinOnly;
// Bitcoin-only device with Universal firmware is treated as a regular device.
export const isBitcoinOnlyDevice = (device?: Device) =>
export const isBitcoinOnlyDevice = (device?: PartialDevice) =>
!!device?.features?.unit_btconly && device?.firmwareType !== FirmwareType.Regular;

View File

@@ -1,8 +1,9 @@
import { Device } from '@trezor/connect';
import { PartialDevice } from './types';
export const isDeviceInBootloaderMode = (device?: Device) => !!device?.features?.bootloader_mode;
export const isDeviceInBootloaderMode = (device?: PartialDevice) =>
!!device?.features?.bootloader_mode;
export const getDeviceMode = (device?: Device) => {
export const getDeviceMode = (device?: PartialDevice) => {
if (device?.features?.bootloader_mode) return 'bootloader';
if (!device?.features?.initialized) return 'initialize';
if (device?.features?.no_backup) return 'seedless';

View File

@@ -0,0 +1,6 @@
import { Device } from '@trezor/connect';
export type PartialDevice = {
features?: Device['features'];
firmwareType?: Device['firmwareType'];
};

View File

@@ -140,7 +140,7 @@ export const isSelectedDevice = (selected?: TrezorDevice | Device, device?: Trez
return selected.id === device.id;
};
export const getFwUpdateVersion = (device: Device) =>
export const getFwUpdateVersion = (device: TrezorDevice) =>
device.firmwareRelease?.release?.version?.join('.') || null;
export const getCoinUnavailabilityMessage = (reason: UnavailableCapability) => {