@liberfi.io/client 0.1.23 → 0.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { PropsWithChildren } from 'react';
3
3
  import * as _liberfi_io_types from '@liberfi.io/types';
4
- import { API, Chain, Token, TokenResolution, TokenCandle, TokenHolder, TokenMarketData, TokenSecurity, TokenStats, TradeActivity, WalletPortfolios } from '@liberfi.io/types';
4
+ import { API, Chain, Token, TokenResolution, TokenCandle, TokenHolder, TokenMarketData, TokenSecurity, TokenStats, TradeActivity, WalletPnl, Portfolio, WalletPortfolios } from '@liberfi.io/types';
5
5
  import * as _tanstack_react_query from '@tanstack/react-query';
6
6
  import { UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
7
7
  import { ChainStreamClientOptions, TokenProvider } from '@chainstream-io/sdk';
@@ -14,7 +14,7 @@ declare global {
14
14
  };
15
15
  }
16
16
  }
17
- declare const _default: "0.1.23";
17
+ declare const _default: "0.1.26";
18
18
 
19
19
  interface DexClientContextValue {
20
20
  client: API.IClient;
@@ -151,6 +151,30 @@ declare function txSuccessQueryKey(params: UseTxSuccessQueryParams): string[];
151
151
  declare function fetchTxSuccess(client: API.IClient, { chain, txHash, timeout }: UseTxSuccessQueryParams): Promise<boolean>;
152
152
  declare function useTxSuccessQuery(params: UseTxSuccessQueryParams, options?: Omit<UseQueryOptions<boolean, Error, boolean, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<boolean, Error>;
153
153
 
154
+ interface UseWalletPnlQueryParams {
155
+ chain: Chain;
156
+ address: string;
157
+ resolution?: string;
158
+ }
159
+ declare function walletPnlQueryKey(params: UseWalletPnlQueryParams): string[];
160
+ declare function fetchWalletPnl(client: API.IClient, { chain, address, resolution }: UseWalletPnlQueryParams): Promise<WalletPnl>;
161
+ declare function useWalletPnlQuery(params: UseWalletPnlQueryParams, options?: Omit<UseQueryOptions<WalletPnl, Error, WalletPnl, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<WalletPnl, Error>;
162
+
163
+ interface UseWalletPortfolioPnlsQueryParams {
164
+ chain: Chain;
165
+ address: string;
166
+ cursor?: string;
167
+ limit?: number;
168
+ }
169
+ type WalletPortfolioPnlsResult = API.CursorList<Portfolio> & {
170
+ summary: WalletPnl;
171
+ };
172
+ declare function walletPortfolioPnlsQueryKey(params: UseWalletPortfolioPnlsQueryParams): string[];
173
+ declare function fetchWalletPortfolioPnls(client: API.IClient, { chain, address, cursor, limit }: UseWalletPortfolioPnlsQueryParams): Promise<API.CursorList<Portfolio> & {
174
+ summary: WalletPnl;
175
+ }>;
176
+ declare function useWalletPortfolioPnlsQuery(params: UseWalletPortfolioPnlsQueryParams, options?: Omit<UseQueryOptions<WalletPortfolioPnlsResult, Error, WalletPortfolioPnlsResult, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<WalletPortfolioPnlsResult, Error>;
177
+
154
178
  interface UseWalletPortfoliosQueryParams {
155
179
  chain: Chain;
156
180
  address: string;
@@ -167,6 +191,134 @@ declare function walletTradeActivitiesQueryKey(params: UseWalletTradeActivitiesQ
167
191
  declare function fetchWalletTradeActivities(client: API.IClient, { chain, address, ...options }: UseWalletTradeActivitiesQueryParams): Promise<API.CursorList<TradeActivity>>;
168
192
  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>;
169
193
 
194
+ interface UseTokenStatsSubscriptionParams {
195
+ chain: Chain;
196
+ address: string;
197
+ }
198
+ declare function useTokenStatsSubscription(params: UseTokenStatsSubscriptionParams, callback: (stats: Array<TokenStats>) => void, options?: {
199
+ enabled?: boolean;
200
+ }): void;
201
+
202
+ interface UseTokenCandlesSubscriptionParams {
203
+ chain: Chain;
204
+ address: string;
205
+ resolution: TokenResolution;
206
+ }
207
+ declare function useTokenCandlesSubscription(params: UseTokenCandlesSubscriptionParams, callback: (candles: Array<TokenCandle>) => void, options?: {
208
+ enabled?: boolean;
209
+ }): void;
210
+
211
+ interface UseTokenMarketDataSubscriptionParams {
212
+ chain: Chain;
213
+ address: string;
214
+ }
215
+ declare function useTokenMarketDataSubscription(params: UseTokenMarketDataSubscriptionParams, callback: (marketDatas: Array<TokenMarketData>) => void, options?: {
216
+ enabled?: boolean;
217
+ }): void;
218
+
219
+ interface UseTokenTradeActivitiesSubscriptionParams {
220
+ chain: Chain;
221
+ address: string;
222
+ }
223
+ declare function useTokenTradeActivitiesSubscription(params: UseTokenTradeActivitiesSubscriptionParams, callback: (trades: Array<TradeActivity>) => void, options?: {
224
+ enabled?: boolean;
225
+ }): void;
226
+
227
+ interface UseWalletPnlSubscriptionParams {
228
+ chain: Chain;
229
+ address: string;
230
+ }
231
+ declare function useWalletPnlSubscription(params: UseWalletPnlSubscriptionParams, callback: (pnls: Array<API.WalletPnlSubscribed>) => void, options?: {
232
+ enabled?: boolean;
233
+ }): void;
234
+
235
+ interface UseWalletPortfoliosSubscriptionParams {
236
+ chain: Chain;
237
+ address: string;
238
+ }
239
+ declare function useWalletPortfoliosSubscription(params: UseWalletPortfoliosSubscriptionParams, callback: (portfolios: Array<API.PortfolioSubscribed>) => void, options?: {
240
+ enabled?: boolean;
241
+ }): void;
242
+
243
+ interface UseWalletPortfolioPnlsSubscriptionParams {
244
+ chain: Chain;
245
+ address: string;
246
+ }
247
+ declare function useWalletPortfolioPnlsSubscription(params: UseWalletPortfolioPnlsSubscriptionParams, callback: (portfolioPnls: Array<API.PortfolioPnlSubscribed>) => void, options?: {
248
+ enabled?: boolean;
249
+ }): void;
250
+
251
+ interface UseWalletTradeActivitiesSubscriptionParams {
252
+ chain: Chain;
253
+ address: string;
254
+ }
255
+ declare function useWalletTradeActivitiesSubscription(params: UseWalletTradeActivitiesSubscriptionParams, callback: (trades: Array<TradeActivity>) => void, options?: {
256
+ enabled?: boolean;
257
+ }): void;
258
+
259
+ interface UseNewTokensSubscriptionParams {
260
+ chain: Chain;
261
+ }
262
+ declare function useNewTokensSubscription(params: UseNewTokensSubscriptionParams, callback: (tokens: Array<API.TokenSubscribed>) => void, options?: {
263
+ enabled?: boolean;
264
+ }): void;
265
+
266
+ interface UseNewTokensBasicSubscriptionParams {
267
+ chain: Chain;
268
+ }
269
+ declare function useNewTokensBasicSubscription(params: UseNewTokensBasicSubscriptionParams, callback: (tokens: Array<API.TokenSubscribed>) => void, options?: {
270
+ enabled?: boolean;
271
+ }): void;
272
+
273
+ interface UseNewTokensMarketDataSubscriptionParams {
274
+ chain: Chain;
275
+ }
276
+ declare function useNewTokensMarketDataSubscription(params: UseNewTokensMarketDataSubscriptionParams, callback: (marketDatas: Array<TokenMarketData>) => void, options?: {
277
+ enabled?: boolean;
278
+ }): void;
279
+
280
+ interface UseNewTokensStatsSubscriptionParams {
281
+ chain: Chain;
282
+ }
283
+ declare function useNewTokensStatsSubscription(params: UseNewTokensStatsSubscriptionParams, callback: (stats: Array<TokenStats>) => void, options?: {
284
+ enabled?: boolean;
285
+ }): void;
286
+
287
+ interface UseNewTokensDataSubscriptionParams {
288
+ chain: Chain;
289
+ }
290
+ declare function useNewTokensDataSubscription(params: UseNewTokensDataSubscriptionParams, callback: (data: Array<API.TokenDataSubscribed>) => void, options?: {
291
+ enabled?: boolean;
292
+ }): void;
293
+
294
+ interface UseMigratedTokensDataSubscriptionParams {
295
+ chain: Chain;
296
+ }
297
+ declare function useMigratedTokensDataSubscription(params: UseMigratedTokensDataSubscriptionParams, callback: (data: Array<API.TokenDataSubscribed>) => void, options?: {
298
+ enabled?: boolean;
299
+ }): void;
300
+
301
+ interface UseFinalStretchTokensDataSubscriptionParams {
302
+ chain: Chain;
303
+ }
304
+ declare function useFinalStretchTokensDataSubscription(params: UseFinalStretchTokensDataSubscriptionParams, callback: (data: Array<API.TokenDataSubscribed>) => void, options?: {
305
+ enabled?: boolean;
306
+ }): void;
307
+
308
+ interface UseTrendingTokensDataSubscriptionParams {
309
+ chain: Chain;
310
+ }
311
+ declare function useTrendingTokensDataSubscription(params: UseTrendingTokensDataSubscriptionParams, callback: (data: Array<API.TokenDataSubscribed>) => void, options?: {
312
+ enabled?: boolean;
313
+ }): void;
314
+
315
+ interface UseStockTokensDataSubscriptionParams {
316
+ chain: Chain;
317
+ }
318
+ declare function useStockTokensDataSubscription(params: UseStockTokensDataSubscriptionParams, callback: (data: Array<API.TokenDataSubscribed>) => void, options?: {
319
+ enabled?: boolean;
320
+ }): void;
321
+
170
322
  type ClientOptions = ChainStreamClientOptions;
171
323
  type ClientTokenProvider = TokenProvider | string;
172
324
  declare class Client implements API.IClient, API.ISubscribeClient {
@@ -191,10 +343,17 @@ declare class Client implements API.IClient, API.ISubscribeClient {
191
343
  sendTx(params: API.SendTxParams): Promise<API.SendTxResult>;
192
344
  checkTxSuccess(chain: Chain, txHash: string, timeout?: number): Promise<boolean>;
193
345
  getWalletPortfolios(chain: Chain, address: string): Promise<WalletPortfolios>;
346
+ getWalletPnl(chain: Chain, address: string, resolution?: string): Promise<WalletPnl>;
347
+ getWalletPortfolioPnls(chain: Chain, address: string, options?: {
348
+ cursor?: string;
349
+ limit?: number;
350
+ }): Promise<API.CursorList<Portfolio> & {
351
+ summary: WalletPnl;
352
+ }>;
194
353
  getWalletTradeActivities(chain: Chain, address: string, options?: API.GetTradeActivitiesOptions): Promise<API.CursorList<TradeActivity>>;
195
354
  getTokenTradeActivities(chain: Chain, address: string, options?: API.GetTradeActivitiesOptions): Promise<API.CursorList<TradeActivity>>;
196
355
  getPresignedUploadUrl(): Promise<string>;
197
- subscribeTokenBasic(chain: Chain, address: string, callback: (tokens: Array<API.TokenSubscribed>) => void): API.ISubscription;
356
+ subscribeTokenBasic(_chain: Chain, _address: string, _callback: (tokens: Array<API.TokenSubscribed>) => void): API.ISubscription;
198
357
  subscribeTokenMarketData(chain: Chain, address: string, callback: (marketDatas: Array<TokenMarketData>) => void): API.ISubscription;
199
358
  subscribeTokenStats(chain: Chain, address: string, callback: (stats: Array<TokenStats>) => void): API.ISubscription;
200
359
  subscribeTokenCandles(chain: Chain, address: string, resolution: TokenResolution, callback: (candles: Array<TokenCandle>) => void): API.ISubscription;
@@ -207,9 +366,14 @@ declare class Client implements API.IClient, API.ISubscribeClient {
207
366
  subscribeNewTokensBasic(chain: Chain, callback: (tokens: Array<API.TokenSubscribed>) => void): API.ISubscription;
208
367
  subscribeNewTokensMarketData(chain: Chain, callback: (marketDatas: Array<TokenMarketData>) => void): API.ISubscription;
209
368
  subscribeNewTokensStats(chain: Chain, callback: (stats: Array<TokenStats>) => void): API.ISubscription;
369
+ subscribeNewTokensData(chain: Chain, callback: (data: Array<API.TokenDataSubscribed>) => void): API.ISubscription;
370
+ subscribeMigratedTokensData(chain: Chain, callback: (data: Array<API.TokenDataSubscribed>) => void): API.ISubscription;
371
+ subscribeFinalStretchTokensData(chain: Chain, callback: (data: Array<API.TokenDataSubscribed>) => void): API.ISubscription;
372
+ subscribeTrendingTokensData(chain: Chain, callback: (data: Array<API.TokenDataSubscribed>) => void): API.ISubscription;
373
+ subscribeStockTokensData(chain: Chain, callback: (data: Array<API.TokenDataSubscribed>) => void): API.ISubscription;
210
374
  }
211
375
 
212
376
  type DexClientProviderProps = PropsWithChildren<DexClientContextValue>;
213
377
  declare function DexClientProvider({ client, subscribeClient, children, }: DexClientProviderProps): react_jsx_runtime.JSX.Element;
214
378
 
215
- export { Client, type ClientOptions, type ClientTokenProvider, DexClientContext, type DexClientContextValue, DexClientProvider, type DexClientProviderProps, type UseFinalStretchTokensQueryParams, type UseMigratedTokensQueryParams, type UseNewTokensQueryParams, type UseSearchTokensQueryParams, type UseSendTxMutationParams, type UseStockTokensQueryParams, type UseSwapRouteQueryParams, type UseTokenCandlesQueryParams, type UseTokenHoldersQueryParams, type UseTokenMarketDataQueryParams, type UseTokenQueryParams, type UseTokenSecurityQueryParams, type UseTokenStatsQueryParams, type UseTokenTradeActivitiesQueryParams, type UseTokensQueryParams, type UseTrendingTokensQueryParams, type UseTxSuccessQueryParams, type UseWalletPortfoliosQueryParams, type UseWalletTradeActivitiesQueryParams, fetchFinalStretchTokens, fetchMigratedTokens, fetchNewTokens, fetchPresignedUploadUrl, fetchSearchTokens, fetchStockTokens, fetchSwapRoute, fetchToken, fetchTokenCandles, fetchTokenHolders, fetchTokenMarketData, fetchTokenSecurity, fetchTokenStats, fetchTokenTradeActivities, fetchTokens, fetchTrendingTokens, fetchTxSuccess, fetchWalletPortfolios, fetchWalletTradeActivities, finalStretchTokensQueryKey, migratedTokensQueryKey, newTokensQueryKey, searchTokensQueryKey, sendTx, stockTokensQueryKey, swapRouteQueryKey, tokenCandlesQueryKey, tokenHoldersQueryKey, tokenMarketDataQueryKey, tokenQueryKey, tokenSecurityQueryKey, tokenStatsQueryKey, tokenTradeActivitiesQueryKey, tokensQueryKey, trendingTokensQueryKey, txSuccessQueryKey, useDexClient, useFinalStretchTokensQuery, useMigratedTokensQuery, useNewTokensQuery, usePresignedUploadUrlQuery, useSearchTokensQuery, useSendTxMutation, useStockTokensQuery, useSwapRouteQuery, useTokenCandlesQuery, useTokenHoldersQuery, useTokenMarketDataQuery, useTokenQuery, useTokenSecurityQuery, useTokenStatsQuery, useTokenTradeActivitiesQuery, useTokensQuery, useTrendingTokensQuery, useTxSuccessQuery, useWalletPortfoliosQuery, useWalletTradeActivitiesQuery, _default as version, walletPortfoliosQueryKey, walletTradeActivitiesQueryKey };
379
+ export { Client, type ClientOptions, type ClientTokenProvider, DexClientContext, type DexClientContextValue, DexClientProvider, type DexClientProviderProps, type UseFinalStretchTokensDataSubscriptionParams, type UseFinalStretchTokensQueryParams, type UseMigratedTokensDataSubscriptionParams, type UseMigratedTokensQueryParams, type UseNewTokensBasicSubscriptionParams, type UseNewTokensDataSubscriptionParams, type UseNewTokensMarketDataSubscriptionParams, type UseNewTokensQueryParams, type UseNewTokensStatsSubscriptionParams, type UseNewTokensSubscriptionParams, type UseSearchTokensQueryParams, type UseSendTxMutationParams, type UseStockTokensDataSubscriptionParams, type UseStockTokensQueryParams, type UseSwapRouteQueryParams, type UseTokenCandlesQueryParams, type UseTokenCandlesSubscriptionParams, type UseTokenHoldersQueryParams, type UseTokenMarketDataQueryParams, type UseTokenMarketDataSubscriptionParams, type UseTokenQueryParams, type UseTokenSecurityQueryParams, type UseTokenStatsQueryParams, type UseTokenStatsSubscriptionParams, type UseTokenTradeActivitiesQueryParams, type UseTokenTradeActivitiesSubscriptionParams, type UseTokensQueryParams, type UseTrendingTokensDataSubscriptionParams, type UseTrendingTokensQueryParams, type UseTxSuccessQueryParams, type UseWalletPnlQueryParams, type UseWalletPnlSubscriptionParams, type UseWalletPortfolioPnlsQueryParams, type UseWalletPortfolioPnlsSubscriptionParams, type UseWalletPortfoliosQueryParams, type UseWalletPortfoliosSubscriptionParams, type UseWalletTradeActivitiesQueryParams, type UseWalletTradeActivitiesSubscriptionParams, type WalletPortfolioPnlsResult, fetchFinalStretchTokens, fetchMigratedTokens, fetchNewTokens, fetchPresignedUploadUrl, fetchSearchTokens, fetchStockTokens, fetchSwapRoute, fetchToken, fetchTokenCandles, fetchTokenHolders, fetchTokenMarketData, fetchTokenSecurity, fetchTokenStats, fetchTokenTradeActivities, fetchTokens, fetchTrendingTokens, fetchTxSuccess, fetchWalletPnl, fetchWalletPortfolioPnls, fetchWalletPortfolios, fetchWalletTradeActivities, finalStretchTokensQueryKey, migratedTokensQueryKey, newTokensQueryKey, searchTokensQueryKey, sendTx, stockTokensQueryKey, swapRouteQueryKey, tokenCandlesQueryKey, tokenHoldersQueryKey, tokenMarketDataQueryKey, tokenQueryKey, tokenSecurityQueryKey, tokenStatsQueryKey, tokenTradeActivitiesQueryKey, tokensQueryKey, trendingTokensQueryKey, txSuccessQueryKey, useDexClient, useFinalStretchTokensDataSubscription, useFinalStretchTokensQuery, useMigratedTokensDataSubscription, useMigratedTokensQuery, useNewTokensBasicSubscription, useNewTokensDataSubscription, useNewTokensMarketDataSubscription, useNewTokensQuery, useNewTokensStatsSubscription, useNewTokensSubscription, usePresignedUploadUrlQuery, useSearchTokensQuery, useSendTxMutation, useStockTokensDataSubscription, useStockTokensQuery, useSwapRouteQuery, useTokenCandlesQuery, useTokenCandlesSubscription, useTokenHoldersQuery, useTokenMarketDataQuery, useTokenMarketDataSubscription, useTokenQuery, useTokenSecurityQuery, useTokenStatsQuery, useTokenStatsSubscription, useTokenTradeActivitiesQuery, useTokenTradeActivitiesSubscription, useTokensQuery, useTrendingTokensDataSubscription, useTrendingTokensQuery, useTxSuccessQuery, useWalletPnlQuery, useWalletPnlSubscription, useWalletPortfolioPnlsQuery, useWalletPortfolioPnlsSubscription, useWalletPortfoliosQuery, useWalletPortfoliosSubscription, useWalletTradeActivitiesQuery, useWalletTradeActivitiesSubscription, _default as version, walletPnlQueryKey, walletPortfolioPnlsQueryKey, walletPortfoliosQueryKey, walletTradeActivitiesQueryKey };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { PropsWithChildren } from 'react';
3
3
  import * as _liberfi_io_types from '@liberfi.io/types';
4
- import { API, Chain, Token, TokenResolution, TokenCandle, TokenHolder, TokenMarketData, TokenSecurity, TokenStats, TradeActivity, WalletPortfolios } from '@liberfi.io/types';
4
+ import { API, Chain, Token, TokenResolution, TokenCandle, TokenHolder, TokenMarketData, TokenSecurity, TokenStats, TradeActivity, WalletPnl, Portfolio, WalletPortfolios } from '@liberfi.io/types';
5
5
  import * as _tanstack_react_query from '@tanstack/react-query';
6
6
  import { UseQueryOptions, UseMutationOptions } from '@tanstack/react-query';
7
7
  import { ChainStreamClientOptions, TokenProvider } from '@chainstream-io/sdk';
@@ -14,7 +14,7 @@ declare global {
14
14
  };
15
15
  }
16
16
  }
17
- declare const _default: "0.1.23";
17
+ declare const _default: "0.1.26";
18
18
 
19
19
  interface DexClientContextValue {
20
20
  client: API.IClient;
@@ -151,6 +151,30 @@ declare function txSuccessQueryKey(params: UseTxSuccessQueryParams): string[];
151
151
  declare function fetchTxSuccess(client: API.IClient, { chain, txHash, timeout }: UseTxSuccessQueryParams): Promise<boolean>;
152
152
  declare function useTxSuccessQuery(params: UseTxSuccessQueryParams, options?: Omit<UseQueryOptions<boolean, Error, boolean, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<boolean, Error>;
153
153
 
154
+ interface UseWalletPnlQueryParams {
155
+ chain: Chain;
156
+ address: string;
157
+ resolution?: string;
158
+ }
159
+ declare function walletPnlQueryKey(params: UseWalletPnlQueryParams): string[];
160
+ declare function fetchWalletPnl(client: API.IClient, { chain, address, resolution }: UseWalletPnlQueryParams): Promise<WalletPnl>;
161
+ declare function useWalletPnlQuery(params: UseWalletPnlQueryParams, options?: Omit<UseQueryOptions<WalletPnl, Error, WalletPnl, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<WalletPnl, Error>;
162
+
163
+ interface UseWalletPortfolioPnlsQueryParams {
164
+ chain: Chain;
165
+ address: string;
166
+ cursor?: string;
167
+ limit?: number;
168
+ }
169
+ type WalletPortfolioPnlsResult = API.CursorList<Portfolio> & {
170
+ summary: WalletPnl;
171
+ };
172
+ declare function walletPortfolioPnlsQueryKey(params: UseWalletPortfolioPnlsQueryParams): string[];
173
+ declare function fetchWalletPortfolioPnls(client: API.IClient, { chain, address, cursor, limit }: UseWalletPortfolioPnlsQueryParams): Promise<API.CursorList<Portfolio> & {
174
+ summary: WalletPnl;
175
+ }>;
176
+ declare function useWalletPortfolioPnlsQuery(params: UseWalletPortfolioPnlsQueryParams, options?: Omit<UseQueryOptions<WalletPortfolioPnlsResult, Error, WalletPortfolioPnlsResult, string[]>, "queryKey" | "queryFn">): _tanstack_react_query.UseQueryResult<WalletPortfolioPnlsResult, Error>;
177
+
154
178
  interface UseWalletPortfoliosQueryParams {
155
179
  chain: Chain;
156
180
  address: string;
@@ -167,6 +191,134 @@ declare function walletTradeActivitiesQueryKey(params: UseWalletTradeActivitiesQ
167
191
  declare function fetchWalletTradeActivities(client: API.IClient, { chain, address, ...options }: UseWalletTradeActivitiesQueryParams): Promise<API.CursorList<TradeActivity>>;
168
192
  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>;
169
193
 
194
+ interface UseTokenStatsSubscriptionParams {
195
+ chain: Chain;
196
+ address: string;
197
+ }
198
+ declare function useTokenStatsSubscription(params: UseTokenStatsSubscriptionParams, callback: (stats: Array<TokenStats>) => void, options?: {
199
+ enabled?: boolean;
200
+ }): void;
201
+
202
+ interface UseTokenCandlesSubscriptionParams {
203
+ chain: Chain;
204
+ address: string;
205
+ resolution: TokenResolution;
206
+ }
207
+ declare function useTokenCandlesSubscription(params: UseTokenCandlesSubscriptionParams, callback: (candles: Array<TokenCandle>) => void, options?: {
208
+ enabled?: boolean;
209
+ }): void;
210
+
211
+ interface UseTokenMarketDataSubscriptionParams {
212
+ chain: Chain;
213
+ address: string;
214
+ }
215
+ declare function useTokenMarketDataSubscription(params: UseTokenMarketDataSubscriptionParams, callback: (marketDatas: Array<TokenMarketData>) => void, options?: {
216
+ enabled?: boolean;
217
+ }): void;
218
+
219
+ interface UseTokenTradeActivitiesSubscriptionParams {
220
+ chain: Chain;
221
+ address: string;
222
+ }
223
+ declare function useTokenTradeActivitiesSubscription(params: UseTokenTradeActivitiesSubscriptionParams, callback: (trades: Array<TradeActivity>) => void, options?: {
224
+ enabled?: boolean;
225
+ }): void;
226
+
227
+ interface UseWalletPnlSubscriptionParams {
228
+ chain: Chain;
229
+ address: string;
230
+ }
231
+ declare function useWalletPnlSubscription(params: UseWalletPnlSubscriptionParams, callback: (pnls: Array<API.WalletPnlSubscribed>) => void, options?: {
232
+ enabled?: boolean;
233
+ }): void;
234
+
235
+ interface UseWalletPortfoliosSubscriptionParams {
236
+ chain: Chain;
237
+ address: string;
238
+ }
239
+ declare function useWalletPortfoliosSubscription(params: UseWalletPortfoliosSubscriptionParams, callback: (portfolios: Array<API.PortfolioSubscribed>) => void, options?: {
240
+ enabled?: boolean;
241
+ }): void;
242
+
243
+ interface UseWalletPortfolioPnlsSubscriptionParams {
244
+ chain: Chain;
245
+ address: string;
246
+ }
247
+ declare function useWalletPortfolioPnlsSubscription(params: UseWalletPortfolioPnlsSubscriptionParams, callback: (portfolioPnls: Array<API.PortfolioPnlSubscribed>) => void, options?: {
248
+ enabled?: boolean;
249
+ }): void;
250
+
251
+ interface UseWalletTradeActivitiesSubscriptionParams {
252
+ chain: Chain;
253
+ address: string;
254
+ }
255
+ declare function useWalletTradeActivitiesSubscription(params: UseWalletTradeActivitiesSubscriptionParams, callback: (trades: Array<TradeActivity>) => void, options?: {
256
+ enabled?: boolean;
257
+ }): void;
258
+
259
+ interface UseNewTokensSubscriptionParams {
260
+ chain: Chain;
261
+ }
262
+ declare function useNewTokensSubscription(params: UseNewTokensSubscriptionParams, callback: (tokens: Array<API.TokenSubscribed>) => void, options?: {
263
+ enabled?: boolean;
264
+ }): void;
265
+
266
+ interface UseNewTokensBasicSubscriptionParams {
267
+ chain: Chain;
268
+ }
269
+ declare function useNewTokensBasicSubscription(params: UseNewTokensBasicSubscriptionParams, callback: (tokens: Array<API.TokenSubscribed>) => void, options?: {
270
+ enabled?: boolean;
271
+ }): void;
272
+
273
+ interface UseNewTokensMarketDataSubscriptionParams {
274
+ chain: Chain;
275
+ }
276
+ declare function useNewTokensMarketDataSubscription(params: UseNewTokensMarketDataSubscriptionParams, callback: (marketDatas: Array<TokenMarketData>) => void, options?: {
277
+ enabled?: boolean;
278
+ }): void;
279
+
280
+ interface UseNewTokensStatsSubscriptionParams {
281
+ chain: Chain;
282
+ }
283
+ declare function useNewTokensStatsSubscription(params: UseNewTokensStatsSubscriptionParams, callback: (stats: Array<TokenStats>) => void, options?: {
284
+ enabled?: boolean;
285
+ }): void;
286
+
287
+ interface UseNewTokensDataSubscriptionParams {
288
+ chain: Chain;
289
+ }
290
+ declare function useNewTokensDataSubscription(params: UseNewTokensDataSubscriptionParams, callback: (data: Array<API.TokenDataSubscribed>) => void, options?: {
291
+ enabled?: boolean;
292
+ }): void;
293
+
294
+ interface UseMigratedTokensDataSubscriptionParams {
295
+ chain: Chain;
296
+ }
297
+ declare function useMigratedTokensDataSubscription(params: UseMigratedTokensDataSubscriptionParams, callback: (data: Array<API.TokenDataSubscribed>) => void, options?: {
298
+ enabled?: boolean;
299
+ }): void;
300
+
301
+ interface UseFinalStretchTokensDataSubscriptionParams {
302
+ chain: Chain;
303
+ }
304
+ declare function useFinalStretchTokensDataSubscription(params: UseFinalStretchTokensDataSubscriptionParams, callback: (data: Array<API.TokenDataSubscribed>) => void, options?: {
305
+ enabled?: boolean;
306
+ }): void;
307
+
308
+ interface UseTrendingTokensDataSubscriptionParams {
309
+ chain: Chain;
310
+ }
311
+ declare function useTrendingTokensDataSubscription(params: UseTrendingTokensDataSubscriptionParams, callback: (data: Array<API.TokenDataSubscribed>) => void, options?: {
312
+ enabled?: boolean;
313
+ }): void;
314
+
315
+ interface UseStockTokensDataSubscriptionParams {
316
+ chain: Chain;
317
+ }
318
+ declare function useStockTokensDataSubscription(params: UseStockTokensDataSubscriptionParams, callback: (data: Array<API.TokenDataSubscribed>) => void, options?: {
319
+ enabled?: boolean;
320
+ }): void;
321
+
170
322
  type ClientOptions = ChainStreamClientOptions;
171
323
  type ClientTokenProvider = TokenProvider | string;
172
324
  declare class Client implements API.IClient, API.ISubscribeClient {
@@ -191,10 +343,17 @@ declare class Client implements API.IClient, API.ISubscribeClient {
191
343
  sendTx(params: API.SendTxParams): Promise<API.SendTxResult>;
192
344
  checkTxSuccess(chain: Chain, txHash: string, timeout?: number): Promise<boolean>;
193
345
  getWalletPortfolios(chain: Chain, address: string): Promise<WalletPortfolios>;
346
+ getWalletPnl(chain: Chain, address: string, resolution?: string): Promise<WalletPnl>;
347
+ getWalletPortfolioPnls(chain: Chain, address: string, options?: {
348
+ cursor?: string;
349
+ limit?: number;
350
+ }): Promise<API.CursorList<Portfolio> & {
351
+ summary: WalletPnl;
352
+ }>;
194
353
  getWalletTradeActivities(chain: Chain, address: string, options?: API.GetTradeActivitiesOptions): Promise<API.CursorList<TradeActivity>>;
195
354
  getTokenTradeActivities(chain: Chain, address: string, options?: API.GetTradeActivitiesOptions): Promise<API.CursorList<TradeActivity>>;
196
355
  getPresignedUploadUrl(): Promise<string>;
197
- subscribeTokenBasic(chain: Chain, address: string, callback: (tokens: Array<API.TokenSubscribed>) => void): API.ISubscription;
356
+ subscribeTokenBasic(_chain: Chain, _address: string, _callback: (tokens: Array<API.TokenSubscribed>) => void): API.ISubscription;
198
357
  subscribeTokenMarketData(chain: Chain, address: string, callback: (marketDatas: Array<TokenMarketData>) => void): API.ISubscription;
199
358
  subscribeTokenStats(chain: Chain, address: string, callback: (stats: Array<TokenStats>) => void): API.ISubscription;
200
359
  subscribeTokenCandles(chain: Chain, address: string, resolution: TokenResolution, callback: (candles: Array<TokenCandle>) => void): API.ISubscription;
@@ -207,9 +366,14 @@ declare class Client implements API.IClient, API.ISubscribeClient {
207
366
  subscribeNewTokensBasic(chain: Chain, callback: (tokens: Array<API.TokenSubscribed>) => void): API.ISubscription;
208
367
  subscribeNewTokensMarketData(chain: Chain, callback: (marketDatas: Array<TokenMarketData>) => void): API.ISubscription;
209
368
  subscribeNewTokensStats(chain: Chain, callback: (stats: Array<TokenStats>) => void): API.ISubscription;
369
+ subscribeNewTokensData(chain: Chain, callback: (data: Array<API.TokenDataSubscribed>) => void): API.ISubscription;
370
+ subscribeMigratedTokensData(chain: Chain, callback: (data: Array<API.TokenDataSubscribed>) => void): API.ISubscription;
371
+ subscribeFinalStretchTokensData(chain: Chain, callback: (data: Array<API.TokenDataSubscribed>) => void): API.ISubscription;
372
+ subscribeTrendingTokensData(chain: Chain, callback: (data: Array<API.TokenDataSubscribed>) => void): API.ISubscription;
373
+ subscribeStockTokensData(chain: Chain, callback: (data: Array<API.TokenDataSubscribed>) => void): API.ISubscription;
210
374
  }
211
375
 
212
376
  type DexClientProviderProps = PropsWithChildren<DexClientContextValue>;
213
377
  declare function DexClientProvider({ client, subscribeClient, children, }: DexClientProviderProps): react_jsx_runtime.JSX.Element;
214
378
 
215
- export { Client, type ClientOptions, type ClientTokenProvider, DexClientContext, type DexClientContextValue, DexClientProvider, type DexClientProviderProps, type UseFinalStretchTokensQueryParams, type UseMigratedTokensQueryParams, type UseNewTokensQueryParams, type UseSearchTokensQueryParams, type UseSendTxMutationParams, type UseStockTokensQueryParams, type UseSwapRouteQueryParams, type UseTokenCandlesQueryParams, type UseTokenHoldersQueryParams, type UseTokenMarketDataQueryParams, type UseTokenQueryParams, type UseTokenSecurityQueryParams, type UseTokenStatsQueryParams, type UseTokenTradeActivitiesQueryParams, type UseTokensQueryParams, type UseTrendingTokensQueryParams, type UseTxSuccessQueryParams, type UseWalletPortfoliosQueryParams, type UseWalletTradeActivitiesQueryParams, fetchFinalStretchTokens, fetchMigratedTokens, fetchNewTokens, fetchPresignedUploadUrl, fetchSearchTokens, fetchStockTokens, fetchSwapRoute, fetchToken, fetchTokenCandles, fetchTokenHolders, fetchTokenMarketData, fetchTokenSecurity, fetchTokenStats, fetchTokenTradeActivities, fetchTokens, fetchTrendingTokens, fetchTxSuccess, fetchWalletPortfolios, fetchWalletTradeActivities, finalStretchTokensQueryKey, migratedTokensQueryKey, newTokensQueryKey, searchTokensQueryKey, sendTx, stockTokensQueryKey, swapRouteQueryKey, tokenCandlesQueryKey, tokenHoldersQueryKey, tokenMarketDataQueryKey, tokenQueryKey, tokenSecurityQueryKey, tokenStatsQueryKey, tokenTradeActivitiesQueryKey, tokensQueryKey, trendingTokensQueryKey, txSuccessQueryKey, useDexClient, useFinalStretchTokensQuery, useMigratedTokensQuery, useNewTokensQuery, usePresignedUploadUrlQuery, useSearchTokensQuery, useSendTxMutation, useStockTokensQuery, useSwapRouteQuery, useTokenCandlesQuery, useTokenHoldersQuery, useTokenMarketDataQuery, useTokenQuery, useTokenSecurityQuery, useTokenStatsQuery, useTokenTradeActivitiesQuery, useTokensQuery, useTrendingTokensQuery, useTxSuccessQuery, useWalletPortfoliosQuery, useWalletTradeActivitiesQuery, _default as version, walletPortfoliosQueryKey, walletTradeActivitiesQueryKey };
379
+ export { Client, type ClientOptions, type ClientTokenProvider, DexClientContext, type DexClientContextValue, DexClientProvider, type DexClientProviderProps, type UseFinalStretchTokensDataSubscriptionParams, type UseFinalStretchTokensQueryParams, type UseMigratedTokensDataSubscriptionParams, type UseMigratedTokensQueryParams, type UseNewTokensBasicSubscriptionParams, type UseNewTokensDataSubscriptionParams, type UseNewTokensMarketDataSubscriptionParams, type UseNewTokensQueryParams, type UseNewTokensStatsSubscriptionParams, type UseNewTokensSubscriptionParams, type UseSearchTokensQueryParams, type UseSendTxMutationParams, type UseStockTokensDataSubscriptionParams, type UseStockTokensQueryParams, type UseSwapRouteQueryParams, type UseTokenCandlesQueryParams, type UseTokenCandlesSubscriptionParams, type UseTokenHoldersQueryParams, type UseTokenMarketDataQueryParams, type UseTokenMarketDataSubscriptionParams, type UseTokenQueryParams, type UseTokenSecurityQueryParams, type UseTokenStatsQueryParams, type UseTokenStatsSubscriptionParams, type UseTokenTradeActivitiesQueryParams, type UseTokenTradeActivitiesSubscriptionParams, type UseTokensQueryParams, type UseTrendingTokensDataSubscriptionParams, type UseTrendingTokensQueryParams, type UseTxSuccessQueryParams, type UseWalletPnlQueryParams, type UseWalletPnlSubscriptionParams, type UseWalletPortfolioPnlsQueryParams, type UseWalletPortfolioPnlsSubscriptionParams, type UseWalletPortfoliosQueryParams, type UseWalletPortfoliosSubscriptionParams, type UseWalletTradeActivitiesQueryParams, type UseWalletTradeActivitiesSubscriptionParams, type WalletPortfolioPnlsResult, fetchFinalStretchTokens, fetchMigratedTokens, fetchNewTokens, fetchPresignedUploadUrl, fetchSearchTokens, fetchStockTokens, fetchSwapRoute, fetchToken, fetchTokenCandles, fetchTokenHolders, fetchTokenMarketData, fetchTokenSecurity, fetchTokenStats, fetchTokenTradeActivities, fetchTokens, fetchTrendingTokens, fetchTxSuccess, fetchWalletPnl, fetchWalletPortfolioPnls, fetchWalletPortfolios, fetchWalletTradeActivities, finalStretchTokensQueryKey, migratedTokensQueryKey, newTokensQueryKey, searchTokensQueryKey, sendTx, stockTokensQueryKey, swapRouteQueryKey, tokenCandlesQueryKey, tokenHoldersQueryKey, tokenMarketDataQueryKey, tokenQueryKey, tokenSecurityQueryKey, tokenStatsQueryKey, tokenTradeActivitiesQueryKey, tokensQueryKey, trendingTokensQueryKey, txSuccessQueryKey, useDexClient, useFinalStretchTokensDataSubscription, useFinalStretchTokensQuery, useMigratedTokensDataSubscription, useMigratedTokensQuery, useNewTokensBasicSubscription, useNewTokensDataSubscription, useNewTokensMarketDataSubscription, useNewTokensQuery, useNewTokensStatsSubscription, useNewTokensSubscription, usePresignedUploadUrlQuery, useSearchTokensQuery, useSendTxMutation, useStockTokensDataSubscription, useStockTokensQuery, useSwapRouteQuery, useTokenCandlesQuery, useTokenCandlesSubscription, useTokenHoldersQuery, useTokenMarketDataQuery, useTokenMarketDataSubscription, useTokenQuery, useTokenSecurityQuery, useTokenStatsQuery, useTokenStatsSubscription, useTokenTradeActivitiesQuery, useTokenTradeActivitiesSubscription, useTokensQuery, useTrendingTokensDataSubscription, useTrendingTokensQuery, useTxSuccessQuery, useWalletPnlQuery, useWalletPnlSubscription, useWalletPortfolioPnlsQuery, useWalletPortfolioPnlsSubscription, useWalletPortfoliosQuery, useWalletPortfoliosSubscription, useWalletTradeActivitiesQuery, useWalletTradeActivitiesSubscription, _default as version, walletPnlQueryKey, walletPortfolioPnlsQueryKey, walletPortfoliosQueryKey, walletTradeActivitiesQueryKey };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var react=require('react'),reactQuery=require('@tanstack/react-query'),sdk=require('@chainstream-io/sdk'),types=require('@liberfi.io/types'),utils=require('@liberfi.io/utils'),jsxRuntime=require('react/jsx-runtime');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/client"]="0.1.23");var B="0.1.23";var p=react.createContext({});function s(){let e=react.useContext(p);if(!e)throw new Error("useDexClient must be used within an DexClientProvider");return e}function W(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 G(e,{chain:t,...r}){return await e.getFinalStretchTokens(t,r)}function ar(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:W(e),queryFn:async()=>G(r,e),...t})}function V(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 J(e,{chain:t,...r}){return await e.getMigratedTokens(t,r)}function yr(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:V(e),queryFn:async()=>J(r,e),...t})}function j(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 z(e,{chain:t,...r}){return await e.getNewTokens(t,r)}function hr(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:j(e),queryFn:async()=>z(r,e),...t})}async function Y(e){return await e.getPresignedUploadUrl()}function Sr(e={}){let{client:t}=s();return reactQuery.useQuery({queryKey:["presignedUploadUrl"],queryFn:async()=>Y(t),...e})}function ee(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 re(e,t){return await e.searchTokens(t)}function Ur(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:ee(e),queryFn:async()=>re(r,e),...t})}async function ne(e,t){return await e.sendTx(t)}function Hr(e={}){let{client:t}=s();return reactQuery.useMutation({mutationFn:async r=>ne(t,r),...e})}function se(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 ie(e,{chain:t,...r}){return await e.getStockTokens(t,r)}function Mr(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:se(e),queryFn:async()=>ie(r,e),...t})}function ue(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 le(e,t){return await e.swapRoute(t)}function _r(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:ue(e),queryFn:async()=>le(r,e),...t})}function de(e){return ["tokenCandles",e.chain,e.address,e.resolution,e.after?.toString()??"",e.before?.toString()??"",e.limit?`${e.limit}`:""]}async function ye(e,{chain:t,address:r,resolution:n,...a}){return await e.getTokenCandles(t,r,n,a)}function Jr(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:de(e),queryFn:async()=>ye(r,e),...t})}function Te(e){return ["tokenHolders",e.chain,e.address,e.cursor??"",e.limit?`${e.limit}`:"",e.direction??""]}async function me(e,{chain:t,address:r,...n}){return await e.getTokenHolders(t,r,n)}function Yr(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:Te(e),queryFn:async()=>me(r,e),...t})}function he(e){return ["tokenMarketData",e.chain,e.address]}async function ge(e,{chain:t,address:r}){return await e.getTokenMarketData(t,r)}function nt(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:he(e),queryFn:async()=>ge(r,e),...t})}function pe(e){return ["token",e.chain,e.address]}async function xe(e,{chain:t,address:r}){return await e.getToken(t,r)}function ut(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:pe(e),queryFn:async()=>xe(r,e),...t})}function Ce(e){return ["tokenSecurity",e.chain,e.address]}async function Ie(e,{chain:t,address:r}){return await e.getTokenSecurity(t,r)}function kt(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:Ce(e),queryFn:async()=>Ie(r,e),...t})}function we(e){return ["tokens",e.chain,e.addresses.sort().join(",")]}async function Ue(e,{chain:t,addresses:r}){return await e.getTokens(t,r)}function gt(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:we(e),queryFn:async()=>Ue(r,e),...t})}function Qe(e){return ["tokenStats",e.chain,e.address]}async function De(e,{chain:t,address:r}){return await e.getTokenStats(t,r)}function Ct(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:Qe(e),queryFn:async()=>De(r,e),...t})}function He(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 ve(e,{chain:t,address:r,...n}){return await e.getTokenTradeActivities(t,r,n)}function bt(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:He(e),queryFn:async()=>ve(r,e),...t})}function Fe(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 qe(e,{chain:t,resolution:r,...n}){return await e.getTrendingTokens(t,r,n)}function vt(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:Fe(e),queryFn:async()=>qe(r,e),...t})}function Ke(e){return ["txSuccess",e.chain,e.txHash,e.timeout?`${e.timeout}`:""]}async function Be(e,{chain:t,txHash:r,timeout:n}){return await e.checkTxSuccess(t,r,n)}function Kt(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:Ke(e),queryFn:async()=>Be(r,e),...t})}function Ne(e){return ["walletPortfolios",e.chain,e.address]}async function _e(e,{chain:t,address:r}){return await e.getWalletPortfolios(t,r)}function Wt(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:Ne(e),queryFn:async()=>_e(r,e),...t})}function Ge(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 Le(e,{chain:t,address:r,...n}){return await e.getWalletTradeActivities(t,r,n)}function $t(e,t={}){let{client:r}=s();return reactQuery.useQuery({queryKey:Ge(e),queryFn:async()=>Le(r,e),...t})}function i(e){switch(e){case types.Chain.ETHEREUM:return sdk.ChainSymbol.eth;case types.Chain.BINANCE:return sdk.ChainSymbol.bsc;case types.Chain.SOLANA:return sdk.ChainSymbol.sol}throw new Error(`Unsupported chain: ${e}`)}function I(e){switch(e){case "1s":return sdk.Resolution["1s"];case "15s":return sdk.Resolution["15s"];case "30s":return sdk.Resolution["30s"];case "1m":return sdk.Resolution["1m"];case "5m":return sdk.Resolution["5m"];case "15m":return sdk.Resolution["15m"];case "30m":case "1h":return sdk.Resolution["1h"];case "4h":return sdk.Resolution["4h"];case "12h":return sdk.Resolution["12h"];case "24h":return sdk.Resolution["1d"]}}function f(e){switch(e){case "asc":return "ASC";case "desc":return "DESC"}}function A(e){switch(e){case "marketCap":return sdk.SearchSortBy.marketCapInUsd;case "tvl":return sdk.SearchSortBy.liquidityInUsd;case "price":return sdk.SearchSortBy.priceInUsd;case "holders":return sdk.SearchSortBy.holderCount;case "volumes24h":return sdk.SearchSortBy.h24VolumeInUsd;case "trades24h":return sdk.SearchSortBy.h24Transactions;case "createdAt":return sdk.SearchSortBy.tokenCreatedAt}throw new Error(`Unsupported search field: ${e}`)}function k(e){switch(e){case "price":return sdk.GetNewTokensSortBy.marketDatapriceInUsd;case "priceChange1m":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd1m;case "priceChange5m":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd5m;case "priceChange1h":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd1h;case "priceChange4h":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd4h;case "priceChange24h":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd24h;case "marketCap":return sdk.GetNewTokensSortBy.marketDatamarketCapInUsd;case "tvl":return sdk.GetNewTokensSortBy.marketDatamaxPoolTvlInUsd;case "top10Holdings":return sdk.GetNewTokensSortBy.marketDatatop10TotalHoldings;case "top10Ratio":return sdk.GetNewTokensSortBy.marketDatatop10HoldingsRatio;case "top100Holdings":return sdk.GetNewTokensSortBy.marketDatatop100TotalHoldings;case "top100Ratio":return sdk.GetNewTokensSortBy.marketDatatop100HoldingsRatio;case "holders":return sdk.GetNewTokensSortBy.marketDataholders;case "creatorsHoldings":return sdk.GetNewTokensSortBy.marketDatacreatorHoldings;case "creatorsRatio":return sdk.GetNewTokensSortBy.marketDatacreatorHoldingsRatio;case "buys1m":return sdk.GetNewTokensSortBy.statsbuys1m;case "buys5m":return sdk.GetNewTokensSortBy.statsbuys5m;case "buys15m":return sdk.GetNewTokensSortBy.statsbuys15m;case "buys30m":return sdk.GetNewTokensSortBy.statsbuys30m;case "buys1h":return sdk.GetNewTokensSortBy.statsbuys1h;case "buys4h":return sdk.GetNewTokensSortBy.statsbuys4h;case "buys24h":return sdk.GetNewTokensSortBy.statsbuys24h;case "sells1m":return sdk.GetNewTokensSortBy.statssells1m;case "sells5m":return sdk.GetNewTokensSortBy.statssells5m;case "sells15m":return sdk.GetNewTokensSortBy.statssells15m;case "sells30m":return sdk.GetNewTokensSortBy.statssells30m;case "sells1h":return sdk.GetNewTokensSortBy.statssells1h;case "sells4h":return sdk.GetNewTokensSortBy.statssells4h;case "sells24h":return sdk.GetNewTokensSortBy.statssells24h;case "trades1m":return sdk.GetNewTokensSortBy.statstrades1m;case "trades5m":return sdk.GetNewTokensSortBy.statstrades5m;case "trades1h":return sdk.GetNewTokensSortBy.statstrades1h;case "trades4h":return sdk.GetNewTokensSortBy.statstrades4h;case "trades24h":return sdk.GetNewTokensSortBy.statstrades24h;case "traders1m":return sdk.GetNewTokensSortBy.statstraders1m;case "traders5m":return sdk.GetNewTokensSortBy.statstraders5m;case "traders1h":return sdk.GetNewTokensSortBy.statstraders1h;case "traders4h":return sdk.GetNewTokensSortBy.statstraders4h;case "traders24h":return sdk.GetNewTokensSortBy.statstraders24h;case "volumes1m":return sdk.GetNewTokensSortBy.statsvolumesInUsd1m;case "volumes5m":return sdk.GetNewTokensSortBy.statsvolumesInUsd5m;case "volumes1h":return sdk.GetNewTokensSortBy.statsvolumesInUsd1h;case "volumes4h":return sdk.GetNewTokensSortBy.statsvolumesInUsd4h;case "volumes24h":return sdk.GetNewTokensSortBy.statsvolumesInUsd24h;case "createdAt":return sdk.GetNewTokensSortBy.tokenCreatedAt}throw new Error(`Unsupported sortBy: ${e}`)}function h(e){return e.filter(t=>["gt","gte","lt","lte","between"].indexOf(t.operator)>=0).map(t=>{let r={field:k(t.field)};return ["gt","gte","between"].indexOf(t.operator)>=0&&(r.min=typeof t.value=="number"?new utils.SafeBigNumber(t.value).toString():t.value),["lt","lte","between"].indexOf(t.operator)>=0&&(r.max=typeof t.value=="number"?new utils.SafeBigNumber(t.value).toString():t.value),r})}function w(e){switch(e){case sdk.ChainSymbol.eth:return types.Chain.ETHEREUM;case sdk.ChainSymbol.bsc:return types.Chain.BINANCE;case sdk.ChainSymbol.sol:case "solana":return types.Chain.SOLANA}throw new Error(`Unsupported chain: ${e}`)}function Ve(e){return {address:e.address,share:e.share,isVerified:e.isVerified}}function l(e){return {chain:w(e.chain),name:e.name,symbol:e.symbol,address:e.address,decimals:e.decimals,image:e.imageUrl,description:e.description,creators:e.tokenCreators?.map(Ve),launchedFrom:{programAddress:e.extra?.launchFromProgramAddress,protocolFamily:e.extra?.launchFromProtocolFamily},migrateProgress:e.marketData.completionRatio?new utils.SafeBigNumber(e.marketData.completionRatio).shiftedBy(2).toString():void 0,migratedTo:{programAddress:e.extra?.migratedToProgramAddress,protocolFamily:e.extra?.migratedToProtocolFamily,poolAddress:e.extra?.migratedToPoolAddress,migratedAt:e.extra?.migratedAt?new Date(e.extra.migratedAt):void 0},socialMedias:e.socialMedias?{...e.socialMedias}:void 0,stats:e.stats?x(e.stats):void 0,marketData:e.marketData?S(e.marketData):void 0,liquidities:e.liquidity?.map(Je),createdAt:e.tokenCreatedAt?new Date(e.tokenCreatedAt):void 0}}function x(e){return {"1m":d(e,"1m"),"5m":d(e,"5m"),"15m":d(e,"15m"),"30m":d(e,"30m"),"1h":d(e,"1h"),"4h":d(e,"4h"),"24h":d(e,"24h")}}function T(e){return e===void 0?void 0:parseInt(e)}function d(e,t){let r=e.periods?.[t];return r?{buys:T(r.buys),sells:T(r.sells),trades:T(r.trades),buyers:T(r.buyers),sellers:T(r.sellers),traders:T(r.traders),buyVolumes:r.buyVolume,sellVolumes:r.sellVolume,volumes:r.totalVolumeInNative,buyVolumesInUsd:r.buyVolumeInUsd,sellVolumesInUsd:r.sellVolumeInUsd,volumesInUsd:r.totalVolumeInUsd,openPriceInUsd:r.openInUsd,closePriceInUsd:r.closeInUsd,highPriceInUsd:r.highInUsd,lowPriceInUsd:r.lowInUsd,priceInUsd:r.closeInUsd,priceChange:r.priceChangeRatioInUsd}:{}}function Je(e){return {image:e.image,poolAddress:e.poolAddress,programAddress:e.programAddress,protocolFamily:e.protocolFamily,tvl:e.tvlInSol,tvlInUsd:e.tvlInUsd}}function S(e){return {totalSupply:e.totalSupply,marketCap:e.marketCapInSol,marketCapInUsd:e.marketCapInUsd,price:e.priceInSol,priceInUsd:e.priceInUsd,tvl:e.totalTvlInSol,tvlInUsd:e.totalTvlInUsd,holders:parseInt(e.holders),top10Holdings:e.top10TotalHoldings,top10HoldingsRatio:e.top10HoldingsRatio,top50Holdings:e.top50TotalHoldings,top50HoldingsRatio:e.top50HoldingsRatio,top100Holdings:e.top100TotalHoldings,top100HoldingsRatio:e.top100HoldingsRatio,bluechipHolders:e.bluechipTotalHolders===void 0?void 0:parseInt(e.bluechipTotalHolders),bluechipHoldings:e.bluechipTotalHoldings,bluechipHoldingsRatio:e.bluechipHoldingsRatio,kolHolders:e.kolTotalHolders===void 0?void 0:parseInt(e.kolTotalHolders),kolHoldings:e.kolTotalHoldings,kolHoldingsRatio:e.kolHoldingsRatio,sniperHolders:e.sniperTotalHolders===void 0?void 0:parseInt(e.sniperTotalHolders),sniperHoldings:e.sniperTotalHoldings,sniperHoldingsRatio:e.sniperHoldingsRatio,proHolders:e.proTotalHolders===void 0?void 0:parseInt(e.proTotalHolders),proHoldings:e.proTotalHoldings,proHoldingsRatio:e.proHoldingsRatio,insiderHolders:e.insiderTotalHolders===void 0?void 0:parseInt(e.insiderTotalHolders),insiderHoldings:e.insiderTotalHoldings,insiderHoldingsRatio:e.insiderHoldingsRatio,sandwichHolders:e.sandwishTotalHolders===void 0?void 0:parseInt(e.sandwishTotalHolders),sandwichHoldings:e.sandwishTotalHoldings,sandwichHoldingsRatio:e.sandwishHoldingsRatio,freshHolders:e.freshTotalHolders===void 0?void 0:parseInt(e.freshTotalHolders),freshHoldings:e.freshTotalHoldings,freshHoldingsRatio:e.freshHoldingsRatio,bundleHolders:e.bundleTotalHolders===void 0?void 0:parseInt(e.bundleTotalHolders),bundleHoldings:e.bundleTotalHoldings,bundleHoldingsRatio:e.bundleHoldingsRatio,devHolders:e.devTotalHolders===void 0?void 0:parseInt(e.devTotalHolders),devHoldings:e.devTotalHoldings,devHoldingsRatio:e.devHoldingsRatio}}function U(e){throw new Error("Method not implemented.")}function b(e){throw new Error("Method not implemented.")}function Q(e){throw new Error("Method not implemented.")}function D(e){throw new Error("Method not implemented.")}function O(e){throw new Error("Method not implemented.")}function H(e){throw new Error("Method not implemented.")}function v(e){throw new Error("Method not implemented.")}function R(e){throw new Error("Method not implemented.")}function F(e){let t=(e.data??[]).map(n=>({chain:w(n.chain),address:n.tokenAddress,name:n.name,symbol:n.symbol,image:n.logoUri,price:n.priceInNative,priceInUsd:n.priceInUsd,amount:n.amount,amountInUsd:n.valueInUsd})),r=t.reduce((n,a)=>n.plus(new utils.SafeBigNumber(a.amountInUsd)),new utils.SafeBigNumber(0)).toString();return {chain:t[0]?.chain??types.Chain.SOLANA,address:"",balanceInUsd:r,profitInUsd:"0",portfolios:t}}function C(e){throw new Error("Method not implemented.")}function q(e,t){throw new Error("Method not implemented.")}function M(e,t){throw new Error("Method not implemented.")}var K=class{constructor(t,r){this.accessToken=t;this.options=r;this._client=new sdk.ChainStreamClient(this.accessToken,this.options);}_client;async getToken(t,r){let n=await this._client.token.getToken(i(t),r);return l(n)}async getTokens(t,r){return (await this._client.token.getTokens(i(t),{tokenAddresses:r.join(",")})).map(l)}async getTokenCandles(t,r,n,a){return (await this._client.token.getCandles(i(t),r,{resolution:I(n),from:a?.after?.getTime(),to:a?.before?.getTime(),limit:a?.limit})).map(U)}async getTokenSecurity(t,r){await this._client.token.getSecurity(i(t),r);return b()}async getTokenStats(t,r){let n=await this._client.token.getStats(i(t),r);return x(n)}async getTokenHolders(t,r,n){await this._client.token.getHolders(i(t),r,{cursor:n?.cursor,limit:n?.limit,direction:n?.direction});return O()}async getTokenMarketData(t,r){let n=await this._client.token.getMarketData(i(t),r);return S(n)}async getNewTokens(t,r){return (await this._client.ranking.getNewTokens(i(t),{sortBy:r?.sortBy?k(r.sortBy):void 0,sortDirection:r?.sortDirection?f(r.sortDirection):void 0,rangeFilters:r?.filters?h(r.filters):void 0,launchpadPlatform:r?.filters?P(r.filters):void 0,searchKeywords:r?.keywords,excludeKeywords:r?.excludeKeywords})).map(l)}async getFinalStretchTokens(t,r){return (await this._client.ranking.getFinalStretchTokens(i(t),{sortBy:r?.sortBy?k(r.sortBy):void 0,sortDirection:r?.sortDirection?f(r.sortDirection):void 0,rangeFilters:r?.filters?h(r.filters):void 0,launchpadPlatform:r?.filters?P(r.filters):void 0,searchKeywords:r?.keywords,excludeKeywords:r?.excludeKeywords})).map(l)}async getMigratedTokens(t,r){return (await this._client.ranking.getMigratedTokens(i(t),{sortBy:r?.sortBy?k(r.sortBy):void 0,sortDirection:r?.sortDirection?f(r.sortDirection):void 0,rangeFilters:r?.filters?h(r.filters):void 0,launchpadPlatform:r?.filters?P(r.filters):void 0,searchKeywords:r?.keywords,excludeKeywords:r?.excludeKeywords})).map(l)}async getTrendingTokens(t,r,n){return (await this._client.ranking.getHotTokens(i(t),r,{sortBy:n?.sortBy?k(n.sortBy):void 0,sortDirection:n?.sortDirection?f(n.sortDirection):void 0,rangeFilters:n?.filters?h(n.filters):void 0,launchpadPlatform:n?.filters?P(n.filters):void 0,searchKeywords:n?.keywords,excludeKeywords:n?.excludeKeywords})).map(l)}async getStockTokens(t,r){return (await this._client.ranking.getStocksTokens(i(t),{sortBy:r?.sortBy?k(r.sortBy):void 0,sortDirection:r?.sortDirection?f(r.sortDirection):void 0,rangeFilters:r?.filters?h(r.filters):void 0,launchpadPlatform:r?.filters?P(r.filters):void 0,searchKeywords:r?.keywords,excludeKeywords:r?.excludeKeywords})).map(l)}async searchTokens(t){await this._client.token.search({chains:t?.chains?.map(i),q:t?.keyword,limit:t?.limit,cursor:t?.cursor,sortBy:t?.sortBy?A(t.sortBy):void 0,sort:t?.sortDirection});return H()}async swapRoute(t){await this._client.dex.route(i(t.chain),Q());return v()}async sendTx(t){await this._client.transaction.send(i(t.chain),D());return R()}async checkTxSuccess(t,r,n){let{result:a}=await this._client.waitForJob(r,n);return a.success}async getWalletPortfolios(t,r){let n=await this._client.wallet.getTokensBalance(i(t),r);return F(n)}async getWalletTradeActivities(t,r,n){await this._client.trade.getTrades(i(t),{walletAddress:r,cursor:n?.cursor,limit:n?.limit,direction:n?.direction,beforeTimestamp:n?.before?.getTime(),afterTimestamp:n?.after?.getTime(),beforeBlockHeight:n?.beforeBlockHeight,afterBlockHeight:n?.afterBlockHeight,poolAddress:n?.poolAddress,type:n?.type?n.type.toUpperCase():void 0});return C()}async getTokenTradeActivities(t,r,n){await this._client.trade.getTrades(i(t),{tokenAddress:r,cursor:n?.cursor,limit:n?.limit,direction:n?.direction,beforeTimestamp:n?.before?.getTime(),afterTimestamp:n?.after?.getTime(),beforeBlockHeight:n?.beforeBlockHeight,afterBlockHeight:n?.afterBlockHeight,poolAddress:n?.poolAddress,type:n?.type?n.type.toUpperCase():void 0});return C()}async getPresignedUploadUrl(){return await this._client.ipfs.presign()}subscribeTokenBasic(t,r,n){throw new Error("Method not implemented.")}subscribeTokenMarketData(t,r,n){throw new Error("Method not implemented.")}subscribeTokenStats(t,r,n){throw new Error("Method not implemented.")}subscribeTokenCandles(t,r,n,a){throw new Error("Method not implemented.")}subscribeWalletPnl(t,r,n){throw new Error("Method not implemented.")}subscribeWalletPortfolios(t,r,n){throw new Error("Method not implemented.")}subscribeWalletPortfolioPnls(t,r,n){throw new Error("Method not implemented.")}subscribeWalletTradeActivities(t,r,n){throw new Error("Method not implemented.")}subscribeTokenTradeActivities(t,r,n){throw new Error("Method not implemented.")}subscribeNewTokens(t,r){return this._client.stream.subscribeNewToken({chain:i(t),callback:n=>r([q()])})}subscribeNewTokensBasic(t,r){return this._client.stream.subscribeNewTokensMetadata({chain:i(t),callback:n=>r(n.map(a=>M()))})}subscribeNewTokensMarketData(t,r){throw new Error("Method not implemented.")}subscribeNewTokensStats(t,r){throw new Error("Method not implemented.")}};function P(e){let t=e.find(r=>r.field==="launchedFromProtocolFamily");if(t){if(t.operator==="eq")return [t.value];if(t.operator==="in")return t.value;console.warn("invalid launchedFromProtocolFamily filter",t);}}function Co({client:e,subscribeClient:t,children:r}){return jsxRuntime.jsx(p.Provider,{value:{client:e,subscribeClient:t},children:r})}exports.Client=K;exports.DexClientContext=p;exports.DexClientProvider=Co;exports.fetchFinalStretchTokens=G;exports.fetchMigratedTokens=J;exports.fetchNewTokens=z;exports.fetchPresignedUploadUrl=Y;exports.fetchSearchTokens=re;exports.fetchStockTokens=ie;exports.fetchSwapRoute=le;exports.fetchToken=xe;exports.fetchTokenCandles=ye;exports.fetchTokenHolders=me;exports.fetchTokenMarketData=ge;exports.fetchTokenSecurity=Ie;exports.fetchTokenStats=De;exports.fetchTokenTradeActivities=ve;exports.fetchTokens=Ue;exports.fetchTrendingTokens=qe;exports.fetchTxSuccess=Be;exports.fetchWalletPortfolios=_e;exports.fetchWalletTradeActivities=Le;exports.finalStretchTokensQueryKey=W;exports.migratedTokensQueryKey=V;exports.newTokensQueryKey=j;exports.searchTokensQueryKey=ee;exports.sendTx=ne;exports.stockTokensQueryKey=se;exports.swapRouteQueryKey=ue;exports.tokenCandlesQueryKey=de;exports.tokenHoldersQueryKey=Te;exports.tokenMarketDataQueryKey=he;exports.tokenQueryKey=pe;exports.tokenSecurityQueryKey=Ce;exports.tokenStatsQueryKey=Qe;exports.tokenTradeActivitiesQueryKey=He;exports.tokensQueryKey=we;exports.trendingTokensQueryKey=Fe;exports.txSuccessQueryKey=Ke;exports.useDexClient=s;exports.useFinalStretchTokensQuery=ar;exports.useMigratedTokensQuery=yr;exports.useNewTokensQuery=hr;exports.usePresignedUploadUrlQuery=Sr;exports.useSearchTokensQuery=Ur;exports.useSendTxMutation=Hr;exports.useStockTokensQuery=Mr;exports.useSwapRouteQuery=_r;exports.useTokenCandlesQuery=Jr;exports.useTokenHoldersQuery=Yr;exports.useTokenMarketDataQuery=nt;exports.useTokenQuery=ut;exports.useTokenSecurityQuery=kt;exports.useTokenStatsQuery=Ct;exports.useTokenTradeActivitiesQuery=bt;exports.useTokensQuery=gt;exports.useTrendingTokensQuery=vt;exports.useTxSuccessQuery=Kt;exports.useWalletPortfoliosQuery=Wt;exports.useWalletTradeActivitiesQuery=$t;exports.version=B;exports.walletPortfoliosQueryKey=Ne;exports.walletTradeActivitiesQueryKey=Ge;//# sourceMappingURL=index.js.map
1
+ 'use strict';var react=require('react'),reactQuery=require('@tanstack/react-query'),sdk=require('@chainstream-io/sdk'),types=require('@liberfi.io/types'),utils=require('@liberfi.io/utils'),jsxRuntime=require('react/jsx-runtime');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/client"]="0.1.26");var ue="0.1.26";var p=react.createContext({});function o(){let e=react.useContext(p);if(!e)throw new Error("useDexClient must be used within an DexClientProvider");return e}function Te(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 ke(e,{chain:r,...t}){return await e.getFinalStretchTokens(r,t)}function At(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Te(e),queryFn:async()=>ke(t,e),...r})}function he(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 Pe(e,{chain:r,...t}){return await e.getMigratedTokens(r,t)}function pt(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:he(e),queryFn:async()=>Pe(t,e),...r})}function Ae(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 Se(e,{chain:r,...t}){return await e.getNewTokens(r,t)}function vt(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Ae(e),queryFn:async()=>Se(t,e),...r})}async function Ce(e){return await e.getPresignedUploadUrl()}function Ft(e={}){let{client:r}=o();return reactQuery.useQuery({queryKey:["presignedUploadUrl"],queryFn:async()=>Ce(r),staleTime:0,...e})}function pe(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 Ue(e,r){return await e.searchTokens(r)}function Kt(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:pe(e),queryFn:async()=>Ue(t,e),...r})}async function De(e,r){return await e.sendTx(r)}function Gt(e={}){let{client:r}=o();return reactQuery.useMutation({mutationFn:async t=>De(r,t),...e})}function ve(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 Qe(e,{chain:r,...t}){return await e.getStockTokens(r,t)}function Xt(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:ve(e),queryFn:async()=>Qe(t,e),...r})}function We(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 Oe(e,r){return await e.swapRoute(r)}function ts(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:We(e),queryFn:async()=>Oe(t,e),...r})}function Ne(e){return ["tokenCandles",e.chain,e.address,e.resolution,e.after?.toString()??"",e.before?.toString()??"",e.limit?`${e.limit}`:""]}async function Me(e,{chain:r,address:t,resolution:s,...n}){return await e.getTokenCandles(r,t,s,n)}function is(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Ne(e),queryFn:async()=>Me(t,e),...r})}function Be(e){return ["tokenHolders",e.chain,e.address,e.cursor??"",e.limit?`${e.limit}`:"",e.direction??""]}async function Ke(e,{chain:r,address:t,...s}){return await e.getTokenHolders(r,t,s)}function ms(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Be(e),queryFn:async()=>Ke(t,e),...r})}function _e(e){return ["tokenMarketData",e.chain,e.address]}async function Le(e,{chain:r,address:t}){return await e.getTokenMarketData(r,t)}function bs(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:_e(e),queryFn:async()=>Le(t,e),...r})}function Ge(e){return ["token",e.chain,e.address]}async function ze(e,{chain:r,address:t}){return await e.getToken(r,t)}function Ss(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Ge(e),queryFn:async()=>ze(t,e),...r})}function Je(e){return ["tokenSecurity",e.chain,e.address]}async function je(e,{chain:r,address:t}){return await e.getTokenSecurity(r,t)}function Us(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Je(e),queryFn:async()=>je(t,e),...r})}function Ye(e){return ["tokens",e.chain,e.addresses.sort().join(",")]}async function Ze(e,{chain:r,addresses:t}){return await e.getTokens(r,t)}function Qs(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Ye(e),queryFn:async()=>Ze(t,e),...r})}function rr(e){return ["tokenStats",e.chain,e.address]}async function tr(e,{chain:r,address:t}){return await e.getTokenStats(r,t)}function Ns(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:rr(e),queryFn:async()=>tr(t,e),...r})}function nr(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 or(e,{chain:r,address:t,...s}){return await e.getTokenTradeActivities(r,t,s)}function Es(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:nr(e),queryFn:async()=>or(t,e),...r})}function ir(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 lr(e,{chain:r,resolution:t,...s}){return await e.getTrendingTokens(r,t,s)}function zs(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:ir(e),queryFn:async()=>lr(t,e),...r})}function cr(e){return ["txSuccess",e.chain,e.txHash,e.timeout?`${e.timeout}`:""]}async function ur(e,{chain:r,txHash:t,timeout:s}){return await e.checkTxSuccess(r,t,s)}function Ys(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:cr(e),queryFn:async()=>ur(t,e),...r})}function fr(e){return ["walletPnl",e.chain,e.address,e.resolution??"all"]}async function yr(e,{chain:r,address:t,resolution:s}){return await e.getWalletPnl(r,t,s)}function sn(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:fr(e),queryFn:async()=>yr(t,e),...r})}function kr(e){return ["walletPortfolioPnls",e.chain,e.address]}async function br(e,{chain:r,address:t,cursor:s,limit:n}){return await e.getWalletPortfolioPnls(r,t,{cursor:s,limit:n})}function dn(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:kr(e),queryFn:async()=>br(t,e),...r})}function Pr(e){return ["walletPortfolios",e.chain,e.address]}async function gr(e,{chain:r,address:t}){return await e.getWalletPortfolios(r,t)}function yn(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Pr(e),queryFn:async()=>gr(t,e),...r})}function Sr(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 Ir(e,{chain:r,address:t,...s}){return await e.getWalletTradeActivities(r,t,s)}function Pn(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Sr(e),queryFn:async()=>Ir(t,e),...r})}function In(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTokenStats(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function Un(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTokenCandles(e.chain,e.address,e.resolution,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,e.resolution,t?.enabled]);}function vn(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTokenMarketData(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function On(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTokenTradeActivities(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function qn(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeWalletPnl(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function _n(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeWalletPortfolios(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function zn(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeWalletPortfolioPnls(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function Xn(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeWalletTradeActivities(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function ro(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokens(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function oo(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokensBasic(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function co(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokensMarketData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function yo(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokensStats(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function ho(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function So(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeMigratedTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function po(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeFinalStretchTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function Ro(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTrendingTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function Wo(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeStockTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function d(e){switch(e){case types.Chain.ETHEREUM:return sdk.ChainSymbol.eth;case types.Chain.BINANCE:return sdk.ChainSymbol.bsc;case types.Chain.SOLANA:return sdk.ChainSymbol.sol}throw new Error(`Unsupported chain: ${e}`)}function H(e){switch(e){case "1s":return sdk.Resolution["1s"];case "15s":return sdk.Resolution["15s"];case "30s":return sdk.Resolution["30s"];case "1m":return sdk.Resolution["1m"];case "5m":return sdk.Resolution["5m"];case "15m":return sdk.Resolution["15m"];case "30m":case "1h":return sdk.Resolution["1h"];case "4h":return sdk.Resolution["4h"];case "12h":return sdk.Resolution["12h"];case "24h":return sdk.Resolution["1d"]}}function g(e){switch(e){case "asc":return "ASC";case "desc":return "DESC"}}function E(e){switch(e){case "marketCap":return sdk.SearchSortBy.marketCapInUsd;case "tvl":return sdk.SearchSortBy.liquidityInUsd;case "price":return sdk.SearchSortBy.priceInUsd;case "holders":return sdk.SearchSortBy.holderCount;case "volumes24h":return sdk.SearchSortBy.h24VolumeInUsd;case "trades24h":return sdk.SearchSortBy.h24Transactions;case "createdAt":return sdk.SearchSortBy.tokenCreatedAt}throw new Error(`Unsupported search field: ${e}`)}function T(e){switch(e){case "price":return sdk.GetNewTokensSortBy.marketDatapriceInUsd;case "priceChange1m":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd1m;case "priceChange5m":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd5m;case "priceChange1h":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd1h;case "priceChange4h":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd4h;case "priceChange24h":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd24h;case "marketCap":return sdk.GetNewTokensSortBy.marketDatamarketCapInUsd;case "tvl":return sdk.GetNewTokensSortBy.marketDatamaxPoolTvlInUsd;case "top10Holdings":return sdk.GetNewTokensSortBy.marketDatatop10TotalHoldings;case "top10Ratio":return sdk.GetNewTokensSortBy.marketDatatop10HoldingsRatio;case "top100Holdings":return sdk.GetNewTokensSortBy.marketDatatop100TotalHoldings;case "top100Ratio":return sdk.GetNewTokensSortBy.marketDatatop100HoldingsRatio;case "holders":return sdk.GetNewTokensSortBy.marketDataholders;case "creatorsHoldings":return sdk.GetNewTokensSortBy.marketDatacreatorHoldings;case "creatorsRatio":return sdk.GetNewTokensSortBy.marketDatacreatorHoldingsRatio;case "buys1m":return sdk.GetNewTokensSortBy.statsbuys1m;case "buys5m":return sdk.GetNewTokensSortBy.statsbuys5m;case "buys15m":return sdk.GetNewTokensSortBy.statsbuys15m;case "buys30m":return sdk.GetNewTokensSortBy.statsbuys30m;case "buys1h":return sdk.GetNewTokensSortBy.statsbuys1h;case "buys4h":return sdk.GetNewTokensSortBy.statsbuys4h;case "buys24h":return sdk.GetNewTokensSortBy.statsbuys24h;case "sells1m":return sdk.GetNewTokensSortBy.statssells1m;case "sells5m":return sdk.GetNewTokensSortBy.statssells5m;case "sells15m":return sdk.GetNewTokensSortBy.statssells15m;case "sells30m":return sdk.GetNewTokensSortBy.statssells30m;case "sells1h":return sdk.GetNewTokensSortBy.statssells1h;case "sells4h":return sdk.GetNewTokensSortBy.statssells4h;case "sells24h":return sdk.GetNewTokensSortBy.statssells24h;case "trades1m":return sdk.GetNewTokensSortBy.statstrades1m;case "trades5m":return sdk.GetNewTokensSortBy.statstrades5m;case "trades1h":return sdk.GetNewTokensSortBy.statstrades1h;case "trades4h":return sdk.GetNewTokensSortBy.statstrades4h;case "trades24h":return sdk.GetNewTokensSortBy.statstrades24h;case "traders1m":return sdk.GetNewTokensSortBy.statstraders1m;case "traders5m":return sdk.GetNewTokensSortBy.statstraders5m;case "traders1h":return sdk.GetNewTokensSortBy.statstraders1h;case "traders4h":return sdk.GetNewTokensSortBy.statstraders4h;case "traders24h":return sdk.GetNewTokensSortBy.statstraders24h;case "volumes1m":return sdk.GetNewTokensSortBy.statsvolumesInUsd1m;case "volumes5m":return sdk.GetNewTokensSortBy.statsvolumesInUsd5m;case "volumes1h":return sdk.GetNewTokensSortBy.statsvolumesInUsd1h;case "volumes4h":return sdk.GetNewTokensSortBy.statsvolumesInUsd4h;case "volumes24h":return sdk.GetNewTokensSortBy.statsvolumesInUsd24h;case "createdAt":return sdk.GetNewTokensSortBy.tokenCreatedAt}throw new Error(`Unsupported sortBy: ${e}`)}function A(e){return e.filter(r=>["gt","gte","lt","lte","between"].indexOf(r.operator)>=0).map(r=>{let t={field:T(r.field)};return ["gt","gte","between"].indexOf(r.operator)>=0&&(t.min=typeof r.value=="number"?new utils.SafeBigNumber(r.value).toString():r.value),["lt","lte","between"].indexOf(r.operator)>=0&&(t.max=typeof r.value=="number"?new utils.SafeBigNumber(r.value).toString():r.value),t})}function W(e){switch(e){case sdk.ChainSymbol.eth:return types.Chain.ETHEREUM;case sdk.ChainSymbol.bsc:return types.Chain.BINANCE;case sdk.ChainSymbol.sol:case "solana":return types.Chain.SOLANA}throw new Error(`Unsupported chain: ${e}`)}function ot(e){return {address:e.address,share:e.share,isVerified:e.isVerified}}function u(e){return {chain:W(e.chain),name:e.name,symbol:e.symbol,address:e.address,decimals:e.decimals,image:e.imageUrl,description:e.description,creators:e.tokenCreators?.map(ot),launchedFrom:{programAddress:e.extra?.launchFromProgramAddress,protocolFamily:e.extra?.launchFromProtocolFamily},migrateProgress:e.marketData.completionRatio?new utils.SafeBigNumber(e.marketData.completionRatio).shiftedBy(2).toString():void 0,migratedTo:{programAddress:e.extra?.migratedToProgramAddress,protocolFamily:e.extra?.migratedToProtocolFamily,poolAddress:e.extra?.migratedToPoolAddress,migratedAt:e.extra?.migratedAt?new Date(e.extra.migratedAt):void 0},socialMedias:e.socialMedias?{...e.socialMedias}:void 0,stats:e.stats?O(e.stats):void 0,marketData:e.marketData?F(e.marketData):void 0,liquidities:e.liquidity?.map(at),createdAt:e.tokenCreatedAt?new Date(e.tokenCreatedAt):void 0}}function O(e){return {"1m":f(e,"1m"),"5m":f(e,"5m"),"15m":f(e,"15m"),"30m":f(e,"30m"),"1h":f(e,"1h"),"4h":f(e,"4h"),"24h":f(e,"24h")}}function b(e){return e===void 0?void 0:parseInt(e)}function f(e,r){let t=e.periods?.[r];return t?{buys:b(t.buys),sells:b(t.sells),trades:b(t.trades),buyers:b(t.buyers),sellers:b(t.sellers),traders:b(t.traders),buyVolumes:t.buyVolume,sellVolumes:t.sellVolume,volumes:t.totalVolumeInNative,buyVolumesInUsd:t.buyVolumeInUsd,sellVolumesInUsd:t.sellVolumeInUsd,volumesInUsd:t.totalVolumeInUsd,openPriceInUsd:t.openInUsd,closePriceInUsd:t.closeInUsd,highPriceInUsd:t.highInUsd,lowPriceInUsd:t.lowInUsd,priceInUsd:t.closeInUsd,priceChange:t.priceChangeRatioInUsd}:{}}function at(e){return {image:e.image,poolAddress:e.poolAddress,programAddress:e.programAddress,protocolFamily:e.protocolFamily,tvl:e.tvlInSol,tvlInUsd:e.tvlInUsd}}function F(e){return {totalSupply:e.totalSupply,marketCap:e.marketCapInSol,marketCapInUsd:e.marketCapInUsd,price:e.priceInSol,priceInUsd:e.priceInUsd,tvl:e.totalTvlInSol,tvlInUsd:e.totalTvlInUsd,holders:parseInt(e.holders),top10Holdings:e.top10TotalHoldings,top10HoldingsRatio:e.top10HoldingsRatio,top50Holdings:e.top50TotalHoldings,top50HoldingsRatio:e.top50HoldingsRatio,top100Holdings:e.top100TotalHoldings,top100HoldingsRatio:e.top100HoldingsRatio,bluechipHolders:e.bluechipTotalHolders===void 0?void 0:parseInt(e.bluechipTotalHolders),bluechipHoldings:e.bluechipTotalHoldings,bluechipHoldingsRatio:e.bluechipHoldingsRatio,kolHolders:e.kolTotalHolders===void 0?void 0:parseInt(e.kolTotalHolders),kolHoldings:e.kolTotalHoldings,kolHoldingsRatio:e.kolHoldingsRatio,sniperHolders:e.sniperTotalHolders===void 0?void 0:parseInt(e.sniperTotalHolders),sniperHoldings:e.sniperTotalHoldings,sniperHoldingsRatio:e.sniperHoldingsRatio,proHolders:e.proTotalHolders===void 0?void 0:parseInt(e.proTotalHolders),proHoldings:e.proTotalHoldings,proHoldingsRatio:e.proHoldingsRatio,insiderHolders:e.insiderTotalHolders===void 0?void 0:parseInt(e.insiderTotalHolders),insiderHoldings:e.insiderTotalHoldings,insiderHoldingsRatio:e.insiderHoldingsRatio,sandwichHolders:e.sandwishTotalHolders===void 0?void 0:parseInt(e.sandwishTotalHolders),sandwichHoldings:e.sandwishTotalHoldings,sandwichHoldingsRatio:e.sandwishHoldingsRatio,freshHolders:e.freshTotalHolders===void 0?void 0:parseInt(e.freshTotalHolders),freshHoldings:e.freshTotalHoldings,freshHoldingsRatio:e.freshHoldingsRatio,bundleHolders:e.bundleTotalHolders===void 0?void 0:parseInt(e.bundleTotalHolders),bundleHoldings:e.bundleTotalHoldings,bundleHoldingsRatio:e.bundleHoldingsRatio,devHolders:e.devTotalHolders===void 0?void 0:parseInt(e.devTotalHolders),devHoldings:e.devTotalHoldings,devHoldingsRatio:e.devHoldingsRatio}}function _(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:L(e.resolution),timestamp:new Date(e.time)}}function L(e){return e==="1d"?"24h":e}function V(e){return {hasTransferFee:e.hasTransferFee,isTransferFeeUpgradable:e.isTransferFeeUpgradable,isTransferable:e.isTransferable,isFreezable:e.isFreezable,isClosable:e.isClosable}}function G(e){return {dex:"jupiter",userAddress:e.userAddress,amount:e.amount,swapMode:e.mode===types.API.SwapMode.EXACT_IN?sdk.SwapRouteInputSwapMode.ExactIn:sdk.SwapRouteInputSwapMode.ExactOut,slippage:e.slippage??1,inputMint:e.input,outputMint:e.output,priorityFee:e.priorityFee}}function z(e){return {signedTx:e.serializedTx}}function $(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(r=>({address:r.walletAddress,amount:r.amount,amountInUsd:r.amountInUsd,ratio:r.percentage}))}}function J(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,total:e.total,data:e.data.map(u),extra:e.countsByProtocols}}function j(e){return {serializedTx:e.serializedTx,plans:[],extra:e.routeInfo}}function X(e){return {txHash:e.signature,extra:{jobId:e.jobId,elapsedTime:e.elapsedTime}}}function Y(e){let r=(e.data??[]).map(t=>({chain:W(t.chain),address:t.tokenAddress,name:t.name,symbol:t.symbol,image:t.logoUri,price:t.priceInNative,priceInUsd:t.priceInUsd,amount:t.amount,amountInUsd:t.valueInUsd}));return {chain:r[0]?.chain??types.Chain.SOLANA,address:e.walletAddress,balanceInUsd:e.totalValueInUsd,profitInUsd:"0",portfolios:r}}function Z(e,r,t){return {chain:e,address:r,tokens:Number(t.tokens),buys:Number(t.buys),sells:Number(t.sells),totalTrades:Number(t.totalTrades),wins:Number(t.wins),losses:Number(t.losses),winRate:t.winRate,buyAmountInUsd:t.buyAmountInUsd,sellAmountInUsd:t.sellAmountInUsd,totalCostInUsd:t.totalCostInUsd,realizedProfitInUsd:t.realizedProfitInUsd,realizedProfitRatio:t.realizedProfitRatio,unrealizedProfitInUsd:t.unrealizedProfitInUsd,unrealizedProfitRatio:t.unrealizedProfitRatio,totalProfitInUsd:t.totalProfitInUsd,totalProfitRatio:t.totalProfitRatio,avgProfitPerTradeInUsd:t.avgProfitPerTradeInUsd}}function ee(e,r,t){let s={chain:e,address:r,tokens:Number(t.summary.tokens),buys:Number(t.summary.buys),sells:Number(t.summary.sells),totalTrades:Number(t.summary.totalTrades),wins:Number(t.summary.wins),losses:Number(t.summary.losses),winRate:t.summary.winRate,buyAmountInUsd:t.summary.buyAmountInUsd,sellAmountInUsd:t.summary.sellAmountInUsd,totalCostInUsd:t.summary.totalCostInUsd,realizedProfitInUsd:t.summary.realizedProfitInUsd,realizedProfitRatio:t.summary.realizedProfitRatio,unrealizedProfitInUsd:t.summary.unrealizedProfitInUsd,totalProfitInUsd:t.summary.totalProfitInUsd},n=t.data.map(a=>({chain:e,address:a.tokenAddress,name:a.name,symbol:a.symbol,image:a.logoUri,price:"0",priceInUsd:a.priceInUsd,amount:a.balance,amountInUsd:a.currentValue,pnl:{buys:Number(a.buys),buyVolumes:a.buyAmount,buyVolumesInUsd:a.buyAmountInUsd,buyAvgPriceInUsd:a.avgBuyPriceInUsd,sells:Number(a.sells),sellVolumes:a.sellAmount,sellVolumesInUsd:a.sellAmountInUsd,sellAvgPriceInUsd:a.avgSellPriceInUsd,realizedProfitInUsd:a.realizedProfitInUsd,realizedProfitRatio:a.realizedProfitRatio,unrealizedProfitInUsd:a.unrealizedProfitInUsd,unrealizedProfitRatio:a.unrealizedProfitRatio,totalProfitInUsd:a.totalProfitInUsd,totalProfitRatio:a.totalProfitRatio}}));return {startCursor:t.startCursor,endCursor:t.endCursor,hasPrev:t.hasPrev,hasNext:t.hasNext,summary:s,data:n}}function N(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(it)}}function it(e){let r=e.type.toLowerCase()==="buy";return {chain:W(e.chain),walletAddress:e.accountOwnerAddress,txHash:e.transactionSignature,type:r?"buy":"sell",from:{address:r?e.sideTokenAddress:e.tokenAddress,symbol:r?e.sideTokenSymbol:e.tokenSymbol,name:r?e.sideTokenName:e.tokenName,image:r?e.sideTokenImageUrl:e.tokenImageUrl,amount:r?e.sideTokenAmount:e.tokenAmount,amountInUsd:r?e.sideTokenAmountInUsd:e.tokenAmountInUsd,priceInUsd:r?e.sideTokenPriceInUsd:e.tokenPriceInUsd},to:{address:r?e.tokenAddress:e.sideTokenAddress,symbol:r?e.tokenSymbol:e.sideTokenSymbol,name:r?e.tokenName:e.sideTokenName,image:r?e.tokenImageUrl:e.sideTokenImageUrl,amount:r?e.tokenAmount:e.sideTokenAmount,amountInUsd:r?e.tokenAmountInUsd:e.sideTokenAmountInUsd,priceInUsd:r?e.tokenPriceInUsd:e.sideTokenPriceInUsd},dex:{programAddress:e.dexProgramAddress,protocolFamily:e.dexProtocolFamily,image:e.dexImage},poolAddress:e.poolAddress,status:e.status??"success",time:new Date(e.blockTimestamp*1e3)}}function re(e,r){return {chain:e,address:r.tokenAddress,name:r.name,symbol:r.symbol,decimals:r.decimals,createdAt:new Date(r.createdAtMs),launchedFrom:r.launchFrom?{programAddress:r.launchFrom.programAddress,protocolFamily:r.launchFrom.protocolFamily}:void 0}}function te(e,r){return {chain:e,address:r.tokenAddress,name:r.name,symbol:r.symbol,decimals:r.decimals,image:r.imageUrl,description:r.description,socialMedias:r.socialMedia?{...r.socialMedia}:void 0,createdAt:r.createdAtMs?new Date(r.createdAtMs):new Date(0),launchedFrom:r.launchFrom?{programAddress:r.launchFrom.programAddress,protocolFamily:r.launchFrom.protocolFamily}:void 0,migratedTo:r.migratedTo?{programAddress:r.migratedTo.programAddress,protocolFamily:r.migratedTo.protocolFamily}:void 0}}function se(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:L(e.resolution),timestamp:new Date(e.time)}}function U(e){let r=["1m","5m","15m","30m","1h","4h","24h"],t=e,s={};for(let n of r){let a=t[`buys${n}`],l=t[`sells${n}`],D=t[`buyers${n}`],R=t[`sellers${n}`],v=t[`buyVolumeInUsd${n}`],Q=t[`sellVolumeInUsd${n}`],q=t[`trades${n}`],B=t[`price${n}`],I=t[`openInUsd${n}`],x=t[`closeInUsd${n}`];if(!(a!==void 0||l!==void 0||q!==void 0||B!==void 0))continue;let ie=q??(a!==void 0&&l!==void 0?a+l:void 0),le=D!==void 0&&R!==void 0?D+R:void 0,de=v!==void 0&&Q!==void 0?new utils.SafeBigNumber(v).plus(Q).toString():void 0,ce=I&&x&&new utils.SafeBigNumber(I).gt(0)?new utils.SafeBigNumber(x).minus(I).div(I).toString():void 0;s[n]={buys:a,sells:l,trades:ie,buyers:D,sellers:R,traders:le,buyVolumesInUsd:v,sellVolumesInUsd:Q,volumesInUsd:de,openPriceInUsd:I,closePriceInUsd:x,priceInUsd:B??x,priceChange:ce};}return s}function w(e){return {priceInUsd:e.price}}function S(e){return {address:e.address,stats:U(e),marketData:w(e)}}function M(e,r){let t=r.kind.toLowerCase()==="buy";return {chain:e,walletAddress:t?r.buyWalletAddress:r.sellWalletAddress,txHash:r.txHash,type:t?"buy":"sell",from:{address:r.sellTokenAddress,symbol:r.sellTokenSymbol,name:r.sellTokenName,amount:r.sellAmount,amountInUsd:r.sellAmountInUsd},to:{address:r.buyTokenAddress,symbol:r.buyTokenSymbol,name:r.buyTokenName,amount:r.buyAmount,amountInUsd:r.buyAmountInUsd},status:"success",time:new Date(r.timestamp)}}function ne(e,r){return {chain:e,address:r.tokenAddress,amount:r.balance}}function oe(e,r){return {chain:e,address:r.tokenAddress,openTime:r.opentime?new Date(r.opentime):void 0,closeTime:r.closetime?new Date(r.closetime):void 0,buys:r.buyCount,buyVolumes:r.buyAmount,buyVolumesInUsd:r.buyAmountInUsd,buyAvgPriceInUsd:r.averageBuyPriceInUsd,sells:r.sellCount,sellVolumes:r.sellAmount,sellVolumesInUsd:r.sellAmountInUsd,sellAvgPriceInUsd:r.averageSellPriceInUsd,unrealizedProfitInUsd:r.unrealizedProfitInUsd,unrealizedProfitRatio:r.unrealizedProfitRatio,realizedProfitInUsd:r.realizedProfitInUsd,realizedProfitRatio:r.realizedProfitRatio,totalProfitInUsd:r.totalRealizedProfitInUsd,totalProfitRatio:r.totalRealizedProfitRatio}}var ae=class{constructor(r,t){this.accessToken=r;this.options=t;this._client=new sdk.ChainStreamClient(this.accessToken,this.options);}_client;async getToken(r,t){let s=await this._client.token.getToken(d(r),t);return u(s)}async getTokens(r,t){return (await this._client.token.getTokens(d(r),{tokenAddresses:t.join(",")})).map(u)}async getTokenCandles(r,t,s,n){return (await this._client.token.getCandles(d(r),t,{resolution:H(s),from:n?.after?.getTime(),to:n?.before?.getTime(),limit:n?.limit})).map(_)}async getTokenSecurity(r,t){let s=await this._client.token.getSecurity(d(r),t);return V(s)}async getTokenStats(r,t){let s=await this._client.token.getStats(d(r),t);return O(s)}async getTokenHolders(r,t,s){let n=await this._client.token.getHolders(d(r),t,{cursor:s?.cursor,limit:s?.limit,direction:s?.direction});return $(n)}async getTokenMarketData(r,t){let s=await this._client.token.getMarketData(d(r),t);return F(s)}async getNewTokens(r,t){return (await this._client.ranking.getNewTokens(d(r),{sortBy:t?.sortBy?T(t.sortBy):void 0,sortDirection:t?.sortDirection?g(t.sortDirection):void 0,rangeFilters:t?.filters?A(t.filters):void 0,launchpadPlatform:t?.filters?C(t.filters):void 0,searchKeywords:t?.keywords,excludeKeywords:t?.excludeKeywords})).map(u)}async getFinalStretchTokens(r,t){return (await this._client.ranking.getFinalStretchTokens(d(r),{sortBy:t?.sortBy?T(t.sortBy):void 0,sortDirection:t?.sortDirection?g(t.sortDirection):void 0,rangeFilters:t?.filters?A(t.filters):void 0,launchpadPlatform:t?.filters?C(t.filters):void 0,searchKeywords:t?.keywords,excludeKeywords:t?.excludeKeywords})).map(u)}async getMigratedTokens(r,t){return (await this._client.ranking.getMigratedTokens(d(r),{sortBy:t?.sortBy?T(t.sortBy):void 0,sortDirection:t?.sortDirection?g(t.sortDirection):void 0,rangeFilters:t?.filters?A(t.filters):void 0,launchpadPlatform:t?.filters?C(t.filters):void 0,searchKeywords:t?.keywords,excludeKeywords:t?.excludeKeywords})).map(u)}async getTrendingTokens(r,t,s){return (await this._client.ranking.getHotTokens(d(r),t,{sortBy:s?.sortBy?T(s.sortBy):void 0,sortDirection:s?.sortDirection?g(s.sortDirection):void 0,rangeFilters:s?.filters?A(s.filters):void 0,launchpadPlatform:s?.filters?C(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async getStockTokens(r,t){return (await this._client.ranking.getStocksTokens(d(r),{sortBy:t?.sortBy?T(t.sortBy):void 0,sortDirection:t?.sortDirection?g(t.sortDirection):void 0,rangeFilters:t?.filters?A(t.filters):void 0,launchpadPlatform:t?.filters?C(t.filters):void 0,searchKeywords:t?.keywords,excludeKeywords:t?.excludeKeywords})).map(u)}async searchTokens(r){let t=await this._client.token.search({chains:r?.chains?.map(d),q:r?.keyword,limit:r?.limit,cursor:r?.cursor,sortBy:r?.sortBy?E(r.sortBy):void 0,sort:r?.sortDirection});return J(t)}async swapRoute(r){let t=await this._client.dex.route(d(r.chain),G(r));return j(t)}async sendTx(r){let t=await this._client.transaction.send(d(r.chain),z(r));return X(t)}async checkTxSuccess(r,t,s){let{result:n}=await this._client.waitForJob(t,s);return n.success}async getWalletPortfolios(r,t){let s=await this._client.wallet.getNetWorth(d(r),t,{limit:100});return Y(s)}async getWalletPnl(r,t,s){let n=await this._client.wallet.getPnl(d(r),t,s?{resolution:s}:void 0);return Z(r,t,n)}async getWalletPortfolioPnls(r,t,s){let n=await this._client.wallet.getPnlDetails(d(r),t,{cursor:s?.cursor,limit:s?.limit??100});return ee(r,t,n)}async getWalletTradeActivities(r,t,s){let n=await this._client.trade.getTrades(d(r),{walletAddress:t,cursor:s?.cursor,limit:s?.limit,direction:s?.direction,beforeTimestamp:s?.before?.getTime(),afterTimestamp:s?.after?.getTime(),beforeBlockHeight:s?.beforeBlockHeight,afterBlockHeight:s?.afterBlockHeight,poolAddress:s?.poolAddress,type:s?.type?s.type.toUpperCase():void 0});return N(n)}async getTokenTradeActivities(r,t,s){let n=await this._client.trade.getTrades(d(r),{tokenAddress:t,cursor:s?.cursor,limit:s?.limit,direction:s?.direction,beforeTimestamp:s?.before?.getTime(),afterTimestamp:s?.after?.getTime(),beforeBlockHeight:s?.beforeBlockHeight,afterBlockHeight:s?.afterBlockHeight,poolAddress:s?.poolAddress,type:s?.type?s.type.toUpperCase():void 0});return N(n)}async getPresignedUploadUrl(){return await this._client.ipfs.presign()}subscribeTokenBasic(r,t,s){throw new Error("subscribeTokenBasic is not supported by ChainStream backend. Token basic info (name, symbol, image) rarely changes in real-time.")}subscribeTokenMarketData(r,t,s){return this._client.stream.subscribeTokenStats({chain:d(r),tokenAddress:t,callback:n=>s([w(n)])})}subscribeTokenStats(r,t,s){return this._client.stream.subscribeTokenStats({chain:d(r),tokenAddress:t,callback:n=>s([U(n)])})}subscribeTokenCandles(r,t,s,n){return this._client.stream.subscribeTokenCandles({chain:d(r),tokenAddress:t,resolution:H(s),callback:a=>n([se(a)])})}subscribeWalletPnl(r,t,s){return this._client.stream.subscribeWalletPnl({chain:d(r),walletAddress:t,callback:n=>s([{chain:r,address:n.walletAddress,profitInUsd:n.totalRealizedProfitInUsd}])})}subscribeWalletPortfolios(r,t,s){return this._client.stream.subscribeWalletBalance({chain:d(r),walletAddress:t,callback:n=>s(n.map(a=>ne(r,a)))})}subscribeWalletPortfolioPnls(r,t,s){return this._client.stream.subscribeWalletPnl({chain:d(r),walletAddress:t,callback:n=>s([oe(r,n)])})}subscribeWalletTradeActivities(r,t,s){return this._client.stream.subscribeWalletTrade({chain:d(r),walletAddress:t,callback:n=>s([M(r,n)])})}subscribeTokenTradeActivities(r,t,s){return this._client.stream.subscribeTokenTrade({chain:d(r),tokenAddress:t,callback:n=>s([M(r,n)])})}subscribeNewTokens(r,t){return this._client.stream.subscribeNewToken({chain:d(r),callback:s=>t([re(r,s)])})}subscribeNewTokensBasic(r,t){return this._client.stream.subscribeNewTokensMetadata({chain:d(r),callback:s=>t(s.map(n=>te(r,n)))})}subscribeNewTokensMarketData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.New,callback:s=>t(s.map(w))})}subscribeNewTokensStats(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.New,callback:s=>t(s.map(U))})}subscribeNewTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.New,callback:s=>t(s.map(S))})}subscribeMigratedTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.COMPLETED,callback:s=>t(s.map(S))})}subscribeFinalStretchTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.New,callback:s=>t(s.map(S))})}subscribeTrendingTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.HOT,callback:s=>t(s.map(S))})}subscribeStockTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.US_STOCKS,callback:s=>t(s.map(S))})}};function C(e){let r=e.find(t=>t.field==="launchedFromProtocolFamily");if(r){if(r.operator==="eq")return [r.value];if(r.operator==="in")return r.value;console.warn("invalid launchedFromProtocolFamily filter",r);}}function Bi({client:e,subscribeClient:r,children:t}){return jsxRuntime.jsx(p.Provider,{value:{client:e,subscribeClient:r},children:t})}exports.Client=ae;exports.DexClientContext=p;exports.DexClientProvider=Bi;exports.fetchFinalStretchTokens=ke;exports.fetchMigratedTokens=Pe;exports.fetchNewTokens=Se;exports.fetchPresignedUploadUrl=Ce;exports.fetchSearchTokens=Ue;exports.fetchStockTokens=Qe;exports.fetchSwapRoute=Oe;exports.fetchToken=ze;exports.fetchTokenCandles=Me;exports.fetchTokenHolders=Ke;exports.fetchTokenMarketData=Le;exports.fetchTokenSecurity=je;exports.fetchTokenStats=tr;exports.fetchTokenTradeActivities=or;exports.fetchTokens=Ze;exports.fetchTrendingTokens=lr;exports.fetchTxSuccess=ur;exports.fetchWalletPnl=yr;exports.fetchWalletPortfolioPnls=br;exports.fetchWalletPortfolios=gr;exports.fetchWalletTradeActivities=Ir;exports.finalStretchTokensQueryKey=Te;exports.migratedTokensQueryKey=he;exports.newTokensQueryKey=Ae;exports.searchTokensQueryKey=pe;exports.sendTx=De;exports.stockTokensQueryKey=ve;exports.swapRouteQueryKey=We;exports.tokenCandlesQueryKey=Ne;exports.tokenHoldersQueryKey=Be;exports.tokenMarketDataQueryKey=_e;exports.tokenQueryKey=Ge;exports.tokenSecurityQueryKey=Je;exports.tokenStatsQueryKey=rr;exports.tokenTradeActivitiesQueryKey=nr;exports.tokensQueryKey=Ye;exports.trendingTokensQueryKey=ir;exports.txSuccessQueryKey=cr;exports.useDexClient=o;exports.useFinalStretchTokensDataSubscription=po;exports.useFinalStretchTokensQuery=At;exports.useMigratedTokensDataSubscription=So;exports.useMigratedTokensQuery=pt;exports.useNewTokensBasicSubscription=oo;exports.useNewTokensDataSubscription=ho;exports.useNewTokensMarketDataSubscription=co;exports.useNewTokensQuery=vt;exports.useNewTokensStatsSubscription=yo;exports.useNewTokensSubscription=ro;exports.usePresignedUploadUrlQuery=Ft;exports.useSearchTokensQuery=Kt;exports.useSendTxMutation=Gt;exports.useStockTokensDataSubscription=Wo;exports.useStockTokensQuery=Xt;exports.useSwapRouteQuery=ts;exports.useTokenCandlesQuery=is;exports.useTokenCandlesSubscription=Un;exports.useTokenHoldersQuery=ms;exports.useTokenMarketDataQuery=bs;exports.useTokenMarketDataSubscription=vn;exports.useTokenQuery=Ss;exports.useTokenSecurityQuery=Us;exports.useTokenStatsQuery=Ns;exports.useTokenStatsSubscription=In;exports.useTokenTradeActivitiesQuery=Es;exports.useTokenTradeActivitiesSubscription=On;exports.useTokensQuery=Qs;exports.useTrendingTokensDataSubscription=Ro;exports.useTrendingTokensQuery=zs;exports.useTxSuccessQuery=Ys;exports.useWalletPnlQuery=sn;exports.useWalletPnlSubscription=qn;exports.useWalletPortfolioPnlsQuery=dn;exports.useWalletPortfolioPnlsSubscription=zn;exports.useWalletPortfoliosQuery=yn;exports.useWalletPortfoliosSubscription=_n;exports.useWalletTradeActivitiesQuery=Pn;exports.useWalletTradeActivitiesSubscription=Xn;exports.version=ue;exports.walletPnlQueryKey=fr;exports.walletPortfolioPnlsQueryKey=kr;exports.walletPortfoliosQueryKey=Pr;exports.walletTradeActivitiesQueryKey=Sr;//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map