@liberfi.io/ui-tokens 2.0.13 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import {useMemo,useState,useCallback,useRef,useEffect}from'react';import {List}from'react-window';import {cn as cn$1,PauseIcon,Skeleton,Avatar,CameraIcon,StyledTooltip,Image,useCopyToClipboard,toast,CopyIcon,Link,TwitterIcon,TelegramIcon,WebsiteIcon,SearchIcon,PeopleIcon,KlineCandlesIcon,StarIcon,UserWithStarBadgeIcon,CookIcon,RatIcon,SniperIcon,BundlesIcon,Button,TrashIcon,Chip,StyledInput,XCloseIcon,Kbd,TriangleUpIcon,TriangleDownIcon,Spinner,EmptyIcon,useScreen,StyledModal,ModalContent,ModalHeader,ModalBody,useDisclosure,FilterIcon,ScrollShadow,ModalFooter,RefreshIcon,StyledPlainTabs,Tab,ChevronDownIcon,StyledTable,TableHeader,TableColumn,Sortable,TableBody,TableRow,TableCell,DiscordIcon,Progress,StyledLightTabs,StyledBadge,HorsePowerHighIcon,HorsePowerLowIcon,HorsePowerIcon,StyledNumberInput}from'@liberfi.io/ui';import {useTranslation}from'@liberfi.io/i18n';import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useTickAge,useResizeObserver,useCallbackRef}from'@liberfi.io/hooks';import {parseTokenProtocolFamily,SafeBigNumber,searchImageUrl,truncateAddress,formatAge,searchTwitterUrl,formatAmount,formatPercent,formatAmountUSDCompact,formatAmountUSD,formatPriceUSD,debounce,formatPrice,formatTokenProtocolName}from'@liberfi.io/utils';export{formatAmount}from'@liberfi.io/utils';import {SolanaTokenProtocol,Chain}from'@liberfi.io/types';import {useNewTokensQuery,useNewTokensSubscription,useMigratedTokensQuery,useMigratedTokensSubscription,useFinalStretchTokensQuery,useFinalStretchTokensSubscription,useSearchTokensInfiniteQuery,useTrendingTokensQuery,useTrendingTokensSubscription,useTokenHoldersQuery,useTokenSubscription,useTokenActivitiesQuery,useTokenActivitiesSubscription,useTokenSecurityQuery,useTokenStatsQuery,useWalletTokenPositionsQuery,useWalletLimitOrdersQuery,useTokenTopTradersQuery,useTokensByCreatorQuery,useSearchTokensQuery,useStockTokensQuery,useStockTokensSubscription,useTokensQuery,useDexClient,useTokenQuery}from'@liberfi.io/react';import {AsyncModal,useAsyncModal,StatsFlipPanel}from'@liberfi.io/ui-scaffold';import {useAtom}from'jotai';import {atomWithStorage}from'jotai/utils';import {useInfiniteLoader}from'react-window-infinite-loader';typeof window<"u"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/ui-tokens"]="2.0.13");var ta="2.0.13";function Go({title:e,isPaused:t,extra:o,className:s}){let{t:r}=useTranslation();return jsxs("div",{className:cn$1("w-full h-12 px-3 flex-none bg-content1 flex items-center justify-between gap-4 border-b border-border",s),children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("h2",{className:"font-semibold",children:e}),t&&jsxs("div",{className:"flex items-center gap-1 text-primary",children:[jsx(PauseIcon,{className:"w-4 h-4"}),jsx("span",{className:"text-xs hidden sm:inline",children:r("tokens.pulse.paused")})]})]}),o&&jsx("div",{className:"flex items-center gap-3",children:o})]})}function Xo({isLast:e=false,className:t}){return jsxs("div",{className:cn$1("w-full h-full px-3 py-3 overflow-hidden flex gap-3 items-center",!e&&"border-b border-border",t),children:[jsx(Skeleton,{className:"flex-none w-15 h-15 rounded-sm"}),jsxs("div",{className:"flex flex-col gap-2",children:[jsx(Skeleton,{className:"w-32 h-5 rounded-md"}),jsx(Skeleton,{className:"w-48 h-4 rounded-md"})]})]})}var ia={[SolanaTokenProtocol.BAGS]:{text:"text-bags",bg:"bg-bags",bg5:"bg-bags/5",bg20:"bg-bags/20",border:"border-bags"},[SolanaTokenProtocol.BELIEVE]:{text:"text-believe",bg:"bg-believe",bg5:"bg-believe/5",bg20:"bg-believe/20",border:"border-believe"},[SolanaTokenProtocol.BONK]:{text:"text-bonk",bg:"bg-bonk",bg5:"bg-bonk/5",bg20:"bg-bonk/20",border:"border-bonk"},[SolanaTokenProtocol.BOOP]:{text:"text-boop",bg:"bg-boop",bg5:"bg-boop/5",bg20:"bg-boop/20",border:"border-boop"},[SolanaTokenProtocol.HEAVEN]:{text:"text-heaven",bg:"bg-heaven",bg5:"bg-heaven/5",bg20:"bg-heaven/20",border:"border-heaven"},[SolanaTokenProtocol.JUPSTUDIO]:{text:"text-jupstudio",bg:"bg-jupstudio",bg5:"bg-jupstudio/5",bg20:"bg-jupstudio/20",border:"border-jupstudio"},[SolanaTokenProtocol.LAUNCHLAB]:{text:"text-launchlab",bg:"bg-launchlab",bg5:"bg-launchlab/5",bg20:"bg-launchlab/20",border:"border-launchlab"},[SolanaTokenProtocol.METEORA]:{text:"text-meteora",bg:"bg-meteora",bg5:"bg-meteora/5",bg20:"bg-meteora/20",border:"border-meteora"},[SolanaTokenProtocol.MOONIT]:{text:"text-moonit",bg:"bg-moonit",bg5:"bg-moonit/5",bg20:"bg-moonit/20",border:"border-moonit"},[SolanaTokenProtocol.MOONSHOT]:{text:"text-moonshot",bg:"bg-moonshot",bg5:"bg-moonshot/5",bg20:"bg-moonshot/20",border:"border-moonshot"},[SolanaTokenProtocol.ORCA]:{text:"text-orca",bg:"bg-orca",bg5:"bg-orca/5",bg20:"bg-orca/20",border:"border-orca"},[SolanaTokenProtocol.PUMP]:{text:"text-pump",bg:"bg-pump",bg5:"bg-pump/5",bg20:"bg-pump/20",border:"border-pump"},[SolanaTokenProtocol.RAYDIUM]:{text:"text-raydium",bg:"bg-raydium",bg5:"bg-raydium/5",bg20:"bg-raydium/20",border:"border-raydium"},[SolanaTokenProtocol.SUGAR]:{text:"text-sugar",bg:"bg-sugar",bg5:"bg-sugar/5",bg20:"bg-sugar/20",border:"border-sugar"},[SolanaTokenProtocol.VIRTUAL_CURVE]:{text:"text-virtual-curve",bg:"bg-virtual-curve",bg5:"bg-virtual-curve/5",bg20:"bg-virtual-curve/20",border:"border-virtual-curve"},[SolanaTokenProtocol.PUMP_AMM]:{text:"text-pump-amm",bg:"bg-pump-amm",bg5:"bg-pump-amm/5",bg20:"bg-pump-amm/20",border:"border-pump-amm"}},aa={text:"text-neutral",bg:"bg-neutral",bg5:"bg-neutral/5",bg20:"bg-neutral/20",border:"border-neutral"};function fe(e){return ia[e]??aa}function ie({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:s=true,showProtocolFamily:r=true,radius:n="sm",className:i,classNames:a}){let l=useMemo(()=>e.launchedFrom?.protocolFamily?parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),d=useMemo(()=>r&&l,[r,l]),c=useMemo(()=>s&&e.migrateProgress&&new SafeBigNumber(e.migrateProgress).lt(100),[s,e.migrateProgress]),p=useMemo(()=>o&&e.image,[o,e.image]),m=useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[u,x]=useState(false),k=useCallback(()=>{x(true);},[]),g=useCallback(()=>{x(false);},[]),f=useCallback(h=>{if(h.stopPropagation(),!e.image)return;let b=searchImageUrl(e.image);window.open(b,"_blank");},[e.image]);return jsxs("div",{className:cn$1("relative justify-center items-center",i??"w-15 h-15"),children:[!c&&jsx("div",{className:cn$1("absolute inset-0",`rounded-${n}`,l?fe(l).bg:"bg-bullish",a?.background)}),c&&jsx("div",{className:cn$1("absolute -inset-0.5",`rounded-${n}`),children:jsx(ua,{className:cn$1(l?fe(l).text:"text-bullish",a?.progress),progress:e.migrateProgress??"0"})}),jsx("div",{className:cn$1("absolute inset-0 p-px flex items-center justify-center",`rounded-${n}`,l?fe(l).bg20:"bg-bullish/20",a?.avatarWrapper),children:jsx(ma,{token:e,radius:n,enableSearch:o,enablePreview:t,classNames:a,children:jsxs("div",{className:cn$1("relative w-full h-full bg-content1 flex items-center justify-center p-0.5",`rounded-${n}`,u&&p&&"cursor-pointer"),onMouseEnter:k,onMouseLeave:g,children:[jsx(Avatar,{showFallback:true,src:e.image,name:m,className:cn$1("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${n}`,a?.avatar)}),u&&p&&jsx("div",{className:cn$1("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${n}`,a?.searchWrapper),onClick:f,children:jsx(CameraIcon,{className:cn$1("w-6 h-6",a?.searchIcon)})})]})})}),d&&jsx("div",{className:"contents",children:jsx(StyledTooltip,{content:e.launchedFrom?.protocolFamily??l,placement:"bottom",children:jsx("div",{className:cn$1("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",l&&fe(l).bg,a?.protocolFamilyIconWrapper),children:jsx(Image,{removeWrapper:true,src:`/images/protocols/${l}.svg`,className:cn$1("w-full h-full rounded-full bg-content1",a?.protocolFamilyIcon)})})})})]})}function ma({token:e,radius:t,enableSearch:o,enablePreview:s,classNames:r,children:n}){return useMemo(()=>s&&e.image,[s,e.image])?jsx(StyledTooltip,{content:jsx(pa,{token:e,radius:t,enableSearch:o,classNames:r}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:n}):n}function pa({token:e,enableSearch:t,radius:o,classNames:s}){let r=useMemo(()=>t&&e.image,[t,e.image]),n=useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[i,a]=useState(false),l=useCallback(()=>{a(true);},[]),d=useCallback(()=>{a(false);},[]),c=useCallback(p=>{if(p.stopPropagation(),!e.image)return;let m=searchImageUrl(e.image);window.open(m,"_blank");},[e.image]);return jsxs("div",{className:cn$1("relative flex items-center justify-center w-60 h-60",`rounded-${o}`,i&&r&&"cursor-pointer",s?.previewWrapper),onMouseEnter:l,onMouseLeave:d,children:[jsx(Avatar,{showFallback:true,src:e.image,name:n,className:cn$1("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,s?.previewAvatar)}),i&&r&&jsx("div",{className:cn$1("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick:c,children:jsx(CameraIcon,{className:cn$1("w-10 h-10",s?.previewSearchIcon)})})]})}function ua({progress:e,className:t}){let o=useMemo(()=>296-Number(e)*296/100,[e]);return jsxs("svg",{viewBox:"0 0 78 78",className:"w-full h-full",children:[jsx("path",{className:`${t} opacity-40`,stroke:"currentColor",fill:"transparent",strokeWidth:"1",d:`
1
+ import {useMemo,useState,useCallback,useRef,useEffect}from'react';import {List}from'react-window';import {cn as cn$1,PauseIcon,Skeleton,Avatar,CameraIcon,StyledTooltip,Image,useCopyToClipboard,toast,CopyIcon,Link,TwitterIcon,TelegramIcon,WebsiteIcon,SearchIcon,PeopleIcon,KlineCandlesIcon,StarIcon,UserWithStarBadgeIcon,CookIcon,RatIcon,SniperIcon,BundlesIcon,Button,TrashIcon,Chip,StyledInput,XCloseIcon,Kbd,TriangleUpIcon,TriangleDownIcon,Spinner,EmptyIcon,useScreen,StyledModal,ModalContent,ModalHeader,ModalBody,useDisclosure,FilterIcon,ScrollShadow,ModalFooter,RefreshIcon,StyledPlainTabs,Tab,ChevronDownIcon,StyledTable,TableHeader,TableColumn,Sortable,TableBody,TableRow,TableCell,DiscordIcon,Progress,StyledLightTabs,StyledBadge,HorsePowerHighIcon,HorsePowerLowIcon,HorsePowerIcon,StyledNumberInput}from'@liberfi.io/ui';import {useTranslation}from'@liberfi.io/i18n';import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useTickAge,useResizeObserver,useCallbackRef}from'@liberfi.io/hooks';import {parseTokenProtocolFamily,SafeBigNumber,searchImageUrl,truncateAddress,formatAge,searchTwitterUrl,formatAmount,formatPercent,formatAmountUSDCompact,formatAmountUSD,formatPriceUSD,debounce,formatPrice,formatTokenProtocolName}from'@liberfi.io/utils';export{formatAmount}from'@liberfi.io/utils';import {SolanaTokenProtocol,Chain}from'@liberfi.io/types';import {useNewTokensQuery,useNewTokensSubscription,useMigratedTokensQuery,useMigratedTokensSubscription,useFinalStretchTokensQuery,useFinalStretchTokensSubscription,useSearchTokensInfiniteQuery,useTrendingTokensQuery,useTrendingTokensSubscription,useTokenHoldersQuery,useTokenSubscription,useTokenActivitiesQuery,useTokenActivitiesSubscription,useTokenSecurityQuery,useTokenStatsQuery,useWalletTokenPositionsQuery,useWalletLimitOrdersQuery,useTokenTopTradersQuery,useTokensByCreatorQuery,useSearchTokensQuery,useStockTokensQuery,useStockTokensSubscription,useTokensQuery,useDexClient,useTokenQuery}from'@liberfi.io/react';import {AsyncModal,useAsyncModal,StatsFlipPanel}from'@liberfi.io/ui-scaffold';import {useAtom}from'jotai';import {atomWithStorage}from'jotai/utils';import {useInfiniteLoader}from'react-window-infinite-loader';function Go({title:e,isPaused:t,extra:o,className:s}){let{t:r}=useTranslation();return jsxs("div",{className:cn$1("w-full h-12 px-3 flex-none bg-content1 flex items-center justify-between gap-4 border-b border-border",s),children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("h2",{className:"font-semibold",children:e}),t&&jsxs("div",{className:"flex items-center gap-1 text-primary",children:[jsx(PauseIcon,{className:"w-4 h-4"}),jsx("span",{className:"text-xs hidden sm:inline",children:r("tokens.pulse.paused")})]})]}),o&&jsx("div",{className:"flex items-center gap-3",children:o})]})}function Xo({isLast:e=false,className:t}){return jsxs("div",{className:cn$1("w-full h-full px-3 py-3 overflow-hidden flex gap-3 items-center",!e&&"border-b border-border",t),children:[jsx(Skeleton,{className:"flex-none w-15 h-15 rounded-sm"}),jsxs("div",{className:"flex flex-col gap-2",children:[jsx(Skeleton,{className:"w-32 h-5 rounded-md"}),jsx(Skeleton,{className:"w-48 h-4 rounded-md"})]})]})}var na={[SolanaTokenProtocol.BAGS]:{text:"text-bags",bg:"bg-bags",bg5:"bg-bags/5",bg20:"bg-bags/20",border:"border-bags"},[SolanaTokenProtocol.BELIEVE]:{text:"text-believe",bg:"bg-believe",bg5:"bg-believe/5",bg20:"bg-believe/20",border:"border-believe"},[SolanaTokenProtocol.BONK]:{text:"text-bonk",bg:"bg-bonk",bg5:"bg-bonk/5",bg20:"bg-bonk/20",border:"border-bonk"},[SolanaTokenProtocol.BOOP]:{text:"text-boop",bg:"bg-boop",bg5:"bg-boop/5",bg20:"bg-boop/20",border:"border-boop"},[SolanaTokenProtocol.HEAVEN]:{text:"text-heaven",bg:"bg-heaven",bg5:"bg-heaven/5",bg20:"bg-heaven/20",border:"border-heaven"},[SolanaTokenProtocol.JUPSTUDIO]:{text:"text-jupstudio",bg:"bg-jupstudio",bg5:"bg-jupstudio/5",bg20:"bg-jupstudio/20",border:"border-jupstudio"},[SolanaTokenProtocol.LAUNCHLAB]:{text:"text-launchlab",bg:"bg-launchlab",bg5:"bg-launchlab/5",bg20:"bg-launchlab/20",border:"border-launchlab"},[SolanaTokenProtocol.METEORA]:{text:"text-meteora",bg:"bg-meteora",bg5:"bg-meteora/5",bg20:"bg-meteora/20",border:"border-meteora"},[SolanaTokenProtocol.MOONIT]:{text:"text-moonit",bg:"bg-moonit",bg5:"bg-moonit/5",bg20:"bg-moonit/20",border:"border-moonit"},[SolanaTokenProtocol.MOONSHOT]:{text:"text-moonshot",bg:"bg-moonshot",bg5:"bg-moonshot/5",bg20:"bg-moonshot/20",border:"border-moonshot"},[SolanaTokenProtocol.ORCA]:{text:"text-orca",bg:"bg-orca",bg5:"bg-orca/5",bg20:"bg-orca/20",border:"border-orca"},[SolanaTokenProtocol.PUMP]:{text:"text-pump",bg:"bg-pump",bg5:"bg-pump/5",bg20:"bg-pump/20",border:"border-pump"},[SolanaTokenProtocol.RAYDIUM]:{text:"text-raydium",bg:"bg-raydium",bg5:"bg-raydium/5",bg20:"bg-raydium/20",border:"border-raydium"},[SolanaTokenProtocol.SUGAR]:{text:"text-sugar",bg:"bg-sugar",bg5:"bg-sugar/5",bg20:"bg-sugar/20",border:"border-sugar"},[SolanaTokenProtocol.VIRTUAL_CURVE]:{text:"text-virtual-curve",bg:"bg-virtual-curve",bg5:"bg-virtual-curve/5",bg20:"bg-virtual-curve/20",border:"border-virtual-curve"},[SolanaTokenProtocol.PUMP_AMM]:{text:"text-pump-amm",bg:"bg-pump-amm",bg5:"bg-pump-amm/5",bg20:"bg-pump-amm/20",border:"border-pump-amm"}},ia={text:"text-neutral",bg:"bg-neutral",bg5:"bg-neutral/5",bg20:"bg-neutral/20",border:"border-neutral"};function fe(e){return na[e]??ia}function ie({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:s=true,showProtocolFamily:r=true,radius:n="sm",className:i,classNames:a}){let l=useMemo(()=>e.launchedFrom?.protocolFamily?parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),d=useMemo(()=>r&&l,[r,l]),c=useMemo(()=>s&&e.migrateProgress&&new SafeBigNumber(e.migrateProgress).lt(100),[s,e.migrateProgress]),p=useMemo(()=>o&&e.image,[o,e.image]),m=useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[u,x]=useState(false),k=useCallback(()=>{x(true);},[]),g=useCallback(()=>{x(false);},[]),f=useCallback(h=>{if(h.stopPropagation(),!e.image)return;let b=searchImageUrl(e.image);window.open(b,"_blank");},[e.image]);return jsxs("div",{className:cn$1("relative justify-center items-center",i??"w-15 h-15"),children:[!c&&jsx("div",{className:cn$1("absolute inset-0",`rounded-${n}`,l?fe(l).bg:"bg-bullish",a?.background)}),c&&jsx("div",{className:cn$1("absolute -inset-0.5",`rounded-${n}`),children:jsx(pa,{className:cn$1(l?fe(l).text:"text-bullish",a?.progress),progress:e.migrateProgress??"0"})}),jsx("div",{className:cn$1("absolute inset-0 p-px flex items-center justify-center",`rounded-${n}`,l?fe(l).bg20:"bg-bullish/20",a?.avatarWrapper),children:jsx(ca,{token:e,radius:n,enableSearch:o,enablePreview:t,classNames:a,children:jsxs("div",{className:cn$1("relative w-full h-full bg-content1 flex items-center justify-center p-0.5",`rounded-${n}`,u&&p&&"cursor-pointer"),onMouseEnter:k,onMouseLeave:g,children:[jsx(Avatar,{showFallback:true,src:e.image,name:m,className:cn$1("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${n}`,a?.avatar)}),u&&p&&jsx("div",{className:cn$1("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${n}`,a?.searchWrapper),onClick:f,children:jsx(CameraIcon,{className:cn$1("w-6 h-6",a?.searchIcon)})})]})})}),d&&jsx("div",{className:"contents",children:jsx(StyledTooltip,{content:e.launchedFrom?.protocolFamily??l,placement:"bottom",children:jsx("div",{className:cn$1("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",l&&fe(l).bg,a?.protocolFamilyIconWrapper),children:jsx(Image,{removeWrapper:true,src:`/images/protocols/${l}.svg`,className:cn$1("w-full h-full rounded-full bg-content1",a?.protocolFamilyIcon)})})})})]})}function ca({token:e,radius:t,enableSearch:o,enablePreview:s,classNames:r,children:n}){return useMemo(()=>s&&e.image,[s,e.image])?jsx(StyledTooltip,{content:jsx(ma,{token:e,radius:t,enableSearch:o,classNames:r}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:n}):n}function ma({token:e,enableSearch:t,radius:o,classNames:s}){let r=useMemo(()=>t&&e.image,[t,e.image]),n=useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[i,a]=useState(false),l=useCallback(()=>{a(true);},[]),d=useCallback(()=>{a(false);},[]),c=useCallback(p=>{if(p.stopPropagation(),!e.image)return;let m=searchImageUrl(e.image);window.open(m,"_blank");},[e.image]);return jsxs("div",{className:cn$1("relative flex items-center justify-center w-60 h-60",`rounded-${o}`,i&&r&&"cursor-pointer",s?.previewWrapper),onMouseEnter:l,onMouseLeave:d,children:[jsx(Avatar,{showFallback:true,src:e.image,name:n,className:cn$1("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,s?.previewAvatar)}),i&&r&&jsx("div",{className:cn$1("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick:c,children:jsx(CameraIcon,{className:cn$1("w-10 h-10",s?.previewSearchIcon)})})]})}function pa({progress:e,className:t}){let o=useMemo(()=>296-Number(e)*296/100,[e]);return jsxs("svg",{viewBox:"0 0 78 78",className:"w-full h-full",children:[jsx("path",{className:`${t} opacity-40`,stroke:"currentColor",fill:"transparent",strokeWidth:"1",d:`
2
2
  M 76 76
3
3
  L 6 76
4
4
  Q 2 76 2 72
@@ -18,7 +18,7 @@ import {useMemo,useState,useCallback,useRef,useEffect}from'react';import {List}f
18
18
  Q 76 2 76 6
19
19
  L 76 72
20
20
  Q 76 76 76 76
21
- `})]})}function sr({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:r}){let{t:n}=useTranslation(),i=useCopyToClipboard(),a=useTickAge(e.createdAt),l=useCallback(()=>{s?.(e);},[s,e]),d=useCallback(h=>{h.stopPropagation(),i(e.address,()=>toast.success(n("tokens.copied.address")));},[i,e.address,n]),c=useMemo(()=>new SafeBigNumber(e.marketData?.top10HoldingsRatio).gte(.1),[e.marketData?.top10HoldingsRatio]),p=useMemo(()=>new SafeBigNumber(e.marketData?.devHoldingsRatio).gte(.1),[e.marketData?.devHoldingsRatio]),m=useMemo(()=>new SafeBigNumber(e.marketData?.insiderHoldingsRatio).gte(.1),[e.marketData?.insiderHoldingsRatio]),u=useMemo(()=>new SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),x=useMemo(()=>new SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[k,g]=useMemo(()=>{let h=Number(e.stats?.["1h"]?.buys??0),b=Number(e.stats?.["1h"]?.sells??0),T=h+b;if(T===0)return [12,12];let W=Math.round(h/T*24);return [W,24-W]},[e.stats]),f=useMemo(()=>{let h=new SafeBigNumber(e.marketData?.marketCapInUsd);return h.lt(1e3)?"text-foreground":h.lt(1e6)?"text-secondary":"text-primary"},[e.marketData?.marketCapInUsd]);return jsx("div",{className:cn$1("w-full h-full px-3 pt-3 pb-1 hover:bg-content2/40 cursor-pointer",!o&&"border-b border-border",r),onClick:s?l:void 0,children:jsxs("div",{className:"relative flex justify-between gap-3",children:[jsxs("div",{className:"flex-none flex flex-col items-center gap-1",children:[jsx(ie,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-15 h-15"}),jsx(StyledTooltip,{content:e.address,children:jsx("div",{className:"text-xs text-neutral hover:text-primary/50 max-w-18 truncate cursor-pointer",onClick:d,children:truncateAddress(e.address,4,4)})})]}),jsxs("div",{className:"flex-1 flex flex-col justify-between gap-3 min-w-0",children:[jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxs("div",{className:"flex items-center gap-1 pr-24",children:[jsx("span",{className:"flex-none text-base font-semibold whitespace-nowrap overflow-hidden text-ellipsis max-w-20",children:e.symbol}),jsx(StyledTooltip,{content:e.name,children:jsxs("div",{className:"flex items-center gap-1 min-w-0 text-neutral hover:text-primary/50 cursor-pointer",onClick:d,children:[jsx("span",{className:"text-base whitespace-nowrap overflow-hidden text-ellipsis",children:e.name}),jsx(CopyIcon,{className:"flex-none w-3.5 h-3.5"})]})})]}),jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[jsx("span",{className:"text-sm text-primary font-medium",children:formatAge(a)}),e.socialMedias?.twitter&&jsx(Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsx(TwitterIcon,{className:"w-4 h-4"})}),e.socialMedias?.telegram&&jsx(Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsx(TelegramIcon,{className:"w-4 h-4"})}),e.socialMedias?.website&&jsx(Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsx(WebsiteIcon,{className:"w-4 h-4"})}),jsx(Link,{href:searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsx(SearchIcon,{className:"w-4 h-4"})}),jsx(StyledTooltip,{content:n("tokens.tokenInfo.holders"),children:jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsx(PeopleIcon,{width:14,height:14}),jsx("span",{className:"text-foreground text-xs",children:formatAmount(e.marketData?.holders)})]})}),jsx(StyledTooltip,{content:n("tokens.tokenInfo.proHolders"),children:jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsx(KlineCandlesIcon,{width:16,height:16}),jsx("span",{className:"text-foreground text-xs",children:formatAmount(e.marketData?.proHolders)})]})}),jsx(StyledTooltip,{content:n("tokens.tokenInfo.kolHolders"),children:jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsx(StarIcon,{width:14,height:14}),jsx("span",{className:"text-foreground text-xs",children:formatAmount(e.marketData?.kolHolders)})]})})]})]}),jsxs("div",{className:"relative flex items-center gap-1.5 flex-wrap",children:[jsx(ze,{icon:jsx(UserWithStarBadgeIcon,{width:12,height:12}),value:formatPercent(e.marketData?.top10HoldingsRatio),tooltip:n("tokens.tokenInfo.top10HoldingsRatio"),warning:c}),jsx(ze,{icon:jsx(CookIcon,{width:12,height:12}),value:formatPercent(e.marketData?.devHoldingsRatio),tooltip:n("tokens.tokenInfo.devHoldingsRatio"),warning:p}),jsx(ze,{icon:jsx(RatIcon,{width:12,height:12}),value:formatPercent(e.marketData?.insiderHoldingsRatio),tooltip:n("tokens.tokenInfo.insiderHoldingsRatio"),warning:m}),jsx(ze,{icon:jsx(SniperIcon,{width:12,height:12}),value:formatPercent(e.marketData?.sniperHoldingsRatio),tooltip:n("tokens.tokenInfo.sniperHoldingsRatio"),warning:u}),jsx(ze,{icon:jsx(BundlesIcon,{width:12,height:12}),value:formatPercent(e.marketData?.bundleHoldingsRatio),tooltip:n("tokens.tokenInfo.bundleHoldingsRatio"),warning:x}),t?.(e)]})]}),jsxs("div",{className:"absolute top-0 right-0 flex flex-col gap-2 items-end",children:[jsxs("div",{className:"flex items-end gap-1",children:[jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.listHeader.marketCap")}),jsx("span",{className:cn$1("text-base font-medium leading-none",f),children:formatAmountUSDCompact(e.marketData?.marketCapInUsd)})]}),jsxs("div",{className:"flex items-end gap-1",children:[jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.pulse.vol")}),jsx("span",{className:"text-base font-medium leading-none text-foreground",children:formatAmountUSDCompact(e.stats?.["1h"]?.volumesInUsd)})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsxs("div",{className:"flex items-center gap-1",children:[jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.pulse.txs")}),jsx("span",{className:"text-xs leading-none text-foreground",children:formatAmount(e.stats?.["1h"]?.trades)})]}),jsxs("div",{className:"flex rounded-full overflow-hidden",children:[jsx("div",{className:"h-1 bg-bullish",style:{width:`${k}px`}}),jsx("div",{className:"h-1 bg-bearish",style:{width:`${g}px`}})]})]})]})]})})}function ze({icon:e,value:t,tooltip:o,warning:s}){return jsx(StyledTooltip,{content:o,children:jsxs("div",{className:cn$1("px-2 py-0.5 flex items-center gap-1 bg-content2 rounded-full text-xs",s?"text-danger-500":"text-primary"),children:[e,jsx("span",{children:t})]})})}var Ba=124,ir=10;function Ea({index:e,style:t,data:o,skeletonCount:s,renderItemAction:r,onSelectToken:n}){return o?jsx("div",{style:t,children:jsx(sr,{token:o[e],isLast:e===o.length-1,renderAction:r,onSelectToken:n})}):jsx("div",{style:t,children:jsx(Xo,{isLast:e===s-1})})}function Ae({title:e,tokens:t,isLoading:o,itemHeight:s=Ba,renderHeaderExtra:r,renderItemAction:n,onSelectToken:i,onPauseChange:a,className:l,hideHeader:d}){let c=o||!t?void 0:t,p=c?c.length:ir,m=useMemo(()=>({data:c,skeletonCount:ir,renderItemAction:n,onSelectToken:i}),[c,n,i]),[u,x]=useState(false),k=useCallback(()=>{x(true),a?.(true);},[a]),g=useCallback(()=>{x(false),a?.(false);},[a]);return jsxs("div",{className:cn$1("w-full h-full bg-content1 overflow-hidden flex flex-col border border-border rounded-lg",l),onMouseEnter:k,onMouseLeave:g,children:[!d&&jsx(Go,{title:e,isPaused:u,extra:r}),jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsx(List,{className:"h-full w-full",rowCount:p,rowHeight:s,rowComponent:Ea,rowProps:m,overscanCount:5})})]})}function eo(e,t){let o={...e};for(let s of Object.keys(t))t[s]!==void 0&&(o[s]=t[s]);return o}var Va=["1m","5m","15m","30m","1h","4h","24h"];function _a(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of Va)t[s]&&(o[s]=e[s]?eo(e[s],t[s]):t[s]);return o}function $a(e,t){return t?e?eo(e,t):t:e}function ft(e,t){return t?e?eo(e,t):t:e}function M(e,t){let{chain:o,address:s,stats:r,marketData:n,socialMedias:i,security:a,launchedFrom:l,migratedTo:d,...c}=t,p={...e};for(let m of Object.keys(c))c[m]!==void 0&&(p[m]=c[m]);return p.stats=_a(e.stats,r),p.marketData=$a(e.marketData,n),p.socialMedias=ft(e.socialMedias,i),p.security=ft(e.security,a),p.launchedFrom=ft(e.launchedFrom,l),p.migratedTo=ft(e.migratedTo,d),p}var Qa=80;function Ga(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function mr(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,Qa)}function pr({chain:e,isPaused:t=false,refetchInterval:o=1e4}){let s=useMemo(()=>({chain:e}),[e]),r=useRef(t);r.current=t;let n=useRef(e),[i,a]=useState(true),[l,d]=useState([]);useEffect(()=>{e!==n.current&&(a(true),d([]),n.current=e);},[e]);let{data:c,isPending:p}=useNewTokensQuery(s,{refetchInterval:o});useEffect(()=>{c&&(d(x=>{let k=r.current,g=x.length===0&&c.length>0,f=[...x];for(let h of c){let b=f.findIndex(T=>T.address===h.address);b>=0?f[b]=M(f[b],h):(!k||g)&&f.push(h);}return k?f:mr(f)}),a(false));},[c]);let m=useCallback(x=>{d(k=>{let g=r.current,f=[...k],h=false;for(let b of x){let T=f.findIndex(W=>W.address===b.address);T>=0?(h=true,f[T]=M(f[T],b)):g||(h=true,f.push(Ga(b)));}return h?g?f:mr(f):k});},[]);useNewTokensSubscription({chain:e},m);let u=useMemo(()=>p||i,[p,i]);return {tokens:l,isLoading:u}}function Hg({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=useState(false),{tokens:d,isLoading:c}=pr({chain:e,isPaused:a}),p=useCallback(m=>{l(m);},[]);return jsx(Ae,{title:t,tokens:d,isLoading:c,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:p,className:n,hideHeader:i})}function kr({chain:e,isPaused:t=false,refetchInterval:o=3e4}){let s=useMemo(()=>({chain:e}),[e]),r=useRef(t);r.current=t;let n=useRef(e),[i,a]=useState(true),[l,d]=useState([]);useEffect(()=>{e!==n.current&&(a(true),d([]),n.current=e);},[e]);let{data:c,isPending:p}=useMigratedTokensQuery(s,{refetchInterval:o});useEffect(()=>{c&&(d(x=>{let k=r.current,g=[...x];for(let f of c){let h=g.findIndex(b=>b.address===f.address);h>=0?g[h]=M(g[h],f):k||g.unshift(f);}return g}),a(false));},[c]);let m=useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0&&(f=true,g[b]=M(g[b],h));}return f?g:k});},[]);useMigratedTokensSubscription({chain:e},m);let u=useMemo(()=>p||i,[p,i]);return {tokens:l,isLoading:u}}function Kg({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=useState(false),{tokens:d,isLoading:c}=kr({chain:e,isPaused:a}),p=useCallback(m=>{l(m);},[]);return jsx(Ae,{title:t,tokens:d,isLoading:c,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:p,className:n,hideHeader:i})}function al(e){return e.sort((t,o)=>{let s=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-s})}function vr({chain:e,isPaused:t=false,refetchInterval:o=15e3}){let s=useMemo(()=>({chain:e}),[e]),r=useRef(t);r.current=t;let n=useRef(e),[i,a]=useState(true),[l,d]=useState([]);useEffect(()=>{e!==n.current&&(a(true),d([]),n.current=e);},[e]);let{data:c,isPending:p}=useFinalStretchTokensQuery(s,{refetchInterval:o});useEffect(()=>{c&&(d(x=>{let k=r.current,g=x.length===0&&c.length>0,f=[...x];for(let h of c){let b=f.findIndex(T=>T.address===h.address);b>=0?f[b]=M(f[b],h):(!k||g)&&f.push(h);}return k?f:al(f)}),a(false));},[c]);let m=useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0&&(f=true,g[b]=M(g[b],h));}return f?g:k});},[]);useFinalStretchTokensSubscription({chain:e},m);let u=useMemo(()=>p||i,[p,i]);return {tokens:l,isLoading:u}}function tx({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=useState(false),{tokens:d,isLoading:c}=vr({chain:e,isPaused:a}),p=useCallback(m=>{l(m);},[]);return jsx(Ae,{title:t,tokens:d,isLoading:c,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:p,className:n,hideHeader:i})}var ul=10,fl=atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function gt(){let[e,t]=useAtom(fl),o=useCallback(r=>{let n=r.trim();n&&t(i=>{let a=i.filter(l=>l!==n);return [n,...a].slice(0,ul)});},[t]),s=useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:s}}function Pr({histories:e,onSelect:t,onClear:o,className:s}){let{t:r}=useTranslation();return e.length===0?null:jsxs("div",{className:cn$1("px-4 pb-4",s),children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium",children:r("tokens.search.history")}),jsx(Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsx(TrashIcon,{width:20,height:20})})]}),jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(n=>jsx(Chip,{size:"sm",variant:"bordered",className:cn$1("text-neutral","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(n),children:n},n))})]})}function wr({onSelect:e,className:t}){let{histories:o,clearHistories:s}=gt();return jsx(Pr,{className:cn$1(t),histories:o,onSelect:e,onClear:s})}function Lr({value:e,onValueChange:t,onClear:o,onEscape:s,className:r}){let{t:n}=useTranslation();return jsx("div",{className:r,children:jsx(StyledInput,{autoFocus:true,variant:"bordered",radius:"full",value:e,onValueChange:t,placeholder:n("tokens.search.placeholder"),classNames:{inputWrapper:["!bg-[rgba(39,39,42,0.6)]","!border-[rgba(63,63,70,0.5)]","data-[hover=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!border-[rgba(63,63,70,0.8)]"].join(" ")},startContent:jsx(SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent:e?jsx(Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsx(XCloseIcon,{width:20,height:20})}):jsx(Kbd,{className:"min-w-8 justify-center text-xs text-neutral bg-transparent border border-[rgba(63,63,70,0.5)] rounded-full cursor-pointer select-none",onMouseDown:i=>{i.preventDefault(),s?.();},children:"Esc"})})})}function xt({token:e,className:t}){let{t:o}=useTranslation(),s=useTickAge(e.createdAt),r=useMemo(()=>e.marketData?.priceInUsd,[e]),n=useMemo(()=>e.marketData?.marketCapInUsd,[e]),i=useMemo(()=>e.marketData?.tvlInUsd,[e]),a=useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),l=useMemo(()=>a?new SafeBigNumber(a).abs().toString():void 0,[a]),d=useMemo(()=>a!=null&&new SafeBigNumber(a).gte(0),[a]);return jsxs("div",{className:cn$1("w-full h-full px-3 flex items-center justify-between gap-2","hover:cursor-pointer hover:bg-content2 rounded-lg",t),children:[jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2.5",children:[jsx(ie,{token:e,className:"w-10 h-10 flex-none",showProtocolFamily:true,classNames:{searchIcon:"w-5 h-5"}}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[jsxs("div",{className:"flex items-center gap-1",children:[jsx("span",{className:"font-medium text-sm truncate",children:e.symbol}),jsx("span",{className:"text-xs text-primary font-medium",children:formatAge(s)})]}),jsxs("div",{className:"flex items-center gap-1 text-xs text-neutral",children:[jsxs("span",{children:[o("tokens.listHeader.mcShort")," ",formatAmountUSD(n)]}),jsx("span",{children:"/"}),jsxs("span",{children:[o("tokens.listHeader.liqShort")," ",formatAmountUSD(i)]})]})]})]}),jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsx("span",{className:"text-xs",children:formatPriceUSD(r)}),jsxs("span",{className:cn$1("inline-flex gap-0.5 items-center text-xs",d?"text-bullish":"text-bearish"),children:[d?jsx(TriangleUpIcon,{width:8,height:8}):jsx(TriangleDownIcon,{width:8,height:8}),jsx("span",{children:formatPercent(l)})]})]})]})}function kt({className:e}){let{t}=useTranslation();return jsxs("div",{className:cn$1("h-9 px-3 flex items-center justify-between","text-xs font-medium text-neutral","sticky top-0 z-10",e),children:[jsx("div",{className:"flex-1",children:jsxs("span",{children:[t("tokens.listHeader.token")," / ",t("tokens.listHeader.age")," /"," ",t("tokens.listHeader.marketCap")," /"," ",t("tokens.listHeader.liquidity")]})}),jsx("div",{className:"flex-none w-20 text-right",children:jsxs("span",{children:[t("tokens.listHeader.price")," / ",t("tokens.listHeader.24hChange")]})})]})}function Dl(){return jsxs("div",{className:"w-full h-14 px-3 flex items-center justify-between gap-2",children:[jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[jsx(Skeleton,{className:"flex-none w-8 h-8 rounded-full"}),jsxs("div",{className:"flex flex-col gap-1.5",children:[jsx(Skeleton,{className:"w-24 h-4 rounded-md"}),jsx(Skeleton,{className:"w-36 h-3 rounded-md"})]})]}),jsxs("div",{className:"flex-none w-20 flex flex-col items-end gap-1.5",children:[jsx(Skeleton,{className:"w-14 h-4 rounded-md"}),jsx(Skeleton,{className:"w-10 h-3 rounded-md"})]})]})}function bt({rows:e=6,className:t}){return jsx("div",{className:cn$1("w-full",t),children:Array.from({length:e}).map((o,s)=>jsx(Dl,{},s))})}function Fr({keyword:e,chains:t,limit:o=50}){let s=useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:r,isLoading:n,isFetchingNextPage:i,hasNextPage:a,fetchNextPage:l}=useSearchTokensInfiniteQuery(s,{enabled:!!e});return {tokens:useMemo(()=>r?.pages.flatMap(c=>c.data)??[],[r]),isLoading:n,isFetchingNextPage:i,hasNextPage:a??false,fetchNextPage:l}}var Ql=56;function Ur({onSelectToken:e,className:t,...o}){let{tokens:s,isLoading:r,isFetchingNextPage:n,hasNextPage:i,fetchNextPage:a}=Fr(o),l=useRef(null),{height:d}=useResizeObserver({ref:l}),c=useCallback(x=>x<s.length,[s]),p=useCallback(async()=>{i&&!n&&await a();},[i,n,a]),m=useMemo(()=>i?s.length+1:s.length,[s,i]),u=useInfiniteLoader({isRowLoaded:c,loadMoreRows:p,rowCount:m,threshold:5});return r?jsxs("div",{className:cn$1("w-full",t),children:[jsx(kt,{}),jsx(bt,{})]}):s.length===0?jsxs("div",{className:cn$1("w-full",t),children:[jsx(kt,{}),jsx(Jl,{})]}):jsxs("div",{className:cn$1("w-full h-full flex flex-col",t),children:[jsx(kt,{className:"flex-none"}),jsx("div",{className:"flex-auto min-h-0",ref:l,children:jsx(List,{style:{height:d},onRowsRendered:u,rowComponent:Gl,rowCount:m,rowHeight:Ql,rowProps:{tokens:s,onSelectToken:e},overscanCount:5})})]})}function Gl({index:e,style:t,tokens:o,onSelectToken:s}){let r=o[e];return r?jsx("div",{style:t,onClick:()=>s?.(r),children:jsx(xt,{token:r})}):jsx("div",{style:t,className:"flex items-center justify-center",children:jsx(Spinner,{size:"sm"})})}function Jl(){let{t:e}=useTranslation();return jsxs("div",{className:"flex flex-col items-center justify-center py-16",children:[jsx(EmptyIcon,{width:28,height:28,className:"text-neutral"}),jsx("p",{className:"mt-2 text-sm text-neutral",children:e("tokens.search.noResults")})]})}function Tt({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=useRef(r),[i,a]=useState(true);useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),d([]),n.current=r);},[r]);let[l,d]=useState([]),{data:c,isPending:p}=useTrendingTokensQuery(r,{refetchInterval:s});useEffect(()=>{c&&(d(x=>{let k=[];for(let g of c){let f=x.find(h=>h.address===g.address);k.push(f?M(f,g):g);}return k}),a(false));},[c]);let m=useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0&&(f=true,g[b]=M(g[b],h));}return f?g:k});},[]);useTrendingTokensSubscription({chain:e},m);let u=useMemo(()=>!!(p||i),[p,i]);return {tokens:l,isLoading:u}}var od=Chain.ETHEREUM,rd="24h",sd=56;function Wr({chains:e,onSelectToken:t,className:o}){let s=e?.length===1?e[0]:e?.[0]??od,{tokens:r,isLoading:n}=Tt({chain:s,resolution:rd});return jsx("div",{className:cn$1("w-full flex flex-col overflow-hidden",o),children:n?jsx(bt,{}):jsx("div",{className:"overflow-y-auto",children:r.map(i=>jsx("div",{style:{height:sd},onClick:()=>t?.(i),children:jsx(xt,{token:i,className:"h-full"})},i.address))})})}function $r({onKeywordChange:e}){let[t,o]=useState(""),[s,r]=useState(""),{addHistory:n}=gt(),i=useCallbackRef(e),a=useCallbackRef(n),l=useMemo(()=>debounce(m=>{r(m),i(m),m&&a(m);},500),[i,a]),d=useCallback(m=>{o(m),l(m);},[l]),c=useCallback(m=>{l.cancel(),o(m),r(m),i(m),m&&a(m);},[l,i,a]),p=useCallback(()=>c(""),[c]);return {text:t,keyword:s,setText:d,setKeyword:c,clearKeyword:p}}function zr({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:s}){let{text:r,keyword:n,setText:i,setKeyword:a,clearKeyword:l}=$r({onKeywordChange:t});return jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsx(Lr,{value:r,onValueChange:i,onClear:l,onPaste:a,onEscape:s}),n?jsx(Ur,{className:"flex-auto min-h-0",keyword:n,chains:e,onSelectToken:o}):jsxs("div",{className:"flex-auto min-h-0 flex flex-col overflow-hidden",children:[jsx(wr,{onSelect:a}),jsx(Wr,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}var so="search";function Ek({id:e=so}){return jsx(AsyncModal,{id:e,children:t=>jsx(kd,{...t})})}function kd({params:e,isOpen:t,onOpenChange:o,onResult:s}){let{t:r}=useTranslation(),{isMobile:n}=useScreen(),i=useCallback(a=>{s(a);},[s]);return jsx(StyledModal,{isOpen:t,onOpenChange:o,size:n?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxs(ModalContent,{className:"w-full h-full",style:{borderRadius:n?void 0:14,border:n?void 0:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:n?void 0:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"},children:[jsxs(ModalHeader,{className:"sm:hidden flex items-center justify-between pt-4 pb-2",children:[jsx("span",{className:"text-base font-semibold",children:r("tokens.search.title")}),jsx(Button,{isIconOnly:true,onPress:()=>o(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsx(XCloseIcon,{width:20,height:20})})]}),jsx(ModalBody,{className:"p-4",children:jsx(zr,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function Gk({chains:e,onSelectToken:t,className:o}){let{t:s}=useTranslation(),{isDesktop:r,isMobile:n}=useScreen(),{onOpen:i,onClose:a}=useAsyncModal(so),l=useCallbackRef(t),d=useCallbackRef(async()=>{let p=await i({params:{chains:e}});p&&l(p);}),c=useCallbackRef(()=>{a();});return useEffect(()=>{let p=m=>{let u=document.activeElement,x=!!u&&(u.tagName==="INPUT"||u.tagName==="TEXTAREA"||u.getAttribute("contenteditable")==="true");m.key==="/"&&!x&&(m.preventDefault(),d()),m.key==="Escape"&&(m.preventDefault(),c());};return window.addEventListener("keydown",p),()=>{window.removeEventListener("keydown",p);}},[d,c]),jsx(Button,{size:"sm",radius:"full",isIconOnly:!r,onPress:d,variant:n?"flat":"bordered",startContent:r?jsx(SearchIcon,{className:"text-neutral"}):void 0,endContent:r?jsx(Kbd,{className:"min-w-6 justify-center text-xs bg-transparent border border-border rounded-full",children:"/"}):void 0,className:cn$1(r&&"pl-3 pr-1.5 text-neutral",o),children:r?s("tokens.search.placeholder"):jsx(SearchIcon,{className:"text-neutral"})})}var io={kol:{label:"KOL",bgClass:"bg-yellow-500/15",textClass:"text-yellow-400"},smart:{label:"Smart",bgClass:"bg-sky-500/15",textClass:"text-sky-400"},sniper:{label:"Sniper",bgClass:"bg-red-500/15",textClass:"text-red-400"},dev:{label:"Dev",bgClass:"bg-orange-500/15",textClass:"text-orange-400"},bundle:{label:"Bundle",bgClass:"bg-purple-500/15",textClass:"text-purple-400"},bluechip:{label:"Bluechip",bgClass:"bg-emerald-500/15",textClass:"text-emerald-400"},insider:{label:"Insider",bgClass:"bg-fuchsia-500/15",textClass:"text-fuchsia-400"},fresh:{label:"Fresh",bgClass:"bg-teal-500/15",textClass:"text-teal-400"}};function Cd({tag:e,className:t}){let o=io[e]??{label:e,bgClass:"bg-default/20",textClass:"text-default-500"};return jsx("span",{className:cn$1("inline-flex items-center rounded px-1.5 py-0.5 text-[10px] font-medium uppercase leading-none tracking-wide",o.bgClass,o.textClass,t),children:o.label})}function Xr({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let s=o!=null&&o>0?e.slice(0,o):e,r=e.length-s.length;return jsxs("div",{className:cn$1("flex flex-wrap items-center gap-1",t),children:[s.map(n=>jsx(Cd,{tag:n},n)),r>0&&jsxs("span",{className:"inline-flex items-center rounded bg-default/20 px-1.5 py-0.5 text-[10px] font-medium text-default-500",children:["+",r]})]})}function Pd({tag:e,className:t}){let o=io[e]??{label:e,bgClass:"bg-default/20",textClass:"text-default-500"};return jsx("span",{className:cn$1("inline-flex items-center rounded px-1.5 py-0.5 text-[10px] font-medium uppercase leading-none tracking-wide",o.bgClass,o.textClass,t),children:o.label})}function Nt({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let s=o!=null&&o>0?e.slice(0,o):e,r=e.length-s.length;return jsxs("div",{className:cn$1("flex flex-wrap items-center gap-1",t),children:[s.map(n=>jsx(Pd,{tag:n},n)),r>0&&jsxs("span",{className:"inline-flex items-center rounded bg-default/20 px-1.5 py-0.5 text-[10px] font-medium text-default-500",children:["+",r]})]})}function he(e){return e==null||e===""?"--":formatPercent(Number(e)/100)}function J(e,t=4,o=4){return e?e.length<=t+o+1?e:`${e.slice(0,t)}\u2026${e.slice(-o)}`:"--"}function se(e,t=Date.now()){if(e==null)return "--";let o=typeof e=="string"||typeof e=="number"?new Date(e):e,s=typeof t=="number"?new Date(t):t,r=Math.max(0,Math.floor((s.getTime()-o.getTime())/1e3));if(r<60)return `${r}s`;let n=Math.floor(r/60);if(n<60)return `${n}m`;let i=Math.floor(n/60);if(i<24)return `${i}h`;let a=Math.floor(i/24);if(a<30)return `${a}d`;let l=Math.floor(a/30);return l<12?`${l}mo`:`${Math.floor(a/365)}y`}function L(e,t){let{data:o,isLoading:s}=useTokenQuery({chain:e,address:t}),[r,n]=useState(o);return useEffect(()=>{o&&n(o);},[o]),useTokenSubscription({chain:e,address:t},i=>{i?.length&&n(a=>{if(!a)return a;let l=a;for(let d of i)l=M(l,d);return l});}),{token:r,isLoading:s}}function Me({label:e,totalFormatted:t,buysFormatted:o,sellsFormatted:s,totalValue:r=0,buysValue:n=0,className:i}){let a=new SafeBigNumber(r??0),l=new SafeBigNumber(n??0),d=a.eq(0)?0:l.div(a).times(100).toNumber();return jsxs("div",{className:cn$1("flex flex-col gap-1",i),children:[jsxs("div",{className:"flex items-baseline justify-between",children:[jsx("span",{className:"text-xs text-default-500",children:e}),jsx("span",{className:"text-xs text-foreground",children:t})]}),jsx(Progress,{size:"sm",value:d,classNames:{track:"bg-bearish/40",indicator:"bg-bullish"},"aria-label":`${e} buy share`}),jsxs("div",{className:"flex justify-between gap-4 text-[10px]",children:[jsxs("span",{className:"text-bullish",children:["Buys: ",o]}),jsxs("span",{className:"text-bearish",children:["Sells: ",s]})]})]})}function os({token:e,actions:t,dataStrip:o,className:s,onCopyAddress:r}){let n=e?.address;return jsxs("div",{className:cn$1("flex w-full flex-wrap items-center gap-4 px-4 py-3",s),children:[jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e&&jsx(ie,{token:e,radius:"lg",className:"h-10 w-10"}),jsxs("div",{className:"flex min-w-0 flex-col gap-0.5",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("span",{className:"truncate text-base font-semibold text-foreground",children:e?.symbol??"--"}),jsx("span",{className:"truncate text-xs text-default-400",children:e?.name})]}),n&&jsxs("button",{type:"button",onClick:()=>r?.(n),className:"flex items-center gap-1 text-[11px] text-default-400 transition-colors hover:text-foreground",title:n,children:[J(n,6,6),jsx(CopyIcon,{width:12,height:12})]})]})]}),o&&jsx("div",{className:"flex-1 min-w-0",children:o}),t&&jsx("div",{className:"ml-auto flex items-center gap-2",children:t})]})}function rs(e,t){return L(e,t)}function ns({price:e,marketCap:t,volume:o,holdersCount:s,socialMedia:r,className:n}){return jsxs("div",{className:cn$1("flex flex-wrap items-center gap-x-6 gap-y-3",n),children:[e,jsxs("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-3",children:[t,o,s]}),jsx("div",{className:"ml-auto",children:r})]})}function Zh(e,t){return L(e,t)}function as({holders:e,top10HoldingsRatio:t,top100HoldingsRatio:o,className:s}){return jsxs("div",{className:cn$1("flex flex-col items-start justify-center gap-0.5",s),children:[jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsx("span",{className:"text-foreground",children:e!=null?formatAmount(e):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:he(t)}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:he(o)})]}),jsx("div",{className:"text-[10px] text-default-400",children:"Holders / Top10 / Top100"})]})}function ls(e,t){return L(e,t)}function ds({chain:e,address:t,className:o}){let{token:s}=ls(e,t);return jsx(as,{holders:s?.marketData?.holders,top10HoldingsRatio:s?.marketData?.top10HoldingsRatio,top100HoldingsRatio:s?.marketData?.top100HoldingsRatio,className:o})}function ps({marketCapInUsd:e,tvlInUsd:t,createdAt:o,className:s}){return jsxs("div",{className:cn$1("flex flex-col items-start justify-center gap-0.5",s),children:[jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsx("span",{className:"text-foreground",children:e?formatAmountUSDCompact(e):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:t?formatAmountUSDCompact(t):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:se(o)})]}),jsx("div",{className:"text-[10px] text-default-400",children:"MC / Liq / Age"})]})}function us(e,t){return L(e,t)}function fs({chain:e,address:t,className:o}){let{token:s}=us(e,t);return jsx(ps,{marketCapInUsd:s?.marketData?.marketCapInUsd,tvlInUsd:s?.marketData?.tvlInUsd,createdAt:s?.createdAt,className:o})}function ks({priceInUsd:e,price24hAgoInUsd:t,className:o}){let{bearish:s,priceChange:r}=useMemo(()=>{if(!e||!t)return {bearish:false,priceChange:void 0};let n=new SafeBigNumber(e),i=new SafeBigNumber(t);return i.lte(0)?{bearish:false,priceChange:void 0}:{bearish:n.lt(i),priceChange:n.minus(i).div(i).abs().toNumber()}},[e,t]);return jsxs("div",{className:cn$1("group flex flex-col gap-1",o),"data-bearish":s,children:[jsx("div",{className:"text-base font-medium leading-none text-bullish group-data-[bearish=true]:text-bearish",children:e?formatPriceUSD(e):"--"}),jsxs("div",{className:"flex items-center gap-2 text-[10px] leading-none",children:[jsx("span",{className:"text-default-400",children:"24h"}),jsx("span",{className:"text-bullish group-data-[bearish=true]:text-bearish",children:r!=null?formatPercent(r):"--"})]})]})}function hs(e,t){return L(e,t)}function bs({chain:e,address:t,className:o}){let{token:s}=hs(e,t);return jsx(ks,{priceInUsd:s?.marketData?.priceInUsd,price24hAgoInUsd:s?.stats?.["24h"]?.openPriceInUsd,className:o})}function jd(e,t){switch(e){case "website":return jsx(WebsiteIcon,{width:t,height:t});case "twitter":return jsx(TwitterIcon,{width:t,height:t});case "telegram":return jsx(TelegramIcon,{width:t,height:t});case "discord":return jsx(DiscordIcon,{width:t,height:t});default:return jsx("span",{className:"text-[9px] font-medium uppercase",children:e.slice(0,2)})}}function ys({socials:e,className:t,iconSize:o=16}){if(!e)return null;let r=["website","twitter","telegram","discord","github","reddit","youtube","medium"].filter(n=>!!e[n]);return r.length===0?null:jsx("div",{className:cn$1("flex items-center gap-3",t),children:r.map(n=>jsx("a",{href:e[n],target:"_blank",rel:"noreferrer noopener",className:"flex items-center justify-center text-default-400 transition-colors hover:text-foreground",style:{width:o,height:o},children:jd(n,o)},n))})}function Ts(e,t){return L(e,t)}function vs({chain:e,address:t,className:o,iconSize:s}){let{token:r}=Ts(e,t);return jsx(ys,{socials:r?.socialMedias,className:o,iconSize:s})}function Cs({volumesInUsd:e,trades:t,traders:o,className:s}){return jsxs("div",{className:cn$1("flex flex-col items-start justify-center gap-0.5",s),children:[jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsx("span",{className:"text-foreground",children:e?formatAmountUSDCompact(e):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:t!=null?formatAmount(t):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:o!=null?formatAmount(o):"--"})]}),jsx("div",{className:"text-[10px] text-default-400",children:"24h Vol / Txs / Traders"})]})}function Ps(e,t){return L(e,t)}function ws({chain:e,address:t,className:o}){let{token:s}=Ps(e,t),r=s?.stats?.["24h"];return jsx(Cs,{volumesInUsd:r?.volumesInUsd,trades:r?.trades,traders:r?.traders,className:o})}function Ls({chain:e,address:t,className:o}){return jsx(ns,{className:o,price:jsx(bs,{chain:e,address:t}),marketCap:jsx(fs,{chain:e,address:t}),volume:jsx(ws,{chain:e,address:t}),holdersCount:jsx(ds,{chain:e,address:t}),socialMedia:jsx(vs,{chain:e,address:t})})}function Hy({chain:e,address:t,actions:o,dataStrip:s,className:r,onCopyAddress:n}){let{token:i}=rs(e,t);return jsx(os,{token:i,actions:o,dataStrip:s===void 0?jsx(Ls,{chain:e,address:t}):s,className:r,onCopyAddress:n})}var ic=[{value:"holdingUsd",label:"Value"},{value:"lastActiveAt",label:"Last active"}];function Is({holders:e,isLoading:t,sortBy:o,onSortByChange:s,onlyTracked:r=false,onOnlyTrackedChange:n,onLoadMore:i,hasMore:a,now:l=Date.now(),wellKnownAddresses:d,className:c,renderAddress:p}){let m=r?e.filter(u=>u.tags&&u.tags.length>0):e;return jsxs("div",{className:cn$1("flex flex-col",c),children:[jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxs("div",{className:"flex items-center gap-3",children:[jsx("span",{className:"text-xs font-medium text-default-500",children:"Holders"}),jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:r,onChange:u=>n?.(u.target.checked)}),"Only Tracked"]})]}),jsx("div",{className:"flex items-center gap-1",children:ic.map(u=>jsx("button",{type:"button",onClick:()=>s(u.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",o===u.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:u.label},u.value))})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[640px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[30%] px-3 py-2 text-left font-normal",children:"Wallet"}),jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:"Tags"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Value"}),jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"%"}),jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"First held"}),jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:"Last active"})]})}),jsxs("tbody",{children:[m.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No holders"})}),m.map(u=>jsx(ac,{holder:u,now:l,wellKnownAddresses:d,renderAddress:p},u.address)),t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),a&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:i,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function ac({holder:e,now:t,wellKnownAddresses:o,renderAddress:s}){let r=o?.[e.address],n=useMemo(()=>s?s(e.address):r?jsx("span",{className:"rounded bg-default-100 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-default-600",children:r}):jsx("span",{className:"font-mono text-[11px] text-default-500",children:J(e.address,6,6)}),[e.address,s,r]);return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:n}),jsx("td",{className:"px-3 py-2 align-middle",children:jsx(Nt,{tags:e.tags,max:3})}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:formatAmountUSDCompact(e.amountInUsd)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:he(e.ratio)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.startHoldingAt?se(e.startHoldingAt,t):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.lastActiveAt?se(e.lastActiveAt,t):"--"})]})}function Fs({chain:e,address:t,limit:o=50,initialSortBy:s="holdingUsd"}){let[r,n]=useState(s),[i,a]=useState(void 0),[l,d]=useState([]),c=useCallback(()=>{a(void 0),d([]);},[]),p=useCallback(T=>{T!==r&&(n(T),c());},[r,c]);useEffect(()=>{c();},[e,t,c]);let m=useMemo(()=>({chain:e,address:t,cursor:i,limit:o,sortBy:r}),[e,t,i,o,r]),{data:u,isPending:x,isFetching:k}=useTokenHoldersQuery(m);useEffect(()=>{u&&d(T=>i==null?[u]:T[T.length-1]?.endCursor===u.endCursor?T:[...T,u]);},[u,i]),useTokenSubscription({chain:e,address:t},()=>{});let g=useMemo(()=>l.flatMap(T=>T.data),[l]),f=l[l.length-1],h=!!(f?.hasNext&&f.endCursor),b=useCallback(()=>{!f?.endCursor||!f.hasNext||a(f.endCursor);},[f]);return {holders:g,isLoading:x||k,sortBy:r,setSortBy:p,hasMore:h,loadMore:b}}function eT({chain:e,address:t,limit:o,initialSortBy:s,initialOnlyTracked:r=false,wellKnownAddresses:n,className:i,renderAddress:a}){let[l,d]=useState(r),{holders:c,isLoading:p,sortBy:m,setSortBy:u,hasMore:x,loadMore:k}=Fs({chain:e,address:t,limit:o,initialSortBy:s});return jsx(Is,{holders:c,isLoading:p,sortBy:m,onSortByChange:u,onlyTracked:l,onOnlyTrackedChange:d,wellKnownAddresses:n,hasMore:x,onLoadMore:k,className:i,renderAddress:a})}var fc=[{value:"timestamp",label:"Latest"},{value:"totalUsd",label:"Top USD"}],gc=[{value:"all",label:"All"},{value:"buy",label:"Buys"},{value:"sell",label:"Sells"}],xc=[{value:"all",label:"All"},{value:"dev",label:"DEV"},{value:"tracked",label:"TRACKED"},{value:"you",label:"YOU"}];function Os({activities:e,isLoading:t,sortBy:o,onSortByChange:s,typeFilter:r="all",onTypeFilterChange:n,traderFilter:i="all",onTraderFilterChange:a,youWalletAddress:l,currency:d="usd",onCurrencyChange:c,onLoadMore:p,hasMore:m,now:u=Date.now(),nativeDecimals:x=9,nativeSymbol:k="SOL",className:g,onRowClick:f}){let h=hc(e,i,l);return jsxs("div",{className:cn$1("flex flex-col",g),children:[jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2",children:[jsxs("div",{className:"flex items-center gap-1",children:[gc.map(b=>jsx("button",{type:"button",onClick:()=>n?.(b.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",r===b.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:b.label},b.value)),jsx("span",{className:"mx-1 h-3 w-px bg-default-200","aria-hidden":true}),xc.map(b=>{let T=i===b.value,W=b.value==="you"&&!l;return jsx("button",{type:"button",disabled:W,onClick:()=>a?.(b.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",T?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground",W&&"cursor-not-allowed opacity-50"),children:b.label},b.value)})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx(bc,{value:d,nativeSymbol:k,onChange:c}),jsx("div",{className:"flex items-center gap-1",children:fc.map(b=>jsx("button",{type:"button",onClick:()=>s(b.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",o===b.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:b.label},b.value))})]})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[780px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:"Side"}),jsx("th",{className:"w-[25%] px-3 py-2 text-left font-normal",children:"Trader"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Amount"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"USD"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Price"}),jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"Gas"}),jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"Age"})]})}),jsxs("tbody",{children:[h.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-8 text-center text-default-400",children:"No activities"})}),h.map(b=>jsx(Tc,{activity:b,now:u,nativeDecimals:x,nativeSymbol:k,currency:d,onRowClick:f},b.txHash)),t&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),m&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:p,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function kc(e){return e.type==="buy"?e.to:e.type==="sell"?e.from:e.to}function hc(e,t,o){if(t==="all")return e;if(t==="you"){if(!o)return [];let r=o.toLowerCase();return e.filter(n=>n.walletAddress?.toLowerCase()===r)}if(t==="dev")return e.filter(r=>r.traderTags?.some(n=>n==="dev"));let s=new Set(["kol","smart","bluechip"]);return e.filter(r=>r.traderTags?.some(n=>s.has(n)))}function bc({value:e,nativeSymbol:t,onChange:o}){return jsx("div",{className:"flex h-[22px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(r=>jsx("button",{type:"button",onClick:()=>o?.(r.k),className:cn$1("rounded px-2 transition-colors",e===r.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:r.label},r.k))})}function yc(e,t,o){if(!e)return "--";let s=Number(e)/Math.pow(10,t);return Number.isFinite(s)?`${formatAmount(s)} ${o}`:"--"}function Tc({activity:e,now:t,nativeDecimals:o,nativeSymbol:s,currency:r,onRowClick:n}){let i=kc(e),a=e.type==="buy"?"Buy":e.type==="sell"?"Sell":e.type.replace(/_/g," "),l=e.type==="buy"?"text-bullish":e.type==="sell"?"text-bearish":"text-default-500";return jsxs("tr",{className:cn$1("border-b border-default-50 hover:bg-default-50/60",n&&"cursor-pointer"),onClick:n?()=>n(e):void 0,children:[jsx("td",{className:cn$1("px-3 py-2 align-middle font-medium capitalize",l),children:a}),jsx("td",{className:"px-3 py-2 align-middle",children:jsxs("div",{className:"flex flex-col gap-0.5",children:[jsx("span",{className:"font-mono text-[11px] text-default-500",children:J(e.walletAddress,6,6)}),jsx(Xr,{tags:e.traderTags,max:2})]})}),jsxs("td",{className:"px-3 py-2 text-right align-middle",children:[formatAmount(i.amount)," ",i.symbol]}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r==="native"&&i.amountInNative?`${formatAmount(i.amountInNative)} ${i.symbol}`:i.amountInUsd?formatAmountUSDCompact(i.amountInUsd):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:i.priceInUsd?`$${formatPrice(i.priceInUsd)}`:"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:yc(e.gasFee,o,s)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:se(e.time,t)})]})}function Bs({chain:e,address:t,limit:o=50,initialSortBy:s="timestamp",initialTypeFilter:r="all"}){let[n,i]=useState(s),[a,l]=useState(r),[d,c]=useState(void 0),[p,m]=useState([]),[u,x]=useState([]),k=useCallback(()=>{c(void 0),m([]),x([]);},[]),g=useCallback(U=>{U!==n&&(i(U),k());},[n,k]),f=useCallback(U=>{U!==a&&(l(U),k());},[a,k]);useEffect(()=>{k();},[e,t,k]);let h=a==="all"?void 0:a,b=useMemo(()=>({chain:e,address:t,cursor:d,limit:o,sortBy:n,type:h}),[e,t,d,o,n,h]),{data:T,isPending:W,isFetching:G}=useTokenActivitiesQuery(b);useEffect(()=>{T&&m(U=>d==null?[T]:U[U.length-1]?.endCursor===T.endCursor?U:[...U,T]);},[T,d]);let ue=n==="timestamp"&&a==="all"&&d==null;useTokenActivitiesSubscription({chain:e,address:t},U=>{!ue||!U?.length||x($e=>{let Qo=new Set($e.map(Jt=>Jt.txHash)),ne=U.filter(Jt=>!Qo.has(Jt.txHash));return ne.length===0?$e:[...ne,...$e].slice(0,100)});});let Gt=useMemo(()=>{let U=p.flatMap(ne=>ne.data);if(!ue||u.length===0)return U;let $e=new Set(U.map(ne=>ne.txHash));return [...u.filter(ne=>!$e.has(ne.txHash)),...U]},[p,u,ue]),D=p[p.length-1],ji=!!(D?.hasNext&&D.endCursor),ea=useCallback(()=>{!D?.endCursor||!D.hasNext||c(D.endCursor);},[D]);return {activities:Gt,isLoading:W||G,sortBy:n,setSortBy:g,typeFilter:a,setTypeFilter:f,hasMore:ji,loadMore:ea}}function bT({chain:e,address:t,limit:o,initialSortBy:s,initialTypeFilter:r,initialTraderFilter:n="all",initialCurrency:i="usd",youWalletAddress:a,nativeDecimals:l,nativeSymbol:d,className:c,onRowClick:p}){let[m,u]=useState(n),[x,k]=useState(i),{activities:g,isLoading:f,sortBy:h,setSortBy:b,typeFilter:T,setTypeFilter:W,hasMore:G,loadMore:ue}=Bs({chain:e,address:t,limit:o,initialSortBy:s,initialTypeFilter:r});return jsx(Os,{activities:g,isLoading:f,sortBy:h,onSortByChange:b,typeFilter:T,onTypeFilterChange:W,traderFilter:m,onTraderFilterChange:u,youWalletAddress:a,currency:x,onCurrencyChange:k,hasMore:G,onLoadMore:ue,className:c,nativeDecimals:l,nativeSymbol:d,onRowClick:p})}function Ws({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.traders??0,n=s?.buyers??0,i=s?.sellers??0;return jsx(Me,{className:o,label:`Traders (${t})`,totalFormatted:formatAmount(r),buysFormatted:formatAmount(n),sellsFormatted:formatAmount(i),totalValue:r,buysValue:n})}function Vs(e,t){return L(e,t)}function FT({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=Vs(e,t);return jsx(Ws,{stats:r?.stats,resolution:o,className:s})}function _s({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.trades??0,n=s?.buys??0,i=s?.sells??0;return jsx(Me,{className:o,label:`Transactions (${t})`,totalFormatted:formatAmount(r),buysFormatted:formatAmount(n),sellsFormatted:formatAmount(i),totalValue:r,buysValue:n})}function $s(e,t){return L(e,t)}function JT({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=$s(e,t);return jsx(_s,{stats:r?.stats,resolution:o,className:s})}function Ks({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.volumesInUsd??"0",n=s?.buyVolumesInUsd??"0",i=s?.sellVolumesInUsd??"0";return jsx(Me,{className:o,label:`Volume (${t})`,totalFormatted:formatAmountUSDCompact(r),buysFormatted:formatAmountUSDCompact(n),sellsFormatted:formatAmountUSDCompact(i),totalValue:r,buysValue:n})}function zs(e,t){return L(e,t)}function cv({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=zs(e,t);return jsx(Ks,{stats:r?.stats,resolution:o,className:s})}function qs({security:e,externalUrl:t,externalLabel:o,className:s}){let r=[{title:"Transfer fee",value:e?.hasTransferFee,safeWhen:false,description:"Whether the token charges a fee on transfer."},{title:"Fee not upgradable",value:e?.isTransferFeeUpgradable,safeWhen:false,description:"Whether the transfer fee can be raised by the token owner."},{title:"Transferable",value:e?.isTransferable,safeWhen:true,description:"Whether token holders can freely transfer the token."},{title:"Not freezable",value:e?.isFreezable,safeWhen:false,description:"Whether the token authority can freeze holder balances."},{title:"Not closable",value:e?.isClosable,safeWhen:false,description:"Whether the token program can be closed by its owner."}],n=r.every(i=>i.value!==void 0&&i.value===i.safeWhen);return jsxs("section",{className:cn$1("flex w-full flex-col gap-3",s),children:[jsxs("div",{className:"flex items-baseline justify-between",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:"Security"}),jsx("span",{className:cn$1("text-xs",e===void 0?"text-default-400":n?"text-success-500":"text-danger-500"),children:e===void 0?"--":n?"Safe":"Review"})]}),jsx("div",{className:"flex flex-col",children:r.map(i=>jsx(Ic,{...i},i.title))}),t&&o&&jsx("div",{className:"flex justify-center",children:jsx("a",{href:t,target:"_blank",rel:"noreferrer noopener",className:"text-xs text-default-400 transition-colors hover:text-foreground",children:o})})]})}function Ic({title:e,value:t,safeWhen:o,description:s}){let r=t!==void 0&&t===o,n=t===void 0?"--":r?"OK":"Risk";return jsxs("div",{className:"flex h-8 items-center justify-between gap-2",children:[jsx("span",{className:"text-xs text-default-500",title:s,children:e}),jsx("span",{className:cn$1("text-xs",t===void 0?"text-default-400":r?"text-success-500":"text-danger-500"),children:n})]})}function Qs(e,t){let{data:o,isLoading:s}=useTokenSecurityQuery({chain:e,address:t});return {security:o,isLoading:s}}function Nv({chain:e,address:t,externalUrl:o,externalLabel:s,className:r}){let{security:n}=Qs(e,t);return jsx(qs,{security:n,externalUrl:o,externalLabel:s,className:r})}function Xs({token:e,className:t}){return e?jsxs("section",{className:cn$1("flex w-full flex-col gap-2",t),children:[jsxs("div",{className:"text-sm font-medium text-foreground",children:["About ",e.symbol]}),e.description?jsx("p",{className:"whitespace-pre-line text-xs text-default-500",children:e.description}):jsx("p",{className:"text-xs text-default-400",children:"No description provided."})]}):null}function Ys(e,t){return L(e,t)}function Bv({chain:e,address:t,className:o}){let{token:s}=Ys(e,t);return jsx(Xs,{token:s,className:o})}function en({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:s,onPoolClick:r}){let[n,i]=useState(!e||e.length<=o),a=useCallback(()=>i(l=>!l),[]);return jsxs("section",{className:cn$1("flex w-full flex-col gap-3",s),children:[jsxs("div",{className:"flex items-baseline justify-between",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:"Liquidity"}),t&&jsx("span",{className:"text-xs text-foreground",children:formatAmountUSDCompact(t)})]}),(!e||e.length===0)&&jsx("div",{className:"py-4 text-center text-xs text-default-400",children:"No pools"}),e&&e.length>0&&jsxs("div",{className:"flex flex-col gap-2",children:[e.map((l,d)=>jsxs("div",{className:cn$1("flex h-10 w-full items-center justify-between overflow-hidden text-xs",d>=o&&!n&&"hidden",r&&"cursor-pointer hover:bg-default-50"),onClick:r?()=>r(l):void 0,children:[jsxs("div",{className:"flex flex-col gap-0.5",children:[jsx("span",{className:"text-foreground",children:l.protocolFamily??l.protocolName??"Unknown"}),l.poolAddress&&jsxs("span",{className:"font-mono text-[10px] text-default-400",children:["Pool: ",J(l.poolAddress,6,6)]})]}),jsx("div",{className:"text-default-500",children:formatAmountUSDCompact(l.tvlInUsd??0)})]},l.poolAddress??`${l.protocolFamily}-${d}`)),e.length>o&&jsx("div",{className:"flex justify-center pt-1",children:jsx("button",{type:"button",onClick:a,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:n?"Show less":"Show more"})})]})]})}function tn(e,t){return L(e,t)}function t0({chain:e,address:t,collapseAt:o,className:s,onPoolClick:r}){let{token:n}=tn(e,t);return jsx(en,{liquidities:n?.liquidities,totalTvlInUsd:n?.marketData?.tvlInUsd,collapseAt:o,className:s,onPoolClick:r})}function on({cexes:e,collapseAt:t=4,className:o}){let[s,r]=useState(!e||e.length<=t),n=useCallback(()=>r(i=>!i),[]);return !e||e.length===0?null:jsxs("section",{className:cn$1("w-full",o),children:[jsx("div",{className:"text-sm font-medium text-foreground",children:"CEX listings"}),jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((i,a)=>{let l=a>=t&&!s,d=jsx(Chip,{startContent:i.logo?jsx(Image,{src:i.logo,width:20,height:20,alt:i.name}):void 0,className:cn$1("bg-default-100 text-xs",l&&"hidden"),children:i.name},i.id);return i.url?jsx("a",{href:i.url,target:"_blank",rel:"noreferrer noopener",className:cn$1(l&&"hidden"),children:d},i.id):d})}),e.length>t&&jsx("div",{className:"mt-3 flex justify-center",children:jsx("button",{type:"button",onClick:n,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:s?"Show less":"Show more"})})]})}function rn(e){return {cexes:e}}function g0({cexes:e,collapseAt:t,className:o}){let{cexes:s}=rn(e);return jsx(on,{cexes:s,collapseAt:t,className:o})}function nn({categories:e,collapseAt:t=4,className:o,onCategoryClick:s}){let[r,n]=useState(!e||e.length<=t),i=useCallback(()=>n(a=>!a),[]);return !e||e.length===0?null:jsxs("section",{className:cn$1("w-full",o),children:[jsx("div",{className:"text-sm font-medium text-foreground",children:"Categories"}),jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((a,l)=>{let d=l>=t&&!r;return jsx(Chip,{size:"sm",className:cn$1("bg-default-100",d&&"hidden",s&&"cursor-pointer"),onClick:s?()=>s(a):void 0,children:a},a)})}),e.length>t&&jsx("div",{className:"mt-3 flex justify-center",children:jsx("button",{type:"button",onClick:i,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:r?"Show less":"Show more"})})]})}function an(e,t){return L(e,t)}function R0({chain:e,address:t,collapseAt:o,className:s,onCategoryClick:r}){let{token:n}=an(e,t);return jsx(nn,{categories:n?.tags,collapseAt:o,className:s,onCategoryClick:r})}var ln=["5m","1h","4h","24h"];function dn({stats:e,resolution:t,className:o}){let s=e?.[t],r=new SafeBigNumber(s?.buyVolumesInUsd??0),n=new SafeBigNumber(s?.sellVolumesInUsd??0),i=r.plus(n),a=r.minus(n),l=i.eq(0)?50:Math.min(100,Math.max(0,r.div(i).times(100).toNumber())),d=[{label:`${t} Vol`,value:formatAmountUSDCompact(i.toString()),className:"text-foreground"},{label:"Buys",value:formatAmountUSDCompact(r.toString()),className:"text-bullish"},{label:"Sells",value:formatAmountUSDCompact(n.toString()),className:"text-bearish"},{label:"Net Vol.",value:formatAmountUSDCompact(a.abs().toString()),className:a.gte(0)?"text-bullish":"text-bearish"}];return jsxs("div",{className:cn$1("flex h-full w-full flex-col",o),children:[jsx("div",{className:"grid flex-1 grid-cols-4 items-center",children:d.map(c=>jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] px-2",children:[jsx("span",{className:"text-[10px] leading-none text-default-400",children:c.label}),jsx("span",{className:cn$1("text-[13px] font-medium leading-none tabular-nums",c.className),children:c.value})]},c.label))}),jsx("div",{className:"relative h-[2px] w-full overflow-hidden bg-bearish",children:jsx("div",{className:"absolute inset-y-0 left-0 bg-bullish transition-[width] duration-200 ease-out",style:{width:`${l}%`}})})]})}function cn({stats:e,resolutions:t,className:o}){return jsx("div",{className:cn$1("grid h-full w-full grid-cols-4 items-center",o),children:t.map(s=>{let n=e?.[s]?.priceChange,i=n?new SafeBigNumber(n):void 0,a=i?i.gte(0):void 0,l=s,d=i?formatPercent(i,{showPlusGtThanZero:true}):"\u2014";return jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] px-2",children:[jsx("span",{className:"text-[10px] leading-none text-default-400",children:l}),jsx("span",{className:cn$1("text-[13px] font-medium leading-none tabular-nums",a===void 0?"text-foreground":a?"text-bullish":"text-bearish"),children:d})]},s)})})}function mn({chain:e,address:t}){let{data:o,isLoading:s}=useTokenStatsQuery({chain:e,address:t});return {stats:o,isLoading:s}}function q0({chain:e,address:t,baseResolution:o="5m",hoverResolutions:s=ln,height:r=64,className:n}){let{stats:i}=mn({chain:e,address:t});return jsx(StatsFlipPanel,{className:n,height:r,base:jsx(dn,{stats:i,resolution:o}),hover:jsx(cn,{stats:i,resolutions:s})})}function pn({positions:e,isLoading:t,hasMore:o,onLoadMore:s,currency:r="usd",onCurrencyChange:n,showHidden:i=false,onShowHiddenChange:a,nativeSymbol:l="Native",renderActions:d,className:c}){return jsxs("div",{className:cn$1("flex flex-col",c),children:[jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxs("div",{className:"flex items-center gap-3",children:[jsx("span",{className:"text-xs font-medium text-default-500",children:"Positions"}),jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:i,onChange:p=>a?.(p.target.checked)}),"Show Hidden"]})]}),jsx(rm,{value:r,nativeSymbol:l,onChange:n})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[720px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[26%] px-3 py-2 text-left font-normal",children:"Token"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Bought"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Sold"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Remaining"}),jsx("th",{className:"w-[18%] px-3 py-2 text-right font-normal",children:"PnL"}),jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"Actions"})]})}),jsxs("tbody",{children:[e.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No open positions"})}),e.map(p=>jsx(sm,{position:p,currency:r,renderActions:d},`${p.chain}:${p.address}`)),t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),o&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:s,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function rm({value:e,nativeSymbol:t,onChange:o}){return jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(r=>jsx("button",{type:"button",onClick:()=>o?.(r.k),className:cn$1("rounded px-2 transition-colors",e===r.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:r.label},r.k))})}function sm({position:e,currency:t,renderActions:o}){let{bought:s,sold:r,remaining:n,pnl:i}=useMemo(()=>nm(e,t),[e,t]),a=jsxs("div",{className:"flex items-center gap-2",children:[jsx(Avatar,{src:e.image??void 0,name:(e.symbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxs("div",{className:"flex min-w-0 flex-col",children:[jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:e.name})]})]});return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:a}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n}),jsx("td",{className:cn$1("px-3 py-2 text-right align-middle font-medium",i.isPositive===void 0?"text-default-400":i.isPositive?"text-bullish":"text-bearish"),children:jsxs("div",{className:"flex flex-col items-end leading-tight",children:[jsx("span",{children:i.amount}),i.ratio?jsx("span",{className:"text-[10px]",children:i.ratio}):null]})}),jsx("td",{className:"px-3 py-2 text-right align-middle",children:o?o(e):jsx("span",{className:"text-default-400",children:"--"})})]})}function nm(e,t){let o=t==="usd"?e.buyVolumesInUsd:e.buyVolumes,s=t==="usd"?e.sellVolumesInUsd:e.sellVolumes,r=t==="usd"?e.amountInUsd:e.amount,n=e.totalProfitInUsd,i=t==="usd"?formatAmountUSDCompact(o??0):formatAmount(o??0),a=t==="usd"?formatAmountUSDCompact(s??0):formatAmount(s??0),l=t==="usd"?formatAmountUSDCompact(r??0):formatAmount(r??0),d=n?new SafeBigNumber(n):void 0,c=d?d.gte(0):void 0,p=d?(c?"+":"")+formatAmountUSDCompact(d.toString()):"--",m=e.totalProfitRatio?formatPercent(e.totalProfitRatio,{showPlusGtThanZero:true}):void 0;return {bought:i,sold:a,remaining:l,pnl:{amount:p,ratio:m,isPositive:c}}}function gn({chain:e,wallet:t,limit:o=50,initialShowHidden:s=false}){let[r,n]=useState(void 0),[i,a]=useState([]),[l,d]=useState(s);useEffect(()=>{n(void 0),a([]);},[e,t]);let c=useMemo(()=>({chain:e,address:t??"",cursor:r,limit:o,positionState:"open"}),[e,t,r,o]),{data:p,isPending:m,isFetching:u}=useWalletTokenPositionsQuery(c,{enabled:!!t});useEffect(()=>{p&&a(h=>r==null?[p]:h[h.length-1]?.endCursor===p.endCursor?h:[...h,p]);},[p,r]);let x=useMemo(()=>i.flatMap(h=>h.portfolios),[i]),k=i[i.length-1],g=!!(k?.hasNext&&k.endCursor),f=useCallback(()=>{!k?.endCursor||!k.hasNext||n(k.endCursor);},[k]);return {positions:x,isLoading:!!t&&(m||u),hasMore:g,loadMore:f,showHidden:l,setShowHidden:d}}function cS({chain:e,wallet:t,limit:o,initialCurrency:s="usd",nativeSymbol:r,renderActions:n,className:i}){let[a,l]=useState(s),{positions:d,isLoading:c,hasMore:p,loadMore:m,showHidden:u,setShowHidden:x}=gn({chain:e,wallet:t,limit:o});return jsx(pn,{className:i,positions:d,isLoading:c,hasMore:p,onLoadMore:m,currency:a,onCurrencyChange:l,showHidden:u,onShowHiddenChange:x,nativeSymbol:r,renderActions:n})}function xn({orders:e,isLoading:t,unavailable:o,hasMore:s,onLoadMore:r,stateFilter:n,onStateFilterChange:i,onlyThisToken:a=false,onOnlyThisTokenChange:l,tokenSymbol:d,currency:c="usd",onCurrencyChange:p,nativeSymbol:m="Native",onCancelAll:u,renderActions:x,className:k}){return jsxs("div",{className:cn$1("flex flex-col",k),children:[jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"active",label:"Active Orders"},{k:"history",label:"Order History"}].map(g=>jsx("button",{type:"button",onClick:()=>i(g.k),className:cn$1("rounded px-2 transition-colors",n===g.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:g.label},g.k))}),d?jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:a,onChange:g=>l?.(g.target.checked)}),"Only ",d]}):null]}),jsxs("div",{className:"flex items-center gap-2",children:[u?jsx("button",{type:"button",onClick:u,className:"rounded px-2 py-1 text-[11px] text-bearish transition-colors hover:bg-default-100",children:"Cancel All"}):null,jsx(um,{value:c,nativeSymbol:m,onChange:p})]})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[760px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[22%] px-3 py-2 text-left font-normal",children:"Token"}),jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:"Type"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Amount"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Current MC"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Target MC"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Settings"}),jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"Action"})]})}),jsxs("tbody",{children:[o?jsx("tr",{children:jsx("td",{colSpan:7,className:"py-10 text-center text-default-400",children:"Limit orders are coming soon."})}):e.length===0&&!t?jsx("tr",{children:jsxs("td",{colSpan:7,className:"py-10 text-center text-default-400",children:["No ",n==="active"?"active":"historical"," orders"]})}):e.map(g=>jsx(fm,{order:g,currency:c,renderActions:x},g.id)),t&&!o&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&s&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:r,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function um({value:e,nativeSymbol:t,onChange:o}){return jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(r=>jsx("button",{type:"button",onClick:()=>o?.(r.k),className:cn$1("rounded px-2 transition-colors",e===r.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:r.label},r.k))})}function fm({order:e,currency:t,renderActions:o}){let s=useMemo(()=>t==="usd"&&e.amountInUsd?formatAmountUSDCompact(e.amountInUsd):formatAmount(e.amount),[t,e.amount,e.amountInUsd]),r=e.side==="buy"?"Buy":"Sell",n=e.side==="buy"?"text-bullish":"text-bearish";return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:jsxs("div",{className:"flex items-center gap-2",children:[jsx(Avatar,{src:e.tokenImage??void 0,name:(e.tokenSymbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsx("span",{className:"truncate text-foreground",children:e.tokenSymbol??"--"})]})}),jsx("td",{className:cn$1("px-3 py-2 align-middle font-medium",n),children:r}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:e.currentMarketCapInUsd?formatAmountUSDCompact(e.currentMarketCapInUsd):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:e.targetMarketCapInUsd?formatAmountUSDCompact(e.targetMarketCapInUsd):e.targetPriceInUsd?formatAmountUSDCompact(e.targetPriceInUsd):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.slippage!=null?`Slip ${e.slippage}%`:"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle",children:o?o(e):jsx("span",{className:"text-default-400",children:"--"})})]})}function xm(e){return e instanceof Error&&e.code==="NotImplemented"}function km(e){return e==="active"?"active":"filled"}function yn({chain:e,wallet:t,tokenAddress:o,limit:s=50,initialStateFilter:r="active",initialOnlyThisToken:n=false}){let[i,a]=useState(r),[l,d]=useState(n),[c,p]=useState(void 0),[m,u]=useState([]);useEffect(()=>{p(void 0),u([]);},[e,t,i,l,o]);let x=useCallback(D=>{D!==i&&a(D);},[i]),k=useMemo(()=>({chain:e,address:t??"",cursor:c,limit:s,state:km(i),tokenAddress:l?o:void 0}),[e,t,c,s,i,l,o]),{data:g,isPending:f,isFetching:h,error:b}=useWalletLimitOrdersQuery(k,{enabled:!!t});useEffect(()=>{g&&u(D=>c==null?[g]:D[D.length-1]?.endCursor===g.endCursor?D:[...D,g]);},[g,c]);let T=!!b&&xm(b),W=useMemo(()=>m.flatMap(D=>D.data),[m]),G=m[m.length-1],ue=!!(G?.hasNext&&G.endCursor),Gt=useCallback(()=>{!G?.endCursor||!G.hasNext||p(G.endCursor);},[G]);return {orders:W,isLoading:!!t&&!T&&(f||h),unavailable:T,hasMore:ue,loadMore:Gt,stateFilter:i,setStateFilter:x,onlyThisToken:l,setOnlyThisToken:d}}function LS({chain:e,wallet:t,tokenAddress:o,tokenSymbol:s,limit:r,initialStateFilter:n="active",initialCurrency:i="usd",nativeSymbol:a,onCancelAll:l,renderActions:d,className:c}){let[p,m]=useState(i),{orders:u,isLoading:x,unavailable:k,hasMore:g,loadMore:f,stateFilter:h,setStateFilter:b,onlyThisToken:T,setOnlyThisToken:W}=yn({chain:e,wallet:t,tokenAddress:o,limit:r,initialStateFilter:n});return jsx(xn,{className:c,orders:u,isLoading:x,unavailable:k,hasMore:g,onLoadMore:f,stateFilter:h,onStateFilterChange:b,onlyThisToken:T,onOnlyThisTokenChange:W,tokenSymbol:s,currency:p,onCurrencyChange:m,nativeSymbol:a,onCancelAll:k?void 0:l,renderActions:d})}function Tn({traders:e,isLoading:t,hasMore:o,onLoadMore:s,onlyTracked:r=false,onOnlyTrackedChange:n,now:i=Date.now(),renderAddress:a,className:l}){return jsxs("div",{className:cn$1("flex flex-col",l),children:[jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsx("span",{className:"text-xs font-medium text-default-500",children:"Top Traders"}),jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:r,onChange:d=>n?.(d.target.checked)}),"Only Tracked"]})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[680px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[28%] px-3 py-2 text-left font-normal",children:"Wallet"}),jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:"Tags"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Value"}),jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"%"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Realized PnL"}),jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:"Last active"})]})}),jsxs("tbody",{children:[e.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No top traders yet"})}),e.map(d=>jsx(Sm,{trader:d,now:i,renderAddress:a},d.address)),t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),o&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:s,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function Sm({trader:e,now:t,renderAddress:o}){let s=useMemo(()=>o?o(e.address):jsx("span",{className:"font-mono text-[11px] text-default-500",children:J(e.address,6,6)}),[e.address,o]);return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:s}),jsx("td",{className:"px-3 py-2 align-middle",children:jsx(Nt,{tags:e.tags,max:3})}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:formatAmountUSDCompact(e.amountInUsd)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:he(e.ratio)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:"\u2014"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.lastActiveAt?se(e.lastActiveAt,t):"--"})]})}function Sn({chain:e,address:t,limit:o=50,initialOnlyTracked:s=false}){let[r,n]=useState(void 0),[i,a]=useState([]),[l,d]=useState(s);useEffect(()=>{n(void 0),a([]);},[e,t]);let c=useMemo(()=>({chain:e,address:t,cursor:r,limit:o,sortBy:"realizedPnl"}),[e,t,r,o]),{data:p,isPending:m,isFetching:u}=useTokenTopTradersQuery(c);useEffect(()=>{p&&a(b=>r==null?[p]:b[b.length-1]?.endCursor===p.endCursor?b:[...b,p]);},[p,r]);let x=useMemo(()=>i.flatMap(b=>b.data),[i]),k=useMemo(()=>l?x.filter(b=>b.tags&&b.tags.length>0):x,[x,l]),g=i[i.length-1],f=!!(g?.hasNext&&g.endCursor),h=useCallback(()=>{!g?.endCursor||!g.hasNext||n(g.endCursor);},[g]);return {traders:k,isLoading:m||u,hasMore:f,loadMore:h,onlyTracked:l,setOnlyTracked:d}}function QS({chain:e,address:t,limit:o,className:s,renderAddress:r}){let{traders:n,isLoading:i,hasMore:a,loadMore:l,onlyTracked:d,setOnlyTracked:c}=Sn({chain:e,address:t,limit:o});return jsx(Tn,{className:s,traders:n,isLoading:i,hasMore:a,onLoadMore:l,onlyTracked:d,onOnlyTrackedChange:c,renderAddress:r})}function Cn({tokens:e,isLoading:t,unavailable:o,hasMore:s,onLoadMore:r,renderTokenLink:n,className:i}){return jsxs("div",{className:cn$1("flex flex-col",i),children:[jsx("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:jsx("span",{className:"text-xs font-medium text-default-500",children:"Dev Tokens"})}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[700px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[28%] px-3 py-2 text-left font-normal",children:"Token"}),jsx("th",{className:"w-[10%] px-3 py-2 text-center font-normal",children:"Migrated"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Market Cap"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"ATH"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Liquidity"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"1h Volume"})]})}),jsxs("tbody",{children:[o?jsx("tr",{children:jsx("td",{colSpan:6,className:"py-10 text-center text-default-400",children:"Dev tokens index is coming soon."})}):e.length===0&&!t?jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No dev tokens"})}):e.map(a=>jsx(Lm,{token:a,renderTokenLink:n},`${a.chain}:${a.address}`)),!o&&t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&s&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:r,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function Lm({token:e,renderTokenLink:t}){let o=e.marketData?.marketCapInUsd??e.marketData?.marketCap,s=e.marketData?.tvlInUsd,n=e.stats?.["1h"]?.volumesInUsd,i=!!e.migratedTo,a=t?t(e):jsxs("div",{className:"flex items-center gap-2",children:[jsx(Avatar,{src:e.image??void 0,name:(e.symbol??e.name??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxs("div",{className:"flex min-w-0 flex-col",children:[jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:e.name})]})]});return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:a}),jsx("td",{className:"px-3 py-2 text-center align-middle",children:i?jsx("span",{className:"text-bullish",children:"\u2713"}):jsx("span",{className:"text-default-400",children:"\u2014"})}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:o?formatAmountUSDCompact(o):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s?formatAmountUSDCompact(s):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n?formatAmountUSDCompact(n):"--"})]})}function Pn({tokens:e,className:t}){let o=e.length,s=e.filter(a=>!!a.migratedTo).length,r=o===0?0:Math.round(s/o*100),n=e.map(a=>a.stats?.["1h"]?.volumesInUsd??"0").reduce((a,l)=>a.plus(new SafeBigNumber(l)),new SafeBigNumber(0)),i=e.map(a=>a.marketData?.marketCapInUsd??a.marketData?.marketCap??"0").reduce((a,l)=>a.plus(new SafeBigNumber(l)),new SafeBigNumber(0));return jsxs("div",{className:cn$1("flex flex-col gap-2 p-3",t),children:[jsx("div",{className:"flex items-center justify-between",children:jsx("span",{className:"text-xs font-medium text-default-500",children:"Token Stats"})}),jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsx(Ht,{label:"Total",value:String(o)}),jsx(Ht,{label:"Migrated",value:`${s} (${r}%)`}),jsx(Ht,{label:"Total Market Cap",value:formatAmountUSDCompact(i.toString())}),jsx(Ht,{label:"Total 1h Volume",value:formatAmountUSDCompact(n.toString())})]})]})}function Ht({label:e,value:t}){return jsxs("div",{className:"flex flex-col gap-[2px]",children:[jsx("span",{className:"text-[10px] text-default-400",children:e}),jsx("span",{className:"text-[13px] font-medium text-foreground",children:t})]})}function Im(e){return e instanceof Error&&e.code==="NotImplemented"}function Rn({chain:e,creator:t,limit:o=20}){let[s,r]=useState(void 0),[n,i]=useState([]);useEffect(()=>{r(void 0),i([]);},[e,t]);let a=useMemo(()=>({chain:e,creator:t??"",cursor:s,limit:o}),[e,t,s,o]),{data:l,isPending:d,isFetching:c,error:p}=useTokensByCreatorQuery(a,{enabled:!!t});useEffect(()=>{l&&i(f=>s==null?[l]:f[f.length-1]?.endCursor===l.endCursor?f:[...f,l]);},[l,s]);let m=!!p&&Im(p),u=useMemo(()=>n.flatMap(f=>f.data),[n]),x=n[n.length-1],k=!!(x?.hasNext&&x.endCursor),g=useCallback(()=>{!x?.endCursor||!x.hasNext||r(x.endCursor);},[x]);return {tokens:u,isLoading:!!t&&!m&&(d||c),unavailable:m,hasMore:k,loadMore:g}}function dN({chain:e,creator:t,limit:o,showSummary:s=false,renderTokenLink:r,className:n}){let{tokens:i,isLoading:a,unavailable:l,hasMore:d,loadMore:c}=Rn({chain:e,creator:t,limit:o});return jsxs("div",{className:n,children:[jsx(Cn,{tokens:i,isLoading:a,unavailable:l,hasMore:d,onLoadMore:c,renderTokenLink:r}),s&&!l?jsx(Pn,{tokens:i}):null]})}function Hn({token:e,athInUsd:t,athAt:o,globalFeesPaidInUsd:s,rank:r,onTogglePin:n,pinned:i,className:a}){let l=e?.marketData?.priceInUsd,d=e?.marketData?.tvlInUsd,c=e?.marketData?.totalSupply;return jsxs("div",{className:cn$1("flex h-[48px] w-full flex-row items-center gap-4 overflow-x-auto px-3 text-[12px]",a),children:[jsx(We,{label:"Price",value:l?formatPriceUSD(l):"--"}),jsx(We,{label:"Liquidity",value:d?formatAmountUSDCompact(d):"--"}),jsx(We,{label:"Supply",value:c?formatAmount(c):"--"}),s?jsx(We,{label:"Fees Paid",value:formatAmountUSDCompact(s)}):null,t?jsx(We,{label:"ATH",value:formatAmountUSDCompact(t),title:o?`All-time high at ${o.toLocaleDateString()}`:void 0}):null,r!==void 0?jsx(We,{label:"Rank",value:`#${r}`}):null,jsx("div",{className:"flex-1"}),n?jsx("button",{type:"button",onClick:n,"aria-pressed":i,className:cn$1("flex size-[26px] items-center justify-center rounded text-default-400 transition-colors hover:bg-default-100 hover:text-foreground",i&&"text-foreground"),title:i?"Unpin token":"Pin token",children:i?"\u2605":"\u2606"}):null]})}function We({label:e,value:t,title:o}){return jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] whitespace-nowrap",title:o,children:[jsx("span",{className:"text-[10px] leading-none text-default-400",children:e}),jsx("span",{className:"text-[13px] font-medium leading-none tabular-nums text-foreground",children:t})]})}function On({chain:e,address:t}){return L(e,t)}function NN({chain:e,address:t,athInUsd:o,athAt:s,globalFeesPaidInUsd:r,rank:n,pinned:i,onTogglePin:a,className:l}){let{token:d}=On({chain:e,address:t});return jsx(Hn,{className:l,token:d,athInUsd:o,athAt:s,globalFeesPaidInUsd:r,rank:n,pinned:i,onTogglePin:a})}function Un({tokens:e,isLoading:t,unavailable:o,onTokenClick:s,className:r}){return o?jsx("div",{className:cn$1("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"Similar tokens coming soon."}):!t&&e.length===0?jsx("div",{className:cn$1("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"No similar tokens found."}):jsxs("ul",{className:cn$1("flex flex-col",r),children:[e.map(n=>jsxs("li",{className:cn$1("flex cursor-pointer items-center gap-2 border-b border-default-50 px-3 py-2 last:border-0 hover:bg-default-50/60",!s&&"cursor-default"),onClick:s?()=>s(n):void 0,children:[jsx(Avatar,{src:n.image??void 0,name:(n.symbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[jsx("span",{className:"truncate text-[12px] text-foreground",children:n.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:n.name})]}),jsx("span",{className:"text-[11px] tabular-nums text-default-500",children:n.marketData?.marketCapInUsd?formatAmountUSDCompact(n.marketData.marketCapInUsd):"--"})]},`${n.chain}:${n.address}`)),t&&jsx("li",{className:"py-2 text-center text-[11px] text-default-400",children:"Loading\u2026"})]})}function Dn({chain:e,address:t,keyword:o,limit:s=10}){let r=!!o&&o.length>0,{data:n,isPending:i,isFetching:a}=useSearchTokensQuery({chains:[e],keyword:o,limit:s+1},{enabled:r});return {tokens:useMemo(()=>{if(!n)return [];let d=t.toLowerCase();return (n.data??[]).filter(c=>c.address.toLowerCase()!==d).slice(0,s)},[n,t,s]),isLoading:r&&(i||a),unavailable:!r}}function WN({chain:e,address:t,keyword:o,limit:s,onTokenClick:r,className:n}){let{tokens:i,isLoading:a,unavailable:l}=Dn({chain:e,address:t,keyword:o,limit:s});return jsx(Un,{className:n,tokens:i,isLoading:a,unavailable:l,onTokenClick:r})}function Bn({tokens:e=[],unavailable:t=true,onTokenClick:o,className:s}){return t?jsx("div",{className:cn$1("flex items-center justify-center p-4 text-center text-[11px] text-default-400",s),children:"Image-similarity search is coming soon."}):e.length===0?jsx("div",{className:cn$1("flex items-center justify-center p-4 text-center text-[11px] text-default-400",s),children:"No reused-image tokens found."}):jsx("div",{className:cn$1("flex flex-row flex-wrap gap-2 p-3",s),children:e.map(r=>jsx("button",{type:"button",onClick:o?()=>o(r):void 0,className:"flex size-10 items-center justify-center overflow-hidden rounded-full border border-default-100 transition-opacity hover:opacity-80",title:r.symbol,children:jsx(Avatar,{src:r.image??void 0,name:(r.symbol??"?").slice(0,1),className:"size-full bg-default-100 text-[10px] text-default-400",showFallback:true})},`${r.chain}:${r.address}`))})}function En(e){return {tokens:[],isLoading:false,unavailable:true}}function jN({chain:e,address:t,onTokenClick:o,className:s}){let{tokens:r,unavailable:n}=En();return jsx(Bn,{className:s,tokens:r,unavailable:n,onTokenClick:o})}function Kn({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:r}){let{t:n}=useTranslation(),[i,a]=useState(e?.join(", ")??""),[l,d]=useState(t?.join(", ")??"");useEffect(()=>{a(m=>{let u=Ot(m);return u===void 0&&e===void 0?m:u===void 0?e?.join(", ")??"":e===void 0?"":u.join("")===e.join("")?m:e.join(", ")});},[e]),useEffect(()=>{d(m=>{let u=Ot(m);return u===void 0&&t===void 0?m:u===void 0?t?.join(", ")??"":t===void 0?"":u.join("")===t.join("")?m:t.join(", ")});},[t]);let c=useCallback(m=>{a(m),o?.(Ot(m));},[o]),p=useCallback(m=>{d(m),s?.(Ot(m));},[s]);return jsxs("div",{className:cn$1("grid grid-cols-2 gap-3 px-4",r),children:[jsxs("div",{className:"flex flex-col gap-3",children:[jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.keywords.title")}),jsx(StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.keywords.placeholder"),value:i,onValueChange:c})]}),jsxs("div",{className:"flex flex-col gap-3",children:[jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.keywords.exclude.title")}),jsx(StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.keywords.placeholder"),value:l,onValueChange:p})]})]})}function Ot(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Xn({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:r}=useTranslation(),[n,i]=useState(t);useEffect(()=>{i(t);},[t]);let a=useMemo(()=>e.every(c=>n.includes(c)),[e,n]),l=useCallback(()=>{if(a){let c=[];i(c),o?.(c);}else {let c=[...e];i(c),o?.(c);}},[e,o,a]),d=useCallback(c=>()=>{if(n.includes(c)){let p=n.filter(m=>m!==c);i(p),o?.(p);}else {let p=[...n,c];i(p),o?.(p);}},[n,o]);return jsxs("div",{className:cn$1("flex flex-col gap-3 px-4",s),children:[jsxs("div",{className:"flex justify-between items-center",children:[jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.protocols.title")}),jsx(Button,{variant:"light",color:"default",size:"sm",radius:"full",onPress:l,children:r(a?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(c=>{let p=fe(c);return jsx(Button,{variant:"bordered",size:"sm",radius:"full",className:cn$1("w-fit h-6 px-2.5",p.text,p.bg5,"border",p.border,{"opacity-40 data-[hover=true]:!opacity-30":!n.includes(c)}),startContent:jsx(Image,{width:14,height:14,src:`/images/protocols/${c}.svg`,alt:formatTokenProtocolName(c)}),onPress:d(c),children:formatTokenProtocolName(c)},c)})})]})}function j({title:e,field:t,value:o,onChange:s}){let{t:r}=useTranslation(),[n,i]=useState(o?Io(o).min:NaN),[a,l]=useState(o?Io(o).max:NaN);useEffect(()=>{if(o===void 0)i(NaN),l(NaN);else {let{min:p,max:m}=Io(o);i(p),l(m);}},[o]);let d=useCallback(p=>{i(p),s?.(ei(t,p,a));},[t,s,a]),c=useCallback(p=>{l(p),s?.(ei(t,n,p));},[t,s,n]);return jsxs("div",{className:"flex flex-col gap-1",children:[e&&jsx("h3",{className:"text-xs text-neutral",children:e}),jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsx(StyledNumberInput,{value:n,onValueChange:d,variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsx(StyledNumberInput,{value:a,onValueChange:c,variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function Io(e){if(e.operator==="between"){let[t,o]=e.value;return {min:t,max:o}}return e.operator==="gte"?{min:e.value,max:NaN}:e.operator==="lte"?{min:NaN,max:e.value}:{min:NaN,max:NaN}}function ei(e,t,o){if(!(isNaN(t)&&isNaN(o)))return isNaN(t)?{field:e,operator:"lte",value:o}:isNaN(o)?{field:e,operator:"gte",value:t}:{field:e,operator:"between",value:[t,o]}}function oi({values:e,onValuesChange:t,className:o}){let{t:s}=useTranslation(),[r,n]=useState(e);useEffect(()=>{n(e);},[e]);let i=useCallback(a=>l=>{if(l===void 0){let d=(r??[]).filter(c=>c.field!==a);d=d.length>0?d:void 0,n(d),t?.(d);}else {let d=[...(r??[]).filter(c=>c.field!==a),l];n(d),t?.(d);}},[r,t]);return jsxs("div",{className:cn$1("flex flex-col gap-4",o),children:[jsx(j,{field:"holders",title:s("tokens.filters.stats.audits.holders"),value:r?.find(a=>a.field==="holders"),onChange:i("holders")}),jsx(j,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:r?.find(a=>a.field==="top10Ratio"),onChange:i("top10Ratio")}),jsx(j,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:r?.find(a=>a.field==="top100Ratio"),onChange:i("top100Ratio")}),jsx(j,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:r?.find(a=>a.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function ri({resolution:e,values:t,onValuesChange:o,className:s}){let{t:r}=useTranslation(),[n,i]=useState(t);useEffect(()=>{i(t);},[t]);let a=useCallback(l=>d=>{if(d===void 0){let c=(n??[]).filter(p=>p.field!==l);c=c.length>0?c:void 0,i(c),o?.(c);}else {let c=[...(n??[]).filter(p=>p.field!==l),d];i(c),o?.(c);}},[n,o]);return jsxs("div",{className:cn$1("flex flex-col gap-4",s),children:[jsx(j,{field:"marketCap",title:r("tokens.filters.stats.metrics.marketCap"),value:n?.find(l=>l.field==="marketCap"),onChange:a("marketCap")}),jsx(j,{field:"tvl",title:r("tokens.filters.stats.metrics.liquidity"),value:n?.find(l=>l.field==="tvl"),onChange:a("tvl")}),jsx(j,{field:`volumes${e}`,title:r("tokens.filters.stats.metrics.volumes",{resolution:r(`common.resolution.${e}`)}),value:n?.find(l=>l.field===`volumes${e}`),onChange:a(`volumes${e}`)}),jsx(j,{field:`trades${e}`,title:r("tokens.filters.stats.metrics.txns",{resolution:r(`common.resolution.${e}`)}),value:n?.find(l=>l.field===`trades${e}`),onChange:a(`trades${e}`)})]})}function di({resolution:e,values:t,onValuesChange:o,className:s}){let{t:r}=useTranslation(),[n,i]=useState("audits"),[a,l]=useState(t);useEffect(()=>{l(t);},[t]);let d=useCallback(m=>{l(m),o?.(m);},[o]),c=useMemo(()=>{let m=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(u=>m.includes(u.field))?.length??0},[a]),p=useMemo(()=>{let m=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(u=>m.includes(u.field)).length??0},[a,e]);return jsxs("div",{className:cn$1("flex flex-col gap-3 px-4",s),children:[jsxs(StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:n,onSelectionChange:i,children:[jsx(Tab,{title:c===0?r("tokens.filters.stats.audits"):jsx(StyledBadge,{color:"primary",size:"sm",content:c,shape:"circle",children:r("tokens.filters.stats.audits")})},"audits"),jsx(Tab,{title:p===0?r("tokens.filters.stats.metrics"):jsx(StyledBadge,{color:"primary",size:"sm",content:p,shape:"circle",children:r("tokens.filters.stats.metrics")})},"metrics")]}),jsx(oi,{values:a,onValuesChange:d,className:cn$1({hidden:n!=="audits"})}),jsx(ri,{values:a,onValuesChange:d,resolution:e,className:cn$1({hidden:n!=="metrics"})})]})}function $t({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:r}){let[n,i]=useState(ci(o?.filters,e));useEffect(()=>{i(ci(o?.filters,e));},[o?.filters,e]);let[a,l]=useState(o?.keywords);useEffect(()=>{l(o?.keywords);},[o?.keywords]);let[d,c]=useState(o?.excludeKeywords);useEffect(()=>{c(o?.excludeKeywords);},[o?.excludeKeywords]);let[p,m]=useState(o?.filters);useEffect(()=>{m(o?.filters);},[o?.filters]);let u=useCallback(f=>{i(f),s?.(_t(e,f,a,d,p));},[e,a,d,p,s]),x=useCallback(f=>{l(f),s?.(_t(e,n,f,d,p));},[e,n,d,p,s]),k=useCallback(f=>{c(f),s?.(_t(e,n,a,f,p));},[e,n,a,p,s]),g=useCallback(f=>{m(f),s?.(_t(e,n,a,d,f));},[e,n,a,d,s]);return jsxs("div",{className:cn$1("flex flex-col gap-4",r),children:[e&&e.length>0&&jsxs(Fragment,{children:[jsx(Xn,{protocols:e,selectedProtocols:n,onSelectedProtocolsChange:u}),jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}})]}),jsx(Kn,{keywords:a,excludeKeywords:d,onKeywordsChange:x,onExcludeKeywordsChange:k}),jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}}),jsx(di,{resolution:t,values:p,onValuesChange:g})]})}function ci(e,t){let o=e?.find(s=>s.field==="launchedFromProtocolFamily");return o?o.operator==="in"?o.value:(console.warn("invalid token protocols filter",o),[...t||[]]):[...t||[]]}function _t(e,t,o,s,r){let n=r?[...r.filter(i=>i.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(a=>t.includes(a))||n.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&s===void 0&&n.length===0?void 0:{keywords:o,excludeKeywords:s,filters:n.length>0?n:void 0}}function fi({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:r}=useTranslation(),{isOpen:n,onOpen:i,onClose:a,onOpenChange:l}=useDisclosure(),[d,c]=useState(o),p=useCallback(()=>{c(void 0);},[]),m=useCallback(()=>{s?.(d),a();},[d,s,a]);useEffect(()=>{c(o);},[n,o]);let u=useMemo(()=>Object.values(o||{}).every(x=>x===void 0),[o]);return jsxs(Fragment,{children:[jsxs("button",{type:"button",onClick:i,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",width:32,height:32,minHeight:32,cursor:"pointer",position:"relative"},children:[jsx(FilterIcon,{width:16,height:16,className:"text-zinc-400"}),!u&&jsx("span",{style:{position:"absolute",top:-2,right:-2,width:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),jsx(StyledModal,{isOpen:n,onOpenChange:l,size:"md",scrollBehavior:"inside",children:jsxs(ModalContent,{className:"w-full h-full",children:[jsx(ModalHeader,{className:"px-4 py-2",children:jsx("span",{className:"text-base font-semibold",children:r("tokens.filters.modal.title")})}),jsx(ModalBody,{className:"px-0 pt-0 pb-4",children:jsx(ScrollShadow,{children:jsx($t,{protocols:e,resolution:t,filters:d,onFiltersChange:c,className:"pb-4"})})}),jsx(ModalFooter,{className:"px-4",children:jsxs("div",{className:"w-full flex justify-between items-center",children:[jsx(Button,{variant:"light",color:"default",size:"sm",radius:"full",startContent:jsx(RefreshIcon,{width:16,height:16}),onPress:p,children:r("common.reset")}),jsx(Button,{color:"primary",size:"sm",radius:"full",onPress:m,children:r("common.apply")})]})})]})})]})}var Up={display:"inline-flex",alignItems:"center",gap:8,borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",padding:"6px 12px",fontSize:14,fontWeight:700,color:"#d4d4d8",cursor:"pointer",transition:"all 0.15s",height:32},Dp={position:"absolute",right:0,top:"100%",zIndex:20,marginTop:8,borderRadius:14,border:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"},Bp={height:1,background:"rgba(39,39,42,1)",margin:0};function hi({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:r}=useTranslation(),[n,i]=useState(false),a=useRef(null),[l,d]=useState(o),c=useCallback(()=>{d(void 0);},[]),p=useCallback(()=>{s?.(l),i(false);},[l,s]);useEffect(()=>{d(o);},[n,o]),useEffect(()=>{let u=x=>{a.current&&!a.current.contains(x.target)&&i(false);};return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]),useEffect(()=>{if(!n)return;let u=x=>{x.key==="Escape"&&i(false);};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[n]);let m=useMemo(()=>Object.values(o||{}).every(u=>u===void 0),[o]);return jsxs("div",{ref:a,style:{position:"relative"},children:[jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxs("button",{type:"button",style:Up,onMouseEnter:u=>{u.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:u=>{u.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>i(u=>!u),children:[jsx(FilterIcon,{width:16,height:16,className:"flex-none"}),jsx("span",{className:"hidden sm:block",children:r("tokens.listHeader.filter")}),jsx(Ep,{open:n})]}),!m&&jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),n&&jsxs("div",{style:{...Dp,width:420},children:[jsx("div",{style:{padding:"16px 0"},children:jsx(ScrollShadow,{className:"w-full max-h-120 px-4",children:jsx($t,{protocols:e,resolution:t,filters:l,onFiltersChange:d})})}),jsx("div",{style:Bp}),jsxs("div",{style:{padding:"12px 16px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[jsx(Button,{variant:"light",size:"sm",color:"default",radius:"full",startContent:jsx(RefreshIcon,{width:16,height:16}),onPress:c,children:r("common.reset")}),jsx(Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:p,children:r("common.apply")})]})]})]})}function Ep({open:e}){return jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#71717a",transition:"transform 0.15s",transform:e?"rotate(180deg)":void 0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"m6 9 6 6 6-6"})})}function zP({popoverPlacement:e="bottom-end",...t}){let{isMobile:o}=useScreen();return o?jsx(fi,{...t}):jsx(hi,{placement:e,...t})}function Ti({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=useTranslation(),r=useCallback(n=>{t?.(n);},[t]);return jsx(StyledPlainTabs,{color:"primary",radius:"lg",selectedKey:e,onSelectionChange:r,"aria-label":"Select Resolution",classNames:{tabList:"gap-0",tab:"px-2",tabContent:"!text-zinc-500 group-data-[hover=true]:!text-foreground group-data-[selected=true]:!text-primary"},children:o.map(n=>jsx(Tab,{title:s(`common.resolution.${n}`)},n))})}var Zp={display:"inline-flex",alignItems:"center",gap:4,borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",padding:"0 10px",fontSize:12,fontWeight:500,color:"#d4d4d8",cursor:"pointer",height:32,minHeight:32},jp={position:"absolute",left:0,top:"100%",zIndex:20,marginTop:6,borderRadius:14,border:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden",padding:"6px",minWidth:"100%"};function Si({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=useTranslation(),[r,n]=useState(false),i=useRef(null),a=useCallback(l=>{t?.(l),n(false);},[t]);return useEffect(()=>{if(!r)return;let l=c=>{i.current&&!i.current.contains(c.target)&&n(false);},d=c=>{c.key==="Escape"&&n(false);};return document.addEventListener("mousedown",l),document.addEventListener("keydown",d),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",d);}},[r]),jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxs("button",{type:"button",style:Zp,onClick:()=>n(l=>!l),children:[jsx("span",{children:e?s(`common.resolution.${e}`):"\u2014"}),jsx(ChevronDownIcon,{width:14,height:14,className:"text-zinc-500",style:{transition:"transform 0.15s",transform:r?"rotate(180deg)":void 0}})]}),r&&jsx("div",{style:jp,children:o.map(l=>jsx("button",{type:"button",onClick:()=>a(l),className:cn$1("w-full text-left px-3 py-1.5 rounded-lg text-xs font-medium transition-colors cursor-pointer",l===e?"text-primary bg-primary/10":"text-zinc-400 hover:text-foreground hover:bg-zinc-800"),children:s(`common.resolution.${l}`)},l))})]})}function lw(e){let{isMobile:t}=useScreen();return t?jsx(Si,{...e}):jsx(Ti,{...e})}function Pi({token:e}){let{t}=useTranslation(),o=useMemo(()=>e.marketData?.bluechipHoldingsRatio,[e.marketData?.bluechipHoldingsRatio]),s=useMemo(()=>o!==void 0&&new SafeBigNumber(o).gte(.1),[o]),r=useMemo(()=>o===void 0||new SafeBigNumber(o).lt(.05),[o]);return jsx(StyledTooltip,{content:t("tokens.bluechip.explained"),children:jsxs("div",{className:"flex items-center gap-2.5",children:[s&&jsx(HorsePowerHighIcon,{}),r&&jsx(HorsePowerLowIcon,{}),!s&&!r&&jsx(HorsePowerIcon,{}),jsx("span",{className:cn$1(s&&"text-bullish",!s&&!r&&"text-bearish",o===void 0&&"text-neutral"),children:formatPercent(o)})]})})}function wi({token:e}){let t=useCopyToClipboard(),{t:o}=useTranslation(),s=useCallback(n=>{n.preventDefault(),n.stopPropagation(),t(e.address,()=>toast.success(o("tokens.copied.address")));},[t,e.address,o]),r=useTickAge(e.createdAt);return jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsx(ie,{token:e,className:"w-10 h-10 sm:w-16 sm:h-16 flex-none"}),jsxs("div",{className:"flex-auto flex flex-col gap-1 min-w-0",children:[jsxs("div",{className:"flex items-center gap-1",children:[jsx("span",{className:"flex-none font-medium tracking-[-0.02em]",children:e.symbol}),jsx(StyledTooltip,{content:e.name,children:jsxs("div",{className:"flex-initial flex items-center gap-1 min-w-0 text-neutral hover:text-primary-200 cursor-pointer",onClick:s,children:[jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:e.name}),jsx(CopyIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"})]})})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("span",{className:"text-primary text-xs sm:text-sm font-medium",children:formatAge(r)}),e.socialMedias?.website&&jsx(Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(WebsiteIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.twitter&&jsx(Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(TwitterIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.telegram&&jsx(Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(TelegramIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.discord&&jsx(Link,{href:e.socialMedias.discord,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(DiscordIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),jsx(Link,{href:searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",children:jsx(SearchIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]})]})]})}var Fu={neutral:"text-zinc-400",bullish:"text-bullish",bearish:"text-bearish"};function pe({icon:e,value:t,tooltip:o,color:s="neutral"}){return jsx(StyledTooltip,{content:o,children:jsxs("span",{className:"inline-flex items-center text-xs tabular-nums",style:{gap:5},children:[jsx("span",{className:"flex-none",style:{color:"#52525b"},children:e}),jsx("span",{className:cn$1(Fu[s]),children:t})]})})}function Li({token:e}){let{t}=useTranslation(),o=e.marketData,s=useMemo(()=>new SafeBigNumber(o?.top10HoldingsRatio).gte(.1),[o?.top10HoldingsRatio]),r=useMemo(()=>new SafeBigNumber(o?.devHoldingsRatio).gte(.1),[o?.devHoldingsRatio]),n=useMemo(()=>new SafeBigNumber(o?.sniperHoldingsRatio).gte(.1),[o?.sniperHoldingsRatio]),i=useMemo(()=>new SafeBigNumber(o?.insiderHoldingsRatio).gte(.1),[o?.insiderHoldingsRatio]),a=useMemo(()=>new SafeBigNumber(o?.bundleHoldingsRatio).gte(.1),[o?.bundleHoldingsRatio]),l=(d,c)=>c===void 0?"neutral":d?"bearish":"bullish";return jsxs("div",{className:"w-full h-full flex gap-5 justify-start items-center",children:[jsxs("div",{className:"flex flex-col gap-1",children:[jsx(pe,{icon:jsx(PeopleIcon,{width:14,height:14}),value:formatAmount(o?.holders),tooltip:t("tokens.tokenInfo.holders")}),jsx(pe,{icon:jsx(KlineCandlesIcon,{width:14,height:14}),value:formatAmount(o?.proHolders),tooltip:t("tokens.tokenInfo.proHolders")}),jsx(pe,{icon:jsx(StarIcon,{width:14,height:14}),value:formatAmount(o?.kolHolders),tooltip:t("tokens.tokenInfo.kolHolders")})]}),jsxs("div",{className:"flex flex-col gap-1",children:[jsx(pe,{icon:jsx(UserWithStarBadgeIcon,{width:14,height:14}),value:formatPercent(o?.top10HoldingsRatio),tooltip:t("tokens.tokenInfo.top10HoldingsRatio"),color:l(s,o?.top10HoldingsRatio)}),jsx(pe,{icon:jsx(CookIcon,{width:14,height:14}),value:formatPercent(o?.devHoldingsRatio),tooltip:t("tokens.tokenInfo.devHoldingsRatio"),color:l(r,o?.devHoldingsRatio)}),jsx(pe,{icon:jsx(SniperIcon,{width:14,height:14}),value:formatPercent(o?.sniperHoldingsRatio),tooltip:t("tokens.tokenInfo.sniperHoldingsRatio"),color:l(n,o?.sniperHoldingsRatio)})]}),jsxs("div",{className:"flex flex-col gap-1",children:[jsx(pe,{icon:jsx(RatIcon,{width:14,height:14}),value:formatPercent(o?.insiderHoldingsRatio),tooltip:t("tokens.tokenInfo.insiderHoldingsRatio"),color:l(i,o?.insiderHoldingsRatio)}),jsx(pe,{icon:jsx(BundlesIcon,{width:14,height:14}),value:formatPercent(o?.bundleHoldingsRatio),tooltip:t("tokens.tokenInfo.bundleHoldingsRatio"),color:l(a,o?.bundleHoldingsRatio)})]})]})}function Ai({token:e}){let t=useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsx(Fragment,{children:formatAmountUSD(t)})}function Ri({token:e}){let t=useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsx(Fragment,{children:formatAmountUSD(t)})}function Hi({token:e,resolution:t}){let o=useMemo(()=>e.marketData?.priceInUsd,[e]),s=useMemo(()=>e.stats?.[t]?.priceChange,[e,t]),r=useMemo(()=>s?new SafeBigNumber(s).abs().toString():void 0,[s]),n=useMemo(()=>s&&new SafeBigNumber(s).gte(0),[s]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatPriceUSD(o)}),jsxs("span",{className:cn$1("inline-flex gap-1 items-center text-xs",n?"text-bullish":"text-bearish"),children:[n?jsx(TriangleUpIcon,{width:10,height:10}):jsx(TriangleDownIcon,{width:10,height:10}),jsx("span",{children:formatPercent(r)})]})]})}function Oi({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.traders,[e.stats?.[t]?.traders]),s=useMemo(()=>e.stats?.[t]?.buyers,[e.stats?.[t]?.buyers]),r=useMemo(()=>e.stats?.[t]?.sellers,[e.stats?.[t]?.sellers]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatAmount(o)}),jsxs("div",{className:"flex gap-1 text-xs",children:[jsx("span",{className:"text-bullish",children:formatAmount(s)}),"/",jsx("span",{className:"text-bearish",children:formatAmount(r)})]})]})}function Di({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.trades,[e.stats?.[t]?.trades]),s=useMemo(()=>e.stats?.[t]?.buys,[e.stats?.[t]?.buys]),r=useMemo(()=>e.stats?.[t]?.sells,[e.stats?.[t]?.sells]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatAmount(o)}),jsxs("div",{className:"flex gap-1 text-xs",children:[jsx("span",{className:"text-bullish",children:formatAmount(s)}),"/",jsx("span",{className:"text-bearish",children:formatAmount(r)})]})]})}function Ei({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.volumesInUsd,[e.stats?.[t]?.volumesInUsd]),s=useMemo(()=>e.stats?.[t]?.buyVolumesInUsd,[e.stats?.[t]?.buyVolumesInUsd]),r=useMemo(()=>e.stats?.[t]?.sellVolumesInUsd,[e.stats?.[t]?.sellVolumesInUsd]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatAmountUSD(o)}),jsxs("div",{className:"flex gap-1 text-xs",children:[jsx("span",{className:"text-bullish",children:formatAmountUSD(s)}),"/",jsx("span",{className:"text-bearish",children:formatAmountUSD(r)})]})]})}var Gu=`
21
+ `})]})}function sr({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:r}){let{t:n}=useTranslation(),i=useCopyToClipboard(),a=useTickAge(e.createdAt),l=useCallback(()=>{s?.(e);},[s,e]),d=useCallback(h=>{h.stopPropagation(),i(e.address,()=>toast.success(n("tokens.copied.address")));},[i,e.address,n]),c=useMemo(()=>new SafeBigNumber(e.marketData?.top10HoldingsRatio).gte(.1),[e.marketData?.top10HoldingsRatio]),p=useMemo(()=>new SafeBigNumber(e.marketData?.devHoldingsRatio).gte(.1),[e.marketData?.devHoldingsRatio]),m=useMemo(()=>new SafeBigNumber(e.marketData?.insiderHoldingsRatio).gte(.1),[e.marketData?.insiderHoldingsRatio]),u=useMemo(()=>new SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),x=useMemo(()=>new SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[k,g]=useMemo(()=>{let h=Number(e.stats?.["1h"]?.buys??0),b=Number(e.stats?.["1h"]?.sells??0),T=h+b;if(T===0)return [12,12];let E=Math.round(h/T*24);return [E,24-E]},[e.stats]),f=useMemo(()=>{let h=new SafeBigNumber(e.marketData?.marketCapInUsd);return h.lt(1e3)?"text-foreground":h.lt(1e6)?"text-secondary":"text-primary"},[e.marketData?.marketCapInUsd]);return jsx("div",{className:cn$1("w-full h-full px-3 pt-3 pb-1 hover:bg-content2/40 cursor-pointer",!o&&"border-b border-border",r),onClick:s?l:void 0,children:jsxs("div",{className:"relative flex justify-between gap-3",children:[jsxs("div",{className:"flex-none flex flex-col items-center gap-1",children:[jsx(ie,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-15 h-15"}),jsx(StyledTooltip,{content:e.address,children:jsx("div",{className:"text-xs text-neutral hover:text-primary/50 max-w-18 truncate cursor-pointer",onClick:d,children:truncateAddress(e.address,4,4)})})]}),jsxs("div",{className:"flex-1 flex flex-col justify-between gap-3 min-w-0",children:[jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxs("div",{className:"flex items-center gap-1 pr-24",children:[jsx("span",{className:"flex-none text-base font-semibold whitespace-nowrap overflow-hidden text-ellipsis max-w-20",children:e.symbol}),jsx(StyledTooltip,{content:e.name,children:jsxs("div",{className:"flex items-center gap-1 min-w-0 text-neutral hover:text-primary/50 cursor-pointer",onClick:d,children:[jsx("span",{className:"text-base whitespace-nowrap overflow-hidden text-ellipsis",children:e.name}),jsx(CopyIcon,{className:"flex-none w-3.5 h-3.5"})]})})]}),jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[jsx("span",{className:"text-sm text-primary font-medium",children:formatAge(a)}),e.socialMedias?.twitter&&jsx(Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsx(TwitterIcon,{className:"w-4 h-4"})}),e.socialMedias?.telegram&&jsx(Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsx(TelegramIcon,{className:"w-4 h-4"})}),e.socialMedias?.website&&jsx(Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsx(WebsiteIcon,{className:"w-4 h-4"})}),jsx(Link,{href:searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsx(SearchIcon,{className:"w-4 h-4"})}),jsx(StyledTooltip,{content:n("tokens.tokenInfo.holders"),children:jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsx(PeopleIcon,{width:14,height:14}),jsx("span",{className:"text-foreground text-xs",children:formatAmount(e.marketData?.holders)})]})}),jsx(StyledTooltip,{content:n("tokens.tokenInfo.proHolders"),children:jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsx(KlineCandlesIcon,{width:16,height:16}),jsx("span",{className:"text-foreground text-xs",children:formatAmount(e.marketData?.proHolders)})]})}),jsx(StyledTooltip,{content:n("tokens.tokenInfo.kolHolders"),children:jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsx(StarIcon,{width:14,height:14}),jsx("span",{className:"text-foreground text-xs",children:formatAmount(e.marketData?.kolHolders)})]})})]})]}),jsxs("div",{className:"relative flex items-center gap-1.5 flex-wrap",children:[jsx(ze,{icon:jsx(UserWithStarBadgeIcon,{width:12,height:12}),value:formatPercent(e.marketData?.top10HoldingsRatio),tooltip:n("tokens.tokenInfo.top10HoldingsRatio"),warning:c}),jsx(ze,{icon:jsx(CookIcon,{width:12,height:12}),value:formatPercent(e.marketData?.devHoldingsRatio),tooltip:n("tokens.tokenInfo.devHoldingsRatio"),warning:p}),jsx(ze,{icon:jsx(RatIcon,{width:12,height:12}),value:formatPercent(e.marketData?.insiderHoldingsRatio),tooltip:n("tokens.tokenInfo.insiderHoldingsRatio"),warning:m}),jsx(ze,{icon:jsx(SniperIcon,{width:12,height:12}),value:formatPercent(e.marketData?.sniperHoldingsRatio),tooltip:n("tokens.tokenInfo.sniperHoldingsRatio"),warning:u}),jsx(ze,{icon:jsx(BundlesIcon,{width:12,height:12}),value:formatPercent(e.marketData?.bundleHoldingsRatio),tooltip:n("tokens.tokenInfo.bundleHoldingsRatio"),warning:x}),t?.(e)]})]}),jsxs("div",{className:"absolute top-0 right-0 flex flex-col gap-2 items-end",children:[jsxs("div",{className:"flex items-end gap-1",children:[jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.listHeader.marketCap")}),jsx("span",{className:cn$1("text-base font-medium leading-none",f),children:formatAmountUSDCompact(e.marketData?.marketCapInUsd)})]}),jsxs("div",{className:"flex items-end gap-1",children:[jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.pulse.vol")}),jsx("span",{className:"text-base font-medium leading-none text-foreground",children:formatAmountUSDCompact(e.stats?.["1h"]?.volumesInUsd)})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsxs("div",{className:"flex items-center gap-1",children:[jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.pulse.txs")}),jsx("span",{className:"text-xs leading-none text-foreground",children:formatAmount(e.stats?.["1h"]?.trades)})]}),jsxs("div",{className:"flex rounded-full overflow-hidden",children:[jsx("div",{className:"h-1 bg-bullish",style:{width:`${k}px`}}),jsx("div",{className:"h-1 bg-bearish",style:{width:`${g}px`}})]})]})]})]})})}function ze({icon:e,value:t,tooltip:o,warning:s}){return jsx(StyledTooltip,{content:o,children:jsxs("div",{className:cn$1("px-2 py-0.5 flex items-center gap-1 bg-content2 rounded-full text-xs",s?"text-danger-500":"text-primary"),children:[e,jsx("span",{children:t})]})})}var Da=124,ir=10;function Wa({index:e,style:t,data:o,skeletonCount:s,renderItemAction:r,onSelectToken:n}){return o?jsx("div",{style:t,children:jsx(sr,{token:o[e],isLast:e===o.length-1,renderAction:r,onSelectToken:n})}):jsx("div",{style:t,children:jsx(Xo,{isLast:e===s-1})})}function Re({title:e,tokens:t,isLoading:o,itemHeight:s=Da,renderHeaderExtra:r,renderItemAction:n,onSelectToken:i,onPauseChange:a,className:l,hideHeader:d}){let c=o||!t?void 0:t,p=c?c.length:ir,m=useMemo(()=>({data:c,skeletonCount:ir,renderItemAction:n,onSelectToken:i}),[c,n,i]),[u,x]=useState(false),k=useCallback(()=>{x(true),a?.(true);},[a]),g=useCallback(()=>{x(false),a?.(false);},[a]);return jsxs("div",{className:cn$1("w-full h-full bg-content1 overflow-hidden flex flex-col border border-border rounded-lg",l),onMouseEnter:k,onMouseLeave:g,children:[!d&&jsx(Go,{title:e,isPaused:u,extra:r}),jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsx(List,{className:"h-full w-full",rowCount:p,rowHeight:s,rowComponent:Wa,rowProps:m,overscanCount:5})})]})}function eo(e,t){let o={...e};for(let s of Object.keys(t))t[s]!==void 0&&(o[s]=t[s]);return o}var Ea=["1m","5m","15m","30m","1h","4h","24h"];function Va(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of Ea)t[s]&&(o[s]=e[s]?eo(e[s],t[s]):t[s]);return o}function $a(e,t){return t?e?eo(e,t):t:e}function ft(e,t){return t?e?eo(e,t):t:e}function I(e,t){let{chain:o,address:s,stats:r,marketData:n,socialMedias:i,security:a,launchedFrom:l,migratedTo:d,...c}=t,p={...e};for(let m of Object.keys(c))c[m]!==void 0&&(p[m]=c[m]);return p.stats=Va(e.stats,r),p.marketData=$a(e.marketData,n),p.socialMedias=ft(e.socialMedias,i),p.security=ft(e.security,a),p.launchedFrom=ft(e.launchedFrom,l),p.migratedTo=ft(e.migratedTo,d),p}var qa=80;function Qa(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function mr(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,qa)}function pr({chain:e,isPaused:t=false,refetchInterval:o=1e4}){let s=useMemo(()=>({chain:e}),[e]),r=useRef(t);r.current=t;let n=useRef(e),[i,a]=useState(true),[l,d]=useState([]);useEffect(()=>{e!==n.current&&(a(true),d([]),n.current=e);},[e]);let{data:c,isPending:p}=useNewTokensQuery(s,{refetchInterval:o});useEffect(()=>{c&&(d(x=>{let k=r.current,g=x.length===0&&c.length>0,f=[...x];for(let h of c){let b=f.findIndex(T=>T.address===h.address);b>=0?f[b]=I(f[b],h):(!k||g)&&f.push(h);}return k?f:mr(f)}),a(false));},[c]);let m=useCallback(x=>{d(k=>{let g=r.current,f=[...k],h=false;for(let b of x){let T=f.findIndex(E=>E.address===b.address);T>=0?(h=true,f[T]=I(f[T],b)):g||(h=true,f.push(Qa(b)));}return h?g?f:mr(f):k});},[]);useNewTokensSubscription({chain:e},m);let u=useMemo(()=>p||i,[p,i]);return {tokens:l,isLoading:u}}function Mg({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=useState(false),{tokens:d,isLoading:c}=pr({chain:e,isPaused:a}),p=useCallback(m=>{l(m);},[]);return jsx(Re,{title:t,tokens:d,isLoading:c,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:p,className:n,hideHeader:i})}function kr({chain:e,isPaused:t=false,refetchInterval:o=3e4}){let s=useMemo(()=>({chain:e}),[e]),r=useRef(t);r.current=t;let n=useRef(e),[i,a]=useState(true),[l,d]=useState([]);useEffect(()=>{e!==n.current&&(a(true),d([]),n.current=e);},[e]);let{data:c,isPending:p}=useMigratedTokensQuery(s,{refetchInterval:o});useEffect(()=>{c&&(d(x=>{let k=r.current,g=[...x];for(let f of c){let h=g.findIndex(b=>b.address===f.address);h>=0?g[h]=I(g[h],f):k||g.unshift(f);}return g}),a(false));},[c]);let m=useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0&&(f=true,g[b]=I(g[b],h));}return f?g:k});},[]);useMigratedTokensSubscription({chain:e},m);let u=useMemo(()=>p||i,[p,i]);return {tokens:l,isLoading:u}}function $g({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=useState(false),{tokens:d,isLoading:c}=kr({chain:e,isPaused:a}),p=useCallback(m=>{l(m);},[]);return jsx(Re,{title:t,tokens:d,isLoading:c,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:p,className:n,hideHeader:i})}function il(e){return e.sort((t,o)=>{let s=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-s})}function vr({chain:e,isPaused:t=false,refetchInterval:o=15e3}){let s=useMemo(()=>({chain:e}),[e]),r=useRef(t);r.current=t;let n=useRef(e),[i,a]=useState(true),[l,d]=useState([]);useEffect(()=>{e!==n.current&&(a(true),d([]),n.current=e);},[e]);let{data:c,isPending:p}=useFinalStretchTokensQuery(s,{refetchInterval:o});useEffect(()=>{c&&(d(x=>{let k=r.current,g=x.length===0&&c.length>0,f=[...x];for(let h of c){let b=f.findIndex(T=>T.address===h.address);b>=0?f[b]=I(f[b],h):(!k||g)&&f.push(h);}return k?f:il(f)}),a(false));},[c]);let m=useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0&&(f=true,g[b]=I(g[b],h));}return f?g:k});},[]);useFinalStretchTokensSubscription({chain:e},m);let u=useMemo(()=>p||i,[p,i]);return {tokens:l,isLoading:u}}function jg({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=useState(false),{tokens:d,isLoading:c}=vr({chain:e,isPaused:a}),p=useCallback(m=>{l(m);},[]);return jsx(Re,{title:t,tokens:d,isLoading:c,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:p,className:n,hideHeader:i})}var pl=10,ul=atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function gt(){let[e,t]=useAtom(ul),o=useCallback(r=>{let n=r.trim();n&&t(i=>{let a=i.filter(l=>l!==n);return [n,...a].slice(0,pl)});},[t]),s=useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:s}}function Lr({histories:e,onSelect:t,onClear:o,className:s}){let{t:r}=useTranslation();return e.length===0?null:jsxs("div",{className:cn$1("px-4 pb-4",s),children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium",children:r("tokens.search.history")}),jsx(Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsx(TrashIcon,{width:20,height:20})})]}),jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(n=>jsx(Chip,{size:"sm",variant:"bordered",className:cn$1("text-neutral","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(n),children:n},n))})]})}function wr({onSelect:e,className:t}){let{histories:o,clearHistories:s}=gt();return jsx(Lr,{className:cn$1(t),histories:o,onSelect:e,onClear:s})}function Pr({value:e,onValueChange:t,onClear:o,onEscape:s,className:r}){let{t:n}=useTranslation();return jsx("div",{className:r,children:jsx(StyledInput,{autoFocus:true,variant:"bordered",radius:"full",value:e,onValueChange:t,placeholder:n("tokens.search.placeholder"),classNames:{inputWrapper:["!bg-[rgba(39,39,42,0.6)]","!border-[rgba(63,63,70,0.5)]","data-[hover=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!border-[rgba(63,63,70,0.8)]"].join(" ")},startContent:jsx(SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent:e?jsx(Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsx(XCloseIcon,{width:20,height:20})}):jsx(Kbd,{className:"min-w-8 justify-center text-xs text-neutral bg-transparent border border-[rgba(63,63,70,0.5)] rounded-full cursor-pointer select-none",onMouseDown:i=>{i.preventDefault(),s?.();},children:"Esc"})})})}function xt({token:e,className:t}){let{t:o}=useTranslation(),s=useTickAge(e.createdAt),r=useMemo(()=>e.marketData?.priceInUsd,[e]),n=useMemo(()=>e.marketData?.marketCapInUsd,[e]),i=useMemo(()=>e.marketData?.tvlInUsd,[e]),a=useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),l=useMemo(()=>a?new SafeBigNumber(a).abs().toString():void 0,[a]),d=useMemo(()=>a!=null&&new SafeBigNumber(a).gte(0),[a]);return jsxs("div",{className:cn$1("w-full h-full px-3 flex items-center justify-between gap-2","hover:cursor-pointer hover:bg-content2 rounded-lg",t),children:[jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2.5",children:[jsx(ie,{token:e,className:"w-10 h-10 flex-none",showProtocolFamily:true,classNames:{searchIcon:"w-5 h-5"}}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[jsxs("div",{className:"flex items-center gap-1",children:[jsx("span",{className:"font-medium text-sm truncate",children:e.symbol}),jsx("span",{className:"text-xs text-primary font-medium",children:formatAge(s)})]}),jsxs("div",{className:"flex items-center gap-1 text-xs text-neutral",children:[jsxs("span",{children:[o("tokens.listHeader.mcShort")," ",formatAmountUSD(n)]}),jsx("span",{children:"/"}),jsxs("span",{children:[o("tokens.listHeader.liqShort")," ",formatAmountUSD(i)]})]})]})]}),jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsx("span",{className:"text-xs",children:formatPriceUSD(r)}),jsxs("span",{className:cn$1("inline-flex gap-0.5 items-center text-xs",d?"text-bullish":"text-bearish"),children:[d?jsx(TriangleUpIcon,{width:8,height:8}):jsx(TriangleDownIcon,{width:8,height:8}),jsx("span",{children:formatPercent(l)})]})]})]})}function kt({className:e}){let{t}=useTranslation();return jsxs("div",{className:cn$1("h-9 px-3 flex items-center justify-between","text-xs font-medium text-neutral","sticky top-0 z-10",e),children:[jsx("div",{className:"flex-1",children:jsxs("span",{children:[t("tokens.listHeader.token")," / ",t("tokens.listHeader.age")," /"," ",t("tokens.listHeader.marketCap")," /"," ",t("tokens.listHeader.liquidity")]})}),jsx("div",{className:"flex-none w-20 text-right",children:jsxs("span",{children:[t("tokens.listHeader.price")," / ",t("tokens.listHeader.24hChange")]})})]})}function Ul(){return jsxs("div",{className:"w-full h-14 px-3 flex items-center justify-between gap-2",children:[jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[jsx(Skeleton,{className:"flex-none w-8 h-8 rounded-full"}),jsxs("div",{className:"flex flex-col gap-1.5",children:[jsx(Skeleton,{className:"w-24 h-4 rounded-md"}),jsx(Skeleton,{className:"w-36 h-3 rounded-md"})]})]}),jsxs("div",{className:"flex-none w-20 flex flex-col items-end gap-1.5",children:[jsx(Skeleton,{className:"w-14 h-4 rounded-md"}),jsx(Skeleton,{className:"w-10 h-3 rounded-md"})]})]})}function bt({rows:e=6,className:t}){return jsx("div",{className:cn$1("w-full",t),children:Array.from({length:e}).map((o,s)=>jsx(Ul,{},s))})}function Fr({keyword:e,chains:t,limit:o=50}){let s=useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:r,isLoading:n,isFetchingNextPage:i,hasNextPage:a,fetchNextPage:l}=useSearchTokensInfiniteQuery(s,{enabled:!!e});return {tokens:useMemo(()=>r?.pages.flatMap(c=>c.data)??[],[r]),isLoading:n,isFetchingNextPage:i,hasNextPage:a??false,fetchNextPage:l}}var ql=56;function Ur({onSelectToken:e,className:t,...o}){let{tokens:s,isLoading:r,isFetchingNextPage:n,hasNextPage:i,fetchNextPage:a}=Fr(o),l=useRef(null),{height:d}=useResizeObserver({ref:l}),c=useCallback(x=>x<s.length,[s]),p=useCallback(async()=>{i&&!n&&await a();},[i,n,a]),m=useMemo(()=>i?s.length+1:s.length,[s,i]),u=useInfiniteLoader({isRowLoaded:c,loadMoreRows:p,rowCount:m,threshold:5});return r?jsxs("div",{className:cn$1("w-full",t),children:[jsx(kt,{}),jsx(bt,{})]}):s.length===0?jsxs("div",{className:cn$1("w-full",t),children:[jsx(kt,{}),jsx(Gl,{})]}):jsxs("div",{className:cn$1("w-full h-full flex flex-col",t),children:[jsx(kt,{className:"flex-none"}),jsx("div",{className:"flex-auto min-h-0",ref:l,children:jsx(List,{style:{height:d},onRowsRendered:u,rowComponent:Ql,rowCount:m,rowHeight:ql,rowProps:{tokens:s,onSelectToken:e},overscanCount:5})})]})}function Ql({index:e,style:t,tokens:o,onSelectToken:s}){let r=o[e];return r?jsx("div",{style:t,onClick:()=>s?.(r),children:jsx(xt,{token:r})}):jsx("div",{style:t,className:"flex items-center justify-center",children:jsx(Spinner,{size:"sm"})})}function Gl(){let{t:e}=useTranslation();return jsxs("div",{className:"flex flex-col items-center justify-center py-16",children:[jsx(EmptyIcon,{width:28,height:28,className:"text-neutral"}),jsx("p",{className:"mt-2 text-sm text-neutral",children:e("tokens.search.noResults")})]})}function Tt({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=useRef(r),[i,a]=useState(true);useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),d([]),n.current=r);},[r]);let[l,d]=useState([]),{data:c,isPending:p}=useTrendingTokensQuery(r,{refetchInterval:s});useEffect(()=>{c&&(d(x=>{let k=[];for(let g of c){let f=x.find(h=>h.address===g.address);k.push(f?I(f,g):g);}return k}),a(false));},[c]);let m=useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0&&(f=true,g[b]=I(g[b],h));}return f?g:k});},[]);useTrendingTokensSubscription({chain:e},m);let u=useMemo(()=>!!(p||i),[p,i]);return {tokens:l,isLoading:u}}var td=Chain.ETHEREUM,od="24h",rd=56;function Er({chains:e,onSelectToken:t,className:o}){let s=e?.length===1?e[0]:e?.[0]??td,{tokens:r,isLoading:n}=Tt({chain:s,resolution:od});return jsx("div",{className:cn$1("w-full flex flex-col overflow-hidden",o),children:n?jsx(bt,{}):jsx("div",{className:"overflow-y-auto",children:r.map(i=>jsx("div",{style:{height:rd},onClick:()=>t?.(i),children:jsx(xt,{token:i,className:"h-full"})},i.address))})})}function _r({onKeywordChange:e}){let[t,o]=useState(""),[s,r]=useState(""),{addHistory:n}=gt(),i=useCallbackRef(e),a=useCallbackRef(n),l=useMemo(()=>debounce(m=>{r(m),i(m),m&&a(m);},500),[i,a]),d=useCallback(m=>{o(m),l(m);},[l]),c=useCallback(m=>{l.cancel(),o(m),r(m),i(m),m&&a(m);},[l,i,a]),p=useCallback(()=>c(""),[c]);return {text:t,keyword:s,setText:d,setKeyword:c,clearKeyword:p}}function zr({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:s}){let{text:r,keyword:n,setText:i,setKeyword:a,clearKeyword:l}=_r({onKeywordChange:t});return jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsx(Pr,{value:r,onValueChange:i,onClear:l,onPaste:a,onEscape:s}),n?jsx(Ur,{className:"flex-auto min-h-0",keyword:n,chains:e,onSelectToken:o}):jsxs("div",{className:"flex-auto min-h-0 flex flex-col overflow-hidden",children:[jsx(wr,{onSelect:a}),jsx(Er,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}var so="search";function Dk({id:e=so}){return jsx(AsyncModal,{id:e,children:t=>jsx(xd,{...t})})}function xd({params:e,isOpen:t,onOpenChange:o,onResult:s}){let{t:r}=useTranslation(),{isMobile:n}=useScreen(),i=useCallback(a=>{s(a);},[s]);return jsx(StyledModal,{isOpen:t,onOpenChange:o,size:n?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxs(ModalContent,{className:"w-full h-full",style:{borderRadius:n?void 0:14,border:n?void 0:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:n?void 0:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"},children:[jsxs(ModalHeader,{className:"sm:hidden flex items-center justify-between pt-4 pb-2",children:[jsx("span",{className:"text-base font-semibold",children:r("tokens.search.title")}),jsx(Button,{isIconOnly:true,onPress:()=>o(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsx(XCloseIcon,{width:20,height:20})})]}),jsx(ModalBody,{className:"p-4",children:jsx(zr,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function qk({chains:e,onSelectToken:t,className:o}){let{t:s}=useTranslation(),{isDesktop:r,isMobile:n}=useScreen(),{onOpen:i,onClose:a}=useAsyncModal(so),l=useCallbackRef(t),d=useCallbackRef(async()=>{let p=await i({params:{chains:e}});p&&l(p);}),c=useCallbackRef(()=>{a();});return useEffect(()=>{let p=m=>{let u=document.activeElement,x=!!u&&(u.tagName==="INPUT"||u.tagName==="TEXTAREA"||u.getAttribute("contenteditable")==="true");m.key==="/"&&!x&&(m.preventDefault(),d()),m.key==="Escape"&&(m.preventDefault(),c());};return window.addEventListener("keydown",p),()=>{window.removeEventListener("keydown",p);}},[d,c]),jsx(Button,{size:"sm",radius:"full",isIconOnly:!r,onPress:d,variant:n?"flat":"bordered",startContent:r?jsx(SearchIcon,{className:"text-neutral"}):void 0,endContent:r?jsx(Kbd,{className:"min-w-6 justify-center text-xs bg-transparent border border-border rounded-full",children:"/"}):void 0,className:cn$1(r&&"pl-3 pr-1.5 text-neutral",o),children:r?s("tokens.search.placeholder"):jsx(SearchIcon,{className:"text-neutral"})})}var io={kol:{label:"KOL",bgClass:"bg-yellow-500/15",textClass:"text-yellow-400"},smart:{label:"Smart",bgClass:"bg-sky-500/15",textClass:"text-sky-400"},sniper:{label:"Sniper",bgClass:"bg-red-500/15",textClass:"text-red-400"},dev:{label:"Dev",bgClass:"bg-orange-500/15",textClass:"text-orange-400"},bundle:{label:"Bundle",bgClass:"bg-purple-500/15",textClass:"text-purple-400"},bluechip:{label:"Bluechip",bgClass:"bg-emerald-500/15",textClass:"text-emerald-400"},insider:{label:"Insider",bgClass:"bg-fuchsia-500/15",textClass:"text-fuchsia-400"},fresh:{label:"Fresh",bgClass:"bg-teal-500/15",textClass:"text-teal-400"}};function Nd({tag:e,className:t}){let o=io[e]??{label:e,bgClass:"bg-default/20",textClass:"text-default-500"};return jsx("span",{className:cn$1("inline-flex items-center rounded px-1.5 py-0.5 text-[10px] font-medium uppercase leading-none tracking-wide",o.bgClass,o.textClass,t),children:o.label})}function Xr({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let s=o!=null&&o>0?e.slice(0,o):e,r=e.length-s.length;return jsxs("div",{className:cn$1("flex flex-wrap items-center gap-1",t),children:[s.map(n=>jsx(Nd,{tag:n},n)),r>0&&jsxs("span",{className:"inline-flex items-center rounded bg-default/20 px-1.5 py-0.5 text-[10px] font-medium text-default-500",children:["+",r]})]})}function Cd({tag:e,className:t}){let o=io[e]??{label:e,bgClass:"bg-default/20",textClass:"text-default-500"};return jsx("span",{className:cn$1("inline-flex items-center rounded px-1.5 py-0.5 text-[10px] font-medium uppercase leading-none tracking-wide",o.bgClass,o.textClass,t),children:o.label})}function Nt({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let s=o!=null&&o>0?e.slice(0,o):e,r=e.length-s.length;return jsxs("div",{className:cn$1("flex flex-wrap items-center gap-1",t),children:[s.map(n=>jsx(Cd,{tag:n},n)),r>0&&jsxs("span",{className:"inline-flex items-center rounded bg-default/20 px-1.5 py-0.5 text-[10px] font-medium text-default-500",children:["+",r]})]})}function he(e){return e==null||e===""?"--":formatPercent(Number(e)/100)}function J(e,t=4,o=4){return e?e.length<=t+o+1?e:`${e.slice(0,t)}\u2026${e.slice(-o)}`:"--"}function se(e,t=Date.now()){if(e==null)return "--";let o=typeof e=="string"||typeof e=="number"?new Date(e):e,s=typeof t=="number"?new Date(t):t,r=Math.max(0,Math.floor((s.getTime()-o.getTime())/1e3));if(r<60)return `${r}s`;let n=Math.floor(r/60);if(n<60)return `${n}m`;let i=Math.floor(n/60);if(i<24)return `${i}h`;let a=Math.floor(i/24);if(a<30)return `${a}d`;let l=Math.floor(a/30);return l<12?`${l}mo`:`${Math.floor(a/365)}y`}function P(e,t){let{data:o,isLoading:s}=useTokenQuery({chain:e,address:t}),[r,n]=useState(o);return useEffect(()=>{o&&n(o);},[o]),useTokenSubscription({chain:e,address:t},i=>{i?.length&&n(a=>{if(!a)return a;let l=a;for(let d of i)l=I(l,d);return l});}),{token:r,isLoading:s}}function Ie({label:e,totalFormatted:t,buysFormatted:o,sellsFormatted:s,totalValue:r=0,buysValue:n=0,className:i}){let a=new SafeBigNumber(r??0),l=new SafeBigNumber(n??0),d=a.eq(0)?0:l.div(a).times(100).toNumber();return jsxs("div",{className:cn$1("flex flex-col gap-1",i),children:[jsxs("div",{className:"flex items-baseline justify-between",children:[jsx("span",{className:"text-xs text-default-500",children:e}),jsx("span",{className:"text-xs text-foreground",children:t})]}),jsx(Progress,{size:"sm",value:d,classNames:{track:"bg-bearish/40",indicator:"bg-bullish"},"aria-label":`${e} buy share`}),jsxs("div",{className:"flex justify-between gap-4 text-[10px]",children:[jsxs("span",{className:"text-bullish",children:["Buys: ",o]}),jsxs("span",{className:"text-bearish",children:["Sells: ",s]})]})]})}function os({token:e,actions:t,dataStrip:o,className:s,onCopyAddress:r}){let n=e?.address;return jsxs("div",{className:cn$1("flex w-full flex-wrap items-center gap-4 px-4 py-3",s),children:[jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e&&jsx(ie,{token:e,radius:"lg",className:"h-10 w-10"}),jsxs("div",{className:"flex min-w-0 flex-col gap-0.5",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("span",{className:"truncate text-base font-semibold text-foreground",children:e?.symbol??"--"}),jsx("span",{className:"truncate text-xs text-default-400",children:e?.name})]}),n&&jsxs("button",{type:"button",onClick:()=>r?.(n),className:"flex items-center gap-1 text-[11px] text-default-400 transition-colors hover:text-foreground",title:n,children:[J(n,6,6),jsx(CopyIcon,{width:12,height:12})]})]})]}),o&&jsx("div",{className:"flex-1 min-w-0",children:o}),t&&jsx("div",{className:"ml-auto flex items-center gap-2",children:t})]})}function rs(e,t){return P(e,t)}function ns({price:e,marketCap:t,volume:o,holdersCount:s,socialMedia:r,className:n}){return jsxs("div",{className:cn$1("flex flex-wrap items-center gap-x-6 gap-y-3",n),children:[e,jsxs("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-3",children:[t,o,s]}),jsx("div",{className:"ml-auto",children:r})]})}function Xh(e,t){return P(e,t)}function as({holders:e,top10HoldingsRatio:t,top100HoldingsRatio:o,className:s}){return jsxs("div",{className:cn$1("flex flex-col items-start justify-center gap-0.5",s),children:[jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsx("span",{className:"text-foreground",children:e!=null?formatAmount(e):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:he(t)}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:he(o)})]}),jsx("div",{className:"text-[10px] text-default-400",children:"Holders / Top10 / Top100"})]})}function ls(e,t){return P(e,t)}function ds({chain:e,address:t,className:o}){let{token:s}=ls(e,t);return jsx(as,{holders:s?.marketData?.holders,top10HoldingsRatio:s?.marketData?.top10HoldingsRatio,top100HoldingsRatio:s?.marketData?.top100HoldingsRatio,className:o})}function ps({marketCapInUsd:e,tvlInUsd:t,createdAt:o,className:s}){return jsxs("div",{className:cn$1("flex flex-col items-start justify-center gap-0.5",s),children:[jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsx("span",{className:"text-foreground",children:e?formatAmountUSDCompact(e):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:t?formatAmountUSDCompact(t):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:se(o)})]}),jsx("div",{className:"text-[10px] text-default-400",children:"MC / Liq / Age"})]})}function us(e,t){return P(e,t)}function fs({chain:e,address:t,className:o}){let{token:s}=us(e,t);return jsx(ps,{marketCapInUsd:s?.marketData?.marketCapInUsd,tvlInUsd:s?.marketData?.tvlInUsd,createdAt:s?.createdAt,className:o})}function ks({priceInUsd:e,price24hAgoInUsd:t,className:o}){let{bearish:s,priceChange:r}=useMemo(()=>{if(!e||!t)return {bearish:false,priceChange:void 0};let n=new SafeBigNumber(e),i=new SafeBigNumber(t);return i.lte(0)?{bearish:false,priceChange:void 0}:{bearish:n.lt(i),priceChange:n.minus(i).div(i).abs().toNumber()}},[e,t]);return jsxs("div",{className:cn$1("group flex flex-col gap-1",o),"data-bearish":s,children:[jsx("div",{className:"text-base font-medium leading-none text-bullish group-data-[bearish=true]:text-bearish",children:e?formatPriceUSD(e):"--"}),jsxs("div",{className:"flex items-center gap-2 text-[10px] leading-none",children:[jsx("span",{className:"text-default-400",children:"24h"}),jsx("span",{className:"text-bullish group-data-[bearish=true]:text-bearish",children:r!=null?formatPercent(r):"--"})]})]})}function hs(e,t){return P(e,t)}function bs({chain:e,address:t,className:o}){let{token:s}=hs(e,t);return jsx(ks,{priceInUsd:s?.marketData?.priceInUsd,price24hAgoInUsd:s?.stats?.["24h"]?.openPriceInUsd,className:o})}function Zd(e,t){switch(e){case "website":return jsx(WebsiteIcon,{width:t,height:t});case "twitter":return jsx(TwitterIcon,{width:t,height:t});case "telegram":return jsx(TelegramIcon,{width:t,height:t});case "discord":return jsx(DiscordIcon,{width:t,height:t});default:return jsx("span",{className:"text-[9px] font-medium uppercase",children:e.slice(0,2)})}}function ys({socials:e,className:t,iconSize:o=16}){if(!e)return null;let r=["website","twitter","telegram","discord","github","reddit","youtube","medium"].filter(n=>!!e[n]);return r.length===0?null:jsx("div",{className:cn$1("flex items-center gap-3",t),children:r.map(n=>jsx("a",{href:e[n],target:"_blank",rel:"noreferrer noopener",className:"flex items-center justify-center text-default-400 transition-colors hover:text-foreground",style:{width:o,height:o},children:Zd(n,o)},n))})}function Ts(e,t){return P(e,t)}function vs({chain:e,address:t,className:o,iconSize:s}){let{token:r}=Ts(e,t);return jsx(ys,{socials:r?.socialMedias,className:o,iconSize:s})}function Cs({volumesInUsd:e,trades:t,traders:o,className:s}){return jsxs("div",{className:cn$1("flex flex-col items-start justify-center gap-0.5",s),children:[jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsx("span",{className:"text-foreground",children:e?formatAmountUSDCompact(e):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:t!=null?formatAmount(t):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:o!=null?formatAmount(o):"--"})]}),jsx("div",{className:"text-[10px] text-default-400",children:"24h Vol / Txs / Traders"})]})}function Ls(e,t){return P(e,t)}function ws({chain:e,address:t,className:o}){let{token:s}=Ls(e,t),r=s?.stats?.["24h"];return jsx(Cs,{volumesInUsd:r?.volumesInUsd,trades:r?.trades,traders:r?.traders,className:o})}function Ps({chain:e,address:t,className:o}){return jsx(ns,{className:o,price:jsx(bs,{chain:e,address:t}),marketCap:jsx(fs,{chain:e,address:t}),volume:jsx(ws,{chain:e,address:t}),holdersCount:jsx(ds,{chain:e,address:t}),socialMedia:jsx(vs,{chain:e,address:t})})}function My({chain:e,address:t,actions:o,dataStrip:s,className:r,onCopyAddress:n}){let{token:i}=rs(e,t);return jsx(os,{token:i,actions:o,dataStrip:s===void 0?jsx(Ps,{chain:e,address:t}):s,className:r,onCopyAddress:n})}var nc=[{value:"holdingUsd",label:"Value"},{value:"lastActiveAt",label:"Last active"}];function Ms({holders:e,isLoading:t,sortBy:o,onSortByChange:s,onlyTracked:r=false,onOnlyTrackedChange:n,onLoadMore:i,hasMore:a,now:l=Date.now(),wellKnownAddresses:d,className:c,renderAddress:p}){let m=r?e.filter(u=>u.tags&&u.tags.length>0):e;return jsxs("div",{className:cn$1("flex flex-col",c),children:[jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxs("div",{className:"flex items-center gap-3",children:[jsx("span",{className:"text-xs font-medium text-default-500",children:"Holders"}),jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:r,onChange:u=>n?.(u.target.checked)}),"Only Tracked"]})]}),jsx("div",{className:"flex items-center gap-1",children:nc.map(u=>jsx("button",{type:"button",onClick:()=>s(u.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",o===u.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:u.label},u.value))})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[640px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[30%] px-3 py-2 text-left font-normal",children:"Wallet"}),jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:"Tags"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Value"}),jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"%"}),jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"First held"}),jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:"Last active"})]})}),jsxs("tbody",{children:[m.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No holders"})}),m.map(u=>jsx(ic,{holder:u,now:l,wellKnownAddresses:d,renderAddress:p},u.address)),t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),a&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:i,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function ic({holder:e,now:t,wellKnownAddresses:o,renderAddress:s}){let r=o?.[e.address],n=useMemo(()=>s?s(e.address):r?jsx("span",{className:"rounded bg-default-100 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-default-600",children:r}):jsx("span",{className:"font-mono text-[11px] text-default-500",children:J(e.address,6,6)}),[e.address,s,r]);return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:n}),jsx("td",{className:"px-3 py-2 align-middle",children:jsx(Nt,{tags:e.tags,max:3})}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:formatAmountUSDCompact(e.amountInUsd)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:he(e.ratio)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.startHoldingAt?se(e.startHoldingAt,t):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.lastActiveAt?se(e.lastActiveAt,t):"--"})]})}function Fs({chain:e,address:t,limit:o=50,initialSortBy:s="holdingUsd"}){let[r,n]=useState(s),[i,a]=useState(void 0),[l,d]=useState([]),c=useCallback(()=>{a(void 0),d([]);},[]),p=useCallback(T=>{T!==r&&(n(T),c());},[r,c]);useEffect(()=>{c();},[e,t,c]);let m=useMemo(()=>({chain:e,address:t,cursor:i,limit:o,sortBy:r}),[e,t,i,o,r]),{data:u,isPending:x,isFetching:k}=useTokenHoldersQuery(m);useEffect(()=>{u&&d(T=>i==null?[u]:T[T.length-1]?.endCursor===u.endCursor?T:[...T,u]);},[u,i]),useTokenSubscription({chain:e,address:t},()=>{});let g=useMemo(()=>l.flatMap(T=>T.data),[l]),f=l[l.length-1],h=!!(f?.hasNext&&f.endCursor),b=useCallback(()=>{!f?.endCursor||!f.hasNext||a(f.endCursor);},[f]);return {holders:g,isLoading:x||k,sortBy:r,setSortBy:p,hasMore:h,loadMore:b}}function Zy({chain:e,address:t,limit:o,initialSortBy:s,initialOnlyTracked:r=false,wellKnownAddresses:n,className:i,renderAddress:a}){let[l,d]=useState(r),{holders:c,isLoading:p,sortBy:m,setSortBy:u,hasMore:x,loadMore:k}=Fs({chain:e,address:t,limit:o,initialSortBy:s});return jsx(Ms,{holders:c,isLoading:p,sortBy:m,onSortByChange:u,onlyTracked:l,onOnlyTrackedChange:d,wellKnownAddresses:n,hasMore:x,onLoadMore:k,className:i,renderAddress:a})}var uc=[{value:"timestamp",label:"Latest"},{value:"totalUsd",label:"Top USD"}],fc=[{value:"all",label:"All"},{value:"buy",label:"Buys"},{value:"sell",label:"Sells"}],gc=[{value:"all",label:"All"},{value:"dev",label:"DEV"},{value:"tracked",label:"TRACKED"},{value:"you",label:"YOU"}];function Os({activities:e,isLoading:t,sortBy:o,onSortByChange:s,typeFilter:r="all",onTypeFilterChange:n,traderFilter:i="all",onTraderFilterChange:a,youWalletAddress:l,currency:d="usd",onCurrencyChange:c,onLoadMore:p,hasMore:m,now:u=Date.now(),nativeDecimals:x=9,nativeSymbol:k="SOL",className:g,onRowClick:f}){let h=kc(e,i,l);return jsxs("div",{className:cn$1("flex flex-col",g),children:[jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2",children:[jsxs("div",{className:"flex items-center gap-1",children:[fc.map(b=>jsx("button",{type:"button",onClick:()=>n?.(b.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",r===b.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:b.label},b.value)),jsx("span",{className:"mx-1 h-3 w-px bg-default-200","aria-hidden":true}),gc.map(b=>{let T=i===b.value,E=b.value==="you"&&!l;return jsx("button",{type:"button",disabled:E,onClick:()=>a?.(b.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",T?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground",E&&"cursor-not-allowed opacity-50"),children:b.label},b.value)})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx(hc,{value:d,nativeSymbol:k,onChange:c}),jsx("div",{className:"flex items-center gap-1",children:uc.map(b=>jsx("button",{type:"button",onClick:()=>s(b.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",o===b.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:b.label},b.value))})]})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[780px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:"Side"}),jsx("th",{className:"w-[25%] px-3 py-2 text-left font-normal",children:"Trader"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Amount"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"USD"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Price"}),jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"Gas"}),jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"Age"})]})}),jsxs("tbody",{children:[h.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-8 text-center text-default-400",children:"No activities"})}),h.map(b=>jsx(yc,{activity:b,now:u,nativeDecimals:x,nativeSymbol:k,currency:d,onRowClick:f},b.txHash)),t&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),m&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:p,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function xc(e){return e.type==="buy"?e.to:e.type==="sell"?e.from:e.to}function kc(e,t,o){if(t==="all")return e;if(t==="you"){if(!o)return [];let r=o.toLowerCase();return e.filter(n=>n.walletAddress?.toLowerCase()===r)}if(t==="dev")return e.filter(r=>r.traderTags?.some(n=>n==="dev"));let s=new Set(["kol","smart","bluechip"]);return e.filter(r=>r.traderTags?.some(n=>s.has(n)))}function hc({value:e,nativeSymbol:t,onChange:o}){return jsx("div",{className:"flex h-[22px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(r=>jsx("button",{type:"button",onClick:()=>o?.(r.k),className:cn$1("rounded px-2 transition-colors",e===r.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:r.label},r.k))})}function bc(e,t,o){if(!e)return "--";let s=Number(e)/Math.pow(10,t);return Number.isFinite(s)?`${formatAmount(s)} ${o}`:"--"}function yc({activity:e,now:t,nativeDecimals:o,nativeSymbol:s,currency:r,onRowClick:n}){let i=xc(e),a=e.type==="buy"?"Buy":e.type==="sell"?"Sell":e.type.replace(/_/g," "),l=e.type==="buy"?"text-bullish":e.type==="sell"?"text-bearish":"text-default-500";return jsxs("tr",{className:cn$1("border-b border-default-50 hover:bg-default-50/60",n&&"cursor-pointer"),onClick:n?()=>n(e):void 0,children:[jsx("td",{className:cn$1("px-3 py-2 align-middle font-medium capitalize",l),children:a}),jsx("td",{className:"px-3 py-2 align-middle",children:jsxs("div",{className:"flex flex-col gap-0.5",children:[jsx("span",{className:"font-mono text-[11px] text-default-500",children:J(e.walletAddress,6,6)}),jsx(Xr,{tags:e.traderTags,max:2})]})}),jsxs("td",{className:"px-3 py-2 text-right align-middle",children:[formatAmount(i.amount)," ",i.symbol]}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r==="native"&&i.amountInNative?`${formatAmount(i.amountInNative)} ${i.symbol}`:i.amountInUsd?formatAmountUSDCompact(i.amountInUsd):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:i.priceInUsd?`$${formatPrice(i.priceInUsd)}`:"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:bc(e.gasFee,o,s)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:se(e.time,t)})]})}function Ws({chain:e,address:t,limit:o=50,initialSortBy:s="timestamp",initialTypeFilter:r="all"}){let[n,i]=useState(s),[a,l]=useState(r),[d,c]=useState(void 0),[p,m]=useState([]),[u,x]=useState([]),k=useCallback(()=>{c(void 0),m([]),x([]);},[]),g=useCallback(U=>{U!==n&&(i(U),k());},[n,k]),f=useCallback(U=>{U!==a&&(l(U),k());},[a,k]);useEffect(()=>{k();},[e,t,k]);let h=a==="all"?void 0:a,b=useMemo(()=>({chain:e,address:t,cursor:d,limit:o,sortBy:n,type:h}),[e,t,d,o,n,h]),{data:T,isPending:E,isFetching:G}=useTokenActivitiesQuery(b);useEffect(()=>{T&&m(U=>d==null?[T]:U[U.length-1]?.endCursor===T.endCursor?U:[...U,T]);},[T,d]);let ue=n==="timestamp"&&a==="all"&&d==null;useTokenActivitiesSubscription({chain:e,address:t},U=>{!ue||!U?.length||x(_e=>{let Qo=new Set(_e.map(Jt=>Jt.txHash)),ne=U.filter(Jt=>!Qo.has(Jt.txHash));return ne.length===0?_e:[...ne,..._e].slice(0,100)});});let Gt=useMemo(()=>{let U=p.flatMap(ne=>ne.data);if(!ue||u.length===0)return U;let _e=new Set(U.map(ne=>ne.txHash));return [...u.filter(ne=>!_e.has(ne.txHash)),...U]},[p,u,ue]),D=p[p.length-1],ji=!!(D?.hasNext&&D.endCursor),ea=useCallback(()=>{!D?.endCursor||!D.hasNext||c(D.endCursor);},[D]);return {activities:Gt,isLoading:E||G,sortBy:n,setSortBy:g,typeFilter:a,setTypeFilter:f,hasMore:ji,loadMore:ea}}function kT({chain:e,address:t,limit:o,initialSortBy:s,initialTypeFilter:r,initialTraderFilter:n="all",initialCurrency:i="usd",youWalletAddress:a,nativeDecimals:l,nativeSymbol:d,className:c,onRowClick:p}){let[m,u]=useState(n),[x,k]=useState(i),{activities:g,isLoading:f,sortBy:h,setSortBy:b,typeFilter:T,setTypeFilter:E,hasMore:G,loadMore:ue}=Ws({chain:e,address:t,limit:o,initialSortBy:s,initialTypeFilter:r});return jsx(Os,{activities:g,isLoading:f,sortBy:h,onSortByChange:b,typeFilter:T,onTypeFilterChange:E,traderFilter:m,onTraderFilterChange:u,youWalletAddress:a,currency:x,onCurrencyChange:k,hasMore:G,onLoadMore:ue,className:c,nativeDecimals:l,nativeSymbol:d,onRowClick:p})}function Es({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.traders??0,n=s?.buyers??0,i=s?.sellers??0;return jsx(Ie,{className:o,label:`Traders (${t})`,totalFormatted:formatAmount(r),buysFormatted:formatAmount(n),sellsFormatted:formatAmount(i),totalValue:r,buysValue:n})}function Vs(e,t){return P(e,t)}function IT({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=Vs(e,t);return jsx(Es,{stats:r?.stats,resolution:o,className:s})}function $s({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.trades??0,n=s?.buys??0,i=s?.sells??0;return jsx(Ie,{className:o,label:`Transactions (${t})`,totalFormatted:formatAmount(r),buysFormatted:formatAmount(n),sellsFormatted:formatAmount(i),totalValue:r,buysValue:n})}function _s(e,t){return P(e,t)}function QT({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=_s(e,t);return jsx($s,{stats:r?.stats,resolution:o,className:s})}function Ks({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.volumesInUsd??"0",n=s?.buyVolumesInUsd??"0",i=s?.sellVolumesInUsd??"0";return jsx(Ie,{className:o,label:`Volume (${t})`,totalFormatted:formatAmountUSDCompact(r),buysFormatted:formatAmountUSDCompact(n),sellsFormatted:formatAmountUSDCompact(i),totalValue:r,buysValue:n})}function zs(e,t){return P(e,t)}function lv({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=zs(e,t);return jsx(Ks,{stats:r?.stats,resolution:o,className:s})}function qs({security:e,externalUrl:t,externalLabel:o,className:s}){let r=[{title:"Transfer fee",value:e?.hasTransferFee,safeWhen:false,description:"Whether the token charges a fee on transfer."},{title:"Fee not upgradable",value:e?.isTransferFeeUpgradable,safeWhen:false,description:"Whether the transfer fee can be raised by the token owner."},{title:"Transferable",value:e?.isTransferable,safeWhen:true,description:"Whether token holders can freely transfer the token."},{title:"Not freezable",value:e?.isFreezable,safeWhen:false,description:"Whether the token authority can freeze holder balances."},{title:"Not closable",value:e?.isClosable,safeWhen:false,description:"Whether the token program can be closed by its owner."}],n=r.every(i=>i.value!==void 0&&i.value===i.safeWhen);return jsxs("section",{className:cn$1("flex w-full flex-col gap-3",s),children:[jsxs("div",{className:"flex items-baseline justify-between",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:"Security"}),jsx("span",{className:cn$1("text-xs",e===void 0?"text-default-400":n?"text-success-500":"text-danger-500"),children:e===void 0?"--":n?"Safe":"Review"})]}),jsx("div",{className:"flex flex-col",children:r.map(i=>jsx(Ac,{...i},i.title))}),t&&o&&jsx("div",{className:"flex justify-center",children:jsx("a",{href:t,target:"_blank",rel:"noreferrer noopener",className:"text-xs text-default-400 transition-colors hover:text-foreground",children:o})})]})}function Ac({title:e,value:t,safeWhen:o,description:s}){let r=t!==void 0&&t===o,n=t===void 0?"--":r?"OK":"Risk";return jsxs("div",{className:"flex h-8 items-center justify-between gap-2",children:[jsx("span",{className:"text-xs text-default-500",title:s,children:e}),jsx("span",{className:cn$1("text-xs",t===void 0?"text-default-400":r?"text-success-500":"text-danger-500"),children:n})]})}function Qs(e,t){let{data:o,isLoading:s}=useTokenSecurityQuery({chain:e,address:t});return {security:o,isLoading:s}}function vv({chain:e,address:t,externalUrl:o,externalLabel:s,className:r}){let{security:n}=Qs(e,t);return jsx(qs,{security:n,externalUrl:o,externalLabel:s,className:r})}function Xs({token:e,className:t}){return e?jsxs("section",{className:cn$1("flex w-full flex-col gap-2",t),children:[jsxs("div",{className:"text-sm font-medium text-foreground",children:["About ",e.symbol]}),e.description?jsx("p",{className:"whitespace-pre-line text-xs text-default-500",children:e.description}):jsx("p",{className:"text-xs text-default-400",children:"No description provided."})]}):null}function Ys(e,t){return P(e,t)}function Uv({chain:e,address:t,className:o}){let{token:s}=Ys(e,t);return jsx(Xs,{token:s,className:o})}function en({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:s,onPoolClick:r}){let[n,i]=useState(!e||e.length<=o),a=useCallback(()=>i(l=>!l),[]);return jsxs("section",{className:cn$1("flex w-full flex-col gap-3",s),children:[jsxs("div",{className:"flex items-baseline justify-between",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:"Liquidity"}),t&&jsx("span",{className:"text-xs text-foreground",children:formatAmountUSDCompact(t)})]}),(!e||e.length===0)&&jsx("div",{className:"py-4 text-center text-xs text-default-400",children:"No pools"}),e&&e.length>0&&jsxs("div",{className:"flex flex-col gap-2",children:[e.map((l,d)=>jsxs("div",{className:cn$1("flex h-10 w-full items-center justify-between overflow-hidden text-xs",d>=o&&!n&&"hidden",r&&"cursor-pointer hover:bg-default-50"),onClick:r?()=>r(l):void 0,children:[jsxs("div",{className:"flex flex-col gap-0.5",children:[jsx("span",{className:"text-foreground",children:l.protocolFamily??l.protocolName??"Unknown"}),l.poolAddress&&jsxs("span",{className:"font-mono text-[10px] text-default-400",children:["Pool: ",J(l.poolAddress,6,6)]})]}),jsx("div",{className:"text-default-500",children:formatAmountUSDCompact(l.tvlInUsd??0)})]},l.poolAddress??`${l.protocolFamily}-${d}`)),e.length>o&&jsx("div",{className:"flex justify-center pt-1",children:jsx("button",{type:"button",onClick:a,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:n?"Show less":"Show more"})})]})]})}function tn(e,t){return P(e,t)}function jv({chain:e,address:t,collapseAt:o,className:s,onPoolClick:r}){let{token:n}=tn(e,t);return jsx(en,{liquidities:n?.liquidities,totalTvlInUsd:n?.marketData?.tvlInUsd,collapseAt:o,className:s,onPoolClick:r})}function on({cexes:e,collapseAt:t=4,className:o}){let[s,r]=useState(!e||e.length<=t),n=useCallback(()=>r(i=>!i),[]);return !e||e.length===0?null:jsxs("section",{className:cn$1("w-full",o),children:[jsx("div",{className:"text-sm font-medium text-foreground",children:"CEX listings"}),jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((i,a)=>{let l=a>=t&&!s,d=jsx(Chip,{startContent:i.logo?jsx(Image,{src:i.logo,width:20,height:20,alt:i.name}):void 0,className:cn$1("bg-default-100 text-xs",l&&"hidden"),children:i.name},i.id);return i.url?jsx("a",{href:i.url,target:"_blank",rel:"noreferrer noopener",className:cn$1(l&&"hidden"),children:d},i.id):d})}),e.length>t&&jsx("div",{className:"mt-3 flex justify-center",children:jsx("button",{type:"button",onClick:n,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:s?"Show less":"Show more"})})]})}function rn(e){return {cexes:e}}function u0({cexes:e,collapseAt:t,className:o}){let{cexes:s}=rn(e);return jsx(on,{cexes:s,collapseAt:t,className:o})}function nn({categories:e,collapseAt:t=4,className:o,onCategoryClick:s}){let[r,n]=useState(!e||e.length<=t),i=useCallback(()=>n(a=>!a),[]);return !e||e.length===0?null:jsxs("section",{className:cn$1("w-full",o),children:[jsx("div",{className:"text-sm font-medium text-foreground",children:"Categories"}),jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((a,l)=>{let d=l>=t&&!r;return jsx(Chip,{size:"sm",className:cn$1("bg-default-100",d&&"hidden",s&&"cursor-pointer"),onClick:s?()=>s(a):void 0,children:a},a)})}),e.length>t&&jsx("div",{className:"mt-3 flex justify-center",children:jsx("button",{type:"button",onClick:i,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:r?"Show less":"Show more"})})]})}function an(e,t){return P(e,t)}function P0({chain:e,address:t,collapseAt:o,className:s,onCategoryClick:r}){let{token:n}=an(e,t);return jsx(nn,{categories:n?.tags,collapseAt:o,className:s,onCategoryClick:r})}var ln=["5m","1h","4h","24h"];function dn({stats:e,resolution:t,className:o}){let s=e?.[t],r=new SafeBigNumber(s?.buyVolumesInUsd??0),n=new SafeBigNumber(s?.sellVolumesInUsd??0),i=r.plus(n),a=r.minus(n),l=i.eq(0)?50:Math.min(100,Math.max(0,r.div(i).times(100).toNumber())),d=[{label:`${t} Vol`,value:formatAmountUSDCompact(i.toString()),className:"text-foreground"},{label:"Buys",value:formatAmountUSDCompact(r.toString()),className:"text-bullish"},{label:"Sells",value:formatAmountUSDCompact(n.toString()),className:"text-bearish"},{label:"Net Vol.",value:formatAmountUSDCompact(a.abs().toString()),className:a.gte(0)?"text-bullish":"text-bearish"}];return jsxs("div",{className:cn$1("flex h-full w-full flex-col",o),children:[jsx("div",{className:"grid flex-1 grid-cols-4 items-center",children:d.map(c=>jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] px-2",children:[jsx("span",{className:"text-[10px] leading-none text-default-400",children:c.label}),jsx("span",{className:cn$1("text-[13px] font-medium leading-none tabular-nums",c.className),children:c.value})]},c.label))}),jsx("div",{className:"relative h-[2px] w-full overflow-hidden bg-bearish",children:jsx("div",{className:"absolute inset-y-0 left-0 bg-bullish transition-[width] duration-200 ease-out",style:{width:`${l}%`}})})]})}function cn({stats:e,resolutions:t,className:o}){return jsx("div",{className:cn$1("grid h-full w-full grid-cols-4 items-center",o),children:t.map(s=>{let n=e?.[s]?.priceChange,i=n?new SafeBigNumber(n):void 0,a=i?i.gte(0):void 0,l=s,d=i?formatPercent(i,{showPlusGtThanZero:true}):"\u2014";return jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] px-2",children:[jsx("span",{className:"text-[10px] leading-none text-default-400",children:l}),jsx("span",{className:cn$1("text-[13px] font-medium leading-none tabular-nums",a===void 0?"text-foreground":a?"text-bullish":"text-bearish"),children:d})]},s)})})}function mn({chain:e,address:t}){let{data:o,isLoading:s}=useTokenStatsQuery({chain:e,address:t});return {stats:o,isLoading:s}}function K0({chain:e,address:t,baseResolution:o="5m",hoverResolutions:s=ln,height:r=64,className:n}){let{stats:i}=mn({chain:e,address:t});return jsx(StatsFlipPanel,{className:n,height:r,base:jsx(dn,{stats:i,resolution:o}),hover:jsx(cn,{stats:i,resolutions:s})})}function pn({positions:e,isLoading:t,hasMore:o,onLoadMore:s,currency:r="usd",onCurrencyChange:n,showHidden:i=false,onShowHiddenChange:a,nativeSymbol:l="Native",renderActions:d,className:c}){return jsxs("div",{className:cn$1("flex flex-col",c),children:[jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxs("div",{className:"flex items-center gap-3",children:[jsx("span",{className:"text-xs font-medium text-default-500",children:"Positions"}),jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:i,onChange:p=>a?.(p.target.checked)}),"Show Hidden"]})]}),jsx(om,{value:r,nativeSymbol:l,onChange:n})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[720px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[26%] px-3 py-2 text-left font-normal",children:"Token"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Bought"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Sold"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Remaining"}),jsx("th",{className:"w-[18%] px-3 py-2 text-right font-normal",children:"PnL"}),jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"Actions"})]})}),jsxs("tbody",{children:[e.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No open positions"})}),e.map(p=>jsx(rm,{position:p,currency:r,renderActions:d},`${p.chain}:${p.address}`)),t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),o&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:s,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function om({value:e,nativeSymbol:t,onChange:o}){return jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(r=>jsx("button",{type:"button",onClick:()=>o?.(r.k),className:cn$1("rounded px-2 transition-colors",e===r.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:r.label},r.k))})}function rm({position:e,currency:t,renderActions:o}){let{bought:s,sold:r,remaining:n,pnl:i}=useMemo(()=>sm(e,t),[e,t]),a=jsxs("div",{className:"flex items-center gap-2",children:[jsx(Avatar,{src:e.image??void 0,name:(e.symbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxs("div",{className:"flex min-w-0 flex-col",children:[jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:e.name})]})]});return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:a}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n}),jsx("td",{className:cn$1("px-3 py-2 text-right align-middle font-medium",i.isPositive===void 0?"text-default-400":i.isPositive?"text-bullish":"text-bearish"),children:jsxs("div",{className:"flex flex-col items-end leading-tight",children:[jsx("span",{children:i.amount}),i.ratio?jsx("span",{className:"text-[10px]",children:i.ratio}):null]})}),jsx("td",{className:"px-3 py-2 text-right align-middle",children:o?o(e):jsx("span",{className:"text-default-400",children:"--"})})]})}function sm(e,t){let o=t==="usd"?e.buyVolumesInUsd:e.buyVolumes,s=t==="usd"?e.sellVolumesInUsd:e.sellVolumes,r=t==="usd"?e.amountInUsd:e.amount,n=e.totalProfitInUsd,i=t==="usd"?formatAmountUSDCompact(o??0):formatAmount(o??0),a=t==="usd"?formatAmountUSDCompact(s??0):formatAmount(s??0),l=t==="usd"?formatAmountUSDCompact(r??0):formatAmount(r??0),d=n?new SafeBigNumber(n):void 0,c=d?d.gte(0):void 0,p=d?(c?"+":"")+formatAmountUSDCompact(d.toString()):"--",m=e.totalProfitRatio?formatPercent(e.totalProfitRatio,{showPlusGtThanZero:true}):void 0;return {bought:i,sold:a,remaining:l,pnl:{amount:p,ratio:m,isPositive:c}}}function gn({chain:e,wallet:t,limit:o=50,initialShowHidden:s=false}){let[r,n]=useState(void 0),[i,a]=useState([]),[l,d]=useState(s);useEffect(()=>{n(void 0),a([]);},[e,t]);let c=useMemo(()=>({chain:e,address:t??"",cursor:r,limit:o,positionState:"open"}),[e,t,r,o]),{data:p,isPending:m,isFetching:u}=useWalletTokenPositionsQuery(c,{enabled:!!t});useEffect(()=>{p&&a(h=>r==null?[p]:h[h.length-1]?.endCursor===p.endCursor?h:[...h,p]);},[p,r]);let x=useMemo(()=>i.flatMap(h=>h.portfolios),[i]),k=i[i.length-1],g=!!(k?.hasNext&&k.endCursor),f=useCallback(()=>{!k?.endCursor||!k.hasNext||n(k.endCursor);},[k]);return {positions:x,isLoading:!!t&&(m||u),hasMore:g,loadMore:f,showHidden:l,setShowHidden:d}}function lS({chain:e,wallet:t,limit:o,initialCurrency:s="usd",nativeSymbol:r,renderActions:n,className:i}){let[a,l]=useState(s),{positions:d,isLoading:c,hasMore:p,loadMore:m,showHidden:u,setShowHidden:x}=gn({chain:e,wallet:t,limit:o});return jsx(pn,{className:i,positions:d,isLoading:c,hasMore:p,onLoadMore:m,currency:a,onCurrencyChange:l,showHidden:u,onShowHiddenChange:x,nativeSymbol:r,renderActions:n})}function xn({orders:e,isLoading:t,unavailable:o,hasMore:s,onLoadMore:r,stateFilter:n,onStateFilterChange:i,onlyThisToken:a=false,onOnlyThisTokenChange:l,tokenSymbol:d,currency:c="usd",onCurrencyChange:p,nativeSymbol:m="Native",onCancelAll:u,renderActions:x,className:k}){return jsxs("div",{className:cn$1("flex flex-col",k),children:[jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"active",label:"Active Orders"},{k:"history",label:"Order History"}].map(g=>jsx("button",{type:"button",onClick:()=>i(g.k),className:cn$1("rounded px-2 transition-colors",n===g.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:g.label},g.k))}),d?jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:a,onChange:g=>l?.(g.target.checked)}),"Only ",d]}):null]}),jsxs("div",{className:"flex items-center gap-2",children:[u?jsx("button",{type:"button",onClick:u,className:"rounded px-2 py-1 text-[11px] text-bearish transition-colors hover:bg-default-100",children:"Cancel All"}):null,jsx(pm,{value:c,nativeSymbol:m,onChange:p})]})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[760px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[22%] px-3 py-2 text-left font-normal",children:"Token"}),jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:"Type"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Amount"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Current MC"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Target MC"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Settings"}),jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"Action"})]})}),jsxs("tbody",{children:[o?jsx("tr",{children:jsx("td",{colSpan:7,className:"py-10 text-center text-default-400",children:"Limit orders are coming soon."})}):e.length===0&&!t?jsx("tr",{children:jsxs("td",{colSpan:7,className:"py-10 text-center text-default-400",children:["No ",n==="active"?"active":"historical"," orders"]})}):e.map(g=>jsx(um,{order:g,currency:c,renderActions:x},g.id)),t&&!o&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&s&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:r,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function pm({value:e,nativeSymbol:t,onChange:o}){return jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(r=>jsx("button",{type:"button",onClick:()=>o?.(r.k),className:cn$1("rounded px-2 transition-colors",e===r.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:r.label},r.k))})}function um({order:e,currency:t,renderActions:o}){let s=useMemo(()=>t==="usd"&&e.amountInUsd?formatAmountUSDCompact(e.amountInUsd):formatAmount(e.amount),[t,e.amount,e.amountInUsd]),r=e.side==="buy"?"Buy":"Sell",n=e.side==="buy"?"text-bullish":"text-bearish";return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:jsxs("div",{className:"flex items-center gap-2",children:[jsx(Avatar,{src:e.tokenImage??void 0,name:(e.tokenSymbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsx("span",{className:"truncate text-foreground",children:e.tokenSymbol??"--"})]})}),jsx("td",{className:cn$1("px-3 py-2 align-middle font-medium",n),children:r}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:e.currentMarketCapInUsd?formatAmountUSDCompact(e.currentMarketCapInUsd):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:e.targetMarketCapInUsd?formatAmountUSDCompact(e.targetMarketCapInUsd):e.targetPriceInUsd?formatAmountUSDCompact(e.targetPriceInUsd):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.slippage!=null?`Slip ${e.slippage}%`:"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle",children:o?o(e):jsx("span",{className:"text-default-400",children:"--"})})]})}function gm(e){return e instanceof Error&&e.code==="NotImplemented"}function xm(e){return e==="active"?"active":"filled"}function yn({chain:e,wallet:t,tokenAddress:o,limit:s=50,initialStateFilter:r="active",initialOnlyThisToken:n=false}){let[i,a]=useState(r),[l,d]=useState(n),[c,p]=useState(void 0),[m,u]=useState([]);useEffect(()=>{p(void 0),u([]);},[e,t,i,l,o]);let x=useCallback(D=>{D!==i&&a(D);},[i]),k=useMemo(()=>({chain:e,address:t??"",cursor:c,limit:s,state:xm(i),tokenAddress:l?o:void 0}),[e,t,c,s,i,l,o]),{data:g,isPending:f,isFetching:h,error:b}=useWalletLimitOrdersQuery(k,{enabled:!!t});useEffect(()=>{g&&u(D=>c==null?[g]:D[D.length-1]?.endCursor===g.endCursor?D:[...D,g]);},[g,c]);let T=!!b&&gm(b),E=useMemo(()=>m.flatMap(D=>D.data),[m]),G=m[m.length-1],ue=!!(G?.hasNext&&G.endCursor),Gt=useCallback(()=>{!G?.endCursor||!G.hasNext||p(G.endCursor);},[G]);return {orders:E,isLoading:!!t&&!T&&(f||h),unavailable:T,hasMore:ue,loadMore:Gt,stateFilter:i,setStateFilter:x,onlyThisToken:l,setOnlyThisToken:d}}function LS({chain:e,wallet:t,tokenAddress:o,tokenSymbol:s,limit:r,initialStateFilter:n="active",initialCurrency:i="usd",nativeSymbol:a,onCancelAll:l,renderActions:d,className:c}){let[p,m]=useState(i),{orders:u,isLoading:x,unavailable:k,hasMore:g,loadMore:f,stateFilter:h,setStateFilter:b,onlyThisToken:T,setOnlyThisToken:E}=yn({chain:e,wallet:t,tokenAddress:o,limit:r,initialStateFilter:n});return jsx(xn,{className:c,orders:u,isLoading:x,unavailable:k,hasMore:g,onLoadMore:f,stateFilter:h,onStateFilterChange:b,onlyThisToken:T,onOnlyThisTokenChange:E,tokenSymbol:s,currency:p,onCurrencyChange:m,nativeSymbol:a,onCancelAll:k?void 0:l,renderActions:d})}function Tn({traders:e,isLoading:t,hasMore:o,onLoadMore:s,onlyTracked:r=false,onOnlyTrackedChange:n,now:i=Date.now(),renderAddress:a,className:l}){return jsxs("div",{className:cn$1("flex flex-col",l),children:[jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsx("span",{className:"text-xs font-medium text-default-500",children:"Top Traders"}),jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:r,onChange:d=>n?.(d.target.checked)}),"Only Tracked"]})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[680px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[28%] px-3 py-2 text-left font-normal",children:"Wallet"}),jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:"Tags"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Value"}),jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"%"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Realized PnL"}),jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:"Last active"})]})}),jsxs("tbody",{children:[e.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No top traders yet"})}),e.map(d=>jsx(vm,{trader:d,now:i,renderAddress:a},d.address)),t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),o&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:s,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function vm({trader:e,now:t,renderAddress:o}){let s=useMemo(()=>o?o(e.address):jsx("span",{className:"font-mono text-[11px] text-default-500",children:J(e.address,6,6)}),[e.address,o]);return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:s}),jsx("td",{className:"px-3 py-2 align-middle",children:jsx(Nt,{tags:e.tags,max:3})}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:formatAmountUSDCompact(e.amountInUsd)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:he(e.ratio)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:"\u2014"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.lastActiveAt?se(e.lastActiveAt,t):"--"})]})}function Sn({chain:e,address:t,limit:o=50,initialOnlyTracked:s=false}){let[r,n]=useState(void 0),[i,a]=useState([]),[l,d]=useState(s);useEffect(()=>{n(void 0),a([]);},[e,t]);let c=useMemo(()=>({chain:e,address:t,cursor:r,limit:o,sortBy:"realizedPnl"}),[e,t,r,o]),{data:p,isPending:m,isFetching:u}=useTokenTopTradersQuery(c);useEffect(()=>{p&&a(b=>r==null?[p]:b[b.length-1]?.endCursor===p.endCursor?b:[...b,p]);},[p,r]);let x=useMemo(()=>i.flatMap(b=>b.data),[i]),k=useMemo(()=>l?x.filter(b=>b.tags&&b.tags.length>0):x,[x,l]),g=i[i.length-1],f=!!(g?.hasNext&&g.endCursor),h=useCallback(()=>{!g?.endCursor||!g.hasNext||n(g.endCursor);},[g]);return {traders:k,isLoading:m||u,hasMore:f,loadMore:h,onlyTracked:l,setOnlyTracked:d}}function zS({chain:e,address:t,limit:o,className:s,renderAddress:r}){let{traders:n,isLoading:i,hasMore:a,loadMore:l,onlyTracked:d,setOnlyTracked:c}=Sn({chain:e,address:t,limit:o});return jsx(Tn,{className:s,traders:n,isLoading:i,hasMore:a,onLoadMore:l,onlyTracked:d,onOnlyTrackedChange:c,renderAddress:r})}function Cn({tokens:e,isLoading:t,unavailable:o,hasMore:s,onLoadMore:r,renderTokenLink:n,className:i}){return jsxs("div",{className:cn$1("flex flex-col",i),children:[jsx("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:jsx("span",{className:"text-xs font-medium text-default-500",children:"Dev Tokens"})}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[700px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[28%] px-3 py-2 text-left font-normal",children:"Token"}),jsx("th",{className:"w-[10%] px-3 py-2 text-center font-normal",children:"Migrated"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Market Cap"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"ATH"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Liquidity"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"1h Volume"})]})}),jsxs("tbody",{children:[o?jsx("tr",{children:jsx("td",{colSpan:6,className:"py-10 text-center text-default-400",children:"Dev tokens index is coming soon."})}):e.length===0&&!t?jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No dev tokens"})}):e.map(a=>jsx(wm,{token:a,renderTokenLink:n},`${a.chain}:${a.address}`)),!o&&t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&s&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:r,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function wm({token:e,renderTokenLink:t}){let o=e.marketData?.marketCapInUsd??e.marketData?.marketCap,s=e.marketData?.tvlInUsd,n=e.stats?.["1h"]?.volumesInUsd,i=!!e.migratedTo,a=t?t(e):jsxs("div",{className:"flex items-center gap-2",children:[jsx(Avatar,{src:e.image??void 0,name:(e.symbol??e.name??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxs("div",{className:"flex min-w-0 flex-col",children:[jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:e.name})]})]});return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:a}),jsx("td",{className:"px-3 py-2 text-center align-middle",children:i?jsx("span",{className:"text-bullish",children:"\u2713"}):jsx("span",{className:"text-default-400",children:"\u2014"})}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:o?formatAmountUSDCompact(o):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s?formatAmountUSDCompact(s):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n?formatAmountUSDCompact(n):"--"})]})}function Ln({tokens:e,className:t}){let o=e.length,s=e.filter(a=>!!a.migratedTo).length,r=o===0?0:Math.round(s/o*100),n=e.map(a=>a.stats?.["1h"]?.volumesInUsd??"0").reduce((a,l)=>a.plus(new SafeBigNumber(l)),new SafeBigNumber(0)),i=e.map(a=>a.marketData?.marketCapInUsd??a.marketData?.marketCap??"0").reduce((a,l)=>a.plus(new SafeBigNumber(l)),new SafeBigNumber(0));return jsxs("div",{className:cn$1("flex flex-col gap-2 p-3",t),children:[jsx("div",{className:"flex items-center justify-between",children:jsx("span",{className:"text-xs font-medium text-default-500",children:"Token Stats"})}),jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsx(Ht,{label:"Total",value:String(o)}),jsx(Ht,{label:"Migrated",value:`${s} (${r}%)`}),jsx(Ht,{label:"Total Market Cap",value:formatAmountUSDCompact(i.toString())}),jsx(Ht,{label:"Total 1h Volume",value:formatAmountUSDCompact(n.toString())})]})]})}function Ht({label:e,value:t}){return jsxs("div",{className:"flex flex-col gap-[2px]",children:[jsx("span",{className:"text-[10px] text-default-400",children:e}),jsx("span",{className:"text-[13px] font-medium text-foreground",children:t})]})}function Am(e){return e instanceof Error&&e.code==="NotImplemented"}function An({chain:e,creator:t,limit:o=20}){let[s,r]=useState(void 0),[n,i]=useState([]);useEffect(()=>{r(void 0),i([]);},[e,t]);let a=useMemo(()=>({chain:e,creator:t??"",cursor:s,limit:o}),[e,t,s,o]),{data:l,isPending:d,isFetching:c,error:p}=useTokensByCreatorQuery(a,{enabled:!!t});useEffect(()=>{l&&i(f=>s==null?[l]:f[f.length-1]?.endCursor===l.endCursor?f:[...f,l]);},[l,s]);let m=!!p&&Am(p),u=useMemo(()=>n.flatMap(f=>f.data),[n]),x=n[n.length-1],k=!!(x?.hasNext&&x.endCursor),g=useCallback(()=>{!x?.endCursor||!x.hasNext||r(x.endCursor);},[x]);return {tokens:u,isLoading:!!t&&!m&&(d||c),unavailable:m,hasMore:k,loadMore:g}}function aN({chain:e,creator:t,limit:o,showSummary:s=false,renderTokenLink:r,className:n}){let{tokens:i,isLoading:a,unavailable:l,hasMore:d,loadMore:c}=An({chain:e,creator:t,limit:o});return jsxs("div",{className:n,children:[jsx(Cn,{tokens:i,isLoading:a,unavailable:l,hasMore:d,onLoadMore:c,renderTokenLink:r}),s&&!l?jsx(Ln,{tokens:i}):null]})}function Hn({token:e,athInUsd:t,athAt:o,globalFeesPaidInUsd:s,rank:r,onTogglePin:n,pinned:i,className:a}){let l=e?.marketData?.priceInUsd,d=e?.marketData?.tvlInUsd,c=e?.marketData?.totalSupply;return jsxs("div",{className:cn$1("flex h-[48px] w-full flex-row items-center gap-4 overflow-x-auto px-3 text-[12px]",a),children:[jsx(Ee,{label:"Price",value:l?formatPriceUSD(l):"--"}),jsx(Ee,{label:"Liquidity",value:d?formatAmountUSDCompact(d):"--"}),jsx(Ee,{label:"Supply",value:c?formatAmount(c):"--"}),s?jsx(Ee,{label:"Fees Paid",value:formatAmountUSDCompact(s)}):null,t?jsx(Ee,{label:"ATH",value:formatAmountUSDCompact(t),title:o?`All-time high at ${o.toLocaleDateString()}`:void 0}):null,r!==void 0?jsx(Ee,{label:"Rank",value:`#${r}`}):null,jsx("div",{className:"flex-1"}),n?jsx("button",{type:"button",onClick:n,"aria-pressed":i,className:cn$1("flex size-[26px] items-center justify-center rounded text-default-400 transition-colors hover:bg-default-100 hover:text-foreground",i&&"text-foreground"),title:i?"Unpin token":"Pin token",children:i?"\u2605":"\u2606"}):null]})}function Ee({label:e,value:t,title:o}){return jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] whitespace-nowrap",title:o,children:[jsx("span",{className:"text-[10px] leading-none text-default-400",children:e}),jsx("span",{className:"text-[13px] font-medium leading-none tabular-nums text-foreground",children:t})]})}function On({chain:e,address:t}){return P(e,t)}function vN({chain:e,address:t,athInUsd:o,athAt:s,globalFeesPaidInUsd:r,rank:n,pinned:i,onTogglePin:a,className:l}){let{token:d}=On({chain:e,address:t});return jsx(Hn,{className:l,token:d,athInUsd:o,athAt:s,globalFeesPaidInUsd:r,rank:n,pinned:i,onTogglePin:a})}function Un({tokens:e,isLoading:t,unavailable:o,onTokenClick:s,className:r}){return o?jsx("div",{className:cn$1("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"Similar tokens coming soon."}):!t&&e.length===0?jsx("div",{className:cn$1("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"No similar tokens found."}):jsxs("ul",{className:cn$1("flex flex-col",r),children:[e.map(n=>jsxs("li",{className:cn$1("flex cursor-pointer items-center gap-2 border-b border-default-50 px-3 py-2 last:border-0 hover:bg-default-50/60",!s&&"cursor-default"),onClick:s?()=>s(n):void 0,children:[jsx(Avatar,{src:n.image??void 0,name:(n.symbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[jsx("span",{className:"truncate text-[12px] text-foreground",children:n.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:n.name})]}),jsx("span",{className:"text-[11px] tabular-nums text-default-500",children:n.marketData?.marketCapInUsd?formatAmountUSDCompact(n.marketData.marketCapInUsd):"--"})]},`${n.chain}:${n.address}`)),t&&jsx("li",{className:"py-2 text-center text-[11px] text-default-400",children:"Loading\u2026"})]})}function Dn({chain:e,address:t,keyword:o,limit:s=10}){let r=!!o&&o.length>0,{data:n,isPending:i,isFetching:a}=useSearchTokensQuery({chains:[e],keyword:o,limit:s+1},{enabled:r});return {tokens:useMemo(()=>{if(!n)return [];let d=t.toLowerCase();return (n.data??[]).filter(c=>c.address.toLowerCase()!==d).slice(0,s)},[n,t,s]),isLoading:r&&(i||a),unavailable:!r}}function WN({chain:e,address:t,keyword:o,limit:s,onTokenClick:r,className:n}){let{tokens:i,isLoading:a,unavailable:l}=Dn({chain:e,address:t,keyword:o,limit:s});return jsx(Un,{className:n,tokens:i,isLoading:a,unavailable:l,onTokenClick:r})}function Wn({tokens:e=[],unavailable:t=true,onTokenClick:o,className:s}){return t?jsx("div",{className:cn$1("flex items-center justify-center p-4 text-center text-[11px] text-default-400",s),children:"Image-similarity search is coming soon."}):e.length===0?jsx("div",{className:cn$1("flex items-center justify-center p-4 text-center text-[11px] text-default-400",s),children:"No reused-image tokens found."}):jsx("div",{className:cn$1("flex flex-row flex-wrap gap-2 p-3",s),children:e.map(r=>jsx("button",{type:"button",onClick:o?()=>o(r):void 0,className:"flex size-10 items-center justify-center overflow-hidden rounded-full border border-default-100 transition-opacity hover:opacity-80",title:r.symbol,children:jsx(Avatar,{src:r.image??void 0,name:(r.symbol??"?").slice(0,1),className:"size-full bg-default-100 text-[10px] text-default-400",showFallback:true})},`${r.chain}:${r.address}`))})}function Bn(e){return {tokens:[],isLoading:false,unavailable:true}}function YN({chain:e,address:t,onTokenClick:o,className:s}){let{tokens:r,unavailable:n}=Bn();return jsx(Wn,{className:s,tokens:r,unavailable:n,onTokenClick:o})}function Kn({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:r}){let{t:n}=useTranslation(),[i,a]=useState(e?.join(", ")??""),[l,d]=useState(t?.join(", ")??"");useEffect(()=>{a(m=>{let u=Ot(m);return u===void 0&&e===void 0?m:u===void 0?e?.join(", ")??"":e===void 0?"":u.join("")===e.join("")?m:e.join(", ")});},[e]),useEffect(()=>{d(m=>{let u=Ot(m);return u===void 0&&t===void 0?m:u===void 0?t?.join(", ")??"":t===void 0?"":u.join("")===t.join("")?m:t.join(", ")});},[t]);let c=useCallback(m=>{a(m),o?.(Ot(m));},[o]),p=useCallback(m=>{d(m),s?.(Ot(m));},[s]);return jsxs("div",{className:cn$1("grid grid-cols-2 gap-3 px-4",r),children:[jsxs("div",{className:"flex flex-col gap-3",children:[jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.keywords.title")}),jsx(StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.keywords.placeholder"),value:i,onValueChange:c})]}),jsxs("div",{className:"flex flex-col gap-3",children:[jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.keywords.exclude.title")}),jsx(StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.keywords.placeholder"),value:l,onValueChange:p})]})]})}function Ot(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Xn({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:r}=useTranslation(),[n,i]=useState(t);useEffect(()=>{i(t);},[t]);let a=useMemo(()=>e.every(c=>n.includes(c)),[e,n]),l=useCallback(()=>{if(a){let c=[];i(c),o?.(c);}else {let c=[...e];i(c),o?.(c);}},[e,o,a]),d=useCallback(c=>()=>{if(n.includes(c)){let p=n.filter(m=>m!==c);i(p),o?.(p);}else {let p=[...n,c];i(p),o?.(p);}},[n,o]);return jsxs("div",{className:cn$1("flex flex-col gap-3 px-4",s),children:[jsxs("div",{className:"flex justify-between items-center",children:[jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.protocols.title")}),jsx(Button,{variant:"light",color:"default",size:"sm",radius:"full",onPress:l,children:r(a?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(c=>{let p=fe(c);return jsx(Button,{variant:"bordered",size:"sm",radius:"full",className:cn$1("w-fit h-6 px-2.5",p.text,p.bg5,"border",p.border,{"opacity-40 data-[hover=true]:!opacity-30":!n.includes(c)}),startContent:jsx(Image,{width:14,height:14,src:`/images/protocols/${c}.svg`,alt:formatTokenProtocolName(c)}),onPress:d(c),children:formatTokenProtocolName(c)},c)})})]})}function j({title:e,field:t,value:o,onChange:s}){let{t:r}=useTranslation(),[n,i]=useState(o?Mo(o).min:NaN),[a,l]=useState(o?Mo(o).max:NaN);useEffect(()=>{if(o===void 0)i(NaN),l(NaN);else {let{min:p,max:m}=Mo(o);i(p),l(m);}},[o]);let d=useCallback(p=>{i(p),s?.(ei(t,p,a));},[t,s,a]),c=useCallback(p=>{l(p),s?.(ei(t,n,p));},[t,s,n]);return jsxs("div",{className:"flex flex-col gap-1",children:[e&&jsx("h3",{className:"text-xs text-neutral",children:e}),jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsx(StyledNumberInput,{value:n,onValueChange:d,variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsx(StyledNumberInput,{value:a,onValueChange:c,variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function Mo(e){if(e.operator==="between"){let[t,o]=e.value;return {min:t,max:o}}return e.operator==="gte"?{min:e.value,max:NaN}:e.operator==="lte"?{min:NaN,max:e.value}:{min:NaN,max:NaN}}function ei(e,t,o){if(!(isNaN(t)&&isNaN(o)))return isNaN(t)?{field:e,operator:"lte",value:o}:isNaN(o)?{field:e,operator:"gte",value:t}:{field:e,operator:"between",value:[t,o]}}function oi({values:e,onValuesChange:t,className:o}){let{t:s}=useTranslation(),[r,n]=useState(e);useEffect(()=>{n(e);},[e]);let i=useCallback(a=>l=>{if(l===void 0){let d=(r??[]).filter(c=>c.field!==a);d=d.length>0?d:void 0,n(d),t?.(d);}else {let d=[...(r??[]).filter(c=>c.field!==a),l];n(d),t?.(d);}},[r,t]);return jsxs("div",{className:cn$1("flex flex-col gap-4",o),children:[jsx(j,{field:"holders",title:s("tokens.filters.stats.audits.holders"),value:r?.find(a=>a.field==="holders"),onChange:i("holders")}),jsx(j,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:r?.find(a=>a.field==="top10Ratio"),onChange:i("top10Ratio")}),jsx(j,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:r?.find(a=>a.field==="top100Ratio"),onChange:i("top100Ratio")}),jsx(j,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:r?.find(a=>a.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function ri({resolution:e,values:t,onValuesChange:o,className:s}){let{t:r}=useTranslation(),[n,i]=useState(t);useEffect(()=>{i(t);},[t]);let a=useCallback(l=>d=>{if(d===void 0){let c=(n??[]).filter(p=>p.field!==l);c=c.length>0?c:void 0,i(c),o?.(c);}else {let c=[...(n??[]).filter(p=>p.field!==l),d];i(c),o?.(c);}},[n,o]);return jsxs("div",{className:cn$1("flex flex-col gap-4",s),children:[jsx(j,{field:"marketCap",title:r("tokens.filters.stats.metrics.marketCap"),value:n?.find(l=>l.field==="marketCap"),onChange:a("marketCap")}),jsx(j,{field:"tvl",title:r("tokens.filters.stats.metrics.liquidity"),value:n?.find(l=>l.field==="tvl"),onChange:a("tvl")}),jsx(j,{field:`volumes${e}`,title:r("tokens.filters.stats.metrics.volumes",{resolution:r(`common.resolution.${e}`)}),value:n?.find(l=>l.field===`volumes${e}`),onChange:a(`volumes${e}`)}),jsx(j,{field:`trades${e}`,title:r("tokens.filters.stats.metrics.txns",{resolution:r(`common.resolution.${e}`)}),value:n?.find(l=>l.field===`trades${e}`),onChange:a(`trades${e}`)})]})}function di({resolution:e,values:t,onValuesChange:o,className:s}){let{t:r}=useTranslation(),[n,i]=useState("audits"),[a,l]=useState(t);useEffect(()=>{l(t);},[t]);let d=useCallback(m=>{l(m),o?.(m);},[o]),c=useMemo(()=>{let m=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(u=>m.includes(u.field))?.length??0},[a]),p=useMemo(()=>{let m=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(u=>m.includes(u.field)).length??0},[a,e]);return jsxs("div",{className:cn$1("flex flex-col gap-3 px-4",s),children:[jsxs(StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:n,onSelectionChange:i,children:[jsx(Tab,{title:c===0?r("tokens.filters.stats.audits"):jsx(StyledBadge,{color:"primary",size:"sm",content:c,shape:"circle",children:r("tokens.filters.stats.audits")})},"audits"),jsx(Tab,{title:p===0?r("tokens.filters.stats.metrics"):jsx(StyledBadge,{color:"primary",size:"sm",content:p,shape:"circle",children:r("tokens.filters.stats.metrics")})},"metrics")]}),jsx(oi,{values:a,onValuesChange:d,className:cn$1({hidden:n!=="audits"})}),jsx(ri,{values:a,onValuesChange:d,resolution:e,className:cn$1({hidden:n!=="metrics"})})]})}function _t({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:r}){let[n,i]=useState(ci(o?.filters,e));useEffect(()=>{i(ci(o?.filters,e));},[o?.filters,e]);let[a,l]=useState(o?.keywords);useEffect(()=>{l(o?.keywords);},[o?.keywords]);let[d,c]=useState(o?.excludeKeywords);useEffect(()=>{c(o?.excludeKeywords);},[o?.excludeKeywords]);let[p,m]=useState(o?.filters);useEffect(()=>{m(o?.filters);},[o?.filters]);let u=useCallback(f=>{i(f),s?.($t(e,f,a,d,p));},[e,a,d,p,s]),x=useCallback(f=>{l(f),s?.($t(e,n,f,d,p));},[e,n,d,p,s]),k=useCallback(f=>{c(f),s?.($t(e,n,a,f,p));},[e,n,a,p,s]),g=useCallback(f=>{m(f),s?.($t(e,n,a,d,f));},[e,n,a,d,s]);return jsxs("div",{className:cn$1("flex flex-col gap-4",r),children:[e&&e.length>0&&jsxs(Fragment,{children:[jsx(Xn,{protocols:e,selectedProtocols:n,onSelectedProtocolsChange:u}),jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}})]}),jsx(Kn,{keywords:a,excludeKeywords:d,onKeywordsChange:x,onExcludeKeywordsChange:k}),jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}}),jsx(di,{resolution:t,values:p,onValuesChange:g})]})}function ci(e,t){let o=e?.find(s=>s.field==="launchedFromProtocolFamily");return o?o.operator==="in"?o.value:(console.warn("invalid token protocols filter",o),[...t||[]]):[...t||[]]}function $t(e,t,o,s,r){let n=r?[...r.filter(i=>i.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(a=>t.includes(a))||n.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&s===void 0&&n.length===0?void 0:{keywords:o,excludeKeywords:s,filters:n.length>0?n:void 0}}function fi({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:r}=useTranslation(),{isOpen:n,onOpen:i,onClose:a,onOpenChange:l}=useDisclosure(),[d,c]=useState(o),p=useCallback(()=>{c(void 0);},[]),m=useCallback(()=>{s?.(d),a();},[d,s,a]);useEffect(()=>{c(o);},[n,o]);let u=useMemo(()=>Object.values(o||{}).every(x=>x===void 0),[o]);return jsxs(Fragment,{children:[jsxs("button",{type:"button",onClick:i,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",width:32,height:32,minHeight:32,cursor:"pointer",position:"relative"},children:[jsx(FilterIcon,{width:16,height:16,className:"text-zinc-400"}),!u&&jsx("span",{style:{position:"absolute",top:-2,right:-2,width:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),jsx(StyledModal,{isOpen:n,onOpenChange:l,size:"md",scrollBehavior:"inside",children:jsxs(ModalContent,{className:"w-full h-full",children:[jsx(ModalHeader,{className:"px-4 py-2",children:jsx("span",{className:"text-base font-semibold",children:r("tokens.filters.modal.title")})}),jsx(ModalBody,{className:"px-0 pt-0 pb-4",children:jsx(ScrollShadow,{children:jsx(_t,{protocols:e,resolution:t,filters:d,onFiltersChange:c,className:"pb-4"})})}),jsx(ModalFooter,{className:"px-4",children:jsxs("div",{className:"w-full flex justify-between items-center",children:[jsx(Button,{variant:"light",color:"default",size:"sm",radius:"full",startContent:jsx(RefreshIcon,{width:16,height:16}),onPress:p,children:r("common.reset")}),jsx(Button,{color:"primary",size:"sm",radius:"full",onPress:m,children:r("common.apply")})]})})]})})]})}var Op={display:"inline-flex",alignItems:"center",gap:8,borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",padding:"6px 12px",fontSize:14,fontWeight:700,color:"#d4d4d8",cursor:"pointer",transition:"all 0.15s",height:32},Up={position:"absolute",right:0,top:"100%",zIndex:20,marginTop:8,borderRadius:14,border:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"},Dp={height:1,background:"rgba(39,39,42,1)",margin:0};function hi({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:r}=useTranslation(),[n,i]=useState(false),a=useRef(null),[l,d]=useState(o),c=useCallback(()=>{d(void 0);},[]),p=useCallback(()=>{s?.(l),i(false);},[l,s]);useEffect(()=>{d(o);},[n,o]),useEffect(()=>{let u=x=>{a.current&&!a.current.contains(x.target)&&i(false);};return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]),useEffect(()=>{if(!n)return;let u=x=>{x.key==="Escape"&&i(false);};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[n]);let m=useMemo(()=>Object.values(o||{}).every(u=>u===void 0),[o]);return jsxs("div",{ref:a,style:{position:"relative"},children:[jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxs("button",{type:"button",style:Op,onMouseEnter:u=>{u.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:u=>{u.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>i(u=>!u),children:[jsx(FilterIcon,{width:16,height:16,className:"flex-none"}),jsx("span",{className:"hidden sm:block",children:r("tokens.listHeader.filter")}),jsx(Wp,{open:n})]}),!m&&jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),n&&jsxs("div",{style:{...Up,width:420},children:[jsx("div",{style:{padding:"16px 0"},children:jsx(ScrollShadow,{className:"w-full max-h-120 px-4",children:jsx(_t,{protocols:e,resolution:t,filters:l,onFiltersChange:d})})}),jsx("div",{style:Dp}),jsxs("div",{style:{padding:"12px 16px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[jsx(Button,{variant:"light",size:"sm",color:"default",radius:"full",startContent:jsx(RefreshIcon,{width:16,height:16}),onPress:c,children:r("common.reset")}),jsx(Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:p,children:r("common.apply")})]})]})]})}function Wp({open:e}){return jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"#71717a",transition:"transform 0.15s",transform:e?"rotate(180deg)":void 0},fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"m6 9 6 6 6-6"})})}function _L({popoverPlacement:e="bottom-end",...t}){let{isMobile:o}=useScreen();return o?jsx(fi,{...t}):jsx(hi,{placement:e,...t})}function Ti({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=useTranslation(),r=useCallback(n=>{t?.(n);},[t]);return jsx(StyledPlainTabs,{color:"primary",radius:"lg",selectedKey:e,onSelectionChange:r,"aria-label":"Select Resolution",classNames:{tabList:"gap-0",tab:"px-2",tabContent:"!text-zinc-500 group-data-[hover=true]:!text-foreground group-data-[selected=true]:!text-primary"},children:o.map(n=>jsx(Tab,{title:s(`common.resolution.${n}`)},n))})}var Yp={display:"inline-flex",alignItems:"center",gap:4,borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",padding:"0 10px",fontSize:12,fontWeight:500,color:"#d4d4d8",cursor:"pointer",height:32,minHeight:32},Zp={position:"absolute",left:0,top:"100%",zIndex:20,marginTop:6,borderRadius:14,border:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden",padding:"6px",minWidth:"100%"};function Si({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=useTranslation(),[r,n]=useState(false),i=useRef(null),a=useCallback(l=>{t?.(l),n(false);},[t]);return useEffect(()=>{if(!r)return;let l=c=>{i.current&&!i.current.contains(c.target)&&n(false);},d=c=>{c.key==="Escape"&&n(false);};return document.addEventListener("mousedown",l),document.addEventListener("keydown",d),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",d);}},[r]),jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxs("button",{type:"button",style:Yp,onClick:()=>n(l=>!l),children:[jsx("span",{children:e?s(`common.resolution.${e}`):"\u2014"}),jsx(ChevronDownIcon,{width:14,height:14,className:"text-zinc-500",style:{transition:"transform 0.15s",transform:r?"rotate(180deg)":void 0}})]}),r&&jsx("div",{style:Zp,children:o.map(l=>jsx("button",{type:"button",onClick:()=>a(l),className:cn$1("w-full text-left px-3 py-1.5 rounded-lg text-xs font-medium transition-colors cursor-pointer",l===e?"text-primary bg-primary/10":"text-zinc-400 hover:text-foreground hover:bg-zinc-800"),children:s(`common.resolution.${l}`)},l))})]})}function iw(e){let{isMobile:t}=useScreen();return t?jsx(Si,{...e}):jsx(Ti,{...e})}function Li({token:e}){let{t}=useTranslation(),o=useMemo(()=>e.marketData?.bluechipHoldingsRatio,[e.marketData?.bluechipHoldingsRatio]),s=useMemo(()=>o!==void 0&&new SafeBigNumber(o).gte(.1),[o]),r=useMemo(()=>o===void 0||new SafeBigNumber(o).lt(.05),[o]);return jsx(StyledTooltip,{content:t("tokens.bluechip.explained"),children:jsxs("div",{className:"flex items-center gap-2.5",children:[s&&jsx(HorsePowerHighIcon,{}),r&&jsx(HorsePowerLowIcon,{}),!s&&!r&&jsx(HorsePowerIcon,{}),jsx("span",{className:cn$1(s&&"text-bullish",!s&&!r&&"text-bearish",o===void 0&&"text-neutral"),children:formatPercent(o)})]})})}function wi({token:e}){let t=useCopyToClipboard(),{t:o}=useTranslation(),s=useCallback(n=>{n.preventDefault(),n.stopPropagation(),t(e.address,()=>toast.success(o("tokens.copied.address")));},[t,e.address,o]),r=useTickAge(e.createdAt);return jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsx(ie,{token:e,className:"w-10 h-10 sm:w-16 sm:h-16 flex-none"}),jsxs("div",{className:"flex-auto flex flex-col gap-1 min-w-0",children:[jsxs("div",{className:"flex items-center gap-1",children:[jsx("span",{className:"flex-none font-medium tracking-[-0.02em]",children:e.symbol}),jsx(StyledTooltip,{content:e.name,children:jsxs("div",{className:"flex-initial flex items-center gap-1 min-w-0 text-neutral hover:text-primary-200 cursor-pointer",onClick:s,children:[jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:e.name}),jsx(CopyIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"})]})})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("span",{className:"text-primary text-xs sm:text-sm font-medium",children:formatAge(r)}),e.socialMedias?.website&&jsx(Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(WebsiteIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.twitter&&jsx(Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(TwitterIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.telegram&&jsx(Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(TelegramIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.discord&&jsx(Link,{href:e.socialMedias.discord,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(DiscordIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),jsx(Link,{href:searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",children:jsx(SearchIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]})]})]})}var Hu={neutral:"text-zinc-400",bullish:"text-bullish",bearish:"text-bearish"};function pe({icon:e,value:t,tooltip:o,color:s="neutral"}){return jsx(StyledTooltip,{content:o,children:jsxs("span",{className:"inline-flex items-center text-xs tabular-nums",style:{gap:5},children:[jsx("span",{className:"flex-none",style:{color:"#52525b"},children:e}),jsx("span",{className:cn$1(Hu[s]),children:t})]})})}function Pi({token:e}){let{t}=useTranslation(),o=e.marketData,s=useMemo(()=>new SafeBigNumber(o?.top10HoldingsRatio).gte(.1),[o?.top10HoldingsRatio]),r=useMemo(()=>new SafeBigNumber(o?.devHoldingsRatio).gte(.1),[o?.devHoldingsRatio]),n=useMemo(()=>new SafeBigNumber(o?.sniperHoldingsRatio).gte(.1),[o?.sniperHoldingsRatio]),i=useMemo(()=>new SafeBigNumber(o?.insiderHoldingsRatio).gte(.1),[o?.insiderHoldingsRatio]),a=useMemo(()=>new SafeBigNumber(o?.bundleHoldingsRatio).gte(.1),[o?.bundleHoldingsRatio]),l=(d,c)=>c===void 0?"neutral":d?"bearish":"bullish";return jsxs("div",{className:"w-full h-full flex gap-5 justify-start items-center",children:[jsxs("div",{className:"flex flex-col gap-1",children:[jsx(pe,{icon:jsx(PeopleIcon,{width:14,height:14}),value:formatAmount(o?.holders),tooltip:t("tokens.tokenInfo.holders")}),jsx(pe,{icon:jsx(KlineCandlesIcon,{width:14,height:14}),value:formatAmount(o?.proHolders),tooltip:t("tokens.tokenInfo.proHolders")}),jsx(pe,{icon:jsx(StarIcon,{width:14,height:14}),value:formatAmount(o?.kolHolders),tooltip:t("tokens.tokenInfo.kolHolders")})]}),jsxs("div",{className:"flex flex-col gap-1",children:[jsx(pe,{icon:jsx(UserWithStarBadgeIcon,{width:14,height:14}),value:formatPercent(o?.top10HoldingsRatio),tooltip:t("tokens.tokenInfo.top10HoldingsRatio"),color:l(s,o?.top10HoldingsRatio)}),jsx(pe,{icon:jsx(CookIcon,{width:14,height:14}),value:formatPercent(o?.devHoldingsRatio),tooltip:t("tokens.tokenInfo.devHoldingsRatio"),color:l(r,o?.devHoldingsRatio)}),jsx(pe,{icon:jsx(SniperIcon,{width:14,height:14}),value:formatPercent(o?.sniperHoldingsRatio),tooltip:t("tokens.tokenInfo.sniperHoldingsRatio"),color:l(n,o?.sniperHoldingsRatio)})]}),jsxs("div",{className:"flex flex-col gap-1",children:[jsx(pe,{icon:jsx(RatIcon,{width:14,height:14}),value:formatPercent(o?.insiderHoldingsRatio),tooltip:t("tokens.tokenInfo.insiderHoldingsRatio"),color:l(i,o?.insiderHoldingsRatio)}),jsx(pe,{icon:jsx(BundlesIcon,{width:14,height:14}),value:formatPercent(o?.bundleHoldingsRatio),tooltip:t("tokens.tokenInfo.bundleHoldingsRatio"),color:l(a,o?.bundleHoldingsRatio)})]})]})}function Ri({token:e}){let t=useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsx(Fragment,{children:formatAmountUSD(t)})}function Ai({token:e}){let t=useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsx(Fragment,{children:formatAmountUSD(t)})}function Hi({token:e,resolution:t}){let o=useMemo(()=>e.marketData?.priceInUsd,[e]),s=useMemo(()=>e.stats?.[t]?.priceChange,[e,t]),r=useMemo(()=>s?new SafeBigNumber(s).abs().toString():void 0,[s]),n=useMemo(()=>s&&new SafeBigNumber(s).gte(0),[s]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatPriceUSD(o)}),jsxs("span",{className:cn$1("inline-flex gap-1 items-center text-xs",n?"text-bullish":"text-bearish"),children:[n?jsx(TriangleUpIcon,{width:10,height:10}):jsx(TriangleDownIcon,{width:10,height:10}),jsx("span",{children:formatPercent(r)})]})]})}function Oi({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.traders,[e.stats?.[t]?.traders]),s=useMemo(()=>e.stats?.[t]?.buyers,[e.stats?.[t]?.buyers]),r=useMemo(()=>e.stats?.[t]?.sellers,[e.stats?.[t]?.sellers]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatAmount(o)}),jsxs("div",{className:"flex gap-1 text-xs",children:[jsx("span",{className:"text-bullish",children:formatAmount(s)}),"/",jsx("span",{className:"text-bearish",children:formatAmount(r)})]})]})}function Di({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.trades,[e.stats?.[t]?.trades]),s=useMemo(()=>e.stats?.[t]?.buys,[e.stats?.[t]?.buys]),r=useMemo(()=>e.stats?.[t]?.sells,[e.stats?.[t]?.sells]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatAmount(o)}),jsxs("div",{className:"flex gap-1 text-xs",children:[jsx("span",{className:"text-bullish",children:formatAmount(s)}),"/",jsx("span",{className:"text-bearish",children:formatAmount(r)})]})]})}function Bi({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.volumesInUsd,[e.stats?.[t]?.volumesInUsd]),s=useMemo(()=>e.stats?.[t]?.buyVolumesInUsd,[e.stats?.[t]?.buyVolumesInUsd]),r=useMemo(()=>e.stats?.[t]?.sellVolumesInUsd,[e.stats?.[t]?.sellVolumesInUsd]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatAmountUSD(o)}),jsxs("div",{className:"flex gap-1 text-xs",children:[jsx("span",{className:"text-bullish",children:formatAmountUSD(s)}),"/",jsx("span",{className:"text-bearish",children:formatAmountUSD(r)})]})]})}var Qu=`
22
22
  @keyframes tklShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
23
- `,Ju={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:"tklShimmer 1.8s ease-in-out infinite",borderRadius:6};function I(e,t,o,s){return {...Ju,animationDelay:`${e}ms`,width:t,height:o,...s}}var Wi=10;function Vi({rowHeight:e,hasActions:t}){return jsxs(Fragment,{children:[jsx("style",{children:Gu}),Array.from({length:Wi}).map((o,s)=>jsx(Xu,{index:s,rowHeight:e,hasActions:t,isLast:s===Wi-1},s))]})}function Xu({index:e,rowHeight:t,hasActions:o,isLast:s}){let r=e*80;return jsxs("div",{style:{display:"flex",alignItems:"center",height:t,borderBottom:s?void 0:"1px solid rgba(39,39,42,0.3)"},children:[jsxs("div",{style:{width:320,padding:"0 12px 0 24px",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[jsx("div",{style:I(r,64,64,{borderRadius:8,flexShrink:0})}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8,flex:1},children:[jsx("div",{style:I(r+30,"60%",20)}),jsx("div",{style:I(r+60,"80%",16)})]})]}),jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(r+20,72,20)}),jsx("div",{style:I(r+40,52,16)})]}),jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:I(r+30,64,20)})}),jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:I(r+40,60,20)})}),jsxs("div",{style:{width:138,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(r+50,72,20)}),jsx("div",{style:I(r+70,100,16)})]}),jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(r+60,48,20)}),jsx("div",{style:I(r+80,80,16)})]}),jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(r+70,40,20)}),jsx("div",{style:I(r+90,72,16)})]}),jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",alignItems:"center",gap:10},children:[jsx("div",{style:I(r+80,20,20,{borderRadius:4})}),jsx("div",{style:I(r+90,52,20)})]}),jsxs("div",{style:{width:308,padding:"0 12px",display:"flex",alignItems:"center",gap:20},children:[jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:I(r+80,52,16)}),jsx("div",{style:I(r+100,40,16)}),jsx("div",{style:I(r+120,36,16)})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:I(r+90,48,16)}),jsx("div",{style:I(r+110,40,16)}),jsx("div",{style:I(r+130,40,16)})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:I(r+100,40,16)}),jsx("div",{style:I(r+120,36,16)})]})]}),o&&jsx("div",{style:{width:124,padding:"0 24px 0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:I(r+100,97,32,{borderRadius:8})})})]})}function _e({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:r,sortDirections:n,onSortChange:i,height:a=600,itemHeight:l=88,itemHeightMobile:d=72,className:c}){let{isMobile:p}=useScreen(),{t:m}=useTranslation(),u=useCallback(f=>h=>{h.preventDefault(),h.stopPropagation(),r?.(f);},[r]),[x,k]=useState(n??{});useEffect(()=>{k(n??{});},[n]);let g=useCallback(f=>h=>{let b={[f]:h};k(b),i?.(b);},[i]);return jsxs(StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:cn$1("h-full mx-auto",c??(s?"max-w-379 sm:max-w-403":"max-w-348 sm:max-w-372")),classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},style:{background:"rgba(24,24,27,0.4)",borderColor:"rgba(39,39,42,0.6)"},maxTableHeight:a,rowHeight:p?d:l,"aria-label":"Tokens",children:[jsx(TableHeader,{children:[jsx(TableColumn,{textValue:m("tokens.listHeader.token"),width:p?224:320,children:m("tokens.listHeader.token")},"token"),jsx(TableColumn,{textValue:m("tokens.listHeader.price"),width:128,children:jsxs("div",{className:"flex items-center gap-1",children:[jsx(Sortable,{sort:x.price,onSortChange:g("price"),children:m("tokens.listHeader.price")}),jsx("span",{children:"/"}),jsx(Sortable,{sort:x[`priceChange${t}`],onSortChange:g(`priceChange${t}`),children:m("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsx(TableColumn,{textValue:m("tokens.listHeader.marketCap"),width:106,children:jsx(Sortable,{sort:x.marketCap,onSortChange:g("marketCap"),children:m("tokens.listHeader.marketCap")})},"marketCap"),jsx(TableColumn,{textValue:m("tokens.listHeader.liquidity"),width:106,children:jsx(Sortable,{sort:x.tvl,onSortChange:g("tvl"),children:m("tokens.listHeader.liquidity")})},"liquidity"),jsx(TableColumn,{textValue:m("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsx(Sortable,{sort:x[`volumes${t}`],onSortChange:g(`volumes${t}`),children:m("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsx(TableColumn,{textValue:m("tokens.listHeader.txs",{resolution:t}),width:126,children:jsx(Sortable,{sort:x[`trades${t}`],onSortChange:g(`trades${t}`),children:m("tokens.listHeader.txs",{resolution:t})})},"txs"),jsx(TableColumn,{textValue:m("tokens.listHeader.traders",{resolution:t}),width:126,children:jsx(Sortable,{sort:x[`traders${t}`],onSortChange:g(`traders${t}`),children:m("tokens.listHeader.traders",{resolution:t})})},"traders"),jsx(TableColumn,{textValue:m("tokens.listHeader.bluechip"),width:128,children:m("tokens.listHeader.bluechip")},"bluechip"),jsx(TableColumn,{textValue:m("tokens.listHeader.tokenInfo"),width:308,children:m("tokens.listHeader.tokenInfo")},"tokenInfo"),s?jsx(TableColumn,{textValue:m("tokens.listHeader.actions"),width:124,align:"end",children:m("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean)}),jsx(TableBody,{items:o?[]:e,isLoading:o,loadingContent:jsx(Vi,{rowHeight:p?d:l,hasActions:!!s}),emptyContent:jsxs("div",{children:[jsx(EmptyIcon,{className:"w-10 h-10 mx-auto text-neutral"}),jsx("p",{className:"mt-2 text-sm text-neutral text-center",children:m("common.empty")})]}),children:f=>jsx(TableRow,{onClick:r?u(f):void 0,children:[jsx(TableCell,{children:jsx(wi,{token:f,resolution:t})},"token"),jsx(TableCell,{children:jsx(Hi,{token:f,resolution:t})},"price"),jsx(TableCell,{children:jsx(Ri,{token:f,resolution:t})},"marketCap"),jsx(TableCell,{children:jsx(Ai,{token:f,resolution:t})},"liquidity"),jsx(TableCell,{children:jsx(Ei,{token:f,resolution:t})},"volumes"),jsx(TableCell,{children:jsx(Di,{token:f,resolution:t})},"trades"),jsx(TableCell,{children:jsx(Oi,{token:f,resolution:t})},"traders"),jsx(TableCell,{children:jsx(Pi,{token:f,resolution:t})},"bluechip"),jsx(TableCell,{children:jsx(Li,{token:f,resolution:t})},"tokenInfo"),s?jsx(TableCell,{children:jsx(s,{token:f,resolution:t})},"actions"):void 0].filter(Boolean)},f.address)})]})}var uf=80;function ff(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function qi(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,uf)}function Qi({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=useRef(r),[i,a]=useState(true);useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),d([]),n.current=r);},[r]);let[l,d]=useState([]),{data:c,isPending:p}=useNewTokensQuery(r,{refetchInterval:s});useEffect(()=>{c&&(d(x=>{let k=[...x];for(let g of c){let f=k.findIndex(h=>h.address===g.address);f>=0?k[f]=M(k[f],g):k.push(g);}return qi(k)}),a(false));},[c]);let m=useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0?(f=true,g[b]=M(g[b],h)):(f=true,g.push(ff(h)));}return f?qi(g):k});},[]);useNewTokensSubscription({chain:e},m);let u=useMemo(()=>!!(p||i),[p,i]);return {tokens:l,isLoading:u}}function VL({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,c]=useState();useEffect(()=>{c(void 0);},[e]);let p=useMemo(()=>{let x=Object.keys(d??{})[0],k=d?.[x];return {...o,...x&&k?{sortBy:x,sortDirection:k}:void 0}},[o,d]),{tokens:m,isLoading:u}=Qi({chain:e,resolution:t,options:p});return jsx(_e,{tokens:m,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:d,onSortChange:c,className:l})}function Yi({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=useRef(r),[i,a]=useState(true);useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),d([]),n.current=r);},[r]);let[l,d]=useState([]),{data:c,isPending:p}=useStockTokensQuery(r,{refetchInterval:s});useEffect(()=>{c&&(d(x=>{let k=[];for(let g of c){let f=x.find(h=>h.address===g.address);k.push(f?M(f,g):g);}return k}),a(false));},[c]);let m=useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0&&(f=true,g[b]=M(g[b],h));}return f?g:k});},[]);useStockTokensSubscription({chain:e},m);let u=useMemo(()=>!!(p||i),[p,i]);return {tokens:l,isLoading:u}}function jL({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,c]=useState();useEffect(()=>{c(void 0);},[e]);let p=useMemo(()=>{let x=Object.keys(d??{})[0],k=d?.[x];return {...o,...x&&k?{sortBy:x,sortDirection:k}:void 0}},[o,d]),{tokens:m,isLoading:u}=Yi({chain:e,resolution:t,options:p});return jsx(_e,{tokens:m,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:d,onSortChange:c,className:l})}function a1({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,c]=useState();useEffect(()=>{c(void 0);},[e]);let p=useMemo(()=>{let x=Object.keys(d??{})[0],k=d?.[x];return {...o,...x&&k?{sortBy:x,sortDirection:k}:void 0}},[o,d]),{tokens:m,isLoading:u}=Tt({chain:e,resolution:t,options:p});return jsx(_e,{tokens:m,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:d,onSortChange:c,className:l})}var Uf=15e3;function Df({chain:e,addresses:t,pollMs:o=Uf}){let s=t.length>0,[r,n]=useState({}),i=useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});useEffect(()=>{i.data&&n(p=>{let m={};for(let u of i.data){let x=p[u.address];m[u.address]=x?M(x,u):u;}return m});},[i.data]);let{subscribeClient:a}=useDexClient(),l=useRef(""),d=t.slice().sort().join(",");d!==l.current&&(l.current=d),useEffect(()=>{if(!s)return;let p=[];for(let m of t)p.push(a.subscribeToken(e,m,u=>{n(x=>{let k=x;for(let g of u){let f=k[g.address];if(!f)continue;let h=M(f,g);h!==f&&(k=k===x?{...x}:k,k[g.address]=h);}return k});}));return ()=>{for(let m of p)m.unsubscribe();}},[a,e,d,s]);let c=useCallback(async()=>{await i.refetch();},[i.refetch]);return {tokens:r,isPending:i.isPending,isFetching:i.isFetching,isError:i.isError,isSuccess:i.isSuccess,error:i.error,refetch:c}}export{ln as DEFAULT_FLIP_HOVER_RESOLUTIONS,Pd as HolderTagBadge,Nt as HolderTagBadgeList,VL as NewTokenListWidget,tx as PulseFinalStretchListWidget,Ae as PulseList,Go as PulseListHeader,sr as PulseListItem,Xo as PulseListItemSkeleton,Kg as PulseMigratedListWidget,Hg as PulseNewListWidget,so as SEARCH_MODAL_ID,Pr as SearchHistoryUI,wr as SearchHistoryWidget,Lr as SearchInputUI,Ek as SearchModal,xt as SearchResultItemUI,kt as SearchResultListHeader,bt as SearchResultListSkeleton,Ur as SearchResultListWidget,Gk as SearchTokensButton,zr as SearchWidget,jL as StockTokenListWidget,io as TRADER_TAG_META,Xs as TokenAbout,Bv as TokenAboutWidget,Os as TokenActivitiesList,bT as TokenActivitiesListWidget,ie as TokenAvatar,ns as TokenBasicInfo,Ls as TokenBasicInfoWidget,nn as TokenCategories,R0 as TokenCategoriesWidget,on as TokenCexListing,g0 as TokenCexListingWidget,Hn as TokenChartBanner,NN as TokenChartBannerWidget,os as TokenDetailHeader,Hy as TokenDetailHeaderWidget,Cn as TokenDevTokensList,dN as TokenDevTokensListWidget,Pn as TokenDevTokensSummary,as as TokenHoldersCount,ds as TokenHoldersCountWidget,Is as TokenHoldersList,eT as TokenHoldersListWidget,en as TokenLiquidities,t0 as TokenLiquiditiesWidget,_e as TokenList,$t as TokenListFilter,fi as TokenListFilterModal,hi as TokenListFilterPopover,zP as TokenListFilterWidget,Ti as TokenListResolutionSelectorDesktop,Si as TokenListResolutionSelectorMobile,lw as TokenListResolutionSelectorWidget,ps as TokenMarketCap,fs as TokenMarketCapWidget,xn as TokenOrdersList,LS as TokenOrdersListWidget,pn as TokenPositionsList,cS as TokenPositionsListWidget,ks as TokenPrice,bs as TokenPriceWidget,Bn as TokenReusedImageList,jN as TokenReusedImageListWidget,qs as TokenSecurity,Nv as TokenSecurityWidget,Un as TokenSimilarTokens,WN as TokenSimilarTokensWidget,ys as TokenSocialMedia,vs as TokenSocialMediaWidget,dn as TokenStatsFlipBase,cn as TokenStatsFlipHover,q0 as TokenStatsFlipWidget,Tn as TokenTopTradersList,QS as TokenTopTradersListWidget,Ws as TokenTradersOverview,FT as TokenTradersOverviewWidget,_s as TokenTransactionsOverview,JT as TokenTransactionsOverviewWidget,Cs as TokenVolume,ws as TokenVolumeWidget,Ks as TokenVolumesOverview,cv as TokenVolumesOverviewWidget,Cd as TraderTagBadge,Xr as TraderTagBadgeList,a1 as TrendingTokenListWidget,Qi as useNewTokensScript,vr as usePulseFinalStretchListScript,kr as usePulseMigratedListScript,pr as usePulseNewListScript,gt as useSearchHistory,Fr as useSearchResultListScript,$r as useSearchScript,Yi as useStockTokensScript,Ys as useTokenAboutScript,Bs as useTokenActivitiesListScript,Zh as useTokenBasicInfoScript,an as useTokenCategoriesScript,rn as useTokenCexListingScript,On as useTokenChartBannerScript,rs as useTokenDetailHeaderScript,Rn as useTokenDevTokensListScript,ls as useTokenHoldersCountScript,Fs as useTokenHoldersListScript,tn as useTokenLiquiditiesScript,us as useTokenMarketCapScript,yn as useTokenOrdersListScript,gn as useTokenPositionsListScript,hs as useTokenPriceScript,En as useTokenReusedImageListScript,Qs as useTokenSecurityScript,Dn as useTokenSimilarTokensScript,Ts as useTokenSocialMediaScript,mn as useTokenStatsFlipScript,Sn as useTokenTopTradersListScript,Vs as useTokenTradersOverviewScript,$s as useTokenTransactionsOverviewScript,Ps as useTokenVolumeScript,zs as useTokenVolumesOverviewScript,Df as useTokens,Tt as useTrendingTokensScript,ta as version};//# sourceMappingURL=index.mjs.map
23
+ `,Gu={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:"tklShimmer 1.8s ease-in-out infinite",borderRadius:6};function M(e,t,o,s){return {...Gu,animationDelay:`${e}ms`,width:t,height:o,...s}}var Ei=10;function Vi({rowHeight:e,hasActions:t}){return jsxs(Fragment,{children:[jsx("style",{children:Qu}),Array.from({length:Ei}).map((o,s)=>jsx(Ju,{index:s,rowHeight:e,hasActions:t,isLast:s===Ei-1},s))]})}function Ju({index:e,rowHeight:t,hasActions:o,isLast:s}){let r=e*80;return jsxs("div",{style:{display:"flex",alignItems:"center",height:t,borderBottom:s?void 0:"1px solid rgba(39,39,42,0.3)"},children:[jsxs("div",{style:{width:320,padding:"0 12px 0 24px",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[jsx("div",{style:M(r,64,64,{borderRadius:8,flexShrink:0})}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8,flex:1},children:[jsx("div",{style:M(r+30,"60%",20)}),jsx("div",{style:M(r+60,"80%",16)})]})]}),jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:M(r+20,72,20)}),jsx("div",{style:M(r+40,52,16)})]}),jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:M(r+30,64,20)})}),jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:M(r+40,60,20)})}),jsxs("div",{style:{width:138,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:M(r+50,72,20)}),jsx("div",{style:M(r+70,100,16)})]}),jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:M(r+60,48,20)}),jsx("div",{style:M(r+80,80,16)})]}),jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:M(r+70,40,20)}),jsx("div",{style:M(r+90,72,16)})]}),jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",alignItems:"center",gap:10},children:[jsx("div",{style:M(r+80,20,20,{borderRadius:4})}),jsx("div",{style:M(r+90,52,20)})]}),jsxs("div",{style:{width:308,padding:"0 12px",display:"flex",alignItems:"center",gap:20},children:[jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:M(r+80,52,16)}),jsx("div",{style:M(r+100,40,16)}),jsx("div",{style:M(r+120,36,16)})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:M(r+90,48,16)}),jsx("div",{style:M(r+110,40,16)}),jsx("div",{style:M(r+130,40,16)})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:M(r+100,40,16)}),jsx("div",{style:M(r+120,36,16)})]})]}),o&&jsx("div",{style:{width:124,padding:"0 24px 0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:M(r+100,97,32,{borderRadius:8})})})]})}function $e({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:r,sortDirections:n,onSortChange:i,height:a=600,itemHeight:l=88,itemHeightMobile:d=72,className:c}){let{isMobile:p}=useScreen(),{t:m}=useTranslation(),u=useCallback(f=>h=>{h.preventDefault(),h.stopPropagation(),r?.(f);},[r]),[x,k]=useState(n??{});useEffect(()=>{k(n??{});},[n]);let g=useCallback(f=>h=>{let b={[f]:h};k(b),i?.(b);},[i]);return jsxs(StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:cn$1("h-full mx-auto",c??(s?"max-w-379 sm:max-w-403":"max-w-348 sm:max-w-372")),classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},style:{background:"rgba(24,24,27,0.4)",borderColor:"rgba(39,39,42,0.6)"},maxTableHeight:a,rowHeight:p?d:l,"aria-label":"Tokens",children:[jsx(TableHeader,{children:[jsx(TableColumn,{textValue:m("tokens.listHeader.token"),width:p?224:320,children:m("tokens.listHeader.token")},"token"),jsx(TableColumn,{textValue:m("tokens.listHeader.price"),width:128,children:jsxs("div",{className:"flex items-center gap-1",children:[jsx(Sortable,{sort:x.price,onSortChange:g("price"),children:m("tokens.listHeader.price")}),jsx("span",{children:"/"}),jsx(Sortable,{sort:x[`priceChange${t}`],onSortChange:g(`priceChange${t}`),children:m("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsx(TableColumn,{textValue:m("tokens.listHeader.marketCap"),width:106,children:jsx(Sortable,{sort:x.marketCap,onSortChange:g("marketCap"),children:m("tokens.listHeader.marketCap")})},"marketCap"),jsx(TableColumn,{textValue:m("tokens.listHeader.liquidity"),width:106,children:jsx(Sortable,{sort:x.tvl,onSortChange:g("tvl"),children:m("tokens.listHeader.liquidity")})},"liquidity"),jsx(TableColumn,{textValue:m("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsx(Sortable,{sort:x[`volumes${t}`],onSortChange:g(`volumes${t}`),children:m("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsx(TableColumn,{textValue:m("tokens.listHeader.txs",{resolution:t}),width:126,children:jsx(Sortable,{sort:x[`trades${t}`],onSortChange:g(`trades${t}`),children:m("tokens.listHeader.txs",{resolution:t})})},"txs"),jsx(TableColumn,{textValue:m("tokens.listHeader.traders",{resolution:t}),width:126,children:jsx(Sortable,{sort:x[`traders${t}`],onSortChange:g(`traders${t}`),children:m("tokens.listHeader.traders",{resolution:t})})},"traders"),jsx(TableColumn,{textValue:m("tokens.listHeader.bluechip"),width:128,children:m("tokens.listHeader.bluechip")},"bluechip"),jsx(TableColumn,{textValue:m("tokens.listHeader.tokenInfo"),width:308,children:m("tokens.listHeader.tokenInfo")},"tokenInfo"),s?jsx(TableColumn,{textValue:m("tokens.listHeader.actions"),width:124,align:"end",children:m("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean)}),jsx(TableBody,{items:o?[]:e,isLoading:o,loadingContent:jsx(Vi,{rowHeight:p?d:l,hasActions:!!s}),emptyContent:jsxs("div",{children:[jsx(EmptyIcon,{className:"w-10 h-10 mx-auto text-neutral"}),jsx("p",{className:"mt-2 text-sm text-neutral text-center",children:m("common.empty")})]}),children:f=>jsx(TableRow,{onClick:r?u(f):void 0,children:[jsx(TableCell,{children:jsx(wi,{token:f,resolution:t})},"token"),jsx(TableCell,{children:jsx(Hi,{token:f,resolution:t})},"price"),jsx(TableCell,{children:jsx(Ai,{token:f,resolution:t})},"marketCap"),jsx(TableCell,{children:jsx(Ri,{token:f,resolution:t})},"liquidity"),jsx(TableCell,{children:jsx(Bi,{token:f,resolution:t})},"volumes"),jsx(TableCell,{children:jsx(Di,{token:f,resolution:t})},"trades"),jsx(TableCell,{children:jsx(Oi,{token:f,resolution:t})},"traders"),jsx(TableCell,{children:jsx(Li,{token:f,resolution:t})},"bluechip"),jsx(TableCell,{children:jsx(Pi,{token:f,resolution:t})},"tokenInfo"),s?jsx(TableCell,{children:jsx(s,{token:f,resolution:t})},"actions"):void 0].filter(Boolean)},f.address)})]})}var pf=80;function uf(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function qi(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,pf)}function Qi({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=useRef(r),[i,a]=useState(true);useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),d([]),n.current=r);},[r]);let[l,d]=useState([]),{data:c,isPending:p}=useNewTokensQuery(r,{refetchInterval:s});useEffect(()=>{c&&(d(x=>{let k=[...x];for(let g of c){let f=k.findIndex(h=>h.address===g.address);f>=0?k[f]=I(k[f],g):k.push(g);}return qi(k)}),a(false));},[c]);let m=useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0?(f=true,g[b]=I(g[b],h)):(f=true,g.push(uf(h)));}return f?qi(g):k});},[]);useNewTokensSubscription({chain:e},m);let u=useMemo(()=>!!(p||i),[p,i]);return {tokens:l,isLoading:u}}function BP({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,c]=useState();useEffect(()=>{c(void 0);},[e]);let p=useMemo(()=>{let x=Object.keys(d??{})[0],k=d?.[x];return {...o,...x&&k?{sortBy:x,sortDirection:k}:void 0}},[o,d]),{tokens:m,isLoading:u}=Qi({chain:e,resolution:t,options:p});return jsx($e,{tokens:m,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:d,onSortChange:c,className:l})}function Yi({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=useRef(r),[i,a]=useState(true);useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),d([]),n.current=r);},[r]);let[l,d]=useState([]),{data:c,isPending:p}=useStockTokensQuery(r,{refetchInterval:s});useEffect(()=>{c&&(d(x=>{let k=[];for(let g of c){let f=x.find(h=>h.address===g.address);k.push(f?I(f,g):g);}return k}),a(false));},[c]);let m=useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0&&(f=true,g[b]=I(g[b],h));}return f?g:k});},[]);useStockTokensSubscription({chain:e},m);let u=useMemo(()=>!!(p||i),[p,i]);return {tokens:l,isLoading:u}}function YP({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,c]=useState();useEffect(()=>{c(void 0);},[e]);let p=useMemo(()=>{let x=Object.keys(d??{})[0],k=d?.[x];return {...o,...x&&k?{sortBy:x,sortDirection:k}:void 0}},[o,d]),{tokens:m,isLoading:u}=Yi({chain:e,resolution:t,options:p});return jsx($e,{tokens:m,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:d,onSortChange:c,className:l})}function n1({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,c]=useState();useEffect(()=>{c(void 0);},[e]);let p=useMemo(()=>{let x=Object.keys(d??{})[0],k=d?.[x];return {...o,...x&&k?{sortBy:x,sortDirection:k}:void 0}},[o,d]),{tokens:m,isLoading:u}=Tt({chain:e,resolution:t,options:p});return jsx($e,{tokens:m,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:d,onSortChange:c,className:l})}var Of=15e3;function Uf({chain:e,addresses:t,pollMs:o=Of}){let s=t.length>0,[r,n]=useState({}),i=useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});useEffect(()=>{i.data&&n(p=>{let m={};for(let u of i.data){let x=p[u.address];m[u.address]=x?I(x,u):u;}return m});},[i.data]);let{subscribeClient:a}=useDexClient(),l=useRef(""),d=t.slice().sort().join(",");d!==l.current&&(l.current=d),useEffect(()=>{if(!s)return;let p=[];for(let m of t)p.push(a.subscribeToken(e,m,u=>{n(x=>{let k=x;for(let g of u){let f=k[g.address];if(!f)continue;let h=I(f,g);h!==f&&(k=k===x?{...x}:k,k[g.address]=h);}return k});}));return ()=>{for(let m of p)m.unsubscribe();}},[a,e,d,s]);let c=useCallback(async()=>{await i.refetch();},[i.refetch]);return {tokens:r,isPending:i.isPending,isFetching:i.isFetching,isError:i.isError,isSuccess:i.isSuccess,error:i.error,refetch:c}}export{ln as DEFAULT_FLIP_HOVER_RESOLUTIONS,Cd as HolderTagBadge,Nt as HolderTagBadgeList,BP as NewTokenListWidget,jg as PulseFinalStretchListWidget,Re as PulseList,Go as PulseListHeader,sr as PulseListItem,Xo as PulseListItemSkeleton,$g as PulseMigratedListWidget,Mg as PulseNewListWidget,so as SEARCH_MODAL_ID,Lr as SearchHistoryUI,wr as SearchHistoryWidget,Pr as SearchInputUI,Dk as SearchModal,xt as SearchResultItemUI,kt as SearchResultListHeader,bt as SearchResultListSkeleton,Ur as SearchResultListWidget,qk as SearchTokensButton,zr as SearchWidget,YP as StockTokenListWidget,io as TRADER_TAG_META,Xs as TokenAbout,Uv as TokenAboutWidget,Os as TokenActivitiesList,kT as TokenActivitiesListWidget,ie as TokenAvatar,ns as TokenBasicInfo,Ps as TokenBasicInfoWidget,nn as TokenCategories,P0 as TokenCategoriesWidget,on as TokenCexListing,u0 as TokenCexListingWidget,Hn as TokenChartBanner,vN as TokenChartBannerWidget,os as TokenDetailHeader,My as TokenDetailHeaderWidget,Cn as TokenDevTokensList,aN as TokenDevTokensListWidget,Ln as TokenDevTokensSummary,as as TokenHoldersCount,ds as TokenHoldersCountWidget,Ms as TokenHoldersList,Zy as TokenHoldersListWidget,en as TokenLiquidities,jv as TokenLiquiditiesWidget,$e as TokenList,_t as TokenListFilter,fi as TokenListFilterModal,hi as TokenListFilterPopover,_L as TokenListFilterWidget,Ti as TokenListResolutionSelectorDesktop,Si as TokenListResolutionSelectorMobile,iw as TokenListResolutionSelectorWidget,ps as TokenMarketCap,fs as TokenMarketCapWidget,xn as TokenOrdersList,LS as TokenOrdersListWidget,pn as TokenPositionsList,lS as TokenPositionsListWidget,ks as TokenPrice,bs as TokenPriceWidget,Wn as TokenReusedImageList,YN as TokenReusedImageListWidget,qs as TokenSecurity,vv as TokenSecurityWidget,Un as TokenSimilarTokens,WN as TokenSimilarTokensWidget,ys as TokenSocialMedia,vs as TokenSocialMediaWidget,dn as TokenStatsFlipBase,cn as TokenStatsFlipHover,K0 as TokenStatsFlipWidget,Tn as TokenTopTradersList,zS as TokenTopTradersListWidget,Es as TokenTradersOverview,IT as TokenTradersOverviewWidget,$s as TokenTransactionsOverview,QT as TokenTransactionsOverviewWidget,Cs as TokenVolume,ws as TokenVolumeWidget,Ks as TokenVolumesOverview,lv as TokenVolumesOverviewWidget,Nd as TraderTagBadge,Xr as TraderTagBadgeList,n1 as TrendingTokenListWidget,Qi as useNewTokensScript,vr as usePulseFinalStretchListScript,kr as usePulseMigratedListScript,pr as usePulseNewListScript,gt as useSearchHistory,Fr as useSearchResultListScript,_r as useSearchScript,Yi as useStockTokensScript,Ys as useTokenAboutScript,Ws as useTokenActivitiesListScript,Xh as useTokenBasicInfoScript,an as useTokenCategoriesScript,rn as useTokenCexListingScript,On as useTokenChartBannerScript,rs as useTokenDetailHeaderScript,An as useTokenDevTokensListScript,ls as useTokenHoldersCountScript,Fs as useTokenHoldersListScript,tn as useTokenLiquiditiesScript,us as useTokenMarketCapScript,yn as useTokenOrdersListScript,gn as useTokenPositionsListScript,hs as useTokenPriceScript,Bn as useTokenReusedImageListScript,Qs as useTokenSecurityScript,Dn as useTokenSimilarTokensScript,Ts as useTokenSocialMediaScript,mn as useTokenStatsFlipScript,Sn as useTokenTopTradersListScript,Vs as useTokenTradersOverviewScript,_s as useTokenTransactionsOverviewScript,Ls as useTokenVolumeScript,zs as useTokenVolumesOverviewScript,Uf as useTokens,Tt as useTrendingTokensScript};//# sourceMappingURL=index.mjs.map
24
24
  //# sourceMappingURL=index.mjs.map