#!/usr/bin/env node const _ = require('lodash/fp') const common = require('../lib/blockchain/common') const { utils: coinUtils } = require('lamassu-coins') const cryptos = coinUtils.cryptoCurrencies() const PLUGINS = { BTC: require('../lib/blockchain/bitcoin.js'), BCH: require('../lib/blockchain/bitcoincash.js'), DASH: require('../lib/blockchain/dash.js'), ETH: require('../lib/blockchain/ethereum.js'), LTC: require('../lib/blockchain/litecoin.js'), XMR: require('../lib/blockchain/monero.js'), ZEC: require('../lib/blockchain/zcash.js') } function plugin (crypto) { const plugin = PLUGINS[crypto.cryptoCode] if (!plugin) throw new Error(`No such plugin: ${crypto.cryptoCode}`) return plugin } function run () { _.forEach((crypto) => { if (!_.includes(crypto.cryptoCode, _.keys(PLUGINS))) return const cryptoPlugin = plugin(crypto) const status = common.es(`sudo supervisorctl status ${crypto.code} | awk '{ print $2 }'`).trim() if (status === 'RUNNING') cryptoPlugin.updateCore(common.getBinaries(crypto.cryptoCode), true) if (status === 'STOPPED') cryptoPlugin.updateCore(common.getBinaries(crypto.cryptoCode), false) }, cryptos) } run()