龚成明 3 سال پیش
والد
کامیت
8c630ad054
2فایلهای تغییر یافته به همراه40 افزوده شده و 13 حذف شده
  1. 23 4
      scripts/ready/pushv2.ts
  2. 17 9
      scripts/ready/pushv2FromHead.ts

+ 23 - 4
scripts/ready/pushv2.ts

@@ -156,6 +156,24 @@ async function saveToken(lpList: any) {
   }
 }
 
+async function filterLp(lpList: any) {
+  const filteredLpList: any = []
+
+  for (let lpIndex in lpList) {
+    const lp = lpList[lpIndex]
+
+    if (lp.token0.toLowerCase() === '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2') {
+      if (parseInt(lp.r0) > 20 * 1e18) filteredLpList.push(filteredLpList)
+    } else if (lp.token1.toLowerCase() === '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2') {
+      if (parseInt(lp.r1) > 20 * 1e18) filteredLpList.push(filteredLpList)
+    } else {
+      filteredLpList.push(lp)
+    }
+  }
+
+  return filteredLpList
+}
+
 async function main() {
   logger.debug('Pull v2 start.')
 
@@ -170,12 +188,13 @@ async function main() {
   while (true) {
     for (let router_index = 0; router_index < v2RouterInfo.length; router_index++) {
       // 1. 获取Lp
-      const lpList = await getAllLp(v2RouterInfo[router_index], fromZero, v2_410_tool, v2_factory_abi)
-      // 2. 将Lp保存到二阶表
+      let lpList = await getAllLp(v2RouterInfo[router_index], fromZero, v2_410_tool, v2_factory_abi)
+      // 2. 过滤Lp
+      lpList = await filterLp(lpList)
+      // 3. 将Lp保存到二阶表
       await saveLpToSwapPath(lpList)
-      // 3. 保存Lp的Token到Token表
+      // 4. 保存Lp的Token到Token表
       await saveToken(lpList)
-      // 4. 过滤Lp
       // 5. 保存Lp的Token到TopToken表
 
       if (lpList.length > 0) {

+ 17 - 9
scripts/ready/pushv2FromHead.ts

@@ -63,7 +63,7 @@ async function handleAFactory(routerObj: any, position: number, pairsLength: num
         isEthW: routerObj.type == 'ETHW'
       }
       const insertRst = await History.appendOrUpdate('0', info['0'], data)
-      logger.debug(`insert lp:${insertRst.msg}, hash: ${info['0']}, ${position} / ${pairsLength}`)
+      logger.debug(`insert lp:${insertRst.msg}, hash: ${info['0']}, ${position + 1} / ${pairsLength}`)
       lpList.push(data)
 
       // 更新一次position
@@ -78,6 +78,7 @@ async function handleAFactory(routerObj: any, position: number, pairsLength: num
 
 async function getAllLp(v2Router: any, fromZero: boolean, v2_410_tool: any, v2_factory_abi: any) {
   try {
+
     const v2_factory_address = v2Router.factory
     // 获取工厂实例
     const v2_factory = new web3.eth.Contract(v2_factory_abi, v2_factory_address)
@@ -86,11 +87,12 @@ async function getAllLp(v2Router: any, fromZero: boolean, v2_410_tool: any, v2_f
     // 获取当前pull状态
     const position = fromZero ? 0 : await handlePosition(v2Router.router, v2_factory_address)
 
-    if (position < pairsLength) {
+    if (position + 1 < pairsLength) {
       logger.debug(`Router address: ${v2Router.router}`)
-      logger.debug(`factory: ${v2_factory_address}, ${position} / ${pairsLength}.`)
+      logger.debug(`factory: ${v2_factory_address}, ${position + 1} / ${pairsLength}.`)
+
+      return await handleAFactory(v2Router, position, pairsLength, v2_410_tool)
     }
-    return await handleAFactory(v2Router, position, pairsLength, v2_410_tool)
   } catch (e) {
     logger.error(`New contract error, router: ${v2Router.router}`)
     logger.error(e)
@@ -112,7 +114,7 @@ async function saveLpToSwapPath(lpList: any) {
     lpSum2List.push(lp)
 
     const insertRst = await swapPath.appendOrUpdate(lp.sum2, '2', lpSum2List)
-    logger.debug(`${lp.name}: ${insertRst.msg}, ${lpIndex + 1}/${lpList.length}`)
+    logger.debug(`save path: ${lp.name}: ${insertRst.msg}, ${parseInt(lpIndex) + 1}/${lpList.length}`)
   }
 }
 
@@ -140,17 +142,17 @@ async function saveToken(lpList: any) {
       const token = await handleToken(lp, true)
 
       const saveRst = await history.appendOrUpdate('token', token.address, token)
-      logger.debug(token)
-      logger.debug(saveRst.msg)
+      logger.debug(`${token.name} ${saveRst.msg}`)
     } catch (e) {}
 
     try {
       const token = await handleToken(lp, false)
 
       const saveRst = await history.appendOrUpdate('token', token.address, token)
-      logger.debug(token)
-      logger.debug(saveRst.msg)
+      logger.debug(`${token.name} ${saveRst.msg}`)
     } catch (e) {}
+
+    logger.debug(`insert token: ${parseInt(lpIndex) + 1} / ${lpList.length}`)
   }
 }
 
@@ -175,6 +177,12 @@ async function main() {
       await saveToken(lpList)
       // 4. 过滤Lp
       // 5. 保存Lp的Token到TopToken表
+
+      if (lpList.length > 0) {
+        logger.debug('')
+        logger.debug('')
+        logger.debug('')
+      }
     }
 
     if (fromZero) fromZero = false;