// Polyfill crypto.getRandomValues before anything else import './polyfill'; // Core export { DubsClient } from './client'; export type { DubsClientConfig } from './client'; export { DubsApiError, parseSolanaError, SOLANA_PROGRAM_ERRORS } from './errors'; export { DEFAULT_BASE_URL, DEFAULT_RPC_URL, NETWORK_CONFIG } from './constants'; export type { DubsNetwork } from './constants'; // Storage export { createSecureStoreStorage, STORAGE_KEYS } from './storage'; export type { TokenStorage } from './storage'; // Types export type { UnifiedEvent, Opponent, EventMedia, EventStream, EventMeta, Pagination, EsportsMatchDetail, EsportsMatchOpponent, EsportsMatchResult, ValidateEventResult, CreateGameParams, CreateGameResult, CreateCustomGameParams, CreateCustomGameResult, JoinGameParams, JoinGameResult, ConfirmGameParams, ConfirmGameResult, BuildClaimParams, BuildClaimResult, ConfirmClaimParams, ConfirmClaimResult, Bettor, GameDetail, GameMedia, GameListItem, GameListOpponent, GetGamesParams, GetNetworkGamesParams, GetUpcomingEventsParams, ParsedError, SolanaErrorCode, MutationStatus, QueryResult, MutationResult, DubsUser, DubsPublicUser, DubsAppUser, NonceResult, AuthenticateParams, AuthenticateResult, RegisterParams, RegisterResult, CheckUsernameResult, AuthStatus, LiveScore, LiveScoreCompetitor, UiConfig, WhatsNewPost, WhatsNewCategory, UFCFighter, UFCFighterDetail, UFCData, UFCFight, UFCEvent, ArcadePool, ArcadeEntry, ArcadeAttempt, ArcadeLeaderboardEntry, ArcadePoolStats, StartAttemptResult, SubmitScoreResult, BuildArcadeEntryResult, EnterArcadePoolResult, ArcadePoolResult, JackpotRound, JackpotLastWinner, JackpotEntry, JackpotRoundResult, JackpotConfig, BuildJackpotEnterResult, ConfirmJackpotEnterResult, PromoCredit, } from './types'; // Provider export { DubsProvider, useDubs, useAppConfig } from './provider'; export type { DubsProviderProps, DubsContextValue } from './provider'; // Wallet export type { WalletAdapter } from './wallet'; export { MwaWalletAdapter } from './wallet'; export type { MwaAdapterConfig, MwaTransactFn } from './wallet'; export { PhantomDeeplinkAdapter } from './wallet'; export type { PhantomDeeplinkAdapterConfig, PhantomSession } from './wallet'; // Hooks export { useEvents, useGame, useGames, useNetworkGames, useCreateGame, useCreateCustomGame, useJoinGame, useClaim, useHasClaimed, useAuth, useUFCFightCard, useUFCFighterDetail, usePushNotifications, useArcadePools, useArcadePool, useArcadeGame, useEnterArcadePool, useArcadeCountdown, useArcadeBridge, useJackpot, useJackpotHistory, useEnterJackpot, useCredits, emitCreditsChanged, } from './hooks'; export type { CreateGameMutationResult, CreateCustomGameMutationResult, JoinGameMutationResult, ClaimMutationResult, ClaimStatus, UseAuthResult, PushNotificationStatus, UseArcadePoolsResult, UseArcadePoolResult, UseArcadeGameResult, EnterArcadePoolMutationResult, ArcadeCountdown, UseArcadeBridgeOptions, UseArcadeBridgeResult, HighlightVideo, ShortVideo, UseJackpotResult, UseJackpotHistoryResult, EnterJackpotMutationResult, UseCreditsResult, } from './hooks'; export { useHighlights, useShorts } from './hooks'; // UI export { AuthGate, ConnectWalletScreen, ConnectWalletButton, UserProfileCard, SettingsSheet, UserProfileSheet, useDubsTheme, mergeTheme } from './ui'; export type { AuthGateProps, RegistrationScreenProps, ConnectWalletScreenProps, ConnectWalletButtonProps, AuthGateConnectWalletProps, UserProfileCardProps, SettingsSheetProps, UserProfileSheetProps, DubsTheme } from './ui'; // Game widgets export { GamePoster, LivePoolsCard, PickWinnerCard, PlayersCard, JoinGameButton, CreateCustomGameSheet, CreateGameSheet, JoinGameSheet, ClaimPrizeSheet, ClaimButton, EnterArcadePoolSheet, ArcadeLeaderboardSheet, SolSlider } from './ui'; export type { SolSliderProps } from './ui'; export type { GamePosterProps, LivePoolsCardProps, PickWinnerCardProps, PlayersCardProps, JoinGameButtonProps, CreateCustomGameSheetProps, CreateGameSheetProps, JoinGameSheetProps, ClaimPrizeSheetProps, ClaimButtonProps, EnterArcadePoolSheetProps, ArcadeLeaderboardSheetProps, } from './ui'; // Jackpot widgets export { JackpotCard, JackpotSheet, JackpotWidget } from './ui'; export type { JackpotCardProps, JackpotSheetProps, JackpotWidgetProps } from './ui'; // Chat module export { ChatProvider, useChatContext, ChatSocket, useChatStatus, useChatMessages, useSendMessage, useOnlineUsers, useUnreadCount, useConversations, useDirectMessages, useFriends, useFriendRequests, useSentFriendRequests, useSearchUsers, useSendFriendRequest, useRespondToFriendRequest, useCancelFriendRequest, useWhatsNew, } from './chat'; export type { ChatProviderProps, ChatContextValue, ChatSocketConfig, ChatSocketListeners, ChatMessage, ChatMention, ChatPayment, DirectMessage, Conversation, FriendUser, FriendRequest, SentFriendRequest, OnlineUser, TypingEvent, ChatNotification, ChatConnectionStatus, SendMessageParams, SendDMParams, } from './chat'; // Utils export { signAndSendBase64Transaction } from './utils/transaction'; export { getDeviceInfo, isSolanaSeeker } from './utils/device'; export type { DeviceInfo } from './utils/device'; export { ensurePngAvatar } from './utils/avatarUrl';