-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathweb3-provider.tsx
40 lines (35 loc) · 1.16 KB
/
web3-provider.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
"use client";
// 1. Import modules
import * as React from "react";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { WagmiProvider, http, createConfig } from "wagmi";
import { mainnet } from "wagmi/chains";
import { injected, coinbaseWallet, walletConnect } from "wagmi/connectors";
import { SimpleKitProvider } from "@/components/simplekit";
// Make sure to replace the projectId with your own WalletConnect Project ID,
// if you wish to use WalletConnect (recommended)!
const projectId = "123...abc";
// 2. Define your Wagmi config
const config = createConfig({
chains: [mainnet],
connectors: [
injected({ target: "metaMask" }),
coinbaseWallet(),
walletConnect({ projectId }),
],
transports: {
[mainnet.id]: http(),
},
});
// 3. Initialize your new QueryClient
const queryClient = new QueryClient();
// 4. Create your Wagmi provider
export function Web3Provider(props: { children: React.ReactNode }) {
return (
<WagmiProvider config={config}>
<QueryClientProvider client={queryClient}>
<SimpleKitProvider>{props.children}</SimpleKitProvider>
</QueryClientProvider>
</WagmiProvider>
);
}