@@ -15,7 +15,9 @@ import type { EIP1193Provider } from "./types.js";
1515 * Options for creating an EIP-1193 provider adapter.
1616 */
1717export 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