From 19c2b298f13c088553e3498ef4425fb66df04098 Mon Sep 17 00:00:00 2001 From: Dan J Miller Date: Fri, 29 Mar 2019 12:18:08 -0230 Subject: Further e2e fixes in wake of #6364 and #6367 (#6374) * getMethodData() default to abi decoded method if registry lookup errors * Update e2e tests to work with getMethodData() fallback changes * Remove indeterminency in gas input key entering in send token e2e test. --- ui/app/helpers/utils/transactions.util.js | 37 ++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 13 deletions(-) (limited to 'ui/app/helpers') 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 = {}) { -- cgit