Skip to content

Commit d854021

Browse files
[SDK] fix: Pass chainId to internal 1193 provider when connecting (#6506)
1 parent 654f879 commit d854021

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

.changeset/cruel-tires-cheer.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"thirdweb": patch
3+
---
4+
5+
Pass along chainId to internal 1193 provider when connecting

packages/thirdweb/src/adapters/eip1193/from-eip1193.ts

+10-10
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ import type { EIP1193Provider } from "./types.js";
1515
* Options for creating an EIP-1193 provider adapter.
1616
*/
1717
export type FromEip1193AdapterOptions = {
18-
provider: EIP1193Provider | (() => Promise<EIP1193Provider>);
18+
provider:
19+
| EIP1193Provider
20+
| ((params?: { chainId?: number }) => Promise<EIP1193Provider>);
1921
walletId?: WalletId;
2022
};
2123

@@ -63,13 +65,11 @@ export function fromProvider(options: FromEip1193AdapterOptions): Wallet {
6365
let account: Account | undefined = undefined;
6466
let chain: Chain | undefined = undefined;
6567
let provider: EIP1193Provider | undefined = undefined;
66-
const getProvider = async () => {
67-
if (!provider) {
68-
provider =
69-
typeof options.provider === "function"
70-
? await options.provider()
71-
: options.provider;
72-
}
68+
const getProvider = async (params?: { chainId?: number }) => {
69+
provider =
70+
typeof options.provider === "function"
71+
? await options.provider(params)
72+
: options.provider;
7373
return provider;
7474
};
7575

@@ -118,7 +118,7 @@ export function fromProvider(options: FromEip1193AdapterOptions): Wallet {
118118
const [connectedAccount, connectedChain, doDisconnect, doSwitchChain] =
119119
await connectEip1193Wallet({
120120
id,
121-
provider: await getProvider(),
121+
provider: await getProvider({ chainId: connectOptions.chain?.id }),
122122
client: connectOptions.client,
123123
chain: connectOptions.chain,
124124
emitter,
@@ -141,7 +141,7 @@ export function fromProvider(options: FromEip1193AdapterOptions): Wallet {
141141
const [connectedAccount, connectedChain, doDisconnect, doSwitchChain] =
142142
await autoConnectEip1193Wallet({
143143
id,
144-
provider: await getProvider(),
144+
provider: await getProvider({ chainId: connectOptions.chain?.id }),
145145
emitter,
146146
chain: connectOptions.chain,
147147
client: connectOptions.client,

0 commit comments

Comments
 (0)