@ -1,6 +1,7 @@
const assert = require ( 'assert' )
const assert = require ( 'assert' )
const EventEmitter = require ( 'events' )
const EventEmitter = require ( 'events' )
const createMetamaskProvider = require ( 'web3-provider-engine/zero.js' )
const createMetamaskProvider = require ( 'web3-provider-engine/zero.js' )
const SubproviderFromProvider = require ( 'web3-provider-engine/subproviders/web3.js' )
const createInfuraProvider = require ( 'eth-json-rpc-infura/src/createProvider' )
const createInfuraProvider = require ( 'eth-json-rpc-infura/src/createProvider' )
const ObservableStore = require ( 'obs-store' )
const ObservableStore = require ( 'obs-store' )
const ComposedStore = require ( 'obs-store/lib/composed' )
const ComposedStore = require ( 'obs-store/lib/composed' )
@ -133,15 +134,17 @@ module.exports = class NetworkController extends EventEmitter {
_configureInfuraProvider ( opts ) {
_configureInfuraProvider ( opts ) {
log . info ( '_configureInfuraProvider' , opts )
log . info ( '_configureInfuraProvider' , opts )
const blockTracker Provider = createInfuraProvider ( {
const infura Provider = createInfuraProvider ( {
network : opts . type ,
network : opts . type ,
} )
} )
const infuraSubprovider = new SubproviderFromProvider ( infuraProvider )
const providerParams = extend ( this . _baseProviderParams , {
const providerParams = extend ( this . _baseProviderParams , {
rpcUrl : opts . rpcUrl ,
rpcUrl : opts . rpcUrl ,
engineParams : {
engineParams : {
pollingInterval : 8000 ,
pollingInterval : 8000 ,
blockTrackerProvider ,
blockTrackerProvider : infuraProvider ,
} ,
} ,
dataSubprovider : infuraSubprovider ,
} )
} )
const provider = createMetamaskProvider ( providerParams )
const provider = createMetamaskProvider ( providerParams )
this . _setProvider ( provider )
this . _setProvider ( provider )