From ff56a0ebd49136bc5b02193fc12973e203cdfbec Mon Sep 17 00:00:00 2001 From: Kevin Ingersoll Date: Mon, 11 Nov 2024 23:36:11 +0700 Subject: [PATCH] try piping watchLogs to queue scheduler --- packages/store-sync/src/createStoreSync.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/store-sync/src/createStoreSync.ts b/packages/store-sync/src/createStoreSync.ts index ab3eb005a6..783c7b0ed0 100644 --- a/packages/store-sync/src/createStoreSync.ts +++ b/packages/store-sync/src/createStoreSync.ts @@ -30,6 +30,8 @@ import { throwError, mergeWith, ignoreElements, + observeOn, + queueScheduler, } from "rxjs"; import { debug as parentDebug } from "./debug"; import { SyncStep } from "./SyncStep"; @@ -214,7 +216,11 @@ export async function createStoreSync({ const pendingLogsWebSocketUrl = publicClient.chain?.rpcUrls?.wiresaw?.webSocket?.[0]; const storedPendingLogs$ = pendingLogsWebSocketUrl ? startBlock$.pipe( - mergeMap((startBlock) => watchLogs({ url: pendingLogsWebSocketUrl, address, fromBlock: startBlock }).logs$), + mergeMap((startBlock) => + watchLogs({ url: pendingLogsWebSocketUrl, address, fromBlock: startBlock }).logs$.pipe( + observeOn(queueScheduler), + ), + ), concatMap(async (block) => { await storageAdapter(block); return block;