aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/helpers/utils
diff options
context:
space:
mode:
Diffstat (limited to 'ui/app/helpers/utils')
-rw-r--r--ui/app/helpers/utils/transactions.util.js37
1 files changed, 24 insertions, 13 deletions
diff --git a/ui/app/helpers/utils/transactions.util.js b/ui/app/helpers/utils/transactions.util.js
index edf2e24f6..cb6c9536c 100644
--- a/ui/app/helpers/utils/transactions.util.js
+++ b/ui/app/helpers/utils/transactions.util.js
@@ -21,6 +21,7 @@ import {
CANCEL_ATTEMPT_ACTION_KEY,
} from '../constants/transactions'
+import log from 'loglevel'
import { addCurrencies } from './conversion-util'
abiDecoder.addABI(abi)
@@ -37,21 +38,31 @@ const registry = new MethodRegistry({ provider: global.ethereumProvider })
* @param {string} data - The hex data (@code txParams.data) of a transaction
* @returns {Object}
*/
-export async function getMethodData (data = '') {
- const prefixedData = ethUtil.addHexPrefix(data)
- const fourBytePrefix = prefixedData.slice(0, 10)
- const sig = await registry.lookup(fourBytePrefix)
-
- if (!sig) {
- return {}
- }
+ export async function getMethodData (data = '') {
+ const prefixedData = ethUtil.addHexPrefix(data)
+ const fourBytePrefix = prefixedData.slice(0, 10)
+
+ try {
+ const sig = await registry.lookup(fourBytePrefix)
+
+ if (!sig) {
+ return {}
+ }
+
+ const parsedResult = registry.parse(sig)
+
+ return {
+ name: parsedResult.name,
+ params: parsedResult.args,
+ }
+ } catch (error) {
+ log.error(error)
+ const contractData = getTokenData(data)
+ const { name } = contractData || {}
+ return { name }
+ }
- const parsedResult = registry.parse(sig)
- return {
- name: parsedResult.name,
- params: parsedResult.args,
- }
}
export function isConfirmDeployContract (txData = {}) {