aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/controllers/balance.js
diff options
context:
space:
mode:
authorkumavis <aaron@kumavis.me>2017-09-27 12:42:30 +0800
committerkumavis <aaron@kumavis.me>2017-09-27 12:42:30 +0800
commit1877c0766c1f3ab46ec89dad0200fb8f75f52bae (patch)
tree44243d257dfb7f787882578fa14df8f01900fb45 /app/scripts/controllers/balance.js
parent443b1a8eb7883b6799692ddc24d0555d49bd1787 (diff)
parent6ca519e97c4c282023ab6b7788715ff8d7ec8189 (diff)
downloadtangerine-wallet-browser-1877c0766c1f3ab46ec89dad0200fb8f75f52bae.tar
tangerine-wallet-browser-1877c0766c1f3ab46ec89dad0200fb8f75f52bae.tar.gz
tangerine-wallet-browser-1877c0766c1f3ab46ec89dad0200fb8f75f52bae.tar.bz2
tangerine-wallet-browser-1877c0766c1f3ab46ec89dad0200fb8f75f52bae.tar.lz
tangerine-wallet-browser-1877c0766c1f3ab46ec89dad0200fb8f75f52bae.tar.xz
tangerine-wallet-browser-1877c0766c1f3ab46ec89dad0200fb8f75f52bae.tar.zst
tangerine-wallet-browser-1877c0766c1f3ab46ec89dad0200fb8f75f52bae.zip
Merge branch 'master' of github.com:MetaMask/metamask-extension into BreakOutKeyringController
Diffstat (limited to 'app/scripts/controllers/balance.js')
-rw-r--r--app/scripts/controllers/balance.js23
1 files changed, 12 insertions, 11 deletions
diff --git a/app/scripts/controllers/balance.js b/app/scripts/controllers/balance.js
index ddeb06cf9..964dff0df 100644
--- a/app/scripts/controllers/balance.js
+++ b/app/scripts/controllers/balance.js
@@ -5,10 +5,11 @@ const BN = require('ethereumjs-util').BN
class BalanceController {
constructor (opts = {}) {
- const { address, accountTracker, txController } = opts
+ const { address, accountTracker, txController, blockTracker } = opts
this.address = address
this.accountTracker = accountTracker
this.txController = txController
+ this.blockTracker = blockTracker
const initState = {
ethBalance: undefined,
@@ -16,11 +17,11 @@ class BalanceController {
this.store = new ObservableStore(initState)
this.balanceCalc = new PendingBalanceCalculator({
- getBalance: () => Promise.resolve(this._getBalance()),
+ getBalance: () => this._getBalance(),
getPendingTransactions: this._getPendingTransactions.bind(this),
})
- this.registerUpdates()
+ this._registerUpdates()
}
async updateBalance () {
@@ -30,29 +31,29 @@ class BalanceController {
})
}
- registerUpdates () {
+ _registerUpdates () {
const update = this.updateBalance.bind(this)
this.txController.on('submitted', update)
this.txController.on('confirmed', update)
this.txController.on('failed', update)
- this.txController.blockTracker.on('block', update)
+ this.accountTracker.store.subscribe(update)
+ this.blockTracker.on('block', update)
}
- _getBalance () {
- const store = this.accountTracker.getState()
- const balances = store.accounts
- const entry = balances[this.address]
+ async _getBalance () {
+ const { accounts } = this.accountTracker.store.getState()
+ const entry = accounts[this.address]
const balance = entry.balance
return balance ? new BN(balance.substring(2), 16) : undefined
}
- _getPendingTransactions () {
+ async _getPendingTransactions () {
const pending = this.txController.getFilteredTxList({
from: this.address,
status: 'submitted',
err: undefined,
})
- return Promise.resolve(pending)
+ return pending
}
}