@@ -26,21 +26,15 @@ export const useConnectWallet = (): [
26
26
] => {
27
27
if ( ! web3Onboard ) throw new Error ( 'Must initialize before using hooks.' )
28
28
29
- const [ wallet , setConnectedWallet ] = useState < WalletState | null > ( null )
29
+ const [ wallet , setConnectedWallet ] = useState < WalletState | null > (
30
+ ( ) => ( web3Onboard as OnboardAPI ) . state . get ( ) . wallets [ 0 ] || null
31
+ )
30
32
const [ connecting , setConnecting ] = useState ( false )
31
33
32
34
useEffect ( ( ) => {
33
35
const subscription = ( web3Onboard as OnboardAPI ) . state
34
36
. select ( 'wallets' )
35
- . subscribe ( wallets => {
36
- if ( ! wallet ) return
37
-
38
- const updatedWallet = wallets . find (
39
- ( { label } ) => label === wallet . label
40
- )
41
-
42
- updatedWallet && setConnectedWallet ( updatedWallet )
43
- } )
37
+ . subscribe ( wallets => setConnectedWallet ( wallets [ 0 ] || null ) )
44
38
45
39
return ( ) => subscription . unsubscribe ( )
46
40
} , [ wallet ] )
@@ -89,7 +83,16 @@ export const useSetChain = (
89
83
const [ settingChain , setInProgress ] = useState < boolean > ( false )
90
84
91
85
const [ connectedChain , setConnectedChain ] = useState < ConnectedChain | null > (
92
- null
86
+ ( ) => {
87
+ const initialWallets = ( web3Onboard as OnboardAPI ) . state . get ( ) . wallets
88
+ if ( initialWallets . length === 0 ) return null
89
+ return (
90
+ (
91
+ initialWallets . find ( ( { label } ) => label === walletLabel ) ||
92
+ initialWallets [ 0 ]
93
+ ) . chains [ 0 ] || null
94
+ )
95
+ }
93
96
)
94
97
95
98
const chains = useMemo ( ( ) => state . get ( ) . chains , [ ] )
@@ -119,7 +122,9 @@ export const useSetChain = (
119
122
export const useWallets = ( ) : WalletState [ ] => {
120
123
if ( ! web3Onboard ) throw new Error ( 'Must initialize before using hooks.' )
121
124
122
- const [ wallets , setConnectedWallets ] = useState < WalletState [ ] > ( [ ] )
125
+ const [ wallets , setConnectedWallets ] = useState < WalletState [ ] > (
126
+ ( ) => ( web3Onboard as OnboardAPI ) . state . get ( ) . wallets
127
+ )
123
128
124
129
useEffect ( ( ) => {
125
130
const wallets$ = ( web3Onboard as OnboardAPI ) . state . select ( 'wallets' )
0 commit comments