diff --git a/wallets/index.js b/wallets/index.js index d59adad0..5b4ef57b 100644 --- a/wallets/index.js +++ b/wallets/index.js @@ -186,20 +186,23 @@ function useConfig (wallet) { let valid = true try { - newClientConfig = await walletValidate(wallet, newClientConfig) + const transformedConfig = await walletValidate(wallet, newClientConfig) + if (transformedConfig) { + newClientConfig = Object.assign(newClientConfig, transformedConfig) + } } catch { valid = false } if (valid) { if (priorityOnly) { - setClientConfig(newConfig) + setClientConfig(newClientConfig) } else { try { - // XXX: testSendPayment can return a new config (e.g. lnc) + // XXX: testSendPayment can return a new config (e.g. lnc) const newerConfig = await wallet.testSendPayment?.(newConfig, { me, logger }) if (newerConfig) { - newClientConfig = newerConfig + newClientConfig = Object.assign(newClientConfig, newerConfig) } } catch (err) { logger.error(err.message) @@ -219,7 +222,10 @@ function useConfig (wallet) { let valid = true try { - newServerConfig = await walletValidate(wallet, newServerConfig) + const transformedConfig = await walletValidate(wallet, newServerConfig) + if (transformedConfig) { + newServerConfig = Object.assign(newServerConfig, transformedConfig) + } } catch { valid = false }