From 8e717a3b4011648b63f36fa59d70393d9229eb87 Mon Sep 17 00:00:00 2001 From: samsamtrum Date: Sat, 23 May 2026 19:03:07 +0700 Subject: [PATCH] fix: use configured rpc for ENS lookups --- packages/core/src/provider.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/core/src/provider.ts b/packages/core/src/provider.ts index 6ee34f2b1..4d5290de9 100644 --- a/packages/core/src/provider.ts +++ b/packages/core/src/provider.ts @@ -41,22 +41,28 @@ export const viemProviders: { [key: string]: PublicClient } = {} +function getProviderCacheKey(chain: Chain): string { + return chain.rpcUrl || chain.publicRpcUrl || chain.id +} + async function getProvider(chain: Chain): Promise { if (!chain) return null - if (!viemProviders[chain.rpcUrl as string]) { + const cacheKey = getProviderCacheKey(chain) + + if (!viemProviders[cacheKey]) { const viemChain = await chainIdToViemENSImport(chain.id) if (!viemChain) return null const { createPublicClient, http } = await import('viem') const publicProvider = createPublicClient({ chain: viemChain, - transport: http() + transport: http(chain.rpcUrl || chain.publicRpcUrl) }) - viemProviders[chain.rpcUrl as string] = publicProvider as PublicClient + viemProviders[cacheKey] = publicProvider as PublicClient } - return viemProviders[chain.rpcUrl as string] + return viemProviders[cacheKey] } export function requestAccounts(