jsir 1.2.5 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cmd/ooa.js +1 -1
- package/ethWeb.js +14 -14
- package/package.json +1 -1
package/cmd/ooa.js
CHANGED
|
@@ -1036,7 +1036,7 @@ async function runCmd(str) {
|
|
|
1036
1036
|
let exactArg = {}
|
|
1037
1037
|
for (let i = 0; i<args.length; i++) {
|
|
1038
1038
|
let arg = args[i]
|
|
1039
|
-
let pair = arg.split('=', 2).map(i => trim(i))
|
|
1039
|
+
let pair = arg.indexOf('=') === -1 ? [] : arg.split('=', 2).map(i => trim(i))
|
|
1040
1040
|
let argVal = argDef.hasOwnProperty(pair[0]) ? pair[1]:arg
|
|
1041
1041
|
argVal = translateArgs(argVal)
|
|
1042
1042
|
|
package/ethWeb.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const https = require('https');
|
|
2
2
|
const BigNumber = require('bignumber.js');
|
|
3
|
-
let {
|
|
4
|
-
eFn, removeFirst, randomInt, splitArray, sleep, vl, cacheFn, isError, bMin} = require('./util')
|
|
3
|
+
let {getLibDataDir, trim, toBigNum, getConfig, objDataFile,
|
|
4
|
+
eFn, removeFirst, randomInt, splitArray, sleep, vl, cacheFn, isError, bMin, getOr} = require('./util')
|
|
5
5
|
const abiDecoder = require('abi-decoder');
|
|
6
6
|
let fs = require('fs')
|
|
7
7
|
let contractMapPath = getLibDataDir() + "/contractMap.json"
|
|
@@ -511,31 +511,31 @@ function getPairAmtNoFee(a, b, baseAmt) {
|
|
|
511
511
|
}
|
|
512
512
|
|
|
513
513
|
let tokenMapLoaded = {}
|
|
514
|
+
let tokenMapLoadSize = {}
|
|
514
515
|
async function saveTokenMap(web3) {
|
|
515
516
|
web3 = web3 || global.web3;
|
|
516
517
|
let chainId = global.chainId || await web3.getChainId()
|
|
517
|
-
|
|
518
|
-
tokenMapCache[chainId] = {}
|
|
519
|
-
}
|
|
520
|
-
let chainMap = tokenMapCache[chainId]
|
|
518
|
+
let chainMap = getOr(tokenMapCache, chainId, {})
|
|
521
519
|
let tokenMapFile = `tokenMap_${chainId}`
|
|
522
520
|
if (!tokenMapLoaded[chainId]) {
|
|
523
|
-
|
|
521
|
+
let temp = objDataFile(tokenMapFile)
|
|
522
|
+
tokenMapLoadSize[chainId] = Object.keys(temp).length
|
|
523
|
+
Object.assign(chainMap, temp)
|
|
524
524
|
tokenMapLoaded[chainId] = true
|
|
525
525
|
}
|
|
526
|
-
|
|
526
|
+
if (Object.keys(chainMap).length > tokenMapLoadSize[chainId]) {
|
|
527
|
+
await objDataFile(tokenMapFile, () => chainMap);
|
|
528
|
+
}
|
|
527
529
|
}
|
|
528
530
|
async function getTokenMap(tokens, web3, batchNum, asyncNum) {
|
|
529
531
|
web3 = web3 || global.web3;
|
|
530
532
|
let chainId = global.chainId || await web3.getChainId()
|
|
531
|
-
|
|
532
|
-
tokenMapCache[chainId] = {}
|
|
533
|
-
}
|
|
534
|
-
let chainMap = tokenMapCache[chainId]
|
|
535
|
-
|
|
533
|
+
let chainMap = getOr(tokenMapCache, chainId, {})
|
|
536
534
|
if (!tokenMapLoaded[chainId]) {
|
|
537
535
|
let tokenMapFile = `tokenMap_${chainId}`
|
|
538
|
-
|
|
536
|
+
let temp = objDataFile(tokenMapFile)
|
|
537
|
+
tokenMapLoadSize[chainId] = Object.keys(temp).length
|
|
538
|
+
Object.assign(chainMap, temp)
|
|
539
539
|
tokenMapLoaded[chainId] = true
|
|
540
540
|
}
|
|
541
541
|
|