diff options
author | Dan Miller <danjm.com@gmail.com> | 2019-06-28 11:53:12 +0800 |
---|---|---|
committer | Mark Stacey <markjstacey@gmail.com> | 2019-06-28 12:51:33 +0800 |
commit | 789fc8b8ad3136688036f77a3925541b605f8fc3 (patch) | |
tree | 9dbc5fa4cddb2c93065d00ccaab66cbbcce57377 /ui/app/pages/confirm-token-transaction-base | |
parent | 0e108db3cc96a86040256e189aed9202834c3c47 (diff) | |
download | tangerine-wallet-browser-789fc8b8ad3136688036f77a3925541b605f8fc3.tar.gz tangerine-wallet-browser-789fc8b8ad3136688036f77a3925541b605f8fc3.tar.zst tangerine-wallet-browser-789fc8b8ad3136688036f77a3925541b605f8fc3.zip |
Fixes display of confirm screen token decimals by not relying on confirmTransaction state.
Diffstat (limited to 'ui/app/pages/confirm-token-transaction-base')
-rw-r--r-- | ui/app/pages/confirm-token-transaction-base/confirm-token-transaction-base.container.js | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/ui/app/pages/confirm-token-transaction-base/confirm-token-transaction-base.container.js b/ui/app/pages/confirm-token-transaction-base/confirm-token-transaction-base.container.js index f5f30a460..fc5e2f90d 100644 --- a/ui/app/pages/confirm-token-transaction-base/confirm-token-transaction-base.container.js +++ b/ui/app/pages/confirm-token-transaction-base/confirm-token-transaction-base.container.js @@ -1,27 +1,42 @@ import { connect } from 'react-redux' import ConfirmTokenTransactionBase from './confirm-token-transaction-base.component' import { - tokenAmountAndToAddressSelector, contractExchangeRateSelector, } from '../../selectors/confirm-transaction' +import { tokenSelector } from '../../selectors/tokens' +import { + getTokenData, +} from '../../helpers/utils/transactions.util' +import { + calcTokenAmount, + getTokenToAddress, + getTokenValue, +} from '../../helpers/utils/token-util' + -const mapStateToProps = (state, ownProps) => { - const { tokenAmount: ownTokenAmount } = ownProps +const mapStateToProps = (state) => { const { confirmTransaction, metamask: { currentCurrency, conversionRate } } = state const { - txData: { txParams: { to: tokenAddress } = {} } = {}, - tokenProps: { tokenSymbol } = {}, + txData: { txParams: { to: tokenAddress, data } = {} } = {}, fiatTransactionTotal, ethTransactionTotal, } = confirmTransaction - const { tokenAmount, toAddress } = tokenAmountAndToAddressSelector(state) + + const tokens = tokenSelector(state) + const currentToken = tokens && tokens.find(({ address }) => tokenAddress === address) + const { decimals, symbol: tokenSymbol } = currentToken || {} + + const tokenData = getTokenData(data) + const tokenValue = tokenData && getTokenValue(tokenData.params) + const toAddress = tokenData && getTokenToAddress(tokenData.params) + const tokenAmount = tokenData && calcTokenAmount(tokenValue, decimals).toString() const contractExchangeRate = contractExchangeRateSelector(state) return { toAddress, tokenAddress, - tokenAmount: typeof ownTokenAmount !== 'undefined' ? ownTokenAmount : tokenAmount, + tokenAmount, tokenSymbol, currentCurrency, conversionRate, |