@ledgerhq/hw-transport-node-hid-noevents
Version:
Ledger Hardware Wallet Node implementation of the communication layer, using node-hid. without usb events
58 lines • 1.77 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import HID, { Device } from "node-hid";
import { LogType, TraceContext } from "@ledgerhq/logs";
import Transport, { Observer, DescriptorEvent, Subscription } from "@ledgerhq/hw-transport";
import { DeviceModel } from "@ledgerhq/devices";
export declare function getDevices(): (Device & {
deviceName?: string;
})[];
/**
* node-hid Transport minimal implementation
* @example
* import TransportNodeHid from "@ledgerhq/hw-transport-node-hid-noevents";
* ...
* TransportNodeHid.create().then(transport => ...)
*/
export default class TransportNodeHidNoEvents extends Transport {
/**
*
*/
static isSupported: () => Promise<boolean>;
/**
*
*/
static list: () => Promise<any>;
/**
*/
static listen: (observer: Observer<DescriptorEvent<any>>) => Subscription;
/**
* if path="" is not provided, the library will take the first device
*/
static open(path: string | null | undefined): Promise<TransportNodeHidNoEvents>;
device: HID.HID;
deviceModel: DeviceModel | null | undefined;
channel: number;
packetSize: number;
disconnected: boolean;
constructor(device: HID.HID, { context, logType }?: {
context?: TraceContext;
logType?: LogType;
});
setDisconnected: () => void;
writeHID: (content: Buffer) => Promise<void>;
readHID: () => Promise<Buffer>;
/**
* Exchange with the device using APDU protocol.
*
* @param apdu
* @returns a promise of apdu response
*/
exchange(apdu: Buffer): Promise<Buffer>;
setScrambleKey(): void;
/**
* release the USB device.
*/
close(): Promise<void>;
}
//# sourceMappingURL=TransportNodeHid.d.ts.map