@liberfi.io/client 0.1.13 → 0.1.15

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.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var react=require('react'),reactQuery=require('@tanstack/react-query'),sdk=require('@chainstream-io/sdk'),utils=require('@liberfi.io/utils'),openapi=require('@chainstream-io/sdk/openapi'),types=require('@liberfi.io/types'),jsxRuntime=require('react/jsx-runtime');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/client"]="0.1.12");var _="0.1.12";var S=react.createContext({});function i(){let e=react.useContext(S);if(!e)throw new Error("useDexClient must be used within an DexClientProvider");return e}function W(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 V(e,{chain:r,...t}){return await e.getFinalStretchTokens(r,t)}function lr(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:W(e),queryFn:async()=>V(t,e),...r})}function G(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 j(e,{chain:r,...t}){return await e.getMigratedTokens(r,t)}function Tr(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:G(e),queryFn:async()=>j(t,e),...r})}function Y(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 Z(e,{chain:r,...t}){return await e.getNewTokens(r,t)}function Pr(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Y(e),queryFn:async()=>Z(t,e),...r})}async function ee(e){return await e.getPresignedUploadUrl()}function xr(e={}){let{client:r}=i();return reactQuery.useQuery({queryKey:["presignedUploadUrl"],queryFn:async()=>ee(r),...e})}function te(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 oe(e,r){return await e.searchTokens(r)}function Qr(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:te(e),queryFn:async()=>oe(t,e),...r})}async function se(e,r){return await e.sendTx(r)}function Rr(e={}){let{client:r}=i();return reactQuery.useMutation({mutationFn:async t=>se(r,t),...e})}function ae(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 ce(e,{chain:r,...t}){return await e.getStockTokens(r,t)}function Kr(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:ae(e),queryFn:async()=>ce(t,e),...r})}function ue(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 de(e,r){return await e.swapRoute(r)}function Lr(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:ue(e),queryFn:async()=>de(t,e),...r})}function ke(e){return ["tokenCandles",e.chain,e.address,e.resolution,e.after?.toString()??"",e.before?.toString()??"",e.limit?`${e.limit}`:""]}async function Te(e,{chain:r,address:t,resolution:o,...n}){return await e.getTokenCandles(r,t,o,n)}function jr(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:ke(e),queryFn:async()=>Te(t,e),...r})}function fe(e){return ["tokenHolders",e.chain,e.address,e.cursor??"",e.limit?`${e.limit}`:"",e.direction??""]}async function he(e,{chain:r,address:t,...o}){return await e.getTokenHolders(r,t,o)}function et(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:fe(e),queryFn:async()=>he(t,e),...r})}function Pe(e){return ["tokenMarketData",e.chain,e.address]}async function pe(e,{chain:r,address:t}){return await e.getTokenMarketData(r,t)}function st(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Pe(e),queryFn:async()=>pe(t,e),...r})}function Se(e){return ["token",e.chain,e.address]}async function Ce(e,{chain:r,address:t}){return await e.getToken(r,t)}function ut(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Se(e),queryFn:async()=>Ce(t,e),...r})}function Ie(e){return ["tokenSecurity",e.chain,e.address]}async function we(e,{chain:r,address:t}){return await e.getTokenSecurity(r,t)}function mt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Ie(e),queryFn:async()=>we(t,e),...r})}function Oe(e){return ["tokens",e.chain,e.addresses.sort().join(",")]}async function Qe(e,{chain:r,addresses:t}){return await e.getTokens(r,t)}function pt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Oe(e),queryFn:async()=>Qe(t,e),...r})}function De(e){return ["tokenStats",e.chain,e.address]}async function He(e,{chain:r,address:t}){return await e.getTokenStats(r,t)}function It(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:De(e),queryFn:async()=>He(t,e),...r})}function Re(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 Me(e,{chain:r,address:t,...o}){return await e.getTokenTradeActivities(r,t,o)}function bt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Re(e),queryFn:async()=>Me(t,e),...r})}function Ee(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 qe(e,{chain:r,resolution:t,...o}){return await e.getTrendingTokens(r,t,o)}function Mt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Ee(e),queryFn:async()=>qe(t,e),...r})}function Be(e){return ["txSuccess",e.chain,e.txHash,e.timeout?`${e.timeout}`:""]}async function _e(e,{chain:r,txHash:t,timeout:o}){return await e.checkTxSuccess(r,t,o)}function Bt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Be(e),queryFn:async()=>_e(t,e),...r})}function $e(e){return ["walletPortfolios",e.chain,e.address]}async function Le(e,{chain:r,address:t}){return await e.getWalletPortfolios(r,t)}function Wt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:$e(e),queryFn:async()=>Le(t,e),...r})}function Ve(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 Je(e,{chain:r,address:t,...o}){return await e.getWalletTradeActivities(r,t,o)}function zt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Ve(e),queryFn:async()=>Je(t,e),...r})}function c(e){switch(e){case types.Chain.ETHEREUM:return openapi.ChainSymbol.Eth;case types.Chain.POLYGON:return openapi.ChainSymbol.Polygon;case types.Chain.BINANCE:return openapi.ChainSymbol.Bsc;case types.Chain.ARBITRUM:return openapi.ChainSymbol.Arbitrum;case types.Chain.OPTIMISM:return openapi.ChainSymbol.Optimism;case types.Chain.AVALANCHE:return openapi.ChainSymbol.Avalanche;case types.Chain.BASE:return openapi.ChainSymbol.Base;case types.Chain.ZKSYNC_ERA:return openapi.ChainSymbol.Zksync;case types.Chain.SOLANA:return openapi.ChainSymbol.Sol}throw new Error(`Unsupported chain: ${e}`)}function U(e){switch(e){case "1s":return openapi.Resolution._1s;case "15s":return openapi.Resolution._15s;case "30s":return openapi.Resolution._30s;case "1m":return openapi.Resolution._1m;case "5m":return openapi.Resolution._5m;case "15m":return openapi.Resolution._15m;case "30m":case "1h":return openapi.Resolution._1h;case "4h":return openapi.Resolution._4h;case "12h":return openapi.Resolution._12h;case "24h":return openapi.Resolution._1d}}function g(e){switch(e){case "asc":return "ASC";case "desc":return "DESC"}}function O(e){switch(e){case "marketCap":return openapi.SearchSortByEnum.MarketCapInUsd;case "tvl":return openapi.SearchSortByEnum.LiquidityInUsd;case "price":return openapi.SearchSortByEnum.PriceInUsd;case "holders":return openapi.SearchSortByEnum.HolderCount;case "volumes24h":return openapi.SearchSortByEnum.H24VolumeInUsd;case "trades24h":return openapi.SearchSortByEnum.H24Transactions;case "createdAt":return openapi.SearchSortByEnum.TokenCreatedAt}throw new Error(`Unsupported search field: ${e}`)}function h(e){switch(e){case "price":return openapi.GetNewTokensSortByEnum.MarketDataPriceInUsd;case "priceChange1m":return openapi.GetNewTokensSortByEnum.StatsPriceChangeRatioInUsd1m;case "priceChange5m":return openapi.GetNewTokensSortByEnum.StatsPriceChangeRatioInUsd5m;case "priceChange1h":return openapi.GetNewTokensSortByEnum.StatsPriceChangeRatioInUsd1h;case "priceChange4h":return openapi.GetNewTokensSortByEnum.StatsPriceChangeRatioInUsd4h;case "priceChange24h":return openapi.GetNewTokensSortByEnum.StatsPriceChangeRatioInUsd24h;case "marketCap":return openapi.GetNewTokensSortByEnum.MarketDataMarketCapInUsd;case "tvl":return openapi.GetNewTokensSortByEnum.MarketDataTvlInUsd;case "top10Holdings":return openapi.GetNewTokensSortByEnum.MarketDataTop10TotalHoldings;case "top10Ratio":return openapi.GetNewTokensSortByEnum.MarketDataTop10HoldingsRatio;case "top100Holdings":return openapi.GetNewTokensSortByEnum.MarketDataTop100TotalHoldings;case "top100Ratio":return openapi.GetNewTokensSortByEnum.MarketDataTop100HoldingsRatio;case "holders":return openapi.GetNewTokensSortByEnum.MarketDataHolders;case "creatorsHoldings":return openapi.GetNewTokensSortByEnum.MarketDataCreatorHoldings;case "creatorsRatio":return openapi.GetNewTokensSortByEnum.MarketDataCreatorHoldingsRatio;case "buys1m":return openapi.GetNewTokensSortByEnum.StatsBuys1m;case "buys5m":return openapi.GetNewTokensSortByEnum.StatsBuys5m;case "buys15m":return openapi.GetNewTokensSortByEnum.StatsBuys15m;case "buys30m":return openapi.GetNewTokensSortByEnum.StatsBuys30m;case "buys1h":return openapi.GetNewTokensSortByEnum.StatsBuys1h;case "buys4h":return openapi.GetNewTokensSortByEnum.StatsBuys4h;case "buys24h":return openapi.GetNewTokensSortByEnum.StatsBuys24h;case "sells1m":return openapi.GetNewTokensSortByEnum.StatsSells1m;case "sells5m":return openapi.GetNewTokensSortByEnum.StatsSells5m;case "sells15m":return openapi.GetNewTokensSortByEnum.StatsSells15m;case "sells30m":return openapi.GetNewTokensSortByEnum.StatsSells30m;case "sells1h":return openapi.GetNewTokensSortByEnum.StatsSells1h;case "sells4h":return openapi.GetNewTokensSortByEnum.StatsSells4h;case "sells24h":return openapi.GetNewTokensSortByEnum.StatsSells24h;case "trades1m":return openapi.GetNewTokensSortByEnum.StatsTrades1m;case "trades5m":return openapi.GetNewTokensSortByEnum.StatsTrades5m;case "trades1h":return openapi.GetNewTokensSortByEnum.StatsTrades1h;case "trades4h":return openapi.GetNewTokensSortByEnum.StatsTrades4h;case "trades24h":return openapi.GetNewTokensSortByEnum.StatsTrades24h;case "traders1m":return openapi.GetNewTokensSortByEnum.StatsTraders1m;case "traders5m":return openapi.GetNewTokensSortByEnum.StatsTraders5m;case "traders1h":return openapi.GetNewTokensSortByEnum.StatsTraders1h;case "traders4h":return openapi.GetNewTokensSortByEnum.StatsTraders4h;case "traders24h":return openapi.GetNewTokensSortByEnum.StatsTraders24h;case "volumes1m":return openapi.GetNewTokensSortByEnum.StatsVolumesInUsd1m;case "volumes5m":return openapi.GetNewTokensSortByEnum.StatsVolumesInUsd5m;case "volumes1h":return openapi.GetNewTokensSortByEnum.StatsVolumesInUsd1h;case "volumes4h":return openapi.GetNewTokensSortByEnum.StatsVolumesInUsd4h;case "volumes24h":return openapi.GetNewTokensSortByEnum.StatsVolumesInUsd24h;case "createdAt":return openapi.GetNewTokensSortByEnum.TokenCreatedAt}throw new Error(`Unsupported sortBy: ${e}`)}function P(e){return e.filter(r=>["gt","gte","lt","lte","between"].indexOf(r.operator)>=0).map(r=>{let t={field:h(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 Ge(e){switch(e){case openapi.ChainSymbol.Eth:return types.Chain.ETHEREUM;case openapi.ChainSymbol.Polygon:return types.Chain.POLYGON;case openapi.ChainSymbol.Bsc:return types.Chain.BINANCE;case openapi.ChainSymbol.Arbitrum:return types.Chain.ARBITRUM;case openapi.ChainSymbol.Optimism:return types.Chain.OPTIMISM;case openapi.ChainSymbol.Avalanche:return types.Chain.AVALANCHE;case openapi.ChainSymbol.Base:return types.Chain.BASE;case openapi.ChainSymbol.Zksync:return types.Chain.ZKSYNC_ERA;case openapi.ChainSymbol.Sol:case "solana":return types.Chain.SOLANA}throw new Error(`Unsupported chain: ${e}`)}function je(e){return {address:e.address,share:e.share,isVerified:e.isVerified}}function k(e){return {chain:Ge(e.chain),name:e.name,symbol:e.symbol,address:e.address,decimals:e.decimals,image:e.imageUrl,description:e.description,creators:e.tokenCreators?.map(je),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?x(e.stats):void 0,marketData:e.marketData?I(e.marketData):void 0,liquidities:e.liquidity?.map(ze),createdAt:e.tokenCreatedAt?new Date(e.tokenCreatedAt):void 0}}function x(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 f(e,r){switch(r){case "1m":case "5m":case "15m":case "30m":case "1h":case "4h":case "24h":return {buys:e[`buys${r}`],sells:e[`sells${r}`],trades:e[`trades${r}`],buyers:e[`buyers${r}`],sellers:e[`sellers${r}`],traders:e[`traders${r}`],buyVolumes:e[`buyVolumes${r}`],sellVolumes:e[`sellsVolumes${r}`],volumes:e[`volumes${r}`],buyVolumesInUsd:e[`buyVolumesInUsd${r}`],sellVolumesInUsd:e[`sellVolumesInUsd${r}`],volumesInUsd:e[`volumesInUsd${r}`],openPriceInUsd:e[`openPriceInUsd${r}`],closePriceInUsd:e[`closePriceInUsd${r}`],highPriceInUsd:e[`highInUsd${r}`],lowPriceInUsd:e[`lowInUsd${r}`],priceInUsd:e[`price${r}`],priceChange:e[`priceChangeRatioInUsd${r}`]};default:throw new Error(`Unsupported resolution: ${r}`)}}function ze(e){return {image:e.image,poolAddress:e.poolAddress,programAddress:e.programAddress,protocolFamily:e.protocolFamily,tvl:e.tvlInSol,tvlInUsd:e.tvlInUsd}}function I(e){return {totalSupply:e.totalSupply,marketCap:e.marketCapInSol,marketCapInUsd:e.marketCapInUsd,price:e.priceInSol,priceInUsd:e.priceInUsd,tvl:e.tvlInSol,tvlInUsd:e.tvlInUsd,holders:e.holders,top10Holdings:e.top10TotalHoldings,top10HoldingsRatio:e.top10HoldingsRatio,top50Holdings:e.top50TotalHoldings,top50HoldingsRatio:e.top50HoldingsRatio,top100Holdings:e.top100TotalHoldings,top100HoldingsRatio:e.top100HoldingsRatio,bluechipHolders:e.bluechipTotalHolders===void 0?void 0:parseInt(e.bluechipTotalHolders),bluechipHoldings:e.bluechipTotalHoldings,bluechipHoldingsRatio:e.bluechipHoldingsRatio,kolHolders:e.kolTotalHolders===void 0?void 0:parseInt(e.kolTotalHolders),kolHoldings:e.kolTotalHoldings,kolHoldingsRatio:e.kolHoldingsRatio,sniperHolders:e.sniperTotalHolders===void 0?void 0:parseInt(e.sniperTotalHolders),sniperHoldings:e.sniperTotalHoldings,sniperHoldingsRatio:e.sniperHoldingsRatio,proHolders:e.proTotalHolders===void 0?void 0:parseInt(e.proTotalHolders),proHoldings:e.proTotalHoldings,proHoldingsRatio:e.proHoldingsRatio,insiderHolders:e.insiderTotalHolders===void 0?void 0:parseInt(e.insiderTotalHolders),insiderHoldings:e.insiderTotalHoldings,insiderHoldingsRatio:e.insiderHoldingsRatio,sandwichHolders:e.sandwishTotalHolders===void 0?void 0:parseInt(e.sandwishTotalHolders),sandwichHoldings:e.sandwishTotalHoldings,sandwichHoldingsRatio:e.sandwishHoldingsRatio,freshHolders:e.freshTotalHolders===void 0?void 0:parseInt(e.freshTotalHolders),freshHoldings:e.freshTotalHoldings,freshHoldingsRatio:e.freshHoldingsRatio,bundleHolders:e.bundleTotalHolders===void 0?void 0:parseInt(e.bundleTotalHolders),bundleHoldings:e.bundleTotalHoldings,bundleHoldingsRatio:e.bundleHoldingsRatio,devHolders:e.devTotalHolders===void 0?void 0:parseInt(e.devTotalHolders),devHoldings:e.devTotalHoldings,devHoldingsRatio:e.devHoldingsRatio}}function Q(e){throw new Error("Method not implemented.")}function b(e){throw new Error("Method not implemented.")}function D(e){throw new Error("Method not implemented.")}function H(e){throw new Error("Method not implemented.")}function v(e){throw new Error("Method not implemented.")}function R(e){throw new Error("Method not implemented.")}function M(e){throw new Error("Method not implemented.")}function F(e){throw new Error("Method not implemented.")}function E(e){throw new Error("Method not implemented.")}function w(e){throw new Error("Method not implemented.")}function q(e,r){throw new Error("Method not implemented.")}function K(e,r){throw new Error("Method not implemented.")}var B=class{constructor(r,t){this.accessToken=r;this.options=t;this._client=new sdk.DexClient(this.accessToken,this.options);}_client;async getToken(r,t){let o=await this._client.token.getToken({chain:c(r),tokenAddress:t});return k(o)}async getTokens(r,t){return (await this._client.token.getTokens({chain:c(r),tokenAddresses:t.join(",")})).map(k)}async getTokenCandles(r,t,o,n){return (await this._client.token.getCandles({chain:c(r),tokenAddress:t,resolution:U(o),from:n?.after?.getTime(),to:n?.before?.getTime(),limit:n?.limit})).map(Q)}async getTokenSecurity(r,t){await this._client.token.getSecurity({chain:c(r),tokenAddress:t});return b()}async getTokenStats(r,t){let o=await this._client.token.getStats({chain:c(r),tokenAddress:t});return x(o)}async getTokenHolders(r,t,o){await this._client.token.getHolders({chain:c(r),tokenAddress:t,cursor:o?.cursor,limit:o?.limit,direction:o?.direction});return v()}async getTokenMarketData(r,t){let o=await this._client.token.getMarketData({chain:c(r),tokenAddress:t});return I(o)}async getNewTokens(r,t){let o=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),n=new URLSearchParams;return t?.sortBy&&n.set("sortBy",h(t.sortBy)),t?.sortDirection&&n.set("sortDirection",g(t.sortDirection)),t?.filters&&(n.set("rangeFilters",JSON.stringify(P(t.filters))),n.set("launchpadPlatform",JSON.stringify(A(t.filters)))),t?.keywords&&n.set("searchKeywords",t.keywords.join(",")),t?.excludeKeywords&&n.set("excludeKeywords",t.excludeKeywords.join(",")),(await utils.get(`${this.options?.serverUrl}/v1/ranking/${c(r)}/newTokens`,{method:"GET",headers:{Authorization:`Bearer ${o}`}})).map(a=>(a.tokenCreators&&Array.isArray(a.tokenCreators)?a.tokenCreators.length>0&&Object.keys(a.tokenCreators[0]).length===0&&(a.tokenCreators=[]):a.tokenCreators=[],a)).map(k)}async getFinalStretchTokens(r,t){let o=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),n=new URLSearchParams;return t?.sortBy&&n.set("sortBy",h(t.sortBy)),t?.sortDirection&&n.set("sortDirection",g(t.sortDirection)),t?.filters&&(n.set("rangeFilters",JSON.stringify(P(t.filters))),n.set("launchpadPlatform",JSON.stringify(A(t.filters)))),t?.keywords&&n.set("searchKeywords",t.keywords.join(",")),t?.excludeKeywords&&n.set("excludeKeywords",t.excludeKeywords.join(",")),(await utils.get(`${this.options?.serverUrl}/v1/ranking/${c(r)}/finalStretch`,{method:"GET",headers:{Authorization:`Bearer ${o}`}})).map(a=>(a.tokenCreators&&Array.isArray(a.tokenCreators)?a.tokenCreators.length>0&&Object.keys(a.tokenCreators[0]).length===0&&(a.tokenCreators=[]):a.tokenCreators=[],a)).map(k)}async getMigratedTokens(r,t){let o=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),n=new URLSearchParams;return t?.sortBy&&n.set("sortBy",h(t.sortBy)),t?.sortDirection&&n.set("sortDirection",g(t.sortDirection)),t?.filters&&(n.set("rangeFilters",JSON.stringify(P(t.filters))),n.set("launchpadPlatform",JSON.stringify(A(t.filters)))),t?.keywords&&n.set("searchKeywords",t.keywords.join(",")),t?.excludeKeywords&&n.set("excludeKeywords",t.excludeKeywords.join(",")),(await utils.get(`${this.options?.serverUrl}/v1/ranking/${c(r)}/migrated`,{method:"GET",headers:{Authorization:`Bearer ${o}`}})).map(a=>(a.tokenCreators&&Array.isArray(a.tokenCreators)?a.tokenCreators.length>0&&Object.keys(a.tokenCreators[0]).length===0&&(a.tokenCreators=[]):a.tokenCreators=[],a)).map(k)}async getTrendingTokens(r,t,o){let n=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),d=new URLSearchParams;return o?.sortBy&&d.set("sortBy",h(o.sortBy)),o?.sortDirection&&d.set("sortDirection",g(o.sortDirection)),o?.filters&&(d.set("rangeFilters",JSON.stringify(P(o.filters))),d.set("launchpadPlatform",JSON.stringify(A(o.filters)))),o?.keywords&&d.set("searchKeywords",o.keywords.join(",")),o?.excludeKeywords&&d.set("excludeKeywords",o.excludeKeywords.join(",")),(await utils.get(`${this.options?.serverUrl}/v1/ranking/${c(r)}/hotTokens/${t}`,{method:"GET",headers:{Authorization:`Bearer ${n}`}})).map(T=>(T.tokenCreators&&Array.isArray(T.tokenCreators)?T.tokenCreators.length>0&&Object.keys(T.tokenCreators[0]).length===0&&(T.tokenCreators=[]):T.tokenCreators=[],T)).map(k)}async getStockTokens(r,t){let o=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),n=new URLSearchParams;return t?.sortBy&&n.set("sortBy",h(t.sortBy)),t?.sortDirection&&n.set("sortDirection",g(t.sortDirection)),t?.filters&&(n.set("rangeFilters",JSON.stringify(P(t.filters))),n.set("launchpadPlatform",JSON.stringify(A(t.filters)))),t?.keywords&&n.set("searchKeywords",t.keywords.join(",")),t?.excludeKeywords&&n.set("excludeKeywords",t.excludeKeywords.join(",")),(await utils.get(`${this.options?.serverUrl}/v1/ranking/${c(r)}/stocks`,{method:"GET",headers:{Authorization:`Bearer ${o}`}})).map(a=>(a.tokenCreators&&Array.isArray(a.tokenCreators)?a.tokenCreators.length>0&&Object.keys(a.tokenCreators[0]).length===0&&(a.tokenCreators=[]):a.tokenCreators=[],a)).map(k)}async searchTokens(r){await this._client.token.search({chains:r?.chains?.map(c),q:r?.keyword,limit:r?.limit,cursor:r?.cursor,sortBy:r?.sortBy?O(r.sortBy):void 0,sort:r?.sortDirection});return R()}async swapRoute(r){await this._client.dex.route({chain:c(r.chain),swapRouteInput:D()});return M()}async sendTx(r){await this._client.transaction.send({chain:c(r.chain),sendTxInput:H()});return F()}async checkTxSuccess(r,t,o){let{result:n}=await this._client.waitForJob(t,o);return n.success}async getWalletPortfolios(r,t){await this._client.wallet.getBalance({chain:c(r),walletAddress:t});return E()}async getWalletTradeActivities(r,t,o){await this._client.trade.getTrades({chain:c(r),walletAddress:t,cursor:o?.cursor,limit:o?.limit,direction:o?.direction,beforeTimestamp:o?.before?.getTime(),afterTimestamp:o?.after?.getTime(),beforeBlockHeight:o?.beforeBlockHeight,afterBlockHeight:o?.afterBlockHeight,poolAddress:o?.poolAddress,type:o?.type?o.type.toUpperCase():void 0});return w()}async getTokenTradeActivities(r,t,o){await this._client.trade.getTrades({chain:c(r),tokenAddress:t,cursor:o?.cursor,limit:o?.limit,direction:o?.direction,beforeTimestamp:o?.before?.getTime(),afterTimestamp:o?.after?.getTime(),beforeBlockHeight:o?.beforeBlockHeight,afterBlockHeight:o?.afterBlockHeight,poolAddress:o?.poolAddress,type:o?.type?o.type.toUpperCase():void 0});return w()}async getPresignedUploadUrl(){return await this._client.ipfs.presign()}subscribeTokenBasic(r,t,o){throw new Error("Method not implemented.")}subscribeTokenMarketData(r,t,o){throw new Error("Method not implemented.")}subscribeTokenStats(r,t,o){throw new Error("Method not implemented.")}subscribeTokenCandles(r,t,o,n){throw new Error("Method not implemented.")}subscribeWalletPnl(r,t,o){throw new Error("Method not implemented.")}subscribeWalletPortfolios(r,t,o){throw new Error("Method not implemented.")}subscribeWalletPortfolioPnls(r,t,o){throw new Error("Method not implemented.")}subscribeWalletTradeActivities(r,t,o){throw new Error("Method not implemented.")}subscribeTokenTradeActivities(r,t,o){throw new Error("Method not implemented.")}subscribeNewTokens(r,t){return this._client.stream.subscribeNewToken({chain:c(r),callback:o=>t([q()])})}subscribeNewTokensBasic(r,t){return this._client.stream.subscribeNewTokensMetadata({chain:c(r),callback:o=>t(o.map(n=>K()))})}subscribeNewTokensMarketData(r,t){throw new Error("Method not implemented.")}subscribeNewTokensStats(r,t){throw new Error("Method not implemented.")}};function A(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 cn({client:e,subscribeClient:r,children:t}){return jsxRuntime.jsx(S.Provider,{value:{client:e,subscribeClient:r},children:t})}exports.Client=B;exports.DexClientContext=S;exports.DexClientProvider=cn;exports.fetchFinalStretchTokens=V;exports.fetchMigratedTokens=j;exports.fetchNewTokens=Z;exports.fetchPresignedUploadUrl=ee;exports.fetchSearchTokens=oe;exports.fetchStockTokens=ce;exports.fetchSwapRoute=de;exports.fetchToken=Ce;exports.fetchTokenCandles=Te;exports.fetchTokenHolders=he;exports.fetchTokenMarketData=pe;exports.fetchTokenSecurity=we;exports.fetchTokenStats=He;exports.fetchTokenTradeActivities=Me;exports.fetchTokens=Qe;exports.fetchTrendingTokens=qe;exports.fetchTxSuccess=_e;exports.fetchWalletPortfolios=Le;exports.fetchWalletTradeActivities=Je;exports.finalStretchTokensQueryKey=W;exports.migratedTokensQueryKey=G;exports.newTokensQueryKey=Y;exports.searchTokensQueryKey=te;exports.sendTx=se;exports.stockTokensQueryKey=ae;exports.swapRouteQueryKey=ue;exports.tokenCandlesQueryKey=ke;exports.tokenHoldersQueryKey=fe;exports.tokenMarketDataQueryKey=Pe;exports.tokenQueryKey=Se;exports.tokenSecurityQueryKey=Ie;exports.tokenStatsQueryKey=De;exports.tokenTradeActivitiesQueryKey=Re;exports.tokensQueryKey=Oe;exports.trendingTokensQueryKey=Ee;exports.txSuccessQueryKey=Be;exports.useDexClient=i;exports.useFinalStretchTokensQuery=lr;exports.useMigratedTokensQuery=Tr;exports.useNewTokensQuery=Pr;exports.usePresignedUploadUrlQuery=xr;exports.useSearchTokensQuery=Qr;exports.useSendTxMutation=Rr;exports.useStockTokensQuery=Kr;exports.useSwapRouteQuery=Lr;exports.useTokenCandlesQuery=jr;exports.useTokenHoldersQuery=et;exports.useTokenMarketDataQuery=st;exports.useTokenQuery=ut;exports.useTokenSecurityQuery=mt;exports.useTokenStatsQuery=It;exports.useTokenTradeActivitiesQuery=bt;exports.useTokensQuery=pt;exports.useTrendingTokensQuery=Mt;exports.useTxSuccessQuery=Bt;exports.useWalletPortfoliosQuery=Wt;exports.useWalletTradeActivitiesQuery=zt;exports.version=_;exports.walletPortfoliosQueryKey=$e;exports.walletTradeActivitiesQueryKey=Ve;//# sourceMappingURL=index.js.map
1
+ 'use strict';var react=require('react'),reactQuery=require('@tanstack/react-query'),sdk=require('@chainstream-io/sdk'),utils=require('@liberfi.io/utils'),openapi=require('@chainstream-io/sdk/openapi'),types=require('@liberfi.io/types'),jsxRuntime=require('react/jsx-runtime');typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/client"]="0.1.12");var N="0.1.12";var C=react.createContext({});function i(){let e=react.useContext(C);if(!e)throw new Error("useDexClient must be used within an DexClientProvider");return e}function W(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 G(e,{chain:r,...t}){return await e.getFinalStretchTokens(r,t)}function lr(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:W(e),queryFn:async()=>G(t,e),...r})}function J(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 j(e,{chain:r,...t}){return await e.getMigratedTokens(r,t)}function Tr(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:J(e),queryFn:async()=>j(t,e),...r})}function Y(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 Z(e,{chain:r,...t}){return await e.getNewTokens(r,t)}function Pr(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Y(e),queryFn:async()=>Z(t,e),...r})}async function ee(e){return await e.getPresignedUploadUrl()}function xr(e={}){let{client:r}=i();return reactQuery.useQuery({queryKey:["presignedUploadUrl"],queryFn:async()=>ee(r),...e})}function te(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 oe(e,r){return await e.searchTokens(r)}function Qr(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:te(e),queryFn:async()=>oe(t,e),...r})}async function se(e,r){return await e.sendTx(r)}function Rr(e={}){let{client:r}=i();return reactQuery.useMutation({mutationFn:async t=>se(r,t),...e})}function ae(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 ce(e,{chain:r,...t}){return await e.getStockTokens(r,t)}function Br(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:ae(e),queryFn:async()=>ce(t,e),...r})}function ue(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 de(e,r){return await e.swapRoute(r)}function Lr(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:ue(e),queryFn:async()=>de(t,e),...r})}function ke(e){return ["tokenCandles",e.chain,e.address,e.resolution,e.after?.toString()??"",e.before?.toString()??"",e.limit?`${e.limit}`:""]}async function Te(e,{chain:r,address:t,resolution:o,...n}){return await e.getTokenCandles(r,t,o,n)}function jr(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:ke(e),queryFn:async()=>Te(t,e),...r})}function he(e){return ["tokenHolders",e.chain,e.address,e.cursor??"",e.limit?`${e.limit}`:"",e.direction??""]}async function fe(e,{chain:r,address:t,...o}){return await e.getTokenHolders(r,t,o)}function et(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:he(e),queryFn:async()=>fe(t,e),...r})}function Pe(e){return ["tokenMarketData",e.chain,e.address]}async function pe(e,{chain:r,address:t}){return await e.getTokenMarketData(r,t)}function st(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Pe(e),queryFn:async()=>pe(t,e),...r})}function Ce(e){return ["token",e.chain,e.address]}async function Se(e,{chain:r,address:t}){return await e.getToken(r,t)}function ut(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Ce(e),queryFn:async()=>Se(t,e),...r})}function we(e){return ["tokenSecurity",e.chain,e.address]}async function Ie(e,{chain:r,address:t}){return await e.getTokenSecurity(r,t)}function mt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:we(e),queryFn:async()=>Ie(t,e),...r})}function Oe(e){return ["tokens",e.chain,e.addresses.sort().join(",")]}async function Qe(e,{chain:r,addresses:t}){return await e.getTokens(r,t)}function pt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Oe(e),queryFn:async()=>Qe(t,e),...r})}function De(e){return ["tokenStats",e.chain,e.address]}async function He(e,{chain:r,address:t}){return await e.getTokenStats(r,t)}function wt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:De(e),queryFn:async()=>He(t,e),...r})}function Re(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 Me(e,{chain:r,address:t,...o}){return await e.getTokenTradeActivities(r,t,o)}function bt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Re(e),queryFn:async()=>Me(t,e),...r})}function Fe(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 qe(e,{chain:r,resolution:t,...o}){return await e.getTrendingTokens(r,t,o)}function Mt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Fe(e),queryFn:async()=>qe(t,e),...r})}function Ke(e){return ["txSuccess",e.chain,e.txHash,e.timeout?`${e.timeout}`:""]}async function Ne(e,{chain:r,txHash:t,timeout:o}){return await e.checkTxSuccess(r,t,o)}function Kt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Ke(e),queryFn:async()=>Ne(t,e),...r})}function $e(e){return ["walletPortfolios",e.chain,e.address]}async function Le(e,{chain:r,address:t}){return await e.getWalletPortfolios(r,t)}function Wt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:$e(e),queryFn:async()=>Le(t,e),...r})}function Ge(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 Ve(e,{chain:r,address:t,...o}){return await e.getWalletTradeActivities(r,t,o)}function zt(e,r={}){let{client:t}=i();return reactQuery.useQuery({queryKey:Ge(e),queryFn:async()=>Ve(t,e),...r})}function c(e){switch(e){case types.Chain.ETHEREUM:return openapi.ChainSymbol.Eth;case types.Chain.POLYGON:return openapi.ChainSymbol.Polygon;case types.Chain.BINANCE:return openapi.ChainSymbol.Bsc;case types.Chain.ARBITRUM:return openapi.ChainSymbol.Arbitrum;case types.Chain.OPTIMISM:return openapi.ChainSymbol.Optimism;case types.Chain.AVALANCHE:return openapi.ChainSymbol.Avalanche;case types.Chain.BASE:return openapi.ChainSymbol.Base;case types.Chain.ZKSYNC_ERA:return openapi.ChainSymbol.Zksync;case types.Chain.SOLANA:return openapi.ChainSymbol.Sol}throw new Error(`Unsupported chain: ${e}`)}function U(e){switch(e){case "1s":return openapi.Resolution._1s;case "15s":return openapi.Resolution._15s;case "30s":return openapi.Resolution._30s;case "1m":return openapi.Resolution._1m;case "5m":return openapi.Resolution._5m;case "15m":return openapi.Resolution._15m;case "30m":case "1h":return openapi.Resolution._1h;case "4h":return openapi.Resolution._4h;case "12h":return openapi.Resolution._12h;case "24h":return openapi.Resolution._1d}}function P(e){switch(e){case "asc":return "ASC";case "desc":return "DESC"}}function O(e){switch(e){case "marketCap":return openapi.SearchSortByEnum.MarketCapInUsd;case "tvl":return openapi.SearchSortByEnum.LiquidityInUsd;case "price":return openapi.SearchSortByEnum.PriceInUsd;case "holders":return openapi.SearchSortByEnum.HolderCount;case "volumes24h":return openapi.SearchSortByEnum.H24VolumeInUsd;case "trades24h":return openapi.SearchSortByEnum.H24Transactions;case "createdAt":return openapi.SearchSortByEnum.TokenCreatedAt}throw new Error(`Unsupported search field: ${e}`)}function f(e){switch(e){case "price":return openapi.GetNewTokensSortByEnum.MarketDataPriceInUsd;case "priceChange1m":return openapi.GetNewTokensSortByEnum.StatsPriceChangeRatioInUsd1m;case "priceChange5m":return openapi.GetNewTokensSortByEnum.StatsPriceChangeRatioInUsd5m;case "priceChange1h":return openapi.GetNewTokensSortByEnum.StatsPriceChangeRatioInUsd1h;case "priceChange4h":return openapi.GetNewTokensSortByEnum.StatsPriceChangeRatioInUsd4h;case "priceChange24h":return openapi.GetNewTokensSortByEnum.StatsPriceChangeRatioInUsd24h;case "marketCap":return openapi.GetNewTokensSortByEnum.MarketDataMarketCapInUsd;case "tvl":return openapi.GetNewTokensSortByEnum.MarketDataTvlInUsd;case "top10Holdings":return openapi.GetNewTokensSortByEnum.MarketDataTop10TotalHoldings;case "top10Ratio":return openapi.GetNewTokensSortByEnum.MarketDataTop10HoldingsRatio;case "top100Holdings":return openapi.GetNewTokensSortByEnum.MarketDataTop100TotalHoldings;case "top100Ratio":return openapi.GetNewTokensSortByEnum.MarketDataTop100HoldingsRatio;case "holders":return openapi.GetNewTokensSortByEnum.MarketDataHolders;case "creatorsHoldings":return openapi.GetNewTokensSortByEnum.MarketDataCreatorHoldings;case "creatorsRatio":return openapi.GetNewTokensSortByEnum.MarketDataCreatorHoldingsRatio;case "buys1m":return openapi.GetNewTokensSortByEnum.StatsBuys1m;case "buys5m":return openapi.GetNewTokensSortByEnum.StatsBuys5m;case "buys15m":return openapi.GetNewTokensSortByEnum.StatsBuys15m;case "buys30m":return openapi.GetNewTokensSortByEnum.StatsBuys30m;case "buys1h":return openapi.GetNewTokensSortByEnum.StatsBuys1h;case "buys4h":return openapi.GetNewTokensSortByEnum.StatsBuys4h;case "buys24h":return openapi.GetNewTokensSortByEnum.StatsBuys24h;case "sells1m":return openapi.GetNewTokensSortByEnum.StatsSells1m;case "sells5m":return openapi.GetNewTokensSortByEnum.StatsSells5m;case "sells15m":return openapi.GetNewTokensSortByEnum.StatsSells15m;case "sells30m":return openapi.GetNewTokensSortByEnum.StatsSells30m;case "sells1h":return openapi.GetNewTokensSortByEnum.StatsSells1h;case "sells4h":return openapi.GetNewTokensSortByEnum.StatsSells4h;case "sells24h":return openapi.GetNewTokensSortByEnum.StatsSells24h;case "trades1m":return openapi.GetNewTokensSortByEnum.StatsTrades1m;case "trades5m":return openapi.GetNewTokensSortByEnum.StatsTrades5m;case "trades1h":return openapi.GetNewTokensSortByEnum.StatsTrades1h;case "trades4h":return openapi.GetNewTokensSortByEnum.StatsTrades4h;case "trades24h":return openapi.GetNewTokensSortByEnum.StatsTrades24h;case "traders1m":return openapi.GetNewTokensSortByEnum.StatsTraders1m;case "traders5m":return openapi.GetNewTokensSortByEnum.StatsTraders5m;case "traders1h":return openapi.GetNewTokensSortByEnum.StatsTraders1h;case "traders4h":return openapi.GetNewTokensSortByEnum.StatsTraders4h;case "traders24h":return openapi.GetNewTokensSortByEnum.StatsTraders24h;case "volumes1m":return openapi.GetNewTokensSortByEnum.StatsVolumesInUsd1m;case "volumes5m":return openapi.GetNewTokensSortByEnum.StatsVolumesInUsd5m;case "volumes1h":return openapi.GetNewTokensSortByEnum.StatsVolumesInUsd1h;case "volumes4h":return openapi.GetNewTokensSortByEnum.StatsVolumesInUsd4h;case "volumes24h":return openapi.GetNewTokensSortByEnum.StatsVolumesInUsd24h;case "createdAt":return openapi.GetNewTokensSortByEnum.TokenCreatedAt}throw new Error(`Unsupported sortBy: ${e}`)}function p(e){return e.filter(r=>["gt","gte","lt","lte","between"].indexOf(r.operator)>=0).map(r=>{let t={field:f(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 Je(e){switch(e){case openapi.ChainSymbol.Eth:return types.Chain.ETHEREUM;case openapi.ChainSymbol.Polygon:return types.Chain.POLYGON;case openapi.ChainSymbol.Bsc:return types.Chain.BINANCE;case openapi.ChainSymbol.Arbitrum:return types.Chain.ARBITRUM;case openapi.ChainSymbol.Optimism:return types.Chain.OPTIMISM;case openapi.ChainSymbol.Avalanche:return types.Chain.AVALANCHE;case openapi.ChainSymbol.Base:return types.Chain.BASE;case openapi.ChainSymbol.Zksync:return types.Chain.ZKSYNC_ERA;case openapi.ChainSymbol.Sol:case "solana":return types.Chain.SOLANA}throw new Error(`Unsupported chain: ${e}`)}function je(e){return {address:e.address,share:e.share,isVerified:e.isVerified}}function k(e){return {chain:Je(e.chain),name:e.name,symbol:e.symbol,address:e.address,decimals:e.decimals,image:e.imageUrl,description:e.description,creators:e.tokenCreators?.map(je),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?x(e.stats):void 0,marketData:e.marketData?w(e.marketData):void 0,liquidities:e.liquidity?.map(ze),createdAt:e.tokenCreatedAt?new Date(e.tokenCreatedAt):void 0}}function x(e){return {"1m":h(e,"1m"),"5m":h(e,"5m"),"15m":h(e,"15m"),"30m":h(e,"30m"),"1h":h(e,"1h"),"4h":h(e,"4h"),"24h":h(e,"24h")}}function h(e,r){switch(r){case "1m":case "5m":case "15m":case "30m":case "1h":case "4h":case "24h":return {buys:e[`buys${r}`],sells:e[`sells${r}`],trades:e[`trades${r}`],buyers:e[`buyers${r}`],sellers:e[`sellers${r}`],traders:e[`traders${r}`],buyVolumes:e[`buyVolumes${r}`],sellVolumes:e[`sellsVolumes${r}`],volumes:e[`volumes${r}`],buyVolumesInUsd:e[`buyVolumesInUsd${r}`],sellVolumesInUsd:e[`sellVolumesInUsd${r}`],volumesInUsd:e[`volumesInUsd${r}`],openPriceInUsd:e[`openPriceInUsd${r}`],closePriceInUsd:e[`closePriceInUsd${r}`],highPriceInUsd:e[`highInUsd${r}`],lowPriceInUsd:e[`lowInUsd${r}`],priceInUsd:e[`price${r}`],priceChange:e[`priceChangeRatioInUsd${r}`]};default:throw new Error(`Unsupported resolution: ${r}`)}}function ze(e){return {image:e.image,poolAddress:e.poolAddress,programAddress:e.programAddress,protocolFamily:e.protocolFamily,tvl:e.tvlInSol,tvlInUsd:e.tvlInUsd}}function w(e){return {totalSupply:e.totalSupply,marketCap:e.marketCapInSol,marketCapInUsd:e.marketCapInUsd,price:e.priceInSol,priceInUsd:e.priceInUsd,tvl:e.tvlInSol,tvlInUsd:e.tvlInUsd,holders:e.holders,top10Holdings:e.top10TotalHoldings,top10HoldingsRatio:e.top10HoldingsRatio,top50Holdings:e.top50TotalHoldings,top50HoldingsRatio:e.top50HoldingsRatio,top100Holdings:e.top100TotalHoldings,top100HoldingsRatio:e.top100HoldingsRatio,bluechipHolders:e.bluechipTotalHolders===void 0?void 0:parseInt(e.bluechipTotalHolders),bluechipHoldings:e.bluechipTotalHoldings,bluechipHoldingsRatio:e.bluechipHoldingsRatio,kolHolders:e.kolTotalHolders===void 0?void 0:parseInt(e.kolTotalHolders),kolHoldings:e.kolTotalHoldings,kolHoldingsRatio:e.kolHoldingsRatio,sniperHolders:e.sniperTotalHolders===void 0?void 0:parseInt(e.sniperTotalHolders),sniperHoldings:e.sniperTotalHoldings,sniperHoldingsRatio:e.sniperHoldingsRatio,proHolders:e.proTotalHolders===void 0?void 0:parseInt(e.proTotalHolders),proHoldings:e.proTotalHoldings,proHoldingsRatio:e.proHoldingsRatio,insiderHolders:e.insiderTotalHolders===void 0?void 0:parseInt(e.insiderTotalHolders),insiderHoldings:e.insiderTotalHoldings,insiderHoldingsRatio:e.insiderHoldingsRatio,sandwichHolders:e.sandwishTotalHolders===void 0?void 0:parseInt(e.sandwishTotalHolders),sandwichHoldings:e.sandwishTotalHoldings,sandwichHoldingsRatio:e.sandwishHoldingsRatio,freshHolders:e.freshTotalHolders===void 0?void 0:parseInt(e.freshTotalHolders),freshHoldings:e.freshTotalHoldings,freshHoldingsRatio:e.freshHoldingsRatio,bundleHolders:e.bundleTotalHolders===void 0?void 0:parseInt(e.bundleTotalHolders),bundleHoldings:e.bundleTotalHoldings,bundleHoldingsRatio:e.bundleHoldingsRatio,devHolders:e.devTotalHolders===void 0?void 0:parseInt(e.devTotalHolders),devHoldings:e.devTotalHoldings,devHoldingsRatio:e.devHoldingsRatio}}function Q(e){throw new Error("Method not implemented.")}function b(e){throw new Error("Method not implemented.")}function D(e){throw new Error("Method not implemented.")}function H(e){throw new Error("Method not implemented.")}function v(e){throw new Error("Method not implemented.")}function R(e){throw new Error("Method not implemented.")}function M(e){throw new Error("Method not implemented.")}function E(e){throw new Error("Method not implemented.")}function F(e){throw new Error("Method not implemented.")}function I(e){throw new Error("Method not implemented.")}function q(e,r){throw new Error("Method not implemented.")}function B(e,r){throw new Error("Method not implemented.")}var K=class{constructor(r,t){this.accessToken=r;this.options=t;this._client=new sdk.DexClient(this.accessToken,this.options);}_client;async getToken(r,t){let o=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),n=await utils.get(`${this.options?.serverUrl}/v1/token/${c(r)}/${t}`,{method:"GET",headers:{Authorization:`Bearer ${o}`}});return n.tokenCreators&&Array.isArray(n.tokenCreators)?n.tokenCreators.length>0&&Object.keys(n.tokenCreators[0]).length===0&&(n.tokenCreators=[]):n.tokenCreators=[],k(n)}async getTokens(r,t){let o=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken();return (await utils.get(`${this.options?.serverUrl}/v1/token/${c(r)}/multi?tokenAddresses=${t.join(",")}`,{method:"GET",headers:{Authorization:`Bearer ${o}`}})).map(l=>(l.tokenCreators&&Array.isArray(l.tokenCreators)?l.tokenCreators.length>0&&Object.keys(l.tokenCreators[0]).length===0&&(l.tokenCreators=[]):l.tokenCreators=[],l)).map(k)}async getTokenCandles(r,t,o,n){return (await this._client.token.getCandles({chain:c(r),tokenAddress:t,resolution:U(o),from:n?.after?.getTime(),to:n?.before?.getTime(),limit:n?.limit})).map(Q)}async getTokenSecurity(r,t){await this._client.token.getSecurity({chain:c(r),tokenAddress:t});return b()}async getTokenStats(r,t){let o=await this._client.token.getStats({chain:c(r),tokenAddress:t});return x(o)}async getTokenHolders(r,t,o){await this._client.token.getHolders({chain:c(r),tokenAddress:t,cursor:o?.cursor,limit:o?.limit,direction:o?.direction});return v()}async getTokenMarketData(r,t){let o=await this._client.token.getMarketData({chain:c(r),tokenAddress:t});return w(o)}async getNewTokens(r,t){let o=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),n=new URLSearchParams;return t?.sortBy&&n.set("sortBy",f(t.sortBy)),t?.sortDirection&&n.set("sortDirection",P(t.sortDirection)),t?.filters&&(n.set("rangeFilters",JSON.stringify(p(t.filters))),n.set("launchpadPlatform",JSON.stringify(A(t.filters)))),t?.keywords&&n.set("searchKeywords",t.keywords.join(",")),t?.excludeKeywords&&n.set("excludeKeywords",t.excludeKeywords.join(",")),(await utils.get(`${this.options?.serverUrl}/v1/ranking/${c(r)}/newTokens`,{method:"GET",headers:{Authorization:`Bearer ${o}`}})).map(a=>(a.tokenCreators&&Array.isArray(a.tokenCreators)?a.tokenCreators.length>0&&Object.keys(a.tokenCreators[0]).length===0&&(a.tokenCreators=[]):a.tokenCreators=[],a)).map(k)}async getFinalStretchTokens(r,t){let o=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),n=new URLSearchParams;return t?.sortBy&&n.set("sortBy",f(t.sortBy)),t?.sortDirection&&n.set("sortDirection",P(t.sortDirection)),t?.filters&&(n.set("rangeFilters",JSON.stringify(p(t.filters))),n.set("launchpadPlatform",JSON.stringify(A(t.filters)))),t?.keywords&&n.set("searchKeywords",t.keywords.join(",")),t?.excludeKeywords&&n.set("excludeKeywords",t.excludeKeywords.join(",")),(await utils.get(`${this.options?.serverUrl}/v1/ranking/${c(r)}/finalStretch`,{method:"GET",headers:{Authorization:`Bearer ${o}`}})).map(a=>(a.tokenCreators&&Array.isArray(a.tokenCreators)?a.tokenCreators.length>0&&Object.keys(a.tokenCreators[0]).length===0&&(a.tokenCreators=[]):a.tokenCreators=[],a)).map(k)}async getMigratedTokens(r,t){let o=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),n=new URLSearchParams;return t?.sortBy&&n.set("sortBy",f(t.sortBy)),t?.sortDirection&&n.set("sortDirection",P(t.sortDirection)),t?.filters&&(n.set("rangeFilters",JSON.stringify(p(t.filters))),n.set("launchpadPlatform",JSON.stringify(A(t.filters)))),t?.keywords&&n.set("searchKeywords",t.keywords.join(",")),t?.excludeKeywords&&n.set("excludeKeywords",t.excludeKeywords.join(",")),(await utils.get(`${this.options?.serverUrl}/v1/ranking/${c(r)}/migrated`,{method:"GET",headers:{Authorization:`Bearer ${o}`}})).map(a=>(a.tokenCreators&&Array.isArray(a.tokenCreators)?a.tokenCreators.length>0&&Object.keys(a.tokenCreators[0]).length===0&&(a.tokenCreators=[]):a.tokenCreators=[],a)).map(k)}async getTrendingTokens(r,t,o){let n=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),l=new URLSearchParams;return o?.sortBy&&l.set("sortBy",f(o.sortBy)),o?.sortDirection&&l.set("sortDirection",P(o.sortDirection)),o?.filters&&(l.set("rangeFilters",JSON.stringify(p(o.filters))),l.set("launchpadPlatform",JSON.stringify(A(o.filters)))),o?.keywords&&l.set("searchKeywords",o.keywords.join(",")),o?.excludeKeywords&&l.set("excludeKeywords",o.excludeKeywords.join(",")),(await utils.get(`${this.options?.serverUrl}/v1/ranking/${c(r)}/hotTokens/${t}`,{method:"GET",headers:{Authorization:`Bearer ${n}`}})).map(T=>(T.tokenCreators&&Array.isArray(T.tokenCreators)?T.tokenCreators.length>0&&Object.keys(T.tokenCreators[0]).length===0&&(T.tokenCreators=[]):T.tokenCreators=[],T)).map(k)}async getStockTokens(r,t){let o=typeof this.accessToken=="string"?this.accessToken:await this.accessToken.getToken(),n=new URLSearchParams;return t?.sortBy&&n.set("sortBy",f(t.sortBy)),t?.sortDirection&&n.set("sortDirection",P(t.sortDirection)),t?.filters&&(n.set("rangeFilters",JSON.stringify(p(t.filters))),n.set("launchpadPlatform",JSON.stringify(A(t.filters)))),t?.keywords&&n.set("searchKeywords",t.keywords.join(",")),t?.excludeKeywords&&n.set("excludeKeywords",t.excludeKeywords.join(",")),(await utils.get(`${this.options?.serverUrl}/v1/ranking/${c(r)}/stocks`,{method:"GET",headers:{Authorization:`Bearer ${o}`}})).map(a=>(a.tokenCreators&&Array.isArray(a.tokenCreators)?a.tokenCreators.length>0&&Object.keys(a.tokenCreators[0]).length===0&&(a.tokenCreators=[]):a.tokenCreators=[],a)).map(k)}async searchTokens(r){await this._client.token.search({chains:r?.chains?.map(c),q:r?.keyword,limit:r?.limit,cursor:r?.cursor,sortBy:r?.sortBy?O(r.sortBy):void 0,sort:r?.sortDirection});return R()}async swapRoute(r){await this._client.dex.route({chain:c(r.chain),swapRouteInput:D()});return M()}async sendTx(r){await this._client.transaction.send({chain:c(r.chain),sendTxInput:H()});return E()}async checkTxSuccess(r,t,o){let{result:n}=await this._client.waitForJob(t,o);return n.success}async getWalletPortfolios(r,t){await this._client.wallet.getBalance({chain:c(r),walletAddress:t});return F()}async getWalletTradeActivities(r,t,o){await this._client.trade.getTrades({chain:c(r),walletAddress:t,cursor:o?.cursor,limit:o?.limit,direction:o?.direction,beforeTimestamp:o?.before?.getTime(),afterTimestamp:o?.after?.getTime(),beforeBlockHeight:o?.beforeBlockHeight,afterBlockHeight:o?.afterBlockHeight,poolAddress:o?.poolAddress,type:o?.type?o.type.toUpperCase():void 0});return I()}async getTokenTradeActivities(r,t,o){await this._client.trade.getTrades({chain:c(r),tokenAddress:t,cursor:o?.cursor,limit:o?.limit,direction:o?.direction,beforeTimestamp:o?.before?.getTime(),afterTimestamp:o?.after?.getTime(),beforeBlockHeight:o?.beforeBlockHeight,afterBlockHeight:o?.afterBlockHeight,poolAddress:o?.poolAddress,type:o?.type?o.type.toUpperCase():void 0});return I()}async getPresignedUploadUrl(){return await this._client.ipfs.presign()}subscribeTokenBasic(r,t,o){throw new Error("Method not implemented.")}subscribeTokenMarketData(r,t,o){throw new Error("Method not implemented.")}subscribeTokenStats(r,t,o){throw new Error("Method not implemented.")}subscribeTokenCandles(r,t,o,n){throw new Error("Method not implemented.")}subscribeWalletPnl(r,t,o){throw new Error("Method not implemented.")}subscribeWalletPortfolios(r,t,o){throw new Error("Method not implemented.")}subscribeWalletPortfolioPnls(r,t,o){throw new Error("Method not implemented.")}subscribeWalletTradeActivities(r,t,o){throw new Error("Method not implemented.")}subscribeTokenTradeActivities(r,t,o){throw new Error("Method not implemented.")}subscribeNewTokens(r,t){return this._client.stream.subscribeNewToken({chain:c(r),callback:o=>t([q()])})}subscribeNewTokensBasic(r,t){return this._client.stream.subscribeNewTokensMetadata({chain:c(r),callback:o=>t(o.map(n=>B()))})}subscribeNewTokensMarketData(r,t){throw new Error("Method not implemented.")}subscribeNewTokensStats(r,t){throw new Error("Method not implemented.")}};function A(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 cn({client:e,subscribeClient:r,children:t}){return jsxRuntime.jsx(C.Provider,{value:{client:e,subscribeClient:r},children:t})}exports.Client=K;exports.DexClientContext=C;exports.DexClientProvider=cn;exports.fetchFinalStretchTokens=G;exports.fetchMigratedTokens=j;exports.fetchNewTokens=Z;exports.fetchPresignedUploadUrl=ee;exports.fetchSearchTokens=oe;exports.fetchStockTokens=ce;exports.fetchSwapRoute=de;exports.fetchToken=Se;exports.fetchTokenCandles=Te;exports.fetchTokenHolders=fe;exports.fetchTokenMarketData=pe;exports.fetchTokenSecurity=Ie;exports.fetchTokenStats=He;exports.fetchTokenTradeActivities=Me;exports.fetchTokens=Qe;exports.fetchTrendingTokens=qe;exports.fetchTxSuccess=Ne;exports.fetchWalletPortfolios=Le;exports.fetchWalletTradeActivities=Ve;exports.finalStretchTokensQueryKey=W;exports.migratedTokensQueryKey=J;exports.newTokensQueryKey=Y;exports.searchTokensQueryKey=te;exports.sendTx=se;exports.stockTokensQueryKey=ae;exports.swapRouteQueryKey=ue;exports.tokenCandlesQueryKey=ke;exports.tokenHoldersQueryKey=he;exports.tokenMarketDataQueryKey=Pe;exports.tokenQueryKey=Ce;exports.tokenSecurityQueryKey=we;exports.tokenStatsQueryKey=De;exports.tokenTradeActivitiesQueryKey=Re;exports.tokensQueryKey=Oe;exports.trendingTokensQueryKey=Fe;exports.txSuccessQueryKey=Ke;exports.useDexClient=i;exports.useFinalStretchTokensQuery=lr;exports.useMigratedTokensQuery=Tr;exports.useNewTokensQuery=Pr;exports.usePresignedUploadUrlQuery=xr;exports.useSearchTokensQuery=Qr;exports.useSendTxMutation=Rr;exports.useStockTokensQuery=Br;exports.useSwapRouteQuery=Lr;exports.useTokenCandlesQuery=jr;exports.useTokenHoldersQuery=et;exports.useTokenMarketDataQuery=st;exports.useTokenQuery=ut;exports.useTokenSecurityQuery=mt;exports.useTokenStatsQuery=wt;exports.useTokenTradeActivitiesQuery=bt;exports.useTokensQuery=pt;exports.useTrendingTokensQuery=Mt;exports.useTxSuccessQuery=Kt;exports.useWalletPortfoliosQuery=Wt;exports.useWalletTradeActivitiesQuery=zt;exports.version=N;exports.walletPortfoliosQueryKey=$e;exports.walletTradeActivitiesQueryKey=Ge;//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map