@maci-protocol/coordinator 0.0.0-ci.5bca90b → 0.0.0-ci.5dbd2ab

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 (99) hide show
  1. package/README.md +18 -0
  2. package/build/tests/e2e.deploy.test.js +53 -34
  3. package/build/tests/e2e.deploy.test.js.map +1 -1
  4. package/build/tests/utils.d.ts.map +1 -1
  5. package/build/tests/utils.js.map +1 -1
  6. package/build/ts/app.module.d.ts.map +1 -1
  7. package/build/ts/app.module.js +2 -0
  8. package/build/ts/app.module.js.map +1 -1
  9. package/build/ts/common/__tests__/common.test.js +6 -16
  10. package/build/ts/common/__tests__/common.test.js.map +1 -1
  11. package/build/ts/common/accountAbstraction.js +2 -2
  12. package/build/ts/common/accountAbstraction.js.map +1 -1
  13. package/build/ts/common/chain.d.ts +3 -3
  14. package/build/ts/common/chain.d.ts.map +1 -1
  15. package/build/ts/common/chain.js +10 -14
  16. package/build/ts/common/chain.js.map +1 -1
  17. package/build/ts/common/coordinatorKeypair.d.ts +7 -0
  18. package/build/ts/common/coordinatorKeypair.d.ts.map +1 -0
  19. package/build/ts/common/coordinatorKeypair.js +14 -0
  20. package/build/ts/common/coordinatorKeypair.js.map +1 -0
  21. package/build/ts/common/errors.d.ts +1 -1
  22. package/build/ts/common/errors.d.ts.map +1 -1
  23. package/build/ts/common/errors.js +1 -1
  24. package/build/ts/common/errors.js.map +1 -1
  25. package/build/ts/deployer/__tests__/deployer.controller.test.js +7 -7
  26. package/build/ts/deployer/__tests__/deployer.controller.test.js.map +1 -1
  27. package/build/ts/deployer/__tests__/deployer.service.test.js +54 -8
  28. package/build/ts/deployer/__tests__/deployer.service.test.js.map +1 -1
  29. package/build/ts/deployer/__tests__/utils.d.ts +2 -6
  30. package/build/ts/deployer/__tests__/utils.d.ts.map +1 -1
  31. package/build/ts/deployer/__tests__/utils.js +4 -9
  32. package/build/ts/deployer/__tests__/utils.js.map +1 -1
  33. package/build/ts/deployer/deployer.service.d.ts +4 -5
  34. package/build/ts/deployer/deployer.service.d.ts.map +1 -1
  35. package/build/ts/deployer/deployer.service.js +165 -44
  36. package/build/ts/deployer/deployer.service.js.map +1 -1
  37. package/build/ts/deployer/types.d.ts +16 -13
  38. package/build/ts/deployer/types.d.ts.map +1 -1
  39. package/build/ts/file/file.service.d.ts +1 -1
  40. package/build/ts/file/file.service.d.ts.map +1 -1
  41. package/build/ts/file/file.service.js +2 -2
  42. package/build/ts/file/file.service.js.map +1 -1
  43. package/build/ts/health/__tests__/health.controller.test.d.ts +2 -0
  44. package/build/ts/health/__tests__/health.controller.test.d.ts.map +1 -0
  45. package/build/ts/health/__tests__/health.controller.test.js +22 -0
  46. package/build/ts/health/__tests__/health.controller.test.js.map +1 -0
  47. package/build/ts/health/__tests__/health.service.test.d.ts +2 -0
  48. package/build/ts/health/__tests__/health.service.test.d.ts.map +1 -0
  49. package/build/ts/health/__tests__/health.service.test.js +77 -0
  50. package/build/ts/health/__tests__/health.service.test.js.map +1 -0
  51. package/build/ts/health/health.controller.d.ts +16 -0
  52. package/build/ts/health/health.controller.d.ts.map +1 -0
  53. package/build/ts/health/health.controller.js +43 -0
  54. package/build/ts/health/health.controller.js.map +1 -0
  55. package/build/ts/health/health.module.d.ts +3 -0
  56. package/build/ts/health/health.module.d.ts.map +1 -0
  57. package/build/ts/health/health.module.js +21 -0
  58. package/build/ts/health/health.module.js.map +1 -0
  59. package/build/ts/health/health.service.d.ts +35 -0
  60. package/build/ts/health/health.service.d.ts.map +1 -0
  61. package/build/ts/health/health.service.js +169 -0
  62. package/build/ts/health/health.service.js.map +1 -0
  63. package/build/ts/health/types.d.ts +79 -0
  64. package/build/ts/health/types.d.ts.map +1 -0
  65. package/build/ts/health/types.js +2 -0
  66. package/build/ts/health/types.js.map +1 -0
  67. package/build/ts/proof/__tests__/proof.controller.test.js +0 -1
  68. package/build/ts/proof/__tests__/proof.controller.test.js.map +1 -1
  69. package/build/ts/proof/__tests__/proof.gateway.test.js +0 -1
  70. package/build/ts/proof/__tests__/proof.gateway.test.js.map +1 -1
  71. package/build/ts/proof/__tests__/proof.service.test.js +31 -72
  72. package/build/ts/proof/__tests__/proof.service.test.js.map +1 -1
  73. package/build/ts/proof/dto.d.ts +0 -4
  74. package/build/ts/proof/dto.d.ts.map +1 -1
  75. package/build/ts/proof/dto.js +1 -16
  76. package/build/ts/proof/dto.js.map +1 -1
  77. package/build/ts/proof/proof.controller.d.ts.map +1 -1
  78. package/build/ts/proof/proof.controller.js +1 -4
  79. package/build/ts/proof/proof.controller.js.map +1 -1
  80. package/build/ts/proof/proof.service.d.ts +2 -4
  81. package/build/ts/proof/proof.service.d.ts.map +1 -1
  82. package/build/ts/proof/proof.service.js +16 -18
  83. package/build/ts/proof/proof.service.js.map +1 -1
  84. package/build/ts/proof/types.d.ts +1 -4
  85. package/build/ts/proof/types.d.ts.map +1 -1
  86. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js +2 -2
  87. package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js.map +1 -1
  88. package/build/ts/subgraph/__tests__/subgraph.service.test.js +2 -3
  89. package/build/ts/subgraph/__tests__/subgraph.service.test.js.map +1 -1
  90. package/build/ts/subgraph/subgraph.service.d.ts +4 -0
  91. package/build/ts/subgraph/subgraph.service.d.ts.map +1 -1
  92. package/build/ts/subgraph/subgraph.service.js +16 -5
  93. package/build/ts/subgraph/subgraph.service.js.map +1 -1
  94. package/build/tsconfig.build.tsbuildinfo +1 -1
  95. package/package.json +31 -31
  96. package/build/tests/e2e.aa.test.d.ts +0 -2
  97. package/build/tests/e2e.aa.test.d.ts.map +0 -1
  98. package/build/tests/e2e.aa.test.js +0 -98
  99. package/build/tests/e2e.aa.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"deployer.controller.test.js","sourceRoot":"","sources":["../../../../ts/deployer/__tests__/deployer.controller.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployer.controller.test.js","sourceRoot":"","sources":["../../../../ts/deployer/__tests__/deployer.controller.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ContractStorage, EContracts, EInitialVoiceCreditProxies, EPolicies, MACI__factory as MACIFactory, Verifier__factory as VerifierFactory, } from "@maci-protocol/sdk";
1
+ import { ContractStorage, ECheckerFactories, EContracts, EInitialVoiceCreditProxies, EPolicies, EPolicyFactories, getDeployedPolicyProxyFactories, MACI__factory as MACIFactory, Verifier__factory as VerifierFactory, } from "@maci-protocol/sdk";
2
2
  import dotenv from "dotenv";
3
3
  import { BaseContract } from "ethers";
4
4
  import { zeroAddress } from "viem";
@@ -21,13 +21,11 @@ describe("DeployerService", () => {
21
21
  const deployerService = new DeployerService(sessionKeyService, fileService);
22
22
  let approval;
23
23
  let sessionKeyAddress;
24
- let kernelClient;
25
24
  let signer;
26
25
  beforeAll(async () => {
27
26
  sessionKeyAddress = (await sessionKeyService.generateSessionKey()).sessionKeyAddress;
28
27
  approval = await generateApproval(sessionKeyAddress);
29
- kernelClient = await sessionKeyService.generateClientFromSessionKey(sessionKeyAddress, approval, chain);
30
- signer = await sessionKeyService.getKernelClientSigner(kernelClient);
28
+ signer = await sessionKeyService.getCoordinatorSigner(chain);
31
29
  });
32
30
  afterAll(() => {
33
31
  storageInstance.cleanup(ESupportedNetworks.OPTIMISM_SEPOLIA);
@@ -38,14 +36,62 @@ describe("DeployerService", () => {
38
36
  afterEach(() => {
39
37
  storageInstance.cleanup(chain);
40
38
  });
41
- it("should throw when the policy is not existent", async () => {
42
- await expect(deployerService.deployAndSavePolicy(signer, "NonExistent", chain)).rejects.toThrow(ErrorCodes.UNSUPPORTED_POLICY.toString());
39
+ test("should throw when the policy is not existent", async () => {
40
+ await expect(deployerService.deployAndSavePolicy(signer, chain, { type: "NonExistent" })).rejects.toThrow(ErrorCodes.UNSUPPORTED_POLICY.toString());
43
41
  });
44
42
  test("should deploy policy if none is stored", async () => {
45
- const policy = await deployerService.deployAndSavePolicy(signer, EPolicies.FreeForAll, chain);
43
+ const policy = await deployerService.deployAndSavePolicy(signer, chain, { type: EPolicies.FreeForAll });
46
44
  expect(policy).toBeDefined();
47
45
  expect(await policy.getAddress()).not.toBe(zeroAddress);
48
46
  });
47
+ test("should save factories (policy and checker) after deploying policy", async () => {
48
+ const { checker: initialChecker, policy: initialPolicy } = await getDeployedPolicyProxyFactories({
49
+ policy: EPolicyFactories.FreeForAll,
50
+ checker: ECheckerFactories.FreeForAll,
51
+ network: chain,
52
+ signer,
53
+ });
54
+ expect(initialChecker).not.toBeDefined();
55
+ expect(initialPolicy).not.toBeDefined();
56
+ await deployerService.deployAndSavePolicy(signer, chain, { type: EPolicies.FreeForAll });
57
+ const { checker, policy } = await getDeployedPolicyProxyFactories({
58
+ policy: EPolicyFactories.FreeForAll,
59
+ checker: ECheckerFactories.FreeForAll,
60
+ network: chain,
61
+ signer,
62
+ });
63
+ expect(checker).toBeDefined();
64
+ expect(policy).toBeDefined();
65
+ });
66
+ test("should reuse policy factories if already stored", async () => {
67
+ const firstPolicy = await deployerService.deployAndSavePolicy(signer, chain, { type: EPolicies.FreeForAll });
68
+ const { checker: firstCheckerFactory, policy: firstPolicyFactory } = await getDeployedPolicyProxyFactories({
69
+ policy: EPolicyFactories.FreeForAll,
70
+ checker: ECheckerFactories.FreeForAll,
71
+ network: chain,
72
+ signer,
73
+ });
74
+ expect(firstCheckerFactory).toBeDefined();
75
+ expect(firstPolicyFactory).toBeDefined();
76
+ const firstCheckerFactoryAddress = await firstCheckerFactory.getAddress();
77
+ const firstPolicyFactoryAddress = await firstPolicyFactory.getAddress();
78
+ expect(firstCheckerFactoryAddress).not.toBe(zeroAddress);
79
+ expect(firstPolicyFactoryAddress).not.toBe(zeroAddress);
80
+ const secondPolicy = await deployerService.deployAndSavePolicy(signer, chain, {
81
+ type: EPolicies.FreeForAll,
82
+ });
83
+ const { checker: secondCheckerFactory, policy: secondPolicyFactory } = await getDeployedPolicyProxyFactories({
84
+ policy: EPolicyFactories.FreeForAll,
85
+ checker: ECheckerFactories.FreeForAll,
86
+ network: chain,
87
+ signer,
88
+ });
89
+ expect(secondCheckerFactory).toBeDefined();
90
+ expect(secondPolicyFactory).toBeDefined();
91
+ expect(await secondCheckerFactory.getAddress()).toBe(firstCheckerFactoryAddress);
92
+ expect(await secondPolicyFactory.getAddress()).toBe(firstPolicyFactoryAddress);
93
+ expect(await firstPolicy.getAddress()).not.toBe(await secondPolicy.getAddress());
94
+ });
49
95
  });
50
96
  describe("deployAndSaveVoiceCreditProxy", () => {
51
97
  // we cleanup after each test so we don't have leftover saved contracts
@@ -74,7 +120,7 @@ describe("DeployerService", () => {
74
120
  await expect(deployerService.deployMaci({
75
121
  config: testMaciDeploymentConfig,
76
122
  chain,
77
- approval: "0x",
123
+ approval: "0x123",
78
124
  sessionKeyAddress,
79
125
  })).rejects.toThrow(ErrorCodes.INVALID_APPROVAL.toString());
80
126
  });
@@ -1 +1 @@
1
- {"version":3,"file":"deployer.service.test.js","sourceRoot":"","sources":["../../../../ts/deployer/__tests__/deployer.service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployer.service.test.js","sourceRoot":"","sources":["../../../../ts/deployer/__tests__/deployer.service.test.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,13 @@
1
- import { Keypair } from "@maci-protocol/domainobjs";
1
+ import { EMode } from "@maci-protocol/sdk";
2
2
  import { IDeployMaciConfig, IDeployPollConfig, IEASPolicyArgs, IGitcoinPassportPolicyArgs, IHatsPolicyArgs, IMerkleProofPolicyArgs, ISemaphorePolicyArgs, ITokenPolicyArgs, IZupassPolicyArgs } from "../types";
3
3
  export declare const MSG_BATCH_SIZE = 20;
4
- /**
5
- * Coordinator MACI Keypair
6
- */
7
- export declare const coordinatorMACIKeypair: Keypair;
4
+ export declare const MODE = EMode.NON_QV;
8
5
  /**
9
6
  * MACI deployment configuration for testing
10
7
  */
11
8
  export declare const testMaciDeploymentConfig: IDeployMaciConfig;
12
9
  /**
13
10
  * Start date for the poll (it cannot be in the past)
14
- * n seconds are added to give it time until it is deployed
15
11
  */
16
12
  export declare const startDate: number;
17
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../ts/deployer/__tests__/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAc,MAAM,2BAA2B,CAAC;AAIhE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,sBAAsB,SAElC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAwBtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,QAAsC,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAmBtC,CAAC;AAEF;;;;GAIG;AACH;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,cAIvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,iBAK1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,oBAG7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,eAGxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,sBAE/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,gBAE1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qCAAqC,EAAE,0BAGnD,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../ts/deployer/__tests__/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGlF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,eAAO,MAAM,IAAI,eAAe,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAyBtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,QAAgC,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAkBtC,CAAC;AAEF;;;;GAIG;AACH;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,cAIvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,iBAK1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,oBAG7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,eAGxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,sBAE/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,gBAE1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qCAAqC,EAAE,0BAGnD,CAAC"}
@@ -1,11 +1,7 @@
1
- import { Keypair, PrivateKey } from "@maci-protocol/domainobjs";
2
1
  import { EPolicies, EInitialVoiceCreditProxies, EMode } from "@maci-protocol/sdk";
3
2
  import { zeroHash } from "viem";
4
3
  export const MSG_BATCH_SIZE = 20;
5
- /**
6
- * Coordinator MACI Keypair
7
- */
8
- export const coordinatorMACIKeypair = new Keypair(PrivateKey.deserialize("macisk.bdd73f1757f75261a0c9997def6cd47519cad2856347cdc6fd30718999576860"));
4
+ export const MODE = EMode.NON_QV;
9
5
  /**
10
6
  * MACI deployment configuration for testing
11
7
  */
@@ -16,6 +12,7 @@ export const testMaciDeploymentConfig = {
16
12
  MACI: {
17
13
  policy: EPolicies.FreeForAll,
18
14
  stateTreeDepth: 10,
15
+ mode: MODE,
19
16
  },
20
17
  VerifyingKeysRegistry: {
21
18
  args: {
@@ -36,9 +33,8 @@ export const testMaciDeploymentConfig = {
36
33
  };
37
34
  /**
38
35
  * Start date for the poll (it cannot be in the past)
39
- * n seconds are added to give it time until it is deployed
40
36
  */
41
- export const startDate = Math.floor(Date.now() / 1000) + 100;
37
+ export const startDate = Math.floor(Date.now() / 1000);
42
38
  /**
43
39
  * Poll duration in seconds
44
40
  * n seconds are added to the poll start date
@@ -56,8 +52,7 @@ export const pollStartDateExtraSeconds = 60;
56
52
  export const testPollDeploymentConfig = {
57
53
  startDate,
58
54
  endDate: startDate + pollDuration,
59
- mode: EMode.NON_QV,
60
- coordinatorPublicKey: coordinatorMACIKeypair.publicKey.serialize(),
55
+ mode: MODE,
61
56
  tallyProcessingStateTreeDepth: 1,
62
57
  messageBatchSize: MSG_BATCH_SIZE,
63
58
  pollStateTreeDepth: 10,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../ts/deployer/__tests__/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../ts/deployer/__tests__/utils.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { EPolicies, EInitialVoiceCreditProxies, EMode, ISetVerifyingKeysArgs, BasePolicy, ConstantInitialVoiceCreditProxy } from "@maci-protocol/sdk";
1
+ import { EInitialVoiceCreditProxies, EMode, ISetVerifyingKeysArgs, BasePolicy, ConstantInitialVoiceCreditProxy } from "@maci-protocol/sdk";
2
2
  import { Signer } from "ethers";
3
3
  import { type Hex } from "viem";
4
4
  import { ESupportedNetworks } from "../common";
5
5
  import { FileService } from "../file/file.service";
6
6
  import { SessionKeysService } from "../sessionKeys/sessionKeys.service";
7
- import { IDeployMaciArgs, IDeployPollArgs, IPolicyArgs, IInitialVoiceCreditProxyArgs, IVerifyingKeysRegistryArgs } from "./types";
7
+ import { IDeployMaciArgs, IDeployPollArgs, IInitialVoiceCreditProxyArgs, IVerifyingKeysRegistryArgs, IDeployPolicyConfig } from "./types";
8
8
  /**
9
9
  * DeployerService is responsible for deploying contracts.
10
10
  */
@@ -26,12 +26,11 @@ export declare class DeployerService {
26
26
  * always deploy and save it
27
27
  *
28
28
  * @param signer - the signer
29
- * @param policyType - the policy type
30
29
  * @param network - the network
31
- * @param args - the policy args
30
+ * @param policyConfig - the policy configuration parameters
32
31
  * @returns - the policy contract
33
32
  */
34
- deployAndSavePolicy(signer: Signer, policyType: EPolicies, network: ESupportedNetworks, args?: IPolicyArgs): Promise<BasePolicy>;
33
+ deployAndSavePolicy(signer: Signer, network: ESupportedNetworks, policyConfig: IDeployPolicyConfig): Promise<BasePolicy>;
35
34
  /**
36
35
  * Get the voice credit proxy contract object
37
36
  * always deploy and save it
@@ -1 +1 @@
1
- {"version":3,"file":"deployer.service.d.ts","sourceRoot":"","sources":["../../../ts/deployer/deployer.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,SAAS,EAOT,0BAA0B,EAC1B,KAAK,EAEL,qBAAqB,EAarB,UAAU,EAIV,+BAA+B,EAEhC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAgB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAIhC,OAAO,EAAc,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EACL,eAAe,EACf,eAAe,EACf,WAAW,EACX,4BAA4B,EAU5B,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBACa,eAAe;IAYxB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAZ9B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAE1C;;;;OAIG;gBAEgB,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,WAAW;IAK3C;;;;;;;;;OASG;IACG,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,SAAS,EACrB,OAAO,EAAE,kBAAkB,EAC3B,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,UAAU,CAAC;IAsItB;;;;;;;;;OASG;IACG,6BAA6B,CACjC,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,0BAA0B,EAChD,OAAO,EAAE,kBAAkB,EAC3B,IAAI,CAAC,EAAE,4BAA4B,GAClC,OAAO,CAAC,+BAA+B,CAAC;IA6B3C;;;;;;;OAOG;IACG,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,4BAA4B,EAAE,GAAG,EACjC,yBAAyB,EAAE,0BAA0B,EACrD,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,qBAAqB,CAAC;IAiDjC;;;;;;;OAOG;IACG,UAAU,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAuD/G;;;;;OAKG;IACG,UAAU,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CA8F/G"}
1
+ {"version":3,"file":"deployer.service.d.ts","sourceRoot":"","sources":["../../../ts/deployer/deployer.service.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,0BAA0B,EAC1B,KAAK,EAEL,qBAAqB,EAarB,UAAU,EAIV,+BAA+B,EA0BhC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAgB,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC,OAAO,EAAc,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EACL,eAAe,EACf,eAAe,EACf,4BAA4B,EAU5B,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBACa,eAAe;IAYxB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAZ9B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAE1C;;;;OAIG;gBAEgB,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,WAAW;IAK3C;;;;;;;;OAQG;IACG,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,mBAAmB,GAChC,OAAO,CAAC,UAAU,CAAC;IAwStB;;;;;;;;;OASG;IACG,6BAA6B,CACjC,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,0BAA0B,EAChD,OAAO,EAAE,kBAAkB,EAC3B,IAAI,CAAC,EAAE,4BAA4B,GAClC,OAAO,CAAC,+BAA+B,CAAC;IA6B3C;;;;;;;OAOG;IACG,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,4BAA4B,EAAE,GAAG,EACjC,yBAAyB,EAAE,0BAA0B,EACrD,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,qBAAqB,CAAC;IAgDjC;;;;;;;OAOG;IACG,UAAU,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAuD/G;;;;;OAKG;IACG,UAAU,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CA6F/G"}
@@ -7,13 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { deployVerifier } from "@maci-protocol/contracts";
11
- import { PublicKey } from "@maci-protocol/domainobjs";
12
- import { ContractStorage, EPolicies, VerifyingKeysRegistry__factory as VerifyingKeysRegistryFactory, MessageProcessor__factory as MessageProcessorFactory, Tally__factory as TallyFactory, Poll__factory as PollFactory, MACI__factory as MACIFactory, EContracts, EInitialVoiceCreditProxies, EMode, deployPoll, extractAllVerifyingKeys, deployConstantInitialVoiceCreditProxy, deployFreeForAllSignUpPolicy, deployERC20VotesPolicy, deployAnonAadhaarPolicy, deploySignupTokenPolicy, deployMerkleProofPolicy, deploySemaphoreSignupPolicy, deployZupassSignUpPolicy, deployGitcoinPassportPolicy, deployEASSignUpPolicy, deployHatsSignupPolicy, deployMaci, setVerifyingKeys, deployVerifyingKeysRegistryContract, generateEmptyBallotRoots, } from "@maci-protocol/sdk";
10
+ import { ContractStorage, EPolicies, VerifyingKeysRegistry__factory as VerifyingKeysRegistryFactory, MessageProcessor__factory as MessageProcessorFactory, Tally__factory as TallyFactory, Poll__factory as PollFactory, MACI__factory as MACIFactory, EContracts, EInitialVoiceCreditProxies, EMode, deployPoll, extractAllVerifyingKeys, deployConstantInitialVoiceCreditProxy, deployFreeForAllSignUpPolicy, deployERC20VotesPolicy, deployAnonAadhaarPolicy, deploySignupTokenPolicy, deployMerkleProofPolicy, deploySemaphoreSignupPolicy, deployZupassSignUpPolicy, deployGitcoinPassportPolicy, deployEASSignUpPolicy, deployHatsSignupPolicy, deployMaci, setVerifyingKeys, deployVerifyingKeysRegistryContract, generateEmptyBallotRoots, getDeployedPolicyProxyFactories, deployVerifier, ECheckerFactories, EPolicyFactories, } from "@maci-protocol/sdk";
13
11
  import { Injectable } from "@nestjs/common";
14
12
  import { BaseContract } from "ethers";
15
- import path from "path";
16
13
  import { ErrorCodes } from "../common";
14
+ import { getCoordinatorKeypair } from "../common/coordinatorKeypair";
17
15
  import { FileService } from "../file/file.service";
18
16
  import { SessionKeysService } from "../sessionKeys/sessionKeys.service";
19
17
  /**
@@ -34,101 +32,224 @@ let DeployerService = class DeployerService {
34
32
  constructor(sessionKeysService, fileService) {
35
33
  this.sessionKeysService = sessionKeysService;
36
34
  this.fileService = fileService;
37
- this.storage = ContractStorage.getInstance(path.join(process.cwd(), "deployed-contracts.json"));
35
+ this.storage = ContractStorage.getInstance();
38
36
  }
39
37
  /**
40
38
  * Get the policy contract object
41
39
  * always deploy and save it
42
40
  *
43
41
  * @param signer - the signer
44
- * @param policyType - the policy type
45
42
  * @param network - the network
46
- * @param args - the policy args
43
+ * @param policyConfig - the policy configuration parameters
47
44
  * @returns - the policy contract
48
45
  */
49
- async deployAndSavePolicy(signer, policyType, network, args) {
50
- let contract;
46
+ async deployAndSavePolicy(signer, network, policyConfig) {
47
+ let policyContract;
48
+ let policyFactory;
49
+ let checkFactory;
50
+ let policyFactoryName;
51
+ let checkFactoryName;
52
+ let factoryIsSaved;
53
+ let checkerIsSaved;
54
+ const { type, args } = policyConfig;
51
55
  // based on the policy type, we need to deploy the correct policy
52
- switch (policyType) {
56
+ switch (type) {
53
57
  case EPolicies.FreeForAll: {
54
- [contract] = await deployFreeForAllSignUpPolicy({}, signer, true);
58
+ policyFactoryName = EPolicyFactories.FreeForAll;
59
+ checkFactoryName = ECheckerFactories.FreeForAll;
60
+ const factories = await getDeployedPolicyProxyFactories({
61
+ policy: policyFactoryName,
62
+ checker: checkFactoryName,
63
+ network,
64
+ signer,
65
+ });
66
+ factoryIsSaved = !!factories.policy;
67
+ checkerIsSaved = !!factories.checker;
68
+ [policyContract, , policyFactory, checkFactory] = await deployFreeForAllSignUpPolicy(factories, signer, true);
55
69
  break;
56
70
  }
57
71
  case EPolicies.EAS: {
58
- [contract] = await deployEASSignUpPolicy({
72
+ policyFactoryName = EPolicyFactories.EAS;
73
+ checkFactoryName = ECheckerFactories.EAS;
74
+ const factories = await getDeployedPolicyProxyFactories({
75
+ policy: policyFactoryName,
76
+ checker: checkFactoryName,
77
+ network,
78
+ signer,
79
+ });
80
+ factoryIsSaved = !!factories.policy;
81
+ checkerIsSaved = !!factories.checker;
82
+ [policyContract, , policyFactory, checkFactory] = await deployEASSignUpPolicy({
59
83
  eas: args.easAddress,
60
84
  attester: args.attester,
61
85
  schema: args.schema,
62
- }, {}, signer, true);
86
+ }, factories, signer, true);
63
87
  break;
64
88
  }
65
89
  case EPolicies.GitcoinPassport: {
66
- [contract] = await deployGitcoinPassportPolicy({
90
+ policyFactoryName = EPolicyFactories.GitcoinPassport;
91
+ checkFactoryName = ECheckerFactories.GitcoinPassport;
92
+ const factories = await getDeployedPolicyProxyFactories({
93
+ policy: policyFactoryName,
94
+ checker: checkFactoryName,
95
+ network,
96
+ signer,
97
+ });
98
+ factoryIsSaved = !!factories.policy;
99
+ checkerIsSaved = !!factories.checker;
100
+ [policyContract, , policyFactory, checkFactory] = await deployGitcoinPassportPolicy({
67
101
  decoderAddress: args.decoderAddress,
68
102
  minimumScore: Number(args.passingScore),
69
- }, {}, signer, true);
103
+ }, factories, signer, true);
70
104
  break;
71
105
  }
72
106
  case EPolicies.Hats: {
73
- [contract] = await deployHatsSignupPolicy({
107
+ policyFactoryName = EPolicyFactories.Hats;
108
+ checkFactoryName = ECheckerFactories.Hats;
109
+ const factories = await getDeployedPolicyProxyFactories({
110
+ policy: policyFactoryName,
111
+ checker: checkFactoryName,
112
+ network,
113
+ signer,
114
+ });
115
+ factoryIsSaved = !!factories.policy;
116
+ checkerIsSaved = !!factories.checker;
117
+ [policyContract, , policyFactory, checkFactory] = await deployHatsSignupPolicy({
74
118
  hats: args.hatsProtocolAddress,
75
119
  criterionHats: args.critrionHats.map((c) => BigInt(c)),
76
- }, {}, signer, true);
120
+ }, factories, signer, true);
77
121
  break;
78
122
  }
79
123
  case EPolicies.Zupass: {
80
- [contract] = await deployZupassSignUpPolicy({
124
+ policyFactoryName = EPolicyFactories.Zupass;
125
+ checkFactoryName = ECheckerFactories.Zupass;
126
+ const factories = await getDeployedPolicyProxyFactories({
127
+ policy: policyFactoryName,
128
+ checker: checkFactoryName,
129
+ network,
130
+ signer,
131
+ });
132
+ factoryIsSaved = !!factories.policy;
133
+ checkerIsSaved = !!factories.checker;
134
+ [policyContract, , policyFactory, checkFactory] = await deployZupassSignUpPolicy({
81
135
  eventId: args.eventId,
82
136
  signer1: args.signer1,
83
137
  signer2: args.signer2,
84
138
  verifier: args.zupassVerifier,
85
- }, {}, signer, true);
139
+ }, factories, signer, true);
86
140
  break;
87
141
  }
88
142
  case EPolicies.Semaphore: {
89
- [contract] = await deploySemaphoreSignupPolicy({
143
+ policyFactoryName = EPolicyFactories.Semaphore;
144
+ checkFactoryName = ECheckerFactories.Semaphore;
145
+ const factories = await getDeployedPolicyProxyFactories({
146
+ policy: policyFactoryName,
147
+ checker: checkFactoryName,
148
+ network,
149
+ signer,
150
+ });
151
+ factoryIsSaved = !!factories.policy;
152
+ checkerIsSaved = !!factories.checker;
153
+ [policyContract, , policyFactory, checkFactory] = await deploySemaphoreSignupPolicy({
90
154
  semaphore: args.semaphoreContract,
91
155
  groupId: BigInt(args.groupId),
92
- }, {}, signer, true);
156
+ }, factories, signer, true);
93
157
  break;
94
158
  }
95
159
  case EPolicies.MerkleProof: {
96
- [contract] = await deployMerkleProofPolicy({
160
+ policyFactoryName = EPolicyFactories.MerkleProof;
161
+ checkFactoryName = ECheckerFactories.MerkleProof;
162
+ const factories = await getDeployedPolicyProxyFactories({
163
+ policy: policyFactoryName,
164
+ checker: checkFactoryName,
165
+ network,
166
+ signer,
167
+ });
168
+ factoryIsSaved = !!factories.policy;
169
+ checkerIsSaved = !!factories.checker;
170
+ [policyContract, , policyFactory, checkFactory] = await deployMerkleProofPolicy({
97
171
  root: args.root,
98
- }, {}, signer, true);
172
+ }, factories, signer, true);
99
173
  break;
100
174
  }
101
175
  case EPolicies.Token: {
102
- [contract] = await deploySignupTokenPolicy({
176
+ policyFactoryName = EPolicyFactories.Token;
177
+ checkFactoryName = ECheckerFactories.Token;
178
+ const factories = await getDeployedPolicyProxyFactories({
179
+ policy: policyFactoryName,
180
+ checker: checkFactoryName,
181
+ network,
182
+ signer,
183
+ });
184
+ factoryIsSaved = !!factories.policy;
185
+ checkerIsSaved = !!factories.checker;
186
+ [policyContract, , policyFactory, checkFactory] = await deploySignupTokenPolicy({
103
187
  token: args.token,
104
- }, {}, signer, true);
188
+ }, factories, signer, true);
105
189
  break;
106
190
  }
107
191
  case EPolicies.AnonAadhaar: {
108
- [contract] = await deployAnonAadhaarPolicy({
192
+ policyFactoryName = EPolicyFactories.AnonAadhaar;
193
+ checkFactoryName = ECheckerFactories.AnonAadhaar;
194
+ const factories = await getDeployedPolicyProxyFactories({
195
+ policy: policyFactoryName,
196
+ checker: checkFactoryName,
197
+ network,
198
+ signer,
199
+ });
200
+ factoryIsSaved = !!factories.policy;
201
+ checkerIsSaved = !!factories.checker;
202
+ [policyContract, , policyFactory, checkFactory] = await deployAnonAadhaarPolicy({
109
203
  verifierAddress: args.verifier,
110
204
  nullifierSeed: args.nullifierSeed,
111
- }, {}, signer, true);
205
+ }, factories, signer, true);
112
206
  break;
113
207
  }
114
208
  case EPolicies.ERC20Votes: {
115
- [contract] = await deployERC20VotesPolicy({
209
+ policyFactoryName = EPolicyFactories.ERC20Votes;
210
+ checkFactoryName = ECheckerFactories.ERC20Votes;
211
+ const factories = await getDeployedPolicyProxyFactories({
212
+ policy: policyFactoryName,
213
+ checker: checkFactoryName,
214
+ network,
215
+ signer,
216
+ });
217
+ factoryIsSaved = !!factories.policy;
218
+ checkerIsSaved = !!factories.checker;
219
+ [policyContract, , policyFactory, checkFactory] = await deployERC20VotesPolicy({
116
220
  snapshotBlock: BigInt(args.snapshotBlock),
117
221
  threshold: BigInt(args.threshold),
118
222
  token: args.token,
119
- }, {}, signer, true);
223
+ }, factories, signer, true);
120
224
  break;
121
225
  }
122
226
  default:
123
227
  throw new Error(ErrorCodes.UNSUPPORTED_POLICY.toString());
124
228
  }
125
229
  await this.storage.register({
126
- id: policyType,
127
- contract,
230
+ id: type,
231
+ name: type,
232
+ contract: policyContract,
128
233
  args: args ? Object.values(args).map((arg) => String(arg)) : [],
129
234
  network,
130
235
  });
131
- return contract;
236
+ if (!factoryIsSaved) {
237
+ await this.storage.register({
238
+ id: policyFactoryName,
239
+ name: policyFactoryName,
240
+ contract: policyFactory,
241
+ network,
242
+ });
243
+ }
244
+ if (!checkerIsSaved) {
245
+ await this.storage.register({
246
+ id: checkFactoryName,
247
+ name: checkFactoryName,
248
+ contract: checkFactory,
249
+ network,
250
+ });
251
+ }
252
+ return policyContract;
132
253
  }
133
254
  /**
134
255
  * Get the voice credit proxy contract object
@@ -169,11 +290,13 @@ let DeployerService = class DeployerService {
169
290
  * @returns SetVerifyingKeysArgs
170
291
  */
171
292
  async getVerifyingKeysArgs(signer, verifyingKeysRegistryAddress, verifyingKeysRegistryArgs, mode) {
172
- const { zkey: pollJoiningZkeyPath } = this.fileService.getZkeyFilePaths(process.env.COORDINATOR_POLL_JOINING_ZKEY_NAME, EMode.QV);
173
- const { zkey: pollJoinedZkeyPath } = this.fileService.getZkeyFilePaths(process.env.COORDINATOR_POLL_JOINED_ZKEY_NAME, EMode.QV);
293
+ const { zkey: pollJoiningZkeyPath } = this.fileService.getZkeyFilePaths(process.env.COORDINATOR_POLL_JOINING_ZKEY_NAME);
294
+ const { zkey: pollJoinedZkeyPath } = this.fileService.getZkeyFilePaths(process.env.COORDINATOR_POLL_JOINED_ZKEY_NAME);
174
295
  const { zkey: messageProcessorZkeyPath } = this.fileService.getZkeyFilePaths(process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME, mode);
175
296
  // There are only QV and Non-QV modes available for tally circuit
176
- const { zkey: voteTallyZkeyPath } = this.fileService.getZkeyFilePaths(process.env.COORDINATOR_TALLY_ZKEY_NAME, mode === EMode.QV ? mode : EMode.NON_QV);
297
+ const { zkey: voteTallyZkeyPath } = this.fileService.getZkeyFilePaths(process.env.COORDINATOR_TALLY_ZKEY_NAME,
298
+ // if FULL use NON_QV because there are only VoteTallyQV and VoteTallyNonQV zkeys
299
+ mode === EMode.FULL ? EMode.NON_QV : mode);
177
300
  const { pollJoiningVerifyingKey, pollJoinedVerifyingKey, processVerifyingKey, tallyVerifyingKey } = await extractAllVerifyingKeys({
178
301
  pollJoiningZkeyPath,
179
302
  pollJoinedZkeyPath,
@@ -206,11 +329,11 @@ let DeployerService = class DeployerService {
206
329
  */
207
330
  async deployMaci({ approval, sessionKeyAddress, chain, config }) {
208
331
  const signer = await this.sessionKeysService.getCoordinatorSigner(chain, sessionKeyAddress, approval);
209
- const policyContract = await this.deployAndSavePolicy(signer, config.policy.type, chain, config.policy.args);
332
+ const policyContract = await this.deployAndSavePolicy(signer, chain, config.policy);
210
333
  const policyAddress = await policyContract.getAddress();
211
334
  const verifierContract = await deployVerifier(signer, true);
212
335
  const verifyingKeysRegistryAddress = await deployVerifyingKeysRegistryContract({ signer });
213
- const verifyingKeysArgs = await this.getVerifyingKeysArgs(signer, verifyingKeysRegistryAddress, config.VerifyingKeysRegistry.args, EMode.QV);
336
+ const verifyingKeysArgs = await this.getVerifyingKeysArgs(signer, verifyingKeysRegistryAddress, config.VerifyingKeysRegistry.args, config.MACI.mode);
214
337
  await setVerifyingKeys(verifyingKeysArgs);
215
338
  // deploy the smart contracts
216
339
  const maciAddresses = await deployMaci({
@@ -269,18 +392,16 @@ let DeployerService = class DeployerService {
269
392
  if (!verifyingKeysRegistryAddress) {
270
393
  throw new Error(ErrorCodes.VERIFYING_KEYS_REGISTRY_NOT_DEPLOYED.toString());
271
394
  }
272
- // check if policy address was given
273
- let policyAddress = config.policy.address;
274
- if (!policyAddress) {
275
- const policyContract = await this.deployAndSavePolicy(signer, config.policy.type, chain, config.policy.args);
276
- policyAddress = (await policyContract.getAddress());
277
- }
395
+ const policyContract = await this.deployAndSavePolicy(signer, chain, config.policy);
396
+ const policyAddress = (await policyContract.getAddress());
278
397
  // check if initial voice credit proxy address was given
279
398
  let initialVoiceCreditProxyAddress = config.initialVoiceCreditsProxy.address;
280
399
  if (!initialVoiceCreditProxyAddress) {
281
400
  const initialVoiceCreditProxyContract = await this.deployAndSaveVoiceCreditProxy(signer, config.initialVoiceCreditsProxy.type, chain, config.initialVoiceCreditsProxy.args);
282
401
  initialVoiceCreditProxyAddress = (await initialVoiceCreditProxyContract.getAddress());
283
402
  }
403
+ // instantiate the coordinator MACI keypair
404
+ const coordinatorKeypair = getCoordinatorKeypair();
284
405
  const deployPollArgs = {
285
406
  maciAddress,
286
407
  pollStartTimestamp: config.startDate,
@@ -289,7 +410,7 @@ let DeployerService = class DeployerService {
289
410
  voteOptionTreeDepth: config.voteOptionTreeDepth,
290
411
  messageBatchSize: config.messageBatchSize,
291
412
  stateTreeDepth: config.pollStateTreeDepth,
292
- coordinatorPublicKey: PublicKey.deserialize(config.coordinatorPublicKey),
413
+ coordinatorPublicKey: coordinatorKeypair.publicKey,
293
414
  verifierContractAddress: verifierAddress,
294
415
  verifyingKeysRegistryContractAddress: verifyingKeysRegistryAddress,
295
416
  mode: config.mode,