Skip to content

Commit 8daa141

Browse files
committed
Merge branch 'refactor(web)/migrate-to-wagmi' of github.com:kleros/kleros-v2 into refactor(web)/migrate-to-wagmi
2 parents 8833a1e + bce0b8a commit 8daa141

File tree

6 files changed

+50
-55
lines changed

6 files changed

+50
-55
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 }} />
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
import useSWRImmutable from "swr/immutable";
2-
import { BigNumber } from "ethers";
3-
import { useDisputeKitClassic } from "hooks/contracts/generated";
2+
import { getDisputeKitClassic } from "hooks/contracts/generated";
43

54
export const useDisputeKitClassicMultipliers = () => {
6-
const disputeKitClassic = useDisputeKitClassic();
5+
const disputeKitClassic = getDisputeKitClassic({});
76
return useSWRImmutable(
87
() => (disputeKitClassic ? `Multipliers` : false),
98
async () => {
109
if (!disputeKitClassic) return;
11-
const winner_stake_multiplier = await disputeKitClassic.WINNER_STAKE_MULTIPLIER();
12-
const loser_stake_multiplier = await disputeKitClassic.LOSER_STAKE_MULTIPLIER();
13-
const loser_appeal_period_multiplier = await disputeKitClassic.LOSER_APPEAL_PERIOD_MULTIPLIER();
10+
const winner_stake_multiplier = await disputeKitClassic.read.WINNER_STAKE_MULTIPLIER();
11+
const loser_stake_multiplier = await disputeKitClassic.read.LOSER_STAKE_MULTIPLIER();
12+
const loser_appeal_period_multiplier = await disputeKitClassic.read.LOSER_APPEAL_PERIOD_MULTIPLIER();
1413
return {
1514
winner_stake_multiplier,
1615
loser_stake_multiplier,
@@ -21,7 +20,7 @@ export const useDisputeKitClassicMultipliers = () => {
2120
};
2221

2322
export interface IDisputeKitClassicMultipliers {
24-
winner_stake_multiplier: BigNumber;
25-
loser_stake_multiplier: BigNumber;
26-
loser_appeal_period_multiplier: BigNumber;
23+
winner_stake_multiplier: bigint;
24+
loser_stake_multiplier: bigint;
25+
loser_appeal_period_multiplier: bigint;
2726
}

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/useJurorBalance.ts

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

54
export const useJurorBalance = (user?: `0x${string}` | null, courtId?: string | undefined) => {
6-
const klerosCore = useKlerosCore();
5+
const klerosCore = getKlerosCore({});
76
return useSWR(
87
() => (klerosCore && user && courtId ? `JurorBalance${user}${courtId}` : false),
98
async () => {
109
if (klerosCore && user && courtId) {
11-
return await klerosCore.getJurorBalance(user, BigNumber.from(courtId));
10+
return await klerosCore.read.getJurorBalance([user, BigInt(courtId)]);
1211
} else {
1312
return undefined;
1413
}

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;

web/src/hooks/queries/usePolicyRegistryEvent.ts

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
import useSWRImmutable from "swr/immutable";
2-
import { BigNumber } from "ethers";
3-
import { usePolicyRegistry } from "hooks/contracts/generated";
2+
import { usePublicClient } from "wagmi";
3+
import { getPolicyRegistry } from "hooks/contracts/generated";
44

55
export const usePolicyRegistryEvent = (courtID?: string | number) => {
6-
const policyRegistry = usePolicyRegistry();
6+
const policyRegistry = getPolicyRegistry({});
7+
const publicClient = usePublicClient();
8+
79
return useSWRImmutable(
810
() => (policyRegistry && courtID ? `PolicyRegistry${courtID}` : false),
911
async () => {
10-
if (policyRegistry) {
11-
const policyFilter = policyRegistry.filters.PolicyUpdate(
12-
BigNumber.from(courtID),
13-
null,
14-
null
15-
);
16-
return policyRegistry
17-
.queryFilter(policyFilter)
18-
.then((events) => events[0]);
12+
if (policyRegistry && courtID) {
13+
const policyFilter = await policyRegistry.createEventFilter.PolicyUpdate({
14+
_courtID: BigInt(courtID),
15+
});
16+
const policyUpdateEvents = await publicClient.getFilterLogs({
17+
filter: policyFilter,
18+
});
19+
return policyUpdateEvents[0];
1920
} else throw Error;
2021
}
2122
);

0 commit comments

Comments
 (0)