@liberfi.io/client 0.1.48 → 0.1.50
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 +15 -15
- package/dist/index.d.ts +15 -15
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { API, Chain, Token, TokenResolution, TokenCandle, TokenSecurity, TokenStats, TokenHolder, TokenMarketData, WalletPortfolios, WalletPnl, WalletPortfolioPnls, Portfolio, PortfolioPnl, Trade, Activity, TokenCreator, TokenLiquidity } from '@liberfi.io/types';
|
|
2
|
-
import { ChainSymbol, Resolution,
|
|
1
|
+
import { API, Chain, Token, TokenResolution, TokenCandle, TokenSecurity, TokenStats, TokenHolder, TokenMarketData, WalletPortfolios, WalletPnl, WalletPortfolioPnls, Portfolio, PortfolioPnl, Trade, Activity, TokenCreator as TokenCreator$1, TokenLiquidity } from '@liberfi.io/types';
|
|
2
|
+
import { ChainSymbol, Resolution, RangeFilterCondition, TokenCreator, Token as Token$1, TokenStats as TokenStats$1, DexPool, TokenMarketData as TokenMarketData$1, TokenCandle as TokenCandle$1, SwapRouteInput, SendTxInput, PageResponseTokenHolder, TokenPage, SwapRouteResponse, SendTxResponse, WalletNetWorthPage, WalletPnlSummary, PnlDetailsResult, NetWorthByTokensResult, PageResponseTradeDetail, WsNewToken, WsTokenMetadata, WsCandle, WsTokenStat, WsTokenSupply, WsTokenHolder, WsTokenLiquidity, WsTokenBondingCurve, WsTokenMaxLiquidity, WsTokenTotalLiquidity, WsTradeActivity } from '@chainstream-io/sdk';
|
|
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.
|
|
11
|
+
declare const _default: "0.1.50";
|
|
12
12
|
|
|
13
13
|
/** Async or sync token provider for authentication. */
|
|
14
14
|
interface ClientTokenProviderFn {
|
|
@@ -83,28 +83,28 @@ declare function toResolutionDTO(resolution: TokenResolution): Resolution;
|
|
|
83
83
|
declare function toSortDirectionDTO(direction: "asc" | "desc"): string;
|
|
84
84
|
declare function toSearchFieldDTO(field: API.TokenFieldOption): string;
|
|
85
85
|
declare function toFieldDTO(field: API.TokenFieldOption): string;
|
|
86
|
-
declare function toRangeFiltersDTO(filters: Array<API.TokenFilterOption>): Array<
|
|
86
|
+
declare function toRangeFiltersDTO(filters: Array<API.TokenFilterOption>): Array<RangeFilterCondition>;
|
|
87
87
|
declare function fromChainDTO(chain: string): Chain;
|
|
88
|
-
declare function fromTokenCreatorDTO(input:
|
|
88
|
+
declare function fromTokenCreatorDTO(input: TokenCreator): TokenCreator$1;
|
|
89
89
|
declare function fromTokenDTO(input: Token$1): Token;
|
|
90
|
-
declare function fromTokenStatsDTO(input:
|
|
91
|
-
declare function fromTokenLiquidityDTO(input:
|
|
90
|
+
declare function fromTokenStatsDTO(input: TokenStats$1): TokenStats;
|
|
91
|
+
declare function fromTokenLiquidityDTO(input: DexPool): TokenLiquidity;
|
|
92
92
|
declare function fromTokenMarketDataDTO(input: TokenMarketData$1): TokenMarketData;
|
|
93
|
-
declare function fromTokenCandle(input:
|
|
93
|
+
declare function fromTokenCandle(input: TokenCandle$1, resolution: TokenResolution): TokenCandle;
|
|
94
94
|
declare function fromTokenSecurity(input: Record<string, unknown>): TokenSecurity;
|
|
95
95
|
declare function toSwapRouteInput(params: API.SwapParams): SwapRouteInput;
|
|
96
96
|
declare function toSendTxInput(params: API.SendTxParams): SendTxInput;
|
|
97
|
-
declare function fromTokenHolderPage(input:
|
|
97
|
+
declare function fromTokenHolderPage(input: PageResponseTokenHolder): API.CursorList<TokenHolder>;
|
|
98
98
|
declare function fromTokenPage(input: TokenPage): API.SearchTokenCursorList;
|
|
99
99
|
declare function fromSwapRoute(input: SwapRouteResponse): API.SwapRoute;
|
|
100
100
|
declare function fromSendTxResult(input: SendTxResponse): API.SendTxResult;
|
|
101
101
|
declare function fromWalletPortfolios(chain: Chain, input: WalletNetWorthPage): WalletPortfolios;
|
|
102
|
-
declare function fromWalletPnlSummary(chain: Chain, address: string, input:
|
|
103
|
-
declare function fromPnlDetailsPage(chain: Chain, address: string, input:
|
|
104
|
-
declare function fromWalletNetWorthByTokens(chain: Chain, input:
|
|
105
|
-
declare function fromPnlDetailItems(chain: Chain, input:
|
|
106
|
-
declare function fromTradePage(input:
|
|
107
|
-
declare function fromActivityPage(input:
|
|
102
|
+
declare function fromWalletPnlSummary(chain: Chain, address: string, input: WalletPnlSummary): WalletPnl;
|
|
103
|
+
declare function fromPnlDetailsPage(chain: Chain, address: string, input: PnlDetailsResult): WalletPortfolioPnls;
|
|
104
|
+
declare function fromWalletNetWorthByTokens(chain: Chain, input: NetWorthByTokensResult): Portfolio[];
|
|
105
|
+
declare function fromPnlDetailItems(chain: Chain, input: PnlDetailsResult): PortfolioPnl[];
|
|
106
|
+
declare function fromTradePage(input: PageResponseTradeDetail): API.CursorList<Trade>;
|
|
107
|
+
declare function fromActivityPage(input: PageResponseTradeDetail): API.CursorList<Activity>;
|
|
108
108
|
declare function fromTokenSubscribed(chain: Chain, input: WsNewToken): API.TokenSubscribed;
|
|
109
109
|
declare function fromTokenMetadataSubscribed(chain: Chain, input: WsTokenMetadata): API.TokenSubscribed;
|
|
110
110
|
declare function fromWsCandle(input: WsCandle): TokenCandle;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { API, Chain, Token, TokenResolution, TokenCandle, TokenSecurity, TokenStats, TokenHolder, TokenMarketData, WalletPortfolios, WalletPnl, WalletPortfolioPnls, Portfolio, PortfolioPnl, Trade, Activity, TokenCreator, TokenLiquidity } from '@liberfi.io/types';
|
|
2
|
-
import { ChainSymbol, Resolution,
|
|
1
|
+
import { API, Chain, Token, TokenResolution, TokenCandle, TokenSecurity, TokenStats, TokenHolder, TokenMarketData, WalletPortfolios, WalletPnl, WalletPortfolioPnls, Portfolio, PortfolioPnl, Trade, Activity, TokenCreator as TokenCreator$1, TokenLiquidity } from '@liberfi.io/types';
|
|
2
|
+
import { ChainSymbol, Resolution, RangeFilterCondition, TokenCreator, Token as Token$1, TokenStats as TokenStats$1, DexPool, TokenMarketData as TokenMarketData$1, TokenCandle as TokenCandle$1, SwapRouteInput, SendTxInput, PageResponseTokenHolder, TokenPage, SwapRouteResponse, SendTxResponse, WalletNetWorthPage, WalletPnlSummary, PnlDetailsResult, NetWorthByTokensResult, PageResponseTradeDetail, WsNewToken, WsTokenMetadata, WsCandle, WsTokenStat, WsTokenSupply, WsTokenHolder, WsTokenLiquidity, WsTokenBondingCurve, WsTokenMaxLiquidity, WsTokenTotalLiquidity, WsTradeActivity } from '@chainstream-io/sdk';
|
|
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.
|
|
11
|
+
declare const _default: "0.1.50";
|
|
12
12
|
|
|
13
13
|
/** Async or sync token provider for authentication. */
|
|
14
14
|
interface ClientTokenProviderFn {
|
|
@@ -83,28 +83,28 @@ declare function toResolutionDTO(resolution: TokenResolution): Resolution;
|
|
|
83
83
|
declare function toSortDirectionDTO(direction: "asc" | "desc"): string;
|
|
84
84
|
declare function toSearchFieldDTO(field: API.TokenFieldOption): string;
|
|
85
85
|
declare function toFieldDTO(field: API.TokenFieldOption): string;
|
|
86
|
-
declare function toRangeFiltersDTO(filters: Array<API.TokenFilterOption>): Array<
|
|
86
|
+
declare function toRangeFiltersDTO(filters: Array<API.TokenFilterOption>): Array<RangeFilterCondition>;
|
|
87
87
|
declare function fromChainDTO(chain: string): Chain;
|
|
88
|
-
declare function fromTokenCreatorDTO(input:
|
|
88
|
+
declare function fromTokenCreatorDTO(input: TokenCreator): TokenCreator$1;
|
|
89
89
|
declare function fromTokenDTO(input: Token$1): Token;
|
|
90
|
-
declare function fromTokenStatsDTO(input:
|
|
91
|
-
declare function fromTokenLiquidityDTO(input:
|
|
90
|
+
declare function fromTokenStatsDTO(input: TokenStats$1): TokenStats;
|
|
91
|
+
declare function fromTokenLiquidityDTO(input: DexPool): TokenLiquidity;
|
|
92
92
|
declare function fromTokenMarketDataDTO(input: TokenMarketData$1): TokenMarketData;
|
|
93
|
-
declare function fromTokenCandle(input:
|
|
93
|
+
declare function fromTokenCandle(input: TokenCandle$1, resolution: TokenResolution): TokenCandle;
|
|
94
94
|
declare function fromTokenSecurity(input: Record<string, unknown>): TokenSecurity;
|
|
95
95
|
declare function toSwapRouteInput(params: API.SwapParams): SwapRouteInput;
|
|
96
96
|
declare function toSendTxInput(params: API.SendTxParams): SendTxInput;
|
|
97
|
-
declare function fromTokenHolderPage(input:
|
|
97
|
+
declare function fromTokenHolderPage(input: PageResponseTokenHolder): API.CursorList<TokenHolder>;
|
|
98
98
|
declare function fromTokenPage(input: TokenPage): API.SearchTokenCursorList;
|
|
99
99
|
declare function fromSwapRoute(input: SwapRouteResponse): API.SwapRoute;
|
|
100
100
|
declare function fromSendTxResult(input: SendTxResponse): API.SendTxResult;
|
|
101
101
|
declare function fromWalletPortfolios(chain: Chain, input: WalletNetWorthPage): WalletPortfolios;
|
|
102
|
-
declare function fromWalletPnlSummary(chain: Chain, address: string, input:
|
|
103
|
-
declare function fromPnlDetailsPage(chain: Chain, address: string, input:
|
|
104
|
-
declare function fromWalletNetWorthByTokens(chain: Chain, input:
|
|
105
|
-
declare function fromPnlDetailItems(chain: Chain, input:
|
|
106
|
-
declare function fromTradePage(input:
|
|
107
|
-
declare function fromActivityPage(input:
|
|
102
|
+
declare function fromWalletPnlSummary(chain: Chain, address: string, input: WalletPnlSummary): WalletPnl;
|
|
103
|
+
declare function fromPnlDetailsPage(chain: Chain, address: string, input: PnlDetailsResult): WalletPortfolioPnls;
|
|
104
|
+
declare function fromWalletNetWorthByTokens(chain: Chain, input: NetWorthByTokensResult): Portfolio[];
|
|
105
|
+
declare function fromPnlDetailItems(chain: Chain, input: PnlDetailsResult): PortfolioPnl[];
|
|
106
|
+
declare function fromTradePage(input: PageResponseTradeDetail): API.CursorList<Trade>;
|
|
107
|
+
declare function fromActivityPage(input: PageResponseTradeDetail): API.CursorList<Activity>;
|
|
108
108
|
declare function fromTokenSubscribed(chain: Chain, input: WsNewToken): API.TokenSubscribed;
|
|
109
109
|
declare function fromTokenMetadataSubscribed(chain: Chain, input: WsTokenMetadata): API.TokenSubscribed;
|
|
110
110
|
declare function fromWsCandle(input: WsCandle): TokenCandle;
|
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.48");var be="0.1.48";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 C(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 M(e){switch(e){case "asc":return "ASC";case "desc":return "DESC"}}function z(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 v(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 V(e){return e.filter(s=>["gt","gte","lt","lte","between"].indexOf(s.operator)>=0).map(s=>{let r={field:v(s.field)};return ["gt","gte","between"].indexOf(s.operator)>=0&&(r.min=typeof s.value=="number"?new utils.SafeBigNumber(s.value).toString():s.value),["lt","lte","between"].indexOf(s.operator)>=0&&(r.max=typeof s.value=="number"?new utils.SafeBigNumber(s.value).toString():s.value),r})}function y(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 fe(e){return {address:e.address,share:e.share,isVerified:e.isVerified}}function u(e){return {chain:y(e.chain),name:e.name,symbol:e.symbol,address:e.address,decimals:e.decimals,image:e.imageUrl,description:e.description,creators:e.tokenCreators?.map(fe),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?R(e.marketData):void 0,liquidities:e.liquidity?.map(he),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,s){let r=e.periods?.[s];return r?{buys:b(r.buys),sells:b(r.sells),trades:b(r.trades),buyers:b(r.buyers),sellers:b(r.sellers),traders:b(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 he(e){return {image:e.image,poolAddress:e.poolAddress,programAddress:e.programAddress,protocolFamily:e.protocolFamily,tvl:e.tvlInSol,tvlInUsd:e.tvlInUsd}}function R(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 q(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 G(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 K(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(s=>({address:s.walletAddress,amount:s.amount,amountInUsd:s.amountInUsd,ratio:s.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 Q(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,s){let r=(s.data??[]).map(o=>({chain:y(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:r[0]?.chain??e,address:s.walletAddress,balanceInUsd:s.totalValueInUsd,balanceInNative:s.totalValueInNative,startCursor:s.startCursor,endCursor:s.endCursor,hasPrev:s.hasPrev,hasNext:s.hasNext,portfolios:r}}function Z(e,s,r){return {chain:e,address:s,tokens:r.tokens?Number(r.tokens):void 0,buys:r.buys?Number(r.buys):void 0,sells:r.sells?Number(r.sells):void 0,totalTrades:r.totalTrades?Number(r.totalTrades):void 0,wins:r.wins?Number(r.wins):void 0,losses:r.losses?Number(r.losses):void 0,winRate:r.winRate,buyAmountInUsd:r.buyAmountInUsd,sellAmountInUsd:r.sellAmountInUsd,totalCostInUsd:r.totalCostInUsd,realizedProfitInUsd:r.realizedProfitInUsd,realizedProfitRatio:r.realizedProfitRatio,unrealizedProfitInUsd:r.unrealizedProfitInUsd,unrealizedProfitRatio:r.unrealizedProfitRatio,totalProfitInUsd:r.totalProfitInUsd,totalProfitRatio:r.totalProfitRatio,avgProfitPerTradeInUsd:r.avgProfitPerTradeInUsd}}function ee(e,s,r){let o=r.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:s,tokens:Number(r.summary.tokens),buys:Number(r.summary.buys),sells:Number(r.summary.sells),totalTrades:Number(r.summary.totalTrades),wins:Number(r.summary.wins),losses:Number(r.summary.losses),winRate:r.summary.winRate,buyAmountInUsd:r.summary.buyAmountInUsd,sellAmountInUsd:r.summary.sellAmountInUsd,totalCostInUsd:r.summary.totalCostInUsd,realizedProfitInUsd:r.summary.realizedProfitInUsd,realizedProfitRatio:r.summary.realizedProfitRatio,unrealizedProfitInUsd:r.summary.unrealizedProfitInUsd,totalProfitInUsd:r.summary.totalProfitInUsd,startCursor:r.startCursor,endCursor:r.endCursor,hasPrev:r.hasPrev,hasNext:r.hasNext,portfolios:o}}function se(e,s){return (s.data??[]).map(r=>({chain:y(r.chain),address:r.tokenAddress,name:r.name,symbol:r.symbol,image:r.logoUri,priceInUsd:r.priceInUsd,priceInNative:r.priceInNative,amount:r.amount,amountInUsd:r.valueInUsd,amountInNative:r.valueInNative,decimals:r.decimals}))}function re(e,s){return s.data.map(r=>({chain:e,address:r.tokenAddress,name:r.name,symbol:r.symbol,image:r.logoUri,amount:r.balance,amountInUsd:r.currentValue,priceInUsd:r.priceInUsd,decimals:r.decimals,totalTrades:Number(r.totalTrades),buys:Number(r.buys),buyVolumes:r.buyAmount,buyVolumesInUsd:r.buyAmountInUsd,buyAvgPriceInUsd:r.avgBuyPriceInUsd,sells:Number(r.sells),sellVolumes:r.sellAmount,sellVolumesInUsd:r.sellAmountInUsd,sellAvgPriceInUsd:r.avgSellPriceInUsd,realizedProfitInUsd:r.realizedProfitInUsd,realizedProfitRatio:r.realizedProfitRatio,unrealizedProfitInUsd:r.unrealizedProfitInUsd,unrealizedProfitRatio:r.unrealizedProfitRatio,totalProfitInUsd:r.totalProfitInUsd,totalProfitRatio:r.totalProfitRatio}))}function oe(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(ye)}}function ye(e){let s=e.type.toLowerCase()==="buy";return {chain:y(e.chain),walletAddress:e.accountOwnerAddress,txHash:e.transactionSignature,type:s?"buy":"sell",from:{address:s?e.sideTokenAddress:e.tokenAddress,symbol:s?e.sideTokenSymbol:e.tokenSymbol,name:s?e.sideTokenName:e.tokenName,image:s?e.sideTokenImageUrl:e.tokenImageUrl,amount:s?e.sideTokenAmount:e.tokenAmount,amountInUsd:s?e.sideTokenAmountInUsd:e.tokenAmountInUsd,priceInUsd:s?e.sideTokenPriceInUsd:e.tokenPriceInUsd},to:{address:s?e.tokenAddress:e.sideTokenAddress,symbol:s?e.tokenSymbol:e.sideTokenSymbol,name:s?e.tokenName:e.sideTokenName,image:s?e.tokenImageUrl:e.sideTokenImageUrl,amount:s?e.tokenAmount:e.sideTokenAmount,amountInUsd:s?e.tokenAmountInUsd:e.sideTokenAmountInUsd,priceInUsd:s?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){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(Ie)}}function Ie(e){let s=e.type.toLowerCase().replace(/ /g,"_"),r=s==="buy";return {chain:y(e.chain),walletAddress:e.accountOwnerAddress,txHash:e.transactionSignature,type:s,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 ne(e,s){return {chain:e,address:s.tokenAddress,name:s.name,symbol:s.symbol,decimals:s.decimals,createdAt:s.createdAtMs?new Date(s.createdAtMs):void 0,launchedFrom:s.launchFrom?{programAddress:s.launchFrom.programAddress,protocolFamily:s.launchFrom.protocolFamily}:void 0}}function ae(e,s){return {chain:e,address:s.tokenAddress,name:s.name,symbol:s.symbol,decimals:s.decimals,image:s.imageUrl,description:s.description,socialMedias:s.socialMedia?{...s.socialMedia}:void 0,createdAt:s.createdAtMs?new Date(s.createdAtMs):void 0,launchedFrom:s.launchFrom?{programAddress:s.launchFrom.programAddress,protocolFamily:s.launchFrom.protocolFamily}:void 0,migratedTo:s.migratedTo?{programAddress:s.migratedTo.programAddress,protocolFamily:s.migratedTo.protocolFamily}:void 0}}function ie(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 Pe(e){let s=["1m","5m","15m","30m","1h","4h","24h"],r=e,o={};for(let t of s){let d=r[`buys${t}`],a=r[`sells${t}`],l=r[`buyers${t}`],A=r[`sellers${t}`],U=r[`buyVolumeInUsd${t}`],S=r[`sellVolumeInUsd${t}`],O=r[`trades${t}`],F=r[`price${t}`],h=r[`openInUsd${t}`],P=r[`closeInUsd${t}`];if(!(d!==void 0||a!==void 0||O!==void 0||F!==void 0))continue;let ue=O??(d!==void 0&&a!==void 0?d+a:void 0),me=l!==void 0&&A!==void 0?l+A:void 0,Te=U!==void 0&&S!==void 0?new utils.SafeBigNumber(U).plus(S).toString():void 0,ke=h&&P&&new utils.SafeBigNumber(h).gt(0)?new utils.SafeBigNumber(P).minus(h).div(h).toString():void 0;o[t]={buys:d,sells:a,trades:ue,buyers:l,sellers:A,traders:me,buyVolumesInUsd:U,sellVolumesInUsd:S,volumesInUsd:Te,openPriceInUsd:h,closePriceInUsd:P,priceInUsd:F??P,priceChange:ke};}return o}function Ae(e){return {priceInUsd:e.price}}function H(e,s){return {chain:e,address:s.address,stats:Pe(s),marketData:Ae(s)}}function W(e,s,r){return {chain:e,address:s,marketData:{totalSupply:r.supply,marketCapInUsd:r.marketCapInUsd}}}function x(e,s,r){return {chain:e,address:s,marketData:Ue(r)}}function D(e,s,r){return r.metricType===sdk.WsMetricType.LIQUIDITY_IN_USD?{chain:e,address:s,marketData:{tvlInUsd:r.value}}:r.metricType===sdk.WsMetricType.MIGRATED_RATIO?{chain:e,address:s,migrateProgress:new utils.SafeBigNumber(r.value).shiftedBy(2).toString()}:{chain:e,address:s}}function _(e,s){return {chain:e,address:s.tokenAddress??"",migrateProgress:s.progressRatio?new utils.SafeBigNumber(s.progressRatio).shiftedBy(2).toString():void 0}}function de(e,s,r){return {chain:e,address:s,liquidities:[{poolAddress:r.poolAddress,tvlInUsd:r.liquidityInUsd,tvl:r.liquidityInNative}]}}function le(e,s,r){return {chain:e,address:s,marketData:{tvlInUsd:r.liquidityInUsd,tvl:r.liquidityInNative}}}function Ue(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 N(e,s){let r=s.kind.toLowerCase()==="buy";return {chain:e,walletAddress:r?s.buyWalletAddress:s.sellWalletAddress,txHash:s.txHash,type:r?"buy":"sell",from:{address:s.sellTokenAddress,symbol:s.sellTokenSymbol,name:s.sellTokenName,amount:s.sellAmount,amountInUsd:s.sellAmountInUsd},to:{address:s.buyTokenAddress,symbol:s.buyTokenSymbol,name:s.buyTokenName,amount:s.buyAmount,amountInUsd:s.buyAmountInUsd},status:"success",time:new Date(s.timestamp)}}function p(e,s){let r=s.kind.toLowerCase().replace(/ /g,"_");return {chain:e,walletAddress:r==="buy"?s.buyWalletAddress:s.sellWalletAddress,txHash:s.txHash,type:r,from:{address:s.sellTokenAddress,symbol:s.sellTokenSymbol,name:s.sellTokenName,amount:s.sellAmount,amountInUsd:s.sellAmountInUsd},to:{address:s.buyTokenAddress,symbol:s.buyTokenSymbol,name:s.buyTokenName,amount:s.buyAmount,amountInUsd:s.buyAmountInUsd},status:"success",time:new Date(s.timestamp)}}var ce=class{constructor(s,r){this.accessToken=s;this.options=r;this._client=new sdk.ChainStreamClient(this.accessToken,this.options);}_client;async getToken(s,r){let o=await this._client.token.getToken(i(s),r);return u(o)}async getTokens(s,r){return (await this._client.token.getTokens(i(s),{tokenAddresses:r.join(",")})).map(u)}async getTokenCandles(s,r,o,t){return (await this._client.token.getCandles(i(s),r,{resolution:C(o),from:t?.after?.getTime(),to:t?.before?.getTime(),limit:t?.limit})).map(q)}async getTokenSecurity(s,r){let o=await this._client.token.getSecurity(i(s),r);return G(o)}async getTokenStats(s,r){let o=await this._client.token.getStats(i(s),r);return w(o)}async getTokenHolders(s,r,o){let t=await this._client.token.getHolders(i(s),r,{cursor:o?.cursor,limit:o?.limit,direction:o?.direction});return K(t)}async getTokenMarketData(s,r){let o=await this._client.token.getMarketData(i(s),r);return R(o)}async getNewTokens(s,r){return (await this._client.ranking.getNewTokens(i(s),this._buildRankingParams(r))).map(u)}async getFinalStretchTokens(s,r){return (await this._client.ranking.getFinalStretchTokens(i(s),this._buildRankingParams(r))).map(u)}async getMigratedTokens(s,r){return (await this._client.ranking.getMigratedTokens(i(s),this._buildRankingParams(r))).map(u)}async getTrendingTokens(s,r,o){return (await this._client.ranking.getHotTokens(i(s),r,this._buildRankingParams(o))).map(u)}async getStockTokens(s,r){return (await this._client.ranking.getStocksTokens(i(s),this._buildRankingParams(r))).map(u)}async searchTokens(s){let r=await this._client.token.search({chains:s?.chains?.map(i),q:s?.keyword,limit:s?.limit,cursor:s?.cursor,sortBy:s?.sortBy?z(s.sortBy):void 0,sort:s?.sortDirection});return J(r)}async swapRoute(s){let r=await this._client.dex.route(i(s.chain),$(s));return Q(r)}async sendTx(s){let r=await this._client.transaction.send(i(s.chain),j(s));return X(r)}async checkTxSuccess(s,r,o){let{result:t}=await this._client.waitForJob(r,o);return t.success}async getWalletPortfolios(s,r,o){let t=await this._client.wallet.getNetWorth(i(s),r,{cursor:o?.cursor,limit:o?.limit??100});return Y(s,t)}async getWalletPnl(s,r,o){let t=await this._client.wallet.getPnl(i(s),r,o?{resolution:o}:void 0);return Z(s,r,t)}async getWalletPortfolioPnls(s,r,o){let t=await this._client.wallet.getPnlDetails(i(s),r,{cursor:o?.cursor,limit:o?.limit??100});return ee(s,r,t)}async getWalletPortfoliosByTokens(s,r,o){let t=await this._client.wallet.getNetWorthByTokens(i(s),r,{tokenAddresses:o.join(",")});return se(s,t)}async getWalletPortfolioPnlsByTokens(s,r,o){let t=await this._client.wallet.getPnlByToken(i(s),r,{tokenAddresses:o.join(",")});return re(s,t)}async getWalletTrades(s,r,o){return this._getTrades(s,{walletAddress:r},o)}async getTokenTrades(s,r,o){return this._getTrades(s,{tokenAddress:r},o)}async getWalletActivities(s,r,o){return this._getActivities(s,{walletAddress:r},o)}async getTokenActivities(s,r,o){return this._getActivities(s,{tokenAddress:r},o)}async getPresignedUploadUrl(){return await this._client.ipfs.presign()}subscribeToken(s,r,o){let t=i(s),d=[this._client.stream.subscribeTokenStats({chain:t,tokenAddress:r,callback:a=>o([H(s,a)])}),this._client.stream.subscribeTokenSupply({chain:t,tokenAddress:r,callback:a=>o([W(s,r,a)])}),this._client.stream.subscribeTokenHolders({chain:t,tokenAddress:r,callback:a=>o([x(s,r,a)])}),this._client.stream.subscribeTokenLiquidity({chain:t,tokenAddress:r,callback:a=>o([D(s,r,a)])}),this._client.stream.subscribeTokenMaxLiquidity({chain:t,tokenAddress:r,callback:a=>o([de(s,r,a)])}),this._client.stream.subscribeTokenTotalLiquidity({chain:t,tokenAddress:r,callback:a=>o([le(s,r,a)])})];return {unsubscribe:()=>d.forEach(a=>a.unsubscribe())}}subscribeTokenCandles(s,r,o,t){return this._client.stream.subscribeTokenCandles({chain:i(s),tokenAddress:r,resolution:C(o),callback:d=>t([ie(d)])})}subscribeWalletPnl(s,r,o){return this._client.stream.subscribeWalletPnlList({chain:i(s),walletAddress:r,callback:t=>o(t.map(d=>({chain:s,address:d.walletAddress,buys:d.buys,buyAmountInUsd:d.buyAmountInUsd,sells:d.sells,sellAmountInUsd:d.sellAmountInUsd,wins:d.wins,winRate:d.winRatio,totalProfitInUsd:d.pnlInUsd,totalProfitRatio:d.pnlRatio,avgProfitPerTradeInUsd:d.averagePnlInUsd,tokens:d.tokens,resolution:d.resolution})))})}subscribeWalletPortfolios(s,r,o){return this._client.stream.subscribeWalletBalance({chain:i(s),walletAddress:r,callback:t=>o(t.map(d=>({chain:s,walletAddress:d.walletAddress,tokenAddress:d.tokenAddress,priceInUsd:d.tokenPriceInUsd,amount:d.balance})))})}subscribeWalletPortfolioPnls(s,r,o){return this._client.stream.subscribeWalletPnl({chain:i(s),walletAddress:r,callback:t=>o([{chain:s,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}])})}subscribeWalletTrades(s,r,o){return this._client.stream.subscribeWalletTrade({chain:i(s),walletAddress:r,callback:t=>o([N(s,t)])})}subscribeTokenTrades(s,r,o){return this._client.stream.subscribeTokenTrade({chain:i(s),tokenAddress:r,callback:t=>o([N(s,t)])})}subscribeWalletActivities(s,r,o){return this._client.stream.subscribeWalletTrade({chain:i(s),walletAddress:r,callback:t=>o([p(s,t)])})}subscribeTokenActivities(s,r,o){return this._client.stream.subscribeTokenTrade({chain:i(s),tokenAddress:r,callback:t=>o([p(s,t)])})}subscribeNewTokens(s,r){let o=i(s),t=this._subscribeRankingTokens(s,sdk.WsChannelType.New,r),d=[this._client.stream.subscribeNewToken({chain:o,callback:a=>r([ne(s,a)])}),this._client.stream.subscribeNewTokensMetadata({chain:o,callback:a=>r(a.map(l=>ae(s,l)))}),this._client.stream.subscribeRankingTokensBondingCurve({chain:o,callback:a=>r(a.map(l=>_(s,l)))})];return {unsubscribe:()=>{t.unsubscribe(),d.forEach(a=>a.unsubscribe());}}}subscribeTrendingTokens(s,r){return this._subscribeRankingTokens(s,sdk.WsChannelType.HOT,r)}subscribeMigratedTokens(s,r){return this._subscribeRankingTokens(s,sdk.WsChannelType.GRADUATED,r)}subscribeFinalStretchTokens(s,r){let o=i(s),t=this._subscribeRankingTokens(s,sdk.WsChannelType.COMPLETED,r),d=this._client.stream.subscribeRankingTokensBondingCurve({chain:o,callback:a=>r(a.map(l=>_(s,l)))});return {unsubscribe:()=>{t.unsubscribe(),d.unsubscribe();}}}subscribeStockTokens(s,r){return this._subscribeRankingTokens(s,sdk.WsChannelType.US_STOCKS,r)}_buildRankingParams(s){return {sortBy:s?.sortBy?v(s.sortBy):void 0,sortDirection:s?.sortDirection?M(s.sortDirection):void 0,rangeFilters:s?.filters?V(s.filters):void 0,launchpadPlatform:s?.filters?Ce(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords}}async _getTrades(s,r,o){let t=await this._client.trade.getTrades(i(s),{...r,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 oe(t)}async _getActivities(s,r,o){let t=await this._client.trade.getActivities(i(s),{...r,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 te(t)}_subscribeRankingTokens(s,r,o){let t=i(s),d=[this._client.stream.subscribeRankingTokensStats({chain:t,channelType:r,callback:a=>o(a.map(l=>H(s,l)))}),this._client.stream.subscribeRankingTokensHolders({chain:t,channelType:r,callback:a=>o(a.map(l=>x(s,l.tokenAddress,l)))}),this._client.stream.subscribeRankingTokensSupply({chain:t,channelType:r,callback:a=>o(a.map(l=>W(s,l.tokenAddress,l)))}),this._client.stream.subscribeRankingTokensLiquidity({chain:t,channelType:r,callback:a=>o(a.map(l=>D(s,l.tokenAddress,l)))})];return {unsubscribe:()=>d.forEach(a=>a.unsubscribe())}}};function Ce(e){let s=e.find(r=>r.field==="launchedFromProtocolFamily");if(s){if(s.operator==="eq")return [s.value];if(s.operator==="in")return s.value;console.warn("invalid launchedFromProtocolFamily filter",s);}}exports.Client=ce;exports.fromActivityPage=te;exports.fromChainDTO=y;exports.fromPnlDetailItems=re;exports.fromPnlDetailsPage=ee;exports.fromSendTxResult=X;exports.fromSwapRoute=Q;exports.fromTokenCandle=q;exports.fromTokenCreatorDTO=fe;exports.fromTokenDTO=u;exports.fromTokenHolderPage=K;exports.fromTokenLiquidityDTO=he;exports.fromTokenMarketDataDTO=R;exports.fromTokenMetadataSubscribed=ae;exports.fromTokenPage=J;exports.fromTokenSecurity=G;exports.fromTokenStatsDTO=w;exports.fromTokenSubscribed=ne;exports.fromTradePage=oe;exports.fromWalletNetWorthByTokens=se;exports.fromWalletPnlSummary=Z;exports.fromWalletPortfolios=Y;exports.fromWsActivity=p;exports.fromWsCandle=ie;exports.fromWsTokenBondingCurveToSubscribed=_;exports.fromWsTokenDataSubscribed=H;exports.fromWsTokenHolderToSubscribed=x;exports.fromWsTokenLiquidityToSubscribed=D;exports.fromWsTokenMarketDataFromHolder=Ue;exports.fromWsTokenMarketDataFromStats=Ae;exports.fromWsTokenMaxLiquidityToSubscribed=de;exports.fromWsTokenStats=Pe;exports.fromWsTokenSupplyToSubscribed=W;exports.fromWsTokenTotalLiquidityToSubscribed=le;exports.fromWsTradeActivity=N;exports.toChainDTO=i;exports.toFieldDTO=v;exports.toRangeFiltersDTO=V;exports.toResolutionDTO=C;exports.toSearchFieldDTO=z;exports.toSendTxInput=j;exports.toSortDirectionDTO=M;exports.toSwapRouteInput=$;exports.version=be;//# 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.50");var ke="0.1.50";function t(e){return e??void 0}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 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 fe(e){return e}function z(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 R(e){switch(e){case "price":return sdk.TokenField.marketDatapriceInUsd;case "priceChange1m":return sdk.TokenField.statspriceChangeRatioInUsd1m;case "priceChange5m":return sdk.TokenField.statspriceChangeRatioInUsd5m;case "priceChange1h":return sdk.TokenField.statspriceChangeRatioInUsd1h;case "priceChange4h":return sdk.TokenField.statspriceChangeRatioInUsd4h;case "priceChange24h":return sdk.TokenField.statspriceChangeRatioInUsd24h;case "marketCap":return sdk.TokenField.marketDatamarketCapInUsd;case "tvl":return sdk.TokenField.marketDatamaxPoolTvlInUsd;case "top10Holdings":return sdk.TokenField.marketDatatop10TotalHoldings;case "top10Ratio":return sdk.TokenField.marketDatatop10HoldingsRatio;case "top100Holdings":return sdk.TokenField.marketDatatop100TotalHoldings;case "top100Ratio":return sdk.TokenField.marketDatatop100HoldingsRatio;case "holders":return sdk.TokenField.marketDataholders;case "creatorsHoldings":return sdk.TokenField.marketDatacreatorHoldings;case "creatorsRatio":return sdk.TokenField.marketDatacreatorHoldingsRatio;case "buys1m":return sdk.TokenField.statsbuys1m;case "buys5m":return sdk.TokenField.statsbuys5m;case "buys15m":return sdk.TokenField.statsbuys15m;case "buys30m":return sdk.TokenField.statsbuys30m;case "buys1h":return sdk.TokenField.statsbuys1h;case "buys4h":return sdk.TokenField.statsbuys4h;case "buys24h":return sdk.TokenField.statsbuys24h;case "sells1m":return sdk.TokenField.statssells1m;case "sells5m":return sdk.TokenField.statssells5m;case "sells15m":return sdk.TokenField.statssells15m;case "sells30m":return sdk.TokenField.statssells30m;case "sells1h":return sdk.TokenField.statssells1h;case "sells4h":return sdk.TokenField.statssells4h;case "sells24h":return sdk.TokenField.statssells24h;case "trades1m":return sdk.TokenField.statstrades1m;case "trades5m":return sdk.TokenField.statstrades5m;case "trades1h":return sdk.TokenField.statstrades1h;case "trades4h":return sdk.TokenField.statstrades4h;case "trades24h":return sdk.TokenField.statstrades24h;case "traders1m":return sdk.TokenField.statstraders1m;case "traders5m":return sdk.TokenField.statstraders5m;case "traders1h":return sdk.TokenField.statstraders1h;case "traders4h":return sdk.TokenField.statstraders4h;case "traders24h":return sdk.TokenField.statstraders24h;case "volumes1m":return sdk.TokenField.statsvolumesInUsd1m;case "volumes5m":return sdk.TokenField.statsvolumesInUsd5m;case "volumes1h":return sdk.TokenField.statsvolumesInUsd1h;case "volumes4h":return sdk.TokenField.statsvolumesInUsd4h;case "volumes24h":return sdk.TokenField.statsvolumesInUsd24h;case "createdAt":return sdk.TokenField.tokenCreatedAt}throw new Error(`Unsupported sortBy: ${e}`)}function V(e){return e.filter(s=>["gt","gte","lt","lte","between"].indexOf(s.operator)>=0).map(s=>{let r={field:R(s.field)};return ["gt","gte","between"].indexOf(s.operator)>=0&&(r.min=typeof s.value=="number"?new utils.SafeBigNumber(s.value).toString():s.value),["lt","lte","between"].indexOf(s.operator)>=0&&(r.max=typeof s.value=="number"?new utils.SafeBigNumber(s.value).toString():s.value),r})}function I(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 ge(e){return {address:e.address??void 0,share:e.share??void 0,isVerified:e.isVerified??void 0}}function T(e){return {chain:I(e.chain),name:e.name,symbol:e.symbol,address:e.address,decimals:e.decimals,image:e.imageUrl??void 0,description:e.description??void 0,creators:e.tokenCreators?.map(ge),launchedFrom:{programAddress:e.extra?.launchFromProgramAddress??void 0,protocolFamily:e.extra?.launchFromProtocolFamily??void 0},migrateProgress:e.marketData?.completionRatio?new utils.SafeBigNumber(e.marketData.completionRatio).shiftedBy(2).toString():void 0,migratedTo:{programAddress:e.extra?.migratedToProgramAddress??void 0,protocolFamily:e.extra?.migratedToProtocolFamily??void 0,poolAddress:e.extra?.migratedToPoolAddress??void 0,migratedAt:e.extra?.migratedAt?new Date(e.extra.migratedAt):void 0},socialMedias:e.socialMedias?Object.fromEntries(Object.entries(e.socialMedias).filter(([,s])=>s!=null).map(([s,r])=>[s,r])):void 0,stats:e.stats?w(e.stats):void 0,marketData:e.marketData?H(e.marketData):void 0,createdAt:e.tokenCreatedAt?new Date(e.tokenCreatedAt):void 0}}function w(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 g(e){return e===void 0?void 0:parseInt(e)}function f(e,s){let r=e.periods?.[s];return r?{buys:g(r.buys),sells:g(r.sells),trades:g(r.trades),buyers:g(r.buyers),sellers:g(r.sellers),traders:g(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 Cs(e){return {poolAddress:e.poolAddress,programAddress:e.programAddress??void 0,protocolFamily:e.protocolFamily??void 0,tvl:e.tvlInSol??void 0,tvlInUsd:e.tvlInUsd??void 0}}function H(e){return {totalSupply:e.totalSupply??void 0,marketCap:e.marketCapInSol??void 0,marketCapInUsd:e.marketCapInUsd??void 0,price:e.priceInSol??void 0,priceInUsd:e.priceInUsd??void 0,tvl:e.totalTvlInSol??void 0,tvlInUsd:e.totalTvlInUsd??void 0,holders:e.holders?parseInt(e.holders):void 0,top10Holdings:e.top10TotalHoldings??void 0,top10HoldingsRatio:e.top10HoldingsRatio??void 0,top50Holdings:e.top50TotalHoldings??void 0,top50HoldingsRatio:e.top50HoldingsRatio??void 0,top100Holdings:e.top100TotalHoldings??void 0,top100HoldingsRatio:e.top100HoldingsRatio??void 0,bluechipHolders:e.bluechipTotalHolders?parseInt(e.bluechipTotalHolders):void 0,bluechipHoldings:e.bluechipTotalHoldings??void 0,bluechipHoldingsRatio:e.bluechipHoldingsRatio??void 0,kolHolders:e.kolTotalHolders?parseInt(e.kolTotalHolders):void 0,kolHoldings:e.kolTotalHoldings??void 0,kolHoldingsRatio:e.kolHoldingsRatio??void 0,sniperHolders:e.sniperTotalHolders?parseInt(e.sniperTotalHolders):void 0,sniperHoldings:e.sniperTotalHoldings??void 0,sniperHoldingsRatio:e.sniperHoldingsRatio??void 0,proHolders:e.proTotalHolders?parseInt(e.proTotalHolders):void 0,proHoldings:e.proTotalHoldings??void 0,proHoldingsRatio:e.proHoldingsRatio??void 0,insiderHolders:e.insiderTotalHolders?parseInt(e.insiderTotalHolders):void 0,insiderHoldings:e.insiderTotalHoldings??void 0,insiderHoldingsRatio:e.insiderHoldingsRatio??void 0,sandwichHolders:e.sandwishTotalHolders?parseInt(e.sandwishTotalHolders):void 0,sandwichHoldings:e.sandwishTotalHoldings??void 0,sandwichHoldingsRatio:e.sandwishHoldingsRatio??void 0,freshHolders:e.freshTotalHolders?parseInt(e.freshTotalHolders):void 0,freshHoldings:e.freshTotalHoldings??void 0,freshHoldingsRatio:e.freshHoldingsRatio??void 0,bundleHolders:e.bundleTotalHolders?parseInt(e.bundleTotalHolders):void 0,bundleHoldings:e.bundleTotalHoldings??void 0,bundleHoldingsRatio:e.bundleHoldingsRatio??void 0,devHolders:e.devTotalHolders?parseInt(e.devTotalHolders):void 0,devHoldings:e.devTotalHoldings??void 0,devHoldingsRatio:e.devHoldingsRatio??void 0}}function q(e,s){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:s,timestamp:new Date(e.timestamp)}}function he(e){return e==="1d"?"24h":e}function E(e){return {hasTransferFee:e.hasTransferFee,isTransferFeeUpgradable:e.isTransferFeeUpgradable,isTransferable:e.isTransferable,isFreezable:e.isFreezable,isClosable:e.isClosable}}var ye=new Set([types.Chain.SOLANA,types.Chain.SOLANA_TESTNET,types.Chain.SOLANA_DEVNET]);function G(e){return {dex:ye.has(e.chain)?"jupiter":"kyberswap",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,...e.tipFee&&{tipFee:e.tipFee},...e.isAntiMev!=null&&{isAntiMev:e.isAntiMev},...e.permit&&{permit:e.permit},...e.deadline!=null&&{deadline:e.deadline}}}function $(e){return {signedTx:e.serializedTx}}function j(e){return {startCursor:t(e.startCursor),endCursor:t(e.endCursor),hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(s=>({address:s.walletAddress,amount:s.amount,amountInUsd:s.amountInUsd,ratio:s.percentage}))}}function K(e){return {startCursor:t(e.startCursor),endCursor:t(e.endCursor),hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(T),extra:t(e.countsByProtocols)}}function J(e){return {serializedTx:e.serializedTx,plans:[],extra:e.routeInfo}}function Q(e){return {txHash:e.signature,extra:{jobId:e.jobId,elapsedTime:e.elapsedTime}}}function X(e,s){let r=(s.data??[]).map(o=>({chain:I(o.chain),address:o.tokenAddress,name:o.name,symbol:o.symbol,image:t(o.logoUri),priceInUsd:o.priceInUsd,priceInNative:o.priceInNative,amount:o.amount,amountInUsd:o.valueInUsd,amountInNative:o.valueInNative,decimals:o.decimals}));return {chain:r[0]?.chain??e,address:s.walletAddress,balanceInUsd:s.totalValueInUsd,balanceInNative:s.totalValueInNative,startCursor:t(s.startCursor),endCursor:t(s.endCursor),hasPrev:s.hasPrev,hasNext:s.hasNext,portfolios:r}}function Y(e,s,r){return {chain:e,address:s,tokens:r.tokens?Number(r.tokens):void 0,buys:r.buys?Number(r.buys):void 0,sells:r.sells?Number(r.sells):void 0,totalTrades:r.totalTrades?Number(r.totalTrades):void 0,wins:r.wins?Number(r.wins):void 0,losses:r.losses?Number(r.losses):void 0,winRate:t(r.winRate),buyAmountInUsd:t(r.buyAmountInUsd),sellAmountInUsd:t(r.sellAmountInUsd),totalCostInUsd:t(r.totalCostInUsd),realizedProfitInUsd:t(r.realizedProfitInUsd),realizedProfitRatio:t(r.realizedProfitRatio),unrealizedProfitInUsd:t(r.unrealizedProfitInUsd),unrealizedProfitRatio:t(r.unrealizedProfitRatio),totalProfitInUsd:t(r.totalProfitInUsd),totalProfitRatio:t(r.totalProfitRatio),avgProfitPerTradeInUsd:t(r.avgProfitPerTradeInUsd)}}function Z(e,s,r){let o=r.data.map(n=>({chain:e,address:n.tokenAddress,name:n.name??"",symbol:n.symbol??"",image:t(n.logoUri),amount:n.balance,amountInUsd:n.currentValue,priceInUsd:n.priceInUsd,decimals:n.decimals??0,totalTrades:Number(n.totalTrades),buys:Number(n.buys),buyVolumes:n.buyAmount,buyVolumesInUsd:n.buyAmountInUsd,buyAvgPriceInUsd:n.avgBuyPriceInUsd,sells:Number(n.sells),sellVolumes:n.sellAmount,sellVolumesInUsd:n.sellAmountInUsd,sellAvgPriceInUsd:n.avgSellPriceInUsd,realizedProfitInUsd:n.realizedProfitInUsd,realizedProfitRatio:n.realizedProfitRatio,unrealizedProfitInUsd:n.unrealizedProfitInUsd,unrealizedProfitRatio:n.unrealizedProfitRatio,totalProfitInUsd:n.totalProfitInUsd,totalProfitRatio:n.totalProfitRatio}));return {chain:e,address:s,tokens:Number(r.summary.tokens),buys:Number(r.summary.buys),sells:Number(r.summary.sells),totalTrades:Number(r.summary.totalTrades),wins:Number(r.summary.wins),losses:Number(r.summary.losses),winRate:t(r.summary.winRate),buyAmountInUsd:t(r.summary.buyAmountInUsd),sellAmountInUsd:t(r.summary.sellAmountInUsd),totalCostInUsd:r.summary.totalCostInUsd,realizedProfitInUsd:t(r.summary.realizedProfitInUsd),realizedProfitRatio:t(r.summary.realizedProfitRatio),unrealizedProfitInUsd:t(r.summary.unrealizedProfitInUsd),totalProfitInUsd:t(r.summary.totalProfitInUsd),startCursor:t(r.startCursor),endCursor:t(r.endCursor),hasPrev:r.hasPrev,hasNext:r.hasNext,portfolios:o}}function ee(e,s){return (s.data??[]).map(r=>({chain:I(r.chain),address:r.tokenAddress,name:r.name,symbol:r.symbol,image:t(r.logoUri),priceInUsd:r.priceInUsd,priceInNative:r.priceInNative,amount:r.amount,amountInUsd:r.valueInUsd,amountInNative:r.valueInNative,decimals:r.decimals}))}function se(e,s){return s.data.map(r=>({chain:e,address:r.tokenAddress,name:r.name??"",symbol:r.symbol??"",image:t(r.logoUri),amount:r.balance,amountInUsd:r.currentValue,priceInUsd:r.priceInUsd,decimals:r.decimals??0,totalTrades:Number(r.totalTrades),buys:Number(r.buys),buyVolumes:r.buyAmount,buyVolumesInUsd:r.buyAmountInUsd,buyAvgPriceInUsd:r.avgBuyPriceInUsd,sells:Number(r.sells),sellVolumes:r.sellAmount,sellVolumesInUsd:r.sellAmountInUsd,sellAvgPriceInUsd:r.avgSellPriceInUsd,realizedProfitInUsd:r.realizedProfitInUsd,realizedProfitRatio:r.realizedProfitRatio,unrealizedProfitInUsd:r.unrealizedProfitInUsd,unrealizedProfitRatio:r.unrealizedProfitRatio,totalProfitInUsd:r.totalProfitInUsd,totalProfitRatio:r.totalProfitRatio}))}function re(e){return {startCursor:t(e.startCursor),endCursor:t(e.endCursor),hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(Ie)}}function Ie(e){let s=e.type.toLowerCase()==="buy";return {chain:I(e.chain),walletAddress:e.accountOwnerAddress,txHash:e.transactionSignature,type:s?"buy":"sell",from:{address:s?e.sideTokenAddress:e.tokenAddress,symbol:s?e.sideTokenSymbol:e.tokenSymbol,name:s?e.sideTokenName:e.tokenName,image:t(s?e.sideTokenImageUrl:e.tokenImageUrl),amount:s?e.sideTokenAmount:e.tokenAmount,amountInUsd:s?e.sideTokenAmountInUsd:e.tokenAmountInUsd,priceInUsd:s?e.sideTokenPriceInUsd:e.tokenPriceInUsd},to:{address:s?e.tokenAddress:e.sideTokenAddress,symbol:s?e.tokenSymbol:e.sideTokenSymbol,name:s?e.tokenName:e.sideTokenName,image:t(s?e.tokenImageUrl:e.sideTokenImageUrl),amount:s?e.tokenAmount:e.sideTokenAmount,amountInUsd:s?e.tokenAmountInUsd:e.sideTokenAmountInUsd,priceInUsd:s?e.tokenPriceInUsd:e.sideTokenPriceInUsd},dex:{programAddress:t(e.dexProgramAddress),protocolFamily:t(e.dexProtocolFamily),image:t(e.dexImage)},poolAddress:t(e.poolAddress),status:e.status??"success",time:new Date(e.blockTimestamp*1e3)}}function oe(e){return {startCursor:t(e.startCursor),endCursor:t(e.endCursor),hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(Ae)}}function Ae(e){let s=e.type.toLowerCase().replace(/ /g,"_"),r=s==="buy";return {chain:I(e.chain),walletAddress:e.accountOwnerAddress,txHash:e.transactionSignature,type:s,from:{address:r?e.sideTokenAddress:e.tokenAddress,symbol:r?e.sideTokenSymbol:e.tokenSymbol,name:r?e.sideTokenName:e.tokenName,image:t(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:t(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:t(e.dexProgramAddress),protocolFamily:t(e.dexProtocolFamily),image:t(e.dexImage)},poolAddress:t(e.poolAddress),status:e.status??"success",time:new Date(e.blockTimestamp*1e3)}}function ne(e,s){return {chain:e,address:s.tokenAddress,name:s.name,symbol:s.symbol,decimals:s.decimals,createdAt:s.createdAtMs?new Date(s.createdAtMs):void 0,launchedFrom:s.launchFrom?{programAddress:s.launchFrom.programAddress,protocolFamily:s.launchFrom.protocolFamily}:void 0}}function te(e,s){return {chain:e,address:s.tokenAddress,name:s.name,symbol:s.symbol,decimals:s.decimals,image:s.imageUrl,description:s.description,socialMedias:s.socialMedia?{...s.socialMedia}:void 0,createdAt:s.createdAtMs?new Date(s.createdAtMs):void 0,launchedFrom:s.launchFrom?{programAddress:s.launchFrom.programAddress,protocolFamily:s.launchFrom.protocolFamily}:void 0,migratedTo:s.migratedTo?{programAddress:s.migratedTo.programAddress,protocolFamily:s.migratedTo.protocolFamily}:void 0}}function ae(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:he(e.resolution),timestamp:new Date(e.time)}}function Pe(e){let s=["1m","5m","15m","30m","1h","4h","24h"],r=e,o={};for(let n of s){let l=r[`buys${n}`],i=r[`sells${n}`],c=r[`buyers${n}`],S=r[`sellers${n}`],U=r[`buyVolumeInUsd${n}`],C=r[`sellVolumeInUsd${n}`],O=r[`trades${n}`],B=r[`price${n}`],y=r[`openInUsd${n}`],P=r[`closeInUsd${n}`];if(!(l!==void 0||i!==void 0||O!==void 0||B!==void 0))continue;let ce=O??(l!==void 0&&i!==void 0?l+i:void 0),ue=c!==void 0&&S!==void 0?c+S:void 0,me=U!==void 0&&C!==void 0?new utils.SafeBigNumber(U).plus(C).toString():void 0,Te=y&&P&&new utils.SafeBigNumber(y).gt(0)?new utils.SafeBigNumber(P).minus(y).div(y).toString():void 0;o[n]={buys:l,sells:i,trades:ce,buyers:c,sellers:S,traders:ue,buyVolumesInUsd:U,sellVolumesInUsd:C,volumesInUsd:me,openPriceInUsd:y,closePriceInUsd:P,priceInUsd:B??P,priceChange:Te};}return o}function Se(e){return {priceInUsd:e.price}}function W(e,s){return {chain:e,address:s.address,stats:Pe(s),marketData:Se(s)}}function x(e,s,r){return {chain:e,address:s,marketData:{totalSupply:r.supply,marketCapInUsd:r.marketCapInUsd}}}function D(e,s,r){return {chain:e,address:s,marketData:Ue(r)}}function _(e,s,r){return r.metricType===sdk.WsMetricType.LIQUIDITY_IN_USD?{chain:e,address:s,marketData:{tvlInUsd:r.value}}:r.metricType===sdk.WsMetricType.MIGRATED_RATIO?{chain:e,address:s,migrateProgress:new utils.SafeBigNumber(r.value).shiftedBy(2).toString()}:{chain:e,address:s}}function p(e,s){return {chain:e,address:s.tokenAddress??"",migrateProgress:s.progressRatio?new utils.SafeBigNumber(s.progressRatio).shiftedBy(2).toString():void 0}}function ie(e,s,r){return {chain:e,address:s,liquidities:[{poolAddress:r.poolAddress,tvlInUsd:r.liquidityInUsd,tvl:r.liquidityInNative}]}}function de(e,s,r){return {chain:e,address:s,marketData:{tvlInUsd:r.liquidityInUsd,tvl:r.liquidityInNative}}}function Ue(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 N(e,s){let r=s.kind.toLowerCase()==="buy";return {chain:e,walletAddress:r?s.buyWalletAddress:s.sellWalletAddress,txHash:s.txHash,type:r?"buy":"sell",from:{address:s.sellTokenAddress,symbol:s.sellTokenSymbol,name:s.sellTokenName,amount:s.sellAmount,amountInUsd:s.sellAmountInUsd},to:{address:s.buyTokenAddress,symbol:s.buyTokenSymbol,name:s.buyTokenName,amount:s.buyAmount,amountInUsd:s.buyAmountInUsd},status:"success",time:new Date(s.timestamp)}}function F(e,s){let r=s.kind.toLowerCase().replace(/ /g,"_");return {chain:e,walletAddress:r==="buy"?s.buyWalletAddress:s.sellWalletAddress,txHash:s.txHash,type:r,from:{address:s.sellTokenAddress,symbol:s.sellTokenSymbol,name:s.sellTokenName,amount:s.sellAmount,amountInUsd:s.sellAmountInUsd},to:{address:s.buyTokenAddress,symbol:s.buyTokenSymbol,name:s.buyTokenName,amount:s.buyAmount,amountInUsd:s.buyAmountInUsd},status:"success",time:new Date(s.timestamp)}}var le=class{constructor(s,r){this.accessToken=s;this.options=r;this._client=new sdk.ChainStreamClient(this.accessToken,this.options);}_client;async getToken(s,r){let o=await this._client.token.getToken(d(s),r);return T(o)}async getTokens(s,r){return (await this._client.token.getTokens(d(s),{tokenAddresses:r.join(",")})).map(T)}async getTokenCandles(s,r,o,n){return (await this._client.token.getCandles(d(s),r,{resolution:v(o),from:n?.after?.getTime(),to:n?.before?.getTime(),limit:n?.limit})).map(i=>q(i,o))}async getTokenSecurity(s,r){let o=await this._client.token.getSecurity(d(s),r);return E(o)}async getTokenStats(s,r){let o=await this._client.token.getStats(d(s),r);return w(o)}async getTokenHolders(s,r,o){let n=await this._client.token.getHolders(d(s),r,{cursor:o?.cursor,limit:o?.limit,direction:o?.direction});return j(n)}async getTokenMarketData(s,r){let o=await this._client.token.getMarketData(d(s),r);return H(o)}async getNewTokens(s,r){return (await this._client.ranking.getNewTokens(d(s),this._buildRankingParams(r))).map(T)}async getFinalStretchTokens(s,r){return (await this._client.ranking.getFinalStretchTokens(d(s),this._buildRankingParams(r))).map(T)}async getMigratedTokens(s,r){return (await this._client.ranking.getMigratedTokens(d(s),this._buildRankingParams(r))).map(T)}async getTrendingTokens(s,r,o){return (await this._client.ranking.getHotTokens(d(s),r,this._buildRankingParams(o))).map(T)}async getStockTokens(s,r){return (await this._client.ranking.getStocksTokens(d(s),this._buildRankingParams(r))).map(T)}async searchTokens(s){let r=await this._client.token.search({chains:s?.chains?.map(d),q:s?.keyword,limit:s?.limit,cursor:s?.cursor,sortBy:s?.sortBy?z(s.sortBy):void 0,sort:s?.sortDirection});return K(r)}async swapRoute(s){let r=await this._client.dex.route(d(s.chain),G(s));return J(r)}async sendTx(s){let r=await this._client.transaction.send(d(s.chain),$(s));return Q(r)}async checkTxSuccess(s,r,o){let{result:n}=await this._client.waitForJob(r,o);return n.success}async getWalletPortfolios(s,r,o){let n=await this._client.wallet.getNetWorth(d(s),r,{cursor:o?.cursor,limit:o?.limit??100});return X(s,n)}async getWalletPnl(s,r,o){let n=await this._client.wallet.getPnl(d(s),r,o?{resolution:o}:void 0);return Y(s,r,n)}async getWalletPortfolioPnls(s,r,o){let n=await this._client.wallet.getPnlDetails(d(s),r,{cursor:o?.cursor,limit:o?.limit??100});return Z(s,r,n)}async getWalletPortfoliosByTokens(s,r,o){let n=await this._client.wallet.getNetWorthByTokens(d(s),r,{tokenAddresses:o.join(",")});return ee(s,n)}async getWalletPortfolioPnlsByTokens(s,r,o){let n=await this._client.wallet.getPnlByToken(d(s),r,{tokenAddresses:o.join(",")});return se(s,n)}async getWalletTrades(s,r,o){return this._getTrades(s,{walletAddress:r},o)}async getTokenTrades(s,r,o){return this._getTrades(s,{tokenAddress:r},o)}async getWalletActivities(s,r,o){return this._getActivities(s,{walletAddress:r},o)}async getTokenActivities(s,r,o){return this._getActivities(s,{tokenAddress:r},o)}async getPresignedUploadUrl(){return (await this._client.ipfs.presign()).presignUrl}subscribeToken(s,r,o){let n=d(s),l=[this._client.stream.subscribeTokenStats({chain:n,tokenAddress:r,callback:i=>o([W(s,i)])}),this._client.stream.subscribeTokenSupply({chain:n,tokenAddress:r,callback:i=>o([x(s,r,i)])}),this._client.stream.subscribeTokenHolders({chain:n,tokenAddress:r,callback:i=>o([D(s,r,i)])}),this._client.stream.subscribeTokenLiquidity({chain:n,tokenAddress:r,callback:i=>o([_(s,r,i)])}),this._client.stream.subscribeTokenMaxLiquidity({chain:n,tokenAddress:r,callback:i=>o([ie(s,r,i)])}),this._client.stream.subscribeTokenTotalLiquidity({chain:n,tokenAddress:r,callback:i=>o([de(s,r,i)])})];return {unsubscribe:()=>l.forEach(i=>i.unsubscribe())}}subscribeTokenCandles(s,r,o,n){return this._client.stream.subscribeTokenCandles({chain:d(s),tokenAddress:r,resolution:v(o),callback:l=>n([ae(l)])})}subscribeWalletPnl(s,r,o){return this._client.stream.subscribeWalletPnlList({chain:d(s),walletAddress:r,callback:n=>o(n.map(l=>({chain:s,address:l.walletAddress,buys:l.buys,buyAmountInUsd:l.buyAmountInUsd,sells:l.sells,sellAmountInUsd:l.sellAmountInUsd,wins:l.wins,winRate:l.winRatio,totalProfitInUsd:l.pnlInUsd,totalProfitRatio:l.pnlRatio,avgProfitPerTradeInUsd:l.averagePnlInUsd,tokens:l.tokens,resolution:l.resolution})))})}subscribeWalletPortfolios(s,r,o){return this._client.stream.subscribeWalletBalance({chain:d(s),walletAddress:r,callback:n=>o(n.map(l=>({chain:s,walletAddress:l.walletAddress,tokenAddress:l.tokenAddress,priceInUsd:l.tokenPriceInUsd,amount:l.balance})))})}subscribeWalletPortfolioPnls(s,r,o){return this._client.stream.subscribeWalletPnl({chain:d(s),walletAddress:r,callback:n=>o([{chain:s,walletAddress:n.walletAddress,tokenAddress:n.tokenAddress,openTime:n.opentime?new Date(n.opentime):void 0,closeTime:n.closetime?new Date(n.closetime):void 0,buys:n.buyCount,buyVolumes:n.buyAmount,buyVolumesInUsd:n.buyAmountInUsd,buyAvgPriceInUsd:n.averageBuyPriceInUsd,sells:n.sellCount,sellVolumes:n.sellAmount,sellVolumesInUsd:n.sellAmountInUsd,sellAvgPriceInUsd:n.averageSellPriceInUsd,realizedProfitInUsd:n.realizedProfitInUsd,realizedProfitRatio:n.realizedProfitRatio,unrealizedProfitInUsd:n.unrealizedProfitInUsd,unrealizedProfitRatio:n.unrealizedProfitRatio,totalProfitInUsd:n.totalRealizedProfitInUsd,totalProfitRatio:n.totalRealizedProfitRatio}])})}subscribeWalletTrades(s,r,o){return this._client.stream.subscribeWalletTrade({chain:d(s),walletAddress:r,callback:n=>o([N(s,n)])})}subscribeTokenTrades(s,r,o){return this._client.stream.subscribeTokenTrade({chain:d(s),tokenAddress:r,callback:n=>o([N(s,n)])})}subscribeWalletActivities(s,r,o){return this._client.stream.subscribeWalletTrade({chain:d(s),walletAddress:r,callback:n=>o([F(s,n)])})}subscribeTokenActivities(s,r,o){return this._client.stream.subscribeTokenTrade({chain:d(s),tokenAddress:r,callback:n=>o([F(s,n)])})}subscribeNewTokens(s,r){let o=d(s),n=this._subscribeRankingTokens(s,sdk.WsChannelType.New,r),l=[this._client.stream.subscribeNewToken({chain:o,callback:i=>r([ne(s,i)])}),this._client.stream.subscribeNewTokensMetadata({chain:o,callback:i=>r(i.map(c=>te(s,c)))}),this._client.stream.subscribeRankingTokensBondingCurve({chain:o,callback:i=>r(i.map(c=>p(s,c)))})];return {unsubscribe:()=>{n.unsubscribe(),l.forEach(i=>i.unsubscribe());}}}subscribeTrendingTokens(s,r){return this._subscribeRankingTokens(s,sdk.WsChannelType.HOT,r)}subscribeMigratedTokens(s,r){return this._subscribeRankingTokens(s,sdk.WsChannelType.MIGRATED,r)}subscribeFinalStretchTokens(s,r){let o=d(s),n=this._subscribeRankingTokens(s,sdk.WsChannelType.FINAL_STRETCH,r),l=this._client.stream.subscribeRankingTokensBondingCurve({chain:o,callback:i=>r(i.map(c=>p(s,c)))});return {unsubscribe:()=>{n.unsubscribe(),l.unsubscribe();}}}subscribeStockTokens(s,r){return this._subscribeRankingTokens(s,sdk.WsChannelType.US_STOCKS,r)}_buildRankingParams(s){return {sortBy:s?.sortBy?R(s.sortBy):void 0,sortDirection:s?.sortDirection?s.sortDirection:void 0,rangeFilters:s?.filters?V(s.filters):void 0,launchpadPlatform:s?.filters?ve(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords}}async _getTrades(s,r,o){let n=await this._client.trade.getTrades(d(s),{...r,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 re(n)}async _getActivities(s,r,o){let n=await this._client.trade.getActivities(d(s),{...r,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 oe(n)}_subscribeRankingTokens(s,r,o){let n=d(s),l=[this._client.stream.subscribeRankingTokensStats({chain:n,channelType:r,callback:i=>o(i.map(c=>W(s,c)))}),this._client.stream.subscribeRankingTokensHolders({chain:n,channelType:r,callback:i=>o(i.map(c=>D(s,c.tokenAddress,c)))}),this._client.stream.subscribeRankingTokensSupply({chain:n,channelType:r,callback:i=>o(i.map(c=>x(s,c.tokenAddress,c)))}),this._client.stream.subscribeRankingTokensLiquidity({chain:n,channelType:r,callback:i=>o(i.map(c=>_(s,c.tokenAddress,c)))})];return {unsubscribe:()=>l.forEach(i=>i.unsubscribe())}}};function ve(e){let s=e.find(r=>r.field==="launchedFromProtocolFamily");if(s){if(s.operator==="eq")return [s.value];if(s.operator==="in")return s.value;console.warn("invalid launchedFromProtocolFamily filter",s);}}exports.Client=le;exports.fromActivityPage=oe;exports.fromChainDTO=I;exports.fromPnlDetailItems=se;exports.fromPnlDetailsPage=Z;exports.fromSendTxResult=Q;exports.fromSwapRoute=J;exports.fromTokenCandle=q;exports.fromTokenCreatorDTO=ge;exports.fromTokenDTO=T;exports.fromTokenHolderPage=j;exports.fromTokenLiquidityDTO=Cs;exports.fromTokenMarketDataDTO=H;exports.fromTokenMetadataSubscribed=te;exports.fromTokenPage=K;exports.fromTokenSecurity=E;exports.fromTokenStatsDTO=w;exports.fromTokenSubscribed=ne;exports.fromTradePage=re;exports.fromWalletNetWorthByTokens=ee;exports.fromWalletPnlSummary=Y;exports.fromWalletPortfolios=X;exports.fromWsActivity=F;exports.fromWsCandle=ae;exports.fromWsTokenBondingCurveToSubscribed=p;exports.fromWsTokenDataSubscribed=W;exports.fromWsTokenHolderToSubscribed=D;exports.fromWsTokenLiquidityToSubscribed=_;exports.fromWsTokenMarketDataFromHolder=Ue;exports.fromWsTokenMarketDataFromStats=Se;exports.fromWsTokenMaxLiquidityToSubscribed=ie;exports.fromWsTokenStats=Pe;exports.fromWsTokenSupplyToSubscribed=x;exports.fromWsTokenTotalLiquidityToSubscribed=de;exports.fromWsTradeActivity=N;exports.toChainDTO=d;exports.toFieldDTO=R;exports.toRangeFiltersDTO=V;exports.toResolutionDTO=v;exports.toSearchFieldDTO=z;exports.toSendTxInput=$;exports.toSortDirectionDTO=fe;exports.toSwapRouteInput=G;exports.version=ke;//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|