@liberfi.io/client 0.1.27 → 0.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -14,7 +14,7 @@ declare global {
14
14
  };
15
15
  }
16
16
  }
17
- declare const _default: "0.1.27";
17
+ declare const _default: "0.1.28";
18
18
 
19
19
  interface DexClientContextValue {
20
20
  client: API.IClient;
package/dist/index.d.ts CHANGED
@@ -14,7 +14,7 @@ declare global {
14
14
  };
15
15
  }
16
16
  }
17
- declare const _default: "0.1.27";
17
+ declare const _default: "0.1.28";
18
18
 
19
19
  interface DexClientContextValue {
20
20
  client: API.IClient;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var react=require('react'),reactQuery=require('@tanstack/react-query'),sdk=require('@chainstream-io/sdk'),types=require('@liberfi.io/types'),utils=require('@liberfi.io/utils'),jsxRuntime=require('react/jsx-runtime');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/client"]="0.1.27");var ue="0.1.27";var p=react.createContext({});function o(){let e=react.useContext(p);if(!e)throw new Error("useDexClient must be used within an DexClientProvider");return e}function Te(e){return ["finalStretchTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function ke(e,{chain:r,...t}){return await e.getFinalStretchTokens(r,t)}function At(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Te(e),queryFn:async()=>ke(t,e),...r})}function he(e){return ["migratedTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function Pe(e,{chain:r,...t}){return await e.getMigratedTokens(r,t)}function pt(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:he(e),queryFn:async()=>Pe(t,e),...r})}function Ae(e){return ["newTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function Se(e,{chain:r,...t}){return await e.getNewTokens(r,t)}function vt(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Ae(e),queryFn:async()=>Se(t,e),...r})}async function Ce(e){return await e.getPresignedUploadUrl()}function Ft(e={}){let{client:r}=o();return reactQuery.useQuery({queryKey:["presignedUploadUrl"],queryFn:async()=>Ce(r),staleTime:0,...e})}function pe(e){return ["searchTokens",e.cursor??"",e.limit?`${e.limit}`:"",e.direction??"",JSON.stringify((e.chains??[]).sort()),e.keyword??"",JSON.stringify(e.filters??[]),e.sortBy??"",e.sortDirection??""]}async function Ue(e,r){return await e.searchTokens(r)}function Kt(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:pe(e),queryFn:async()=>Ue(t,e),...r})}async function De(e,r){return await e.sendTx(r)}function Gt(e={}){let{client:r}=o();return reactQuery.useMutation({mutationFn:async t=>De(r,t),...e})}function ve(e){return ["stockTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function Qe(e,{chain:r,...t}){return await e.getStockTokens(r,t)}function Xt(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:ve(e),queryFn:async()=>Qe(t,e),...r})}function We(e){return ["swapRoute",e.chain,e.userAddress,e.input,e.output,e.mode,e.amount,e.slippage?`${e.slippage}`:"",e.priorityFee??"",e.tipFee??"",e.isAntiMev!==void 0?`${e.isAntiMev}`:""]}async function Oe(e,r){return await e.swapRoute(r)}function ts(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:We(e),queryFn:async()=>Oe(t,e),...r})}function Ne(e){return ["tokenCandles",e.chain,e.address,e.resolution,e.after?.toString()??"",e.before?.toString()??"",e.limit?`${e.limit}`:""]}async function Me(e,{chain:r,address:t,resolution:s,...n}){return await e.getTokenCandles(r,t,s,n)}function is(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Ne(e),queryFn:async()=>Me(t,e),...r})}function Be(e){return ["tokenHolders",e.chain,e.address,e.cursor??"",e.limit?`${e.limit}`:"",e.direction??""]}async function Ke(e,{chain:r,address:t,...s}){return await e.getTokenHolders(r,t,s)}function ms(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Be(e),queryFn:async()=>Ke(t,e),...r})}function _e(e){return ["tokenMarketData",e.chain,e.address]}async function Le(e,{chain:r,address:t}){return await e.getTokenMarketData(r,t)}function bs(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:_e(e),queryFn:async()=>Le(t,e),...r})}function Ge(e){return ["token",e.chain,e.address]}async function ze(e,{chain:r,address:t}){return await e.getToken(r,t)}function Ss(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Ge(e),queryFn:async()=>ze(t,e),...r})}function Je(e){return ["tokenSecurity",e.chain,e.address]}async function je(e,{chain:r,address:t}){return await e.getTokenSecurity(r,t)}function Us(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Je(e),queryFn:async()=>je(t,e),...r})}function Ye(e){return ["tokens",e.chain,e.addresses.sort().join(",")]}async function Ze(e,{chain:r,addresses:t}){return await e.getTokens(r,t)}function Qs(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Ye(e),queryFn:async()=>Ze(t,e),...r})}function rr(e){return ["tokenStats",e.chain,e.address]}async function tr(e,{chain:r,address:t}){return await e.getTokenStats(r,t)}function Ns(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:rr(e),queryFn:async()=>tr(t,e),...r})}function nr(e){return ["tokenTradeActivities",e.chain,e.address,e.before?.toString()??"",e.after?.toString()??"",e.beforeBlockHeight?`${e.beforeBlockHeight}`:"",e.afterBlockHeight?`${e.afterBlockHeight}`:"",e.type??"",e.poolAddress??""]}async function or(e,{chain:r,address:t,...s}){return await e.getTokenTradeActivities(r,t,s)}function Es(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:nr(e),queryFn:async()=>or(t,e),...r})}function ir(e){return ["trendingTokens",e.chain,e.resolution,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function lr(e,{chain:r,resolution:t,...s}){return await e.getTrendingTokens(r,t,s)}function zs(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:ir(e),queryFn:async()=>lr(t,e),...r})}function cr(e){return ["txSuccess",e.chain,e.txHash,e.timeout?`${e.timeout}`:""]}async function ur(e,{chain:r,txHash:t,timeout:s}){return await e.checkTxSuccess(r,t,s)}function Ys(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:cr(e),queryFn:async()=>ur(t,e),...r})}function fr(e){return ["walletPnl",e.chain,e.address,e.resolution??"all"]}async function yr(e,{chain:r,address:t,resolution:s}){return await e.getWalletPnl(r,t,s)}function sn(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:fr(e),queryFn:async()=>yr(t,e),...r})}function kr(e){return ["walletPortfolioPnls",e.chain,e.address]}async function br(e,{chain:r,address:t,cursor:s,limit:n}){return await e.getWalletPortfolioPnls(r,t,{cursor:s,limit:n})}function dn(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:kr(e),queryFn:async()=>br(t,e),...r})}function Pr(e){return ["walletPortfolios",e.chain,e.address]}async function gr(e,{chain:r,address:t}){return await e.getWalletPortfolios(r,t)}function yn(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Pr(e),queryFn:async()=>gr(t,e),...r})}function Sr(e){return ["walletTradeActivities",e.chain,e.address,e.before?.toString()??"",e.after?.toString()??"",e.beforeBlockHeight?`${e.beforeBlockHeight}`:"",e.afterBlockHeight?`${e.afterBlockHeight}`:"",e.type??"",e.poolAddress??""]}async function Ir(e,{chain:r,address:t,...s}){return await e.getWalletTradeActivities(r,t,s)}function Pn(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Sr(e),queryFn:async()=>Ir(t,e),...r})}function In(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTokenStats(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function Un(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTokenCandles(e.chain,e.address,e.resolution,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,e.resolution,t?.enabled]);}function vn(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTokenMarketData(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function On(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTokenTradeActivities(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function qn(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeWalletPnl(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function _n(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeWalletPortfolios(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function zn(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeWalletPortfolioPnls(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function Xn(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeWalletTradeActivities(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function ro(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokens(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function oo(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokensBasic(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function co(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokensMarketData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function yo(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokensStats(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function ho(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function So(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeMigratedTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function po(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeFinalStretchTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function Ro(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTrendingTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function Wo(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeStockTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function d(e){switch(e){case types.Chain.ETHEREUM:return sdk.ChainSymbol.eth;case types.Chain.BINANCE:return sdk.ChainSymbol.bsc;case types.Chain.SOLANA:return sdk.ChainSymbol.sol}throw new Error(`Unsupported chain: ${e}`)}function H(e){switch(e){case "1s":return sdk.Resolution["1s"];case "15s":return sdk.Resolution["15s"];case "30s":return sdk.Resolution["30s"];case "1m":return sdk.Resolution["1m"];case "5m":return sdk.Resolution["5m"];case "15m":return sdk.Resolution["15m"];case "30m":case "1h":return sdk.Resolution["1h"];case "4h":return sdk.Resolution["4h"];case "12h":return sdk.Resolution["12h"];case "24h":return sdk.Resolution["1d"]}}function g(e){switch(e){case "asc":return "ASC";case "desc":return "DESC"}}function E(e){switch(e){case "marketCap":return sdk.SearchSortBy.marketCapInUsd;case "tvl":return sdk.SearchSortBy.liquidityInUsd;case "price":return sdk.SearchSortBy.priceInUsd;case "holders":return sdk.SearchSortBy.holderCount;case "volumes24h":return sdk.SearchSortBy.h24VolumeInUsd;case "trades24h":return sdk.SearchSortBy.h24Transactions;case "createdAt":return sdk.SearchSortBy.tokenCreatedAt}throw new Error(`Unsupported search field: ${e}`)}function T(e){switch(e){case "price":return sdk.GetNewTokensSortBy.marketDatapriceInUsd;case "priceChange1m":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd1m;case "priceChange5m":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd5m;case "priceChange1h":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd1h;case "priceChange4h":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd4h;case "priceChange24h":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd24h;case "marketCap":return sdk.GetNewTokensSortBy.marketDatamarketCapInUsd;case "tvl":return sdk.GetNewTokensSortBy.marketDatamaxPoolTvlInUsd;case "top10Holdings":return sdk.GetNewTokensSortBy.marketDatatop10TotalHoldings;case "top10Ratio":return sdk.GetNewTokensSortBy.marketDatatop10HoldingsRatio;case "top100Holdings":return sdk.GetNewTokensSortBy.marketDatatop100TotalHoldings;case "top100Ratio":return sdk.GetNewTokensSortBy.marketDatatop100HoldingsRatio;case "holders":return sdk.GetNewTokensSortBy.marketDataholders;case "creatorsHoldings":return sdk.GetNewTokensSortBy.marketDatacreatorHoldings;case "creatorsRatio":return sdk.GetNewTokensSortBy.marketDatacreatorHoldingsRatio;case "buys1m":return sdk.GetNewTokensSortBy.statsbuys1m;case "buys5m":return sdk.GetNewTokensSortBy.statsbuys5m;case "buys15m":return sdk.GetNewTokensSortBy.statsbuys15m;case "buys30m":return sdk.GetNewTokensSortBy.statsbuys30m;case "buys1h":return sdk.GetNewTokensSortBy.statsbuys1h;case "buys4h":return sdk.GetNewTokensSortBy.statsbuys4h;case "buys24h":return sdk.GetNewTokensSortBy.statsbuys24h;case "sells1m":return sdk.GetNewTokensSortBy.statssells1m;case "sells5m":return sdk.GetNewTokensSortBy.statssells5m;case "sells15m":return sdk.GetNewTokensSortBy.statssells15m;case "sells30m":return sdk.GetNewTokensSortBy.statssells30m;case "sells1h":return sdk.GetNewTokensSortBy.statssells1h;case "sells4h":return sdk.GetNewTokensSortBy.statssells4h;case "sells24h":return sdk.GetNewTokensSortBy.statssells24h;case "trades1m":return sdk.GetNewTokensSortBy.statstrades1m;case "trades5m":return sdk.GetNewTokensSortBy.statstrades5m;case "trades1h":return sdk.GetNewTokensSortBy.statstrades1h;case "trades4h":return sdk.GetNewTokensSortBy.statstrades4h;case "trades24h":return sdk.GetNewTokensSortBy.statstrades24h;case "traders1m":return sdk.GetNewTokensSortBy.statstraders1m;case "traders5m":return sdk.GetNewTokensSortBy.statstraders5m;case "traders1h":return sdk.GetNewTokensSortBy.statstraders1h;case "traders4h":return sdk.GetNewTokensSortBy.statstraders4h;case "traders24h":return sdk.GetNewTokensSortBy.statstraders24h;case "volumes1m":return sdk.GetNewTokensSortBy.statsvolumesInUsd1m;case "volumes5m":return sdk.GetNewTokensSortBy.statsvolumesInUsd5m;case "volumes1h":return sdk.GetNewTokensSortBy.statsvolumesInUsd1h;case "volumes4h":return sdk.GetNewTokensSortBy.statsvolumesInUsd4h;case "volumes24h":return sdk.GetNewTokensSortBy.statsvolumesInUsd24h;case "createdAt":return sdk.GetNewTokensSortBy.tokenCreatedAt}throw new Error(`Unsupported sortBy: ${e}`)}function A(e){return e.filter(r=>["gt","gte","lt","lte","between"].indexOf(r.operator)>=0).map(r=>{let t={field:T(r.field)};return ["gt","gte","between"].indexOf(r.operator)>=0&&(t.min=typeof r.value=="number"?new utils.SafeBigNumber(r.value).toString():r.value),["lt","lte","between"].indexOf(r.operator)>=0&&(t.max=typeof r.value=="number"?new utils.SafeBigNumber(r.value).toString():r.value),t})}function W(e){switch(e){case sdk.ChainSymbol.eth:return types.Chain.ETHEREUM;case sdk.ChainSymbol.bsc:return types.Chain.BINANCE;case sdk.ChainSymbol.sol:case "solana":return types.Chain.SOLANA}throw new Error(`Unsupported chain: ${e}`)}function ot(e){return {address:e.address,share:e.share,isVerified:e.isVerified}}function u(e){return {chain:W(e.chain),name:e.name,symbol:e.symbol,address:e.address,decimals:e.decimals,image:e.imageUrl,description:e.description,creators:e.tokenCreators?.map(ot),launchedFrom:{programAddress:e.extra?.launchFromProgramAddress,protocolFamily:e.extra?.launchFromProtocolFamily},migrateProgress:e.marketData.completionRatio?new utils.SafeBigNumber(e.marketData.completionRatio).shiftedBy(2).toString():void 0,migratedTo:{programAddress:e.extra?.migratedToProgramAddress,protocolFamily:e.extra?.migratedToProtocolFamily,poolAddress:e.extra?.migratedToPoolAddress,migratedAt:e.extra?.migratedAt?new Date(e.extra.migratedAt):void 0},socialMedias:e.socialMedias?{...e.socialMedias}:void 0,stats:e.stats?O(e.stats):void 0,marketData:e.marketData?F(e.marketData):void 0,liquidities:e.liquidity?.map(at),createdAt:e.tokenCreatedAt?new Date(e.tokenCreatedAt):void 0}}function O(e){return {"1m":f(e,"1m"),"5m":f(e,"5m"),"15m":f(e,"15m"),"30m":f(e,"30m"),"1h":f(e,"1h"),"4h":f(e,"4h"),"24h":f(e,"24h")}}function b(e){return e===void 0?void 0:parseInt(e)}function f(e,r){let t=e.periods?.[r];return t?{buys:b(t.buys),sells:b(t.sells),trades:b(t.trades),buyers:b(t.buyers),sellers:b(t.sellers),traders:b(t.traders),buyVolumes:t.buyVolume,sellVolumes:t.sellVolume,volumes:t.totalVolumeInNative,buyVolumesInUsd:t.buyVolumeInUsd,sellVolumesInUsd:t.sellVolumeInUsd,volumesInUsd:t.totalVolumeInUsd,openPriceInUsd:t.openInUsd,closePriceInUsd:t.closeInUsd,highPriceInUsd:t.highInUsd,lowPriceInUsd:t.lowInUsd,priceInUsd:t.closeInUsd,priceChange:t.priceChangeRatioInUsd}:{}}function at(e){return {image:e.image,poolAddress:e.poolAddress,programAddress:e.programAddress,protocolFamily:e.protocolFamily,tvl:e.tvlInSol,tvlInUsd:e.tvlInUsd}}function F(e){return {totalSupply:e.totalSupply,marketCap:e.marketCapInSol,marketCapInUsd:e.marketCapInUsd,price:e.priceInSol,priceInUsd:e.priceInUsd,tvl:e.totalTvlInSol,tvlInUsd:e.totalTvlInUsd,holders:parseInt(e.holders),top10Holdings:e.top10TotalHoldings,top10HoldingsRatio:e.top10HoldingsRatio,top50Holdings:e.top50TotalHoldings,top50HoldingsRatio:e.top50HoldingsRatio,top100Holdings:e.top100TotalHoldings,top100HoldingsRatio:e.top100HoldingsRatio,bluechipHolders:e.bluechipTotalHolders===void 0?void 0:parseInt(e.bluechipTotalHolders),bluechipHoldings:e.bluechipTotalHoldings,bluechipHoldingsRatio:e.bluechipHoldingsRatio,kolHolders:e.kolTotalHolders===void 0?void 0:parseInt(e.kolTotalHolders),kolHoldings:e.kolTotalHoldings,kolHoldingsRatio:e.kolHoldingsRatio,sniperHolders:e.sniperTotalHolders===void 0?void 0:parseInt(e.sniperTotalHolders),sniperHoldings:e.sniperTotalHoldings,sniperHoldingsRatio:e.sniperHoldingsRatio,proHolders:e.proTotalHolders===void 0?void 0:parseInt(e.proTotalHolders),proHoldings:e.proTotalHoldings,proHoldingsRatio:e.proHoldingsRatio,insiderHolders:e.insiderTotalHolders===void 0?void 0:parseInt(e.insiderTotalHolders),insiderHoldings:e.insiderTotalHoldings,insiderHoldingsRatio:e.insiderHoldingsRatio,sandwichHolders:e.sandwishTotalHolders===void 0?void 0:parseInt(e.sandwishTotalHolders),sandwichHoldings:e.sandwishTotalHoldings,sandwichHoldingsRatio:e.sandwishHoldingsRatio,freshHolders:e.freshTotalHolders===void 0?void 0:parseInt(e.freshTotalHolders),freshHoldings:e.freshTotalHoldings,freshHoldingsRatio:e.freshHoldingsRatio,bundleHolders:e.bundleTotalHolders===void 0?void 0:parseInt(e.bundleTotalHolders),bundleHoldings:e.bundleTotalHoldings,bundleHoldingsRatio:e.bundleHoldingsRatio,devHolders:e.devTotalHolders===void 0?void 0:parseInt(e.devTotalHolders),devHoldings:e.devTotalHoldings,devHoldingsRatio:e.devHoldingsRatio}}function _(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:L(e.resolution),timestamp:new Date(e.time)}}function L(e){return e==="1d"?"24h":e}function V(e){return {hasTransferFee:e.hasTransferFee,isTransferFeeUpgradable:e.isTransferFeeUpgradable,isTransferable:e.isTransferable,isFreezable:e.isFreezable,isClosable:e.isClosable}}function G(e){return {dex:"jupiter",userAddress:e.userAddress,amount:e.amount,swapMode:e.mode===types.API.SwapMode.EXACT_IN?sdk.SwapRouteInputSwapMode.ExactIn:sdk.SwapRouteInputSwapMode.ExactOut,slippage:e.slippage??1,inputMint:e.input,outputMint:e.output,priorityFee:e.priorityFee}}function z(e){return {signedTx:e.serializedTx}}function $(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(r=>({address:r.walletAddress,amount:r.amount,amountInUsd:r.amountInUsd,ratio:r.percentage}))}}function J(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,total:e.total,data:e.data.map(u),extra:e.countsByProtocols}}function j(e){return {serializedTx:e.serializedTx,plans:[],extra:e.routeInfo}}function X(e){return {txHash:e.signature,extra:{jobId:e.jobId,elapsedTime:e.elapsedTime}}}function Y(e){let r=(e.data??[]).map(t=>({chain:W(t.chain),address:t.tokenAddress,name:t.name,symbol:t.symbol,image:t.logoUri,price:t.priceInNative,priceInUsd:t.priceInUsd,amount:t.amount,amountInUsd:t.valueInUsd}));return {chain:r[0]?.chain??types.Chain.SOLANA,address:e.walletAddress,balanceInUsd:e.totalValueInUsd,profitInUsd:"0",portfolios:r}}function Z(e,r,t){return {chain:e,address:r,tokens:Number(t.tokens),buys:Number(t.buys),sells:Number(t.sells),totalTrades:Number(t.totalTrades),wins:Number(t.wins),losses:Number(t.losses),winRate:t.winRate,buyAmountInUsd:t.buyAmountInUsd,sellAmountInUsd:t.sellAmountInUsd,totalCostInUsd:t.totalCostInUsd,realizedProfitInUsd:t.realizedProfitInUsd,realizedProfitRatio:t.realizedProfitRatio,unrealizedProfitInUsd:t.unrealizedProfitInUsd,unrealizedProfitRatio:t.unrealizedProfitRatio,totalProfitInUsd:t.totalProfitInUsd,totalProfitRatio:t.totalProfitRatio,avgProfitPerTradeInUsd:t.avgProfitPerTradeInUsd}}function ee(e,r,t){let s={chain:e,address:r,tokens:Number(t.summary.tokens),buys:Number(t.summary.buys),sells:Number(t.summary.sells),totalTrades:Number(t.summary.totalTrades),wins:Number(t.summary.wins),losses:Number(t.summary.losses),winRate:t.summary.winRate,buyAmountInUsd:t.summary.buyAmountInUsd,sellAmountInUsd:t.summary.sellAmountInUsd,totalCostInUsd:t.summary.totalCostInUsd,realizedProfitInUsd:t.summary.realizedProfitInUsd,realizedProfitRatio:t.summary.realizedProfitRatio,unrealizedProfitInUsd:t.summary.unrealizedProfitInUsd,totalProfitInUsd:t.summary.totalProfitInUsd},n=t.data.map(a=>({chain:e,address:a.tokenAddress,name:a.name,symbol:a.symbol,image:a.logoUri,price:"0",priceInUsd:a.priceInUsd,amount:a.balance,amountInUsd:a.currentValue,pnl:{buys:Number(a.buys),buyVolumes:a.buyAmount,buyVolumesInUsd:a.buyAmountInUsd,buyAvgPriceInUsd:a.avgBuyPriceInUsd,sells:Number(a.sells),sellVolumes:a.sellAmount,sellVolumesInUsd:a.sellAmountInUsd,sellAvgPriceInUsd:a.avgSellPriceInUsd,realizedProfitInUsd:a.realizedProfitInUsd,realizedProfitRatio:a.realizedProfitRatio,unrealizedProfitInUsd:a.unrealizedProfitInUsd,unrealizedProfitRatio:a.unrealizedProfitRatio,totalProfitInUsd:a.totalProfitInUsd,totalProfitRatio:a.totalProfitRatio}}));return {startCursor:t.startCursor,endCursor:t.endCursor,hasPrev:t.hasPrev,hasNext:t.hasNext,summary:s,data:n}}function N(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(it)}}function it(e){let r=e.type.toLowerCase()==="buy";return {chain:W(e.chain),walletAddress:e.accountOwnerAddress,txHash:e.transactionSignature,type:r?"buy":"sell",from:{address:r?e.sideTokenAddress:e.tokenAddress,symbol:r?e.sideTokenSymbol:e.tokenSymbol,name:r?e.sideTokenName:e.tokenName,image:r?e.sideTokenImageUrl:e.tokenImageUrl,amount:r?e.sideTokenAmount:e.tokenAmount,amountInUsd:r?e.sideTokenAmountInUsd:e.tokenAmountInUsd,priceInUsd:r?e.sideTokenPriceInUsd:e.tokenPriceInUsd},to:{address:r?e.tokenAddress:e.sideTokenAddress,symbol:r?e.tokenSymbol:e.sideTokenSymbol,name:r?e.tokenName:e.sideTokenName,image:r?e.tokenImageUrl:e.sideTokenImageUrl,amount:r?e.tokenAmount:e.sideTokenAmount,amountInUsd:r?e.tokenAmountInUsd:e.sideTokenAmountInUsd,priceInUsd:r?e.tokenPriceInUsd:e.sideTokenPriceInUsd},dex:{programAddress:e.dexProgramAddress,protocolFamily:e.dexProtocolFamily,image:e.dexImage},poolAddress:e.poolAddress,status:e.status??"success",time:new Date(e.blockTimestamp*1e3)}}function re(e,r){return {chain:e,address:r.tokenAddress,name:r.name,symbol:r.symbol,decimals:r.decimals,createdAt:new Date(r.createdAtMs),launchedFrom:r.launchFrom?{programAddress:r.launchFrom.programAddress,protocolFamily:r.launchFrom.protocolFamily}:void 0}}function te(e,r){return {chain:e,address:r.tokenAddress,name:r.name,symbol:r.symbol,decimals:r.decimals,image:r.imageUrl,description:r.description,socialMedias:r.socialMedia?{...r.socialMedia}:void 0,createdAt:r.createdAtMs?new Date(r.createdAtMs):new Date(0),launchedFrom:r.launchFrom?{programAddress:r.launchFrom.programAddress,protocolFamily:r.launchFrom.protocolFamily}:void 0,migratedTo:r.migratedTo?{programAddress:r.migratedTo.programAddress,protocolFamily:r.migratedTo.protocolFamily}:void 0}}function se(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:L(e.resolution),timestamp:new Date(e.time)}}function U(e){let r=["1m","5m","15m","30m","1h","4h","24h"],t=e,s={};for(let n of r){let a=t[`buys${n}`],l=t[`sells${n}`],D=t[`buyers${n}`],R=t[`sellers${n}`],v=t[`buyVolumeInUsd${n}`],Q=t[`sellVolumeInUsd${n}`],q=t[`trades${n}`],B=t[`price${n}`],I=t[`openInUsd${n}`],x=t[`closeInUsd${n}`];if(!(a!==void 0||l!==void 0||q!==void 0||B!==void 0))continue;let ie=q??(a!==void 0&&l!==void 0?a+l:void 0),le=D!==void 0&&R!==void 0?D+R:void 0,de=v!==void 0&&Q!==void 0?new utils.SafeBigNumber(v).plus(Q).toString():void 0,ce=I&&x&&new utils.SafeBigNumber(I).gt(0)?new utils.SafeBigNumber(x).minus(I).div(I).toString():void 0;s[n]={buys:a,sells:l,trades:ie,buyers:D,sellers:R,traders:le,buyVolumesInUsd:v,sellVolumesInUsd:Q,volumesInUsd:de,openPriceInUsd:I,closePriceInUsd:x,priceInUsd:B??x,priceChange:ce};}return s}function w(e){return {priceInUsd:e.price}}function S(e){return {address:e.address,stats:U(e),marketData:w(e)}}function M(e,r){let t=r.kind.toLowerCase()==="buy";return {chain:e,walletAddress:t?r.buyWalletAddress:r.sellWalletAddress,txHash:r.txHash,type:t?"buy":"sell",from:{address:r.sellTokenAddress,symbol:r.sellTokenSymbol,name:r.sellTokenName,amount:r.sellAmount,amountInUsd:r.sellAmountInUsd},to:{address:r.buyTokenAddress,symbol:r.buyTokenSymbol,name:r.buyTokenName,amount:r.buyAmount,amountInUsd:r.buyAmountInUsd},status:"success",time:new Date(r.timestamp)}}function ne(e,r){return {chain:e,address:r.tokenAddress,amount:r.balance}}function oe(e,r){return {chain:e,address:r.tokenAddress,openTime:r.opentime?new Date(r.opentime):void 0,closeTime:r.closetime?new Date(r.closetime):void 0,buys:r.buyCount,buyVolumes:r.buyAmount,buyVolumesInUsd:r.buyAmountInUsd,buyAvgPriceInUsd:r.averageBuyPriceInUsd,sells:r.sellCount,sellVolumes:r.sellAmount,sellVolumesInUsd:r.sellAmountInUsd,sellAvgPriceInUsd:r.averageSellPriceInUsd,unrealizedProfitInUsd:r.unrealizedProfitInUsd,unrealizedProfitRatio:r.unrealizedProfitRatio,realizedProfitInUsd:r.realizedProfitInUsd,realizedProfitRatio:r.realizedProfitRatio,totalProfitInUsd:r.totalRealizedProfitInUsd,totalProfitRatio:r.totalRealizedProfitRatio}}var ae=class{constructor(r,t){this.accessToken=r;this.options=t;this._client=new sdk.ChainStreamClient(this.accessToken,this.options);}_client;async getToken(r,t){let s=await this._client.token.getToken(d(r),t);return u(s)}async getTokens(r,t){return (await this._client.token.getTokens(d(r),{tokenAddresses:t.join(",")})).map(u)}async getTokenCandles(r,t,s,n){return (await this._client.token.getCandles(d(r),t,{resolution:H(s),from:n?.after?.getTime(),to:n?.before?.getTime(),limit:n?.limit})).map(_)}async getTokenSecurity(r,t){let s=await this._client.token.getSecurity(d(r),t);return V(s)}async getTokenStats(r,t){let s=await this._client.token.getStats(d(r),t);return O(s)}async getTokenHolders(r,t,s){let n=await this._client.token.getHolders(d(r),t,{cursor:s?.cursor,limit:s?.limit,direction:s?.direction});return $(n)}async getTokenMarketData(r,t){let s=await this._client.token.getMarketData(d(r),t);return F(s)}async getNewTokens(r,t){return (await this._client.ranking.getNewTokens(d(r),{sortBy:t?.sortBy?T(t.sortBy):void 0,sortDirection:t?.sortDirection?g(t.sortDirection):void 0,rangeFilters:t?.filters?A(t.filters):void 0,launchpadPlatform:t?.filters?C(t.filters):void 0,searchKeywords:t?.keywords,excludeKeywords:t?.excludeKeywords})).map(u)}async getFinalStretchTokens(r,t){return (await this._client.ranking.getFinalStretchTokens(d(r),{sortBy:t?.sortBy?T(t.sortBy):void 0,sortDirection:t?.sortDirection?g(t.sortDirection):void 0,rangeFilters:t?.filters?A(t.filters):void 0,launchpadPlatform:t?.filters?C(t.filters):void 0,searchKeywords:t?.keywords,excludeKeywords:t?.excludeKeywords})).map(u)}async getMigratedTokens(r,t){return (await this._client.ranking.getMigratedTokens(d(r),{sortBy:t?.sortBy?T(t.sortBy):void 0,sortDirection:t?.sortDirection?g(t.sortDirection):void 0,rangeFilters:t?.filters?A(t.filters):void 0,launchpadPlatform:t?.filters?C(t.filters):void 0,searchKeywords:t?.keywords,excludeKeywords:t?.excludeKeywords})).map(u)}async getTrendingTokens(r,t,s){return (await this._client.ranking.getHotTokens(d(r),t,{sortBy:s?.sortBy?T(s.sortBy):void 0,sortDirection:s?.sortDirection?g(s.sortDirection):void 0,rangeFilters:s?.filters?A(s.filters):void 0,launchpadPlatform:s?.filters?C(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async getStockTokens(r,t){return (await this._client.ranking.getStocksTokens(d(r),{sortBy:t?.sortBy?T(t.sortBy):void 0,sortDirection:t?.sortDirection?g(t.sortDirection):void 0,rangeFilters:t?.filters?A(t.filters):void 0,launchpadPlatform:t?.filters?C(t.filters):void 0,searchKeywords:t?.keywords,excludeKeywords:t?.excludeKeywords})).map(u)}async searchTokens(r){let t=await this._client.token.search({chains:r?.chains?.map(d),q:r?.keyword,limit:r?.limit,cursor:r?.cursor,sortBy:r?.sortBy?E(r.sortBy):void 0,sort:r?.sortDirection});return J(t)}async swapRoute(r){let t=await this._client.dex.route(d(r.chain),G(r));return j(t)}async sendTx(r){let t=await this._client.transaction.send(d(r.chain),z(r));return X(t)}async checkTxSuccess(r,t,s){let{result:n}=await this._client.waitForJob(t,s);return n.success}async getWalletPortfolios(r,t){let s=await this._client.wallet.getNetWorth(d(r),t,{limit:100});return Y(s)}async getWalletPnl(r,t,s){let n=await this._client.wallet.getPnl(d(r),t,s?{resolution:s}:void 0);return Z(r,t,n)}async getWalletPortfolioPnls(r,t,s){let n=await this._client.wallet.getPnlDetails(d(r),t,{cursor:s?.cursor,limit:s?.limit??100});return ee(r,t,n)}async getWalletTradeActivities(r,t,s){let n=await this._client.trade.getTrades(d(r),{walletAddress:t,cursor:s?.cursor,limit:s?.limit,direction:s?.direction,beforeTimestamp:s?.before?.getTime(),afterTimestamp:s?.after?.getTime(),beforeBlockHeight:s?.beforeBlockHeight,afterBlockHeight:s?.afterBlockHeight,poolAddress:s?.poolAddress,type:s?.type?s.type.toUpperCase():void 0});return N(n)}async getTokenTradeActivities(r,t,s){let n=await this._client.trade.getTrades(d(r),{tokenAddress:t,cursor:s?.cursor,limit:s?.limit,direction:s?.direction,beforeTimestamp:s?.before?.getTime(),afterTimestamp:s?.after?.getTime(),beforeBlockHeight:s?.beforeBlockHeight,afterBlockHeight:s?.afterBlockHeight,poolAddress:s?.poolAddress,type:s?.type?s.type.toUpperCase():void 0});return N(n)}async getPresignedUploadUrl(){return await this._client.ipfs.presign()}subscribeTokenBasic(r,t,s){throw new Error("subscribeTokenBasic is not supported by ChainStream backend. Token basic info (name, symbol, image) rarely changes in real-time.")}subscribeTokenMarketData(r,t,s){return this._client.stream.subscribeTokenStats({chain:d(r),tokenAddress:t,callback:n=>s([w(n)])})}subscribeTokenStats(r,t,s){return this._client.stream.subscribeTokenStats({chain:d(r),tokenAddress:t,callback:n=>s([U(n)])})}subscribeTokenCandles(r,t,s,n){return this._client.stream.subscribeTokenCandles({chain:d(r),tokenAddress:t,resolution:H(s),callback:a=>n([se(a)])})}subscribeWalletPnl(r,t,s){return this._client.stream.subscribeWalletPnl({chain:d(r),walletAddress:t,callback:n=>s([{chain:r,address:n.walletAddress,profitInUsd:n.totalRealizedProfitInUsd}])})}subscribeWalletPortfolios(r,t,s){return this._client.stream.subscribeWalletBalance({chain:d(r),walletAddress:t,callback:n=>s(n.map(a=>ne(r,a)))})}subscribeWalletPortfolioPnls(r,t,s){return this._client.stream.subscribeWalletPnl({chain:d(r),walletAddress:t,callback:n=>s([oe(r,n)])})}subscribeWalletTradeActivities(r,t,s){return this._client.stream.subscribeWalletTrade({chain:d(r),walletAddress:t,callback:n=>s([M(r,n)])})}subscribeTokenTradeActivities(r,t,s){return this._client.stream.subscribeTokenTrade({chain:d(r),tokenAddress:t,callback:n=>s([M(r,n)])})}subscribeNewTokens(r,t){return this._client.stream.subscribeNewToken({chain:d(r),callback:s=>t([re(r,s)])})}subscribeNewTokensBasic(r,t){return this._client.stream.subscribeNewTokensMetadata({chain:d(r),callback:s=>t(s.map(n=>te(r,n)))})}subscribeNewTokensMarketData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.New,callback:s=>t(s.map(w))})}subscribeNewTokensStats(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.New,callback:s=>t(s.map(U))})}subscribeNewTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.New,callback:s=>t(s.map(S))})}subscribeMigratedTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.COMPLETED,callback:s=>t(s.map(S))})}subscribeFinalStretchTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.New,callback:s=>t(s.map(S))})}subscribeTrendingTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.HOT,callback:s=>t(s.map(S))})}subscribeStockTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.US_STOCKS,callback:s=>t(s.map(S))})}};function C(e){let r=e.find(t=>t.field==="launchedFromProtocolFamily");if(r){if(r.operator==="eq")return [r.value];if(r.operator==="in")return r.value;console.warn("invalid launchedFromProtocolFamily filter",r);}}function Bi({client:e,subscribeClient:r,children:t}){return jsxRuntime.jsx(p.Provider,{value:{client:e,subscribeClient:r},children:t})}exports.Client=ae;exports.DexClientContext=p;exports.DexClientProvider=Bi;exports.fetchFinalStretchTokens=ke;exports.fetchMigratedTokens=Pe;exports.fetchNewTokens=Se;exports.fetchPresignedUploadUrl=Ce;exports.fetchSearchTokens=Ue;exports.fetchStockTokens=Qe;exports.fetchSwapRoute=Oe;exports.fetchToken=ze;exports.fetchTokenCandles=Me;exports.fetchTokenHolders=Ke;exports.fetchTokenMarketData=Le;exports.fetchTokenSecurity=je;exports.fetchTokenStats=tr;exports.fetchTokenTradeActivities=or;exports.fetchTokens=Ze;exports.fetchTrendingTokens=lr;exports.fetchTxSuccess=ur;exports.fetchWalletPnl=yr;exports.fetchWalletPortfolioPnls=br;exports.fetchWalletPortfolios=gr;exports.fetchWalletTradeActivities=Ir;exports.finalStretchTokensQueryKey=Te;exports.migratedTokensQueryKey=he;exports.newTokensQueryKey=Ae;exports.searchTokensQueryKey=pe;exports.sendTx=De;exports.stockTokensQueryKey=ve;exports.swapRouteQueryKey=We;exports.tokenCandlesQueryKey=Ne;exports.tokenHoldersQueryKey=Be;exports.tokenMarketDataQueryKey=_e;exports.tokenQueryKey=Ge;exports.tokenSecurityQueryKey=Je;exports.tokenStatsQueryKey=rr;exports.tokenTradeActivitiesQueryKey=nr;exports.tokensQueryKey=Ye;exports.trendingTokensQueryKey=ir;exports.txSuccessQueryKey=cr;exports.useDexClient=o;exports.useFinalStretchTokensDataSubscription=po;exports.useFinalStretchTokensQuery=At;exports.useMigratedTokensDataSubscription=So;exports.useMigratedTokensQuery=pt;exports.useNewTokensBasicSubscription=oo;exports.useNewTokensDataSubscription=ho;exports.useNewTokensMarketDataSubscription=co;exports.useNewTokensQuery=vt;exports.useNewTokensStatsSubscription=yo;exports.useNewTokensSubscription=ro;exports.usePresignedUploadUrlQuery=Ft;exports.useSearchTokensQuery=Kt;exports.useSendTxMutation=Gt;exports.useStockTokensDataSubscription=Wo;exports.useStockTokensQuery=Xt;exports.useSwapRouteQuery=ts;exports.useTokenCandlesQuery=is;exports.useTokenCandlesSubscription=Un;exports.useTokenHoldersQuery=ms;exports.useTokenMarketDataQuery=bs;exports.useTokenMarketDataSubscription=vn;exports.useTokenQuery=Ss;exports.useTokenSecurityQuery=Us;exports.useTokenStatsQuery=Ns;exports.useTokenStatsSubscription=In;exports.useTokenTradeActivitiesQuery=Es;exports.useTokenTradeActivitiesSubscription=On;exports.useTokensQuery=Qs;exports.useTrendingTokensDataSubscription=Ro;exports.useTrendingTokensQuery=zs;exports.useTxSuccessQuery=Ys;exports.useWalletPnlQuery=sn;exports.useWalletPnlSubscription=qn;exports.useWalletPortfolioPnlsQuery=dn;exports.useWalletPortfolioPnlsSubscription=zn;exports.useWalletPortfoliosQuery=yn;exports.useWalletPortfoliosSubscription=_n;exports.useWalletTradeActivitiesQuery=Pn;exports.useWalletTradeActivitiesSubscription=Xn;exports.version=ue;exports.walletPnlQueryKey=fr;exports.walletPortfolioPnlsQueryKey=kr;exports.walletPortfoliosQueryKey=Pr;exports.walletTradeActivitiesQueryKey=Sr;//# sourceMappingURL=index.js.map
1
+ 'use strict';var react=require('react'),reactQuery=require('@tanstack/react-query'),sdk=require('@chainstream-io/sdk'),types=require('@liberfi.io/types'),utils=require('@liberfi.io/utils'),jsxRuntime=require('react/jsx-runtime');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/client"]="0.1.28");var ue="0.1.28";var p=react.createContext({});function o(){let e=react.useContext(p);if(!e)throw new Error("useDexClient must be used within an DexClientProvider");return e}function Te(e){return ["finalStretchTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function ke(e,{chain:r,...t}){return await e.getFinalStretchTokens(r,t)}function At(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Te(e),queryFn:async()=>ke(t,e),...r})}function he(e){return ["migratedTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function Pe(e,{chain:r,...t}){return await e.getMigratedTokens(r,t)}function pt(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:he(e),queryFn:async()=>Pe(t,e),...r})}function Ae(e){return ["newTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function Se(e,{chain:r,...t}){return await e.getNewTokens(r,t)}function vt(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Ae(e),queryFn:async()=>Se(t,e),...r})}async function Ce(e){return await e.getPresignedUploadUrl()}function Ft(e={}){let{client:r}=o();return reactQuery.useQuery({queryKey:["presignedUploadUrl"],queryFn:async()=>Ce(r),staleTime:0,...e})}function pe(e){return ["searchTokens",e.cursor??"",e.limit?`${e.limit}`:"",e.direction??"",JSON.stringify((e.chains??[]).sort()),e.keyword??"",JSON.stringify(e.filters??[]),e.sortBy??"",e.sortDirection??""]}async function Ue(e,r){return await e.searchTokens(r)}function Kt(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:pe(e),queryFn:async()=>Ue(t,e),...r})}async function De(e,r){return await e.sendTx(r)}function Gt(e={}){let{client:r}=o();return reactQuery.useMutation({mutationFn:async t=>De(r,t),...e})}function ve(e){return ["stockTokens",e.chain,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function Qe(e,{chain:r,...t}){return await e.getStockTokens(r,t)}function Xt(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:ve(e),queryFn:async()=>Qe(t,e),...r})}function We(e){return ["swapRoute",e.chain,e.userAddress,e.input,e.output,e.mode,e.amount,e.slippage?`${e.slippage}`:"",e.priorityFee??"",e.tipFee??"",e.isAntiMev!==void 0?`${e.isAntiMev}`:""]}async function Oe(e,r){return await e.swapRoute(r)}function ts(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:We(e),queryFn:async()=>Oe(t,e),...r})}function Ne(e){return ["tokenCandles",e.chain,e.address,e.resolution,e.after?.toString()??"",e.before?.toString()??"",e.limit?`${e.limit}`:""]}async function Me(e,{chain:r,address:t,resolution:s,...n}){return await e.getTokenCandles(r,t,s,n)}function is(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Ne(e),queryFn:async()=>Me(t,e),...r})}function Be(e){return ["tokenHolders",e.chain,e.address,e.cursor??"",e.limit?`${e.limit}`:"",e.direction??""]}async function Ke(e,{chain:r,address:t,...s}){return await e.getTokenHolders(r,t,s)}function ms(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Be(e),queryFn:async()=>Ke(t,e),...r})}function _e(e){return ["tokenMarketData",e.chain,e.address]}async function Le(e,{chain:r,address:t}){return await e.getTokenMarketData(r,t)}function bs(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:_e(e),queryFn:async()=>Le(t,e),...r})}function Ge(e){return ["token",e.chain,e.address]}async function ze(e,{chain:r,address:t}){return await e.getToken(r,t)}function Ss(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Ge(e),queryFn:async()=>ze(t,e),...r})}function Je(e){return ["tokenSecurity",e.chain,e.address]}async function je(e,{chain:r,address:t}){return await e.getTokenSecurity(r,t)}function Us(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Je(e),queryFn:async()=>je(t,e),...r})}function Ye(e){return ["tokens",e.chain,e.addresses.sort().join(",")]}async function Ze(e,{chain:r,addresses:t}){return await e.getTokens(r,t)}function Qs(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Ye(e),queryFn:async()=>Ze(t,e),...r})}function rr(e){return ["tokenStats",e.chain,e.address]}async function tr(e,{chain:r,address:t}){return await e.getTokenStats(r,t)}function Ns(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:rr(e),queryFn:async()=>tr(t,e),...r})}function nr(e){return ["tokenTradeActivities",e.chain,e.address,e.before?.toString()??"",e.after?.toString()??"",e.beforeBlockHeight?`${e.beforeBlockHeight}`:"",e.afterBlockHeight?`${e.afterBlockHeight}`:"",e.type??"",e.poolAddress??""]}async function or(e,{chain:r,address:t,...s}){return await e.getTokenTradeActivities(r,t,s)}function Es(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:nr(e),queryFn:async()=>or(t,e),...r})}function ir(e){return ["trendingTokens",e.chain,e.resolution,e.sortBy??"",e.sortDirection??"",JSON.stringify((e.keywords??[]).sort()),JSON.stringify((e.excludeKeywords??[]).sort()),JSON.stringify(e.filters??[])]}async function lr(e,{chain:r,resolution:t,...s}){return await e.getTrendingTokens(r,t,s)}function zs(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:ir(e),queryFn:async()=>lr(t,e),...r})}function cr(e){return ["txSuccess",e.chain,e.txHash,e.timeout?`${e.timeout}`:""]}async function ur(e,{chain:r,txHash:t,timeout:s}){return await e.checkTxSuccess(r,t,s)}function Ys(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:cr(e),queryFn:async()=>ur(t,e),...r})}function fr(e){return ["walletPnl",e.chain,e.address,e.resolution??"all"]}async function yr(e,{chain:r,address:t,resolution:s}){return await e.getWalletPnl(r,t,s)}function sn(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:fr(e),queryFn:async()=>yr(t,e),...r})}function kr(e){return ["walletPortfolioPnls",e.chain,e.address]}async function br(e,{chain:r,address:t,cursor:s,limit:n}){return await e.getWalletPortfolioPnls(r,t,{cursor:s,limit:n})}function dn(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:kr(e),queryFn:async()=>br(t,e),...r})}function Pr(e){return ["walletPortfolios",e.chain,e.address]}async function gr(e,{chain:r,address:t}){return await e.getWalletPortfolios(r,t)}function yn(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Pr(e),queryFn:async()=>gr(t,e),...r})}function Sr(e){return ["walletTradeActivities",e.chain,e.address,e.before?.toString()??"",e.after?.toString()??"",e.beforeBlockHeight?`${e.beforeBlockHeight}`:"",e.afterBlockHeight?`${e.afterBlockHeight}`:"",e.type??"",e.poolAddress??""]}async function Ir(e,{chain:r,address:t,...s}){return await e.getWalletTradeActivities(r,t,s)}function Pn(e,r={}){let{client:t}=o();return reactQuery.useQuery({queryKey:Sr(e),queryFn:async()=>Ir(t,e),...r})}function In(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTokenStats(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function Un(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTokenCandles(e.chain,e.address,e.resolution,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,e.resolution,t?.enabled]);}function vn(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTokenMarketData(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function On(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTokenTradeActivities(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function qn(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeWalletPnl(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function _n(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeWalletPortfolios(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function zn(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeWalletPortfolioPnls(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function Xn(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeWalletTradeActivities(e.chain,e.address,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,e.address,t?.enabled]);}function ro(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokens(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function oo(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokensBasic(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function co(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokensMarketData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function yo(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokensStats(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function ho(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeNewTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function So(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeMigratedTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function po(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeFinalStretchTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function Ro(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeTrendingTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function Wo(e,r,t){let{subscribeClient:s}=o(),n=react.useRef(r);n.current=r,react.useEffect(()=>{if(t?.enabled===false)return;let a=s.subscribeStockTokensData(e.chain,l=>n.current(l));return ()=>a.unsubscribe()},[s,e.chain,t?.enabled]);}function d(e){switch(e){case types.Chain.ETHEREUM:return sdk.ChainSymbol.eth;case types.Chain.BINANCE:return sdk.ChainSymbol.bsc;case types.Chain.SOLANA:return sdk.ChainSymbol.sol}throw new Error(`Unsupported chain: ${e}`)}function H(e){switch(e){case "1s":return sdk.Resolution["1s"];case "15s":return sdk.Resolution["15s"];case "30s":return sdk.Resolution["30s"];case "1m":return sdk.Resolution["1m"];case "5m":return sdk.Resolution["5m"];case "15m":return sdk.Resolution["15m"];case "30m":case "1h":return sdk.Resolution["1h"];case "4h":return sdk.Resolution["4h"];case "12h":return sdk.Resolution["12h"];case "24h":return sdk.Resolution["1d"]}}function g(e){switch(e){case "asc":return "ASC";case "desc":return "DESC"}}function E(e){switch(e){case "marketCap":return sdk.SearchSortBy.marketCapInUsd;case "tvl":return sdk.SearchSortBy.liquidityInUsd;case "price":return sdk.SearchSortBy.priceInUsd;case "holders":return sdk.SearchSortBy.holderCount;case "volumes24h":return sdk.SearchSortBy.h24VolumeInUsd;case "trades24h":return sdk.SearchSortBy.h24Transactions;case "createdAt":return sdk.SearchSortBy.tokenCreatedAt}throw new Error(`Unsupported search field: ${e}`)}function T(e){switch(e){case "price":return sdk.GetNewTokensSortBy.marketDatapriceInUsd;case "priceChange1m":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd1m;case "priceChange5m":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd5m;case "priceChange1h":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd1h;case "priceChange4h":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd4h;case "priceChange24h":return sdk.GetNewTokensSortBy.statspriceChangeRatioInUsd24h;case "marketCap":return sdk.GetNewTokensSortBy.marketDatamarketCapInUsd;case "tvl":return sdk.GetNewTokensSortBy.marketDatamaxPoolTvlInUsd;case "top10Holdings":return sdk.GetNewTokensSortBy.marketDatatop10TotalHoldings;case "top10Ratio":return sdk.GetNewTokensSortBy.marketDatatop10HoldingsRatio;case "top100Holdings":return sdk.GetNewTokensSortBy.marketDatatop100TotalHoldings;case "top100Ratio":return sdk.GetNewTokensSortBy.marketDatatop100HoldingsRatio;case "holders":return sdk.GetNewTokensSortBy.marketDataholders;case "creatorsHoldings":return sdk.GetNewTokensSortBy.marketDatacreatorHoldings;case "creatorsRatio":return sdk.GetNewTokensSortBy.marketDatacreatorHoldingsRatio;case "buys1m":return sdk.GetNewTokensSortBy.statsbuys1m;case "buys5m":return sdk.GetNewTokensSortBy.statsbuys5m;case "buys15m":return sdk.GetNewTokensSortBy.statsbuys15m;case "buys30m":return sdk.GetNewTokensSortBy.statsbuys30m;case "buys1h":return sdk.GetNewTokensSortBy.statsbuys1h;case "buys4h":return sdk.GetNewTokensSortBy.statsbuys4h;case "buys24h":return sdk.GetNewTokensSortBy.statsbuys24h;case "sells1m":return sdk.GetNewTokensSortBy.statssells1m;case "sells5m":return sdk.GetNewTokensSortBy.statssells5m;case "sells15m":return sdk.GetNewTokensSortBy.statssells15m;case "sells30m":return sdk.GetNewTokensSortBy.statssells30m;case "sells1h":return sdk.GetNewTokensSortBy.statssells1h;case "sells4h":return sdk.GetNewTokensSortBy.statssells4h;case "sells24h":return sdk.GetNewTokensSortBy.statssells24h;case "trades1m":return sdk.GetNewTokensSortBy.statstrades1m;case "trades5m":return sdk.GetNewTokensSortBy.statstrades5m;case "trades1h":return sdk.GetNewTokensSortBy.statstrades1h;case "trades4h":return sdk.GetNewTokensSortBy.statstrades4h;case "trades24h":return sdk.GetNewTokensSortBy.statstrades24h;case "traders1m":return sdk.GetNewTokensSortBy.statstraders1m;case "traders5m":return sdk.GetNewTokensSortBy.statstraders5m;case "traders1h":return sdk.GetNewTokensSortBy.statstraders1h;case "traders4h":return sdk.GetNewTokensSortBy.statstraders4h;case "traders24h":return sdk.GetNewTokensSortBy.statstraders24h;case "volumes1m":return sdk.GetNewTokensSortBy.statsvolumesInUsd1m;case "volumes5m":return sdk.GetNewTokensSortBy.statsvolumesInUsd5m;case "volumes1h":return sdk.GetNewTokensSortBy.statsvolumesInUsd1h;case "volumes4h":return sdk.GetNewTokensSortBy.statsvolumesInUsd4h;case "volumes24h":return sdk.GetNewTokensSortBy.statsvolumesInUsd24h;case "createdAt":return sdk.GetNewTokensSortBy.tokenCreatedAt}throw new Error(`Unsupported sortBy: ${e}`)}function A(e){return e.filter(r=>["gt","gte","lt","lte","between"].indexOf(r.operator)>=0).map(r=>{let t={field:T(r.field)};return ["gt","gte","between"].indexOf(r.operator)>=0&&(t.min=typeof r.value=="number"?new utils.SafeBigNumber(r.value).toString():r.value),["lt","lte","between"].indexOf(r.operator)>=0&&(t.max=typeof r.value=="number"?new utils.SafeBigNumber(r.value).toString():r.value),t})}function W(e){switch(e){case sdk.ChainSymbol.eth:return types.Chain.ETHEREUM;case sdk.ChainSymbol.bsc:return types.Chain.BINANCE;case sdk.ChainSymbol.sol:case "solana":return types.Chain.SOLANA}throw new Error(`Unsupported chain: ${e}`)}function ot(e){return {address:e.address,share:e.share,isVerified:e.isVerified}}function u(e){return {chain:W(e.chain),name:e.name,symbol:e.symbol,address:e.address,decimals:e.decimals,image:e.imageUrl,description:e.description,creators:e.tokenCreators?.map(ot),launchedFrom:{programAddress:e.extra?.launchFromProgramAddress,protocolFamily:e.extra?.launchFromProtocolFamily},migrateProgress:e.marketData.completionRatio?new utils.SafeBigNumber(e.marketData.completionRatio).shiftedBy(2).toString():void 0,migratedTo:{programAddress:e.extra?.migratedToProgramAddress,protocolFamily:e.extra?.migratedToProtocolFamily,poolAddress:e.extra?.migratedToPoolAddress,migratedAt:e.extra?.migratedAt?new Date(e.extra.migratedAt):void 0},socialMedias:e.socialMedias?{...e.socialMedias}:void 0,stats:e.stats?O(e.stats):void 0,marketData:e.marketData?F(e.marketData):void 0,liquidities:e.liquidity?.map(at),createdAt:e.tokenCreatedAt?new Date(e.tokenCreatedAt):void 0}}function O(e){return {"1m":f(e,"1m"),"5m":f(e,"5m"),"15m":f(e,"15m"),"30m":f(e,"30m"),"1h":f(e,"1h"),"4h":f(e,"4h"),"24h":f(e,"24h")}}function b(e){return e===void 0?void 0:parseInt(e)}function f(e,r){let t=e.periods?.[r];return t?{buys:b(t.buys),sells:b(t.sells),trades:b(t.trades),buyers:b(t.buyers),sellers:b(t.sellers),traders:b(t.traders),buyVolumes:t.buyVolume,sellVolumes:t.sellVolume,volumes:t.totalVolumeInNative,buyVolumesInUsd:t.buyVolumeInUsd,sellVolumesInUsd:t.sellVolumeInUsd,volumesInUsd:t.totalVolumeInUsd,openPriceInUsd:t.openInUsd,closePriceInUsd:t.closeInUsd,highPriceInUsd:t.highInUsd,lowPriceInUsd:t.lowInUsd,priceInUsd:t.closeInUsd,priceChange:t.priceChangeRatioInUsd}:{}}function at(e){return {image:e.image,poolAddress:e.poolAddress,programAddress:e.programAddress,protocolFamily:e.protocolFamily,tvl:e.tvlInSol,tvlInUsd:e.tvlInUsd}}function F(e){return {totalSupply:e.totalSupply,marketCap:e.marketCapInSol,marketCapInUsd:e.marketCapInUsd,price:e.priceInSol,priceInUsd:e.priceInUsd,tvl:e.totalTvlInSol,tvlInUsd:e.totalTvlInUsd,holders:parseInt(e.holders),top10Holdings:e.top10TotalHoldings,top10HoldingsRatio:e.top10HoldingsRatio,top50Holdings:e.top50TotalHoldings,top50HoldingsRatio:e.top50HoldingsRatio,top100Holdings:e.top100TotalHoldings,top100HoldingsRatio:e.top100HoldingsRatio,bluechipHolders:e.bluechipTotalHolders===void 0?void 0:parseInt(e.bluechipTotalHolders),bluechipHoldings:e.bluechipTotalHoldings,bluechipHoldingsRatio:e.bluechipHoldingsRatio,kolHolders:e.kolTotalHolders===void 0?void 0:parseInt(e.kolTotalHolders),kolHoldings:e.kolTotalHoldings,kolHoldingsRatio:e.kolHoldingsRatio,sniperHolders:e.sniperTotalHolders===void 0?void 0:parseInt(e.sniperTotalHolders),sniperHoldings:e.sniperTotalHoldings,sniperHoldingsRatio:e.sniperHoldingsRatio,proHolders:e.proTotalHolders===void 0?void 0:parseInt(e.proTotalHolders),proHoldings:e.proTotalHoldings,proHoldingsRatio:e.proHoldingsRatio,insiderHolders:e.insiderTotalHolders===void 0?void 0:parseInt(e.insiderTotalHolders),insiderHoldings:e.insiderTotalHoldings,insiderHoldingsRatio:e.insiderHoldingsRatio,sandwichHolders:e.sandwishTotalHolders===void 0?void 0:parseInt(e.sandwishTotalHolders),sandwichHoldings:e.sandwishTotalHoldings,sandwichHoldingsRatio:e.sandwishHoldingsRatio,freshHolders:e.freshTotalHolders===void 0?void 0:parseInt(e.freshTotalHolders),freshHoldings:e.freshTotalHoldings,freshHoldingsRatio:e.freshHoldingsRatio,bundleHolders:e.bundleTotalHolders===void 0?void 0:parseInt(e.bundleTotalHolders),bundleHoldings:e.bundleTotalHoldings,bundleHoldingsRatio:e.bundleHoldingsRatio,devHolders:e.devTotalHolders===void 0?void 0:parseInt(e.devTotalHolders),devHoldings:e.devTotalHoldings,devHoldingsRatio:e.devHoldingsRatio}}function _(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:L(e.resolution),timestamp:new Date(e.time)}}function L(e){return e==="1d"?"24h":e}function V(e){return {hasTransferFee:e.hasTransferFee,isTransferFeeUpgradable:e.isTransferFeeUpgradable,isTransferable:e.isTransferable,isFreezable:e.isFreezable,isClosable:e.isClosable}}function G(e){return {dex:"jupiter",userAddress:e.userAddress,amount:e.amount,swapMode:e.mode===types.API.SwapMode.EXACT_IN?sdk.SwapRouteInputSwapMode.ExactIn:sdk.SwapRouteInputSwapMode.ExactOut,slippage:e.slippage??1,inputMint:e.input,outputMint:e.output,priorityFee:e.priorityFee}}function z(e){return {signedTx:e.serializedTx}}function $(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(r=>({address:r.walletAddress,amount:r.amount,amountInUsd:r.amountInUsd,ratio:r.percentage}))}}function J(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,total:e.total,data:e.data.map(u),extra:e.countsByProtocols}}function j(e){return {serializedTx:e.serializedTx,plans:[],extra:e.routeInfo}}function X(e){return {txHash:e.signature,extra:{jobId:e.jobId,elapsedTime:e.elapsedTime}}}function Y(e){let r=(e.data??[]).map(t=>({chain:W(t.chain),address:t.tokenAddress,name:t.name,symbol:t.symbol,image:t.logoUri,price:t.priceInNative,priceInUsd:t.priceInUsd,amount:t.amount,amountInUsd:t.valueInUsd}));return {chain:r[0]?.chain??types.Chain.SOLANA,address:e.walletAddress,balanceInUsd:e.totalValueInUsd,profitInUsd:"0",portfolios:r}}function Z(e,r,t){return {chain:e,address:r,tokens:Number(t.tokens),buys:Number(t.buys),sells:Number(t.sells),totalTrades:Number(t.totalTrades),wins:Number(t.wins),losses:Number(t.losses),winRate:t.winRate,buyAmountInUsd:t.buyAmountInUsd,sellAmountInUsd:t.sellAmountInUsd,totalCostInUsd:t.totalCostInUsd,realizedProfitInUsd:t.realizedProfitInUsd,realizedProfitRatio:t.realizedProfitRatio,unrealizedProfitInUsd:t.unrealizedProfitInUsd,unrealizedProfitRatio:t.unrealizedProfitRatio,totalProfitInUsd:t.totalProfitInUsd,totalProfitRatio:t.totalProfitRatio,avgProfitPerTradeInUsd:t.avgProfitPerTradeInUsd}}function ee(e,r,t){let s={chain:e,address:r,tokens:Number(t.summary.tokens),buys:Number(t.summary.buys),sells:Number(t.summary.sells),totalTrades:Number(t.summary.totalTrades),wins:Number(t.summary.wins),losses:Number(t.summary.losses),winRate:t.summary.winRate,buyAmountInUsd:t.summary.buyAmountInUsd,sellAmountInUsd:t.summary.sellAmountInUsd,totalCostInUsd:t.summary.totalCostInUsd,realizedProfitInUsd:t.summary.realizedProfitInUsd,realizedProfitRatio:t.summary.realizedProfitRatio,unrealizedProfitInUsd:t.summary.unrealizedProfitInUsd,totalProfitInUsd:t.summary.totalProfitInUsd},n=t.data.map(a=>({chain:e,address:a.tokenAddress,name:a.name,symbol:a.symbol,image:a.logoUri,price:"0",priceInUsd:a.priceInUsd,amount:a.balance,amountInUsd:a.currentValue,pnl:{buys:Number(a.buys),buyVolumes:a.buyAmount,buyVolumesInUsd:a.buyAmountInUsd,buyAvgPriceInUsd:a.avgBuyPriceInUsd,sells:Number(a.sells),sellVolumes:a.sellAmount,sellVolumesInUsd:a.sellAmountInUsd,sellAvgPriceInUsd:a.avgSellPriceInUsd,realizedProfitInUsd:a.realizedProfitInUsd,realizedProfitRatio:a.realizedProfitRatio,unrealizedProfitInUsd:a.unrealizedProfitInUsd,unrealizedProfitRatio:a.unrealizedProfitRatio,totalProfitInUsd:a.totalProfitInUsd,totalProfitRatio:a.totalProfitRatio}}));return {startCursor:t.startCursor,endCursor:t.endCursor,hasPrev:t.hasPrev,hasNext:t.hasNext,summary:s,data:n}}function N(e){return {startCursor:e.startCursor,endCursor:e.endCursor,hasPrev:e.hasPrev,hasNext:e.hasNext,data:e.data.map(it)}}function it(e){let r=e.type.toLowerCase()==="buy";return {chain:W(e.chain),walletAddress:e.accountOwnerAddress,txHash:e.transactionSignature,type:r?"buy":"sell",from:{address:r?e.sideTokenAddress:e.tokenAddress,symbol:r?e.sideTokenSymbol:e.tokenSymbol,name:r?e.sideTokenName:e.tokenName,image:r?e.sideTokenImageUrl:e.tokenImageUrl,amount:r?e.sideTokenAmount:e.tokenAmount,amountInUsd:r?e.sideTokenAmountInUsd:e.tokenAmountInUsd,priceInUsd:r?e.sideTokenPriceInUsd:e.tokenPriceInUsd},to:{address:r?e.tokenAddress:e.sideTokenAddress,symbol:r?e.tokenSymbol:e.sideTokenSymbol,name:r?e.tokenName:e.sideTokenName,image:r?e.tokenImageUrl:e.sideTokenImageUrl,amount:r?e.tokenAmount:e.sideTokenAmount,amountInUsd:r?e.tokenAmountInUsd:e.sideTokenAmountInUsd,priceInUsd:r?e.tokenPriceInUsd:e.sideTokenPriceInUsd},dex:{programAddress:e.dexProgramAddress,protocolFamily:e.dexProtocolFamily,image:e.dexImage},poolAddress:e.poolAddress,status:e.status??"success",time:new Date(e.blockTimestamp*1e3)}}function re(e,r){return {chain:e,address:r.tokenAddress,name:r.name,symbol:r.symbol,decimals:r.decimals,createdAt:new Date(r.createdAtMs),launchedFrom:r.launchFrom?{programAddress:r.launchFrom.programAddress,protocolFamily:r.launchFrom.protocolFamily}:void 0}}function te(e,r){return {chain:e,address:r.tokenAddress,name:r.name,symbol:r.symbol,decimals:r.decimals,image:r.imageUrl,description:r.description,socialMedias:r.socialMedia?{...r.socialMedia}:void 0,createdAt:r.createdAtMs?new Date(r.createdAtMs):new Date(0),launchedFrom:r.launchFrom?{programAddress:r.launchFrom.programAddress,protocolFamily:r.launchFrom.protocolFamily}:void 0,migratedTo:r.migratedTo?{programAddress:r.migratedTo.programAddress,protocolFamily:r.migratedTo.protocolFamily}:void 0}}function se(e){return {open:e.open,close:e.close,high:e.high,low:e.low,volume:e.volume,resolution:L(e.resolution),timestamp:new Date(e.time)}}function U(e){let r=["1m","5m","15m","30m","1h","4h","24h"],t=e,s={};for(let n of r){let a=t[`buys${n}`],l=t[`sells${n}`],D=t[`buyers${n}`],R=t[`sellers${n}`],v=t[`buyVolumeInUsd${n}`],Q=t[`sellVolumeInUsd${n}`],q=t[`trades${n}`],B=t[`price${n}`],I=t[`openInUsd${n}`],x=t[`closeInUsd${n}`];if(!(a!==void 0||l!==void 0||q!==void 0||B!==void 0))continue;let ie=q??(a!==void 0&&l!==void 0?a+l:void 0),le=D!==void 0&&R!==void 0?D+R:void 0,de=v!==void 0&&Q!==void 0?new utils.SafeBigNumber(v).plus(Q).toString():void 0,ce=I&&x&&new utils.SafeBigNumber(I).gt(0)?new utils.SafeBigNumber(x).minus(I).div(I).toString():void 0;s[n]={buys:a,sells:l,trades:ie,buyers:D,sellers:R,traders:le,buyVolumesInUsd:v,sellVolumesInUsd:Q,volumesInUsd:de,openPriceInUsd:I,closePriceInUsd:x,priceInUsd:B??x,priceChange:ce};}return s}function w(e){return {priceInUsd:e.price}}function S(e){return {address:e.address,stats:U(e),marketData:w(e)}}function M(e,r){let t=r.kind.toLowerCase()==="buy";return {chain:e,walletAddress:t?r.buyWalletAddress:r.sellWalletAddress,txHash:r.txHash,type:t?"buy":"sell",from:{address:r.sellTokenAddress,symbol:r.sellTokenSymbol,name:r.sellTokenName,amount:r.sellAmount,amountInUsd:r.sellAmountInUsd},to:{address:r.buyTokenAddress,symbol:r.buyTokenSymbol,name:r.buyTokenName,amount:r.buyAmount,amountInUsd:r.buyAmountInUsd},status:"success",time:new Date(r.timestamp)}}function ne(e,r){return {chain:e,address:r.tokenAddress,amount:r.balance}}function oe(e,r){return {chain:e,address:r.tokenAddress,openTime:r.opentime?new Date(r.opentime):void 0,closeTime:r.closetime?new Date(r.closetime):void 0,buys:r.buyCount,buyVolumes:r.buyAmount,buyVolumesInUsd:r.buyAmountInUsd,buyAvgPriceInUsd:r.averageBuyPriceInUsd,sells:r.sellCount,sellVolumes:r.sellAmount,sellVolumesInUsd:r.sellAmountInUsd,sellAvgPriceInUsd:r.averageSellPriceInUsd,unrealizedProfitInUsd:r.unrealizedProfitInUsd,unrealizedProfitRatio:r.unrealizedProfitRatio,realizedProfitInUsd:r.realizedProfitInUsd,realizedProfitRatio:r.realizedProfitRatio,totalProfitInUsd:r.totalRealizedProfitInUsd,totalProfitRatio:r.totalRealizedProfitRatio}}var ae=class{constructor(r,t){this.accessToken=r;this.options=t;this._client=new sdk.ChainStreamClient(this.accessToken,this.options);}_client;async getToken(r,t){let s=await this._client.token.getToken(d(r),t);return u(s)}async getTokens(r,t){return (await this._client.token.getTokens(d(r),{tokenAddresses:t.join(",")})).map(u)}async getTokenCandles(r,t,s,n){return (await this._client.token.getCandles(d(r),t,{resolution:H(s),from:n?.after?.getTime(),to:n?.before?.getTime(),limit:n?.limit})).map(_)}async getTokenSecurity(r,t){let s=await this._client.token.getSecurity(d(r),t);return V(s)}async getTokenStats(r,t){let s=await this._client.token.getStats(d(r),t);return O(s)}async getTokenHolders(r,t,s){let n=await this._client.token.getHolders(d(r),t,{cursor:s?.cursor,limit:s?.limit,direction:s?.direction});return $(n)}async getTokenMarketData(r,t){let s=await this._client.token.getMarketData(d(r),t);return F(s)}async getNewTokens(r,t){return (await this._client.ranking.getNewTokens(d(r),{sortBy:t?.sortBy?T(t.sortBy):void 0,sortDirection:t?.sortDirection?g(t.sortDirection):void 0,rangeFilters:t?.filters?A(t.filters):void 0,launchpadPlatform:t?.filters?C(t.filters):void 0,searchKeywords:t?.keywords,excludeKeywords:t?.excludeKeywords})).map(u)}async getFinalStretchTokens(r,t){return (await this._client.ranking.getFinalStretchTokens(d(r),{sortBy:t?.sortBy?T(t.sortBy):void 0,sortDirection:t?.sortDirection?g(t.sortDirection):void 0,rangeFilters:t?.filters?A(t.filters):void 0,launchpadPlatform:t?.filters?C(t.filters):void 0,searchKeywords:t?.keywords,excludeKeywords:t?.excludeKeywords})).map(u)}async getMigratedTokens(r,t){return (await this._client.ranking.getMigratedTokens(d(r),{sortBy:t?.sortBy?T(t.sortBy):void 0,sortDirection:t?.sortDirection?g(t.sortDirection):void 0,rangeFilters:t?.filters?A(t.filters):void 0,launchpadPlatform:t?.filters?C(t.filters):void 0,searchKeywords:t?.keywords,excludeKeywords:t?.excludeKeywords})).map(u)}async getTrendingTokens(r,t,s){return (await this._client.ranking.getHotTokens(d(r),t,{sortBy:s?.sortBy?T(s.sortBy):void 0,sortDirection:s?.sortDirection?g(s.sortDirection):void 0,rangeFilters:s?.filters?A(s.filters):void 0,launchpadPlatform:s?.filters?C(s.filters):void 0,searchKeywords:s?.keywords,excludeKeywords:s?.excludeKeywords})).map(u)}async getStockTokens(r,t){return (await this._client.ranking.getStocksTokens(d(r),{sortBy:t?.sortBy?T(t.sortBy):void 0,sortDirection:t?.sortDirection?g(t.sortDirection):void 0,rangeFilters:t?.filters?A(t.filters):void 0,launchpadPlatform:t?.filters?C(t.filters):void 0,searchKeywords:t?.keywords,excludeKeywords:t?.excludeKeywords})).map(u)}async searchTokens(r){let t=await this._client.token.search({chains:r?.chains?.map(d),q:r?.keyword,limit:r?.limit,cursor:r?.cursor,sortBy:r?.sortBy?E(r.sortBy):void 0,sort:r?.sortDirection});return J(t)}async swapRoute(r){let t=await this._client.dex.route(d(r.chain),G(r));return j(t)}async sendTx(r){let t=await this._client.transaction.send(d(r.chain),z(r));return X(t)}async checkTxSuccess(r,t,s){let{result:n}=await this._client.waitForJob(t,s);return n.success}async getWalletPortfolios(r,t){let s=await this._client.wallet.getNetWorth(d(r),t,{limit:100});return Y(s)}async getWalletPnl(r,t,s){let n=await this._client.wallet.getPnl(d(r),t,s?{resolution:s}:void 0);return Z(r,t,n)}async getWalletPortfolioPnls(r,t,s){let n=await this._client.wallet.getPnlDetails(d(r),t,{cursor:s?.cursor,limit:s?.limit??100});return ee(r,t,n)}async getWalletTradeActivities(r,t,s){let n=await this._client.trade.getTrades(d(r),{walletAddress:t,cursor:s?.cursor,limit:s?.limit,direction:s?.direction,beforeTimestamp:s?.before?.getTime(),afterTimestamp:s?.after?.getTime(),beforeBlockHeight:s?.beforeBlockHeight,afterBlockHeight:s?.afterBlockHeight,poolAddress:s?.poolAddress,type:s?.type?s.type.toUpperCase():void 0});return N(n)}async getTokenTradeActivities(r,t,s){let n=await this._client.trade.getTrades(d(r),{tokenAddress:t,cursor:s?.cursor,limit:s?.limit,direction:s?.direction,beforeTimestamp:s?.before?.getTime(),afterTimestamp:s?.after?.getTime(),beforeBlockHeight:s?.beforeBlockHeight,afterBlockHeight:s?.afterBlockHeight,poolAddress:s?.poolAddress,type:s?.type?s.type.toUpperCase():void 0});return N(n)}async getPresignedUploadUrl(){return await this._client.ipfs.presign()}subscribeTokenBasic(r,t,s){throw new Error("subscribeTokenBasic is not supported by ChainStream backend. Token basic info (name, symbol, image) rarely changes in real-time.")}subscribeTokenMarketData(r,t,s){return this._client.stream.subscribeTokenStats({chain:d(r),tokenAddress:t,callback:n=>s([w(n)])})}subscribeTokenStats(r,t,s){return this._client.stream.subscribeTokenStats({chain:d(r),tokenAddress:t,callback:n=>s([U(n)])})}subscribeTokenCandles(r,t,s,n){return this._client.stream.subscribeTokenCandles({chain:d(r),tokenAddress:t,resolution:H(s),callback:a=>n([se(a)])})}subscribeWalletPnl(r,t,s){return this._client.stream.subscribeWalletPnl({chain:d(r),walletAddress:t,callback:n=>s([{chain:r,address:n.walletAddress,profitInUsd:n.totalRealizedProfitInUsd}])})}subscribeWalletPortfolios(r,t,s){return this._client.stream.subscribeWalletBalance({chain:d(r),walletAddress:t,callback:n=>s(n.map(a=>ne(r,a)))})}subscribeWalletPortfolioPnls(r,t,s){return this._client.stream.subscribeWalletPnl({chain:d(r),walletAddress:t,callback:n=>s([oe(r,n)])})}subscribeWalletTradeActivities(r,t,s){return this._client.stream.subscribeWalletTrade({chain:d(r),walletAddress:t,callback:n=>s([M(r,n)])})}subscribeTokenTradeActivities(r,t,s){return this._client.stream.subscribeTokenTrade({chain:d(r),tokenAddress:t,callback:n=>s([M(r,n)])})}subscribeNewTokens(r,t){return this._client.stream.subscribeNewToken({chain:d(r),callback:s=>t([re(r,s)])})}subscribeNewTokensBasic(r,t){return this._client.stream.subscribeNewTokensMetadata({chain:d(r),callback:s=>t(s.map(n=>te(r,n)))})}subscribeNewTokensMarketData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.New,callback:s=>t(s.map(w))})}subscribeNewTokensStats(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.New,callback:s=>t(s.map(U))})}subscribeNewTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.New,callback:s=>t(s.map(S))})}subscribeMigratedTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.COMPLETED,callback:s=>t(s.map(S))})}subscribeFinalStretchTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.New,callback:s=>t(s.map(S))})}subscribeTrendingTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.HOT,callback:s=>t(s.map(S))})}subscribeStockTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:sdk.WsChannelType.US_STOCKS,callback:s=>t(s.map(S))})}};function C(e){let r=e.find(t=>t.field==="launchedFromProtocolFamily");if(r){if(r.operator==="eq")return [r.value];if(r.operator==="in")return r.value;console.warn("invalid launchedFromProtocolFamily filter",r);}}function Bi({client:e,subscribeClient:r,children:t}){return jsxRuntime.jsx(p.Provider,{value:{client:e,subscribeClient:r},children:t})}exports.Client=ae;exports.DexClientContext=p;exports.DexClientProvider=Bi;exports.fetchFinalStretchTokens=ke;exports.fetchMigratedTokens=Pe;exports.fetchNewTokens=Se;exports.fetchPresignedUploadUrl=Ce;exports.fetchSearchTokens=Ue;exports.fetchStockTokens=Qe;exports.fetchSwapRoute=Oe;exports.fetchToken=ze;exports.fetchTokenCandles=Me;exports.fetchTokenHolders=Ke;exports.fetchTokenMarketData=Le;exports.fetchTokenSecurity=je;exports.fetchTokenStats=tr;exports.fetchTokenTradeActivities=or;exports.fetchTokens=Ze;exports.fetchTrendingTokens=lr;exports.fetchTxSuccess=ur;exports.fetchWalletPnl=yr;exports.fetchWalletPortfolioPnls=br;exports.fetchWalletPortfolios=gr;exports.fetchWalletTradeActivities=Ir;exports.finalStretchTokensQueryKey=Te;exports.migratedTokensQueryKey=he;exports.newTokensQueryKey=Ae;exports.searchTokensQueryKey=pe;exports.sendTx=De;exports.stockTokensQueryKey=ve;exports.swapRouteQueryKey=We;exports.tokenCandlesQueryKey=Ne;exports.tokenHoldersQueryKey=Be;exports.tokenMarketDataQueryKey=_e;exports.tokenQueryKey=Ge;exports.tokenSecurityQueryKey=Je;exports.tokenStatsQueryKey=rr;exports.tokenTradeActivitiesQueryKey=nr;exports.tokensQueryKey=Ye;exports.trendingTokensQueryKey=ir;exports.txSuccessQueryKey=cr;exports.useDexClient=o;exports.useFinalStretchTokensDataSubscription=po;exports.useFinalStretchTokensQuery=At;exports.useMigratedTokensDataSubscription=So;exports.useMigratedTokensQuery=pt;exports.useNewTokensBasicSubscription=oo;exports.useNewTokensDataSubscription=ho;exports.useNewTokensMarketDataSubscription=co;exports.useNewTokensQuery=vt;exports.useNewTokensStatsSubscription=yo;exports.useNewTokensSubscription=ro;exports.usePresignedUploadUrlQuery=Ft;exports.useSearchTokensQuery=Kt;exports.useSendTxMutation=Gt;exports.useStockTokensDataSubscription=Wo;exports.useStockTokensQuery=Xt;exports.useSwapRouteQuery=ts;exports.useTokenCandlesQuery=is;exports.useTokenCandlesSubscription=Un;exports.useTokenHoldersQuery=ms;exports.useTokenMarketDataQuery=bs;exports.useTokenMarketDataSubscription=vn;exports.useTokenQuery=Ss;exports.useTokenSecurityQuery=Us;exports.useTokenStatsQuery=Ns;exports.useTokenStatsSubscription=In;exports.useTokenTradeActivitiesQuery=Es;exports.useTokenTradeActivitiesSubscription=On;exports.useTokensQuery=Qs;exports.useTrendingTokensDataSubscription=Ro;exports.useTrendingTokensQuery=zs;exports.useTxSuccessQuery=Ys;exports.useWalletPnlQuery=sn;exports.useWalletPnlSubscription=qn;exports.useWalletPortfolioPnlsQuery=dn;exports.useWalletPortfolioPnlsSubscription=zn;exports.useWalletPortfoliosQuery=yn;exports.useWalletPortfoliosSubscription=_n;exports.useWalletTradeActivitiesQuery=Pn;exports.useWalletTradeActivitiesSubscription=Xn;exports.version=ue;exports.walletPnlQueryKey=fr;exports.walletPortfolioPnlsQueryKey=kr;exports.walletPortfoliosQueryKey=Pr;exports.walletTradeActivitiesQueryKey=Sr;//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map