Skip to content

Commit 3d9eaa5

Browse files
chore: subgraph refactor
1 parent ad9a270 commit 3d9eaa5

File tree

3 files changed

+14
-23
lines changed

3 files changed

+14
-23
lines changed

subgraph/src/entities/Dispute.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
import { KlerosCore, DisputeCreation } from "../../generated/KlerosCore/KlerosCore";
2-
import { Court, Dispute, PeriodIndexCounter } from "../../generated/schema";
3-
import { ZERO, ONE } from "../utils";
4-
import { BigInt } from "@graphprotocol/graph-ts";
5-
import { ensurePeriodIndexCounter } from "./PeriodIndexCounter";
2+
import { Court, Dispute } from "../../generated/schema";
3+
import { ZERO } from "../utils";
4+
import { getAndIncrementCounter } from "./PeriodIndexCounter";
65

76
export function createDisputeFromEvent(event: DisputeCreation): void {
8-
const contract = KlerosCore.bind(event.address);
97
const disputeID = event.params._disputeID;
10-
const disputeContractState = contract.disputes(disputeID);
8+
const disputeContractState = KlerosCore.bind(event.address).disputes(disputeID);
119
const dispute = new Dispute(disputeID.toString());
1210
const courtID = disputeContractState.value0.toString();
1311
dispute.court = courtID;
@@ -20,10 +18,7 @@ export function createDisputeFromEvent(event: DisputeCreation): void {
2018
dispute.overridden = false;
2119
dispute.lastPeriodChangeTs = event.block.timestamp;
2220
dispute.lastPeriodChangeBlockNumber = event.block.number;
23-
const PeriodIndexCounter = ensurePeriodIndexCounter(dispute.period);
24-
dispute.periodNotificationIndex = PeriodIndexCounter.counter;
25-
PeriodIndexCounter.counter = PeriodIndexCounter.counter.plus(ONE);
26-
PeriodIndexCounter.save();
21+
dispute.periodNotificationIndex = getAndIncrementCounter(dispute.period);
2722
const court = Court.load(courtID);
2823
if (!court) return;
2924
dispute.periodDeadline = event.block.timestamp.plus(court.timesPerPeriod[0]);

subgraph/src/entities/Draw.ts

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { Draw as DrawEvent } from "../../generated/KlerosCore/KlerosCore";
2-
import { Draw, PeriodIndexCounter, User } from "../../generated/schema";
3-
import { BigInt } from "@graphprotocol/graph-ts";
4-
import { ensurePeriodIndexCounter } from "./PeriodIndexCounter";
2+
import { Draw, User } from "../../generated/schema";
3+
import { getAndIncrementCounter } from "./PeriodIndexCounter";
54

65
export function createDrawFromEvent(event: DrawEvent): void {
76
const disputeID = event.params._disputeID.toString();
@@ -12,14 +11,8 @@ export function createDrawFromEvent(event: DrawEvent): void {
1211
const draw = new Draw(drawID);
1312
draw.blockNumber = event.block.number;
1413
const user = User.load(event.params._address.toHexString());
15-
if (user) {
16-
const duplicateNotification = user.disputes.includes(disputeID);
17-
if (!duplicateNotification) {
18-
const periodIndex = ensurePeriodIndexCounter("draw");
19-
draw.drawNotificationIndex = periodIndex.counter;
20-
periodIndex.counter = periodIndex.counter.plus(BigInt.fromI32(1));
21-
periodIndex.save();
22-
}
14+
if (user && !user.disputes.includes(disputeID)) {
15+
draw.drawNotificationIndex = getAndIncrementCounter("draw");
2316
}
2417
draw.dispute = disputeID;
2518
draw.round = roundID;
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
import { PeriodIndexCounter } from "../../generated/schema";
22
import { BigInt } from "@graphprotocol/graph-ts";
33

4-
export function ensurePeriodIndexCounter(id: string): PeriodIndexCounter {
4+
export function getAndIncrementCounter(id: string): BigInt {
55
let counter = PeriodIndexCounter.load(id);
66
if (!counter) {
77
counter = new PeriodIndexCounter(id);
88
counter.counter = BigInt.fromI32(0);
99
}
10-
return counter;
10+
const counterOld = counter.counter;
11+
counter.counter = counter.counter.plus(BigInt.fromI32(1));
12+
counter.save();
13+
return counterOld;
1114
}

0 commit comments

Comments
 (0)