Skip to content

Commit 302ef1e

Browse files
committed
feat(web, subgraph): add timestamp field to disputekitdispute, update query, get latest kit
1 parent 978e954 commit 302ef1e

File tree

4 files changed

+14
-4
lines changed

4 files changed

+14
-4
lines changed

subgraph/schema.graphql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ interface DisputeKitDispute {
1919
coreDispute: Dispute!
2020
localRounds: [DisputeKitRound!]! @derivedFrom(field: "localDispute")
2121
currentLocalRoundIndex: BigInt!
22+
timestamp: BigInt!
2223
}
2324

2425
interface DisputeKitRound {
@@ -236,6 +237,7 @@ type ClassicDispute implements DisputeKitDispute @entity {
236237
coreDispute: Dispute!
237238
localRounds: [DisputeKitRound!]! @derivedFrom(field: "localDispute")
238239
currentLocalRoundIndex: BigInt!
240+
timestamp: BigInt!
239241

240242
numberOfChoices: BigInt!
241243
extraData: Bytes!

subgraph/src/entities/ClassicDispute.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ export function createClassicDisputeFromEvent(event: DisputeCreation): void {
99
classicDispute.currentLocalRoundIndex = ZERO;
1010
classicDispute.numberOfChoices = event.params._numberOfChoices;
1111
classicDispute.extraData = event.params._extraData;
12+
classicDispute.timestamp = event.block.timestamp;
1213
classicDispute.save();
1314
}

web/src/hooks/queries/useClassicAppealQuery.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { graphqlQueryFnHelper } from "utils/graphqlQueryFnHelper";
55
export type { ClassicAppealQuery };
66

77
const classicAppealQuery = graphql(`
8-
query ClassicAppeal($disputeID: ID!) {
8+
query ClassicAppeal($disputeID: ID!, $orderBy: DisputeKitDispute_orderBy, $orderDirection: OrderDirection) {
99
dispute(id: $disputeID) {
1010
period
1111
court {
@@ -16,7 +16,7 @@ const classicAppealQuery = graphql(`
1616
id
1717
}
1818
lastPeriodChange
19-
disputeKitDispute {
19+
disputeKitDispute(orderBy: $orderBy, orderDirection: $orderDirection) {
2020
id
2121
currentLocalRoundIndex
2222
localRounds {
@@ -37,6 +37,13 @@ export const useClassicAppealQuery = (id?: string | number) => {
3737
return useQuery<ClassicAppealQuery>({
3838
queryKey: ["refetchOnBlock", `classicAppealQuery${id}`],
3939
enabled: isEnabled,
40-
queryFn: async () => await graphqlQueryFnHelper(classicAppealQuery, { disputeID: id?.toString() }),
40+
queryFn: async () =>
41+
isEnabled
42+
? await graphqlQueryFnHelper(classicAppealQuery, {
43+
disputeID: id?.toString(),
44+
orderBy: "timestamp",
45+
orderDirection: "asc",
46+
})
47+
: undefined,
4148
});
4249
};

web/src/hooks/useClassicAppealContext.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ const getCurrentLocalRound = (dispute?: ClassicAppealQuery["dispute"]) => {
102102
if (!dispute) return undefined;
103103

104104
const period = dispute.period;
105-
const currentLocalRoundIndex = dispute.disputeKitDispute[0]?.currentLocalRoundIndex;
105+
const currentLocalRoundIndex = dispute.disputeKitDispute.at(-1)?.currentLocalRoundIndex;
106106
const adjustedRoundIndex = ["appeal", "execution"].includes(period)
107107
? currentLocalRoundIndex
108108
: currentLocalRoundIndex - 1;

0 commit comments

Comments
 (0)