diff options
network - import createBlockTrackerInspectorMiddleware and rearrange cache middleware order
Diffstat (limited to 'app/scripts/controllers/network/createInfuraClient.js')
-rw-r--r-- | app/scripts/controllers/network/createInfuraClient.js | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/app/scripts/controllers/network/createInfuraClient.js b/app/scripts/controllers/network/createInfuraClient.js index 663a2595a..6976e6022 100644 --- a/app/scripts/controllers/network/createInfuraClient.js +++ b/app/scripts/controllers/network/createInfuraClient.js @@ -3,6 +3,7 @@ const createAsyncMiddleware = require('json-rpc-engine/src/createAsyncMiddleware const createBlockReEmitMiddleware = require('eth-json-rpc-middleware/block-reemit') const createBlockCacheMiddleware = require('eth-json-rpc-middleware/block-cache') const createInflightMiddleware = require('eth-json-rpc-middleware/inflight-cache') +const createBlockTrackerInspectorMiddleware = require('eth-json-rpc-middleware/block-tracker-inspector') const providerFromMiddleware = require('eth-json-rpc-middleware/providerFromMiddleware') const createInfuraMiddleware = require('eth-json-rpc-infura') const BlockTracker = require('eth-block-tracker') @@ -15,23 +16,11 @@ function createInfuraClient ({ network }) { const blockTracker = new BlockTracker({ provider: blockProvider }) const networkMiddleware = mergeMiddleware([ - createBlockReEmitMiddleware({ blockTracker, provider: blockProvider }), createBlockCacheMiddleware({ blockTracker }), createInflightMiddleware(), + createBlockReEmitMiddleware({ blockTracker, provider: blockProvider }), createBlockTrackerInspectorMiddleware({ blockTracker }), infuraMiddleware, ]) return { networkMiddleware, blockTracker } } - -// inspect if response contains a block ref higher than our latest block -const futureBlockRefRequests = ['eth_getTransactionByHash', 'eth_getTransactionReceipt'] -function createBlockTrackerInspectorMiddleware ({ blockTracker }) { - return createAsyncMiddleware(async (req, res, next) => { - if (!futureBlockRefRequests.includes(req.method)) return next() - await next() - const blockNumber = Number.parseInt(res.result.blockNumber, 16) - const currentBlockNumber = Number.parseInt(blockTracker.getCurrentBlock(), 16) - if (blockNumber > currentBlockNumber) await blockTracker.checkForLatestBlock() - }) -} |