Merge pull request #1266 from chaotixkilla/feat-log-infura-calls-8.0

[Release] Add Infura request logging for future performance purposes
This commit is contained in:
Rafael Taranto 2022-06-27 21:57:24 +01:00 committed by GitHub
commit 4506b2f2eb

View file

@ -9,9 +9,10 @@ const { default: Common, Chain, Hardfork } = require('@ethereumjs/common')
const Tx = require('ethereumjs-tx')
const util = require('ethereumjs-util')
const coins = require('@lamassu/coins')
const pify = require('pify')
const _pify = require('pify')
const BN = require('../../../bn')
const ABI = require('../../tokens')
const logger = require('../../../logger')
exports.SUPPORTED_MODULES = ['wallet']
@ -34,6 +35,19 @@ module.exports = {
checkBlockchainStatus
}
const infuraCalls = {}
const pify = _function => {
if (_.isString(_function.call)) logInfuraCall(_function.call)
return _pify(_function)
}
const logInfuraCall = call => {
if (!_.includes('infura', web3.currentProvider.host)) return
_.isNil(infuraCalls[call]) ? infuraCalls[call] = 1 : infuraCalls[call]++
logger.info(`Calling web3 method ${call} via Infura. Current count for this session: ${JSON.stringify(infuraCalls)}`)
}
function connect (url) {
web3.setProvider(new web3.providers.HttpProvider(url))
}