|  | @@ -80,6 +80,8 @@ async function setWeb3apiRateLimit() {
 | 
	
		
			
				|  |  |          logger.error('setWeb3apiRateLimit error')
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +// initMasterSDK()
 | 
	
		
			
				|  |  | +// initMoralisSecretSDK()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  function toJson(code_, obj_, errMsg_) {
 | 
	
		
			
				|  |  |      return utils.toJson(code_, obj_, errMsg_);
 | 
	
	
		
			
				|  | @@ -353,16 +355,17 @@ async function computeTransferGasFree(obj, my_account_all_coins, tokenPrices) {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              // });
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        logger.log('account_config.TOKEN_GAS_LIMIT=', account_config.TOKEN_GAS_LIMIT);
 | 
	
		
			
				|  |  | +        var lastTokenPrice = await redis.readRedis(reids_token_config.LAST_TOKEN_PRICE)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        logger.log('LAST_TOKEN_PRICE=', lastTokenPrice);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        var lastTokenFree = await redis.readRedis(reids_token_config.LAST_TOTAL_TOKEN_FREE)
 | 
	
		
			
				|  |  | -        logger.log('LAST_TOTAL_TOKEN_FREE=', lastTokenFree);
 | 
	
		
			
				|  |  | -        if (lastTokenFree && reids_token_config.LAST_TOTAL_TOKEN_FREE && parseInt(lastTokenFree) > 0) {
 | 
	
		
			
				|  |  | -            tokenGasPrice = parseInt(tokenCount) * parseInt(lastTokenFree);
 | 
	
		
			
				|  |  | +        if (lastTokenPrice && parseInt(lastTokenPrice) > 0) {
 | 
	
		
			
				|  |  | +            tokenGasPrice = parseInt(tokenCount) * parseInt(lastTokenPrice) * parseInt(account_config.TOKEN_GAS_LIMIT);
 | 
	
		
			
				|  |  | +            ret_a_gas = lastTokenPrice;
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  | -            tokenGasPrice = parseInt(tokenCount) * parseInt(account_config.TOKEN_GAS_LIMIT) * parseInt(account_config.BNB_GAS_PRICE);
 | 
	
		
			
				|  |  | +            tokenGasPrice = parseInt(tokenCount) * parseInt(account_config.TOKEN_GAS_LIMIT) * parseInt(account_config.TOKEN_GAS_PRICE);
 | 
	
		
			
				|  |  | +            ret_a_gas = account_config.TOKEN_GAS_PRICE;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        ret_a_gas = account_config.BNB_GAS_PRICE;
 | 
	
		
			
				|  |  |          logger.log('tokenGasPrice=', tokenGasPrice);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -385,14 +388,15 @@ async function computeTransferGasFree(obj, my_account_all_coins, tokenPrices) {
 | 
	
		
			
				|  |  |              nativeCount = 1;
 | 
	
		
			
				|  |  |              logger.log('native > 1.0', tokenCount);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            var lastBnbFree = await redis.readRedis(reids_token_config.LAST_TOTAL_BNB_FREE)
 | 
	
		
			
				|  |  | -            logger.log('LAST_TOTAL_BNB_FREE=', lastBnbFree);
 | 
	
		
			
				|  |  | -            if (lastBnbFree && parseInt(lastBnbFree) > 0) {
 | 
	
		
			
				|  |  | -                nativeGasPrice = parseInt(nativeCount) * parseInt(lastBnbFree);
 | 
	
		
			
				|  |  | +            var lastBnbPrice = await redis.readRedis(reids_token_config.LAST_BNB_PRICE)
 | 
	
		
			
				|  |  | +            logger.log('LAST_BNB_PRICE=', lastBnbPrice);
 | 
	
		
			
				|  |  | +            if (lastBnbPrice && parseInt(lastBnbPrice) > 0) {
 | 
	
		
			
				|  |  | +                nativeGasPrice = parseInt(nativeCount) * parseInt(lastBnbPrice) * parseInt(account_config.BNB_GAS_LIMIT);
 | 
	
		
			
				|  |  | +                ret_a_gas = lastBnbPrice;
 | 
	
		
			
				|  |  |              } else {
 | 
	
		
			
				|  |  |                  nativeGasPrice = parseInt(nativeCount) * parseInt(account_config.BNB_GAS_LIMIT) * parseInt(account_config.BNB_GAS_PRICE);
 | 
	
		
			
				|  |  | +                ret_a_gas =  parseInt(account_config.BNB_GAS_PRICE);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -            ret_a_gas = account_config.BNB_GAS_PRICE;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              // var real_native_amount = BigInt(nativeAllBalance) - BigInt(nativeGasPrice) - BigInt(tokenGasPrice);
 | 
	
		
			
				|  |  |              var real_native_amount = BigInt(nativeAllBalance);
 | 
	
	
		
			
				|  | @@ -583,7 +587,7 @@ async function transfers(obj, my_account_all_coins, logParams) {
 | 
	
		
			
				|  |  |              logger.log('归集日志上报:', logParams);
 | 
	
		
			
				|  |  |              logParams.type = report.REPORT_TYPE.collect_coins
 | 
	
		
			
				|  |  |              var info = await queryCompanyInfoFromId(0);
 | 
	
		
			
				|  |  | -            logParams.receiver_address_total_balance_after = await queryCollectBalance(info.user_address, obj.chain)
 | 
	
		
			
				|  |  | +            // logParams.receiver_address_total_balance_after = await queryCollectBalance(info.user_address, obj.chain)
 | 
	
		
			
				|  |  |              //归集入库
 | 
	
		
			
				|  |  |              logParams.status = 0
 | 
	
		
			
				|  |  |              try {
 | 
	
	
		
			
				|  | @@ -668,11 +672,11 @@ 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_TOTAL_TOKEN_FREE, tr.totalGasFree);
 | 
	
		
			
				|  |  | +            redis.redis_set(reids_token_config.LAST_TOKEN_PRICE, 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_TOTAL_BNB_FREE, tr.totalGasFree);
 | 
	
		
			
				|  |  | +            redis.redis_set(reids_token_config.LAST_BNB_PRICE, tr.gasFee);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      } else {
 | 
	
		
			
				|  |  |          var tm_obj = { ...obj }
 | 
	
	
		
			
				|  | @@ -694,7 +698,8 @@ async function queryCollectBalance(address, chain) {
 | 
	
		
			
				|  |  |          logger.log('queryCollectBalance', queryCollectBalance)
 | 
	
		
			
				|  |  |          // 查询归集地址余额
 | 
	
		
			
				|  |  |          // return await getAccountBalances(queryCollectBalance);
 | 
	
		
			
				|  |  | -        return await getAccountAllCoins(queryCollectBalance);
 | 
	
		
			
				|  |  | +        // return await getAccountAllCoins(queryCollectBalance);
 | 
	
		
			
				|  |  | +        return '0';
 | 
	
		
			
				|  |  |      } catch (error) {
 | 
	
		
			
				|  |  |          logger.error('queryCollectBalance error', error.toString(), address, chain);
 | 
	
		
			
				|  |  |          return 0;
 | 
	
	
		
			
				|  | @@ -780,7 +785,7 @@ const collectCoins = async (obj) => {
 | 
	
		
			
				|  |  |              //埋点日志-预存 gas 付费
 | 
	
		
			
				|  |  |              logParams.prestore_gas_fee = { ...obj_wd };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            logParams.receiver_address_total_balance_before = await queryCollectBalance(info.user_address, chain)
 | 
	
		
			
				|  |  | +            // logParams.receiver_address_total_balance_before = await queryCollectBalance(info.user_address, chain)
 | 
	
		
			
				|  |  |              logParams.company_public_key = info.user_address
 | 
	
		
			
				|  |  |              logger.log('开始充值 gas ', obj_wd)
 | 
	
		
			
				|  |  |              var ret = await withdraw(obj_wd)
 | 
	
	
		
			
				|  | @@ -1109,7 +1114,7 @@ async function getTokenTransfers(opt) {
 | 
	
		
			
				|  |  |              if (Array.isArray(arr1) && Array.isArray(arr)) {
 | 
	
		
			
				|  |  |                  let arr2 = arr.concat(arr1);
 | 
	
		
			
				|  |  |                  t_1.result = arr2;
 | 
	
		
			
				|  |  | -                logger.log('getTokenTransfers-->>>concat t_1', t_1, t_1.result.length);
 | 
	
		
			
				|  |  | +                logger.log('getTokenTransfers-->>> concat t_1', t_1);
 | 
	
		
			
				|  |  |                  if (t_1.total != null) {
 | 
	
		
			
				|  |  |                      t_1.total = t_1.result.length
 | 
	
		
			
				|  |  |                      logger.log('getTokenTransfers-->>>concat total', t_1.total);
 |