@liberfi.io/react 0.1.1
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 +310 -0
- package/dist/index.d.ts +310 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +46 -0
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { PropsWithChildren } from 'react';
|
|
3
|
+
import * as _liberfi_io_types from '@liberfi.io/types';
|
|
4
|
+
import { API, Chain, Token, TokenResolution, TokenCandle, TokenHolder, TokenMarketData, TokenSecurity, TokenStats, TradeActivity, WalletPnl, WalletPortfolioPnls, WalletPortfolios, Portfolio, PortfolioPnl } from '@liberfi.io/types';
|
|
5
|
+
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
6
|
+
import { UseQueryOptions, UseMutationOptions, UseInfiniteQueryOptions, InfiniteData } from '@tanstack/react-query';
|
|
7
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
interface DexClientContextValue {
|
|
10
|
+
client: API.IClient;
|
|
11
|
+
subscribeClient: API.ISubscribeClient;
|
|
12
|
+
}
|
|
13
|
+
declare const DexClientContext: react.Context<DexClientContextValue>;
|
|
14
|
+
|
|
15
|
+
declare function useDexClient(): DexClientContextValue;
|
|
16
|
+
|
|
17
|
+
interface UseFinalStretchTokensQueryParams extends API.GetTokenListOptions {
|
|
18
|
+
chain: Chain;
|
|
19
|
+
}
|
|
20
|
+
declare function finalStretchTokensQueryKey(params: UseFinalStretchTokensQueryParams): string[];
|
|
21
|
+
declare function fetchFinalStretchTokens(client: API.IClient, { chain, ...options }: UseFinalStretchTokensQueryParams): Promise<Token[]>;
|
|
22
|
+
declare function useFinalStretchTokensQuery(params: UseFinalStretchTokensQueryParams, options?: Omit<UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token[], Error>;
|
|
23
|
+
|
|
24
|
+
interface UseMigratedTokensQueryParams extends API.GetTokenListOptions {
|
|
25
|
+
chain: Chain;
|
|
26
|
+
}
|
|
27
|
+
declare function migratedTokensQueryKey(params: UseMigratedTokensQueryParams): string[];
|
|
28
|
+
declare function fetchMigratedTokens(client: API.IClient, { chain, ...options }: UseMigratedTokensQueryParams): Promise<Token[]>;
|
|
29
|
+
declare function useMigratedTokensQuery(params: UseMigratedTokensQueryParams, options?: Omit<UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token[], Error>;
|
|
30
|
+
|
|
31
|
+
interface UseNewTokensQueryParams extends API.GetTokenListOptions {
|
|
32
|
+
chain: Chain;
|
|
33
|
+
}
|
|
34
|
+
declare function newTokensQueryKey(params: UseNewTokensQueryParams): string[];
|
|
35
|
+
declare function fetchNewTokens(client: API.IClient, { chain, ...options }: UseNewTokensQueryParams): Promise<Token[]>;
|
|
36
|
+
declare function useNewTokensQuery(params: UseNewTokensQueryParams, options?: Omit<UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token[], Error>;
|
|
37
|
+
|
|
38
|
+
declare function fetchPresignedUploadUrl(client: API.IClient): Promise<string>;
|
|
39
|
+
declare function usePresignedUploadUrlQuery(options?: Omit<UseQueryOptions<string, Error, string, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<string, Error>;
|
|
40
|
+
|
|
41
|
+
type UseSearchTokensQueryParams = API.SearchTokensOptions;
|
|
42
|
+
declare function searchTokensQueryKey(params: UseSearchTokensQueryParams): string[];
|
|
43
|
+
declare function fetchSearchTokens(client: API.IClient, params: UseSearchTokensQueryParams): Promise<_liberfi_io_types.SearchTokenCursorList>;
|
|
44
|
+
declare function useSearchTokensQuery(params: UseSearchTokensQueryParams, options?: Omit<UseQueryOptions<API.SearchTokenCursorList, Error, API.SearchTokenCursorList, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<_liberfi_io_types.SearchTokenCursorList, Error>;
|
|
45
|
+
|
|
46
|
+
type UseSendTxMutationParams = API.SendTxParams;
|
|
47
|
+
declare function sendTx(client: API.IClient, params: UseSendTxMutationParams): Promise<_liberfi_io_types.SendTxResult>;
|
|
48
|
+
declare function useSendTxMutation(options?: Omit<UseMutationOptions<API.SendTxResult, Error, UseSendTxMutationParams>, "mutationFn">): _tanstack_react_query.UseMutationResult<_liberfi_io_types.SendTxResult, Error, _liberfi_io_types.SendTxParams, unknown>;
|
|
49
|
+
|
|
50
|
+
interface UseStockTokensQueryParams extends API.GetTokenListOptions {
|
|
51
|
+
chain: Chain;
|
|
52
|
+
}
|
|
53
|
+
declare function stockTokensQueryKey(params: UseStockTokensQueryParams): string[];
|
|
54
|
+
declare function fetchStockTokens(client: API.IClient, { chain, ...options }: UseStockTokensQueryParams): Promise<Token[]>;
|
|
55
|
+
declare function useStockTokensQuery(params: UseStockTokensQueryParams, options?: Omit<UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token[], Error>;
|
|
56
|
+
|
|
57
|
+
type UseSwapRouteQueryParams = API.SwapParams;
|
|
58
|
+
declare function swapRouteQueryKey(params: UseSwapRouteQueryParams): string[];
|
|
59
|
+
declare function fetchSwapRoute(client: API.IClient, params: UseSwapRouteQueryParams): Promise<_liberfi_io_types.SwapRoute>;
|
|
60
|
+
declare function useSwapRouteQuery(params: UseSwapRouteQueryParams, options?: Omit<UseQueryOptions<API.SwapRoute, Error, API.SwapRoute, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<_liberfi_io_types.SwapRoute, Error>;
|
|
61
|
+
|
|
62
|
+
interface UseTokenCandlesQueryParams extends API.GetTokenCandlesOptions {
|
|
63
|
+
chain: Chain;
|
|
64
|
+
address: string;
|
|
65
|
+
resolution: TokenResolution;
|
|
66
|
+
}
|
|
67
|
+
declare function tokenCandlesQueryKey(params: UseTokenCandlesQueryParams): string[];
|
|
68
|
+
declare function fetchTokenCandles(client: API.IClient, { chain, address, resolution, ...options }: UseTokenCandlesQueryParams): Promise<TokenCandle[]>;
|
|
69
|
+
declare function useTokenCandlesQuery(params: UseTokenCandlesQueryParams, options?: Omit<UseQueryOptions<Array<TokenCandle>, Error, Array<TokenCandle>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<TokenCandle[], Error>;
|
|
70
|
+
|
|
71
|
+
interface UseTokenHoldersQueryParams extends API.CursorListOptions {
|
|
72
|
+
chain: Chain;
|
|
73
|
+
address: string;
|
|
74
|
+
}
|
|
75
|
+
declare function tokenHoldersQueryKey(params: UseTokenHoldersQueryParams): string[];
|
|
76
|
+
declare function fetchTokenHolders(client: API.IClient, { chain, address, ...options }: UseTokenHoldersQueryParams): Promise<_liberfi_io_types.CursorList<TokenHolder>>;
|
|
77
|
+
declare function useTokenHoldersQuery(params: UseTokenHoldersQueryParams, options?: Omit<UseQueryOptions<API.CursorList<TokenHolder>, Error, API.CursorList<TokenHolder>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<API.CursorList<TokenHolder>, Error>;
|
|
78
|
+
|
|
79
|
+
interface UseTokenMarketDataQueryParams {
|
|
80
|
+
chain: Chain;
|
|
81
|
+
address: string;
|
|
82
|
+
}
|
|
83
|
+
declare function tokenMarketDataQueryKey(params: UseTokenMarketDataQueryParams): string[];
|
|
84
|
+
declare function fetchTokenMarketData(client: API.IClient, { chain, address }: UseTokenMarketDataQueryParams): Promise<TokenMarketData>;
|
|
85
|
+
declare function useTokenMarketDataQuery(params: UseTokenMarketDataQueryParams, options?: Omit<UseQueryOptions<TokenMarketData, Error, TokenMarketData, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<TokenMarketData, Error>;
|
|
86
|
+
|
|
87
|
+
interface UseTokenQueryParams {
|
|
88
|
+
chain: Chain;
|
|
89
|
+
address: string;
|
|
90
|
+
}
|
|
91
|
+
declare function tokenQueryKey(params: UseTokenQueryParams): string[];
|
|
92
|
+
declare function fetchToken(client: API.IClient, { chain, address }: UseTokenQueryParams): Promise<Token>;
|
|
93
|
+
declare function useTokenQuery(params: UseTokenQueryParams, options?: Omit<UseQueryOptions<Token, Error, Token, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token, Error>;
|
|
94
|
+
|
|
95
|
+
interface UseTokenSecurityQueryParams {
|
|
96
|
+
chain: Chain;
|
|
97
|
+
address: string;
|
|
98
|
+
}
|
|
99
|
+
declare function tokenSecurityQueryKey(params: UseTokenSecurityQueryParams): string[];
|
|
100
|
+
declare function fetchTokenSecurity(client: API.IClient, { chain, address }: UseTokenSecurityQueryParams): Promise<TokenSecurity>;
|
|
101
|
+
declare function useTokenSecurityQuery(params: UseTokenSecurityQueryParams, options?: Omit<UseQueryOptions<TokenSecurity, Error, TokenSecurity, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<TokenSecurity, Error>;
|
|
102
|
+
|
|
103
|
+
interface UseTokensQueryParams {
|
|
104
|
+
chain: Chain;
|
|
105
|
+
addresses: Array<string>;
|
|
106
|
+
}
|
|
107
|
+
declare function tokensQueryKey(params: UseTokensQueryParams): string[];
|
|
108
|
+
declare function fetchTokens(client: API.IClient, { chain, addresses }: UseTokensQueryParams): Promise<Token[]>;
|
|
109
|
+
declare function useTokensQuery(params: UseTokensQueryParams, options?: Omit<UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token[], Error>;
|
|
110
|
+
|
|
111
|
+
interface UseTokenStatsQueryParams {
|
|
112
|
+
chain: Chain;
|
|
113
|
+
address: string;
|
|
114
|
+
}
|
|
115
|
+
declare function tokenStatsQueryKey(params: UseTokenStatsQueryParams): string[];
|
|
116
|
+
declare function fetchTokenStats(client: API.IClient, { chain, address }: UseTokenStatsQueryParams): Promise<TokenStats>;
|
|
117
|
+
declare function useTokenStatsQuery(params: UseTokenStatsQueryParams, options?: Omit<UseQueryOptions<TokenStats, Error, TokenStats, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<TokenStats, Error>;
|
|
118
|
+
|
|
119
|
+
interface UseTokenTradeActivitiesQueryParams extends API.GetTradeActivitiesOptions {
|
|
120
|
+
chain: Chain;
|
|
121
|
+
address: string;
|
|
122
|
+
}
|
|
123
|
+
declare function tokenTradeActivitiesQueryKey(params: UseTokenTradeActivitiesQueryParams): string[];
|
|
124
|
+
declare function fetchTokenTradeActivities(client: API.IClient, { chain, address, ...options }: UseTokenTradeActivitiesQueryParams): Promise<_liberfi_io_types.CursorList<TradeActivity>>;
|
|
125
|
+
declare function useTokenTradeActivitiesQuery(params: UseTokenTradeActivitiesQueryParams, options?: Omit<UseQueryOptions<API.CursorList<TradeActivity>, Error, API.CursorList<TradeActivity>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<API.CursorList<TradeActivity>, Error>;
|
|
126
|
+
|
|
127
|
+
interface UseTrendingTokensQueryParams extends API.GetTokenListOptions {
|
|
128
|
+
chain: Chain;
|
|
129
|
+
resolution: "1m" | "5m" | "1h" | "4h" | "24h";
|
|
130
|
+
}
|
|
131
|
+
declare function trendingTokensQueryKey(params: UseTrendingTokensQueryParams): string[];
|
|
132
|
+
declare function fetchTrendingTokens(client: API.IClient, { chain, resolution, ...options }: UseTrendingTokensQueryParams): Promise<Token[]>;
|
|
133
|
+
declare function useTrendingTokensQuery(params: UseTrendingTokensQueryParams, options?: Omit<UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token[], Error>;
|
|
134
|
+
|
|
135
|
+
interface UseTxSuccessQueryParams {
|
|
136
|
+
chain: Chain;
|
|
137
|
+
txHash: string;
|
|
138
|
+
timeout?: number;
|
|
139
|
+
}
|
|
140
|
+
declare function txSuccessQueryKey(params: UseTxSuccessQueryParams): string[];
|
|
141
|
+
declare function fetchTxSuccess(client: API.IClient, { chain, txHash, timeout }: UseTxSuccessQueryParams): Promise<boolean>;
|
|
142
|
+
declare function useTxSuccessQuery(params: UseTxSuccessQueryParams, options?: Omit<UseQueryOptions<boolean, Error, boolean, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<boolean, Error>;
|
|
143
|
+
|
|
144
|
+
interface UseWalletPnlQueryParams {
|
|
145
|
+
chain: Chain;
|
|
146
|
+
address: string;
|
|
147
|
+
resolution?: string;
|
|
148
|
+
}
|
|
149
|
+
declare function walletPnlQueryKey(params: UseWalletPnlQueryParams): string[];
|
|
150
|
+
declare function fetchWalletPnl(client: API.IClient, { chain, address, resolution }: UseWalletPnlQueryParams): Promise<WalletPnl>;
|
|
151
|
+
declare function useWalletPnlQuery(params: UseWalletPnlQueryParams, options?: Omit<UseQueryOptions<WalletPnl, Error, WalletPnl, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<WalletPnl, Error>;
|
|
152
|
+
|
|
153
|
+
interface UseWalletPortfolioPnlsQueryParams {
|
|
154
|
+
chain: Chain;
|
|
155
|
+
address: string;
|
|
156
|
+
cursor?: string;
|
|
157
|
+
limit?: number;
|
|
158
|
+
}
|
|
159
|
+
declare function walletPortfolioPnlsQueryKey(params: UseWalletPortfolioPnlsQueryParams): string[];
|
|
160
|
+
declare function fetchWalletPortfolioPnls(client: API.IClient, { chain, address, cursor, limit }: UseWalletPortfolioPnlsQueryParams): Promise<WalletPortfolioPnls>;
|
|
161
|
+
declare function useWalletPortfolioPnlsQuery(params: UseWalletPortfolioPnlsQueryParams, options?: Omit<UseQueryOptions<WalletPortfolioPnls, Error, WalletPortfolioPnls, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<WalletPortfolioPnls, Error>;
|
|
162
|
+
|
|
163
|
+
interface UseWalletPortfolioPnlsInfiniteQueryParams {
|
|
164
|
+
chain: Chain;
|
|
165
|
+
address: string;
|
|
166
|
+
limit?: number;
|
|
167
|
+
}
|
|
168
|
+
declare function walletPortfolioPnlsInfiniteQueryKey(params: UseWalletPortfolioPnlsInfiniteQueryParams): string[];
|
|
169
|
+
declare function useWalletPortfolioPnlsInfiniteQuery(params: UseWalletPortfolioPnlsInfiniteQueryParams, options?: Omit<UseInfiniteQueryOptions<WalletPortfolioPnls, Error, InfiniteData<WalletPortfolioPnls>, string[], string | undefined>, "queryKey" | "queryFn" | "initialPageParam" | "getNextPageParam">): _tanstack_react_query.UseInfiniteQueryResult<InfiniteData<WalletPortfolioPnls, unknown>, Error>;
|
|
170
|
+
|
|
171
|
+
interface UseWalletPortfoliosQueryParams {
|
|
172
|
+
chain: Chain;
|
|
173
|
+
address: string;
|
|
174
|
+
cursor?: string;
|
|
175
|
+
limit?: number;
|
|
176
|
+
}
|
|
177
|
+
declare function walletPortfoliosQueryKey(params: UseWalletPortfoliosQueryParams): string[];
|
|
178
|
+
declare function fetchWalletPortfolios(client: API.IClient, { chain, address, cursor, limit }: UseWalletPortfoliosQueryParams): Promise<WalletPortfolios>;
|
|
179
|
+
declare function useWalletPortfoliosQuery(params: UseWalletPortfoliosQueryParams, options?: Omit<UseQueryOptions<WalletPortfolios, Error, WalletPortfolios, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<WalletPortfolios, Error>;
|
|
180
|
+
|
|
181
|
+
interface UseWalletPortfoliosByTokensQueryParams {
|
|
182
|
+
chain: Chain;
|
|
183
|
+
address: string;
|
|
184
|
+
tokenAddresses: Array<string>;
|
|
185
|
+
}
|
|
186
|
+
declare function walletPortfoliosByTokensQueryKey(params: UseWalletPortfoliosByTokensQueryParams): string[];
|
|
187
|
+
declare function fetchWalletPortfoliosByTokens(client: API.IClient, { chain, address, tokenAddresses }: UseWalletPortfoliosByTokensQueryParams): Promise<Portfolio[]>;
|
|
188
|
+
declare function useWalletPortfoliosByTokensQuery(params: UseWalletPortfoliosByTokensQueryParams, options?: Omit<UseQueryOptions<Array<Portfolio>, Error, Array<Portfolio>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Portfolio[], Error>;
|
|
189
|
+
|
|
190
|
+
interface UseWalletPortfoliosInfiniteQueryParams {
|
|
191
|
+
chain: Chain;
|
|
192
|
+
address: string;
|
|
193
|
+
limit?: number;
|
|
194
|
+
}
|
|
195
|
+
declare function walletPortfoliosInfiniteQueryKey(params: UseWalletPortfoliosInfiniteQueryParams): string[];
|
|
196
|
+
declare function useWalletPortfoliosInfiniteQuery(params: UseWalletPortfoliosInfiniteQueryParams, options?: Omit<UseInfiniteQueryOptions<WalletPortfolios, Error, InfiniteData<WalletPortfolios>, string[], string | undefined>, "queryKey" | "queryFn" | "initialPageParam" | "getNextPageParam">): _tanstack_react_query.UseInfiniteQueryResult<InfiniteData<WalletPortfolios, unknown>, Error>;
|
|
197
|
+
|
|
198
|
+
interface UseWalletPortfolioPnlsByTokensQueryParams {
|
|
199
|
+
chain: Chain;
|
|
200
|
+
address: string;
|
|
201
|
+
tokenAddresses: Array<string>;
|
|
202
|
+
}
|
|
203
|
+
declare function walletPortfolioPnlsByTokensQueryKey(params: UseWalletPortfolioPnlsByTokensQueryParams): string[];
|
|
204
|
+
declare function fetchWalletPortfolioPnlsByTokens(client: API.IClient, { chain, address, tokenAddresses }: UseWalletPortfolioPnlsByTokensQueryParams): Promise<PortfolioPnl[]>;
|
|
205
|
+
declare function useWalletPortfolioPnlsByTokensQuery(params: UseWalletPortfolioPnlsByTokensQueryParams, options?: Omit<UseQueryOptions<Array<PortfolioPnl>, Error, Array<PortfolioPnl>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<PortfolioPnl[], Error>;
|
|
206
|
+
|
|
207
|
+
interface UseWalletTradeActivitiesQueryParams extends API.GetTradeActivitiesOptions {
|
|
208
|
+
chain: Chain;
|
|
209
|
+
address: string;
|
|
210
|
+
}
|
|
211
|
+
declare function walletTradeActivitiesQueryKey(params: UseWalletTradeActivitiesQueryParams): string[];
|
|
212
|
+
declare function fetchWalletTradeActivities(client: API.IClient, { chain, address, ...options }: UseWalletTradeActivitiesQueryParams): Promise<_liberfi_io_types.CursorList<TradeActivity>>;
|
|
213
|
+
declare function useWalletTradeActivitiesQuery(params: UseWalletTradeActivitiesQueryParams, options?: Omit<UseQueryOptions<API.CursorList<TradeActivity>, Error, API.CursorList<TradeActivity>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<API.CursorList<TradeActivity>, Error>;
|
|
214
|
+
|
|
215
|
+
interface UseTokenSubscriptionParams {
|
|
216
|
+
chain: Chain;
|
|
217
|
+
address: string;
|
|
218
|
+
}
|
|
219
|
+
declare function useTokenSubscription(params: UseTokenSubscriptionParams, callback: (data: Array<API.TokenSubscribed>) => void, options?: {
|
|
220
|
+
enabled?: boolean;
|
|
221
|
+
}): void;
|
|
222
|
+
|
|
223
|
+
interface UseTokenCandlesSubscriptionParams {
|
|
224
|
+
chain: Chain;
|
|
225
|
+
address: string;
|
|
226
|
+
resolution: TokenResolution;
|
|
227
|
+
}
|
|
228
|
+
declare function useTokenCandlesSubscription(params: UseTokenCandlesSubscriptionParams, callback: (candles: Array<TokenCandle>) => void, options?: {
|
|
229
|
+
enabled?: boolean;
|
|
230
|
+
}): void;
|
|
231
|
+
|
|
232
|
+
interface UseTokenTradeActivitiesSubscriptionParams {
|
|
233
|
+
chain: Chain;
|
|
234
|
+
address: string;
|
|
235
|
+
}
|
|
236
|
+
declare function useTokenTradeActivitiesSubscription(params: UseTokenTradeActivitiesSubscriptionParams, callback: (trades: Array<TradeActivity>) => void, options?: {
|
|
237
|
+
enabled?: boolean;
|
|
238
|
+
}): void;
|
|
239
|
+
|
|
240
|
+
interface UseWalletPnlSubscriptionParams {
|
|
241
|
+
chain: Chain;
|
|
242
|
+
address: string;
|
|
243
|
+
}
|
|
244
|
+
declare function useWalletPnlSubscription(params: UseWalletPnlSubscriptionParams, callback: (pnls: Array<API.WalletPnlSubscribed>) => void, options?: {
|
|
245
|
+
enabled?: boolean;
|
|
246
|
+
}): void;
|
|
247
|
+
|
|
248
|
+
interface UseWalletPortfoliosSubscriptionParams {
|
|
249
|
+
chain: Chain;
|
|
250
|
+
address: string;
|
|
251
|
+
}
|
|
252
|
+
declare function useWalletPortfoliosSubscription(params: UseWalletPortfoliosSubscriptionParams, callback: (portfolios: Array<API.PortfolioSubscribed>) => void, options?: {
|
|
253
|
+
enabled?: boolean;
|
|
254
|
+
}): void;
|
|
255
|
+
|
|
256
|
+
interface UseWalletPortfolioPnlsSubscriptionParams {
|
|
257
|
+
chain: Chain;
|
|
258
|
+
address: string;
|
|
259
|
+
}
|
|
260
|
+
declare function useWalletPortfolioPnlsSubscription(params: UseWalletPortfolioPnlsSubscriptionParams, callback: (portfolioPnls: Array<API.PortfolioPnlSubscribed>) => void, options?: {
|
|
261
|
+
enabled?: boolean;
|
|
262
|
+
}): void;
|
|
263
|
+
|
|
264
|
+
interface UseWalletTradeActivitiesSubscriptionParams {
|
|
265
|
+
chain: Chain;
|
|
266
|
+
address: string;
|
|
267
|
+
}
|
|
268
|
+
declare function useWalletTradeActivitiesSubscription(params: UseWalletTradeActivitiesSubscriptionParams, callback: (trades: Array<TradeActivity>) => void, options?: {
|
|
269
|
+
enabled?: boolean;
|
|
270
|
+
}): void;
|
|
271
|
+
|
|
272
|
+
interface UseNewTokensSubscriptionParams {
|
|
273
|
+
chain: Chain;
|
|
274
|
+
}
|
|
275
|
+
declare function useNewTokensSubscription(params: UseNewTokensSubscriptionParams, callback: (tokens: Array<API.TokenSubscribed>) => void, options?: {
|
|
276
|
+
enabled?: boolean;
|
|
277
|
+
}): void;
|
|
278
|
+
|
|
279
|
+
interface UseTrendingTokensSubscriptionParams {
|
|
280
|
+
chain: Chain;
|
|
281
|
+
}
|
|
282
|
+
declare function useTrendingTokensSubscription(params: UseTrendingTokensSubscriptionParams, callback: (data: Array<API.TokenSubscribed>) => void, options?: {
|
|
283
|
+
enabled?: boolean;
|
|
284
|
+
}): void;
|
|
285
|
+
|
|
286
|
+
interface UseMigratedTokensSubscriptionParams {
|
|
287
|
+
chain: Chain;
|
|
288
|
+
}
|
|
289
|
+
declare function useMigratedTokensSubscription(params: UseMigratedTokensSubscriptionParams, callback: (data: Array<API.TokenSubscribed>) => void, options?: {
|
|
290
|
+
enabled?: boolean;
|
|
291
|
+
}): void;
|
|
292
|
+
|
|
293
|
+
interface UseFinalStretchTokensSubscriptionParams {
|
|
294
|
+
chain: Chain;
|
|
295
|
+
}
|
|
296
|
+
declare function useFinalStretchTokensSubscription(params: UseFinalStretchTokensSubscriptionParams, callback: (data: Array<API.TokenSubscribed>) => void, options?: {
|
|
297
|
+
enabled?: boolean;
|
|
298
|
+
}): void;
|
|
299
|
+
|
|
300
|
+
interface UseStockTokensSubscriptionParams {
|
|
301
|
+
chain: Chain;
|
|
302
|
+
}
|
|
303
|
+
declare function useStockTokensSubscription(params: UseStockTokensSubscriptionParams, callback: (data: Array<API.TokenSubscribed>) => void, options?: {
|
|
304
|
+
enabled?: boolean;
|
|
305
|
+
}): void;
|
|
306
|
+
|
|
307
|
+
type DexClientProviderProps = PropsWithChildren<DexClientContextValue>;
|
|
308
|
+
declare function DexClientProvider({ client, subscribeClient, children, }: DexClientProviderProps): react_jsx_runtime.JSX.Element;
|
|
309
|
+
|
|
310
|
+
export { DexClientContext, type DexClientContextValue, DexClientProvider, type DexClientProviderProps, type UseFinalStretchTokensQueryParams, type UseFinalStretchTokensSubscriptionParams, type UseMigratedTokensQueryParams, type UseMigratedTokensSubscriptionParams, type UseNewTokensQueryParams, type UseNewTokensSubscriptionParams, type UseSearchTokensQueryParams, type UseSendTxMutationParams, type UseStockTokensQueryParams, type UseStockTokensSubscriptionParams, type UseSwapRouteQueryParams, type UseTokenCandlesQueryParams, type UseTokenCandlesSubscriptionParams, type UseTokenHoldersQueryParams, type UseTokenMarketDataQueryParams, type UseTokenQueryParams, type UseTokenSecurityQueryParams, type UseTokenStatsQueryParams, type UseTokenSubscriptionParams, type UseTokenTradeActivitiesQueryParams, type UseTokenTradeActivitiesSubscriptionParams, type UseTokensQueryParams, type UseTrendingTokensQueryParams, type UseTrendingTokensSubscriptionParams, type UseTxSuccessQueryParams, type UseWalletPnlQueryParams, type UseWalletPnlSubscriptionParams, type UseWalletPortfolioPnlsByTokensQueryParams, type UseWalletPortfolioPnlsInfiniteQueryParams, type UseWalletPortfolioPnlsQueryParams, type UseWalletPortfolioPnlsSubscriptionParams, type UseWalletPortfoliosByTokensQueryParams, type UseWalletPortfoliosInfiniteQueryParams, type UseWalletPortfoliosQueryParams, type UseWalletPortfoliosSubscriptionParams, type UseWalletTradeActivitiesQueryParams, type UseWalletTradeActivitiesSubscriptionParams, fetchFinalStretchTokens, fetchMigratedTokens, fetchNewTokens, fetchPresignedUploadUrl, fetchSearchTokens, fetchStockTokens, fetchSwapRoute, fetchToken, fetchTokenCandles, fetchTokenHolders, fetchTokenMarketData, fetchTokenSecurity, fetchTokenStats, fetchTokenTradeActivities, fetchTokens, fetchTrendingTokens, fetchTxSuccess, fetchWalletPnl, fetchWalletPortfolioPnls, fetchWalletPortfolioPnlsByTokens, fetchWalletPortfolios, fetchWalletPortfoliosByTokens, fetchWalletTradeActivities, finalStretchTokensQueryKey, migratedTokensQueryKey, newTokensQueryKey, searchTokensQueryKey, sendTx, stockTokensQueryKey, swapRouteQueryKey, tokenCandlesQueryKey, tokenHoldersQueryKey, tokenMarketDataQueryKey, tokenQueryKey, tokenSecurityQueryKey, tokenStatsQueryKey, tokenTradeActivitiesQueryKey, tokensQueryKey, trendingTokensQueryKey, txSuccessQueryKey, useDexClient, useFinalStretchTokensQuery, useFinalStretchTokensSubscription, useMigratedTokensQuery, useMigratedTokensSubscription, useNewTokensQuery, useNewTokensSubscription, usePresignedUploadUrlQuery, useSearchTokensQuery, useSendTxMutation, useStockTokensQuery, useStockTokensSubscription, useSwapRouteQuery, useTokenCandlesQuery, useTokenCandlesSubscription, useTokenHoldersQuery, useTokenMarketDataQuery, useTokenQuery, useTokenSecurityQuery, useTokenStatsQuery, useTokenSubscription, useTokenTradeActivitiesQuery, useTokenTradeActivitiesSubscription, useTokensQuery, useTrendingTokensQuery, useTrendingTokensSubscription, useTxSuccessQuery, useWalletPnlQuery, useWalletPnlSubscription, useWalletPortfolioPnlsByTokensQuery, useWalletPortfolioPnlsInfiniteQuery, useWalletPortfolioPnlsQuery, useWalletPortfolioPnlsSubscription, useWalletPortfoliosByTokensQuery, useWalletPortfoliosInfiniteQuery, useWalletPortfoliosQuery, useWalletPortfoliosSubscription, useWalletTradeActivitiesQuery, useWalletTradeActivitiesSubscription, walletPnlQueryKey, walletPortfolioPnlsByTokensQueryKey, walletPortfolioPnlsInfiniteQueryKey, walletPortfolioPnlsQueryKey, walletPortfoliosByTokensQueryKey, walletPortfoliosInfiniteQueryKey, walletPortfoliosQueryKey, walletTradeActivitiesQueryKey };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { PropsWithChildren } from 'react';
|
|
3
|
+
import * as _liberfi_io_types from '@liberfi.io/types';
|
|
4
|
+
import { API, Chain, Token, TokenResolution, TokenCandle, TokenHolder, TokenMarketData, TokenSecurity, TokenStats, TradeActivity, WalletPnl, WalletPortfolioPnls, WalletPortfolios, Portfolio, PortfolioPnl } from '@liberfi.io/types';
|
|
5
|
+
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
6
|
+
import { UseQueryOptions, UseMutationOptions, UseInfiniteQueryOptions, InfiniteData } from '@tanstack/react-query';
|
|
7
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
interface DexClientContextValue {
|
|
10
|
+
client: API.IClient;
|
|
11
|
+
subscribeClient: API.ISubscribeClient;
|
|
12
|
+
}
|
|
13
|
+
declare const DexClientContext: react.Context<DexClientContextValue>;
|
|
14
|
+
|
|
15
|
+
declare function useDexClient(): DexClientContextValue;
|
|
16
|
+
|
|
17
|
+
interface UseFinalStretchTokensQueryParams extends API.GetTokenListOptions {
|
|
18
|
+
chain: Chain;
|
|
19
|
+
}
|
|
20
|
+
declare function finalStretchTokensQueryKey(params: UseFinalStretchTokensQueryParams): string[];
|
|
21
|
+
declare function fetchFinalStretchTokens(client: API.IClient, { chain, ...options }: UseFinalStretchTokensQueryParams): Promise<Token[]>;
|
|
22
|
+
declare function useFinalStretchTokensQuery(params: UseFinalStretchTokensQueryParams, options?: Omit<UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token[], Error>;
|
|
23
|
+
|
|
24
|
+
interface UseMigratedTokensQueryParams extends API.GetTokenListOptions {
|
|
25
|
+
chain: Chain;
|
|
26
|
+
}
|
|
27
|
+
declare function migratedTokensQueryKey(params: UseMigratedTokensQueryParams): string[];
|
|
28
|
+
declare function fetchMigratedTokens(client: API.IClient, { chain, ...options }: UseMigratedTokensQueryParams): Promise<Token[]>;
|
|
29
|
+
declare function useMigratedTokensQuery(params: UseMigratedTokensQueryParams, options?: Omit<UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token[], Error>;
|
|
30
|
+
|
|
31
|
+
interface UseNewTokensQueryParams extends API.GetTokenListOptions {
|
|
32
|
+
chain: Chain;
|
|
33
|
+
}
|
|
34
|
+
declare function newTokensQueryKey(params: UseNewTokensQueryParams): string[];
|
|
35
|
+
declare function fetchNewTokens(client: API.IClient, { chain, ...options }: UseNewTokensQueryParams): Promise<Token[]>;
|
|
36
|
+
declare function useNewTokensQuery(params: UseNewTokensQueryParams, options?: Omit<UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token[], Error>;
|
|
37
|
+
|
|
38
|
+
declare function fetchPresignedUploadUrl(client: API.IClient): Promise<string>;
|
|
39
|
+
declare function usePresignedUploadUrlQuery(options?: Omit<UseQueryOptions<string, Error, string, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<string, Error>;
|
|
40
|
+
|
|
41
|
+
type UseSearchTokensQueryParams = API.SearchTokensOptions;
|
|
42
|
+
declare function searchTokensQueryKey(params: UseSearchTokensQueryParams): string[];
|
|
43
|
+
declare function fetchSearchTokens(client: API.IClient, params: UseSearchTokensQueryParams): Promise<_liberfi_io_types.SearchTokenCursorList>;
|
|
44
|
+
declare function useSearchTokensQuery(params: UseSearchTokensQueryParams, options?: Omit<UseQueryOptions<API.SearchTokenCursorList, Error, API.SearchTokenCursorList, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<_liberfi_io_types.SearchTokenCursorList, Error>;
|
|
45
|
+
|
|
46
|
+
type UseSendTxMutationParams = API.SendTxParams;
|
|
47
|
+
declare function sendTx(client: API.IClient, params: UseSendTxMutationParams): Promise<_liberfi_io_types.SendTxResult>;
|
|
48
|
+
declare function useSendTxMutation(options?: Omit<UseMutationOptions<API.SendTxResult, Error, UseSendTxMutationParams>, "mutationFn">): _tanstack_react_query.UseMutationResult<_liberfi_io_types.SendTxResult, Error, _liberfi_io_types.SendTxParams, unknown>;
|
|
49
|
+
|
|
50
|
+
interface UseStockTokensQueryParams extends API.GetTokenListOptions {
|
|
51
|
+
chain: Chain;
|
|
52
|
+
}
|
|
53
|
+
declare function stockTokensQueryKey(params: UseStockTokensQueryParams): string[];
|
|
54
|
+
declare function fetchStockTokens(client: API.IClient, { chain, ...options }: UseStockTokensQueryParams): Promise<Token[]>;
|
|
55
|
+
declare function useStockTokensQuery(params: UseStockTokensQueryParams, options?: Omit<UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token[], Error>;
|
|
56
|
+
|
|
57
|
+
type UseSwapRouteQueryParams = API.SwapParams;
|
|
58
|
+
declare function swapRouteQueryKey(params: UseSwapRouteQueryParams): string[];
|
|
59
|
+
declare function fetchSwapRoute(client: API.IClient, params: UseSwapRouteQueryParams): Promise<_liberfi_io_types.SwapRoute>;
|
|
60
|
+
declare function useSwapRouteQuery(params: UseSwapRouteQueryParams, options?: Omit<UseQueryOptions<API.SwapRoute, Error, API.SwapRoute, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<_liberfi_io_types.SwapRoute, Error>;
|
|
61
|
+
|
|
62
|
+
interface UseTokenCandlesQueryParams extends API.GetTokenCandlesOptions {
|
|
63
|
+
chain: Chain;
|
|
64
|
+
address: string;
|
|
65
|
+
resolution: TokenResolution;
|
|
66
|
+
}
|
|
67
|
+
declare function tokenCandlesQueryKey(params: UseTokenCandlesQueryParams): string[];
|
|
68
|
+
declare function fetchTokenCandles(client: API.IClient, { chain, address, resolution, ...options }: UseTokenCandlesQueryParams): Promise<TokenCandle[]>;
|
|
69
|
+
declare function useTokenCandlesQuery(params: UseTokenCandlesQueryParams, options?: Omit<UseQueryOptions<Array<TokenCandle>, Error, Array<TokenCandle>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<TokenCandle[], Error>;
|
|
70
|
+
|
|
71
|
+
interface UseTokenHoldersQueryParams extends API.CursorListOptions {
|
|
72
|
+
chain: Chain;
|
|
73
|
+
address: string;
|
|
74
|
+
}
|
|
75
|
+
declare function tokenHoldersQueryKey(params: UseTokenHoldersQueryParams): string[];
|
|
76
|
+
declare function fetchTokenHolders(client: API.IClient, { chain, address, ...options }: UseTokenHoldersQueryParams): Promise<_liberfi_io_types.CursorList<TokenHolder>>;
|
|
77
|
+
declare function useTokenHoldersQuery(params: UseTokenHoldersQueryParams, options?: Omit<UseQueryOptions<API.CursorList<TokenHolder>, Error, API.CursorList<TokenHolder>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<API.CursorList<TokenHolder>, Error>;
|
|
78
|
+
|
|
79
|
+
interface UseTokenMarketDataQueryParams {
|
|
80
|
+
chain: Chain;
|
|
81
|
+
address: string;
|
|
82
|
+
}
|
|
83
|
+
declare function tokenMarketDataQueryKey(params: UseTokenMarketDataQueryParams): string[];
|
|
84
|
+
declare function fetchTokenMarketData(client: API.IClient, { chain, address }: UseTokenMarketDataQueryParams): Promise<TokenMarketData>;
|
|
85
|
+
declare function useTokenMarketDataQuery(params: UseTokenMarketDataQueryParams, options?: Omit<UseQueryOptions<TokenMarketData, Error, TokenMarketData, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<TokenMarketData, Error>;
|
|
86
|
+
|
|
87
|
+
interface UseTokenQueryParams {
|
|
88
|
+
chain: Chain;
|
|
89
|
+
address: string;
|
|
90
|
+
}
|
|
91
|
+
declare function tokenQueryKey(params: UseTokenQueryParams): string[];
|
|
92
|
+
declare function fetchToken(client: API.IClient, { chain, address }: UseTokenQueryParams): Promise<Token>;
|
|
93
|
+
declare function useTokenQuery(params: UseTokenQueryParams, options?: Omit<UseQueryOptions<Token, Error, Token, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token, Error>;
|
|
94
|
+
|
|
95
|
+
interface UseTokenSecurityQueryParams {
|
|
96
|
+
chain: Chain;
|
|
97
|
+
address: string;
|
|
98
|
+
}
|
|
99
|
+
declare function tokenSecurityQueryKey(params: UseTokenSecurityQueryParams): string[];
|
|
100
|
+
declare function fetchTokenSecurity(client: API.IClient, { chain, address }: UseTokenSecurityQueryParams): Promise<TokenSecurity>;
|
|
101
|
+
declare function useTokenSecurityQuery(params: UseTokenSecurityQueryParams, options?: Omit<UseQueryOptions<TokenSecurity, Error, TokenSecurity, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<TokenSecurity, Error>;
|
|
102
|
+
|
|
103
|
+
interface UseTokensQueryParams {
|
|
104
|
+
chain: Chain;
|
|
105
|
+
addresses: Array<string>;
|
|
106
|
+
}
|
|
107
|
+
declare function tokensQueryKey(params: UseTokensQueryParams): string[];
|
|
108
|
+
declare function fetchTokens(client: API.IClient, { chain, addresses }: UseTokensQueryParams): Promise<Token[]>;
|
|
109
|
+
declare function useTokensQuery(params: UseTokensQueryParams, options?: Omit<UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token[], Error>;
|
|
110
|
+
|
|
111
|
+
interface UseTokenStatsQueryParams {
|
|
112
|
+
chain: Chain;
|
|
113
|
+
address: string;
|
|
114
|
+
}
|
|
115
|
+
declare function tokenStatsQueryKey(params: UseTokenStatsQueryParams): string[];
|
|
116
|
+
declare function fetchTokenStats(client: API.IClient, { chain, address }: UseTokenStatsQueryParams): Promise<TokenStats>;
|
|
117
|
+
declare function useTokenStatsQuery(params: UseTokenStatsQueryParams, options?: Omit<UseQueryOptions<TokenStats, Error, TokenStats, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<TokenStats, Error>;
|
|
118
|
+
|
|
119
|
+
interface UseTokenTradeActivitiesQueryParams extends API.GetTradeActivitiesOptions {
|
|
120
|
+
chain: Chain;
|
|
121
|
+
address: string;
|
|
122
|
+
}
|
|
123
|
+
declare function tokenTradeActivitiesQueryKey(params: UseTokenTradeActivitiesQueryParams): string[];
|
|
124
|
+
declare function fetchTokenTradeActivities(client: API.IClient, { chain, address, ...options }: UseTokenTradeActivitiesQueryParams): Promise<_liberfi_io_types.CursorList<TradeActivity>>;
|
|
125
|
+
declare function useTokenTradeActivitiesQuery(params: UseTokenTradeActivitiesQueryParams, options?: Omit<UseQueryOptions<API.CursorList<TradeActivity>, Error, API.CursorList<TradeActivity>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<API.CursorList<TradeActivity>, Error>;
|
|
126
|
+
|
|
127
|
+
interface UseTrendingTokensQueryParams extends API.GetTokenListOptions {
|
|
128
|
+
chain: Chain;
|
|
129
|
+
resolution: "1m" | "5m" | "1h" | "4h" | "24h";
|
|
130
|
+
}
|
|
131
|
+
declare function trendingTokensQueryKey(params: UseTrendingTokensQueryParams): string[];
|
|
132
|
+
declare function fetchTrendingTokens(client: API.IClient, { chain, resolution, ...options }: UseTrendingTokensQueryParams): Promise<Token[]>;
|
|
133
|
+
declare function useTrendingTokensQuery(params: UseTrendingTokensQueryParams, options?: Omit<UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Token[], Error>;
|
|
134
|
+
|
|
135
|
+
interface UseTxSuccessQueryParams {
|
|
136
|
+
chain: Chain;
|
|
137
|
+
txHash: string;
|
|
138
|
+
timeout?: number;
|
|
139
|
+
}
|
|
140
|
+
declare function txSuccessQueryKey(params: UseTxSuccessQueryParams): string[];
|
|
141
|
+
declare function fetchTxSuccess(client: API.IClient, { chain, txHash, timeout }: UseTxSuccessQueryParams): Promise<boolean>;
|
|
142
|
+
declare function useTxSuccessQuery(params: UseTxSuccessQueryParams, options?: Omit<UseQueryOptions<boolean, Error, boolean, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<boolean, Error>;
|
|
143
|
+
|
|
144
|
+
interface UseWalletPnlQueryParams {
|
|
145
|
+
chain: Chain;
|
|
146
|
+
address: string;
|
|
147
|
+
resolution?: string;
|
|
148
|
+
}
|
|
149
|
+
declare function walletPnlQueryKey(params: UseWalletPnlQueryParams): string[];
|
|
150
|
+
declare function fetchWalletPnl(client: API.IClient, { chain, address, resolution }: UseWalletPnlQueryParams): Promise<WalletPnl>;
|
|
151
|
+
declare function useWalletPnlQuery(params: UseWalletPnlQueryParams, options?: Omit<UseQueryOptions<WalletPnl, Error, WalletPnl, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<WalletPnl, Error>;
|
|
152
|
+
|
|
153
|
+
interface UseWalletPortfolioPnlsQueryParams {
|
|
154
|
+
chain: Chain;
|
|
155
|
+
address: string;
|
|
156
|
+
cursor?: string;
|
|
157
|
+
limit?: number;
|
|
158
|
+
}
|
|
159
|
+
declare function walletPortfolioPnlsQueryKey(params: UseWalletPortfolioPnlsQueryParams): string[];
|
|
160
|
+
declare function fetchWalletPortfolioPnls(client: API.IClient, { chain, address, cursor, limit }: UseWalletPortfolioPnlsQueryParams): Promise<WalletPortfolioPnls>;
|
|
161
|
+
declare function useWalletPortfolioPnlsQuery(params: UseWalletPortfolioPnlsQueryParams, options?: Omit<UseQueryOptions<WalletPortfolioPnls, Error, WalletPortfolioPnls, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<WalletPortfolioPnls, Error>;
|
|
162
|
+
|
|
163
|
+
interface UseWalletPortfolioPnlsInfiniteQueryParams {
|
|
164
|
+
chain: Chain;
|
|
165
|
+
address: string;
|
|
166
|
+
limit?: number;
|
|
167
|
+
}
|
|
168
|
+
declare function walletPortfolioPnlsInfiniteQueryKey(params: UseWalletPortfolioPnlsInfiniteQueryParams): string[];
|
|
169
|
+
declare function useWalletPortfolioPnlsInfiniteQuery(params: UseWalletPortfolioPnlsInfiniteQueryParams, options?: Omit<UseInfiniteQueryOptions<WalletPortfolioPnls, Error, InfiniteData<WalletPortfolioPnls>, string[], string | undefined>, "queryKey" | "queryFn" | "initialPageParam" | "getNextPageParam">): _tanstack_react_query.UseInfiniteQueryResult<InfiniteData<WalletPortfolioPnls, unknown>, Error>;
|
|
170
|
+
|
|
171
|
+
interface UseWalletPortfoliosQueryParams {
|
|
172
|
+
chain: Chain;
|
|
173
|
+
address: string;
|
|
174
|
+
cursor?: string;
|
|
175
|
+
limit?: number;
|
|
176
|
+
}
|
|
177
|
+
declare function walletPortfoliosQueryKey(params: UseWalletPortfoliosQueryParams): string[];
|
|
178
|
+
declare function fetchWalletPortfolios(client: API.IClient, { chain, address, cursor, limit }: UseWalletPortfoliosQueryParams): Promise<WalletPortfolios>;
|
|
179
|
+
declare function useWalletPortfoliosQuery(params: UseWalletPortfoliosQueryParams, options?: Omit<UseQueryOptions<WalletPortfolios, Error, WalletPortfolios, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<WalletPortfolios, Error>;
|
|
180
|
+
|
|
181
|
+
interface UseWalletPortfoliosByTokensQueryParams {
|
|
182
|
+
chain: Chain;
|
|
183
|
+
address: string;
|
|
184
|
+
tokenAddresses: Array<string>;
|
|
185
|
+
}
|
|
186
|
+
declare function walletPortfoliosByTokensQueryKey(params: UseWalletPortfoliosByTokensQueryParams): string[];
|
|
187
|
+
declare function fetchWalletPortfoliosByTokens(client: API.IClient, { chain, address, tokenAddresses }: UseWalletPortfoliosByTokensQueryParams): Promise<Portfolio[]>;
|
|
188
|
+
declare function useWalletPortfoliosByTokensQuery(params: UseWalletPortfoliosByTokensQueryParams, options?: Omit<UseQueryOptions<Array<Portfolio>, Error, Array<Portfolio>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<Portfolio[], Error>;
|
|
189
|
+
|
|
190
|
+
interface UseWalletPortfoliosInfiniteQueryParams {
|
|
191
|
+
chain: Chain;
|
|
192
|
+
address: string;
|
|
193
|
+
limit?: number;
|
|
194
|
+
}
|
|
195
|
+
declare function walletPortfoliosInfiniteQueryKey(params: UseWalletPortfoliosInfiniteQueryParams): string[];
|
|
196
|
+
declare function useWalletPortfoliosInfiniteQuery(params: UseWalletPortfoliosInfiniteQueryParams, options?: Omit<UseInfiniteQueryOptions<WalletPortfolios, Error, InfiniteData<WalletPortfolios>, string[], string | undefined>, "queryKey" | "queryFn" | "initialPageParam" | "getNextPageParam">): _tanstack_react_query.UseInfiniteQueryResult<InfiniteData<WalletPortfolios, unknown>, Error>;
|
|
197
|
+
|
|
198
|
+
interface UseWalletPortfolioPnlsByTokensQueryParams {
|
|
199
|
+
chain: Chain;
|
|
200
|
+
address: string;
|
|
201
|
+
tokenAddresses: Array<string>;
|
|
202
|
+
}
|
|
203
|
+
declare function walletPortfolioPnlsByTokensQueryKey(params: UseWalletPortfolioPnlsByTokensQueryParams): string[];
|
|
204
|
+
declare function fetchWalletPortfolioPnlsByTokens(client: API.IClient, { chain, address, tokenAddresses }: UseWalletPortfolioPnlsByTokensQueryParams): Promise<PortfolioPnl[]>;
|
|
205
|
+
declare function useWalletPortfolioPnlsByTokensQuery(params: UseWalletPortfolioPnlsByTokensQueryParams, options?: Omit<UseQueryOptions<Array<PortfolioPnl>, Error, Array<PortfolioPnl>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<PortfolioPnl[], Error>;
|
|
206
|
+
|
|
207
|
+
interface UseWalletTradeActivitiesQueryParams extends API.GetTradeActivitiesOptions {
|
|
208
|
+
chain: Chain;
|
|
209
|
+
address: string;
|
|
210
|
+
}
|
|
211
|
+
declare function walletTradeActivitiesQueryKey(params: UseWalletTradeActivitiesQueryParams): string[];
|
|
212
|
+
declare function fetchWalletTradeActivities(client: API.IClient, { chain, address, ...options }: UseWalletTradeActivitiesQueryParams): Promise<_liberfi_io_types.CursorList<TradeActivity>>;
|
|
213
|
+
declare function useWalletTradeActivitiesQuery(params: UseWalletTradeActivitiesQueryParams, options?: Omit<UseQueryOptions<API.CursorList<TradeActivity>, Error, API.CursorList<TradeActivity>, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<API.CursorList<TradeActivity>, Error>;
|
|
214
|
+
|
|
215
|
+
interface UseTokenSubscriptionParams {
|
|
216
|
+
chain: Chain;
|
|
217
|
+
address: string;
|
|
218
|
+
}
|
|
219
|
+
declare function useTokenSubscription(params: UseTokenSubscriptionParams, callback: (data: Array<API.TokenSubscribed>) => void, options?: {
|
|
220
|
+
enabled?: boolean;
|
|
221
|
+
}): void;
|
|
222
|
+
|
|
223
|
+
interface UseTokenCandlesSubscriptionParams {
|
|
224
|
+
chain: Chain;
|
|
225
|
+
address: string;
|
|
226
|
+
resolution: TokenResolution;
|
|
227
|
+
}
|
|
228
|
+
declare function useTokenCandlesSubscription(params: UseTokenCandlesSubscriptionParams, callback: (candles: Array<TokenCandle>) => void, options?: {
|
|
229
|
+
enabled?: boolean;
|
|
230
|
+
}): void;
|
|
231
|
+
|
|
232
|
+
interface UseTokenTradeActivitiesSubscriptionParams {
|
|
233
|
+
chain: Chain;
|
|
234
|
+
address: string;
|
|
235
|
+
}
|
|
236
|
+
declare function useTokenTradeActivitiesSubscription(params: UseTokenTradeActivitiesSubscriptionParams, callback: (trades: Array<TradeActivity>) => void, options?: {
|
|
237
|
+
enabled?: boolean;
|
|
238
|
+
}): void;
|
|
239
|
+
|
|
240
|
+
interface UseWalletPnlSubscriptionParams {
|
|
241
|
+
chain: Chain;
|
|
242
|
+
address: string;
|
|
243
|
+
}
|
|
244
|
+
declare function useWalletPnlSubscription(params: UseWalletPnlSubscriptionParams, callback: (pnls: Array<API.WalletPnlSubscribed>) => void, options?: {
|
|
245
|
+
enabled?: boolean;
|
|
246
|
+
}): void;
|
|
247
|
+
|
|
248
|
+
interface UseWalletPortfoliosSubscriptionParams {
|
|
249
|
+
chain: Chain;
|
|
250
|
+
address: string;
|
|
251
|
+
}
|
|
252
|
+
declare function useWalletPortfoliosSubscription(params: UseWalletPortfoliosSubscriptionParams, callback: (portfolios: Array<API.PortfolioSubscribed>) => void, options?: {
|
|
253
|
+
enabled?: boolean;
|
|
254
|
+
}): void;
|
|
255
|
+
|
|
256
|
+
interface UseWalletPortfolioPnlsSubscriptionParams {
|
|
257
|
+
chain: Chain;
|
|
258
|
+
address: string;
|
|
259
|
+
}
|
|
260
|
+
declare function useWalletPortfolioPnlsSubscription(params: UseWalletPortfolioPnlsSubscriptionParams, callback: (portfolioPnls: Array<API.PortfolioPnlSubscribed>) => void, options?: {
|
|
261
|
+
enabled?: boolean;
|
|
262
|
+
}): void;
|
|
263
|
+
|
|
264
|
+
interface UseWalletTradeActivitiesSubscriptionParams {
|
|
265
|
+
chain: Chain;
|
|
266
|
+
address: string;
|
|
267
|
+
}
|
|
268
|
+
declare function useWalletTradeActivitiesSubscription(params: UseWalletTradeActivitiesSubscriptionParams, callback: (trades: Array<TradeActivity>) => void, options?: {
|
|
269
|
+
enabled?: boolean;
|
|
270
|
+
}): void;
|
|
271
|
+
|
|
272
|
+
interface UseNewTokensSubscriptionParams {
|
|
273
|
+
chain: Chain;
|
|
274
|
+
}
|
|
275
|
+
declare function useNewTokensSubscription(params: UseNewTokensSubscriptionParams, callback: (tokens: Array<API.TokenSubscribed>) => void, options?: {
|
|
276
|
+
enabled?: boolean;
|
|
277
|
+
}): void;
|
|
278
|
+
|
|
279
|
+
interface UseTrendingTokensSubscriptionParams {
|
|
280
|
+
chain: Chain;
|
|
281
|
+
}
|
|
282
|
+
declare function useTrendingTokensSubscription(params: UseTrendingTokensSubscriptionParams, callback: (data: Array<API.TokenSubscribed>) => void, options?: {
|
|
283
|
+
enabled?: boolean;
|
|
284
|
+
}): void;
|
|
285
|
+
|
|
286
|
+
interface UseMigratedTokensSubscriptionParams {
|
|
287
|
+
chain: Chain;
|
|
288
|
+
}
|
|
289
|
+
declare function useMigratedTokensSubscription(params: UseMigratedTokensSubscriptionParams, callback: (data: Array<API.TokenSubscribed>) => void, options?: {
|
|
290
|
+
enabled?: boolean;
|
|
291
|
+
}): void;
|
|
292
|
+
|
|
293
|
+
interface UseFinalStretchTokensSubscriptionParams {
|
|
294
|
+
chain: Chain;
|
|
295
|
+
}
|
|
296
|
+
declare function useFinalStretchTokensSubscription(params: UseFinalStretchTokensSubscriptionParams, callback: (data: Array<API.TokenSubscribed>) => void, options?: {
|
|
297
|
+
enabled?: boolean;
|
|
298
|
+
}): void;
|
|
299
|
+
|
|
300
|
+
interface UseStockTokensSubscriptionParams {
|
|
301
|
+
chain: Chain;
|
|
302
|
+
}
|
|
303
|
+
declare function useStockTokensSubscription(params: UseStockTokensSubscriptionParams, callback: (data: Array<API.TokenSubscribed>) => void, options?: {
|
|
304
|
+
enabled?: boolean;
|
|
305
|
+
}): void;
|
|
306
|
+
|
|
307
|
+
type DexClientProviderProps = PropsWithChildren<DexClientContextValue>;
|
|
308
|
+
declare function DexClientProvider({ client, subscribeClient, children, }: DexClientProviderProps): react_jsx_runtime.JSX.Element;
|
|
309
|
+
|
|
310
|
+
export { DexClientContext, type DexClientContextValue, DexClientProvider, type DexClientProviderProps, type UseFinalStretchTokensQueryParams, type UseFinalStretchTokensSubscriptionParams, type UseMigratedTokensQueryParams, type UseMigratedTokensSubscriptionParams, type UseNewTokensQueryParams, type UseNewTokensSubscriptionParams, type UseSearchTokensQueryParams, type UseSendTxMutationParams, type UseStockTokensQueryParams, type UseStockTokensSubscriptionParams, type UseSwapRouteQueryParams, type UseTokenCandlesQueryParams, type UseTokenCandlesSubscriptionParams, type UseTokenHoldersQueryParams, type UseTokenMarketDataQueryParams, type UseTokenQueryParams, type UseTokenSecurityQueryParams, type UseTokenStatsQueryParams, type UseTokenSubscriptionParams, type UseTokenTradeActivitiesQueryParams, type UseTokenTradeActivitiesSubscriptionParams, type UseTokensQueryParams, type UseTrendingTokensQueryParams, type UseTrendingTokensSubscriptionParams, type UseTxSuccessQueryParams, type UseWalletPnlQueryParams, type UseWalletPnlSubscriptionParams, type UseWalletPortfolioPnlsByTokensQueryParams, type UseWalletPortfolioPnlsInfiniteQueryParams, type UseWalletPortfolioPnlsQueryParams, type UseWalletPortfolioPnlsSubscriptionParams, type UseWalletPortfoliosByTokensQueryParams, type UseWalletPortfoliosInfiniteQueryParams, type UseWalletPortfoliosQueryParams, type UseWalletPortfoliosSubscriptionParams, type UseWalletTradeActivitiesQueryParams, type UseWalletTradeActivitiesSubscriptionParams, fetchFinalStretchTokens, fetchMigratedTokens, fetchNewTokens, fetchPresignedUploadUrl, fetchSearchTokens, fetchStockTokens, fetchSwapRoute, fetchToken, fetchTokenCandles, fetchTokenHolders, fetchTokenMarketData, fetchTokenSecurity, fetchTokenStats, fetchTokenTradeActivities, fetchTokens, fetchTrendingTokens, fetchTxSuccess, fetchWalletPnl, fetchWalletPortfolioPnls, fetchWalletPortfolioPnlsByTokens, fetchWalletPortfolios, fetchWalletPortfoliosByTokens, fetchWalletTradeActivities, finalStretchTokensQueryKey, migratedTokensQueryKey, newTokensQueryKey, searchTokensQueryKey, sendTx, stockTokensQueryKey, swapRouteQueryKey, tokenCandlesQueryKey, tokenHoldersQueryKey, tokenMarketDataQueryKey, tokenQueryKey, tokenSecurityQueryKey, tokenStatsQueryKey, tokenTradeActivitiesQueryKey, tokensQueryKey, trendingTokensQueryKey, txSuccessQueryKey, useDexClient, useFinalStretchTokensQuery, useFinalStretchTokensSubscription, useMigratedTokensQuery, useMigratedTokensSubscription, useNewTokensQuery, useNewTokensSubscription, usePresignedUploadUrlQuery, useSearchTokensQuery, useSendTxMutation, useStockTokensQuery, useStockTokensSubscription, useSwapRouteQuery, useTokenCandlesQuery, useTokenCandlesSubscription, useTokenHoldersQuery, useTokenMarketDataQuery, useTokenQuery, useTokenSecurityQuery, useTokenStatsQuery, useTokenSubscription, useTokenTradeActivitiesQuery, useTokenTradeActivitiesSubscription, useTokensQuery, useTrendingTokensQuery, useTrendingTokensSubscription, useTxSuccessQuery, useWalletPnlQuery, useWalletPnlSubscription, useWalletPortfolioPnlsByTokensQuery, useWalletPortfolioPnlsInfiniteQuery, useWalletPortfolioPnlsQuery, useWalletPortfolioPnlsSubscription, useWalletPortfoliosByTokensQuery, useWalletPortfoliosInfiniteQuery, useWalletPortfoliosQuery, useWalletPortfoliosSubscription, useWalletTradeActivitiesQuery, useWalletTradeActivitiesSubscription, walletPnlQueryKey, walletPortfolioPnlsByTokensQueryKey, walletPortfolioPnlsInfiniteQueryKey, walletPortfolioPnlsQueryKey, walletPortfoliosByTokensQueryKey, walletPortfoliosInfiniteQueryKey, walletPortfoliosQueryKey, walletTradeActivitiesQueryKey };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var react=require('react'),reactQuery=require('@tanstack/react-query'),jsxRuntime=require('react/jsx-runtime');var a=react.createContext({});function n(){let e=react.useContext(a);if(!e)throw new Error("useDexClient must be used within an DexClientProvider");return e}function f(e){return ["finalStretchTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function P(e,{chain:r,...t}){return await e.getFinalStretchTokens(r,t)}function fr(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:f(e),queryFn:async()=>P(t,e),...r})}function m(e){return ["migratedTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function T(e,{chain:r,...t}){return await e.getMigratedTokens(r,t)}function kr(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:m(e),queryFn:async()=>T(t,e),...r})}function p(e){return ["newTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function x(e,{chain:r,...t}){return await e.getNewTokens(r,t)}function Cr(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:p(e),queryFn:async()=>x(t,e),...r})}async function Q(e){return await e.getPresignedUploadUrl()}function Sr(e={}){let{client:r}=n();return reactQuery.useQuery({queryKey:["presignedUploadUrl"],queryFn:async()=>Q(r),staleTime:0,...e})}function b(e){return ["searchTokens",e.cursor??"",e.limit?`${e.limit}`:"",e.direction??"",JSON.stringify((e.chains??[]).sort()),e.keyword??"",JSON.stringify(e.filters??[]),e.sortBy??"",e.sortDirection??""]}async function g(e,r){return await e.searchTokens(r)}function wr(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:b(e),queryFn:async()=>g(t,e),...r})}async function A(e,r){return await e.sendTx(r)}function Rr(e={}){let{client:r}=n();return reactQuery.useMutation({mutationFn:async t=>A(r,t),...e})}function I(e){return ["stockTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function O(e,{chain:r,...t}){return await e.getStockTokens(r,t)}function Hr(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:I(e),queryFn:async()=>O(t,e),...r})}function W(e){return ["swapRoute",e.chain,e.userAddress,e.input,e.output,e.mode,e.amount,e.slippage?`${e.slippage}`:"",e.priorityFee??"",e.tipFee??"",e.isAntiMev!==void 0?`${e.isAntiMev}`:""]}async function w(e,r){return await e.swapRoute(r)}function Vr(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:W(e),queryFn:async()=>w(t,e),...r})}function D(e){return ["tokenCandles",e.chain,e.address,e.resolution,e.after?.toString()??"",e.before?.toString()??"",e.limit?`${e.limit}`:""]}async function F(e,{chain:r,address:t,resolution:o,...i}){return await e.getTokenCandles(r,t,o,i)}function Zr(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:D(e),queryFn:async()=>F(t,e),...r})}function R(e){return ["tokenHolders",e.chain,e.address,e.cursor??"",e.limit?`${e.limit}`:"",e.direction??""]}async function E(e,{chain:r,address:t,...o}){return await e.getTokenHolders(r,t,o)}function nt(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:R(e),queryFn:async()=>E(t,e),...r})}function N(e){return ["tokenMarketData",e.chain,e.address]}async function B(e,{chain:r,address:t}){return await e.getTokenMarketData(r,t)}function at(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:N(e),queryFn:async()=>B(t,e),...r})}function J(e){return ["token",e.chain,e.address]}async function L(e,{chain:r,address:t}){return await e.getToken(r,t)}function Pt(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:J(e),queryFn:async()=>L(t,e),...r})}function G(e){return ["tokenSecurity",e.chain,e.address]}async function V(e,{chain:r,address:t}){return await e.getTokenSecurity(r,t)}function pt(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:G(e),queryFn:async()=>V(t,e),...r})}function z(e){return ["tokens",e.chain,e.addresses.sort().join(",")]}async function X(e,{chain:r,addresses:t}){return await e.getTokens(r,t)}function bt(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:z(e),queryFn:async()=>X(t,e),...r})}function Z(e){return ["tokenStats",e.chain,e.address]}async function _(e,{chain:r,address:t}){return await e.getTokenStats(r,t)}function It(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:Z(e),queryFn:async()=>_(t,e),...r})}function re(e){return ["tokenTradeActivities",e.chain,e.address,e.before?.toString()??"",e.after?.toString()??"",e.beforeBlockHeight?`${e.beforeBlockHeight}`:"",e.afterBlockHeight?`${e.afterBlockHeight}`:"",e.type??"",e.poolAddress??""]}async function te(e,{chain:r,address:t,...o}){return await e.getTokenTradeActivities(r,t,o)}function Kt(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:re(e),queryFn:async()=>te(t,e),...r})}function oe(e){return ["trendingTokens",e.chain,e.resolution,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function ie(e,{chain:r,resolution:t,...o}){return await e.getTrendingTokens(r,t,o)}function Et(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:oe(e),queryFn:async()=>ie(t,e),...r})}function ue(e){return ["txSuccess",e.chain,e.txHash,e.timeout?`${e.timeout}`:""]}async function ae(e,{chain:r,txHash:t,timeout:o}){return await e.checkTxSuccess(r,t,o)}function Jt(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:ue(e),queryFn:async()=>ae(t,e),...r})}function ce(e){return ["walletPnl",e.chain,e.address,e.resolution??"all"]}async function ye(e,{chain:r,address:t,resolution:o}){return await e.getWalletPnl(r,t,o)}function jt(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:ce(e),queryFn:async()=>ye(t,e),...r})}function Pe(e){return ["walletPortfolioPnls",e.chain,e.address,e.cursor??"",String(e.limit??"")]}async function de(e,{chain:r,address:t,cursor:o,limit:i}){return await e.getWalletPortfolioPnls(r,t,{cursor:o,limit:i})}function _t(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:Pe(e),queryFn:async()=>de(t,e),...r})}function Te(e){return ["walletPortfolioPnls","infinite",e.chain,e.address,String(e.limit??"")]}function nn(e,r={}){let{client:t}=n();return reactQuery.useInfiniteQuery({queryKey:Te(e),queryFn:async({pageParam:o})=>t.getWalletPortfolioPnls(e.chain,e.address,{cursor:o,limit:e.limit??100}),initialPageParam:void 0,getNextPageParam:o=>o.hasNext?o.endCursor:void 0,...r})}function pe(e){return ["walletPortfolios",e.chain,e.address,e.cursor??"",String(e.limit??"")]}async function xe(e,{chain:r,address:t,cursor:o,limit:i}){return await e.getWalletPortfolios(r,t,{cursor:o,limit:i})}function ln(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:pe(e),queryFn:async()=>xe(t,e),...r})}function Qe(e){return ["walletPortfoliosByTokens",e.chain,e.address,...e.tokenAddresses.slice().sort()]}async function Ce(e,{chain:r,address:t,tokenAddresses:o}){return await e.getWalletPortfoliosByTokens(r,t,o)}function dn(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:Qe(e),queryFn:async()=>Ce(t,e),...r})}function ge(e){return ["walletPortfolios","infinite",e.chain,e.address,String(e.limit??"")]}function pn(e,r={}){let{client:t}=n();return reactQuery.useInfiniteQuery({queryKey:ge(e),queryFn:async({pageParam:o})=>t.getWalletPortfolios(e.chain,e.address,{cursor:o,limit:e.limit??100}),initialPageParam:void 0,getNextPageParam:o=>o.hasNext?o.endCursor:void 0,...r})}function Ae(e){return ["walletPortfolioPnlsByTokens",e.chain,e.address,...e.tokenAddresses.slice().sort()]}async function Se(e,{chain:r,address:t,tokenAddresses:o}){return await e.getWalletPortfolioPnlsByTokens(r,t,o)}function bn(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:Ae(e),queryFn:async()=>Se(t,e),...r})}function Oe(e){return ["walletTradeActivities",e.chain,e.address,e.before?.toString()??"",e.after?.toString()??"",e.beforeBlockHeight?`${e.beforeBlockHeight}`:"",e.afterBlockHeight?`${e.afterBlockHeight}`:"",e.type??"",e.poolAddress??""]}async function qe(e,{chain:r,address:t,...o}){return await e.getWalletTradeActivities(r,t,o)}function In(e,r={}){let{client:t}=n();return reactQuery.useQuery({queryKey:Oe(e),queryFn:async()=>qe(t,e),...r})}function wn(e,r,t){let{subscribeClient:o}=n(),i=react.useRef(r);i.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeToken(e.chain,e.address,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,t?.enabled]);}function vn(e,r,t){let{subscribeClient:o}=n(),i=react.useRef(r);i.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeTokenCandles(e.chain,e.address,e.resolution,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,e.resolution,t?.enabled]);}function Nn(e,r,t){let{subscribeClient:o}=n(),i=react.useRef(r);i.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeTokenTradeActivities(e.chain,e.address,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,t?.enabled]);}function Ln(e,r,t){let{subscribeClient:o}=n(),i=react.useRef(r);i.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeWalletPnl(e.chain,e.address,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,t?.enabled]);}function jn(e,r,t){let{subscribeClient:o}=n(),i=react.useRef(r);i.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeWalletPortfolios(e.chain,e.address,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,t?.enabled]);}function Zn(e,r,t){let{subscribeClient:o}=n(),i=react.useRef(r);i.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeWalletPortfolioPnls(e.chain,e.address,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,t?.enabled]);}function to(e,r,t){let{subscribeClient:o}=n(),i=react.useRef(r);i.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeWalletTradeActivities(e.chain,e.address,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,t?.enabled]);}function so(e,r,t){let{subscribeClient:o}=n(),i=react.useRef(r);i.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeNewTokens(e.chain,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,t?.enabled]);}function co(e,r,t){let{subscribeClient:o}=n(),i=react.useRef(r);i.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeTrendingTokens(e.chain,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,t?.enabled]);}function mo(e,r,t){let{subscribeClient:o}=n(),i=react.useRef(r);i.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeMigratedTokens(e.chain,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,t?.enabled]);}function xo(e,r,t){let{subscribeClient:o}=n(),i=react.useRef(r);i.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeFinalStretchTokens(e.chain,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,t?.enabled]);}function bo(e,r,t){let{subscribeClient:o}=n(),i=react.useRef(r);i.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeStockTokens(e.chain,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,t?.enabled]);}function mi({client:e,subscribeClient:r,children:t}){let o=react.useMemo(()=>({client:e,subscribeClient:r}),[e,r]);return jsxRuntime.jsx(a.Provider,{value:o,children:t})}exports.DexClientContext=a;exports.DexClientProvider=mi;exports.fetchFinalStretchTokens=P;exports.fetchMigratedTokens=T;exports.fetchNewTokens=x;exports.fetchPresignedUploadUrl=Q;exports.fetchSearchTokens=g;exports.fetchStockTokens=O;exports.fetchSwapRoute=w;exports.fetchToken=L;exports.fetchTokenCandles=F;exports.fetchTokenHolders=E;exports.fetchTokenMarketData=B;exports.fetchTokenSecurity=V;exports.fetchTokenStats=_;exports.fetchTokenTradeActivities=te;exports.fetchTokens=X;exports.fetchTrendingTokens=ie;exports.fetchTxSuccess=ae;exports.fetchWalletPnl=ye;exports.fetchWalletPortfolioPnls=de;exports.fetchWalletPortfolioPnlsByTokens=Se;exports.fetchWalletPortfolios=xe;exports.fetchWalletPortfoliosByTokens=Ce;exports.fetchWalletTradeActivities=qe;exports.finalStretchTokensQueryKey=f;exports.migratedTokensQueryKey=m;exports.newTokensQueryKey=p;exports.searchTokensQueryKey=b;exports.sendTx=A;exports.stockTokensQueryKey=I;exports.swapRouteQueryKey=W;exports.tokenCandlesQueryKey=D;exports.tokenHoldersQueryKey=R;exports.tokenMarketDataQueryKey=N;exports.tokenQueryKey=J;exports.tokenSecurityQueryKey=G;exports.tokenStatsQueryKey=Z;exports.tokenTradeActivitiesQueryKey=re;exports.tokensQueryKey=z;exports.trendingTokensQueryKey=oe;exports.txSuccessQueryKey=ue;exports.useDexClient=n;exports.useFinalStretchTokensQuery=fr;exports.useFinalStretchTokensSubscription=xo;exports.useMigratedTokensQuery=kr;exports.useMigratedTokensSubscription=mo;exports.useNewTokensQuery=Cr;exports.useNewTokensSubscription=so;exports.usePresignedUploadUrlQuery=Sr;exports.useSearchTokensQuery=wr;exports.useSendTxMutation=Rr;exports.useStockTokensQuery=Hr;exports.useStockTokensSubscription=bo;exports.useSwapRouteQuery=Vr;exports.useTokenCandlesQuery=Zr;exports.useTokenCandlesSubscription=vn;exports.useTokenHoldersQuery=nt;exports.useTokenMarketDataQuery=at;exports.useTokenQuery=Pt;exports.useTokenSecurityQuery=pt;exports.useTokenStatsQuery=It;exports.useTokenSubscription=wn;exports.useTokenTradeActivitiesQuery=Kt;exports.useTokenTradeActivitiesSubscription=Nn;exports.useTokensQuery=bt;exports.useTrendingTokensQuery=Et;exports.useTrendingTokensSubscription=co;exports.useTxSuccessQuery=Jt;exports.useWalletPnlQuery=jt;exports.useWalletPnlSubscription=Ln;exports.useWalletPortfolioPnlsByTokensQuery=bn;exports.useWalletPortfolioPnlsInfiniteQuery=nn;exports.useWalletPortfolioPnlsQuery=_t;exports.useWalletPortfolioPnlsSubscription=Zn;exports.useWalletPortfoliosByTokensQuery=dn;exports.useWalletPortfoliosInfiniteQuery=pn;exports.useWalletPortfoliosQuery=ln;exports.useWalletPortfoliosSubscription=jn;exports.useWalletTradeActivitiesQuery=In;exports.useWalletTradeActivitiesSubscription=to;exports.walletPnlQueryKey=ce;exports.walletPortfolioPnlsByTokensQueryKey=Ae;exports.walletPortfolioPnlsInfiniteQueryKey=Te;exports.walletPortfolioPnlsQueryKey=Pe;exports.walletPortfoliosByTokensQueryKey=Qe;exports.walletPortfoliosInfiniteQueryKey=ge;exports.walletPortfoliosQueryKey=pe;exports.walletTradeActivitiesQueryKey=Oe;//# sourceMappingURL=index.js.map
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/DexClientContext.ts","../src/hooks/useDexClient.ts","../src/hooks/useFinalStretchTokensQuery.ts","../src/hooks/useMigratedTokensQuery.ts","../src/hooks/useNewTokensQuery.ts","../src/hooks/usePresignedUploadUrlQuery.ts","../src/hooks/useSearchTokensQuery.ts","../src/hooks/useSendTxMutation.ts","../src/hooks/useStockTokensQuery.ts","../src/hooks/useSwapRouteQuery.ts","../src/hooks/useTokenCandlesQuery.ts","../src/hooks/useTokenHoldersQuery.ts","../src/hooks/useTokenMarketDataQuery.ts","../src/hooks/useTokenQuery.ts","../src/hooks/useTokenSecurityQuery.ts","../src/hooks/useTokensQuery.ts","../src/hooks/useTokenStatsQuery.ts","../src/hooks/useTokenTradeActivitiesQuery.ts","../src/hooks/useTrendingTokensQuery.ts","../src/hooks/useTxSuccessQuery.ts","../src/hooks/useWalletPnlQuery.ts","../src/hooks/useWalletPortfolioPnlsQuery.ts","../src/hooks/useWalletPortfolioPnlsInfiniteQuery.ts","../src/hooks/useWalletPortfoliosQuery.ts","../src/hooks/useWalletPortfoliosByTokensQuery.ts","../src/hooks/useWalletPortfoliosInfiniteQuery.ts","../src/hooks/useWalletPortfolioPnlsByTokensQuery.ts","../src/hooks/useWalletTradeActivitiesQuery.ts","../src/hooks/useTokenSubscription.ts","../src/hooks/useTokenCandlesSubscription.ts","../src/hooks/useTokenTradeActivitiesSubscription.ts","../src/hooks/useWalletPnlSubscription.ts","../src/hooks/useWalletPortfoliosSubscription.ts","../src/hooks/useWalletPortfolioPnlsSubscription.ts","../src/hooks/useWalletTradeActivitiesSubscription.ts","../src/hooks/useNewTokensSubscription.ts","../src/hooks/useTrendingTokensSubscription.ts","../src/hooks/useMigratedTokensSubscription.ts","../src/hooks/useFinalStretchTokensSubscription.ts","../src/hooks/useStockTokensSubscription.ts","../src/DexClientProvider.tsx"],"names":["DexClientContext","createContext","useDexClient","context","useContext","finalStretchTokensQueryKey","params","fetchFinalStretchTokens","client","chain","options","useFinalStretchTokensQuery","useQuery","migratedTokensQueryKey","fetchMigratedTokens","useMigratedTokensQuery","newTokensQueryKey","fetchNewTokens","useNewTokensQuery","fetchPresignedUploadUrl","usePresignedUploadUrlQuery","searchTokensQueryKey","fetchSearchTokens","useSearchTokensQuery","sendTx","useSendTxMutation","useMutation","stockTokensQueryKey","fetchStockTokens","useStockTokensQuery","swapRouteQueryKey","fetchSwapRoute","useSwapRouteQuery","tokenCandlesQueryKey","fetchTokenCandles","address","resolution","useTokenCandlesQuery","tokenHoldersQueryKey","fetchTokenHolders","useTokenHoldersQuery","tokenMarketDataQueryKey","fetchTokenMarketData","useTokenMarketDataQuery","tokenQueryKey","fetchToken","useTokenQuery","tokenSecurityQueryKey","fetchTokenSecurity","useTokenSecurityQuery","tokensQueryKey","fetchTokens","addresses","useTokensQuery","tokenStatsQueryKey","fetchTokenStats","useTokenStatsQuery","tokenTradeActivitiesQueryKey","fetchTokenTradeActivities","useTokenTradeActivitiesQuery","trendingTokensQueryKey","fetchTrendingTokens","useTrendingTokensQuery","txSuccessQueryKey","fetchTxSuccess","txHash","timeout","useTxSuccessQuery","walletPnlQueryKey","fetchWalletPnl","useWalletPnlQuery","walletPortfolioPnlsQueryKey","fetchWalletPortfolioPnls","cursor","limit","useWalletPortfolioPnlsQuery","walletPortfolioPnlsInfiniteQueryKey","useWalletPortfolioPnlsInfiniteQuery","useInfiniteQuery","pageParam","lastPage","walletPortfoliosQueryKey","fetchWalletPortfolios","useWalletPortfoliosQuery","walletPortfoliosByTokensQueryKey","fetchWalletPortfoliosByTokens","tokenAddresses","useWalletPortfoliosByTokensQuery","walletPortfoliosInfiniteQueryKey","useWalletPortfoliosInfiniteQuery","walletPortfolioPnlsByTokensQueryKey","fetchWalletPortfolioPnlsByTokens","useWalletPortfolioPnlsByTokensQuery","walletTradeActivitiesQueryKey","fetchWalletTradeActivities","useWalletTradeActivitiesQuery","useTokenSubscription","callback","subscribeClient","callbackRef","useRef","useEffect","subscription","data","useTokenCandlesSubscription","candles","useTokenTradeActivitiesSubscription","trades","useWalletPnlSubscription","pnls","useWalletPortfoliosSubscription","portfolios","useWalletPortfolioPnlsSubscription","portfolioPnls","useWalletTradeActivitiesSubscription","useNewTokensSubscription","tokens","useTrendingTokensSubscription","useMigratedTokensSubscription","useFinalStretchTokensSubscription","useStockTokensSubscription","DexClientProvider","children","value","useMemo","jsx"],"mappings":"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","file":"index.js","sourcesContent":["import { createContext } from \"react\";\nimport { API } from \"@liberfi.io/types\";\n\nexport interface DexClientContextValue {\n client: API.IClient;\n subscribeClient: API.ISubscribeClient;\n}\n\nexport const DexClientContext = createContext<DexClientContextValue>(\n {} as DexClientContextValue,\n);\n","import { useContext } from \"react\";\nimport { DexClientContext, DexClientContextValue } from \"../DexClientContext\";\n\nexport function useDexClient(): DexClientContextValue {\n const context = useContext(DexClientContext);\n if (!context) {\n throw new Error(\"useDexClient must be used within an DexClientProvider\");\n }\n return context;\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseFinalStretchTokensQueryParams\n extends API.GetTokenListOptions {\n chain: Chain;\n}\n\nexport function finalStretchTokensQueryKey(\n params: UseFinalStretchTokensQueryParams,\n): string[] {\n return [\n \"finalStretchTokens\",\n params.chain,\n params.sortBy ?? \"\",\n params.sortDirection ?? \"\",\n JSON.stringify((params.keywords ?? []).sort()),\n JSON.stringify((params.excludeKeywords ?? []).sort()),\n JSON.stringify(params.filters ?? []),\n ];\n}\n\nexport async function fetchFinalStretchTokens(\n client: API.IClient,\n { chain, ...options }: UseFinalStretchTokensQueryParams,\n) {\n return await client.getFinalStretchTokens(chain, options);\n}\n\nexport function useFinalStretchTokensQuery(\n params: UseFinalStretchTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: finalStretchTokensQueryKey(params),\n queryFn: async () => fetchFinalStretchTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseMigratedTokensQueryParams extends API.GetTokenListOptions {\n chain: Chain;\n}\n\nexport function migratedTokensQueryKey(\n params: UseMigratedTokensQueryParams,\n): string[] {\n return [\n \"migratedTokens\",\n params.chain,\n params.sortBy ?? \"\",\n params.sortDirection ?? \"\",\n JSON.stringify((params.keywords ?? []).sort()),\n JSON.stringify((params.excludeKeywords ?? []).sort()),\n JSON.stringify(params.filters ?? []),\n ];\n}\n\nexport async function fetchMigratedTokens(\n client: API.IClient,\n { chain, ...options }: UseMigratedTokensQueryParams,\n) {\n return await client.getMigratedTokens(chain, options);\n}\n\nexport function useMigratedTokensQuery(\n params: UseMigratedTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: migratedTokensQueryKey(params),\n queryFn: async () => fetchMigratedTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseNewTokensQueryParams extends API.GetTokenListOptions {\n chain: Chain;\n}\n\nexport function newTokensQueryKey(params: UseNewTokensQueryParams): string[] {\n return [\n \"newTokens\",\n params.chain,\n params.sortBy ?? \"\",\n params.sortDirection ?? \"\",\n JSON.stringify((params.keywords ?? []).sort()),\n JSON.stringify((params.excludeKeywords ?? []).sort()),\n JSON.stringify(params.filters ?? []),\n ];\n}\n\nexport async function fetchNewTokens(\n client: API.IClient,\n { chain, ...options }: UseNewTokensQueryParams,\n) {\n return await client.getNewTokens(chain, options);\n}\n\nexport function useNewTokensQuery(\n params: UseNewTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: newTokensQueryKey(params),\n queryFn: async () => fetchNewTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport async function fetchPresignedUploadUrl(client: API.IClient) {\n return await client.getPresignedUploadUrl();\n}\n\nexport function usePresignedUploadUrlQuery(\n options: Omit<\n UseQueryOptions<string, Error, string, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: [\"presignedUploadUrl\"],\n queryFn: async () => fetchPresignedUploadUrl(client),\n staleTime: 0,\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport type UseSearchTokensQueryParams = API.SearchTokensOptions;\n\nexport function searchTokensQueryKey(\n params: UseSearchTokensQueryParams,\n): string[] {\n return [\n \"searchTokens\",\n params.cursor ?? \"\",\n params.limit ? `${params.limit}` : \"\",\n params.direction ?? \"\",\n JSON.stringify((params.chains ?? []).sort()),\n params.keyword ?? \"\",\n JSON.stringify(params.filters ?? []),\n params.sortBy ?? \"\",\n params.sortDirection ?? \"\",\n ];\n}\n\nexport async function fetchSearchTokens(\n client: API.IClient,\n params: UseSearchTokensQueryParams,\n) {\n return await client.searchTokens(params);\n}\n\nexport function useSearchTokensQuery(\n params: UseSearchTokensQueryParams,\n options: Omit<\n UseQueryOptions<\n API.SearchTokenCursorList,\n Error,\n API.SearchTokenCursorList,\n string[]\n >,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: searchTokensQueryKey(params),\n queryFn: async () => fetchSearchTokens(client, params),\n ...options,\n });\n}\n","import { useMutation, UseMutationOptions } from \"@tanstack/react-query\";\nimport { API } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport type UseSendTxMutationParams = API.SendTxParams;\n\nexport async function sendTx(\n client: API.IClient,\n params: UseSendTxMutationParams,\n) {\n return await client.sendTx(params);\n}\n\nexport function useSendTxMutation(\n options: Omit<\n UseMutationOptions<API.SendTxResult, Error, UseSendTxMutationParams>,\n \"mutationFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useMutation({\n mutationFn: async (params: UseSendTxMutationParams) =>\n sendTx(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseStockTokensQueryParams extends API.GetTokenListOptions {\n chain: Chain;\n}\n\nexport function stockTokensQueryKey(\n params: UseStockTokensQueryParams,\n): string[] {\n return [\n \"stockTokens\",\n params.chain,\n params.sortBy ?? \"\",\n params.sortDirection ?? \"\",\n JSON.stringify((params.keywords ?? []).sort()),\n JSON.stringify((params.excludeKeywords ?? []).sort()),\n JSON.stringify(params.filters ?? []),\n ];\n}\n\nexport async function fetchStockTokens(\n client: API.IClient,\n { chain, ...options }: UseStockTokensQueryParams,\n) {\n return await client.getStockTokens(chain, options);\n}\n\nexport function useStockTokensQuery(\n params: UseStockTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: stockTokensQueryKey(params),\n queryFn: async () => fetchStockTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport type UseSwapRouteQueryParams = API.SwapParams;\n\nexport function swapRouteQueryKey(params: UseSwapRouteQueryParams): string[] {\n return [\n \"swapRoute\",\n params.chain,\n params.userAddress,\n params.input,\n params.output,\n params.mode,\n params.amount,\n params.slippage ? `${params.slippage}` : \"\",\n params.priorityFee ?? \"\",\n params.tipFee ?? \"\",\n params.isAntiMev !== undefined ? `${params.isAntiMev}` : \"\",\n ];\n}\n\nexport async function fetchSwapRoute(\n client: API.IClient,\n params: UseSwapRouteQueryParams,\n) {\n return await client.swapRoute(params);\n}\n\nexport function useSwapRouteQuery(\n params: UseSwapRouteQueryParams,\n options: Omit<\n UseQueryOptions<API.SwapRoute, Error, API.SwapRoute, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: swapRouteQueryKey(params),\n queryFn: async () => fetchSwapRoute(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TokenCandle, TokenResolution } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenCandlesQueryParams extends API.GetTokenCandlesOptions {\n chain: Chain;\n address: string;\n resolution: TokenResolution;\n}\n\nexport function tokenCandlesQueryKey(\n params: UseTokenCandlesQueryParams,\n): string[] {\n return [\n \"tokenCandles\",\n params.chain,\n params.address,\n params.resolution,\n params.after?.toString() ?? \"\",\n params.before?.toString() ?? \"\",\n params.limit ? `${params.limit}` : \"\",\n ];\n}\n\nexport async function fetchTokenCandles(\n client: API.IClient,\n { chain, address, resolution, ...options }: UseTokenCandlesQueryParams,\n) {\n return await client.getTokenCandles(chain, address, resolution, options);\n}\n\nexport function useTokenCandlesQuery(\n params: UseTokenCandlesQueryParams,\n options: Omit<\n UseQueryOptions<Array<TokenCandle>, Error, Array<TokenCandle>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenCandlesQueryKey(params),\n queryFn: async () => fetchTokenCandles(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TokenHolder } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenHoldersQueryParams extends API.CursorListOptions {\n chain: Chain;\n address: string;\n}\n\nexport function tokenHoldersQueryKey(\n params: UseTokenHoldersQueryParams,\n): string[] {\n return [\n \"tokenHolders\",\n params.chain,\n params.address,\n params.cursor ?? \"\",\n params.limit ? `${params.limit}` : \"\",\n params.direction ?? \"\",\n ];\n}\n\nexport async function fetchTokenHolders(\n client: API.IClient,\n { chain, address, ...options }: UseTokenHoldersQueryParams,\n) {\n return await client.getTokenHolders(chain, address, options);\n}\n\nexport function useTokenHoldersQuery(\n params: UseTokenHoldersQueryParams,\n options: Omit<\n UseQueryOptions<\n API.CursorList<TokenHolder>,\n Error,\n API.CursorList<TokenHolder>,\n string[]\n >,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenHoldersQueryKey(params),\n queryFn: async () => fetchTokenHolders(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TokenMarketData } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenMarketDataQueryParams {\n chain: Chain;\n address: string;\n}\n\nexport function tokenMarketDataQueryKey(\n params: UseTokenMarketDataQueryParams,\n): string[] {\n return [\"tokenMarketData\", params.chain, params.address];\n}\n\nexport async function fetchTokenMarketData(\n client: API.IClient,\n { chain, address }: UseTokenMarketDataQueryParams,\n) {\n return await client.getTokenMarketData(chain, address);\n}\n\nexport function useTokenMarketDataQuery(\n params: UseTokenMarketDataQueryParams,\n options: Omit<\n UseQueryOptions<TokenMarketData, Error, TokenMarketData, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenMarketDataQueryKey(params),\n queryFn: async () => fetchTokenMarketData(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenQueryParams {\n chain: Chain;\n address: string;\n}\n\nexport function tokenQueryKey(params: UseTokenQueryParams): string[] {\n return [\"token\", params.chain, params.address];\n}\n\nexport async function fetchToken(\n client: API.IClient,\n { chain, address }: UseTokenQueryParams,\n) {\n return await client.getToken(chain, address);\n}\n\nexport function useTokenQuery(\n params: UseTokenQueryParams,\n options: Omit<\n UseQueryOptions<Token, Error, Token, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenQueryKey(params),\n queryFn: async () => fetchToken(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TokenSecurity } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenSecurityQueryParams {\n chain: Chain;\n address: string;\n}\n\nexport function tokenSecurityQueryKey(\n params: UseTokenSecurityQueryParams,\n): string[] {\n return [\"tokenSecurity\", params.chain, params.address];\n}\n\nexport async function fetchTokenSecurity(\n client: API.IClient,\n { chain, address }: UseTokenSecurityQueryParams,\n) {\n return await client.getTokenSecurity(chain, address);\n}\n\nexport function useTokenSecurityQuery(\n params: UseTokenSecurityQueryParams,\n options: Omit<\n UseQueryOptions<TokenSecurity, Error, TokenSecurity, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenSecurityQueryKey(params),\n queryFn: async () => fetchTokenSecurity(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokensQueryParams {\n chain: Chain;\n addresses: Array<string>;\n}\n\nexport function tokensQueryKey(params: UseTokensQueryParams): string[] {\n return [\"tokens\", params.chain, params.addresses.sort().join(\",\")];\n}\n\nexport async function fetchTokens(\n client: API.IClient,\n { chain, addresses }: UseTokensQueryParams,\n) {\n return await client.getTokens(chain, addresses);\n}\n\nexport function useTokensQuery(\n params: UseTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokensQueryKey(params),\n queryFn: async () => fetchTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TokenStats } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenStatsQueryParams {\n chain: Chain;\n address: string;\n}\n\nexport function tokenStatsQueryKey(params: UseTokenStatsQueryParams): string[] {\n return [\"tokenStats\", params.chain, params.address];\n}\n\nexport async function fetchTokenStats(\n client: API.IClient,\n { chain, address }: UseTokenStatsQueryParams,\n) {\n return await client.getTokenStats(chain, address);\n}\n\nexport function useTokenStatsQuery(\n params: UseTokenStatsQueryParams,\n options: Omit<\n UseQueryOptions<TokenStats, Error, TokenStats, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenStatsQueryKey(params),\n queryFn: async () => fetchTokenStats(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TradeActivity } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenTradeActivitiesQueryParams\n extends API.GetTradeActivitiesOptions {\n chain: Chain;\n address: string;\n}\n\nexport function tokenTradeActivitiesQueryKey(\n params: UseTokenTradeActivitiesQueryParams,\n): string[] {\n return [\n \"tokenTradeActivities\",\n params.chain,\n params.address,\n params.before?.toString() ?? \"\",\n params.after?.toString() ?? \"\",\n params.beforeBlockHeight ? `${params.beforeBlockHeight}` : \"\",\n params.afterBlockHeight ? `${params.afterBlockHeight}` : \"\",\n params.type ?? \"\",\n params.poolAddress ?? \"\",\n ];\n}\n\nexport async function fetchTokenTradeActivities(\n client: API.IClient,\n { chain, address, ...options }: UseTokenTradeActivitiesQueryParams,\n) {\n return await client.getTokenTradeActivities(chain, address, options);\n}\n\nexport function useTokenTradeActivitiesQuery(\n params: UseTokenTradeActivitiesQueryParams,\n options: Omit<\n UseQueryOptions<\n API.CursorList<TradeActivity>,\n Error,\n API.CursorList<TradeActivity>,\n string[]\n >,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenTradeActivitiesQueryKey(params),\n queryFn: async () => fetchTokenTradeActivities(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTrendingTokensQueryParams extends API.GetTokenListOptions {\n chain: Chain;\n resolution: \"1m\" | \"5m\" | \"1h\" | \"4h\" | \"24h\";\n}\n\nexport function trendingTokensQueryKey(\n params: UseTrendingTokensQueryParams,\n): string[] {\n return [\n \"trendingTokens\",\n params.chain,\n params.resolution,\n params.sortBy ?? \"\",\n params.sortDirection ?? \"\",\n JSON.stringify((params.keywords ?? []).sort()),\n JSON.stringify((params.excludeKeywords ?? []).sort()),\n JSON.stringify(params.filters ?? []),\n ];\n}\n\nexport async function fetchTrendingTokens(\n client: API.IClient,\n { chain, resolution, ...options }: UseTrendingTokensQueryParams,\n) {\n return await client.getTrendingTokens(chain, resolution, options);\n}\n\nexport function useTrendingTokensQuery(\n params: UseTrendingTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: trendingTokensQueryKey(params),\n queryFn: async () => fetchTrendingTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTxSuccessQueryParams {\n chain: Chain;\n txHash: string;\n timeout?: number;\n}\n\nexport function txSuccessQueryKey(params: UseTxSuccessQueryParams): string[] {\n return [\n \"txSuccess\",\n params.chain,\n params.txHash,\n params.timeout ? `${params.timeout}` : \"\",\n ];\n}\n\nexport async function fetchTxSuccess(\n client: API.IClient,\n { chain, txHash, timeout }: UseTxSuccessQueryParams,\n) {\n return await client.checkTxSuccess(chain, txHash, timeout);\n}\n\nexport function useTxSuccessQuery(\n params: UseTxSuccessQueryParams,\n options: Omit<\n UseQueryOptions<boolean, Error, boolean, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: txSuccessQueryKey(params),\n queryFn: async () => fetchTxSuccess(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, WalletPnl } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPnlQueryParams {\n chain: Chain;\n address: string;\n resolution?: string;\n}\n\nexport function walletPnlQueryKey(params: UseWalletPnlQueryParams): string[] {\n return [\n \"walletPnl\",\n params.chain,\n params.address,\n params.resolution ?? \"all\",\n ];\n}\n\nexport async function fetchWalletPnl(\n client: API.IClient,\n { chain, address, resolution }: UseWalletPnlQueryParams,\n) {\n return await client.getWalletPnl(chain, address, resolution);\n}\n\nexport function useWalletPnlQuery(\n params: UseWalletPnlQueryParams,\n options: Omit<\n UseQueryOptions<WalletPnl, Error, WalletPnl, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: walletPnlQueryKey(params),\n queryFn: async () => fetchWalletPnl(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, WalletPortfolioPnls } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfolioPnlsQueryParams {\n chain: Chain;\n address: string;\n cursor?: string;\n limit?: number;\n}\n\nexport function walletPortfolioPnlsQueryKey(\n params: UseWalletPortfolioPnlsQueryParams,\n): string[] {\n return [\n \"walletPortfolioPnls\",\n params.chain,\n params.address,\n params.cursor ?? \"\",\n String(params.limit ?? \"\"),\n ];\n}\n\nexport async function fetchWalletPortfolioPnls(\n client: API.IClient,\n { chain, address, cursor, limit }: UseWalletPortfolioPnlsQueryParams,\n) {\n return await client.getWalletPortfolioPnls(chain, address, { cursor, limit });\n}\n\nexport function useWalletPortfolioPnlsQuery(\n params: UseWalletPortfolioPnlsQueryParams,\n options: Omit<\n UseQueryOptions<WalletPortfolioPnls, Error, WalletPortfolioPnls, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: walletPortfolioPnlsQueryKey(params),\n queryFn: async () => fetchWalletPortfolioPnls(client, params),\n ...options,\n });\n}\n","import {\n useInfiniteQuery,\n type InfiniteData,\n type UseInfiniteQueryOptions,\n} from \"@tanstack/react-query\";\nimport { Chain, WalletPortfolioPnls } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfolioPnlsInfiniteQueryParams {\n chain: Chain;\n address: string;\n limit?: number;\n}\n\nexport function walletPortfolioPnlsInfiniteQueryKey(\n params: UseWalletPortfolioPnlsInfiniteQueryParams,\n): string[] {\n return [\n \"walletPortfolioPnls\",\n \"infinite\",\n params.chain,\n params.address,\n String(params.limit ?? \"\"),\n ];\n}\n\nexport function useWalletPortfolioPnlsInfiniteQuery(\n params: UseWalletPortfolioPnlsInfiniteQueryParams,\n options: Omit<\n UseInfiniteQueryOptions<\n WalletPortfolioPnls,\n Error,\n InfiniteData<WalletPortfolioPnls>,\n string[],\n string | undefined\n >,\n \"queryKey\" | \"queryFn\" | \"initialPageParam\" | \"getNextPageParam\"\n > = {},\n) {\n const { client } = useDexClient();\n return useInfiniteQuery({\n queryKey: walletPortfolioPnlsInfiniteQueryKey(params),\n queryFn: async ({ pageParam }) =>\n client.getWalletPortfolioPnls(params.chain, params.address, {\n cursor: pageParam,\n limit: params.limit ?? 100,\n }),\n initialPageParam: undefined as string | undefined,\n getNextPageParam: (lastPage) =>\n lastPage.hasNext ? lastPage.endCursor : undefined,\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, WalletPortfolios } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfoliosQueryParams {\n chain: Chain;\n address: string;\n cursor?: string;\n limit?: number;\n}\n\nexport function walletPortfoliosQueryKey(\n params: UseWalletPortfoliosQueryParams,\n): string[] {\n return [\n \"walletPortfolios\",\n params.chain,\n params.address,\n params.cursor ?? \"\",\n String(params.limit ?? \"\"),\n ];\n}\n\nexport async function fetchWalletPortfolios(\n client: API.IClient,\n { chain, address, cursor, limit }: UseWalletPortfoliosQueryParams,\n) {\n return await client.getWalletPortfolios(chain, address, { cursor, limit });\n}\n\nexport function useWalletPortfoliosQuery(\n params: UseWalletPortfoliosQueryParams,\n options: Omit<\n UseQueryOptions<WalletPortfolios, Error, WalletPortfolios, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: walletPortfoliosQueryKey(params),\n queryFn: async () => fetchWalletPortfolios(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Portfolio } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfoliosByTokensQueryParams {\n chain: Chain;\n address: string;\n tokenAddresses: Array<string>;\n}\n\nexport function walletPortfoliosByTokensQueryKey(\n params: UseWalletPortfoliosByTokensQueryParams,\n): string[] {\n return [\n \"walletPortfoliosByTokens\",\n params.chain,\n params.address,\n ...params.tokenAddresses.slice().sort(),\n ];\n}\n\nexport async function fetchWalletPortfoliosByTokens(\n client: API.IClient,\n { chain, address, tokenAddresses }: UseWalletPortfoliosByTokensQueryParams,\n) {\n return await client.getWalletPortfoliosByTokens(\n chain,\n address,\n tokenAddresses,\n );\n}\n\nexport function useWalletPortfoliosByTokensQuery(\n params: UseWalletPortfoliosByTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Portfolio>, Error, Array<Portfolio>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: walletPortfoliosByTokensQueryKey(params),\n queryFn: async () => fetchWalletPortfoliosByTokens(client, params),\n ...options,\n });\n}\n","import {\n useInfiniteQuery,\n type InfiniteData,\n type UseInfiniteQueryOptions,\n} from \"@tanstack/react-query\";\nimport { Chain, WalletPortfolios } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfoliosInfiniteQueryParams {\n chain: Chain;\n address: string;\n limit?: number;\n}\n\nexport function walletPortfoliosInfiniteQueryKey(\n params: UseWalletPortfoliosInfiniteQueryParams,\n): string[] {\n return [\n \"walletPortfolios\",\n \"infinite\",\n params.chain,\n params.address,\n String(params.limit ?? \"\"),\n ];\n}\n\nexport function useWalletPortfoliosInfiniteQuery(\n params: UseWalletPortfoliosInfiniteQueryParams,\n options: Omit<\n UseInfiniteQueryOptions<\n WalletPortfolios,\n Error,\n InfiniteData<WalletPortfolios>,\n string[],\n string | undefined\n >,\n \"queryKey\" | \"queryFn\" | \"initialPageParam\" | \"getNextPageParam\"\n > = {},\n) {\n const { client } = useDexClient();\n return useInfiniteQuery({\n queryKey: walletPortfoliosInfiniteQueryKey(params),\n queryFn: async ({ pageParam }) =>\n client.getWalletPortfolios(params.chain, params.address, {\n cursor: pageParam,\n limit: params.limit ?? 100,\n }),\n initialPageParam: undefined as string | undefined,\n getNextPageParam: (lastPage) =>\n lastPage.hasNext ? lastPage.endCursor : undefined,\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, PortfolioPnl } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfolioPnlsByTokensQueryParams {\n chain: Chain;\n address: string;\n tokenAddresses: Array<string>;\n}\n\nexport function walletPortfolioPnlsByTokensQueryKey(\n params: UseWalletPortfolioPnlsByTokensQueryParams,\n): string[] {\n return [\n \"walletPortfolioPnlsByTokens\",\n params.chain,\n params.address,\n ...params.tokenAddresses.slice().sort(),\n ];\n}\n\nexport async function fetchWalletPortfolioPnlsByTokens(\n client: API.IClient,\n { chain, address, tokenAddresses }: UseWalletPortfolioPnlsByTokensQueryParams,\n) {\n return await client.getWalletPortfolioPnlsByTokens(\n chain,\n address,\n tokenAddresses,\n );\n}\n\nexport function useWalletPortfolioPnlsByTokensQuery(\n params: UseWalletPortfolioPnlsByTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<PortfolioPnl>, Error, Array<PortfolioPnl>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: walletPortfolioPnlsByTokensQueryKey(params),\n queryFn: async () => fetchWalletPortfolioPnlsByTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TradeActivity } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletTradeActivitiesQueryParams\n extends API.GetTradeActivitiesOptions {\n chain: Chain;\n address: string;\n}\n\nexport function walletTradeActivitiesQueryKey(\n params: UseWalletTradeActivitiesQueryParams,\n): string[] {\n return [\n \"walletTradeActivities\",\n params.chain,\n params.address,\n params.before?.toString() ?? \"\",\n params.after?.toString() ?? \"\",\n params.beforeBlockHeight ? `${params.beforeBlockHeight}` : \"\",\n params.afterBlockHeight ? `${params.afterBlockHeight}` : \"\",\n params.type ?? \"\",\n params.poolAddress ?? \"\",\n ];\n}\n\nexport async function fetchWalletTradeActivities(\n client: API.IClient,\n { chain, address, ...options }: UseWalletTradeActivitiesQueryParams,\n) {\n return await client.getWalletTradeActivities(chain, address, options);\n}\n\nexport function useWalletTradeActivitiesQuery(\n params: UseWalletTradeActivitiesQueryParams,\n options: Omit<\n UseQueryOptions<\n API.CursorList<TradeActivity>,\n Error,\n API.CursorList<TradeActivity>,\n string[]\n >,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: walletTradeActivitiesQueryKey(params),\n queryFn: async () => fetchWalletTradeActivities(client, params),\n ...options,\n });\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenSubscriptionParams {\n chain: Chain;\n address: string;\n}\n\nexport function useTokenSubscription(\n params: UseTokenSubscriptionParams,\n callback: (data: Array<API.TokenSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeToken(\n params.chain,\n params.address,\n (data) => callbackRef.current(data),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, params.address, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { Chain, TokenCandle, TokenResolution } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenCandlesSubscriptionParams {\n chain: Chain;\n address: string;\n resolution: TokenResolution;\n}\n\nexport function useTokenCandlesSubscription(\n params: UseTokenCandlesSubscriptionParams,\n callback: (candles: Array<TokenCandle>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeTokenCandles(\n params.chain,\n params.address,\n params.resolution,\n (candles) => callbackRef.current(candles),\n );\n return () => subscription.unsubscribe();\n }, [\n subscribeClient,\n params.chain,\n params.address,\n params.resolution,\n options?.enabled,\n ]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { Chain, TradeActivity } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenTradeActivitiesSubscriptionParams {\n chain: Chain;\n address: string;\n}\n\nexport function useTokenTradeActivitiesSubscription(\n params: UseTokenTradeActivitiesSubscriptionParams,\n callback: (trades: Array<TradeActivity>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeTokenTradeActivities(\n params.chain,\n params.address,\n (trades) => callbackRef.current(trades),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, params.address, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPnlSubscriptionParams {\n chain: Chain;\n address: string;\n}\n\nexport function useWalletPnlSubscription(\n params: UseWalletPnlSubscriptionParams,\n callback: (pnls: Array<API.WalletPnlSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeWalletPnl(\n params.chain,\n params.address,\n (pnls) => callbackRef.current(pnls),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, params.address, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfoliosSubscriptionParams {\n chain: Chain;\n address: string;\n}\n\nexport function useWalletPortfoliosSubscription(\n params: UseWalletPortfoliosSubscriptionParams,\n callback: (portfolios: Array<API.PortfolioSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeWalletPortfolios(\n params.chain,\n params.address,\n (portfolios) => callbackRef.current(portfolios),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, params.address, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfolioPnlsSubscriptionParams {\n chain: Chain;\n address: string;\n}\n\nexport function useWalletPortfolioPnlsSubscription(\n params: UseWalletPortfolioPnlsSubscriptionParams,\n callback: (portfolioPnls: Array<API.PortfolioPnlSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeWalletPortfolioPnls(\n params.chain,\n params.address,\n (portfolioPnls) => callbackRef.current(portfolioPnls),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, params.address, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { Chain, TradeActivity } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletTradeActivitiesSubscriptionParams {\n chain: Chain;\n address: string;\n}\n\nexport function useWalletTradeActivitiesSubscription(\n params: UseWalletTradeActivitiesSubscriptionParams,\n callback: (trades: Array<TradeActivity>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeWalletTradeActivities(\n params.chain,\n params.address,\n (trades) => callbackRef.current(trades),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, params.address, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseNewTokensSubscriptionParams {\n chain: Chain;\n}\n\nexport function useNewTokensSubscription(\n params: UseNewTokensSubscriptionParams,\n callback: (tokens: Array<API.TokenSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeNewTokens(\n params.chain,\n (tokens) => callbackRef.current(tokens),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTrendingTokensSubscriptionParams {\n chain: Chain;\n}\n\nexport function useTrendingTokensSubscription(\n params: UseTrendingTokensSubscriptionParams,\n callback: (data: Array<API.TokenSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeTrendingTokens(\n params.chain,\n (data) => callbackRef.current(data),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseMigratedTokensSubscriptionParams {\n chain: Chain;\n}\n\nexport function useMigratedTokensSubscription(\n params: UseMigratedTokensSubscriptionParams,\n callback: (data: Array<API.TokenSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeMigratedTokens(\n params.chain,\n (data) => callbackRef.current(data),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseFinalStretchTokensSubscriptionParams {\n chain: Chain;\n}\n\nexport function useFinalStretchTokensSubscription(\n params: UseFinalStretchTokensSubscriptionParams,\n callback: (data: Array<API.TokenSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeFinalStretchTokens(\n params.chain,\n (data) => callbackRef.current(data),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseStockTokensSubscriptionParams {\n chain: Chain;\n}\n\nexport function useStockTokensSubscription(\n params: UseStockTokensSubscriptionParams,\n callback: (data: Array<API.TokenSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeStockTokens(\n params.chain,\n (data) => callbackRef.current(data),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, options?.enabled]);\n}\n","import { PropsWithChildren, useMemo } from \"react\";\nimport { DexClientContext, DexClientContextValue } from \"./DexClientContext\";\n\nexport type DexClientProviderProps = PropsWithChildren<DexClientContextValue>;\n\nexport function DexClientProvider({\n client,\n subscribeClient,\n children,\n}: DexClientProviderProps) {\n const value = useMemo(\n () => ({ client, subscribeClient }),\n [client, subscribeClient],\n );\n\n return (\n <DexClientContext.Provider value={value}>\n {children}\n </DexClientContext.Provider>\n );\n}\n"]}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {createContext,useContext,useRef,useEffect,useMemo}from'react';import {useQuery,useMutation,useInfiniteQuery}from'@tanstack/react-query';import {jsx}from'react/jsx-runtime';var a=createContext({});function n(){let e=useContext(a);if(!e)throw new Error("useDexClient must be used within an DexClientProvider");return e}function f(e){return ["finalStretchTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function P(e,{chain:r,...t}){return await e.getFinalStretchTokens(r,t)}function fr(e,r={}){let{client:t}=n();return useQuery({queryKey:f(e),queryFn:async()=>P(t,e),...r})}function m(e){return ["migratedTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function T(e,{chain:r,...t}){return await e.getMigratedTokens(r,t)}function kr(e,r={}){let{client:t}=n();return useQuery({queryKey:m(e),queryFn:async()=>T(t,e),...r})}function p(e){return ["newTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function x(e,{chain:r,...t}){return await e.getNewTokens(r,t)}function Cr(e,r={}){let{client:t}=n();return useQuery({queryKey:p(e),queryFn:async()=>x(t,e),...r})}async function Q(e){return await e.getPresignedUploadUrl()}function Sr(e={}){let{client:r}=n();return useQuery({queryKey:["presignedUploadUrl"],queryFn:async()=>Q(r),staleTime:0,...e})}function b(e){return ["searchTokens",e.cursor??"",e.limit?`${e.limit}`:"",e.direction??"",JSON.stringify((e.chains??[]).sort()),e.keyword??"",JSON.stringify(e.filters??[]),e.sortBy??"",e.sortDirection??""]}async function g(e,r){return await e.searchTokens(r)}function wr(e,r={}){let{client:t}=n();return useQuery({queryKey:b(e),queryFn:async()=>g(t,e),...r})}async function A(e,r){return await e.sendTx(r)}function Rr(e={}){let{client:r}=n();return useMutation({mutationFn:async t=>A(r,t),...e})}function I(e){return ["stockTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function O(e,{chain:r,...t}){return await e.getStockTokens(r,t)}function Hr(e,r={}){let{client:t}=n();return useQuery({queryKey:I(e),queryFn:async()=>O(t,e),...r})}function W(e){return ["swapRoute",e.chain,e.userAddress,e.input,e.output,e.mode,e.amount,e.slippage?`${e.slippage}`:"",e.priorityFee??"",e.tipFee??"",e.isAntiMev!==void 0?`${e.isAntiMev}`:""]}async function w(e,r){return await e.swapRoute(r)}function Vr(e,r={}){let{client:t}=n();return useQuery({queryKey:W(e),queryFn:async()=>w(t,e),...r})}function D(e){return ["tokenCandles",e.chain,e.address,e.resolution,e.after?.toString()??"",e.before?.toString()??"",e.limit?`${e.limit}`:""]}async function F(e,{chain:r,address:t,resolution:o,...i}){return await e.getTokenCandles(r,t,o,i)}function Zr(e,r={}){let{client:t}=n();return useQuery({queryKey:D(e),queryFn:async()=>F(t,e),...r})}function R(e){return ["tokenHolders",e.chain,e.address,e.cursor??"",e.limit?`${e.limit}`:"",e.direction??""]}async function E(e,{chain:r,address:t,...o}){return await e.getTokenHolders(r,t,o)}function nt(e,r={}){let{client:t}=n();return useQuery({queryKey:R(e),queryFn:async()=>E(t,e),...r})}function N(e){return ["tokenMarketData",e.chain,e.address]}async function B(e,{chain:r,address:t}){return await e.getTokenMarketData(r,t)}function at(e,r={}){let{client:t}=n();return useQuery({queryKey:N(e),queryFn:async()=>B(t,e),...r})}function J(e){return ["token",e.chain,e.address]}async function L(e,{chain:r,address:t}){return await e.getToken(r,t)}function Pt(e,r={}){let{client:t}=n();return useQuery({queryKey:J(e),queryFn:async()=>L(t,e),...r})}function G(e){return ["tokenSecurity",e.chain,e.address]}async function V(e,{chain:r,address:t}){return await e.getTokenSecurity(r,t)}function pt(e,r={}){let{client:t}=n();return useQuery({queryKey:G(e),queryFn:async()=>V(t,e),...r})}function z(e){return ["tokens",e.chain,e.addresses.sort().join(",")]}async function X(e,{chain:r,addresses:t}){return await e.getTokens(r,t)}function bt(e,r={}){let{client:t}=n();return useQuery({queryKey:z(e),queryFn:async()=>X(t,e),...r})}function Z(e){return ["tokenStats",e.chain,e.address]}async function _(e,{chain:r,address:t}){return await e.getTokenStats(r,t)}function It(e,r={}){let{client:t}=n();return useQuery({queryKey:Z(e),queryFn:async()=>_(t,e),...r})}function re(e){return ["tokenTradeActivities",e.chain,e.address,e.before?.toString()??"",e.after?.toString()??"",e.beforeBlockHeight?`${e.beforeBlockHeight}`:"",e.afterBlockHeight?`${e.afterBlockHeight}`:"",e.type??"",e.poolAddress??""]}async function te(e,{chain:r,address:t,...o}){return await e.getTokenTradeActivities(r,t,o)}function Kt(e,r={}){let{client:t}=n();return useQuery({queryKey:re(e),queryFn:async()=>te(t,e),...r})}function oe(e){return ["trendingTokens",e.chain,e.resolution,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function ie(e,{chain:r,resolution:t,...o}){return await e.getTrendingTokens(r,t,o)}function Et(e,r={}){let{client:t}=n();return useQuery({queryKey:oe(e),queryFn:async()=>ie(t,e),...r})}function ue(e){return ["txSuccess",e.chain,e.txHash,e.timeout?`${e.timeout}`:""]}async function ae(e,{chain:r,txHash:t,timeout:o}){return await e.checkTxSuccess(r,t,o)}function Jt(e,r={}){let{client:t}=n();return useQuery({queryKey:ue(e),queryFn:async()=>ae(t,e),...r})}function ce(e){return ["walletPnl",e.chain,e.address,e.resolution??"all"]}async function ye(e,{chain:r,address:t,resolution:o}){return await e.getWalletPnl(r,t,o)}function jt(e,r={}){let{client:t}=n();return useQuery({queryKey:ce(e),queryFn:async()=>ye(t,e),...r})}function Pe(e){return ["walletPortfolioPnls",e.chain,e.address,e.cursor??"",String(e.limit??"")]}async function de(e,{chain:r,address:t,cursor:o,limit:i}){return await e.getWalletPortfolioPnls(r,t,{cursor:o,limit:i})}function _t(e,r={}){let{client:t}=n();return useQuery({queryKey:Pe(e),queryFn:async()=>de(t,e),...r})}function Te(e){return ["walletPortfolioPnls","infinite",e.chain,e.address,String(e.limit??"")]}function nn(e,r={}){let{client:t}=n();return useInfiniteQuery({queryKey:Te(e),queryFn:async({pageParam:o})=>t.getWalletPortfolioPnls(e.chain,e.address,{cursor:o,limit:e.limit??100}),initialPageParam:void 0,getNextPageParam:o=>o.hasNext?o.endCursor:void 0,...r})}function pe(e){return ["walletPortfolios",e.chain,e.address,e.cursor??"",String(e.limit??"")]}async function xe(e,{chain:r,address:t,cursor:o,limit:i}){return await e.getWalletPortfolios(r,t,{cursor:o,limit:i})}function ln(e,r={}){let{client:t}=n();return useQuery({queryKey:pe(e),queryFn:async()=>xe(t,e),...r})}function Qe(e){return ["walletPortfoliosByTokens",e.chain,e.address,...e.tokenAddresses.slice().sort()]}async function Ce(e,{chain:r,address:t,tokenAddresses:o}){return await e.getWalletPortfoliosByTokens(r,t,o)}function dn(e,r={}){let{client:t}=n();return useQuery({queryKey:Qe(e),queryFn:async()=>Ce(t,e),...r})}function ge(e){return ["walletPortfolios","infinite",e.chain,e.address,String(e.limit??"")]}function pn(e,r={}){let{client:t}=n();return useInfiniteQuery({queryKey:ge(e),queryFn:async({pageParam:o})=>t.getWalletPortfolios(e.chain,e.address,{cursor:o,limit:e.limit??100}),initialPageParam:void 0,getNextPageParam:o=>o.hasNext?o.endCursor:void 0,...r})}function Ae(e){return ["walletPortfolioPnlsByTokens",e.chain,e.address,...e.tokenAddresses.slice().sort()]}async function Se(e,{chain:r,address:t,tokenAddresses:o}){return await e.getWalletPortfolioPnlsByTokens(r,t,o)}function bn(e,r={}){let{client:t}=n();return useQuery({queryKey:Ae(e),queryFn:async()=>Se(t,e),...r})}function Oe(e){return ["walletTradeActivities",e.chain,e.address,e.before?.toString()??"",e.after?.toString()??"",e.beforeBlockHeight?`${e.beforeBlockHeight}`:"",e.afterBlockHeight?`${e.afterBlockHeight}`:"",e.type??"",e.poolAddress??""]}async function qe(e,{chain:r,address:t,...o}){return await e.getWalletTradeActivities(r,t,o)}function In(e,r={}){let{client:t}=n();return useQuery({queryKey:Oe(e),queryFn:async()=>qe(t,e),...r})}function wn(e,r,t){let{subscribeClient:o}=n(),i=useRef(r);i.current=r,useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeToken(e.chain,e.address,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,t?.enabled]);}function vn(e,r,t){let{subscribeClient:o}=n(),i=useRef(r);i.current=r,useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeTokenCandles(e.chain,e.address,e.resolution,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,e.resolution,t?.enabled]);}function Nn(e,r,t){let{subscribeClient:o}=n(),i=useRef(r);i.current=r,useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeTokenTradeActivities(e.chain,e.address,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,t?.enabled]);}function Ln(e,r,t){let{subscribeClient:o}=n(),i=useRef(r);i.current=r,useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeWalletPnl(e.chain,e.address,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,t?.enabled]);}function jn(e,r,t){let{subscribeClient:o}=n(),i=useRef(r);i.current=r,useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeWalletPortfolios(e.chain,e.address,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,t?.enabled]);}function Zn(e,r,t){let{subscribeClient:o}=n(),i=useRef(r);i.current=r,useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeWalletPortfolioPnls(e.chain,e.address,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,t?.enabled]);}function to(e,r,t){let{subscribeClient:o}=n(),i=useRef(r);i.current=r,useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeWalletTradeActivities(e.chain,e.address,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,e.address,t?.enabled]);}function so(e,r,t){let{subscribeClient:o}=n(),i=useRef(r);i.current=r,useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeNewTokens(e.chain,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,t?.enabled]);}function co(e,r,t){let{subscribeClient:o}=n(),i=useRef(r);i.current=r,useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeTrendingTokens(e.chain,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,t?.enabled]);}function mo(e,r,t){let{subscribeClient:o}=n(),i=useRef(r);i.current=r,useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeMigratedTokens(e.chain,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,t?.enabled]);}function xo(e,r,t){let{subscribeClient:o}=n(),i=useRef(r);i.current=r,useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeFinalStretchTokens(e.chain,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,t?.enabled]);}function bo(e,r,t){let{subscribeClient:o}=n(),i=useRef(r);i.current=r,useEffect(()=>{if(t?.enabled===false)return;let s=o.subscribeStockTokens(e.chain,u=>i.current(u));return ()=>s.unsubscribe()},[o,e.chain,t?.enabled]);}function mi({client:e,subscribeClient:r,children:t}){let o=useMemo(()=>({client:e,subscribeClient:r}),[e,r]);return jsx(a.Provider,{value:o,children:t})}export{a as DexClientContext,mi as DexClientProvider,P as fetchFinalStretchTokens,T as fetchMigratedTokens,x as fetchNewTokens,Q as fetchPresignedUploadUrl,g as fetchSearchTokens,O as fetchStockTokens,w as fetchSwapRoute,L as fetchToken,F as fetchTokenCandles,E as fetchTokenHolders,B as fetchTokenMarketData,V as fetchTokenSecurity,_ as fetchTokenStats,te as fetchTokenTradeActivities,X as fetchTokens,ie as fetchTrendingTokens,ae as fetchTxSuccess,ye as fetchWalletPnl,de as fetchWalletPortfolioPnls,Se as fetchWalletPortfolioPnlsByTokens,xe as fetchWalletPortfolios,Ce as fetchWalletPortfoliosByTokens,qe as fetchWalletTradeActivities,f as finalStretchTokensQueryKey,m as migratedTokensQueryKey,p as newTokensQueryKey,b as searchTokensQueryKey,A as sendTx,I as stockTokensQueryKey,W as swapRouteQueryKey,D as tokenCandlesQueryKey,R as tokenHoldersQueryKey,N as tokenMarketDataQueryKey,J as tokenQueryKey,G as tokenSecurityQueryKey,Z as tokenStatsQueryKey,re as tokenTradeActivitiesQueryKey,z as tokensQueryKey,oe as trendingTokensQueryKey,ue as txSuccessQueryKey,n as useDexClient,fr as useFinalStretchTokensQuery,xo as useFinalStretchTokensSubscription,kr as useMigratedTokensQuery,mo as useMigratedTokensSubscription,Cr as useNewTokensQuery,so as useNewTokensSubscription,Sr as usePresignedUploadUrlQuery,wr as useSearchTokensQuery,Rr as useSendTxMutation,Hr as useStockTokensQuery,bo as useStockTokensSubscription,Vr as useSwapRouteQuery,Zr as useTokenCandlesQuery,vn as useTokenCandlesSubscription,nt as useTokenHoldersQuery,at as useTokenMarketDataQuery,Pt as useTokenQuery,pt as useTokenSecurityQuery,It as useTokenStatsQuery,wn as useTokenSubscription,Kt as useTokenTradeActivitiesQuery,Nn as useTokenTradeActivitiesSubscription,bt as useTokensQuery,Et as useTrendingTokensQuery,co as useTrendingTokensSubscription,Jt as useTxSuccessQuery,jt as useWalletPnlQuery,Ln as useWalletPnlSubscription,bn as useWalletPortfolioPnlsByTokensQuery,nn as useWalletPortfolioPnlsInfiniteQuery,_t as useWalletPortfolioPnlsQuery,Zn as useWalletPortfolioPnlsSubscription,dn as useWalletPortfoliosByTokensQuery,pn as useWalletPortfoliosInfiniteQuery,ln as useWalletPortfoliosQuery,jn as useWalletPortfoliosSubscription,In as useWalletTradeActivitiesQuery,to as useWalletTradeActivitiesSubscription,ce as walletPnlQueryKey,Ae as walletPortfolioPnlsByTokensQueryKey,Te as walletPortfolioPnlsInfiniteQueryKey,Pe as walletPortfolioPnlsQueryKey,Qe as walletPortfoliosByTokensQueryKey,ge as walletPortfoliosInfiniteQueryKey,pe as walletPortfoliosQueryKey,Oe as walletTradeActivitiesQueryKey};//# sourceMappingURL=index.mjs.map
|
|
2
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/DexClientContext.ts","../src/hooks/useDexClient.ts","../src/hooks/useFinalStretchTokensQuery.ts","../src/hooks/useMigratedTokensQuery.ts","../src/hooks/useNewTokensQuery.ts","../src/hooks/usePresignedUploadUrlQuery.ts","../src/hooks/useSearchTokensQuery.ts","../src/hooks/useSendTxMutation.ts","../src/hooks/useStockTokensQuery.ts","../src/hooks/useSwapRouteQuery.ts","../src/hooks/useTokenCandlesQuery.ts","../src/hooks/useTokenHoldersQuery.ts","../src/hooks/useTokenMarketDataQuery.ts","../src/hooks/useTokenQuery.ts","../src/hooks/useTokenSecurityQuery.ts","../src/hooks/useTokensQuery.ts","../src/hooks/useTokenStatsQuery.ts","../src/hooks/useTokenTradeActivitiesQuery.ts","../src/hooks/useTrendingTokensQuery.ts","../src/hooks/useTxSuccessQuery.ts","../src/hooks/useWalletPnlQuery.ts","../src/hooks/useWalletPortfolioPnlsQuery.ts","../src/hooks/useWalletPortfolioPnlsInfiniteQuery.ts","../src/hooks/useWalletPortfoliosQuery.ts","../src/hooks/useWalletPortfoliosByTokensQuery.ts","../src/hooks/useWalletPortfoliosInfiniteQuery.ts","../src/hooks/useWalletPortfolioPnlsByTokensQuery.ts","../src/hooks/useWalletTradeActivitiesQuery.ts","../src/hooks/useTokenSubscription.ts","../src/hooks/useTokenCandlesSubscription.ts","../src/hooks/useTokenTradeActivitiesSubscription.ts","../src/hooks/useWalletPnlSubscription.ts","../src/hooks/useWalletPortfoliosSubscription.ts","../src/hooks/useWalletPortfolioPnlsSubscription.ts","../src/hooks/useWalletTradeActivitiesSubscription.ts","../src/hooks/useNewTokensSubscription.ts","../src/hooks/useTrendingTokensSubscription.ts","../src/hooks/useMigratedTokensSubscription.ts","../src/hooks/useFinalStretchTokensSubscription.ts","../src/hooks/useStockTokensSubscription.ts","../src/DexClientProvider.tsx"],"names":["DexClientContext","createContext","useDexClient","context","useContext","finalStretchTokensQueryKey","params","fetchFinalStretchTokens","client","chain","options","useFinalStretchTokensQuery","useQuery","migratedTokensQueryKey","fetchMigratedTokens","useMigratedTokensQuery","newTokensQueryKey","fetchNewTokens","useNewTokensQuery","fetchPresignedUploadUrl","usePresignedUploadUrlQuery","searchTokensQueryKey","fetchSearchTokens","useSearchTokensQuery","sendTx","useSendTxMutation","useMutation","stockTokensQueryKey","fetchStockTokens","useStockTokensQuery","swapRouteQueryKey","fetchSwapRoute","useSwapRouteQuery","tokenCandlesQueryKey","fetchTokenCandles","address","resolution","useTokenCandlesQuery","tokenHoldersQueryKey","fetchTokenHolders","useTokenHoldersQuery","tokenMarketDataQueryKey","fetchTokenMarketData","useTokenMarketDataQuery","tokenQueryKey","fetchToken","useTokenQuery","tokenSecurityQueryKey","fetchTokenSecurity","useTokenSecurityQuery","tokensQueryKey","fetchTokens","addresses","useTokensQuery","tokenStatsQueryKey","fetchTokenStats","useTokenStatsQuery","tokenTradeActivitiesQueryKey","fetchTokenTradeActivities","useTokenTradeActivitiesQuery","trendingTokensQueryKey","fetchTrendingTokens","useTrendingTokensQuery","txSuccessQueryKey","fetchTxSuccess","txHash","timeout","useTxSuccessQuery","walletPnlQueryKey","fetchWalletPnl","useWalletPnlQuery","walletPortfolioPnlsQueryKey","fetchWalletPortfolioPnls","cursor","limit","useWalletPortfolioPnlsQuery","walletPortfolioPnlsInfiniteQueryKey","useWalletPortfolioPnlsInfiniteQuery","useInfiniteQuery","pageParam","lastPage","walletPortfoliosQueryKey","fetchWalletPortfolios","useWalletPortfoliosQuery","walletPortfoliosByTokensQueryKey","fetchWalletPortfoliosByTokens","tokenAddresses","useWalletPortfoliosByTokensQuery","walletPortfoliosInfiniteQueryKey","useWalletPortfoliosInfiniteQuery","walletPortfolioPnlsByTokensQueryKey","fetchWalletPortfolioPnlsByTokens","useWalletPortfolioPnlsByTokensQuery","walletTradeActivitiesQueryKey","fetchWalletTradeActivities","useWalletTradeActivitiesQuery","useTokenSubscription","callback","subscribeClient","callbackRef","useRef","useEffect","subscription","data","useTokenCandlesSubscription","candles","useTokenTradeActivitiesSubscription","trades","useWalletPnlSubscription","pnls","useWalletPortfoliosSubscription","portfolios","useWalletPortfolioPnlsSubscription","portfolioPnls","useWalletTradeActivitiesSubscription","useNewTokensSubscription","tokens","useTrendingTokensSubscription","useMigratedTokensSubscription","useFinalStretchTokensSubscription","useStockTokensSubscription","DexClientProvider","children","value","useMemo","jsx"],"mappings":"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","file":"index.mjs","sourcesContent":["import { createContext } from \"react\";\nimport { API } from \"@liberfi.io/types\";\n\nexport interface DexClientContextValue {\n client: API.IClient;\n subscribeClient: API.ISubscribeClient;\n}\n\nexport const DexClientContext = createContext<DexClientContextValue>(\n {} as DexClientContextValue,\n);\n","import { useContext } from \"react\";\nimport { DexClientContext, DexClientContextValue } from \"../DexClientContext\";\n\nexport function useDexClient(): DexClientContextValue {\n const context = useContext(DexClientContext);\n if (!context) {\n throw new Error(\"useDexClient must be used within an DexClientProvider\");\n }\n return context;\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseFinalStretchTokensQueryParams\n extends API.GetTokenListOptions {\n chain: Chain;\n}\n\nexport function finalStretchTokensQueryKey(\n params: UseFinalStretchTokensQueryParams,\n): string[] {\n return [\n \"finalStretchTokens\",\n params.chain,\n params.sortBy ?? \"\",\n params.sortDirection ?? \"\",\n JSON.stringify((params.keywords ?? []).sort()),\n JSON.stringify((params.excludeKeywords ?? []).sort()),\n JSON.stringify(params.filters ?? []),\n ];\n}\n\nexport async function fetchFinalStretchTokens(\n client: API.IClient,\n { chain, ...options }: UseFinalStretchTokensQueryParams,\n) {\n return await client.getFinalStretchTokens(chain, options);\n}\n\nexport function useFinalStretchTokensQuery(\n params: UseFinalStretchTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: finalStretchTokensQueryKey(params),\n queryFn: async () => fetchFinalStretchTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseMigratedTokensQueryParams extends API.GetTokenListOptions {\n chain: Chain;\n}\n\nexport function migratedTokensQueryKey(\n params: UseMigratedTokensQueryParams,\n): string[] {\n return [\n \"migratedTokens\",\n params.chain,\n params.sortBy ?? \"\",\n params.sortDirection ?? \"\",\n JSON.stringify((params.keywords ?? []).sort()),\n JSON.stringify((params.excludeKeywords ?? []).sort()),\n JSON.stringify(params.filters ?? []),\n ];\n}\n\nexport async function fetchMigratedTokens(\n client: API.IClient,\n { chain, ...options }: UseMigratedTokensQueryParams,\n) {\n return await client.getMigratedTokens(chain, options);\n}\n\nexport function useMigratedTokensQuery(\n params: UseMigratedTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: migratedTokensQueryKey(params),\n queryFn: async () => fetchMigratedTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseNewTokensQueryParams extends API.GetTokenListOptions {\n chain: Chain;\n}\n\nexport function newTokensQueryKey(params: UseNewTokensQueryParams): string[] {\n return [\n \"newTokens\",\n params.chain,\n params.sortBy ?? \"\",\n params.sortDirection ?? \"\",\n JSON.stringify((params.keywords ?? []).sort()),\n JSON.stringify((params.excludeKeywords ?? []).sort()),\n JSON.stringify(params.filters ?? []),\n ];\n}\n\nexport async function fetchNewTokens(\n client: API.IClient,\n { chain, ...options }: UseNewTokensQueryParams,\n) {\n return await client.getNewTokens(chain, options);\n}\n\nexport function useNewTokensQuery(\n params: UseNewTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: newTokensQueryKey(params),\n queryFn: async () => fetchNewTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport async function fetchPresignedUploadUrl(client: API.IClient) {\n return await client.getPresignedUploadUrl();\n}\n\nexport function usePresignedUploadUrlQuery(\n options: Omit<\n UseQueryOptions<string, Error, string, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: [\"presignedUploadUrl\"],\n queryFn: async () => fetchPresignedUploadUrl(client),\n staleTime: 0,\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport type UseSearchTokensQueryParams = API.SearchTokensOptions;\n\nexport function searchTokensQueryKey(\n params: UseSearchTokensQueryParams,\n): string[] {\n return [\n \"searchTokens\",\n params.cursor ?? \"\",\n params.limit ? `${params.limit}` : \"\",\n params.direction ?? \"\",\n JSON.stringify((params.chains ?? []).sort()),\n params.keyword ?? \"\",\n JSON.stringify(params.filters ?? []),\n params.sortBy ?? \"\",\n params.sortDirection ?? \"\",\n ];\n}\n\nexport async function fetchSearchTokens(\n client: API.IClient,\n params: UseSearchTokensQueryParams,\n) {\n return await client.searchTokens(params);\n}\n\nexport function useSearchTokensQuery(\n params: UseSearchTokensQueryParams,\n options: Omit<\n UseQueryOptions<\n API.SearchTokenCursorList,\n Error,\n API.SearchTokenCursorList,\n string[]\n >,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: searchTokensQueryKey(params),\n queryFn: async () => fetchSearchTokens(client, params),\n ...options,\n });\n}\n","import { useMutation, UseMutationOptions } from \"@tanstack/react-query\";\nimport { API } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport type UseSendTxMutationParams = API.SendTxParams;\n\nexport async function sendTx(\n client: API.IClient,\n params: UseSendTxMutationParams,\n) {\n return await client.sendTx(params);\n}\n\nexport function useSendTxMutation(\n options: Omit<\n UseMutationOptions<API.SendTxResult, Error, UseSendTxMutationParams>,\n \"mutationFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useMutation({\n mutationFn: async (params: UseSendTxMutationParams) =>\n sendTx(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseStockTokensQueryParams extends API.GetTokenListOptions {\n chain: Chain;\n}\n\nexport function stockTokensQueryKey(\n params: UseStockTokensQueryParams,\n): string[] {\n return [\n \"stockTokens\",\n params.chain,\n params.sortBy ?? \"\",\n params.sortDirection ?? \"\",\n JSON.stringify((params.keywords ?? []).sort()),\n JSON.stringify((params.excludeKeywords ?? []).sort()),\n JSON.stringify(params.filters ?? []),\n ];\n}\n\nexport async function fetchStockTokens(\n client: API.IClient,\n { chain, ...options }: UseStockTokensQueryParams,\n) {\n return await client.getStockTokens(chain, options);\n}\n\nexport function useStockTokensQuery(\n params: UseStockTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: stockTokensQueryKey(params),\n queryFn: async () => fetchStockTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport type UseSwapRouteQueryParams = API.SwapParams;\n\nexport function swapRouteQueryKey(params: UseSwapRouteQueryParams): string[] {\n return [\n \"swapRoute\",\n params.chain,\n params.userAddress,\n params.input,\n params.output,\n params.mode,\n params.amount,\n params.slippage ? `${params.slippage}` : \"\",\n params.priorityFee ?? \"\",\n params.tipFee ?? \"\",\n params.isAntiMev !== undefined ? `${params.isAntiMev}` : \"\",\n ];\n}\n\nexport async function fetchSwapRoute(\n client: API.IClient,\n params: UseSwapRouteQueryParams,\n) {\n return await client.swapRoute(params);\n}\n\nexport function useSwapRouteQuery(\n params: UseSwapRouteQueryParams,\n options: Omit<\n UseQueryOptions<API.SwapRoute, Error, API.SwapRoute, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: swapRouteQueryKey(params),\n queryFn: async () => fetchSwapRoute(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TokenCandle, TokenResolution } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenCandlesQueryParams extends API.GetTokenCandlesOptions {\n chain: Chain;\n address: string;\n resolution: TokenResolution;\n}\n\nexport function tokenCandlesQueryKey(\n params: UseTokenCandlesQueryParams,\n): string[] {\n return [\n \"tokenCandles\",\n params.chain,\n params.address,\n params.resolution,\n params.after?.toString() ?? \"\",\n params.before?.toString() ?? \"\",\n params.limit ? `${params.limit}` : \"\",\n ];\n}\n\nexport async function fetchTokenCandles(\n client: API.IClient,\n { chain, address, resolution, ...options }: UseTokenCandlesQueryParams,\n) {\n return await client.getTokenCandles(chain, address, resolution, options);\n}\n\nexport function useTokenCandlesQuery(\n params: UseTokenCandlesQueryParams,\n options: Omit<\n UseQueryOptions<Array<TokenCandle>, Error, Array<TokenCandle>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenCandlesQueryKey(params),\n queryFn: async () => fetchTokenCandles(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TokenHolder } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenHoldersQueryParams extends API.CursorListOptions {\n chain: Chain;\n address: string;\n}\n\nexport function tokenHoldersQueryKey(\n params: UseTokenHoldersQueryParams,\n): string[] {\n return [\n \"tokenHolders\",\n params.chain,\n params.address,\n params.cursor ?? \"\",\n params.limit ? `${params.limit}` : \"\",\n params.direction ?? \"\",\n ];\n}\n\nexport async function fetchTokenHolders(\n client: API.IClient,\n { chain, address, ...options }: UseTokenHoldersQueryParams,\n) {\n return await client.getTokenHolders(chain, address, options);\n}\n\nexport function useTokenHoldersQuery(\n params: UseTokenHoldersQueryParams,\n options: Omit<\n UseQueryOptions<\n API.CursorList<TokenHolder>,\n Error,\n API.CursorList<TokenHolder>,\n string[]\n >,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenHoldersQueryKey(params),\n queryFn: async () => fetchTokenHolders(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TokenMarketData } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenMarketDataQueryParams {\n chain: Chain;\n address: string;\n}\n\nexport function tokenMarketDataQueryKey(\n params: UseTokenMarketDataQueryParams,\n): string[] {\n return [\"tokenMarketData\", params.chain, params.address];\n}\n\nexport async function fetchTokenMarketData(\n client: API.IClient,\n { chain, address }: UseTokenMarketDataQueryParams,\n) {\n return await client.getTokenMarketData(chain, address);\n}\n\nexport function useTokenMarketDataQuery(\n params: UseTokenMarketDataQueryParams,\n options: Omit<\n UseQueryOptions<TokenMarketData, Error, TokenMarketData, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenMarketDataQueryKey(params),\n queryFn: async () => fetchTokenMarketData(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenQueryParams {\n chain: Chain;\n address: string;\n}\n\nexport function tokenQueryKey(params: UseTokenQueryParams): string[] {\n return [\"token\", params.chain, params.address];\n}\n\nexport async function fetchToken(\n client: API.IClient,\n { chain, address }: UseTokenQueryParams,\n) {\n return await client.getToken(chain, address);\n}\n\nexport function useTokenQuery(\n params: UseTokenQueryParams,\n options: Omit<\n UseQueryOptions<Token, Error, Token, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenQueryKey(params),\n queryFn: async () => fetchToken(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TokenSecurity } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenSecurityQueryParams {\n chain: Chain;\n address: string;\n}\n\nexport function tokenSecurityQueryKey(\n params: UseTokenSecurityQueryParams,\n): string[] {\n return [\"tokenSecurity\", params.chain, params.address];\n}\n\nexport async function fetchTokenSecurity(\n client: API.IClient,\n { chain, address }: UseTokenSecurityQueryParams,\n) {\n return await client.getTokenSecurity(chain, address);\n}\n\nexport function useTokenSecurityQuery(\n params: UseTokenSecurityQueryParams,\n options: Omit<\n UseQueryOptions<TokenSecurity, Error, TokenSecurity, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenSecurityQueryKey(params),\n queryFn: async () => fetchTokenSecurity(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokensQueryParams {\n chain: Chain;\n addresses: Array<string>;\n}\n\nexport function tokensQueryKey(params: UseTokensQueryParams): string[] {\n return [\"tokens\", params.chain, params.addresses.sort().join(\",\")];\n}\n\nexport async function fetchTokens(\n client: API.IClient,\n { chain, addresses }: UseTokensQueryParams,\n) {\n return await client.getTokens(chain, addresses);\n}\n\nexport function useTokensQuery(\n params: UseTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokensQueryKey(params),\n queryFn: async () => fetchTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TokenStats } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenStatsQueryParams {\n chain: Chain;\n address: string;\n}\n\nexport function tokenStatsQueryKey(params: UseTokenStatsQueryParams): string[] {\n return [\"tokenStats\", params.chain, params.address];\n}\n\nexport async function fetchTokenStats(\n client: API.IClient,\n { chain, address }: UseTokenStatsQueryParams,\n) {\n return await client.getTokenStats(chain, address);\n}\n\nexport function useTokenStatsQuery(\n params: UseTokenStatsQueryParams,\n options: Omit<\n UseQueryOptions<TokenStats, Error, TokenStats, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenStatsQueryKey(params),\n queryFn: async () => fetchTokenStats(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TradeActivity } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenTradeActivitiesQueryParams\n extends API.GetTradeActivitiesOptions {\n chain: Chain;\n address: string;\n}\n\nexport function tokenTradeActivitiesQueryKey(\n params: UseTokenTradeActivitiesQueryParams,\n): string[] {\n return [\n \"tokenTradeActivities\",\n params.chain,\n params.address,\n params.before?.toString() ?? \"\",\n params.after?.toString() ?? \"\",\n params.beforeBlockHeight ? `${params.beforeBlockHeight}` : \"\",\n params.afterBlockHeight ? `${params.afterBlockHeight}` : \"\",\n params.type ?? \"\",\n params.poolAddress ?? \"\",\n ];\n}\n\nexport async function fetchTokenTradeActivities(\n client: API.IClient,\n { chain, address, ...options }: UseTokenTradeActivitiesQueryParams,\n) {\n return await client.getTokenTradeActivities(chain, address, options);\n}\n\nexport function useTokenTradeActivitiesQuery(\n params: UseTokenTradeActivitiesQueryParams,\n options: Omit<\n UseQueryOptions<\n API.CursorList<TradeActivity>,\n Error,\n API.CursorList<TradeActivity>,\n string[]\n >,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: tokenTradeActivitiesQueryKey(params),\n queryFn: async () => fetchTokenTradeActivities(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Token } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTrendingTokensQueryParams extends API.GetTokenListOptions {\n chain: Chain;\n resolution: \"1m\" | \"5m\" | \"1h\" | \"4h\" | \"24h\";\n}\n\nexport function trendingTokensQueryKey(\n params: UseTrendingTokensQueryParams,\n): string[] {\n return [\n \"trendingTokens\",\n params.chain,\n params.resolution,\n params.sortBy ?? \"\",\n params.sortDirection ?? \"\",\n JSON.stringify((params.keywords ?? []).sort()),\n JSON.stringify((params.excludeKeywords ?? []).sort()),\n JSON.stringify(params.filters ?? []),\n ];\n}\n\nexport async function fetchTrendingTokens(\n client: API.IClient,\n { chain, resolution, ...options }: UseTrendingTokensQueryParams,\n) {\n return await client.getTrendingTokens(chain, resolution, options);\n}\n\nexport function useTrendingTokensQuery(\n params: UseTrendingTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Token>, Error, Array<Token>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: trendingTokensQueryKey(params),\n queryFn: async () => fetchTrendingTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTxSuccessQueryParams {\n chain: Chain;\n txHash: string;\n timeout?: number;\n}\n\nexport function txSuccessQueryKey(params: UseTxSuccessQueryParams): string[] {\n return [\n \"txSuccess\",\n params.chain,\n params.txHash,\n params.timeout ? `${params.timeout}` : \"\",\n ];\n}\n\nexport async function fetchTxSuccess(\n client: API.IClient,\n { chain, txHash, timeout }: UseTxSuccessQueryParams,\n) {\n return await client.checkTxSuccess(chain, txHash, timeout);\n}\n\nexport function useTxSuccessQuery(\n params: UseTxSuccessQueryParams,\n options: Omit<\n UseQueryOptions<boolean, Error, boolean, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: txSuccessQueryKey(params),\n queryFn: async () => fetchTxSuccess(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, WalletPnl } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPnlQueryParams {\n chain: Chain;\n address: string;\n resolution?: string;\n}\n\nexport function walletPnlQueryKey(params: UseWalletPnlQueryParams): string[] {\n return [\n \"walletPnl\",\n params.chain,\n params.address,\n params.resolution ?? \"all\",\n ];\n}\n\nexport async function fetchWalletPnl(\n client: API.IClient,\n { chain, address, resolution }: UseWalletPnlQueryParams,\n) {\n return await client.getWalletPnl(chain, address, resolution);\n}\n\nexport function useWalletPnlQuery(\n params: UseWalletPnlQueryParams,\n options: Omit<\n UseQueryOptions<WalletPnl, Error, WalletPnl, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: walletPnlQueryKey(params),\n queryFn: async () => fetchWalletPnl(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, WalletPortfolioPnls } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfolioPnlsQueryParams {\n chain: Chain;\n address: string;\n cursor?: string;\n limit?: number;\n}\n\nexport function walletPortfolioPnlsQueryKey(\n params: UseWalletPortfolioPnlsQueryParams,\n): string[] {\n return [\n \"walletPortfolioPnls\",\n params.chain,\n params.address,\n params.cursor ?? \"\",\n String(params.limit ?? \"\"),\n ];\n}\n\nexport async function fetchWalletPortfolioPnls(\n client: API.IClient,\n { chain, address, cursor, limit }: UseWalletPortfolioPnlsQueryParams,\n) {\n return await client.getWalletPortfolioPnls(chain, address, { cursor, limit });\n}\n\nexport function useWalletPortfolioPnlsQuery(\n params: UseWalletPortfolioPnlsQueryParams,\n options: Omit<\n UseQueryOptions<WalletPortfolioPnls, Error, WalletPortfolioPnls, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: walletPortfolioPnlsQueryKey(params),\n queryFn: async () => fetchWalletPortfolioPnls(client, params),\n ...options,\n });\n}\n","import {\n useInfiniteQuery,\n type InfiniteData,\n type UseInfiniteQueryOptions,\n} from \"@tanstack/react-query\";\nimport { Chain, WalletPortfolioPnls } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfolioPnlsInfiniteQueryParams {\n chain: Chain;\n address: string;\n limit?: number;\n}\n\nexport function walletPortfolioPnlsInfiniteQueryKey(\n params: UseWalletPortfolioPnlsInfiniteQueryParams,\n): string[] {\n return [\n \"walletPortfolioPnls\",\n \"infinite\",\n params.chain,\n params.address,\n String(params.limit ?? \"\"),\n ];\n}\n\nexport function useWalletPortfolioPnlsInfiniteQuery(\n params: UseWalletPortfolioPnlsInfiniteQueryParams,\n options: Omit<\n UseInfiniteQueryOptions<\n WalletPortfolioPnls,\n Error,\n InfiniteData<WalletPortfolioPnls>,\n string[],\n string | undefined\n >,\n \"queryKey\" | \"queryFn\" | \"initialPageParam\" | \"getNextPageParam\"\n > = {},\n) {\n const { client } = useDexClient();\n return useInfiniteQuery({\n queryKey: walletPortfolioPnlsInfiniteQueryKey(params),\n queryFn: async ({ pageParam }) =>\n client.getWalletPortfolioPnls(params.chain, params.address, {\n cursor: pageParam,\n limit: params.limit ?? 100,\n }),\n initialPageParam: undefined as string | undefined,\n getNextPageParam: (lastPage) =>\n lastPage.hasNext ? lastPage.endCursor : undefined,\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, WalletPortfolios } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfoliosQueryParams {\n chain: Chain;\n address: string;\n cursor?: string;\n limit?: number;\n}\n\nexport function walletPortfoliosQueryKey(\n params: UseWalletPortfoliosQueryParams,\n): string[] {\n return [\n \"walletPortfolios\",\n params.chain,\n params.address,\n params.cursor ?? \"\",\n String(params.limit ?? \"\"),\n ];\n}\n\nexport async function fetchWalletPortfolios(\n client: API.IClient,\n { chain, address, cursor, limit }: UseWalletPortfoliosQueryParams,\n) {\n return await client.getWalletPortfolios(chain, address, { cursor, limit });\n}\n\nexport function useWalletPortfoliosQuery(\n params: UseWalletPortfoliosQueryParams,\n options: Omit<\n UseQueryOptions<WalletPortfolios, Error, WalletPortfolios, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: walletPortfoliosQueryKey(params),\n queryFn: async () => fetchWalletPortfolios(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, Portfolio } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfoliosByTokensQueryParams {\n chain: Chain;\n address: string;\n tokenAddresses: Array<string>;\n}\n\nexport function walletPortfoliosByTokensQueryKey(\n params: UseWalletPortfoliosByTokensQueryParams,\n): string[] {\n return [\n \"walletPortfoliosByTokens\",\n params.chain,\n params.address,\n ...params.tokenAddresses.slice().sort(),\n ];\n}\n\nexport async function fetchWalletPortfoliosByTokens(\n client: API.IClient,\n { chain, address, tokenAddresses }: UseWalletPortfoliosByTokensQueryParams,\n) {\n return await client.getWalletPortfoliosByTokens(\n chain,\n address,\n tokenAddresses,\n );\n}\n\nexport function useWalletPortfoliosByTokensQuery(\n params: UseWalletPortfoliosByTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<Portfolio>, Error, Array<Portfolio>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: walletPortfoliosByTokensQueryKey(params),\n queryFn: async () => fetchWalletPortfoliosByTokens(client, params),\n ...options,\n });\n}\n","import {\n useInfiniteQuery,\n type InfiniteData,\n type UseInfiniteQueryOptions,\n} from \"@tanstack/react-query\";\nimport { Chain, WalletPortfolios } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfoliosInfiniteQueryParams {\n chain: Chain;\n address: string;\n limit?: number;\n}\n\nexport function walletPortfoliosInfiniteQueryKey(\n params: UseWalletPortfoliosInfiniteQueryParams,\n): string[] {\n return [\n \"walletPortfolios\",\n \"infinite\",\n params.chain,\n params.address,\n String(params.limit ?? \"\"),\n ];\n}\n\nexport function useWalletPortfoliosInfiniteQuery(\n params: UseWalletPortfoliosInfiniteQueryParams,\n options: Omit<\n UseInfiniteQueryOptions<\n WalletPortfolios,\n Error,\n InfiniteData<WalletPortfolios>,\n string[],\n string | undefined\n >,\n \"queryKey\" | \"queryFn\" | \"initialPageParam\" | \"getNextPageParam\"\n > = {},\n) {\n const { client } = useDexClient();\n return useInfiniteQuery({\n queryKey: walletPortfoliosInfiniteQueryKey(params),\n queryFn: async ({ pageParam }) =>\n client.getWalletPortfolios(params.chain, params.address, {\n cursor: pageParam,\n limit: params.limit ?? 100,\n }),\n initialPageParam: undefined as string | undefined,\n getNextPageParam: (lastPage) =>\n lastPage.hasNext ? lastPage.endCursor : undefined,\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, PortfolioPnl } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfolioPnlsByTokensQueryParams {\n chain: Chain;\n address: string;\n tokenAddresses: Array<string>;\n}\n\nexport function walletPortfolioPnlsByTokensQueryKey(\n params: UseWalletPortfolioPnlsByTokensQueryParams,\n): string[] {\n return [\n \"walletPortfolioPnlsByTokens\",\n params.chain,\n params.address,\n ...params.tokenAddresses.slice().sort(),\n ];\n}\n\nexport async function fetchWalletPortfolioPnlsByTokens(\n client: API.IClient,\n { chain, address, tokenAddresses }: UseWalletPortfolioPnlsByTokensQueryParams,\n) {\n return await client.getWalletPortfolioPnlsByTokens(\n chain,\n address,\n tokenAddresses,\n );\n}\n\nexport function useWalletPortfolioPnlsByTokensQuery(\n params: UseWalletPortfolioPnlsByTokensQueryParams,\n options: Omit<\n UseQueryOptions<Array<PortfolioPnl>, Error, Array<PortfolioPnl>, string[]>,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: walletPortfolioPnlsByTokensQueryKey(params),\n queryFn: async () => fetchWalletPortfolioPnlsByTokens(client, params),\n ...options,\n });\n}\n","import { useQuery, UseQueryOptions } from \"@tanstack/react-query\";\nimport { API, Chain, TradeActivity } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletTradeActivitiesQueryParams\n extends API.GetTradeActivitiesOptions {\n chain: Chain;\n address: string;\n}\n\nexport function walletTradeActivitiesQueryKey(\n params: UseWalletTradeActivitiesQueryParams,\n): string[] {\n return [\n \"walletTradeActivities\",\n params.chain,\n params.address,\n params.before?.toString() ?? \"\",\n params.after?.toString() ?? \"\",\n params.beforeBlockHeight ? `${params.beforeBlockHeight}` : \"\",\n params.afterBlockHeight ? `${params.afterBlockHeight}` : \"\",\n params.type ?? \"\",\n params.poolAddress ?? \"\",\n ];\n}\n\nexport async function fetchWalletTradeActivities(\n client: API.IClient,\n { chain, address, ...options }: UseWalletTradeActivitiesQueryParams,\n) {\n return await client.getWalletTradeActivities(chain, address, options);\n}\n\nexport function useWalletTradeActivitiesQuery(\n params: UseWalletTradeActivitiesQueryParams,\n options: Omit<\n UseQueryOptions<\n API.CursorList<TradeActivity>,\n Error,\n API.CursorList<TradeActivity>,\n string[]\n >,\n \"queryKey\" | \"queryFn\"\n > = {},\n) {\n const { client } = useDexClient();\n return useQuery({\n queryKey: walletTradeActivitiesQueryKey(params),\n queryFn: async () => fetchWalletTradeActivities(client, params),\n ...options,\n });\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenSubscriptionParams {\n chain: Chain;\n address: string;\n}\n\nexport function useTokenSubscription(\n params: UseTokenSubscriptionParams,\n callback: (data: Array<API.TokenSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeToken(\n params.chain,\n params.address,\n (data) => callbackRef.current(data),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, params.address, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { Chain, TokenCandle, TokenResolution } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenCandlesSubscriptionParams {\n chain: Chain;\n address: string;\n resolution: TokenResolution;\n}\n\nexport function useTokenCandlesSubscription(\n params: UseTokenCandlesSubscriptionParams,\n callback: (candles: Array<TokenCandle>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeTokenCandles(\n params.chain,\n params.address,\n params.resolution,\n (candles) => callbackRef.current(candles),\n );\n return () => subscription.unsubscribe();\n }, [\n subscribeClient,\n params.chain,\n params.address,\n params.resolution,\n options?.enabled,\n ]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { Chain, TradeActivity } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTokenTradeActivitiesSubscriptionParams {\n chain: Chain;\n address: string;\n}\n\nexport function useTokenTradeActivitiesSubscription(\n params: UseTokenTradeActivitiesSubscriptionParams,\n callback: (trades: Array<TradeActivity>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeTokenTradeActivities(\n params.chain,\n params.address,\n (trades) => callbackRef.current(trades),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, params.address, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPnlSubscriptionParams {\n chain: Chain;\n address: string;\n}\n\nexport function useWalletPnlSubscription(\n params: UseWalletPnlSubscriptionParams,\n callback: (pnls: Array<API.WalletPnlSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeWalletPnl(\n params.chain,\n params.address,\n (pnls) => callbackRef.current(pnls),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, params.address, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfoliosSubscriptionParams {\n chain: Chain;\n address: string;\n}\n\nexport function useWalletPortfoliosSubscription(\n params: UseWalletPortfoliosSubscriptionParams,\n callback: (portfolios: Array<API.PortfolioSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeWalletPortfolios(\n params.chain,\n params.address,\n (portfolios) => callbackRef.current(portfolios),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, params.address, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletPortfolioPnlsSubscriptionParams {\n chain: Chain;\n address: string;\n}\n\nexport function useWalletPortfolioPnlsSubscription(\n params: UseWalletPortfolioPnlsSubscriptionParams,\n callback: (portfolioPnls: Array<API.PortfolioPnlSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeWalletPortfolioPnls(\n params.chain,\n params.address,\n (portfolioPnls) => callbackRef.current(portfolioPnls),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, params.address, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { Chain, TradeActivity } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseWalletTradeActivitiesSubscriptionParams {\n chain: Chain;\n address: string;\n}\n\nexport function useWalletTradeActivitiesSubscription(\n params: UseWalletTradeActivitiesSubscriptionParams,\n callback: (trades: Array<TradeActivity>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeWalletTradeActivities(\n params.chain,\n params.address,\n (trades) => callbackRef.current(trades),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, params.address, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseNewTokensSubscriptionParams {\n chain: Chain;\n}\n\nexport function useNewTokensSubscription(\n params: UseNewTokensSubscriptionParams,\n callback: (tokens: Array<API.TokenSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeNewTokens(\n params.chain,\n (tokens) => callbackRef.current(tokens),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseTrendingTokensSubscriptionParams {\n chain: Chain;\n}\n\nexport function useTrendingTokensSubscription(\n params: UseTrendingTokensSubscriptionParams,\n callback: (data: Array<API.TokenSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeTrendingTokens(\n params.chain,\n (data) => callbackRef.current(data),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseMigratedTokensSubscriptionParams {\n chain: Chain;\n}\n\nexport function useMigratedTokensSubscription(\n params: UseMigratedTokensSubscriptionParams,\n callback: (data: Array<API.TokenSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeMigratedTokens(\n params.chain,\n (data) => callbackRef.current(data),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseFinalStretchTokensSubscriptionParams {\n chain: Chain;\n}\n\nexport function useFinalStretchTokensSubscription(\n params: UseFinalStretchTokensSubscriptionParams,\n callback: (data: Array<API.TokenSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeFinalStretchTokens(\n params.chain,\n (data) => callbackRef.current(data),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, options?.enabled]);\n}\n","import { useEffect, useRef } from \"react\";\nimport { API, Chain } from \"@liberfi.io/types\";\nimport { useDexClient } from \"./useDexClient\";\n\nexport interface UseStockTokensSubscriptionParams {\n chain: Chain;\n}\n\nexport function useStockTokensSubscription(\n params: UseStockTokensSubscriptionParams,\n callback: (data: Array<API.TokenSubscribed>) => void,\n options?: { enabled?: boolean },\n) {\n const { subscribeClient } = useDexClient();\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(() => {\n if (options?.enabled === false) return;\n const subscription = subscribeClient.subscribeStockTokens(\n params.chain,\n (data) => callbackRef.current(data),\n );\n return () => subscription.unsubscribe();\n }, [subscribeClient, params.chain, options?.enabled]);\n}\n","import { PropsWithChildren, useMemo } from \"react\";\nimport { DexClientContext, DexClientContextValue } from \"./DexClientContext\";\n\nexport type DexClientProviderProps = PropsWithChildren<DexClientContextValue>;\n\nexport function DexClientProvider({\n client,\n subscribeClient,\n children,\n}: DexClientProviderProps) {\n const value = useMemo(\n () => ({ client, subscribeClient }),\n [client, subscribeClient],\n );\n\n return (\n <DexClientContext.Provider value={value}>\n {children}\n </DexClientContext.Provider>\n );\n}\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@liberfi.io/react",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "React integration layer for Liberfi SDK",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"module": "dist/index.mjs",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.mjs",
|
|
12
|
+
"require": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"keywords": [],
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"license": "ISC",
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@liberfi.io/types": "0.1.24"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@tanstack/react-query": "^5.90.2",
|
|
25
|
+
"@types/react": "^19.1.13",
|
|
26
|
+
"@types/react-dom": "^19.1.9",
|
|
27
|
+
"react": "^19.1.1",
|
|
28
|
+
"react-dom": "^19.1.1",
|
|
29
|
+
"tsup": "^8.5.0",
|
|
30
|
+
"typescript": "^5.9.2",
|
|
31
|
+
"tsconfig": "0.1.12"
|
|
32
|
+
},
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"react": ">=18",
|
|
35
|
+
"react-dom": ">=18",
|
|
36
|
+
"@tanstack/react-query": "^5.90.2"
|
|
37
|
+
},
|
|
38
|
+
"publishConfig": {
|
|
39
|
+
"access": "public"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {
|
|
42
|
+
"dev": "tsup --watch",
|
|
43
|
+
"build": "tsup",
|
|
44
|
+
"test": "jest"
|
|
45
|
+
}
|
|
46
|
+
}
|