@liberfi.io/client 0.1.35 → 0.1.36

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,5 +1,5 @@
1
- import { ChainStreamClientOptions, TokenProvider } from '@chainstream-io/sdk';
2
- import { API, Chain, Token, TokenResolution, TokenCandle, TokenSecurity, TokenStats, TokenHolder, TokenMarketData, WalletPortfolios, WalletPnl, WalletPortfolioPnls, Portfolio, PortfolioPnl, TradeActivity } from '@liberfi.io/types';
1
+ import { ChainStreamClientOptions, TokenProvider, ChainSymbol, Resolution, FilterCondition, TokenCreatorsDTO, Token as Token$1, TokenStat, DexPoolDTO, TokenMarketData as TokenMarketData$1, Candle, SwapRouteInput, SendTxInput, TokenHolderPage, TokenPage, SwapRouteResponse, SendTxResponse, WalletNetWorthPage, WalletPnlSummaryDTO, PnlDetailsPage, WalletNetWorthByTokensResult, TradePage, WsNewToken, WsTokenMetadata, WsCandle, WsTokenStat, WsTokenSupply, WsTokenHolder, WsTokenLiquidity, WsTokenBondingCurve, WsTokenMaxLiquidity, WsTokenTotalLiquidity, WsTradeActivity } from '@chainstream-io/sdk';
2
+ import { API, Chain, Token, TokenResolution, TokenCandle, TokenSecurity, TokenStats, TokenHolder, TokenMarketData, WalletPortfolios, WalletPnl, WalletPortfolioPnls, Portfolio, PortfolioPnl, TradeActivity, TokenCreator, TokenLiquidity } from '@liberfi.io/types';
3
3
 
4
4
  declare global {
5
5
  interface Window {
@@ -8,7 +8,7 @@ declare global {
8
8
  };
9
9
  }
10
10
  }
11
- declare const _default: "0.1.35";
11
+ declare const _default: "0.1.36";
12
12
 
13
13
  type ClientOptions = ChainStreamClientOptions;
14
14
  type ClientTokenProvider = TokenProvider | string;
@@ -62,4 +62,45 @@ declare class Client implements API.IClient, API.ISubscribeClient {
62
62
  private _subscribeRankingTokens;
63
63
  }
64
64
 
65
- export { Client, type ClientOptions, type ClientTokenProvider, _default as version };
65
+ declare function toChainDTO(chain: Chain): ChainSymbol;
66
+ declare function toResolutionDTO(resolution: TokenResolution): Resolution;
67
+ declare function toSortDirectionDTO(direction: "asc" | "desc"): string;
68
+ declare function toSearchFieldDTO(field: API.TokenFieldOption): string;
69
+ declare function toFieldDTO(field: API.TokenFieldOption): string;
70
+ declare function toRangeFiltersDTO(filters: Array<API.TokenFilterOption>): Array<FilterCondition>;
71
+ declare function fromChainDTO(chain: string): Chain;
72
+ declare function fromTokenCreatorDTO(input: TokenCreatorsDTO): TokenCreator;
73
+ declare function fromTokenDTO(input: Token$1): Token;
74
+ declare function fromTokenStatsDTO(input: TokenStat): TokenStats;
75
+ declare function fromTokenLiquidityDTO(input: DexPoolDTO): TokenLiquidity;
76
+ declare function fromTokenMarketDataDTO(input: TokenMarketData$1): TokenMarketData;
77
+ declare function fromTokenCandle(input: Candle): TokenCandle;
78
+ declare function fromTokenSecurity(input: Record<string, unknown>): TokenSecurity;
79
+ declare function toSwapRouteInput(params: API.SwapParams): SwapRouteInput;
80
+ declare function toSendTxInput(params: API.SendTxParams): SendTxInput;
81
+ declare function fromTokenHolderPage(input: TokenHolderPage): API.CursorList<TokenHolder>;
82
+ declare function fromTokenPage(input: TokenPage): API.SearchTokenCursorList;
83
+ declare function fromSwapRoute(input: SwapRouteResponse): API.SwapRoute;
84
+ declare function fromSendTxResult(input: SendTxResponse): API.SendTxResult;
85
+ declare function fromWalletPortfolios(chain: Chain, input: WalletNetWorthPage): WalletPortfolios;
86
+ declare function fromWalletPnlSummary(chain: Chain, address: string, input: WalletPnlSummaryDTO): WalletPnl;
87
+ declare function fromPnlDetailsPage(chain: Chain, address: string, input: PnlDetailsPage): WalletPortfolioPnls;
88
+ declare function fromWalletNetWorthByTokens(chain: Chain, input: WalletNetWorthByTokensResult): Portfolio[];
89
+ declare function fromPnlDetailItems(chain: Chain, input: PnlDetailsPage): PortfolioPnl[];
90
+ declare function fromTradePage(input: TradePage): API.CursorList<TradeActivity>;
91
+ declare function fromTokenSubscribed(chain: Chain, input: WsNewToken): API.TokenSubscribed;
92
+ declare function fromTokenMetadataSubscribed(chain: Chain, input: WsTokenMetadata): API.TokenSubscribed;
93
+ declare function fromWsCandle(input: WsCandle): TokenCandle;
94
+ declare function fromWsTokenStats(input: WsTokenStat): TokenStats;
95
+ declare function fromWsTokenMarketDataFromStats(input: WsTokenStat): TokenMarketData;
96
+ declare function fromWsTokenDataSubscribed(chain: Chain, input: WsTokenStat): API.TokenSubscribed;
97
+ declare function fromWsTokenSupplyToSubscribed(chain: Chain, address: string, input: WsTokenSupply): API.TokenSubscribed;
98
+ declare function fromWsTokenHolderToSubscribed(chain: Chain, address: string, input: WsTokenHolder): API.TokenSubscribed;
99
+ declare function fromWsTokenLiquidityToSubscribed(chain: Chain, address: string, input: WsTokenLiquidity): API.TokenSubscribed;
100
+ declare function fromWsTokenBondingCurveToSubscribed(chain: Chain, input: WsTokenBondingCurve): API.TokenSubscribed;
101
+ declare function fromWsTokenMaxLiquidityToSubscribed(chain: Chain, address: string, input: WsTokenMaxLiquidity): API.TokenSubscribed;
102
+ declare function fromWsTokenTotalLiquidityToSubscribed(chain: Chain, address: string, input: WsTokenTotalLiquidity): API.TokenSubscribed;
103
+ declare function fromWsTokenMarketDataFromHolder(input: WsTokenHolder): Partial<TokenMarketData>;
104
+ declare function fromWsTradeActivity(chain: Chain, input: WsTradeActivity): TradeActivity;
105
+
106
+ export { Client, type ClientOptions, type ClientTokenProvider, fromChainDTO, fromPnlDetailItems, fromPnlDetailsPage, fromSendTxResult, fromSwapRoute, fromTokenCandle, fromTokenCreatorDTO, fromTokenDTO, fromTokenHolderPage, fromTokenLiquidityDTO, fromTokenMarketDataDTO, fromTokenMetadataSubscribed, fromTokenPage, fromTokenSecurity, fromTokenStatsDTO, fromTokenSubscribed, fromTradePage, fromWalletNetWorthByTokens, fromWalletPnlSummary, fromWalletPortfolios, fromWsCandle, fromWsTokenBondingCurveToSubscribed, fromWsTokenDataSubscribed, fromWsTokenHolderToSubscribed, fromWsTokenLiquidityToSubscribed, fromWsTokenMarketDataFromHolder, fromWsTokenMarketDataFromStats, fromWsTokenMaxLiquidityToSubscribed, fromWsTokenStats, fromWsTokenSupplyToSubscribed, fromWsTokenTotalLiquidityToSubscribed, fromWsTradeActivity, toChainDTO, toFieldDTO, toRangeFiltersDTO, toResolutionDTO, toSearchFieldDTO, toSendTxInput, toSortDirectionDTO, toSwapRouteInput, _default as version };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { ChainStreamClientOptions, TokenProvider } from '@chainstream-io/sdk';
2
- import { API, Chain, Token, TokenResolution, TokenCandle, TokenSecurity, TokenStats, TokenHolder, TokenMarketData, WalletPortfolios, WalletPnl, WalletPortfolioPnls, Portfolio, PortfolioPnl, TradeActivity } from '@liberfi.io/types';
1
+ import { ChainStreamClientOptions, TokenProvider, ChainSymbol, Resolution, FilterCondition, TokenCreatorsDTO, Token as Token$1, TokenStat, DexPoolDTO, TokenMarketData as TokenMarketData$1, Candle, SwapRouteInput, SendTxInput, TokenHolderPage, TokenPage, SwapRouteResponse, SendTxResponse, WalletNetWorthPage, WalletPnlSummaryDTO, PnlDetailsPage, WalletNetWorthByTokensResult, TradePage, WsNewToken, WsTokenMetadata, WsCandle, WsTokenStat, WsTokenSupply, WsTokenHolder, WsTokenLiquidity, WsTokenBondingCurve, WsTokenMaxLiquidity, WsTokenTotalLiquidity, WsTradeActivity } from '@chainstream-io/sdk';
2
+ import { API, Chain, Token, TokenResolution, TokenCandle, TokenSecurity, TokenStats, TokenHolder, TokenMarketData, WalletPortfolios, WalletPnl, WalletPortfolioPnls, Portfolio, PortfolioPnl, TradeActivity, TokenCreator, TokenLiquidity } from '@liberfi.io/types';
3
3
 
4
4
  declare global {
5
5
  interface Window {
@@ -8,7 +8,7 @@ declare global {
8
8
  };
9
9
  }
10
10
  }
11
- declare const _default: "0.1.35";
11
+ declare const _default: "0.1.36";
12
12
 
13
13
  type ClientOptions = ChainStreamClientOptions;
14
14
  type ClientTokenProvider = TokenProvider | string;
@@ -62,4 +62,45 @@ declare class Client implements API.IClient, API.ISubscribeClient {
62
62
  private _subscribeRankingTokens;
63
63
  }
64
64
 
65
- export { Client, type ClientOptions, type ClientTokenProvider, _default as version };
65
+ declare function toChainDTO(chain: Chain): ChainSymbol;
66
+ declare function toResolutionDTO(resolution: TokenResolution): Resolution;
67
+ declare function toSortDirectionDTO(direction: "asc" | "desc"): string;
68
+ declare function toSearchFieldDTO(field: API.TokenFieldOption): string;
69
+ declare function toFieldDTO(field: API.TokenFieldOption): string;
70
+ declare function toRangeFiltersDTO(filters: Array<API.TokenFilterOption>): Array<FilterCondition>;
71
+ declare function fromChainDTO(chain: string): Chain;
72
+ declare function fromTokenCreatorDTO(input: TokenCreatorsDTO): TokenCreator;
73
+ declare function fromTokenDTO(input: Token$1): Token;
74
+ declare function fromTokenStatsDTO(input: TokenStat): TokenStats;
75
+ declare function fromTokenLiquidityDTO(input: DexPoolDTO): TokenLiquidity;
76
+ declare function fromTokenMarketDataDTO(input: TokenMarketData$1): TokenMarketData;
77
+ declare function fromTokenCandle(input: Candle): TokenCandle;
78
+ declare function fromTokenSecurity(input: Record<string, unknown>): TokenSecurity;
79
+ declare function toSwapRouteInput(params: API.SwapParams): SwapRouteInput;
80
+ declare function toSendTxInput(params: API.SendTxParams): SendTxInput;
81
+ declare function fromTokenHolderPage(input: TokenHolderPage): API.CursorList<TokenHolder>;
82
+ declare function fromTokenPage(input: TokenPage): API.SearchTokenCursorList;
83
+ declare function fromSwapRoute(input: SwapRouteResponse): API.SwapRoute;
84
+ declare function fromSendTxResult(input: SendTxResponse): API.SendTxResult;
85
+ declare function fromWalletPortfolios(chain: Chain, input: WalletNetWorthPage): WalletPortfolios;
86
+ declare function fromWalletPnlSummary(chain: Chain, address: string, input: WalletPnlSummaryDTO): WalletPnl;
87
+ declare function fromPnlDetailsPage(chain: Chain, address: string, input: PnlDetailsPage): WalletPortfolioPnls;
88
+ declare function fromWalletNetWorthByTokens(chain: Chain, input: WalletNetWorthByTokensResult): Portfolio[];
89
+ declare function fromPnlDetailItems(chain: Chain, input: PnlDetailsPage): PortfolioPnl[];
90
+ declare function fromTradePage(input: TradePage): API.CursorList<TradeActivity>;
91
+ declare function fromTokenSubscribed(chain: Chain, input: WsNewToken): API.TokenSubscribed;
92
+ declare function fromTokenMetadataSubscribed(chain: Chain, input: WsTokenMetadata): API.TokenSubscribed;
93
+ declare function fromWsCandle(input: WsCandle): TokenCandle;
94
+ declare function fromWsTokenStats(input: WsTokenStat): TokenStats;
95
+ declare function fromWsTokenMarketDataFromStats(input: WsTokenStat): TokenMarketData;
96
+ declare function fromWsTokenDataSubscribed(chain: Chain, input: WsTokenStat): API.TokenSubscribed;
97
+ declare function fromWsTokenSupplyToSubscribed(chain: Chain, address: string, input: WsTokenSupply): API.TokenSubscribed;
98
+ declare function fromWsTokenHolderToSubscribed(chain: Chain, address: string, input: WsTokenHolder): API.TokenSubscribed;
99
+ declare function fromWsTokenLiquidityToSubscribed(chain: Chain, address: string, input: WsTokenLiquidity): API.TokenSubscribed;
100
+ declare function fromWsTokenBondingCurveToSubscribed(chain: Chain, input: WsTokenBondingCurve): API.TokenSubscribed;
101
+ declare function fromWsTokenMaxLiquidityToSubscribed(chain: Chain, address: string, input: WsTokenMaxLiquidity): API.TokenSubscribed;
102
+ declare function fromWsTokenTotalLiquidityToSubscribed(chain: Chain, address: string, input: WsTokenTotalLiquidity): API.TokenSubscribed;
103
+ declare function fromWsTokenMarketDataFromHolder(input: WsTokenHolder): Partial<TokenMarketData>;
104
+ declare function fromWsTradeActivity(chain: Chain, input: WsTradeActivity): TradeActivity;
105
+
106
+ export { Client, type ClientOptions, type ClientTokenProvider, fromChainDTO, fromPnlDetailItems, fromPnlDetailsPage, fromSendTxResult, fromSwapRoute, fromTokenCandle, fromTokenCreatorDTO, fromTokenDTO, fromTokenHolderPage, fromTokenLiquidityDTO, fromTokenMarketDataDTO, fromTokenMetadataSubscribed, fromTokenPage, fromTokenSecurity, fromTokenStatsDTO, fromTokenSubscribed, fromTradePage, fromWalletNetWorthByTokens, fromWalletPnlSummary, fromWalletPortfolios, fromWsCandle, fromWsTokenBondingCurveToSubscribed, fromWsTokenDataSubscribed, fromWsTokenHolderToSubscribed, fromWsTokenLiquidityToSubscribed, fromWsTokenMarketDataFromHolder, fromWsTokenMarketDataFromStats, fromWsTokenMaxLiquidityToSubscribed, fromWsTokenStats, fromWsTokenSupplyToSubscribed, fromWsTokenTotalLiquidityToSubscribed, fromWsTradeActivity, toChainDTO, toFieldDTO, toRangeFiltersDTO, toResolutionDTO, toSearchFieldDTO, toSendTxInput, toSortDirectionDTO, toSwapRouteInput, _default as version };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var sdk=require('@chainstream-io/sdk'),types=require('@liberfi.io/types'),utils=require('@liberfi.io/utils');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/client"]="0.1.35");var ke="0.1.35";function l(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 v(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 y(e){switch(e){case "asc":return "ASC";case "desc":return "DESC"}}function q(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 f(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 I(e){return e.filter(r=>["gt","gte","lt","lte","between"].indexOf(r.operator)>=0).map(r=>{let s={field:f(r.field)};return ["gt","gte","between"].indexOf(r.operator)>=0&&(s.min=typeof r.value=="number"?new utils.SafeBigNumber(r.value).toString():r.value),["lt","lte","between"].indexOf(r.operator)>=0&&(s.max=typeof r.value=="number"?new utils.SafeBigNumber(r.value).toString():r.value),s})}function C(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 be(e){return {address:e.address,share:e.share,isVerified:e.isVerified}}function u(e){return {chain:C(e.chain),name:e.name,symbol:e.symbol,address:e.address,decimals:e.decimals,image:e.imageUrl,description:e.description,creators:e.tokenCreators?.map(be),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?W(e.stats):void 0,marketData:e.marketData?D(e.marketData):void 0,liquidities:e.liquidity?.map(ge),createdAt:e.tokenCreatedAt?new Date(e.tokenCreatedAt):void 0}}function W(e){return {"1m":k(e,"1m"),"5m":k(e,"5m"),"15m":k(e,"15m"),"30m":k(e,"30m"),"1h":k(e,"1h"),"4h":k(e,"4h"),"24h":k(e,"24h")}}function b(e){return e===void 0?void 0:parseInt(e)}function k(e,r){let s=e.periods?.[r];return s?{buys:b(s.buys),sells:b(s.sells),trades:b(s.trades),buyers:b(s.buyers),sellers:b(s.sellers),traders:b(s.traders),buyVolumes:s.buyVolume,sellVolumes:s.sellVolume,volumes:s.totalVolumeInNative,buyVolumesInUsd:s.buyVolumeInUsd,sellVolumesInUsd:s.sellVolumeInUsd,volumesInUsd:s.totalVolumeInUsd,openPriceInUsd:s.openInUsd,closePriceInUsd:s.closeInUsd,highPriceInUsd:s.highInUsd,lowPriceInUsd:s.lowInUsd,priceInUsd:s.closeInUsd,priceChange:s.priceChangeRatioInUsd}:{}}function ge(e){return {image:e.image,poolAddress:e.poolAddress,programAddress:e.programAddress,protocolFamily:e.protocolFamily,tvl:e.tvlInSol,tvlInUsd:e.tvlInUsd}}function D(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 G(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:E(e.resolution),timestamp:new Date(e.time)}}function E(e){return e==="1d"?"24h":e}function K(e){return {hasTransferFee:e.hasTransferFee,isTransferFeeUpgradable:e.isTransferFeeUpgradable,isTransferable:e.isTransferable,isFreezable:e.isFreezable,isClosable:e.isClosable}}function $(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 j(e){return {signedTx:e.serializedTx}}function J(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 Q(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 X(e){return {serializedTx:e.serializedTx,plans:[],extra:e.routeInfo}}function Y(e){return {txHash:e.signature,extra:{jobId:e.jobId,elapsedTime:e.elapsedTime}}}function Z(e,r){let s=(r.data??[]).map(o=>({chain:C(o.chain),address:o.tokenAddress,name:o.name,symbol:o.symbol,image:o.logoUri,priceInUsd:o.priceInUsd,priceInNative:o.priceInNative,amount:o.amount,amountInUsd:o.valueInUsd,amountInNative:o.valueInNative,decimals:o.decimals}));return {chain:s[0]?.chain??e,address:r.walletAddress,balanceInUsd:r.totalValueInUsd,balanceInNative:r.totalValueInNative,startCursor:r.startCursor,endCursor:r.endCursor,hasPrev:r.hasPrev,hasNext:r.hasNext,portfolios:s}}function ee(e,r,s){return {chain:e,address:r,tokens:s.tokens?Number(s.tokens):void 0,buys:s.buys?Number(s.buys):void 0,sells:s.sells?Number(s.sells):void 0,totalTrades:s.totalTrades?Number(s.totalTrades):void 0,wins:s.wins?Number(s.wins):void 0,losses:s.losses?Number(s.losses):void 0,winRate:s.winRate,buyAmountInUsd:s.buyAmountInUsd,sellAmountInUsd:s.sellAmountInUsd,totalCostInUsd:s.totalCostInUsd,realizedProfitInUsd:s.realizedProfitInUsd,realizedProfitRatio:s.realizedProfitRatio,unrealizedProfitInUsd:s.unrealizedProfitInUsd,unrealizedProfitRatio:s.unrealizedProfitRatio,totalProfitInUsd:s.totalProfitInUsd,totalProfitRatio:s.totalProfitRatio,avgProfitPerTradeInUsd:s.avgProfitPerTradeInUsd}}function se(e,r,s){let o=s.data.map(t=>({chain:e,address:t.tokenAddress,name:t.name,symbol:t.symbol,image:t.logoUri,amount:t.balance,amountInUsd:t.currentValue,priceInUsd:t.priceInUsd,decimals:t.decimals,totalTrades:Number(t.totalTrades),buys:Number(t.buys),buyVolumes:t.buyAmount,buyVolumesInUsd:t.buyAmountInUsd,buyAvgPriceInUsd:t.avgBuyPriceInUsd,sells:Number(t.sells),sellVolumes:t.sellAmount,sellVolumesInUsd:t.sellAmountInUsd,sellAvgPriceInUsd:t.avgSellPriceInUsd,realizedProfitInUsd:t.realizedProfitInUsd,realizedProfitRatio:t.realizedProfitRatio,unrealizedProfitInUsd:t.unrealizedProfitInUsd,unrealizedProfitRatio:t.unrealizedProfitRatio,totalProfitInUsd:t.totalProfitInUsd,totalProfitRatio:t.totalProfitRatio}));return {chain:e,address:r,tokens:Number(s.summary.tokens),buys:Number(s.summary.buys),sells:Number(s.summary.sells),totalTrades:Number(s.summary.totalTrades),wins:Number(s.summary.wins),losses:Number(s.summary.losses),winRate:s.summary.winRate,buyAmountInUsd:s.summary.buyAmountInUsd,sellAmountInUsd:s.summary.sellAmountInUsd,totalCostInUsd:s.summary.totalCostInUsd,realizedProfitInUsd:s.summary.realizedProfitInUsd,realizedProfitRatio:s.summary.realizedProfitRatio,unrealizedProfitInUsd:s.summary.unrealizedProfitInUsd,totalProfitInUsd:s.summary.totalProfitInUsd,startCursor:s.startCursor,endCursor:s.endCursor,hasPrev:s.hasPrev,hasNext:s.hasNext,portfolios:o}}function re(e,r){return (r.data??[]).map(s=>({chain:C(s.chain),address:s.tokenAddress,name:s.name,symbol:s.symbol,image:s.logoUri,priceInUsd:s.priceInUsd,priceInNative:s.priceInNative,amount:s.amount,amountInUsd:s.valueInUsd,amountInNative:s.valueInNative,decimals:s.decimals}))}function oe(e,r){return r.data.map(s=>({chain:e,address:s.tokenAddress,name:s.name,symbol:s.symbol,image:s.logoUri,amount:s.balance,amountInUsd:s.currentValue,priceInUsd:s.priceInUsd,decimals:s.decimals,totalTrades:Number(s.totalTrades),buys:Number(s.buys),buyVolumes:s.buyAmount,buyVolumesInUsd:s.buyAmountInUsd,buyAvgPriceInUsd:s.avgBuyPriceInUsd,sells:Number(s.sells),sellVolumes:s.sellAmount,sellVolumesInUsd:s.sellAmountInUsd,sellAvgPriceInUsd:s.avgSellPriceInUsd,realizedProfitInUsd:s.realizedProfitInUsd,realizedProfitRatio:s.realizedProfitRatio,unrealizedProfitInUsd:s.unrealizedProfitInUsd,unrealizedProfitRatio:s.unrealizedProfitRatio,totalProfitInUsd:s.totalProfitInUsd,totalProfitRatio:s.totalProfitRatio}))}function x(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(he)}}function he(e){let r=e.type.toLowerCase()==="buy";return {chain:C(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 te(e,r){return {chain:e,address:r.tokenAddress,name:r.name,symbol:r.symbol,decimals:r.decimals,createdAt:r.createdAtMs?new Date(r.createdAtMs):void 0,launchedFrom:r.launchFrom?{programAddress:r.launchFrom.programAddress,protocolFamily:r.launchFrom.protocolFamily}:void 0}}function ne(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):void 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 ae(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:E(e.resolution),timestamp:new Date(e.time)}}function ye(e){let r=["1m","5m","15m","30m","1h","4h","24h"],s=e,o={};for(let t of r){let i=s[`buys${t}`],a=s[`sells${t}`],d=s[`buyers${t}`],w=s[`sellers${t}`],H=s[`buyVolumeInUsd${t}`],R=s[`sellVolumeInUsd${t}`],M=s[`trades${t}`],L=s[`price${t}`],P=s[`openInUsd${t}`],U=s[`closeInUsd${t}`];if(!(i!==void 0||a!==void 0||M!==void 0||L!==void 0))continue;let ce=M??(i!==void 0&&a!==void 0?i+a:void 0),ue=d!==void 0&&w!==void 0?d+w:void 0,me=H!==void 0&&R!==void 0?new utils.SafeBigNumber(H).plus(R).toString():void 0,Te=P&&U&&new utils.SafeBigNumber(P).gt(0)?new utils.SafeBigNumber(U).minus(P).div(P).toString():void 0;o[t]={buys:i,sells:a,trades:ce,buyers:d,sellers:w,traders:ue,buyVolumesInUsd:H,sellVolumesInUsd:R,volumesInUsd:me,openPriceInUsd:P,closePriceInUsd:U,priceInUsd:L??U,priceChange:Te};}return o}function Ie(e){return {priceInUsd:e.price}}function B(e,r){return {chain:e,address:r.address,stats:ye(r),marketData:Ie(r)}}function N(e,r,s){return {chain:e,address:r,marketData:{totalSupply:s.supply,marketCapInUsd:s.marketCapInUsd}}}function _(e,r,s){return {chain:e,address:r,marketData:Pe(s)}}function p(e,r,s){return s.metricType===sdk.WsMetricType.LIQUIDITY_IN_USD?{chain:e,address:r,marketData:{tvlInUsd:s.value}}:s.metricType===sdk.WsMetricType.MIGRATED_RATIO?{chain:e,address:r,migrateProgress:new utils.SafeBigNumber(s.value).shiftedBy(2).toString()}:{chain:e,address:r}}function F(e,r){return {chain:e,address:r.tokenAddress??"",migrateProgress:r.progressRatio?new utils.SafeBigNumber(r.progressRatio).shiftedBy(2).toString():void 0}}function ie(e,r,s){return {chain:e,address:r,liquidities:[{poolAddress:s.poolAddress,tvlInUsd:s.liquidityInUsd,tvl:s.liquidityInNative}]}}function le(e,r,s){return {chain:e,address:r,marketData:{tvlInUsd:s.liquidityInUsd,tvl:s.liquidityInNative}}}function Pe(e){return {holders:e.holders,top10Holdings:e.top10HoldersAmount,top10HoldingsRatio:e.top10HoldersRatio,top50Holdings:e.top50HoldersAmount,top50HoldingsRatio:e.top50HoldersRatio,top100Holdings:e.top100HoldersAmount,top100HoldingsRatio:e.top100HoldersRatio,devHolders:e.balanceTagDevHolders===void 0?void 0:e.balanceTagDevHolders,devHoldings:e.balanceTagDevAmount,devHoldingsRatio:e.balanceTagDevRatio,sniperHolders:e.balanceTagSniperHolders===void 0?void 0:e.balanceTagSniperHolders,sniperHoldings:e.balanceTagSniperAmount,sniperHoldingsRatio:e.balanceTagSniperRatio,freshHolders:e.balanceTagFreshHolders===void 0?void 0:e.balanceTagFreshHolders,freshHoldings:e.balanceTagFreshAmount,freshHoldingsRatio:e.balanceTagFreshRatio,bundleHolders:e.balanceTagBundleHolders===void 0?void 0:e.balanceTagBundleHolders,bundleHoldings:e.balanceTagBundleAmount,bundleHoldingsRatio:e.balanceTagBundleRatio,sandwichHolders:e.balanceTagSandwichHolders===void 0?void 0:e.balanceTagSandwichHolders,sandwichHoldings:e.balanceTagSandwichAmount,sandwichHoldingsRatio:e.balanceTagSandwichRatio}}function O(e,r){let s=r.kind.toLowerCase()==="buy";return {chain:e,walletAddress:s?r.buyWalletAddress:r.sellWalletAddress,txHash:r.txHash,type:s?"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)}}var de=class{constructor(r,s){this.accessToken=r;this.options=s;this._client=new sdk.ChainStreamClient(this.accessToken,this.options);}_client;async getToken(r,s){let o=await this._client.token.getToken(l(r),s);return u(o)}async getTokens(r,s){return (await this._client.token.getTokens(l(r),{tokenAddresses:s.join(",")})).map(u)}async getTokenCandles(r,s,o,t){return (await this._client.token.getCandles(l(r),s,{resolution:v(o),from:t?.after?.getTime(),to:t?.before?.getTime(),limit:t?.limit})).map(G)}async getTokenSecurity(r,s){let o=await this._client.token.getSecurity(l(r),s);return K(o)}async getTokenStats(r,s){let o=await this._client.token.getStats(l(r),s);return W(o)}async getTokenHolders(r,s,o){let t=await this._client.token.getHolders(l(r),s,{cursor:o?.cursor,limit:o?.limit,direction:o?.direction});return J(t)}async getTokenMarketData(r,s){let o=await this._client.token.getMarketData(l(r),s);return D(o)}async getNewTokens(r,s){return (await this._client.ranking.getNewTokens(l(r),{sortBy:s?.sortBy?f(s.sortBy):void 0,sortDirection:s?.sortDirection?y(s.sortDirection):void 0,rangeFilters:s?.filters?I(s.filters):void 0,launchpadPlatform:s?.filters?S(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async getFinalStretchTokens(r,s){return (await this._client.ranking.getFinalStretchTokens(l(r),{sortBy:s?.sortBy?f(s.sortBy):void 0,sortDirection:s?.sortDirection?y(s.sortDirection):void 0,rangeFilters:s?.filters?I(s.filters):void 0,launchpadPlatform:s?.filters?S(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async getMigratedTokens(r,s){return (await this._client.ranking.getMigratedTokens(l(r),{sortBy:s?.sortBy?f(s.sortBy):void 0,sortDirection:s?.sortDirection?y(s.sortDirection):void 0,rangeFilters:s?.filters?I(s.filters):void 0,launchpadPlatform:s?.filters?S(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async getTrendingTokens(r,s,o){return (await this._client.ranking.getHotTokens(l(r),s,{sortBy:o?.sortBy?f(o.sortBy):void 0,sortDirection:o?.sortDirection?y(o.sortDirection):void 0,rangeFilters:o?.filters?I(o.filters):void 0,launchpadPlatform:o?.filters?S(o.filters):void 0,searchKeywords:o?.keywords,excludeKeywords:o?.excludeKeywords})).map(u)}async getStockTokens(r,s){return (await this._client.ranking.getStocksTokens(l(r),{sortBy:s?.sortBy?f(s.sortBy):void 0,sortDirection:s?.sortDirection?y(s.sortDirection):void 0,rangeFilters:s?.filters?I(s.filters):void 0,launchpadPlatform:s?.filters?S(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async searchTokens(r){let s=await this._client.token.search({chains:r?.chains?.map(l),q:r?.keyword,limit:r?.limit,cursor:r?.cursor,sortBy:r?.sortBy?q(r.sortBy):void 0,sort:r?.sortDirection});return Q(s)}async swapRoute(r){let s=await this._client.dex.route(l(r.chain),$(r));return X(s)}async sendTx(r){let s=await this._client.transaction.send(l(r.chain),j(r));return Y(s)}async checkTxSuccess(r,s,o){let{result:t}=await this._client.waitForJob(s,o);return t.success}async getWalletPortfolios(r,s,o){let t=await this._client.wallet.getNetWorth(l(r),s,{cursor:o?.cursor,limit:o?.limit??100});return Z(r,t)}async getWalletPnl(r,s,o){let t=await this._client.wallet.getPnl(l(r),s,o?{resolution:o}:void 0);return ee(r,s,t)}async getWalletPortfolioPnls(r,s,o){let t=await this._client.wallet.getPnlDetails(l(r),s,{cursor:o?.cursor,limit:o?.limit??100});return se(r,s,t)}async getWalletPortfoliosByTokens(r,s,o){let t=await this._client.wallet.getNetWorthByTokens(l(r),s,{tokenAddresses:o.join(",")});return re(r,t)}async getWalletPortfolioPnlsByTokens(r,s,o){let t=await this._client.wallet.getPnlByToken(l(r),s,{tokenAddresses:o.join(",")});return oe(r,t)}async getWalletTradeActivities(r,s,o){let t=await this._client.trade.getTrades(l(r),{walletAddress:s,cursor:o?.cursor,limit:o?.limit,direction:o?.direction,beforeTimestamp:o?.before?.getTime(),afterTimestamp:o?.after?.getTime(),beforeBlockHeight:o?.beforeBlockHeight,afterBlockHeight:o?.afterBlockHeight,poolAddress:o?.poolAddress,type:o?.type?o.type.toUpperCase():void 0});return x(t)}async getTokenTradeActivities(r,s,o){let t=await this._client.trade.getTrades(l(r),{tokenAddress:s,cursor:o?.cursor,limit:o?.limit,direction:o?.direction,beforeTimestamp:o?.before?.getTime(),afterTimestamp:o?.after?.getTime(),beforeBlockHeight:o?.beforeBlockHeight,afterBlockHeight:o?.afterBlockHeight,poolAddress:o?.poolAddress,type:o?.type?o.type.toUpperCase():void 0});return x(t)}async getPresignedUploadUrl(){return await this._client.ipfs.presign()}subscribeToken(r,s,o){let t=l(r),i=[this._client.stream.subscribeTokenStats({chain:t,tokenAddress:s,callback:a=>o([B(r,a)])}),this._client.stream.subscribeTokenSupply({chain:t,tokenAddress:s,callback:a=>o([N(r,s,a)])}),this._client.stream.subscribeTokenHolders({chain:t,tokenAddress:s,callback:a=>o([_(r,s,a)])}),this._client.stream.subscribeTokenLiquidity({chain:t,tokenAddress:s,callback:a=>o([p(r,s,a)])}),this._client.stream.subscribeTokenMaxLiquidity({chain:t,tokenAddress:s,callback:a=>o([ie(r,s,a)])}),this._client.stream.subscribeTokenTotalLiquidity({chain:t,tokenAddress:s,callback:a=>o([le(r,s,a)])})];return {unsubscribe:()=>i.forEach(a=>a.unsubscribe())}}subscribeTokenCandles(r,s,o,t){return this._client.stream.subscribeTokenCandles({chain:l(r),tokenAddress:s,resolution:v(o),callback:i=>t([ae(i)])})}subscribeWalletPnl(r,s,o){return this._client.stream.subscribeWalletPnlList({chain:l(r),walletAddress:s,callback:t=>o(t.map(i=>({chain:r,address:i.walletAddress,buys:i.buys,buyAmountInUsd:i.buyAmountInUsd,sells:i.sells,sellAmountInUsd:i.sellAmountInUsd,wins:i.wins,winRate:i.winRatio,totalProfitInUsd:i.pnlInUsd,totalProfitRatio:i.pnlRatio,avgProfitPerTradeInUsd:i.averagePnlInUsd,tokens:i.tokens,resolution:i.resolution})))})}subscribeWalletPortfolios(r,s,o){return this._client.stream.subscribeWalletBalance({chain:l(r),walletAddress:s,callback:t=>o(t.map(i=>({chain:r,walletAddress:i.walletAddress,tokenAddress:i.tokenAddress,priceInUsd:i.tokenPriceInUsd,amount:i.balance})))})}subscribeWalletPortfolioPnls(r,s,o){return this._client.stream.subscribeWalletPnl({chain:l(r),walletAddress:s,callback:t=>o([{chain:r,walletAddress:t.walletAddress,tokenAddress:t.tokenAddress,openTime:t.opentime?new Date(t.opentime):void 0,closeTime:t.closetime?new Date(t.closetime):void 0,buys:t.buyCount,buyVolumes:t.buyAmount,buyVolumesInUsd:t.buyAmountInUsd,buyAvgPriceInUsd:t.averageBuyPriceInUsd,sells:t.sellCount,sellVolumes:t.sellAmount,sellVolumesInUsd:t.sellAmountInUsd,sellAvgPriceInUsd:t.averageSellPriceInUsd,realizedProfitInUsd:t.realizedProfitInUsd,realizedProfitRatio:t.realizedProfitRatio,unrealizedProfitInUsd:t.unrealizedProfitInUsd,unrealizedProfitRatio:t.unrealizedProfitRatio,totalProfitInUsd:t.totalRealizedProfitInUsd,totalProfitRatio:t.totalRealizedProfitRatio}])})}subscribeWalletTradeActivities(r,s,o){return this._client.stream.subscribeWalletTrade({chain:l(r),walletAddress:s,callback:t=>o([O(r,t)])})}subscribeTokenTradeActivities(r,s,o){return this._client.stream.subscribeTokenTrade({chain:l(r),tokenAddress:s,callback:t=>o([O(r,t)])})}subscribeNewTokens(r,s){let o=l(r),t=this._subscribeRankingTokens(r,sdk.WsChannelType.New,s),i=[this._client.stream.subscribeNewToken({chain:o,callback:a=>s([te(r,a)])}),this._client.stream.subscribeNewTokensMetadata({chain:o,callback:a=>s(a.map(d=>ne(r,d)))}),this._client.stream.subscribeRankingTokensBondingCurve({chain:o,callback:a=>s(a.map(d=>F(r,d)))})];return {unsubscribe:()=>{t.unsubscribe(),i.forEach(a=>a.unsubscribe());}}}subscribeTrendingTokens(r,s){return this._subscribeRankingTokens(r,sdk.WsChannelType.HOT,s)}subscribeMigratedTokens(r,s){return this._subscribeRankingTokens(r,sdk.WsChannelType.GRADUATED,s)}subscribeFinalStretchTokens(r,s){let o=l(r),t=this._subscribeRankingTokens(r,sdk.WsChannelType.COMPLETED,s),i=this._client.stream.subscribeRankingTokensBondingCurve({chain:o,callback:a=>s(a.map(d=>F(r,d)))});return {unsubscribe:()=>{t.unsubscribe(),i.unsubscribe();}}}subscribeStockTokens(r,s){return this._subscribeRankingTokens(r,sdk.WsChannelType.US_STOCKS,s)}_subscribeRankingTokens(r,s,o){let t=l(r),i=[this._client.stream.subscribeRankingTokensStats({chain:t,channelType:s,callback:a=>o(a.map(d=>B(r,d)))}),this._client.stream.subscribeRankingTokensHolders({chain:t,channelType:s,callback:a=>o(a.map(d=>_(r,d.tokenAddress,d)))}),this._client.stream.subscribeRankingTokensSupply({chain:t,channelType:s,callback:a=>o(a.map(d=>N(r,d.tokenAddress,d)))}),this._client.stream.subscribeRankingTokensLiquidity({chain:t,channelType:s,callback:a=>o(a.map(d=>p(r,d.tokenAddress,d)))})];return {unsubscribe:()=>i.forEach(a=>a.unsubscribe())}}};function S(e){let r=e.find(s=>s.field==="launchedFromProtocolFamily");if(r){if(r.operator==="eq")return [r.value];if(r.operator==="in")return r.value;console.warn("invalid launchedFromProtocolFamily filter",r);}}exports.Client=de;exports.version=ke;//# sourceMappingURL=index.js.map
1
+ 'use strict';var sdk=require('@chainstream-io/sdk'),types=require('@liberfi.io/types'),utils=require('@liberfi.io/utils');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/client"]="0.1.36");var ke="0.1.36";function l(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 v(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 y(e){switch(e){case "asc":return "ASC";case "desc":return "DESC"}}function q(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 f(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 I(e){return e.filter(r=>["gt","gte","lt","lte","between"].indexOf(r.operator)>=0).map(r=>{let s={field:f(r.field)};return ["gt","gte","between"].indexOf(r.operator)>=0&&(s.min=typeof r.value=="number"?new utils.SafeBigNumber(r.value).toString():r.value),["lt","lte","between"].indexOf(r.operator)>=0&&(s.max=typeof r.value=="number"?new utils.SafeBigNumber(r.value).toString():r.value),s})}function C(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 be(e){return {address:e.address,share:e.share,isVerified:e.isVerified}}function u(e){return {chain:C(e.chain),name:e.name,symbol:e.symbol,address:e.address,decimals:e.decimals,image:e.imageUrl,description:e.description,creators:e.tokenCreators?.map(be),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?W(e.stats):void 0,marketData:e.marketData?D(e.marketData):void 0,liquidities:e.liquidity?.map(ge),createdAt:e.tokenCreatedAt?new Date(e.tokenCreatedAt):void 0}}function W(e){return {"1m":k(e,"1m"),"5m":k(e,"5m"),"15m":k(e,"15m"),"30m":k(e,"30m"),"1h":k(e,"1h"),"4h":k(e,"4h"),"24h":k(e,"24h")}}function b(e){return e===void 0?void 0:parseInt(e)}function k(e,r){let s=e.periods?.[r];return s?{buys:b(s.buys),sells:b(s.sells),trades:b(s.trades),buyers:b(s.buyers),sellers:b(s.sellers),traders:b(s.traders),buyVolumes:s.buyVolume,sellVolumes:s.sellVolume,volumes:s.totalVolumeInNative,buyVolumesInUsd:s.buyVolumeInUsd,sellVolumesInUsd:s.sellVolumeInUsd,volumesInUsd:s.totalVolumeInUsd,openPriceInUsd:s.openInUsd,closePriceInUsd:s.closeInUsd,highPriceInUsd:s.highInUsd,lowPriceInUsd:s.lowInUsd,priceInUsd:s.closeInUsd,priceChange:s.priceChangeRatioInUsd}:{}}function ge(e){return {image:e.image,poolAddress:e.poolAddress,programAddress:e.programAddress,protocolFamily:e.protocolFamily,tvl:e.tvlInSol,tvlInUsd:e.tvlInUsd}}function D(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 G(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:E(e.resolution),timestamp:new Date(e.time)}}function E(e){return e==="1d"?"24h":e}function K(e){return {hasTransferFee:e.hasTransferFee,isTransferFeeUpgradable:e.isTransferFeeUpgradable,isTransferable:e.isTransferable,isFreezable:e.isFreezable,isClosable:e.isClosable}}function $(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 j(e){return {signedTx:e.serializedTx}}function J(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 Q(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 X(e){return {serializedTx:e.serializedTx,plans:[],extra:e.routeInfo}}function Y(e){return {txHash:e.signature,extra:{jobId:e.jobId,elapsedTime:e.elapsedTime}}}function Z(e,r){let s=(r.data??[]).map(o=>({chain:C(o.chain),address:o.tokenAddress,name:o.name,symbol:o.symbol,image:o.logoUri,priceInUsd:o.priceInUsd,priceInNative:o.priceInNative,amount:o.amount,amountInUsd:o.valueInUsd,amountInNative:o.valueInNative,decimals:o.decimals}));return {chain:s[0]?.chain??e,address:r.walletAddress,balanceInUsd:r.totalValueInUsd,balanceInNative:r.totalValueInNative,startCursor:r.startCursor,endCursor:r.endCursor,hasPrev:r.hasPrev,hasNext:r.hasNext,portfolios:s}}function ee(e,r,s){return {chain:e,address:r,tokens:s.tokens?Number(s.tokens):void 0,buys:s.buys?Number(s.buys):void 0,sells:s.sells?Number(s.sells):void 0,totalTrades:s.totalTrades?Number(s.totalTrades):void 0,wins:s.wins?Number(s.wins):void 0,losses:s.losses?Number(s.losses):void 0,winRate:s.winRate,buyAmountInUsd:s.buyAmountInUsd,sellAmountInUsd:s.sellAmountInUsd,totalCostInUsd:s.totalCostInUsd,realizedProfitInUsd:s.realizedProfitInUsd,realizedProfitRatio:s.realizedProfitRatio,unrealizedProfitInUsd:s.unrealizedProfitInUsd,unrealizedProfitRatio:s.unrealizedProfitRatio,totalProfitInUsd:s.totalProfitInUsd,totalProfitRatio:s.totalProfitRatio,avgProfitPerTradeInUsd:s.avgProfitPerTradeInUsd}}function se(e,r,s){let o=s.data.map(t=>({chain:e,address:t.tokenAddress,name:t.name,symbol:t.symbol,image:t.logoUri,amount:t.balance,amountInUsd:t.currentValue,priceInUsd:t.priceInUsd,decimals:t.decimals,totalTrades:Number(t.totalTrades),buys:Number(t.buys),buyVolumes:t.buyAmount,buyVolumesInUsd:t.buyAmountInUsd,buyAvgPriceInUsd:t.avgBuyPriceInUsd,sells:Number(t.sells),sellVolumes:t.sellAmount,sellVolumesInUsd:t.sellAmountInUsd,sellAvgPriceInUsd:t.avgSellPriceInUsd,realizedProfitInUsd:t.realizedProfitInUsd,realizedProfitRatio:t.realizedProfitRatio,unrealizedProfitInUsd:t.unrealizedProfitInUsd,unrealizedProfitRatio:t.unrealizedProfitRatio,totalProfitInUsd:t.totalProfitInUsd,totalProfitRatio:t.totalProfitRatio}));return {chain:e,address:r,tokens:Number(s.summary.tokens),buys:Number(s.summary.buys),sells:Number(s.summary.sells),totalTrades:Number(s.summary.totalTrades),wins:Number(s.summary.wins),losses:Number(s.summary.losses),winRate:s.summary.winRate,buyAmountInUsd:s.summary.buyAmountInUsd,sellAmountInUsd:s.summary.sellAmountInUsd,totalCostInUsd:s.summary.totalCostInUsd,realizedProfitInUsd:s.summary.realizedProfitInUsd,realizedProfitRatio:s.summary.realizedProfitRatio,unrealizedProfitInUsd:s.summary.unrealizedProfitInUsd,totalProfitInUsd:s.summary.totalProfitInUsd,startCursor:s.startCursor,endCursor:s.endCursor,hasPrev:s.hasPrev,hasNext:s.hasNext,portfolios:o}}function re(e,r){return (r.data??[]).map(s=>({chain:C(s.chain),address:s.tokenAddress,name:s.name,symbol:s.symbol,image:s.logoUri,priceInUsd:s.priceInUsd,priceInNative:s.priceInNative,amount:s.amount,amountInUsd:s.valueInUsd,amountInNative:s.valueInNative,decimals:s.decimals}))}function oe(e,r){return r.data.map(s=>({chain:e,address:s.tokenAddress,name:s.name,symbol:s.symbol,image:s.logoUri,amount:s.balance,amountInUsd:s.currentValue,priceInUsd:s.priceInUsd,decimals:s.decimals,totalTrades:Number(s.totalTrades),buys:Number(s.buys),buyVolumes:s.buyAmount,buyVolumesInUsd:s.buyAmountInUsd,buyAvgPriceInUsd:s.avgBuyPriceInUsd,sells:Number(s.sells),sellVolumes:s.sellAmount,sellVolumesInUsd:s.sellAmountInUsd,sellAvgPriceInUsd:s.avgSellPriceInUsd,realizedProfitInUsd:s.realizedProfitInUsd,realizedProfitRatio:s.realizedProfitRatio,unrealizedProfitInUsd:s.unrealizedProfitInUsd,unrealizedProfitRatio:s.unrealizedProfitRatio,totalProfitInUsd:s.totalProfitInUsd,totalProfitRatio:s.totalProfitRatio}))}function x(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(he)}}function he(e){let r=e.type.toLowerCase()==="buy";return {chain:C(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 te(e,r){return {chain:e,address:r.tokenAddress,name:r.name,symbol:r.symbol,decimals:r.decimals,createdAt:r.createdAtMs?new Date(r.createdAtMs):void 0,launchedFrom:r.launchFrom?{programAddress:r.launchFrom.programAddress,protocolFamily:r.launchFrom.protocolFamily}:void 0}}function ne(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):void 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 ae(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:E(e.resolution),timestamp:new Date(e.time)}}function ye(e){let r=["1m","5m","15m","30m","1h","4h","24h"],s=e,o={};for(let t of r){let i=s[`buys${t}`],a=s[`sells${t}`],d=s[`buyers${t}`],w=s[`sellers${t}`],H=s[`buyVolumeInUsd${t}`],R=s[`sellVolumeInUsd${t}`],M=s[`trades${t}`],L=s[`price${t}`],P=s[`openInUsd${t}`],U=s[`closeInUsd${t}`];if(!(i!==void 0||a!==void 0||M!==void 0||L!==void 0))continue;let ce=M??(i!==void 0&&a!==void 0?i+a:void 0),ue=d!==void 0&&w!==void 0?d+w:void 0,me=H!==void 0&&R!==void 0?new utils.SafeBigNumber(H).plus(R).toString():void 0,Te=P&&U&&new utils.SafeBigNumber(P).gt(0)?new utils.SafeBigNumber(U).minus(P).div(P).toString():void 0;o[t]={buys:i,sells:a,trades:ce,buyers:d,sellers:w,traders:ue,buyVolumesInUsd:H,sellVolumesInUsd:R,volumesInUsd:me,openPriceInUsd:P,closePriceInUsd:U,priceInUsd:L??U,priceChange:Te};}return o}function Ie(e){return {priceInUsd:e.price}}function B(e,r){return {chain:e,address:r.address,stats:ye(r),marketData:Ie(r)}}function N(e,r,s){return {chain:e,address:r,marketData:{totalSupply:s.supply,marketCapInUsd:s.marketCapInUsd}}}function p(e,r,s){return {chain:e,address:r,marketData:Pe(s)}}function _(e,r,s){return s.metricType===sdk.WsMetricType.LIQUIDITY_IN_USD?{chain:e,address:r,marketData:{tvlInUsd:s.value}}:s.metricType===sdk.WsMetricType.MIGRATED_RATIO?{chain:e,address:r,migrateProgress:new utils.SafeBigNumber(s.value).shiftedBy(2).toString()}:{chain:e,address:r}}function F(e,r){return {chain:e,address:r.tokenAddress??"",migrateProgress:r.progressRatio?new utils.SafeBigNumber(r.progressRatio).shiftedBy(2).toString():void 0}}function ie(e,r,s){return {chain:e,address:r,liquidities:[{poolAddress:s.poolAddress,tvlInUsd:s.liquidityInUsd,tvl:s.liquidityInNative}]}}function le(e,r,s){return {chain:e,address:r,marketData:{tvlInUsd:s.liquidityInUsd,tvl:s.liquidityInNative}}}function Pe(e){return {holders:e.holders,top10Holdings:e.top10HoldersAmount,top10HoldingsRatio:e.top10HoldersRatio,top50Holdings:e.top50HoldersAmount,top50HoldingsRatio:e.top50HoldersRatio,top100Holdings:e.top100HoldersAmount,top100HoldingsRatio:e.top100HoldersRatio,devHolders:e.balanceTagDevHolders===void 0?void 0:e.balanceTagDevHolders,devHoldings:e.balanceTagDevAmount,devHoldingsRatio:e.balanceTagDevRatio,sniperHolders:e.balanceTagSniperHolders===void 0?void 0:e.balanceTagSniperHolders,sniperHoldings:e.balanceTagSniperAmount,sniperHoldingsRatio:e.balanceTagSniperRatio,freshHolders:e.balanceTagFreshHolders===void 0?void 0:e.balanceTagFreshHolders,freshHoldings:e.balanceTagFreshAmount,freshHoldingsRatio:e.balanceTagFreshRatio,bundleHolders:e.balanceTagBundleHolders===void 0?void 0:e.balanceTagBundleHolders,bundleHoldings:e.balanceTagBundleAmount,bundleHoldingsRatio:e.balanceTagBundleRatio,sandwichHolders:e.balanceTagSandwichHolders===void 0?void 0:e.balanceTagSandwichHolders,sandwichHoldings:e.balanceTagSandwichAmount,sandwichHoldingsRatio:e.balanceTagSandwichRatio}}function O(e,r){let s=r.kind.toLowerCase()==="buy";return {chain:e,walletAddress:s?r.buyWalletAddress:r.sellWalletAddress,txHash:r.txHash,type:s?"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)}}var de=class{constructor(r,s){this.accessToken=r;this.options=s;this._client=new sdk.ChainStreamClient(this.accessToken,this.options);}_client;async getToken(r,s){let o=await this._client.token.getToken(l(r),s);return u(o)}async getTokens(r,s){return (await this._client.token.getTokens(l(r),{tokenAddresses:s.join(",")})).map(u)}async getTokenCandles(r,s,o,t){return (await this._client.token.getCandles(l(r),s,{resolution:v(o),from:t?.after?.getTime(),to:t?.before?.getTime(),limit:t?.limit})).map(G)}async getTokenSecurity(r,s){let o=await this._client.token.getSecurity(l(r),s);return K(o)}async getTokenStats(r,s){let o=await this._client.token.getStats(l(r),s);return W(o)}async getTokenHolders(r,s,o){let t=await this._client.token.getHolders(l(r),s,{cursor:o?.cursor,limit:o?.limit,direction:o?.direction});return J(t)}async getTokenMarketData(r,s){let o=await this._client.token.getMarketData(l(r),s);return D(o)}async getNewTokens(r,s){return (await this._client.ranking.getNewTokens(l(r),{sortBy:s?.sortBy?f(s.sortBy):void 0,sortDirection:s?.sortDirection?y(s.sortDirection):void 0,rangeFilters:s?.filters?I(s.filters):void 0,launchpadPlatform:s?.filters?S(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async getFinalStretchTokens(r,s){return (await this._client.ranking.getFinalStretchTokens(l(r),{sortBy:s?.sortBy?f(s.sortBy):void 0,sortDirection:s?.sortDirection?y(s.sortDirection):void 0,rangeFilters:s?.filters?I(s.filters):void 0,launchpadPlatform:s?.filters?S(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async getMigratedTokens(r,s){return (await this._client.ranking.getMigratedTokens(l(r),{sortBy:s?.sortBy?f(s.sortBy):void 0,sortDirection:s?.sortDirection?y(s.sortDirection):void 0,rangeFilters:s?.filters?I(s.filters):void 0,launchpadPlatform:s?.filters?S(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async getTrendingTokens(r,s,o){return (await this._client.ranking.getHotTokens(l(r),s,{sortBy:o?.sortBy?f(o.sortBy):void 0,sortDirection:o?.sortDirection?y(o.sortDirection):void 0,rangeFilters:o?.filters?I(o.filters):void 0,launchpadPlatform:o?.filters?S(o.filters):void 0,searchKeywords:o?.keywords,excludeKeywords:o?.excludeKeywords})).map(u)}async getStockTokens(r,s){return (await this._client.ranking.getStocksTokens(l(r),{sortBy:s?.sortBy?f(s.sortBy):void 0,sortDirection:s?.sortDirection?y(s.sortDirection):void 0,rangeFilters:s?.filters?I(s.filters):void 0,launchpadPlatform:s?.filters?S(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async searchTokens(r){let s=await this._client.token.search({chains:r?.chains?.map(l),q:r?.keyword,limit:r?.limit,cursor:r?.cursor,sortBy:r?.sortBy?q(r.sortBy):void 0,sort:r?.sortDirection});return Q(s)}async swapRoute(r){let s=await this._client.dex.route(l(r.chain),$(r));return X(s)}async sendTx(r){let s=await this._client.transaction.send(l(r.chain),j(r));return Y(s)}async checkTxSuccess(r,s,o){let{result:t}=await this._client.waitForJob(s,o);return t.success}async getWalletPortfolios(r,s,o){let t=await this._client.wallet.getNetWorth(l(r),s,{cursor:o?.cursor,limit:o?.limit??100});return Z(r,t)}async getWalletPnl(r,s,o){let t=await this._client.wallet.getPnl(l(r),s,o?{resolution:o}:void 0);return ee(r,s,t)}async getWalletPortfolioPnls(r,s,o){let t=await this._client.wallet.getPnlDetails(l(r),s,{cursor:o?.cursor,limit:o?.limit??100});return se(r,s,t)}async getWalletPortfoliosByTokens(r,s,o){let t=await this._client.wallet.getNetWorthByTokens(l(r),s,{tokenAddresses:o.join(",")});return re(r,t)}async getWalletPortfolioPnlsByTokens(r,s,o){let t=await this._client.wallet.getPnlByToken(l(r),s,{tokenAddresses:o.join(",")});return oe(r,t)}async getWalletTradeActivities(r,s,o){let t=await this._client.trade.getTrades(l(r),{walletAddress:s,cursor:o?.cursor,limit:o?.limit,direction:o?.direction,beforeTimestamp:o?.before?.getTime(),afterTimestamp:o?.after?.getTime(),beforeBlockHeight:o?.beforeBlockHeight,afterBlockHeight:o?.afterBlockHeight,poolAddress:o?.poolAddress,type:o?.type?o.type.toUpperCase():void 0});return x(t)}async getTokenTradeActivities(r,s,o){let t=await this._client.trade.getTrades(l(r),{tokenAddress:s,cursor:o?.cursor,limit:o?.limit,direction:o?.direction,beforeTimestamp:o?.before?.getTime(),afterTimestamp:o?.after?.getTime(),beforeBlockHeight:o?.beforeBlockHeight,afterBlockHeight:o?.afterBlockHeight,poolAddress:o?.poolAddress,type:o?.type?o.type.toUpperCase():void 0});return x(t)}async getPresignedUploadUrl(){return await this._client.ipfs.presign()}subscribeToken(r,s,o){let t=l(r),i=[this._client.stream.subscribeTokenStats({chain:t,tokenAddress:s,callback:a=>o([B(r,a)])}),this._client.stream.subscribeTokenSupply({chain:t,tokenAddress:s,callback:a=>o([N(r,s,a)])}),this._client.stream.subscribeTokenHolders({chain:t,tokenAddress:s,callback:a=>o([p(r,s,a)])}),this._client.stream.subscribeTokenLiquidity({chain:t,tokenAddress:s,callback:a=>o([_(r,s,a)])}),this._client.stream.subscribeTokenMaxLiquidity({chain:t,tokenAddress:s,callback:a=>o([ie(r,s,a)])}),this._client.stream.subscribeTokenTotalLiquidity({chain:t,tokenAddress:s,callback:a=>o([le(r,s,a)])})];return {unsubscribe:()=>i.forEach(a=>a.unsubscribe())}}subscribeTokenCandles(r,s,o,t){return this._client.stream.subscribeTokenCandles({chain:l(r),tokenAddress:s,resolution:v(o),callback:i=>t([ae(i)])})}subscribeWalletPnl(r,s,o){return this._client.stream.subscribeWalletPnlList({chain:l(r),walletAddress:s,callback:t=>o(t.map(i=>({chain:r,address:i.walletAddress,buys:i.buys,buyAmountInUsd:i.buyAmountInUsd,sells:i.sells,sellAmountInUsd:i.sellAmountInUsd,wins:i.wins,winRate:i.winRatio,totalProfitInUsd:i.pnlInUsd,totalProfitRatio:i.pnlRatio,avgProfitPerTradeInUsd:i.averagePnlInUsd,tokens:i.tokens,resolution:i.resolution})))})}subscribeWalletPortfolios(r,s,o){return this._client.stream.subscribeWalletBalance({chain:l(r),walletAddress:s,callback:t=>o(t.map(i=>({chain:r,walletAddress:i.walletAddress,tokenAddress:i.tokenAddress,priceInUsd:i.tokenPriceInUsd,amount:i.balance})))})}subscribeWalletPortfolioPnls(r,s,o){return this._client.stream.subscribeWalletPnl({chain:l(r),walletAddress:s,callback:t=>o([{chain:r,walletAddress:t.walletAddress,tokenAddress:t.tokenAddress,openTime:t.opentime?new Date(t.opentime):void 0,closeTime:t.closetime?new Date(t.closetime):void 0,buys:t.buyCount,buyVolumes:t.buyAmount,buyVolumesInUsd:t.buyAmountInUsd,buyAvgPriceInUsd:t.averageBuyPriceInUsd,sells:t.sellCount,sellVolumes:t.sellAmount,sellVolumesInUsd:t.sellAmountInUsd,sellAvgPriceInUsd:t.averageSellPriceInUsd,realizedProfitInUsd:t.realizedProfitInUsd,realizedProfitRatio:t.realizedProfitRatio,unrealizedProfitInUsd:t.unrealizedProfitInUsd,unrealizedProfitRatio:t.unrealizedProfitRatio,totalProfitInUsd:t.totalRealizedProfitInUsd,totalProfitRatio:t.totalRealizedProfitRatio}])})}subscribeWalletTradeActivities(r,s,o){return this._client.stream.subscribeWalletTrade({chain:l(r),walletAddress:s,callback:t=>o([O(r,t)])})}subscribeTokenTradeActivities(r,s,o){return this._client.stream.subscribeTokenTrade({chain:l(r),tokenAddress:s,callback:t=>o([O(r,t)])})}subscribeNewTokens(r,s){let o=l(r),t=this._subscribeRankingTokens(r,sdk.WsChannelType.New,s),i=[this._client.stream.subscribeNewToken({chain:o,callback:a=>s([te(r,a)])}),this._client.stream.subscribeNewTokensMetadata({chain:o,callback:a=>s(a.map(d=>ne(r,d)))}),this._client.stream.subscribeRankingTokensBondingCurve({chain:o,callback:a=>s(a.map(d=>F(r,d)))})];return {unsubscribe:()=>{t.unsubscribe(),i.forEach(a=>a.unsubscribe());}}}subscribeTrendingTokens(r,s){return this._subscribeRankingTokens(r,sdk.WsChannelType.HOT,s)}subscribeMigratedTokens(r,s){return this._subscribeRankingTokens(r,sdk.WsChannelType.GRADUATED,s)}subscribeFinalStretchTokens(r,s){let o=l(r),t=this._subscribeRankingTokens(r,sdk.WsChannelType.COMPLETED,s),i=this._client.stream.subscribeRankingTokensBondingCurve({chain:o,callback:a=>s(a.map(d=>F(r,d)))});return {unsubscribe:()=>{t.unsubscribe(),i.unsubscribe();}}}subscribeStockTokens(r,s){return this._subscribeRankingTokens(r,sdk.WsChannelType.US_STOCKS,s)}_subscribeRankingTokens(r,s,o){let t=l(r),i=[this._client.stream.subscribeRankingTokensStats({chain:t,channelType:s,callback:a=>o(a.map(d=>B(r,d)))}),this._client.stream.subscribeRankingTokensHolders({chain:t,channelType:s,callback:a=>o(a.map(d=>p(r,d.tokenAddress,d)))}),this._client.stream.subscribeRankingTokensSupply({chain:t,channelType:s,callback:a=>o(a.map(d=>N(r,d.tokenAddress,d)))}),this._client.stream.subscribeRankingTokensLiquidity({chain:t,channelType:s,callback:a=>o(a.map(d=>_(r,d.tokenAddress,d)))})];return {unsubscribe:()=>i.forEach(a=>a.unsubscribe())}}};function S(e){let r=e.find(s=>s.field==="launchedFromProtocolFamily");if(r){if(r.operator==="eq")return [r.value];if(r.operator==="in")return r.value;console.warn("invalid launchedFromProtocolFamily filter",r);}}exports.Client=de;exports.fromChainDTO=C;exports.fromPnlDetailItems=oe;exports.fromPnlDetailsPage=se;exports.fromSendTxResult=Y;exports.fromSwapRoute=X;exports.fromTokenCandle=G;exports.fromTokenCreatorDTO=be;exports.fromTokenDTO=u;exports.fromTokenHolderPage=J;exports.fromTokenLiquidityDTO=ge;exports.fromTokenMarketDataDTO=D;exports.fromTokenMetadataSubscribed=ne;exports.fromTokenPage=Q;exports.fromTokenSecurity=K;exports.fromTokenStatsDTO=W;exports.fromTokenSubscribed=te;exports.fromTradePage=x;exports.fromWalletNetWorthByTokens=re;exports.fromWalletPnlSummary=ee;exports.fromWalletPortfolios=Z;exports.fromWsCandle=ae;exports.fromWsTokenBondingCurveToSubscribed=F;exports.fromWsTokenDataSubscribed=B;exports.fromWsTokenHolderToSubscribed=p;exports.fromWsTokenLiquidityToSubscribed=_;exports.fromWsTokenMarketDataFromHolder=Pe;exports.fromWsTokenMarketDataFromStats=Ie;exports.fromWsTokenMaxLiquidityToSubscribed=ie;exports.fromWsTokenStats=ye;exports.fromWsTokenSupplyToSubscribed=N;exports.fromWsTokenTotalLiquidityToSubscribed=le;exports.fromWsTradeActivity=O;exports.toChainDTO=l;exports.toFieldDTO=f;exports.toRangeFiltersDTO=I;exports.toResolutionDTO=v;exports.toSearchFieldDTO=q;exports.toSendTxInput=j;exports.toSortDirectionDTO=y;exports.toSwapRouteInput=$;exports.version=ke;//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map