@maci-protocol/coordinator 0.0.0-ci.533e19d

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 (257) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/LICENSE +22 -0
  3. package/README.md +42 -0
  4. package/build/hardhat.config.cjs +31 -0
  5. package/build/hardhat.config.cjs.map +1 -0
  6. package/build/hardhat.config.d.cts +24 -0
  7. package/build/hardhat.config.d.cts.map +1 -0
  8. package/build/scripts/generateKeypair.d.ts +2 -0
  9. package/build/scripts/generateKeypair.d.ts.map +1 -0
  10. package/build/scripts/generateKeypair.js +25 -0
  11. package/build/scripts/generateKeypair.js.map +1 -0
  12. package/build/scripts/generateMaciKeyPair.d.ts +2 -0
  13. package/build/scripts/generateMaciKeyPair.d.ts.map +1 -0
  14. package/build/scripts/generateMaciKeyPair.js +3 -0
  15. package/build/scripts/generateMaciKeyPair.js.map +1 -0
  16. package/build/scripts/getAuthHeader.d.ts +2 -0
  17. package/build/scripts/getAuthHeader.d.ts.map +1 -0
  18. package/build/scripts/getAuthHeader.js +31 -0
  19. package/build/scripts/getAuthHeader.js.map +1 -0
  20. package/build/tests/constants.d.ts +8 -0
  21. package/build/tests/constants.d.ts.map +1 -0
  22. package/build/tests/constants.js +10 -0
  23. package/build/tests/constants.js.map +1 -0
  24. package/build/tests/e2e.aa.test.d.ts +2 -0
  25. package/build/tests/e2e.aa.test.d.ts.map +1 -0
  26. package/build/tests/e2e.aa.test.js +103 -0
  27. package/build/tests/e2e.aa.test.js.map +1 -0
  28. package/build/tests/e2e.deploy.test.d.ts +2 -0
  29. package/build/tests/e2e.deploy.test.d.ts.map +1 -0
  30. package/build/tests/e2e.deploy.test.js +234 -0
  31. package/build/tests/e2e.deploy.test.js.map +1 -0
  32. package/build/tests/utils.d.ts +14 -0
  33. package/build/tests/utils.d.ts.map +1 -0
  34. package/build/tests/utils.js +44 -0
  35. package/build/tests/utils.js.map +1 -0
  36. package/build/ts/app.module.d.ts +3 -0
  37. package/build/ts/app.module.d.ts.map +1 -0
  38. package/build/ts/app.module.js +36 -0
  39. package/build/ts/app.module.js.map +1 -0
  40. package/build/ts/auth/AccountSignatureGuard.service.d.ts +44 -0
  41. package/build/ts/auth/AccountSignatureGuard.service.d.ts.map +1 -0
  42. package/build/ts/auth/AccountSignatureGuard.service.js +96 -0
  43. package/build/ts/auth/AccountSignatureGuard.service.js.map +1 -0
  44. package/build/ts/auth/__tests__/AccountSignatureGuard.test.d.ts +2 -0
  45. package/build/ts/auth/__tests__/AccountSignatureGuard.test.d.ts.map +1 -0
  46. package/build/ts/auth/__tests__/AccountSignatureGuard.test.js +113 -0
  47. package/build/ts/auth/__tests__/AccountSignatureGuard.test.js.map +1 -0
  48. package/build/ts/common/__tests__/common.test.d.ts +2 -0
  49. package/build/ts/common/__tests__/common.test.d.ts.map +1 -0
  50. package/build/ts/common/__tests__/common.test.js +79 -0
  51. package/build/ts/common/__tests__/common.test.js.map +1 -0
  52. package/build/ts/common/accountAbstraction.d.ts +55 -0
  53. package/build/ts/common/accountAbstraction.d.ts.map +1 -0
  54. package/build/ts/common/accountAbstraction.js +110 -0
  55. package/build/ts/common/accountAbstraction.js.map +1 -0
  56. package/build/ts/common/errors.d.ts +33 -0
  57. package/build/ts/common/errors.d.ts.map +1 -0
  58. package/build/ts/common/errors.js +34 -0
  59. package/build/ts/common/errors.js.map +1 -0
  60. package/build/ts/common/index.d.ts +4 -0
  61. package/build/ts/common/index.d.ts.map +1 -0
  62. package/build/ts/common/index.js +4 -0
  63. package/build/ts/common/index.js.map +1 -0
  64. package/build/ts/common/networks.d.ts +29 -0
  65. package/build/ts/common/networks.d.ts.map +1 -0
  66. package/build/ts/common/networks.js +70 -0
  67. package/build/ts/common/networks.js.map +1 -0
  68. package/build/ts/common/types.d.ts +9 -0
  69. package/build/ts/common/types.d.ts.map +1 -0
  70. package/build/ts/common/types.js +2 -0
  71. package/build/ts/common/types.js.map +1 -0
  72. package/build/ts/crypto/__tests__/crypto.service.test.d.ts +2 -0
  73. package/build/ts/crypto/__tests__/crypto.service.test.d.ts.map +1 -0
  74. package/build/ts/crypto/__tests__/crypto.service.test.js +26 -0
  75. package/build/ts/crypto/__tests__/crypto.service.test.js.map +1 -0
  76. package/build/ts/crypto/crypto.module.d.ts +3 -0
  77. package/build/ts/crypto/crypto.module.d.ts.map +1 -0
  78. package/build/ts/crypto/crypto.module.js +18 -0
  79. package/build/ts/crypto/crypto.module.js.map +1 -0
  80. package/build/ts/crypto/crypto.service.d.ts +31 -0
  81. package/build/ts/crypto/crypto.service.d.ts.map +1 -0
  82. package/build/ts/crypto/crypto.service.js +68 -0
  83. package/build/ts/crypto/crypto.service.js.map +1 -0
  84. package/build/ts/deployer/__tests__/deployer.controller.test.d.ts +2 -0
  85. package/build/ts/deployer/__tests__/deployer.controller.test.d.ts.map +1 -0
  86. package/build/ts/deployer/__tests__/deployer.controller.test.js +84 -0
  87. package/build/ts/deployer/__tests__/deployer.controller.test.js.map +1 -0
  88. package/build/ts/deployer/__tests__/deployer.service.test.d.ts +2 -0
  89. package/build/ts/deployer/__tests__/deployer.service.test.d.ts.map +1 -0
  90. package/build/ts/deployer/__tests__/deployer.service.test.js +425 -0
  91. package/build/ts/deployer/__tests__/deployer.service.test.js.map +1 -0
  92. package/build/ts/deployer/__tests__/utils.d.ts +36 -0
  93. package/build/ts/deployer/__tests__/utils.d.ts.map +1 -0
  94. package/build/ts/deployer/__tests__/utils.js +96 -0
  95. package/build/ts/deployer/__tests__/utils.js.map +1 -0
  96. package/build/ts/deployer/constants.d.ts +13 -0
  97. package/build/ts/deployer/constants.d.ts.map +1 -0
  98. package/build/ts/deployer/constants.js +13 -0
  99. package/build/ts/deployer/constants.js.map +1 -0
  100. package/build/ts/deployer/deployer.controller.d.ts +34 -0
  101. package/build/ts/deployer/deployer.controller.d.ts.map +1 -0
  102. package/build/ts/deployer/deployer.controller.js +89 -0
  103. package/build/ts/deployer/deployer.controller.js.map +1 -0
  104. package/build/ts/deployer/deployer.module.d.ts +3 -0
  105. package/build/ts/deployer/deployer.module.d.ts.map +1 -0
  106. package/build/ts/deployer/deployer.module.js +23 -0
  107. package/build/ts/deployer/deployer.module.js.map +1 -0
  108. package/build/ts/deployer/deployer.service.d.ts +112 -0
  109. package/build/ts/deployer/deployer.service.d.ts.map +1 -0
  110. package/build/ts/deployer/deployer.service.js +614 -0
  111. package/build/ts/deployer/deployer.service.js.map +1 -0
  112. package/build/ts/deployer/dto.d.ts +46 -0
  113. package/build/ts/deployer/dto.d.ts.map +1 -0
  114. package/build/ts/deployer/dto.js +117 -0
  115. package/build/ts/deployer/dto.js.map +1 -0
  116. package/build/ts/deployer/types.d.ts +293 -0
  117. package/build/ts/deployer/types.d.ts.map +1 -0
  118. package/build/ts/deployer/types.js +2 -0
  119. package/build/ts/deployer/types.js.map +1 -0
  120. package/build/ts/deployer/utils.d.ts +8 -0
  121. package/build/ts/deployer/utils.d.ts.map +1 -0
  122. package/build/ts/deployer/utils.js +9 -0
  123. package/build/ts/deployer/utils.js.map +1 -0
  124. package/build/ts/file/__tests__/file.service.test.d.ts +2 -0
  125. package/build/ts/file/__tests__/file.service.test.d.ts.map +1 -0
  126. package/build/ts/file/__tests__/file.service.test.js +76 -0
  127. package/build/ts/file/__tests__/file.service.test.js.map +1 -0
  128. package/build/ts/file/file.module.d.ts +3 -0
  129. package/build/ts/file/file.module.d.ts.map +1 -0
  130. package/build/ts/file/file.module.js +18 -0
  131. package/build/ts/file/file.module.js.map +1 -0
  132. package/build/ts/file/file.service.d.ts +62 -0
  133. package/build/ts/file/file.service.d.ts.map +1 -0
  134. package/build/ts/file/file.service.js +115 -0
  135. package/build/ts/file/file.service.js.map +1 -0
  136. package/build/ts/file/types.d.ts +36 -0
  137. package/build/ts/file/types.d.ts.map +1 -0
  138. package/build/ts/file/types.js +2 -0
  139. package/build/ts/file/types.js.map +1 -0
  140. package/build/ts/jest/setup.d.ts +8 -0
  141. package/build/ts/jest/setup.d.ts.map +1 -0
  142. package/build/ts/jest/setup.js +2 -0
  143. package/build/ts/jest/setup.js.map +1 -0
  144. package/build/ts/jest/transform.d.ts +8 -0
  145. package/build/ts/jest/transform.d.ts.map +1 -0
  146. package/build/ts/jest/transform.js +10 -0
  147. package/build/ts/jest/transform.js.map +1 -0
  148. package/build/ts/main.d.ts +2 -0
  149. package/build/ts/main.d.ts.map +1 -0
  150. package/build/ts/main.js +46 -0
  151. package/build/ts/main.js.map +1 -0
  152. package/build/ts/proof/__tests__/proof.controller.test.d.ts +2 -0
  153. package/build/ts/proof/__tests__/proof.controller.test.d.ts.map +1 -0
  154. package/build/ts/proof/__tests__/proof.controller.test.js +89 -0
  155. package/build/ts/proof/__tests__/proof.controller.test.js.map +1 -0
  156. package/build/ts/proof/__tests__/proof.gateway.test.d.ts +2 -0
  157. package/build/ts/proof/__tests__/proof.gateway.test.d.ts.map +1 -0
  158. package/build/ts/proof/__tests__/proof.gateway.test.js +61 -0
  159. package/build/ts/proof/__tests__/proof.gateway.test.js.map +1 -0
  160. package/build/ts/proof/__tests__/proof.service.test.d.ts +2 -0
  161. package/build/ts/proof/__tests__/proof.service.test.d.ts.map +1 -0
  162. package/build/ts/proof/__tests__/proof.service.test.js +128 -0
  163. package/build/ts/proof/__tests__/proof.service.test.js.map +1 -0
  164. package/build/ts/proof/dto.d.ts +73 -0
  165. package/build/ts/proof/dto.d.ts.map +1 -0
  166. package/build/ts/proof/dto.js +255 -0
  167. package/build/ts/proof/dto.js.map +1 -0
  168. package/build/ts/proof/proof.controller.d.ts +46 -0
  169. package/build/ts/proof/proof.controller.d.ts.map +1 -0
  170. package/build/ts/proof/proof.controller.js +135 -0
  171. package/build/ts/proof/proof.controller.js.map +1 -0
  172. package/build/ts/proof/proof.gateway.d.ts +35 -0
  173. package/build/ts/proof/proof.gateway.d.ts.map +1 -0
  174. package/build/ts/proof/proof.gateway.js +93 -0
  175. package/build/ts/proof/proof.gateway.js.map +1 -0
  176. package/build/ts/proof/proof.module.d.ts +3 -0
  177. package/build/ts/proof/proof.module.d.ts.map +1 -0
  178. package/build/ts/proof/proof.module.js +24 -0
  179. package/build/ts/proof/proof.module.js.map +1 -0
  180. package/build/ts/proof/proof.service.d.ts +54 -0
  181. package/build/ts/proof/proof.service.d.ts.map +1 -0
  182. package/build/ts/proof/proof.service.js +246 -0
  183. package/build/ts/proof/proof.service.js.map +1 -0
  184. package/build/ts/proof/types.d.ts +140 -0
  185. package/build/ts/proof/types.d.ts.map +1 -0
  186. package/build/ts/proof/types.js +11 -0
  187. package/build/ts/proof/types.js.map +1 -0
  188. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.d.ts +2 -0
  189. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.d.ts.map +1 -0
  190. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js +44 -0
  191. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js.map +1 -0
  192. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.d.ts +2 -0
  193. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.d.ts.map +1 -0
  194. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js +61 -0
  195. package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js.map +1 -0
  196. package/build/ts/sessionKeys/__tests__/utils.d.ts +25 -0
  197. package/build/ts/sessionKeys/__tests__/utils.d.ts.map +1 -0
  198. package/build/ts/sessionKeys/__tests__/utils.js +64 -0
  199. package/build/ts/sessionKeys/__tests__/utils.js.map +1 -0
  200. package/build/ts/sessionKeys/dto.d.ts +11 -0
  201. package/build/ts/sessionKeys/dto.d.ts.map +1 -0
  202. package/build/ts/sessionKeys/dto.js +29 -0
  203. package/build/ts/sessionKeys/dto.js.map +1 -0
  204. package/build/ts/sessionKeys/sessionKeys.controller.d.ts +26 -0
  205. package/build/ts/sessionKeys/sessionKeys.controller.d.ts.map +1 -0
  206. package/build/ts/sessionKeys/sessionKeys.controller.js +74 -0
  207. package/build/ts/sessionKeys/sessionKeys.controller.js.map +1 -0
  208. package/build/ts/sessionKeys/sessionKeys.module.d.ts +3 -0
  209. package/build/ts/sessionKeys/sessionKeys.module.d.ts.map +1 -0
  210. package/build/ts/sessionKeys/sessionKeys.module.js +23 -0
  211. package/build/ts/sessionKeys/sessionKeys.module.js.map +1 -0
  212. package/build/ts/sessionKeys/sessionKeys.service.d.ts +50 -0
  213. package/build/ts/sessionKeys/sessionKeys.service.d.ts.map +1 -0
  214. package/build/ts/sessionKeys/sessionKeys.service.js +104 -0
  215. package/build/ts/sessionKeys/sessionKeys.service.js.map +1 -0
  216. package/build/ts/sessionKeys/types.d.ts +11 -0
  217. package/build/ts/sessionKeys/types.d.ts.map +1 -0
  218. package/build/ts/sessionKeys/types.js +2 -0
  219. package/build/ts/sessionKeys/types.js.map +1 -0
  220. package/build/ts/subgraph/__tests__/subgraph.controller.test.d.ts +2 -0
  221. package/build/ts/subgraph/__tests__/subgraph.controller.test.d.ts.map +1 -0
  222. package/build/ts/subgraph/__tests__/subgraph.controller.test.js +50 -0
  223. package/build/ts/subgraph/__tests__/subgraph.controller.test.js.map +1 -0
  224. package/build/ts/subgraph/__tests__/subgraph.gateway.test.d.ts +2 -0
  225. package/build/ts/subgraph/__tests__/subgraph.gateway.test.d.ts.map +1 -0
  226. package/build/ts/subgraph/__tests__/subgraph.gateway.test.js +83 -0
  227. package/build/ts/subgraph/__tests__/subgraph.gateway.test.js.map +1 -0
  228. package/build/ts/subgraph/__tests__/subgraph.service.test.d.ts +2 -0
  229. package/build/ts/subgraph/__tests__/subgraph.service.test.d.ts.map +1 -0
  230. package/build/ts/subgraph/__tests__/subgraph.service.test.js +58 -0
  231. package/build/ts/subgraph/__tests__/subgraph.service.test.js.map +1 -0
  232. package/build/ts/subgraph/dto.d.ts +27 -0
  233. package/build/ts/subgraph/dto.d.ts.map +1 -0
  234. package/build/ts/subgraph/dto.js +83 -0
  235. package/build/ts/subgraph/dto.js.map +1 -0
  236. package/build/ts/subgraph/subgraph.controller.d.ts +24 -0
  237. package/build/ts/subgraph/subgraph.controller.d.ts.map +1 -0
  238. package/build/ts/subgraph/subgraph.controller.js +66 -0
  239. package/build/ts/subgraph/subgraph.controller.js.map +1 -0
  240. package/build/ts/subgraph/subgraph.gateway.d.ts +35 -0
  241. package/build/ts/subgraph/subgraph.gateway.d.ts.map +1 -0
  242. package/build/ts/subgraph/subgraph.gateway.js +93 -0
  243. package/build/ts/subgraph/subgraph.gateway.js.map +1 -0
  244. package/build/ts/subgraph/subgraph.module.d.ts +3 -0
  245. package/build/ts/subgraph/subgraph.module.d.ts.map +1 -0
  246. package/build/ts/subgraph/subgraph.module.js +23 -0
  247. package/build/ts/subgraph/subgraph.module.js.map +1 -0
  248. package/build/ts/subgraph/subgraph.service.d.ts +20 -0
  249. package/build/ts/subgraph/subgraph.service.d.ts.map +1 -0
  250. package/build/ts/subgraph/subgraph.service.js +106 -0
  251. package/build/ts/subgraph/subgraph.service.js.map +1 -0
  252. package/build/ts/subgraph/types.d.ts +93 -0
  253. package/build/ts/subgraph/types.d.ts.map +1 -0
  254. package/build/ts/subgraph/types.js +24 -0
  255. package/build/ts/subgraph/types.js.map +1 -0
  256. package/build/tsconfig.build.tsbuildinfo +1 -0
  257. package/package.json +124 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountSignatureGuard.test.js","sourceRoot":"","sources":["../../../../ts/auth/__tests__/AccountSignatureGuard.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=common.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.test.d.ts","sourceRoot":"","sources":["../../../../ts/common/__tests__/common.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
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";
3
+ import { ErrorCodes } from "../errors";
4
+ import { ESupportedNetworks, viemChain } from "../networks";
5
+ describe("common", () => {
6
+ describe("getPublicClient", () => {
7
+ test("should return a public client", () => {
8
+ const publicClient = getPublicClient(ESupportedNetworks.OPTIMISM_SEPOLIA);
9
+ expect(publicClient).toBeDefined();
10
+ });
11
+ test("should throw when given an unsupported network", () => {
12
+ expect(() => getPublicClient("Unsupported")).toThrow(ErrorCodes.UNSUPPORTED_NETWORK.toString());
13
+ });
14
+ });
15
+ describe("getZeroDevBundlerRPCUrl", () => {
16
+ test("should throw when the network is not supported", () => {
17
+ expect(() => getZeroDevBundlerRPCUrl("Unsupported")).toThrow(ErrorCodes.UNSUPPORTED_NETWORK.toString());
18
+ });
19
+ test("should return an RPCUrl for a supported network", () => {
20
+ const rpcUrlOPS = getZeroDevBundlerRPCUrl(ESupportedNetworks.OPTIMISM_SEPOLIA);
21
+ expect(rpcUrlOPS).toBeDefined();
22
+ const rpcUrlOP = getZeroDevBundlerRPCUrl(ESupportedNetworks.OPTIMISM);
23
+ expect(rpcUrlOP).toBeDefined();
24
+ });
25
+ });
26
+ describe("getBundlerClient", () => {
27
+ test("should throw when the network is not supported", () => {
28
+ expect(() => getBundlerClient("Unsupported")).toThrow(ErrorCodes.UNSUPPORTED_NETWORK.toString());
29
+ });
30
+ });
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());
44
+ });
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();
53
+ });
54
+ });
55
+ describe("viemChain", () => {
56
+ 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);
73
+ });
74
+ test("should throw error for unsupported network", () => {
75
+ expect(() => viemChain("UNSUPPORTED_NETWORK")).toThrow(ErrorCodes.UNSUPPORTED_NETWORK.toString());
76
+ });
77
+ });
78
+ });
79
+ //# sourceMappingURL=common.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.test.js","sourceRoot":"","sources":["../../../../ts/common/__tests__/common.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
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;
11
+ /**
12
+ * Get a public client
13
+ *
14
+ * @param chainName - the name of the chain to use
15
+ * @returns the public client
16
+ */
17
+ export declare const getPublicClient: (chainName: ESupportedNetworks) => PublicClientHTTPType;
18
+ /**
19
+ * Get the ZeroDev bundler RPC URL based on the network
20
+ *
21
+ * @param network - the network we are on
22
+ * @returns the ZeroDev bundler RPC URL
23
+ */
24
+ export declare const getZeroDevBundlerRPCUrl: (network: ESupportedNetworks) => string;
25
+ /**
26
+ * Get a bundler client
27
+ *
28
+ * @param chainName - the chain name
29
+ * @returns the bundler client
30
+ */
31
+ export declare const getBundlerClient: (chainName: ESupportedNetworks) => BundlerClientType;
32
+ /**
33
+ * The topic for the contract creation event
34
+ */
35
+ export declare const contractCreationEventTopic = "0x4db17dd5e4732fb6da34a148104a592783ca119a1e7bb8829eba6cbadef0b511";
36
+ /**
37
+ * The offset for the address in the contract creation event
38
+ */
39
+ 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
+ /**
47
+ * Get a Kernel account handle given a session key
48
+ *
49
+ * @param sessionKey - the session key to use
50
+ * @param approval - the approval to the session key
51
+ * @param chain - the chain to use
52
+ * @returns the kernel client
53
+ */
54
+ export declare const getKernelClient: (sessionKey: Hex, approval: string, chain: ESupportedNetworks) => Promise<KernelClientType>;
55
+ //# sourceMappingURL=accountAbstraction.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,110 @@
1
+ import { deserializePermissionAccount } from "@zerodev/permissions";
2
+ import { toECDSASigner } from "@zerodev/permissions/signers";
3
+ import { createKernelAccountClient } from "@zerodev/sdk";
4
+ import { getEntryPoint, KERNEL_V3_1 } from "@zerodev/sdk/constants";
5
+ import dotenv from "dotenv";
6
+ import { createBundlerClient, ENTRYPOINT_ADDRESS_V07 } from "permissionless";
7
+ import { createPublicClient, http } from "viem";
8
+ import { privateKeyToAccount } from "viem/accounts";
9
+ import { ErrorCodes } from "./errors";
10
+ import { ESupportedNetworks, viemChain } from "./networks";
11
+ 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
+ /**
33
+ * Get a public client
34
+ *
35
+ * @param chainName - the name of the chain to use
36
+ * @returns the public client
37
+ */
38
+ export const getPublicClient = (chainName) => createPublicClient({
39
+ transport: http(genAlchemyRPCUrl(chainName)),
40
+ chain: viemChain(chainName),
41
+ });
42
+ /**
43
+ * Get the ZeroDev bundler RPC URL based on the network
44
+ *
45
+ * @param network - the network we are on
46
+ * @returns the ZeroDev bundler RPC URL
47
+ */
48
+ export const getZeroDevBundlerRPCUrl = (network) => {
49
+ switch (network) {
50
+ case ESupportedNetworks.OPTIMISM_SEPOLIA:
51
+ return process.env.ZERODEV_BUNDLER_RPC_OP_SEPOLIA || "";
52
+ case ESupportedNetworks.OPTIMISM:
53
+ return process.env.ZERODEV_BUNDLER_RPC_OP || "";
54
+ default:
55
+ throw new Error(ErrorCodes.UNSUPPORTED_NETWORK.toString());
56
+ }
57
+ };
58
+ /**
59
+ * Get a bundler client
60
+ *
61
+ * @param chainName - the chain name
62
+ * @returns the bundler client
63
+ */
64
+ export const getBundlerClient = (chainName) => createBundlerClient({
65
+ transport: http(getZeroDevBundlerRPCUrl(chainName)),
66
+ chain: viemChain(chainName),
67
+ entryPoint: ENTRYPOINT_ADDRESS_V07,
68
+ });
69
+ /**
70
+ * The topic for the contract creation event
71
+ */
72
+ export const contractCreationEventTopic = "0x4db17dd5e4732fb6da34a148104a592783ca119a1e7bb8829eba6cbadef0b511";
73
+ /**
74
+ * The offset for the address in the contract creation event
75
+ */
76
+ 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
+ /**
88
+ * Get a Kernel account handle given a session key
89
+ *
90
+ * @param sessionKey - the session key to use
91
+ * @param approval - the approval to the session key
92
+ * @param chain - the chain to use
93
+ * @returns the kernel client
94
+ */
95
+ export const getKernelClient = async (sessionKey, approval, chain) => {
96
+ const bundlerUrl = getZeroDevBundlerRPCUrl(chain);
97
+ const publicClient = getPublicClient(chain);
98
+ // Using a stored private key
99
+ const sessionKeySigner = await toECDSASigner({
100
+ signer: privateKeyToAccount(sessionKey),
101
+ });
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;
109
+ };
110
+ //# sourceMappingURL=accountAbstraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountAbstraction.js","sourceRoot":"","sources":["../../../ts/common/accountAbstraction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Error codes that are used for api responses
3
+ */
4
+ export declare enum ErrorCodes {
5
+ NOT_MERGED_STATE_TREE = 0,
6
+ PRIVATE_KEY_MISMATCH = 1,
7
+ POLL_NOT_FOUND = 2,
8
+ DECRYPTION = 3,
9
+ ENCRYPTION = 4,
10
+ FILE_NOT_FOUND = 5,
11
+ SUBGRAPH_DEPLOY = 6,
12
+ SUBGRAPH_DEPLOY_KEY_NOT_FOUND = 7,
13
+ SESSION_KEY_NOT_FOUND = 8,
14
+ PIMLICO_API_KEY_NOT_SET = 9,
15
+ INVALID_APPROVAL = 10,
16
+ UNSUPPORTED_NETWORK = 11,
17
+ RPC_API_KEY_NOT_SET = 12,
18
+ FAILED_TO_MERGE_STATE_TREE = 13,
19
+ FAILED_TO_MERGE_MESSAGE_SUBTREES = 14,
20
+ FAILED_TO_MERGE_MESSAGE_TREE = 15,
21
+ UNSUPPORTED_VOICE_CREDIT_PROXY = 16,
22
+ UNSUPPORTED_POLICY = 17,
23
+ FAILED_TO_DEPLOY_CONTRACT = 18,
24
+ FAILED_TO_SET_MACI_INSTANCE_ON_POLICY = 19,
25
+ MACI_NOT_DEPLOYED = 20,
26
+ VERIFIER_NOT_DEPLOYED = 21,
27
+ VK_REGISTRY_NOT_DEPLOYED = 22,
28
+ FAILED_TO_SET_VERIFYING_KEYS_ON_VK_REGISTRY = 23,
29
+ FAILED_TO_DEPLOY_MACI = 24,
30
+ FAILED_TO_DEPLOY_POLL = 25,
31
+ NOT_MERGED_MESSAGE_TREE = 26
32
+ }
33
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../ts/common/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,UAAU;IACpB,qBAAqB,IAAA;IACrB,oBAAoB,IAAA;IACpB,cAAc,IAAA;IACd,UAAU,IAAA;IACV,UAAU,IAAA;IACV,cAAc,IAAA;IACd,eAAe,IAAA;IACf,6BAA6B,IAAA;IAC7B,qBAAqB,IAAA;IACrB,uBAAuB,IAAA;IACvB,gBAAgB,KAAA;IAChB,mBAAmB,KAAA;IACnB,mBAAmB,KAAA;IACnB,0BAA0B,KAAA;IAC1B,gCAAgC,KAAA;IAChC,4BAA4B,KAAA;IAC5B,8BAA8B,KAAA;IAC9B,kBAAkB,KAAA;IAClB,yBAAyB,KAAA;IACzB,qCAAqC,KAAA;IACrC,iBAAiB,KAAA;IACjB,qBAAqB,KAAA;IACrB,wBAAwB,KAAA;IACxB,2CAA2C,KAAA;IAC3C,qBAAqB,KAAA;IACrB,qBAAqB,KAAA;IACrB,uBAAuB,KAAA;CACxB"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Error codes that are used for api responses
3
+ */
4
+ export var ErrorCodes;
5
+ (function (ErrorCodes) {
6
+ ErrorCodes[ErrorCodes["NOT_MERGED_STATE_TREE"] = 0] = "NOT_MERGED_STATE_TREE";
7
+ ErrorCodes[ErrorCodes["PRIVATE_KEY_MISMATCH"] = 1] = "PRIVATE_KEY_MISMATCH";
8
+ ErrorCodes[ErrorCodes["POLL_NOT_FOUND"] = 2] = "POLL_NOT_FOUND";
9
+ ErrorCodes[ErrorCodes["DECRYPTION"] = 3] = "DECRYPTION";
10
+ ErrorCodes[ErrorCodes["ENCRYPTION"] = 4] = "ENCRYPTION";
11
+ ErrorCodes[ErrorCodes["FILE_NOT_FOUND"] = 5] = "FILE_NOT_FOUND";
12
+ ErrorCodes[ErrorCodes["SUBGRAPH_DEPLOY"] = 6] = "SUBGRAPH_DEPLOY";
13
+ ErrorCodes[ErrorCodes["SUBGRAPH_DEPLOY_KEY_NOT_FOUND"] = 7] = "SUBGRAPH_DEPLOY_KEY_NOT_FOUND";
14
+ ErrorCodes[ErrorCodes["SESSION_KEY_NOT_FOUND"] = 8] = "SESSION_KEY_NOT_FOUND";
15
+ ErrorCodes[ErrorCodes["PIMLICO_API_KEY_NOT_SET"] = 9] = "PIMLICO_API_KEY_NOT_SET";
16
+ ErrorCodes[ErrorCodes["INVALID_APPROVAL"] = 10] = "INVALID_APPROVAL";
17
+ ErrorCodes[ErrorCodes["UNSUPPORTED_NETWORK"] = 11] = "UNSUPPORTED_NETWORK";
18
+ ErrorCodes[ErrorCodes["RPC_API_KEY_NOT_SET"] = 12] = "RPC_API_KEY_NOT_SET";
19
+ ErrorCodes[ErrorCodes["FAILED_TO_MERGE_STATE_TREE"] = 13] = "FAILED_TO_MERGE_STATE_TREE";
20
+ ErrorCodes[ErrorCodes["FAILED_TO_MERGE_MESSAGE_SUBTREES"] = 14] = "FAILED_TO_MERGE_MESSAGE_SUBTREES";
21
+ ErrorCodes[ErrorCodes["FAILED_TO_MERGE_MESSAGE_TREE"] = 15] = "FAILED_TO_MERGE_MESSAGE_TREE";
22
+ ErrorCodes[ErrorCodes["UNSUPPORTED_VOICE_CREDIT_PROXY"] = 16] = "UNSUPPORTED_VOICE_CREDIT_PROXY";
23
+ ErrorCodes[ErrorCodes["UNSUPPORTED_POLICY"] = 17] = "UNSUPPORTED_POLICY";
24
+ ErrorCodes[ErrorCodes["FAILED_TO_DEPLOY_CONTRACT"] = 18] = "FAILED_TO_DEPLOY_CONTRACT";
25
+ ErrorCodes[ErrorCodes["FAILED_TO_SET_MACI_INSTANCE_ON_POLICY"] = 19] = "FAILED_TO_SET_MACI_INSTANCE_ON_POLICY";
26
+ ErrorCodes[ErrorCodes["MACI_NOT_DEPLOYED"] = 20] = "MACI_NOT_DEPLOYED";
27
+ ErrorCodes[ErrorCodes["VERIFIER_NOT_DEPLOYED"] = 21] = "VERIFIER_NOT_DEPLOYED";
28
+ ErrorCodes[ErrorCodes["VK_REGISTRY_NOT_DEPLOYED"] = 22] = "VK_REGISTRY_NOT_DEPLOYED";
29
+ ErrorCodes[ErrorCodes["FAILED_TO_SET_VERIFYING_KEYS_ON_VK_REGISTRY"] = 23] = "FAILED_TO_SET_VERIFYING_KEYS_ON_VK_REGISTRY";
30
+ ErrorCodes[ErrorCodes["FAILED_TO_DEPLOY_MACI"] = 24] = "FAILED_TO_DEPLOY_MACI";
31
+ ErrorCodes[ErrorCodes["FAILED_TO_DEPLOY_POLL"] = 25] = "FAILED_TO_DEPLOY_POLL";
32
+ ErrorCodes[ErrorCodes["NOT_MERGED_MESSAGE_TREE"] = 26] = "NOT_MERGED_MESSAGE_TREE";
33
+ })(ErrorCodes || (ErrorCodes = {}));
34
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../ts/common/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,UA4BX;AA5BD,WAAY,UAAU;IACpB,6EAAqB,CAAA;IACrB,2EAAoB,CAAA;IACpB,+DAAc,CAAA;IACd,uDAAU,CAAA;IACV,uDAAU,CAAA;IACV,+DAAc,CAAA;IACd,iEAAe,CAAA;IACf,6FAA6B,CAAA;IAC7B,6EAAqB,CAAA;IACrB,iFAAuB,CAAA;IACvB,oEAAgB,CAAA;IAChB,0EAAmB,CAAA;IACnB,0EAAmB,CAAA;IACnB,wFAA0B,CAAA;IAC1B,oGAAgC,CAAA;IAChC,4FAA4B,CAAA;IAC5B,gGAA8B,CAAA;IAC9B,wEAAkB,CAAA;IAClB,sFAAyB,CAAA;IACzB,8GAAqC,CAAA;IACrC,sEAAiB,CAAA;IACjB,8EAAqB,CAAA;IACrB,oFAAwB,CAAA;IACxB,0HAA2C,CAAA;IAC3C,8EAAqB,CAAA;IACrB,8EAAqB,CAAA;IACrB,kFAAuB,CAAA;AACzB,CAAC,EA5BW,UAAU,KAAV,UAAU,QA4BrB"}
@@ -0,0 +1,4 @@
1
+ export { ErrorCodes } from "./errors";
2
+ export { ESupportedNetworks } from "./networks";
3
+ export * from "./types";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,cAAc,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { ErrorCodes } from "./errors";
2
+ export { ESupportedNetworks } from "./networks";
3
+ export * from "./types";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,cAAc,SAAS,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { type Chain } from "viem/chains";
2
+ export declare enum ESupportedNetworks {
3
+ ETHEREUM = "mainnet",
4
+ OPTIMISM = "optimism",
5
+ OPTIMISM_SEPOLIA = "optimism-sepolia",
6
+ BSC = "bsc",
7
+ BSC_CHAPEL = "chapel",
8
+ GNOSIS_CHAIN = "gnosis",
9
+ POLYGON = "matic",
10
+ ARBITRUM_ONE = "arbitrum-one",
11
+ HOLESKY = "holesky",
12
+ LINEA_SEPOLIA = "linea-sepolia",
13
+ BASE_SEPOLIA = "base-sepolia",
14
+ ETHEREUM_SEPOLIA = "sepolia",
15
+ ARBITRUM_SEPOLIA = "arbitrum-sepolia",
16
+ LINEA = "linea",
17
+ BASE = "base",
18
+ SCROLL_SEPOLIA = "scroll-sepolia",
19
+ SCROLL = "scroll",
20
+ LOCALHOST = "localhost"
21
+ }
22
+ /**
23
+ * Get the Viem chain for a given network
24
+ *
25
+ * @param network - the network to get the chain for
26
+ * @returns the Viem chain
27
+ */
28
+ export declare const viemChain: (network: ESupportedNetworks) => Chain;
29
+ //# sourceMappingURL=networks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../ts/common/networks.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,KAAK,EAaX,MAAM,aAAa,CAAC;AAIrB,oBAAY,kBAAkB;IAC5B,QAAQ,YAAY;IACpB,QAAQ,aAAa;IACrB,gBAAgB,qBAAqB;IACrC,GAAG,QAAQ;IACX,UAAU,WAAW;IACrB,YAAY,WAAW;IACvB,OAAO,UAAU;IACjB,YAAY,iBAAiB;IAC7B,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,gBAAgB,YAAY;IAC5B,gBAAgB,qBAAqB;IACrC,KAAK,UAAU;IACf,IAAI,SAAS;IACb,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,kBAAkB,KAAG,KAuCvD,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { arbitrum, arbitrumSepolia, base, baseSepolia, bsc, gnosis, holesky, linea, lineaSepolia, localhost, mainnet, optimism, optimismSepolia, polygon, scroll, scrollSepolia, sepolia, } from "viem/chains";
2
+ import { ErrorCodes } from "./errors";
3
+ export var ESupportedNetworks;
4
+ (function (ESupportedNetworks) {
5
+ ESupportedNetworks["ETHEREUM"] = "mainnet";
6
+ ESupportedNetworks["OPTIMISM"] = "optimism";
7
+ ESupportedNetworks["OPTIMISM_SEPOLIA"] = "optimism-sepolia";
8
+ ESupportedNetworks["BSC"] = "bsc";
9
+ ESupportedNetworks["BSC_CHAPEL"] = "chapel";
10
+ ESupportedNetworks["GNOSIS_CHAIN"] = "gnosis";
11
+ ESupportedNetworks["POLYGON"] = "matic";
12
+ ESupportedNetworks["ARBITRUM_ONE"] = "arbitrum-one";
13
+ ESupportedNetworks["HOLESKY"] = "holesky";
14
+ ESupportedNetworks["LINEA_SEPOLIA"] = "linea-sepolia";
15
+ ESupportedNetworks["BASE_SEPOLIA"] = "base-sepolia";
16
+ ESupportedNetworks["ETHEREUM_SEPOLIA"] = "sepolia";
17
+ ESupportedNetworks["ARBITRUM_SEPOLIA"] = "arbitrum-sepolia";
18
+ ESupportedNetworks["LINEA"] = "linea";
19
+ ESupportedNetworks["BASE"] = "base";
20
+ ESupportedNetworks["SCROLL_SEPOLIA"] = "scroll-sepolia";
21
+ ESupportedNetworks["SCROLL"] = "scroll";
22
+ ESupportedNetworks["LOCALHOST"] = "localhost";
23
+ })(ESupportedNetworks || (ESupportedNetworks = {}));
24
+ /**
25
+ * Get the Viem chain for a given network
26
+ *
27
+ * @param network - the network to get the chain for
28
+ * @returns the Viem chain
29
+ */
30
+ export const viemChain = (network) => {
31
+ switch (network) {
32
+ case ESupportedNetworks.ETHEREUM:
33
+ return mainnet;
34
+ case ESupportedNetworks.ETHEREUM_SEPOLIA:
35
+ return sepolia;
36
+ case ESupportedNetworks.ARBITRUM_ONE:
37
+ return arbitrum;
38
+ case ESupportedNetworks.ARBITRUM_SEPOLIA:
39
+ return arbitrumSepolia;
40
+ case ESupportedNetworks.BASE_SEPOLIA:
41
+ return baseSepolia;
42
+ case ESupportedNetworks.LINEA_SEPOLIA:
43
+ return lineaSepolia;
44
+ case ESupportedNetworks.SCROLL_SEPOLIA:
45
+ return scrollSepolia;
46
+ case ESupportedNetworks.SCROLL:
47
+ return scroll;
48
+ case ESupportedNetworks.BASE:
49
+ return base;
50
+ case ESupportedNetworks.HOLESKY:
51
+ return holesky;
52
+ case ESupportedNetworks.LINEA:
53
+ return linea;
54
+ case ESupportedNetworks.BSC:
55
+ return bsc;
56
+ case ESupportedNetworks.GNOSIS_CHAIN:
57
+ return gnosis;
58
+ case ESupportedNetworks.POLYGON:
59
+ return polygon;
60
+ case ESupportedNetworks.OPTIMISM:
61
+ return optimism;
62
+ case ESupportedNetworks.OPTIMISM_SEPOLIA:
63
+ return optimismSepolia;
64
+ case ESupportedNetworks.LOCALHOST:
65
+ return localhost;
66
+ default:
67
+ throw new Error(ErrorCodes.UNSUPPORTED_NETWORK.toString());
68
+ }
69
+ };
70
+ //# sourceMappingURL=networks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../../ts/common/networks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,IAAI,EACJ,WAAW,EACX,GAAG,EAEH,MAAM,EACN,OAAO,EACP,KAAK,EACL,YAAY,EACZ,SAAS,EACT,OAAO,EACP,QAAQ,EACR,eAAe,EACf,OAAO,EACP,MAAM,EACN,aAAa,EACb,OAAO,GACR,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,CAAN,IAAY,kBAmBX;AAnBD,WAAY,kBAAkB;IAC5B,0CAAoB,CAAA;IACpB,2CAAqB,CAAA;IACrB,2DAAqC,CAAA;IACrC,iCAAW,CAAA;IACX,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,uCAAiB,CAAA;IACjB,mDAA6B,CAAA;IAC7B,yCAAmB,CAAA;IACnB,qDAA+B,CAAA;IAC/B,mDAA6B,CAAA;IAC7B,kDAA4B,CAAA;IAC5B,2DAAqC,CAAA;IACrC,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,uDAAiC,CAAA;IACjC,uCAAiB,CAAA;IACjB,6CAAuB,CAAA;AACzB,CAAC,EAnBW,kBAAkB,KAAlB,kBAAkB,QAmB7B;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAA2B,EAAS,EAAE;IAC9D,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,kBAAkB,CAAC,QAAQ;YAC9B,OAAO,OAAO,CAAC;QACjB,KAAK,kBAAkB,CAAC,gBAAgB;YACtC,OAAO,OAAO,CAAC;QACjB,KAAK,kBAAkB,CAAC,YAAY;YAClC,OAAO,QAAQ,CAAC;QAClB,KAAK,kBAAkB,CAAC,gBAAgB;YACtC,OAAO,eAAe,CAAC;QACzB,KAAK,kBAAkB,CAAC,YAAY;YAClC,OAAO,WAAW,CAAC;QACrB,KAAK,kBAAkB,CAAC,aAAa;YACnC,OAAO,YAAY,CAAC;QACtB,KAAK,kBAAkB,CAAC,cAAc;YACpC,OAAO,aAAa,CAAC;QACvB,KAAK,kBAAkB,CAAC,MAAM;YAC5B,OAAO,MAAM,CAAC;QAChB,KAAK,kBAAkB,CAAC,IAAI;YAC1B,OAAO,IAAI,CAAC;QACd,KAAK,kBAAkB,CAAC,OAAO;YAC7B,OAAO,OAAO,CAAC;QACjB,KAAK,kBAAkB,CAAC,KAAK;YAC3B,OAAO,KAAK,CAAC;QACf,KAAK,kBAAkB,CAAC,GAAG;YACzB,OAAO,GAAG,CAAC;QACb,KAAK,kBAAkB,CAAC,YAAY;YAClC,OAAO,MAAM,CAAC;QAChB,KAAK,kBAAkB,CAAC,OAAO;YAC7B,OAAO,OAAO,CAAC;QACjB,KAAK,kBAAkB,CAAC,QAAQ;YAC9B,OAAO,QAAQ,CAAC;QAClB,KAAK,kBAAkB,CAAC,gBAAgB;YACtC,OAAO,eAAe,CAAC;QACzB,KAAK,kBAAkB,CAAC,SAAS;YAC/B,OAAO,SAAS,CAAC;QACnB;YACE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { CreateKernelAccountReturnType, KernelAccountClient } from "@zerodev/sdk";
2
+ import { BundlerClient } from "permissionless";
3
+ import { ENTRYPOINT_ADDRESS_V07_TYPE } from "permissionless/types";
4
+ import type { Chain, HttpTransport, PublicClient, Transport } from "viem";
5
+ export type KernelClientType = KernelAccountClient<Transport, Chain, CreateKernelAccountReturnType>;
6
+ export type BundlerClientType = BundlerClient<ENTRYPOINT_ADDRESS_V07_TYPE>;
7
+ export type PublicClientType = PublicClient<Transport, Chain>;
8
+ export type PublicClientHTTPType = PublicClient<HttpTransport, Chain>;
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,SAAS,EAAE,KAAK,EAAE,6BAA6B,CAAC,CAAC;AAEpG,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,2BAA2B,CAAC,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../ts/common/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=crypto.service.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.service.test.d.ts","sourceRoot":"","sources":["../../../../ts/crypto/__tests__/crypto.service.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import fc from "fast-check";
2
+ import { generateKeyPairSync } from "crypto";
3
+ import { ErrorCodes } from "../../common";
4
+ import { CryptoService } from "../crypto.service";
5
+ describe("CryptoService", () => {
6
+ test("should throw encryption error if key is invalid", () => {
7
+ const service = new CryptoService();
8
+ expect(() => service.encrypt("", "")).toThrow(ErrorCodes.ENCRYPTION.toString());
9
+ });
10
+ test("should throw decryption error if key is invalid", () => {
11
+ const service = new CryptoService();
12
+ expect(() => service.decrypt("", "")).toThrow(ErrorCodes.DECRYPTION.toString());
13
+ });
14
+ test("should encrypt and decrypt properly", () => {
15
+ fc.assert(fc.property(fc.string(), (text) => {
16
+ const service = new CryptoService();
17
+ const keypair = generateKeyPairSync("rsa", {
18
+ modulusLength: 2048,
19
+ });
20
+ const encryptedText = service.encrypt(keypair.publicKey.export({ type: "pkcs1", format: "pem" }), text);
21
+ const decryptedText = service.decrypt(keypair.privateKey.export({ type: "pkcs1", format: "pem" }), encryptedText);
22
+ return decryptedText === text;
23
+ }));
24
+ });
25
+ });
26
+ //# sourceMappingURL=crypto.service.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.service.test.js","sourceRoot":"","sources":["../../../../ts/crypto/__tests__/crypto.service.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QAEpC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QAEpC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;YAEpC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE;gBACzC,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAExG,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CACnC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAC3D,aAAa,CACd,CAAC;YAEF,OAAO,aAAa,KAAK,IAAI,CAAC;QAChC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare class CryptoModule {
2
+ }
3
+ //# sourceMappingURL=crypto.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.module.d.ts","sourceRoot":"","sources":["../../../ts/crypto/crypto.module.ts"],"names":[],"mappings":"AAIA,qBAIa,YAAY;CAAG"}
@@ -0,0 +1,18 @@
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 { CryptoService } from "./crypto.service";
9
+ let CryptoModule = class CryptoModule {
10
+ };
11
+ CryptoModule = __decorate([
12
+ Module({
13
+ exports: [CryptoService],
14
+ providers: [CryptoService],
15
+ })
16
+ ], CryptoModule);
17
+ export { CryptoModule };
18
+ //# sourceMappingURL=crypto.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.module.js","sourceRoot":"","sources":["../../../ts/crypto/crypto.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAM1C,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IAJxB,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,aAAa,CAAC;QACxB,SAAS,EAAE,CAAC,aAAa,CAAC;KAC3B,CAAC;GACW,YAAY,CAAG"}
@@ -0,0 +1,31 @@
1
+ import { type KeyLike } from "crypto";
2
+ /**
3
+ * CryptoService is responsible for encrypting and decrypting user sensitive data
4
+ */
5
+ export declare class CryptoService {
6
+ /**
7
+ * Logger
8
+ */
9
+ private readonly logger;
10
+ /**
11
+ * Initialize service
12
+ */
13
+ constructor();
14
+ /**
15
+ * Encrypt plaintext with public key
16
+ *
17
+ * @param publicKey - public key
18
+ * @param value - plaintext
19
+ * @returns ciphertext
20
+ */
21
+ encrypt(publicKey: KeyLike, value: string): string;
22
+ /**
23
+ * Decrypt ciphertext with private key
24
+ *
25
+ * @param privateKey - private key
26
+ * @param value - ciphertext
27
+ * @returns plaintext
28
+ */
29
+ decrypt(privateKey: KeyLike, value: string): string;
30
+ }
31
+ //# sourceMappingURL=crypto.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.service.d.ts","sourceRoot":"","sources":["../../../ts/crypto/crypto.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiC,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIrE;;GAEG;AACH,qBACa,aAAa;IACxB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;OAEG;;IAKH;;;;;;OAMG;IACH,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAWlD;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAUpD"}