workingGroupsEvents.graphql 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. type OpeningAddedEvent @entity {
  2. "Generic event data"
  3. event: Event!
  4. "Related group"
  5. group: WorkingGroup!
  6. "Related opening"
  7. opening: WorkingGroupOpening!
  8. # Other opening data like: metadata, type, staking policy, reward etc. is immutable, so can be read directly from Opening entity
  9. }
  10. type AppliedOnOpeningEvent @entity {
  11. "Generic event data"
  12. event: Event!
  13. "Related group"
  14. group: WorkingGroup!
  15. "Related opening"
  16. opening: WorkingGroupOpening!
  17. "The application that was created"
  18. application: WorkingGroupApplication!
  19. # Same as with opening - application parameters are immutable and can be fetched from Application entity
  20. }
  21. type OpeningFilledEvent @entity {
  22. "Generic event data"
  23. event: Event!
  24. "Related group"
  25. group: WorkingGroup!
  26. "Related opening"
  27. opening: WorkingGroupOpening!
  28. "Workers that have been hired as a result of filling the opening"
  29. workersHired: [Worker!] @derivedFrom(field: "entry")
  30. }
  31. type LeaderSetEvent @entity {
  32. "Generic event data"
  33. event: Event!
  34. "Related group"
  35. group: WorkingGroup!
  36. "Related Lead worker"
  37. worker: Worker!
  38. }
  39. type WorkerRoleAccountUpdatedEvent @entity {
  40. "Generic event data"
  41. event: Event!
  42. "Related group"
  43. group: WorkingGroup!
  44. "Related worker"
  45. worker: Worker!
  46. "New role account"
  47. newRoleAccount: String!
  48. }
  49. type LeaderUnsetEvent @entity {
  50. "Generic event data"
  51. event: Event!
  52. "Related group"
  53. group: WorkingGroup!
  54. }
  55. type WorkerExitedEvent @entity {
  56. "Generic event data"
  57. event: Event!
  58. "Related group"
  59. group: WorkingGroup!
  60. "Related worker"
  61. worker: Worker!
  62. }
  63. type TerminatedWorkerEvent @entity {
  64. "Generic event data"
  65. event: Event!
  66. "Related group"
  67. group: WorkingGroup!
  68. "Related worker"
  69. worker: Worker!
  70. "Slash amount (if any)"
  71. penalty: BigInt
  72. "Optional rationale"
  73. rationale: String
  74. }
  75. type TerminatedLeaderEvent @entity {
  76. "Generic event data"
  77. event: Event!
  78. "Related group"
  79. group: WorkingGroup!
  80. "Related worker"
  81. worker: Worker!
  82. "Slash amount (if any)"
  83. penalty: BigInt
  84. "Optional rationale"
  85. rationale: String
  86. }
  87. type WorkerStartedLeavingEvent @entity {
  88. "Generic event data"
  89. event: Event!
  90. "Related group"
  91. group: WorkingGroup!
  92. "Related worker"
  93. worker: Worker!
  94. "Optional rationale"
  95. rationale: String
  96. }
  97. type StakeSlashedEvent @entity {
  98. "Generic event data"
  99. event: Event!
  100. "Related group"
  101. group: WorkingGroup!
  102. "Related worker"
  103. worker: Worker!
  104. "Balance that was requested to be slashed"
  105. requestedAmount: BigInt!
  106. "Balance that was actually slashed"
  107. slashedAmount: BigInt!
  108. "Optional rationale"
  109. rationale: String
  110. }
  111. type StakeDecreasedEvent @entity {
  112. "Generic event data"
  113. event: Event!
  114. "Related group"
  115. group: WorkingGroup!
  116. "Related worker"
  117. worker: Worker!
  118. "The amount of JOY the stake was decreased by"
  119. amount: BigInt!
  120. }
  121. type StakeIncreasedEvent @entity {
  122. "Generic event data"
  123. event: Event!
  124. "Related group"
  125. group: WorkingGroup!
  126. "Related worker"
  127. worker: Worker!
  128. "The amount of JOY the stake was increased by"
  129. amount: BigInt!
  130. }
  131. type ApplicationWithdrawnEvent @entity {
  132. "Generic event data"
  133. event: Event!
  134. "Related group"
  135. group: WorkingGroup!
  136. "Related application"
  137. application: WorkingGroupApplication!
  138. }
  139. type OpeningCanceledEvent @entity {
  140. "Generic event data"
  141. event: Event!
  142. "Related group"
  143. group: WorkingGroup!
  144. "Related opening"
  145. opening: WorkingGroupOpening!
  146. }
  147. type BudgetSetEvent @entity {
  148. "Generic event data"
  149. event: Event!
  150. "Related group"
  151. group: WorkingGroup!
  152. "New working group budget"
  153. newBudget: BigInt!
  154. }
  155. type WorkerRewardAccountUpdatedEvent @entity {
  156. "Generic event data"
  157. event: Event!
  158. "Related group"
  159. group: WorkingGroup!
  160. "Related worker"
  161. worker: Worker!
  162. "New reward account"
  163. newRewardAccount: String!
  164. }
  165. type WorkerRewardAmountUpdatedEvent @entity {
  166. "Generic event data"
  167. event: Event!
  168. "Related group"
  169. group: WorkingGroup!
  170. "Related worker"
  171. worker: Worker!
  172. "New worker reward per block"
  173. newRewardPerBlock: BigInt!
  174. }
  175. # TODO: Should we rename the event/extrinsic in the runtime?
  176. type StatusTextChangedEvent @entity {
  177. "Generic event data"
  178. event: Event!
  179. "Related group"
  180. group: WorkingGroup!
  181. "Original action metadata as hex string"
  182. metadata: String
  183. }
  184. type BudgetSpendingEvent @entity {
  185. "Generic event data"
  186. event: Event!
  187. "Related group"
  188. group: WorkingGroup!
  189. "Reciever account address"
  190. reciever: String!
  191. "Amount beeing spent"
  192. amount: BigInt!
  193. "Optional rationale"
  194. rationale: String
  195. }
  196. enum PayoutType {
  197. "Standard reward payout"
  198. STANDARD_REWARD
  199. "Return of the previously missed reward"
  200. RETURN_MISSED
  201. }
  202. # TODO: This will be either based on the actual runtime event or be just a custom query-node event generated of preBlock/postBlock
  203. type RewardPaidEvent @entity {
  204. "Generic event data"
  205. event: Event!
  206. "Related group"
  207. group: WorkingGroup!
  208. "Related worker"
  209. worker: Worker!
  210. "The account that recieved the reward"
  211. rewardAccount: String!
  212. "Amount recieved"
  213. amount: BigInt!
  214. }