jsir 1.2.4 → 1.2.7
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 +18 -10
- package/ethWeb.js +14 -14
- package/package.json +1 -1
package/cmd/ooa.js
CHANGED
|
@@ -322,7 +322,7 @@ async function dealInitData() {
|
|
|
322
322
|
try {
|
|
323
323
|
$i[initDataName] = await evalText(text)
|
|
324
324
|
} catch (e) {
|
|
325
|
-
$log(`$i.${initDataName} loading failed\n${e.stack}`);
|
|
325
|
+
$log(`$i.${initDataName} loading failed\n${e.stack || e}`);
|
|
326
326
|
}
|
|
327
327
|
if (!vl($i[initDataName])) {
|
|
328
328
|
warn(`$i.${initDataName} loading failed`)
|
|
@@ -1019,16 +1019,24 @@ function getArgComments(argDef) {
|
|
|
1019
1019
|
return comments
|
|
1020
1020
|
}
|
|
1021
1021
|
|
|
1022
|
-
async function runCmd(str) {
|
|
1022
|
+
async function runCmd(str, scriptName) {
|
|
1023
|
+
if (scriptName) {
|
|
1024
|
+
str = `0 ${str}`
|
|
1025
|
+
}
|
|
1023
1026
|
let strs = str.split(/\s+/)
|
|
1024
|
-
if (!
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1027
|
+
if (!scriptName) {
|
|
1028
|
+
if (!_cmdMap[strs[0]] && strs[0] !== '0') {
|
|
1029
|
+
warn('no items')
|
|
1030
|
+
_noAppendNextLine || nextLine()
|
|
1031
|
+
return
|
|
1032
|
+
}
|
|
1033
|
+
if (_cmdMap[strs[0]]) {
|
|
1034
|
+
scriptName = _cmdMap[strs[0]];
|
|
1035
|
+
}
|
|
1028
1036
|
}
|
|
1029
1037
|
|
|
1030
|
-
let path = _home + '/' +
|
|
1031
|
-
let text =
|
|
1038
|
+
let path = _home + '/' + scriptName
|
|
1039
|
+
let text = scriptName ? String(_fs.readFileSync(path)) : await getCbText()
|
|
1032
1040
|
|
|
1033
1041
|
let args = enrichArgs(str, text)
|
|
1034
1042
|
let argDef = getArgDef(text)
|
|
@@ -1036,7 +1044,7 @@ async function runCmd(str) {
|
|
|
1036
1044
|
let exactArg = {}
|
|
1037
1045
|
for (let i = 0; i<args.length; i++) {
|
|
1038
1046
|
let arg = args[i]
|
|
1039
|
-
let pair = arg.split('=', 2).map(i => trim(i))
|
|
1047
|
+
let pair = arg.indexOf('=') === -1 ? [] : arg.split('=', 2).map(i => trim(i))
|
|
1040
1048
|
let argVal = argDef.hasOwnProperty(pair[0]) ? pair[1]:arg
|
|
1041
1049
|
argVal = translateArgs(argVal)
|
|
1042
1050
|
|
|
@@ -1073,7 +1081,7 @@ async function runCmd(str) {
|
|
|
1073
1081
|
|
|
1074
1082
|
process.argv = [process.argv[0], path, ...args]
|
|
1075
1083
|
try {
|
|
1076
|
-
await evalText(text, strs[0], _cmdMap[strs[0]], args)
|
|
1084
|
+
return await evalText(text, strs[0], _cmdMap[strs[0]], args)
|
|
1077
1085
|
} catch (e) {
|
|
1078
1086
|
error(e)
|
|
1079
1087
|
}
|
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
|
|