diff --git a/lib/plugins.js b/lib/plugins.js index 0fbefd20..5aedfc68 100644 --- a/lib/plugins.js +++ b/lib/plugins.js @@ -65,11 +65,11 @@ function loadPlugin(name, config) { if (typeof plugin.SUPPORTED_MODULES !== 'undefined') { if(plugin.SUPPORTED_MODULES === 'string') plugin.SUPPORTED_MODULES = [plugin.SUPPORTED_MODULES]; - - if(!(plugin.SUPPORTED_MODULES instanceof Array)) - throw new Error('\'' + name + '\' fails to implement *required* \'SUPPORTED_MODULES\' constant'); } + if(!(plugin.SUPPORTED_MODULES instanceof Array)) + throw new Error('\'' + name + '\' fails to implement *required* \'SUPPORTED_MODULES\' constant'); + plugin.SUPPORTED_MODULES.forEach(function(moduleName) { moduleMethods[moduleName].forEach(function(methodName) { if (typeof plugin[methodName] !== 'function') { @@ -113,7 +113,7 @@ exports.configure = function configure(config) { // [required] configure (or load) wallet var walletName = plugins.current.transfer; - var walletConfig = plugins.settings[walletName]; + var walletConfig = plugins.settings[walletName] || {}; if (walletPlugin) walletPlugin.config(walletConfig); else walletPlugin = loadPlugin(walletName, walletConfig); @@ -122,7 +122,7 @@ exports.configure = function configure(config) { // [optional] configure (or load) trader var traderName = plugins.current.trade; if (traderName) { // traderPlugin may be disabled - var traderConfig = plugins.settings[traderName]; + var traderConfig = plugins.settings[traderName] || {}; if (traderPlugin) traderPlugin.config(traderConfig); else traderPlugin = loadPlugin(traderName, traderConfig); @@ -132,7 +132,7 @@ exports.configure = function configure(config) { // [optional] ID Verifier var verifierName = plugins.current.idVerifier; if (verifierName) { // idVerifierPlugin may be disabled - var verifierConfig = plugins.settings[verifierName]; + var verifierConfig = plugins.settings[verifierName] || {}; if (idVerifierPlugin) idVerifierPlugin.config(verifierConfig); else loadPlugin(verifierName, verifierConfig);