1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

Implemented feedback

This commit is contained in:
Dan Finlay 2017-09-25 14:36:49 -07:00
parent 40f1d08684
commit 8cd7329c91
3 changed files with 12 additions and 20 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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,