From 31e24bc19e6f81cd9fb3ac0da29071b0795ef4dc Mon Sep 17 00:00:00 2001 From: Keith Broughton Date: Thu, 27 Mar 2025 19:42:04 +1100 Subject: [PATCH] Blockscout fallback --- packages/checkout/sdk/src/balances/balances.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/checkout/sdk/src/balances/balances.ts b/packages/checkout/sdk/src/balances/balances.ts index 7a0fd299e8..1bf071cab2 100644 --- a/packages/checkout/sdk/src/balances/balances.ts +++ b/packages/checkout/sdk/src/balances/balances.ts @@ -323,9 +323,12 @@ export const getAllBalances = async ( getBlockscoutBalance(config, address!, chainId, tokens), ); } catch (error) { - // Blockscout rate limiting, fallback to RPC node + // Blockscout rate limiting or errors, fallback to RPC node if ((error as CheckoutError).type === CheckoutErrorType.GET_INDEXER_BALANCE_ERROR - && (error as CheckoutError).data?.error?.code === HttpStatusCode.TooManyRequests) { + && ( + (error as CheckoutError).data?.error?.code === HttpStatusCode.TooManyRequests + || (error as CheckoutError).data?.error?.code === HttpStatusCode.InternalServerError + )) { return getTokenBalances(config, provider, walletAddress, chainId, tokens); } throw error;