UNPKG

@fractional-company/common

Version:
90 lines (89 loc) 7.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const src_1 = require("../src"); const goerli_v1_1 = require("../src/v2/protoforms/art-enjoyer/versions/goerli.v1"); const goerli_v2_1 = require("../src/v2/protoforms/art-enjoyer/versions/goerli.v2"); const mainnet_v1_1 = require("../src/v2/protoforms/art-enjoyer/versions/mainnet.v1"); const goerli_v3_1 = require("../src/v2/protoforms/art-enjoyer/versions/goerli.v3"); test("Expect correct protoform version (goerli v2)", () => { // ============ // Goerli V2 // ============ const goerli = src_1.ArtEnjoyerProtoform.getProtoform(src_1.CHAINS.GÖRLI); if (!goerli) { throw Error("GÖRLI protoform null"); } expect(src_1.ArtEnjoyerProtoform.isLPDAAddress(src_1.CHAINS.GÖRLI, goerli.modules.lpda.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isOptimisticBidAddress(src_1.CHAINS.GÖRLI, goerli.modules.optimisticBid.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isVaultFactoryAddress(src_1.CHAINS.GÖRLI, goerli.factories.vaultFactory.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isVaultRegistryAddress(src_1.CHAINS.GÖRLI, goerli.factories.vaultRegistry.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isVaultRegistryAddress(src_1.CHAINS.GÖRLI, goerli.factories.vaultFactory.contractAddress)).toBe(false); expect(src_1.ArtEnjoyerProtoform.isFercAddress(src_1.CHAINS.GÖRLI, goerli.ferc.contractAddress)).toBe(true); }); test("Expect the latest protoform (goerli v2)", () => { const goerli = src_1.ArtEnjoyerProtoform.getProtoform(src_1.CHAINS.GÖRLI); if (!goerli) { throw Error("GÖRLI protoform null"); } const goerliV2 = goerli_v3_1.artEnjoyerProtoformGoerliV3; expect(goerli.modules.lpda.contractAddress).toBe(goerliV2.modules.lpda.contractAddress); expect(goerli.modules.optimisticBid.contractAddress).toBe(goerliV2.modules.optimisticBid.contractAddress); expect(goerli.factories.vaultFactory.contractAddress).toBe(goerliV2.factories.vaultFactory.contractAddress); expect(goerli.factories.vaultRegistry.contractAddress).toBe(goerliV2.factories.vaultRegistry.contractAddress); expect(goerli.factories.vaultFactory.contractAddress).toBe(goerliV2.factories.vaultFactory.contractAddress); expect(goerli.ferc.contractAddress).toBe(goerliV2.ferc.contractAddress); }); test("Expect correct protoform based on vault's modules (goerli V1)", () => { const modules = ["0xaa4c9674097cd9ec35c28bf4715259f56334b2be", "0xba02b214a6780393d068929a8b82b72781e4b3b9"]; const protoform = src_1.ArtEnjoyerProtoform.getProtoform(src_1.CHAINS.GÖRLI, modules); if (!protoform) { throw Error("GÖRLI protoform null"); } const goerliV1 = goerli_v1_1.artEnjoyerProtoformGoerliV1; expect(protoform.modules.lpda.contractAddress).toBe(goerliV1.modules.lpda.contractAddress); expect(protoform.modules.optimisticBid.contractAddress).toBe(goerliV1.modules.optimisticBid.contractAddress); expect(protoform.factories.vaultFactory.contractAddress).toBe(goerliV1.factories.vaultFactory.contractAddress); expect(protoform.factories.vaultRegistry.contractAddress).toBe(goerliV1.factories.vaultRegistry.contractAddress); expect(protoform.factories.vaultFactory.contractAddress).toBe(goerliV1.factories.vaultFactory.contractAddress); expect(protoform.ferc.contractAddress).toBe(goerliV1.ferc.contractAddress); }); test("Expect correct protoform based on vault's modules (goerli V2)", () => { const goerliV1 = goerli_v2_1.artEnjoyerProtoformGoerliV2; const modules = [goerliV1.modules.lpda.contractAddress, goerliV1.modules.optimisticBid.contractAddress]; const protoform = src_1.ArtEnjoyerProtoform.getProtoform(src_1.CHAINS.GÖRLI, modules); if (!protoform) { throw Error("GÖRLI protoform null"); } expect(protoform.modules.lpda.contractAddress).toBe(goerliV1.modules.lpda.contractAddress); expect(protoform.modules.optimisticBid.contractAddress).toBe(goerliV1.modules.optimisticBid.contractAddress); expect(protoform.factories.vaultFactory.contractAddress).toBe(goerliV1.factories.vaultFactory.contractAddress); expect(protoform.factories.vaultRegistry.contractAddress).toBe(goerliV1.factories.vaultRegistry.contractAddress); expect(protoform.factories.vaultFactory.contractAddress).toBe(goerliV1.factories.vaultFactory.contractAddress); expect(protoform.ferc.contractAddress).toBe(goerliV1.ferc.contractAddress); }); test("Expect correct protoform module checks", () => { // Goerli V1 const goerliV1 = goerli_v1_1.artEnjoyerProtoformGoerliV1; expect(src_1.ArtEnjoyerProtoform.isLPDAAddress(src_1.CHAINS.GÖRLI, goerliV1.modules.lpda.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isOptimisticBidAddress(src_1.CHAINS.GÖRLI, goerliV1.modules.optimisticBid.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isVaultFactoryAddress(src_1.CHAINS.GÖRLI, goerliV1.factories.vaultFactory.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isVaultRegistryAddress(src_1.CHAINS.GÖRLI, goerliV1.factories.vaultRegistry.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isVaultRegistryAddress(src_1.CHAINS.GÖRLI, goerliV1.factories.vaultFactory.contractAddress)).toBe(false); expect(src_1.ArtEnjoyerProtoform.isFercAddress(src_1.CHAINS.GÖRLI, goerliV1.ferc.contractAddress)).toBe(true); // Goerli V2 const goerliV2 = goerli_v2_1.artEnjoyerProtoformGoerliV2; expect(src_1.ArtEnjoyerProtoform.isLPDAAddress(src_1.CHAINS.GÖRLI, goerliV2.modules.lpda.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isOptimisticBidAddress(src_1.CHAINS.GÖRLI, goerliV2.modules.optimisticBid.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isVaultFactoryAddress(src_1.CHAINS.GÖRLI, goerliV2.factories.vaultFactory.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isVaultRegistryAddress(src_1.CHAINS.GÖRLI, goerliV2.factories.vaultRegistry.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isVaultRegistryAddress(src_1.CHAINS.GÖRLI, goerliV2.factories.vaultFactory.contractAddress)).toBe(false); expect(src_1.ArtEnjoyerProtoform.isFercAddress(src_1.CHAINS.GÖRLI, goerliV2.ferc.contractAddress)).toBe(true); // Mainnet V1 const mainnetV1 = mainnet_v1_1.artEnjoyerProtoformMainnetV1; expect(src_1.ArtEnjoyerProtoform.isLPDAAddress(src_1.CHAINS.MAINNET, mainnetV1.modules.lpda.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isOptimisticBidAddress(src_1.CHAINS.MAINNET, mainnetV1.modules.optimisticBid.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isVaultFactoryAddress(src_1.CHAINS.MAINNET, mainnetV1.factories.vaultFactory.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isVaultRegistryAddress(src_1.CHAINS.MAINNET, mainnetV1.factories.vaultRegistry.contractAddress)).toBe(true); expect(src_1.ArtEnjoyerProtoform.isVaultRegistryAddress(src_1.CHAINS.MAINNET, mainnetV1.factories.vaultFactory.contractAddress)).toBe(false); expect(src_1.ArtEnjoyerProtoform.isFercAddress(src_1.CHAINS.MAINNET, mainnetV1.ferc.contractAddress)).toBe(true); });