UNPKG

@trezor/connect

Version:

High-level javascript interface for Trezor hardware wallet.

33 lines 2.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildFirmwareFileName = exports.filterSafeListByFirmware = exports.filterSafeListByBootloader = exports.isValidReleases = exports.isStrictFeatures = void 0; const utils_1 = require("@trezor/utils"); const types_1 = require("../types"); const isStrictFeatures = (extFeatures) => [1, 2].includes(extFeatures.major_version) && (extFeatures.firmware_present === false || extFeatures.bootloader_mode == null || extFeatures.bootloader_mode === true); exports.isStrictFeatures = isStrictFeatures; const isValidReleases = (extReleases) => Array.isArray(extReleases) && extReleases.every(release => release.version && release.min_firmware_version && release.min_bootloader_version); exports.isValidReleases = isValidReleases; const filterSafeListByBootloader = (releasesList, bootloaderVersion) => { const bootloaderVersions = releasesList.flatMap(item => item.bootloader_version ? [item.bootloader_version] : []); const compatibleRelease = bootloaderVersions.find(item => utils_1.versionUtils.isNewerOrEqual(item, bootloaderVersion)); if (bootloaderVersions.length > 0 && !compatibleRelease) { return []; } return releasesList.filter(item => (!item.min_bootloader_version || utils_1.versionUtils.isNewerOrEqual(bootloaderVersion, item.min_bootloader_version)) && (!item.bootloader_version || utils_1.versionUtils.isNewerOrEqual(item.bootloader_version, bootloaderVersion))); }; exports.filterSafeListByBootloader = filterSafeListByBootloader; const filterSafeListByFirmware = (releasesList, firmwareVersion) => releasesList.filter(item => utils_1.versionUtils.isNewerOrEqual(firmwareVersion, item.min_firmware_version)); exports.filterSafeListByFirmware = filterSafeListByFirmware; const buildFirmwareFileName = (firmwareType, internalModel, version) => { const firmwareTypeFileString = firmwareType === types_1.FirmwareType.BitcoinOnly ? '-bitcoinonly' : ''; return `trezor-${internalModel.toLocaleLowerCase()}-${version.join('.')}${firmwareTypeFileString}.bin`; }; exports.buildFirmwareFileName = buildFirmwareFileName; //# sourceMappingURL=firmwareUtils.js.map