diff --git a/lib/plugins/wallet/geth/base.js b/lib/plugins/wallet/geth/base.js index f12eacf5..bdd7ac55 100644 --- a/lib/plugins/wallet/geth/base.js +++ b/lib/plugins/wallet/geth/base.js @@ -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)) }