Use `chainId` in account tracker (#9573)

The `chainId` is now used by the account tracker to identify the
current network, instead of the `networkId`. This should have no
functional impact, aside from that different chains with the same
`networkId` will now be correctly distinguished from each other.
feature/default_network_editable
Mark Stacey 4 years ago committed by GitHub
parent 98e8f6675f
commit a53121a763
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 16
      app/scripts/lib/account-tracker.js
  2. 2
      app/scripts/metamask-controller.js

@ -14,7 +14,7 @@ import log from 'loglevel'
import pify from 'pify' import pify from 'pify'
import Web3 from 'web3' import Web3 from 'web3'
import SINGLE_CALL_BALANCES_ABI from 'single-call-balance-checker-abi' import SINGLE_CALL_BALANCES_ABI from 'single-call-balance-checker-abi'
import { MAINNET_NETWORK_ID, RINKEBY_NETWORK_ID, ROPSTEN_NETWORK_ID, KOVAN_NETWORK_ID } from '../controllers/network/enums' import { MAINNET_CHAIN_ID, RINKEBY_CHAIN_ID, ROPSTEN_CHAIN_ID, KOVAN_CHAIN_ID } from '../controllers/network/enums'
import { import {
SINGLE_CALL_BALANCES_ADDRESS, SINGLE_CALL_BALANCES_ADDRESS,
@ -61,7 +61,7 @@ export default class AccountTracker {
}) })
// bind function for easier listener syntax // bind function for easier listener syntax
this._updateForBlock = this._updateForBlock.bind(this) this._updateForBlock = this._updateForBlock.bind(this)
this.network = opts.network this.getCurrentChainId = opts.getCurrentChainId
this.web3 = new Web3(this._provider) this.web3 = new Web3(this._provider)
} }
@ -196,22 +196,22 @@ export default class AccountTracker {
async _updateAccounts () { async _updateAccounts () {
const { accounts } = this.store.getState() const { accounts } = this.store.getState()
const addresses = Object.keys(accounts) const addresses = Object.keys(accounts)
const currentNetwork = this.network.getNetworkState() const chainId = this.getCurrentChainId()
switch (currentNetwork) { switch (chainId) {
case MAINNET_NETWORK_ID.toString(): case MAINNET_CHAIN_ID:
await this._updateAccountsViaBalanceChecker(addresses, SINGLE_CALL_BALANCES_ADDRESS) await this._updateAccountsViaBalanceChecker(addresses, SINGLE_CALL_BALANCES_ADDRESS)
break break
case RINKEBY_NETWORK_ID.toString(): case RINKEBY_CHAIN_ID:
await this._updateAccountsViaBalanceChecker(addresses, SINGLE_CALL_BALANCES_ADDRESS_RINKEBY) await this._updateAccountsViaBalanceChecker(addresses, SINGLE_CALL_BALANCES_ADDRESS_RINKEBY)
break break
case ROPSTEN_NETWORK_ID.toString(): case ROPSTEN_CHAIN_ID:
await this._updateAccountsViaBalanceChecker(addresses, SINGLE_CALL_BALANCES_ADDRESS_ROPSTEN) await this._updateAccountsViaBalanceChecker(addresses, SINGLE_CALL_BALANCES_ADDRESS_ROPSTEN)
break break
case KOVAN_NETWORK_ID.toString(): case KOVAN_CHAIN_ID:
await this._updateAccountsViaBalanceChecker(addresses, SINGLE_CALL_BALANCES_ADDRESS_KOVAN) await this._updateAccountsViaBalanceChecker(addresses, SINGLE_CALL_BALANCES_ADDRESS_KOVAN)
break break

@ -168,7 +168,7 @@ export default class MetamaskController extends EventEmitter {
this.accountTracker = new AccountTracker({ this.accountTracker = new AccountTracker({
provider: this.provider, provider: this.provider,
blockTracker: this.blockTracker, blockTracker: this.blockTracker,
network: this.networkController, getCurrentChainId: this.networkController.getCurrentChainId.bind(this.networkController),
}) })
// start and stop polling for balances based on activeControllerConnections // start and stop polling for balances based on activeControllerConnections

Loading…
Cancel
Save