Skip to content
This repository was archived by the owner on Oct 8, 2019. It is now read-only.

Commit d7552a7

Browse files
authored
Merge pull request #41 from wownmedia/fix-USB-init-error-onserver-and-vm
Added fix for USB init error on machines without USB port
2 parents e8ca065 + 4f6f62e commit d7552a7

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

index.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,15 @@ var cluster = require('cluster');
1717
var child_process = require('child_process');
1818
var Path = require('path');
1919

20-
var ledger = require('ledgerco')
21-
var LedgerArk = require('./src/LedgerArk.js');
22-
var ledgerWorker = child_process.fork(Path.resolve(__dirname, './ledger-worker'));
20+
var ledgerSupported = true;
21+
try {
22+
var ledger = require('ledgerco');
23+
var LedgerArk = require('./src/LedgerArk.js');
24+
var ledgerWorker = child_process.fork(Path.resolve(__dirname, './ledger-worker'));
25+
} catch (USBError) {
26+
ledgerSupported = false;
27+
vorpal.log(colors.yellow("Warning: Ark-Client is running on a server or virtual machine: No Ledger support available."));
28+
}
2329

2430
var blessed = require('blessed');
2531
var contrib = require('blessed-contrib');
@@ -222,7 +228,7 @@ function getAccount(container, seriesCb) {
222228
}
223229
});
224230
}
225-
if (ledgerAccounts.length) {
231+
if (ledgerSupported && ledgerAccounts.length) {
226232
var message = 'We have found the following Ledgers: \n';
227233
ledgerAccounts.forEach(function(ledger, index) {
228234
var balance = network.config.symbol + (ledger.data.accountData.balance / 100000000);
@@ -263,7 +269,7 @@ function resetLedger() {
263269
}
264270

265271
async function populateLedgerAccounts() {
266-
if (!ledgerBridge) {
272+
if (!ledgerSupported || !ledgerBridge) {
267273
return;
268274
}
269275
ledgerAccounts = [];
@@ -335,7 +341,7 @@ async function populateLedgerAccounts() {
335341
}
336342

337343
async function ledgerSignTransaction(seriesCb, transaction, account, callback) {
338-
if (!account.publicKey || !account.path) {
344+
if (!ledgerSupported || !account.publicKey || !account.path) {
339345
return callback(transaction);
340346
}
341347

@@ -364,6 +370,7 @@ async function ledgerSignTransaction(seriesCb, transaction, account, callback) {
364370
callback(transaction);
365371
}
366372

373+
if (ledgerSupported) {
367374
ledgerWorker.on('message', function (message) {
368375
if (message.connected && network && (!ledgerComm || !ledgerAccounts.length)) {
369376
ledger.comm_node.create_async().then((comm) => {
@@ -378,6 +385,7 @@ ledgerWorker.on('message', function (message) {
378385
resetLedger();
379386
};
380387
});
388+
}
381389

382390
vorpal
383391
.command('connect <network>', 'Connect to network. Network is devnet or mainnet')

0 commit comments

Comments
 (0)