@maci-protocol/coordinator 0.0.0-ci.1b8f2fc → 0.0.0-ci.20a1c68

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 (41) hide show
  1. package/build/scripts/generateKeypair.js +2 -2
  2. package/build/scripts/generateKeypair.js.map +1 -1
  3. package/build/tests/e2e.deploy.test.js +20 -17
  4. package/build/tests/e2e.deploy.test.js.map +1 -1
  5. package/build/tests/utils.d.ts.map +1 -1
  6. package/build/tests/utils.js.map +1 -1
  7. package/build/ts/common/__tests__/common.test.js +1 -11
  8. package/build/ts/common/__tests__/common.test.js.map +1 -1
  9. package/build/ts/common/chain.d.ts.map +1 -1
  10. package/build/ts/common/chain.js +3 -1
  11. package/build/ts/common/chain.js.map +1 -1
  12. package/build/ts/deployer/__tests__/deployer.controller.test.js +7 -7
  13. package/build/ts/deployer/__tests__/deployer.controller.test.js.map +1 -1
  14. package/build/ts/deployer/__tests__/deployer.service.test.js +54 -8
  15. package/build/ts/deployer/__tests__/deployer.service.test.js.map +1 -1
  16. package/build/ts/deployer/__tests__/utils.d.ts +0 -1
  17. package/build/ts/deployer/__tests__/utils.d.ts.map +1 -1
  18. package/build/ts/deployer/__tests__/utils.js +2 -3
  19. package/build/ts/deployer/__tests__/utils.js.map +1 -1
  20. package/build/ts/deployer/deployer.service.d.ts +5 -6
  21. package/build/ts/deployer/deployer.service.d.ts.map +1 -1
  22. package/build/ts/deployer/deployer.service.js +175 -51
  23. package/build/ts/deployer/deployer.service.js.map +1 -1
  24. package/build/ts/deployer/types.d.ts +16 -10
  25. package/build/ts/deployer/types.d.ts.map +1 -1
  26. package/build/ts/proof/__tests__/proof.service.test.js +28 -54
  27. package/build/ts/proof/__tests__/proof.service.test.js.map +1 -1
  28. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js +2 -2
  29. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js.map +1 -1
  30. package/build/ts/subgraph/__tests__/subgraph.service.test.js +2 -3
  31. package/build/ts/subgraph/__tests__/subgraph.service.test.js.map +1 -1
  32. package/build/ts/subgraph/subgraph.service.d.ts +4 -0
  33. package/build/ts/subgraph/subgraph.service.d.ts.map +1 -1
  34. package/build/ts/subgraph/subgraph.service.js +16 -5
  35. package/build/ts/subgraph/subgraph.service.js.map +1 -1
  36. package/build/tsconfig.build.tsbuildinfo +1 -1
  37. package/package.json +12 -12
  38. package/build/tests/e2e.aa.test.d.ts +0 -2
  39. package/build/tests/e2e.aa.test.d.ts.map +0 -1
  40. package/build/tests/e2e.aa.test.js +0 -96
  41. package/build/tests/e2e.aa.test.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maci-protocol/coordinator",
3
- "version": "0.0.0-ci.1b8f2fc",
3
+ "version": "0.0.0-ci.20a1c68",
4
4
  "private": false,
5
5
  "description": "Coordinator service for MACI",
6
6
  "main": "build/ts/main.js",
@@ -22,7 +22,7 @@
22
22
  "run:node": "node --import 'data:text/javascript,import { register } from \"node:module\"; import { pathToFileURL } from \"node:url\"; register(\"ts-node/esm\", pathToFileURL(\"./\"));'",
23
23
  "start": "pnpm run run:node ./ts/main.ts",
24
24
  "start:prod": "pnpm run run:node build/ts/main.js",
25
- "test": "jest --testPathIgnorePatterns=e2e.deploy.test.ts --testPathIgnorePatterns=e2e.test.ts --forceExit",
25
+ "test": "jest --testPathIgnorePatterns=tests/ --forceExit",
26
26
  "test:coverage": "jest --coverage --forceExit",
27
27
  "test:e2e": "jest ./tests/*.test.ts --forceExit --runInBand",
28
28
  "types": "tsc -p tsconfig.json --noEmit",
@@ -32,11 +32,11 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "@graphprotocol/graph-cli": "^0.97.1",
35
- "@maci-protocol/contracts": "0.0.0-ci.1b8f2fc",
36
- "@maci-protocol/crypto": "0.0.0-ci.1b8f2fc",
37
- "@maci-protocol/domainobjs": "0.0.0-ci.1b8f2fc",
38
- "@maci-protocol/sdk": "0.0.0-ci.1b8f2fc",
39
- "@maci-protocol/subgraph": "0.0.0-ci.1b8f2fc",
35
+ "@maci-protocol/contracts": "0.0.0-ci.20a1c68",
36
+ "@maci-protocol/crypto": "0.0.0-ci.20a1c68",
37
+ "@maci-protocol/domainobjs": "0.0.0-ci.20a1c68",
38
+ "@maci-protocol/sdk": "0.0.0-ci.20a1c68",
39
+ "@maci-protocol/subgraph": "0.0.0-ci.20a1c68",
40
40
  "@nestjs/common": "^11.1.3",
41
41
  "@nestjs/core": "^11.1.3",
42
42
  "@nestjs/platform-express": "^11.1.3",
@@ -47,8 +47,8 @@
47
47
  "@nomicfoundation/hardhat-ethers": "^3.0.9",
48
48
  "@nomicfoundation/hardhat-toolbox": "^6.0.0",
49
49
  "@zerodev/ecdsa-validator": "5.4.9",
50
- "@zerodev/permissions": "5.5.11",
51
- "@zerodev/sdk": "5.4.40",
50
+ "@zerodev/permissions": "5.5.12",
51
+ "@zerodev/sdk": "5.4.41",
52
52
  "class-transformer": "^0.5.1",
53
53
  "class-validator": "^0.14.2",
54
54
  "date-fns": "^4.1.0",
@@ -72,9 +72,9 @@
72
72
  "@types/express": "^5.0.3",
73
73
  "@types/jest": "^30.0.0",
74
74
  "@types/lowdb": "^1.0.15",
75
- "@types/node": "^24.0.12",
75
+ "@types/node": "^24.0.13",
76
76
  "@types/supertest": "^6.0.2",
77
- "fast-check": "^4.1.1",
77
+ "fast-check": "^4.2.0",
78
78
  "jest": "^30.0.4",
79
79
  "socket.io-client": "^4.7.5",
80
80
  "supertest": "^7.1.3",
@@ -120,5 +120,5 @@
120
120
  "coverageDirectory": "<rootDir>/coverage",
121
121
  "testEnvironment": "node"
122
122
  },
123
- "gitHead": "0ca419ddd9b7b97f8167ffa505adc4ecef29e55e"
123
+ "gitHead": "477097c33dc067f9c28d055c81f0ef5233b41110"
124
124
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=e2e.aa.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"e2e.aa.test.d.ts","sourceRoot":"","sources":["../../tests/e2e.aa.test.ts"],"names":[],"mappings":""}
@@ -1,96 +0,0 @@
1
- import { sleep } from "@maci-protocol/sdk";
2
- import { zeroAddress } from "viem";
3
- import { ErrorCodes, ESupportedNetworks } from "../ts/common";
4
- import { testMaciDeploymentConfig, testPollDeploymentConfig } from "../ts/deployer/__tests__/utils";
5
- import { DeployerService } from "../ts/deployer/deployer.service";
6
- import { FileService } from "../ts/file/file.service";
7
- import { ProofGeneratorService } from "../ts/proof/proof.service";
8
- import { ENTRY_POINT, generateApproval, KERNEL_VERSION } from "../ts/sessionKeys/__tests__/utils";
9
- import { SessionKeysService } from "../ts/sessionKeys/sessionKeys.service";
10
- describe("E2E Account Abstraction Tests", () => {
11
- const fileService = new FileService();
12
- const sessionKeyService = new SessionKeysService(fileService);
13
- const proofService = new ProofGeneratorService(fileService, sessionKeyService);
14
- const deployerService = new DeployerService(sessionKeyService, fileService);
15
- // using an already deployed maci contract
16
- let maciContract = "";
17
- let pollId;
18
- let approval;
19
- let sessionKeyAddress;
20
- beforeAll(async () => {
21
- sessionKeyAddress = (await sessionKeyService.generateSessionKey()).sessionKeyAddress;
22
- approval = await generateApproval(sessionKeyAddress);
23
- });
24
- describe("deploy", () => {
25
- describe("deployMaci", () => {
26
- it("should deploy all maci related contracts", async () => {
27
- const { address: maciAddress } = await deployerService.deployMaci({
28
- chain: ESupportedNetworks.OPTIMISM_SEPOLIA,
29
- config: testMaciDeploymentConfig,
30
- });
31
- maciContract = maciAddress;
32
- expect(maciAddress).not.toBe(zeroAddress);
33
- });
34
- });
35
- describe("deployPoll", () => {
36
- it("should deploy a poll", async () => {
37
- const { pollId: poll } = await deployerService.deployPoll({
38
- chain: ESupportedNetworks.OPTIMISM_SEPOLIA,
39
- config: {
40
- ...testPollDeploymentConfig,
41
- startDate: Math.floor(Date.now() / 1000) + 50,
42
- endDate: Math.floor(Date.now() / 1000) + 85,
43
- },
44
- });
45
- expect(poll).toBeDefined();
46
- pollId = Number.parseInt(poll, 10);
47
- });
48
- });
49
- });
50
- describe("merge", () => {
51
- test("should return true when there are no errors", async () => {
52
- // wait until we can complete a poll
53
- await sleep(90 * 1000); // 50 start + 35 end + 5 seconds of grace time
54
- const merged = await proofService.merge({
55
- maciContractAddress: maciContract,
56
- pollId,
57
- chain: ESupportedNetworks.OPTIMISM_SEPOLIA,
58
- });
59
- expect(merged).toBe(true);
60
- });
61
- test("should throw when given an invalid pollId", async () => {
62
- const invalidPollId = 50000;
63
- await expect(proofService.merge({
64
- maciContractAddress: maciContract,
65
- pollId: invalidPollId,
66
- chain: ESupportedNetworks.OPTIMISM_SEPOLIA,
67
- })).rejects.toThrow(`MACI contract doesn't have any deployed poll ${invalidPollId}`);
68
- });
69
- });
70
- describe("sessionKeys", () => {
71
- it("should create a client from a session key and an approval", async () => {
72
- const client = await sessionKeyService.generateClientFromSessionKey(sessionKeyAddress, approval, ESupportedNetworks.OPTIMISM_SEPOLIA);
73
- expect(client).toBeDefined();
74
- expect(client.transport.key).toBe("http");
75
- expect(client.key).toBe("Account");
76
- expect(client.account.address).not.toBe(zeroAddress);
77
- expect(client.account.kernelVersion).toBe(KERNEL_VERSION);
78
- expect(client.account.entryPoint.version).toBe(ENTRY_POINT.version);
79
- // this is an account with limited permissions so no sudo validator
80
- expect(client.account.kernelPluginManager.address).toBe(zeroAddress);
81
- expect(client.account.kernelPluginManager.sudoValidator).toBe(undefined);
82
- // send a transaction
83
- const tx = await client.sendTransaction({
84
- to: zeroAddress,
85
- value: 0n,
86
- data: "0x",
87
- });
88
- expect(tx.length).toBeGreaterThan(0);
89
- });
90
- it("should not allow to create a client after the session key has been deactivated", async () => {
91
- sessionKeyService.deactivateSessionKey(sessionKeyAddress);
92
- await expect(sessionKeyService.generateClientFromSessionKey(sessionKeyAddress, approval, ESupportedNetworks.OPTIMISM_SEPOLIA)).rejects.toThrow(ErrorCodes.SESSION_KEY_NOT_FOUND.toString());
93
- });
94
- });
95
- });
96
- //# sourceMappingURL=e2e.aa.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"e2e.aa.test.js","sourceRoot":"","sources":["../../tests/e2e.aa.test.ts"],"names":[],"mappings":"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"}