@maci-protocol/coordinator 0.0.0-ci.7fb1869 → 0.0.0-ci.80cbc33

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 (198) hide show
  1. package/README.md +4 -4
  2. package/build/hardhat.config.cjs +6 -3
  3. package/build/hardhat.config.cjs.map +1 -1
  4. package/build/hardhat.config.d.cts +6 -4
  5. package/build/scripts/generateKeypair.js +2 -2
  6. package/build/scripts/generateKeypair.js.map +1 -1
  7. package/build/tests/constants.d.ts +3 -3
  8. package/build/tests/constants.d.ts.map +1 -1
  9. package/build/tests/constants.js +5 -3
  10. package/build/tests/constants.js.map +1 -1
  11. package/build/tests/e2e.deploy.test.js +25 -40
  12. package/build/tests/e2e.deploy.test.js.map +1 -1
  13. package/build/tests/e2e.redis.test.d.ts +2 -0
  14. package/build/tests/e2e.redis.test.d.ts.map +1 -0
  15. package/build/tests/e2e.redis.test.js +118 -0
  16. package/build/tests/e2e.redis.test.js.map +1 -0
  17. package/build/tests/utils.d.ts +1 -1
  18. package/build/tests/utils.d.ts.map +1 -1
  19. package/build/tests/utils.js +5 -3
  20. package/build/tests/utils.js.map +1 -1
  21. package/build/ts/app.module.d.ts.map +1 -1
  22. package/build/ts/app.module.js +6 -0
  23. package/build/ts/app.module.js.map +1 -1
  24. package/build/ts/common/__tests__/common.test.js +40 -38
  25. package/build/ts/common/__tests__/common.test.js.map +1 -1
  26. package/build/ts/common/accountAbstraction.d.ts +5 -5
  27. package/build/ts/common/accountAbstraction.d.ts.map +1 -1
  28. package/build/ts/common/accountAbstraction.js +10 -8
  29. package/build/ts/common/accountAbstraction.js.map +1 -1
  30. package/build/ts/common/chain.d.ts +10 -4
  31. package/build/ts/common/chain.d.ts.map +1 -1
  32. package/build/ts/common/chain.js +15 -10
  33. package/build/ts/common/chain.js.map +1 -1
  34. package/build/ts/common/errors.d.ts +15 -11
  35. package/build/ts/common/errors.d.ts.map +1 -1
  36. package/build/ts/common/errors.js +15 -11
  37. package/build/ts/common/errors.js.map +1 -1
  38. package/build/ts/common/index.d.ts +0 -1
  39. package/build/ts/common/index.d.ts.map +1 -1
  40. package/build/ts/common/index.js +0 -1
  41. package/build/ts/common/index.js.map +1 -1
  42. package/build/ts/common/networks.d.ts +2 -21
  43. package/build/ts/common/networks.d.ts.map +1 -1
  44. package/build/ts/common/networks.js +39 -48
  45. package/build/ts/common/networks.js.map +1 -1
  46. package/build/ts/common/types.d.ts +2 -2
  47. package/build/ts/common/types.d.ts.map +1 -1
  48. package/build/ts/deployer/__tests__/deployer.controller.test.js +23 -25
  49. package/build/ts/deployer/__tests__/deployer.controller.test.js.map +1 -1
  50. package/build/ts/deployer/__tests__/deployer.service.test.js +184 -80
  51. package/build/ts/deployer/__tests__/deployer.service.test.js.map +1 -1
  52. package/build/ts/deployer/__tests__/utils.d.ts +8 -9
  53. package/build/ts/deployer/__tests__/utils.d.ts.map +1 -1
  54. package/build/ts/deployer/__tests__/utils.js +12 -10
  55. package/build/ts/deployer/__tests__/utils.js.map +1 -1
  56. package/build/ts/deployer/deployer.service.d.ts +17 -8
  57. package/build/ts/deployer/deployer.service.d.ts.map +1 -1
  58. package/build/ts/deployer/deployer.service.js +215 -54
  59. package/build/ts/deployer/deployer.service.js.map +1 -1
  60. package/build/ts/deployer/dto.d.ts +3 -3
  61. package/build/ts/deployer/dto.d.ts.map +1 -1
  62. package/build/ts/deployer/dto.js +5 -5
  63. package/build/ts/deployer/dto.js.map +1 -1
  64. package/build/ts/deployer/types.d.ts +37 -27
  65. package/build/ts/deployer/types.d.ts.map +1 -1
  66. package/build/ts/file/file.service.d.ts.map +1 -1
  67. package/build/ts/file/file.service.js +4 -3
  68. package/build/ts/file/file.service.js.map +1 -1
  69. package/build/ts/health/__tests__/health.controller.test.d.ts +2 -0
  70. package/build/ts/health/__tests__/health.controller.test.d.ts.map +1 -0
  71. package/build/ts/health/__tests__/health.controller.test.js +52 -0
  72. package/build/ts/health/__tests__/health.controller.test.js.map +1 -0
  73. package/build/ts/health/__tests__/health.service.test.d.ts +2 -0
  74. package/build/ts/health/__tests__/health.service.test.d.ts.map +1 -0
  75. package/build/ts/health/__tests__/health.service.test.js +101 -0
  76. package/build/ts/health/__tests__/health.service.test.js.map +1 -0
  77. package/build/ts/health/health.controller.d.ts +16 -0
  78. package/build/ts/health/health.controller.d.ts.map +1 -0
  79. package/build/ts/health/health.controller.js +43 -0
  80. package/build/ts/health/health.controller.js.map +1 -0
  81. package/build/ts/health/health.module.d.ts +3 -0
  82. package/build/ts/health/health.module.d.ts.map +1 -0
  83. package/build/ts/health/health.module.js +22 -0
  84. package/build/ts/health/health.module.js.map +1 -0
  85. package/build/ts/health/health.service.d.ts +42 -0
  86. package/build/ts/health/health.service.d.ts.map +1 -0
  87. package/build/ts/health/health.service.js +176 -0
  88. package/build/ts/health/health.service.js.map +1 -0
  89. package/build/ts/health/types.d.ts +87 -0
  90. package/build/ts/health/types.d.ts.map +1 -0
  91. package/build/ts/health/types.js +2 -0
  92. package/build/ts/health/types.js.map +1 -0
  93. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.d.ts +11 -0
  94. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.d.ts.map +1 -0
  95. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.js +12 -0
  96. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.js.map +1 -0
  97. package/build/ts/proof/__tests__/proof.controller.test.js +3 -4
  98. package/build/ts/proof/__tests__/proof.controller.test.js.map +1 -1
  99. package/build/ts/proof/__tests__/proof.gateway.test.js +2 -3
  100. package/build/ts/proof/__tests__/proof.gateway.test.js.map +1 -1
  101. package/build/ts/proof/__tests__/proof.service.test.js +24 -55
  102. package/build/ts/proof/__tests__/proof.service.test.js.map +1 -1
  103. package/build/ts/proof/dto.d.ts +4 -5
  104. package/build/ts/proof/dto.d.ts.map +1 -1
  105. package/build/ts/proof/dto.js +7 -8
  106. package/build/ts/proof/dto.js.map +1 -1
  107. package/build/ts/proof/proof.module.d.ts.map +1 -1
  108. package/build/ts/proof/proof.module.js +1 -0
  109. package/build/ts/proof/proof.module.js.map +1 -1
  110. package/build/ts/proof/proof.service.d.ts.map +1 -1
  111. package/build/ts/proof/proof.service.js.map +1 -1
  112. package/build/ts/proof/types.d.ts +4 -5
  113. package/build/ts/proof/types.d.ts.map +1 -1
  114. package/build/ts/proof/types.js.map +1 -1
  115. package/build/ts/redis/__tests__/redis.service.test.d.ts +2 -0
  116. package/build/ts/redis/__tests__/redis.service.test.d.ts.map +1 -0
  117. package/build/ts/redis/__tests__/redis.service.test.js +148 -0
  118. package/build/ts/redis/__tests__/redis.service.test.js.map +1 -0
  119. package/build/ts/redis/redis.module.d.ts +3 -0
  120. package/build/ts/redis/redis.module.d.ts.map +1 -0
  121. package/build/ts/redis/redis.module.js +18 -0
  122. package/build/ts/redis/redis.module.js.map +1 -0
  123. package/build/ts/redis/redis.service.d.ts +53 -0
  124. package/build/ts/redis/redis.service.d.ts.map +1 -0
  125. package/build/ts/redis/redis.service.js +99 -0
  126. package/build/ts/redis/redis.service.js.map +1 -0
  127. package/build/ts/redis/types.d.ts +66 -0
  128. package/build/ts/redis/types.d.ts.map +1 -0
  129. package/build/ts/redis/types.js +2 -0
  130. package/build/ts/redis/types.js.map +1 -0
  131. package/build/ts/redis/utils.d.ts +20 -0
  132. package/build/ts/redis/utils.d.ts.map +1 -0
  133. package/build/ts/redis/utils.js +27 -0
  134. package/build/ts/redis/utils.js.map +1 -0
  135. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts +2 -0
  136. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts.map +1 -0
  137. package/build/ts/scheduler/__tests__/scheduler.controller.test.js +62 -0
  138. package/build/ts/scheduler/__tests__/scheduler.controller.test.js.map +1 -0
  139. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts +2 -0
  140. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts.map +1 -0
  141. package/build/ts/scheduler/__tests__/scheduler.service.test.js +369 -0
  142. package/build/ts/scheduler/__tests__/scheduler.service.test.js.map +1 -0
  143. package/build/ts/scheduler/dto.d.ts +41 -0
  144. package/build/ts/scheduler/dto.d.ts.map +1 -0
  145. package/build/ts/scheduler/dto.js +115 -0
  146. package/build/ts/scheduler/dto.js.map +1 -0
  147. package/build/ts/scheduler/scheduler.controller.d.ts +32 -0
  148. package/build/ts/scheduler/scheduler.controller.d.ts.map +1 -0
  149. package/build/ts/scheduler/scheduler.controller.js +111 -0
  150. package/build/ts/scheduler/scheduler.controller.js.map +1 -0
  151. package/build/ts/scheduler/scheduler.module.d.ts +3 -0
  152. package/build/ts/scheduler/scheduler.module.d.ts.map +1 -0
  153. package/build/ts/scheduler/scheduler.module.js +24 -0
  154. package/build/ts/scheduler/scheduler.module.js.map +1 -0
  155. package/build/ts/scheduler/scheduler.service.d.ts +71 -0
  156. package/build/ts/scheduler/scheduler.service.d.ts.map +1 -0
  157. package/build/ts/scheduler/scheduler.service.js +297 -0
  158. package/build/ts/scheduler/scheduler.service.js.map +1 -0
  159. package/build/ts/scheduler/types.d.ts +65 -0
  160. package/build/ts/scheduler/types.d.ts.map +1 -0
  161. package/build/ts/scheduler/types.js +2 -0
  162. package/build/ts/scheduler/types.js.map +1 -0
  163. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js +2 -2
  164. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js.map +1 -1
  165. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js +34 -19
  166. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js.map +1 -1
  167. package/build/ts/sessionKeys/__tests__/utils.d.ts +1 -1
  168. package/build/ts/sessionKeys/__tests__/utils.d.ts.map +1 -1
  169. package/build/ts/sessionKeys/__tests__/utils.js +7 -6
  170. package/build/ts/sessionKeys/__tests__/utils.js.map +1 -1
  171. package/build/ts/sessionKeys/provider/KernelEIP1193Provider.d.ts +1 -1
  172. package/build/ts/sessionKeys/provider/KernelEIP1193Provider.d.ts.map +1 -1
  173. package/build/ts/sessionKeys/sessionKeys.service.d.ts +4 -3
  174. package/build/ts/sessionKeys/sessionKeys.service.d.ts.map +1 -1
  175. package/build/ts/sessionKeys/sessionKeys.service.js +1 -2
  176. package/build/ts/sessionKeys/sessionKeys.service.js.map +1 -1
  177. package/build/ts/subgraph/__tests__/subgraph.controller.test.js +2 -2
  178. package/build/ts/subgraph/__tests__/subgraph.controller.test.js.map +1 -1
  179. package/build/ts/subgraph/__tests__/subgraph.gateway.test.js +2 -2
  180. package/build/ts/subgraph/__tests__/subgraph.gateway.test.js.map +1 -1
  181. package/build/ts/subgraph/__tests__/subgraph.service.test.js +5 -5
  182. package/build/ts/subgraph/__tests__/subgraph.service.test.js.map +1 -1
  183. package/build/ts/subgraph/dto.d.ts +2 -2
  184. package/build/ts/subgraph/dto.d.ts.map +1 -1
  185. package/build/ts/subgraph/dto.js +3 -3
  186. package/build/ts/subgraph/dto.js.map +1 -1
  187. package/build/ts/subgraph/subgraph.service.d.ts +4 -0
  188. package/build/ts/subgraph/subgraph.service.d.ts.map +1 -1
  189. package/build/ts/subgraph/subgraph.service.js +23 -10
  190. package/build/ts/subgraph/subgraph.service.js.map +1 -1
  191. package/build/ts/subgraph/types.d.ts +2 -2
  192. package/build/ts/subgraph/types.d.ts.map +1 -1
  193. package/build/tsconfig.build.tsbuildinfo +1 -1
  194. package/package.json +39 -32
  195. package/build/tests/e2e.aa.test.d.ts +0 -2
  196. package/build/tests/e2e.aa.test.d.ts.map +0 -1
  197. package/build/tests/e2e.aa.test.js +0 -96
  198. package/build/tests/e2e.aa.test.js.map +0 -1
@@ -0,0 +1,115 @@
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 { ApiProperty } from "@nestjs/swagger";
12
+ import { IsEnum, IsEthereumAddress, IsInt, IsOptional, IsString, Min } from "class-validator";
13
+ /**
14
+ * Data transfer object for scheduled poll
15
+ */
16
+ export class IdentityScheduledPollDto {
17
+ /**
18
+ * MACI contract address
19
+ */
20
+ maciAddress;
21
+ /**
22
+ * Poll id
23
+ */
24
+ pollId;
25
+ /**
26
+ * Chain Name
27
+ */
28
+ chain;
29
+ }
30
+ __decorate([
31
+ ApiProperty({
32
+ description: "MACI contract address",
33
+ type: String,
34
+ }),
35
+ IsEthereumAddress(),
36
+ __metadata("design:type", String)
37
+ ], IdentityScheduledPollDto.prototype, "maciAddress", void 0);
38
+ __decorate([
39
+ ApiProperty({
40
+ description: "Poll id",
41
+ minimum: 0,
42
+ type: Number,
43
+ }),
44
+ IsInt(),
45
+ Min(0),
46
+ __metadata("design:type", Number)
47
+ ], IdentityScheduledPollDto.prototype, "pollId", void 0);
48
+ __decorate([
49
+ ApiProperty({
50
+ description: "Chain to which to deploy the contract(s)",
51
+ enum: ESupportedChains,
52
+ }),
53
+ IsEnum(ESupportedChains),
54
+ __metadata("design:type", String)
55
+ ], IdentityScheduledPollDto.prototype, "chain", void 0);
56
+ /**
57
+ * Data transfer object for registering a poll for finalization
58
+ */
59
+ export class SchedulePollWithSignerDto extends IdentityScheduledPollDto {
60
+ /**
61
+ * Deployment block number
62
+ */
63
+ deploymentBlockNumber;
64
+ /**
65
+ * Voting mode
66
+ */
67
+ mode;
68
+ /**
69
+ * Session key address for Account Abstraction signer
70
+ */
71
+ sessionKeyAddress;
72
+ /**
73
+ * Approval for Account Abstraction signer
74
+ */
75
+ approval;
76
+ }
77
+ __decorate([
78
+ ApiProperty({
79
+ description: "Deployment block number",
80
+ type: Number,
81
+ }),
82
+ IsInt(),
83
+ Min(0),
84
+ __metadata("design:type", Number)
85
+ ], SchedulePollWithSignerDto.prototype, "deploymentBlockNumber", void 0);
86
+ __decorate([
87
+ ApiProperty({
88
+ description: "Voting mode",
89
+ enum: EMode,
90
+ type: String,
91
+ }),
92
+ IsEnum(EMode),
93
+ __metadata("design:type", Number)
94
+ ], SchedulePollWithSignerDto.prototype, "mode", void 0);
95
+ __decorate([
96
+ ApiProperty({
97
+ description: "Session key address",
98
+ type: String,
99
+ required: false,
100
+ }),
101
+ IsOptional(),
102
+ IsEthereumAddress(),
103
+ __metadata("design:type", String)
104
+ ], SchedulePollWithSignerDto.prototype, "sessionKeyAddress", void 0);
105
+ __decorate([
106
+ ApiProperty({
107
+ description: "Approval",
108
+ type: String,
109
+ required: false,
110
+ }),
111
+ IsOptional(),
112
+ IsString(),
113
+ __metadata("design:type", String)
114
+ ], SchedulePollWithSignerDto.prototype, "approval", void 0);
115
+ //# sourceMappingURL=dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dto.js","sourceRoot":"","sources":["../../../ts/scheduler/dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAI9F;;GAEG;AACH,MAAM,OAAO,wBAAwB;IACnC;;OAEG;IAMH,WAAW,CAAO;IAElB;;OAEG;IAQH,MAAM,CAAU;IAEhB;;OAEG;IAMH,KAAK,CAAoB;CAC1B;AAvBC;IALC,WAAW,CAAC;QACX,WAAW,EAAE,uBAAuB;QACpC,IAAI,EAAE,MAAM;KACb,CAAC;IACD,iBAAiB,EAAE;;6DACF;AAYlB;IAPC,WAAW,CAAC;QACX,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,MAAM;KACb,CAAC;IACD,KAAK,EAAE;IACP,GAAG,CAAC,CAAC,CAAC;;wDACS;AAUhB;IALC,WAAW,CAAC;QACX,WAAW,EAAE,0CAA0C;QACvD,IAAI,EAAE,gBAAgB;KACvB,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC;;uDACA;AAG3B;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,wBAAwB;IACrE;;OAEG;IAOH,qBAAqB,CAAU;IAE/B;;OAEG;IAOH,IAAI,CAAS;IAEb;;OAEG;IAQH,iBAAiB,CAAO;IAExB;;OAEG;IAQH,QAAQ,CAAU;CACnB;AApCC;IANC,WAAW,CAAC;QACX,WAAW,EAAE,yBAAyB;QACtC,IAAI,EAAE,MAAM;KACb,CAAC;IACD,KAAK,EAAE;IACP,GAAG,CAAC,CAAC,CAAC;;wEACwB;AAW/B;IANC,WAAW,CAAC;QACX,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;KACb,CAAC;IACD,MAAM,CAAC,KAAK,CAAC;;uDACD;AAYb;IAPC,WAAW,CAAC;QACX,WAAW,EAAE,qBAAqB;QAClC,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,UAAU,EAAE;IACZ,iBAAiB,EAAE;;oEACI;AAYxB;IAPC,WAAW,CAAC;QACX,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;;2DACO"}
@@ -0,0 +1,32 @@
1
+ import type { IIsPollScheduledResponse } from "./types";
2
+ import { IdentityScheduledPollDto, SchedulePollWithSignerDto } from "./dto";
3
+ import { SchedulerService } from "./scheduler.service";
4
+ export declare class SchedulerController {
5
+ private readonly schedulerService;
6
+ /**
7
+ * Logger
8
+ */
9
+ private readonly logger;
10
+ /**
11
+ * Initialize SchedulerController
12
+ *
13
+ * @param schedulerService - scheduler service
14
+ */
15
+ constructor(schedulerService: SchedulerService);
16
+ /**
17
+ * Register poll for finalization
18
+ */
19
+ register(args: SchedulePollWithSignerDto): Promise<IIsPollScheduledResponse>;
20
+ /**
21
+ * Check if poll is scheduled for finalization
22
+ * @param args - poll id to check
23
+ * @returns true if poll is scheduled, false otherwise
24
+ */
25
+ status(args: IdentityScheduledPollDto): Promise<IIsPollScheduledResponse>;
26
+ /**
27
+ * Delete scheduled poll
28
+ * @param args - poll id to delete
29
+ */
30
+ delete(args: IdentityScheduledPollDto): Promise<IIsPollScheduledResponse>;
31
+ }
32
+ //# sourceMappingURL=scheduler.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.controller.d.ts","sourceRoot":"","sources":["../../../ts/scheduler/scheduler.controller.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAA+B,MAAM,SAAS,CAAC;AAGrF,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAEa,mBAAmB;IAWlB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAV7C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAE/D;;;;OAIG;gBAC0B,gBAAgB,EAAE,gBAAgB;IAE/D;;OAEG;IAIG,QAAQ,CAAS,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAe1F;;;;OAIG;IAIG,MAAM,CAAS,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAYvF;;;OAGG;IAIG,MAAM,CAAS,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAWxF"}
@@ -0,0 +1,111 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ var SchedulerController_1;
14
+ import { Body, Controller, HttpException, HttpStatus, Logger, Post } from "@nestjs/common";
15
+ import { ApiResponse, ApiTags } from "@nestjs/swagger";
16
+ import { IdentityScheduledPollDto, SchedulePollWithSignerDto } from "./dto";
17
+ import { SchedulerService } from "./scheduler.service";
18
+ let SchedulerController = SchedulerController_1 = class SchedulerController {
19
+ schedulerService;
20
+ /**
21
+ * Logger
22
+ */
23
+ logger = new Logger(SchedulerController_1.name);
24
+ /**
25
+ * Initialize SchedulerController
26
+ *
27
+ * @param schedulerService - scheduler service
28
+ */
29
+ constructor(schedulerService) {
30
+ this.schedulerService = schedulerService;
31
+ }
32
+ /**
33
+ * Register poll for finalization
34
+ */
35
+ async register(args) {
36
+ const schedulePollWithSignerArgs = {
37
+ ...args,
38
+ pollId: args.pollId.toString(),
39
+ endDate: 0,
40
+ merged: false,
41
+ proofsGenerated: false,
42
+ };
43
+ return this.schedulerService.registerPoll(schedulePollWithSignerArgs).catch((error) => {
44
+ this.logger.error(`Error:`, error);
45
+ throw new HttpException(error.message, HttpStatus.BAD_REQUEST);
46
+ });
47
+ }
48
+ /**
49
+ * Check if poll is scheduled for finalization
50
+ * @param args - poll id to check
51
+ * @returns true if poll is scheduled, false otherwise
52
+ */
53
+ async status(args) {
54
+ const identityScheduledPoll = {
55
+ ...args,
56
+ pollId: args.pollId.toString(),
57
+ };
58
+ return this.schedulerService.isPollScheduled(identityScheduledPoll).catch((error) => {
59
+ this.logger.error(`Error:`, error);
60
+ throw new HttpException(error.message, HttpStatus.BAD_REQUEST);
61
+ });
62
+ }
63
+ /**
64
+ * Delete scheduled poll
65
+ * @param args - poll id to delete
66
+ */
67
+ async delete(args) {
68
+ const identityScheduledPoll = {
69
+ ...args,
70
+ pollId: args.pollId.toString(),
71
+ };
72
+ return this.schedulerService.deleteScheduledPoll(identityScheduledPoll).catch((error) => {
73
+ this.logger.error(`Error:`, error);
74
+ throw new HttpException(error.message, HttpStatus.BAD_REQUEST);
75
+ });
76
+ }
77
+ };
78
+ __decorate([
79
+ ApiResponse({ status: HttpStatus.OK, description: "Poll finalization has been scheduled" }),
80
+ ApiResponse({ status: HttpStatus.BAD_REQUEST, description: "BadRequest" }),
81
+ Post("register"),
82
+ __param(0, Body()),
83
+ __metadata("design:type", Function),
84
+ __metadata("design:paramtypes", [SchedulePollWithSignerDto]),
85
+ __metadata("design:returntype", Promise)
86
+ ], SchedulerController.prototype, "register", null);
87
+ __decorate([
88
+ ApiResponse({ status: HttpStatus.OK, description: "Poll finalization status" }),
89
+ ApiResponse({ status: HttpStatus.NOT_FOUND, description: "BadRequest" }),
90
+ Post("status"),
91
+ __param(0, Body()),
92
+ __metadata("design:type", Function),
93
+ __metadata("design:paramtypes", [IdentityScheduledPollDto]),
94
+ __metadata("design:returntype", Promise)
95
+ ], SchedulerController.prototype, "status", null);
96
+ __decorate([
97
+ ApiResponse({ status: HttpStatus.OK, description: "Poll finalization has been deleted" }),
98
+ ApiResponse({ status: HttpStatus.NOT_FOUND, description: "BadRequest" }),
99
+ Post("delete"),
100
+ __param(0, Body()),
101
+ __metadata("design:type", Function),
102
+ __metadata("design:paramtypes", [IdentityScheduledPollDto]),
103
+ __metadata("design:returntype", Promise)
104
+ ], SchedulerController.prototype, "delete", null);
105
+ SchedulerController = SchedulerController_1 = __decorate([
106
+ ApiTags("v1/scheduler"),
107
+ Controller("v1/scheduler"),
108
+ __metadata("design:paramtypes", [SchedulerService])
109
+ ], SchedulerController);
110
+ export { SchedulerController };
111
+ //# sourceMappingURL=scheduler.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.controller.js","sourceRoot":"","sources":["../../../ts/scheduler/scheduler.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare class SchedulerModule {
2
+ }
3
+ //# sourceMappingURL=scheduler.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.module.d.ts","sourceRoot":"","sources":["../../../ts/scheduler/scheduler.module.ts"],"names":[],"mappings":"AAUA,qBAKa,eAAe;CAAG"}
@@ -0,0 +1,24 @@
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 { ScheduleModule } from "@nestjs/schedule";
9
+ import { ProofModule } from "../proof/proof.module";
10
+ import { RedisModule } from "../redis/redis.module";
11
+ import { SessionKeysModule } from "../sessionKeys/sessionKeys.module";
12
+ import { SchedulerController } from "./scheduler.controller";
13
+ import { SchedulerService } from "./scheduler.service";
14
+ let SchedulerModule = class SchedulerModule {
15
+ };
16
+ SchedulerModule = __decorate([
17
+ Module({
18
+ imports: [SessionKeysModule, RedisModule, ScheduleModule.forRoot(), ProofModule],
19
+ providers: [SchedulerService],
20
+ controllers: [SchedulerController],
21
+ })
22
+ ], SchedulerModule);
23
+ export { SchedulerModule };
24
+ //# sourceMappingURL=scheduler.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.module.js","sourceRoot":"","sources":["../../../ts/scheduler/scheduler.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAOhD,IAAM,eAAe,GAArB,MAAM,eAAe;CAAG,CAAA;AAAlB,eAAe;IAL3B,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,cAAc,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC;QAChF,SAAS,EAAE,CAAC,gBAAgB,CAAC;QAC7B,WAAW,EAAE,CAAC,mBAAmB,CAAC;KACnC,CAAC;GACW,eAAe,CAAG"}
@@ -0,0 +1,71 @@
1
+ import { OnModuleInit } from "@nestjs/common";
2
+ import { SchedulerRegistry } from "@nestjs/schedule";
3
+ import type { IIsPollScheduledResponse, IGetPollFinalizationData, IIdentityPollWithSignerArgs, ISchedulePollWithSignerArgs } from "./types";
4
+ import type { IIdentityScheduledPoll, IScheduledPoll } from "../redis/types";
5
+ import { ProofGeneratorService } from "../proof/proof.service";
6
+ import { RedisService } from "../redis/redis.service";
7
+ import { SessionKeysService } from "../sessionKeys/sessionKeys.service";
8
+ export declare class SchedulerService implements OnModuleInit {
9
+ private readonly sessionKeysService;
10
+ private readonly redisService;
11
+ private readonly schedulerRegistry;
12
+ private readonly proofService;
13
+ /**
14
+ * Logger
15
+ */
16
+ private readonly logger;
17
+ /**
18
+ * Create a new scheduler service instance.
19
+ * @param sessionKeysService - session keys service to manage session keys
20
+ * @param redisService - redis service to interact with Redis database
21
+ * @param schedulerRegistry - scheduler registry to manage scheduled tasks
22
+ */
23
+ constructor(sessionKeysService: SessionKeysService, redisService: RedisService, schedulerRegistry: SchedulerRegistry, proofService: ProofGeneratorService);
24
+ /**
25
+ * Instantiate and schedule the saved polls in the database
26
+ * @dev it is a lifecycle hook provided by NestJS that is called after all dependencies
27
+ * are injected and the module is fully initialized.
28
+ * This ensures your service is ready and all dependencies are available.
29
+ */
30
+ onModuleInit(): Promise<void>;
31
+ /**
32
+ * Check if poll is scheduled for finalization
33
+ * @param args - Arguments for checking poll finalization
34
+ * @returns true if poll is scheduled for finalization, false otherwise
35
+ */
36
+ isPollScheduled(scheduledPoll: IIdentityScheduledPoll): Promise<IIsPollScheduledResponse>;
37
+ /**
38
+ * Return the poll end date and whether it is tallied
39
+ * @param args - Arguments to retrieve poll data
40
+ */
41
+ getPollFinalizationData({ pollId, maciAddress, chain, sessionKeyAddress, approval, }: IIdentityPollWithSignerArgs): Promise<IGetPollFinalizationData>;
42
+ /**
43
+ * Finalize poll starting from any step
44
+ *
45
+ * @param args - generate proofs arguments
46
+ */
47
+ finalizePoll(poll: IScheduledPoll): Promise<void>;
48
+ /**
49
+ * Store poll information and schedule its finalization.
50
+ * @param args - Arguments for storing and scheduling poll finalization
51
+ * @return delay in milliseconds until the poll is scheduled for finalization
52
+ */
53
+ private setupPollFinalization;
54
+ /**
55
+ * Schedule poll for finalization
56
+ * @param args - Arguments to register poll for finalization
57
+ * @returns Response object with isScheduled property indicating the poll is scheduled
58
+ */
59
+ registerPoll({ maciAddress, pollId, chain, mode, deploymentBlockNumber, sessionKeyAddress, approval, }: ISchedulePollWithSignerArgs): Promise<IIsPollScheduledResponse>;
60
+ /**
61
+ * Delete scheduled poll
62
+ * @param args - Arguments to identify the scheduled poll
63
+ * @returns Response object with isScheduled property indicating the poll is no longer scheduled
64
+ */
65
+ deleteScheduledPoll(scheduledPoll: IIdentityScheduledPoll): Promise<IIsPollScheduledResponse>;
66
+ /**
67
+ * Restore all scheduled timeouts from Redis
68
+ */
69
+ private restoreTimeouts;
70
+ }
71
+ //# sourceMappingURL=scheduler.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.service.d.ts","sourceRoot":"","sources":["../../../ts/scheduler/scheduler.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAE5B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAIxE,qBACa,gBAAiB,YAAW,YAAY;IAajD,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAf/B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;;;;OAKG;gBAEgB,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,qBAAqB;IAKtD;;;;;OAKG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;;;OAIG;IACG,eAAe,CAAC,aAAa,EAAE,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAiC/F;;;OAGG;IACG,uBAAuB,CAAC,EAC5B,MAAM,EACN,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,QAAQ,GACT,EAAE,2BAA2B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAuBlE;;;;OAIG;IACG,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAmFvD;;;;OAIG;YACW,qBAAqB;IA0BnC;;;;OAIG;IACG,YAAY,CAAC,EACjB,WAAW,EACX,MAAM,EACN,KAAK,EACL,IAAI,EACJ,qBAAqB,EACrB,iBAAiB,EACjB,QAAQ,GACT,EAAE,2BAA2B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAuClE;;;;OAIG;IACG,mBAAmB,CAAC,aAAa,EAAE,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAcnG;;OAEG;YACW,eAAe;CAsC9B"}