From ffb3ec544bcc3ef773b2193e9d944311d1595673 Mon Sep 17 00:00:00 2001 From: Jonathan Rainville Date: Tue, 3 Jul 2018 14:55:04 -0400 Subject: [PATCH] fix account initialization and address use --- lib/cmds/blockchain/blockchain.js | 10 +++++++--- lib/cmds/blockchain/geth_commands.js | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/cmds/blockchain/blockchain.js b/lib/cmds/blockchain/blockchain.js index f2e9cf99..25a2b2f3 100644 --- a/lib/cmds/blockchain/blockchain.js +++ b/lib/cmds/blockchain/blockchain.js @@ -204,6 +204,7 @@ Blockchain.prototype.isClientInstalled = function(callback) { Blockchain.prototype.initChainAndGetAddress = function(callback) { const self = this; let address = null; + const ALREADY_INITIALIZED = 'already'; // ensure datadir exists, bypassing the interactive liabilities prompt. self.datadir = '.embark/' + self.env + '/datadir'; @@ -219,14 +220,14 @@ Blockchain.prototype.initChainAndGetAddress = function(callback) { fs.copy(fs.embarkPath("js"), ".embark/" + self.env + "/js", {overwrite: true}, next); }, function listAccounts(next) { - self.runCommand(self.client.listAccountsCommand(), {}, (err, stdout, stderr) => { - if (err || stderr || stdout === undefined || stdout.match(/{(\w+)}/) === null || stdout.indexOf("Fatal") >= 0) { + self.runCommand(self.client.listAccountsCommand(), {}, (err, stdout, _stderr) => { + if (err || stdout === undefined || stdout.match(/{(\w+)}/) === null || stdout.indexOf("Fatal") >= 0) { console.log(__("no accounts found").green); return next(); } console.log(__("already initialized").green); address = stdout.match(/{(\w+)}/)[1]; - next(); + next(ALREADY_INITIALIZED); }); }, function genesisBlock(next) { @@ -248,6 +249,9 @@ Blockchain.prototype.initChainAndGetAddress = function(callback) { }); } ], (err) => { + if (err === ALREADY_INITIALIZED) { + err = null; + } callback(err, address); }); }; diff --git a/lib/cmds/blockchain/geth_commands.js b/lib/cmds/blockchain/geth_commands.js index e6ef5718..dd3291d4 100644 --- a/lib/cmds/blockchain/geth_commands.js +++ b/lib/cmds/blockchain/geth_commands.js @@ -197,7 +197,7 @@ class GethCommands { }, function accountToUnlock(callback) { let accountAddress = ""; - if(config.hasOwnProperty('address') && config.account.hasOwnProperty('address')) { + if(config.account && config.account.address) { accountAddress = config.account.address; } else { accountAddress = address;