I suppose lookupAsync and lookup should remove 'contract' param. For example, my contract name is 'adv', if I use 'adv' as contract name, it will post a wrong argument to get_currency_stats like this:
curl http://172.17.0.2:8888/v1/chain/get_currency_stats -X POST -d '{"code":"adv","symbol":"ADV"}'
but in fact, the 'code' field must be eosio.token in most case.
Also 'lookup' function has same issue.
Once I remove contract param and set local var 'contract' to eosio.token, my webapp works fine, at least in this stage.
but the ’@‘ is referenced many times in eosjs, I'm not sure about such change is OK.
Could eosjs team help to confirm this?
function lookupAsync(symbol, contract) { assert(symbol, 'required symbol');
assert(contract, 'required contract');
if (contract === 'eosio') {
contract = 'eosio.token';
}
var extendedAsset = symbol + '@' + contract;
if (cache[extendedAsset] != null) {
return Promise.resolve(cache[extendedAsset]);
}