1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

Fix exception thrown on getTokenData

This commit is contained in:
Alexander Tseung 2018-09-18 17:20:28 -07:00
parent 0eca1fb9e0
commit 91ee373dbe
2 changed files with 24 additions and 2 deletions

View File

@ -0,0 +1,22 @@
import * as utils from '../transactions.util'
import assert from 'assert'
describe('Transactions utils', () => {
describe('getTokenData', () => {
it('should return token data', () => {
const tokenData = utils.getTokenData('0xa9059cbb00000000000000000000000050a9d56c2b8ba9a5c7f2c08c3d26e0499f23a7060000000000000000000000000000000000000000000000000000000000004e20')
assert.ok(tokenData)
const { name, params } = tokenData
assert.equal(name, 'transfer')
const [to, value] = params
assert.equal(to.name, '_to')
assert.equal(to.type, 'address')
assert.equal(value.name, '_value')
assert.equal(value.type, 'uint256')
})
it('should not throw errors when called without arguments', () => {
assert.doesNotThrow(() => utils.getTokenData())
})
})
})

View File

@ -20,13 +20,13 @@ import { addCurrencies } from '../conversion-util'
abiDecoder.addABI(abi)
export function getTokenData (data = {}) {
export function getTokenData (data = '') {
return abiDecoder.decodeMethod(data)
}
const registry = new MethodRegistry({ provider: global.ethereumProvider })
export async function getMethodData (data = {}) {
export async function getMethodData (data = '') {
const prefixedData = ethUtil.addHexPrefix(data)
const fourBytePrefix = prefixedData.slice(0, 10)
const sig = await registry.lookup(fourBytePrefix)