@liberfi.io/client 0.1.29 → 0.1.30
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 +30 -16
- package/dist/index.d.ts +30 -16
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/utils.d.mts +5 -9
- package/dist/utils.d.ts +5 -9
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/dist/utils.mjs +1 -1
- package/dist/utils.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {createContext,useContext,useRef,useEffect}from'react';import {useQuery,useMutation}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.29");var ue="0.1.29";var p=createContext({});function o(){let e=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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 useQuery({queryKey:Sr(e),queryFn:async()=>Ir(t,e),...r})}function In(e,r,t){let{subscribeClient:s}=o(),n=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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=useRef(r);n.current=r,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 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 T(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 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 SafeBigNumber(r.value).toString():r.value),["lt","lte","between"].indexOf(r.operator)>=0&&(t.max=typeof r.value=="number"?new SafeBigNumber(r.value).toString():r.value),t})}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 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 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===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(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??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 SafeBigNumber(v).plus(Q).toString():void 0,ce=I&&x&&new SafeBigNumber(I).gt(0)?new 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 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:WsChannelType.New,callback:s=>t(s.map(w))})}subscribeNewTokensStats(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:WsChannelType.New,callback:s=>t(s.map(U))})}subscribeNewTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:WsChannelType.New,callback:s=>t(s.map(S))})}subscribeMigratedTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:WsChannelType.COMPLETED,callback:s=>t(s.map(S))})}subscribeFinalStretchTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:WsChannelType.New,callback:s=>t(s.map(S))})}subscribeTrendingTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType:WsChannelType.HOT,callback:s=>t(s.map(S))})}subscribeStockTokensData(r,t){return this._client.stream.subscribeRankingTokensStats({chain:d(r),channelType: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 jsx(p.Provider,{value:{client:e,subscribeClient:r},children:t})}export{ae as Client,p as DexClientContext,Bi as DexClientProvider,ke as fetchFinalStretchTokens,Pe as fetchMigratedTokens,Se as fetchNewTokens,Ce as fetchPresignedUploadUrl,Ue as fetchSearchTokens,Qe as fetchStockTokens,Oe as fetchSwapRoute,ze as fetchToken,Me as fetchTokenCandles,Ke as fetchTokenHolders,Le as fetchTokenMarketData,je as fetchTokenSecurity,tr as fetchTokenStats,or as fetchTokenTradeActivities,Ze as fetchTokens,lr as fetchTrendingTokens,ur as fetchTxSuccess,yr as fetchWalletPnl,br as fetchWalletPortfolioPnls,gr as fetchWalletPortfolios,Ir as fetchWalletTradeActivities,Te as finalStretchTokensQueryKey,he as migratedTokensQueryKey,Ae as newTokensQueryKey,pe as searchTokensQueryKey,De as sendTx,ve as stockTokensQueryKey,We as swapRouteQueryKey,Ne as tokenCandlesQueryKey,Be as tokenHoldersQueryKey,_e as tokenMarketDataQueryKey,Ge as tokenQueryKey,Je as tokenSecurityQueryKey,rr as tokenStatsQueryKey,nr as tokenTradeActivitiesQueryKey,Ye as tokensQueryKey,ir as trendingTokensQueryKey,cr as txSuccessQueryKey,o as useDexClient,po as useFinalStretchTokensDataSubscription,At as useFinalStretchTokensQuery,So as useMigratedTokensDataSubscription,pt as useMigratedTokensQuery,oo as useNewTokensBasicSubscription,ho as useNewTokensDataSubscription,co as useNewTokensMarketDataSubscription,vt as useNewTokensQuery,yo as useNewTokensStatsSubscription,ro as useNewTokensSubscription,Ft as usePresignedUploadUrlQuery,Kt as useSearchTokensQuery,Gt as useSendTxMutation,Wo as useStockTokensDataSubscription,Xt as useStockTokensQuery,ts as useSwapRouteQuery,is as useTokenCandlesQuery,Un as useTokenCandlesSubscription,ms as useTokenHoldersQuery,bs as useTokenMarketDataQuery,vn as useTokenMarketDataSubscription,Ss as useTokenQuery,Us as useTokenSecurityQuery,Ns as useTokenStatsQuery,In as useTokenStatsSubscription,Es as useTokenTradeActivitiesQuery,On as useTokenTradeActivitiesSubscription,Qs as useTokensQuery,Ro as useTrendingTokensDataSubscription,zs as useTrendingTokensQuery,Ys as useTxSuccessQuery,sn as useWalletPnlQuery,qn as useWalletPnlSubscription,dn as useWalletPortfolioPnlsQuery,zn as useWalletPortfolioPnlsSubscription,yn as useWalletPortfoliosQuery,_n as useWalletPortfoliosSubscription,Pn as useWalletTradeActivitiesQuery,Xn as useWalletTradeActivitiesSubscription,ue as version,fr as walletPnlQueryKey,kr as walletPortfolioPnlsQueryKey,Pr as walletPortfoliosQueryKey,Sr as walletTradeActivitiesQueryKey};//# sourceMappingURL=index.mjs.map
|
|
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.30");var de="0.1.30";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
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|