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

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 (147) hide show
  1. package/README.md +4 -4
  2. package/build/hardhat.config.cjs +2 -3
  3. package/build/hardhat.config.cjs.map +1 -1
  4. package/build/hardhat.config.d.cts +2 -4
  5. package/build/scripts/generateKeypair.js +2 -2
  6. package/build/scripts/generateKeypair.js.map +1 -1
  7. package/build/tests/e2e.deploy.test.js +30 -19
  8. package/build/tests/e2e.deploy.test.js.map +1 -1
  9. package/build/tests/e2e.redis.test.d.ts +2 -0
  10. package/build/tests/e2e.redis.test.d.ts.map +1 -0
  11. package/build/tests/e2e.redis.test.js +119 -0
  12. package/build/tests/e2e.redis.test.js.map +1 -0
  13. package/build/tests/utils.d.ts.map +1 -1
  14. package/build/tests/utils.js +2 -2
  15. package/build/tests/utils.js.map +1 -1
  16. package/build/ts/app.module.d.ts.map +1 -1
  17. package/build/ts/app.module.js +6 -0
  18. package/build/ts/app.module.js.map +1 -1
  19. package/build/ts/common/__tests__/common.test.js +8 -18
  20. package/build/ts/common/__tests__/common.test.js.map +1 -1
  21. package/build/ts/common/accountAbstraction.d.ts +1 -1
  22. package/build/ts/common/accountAbstraction.d.ts.map +1 -1
  23. package/build/ts/common/accountAbstraction.js +4 -5
  24. package/build/ts/common/accountAbstraction.js.map +1 -1
  25. package/build/ts/common/chain.d.ts +2 -2
  26. package/build/ts/common/chain.d.ts.map +1 -1
  27. package/build/ts/common/chain.js +10 -9
  28. package/build/ts/common/chain.js.map +1 -1
  29. package/build/ts/common/errors.d.ts +15 -11
  30. package/build/ts/common/errors.d.ts.map +1 -1
  31. package/build/ts/common/errors.js +15 -11
  32. package/build/ts/common/errors.js.map +1 -1
  33. package/build/ts/deployer/__tests__/deployer.controller.test.js +17 -20
  34. package/build/ts/deployer/__tests__/deployer.controller.test.js.map +1 -1
  35. package/build/ts/deployer/__tests__/deployer.service.test.js +161 -79
  36. package/build/ts/deployer/__tests__/deployer.service.test.js.map +1 -1
  37. package/build/ts/deployer/__tests__/utils.d.ts +0 -1
  38. package/build/ts/deployer/__tests__/utils.d.ts.map +1 -1
  39. package/build/ts/deployer/__tests__/utils.js +4 -4
  40. package/build/ts/deployer/__tests__/utils.js.map +1 -1
  41. package/build/ts/deployer/deployer.service.d.ts +17 -7
  42. package/build/ts/deployer/deployer.service.d.ts.map +1 -1
  43. package/build/ts/deployer/deployer.service.js +209 -56
  44. package/build/ts/deployer/deployer.service.js.map +1 -1
  45. package/build/ts/deployer/types.d.ts +18 -11
  46. package/build/ts/deployer/types.d.ts.map +1 -1
  47. package/build/ts/file/file.service.d.ts.map +1 -1
  48. package/build/ts/file/file.service.js +4 -3
  49. package/build/ts/file/file.service.js.map +1 -1
  50. package/build/ts/health/__tests__/health.controller.test.d.ts +2 -0
  51. package/build/ts/health/__tests__/health.controller.test.d.ts.map +1 -0
  52. package/build/ts/health/__tests__/health.controller.test.js +52 -0
  53. package/build/ts/health/__tests__/health.controller.test.js.map +1 -0
  54. package/build/ts/health/__tests__/health.service.test.d.ts +2 -0
  55. package/build/ts/health/__tests__/health.service.test.d.ts.map +1 -0
  56. package/build/ts/health/__tests__/health.service.test.js +101 -0
  57. package/build/ts/health/__tests__/health.service.test.js.map +1 -0
  58. package/build/ts/health/health.controller.d.ts +16 -0
  59. package/build/ts/health/health.controller.d.ts.map +1 -0
  60. package/build/ts/health/health.controller.js +43 -0
  61. package/build/ts/health/health.controller.js.map +1 -0
  62. package/build/ts/health/health.module.d.ts +3 -0
  63. package/build/ts/health/health.module.d.ts.map +1 -0
  64. package/build/ts/health/health.module.js +22 -0
  65. package/build/ts/health/health.module.js.map +1 -0
  66. package/build/ts/health/health.service.d.ts +42 -0
  67. package/build/ts/health/health.service.d.ts.map +1 -0
  68. package/build/ts/health/health.service.js +176 -0
  69. package/build/ts/health/health.service.js.map +1 -0
  70. package/build/ts/health/types.d.ts +87 -0
  71. package/build/ts/health/types.d.ts.map +1 -0
  72. package/build/ts/health/types.js +2 -0
  73. package/build/ts/health/types.js.map +1 -0
  74. package/build/ts/proof/__tests__/proof.service.test.js +23 -54
  75. package/build/ts/proof/__tests__/proof.service.test.js.map +1 -1
  76. package/build/ts/proof/proof.service.d.ts.map +1 -1
  77. package/build/ts/proof/proof.service.js.map +1 -1
  78. package/build/ts/redis/__tests__/redis.service.test.d.ts +2 -0
  79. package/build/ts/redis/__tests__/redis.service.test.d.ts.map +1 -0
  80. package/build/ts/redis/__tests__/redis.service.test.js +149 -0
  81. package/build/ts/redis/__tests__/redis.service.test.js.map +1 -0
  82. package/build/ts/redis/redis.module.d.ts +3 -0
  83. package/build/ts/redis/redis.module.d.ts.map +1 -0
  84. package/build/ts/redis/redis.module.js +18 -0
  85. package/build/ts/redis/redis.module.js.map +1 -0
  86. package/build/ts/redis/redis.service.d.ts +52 -0
  87. package/build/ts/redis/redis.service.d.ts.map +1 -0
  88. package/build/ts/redis/redis.service.js +97 -0
  89. package/build/ts/redis/redis.service.js.map +1 -0
  90. package/build/ts/redis/types.d.ts +54 -0
  91. package/build/ts/redis/types.d.ts.map +1 -0
  92. package/build/ts/redis/types.js +2 -0
  93. package/build/ts/redis/types.js.map +1 -0
  94. package/build/ts/redis/utils.d.ts +20 -0
  95. package/build/ts/redis/utils.d.ts.map +1 -0
  96. package/build/ts/redis/utils.js +27 -0
  97. package/build/ts/redis/utils.js.map +1 -0
  98. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts +2 -0
  99. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts.map +1 -0
  100. package/build/ts/scheduler/__tests__/scheduler.controller.test.js +63 -0
  101. package/build/ts/scheduler/__tests__/scheduler.controller.test.js.map +1 -0
  102. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts +2 -0
  103. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts.map +1 -0
  104. package/build/ts/scheduler/__tests__/scheduler.service.test.js +264 -0
  105. package/build/ts/scheduler/__tests__/scheduler.service.test.js.map +1 -0
  106. package/build/ts/scheduler/dto.d.ts +42 -0
  107. package/build/ts/scheduler/dto.d.ts.map +1 -0
  108. package/build/ts/scheduler/dto.js +116 -0
  109. package/build/ts/scheduler/dto.js.map +1 -0
  110. package/build/ts/scheduler/scheduler.controller.d.ts +32 -0
  111. package/build/ts/scheduler/scheduler.controller.d.ts.map +1 -0
  112. package/build/ts/scheduler/scheduler.controller.js +111 -0
  113. package/build/ts/scheduler/scheduler.controller.js.map +1 -0
  114. package/build/ts/scheduler/scheduler.module.d.ts +3 -0
  115. package/build/ts/scheduler/scheduler.module.d.ts.map +1 -0
  116. package/build/ts/scheduler/scheduler.module.js +23 -0
  117. package/build/ts/scheduler/scheduler.module.js.map +1 -0
  118. package/build/ts/scheduler/scheduler.service.d.ts +63 -0
  119. package/build/ts/scheduler/scheduler.service.d.ts.map +1 -0
  120. package/build/ts/scheduler/scheduler.service.js +239 -0
  121. package/build/ts/scheduler/scheduler.service.js.map +1 -0
  122. package/build/ts/scheduler/types.d.ts +61 -0
  123. package/build/ts/scheduler/types.d.ts.map +1 -0
  124. package/build/ts/scheduler/types.js +2 -0
  125. package/build/ts/scheduler/types.js.map +1 -0
  126. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js +2 -2
  127. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js.map +1 -1
  128. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js +30 -16
  129. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js.map +1 -1
  130. package/build/ts/sessionKeys/__tests__/utils.d.ts.map +1 -1
  131. package/build/ts/sessionKeys/__tests__/utils.js +4 -5
  132. package/build/ts/sessionKeys/__tests__/utils.js.map +1 -1
  133. package/build/ts/sessionKeys/sessionKeys.service.d.ts.map +1 -1
  134. package/build/ts/sessionKeys/sessionKeys.service.js +1 -2
  135. package/build/ts/sessionKeys/sessionKeys.service.js.map +1 -1
  136. package/build/ts/subgraph/__tests__/subgraph.service.test.js +2 -3
  137. package/build/ts/subgraph/__tests__/subgraph.service.test.js.map +1 -1
  138. package/build/ts/subgraph/subgraph.service.d.ts +4 -0
  139. package/build/ts/subgraph/subgraph.service.d.ts.map +1 -1
  140. package/build/ts/subgraph/subgraph.service.js +16 -5
  141. package/build/ts/subgraph/subgraph.service.js.map +1 -1
  142. package/build/tsconfig.build.tsbuildinfo +1 -1
  143. package/package.json +34 -30
  144. package/build/tests/e2e.aa.test.d.ts +0 -2
  145. package/build/tests/e2e.aa.test.d.ts.map +0 -1
  146. package/build/tests/e2e.aa.test.js +0 -96
  147. package/build/tests/e2e.aa.test.js.map +0 -1
@@ -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,3 +1,4 @@
1
+ import { createKernelAccount, createKernelAccountClient } from "@zerodev/sdk";
1
2
  import dotenv from "dotenv";
2
3
  import { zeroAddress } from "viem";
3
4
  import { ErrorCodes, ESupportedNetworks } from "../../common";
@@ -5,14 +6,30 @@ import { FileService } from "../../file/file.service";
5
6
  import { SessionKeysService } from "../sessionKeys.service";
6
7
  import { generateApproval } from "./utils";
7
8
  dotenv.config();
9
+ jest.mock("@zerodev/sdk", () => ({
10
+ ...jest.requireActual("@zerodev/sdk"),
11
+ createKernelAccount: jest.fn(),
12
+ createKernelAccountClient: jest.fn(),
13
+ }));
14
+ jest.mock("@zerodev/permissions", () => ({
15
+ ...jest.requireActual("@zerodev/permissions"),
16
+ serializePermissionAccount: jest.fn().mockResolvedValue("approval"),
17
+ deserializePermissionAccount: jest.fn().mockResolvedValue({}),
18
+ }));
8
19
  describe("SessionKeysService", () => {
9
20
  const fileService = new FileService();
10
- let sessionKeysService;
11
- beforeAll(() => {
12
- sessionKeysService = new SessionKeysService(fileService);
21
+ const mockedKernelAccount = { mockedAccount: true };
22
+ const mockedKernelAccountClient = { mockedAccountClient: true };
23
+ beforeEach(() => {
24
+ createKernelAccount.mockResolvedValue(mockedKernelAccount);
25
+ createKernelAccountClient.mockResolvedValue(mockedKernelAccountClient);
26
+ });
27
+ afterEach(() => {
28
+ jest.clearAllMocks();
13
29
  });
14
30
  describe("generateSessionKey", () => {
15
31
  test("should generate and store a session key", async () => {
32
+ const sessionKeysService = new SessionKeysService(fileService);
16
33
  const sessionKeyAddress = await sessionKeysService.generateSessionKey();
17
34
  expect(sessionKeyAddress).toBeDefined();
18
35
  expect(sessionKeyAddress).not.toEqual(zeroAddress);
@@ -22,6 +39,7 @@ describe("SessionKeysService", () => {
22
39
  });
23
40
  describe("deactivateSessionKey", () => {
24
41
  test("should delete a session key", async () => {
42
+ const sessionKeysService = new SessionKeysService(fileService);
25
43
  const sessionKeyAddress = await sessionKeysService.generateSessionKey();
26
44
  expect(sessionKeyAddress).toBeDefined();
27
45
  expect(sessionKeyAddress).not.toEqual(zeroAddress);
@@ -34,27 +52,23 @@ describe("SessionKeysService", () => {
34
52
  });
35
53
  describe("generateClientFromSessionKey", () => {
36
54
  test("should fail to generate a client with an invalid approval", async () => {
55
+ createKernelAccountClient.mockRejectedValue(new Error());
56
+ const sessionKeysService = new SessionKeysService(fileService);
37
57
  const sessionKeyAddress = await sessionKeysService.generateSessionKey();
38
58
  await expect(sessionKeysService.generateClientFromSessionKey(sessionKeyAddress.sessionKeyAddress, "0xinvalid", ESupportedNetworks.OPTIMISM_SEPOLIA)).rejects.toThrow(ErrorCodes.INVALID_APPROVAL.toString());
39
59
  });
40
60
  test("should throw when given a non existent session key address", async () => {
61
+ const sessionKeysService = new SessionKeysService(fileService);
41
62
  const approval = await generateApproval(zeroAddress);
42
63
  await expect(sessionKeysService.generateClientFromSessionKey(zeroAddress, approval, ESupportedNetworks.OPTIMISM_SEPOLIA)).rejects.toThrow(ErrorCodes.SESSION_KEY_NOT_FOUND.toString());
43
64
  });
44
65
  test("should generate a client from a session key", async () => {
45
- jest.mock("@zerodev/sdk", () => ({
46
- ...jest.requireActual("@zerodev/sdk"),
47
- createKernelAccountClient: jest.fn().mockReturnValue({ mockedKernelClient: true }),
48
- }));
49
- const mockGenerateClientFromSessionKey = jest.fn().mockResolvedValue({ mockedClient: true });
50
- jest
51
- .spyOn(SessionKeysService.prototype, "generateClientFromSessionKey")
52
- .mockImplementation(mockGenerateClientFromSessionKey);
53
- const sessionKeyAddress = await sessionKeysService.generateSessionKey();
54
- const approval = await generateApproval(sessionKeyAddress.sessionKeyAddress);
55
- const client = await sessionKeysService.generateClientFromSessionKey(sessionKeyAddress.sessionKeyAddress, approval, ESupportedNetworks.OPTIMISM_SEPOLIA);
56
- expect(mockGenerateClientFromSessionKey).toHaveBeenCalledWith(sessionKeyAddress.sessionKeyAddress, approval, ESupportedNetworks.OPTIMISM_SEPOLIA);
57
- expect(client).toEqual({ mockedClient: true });
66
+ const sessionKeysService = new SessionKeysService(fileService);
67
+ const { sessionKeyAddress } = await sessionKeysService.generateSessionKey();
68
+ const approval = await generateApproval(sessionKeyAddress);
69
+ const client = await sessionKeysService.generateClientFromSessionKey(sessionKeyAddress, approval, ESupportedNetworks.OPTIMISM_SEPOLIA);
70
+ expect(createKernelAccountClient).toHaveBeenCalledTimes(1);
71
+ expect(client).toEqual(mockedKernelAccountClient);
58
72
  });
59
73
  });
60
74
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sessionKeys.service.test.js","sourceRoot":"","sources":["../../../../ts/sessionKeys/__tests__/sessionKeys.service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionKeys.service.test.js","sourceRoot":"","sources":["../../../../ts/sessionKeys/__tests__/sessionKeys.service.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../ts/sessionKeys/__tests__/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAqD,MAAM,sBAAsB,CAAC;AAGtG,OAAO,EAA8C,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAGzG,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAQhC,eAAO,MAAM,WAAW,oDAAuB,CAAC;AAChD,eAAO,MAAM,cAAc,qDAAc,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,MAItE,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAU,mBAAmB,GAAG,KAAG,OAAO,CAAC,6BAA6B,CA6BpG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAU,mBAAmB,GAAG,KAAG,OAAO,CAAC,MAAM,CAG7E,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../ts/sessionKeys/__tests__/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAqD,MAAM,sBAAsB,CAAC;AAGtG,OAAO,EAA8C,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAGzG,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAQhC,eAAO,MAAM,WAAW,oDAAuB,CAAC;AAChD,eAAO,MAAM,cAAc,qDAAc,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,MAItE,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAU,mBAAmB,GAAG,KAAG,OAAO,CAAC,6BAA6B,CA4BpG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAU,mBAAmB,GAAG,KAAG,OAAO,CAAC,MAAM,CAG7E,CAAC"}
@@ -27,8 +27,8 @@ export const generateTimestampPolicy = (endTime, start) => toTimestampPolicy({
27
27
  * @returns - the kernel account
28
28
  */
29
29
  export const getKernelAccount = async (sessionKeyAddress) => {
30
- const publicClient = getPublicClient(ESupportedNetworks.OPTIMISM_SEPOLIA);
31
- const sessionKeySigner = privateKeyToAccount(process.env.TEST_PRIVATE_KEY);
30
+ const publicClient = await getPublicClient(ESupportedNetworks.OPTIMISM_SEPOLIA);
31
+ const sessionKeySigner = privateKeyToAccount(process.env.PRIVATE_KEY);
32
32
  const ecdsaValidator = await signerToEcdsaValidator(publicClient, {
33
33
  signer: sessionKeySigner,
34
34
  entryPoint: ENTRY_POINT,
@@ -42,7 +42,7 @@ export const getKernelAccount = async (sessionKeyAddress) => {
42
42
  signer: emptySessionKeySigner,
43
43
  policies: [toSudoPolicy({})],
44
44
  });
45
- const sessionKeyAccount = await createKernelAccount(publicClient, {
45
+ return await createKernelAccount(publicClient, {
46
46
  entryPoint: ENTRY_POINT,
47
47
  kernelVersion: KERNEL_VERSION,
48
48
  plugins: {
@@ -50,7 +50,6 @@ export const getKernelAccount = async (sessionKeyAddress) => {
50
50
  regular: permissionPlugin,
51
51
  },
52
52
  });
53
- return sessionKeyAccount;
54
53
  };
55
54
  /**
56
55
  * Generate an approval for a session key
@@ -59,6 +58,6 @@ export const getKernelAccount = async (sessionKeyAddress) => {
59
58
  */
60
59
  export const generateApproval = async (sessionKeyAddress) => {
61
60
  const sessionKeyAccount = await getKernelAccount(sessionKeyAddress);
62
- return serializePermissionAccount(sessionKeyAccount);
61
+ return await serializePermissionAccount(sessionKeyAccount);
63
62
  };
64
63
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../ts/sessionKeys/__tests__/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAe,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAiC,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAe,EAAE,KAAc,EAAU,EAAE,CACjF,iBAAiB,CAAC;IAChB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,OAAO;CACpB,CAAC,CAAC;AAEL;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,iBAAsB,EAA0C,EAAE;IACvG,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAE1E,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAwB,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC,YAAY,EAAE;QAChE,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,cAAc;KAC9B,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAC9D,MAAM,qBAAqB,GAAG,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAE5E,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE;QACjE,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,cAAc;QAC7B,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;KAC7B,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE;QAChE,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,cAAc;QAC7B,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,gBAAgB;SAC1B;KACF,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,iBAAsB,EAAmB,EAAE;IAChF,MAAM,iBAAiB,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IACpE,OAAO,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;AACvD,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../ts/sessionKeys/__tests__/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAe,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAiC,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAe,EAAE,KAAc,EAAU,EAAE,CACjF,iBAAiB,CAAC;IAChB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,OAAO;CACpB,CAAC,CAAC;AAEL;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,iBAAsB,EAA0C,EAAE;IACvG,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAEhF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,WAAmB,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC,YAAY,EAAE;QAChE,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,cAAc;KAC9B,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAC9D,MAAM,qBAAqB,GAAG,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAE5E,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE;QACjE,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,cAAc;QAC7B,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;KAC7B,CAAC,CAAC;IAEH,OAAO,MAAM,mBAAmB,CAAC,YAAY,EAAE;QAC7C,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,cAAc;QAC7B,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,gBAAgB;SAC1B;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,iBAAsB,EAAmB,EAAE;IAChF,MAAM,iBAAiB,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IACpE,OAAO,MAAM,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;AAC7D,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionKeys.service.d.ts","sourceRoot":"","sources":["../../../ts/sessionKeys/sessionKeys.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAAc,kBAAkB,EAAa,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEpD;;GAEG;AACH,qBACa,kBAAkB;IAWjB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAVxC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;;;OAIG;gBAC0B,WAAW,EAAE,WAAW;IAIrD;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAiB9D;;;;;;;OAOG;IACG,4BAA4B,CAChC,iBAAiB,EAAE,GAAG,EACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,gBAAgB,CAAC;IAkB5B;;;;;OAKG;IACG,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU9E;;;;;;;;OAQG;IACG,oBAAoB,CACxB,KAAK,EAAE,kBAAkB,EACzB,iBAAiB,CAAC,EAAE,GAAG,EACvB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;IAS7B;;;;OAIG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,GAAG,GAAG,IAAI;CAGnD"}
1
+ {"version":3,"file":"sessionKeys.service.d.ts","sourceRoot":"","sources":["../../../ts/sessionKeys/sessionKeys.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAAc,kBAAkB,EAAa,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEpD;;GAEG;AACH,qBACa,kBAAkB;IAWjB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAVxC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;;;OAIG;gBAC0B,WAAW,EAAE,WAAW;IAIrD;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAiB9D;;;;;;;OAOG;IACG,4BAA4B,CAChC,iBAAiB,EAAE,GAAG,EACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,gBAAgB,CAAC;IAiB5B;;;;;OAKG;IACG,qBAAqB,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU9E;;;;;;;;OAQG;IACG,oBAAoB,CACxB,KAAK,EAAE,kBAAkB,EACzB,iBAAiB,CAAC,EAAE,GAAG,EACvB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;IAS7B;;;;OAIG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,GAAG,GAAG,IAAI;CAGnD"}
@@ -67,8 +67,7 @@ let SessionKeysService = SessionKeysService_1 = class SessionKeysService {
67
67
  throw new Error(ErrorCodes.SESSION_KEY_NOT_FOUND.toString());
68
68
  }
69
69
  try {
70
- const kernelClient = getKernelClient(sessionKey, approval, chain);
71
- return kernelClient;
70
+ return await getKernelClient(sessionKey, approval, chain);
72
71
  }
73
72
  catch (error) {
74
73
  this.logger.error("Error:", error);
@@ -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"}