diff --git a/app/scripts/keyring-controller.js b/app/scripts/keyring-controller.js index 900b3ca25..ac9409dbb 100644 --- a/app/scripts/keyring-controller.js +++ b/app/scripts/keyring-controller.js @@ -282,7 +282,7 @@ module.exports = class KeyringController extends EventEmitter { setSelectedAccount (address) { var addr = normalize(address) this.configManager.setSelectedAccount(addr) - Promise.resolve(addr) + return Promise.resolve(addr) } // Save Account Label diff --git a/app/scripts/lib/nodeify.js b/app/scripts/lib/nodeify.js index 56b793852..51d89a8fb 100644 --- a/app/scripts/lib/nodeify.js +++ b/app/scripts/lib/nodeify.js @@ -6,12 +6,19 @@ module.exports = function (promiseFn) { } var cb = arguments[arguments.length - 1] - return promiseFn.apply(this, args) - .then(function (result) { + const nodeified = promiseFn.apply(this, args) + + if (!nodeified) { + const methodName = String(promiseFn).split('(')[0] + throw new Error(`The ${methodName} did not return a Promise, but was nodeified.`) + } + nodeified.then(function (result) { cb(null, result) }) .catch(function (reason) { cb(reason) }) + + return nodeified } }