UNPKG

@ledgerhq/live-common

Version:
31 lines (28 loc) 877 B
import { GetAppAndVersionUnsupportedFormat } from "../errors"; import Transport from "@ledgerhq/hw-transport"; export default async ( transport: Transport, { abortTimeoutMs }: { abortTimeoutMs?: number } = {}, ): Promise<{ name: string; version: string; flags: number | Buffer; }> => { const r = await transport.send(0xb0, 0x01, 0x00, 0x00, undefined, undefined, { abortTimeoutMs }); let i = 0; const format = r[i++]; if (format !== 1) { throw new GetAppAndVersionUnsupportedFormat("getAppAndVersion: format not supported"); } const nameLength = r[i++]; const name = r.slice(i, (i += nameLength)).toString("ascii"); const versionLength = r[i++]; const version = r.slice(i, (i += versionLength)).toString("ascii"); const flagLength = r[i++]; const flags = r.slice(i, (i += flagLength)); return { name, version, flags, }; };