@liberfi.io/client 0.1.37 → 0.1.39

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.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import {ChainSymbol,Resolution,SearchSortBy,GetNewTokensSortBy,SwapRouteInputSwapMode,WsMetricType,ChainStreamClient,WsChannelType}from'@chainstream-io/sdk';import {Chain,API}from'@liberfi.io/types';import {SafeBigNumber}from'@liberfi.io/utils';typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/client"]="0.1.37");var be="0.1.37";function i(e){switch(e){case Chain.ETHEREUM:return ChainSymbol.eth;case Chain.BINANCE:return ChainSymbol.bsc;case Chain.SOLANA:return ChainSymbol.sol}throw new Error(`Unsupported chain: ${e}`)}function C(e){switch(e){case "1s":return Resolution["1s"];case "15s":return Resolution["15s"];case "30s":return Resolution["30s"];case "1m":return Resolution["1m"];case "5m":return Resolution["5m"];case "15m":return Resolution["15m"];case "30m":case "1h":return Resolution["1h"];case "4h":return Resolution["4h"];case "12h":return Resolution["12h"];case "24h":return Resolution["1d"]}}function M(e){switch(e){case "asc":return "ASC";case "desc":return "DESC"}}function z(e){switch(e){case "marketCap":return SearchSortBy.marketCapInUsd;case "tvl":return SearchSortBy.liquidityInUsd;case "price":return SearchSortBy.priceInUsd;case "holders":return SearchSortBy.holderCount;case "volumes24h":return SearchSortBy.h24VolumeInUsd;case "trades24h":return SearchSortBy.h24Transactions;case "createdAt":return SearchSortBy.tokenCreatedAt}throw new Error(`Unsupported search field: ${e}`)}function v(e){switch(e){case "price":return GetNewTokensSortBy.marketDatapriceInUsd;case "priceChange1m":return GetNewTokensSortBy.statspriceChangeRatioInUsd1m;case "priceChange5m":return GetNewTokensSortBy.statspriceChangeRatioInUsd5m;case "priceChange1h":return GetNewTokensSortBy.statspriceChangeRatioInUsd1h;case "priceChange4h":return GetNewTokensSortBy.statspriceChangeRatioInUsd4h;case "priceChange24h":return GetNewTokensSortBy.statspriceChangeRatioInUsd24h;case "marketCap":return GetNewTokensSortBy.marketDatamarketCapInUsd;case "tvl":return GetNewTokensSortBy.marketDatamaxPoolTvlInUsd;case "top10Holdings":return GetNewTokensSortBy.marketDatatop10TotalHoldings;case "top10Ratio":return GetNewTokensSortBy.marketDatatop10HoldingsRatio;case "top100Holdings":return GetNewTokensSortBy.marketDatatop100TotalHoldings;case "top100Ratio":return GetNewTokensSortBy.marketDatatop100HoldingsRatio;case "holders":return GetNewTokensSortBy.marketDataholders;case "creatorsHoldings":return GetNewTokensSortBy.marketDatacreatorHoldings;case "creatorsRatio":return GetNewTokensSortBy.marketDatacreatorHoldingsRatio;case "buys1m":return GetNewTokensSortBy.statsbuys1m;case "buys5m":return GetNewTokensSortBy.statsbuys5m;case "buys15m":return GetNewTokensSortBy.statsbuys15m;case "buys30m":return GetNewTokensSortBy.statsbuys30m;case "buys1h":return GetNewTokensSortBy.statsbuys1h;case "buys4h":return GetNewTokensSortBy.statsbuys4h;case "buys24h":return GetNewTokensSortBy.statsbuys24h;case "sells1m":return GetNewTokensSortBy.statssells1m;case "sells5m":return GetNewTokensSortBy.statssells5m;case "sells15m":return GetNewTokensSortBy.statssells15m;case "sells30m":return GetNewTokensSortBy.statssells30m;case "sells1h":return GetNewTokensSortBy.statssells1h;case "sells4h":return GetNewTokensSortBy.statssells4h;case "sells24h":return GetNewTokensSortBy.statssells24h;case "trades1m":return GetNewTokensSortBy.statstrades1m;case "trades5m":return GetNewTokensSortBy.statstrades5m;case "trades1h":return GetNewTokensSortBy.statstrades1h;case "trades4h":return GetNewTokensSortBy.statstrades4h;case "trades24h":return GetNewTokensSortBy.statstrades24h;case "traders1m":return GetNewTokensSortBy.statstraders1m;case "traders5m":return GetNewTokensSortBy.statstraders5m;case "traders1h":return GetNewTokensSortBy.statstraders1h;case "traders4h":return GetNewTokensSortBy.statstraders4h;case "traders24h":return GetNewTokensSortBy.statstraders24h;case "volumes1m":return GetNewTokensSortBy.statsvolumesInUsd1m;case "volumes5m":return GetNewTokensSortBy.statsvolumesInUsd5m;case "volumes1h":return GetNewTokensSortBy.statsvolumesInUsd1h;case "volumes4h":return GetNewTokensSortBy.statsvolumesInUsd4h;case "volumes24h":return GetNewTokensSortBy.statsvolumesInUsd24h;case "createdAt":return 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 SafeBigNumber(s.value).toString():s.value),["lt","lte","between"].indexOf(s.operator)>=0&&(r.max=typeof s.value=="number"?new SafeBigNumber(s.value).toString():s.value),r})}function y(e){switch(e){case ChainSymbol.eth:return Chain.ETHEREUM;case ChainSymbol.bsc:return Chain.BINANCE;case ChainSymbol.sol:case "solana":return 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 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===API.SwapMode.EXACT_IN?SwapRouteInputSwapMode.ExactIn: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 SafeBigNumber(U).plus(S).toString():void 0,ke=h&&P&&new SafeBigNumber(h).gt(0)?new 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===WsMetricType.LIQUIDITY_IN_USD?{chain:e,address:s,marketData:{tvlInUsd:r.value}}:r.metricType===WsMetricType.MIGRATED_RATIO?{chain:e,address:s,migrateProgress:new SafeBigNumber(r.value).shiftedBy(2).toString()}:{chain:e,address:s}}function _(e,s){return {chain:e,address:s.tokenAddress??"",migrateProgress:s.progressRatio?new 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 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,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,WsChannelType.HOT,r)}subscribeMigratedTokens(s,r){return this._subscribeRankingTokens(s,WsChannelType.GRADUATED,r)}subscribeFinalStretchTokens(s,r){let o=i(s),t=this._subscribeRankingTokens(s,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,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);}}export{ce as Client,te as fromActivityPage,y as fromChainDTO,re as fromPnlDetailItems,ee as fromPnlDetailsPage,X as fromSendTxResult,Q as fromSwapRoute,q as fromTokenCandle,fe as fromTokenCreatorDTO,u as fromTokenDTO,K as fromTokenHolderPage,he as fromTokenLiquidityDTO,R as fromTokenMarketDataDTO,ae as fromTokenMetadataSubscribed,J as fromTokenPage,G as fromTokenSecurity,w as fromTokenStatsDTO,ne as fromTokenSubscribed,oe as fromTradePage,se as fromWalletNetWorthByTokens,Z as fromWalletPnlSummary,Y as fromWalletPortfolios,p as fromWsActivity,ie as fromWsCandle,_ as fromWsTokenBondingCurveToSubscribed,H as fromWsTokenDataSubscribed,x as fromWsTokenHolderToSubscribed,D as fromWsTokenLiquidityToSubscribed,Ue as fromWsTokenMarketDataFromHolder,Ae as fromWsTokenMarketDataFromStats,de as fromWsTokenMaxLiquidityToSubscribed,Pe as fromWsTokenStats,W as fromWsTokenSupplyToSubscribed,le as fromWsTokenTotalLiquidityToSubscribed,N as fromWsTradeActivity,i as toChainDTO,v as toFieldDTO,V as toRangeFiltersDTO,C as toResolutionDTO,z as toSearchFieldDTO,j as toSendTxInput,M as toSortDirectionDTO,$ as toSwapRouteInput,be as version};//# sourceMappingURL=index.mjs.map
1
+ import {ChainSymbol,Resolution,SearchSortBy,GetNewTokensSortBy,SwapRouteInputSwapMode,WsMetricType,ChainStreamClient,WsChannelType}from'@chainstream-io/sdk';import {Chain,API}from'@liberfi.io/types';import {SafeBigNumber}from'@liberfi.io/utils';typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/client"]="0.1.39");var be="0.1.39";function i(e){switch(e){case Chain.ETHEREUM:return ChainSymbol.eth;case Chain.BINANCE:return ChainSymbol.bsc;case Chain.SOLANA:return ChainSymbol.sol}throw new Error(`Unsupported chain: ${e}`)}function C(e){switch(e){case "1s":return Resolution["1s"];case "15s":return Resolution["15s"];case "30s":return Resolution["30s"];case "1m":return Resolution["1m"];case "5m":return Resolution["5m"];case "15m":return Resolution["15m"];case "30m":case "1h":return Resolution["1h"];case "4h":return Resolution["4h"];case "12h":return Resolution["12h"];case "24h":return Resolution["1d"]}}function M(e){switch(e){case "asc":return "ASC";case "desc":return "DESC"}}function z(e){switch(e){case "marketCap":return SearchSortBy.marketCapInUsd;case "tvl":return SearchSortBy.liquidityInUsd;case "price":return SearchSortBy.priceInUsd;case "holders":return SearchSortBy.holderCount;case "volumes24h":return SearchSortBy.h24VolumeInUsd;case "trades24h":return SearchSortBy.h24Transactions;case "createdAt":return SearchSortBy.tokenCreatedAt}throw new Error(`Unsupported search field: ${e}`)}function v(e){switch(e){case "price":return GetNewTokensSortBy.marketDatapriceInUsd;case "priceChange1m":return GetNewTokensSortBy.statspriceChangeRatioInUsd1m;case "priceChange5m":return GetNewTokensSortBy.statspriceChangeRatioInUsd5m;case "priceChange1h":return GetNewTokensSortBy.statspriceChangeRatioInUsd1h;case "priceChange4h":return GetNewTokensSortBy.statspriceChangeRatioInUsd4h;case "priceChange24h":return GetNewTokensSortBy.statspriceChangeRatioInUsd24h;case "marketCap":return GetNewTokensSortBy.marketDatamarketCapInUsd;case "tvl":return GetNewTokensSortBy.marketDatamaxPoolTvlInUsd;case "top10Holdings":return GetNewTokensSortBy.marketDatatop10TotalHoldings;case "top10Ratio":return GetNewTokensSortBy.marketDatatop10HoldingsRatio;case "top100Holdings":return GetNewTokensSortBy.marketDatatop100TotalHoldings;case "top100Ratio":return GetNewTokensSortBy.marketDatatop100HoldingsRatio;case "holders":return GetNewTokensSortBy.marketDataholders;case "creatorsHoldings":return GetNewTokensSortBy.marketDatacreatorHoldings;case "creatorsRatio":return GetNewTokensSortBy.marketDatacreatorHoldingsRatio;case "buys1m":return GetNewTokensSortBy.statsbuys1m;case "buys5m":return GetNewTokensSortBy.statsbuys5m;case "buys15m":return GetNewTokensSortBy.statsbuys15m;case "buys30m":return GetNewTokensSortBy.statsbuys30m;case "buys1h":return GetNewTokensSortBy.statsbuys1h;case "buys4h":return GetNewTokensSortBy.statsbuys4h;case "buys24h":return GetNewTokensSortBy.statsbuys24h;case "sells1m":return GetNewTokensSortBy.statssells1m;case "sells5m":return GetNewTokensSortBy.statssells5m;case "sells15m":return GetNewTokensSortBy.statssells15m;case "sells30m":return GetNewTokensSortBy.statssells30m;case "sells1h":return GetNewTokensSortBy.statssells1h;case "sells4h":return GetNewTokensSortBy.statssells4h;case "sells24h":return GetNewTokensSortBy.statssells24h;case "trades1m":return GetNewTokensSortBy.statstrades1m;case "trades5m":return GetNewTokensSortBy.statstrades5m;case "trades1h":return GetNewTokensSortBy.statstrades1h;case "trades4h":return GetNewTokensSortBy.statstrades4h;case "trades24h":return GetNewTokensSortBy.statstrades24h;case "traders1m":return GetNewTokensSortBy.statstraders1m;case "traders5m":return GetNewTokensSortBy.statstraders5m;case "traders1h":return GetNewTokensSortBy.statstraders1h;case "traders4h":return GetNewTokensSortBy.statstraders4h;case "traders24h":return GetNewTokensSortBy.statstraders24h;case "volumes1m":return GetNewTokensSortBy.statsvolumesInUsd1m;case "volumes5m":return GetNewTokensSortBy.statsvolumesInUsd5m;case "volumes1h":return GetNewTokensSortBy.statsvolumesInUsd1h;case "volumes4h":return GetNewTokensSortBy.statsvolumesInUsd4h;case "volumes24h":return GetNewTokensSortBy.statsvolumesInUsd24h;case "createdAt":return 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 SafeBigNumber(s.value).toString():s.value),["lt","lte","between"].indexOf(s.operator)>=0&&(r.max=typeof s.value=="number"?new SafeBigNumber(s.value).toString():s.value),r})}function y(e){switch(e){case ChainSymbol.eth:return Chain.ETHEREUM;case ChainSymbol.bsc:return Chain.BINANCE;case ChainSymbol.sol:case "solana":return 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 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===API.SwapMode.EXACT_IN?SwapRouteInputSwapMode.ExactIn: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 SafeBigNumber(U).plus(S).toString():void 0,ke=h&&P&&new SafeBigNumber(h).gt(0)?new 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===WsMetricType.LIQUIDITY_IN_USD?{chain:e,address:s,marketData:{tvlInUsd:r.value}}:r.metricType===WsMetricType.MIGRATED_RATIO?{chain:e,address:s,migrateProgress:new SafeBigNumber(r.value).shiftedBy(2).toString()}:{chain:e,address:s}}function _(e,s){return {chain:e,address:s.tokenAddress??"",migrateProgress:s.progressRatio?new 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 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,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,WsChannelType.HOT,r)}subscribeMigratedTokens(s,r){return this._subscribeRankingTokens(s,WsChannelType.GRADUATED,r)}subscribeFinalStretchTokens(s,r){let o=i(s),t=this._subscribeRankingTokens(s,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,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);}}export{ce as Client,te as fromActivityPage,y as fromChainDTO,re as fromPnlDetailItems,ee as fromPnlDetailsPage,X as fromSendTxResult,Q as fromSwapRoute,q as fromTokenCandle,fe as fromTokenCreatorDTO,u as fromTokenDTO,K as fromTokenHolderPage,he as fromTokenLiquidityDTO,R as fromTokenMarketDataDTO,ae as fromTokenMetadataSubscribed,J as fromTokenPage,G as fromTokenSecurity,w as fromTokenStatsDTO,ne as fromTokenSubscribed,oe as fromTradePage,se as fromWalletNetWorthByTokens,Z as fromWalletPnlSummary,Y as fromWalletPortfolios,p as fromWsActivity,ie as fromWsCandle,_ as fromWsTokenBondingCurveToSubscribed,H as fromWsTokenDataSubscribed,x as fromWsTokenHolderToSubscribed,D as fromWsTokenLiquidityToSubscribed,Ue as fromWsTokenMarketDataFromHolder,Ae as fromWsTokenMarketDataFromStats,de as fromWsTokenMaxLiquidityToSubscribed,Pe as fromWsTokenStats,W as fromWsTokenSupplyToSubscribed,le as fromWsTokenTotalLiquidityToSubscribed,N as fromWsTradeActivity,i as toChainDTO,v as toFieldDTO,V as toRangeFiltersDTO,C as toResolutionDTO,z as toSearchFieldDTO,j as toSendTxInput,M as toSortDirectionDTO,$ as toSwapRouteInput,be as version};//# sourceMappingURL=index.mjs.map
2
2
  //# sourceMappingURL=index.mjs.map