"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FULL_POLICY_NAMES = exports.getNetworkRpcUrls = exports.EChainId = exports.ESupportedChains = exports.EDeploySteps = void 0;
const types_1 = require("./types");
/**
 * Deploy steps
 */
var EDeploySteps;
(function (EDeploySteps) {
    EDeploySteps["Policies"] = "full:deploy-policies";
    EDeploySteps["Verifier"] = "full:deploy-verifier";
    EDeploySteps["Poseidon"] = "full:deploy-poseidon";
    EDeploySteps["PollFactory"] = "full:deploy-poll-factory";
    EDeploySteps["MessageProcessorFactory"] = "full:deploy-message-processor-factory";
    EDeploySteps["TallyFactory"] = "full:deploy-tally-factory";
    EDeploySteps["Maci"] = "full:deploy-maci";
    EDeploySteps["VerifyingKeysRegistry"] = "full:deploy-verifyingKey-registry";
    EDeploySteps["InitialVoiceCreditProxyFactory"] = "full:deploy-initial-voice-credit-proxy-factory";
    EDeploySteps["InitialVoiceCreditProxy"] = "poll:deploy-initial-voice-credit-proxy";
    EDeploySteps["PollPolicy"] = "poll:deploy-policy";
    EDeploySteps["Poll"] = "poll:deploy-poll";
})(EDeploySteps || (exports.EDeploySteps = EDeploySteps = {}));
/**
 * Supported networks for deployment and task running
 */
var ESupportedChains;
(function (ESupportedChains) {
    ESupportedChains["Mainnet"] = "mainnet";
    ESupportedChains["Sepolia"] = "sepolia";
    ESupportedChains["Optimism"] = "optimism";
    ESupportedChains["OptimismSepolia"] = "optimism_sepolia";
    ESupportedChains["Scroll"] = "scroll";
    ESupportedChains["ScrollSepolia"] = "scroll_sepolia";
    ESupportedChains["Arbitrum"] = "arbitrum";
    ESupportedChains["ArbitrumSepolia"] = "arbitrum_sepolia";
    ESupportedChains["Base"] = "base";
    ESupportedChains["BaseSepolia"] = "base_sepolia";
    ESupportedChains["Gnosis"] = "gnosis";
    ESupportedChains["GnosisChiado"] = "gnosis_chiado";
    ESupportedChains["Polygon"] = "polygon";
    ESupportedChains["PolygonAmoy"] = "polygon_amoy";
    ESupportedChains["Linea"] = "linea";
    ESupportedChains["LineaSepolia"] = "linea_sepolia";
    ESupportedChains["ZkSyncEra"] = "zksync_era";
    ESupportedChains["ZkSyncSepolia"] = "zksync_sepolia";
    ESupportedChains["PolygonZkEvm"] = "polygon_zkevm";
    ESupportedChains["PolygonCardonaZkEvm"] = "polygon_cardona_zkevm";
    ESupportedChains["Coverage"] = "coverage";
    ESupportedChains["Hardhat"] = "hardhat";
    ESupportedChains["Localhost"] = "localhost";
})(ESupportedChains || (exports.ESupportedChains = ESupportedChains = {}));
/**
 * Supported network chain ids for deployment and task running
 */
var EChainId;
(function (EChainId) {
    EChainId[EChainId["Mainnet"] = 1] = "Mainnet";
    EChainId[EChainId["Hardhat"] = 31337] = "Hardhat";
    EChainId[EChainId["Optimism"] = 10] = "Optimism";
    EChainId[EChainId["OptimismSepolia"] = 11155420] = "OptimismSepolia";
    EChainId[EChainId["Sepolia"] = 11155111] = "Sepolia";
    EChainId[EChainId["Scroll"] = 534352] = "Scroll";
    EChainId[EChainId["ScrollSepolia"] = 534351] = "ScrollSepolia";
    EChainId[EChainId["Arbitrum"] = 42161] = "Arbitrum";
    EChainId[EChainId["ArbitrumSepolia"] = 421614] = "ArbitrumSepolia";
    EChainId[EChainId["Base"] = 8453] = "Base";
    EChainId[EChainId["BaseSepolia"] = 84532] = "BaseSepolia";
    EChainId[EChainId["Gnosis"] = 100] = "Gnosis";
    EChainId[EChainId["GnosisChiado"] = 10200] = "GnosisChiado";
    EChainId[EChainId["Polygon"] = 137] = "Polygon";
    EChainId[EChainId["PolygonAmoy"] = 80002] = "PolygonAmoy";
    EChainId[EChainId["Linea"] = 59144] = "Linea";
    EChainId[EChainId["LineaSepolia"] = 59141] = "LineaSepolia";
    EChainId[EChainId["ZkSyncEra"] = 324] = "ZkSyncEra";
    EChainId[EChainId["ZkSyncSepolia"] = 300] = "ZkSyncSepolia";
    EChainId[EChainId["PolygonZkEvm"] = 1101] = "PolygonZkEvm";
    EChainId[EChainId["PolygonCardonaZkEvm"] = 2442] = "PolygonCardonaZkEvm";
    EChainId[EChainId["Coverage"] = 1337] = "Coverage";
})(EChainId || (exports.EChainId = EChainId = {}));
/**
 * Get network rpc urls object
 *
 * @returns {Record<ESupportedChains, string>} rpc urls for supported networks
 */
const getNetworkRpcUrls = () => {
    const SEPOLIA_RPC_URL = process.env.SEPOLIA_RPC_URL ?? "";
    const OP_RPC_URL = process.env.OP_RPC_URL ?? "";
    const OP_SEPOLIA_RPC_URL = process.env.OP_SEPOLIA_RPC_URL ?? "";
    const SCROLL_RPC_URL = process.env.SCROLL_RPC_URL ?? "";
    const SCROLL_SEPOLIA_RPC_URL = process.env.SCROLL_SEPOLIA_RPC_URL ?? "";
    const ARBITRUM_RPC_URL = process.env.ARBITRUM_RPC_URL ?? "";
    const ARBITRUM_SEPOLIA_RPC_URL = process.env.ARBITRUM_SEPOLIA_RPC_URL ?? "";
    const BASE_RPC_URL = process.env.BASE_RPC_URL ?? "";
    const BASE_SEPOLIA_RPC_URL = process.env.BASE_SEPOLIA_RPC_URL ?? "";
    const GNOSIS_RPC_URL = process.env.GNOSIS_RPC_URL ?? "";
    const GNOSIS_CHIADO_RPC_URL = process.env.GNOSIS_CHIADO_RPC_URL ?? "";
    const POLYGON_RPC_URL = process.env.POLYGON_RPC_URL ?? "";
    const POLYGON_AMOY_RPC_URL = process.env.POLYGON_AMOY_RPC_URL ?? "";
    const LINEA_RPC_URL = process.env.LINEA_RPC_URL ?? "";
    const LINEA_SEPOLIA_RPC_URL = process.env.LINEA_SEPOLIA_RPC_URL ?? "";
    const ZK_SYNC_ERA_RPC_URL = process.env.ZK_SYNC_ERA_RPC_URL ?? "";
    const ZK_SYNC_SEPOLIA_RPC_URL = process.env.ZK_SYNC_SEPOLIA_RPC_URL ?? "";
    const POLYGON_ZKEVM_RPC_URL = process.env.POLYGON_ZKEVM_RPC_URL ?? "";
    const POLYGON_CARDONA_RPC_URL = process.env.POLYGON_CARDONA_RPC_URL ?? "";
    const MAINNET_RPC_URL = process.env.MAINNET_RPC_URL ?? "";
    return {
        [ESupportedChains.Sepolia]: SEPOLIA_RPC_URL,
        [ESupportedChains.Optimism]: OP_RPC_URL,
        [ESupportedChains.OptimismSepolia]: OP_SEPOLIA_RPC_URL,
        [ESupportedChains.Scroll]: SCROLL_RPC_URL,
        [ESupportedChains.ScrollSepolia]: SCROLL_SEPOLIA_RPC_URL,
        [ESupportedChains.Arbitrum]: ARBITRUM_RPC_URL,
        [ESupportedChains.ArbitrumSepolia]: ARBITRUM_SEPOLIA_RPC_URL,
        [ESupportedChains.Base]: BASE_RPC_URL,
        [ESupportedChains.BaseSepolia]: BASE_SEPOLIA_RPC_URL,
        [ESupportedChains.Gnosis]: GNOSIS_RPC_URL,
        [ESupportedChains.GnosisChiado]: GNOSIS_CHIADO_RPC_URL,
        [ESupportedChains.Polygon]: POLYGON_RPC_URL,
        [ESupportedChains.PolygonAmoy]: POLYGON_AMOY_RPC_URL,
        [ESupportedChains.Linea]: LINEA_RPC_URL,
        [ESupportedChains.LineaSepolia]: LINEA_SEPOLIA_RPC_URL,
        [ESupportedChains.ZkSyncEra]: ZK_SYNC_ERA_RPC_URL,
        [ESupportedChains.ZkSyncSepolia]: ZK_SYNC_SEPOLIA_RPC_URL,
        [ESupportedChains.PolygonZkEvm]: POLYGON_ZKEVM_RPC_URL,
        [ESupportedChains.PolygonCardonaZkEvm]: POLYGON_CARDONA_RPC_URL,
        [ESupportedChains.Coverage]: "http://localhost:8555",
        [ESupportedChains.Hardhat]: "http://localhost:8545",
        [ESupportedChains.Localhost]: "http://localhost:8545",
        [ESupportedChains.Mainnet]: MAINNET_RPC_URL,
    };
};
exports.getNetworkRpcUrls = getNetworkRpcUrls;
exports.FULL_POLICY_NAMES = {
    [types_1.EContracts.FreeForAllPolicy]: types_1.EPolicies.FreeForAll,
    [types_1.EContracts.TokenPolicy]: types_1.EPolicies.Token,
    [types_1.EContracts.EASPolicy]: types_1.EPolicies.EAS,
    [types_1.EContracts.GitcoinPassportPolicy]: types_1.EPolicies.GitcoinPassport,
    [types_1.EContracts.HatsPolicy]: types_1.EPolicies.Hats,
    [types_1.EContracts.ZupassPolicy]: types_1.EPolicies.Zupass,
    [types_1.EContracts.SemaphorePolicy]: types_1.EPolicies.Semaphore,
    [types_1.EContracts.MerkleProofPolicy]: types_1.EPolicies.MerkleProof,
    [types_1.EContracts.AnonAadhaarPolicy]: types_1.EPolicies.AnonAadhaar,
    [types_1.EContracts.ERC20VotesPolicy]: types_1.EPolicies.ERC20Votes,
    [types_1.EContracts.ERC20Policy]: types_1.EPolicies.ERC20,
};
//# sourceMappingURL=constants.js.map