1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-04 23:14:56 +01:00
metamask-extension/ui/hooks/useTokenData.js
Alex Donesky e3ea4f2cd0
Fix issue where we show contract address as recipient when calling safe transfer method on erc721 or erc1155 contracts (#13535)
* fix issue where we show contract address as recipient when calling safe transfer method on erc721 or erc1155 contracts

* updates function name getTransactionData -> parseStandardTokenTransactionData, and adds documentation
2022-03-17 13:35:40 -05:00

25 lines
1.1 KiB
JavaScript

import { useMemo } from 'react';
import { parseStandardTokenTransactionData } from '../../shared/modules/transaction.utils';
/**
* useTokenData
* Given the data string from txParams return a decoded object of the details of the
* transaction data.
*
* @param {string} [transactionData] - Raw data string from token transaction
* @param {boolean} [isTokenTransaction] - Due to the nature of hooks, it isn't possible
* to conditionally call this hook. This flag will
* force this hook to return null if it set as false
* which indicates the transaction is not associated
* with a token.
* @returns {Object} Decoded token data
*/
export function useTokenData(transactionData, isTokenTransaction = true) {
return useMemo(() => {
if (!isTokenTransaction || !transactionData) {
return null;
}
return parseStandardTokenTransactionData(transactionData);
}, [isTokenTransaction, transactionData]);
}