From 375ef4279368811c22178953e4ecabf17bb690c7 Mon Sep 17 00:00:00 2001 From: LukasDeco <41474751+LukasDeco@users.noreply.github.com> Date: Fri, 17 May 2024 19:03:10 +0800 Subject: [PATCH] feat: retry da balances (#101) --- lib/client/rpc/balances.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/client/rpc/balances.ts b/lib/client/rpc/balances.ts index e714164..85f5743 100644 --- a/lib/client/rpc/balances.ts +++ b/lib/client/rpc/balances.ts @@ -15,7 +15,7 @@ import { FutarchyBalancesClient } from "@/client"; import { PublicKey } from "@solana/web3.js"; import { Proposal } from "@/types/proposals"; import { BN, Provider } from "@coral-xyz/anchor"; -import { Observable } from "rxjs"; +import { Observable, retry } from "rxjs"; export class FutarchyRPCBalancesClient implements FutarchyBalancesClient { private rpcProvider: Provider; @@ -126,7 +126,7 @@ export class FutarchyRPCBalancesClient implements FutarchyBalancesClient { public watchTokenBalance( tokenWithPDA: TokenWithPDA ): Observable { - return new Observable((subscriber) => { + const obs = new Observable((subscriber) => { // yield initial fetch this.rpcProvider.connection .getTokenAccountBalance(tokenWithPDA.pda) @@ -158,6 +158,13 @@ export class FutarchyRPCBalancesClient implements FutarchyBalancesClient { return () => subscriber.complete(); }); + + return obs.pipe( + retry({ + count: 100, + delay: 5_000 + }) + ); } /**