You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
616 B
23 lines
616 B
7 years ago
|
const {
|
||
|
multiplyCurrencies,
|
||
|
subtractCurrencies,
|
||
7 years ago
|
} = require('../../../../../conversion-util')
|
||
7 years ago
|
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'})
|
||
|
: subtractCurrencies(
|
||
|
ethUtil.addHexPrefix(balance),
|
||
|
ethUtil.addHexPrefix(gasTotal),
|
||
|
{ toNumericBase: 'hex' }
|
||
|
)
|
||
|
}
|
||
|
|
||
|
module.exports = {
|
||
7 years ago
|
calcMaxAmount,
|
||
7 years ago
|
}
|