From 36621a920639952fae2b5b163f5cf08e025a6013 Mon Sep 17 00:00:00 2001 From: CounterFire2023 <136581895+CounterFire2023@users.noreply.github.com> Date: Tue, 16 Jan 2024 11:07:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/chain/chain.api.ts | 4 ++-- src/events.ts | 4 ++-- src/scriptions.ts | 2 +- src/utils/block.util.ts | 4 ++-- yarn.lock | 19 ++++++++++++++++++- 6 files changed, 26 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index e02d991..30636b8 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "devDependencies": { "@types/dotenv": "^8.2.0", "@types/node": "^14.14.20", + "@types/node-fetch": "2.x", "@types/node-schedule": "^2.1.0", "@types/nodemailer": "^6.4.7", "@types/redis": "^2.8.28", diff --git a/src/chain/chain.api.ts b/src/chain/chain.api.ts index 4e5f24f..8470250 100644 --- a/src/chain/chain.api.ts +++ b/src/chain/chain.api.ts @@ -1,4 +1,4 @@ -import fetch from "node-fetch" +import fetch, {Response} from "node-fetch" import { retry } from 'utils/promise.util' // AbortController was added in node v14.17.0 globally const AbortController = globalThis.AbortController @@ -6,7 +6,7 @@ const AbortController = globalThis.AbortController const request = async (url: string, options: any) => { const controller = new AbortController() const timeout = setTimeout(() => controller.abort(), 30000) - let res; + let res: Response; try { res = await fetch(url, { ...options, signal: controller.signal }) clearTimeout(timeout) diff --git a/src/events.ts b/src/events.ts index 24d8373..ee50431 100644 --- a/src/events.ts +++ b/src/events.ts @@ -42,12 +42,12 @@ async function parseAllEvents() { return } lock = true - logger.info('begin sync events with chains: ' + svrs.length) + logger.info('begin sync events: ' + svrs.map((svr) => svr.chainCfg.id).join(',') ) for (let svr of svrs) { try { await svr.execute() } catch (err) { - logger.info('sync events with error:: chain: ' + svr.chainCfg.id ) + logger.info('sync events error:: chain: ' + svr.chainCfg.id ) logger.info(err) } } diff --git a/src/scriptions.ts b/src/scriptions.ts index 704b595..c28c024 100644 --- a/src/scriptions.ts +++ b/src/scriptions.ts @@ -55,7 +55,7 @@ async function parseAllEvents() { return } lock = true - logger.info('begin sync block: ' + svrs.length) + logger.info('begin sync block: ' + svrs.map((svr) => svr.chainCfg.id).join(',')) for (let svr of svrs) { try { await svr.execute() diff --git a/src/utils/block.util.ts b/src/utils/block.util.ts index a6a7137..d876832 100644 --- a/src/utils/block.util.ts +++ b/src/utils/block.util.ts @@ -18,7 +18,7 @@ export async function divQueryPassBlocks({chainId, rpc, fromBlock, amount} export async function getPastBlocks({chainId, rpc, fromBlock, amount} : {chainId: number, rpc: string, fromBlock: number, amount: number}) { let blocks = [] - logger.info(`getPastBlocks: ${chainId} from: ${fromBlock} amount: ${amount}`) + logger.info(`chain: ${chainId} from: ${fromBlock} amount: ${amount}`) let blockNumber = fromBlock const redisKey = `blocknum_${chainId}` let retryCount = 0; @@ -78,7 +78,7 @@ export async function getPastBlocks({chainId, rpc, fromBlock, amount} export function* getPastBlocksIter({chainId, rpc, fromBlock, amount} : {chainId: number, rpc: string, fromBlock: number, amount: number}) { - logger.info(`*getPastBlocksIter: ${chainId} from: ${fromBlock} amount: ${amount}`) + logger.info(`chain: ${chainId} from: ${fromBlock} amount: ${amount}`) let remain = amount while (remain > 0) { yield getPastBlocks({chainId, rpc, fromBlock, amount: Math.min(MAX_BATCH_AMOUNT, remain)}) diff --git a/yarn.lock b/yarn.lock index ebbb770..4ffcfc3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -493,6 +493,14 @@ resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.186.tgz#862e5514dd7bd66ada6c70ee5fce844b06c8ee97" integrity sha512-eHcVlLXP0c2FlMPm56ITode2AgLMSa6aJ05JTTbYbI+7EMkCEE5qk2E41d5g2lCVTqRe0GnnRFurmlCsDODrPw== +"@types/node-fetch@2.x": + version "2.6.10" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.10.tgz#ff5c1ceacab782f2b7ce69957d38c1c27b0dc469" + integrity sha512-PPpPK6F9ALFTn59Ka3BaL+qGuipRfxNE8qVgkp0bVixeiR2c2/L+IVOiBdu9JhhT22sWnQEp6YyHGI2b2+CMcA== + dependencies: + "@types/node" "*" + form-data "^4.0.0" + "@types/node-schedule@^2.1.0": version "2.1.0" resolved "https://registry.npmmirror.com/@types/node-schedule/-/node-schedule-2.1.0.tgz#60375640c0509bab963573def9d1f417f438c290" @@ -1260,7 +1268,7 @@ colors@1.4.0: resolved "https://registry.npmmirror.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== -combined-stream@^1.0.6, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -2298,6 +2306,15 @@ form-data-encoder@1.7.1: resolved "https://registry.npmmirror.com/form-data-encoder/-/form-data-encoder-1.7.1.tgz#ac80660e4f87ee0d3d3c3638b7da8278ddb8ec96" integrity sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg== +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + form-data@~2.3.2: version "2.3.3" resolved "https://registry.npmmirror.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"