@maci-protocol/coordinator 0.0.0-ci.01622be
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/CHANGELOG.md +51 -0
- package/LICENSE +21 -0
- package/README.md +49 -0
- package/build/hardhat.config.cjs +34 -0
- package/build/hardhat.config.cjs.map +1 -0
- package/build/hardhat.config.d.cts +27 -0
- package/build/hardhat.config.d.cts.map +1 -0
- package/build/scripts/generateKeypair.d.ts +2 -0
- package/build/scripts/generateKeypair.d.ts.map +1 -0
- package/build/scripts/generateKeypair.js +25 -0
- package/build/scripts/generateKeypair.js.map +1 -0
- package/build/scripts/generateMaciKeyPair.d.ts +2 -0
- package/build/scripts/generateMaciKeyPair.d.ts.map +1 -0
- package/build/scripts/generateMaciKeyPair.js +3 -0
- package/build/scripts/generateMaciKeyPair.js.map +1 -0
- package/build/scripts/getAuthHeader.d.ts +2 -0
- package/build/scripts/getAuthHeader.d.ts.map +1 -0
- package/build/scripts/getAuthHeader.js +31 -0
- package/build/scripts/getAuthHeader.js.map +1 -0
- package/build/tests/constants.d.ts +7 -0
- package/build/tests/constants.d.ts.map +1 -0
- package/build/tests/constants.js +9 -0
- package/build/tests/constants.js.map +1 -0
- package/build/tests/e2e.aa.test.d.ts +2 -0
- package/build/tests/e2e.aa.test.d.ts.map +1 -0
- package/build/tests/e2e.aa.test.js +106 -0
- package/build/tests/e2e.aa.test.js.map +1 -0
- package/build/tests/e2e.deploy.test.d.ts +2 -0
- package/build/tests/e2e.deploy.test.d.ts.map +1 -0
- package/build/tests/e2e.deploy.test.js +282 -0
- package/build/tests/e2e.deploy.test.js.map +1 -0
- package/build/tests/utils.d.ts +20 -0
- package/build/tests/utils.d.ts.map +1 -0
- package/build/tests/utils.js +53 -0
- package/build/tests/utils.js.map +1 -0
- package/build/ts/app.module.d.ts +3 -0
- package/build/ts/app.module.d.ts.map +1 -0
- package/build/ts/app.module.js +36 -0
- package/build/ts/app.module.js.map +1 -0
- package/build/ts/auth/AccountSignatureGuard.service.d.ts +44 -0
- package/build/ts/auth/AccountSignatureGuard.service.d.ts.map +1 -0
- package/build/ts/auth/AccountSignatureGuard.service.js +96 -0
- package/build/ts/auth/AccountSignatureGuard.service.js.map +1 -0
- package/build/ts/auth/__tests__/AccountSignatureGuard.test.d.ts +2 -0
- package/build/ts/auth/__tests__/AccountSignatureGuard.test.d.ts.map +1 -0
- package/build/ts/auth/__tests__/AccountSignatureGuard.test.js +113 -0
- package/build/ts/auth/__tests__/AccountSignatureGuard.test.js.map +1 -0
- package/build/ts/common/__tests__/common.test.d.ts +2 -0
- package/build/ts/common/__tests__/common.test.d.ts.map +1 -0
- package/build/ts/common/__tests__/common.test.js +75 -0
- package/build/ts/common/__tests__/common.test.js.map +1 -0
- package/build/ts/common/accountAbstraction.d.ts +38 -0
- package/build/ts/common/accountAbstraction.d.ts.map +1 -0
- package/build/ts/common/accountAbstraction.js +81 -0
- package/build/ts/common/accountAbstraction.js.map +1 -0
- package/build/ts/common/chain.d.ts +16 -0
- package/build/ts/common/chain.d.ts.map +1 -0
- package/build/ts/common/chain.js +35 -0
- package/build/ts/common/chain.js.map +1 -0
- package/build/ts/common/errors.d.ts +32 -0
- package/build/ts/common/errors.d.ts.map +1 -0
- package/build/ts/common/errors.js +33 -0
- package/build/ts/common/errors.js.map +1 -0
- package/build/ts/common/index.d.ts +6 -0
- package/build/ts/common/index.d.ts.map +1 -0
- package/build/ts/common/index.js +6 -0
- package/build/ts/common/index.js.map +1 -0
- package/build/ts/common/networks.d.ts +29 -0
- package/build/ts/common/networks.d.ts.map +1 -0
- package/build/ts/common/networks.js +70 -0
- package/build/ts/common/networks.js.map +1 -0
- package/build/ts/common/types.d.ts +8 -0
- package/build/ts/common/types.d.ts.map +1 -0
- package/build/ts/common/types.js +2 -0
- package/build/ts/common/types.js.map +1 -0
- package/build/ts/crypto/__tests__/crypto.service.test.d.ts +2 -0
- package/build/ts/crypto/__tests__/crypto.service.test.d.ts.map +1 -0
- package/build/ts/crypto/__tests__/crypto.service.test.js +26 -0
- package/build/ts/crypto/__tests__/crypto.service.test.js.map +1 -0
- package/build/ts/crypto/crypto.module.d.ts +3 -0
- package/build/ts/crypto/crypto.module.d.ts.map +1 -0
- package/build/ts/crypto/crypto.module.js +18 -0
- package/build/ts/crypto/crypto.module.js.map +1 -0
- package/build/ts/crypto/crypto.service.d.ts +31 -0
- package/build/ts/crypto/crypto.service.d.ts.map +1 -0
- package/build/ts/crypto/crypto.service.js +68 -0
- package/build/ts/crypto/crypto.service.js.map +1 -0
- package/build/ts/deployer/__tests__/deployer.controller.test.d.ts +2 -0
- package/build/ts/deployer/__tests__/deployer.controller.test.d.ts.map +1 -0
- package/build/ts/deployer/__tests__/deployer.controller.test.js +84 -0
- package/build/ts/deployer/__tests__/deployer.controller.test.js.map +1 -0
- package/build/ts/deployer/__tests__/deployer.service.test.d.ts +2 -0
- package/build/ts/deployer/__tests__/deployer.service.test.d.ts.map +1 -0
- package/build/ts/deployer/__tests__/deployer.service.test.js +166 -0
- package/build/ts/deployer/__tests__/deployer.service.test.js.map +1 -0
- package/build/ts/deployer/__tests__/utils.d.ts +65 -0
- package/build/ts/deployer/__tests__/utils.d.ts.map +1 -0
- package/build/ts/deployer/__tests__/utils.js +131 -0
- package/build/ts/deployer/__tests__/utils.js.map +1 -0
- package/build/ts/deployer/constants.d.ts +13 -0
- package/build/ts/deployer/constants.d.ts.map +1 -0
- package/build/ts/deployer/constants.js +13 -0
- package/build/ts/deployer/constants.js.map +1 -0
- package/build/ts/deployer/deployer.controller.d.ts +34 -0
- package/build/ts/deployer/deployer.controller.d.ts.map +1 -0
- package/build/ts/deployer/deployer.controller.js +89 -0
- package/build/ts/deployer/deployer.controller.js.map +1 -0
- package/build/ts/deployer/deployer.module.d.ts +3 -0
- package/build/ts/deployer/deployer.module.d.ts.map +1 -0
- package/build/ts/deployer/deployer.module.js +23 -0
- package/build/ts/deployer/deployer.module.js.map +1 -0
- package/build/ts/deployer/deployer.service.d.ts +76 -0
- package/build/ts/deployer/deployer.service.d.ts.map +1 -0
- package/build/ts/deployer/deployer.service.js +341 -0
- package/build/ts/deployer/deployer.service.js.map +1 -0
- package/build/ts/deployer/dto.d.ts +46 -0
- package/build/ts/deployer/dto.d.ts.map +1 -0
- package/build/ts/deployer/dto.js +125 -0
- package/build/ts/deployer/dto.js.map +1 -0
- package/build/ts/deployer/types.d.ts +344 -0
- package/build/ts/deployer/types.d.ts.map +1 -0
- package/build/ts/deployer/types.js +2 -0
- package/build/ts/deployer/types.js.map +1 -0
- package/build/ts/file/__tests__/file.service.test.d.ts +2 -0
- package/build/ts/file/__tests__/file.service.test.d.ts.map +1 -0
- package/build/ts/file/__tests__/file.service.test.js +77 -0
- package/build/ts/file/__tests__/file.service.test.js.map +1 -0
- package/build/ts/file/file.module.d.ts +3 -0
- package/build/ts/file/file.module.d.ts.map +1 -0
- package/build/ts/file/file.module.js +18 -0
- package/build/ts/file/file.module.js.map +1 -0
- package/build/ts/file/file.service.d.ts +63 -0
- package/build/ts/file/file.service.d.ts.map +1 -0
- package/build/ts/file/file.service.js +120 -0
- package/build/ts/file/file.service.js.map +1 -0
- package/build/ts/file/types.d.ts +36 -0
- package/build/ts/file/types.d.ts.map +1 -0
- package/build/ts/file/types.js +2 -0
- package/build/ts/file/types.js.map +1 -0
- package/build/ts/jest/setup.d.ts +8 -0
- package/build/ts/jest/setup.d.ts.map +1 -0
- package/build/ts/jest/setup.js +2 -0
- package/build/ts/jest/setup.js.map +1 -0
- package/build/ts/jest/transform.d.ts +8 -0
- package/build/ts/jest/transform.d.ts.map +1 -0
- package/build/ts/jest/transform.js +10 -0
- package/build/ts/jest/transform.js.map +1 -0
- package/build/ts/main.d.ts +2 -0
- package/build/ts/main.d.ts.map +1 -0
- package/build/ts/main.js +46 -0
- package/build/ts/main.js.map +1 -0
- package/build/ts/proof/__tests__/proof.controller.test.d.ts +2 -0
- package/build/ts/proof/__tests__/proof.controller.test.d.ts.map +1 -0
- package/build/ts/proof/__tests__/proof.controller.test.js +92 -0
- package/build/ts/proof/__tests__/proof.controller.test.js.map +1 -0
- package/build/ts/proof/__tests__/proof.gateway.test.d.ts +2 -0
- package/build/ts/proof/__tests__/proof.gateway.test.d.ts.map +1 -0
- package/build/ts/proof/__tests__/proof.gateway.test.js +65 -0
- package/build/ts/proof/__tests__/proof.gateway.test.js.map +1 -0
- package/build/ts/proof/__tests__/proof.service.test.d.ts +2 -0
- package/build/ts/proof/__tests__/proof.service.test.d.ts.map +1 -0
- package/build/ts/proof/__tests__/proof.service.test.js +130 -0
- package/build/ts/proof/__tests__/proof.service.test.js.map +1 -0
- package/build/ts/proof/dto.d.ts +75 -0
- package/build/ts/proof/dto.d.ts.map +1 -0
- package/build/ts/proof/dto.js +277 -0
- package/build/ts/proof/dto.js.map +1 -0
- package/build/ts/proof/proof.controller.d.ts +47 -0
- package/build/ts/proof/proof.controller.d.ts.map +1 -0
- package/build/ts/proof/proof.controller.js +135 -0
- package/build/ts/proof/proof.controller.js.map +1 -0
- package/build/ts/proof/proof.gateway.d.ts +35 -0
- package/build/ts/proof/proof.gateway.d.ts.map +1 -0
- package/build/ts/proof/proof.gateway.js +93 -0
- package/build/ts/proof/proof.gateway.js.map +1 -0
- package/build/ts/proof/proof.module.d.ts +3 -0
- package/build/ts/proof/proof.module.d.ts.map +1 -0
- package/build/ts/proof/proof.module.js +24 -0
- package/build/ts/proof/proof.module.js.map +1 -0
- package/build/ts/proof/proof.service.d.ts +54 -0
- package/build/ts/proof/proof.service.d.ts.map +1 -0
- package/build/ts/proof/proof.service.js +166 -0
- package/build/ts/proof/proof.service.js.map +1 -0
- package/build/ts/proof/types.d.ts +148 -0
- package/build/ts/proof/types.d.ts.map +1 -0
- package/build/ts/proof/types.js +11 -0
- package/build/ts/proof/types.js.map +1 -0
- package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.d.ts +2 -0
- package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.d.ts.map +1 -0
- package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js +44 -0
- package/build/ts/sessionKeys/__tests__/sessionKeys.controller.test.js.map +1 -0
- package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.d.ts +2 -0
- package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.d.ts.map +1 -0
- package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js +61 -0
- package/build/ts/sessionKeys/__tests__/sessionKeys.service.test.js.map +1 -0
- package/build/ts/sessionKeys/__tests__/utils.d.ts +25 -0
- package/build/ts/sessionKeys/__tests__/utils.d.ts.map +1 -0
- package/build/ts/sessionKeys/__tests__/utils.js +64 -0
- package/build/ts/sessionKeys/__tests__/utils.js.map +1 -0
- package/build/ts/sessionKeys/dto.d.ts +11 -0
- package/build/ts/sessionKeys/dto.d.ts.map +1 -0
- package/build/ts/sessionKeys/dto.js +29 -0
- package/build/ts/sessionKeys/dto.js.map +1 -0
- package/build/ts/sessionKeys/provider/KernelEIP1193Provider.d.ts +53 -0
- package/build/ts/sessionKeys/provider/KernelEIP1193Provider.d.ts.map +1 -0
- package/build/ts/sessionKeys/provider/KernelEIP1193Provider.js +105 -0
- package/build/ts/sessionKeys/provider/KernelEIP1193Provider.js.map +1 -0
- package/build/ts/sessionKeys/sessionKeys.controller.d.ts +26 -0
- package/build/ts/sessionKeys/sessionKeys.controller.d.ts.map +1 -0
- package/build/ts/sessionKeys/sessionKeys.controller.js +74 -0
- package/build/ts/sessionKeys/sessionKeys.controller.js.map +1 -0
- package/build/ts/sessionKeys/sessionKeys.module.d.ts +3 -0
- package/build/ts/sessionKeys/sessionKeys.module.d.ts.map +1 -0
- package/build/ts/sessionKeys/sessionKeys.module.js +23 -0
- package/build/ts/sessionKeys/sessionKeys.module.js.map +1 -0
- package/build/ts/sessionKeys/sessionKeys.service.d.ts +61 -0
- package/build/ts/sessionKeys/sessionKeys.service.d.ts.map +1 -0
- package/build/ts/sessionKeys/sessionKeys.service.js +122 -0
- package/build/ts/sessionKeys/sessionKeys.service.js.map +1 -0
- package/build/ts/sessionKeys/types.d.ts +11 -0
- package/build/ts/sessionKeys/types.d.ts.map +1 -0
- package/build/ts/sessionKeys/types.js +2 -0
- package/build/ts/sessionKeys/types.js.map +1 -0
- package/build/ts/subgraph/__tests__/subgraph.controller.test.d.ts +2 -0
- package/build/ts/subgraph/__tests__/subgraph.controller.test.d.ts.map +1 -0
- package/build/ts/subgraph/__tests__/subgraph.controller.test.js +50 -0
- package/build/ts/subgraph/__tests__/subgraph.controller.test.js.map +1 -0
- package/build/ts/subgraph/__tests__/subgraph.gateway.test.d.ts +2 -0
- package/build/ts/subgraph/__tests__/subgraph.gateway.test.d.ts.map +1 -0
- package/build/ts/subgraph/__tests__/subgraph.gateway.test.js +83 -0
- package/build/ts/subgraph/__tests__/subgraph.gateway.test.js.map +1 -0
- package/build/ts/subgraph/__tests__/subgraph.service.test.d.ts +2 -0
- package/build/ts/subgraph/__tests__/subgraph.service.test.d.ts.map +1 -0
- package/build/ts/subgraph/__tests__/subgraph.service.test.js +58 -0
- package/build/ts/subgraph/__tests__/subgraph.service.test.js.map +1 -0
- package/build/ts/subgraph/dto.d.ts +27 -0
- package/build/ts/subgraph/dto.d.ts.map +1 -0
- package/build/ts/subgraph/dto.js +83 -0
- package/build/ts/subgraph/dto.js.map +1 -0
- package/build/ts/subgraph/subgraph.controller.d.ts +24 -0
- package/build/ts/subgraph/subgraph.controller.d.ts.map +1 -0
- package/build/ts/subgraph/subgraph.controller.js +66 -0
- package/build/ts/subgraph/subgraph.controller.js.map +1 -0
- package/build/ts/subgraph/subgraph.gateway.d.ts +35 -0
- package/build/ts/subgraph/subgraph.gateway.d.ts.map +1 -0
- package/build/ts/subgraph/subgraph.gateway.js +93 -0
- package/build/ts/subgraph/subgraph.gateway.js.map +1 -0
- package/build/ts/subgraph/subgraph.module.d.ts +3 -0
- package/build/ts/subgraph/subgraph.module.d.ts.map +1 -0
- package/build/ts/subgraph/subgraph.module.js +23 -0
- package/build/ts/subgraph/subgraph.module.js.map +1 -0
- package/build/ts/subgraph/subgraph.service.d.ts +20 -0
- package/build/ts/subgraph/subgraph.service.d.ts.map +1 -0
- package/build/ts/subgraph/subgraph.service.js +106 -0
- package/build/ts/subgraph/subgraph.service.js.map +1 -0
- package/build/ts/subgraph/types.d.ts +93 -0
- package/build/ts/subgraph/types.d.ts.map +1 -0
- package/build/ts/subgraph/types.js +24 -0
- package/build/ts/subgraph/types.js.map +1 -0
- package/build/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +125 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../ts/common/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.service.test.d.ts","sourceRoot":"","sources":["../../../../ts/crypto/__tests__/crypto.service.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import fc from "fast-check";
|
|
2
|
+
import { generateKeyPairSync } from "crypto";
|
|
3
|
+
import { ErrorCodes } from "../../common";
|
|
4
|
+
import { CryptoService } from "../crypto.service";
|
|
5
|
+
describe("CryptoService", () => {
|
|
6
|
+
test("should throw encryption error if key is invalid", () => {
|
|
7
|
+
const service = new CryptoService();
|
|
8
|
+
expect(() => service.encrypt("", "")).toThrow(ErrorCodes.ENCRYPTION.toString());
|
|
9
|
+
});
|
|
10
|
+
test("should throw decryption error if key is invalid", () => {
|
|
11
|
+
const service = new CryptoService();
|
|
12
|
+
expect(() => service.decrypt("", "")).toThrow(ErrorCodes.DECRYPTION.toString());
|
|
13
|
+
});
|
|
14
|
+
test("should encrypt and decrypt properly", () => {
|
|
15
|
+
fc.assert(fc.property(fc.string(), (text) => {
|
|
16
|
+
const service = new CryptoService();
|
|
17
|
+
const keypair = generateKeyPairSync("rsa", {
|
|
18
|
+
modulusLength: 2048,
|
|
19
|
+
});
|
|
20
|
+
const encryptedText = service.encrypt(keypair.publicKey.export({ type: "pkcs1", format: "pem" }), text);
|
|
21
|
+
const decryptedText = service.decrypt(keypair.privateKey.export({ type: "pkcs1", format: "pem" }), encryptedText);
|
|
22
|
+
return decryptedText === text;
|
|
23
|
+
}));
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=crypto.service.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.service.test.js","sourceRoot":"","sources":["../../../../ts/crypto/__tests__/crypto.service.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QAEpC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC3D,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QAEpC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,MAAM,CACP,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;YAEpC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE;gBACzC,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;YAExG,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CACnC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAC3D,aAAa,CACd,CAAC;YAEF,OAAO,aAAa,KAAK,IAAI,CAAC;QAChC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.module.d.ts","sourceRoot":"","sources":["../../../ts/crypto/crypto.module.ts"],"names":[],"mappings":"AAIA,qBAIa,YAAY;CAAG"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Module } from "@nestjs/common";
|
|
8
|
+
import { CryptoService } from "./crypto.service";
|
|
9
|
+
let CryptoModule = class CryptoModule {
|
|
10
|
+
};
|
|
11
|
+
CryptoModule = __decorate([
|
|
12
|
+
Module({
|
|
13
|
+
exports: [CryptoService],
|
|
14
|
+
providers: [CryptoService],
|
|
15
|
+
})
|
|
16
|
+
], CryptoModule);
|
|
17
|
+
export { CryptoModule };
|
|
18
|
+
//# sourceMappingURL=crypto.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.module.js","sourceRoot":"","sources":["../../../ts/crypto/crypto.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAM1C,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,YAAY;IAJxB,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,aAAa,CAAC;QACxB,SAAS,EAAE,CAAC,aAAa,CAAC;KAC3B,CAAC;GACW,YAAY,CAAG"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type KeyLike } from "crypto";
|
|
2
|
+
/**
|
|
3
|
+
* CryptoService is responsible for encrypting and decrypting user sensitive data
|
|
4
|
+
*/
|
|
5
|
+
export declare class CryptoService {
|
|
6
|
+
/**
|
|
7
|
+
* Logger
|
|
8
|
+
*/
|
|
9
|
+
private readonly logger;
|
|
10
|
+
/**
|
|
11
|
+
* Initialize service
|
|
12
|
+
*/
|
|
13
|
+
constructor();
|
|
14
|
+
/**
|
|
15
|
+
* Encrypt plaintext with public key
|
|
16
|
+
*
|
|
17
|
+
* @param publicKey - public key
|
|
18
|
+
* @param value - plaintext
|
|
19
|
+
* @returns ciphertext
|
|
20
|
+
*/
|
|
21
|
+
encrypt(publicKey: KeyLike, value: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Decrypt ciphertext with private key
|
|
24
|
+
*
|
|
25
|
+
* @param privateKey - private key
|
|
26
|
+
* @param value - ciphertext
|
|
27
|
+
* @returns plaintext
|
|
28
|
+
*/
|
|
29
|
+
decrypt(privateKey: KeyLike, value: string): string;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=crypto.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.service.d.ts","sourceRoot":"","sources":["../../../ts/crypto/crypto.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiC,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIrE;;GAEG;AACH,qBACa,aAAa;IACxB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;OAEG;;IAKH;;;;;;OAMG;IACH,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAWlD;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAUpD"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var CryptoService_1;
|
|
11
|
+
import { Injectable, Logger } from "@nestjs/common";
|
|
12
|
+
import { publicEncrypt, privateDecrypt } from "crypto";
|
|
13
|
+
import { ErrorCodes } from "../common";
|
|
14
|
+
/**
|
|
15
|
+
* CryptoService is responsible for encrypting and decrypting user sensitive data
|
|
16
|
+
*/
|
|
17
|
+
let CryptoService = CryptoService_1 = class CryptoService {
|
|
18
|
+
/**
|
|
19
|
+
* Logger
|
|
20
|
+
*/
|
|
21
|
+
logger;
|
|
22
|
+
/**
|
|
23
|
+
* Initialize service
|
|
24
|
+
*/
|
|
25
|
+
constructor() {
|
|
26
|
+
this.logger = new Logger(CryptoService_1.name);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Encrypt plaintext with public key
|
|
30
|
+
*
|
|
31
|
+
* @param publicKey - public key
|
|
32
|
+
* @param value - plaintext
|
|
33
|
+
* @returns ciphertext
|
|
34
|
+
*/
|
|
35
|
+
encrypt(publicKey, value) {
|
|
36
|
+
try {
|
|
37
|
+
const encrypted = publicEncrypt(publicKey, Buffer.from(value));
|
|
38
|
+
return encrypted.toString("base64");
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
this.logger.error(`Error: ${ErrorCodes.ENCRYPTION}`, error);
|
|
42
|
+
throw new Error(ErrorCodes.ENCRYPTION.toString());
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Decrypt ciphertext with private key
|
|
47
|
+
*
|
|
48
|
+
* @param privateKey - private key
|
|
49
|
+
* @param value - ciphertext
|
|
50
|
+
* @returns plaintext
|
|
51
|
+
*/
|
|
52
|
+
decrypt(privateKey, value) {
|
|
53
|
+
try {
|
|
54
|
+
const decryptedData = privateDecrypt(privateKey, Buffer.from(value, "base64"));
|
|
55
|
+
return decryptedData.toString();
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
this.logger.error(`Error: ${ErrorCodes.DECRYPTION}`, error);
|
|
59
|
+
throw new Error(ErrorCodes.DECRYPTION.toString());
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
CryptoService = CryptoService_1 = __decorate([
|
|
64
|
+
Injectable(),
|
|
65
|
+
__metadata("design:paramtypes", [])
|
|
66
|
+
], CryptoService);
|
|
67
|
+
export { CryptoService };
|
|
68
|
+
//# sourceMappingURL=crypto.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.service.js","sourceRoot":"","sources":["../../../ts/crypto/crypto.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAgB,MAAM,QAAQ,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;GAEG;AAEI,IAAM,aAAa,qBAAnB,MAAM,aAAa;IACxB;;OAEG;IACc,MAAM,CAAS;IAEhC;;OAEG;IACH;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,SAAkB,EAAE,KAAa;QACvC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAE/D,OAAO,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,UAAmB,EAAE,KAAa;QACxC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YAE/E,OAAO,aAAa,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;CACF,CAAA;AAhDY,aAAa;IADzB,UAAU,EAAE;;GACA,aAAa,CAgDzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployer.controller.test.d.ts","sourceRoot":"","sources":["../../../../ts/deployer/__tests__/deployer.controller.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Test } from "@nestjs/testing";
|
|
2
|
+
import { zeroAddress } from "viem";
|
|
3
|
+
import { ErrorCodes, ESupportedNetworks } from "../../common";
|
|
4
|
+
import { FileService } from "../../file/file.service";
|
|
5
|
+
import { generateApproval } from "../../sessionKeys/__tests__/utils";
|
|
6
|
+
import { SessionKeysService } from "../../sessionKeys/sessionKeys.service";
|
|
7
|
+
import { DeployerController } from "../deployer.controller";
|
|
8
|
+
import { DeployerService } from "../deployer.service";
|
|
9
|
+
import { testMaciDeploymentConfig, testPollDeploymentConfig } from "./utils";
|
|
10
|
+
describe("DeployerController", () => {
|
|
11
|
+
afterEach(() => {
|
|
12
|
+
jest.clearAllMocks();
|
|
13
|
+
});
|
|
14
|
+
let deployerController;
|
|
15
|
+
const mockDeployerService = {
|
|
16
|
+
deployMaci: jest.fn(),
|
|
17
|
+
deployPoll: jest.fn(),
|
|
18
|
+
};
|
|
19
|
+
const defaultDeployMaciReturn = zeroAddress;
|
|
20
|
+
const defaultDeployPollReturn = "0";
|
|
21
|
+
const deployerControllerFail = new DeployerController(new DeployerService(new SessionKeysService(new FileService()), new FileService()));
|
|
22
|
+
const fileService = new FileService();
|
|
23
|
+
const sessionKeyService = new SessionKeysService(fileService);
|
|
24
|
+
let approval;
|
|
25
|
+
let sessionKeyAddress;
|
|
26
|
+
beforeAll(async () => {
|
|
27
|
+
approval = await generateApproval(sessionKeyAddress);
|
|
28
|
+
sessionKeyAddress = (await sessionKeyService.generateSessionKey()).sessionKeyAddress;
|
|
29
|
+
});
|
|
30
|
+
beforeEach(async () => {
|
|
31
|
+
const app = await Test.createTestingModule({
|
|
32
|
+
controllers: [DeployerController],
|
|
33
|
+
})
|
|
34
|
+
.useMocker((token) => {
|
|
35
|
+
if (token === DeployerService) {
|
|
36
|
+
mockDeployerService.deployMaci.mockResolvedValue({ address: defaultDeployMaciReturn });
|
|
37
|
+
mockDeployerService.deployPoll.mockResolvedValue({ pollId: defaultDeployPollReturn });
|
|
38
|
+
return mockDeployerService;
|
|
39
|
+
}
|
|
40
|
+
return jest.fn();
|
|
41
|
+
})
|
|
42
|
+
.compile();
|
|
43
|
+
deployerController = app.get(DeployerController);
|
|
44
|
+
});
|
|
45
|
+
describe("v1/deploy/maci", () => {
|
|
46
|
+
test("should deploy all contracts", async () => {
|
|
47
|
+
const { address } = await deployerController.deployMACIContracts({
|
|
48
|
+
chain: ESupportedNetworks.OPTIMISM_SEPOLIA,
|
|
49
|
+
approval,
|
|
50
|
+
sessionKeyAddress,
|
|
51
|
+
config: testMaciDeploymentConfig,
|
|
52
|
+
});
|
|
53
|
+
expect(address).toEqual(defaultDeployMaciReturn);
|
|
54
|
+
});
|
|
55
|
+
test("should return 400 bad request when the service throws", async () => {
|
|
56
|
+
await expect(deployerControllerFail.deployMACIContracts({
|
|
57
|
+
chain: ESupportedNetworks.OPTIMISM_SEPOLIA,
|
|
58
|
+
approval: "",
|
|
59
|
+
sessionKeyAddress: "0x",
|
|
60
|
+
config: testMaciDeploymentConfig,
|
|
61
|
+
})).rejects.toThrow(ErrorCodes.SESSION_KEY_NOT_FOUND.toString());
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe("v1/deploy/poll", () => {
|
|
65
|
+
test("should deploy a new poll", async () => {
|
|
66
|
+
const { pollId } = await deployerController.deployPoll({
|
|
67
|
+
chain: ESupportedNetworks.OPTIMISM_SEPOLIA,
|
|
68
|
+
approval: "",
|
|
69
|
+
sessionKeyAddress: "0x",
|
|
70
|
+
config: testPollDeploymentConfig,
|
|
71
|
+
});
|
|
72
|
+
expect(pollId).toEqual(defaultDeployPollReturn);
|
|
73
|
+
});
|
|
74
|
+
test("should return 400 bad request when the service throws", async () => {
|
|
75
|
+
await expect(deployerControllerFail.deployPoll({
|
|
76
|
+
chain: ESupportedNetworks.OPTIMISM_SEPOLIA,
|
|
77
|
+
approval: "",
|
|
78
|
+
sessionKeyAddress: "0x",
|
|
79
|
+
config: testPollDeploymentConfig,
|
|
80
|
+
})).rejects.toThrow(ErrorCodes.SESSION_KEY_NOT_FOUND.toString());
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=deployer.controller.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployer.controller.test.js","sourceRoot":"","sources":["../../../../ts/deployer/__tests__/deployer.controller.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployer.service.test.d.ts","sourceRoot":"","sources":["../../../../ts/deployer/__tests__/deployer.service.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { ContractStorage, EContracts, EInitialVoiceCreditProxies, EPolicies, MACI__factory as MACIFactory, Verifier__factory as VerifierFactory, } from "@maci-protocol/sdk";
|
|
2
|
+
import dotenv from "dotenv";
|
|
3
|
+
import { BaseContract } from "ethers";
|
|
4
|
+
import { zeroAddress } from "viem";
|
|
5
|
+
import path from "path";
|
|
6
|
+
import { ErrorCodes, ESupportedNetworks } from "../../common";
|
|
7
|
+
import { FileService } from "../../file/file.service";
|
|
8
|
+
import { generateApproval } from "../../sessionKeys/__tests__/utils";
|
|
9
|
+
import { SessionKeysService } from "../../sessionKeys/sessionKeys.service";
|
|
10
|
+
import { DeployerService } from "../deployer.service";
|
|
11
|
+
import { testMaciDeploymentConfig, testPollDeploymentConfig } from "./utils";
|
|
12
|
+
dotenv.config();
|
|
13
|
+
describe("DeployerService", () => {
|
|
14
|
+
afterEach(() => {
|
|
15
|
+
jest.clearAllMocks();
|
|
16
|
+
});
|
|
17
|
+
const chain = ESupportedNetworks.OPTIMISM_SEPOLIA;
|
|
18
|
+
const fileService = new FileService();
|
|
19
|
+
const storageInstance = ContractStorage.getInstance(path.join(process.cwd(), "deployed-contracts.json"));
|
|
20
|
+
const sessionKeyService = new SessionKeysService(fileService);
|
|
21
|
+
const deployerService = new DeployerService(sessionKeyService, fileService);
|
|
22
|
+
let approval;
|
|
23
|
+
let sessionKeyAddress;
|
|
24
|
+
let kernelClient;
|
|
25
|
+
let signer;
|
|
26
|
+
beforeAll(async () => {
|
|
27
|
+
sessionKeyAddress = (await sessionKeyService.generateSessionKey()).sessionKeyAddress;
|
|
28
|
+
approval = await generateApproval(sessionKeyAddress);
|
|
29
|
+
kernelClient = await sessionKeyService.generateClientFromSessionKey(sessionKeyAddress, approval, chain);
|
|
30
|
+
signer = await sessionKeyService.getKernelClientSigner(kernelClient);
|
|
31
|
+
});
|
|
32
|
+
afterAll(() => {
|
|
33
|
+
storageInstance.cleanup(ESupportedNetworks.OPTIMISM_SEPOLIA);
|
|
34
|
+
storageInstance.cleanup(ESupportedNetworks.ARBITRUM_ONE);
|
|
35
|
+
});
|
|
36
|
+
describe("deployAndSavePolicy", () => {
|
|
37
|
+
// we cleanup after each test so we don't have leftover saved contracts
|
|
38
|
+
afterEach(() => {
|
|
39
|
+
storageInstance.cleanup(chain);
|
|
40
|
+
});
|
|
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());
|
|
43
|
+
});
|
|
44
|
+
test("should deploy policy if none is stored", async () => {
|
|
45
|
+
const policy = await deployerService.deployAndSavePolicy(signer, EPolicies.FreeForAll, chain);
|
|
46
|
+
expect(policy).toBeDefined();
|
|
47
|
+
expect(await policy.getAddress()).not.toBe(zeroAddress);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe("deployAndSaveVoiceCreditProxy", () => {
|
|
51
|
+
// we cleanup after each test so we don't have leftover saved contracts
|
|
52
|
+
afterEach(() => {
|
|
53
|
+
storageInstance.cleanup(chain);
|
|
54
|
+
});
|
|
55
|
+
it("should throw when the voice credit proxy is not existent", async () => {
|
|
56
|
+
await expect(deployerService.deployAndSaveVoiceCreditProxy(signer, "NonExistent", chain)).rejects.toThrow(ErrorCodes.UNSUPPORTED_VOICE_CREDIT_PROXY.toString());
|
|
57
|
+
});
|
|
58
|
+
test("should deploy voice credit proxy if none is stored", async () => {
|
|
59
|
+
const voiceCreditProxy = await deployerService.deployAndSaveVoiceCreditProxy(signer, EInitialVoiceCreditProxies.Constant, chain, { amount: 100 });
|
|
60
|
+
expect(voiceCreditProxy).toBeDefined();
|
|
61
|
+
expect(await voiceCreditProxy.getAddress()).not.toBe(zeroAddress);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe("deployMaci", () => {
|
|
65
|
+
test("should throw when passing a non existent session key address", async () => {
|
|
66
|
+
await expect(deployerService.deployMaci({
|
|
67
|
+
config: testMaciDeploymentConfig,
|
|
68
|
+
chain,
|
|
69
|
+
approval,
|
|
70
|
+
sessionKeyAddress: "0x5",
|
|
71
|
+
})).rejects.toThrow(ErrorCodes.SESSION_KEY_NOT_FOUND.toString());
|
|
72
|
+
});
|
|
73
|
+
test("should throw when the approval is not valid", async () => {
|
|
74
|
+
await expect(deployerService.deployMaci({
|
|
75
|
+
config: testMaciDeploymentConfig,
|
|
76
|
+
chain,
|
|
77
|
+
approval: "0x",
|
|
78
|
+
sessionKeyAddress,
|
|
79
|
+
})).rejects.toThrow(ErrorCodes.INVALID_APPROVAL.toString());
|
|
80
|
+
});
|
|
81
|
+
test("should deploy all new contracts", async () => {
|
|
82
|
+
const mockDeployMaci = jest.fn().mockResolvedValue({ address: zeroAddress });
|
|
83
|
+
jest.spyOn(DeployerService.prototype, "deployMaci").mockImplementation(mockDeployMaci);
|
|
84
|
+
const { address: maciAddress } = await deployerService.deployMaci({
|
|
85
|
+
config: testMaciDeploymentConfig,
|
|
86
|
+
chain,
|
|
87
|
+
approval,
|
|
88
|
+
sessionKeyAddress,
|
|
89
|
+
});
|
|
90
|
+
expect(maciAddress).toBe(zeroAddress);
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
describe("deployPoll", () => {
|
|
94
|
+
afterEach(() => {
|
|
95
|
+
storageInstance.cleanup(chain);
|
|
96
|
+
});
|
|
97
|
+
test("should throw when there is no maci contract deployed", async () => {
|
|
98
|
+
await expect(deployerService.deployPoll({
|
|
99
|
+
approval,
|
|
100
|
+
sessionKeyAddress,
|
|
101
|
+
chain,
|
|
102
|
+
config: testPollDeploymentConfig,
|
|
103
|
+
})).rejects.toThrow(ErrorCodes.MACI_NOT_DEPLOYED.toString());
|
|
104
|
+
});
|
|
105
|
+
test("should throw when there is no maci contract deployed to this specific chain", async () => {
|
|
106
|
+
await storageInstance.register({
|
|
107
|
+
id: EContracts.MACI,
|
|
108
|
+
contract: new BaseContract("0x", MACIFactory.abi),
|
|
109
|
+
network: ESupportedNetworks.ARBITRUM_ONE,
|
|
110
|
+
args: [],
|
|
111
|
+
});
|
|
112
|
+
await expect(deployerService.deployPoll({
|
|
113
|
+
approval,
|
|
114
|
+
sessionKeyAddress,
|
|
115
|
+
chain,
|
|
116
|
+
config: testPollDeploymentConfig,
|
|
117
|
+
})).rejects.toThrow(ErrorCodes.MACI_NOT_DEPLOYED.toString());
|
|
118
|
+
});
|
|
119
|
+
it("should throw when there is no verifier deployed", async () => {
|
|
120
|
+
await storageInstance.register({
|
|
121
|
+
id: EContracts.MACI,
|
|
122
|
+
contract: new BaseContract("0x", MACIFactory.abi),
|
|
123
|
+
network: chain,
|
|
124
|
+
args: [],
|
|
125
|
+
});
|
|
126
|
+
await expect(deployerService.deployPoll({
|
|
127
|
+
approval,
|
|
128
|
+
sessionKeyAddress,
|
|
129
|
+
chain,
|
|
130
|
+
config: testPollDeploymentConfig,
|
|
131
|
+
})).rejects.toThrow(ErrorCodes.VERIFIER_NOT_DEPLOYED.toString());
|
|
132
|
+
});
|
|
133
|
+
it("should throw when there is no verifying keys registry deployed", async () => {
|
|
134
|
+
await storageInstance.register({
|
|
135
|
+
id: EContracts.MACI,
|
|
136
|
+
contract: new BaseContract("0x", MACIFactory.abi),
|
|
137
|
+
network: chain,
|
|
138
|
+
args: [],
|
|
139
|
+
});
|
|
140
|
+
await storageInstance.register({
|
|
141
|
+
id: EContracts.Verifier,
|
|
142
|
+
contract: new BaseContract("0x", VerifierFactory.abi),
|
|
143
|
+
network: chain,
|
|
144
|
+
args: [],
|
|
145
|
+
});
|
|
146
|
+
await expect(deployerService.deployPoll({
|
|
147
|
+
approval,
|
|
148
|
+
sessionKeyAddress,
|
|
149
|
+
chain,
|
|
150
|
+
config: testPollDeploymentConfig,
|
|
151
|
+
})).rejects.toThrow(ErrorCodes.VERIFYING_KEYS_REGISTRY_NOT_DEPLOYED.toString());
|
|
152
|
+
});
|
|
153
|
+
test("should deploy a poll", async () => {
|
|
154
|
+
const mockDeployPoll = jest.fn().mockResolvedValue({ pollId: "0" });
|
|
155
|
+
jest.spyOn(DeployerService.prototype, "deployPoll").mockImplementation(mockDeployPoll);
|
|
156
|
+
const { pollId } = await deployerService.deployPoll({
|
|
157
|
+
config: testPollDeploymentConfig,
|
|
158
|
+
chain,
|
|
159
|
+
approval,
|
|
160
|
+
sessionKeyAddress,
|
|
161
|
+
});
|
|
162
|
+
expect(pollId).toBe("0");
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
//# sourceMappingURL=deployer.service.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployer.service.test.js","sourceRoot":"","sources":["../../../../ts/deployer/__tests__/deployer.service.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Keypair } from "@maci-protocol/domainobjs";
|
|
2
|
+
import { IDeployMaciConfig, IDeployPollConfig, IEASPolicyArgs, IGitcoinPassportPolicyArgs, IHatsPolicyArgs, IMerkleProofPolicyArgs, ISemaphorePolicyArgs, ITokenPolicyArgs, IZupassPolicyArgs } from "../types";
|
|
3
|
+
export declare const MSG_BATCH_SIZE = 20;
|
|
4
|
+
/**
|
|
5
|
+
* Coordinator MACI Keypair
|
|
6
|
+
*/
|
|
7
|
+
export declare const coordinatorMACIKeypair: Keypair;
|
|
8
|
+
/**
|
|
9
|
+
* MACI deployment configuration for testing
|
|
10
|
+
*/
|
|
11
|
+
export declare const testMaciDeploymentConfig: IDeployMaciConfig;
|
|
12
|
+
/**
|
|
13
|
+
* 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
|
+
*/
|
|
16
|
+
export declare const startDate: number;
|
|
17
|
+
/**
|
|
18
|
+
* Poll duration in seconds
|
|
19
|
+
* n seconds are added to the poll start date
|
|
20
|
+
*/
|
|
21
|
+
export declare const pollDuration = 60;
|
|
22
|
+
/**
|
|
23
|
+
* Poll start date extra seconds
|
|
24
|
+
* n seconds are added to the poll start date
|
|
25
|
+
* to give it time until it the previous poll contracts are deployed
|
|
26
|
+
*/
|
|
27
|
+
export declare const pollStartDateExtraSeconds = 60;
|
|
28
|
+
/**
|
|
29
|
+
* Poll deployment configuration for testing
|
|
30
|
+
*/
|
|
31
|
+
export declare const testPollDeploymentConfig: IDeployPollConfig;
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* Policies
|
|
35
|
+
*
|
|
36
|
+
*/
|
|
37
|
+
/**
|
|
38
|
+
* EAS Policy deployment configuration for testing
|
|
39
|
+
*/
|
|
40
|
+
export declare const EASPolicyDeploymentConfig: IEASPolicyArgs;
|
|
41
|
+
/**
|
|
42
|
+
* Zupass Policy deployment configuration for testing
|
|
43
|
+
*/
|
|
44
|
+
export declare const ZupassPolicyDeploymentConfig: IZupassPolicyArgs;
|
|
45
|
+
/**
|
|
46
|
+
* Semaphore Policy deployment configuration for testing
|
|
47
|
+
*/
|
|
48
|
+
export declare const SemaphorePolicyDeploymentConfig: ISemaphorePolicyArgs;
|
|
49
|
+
/**
|
|
50
|
+
* HatsPolicy deployment configuration for testing
|
|
51
|
+
*/
|
|
52
|
+
export declare const HatsPolicyDeploymentConfig: IHatsPolicyArgs;
|
|
53
|
+
/**
|
|
54
|
+
* MerkleProofPolicy deployment configuration for testing
|
|
55
|
+
*/
|
|
56
|
+
export declare const MerkleProofPolicyDeploymentConfig: IMerkleProofPolicyArgs;
|
|
57
|
+
/**
|
|
58
|
+
* SignUpPolicy deployment configuration for testing
|
|
59
|
+
*/
|
|
60
|
+
export declare const SignUpPolicyDeploymentConfig: ITokenPolicyArgs;
|
|
61
|
+
/**
|
|
62
|
+
* GitcoinPassportPolicy deployment configuration for testing
|
|
63
|
+
*/
|
|
64
|
+
export declare const GitcoinPassportPolicyDeploymentConfig: IGitcoinPassportPolicyArgs;
|
|
65
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +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"}
|