diff --git a/bin/lamassu-update-wallet-nodes b/bin/lamassu-update-wallet-nodes index 701bf411..5828b4b6 100644 --- a/bin/lamassu-update-wallet-nodes +++ b/bin/lamassu-update-wallet-nodes @@ -8,11 +8,12 @@ const cryptos = coinUtils.cryptoCurrencies() const PLUGINS = { BTC: require('../lib/blockchain/bitcoin.js'), - LTC: require('../lib/blockchain/litecoin.js'), - ETH: require('../lib/blockchain/ethereum.js'), + BCH: require('../lib/blockchain/bitcoincash.js'), DASH: require('../lib/blockchain/dash.js'), - ZEC: require('../lib/blockchain/zcash.js'), - BCH: require('../lib/blockchain/bitcoincash.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) { diff --git a/lib/blockchain/monero.js b/lib/blockchain/monero.js index 1545a303..2c529fa5 100644 --- a/lib/blockchain/monero.js +++ b/lib/blockchain/monero.js @@ -4,7 +4,7 @@ const { utils } = require('lamassu-coins') const common = require('./common') -module.exports = {setup} +module.exports = { setup, updateCore } const coinRec = utils.getCryptoCurrency('XMR') @@ -18,6 +18,26 @@ function setup (dataDir) { common.writeSupervisorConfig(coinRec, cmd, walletCmd) } +function updateCore (coinRec, isCurrentlyRunning) { + common.logger.info('Updating Monero. This may take a minute...') + common.es(`sudo supervisorctl stop monero monero-wallet`) + common.es(`curl -#o /tmp/monero.tar.gz ${coinRec.url}`) + common.es(`tar -xf /tmp/monero.tar.gz -C /tmp/`) + + common.logger.info('Updating wallet...') + common.es(`cp /tmp/${coinRec.dir}/monerod /usr/local/bin/monerod`) + common.es(`cp /tmp/${coinRec.dir}/monero-wallet-rpc /usr/local/bin/monero-wallet-rpc`) + common.es(`rm -r /tmp/${coinRec.dir.replace('/bin', '')}`) + common.es(`rm /tmp/monero.tar.gz`) + + if (isCurrentlyRunning) { + common.logger.info('Starting wallet...') + common.es(`sudo supervisorctl start monero monero-wallet`) + } + + common.logger.info('Monero is updated!') +} + function buildConfig (auth) { return `rpc-login=${auth} stagenet=0