1+ import { UseWagmiPlugin , configureChains , createConfig } from 'use-wagmi'
2+ import { avalanche , goerli , mainnet , optimism } from 'use-wagmi/chains'
3+
4+ import { CoinbaseWalletConnector } from 'use-wagmi/connectors/coinbaseWallet'
5+ import { InjectedConnector } from 'use-wagmi/connectors/injected'
6+ import { LedgerConnector } from 'use-wagmi/connectors/ledger'
7+ import { MetaMaskConnector } from 'use-wagmi/connectors/metaMask'
8+ import { SafeConnector } from 'use-wagmi/connectors/safe'
9+ import { WalletConnectConnector } from 'use-wagmi/connectors/walletConnect'
10+ import { WalletConnectLegacyConnector } from 'use-wagmi/connectors/walletConnectLegacy'
11+
12+ import { alchemyProvider } from 'use-wagmi/providers/alchemy'
13+ import { infuraProvider } from 'use-wagmi/providers/infura'
14+ import { publicProvider } from 'use-wagmi/providers/public'
15+
16+ export default defineNuxtPlugin ( nuxtApp => {
17+ const { chains, publicClient, webSocketPublicClient } = configureChains (
18+ [ mainnet , goerli , optimism , avalanche ] ,
19+ [
20+ alchemyProvider ( { apiKey : '' } ) , //TODO: your API Key
21+ infuraProvider ( { apiKey : '' } ) , //TODO: your API Key
22+ publicProvider ( ) ,
23+ ] ,
24+ )
25+
26+ const config = createConfig ( {
27+ autoConnect : true ,
28+ connectors : [
29+ new MetaMaskConnector ( {
30+ chains,
31+ options : {
32+ UNSTABLE_shimOnConnectSelectAccount : true ,
33+ } ,
34+ } ) ,
35+ new CoinbaseWalletConnector ( {
36+ chains,
37+ options : {
38+ appName : 'use-wagmi' ,
39+ } ,
40+ } ) ,
41+ new WalletConnectConnector ( {
42+ chains,
43+ options : {
44+ projectId : '' , //TODO: your project ID
45+ } ,
46+ } ) ,
47+ new WalletConnectLegacyConnector ( {
48+ chains,
49+ options : {
50+ qrcode : true ,
51+ } ,
52+ } ) ,
53+ new LedgerConnector ( {
54+ chains,
55+ } ) ,
56+ new InjectedConnector ( {
57+ chains,
58+ options : {
59+ name : ( detectedName ) =>
60+ `Injected (${
61+ typeof detectedName === 'string'
62+ ? detectedName
63+ : detectedName . join ( ', ' )
64+ } )`,
65+ shimDisconnect : true ,
66+ } ,
67+ } ) ,
68+ new SafeConnector ( {
69+ chains,
70+ options : {
71+ allowedDomains : [ / h t t p s : \/ \/ a p p .s a f e .g l o b a l $ / ] ,
72+ debug : false ,
73+ } ,
74+ } ) ,
75+ ] ,
76+ publicClient,
77+ webSocketPublicClient,
78+ } )
79+
80+ nuxtApp . vueApp . use ( UseWagmiPlugin , config )
81+ } )
0 commit comments