38 lines
1.5 KiB
JavaScript
38 lines
1.5 KiB
JavaScript
|
const baseConfig = require('./base.config')
|
||
|
|
||
|
const { DEFAULT_TRANSACTION_RESEND_INTERVAL } = require('../src/utils/constants')
|
||
|
const { MEV_HELPER_ABI } = require('../src/utils/mev')
|
||
|
const { web3Foreign, getFlashbotsProvider } = require('../src/services/web3')
|
||
|
|
||
|
const {
|
||
|
ORACLE_FOREIGN_TX_RESEND_INTERVAL,
|
||
|
ORACLE_MEV_FOREIGN_HELPER_CONTRACT_ADDRESS,
|
||
|
ORACLE_MEV_FOREIGN_MIN_GAS_PRICE,
|
||
|
ORACLE_MEV_FOREIGN_FLAT_MINER_FEE,
|
||
|
ORACLE_MEV_FOREIGN_MAX_PRIORITY_FEE_PER_GAS,
|
||
|
ORACLE_MEV_FOREIGN_MAX_FEE_PER_GAS,
|
||
|
ORACLE_MEV_FOREIGN_BUNDLES_BLOCK_RANGE
|
||
|
} = process.env
|
||
|
|
||
|
const contract = new baseConfig.foreign.web3.eth.Contract(MEV_HELPER_ABI, ORACLE_MEV_FOREIGN_HELPER_CONTRACT_ADDRESS)
|
||
|
|
||
|
module.exports = {
|
||
|
...baseConfig,
|
||
|
pollingInterval: baseConfig.foreign.pollingInterval,
|
||
|
mevForeign: {
|
||
|
contractAddress: ORACLE_MEV_FOREIGN_HELPER_CONTRACT_ADDRESS,
|
||
|
contract,
|
||
|
minGasPrice: ORACLE_MEV_FOREIGN_MIN_GAS_PRICE,
|
||
|
flatMinerFee: ORACLE_MEV_FOREIGN_FLAT_MINER_FEE,
|
||
|
maxPriorityFeePerGas: ORACLE_MEV_FOREIGN_MAX_PRIORITY_FEE_PER_GAS,
|
||
|
maxFeePerGas: ORACLE_MEV_FOREIGN_MAX_FEE_PER_GAS,
|
||
|
bundlesPerIteration: Math.max(parseInt(ORACLE_MEV_FOREIGN_BUNDLES_BLOCK_RANGE, 10) || 5, 1),
|
||
|
getFlashbotsProvider
|
||
|
},
|
||
|
mevJobsRedisKey: `${baseConfig.id}-collected-signatures-mev:mevJobs`,
|
||
|
id: 'mev-sender-foreign',
|
||
|
name: 'mev-sender-foreign',
|
||
|
web3: web3Foreign,
|
||
|
resendInterval: parseInt(ORACLE_FOREIGN_TX_RESEND_INTERVAL, 10) || DEFAULT_TRANSACTION_RESEND_INTERVAL
|
||
|
}
|