mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Merge pull request #5290 from MetaMask/i5289-gettokendata
Fix exception thrown on getTokenData
This commit is contained in:
commit
3c3fed46cb
22
ui/app/helpers/tests/transactions.util.test.js
Normal file
22
ui/app/helpers/tests/transactions.util.test.js
Normal 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())
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
@ -20,13 +20,13 @@ import { addCurrencies } from '../conversion-util'
|
|||||||
|
|
||||||
abiDecoder.addABI(abi)
|
abiDecoder.addABI(abi)
|
||||||
|
|
||||||
export function getTokenData (data = {}) {
|
export function getTokenData (data = '') {
|
||||||
return abiDecoder.decodeMethod(data)
|
return abiDecoder.decodeMethod(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
const registry = new MethodRegistry({ provider: global.ethereumProvider })
|
const registry = new MethodRegistry({ provider: global.ethereumProvider })
|
||||||
|
|
||||||
export async function getMethodData (data = {}) {
|
export async function getMethodData (data = '') {
|
||||||
const prefixedData = ethUtil.addHexPrefix(data)
|
const prefixedData = ethUtil.addHexPrefix(data)
|
||||||
const fourBytePrefix = prefixedData.slice(0, 10)
|
const fourBytePrefix = prefixedData.slice(0, 10)
|
||||||
const sig = await registry.lookup(fourBytePrefix)
|
const sig = await registry.lookup(fourBytePrefix)
|
||||||
|
Loading…
Reference in New Issue
Block a user