Skip to content

Commit d36eaad

Browse files
chore(web-devtools): migrate-to-reown
1 parent 1bbd5a1 commit d36eaad

File tree

5 files changed

+125
-404
lines changed

5 files changed

+125
-404
lines changed

web-devtools/package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,11 @@
5050
"@kleros/kleros-sdk": "workspace:^",
5151
"@kleros/kleros-v2-contracts": "workspace:^",
5252
"@kleros/ui-components-library": "^2.20.0",
53+
"@reown/appkit": "^1.6.5",
54+
"@reown/appkit-adapter-wagmi": "^1.6.5",
5355
"@tanstack/react-query": "^5.61.0",
5456
"@wagmi/connectors": "^5.5.0",
5557
"@wagmi/core": "^2.15.0",
56-
"@web3modal/wagmi": "^4.2.3",
5758
"@yornaath/batshit": "^0.9.0",
5859
"graphql": "^16.9.0",
5960
"graphql-request": "^7.1.2",
@@ -69,6 +70,6 @@
6970
"typewriter-effect": "^2.21.0",
7071
"vanilla-jsoneditor": "^0.21.6",
7172
"viem": "^2.21.50",
72-
"wagmi": "^2.14.0"
73+
"wagmi": "^2.14.10"
7374
}
7475
}

web-devtools/src/components/ConnectWallet/index.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, { useCallback, useState } from "react";
22

3-
import { useWeb3Modal, useWeb3ModalState } from "@web3modal/wagmi/react";
3+
import { useAppKit, useAppKitState } from "@reown/appkit/react";
44
import { useAccount, useSwitchChain } from "wagmi";
55

66
import { Button } from "@kleros/ui-components-library";
@@ -33,8 +33,8 @@ export const SwitchChainButton: React.FC<{ className?: string }> = ({ className
3333
};
3434

3535
const ConnectButton: React.FC<{ className?: string }> = ({ className }) => {
36-
const { open } = useWeb3Modal();
37-
const { open: isOpen } = useWeb3ModalState();
36+
const { open } = useAppKit();
37+
const { open: isOpen } = useAppKitState();
3838
return (
3939
<Button
4040
{...{ className }}

web-devtools/src/consts/chains.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
import { type Chain, mainnet, arbitrumSepolia, gnosisChiado, arbitrum, gnosis } from "viem/chains";
1+
import { mainnet, arbitrumSepolia, gnosisChiado, arbitrum, gnosis, type AppKitNetwork } from "@reown/appkit/networks";
22

33
import { isProductionDeployment } from "./index";
44

55
export const DEFAULT_CHAIN = isProductionDeployment() ? arbitrum.id : arbitrumSepolia.id;
66

7-
export const SUPPORTED_CHAINS: Record<number, Chain> = {
7+
export const SUPPORTED_CHAINS: Record<number, AppKitNetwork> = {
88
[isProductionDeployment() ? arbitrum.id : arbitrumSepolia.id]: isProductionDeployment() ? arbitrum : arbitrumSepolia,
99
};
1010

11-
export const QUERY_CHAINS: Record<number, Chain> = {
11+
export const QUERY_CHAINS: Record<number, AppKitNetwork> = {
1212
[isProductionDeployment() ? gnosis.id : gnosisChiado.id]: isProductionDeployment() ? gnosis : gnosisChiado,
1313
[mainnet.id]: mainnet,
1414
};

web-devtools/src/context/Web3Provider.tsx

+12-13
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
import React from "react";
22

3-
import { createWeb3Modal } from "@web3modal/wagmi/react";
43
import { type Chain } from "viem";
5-
import { createConfig, fallback, http, WagmiProvider, webSocket } from "wagmi";
6-
import { mainnet, arbitrumSepolia, arbitrum, gnosisChiado, sepolia, gnosis } from "wagmi/chains";
7-
import { walletConnect } from "wagmi/connectors";
4+
import { fallback, http, WagmiProvider, webSocket } from "wagmi";
5+
import { mainnet, arbitrumSepolia, arbitrum, gnosisChiado, sepolia, gnosis } from "@reown/appkit/networks";
86

97
import { configureSDK } from "@kleros/kleros-sdk/src/sdk";
108

119
import { ALL_CHAINS, DEFAULT_CHAIN } from "consts/chains";
1210
import { isProductionDeployment } from "consts/index";
13-
11+
import { createAppKit } from "@reown/appkit/react";
12+
import { WagmiAdapter } from "@reown/appkit-adapter-wagmi";
1413
import { theme } from "styles/Theme";
1514

1615
const alchemyApiKey = process.env.NEXT_PUBLIC_ALCHEMY_API_KEY;
@@ -74,10 +73,10 @@ if (!projectId) {
7473
throw new Error("WalletConnect project ID is not set in NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID environment variable.");
7574
}
7675

77-
export const wagmiConfig = createConfig({
78-
chains,
76+
const wagmiAdapter = new WagmiAdapter({
77+
networks: chains,
78+
projectId,
7979
transports,
80-
connectors: [walletConnect({ projectId })],
8180
});
8281

8382
configureSDK({
@@ -87,18 +86,18 @@ configureSDK({
8786
},
8887
});
8988

90-
createWeb3Modal({
91-
wagmiConfig,
89+
createAppKit({
90+
adapters: [wagmiAdapter],
91+
networks: chains,
92+
defaultNetwork: isProduction ? arbitrum : arbitrumSepolia,
9293
projectId,
93-
defaultChain: isProduction ? arbitrum : arbitrumSepolia,
9494
themeVariables: {
9595
"--w3m-color-mix": theme.klerosUIComponentsPrimaryPurple,
9696
"--w3m-color-mix-strength": 20,
9797
},
9898
});
99-
10099
const Web3Provider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
101-
return <WagmiProvider config={wagmiConfig}> {children} </WagmiProvider>;
100+
return <WagmiProvider config={wagmiAdapter.wagmiConfig}> {children} </WagmiProvider>;
102101
};
103102

104103
export default Web3Provider;

0 commit comments

Comments
 (0)