Amount field shows insufficient funds error based on amoutn + gas total.

feature/default_network_editable
Dan 7 years ago committed by Chi Kei Chan
parent f01d119cc1
commit bd11e60b8c
  1. 12
      ui/app/conversion-util.js
  2. 17
      ui/app/send-v2.js

@ -132,12 +132,16 @@ const conversionUtil = (value, {
});
const addCurrencies = (a, b, options = {}) => {
const { toNumericBase, numberOfDecimals } = options
const value = (new BigNumber(a)).add(b);
const {
aBase,
bBase,
...conversionOptions,
} = options
const value = (new BigNumber(a, aBase)).add(b, bBase);
return converter({
value,
toNumericBase,
numberOfDecimals,
...conversionOptions,
})
}

@ -12,7 +12,11 @@ const GasFeeDisplay = require('./components/send/gas-fee-display-v2')
const { showModal } = require('./actions')
const { multiplyCurrencies, conversionGreaterThan } = require('./conversion-util')
const {
multiplyCurrencies,
conversionGreaterThan,
addCurrencies,
} = require('./conversion-util')
const { isValidAddress } = require('./util')
module.exports = SendTransactionScreen
@ -225,12 +229,19 @@ SendTransactionScreen.prototype.validateAmount = function (value) {
conversionRate,
primaryCurrency,
toCurrency,
selectedToken
selectedToken,
gasTotal,
} = this.props
const amount = value
let amountError = null
const totalAmount = addCurrencies(amount, gasTotal, {
aBase: 16,
bBase: 16,
toNumericBase: 'hex',
})
const sufficientBalance = conversionGreaterThan(
{
value: balance,
@ -239,7 +250,7 @@ SendTransactionScreen.prototype.validateAmount = function (value) {
conversionRate,
},
{
value: amount,
value: totalAmount,
fromNumericBase: 'hex',
conversionRate: amountConversionRate,
fromCurrency: selectedToken || primaryCurrency,

Loading…
Cancel
Save