@maci-protocol/coordinator 0.0.0-ci.752ce71 → 0.0.0-ci.75ef321

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 (158) hide show
  1. package/README.md +18 -0
  2. package/build/scripts/generateKeypair.js +2 -2
  3. package/build/scripts/generateKeypair.js.map +1 -1
  4. package/build/tests/e2e.deploy.test.js +54 -36
  5. package/build/tests/e2e.deploy.test.js.map +1 -1
  6. package/build/tests/e2e.redis.test.d.ts +2 -0
  7. package/build/tests/e2e.redis.test.d.ts.map +1 -0
  8. package/build/tests/e2e.redis.test.js +119 -0
  9. package/build/tests/e2e.redis.test.js.map +1 -0
  10. package/build/tests/utils.d.ts.map +1 -1
  11. package/build/tests/utils.js.map +1 -1
  12. package/build/ts/app.module.d.ts.map +1 -1
  13. package/build/ts/app.module.js +6 -0
  14. package/build/ts/app.module.js.map +1 -1
  15. package/build/ts/common/__tests__/common.test.js +6 -16
  16. package/build/ts/common/__tests__/common.test.js.map +1 -1
  17. package/build/ts/common/accountAbstraction.js +2 -2
  18. package/build/ts/common/accountAbstraction.js.map +1 -1
  19. package/build/ts/common/chain.d.ts +3 -3
  20. package/build/ts/common/chain.d.ts.map +1 -1
  21. package/build/ts/common/chain.js +13 -15
  22. package/build/ts/common/chain.js.map +1 -1
  23. package/build/ts/common/coordinatorKeypair.d.ts +7 -0
  24. package/build/ts/common/coordinatorKeypair.d.ts.map +1 -0
  25. package/build/ts/common/coordinatorKeypair.js +14 -0
  26. package/build/ts/common/coordinatorKeypair.js.map +1 -0
  27. package/build/ts/common/errors.d.ts +16 -12
  28. package/build/ts/common/errors.d.ts.map +1 -1
  29. package/build/ts/common/errors.js +16 -12
  30. package/build/ts/common/errors.js.map +1 -1
  31. package/build/ts/deployer/__tests__/deployer.controller.test.js +7 -7
  32. package/build/ts/deployer/__tests__/deployer.controller.test.js.map +1 -1
  33. package/build/ts/deployer/__tests__/deployer.service.test.js +71 -11
  34. package/build/ts/deployer/__tests__/deployer.service.test.js.map +1 -1
  35. package/build/ts/deployer/__tests__/utils.d.ts +2 -6
  36. package/build/ts/deployer/__tests__/utils.d.ts.map +1 -1
  37. package/build/ts/deployer/__tests__/utils.js +6 -10
  38. package/build/ts/deployer/__tests__/utils.js.map +1 -1
  39. package/build/ts/deployer/deployer.service.d.ts +17 -7
  40. package/build/ts/deployer/deployer.service.d.ts.map +1 -1
  41. package/build/ts/deployer/deployer.service.js +213 -56
  42. package/build/ts/deployer/deployer.service.js.map +1 -1
  43. package/build/ts/deployer/types.d.ts +18 -14
  44. package/build/ts/deployer/types.d.ts.map +1 -1
  45. package/build/ts/file/__tests__/file.service.test.js +9 -9
  46. package/build/ts/file/__tests__/file.service.test.js.map +1 -1
  47. package/build/ts/file/file.service.d.ts +2 -2
  48. package/build/ts/file/file.service.d.ts.map +1 -1
  49. package/build/ts/file/file.service.js +9 -8
  50. package/build/ts/file/file.service.js.map +1 -1
  51. package/build/ts/file/types.d.ts +2 -2
  52. package/build/ts/file/types.d.ts.map +1 -1
  53. package/build/ts/health/__tests__/health.controller.test.d.ts +2 -0
  54. package/build/ts/health/__tests__/health.controller.test.d.ts.map +1 -0
  55. package/build/ts/health/__tests__/health.controller.test.js +28 -0
  56. package/build/ts/health/__tests__/health.controller.test.js.map +1 -0
  57. package/build/ts/health/__tests__/health.service.test.d.ts +2 -0
  58. package/build/ts/health/__tests__/health.service.test.d.ts.map +1 -0
  59. package/build/ts/health/__tests__/health.service.test.js +88 -0
  60. package/build/ts/health/__tests__/health.service.test.js.map +1 -0
  61. package/build/ts/health/health.controller.d.ts +16 -0
  62. package/build/ts/health/health.controller.d.ts.map +1 -0
  63. package/build/ts/health/health.controller.js +43 -0
  64. package/build/ts/health/health.controller.js.map +1 -0
  65. package/build/ts/health/health.module.d.ts +3 -0
  66. package/build/ts/health/health.module.d.ts.map +1 -0
  67. package/build/ts/health/health.module.js +22 -0
  68. package/build/ts/health/health.module.js.map +1 -0
  69. package/build/ts/health/health.service.d.ts +42 -0
  70. package/build/ts/health/health.service.d.ts.map +1 -0
  71. package/build/ts/health/health.service.js +182 -0
  72. package/build/ts/health/health.service.js.map +1 -0
  73. package/build/ts/health/types.d.ts +83 -0
  74. package/build/ts/health/types.d.ts.map +1 -0
  75. package/build/ts/health/types.js +2 -0
  76. package/build/ts/health/types.js.map +1 -0
  77. package/build/ts/proof/__tests__/proof.controller.test.js +0 -1
  78. package/build/ts/proof/__tests__/proof.controller.test.js.map +1 -1
  79. package/build/ts/proof/__tests__/proof.gateway.test.js +0 -1
  80. package/build/ts/proof/__tests__/proof.gateway.test.js.map +1 -1
  81. package/build/ts/proof/__tests__/proof.service.test.js +31 -72
  82. package/build/ts/proof/__tests__/proof.service.test.js.map +1 -1
  83. package/build/ts/proof/dto.d.ts +0 -4
  84. package/build/ts/proof/dto.d.ts.map +1 -1
  85. package/build/ts/proof/dto.js +1 -16
  86. package/build/ts/proof/dto.js.map +1 -1
  87. package/build/ts/proof/proof.controller.d.ts.map +1 -1
  88. package/build/ts/proof/proof.controller.js +1 -4
  89. package/build/ts/proof/proof.controller.js.map +1 -1
  90. package/build/ts/proof/proof.service.d.ts +2 -4
  91. package/build/ts/proof/proof.service.d.ts.map +1 -1
  92. package/build/ts/proof/proof.service.js +22 -24
  93. package/build/ts/proof/proof.service.js.map +1 -1
  94. package/build/ts/proof/types.d.ts +1 -4
  95. package/build/ts/proof/types.d.ts.map +1 -1
  96. package/build/ts/redis/__tests__/redis.service.test.d.ts +2 -0
  97. package/build/ts/redis/__tests__/redis.service.test.d.ts.map +1 -0
  98. package/build/ts/redis/__tests__/redis.service.test.js +149 -0
  99. package/build/ts/redis/__tests__/redis.service.test.js.map +1 -0
  100. package/build/ts/redis/redis.module.d.ts +3 -0
  101. package/build/ts/redis/redis.module.d.ts.map +1 -0
  102. package/build/ts/redis/redis.module.js +18 -0
  103. package/build/ts/redis/redis.module.js.map +1 -0
  104. package/build/ts/redis/redis.service.d.ts +52 -0
  105. package/build/ts/redis/redis.service.d.ts.map +1 -0
  106. package/build/ts/redis/redis.service.js +97 -0
  107. package/build/ts/redis/redis.service.js.map +1 -0
  108. package/build/ts/redis/types.d.ts +54 -0
  109. package/build/ts/redis/types.d.ts.map +1 -0
  110. package/build/ts/redis/types.js +2 -0
  111. package/build/ts/redis/types.js.map +1 -0
  112. package/build/ts/redis/utils.d.ts +20 -0
  113. package/build/ts/redis/utils.d.ts.map +1 -0
  114. package/build/ts/redis/utils.js +27 -0
  115. package/build/ts/redis/utils.js.map +1 -0
  116. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts +2 -0
  117. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts.map +1 -0
  118. package/build/ts/scheduler/__tests__/scheduler.controller.test.js +63 -0
  119. package/build/ts/scheduler/__tests__/scheduler.controller.test.js.map +1 -0
  120. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts +2 -0
  121. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts.map +1 -0
  122. package/build/ts/scheduler/__tests__/scheduler.service.test.js +264 -0
  123. package/build/ts/scheduler/__tests__/scheduler.service.test.js.map +1 -0
  124. package/build/ts/scheduler/dto.d.ts +42 -0
  125. package/build/ts/scheduler/dto.d.ts.map +1 -0
  126. package/build/ts/scheduler/dto.js +116 -0
  127. package/build/ts/scheduler/dto.js.map +1 -0
  128. package/build/ts/scheduler/scheduler.controller.d.ts +32 -0
  129. package/build/ts/scheduler/scheduler.controller.d.ts.map +1 -0
  130. package/build/ts/scheduler/scheduler.controller.js +111 -0
  131. package/build/ts/scheduler/scheduler.controller.js.map +1 -0
  132. package/build/ts/scheduler/scheduler.module.d.ts +3 -0
  133. package/build/ts/scheduler/scheduler.module.d.ts.map +1 -0
  134. package/build/ts/scheduler/scheduler.module.js +23 -0
  135. package/build/ts/scheduler/scheduler.module.js.map +1 -0
  136. package/build/ts/scheduler/scheduler.service.d.ts +63 -0
  137. package/build/ts/scheduler/scheduler.service.d.ts.map +1 -0
  138. package/build/ts/scheduler/scheduler.service.js +239 -0
  139. package/build/ts/scheduler/scheduler.service.js.map +1 -0
  140. package/build/ts/scheduler/types.d.ts +61 -0
  141. package/build/ts/scheduler/types.d.ts.map +1 -0
  142. package/build/ts/scheduler/types.js +2 -0
  143. package/build/ts/scheduler/types.js.map +1 -0
  144. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js +2 -2
  145. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js.map +1 -1
  146. package/build/ts/sessionKeys/sessionKeys.service.js.map +1 -1
  147. package/build/ts/subgraph/__tests__/subgraph.service.test.js +2 -3
  148. package/build/ts/subgraph/__tests__/subgraph.service.test.js.map +1 -1
  149. package/build/ts/subgraph/subgraph.service.d.ts +4 -0
  150. package/build/ts/subgraph/subgraph.service.d.ts.map +1 -1
  151. package/build/ts/subgraph/subgraph.service.js +16 -5
  152. package/build/ts/subgraph/subgraph.service.js.map +1 -1
  153. package/build/tsconfig.build.tsbuildinfo +1 -1
  154. package/package.json +33 -31
  155. package/build/tests/e2e.aa.test.d.ts +0 -2
  156. package/build/tests/e2e.aa.test.d.ts.map +0 -1
  157. package/build/tests/e2e.aa.test.js +0 -98
  158. package/build/tests/e2e.aa.test.js.map +0 -1
@@ -52,12 +52,12 @@ export declare class FileService {
52
52
  */
53
53
  getPrivateKey(): Promise<IGetPrivateKeyData>;
54
54
  /**
55
- * Get zkey, wasm and witgen filepaths for zkey set
55
+ * Get zkey, wasm and witness generator filepaths for zkey set
56
56
  *
57
57
  * @param name - zkey set name
58
58
  * @param mode - voting mode
59
59
  * @returns zkey and wasm filepaths
60
60
  */
61
- getZkeyFilePaths(name: string, mode: EMode): IGetZkeyFilePathsData;
61
+ getZkeyFilePaths(name: string, mode?: EMode): IGetZkeyFilePathsData;
62
62
  }
63
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":"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;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,IAAI,EAAE,KAAK,GAAG,qBAAqB;CA4BnE"}
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"}
@@ -60,7 +60,8 @@ let FileService = FileService_1 = class FileService {
60
60
  * @returns session key
61
61
  */
62
62
  getSessionKey(address) {
63
- return this.db.get(address).value();
63
+ const sessionkey = this.db.get(address).value();
64
+ return sessionkey;
64
65
  }
65
66
  /**
66
67
  * Get RSA private key for coordinator service
@@ -81,7 +82,7 @@ let FileService = FileService_1 = class FileService {
81
82
  return { privateKey: privateKey.toString() };
82
83
  }
83
84
  /**
84
- * Get zkey, wasm and witgen filepaths for zkey set
85
+ * Get zkey, wasm and witness generator filepaths for zkey set
85
86
  *
86
87
  * @param name - zkey set name
87
88
  * @param mode - voting mode
@@ -93,22 +94,22 @@ let FileService = FileService_1 = class FileService {
93
94
  const type = name.slice(0, index);
94
95
  const params = name.slice(index + 1);
95
96
  const modePrefixes = {
96
- [EMode.QV]: "",
97
+ [EMode.QV]: "Qv",
97
98
  [EMode.NON_QV]: "NonQv",
98
99
  [EMode.FULL]: "Full",
99
100
  };
100
- const filename = `${type}${modePrefixes[mode]}_${params}`;
101
+ const filename = `${type}${mode === undefined ? "" : modePrefixes[mode]}_${params}`;
101
102
  const zkey = path.resolve(root, `${filename}/${filename}.0.zkey`);
102
103
  const wasm = path.resolve(root, `${filename}/${filename}_js/${filename}.wasm`);
103
- const witgen = path.resolve(root, `${filename}/${filename}_cpp/${filename}`);
104
- if (!fs.existsSync(zkey) || (!fs.existsSync(wasm) && !fs.existsSync(witgen))) {
105
- 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}`);
106
107
  throw new Error(ErrorCodes.FILE_NOT_FOUND.toString());
107
108
  }
108
109
  return {
109
110
  zkey,
110
111
  wasm,
111
- witgen,
112
+ witnessGenerator,
112
113
  };
113
114
  }
114
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,28 @@
1
+ import { zeroAddress } from "viem";
2
+ import { FileService } from "../../file/file.service";
3
+ import { RedisService } from "../../redis/redis.service";
4
+ import { HealthController } from "../health.controller";
5
+ import { HealthService } from "../health.service";
6
+ describe("HealthController", () => {
7
+ const redisService = new RedisService();
8
+ const healthController = new HealthController(new HealthService(new FileService(), redisService));
9
+ beforeAll(async () => {
10
+ await redisService.onModuleInit();
11
+ });
12
+ describe("v1/health/check", () => {
13
+ it("should return health check response", async () => {
14
+ const { rapidsnark, zkeysDirectory, coordinatorWalletFunds, isRedisOpen } = await healthController.check();
15
+ const { availableZkeys } = zkeysDirectory;
16
+ const allZkeysAreSet = Object.values(availableZkeys).reduce((acc, zkey) => acc && typeof zkey === "object", true);
17
+ expect(rapidsnark.rapidsnarkExecutablePath).toBe(process.env.COORDINATOR_RAPIDSNARK_EXE);
18
+ expect(rapidsnark.rapidsnarkIsAccessible).toBe(true);
19
+ expect(rapidsnark.rapidsnarkIsExecutable).toBe(true);
20
+ expect(zkeysDirectory.zkeysDirectoryExists).toBe(true);
21
+ expect(allZkeysAreSet).toBe(true);
22
+ expect(coordinatorWalletFunds.address).toBeDefined();
23
+ expect(coordinatorWalletFunds.address).not.toBe(zeroAddress);
24
+ expect(isRedisOpen).toBe(true);
25
+ });
26
+ });
27
+ });
28
+ //# 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,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,aAAa,CAAC,IAAI,WAAW,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;IAElG,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,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,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE7D,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,88 @@
1
+ import { EMode } from "@maci-protocol/contracts";
2
+ import dotenv from "dotenv";
3
+ import { zeroAddress } from "viem";
4
+ import { FileService } from "../../file/file.service";
5
+ import { RedisService } from "../../redis/redis.service";
6
+ import { HealthService } from "../health.service";
7
+ dotenv.config();
8
+ describe("HealthService", () => {
9
+ const fileService = new FileService();
10
+ const redisService = new RedisService();
11
+ const healthService = new HealthService(fileService, redisService);
12
+ beforeAll(async () => {
13
+ await redisService.onModuleInit();
14
+ });
15
+ describe("checkRapidsnark", () => {
16
+ it("should return rapidsnark path and executability status", async () => {
17
+ const response = await healthService.checkRapidsnark();
18
+ expect(response.rapidsnarkExecutablePath).toBe(process.env.COORDINATOR_RAPIDSNARK_EXE);
19
+ expect(response.rapidsnarkIsAccessible).toBe(true);
20
+ expect(response.rapidsnarkIsExecutable).toBe(true);
21
+ });
22
+ it("should return false when rapidsnark path is not set", async () => {
23
+ process.env.COORDINATOR_RAPIDSNARK_EXE = "/incorrect/path/to/rapidsnark";
24
+ const response = await healthService.checkRapidsnark();
25
+ expect(response.rapidsnarkIsAccessible).toBe(false);
26
+ expect(response.rapidsnarkIsExecutable).toBe(false);
27
+ });
28
+ });
29
+ describe("checkZkeysDirectory", () => {
30
+ it("should return if zkeys directory exists and the available zkeys paths", async () => {
31
+ const { zkeysDirectoryExists, availableZkeys } = await healthService.checkZkeysDirectory();
32
+ const numberofZkeys = Object.keys(availableZkeys).length;
33
+ const expectedNumberOfZkeys = 1 + // poll joining zkey
34
+ 1 + // poll joined zkey
35
+ 3 + // message process zkey for modes (QV, NON_QV, FULL)
36
+ 2; // vote tally zkey for modes (only QV and NON_QV)
37
+ expect(zkeysDirectoryExists).toBe(true);
38
+ expect(numberofZkeys).toBe(expectedNumberOfZkeys);
39
+ });
40
+ it("should return less available zkeys when COORDINATOR_POLL_JOINING_ZKEY_NAME is not set in the env file", async () => {
41
+ process.env.COORDINATOR_POLL_JOINING_ZKEY_NAME = "/incorrect/path/to/poll_joining";
42
+ const { availableZkeys } = await healthService.checkZkeysDirectory();
43
+ expect(availableZkeys[process.env.COORDINATOR_POLL_JOINING_ZKEY_NAME]).toBe(undefined);
44
+ });
45
+ it("should return less available zkeys when COORDINATOR_POLL_JOINED_ZKEY_NAME is not set in the env file", async () => {
46
+ process.env.COORDINATOR_POLL_JOINED_ZKEY_NAME = "/incorrect/path/to/poll_joined";
47
+ const { availableZkeys } = await healthService.checkZkeysDirectory();
48
+ expect(availableZkeys[process.env.COORDINATOR_POLL_JOINED_ZKEY_NAME]).toBe(undefined);
49
+ });
50
+ it("should return less available zkeys when COORDINATOR_TALLY_ZKEY_NAME is not set in the env file", async () => {
51
+ process.env.COORDINATOR_TALLY_ZKEY_NAME = "/incorrect/path/to/tally_zkey";
52
+ const { availableZkeys } = await healthService.checkZkeysDirectory();
53
+ expect(availableZkeys[`${process.env.COORDINATOR_TALLY_ZKEY_NAME}_Mode_${String(EMode.NON_QV)}`]).toBe(undefined);
54
+ expect(availableZkeys[`${process.env.COORDINATOR_TALLY_ZKEY_NAME}_Mode_${String(EMode.QV)}`]).toBe(undefined);
55
+ });
56
+ it("should return less available zkeys when COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME is not set in the env file", async () => {
57
+ process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME = "/incorrect/path/to/message_process_zkey";
58
+ const { availableZkeys } = await healthService.checkZkeysDirectory();
59
+ expect(availableZkeys[`${process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME}_Mode_${String(EMode.NON_QV)}`]).toBe(undefined);
60
+ expect(availableZkeys[`${process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME}_Mode_${String(EMode.QV)}`]).toBe(undefined);
61
+ expect(availableZkeys[`${process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME}_Mode_${String(EMode.FULL)}`]).toBe(undefined);
62
+ });
63
+ it("should return false when zkeys directory is not set", async () => {
64
+ process.env.COORDINATOR_ZKEY_PATH = "/incorrect/path/to/zkeys";
65
+ const { zkeysDirectoryExists } = await healthService.checkZkeysDirectory();
66
+ expect(zkeysDirectoryExists).toBe(false);
67
+ });
68
+ });
69
+ describe("checkWalletFunds", () => {
70
+ it("should return the wallet address", async () => {
71
+ const { address } = await healthService.checkWalletFunds();
72
+ expect(address).toBeDefined();
73
+ expect(address).not.toBe(zeroAddress);
74
+ });
75
+ it("should return 0x if coordinator private key is not set", async () => {
76
+ process.env.PRIVATE_KEY = "";
77
+ const { address } = await healthService.checkWalletFunds();
78
+ expect(address).toBe(zeroAddress);
79
+ });
80
+ });
81
+ describe("checkRedisConnection", () => {
82
+ it("should return true if Redis connection is open", () => {
83
+ const isRedisOpen = healthService.checkRedisConnection();
84
+ expect(isRedisOpen).toBe(true);
85
+ });
86
+ });
87
+ });
88
+ //# 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":"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"}
@@ -0,0 +1,16 @@
1
+ import { HealthService } from "./health.service";
2
+ import { IHealthCheckResponse } from "./types";
3
+ export declare class HealthController {
4
+ private readonly healthService;
5
+ /**
6
+ * Initialize HealthController
7
+ */
8
+ constructor(healthService: HealthService);
9
+ /**
10
+ * Health check api method.
11
+ *
12
+ * @returns true if the service is running
13
+ */
14
+ check(): Promise<IHealthCheckResponse>;
15
+ }
16
+ //# sourceMappingURL=health.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.controller.d.ts","sourceRoot":"","sources":["../../../ts/health/health.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,qBAEa,gBAAgB;IAIf,OAAO,CAAC,QAAQ,CAAC,aAAa;IAH1C;;OAEG;gBAC0B,aAAa,EAAE,aAAa;IAEzD;;;;OAIG;IAGH,KAAK,IAAI,OAAO,CAAC,oBAAoB,CAAC;CAGvC"}
@@ -0,0 +1,43 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Controller, Get, HttpStatus } from "@nestjs/common";
11
+ import { ApiResponse, ApiTags } from "@nestjs/swagger";
12
+ import { HealthService } from "./health.service";
13
+ let HealthController = class HealthController {
14
+ healthService;
15
+ /**
16
+ * Initialize HealthController
17
+ */
18
+ constructor(healthService) {
19
+ this.healthService = healthService;
20
+ }
21
+ /**
22
+ * Health check api method.
23
+ *
24
+ * @returns true if the service is running
25
+ */
26
+ check() {
27
+ return this.healthService.checkCoordinatorHealth();
28
+ }
29
+ };
30
+ __decorate([
31
+ ApiResponse({ status: HttpStatus.OK, description: "The service is running" }),
32
+ Get("check"),
33
+ __metadata("design:type", Function),
34
+ __metadata("design:paramtypes", []),
35
+ __metadata("design:returntype", Promise)
36
+ ], HealthController.prototype, "check", null);
37
+ HealthController = __decorate([
38
+ ApiTags("v1/health"),
39
+ Controller("v1/health"),
40
+ __metadata("design:paramtypes", [HealthService])
41
+ ], HealthController);
42
+ export { HealthController };
43
+ //# sourceMappingURL=health.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.controller.js","sourceRoot":"","sources":["../../../ts/health/health.controller.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAK1C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAIE;IAH7B;;OAEG;IACH,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAE7D;;;;OAIG;IAGH,KAAK;QACH,OAAO,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC;IACrD,CAAC;CACF,CAAA;AAHC;IAFC,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;IAC7E,GAAG,CAAC,OAAO,CAAC;;;;6CAGZ;AAfU,gBAAgB;IAF5B,OAAO,CAAC,WAAW,CAAC;IACpB,UAAU,CAAC,WAAW,CAAC;qCAKsB,aAAa;GAJ9C,gBAAgB,CAgB5B"}
@@ -0,0 +1,3 @@
1
+ export declare class HealthModule {
2
+ }
3
+ //# sourceMappingURL=health.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.module.d.ts","sourceRoot":"","sources":["../../../ts/health/health.module.ts"],"names":[],"mappings":"AAQA,qBAKa,YAAY;CAAG"}
@@ -0,0 +1,22 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Module } from "@nestjs/common";
8
+ import { FileModule } from "../file/file.module";
9
+ import { RedisModule } from "../redis/redis.module";
10
+ import { HealthController } from "./health.controller";
11
+ import { HealthService } from "./health.service";
12
+ let HealthModule = class HealthModule {
13
+ };
14
+ HealthModule = __decorate([
15
+ Module({
16
+ imports: [FileModule, RedisModule],
17
+ controllers: [HealthController],
18
+ providers: [HealthService],
19
+ })
20
+ ], HealthModule);
21
+ export { HealthModule };
22
+ //# sourceMappingURL=health.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.module.js","sourceRoot":"","sources":["../../../ts/health/health.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAO1C,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IALxB,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;QAClC,WAAW,EAAE,CAAC,gBAAgB,CAAC;QAC/B,SAAS,EAAE,CAAC,aAAa,CAAC;KAC3B,CAAC;GACW,YAAY,CAAG"}
@@ -0,0 +1,42 @@
1
+ import type { ICheckRapidsnark, ICheckWalletFunds, ICheckZkeysDirectory, IHealthCheckResponse } from "./types";
2
+ import { FileService } from "../file/file.service";
3
+ import { RedisService } from "../redis/redis.service";
4
+ /**
5
+ * Health service functions to check the status of the coordinator service.
6
+ */
7
+ export declare class HealthService {
8
+ private readonly fileService;
9
+ private readonly redisService;
10
+ /**
11
+ * Create a new instance of the HealthService.
12
+ *
13
+ * @param fileService - file service
14
+ */
15
+ constructor(fileService: FileService, redisService: RedisService);
16
+ /**
17
+ * Check if rapidsnark is available and executable.
18
+ * @returns the rapidsnark executable path and its executability status
19
+ */
20
+ checkRapidsnark(): Promise<ICheckRapidsnark>;
21
+ /**
22
+ * Check if zkeys directory exists
23
+ * @returns the existence of the zkeys directory and the required zkeys
24
+ */
25
+ checkZkeysDirectory(): Promise<ICheckZkeysDirectory>;
26
+ /**
27
+ * Check if coordinator wallet has funds
28
+ * @returns the address and its funds in all networks
29
+ */
30
+ checkWalletFunds(): Promise<ICheckWalletFunds>;
31
+ /**
32
+ * Check redis client is connected and open
33
+ * @return true if the redis client is connected and open, false otherwise
34
+ */
35
+ checkRedisConnection(): boolean;
36
+ /**
37
+ * Check coordinator service health
38
+ * @returns an object containing the results of all the health checks
39
+ */
40
+ checkCoordinatorHealth(): Promise<IHealthCheckResponse>;
41
+ }
42
+ //# sourceMappingURL=health.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.service.d.ts","sourceRoot":"","sources":["../../../ts/health/health.service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/G,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,qBACa,aAAa;IAOtB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAP/B;;;;OAIG;gBAEgB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY;IAG7C;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAuBlD;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IA0D1D;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAuCpD;;;OAGG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;OAGG;IACG,sBAAsB,IAAI,OAAO,CAAC,oBAAoB,CAAC;CAe9D"}
@@ -0,0 +1,182 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { EMode } from "@maci-protocol/sdk";
11
+ import { Injectable } from "@nestjs/common";
12
+ import { formatEther } from "ethers";
13
+ import { zeroAddress } from "viem";
14
+ import fs from "fs";
15
+ import path from "path";
16
+ import { ESupportedNetworks, getSigner } from "../common";
17
+ import { FileService } from "../file/file.service";
18
+ import { RedisService } from "../redis/redis.service";
19
+ /**
20
+ * Health service functions to check the status of the coordinator service.
21
+ */
22
+ let HealthService = class HealthService {
23
+ fileService;
24
+ redisService;
25
+ /**
26
+ * Create a new instance of the HealthService.
27
+ *
28
+ * @param fileService - file service
29
+ */
30
+ constructor(fileService, redisService) {
31
+ this.fileService = fileService;
32
+ this.redisService = redisService;
33
+ }
34
+ /**
35
+ * Check if rapidsnark is available and executable.
36
+ * @returns the rapidsnark executable path and its executability status
37
+ */
38
+ async checkRapidsnark() {
39
+ const rapidsnarkExecutablePath = process.env.COORDINATOR_RAPIDSNARK_EXE || "";
40
+ const [rapidsnarkIsAccessible, rapidsnarkIsExecutable] = await Promise.all([
41
+ fs.promises
42
+ // eslint-disable-next-line no-bitwise
43
+ .access(rapidsnarkExecutablePath, fs.constants.F_OK | fs.constants.X_OK)
44
+ .then(() => true)
45
+ .catch(() => false),
46
+ fs.promises
47
+ // eslint-disable-next-line no-bitwise
48
+ .stat(rapidsnarkExecutablePath)
49
+ .then((stats) => stats.isFile())
50
+ .catch(() => false),
51
+ ]);
52
+ return {
53
+ rapidsnarkExecutablePath,
54
+ rapidsnarkIsAccessible,
55
+ rapidsnarkIsExecutable,
56
+ };
57
+ }
58
+ /**
59
+ * Check if zkeys directory exists
60
+ * @returns the existence of the zkeys directory and the required zkeys
61
+ */
62
+ async checkZkeysDirectory() {
63
+ const zkeysDirectoryPath = path.resolve(process.env.COORDINATOR_ZKEY_PATH);
64
+ const requiredZkeyNames = [
65
+ {
66
+ name: process.env.COORDINATOR_TALLY_ZKEY_NAME,
67
+ modes: [EMode.QV, EMode.NON_QV],
68
+ },
69
+ {
70
+ name: process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME,
71
+ modes: [EMode.QV, EMode.NON_QV, EMode.FULL],
72
+ },
73
+ {
74
+ name: process.env.COORDINATOR_POLL_JOINING_ZKEY_NAME,
75
+ },
76
+ {
77
+ name: process.env.COORDINATOR_POLL_JOINED_ZKEY_NAME,
78
+ },
79
+ ];
80
+ const zkeysDirectoryExists = await fs.promises
81
+ .stat(zkeysDirectoryPath)
82
+ .then((stats) => stats.isDirectory())
83
+ .catch(() => false);
84
+ const availableZkeys = requiredZkeyNames.reduce((acc, { name, modes }) => {
85
+ if (!modes) {
86
+ try {
87
+ acc[name] = this.fileService.getZkeyFilePaths(name);
88
+ }
89
+ catch (error) {
90
+ acc[name] = undefined;
91
+ }
92
+ return acc;
93
+ }
94
+ const modeEntries = modes.reduce((modeAcc, mode) => {
95
+ const pathname = `${name}_Mode_${String(mode)}`;
96
+ try {
97
+ // eslint-disable-next-line no-param-reassign
98
+ modeAcc[pathname] = this.fileService.getZkeyFilePaths(name, mode);
99
+ }
100
+ catch (error) {
101
+ // eslint-disable-next-line no-param-reassign
102
+ modeAcc[pathname] = undefined;
103
+ }
104
+ return modeAcc;
105
+ }, {});
106
+ return { ...acc, ...modeEntries };
107
+ }, {});
108
+ return {
109
+ zkeysDirectoryExists,
110
+ availableZkeys,
111
+ };
112
+ }
113
+ /**
114
+ * Check if coordinator wallet has funds
115
+ * @returns the address and its funds in all networks
116
+ */
117
+ async checkWalletFunds() {
118
+ let address;
119
+ const networks = Object.values(ESupportedNetworks);
120
+ try {
121
+ const signer = getSigner(networks[0]);
122
+ address = await signer.getAddress();
123
+ }
124
+ catch (error) {
125
+ return {
126
+ address: zeroAddress,
127
+ fundsInNetworks: [],
128
+ };
129
+ }
130
+ const fundsInNetworks = await Promise.all(networks.map(async (network) => {
131
+ const signer = getSigner(network);
132
+ return signer.provider
133
+ ?.getBalance(address)
134
+ .then((balance) => ({
135
+ network,
136
+ balance: formatEther(balance),
137
+ status: true,
138
+ }))
139
+ .catch(() => ({
140
+ network,
141
+ balance: formatEther(0n),
142
+ status: false,
143
+ }));
144
+ }));
145
+ return {
146
+ address,
147
+ fundsInNetworks,
148
+ };
149
+ }
150
+ /**
151
+ * Check redis client is connected and open
152
+ * @return true if the redis client is connected and open, false otherwise
153
+ */
154
+ checkRedisConnection() {
155
+ return this.redisService.isOpen();
156
+ }
157
+ /**
158
+ * Check coordinator service health
159
+ * @returns an object containing the results of all the health checks
160
+ */
161
+ async checkCoordinatorHealth() {
162
+ const [rapidsnark, zkeysDirectory, coordinatorWalletFunds] = await Promise.all([
163
+ this.checkRapidsnark(),
164
+ this.checkZkeysDirectory(),
165
+ this.checkWalletFunds(),
166
+ ]);
167
+ const isRedisOpen = this.checkRedisConnection();
168
+ return {
169
+ rapidsnark,
170
+ zkeysDirectory,
171
+ coordinatorWalletFunds,
172
+ isRedisOpen,
173
+ };
174
+ }
175
+ };
176
+ HealthService = __decorate([
177
+ Injectable(),
178
+ __metadata("design:paramtypes", [FileService,
179
+ RedisService])
180
+ ], HealthService);
181
+ export { HealthService };
182
+ //# sourceMappingURL=health.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.service.js","sourceRoot":"","sources":["../../../ts/health/health.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAa;IAOL;IACA;IAPnB;;;;OAIG;IACH,YACmB,WAAwB,EACxB,YAA0B;QAD1B,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAc;IAC1C,CAAC;IAEJ;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,CAAC;QAE9E,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzE,EAAE,CAAC,QAAQ;gBACT,sCAAsC;iBACrC,MAAM,CAAC,wBAAwB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;iBACvE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;iBAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;YACrB,EAAE,CAAC,QAAQ;gBACT,sCAAsC;iBACrC,IAAI,CAAC,wBAAwB,CAAC;iBAC9B,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;iBAC/B,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QAEH,OAAO;YACL,wBAAwB;YACxB,sBAAsB;YACtB,sBAAsB;SACvB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAsB,CAAC,CAAC;QAC5E,MAAM,iBAAiB,GAAG;YACxB;gBACE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B;gBAC7C,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC;aAChC;YACD;gBACE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,qCAAqC;gBACvD,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;aAC5C;YACD;gBACE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC;aACrD;YACD;gBACE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC;aACpD;SACF,CAAC;QAEF,MAAM,oBAAoB,GAAG,MAAM,EAAE,CAAC,QAAQ;aAC3C,IAAI,CAAC,kBAAkB,CAAC;aACxB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;aACpC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAEtB,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAyC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/G,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC;oBACH,GAAG,CAAC,IAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAK,CAAC,CAAC;gBACxD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,IAAK,CAAC,GAAG,SAAS,CAAC;gBACzB,CAAC;gBAED,OAAO,GAAG,CAAC;YACb,CAAC;YAED,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAyC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;gBACzF,MAAM,QAAQ,GAAG,GAAG,IAAK,SAAS,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAEjD,IAAI,CAAC;oBACH,6CAA6C;oBAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAK,EAAE,IAAI,CAAC,CAAC;gBACrE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,6CAA6C;oBAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;gBAChC,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC,EAAE,EAAE,CAAC,CAAC;YAEP,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QACpC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO;YACL,oBAAoB;YACpB,cAAc;SACf,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB;QACpB,IAAI,OAAe,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAEnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,WAAW;gBACpB,eAAe,EAAE,EAAE;aACpB,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAElC,OAAO,MAAM,CAAC,QAAQ;gBACpB,EAAE,UAAU,CAAC,OAAO,CAAC;iBACpB,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClB,OAAO;gBACP,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;gBAC7B,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;iBACF,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;gBACZ,OAAO;gBACP,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;gBACxB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CACH,CAAC;QAEF,OAAO;YACL,OAAO;YACP,eAAe;SAChB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB;QAC1B,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,sBAAsB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7E,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,CAAC,mBAAmB,EAAE;YAC1B,IAAI,CAAC,gBAAgB,EAAE;SACxB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAEhD,OAAO;YACL,UAAU;YACV,cAAc;YACd,sBAAsB;YACtB,WAAW;SACZ,CAAC;IACJ,CAAC;CACF,CAAA;AA1KY,aAAa;IADzB,UAAU,EAAE;qCAQqB,WAAW;QACV,YAAY;GARlC,aAAa,CA0KzB"}