From b0c3ad204271a290e526287d99157cd833bbbb71 Mon Sep 17 00:00:00 2001 From: David A <4429761+daywiss@users.noreply.github.com> Date: Fri, 13 May 2022 09:51:36 -0400 Subject: [PATCH] fix(sdk/across): scope query events to user (#3906) Signed-off-by: David --- packages/sdk/src/across/clients/bridgePool.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/sdk/src/across/clients/bridgePool.ts b/packages/sdk/src/across/clients/bridgePool.ts index 361d136fe0..0c4c47330e 100644 --- a/packages/sdk/src/across/clients/bridgePool.ts +++ b/packages/sdk/src/across/clients/bridgePool.ts @@ -140,12 +140,20 @@ export class PoolEventState { if (!seen) this.addEvent(params); return !seen; }; - public async read(endBlock: number) { + public async read(endBlock: number, userAddress?: string) { if (endBlock <= this.startBlock) return this.state; const events = ( await Promise.all([ - ...(await this.contract.queryFilter(this.contract.filters.LiquidityAdded(), this.startBlock, endBlock)), - ...(await this.contract.queryFilter(this.contract.filters.LiquidityRemoved(), this.startBlock, endBlock)), + ...(await this.contract.queryFilter( + this.contract.filters.LiquidityAdded(undefined, undefined, userAddress), + this.startBlock, + endBlock + )), + ...(await this.contract.queryFilter( + this.contract.filters.LiquidityRemoved(undefined, undefined, userAddress), + this.startBlock, + endBlock + )), ]) ) .filter(this.filterSeen) @@ -517,7 +525,7 @@ export class Client { const getUserState = new UserState(contract); const getPoolEventState = this.getOrCreatePoolEvents(poolAddress); const userState = await getUserState.read(userAddress); - const eventState = await getPoolEventState.read(latestBlock); + const eventState = await getPoolEventState.read(latestBlock, userAddress); set(this.state, ["users", userAddress, poolAddress], joinUserState(poolState, eventState, userState)); this.emit(["users", userAddress, poolAddress], this.state.users[userAddress][poolAddress]); }