Browse Source

优化查询。

skyfffire 3 years ago
parent
commit
a9c4dba554
1 changed files with 5 additions and 6 deletions
  1. 5 6
      scripts/lp/lpGenerate.ts

+ 5 - 6
scripts/lp/lpGenerate.ts

@@ -171,9 +171,8 @@ export class LpGenerate {
   }
 
   // 二分法查length
-  async getPositionLength(pm: any) {
-    let low = 300_000
-    let high = 1_000_000
+  async getPositionLength(pm: any, low: number) {
+    let high = low + 8
     let lastLow = low
     let lastHigh = high
 
@@ -194,14 +193,14 @@ export class LpGenerate {
 
       // [,,,,,c(,,,,,,,)]
       let too_low = false
-      for (let i = 1; i <= 10; i++) {
+      for (let i = 1; i <= 5; i++) {
         too_low = too_low || (await final_check(checkNumber + i))
       }
       if (too_low) return 'too_low'
 
       // [,,,,,(c,,,,,,,)]
       let too_high = true
-      for (let i = 0; i < 10; i++) {
+      for (let i = 0; i < 5; i++) {
         too_high = too_high && (!await final_check(checkNumber + i))
       }
       if (too_high) return 'too_high'
@@ -328,7 +327,7 @@ export class LpGenerate {
           } else if (routerObj.type === 'univ3') {
             // 获取positionManager
             v3PositionManager = this.parsePositionManager(routerObj, positionManagerAbi)
-            pairsLength = await this.getPositionLength(v3PositionManager)
+            pairsLength = await this.getPositionLength(v3PositionManager, position)
           }
           // 如果有未获取的池子
           const haveNewLp = position < pairsLength