diff --git a/package.json b/package.json index 9db6342..f57a702 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ora-stack", - "version": "0.3.4", + "version": "0.3.5", "private": true, "packageManager": "pnpm@9.7.0", "description": "", diff --git a/packages/orap/package.json b/packages/orap/package.json index 229f912..d6e58f9 100644 --- a/packages/orap/package.json +++ b/packages/orap/package.json @@ -1,7 +1,7 @@ { "name": "@ora-io/orap", "type": "module", - "version": "0.3.4", + "version": "0.3.5", "packageManager": "pnpm@8.10.5", "description": "", "author": "Norman (nom4dv3), MuRong", diff --git a/packages/reku/package.json b/packages/reku/package.json index d8e9ca2..10ade28 100644 --- a/packages/reku/package.json +++ b/packages/reku/package.json @@ -1,7 +1,7 @@ { "name": "@ora-io/reku", "type": "module", - "version": "0.3.5", + "version": "0.3.7", "packageManager": "pnpm@8.10.5", "description": "", "author": "Norman (nom4dv3), MuRong", diff --git a/packages/reku/src/event/crosschecker/autochecker.ts b/packages/reku/src/event/crosschecker/autochecker.ts index e953cb0..541a363 100644 --- a/packages/reku/src/event/crosschecker/autochecker.ts +++ b/packages/reku/src/event/crosschecker/autochecker.ts @@ -92,6 +92,7 @@ export class AutoCrossChecker extends BaseCrossChecker { const waitNextCrosscheck = async (): Promise => { latestBlockNum = await timeoutWithRetry(() => { + // console.log(this.provider, this.provider.provider) if (!this.provider || !this.provider.provider) throw new Error('provider not ready') return this.provider.provider?.getBlockNumber() @@ -143,19 +144,27 @@ export class AutoCrossChecker extends BaseCrossChecker { // TODO: replace polling with schedule cron await polling(async () => { - const wait = await waitOrUpdateToBlock() - debug('polling interval: %d, wait: %s, from block: %d, to block: %d', pollingInterval, wait, ccrOptions.fromBlock, ccrOptions.toBlock) - if (wait) { - await this.crossCheckRange(ccrOptions) - // only update options after cc succ - await updateCCROptions(ccrOptions) + try { + debug('start polling') + const wait = await waitOrUpdateToBlock() + debug('polling interval: %d, wait: %s, from block: %d, to block: %d', pollingInterval, wait, ccrOptions.fromBlock, ccrOptions.toBlock) + if (wait) { + await this.crossCheckRange(ccrOptions) + // only update options after cc succ + await updateCCROptions(ccrOptions) + } + else { + debug('Because the latest block %d is too old, skip this cross check', latestBlockNum) + } + debug('end condition') + const end = endingCondition() + debug('polling ending condition: %s', end) + return end } - else { - debug('Because the latest block %d is too old, skip this cross check', latestBlockNum) + catch (error) { + debug('polling error', error) + return false } - const end = endingCondition() - debug('polling ending condition: %s', end) - return end }, pollingInterval) }