mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
ddaa492751
The chosen token in the `send` flow was set from one of two places: `metamask.selectedTokenAddress` or `metamask.send.token`. The former is used most of the time, but the latter is used for the 'Edit' button shown in the upper-left of the confirmation UI. The send flow will now exclusively use `metamask.send.token` for the token state during the send flow. `metamask.selectedTokenAddress` is now only used for the selected token state on the Home screen. This simplifies the Redux state, as the send token is now in one place instead of two, and `metamask.selectedTokenAddress` has only one purpose.
23 lines
624 B
JavaScript
23 lines
624 B
JavaScript
import { multiplyCurrencies, subtractCurrencies } from '../../../../../helpers/utils/conversion-util'
|
|
import ethUtil from 'ethereumjs-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,
|
|
}
|
|
)
|
|
: subtractCurrencies(
|
|
ethUtil.addHexPrefix(balance),
|
|
ethUtil.addHexPrefix(gasTotal),
|
|
{ toNumericBase: 'hex' }
|
|
)
|
|
}
|