diff --git a/monitor/checkWorker3.js b/monitor/checkWorker3.js index c86d9611..a4fd2416 100644 --- a/monitor/checkWorker3.js +++ b/monitor/checkWorker3.js @@ -1,19 +1,27 @@ +const Web3 = require('web3') const logger = require('./logger')('checkWorker3') const stuckTransfers = require('./stuckTransfers') const { writeFile, createDir } = require('./utils/file') -const { MONITOR_BRIDGE_NAME } = process.env +const { MONITOR_BRIDGE_NAME, COMMON_HOME_BRIDGE_ADDRESS, COMMON_HOME_RPC_URL } = process.env +const { getBridgeMode, HOME_NATIVE_TO_ERC_ABI, BRIDGE_MODES } = require('../commons') + +const homeProvider = new Web3.providers.HttpProvider(COMMON_HOME_RPC_URL) +const web3Home = new Web3(homeProvider) async function checkWorker3() { try { - createDir(`/responses/${MONITOR_BRIDGE_NAME}`) - logger.debug('calling stuckTransfers()') - const transfers = await stuckTransfers() - // console.log(transfers) - if (!transfers) throw new Error('transfers is empty: ' + JSON.stringify(transfers)) - transfers.ok = transfers.total.length === 0 - writeFile(`/responses/${MONITOR_BRIDGE_NAME}/stuckTransfers.json`, transfers) - logger.debug('Done') + const homeBridge = new web3Home.eth.Contract(HOME_NATIVE_TO_ERC_ABI, COMMON_HOME_BRIDGE_ADDRESS) + const bridgeMode = await getBridgeMode(homeBridge) + if (bridgeMode === BRIDGE_MODES.NATIVE_TO_ERC_V1) { + createDir(`/responses/${MONITOR_BRIDGE_NAME}`) + logger.debug('calling stuckTransfers()') + const transfers = await stuckTransfers() + if (!transfers) throw new Error('transfers is empty: ' + JSON.stringify(transfers)) + transfers.ok = transfers.total.length === 0 + writeFile(`/responses/${MONITOR_BRIDGE_NAME}/stuckTransfers.json`, transfers) + logger.debug('Done') + } } catch (e) { logger.error('checkWorker3.js', e) } diff --git a/monitor/package.json b/monitor/package.json index d314fa98..978df3f1 100644 --- a/monitor/package.json +++ b/monitor/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.js", "scripts": { - "check-all": "timeout -s 9 5m node checkWorker.js && timeout -s 9 5m node checkWorker2.js", + "check-all": "timeout -s 9 5m node checkWorker.js && timeout -s 9 5m node checkWorker2.js && timeout -s 9 5m node checkWorker3.js", "start": "node index.js", "check-and-start": "yarn check-all && yarn start", "lint": "eslint . --ignore-path ../.eslintignore",