@maci-protocol/coordinator 0.0.0-ci.00107eb

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 (345) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/LICENSE +21 -0
  3. package/README.md +103 -0
  4. package/build/hardhat.config.cjs +39 -0
  5. package/build/hardhat.config.cjs.map +1 -0
  6. package/build/hardhat.config.d.cts +27 -0
  7. package/build/hardhat.config.d.cts.map +1 -0
  8. package/build/scripts/generateKeypair.d.ts +2 -0
  9. package/build/scripts/generateKeypair.d.ts.map +1 -0
  10. package/build/scripts/generateKeypair.js +25 -0
  11. package/build/scripts/generateKeypair.js.map +1 -0
  12. package/build/scripts/generateMaciKeyPair.d.ts +2 -0
  13. package/build/scripts/generateMaciKeyPair.d.ts.map +1 -0
  14. package/build/scripts/generateMaciKeyPair.js +3 -0
  15. package/build/scripts/generateMaciKeyPair.js.map +1 -0
  16. package/build/scripts/getAuthHeader.d.ts +2 -0
  17. package/build/scripts/getAuthHeader.d.ts.map +1 -0
  18. package/build/scripts/getAuthHeader.js +31 -0
  19. package/build/scripts/getAuthHeader.js.map +1 -0
  20. package/build/tests/constants.d.ts +7 -0
  21. package/build/tests/constants.d.ts.map +1 -0
  22. package/build/tests/constants.js +11 -0
  23. package/build/tests/constants.js.map +1 -0
  24. package/build/tests/e2e.deploy.test.d.ts +2 -0
  25. package/build/tests/e2e.deploy.test.d.ts.map +1 -0
  26. package/build/tests/e2e.deploy.test.js +264 -0
  27. package/build/tests/e2e.deploy.test.js.map +1 -0
  28. package/build/tests/e2e.redis.test.d.ts +2 -0
  29. package/build/tests/e2e.redis.test.d.ts.map +1 -0
  30. package/build/tests/e2e.redis.test.js +118 -0
  31. package/build/tests/e2e.redis.test.js.map +1 -0
  32. package/build/tests/utils.d.ts +20 -0
  33. package/build/tests/utils.d.ts.map +1 -0
  34. package/build/tests/utils.js +55 -0
  35. package/build/tests/utils.js.map +1 -0
  36. package/build/ts/app.module.d.ts +3 -0
  37. package/build/ts/app.module.d.ts.map +1 -0
  38. package/build/ts/app.module.js +42 -0
  39. package/build/ts/app.module.js.map +1 -0
  40. package/build/ts/auth/AccountSignatureGuard.service.d.ts +44 -0
  41. package/build/ts/auth/AccountSignatureGuard.service.d.ts.map +1 -0
  42. package/build/ts/auth/AccountSignatureGuard.service.js +96 -0
  43. package/build/ts/auth/AccountSignatureGuard.service.js.map +1 -0
  44. package/build/ts/auth/__tests__/AccountSignatureGuard.test.d.ts +2 -0
  45. package/build/ts/auth/__tests__/AccountSignatureGuard.test.d.ts.map +1 -0
  46. package/build/ts/auth/__tests__/AccountSignatureGuard.test.js +113 -0
  47. package/build/ts/auth/__tests__/AccountSignatureGuard.test.js.map +1 -0
  48. package/build/ts/common/__tests__/common.test.d.ts +2 -0
  49. package/build/ts/common/__tests__/common.test.d.ts.map +1 -0
  50. package/build/ts/common/__tests__/common.test.js +77 -0
  51. package/build/ts/common/__tests__/common.test.js.map +1 -0
  52. package/build/ts/common/accountAbstraction.d.ts +38 -0
  53. package/build/ts/common/accountAbstraction.d.ts.map +1 -0
  54. package/build/ts/common/accountAbstraction.js +83 -0
  55. package/build/ts/common/accountAbstraction.js.map +1 -0
  56. package/build/ts/common/chain.d.ts +22 -0
  57. package/build/ts/common/chain.d.ts.map +1 -0
  58. package/build/ts/common/chain.js +37 -0
  59. package/build/ts/common/chain.js.map +1 -0
  60. package/build/ts/common/coordinatorKeypair.d.ts +7 -0
  61. package/build/ts/common/coordinatorKeypair.d.ts.map +1 -0
  62. package/build/ts/common/coordinatorKeypair.js +14 -0
  63. package/build/ts/common/coordinatorKeypair.js.map +1 -0
  64. package/build/ts/common/errors.d.ts +36 -0
  65. package/build/ts/common/errors.d.ts.map +1 -0
  66. package/build/ts/common/errors.js +37 -0
  67. package/build/ts/common/errors.js.map +1 -0
  68. package/build/ts/common/http.d.ts +6 -0
  69. package/build/ts/common/http.d.ts.map +1 -0
  70. package/build/ts/common/http.js +49 -0
  71. package/build/ts/common/http.js.map +1 -0
  72. package/build/ts/common/index.d.ts +6 -0
  73. package/build/ts/common/index.d.ts.map +1 -0
  74. package/build/ts/common/index.js +6 -0
  75. package/build/ts/common/index.js.map +1 -0
  76. package/build/ts/common/networks.d.ts +10 -0
  77. package/build/ts/common/networks.d.ts.map +1 -0
  78. package/build/ts/common/networks.js +61 -0
  79. package/build/ts/common/networks.js.map +1 -0
  80. package/build/ts/common/types.d.ts +8 -0
  81. package/build/ts/common/types.d.ts.map +1 -0
  82. package/build/ts/common/types.js +2 -0
  83. package/build/ts/common/types.js.map +1 -0
  84. package/build/ts/crypto/__tests__/crypto.service.test.d.ts +2 -0
  85. package/build/ts/crypto/__tests__/crypto.service.test.d.ts.map +1 -0
  86. package/build/ts/crypto/__tests__/crypto.service.test.js +26 -0
  87. package/build/ts/crypto/__tests__/crypto.service.test.js.map +1 -0
  88. package/build/ts/crypto/crypto.module.d.ts +3 -0
  89. package/build/ts/crypto/crypto.module.d.ts.map +1 -0
  90. package/build/ts/crypto/crypto.module.js +18 -0
  91. package/build/ts/crypto/crypto.module.js.map +1 -0
  92. package/build/ts/crypto/crypto.service.d.ts +31 -0
  93. package/build/ts/crypto/crypto.service.d.ts.map +1 -0
  94. package/build/ts/crypto/crypto.service.js +68 -0
  95. package/build/ts/crypto/crypto.service.js.map +1 -0
  96. package/build/ts/deployer/__tests__/deployer.controller.test.d.ts +2 -0
  97. package/build/ts/deployer/__tests__/deployer.controller.test.d.ts.map +1 -0
  98. package/build/ts/deployer/__tests__/deployer.controller.test.js +82 -0
  99. package/build/ts/deployer/__tests__/deployer.controller.test.js.map +1 -0
  100. package/build/ts/deployer/__tests__/deployer.service.test.d.ts +2 -0
  101. package/build/ts/deployer/__tests__/deployer.service.test.d.ts.map +1 -0
  102. package/build/ts/deployer/__tests__/deployer.service.test.js +272 -0
  103. package/build/ts/deployer/__tests__/deployer.service.test.js.map +1 -0
  104. package/build/ts/deployer/__tests__/utils.d.ts +61 -0
  105. package/build/ts/deployer/__tests__/utils.d.ts.map +1 -0
  106. package/build/ts/deployer/__tests__/utils.js +122 -0
  107. package/build/ts/deployer/__tests__/utils.js.map +1 -0
  108. package/build/ts/deployer/constants.d.ts +13 -0
  109. package/build/ts/deployer/constants.d.ts.map +1 -0
  110. package/build/ts/deployer/constants.js +13 -0
  111. package/build/ts/deployer/constants.js.map +1 -0
  112. package/build/ts/deployer/deployer.controller.d.ts +34 -0
  113. package/build/ts/deployer/deployer.controller.d.ts.map +1 -0
  114. package/build/ts/deployer/deployer.controller.js +102 -0
  115. package/build/ts/deployer/deployer.controller.js.map +1 -0
  116. package/build/ts/deployer/deployer.module.d.ts +3 -0
  117. package/build/ts/deployer/deployer.module.d.ts.map +1 -0
  118. package/build/ts/deployer/deployer.module.js +23 -0
  119. package/build/ts/deployer/deployer.module.js.map +1 -0
  120. package/build/ts/deployer/deployer.service.d.ts +85 -0
  121. package/build/ts/deployer/deployer.service.d.ts.map +1 -0
  122. package/build/ts/deployer/deployer.service.js +505 -0
  123. package/build/ts/deployer/deployer.service.js.map +1 -0
  124. package/build/ts/deployer/dto.d.ts +46 -0
  125. package/build/ts/deployer/dto.d.ts.map +1 -0
  126. package/build/ts/deployer/dto.js +125 -0
  127. package/build/ts/deployer/dto.js.map +1 -0
  128. package/build/ts/deployer/types.d.ts +351 -0
  129. package/build/ts/deployer/types.d.ts.map +1 -0
  130. package/build/ts/deployer/types.js +2 -0
  131. package/build/ts/deployer/types.js.map +1 -0
  132. package/build/ts/file/__tests__/file.service.test.d.ts +2 -0
  133. package/build/ts/file/__tests__/file.service.test.d.ts.map +1 -0
  134. package/build/ts/file/__tests__/file.service.test.js +77 -0
  135. package/build/ts/file/__tests__/file.service.test.js.map +1 -0
  136. package/build/ts/file/file.module.d.ts +3 -0
  137. package/build/ts/file/file.module.d.ts.map +1 -0
  138. package/build/ts/file/file.module.js +18 -0
  139. package/build/ts/file/file.module.js.map +1 -0
  140. package/build/ts/file/file.service.d.ts +63 -0
  141. package/build/ts/file/file.service.d.ts.map +1 -0
  142. package/build/ts/file/file.service.js +121 -0
  143. package/build/ts/file/file.service.js.map +1 -0
  144. package/build/ts/file/types.d.ts +36 -0
  145. package/build/ts/file/types.d.ts.map +1 -0
  146. package/build/ts/file/types.js +2 -0
  147. package/build/ts/file/types.js.map +1 -0
  148. package/build/ts/health/__tests__/health.controller.test.d.ts +2 -0
  149. package/build/ts/health/__tests__/health.controller.test.d.ts.map +1 -0
  150. package/build/ts/health/__tests__/health.controller.test.js +52 -0
  151. package/build/ts/health/__tests__/health.controller.test.js.map +1 -0
  152. package/build/ts/health/__tests__/health.service.test.d.ts +2 -0
  153. package/build/ts/health/__tests__/health.service.test.d.ts.map +1 -0
  154. package/build/ts/health/__tests__/health.service.test.js +101 -0
  155. package/build/ts/health/__tests__/health.service.test.js.map +1 -0
  156. package/build/ts/health/health.controller.d.ts +16 -0
  157. package/build/ts/health/health.controller.d.ts.map +1 -0
  158. package/build/ts/health/health.controller.js +43 -0
  159. package/build/ts/health/health.controller.js.map +1 -0
  160. package/build/ts/health/health.module.d.ts +3 -0
  161. package/build/ts/health/health.module.d.ts.map +1 -0
  162. package/build/ts/health/health.module.js +22 -0
  163. package/build/ts/health/health.module.js.map +1 -0
  164. package/build/ts/health/health.service.d.ts +42 -0
  165. package/build/ts/health/health.service.d.ts.map +1 -0
  166. package/build/ts/health/health.service.js +176 -0
  167. package/build/ts/health/health.service.js.map +1 -0
  168. package/build/ts/health/types.d.ts +87 -0
  169. package/build/ts/health/types.d.ts.map +1 -0
  170. package/build/ts/health/types.js +2 -0
  171. package/build/ts/health/types.js.map +1 -0
  172. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.d.ts +11 -0
  173. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.d.ts.map +1 -0
  174. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.js +12 -0
  175. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.js.map +1 -0
  176. package/build/ts/jest/setup.d.ts +8 -0
  177. package/build/ts/jest/setup.d.ts.map +1 -0
  178. package/build/ts/jest/setup.js +2 -0
  179. package/build/ts/jest/setup.js.map +1 -0
  180. package/build/ts/jest/transform.d.ts +8 -0
  181. package/build/ts/jest/transform.d.ts.map +1 -0
  182. package/build/ts/jest/transform.js +10 -0
  183. package/build/ts/jest/transform.js.map +1 -0
  184. package/build/ts/main.d.ts +2 -0
  185. package/build/ts/main.d.ts.map +1 -0
  186. package/build/ts/main.js +46 -0
  187. package/build/ts/main.js.map +1 -0
  188. package/build/ts/proof/__tests__/proof.controller.test.d.ts +2 -0
  189. package/build/ts/proof/__tests__/proof.controller.test.d.ts.map +1 -0
  190. package/build/ts/proof/__tests__/proof.controller.test.js +90 -0
  191. package/build/ts/proof/__tests__/proof.controller.test.js.map +1 -0
  192. package/build/ts/proof/__tests__/proof.gateway.test.d.ts +2 -0
  193. package/build/ts/proof/__tests__/proof.gateway.test.d.ts.map +1 -0
  194. package/build/ts/proof/__tests__/proof.gateway.test.js +63 -0
  195. package/build/ts/proof/__tests__/proof.gateway.test.js.map +1 -0
  196. package/build/ts/proof/__tests__/proof.service.test.d.ts +2 -0
  197. package/build/ts/proof/__tests__/proof.service.test.d.ts.map +1 -0
  198. package/build/ts/proof/__tests__/proof.service.test.js +84 -0
  199. package/build/ts/proof/__tests__/proof.service.test.js.map +1 -0
  200. package/build/ts/proof/dto.d.ts +70 -0
  201. package/build/ts/proof/dto.d.ts.map +1 -0
  202. package/build/ts/proof/dto.js +261 -0
  203. package/build/ts/proof/dto.js.map +1 -0
  204. package/build/ts/proof/proof.controller.d.ts +47 -0
  205. package/build/ts/proof/proof.controller.d.ts.map +1 -0
  206. package/build/ts/proof/proof.controller.js +158 -0
  207. package/build/ts/proof/proof.controller.js.map +1 -0
  208. package/build/ts/proof/proof.gateway.d.ts +35 -0
  209. package/build/ts/proof/proof.gateway.d.ts.map +1 -0
  210. package/build/ts/proof/proof.gateway.js +93 -0
  211. package/build/ts/proof/proof.gateway.js.map +1 -0
  212. package/build/ts/proof/proof.module.d.ts +3 -0
  213. package/build/ts/proof/proof.module.d.ts.map +1 -0
  214. package/build/ts/proof/proof.module.js +25 -0
  215. package/build/ts/proof/proof.module.js.map +1 -0
  216. package/build/ts/proof/proof.service.d.ts +52 -0
  217. package/build/ts/proof/proof.service.d.ts.map +1 -0
  218. package/build/ts/proof/proof.service.js +164 -0
  219. package/build/ts/proof/proof.service.js.map +1 -0
  220. package/build/ts/proof/types.d.ts +144 -0
  221. package/build/ts/proof/types.d.ts.map +1 -0
  222. package/build/ts/proof/types.js +11 -0
  223. package/build/ts/proof/types.js.map +1 -0
  224. package/build/ts/redis/__tests__/redis.service.test.d.ts +2 -0
  225. package/build/ts/redis/__tests__/redis.service.test.d.ts.map +1 -0
  226. package/build/ts/redis/__tests__/redis.service.test.js +148 -0
  227. package/build/ts/redis/__tests__/redis.service.test.js.map +1 -0
  228. package/build/ts/redis/redis.module.d.ts +3 -0
  229. package/build/ts/redis/redis.module.d.ts.map +1 -0
  230. package/build/ts/redis/redis.module.js +18 -0
  231. package/build/ts/redis/redis.module.js.map +1 -0
  232. package/build/ts/redis/redis.service.d.ts +53 -0
  233. package/build/ts/redis/redis.service.d.ts.map +1 -0
  234. package/build/ts/redis/redis.service.js +99 -0
  235. package/build/ts/redis/redis.service.js.map +1 -0
  236. package/build/ts/redis/types.d.ts +66 -0
  237. package/build/ts/redis/types.d.ts.map +1 -0
  238. package/build/ts/redis/types.js +2 -0
  239. package/build/ts/redis/types.js.map +1 -0
  240. package/build/ts/redis/utils.d.ts +20 -0
  241. package/build/ts/redis/utils.d.ts.map +1 -0
  242. package/build/ts/redis/utils.js +27 -0
  243. package/build/ts/redis/utils.js.map +1 -0
  244. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts +2 -0
  245. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts.map +1 -0
  246. package/build/ts/scheduler/__tests__/scheduler.controller.test.js +62 -0
  247. package/build/ts/scheduler/__tests__/scheduler.controller.test.js.map +1 -0
  248. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts +2 -0
  249. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts.map +1 -0
  250. package/build/ts/scheduler/__tests__/scheduler.service.test.js +369 -0
  251. package/build/ts/scheduler/__tests__/scheduler.service.test.js.map +1 -0
  252. package/build/ts/scheduler/dto.d.ts +41 -0
  253. package/build/ts/scheduler/dto.d.ts.map +1 -0
  254. package/build/ts/scheduler/dto.js +115 -0
  255. package/build/ts/scheduler/dto.js.map +1 -0
  256. package/build/ts/scheduler/scheduler.controller.d.ts +32 -0
  257. package/build/ts/scheduler/scheduler.controller.d.ts.map +1 -0
  258. package/build/ts/scheduler/scheduler.controller.js +118 -0
  259. package/build/ts/scheduler/scheduler.controller.js.map +1 -0
  260. package/build/ts/scheduler/scheduler.module.d.ts +3 -0
  261. package/build/ts/scheduler/scheduler.module.d.ts.map +1 -0
  262. package/build/ts/scheduler/scheduler.module.js +24 -0
  263. package/build/ts/scheduler/scheduler.module.js.map +1 -0
  264. package/build/ts/scheduler/scheduler.service.d.ts +71 -0
  265. package/build/ts/scheduler/scheduler.service.d.ts.map +1 -0
  266. package/build/ts/scheduler/scheduler.service.js +297 -0
  267. package/build/ts/scheduler/scheduler.service.js.map +1 -0
  268. package/build/ts/scheduler/types.d.ts +65 -0
  269. package/build/ts/scheduler/types.d.ts.map +1 -0
  270. package/build/ts/scheduler/types.js +2 -0
  271. package/build/ts/scheduler/types.js.map +1 -0
  272. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.d.ts +2 -0
  273. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.d.ts.map +1 -0
  274. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js +44 -0
  275. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js.map +1 -0
  276. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.d.ts +2 -0
  277. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.d.ts.map +1 -0
  278. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js +76 -0
  279. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js.map +1 -0
  280. package/build/ts/sessionKeys/__tests__/utils.d.ts +25 -0
  281. package/build/ts/sessionKeys/__tests__/utils.d.ts.map +1 -0
  282. package/build/ts/sessionKeys/__tests__/utils.js +65 -0
  283. package/build/ts/sessionKeys/__tests__/utils.js.map +1 -0
  284. package/build/ts/sessionKeys/dto.d.ts +11 -0
  285. package/build/ts/sessionKeys/dto.d.ts.map +1 -0
  286. package/build/ts/sessionKeys/dto.js +29 -0
  287. package/build/ts/sessionKeys/dto.js.map +1 -0
  288. package/build/ts/sessionKeys/provider/KernelEIP1193Provider.d.ts +53 -0
  289. package/build/ts/sessionKeys/provider/KernelEIP1193Provider.d.ts.map +1 -0
  290. package/build/ts/sessionKeys/provider/KernelEIP1193Provider.js +105 -0
  291. package/build/ts/sessionKeys/provider/KernelEIP1193Provider.js.map +1 -0
  292. package/build/ts/sessionKeys/sessionKeys.controller.d.ts +26 -0
  293. package/build/ts/sessionKeys/sessionKeys.controller.d.ts.map +1 -0
  294. package/build/ts/sessionKeys/sessionKeys.controller.js +74 -0
  295. package/build/ts/sessionKeys/sessionKeys.controller.js.map +1 -0
  296. package/build/ts/sessionKeys/sessionKeys.module.d.ts +3 -0
  297. package/build/ts/sessionKeys/sessionKeys.module.d.ts.map +1 -0
  298. package/build/ts/sessionKeys/sessionKeys.module.js +23 -0
  299. package/build/ts/sessionKeys/sessionKeys.module.js.map +1 -0
  300. package/build/ts/sessionKeys/sessionKeys.service.d.ts +62 -0
  301. package/build/ts/sessionKeys/sessionKeys.service.d.ts.map +1 -0
  302. package/build/ts/sessionKeys/sessionKeys.service.js +121 -0
  303. package/build/ts/sessionKeys/sessionKeys.service.js.map +1 -0
  304. package/build/ts/sessionKeys/types.d.ts +11 -0
  305. package/build/ts/sessionKeys/types.d.ts.map +1 -0
  306. package/build/ts/sessionKeys/types.js +2 -0
  307. package/build/ts/sessionKeys/types.js.map +1 -0
  308. package/build/ts/subgraph/__tests__/subgraph.controller.test.d.ts +2 -0
  309. package/build/ts/subgraph/__tests__/subgraph.controller.test.d.ts.map +1 -0
  310. package/build/ts/subgraph/__tests__/subgraph.controller.test.js +50 -0
  311. package/build/ts/subgraph/__tests__/subgraph.controller.test.js.map +1 -0
  312. package/build/ts/subgraph/__tests__/subgraph.gateway.test.d.ts +2 -0
  313. package/build/ts/subgraph/__tests__/subgraph.gateway.test.d.ts.map +1 -0
  314. package/build/ts/subgraph/__tests__/subgraph.gateway.test.js +83 -0
  315. package/build/ts/subgraph/__tests__/subgraph.gateway.test.js.map +1 -0
  316. package/build/ts/subgraph/__tests__/subgraph.service.test.d.ts +2 -0
  317. package/build/ts/subgraph/__tests__/subgraph.service.test.d.ts.map +1 -0
  318. package/build/ts/subgraph/__tests__/subgraph.service.test.js +58 -0
  319. package/build/ts/subgraph/__tests__/subgraph.service.test.js.map +1 -0
  320. package/build/ts/subgraph/dto.d.ts +27 -0
  321. package/build/ts/subgraph/dto.d.ts.map +1 -0
  322. package/build/ts/subgraph/dto.js +83 -0
  323. package/build/ts/subgraph/dto.js.map +1 -0
  324. package/build/ts/subgraph/subgraph.controller.d.ts +24 -0
  325. package/build/ts/subgraph/subgraph.controller.d.ts.map +1 -0
  326. package/build/ts/subgraph/subgraph.controller.js +71 -0
  327. package/build/ts/subgraph/subgraph.controller.js.map +1 -0
  328. package/build/ts/subgraph/subgraph.gateway.d.ts +35 -0
  329. package/build/ts/subgraph/subgraph.gateway.d.ts.map +1 -0
  330. package/build/ts/subgraph/subgraph.gateway.js +93 -0
  331. package/build/ts/subgraph/subgraph.gateway.js.map +1 -0
  332. package/build/ts/subgraph/subgraph.module.d.ts +3 -0
  333. package/build/ts/subgraph/subgraph.module.d.ts.map +1 -0
  334. package/build/ts/subgraph/subgraph.module.js +23 -0
  335. package/build/ts/subgraph/subgraph.module.js.map +1 -0
  336. package/build/ts/subgraph/subgraph.service.d.ts +24 -0
  337. package/build/ts/subgraph/subgraph.service.d.ts.map +1 -0
  338. package/build/ts/subgraph/subgraph.service.js +119 -0
  339. package/build/ts/subgraph/subgraph.service.js.map +1 -0
  340. package/build/ts/subgraph/types.d.ts +93 -0
  341. package/build/ts/subgraph/types.d.ts.map +1 -0
  342. package/build/ts/subgraph/types.js +24 -0
  343. package/build/ts/subgraph/types.js.map +1 -0
  344. package/build/tsconfig.build.tsbuildinfo +1 -0
  345. package/package.json +131 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployer.controller.js","sourceRoot":"","sources":["../../../ts/deployer/deployer.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,iDAAiD;AACjD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,OAAO,CAAC;AAM5E,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAWA;IAV7B;;OAEG;IACc,MAAM,GAAG,IAAI,MAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAE9D;;;;OAIG;IACH,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAEjE;;;;;OAKG;IAUG,AAAN,KAAK,CAAC,mBAAmB,CAAS,IAAkC;QAClE,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;YAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACnC,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IAcG,AAAN,KAAK,CAAC,UAAU,CAAS,IAAkC;QACzD,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;YAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACnC,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAhCO;IATL,OAAO,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,+CAA+C,EAAE,CAAC;IACzG,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IACxF,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,uDAAuD,EAAE,CAAC;IACrH,WAAW,CAAC;QACX,MAAM,EAAE,UAAU,CAAC,qBAAqB;QACxC,WAAW,EAAE,8FAA8F;KAC5G,CAAC;IACD,IAAI,CAAC,MAAM,CAAC;IACc,WAAA,IAAI,EAAE,CAAA;;qCAAO,4BAA4B;;6DAKnE;AAqBK;IAbL,OAAO,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,oCAAoC,EAAE,CAAC;IAC9F,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IACxF,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,uDAAuD,EAAE,CAAC;IACrH,WAAW,CAAC;QACX,MAAM,EAAE,UAAU,CAAC,mBAAmB;QACtC,WAAW,EAAE,uEAAuE;KACrF,CAAC;IACD,WAAW,CAAC;QACX,MAAM,EAAE,UAAU,CAAC,qBAAqB;QACxC,WAAW,EAAE,+FAA+F;KAC7G,CAAC;IACD,IAAI,CAAC,MAAM,CAAC;IACK,WAAA,IAAI,EAAE,CAAA;;qCAAO,4BAA4B;;oDAK1D;AA3DU,kBAAkB;IAJ9B,OAAO,CAAC,WAAW,CAAC;IACpB,aAAa,EAAE;IACf,UAAU,CAAC,WAAW,CAAC;IACvB,SAAS,CAAC,qBAAqB,CAAC;qCAYe,eAAe;GAXlD,kBAAkB,CA4D9B"}
@@ -0,0 +1,3 @@
1
+ export declare class DeployerModule {
2
+ }
3
+ //# sourceMappingURL=deployer.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployer.module.d.ts","sourceRoot":"","sources":["../../../ts/deployer/deployer.module.ts"],"names":[],"mappings":"AASA,qBAKa,cAAc;CAAG"}
@@ -0,0 +1,23 @@
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 { CryptoModule } from "../crypto/crypto.module";
9
+ import { FileModule } from "../file/file.module";
10
+ import { SessionKeysModule } from "../sessionKeys/sessionKeys.module";
11
+ import { DeployerController } from "./deployer.controller";
12
+ import { DeployerService } from "./deployer.service";
13
+ let DeployerModule = class DeployerModule {
14
+ };
15
+ DeployerModule = __decorate([
16
+ Module({
17
+ imports: [FileModule, CryptoModule, SessionKeysModule],
18
+ controllers: [DeployerController],
19
+ providers: [DeployerService],
20
+ })
21
+ ], DeployerModule);
22
+ export { DeployerModule };
23
+ //# sourceMappingURL=deployer.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployer.module.js","sourceRoot":"","sources":["../../../ts/deployer/deployer.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAO9C,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAL1B,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,iBAAiB,CAAC;QACtD,WAAW,EAAE,CAAC,kBAAkB,CAAC;QACjC,SAAS,EAAE,CAAC,eAAe,CAAC;KAC7B,CAAC;GACW,cAAc,CAAG"}
@@ -0,0 +1,85 @@
1
+ import { EInitialVoiceCreditProxies, EMode, ISetVerifyingKeysArgs, BasePolicy, ConstantInitialVoiceCreditProxy, ConstantInitialVoiceCreditProxyFactory, EInitialVoiceCreditProxiesFactories, ESupportedChains } from "@maci-protocol/sdk";
2
+ import { Signer } from "ethers";
3
+ import { type Hex } from "viem";
4
+ import { FileService } from "../file/file.service";
5
+ import { SessionKeysService } from "../sessionKeys/sessionKeys.service";
6
+ import { IDeployMaciArgs, IDeployPollArgs, IInitialVoiceCreditProxyArgs, IVerifyingKeysRegistryArgs, IDeployPolicyConfig } from "./types";
7
+ /**
8
+ * DeployerService is responsible for deploying contracts.
9
+ */
10
+ export declare class DeployerService {
11
+ private readonly sessionKeysService;
12
+ private readonly fileService;
13
+ /**
14
+ * Contract storage instance
15
+ */
16
+ private readonly storage;
17
+ /**
18
+ * Create a new instance of DeployerService
19
+ *
20
+ * @param fileService - file service
21
+ */
22
+ constructor(sessionKeysService: SessionKeysService, fileService: FileService);
23
+ /**
24
+ * Get the policy contract object
25
+ * always deploy and save it
26
+ *
27
+ * @param signer - the signer
28
+ * @param network - the network
29
+ * @param policyConfig - the policy configuration parameters
30
+ * @returns - the policy contract
31
+ */
32
+ deployAndSavePolicy(signer: Signer, network: ESupportedChains, policyConfig: IDeployPolicyConfig): Promise<BasePolicy>;
33
+ /**
34
+ * Get the voice credit proxy factory contract object
35
+ * always deploy and save it
36
+ *
37
+ * @param signer - the signer
38
+ * @param voiceCreditProxyFactoryType - the voice credit proxy factory type
39
+ * @param network - the network
40
+ * @returns - the voice credit proxy factory contract
41
+ */
42
+ deployAndSaveVoiceCreditProxyFactory(signer: Signer, voiceCreditProxyFactoryType: EInitialVoiceCreditProxiesFactories, network: ESupportedChains): Promise<ConstantInitialVoiceCreditProxyFactory>;
43
+ /**
44
+ * Get the voice credit proxy contract object
45
+ * always deploy and save it
46
+ *
47
+ * @param signer - the signer
48
+ * @param voiceCreditProxyType - the voice credit proxy type
49
+ * @param network - the network
50
+ * @param initialVoiceCreditProxyFactory - the initial voice credit proxy factory
51
+ * @param args - the args
52
+ * @returns - the voice credit proxy contract
53
+ */
54
+ deployAndSaveVoiceCreditProxy(signer: Signer, voiceCreditProxyType: EInitialVoiceCreditProxies, network: ESupportedChains, initialVoiceCreditProxyFactory: ConstantInitialVoiceCreditProxyFactory, args?: IInitialVoiceCreditProxyArgs): Promise<ConstantInitialVoiceCreditProxy>;
55
+ /**
56
+ * Get verifying keys arguments (specially zkey paths)
57
+ * @param signer - the signer
58
+ * @param verifyingKeysRegistryContract - the deployed verifyingKey registry contract
59
+ * @param verifyingKeysRegistryArgs - the arguments send to the endpoint
60
+ * @param mode - use QV or NON_QV
61
+ * @returns SetVerifyingKeysArgs
62
+ */
63
+ getVerifyingKeysArgs(signer: Signer, verifyingKeysRegistryAddress: Hex, verifyingKeysRegistryArgs: IVerifyingKeysRegistryArgs, modes: EMode[]): Promise<ISetVerifyingKeysArgs>;
64
+ /**
65
+ * Deploy MACI contracts
66
+ *
67
+ * @param args - deploy maci arguments
68
+ * @param options - ws hooks
69
+ * @returns - deployed maci contract
70
+ * @returns the address of the deployed maci contract
71
+ */
72
+ deployMaci({ approval, sessionKeyAddress, chain, config }: IDeployMaciArgs): Promise<{
73
+ address: string;
74
+ }>;
75
+ /**
76
+ * Deploy a poll
77
+ *
78
+ * @param args - deploy poll dto
79
+ * @returns poll id
80
+ */
81
+ deployPoll({ approval, sessionKeyAddress, chain, config }: IDeployPollArgs): Promise<{
82
+ pollId: string;
83
+ }>;
84
+ }
85
+ //# sourceMappingURL=deployer.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployer.service.d.ts","sourceRoot":"","sources":["../../../ts/deployer/deployer.service.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,0BAA0B,EAC1B,KAAK,EAEL,qBAAqB,EAarB,UAAU,EAGV,+BAA+B,EA0B/B,sCAAsC,EACtC,mCAAmC,EACnC,gBAAgB,EAGjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAgB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAIhC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EACL,eAAe,EACf,eAAe,EACf,4BAA4B,EAU5B,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBACa,eAAe;IAYxB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAZ9B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAE1C;;;;OAIG;gBAEgB,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,WAAW;IAK3C;;;;;;;;OAQG;IACG,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,mBAAmB,GAChC,OAAO,CAAC,UAAU,CAAC;IAqTtB;;;;;;;;OAQG;IACG,oCAAoC,CACxC,MAAM,EAAE,MAAM,EACd,2BAA2B,EAAE,mCAAmC,EAChE,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,sCAAsC,CAAC;IAsBlD;;;;;;;;;;OAUG;IACG,6BAA6B,CACjC,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,0BAA0B,EAChD,OAAO,EAAE,gBAAgB,EACzB,8BAA8B,EAAE,sCAAsC,EACtE,IAAI,CAAC,EAAE,4BAA4B,GAClC,OAAO,CAAC,+BAA+B,CAAC;IA4B3C;;;;;;;OAOG;IACG,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,4BAA4B,EAAE,GAAG,EACjC,yBAAyB,EAAE,0BAA0B,EACrD,KAAK,EAAE,KAAK,EAAE,GACb,OAAO,CAAC,qBAAqB,CAAC;IA2DjC;;;;;;;OAOG;IACG,UAAU,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAwD/G;;;;;OAKG;IACG,UAAU,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAwG/G"}
@@ -0,0 +1,505 @@
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 { ContractStorage, EPolicies, VerifyingKeysRegistry__factory as VerifyingKeysRegistryFactory, Verifier__factory as VerifierFactory, MessageProcessor__factory as MessageProcessorFactory, Tally__factory as TallyFactory, Poll__factory as PollFactory, MACI__factory as MACIFactory, EContracts, EInitialVoiceCreditProxies, EMode, deployPoll, extractAllVerifyingKeys, deployConstantInitialVoiceCreditProxy, deployFreeForAllSignUpPolicy, deployERC20VotesPolicy, deployAnonAadhaarPolicy, deploySignupTokenPolicy, deployMerkleProofPolicy, deploySemaphoreSignupPolicy, deployZupassSignUpPolicy, deployGitcoinPassportPolicy, deployEASSignUpPolicy, deployHatsSignupPolicy, deployMaci, setVerifyingKeys, generateEmptyBallotRoots, getDeployedPolicyProxyFactories, ECheckerFactories, EPolicyFactories, deployConstantInitialVoiceCreditProxyFactory, EInitialVoiceCreditProxiesFactories, } from "@maci-protocol/sdk";
11
+ import { Injectable } from "@nestjs/common";
12
+ import { BaseContract } from "ethers";
13
+ import { ErrorCodes } from "../common";
14
+ import { getCoordinatorKeypair } from "../common/coordinatorKeypair";
15
+ import { FileService } from "../file/file.service";
16
+ import { SessionKeysService } from "../sessionKeys/sessionKeys.service";
17
+ /**
18
+ * DeployerService is responsible for deploying contracts.
19
+ */
20
+ let DeployerService = class DeployerService {
21
+ sessionKeysService;
22
+ fileService;
23
+ /**
24
+ * Contract storage instance
25
+ */
26
+ storage;
27
+ /**
28
+ * Create a new instance of DeployerService
29
+ *
30
+ * @param fileService - file service
31
+ */
32
+ constructor(sessionKeysService, fileService) {
33
+ this.sessionKeysService = sessionKeysService;
34
+ this.fileService = fileService;
35
+ this.storage = ContractStorage.getInstance();
36
+ }
37
+ /**
38
+ * Get the policy contract object
39
+ * always deploy and save it
40
+ *
41
+ * @param signer - the signer
42
+ * @param network - the network
43
+ * @param policyConfig - the policy configuration parameters
44
+ * @returns - the policy contract
45
+ */
46
+ async deployAndSavePolicy(signer, network, policyConfig) {
47
+ let policyContract;
48
+ let checkerContract;
49
+ let policyFactory;
50
+ let checkFactory;
51
+ let policyFactoryName;
52
+ let checkFactoryName;
53
+ let factoryIsSaved;
54
+ let checkerIsSaved;
55
+ const { policyType, checkerType, args } = policyConfig;
56
+ // based on the policy type, we need to deploy the correct policy
57
+ switch (policyType) {
58
+ case EPolicies.FreeForAll: {
59
+ policyFactoryName = EPolicyFactories.FreeForAll;
60
+ checkFactoryName = ECheckerFactories.FreeForAll;
61
+ const factories = await getDeployedPolicyProxyFactories({
62
+ policy: policyFactoryName,
63
+ checker: checkFactoryName,
64
+ network,
65
+ signer,
66
+ });
67
+ factoryIsSaved = !!factories.policy;
68
+ checkerIsSaved = !!factories.checker;
69
+ [policyContract, checkerContract, policyFactory, checkFactory] = await deployFreeForAllSignUpPolicy(factories, signer, true);
70
+ break;
71
+ }
72
+ case EPolicies.EAS: {
73
+ policyFactoryName = EPolicyFactories.EAS;
74
+ checkFactoryName = ECheckerFactories.EAS;
75
+ const factories = await getDeployedPolicyProxyFactories({
76
+ policy: policyFactoryName,
77
+ checker: checkFactoryName,
78
+ network,
79
+ signer,
80
+ });
81
+ factoryIsSaved = !!factories.policy;
82
+ checkerIsSaved = !!factories.checker;
83
+ [policyContract, checkerContract, policyFactory, checkFactory] = await deployEASSignUpPolicy({
84
+ eas: args.easAddress,
85
+ attester: args.attester,
86
+ schema: args.schema,
87
+ }, factories, signer, true);
88
+ break;
89
+ }
90
+ case EPolicies.GitcoinPassport: {
91
+ policyFactoryName = EPolicyFactories.GitcoinPassport;
92
+ checkFactoryName = ECheckerFactories.GitcoinPassport;
93
+ const factories = await getDeployedPolicyProxyFactories({
94
+ policy: policyFactoryName,
95
+ checker: checkFactoryName,
96
+ network,
97
+ signer,
98
+ });
99
+ factoryIsSaved = !!factories.policy;
100
+ checkerIsSaved = !!factories.checker;
101
+ [policyContract, checkerContract, policyFactory, checkFactory] = await deployGitcoinPassportPolicy({
102
+ decoderAddress: args.decoderAddress,
103
+ minimumScore: Number(args.passingScore),
104
+ }, factories, signer, true);
105
+ break;
106
+ }
107
+ case EPolicies.Hats: {
108
+ policyFactoryName = EPolicyFactories.Hats;
109
+ checkFactoryName = ECheckerFactories.Hats;
110
+ const factories = await getDeployedPolicyProxyFactories({
111
+ policy: policyFactoryName,
112
+ checker: checkFactoryName,
113
+ network,
114
+ signer,
115
+ });
116
+ factoryIsSaved = !!factories.policy;
117
+ checkerIsSaved = !!factories.checker;
118
+ [policyContract, checkerContract, policyFactory, checkFactory] = await deployHatsSignupPolicy({
119
+ hats: args.hatsProtocolAddress,
120
+ criterionHats: args.criterionHats.map((c) => BigInt(c)),
121
+ }, factories, signer, true);
122
+ break;
123
+ }
124
+ case EPolicies.Zupass: {
125
+ policyFactoryName = EPolicyFactories.Zupass;
126
+ checkFactoryName = ECheckerFactories.Zupass;
127
+ const factories = await getDeployedPolicyProxyFactories({
128
+ policy: policyFactoryName,
129
+ checker: checkFactoryName,
130
+ network,
131
+ signer,
132
+ });
133
+ factoryIsSaved = !!factories.policy;
134
+ checkerIsSaved = !!factories.checker;
135
+ [policyContract, checkerContract, policyFactory, checkFactory] = await deployZupassSignUpPolicy({
136
+ eventId: args.eventId,
137
+ signer1: args.signer1,
138
+ signer2: args.signer2,
139
+ verifier: args.zupassVerifier,
140
+ }, factories, signer, true);
141
+ break;
142
+ }
143
+ case EPolicies.Semaphore: {
144
+ policyFactoryName = EPolicyFactories.Semaphore;
145
+ checkFactoryName = ECheckerFactories.Semaphore;
146
+ const factories = await getDeployedPolicyProxyFactories({
147
+ policy: policyFactoryName,
148
+ checker: checkFactoryName,
149
+ network,
150
+ signer,
151
+ });
152
+ factoryIsSaved = !!factories.policy;
153
+ checkerIsSaved = !!factories.checker;
154
+ [policyContract, checkerContract, policyFactory, checkFactory] = await deploySemaphoreSignupPolicy({
155
+ semaphore: args.semaphoreContract,
156
+ groupId: BigInt(args.groupId),
157
+ }, factories, signer, true);
158
+ break;
159
+ }
160
+ case EPolicies.MerkleProof: {
161
+ policyFactoryName = EPolicyFactories.MerkleProof;
162
+ checkFactoryName = ECheckerFactories.MerkleProof;
163
+ const factories = await getDeployedPolicyProxyFactories({
164
+ policy: policyFactoryName,
165
+ checker: checkFactoryName,
166
+ network,
167
+ signer,
168
+ });
169
+ factoryIsSaved = !!factories.policy;
170
+ checkerIsSaved = !!factories.checker;
171
+ [policyContract, checkerContract, policyFactory, checkFactory] = await deployMerkleProofPolicy({
172
+ root: args.root,
173
+ }, factories, signer, true);
174
+ break;
175
+ }
176
+ case EPolicies.Token: {
177
+ policyFactoryName = EPolicyFactories.Token;
178
+ checkFactoryName = ECheckerFactories.Token;
179
+ const factories = await getDeployedPolicyProxyFactories({
180
+ policy: policyFactoryName,
181
+ checker: checkFactoryName,
182
+ network,
183
+ signer,
184
+ });
185
+ factoryIsSaved = !!factories.policy;
186
+ checkerIsSaved = !!factories.checker;
187
+ [policyContract, checkerContract, policyFactory, checkFactory] = await deploySignupTokenPolicy({
188
+ token: args.token,
189
+ }, factories, signer, true);
190
+ break;
191
+ }
192
+ case EPolicies.AnonAadhaar: {
193
+ policyFactoryName = EPolicyFactories.AnonAadhaar;
194
+ checkFactoryName = ECheckerFactories.AnonAadhaar;
195
+ const factories = await getDeployedPolicyProxyFactories({
196
+ policy: policyFactoryName,
197
+ checker: checkFactoryName,
198
+ network,
199
+ signer,
200
+ });
201
+ factoryIsSaved = !!factories.policy;
202
+ checkerIsSaved = !!factories.checker;
203
+ [policyContract, checkerContract, policyFactory, checkFactory] = await deployAnonAadhaarPolicy({
204
+ verifierAddress: args.verifier,
205
+ nullifierSeed: args.nullifierSeed,
206
+ }, factories, signer, true);
207
+ break;
208
+ }
209
+ case EPolicies.ERC20Votes: {
210
+ policyFactoryName = EPolicyFactories.ERC20Votes;
211
+ checkFactoryName = ECheckerFactories.ERC20Votes;
212
+ const factories = await getDeployedPolicyProxyFactories({
213
+ policy: policyFactoryName,
214
+ checker: checkFactoryName,
215
+ network,
216
+ signer,
217
+ });
218
+ factoryIsSaved = !!factories.policy;
219
+ checkerIsSaved = !!factories.checker;
220
+ [policyContract, checkerContract, policyFactory, checkFactory] = await deployERC20VotesPolicy({
221
+ snapshotBlock: BigInt(args.snapshotBlock),
222
+ threshold: BigInt(args.threshold),
223
+ token: args.token,
224
+ }, factories, signer, true);
225
+ break;
226
+ }
227
+ default:
228
+ throw new Error(ErrorCodes.UNSUPPORTED_POLICY.toString());
229
+ }
230
+ await this.storage.register({
231
+ id: policyType,
232
+ name: policyType,
233
+ contract: policyContract,
234
+ args: [await checkerContract.getAddress()],
235
+ network,
236
+ });
237
+ await this.storage.register({
238
+ id: checkerType,
239
+ name: checkerType,
240
+ contract: checkerContract,
241
+ args: args ? Object.values(args).map((arg) => String(arg)) : [],
242
+ network,
243
+ });
244
+ if (!factoryIsSaved) {
245
+ await this.storage.register({
246
+ id: policyFactoryName,
247
+ name: policyFactoryName,
248
+ contract: policyFactory,
249
+ network,
250
+ });
251
+ }
252
+ if (!checkerIsSaved) {
253
+ await this.storage.register({
254
+ id: checkFactoryName,
255
+ name: checkFactoryName,
256
+ contract: checkFactory,
257
+ network,
258
+ });
259
+ }
260
+ return policyContract;
261
+ }
262
+ /**
263
+ * Get the voice credit proxy factory contract object
264
+ * always deploy and save it
265
+ *
266
+ * @param signer - the signer
267
+ * @param voiceCreditProxyFactoryType - the voice credit proxy factory type
268
+ * @param network - the network
269
+ * @returns - the voice credit proxy factory contract
270
+ */
271
+ async deployAndSaveVoiceCreditProxyFactory(signer, voiceCreditProxyFactoryType, network) {
272
+ let contract;
273
+ switch (voiceCreditProxyFactoryType) {
274
+ case EInitialVoiceCreditProxiesFactories.Constant: {
275
+ contract = await deployConstantInitialVoiceCreditProxyFactory(signer, true);
276
+ break;
277
+ }
278
+ default:
279
+ throw new Error(ErrorCodes.UNSUPPORTED_VOICE_CREDIT_PROXY_FACTORY.toString());
280
+ }
281
+ this.storage.register({
282
+ id: voiceCreditProxyFactoryType,
283
+ contract,
284
+ args: [],
285
+ network,
286
+ });
287
+ return contract;
288
+ }
289
+ /**
290
+ * Get the voice credit proxy contract object
291
+ * always deploy and save it
292
+ *
293
+ * @param signer - the signer
294
+ * @param voiceCreditProxyType - the voice credit proxy type
295
+ * @param network - the network
296
+ * @param initialVoiceCreditProxyFactory - the initial voice credit proxy factory
297
+ * @param args - the args
298
+ * @returns - the voice credit proxy contract
299
+ */
300
+ async deployAndSaveVoiceCreditProxy(signer, voiceCreditProxyType, network, initialVoiceCreditProxyFactory, args) {
301
+ let contract;
302
+ switch (voiceCreditProxyType) {
303
+ case EInitialVoiceCreditProxies.Constant: {
304
+ contract = await deployConstantInitialVoiceCreditProxy({
305
+ amount: args.amount,
306
+ }, initialVoiceCreditProxyFactory, signer);
307
+ break;
308
+ }
309
+ default:
310
+ throw new Error(ErrorCodes.UNSUPPORTED_VOICE_CREDIT_PROXY.toString());
311
+ }
312
+ await this.storage.register({
313
+ id: voiceCreditProxyType,
314
+ contract,
315
+ args: args ? Object.values(args).map((arg) => String(arg)) : [],
316
+ network,
317
+ });
318
+ return contract;
319
+ }
320
+ /**
321
+ * Get verifying keys arguments (specially zkey paths)
322
+ * @param signer - the signer
323
+ * @param verifyingKeysRegistryContract - the deployed verifyingKey registry contract
324
+ * @param verifyingKeysRegistryArgs - the arguments send to the endpoint
325
+ * @param mode - use QV or NON_QV
326
+ * @returns SetVerifyingKeysArgs
327
+ */
328
+ async getVerifyingKeysArgs(signer, verifyingKeysRegistryAddress, verifyingKeysRegistryArgs, modes) {
329
+ const { zkey: pollJoiningZkeyPath } = this.fileService.getZkeyFilePaths(process.env.COORDINATOR_POLL_JOINING_ZKEY_NAME);
330
+ const { zkey: pollJoinedZkeyPath } = this.fileService.getZkeyFilePaths(process.env.COORDINATOR_POLL_JOINED_ZKEY_NAME);
331
+ const { pollJoiningVerifyingKey, pollJoinedVerifyingKey } = await extractAllVerifyingKeys({
332
+ pollJoiningZkeyPath,
333
+ pollJoinedZkeyPath,
334
+ });
335
+ const processAndTallyVerifyingKeys = await Promise.all(modes.map(async (mode) => {
336
+ const { zkey: messageProcessorZkeyPath } = this.fileService.getZkeyFilePaths(process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME, mode);
337
+ // There are only QV and Non-QV modes available for tally circuit
338
+ const { zkey: voteTallyZkeyPath } = this.fileService.getZkeyFilePaths(process.env.COORDINATOR_TALLY_ZKEY_NAME,
339
+ // if FULL use NON_QV because there are only VoteTallyQV and VoteTallyNonQV zkeys
340
+ mode === EMode.FULL ? EMode.NON_QV : mode);
341
+ const { processVerifyingKey, tallyVerifyingKey } = await extractAllVerifyingKeys({
342
+ messageProcessorZkeyPath,
343
+ voteTallyZkeyPath,
344
+ });
345
+ return { processVerifyingKey: processVerifyingKey, tallyVerifyingKey: tallyVerifyingKey };
346
+ }));
347
+ const processVerifyingKeys = processAndTallyVerifyingKeys.map((item) => item.processVerifyingKey);
348
+ const tallyVerifyingKeys = processAndTallyVerifyingKeys.map((item) => item.tallyVerifyingKey);
349
+ const { stateTreeDepth, pollStateTreeDepth, tallyProcessingStateTreeDepth, voteOptionTreeDepth, messageBatchSize } = verifyingKeysRegistryArgs;
350
+ return {
351
+ pollJoiningVerifyingKey: pollJoiningVerifyingKey,
352
+ pollJoinedVerifyingKey: pollJoinedVerifyingKey,
353
+ processMessagesVerifyingKeys: processVerifyingKeys,
354
+ tallyVotesVerifyingKeys: tallyVerifyingKeys,
355
+ stateTreeDepth: Number(stateTreeDepth),
356
+ tallyProcessingStateTreeDepth: Number(tallyProcessingStateTreeDepth),
357
+ voteOptionTreeDepth: Number(voteOptionTreeDepth),
358
+ messageBatchSize: Number(messageBatchSize),
359
+ pollStateTreeDepth: Number(pollStateTreeDepth),
360
+ signer,
361
+ modes,
362
+ verifyingKeysRegistryAddress,
363
+ };
364
+ }
365
+ /**
366
+ * Deploy MACI contracts
367
+ *
368
+ * @param args - deploy maci arguments
369
+ * @param options - ws hooks
370
+ * @returns - deployed maci contract
371
+ * @returns the address of the deployed maci contract
372
+ */
373
+ async deployMaci({ approval, sessionKeyAddress, chain, config }) {
374
+ const signer = await this.sessionKeysService.getCoordinatorSigner(chain, sessionKeyAddress, approval);
375
+ const policyContract = await this.deployAndSavePolicy(signer, chain, config.policy);
376
+ const policyAddress = await policyContract.getAddress();
377
+ // deploy the smart contracts
378
+ const maciAddresses = await deployMaci({
379
+ stateTreeDepth: config.MACI.stateTreeDepth,
380
+ signer,
381
+ signupPolicyAddress: policyAddress,
382
+ poseidonAddresses: config.Poseidon,
383
+ });
384
+ // set verifying keys
385
+ const { verifyingKeysRegistryContractAddress, verifierContractAddress } = maciAddresses;
386
+ const verifyingKeysArgs = await this.getVerifyingKeysArgs(signer, verifyingKeysRegistryContractAddress, config.VerifyingKeysRegistry.args, config.MACI.modes);
387
+ await setVerifyingKeys(verifyingKeysArgs);
388
+ // store the contracts
389
+ await Promise.all([
390
+ this.storage.register({
391
+ id: EContracts.Verifier,
392
+ contract: new BaseContract(verifierContractAddress, VerifierFactory.abi),
393
+ network: chain,
394
+ }),
395
+ this.storage.register({
396
+ id: EContracts.VerifyingKeysRegistry,
397
+ contract: new BaseContract(verifyingKeysRegistryContractAddress, VerifyingKeysRegistryFactory.abi),
398
+ network: chain,
399
+ }),
400
+ this.storage.register({
401
+ id: EContracts.MACI,
402
+ contract: new BaseContract(maciAddresses.maciContractAddress, MACIFactory.abi),
403
+ args: [
404
+ maciAddresses.pollFactoryContractAddress,
405
+ maciAddresses.messageProcessorFactoryContractAddress,
406
+ maciAddresses.tallyFactoryContractAddress,
407
+ policyAddress,
408
+ config.MACI.stateTreeDepth,
409
+ generateEmptyBallotRoots(config.MACI.stateTreeDepth).map((root) => root.toString()),
410
+ ],
411
+ network: chain,
412
+ }),
413
+ ]);
414
+ return { address: maciAddresses.maciContractAddress };
415
+ }
416
+ /**
417
+ * Deploy a poll
418
+ *
419
+ * @param args - deploy poll dto
420
+ * @returns poll id
421
+ */
422
+ async deployPoll({ approval, sessionKeyAddress, chain, config }) {
423
+ const signer = await this.sessionKeysService.getCoordinatorSigner(chain, sessionKeyAddress, approval);
424
+ // check if there is a maci contract deployed on this chain
425
+ const maciAddress = this.storage.getAddress(EContracts.MACI, chain);
426
+ if (!maciAddress) {
427
+ throw new Error(ErrorCodes.MACI_NOT_DEPLOYED.toString());
428
+ }
429
+ // check if there is a verifier deployed on this chain
430
+ const verifierAddress = this.storage.getAddress(EContracts.Verifier, chain);
431
+ if (!verifierAddress) {
432
+ throw new Error(ErrorCodes.VERIFIER_NOT_DEPLOYED.toString());
433
+ }
434
+ // check if there is a verifyingKey registry deployed on this chain
435
+ const verifyingKeysRegistryAddress = this.storage.getAddress(EContracts.VerifyingKeysRegistry, chain);
436
+ if (!verifyingKeysRegistryAddress) {
437
+ throw new Error(ErrorCodes.VERIFYING_KEYS_REGISTRY_NOT_DEPLOYED.toString());
438
+ }
439
+ const policyContract = await this.deployAndSavePolicy(signer, chain, config.policy);
440
+ const policyAddress = (await policyContract.getAddress());
441
+ // check if initial voice credit proxy address was given
442
+ let initialVoiceCreditProxyAddress = config.initialVoiceCreditsProxy.address;
443
+ if (!initialVoiceCreditProxyAddress) {
444
+ const initialVoiceCreditProxyFactory = await this.deployAndSaveVoiceCreditProxyFactory(signer, config.initialVoiceCreditsProxy.factoryType, chain);
445
+ const initialVoiceCreditProxyContract = await this.deployAndSaveVoiceCreditProxy(signer, config.initialVoiceCreditsProxy.type, chain, initialVoiceCreditProxyFactory, config.initialVoiceCreditsProxy.args);
446
+ initialVoiceCreditProxyAddress = await initialVoiceCreditProxyContract.getAddress();
447
+ }
448
+ // instantiate the coordinator MACI keypair
449
+ const coordinatorKeypair = getCoordinatorKeypair();
450
+ const deployPollArgs = {
451
+ maciAddress,
452
+ pollStartTimestamp: config.startDate,
453
+ pollEndTimestamp: config.endDate,
454
+ tallyProcessingStateTreeDepth: config.tallyProcessingStateTreeDepth,
455
+ voteOptionTreeDepth: config.voteOptionTreeDepth,
456
+ messageBatchSize: config.messageBatchSize,
457
+ stateTreeDepth: config.pollStateTreeDepth,
458
+ coordinatorPublicKey: coordinatorKeypair.publicKey,
459
+ mode: config.mode,
460
+ policyContractAddress: policyAddress,
461
+ initialVoiceCreditProxyContractAddress: initialVoiceCreditProxyAddress,
462
+ relayers: config.relayers ? config.relayers : [],
463
+ voteOptions: Number(config.voteOptions),
464
+ initialVoiceCredits: Number(config.initialVoiceCreditsProxy.args.amount),
465
+ signer,
466
+ };
467
+ const { pollContractAddress, messageProcessorContractAddress, tallyContractAddress, pollId } = await deployPoll(deployPollArgs);
468
+ const poll = PollFactory.connect(pollContractAddress, signer);
469
+ // store to storage
470
+ await Promise.all([
471
+ this.storage.register({
472
+ id: EContracts.Poll,
473
+ key: `poll-${pollId}`,
474
+ contract: poll,
475
+ // clones do not have args for verification
476
+ args: [],
477
+ network: chain,
478
+ }),
479
+ this.storage.register({
480
+ id: EContracts.MessageProcessor,
481
+ key: `poll-${pollId}`,
482
+ contract: MessageProcessorFactory.connect(messageProcessorContractAddress, signer),
483
+ // clones do not have args for verification
484
+ args: [],
485
+ network: chain,
486
+ }),
487
+ this.storage.register({
488
+ id: EContracts.Tally,
489
+ key: `poll-${pollId}`,
490
+ contract: TallyFactory.connect(tallyContractAddress, signer),
491
+ // clones do not have args for verification
492
+ args: [],
493
+ network: chain,
494
+ }),
495
+ ]);
496
+ return { pollId: pollId.toString() };
497
+ }
498
+ };
499
+ DeployerService = __decorate([
500
+ Injectable(),
501
+ __metadata("design:paramtypes", [SessionKeysService,
502
+ FileService])
503
+ ], DeployerService);
504
+ export { DeployerService };
505
+ //# sourceMappingURL=deployer.service.js.map