diff options
Diffstat (limited to 'ui/app/helpers/confirm-transaction/util.js')
-rw-r--r-- | ui/app/helpers/confirm-transaction/util.js | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ui/app/helpers/confirm-transaction/util.js b/ui/app/helpers/confirm-transaction/util.js index fa748ca46..ad247a348 100644 --- a/ui/app/helpers/confirm-transaction/util.js +++ b/ui/app/helpers/confirm-transaction/util.js @@ -6,6 +6,9 @@ import ethUtil from 'ethereumjs-util' abiDecoder.addABI(abi) +import MethodRegistry from 'eth-method-registry' +const registry = new MethodRegistry({ provider: global.ethereumProvider }) + import { conversionUtil, addCurrencies, @@ -17,6 +20,18 @@ export function getTokenData (data = {}) { return abiDecoder.decodeMethod(data) } +export async function getMethodData (data = {}) { + const prefixedData = ethUtil.addHexPrefix(data) + const fourBytePrefix = prefixedData.slice(0, 10) + const sig = await registry.lookup(fourBytePrefix) + const parsedResult = registry.parse(sig) + + return { + name: parsedResult.name, + params: parsedResult.args, + } +} + export function increaseLastGasPrice (lastGasPrice) { return ethUtil.addHexPrefix(multiplyCurrencies(lastGasPrice, 1.1, { multiplicandBase: 16, |