@maci-protocol/coordinator 0.0.0-ci.da13fbb → 0.0.0-ci.de69b3e

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 (129) hide show
  1. package/README.md +4 -4
  2. package/build/scripts/generateKeypair.js +2 -2
  3. package/build/scripts/generateKeypair.js.map +1 -1
  4. package/build/tests/e2e.deploy.test.js +28 -17
  5. package/build/tests/e2e.deploy.test.js.map +1 -1
  6. package/build/tests/e2e.redis.test.d.ts +2 -0
  7. package/build/tests/e2e.redis.test.d.ts.map +1 -0
  8. package/build/tests/e2e.redis.test.js +119 -0
  9. package/build/tests/e2e.redis.test.js.map +1 -0
  10. package/build/tests/utils.d.ts.map +1 -1
  11. package/build/tests/utils.js.map +1 -1
  12. package/build/ts/app.module.d.ts.map +1 -1
  13. package/build/ts/app.module.js +6 -0
  14. package/build/ts/app.module.js.map +1 -1
  15. package/build/ts/common/__tests__/common.test.js +1 -11
  16. package/build/ts/common/__tests__/common.test.js.map +1 -1
  17. package/build/ts/common/chain.d.ts.map +1 -1
  18. package/build/ts/common/chain.js +4 -3
  19. package/build/ts/common/chain.js.map +1 -1
  20. package/build/ts/common/errors.d.ts +15 -11
  21. package/build/ts/common/errors.d.ts.map +1 -1
  22. package/build/ts/common/errors.js +15 -11
  23. package/build/ts/common/errors.js.map +1 -1
  24. package/build/ts/deployer/__tests__/deployer.controller.test.js +7 -7
  25. package/build/ts/deployer/__tests__/deployer.controller.test.js.map +1 -1
  26. package/build/ts/deployer/__tests__/deployer.service.test.js +71 -11
  27. package/build/ts/deployer/__tests__/deployer.service.test.js.map +1 -1
  28. package/build/ts/deployer/__tests__/utils.d.ts +0 -1
  29. package/build/ts/deployer/__tests__/utils.d.ts.map +1 -1
  30. package/build/ts/deployer/__tests__/utils.js +4 -4
  31. package/build/ts/deployer/__tests__/utils.js.map +1 -1
  32. package/build/ts/deployer/deployer.service.d.ts +17 -7
  33. package/build/ts/deployer/deployer.service.d.ts.map +1 -1
  34. package/build/ts/deployer/deployer.service.js +207 -54
  35. package/build/ts/deployer/deployer.service.js.map +1 -1
  36. package/build/ts/deployer/types.d.ts +18 -11
  37. package/build/ts/deployer/types.d.ts.map +1 -1
  38. package/build/ts/file/file.service.d.ts.map +1 -1
  39. package/build/ts/file/file.service.js +4 -3
  40. package/build/ts/file/file.service.js.map +1 -1
  41. package/build/ts/health/__tests__/health.controller.test.d.ts +2 -0
  42. package/build/ts/health/__tests__/health.controller.test.d.ts.map +1 -0
  43. package/build/ts/health/__tests__/health.controller.test.js +28 -0
  44. package/build/ts/health/__tests__/health.controller.test.js.map +1 -0
  45. package/build/ts/health/__tests__/health.service.test.d.ts +2 -0
  46. package/build/ts/health/__tests__/health.service.test.d.ts.map +1 -0
  47. package/build/ts/health/__tests__/health.service.test.js +88 -0
  48. package/build/ts/health/__tests__/health.service.test.js.map +1 -0
  49. package/build/ts/health/health.controller.d.ts +16 -0
  50. package/build/ts/health/health.controller.d.ts.map +1 -0
  51. package/build/ts/health/health.controller.js +43 -0
  52. package/build/ts/health/health.controller.js.map +1 -0
  53. package/build/ts/health/health.module.d.ts +3 -0
  54. package/build/ts/health/health.module.d.ts.map +1 -0
  55. package/build/ts/health/health.module.js +22 -0
  56. package/build/ts/health/health.module.js.map +1 -0
  57. package/build/ts/health/health.service.d.ts +42 -0
  58. package/build/ts/health/health.service.d.ts.map +1 -0
  59. package/build/ts/health/health.service.js +182 -0
  60. package/build/ts/health/health.service.js.map +1 -0
  61. package/build/ts/health/types.d.ts +83 -0
  62. package/build/ts/health/types.d.ts.map +1 -0
  63. package/build/ts/health/types.js +2 -0
  64. package/build/ts/health/types.js.map +1 -0
  65. package/build/ts/proof/__tests__/proof.service.test.js +28 -54
  66. package/build/ts/proof/__tests__/proof.service.test.js.map +1 -1
  67. package/build/ts/redis/__tests__/redis.service.test.d.ts +2 -0
  68. package/build/ts/redis/__tests__/redis.service.test.d.ts.map +1 -0
  69. package/build/ts/redis/__tests__/redis.service.test.js +149 -0
  70. package/build/ts/redis/__tests__/redis.service.test.js.map +1 -0
  71. package/build/ts/redis/redis.module.d.ts +3 -0
  72. package/build/ts/redis/redis.module.d.ts.map +1 -0
  73. package/build/ts/redis/redis.module.js +18 -0
  74. package/build/ts/redis/redis.module.js.map +1 -0
  75. package/build/ts/redis/redis.service.d.ts +52 -0
  76. package/build/ts/redis/redis.service.d.ts.map +1 -0
  77. package/build/ts/redis/redis.service.js +97 -0
  78. package/build/ts/redis/redis.service.js.map +1 -0
  79. package/build/ts/redis/types.d.ts +54 -0
  80. package/build/ts/redis/types.d.ts.map +1 -0
  81. package/build/ts/redis/types.js +2 -0
  82. package/build/ts/redis/types.js.map +1 -0
  83. package/build/ts/redis/utils.d.ts +20 -0
  84. package/build/ts/redis/utils.d.ts.map +1 -0
  85. package/build/ts/redis/utils.js +27 -0
  86. package/build/ts/redis/utils.js.map +1 -0
  87. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts +2 -0
  88. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts.map +1 -0
  89. package/build/ts/scheduler/__tests__/scheduler.controller.test.js +63 -0
  90. package/build/ts/scheduler/__tests__/scheduler.controller.test.js.map +1 -0
  91. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts +2 -0
  92. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts.map +1 -0
  93. package/build/ts/scheduler/__tests__/scheduler.service.test.js +264 -0
  94. package/build/ts/scheduler/__tests__/scheduler.service.test.js.map +1 -0
  95. package/build/ts/scheduler/dto.d.ts +42 -0
  96. package/build/ts/scheduler/dto.d.ts.map +1 -0
  97. package/build/ts/scheduler/dto.js +116 -0
  98. package/build/ts/scheduler/dto.js.map +1 -0
  99. package/build/ts/scheduler/scheduler.controller.d.ts +32 -0
  100. package/build/ts/scheduler/scheduler.controller.d.ts.map +1 -0
  101. package/build/ts/scheduler/scheduler.controller.js +111 -0
  102. package/build/ts/scheduler/scheduler.controller.js.map +1 -0
  103. package/build/ts/scheduler/scheduler.module.d.ts +3 -0
  104. package/build/ts/scheduler/scheduler.module.d.ts.map +1 -0
  105. package/build/ts/scheduler/scheduler.module.js +23 -0
  106. package/build/ts/scheduler/scheduler.module.js.map +1 -0
  107. package/build/ts/scheduler/scheduler.service.d.ts +63 -0
  108. package/build/ts/scheduler/scheduler.service.d.ts.map +1 -0
  109. package/build/ts/scheduler/scheduler.service.js +239 -0
  110. package/build/ts/scheduler/scheduler.service.js.map +1 -0
  111. package/build/ts/scheduler/types.d.ts +61 -0
  112. package/build/ts/scheduler/types.d.ts.map +1 -0
  113. package/build/ts/scheduler/types.js +2 -0
  114. package/build/ts/scheduler/types.js.map +1 -0
  115. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js +2 -2
  116. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js.map +1 -1
  117. package/build/ts/sessionKeys/sessionKeys.service.js.map +1 -1
  118. package/build/ts/subgraph/__tests__/subgraph.service.test.js +2 -3
  119. package/build/ts/subgraph/__tests__/subgraph.service.test.js.map +1 -1
  120. package/build/ts/subgraph/subgraph.service.d.ts +4 -0
  121. package/build/ts/subgraph/subgraph.service.d.ts.map +1 -1
  122. package/build/ts/subgraph/subgraph.service.js +16 -5
  123. package/build/ts/subgraph/subgraph.service.js.map +1 -1
  124. package/build/tsconfig.build.tsbuildinfo +1 -1
  125. package/package.json +31 -29
  126. package/build/tests/e2e.aa.test.d.ts +0 -2
  127. package/build/tests/e2e.aa.test.d.ts.map +0 -1
  128. package/build/tests/e2e.aa.test.js +0 -96
  129. package/build/tests/e2e.aa.test.js.map +0 -1
@@ -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":"AASA,qBAKa,eAAe;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 { ScheduleModule } from "@nestjs/schedule";
9
+ import { RedisModule } from "../redis/redis.module";
10
+ import { SessionKeysModule } from "../sessionKeys/sessionKeys.module";
11
+ import { SchedulerController } from "./scheduler.controller";
12
+ import { SchedulerService } from "./scheduler.service";
13
+ let SchedulerModule = class SchedulerModule {
14
+ };
15
+ SchedulerModule = __decorate([
16
+ Module({
17
+ imports: [SessionKeysModule, RedisModule, ScheduleModule.forRoot()],
18
+ providers: [SchedulerService],
19
+ controllers: [SchedulerController],
20
+ })
21
+ ], SchedulerModule);
22
+ export { SchedulerModule };
23
+ //# 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,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,CAAC;QACnE,SAAS,EAAE,CAAC,gBAAgB,CAAC;QAC7B,WAAW,EAAE,CAAC,mBAAmB,CAAC;KACnC,CAAC;GACW,eAAe,CAAG"}
@@ -0,0 +1,63 @@
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 } from "../redis/types";
5
+ import { RedisService } from "../redis/redis.service";
6
+ import { SessionKeysService } from "../sessionKeys/sessionKeys.service";
7
+ export declare class SchedulerService implements OnModuleInit {
8
+ private readonly sessionKeysService;
9
+ private readonly redisService;
10
+ private readonly schedulerRegistry;
11
+ /**
12
+ * Logger
13
+ */
14
+ private readonly logger;
15
+ /**
16
+ * Create a new scheduler service instance.
17
+ * @param sessionKeysService - session keys service to manage session keys
18
+ * @param redisService - redis service to interact with Redis database
19
+ * @param schedulerRegistry - scheduler registry to manage scheduled tasks
20
+ */
21
+ constructor(sessionKeysService: SessionKeysService, redisService: RedisService, schedulerRegistry: SchedulerRegistry);
22
+ /**
23
+ * Instantiate and schedule the saved polls in the database
24
+ * @dev it is a lifecycle hook provided by NestJS that is called after all dependencies
25
+ * are injected and the module is fully initialized.
26
+ * This ensures your service is ready and all dependencies are available.
27
+ */
28
+ onModuleInit(): Promise<void>;
29
+ /**
30
+ * Check if poll is scheduled for finalization
31
+ * @param args - Arguments for checking poll finalization
32
+ * @returns true if poll is scheduled for finalization, false otherwise
33
+ */
34
+ isPollScheduled(scheduledPoll: IIdentityScheduledPoll): Promise<IIsPollScheduledResponse>;
35
+ /**
36
+ * Return the poll end date and whether it is tallied
37
+ * @param args - Arguments to retrieve poll data
38
+ */
39
+ getPollFinalizationData({ pollId, maciAddress, chain, sessionKeyAddress, approval, }: IIdentityPollWithSignerArgs): Promise<IGetPollFinalizationData>;
40
+ /**
41
+ * Store poll information and schedule its finalization.
42
+ * @param args - Arguments for storing and scheduling poll finalization
43
+ * @return delay in milliseconds until the poll is scheduled for finalization
44
+ */
45
+ private setupPollFinalization;
46
+ /**
47
+ * Schedule poll for finalization
48
+ * @param args - Arguments to register poll for finalization
49
+ * @returns Response object with isScheduled property indicating the poll is scheduled
50
+ */
51
+ registerPoll({ maciAddress, pollId, chain, mode, deploymentBlockNumber, sessionKeyAddress, approval, }: ISchedulePollWithSignerArgs): Promise<IIsPollScheduledResponse>;
52
+ /**
53
+ * Delete scheduled poll
54
+ * @param args - Arguments to identify the scheduled poll
55
+ * @returns Response object with isScheduled property indicating the poll is no longer scheduled
56
+ */
57
+ deleteScheduledPoll(scheduledPoll: IIdentityScheduledPoll): Promise<IIsPollScheduledResponse>;
58
+ /**
59
+ * Restore all scheduled timeouts from Redis
60
+ */
61
+ private restoreTimeouts;
62
+ }
63
+ //# 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,EAAkB,MAAM,gBAAgB,CAAC;AAG7E,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;IAdpC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;;;;OAKG;gBAEgB,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB;IAKvD;;;;;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;IAsBlE;;;;OAIG;YACW,qBAAqB;IA2CnC;;;;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;CAiD9B"}
@@ -0,0 +1,239 @@
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 SchedulerService_1;
11
+ import { getPoll, isTallied } from "@maci-protocol/sdk";
12
+ import { Injectable, Logger } from "@nestjs/common";
13
+ import { SchedulerRegistry } from "@nestjs/schedule";
14
+ import { ErrorCodes } from "../common";
15
+ import { RedisService } from "../redis/redis.service";
16
+ import { getPollKeyFromObject } from "../redis/utils";
17
+ import { SessionKeysService } from "../sessionKeys/sessionKeys.service";
18
+ const BUFFER_TIMEOUT = 10 * 1000; // 10 seconds buffer for poll finalization
19
+ let SchedulerService = SchedulerService_1 = class SchedulerService {
20
+ sessionKeysService;
21
+ redisService;
22
+ schedulerRegistry;
23
+ /**
24
+ * Logger
25
+ */
26
+ logger;
27
+ /**
28
+ * Create a new scheduler service instance.
29
+ * @param sessionKeysService - session keys service to manage session keys
30
+ * @param redisService - redis service to interact with Redis database
31
+ * @param schedulerRegistry - scheduler registry to manage scheduled tasks
32
+ */
33
+ constructor(sessionKeysService, redisService, schedulerRegistry) {
34
+ this.sessionKeysService = sessionKeysService;
35
+ this.redisService = redisService;
36
+ this.schedulerRegistry = schedulerRegistry;
37
+ this.logger = new Logger(SchedulerService_1.name);
38
+ }
39
+ /**
40
+ * Instantiate and schedule the saved polls in the database
41
+ * @dev it is a lifecycle hook provided by NestJS that is called after all dependencies
42
+ * are injected and the module is fully initialized.
43
+ * This ensures your service is ready and all dependencies are available.
44
+ */
45
+ async onModuleInit() {
46
+ await this.restoreTimeouts();
47
+ }
48
+ /**
49
+ * Check if poll is scheduled for finalization
50
+ * @param args - Arguments for checking poll finalization
51
+ * @returns true if poll is scheduled for finalization, false otherwise
52
+ */
53
+ async isPollScheduled(scheduledPoll) {
54
+ const key = getPollKeyFromObject(scheduledPoll);
55
+ const { maciAddress, pollId, chain } = scheduledPoll;
56
+ const storedPoll = await this.redisService.get(key);
57
+ if (!storedPoll) {
58
+ return { isScheduled: false };
59
+ }
60
+ try {
61
+ this.schedulerRegistry.getTimeout(key);
62
+ }
63
+ catch (error) {
64
+ // delete redis data so user has to reschedule again
65
+ await this.redisService.delete(key);
66
+ return { isScheduled: false };
67
+ }
68
+ const { isPollTallied } = await this.getPollFinalizationData({
69
+ maciAddress,
70
+ pollId,
71
+ chain,
72
+ });
73
+ if (isPollTallied) {
74
+ this.deleteScheduledPoll({ maciAddress, pollId, chain });
75
+ this.logger.error(`Error: ${ErrorCodes.POLL_ALREADY_TALLIED}, poll has already been tallied`);
76
+ throw new Error(ErrorCodes.POLL_ALREADY_TALLIED.toString());
77
+ }
78
+ return { isScheduled: true };
79
+ }
80
+ /**
81
+ * Return the poll end date and whether it is tallied
82
+ * @param args - Arguments to retrieve poll data
83
+ */
84
+ async getPollFinalizationData({ pollId, maciAddress, chain, sessionKeyAddress, approval, }) {
85
+ const signer = await this.sessionKeysService.getCoordinatorSigner(chain, sessionKeyAddress, approval);
86
+ const [{ endDate, isMerged }, isPollTallied] = await Promise.all([
87
+ getPoll({
88
+ maciAddress,
89
+ pollId: BigInt(pollId),
90
+ signer,
91
+ }),
92
+ isTallied({
93
+ maciAddress,
94
+ pollId: String(pollId),
95
+ signer,
96
+ }),
97
+ ]);
98
+ return {
99
+ endDate: Number(endDate),
100
+ isPollTallied: isMerged ? isPollTallied : false,
101
+ };
102
+ }
103
+ /**
104
+ * Store poll information and schedule its finalization.
105
+ * @param args - Arguments for storing and scheduling poll finalization
106
+ * @return delay in milliseconds until the poll is scheduled for finalization
107
+ */
108
+ async setupPollFinalization({ maciAddress, pollId, mode, deploymentBlockNumber, chain, endDate, }) {
109
+ const key = getPollKeyFromObject({ maciAddress, pollId, chain });
110
+ await this.redisService.set(key, JSON.stringify({
111
+ maciAddress,
112
+ pollId,
113
+ mode,
114
+ deploymentBlockNumber,
115
+ chain,
116
+ endDate,
117
+ }));
118
+ const shouldBeExecutedIn = endDate * 1000 - Date.now();
119
+ const toBeExecutedIn = shouldBeExecutedIn > 0 ? shouldBeExecutedIn : 0;
120
+ const delay = toBeExecutedIn + BUFFER_TIMEOUT;
121
+ const timeout = setTimeout(() => {
122
+ // TODO: execute this.finalizePoll (implementing this in the next PR)
123
+ this.redisService.delete(key);
124
+ }, delay);
125
+ const isPollTimeoutScheduled = this.schedulerRegistry.doesExist("timeout", key);
126
+ if (isPollTimeoutScheduled) {
127
+ this.logger.error(`Error: ${ErrorCodes.POLL_ALREADY_SCHEDULED}, poll is already scheduled`);
128
+ throw new Error(ErrorCodes.POLL_ALREADY_SCHEDULED.toString());
129
+ }
130
+ this.schedulerRegistry.addTimeout(key, timeout);
131
+ return { delay };
132
+ }
133
+ /**
134
+ * Schedule poll for finalization
135
+ * @param args - Arguments to register poll for finalization
136
+ * @returns Response object with isScheduled property indicating the poll is scheduled
137
+ */
138
+ async registerPoll({ maciAddress, pollId, chain, mode, deploymentBlockNumber, sessionKeyAddress, approval, }) {
139
+ const { endDate, isPollTallied } = await this.getPollFinalizationData({
140
+ maciAddress,
141
+ pollId,
142
+ chain,
143
+ sessionKeyAddress,
144
+ approval,
145
+ });
146
+ if (isPollTallied) {
147
+ this.logger.error(`Error: ${ErrorCodes.POLL_ALREADY_TALLIED}, poll has already been tallied`);
148
+ throw new Error(ErrorCodes.POLL_ALREADY_TALLIED.toString());
149
+ }
150
+ const { isScheduled } = await this.isPollScheduled({
151
+ maciAddress,
152
+ pollId,
153
+ chain,
154
+ });
155
+ if (isScheduled) {
156
+ this.logger.error(`Error: ${ErrorCodes.POLL_ALREADY_SCHEDULED}, poll is already scheduled`);
157
+ throw new Error(ErrorCodes.POLL_ALREADY_SCHEDULED.toString());
158
+ }
159
+ await this.setupPollFinalization({
160
+ maciAddress,
161
+ pollId,
162
+ chain,
163
+ deploymentBlockNumber,
164
+ mode,
165
+ endDate,
166
+ merged: false,
167
+ proofsGenerated: false,
168
+ });
169
+ return { isScheduled: true };
170
+ }
171
+ /**
172
+ * Delete scheduled poll
173
+ * @param args - Arguments to identify the scheduled poll
174
+ * @returns Response object with isScheduled property indicating the poll is no longer scheduled
175
+ */
176
+ async deleteScheduledPoll(scheduledPoll) {
177
+ const key = getPollKeyFromObject(scheduledPoll);
178
+ try {
179
+ this.schedulerRegistry.deleteTimeout(key);
180
+ }
181
+ catch (error) {
182
+ this.logger.error(`Failed to delete timeout for ${key}:`);
183
+ }
184
+ await this.redisService.delete(key);
185
+ return { isScheduled: false };
186
+ }
187
+ /**
188
+ * Restore all scheduled timeouts from Redis
189
+ */
190
+ async restoreTimeouts() {
191
+ const pollKeys = await this.redisService.getAll();
192
+ await Promise.all(pollKeys.map(async (key) => {
193
+ this.logger.log(`Restoring timeout for poll key: ${key}`);
194
+ try {
195
+ const value = await this.redisService.get(key);
196
+ if (!value) {
197
+ await this.redisService.delete(key);
198
+ return;
199
+ }
200
+ const poll = JSON.parse(value);
201
+ const { endDate, isPollTallied } = await this.getPollFinalizationData({
202
+ maciAddress: poll.maciAddress,
203
+ pollId: poll.pollId,
204
+ chain: poll.chain,
205
+ });
206
+ if (isPollTallied) {
207
+ await this.deleteScheduledPoll({
208
+ maciAddress: poll.maciAddress,
209
+ pollId: poll.pollId,
210
+ chain: poll.chain,
211
+ });
212
+ return;
213
+ }
214
+ const { delay } = await this.setupPollFinalization({
215
+ maciAddress: poll.maciAddress,
216
+ pollId: poll.pollId,
217
+ mode: poll.mode,
218
+ deploymentBlockNumber: poll.deploymentBlockNumber,
219
+ chain: poll.chain,
220
+ merged: poll.merged,
221
+ proofsGenerated: poll.proofsGenerated,
222
+ endDate,
223
+ });
224
+ this.logger.log(`poll ${value} to be executed at ${new Date(Date.now() + delay).toISOString()}`);
225
+ }
226
+ catch (error) {
227
+ this.logger.error(`Error restoring timeout for poll key: ${key}`, error);
228
+ }
229
+ }));
230
+ }
231
+ };
232
+ SchedulerService = SchedulerService_1 = __decorate([
233
+ Injectable(),
234
+ __metadata("design:paramtypes", [SessionKeysService,
235
+ RedisService,
236
+ SchedulerRegistry])
237
+ ], SchedulerService);
238
+ export { SchedulerService };
239
+ //# sourceMappingURL=scheduler.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.service.js","sourceRoot":"","sources":["../../../ts/scheduler/scheduler.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import type { IIdentityScheduledPoll, IScheduledPoll } from "../redis/types";
2
+ import type { Hex } from "viem";
3
+ /**
4
+ * Identity scheduled poll arguments with required arguments for signer
5
+ */
6
+ export interface IIdentityPollWithSignerArgs extends IIdentityScheduledPoll {
7
+ /**
8
+ * Approval for the session key
9
+ */
10
+ approval?: string;
11
+ /**
12
+ * Session key address
13
+ */
14
+ sessionKeyAddress?: Hex;
15
+ }
16
+ /**
17
+ * Scheduled poll arguments with required arguments for signer
18
+ */
19
+ export interface ISchedulePollWithSignerArgs extends IScheduledPoll {
20
+ /**
21
+ * Approval for the session key
22
+ */
23
+ approval?: string;
24
+ /**
25
+ * Session key address
26
+ */
27
+ sessionKeyAddress?: Hex;
28
+ }
29
+ /**
30
+ * poll end date and is tallied response
31
+ */
32
+ export interface IGetPollFinalizationData {
33
+ /**
34
+ * End date of the poll
35
+ */
36
+ endDate: number;
37
+ /**
38
+ * Indicates if the poll is tallied
39
+ */
40
+ isPollTallied: boolean;
41
+ }
42
+ /**
43
+ * Is poll scheduled response
44
+ */
45
+ export interface IIsPollScheduledResponse {
46
+ /**
47
+ * Indicates if the poll is scheduled
48
+ *
49
+ */
50
+ isScheduled: boolean;
51
+ }
52
+ /**
53
+ * Setup poll finalization response
54
+ */
55
+ export interface ISetupPollFinalizationResponse {
56
+ /**
57
+ * delay in milliseconds until poll finalization is executed
58
+ */
59
+ delay: number;
60
+ }
61
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/scheduler/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,sBAAsB;IACzE;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE,GAAG,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,cAAc;IACjE;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE,GAAG,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../ts/scheduler/types.ts"],"names":[],"mappings":""}
@@ -29,8 +29,8 @@ describe("SessionKeysController", () => {
29
29
  jest.clearAllMocks();
30
30
  });
31
31
  describe("v1/session-keys/generate", () => {
32
- test("should return a session key address", () => {
33
- const data = sessionKeysController.generateSessionKey();
32
+ test("should return a session key address", async () => {
33
+ const data = await sessionKeysController.generateSessionKey();
34
34
  expect(data).toStrictEqual(defaultGenerateSessionKeyReturn);
35
35
  });
36
36
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sessionKeys.controller.test.js","sourceRoot":"","sources":["../../../../ts/sessionKeys/__tests__/sessionKeys.controller.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAInC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,qBAA4C,CAAC;IAEjD,MAAM,sBAAsB,GAAG;QAC7B,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE;QAC7B,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE;KAChC,CAAC;IAEF,MAAM,+BAA+B,GAA8B;QACjE,iBAAiB,EAAE,WAAW;KAC/B,CAAC;IAEF,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;YACzC,WAAW,EAAE,CAAC,qBAAqB,CAAC;SACrC,CAAC;aACC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACnB,IAAI,KAAK,KAAK,kBAAkB,EAAE,CAAC;gBACjC,sBAAsB,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAC;gBAC7F,OAAO,sBAAsB,CAAC;YAChC,CAAC;YAED,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC;QACnB,CAAC,CAAC;aACD,OAAO,EAAE,CAAC;QAEb,qBAAqB,GAAG,GAAG,CAAC,GAAG,CAAwB,qBAAqB,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC/C,MAAM,IAAI,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACvC,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/E,MAAM,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"sessionKeys.controller.test.js","sourceRoot":"","sources":["../../../../ts/sessionKeys/__tests__/sessionKeys.controller.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAInC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,qBAA4C,CAAC;IAEjD,MAAM,sBAAsB,GAAG;QAC7B,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE;QAC7B,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE;KAChC,CAAC;IAEF,MAAM,+BAA+B,GAA8B;QACjE,iBAAiB,EAAE,WAAW;KAC/B,CAAC;IAEF,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;YACzC,WAAW,EAAE,CAAC,qBAAqB,CAAC;SACrC,CAAC;aACC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACnB,IAAI,KAAK,KAAK,kBAAkB,EAAE,CAAC;gBACjC,sBAAsB,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAC;gBAC7F,OAAO,sBAAsB,CAAC;YAChC,CAAC;YAED,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC;QACnB,CAAC,CAAC;aACD,OAAO,EAAE,CAAC;QAEb,qBAAqB,GAAG,GAAG,CAAC,GAAG,CAAwB,qBAAqB,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,kBAAkB,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACvC,qBAAqB,CAAC,oBAAoB,CAAC,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC,CAAC;YAC/E,MAAM,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionKeys.service.js","sourceRoot":"","sources":["../../../ts/sessionKeys/sessionKeys.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionKeys.service.js","sourceRoot":"","sources":["../../../ts/sessionKeys/sessionKeys.service.ts"],"names":[],"mappings":"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"}
@@ -40,12 +40,11 @@ describe("SubgraphService", () => {
40
40
  await expect(service.deploy(defaultArgs)).rejects.toThrow(ErrorCodes.SUBGRAPH_DEPLOY.toString());
41
41
  });
42
42
  test("should throw error if network is invalid", async () => {
43
- childProcess.execFile.mockRejectedValue(new Error());
44
43
  const service = new SubgraphService();
45
- await expect(service.deploy({ ...defaultArgs, network: "unknown" })).rejects.toThrow(ErrorCodes.SUBGRAPH_DEPLOY.toString());
44
+ await expect(service.deploy({ ...defaultArgs, network: "unknown" })).rejects.toThrow(ErrorCodes.UNSUPPORTED_NETWORK.toString());
46
45
  });
47
46
  test("should throw error if there is no subgraph url", async () => {
48
- childProcess.execFile.mockResolvedValue({ stdout: "" });
47
+ childProcess.execFile.mockResolvedValue({ stdout: "", stderr: "" });
49
48
  const service = new SubgraphService();
50
49
  await expect(service.deploy(defaultArgs)).rejects.toThrow(ErrorCodes.SUBGRAPH_DEPLOY.toString());
51
50
  });
@@ -1 +1 @@
1
- {"version":3,"file":"subgraph.service.test.js","sourceRoot":"","sources":["../../../../ts/subgraph/__tests__/subgraph.service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subgraph.service.test.js","sourceRoot":"","sources":["../../../../ts/subgraph/__tests__/subgraph.service.test.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,10 @@ export declare class SubgraphService {
7
7
  * Logger
8
8
  */
9
9
  private readonly logger;
10
+ /**
11
+ * Initialize service
12
+ */
13
+ constructor();
10
14
  /**
11
15
  * Generate proofs for message processing and tally
12
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"subgraph.service.d.ts","sourceRoot":"","sources":["../../../ts/subgraph/subgraph.service.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACtB,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,qBACa,eAAe;IAC1B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAE3D;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CA0FpG"}
1
+ {"version":3,"file":"subgraph.service.d.ts","sourceRoot":"","sources":["../../../ts/subgraph/subgraph.service.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACtB,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,qBACa,eAAe;IAC1B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;OAEG;;IAKH;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CA4FpG"}