diff options
author | kumavis <kumavis@users.noreply.github.com> | 2018-04-28 09:21:12 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-28 09:21:12 +0800 |
commit | 141884ee6ad55da98f5a0752b76e55238ddc5c5d (patch) | |
tree | 317bd7b99278d06e8d2ed6708e9b75ac273b7290 /ui/app/components | |
parent | 2b9925a9e4d5a1495c8ccf4a265a179eca7868ad (diff) | |
parent | 9f9e8789cc707fa3c53d64edeb2d51e84defcbc6 (diff) | |
download | tangerine-wallet-browser-141884ee6ad55da98f5a0752b76e55238ddc5c5d.tar.gz tangerine-wallet-browser-141884ee6ad55da98f5a0752b76e55238ddc5c5d.tar.zst tangerine-wallet-browser-141884ee6ad55da98f5a0752b76e55238ddc5c5d.zip |
Merge pull request #4113 from MetaMask/i4107-send-tokens-without-symbols-decimal-methods
Wraps calls to symbol() and decimals() in try catch (Fixes #4107)
Diffstat (limited to 'ui/app/components')
-rw-r--r-- | ui/app/components/pages/add-token.js | 2 | ||||
-rw-r--r-- | ui/app/components/pending-tx/index.js | 38 |
2 files changed, 14 insertions, 26 deletions
diff --git a/ui/app/components/pages/add-token.js b/ui/app/components/pages/add-token.js index 566e42450..8d52571d0 100644 --- a/ui/app/components/pages/add-token.js +++ b/ui/app/components/pages/add-token.js @@ -192,7 +192,7 @@ AddTokenScreen.prototype.attemptToAutoFillTokenParams = async function (address) if (symbol && decimals) { this.setState({ customSymbol: symbol, - customDecimals: decimals.toString(), + customDecimals: decimals, autoFilled: true, }) } diff --git a/ui/app/components/pending-tx/index.js b/ui/app/components/pending-tx/index.js index 6ee83ba7e..fb409cb92 100644 --- a/ui/app/components/pending-tx/index.js +++ b/ui/app/components/pending-tx/index.js @@ -8,7 +8,7 @@ const abiDecoder = require('abi-decoder') abiDecoder.addABI(abi) const inherits = require('util').inherits const actions = require('../../actions') -const util = require('../../util') +const { getSymbolAndDecimals } = require('../../token-util') const ConfirmSendEther = require('./confirm-send-ether') const ConfirmSendToken = require('./confirm-send-token') const ConfirmDeployContract = require('./confirm-deploy-contract') @@ -26,6 +26,7 @@ function mapStateToProps (state) { const { conversionRate, identities, + tokens: existingTokens, } = state.metamask const accounts = state.metamask.accounts const selectedAddress = state.metamask.selectedAddress || Object.keys(accounts)[0] @@ -33,6 +34,7 @@ function mapStateToProps (state) { conversionRate, identities, selectedAddress, + existingTokens, } } @@ -66,6 +68,7 @@ PendingTx.prototype.componentDidUpdate = function (prevProps, prevState) { } PendingTx.prototype.setTokenData = async function () { + const { existingTokens } = this.props const txMeta = this.gatherTxMeta() const txParams = txMeta.txParams || {} @@ -89,30 +92,15 @@ PendingTx.prototype.setTokenData = async function () { } if (isTokenTransaction) { - const token = util.getContractAtAddress(txParams.to) - const results = await Promise.all([ - token.symbol(), - token.decimals(), - ]) - const [ symbol, decimals ] = results - - if (symbol[0] && decimals[0]) { - this.setState({ - transactionType: TX_TYPES.SEND_TOKEN, - tokenAddress: txParams.to, - tokenSymbol: symbol[0], - tokenDecimals: decimals[0], - isFetching: false, - }) - } else { - this.setState({ - transactionType: TX_TYPES.SEND_TOKEN, - tokenAddress: txParams.to, - tokenSymbol: null, - tokenDecimals: null, - isFetching: false, - }) - } + const { symbol, decimals } = await getSymbolAndDecimals(txParams.to, existingTokens) + + this.setState({ + transactionType: TX_TYPES.SEND_TOKEN, + tokenAddress: txParams.to, + tokenSymbol: symbol, + tokenDecimals: decimals, + isFetching: false, + }) } else { this.setState({ transactionType: TX_TYPES.SEND_ETHER, |