| 
					
				 | 
			
			
				@@ -252,10 +252,10 @@ async function getAccountBalances(options) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (options.type == 'native') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // result = await Moralis.Web3API.account.getNativeBalance(balance_opts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                result = await getBalances(balance_opts, 'native', 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                result = await getBalances(balance_opts, 'native', 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 logger.log('getNativeBalance=', result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                result = await getBalances(balance_opts, 'token', 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                result = await getBalances(balance_opts, 'token', 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // result = await Moralis.Web3API.account.getTokenBalances(balance_opts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 logger.log('getTokenBalances=', result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -520,7 +520,7 @@ async function updateNativeBalance(nativeBalance, obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         do { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //上面转账完 BNB 会减去,这里再获取一次 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // var native_ret = await Moralis.Web3API.account.getNativeBalance(temp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var native_ret = await getBalances(balance_opts, 'native', 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var native_ret = await getBalances(balance_opts, 'native', 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.log('更新余额 :', nativeBalance, native_ret, retryCount) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (nativeBalance != native_ret.balance && BigInt(nativeBalance) < BigInt(native_ret.balance)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return native_ret.balance; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1030,7 +1030,7 @@ async function transfer_(opts) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (opts.receiver) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         opts.receiver = utils.trim(opts.receiver) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (opts.chainId != utils.CHAIN_ID.czz) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (opts.chainId == utils.CHAIN_ID.bsc_testnet || opts.chainId == utils.CHAIN_ID.bsc_mainnet) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var options; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // sending 0.5 DAI tokens with 18 decimals on BSC testnet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (opts.contractAddress) { //如果存在就是代币 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1075,47 +1075,42 @@ async function transfer_(opts) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return ret 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        switch (opts.chainId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case utils.CHAIN_ID.czz: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                opts.chain = 'czz' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                switch (opts.type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    case 'erc20': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        opts.type = 'token' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                var ret = await czz.withdraw(opts) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (ret && ret.data && ret.code == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        nonce: ret.data.nonce, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        gasPrice: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            type: "BigNumber", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            hex: "0x" + (ret.data.gasPrice).toString(16) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        gasLimit: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            type: "BigNumber", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            hex: "0x" + (ret.data.gasLimit).toString(16) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        to: ret.data.to, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        value: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            type: "BigNumber", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            hex: "0x" + (ret.data.value).toString(16), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            number: ret.data.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        chain: opts.chain, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        from: ret.data.from, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        hash: ret.data.hash, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } else if (ret && ret.data && ret.code == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        code: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        hash: ret.data.hash, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        create_time: utils.getTimestamp(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        lifecycle: 24 * 60 * 60 * 1000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    logger.error('czz withdraw error', JSON.stringify(ret), JSON.stringify(opts)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    throw JSON.stringify(ret) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (opts.type != 'native') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            opts.type = 'token' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        opts.chain = utils.getChainIdToName(opts.chainId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var ret = await czz.withdraw(opts) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ret && ret.data && ret.code == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                nonce: ret.data.nonce, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gasPrice: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    type: "BigNumber", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    hex: "0x" + (ret.data.gasPrice).toString(16) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                gasLimit: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    type: "BigNumber", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    hex: "0x" + (ret.data.gasLimit).toString(16) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                to: ret.data.to, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                value: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    type: "BigNumber", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    hex: "0x" + (ret.data.value).toString(16), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    number: ret.data.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                chain: opts.chain, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                from: ret.data.from, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                hash: ret.data.hash, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (ret && ret.data && ret.code == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                code: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                hash: ret.data.hash, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                create_time: utils.getTimestamp(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                lifecycle: 24 * 60 * 60 * 1000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.error('czz withdraw error', JSON.stringify(ret), JSON.stringify(opts)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw JSON.stringify(ret) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1415,7 +1410,7 @@ async function getTokenTransfersV2(opt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //主流币 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 logger.log('getTokenTransfersV2 account getTransactions>>>>>', options); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                t_1 = await getTransferRecord(options, 'native', 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                t_1 = await getTransferRecord(options, 'native', 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 logger.log('getTokenTransfersV2 native ret -->>> t_1', t_1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (error) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1448,7 +1443,7 @@ async function getTokenTransfersV2(opt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     options.to_block = '10000000000' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 logger.log('getTokenTransfersV2 account getTokenTransfers>>>>>', options); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                t_2 = await getTransferRecord(options, 'token', 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                t_2 = await getTransferRecord(options, 'token', 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 logger.log('getTokenTransfersV2 token ret -->>> t_2', t_2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (error) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1506,7 +1501,7 @@ async function getTokenTransfersV2(opt) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         do { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 logger.log('getTokenTransfersV2 getTransaction options-->>> ', options); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                const transaction = await getTransferRecord(options, 'hash', 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const transaction = await getTransferRecord(options, 'hash', 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 logger.log('getTokenTransfersV2 getTransaction ret-->>> ', transaction); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return transaction; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (error) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1547,7 +1542,7 @@ async function getTransferRecord(opts, type, use_moralis_sdk_) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var use_moralis_sdk = use_moralis_sdk_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var temp_opts = { ...opts } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (temp_opts.chain == utils.CHAIN_NAME.czz) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (temp_opts.chain != utils.CHAIN_NAME.bsc_mainnet || temp_opts.chain != utils.CHAIN_NAME.bsc_testnet) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         use_moralis_sdk = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else if (use_moralis_sdk == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         temp_opts.chain = convertChain(temp_opts.chain) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1644,7 +1639,7 @@ async function getBalances(opts, type, use_moralis_sdk_) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var use_moralis_sdk = use_moralis_sdk_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var temp_opts = { ...opts } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (temp_opts.chain == utils.CHAIN_NAME.czz) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (temp_opts.chain != utils.CHAIN_NAME.bsc_mainnet || temp_opts.chain != utils.CHAIN_NAME.bsc_testnet) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         use_moralis_sdk = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else if (use_moralis_sdk == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         temp_opts.chain = convertChain(temp_opts.chain) 
			 |