@fractional-company/common
Version:
Tessera constants
90 lines (89 loc) • 7.38 kB
JavaScript
;
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);
});