mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
4c87c05a02
* Fix rounding issue when sending max tokens * Ensure amount row shows exact amount of max tokens on send screen (#2) * Fix tests * Change stored redux value from BigNumber to hex string. Fix TokenInput default value
30 lines
669 B
JavaScript
30 lines
669 B
JavaScript
const {
|
|
multiplyCurrencies,
|
|
subtractCurrencies,
|
|
} = require('../../../../../conversion-util')
|
|
const ethUtil = require('ethereumjs-util')
|
|
|
|
function calcMaxAmount ({ balance, gasTotal, selectedToken, tokenBalance }) {
|
|
const { decimals } = selectedToken || {}
|
|
const multiplier = Math.pow(10, Number(decimals || 0))
|
|
|
|
return selectedToken
|
|
? multiplyCurrencies(
|
|
tokenBalance,
|
|
multiplier,
|
|
{
|
|
toNumericBase: 'hex',
|
|
multiplicandBase: 16,
|
|
}
|
|
)
|
|
: subtractCurrencies(
|
|
ethUtil.addHexPrefix(balance),
|
|
ethUtil.addHexPrefix(gasTotal),
|
|
{ toNumericBase: 'hex' }
|
|
)
|
|
}
|
|
|
|
module.exports = {
|
|
calcMaxAmount,
|
|
}
|