@liberfi.io/client 0.1.32 → 0.1.34

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 {createContext,useContext,useRef,useEffect}from'react';import {useQuery,useMutation,useInfiniteQuery}from'@tanstack/react-query';import {ChainStreamClient,WsChannelType,ChainSymbol,Resolution,GetNewTokensSortBy,SearchSortBy,SwapRouteInputSwapMode}from'@chainstream-io/sdk';import {Chain,API}from'@liberfi.io/types';import {SafeBigNumber}from'@liberfi.io/utils';import {jsx}from'react/jsx-runtime';typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/client"]="0.1.32");var de="0.1.32";var p=createContext({});function o(){let e=useContext(p);if(!e)throw new Error("useDexClient must be used within an DexClientProvider");return e}function me(e){return ["finalStretchTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function ye(e,{chain:t,...r}){return await e.getFinalStretchTokens(t,r)}function St(e,t={}){let{client:r}=o();return useQuery({queryKey:me(e),queryFn:async()=>ye(r,e),...t})}function ke(e){return ["migratedTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function be(e,{chain:t,...r}){return await e.getMigratedTokens(t,r)}function wt(e,t={}){let{client:r}=o();return useQuery({queryKey:ke(e),queryFn:async()=>be(r,e),...t})}function he(e){return ["newTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function ge(e,{chain:t,...r}){return await e.getNewTokens(t,r)}function Ht(e,t={}){let{client:r}=o();return useQuery({queryKey:he(e),queryFn:async()=>ge(r,e),...t})}async function Ae(e){return await e.getPresignedUploadUrl()}function qt(e={}){let{client:t}=o();return useQuery({queryKey:["presignedUploadUrl"],queryFn:async()=>Ae(t),staleTime:0,...e})}function xe(e){return ["searchTokens",e.cursor??"",e.limit?`${e.limit}`:"",e.direction??"",JSON.stringify((e.chains??[]).sort()),e.keyword??"",JSON.stringify(e.filters??[]),e.sortBy??"",e.sortDirection??""]}async function Ce(e,t){return await e.searchTokens(t)}function _t(e,t={}){let{client:r}=o();return useQuery({queryKey:xe(e),queryFn:async()=>Ce(r,e),...t})}async function Ue(e,t){return await e.sendTx(t)}function $t(e={}){let{client:t}=o();return useMutation({mutationFn:async r=>Ue(t,r),...e})}function De(e){return ["stockTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function Qe(e,{chain:t,...r}){return await e.getStockTokens(t,r)}function Zt(e,t={}){let{client:r}=o();return useQuery({queryKey:De(e),queryFn:async()=>Qe(r,e),...t})}function Re(e){return ["swapRoute",e.chain,e.userAddress,e.input,e.output,e.mode,e.amount,e.slippage?`${e.slippage}`:"",e.priorityFee??"",e.tipFee??"",e.isAntiMev!==void 0?`${e.isAntiMev}`:""]}async function He(e,t){return await e.swapRoute(t)}function sn(e,t={}){let{client:r}=o();return useQuery({queryKey:Re(e),queryFn:async()=>He(r,e),...t})}function Oe(e){return ["tokenCandles",e.chain,e.address,e.resolution,e.after?.toString()??"",e.before?.toString()??"",e.limit?`${e.limit}`:""]}async function Fe(e,{chain:t,address:r,resolution:n,...s}){return await e.getTokenCandles(t,r,n,s)}function un(e,t={}){let{client:r}=o();return useQuery({queryKey:Oe(e),queryFn:async()=>Fe(r,e),...t})}function qe(e){return ["tokenHolders",e.chain,e.address,e.cursor??"",e.limit?`${e.limit}`:"",e.direction??""]}async function Me(e,{chain:t,address:r,...n}){return await e.getTokenHolders(t,r,n)}function Tn(e,t={}){let{client:r}=o();return useQuery({queryKey:qe(e),queryFn:async()=>Me(r,e),...t})}function Be(e){return ["tokenMarketData",e.chain,e.address]}async function Ee(e,{chain:t,address:r}){return await e.getTokenMarketData(t,r)}function gn(e,t={}){let{client:r}=o();return useQuery({queryKey:Be(e),queryFn:async()=>Ee(r,e),...t})}function Ve(e){return ["token",e.chain,e.address]}async function Le(e,{chain:t,address:r}){return await e.getToken(t,r)}function Cn(e,t={}){let{client:r}=o();return useQuery({queryKey:Ve(e),queryFn:async()=>Le(r,e),...t})}function ze(e){return ["tokenSecurity",e.chain,e.address]}async function $e(e,{chain:t,address:r}){return await e.getTokenSecurity(t,r)}function Qn(e,t={}){let{client:r}=o();return useQuery({queryKey:ze(e),queryFn:async()=>$e(r,e),...t})}function je(e){return ["tokens",e.chain,e.addresses.sort().join(",")]}async function Xe(e,{chain:t,addresses:r}){return await e.getTokens(t,r)}function On(e,t={}){let{client:r}=o();return useQuery({queryKey:je(e),queryFn:async()=>Xe(r,e),...t})}function Ze(e){return ["tokenStats",e.chain,e.address]}async function er(e,{chain:t,address:r}){return await e.getTokenStats(t,r)}function Kn(e,t={}){let{client:r}=o();return useQuery({queryKey:Ze(e),queryFn:async()=>er(r,e),...t})}function tr(e){return ["tokenTradeActivities",e.chain,e.address,e.before?.toString()??"",e.after?.toString()??"",e.beforeBlockHeight?`${e.beforeBlockHeight}`:"",e.afterBlockHeight?`${e.afterBlockHeight}`:"",e.type??"",e.poolAddress??""]}async function nr(e,{chain:t,address:r,...n}){return await e.getTokenTradeActivities(t,r,n)}function Ln(e,t={}){let{client:r}=o();return useQuery({queryKey:tr(e),queryFn:async()=>nr(r,e),...t})}function or(e){return ["trendingTokens",e.chain,e.resolution,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function ir(e,{chain:t,resolution:r,...n}){return await e.getTrendingTokens(t,r,n)}function jn(e,t={}){let{client:r}=o();return useQuery({queryKey:or(e),queryFn:async()=>ir(r,e),...t})}function lr(e){return ["txSuccess",e.chain,e.txHash,e.timeout?`${e.timeout}`:""]}async function dr(e,{chain:t,txHash:r,timeout:n}){return await e.checkTxSuccess(t,r,n)}function rs(e,t={}){let{client:r}=o();return useQuery({queryKey:lr(e),queryFn:async()=>dr(r,e),...t})}function cr(e){return ["walletPnl",e.chain,e.address,e.resolution??"all"]}async function fr(e,{chain:t,address:r,resolution:n}){return await e.getWalletPnl(t,r,n)}function is(e,t={}){let{client:r}=o();return useQuery({queryKey:cr(e),queryFn:async()=>fr(r,e),...t})}function yr(e){return ["walletPortfolioPnls",e.chain,e.address,e.cursor??"",String(e.limit??"")]}async function Tr(e,{chain:t,address:r,cursor:n,limit:s}){return await e.getWalletPortfolioPnls(t,r,{cursor:n,limit:s})}function cs(e,t={}){let{client:r}=o();return useQuery({queryKey:yr(e),queryFn:async()=>Tr(r,e),...t})}function br(e){return ["walletPortfolioPnls","infinite",e.chain,e.address,String(e.limit??"")]}function Ts(e,t={}){let{client:r}=o();return useInfiniteQuery({queryKey:br(e),queryFn:async({pageParam:n})=>r.getWalletPortfolioPnls(e.chain,e.address,{cursor:n,limit:e.limit??100}),initialPageParam:void 0,getNextPageParam:n=>n.hasNext?n.endCursor:void 0,...t})}function hr(e){return ["walletPortfolios",e.chain,e.address,e.cursor??"",String(e.limit??"")]}async function gr(e,{chain:t,address:r,cursor:n,limit:s}){return await e.getWalletPortfolios(t,r,{cursor:n,limit:s})}function gs(e,t={}){let{client:r}=o();return useQuery({queryKey:hr(e),queryFn:async()=>gr(r,e),...t})}function Ar(e){return ["walletPortfolios","infinite",e.chain,e.address,String(e.limit??"")]}function xs(e,t={}){let{client:r}=o();return useInfiniteQuery({queryKey:Ar(e),queryFn:async({pageParam:n})=>r.getWalletPortfolios(e.chain,e.address,{cursor:n,limit:e.limit??100}),initialPageParam:void 0,getNextPageParam:n=>n.hasNext?n.endCursor:void 0,...t})}function xr(e){return ["walletTradeActivities",e.chain,e.address,e.before?.toString()??"",e.after?.toString()??"",e.beforeBlockHeight?`${e.beforeBlockHeight}`:"",e.afterBlockHeight?`${e.afterBlockHeight}`:"",e.type??"",e.poolAddress??""]}async function Cr(e,{chain:t,address:r,...n}){return await e.getWalletTradeActivities(t,r,n)}function Ds(e,t={}){let{client:r}=o();return useQuery({queryKey:xr(e),queryFn:async()=>Cr(r,e),...t})}function Hs(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeTokenStats(e.chain,e.address,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,e.address,r?.enabled]);}function Ns(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeTokenCandles(e.chain,e.address,e.resolution,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,e.address,e.resolution,r?.enabled]);}function Bs(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeTokenMarketData(e.chain,e.address,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,e.address,r?.enabled]);}function Ls(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeTokenTradeActivities(e.chain,e.address,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,e.address,r?.enabled]);}function Js(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeWalletPnl(e.chain,e.address,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,e.address,r?.enabled]);}function Zs(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeWalletPortfolios(e.chain,e.address,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,e.address,r?.enabled]);}function no(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeWalletPortfolioPnls(e.chain,e.address,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,e.address,r?.enabled]);}function ao(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeWalletTradeActivities(e.chain,e.address,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,e.address,r?.enabled]);}function fo(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeNewTokens(e.chain,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,r?.enabled]);}function ko(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeNewTokensBasic(e.chain,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,r?.enabled]);}function go(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeNewTokensMarketData(e.chain,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,r?.enabled]);}function xo(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeNewTokensStats(e.chain,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,r?.enabled]);}function wo(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeNewTokensData(e.chain,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,r?.enabled]);}function Ro(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeMigratedTokensData(e.chain,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,r?.enabled]);}function Fo(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeFinalStretchTokensData(e.chain,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,r?.enabled]);}function Ko(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeTrendingTokensData(e.chain,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,r?.enabled]);}function Vo(e,t,r){let{subscribeClient:n}=o(),s=useRef(t);s.current=t,useEffect(()=>{if(r?.enabled===false)return;let i=n.subscribeStockTokensData(e.chain,l=>s.current(l));return ()=>i.unsubscribe()},[n,e.chain,r?.enabled]);}function d(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 H(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 g(e){switch(e){case "asc":return "ASC";case "desc":return "DESC"}}function E(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 y(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 I(e){return e.filter(t=>["gt","gte","lt","lte","between"].indexOf(t.operator)>=0).map(t=>{let r={field:y(t.field)};return ["gt","gte","between"].indexOf(t.operator)>=0&&(r.min=typeof t.value=="number"?new SafeBigNumber(t.value).toString():t.value),["lt","lte","between"].indexOf(t.operator)>=0&&(r.max=typeof t.value=="number"?new SafeBigNumber(t.value).toString():t.value),r})}function W(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 at(e){return {address:e.address,share:e.share,isVerified:e.isVerified}}function c(e){return {chain:W(e.chain),name:e.name,symbol:e.symbol,address:e.address,decimals:e.decimals,image:e.imageUrl,description:e.description,creators:e.tokenCreators?.map(at),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?O(e.stats):void 0,marketData:e.marketData?F(e.marketData):void 0,liquidities:e.liquidity?.map(lt),createdAt:e.tokenCreatedAt?new Date(e.tokenCreatedAt):void 0}}function O(e){return {"1m":m(e,"1m"),"5m":m(e,"5m"),"15m":m(e,"15m"),"30m":m(e,"30m"),"1h":m(e,"1h"),"4h":m(e,"4h"),"24h":m(e,"24h")}}function k(e){return e===void 0?void 0:parseInt(e)}function m(e,t){let r=e.periods?.[t];return r?{buys:k(r.buys),sells:k(r.sells),trades:k(r.trades),buyers:k(r.buyers),sellers:k(r.sellers),traders:k(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 lt(e){return {image:e.image,poolAddress:e.poolAddress,programAddress:e.programAddress,protocolFamily:e.protocolFamily,tvl:e.tvlInSol,tvlInUsd:e.tvlInUsd}}function F(e){return {totalSupply:e.totalSupply,marketCap:e.marketCapInSol,marketCapInUsd:e.marketCapInUsd,price:e.priceInSol,priceInUsd:e.priceInUsd,tvl:e.totalTvlInSol,tvlInUsd:e.totalTvlInUsd,holders:parseInt(e.holders),top10Holdings:e.top10TotalHoldings,top10HoldingsRatio:e.top10HoldingsRatio,top50Holdings:e.top50TotalHoldings,top50HoldingsRatio:e.top50HoldingsRatio,top100Holdings:e.top100TotalHoldings,top100HoldingsRatio:e.top100HoldingsRatio,bluechipHolders:e.bluechipTotalHolders===void 0?void 0:parseInt(e.bluechipTotalHolders),bluechipHoldings:e.bluechipTotalHoldings,bluechipHoldingsRatio:e.bluechipHoldingsRatio,kolHolders:e.kolTotalHolders===void 0?void 0:parseInt(e.kolTotalHolders),kolHoldings:e.kolTotalHoldings,kolHoldingsRatio:e.kolHoldingsRatio,sniperHolders:e.sniperTotalHolders===void 0?void 0:parseInt(e.sniperTotalHolders),sniperHoldings:e.sniperTotalHoldings,sniperHoldingsRatio:e.sniperHoldingsRatio,proHolders:e.proTotalHolders===void 0?void 0:parseInt(e.proTotalHolders),proHoldings:e.proTotalHoldings,proHoldingsRatio:e.proHoldingsRatio,insiderHolders:e.insiderTotalHolders===void 0?void 0:parseInt(e.insiderTotalHolders),insiderHoldings:e.insiderTotalHoldings,insiderHoldingsRatio:e.insiderHoldingsRatio,sandwichHolders:e.sandwishTotalHolders===void 0?void 0:parseInt(e.sandwishTotalHolders),sandwichHoldings:e.sandwishTotalHoldings,sandwichHoldingsRatio:e.sandwishHoldingsRatio,freshHolders:e.freshTotalHolders===void 0?void 0:parseInt(e.freshTotalHolders),freshHoldings:e.freshTotalHoldings,freshHoldingsRatio:e.freshHoldingsRatio,bundleHolders:e.bundleTotalHolders===void 0?void 0:parseInt(e.bundleTotalHolders),bundleHoldings:e.bundleTotalHoldings,bundleHoldingsRatio:e.bundleHoldingsRatio,devHolders:e.devTotalHolders===void 0?void 0:parseInt(e.devTotalHolders),devHoldings:e.devTotalHoldings,devHoldingsRatio:e.devHoldingsRatio}}function _(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:V(e.resolution),timestamp:new Date(e.time)}}function V(e){return e==="1d"?"24h":e}function L(e){return {hasTransferFee:e.hasTransferFee,isTransferFeeUpgradable:e.isTransferFeeUpgradable,isTransferable:e.isTransferable,isFreezable:e.isFreezable,isClosable:e.isClosable}}function G(e){return {dex:"jupiter",userAddress:e.userAddress,amount:e.amount,swapMode:e.mode===API.SwapMode.EXACT_IN?SwapRouteInputSwapMode.ExactIn:SwapRouteInputSwapMode.ExactOut,slippage:e.slippage??1,inputMint:e.input,outputMint:e.output,priorityFee:e.priorityFee}}function z(e){return {signedTx:e.serializedTx}}function $(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(t=>({address:t.walletAddress,amount:t.amount,amountInUsd:t.amountInUsd,ratio:t.percentage}))}}function J(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,total:e.total,data:e.data.map(c),extra:e.countsByProtocols}}function j(e){return {serializedTx:e.serializedTx,plans:[],extra:e.routeInfo}}function X(e){return {txHash:e.signature,extra:{jobId:e.jobId,elapsedTime:e.elapsedTime}}}function Y(e,t){let r=(t.data??[]).map(n=>({chain:W(n.chain),address:n.tokenAddress,name:n.name,symbol:n.symbol,image:n.logoUri,priceInUsd:n.priceInUsd,priceInNative:n.priceInNative,amount:n.amount,amountInUsd:n.valueInUsd,amountInNative:n.valueInNative,decimals:n.decimals}));return {chain:r[0]?.chain??e,address:t.walletAddress,balanceInUsd:t.totalValueInUsd,balanceInNative:t.totalValueInNative,startCursor:t.startCursor,endCursor:t.endCursor,hasPrev:t.hasPrev,hasNext:t.hasNext,portfolios:r}}function Z(e,t,r){return {chain:e,address:t,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,t,r){let n=r.data.map(s=>({chain:e,address:s.tokenAddress,name:s.name,symbol:s.symbol,image:s.logoUri,amount:s.balance,amountInUsd:s.currentValue,priceInUsd:s.priceInUsd,decimals:s.decimals,totalTrades:Number(s.totalTrades),buys:Number(s.buys),buyVolumes:s.buyAmount,buyVolumesInUsd:s.buyAmountInUsd,buyAvgPriceInUsd:s.avgBuyPriceInUsd,sells:Number(s.sells),sellVolumes:s.sellAmount,sellVolumesInUsd:s.sellAmountInUsd,sellAvgPriceInUsd:s.avgSellPriceInUsd,realizedProfitInUsd:s.realizedProfitInUsd,realizedProfitRatio:s.realizedProfitRatio,unrealizedProfitInUsd:s.unrealizedProfitInUsd,unrealizedProfitRatio:s.unrealizedProfitRatio,totalProfitInUsd:s.totalProfitInUsd,totalProfitRatio:s.totalProfitRatio}));return {chain:e,address:t,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:n}}function N(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(dt)}}function dt(e){let t=e.type.toLowerCase()==="buy";return {chain:W(e.chain),walletAddress:e.accountOwnerAddress,txHash:e.transactionSignature,type:t?"buy":"sell",from:{address:t?e.sideTokenAddress:e.tokenAddress,symbol:t?e.sideTokenSymbol:e.tokenSymbol,name:t?e.sideTokenName:e.tokenName,image:t?e.sideTokenImageUrl:e.tokenImageUrl,amount:t?e.sideTokenAmount:e.tokenAmount,amountInUsd:t?e.sideTokenAmountInUsd:e.tokenAmountInUsd,priceInUsd:t?e.sideTokenPriceInUsd:e.tokenPriceInUsd},to:{address:t?e.tokenAddress:e.sideTokenAddress,symbol:t?e.tokenSymbol:e.sideTokenSymbol,name:t?e.tokenName:e.sideTokenName,image:t?e.tokenImageUrl:e.sideTokenImageUrl,amount:t?e.tokenAmount:e.sideTokenAmount,amountInUsd:t?e.tokenAmountInUsd:e.sideTokenAmountInUsd,priceInUsd:t?e.tokenPriceInUsd:e.sideTokenPriceInUsd},dex:{programAddress:e.dexProgramAddress,protocolFamily:e.dexProtocolFamily,image:e.dexImage},poolAddress:e.poolAddress,status:e.status??"success",time:new Date(e.blockTimestamp*1e3)}}function re(e,t){return {chain:e,address:t.tokenAddress,name:t.name,symbol:t.symbol,decimals:t.decimals,createdAt:new Date(t.createdAtMs),launchedFrom:t.launchFrom?{programAddress:t.launchFrom.programAddress,protocolFamily:t.launchFrom.protocolFamily}:void 0}}function te(e,t){return {chain:e,address:t.tokenAddress,name:t.name,symbol:t.symbol,decimals:t.decimals,image:t.imageUrl,description:t.description,socialMedias:t.socialMedia?{...t.socialMedia}:void 0,createdAt:t.createdAtMs?new Date(t.createdAtMs):new Date(0),launchedFrom:t.launchFrom?{programAddress:t.launchFrom.programAddress,protocolFamily:t.launchFrom.protocolFamily}:void 0,migratedTo:t.migratedTo?{programAddress:t.migratedTo.programAddress,protocolFamily:t.migratedTo.protocolFamily}:void 0}}function ne(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:V(e.resolution),timestamp:new Date(e.time)}}function U(e){let t=["1m","5m","15m","30m","1h","4h","24h"],r=e,n={};for(let s of t){let i=r[`buys${s}`],l=r[`sells${s}`],D=r[`buyers${s}`],Q=r[`sellers${s}`],v=r[`buyVolumeInUsd${s}`],R=r[`sellVolumeInUsd${s}`],M=r[`trades${s}`],K=r[`price${s}`],S=r[`openInUsd${s}`],C=r[`closeInUsd${s}`];if(!(i!==void 0||l!==void 0||M!==void 0||K!==void 0))continue;let oe=M??(i!==void 0&&l!==void 0?i+l:void 0),ie=D!==void 0&&Q!==void 0?D+Q:void 0,ae=v!==void 0&&R!==void 0?new SafeBigNumber(v).plus(R).toString():void 0,le=S&&C&&new SafeBigNumber(S).gt(0)?new SafeBigNumber(C).minus(S).div(S).toString():void 0;n[s]={buys:i,sells:l,trades:oe,buyers:D,sellers:Q,traders:ie,buyVolumesInUsd:v,sellVolumesInUsd:R,volumesInUsd:ae,openPriceInUsd:S,closePriceInUsd:C,priceInUsd:K??C,priceChange:le};}return n}function w(e){return {priceInUsd:e.price}}function A(e){return {address:e.address,stats:U(e),marketData:w(e)}}function q(e,t){let r=t.kind.toLowerCase()==="buy";return {chain:e,walletAddress:r?t.buyWalletAddress:t.sellWalletAddress,txHash:t.txHash,type:r?"buy":"sell",from:{address:t.sellTokenAddress,symbol:t.sellTokenSymbol,name:t.sellTokenName,amount:t.sellAmount,amountInUsd:t.sellAmountInUsd},to:{address:t.buyTokenAddress,symbol:t.buyTokenSymbol,name:t.buyTokenName,amount:t.buyAmount,amountInUsd:t.buyAmountInUsd},status:"success",time:new Date(t.timestamp)}}var se=class{constructor(t,r){this.accessToken=t;this.options=r;this._client=new ChainStreamClient(this.accessToken,this.options);}_client;async getToken(t,r){let n=await this._client.token.getToken(d(t),r);return c(n)}async getTokens(t,r){return (await this._client.token.getTokens(d(t),{tokenAddresses:r.join(",")})).map(c)}async getTokenCandles(t,r,n,s){return (await this._client.token.getCandles(d(t),r,{resolution:H(n),from:s?.after?.getTime(),to:s?.before?.getTime(),limit:s?.limit})).map(_)}async getTokenSecurity(t,r){let n=await this._client.token.getSecurity(d(t),r);return L(n)}async getTokenStats(t,r){let n=await this._client.token.getStats(d(t),r);return O(n)}async getTokenHolders(t,r,n){let s=await this._client.token.getHolders(d(t),r,{cursor:n?.cursor,limit:n?.limit,direction:n?.direction});return $(s)}async getTokenMarketData(t,r){let n=await this._client.token.getMarketData(d(t),r);return F(n)}async getNewTokens(t,r){return (await this._client.ranking.getNewTokens(d(t),{sortBy:r?.sortBy?y(r.sortBy):void 0,sortDirection:r?.sortDirection?g(r.sortDirection):void 0,rangeFilters:r?.filters?I(r.filters):void 0,launchpadPlatform:r?.filters?x(r.filters):void 0,searchKeywords:r?.keywords,excludeKeywords:r?.excludeKeywords})).map(c)}async getFinalStretchTokens(t,r){return (await this._client.ranking.getFinalStretchTokens(d(t),{sortBy:r?.sortBy?y(r.sortBy):void 0,sortDirection:r?.sortDirection?g(r.sortDirection):void 0,rangeFilters:r?.filters?I(r.filters):void 0,launchpadPlatform:r?.filters?x(r.filters):void 0,searchKeywords:r?.keywords,excludeKeywords:r?.excludeKeywords})).map(c)}async getMigratedTokens(t,r){return (await this._client.ranking.getMigratedTokens(d(t),{sortBy:r?.sortBy?y(r.sortBy):void 0,sortDirection:r?.sortDirection?g(r.sortDirection):void 0,rangeFilters:r?.filters?I(r.filters):void 0,launchpadPlatform:r?.filters?x(r.filters):void 0,searchKeywords:r?.keywords,excludeKeywords:r?.excludeKeywords})).map(c)}async getTrendingTokens(t,r,n){return (await this._client.ranking.getHotTokens(d(t),r,{sortBy:n?.sortBy?y(n.sortBy):void 0,sortDirection:n?.sortDirection?g(n.sortDirection):void 0,rangeFilters:n?.filters?I(n.filters):void 0,launchpadPlatform:n?.filters?x(n.filters):void 0,searchKeywords:n?.keywords,excludeKeywords:n?.excludeKeywords})).map(c)}async getStockTokens(t,r){return (await this._client.ranking.getStocksTokens(d(t),{sortBy:r?.sortBy?y(r.sortBy):void 0,sortDirection:r?.sortDirection?g(r.sortDirection):void 0,rangeFilters:r?.filters?I(r.filters):void 0,launchpadPlatform:r?.filters?x(r.filters):void 0,searchKeywords:r?.keywords,excludeKeywords:r?.excludeKeywords})).map(c)}async searchTokens(t){let r=await this._client.token.search({chains:t?.chains?.map(d),q:t?.keyword,limit:t?.limit,cursor:t?.cursor,sortBy:t?.sortBy?E(t.sortBy):void 0,sort:t?.sortDirection});return J(r)}async swapRoute(t){let r=await this._client.dex.route(d(t.chain),G(t));return j(r)}async sendTx(t){let r=await this._client.transaction.send(d(t.chain),z(t));return X(r)}async checkTxSuccess(t,r,n){let{result:s}=await this._client.waitForJob(r,n);return s.success}async getWalletPortfolios(t,r,n){let s=await this._client.wallet.getNetWorth(d(t),r,{cursor:n?.cursor,limit:n?.limit??100});return Y(t,s)}async getWalletPnl(t,r,n){let s=await this._client.wallet.getPnl(d(t),r,n?{resolution:n}:void 0);return Z(t,r,s)}async getWalletPortfolioPnls(t,r,n){let s=await this._client.wallet.getPnlDetails(d(t),r,{cursor:n?.cursor,limit:n?.limit??100});return ee(t,r,s)}async getWalletTradeActivities(t,r,n){let s=await this._client.trade.getTrades(d(t),{walletAddress:r,cursor:n?.cursor,limit:n?.limit,direction:n?.direction,beforeTimestamp:n?.before?.getTime(),afterTimestamp:n?.after?.getTime(),beforeBlockHeight:n?.beforeBlockHeight,afterBlockHeight:n?.afterBlockHeight,poolAddress:n?.poolAddress,type:n?.type?n.type.toUpperCase():void 0});return N(s)}async getTokenTradeActivities(t,r,n){let s=await this._client.trade.getTrades(d(t),{tokenAddress:r,cursor:n?.cursor,limit:n?.limit,direction:n?.direction,beforeTimestamp:n?.before?.getTime(),afterTimestamp:n?.after?.getTime(),beforeBlockHeight:n?.beforeBlockHeight,afterBlockHeight:n?.afterBlockHeight,poolAddress:n?.poolAddress,type:n?.type?n.type.toUpperCase():void 0});return N(s)}async getPresignedUploadUrl(){return await this._client.ipfs.presign()}subscribeTokenBasic(t,r,n){throw new Error("subscribeTokenBasic is not supported by ChainStream backend. Token basic info (name, symbol, image) rarely changes in real-time.")}subscribeTokenMarketData(t,r,n){return this._client.stream.subscribeTokenStats({chain:d(t),tokenAddress:r,callback:s=>n([w(s)])})}subscribeTokenStats(t,r,n){return this._client.stream.subscribeTokenStats({chain:d(t),tokenAddress:r,callback:s=>n([U(s)])})}subscribeTokenCandles(t,r,n,s){return this._client.stream.subscribeTokenCandles({chain:d(t),tokenAddress:r,resolution:H(n),callback:i=>s([ne(i)])})}subscribeWalletPnl(t,r,n){return this._client.stream.subscribeWalletPnlList({chain:d(t),walletAddress:r,callback:s=>n(s.map(i=>({chain:t,address:i.walletAddress,buys:i.buys,buyAmountInUsd:i.buyAmountInUsd,sells:i.sells,sellAmountInUsd:i.sellAmountInUsd,wins:i.wins,winRate:i.winRatio,totalProfitInUsd:i.pnlInUsd,totalProfitRatio:i.pnlRatio,avgProfitPerTradeInUsd:i.averagePnlInUsd,tokens:i.tokens,resolution:i.resolution})))})}subscribeWalletPortfolios(t,r,n){return this._client.stream.subscribeWalletBalance({chain:d(t),walletAddress:r,callback:s=>n(s.map(i=>({chain:t,walletAddress:i.walletAddress,tokenAddress:i.tokenAddress,priceInUsd:i.tokenPriceInUsd,amount:i.balance})))})}subscribeWalletPortfolioPnls(t,r,n){return this._client.stream.subscribeWalletPnl({chain:d(t),walletAddress:r,callback:s=>n([{chain:t,walletAddress:s.walletAddress,tokenAddress:s.tokenAddress,openTime:s.opentime?new Date(s.opentime):void 0,closeTime:s.closetime?new Date(s.closetime):void 0,buys:s.buyCount,buyVolumes:s.buyAmount,buyVolumesInUsd:s.buyAmountInUsd,buyAvgPriceInUsd:s.averageBuyPriceInUsd,sells:s.sellCount,sellVolumes:s.sellAmount,sellVolumesInUsd:s.sellAmountInUsd,sellAvgPriceInUsd:s.averageSellPriceInUsd,realizedProfitInUsd:s.realizedProfitInUsd,realizedProfitRatio:s.realizedProfitRatio,unrealizedProfitInUsd:s.unrealizedProfitInUsd,unrealizedProfitRatio:s.unrealizedProfitRatio,totalProfitInUsd:s.totalRealizedProfitInUsd,totalProfitRatio:s.totalRealizedProfitRatio}])})}subscribeWalletTradeActivities(t,r,n){return this._client.stream.subscribeWalletTrade({chain:d(t),walletAddress:r,callback:s=>n([q(t,s)])})}subscribeTokenTradeActivities(t,r,n){return this._client.stream.subscribeTokenTrade({chain:d(t),tokenAddress:r,callback:s=>n([q(t,s)])})}subscribeNewTokens(t,r){return this._client.stream.subscribeNewToken({chain:d(t),callback:n=>r([re(t,n)])})}subscribeNewTokensBasic(t,r){return this._client.stream.subscribeNewTokensMetadata({chain:d(t),callback:n=>r(n.map(s=>te(t,s)))})}subscribeNewTokensMarketData(t,r){return this._client.stream.subscribeRankingTokensStats({chain:d(t),channelType:WsChannelType.New,callback:n=>r(n.map(w))})}subscribeNewTokensStats(t,r){return this._client.stream.subscribeRankingTokensStats({chain:d(t),channelType:WsChannelType.New,callback:n=>r(n.map(U))})}subscribeNewTokensData(t,r){return this._client.stream.subscribeRankingTokensStats({chain:d(t),channelType:WsChannelType.New,callback:n=>r(n.map(A))})}subscribeMigratedTokensData(t,r){return this._client.stream.subscribeRankingTokensStats({chain:d(t),channelType:WsChannelType.COMPLETED,callback:n=>r(n.map(A))})}subscribeFinalStretchTokensData(t,r){return this._client.stream.subscribeRankingTokensStats({chain:d(t),channelType:WsChannelType.New,callback:n=>r(n.map(A))})}subscribeTrendingTokensData(t,r){return this._client.stream.subscribeRankingTokensStats({chain:d(t),channelType:WsChannelType.HOT,callback:n=>r(n.map(A))})}subscribeStockTokensData(t,r){return this._client.stream.subscribeRankingTokensStats({chain:d(t),channelType:WsChannelType.US_STOCKS,callback:n=>r(n.map(A))})}};function x(e){let t=e.find(r=>r.field==="launchedFromProtocolFamily");if(t){if(t.operator==="eq")return [t.value];if(t.operator==="in")return t.value;console.warn("invalid launchedFromProtocolFamily filter",t);}}function Ya({client:e,subscribeClient:t,children:r}){return jsx(p.Provider,{value:{client:e,subscribeClient:t},children:r})}export{se as Client,p as DexClientContext,Ya as DexClientProvider,ye as fetchFinalStretchTokens,be as fetchMigratedTokens,ge as fetchNewTokens,Ae as fetchPresignedUploadUrl,Ce as fetchSearchTokens,Qe as fetchStockTokens,He as fetchSwapRoute,Le as fetchToken,Fe as fetchTokenCandles,Me as fetchTokenHolders,Ee as fetchTokenMarketData,$e as fetchTokenSecurity,er as fetchTokenStats,nr as fetchTokenTradeActivities,Xe as fetchTokens,ir as fetchTrendingTokens,dr as fetchTxSuccess,fr as fetchWalletPnl,Tr as fetchWalletPortfolioPnls,gr as fetchWalletPortfolios,Cr as fetchWalletTradeActivities,me as finalStretchTokensQueryKey,ke as migratedTokensQueryKey,he as newTokensQueryKey,xe as searchTokensQueryKey,Ue as sendTx,De as stockTokensQueryKey,Re as swapRouteQueryKey,Oe as tokenCandlesQueryKey,qe as tokenHoldersQueryKey,Be as tokenMarketDataQueryKey,Ve as tokenQueryKey,ze as tokenSecurityQueryKey,Ze as tokenStatsQueryKey,tr as tokenTradeActivitiesQueryKey,je as tokensQueryKey,or as trendingTokensQueryKey,lr as txSuccessQueryKey,o as useDexClient,Fo as useFinalStretchTokensDataSubscription,St as useFinalStretchTokensQuery,Ro as useMigratedTokensDataSubscription,wt as useMigratedTokensQuery,ko as useNewTokensBasicSubscription,wo as useNewTokensDataSubscription,go as useNewTokensMarketDataSubscription,Ht as useNewTokensQuery,xo as useNewTokensStatsSubscription,fo as useNewTokensSubscription,qt as usePresignedUploadUrlQuery,_t as useSearchTokensQuery,$t as useSendTxMutation,Vo as useStockTokensDataSubscription,Zt as useStockTokensQuery,sn as useSwapRouteQuery,un as useTokenCandlesQuery,Ns as useTokenCandlesSubscription,Tn as useTokenHoldersQuery,gn as useTokenMarketDataQuery,Bs as useTokenMarketDataSubscription,Cn as useTokenQuery,Qn as useTokenSecurityQuery,Kn as useTokenStatsQuery,Hs as useTokenStatsSubscription,Ln as useTokenTradeActivitiesQuery,Ls as useTokenTradeActivitiesSubscription,On as useTokensQuery,Ko as useTrendingTokensDataSubscription,jn as useTrendingTokensQuery,rs as useTxSuccessQuery,is as useWalletPnlQuery,Js as useWalletPnlSubscription,Ts as useWalletPortfolioPnlsInfiniteQuery,cs as useWalletPortfolioPnlsQuery,no as useWalletPortfolioPnlsSubscription,xs as useWalletPortfoliosInfiniteQuery,gs as useWalletPortfoliosQuery,Zs as useWalletPortfoliosSubscription,Ds as useWalletTradeActivitiesQuery,ao as useWalletTradeActivitiesSubscription,de as version,cr as walletPnlQueryKey,br as walletPortfolioPnlsInfiniteQueryKey,yr as walletPortfolioPnlsQueryKey,Ar as walletPortfoliosInfiniteQueryKey,hr as walletPortfoliosQueryKey,xr as walletTradeActivitiesQueryKey};//# sourceMappingURL=index.mjs.map
1
+ import {ChainStreamClient,WsChannelType,ChainSymbol,Resolution,GetNewTokensSortBy,SearchSortBy,SwapRouteInputSwapMode,WsMetricType}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.34");var ke="0.1.34";function l(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 v(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 y(e){switch(e){case "asc":return "ASC";case "desc":return "DESC"}}function q(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 f(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 I(e){return e.filter(r=>["gt","gte","lt","lte","between"].indexOf(r.operator)>=0).map(r=>{let s={field:f(r.field)};return ["gt","gte","between"].indexOf(r.operator)>=0&&(s.min=typeof r.value=="number"?new SafeBigNumber(r.value).toString():r.value),["lt","lte","between"].indexOf(r.operator)>=0&&(s.max=typeof r.value=="number"?new SafeBigNumber(r.value).toString():r.value),s})}function C(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 be(e){return {address:e.address,share:e.share,isVerified:e.isVerified}}function u(e){return {chain:C(e.chain),name:e.name,symbol:e.symbol,address:e.address,decimals:e.decimals,image:e.imageUrl,description:e.description,creators:e.tokenCreators?.map(be),launchedFrom:{programAddress:e.extra?.launchFromProgramAddress,protocolFamily:e.extra?.launchFromProtocolFamily},migrateProgress:e.marketData.completionRatio?new SafeBigNumber(e.marketData.completionRatio).shiftedBy(2).toString():void 0,migratedTo:{programAddress:e.extra?.migratedToProgramAddress,protocolFamily:e.extra?.migratedToProtocolFamily,poolAddress:e.extra?.migratedToPoolAddress,migratedAt:e.extra?.migratedAt?new Date(e.extra.migratedAt):void 0},socialMedias:e.socialMedias?{...e.socialMedias}:void 0,stats:e.stats?W(e.stats):void 0,marketData:e.marketData?D(e.marketData):void 0,liquidities:e.liquidity?.map(ge),createdAt:e.tokenCreatedAt?new Date(e.tokenCreatedAt):void 0}}function W(e){return {"1m":k(e,"1m"),"5m":k(e,"5m"),"15m":k(e,"15m"),"30m":k(e,"30m"),"1h":k(e,"1h"),"4h":k(e,"4h"),"24h":k(e,"24h")}}function b(e){return e===void 0?void 0:parseInt(e)}function k(e,r){let s=e.periods?.[r];return s?{buys:b(s.buys),sells:b(s.sells),trades:b(s.trades),buyers:b(s.buyers),sellers:b(s.sellers),traders:b(s.traders),buyVolumes:s.buyVolume,sellVolumes:s.sellVolume,volumes:s.totalVolumeInNative,buyVolumesInUsd:s.buyVolumeInUsd,sellVolumesInUsd:s.sellVolumeInUsd,volumesInUsd:s.totalVolumeInUsd,openPriceInUsd:s.openInUsd,closePriceInUsd:s.closeInUsd,highPriceInUsd:s.highInUsd,lowPriceInUsd:s.lowInUsd,priceInUsd:s.closeInUsd,priceChange:s.priceChangeRatioInUsd}:{}}function ge(e){return {image:e.image,poolAddress:e.poolAddress,programAddress:e.programAddress,protocolFamily:e.protocolFamily,tvl:e.tvlInSol,tvlInUsd:e.tvlInUsd}}function D(e){return {totalSupply:e.totalSupply,marketCap:e.marketCapInSol,marketCapInUsd:e.marketCapInUsd,price:e.priceInSol,priceInUsd:e.priceInUsd,tvl:e.totalTvlInSol,tvlInUsd:e.totalTvlInUsd,holders:parseInt(e.holders),top10Holdings:e.top10TotalHoldings,top10HoldingsRatio:e.top10HoldingsRatio,top50Holdings:e.top50TotalHoldings,top50HoldingsRatio:e.top50HoldingsRatio,top100Holdings:e.top100TotalHoldings,top100HoldingsRatio:e.top100HoldingsRatio,bluechipHolders:e.bluechipTotalHolders===void 0?void 0:parseInt(e.bluechipTotalHolders),bluechipHoldings:e.bluechipTotalHoldings,bluechipHoldingsRatio:e.bluechipHoldingsRatio,kolHolders:e.kolTotalHolders===void 0?void 0:parseInt(e.kolTotalHolders),kolHoldings:e.kolTotalHoldings,kolHoldingsRatio:e.kolHoldingsRatio,sniperHolders:e.sniperTotalHolders===void 0?void 0:parseInt(e.sniperTotalHolders),sniperHoldings:e.sniperTotalHoldings,sniperHoldingsRatio:e.sniperHoldingsRatio,proHolders:e.proTotalHolders===void 0?void 0:parseInt(e.proTotalHolders),proHoldings:e.proTotalHoldings,proHoldingsRatio:e.proHoldingsRatio,insiderHolders:e.insiderTotalHolders===void 0?void 0:parseInt(e.insiderTotalHolders),insiderHoldings:e.insiderTotalHoldings,insiderHoldingsRatio:e.insiderHoldingsRatio,sandwichHolders:e.sandwishTotalHolders===void 0?void 0:parseInt(e.sandwishTotalHolders),sandwichHoldings:e.sandwishTotalHoldings,sandwichHoldingsRatio:e.sandwishHoldingsRatio,freshHolders:e.freshTotalHolders===void 0?void 0:parseInt(e.freshTotalHolders),freshHoldings:e.freshTotalHoldings,freshHoldingsRatio:e.freshHoldingsRatio,bundleHolders:e.bundleTotalHolders===void 0?void 0:parseInt(e.bundleTotalHolders),bundleHoldings:e.bundleTotalHoldings,bundleHoldingsRatio:e.bundleHoldingsRatio,devHolders:e.devTotalHolders===void 0?void 0:parseInt(e.devTotalHolders),devHoldings:e.devTotalHoldings,devHoldingsRatio:e.devHoldingsRatio}}function G(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:E(e.resolution),timestamp:new Date(e.time)}}function E(e){return e==="1d"?"24h":e}function K(e){return {hasTransferFee:e.hasTransferFee,isTransferFeeUpgradable:e.isTransferFeeUpgradable,isTransferable:e.isTransferable,isFreezable:e.isFreezable,isClosable:e.isClosable}}function $(e){return {dex:"jupiter",userAddress:e.userAddress,amount:e.amount,swapMode:e.mode===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 J(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(r=>({address:r.walletAddress,amount:r.amount,amountInUsd:r.amountInUsd,ratio:r.percentage}))}}function Q(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,total:e.total,data:e.data.map(u),extra:e.countsByProtocols}}function X(e){return {serializedTx:e.serializedTx,plans:[],extra:e.routeInfo}}function Y(e){return {txHash:e.signature,extra:{jobId:e.jobId,elapsedTime:e.elapsedTime}}}function Z(e,r){let s=(r.data??[]).map(o=>({chain:C(o.chain),address:o.tokenAddress,name:o.name,symbol:o.symbol,image:o.logoUri,priceInUsd:o.priceInUsd,priceInNative:o.priceInNative,amount:o.amount,amountInUsd:o.valueInUsd,amountInNative:o.valueInNative,decimals:o.decimals}));return {chain:s[0]?.chain??e,address:r.walletAddress,balanceInUsd:r.totalValueInUsd,balanceInNative:r.totalValueInNative,startCursor:r.startCursor,endCursor:r.endCursor,hasPrev:r.hasPrev,hasNext:r.hasNext,portfolios:s}}function ee(e,r,s){return {chain:e,address:r,tokens:s.tokens?Number(s.tokens):void 0,buys:s.buys?Number(s.buys):void 0,sells:s.sells?Number(s.sells):void 0,totalTrades:s.totalTrades?Number(s.totalTrades):void 0,wins:s.wins?Number(s.wins):void 0,losses:s.losses?Number(s.losses):void 0,winRate:s.winRate,buyAmountInUsd:s.buyAmountInUsd,sellAmountInUsd:s.sellAmountInUsd,totalCostInUsd:s.totalCostInUsd,realizedProfitInUsd:s.realizedProfitInUsd,realizedProfitRatio:s.realizedProfitRatio,unrealizedProfitInUsd:s.unrealizedProfitInUsd,unrealizedProfitRatio:s.unrealizedProfitRatio,totalProfitInUsd:s.totalProfitInUsd,totalProfitRatio:s.totalProfitRatio,avgProfitPerTradeInUsd:s.avgProfitPerTradeInUsd}}function se(e,r,s){let o=s.data.map(t=>({chain:e,address:t.tokenAddress,name:t.name,symbol:t.symbol,image:t.logoUri,amount:t.balance,amountInUsd:t.currentValue,priceInUsd:t.priceInUsd,decimals:t.decimals,totalTrades:Number(t.totalTrades),buys:Number(t.buys),buyVolumes:t.buyAmount,buyVolumesInUsd:t.buyAmountInUsd,buyAvgPriceInUsd:t.avgBuyPriceInUsd,sells:Number(t.sells),sellVolumes:t.sellAmount,sellVolumesInUsd:t.sellAmountInUsd,sellAvgPriceInUsd:t.avgSellPriceInUsd,realizedProfitInUsd:t.realizedProfitInUsd,realizedProfitRatio:t.realizedProfitRatio,unrealizedProfitInUsd:t.unrealizedProfitInUsd,unrealizedProfitRatio:t.unrealizedProfitRatio,totalProfitInUsd:t.totalProfitInUsd,totalProfitRatio:t.totalProfitRatio}));return {chain:e,address:r,tokens:Number(s.summary.tokens),buys:Number(s.summary.buys),sells:Number(s.summary.sells),totalTrades:Number(s.summary.totalTrades),wins:Number(s.summary.wins),losses:Number(s.summary.losses),winRate:s.summary.winRate,buyAmountInUsd:s.summary.buyAmountInUsd,sellAmountInUsd:s.summary.sellAmountInUsd,totalCostInUsd:s.summary.totalCostInUsd,realizedProfitInUsd:s.summary.realizedProfitInUsd,realizedProfitRatio:s.summary.realizedProfitRatio,unrealizedProfitInUsd:s.summary.unrealizedProfitInUsd,totalProfitInUsd:s.summary.totalProfitInUsd,startCursor:s.startCursor,endCursor:s.endCursor,hasPrev:s.hasPrev,hasNext:s.hasNext,portfolios:o}}function re(e,r){return (r.data??[]).map(s=>({chain:C(s.chain),address:s.tokenAddress,name:s.name,symbol:s.symbol,image:s.logoUri,priceInUsd:s.priceInUsd,priceInNative:s.priceInNative,amount:s.amount,amountInUsd:s.valueInUsd,amountInNative:s.valueInNative,decimals:s.decimals}))}function oe(e,r){return r.data.map(s=>({chain:e,address:s.tokenAddress,name:s.name,symbol:s.symbol,image:s.logoUri,amount:s.balance,amountInUsd:s.currentValue,priceInUsd:s.priceInUsd,decimals:s.decimals,totalTrades:Number(s.totalTrades),buys:Number(s.buys),buyVolumes:s.buyAmount,buyVolumesInUsd:s.buyAmountInUsd,buyAvgPriceInUsd:s.avgBuyPriceInUsd,sells:Number(s.sells),sellVolumes:s.sellAmount,sellVolumesInUsd:s.sellAmountInUsd,sellAvgPriceInUsd:s.avgSellPriceInUsd,realizedProfitInUsd:s.realizedProfitInUsd,realizedProfitRatio:s.realizedProfitRatio,unrealizedProfitInUsd:s.unrealizedProfitInUsd,unrealizedProfitRatio:s.unrealizedProfitRatio,totalProfitInUsd:s.totalProfitInUsd,totalProfitRatio:s.totalProfitRatio}))}function x(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(he)}}function he(e){let r=e.type.toLowerCase()==="buy";return {chain:C(e.chain),walletAddress:e.accountOwnerAddress,txHash:e.transactionSignature,type:r?"buy":"sell",from:{address:r?e.sideTokenAddress:e.tokenAddress,symbol:r?e.sideTokenSymbol:e.tokenSymbol,name:r?e.sideTokenName:e.tokenName,image:r?e.sideTokenImageUrl:e.tokenImageUrl,amount:r?e.sideTokenAmount:e.tokenAmount,amountInUsd:r?e.sideTokenAmountInUsd:e.tokenAmountInUsd,priceInUsd:r?e.sideTokenPriceInUsd:e.tokenPriceInUsd},to:{address:r?e.tokenAddress:e.sideTokenAddress,symbol:r?e.tokenSymbol:e.sideTokenSymbol,name:r?e.tokenName:e.sideTokenName,image:r?e.tokenImageUrl:e.sideTokenImageUrl,amount:r?e.tokenAmount:e.sideTokenAmount,amountInUsd:r?e.tokenAmountInUsd:e.sideTokenAmountInUsd,priceInUsd:r?e.tokenPriceInUsd:e.sideTokenPriceInUsd},dex:{programAddress:e.dexProgramAddress,protocolFamily:e.dexProtocolFamily,image:e.dexImage},poolAddress:e.poolAddress,status:e.status??"success",time:new Date(e.blockTimestamp*1e3)}}function te(e,r){return {chain:e,address:r.tokenAddress,name:r.name,symbol:r.symbol,decimals:r.decimals,createdAt:r.createdAtMs?new Date(r.createdAtMs):void 0,launchedFrom:r.launchFrom?{programAddress:r.launchFrom.programAddress,protocolFamily:r.launchFrom.protocolFamily}:void 0}}function ne(e,r){return {chain:e,address:r.tokenAddress,name:r.name,symbol:r.symbol,decimals:r.decimals,image:r.imageUrl,description:r.description,socialMedias:r.socialMedia?{...r.socialMedia}:void 0,createdAt:r.createdAtMs?new Date(r.createdAtMs):void 0,launchedFrom:r.launchFrom?{programAddress:r.launchFrom.programAddress,protocolFamily:r.launchFrom.protocolFamily}:void 0,migratedTo:r.migratedTo?{programAddress:r.migratedTo.programAddress,protocolFamily:r.migratedTo.protocolFamily}:void 0}}function ae(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:E(e.resolution),timestamp:new Date(e.time)}}function ye(e){let r=["1m","5m","15m","30m","1h","4h","24h"],s=e,o={};for(let t of r){let i=s[`buys${t}`],a=s[`sells${t}`],d=s[`buyers${t}`],w=s[`sellers${t}`],H=s[`buyVolumeInUsd${t}`],R=s[`sellVolumeInUsd${t}`],M=s[`trades${t}`],L=s[`price${t}`],P=s[`openInUsd${t}`],U=s[`closeInUsd${t}`];if(!(i!==void 0||a!==void 0||M!==void 0||L!==void 0))continue;let ce=M??(i!==void 0&&a!==void 0?i+a:void 0),ue=d!==void 0&&w!==void 0?d+w:void 0,me=H!==void 0&&R!==void 0?new SafeBigNumber(H).plus(R).toString():void 0,Te=P&&U&&new SafeBigNumber(P).gt(0)?new SafeBigNumber(U).minus(P).div(P).toString():void 0;o[t]={buys:i,sells:a,trades:ce,buyers:d,sellers:w,traders:ue,buyVolumesInUsd:H,sellVolumesInUsd:R,volumesInUsd:me,openPriceInUsd:P,closePriceInUsd:U,priceInUsd:L??U,priceChange:Te};}return o}function Ie(e){return {priceInUsd:e.price}}function B(e,r){return {chain:e,address:r.address,stats:ye(r),marketData:Ie(r)}}function N(e,r,s){return {chain:e,address:r,marketData:{totalSupply:s.supply,marketCapInUsd:s.marketCapInUsd}}}function _(e,r,s){return {chain:e,address:r,marketData:Pe(s)}}function p(e,r,s){return s.metricType===WsMetricType.LIQUIDITY_IN_USD?{chain:e,address:r,marketData:{tvlInUsd:s.value}}:s.metricType===WsMetricType.MIGRATED_RATIO?{chain:e,address:r,migrateProgress:new SafeBigNumber(s.value).shiftedBy(2).toString()}:{chain:e,address:r}}function F(e,r){return {chain:e,address:r.tokenAddress??"",migrateProgress:r.progressRatio?new SafeBigNumber(r.progressRatio).shiftedBy(2).toString():void 0}}function ie(e,r,s){return {chain:e,address:r,liquidities:[{poolAddress:s.poolAddress,tvlInUsd:s.liquidityInUsd,tvl:s.liquidityInNative}]}}function le(e,r,s){return {chain:e,address:r,marketData:{tvlInUsd:s.liquidityInUsd,tvl:s.liquidityInNative}}}function Pe(e){return {holders:e.holders,top10Holdings:e.top10HoldersAmount,top10HoldingsRatio:e.top10HoldersRatio,top50Holdings:e.top50HoldersAmount,top50HoldingsRatio:e.top50HoldersRatio,top100Holdings:e.top100HoldersAmount,top100HoldingsRatio:e.top100HoldersRatio,devHolders:e.balanceTagDevHolders===void 0?void 0:e.balanceTagDevHolders,devHoldings:e.balanceTagDevAmount,devHoldingsRatio:e.balanceTagDevRatio,sniperHolders:e.balanceTagSniperHolders===void 0?void 0:e.balanceTagSniperHolders,sniperHoldings:e.balanceTagSniperAmount,sniperHoldingsRatio:e.balanceTagSniperRatio,freshHolders:e.balanceTagFreshHolders===void 0?void 0:e.balanceTagFreshHolders,freshHoldings:e.balanceTagFreshAmount,freshHoldingsRatio:e.balanceTagFreshRatio,bundleHolders:e.balanceTagBundleHolders===void 0?void 0:e.balanceTagBundleHolders,bundleHoldings:e.balanceTagBundleAmount,bundleHoldingsRatio:e.balanceTagBundleRatio,sandwichHolders:e.balanceTagSandwichHolders===void 0?void 0:e.balanceTagSandwichHolders,sandwichHoldings:e.balanceTagSandwichAmount,sandwichHoldingsRatio:e.balanceTagSandwichRatio}}function O(e,r){let s=r.kind.toLowerCase()==="buy";return {chain:e,walletAddress:s?r.buyWalletAddress:r.sellWalletAddress,txHash:r.txHash,type:s?"buy":"sell",from:{address:r.sellTokenAddress,symbol:r.sellTokenSymbol,name:r.sellTokenName,amount:r.sellAmount,amountInUsd:r.sellAmountInUsd},to:{address:r.buyTokenAddress,symbol:r.buyTokenSymbol,name:r.buyTokenName,amount:r.buyAmount,amountInUsd:r.buyAmountInUsd},status:"success",time:new Date(r.timestamp)}}var de=class{constructor(r,s){this.accessToken=r;this.options=s;this._client=new ChainStreamClient(this.accessToken,this.options);}_client;async getToken(r,s){let o=await this._client.token.getToken(l(r),s);return u(o)}async getTokens(r,s){return (await this._client.token.getTokens(l(r),{tokenAddresses:s.join(",")})).map(u)}async getTokenCandles(r,s,o,t){return (await this._client.token.getCandles(l(r),s,{resolution:v(o),from:t?.after?.getTime(),to:t?.before?.getTime(),limit:t?.limit})).map(G)}async getTokenSecurity(r,s){let o=await this._client.token.getSecurity(l(r),s);return K(o)}async getTokenStats(r,s){let o=await this._client.token.getStats(l(r),s);return W(o)}async getTokenHolders(r,s,o){let t=await this._client.token.getHolders(l(r),s,{cursor:o?.cursor,limit:o?.limit,direction:o?.direction});return J(t)}async getTokenMarketData(r,s){let o=await this._client.token.getMarketData(l(r),s);return D(o)}async getNewTokens(r,s){return (await this._client.ranking.getNewTokens(l(r),{sortBy:s?.sortBy?f(s.sortBy):void 0,sortDirection:s?.sortDirection?y(s.sortDirection):void 0,rangeFilters:s?.filters?I(s.filters):void 0,launchpadPlatform:s?.filters?S(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async getFinalStretchTokens(r,s){return (await this._client.ranking.getFinalStretchTokens(l(r),{sortBy:s?.sortBy?f(s.sortBy):void 0,sortDirection:s?.sortDirection?y(s.sortDirection):void 0,rangeFilters:s?.filters?I(s.filters):void 0,launchpadPlatform:s?.filters?S(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async getMigratedTokens(r,s){return (await this._client.ranking.getMigratedTokens(l(r),{sortBy:s?.sortBy?f(s.sortBy):void 0,sortDirection:s?.sortDirection?y(s.sortDirection):void 0,rangeFilters:s?.filters?I(s.filters):void 0,launchpadPlatform:s?.filters?S(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async getTrendingTokens(r,s,o){return (await this._client.ranking.getHotTokens(l(r),s,{sortBy:o?.sortBy?f(o.sortBy):void 0,sortDirection:o?.sortDirection?y(o.sortDirection):void 0,rangeFilters:o?.filters?I(o.filters):void 0,launchpadPlatform:o?.filters?S(o.filters):void 0,searchKeywords:o?.keywords,excludeKeywords:o?.excludeKeywords})).map(u)}async getStockTokens(r,s){return (await this._client.ranking.getStocksTokens(l(r),{sortBy:s?.sortBy?f(s.sortBy):void 0,sortDirection:s?.sortDirection?y(s.sortDirection):void 0,rangeFilters:s?.filters?I(s.filters):void 0,launchpadPlatform:s?.filters?S(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async searchTokens(r){let s=await this._client.token.search({chains:r?.chains?.map(l),q:r?.keyword,limit:r?.limit,cursor:r?.cursor,sortBy:r?.sortBy?q(r.sortBy):void 0,sort:r?.sortDirection});return Q(s)}async swapRoute(r){let s=await this._client.dex.route(l(r.chain),$(r));return X(s)}async sendTx(r){let s=await this._client.transaction.send(l(r.chain),j(r));return Y(s)}async checkTxSuccess(r,s,o){let{result:t}=await this._client.waitForJob(s,o);return t.success}async getWalletPortfolios(r,s,o){let t=await this._client.wallet.getNetWorth(l(r),s,{cursor:o?.cursor,limit:o?.limit??100});return Z(r,t)}async getWalletPnl(r,s,o){let t=await this._client.wallet.getPnl(l(r),s,o?{resolution:o}:void 0);return ee(r,s,t)}async getWalletPortfolioPnls(r,s,o){let t=await this._client.wallet.getPnlDetails(l(r),s,{cursor:o?.cursor,limit:o?.limit??100});return se(r,s,t)}async getWalletPortfoliosByTokens(r,s,o){let t=await this._client.wallet.getNetWorthByTokens(l(r),s,{tokenAddresses:o.join(",")});return re(r,t)}async getWalletPortfolioPnlsByTokens(r,s,o){let t=await this._client.wallet.getPnlByToken(l(r),s,{tokenAddresses:o.join(",")});return oe(r,t)}async getWalletTradeActivities(r,s,o){let t=await this._client.trade.getTrades(l(r),{walletAddress:s,cursor:o?.cursor,limit:o?.limit,direction:o?.direction,beforeTimestamp:o?.before?.getTime(),afterTimestamp:o?.after?.getTime(),beforeBlockHeight:o?.beforeBlockHeight,afterBlockHeight:o?.afterBlockHeight,poolAddress:o?.poolAddress,type:o?.type?o.type.toUpperCase():void 0});return x(t)}async getTokenTradeActivities(r,s,o){let t=await this._client.trade.getTrades(l(r),{tokenAddress:s,cursor:o?.cursor,limit:o?.limit,direction:o?.direction,beforeTimestamp:o?.before?.getTime(),afterTimestamp:o?.after?.getTime(),beforeBlockHeight:o?.beforeBlockHeight,afterBlockHeight:o?.afterBlockHeight,poolAddress:o?.poolAddress,type:o?.type?o.type.toUpperCase():void 0});return x(t)}async getPresignedUploadUrl(){return await this._client.ipfs.presign()}subscribeToken(r,s,o){let t=l(r),i=[this._client.stream.subscribeTokenStats({chain:t,tokenAddress:s,callback:a=>o([B(r,a)])}),this._client.stream.subscribeTokenSupply({chain:t,tokenAddress:s,callback:a=>o([N(r,s,a)])}),this._client.stream.subscribeTokenHolders({chain:t,tokenAddress:s,callback:a=>o([_(r,s,a)])}),this._client.stream.subscribeTokenLiquidity({chain:t,tokenAddress:s,callback:a=>o([p(r,s,a)])}),this._client.stream.subscribeTokenMaxLiquidity({chain:t,tokenAddress:s,callback:a=>o([ie(r,s,a)])}),this._client.stream.subscribeTokenTotalLiquidity({chain:t,tokenAddress:s,callback:a=>o([le(r,s,a)])})];return {unsubscribe:()=>i.forEach(a=>a.unsubscribe())}}subscribeTokenCandles(r,s,o,t){return this._client.stream.subscribeTokenCandles({chain:l(r),tokenAddress:s,resolution:v(o),callback:i=>t([ae(i)])})}subscribeWalletPnl(r,s,o){return this._client.stream.subscribeWalletPnlList({chain:l(r),walletAddress:s,callback:t=>o(t.map(i=>({chain:r,address:i.walletAddress,buys:i.buys,buyAmountInUsd:i.buyAmountInUsd,sells:i.sells,sellAmountInUsd:i.sellAmountInUsd,wins:i.wins,winRate:i.winRatio,totalProfitInUsd:i.pnlInUsd,totalProfitRatio:i.pnlRatio,avgProfitPerTradeInUsd:i.averagePnlInUsd,tokens:i.tokens,resolution:i.resolution})))})}subscribeWalletPortfolios(r,s,o){return this._client.stream.subscribeWalletBalance({chain:l(r),walletAddress:s,callback:t=>o(t.map(i=>({chain:r,walletAddress:i.walletAddress,tokenAddress:i.tokenAddress,priceInUsd:i.tokenPriceInUsd,amount:i.balance})))})}subscribeWalletPortfolioPnls(r,s,o){return this._client.stream.subscribeWalletPnl({chain:l(r),walletAddress:s,callback:t=>o([{chain:r,walletAddress:t.walletAddress,tokenAddress:t.tokenAddress,openTime:t.opentime?new Date(t.opentime):void 0,closeTime:t.closetime?new Date(t.closetime):void 0,buys:t.buyCount,buyVolumes:t.buyAmount,buyVolumesInUsd:t.buyAmountInUsd,buyAvgPriceInUsd:t.averageBuyPriceInUsd,sells:t.sellCount,sellVolumes:t.sellAmount,sellVolumesInUsd:t.sellAmountInUsd,sellAvgPriceInUsd:t.averageSellPriceInUsd,realizedProfitInUsd:t.realizedProfitInUsd,realizedProfitRatio:t.realizedProfitRatio,unrealizedProfitInUsd:t.unrealizedProfitInUsd,unrealizedProfitRatio:t.unrealizedProfitRatio,totalProfitInUsd:t.totalRealizedProfitInUsd,totalProfitRatio:t.totalRealizedProfitRatio}])})}subscribeWalletTradeActivities(r,s,o){return this._client.stream.subscribeWalletTrade({chain:l(r),walletAddress:s,callback:t=>o([O(r,t)])})}subscribeTokenTradeActivities(r,s,o){return this._client.stream.subscribeTokenTrade({chain:l(r),tokenAddress:s,callback:t=>o([O(r,t)])})}subscribeNewTokens(r,s){let o=l(r),t=this._subscribeRankingTokens(r,WsChannelType.New,s),i=[this._client.stream.subscribeNewToken({chain:o,callback:a=>s([te(r,a)])}),this._client.stream.subscribeNewTokensMetadata({chain:o,callback:a=>s(a.map(d=>ne(r,d)))}),this._client.stream.subscribeRankingTokensBondingCurve({chain:o,callback:a=>s(a.map(d=>F(r,d)))})];return {unsubscribe:()=>{t.unsubscribe(),i.forEach(a=>a.unsubscribe());}}}subscribeTrendingTokens(r,s){return this._subscribeRankingTokens(r,WsChannelType.HOT,s)}subscribeMigratedTokens(r,s){return this._subscribeRankingTokens(r,WsChannelType.GRADUATED,s)}subscribeFinalStretchTokens(r,s){let o=l(r),t=this._subscribeRankingTokens(r,WsChannelType.COMPLETED,s),i=this._client.stream.subscribeRankingTokensBondingCurve({chain:o,callback:a=>s(a.map(d=>F(r,d)))});return {unsubscribe:()=>{t.unsubscribe(),i.unsubscribe();}}}subscribeStockTokens(r,s){return this._subscribeRankingTokens(r,WsChannelType.US_STOCKS,s)}_subscribeRankingTokens(r,s,o){let t=l(r),i=[this._client.stream.subscribeRankingTokensStats({chain:t,channelType:s,callback:a=>o(a.map(d=>B(r,d)))}),this._client.stream.subscribeRankingTokensHolders({chain:t,channelType:s,callback:a=>o(a.map(d=>_(r,d.tokenAddress,d)))}),this._client.stream.subscribeRankingTokensSupply({chain:t,channelType:s,callback:a=>o(a.map(d=>N(r,d.tokenAddress,d)))}),this._client.stream.subscribeRankingTokensLiquidity({chain:t,channelType:s,callback:a=>o(a.map(d=>p(r,d.tokenAddress,d)))})];return {unsubscribe:()=>i.forEach(a=>a.unsubscribe())}}};function S(e){let r=e.find(s=>s.field==="launchedFromProtocolFamily");if(r){if(r.operator==="eq")return [r.value];if(r.operator==="in")return r.value;console.warn("invalid launchedFromProtocolFamily filter",r);}}export{de as Client,ke as version};//# sourceMappingURL=index.mjs.map
2
2
  //# sourceMappingURL=index.mjs.map