From 1fd1395d6f8208be7d61d3895ea63d89598af2d1 Mon Sep 17 00:00:00 2001 From: Alice Date: Thu, 16 Jul 2026 03:46:06 +0700 Subject: [PATCH] fix: recreate EVM adapter on account change --- src/hooks/useEvmAdapter.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/hooks/useEvmAdapter.ts b/src/hooks/useEvmAdapter.ts index 65fcf1e..8c4f064 100644 --- a/src/hooks/useEvmAdapter.ts +++ b/src/hooks/useEvmAdapter.ts @@ -67,17 +67,20 @@ export function useEvmAdapter() { } const providerChanged = provider !== lastProviderRef.current; - if (providerChanged) { + const addressChanged = address !== lastAddressRef.current; + if (providerChanged || addressChanged) { const adapter = await createViemAdapterFromProvider({ provider }); if (!cancelled) { setAdapter(adapter); lastProviderRef.current = provider; + lastAddressRef.current = address; } } - if (!cancelled) { - lastAddressRef.current = address; - } })(); + + return () => { + cancelled = true; + }; }, [client, address]); return { evmAdapter: adapter, evmAddress: address ?? null };