-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathschema.graphql
167 lines (159 loc) · 4.88 KB
/
schema.graphql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
enum Status {
Created
Assigned
AwaitingReview
DisputeCreated
Resolved
}
enum Ruling {
None
Accept
Reject
}
enum Party {
None
Translator
Challenger
}
type Task @entity {
"<lang>-<taskID>"
id: ID!
"ID of this task"
taskID: BigInt!
"The language pair for this task"
lang: String!
"The address of the party that requested transation"
requester: Bytes!
"The address of the party that assigned to this task"
translator: Bytes!
"The address of the party that challenged this task"
challenger: Bytes!
"The arbitrator trusted to solve disputes for this task."
arbitrator: Bytes!
"URI to the translated text."
translation: String!
"The deadline for the translation to be completed."
deadline: BigInt!
"Minimum price for the translation."
minPrice: BigInt!
" Maximum price for the translation and also the value that must be deposited by the requester."
maxPrice: BigInt!
"Time in seconds allotted for submitting a translation. The end of this period is considered a deadline."
submissionTimeout: BigInt!
"The deposit requester made when creating the task"
requesterDeposit: BigInt!
"The price of the task at the time of assignment"
assignedPrice: BigInt!
"The sum of the deposits of the translator and the challenger, if any."
sumDeposit: BigInt!
"Status of the task."
status: Status!
"ID of the dispute, if any."
disputeID: BigInt!
"True if a dispute was raised."
disputed: Boolean!
"Only set if the request was settled by a dispute. Used by the twitter bot"
finalRuling: Ruling!
"Tracks each round of a dispute in the form rounds[roundID]."
rounds: [Round!]! @derivedFrom(field: "task")
"The total number of dispute rounds on this task."
numberOfRounds: BigInt!
"The URI to the meta evidence used for this task."
metaEvidence: MetaEvidence!
"Evidence provided regarding this request (matching evidenceGroupID)."
evidences: [Evidence!]! @derivedFrom(field: "task")
"Number of evidences."
numberOfEvidences: BigInt!
"The ID of the evidence group for this task."
evidenceGroupID: BigInt!
"The time of the last action performed on the task."
lastInteraction: BigInt!
"The time the task was created."
creationTime: BigInt!
"The time the task was assigned."
assignmentTime: BigInt!
"The time the task was challenged."
challengeTime: BigInt!
"The time the task was resolved."
resolutionTime: BigInt!
"Short description of what caused the task to be solved"
reason: String
}
type EvidenceGroup @entity {
"<EvidenceGroupId>-<Contract address>"
id: ID!
"Task ID"
task: Task!
}
type Round @entity {
"<taskID>-<nbRounds.minus(1)>"
id: ID!
"The task to which this round belongs."
task: Task!
"Sum of reimbursable fees and stake rewards available to the parties that made contributions to the side that ultimately wins a dispute."
feeRewards: BigInt!
"The total amount of appeal fees contributed to the Translator in this round."
amountPaidTranslator: BigInt!
"The total amount of appeal fees contributed to the Challenger in this round."
amountPaidChallenger: BigInt!
"Whether the Translator is fully funded."
hasPaidTranslator: Boolean!
"Whether the Challenger is fully funded."
hasPaidChallenger: Boolean!
"The ruling given by the arbitrator."
ruling: Ruling!
"The time the round received the ruling."
rulingTime: BigInt!
"The contributions made to this round."
contributions: [Contribution!]! @derivedFrom(field: "round")
"The number of contributions made to this round"
numberOfContributions: BigInt!
"The moment the round was created."
creationTime: BigInt!
"Whether this round was appealed"
appealed: Boolean!
"When this round was appealed, if it was appealed"
appealedAt: BigInt!
"The time the appeal period starts, if in the appeal period."
appealPeriodStart: BigInt!
"The time the appeal period ends, if in the appeal period."
appealPeriodEnd: BigInt!
}
type Contribution @entity {
"<roundID>-<n-th contribution>"
id: ID!
"The round the contribution was made to."
round: Round!
"The address that made the contribution."
contributor: Bytes!
"The amount of the contribution"
amount: BigInt!
"The party the contribution was made to."
party: Party!
}
type Evidence @entity {
"<taskID>-<n-th evidence>"
id: ID!
"The arbitrator's address."
arbitrator: Bytes!
"The ID of the evidence group (see Task.evidenceGroupID)."
evidenceGroupID: BigInt!
"The address of the party submiting the evidence."
party: Bytes!
"The URI of the evidence file."
URI: String!
"The task this evidence was submitted to."
task: Task!
"This is the <number>th evidence submitted (starting at 0) for <task>."
number: BigInt!
"The submission time of the evidence"
timestamp: BigInt!
}
type MetaEvidence @entity {
"<lang>-<taskID>"
id: ID!
"The meta evidence ID of the task."
metaEvidenceID: BigInt!
"The URI of the meta evidence file."
URI: String!
}