Fix interaction with the legacy v1 contracts

This commit is contained in:
Kirill Fedoseev 2020-12-08 15:33:02 +03:00
parent c254e35d11
commit 65dc698022
2 changed files with 131 additions and 1 deletions

@ -79,6 +79,67 @@ const homeV1Abi = [
payable: false,
stateMutability: 'view',
type: 'function'
},
{
constant: true,
inputs: [],
name: 'foreignDailyLimit',
outputs: [
{
name: '',
type: 'uint256'
}
],
payable: false,
stateMutability: 'view',
type: 'function'
},
{
constant: true,
inputs: [],
name: 'foreignMaxPerTx',
outputs: [
{
name: '',
type: 'uint256'
}
],
payable: false,
stateMutability: 'view',
type: 'function'
},
{
constant: true,
inputs: [],
name: 'getCurrentDay',
outputs: [
{
name: '',
type: 'uint256'
}
],
payable: false,
stateMutability: 'view',
type: 'function'
},
{
constant: true,
inputs: [
{
name: '',
type: 'uint256'
}
],
name: 'totalExecutedPerDay',
outputs: [
{
name: '',
type: 'uint256'
}
],
payable: false,
stateMutability: 'view',
type: 'function'
}
]
@ -182,6 +243,67 @@ const foreignViAbi = [
payable: false,
stateMutability: 'view',
type: 'function'
},
{
constant: true,
inputs: [],
name: 'homeDailyLimit',
outputs: [
{
name: '',
type: 'uint256'
}
],
payable: false,
stateMutability: 'view',
type: 'function'
},
{
constant: true,
inputs: [],
name: 'homeMaxPerTx',
outputs: [
{
name: '',
type: 'uint256'
}
],
payable: false,
stateMutability: 'view',
type: 'function'
},
{
constant: true,
inputs: [],
name: 'getCurrentDay',
outputs: [
{
name: '',
type: 'uint256'
}
],
payable: false,
stateMutability: 'view',
type: 'function'
},
{
constant: true,
inputs: [
{
name: '',
type: 'uint256'
}
],
name: 'totalExecutedPerDay',
outputs: [
{
name: '',
type: 'uint256'
}
],
payable: false,
stateMutability: 'view',
type: 'function'
}
]

@ -2,7 +2,7 @@ require('dotenv').config()
const BN = require('bignumber.js')
const { fromWei } = require('web3').utils
const logger = require('./logger')('getRequestsOutOfLimits')
const { getBridgeABIs } = require('../commons')
const { BRIDGE_MODES, getBridgeABIs } = require('../commons')
const { web3Home, web3Foreign } = require('./utils/web3')
const { COMMON_HOME_BRIDGE_ADDRESS, COMMON_FOREIGN_BRIDGE_ADDRESS } = process.env
@ -53,6 +53,14 @@ async function main(bridgeMode, unprocessedRequests) {
const foreignBridge = new web3Foreign.eth.Contract(FOREIGN_ABI, COMMON_FOREIGN_BRIDGE_ADDRESS)
const homeBridge = new web3Home.eth.Contract(HOME_ABI, COMMON_HOME_BRIDGE_ADDRESS)
// replace the required methods by their legacy versions
if (bridgeMode === BRIDGE_MODES.NATIVE_TO_ERC_V1) {
homeBridge.methods.executionDailyLimit = homeBridge.methods.foreignDailyLimit
homeBridge.methods.executionMaxPerTx = homeBridge.methods.foreignMaxPerTx
foreignBridge.methods.executionDailyLimit = foreignBridge.methods.homeDailyLimit
foreignBridge.methods.executionMaxPerTx = foreignBridge.methods.homeMaxPerTx
}
return {
home: await checkOutOfLimitsStats(homeBridge, foreignRequests),
foreign: await checkOutOfLimitsStats(foreignBridge, homeRequests)