feature/default_network_editable
parent
5d8b53bcf4
commit
c8c918d44e
@ -0,0 +1,36 @@ |
||||
const abi = require('human-standard-token-abi') |
||||
const Eth = require('ethjs-query') |
||||
const EthContract = require('ethjs-contract') |
||||
|
||||
const tokenInfoGetter = function () { |
||||
if (typeof global.ethereumProvider === 'undefined') return |
||||
|
||||
const eth = new Eth(global.ethereumProvider) |
||||
const contract = new EthContract(eth) |
||||
const TokenContract = contract(abi) |
||||
|
||||
const tokens = {} |
||||
|
||||
return async (address) => { |
||||
if (tokens[address]) { |
||||
return tokens[address] |
||||
} |
||||
|
||||
const contract = TokenContract.at(address) |
||||
|
||||
const result = await Promise.all([ |
||||
contract.symbol(), |
||||
contract.decimals(), |
||||
]) |
||||
|
||||
const [ symbol = [], decimals = [] ] = result |
||||
|
||||
tokens[address] = { symbol: symbol[0], decimals: decimals[0] } |
||||
|
||||
return tokens[address] |
||||
} |
||||
} |
||||
|
||||
module.exports = { |
||||
tokenInfoGetter, |
||||
} |
Loading…
Reference in new issue