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.
Files changed (3) hide show
  1. package/cmd/ooa.js +1 -1
  2. package/ethWeb.js +14 -14
  3. 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 {mkdir, getLibDataDir, trim, got, toBigNum, getConfig, objDataFile,
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
- if (!tokenMapCache[chainId]) {
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
- Object.assign(chainMap, objDataFile(tokenMapFile))
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
- objDataFile(tokenMapFile, () => chainMap);
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
- if (!tokenMapCache[chainId]) {
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
- Object.assign(chainMap, objDataFile(tokenMapFile))
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jsir",
3
- "version": "1.2.5",
3
+ "version": "1.2.6",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {