fix: handle errors when wallet is unreachable

This commit is contained in:
José Oliveira 2021-02-24 19:46:43 +00:00 committed by Josh Harvey
parent 209bc1fabe
commit 145a21cc8d
2 changed files with 25 additions and 16 deletions

View file

@ -48,18 +48,21 @@ function split (str) {
} }
function parseConf (confPath) { function parseConf (confPath) {
const conf = fs.readFileSync(confPath) try {
const lines = conf.toString().split('\n') const conf = fs.readFileSync(confPath)
const lines = conf.toString().split('\n')
const res = {} const res = {}
for (let i = 0; i < lines.length; i++) { for (let i = 0; i < lines.length; i++) {
const keyVal = split(lines[i]) const keyVal = split(lines[i])
// skip when value is empty // skip when value is empty
if (!keyVal[1]) continue if (!keyVal[1]) continue
res[keyVal[0]] = keyVal[1] res[keyVal[0]] = keyVal[1]
}
return res
} catch (e) {
throw new Error('wallet is currently not installed')
} }
return res
} }

View file

@ -9,16 +9,22 @@ const E = require('../../../error')
const cryptoRec = coinUtils.getCryptoCurrency('ZEC') const cryptoRec = coinUtils.getCryptoCurrency('ZEC')
const configPath = coinUtils.configPath(cryptoRec) const configPath = coinUtils.configPath(cryptoRec)
const unitScale = cryptoRec.unitScale const unitScale = cryptoRec.unitScale
const config = jsonRpc.parseConf(configPath)
const rpcConfig = { function rpcConfig () {
username: config.rpcuser, try {
password: config.rpcpassword, const config = jsonRpc.parseConf(configPath)
port: config.rpcport || cryptoRec.defaultPort return {
username: config.rpcuser,
password: config.rpcpassword,
port: config.rpcport || cryptoRec.defaultPort
}
} catch (err) {
throw err
}
} }
function fetch (method, params) { function fetch (method, params) {
return jsonRpc.fetch(rpcConfig, method, params) return jsonRpc.fetch(rpcConfig(), method, params)
} }
function checkCryptoCode (cryptoCode) { function checkCryptoCode (cryptoCode) {