DevYK 2 年之前
父节点
当前提交
92b5892788
共有 3 个文件被更改,包括 33 次插入61 次删除
  1. 22 18
      model/utils.js
  2. 10 12
      routes/sdk.js
  3. 1 31
      test/test.js

+ 22 - 18
model/utils.js

@@ -170,24 +170,28 @@ function getTimestampToDate(tm) {
  * @param {string, number} param
  */
 function scientificNotationToString(param) {
-    let strParam = String(param)
-    let flag = /e/.test(strParam)
-    if (!flag) return param
-
-    // 指数符号 true: 正,false: 负
-    let sysbol = true
-    if (/e-/.test(strParam)) {
-        sysbol = false
-    }
-    // 指数
-    let index = Number(strParam.match(/\d+$/)[0])
-    // 基数
-    let basis = strParam.match(/^[\d\.]+/)[0].replace(/\./, '')
-
-    if (sysbol) {
-        return basis.padEnd(index + 1, 0)
-    } else {
-        return basis.padStart(index + basis.length, 0).replace(/^0/, '0.')
+    try {
+        let strParam = String(param)
+        let flag = /e/.test(strParam)
+        if (!flag) return param
+    
+        // 指数符号 true: 正,false: 负
+        let sysbol = true
+        if (/e-/.test(strParam)) {
+            sysbol = false
+        }
+        // 指数
+        let index = Number(strParam.match(/\d+$/)[0])
+        // 基数
+        let basis = strParam.match(/^[\d\.]+/)[0].replace(/\./, '')
+    
+        if (sysbol) {
+            return basis.padEnd(index + 1, 0)
+        } else {
+            return basis.padStart(index + basis.length, 0).replace(/^0/, '0.')
+        }
+    } catch (error) {
+        return param.toString()
     }
 }
 

+ 10 - 12
routes/sdk.js

@@ -301,34 +301,31 @@ async function withdraw_task() {
         var tryCount = 1;
         for (let index = 0; index < 1 + tryCount; index++) {
             var result;
+            var obj;
+            var curGasPrice = 0;
+            var curGasLimit = 0;
+            var value = 0
+            var nonce = -1
             try {
                 result = await withdraw_({ ...temp_obj })
                 last_time = utils.getTimestamp()
                 logger.log('withdraw_task withdraw_ =', result, last_time)
                 if (result && moralis.getTransferCode(result) == 0) {
-                    var obj;
-                    var curGasPrice = 0;
-                    var curGasLimit = 0;
                     if (typeof result === 'string') {
                         obj = JSON.parse(result)
                     }
-                    var nonce = obj.data.nonce
+                    nonce = obj.data.nonce
                     try {
                         curGasPrice = BigNumber(obj.data.gasPrice.hex).toNumber()
                         curGasLimit = BigNumber(obj.data.gasLimit.hex).toNumber()
-                    } catch (error) {
-                        logger.error('BigNumber toNumber error')
-                    }
-
-                    var value = 0
-                    try {
-                        if (obj.data.chainId == 97 || obj.data.chainId == 56) {
+                        //不是 czz chain
+                        if (obj.data.chainId != 2019) {
                             value = BigNumber(obj.data.value.hex).toNumber()
                         } else {
                             value = obj.data.value.number
                         }
                     } catch (error) {
-                        logger.error('BigNumber value toNumber error')
+                        logger.error('BigNumber toNumber error')
                     }
 
                     var hash = obj.data.hash
@@ -340,6 +337,7 @@ async function withdraw_task() {
                     update_obj.nonce = nonce
                     update_obj.gas_price = curGasPrice.toString()
                     update_obj.gas_limit = curGasLimit.toString()
+
                     try {
                         update_obj.value = utils.scientificNotationToString(value).toString()
                     } catch (error) {

+ 1 - 31
test/test.js

@@ -149,37 +149,7 @@ router.post('/withdraw', withdraw)
 
 
 
-function test(){
-  var obj = {
-    "code": 0,
-    "data": {
-      "nonce": 497,
-      "gasPrice": {
-        "type": "BigNumber",
-        "hex": "0x012a05f200"
-      },
-      "gasLimit": {
-        "type": "BigNumber",
-        "hex": "0x8d1f"
-      },
-      "to": "0x55d398326f99059fF775485246999027B3197955",
-      "value": {
-        "type": "BigNumber",
-        "hex": "0x00"
-      },
-      "data": "0xa9059cbb000000000000000000000000270ddfa439265358896dbe5317b009f83eebdec2000000000000000000000000000000000000000000000000119ee96b60435da1",
-      "chainId": 56,
-      "v": 148,
-      "r": "0xb9597d15f01f2eae5905b27ca88c789e28a3076f4e9ac33a69353355ca1ee8f9",
-      "s": "0x375e70c6b8837474ad64475b5d487e42503cbc1d9d900fc0779d23de73dc8325",
-      "from": "0xe1fea51159E486e590E139B4BBe1Dc646Df98396",
-      "hash": "0x1e95f98c64ca5de7cf903221a11a2eda87621a29ea52a24f884844f7c7f2ca50",
-      "type": null,
-      "confirmations": 0
-    },
-    "errMsg": ""
-  }
-}
+
 
 module.exports = router