@liberfi.io/react 0.2.0 → 0.3.0

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/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { PropsWithChildren } from 'react';
3
3
  import * as _liberfi_io_types from '@liberfi.io/types';
4
- import { API, Chain, Token, TokenResolution, TokenCandle, TokenHolder, TokenMarketData, TokenSecurity, TokenStats, Trade, WalletPnl, WalletPortfolioPnls, WalletPortfolios, Portfolio, PortfolioPnl, Activity } from '@liberfi.io/types';
4
+ import { API, Chain, Token, TokenResolution, TokenCandle, TokenHolder, TokenMarketData, TokenSecurity, TokenStats, Trade, LimitOrder, WalletPnl, WalletPortfolioPnls, WalletPortfolios, Portfolio, PortfolioPnl, Activity } from '@liberfi.io/types';
5
5
  import * as _tanstack_react_query from '@tanstack/react-query';
6
6
  import { UseQueryOptions, UseQueryResult, UseInfiniteQueryOptions, InfiniteData, UseInfiniteQueryResult, QueryClient, UseMutationOptions } from '@tanstack/react-query';
7
7
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -253,6 +253,23 @@ declare const tokensQueryKey: (params: UseTokensQueryParams, prefix?: string) =>
253
253
  declare const fetchTokens: (client: _liberfi_io_types.IClient, params: UseTokensQueryParams) => Promise<Token[]>;
254
254
  declare const useTokensQuery: (params: UseTokensQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<Token[], Error, Token[], string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<Token[], Error>;
255
255
 
256
+ /** Parameters for {@link useTokensByCreatorQuery}. */
257
+ interface UseTokensByCreatorQueryParams extends API.GetTokensByCreatorOptions {
258
+ chain: Chain;
259
+ creator: string;
260
+ }
261
+ /**
262
+ * Fetch tokens created by a given wallet ("Dev Tokens" tab).
263
+ *
264
+ * NOTE: The backend does not yet implement a creator-index endpoint, so
265
+ * `Client.getTokensByCreator` throws a `NotImplementedError`. Consumers
266
+ * should gate via `enabled: false` or handle the error with
267
+ * `isNotImplementedError` to render an empty state.
268
+ */
269
+ declare const tokensByCreatorQueryKey: (params: UseTokensByCreatorQueryParams, prefix?: string) => string[];
270
+ declare const fetchTokensByCreator: (client: API.IClient, params: UseTokensByCreatorQueryParams) => Promise<API.CursorList<Token>>;
271
+ declare const useTokensByCreatorQuery: (params: UseTokensByCreatorQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<API.CursorList<Token>, Error, API.CursorList<Token>, string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<API.CursorList<Token>, Error>;
272
+
256
273
  /** Parameters for {@link useTokenStatsQuery}. */
257
274
  interface UseTokenStatsQueryParams {
258
275
  chain: Chain;
@@ -262,6 +279,31 @@ declare const tokenStatsQueryKey: (params: UseTokenStatsQueryParams, prefix?: st
262
279
  declare const fetchTokenStats: (client: _liberfi_io_types.IClient, params: UseTokenStatsQueryParams) => Promise<TokenStats>;
263
280
  declare const useTokenStatsQuery: (params: UseTokenStatsQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<TokenStats, Error, TokenStats, string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<TokenStats, Error>;
264
281
 
282
+ /** Parameters for {@link useTokenTopTradersQuery}. */
283
+ interface UseTokenTopTradersQueryParams extends Omit<API.GetTokenHoldersOptions, "sortBy"> {
284
+ chain: Chain;
285
+ address: string;
286
+ /**
287
+ * Sort field. Defaults to `realizedPnl` (the defining trait of the
288
+ * "Top Traders" view). `holdingUsd` is accepted as a fallback when the
289
+ * backend has not yet enabled realized-PnL sorting on the holders
290
+ * endpoint.
291
+ */
292
+ sortBy?: API.TokenHoldersSortBy;
293
+ }
294
+ /**
295
+ * Fetch the "Top Traders" list for a token.
296
+ *
297
+ * The server exposes top traders through the same `/holders` endpoint but
298
+ * ranked by realized PnL rather than current holdings. This hook is a thin
299
+ * bridge over {@link useTokenHoldersQuery} that pins `sortBy` to
300
+ * `realizedPnl` by default so consumers get a dedicated query cache and a
301
+ * clear semantic name.
302
+ */
303
+ declare const tokenTopTradersQueryKey: (params: UseTokenTopTradersQueryParams, prefix?: string) => string[];
304
+ declare const fetchTokenTopTraders: (client: API.IClient, params: UseTokenTopTradersQueryParams) => Promise<API.CursorList<TokenHolder>>;
305
+ declare const useTokenTopTradersQuery: (params: UseTokenTopTradersQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<API.CursorList<TokenHolder>, Error, API.CursorList<TokenHolder>, string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<API.CursorList<TokenHolder>, Error>;
306
+
265
307
  /** Parameters for {@link useTokenTradesQuery}. */
266
308
  interface UseTokenTradesQueryParams extends API.GetTradesOptions {
267
309
  chain: Chain;
@@ -290,6 +332,23 @@ declare const txSuccessQueryKey: (params: UseTxSuccessQueryParams, prefix?: stri
290
332
  declare const fetchTxSuccess: (client: _liberfi_io_types.IClient, params: UseTxSuccessQueryParams) => Promise<boolean>;
291
333
  declare const useTxSuccessQuery: (params: UseTxSuccessQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<boolean, Error, boolean, string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<boolean, Error>;
292
334
 
335
+ /** Parameters for {@link useWalletLimitOrdersQuery}. */
336
+ interface UseWalletLimitOrdersQueryParams extends API.GetWalletLimitOrdersOptions {
337
+ chain: Chain;
338
+ address: string;
339
+ }
340
+ /**
341
+ * Fetch a wallet's limit orders.
342
+ *
343
+ * NOTE: The backend does not yet implement a limit-orders endpoint, so
344
+ * `Client.getWalletLimitOrders` throws a `NotImplementedError`. Consumers
345
+ * should disable the query (via `enabled: false`) or handle the error with
346
+ * `isNotImplementedError` to render an "Orders coming soon" empty state.
347
+ */
348
+ declare const walletLimitOrdersQueryKey: (params: UseWalletLimitOrdersQueryParams, prefix?: string) => string[];
349
+ declare const fetchWalletLimitOrders: (client: API.IClient, params: UseWalletLimitOrdersQueryParams) => Promise<API.CursorList<LimitOrder>>;
350
+ declare const useWalletLimitOrdersQuery: (params: UseWalletLimitOrdersQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<API.CursorList<LimitOrder>, Error, API.CursorList<LimitOrder>, string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<API.CursorList<LimitOrder>, Error>;
351
+
293
352
  /** Parameters for {@link useWalletPnlQuery}. */
294
353
  interface UseWalletPnlQueryParams {
295
354
  chain: Chain;
@@ -364,6 +423,32 @@ declare const walletPortfolioPnlsByTokensQueryKey: (params: UseWalletPortfolioPn
364
423
  declare const fetchWalletPortfolioPnlsByTokens: (client: _liberfi_io_types.IClient, params: UseWalletPortfolioPnlsByTokensQueryParams) => Promise<PortfolioPnl[]>;
365
424
  declare const useWalletPortfolioPnlsByTokensQuery: (params: UseWalletPortfolioPnlsByTokensQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<PortfolioPnl[], Error, PortfolioPnl[], string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<PortfolioPnl[], Error>;
366
425
 
426
+ /** Parameters for {@link useWalletTokenPositionsQuery}. */
427
+ interface UseWalletTokenPositionsQueryParams extends Omit<API.GetWalletPortfolioPnlsOptions, "positionState"> {
428
+ chain: Chain;
429
+ address: string;
430
+ /** Position state filter. Defaults to `open`. Pass `all` or `closed` as needed. */
431
+ positionState?: API.PositionState;
432
+ }
433
+ /**
434
+ * A wallet's token positions (the "Positions" tab).
435
+ *
436
+ * The server already exposes per-token PnL through the `net-worth/tokens`
437
+ * endpoint (`useWalletPortfolioPnlsQuery`). This hook is a thin bridge
438
+ * that pins `positionState` to `open` by default so consumers don't need
439
+ * to remember the parameter.
440
+ *
441
+ * Returns the same `WalletPortfolioPnls` shape (with `portfolios:
442
+ * PortfolioPnl[]`) — the widget layer then selects the columns relevant
443
+ * to the Positions view (`Bought / Sold / Remaining / PnL`).
444
+ */
445
+ declare const walletTokenPositionsQueryKey: (params: UseWalletTokenPositionsQueryParams, prefix?: string) => string[];
446
+ declare const fetchWalletTokenPositions: (client: API.IClient, params: UseWalletTokenPositionsQueryParams) => Promise<WalletPortfolioPnls>;
447
+ declare const useWalletTokenPositionsQuery: (params: UseWalletTokenPositionsQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<WalletPortfolioPnls, Error, WalletPortfolioPnls, string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<WalletPortfolioPnls, Error>;
448
+
449
+ /** Alias for consumers that only want the rows (not the wallet-level summary). */
450
+ type WalletTokenPosition = PortfolioPnl;
451
+
367
452
  /** Parameters for {@link useWalletTradesQuery}. */
368
453
  interface UseWalletTradesQueryParams extends API.GetTradesOptions {
369
454
  chain: Chain;
@@ -519,4 +604,4 @@ type DexClientProviderProps = PropsWithChildren<{
519
604
  */
520
605
  declare function DexClientProvider({ client, subscribeClient, queryKeyPrefix, children, }: DexClientProviderProps): react_jsx_runtime.JSX.Element;
521
606
 
522
- export { DEFAULT_QUERY_KEY_PREFIX, DexClientContext, type DexClientContextValue, DexClientProvider, type DexClientProviderProps, type InfiniteQueryHookConfig, type InfiniteQueryHookReturn, type LatestBlockCacheResult, type QueryHookConfig, type QueryHookReturn, type SubscriptionOptions, type UseFinalStretchTokensQueryParams, type UseFinalStretchTokensSubscriptionParams, type UseLatestBlockQueryParams, type UseMigratedTokensQueryParams, type UseMigratedTokensSubscriptionParams, type UseNewTokensQueryParams, type UseNewTokensSubscriptionParams, type UseSearchTokensInfiniteQueryParams, type UseSearchTokensQueryParams, type UseSendTxMutationParams, type UseStockTokensQueryParams, type UseStockTokensSubscriptionParams, type UseSwapRouteQueryParams, type UseTokenActivitiesQueryParams, type UseTokenActivitiesSubscriptionParams, type UseTokenCandlesQueryParams, type UseTokenCandlesSubscriptionParams, type UseTokenHoldersQueryParams, type UseTokenMarketDataQueryParams, type UseTokenQueryParams, type UseTokenSecurityQueryParams, type UseTokenStatsQueryParams, type UseTokenSubscriptionParams, type UseTokenTradesQueryParams, type UseTokenTradesSubscriptionParams, type UseTokensQueryParams, type UseTrendingTokensQueryParams, type UseTrendingTokensSubscriptionParams, type UseTxSuccessQueryParams, type UseWalletActivitiesQueryParams, type UseWalletActivitiesSubscriptionParams, type UseWalletPnlQueryParams, type UseWalletPnlSubscriptionParams, type UseWalletPortfolioPnlsByTokensQueryParams, type UseWalletPortfolioPnlsInfiniteQueryParams, type UseWalletPortfolioPnlsQueryParams, type UseWalletPortfolioPnlsSubscriptionParams, type UseWalletPortfoliosByTokensQueryParams, type UseWalletPortfoliosInfiniteQueryParams, type UseWalletPortfoliosQueryParams, type UseWalletPortfoliosSubscriptionParams, type UseWalletTradesQueryParams, type UseWalletTradesSubscriptionParams, createInfiniteQueryHook, createQueryHook, fetchFinalStretchTokens, fetchLatestBlock, fetchMigratedTokens, fetchNewTokens, fetchPresignedUploadUrl, fetchSearchTokens, fetchStockTokens, fetchSwapRoute, fetchToken, fetchTokenActivities, fetchTokenCandles, fetchTokenHolders, fetchTokenMarketData, fetchTokenSecurity, fetchTokenStats, fetchTokenTrades, fetchTokens, fetchTrendingTokens, fetchTxSuccess, fetchWalletActivities, fetchWalletPnl, fetchWalletPortfolioPnls, fetchWalletPortfolioPnlsByTokens, fetchWalletPortfolios, fetchWalletPortfoliosByTokens, fetchWalletTrades, finalStretchTokensQueryKey, getCachedLatestBlock, latestBlockQueryKey, migratedTokensQueryKey, newTokensQueryKey, presignedUploadUrlQueryKey, searchTokensInfiniteQueryKey, searchTokensQueryKey, sendTx, stockTokensQueryKey, swapRouteQueryKey, toKeySegment, toSortedKeySegment, tokenActivitiesQueryKey, tokenCandlesQueryKey, tokenHoldersQueryKey, tokenMarketDataQueryKey, tokenQueryKey, tokenSecurityQueryKey, tokenStatsQueryKey, tokenTradesQueryKey, tokensQueryKey, trendingTokensQueryKey, txSuccessQueryKey, useCachedLatestBlock, useDexClient, useFinalStretchTokensQuery, useFinalStretchTokensSubscription, useLatestBlockCacheReader, useLatestBlockQuery, useMigratedTokensQuery, useMigratedTokensSubscription, useNewTokensQuery, useNewTokensSubscription, usePresignedUploadUrlQuery, useSearchTokensInfiniteQuery, useSearchTokensQuery, useSendTxMutation, useStockTokensQuery, useStockTokensSubscription, useSwapRouteQuery, useTokenActivitiesQuery, useTokenActivitiesSubscription, useTokenCandlesQuery, useTokenCandlesSubscription, useTokenHoldersQuery, useTokenMarketDataQuery, useTokenQuery, useTokenSecurityQuery, useTokenStatsQuery, useTokenSubscription, useTokenTradesQuery, useTokenTradesSubscription, useTokensQuery, useTrendingTokensQuery, useTrendingTokensSubscription, useTxSuccessQuery, useWalletActivitiesQuery, useWalletActivitiesSubscription, useWalletPnlQuery, useWalletPnlSubscription, useWalletPortfolioPnlsByTokensQuery, useWalletPortfolioPnlsInfiniteQuery, useWalletPortfolioPnlsQuery, useWalletPortfolioPnlsSubscription, useWalletPortfoliosByTokensQuery, useWalletPortfoliosInfiniteQuery, useWalletPortfoliosQuery, useWalletPortfoliosSubscription, useWalletTradesQuery, useWalletTradesSubscription, walletActivitiesQueryKey, walletPnlQueryKey, walletPortfolioPnlsByTokensQueryKey, walletPortfolioPnlsInfiniteQueryKey, walletPortfolioPnlsQueryKey, walletPortfoliosByTokensQueryKey, walletPortfoliosInfiniteQueryKey, walletPortfoliosQueryKey, walletTradesQueryKey };
607
+ export { DEFAULT_QUERY_KEY_PREFIX, DexClientContext, type DexClientContextValue, DexClientProvider, type DexClientProviderProps, type InfiniteQueryHookConfig, type InfiniteQueryHookReturn, type LatestBlockCacheResult, type QueryHookConfig, type QueryHookReturn, type SubscriptionOptions, type UseFinalStretchTokensQueryParams, type UseFinalStretchTokensSubscriptionParams, type UseLatestBlockQueryParams, type UseMigratedTokensQueryParams, type UseMigratedTokensSubscriptionParams, type UseNewTokensQueryParams, type UseNewTokensSubscriptionParams, type UseSearchTokensInfiniteQueryParams, type UseSearchTokensQueryParams, type UseSendTxMutationParams, type UseStockTokensQueryParams, type UseStockTokensSubscriptionParams, type UseSwapRouteQueryParams, type UseTokenActivitiesQueryParams, type UseTokenActivitiesSubscriptionParams, type UseTokenCandlesQueryParams, type UseTokenCandlesSubscriptionParams, type UseTokenHoldersQueryParams, type UseTokenMarketDataQueryParams, type UseTokenQueryParams, type UseTokenSecurityQueryParams, type UseTokenStatsQueryParams, type UseTokenSubscriptionParams, type UseTokenTopTradersQueryParams, type UseTokenTradesQueryParams, type UseTokenTradesSubscriptionParams, type UseTokensByCreatorQueryParams, type UseTokensQueryParams, type UseTrendingTokensQueryParams, type UseTrendingTokensSubscriptionParams, type UseTxSuccessQueryParams, type UseWalletActivitiesQueryParams, type UseWalletActivitiesSubscriptionParams, type UseWalletLimitOrdersQueryParams, type UseWalletPnlQueryParams, type UseWalletPnlSubscriptionParams, type UseWalletPortfolioPnlsByTokensQueryParams, type UseWalletPortfolioPnlsInfiniteQueryParams, type UseWalletPortfolioPnlsQueryParams, type UseWalletPortfolioPnlsSubscriptionParams, type UseWalletPortfoliosByTokensQueryParams, type UseWalletPortfoliosInfiniteQueryParams, type UseWalletPortfoliosQueryParams, type UseWalletPortfoliosSubscriptionParams, type UseWalletTokenPositionsQueryParams, type UseWalletTradesQueryParams, type UseWalletTradesSubscriptionParams, type WalletTokenPosition, createInfiniteQueryHook, createQueryHook, fetchFinalStretchTokens, fetchLatestBlock, fetchMigratedTokens, fetchNewTokens, fetchPresignedUploadUrl, fetchSearchTokens, fetchStockTokens, fetchSwapRoute, fetchToken, fetchTokenActivities, fetchTokenCandles, fetchTokenHolders, fetchTokenMarketData, fetchTokenSecurity, fetchTokenStats, fetchTokenTopTraders, fetchTokenTrades, fetchTokens, fetchTokensByCreator, fetchTrendingTokens, fetchTxSuccess, fetchWalletActivities, fetchWalletLimitOrders, fetchWalletPnl, fetchWalletPortfolioPnls, fetchWalletPortfolioPnlsByTokens, fetchWalletPortfolios, fetchWalletPortfoliosByTokens, fetchWalletTokenPositions, fetchWalletTrades, finalStretchTokensQueryKey, getCachedLatestBlock, latestBlockQueryKey, migratedTokensQueryKey, newTokensQueryKey, presignedUploadUrlQueryKey, searchTokensInfiniteQueryKey, searchTokensQueryKey, sendTx, stockTokensQueryKey, swapRouteQueryKey, toKeySegment, toSortedKeySegment, tokenActivitiesQueryKey, tokenCandlesQueryKey, tokenHoldersQueryKey, tokenMarketDataQueryKey, tokenQueryKey, tokenSecurityQueryKey, tokenStatsQueryKey, tokenTopTradersQueryKey, tokenTradesQueryKey, tokensByCreatorQueryKey, tokensQueryKey, trendingTokensQueryKey, txSuccessQueryKey, useCachedLatestBlock, useDexClient, useFinalStretchTokensQuery, useFinalStretchTokensSubscription, useLatestBlockCacheReader, useLatestBlockQuery, useMigratedTokensQuery, useMigratedTokensSubscription, useNewTokensQuery, useNewTokensSubscription, usePresignedUploadUrlQuery, useSearchTokensInfiniteQuery, useSearchTokensQuery, useSendTxMutation, useStockTokensQuery, useStockTokensSubscription, useSwapRouteQuery, useTokenActivitiesQuery, useTokenActivitiesSubscription, useTokenCandlesQuery, useTokenCandlesSubscription, useTokenHoldersQuery, useTokenMarketDataQuery, useTokenQuery, useTokenSecurityQuery, useTokenStatsQuery, useTokenSubscription, useTokenTopTradersQuery, useTokenTradesQuery, useTokenTradesSubscription, useTokensByCreatorQuery, useTokensQuery, useTrendingTokensQuery, useTrendingTokensSubscription, useTxSuccessQuery, useWalletActivitiesQuery, useWalletActivitiesSubscription, useWalletLimitOrdersQuery, useWalletPnlQuery, useWalletPnlSubscription, useWalletPortfolioPnlsByTokensQuery, useWalletPortfolioPnlsInfiniteQuery, useWalletPortfolioPnlsQuery, useWalletPortfolioPnlsSubscription, useWalletPortfoliosByTokensQuery, useWalletPortfoliosInfiniteQuery, useWalletPortfoliosQuery, useWalletPortfoliosSubscription, useWalletTokenPositionsQuery, useWalletTradesQuery, useWalletTradesSubscription, walletActivitiesQueryKey, walletLimitOrdersQueryKey, walletPnlQueryKey, walletPortfolioPnlsByTokensQueryKey, walletPortfolioPnlsInfiniteQueryKey, walletPortfolioPnlsQueryKey, walletPortfoliosByTokensQueryKey, walletPortfoliosInfiniteQueryKey, walletPortfoliosQueryKey, walletTokenPositionsQueryKey, walletTradesQueryKey };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { PropsWithChildren } from 'react';
3
3
  import * as _liberfi_io_types from '@liberfi.io/types';
4
- import { API, Chain, Token, TokenResolution, TokenCandle, TokenHolder, TokenMarketData, TokenSecurity, TokenStats, Trade, WalletPnl, WalletPortfolioPnls, WalletPortfolios, Portfolio, PortfolioPnl, Activity } from '@liberfi.io/types';
4
+ import { API, Chain, Token, TokenResolution, TokenCandle, TokenHolder, TokenMarketData, TokenSecurity, TokenStats, Trade, LimitOrder, WalletPnl, WalletPortfolioPnls, WalletPortfolios, Portfolio, PortfolioPnl, Activity } from '@liberfi.io/types';
5
5
  import * as _tanstack_react_query from '@tanstack/react-query';
6
6
  import { UseQueryOptions, UseQueryResult, UseInfiniteQueryOptions, InfiniteData, UseInfiniteQueryResult, QueryClient, UseMutationOptions } from '@tanstack/react-query';
7
7
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -253,6 +253,23 @@ declare const tokensQueryKey: (params: UseTokensQueryParams, prefix?: string) =>
253
253
  declare const fetchTokens: (client: _liberfi_io_types.IClient, params: UseTokensQueryParams) => Promise<Token[]>;
254
254
  declare const useTokensQuery: (params: UseTokensQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<Token[], Error, Token[], string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<Token[], Error>;
255
255
 
256
+ /** Parameters for {@link useTokensByCreatorQuery}. */
257
+ interface UseTokensByCreatorQueryParams extends API.GetTokensByCreatorOptions {
258
+ chain: Chain;
259
+ creator: string;
260
+ }
261
+ /**
262
+ * Fetch tokens created by a given wallet ("Dev Tokens" tab).
263
+ *
264
+ * NOTE: The backend does not yet implement a creator-index endpoint, so
265
+ * `Client.getTokensByCreator` throws a `NotImplementedError`. Consumers
266
+ * should gate via `enabled: false` or handle the error with
267
+ * `isNotImplementedError` to render an empty state.
268
+ */
269
+ declare const tokensByCreatorQueryKey: (params: UseTokensByCreatorQueryParams, prefix?: string) => string[];
270
+ declare const fetchTokensByCreator: (client: API.IClient, params: UseTokensByCreatorQueryParams) => Promise<API.CursorList<Token>>;
271
+ declare const useTokensByCreatorQuery: (params: UseTokensByCreatorQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<API.CursorList<Token>, Error, API.CursorList<Token>, string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<API.CursorList<Token>, Error>;
272
+
256
273
  /** Parameters for {@link useTokenStatsQuery}. */
257
274
  interface UseTokenStatsQueryParams {
258
275
  chain: Chain;
@@ -262,6 +279,31 @@ declare const tokenStatsQueryKey: (params: UseTokenStatsQueryParams, prefix?: st
262
279
  declare const fetchTokenStats: (client: _liberfi_io_types.IClient, params: UseTokenStatsQueryParams) => Promise<TokenStats>;
263
280
  declare const useTokenStatsQuery: (params: UseTokenStatsQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<TokenStats, Error, TokenStats, string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<TokenStats, Error>;
264
281
 
282
+ /** Parameters for {@link useTokenTopTradersQuery}. */
283
+ interface UseTokenTopTradersQueryParams extends Omit<API.GetTokenHoldersOptions, "sortBy"> {
284
+ chain: Chain;
285
+ address: string;
286
+ /**
287
+ * Sort field. Defaults to `realizedPnl` (the defining trait of the
288
+ * "Top Traders" view). `holdingUsd` is accepted as a fallback when the
289
+ * backend has not yet enabled realized-PnL sorting on the holders
290
+ * endpoint.
291
+ */
292
+ sortBy?: API.TokenHoldersSortBy;
293
+ }
294
+ /**
295
+ * Fetch the "Top Traders" list for a token.
296
+ *
297
+ * The server exposes top traders through the same `/holders` endpoint but
298
+ * ranked by realized PnL rather than current holdings. This hook is a thin
299
+ * bridge over {@link useTokenHoldersQuery} that pins `sortBy` to
300
+ * `realizedPnl` by default so consumers get a dedicated query cache and a
301
+ * clear semantic name.
302
+ */
303
+ declare const tokenTopTradersQueryKey: (params: UseTokenTopTradersQueryParams, prefix?: string) => string[];
304
+ declare const fetchTokenTopTraders: (client: API.IClient, params: UseTokenTopTradersQueryParams) => Promise<API.CursorList<TokenHolder>>;
305
+ declare const useTokenTopTradersQuery: (params: UseTokenTopTradersQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<API.CursorList<TokenHolder>, Error, API.CursorList<TokenHolder>, string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<API.CursorList<TokenHolder>, Error>;
306
+
265
307
  /** Parameters for {@link useTokenTradesQuery}. */
266
308
  interface UseTokenTradesQueryParams extends API.GetTradesOptions {
267
309
  chain: Chain;
@@ -290,6 +332,23 @@ declare const txSuccessQueryKey: (params: UseTxSuccessQueryParams, prefix?: stri
290
332
  declare const fetchTxSuccess: (client: _liberfi_io_types.IClient, params: UseTxSuccessQueryParams) => Promise<boolean>;
291
333
  declare const useTxSuccessQuery: (params: UseTxSuccessQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<boolean, Error, boolean, string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<boolean, Error>;
292
334
 
335
+ /** Parameters for {@link useWalletLimitOrdersQuery}. */
336
+ interface UseWalletLimitOrdersQueryParams extends API.GetWalletLimitOrdersOptions {
337
+ chain: Chain;
338
+ address: string;
339
+ }
340
+ /**
341
+ * Fetch a wallet's limit orders.
342
+ *
343
+ * NOTE: The backend does not yet implement a limit-orders endpoint, so
344
+ * `Client.getWalletLimitOrders` throws a `NotImplementedError`. Consumers
345
+ * should disable the query (via `enabled: false`) or handle the error with
346
+ * `isNotImplementedError` to render an "Orders coming soon" empty state.
347
+ */
348
+ declare const walletLimitOrdersQueryKey: (params: UseWalletLimitOrdersQueryParams, prefix?: string) => string[];
349
+ declare const fetchWalletLimitOrders: (client: API.IClient, params: UseWalletLimitOrdersQueryParams) => Promise<API.CursorList<LimitOrder>>;
350
+ declare const useWalletLimitOrdersQuery: (params: UseWalletLimitOrdersQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<API.CursorList<LimitOrder>, Error, API.CursorList<LimitOrder>, string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<API.CursorList<LimitOrder>, Error>;
351
+
293
352
  /** Parameters for {@link useWalletPnlQuery}. */
294
353
  interface UseWalletPnlQueryParams {
295
354
  chain: Chain;
@@ -364,6 +423,32 @@ declare const walletPortfolioPnlsByTokensQueryKey: (params: UseWalletPortfolioPn
364
423
  declare const fetchWalletPortfolioPnlsByTokens: (client: _liberfi_io_types.IClient, params: UseWalletPortfolioPnlsByTokensQueryParams) => Promise<PortfolioPnl[]>;
365
424
  declare const useWalletPortfolioPnlsByTokensQuery: (params: UseWalletPortfolioPnlsByTokensQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<PortfolioPnl[], Error, PortfolioPnl[], string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<PortfolioPnl[], Error>;
366
425
 
426
+ /** Parameters for {@link useWalletTokenPositionsQuery}. */
427
+ interface UseWalletTokenPositionsQueryParams extends Omit<API.GetWalletPortfolioPnlsOptions, "positionState"> {
428
+ chain: Chain;
429
+ address: string;
430
+ /** Position state filter. Defaults to `open`. Pass `all` or `closed` as needed. */
431
+ positionState?: API.PositionState;
432
+ }
433
+ /**
434
+ * A wallet's token positions (the "Positions" tab).
435
+ *
436
+ * The server already exposes per-token PnL through the `net-worth/tokens`
437
+ * endpoint (`useWalletPortfolioPnlsQuery`). This hook is a thin bridge
438
+ * that pins `positionState` to `open` by default so consumers don't need
439
+ * to remember the parameter.
440
+ *
441
+ * Returns the same `WalletPortfolioPnls` shape (with `portfolios:
442
+ * PortfolioPnl[]`) — the widget layer then selects the columns relevant
443
+ * to the Positions view (`Bought / Sold / Remaining / PnL`).
444
+ */
445
+ declare const walletTokenPositionsQueryKey: (params: UseWalletTokenPositionsQueryParams, prefix?: string) => string[];
446
+ declare const fetchWalletTokenPositions: (client: API.IClient, params: UseWalletTokenPositionsQueryParams) => Promise<WalletPortfolioPnls>;
447
+ declare const useWalletTokenPositionsQuery: (params: UseWalletTokenPositionsQueryParams, options?: Omit<_tanstack_react_query.UseQueryOptions<WalletPortfolioPnls, Error, WalletPortfolioPnls, string[]>, "queryKey" | "queryFn"> | undefined) => _tanstack_react_query.UseQueryResult<WalletPortfolioPnls, Error>;
448
+
449
+ /** Alias for consumers that only want the rows (not the wallet-level summary). */
450
+ type WalletTokenPosition = PortfolioPnl;
451
+
367
452
  /** Parameters for {@link useWalletTradesQuery}. */
368
453
  interface UseWalletTradesQueryParams extends API.GetTradesOptions {
369
454
  chain: Chain;
@@ -519,4 +604,4 @@ type DexClientProviderProps = PropsWithChildren<{
519
604
  */
520
605
  declare function DexClientProvider({ client, subscribeClient, queryKeyPrefix, children, }: DexClientProviderProps): react_jsx_runtime.JSX.Element;
521
606
 
522
- export { DEFAULT_QUERY_KEY_PREFIX, DexClientContext, type DexClientContextValue, DexClientProvider, type DexClientProviderProps, type InfiniteQueryHookConfig, type InfiniteQueryHookReturn, type LatestBlockCacheResult, type QueryHookConfig, type QueryHookReturn, type SubscriptionOptions, type UseFinalStretchTokensQueryParams, type UseFinalStretchTokensSubscriptionParams, type UseLatestBlockQueryParams, type UseMigratedTokensQueryParams, type UseMigratedTokensSubscriptionParams, type UseNewTokensQueryParams, type UseNewTokensSubscriptionParams, type UseSearchTokensInfiniteQueryParams, type UseSearchTokensQueryParams, type UseSendTxMutationParams, type UseStockTokensQueryParams, type UseStockTokensSubscriptionParams, type UseSwapRouteQueryParams, type UseTokenActivitiesQueryParams, type UseTokenActivitiesSubscriptionParams, type UseTokenCandlesQueryParams, type UseTokenCandlesSubscriptionParams, type UseTokenHoldersQueryParams, type UseTokenMarketDataQueryParams, type UseTokenQueryParams, type UseTokenSecurityQueryParams, type UseTokenStatsQueryParams, type UseTokenSubscriptionParams, type UseTokenTradesQueryParams, type UseTokenTradesSubscriptionParams, type UseTokensQueryParams, type UseTrendingTokensQueryParams, type UseTrendingTokensSubscriptionParams, type UseTxSuccessQueryParams, type UseWalletActivitiesQueryParams, type UseWalletActivitiesSubscriptionParams, type UseWalletPnlQueryParams, type UseWalletPnlSubscriptionParams, type UseWalletPortfolioPnlsByTokensQueryParams, type UseWalletPortfolioPnlsInfiniteQueryParams, type UseWalletPortfolioPnlsQueryParams, type UseWalletPortfolioPnlsSubscriptionParams, type UseWalletPortfoliosByTokensQueryParams, type UseWalletPortfoliosInfiniteQueryParams, type UseWalletPortfoliosQueryParams, type UseWalletPortfoliosSubscriptionParams, type UseWalletTradesQueryParams, type UseWalletTradesSubscriptionParams, createInfiniteQueryHook, createQueryHook, fetchFinalStretchTokens, fetchLatestBlock, fetchMigratedTokens, fetchNewTokens, fetchPresignedUploadUrl, fetchSearchTokens, fetchStockTokens, fetchSwapRoute, fetchToken, fetchTokenActivities, fetchTokenCandles, fetchTokenHolders, fetchTokenMarketData, fetchTokenSecurity, fetchTokenStats, fetchTokenTrades, fetchTokens, fetchTrendingTokens, fetchTxSuccess, fetchWalletActivities, fetchWalletPnl, fetchWalletPortfolioPnls, fetchWalletPortfolioPnlsByTokens, fetchWalletPortfolios, fetchWalletPortfoliosByTokens, fetchWalletTrades, finalStretchTokensQueryKey, getCachedLatestBlock, latestBlockQueryKey, migratedTokensQueryKey, newTokensQueryKey, presignedUploadUrlQueryKey, searchTokensInfiniteQueryKey, searchTokensQueryKey, sendTx, stockTokensQueryKey, swapRouteQueryKey, toKeySegment, toSortedKeySegment, tokenActivitiesQueryKey, tokenCandlesQueryKey, tokenHoldersQueryKey, tokenMarketDataQueryKey, tokenQueryKey, tokenSecurityQueryKey, tokenStatsQueryKey, tokenTradesQueryKey, tokensQueryKey, trendingTokensQueryKey, txSuccessQueryKey, useCachedLatestBlock, useDexClient, useFinalStretchTokensQuery, useFinalStretchTokensSubscription, useLatestBlockCacheReader, useLatestBlockQuery, useMigratedTokensQuery, useMigratedTokensSubscription, useNewTokensQuery, useNewTokensSubscription, usePresignedUploadUrlQuery, useSearchTokensInfiniteQuery, useSearchTokensQuery, useSendTxMutation, useStockTokensQuery, useStockTokensSubscription, useSwapRouteQuery, useTokenActivitiesQuery, useTokenActivitiesSubscription, useTokenCandlesQuery, useTokenCandlesSubscription, useTokenHoldersQuery, useTokenMarketDataQuery, useTokenQuery, useTokenSecurityQuery, useTokenStatsQuery, useTokenSubscription, useTokenTradesQuery, useTokenTradesSubscription, useTokensQuery, useTrendingTokensQuery, useTrendingTokensSubscription, useTxSuccessQuery, useWalletActivitiesQuery, useWalletActivitiesSubscription, useWalletPnlQuery, useWalletPnlSubscription, useWalletPortfolioPnlsByTokensQuery, useWalletPortfolioPnlsInfiniteQuery, useWalletPortfolioPnlsQuery, useWalletPortfolioPnlsSubscription, useWalletPortfoliosByTokensQuery, useWalletPortfoliosInfiniteQuery, useWalletPortfoliosQuery, useWalletPortfoliosSubscription, useWalletTradesQuery, useWalletTradesSubscription, walletActivitiesQueryKey, walletPnlQueryKey, walletPortfolioPnlsByTokensQueryKey, walletPortfolioPnlsInfiniteQueryKey, walletPortfolioPnlsQueryKey, walletPortfoliosByTokensQueryKey, walletPortfoliosInfiniteQueryKey, walletPortfoliosQueryKey, walletTradesQueryKey };
607
+ export { DEFAULT_QUERY_KEY_PREFIX, DexClientContext, type DexClientContextValue, DexClientProvider, type DexClientProviderProps, type InfiniteQueryHookConfig, type InfiniteQueryHookReturn, type LatestBlockCacheResult, type QueryHookConfig, type QueryHookReturn, type SubscriptionOptions, type UseFinalStretchTokensQueryParams, type UseFinalStretchTokensSubscriptionParams, type UseLatestBlockQueryParams, type UseMigratedTokensQueryParams, type UseMigratedTokensSubscriptionParams, type UseNewTokensQueryParams, type UseNewTokensSubscriptionParams, type UseSearchTokensInfiniteQueryParams, type UseSearchTokensQueryParams, type UseSendTxMutationParams, type UseStockTokensQueryParams, type UseStockTokensSubscriptionParams, type UseSwapRouteQueryParams, type UseTokenActivitiesQueryParams, type UseTokenActivitiesSubscriptionParams, type UseTokenCandlesQueryParams, type UseTokenCandlesSubscriptionParams, type UseTokenHoldersQueryParams, type UseTokenMarketDataQueryParams, type UseTokenQueryParams, type UseTokenSecurityQueryParams, type UseTokenStatsQueryParams, type UseTokenSubscriptionParams, type UseTokenTopTradersQueryParams, type UseTokenTradesQueryParams, type UseTokenTradesSubscriptionParams, type UseTokensByCreatorQueryParams, type UseTokensQueryParams, type UseTrendingTokensQueryParams, type UseTrendingTokensSubscriptionParams, type UseTxSuccessQueryParams, type UseWalletActivitiesQueryParams, type UseWalletActivitiesSubscriptionParams, type UseWalletLimitOrdersQueryParams, type UseWalletPnlQueryParams, type UseWalletPnlSubscriptionParams, type UseWalletPortfolioPnlsByTokensQueryParams, type UseWalletPortfolioPnlsInfiniteQueryParams, type UseWalletPortfolioPnlsQueryParams, type UseWalletPortfolioPnlsSubscriptionParams, type UseWalletPortfoliosByTokensQueryParams, type UseWalletPortfoliosInfiniteQueryParams, type UseWalletPortfoliosQueryParams, type UseWalletPortfoliosSubscriptionParams, type UseWalletTokenPositionsQueryParams, type UseWalletTradesQueryParams, type UseWalletTradesSubscriptionParams, type WalletTokenPosition, createInfiniteQueryHook, createQueryHook, fetchFinalStretchTokens, fetchLatestBlock, fetchMigratedTokens, fetchNewTokens, fetchPresignedUploadUrl, fetchSearchTokens, fetchStockTokens, fetchSwapRoute, fetchToken, fetchTokenActivities, fetchTokenCandles, fetchTokenHolders, fetchTokenMarketData, fetchTokenSecurity, fetchTokenStats, fetchTokenTopTraders, fetchTokenTrades, fetchTokens, fetchTokensByCreator, fetchTrendingTokens, fetchTxSuccess, fetchWalletActivities, fetchWalletLimitOrders, fetchWalletPnl, fetchWalletPortfolioPnls, fetchWalletPortfolioPnlsByTokens, fetchWalletPortfolios, fetchWalletPortfoliosByTokens, fetchWalletTokenPositions, fetchWalletTrades, finalStretchTokensQueryKey, getCachedLatestBlock, latestBlockQueryKey, migratedTokensQueryKey, newTokensQueryKey, presignedUploadUrlQueryKey, searchTokensInfiniteQueryKey, searchTokensQueryKey, sendTx, stockTokensQueryKey, swapRouteQueryKey, toKeySegment, toSortedKeySegment, tokenActivitiesQueryKey, tokenCandlesQueryKey, tokenHoldersQueryKey, tokenMarketDataQueryKey, tokenQueryKey, tokenSecurityQueryKey, tokenStatsQueryKey, tokenTopTradersQueryKey, tokenTradesQueryKey, tokensByCreatorQueryKey, tokensQueryKey, trendingTokensQueryKey, txSuccessQueryKey, useCachedLatestBlock, useDexClient, useFinalStretchTokensQuery, useFinalStretchTokensSubscription, useLatestBlockCacheReader, useLatestBlockQuery, useMigratedTokensQuery, useMigratedTokensSubscription, useNewTokensQuery, useNewTokensSubscription, usePresignedUploadUrlQuery, useSearchTokensInfiniteQuery, useSearchTokensQuery, useSendTxMutation, useStockTokensQuery, useStockTokensSubscription, useSwapRouteQuery, useTokenActivitiesQuery, useTokenActivitiesSubscription, useTokenCandlesQuery, useTokenCandlesSubscription, useTokenHoldersQuery, useTokenMarketDataQuery, useTokenQuery, useTokenSecurityQuery, useTokenStatsQuery, useTokenSubscription, useTokenTopTradersQuery, useTokenTradesQuery, useTokenTradesSubscription, useTokensByCreatorQuery, useTokensQuery, useTrendingTokensQuery, useTrendingTokensSubscription, useTxSuccessQuery, useWalletActivitiesQuery, useWalletActivitiesSubscription, useWalletLimitOrdersQuery, useWalletPnlQuery, useWalletPnlSubscription, useWalletPortfolioPnlsByTokensQuery, useWalletPortfolioPnlsInfiniteQuery, useWalletPortfolioPnlsQuery, useWalletPortfolioPnlsSubscription, useWalletPortfoliosByTokensQuery, useWalletPortfoliosInfiniteQuery, useWalletPortfoliosQuery, useWalletPortfoliosSubscription, useWalletTokenPositionsQuery, useWalletTradesQuery, useWalletTradesSubscription, walletActivitiesQueryKey, walletLimitOrdersQueryKey, walletPnlQueryKey, walletPortfolioPnlsByTokensQueryKey, walletPortfolioPnlsInfiniteQueryKey, walletPortfolioPnlsQueryKey, walletPortfoliosByTokensQueryKey, walletPortfoliosInfiniteQueryKey, walletPortfoliosQueryKey, walletTokenPositionsQueryKey, walletTradesQueryKey };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var react=require('react'),reactQuery=require('@tanstack/react-query'),jsxRuntime=require('react/jsx-runtime');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/react"]="0.2.0");var f="liberfi",p=react.createContext(null);function a(){let e=react.useContext(p);if(e===null)throw new Error("useDexClient must be used within a DexClientProvider");return e}function n(e){function r(s,y=f){return [y,e.name,...e.queryKey(s)]}function t(s,y){return e.fetch(s,y)}function i(s,y={}){let{client:d,queryKeyPrefix:l}=a();return reactQuery.useQuery({queryKey:r(s,l),queryFn:()=>e.fetch(d,s),...e.defaultOptions,...y})}return {queryKey:r,fetch:t,useQuery:i}}function m(e){function r(i,s=f){return [s,e.name,"infinite",...e.queryKey(i)]}function t(i,s={}){let{client:y,queryKeyPrefix:d}=a();return reactQuery.useInfiniteQuery({queryKey:r(i,d),queryFn:({pageParam:l})=>e.fetch(y,i,l),initialPageParam:void 0,getNextPageParam:l=>l.hasNext?l.endCursor:void 0,...s})}return {queryKey:r,useInfiniteQuery:t}}function o(e){return e==null?"":e instanceof Date?e.toISOString():String(e)}function c(e){return !e||e.length===0?"[]":JSON.stringify([...e].sort())}var {queryKey:z,fetch:Z,useQuery:$}=n({name:"finalStretchTokens",queryKey:e=>[e.chain,o(e.sortBy),o(e.sortDirection),c(e.keywords),c(e.excludeKeywords),c(e.filters)],fetch:(e,{chain:r,...t})=>e.getFinalStretchTokens(r,t)});var {queryKey:C,fetch:ne,useQuery:se}=n({name:"latestBlock",queryKey:e=>[e.chain],fetch:(e,r)=>e.getLatestBlock(r)});function h(e,r,t){let i=C(r,t);return {data:e.getQueryData(i),dataUpdatedAt:e.getQueryState(i)?.dataUpdatedAt??0}}function ae(e){let r=reactQuery.useQueryClient(),{queryKeyPrefix:t}=a();return h(r,e,t)}function ue(e){let r=reactQuery.useQueryClient(),{queryKeyPrefix:t}=a();return react.useCallback(()=>h(r,e,t),[r,e,t])}var {queryKey:fe,fetch:me,useQuery:de}=n({name:"migratedTokens",queryKey:e=>[e.chain,o(e.sortBy),o(e.sortDirection),c(e.keywords),c(e.excludeKeywords),c(e.filters)],fetch:(e,{chain:r,...t})=>e.getMigratedTokens(r,t)});var {queryKey:ke,fetch:Te,useQuery:xe}=n({name:"newTokens",queryKey:e=>[e.chain,o(e.sortBy),o(e.sortDirection),c(e.keywords),c(e.excludeKeywords),c(e.filters)],fetch:(e,{chain:r,...t})=>e.getNewTokens(r,t)});function A(e=f){return [e,"presignedUploadUrl"]}async function I(e){return await e.getPresignedUploadUrl()}function Ae(e={}){let{client:r,queryKeyPrefix:t}=a();return reactQuery.useQuery({queryKey:A(t),queryFn:async()=>I(r),staleTime:0,...e})}var {queryKey:De,fetch:qe,useQuery:We}=n({name:"searchTokens",queryKey:e=>[o(e.cursor),o(e.limit),o(e.direction),c(e.chains),o(e.keyword),c(e.filters),o(e.sortBy),o(e.sortDirection)],fetch:(e,r)=>e.searchTokens(r)});var {queryKey:He,useInfiniteQuery:Ee}=m({name:"searchTokens",queryKey:e=>[o(e.limit),c(e.chains),o(e.keyword),c(e.filters),o(e.sortBy),o(e.sortDirection)],fetch:(e,r,t)=>e.searchTokens({...r,cursor:t})});async function U(e,r){return await e.sendTx(r)}function _e(e={}){let{client:r}=a();return reactQuery.useMutation({mutationFn:async t=>U(r,t),...e})}var {queryKey:Ve,fetch:Ye,useQuery:Xe}=n({name:"stockTokens",queryKey:e=>[e.chain,o(e.sortBy),o(e.sortDirection),c(e.keywords),c(e.excludeKeywords),c(e.filters)],fetch:(e,{chain:r,...t})=>e.getStockTokens(r,t)});var {queryKey:Ze,fetch:$e,useQuery:er}=n({name:"swapRoute",queryKey:e=>[e.chain,e.userAddress,e.input,e.output,e.mode,e.amount,o(e.slippage),o(e.priorityFee),o(e.tipFee),o(e.isAntiMev)],fetch:(e,r)=>e.swapRoute(r)});var {queryKey:ir,fetch:nr,useQuery:sr}=n({name:"tokenCandles",queryKey:e=>[e.chain,e.address,e.resolution,o(e.after),o(e.before),o(e.limit)],fetch:(e,{chain:r,address:t,resolution:i,...s})=>e.getTokenCandles(r,t,i,s)});var {queryKey:lr,fetch:yr,useQuery:fr}=n({name:"tokenHolders",queryKey:e=>[e.chain,e.address,o(e.cursor),o(e.limit),o(e.direction),o(e.sortBy)],fetch:(e,{chain:r,address:t,...i})=>e.getTokenHolders(r,t,i)});var {queryKey:pr,fetch:Pr,useQuery:hr}=n({name:"tokenMarketData",queryKey:e=>[e.chain,e.address],fetch:(e,r)=>e.getTokenMarketData(r.chain,r.address)});var {queryKey:xr,fetch:Sr,useQuery:Qr}=n({name:"token",queryKey:e=>[e.chain,e.address],fetch:(e,r)=>e.getToken(r.chain,r.address)});var {queryKey:gr,fetch:Ar,useQuery:Ir}=n({name:"tokenSecurity",queryKey:e=>[e.chain,e.address],fetch:(e,r)=>e.getTokenSecurity(r.chain,r.address)});var {queryKey:Dr,fetch:qr,useQuery:Wr}=n({name:"tokens",queryKey:e=>[e.chain,[...e.addresses].sort().join(",")],fetch:(e,r)=>e.getTokens(r.chain,r.addresses)});var {queryKey:Br,fetch:Hr,useQuery:Er}=n({name:"tokenStats",queryKey:e=>[e.chain,e.address],fetch:(e,r)=>e.getTokenStats(r.chain,r.address)});var {queryKey:Fr,fetch:_r,useQuery:Mr}=n({name:"tokenTrades",queryKey:e=>[e.chain,e.address,o(e.before),o(e.after),o(e.beforeBlockHeight),o(e.afterBlockHeight),o(e.type),o(e.poolAddress)],fetch:(e,{chain:r,address:t,...i})=>e.getTokenTrades(r,t,i)});var {queryKey:Yr,fetch:Xr,useQuery:Jr}=n({name:"trendingTokens",queryKey:e=>[e.chain,e.resolution,o(e.sortBy),o(e.sortDirection),c(e.keywords),c(e.excludeKeywords),c(e.filters)],fetch:(e,{chain:r,resolution:t,...i})=>e.getTrendingTokens(r,t,i)});var {queryKey:$r,fetch:et,useQuery:rt}=n({name:"txSuccess",queryKey:e=>[e.chain,e.txHash,o(e.timeout)],fetch:(e,{chain:r,txHash:t,timeout:i})=>e.checkTxSuccess(r,t,i)});var {queryKey:nt,fetch:st,useQuery:at}=n({name:"walletPnl",queryKey:e=>[e.chain,e.address,o(e.resolution??"all")],fetch:(e,{chain:r,address:t,resolution:i})=>e.getWalletPnl(r,t,i)});var {queryKey:yt,fetch:ft,useQuery:mt}=n({name:"walletPortfolioPnls",queryKey:e=>[e.chain,e.address,o(e.cursor),o(e.limit),o(e.direction),o(e.resolution),o(e.positionState),o(e.sortBy)],fetch:(e,{chain:r,address:t,...i})=>e.getWalletPortfolioPnls(r,t,i)});var {queryKey:ht,useInfiniteQuery:kt}=m({name:"walletPortfolioPnls",queryKey:e=>[e.chain,e.address,o(e.limit),o(e.resolution),o(e.positionState),o(e.sortBy)],fetch:(e,r,t)=>e.getWalletPortfolioPnls(r.chain,r.address,{cursor:t,limit:r.limit??100,resolution:r.resolution,positionState:r.positionState,sortBy:r.sortBy})});var {queryKey:Qt,fetch:bt,useQuery:Ct}=n({name:"walletPortfolios",queryKey:e=>[e.chain,e.address,o(e.cursor),o(e.limit)],fetch:(e,{chain:r,address:t,cursor:i,limit:s})=>e.getWalletPortfolios(r,t,{cursor:i,limit:s})});var {queryKey:It,fetch:Kt,useQuery:Ut}=n({name:"walletPortfoliosByTokens",queryKey:e=>[e.chain,e.address,...[...e.tokenAddresses].sort()],fetch:(e,{chain:r,address:t,tokenAddresses:i})=>e.getWalletPortfoliosByTokens(r,t,i)});var {queryKey:Ot,useInfiniteQuery:wt}=m({name:"walletPortfolios",queryKey:e=>[e.chain,e.address,o(e.limit)],fetch:(e,r,t)=>e.getWalletPortfolios(r.chain,r.address,{cursor:t,limit:r.limit??100})});var {queryKey:Et,fetch:vt,useQuery:Rt}=n({name:"walletPortfolioPnlsByTokens",queryKey:e=>[e.chain,e.address,...[...e.tokenAddresses].sort()],fetch:(e,{chain:r,address:t,tokenAddresses:i})=>e.getWalletPortfolioPnlsByTokens(r,t,i)});var {queryKey:Mt,fetch:Nt,useQuery:Gt}=n({name:"walletTrades",queryKey:e=>[e.chain,e.address,o(e.before),o(e.after),o(e.beforeBlockHeight),o(e.afterBlockHeight),o(e.type),o(e.poolAddress)],fetch:(e,{chain:r,address:t,...i})=>e.getWalletTrades(r,t,i)});var {queryKey:Jt,fetch:jt,useQuery:zt}=n({name:"tokenActivities",queryKey:e=>[e.chain,e.address,o(e.before),o(e.after),o(e.beforeBlockHeight),o(e.afterBlockHeight),o(e.type),o(e.poolAddress),o(e.sortBy)],fetch:(e,{chain:r,address:t,...i})=>e.getTokenActivities(r,t,i)});var {queryKey:ro,fetch:to,useQuery:oo}=n({name:"walletActivities",queryKey:e=>[e.chain,e.address,o(e.before),o(e.after),o(e.beforeBlockHeight),o(e.afterBlockHeight),o(e.type),o(e.poolAddress),o(e.sortBy)],fetch:(e,{chain:r,address:t,...i})=>e.getWalletActivities(r,t,i)});function u(e,r,t,i){let s=react.useRef(r);s.current=r;let y=react.useRef(i?.onError);y.current=i?.onError,react.useEffect(()=>{if(i?.enabled===false)return;let d;try{d=e(l=>s.current(l));}catch(l){y.current?.(l instanceof Error?l:new Error(String(l)));}return ()=>d?.unsubscribe()},t);}function co(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeToken(e.chain,e.address,s),r,[i,e.chain,e.address,t?.enabled],t);}function mo(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeTokenCandles(e.chain,e.address,e.resolution,s),r,[i,e.chain,e.address,e.resolution,t?.enabled],t);}function ko(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeTokenTrades(e.chain,e.address,s),r,[i,e.chain,e.address,t?.enabled],t);}function Qo(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeWalletPnl(e.chain,e.address,s),r,[i,e.chain,e.address,t?.enabled],t);}function Ao(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeWalletPortfolios(e.chain,e.address,s),r,[i,e.chain,e.address,t?.enabled],t);}function Do(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeWalletPortfolioPnls(e.chain,e.address,s),r,[i,e.chain,e.address,t?.enabled],t);}function wo(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeWalletTrades(e.chain,e.address,s),r,[i,e.chain,e.address,t?.enabled],t);}function vo(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeTokenActivities(e.chain,e.address,s),r,[i,e.chain,e.address,t?.enabled],t);}function _o(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeWalletActivities(e.chain,e.address,s),r,[i,e.chain,e.address,t?.enabled],t);}function Vo(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeNewTokens(e.chain,s),r,[i,e.chain,t?.enabled],t);}function jo(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeTrendingTokens(e.chain,s),r,[i,e.chain,t?.enabled],t);}function ei(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeMigratedTokens(e.chain,s),r,[i,e.chain,t?.enabled],t);}function ii(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeFinalStretchTokens(e.chain,s),r,[i,e.chain,t?.enabled],t);}function ui(e,r,t){let{subscribeClient:i}=a();u(s=>i.subscribeStockTokens(e.chain,s),r,[i,e.chain,t?.enabled],t);}function ln({client:e,subscribeClient:r,queryKeyPrefix:t=f,children:i}){let s=react.useMemo(()=>({client:e,subscribeClient:r,queryKeyPrefix:t}),[e,r,t]);return jsxRuntime.jsx(p.Provider,{value:s,children:i})}exports.DEFAULT_QUERY_KEY_PREFIX=f;exports.DexClientContext=p;exports.DexClientProvider=ln;exports.createInfiniteQueryHook=m;exports.createQueryHook=n;exports.fetchFinalStretchTokens=Z;exports.fetchLatestBlock=ne;exports.fetchMigratedTokens=me;exports.fetchNewTokens=Te;exports.fetchPresignedUploadUrl=I;exports.fetchSearchTokens=qe;exports.fetchStockTokens=Ye;exports.fetchSwapRoute=$e;exports.fetchToken=Sr;exports.fetchTokenActivities=jt;exports.fetchTokenCandles=nr;exports.fetchTokenHolders=yr;exports.fetchTokenMarketData=Pr;exports.fetchTokenSecurity=Ar;exports.fetchTokenStats=Hr;exports.fetchTokenTrades=_r;exports.fetchTokens=qr;exports.fetchTrendingTokens=Xr;exports.fetchTxSuccess=et;exports.fetchWalletActivities=to;exports.fetchWalletPnl=st;exports.fetchWalletPortfolioPnls=ft;exports.fetchWalletPortfolioPnlsByTokens=vt;exports.fetchWalletPortfolios=bt;exports.fetchWalletPortfoliosByTokens=Kt;exports.fetchWalletTrades=Nt;exports.finalStretchTokensQueryKey=z;exports.getCachedLatestBlock=h;exports.latestBlockQueryKey=C;exports.migratedTokensQueryKey=fe;exports.newTokensQueryKey=ke;exports.presignedUploadUrlQueryKey=A;exports.searchTokensInfiniteQueryKey=He;exports.searchTokensQueryKey=De;exports.sendTx=U;exports.stockTokensQueryKey=Ve;exports.swapRouteQueryKey=Ze;exports.toKeySegment=o;exports.toSortedKeySegment=c;exports.tokenActivitiesQueryKey=Jt;exports.tokenCandlesQueryKey=ir;exports.tokenHoldersQueryKey=lr;exports.tokenMarketDataQueryKey=pr;exports.tokenQueryKey=xr;exports.tokenSecurityQueryKey=gr;exports.tokenStatsQueryKey=Br;exports.tokenTradesQueryKey=Fr;exports.tokensQueryKey=Dr;exports.trendingTokensQueryKey=Yr;exports.txSuccessQueryKey=$r;exports.useCachedLatestBlock=ae;exports.useDexClient=a;exports.useFinalStretchTokensQuery=$;exports.useFinalStretchTokensSubscription=ii;exports.useLatestBlockCacheReader=ue;exports.useLatestBlockQuery=se;exports.useMigratedTokensQuery=de;exports.useMigratedTokensSubscription=ei;exports.useNewTokensQuery=xe;exports.useNewTokensSubscription=Vo;exports.usePresignedUploadUrlQuery=Ae;exports.useSearchTokensInfiniteQuery=Ee;exports.useSearchTokensQuery=We;exports.useSendTxMutation=_e;exports.useStockTokensQuery=Xe;exports.useStockTokensSubscription=ui;exports.useSwapRouteQuery=er;exports.useTokenActivitiesQuery=zt;exports.useTokenActivitiesSubscription=vo;exports.useTokenCandlesQuery=sr;exports.useTokenCandlesSubscription=mo;exports.useTokenHoldersQuery=fr;exports.useTokenMarketDataQuery=hr;exports.useTokenQuery=Qr;exports.useTokenSecurityQuery=Ir;exports.useTokenStatsQuery=Er;exports.useTokenSubscription=co;exports.useTokenTradesQuery=Mr;exports.useTokenTradesSubscription=ko;exports.useTokensQuery=Wr;exports.useTrendingTokensQuery=Jr;exports.useTrendingTokensSubscription=jo;exports.useTxSuccessQuery=rt;exports.useWalletActivitiesQuery=oo;exports.useWalletActivitiesSubscription=_o;exports.useWalletPnlQuery=at;exports.useWalletPnlSubscription=Qo;exports.useWalletPortfolioPnlsByTokensQuery=Rt;exports.useWalletPortfolioPnlsInfiniteQuery=kt;exports.useWalletPortfolioPnlsQuery=mt;exports.useWalletPortfolioPnlsSubscription=Do;exports.useWalletPortfoliosByTokensQuery=Ut;exports.useWalletPortfoliosInfiniteQuery=wt;exports.useWalletPortfoliosQuery=Ct;exports.useWalletPortfoliosSubscription=Ao;exports.useWalletTradesQuery=Gt;exports.useWalletTradesSubscription=wo;exports.walletActivitiesQueryKey=ro;exports.walletPnlQueryKey=nt;exports.walletPortfolioPnlsByTokensQueryKey=Et;exports.walletPortfolioPnlsInfiniteQueryKey=ht;exports.walletPortfolioPnlsQueryKey=yt;exports.walletPortfoliosByTokensQueryKey=It;exports.walletPortfoliosInfiniteQueryKey=Ot;exports.walletPortfoliosQueryKey=Qt;exports.walletTradesQueryKey=Mt;//# sourceMappingURL=index.js.map
1
+ 'use strict';var react=require('react'),reactQuery=require('@tanstack/react-query'),jsxRuntime=require('react/jsx-runtime');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/react"]="0.3.0");var f="liberfi",P=react.createContext(null);function a(){let e=react.useContext(P);if(e===null)throw new Error("useDexClient must be used within a DexClientProvider");return e}function n(e){function r(s,y=f){return [y,e.name,...e.queryKey(s)]}function o(s,y){return e.fetch(s,y)}function i(s,y={}){let{client:d,queryKeyPrefix:l}=a();return reactQuery.useQuery({queryKey:r(s,l),queryFn:()=>e.fetch(d,s),...e.defaultOptions,...y})}return {queryKey:r,fetch:o,useQuery:i}}function m(e){function r(i,s=f){return [s,e.name,"infinite",...e.queryKey(i)]}function o(i,s={}){let{client:y,queryKeyPrefix:d}=a();return reactQuery.useInfiniteQuery({queryKey:r(i,d),queryFn:({pageParam:l})=>e.fetch(y,i,l),initialPageParam:void 0,getNextPageParam:l=>l.hasNext?l.endCursor:void 0,...s})}return {queryKey:r,useInfiniteQuery:o}}function t(e){return e==null?"":e instanceof Date?e.toISOString():String(e)}function c(e){return !e||e.length===0?"[]":JSON.stringify([...e].sort())}var {queryKey:j,fetch:Z,useQuery:$}=n({name:"finalStretchTokens",queryKey:e=>[e.chain,t(e.sortBy),t(e.sortDirection),c(e.keywords),c(e.excludeKeywords),c(e.filters)],fetch:(e,{chain:r,...o})=>e.getFinalStretchTokens(r,o)});var {queryKey:C,fetch:ne,useQuery:se}=n({name:"latestBlock",queryKey:e=>[e.chain],fetch:(e,r)=>e.getLatestBlock(r)});function k(e,r,o){let i=C(r,o);return {data:e.getQueryData(i),dataUpdatedAt:e.getQueryState(i)?.dataUpdatedAt??0}}function ae(e){let r=reactQuery.useQueryClient(),{queryKeyPrefix:o}=a();return k(r,e,o)}function ue(e){let r=reactQuery.useQueryClient(),{queryKeyPrefix:o}=a();return react.useCallback(()=>k(r,e,o),[r,e,o])}var {queryKey:fe,fetch:me,useQuery:de}=n({name:"migratedTokens",queryKey:e=>[e.chain,t(e.sortBy),t(e.sortDirection),c(e.keywords),c(e.excludeKeywords),c(e.filters)],fetch:(e,{chain:r,...o})=>e.getMigratedTokens(r,o)});var {queryKey:he,fetch:Te,useQuery:xe}=n({name:"newTokens",queryKey:e=>[e.chain,t(e.sortBy),t(e.sortDirection),c(e.keywords),c(e.excludeKeywords),c(e.filters)],fetch:(e,{chain:r,...o})=>e.getNewTokens(r,o)});function A(e=f){return [e,"presignedUploadUrl"]}async function I(e){return await e.getPresignedUploadUrl()}function Ae(e={}){let{client:r,queryKeyPrefix:o}=a();return reactQuery.useQuery({queryKey:A(o),queryFn:async()=>I(r),staleTime:0,...e})}var {queryKey:qe,fetch:We,useQuery:De}=n({name:"searchTokens",queryKey:e=>[t(e.cursor),t(e.limit),t(e.direction),c(e.chains),t(e.keyword),c(e.filters),t(e.sortBy),t(e.sortDirection)],fetch:(e,r)=>e.searchTokens(r)});var {queryKey:we,useInfiniteQuery:Ee}=m({name:"searchTokens",queryKey:e=>[t(e.limit),c(e.chains),t(e.keyword),c(e.filters),t(e.sortBy),t(e.sortDirection)],fetch:(e,r,o)=>e.searchTokens({...r,cursor:o})});async function U(e,r){return await e.sendTx(r)}function _e(e={}){let{client:r}=a();return reactQuery.useMutation({mutationFn:async o=>U(r,o),...e})}var {queryKey:Ve,fetch:Ye,useQuery:Xe}=n({name:"stockTokens",queryKey:e=>[e.chain,t(e.sortBy),t(e.sortDirection),c(e.keywords),c(e.excludeKeywords),c(e.filters)],fetch:(e,{chain:r,...o})=>e.getStockTokens(r,o)});var {queryKey:Ze,fetch:$e,useQuery:er}=n({name:"swapRoute",queryKey:e=>[e.chain,e.userAddress,e.input,e.output,e.mode,e.amount,t(e.slippage),t(e.priorityFee),t(e.tipFee),t(e.isAntiMev)],fetch:(e,r)=>e.swapRoute(r)});var {queryKey:ir,fetch:nr,useQuery:sr}=n({name:"tokenCandles",queryKey:e=>[e.chain,e.address,e.resolution,t(e.after),t(e.before),t(e.limit)],fetch:(e,{chain:r,address:o,resolution:i,...s})=>e.getTokenCandles(r,o,i,s)});var {queryKey:lr,fetch:yr,useQuery:fr}=n({name:"tokenHolders",queryKey:e=>[e.chain,e.address,t(e.cursor),t(e.limit),t(e.direction),t(e.sortBy)],fetch:(e,{chain:r,address:o,...i})=>e.getTokenHolders(r,o,i)});var {queryKey:Pr,fetch:pr,useQuery:kr}=n({name:"tokenMarketData",queryKey:e=>[e.chain,e.address],fetch:(e,r)=>e.getTokenMarketData(r.chain,r.address)});var {queryKey:xr,fetch:Qr,useQuery:Sr}=n({name:"token",queryKey:e=>[e.chain,e.address],fetch:(e,r)=>e.getToken(r.chain,r.address)});var {queryKey:gr,fetch:Ar,useQuery:Ir}=n({name:"tokenSecurity",queryKey:e=>[e.chain,e.address],fetch:(e,r)=>e.getTokenSecurity(r.chain,r.address)});var {queryKey:qr,fetch:Wr,useQuery:Dr}=n({name:"tokens",queryKey:e=>[e.chain,[...e.addresses].sort().join(",")],fetch:(e,r)=>e.getTokens(r.chain,r.addresses)});var {queryKey:wr,fetch:Er,useQuery:vr}=n({name:"tokensByCreator",queryKey:e=>[e.chain,e.creator,t(e.sortBy),t(e.sortDirection),t(e.cursor),t(e.limit),t(e.direction)],fetch:(e,{chain:r,creator:o,...i})=>e.getTokensByCreator(r,o,i),defaultOptions:{retry:false}});var {queryKey:Fr,fetch:_r,useQuery:Mr}=n({name:"tokenStats",queryKey:e=>[e.chain,e.address],fetch:(e,r)=>e.getTokenStats(r.chain,r.address)});var {queryKey:Yr,fetch:Xr,useQuery:zr}=n({name:"tokenTopTraders",queryKey:e=>[e.chain,e.address,t(e.cursor),t(e.limit),t(e.direction),t(e.sortBy??"realizedPnl")],fetch:(e,{chain:r,address:o,sortBy:i,...s})=>e.getTokenHolders(r,o,{...s,sortBy:i??"realizedPnl"})});var {queryKey:$r,fetch:et,useQuery:rt}=n({name:"tokenTrades",queryKey:e=>[e.chain,e.address,t(e.before),t(e.after),t(e.beforeBlockHeight),t(e.afterBlockHeight),t(e.type),t(e.poolAddress)],fetch:(e,{chain:r,address:o,...i})=>e.getTokenTrades(r,o,i)});var {queryKey:nt,fetch:st,useQuery:at}=n({name:"trendingTokens",queryKey:e=>[e.chain,e.resolution,t(e.sortBy),t(e.sortDirection),c(e.keywords),c(e.excludeKeywords),c(e.filters)],fetch:(e,{chain:r,resolution:o,...i})=>e.getTrendingTokens(r,o,i)});var {queryKey:yt,fetch:ft,useQuery:mt}=n({name:"txSuccess",queryKey:e=>[e.chain,e.txHash,t(e.timeout)],fetch:(e,{chain:r,txHash:o,timeout:i})=>e.checkTxSuccess(r,o,i)});var {queryKey:kt,fetch:ht,useQuery:Tt}=n({name:"walletLimitOrders",queryKey:e=>[e.chain,e.address,t(e.state),t(e.tokenAddress),t(e.cursor),t(e.limit),t(e.direction)],fetch:(e,{chain:r,address:o,...i})=>e.getWalletLimitOrders(r,o,i),defaultOptions:{retry:false}});var {queryKey:bt,fetch:Ct,useQuery:gt}=n({name:"walletPnl",queryKey:e=>[e.chain,e.address,t(e.resolution??"all")],fetch:(e,{chain:r,address:o,resolution:i})=>e.getWalletPnl(r,o,i)});var {queryKey:Ut,fetch:qt,useQuery:Wt}=n({name:"walletPortfolioPnls",queryKey:e=>[e.chain,e.address,t(e.cursor),t(e.limit),t(e.direction),t(e.resolution),t(e.positionState),t(e.sortBy)],fetch:(e,{chain:r,address:o,...i})=>e.getWalletPortfolioPnls(r,o,i)});var {queryKey:Ht,useInfiniteQuery:wt}=m({name:"walletPortfolioPnls",queryKey:e=>[e.chain,e.address,t(e.limit),t(e.resolution),t(e.positionState),t(e.sortBy)],fetch:(e,r,o)=>e.getWalletPortfolioPnls(r.chain,r.address,{cursor:o,limit:r.limit??100,resolution:r.resolution,positionState:r.positionState,sortBy:r.sortBy})});var {queryKey:Lt,fetch:Ft,useQuery:_t}=n({name:"walletPortfolios",queryKey:e=>[e.chain,e.address,t(e.cursor),t(e.limit)],fetch:(e,{chain:r,address:o,cursor:i,limit:s})=>e.getWalletPortfolios(r,o,{cursor:i,limit:s})});var {queryKey:Gt,fetch:Vt,useQuery:Yt}=n({name:"walletPortfoliosByTokens",queryKey:e=>[e.chain,e.address,...[...e.tokenAddresses].sort()],fetch:(e,{chain:r,address:o,tokenAddresses:i})=>e.getWalletPortfoliosByTokens(r,o,i)});var {queryKey:jt,useInfiniteQuery:Zt}=m({name:"walletPortfolios",queryKey:e=>[e.chain,e.address,t(e.limit)],fetch:(e,r,o)=>e.getWalletPortfolios(r.chain,r.address,{cursor:o,limit:r.limit??100})});var {queryKey:ro,fetch:to,useQuery:oo}=n({name:"walletPortfolioPnlsByTokens",queryKey:e=>[e.chain,e.address,...[...e.tokenAddresses].sort()],fetch:(e,{chain:r,address:o,tokenAddresses:i})=>e.getWalletPortfolioPnlsByTokens(r,o,i)});var {queryKey:ao,fetch:uo,useQuery:co}=n({name:"walletTokenPositions",queryKey:e=>[e.chain,e.address,t(e.cursor),t(e.limit),t(e.direction),t(e.resolution),t(e.positionState??"open"),t(e.sortBy)],fetch:(e,{chain:r,address:o,positionState:i,...s})=>e.getWalletPortfolioPnls(r,o,{...s,positionState:i??"open"})});var {queryKey:mo,fetch:Po,useQuery:po}=n({name:"walletTrades",queryKey:e=>[e.chain,e.address,t(e.before),t(e.after),t(e.beforeBlockHeight),t(e.afterBlockHeight),t(e.type),t(e.poolAddress)],fetch:(e,{chain:r,address:o,...i})=>e.getWalletTrades(r,o,i)});var {queryKey:xo,fetch:Qo,useQuery:So}=n({name:"tokenActivities",queryKey:e=>[e.chain,e.address,t(e.before),t(e.after),t(e.beforeBlockHeight),t(e.afterBlockHeight),t(e.type),t(e.poolAddress),t(e.sortBy)],fetch:(e,{chain:r,address:o,...i})=>e.getTokenActivities(r,o,i)});var {queryKey:Ao,fetch:Io,useQuery:Ko}=n({name:"walletActivities",queryKey:e=>[e.chain,e.address,t(e.before),t(e.after),t(e.beforeBlockHeight),t(e.afterBlockHeight),t(e.type),t(e.poolAddress),t(e.sortBy)],fetch:(e,{chain:r,address:o,...i})=>e.getWalletActivities(r,o,i)});function u(e,r,o,i){let s=react.useRef(r);s.current=r;let y=react.useRef(i?.onError);y.current=i?.onError,react.useEffect(()=>{if(i?.enabled===false)return;let d;try{d=e(l=>s.current(l));}catch(l){y.current?.(l instanceof Error?l:new Error(String(l)));}return ()=>d?.unsubscribe()},o);}function Bo(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeToken(e.chain,e.address,s),r,[i,e.chain,e.address,o?.enabled],o);}function vo(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeTokenCandles(e.chain,e.address,e.resolution,s),r,[i,e.chain,e.address,e.resolution,o?.enabled],o);}function _o(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeTokenTrades(e.chain,e.address,s),r,[i,e.chain,e.address,o?.enabled],o);}function Vo(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeWalletPnl(e.chain,e.address,s),r,[i,e.chain,e.address,o?.enabled],o);}function Jo(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeWalletPortfolios(e.chain,e.address,s),r,[i,e.chain,e.address,o?.enabled],o);}function ei(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeWalletPortfolioPnls(e.chain,e.address,s),r,[i,e.chain,e.address,o?.enabled],o);}function ii(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeWalletTrades(e.chain,e.address,s),r,[i,e.chain,e.address,o?.enabled],o);}function ui(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeTokenActivities(e.chain,e.address,s),r,[i,e.chain,e.address,o?.enabled],o);}function fi(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeWalletActivities(e.chain,e.address,s),r,[i,e.chain,e.address,o?.enabled],o);}function pi(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeNewTokens(e.chain,s),r,[i,e.chain,o?.enabled],o);}function xi(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeTrendingTokens(e.chain,s),r,[i,e.chain,o?.enabled],o);}function Ci(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeMigratedTokens(e.chain,s),r,[i,e.chain,o?.enabled],o);}function Ki(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeFinalStretchTokens(e.chain,s),r,[i,e.chain,o?.enabled],o);}function Di(e,r,o){let{subscribeClient:i}=a();u(s=>i.subscribeStockTokens(e.chain,s),r,[i,e.chain,o?.enabled],o);}function vn({client:e,subscribeClient:r,queryKeyPrefix:o=f,children:i}){let s=react.useMemo(()=>({client:e,subscribeClient:r,queryKeyPrefix:o}),[e,r,o]);return jsxRuntime.jsx(P.Provider,{value:s,children:i})}exports.DEFAULT_QUERY_KEY_PREFIX=f;exports.DexClientContext=P;exports.DexClientProvider=vn;exports.createInfiniteQueryHook=m;exports.createQueryHook=n;exports.fetchFinalStretchTokens=Z;exports.fetchLatestBlock=ne;exports.fetchMigratedTokens=me;exports.fetchNewTokens=Te;exports.fetchPresignedUploadUrl=I;exports.fetchSearchTokens=We;exports.fetchStockTokens=Ye;exports.fetchSwapRoute=$e;exports.fetchToken=Qr;exports.fetchTokenActivities=Qo;exports.fetchTokenCandles=nr;exports.fetchTokenHolders=yr;exports.fetchTokenMarketData=pr;exports.fetchTokenSecurity=Ar;exports.fetchTokenStats=_r;exports.fetchTokenTopTraders=Xr;exports.fetchTokenTrades=et;exports.fetchTokens=Wr;exports.fetchTokensByCreator=Er;exports.fetchTrendingTokens=st;exports.fetchTxSuccess=ft;exports.fetchWalletActivities=Io;exports.fetchWalletLimitOrders=ht;exports.fetchWalletPnl=Ct;exports.fetchWalletPortfolioPnls=qt;exports.fetchWalletPortfolioPnlsByTokens=to;exports.fetchWalletPortfolios=Ft;exports.fetchWalletPortfoliosByTokens=Vt;exports.fetchWalletTokenPositions=uo;exports.fetchWalletTrades=Po;exports.finalStretchTokensQueryKey=j;exports.getCachedLatestBlock=k;exports.latestBlockQueryKey=C;exports.migratedTokensQueryKey=fe;exports.newTokensQueryKey=he;exports.presignedUploadUrlQueryKey=A;exports.searchTokensInfiniteQueryKey=we;exports.searchTokensQueryKey=qe;exports.sendTx=U;exports.stockTokensQueryKey=Ve;exports.swapRouteQueryKey=Ze;exports.toKeySegment=t;exports.toSortedKeySegment=c;exports.tokenActivitiesQueryKey=xo;exports.tokenCandlesQueryKey=ir;exports.tokenHoldersQueryKey=lr;exports.tokenMarketDataQueryKey=Pr;exports.tokenQueryKey=xr;exports.tokenSecurityQueryKey=gr;exports.tokenStatsQueryKey=Fr;exports.tokenTopTradersQueryKey=Yr;exports.tokenTradesQueryKey=$r;exports.tokensByCreatorQueryKey=wr;exports.tokensQueryKey=qr;exports.trendingTokensQueryKey=nt;exports.txSuccessQueryKey=yt;exports.useCachedLatestBlock=ae;exports.useDexClient=a;exports.useFinalStretchTokensQuery=$;exports.useFinalStretchTokensSubscription=Ki;exports.useLatestBlockCacheReader=ue;exports.useLatestBlockQuery=se;exports.useMigratedTokensQuery=de;exports.useMigratedTokensSubscription=Ci;exports.useNewTokensQuery=xe;exports.useNewTokensSubscription=pi;exports.usePresignedUploadUrlQuery=Ae;exports.useSearchTokensInfiniteQuery=Ee;exports.useSearchTokensQuery=De;exports.useSendTxMutation=_e;exports.useStockTokensQuery=Xe;exports.useStockTokensSubscription=Di;exports.useSwapRouteQuery=er;exports.useTokenActivitiesQuery=So;exports.useTokenActivitiesSubscription=ui;exports.useTokenCandlesQuery=sr;exports.useTokenCandlesSubscription=vo;exports.useTokenHoldersQuery=fr;exports.useTokenMarketDataQuery=kr;exports.useTokenQuery=Sr;exports.useTokenSecurityQuery=Ir;exports.useTokenStatsQuery=Mr;exports.useTokenSubscription=Bo;exports.useTokenTopTradersQuery=zr;exports.useTokenTradesQuery=rt;exports.useTokenTradesSubscription=_o;exports.useTokensByCreatorQuery=vr;exports.useTokensQuery=Dr;exports.useTrendingTokensQuery=at;exports.useTrendingTokensSubscription=xi;exports.useTxSuccessQuery=mt;exports.useWalletActivitiesQuery=Ko;exports.useWalletActivitiesSubscription=fi;exports.useWalletLimitOrdersQuery=Tt;exports.useWalletPnlQuery=gt;exports.useWalletPnlSubscription=Vo;exports.useWalletPortfolioPnlsByTokensQuery=oo;exports.useWalletPortfolioPnlsInfiniteQuery=wt;exports.useWalletPortfolioPnlsQuery=Wt;exports.useWalletPortfolioPnlsSubscription=ei;exports.useWalletPortfoliosByTokensQuery=Yt;exports.useWalletPortfoliosInfiniteQuery=Zt;exports.useWalletPortfoliosQuery=_t;exports.useWalletPortfoliosSubscription=Jo;exports.useWalletTokenPositionsQuery=co;exports.useWalletTradesQuery=po;exports.useWalletTradesSubscription=ii;exports.walletActivitiesQueryKey=Ao;exports.walletLimitOrdersQueryKey=kt;exports.walletPnlQueryKey=bt;exports.walletPortfolioPnlsByTokensQueryKey=ro;exports.walletPortfolioPnlsInfiniteQueryKey=Ht;exports.walletPortfolioPnlsQueryKey=Ut;exports.walletPortfoliosByTokensQueryKey=Gt;exports.walletPortfoliosInfiniteQueryKey=jt;exports.walletPortfoliosQueryKey=Lt;exports.walletTokenPositionsQueryKey=ao;exports.walletTradesQueryKey=mo;//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map