diff options
author | Esteban MIno <efmino@uc.cl> | 2018-08-21 06:35:38 +0800 |
---|---|---|
committer | Esteban MIno <efmino@uc.cl> | 2018-08-21 06:35:38 +0800 |
commit | 81cd29df43feb2469b78c6240d12ffcb9a68678e (patch) | |
tree | 15b14d9d3a29e5c21776ce5f9a3b35c7934abb81 /app/scripts/controllers/network/createInfuraClient.js | |
parent | dbab9a007fc9663427cebdbe1d41c51df67fd1fe (diff) | |
parent | 887cad973f25f43d2d4502ff31657f156a44b188 (diff) | |
download | tangerine-wallet-browser-81cd29df43feb2469b78c6240d12ffcb9a68678e.tar.gz tangerine-wallet-browser-81cd29df43feb2469b78c6240d12ffcb9a68678e.tar.zst tangerine-wallet-browser-81cd29df43feb2469b78c6240d12ffcb9a68678e.zip |
Merge branch 'develop' into WatchTokenFeature
Diffstat (limited to 'app/scripts/controllers/network/createInfuraClient.js')
-rw-r--r-- | app/scripts/controllers/network/createInfuraClient.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/app/scripts/controllers/network/createInfuraClient.js b/app/scripts/controllers/network/createInfuraClient.js new file mode 100644 index 000000000..41af4d9f9 --- /dev/null +++ b/app/scripts/controllers/network/createInfuraClient.js @@ -0,0 +1,25 @@ +const mergeMiddleware = require('json-rpc-engine/src/mergeMiddleware') +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') + +module.exports = createInfuraClient + +function createInfuraClient ({ network }) { + const infuraMiddleware = createInfuraMiddleware({ network }) + const blockProvider = providerFromMiddleware(infuraMiddleware) + const blockTracker = new BlockTracker({ provider: blockProvider }) + + const networkMiddleware = mergeMiddleware([ + createBlockCacheMiddleware({ blockTracker }), + createInflightMiddleware(), + createBlockReEmitMiddleware({ blockTracker, provider: blockProvider }), + createBlockTrackerInspectorMiddleware({ blockTracker }), + infuraMiddleware, + ]) + return { networkMiddleware, blockTracker } +} |