@maci-protocol/coordinator 0.0.0-ci.f1b8eb8 → 0.0.0-ci.f2b591f

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 (189) hide show
  1. package/README.md +4 -4
  2. package/build/hardhat.config.cjs +2 -3
  3. package/build/hardhat.config.cjs.map +1 -1
  4. package/build/hardhat.config.d.cts +2 -4
  5. package/build/scripts/generateKeypair.js +2 -2
  6. package/build/scripts/generateKeypair.js.map +1 -1
  7. package/build/tests/e2e.deploy.test.js +32 -21
  8. package/build/tests/e2e.deploy.test.js.map +1 -1
  9. package/build/tests/e2e.redis.test.d.ts +2 -0
  10. package/build/tests/e2e.redis.test.d.ts.map +1 -0
  11. package/build/tests/e2e.redis.test.js +118 -0
  12. package/build/tests/e2e.redis.test.js.map +1 -0
  13. package/build/tests/utils.d.ts.map +1 -1
  14. package/build/tests/utils.js +3 -3
  15. package/build/tests/utils.js.map +1 -1
  16. package/build/ts/app.module.d.ts.map +1 -1
  17. package/build/ts/app.module.js +6 -0
  18. package/build/ts/app.module.js.map +1 -1
  19. package/build/ts/common/__tests__/common.test.js +38 -38
  20. package/build/ts/common/__tests__/common.test.js.map +1 -1
  21. package/build/ts/common/accountAbstraction.d.ts +5 -5
  22. package/build/ts/common/accountAbstraction.d.ts.map +1 -1
  23. package/build/ts/common/accountAbstraction.js +8 -8
  24. package/build/ts/common/accountAbstraction.js.map +1 -1
  25. package/build/ts/common/chain.d.ts +3 -3
  26. package/build/ts/common/chain.d.ts.map +1 -1
  27. package/build/ts/common/chain.js +11 -10
  28. package/build/ts/common/chain.js.map +1 -1
  29. package/build/ts/common/errors.d.ts +15 -11
  30. package/build/ts/common/errors.d.ts.map +1 -1
  31. package/build/ts/common/errors.js +15 -11
  32. package/build/ts/common/errors.js.map +1 -1
  33. package/build/ts/common/index.d.ts +0 -1
  34. package/build/ts/common/index.d.ts.map +1 -1
  35. package/build/ts/common/index.js +0 -1
  36. package/build/ts/common/index.js.map +1 -1
  37. package/build/ts/common/networks.d.ts +2 -21
  38. package/build/ts/common/networks.d.ts.map +1 -1
  39. package/build/ts/common/networks.js +39 -48
  40. package/build/ts/common/networks.js.map +1 -1
  41. package/build/ts/deployer/__tests__/deployer.controller.test.js +23 -25
  42. package/build/ts/deployer/__tests__/deployer.controller.test.js.map +1 -1
  43. package/build/ts/deployer/__tests__/deployer.service.test.js +162 -80
  44. package/build/ts/deployer/__tests__/deployer.service.test.js.map +1 -1
  45. package/build/ts/deployer/__tests__/utils.d.ts +0 -1
  46. package/build/ts/deployer/__tests__/utils.d.ts.map +1 -1
  47. package/build/ts/deployer/__tests__/utils.js +4 -4
  48. package/build/ts/deployer/__tests__/utils.js.map +1 -1
  49. package/build/ts/deployer/deployer.service.d.ts +17 -8
  50. package/build/ts/deployer/deployer.service.d.ts.map +1 -1
  51. package/build/ts/deployer/deployer.service.js +209 -56
  52. package/build/ts/deployer/deployer.service.js.map +1 -1
  53. package/build/ts/deployer/dto.d.ts +3 -3
  54. package/build/ts/deployer/dto.d.ts.map +1 -1
  55. package/build/ts/deployer/dto.js +5 -5
  56. package/build/ts/deployer/dto.js.map +1 -1
  57. package/build/ts/deployer/types.d.ts +20 -14
  58. package/build/ts/deployer/types.d.ts.map +1 -1
  59. package/build/ts/file/file.service.d.ts.map +1 -1
  60. package/build/ts/file/file.service.js +4 -3
  61. package/build/ts/file/file.service.js.map +1 -1
  62. package/build/ts/health/__tests__/health.controller.test.d.ts +2 -0
  63. package/build/ts/health/__tests__/health.controller.test.d.ts.map +1 -0
  64. package/build/ts/health/__tests__/health.controller.test.js +52 -0
  65. package/build/ts/health/__tests__/health.controller.test.js.map +1 -0
  66. package/build/ts/health/__tests__/health.service.test.d.ts +2 -0
  67. package/build/ts/health/__tests__/health.service.test.d.ts.map +1 -0
  68. package/build/ts/health/__tests__/health.service.test.js +101 -0
  69. package/build/ts/health/__tests__/health.service.test.js.map +1 -0
  70. package/build/ts/health/health.controller.d.ts +16 -0
  71. package/build/ts/health/health.controller.d.ts.map +1 -0
  72. package/build/ts/health/health.controller.js +43 -0
  73. package/build/ts/health/health.controller.js.map +1 -0
  74. package/build/ts/health/health.module.d.ts +3 -0
  75. package/build/ts/health/health.module.d.ts.map +1 -0
  76. package/build/ts/health/health.module.js +22 -0
  77. package/build/ts/health/health.module.js.map +1 -0
  78. package/build/ts/health/health.service.d.ts +42 -0
  79. package/build/ts/health/health.service.d.ts.map +1 -0
  80. package/build/ts/health/health.service.js +176 -0
  81. package/build/ts/health/health.service.js.map +1 -0
  82. package/build/ts/health/types.d.ts +87 -0
  83. package/build/ts/health/types.d.ts.map +1 -0
  84. package/build/ts/health/types.js +2 -0
  85. package/build/ts/health/types.js.map +1 -0
  86. package/build/ts/jest/__mocks__/@excubiae/contracts.d.ts +3 -0
  87. package/build/ts/jest/__mocks__/@excubiae/contracts.d.ts.map +1 -0
  88. package/build/ts/jest/__mocks__/@excubiae/contracts.js +4 -0
  89. package/build/ts/jest/__mocks__/@excubiae/contracts.js.map +1 -0
  90. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.d.ts +11 -0
  91. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.d.ts.map +1 -0
  92. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.js +12 -0
  93. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.js.map +1 -0
  94. package/build/ts/proof/__tests__/proof.controller.test.js +3 -4
  95. package/build/ts/proof/__tests__/proof.controller.test.js.map +1 -1
  96. package/build/ts/proof/__tests__/proof.gateway.test.js +2 -3
  97. package/build/ts/proof/__tests__/proof.gateway.test.js.map +1 -1
  98. package/build/ts/proof/__tests__/proof.service.test.js +24 -55
  99. package/build/ts/proof/__tests__/proof.service.test.js.map +1 -1
  100. package/build/ts/proof/dto.d.ts +4 -5
  101. package/build/ts/proof/dto.d.ts.map +1 -1
  102. package/build/ts/proof/dto.js +7 -8
  103. package/build/ts/proof/dto.js.map +1 -1
  104. package/build/ts/proof/proof.service.d.ts.map +1 -1
  105. package/build/ts/proof/proof.service.js.map +1 -1
  106. package/build/ts/proof/types.d.ts +4 -5
  107. package/build/ts/proof/types.d.ts.map +1 -1
  108. package/build/ts/proof/types.js.map +1 -1
  109. package/build/ts/redis/__tests__/redis.service.test.d.ts +2 -0
  110. package/build/ts/redis/__tests__/redis.service.test.d.ts.map +1 -0
  111. package/build/ts/redis/__tests__/redis.service.test.js +148 -0
  112. package/build/ts/redis/__tests__/redis.service.test.js.map +1 -0
  113. package/build/ts/redis/redis.module.d.ts +3 -0
  114. package/build/ts/redis/redis.module.d.ts.map +1 -0
  115. package/build/ts/redis/redis.module.js +18 -0
  116. package/build/ts/redis/redis.module.js.map +1 -0
  117. package/build/ts/redis/redis.service.d.ts +52 -0
  118. package/build/ts/redis/redis.service.d.ts.map +1 -0
  119. package/build/ts/redis/redis.service.js +97 -0
  120. package/build/ts/redis/redis.service.js.map +1 -0
  121. package/build/ts/redis/types.d.ts +53 -0
  122. package/build/ts/redis/types.d.ts.map +1 -0
  123. package/build/ts/redis/types.js +2 -0
  124. package/build/ts/redis/types.js.map +1 -0
  125. package/build/ts/redis/utils.d.ts +20 -0
  126. package/build/ts/redis/utils.d.ts.map +1 -0
  127. package/build/ts/redis/utils.js +27 -0
  128. package/build/ts/redis/utils.js.map +1 -0
  129. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts +2 -0
  130. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts.map +1 -0
  131. package/build/ts/scheduler/__tests__/scheduler.controller.test.js +62 -0
  132. package/build/ts/scheduler/__tests__/scheduler.controller.test.js.map +1 -0
  133. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts +2 -0
  134. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts.map +1 -0
  135. package/build/ts/scheduler/__tests__/scheduler.service.test.js +264 -0
  136. package/build/ts/scheduler/__tests__/scheduler.service.test.js.map +1 -0
  137. package/build/ts/scheduler/dto.d.ts +41 -0
  138. package/build/ts/scheduler/dto.d.ts.map +1 -0
  139. package/build/ts/scheduler/dto.js +115 -0
  140. package/build/ts/scheduler/dto.js.map +1 -0
  141. package/build/ts/scheduler/scheduler.controller.d.ts +32 -0
  142. package/build/ts/scheduler/scheduler.controller.d.ts.map +1 -0
  143. package/build/ts/scheduler/scheduler.controller.js +111 -0
  144. package/build/ts/scheduler/scheduler.controller.js.map +1 -0
  145. package/build/ts/scheduler/scheduler.module.d.ts +3 -0
  146. package/build/ts/scheduler/scheduler.module.d.ts.map +1 -0
  147. package/build/ts/scheduler/scheduler.module.js +23 -0
  148. package/build/ts/scheduler/scheduler.module.js.map +1 -0
  149. package/build/ts/scheduler/scheduler.service.d.ts +63 -0
  150. package/build/ts/scheduler/scheduler.service.d.ts.map +1 -0
  151. package/build/ts/scheduler/scheduler.service.js +239 -0
  152. package/build/ts/scheduler/scheduler.service.js.map +1 -0
  153. package/build/ts/scheduler/types.d.ts +61 -0
  154. package/build/ts/scheduler/types.d.ts.map +1 -0
  155. package/build/ts/scheduler/types.js +2 -0
  156. package/build/ts/scheduler/types.js.map +1 -0
  157. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js +2 -2
  158. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js.map +1 -1
  159. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js +34 -19
  160. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js.map +1 -1
  161. package/build/ts/sessionKeys/__tests__/utils.d.ts.map +1 -1
  162. package/build/ts/sessionKeys/__tests__/utils.js +5 -6
  163. package/build/ts/sessionKeys/__tests__/utils.js.map +1 -1
  164. package/build/ts/sessionKeys/sessionKeys.service.d.ts +4 -3
  165. package/build/ts/sessionKeys/sessionKeys.service.d.ts.map +1 -1
  166. package/build/ts/sessionKeys/sessionKeys.service.js +1 -2
  167. package/build/ts/sessionKeys/sessionKeys.service.js.map +1 -1
  168. package/build/ts/subgraph/__tests__/subgraph.controller.test.js +2 -2
  169. package/build/ts/subgraph/__tests__/subgraph.controller.test.js.map +1 -1
  170. package/build/ts/subgraph/__tests__/subgraph.gateway.test.js +2 -2
  171. package/build/ts/subgraph/__tests__/subgraph.gateway.test.js.map +1 -1
  172. package/build/ts/subgraph/__tests__/subgraph.service.test.js +5 -5
  173. package/build/ts/subgraph/__tests__/subgraph.service.test.js.map +1 -1
  174. package/build/ts/subgraph/dto.d.ts +2 -2
  175. package/build/ts/subgraph/dto.d.ts.map +1 -1
  176. package/build/ts/subgraph/dto.js +3 -3
  177. package/build/ts/subgraph/dto.js.map +1 -1
  178. package/build/ts/subgraph/subgraph.service.d.ts +4 -0
  179. package/build/ts/subgraph/subgraph.service.d.ts.map +1 -1
  180. package/build/ts/subgraph/subgraph.service.js +19 -7
  181. package/build/ts/subgraph/subgraph.service.js.map +1 -1
  182. package/build/ts/subgraph/types.d.ts +2 -2
  183. package/build/ts/subgraph/types.d.ts.map +1 -1
  184. package/build/tsconfig.build.tsbuildinfo +1 -1
  185. package/package.json +40 -32
  186. package/build/tests/e2e.aa.test.d.ts +0 -2
  187. package/build/tests/e2e.aa.test.d.ts.map +0 -1
  188. package/build/tests/e2e.aa.test.js +0 -96
  189. package/build/tests/e2e.aa.test.js.map +0 -1
@@ -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 +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,CAAC,EAAE,KAAK,GAAG,qBAAqB;CA+BpE"}
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
@@ -93,11 +94,11 @@ 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}${mode ? 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
104
  const witnessGenerator = path.resolve(root, `${filename}/${filename}_cpp/${filename}`);
@@ -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":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAQvC;;;;GAIG;AAEI,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB;;OAEG;IACc,MAAM,CAAS;IAEhC;;OAEG;IACK,EAAE,CAA0B;IAEpC;;OAEG;IACH;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,UAAe,EAAE,OAAe;QAC9C,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,OAAe;QAC9B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,OAAe;QAC3B,MAAM,UAAU,GAAoB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACjE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA4B,CAAC,CAAC,CAAC;QAErG,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA6B,CAAC,CAAC,CAAC;QAEvG,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAY,EAAE,IAAY;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAsB,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG;YACnB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI;YAChB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO;YACvB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM;SACrB,CAAC;QAEF,MAAM,QAAQ,GAAG,GAAG,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;QAEpF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,IAAI,QAAQ,SAAS,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,IAAI,QAAQ,OAAO,QAAQ,OAAO,CAAC,CAAC;QAC/E,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,IAAI,QAAQ,QAAQ,QAAQ,EAAE,CAAC,CAAC;QAEvF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;YACvF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,UAAU,CAAC,cAAc,WAAW,IAAI,WAAW,IAAI,uBAAuB,gBAAgB,EAAE,CAC3G,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,OAAO;YACL,IAAI;YACJ,IAAI;YACJ,gBAAgB;SACjB,CAAC;IACJ,CAAC;CACF,CAAA;AA7GY,WAAW;IADvB,UAAU,EAAE;;GACA,WAAW,CA6GvB"}
@@ -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":"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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;IAgCpD;;;OAGG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;OAGG;IACG,sBAAsB,IAAI,OAAO,CAAC,oBAAoB,CAAC;CAe9D"}
@@ -0,0 +1,176 @@
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, ESupportedChains } 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 { 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
+ const networks = Object.values(ESupportedChains);
119
+ const fundsInNetworks = await Promise.all(networks.map(async (network) => {
120
+ try {
121
+ const signer = await getSigner(network);
122
+ const address = await signer.getAddress();
123
+ return signer.provider?.getBalance(signer).then((balance) => ({
124
+ address,
125
+ network,
126
+ balance: formatEther(balance),
127
+ status: true,
128
+ }));
129
+ }
130
+ catch (error) {
131
+ return {
132
+ address: zeroAddress,
133
+ network,
134
+ balance: formatEther(0n),
135
+ status: false,
136
+ error: error.message,
137
+ };
138
+ }
139
+ }));
140
+ return {
141
+ fundsInNetworks: fundsInNetworks.filter(Boolean).map((x) => x),
142
+ };
143
+ }
144
+ /**
145
+ * Check redis client is connected and open
146
+ * @return true if the redis client is connected and open, false otherwise
147
+ */
148
+ checkRedisConnection() {
149
+ return this.redisService.isOpen();
150
+ }
151
+ /**
152
+ * Check coordinator service health
153
+ * @returns an object containing the results of all the health checks
154
+ */
155
+ async checkCoordinatorHealth() {
156
+ const [rapidsnark, zkeysDirectory, coordinatorWalletFunds] = await Promise.all([
157
+ this.checkRapidsnark(),
158
+ this.checkZkeysDirectory(),
159
+ this.checkWalletFunds(),
160
+ ]);
161
+ const isRedisOpen = this.checkRedisConnection();
162
+ return {
163
+ rapidsnark,
164
+ zkeysDirectory,
165
+ coordinatorWalletFunds,
166
+ isRedisOpen,
167
+ };
168
+ }
169
+ };
170
+ HealthService = __decorate([
171
+ Injectable(),
172
+ __metadata("design:paramtypes", [FileService,
173
+ RedisService])
174
+ ], HealthService);
175
+ export { HealthService };
176
+ //# 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,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,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,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,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,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;gBAE1C,OAAO,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC5D,OAAO;oBACP,OAAO;oBACP,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;oBAC7B,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,WAAW;oBACpB,OAAO;oBACP,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;oBACxB,MAAM,EAAE,KAAK;oBACb,KAAK,EAAG,KAAe,CAAC,OAAO;iBAChC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO;YACL,eAAe,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAE,CAAC;SAChE,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;AAnKY,aAAa;IADzB,UAAU,EAAE;qCAQqB,WAAW;QACV,YAAY;GARlC,aAAa,CAmKzB"}