network - remove getter/setter

This commit is contained in:
kumavis 2017-09-27 14:10:58 -07:00
parent 7e9c6e96a1
commit c781e11c7a
1 changed files with 14 additions and 23 deletions

View File

@ -11,8 +11,8 @@ const DEFAULT_RPC = RPC_ADDRESS_LIST['rinkeby']
module.exports = class NetworkController extends EventEmitter { module.exports = class NetworkController extends EventEmitter {
constructor (config) { constructor (config) {
super() super()
this.networkStore = new ObservableStore('loading')
config.provider.rpcTarget = this.getRpcAddressForType(config.provider.type, config.provider) config.provider.rpcTarget = this.getRpcAddressForType(config.provider.type, config.provider)
this.networkStore = new ObservableStore('loading')
this.providerStore = new ObservableStore(config.provider) this.providerStore = new ObservableStore(config.provider)
this.store = new ComposedStore({ provider: this.providerStore, network: this.networkStore }) this.store = new ComposedStore({ provider: this.providerStore, network: this.networkStore })
this._providerListeners = {} this._providerListeners = {}
@ -21,42 +21,33 @@ module.exports = class NetworkController extends EventEmitter {
this.providerStore.subscribe((state) => this.switchNetwork({rpcUrl: state.rpcTarget})) this.providerStore.subscribe((state) => this.switchNetwork({rpcUrl: state.rpcTarget}))
} }
get provider () {
return this._proxy
}
set provider (provider) {
this._provider = provider
}
initializeProvider (opts, providerContructor = MetaMaskProvider) { initializeProvider (opts, providerContructor = MetaMaskProvider) {
this.providerInit = opts this._providerInit = opts
this._provider = providerContructor(opts) this._provider = providerContructor(opts)
this._proxy = createEventEmitterProxy(this._provider) this._proxy = createEventEmitterProxy(this._provider)
this.provider._blockTracker = createEventEmitterProxy(this._provider._blockTracker) this._proxy._blockTracker = createEventEmitterProxy(this._provider._blockTracker)
this.provider.on('block', this._logBlock.bind(this)) this._proxy.on('block', this._logBlock.bind(this))
this.provider.on('error', this.verifyNetwork.bind(this)) this._proxy.on('error', this.verifyNetwork.bind(this))
this.ethQuery = new EthQuery(this.provider) this.ethQuery = new EthQuery(this._proxy)
this.lookupNetwork() this.lookupNetwork()
return this.provider return this._proxy
} }
switchNetwork (providerInit) { switchNetwork (providerInit) {
this.setNetworkState('loading') this.setNetworkState('loading')
const newInit = extend(this.providerInit, providerInit) const newInit = extend(this._providerInit, providerInit)
this.providerInit = newInit this._providerInit = newInit
this._provider.removeAllListeners() this._proxy.removeAllListeners()
this._provider.stop() this._proxy.stop()
this._provider = MetaMaskProvider(newInit) this._provider = MetaMaskProvider(newInit)
// apply the listners created by other controllers // apply the listners created by other controllers
const blockTrackerHandlers = this.provider._blockTracker.proxyEventHandlers const blockTrackerHandlers = this._proxy._blockTracker.proxyEventHandlers
this.provider.setTarget(this._provider) this._proxy.setTarget(this._provider)
this.provider._blockTracker = createEventEmitterProxy(this._provider._blockTracker, blockTrackerHandlers) this._proxy._blockTracker = createEventEmitterProxy(this._provider._blockTracker, blockTrackerHandlers)
this.emit('networkDidChange') this.emit('networkDidChange')
} }
verifyNetwork () { verifyNetwork () {
// Check network when restoring connectivity: // Check network when restoring connectivity:
if (this.isNetworkLoading()) this.lookupNetwork() if (this.isNetworkLoading()) this.lookupNetwork()