diff options
author | Dan Finlay <542863+danfinlay@users.noreply.github.com> | 2019-06-28 13:37:36 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-28 13:37:36 +0800 |
commit | 27a572d15a1c9a8463912df9d41dcfb96838bb80 (patch) | |
tree | 6ca645324e050c21df90d2c59cbde6e39c203612 /ui/app/helpers | |
parent | 99209095d17a4ef7da4fc73e7a65849a02baaf69 (diff) | |
parent | 56088d8370428118bdd6241f991824046a71c098 (diff) | |
download | tangerine-wallet-browser-27a572d15a1c9a8463912df9d41dcfb96838bb80.tar.gz tangerine-wallet-browser-27a572d15a1c9a8463912df9d41dcfb96838bb80.tar.zst tangerine-wallet-browser-27a572d15a1c9a8463912df9d41dcfb96838bb80.zip |
Merge pull request #6764 from MetaMask/Version-6.7.1
Version 6.7.1
Diffstat (limited to 'ui/app/helpers')
-rw-r--r-- | ui/app/helpers/utils/token-util.js | 21 | ||||
-rw-r--r-- | ui/app/helpers/utils/transactions.util.js | 20 |
2 files changed, 36 insertions, 5 deletions
diff --git a/ui/app/helpers/utils/token-util.js b/ui/app/helpers/utils/token-util.js index 35a19a69f..3920045ac 100644 --- a/ui/app/helpers/utils/token-util.js +++ b/ui/app/helpers/utils/token-util.js @@ -68,6 +68,22 @@ async function getDecimals (tokenAddress) { return decimals } +export async function fetchSymbolAndDecimals (tokenAddress) { + let symbol, decimals + + try { + symbol = await getSymbol(tokenAddress) + decimals = await getDecimals(tokenAddress) + } catch (error) { + log.warn(`symbol() and decimal() calls for token at address ${tokenAddress} resulted in error:`, error) + } + + return { + symbol: symbol || DEFAULT_SYMBOL, + decimals: decimals || DEFAULT_DECIMALS, + } +} + export async function getSymbolAndDecimals (tokenAddress, existingTokens = []) { const existingToken = existingTokens.find(({ address }) => tokenAddress === address) @@ -116,3 +132,8 @@ export function getTokenValue (tokenParams = []) { const valueData = tokenParams.find(param => param.name === '_value') return valueData && valueData.value } + +export function getTokenToAddress (tokenParams = []) { + const toAddressData = tokenParams.find(param => param.name === '_to') + return toAddressData && toAddressData.value +} diff --git a/ui/app/helpers/utils/transactions.util.js b/ui/app/helpers/utils/transactions.util.js index c84053ec7..b65bda5b2 100644 --- a/ui/app/helpers/utils/transactions.util.js +++ b/ui/app/helpers/utils/transactions.util.js @@ -103,6 +103,20 @@ export function getFourBytePrefix (data = '') { } /** + * Given an transaction category, returns a boolean which indicates whether the transaction is calling an erc20 token method + * + * @param {string} transactionCategory - The category of transaction being evaluated + * @returns {boolean} - whether the transaction is calling an erc20 token method + */ +export function isTokenMethodAction (transactionCategory) { + return [ + TOKEN_METHOD_TRANSFER, + TOKEN_METHOD_APPROVE, + TOKEN_METHOD_TRANSFER_FROM, + ].includes(transactionCategory) +} + +/** * Returns the action of a transaction as a key to be passed into the translator. * @param {Object} transaction - txData object * @returns {string|undefined} @@ -122,11 +136,7 @@ export function getTransactionActionKey (transaction) { return DEPLOY_CONTRACT_ACTION_KEY } - const isTokenAction = [ - TOKEN_METHOD_TRANSFER, - TOKEN_METHOD_APPROVE, - TOKEN_METHOD_TRANSFER_FROM, - ].find(actionName => actionName === transactionCategory) + const isTokenAction = isTokenMethodAction(transactionCategory) const isNonTokenSmartContract = transactionCategory === CONTRACT_INTERACTION_KEY if (isTokenAction || isNonTokenSmartContract) { |