|
@@ -463,16 +463,20 @@ async function updateNativeBalance(nativeBalance, obj) {
|
|
|
temp.chain = utils.getChainName(temp.chain)
|
|
|
}
|
|
|
console.log('updateNativeBalance after', temp, nativeBalance)
|
|
|
- do {
|
|
|
-
|
|
|
- var native_ret = await Moralis.Web3API.account.getNativeBalance(temp);
|
|
|
- logger.log('更新余额 :', nativeBalance, native_ret, retryCount)
|
|
|
- if (nativeBalance != native_ret.balance && BigInt(nativeBalance) < BigInt(native_ret.balance)) {
|
|
|
- return native_ret.balance;
|
|
|
- }
|
|
|
- await utils.sleep(3000);
|
|
|
- retryCount--;
|
|
|
- } while (native_ret.balance == nativeBalance && retryCount > 0);
|
|
|
+ try {
|
|
|
+ do {
|
|
|
+
|
|
|
+ var native_ret = await Moralis.Web3API.account.getNativeBalance(temp);
|
|
|
+ logger.log('更新余额 :', nativeBalance, native_ret, retryCount)
|
|
|
+ if (nativeBalance != native_ret.balance && BigInt(nativeBalance) < BigInt(native_ret.balance)) {
|
|
|
+ return native_ret.balance;
|
|
|
+ }
|
|
|
+ await utils.sleep(3000);
|
|
|
+ retryCount--;
|
|
|
+ } while (native_ret.balance == nativeBalance && retryCount > 0);
|
|
|
+ } catch (error) {
|
|
|
+ logger.error('updateNativeBalance error :', nativeBalance, JSON.stringify(obj))
|
|
|
+ }
|
|
|
return null;
|
|
|
}
|
|
|
|
|
@@ -485,15 +489,17 @@ async function transfers(obj, my_account_all_coins, logParams) {
|
|
|
var collects = []
|
|
|
var collects_error = []
|
|
|
var collects_mysql = []
|
|
|
+
|
|
|
for (let index = 0; index < my_account_all_coins.transfer_arrays.length; index++) {
|
|
|
var ti = my_account_all_coins.transfer_arrays[index]
|
|
|
- logger.tlog('ti=', ti)
|
|
|
+ logger.tlog('ti=', ti, index)
|
|
|
|
|
|
|
|
|
|
|
|
if (ti.type == 'native') {
|
|
|
await updateNativeBalance(ti.amount, ti);
|
|
|
}
|
|
|
+
|
|
|
var ret = await start_collectCoins(ti)
|
|
|
|
|
|
if (isTransferSucceed(ret)) {
|
|
@@ -540,6 +546,7 @@ async function transfers(obj, my_account_all_coins, logParams) {
|
|
|
|
|
|
logParams.results = collects
|
|
|
logParams.collects = JSON.stringify(collects_mysql)
|
|
|
+ logParams.createTime = obj.createTime
|
|
|
if (obj.address)
|
|
|
logParams.user_address = obj.address
|
|
|
if (t_i == my_account_all_coins.transfer_arrays.length) {
|
|
@@ -676,7 +683,6 @@ async function queryCollectBalance(address, chain) {
|
|
|
* @param {*} obj
|
|
|
*/
|
|
|
const collectCoins = async (obj) => {
|
|
|
- logger.log('fun collectCoins in =', obj)
|
|
|
var chain = obj.chain;
|
|
|
|
|
|
|
|
@@ -685,6 +691,8 @@ const collectCoins = async (obj) => {
|
|
|
|
|
|
var logParams = {};
|
|
|
|
|
|
+ obj.createTime = utils.getCurrentDate()
|
|
|
+ logger.log('fun collectCoins in =', obj)
|
|
|
var my_account_all_coins = await getAccountAllCoins(obj);
|
|
|
logger.log('collectCoins getAccountAllCoins=', my_account_all_coins)
|
|
|
if (!my_account_all_coins.native && !my_account_all_coins.other) {
|
|
@@ -750,10 +758,13 @@ const collectCoins = async (obj) => {
|
|
|
|
|
|
if (!isTransferSucceed(ret)) return ret;
|
|
|
|
|
|
+
|
|
|
+
|
|
|
var transfer = getTransferGasFree('native', ret)
|
|
|
logger.log('getTransferGasFree transfer =', transfer)
|
|
|
if (transfer && transfer.nativeValue > 0) {
|
|
|
logger.log('tempNativeValue=', my_account_all_coins.native.balance)
|
|
|
+ await updateNativeBalance(my_account_all_coins.native.balance, obj);
|
|
|
var tempNativeValue = addNativeValue(my_account_all_coins.native.balance, transfer.nativeValue)
|
|
|
my_account_all_coins.native.balance = tempNativeValue.toString();
|
|
|
logger.log('udpateNativeValue=', tempNativeValue);
|