@@ -6,19 +6,29 @@ declare global {
6
6
keplr : { getOfflineSigner : ( string ) => Promise < any > ; experimentalSuggestChain : ( object ) => void } ;
7
7
leap : { getOfflineSigner : ( string ) => Promise < any > ; experimentalSuggestChain : ( object ) => void } ;
8
8
coin98 : { cosmos : ( chain ) => Promise < any > } ;
9
- falcon : { getOfflineSigner : ( string ) => Promise < any > ; experimentalSuggestChain : ( object ) => void } ;
9
+ falcon : { getOfflineSigner : ( string ) => Promise < any > ; experimentalSuggestChain : ( object ) => void ; connect : ( chainId ) => void } ;
10
10
}
11
11
}
12
12
13
13
export const connect = async ( inputWallet : WalletWindowKey , chainId ?: string , restUrl ?: string , rpcUrl ?: string ) : Promise < WalletConnect | undefined > => {
14
- const windowKey = inputWallet === 'coin98' ? 'keplr' : inputWallet ;
14
+ try {
15
+ const windowKey = inputWallet === 'coin98' ? 'keplr' : inputWallet ;
15
16
16
- await window [ windowKey ] . experimentalSuggestChain ( getChainSuggest ( chainId , restUrl , rpcUrl ) ) ;
17
+ if ( typeof window === 'undefined' || ! window ) return ;
17
18
18
- if ( typeof window === 'undefined' || ! window ) return ;
19
+ if ( inputWallet === 'keplr' ) {
20
+ await window . keplr . experimentalSuggestChain ( getChainSuggest ( chainId , restUrl , rpcUrl ) ) ;
21
+ }
19
22
20
- const offlineSigner = await window [ windowKey ] . getOfflineSigner ( chainId ) ;
21
- const accounts = await offlineSigner . getAccounts ( ) ;
23
+ if ( windowKey === 'falcon' ) {
24
+ await window . falcon . connect ( 'atlantic-1' ) ;
25
+ }
22
26
23
- return { offlineSigner, accounts } ;
27
+ const offlineSigner = await window [ windowKey ] . getOfflineSigner ( chainId ) ;
28
+ const accounts = await offlineSigner . getAccounts ( ) ;
29
+
30
+ return { offlineSigner, accounts } ;
31
+ } catch ( e ) {
32
+ console . log ( 'err' , e ) ;
33
+ }
24
34
} ;
0 commit comments