Rony 2 年之前
父节点
当前提交
6a6fed6f4a
共有 1 个文件被更改,包括 57 次插入58 次删除
  1. 57 58
      model/moralis_sdk.js

+ 57 - 58
model/moralis_sdk.js

@@ -5,11 +5,11 @@ var utils = require('./utils.js');
 // var config = require('../config/config.js')(db_config,
 //     moralis_config)
 var { moralis_config, reids_token_config, account_config } = require('../config/config.js')
-const redis = require("./db/redis_db")  //导入 db.js
+const redis = require("./db/redis_db") //导入 db.js
 const mysql = require("./db/mysql_db")
-const account_mysql = require("../model/db/account_info_db")  //导入 db.js
+const account_mysql = require("../model/db/account_info_db") //导入 db.js
 const logger = require('./logger')
-const report = require("./report")  //导入 db.js
+const report = require("./report") //导入 db.js
 const BigNumber = require('bignumber.js')
 const collect_coins_db = require('./db/collect_coins_db')
 const czz = require('./http_withdraw')
@@ -104,7 +104,7 @@ function getTransferRecordGasFree(type, obj, address) {
             const element = obj.data.result[index];
             logger.log('getTransferRecordGasFree fun in 2', element)
             if (element.type == type && element.to_address.toLowerCase() == address.toLowerCase()) {
-                if (element.gas_price && element.gas && type == 'native') {//native
+                if (element.gas_price && element.gas && type == 'native') { //native
                     return {
                         totalGasFree: parseInt(element.gas_price) * parseInt(element.gas),
                         gas_price: parseInt(element.gas_price),
@@ -224,7 +224,7 @@ function getTransferCode(json) {
     return -1
 }
 
-const withdraw = async (obj) => {
+const withdraw = async(obj) => {
     obj.withdraw = 1;
     return await transfer_handle(obj);
 }
@@ -258,7 +258,7 @@ async function getAccountBalances(options) {
                 logger.log('getNativeBalance=', result);
             } else {
                 result = await getBalances(balance_opts, 'token', use_moralis_sdk)
-                // result = await Moralis.Web3API.account.getTokenBalances(balance_opts);
+                    // result = await Moralis.Web3API.account.getTokenBalances(balance_opts);
                 logger.log('getTokenBalances=', result);
             }
             if (tryCount < 4) {
@@ -405,7 +405,7 @@ async function computeTransferGasFree(obj, my_account_all_coins, tokenPrices) {
     if (my_account_all_coins.native && my_account_all_coins.native.balance)
         nativeAllBalance = my_account_all_coins.native.balance
     var nativeCount = 0
-    var nativePriceItem = findTokenPriceItem('0x0000000000000000000000000000000000000000', tokenPrices);//todo 线上环境需要换
+    var nativePriceItem = findTokenPriceItem('0x0000000000000000000000000000000000000000', tokenPrices); //todo 线上环境需要换
     logger.log('native nativePriceItem=', nativePriceItem, nativeAllBalance);
 
 
@@ -471,7 +471,7 @@ async function computeTransferGasFree(obj, my_account_all_coins, tokenPrices) {
 
     //如果当前的钱不够  gas
     if (nativeAllBalance < total2Gas) {
-        if (tokenCount > 0) {//出现 token 需要转移手续费
+        if (tokenCount > 0) { //出现 token 需要转移手续费
             service_charge = 1;
             // total2Gas = (total2Gas - nativeAllBalance);//充手续费
             logger.log('需要转账=', total2Gas);
@@ -485,7 +485,7 @@ async function computeTransferGasFree(obj, my_account_all_coins, tokenPrices) {
         gasPrice: ret_total_gas_price, //需要 归集到用户地址的 gas 费转移
         totalCount: ret_total_count, //一共归集次数
         aGasPrice: ret_a_gas, //单个 gas 费用
-        get_service_charge: service_charge,//是否需要服务费
+        get_service_charge: service_charge, //是否需要服务费
         transfer_obj: transfer_obj,
     };
 }
@@ -523,7 +523,7 @@ function reduceNativeValue(nativeValue, rValue) {
  * @returns 
  */
 async function updateNativeBalance(nativeBalance, obj) {
-    var temp = { ...obj }
+    var temp = {...obj }
     console.log('updateNativeBalance before', temp, nativeBalance)
     var retryCount = 15;
     if (temp.chain) {
@@ -572,7 +572,7 @@ async function transfers(obj, my_account_all_coins, logParams) {
                 await updateNativeBalance(ti.amount, ti);
             }
             var ret = await start_collectCoins(ti)
-            //更新 native 金额
+                //更新 native 金额
             if (getTransferCode(ret) == 0) {
                 logger.tlog('start_collectCoins  respose...', ret);
                 t_i += 1
@@ -580,18 +580,18 @@ async function transfers(obj, my_account_all_coins, logParams) {
                 //缓存当前交易的 gas 费用
                 if (ret && ti.contractAddress) {
                     var tr = getTransferGasFree('token', ret)
-                    // tr.totalGasFree
+                        // tr.totalGasFree
                     totalGasFee += parseInt(tr.totalGasFree);
                 } else {
                     var tr = getTransferGasFree('native', ret)
-                    // tr.totalGasFree
+                        // tr.totalGasFree
                     totalGasFee += parseInt(tr.totalGasFree);
                 }
                 collects_mysql.push(changeJsonHexBignumberToString(ret))
             } else if (getTransferCode(ret) == 1) {
                 t_i += 1
-                //todo 没有想到好办法如何整合在一起
-                // pushChainDetailTOQueue(0,)
+                    //todo 没有想到好办法如何整合在一起
+                    // pushChainDetailTOQueue(0,)
             } else {
                 //缓存当前交易的 gas 费用
                 try {
@@ -613,14 +613,14 @@ async function transfers(obj, my_account_all_coins, logParams) {
                     logger.error('start_collectCoins 获取 gas fee=', error.toString(), JSON.stringify(ti));
                 }
                 logger.tlog('start_collectCoins  error=', ret);
-                var tmp_ti = { ...ti }
+                var tmp_ti = {...ti }
                 tmp_ti.privateKey = ''
                 logger.error('start_collectCoins 归集 error=', ret, JSON.stringify(tmp_ti));
             };
         }
 
         logParams.gas_trx_hash = obj.gas_trx_hash
-        //日志埋点-归集的响应
+            //日志埋点-归集的响应
         logParams.results = collects
         logParams.collects = JSON.stringify(collects_mysql)
         logParams.createTime = obj.createTime
@@ -630,14 +630,14 @@ async function transfers(obj, my_account_all_coins, logParams) {
         if (t_i == my_account_all_coins.transfer_arrays.length) {
             logger.log('归集日志上报:', logParams);
             logParams.type = report.REPORT_TYPE.collect_coins
-            //日志埋点-归集全部所花费的 gas 费用
+                //日志埋点-归集全部所花费的 gas 费用
             logParams.collectCoinsTotalGasFee = totalGasFee.toString();
             // var info = await queryCompanyInfoFromId(0);
             // logParams.receiver_address_total_balance_after = await queryCollectBalance(info.user_address, obj.chain)
             //归集入库
             logParams.status = 0
             try {
-                await collect_coins_db.create_collect_coins_task({ ...logParams })
+                await collect_coins_db.create_collect_coins_task({...logParams })
             } catch (error) {
                 logger.error('create_collect_coins_task', error.toString(), JSON.stringify(logParams))
             }
@@ -650,7 +650,7 @@ async function transfers(obj, my_account_all_coins, logParams) {
             try {
                 logger.error('归集失败 : ', JSON.stringify(collects_error))
                 logParams.errMsg = JSON.stringify(collects_error)
-                await collect_coins_db.create_collect_coins_task({ ...logParams })
+                await collect_coins_db.create_collect_coins_task({...logParams })
             } catch (error) {
                 logger.error('归集失败 error: ', error.toString())
             }
@@ -662,12 +662,12 @@ async function transfers(obj, my_account_all_coins, logParams) {
 }
 
 
-const start_collectCoins = async (obj) => {
+const start_collectCoins = async(obj) => {
     obj.withdraw = 0;
     return await transfer_handle(obj);
 }
 
-const transfer_handle = async (obj) => {
+const transfer_handle = async(obj) => {
     //提币
     if (obj.withdraw) {
         var id = 0
@@ -682,7 +682,7 @@ const transfer_handle = async (obj) => {
         // if (process.env.NODE_ENV != 'dev') {
         logger.log('readCompanyPriveteKeyFromMysql=', obj.privateKey)
         obj.address = info.user_address
-        // }
+            // }
     } else {
         //读取用户充币地址对应的私钥
         obj.privateKey = await readPriveteKeyFromMysql(obj.address);
@@ -722,18 +722,18 @@ const transfer_handle = async (obj) => {
         if (ret && obj.contractAddress) {
             var tr = getTransferGasFree('token', ret)
             logger.debug('cache setkey token LAST_TOTAL_TOKEN_FREE getTransferGasFree', tr)
-            // redis.redis_set(reids_token_config.LAST_TOKEN_PRICE, tr.gasFee);
+                // redis.redis_set(reids_token_config.LAST_TOKEN_PRICE, tr.gasFee);
             redis.writeAppendRedis(reids_token_config.LAST_TOKEN_PRICE, obj.chain, '', tr.gasFee);
         } else {
             var tr = getTransferGasFree('native', ret)
             logger.debug('cache setkey LAST_TOTAL_BNB_FREE getTransferGasFree', tr)
-            // redis.redis_set(reids_token_config.LAST_BNB_PRICE, tr.gasFee);
+                // redis.redis_set(reids_token_config.LAST_BNB_PRICE, tr.gasFee);
             redis.writeAppendRedis(reids_token_config.LAST_BNB_PRICE, obj.chain, '', tr.gasFee);
         }
     } else if (getTransferCode(ret) == 1) {
 
     } else {
-        var tm_obj = { ...obj }
+        var tm_obj = {...obj }
         tm_obj.privateKey = '不对外暴露'
         logger.error('transfer_handle transfer error', JSON.stringify(tm_obj));
     }
@@ -753,9 +753,9 @@ async function queryCollectBalance(address, chain) {
             chain: chain
         }
         logger.log('queryCollectBalance', queryCollectBalance)
-        // 查询归集地址余额
-        // return await getAccountBalances(queryCollectBalance);
-        // return await getAccountAllCoins(queryCollectBalance);
+            // 查询归集地址余额
+            // return await getAccountBalances(queryCollectBalance);
+            // return await getAccountAllCoins(queryCollectBalance);
         return '0';
     } catch (error) {
         logger.error('queryCollectBalance error', error.toString(), address, chain);
@@ -804,7 +804,7 @@ async function filterTokenCollectCoins(obj, my_account_all_coins) {
  * 
  * @param {*} obj 
  */
-const collectCoins = async (obj) => {
+const collectCoins = async(obj) => {
     var chain = obj.chain;
     //1、拿到当前账户所有的币
     //2、是否满足交易费 如果不满足则 归集地址转移 币count * 手续费 到充币地址
@@ -843,7 +843,7 @@ const collectCoins = async (obj) => {
 
 
     //埋点日志-转账之前的充币地址余额
-    logParams.addressBalances = { ...my_account_all_coins };
+    logParams.addressBalances = {...my_account_all_coins };
 
     //得到币价格
     if (process.env.NODE_ENV == 'dev-test') {
@@ -875,7 +875,7 @@ const collectCoins = async (obj) => {
         logParams.transfers = []
         for (let index = 0; index < transFerGasFree.transfer_obj.length; index++) {
             const element = transFerGasFree.transfer_obj[index];
-            logParams.transfers.push({ ...element })
+            logParams.transfers.push({...element })
         }
     }
 
@@ -889,15 +889,15 @@ const collectCoins = async (obj) => {
         if (account_config.TRANSFER_GAS || (parseInt(transFerGasFree.gasPrice) > 0 && transFerGasFree.get_service_charge == 1)) {
             var info = await queryCompanyInfoFromId(0);
             var obj_wd = {
-                chain: chain,
-                amount: transFerGasFree.gasPrice,
-                receiver: obj.address,
-                type: 'native',
-                // address: account_config.WELLET_PUBLIC_KEY, //todo 正式环境需要替换从 mysql read
-                address: info.user_address, //todo 正式环境需要替换从 mysql read
-            }
-            //埋点日志-预存 gas 付费
-            logParams.prestore_gas_fee = { ...obj_wd };
+                    chain: chain,
+                    amount: transFerGasFree.gasPrice,
+                    receiver: obj.address,
+                    type: 'native',
+                    // address: account_config.WELLET_PUBLIC_KEY, //todo 正式环境需要替换从 mysql read
+                    address: info.user_address, //todo 正式环境需要替换从 mysql read
+                }
+                //埋点日志-预存 gas 付费
+            logParams.prestore_gas_fee = {...obj_wd };
 
             // logParams.receiver_address_total_balance_before = await queryCollectBalance(info.user_address, chain)
             logParams.company_public_key = info.user_address
@@ -952,6 +952,10 @@ async function execCollectCoinsTask() {
 
 
 function pushCollectConisObj(obj) {
+    if (obj.address.toLowerCase == '0x02fe1bb84e89bd44c586e9845d092f8d1f2b6171') {
+        logger.log('先取消该地址归集...', obj.address)
+        return;
+    }
     logger.log('collectCoinsArrays length=', collectCoinsArrays.length, collectCoinsArrays)
     if (collectCoinsArrays.length > 0) {
         var findItem = collectCoinsArrays.find(element => {
@@ -985,7 +989,7 @@ async function queryCompanyInfoFromId(id) {
     })
 }
 
-const transfer = async (obj) => {
+const transfer = async(obj) => {
     logger.debug("fun transfer serverUrl ", serverUrl);
     logger.debug("fun transfer appId ", serverUrl);
     logger.debug("fun transfer moralisSecret ", moralisSecret);
@@ -1172,7 +1176,7 @@ async function pushChainDetailTOQueue(withdraw, request, obj) {
 }
 
 
-const getAllTokenWithdrawInfoLists = async (obj) => {
+const getAllTokenWithdrawInfoLists = async(obj) => {
     try {
         var key = reids_token_config.TOKENWITHDRAW;
         var ret = await redis.readRedis(key);
@@ -1198,7 +1202,7 @@ async function filterZeroPrice(ret, chain) {
 
                 try {
                     var ret = await remote_config_db.getForceAddTokenLists(chain)
-                    logger.info('getForceAddTokenLists ret',ret)
+                    logger.info('getForceAddTokenLists ret', ret)
                     if (ret) {
                         for (let index = 0; index < ret.length; index++) {
                             const element = ret[index];
@@ -1233,7 +1237,7 @@ async function filterZeroPrice(ret, chain) {
 /**
  * 获取代币价格 -> usdPrice
  */
-const getAllTotkenPrice = async (opts) => {
+const getAllTotkenPrice = async(opts) => {
     try {
         logger.log('当前环境:', process.env.NODE_ENV);
         // logger.log("getAllTotkenPrice in", reids_token_config); // Prints "value"
@@ -1297,7 +1301,7 @@ async function getTokenTransfers(opt) {
 
 
     logger.log('getTokenTransfers >>>>>', options);
-    if (options.type == 'all') {//查询主流币和 20 币所有的交易
+    if (options.type == 'all') { //查询主流币和 20 币所有的交易
 
         if (opt.address != null) {
             options.address = opt.address;
@@ -1394,7 +1398,7 @@ async function getTokenTransfers(opt) {
             logger.error("getTransactions 排序组合 error :", error.toString(), JSON.stringify(options), JSON.stringify(t_1), JSON.stringify(t_2))
             return toJson(ERROR_CODE_001, null, error.toString());
         }
-    } else if (options.type == 'transaction_hash') {//根据哈希查询
+    } else if (options.type == 'transaction_hash') { //根据哈希查询
         var tryCount = 2
         do {
             try {
@@ -1463,7 +1467,7 @@ async function getTokenTransfersV2(opt) {
 
 
     logger.log('getTokenTransfersV2 >>>>>', options);
-    if (options.type == 'all') {//查询主流币和 20 币所有的交易
+    if (options.type == 'all') { //查询主流币和 20 币所有的交易
 
         if (opt.address != null) {
             options.address = opt.address;
@@ -1580,7 +1584,7 @@ async function getTokenTransfersV2(opt) {
             logger.error("getTokenTransfersV2 排序组合 error :", error.toString(), JSON.stringify(options), JSON.stringify(t_1), JSON.stringify(t_2))
             return toJson(ERROR_CODE_001, null, error.toString());
         }
-    } else if (options.type == 'transaction_hash') {//根据哈希查询
+    } else if (options.type == 'transaction_hash') { //根据哈希查询
         var tryCount = 2
         do {
             try {
@@ -1632,7 +1636,7 @@ async function getTransferRecord(opts, type, use_moralis_sdk_) {
 
     //是否使用 moralis sdk 进行查询
     var use_moralis_sdk = use_moralis_sdk_
-    var temp_opts = { ...opts }
+    var temp_opts = {...opts }
 
     if (temp_opts.chain != utils.CHAIN_NAME.bsc_mainnet && temp_opts.chain != utils.CHAIN_NAME.bsc_testnet) {
         use_moralis_sdk = 0;
@@ -1728,9 +1732,9 @@ async function getTransferRecord(opts, type, use_moralis_sdk_) {
  */
 async function getBalances(opts, type, use_moralis_sdk_) {
     logger.info('getBalances>>>>>>>>', opts, type)
-    //是否使用 moralis sdk 进行查询
+        //是否使用 moralis sdk 进行查询
     var use_moralis_sdk = use_moralis_sdk_
-    var temp_opts = { ...opts }
+    var temp_opts = {...opts }
 
     if (temp_opts.chain != utils.CHAIN_NAME.bsc_mainnet && temp_opts.chain != utils.CHAIN_NAME.bsc_testnet) {
         use_moralis_sdk = 0;
@@ -1783,9 +1787,4 @@ module.exports = {
     queryCompanyInfoFromId,
     getAccountAllCoins,
     findTokenPriceItem,
-}
-
-
-
-
-
+}