40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
const baseConfig = require('./base.config')
|
|
const { ERC20_ABI } = require('../../commons')
|
|
const { EXIT_CODES } = require('../src/utils/constants')
|
|
|
|
const initialChecksJson = process.argv[3]
|
|
|
|
if (!initialChecksJson) {
|
|
throw new Error('initial check parameter was not provided.')
|
|
}
|
|
|
|
let initialChecks
|
|
try {
|
|
initialChecks = JSON.parse(initialChecksJson)
|
|
} catch (e) {
|
|
throw new Error('Error on decoding values from initial checks.')
|
|
}
|
|
|
|
const id = `${baseConfig.id}-half-duplex-transfer`
|
|
|
|
const transferWatcherRequired = baseConfig.id === 'erc-native'
|
|
|
|
if (!transferWatcherRequired) {
|
|
console.error(`Transfer watcher not required for bridge mode ${process.env.ORACLE_BRIDGE_MODE}`)
|
|
process.exit(EXIT_CODES.WATCHER_NOT_REQUIRED)
|
|
}
|
|
|
|
module.exports = {
|
|
...baseConfig.bridgeConfig,
|
|
...baseConfig.foreignConfig,
|
|
event: 'Transfer',
|
|
eventContractAddress: initialChecks.halfDuplexTokenAddress,
|
|
eventAbi: ERC20_ABI,
|
|
eventFilter: { to: process.env.COMMON_FOREIGN_BRIDGE_ADDRESS },
|
|
queue: 'home',
|
|
workerQueue: 'swap-tokens',
|
|
name: `watcher-${id}`,
|
|
id,
|
|
idle: initialChecks.idle
|
|
}
|