Skip to content

Commit af72998

Browse files
committed
feat(web/WIP): migrate hooks to wagmi/viem
1 parent 7d54418 commit af72998

12 files changed

+118
-208
lines changed

web/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"@typescript-eslint/eslint-plugin": "^5.58.0",
4444
"@typescript-eslint/parser": "^5.58.0",
4545
"@typescript-eslint/utils": "^5.58.0",
46-
"@wagmi/cli": "0.1.15",
46+
"@wagmi/cli": "^1.1.0",
4747
"eslint": "^8.38.0",
4848
"eslint-config-prettier": "^8.8.0",
4949
"eslint-import-resolver-parcel": "^1.10.6",
@@ -95,7 +95,7 @@
9595
"styled-components": "^5.3.9",
9696
"swr": "^1.3.0",
9797
"viem": "^0.3.48",
98-
"wagmi": "0.12.6"
98+
"wagmi": "^1.1.0"
9999
},
100100
"volta": {
101101
"node": "16.18.1",

web/src/context/Web3Provider.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,27 @@ import {
55
w3mProvider,
66
} from "@web3modal/ethereum";
77
import { Web3Modal } from "@web3modal/react";
8-
import { configureChains, createClient, WagmiConfig } from "wagmi";
8+
import { configureChains, createConfig, WagmiConfig } from "wagmi";
99
import { arbitrumGoerli, gnosisChiado } from "wagmi/chains";
1010

1111
const chains = [arbitrumGoerli, gnosisChiado];
1212
const projectId = "6efaa26765fa742153baf9281e218217";
1313

14-
const { provider } = configureChains(chains, [w3mProvider({ projectId })]);
15-
const wagmiClient = createClient({
16-
autoConnect: true,
14+
const { publicClient } = configureChains(chains, [w3mProvider({ projectId })]);
15+
16+
const wagmiConfig = createConfig({
17+
autoConnect: false,
1718
connectors: w3mConnectors({ projectId, version: 1, chains }),
18-
provider,
19+
publicClient,
1920
});
2021

21-
const ethereumClient = new EthereumClient(wagmiClient, chains);
22+
const ethereumClient = new EthereumClient(wagmiConfig, chains);
2223

2324
const Web3Provider: React.FC<{ children: React.ReactNode }> = ({
2425
children,
2526
}) => (
2627
<>
27-
<WagmiConfig client={wagmiClient}> {children} </WagmiConfig>
28+
<WagmiConfig config={wagmiConfig}> {children} </WagmiConfig>
2829
<Web3Modal {...{ projectId, ethereumClient }} />
2930
</>
3031
);

web/src/hooks/queries/useAppealCost.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
import useSWRImmutable from "swr/immutable";
22
import { BigNumber } from "ethers";
3-
import { useProvider } from "wagmi";
43
import { useKlerosCore } from "hooks/contracts/generated";
54

65
export const useAppealCost = (disputeID?: string) => {
7-
const provider = useProvider();
8-
const klerosCore = useKlerosCore({ signerOrProvider: provider });
6+
const klerosCore = useKlerosCore();
97
return useSWRImmutable(
108
() => (klerosCore && disputeID ? `AppealCost${disputeID}` : false),
119
async () => {

web/src/hooks/queries/useDisputeKitClassicMultipliers.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
import useSWRImmutable from "swr/immutable";
22
import { BigNumber } from "ethers";
3-
import { useProvider } from "wagmi";
43
import { useDisputeKitClassic } from "hooks/contracts/generated";
54

65
export const useDisputeKitClassicMultipliers = () => {
7-
const provider = useProvider();
8-
const disputeKitClassic = useDisputeKitClassic({
9-
signerOrProvider: provider,
10-
});
6+
const disputeKitClassic = useDisputeKitClassic();
117
return useSWRImmutable(
128
() => (disputeKitClassic ? `Multipliers` : false),
139
async () => {

web/src/hooks/queries/useEvidenceGroup.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import useSWRImmutable from "swr/immutable";
22
// import { utils } from "ethers";
33
import { BigNumber } from "ethers";
4-
import { useProvider } from "wagmi";
54
import { useIMetaEvidence } from "hooks/contracts/generated";
65

76
export const useEvidenceGroup = (
@@ -11,10 +10,8 @@ export const useEvidenceGroup = (
1110
// const formattedAddress = arbitrableAddress
1211
// ? utils.getAddress(arbitrableAddress)
1312
// : undefined;
14-
const provider = useProvider({ chainId: 10_200 });
1513
const arbitrable = useIMetaEvidence({
1614
address: "0xc0fcc96BFd78e36550FCaB434A9EE1210B57225b",
17-
signerOrProvider: provider,
1815
});
1916
return useSWRImmutable(
2017
() =>

web/src/hooks/queries/useGetMetaEvidence.ts

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import useSWRImmutable from "swr/immutable";
22
// import { utils } from "ethers";
3-
import { BigNumber } from "ethers";
4-
import { useProvider } from "wagmi";
5-
import { useIMetaEvidence } from "hooks/contracts/generated";
3+
import { usePublicClient } from "wagmi";
4+
import { getIMetaEvidence } from "hooks/contracts/generated";
65

76
export const useGetMetaEvidence = (
87
disputeID?: string,
@@ -11,29 +10,27 @@ export const useGetMetaEvidence = (
1110
// const formattedAddress = arbitrableAddress
1211
// ? utils.getAddress(arbitrableAddress)
1312
// : undefined;
14-
const provider = useProvider({ chainId: 10_200 });
15-
const arbitrable = useIMetaEvidence({
13+
const publicClient = usePublicClient();
14+
const arbitrable = getIMetaEvidence({
1615
address: "0xc0fcc96BFd78e36550FCaB434A9EE1210B57225b",
17-
signerOrProvider: provider,
1816
});
1917
return useSWRImmutable(
2018
() => (arbitrable ? `MetaEvidence${disputeID}${arbitrableAddress}` : false),
2119
async () => {
2220
if (arbitrable && typeof disputeID !== "undefined") {
23-
const disputeFilter = arbitrable.filters.Dispute(
24-
null,
25-
BigNumber.from(parseInt(disputeID) + 1),
26-
null,
27-
null
28-
);
29-
const disputeEvents = await arbitrable.queryFilter(disputeFilter);
30-
const metaEvidenceFilter = arbitrable.filters.MetaEvidence(
31-
disputeEvents[0].args?._metaEvidenceID,
32-
null
33-
);
34-
const metaEvidenceEvents = await arbitrable.queryFilter(
35-
metaEvidenceFilter
36-
);
21+
const disputeFilter = await arbitrable.createEventFilter.Dispute({
22+
_disputeID: BigInt(parseInt(disputeID) + 1),
23+
});
24+
const disputeEvents = await publicClient.getFilterLogs({
25+
filter: disputeFilter,
26+
});
27+
const metaEvidenceFilter =
28+
await arbitrable.createEventFilter.MetaEvidence({
29+
_metaEvidenceID: disputeEvents[0].args._metaEvidenceID,
30+
});
31+
const metaEvidenceEvents = await publicClient.getFilterLogs({
32+
filter: metaEvidenceFilter,
33+
});
3734
return fetch(
3835
`https://cloudflare-ipfs.com${metaEvidenceEvents[0].args?._evidence}`
3936
).then((res) => res.json());

web/src/hooks/queries/useJurorBalance.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
import useSWR from "swr";
22
import { BigNumber } from "ethers";
3-
import { useProvider } from "wagmi";
43
import { useKlerosCore } from "hooks/contracts/generated";
54

65
export const useJurorBalance = (
76
user?: `0x${string}` | null,
87
courtId?: string | undefined
98
) => {
10-
const provider = useProvider();
11-
const klerosCore = useKlerosCore({ signerOrProvider: provider });
9+
const klerosCore = useKlerosCore();
1210
return useSWR(
1311
() =>
1412
klerosCore && user && courtId ? `JurorBalance{address}{courtId}` : false,

web/src/hooks/queries/usePNKAllowance.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,10 @@
2121
// };
2222

2323
import useSWR from "swr";
24-
import { useProvider } from "wagmi";
2524
import { usePnk, useKlerosCore } from "hooks/contracts/generated";
2625

2726
export const usePNKAllowance = (user?: `0x${string}` | null) => {
28-
const provider = useProvider();
29-
const pnkContract = usePnk({ signerOrProvider: provider });
27+
const pnkContract = usePnk();
3028
const klerosCore = useKlerosCore();
3129
return useSWR(
3230
() => (pnkContract && user ? `PNKAllowance{user}` : false),

web/src/hooks/queries/usePNKBalance.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import useSWR from "swr";
2-
import { useProvider } from "wagmi";
32
import { usePnk } from "hooks/contracts/generated";
43

54
export const usePNKBalance = (user?: `0x${string}` | null) => {
6-
const provider = useProvider();
7-
const pnkContract = usePnk({ signerOrProvider: provider });
5+
const pnkContract = usePnk();
86
return useSWR(
97
() => (pnkContract && user ? `PNKBalance${user}` : false),
108
async () => {

web/src/hooks/queries/usePolicyRegistryEvent.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
import useSWRImmutable from "swr/immutable";
22
import { BigNumber } from "ethers";
3-
import { useProvider } from "wagmi";
43
import { usePolicyRegistry } from "hooks/contracts/generated";
54

65
export const usePolicyRegistryEvent = (courtID?: string | number) => {
7-
const provider = useProvider();
8-
const policyRegistry = usePolicyRegistry({
9-
signerOrProvider: provider,
10-
});
6+
const policyRegistry = usePolicyRegistry();
117
return useSWRImmutable(
128
() => (policyRegistry && courtID ? `PolicyRegistry${courtID}` : false),
139
async () => {

0 commit comments

Comments
 (0)