hel 1 jaar geleden
bovenliggende
commit
495b49ef6a
4 gewijzigde bestanden met toevoegingen van 56 en 1 verwijderingen
  1. 1 0
      package.json
  2. 16 0
      src/BaseClient.ts
  3. 2 1
      src/InitiaClient.ts
  4. 37 0
      src/onchain/week2/week2task2.ts

+ 1 - 0
package.json

@@ -42,6 +42,7 @@
     "generateRandom": "yarn build && node build/src/onchain/generateRandom.js",
     "generateRandomW2": "yarn build && node build/src/onchain/week2/generateRandomW2.js",
     "runWeek2": "yarn build && node build/src/onchain/week2/randomWeek2.js",
+    "runWeek2Task2": "yarn build && node build/src/onchain/week2/week2task2.js",
     "randomTask": "yarn build && node build/src/onchain/randomTask.js",
     "finalTask": "yarn build && node build/src/onchain/finalTask.js",
     "mintJennie": "yarn build && node build/src/onchain/mintJennie.js",

+ 16 - 0
src/BaseClient.ts

@@ -153,10 +153,26 @@ export abstract class BaseClient {
     const usdc = tokens.filter(token => token.denom === 'uusdc')[0]
     return usdc.amount
   }
+
+  async getTargetAmount(toAddr: string) {
+    const data = await this.lcd.bank.balance(toAddr)
+    const tokens = data[0].toArray()
+
+    try {
+      console.log(tokens)
+      const usdc = tokens.filter(token => token.denom === 'uinit')[0]
+
+      return usdc.amount
+    } catch (e) {
+      return 0
+    }
+  }
   async getInitAmount() {
     const tokens = await this.checkBalance()
     try {
+      console.log(tokens)
       const usdc = tokens.filter(token => token.denom === 'uinit')[0]
+
       return usdc.amount
     } catch (e) {
       return 0

+ 2 - 1
src/InitiaClient.ts

@@ -21,7 +21,8 @@ export class InitiaClient extends InitiaTask {
   }
 
   async week2Task2(toAddr: string) {
-    const uinitAmount = await this.getInitAmount()
+    const uinitAmount = await this.getTargetAmount(toAddr)
+    console.log(uinitAmount)
     if (Number(uinitAmount) > 0) {
       return `done`
     } else {

+ 37 - 0
src/onchain/week2/week2task2.ts

@@ -0,0 +1,37 @@
+import { forEachAsync } from '../../utils'
+import { DBClient } from '../../singletons'
+import { InitiaClient } from '../../InitiaClient'
+
+async function startCheck(concurrency) {
+  const accountsRaw = await DBClient.instance.randomTask2.findMany({
+    where: {
+      finish: 1,
+    },
+    take: 40000,
+  })
+  await forEachAsync(accountsRaw, concurrency, async (account, index) => {
+    console.log(
+      `${index}/${accountsRaw.length}: processing ${account.address},account id: ${account.id}`,
+    )
+    const client = new InitiaClient(account.mnemonic, true)
+    try {
+      const bool = await client.week2Task2(account.toAddress)
+      console.log(bool)
+      if (bool == `done`) {
+        await DBClient.instance.randomTask2.update({
+          where: { id: account.id },
+          data: { task2: 2 },
+        })
+      } else {
+        await DBClient.instance.randomTask2.update({
+          where: { id: account.id },
+          data: { task2: 0 },
+        })
+      }
+    } catch (e) {
+      console.log(e.message)
+    }
+  })
+}
+
+startCheck(100)