'use client'
import { __awaiter } from '../../../../../../_virtual/_tslib.js';
import '@dynamic-labs-sdk/client/core';
import '@dynamic-labs/sdk-api-core';
import '../../../../client/client.js';
import 'react';
import '@dynamic-labs-sdk/client';
import '../../../../config/ApiEndpoint.js';
import '@dynamic-labs/iconic';
import '@dynamic-labs/wallet-connector-core';
import 'react/jsx-runtime';
import '../../../../context/ViewContext/ViewContext.js';
import '../../../../shared/logger.js';
import '@dynamic-labs/wallet-book';
import '@dynamic-labs/utils';
import '../../../constants/colors.js';
import '../../../constants/values.js';
import '../../../../shared/consts/index.js';
import '@dynamic-labs/multi-wallet';
import 'react-international-phone';
import '../../../../store/state/nonce/nonce.js';
import '@dynamic-labs/locale';
import '../../../../store/state/dynamicContextProps/dynamicContextProps.js';
import { getPrimaryWalletId } from '../../../../store/state/primaryWalletId/primaryWalletId.js';
import { getConnectedWalletsInfo } from '../../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
import '../../../../events/dynamicEvents.js';
import { getUserProfile } from '../../../../client/extension/user/getUserProfile/getUserProfile.js';

/**
 * Detects mismatch between wallet info.
 * If there is primary wallet id, but no user or connected wallets info,
 * it means it's in a bad state and we should log out.
 */
const handleWalletInfoOutOfSync = (_a) => __awaiter(void 0, [_a], void 0, function* ({ logout, }) {
    const primaryWalletId = getPrimaryWalletId();
    if (!primaryWalletId) {
        return;
    }
    const user = getUserProfile();
    const connectedWallets = getConnectedWalletsInfo();
    if (user || connectedWallets.length > 0) {
        return;
    }
    yield logout('wallet info is out of sync', {
        connectedWallets,
        primaryWalletId,
        user,
    });
});

export { handleWalletInfoOutOfSync };
