@maci-protocol/coordinator 0.0.0-ci.9342f07 → 0.0.0-ci.9819a21

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 (232) hide show
  1. package/LICENSE +1 -2
  2. package/README.md +31 -6
  3. package/build/hardhat.config.cjs +9 -3
  4. package/build/hardhat.config.cjs.map +1 -1
  5. package/build/hardhat.config.d.cts +9 -4
  6. package/build/scripts/generateKeypair.js +2 -2
  7. package/build/scripts/generateKeypair.js.map +1 -1
  8. package/build/scripts/generateMaciKeyPair.js +2 -2
  9. package/build/scripts/generateMaciKeyPair.js.map +1 -1
  10. package/build/tests/constants.d.ts +3 -4
  11. package/build/tests/constants.d.ts.map +1 -1
  12. package/build/tests/constants.js +5 -4
  13. package/build/tests/constants.js.map +1 -1
  14. package/build/tests/e2e.deploy.test.js +132 -102
  15. package/build/tests/e2e.deploy.test.js.map +1 -1
  16. package/build/tests/e2e.redis.test.d.ts +2 -0
  17. package/build/tests/e2e.redis.test.d.ts.map +1 -0
  18. package/build/tests/e2e.redis.test.js +118 -0
  19. package/build/tests/e2e.redis.test.js.map +1 -0
  20. package/build/tests/utils.d.ts +7 -1
  21. package/build/tests/utils.d.ts.map +1 -1
  22. package/build/tests/utils.js +17 -6
  23. package/build/tests/utils.js.map +1 -1
  24. package/build/ts/app.module.d.ts.map +1 -1
  25. package/build/ts/app.module.js +6 -0
  26. package/build/ts/app.module.js.map +1 -1
  27. package/build/ts/common/__tests__/common.test.js +44 -46
  28. package/build/ts/common/__tests__/common.test.js.map +1 -1
  29. package/build/ts/common/accountAbstraction.d.ts +7 -24
  30. package/build/ts/common/accountAbstraction.d.ts.map +1 -1
  31. package/build/ts/common/accountAbstraction.js +22 -49
  32. package/build/ts/common/accountAbstraction.js.map +1 -1
  33. package/build/ts/common/chain.d.ts +22 -0
  34. package/build/ts/common/chain.d.ts.map +1 -0
  35. package/build/ts/common/chain.js +37 -0
  36. package/build/ts/common/chain.js.map +1 -0
  37. package/build/ts/common/coordinatorKeypair.d.ts +7 -0
  38. package/build/ts/common/coordinatorKeypair.d.ts.map +1 -0
  39. package/build/ts/common/coordinatorKeypair.js +14 -0
  40. package/build/ts/common/coordinatorKeypair.js.map +1 -0
  41. package/build/ts/common/errors.d.ts +13 -10
  42. package/build/ts/common/errors.d.ts.map +1 -1
  43. package/build/ts/common/errors.js +12 -9
  44. package/build/ts/common/errors.js.map +1 -1
  45. package/build/ts/common/http.d.ts +6 -0
  46. package/build/ts/common/http.d.ts.map +1 -0
  47. package/build/ts/common/http.js +49 -0
  48. package/build/ts/common/http.js.map +1 -0
  49. package/build/ts/common/index.d.ts +3 -1
  50. package/build/ts/common/index.d.ts.map +1 -1
  51. package/build/ts/common/index.js +3 -1
  52. package/build/ts/common/index.js.map +1 -1
  53. package/build/ts/common/networks.d.ts +2 -21
  54. package/build/ts/common/networks.d.ts.map +1 -1
  55. package/build/ts/common/networks.js +39 -48
  56. package/build/ts/common/networks.js.map +1 -1
  57. package/build/ts/common/types.d.ts +3 -4
  58. package/build/ts/common/types.d.ts.map +1 -1
  59. package/build/ts/deployer/__tests__/deployer.controller.test.js +23 -25
  60. package/build/ts/deployer/__tests__/deployer.controller.test.js.map +1 -1
  61. package/build/ts/deployer/__tests__/deployer.service.test.js +182 -337
  62. package/build/ts/deployer/__tests__/deployer.service.test.js.map +1 -1
  63. package/build/ts/deployer/__tests__/utils.d.ts +31 -6
  64. package/build/ts/deployer/__tests__/utils.d.ts.map +1 -1
  65. package/build/ts/deployer/__tests__/utils.js +48 -15
  66. package/build/ts/deployer/__tests__/utils.js.map +1 -1
  67. package/build/ts/deployer/deployer.controller.d.ts.map +1 -1
  68. package/build/ts/deployer/deployer.controller.js +19 -6
  69. package/build/ts/deployer/deployer.controller.js.map +1 -1
  70. package/build/ts/deployer/deployer.service.d.ts +26 -53
  71. package/build/ts/deployer/deployer.service.d.ts.map +1 -1
  72. package/build/ts/deployer/deployer.service.js +345 -467
  73. package/build/ts/deployer/deployer.service.js.map +1 -1
  74. package/build/ts/deployer/dto.d.ts +7 -7
  75. package/build/ts/deployer/dto.d.ts.map +1 -1
  76. package/build/ts/deployer/dto.js +14 -6
  77. package/build/ts/deployer/dto.js.map +1 -1
  78. package/build/ts/deployer/types.d.ts +91 -46
  79. package/build/ts/deployer/types.d.ts.map +1 -1
  80. package/build/ts/file/__tests__/file.service.test.js +12 -11
  81. package/build/ts/file/__tests__/file.service.test.js.map +1 -1
  82. package/build/ts/file/file.service.d.ts +4 -3
  83. package/build/ts/file/file.service.d.ts.map +1 -1
  84. package/build/ts/file/file.service.js +16 -10
  85. package/build/ts/file/file.service.js.map +1 -1
  86. package/build/ts/file/types.d.ts +2 -2
  87. package/build/ts/file/types.d.ts.map +1 -1
  88. package/build/ts/health/__tests__/health.controller.test.d.ts +2 -0
  89. package/build/ts/health/__tests__/health.controller.test.d.ts.map +1 -0
  90. package/build/ts/health/__tests__/health.controller.test.js +52 -0
  91. package/build/ts/health/__tests__/health.controller.test.js.map +1 -0
  92. package/build/ts/health/__tests__/health.service.test.d.ts +2 -0
  93. package/build/ts/health/__tests__/health.service.test.d.ts.map +1 -0
  94. package/build/ts/health/__tests__/health.service.test.js +101 -0
  95. package/build/ts/health/__tests__/health.service.test.js.map +1 -0
  96. package/build/ts/health/health.controller.d.ts +16 -0
  97. package/build/ts/health/health.controller.d.ts.map +1 -0
  98. package/build/ts/health/health.controller.js +43 -0
  99. package/build/ts/health/health.controller.js.map +1 -0
  100. package/build/ts/health/health.module.d.ts +3 -0
  101. package/build/ts/health/health.module.d.ts.map +1 -0
  102. package/build/ts/health/health.module.js +22 -0
  103. package/build/ts/health/health.module.js.map +1 -0
  104. package/build/ts/health/health.service.d.ts +42 -0
  105. package/build/ts/health/health.service.d.ts.map +1 -0
  106. package/build/ts/health/health.service.js +176 -0
  107. package/build/ts/health/health.service.js.map +1 -0
  108. package/build/ts/health/types.d.ts +87 -0
  109. package/build/ts/health/types.d.ts.map +1 -0
  110. package/build/ts/health/types.js +2 -0
  111. package/build/ts/health/types.js.map +1 -0
  112. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.d.ts +11 -0
  113. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.d.ts.map +1 -0
  114. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.js +12 -0
  115. package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.js.map +1 -0
  116. package/build/ts/proof/__tests__/proof.controller.test.js +8 -7
  117. package/build/ts/proof/__tests__/proof.controller.test.js.map +1 -1
  118. package/build/ts/proof/__tests__/proof.gateway.test.js +5 -3
  119. package/build/ts/proof/__tests__/proof.gateway.test.js.map +1 -1
  120. package/build/ts/proof/__tests__/proof.service.test.js +31 -75
  121. package/build/ts/proof/__tests__/proof.service.test.js.map +1 -1
  122. package/build/ts/proof/dto.d.ts +15 -18
  123. package/build/ts/proof/dto.d.ts.map +1 -1
  124. package/build/ts/proof/dto.js +55 -49
  125. package/build/ts/proof/dto.js.map +1 -1
  126. package/build/ts/proof/proof.controller.d.ts +3 -2
  127. package/build/ts/proof/proof.controller.d.ts.map +1 -1
  128. package/build/ts/proof/proof.controller.js +38 -15
  129. package/build/ts/proof/proof.controller.js.map +1 -1
  130. package/build/ts/proof/proof.module.d.ts.map +1 -1
  131. package/build/ts/proof/proof.module.js +1 -0
  132. package/build/ts/proof/proof.module.js.map +1 -1
  133. package/build/ts/proof/proof.service.d.ts +4 -6
  134. package/build/ts/proof/proof.service.d.ts.map +1 -1
  135. package/build/ts/proof/proof.service.js +48 -130
  136. package/build/ts/proof/proof.service.js.map +1 -1
  137. package/build/ts/proof/types.d.ts +21 -17
  138. package/build/ts/proof/types.d.ts.map +1 -1
  139. package/build/ts/proof/types.js.map +1 -1
  140. package/build/ts/redis/__tests__/redis.service.test.d.ts +2 -0
  141. package/build/ts/redis/__tests__/redis.service.test.d.ts.map +1 -0
  142. package/build/ts/redis/__tests__/redis.service.test.js +148 -0
  143. package/build/ts/redis/__tests__/redis.service.test.js.map +1 -0
  144. package/build/ts/redis/redis.module.d.ts +3 -0
  145. package/build/ts/redis/redis.module.d.ts.map +1 -0
  146. package/build/ts/redis/redis.module.js +18 -0
  147. package/build/ts/redis/redis.module.js.map +1 -0
  148. package/build/ts/redis/redis.service.d.ts +53 -0
  149. package/build/ts/redis/redis.service.d.ts.map +1 -0
  150. package/build/ts/redis/redis.service.js +99 -0
  151. package/build/ts/redis/redis.service.js.map +1 -0
  152. package/build/ts/redis/types.d.ts +66 -0
  153. package/build/ts/redis/types.d.ts.map +1 -0
  154. package/build/ts/redis/types.js +2 -0
  155. package/build/ts/redis/types.js.map +1 -0
  156. package/build/ts/redis/utils.d.ts +20 -0
  157. package/build/ts/redis/utils.d.ts.map +1 -0
  158. package/build/ts/redis/utils.js +27 -0
  159. package/build/ts/redis/utils.js.map +1 -0
  160. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts +2 -0
  161. package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts.map +1 -0
  162. package/build/ts/scheduler/__tests__/scheduler.controller.test.js +62 -0
  163. package/build/ts/scheduler/__tests__/scheduler.controller.test.js.map +1 -0
  164. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts +2 -0
  165. package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts.map +1 -0
  166. package/build/ts/scheduler/__tests__/scheduler.service.test.js +369 -0
  167. package/build/ts/scheduler/__tests__/scheduler.service.test.js.map +1 -0
  168. package/build/ts/scheduler/dto.d.ts +41 -0
  169. package/build/ts/scheduler/dto.d.ts.map +1 -0
  170. package/build/ts/scheduler/dto.js +115 -0
  171. package/build/ts/scheduler/dto.js.map +1 -0
  172. package/build/ts/scheduler/scheduler.controller.d.ts +32 -0
  173. package/build/ts/scheduler/scheduler.controller.d.ts.map +1 -0
  174. package/build/ts/scheduler/scheduler.controller.js +118 -0
  175. package/build/ts/scheduler/scheduler.controller.js.map +1 -0
  176. package/build/ts/scheduler/scheduler.module.d.ts +3 -0
  177. package/build/ts/scheduler/scheduler.module.d.ts.map +1 -0
  178. package/build/ts/scheduler/scheduler.module.js +24 -0
  179. package/build/ts/scheduler/scheduler.module.js.map +1 -0
  180. package/build/ts/scheduler/scheduler.service.d.ts +71 -0
  181. package/build/ts/scheduler/scheduler.service.d.ts.map +1 -0
  182. package/build/ts/scheduler/scheduler.service.js +297 -0
  183. package/build/ts/scheduler/scheduler.service.js.map +1 -0
  184. package/build/ts/scheduler/types.d.ts +65 -0
  185. package/build/ts/scheduler/types.d.ts.map +1 -0
  186. package/build/ts/scheduler/types.js +2 -0
  187. package/build/ts/scheduler/types.js.map +1 -0
  188. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js +2 -2
  189. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js.map +1 -1
  190. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js +34 -19
  191. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js.map +1 -1
  192. package/build/ts/sessionKeys/__tests__/utils.d.ts +1 -1
  193. package/build/ts/sessionKeys/__tests__/utils.d.ts.map +1 -1
  194. package/build/ts/sessionKeys/__tests__/utils.js +7 -6
  195. package/build/ts/sessionKeys/__tests__/utils.js.map +1 -1
  196. package/build/ts/sessionKeys/provider/KernelEIP1193Provider.d.ts +53 -0
  197. package/build/ts/sessionKeys/provider/KernelEIP1193Provider.d.ts.map +1 -0
  198. package/build/ts/sessionKeys/provider/KernelEIP1193Provider.js +105 -0
  199. package/build/ts/sessionKeys/provider/KernelEIP1193Provider.js.map +1 -0
  200. package/build/ts/sessionKeys/sessionKeys.service.d.ts +16 -4
  201. package/build/ts/sessionKeys/sessionKeys.service.d.ts.map +1 -1
  202. package/build/ts/sessionKeys/sessionKeys.service.js +23 -6
  203. package/build/ts/sessionKeys/sessionKeys.service.js.map +1 -1
  204. package/build/ts/subgraph/__tests__/subgraph.controller.test.js +3 -3
  205. package/build/ts/subgraph/__tests__/subgraph.controller.test.js.map +1 -1
  206. package/build/ts/subgraph/__tests__/subgraph.gateway.test.js +2 -2
  207. package/build/ts/subgraph/__tests__/subgraph.gateway.test.js.map +1 -1
  208. package/build/ts/subgraph/__tests__/subgraph.service.test.js +5 -5
  209. package/build/ts/subgraph/__tests__/subgraph.service.test.js.map +1 -1
  210. package/build/ts/subgraph/dto.d.ts +2 -2
  211. package/build/ts/subgraph/dto.d.ts.map +1 -1
  212. package/build/ts/subgraph/dto.js +3 -3
  213. package/build/ts/subgraph/dto.js.map +1 -1
  214. package/build/ts/subgraph/subgraph.controller.d.ts.map +1 -1
  215. package/build/ts/subgraph/subgraph.controller.js +8 -3
  216. package/build/ts/subgraph/subgraph.controller.js.map +1 -1
  217. package/build/ts/subgraph/subgraph.service.d.ts +4 -0
  218. package/build/ts/subgraph/subgraph.service.d.ts.map +1 -1
  219. package/build/ts/subgraph/subgraph.service.js +23 -10
  220. package/build/ts/subgraph/subgraph.service.js.map +1 -1
  221. package/build/ts/subgraph/types.d.ts +2 -2
  222. package/build/ts/subgraph/types.d.ts.map +1 -1
  223. package/build/tsconfig.build.tsbuildinfo +1 -1
  224. package/package.json +45 -38
  225. package/build/tests/e2e.aa.test.d.ts +0 -2
  226. package/build/tests/e2e.aa.test.d.ts.map +0 -1
  227. package/build/tests/e2e.aa.test.js +0 -103
  228. package/build/tests/e2e.aa.test.js.map +0 -1
  229. package/build/ts/deployer/utils.d.ts +0 -8
  230. package/build/ts/deployer/utils.d.ts.map +0 -1
  231. package/build/ts/deployer/utils.js +0 -9
  232. package/build/ts/deployer/utils.js.map +0 -1
@@ -0,0 +1,118 @@
1
+ import { EMode, ESupportedChains } from "@maci-protocol/sdk";
2
+ import { createClient } from "@redis/client";
3
+ import dotenv from "dotenv";
4
+ import { RedisService } from "../ts/redis/redis.service";
5
+ import { getPollKeyFromObject } from "../ts/redis/utils";
6
+ const REDIS__GET_ALL_PREFIX = "*-test";
7
+ const scheduledPoll = {
8
+ maciAddress: "0xb83074Ac11fc569AC12F1b7D0C0a6809c3dc355b",
9
+ pollId: "5",
10
+ mode: EMode.NON_QV,
11
+ chain: ESupportedChains.Sepolia,
12
+ endDate: 1752534000,
13
+ deploymentBlockNumber: 1,
14
+ merged: false,
15
+ proofsGenerated: false,
16
+ };
17
+ dotenv.config();
18
+ describe("RedisService", () => {
19
+ let redisClient;
20
+ let service;
21
+ beforeAll(async () => {
22
+ redisClient = createClient({
23
+ url: `redis://${process.env.COORDINATOR_REDIS_HOST}:${process.env.COORDINATOR_REDIS_PORT}`,
24
+ disableOfflineQueue: true,
25
+ });
26
+ await redisClient.connect();
27
+ service = new RedisService();
28
+ await service.onModuleInit();
29
+ });
30
+ afterEach(async () => {
31
+ // Clean up after each test
32
+ const keys = await redisClient.keys(REDIS__GET_ALL_PREFIX);
33
+ await Promise.all(keys.map((key) => redisClient.del(key)));
34
+ });
35
+ afterAll(async () => {
36
+ await redisClient.quit();
37
+ });
38
+ test("should connect to Redis without issues", () => {
39
+ expect(service.isOpen()).toBe(true);
40
+ });
41
+ test("should set and get a value, and parse it as IScheduledPoll", async () => {
42
+ const key = getPollKeyFromObject(scheduledPoll, true);
43
+ const value = JSON.stringify(scheduledPoll);
44
+ await service.set(key, value);
45
+ const stored = await service.get(key);
46
+ expect(stored).not.toBeNull();
47
+ const parsed = JSON.parse(stored);
48
+ expect(parsed).toEqual(scheduledPoll);
49
+ });
50
+ test("should return null when non-existent key is requested", async () => {
51
+ const nonExistentKey = "non-existent-key";
52
+ const result = await service.get(nonExistentKey);
53
+ expect(result).toBeNull();
54
+ });
55
+ test("should set and get multiple values", async () => {
56
+ const pollOne = { ...scheduledPoll };
57
+ pollOne.pollId = "1";
58
+ const pollKeyOne = getPollKeyFromObject(pollOne, true);
59
+ await service.set(pollKeyOne, JSON.stringify(pollOne));
60
+ const pollTwo = { ...scheduledPoll };
61
+ pollTwo.pollId = "2";
62
+ const pollKeyTwo = getPollKeyFromObject(pollTwo, true);
63
+ await service.set(pollKeyTwo, JSON.stringify(pollTwo));
64
+ const pollThree = { ...scheduledPoll };
65
+ pollThree.pollId = "3";
66
+ const pollKeyThree = getPollKeyFromObject(pollThree, true);
67
+ await service.set(pollKeyThree, JSON.stringify(pollThree));
68
+ const [storedPollOne, storedPollTwo, storedPollThree] = await Promise.all([
69
+ service.get(pollKeyOne),
70
+ service.get(pollKeyTwo),
71
+ service.get(pollKeyThree),
72
+ ]);
73
+ expect(pollOne).toEqual(JSON.parse(storedPollOne || "{}"));
74
+ expect(pollTwo).toEqual(JSON.parse(storedPollTwo || "{}"));
75
+ expect(pollThree).toEqual(JSON.parse(storedPollThree || "{}"));
76
+ });
77
+ test("should retrieve all values using getAll", async () => {
78
+ const pollOne = { ...scheduledPoll };
79
+ pollOne.pollId = "1";
80
+ const pollKeyOne = getPollKeyFromObject(pollOne, true);
81
+ await service.set(pollKeyOne, JSON.stringify(pollOne));
82
+ const pollTwo = { ...scheduledPoll };
83
+ pollTwo.pollId = "2";
84
+ const pollKeyTwo = getPollKeyFromObject(pollTwo, true);
85
+ await service.set(pollKeyTwo, JSON.stringify(pollTwo));
86
+ const pollThree = { ...scheduledPoll };
87
+ pollThree.pollId = "3";
88
+ const pollKeyThree = getPollKeyFromObject(pollThree, true);
89
+ await service.set(pollKeyThree, JSON.stringify(pollThree));
90
+ const all = await service.getAll(REDIS__GET_ALL_PREFIX);
91
+ expect(all.length).toBe(3);
92
+ });
93
+ test("should delete a value and return one as confirmation", async () => {
94
+ const key = "delete-me";
95
+ await service.set(key, '{"bye":"now"}');
96
+ const deleted = await service.delete(key);
97
+ const value = await service.get(key);
98
+ expect(deleted).toBe(1);
99
+ expect(value).toBeNull();
100
+ });
101
+ test("should not throw and return zero when deleting non-existent value", async () => {
102
+ const key = "non-existent-key";
103
+ const deleted = await service.delete(key);
104
+ expect(deleted).toBe(0);
105
+ });
106
+ test("should update a value using set with same key", async () => {
107
+ const key = getPollKeyFromObject(scheduledPoll, true);
108
+ const valuePoll = JSON.stringify(scheduledPoll);
109
+ await service.set(key, valuePoll);
110
+ const updatedPoll = { ...scheduledPoll, endDate: 1 };
111
+ const updatedPollValue = JSON.stringify(updatedPoll);
112
+ await service.set(key, updatedPollValue);
113
+ const stored = await service.get(key);
114
+ const parsed = JSON.parse(stored);
115
+ expect(parsed.endDate).toBe(updatedPoll.endDate);
116
+ });
117
+ });
118
+ //# sourceMappingURL=e2e.redis.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2e.redis.test.js","sourceRoot":"","sources":["../../tests/e2e.redis.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  import { type Signer } from "ethers";
2
- import { Hex } from "viem";
2
+ import { type Hex } from "viem";
3
+ /**
4
+ * Encrypt a message using the coordinator's public key
5
+ * @param message to encrypt
6
+ * @returns encrypted message (ciphertext)
7
+ */
8
+ export declare const encryptWithCoordinatorRSAPublicKey: (message: string) => Promise<string>;
3
9
  /**
4
10
  * Sign a message with a wallet and encrypt it using the coordinator's public key
5
11
  * @param signer
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../tests/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC5D,OAAO,EAAmC,GAAG,EAAoB,MAAM,MAAM,CAAC;AAY9E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,MAAM,CAM3E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,GAAG,EACZ,qBAAqB,MAAM,EAC3B,oBAAoB,MAAM,KACzB,OAAO,CAAC,IAAI,CAgBd,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../tests/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC5D,OAAO,EAAmC,KAAK,GAAG,EAAoB,MAAM,MAAM,CAAC;AAYnF;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAIxF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,MAAM,CAK3E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,GAAG,EACZ,qBAAqB,MAAM,EAC3B,oBAAoB,MAAM,KACzB,OAAO,CAAC,IAAI,CAoBd,CAAC"}
@@ -1,35 +1,46 @@
1
+ import { ESupportedChains } from "@maci-protocol/sdk";
1
2
  import dotenv from "dotenv";
2
3
  import { getBytes, hashMessage } from "ethers";
3
4
  import { createWalletClient, formatEther, http, parseEther } from "viem";
4
5
  import { privateKeyToAccount } from "viem/accounts";
5
6
  import { optimismSepolia } from "viem/chains";
6
7
  import fs from "fs";
7
- import { ESupportedNetworks } from "../ts/common";
8
8
  import { getPublicClient } from "../ts/common/accountAbstraction";
9
+ import { getWallet } from "../ts/common/chain";
9
10
  import { CryptoService } from "../ts/crypto/crypto.service";
10
11
  dotenv.config();
12
+ /**
13
+ * Encrypt a message using the coordinator's public key
14
+ * @param message to encrypt
15
+ * @returns encrypted message (ciphertext)
16
+ */
17
+ export const encryptWithCoordinatorRSAPublicKey = async (message) => {
18
+ const cryptoService = new CryptoService();
19
+ const publicKey = await fs.promises.readFile(process.env.COORDINATOR_PUBLIC_KEY_PATH);
20
+ return cryptoService.encrypt(publicKey, message);
21
+ };
11
22
  /**
12
23
  * Sign a message with a wallet and encrypt it using the coordinator's public key
13
24
  * @param signer
14
25
  * @returns Authorization header
15
26
  */
16
27
  export const getAuthorizationHeader = async (signer) => {
17
- const cryptoService = new CryptoService();
18
- const publicKey = await fs.promises.readFile(process.env.COORDINATOR_PUBLIC_KEY_PATH);
19
28
  const signature = await signer.signMessage("message");
20
29
  const digest = Buffer.from(getBytes(hashMessage("message"))).toString("hex");
21
- return `Bearer ${cryptoService.encrypt(publicKey, `${signature}:${digest}`)}`;
30
+ const encrypted = await encryptWithCoordinatorRSAPublicKey(`${signature}:${digest}`);
31
+ return `Bearer ${encrypted}`;
22
32
  };
23
33
  /**
24
34
  * Reloads with ETH in case the smart account is out of gas (less than 0.05)
25
35
  * @param sessionKeyAddress
26
36
  */
27
37
  export const rechargeGasIfNeeded = async (address, minimumValueOfEther, valueToSendOfEther) => {
28
- const publicClient = getPublicClient(ESupportedNetworks.OPTIMISM_SEPOLIA);
38
+ const publicClient = await getPublicClient(ESupportedChains.Localhost);
29
39
  const balance = await publicClient.getBalance({ address });
30
40
  const balanceAsEther = formatEther(balance);
31
41
  if (balanceAsEther <= minimumValueOfEther) {
32
- const testAccount = privateKeyToAccount(process.env.TEST_PRIVATE_KEY);
42
+ const wallet = getWallet();
43
+ const testAccount = privateKeyToAccount(wallet.privateKey);
33
44
  const walletClient = createWalletClient({
34
45
  chain: optimismSepolia,
35
46
  transport: http(),
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../tests/utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAe,MAAM,QAAQ,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAO,IAAI,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,MAAc,EAAmB,EAAE;IAC9E,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA4B,CAAC,CAAC;IACvF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7E,OAAO,UAAU,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC;AAChF,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,OAAY,EACZ,mBAA2B,EAC3B,kBAA0B,EACX,EAAE;IACjB,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,cAAc,IAAI,mBAAmB,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAwB,CAAC,CAAC;QAC9E,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACtC,KAAK,EAAE,eAAe;YACtB,SAAS,EAAE,IAAI,EAAE;SAClB,CAAC,CAAC;QACH,MAAM,YAAY,CAAC,eAAe,CAAC;YACjC,OAAO,EAAE,WAAW;YACpB,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../tests/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAe,MAAM,QAAQ,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAY,IAAI,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB;;;;GAIG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,KAAK,EAAE,OAAe,EAAmB,EAAE;IAC3F,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA4B,CAAC,CAAC;IACvF,OAAO,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,MAAc,EAAmB,EAAE;IAC9E,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,MAAM,kCAAkC,CAAC,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC,CAAC;IACrF,OAAO,UAAU,SAAS,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,OAAY,EACZ,mBAA2B,EAC3B,kBAA0B,EACX,EAAE;IACjB,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,cAAc,IAAI,mBAAmB,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAiB,CAAC,CAAC;QAElE,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACtC,KAAK,EAAE,eAAe;YACtB,SAAS,EAAE,IAAI,EAAE;SAClB,CAAC,CAAC;QAEH,MAAM,YAAY,CAAC,eAAe,CAAC;YACjC,OAAO,EAAE,WAAW;YACpB,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app.module.d.ts","sourceRoot":"","sources":["../../ts/app.module.ts"],"names":[],"mappings":"AAUA,qBAgBa,SAAS;CAAG"}
1
+ {"version":3,"file":"app.module.d.ts","sourceRoot":"","sources":["../../ts/app.module.ts"],"names":[],"mappings":"AAaA,qBAmBa,SAAS;CAAG"}
@@ -9,7 +9,10 @@ import { ThrottlerModule } from "@nestjs/throttler";
9
9
  import { CryptoModule } from "./crypto/crypto.module";
10
10
  import { DeployerModule } from "./deployer/deployer.module";
11
11
  import { FileModule } from "./file/file.module";
12
+ import { HealthModule } from "./health/health.module";
12
13
  import { ProofModule } from "./proof/proof.module";
14
+ import { RedisModule } from "./redis/redis.module";
15
+ import { SchedulerModule } from "./scheduler/scheduler.module";
13
16
  import { SessionKeysModule } from "./sessionKeys/sessionKeys.module";
14
17
  import { SubgraphModule } from "./subgraph/subgraph.module";
15
18
  let AppModule = class AppModule {
@@ -23,12 +26,15 @@ AppModule = __decorate([
23
26
  limit: Number(process.env.LIMIT),
24
27
  },
25
28
  ]),
29
+ HealthModule,
26
30
  FileModule,
27
31
  CryptoModule,
28
32
  SubgraphModule,
29
33
  ProofModule,
30
34
  SessionKeysModule,
31
35
  DeployerModule,
36
+ RedisModule,
37
+ SchedulerModule,
32
38
  ],
33
39
  })
34
40
  ], AppModule);
@@ -1 +1 @@
1
- {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../ts/app.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAkBrD,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,SAAS;IAhBrB,MAAM,CAAC;QACN,OAAO,EAAE;YACP,eAAe,CAAC,OAAO,CAAC;gBACtB;oBACE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oBAC5B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;iBACjC;aACF,CAAC;YACF,UAAU;YACV,YAAY;YACZ,cAAc;YACd,WAAW;YACX,iBAAiB;YACjB,cAAc;SACf;KACF,CAAC;GACW,SAAS,CAAG"}
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../ts/app.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAqBrD,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,SAAS;IAnBrB,MAAM,CAAC;QACN,OAAO,EAAE;YACP,eAAe,CAAC,OAAO,CAAC;gBACtB;oBACE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oBAC5B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;iBACjC;aACF,CAAC;YACF,YAAY;YACZ,UAAU;YACV,YAAY;YACZ,cAAc;YACd,WAAW;YACX,iBAAiB;YACjB,cAAc;YACd,WAAW;YACX,eAAe;SAChB;KACF,CAAC;GACW,SAAS,CAAG"}
@@ -1,15 +1,17 @@
1
- import { mainnet, sepolia, arbitrum, arbitrumSepolia, baseSepolia, lineaSepolia, scrollSepolia, scroll, base, holesky, linea, bsc, gnosis, polygon, optimism, optimismSepolia, } from "viem/chains";
2
- import { genAlchemyRPCUrl, getBundlerClient, getDeployedContractAddress, getPublicClient, getZeroDevBundlerRPCUrl, } from "../accountAbstraction";
1
+ import { ESupportedChains } from "@maci-protocol/sdk";
2
+ import { mainnet, sepolia, arbitrum, localhost, arbitrumSepolia, baseSepolia, lineaSepolia, scrollSepolia, scroll, base, linea, gnosis, polygon, optimism, optimismSepolia, hardhat, polygonAmoy, polygonZkEvm, polygonZkEvmCardona, zksyncSepoliaTestnet, zksync, gnosisChiado, } from "viem/chains";
3
+ import { getBundlerClient, getPublicClient, getZeroDevBundlerRPCUrl } from "../accountAbstraction";
4
+ import { getRpcUrl } from "../chain";
3
5
  import { ErrorCodes } from "../errors";
4
- import { ESupportedNetworks, viemChain } from "../networks";
6
+ import { viemChain } from "../networks";
5
7
  describe("common", () => {
6
8
  describe("getPublicClient", () => {
7
- test("should return a public client", () => {
8
- const publicClient = getPublicClient(ESupportedNetworks.OPTIMISM_SEPOLIA);
9
+ test("should return a public client", async () => {
10
+ const publicClient = await getPublicClient(ESupportedChains.Sepolia);
9
11
  expect(publicClient).toBeDefined();
10
12
  });
11
- test("should throw when given an unsupported network", () => {
12
- expect(() => getPublicClient("Unsupported")).toThrow(ErrorCodes.UNSUPPORTED_NETWORK.toString());
13
+ test("should throw when given an unsupported network", async () => {
14
+ await expect(() => getPublicClient("Unsupported")).rejects.toThrow(ErrorCodes.UNSUPPORTED_NETWORK.toString());
13
15
  });
14
16
  });
15
17
  describe("getZeroDevBundlerRPCUrl", () => {
@@ -17,59 +19,55 @@ describe("common", () => {
17
19
  expect(() => getZeroDevBundlerRPCUrl("Unsupported")).toThrow(ErrorCodes.UNSUPPORTED_NETWORK.toString());
18
20
  });
19
21
  test("should return an RPCUrl for a supported network", () => {
20
- const rpcUrlOPS = getZeroDevBundlerRPCUrl(ESupportedNetworks.OPTIMISM_SEPOLIA);
22
+ const rpcUrlOPS = getZeroDevBundlerRPCUrl(ESupportedChains.OptimismSepolia);
21
23
  expect(rpcUrlOPS).toBeDefined();
22
- const rpcUrlOP = getZeroDevBundlerRPCUrl(ESupportedNetworks.OPTIMISM);
24
+ const rpcUrlSepolia = getZeroDevBundlerRPCUrl(ESupportedChains.Sepolia);
25
+ expect(rpcUrlSepolia).toBeDefined();
26
+ const rpcUrlOP = getZeroDevBundlerRPCUrl(ESupportedChains.Optimism);
23
27
  expect(rpcUrlOP).toBeDefined();
24
28
  });
29
+ test("should throw when a unsupported zero dev network is given", () => {
30
+ expect(() => getZeroDevBundlerRPCUrl(ESupportedChains.Base)).toThrow(ErrorCodes.UNSUPPORTED_NETWORK.toString());
31
+ });
25
32
  });
26
33
  describe("getBundlerClient", () => {
27
34
  test("should throw when the network is not supported", () => {
28
35
  expect(() => getBundlerClient("Unsupported")).toThrow(ErrorCodes.UNSUPPORTED_NETWORK.toString());
29
36
  });
30
37
  });
31
- describe("genAlchemyRPCUrl", () => {
32
- test("should return the correct RPCUrl for optimism-sepolia", () => {
33
- const rpcUrl = genAlchemyRPCUrl(ESupportedNetworks.OPTIMISM_SEPOLIA);
34
- expect(rpcUrl).toBeDefined();
35
- expect(rpcUrl).toContain("https://opt-sepolia.g.alchemy.com/v2/");
36
- });
37
- test("should return the correct RPCUrl for sepolia", () => {
38
- const rpcUrl = genAlchemyRPCUrl(ESupportedNetworks.ETHEREUM_SEPOLIA);
39
- expect(rpcUrl).toBeDefined();
40
- expect(rpcUrl).toContain("https://eth-sepolia.g.alchemy.com/v2/");
41
- });
42
- test("should throw when given an unsupported network", () => {
43
- expect(() => genAlchemyRPCUrl(ESupportedNetworks.GNOSIS_CHAIN)).toThrow(ErrorCodes.UNSUPPORTED_NETWORK.toString());
38
+ describe("getRpcUrl", () => {
39
+ test("should throw when given an unsupported network", async () => {
40
+ await expect(() => getRpcUrl("Unsupported")).rejects.toThrow(ErrorCodes.UNSUPPORTED_NETWORK.toString());
44
41
  });
45
- test("should throw when ALCHEMY_API_KEY is not set", () => {
46
- delete process.env.RPC_API_KEY;
47
- expect(() => genAlchemyRPCUrl(ESupportedNetworks.OPTIMISM_SEPOLIA)).toThrow(ErrorCodes.RPC_API_KEY_NOT_SET.toString());
48
- });
49
- });
50
- describe("getDeployedContractAddress", () => {
51
- test("should throw when the log is undefined", () => {
52
- expect(() => getDeployedContractAddress({})).toThrow();
42
+ test("should throw when COORDINATOR_RPC_URL is not set", async () => {
43
+ delete process.env.COORDINATOR_RPC_URL;
44
+ await expect(() => getRpcUrl(ESupportedChains.OptimismSepolia)).rejects.toThrow(ErrorCodes.COORDINATOR_RPC_URL_NOT_SET.toString());
53
45
  });
54
46
  });
55
47
  describe("viemChain", () => {
56
48
  test("should return correct chain for all supported networks", () => {
57
- expect(viemChain(ESupportedNetworks.ETHEREUM)).toBe(mainnet);
58
- expect(viemChain(ESupportedNetworks.ETHEREUM_SEPOLIA)).toBe(sepolia);
59
- expect(viemChain(ESupportedNetworks.ARBITRUM_ONE)).toBe(arbitrum);
60
- expect(viemChain(ESupportedNetworks.ARBITRUM_SEPOLIA)).toBe(arbitrumSepolia);
61
- expect(viemChain(ESupportedNetworks.BASE_SEPOLIA)).toBe(baseSepolia);
62
- expect(viemChain(ESupportedNetworks.LINEA_SEPOLIA)).toBe(lineaSepolia);
63
- expect(viemChain(ESupportedNetworks.SCROLL_SEPOLIA)).toBe(scrollSepolia);
64
- expect(viemChain(ESupportedNetworks.SCROLL)).toBe(scroll);
65
- expect(viemChain(ESupportedNetworks.BASE)).toBe(base);
66
- expect(viemChain(ESupportedNetworks.HOLESKY)).toBe(holesky);
67
- expect(viemChain(ESupportedNetworks.LINEA)).toBe(linea);
68
- expect(viemChain(ESupportedNetworks.BSC)).toBe(bsc);
69
- expect(viemChain(ESupportedNetworks.GNOSIS_CHAIN)).toBe(gnosis);
70
- expect(viemChain(ESupportedNetworks.POLYGON)).toBe(polygon);
71
- expect(viemChain(ESupportedNetworks.OPTIMISM)).toBe(optimism);
72
- expect(viemChain(ESupportedNetworks.OPTIMISM_SEPOLIA)).toBe(optimismSepolia);
49
+ expect(viemChain(ESupportedChains.Mainnet)).toBe(mainnet);
50
+ expect(viemChain(ESupportedChains.Sepolia)).toBe(sepolia);
51
+ expect(viemChain(ESupportedChains.Optimism)).toBe(optimism);
52
+ expect(viemChain(ESupportedChains.OptimismSepolia)).toBe(optimismSepolia);
53
+ expect(viemChain(ESupportedChains.Scroll)).toBe(scroll);
54
+ expect(viemChain(ESupportedChains.ScrollSepolia)).toBe(scrollSepolia);
55
+ expect(viemChain(ESupportedChains.Arbitrum)).toBe(arbitrum);
56
+ expect(viemChain(ESupportedChains.ArbitrumSepolia)).toBe(arbitrumSepolia);
57
+ expect(viemChain(ESupportedChains.Base)).toBe(base);
58
+ expect(viemChain(ESupportedChains.BaseSepolia)).toBe(baseSepolia);
59
+ expect(viemChain(ESupportedChains.Gnosis)).toBe(gnosis);
60
+ expect(viemChain(ESupportedChains.GnosisChiado)).toBe(gnosisChiado);
61
+ expect(viemChain(ESupportedChains.Polygon)).toBe(polygon);
62
+ expect(viemChain(ESupportedChains.PolygonAmoy)).toBe(polygonAmoy);
63
+ expect(viemChain(ESupportedChains.Linea)).toBe(linea);
64
+ expect(viemChain(ESupportedChains.LineaSepolia)).toBe(lineaSepolia);
65
+ expect(viemChain(ESupportedChains.ZkSyncEra)).toBe(zksync);
66
+ expect(viemChain(ESupportedChains.ZkSyncSepolia)).toBe(zksyncSepoliaTestnet);
67
+ expect(viemChain(ESupportedChains.PolygonZkEvm)).toBe(polygonZkEvm);
68
+ expect(viemChain(ESupportedChains.PolygonCardonaZkEvm)).toBe(polygonZkEvmCardona);
69
+ expect(viemChain(ESupportedChains.Hardhat)).toBe(hardhat);
70
+ expect(viemChain(ESupportedChains.Localhost)).toBe(localhost);
73
71
  });
74
72
  test("should throw error for unsupported network", () => {
75
73
  expect(() => viemChain("UNSUPPORTED_NETWORK")).toThrow(ErrorCodes.UNSUPPORTED_NETWORK.toString());
@@ -1 +1 @@
1
- {"version":3,"file":"common.test.js","sourceRoot":"","sources":["../../../../ts/common/__tests__/common.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.test.js","sourceRoot":"","sources":["../../../../ts/common/__tests__/common.test.ts"],"names":[],"mappings":"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"}
@@ -1,48 +1,31 @@
1
- import { type Hex, TransactionReceipt } from "viem";
2
- import { ESupportedNetworks } from "./networks";
3
- import { KernelClientType, BundlerClientType, PublicClientHTTPType } from "./types";
4
- /**
5
- * Generate the RPCUrl for Alchemy based on the chain we need to interact with
6
- *
7
- * @param network - the network we want to interact with
8
- * @returns the RPCUrl for the network
9
- */
10
- export declare const genAlchemyRPCUrl: (network: ESupportedNetworks) => string;
1
+ import { ESupportedChains } from "@maci-protocol/sdk";
2
+ import { type Hex } from "viem";
3
+ import type { BundlerClientType, KernelClientType, PublicClientHTTPType } from "./types";
11
4
  /**
12
5
  * Get a public client
13
6
  *
14
7
  * @param chainName - the name of the chain to use
15
8
  * @returns the public client
16
9
  */
17
- export declare const getPublicClient: (chainName: ESupportedNetworks) => PublicClientHTTPType;
10
+ export declare const getPublicClient: (chainName: ESupportedChains) => Promise<PublicClientHTTPType>;
18
11
  /**
19
12
  * Get the ZeroDev bundler RPC URL based on the network
20
13
  *
21
14
  * @param network - the network we are on
22
15
  * @returns the ZeroDev bundler RPC URL
23
16
  */
24
- export declare const getZeroDevBundlerRPCUrl: (network: ESupportedNetworks) => string;
17
+ export declare const getZeroDevBundlerRPCUrl: (network: ESupportedChains) => string;
25
18
  /**
26
19
  * Get a bundler client
27
20
  *
28
21
  * @param chainName - the chain name
29
22
  * @returns the bundler client
30
23
  */
31
- export declare const getBundlerClient: (chainName: ESupportedNetworks) => BundlerClientType;
32
- /**
33
- * The topic for the contract creation event
34
- */
35
- export declare const contractCreationEventTopic = "0x4db17dd5e4732fb6da34a148104a592783ca119a1e7bb8829eba6cbadef0b511";
24
+ export declare const getBundlerClient: (chainName: ESupportedChains) => BundlerClientType;
36
25
  /**
37
26
  * The offset for the address in the contract creation event
38
27
  */
39
28
  export declare const addressOffset = 26;
40
- /**
41
- * Get the address of the newly deployed contract from a transaction receipt
42
- * @param receipt - The transaction receipt
43
- * @returns The address of the newly deployed contract
44
- */
45
- export declare const getDeployedContractAddress: (receipt: TransactionReceipt) => string | undefined;
46
29
  /**
47
30
  * Get a Kernel account handle given a session key
48
31
  *
@@ -51,5 +34,5 @@ export declare const getDeployedContractAddress: (receipt: TransactionReceipt) =
51
34
  * @param chain - the chain to use
52
35
  * @returns the kernel client
53
36
  */
54
- export declare const getKernelClient: (sessionKey: Hex, approval: string, chain: ESupportedNetworks) => Promise<KernelClientType>;
37
+ export declare const getKernelClient: (sessionKey: Hex, approval: string, chain: ESupportedChains) => Promise<KernelClientType>;
55
38
  //# sourceMappingURL=accountAbstraction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accountAbstraction.d.ts","sourceRoot":"","sources":["../../../ts/common/accountAbstraction.ts"],"names":[],"mappings":"AAMA,OAAO,EAA4B,KAAK,GAAG,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAI9E,OAAO,EAAE,kBAAkB,EAAa,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAIpF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,kBAAkB,KAAG,MAe9D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,kBAAkB,KAAG,oBAI5D,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,kBAAkB,KAAG,MASrE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,kBAAkB,KAAG,iBAK7D,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,0BAA0B,uEAAuE,CAAC;AAE/G;;GAEG;AACH,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,SAAS,kBAAkB,KAAG,MAAM,GAAG,SAMjF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAC1B,YAAY,GAAG,EACf,UAAU,MAAM,EAChB,OAAO,kBAAkB,KACxB,OAAO,CAAC,gBAAgB,CAwB1B,CAAC"}
1
+ {"version":3,"file":"accountAbstraction.d.ts","sourceRoot":"","sources":["../../../ts/common/accountAbstraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAA4B,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAI1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAQzF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAU,WAAW,gBAAgB,KAAG,OAAO,CAAC,oBAAoB,CAI5F,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,SAAS,gBAAgB,KAAG,MAWnE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,gBAAgB,KAAG,iBAI3D,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAC1B,YAAY,GAAG,EACf,UAAU,MAAM,EAChB,OAAO,gBAAgB,KACtB,OAAO,CAAC,gBAAgB,CA0B1B,CAAC"}
@@ -1,42 +1,24 @@
1
+ import { ESupportedChains } from "@maci-protocol/sdk";
1
2
  import { deserializePermissionAccount } from "@zerodev/permissions";
2
3
  import { toECDSASigner } from "@zerodev/permissions/signers";
3
4
  import { createKernelAccountClient } from "@zerodev/sdk";
4
5
  import { getEntryPoint, KERNEL_V3_1 } from "@zerodev/sdk/constants";
5
6
  import dotenv from "dotenv";
6
- import { createBundlerClient, ENTRYPOINT_ADDRESS_V07 } from "permissionless";
7
7
  import { createPublicClient, http } from "viem";
8
+ import { createBundlerClient } from "viem/account-abstraction";
8
9
  import { privateKeyToAccount } from "viem/accounts";
10
+ import { getRpcUrl } from "./chain";
9
11
  import { ErrorCodes } from "./errors";
10
- import { ESupportedNetworks, viemChain } from "./networks";
12
+ import { viemChain } from "./networks";
11
13
  dotenv.config();
12
- /**
13
- * Generate the RPCUrl for Alchemy based on the chain we need to interact with
14
- *
15
- * @param network - the network we want to interact with
16
- * @returns the RPCUrl for the network
17
- */
18
- export const genAlchemyRPCUrl = (network) => {
19
- const rpcAPIKey = process.env.RPC_API_KEY;
20
- if (!rpcAPIKey) {
21
- throw new Error(ErrorCodes.RPC_API_KEY_NOT_SET.toString());
22
- }
23
- switch (network) {
24
- case ESupportedNetworks.OPTIMISM_SEPOLIA:
25
- return `https://opt-sepolia.g.alchemy.com/v2/${rpcAPIKey}`;
26
- case ESupportedNetworks.ETHEREUM_SEPOLIA:
27
- return `https://eth-sepolia.g.alchemy.com/v2/${rpcAPIKey}`;
28
- default:
29
- throw new Error(ErrorCodes.UNSUPPORTED_NETWORK.toString());
30
- }
31
- };
32
14
  /**
33
15
  * Get a public client
34
16
  *
35
17
  * @param chainName - the name of the chain to use
36
18
  * @returns the public client
37
19
  */
38
- export const getPublicClient = (chainName) => createPublicClient({
39
- transport: http(genAlchemyRPCUrl(chainName)),
20
+ export const getPublicClient = async (chainName) => createPublicClient({
21
+ transport: http(await getRpcUrl(chainName)),
40
22
  chain: viemChain(chainName),
41
23
  });
42
24
  /**
@@ -47,10 +29,12 @@ export const getPublicClient = (chainName) => createPublicClient({
47
29
  */
48
30
  export const getZeroDevBundlerRPCUrl = (network) => {
49
31
  switch (network) {
50
- case ESupportedNetworks.OPTIMISM_SEPOLIA:
32
+ case ESupportedChains.OptimismSepolia:
51
33
  return process.env.ZERODEV_BUNDLER_RPC_OP_SEPOLIA || "";
52
- case ESupportedNetworks.OPTIMISM:
34
+ case ESupportedChains.Optimism:
53
35
  return process.env.ZERODEV_BUNDLER_RPC_OP || "";
36
+ case ESupportedChains.Sepolia:
37
+ return process.env.ZERODEV_BUNDLER_RPC_SEPOLIA || "";
54
38
  default:
55
39
  throw new Error(ErrorCodes.UNSUPPORTED_NETWORK.toString());
56
40
  }
@@ -64,26 +48,11 @@ export const getZeroDevBundlerRPCUrl = (network) => {
64
48
  export const getBundlerClient = (chainName) => createBundlerClient({
65
49
  transport: http(getZeroDevBundlerRPCUrl(chainName)),
66
50
  chain: viemChain(chainName),
67
- entryPoint: ENTRYPOINT_ADDRESS_V07,
68
51
  });
69
- /**
70
- * The topic for the contract creation event
71
- */
72
- export const contractCreationEventTopic = "0x4db17dd5e4732fb6da34a148104a592783ca119a1e7bb8829eba6cbadef0b511";
73
52
  /**
74
53
  * The offset for the address in the contract creation event
75
54
  */
76
55
  export const addressOffset = 26;
77
- /**
78
- * Get the address of the newly deployed contract from a transaction receipt
79
- * @param receipt - The transaction receipt
80
- * @returns The address of the newly deployed contract
81
- */
82
- export const getDeployedContractAddress = (receipt) => {
83
- const addr = receipt.logs.find((log) => log.topics[0] === contractCreationEventTopic);
84
- const deployedAddress = addr ? `0x${addr.topics[1]?.slice(addressOffset)}` : undefined;
85
- return deployedAddress;
86
- };
87
56
  /**
88
57
  * Get a Kernel account handle given a session key
89
58
  *
@@ -94,17 +63,21 @@ export const getDeployedContractAddress = (receipt) => {
94
63
  */
95
64
  export const getKernelClient = async (sessionKey, approval, chain) => {
96
65
  const bundlerUrl = getZeroDevBundlerRPCUrl(chain);
97
- const publicClient = getPublicClient(chain);
66
+ const publicClient = await getPublicClient(chain);
98
67
  // Using a stored private key
99
68
  const sessionKeySigner = await toECDSASigner({
100
69
  signer: privateKeyToAccount(sessionKey),
101
70
  });
102
- const sessionKeyAccount = await deserializePermissionAccount(publicClient, getEntryPoint("0.7"), KERNEL_V3_1, approval, sessionKeySigner);
103
- const kernelClient = createKernelAccountClient({
104
- bundlerTransport: http(bundlerUrl),
105
- account: sessionKeyAccount,
106
- chain: viemChain(chain),
107
- });
108
- return kernelClient;
71
+ try {
72
+ const sessionKeyAccount = await deserializePermissionAccount(publicClient, getEntryPoint("0.7"), KERNEL_V3_1, approval, sessionKeySigner);
73
+ return createKernelAccountClient({
74
+ bundlerTransport: http(bundlerUrl),
75
+ account: sessionKeyAccount,
76
+ chain: viemChain(chain),
77
+ });
78
+ }
79
+ catch (error) {
80
+ throw new Error(ErrorCodes.INVALID_APPROVAL.toString());
81
+ }
109
82
  };
110
83
  //# sourceMappingURL=accountAbstraction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accountAbstraction.js","sourceRoot":"","sources":["../../../ts/common/accountAbstraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accountAbstraction.js","sourceRoot":"","sources":["../../../ts/common/accountAbstraction.ts"],"names":[],"mappings":"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"}