diff --git a/src/utils/contract.util.ts b/src/utils/contract.util.ts index f6aae66..cabd3b5 100644 --- a/src/utils/contract.util.ts +++ b/src/utils/contract.util.ts @@ -7,7 +7,7 @@ const ONE = toBN(1) const TWO = toBN(2) const queryRange = toBN(1000) // 返回数据如果达到这个数值, 需要拆分块的区间, 重新获取 -const RESULT_LIMIT_COUNT = 99 +const RESULT_LIMIT_COUNT = parseInt(process.env.RESULT_LIMIT_COUNT) // 单个块event数量超过该值, 需要独立请求 const SPLIT_LIMIT_COUNT = 40 @@ -68,7 +68,8 @@ export async function getPastEvents({ toBlock, }) logger.debug(`from: ${fromBlock} to: ${toBlock} events: ${events.length}`) - if (events.length >= RESULT_LIMIT_COUNT) { + // 有些公共节点会限制返回事件数量, 需要拆分块的区间, 重新获取 + if (RESULT_LIMIT_COUNT > 0 && events.length >= RESULT_LIMIT_COUNT) { events = await divQueryPassEvents({ contract, event,