Skip to content

Commit dd9e0d7

Browse files
authored
Merge pull request #899 from kleros/migrate-hooks-to-viem
refactor: migrate hooks to viem/wagmi
2 parents 4142f6d + 09e8890 commit dd9e0d7

File tree

3 files changed

+26
-30
lines changed

3 files changed

+26
-30
lines changed

web/src/context/Web3Provider.tsx

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
import React from "react";
2-
import {
3-
EthereumClient,
4-
w3mConnectors,
5-
w3mProvider,
6-
} from "@web3modal/ethereum";
2+
import { EthereumClient, w3mConnectors } from "@web3modal/ethereum";
3+
import { alchemyProvider } from "@wagmi/core/providers/alchemy";
74
import { Web3Modal } from "@web3modal/react";
85
import { configureChains, createConfig, WagmiConfig } from "wagmi";
96
import { arbitrumGoerli, gnosisChiado } from "wagmi/chains";
7+
import { publicProvider } from "wagmi/providers/public";
108

119
const chains = [arbitrumGoerli, gnosisChiado];
1210
const projectId = "6efaa26765fa742153baf9281e218217";
1311

14-
const { publicClient } = configureChains(chains, [w3mProvider({ projectId })]);
12+
const { publicClient } = configureChains(chains, [alchemyProvider({ apiKey: "" }), publicProvider()]);
1513

1614
const wagmiConfig = createConfig({
1715
autoConnect: false,
@@ -21,9 +19,7 @@ const wagmiConfig = createConfig({
2119

2220
const ethereumClient = new EthereumClient(wagmiConfig, chains);
2321

24-
const Web3Provider: React.FC<{ children: React.ReactNode }> = ({
25-
children,
26-
}) => (
22+
const Web3Provider: React.FC<{ children: React.ReactNode }> = ({ children }) => (
2723
<>
2824
<WagmiConfig config={wagmiConfig}> {children} </WagmiConfig>
2925
<Web3Modal {...{ projectId, ethereumClient }} />

web/src/hooks/queries/useEvidenceGroup.ts

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,30 @@
11
import useSWRImmutable from "swr/immutable";
2-
// import { utils } from "ethers";
3-
import { BigNumber } from "ethers";
4-
import { useIMetaEvidence } from "hooks/contracts/generated";
2+
import { getIMetaEvidence } from "hooks/contracts/generated";
3+
import { usePublicClient } from "wagmi";
54

6-
export const useEvidenceGroup = (
7-
disputeID?: string,
8-
arbitrableAddress?: string
9-
) => {
5+
export const useEvidenceGroup = (disputeID?: string, arbitrableAddress?: string) => {
106
// const formattedAddress = arbitrableAddress
117
// ? utils.getAddress(arbitrableAddress)
128
// : undefined;
13-
const arbitrable = useIMetaEvidence({
9+
const publicClient = usePublicClient();
10+
11+
const arbitrable = getIMetaEvidence({
1412
address: "0xc0fcc96BFd78e36550FCaB434A9EE1210B57225b",
1513
});
14+
1615
return useSWRImmutable(
17-
() =>
18-
arbitrable ? `EvidenceGroup${disputeID}${arbitrableAddress}` : false,
16+
() => (arbitrable ? `EvidenceGroup${disputeID}${arbitrableAddress}` : false),
1917
async () => {
2018
if (arbitrable) {
21-
const disputeFilter = arbitrable.filters.Dispute(
22-
null,
23-
BigNumber.from(parseInt(disputeID!) + 1),
24-
null,
25-
null
26-
);
27-
const disputeEvents = await arbitrable.queryFilter(disputeFilter);
28-
return disputeEvents[0].args?._evidenceGroupID.toString();
19+
const disputeFilter = await arbitrable.createEventFilter.Dispute({
20+
_disputeID: BigInt(parseInt(disputeID!) + 1),
21+
});
22+
23+
const disputeEvents = await publicClient.getFilterLogs({
24+
filter: disputeFilter,
25+
});
26+
27+
return disputeEvents[0];
2928
} else throw Error;
3029
}
3130
);

web/src/hooks/queries/usePNKBalance.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import useSWR from "swr";
2-
import { usePnk } from "hooks/contracts/generated";
2+
import { getPnk } from "hooks/contracts/generated";
33

44
export const usePNKBalance = (user?: `0x${string}` | null) => {
5-
const pnkContract = usePnk();
5+
const pnkContract = getPnk({});
6+
67
return useSWR(
78
() => (pnkContract && user ? `PNKBalance${user}` : false),
89
async () => {
910
if (pnkContract && user) {
10-
const balance = await pnkContract.balanceOf(user);
11+
const balance = await pnkContract.read.balanceOf([user]);
1112
return balance;
1213
} else {
1314
return undefined;

0 commit comments

Comments
 (0)