How to use the @ledgerhq/hw-transport-node-hid.listen function in @ledgerhq/hw-transport-node-hid

To help you get started, weā€™ve selected a few @ledgerhq/hw-transport-node-hid examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github iov-one / iov-core / packages / iov-ledger-bns / src / scripts / checkapp.ts View on Github external
// use the function as a status check... if it works, we are in the app
      // otherwise no
      appVersion(transport)
        .then((version: number) => {
          inApp = true;
          console.log(`>>> Entered app (version ${version})`);
        })
        .catch(() => 0);
    } catch (err) {
      console.log("Error connecting to ledger: " + err);
    }
  });
};

// listen for all changed
TransportNodeHid.listen(listener);

console.log("Press any key to exit");
(process.stdin.setRawMode as any)(true);
process.stdin.resume();
process.stdin.on("data", () => process.exit(0));
github iov-one / iov-core / packages / iov-ledger-bns / src / scripts / listen.ts View on Github external
// tslint:disable:no-console
import TransportNodeHid, { DescriptorEvent } from "@ledgerhq/hw-transport-node-hid";
import { Device } from "node-hid";

// tslint:disable-next-line:readonly-array
const events: Array> = [];

const listener = {
  next: (e: DescriptorEvent) => events.push(e),
  error: console.log,
  complete: () => console.log("Listener finished"),
};

TransportNodeHid.listen(listener);

// const pprint = (e: any) => console.log(JSON.stringify(e, null, 2));

console.log("Press space to see events, any key to exit");
(process.stdin.setRawMode as any)(true);
process.stdin.resume();
process.stdin.on("data", e => {
  showAll(events);
  if (e[0] !== 0x20) {
    process.exit(0);
  }
});

const showAll = (evts: ReadonlyArray>) => console.log(evts.map(desc));

const format = (e: DescriptorEvent): string => prefix(e.type) + genericDev(e.device);
github iov-one / iov-core / packages / iov-ledger-bns / src / statetracker.ts View on Github external
public start(): void {
    // tslint:disable-next-line:no-object-mutation
    this.listeningSubscription = TransportNodeHid.listen({
      next: e => this.handleEvent(e),
      error: e => {
        throw e;
      },
      complete: () => {
        throw new Error("TransportNodeHid.listen completed. What does that mean?");
      },
    });
  }
github iotaledger / trinity-wallet / src / desktop / native / hardware / Ledger.js View on Github external
constructor() {
        this.connected = false;
        this.listeners = [];

        this.subscription = Transport.listen({
            next: (e) => {
                this.onMessage(e.type);
            }
        });
    }
github LiskHQ / lisk-desktop / app / src / ledger.js View on Github external
const syncDevices = () => {
  try {
    observableListen = TransportNodeHid.listen(ledgerObserver);
  } catch (e) {
    syncDevices();
  }
};
syncDevices();
github hubiinetwork / hubii-core / src / electron / wallets / lns / index.js View on Github external
export function deviceEventListener() {
  const mainWindow = remote.getGlobal('mainWindow');
  const sub = LedgerTransport.listen({
    next: (e) => emitEvent(mainWindow, e),
    error: (e) => emitEvent(mainWindow, e),
    complete: (e) => emitEvent(mainWindow, e),
  });

  process.on('exit', () => {
    sub.unsubscribe();
  });
}
github LedgerHQ / ledger-live-desktop / src / internals / devices / listen.js View on Github external
export default (send: IPCSend) => {
  CommNodeHid.listen({
    error: noop,
    complete: noop,
    next: async e => {
      if (!e.device) {
        return
      }
      if (e.type === 'add') {
        send('device.add', e.device, { kill: false })
      }
      if (e.type === 'remove') {
        send('device.remove', e.device, { kill: false })
      }
    },
  })
}