1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-12 12:47:14 +01:00
metamask-extension/ui/app/pages/send/send-content/send-amount-row/amount-max-button/amount-max-button.utils.js
David Walsh 67303b7865
Fix BigNumber issues (#9860)
* Document where we need BigNumber-related changes

* Fix 1 unit test

* Debug progress

* Add required values for each upstream usage of getBigNumber

* Switch to base 10

* Address feedback
2020-11-13 14:08:18 +08:00

23 lines
680 B
JavaScript

import {
multiplyCurrencies,
subtractCurrencies,
} from '../../../../../helpers/utils/conversion-util'
import { addHexPrefix } from '../../../../../../../app/scripts/lib/util'
export function calcMaxAmount({ balance, gasTotal, sendToken, tokenBalance }) {
const { decimals } = sendToken || {}
const multiplier = Math.pow(10, Number(decimals || 0))
return sendToken
? multiplyCurrencies(tokenBalance, multiplier, {
toNumericBase: 'hex',
multiplicandBase: 16,
multiplierBase: 10,
})
: subtractCurrencies(addHexPrefix(balance), addHexPrefix(gasTotal), {
toNumericBase: 'hex',
aBase: 16,
bBase: 16,
})
}