diff options
author | Dan Finlay <dan@danfinlay.com> | 2017-09-26 05:36:49 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2017-09-26 05:36:49 +0800 |
commit | 8cd7329c91b047ef15c81b164075ea6c1d15b0df (patch) | |
tree | d51ed2a85a45ac23dbfb3595f4c8c13850be3b58 | |
parent | 40f1d0868401662c42f6a031549c9b023427ccef (diff) | |
download | tangerine-wallet-browser-8cd7329c91b047ef15c81b164075ea6c1d15b0df.tar tangerine-wallet-browser-8cd7329c91b047ef15c81b164075ea6c1d15b0df.tar.gz tangerine-wallet-browser-8cd7329c91b047ef15c81b164075ea6c1d15b0df.tar.bz2 tangerine-wallet-browser-8cd7329c91b047ef15c81b164075ea6c1d15b0df.tar.lz tangerine-wallet-browser-8cd7329c91b047ef15c81b164075ea6c1d15b0df.tar.xz tangerine-wallet-browser-8cd7329c91b047ef15c81b164075ea6c1d15b0df.tar.zst tangerine-wallet-browser-8cd7329c91b047ef15c81b164075ea6c1d15b0df.zip |
Implemented feedback
-rw-r--r-- | app/scripts/controllers/balance.js | 4 | ||||
-rw-r--r-- | app/scripts/lib/pending-balance-calculator.js | 8 | ||||
-rw-r--r-- | test/unit/pending-balance-test.js | 20 |
3 files changed, 12 insertions, 20 deletions
diff --git a/app/scripts/controllers/balance.js b/app/scripts/controllers/balance.js index 840b7abc3..9b2566852 100644 --- a/app/scripts/controllers/balance.js +++ b/app/scripts/controllers/balance.js @@ -20,7 +20,7 @@ class BalanceController { getPendingTransactions: this._getPendingTransactions.bind(this), }) - this.registerUpdates() + this._registerUpdates() } async updateBalance () { @@ -30,7 +30,7 @@ class BalanceController { }) } - registerUpdates () { + _registerUpdates () { const update = this.updateBalance.bind(this) this.txController.on('submitted', update) this.txController.on('confirmed', update) diff --git a/app/scripts/lib/pending-balance-calculator.js b/app/scripts/lib/pending-balance-calculator.js index c66bffbbb..cea642f1a 100644 --- a/app/scripts/lib/pending-balance-calculator.js +++ b/app/scripts/lib/pending-balance-calculator.js @@ -19,19 +19,17 @@ class PendingBalanceCalculator { this.getPendingTransactions(), ]) - const balance = results[0] - const pending = results[1] - + const [ balance, pending ] = results if (!balance) return undefined const pendingValue = pending.reduce((total, tx) => { - return total.add(this.valueFor(tx)) + return total.add(this.calculateMaxCost(tx)) }, new BN(0)) return `0x${balance.sub(pendingValue).toString(16)}` } - valueFor (tx) { + calculateMaxCost (tx) { const txValue = tx.txParams.value const value = this.hexToBn(txValue) const gasPrice = this.hexToBn(tx.txParams.gasPrice) diff --git a/test/unit/pending-balance-test.js b/test/unit/pending-balance-test.js index dde30fecc..5048d487b 100644 --- a/test/unit/pending-balance-test.js +++ b/test/unit/pending-balance-test.js @@ -11,7 +11,7 @@ const ether = '0x' + etherBn.toString(16) describe('PendingBalanceCalculator', function () { let balanceCalculator - describe('#valueFor(tx)', function () { + describe('#calculateMaxCost(tx)', function () { it('returns a BN for a given tx value', function () { const txGen = new MockTxGen() pendingTxs = txGen.generate({ @@ -24,7 +24,7 @@ describe('PendingBalanceCalculator', function () { }, { count: 1 }) const balanceCalculator = generateBalanceCalcWith([], zeroBn) - const result = balanceCalculator.valueFor(pendingTxs[0]) + const result = balanceCalculator.calculateMaxCost(pendingTxs[0]) assert.equal(result.toString(), etherBn.toString(), 'computes one ether') }) @@ -40,8 +40,8 @@ describe('PendingBalanceCalculator', function () { }, { count: 1 }) const balanceCalculator = generateBalanceCalcWith([], zeroBn) - const result = balanceCalculator.valueFor(pendingTxs[0]) - assert.equal(result.toString(), '6', 'computes one ether') + const result = balanceCalculator.calculateMaxCost(pendingTxs[0]) + assert.equal(result.toString(), '6', 'computes 6 wei of gas') }) }) @@ -82,15 +82,9 @@ describe('PendingBalanceCalculator', function () { }) function generateBalanceCalcWith (transactions, providerStub = zeroBn) { - const getPendingTransactions = () => Promise.resolve(transactions) - const getBalance = () => Promise.resolve(providerStub) - providerResultStub.result = providerStub - const provider = { - sendAsync: (_, cb) => { cb(undefined, providerResultStub) }, - _blockTracker: { - getCurrentBlock: () => '0x11b568', - }, - } + const getPendingTransactions = async () => transactions + const getBalance = async () => providerStub + return new PendingBalanceCalculator({ getBalance, getPendingTransactions, |