@maci-protocol/coordinator 0.0.0-ci.153b117 → 0.0.0-ci.16f78c8
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.
- package/README.md +60 -24
- package/build/hardhat.config.cjs +14 -9
- package/build/hardhat.config.cjs.map +1 -1
- package/build/hardhat.config.d.cts +12 -12
- package/build/hardhat.config.d.cts.map +1 -1
- package/build/tests/constants.d.ts +3 -3
- package/build/tests/constants.d.ts.map +1 -1
- package/build/tests/constants.js +5 -3
- package/build/tests/constants.js.map +1 -1
- package/build/tests/e2e.deploy.test.js +14 -40
- package/build/tests/e2e.deploy.test.js.map +1 -1
- package/build/tests/e2e.redis.test.js +23 -19
- package/build/tests/e2e.redis.test.js.map +1 -1
- package/build/tests/utils.d.ts +1 -1
- package/build/tests/utils.d.ts.map +1 -1
- package/build/tests/utils.js +5 -3
- package/build/tests/utils.js.map +1 -1
- package/build/ts/app.module.d.ts.map +1 -1
- package/build/ts/app.module.js +2 -0
- package/build/ts/app.module.js.map +1 -1
- package/build/ts/common/__tests__/common.test.js +40 -28
- package/build/ts/common/__tests__/common.test.js.map +1 -1
- package/build/ts/common/accountAbstraction.d.ts +5 -5
- package/build/ts/common/accountAbstraction.d.ts.map +1 -1
- package/build/ts/common/accountAbstraction.js +10 -8
- package/build/ts/common/accountAbstraction.js.map +1 -1
- package/build/ts/common/chain.d.ts +10 -4
- package/build/ts/common/chain.d.ts.map +1 -1
- package/build/ts/common/chain.js +15 -11
- package/build/ts/common/chain.js.map +1 -1
- package/build/ts/common/errors.d.ts +15 -11
- package/build/ts/common/errors.d.ts.map +1 -1
- package/build/ts/common/errors.js +15 -11
- package/build/ts/common/errors.js.map +1 -1
- package/build/ts/common/http.d.ts +6 -0
- package/build/ts/common/http.d.ts.map +1 -0
- package/build/ts/common/http.js +49 -0
- package/build/ts/common/http.js.map +1 -0
- package/build/ts/common/index.d.ts +1 -1
- package/build/ts/common/index.d.ts.map +1 -1
- package/build/ts/common/index.js +1 -1
- package/build/ts/common/index.js.map +1 -1
- package/build/ts/common/networks.d.ts +2 -21
- package/build/ts/common/networks.d.ts.map +1 -1
- package/build/ts/common/networks.js +39 -48
- package/build/ts/common/networks.js.map +1 -1
- package/build/ts/common/types.d.ts +2 -2
- package/build/ts/common/types.d.ts.map +1 -1
- package/build/ts/deployer/__tests__/deployer.controller.test.js +17 -19
- package/build/ts/deployer/__tests__/deployer.controller.test.js.map +1 -1
- package/build/ts/deployer/__tests__/deployer.service.test.js +173 -113
- package/build/ts/deployer/__tests__/deployer.service.test.js.map +1 -1
- package/build/ts/deployer/__tests__/utils.d.ts +8 -8
- package/build/ts/deployer/__tests__/utils.d.ts.map +1 -1
- package/build/ts/deployer/__tests__/utils.js +10 -14
- package/build/ts/deployer/__tests__/utils.js.map +1 -1
- package/build/ts/deployer/deployer.controller.d.ts.map +1 -1
- package/build/ts/deployer/deployer.controller.js +19 -6
- package/build/ts/deployer/deployer.controller.js.map +1 -1
- package/build/ts/deployer/deployer.service.d.ts +14 -4
- package/build/ts/deployer/deployer.service.d.ts.map +1 -1
- package/build/ts/deployer/deployer.service.js +65 -29
- package/build/ts/deployer/deployer.service.js.map +1 -1
- package/build/ts/deployer/dto.d.ts +3 -3
- package/build/ts/deployer/dto.d.ts.map +1 -1
- package/build/ts/deployer/dto.js +5 -5
- package/build/ts/deployer/dto.js.map +1 -1
- package/build/ts/deployer/types.d.ts +24 -20
- package/build/ts/deployer/types.d.ts.map +1 -1
- package/build/ts/file/file.service.d.ts.map +1 -1
- package/build/ts/file/file.service.js +2 -1
- package/build/ts/file/file.service.js.map +1 -1
- package/build/ts/health/__tests__/health.controller.test.js +34 -10
- package/build/ts/health/__tests__/health.controller.test.js.map +1 -1
- package/build/ts/health/__tests__/health.service.test.js +34 -21
- package/build/ts/health/__tests__/health.service.test.js.map +1 -1
- package/build/ts/health/health.service.d.ts.map +1 -1
- package/build/ts/health/health.service.js +23 -29
- package/build/ts/health/health.service.js.map +1 -1
- package/build/ts/health/types.d.ts +9 -5
- package/build/ts/health/types.d.ts.map +1 -1
- package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.d.ts +11 -0
- package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.d.ts.map +1 -0
- package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.js +12 -0
- package/build/ts/jest/__mocks__/@openzeppelin/merkle-tree.js.map +1 -0
- package/build/ts/main.js +1 -1
- package/build/ts/proof/__tests__/proof.controller.test.js +5 -6
- package/build/ts/proof/__tests__/proof.controller.test.js.map +1 -1
- package/build/ts/proof/__tests__/proof.gateway.test.js +2 -3
- package/build/ts/proof/__tests__/proof.gateway.test.js.map +1 -1
- package/build/ts/proof/__tests__/proof.service.test.js +4 -9
- package/build/ts/proof/__tests__/proof.service.test.js.map +1 -1
- package/build/ts/proof/dto.d.ts +4 -5
- package/build/ts/proof/dto.d.ts.map +1 -1
- package/build/ts/proof/dto.js +7 -8
- package/build/ts/proof/dto.js.map +1 -1
- package/build/ts/proof/proof.controller.d.ts.map +1 -1
- package/build/ts/proof/proof.controller.js +37 -11
- package/build/ts/proof/proof.controller.js.map +1 -1
- package/build/ts/proof/proof.module.d.ts.map +1 -1
- package/build/ts/proof/proof.module.js +1 -0
- package/build/ts/proof/proof.module.js.map +1 -1
- package/build/ts/proof/proof.service.d.ts.map +1 -1
- package/build/ts/proof/proof.service.js.map +1 -1
- package/build/ts/proof/types.d.ts +4 -5
- package/build/ts/proof/types.d.ts.map +1 -1
- package/build/ts/proof/types.js.map +1 -1
- package/build/ts/redis/__tests__/redis.service.test.js +34 -14
- package/build/ts/redis/__tests__/redis.service.test.js.map +1 -1
- package/build/ts/redis/redis.service.d.ts +2 -1
- package/build/ts/redis/redis.service.d.ts.map +1 -1
- package/build/ts/redis/redis.service.js +3 -1
- package/build/ts/redis/redis.service.js.map +1 -1
- package/build/ts/redis/types.d.ts +29 -20
- package/build/ts/redis/types.d.ts.map +1 -1
- package/build/ts/redis/utils.d.ts +2 -2
- package/build/ts/redis/utils.d.ts.map +1 -1
- package/build/ts/redis/utils.js +4 -1
- package/build/ts/redis/utils.js.map +1 -1
- package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts +2 -0
- package/build/ts/scheduler/__tests__/scheduler.controller.test.d.ts.map +1 -0
- package/build/ts/scheduler/__tests__/scheduler.controller.test.js +62 -0
- package/build/ts/scheduler/__tests__/scheduler.controller.test.js.map +1 -0
- package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts +2 -0
- package/build/ts/scheduler/__tests__/scheduler.service.test.d.ts.map +1 -0
- package/build/ts/scheduler/__tests__/scheduler.service.test.js +369 -0
- package/build/ts/scheduler/__tests__/scheduler.service.test.js.map +1 -0
- package/build/ts/scheduler/dto.d.ts +41 -0
- package/build/ts/scheduler/dto.d.ts.map +1 -0
- package/build/ts/scheduler/dto.js +115 -0
- package/build/ts/scheduler/dto.js.map +1 -0
- package/build/ts/scheduler/scheduler.controller.d.ts +32 -0
- package/build/ts/scheduler/scheduler.controller.d.ts.map +1 -0
- package/build/ts/scheduler/scheduler.controller.js +118 -0
- package/build/ts/scheduler/scheduler.controller.js.map +1 -0
- package/build/ts/scheduler/scheduler.module.d.ts +3 -0
- package/build/ts/scheduler/scheduler.module.d.ts.map +1 -0
- package/build/ts/scheduler/scheduler.module.js +24 -0
- package/build/ts/scheduler/scheduler.module.js.map +1 -0
- package/build/ts/scheduler/scheduler.service.d.ts +71 -0
- package/build/ts/scheduler/scheduler.service.d.ts.map +1 -0
- package/build/ts/scheduler/scheduler.service.js +297 -0
- package/build/ts/scheduler/scheduler.service.js.map +1 -0
- package/build/ts/scheduler/types.d.ts +65 -0
- package/build/ts/scheduler/types.d.ts.map +1 -0
- package/build/ts/scheduler/types.js +2 -0
- package/build/ts/scheduler/types.js.map +1 -0
- package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js +34 -19
- package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js.map +1 -1
- package/build/ts/sessionKeys/__tests__/utils.d.ts +1 -1
- package/build/ts/sessionKeys/__tests__/utils.d.ts.map +1 -1
- package/build/ts/sessionKeys/__tests__/utils.js +7 -6
- package/build/ts/sessionKeys/__tests__/utils.js.map +1 -1
- package/build/ts/sessionKeys/provider/KernelEIP1193Provider.d.ts +1 -1
- package/build/ts/sessionKeys/provider/KernelEIP1193Provider.d.ts.map +1 -1
- package/build/ts/sessionKeys/sessionKeys.service.d.ts +4 -3
- package/build/ts/sessionKeys/sessionKeys.service.d.ts.map +1 -1
- package/build/ts/sessionKeys/sessionKeys.service.js +1 -2
- package/build/ts/sessionKeys/sessionKeys.service.js.map +1 -1
- package/build/ts/subgraph/__tests__/subgraph.controller.test.js +3 -3
- package/build/ts/subgraph/__tests__/subgraph.controller.test.js.map +1 -1
- package/build/ts/subgraph/__tests__/subgraph.gateway.test.js +2 -2
- package/build/ts/subgraph/__tests__/subgraph.gateway.test.js.map +1 -1
- package/build/ts/subgraph/__tests__/subgraph.service.test.js +3 -2
- package/build/ts/subgraph/__tests__/subgraph.service.test.js.map +1 -1
- package/build/ts/subgraph/dto.d.ts +2 -2
- package/build/ts/subgraph/dto.d.ts.map +1 -1
- package/build/ts/subgraph/dto.js +3 -3
- package/build/ts/subgraph/dto.js.map +1 -1
- package/build/ts/subgraph/subgraph.controller.d.ts.map +1 -1
- package/build/ts/subgraph/subgraph.controller.js +8 -3
- package/build/ts/subgraph/subgraph.controller.js.map +1 -1
- package/build/ts/subgraph/subgraph.service.d.ts.map +1 -1
- package/build/ts/subgraph/subgraph.service.js +7 -5
- package/build/ts/subgraph/subgraph.service.js.map +1 -1
- package/build/ts/subgraph/types.d.ts +2 -2
- package/build/ts/subgraph/types.d.ts.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +32 -26
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { ESupportedChains } from "@maci-protocol/sdk";
|
|
1
2
|
import type { IDeployMaciConfig, IDeployPollConfig } from "./types";
|
|
2
3
|
import type { Hex } from "viem";
|
|
3
|
-
import { ESupportedNetworks } from "../common";
|
|
4
4
|
/**
|
|
5
5
|
* Data transfer object for MACI contracts deployment
|
|
6
6
|
*/
|
|
@@ -16,7 +16,7 @@ export declare class DeployerServiceDeployMaciDto {
|
|
|
16
16
|
/**
|
|
17
17
|
* Chain Name
|
|
18
18
|
*/
|
|
19
|
-
chain:
|
|
19
|
+
chain: ESupportedChains;
|
|
20
20
|
/**
|
|
21
21
|
* Config
|
|
22
22
|
*/
|
|
@@ -37,7 +37,7 @@ export declare class DeployerServiceDeployPollDto {
|
|
|
37
37
|
/**
|
|
38
38
|
* Chain Name
|
|
39
39
|
*/
|
|
40
|
-
chain:
|
|
40
|
+
chain: ESupportedChains;
|
|
41
41
|
/**
|
|
42
42
|
* Config
|
|
43
43
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dto.d.ts","sourceRoot":"","sources":["../../../ts/deployer/dto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dto.d.ts","sourceRoot":"","sources":["../../../ts/deployer/dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAItD,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEhC;;GAEG;AACH,qBAAa,4BAA4B;IACvC;;OAEG;IAQH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IAQH,iBAAiB,CAAC,EAAE,GAAG,CAAC;IAExB;;OAEG;IAMH,KAAK,EAAG,gBAAgB,CAAC;IAEzB;;OAEG;IAKH,MAAM,EAAG,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,4BAA4B;IACvC;;OAEG;IAQH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IAQH,iBAAiB,CAAC,EAAE,GAAG,CAAC;IAExB;;OAEG;IAMH,KAAK,EAAG,gBAAgB,CAAC;IAEzB;;OAEG;IAKH,MAAM,EAAG,iBAAiB,CAAC;CAC5B"}
|
package/build/ts/deployer/dto.js
CHANGED
|
@@ -7,9 +7,9 @@ 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 { ESupportedChains } from "@maci-protocol/sdk";
|
|
10
11
|
import { ApiProperty } from "@nestjs/swagger";
|
|
11
12
|
import { IsEnum, IsOptional, IsString } from "class-validator";
|
|
12
|
-
import { ESupportedNetworks } from "../common";
|
|
13
13
|
/**
|
|
14
14
|
* Data transfer object for MACI contracts deployment
|
|
15
15
|
*/
|
|
@@ -54,9 +54,9 @@ __decorate([
|
|
|
54
54
|
__decorate([
|
|
55
55
|
ApiProperty({
|
|
56
56
|
description: "Chain to which to deploy the contract(s)",
|
|
57
|
-
enum:
|
|
57
|
+
enum: ESupportedChains,
|
|
58
58
|
}),
|
|
59
|
-
IsEnum(
|
|
59
|
+
IsEnum(ESupportedChains),
|
|
60
60
|
__metadata("design:type", String)
|
|
61
61
|
], DeployerServiceDeployMaciDto.prototype, "chain", void 0);
|
|
62
62
|
__decorate([
|
|
@@ -110,9 +110,9 @@ __decorate([
|
|
|
110
110
|
__decorate([
|
|
111
111
|
ApiProperty({
|
|
112
112
|
description: "Chain to which to deploy the contract(s)",
|
|
113
|
-
enum:
|
|
113
|
+
enum: ESupportedChains,
|
|
114
114
|
}),
|
|
115
|
-
IsEnum(
|
|
115
|
+
IsEnum(ESupportedChains),
|
|
116
116
|
__metadata("design:type", String)
|
|
117
117
|
], DeployerServiceDeployPollDto.prototype, "chain", void 0);
|
|
118
118
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dto.js","sourceRoot":"","sources":["../../../ts/deployer/dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAK/D
|
|
1
|
+
{"version":3,"file":"dto.js","sourceRoot":"","sources":["../../../ts/deployer/dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAK/D;;GAEG;AACH,MAAM,OAAO,4BAA4B;IACvC;;OAEG;IAQH,QAAQ,CAAU;IAElB;;OAEG;IAQH,iBAAiB,CAAO;IAExB;;OAEG;IAMH,KAAK,CAAoB;IAEzB;;OAEG;IAKH,MAAM,CAAqB;CAC5B;AAhCC;IAPC,WAAW,CAAC;QACX,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;;8DACO;AAYlB;IAPC,WAAW,CAAC;QACX,WAAW,EAAE,4BAA4B;QACzC,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;;uEACa;AAUxB;IALC,WAAW,CAAC;QACX,WAAW,EAAE,0CAA0C;QACvD,IAAI,EAAE,gBAAgB;KACvB,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC;;2DACA;AASzB;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,MAAM;KACb,CAAC;;4DACyB;AAG7B;;GAEG;AACH,MAAM,OAAO,4BAA4B;IACvC;;OAEG;IAQH,QAAQ,CAAU;IAElB;;OAEG;IAQH,iBAAiB,CAAO;IAExB;;OAEG;IAMH,KAAK,CAAoB;IAEzB;;OAEG;IAKH,MAAM,CAAqB;CAC5B;AAhCC;IAPC,WAAW,CAAC;QACX,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;;8DACO;AAYlB;IAPC,WAAW,CAAC;QACX,WAAW,EAAE,4BAA4B;QACzC,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;;uEACa;AAUxB;IALC,WAAW,CAAC;QACX,WAAW,EAAE,0CAA0C;QACvD,IAAI,EAAE,gBAAgB;KACvB,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC;;2DACA;AASzB;IAJC,WAAW,CAAC;QACX,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,MAAM;KACb,CAAC;;4DACyB"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { EPolicies, EInitialVoiceCreditProxies, EMode } from "@maci-protocol/sdk";
|
|
2
|
-
import { SendUserOperationParameters } from "viem/account-abstraction";
|
|
1
|
+
import { type EPolicies, type EInitialVoiceCreditProxies, type EMode, type EInitialVoiceCreditProxiesFactories, type ESupportedChains, type ECheckers } from "@maci-protocol/sdk";
|
|
2
|
+
import { type SendUserOperationParameters } from "viem/account-abstraction";
|
|
3
3
|
import type { Abi, Hex } from "viem";
|
|
4
|
-
import { ESupportedNetworks } from "../common";
|
|
5
4
|
/**
|
|
6
5
|
* IDeployMACIArgs represents the arguments for deploying MACI
|
|
7
6
|
*/
|
|
@@ -17,7 +16,7 @@ export interface IDeployMaciArgs {
|
|
|
17
16
|
/**
|
|
18
17
|
* The chain name
|
|
19
18
|
*/
|
|
20
|
-
chain:
|
|
19
|
+
chain: ESupportedChains;
|
|
21
20
|
/**
|
|
22
21
|
* The configuration for deploying MACI
|
|
23
22
|
*/
|
|
@@ -38,7 +37,7 @@ export interface IDeployPollArgs {
|
|
|
38
37
|
/**
|
|
39
38
|
* The chain name
|
|
40
39
|
*/
|
|
41
|
-
chain:
|
|
40
|
+
chain: ESupportedChains;
|
|
42
41
|
/**
|
|
43
42
|
* The configuration for deploying a poll
|
|
44
43
|
*/
|
|
@@ -56,7 +55,7 @@ export interface IConstantInitialVoiceCreditProxyArgs {
|
|
|
56
55
|
/**
|
|
57
56
|
* IEASPolicyArgs represents the arguments for deploying an EAS policy
|
|
58
57
|
*/
|
|
59
|
-
export interface
|
|
58
|
+
export interface IEASCheckerArgs {
|
|
60
59
|
/**
|
|
61
60
|
* The address of the EAS contract
|
|
62
61
|
*/
|
|
@@ -73,7 +72,7 @@ export interface IEASPolicyArgs {
|
|
|
73
72
|
/**
|
|
74
73
|
* IZupassPolicyArgs represents the arguments for deploying a Zupass policy
|
|
75
74
|
*/
|
|
76
|
-
export interface
|
|
75
|
+
export interface IZupassCheckerArgs {
|
|
77
76
|
/**
|
|
78
77
|
* The first signer
|
|
79
78
|
*/
|
|
@@ -94,7 +93,7 @@ export interface IZupassPolicyArgs {
|
|
|
94
93
|
/**
|
|
95
94
|
* IHatsPolicyArgs represents the arguments for deploying a Hats policy
|
|
96
95
|
*/
|
|
97
|
-
export interface
|
|
96
|
+
export interface IHatsCheckerArgs {
|
|
98
97
|
/**
|
|
99
98
|
* The hats protocol address
|
|
100
99
|
*/
|
|
@@ -107,7 +106,7 @@ export interface IHatsPolicyArgs {
|
|
|
107
106
|
/**
|
|
108
107
|
* ISemaphorePolicyArgs represents the arguments for deploying a semaphore policy
|
|
109
108
|
*/
|
|
110
|
-
export interface
|
|
109
|
+
export interface ISemaphoreCheckerArgs {
|
|
111
110
|
/**
|
|
112
111
|
* The semaphore contract address
|
|
113
112
|
*/
|
|
@@ -120,7 +119,7 @@ export interface ISemaphorePolicyArgs {
|
|
|
120
119
|
/**
|
|
121
120
|
* IMerkleProofPolicyArgs represents the arguments for deploying a merkle proof policy
|
|
122
121
|
*/
|
|
123
|
-
export interface
|
|
122
|
+
export interface IMerkleProofCheckerArgs {
|
|
124
123
|
/**
|
|
125
124
|
* The merkle proof root
|
|
126
125
|
*/
|
|
@@ -129,7 +128,7 @@ export interface IMerkleProofPolicyArgs {
|
|
|
129
128
|
/**
|
|
130
129
|
* ITokenPolicyArgs represents the arguments for deploying a sign up policy
|
|
131
130
|
*/
|
|
132
|
-
export interface
|
|
131
|
+
export interface ITokenCheckerArgs {
|
|
133
132
|
/**
|
|
134
133
|
* The token address
|
|
135
134
|
*/
|
|
@@ -138,7 +137,7 @@ export interface ITokenPolicyArgs {
|
|
|
138
137
|
/**
|
|
139
138
|
* IAnonAadhaarPolicyArgs represents the arguments for deploying an Anon Aadhaar policy
|
|
140
139
|
*/
|
|
141
|
-
export interface
|
|
140
|
+
export interface IAnonAadhaarCheckerArgs {
|
|
142
141
|
/**
|
|
143
142
|
* The Anon Aadhaar verifier address
|
|
144
143
|
*/
|
|
@@ -151,7 +150,7 @@ export interface IAnonAadhaarPolicyArgs {
|
|
|
151
150
|
/**
|
|
152
151
|
* IGitcoinPassportPolicyArgs represents the arguments for deploying a gitcoin passport policy
|
|
153
152
|
*/
|
|
154
|
-
export interface
|
|
153
|
+
export interface IGitcoinPassportCheckerArgs {
|
|
155
154
|
/**
|
|
156
155
|
* The decoder address
|
|
157
156
|
*/
|
|
@@ -164,7 +163,7 @@ export interface IGitcoinPassportPolicyArgs {
|
|
|
164
163
|
/**
|
|
165
164
|
* IERC20VotesPolicyArgs represents the arguments for deploying an ERC20 votes policy
|
|
166
165
|
*/
|
|
167
|
-
export interface
|
|
166
|
+
export interface IERC20VotesCheckerArgs {
|
|
168
167
|
/**
|
|
169
168
|
* The token address
|
|
170
169
|
*/
|
|
@@ -181,7 +180,7 @@ export interface IERC20VotesPolicyArgs {
|
|
|
181
180
|
/**
|
|
182
181
|
* IERC20PolicyArgs represents the arguments for deploying an ERC20 policy
|
|
183
182
|
*/
|
|
184
|
-
export interface
|
|
183
|
+
export interface IERC20CheckerArgs {
|
|
185
184
|
/**
|
|
186
185
|
* The token address
|
|
187
186
|
*/
|
|
@@ -217,9 +216,9 @@ export interface IVerifyingKeysRegistryArgs {
|
|
|
217
216
|
messageBatchSize: number;
|
|
218
217
|
}
|
|
219
218
|
/**
|
|
220
|
-
*
|
|
219
|
+
* TCheckerArgs represents the arguments for deploying a policy
|
|
221
220
|
*/
|
|
222
|
-
export type
|
|
221
|
+
export type TCheckerArgs = IEASCheckerArgs | IZupassCheckerArgs | IHatsCheckerArgs | ISemaphoreCheckerArgs | IMerkleProofCheckerArgs | ITokenCheckerArgs | IAnonAadhaarCheckerArgs | IGitcoinPassportCheckerArgs | IERC20VotesCheckerArgs | IERC20CheckerArgs;
|
|
223
222
|
/**
|
|
224
223
|
* IDeployPolicyConfig represents the configuration for deploying a policy
|
|
225
224
|
*/
|
|
@@ -227,11 +226,15 @@ export interface IDeployPolicyConfig {
|
|
|
227
226
|
/**
|
|
228
227
|
* The policy type (e.g. FreeForAll, ERC20Votes, etc)
|
|
229
228
|
*/
|
|
230
|
-
|
|
229
|
+
policyType: EPolicies;
|
|
231
230
|
/**
|
|
232
|
-
* The
|
|
231
|
+
* The checker type (e.g. FreeForAll, ERC20Votes, etc)
|
|
233
232
|
*/
|
|
234
|
-
|
|
233
|
+
checkerType: ECheckers;
|
|
234
|
+
/**
|
|
235
|
+
* The checker arguments depending on each policy
|
|
236
|
+
*/
|
|
237
|
+
args?: TCheckerArgs;
|
|
235
238
|
}
|
|
236
239
|
export type IInitialVoiceCreditProxyArgs = IConstantInitialVoiceCreditProxyArgs;
|
|
237
240
|
/**
|
|
@@ -306,6 +309,7 @@ export interface IDeployPollConfig {
|
|
|
306
309
|
* The initial voice credits proxy configuration
|
|
307
310
|
*/
|
|
308
311
|
initialVoiceCreditsProxy: {
|
|
312
|
+
factoryType: EInitialVoiceCreditProxiesFactories;
|
|
309
313
|
type: EInitialVoiceCreditProxies;
|
|
310
314
|
args: IInitialVoiceCreditProxyArgs;
|
|
311
315
|
address?: Hex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/deployer/types.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/deployer/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.service.d.ts","sourceRoot":"","sources":["../../../ts/file/file.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAQ3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAUhC;;;;GAIG;AACH,qBACa,WAAW;IACtB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,CAA0B;IAEpC;;OAEG;;IAMH;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvD;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvC;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"file.service.d.ts","sourceRoot":"","sources":["../../../ts/file/file.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAQ3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAUhC;;;;GAIG;AACH,qBACa,WAAW;IACtB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,CAA0B;IAEpC;;OAEG;;IAMH;;;;;OAKG;IACH,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvD;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvC;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAK/C;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAMhD;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAMlD;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,qBAAqB;CA+BpE"}
|
|
@@ -60,7 +60,8 @@ let FileService = FileService_1 = class FileService {
|
|
|
60
60
|
* @returns session key
|
|
61
61
|
*/
|
|
62
62
|
getSessionKey(address) {
|
|
63
|
-
|
|
63
|
+
const sessionkey = this.db.get(address).value();
|
|
64
|
+
return sessionkey;
|
|
64
65
|
}
|
|
65
66
|
/**
|
|
66
67
|
* Get RSA private key for coordinator service
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.service.js","sourceRoot":"","sources":["../../../ts/file/file.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAQvC;;;;GAIG;AAEI,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB;;OAEG;IACc,MAAM,CAAS;IAEhC;;OAEG;IACK,EAAE,CAA0B;IAEpC;;OAEG;IACH;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,UAAe,EAAE,OAAe;QAC9C,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,OAAe;QAC9B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,OAAe;QAC3B,
|
|
1
|
+
{"version":3,"file":"file.service.js","sourceRoot":"","sources":["../../../ts/file/file.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAQvC;;;;GAIG;AAEI,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB;;OAEG;IACc,MAAM,CAAS;IAEhC;;OAEG;IACK,EAAE,CAA0B;IAEpC;;OAEG;IACH;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,UAAe,EAAE,OAAe;QAC9C,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,OAAe;QAC9B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,OAAe;QAC3B,MAAM,UAAU,GAAoB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACjE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA4B,CAAC,CAAC,CAAC;QAErG,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA6B,CAAC,CAAC,CAAC;QAEvG,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAY,EAAE,IAAY;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAsB,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAErC,MAAM,YAAY,GAAG;YACnB,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI;YAChB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO;YACvB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM;SACrB,CAAC;QAEF,MAAM,QAAQ,GAAG,GAAG,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;QAEpF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,IAAI,QAAQ,SAAS,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,IAAI,QAAQ,OAAO,QAAQ,OAAO,CAAC,CAAC;QAC/E,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,IAAI,QAAQ,QAAQ,QAAQ,EAAE,CAAC,CAAC;QAEvF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC;YACvF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,UAAU,UAAU,CAAC,cAAc,WAAW,IAAI,WAAW,IAAI,uBAAuB,gBAAgB,EAAE,CAC3G,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,OAAO;YACL,IAAI;YACJ,IAAI;YACJ,gBAAgB;SACjB,CAAC;IACJ,CAAC;CACF,CAAA;AA7GY,WAAW;IADvB,UAAU,EAAE;;GACA,WAAW,CA6GvB"}
|
|
@@ -1,16 +1,40 @@
|
|
|
1
|
+
import { ESupportedChains } from "@maci-protocol/sdk";
|
|
1
2
|
import { zeroAddress } from "viem";
|
|
2
|
-
import { FileService } from "../../file/file.service";
|
|
3
|
-
import { RedisService } from "../../redis/redis.service";
|
|
4
3
|
import { HealthController } from "../health.controller";
|
|
5
|
-
import { HealthService } from "../health.service";
|
|
6
4
|
describe("HealthController", () => {
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
const mockHealthService = {
|
|
6
|
+
checkCoordinatorHealth: jest.fn(),
|
|
7
|
+
};
|
|
8
|
+
const healthController = new HealthController(mockHealthService);
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
mockHealthService.checkCoordinatorHealth = jest.fn().mockResolvedValue({
|
|
11
|
+
rapidsnark: {
|
|
12
|
+
rapidsnarkExecutablePath: process.env.COORDINATOR_RAPIDSNARK_EXE,
|
|
13
|
+
rapidsnarkIsAccessible: true,
|
|
14
|
+
rapidsnarkIsExecutable: true,
|
|
15
|
+
},
|
|
16
|
+
zkeysDirectory: {
|
|
17
|
+
zkeysDirectoryExists: true,
|
|
18
|
+
availableZkeys: [],
|
|
19
|
+
},
|
|
20
|
+
coordinatorWalletFunds: {
|
|
21
|
+
fundsInNetworks: [
|
|
22
|
+
{
|
|
23
|
+
address: zeroAddress.replace("0x0", "0x1"),
|
|
24
|
+
network: ESupportedChains.Mainnet,
|
|
25
|
+
balance: "0",
|
|
26
|
+
status: true,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
isRedisOpen: true,
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
afterEach(() => {
|
|
34
|
+
jest.clearAllMocks();
|
|
11
35
|
});
|
|
12
36
|
describe("v1/health/check", () => {
|
|
13
|
-
|
|
37
|
+
test("should return health check response", async () => {
|
|
14
38
|
const { rapidsnark, zkeysDirectory, coordinatorWalletFunds, isRedisOpen } = await healthController.check();
|
|
15
39
|
const { availableZkeys } = zkeysDirectory;
|
|
16
40
|
const allZkeysAreSet = Object.values(availableZkeys).reduce((acc, zkey) => acc && typeof zkey === "object", true);
|
|
@@ -19,8 +43,8 @@ describe("HealthController", () => {
|
|
|
19
43
|
expect(rapidsnark.rapidsnarkIsExecutable).toBe(true);
|
|
20
44
|
expect(zkeysDirectory.zkeysDirectoryExists).toBe(true);
|
|
21
45
|
expect(allZkeysAreSet).toBe(true);
|
|
22
|
-
expect(coordinatorWalletFunds.address).toBeDefined();
|
|
23
|
-
expect(coordinatorWalletFunds.address).not.toBe(zeroAddress);
|
|
46
|
+
expect(coordinatorWalletFunds.fundsInNetworks[0].address).toBeDefined();
|
|
47
|
+
expect(coordinatorWalletFunds.fundsInNetworks[0].address).not.toBe(zeroAddress);
|
|
24
48
|
expect(isRedisOpen).toBe(true);
|
|
25
49
|
});
|
|
26
50
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.controller.test.js","sourceRoot":"","sources":["../../../../ts/health/__tests__/health.controller.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"health.controller.test.js","sourceRoot":"","sources":["../../../../ts/health/__tests__/health.controller.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,iBAAiB,GAAG;QACxB,sBAAsB,EAAE,IAAI,CAAC,EAAE,EAAE;KACN,CAAC;IAC9B,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAEjE,UAAU,CAAC,GAAG,EAAE;QACd,iBAAiB,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACrE,UAAU,EAAE;gBACV,wBAAwB,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B;gBAChE,sBAAsB,EAAE,IAAI;gBAC5B,sBAAsB,EAAE,IAAI;aAC7B;YACD,cAAc,EAAE;gBACd,oBAAoB,EAAE,IAAI;gBAC1B,cAAc,EAAE,EAAE;aACnB;YACD,sBAAsB,EAAE;gBACtB,eAAe,EAAE;oBACf;wBACE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;wBAC1C,OAAO,EAAE,gBAAgB,CAAC,OAAO;wBACjC,OAAO,EAAE,GAAG;wBACZ,MAAM,EAAE,IAAI;qBACb;iBACF;aACF;YACD,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAE3G,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC;YAE1C,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,IAAI,CAAC,CAAC;YAElH,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACzF,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAErD,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACxE,MAAM,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEhF,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,25 +1,33 @@
|
|
|
1
1
|
import { EMode } from "@maci-protocol/contracts";
|
|
2
2
|
import dotenv from "dotenv";
|
|
3
3
|
import { zeroAddress } from "viem";
|
|
4
|
+
import fs from "fs";
|
|
4
5
|
import { FileService } from "../../file/file.service";
|
|
5
|
-
import { RedisService } from "../../redis/redis.service";
|
|
6
6
|
import { HealthService } from "../health.service";
|
|
7
7
|
dotenv.config();
|
|
8
8
|
describe("HealthService", () => {
|
|
9
9
|
const fileService = new FileService();
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
const mockRedisService = {
|
|
11
|
+
isOpen: jest.fn().mockReturnValue(true),
|
|
12
|
+
};
|
|
13
|
+
const healthService = new HealthService(fileService, mockRedisService);
|
|
14
|
+
afterEach(() => {
|
|
15
|
+
jest.clearAllMocks();
|
|
14
16
|
});
|
|
15
17
|
describe("checkRapidsnark", () => {
|
|
16
|
-
|
|
18
|
+
test("should return rapidsnark path and executability status", async () => {
|
|
19
|
+
jest.spyOn(fs.promises, "access").mockImplementation(() => Promise.resolve());
|
|
20
|
+
jest
|
|
21
|
+
.spyOn(fs.promises, "stat")
|
|
22
|
+
.mockImplementation(() => Promise.resolve({ isFile: () => true }));
|
|
17
23
|
const response = await healthService.checkRapidsnark();
|
|
18
24
|
expect(response.rapidsnarkExecutablePath).toBe(process.env.COORDINATOR_RAPIDSNARK_EXE);
|
|
19
25
|
expect(response.rapidsnarkIsAccessible).toBe(true);
|
|
20
26
|
expect(response.rapidsnarkIsExecutable).toBe(true);
|
|
21
27
|
});
|
|
22
|
-
|
|
28
|
+
test("should return false when rapidsnark path is not set", async () => {
|
|
29
|
+
jest.spyOn(fs.promises, "access").mockImplementation(() => Promise.reject(new Error()));
|
|
30
|
+
jest.spyOn(fs.promises, "stat").mockImplementation(() => Promise.reject(new Error()));
|
|
23
31
|
process.env.COORDINATOR_RAPIDSNARK_EXE = "/incorrect/path/to/rapidsnark";
|
|
24
32
|
const response = await healthService.checkRapidsnark();
|
|
25
33
|
expect(response.rapidsnarkIsAccessible).toBe(false);
|
|
@@ -27,7 +35,10 @@ describe("HealthService", () => {
|
|
|
27
35
|
});
|
|
28
36
|
});
|
|
29
37
|
describe("checkZkeysDirectory", () => {
|
|
30
|
-
|
|
38
|
+
test("should return if zkeys directory exists and the available zkeys paths", async () => {
|
|
39
|
+
jest
|
|
40
|
+
.spyOn(fs.promises, "stat")
|
|
41
|
+
.mockImplementation(() => Promise.resolve({ isDirectory: () => true }));
|
|
31
42
|
const { zkeysDirectoryExists, availableZkeys } = await healthService.checkZkeysDirectory();
|
|
32
43
|
const numberofZkeys = Object.keys(availableZkeys).length;
|
|
33
44
|
const expectedNumberOfZkeys = 1 + // poll joining zkey
|
|
@@ -37,49 +48,51 @@ describe("HealthService", () => {
|
|
|
37
48
|
expect(zkeysDirectoryExists).toBe(true);
|
|
38
49
|
expect(numberofZkeys).toBe(expectedNumberOfZkeys);
|
|
39
50
|
});
|
|
40
|
-
|
|
51
|
+
test("should return less available zkeys when COORDINATOR_POLL_JOINING_ZKEY_NAME is not set in the env file", async () => {
|
|
41
52
|
process.env.COORDINATOR_POLL_JOINING_ZKEY_NAME = "/incorrect/path/to/poll_joining";
|
|
42
53
|
const { availableZkeys } = await healthService.checkZkeysDirectory();
|
|
43
54
|
expect(availableZkeys[process.env.COORDINATOR_POLL_JOINING_ZKEY_NAME]).toBe(undefined);
|
|
44
55
|
});
|
|
45
|
-
|
|
56
|
+
test("should return less available zkeys when COORDINATOR_POLL_JOINED_ZKEY_NAME is not set in the env file", async () => {
|
|
46
57
|
process.env.COORDINATOR_POLL_JOINED_ZKEY_NAME = "/incorrect/path/to/poll_joined";
|
|
47
58
|
const { availableZkeys } = await healthService.checkZkeysDirectory();
|
|
48
59
|
expect(availableZkeys[process.env.COORDINATOR_POLL_JOINED_ZKEY_NAME]).toBe(undefined);
|
|
49
60
|
});
|
|
50
|
-
|
|
61
|
+
test("should return less available zkeys when COORDINATOR_TALLY_ZKEY_NAME is not set in the env file", async () => {
|
|
51
62
|
process.env.COORDINATOR_TALLY_ZKEY_NAME = "/incorrect/path/to/tally_zkey";
|
|
52
63
|
const { availableZkeys } = await healthService.checkZkeysDirectory();
|
|
53
64
|
expect(availableZkeys[`${process.env.COORDINATOR_TALLY_ZKEY_NAME}_Mode_${String(EMode.NON_QV)}`]).toBe(undefined);
|
|
54
65
|
expect(availableZkeys[`${process.env.COORDINATOR_TALLY_ZKEY_NAME}_Mode_${String(EMode.QV)}`]).toBe(undefined);
|
|
55
66
|
});
|
|
56
|
-
|
|
67
|
+
test("should return less available zkeys when COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME is not set in the env file", async () => {
|
|
57
68
|
process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME = "/incorrect/path/to/message_process_zkey";
|
|
58
69
|
const { availableZkeys } = await healthService.checkZkeysDirectory();
|
|
59
70
|
expect(availableZkeys[`${process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME}_Mode_${String(EMode.NON_QV)}`]).toBe(undefined);
|
|
60
71
|
expect(availableZkeys[`${process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME}_Mode_${String(EMode.QV)}`]).toBe(undefined);
|
|
61
72
|
expect(availableZkeys[`${process.env.COORDINATOR_MESSAGE_PROCESS_ZKEY_NAME}_Mode_${String(EMode.FULL)}`]).toBe(undefined);
|
|
62
73
|
});
|
|
63
|
-
|
|
74
|
+
test("should return false when zkeys directory is not set", async () => {
|
|
75
|
+
jest.spyOn(fs.promises, "stat").mockImplementation(() => Promise.reject(new Error()));
|
|
64
76
|
process.env.COORDINATOR_ZKEY_PATH = "/incorrect/path/to/zkeys";
|
|
65
77
|
const { zkeysDirectoryExists } = await healthService.checkZkeysDirectory();
|
|
66
78
|
expect(zkeysDirectoryExists).toBe(false);
|
|
67
79
|
});
|
|
68
80
|
});
|
|
69
81
|
describe("checkWalletFunds", () => {
|
|
70
|
-
|
|
71
|
-
const {
|
|
72
|
-
expect(address).toBeDefined();
|
|
73
|
-
expect(address).not.toBe(zeroAddress);
|
|
82
|
+
test("should return the wallet address", async () => {
|
|
83
|
+
const { fundsInNetworks } = await healthService.checkWalletFunds();
|
|
84
|
+
expect(fundsInNetworks[0].address).toBeDefined();
|
|
85
|
+
expect(fundsInNetworks[0].address).not.toBe(zeroAddress);
|
|
74
86
|
});
|
|
75
|
-
|
|
87
|
+
test("should return 0x if coordinator private key is not set", async () => {
|
|
76
88
|
process.env.PRIVATE_KEY = "";
|
|
77
|
-
|
|
78
|
-
|
|
89
|
+
process.env.MNEMONIC = "";
|
|
90
|
+
const { fundsInNetworks } = await healthService.checkWalletFunds();
|
|
91
|
+
expect(fundsInNetworks[0].address).toBe(zeroAddress);
|
|
79
92
|
});
|
|
80
93
|
});
|
|
81
94
|
describe("checkRedisConnection", () => {
|
|
82
|
-
|
|
95
|
+
test("should return true if Redis connection is open", () => {
|
|
83
96
|
const isRedisOpen = healthService.checkRedisConnection();
|
|
84
97
|
expect(isRedisOpen).toBe(true);
|
|
85
98
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.service.test.js","sourceRoot":"","sources":["../../../../ts/health/__tests__/health.service.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,
|
|
1
|
+
{"version":3,"file":"health.service.test.js","sourceRoot":"","sources":["../../../../ts/health/__tests__/health.service.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.service.d.ts","sourceRoot":"","sources":["../../../ts/health/health.service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/G,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,qBACa,aAAa;IAOtB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAP/B;;;;OAIG;gBAEgB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY;IAG7C;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAuBlD;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IA0D1D;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"health.service.d.ts","sourceRoot":"","sources":["../../../ts/health/health.service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAG/G,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,qBACa,aAAa;IAOtB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAP/B;;;;OAIG;gBAEgB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY;IAG7C;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAuBlD;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IA0D1D;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAgCpD;;;OAGG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;OAGG;IACG,sBAAsB,IAAI,OAAO,CAAC,oBAAoB,CAAC;CAe9D"}
|
|
@@ -7,13 +7,13 @@ 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 { EMode } from "@maci-protocol/sdk";
|
|
10
|
+
import { EMode, ESupportedChains } from "@maci-protocol/sdk";
|
|
11
11
|
import { Injectable } from "@nestjs/common";
|
|
12
12
|
import { formatEther } from "ethers";
|
|
13
13
|
import { zeroAddress } from "viem";
|
|
14
14
|
import fs from "fs";
|
|
15
15
|
import path from "path";
|
|
16
|
-
import {
|
|
16
|
+
import { getSigner } from "../common";
|
|
17
17
|
import { FileService } from "../file/file.service";
|
|
18
18
|
import { RedisService } from "../redis/redis.service";
|
|
19
19
|
/**
|
|
@@ -115,36 +115,30 @@ let HealthService = class HealthService {
|
|
|
115
115
|
* @returns the address and its funds in all networks
|
|
116
116
|
*/
|
|
117
117
|
async checkWalletFunds() {
|
|
118
|
-
|
|
119
|
-
const networks = Object.values(ESupportedNetworks);
|
|
120
|
-
try {
|
|
121
|
-
const signer = getSigner(networks[0]);
|
|
122
|
-
address = await signer.getAddress();
|
|
123
|
-
}
|
|
124
|
-
catch (error) {
|
|
125
|
-
return {
|
|
126
|
-
address: zeroAddress,
|
|
127
|
-
fundsInNetworks: [],
|
|
128
|
-
};
|
|
129
|
-
}
|
|
118
|
+
const networks = Object.values(ESupportedChains);
|
|
130
119
|
const fundsInNetworks = await Promise.all(networks.map(async (network) => {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
.then((balance) => ({
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
120
|
+
try {
|
|
121
|
+
const signer = await getSigner(network);
|
|
122
|
+
const address = await signer.getAddress();
|
|
123
|
+
return signer.provider?.getBalance(signer).then((balance) => ({
|
|
124
|
+
address,
|
|
125
|
+
network,
|
|
126
|
+
balance: formatEther(balance),
|
|
127
|
+
status: true,
|
|
128
|
+
}));
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
return {
|
|
132
|
+
address: zeroAddress,
|
|
133
|
+
network,
|
|
134
|
+
balance: formatEther(0n),
|
|
135
|
+
status: false,
|
|
136
|
+
error: error.message,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
144
139
|
}));
|
|
145
140
|
return {
|
|
146
|
-
|
|
147
|
-
fundsInNetworks,
|
|
141
|
+
fundsInNetworks: fundsInNetworks.filter(Boolean).map((x) => x),
|
|
148
142
|
};
|
|
149
143
|
}
|
|
150
144
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.service.js","sourceRoot":"","sources":["../../../ts/health/health.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"health.service.js","sourceRoot":"","sources":["../../../ts/health/health.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAa;IAOL;IACA;IAPnB;;;;OAIG;IACH,YACmB,WAAwB,EACxB,YAA0B;QAD1B,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAc;IAC1C,CAAC;IAEJ;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,CAAC;QAE9E,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzE,EAAE,CAAC,QAAQ;gBACT,sCAAsC;iBACrC,MAAM,CAAC,wBAAwB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;iBACvE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;iBAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;YACrB,EAAE,CAAC,QAAQ;gBACT,sCAAsC;iBACrC,IAAI,CAAC,wBAAwB,CAAC;iBAC9B,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;iBAC/B,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;SACtB,CAAC,CAAC;QAEH,OAAO;YACL,wBAAwB;YACxB,sBAAsB;YACtB,sBAAsB;SACvB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB;QACvB,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAsB,CAAC,CAAC;QAC5E,MAAM,iBAAiB,GAAG;YACxB;gBACE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B;gBAC7C,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC;aAChC;YACD;gBACE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,qCAAqC;gBACvD,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;aAC5C;YACD;gBACE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC;aACrD;YACD;gBACE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC;aACpD;SACF,CAAC;QAEF,MAAM,oBAAoB,GAAG,MAAM,EAAE,CAAC,QAAQ;aAC3C,IAAI,CAAC,kBAAkB,CAAC;aACxB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;aACpC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAEtB,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAyC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/G,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC;oBACH,GAAG,CAAC,IAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAK,CAAC,CAAC;gBACxD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,IAAK,CAAC,GAAG,SAAS,CAAC;gBACzB,CAAC;gBAED,OAAO,GAAG,CAAC;YACb,CAAC;YAED,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAyC,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;gBACzF,MAAM,QAAQ,GAAG,GAAG,IAAK,SAAS,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAEjD,IAAI,CAAC;oBACH,6CAA6C;oBAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAK,EAAE,IAAI,CAAC,CAAC;gBACrE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,6CAA6C;oBAC7C,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;gBAChC,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC,EAAE,EAAE,CAAC,CAAC;YAEP,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QACpC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO;YACL,oBAAoB;YACpB,cAAc;SACf,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;gBAE1C,OAAO,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC5D,OAAO;oBACP,OAAO;oBACP,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;oBAC7B,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,WAAW;oBACpB,OAAO;oBACP,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;oBACxB,MAAM,EAAE,KAAK;oBACb,KAAK,EAAG,KAAe,CAAC,OAAO;iBAChC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO;YACL,eAAe,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAE,CAAC;SAChE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB;QAC1B,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,sBAAsB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7E,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,CAAC,mBAAmB,EAAE;YAC1B,IAAI,CAAC,gBAAgB,EAAE;SACxB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAEhD,OAAO;YACL,UAAU;YACV,cAAc;YACd,sBAAsB;YACtB,WAAW;SACZ,CAAC;IACJ,CAAC;CACF,CAAA;AAnKY,aAAa;IADzB,UAAU,EAAE;qCAQqB,WAAW;QACV,YAAY;GARlC,aAAa,CAmKzB"}
|