@dubsdotapp/expo 0.2.44 → 0.2.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -190,6 +190,8 @@ const myStorage: TokenStorage = {
190
190
  | `useJoinGame()` | Mutation | Join an existing game |
191
191
  | `useClaim()` | Mutation | Claim prize or refund after game resolves |
192
192
  | `useHasClaimed(gameId)` | Query | Check if current wallet already claimed — returns `hasClaimed`, `amountClaimed`, `claimSignature` |
193
+ | `useUFCFightCard()` | Query | Fetch all upcoming UFC fight cards with fighters and fight data |
194
+ | `useUFCFighterDetail(athleteId)` | Query | Fetch detailed fighter profile (height, weight, reach, stance, gym, age, etc.) — only fetches when athleteId is non-null |
193
195
 
194
196
  ### Mutation Status
195
197
 
@@ -222,7 +224,7 @@ Drop-in bottom sheets that handle the full transaction lifecycle (build → sign
222
224
 
223
225
  #### CreateCustomGameSheet
224
226
 
225
- Bottom sheet for creating a custom 1v1 game with configurable buy-in.
227
+ Bottom sheet for creating a custom game with configurable buy-in.
226
228
 
227
229
  ```tsx
228
230
  import { CreateCustomGameSheet } from '@dubsdotapp/expo';
@@ -244,13 +246,34 @@ import { CreateCustomGameSheet } from '@dubsdotapp/expo';
244
246
  | `onDismiss` | `() => void` | *required* | Called when user closes the sheet |
245
247
  | `title` | `string` | `'New Game'` | Sheet header title |
246
248
  | `maxPlayers` | `number` | `2` | Max players (currently 1v1) |
247
- | `fee` | `number` | `0.05` | Platform fee percentage (0–1) |
248
- | `presetAmounts` | `number[]` | `[0.01, 0.1, 0.5]` | Quick-select buy-in chips |
249
- | `defaultAmount` | `number` | | Pre-selected buy-in |
249
+ | `fee` | `number` | `5` | Platform fee percentage (0–100) |
250
+ | `presetAmounts` | `number[]` | `[0.01, 0.1, 0.5, 1]` | Quick-select buy-in chips |
251
+ | `defaultAmount` | `number` | `0.01` | Pre-selected buy-in |
250
252
  | `metadata` | `Record<string, unknown>` | — | Arbitrary metadata attached to the game |
253
+ | `isPoolModeEnabled` | `boolean` | `false` | Pool mode — see below |
251
254
  | `onSuccess` | `(result) => void` | — | Called with `{ gameId, gameAddress, signature, explorerUrl, buyIn }` |
252
255
  | `onError` | `(error) => void` | — | Called on failure |
253
256
 
257
+ **Pool Mode** (`isPoolModeEnabled`): For winner-takes-all pools (e.g. UFC Pick'em) where all players pay a fixed buy-in and winners split the pot. When enabled:
258
+ - Hides buy-in selection UI (uses `defaultAmount` automatically)
259
+ - Auto-assigns `teamChoice: 'home'` (no side selection — oracle resolves winners)
260
+ - Labels change to "Create Pool" instead of "New Game"
261
+ - Summary shows "Max players" and "Max pot" instead of 1v1 display
262
+
263
+ ```tsx
264
+ // Pick'em pool — first player creates the on-chain game
265
+ <CreateCustomGameSheet
266
+ isPoolModeEnabled
267
+ visible={showCreate}
268
+ title="UFC 313 Pick'em"
269
+ maxPlayers={50}
270
+ defaultAmount={0.1}
271
+ metadata={{ pickemPoolId: pool.id }}
272
+ onSuccess={(result) => handlePoolCreated(result)}
273
+ onDismiss={() => setShowCreate(false)}
274
+ />
275
+ ```
276
+
254
277
  #### JoinGameSheet
255
278
 
256
279
  Bottom sheet for joining an existing game. Shows buy-in, team selection, pool summary, and potential winnings.
@@ -276,9 +299,27 @@ import { JoinGameSheet } from '@dubsdotapp/expo';
276
299
  | `shortName` | `(name) => string` | — | Custom team label formatter |
277
300
  | `homeColor` | `string` | `'#3B82F6'` | Home team accent color |
278
301
  | `awayColor` | `string` | `'#EF4444'` | Away team accent color |
302
+ | `isPoolModeEnabled` | `boolean` | `false` | Pool mode — see below |
279
303
  | `onSuccess` | `(result) => void` | — | Called with `{ signature, explorerUrl }` |
280
304
  | `onError` | `(error) => void` | — | Called on failure |
281
305
 
306
+ **Pool Mode** (`isPoolModeEnabled`): For winner-takes-all pools where there are no sides. When enabled:
307
+ - Hides team selection UI entirely
308
+ - Auto-assigns `teamChoice: 'home'` (oracle distributes to winners via `distribute_survivor_winnings`)
309
+ - Labels change to "Join Pool" instead of "Join Game"
310
+ - Summary shows "Players in" and "Current pot" instead of side/odds/potential winnings
311
+
312
+ ```tsx
313
+ // Pick'em pool — subsequent players join the existing on-chain game
314
+ <JoinGameSheet
315
+ isPoolModeEnabled
316
+ visible={showJoin}
317
+ game={gameData}
318
+ onSuccess={(result) => handlePoolJoined(result)}
319
+ onDismiss={() => setShowJoin(false)}
320
+ />
321
+ ```
322
+
282
323
  #### ClaimPrizeSheet
283
324
 
284
325
  Bottom sheet for claiming a prize or refund after a game resolves. Includes a celebration animation on success.
package/dist/index.d.mts CHANGED
@@ -343,11 +343,42 @@ interface LiveScore {
343
343
  }
344
344
  interface UFCFighter {
345
345
  name: string;
346
- imageUrl: string | null;
346
+ athleteId: string | null;
347
+ headshotUrl: string | null;
348
+ flagUrl: string | null;
349
+ country: string | null;
347
350
  abbreviation: string;
348
351
  record: string | null;
349
352
  winner: boolean;
350
353
  }
354
+ interface UFCFighterDetail {
355
+ athleteId: string;
356
+ firstName: string | null;
357
+ lastName: string | null;
358
+ fullName: string | null;
359
+ nickname: string | null;
360
+ shortName: string | null;
361
+ height: string | null;
362
+ heightInches: number | null;
363
+ weight: string | null;
364
+ weightLbs: number | null;
365
+ reach: string | null;
366
+ reachInches: number | null;
367
+ age: number | null;
368
+ dateOfBirth: string | null;
369
+ stance: string | null;
370
+ weightClass: string | null;
371
+ citizenship: string | null;
372
+ citizenshipAbbreviation: string | null;
373
+ gym: string | null;
374
+ gymCountry: string | null;
375
+ active: boolean;
376
+ headshotUrl: string | null;
377
+ flagUrl: string | null;
378
+ stanceImageUrl: string | null;
379
+ espnUrl: string | null;
380
+ slug: string | null;
381
+ }
351
382
  interface UFCData {
352
383
  currentRound: number;
353
384
  totalRounds: number;
@@ -399,6 +430,7 @@ declare class DubsClient {
399
430
  getEsportsMatches(videogame?: string): Promise<UnifiedEvent[]>;
400
431
  getEsportsMatchDetail(matchId: string | number): Promise<EsportsMatchDetail>;
401
432
  getUFCFightCard(): Promise<UFCEvent[]>;
433
+ getUFCFighterDetail(athleteId: string): Promise<UFCFighterDetail>;
402
434
  validateEvent(id: string): Promise<ValidateEventResult>;
403
435
  createGame(params: CreateGameParams): Promise<CreateGameResult>;
404
436
  joinGame(params: JoinGameParams): Promise<JoinGameResult>;
@@ -849,6 +881,8 @@ declare function useAuth(): UseAuthResult;
849
881
 
850
882
  declare function useUFCFightCard(): QueryResult<UFCEvent[]>;
851
883
 
884
+ declare function useUFCFighterDetail(athleteId: string | null): QueryResult<UFCFighterDetail>;
885
+
852
886
  interface UserProfileCardProps {
853
887
  walletAddress: string;
854
888
  username?: string;
@@ -972,8 +1006,10 @@ interface CreateCustomGameSheetProps {
972
1006
  onAmountChange?: (amount: number | null) => void;
973
1007
  onSuccess?: (result: CreateCustomGameMutationResult) => void;
974
1008
  onError?: (error: Error) => void;
1009
+ /** Pool mode: hides buy-in selection, uses defaultAmount, auto-assigns team, shows "Create Pool" labels */
1010
+ isPoolModeEnabled?: boolean;
975
1011
  }
976
- declare function CreateCustomGameSheet({ visible, onDismiss, title, maxPlayers, fee, presetAmounts, defaultAmount, metadata, onAmountChange, onSuccess, onError, }: CreateCustomGameSheetProps): react_jsx_runtime.JSX.Element;
1012
+ declare function CreateCustomGameSheet({ visible, onDismiss, title, maxPlayers, fee, presetAmounts, defaultAmount, metadata, onAmountChange, onSuccess, onError, isPoolModeEnabled, }: CreateCustomGameSheetProps): react_jsx_runtime.JSX.Element;
977
1013
 
978
1014
  interface JoinGameSheetProps {
979
1015
  visible: boolean;
@@ -989,8 +1025,10 @@ interface JoinGameSheetProps {
989
1025
  /** Callbacks */
990
1026
  onSuccess?: (result: JoinGameMutationResult) => void;
991
1027
  onError?: (error: Error) => void;
1028
+ /** Pool mode: hides team selection, auto-assigns team, shows "Join Pool" labels */
1029
+ isPoolModeEnabled?: boolean;
992
1030
  }
993
- declare function JoinGameSheet({ visible, onDismiss, game, ImageComponent, shortName, homeColor, awayColor, onSuccess, onError, }: JoinGameSheetProps): react_jsx_runtime.JSX.Element;
1031
+ declare function JoinGameSheet({ visible, onDismiss, game, ImageComponent, shortName, homeColor, awayColor, onSuccess, onError, isPoolModeEnabled, }: JoinGameSheetProps): react_jsx_runtime.JSX.Element;
994
1032
 
995
1033
  interface ClaimPrizeSheetProps {
996
1034
  visible: boolean;
@@ -1028,4 +1066,4 @@ declare function ClaimButton({ gameId, style, onSuccess, onError }: ClaimButtonP
1028
1066
  */
1029
1067
  declare function signAndSendBase64Transaction(base64Tx: string, wallet: WalletAdapter, connection: Connection): Promise<string>;
1030
1068
 
1031
- export { AuthGate, type AuthGateProps, type AuthStatus, type AuthenticateParams, type AuthenticateResult, type Bettor, type BuildClaimParams, type BuildClaimResult, type CheckUsernameResult, ClaimButton, type ClaimButtonProps, type ClaimMutationResult, ClaimPrizeSheet, type ClaimPrizeSheetProps, type ClaimStatus, type ConfirmClaimParams, type ConfirmClaimResult, type ConfirmGameParams, type ConfirmGameResult, ConnectWalletScreen, type ConnectWalletScreenProps, type CreateCustomGameMutationResult, type CreateCustomGameParams, type CreateCustomGameResult, CreateCustomGameSheet, type CreateCustomGameSheetProps, type CreateGameMutationResult, type CreateGameParams, type CreateGameResult, DEFAULT_BASE_URL, DEFAULT_RPC_URL, type DeviceInfo, DubsApiError, type DubsAppUser, DubsClient, type DubsClientConfig, type DubsContextValue, type DubsNetwork, DubsProvider, type DubsProviderProps, type DubsPublicUser, type DubsTheme, type DubsUser, type EsportsMatchDetail, type EsportsMatchOpponent, type EsportsMatchResult, type EventMedia, type EventMeta, type EventStream, type GameDetail, type GameListItem, type GameListOpponent, type GameMedia, GamePoster, type GamePosterProps, type GetGamesParams, type GetNetworkGamesParams, type GetUpcomingEventsParams, JoinGameButton, type JoinGameButtonProps, type JoinGameMutationResult, type JoinGameParams, type JoinGameResult, JoinGameSheet, type JoinGameSheetProps, LivePoolsCard, type LivePoolsCardProps, type LiveScore, type LiveScoreCompetitor, type MutationResult, type MutationStatus, type MwaAdapterConfig, type MwaTransactFn, MwaWalletAdapter, NETWORK_CONFIG, type NonceResult, type Opponent, type Pagination, type ParsedError, PhantomDeeplinkAdapter, type PhantomDeeplinkAdapterConfig, type PhantomSession, PickWinnerCard, type PickWinnerCardProps, PlayersCard, type PlayersCardProps, type QueryResult, type RegisterParams, type RegisterResult, type RegistrationScreenProps, SOLANA_PROGRAM_ERRORS, STORAGE_KEYS, SettingsSheet, type SettingsSheetProps, type SolanaErrorCode, type TokenStorage, type UFCData, type UFCEvent, type UFCFight, type UFCFighter, type UiConfig, type UnifiedEvent, type UseAuthResult, UserProfileCard, type UserProfileCardProps, type ValidateEventResult, type WalletAdapter, createSecureStoreStorage, getDeviceInfo, isSolanaSeeker, mergeTheme, parseSolanaError, signAndSendBase64Transaction, useAppConfig, useAuth, useClaim, useCreateCustomGame, useCreateGame, useDubs, useDubsTheme, useEvents, useGame, useGames, useHasClaimed, useJoinGame, useNetworkGames, useUFCFightCard };
1069
+ export { AuthGate, type AuthGateProps, type AuthStatus, type AuthenticateParams, type AuthenticateResult, type Bettor, type BuildClaimParams, type BuildClaimResult, type CheckUsernameResult, ClaimButton, type ClaimButtonProps, type ClaimMutationResult, ClaimPrizeSheet, type ClaimPrizeSheetProps, type ClaimStatus, type ConfirmClaimParams, type ConfirmClaimResult, type ConfirmGameParams, type ConfirmGameResult, ConnectWalletScreen, type ConnectWalletScreenProps, type CreateCustomGameMutationResult, type CreateCustomGameParams, type CreateCustomGameResult, CreateCustomGameSheet, type CreateCustomGameSheetProps, type CreateGameMutationResult, type CreateGameParams, type CreateGameResult, DEFAULT_BASE_URL, DEFAULT_RPC_URL, type DeviceInfo, DubsApiError, type DubsAppUser, DubsClient, type DubsClientConfig, type DubsContextValue, type DubsNetwork, DubsProvider, type DubsProviderProps, type DubsPublicUser, type DubsTheme, type DubsUser, type EsportsMatchDetail, type EsportsMatchOpponent, type EsportsMatchResult, type EventMedia, type EventMeta, type EventStream, type GameDetail, type GameListItem, type GameListOpponent, type GameMedia, GamePoster, type GamePosterProps, type GetGamesParams, type GetNetworkGamesParams, type GetUpcomingEventsParams, JoinGameButton, type JoinGameButtonProps, type JoinGameMutationResult, type JoinGameParams, type JoinGameResult, JoinGameSheet, type JoinGameSheetProps, LivePoolsCard, type LivePoolsCardProps, type LiveScore, type LiveScoreCompetitor, type MutationResult, type MutationStatus, type MwaAdapterConfig, type MwaTransactFn, MwaWalletAdapter, NETWORK_CONFIG, type NonceResult, type Opponent, type Pagination, type ParsedError, PhantomDeeplinkAdapter, type PhantomDeeplinkAdapterConfig, type PhantomSession, PickWinnerCard, type PickWinnerCardProps, PlayersCard, type PlayersCardProps, type QueryResult, type RegisterParams, type RegisterResult, type RegistrationScreenProps, SOLANA_PROGRAM_ERRORS, STORAGE_KEYS, SettingsSheet, type SettingsSheetProps, type SolanaErrorCode, type TokenStorage, type UFCData, type UFCEvent, type UFCFight, type UFCFighter, type UFCFighterDetail, type UiConfig, type UnifiedEvent, type UseAuthResult, UserProfileCard, type UserProfileCardProps, type ValidateEventResult, type WalletAdapter, createSecureStoreStorage, getDeviceInfo, isSolanaSeeker, mergeTheme, parseSolanaError, signAndSendBase64Transaction, useAppConfig, useAuth, useClaim, useCreateCustomGame, useCreateGame, useDubs, useDubsTheme, useEvents, useGame, useGames, useHasClaimed, useJoinGame, useNetworkGames, useUFCFightCard, useUFCFighterDetail };
package/dist/index.d.ts CHANGED
@@ -343,11 +343,42 @@ interface LiveScore {
343
343
  }
344
344
  interface UFCFighter {
345
345
  name: string;
346
- imageUrl: string | null;
346
+ athleteId: string | null;
347
+ headshotUrl: string | null;
348
+ flagUrl: string | null;
349
+ country: string | null;
347
350
  abbreviation: string;
348
351
  record: string | null;
349
352
  winner: boolean;
350
353
  }
354
+ interface UFCFighterDetail {
355
+ athleteId: string;
356
+ firstName: string | null;
357
+ lastName: string | null;
358
+ fullName: string | null;
359
+ nickname: string | null;
360
+ shortName: string | null;
361
+ height: string | null;
362
+ heightInches: number | null;
363
+ weight: string | null;
364
+ weightLbs: number | null;
365
+ reach: string | null;
366
+ reachInches: number | null;
367
+ age: number | null;
368
+ dateOfBirth: string | null;
369
+ stance: string | null;
370
+ weightClass: string | null;
371
+ citizenship: string | null;
372
+ citizenshipAbbreviation: string | null;
373
+ gym: string | null;
374
+ gymCountry: string | null;
375
+ active: boolean;
376
+ headshotUrl: string | null;
377
+ flagUrl: string | null;
378
+ stanceImageUrl: string | null;
379
+ espnUrl: string | null;
380
+ slug: string | null;
381
+ }
351
382
  interface UFCData {
352
383
  currentRound: number;
353
384
  totalRounds: number;
@@ -399,6 +430,7 @@ declare class DubsClient {
399
430
  getEsportsMatches(videogame?: string): Promise<UnifiedEvent[]>;
400
431
  getEsportsMatchDetail(matchId: string | number): Promise<EsportsMatchDetail>;
401
432
  getUFCFightCard(): Promise<UFCEvent[]>;
433
+ getUFCFighterDetail(athleteId: string): Promise<UFCFighterDetail>;
402
434
  validateEvent(id: string): Promise<ValidateEventResult>;
403
435
  createGame(params: CreateGameParams): Promise<CreateGameResult>;
404
436
  joinGame(params: JoinGameParams): Promise<JoinGameResult>;
@@ -849,6 +881,8 @@ declare function useAuth(): UseAuthResult;
849
881
 
850
882
  declare function useUFCFightCard(): QueryResult<UFCEvent[]>;
851
883
 
884
+ declare function useUFCFighterDetail(athleteId: string | null): QueryResult<UFCFighterDetail>;
885
+
852
886
  interface UserProfileCardProps {
853
887
  walletAddress: string;
854
888
  username?: string;
@@ -972,8 +1006,10 @@ interface CreateCustomGameSheetProps {
972
1006
  onAmountChange?: (amount: number | null) => void;
973
1007
  onSuccess?: (result: CreateCustomGameMutationResult) => void;
974
1008
  onError?: (error: Error) => void;
1009
+ /** Pool mode: hides buy-in selection, uses defaultAmount, auto-assigns team, shows "Create Pool" labels */
1010
+ isPoolModeEnabled?: boolean;
975
1011
  }
976
- declare function CreateCustomGameSheet({ visible, onDismiss, title, maxPlayers, fee, presetAmounts, defaultAmount, metadata, onAmountChange, onSuccess, onError, }: CreateCustomGameSheetProps): react_jsx_runtime.JSX.Element;
1012
+ declare function CreateCustomGameSheet({ visible, onDismiss, title, maxPlayers, fee, presetAmounts, defaultAmount, metadata, onAmountChange, onSuccess, onError, isPoolModeEnabled, }: CreateCustomGameSheetProps): react_jsx_runtime.JSX.Element;
977
1013
 
978
1014
  interface JoinGameSheetProps {
979
1015
  visible: boolean;
@@ -989,8 +1025,10 @@ interface JoinGameSheetProps {
989
1025
  /** Callbacks */
990
1026
  onSuccess?: (result: JoinGameMutationResult) => void;
991
1027
  onError?: (error: Error) => void;
1028
+ /** Pool mode: hides team selection, auto-assigns team, shows "Join Pool" labels */
1029
+ isPoolModeEnabled?: boolean;
992
1030
  }
993
- declare function JoinGameSheet({ visible, onDismiss, game, ImageComponent, shortName, homeColor, awayColor, onSuccess, onError, }: JoinGameSheetProps): react_jsx_runtime.JSX.Element;
1031
+ declare function JoinGameSheet({ visible, onDismiss, game, ImageComponent, shortName, homeColor, awayColor, onSuccess, onError, isPoolModeEnabled, }: JoinGameSheetProps): react_jsx_runtime.JSX.Element;
994
1032
 
995
1033
  interface ClaimPrizeSheetProps {
996
1034
  visible: boolean;
@@ -1028,4 +1066,4 @@ declare function ClaimButton({ gameId, style, onSuccess, onError }: ClaimButtonP
1028
1066
  */
1029
1067
  declare function signAndSendBase64Transaction(base64Tx: string, wallet: WalletAdapter, connection: Connection): Promise<string>;
1030
1068
 
1031
- export { AuthGate, type AuthGateProps, type AuthStatus, type AuthenticateParams, type AuthenticateResult, type Bettor, type BuildClaimParams, type BuildClaimResult, type CheckUsernameResult, ClaimButton, type ClaimButtonProps, type ClaimMutationResult, ClaimPrizeSheet, type ClaimPrizeSheetProps, type ClaimStatus, type ConfirmClaimParams, type ConfirmClaimResult, type ConfirmGameParams, type ConfirmGameResult, ConnectWalletScreen, type ConnectWalletScreenProps, type CreateCustomGameMutationResult, type CreateCustomGameParams, type CreateCustomGameResult, CreateCustomGameSheet, type CreateCustomGameSheetProps, type CreateGameMutationResult, type CreateGameParams, type CreateGameResult, DEFAULT_BASE_URL, DEFAULT_RPC_URL, type DeviceInfo, DubsApiError, type DubsAppUser, DubsClient, type DubsClientConfig, type DubsContextValue, type DubsNetwork, DubsProvider, type DubsProviderProps, type DubsPublicUser, type DubsTheme, type DubsUser, type EsportsMatchDetail, type EsportsMatchOpponent, type EsportsMatchResult, type EventMedia, type EventMeta, type EventStream, type GameDetail, type GameListItem, type GameListOpponent, type GameMedia, GamePoster, type GamePosterProps, type GetGamesParams, type GetNetworkGamesParams, type GetUpcomingEventsParams, JoinGameButton, type JoinGameButtonProps, type JoinGameMutationResult, type JoinGameParams, type JoinGameResult, JoinGameSheet, type JoinGameSheetProps, LivePoolsCard, type LivePoolsCardProps, type LiveScore, type LiveScoreCompetitor, type MutationResult, type MutationStatus, type MwaAdapterConfig, type MwaTransactFn, MwaWalletAdapter, NETWORK_CONFIG, type NonceResult, type Opponent, type Pagination, type ParsedError, PhantomDeeplinkAdapter, type PhantomDeeplinkAdapterConfig, type PhantomSession, PickWinnerCard, type PickWinnerCardProps, PlayersCard, type PlayersCardProps, type QueryResult, type RegisterParams, type RegisterResult, type RegistrationScreenProps, SOLANA_PROGRAM_ERRORS, STORAGE_KEYS, SettingsSheet, type SettingsSheetProps, type SolanaErrorCode, type TokenStorage, type UFCData, type UFCEvent, type UFCFight, type UFCFighter, type UiConfig, type UnifiedEvent, type UseAuthResult, UserProfileCard, type UserProfileCardProps, type ValidateEventResult, type WalletAdapter, createSecureStoreStorage, getDeviceInfo, isSolanaSeeker, mergeTheme, parseSolanaError, signAndSendBase64Transaction, useAppConfig, useAuth, useClaim, useCreateCustomGame, useCreateGame, useDubs, useDubsTheme, useEvents, useGame, useGames, useHasClaimed, useJoinGame, useNetworkGames, useUFCFightCard };
1069
+ export { AuthGate, type AuthGateProps, type AuthStatus, type AuthenticateParams, type AuthenticateResult, type Bettor, type BuildClaimParams, type BuildClaimResult, type CheckUsernameResult, ClaimButton, type ClaimButtonProps, type ClaimMutationResult, ClaimPrizeSheet, type ClaimPrizeSheetProps, type ClaimStatus, type ConfirmClaimParams, type ConfirmClaimResult, type ConfirmGameParams, type ConfirmGameResult, ConnectWalletScreen, type ConnectWalletScreenProps, type CreateCustomGameMutationResult, type CreateCustomGameParams, type CreateCustomGameResult, CreateCustomGameSheet, type CreateCustomGameSheetProps, type CreateGameMutationResult, type CreateGameParams, type CreateGameResult, DEFAULT_BASE_URL, DEFAULT_RPC_URL, type DeviceInfo, DubsApiError, type DubsAppUser, DubsClient, type DubsClientConfig, type DubsContextValue, type DubsNetwork, DubsProvider, type DubsProviderProps, type DubsPublicUser, type DubsTheme, type DubsUser, type EsportsMatchDetail, type EsportsMatchOpponent, type EsportsMatchResult, type EventMedia, type EventMeta, type EventStream, type GameDetail, type GameListItem, type GameListOpponent, type GameMedia, GamePoster, type GamePosterProps, type GetGamesParams, type GetNetworkGamesParams, type GetUpcomingEventsParams, JoinGameButton, type JoinGameButtonProps, type JoinGameMutationResult, type JoinGameParams, type JoinGameResult, JoinGameSheet, type JoinGameSheetProps, LivePoolsCard, type LivePoolsCardProps, type LiveScore, type LiveScoreCompetitor, type MutationResult, type MutationStatus, type MwaAdapterConfig, type MwaTransactFn, MwaWalletAdapter, NETWORK_CONFIG, type NonceResult, type Opponent, type Pagination, type ParsedError, PhantomDeeplinkAdapter, type PhantomDeeplinkAdapterConfig, type PhantomSession, PickWinnerCard, type PickWinnerCardProps, PlayersCard, type PlayersCardProps, type QueryResult, type RegisterParams, type RegisterResult, type RegistrationScreenProps, SOLANA_PROGRAM_ERRORS, STORAGE_KEYS, SettingsSheet, type SettingsSheetProps, type SolanaErrorCode, type TokenStorage, type UFCData, type UFCEvent, type UFCFight, type UFCFighter, type UFCFighterDetail, type UiConfig, type UnifiedEvent, type UseAuthResult, UserProfileCard, type UserProfileCardProps, type ValidateEventResult, type WalletAdapter, createSecureStoreStorage, getDeviceInfo, isSolanaSeeker, mergeTheme, parseSolanaError, signAndSendBase64Transaction, useAppConfig, useAuth, useClaim, useCreateCustomGame, useCreateGame, useDubs, useDubsTheme, useEvents, useGame, useGames, useHasClaimed, useJoinGame, useNetworkGames, useUFCFightCard, useUFCFighterDetail };