1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-29 07:16:36 +01:00
metamask-extension/ui/hooks/useTokenData.js
Mark Stacey 3732c5f71e
Add JSDoc ESLint rules (#12112)
ESLint rules have been added to enforce our JSDoc conventions. These
rules were introduced by updating `@metamask/eslint-config` to v9.

Some of the rules have been disabled because the effort to fix all lint
errors was too high. It might be easiest to enable these rules one
directory at a time, or one rule at a time.

Most of the changes in this PR were a result of running
`yarn lint:fix`. There were a handful of manual changes that seemed
obvious and simple to make. Anything beyond that and the rule was left
disabled.
2022-01-07 12:27:33 -03:30

25 lines
1.0 KiB
JavaScript

import { useMemo } from 'react';
import { getTokenData } from '../helpers/utils/transactions.util';
/**
* 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 getTokenData(transactionData);
}, [isTokenTransaction, transactionData]);
}