@maci-protocol/coordinator 0.0.0-ci.85bba2d → 0.0.0-ci.86ec64f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/README.md +18 -0
  2. package/build/hardhat.config.cjs +6 -3
  3. package/build/hardhat.config.cjs.map +1 -1
  4. package/build/hardhat.config.d.cts +6 -4
  5. package/build/scripts/generateKeypair.js +2 -2
  6. package/build/scripts/generateKeypair.js.map +1 -1
  7. package/build/tests/constants.d.ts +3 -3
  8. package/build/tests/constants.d.ts.map +1 -1
  9. package/build/tests/constants.js +5 -3
  10. package/build/tests/constants.js.map +1 -1
  11. package/build/tests/e2e.deploy.test.js +46 -64
  12. package/build/tests/e2e.deploy.test.js.map +1 -1
  13. package/build/tests/e2e.redis.test.d.ts +2 -0
  14. package/build/tests/e2e.redis.test.d.ts.map +1 -0
  15. package/build/tests/e2e.redis.test.js +118 -0
  16. package/build/tests/e2e.redis.test.js.map +1 -0
  17. package/build/tests/utils.d.ts +1 -1
  18. package/build/tests/utils.d.ts.map +1 -1
  19. package/build/tests/utils.js +5 -3
  20. package/build/tests/utils.js.map +1 -1
  21. package/build/ts/app.module.d.ts.map +1 -1
  22. package/build/ts/app.module.js +6 -0
  23. package/build/ts/app.module.js.map +1 -1
  24. package/build/ts/common/__tests__/common.test.js +43 -41
  25. package/build/ts/common/__tests__/common.test.js.map +1 -1
  26. package/build/ts/common/accountAbstraction.d.ts +5 -5
  27. package/build/ts/common/accountAbstraction.d.ts.map +1 -1
  28. package/build/ts/common/accountAbstraction.js +11 -9
  29. package/build/ts/common/accountAbstraction.js.map +1 -1
  30. package/build/ts/common/chain.d.ts +12 -6
  31. package/build/ts/common/chain.d.ts.map +1 -1
  32. package/build/ts/common/chain.js +19 -17
  33. package/build/ts/common/chain.js.map +1 -1
  34. package/build/ts/common/coordinatorKeypair.d.ts +7 -0
  35. package/build/ts/common/coordinatorKeypair.d.ts.map +1 -0
  36. package/build/ts/common/coordinatorKeypair.js +14 -0
  37. package/build/ts/common/coordinatorKeypair.js.map +1 -0
  38. package/build/ts/common/errors.d.ts +16 -12
  39. package/build/ts/common/errors.d.ts.map +1 -1
  40. package/build/ts/common/errors.js +16 -12
  41. package/build/ts/common/errors.js.map +1 -1
  42. package/build/ts/common/index.d.ts +0 -1
  43. package/build/ts/common/index.d.ts.map +1 -1
  44. package/build/ts/common/index.js +0 -1
  45. package/build/ts/common/index.js.map +1 -1
  46. package/build/ts/common/networks.d.ts +2 -21
  47. package/build/ts/common/networks.d.ts.map +1 -1
  48. package/build/ts/common/networks.js +39 -48
  49. package/build/ts/common/networks.js.map +1 -1
  50. package/build/ts/deployer/__tests__/deployer.controller.test.js +23 -25
  51. package/build/ts/deployer/__tests__/deployer.controller.test.js.map +1 -1
  52. package/build/ts/deployer/__tests__/deployer.service.test.js +184 -80
  53. package/build/ts/deployer/__tests__/deployer.service.test.js.map +1 -1
  54. package/build/ts/deployer/__tests__/utils.d.ts +10 -14
  55. package/build/ts/deployer/__tests__/utils.d.ts.map +1 -1
  56. package/build/ts/deployer/__tests__/utils.js +15 -17
  57. package/build/ts/deployer/__tests__/utils.js.map +1 -1
  58. package/build/ts/deployer/deployer.service.d.ts +17 -8
  59. package/build/ts/deployer/deployer.service.d.ts.map +1 -1
  60. package/build/ts/deployer/deployer.service.js +225 -60
  61. package/build/ts/deployer/deployer.service.js.map +1 -1
  62. package/build/ts/deployer/dto.d.ts +3 -3
  63. package/build/ts/deployer/dto.d.ts.map +1 -1
  64. package/build/ts/deployer/dto.js +5 -5
  65. package/build/ts/deployer/dto.js.map +1 -1
  66. package/build/ts/deployer/types.d.ts +41 -34
  67. package/build/ts/deployer/types.d.ts.map +1 -1
  68. package/build/ts/file/__tests__/file.service.test.js +12 -11
  69. package/build/ts/file/__tests__/file.service.test.js.map +1 -1
  70. package/build/ts/file/file.service.d.ts +4 -3
  71. package/build/ts/file/file.service.d.ts.map +1 -1
  72. package/build/ts/file/file.service.js +16 -10
  73. package/build/ts/file/file.service.js.map +1 -1
  74. package/build/ts/file/types.d.ts +2 -2
  75. package/build/ts/file/types.d.ts.map +1 -1
  76. package/build/ts/health/__tests__/health.controller.test.d.ts +2 -0
  77. package/build/ts/health/__tests__/health.controller.test.d.ts.map +1 -0
  78. package/build/ts/health/__tests__/health.controller.test.js +52 -0
  79. package/build/ts/health/__tests__/health.controller.test.js.map +1 -0
  80. package/build/ts/health/__tests__/health.service.test.d.ts +2 -0
  81. package/build/ts/health/__tests__/health.service.test.d.ts.map +1 -0
  82. package/build/ts/health/__tests__/health.service.test.js +101 -0
  83. package/build/ts/health/__tests__/health.service.test.js.map +1 -0
  84. package/build/ts/health/health.controller.d.ts +16 -0
  85. package/build/ts/health/health.controller.d.ts.map +1 -0
  86. package/build/ts/health/health.controller.js +43 -0
  87. package/build/ts/health/health.controller.js.map +1 -0
  88. package/build/ts/health/health.module.d.ts +3 -0
  89. package/build/ts/health/health.module.d.ts.map +1 -0
  90. package/build/ts/health/health.module.js +22 -0
  91. package/build/ts/health/health.module.js.map +1 -0
  92. package/build/ts/health/health.service.d.ts +42 -0
  93. package/build/ts/health/health.service.d.ts.map +1 -0
  94. package/build/ts/health/health.service.js +176 -0
  95. package/build/ts/health/health.service.js.map +1 -0
  96. package/build/ts/health/types.d.ts +87 -0
  97. package/build/ts/health/types.d.ts.map +1 -0
  98. package/build/ts/health/types.js +2 -0
  99. package/build/ts/health/types.js.map +1 -0
  100. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.d.ts +11 -0
  101. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.d.ts.map +1 -0
  102. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.js +12 -0
  103. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.js.map +1 -0
  104. package/build/ts/proof/__tests__/proof.controller.test.js +4 -5
  105. package/build/ts/proof/__tests__/proof.controller.test.js.map +1 -1
  106. package/build/ts/proof/__tests__/proof.gateway.test.js +3 -4
  107. package/build/ts/proof/__tests__/proof.gateway.test.js.map +1 -1
  108. package/build/ts/proof/__tests__/proof.service.test.js +28 -74
  109. package/build/ts/proof/__tests__/proof.service.test.js.map +1 -1
  110. package/build/ts/proof/dto.d.ts +6 -10
  111. package/build/ts/proof/dto.d.ts.map +1 -1
  112. package/build/ts/proof/dto.js +15 -30
  113. package/build/ts/proof/dto.js.map +1 -1
  114. package/build/ts/proof/proof.controller.d.ts.map +1 -1
  115. package/build/ts/proof/proof.controller.js +1 -4
  116. package/build/ts/proof/proof.controller.js.map +1 -1
  117. package/build/ts/proof/proof.module.d.ts.map +1 -1
  118. package/build/ts/proof/proof.module.js +1 -0
  119. package/build/ts/proof/proof.module.js.map +1 -1
  120. package/build/ts/proof/proof.service.d.ts +2 -4
  121. package/build/ts/proof/proof.service.d.ts.map +1 -1
  122. package/build/ts/proof/proof.service.js +26 -27
  123. package/build/ts/proof/proof.service.js.map +1 -1
  124. package/build/ts/proof/types.d.ts +6 -10
  125. package/build/ts/proof/types.d.ts.map +1 -1
  126. package/build/ts/proof/types.js.map +1 -1
  127. package/build/ts/redis/__tests__/redis.service.test.d.ts +2 -0
  128. package/build/ts/redis/__tests__/redis.service.test.d.ts.map +1 -0
  129. package/build/ts/redis/__tests__/redis.service.test.js +148 -0
  130. package/build/ts/redis/__tests__/redis.service.test.js.map +1 -0
  131. package/build/ts/redis/redis.module.d.ts +3 -0
  132. package/build/ts/redis/redis.module.d.ts.map +1 -0
  133. package/build/ts/redis/redis.module.js +18 -0
  134. package/build/ts/redis/redis.module.js.map +1 -0
  135. package/build/ts/redis/redis.service.d.ts +53 -0
  136. package/build/ts/redis/redis.service.d.ts.map +1 -0
  137. package/build/ts/redis/redis.service.js +99 -0
  138. package/build/ts/redis/redis.service.js.map +1 -0
  139. package/build/ts/redis/types.d.ts +66 -0
  140. package/build/ts/redis/types.d.ts.map +1 -0
  141. package/build/ts/redis/types.js +2 -0
  142. package/build/ts/redis/types.js.map +1 -0
  143. package/build/ts/redis/utils.d.ts +20 -0
  144. package/build/ts/redis/utils.d.ts.map +1 -0
  145. package/build/ts/redis/utils.js +27 -0
  146. package/build/ts/redis/utils.js.map +1 -0
  147. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts +2 -0
  148. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts.map +1 -0
  149. package/build/ts/scheduler/__tests__/scheduler.controller.test.js +62 -0
  150. package/build/ts/scheduler/__tests__/scheduler.controller.test.js.map +1 -0
  151. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts +2 -0
  152. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts.map +1 -0
  153. package/build/ts/scheduler/__tests__/scheduler.service.test.js +369 -0
  154. package/build/ts/scheduler/__tests__/scheduler.service.test.js.map +1 -0
  155. package/build/ts/scheduler/dto.d.ts +41 -0
  156. package/build/ts/scheduler/dto.d.ts.map +1 -0
  157. package/build/ts/scheduler/dto.js +115 -0
  158. package/build/ts/scheduler/dto.js.map +1 -0
  159. package/build/ts/scheduler/scheduler.controller.d.ts +32 -0
  160. package/build/ts/scheduler/scheduler.controller.d.ts.map +1 -0
  161. package/build/ts/scheduler/scheduler.controller.js +111 -0
  162. package/build/ts/scheduler/scheduler.controller.js.map +1 -0
  163. package/build/ts/scheduler/scheduler.module.d.ts +3 -0
  164. package/build/ts/scheduler/scheduler.module.d.ts.map +1 -0
  165. package/build/ts/scheduler/scheduler.module.js +24 -0
  166. package/build/ts/scheduler/scheduler.module.js.map +1 -0
  167. package/build/ts/scheduler/scheduler.service.d.ts +71 -0
  168. package/build/ts/scheduler/scheduler.service.d.ts.map +1 -0
  169. package/build/ts/scheduler/scheduler.service.js +297 -0
  170. package/build/ts/scheduler/scheduler.service.js.map +1 -0
  171. package/build/ts/scheduler/types.d.ts +65 -0
  172. package/build/ts/scheduler/types.d.ts.map +1 -0
  173. package/build/ts/scheduler/types.js +2 -0
  174. package/build/ts/scheduler/types.js.map +1 -0
  175. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js +2 -2
  176. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js.map +1 -1
  177. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js +34 -19
  178. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js.map +1 -1
  179. package/build/ts/sessionKeys/__tests__/utils.d.ts +1 -1
  180. package/build/ts/sessionKeys/__tests__/utils.d.ts.map +1 -1
  181. package/build/ts/sessionKeys/__tests__/utils.js +7 -6
  182. package/build/ts/sessionKeys/__tests__/utils.js.map +1 -1
  183. package/build/ts/sessionKeys/sessionKeys.service.d.ts +4 -3
  184. package/build/ts/sessionKeys/sessionKeys.service.d.ts.map +1 -1
  185. package/build/ts/sessionKeys/sessionKeys.service.js +1 -2
  186. package/build/ts/sessionKeys/sessionKeys.service.js.map +1 -1
  187. package/build/ts/subgraph/__tests__/subgraph.controller.test.js +2 -2
  188. package/build/ts/subgraph/__tests__/subgraph.controller.test.js.map +1 -1
  189. package/build/ts/subgraph/__tests__/subgraph.gateway.test.js +2 -2
  190. package/build/ts/subgraph/__tests__/subgraph.gateway.test.js.map +1 -1
  191. package/build/ts/subgraph/__tests__/subgraph.service.test.js +5 -5
  192. package/build/ts/subgraph/__tests__/subgraph.service.test.js.map +1 -1
  193. package/build/ts/subgraph/dto.d.ts +2 -2
  194. package/build/ts/subgraph/dto.d.ts.map +1 -1
  195. package/build/ts/subgraph/dto.js +3 -3
  196. package/build/ts/subgraph/dto.js.map +1 -1
  197. package/build/ts/subgraph/subgraph.service.d.ts +4 -0
  198. package/build/ts/subgraph/subgraph.service.d.ts.map +1 -1
  199. package/build/ts/subgraph/subgraph.service.js +23 -10
  200. package/build/ts/subgraph/subgraph.service.js.map +1 -1
  201. package/build/ts/subgraph/types.d.ts +2 -2
  202. package/build/ts/subgraph/types.d.ts.map +1 -1
  203. package/build/tsconfig.build.tsbuildinfo +1 -1
  204. package/package.json +44 -38
  205. package/build/tests/e2e.aa.test.d.ts +0 -2
  206. package/build/tests/e2e.aa.test.d.ts.map +0 -1
  207. package/build/tests/e2e.aa.test.js +0 -106
  208. package/build/tests/e2e.aa.test.js.map +0 -1
@@ -1,7 +1,6 @@
1
- import { EPolicies, EInitialVoiceCreditProxies } from "@maci-protocol/sdk";
2
- import { SendUserOperationParameters } from "viem/account-abstraction";
1
+ import { type EPolicies, type EInitialVoiceCreditProxies, type EMode, type EInitialVoiceCreditProxiesFactories, type ESupportedChains, type ECheckers } from "@maci-protocol/sdk";
2
+ import { type SendUserOperationParameters } from "viem/account-abstraction";
3
3
  import type { Abi, Hex } from "viem";
4
- import { ESupportedNetworks } from "../common";
5
4
  /**
6
5
  * IDeployMACIArgs represents the arguments for deploying MACI
7
6
  */
@@ -17,7 +16,7 @@ export interface IDeployMaciArgs {
17
16
  /**
18
17
  * The chain name
19
18
  */
20
- chain: ESupportedNetworks;
19
+ chain: ESupportedChains;
21
20
  /**
22
21
  * The configuration for deploying MACI
23
22
  */
@@ -38,7 +37,7 @@ export interface IDeployPollArgs {
38
37
  /**
39
38
  * The chain name
40
39
  */
41
- chain: ESupportedNetworks;
40
+ chain: ESupportedChains;
42
41
  /**
43
42
  * The configuration for deploying a poll
44
43
  */
@@ -56,7 +55,7 @@ export interface IConstantInitialVoiceCreditProxyArgs {
56
55
  /**
57
56
  * IEASPolicyArgs represents the arguments for deploying an EAS policy
58
57
  */
59
- export interface IEASPolicyArgs {
58
+ export interface IEASCheckerArgs {
60
59
  /**
61
60
  * The address of the EAS contract
62
61
  */
@@ -73,7 +72,7 @@ export interface IEASPolicyArgs {
73
72
  /**
74
73
  * IZupassPolicyArgs represents the arguments for deploying a Zupass policy
75
74
  */
76
- export interface IZupassPolicyArgs {
75
+ export interface IZupassCheckerArgs {
77
76
  /**
78
77
  * The first signer
79
78
  */
@@ -94,7 +93,7 @@ export interface IZupassPolicyArgs {
94
93
  /**
95
94
  * IHatsPolicyArgs represents the arguments for deploying a Hats policy
96
95
  */
97
- export interface IHatsPolicyArgs {
96
+ export interface IHatsCheckerArgs {
98
97
  /**
99
98
  * The hats protocol address
100
99
  */
@@ -107,7 +106,7 @@ export interface IHatsPolicyArgs {
107
106
  /**
108
107
  * ISemaphorePolicyArgs represents the arguments for deploying a semaphore policy
109
108
  */
110
- export interface ISemaphorePolicyArgs {
109
+ export interface ISemaphoreCheckerArgs {
111
110
  /**
112
111
  * The semaphore contract address
113
112
  */
@@ -120,7 +119,7 @@ export interface ISemaphorePolicyArgs {
120
119
  /**
121
120
  * IMerkleProofPolicyArgs represents the arguments for deploying a merkle proof policy
122
121
  */
123
- export interface IMerkleProofPolicyArgs {
122
+ export interface IMerkleProofCheckerArgs {
124
123
  /**
125
124
  * The merkle proof root
126
125
  */
@@ -129,7 +128,7 @@ export interface IMerkleProofPolicyArgs {
129
128
  /**
130
129
  * ITokenPolicyArgs represents the arguments for deploying a sign up policy
131
130
  */
132
- export interface ITokenPolicyArgs {
131
+ export interface ITokenCheckerArgs {
133
132
  /**
134
133
  * The token address
135
134
  */
@@ -138,7 +137,7 @@ export interface ITokenPolicyArgs {
138
137
  /**
139
138
  * IAnonAadhaarPolicyArgs represents the arguments for deploying an Anon Aadhaar policy
140
139
  */
141
- export interface IAnonAadhaarPolicyArgs {
140
+ export interface IAnonAadhaarCheckerArgs {
142
141
  /**
143
142
  * The Anon Aadhaar verifier address
144
143
  */
@@ -151,7 +150,7 @@ export interface IAnonAadhaarPolicyArgs {
151
150
  /**
152
151
  * IGitcoinPassportPolicyArgs represents the arguments for deploying a gitcoin passport policy
153
152
  */
154
- export interface IGitcoinPassportPolicyArgs {
153
+ export interface IGitcoinPassportCheckerArgs {
155
154
  /**
156
155
  * The decoder address
157
156
  */
@@ -164,7 +163,7 @@ export interface IGitcoinPassportPolicyArgs {
164
163
  /**
165
164
  * IERC20VotesPolicyArgs represents the arguments for deploying an ERC20 votes policy
166
165
  */
167
- export interface IERC20VotesPolicyArgs {
166
+ export interface IERC20VotesCheckerArgs {
168
167
  /**
169
168
  * The token address
170
169
  */
@@ -181,7 +180,7 @@ export interface IERC20VotesPolicyArgs {
181
180
  /**
182
181
  * IERC20PolicyArgs represents the arguments for deploying an ERC20 policy
183
182
  */
184
- export interface IERC20PolicyArgs {
183
+ export interface IERC20CheckerArgs {
185
184
  /**
186
185
  * The token address
187
186
  */
@@ -206,7 +205,7 @@ export interface IVerifyingKeysRegistryArgs {
206
205
  /**
207
206
  * The int state tree depth determines the tally batch size
208
207
  */
209
- intStateTreeDepth: bigint | string;
208
+ tallyProcessingStateTreeDepth: bigint | string;
210
209
  /**
211
210
  * The vote option tree depth
212
211
  */
@@ -217,9 +216,26 @@ export interface IVerifyingKeysRegistryArgs {
217
216
  messageBatchSize: number;
218
217
  }
219
218
  /**
220
- * IPolicyArgs represents the arguments for deploying a policy
219
+ * TCheckerArgs represents the arguments for deploying a policy
221
220
  */
222
- export type IPolicyArgs = IEASPolicyArgs | IZupassPolicyArgs | IHatsPolicyArgs | ISemaphorePolicyArgs | IMerkleProofPolicyArgs | ITokenPolicyArgs | IAnonAadhaarPolicyArgs | IGitcoinPassportPolicyArgs | IERC20VotesPolicyArgs | IERC20PolicyArgs;
221
+ export type TCheckerArgs = IEASCheckerArgs | IZupassCheckerArgs | IHatsCheckerArgs | ISemaphoreCheckerArgs | IMerkleProofCheckerArgs | ITokenCheckerArgs | IAnonAadhaarCheckerArgs | IGitcoinPassportCheckerArgs | IERC20VotesCheckerArgs | IERC20CheckerArgs;
222
+ /**
223
+ * IDeployPolicyConfig represents the configuration for deploying a policy
224
+ */
225
+ export interface IDeployPolicyConfig {
226
+ /**
227
+ * The policy type (e.g. FreeForAll, ERC20Votes, etc)
228
+ */
229
+ policyType: EPolicies;
230
+ /**
231
+ * The checker type (e.g. FreeForAll, ERC20Votes, etc)
232
+ */
233
+ checkerType: ECheckers;
234
+ /**
235
+ * The checker arguments depending on each policy
236
+ */
237
+ args?: TCheckerArgs;
238
+ }
223
239
  export type IInitialVoiceCreditProxyArgs = IConstantInitialVoiceCreditProxyArgs;
224
240
  /**
225
241
  * DeployMaciConfig is the configuration for deploying MACI
@@ -228,16 +244,14 @@ export interface IDeployMaciConfig {
228
244
  /**
229
245
  * The policy configuration
230
246
  */
231
- policy: {
232
- type: EPolicies;
233
- args?: IPolicyArgs;
234
- };
247
+ policy: IDeployPolicyConfig;
235
248
  /**
236
249
  * The MACI configuration
237
250
  */
238
251
  MACI: {
239
252
  stateTreeDepth: number;
240
253
  policy: EPolicies;
254
+ modes: EMode[];
241
255
  };
242
256
  /**
243
257
  * The VerifyingKeysRegistry configuration
@@ -268,17 +282,13 @@ export interface IDeployPollConfig {
268
282
  */
269
283
  endDate: number;
270
284
  /**
271
- * The coordinator publicKey
285
+ * Voting mode
272
286
  */
273
- coordinatorPublicKey: string;
274
- /**
275
- * Whether to use quadratic voting
276
- */
277
- useQuadraticVoting: boolean;
287
+ mode: EMode;
278
288
  /**
279
289
  * Determines the tally batch size
280
290
  */
281
- intStateTreeDepth: number;
291
+ tallyProcessingStateTreeDepth: number;
282
292
  /**
283
293
  * Message batch size
284
294
  */
@@ -294,15 +304,12 @@ export interface IDeployPollConfig {
294
304
  /**
295
305
  * The policy configuration
296
306
  */
297
- policy: {
298
- type: EPolicies;
299
- args?: IPolicyArgs;
300
- address?: Hex;
301
- };
307
+ policy: IDeployPolicyConfig;
302
308
  /**
303
309
  * The initial voice credits proxy configuration
304
310
  */
305
311
  initialVoiceCreditsProxy: {
312
+ factoryType: EInitialVoiceCreditProxiesFactories;
306
313
  type: EInitialVoiceCreditProxies;
307
314
  args: IInitialVoiceCreditProxyArgs;
308
315
  address?: Hex;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/deployer/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/deployer/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { EMode } from "@maci-protocol/sdk";
1
2
  import dotenv from "dotenv";
2
3
  import fs from "fs";
3
4
  import { ErrorCodes } from "../../common";
@@ -36,41 +37,41 @@ describe("FileService", () => {
36
37
  });
37
38
  test("should return zkey filepaths for tally qv properly", () => {
38
39
  const service = new FileService();
39
- const { zkey, wasm, witgen } = service.getZkeyFilePaths(process.env.COORDINATOR_TALLY_ZKEY_NAME, true);
40
+ const { zkey, wasm, witnessGenerator } = service.getZkeyFilePaths(process.env.COORDINATOR_TALLY_ZKEY_NAME, EMode.QV);
40
41
  expect(zkey).toBeDefined();
41
42
  expect(wasm).toBeDefined();
42
- expect(witgen).toBeDefined();
43
+ expect(witnessGenerator).toBeDefined();
43
44
  });
44
45
  test("should return zkey filepaths for tally non-qv properly", () => {
45
46
  const service = new FileService();
46
- const { zkey, wasm, witgen } = service.getZkeyFilePaths(process.env.COORDINATOR_TALLY_ZKEY_NAME, false);
47
+ const { zkey, wasm, witnessGenerator } = service.getZkeyFilePaths(process.env.COORDINATOR_TALLY_ZKEY_NAME, EMode.NON_QV);
47
48
  expect(zkey).toBeDefined();
48
49
  expect(wasm).toBeDefined();
49
- expect(witgen).toBeDefined();
50
+ expect(witnessGenerator).toBeDefined();
50
51
  });
51
52
  test("should return zkey filepaths for message process qv properly", () => {
52
53
  const service = new FileService();
53
- const { zkey, wasm, witgen } = service.getZkeyFilePaths(process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME, true);
54
+ const { zkey, wasm, witnessGenerator } = service.getZkeyFilePaths(process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME, EMode.QV);
54
55
  expect(zkey).toBeDefined();
55
56
  expect(wasm).toBeDefined();
56
- expect(witgen).toBeDefined();
57
+ expect(witnessGenerator).toBeDefined();
57
58
  });
58
59
  test("should return zkey filepaths for message process non-qv properly", () => {
59
60
  const service = new FileService();
60
- const { zkey, wasm, witgen } = service.getZkeyFilePaths(process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME, false);
61
+ const { zkey, wasm, witnessGenerator } = service.getZkeyFilePaths(process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME, EMode.NON_QV);
61
62
  expect(zkey).toBeDefined();
62
63
  expect(wasm).toBeDefined();
63
- expect(witgen).toBeDefined();
64
+ expect(witnessGenerator).toBeDefined();
64
65
  });
65
66
  test("should throw an error if there are no zkey filepaths", () => {
66
67
  const service = new FileService();
67
- expect(() => service.getZkeyFilePaths("unknown", false)).toThrow(ErrorCodes.FILE_NOT_FOUND.toString());
68
+ expect(() => service.getZkeyFilePaths("unknown", EMode.NON_QV)).toThrow(ErrorCodes.FILE_NOT_FOUND.toString());
68
69
  });
69
- test("should throw an error if there are no wasm and witgen filepaths", () => {
70
+ test("should throw an error if there are no wasm and witnessGenerator filepaths", () => {
70
71
  const spyExistsSync = jest.spyOn(fs, "existsSync");
71
72
  spyExistsSync.mockReturnValueOnce(true).mockReturnValue(false);
72
73
  const service = new FileService();
73
- expect(() => service.getZkeyFilePaths(process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME, false)).toThrow(ErrorCodes.FILE_NOT_FOUND.toString());
74
+ expect(() => service.getZkeyFilePaths(process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME, EMode.NON_QV)).toThrow(ErrorCodes.FILE_NOT_FOUND.toString());
74
75
  });
75
76
  });
76
77
  //# sourceMappingURL=file.service.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.service.test.js","sourceRoot":"","sources":["../../../../ts/file/__tests__/file.service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.service.test.js","sourceRoot":"","sources":["../../../../ts/file/__tests__/file.service.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { EMode } from "@maci-protocol/sdk";
1
2
  import type { IGetPrivateKeyData, IGetPublicKeyData, IGetZkeyFilePathsData } from "./types";
2
3
  import type { Hex } from "viem";
3
4
  /**
@@ -51,12 +52,12 @@ export declare class FileService {
51
52
  */
52
53
  getPrivateKey(): Promise<IGetPrivateKeyData>;
53
54
  /**
54
- * Get zkey, wasm and witgen filepaths for zkey set
55
+ * Get zkey, wasm and witness generator filepaths for zkey set
55
56
  *
56
57
  * @param name - zkey set name
57
- * @param useQuadraticVoting - whether to use Qv or NonQv
58
+ * @param mode - voting mode
58
59
  * @returns zkey and wasm filepaths
59
60
  */
60
- getZkeyFilePaths(name: string, useQuadraticVoting: boolean): IGetZkeyFilePathsData;
61
+ getZkeyFilePaths(name: string, mode?: EMode): IGetZkeyFilePathsData;
61
62
  }
62
63
  //# sourceMappingURL=file.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.service.d.ts","sourceRoot":"","sources":["../../../ts/file/file.service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAUhC;;;;GAIG;AACH,qBACa,WAAW;IACtB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,CAA0B;IAEpC;;OAEG;;IAMH;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvD;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvC;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAI/C;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAMhD;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAMlD;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,GAAG,qBAAqB;CAuBnF"}
1
+ {"version":3,"file":"file.service.d.ts","sourceRoot":"","sources":["../../../ts/file/file.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAQ3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAUhC;;;;GAIG;AACH,qBACa,WAAW;IACtB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,CAA0B;IAEpC;;OAEG;;IAMH;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvD;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvC;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAK/C;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAMhD;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAMlD;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,qBAAqB;CA+BpE"}
@@ -8,6 +8,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  var FileService_1;
11
+ import { EMode } from "@maci-protocol/sdk";
11
12
  import { Injectable, Logger } from "@nestjs/common";
12
13
  import low from "lowdb";
13
14
  import FileSync from "lowdb/adapters/FileSync";
@@ -59,7 +60,8 @@ let FileService = FileService_1 = class FileService {
59
60
  * @returns session key
60
61
  */
61
62
  getSessionKey(address) {
62
- return this.db.get(address).value();
63
+ const sessionkey = this.db.get(address).value();
64
+ return sessionkey;
63
65
  }
64
66
  /**
65
67
  * Get RSA private key for coordinator service
@@ -80,30 +82,34 @@ let FileService = FileService_1 = class FileService {
80
82
  return { privateKey: privateKey.toString() };
81
83
  }
82
84
  /**
83
- * Get zkey, wasm and witgen filepaths for zkey set
85
+ * Get zkey, wasm and witness generator filepaths for zkey set
84
86
  *
85
87
  * @param name - zkey set name
86
- * @param useQuadraticVoting - whether to use Qv or NonQv
88
+ * @param mode - voting mode
87
89
  * @returns zkey and wasm filepaths
88
90
  */
89
- getZkeyFilePaths(name, useQuadraticVoting) {
91
+ getZkeyFilePaths(name, mode) {
90
92
  const root = path.resolve(process.env.COORDINATOR_ZKEY_PATH);
91
93
  const index = name.indexOf("_");
92
94
  const type = name.slice(0, index);
93
95
  const params = name.slice(index + 1);
94
- const mode = useQuadraticVoting ? "" : "NonQv";
95
- const filename = `${type}${mode}_${params}`;
96
+ const modePrefixes = {
97
+ [EMode.QV]: "Qv",
98
+ [EMode.NON_QV]: "NonQv",
99
+ [EMode.FULL]: "Full",
100
+ };
101
+ const filename = `${type}${mode === undefined ? "" : modePrefixes[mode]}_${params}`;
96
102
  const zkey = path.resolve(root, `${filename}/${filename}.0.zkey`);
97
103
  const wasm = path.resolve(root, `${filename}/${filename}_js/${filename}.wasm`);
98
- const witgen = path.resolve(root, `${filename}/${filename}_cpp/${filename}`);
99
- if (!fs.existsSync(zkey) || (!fs.existsSync(wasm) && !fs.existsSync(witgen))) {
100
- this.logger.error(`Error: ${ErrorCodes.FILE_NOT_FOUND}, zkey: ${zkey}, wasm: ${wasm}, witgen: ${witgen}`);
104
+ const witnessGenerator = path.resolve(root, `${filename}/${filename}_cpp/${filename}`);
105
+ if (!fs.existsSync(zkey) || (!fs.existsSync(wasm) && !fs.existsSync(witnessGenerator))) {
106
+ this.logger.error(`Error: ${ErrorCodes.FILE_NOT_FOUND}, zkey: ${zkey}, wasm: ${wasm}, witnessGenerator: ${witnessGenerator}`);
101
107
  throw new Error(ErrorCodes.FILE_NOT_FOUND.toString());
102
108
  }
103
109
  return {
104
110
  zkey,
105
111
  wasm,
106
- witgen,
112
+ witnessGenerator,
107
113
  };
108
114
  }
109
115
  };
@@ -1 +1 @@
1
- {"version":3,"file":"file.service.js","sourceRoot":"","sources":["../../../ts/file/file.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.service.js","sourceRoot":"","sources":["../../../ts/file/file.service.ts"],"names":[],"mappings":"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"}
@@ -29,8 +29,8 @@ export interface IGetZkeyFilePathsData {
29
29
  */
30
30
  wasm: string;
31
31
  /**
32
- * Witgen filepath
32
+ * Witness generator filepath
33
33
  */
34
- witgen: string;
34
+ witnessGenerator: string;
35
35
  }
36
36
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/file/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/file/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=health.controller.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.controller.test.d.ts","sourceRoot":"","sources":["../../../../ts/health/__tests__/health.controller.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import { ESupportedChains } from "@maci-protocol/sdk";
2
+ import { zeroAddress } from "viem";
3
+ import { HealthController } from "../health.controller";
4
+ describe("HealthController", () => {
5
+ const mockHealthService = {
6
+ checkCoordinatorHealth: jest.fn(),
7
+ };
8
+ const healthController = new HealthController(mockHealthService);
9
+ beforeEach(() => {
10
+ mockHealthService.checkCoordinatorHealth = jest.fn().mockResolvedValue({
11
+ rapidsnark: {
12
+ rapidsnarkExecutablePath: process.env.COORDINATOR_RAPIDSNARK_EXE,
13
+ rapidsnarkIsAccessible: true,
14
+ rapidsnarkIsExecutable: true,
15
+ },
16
+ zkeysDirectory: {
17
+ zkeysDirectoryExists: true,
18
+ availableZkeys: [],
19
+ },
20
+ coordinatorWalletFunds: {
21
+ fundsInNetworks: [
22
+ {
23
+ address: zeroAddress.replace("0x0", "0x1"),
24
+ network: ESupportedChains.Mainnet,
25
+ balance: "0",
26
+ status: true,
27
+ },
28
+ ],
29
+ },
30
+ isRedisOpen: true,
31
+ });
32
+ });
33
+ afterEach(() => {
34
+ jest.clearAllMocks();
35
+ });
36
+ describe("v1/health/check", () => {
37
+ test("should return health check response", async () => {
38
+ const { rapidsnark, zkeysDirectory, coordinatorWalletFunds, isRedisOpen } = await healthController.check();
39
+ const { availableZkeys } = zkeysDirectory;
40
+ const allZkeysAreSet = Object.values(availableZkeys).reduce((acc, zkey) => acc && typeof zkey === "object", true);
41
+ expect(rapidsnark.rapidsnarkExecutablePath).toBe(process.env.COORDINATOR_RAPIDSNARK_EXE);
42
+ expect(rapidsnark.rapidsnarkIsAccessible).toBe(true);
43
+ expect(rapidsnark.rapidsnarkIsExecutable).toBe(true);
44
+ expect(zkeysDirectory.zkeysDirectoryExists).toBe(true);
45
+ expect(allZkeysAreSet).toBe(true);
46
+ expect(coordinatorWalletFunds.fundsInNetworks[0].address).toBeDefined();
47
+ expect(coordinatorWalletFunds.fundsInNetworks[0].address).not.toBe(zeroAddress);
48
+ expect(isRedisOpen).toBe(true);
49
+ });
50
+ });
51
+ });
52
+ //# sourceMappingURL=health.controller.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.controller.test.js","sourceRoot":"","sources":["../../../../ts/health/__tests__/health.controller.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,iBAAiB,GAAG;QACxB,sBAAsB,EAAE,IAAI,CAAC,EAAE,EAAE;KACN,CAAC;IAC9B,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAEjE,UAAU,CAAC,GAAG,EAAE;QACd,iBAAiB,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACrE,UAAU,EAAE;gBACV,wBAAwB,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B;gBAChE,sBAAsB,EAAE,IAAI;gBAC5B,sBAAsB,EAAE,IAAI;aAC7B;YACD,cAAc,EAAE;gBACd,oBAAoB,EAAE,IAAI;gBAC1B,cAAc,EAAE,EAAE;aACnB;YACD,sBAAsB,EAAE;gBACtB,eAAe,EAAE;oBACf;wBACE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;wBAC1C,OAAO,EAAE,gBAAgB,CAAC,OAAO;wBACjC,OAAO,EAAE,GAAG;wBACZ,MAAM,EAAE,IAAI;qBACb;iBACF;aACF;YACD,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAE3G,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC;YAE1C,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,IAAI,CAAC,CAAC;YAElH,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACzF,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAErD,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACxE,MAAM,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEhF,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=health.service.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.service.test.d.ts","sourceRoot":"","sources":["../../../../ts/health/__tests__/health.service.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,101 @@
1
+ import { EMode } from "@maci-protocol/contracts";
2
+ import dotenv from "dotenv";
3
+ import { zeroAddress } from "viem";
4
+ import fs from "fs";
5
+ import { FileService } from "../../file/file.service";
6
+ import { HealthService } from "../health.service";
7
+ dotenv.config();
8
+ describe("HealthService", () => {
9
+ const fileService = new FileService();
10
+ const mockRedisService = {
11
+ isOpen: jest.fn().mockReturnValue(true),
12
+ };
13
+ const healthService = new HealthService(fileService, mockRedisService);
14
+ afterEach(() => {
15
+ jest.clearAllMocks();
16
+ });
17
+ describe("checkRapidsnark", () => {
18
+ test("should return rapidsnark path and executability status", async () => {
19
+ jest.spyOn(fs.promises, "access").mockImplementation(() => Promise.resolve());
20
+ jest
21
+ .spyOn(fs.promises, "stat")
22
+ .mockImplementation(() => Promise.resolve({ isFile: () => true }));
23
+ const response = await healthService.checkRapidsnark();
24
+ expect(response.rapidsnarkExecutablePath).toBe(process.env.COORDINATOR_RAPIDSNARK_EXE);
25
+ expect(response.rapidsnarkIsAccessible).toBe(true);
26
+ expect(response.rapidsnarkIsExecutable).toBe(true);
27
+ });
28
+ test("should return false when rapidsnark path is not set", async () => {
29
+ jest.spyOn(fs.promises, "access").mockImplementation(() => Promise.reject(new Error()));
30
+ jest.spyOn(fs.promises, "stat").mockImplementation(() => Promise.reject(new Error()));
31
+ process.env.COORDINATOR_RAPIDSNARK_EXE = "/incorrect/path/to/rapidsnark";
32
+ const response = await healthService.checkRapidsnark();
33
+ expect(response.rapidsnarkIsAccessible).toBe(false);
34
+ expect(response.rapidsnarkIsExecutable).toBe(false);
35
+ });
36
+ });
37
+ describe("checkZkeysDirectory", () => {
38
+ test("should return if zkeys directory exists and the available zkeys paths", async () => {
39
+ jest
40
+ .spyOn(fs.promises, "stat")
41
+ .mockImplementation(() => Promise.resolve({ isDirectory: () => true }));
42
+ const { zkeysDirectoryExists, availableZkeys } = await healthService.checkZkeysDirectory();
43
+ const numberofZkeys = Object.keys(availableZkeys).length;
44
+ const expectedNumberOfZkeys = 1 + // poll joining zkey
45
+ 1 + // poll joined zkey
46
+ 3 + // message process zkey for modes (QV, NON_QV, FULL)
47
+ 2; // vote tally zkey for modes (only QV and NON_QV)
48
+ expect(zkeysDirectoryExists).toBe(true);
49
+ expect(numberofZkeys).toBe(expectedNumberOfZkeys);
50
+ });
51
+ test("should return less available zkeys when COORDINATOR_POLL_JOINING_ZKEY_NAME is not set in the env file", async () => {
52
+ process.env.COORDINATOR_POLL_JOINING_ZKEY_NAME = "/incorrect/path/to/poll_joining";
53
+ const { availableZkeys } = await healthService.checkZkeysDirectory();
54
+ expect(availableZkeys[process.env.COORDINATOR_POLL_JOINING_ZKEY_NAME]).toBe(undefined);
55
+ });
56
+ test("should return less available zkeys when COORDINATOR_POLL_JOINED_ZKEY_NAME is not set in the env file", async () => {
57
+ process.env.COORDINATOR_POLL_JOINED_ZKEY_NAME = "/incorrect/path/to/poll_joined";
58
+ const { availableZkeys } = await healthService.checkZkeysDirectory();
59
+ expect(availableZkeys[process.env.COORDINATOR_POLL_JOINED_ZKEY_NAME]).toBe(undefined);
60
+ });
61
+ test("should return less available zkeys when COORDINATOR_TALLY_ZKEY_NAME is not set in the env file", async () => {
62
+ process.env.COORDINATOR_TALLY_ZKEY_NAME = "/incorrect/path/to/tally_zkey";
63
+ const { availableZkeys } = await healthService.checkZkeysDirectory();
64
+ expect(availableZkeys[`${process.env.COORDINATOR_TALLY_ZKEY_NAME}_Mode_${String(EMode.NON_QV)}`]).toBe(undefined);
65
+ expect(availableZkeys[`${process.env.COORDINATOR_TALLY_ZKEY_NAME}_Mode_${String(EMode.QV)}`]).toBe(undefined);
66
+ });
67
+ test("should return less available zkeys when COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME is not set in the env file", async () => {
68
+ process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME = "/incorrect/path/to/message_process_zkey";
69
+ const { availableZkeys } = await healthService.checkZkeysDirectory();
70
+ expect(availableZkeys[`${process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME}_Mode_${String(EMode.NON_QV)}`]).toBe(undefined);
71
+ expect(availableZkeys[`${process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME}_Mode_${String(EMode.QV)}`]).toBe(undefined);
72
+ expect(availableZkeys[`${process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME}_Mode_${String(EMode.FULL)}`]).toBe(undefined);
73
+ });
74
+ test("should return false when zkeys directory is not set", async () => {
75
+ jest.spyOn(fs.promises, "stat").mockImplementation(() => Promise.reject(new Error()));
76
+ process.env.COORDINATOR_ZKEY_PATH = "/incorrect/path/to/zkeys";
77
+ const { zkeysDirectoryExists } = await healthService.checkZkeysDirectory();
78
+ expect(zkeysDirectoryExists).toBe(false);
79
+ });
80
+ });
81
+ describe("checkWalletFunds", () => {
82
+ test("should return the wallet address", async () => {
83
+ const { fundsInNetworks } = await healthService.checkWalletFunds();
84
+ expect(fundsInNetworks[0].address).toBeDefined();
85
+ expect(fundsInNetworks[0].address).not.toBe(zeroAddress);
86
+ });
87
+ test("should return 0x if coordinator private key is not set", async () => {
88
+ process.env.PRIVATE_KEY = "";
89
+ process.env.MNEMONIC = "";
90
+ const { fundsInNetworks } = await healthService.checkWalletFunds();
91
+ expect(fundsInNetworks[0].address).toBe(zeroAddress);
92
+ });
93
+ });
94
+ describe("checkRedisConnection", () => {
95
+ test("should return true if Redis connection is open", () => {
96
+ const isRedisOpen = healthService.checkRedisConnection();
97
+ expect(isRedisOpen).toBe(true);
98
+ });
99
+ });
100
+ });
101
+ //# sourceMappingURL=health.service.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.service.test.js","sourceRoot":"","sources":["../../../../ts/health/__tests__/health.service.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAkB,MAAM,IAAI,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,MAAM,gBAAgB,GAAG;QACvB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;KACb,CAAC;IAE7B,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAEvE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,IAAI,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACxE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,IAAI;iBACD,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;iBAC1B,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAsB,CAAC,CAAC,CAAC;YAEzF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,eAAe,EAAE,CAAC;YAEvD,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACvF,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACrE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YACxF,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YAEtF,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,+BAA+B,CAAC;YACzE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,eAAe,EAAE,CAAC;YAEvD,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAI,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACvF,IAAI;iBACD,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;iBAC1B,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAsB,CAAC,CAAC,CAAC;YAE9F,MAAM,EAAE,oBAAoB,EAAE,cAAc,EAAE,GAAG,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAC3F,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;YAEzD,MAAM,qBAAqB,GACzB,CAAC,GAAG,oBAAoB;gBACxB,CAAC,GAAG,mBAAmB;gBACvB,CAAC,GAAG,oDAAoD;gBACxD,CAAC,CAAC,CAAC,iDAAiD;YAEtD,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uGAAuG,EAAE,KAAK,IAAI,EAAE;YACvH,OAAO,CAAC,GAAG,CAAC,kCAAkC,GAAG,iCAAiC,CAAC;YACnF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAErE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,sGAAsG,EAAE,KAAK,IAAI,EAAE;YACtH,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,gCAAgC,CAAC;YACjF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAErE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gGAAgG,EAAE,KAAK,IAAI,EAAE;YAChH,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,+BAA+B,CAAC;YAC1E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAErE,MAAM,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClH,MAAM,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,0GAA0G,EAAE,KAAK,IAAI,EAAE;YAC1H,OAAO,CAAC,GAAG,CAAC,qCAAqC,GAAG,yCAAyC,CAAC;YAC9F,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAErE,MAAM,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAC9G,SAAS,CACV,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAC1G,SAAS,CACV,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC,SAAS,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAC5G,SAAS,CACV,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACrE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YAEtF,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,0BAA0B,CAAC;YAC/D,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAE3E,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,aAAa,CAAC,gBAAgB,EAAE,CAAC;YAEnE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACxE,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC1B,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,aAAa,CAAC,gBAAgB,EAAE,CAAC;YAEnE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,IAAI,CAAC,gDAAgD,EAAE,GAAG,EAAE;YAC1D,MAAM,WAAW,GAAG,aAAa,CAAC,oBAAoB,EAAE,CAAC;YAEzD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}