From d5f7dec074b38bfb4394364ec82fe14c557e1b12 Mon Sep 17 00:00:00 2001 From: Ermyas Abebe Date: Tue, 26 May 2026 11:20:02 +1000 Subject: [PATCH] fix(checkout-widgets): Fix WalletConnect NETWORK_ERROR on chain switch --- .../widgets-lib/src/widgets/connect/components/WalletList.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/checkout/widgets-lib/src/widgets/connect/components/WalletList.tsx b/packages/checkout/widgets-lib/src/widgets/connect/components/WalletList.tsx index e96a9bccea..8ccff73ff0 100644 --- a/packages/checkout/widgets-lib/src/widgets/connect/components/WalletList.tsx +++ b/packages/checkout/widgets-lib/src/widgets/connect/components/WalletList.tsx @@ -227,7 +227,9 @@ export function WalletList(props: WalletListProps) { const connectCallback = async (ethereumProvider: EthereumProvider) => { if (ethereumProvider.connected && ethereumProvider.session) { - const browserProvider = new WrappedBrowserProvider(ethereumProvider); + // Pass 'any' so ethers doesn't pin the provider to the initial WC chain. + // Without 'any', the subsequent getNetwork() throws NETWORK_ERROR ("network changed: ..."). + const browserProvider = new WrappedBrowserProvider(ethereumProvider, 'any'); selectBrowserProvider(browserProvider, 'walletconnect'); const { chainId } = await ((await browserProvider.getSigner()).provider.getNetwork());