Ver código fonte

使用自建node查询

DevYK 2 anos atrás
pai
commit
123ee14399
2 arquivos alterados com 48 adições e 52 exclusões
  1. 45 50
      model/moralis_sdk.js
  2. 3 2
      model/utils.js

+ 45 - 50
model/moralis_sdk.js

@@ -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)

+ 3 - 2
model/utils.js

@@ -108,6 +108,7 @@ const CHAIN_ID = {
 const CHAIN_ID_NAME = {
     97: 'bsc_testnet',
     56: 'bsc_mainnet',
+    2019: 'czz'
 }
 
 const USE_SDK = {
@@ -135,8 +136,8 @@ function getRedisKeyFromChain(chain) {
 function trim(str) {
     try {
         return str.replace(/(^\s*)|(\s*$)/g, "");
-    } catch (error) { 
-        logger.error('trim error',error.toString())
+    } catch (error) {
+        logger.error('trim error', error.toString())
         return str
     }
 }