"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useCurrenciesUnderFeatureFlag = void 0;
const react_1 = require("react");
const featureFlags_1 = require("../../featureFlags");
const useEnv_1 = __importDefault(require("../../hooks/useEnv"));
function useCurrenciesUnderFeatureFlag() {
    const mock = (0, useEnv_1.default)("MOCK");
    const aptos = (0, featureFlags_1.useFeature)("currencyAptos");
    const aptosTestnet = (0, featureFlags_1.useFeature)("currencyAptosTestnet");
    const axelar = (0, featureFlags_1.useFeature)("currencyAxelar");
    const stargaze = (0, featureFlags_1.useFeature)("currencyStargaze");
    const secretNetwork = (0, featureFlags_1.useFeature)("currencySecretNetwork");
    const umee = (0, featureFlags_1.useFeature)("currencyUmee");
    const desmos = (0, featureFlags_1.useFeature)("currencyDesmos");
    const dydx = (0, featureFlags_1.useFeature)("currencyDydx");
    const onomy = (0, featureFlags_1.useFeature)("currencyOnomy");
    const seiNetwork = (0, featureFlags_1.useFeature)("currencySeiNetwork");
    const quicksilver = (0, featureFlags_1.useFeature)("currencyQuicksilver");
    const persistence = (0, featureFlags_1.useFeature)("currencyPersistence");
    const avaxCChain = (0, featureFlags_1.useFeature)("currencyAvalancheCChain");
    const stacks = (0, featureFlags_1.useFeature)("currencyStacks");
    const optimism = (0, featureFlags_1.useFeature)("currencyOptimism");
    const optimismSepolia = (0, featureFlags_1.useFeature)("currencyOptimismSepolia");
    const arbitrum = (0, featureFlags_1.useFeature)("currencyArbitrum");
    const arbitrumSepolia = (0, featureFlags_1.useFeature)("currencyArbitrumSepolia");
    const rsk = (0, featureFlags_1.useFeature)("currencyRsk");
    const bittorrent = (0, featureFlags_1.useFeature)("currencyBittorrent");
    const energyWeb = (0, featureFlags_1.useFeature)("currencyEnergyWeb");
    const astar = (0, featureFlags_1.useFeature)("currencyAstar");
    const metis = (0, featureFlags_1.useFeature)("currencyMetis");
    const boba = (0, featureFlags_1.useFeature)("currencyBoba");
    const moonriver = (0, featureFlags_1.useFeature)("currencyMoonriver");
    const velasEvm = (0, featureFlags_1.useFeature)("currencyVelasEvm");
    const syscoin = (0, featureFlags_1.useFeature)("currencySyscoin");
    const internetComputer = (0, featureFlags_1.useFeature)("currencyInternetComputer");
    const telosEvm = (0, featureFlags_1.useFeature)("currencyTelosEvm");
    const coreum = (0, featureFlags_1.useFeature)("currencyCoreum");
    const polygonZkEvm = (0, featureFlags_1.useFeature)("currencyPolygonZkEvm");
    const polygonZkEvmTestnet = (0, featureFlags_1.useFeature)("currencyPolygonZkEvmTestnet");
    const base = (0, featureFlags_1.useFeature)("currencyBase");
    const baseSepolia = (0, featureFlags_1.useFeature)("currencyBaseSepolia");
    const klaytn = (0, featureFlags_1.useFeature)("currencyKlaytn");
    const injective = (0, featureFlags_1.useFeature)("currencyInjective");
    const vechain = (0, featureFlags_1.useFeature)("currencyVechain");
    const casper = (0, featureFlags_1.useFeature)("currencyCasper");
    const neonEvm = (0, featureFlags_1.useFeature)("currencyNeonEvm");
    const lukso = (0, featureFlags_1.useFeature)("currencyLukso");
    const linea = (0, featureFlags_1.useFeature)("currencyLinea");
    const lineaSepolia = (0, featureFlags_1.useFeature)("currencyLineaSepolia");
    const blast = (0, featureFlags_1.useFeature)("currencyBlast");
    const blastSepolia = (0, featureFlags_1.useFeature)("currencyBlastSepolia");
    const scroll = (0, featureFlags_1.useFeature)("currencyScroll");
    const scrollSepolia = (0, featureFlags_1.useFeature)("currencyScrollSepolia");
    const icon = (0, featureFlags_1.useFeature)("currencyIcon");
    const ton = (0, featureFlags_1.useFeature)("currencyTon");
    const etherlink = (0, featureFlags_1.useFeature)("currencyEtherlink");
    const zksync = (0, featureFlags_1.useFeature)("currencyZkSync");
    const zksyncSepolia = (0, featureFlags_1.useFeature)("currencyZkSyncSepolia");
    const mantra = (0, featureFlags_1.useFeature)("currencyMantra");
    const xion = (0, featureFlags_1.useFeature)("currencyXion");
    const zenrock = (0, featureFlags_1.useFeature)("currencyZenrock");
    const sonic = (0, featureFlags_1.useFeature)("currencySonic");
    const sonicBlaze = (0, featureFlags_1.useFeature)("currencySonicBlaze");
    const sui = (0, featureFlags_1.useFeature)("currencySui");
    const mina = (0, featureFlags_1.useFeature)("currencyMina");
    const babylon = (0, featureFlags_1.useFeature)("currencyBabylon");
    const seiNetworkEvm = (0, featureFlags_1.useFeature)("currencySeiNetworkEvm");
    const berachain = (0, featureFlags_1.useFeature)("currencyBerachain");
    const hyperevm = (0, featureFlags_1.useFeature)("currencyHyperevm");
    const canton = (0, featureFlags_1.useFeature)("currencyCantonNetwork");
    const cantonDevnet = (0, featureFlags_1.useFeature)("currencyCantonNetworkDevnet");
    const cantonTestnet = (0, featureFlags_1.useFeature)("currencyCantonNetworkTestnet");
    const kaspa = (0, featureFlags_1.useFeature)("currencyKaspa");
    const core = (0, featureFlags_1.useFeature)("currencyCore");
    const ethereumHoodi = (0, featureFlags_1.useFeature)("currencyEthereumHoodi");
    const westend = (0, featureFlags_1.useFeature)("currencyWestend");
    const assetHubWestend = (0, featureFlags_1.useFeature)("currencyAssetHubWestend");
    const assetHubPolkadot = (0, featureFlags_1.useFeature)("currencyAssetHubPolkadot");
    const polkadot = (0, featureFlags_1.useFeature)("currencyPolkadot");
    const monad = (0, featureFlags_1.useFeature)("currencyMonad");
    const monadTestnet = (0, featureFlags_1.useFeature)("currencyMonadTestnet");
    const somnia = (0, featureFlags_1.useFeature)("currencySomnia");
    const zeroGravity = (0, featureFlags_1.useFeature)("currencyZeroGravity");
    const concordium = (0, featureFlags_1.useFeature)("currencyConcordium");
    const concordiumTestnet = (0, featureFlags_1.useFeature)("currencyConcordiumTestnet");
    const featureFlaggedCurrencies = (0, react_1.useMemo)(() => ({
        aptos,
        aptos_testnet: aptosTestnet,
        axelar,
        stargaze,
        secret_network: secretNetwork,
        umee,
        desmos,
        dydx,
        onomy,
        sei_network: seiNetwork,
        quicksilver,
        persistence,
        avalanche_c_chain: avaxCChain,
        stacks,
        optimism,
        optimism_sepolia: optimismSepolia,
        arbitrum,
        arbitrum_sepolia: arbitrumSepolia,
        rsk,
        bittorrent,
        energy_web: energyWeb,
        astar,
        metis,
        boba,
        moonriver,
        velas_evm: velasEvm,
        syscoin,
        internet_computer: internetComputer,
        telos_evm: telosEvm,
        sei_evm: seiNetworkEvm,
        berachain: berachain,
        hyperevm: hyperevm,
        coreum,
        polygon_zk_evm: polygonZkEvm,
        polygon_zk_evm_testnet: polygonZkEvmTestnet,
        base,
        base_sepolia: baseSepolia,
        klaytn,
        injective,
        vechain,
        casper,
        neon_evm: neonEvm,
        lukso,
        linea,
        ton,
        linea_sepolia: lineaSepolia,
        blast,
        blast_sepolia: blastSepolia,
        scroll,
        scroll_sepolia: scrollSepolia,
        icon,
        etherlink,
        zksync,
        zksync_sepolia: zksyncSepolia,
        mantra,
        xion,
        zenrock,
        sonic,
        sonic_blaze: sonicBlaze,
        sui,
        mina,
        babylon,
        canton_network: canton,
        canton_network_devnet: cantonDevnet,
        canton_network_testnet: cantonTestnet,
        kaspa,
        core,
        ethereum_hoodi: ethereumHoodi,
        westend,
        assethub_westend: assetHubWestend,
        assethub_polkadot: assetHubPolkadot,
        polkadot,
        monad,
        monad_testnet: monadTestnet,
        somnia,
        zero_gravity: zeroGravity,
        concordium,
        concordium_testnet: concordiumTestnet,
    }), [
        aptos,
        aptosTestnet,
        axelar,
        stargaze,
        secretNetwork,
        umee,
        desmos,
        dydx,
        onomy,
        seiNetwork,
        quicksilver,
        persistence,
        avaxCChain,
        stacks,
        optimism,
        optimismSepolia,
        arbitrum,
        arbitrumSepolia,
        rsk,
        bittorrent,
        energyWeb,
        astar,
        metis,
        boba,
        moonriver,
        velasEvm,
        syscoin,
        internetComputer,
        telosEvm,
        seiNetworkEvm,
        berachain,
        hyperevm,
        coreum,
        polygonZkEvm,
        polygonZkEvmTestnet,
        base,
        baseSepolia,
        klaytn,
        injective,
        vechain,
        casper,
        neonEvm,
        lukso,
        linea,
        ton,
        lineaSepolia,
        blast,
        blastSepolia,
        scroll,
        scrollSepolia,
        icon,
        etherlink,
        zksync,
        zksyncSepolia,
        mantra,
        xion,
        zenrock,
        sonic,
        sonicBlaze,
        sui,
        mina,
        babylon,
        canton,
        cantonDevnet,
        cantonTestnet,
        kaspa,
        core,
        ethereumHoodi,
        westend,
        assetHubWestend,
        assetHubPolkadot,
        polkadot,
        monad,
        monadTestnet,
        somnia,
        zeroGravity,
        concordium,
        concordiumTestnet,
    ]);
    const deactivatedCurrencyIds = (0, react_1.useMemo)(() => new Set(mock
        ? [] // mock mode: all currencies are available for playwrigth tests
        : Object.entries(featureFlaggedCurrencies)
            .filter(([, feature]) => !feature?.enabled)
            .map(([id]) => id)), [mock, featureFlaggedCurrencies]);
    return {
        featureFlaggedCurrencies,
        deactivatedCurrencyIds,
    };
}
exports.useCurrenciesUnderFeatureFlag = useCurrenciesUnderFeatureFlag;
//# sourceMappingURL=useCurrenciesUnderFeatureFlag.js.map