@liberfi.io/ui-tokens 3.0.12 → 3.0.13

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,StyledTooltip,Avatar,CameraIcon,Image,useCopyToClipboard,toast,CopyIcon,Link,WebsiteIcon,TwitterIcon,TelegramIcon,SearchIcon,PeopleIcon,KlineCandlesIcon,StarIcon,HorizontalScrollContainer,UserWithStarBadgeIcon,CookIcon,SniperIcon,RatIcon,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,CrownIcon,ShiningStarIcon,Skeleton,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,formatAge,searchTwitterUrl,formatAmountUSDCompact,formatAmount,formatPercent,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 mr({title:e,isPaused:t,extra:o,className:r}){let{t:n}=useTranslation();return jsxs("div",{className:cn$1("w-full h-12 px-3 flex-none bg-[#0a0a0b] flex items-center justify-between gap-4 border-b border-[rgba(39,39,42,0.6)]",r),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:n("tokens.pulse.paused")})]})]}),o&&jsx("div",{className:"flex items-center gap-3",children:o})]})}function pr({isLast:e=false,className:t}){return jsxs("div",{className:cn$1("w-full h-full overflow-hidden px-4 py-3 animate-pulse border-b",t),style:e?void 0:{borderBottomColor:"rgba(39,39,42,0.6)"},children:[jsxs("div",{className:"flex items-start gap-2",children:[jsxs("div",{className:"flex-none flex flex-col items-center gap-2",children:[jsx("div",{className:"w-20 h-20 rounded-sm bg-content2"}),jsx("div",{className:"w-14 h-2.5 rounded bg-content2"})]}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-2.5",children:[jsxs("div",{className:"flex items-center gap-1.5",children:[jsx("div",{className:"w-16 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-20 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"w-8 h-3 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"w-12 h-3 rounded bg-content2"}),jsx("div",{className:"w-12 h-3 rounded bg-content2"})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"w-10 h-3 rounded bg-content2"}),jsx("div",{className:"w-10 h-3 rounded bg-content2"}),jsx("div",{className:"w-10 h-3 rounded bg-content2"})]})]}),jsxs("div",{className:"flex-none flex flex-col items-end gap-2.5",children:[jsx("div",{className:"flex flex-col items-end gap-1",children:jsx("div",{className:"w-16 h-4 rounded bg-content2"})}),jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsx("div",{className:"w-14 h-3 rounded bg-content2"}),jsx("div",{className:"w-12 h-2.5 rounded bg-content2"})]}),jsx("div",{className:"w-10 h-2.5 rounded bg-content2"})]})]}),jsxs("div",{className:"mt-2.5 flex items-center gap-4",children:[jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-1",children:[jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"})]}),jsx("div",{className:"w-16 h-7 rounded-md bg-content2 flex-none"})]})]})}function W({icon:e,value:t,tooltip:o,warning:r,disable:n=false,className:s,tooltipPlacement:i="top"}){return jsx(StyledTooltip,{content:o,placement:i,children:jsxs("div",{className:cn$1("shrink-0 px-2 py-0.5 flex items-center gap-1 rounded-full text-xs border border-border/60",r?"text-danger-500":n?"text-neutral":"text-primary",s),children:[e,jsx("span",{children:t})]})})}var xo={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 Ra({tag:e,className:t}){let o=xo[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 r=o!=null&&o>0?e.slice(0,o):e,n=e.length-r.length;return jsxs("div",{className:cn$1("flex flex-wrap items-center gap-1",t),children:[r.map(s=>jsx(Ra,{tag:s},s)),n>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:["+",n]})]})}function Aa({tag:e,className:t}){let o=xo[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 Pt({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let r=o!=null&&o>0?e.slice(0,o):e,n=e.length-r.length;return jsxs("div",{className:cn$1("flex flex-wrap items-center gap-1",t),children:[r.map(s=>jsx(Aa,{tag:s},s)),n>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:["+",n]})]})}var Ha={[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"}},Ma={text:"text-neutral",bg:"bg-neutral",bg5:"bg-neutral/5",bg20:"bg-neutral/20",border:"border-neutral"};function Ce(e){return Ha[e]??Ma}function de({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:r=true,showProtocolFamily:n=true,radius:s="sm",className:i,classNames:l}){let a=useMemo(()=>e.launchedFrom?.protocolFamily?parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),d=useMemo(()=>n&&a,[n,a]),m=useMemo(()=>r&&e.migrateProgress&&new SafeBigNumber(e.migrateProgress).lt(100),[r,e.migrateProgress]),c=useMemo(()=>o&&e.image,[o,e.image]),p=useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[u,f]=useState(false),h=useCallback(()=>{f(true);},[]),g=useCallback(()=>{f(false);},[]),x=useCallback(b=>{if(b.stopPropagation(),!e.image)return;let k=searchImageUrl(e.image);window.open(k,"_blank");},[e.image]);return jsxs("div",{className:cn$1("relative justify-center items-center",i??"w-15 h-15"),children:[!m&&jsx("div",{className:cn$1("absolute inset-0",`rounded-${s}`,a?Ce(a).bg:"bg-[rgba(39,39,42,0.6)]",l?.background)}),m&&jsx("div",{className:cn$1("absolute -inset-0.5",`rounded-${s}`),children:jsx(Wa,{className:cn$1(a?Ce(a).text:"text-[rgba(39,39,42,0.6)]",l?.progress),progress:e.migrateProgress??"0"})}),jsx("div",{className:cn$1("absolute inset-0 p-px flex items-center justify-center",`rounded-${s}`,a?Ce(a).bg20:"bg-[rgba(39,39,42,0.12)]",l?.avatarWrapper),children:jsx(Oa,{token:e,radius:s,enableSearch:o,enablePreview:t,classNames:l,children:jsxs("div",{className:cn$1("relative w-full h-full bg-content1 flex items-center justify-center p-0.5",`rounded-${s}`,u&&c&&"cursor-pointer"),onMouseEnter:h,onMouseLeave:g,children:[jsx(Avatar,{showFallback:true,src:e.image,name:p,className:cn$1("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${s}`,l?.avatar)}),u&&c&&jsx("div",{className:cn$1("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${s}`,l?.searchWrapper),onClick:x,children:jsx(CameraIcon,{className:cn$1("w-6 h-6",l?.searchIcon)})})]})})}),d&&jsx("div",{className:"contents",children:jsx(StyledTooltip,{content:e.launchedFrom?.protocolFamily??a,placement:"bottom",children:jsx("div",{className:cn$1("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",a&&Ce(a).bg,l?.protocolFamilyIconWrapper),children:jsx(Image,{removeWrapper:true,src:`/images/protocols/${a}.svg`,className:cn$1("w-full h-full rounded-full bg-content1",l?.protocolFamilyIcon)})})})})]})}function Oa({token:e,radius:t,enableSearch:o,enablePreview:r,classNames:n,children:s}){return useMemo(()=>r&&e.image,[r,e.image])?jsx(StyledTooltip,{content:jsx(Da,{token:e,radius:t,enableSearch:o,classNames:n}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:s}):s}function Da({token:e,enableSearch:t,radius:o,classNames:r}){let n=useMemo(()=>t&&e.image,[t,e.image]),s=useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[i,l]=useState(false),a=useCallback(()=>{l(true);},[]),d=useCallback(()=>{l(false);},[]),m=useCallback(c=>{if(c.stopPropagation(),!e.image)return;let p=searchImageUrl(e.image);window.open(p,"_blank");},[e.image]);return jsxs("div",{className:cn$1("relative flex items-center justify-center w-60 h-60",`rounded-${o}`,i&&n&&"cursor-pointer",r?.previewWrapper),onMouseEnter:a,onMouseLeave:d,children:[jsx(Avatar,{showFallback:true,src:e.image,name:s,className:cn$1("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,r?.previewAvatar)}),i&&n&&jsx("div",{className:cn$1("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,r?.previewSearchWrapper),onClick:m,children:jsx(CameraIcon,{className:cn$1("w-10 h-10",r?.previewSearchIcon)})})]})}function Wa({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,StyledTooltip,Avatar,CameraIcon,Image,useCopyToClipboard,toast,CopyIcon,Link,WebsiteIcon,TwitterIcon,TelegramIcon,SearchIcon,PeopleIcon,KlineCandlesIcon,StarIcon,HorizontalScrollContainer,UserWithStarBadgeIcon,CookIcon,SniperIcon,RatIcon,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,CrownIcon,ShiningStarIcon,Skeleton,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,formatAge,searchTwitterUrl,formatAmountUSDCompact,formatAmount,formatPercent,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,useTokensSubscription,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 ur({title:e,isPaused:t,extra:o,className:r}){let{t:n}=useTranslation();return jsxs("div",{className:cn$1("w-full h-12 px-3 flex-none bg-[#0a0a0b] flex items-center justify-between gap-4 border-b border-[rgba(39,39,42,0.6)]",r),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:n("tokens.pulse.paused")})]})]}),o&&jsx("div",{className:"flex items-center gap-3",children:o})]})}function fr({isLast:e=false,className:t}){return jsxs("div",{className:cn$1("w-full h-full overflow-hidden px-4 py-3 animate-pulse border-b",t),style:e?void 0:{borderBottomColor:"rgba(39,39,42,0.6)"},children:[jsxs("div",{className:"flex items-start gap-2",children:[jsxs("div",{className:"flex-none flex flex-col items-center gap-2",children:[jsx("div",{className:"w-20 h-20 rounded-sm bg-content2"}),jsx("div",{className:"w-14 h-2.5 rounded bg-content2"})]}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-2.5",children:[jsxs("div",{className:"flex items-center gap-1.5",children:[jsx("div",{className:"w-16 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-20 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"w-8 h-3 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"w-12 h-3 rounded bg-content2"}),jsx("div",{className:"w-12 h-3 rounded bg-content2"})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"w-10 h-3 rounded bg-content2"}),jsx("div",{className:"w-10 h-3 rounded bg-content2"}),jsx("div",{className:"w-10 h-3 rounded bg-content2"})]})]}),jsxs("div",{className:"flex-none flex flex-col items-end gap-2.5",children:[jsx("div",{className:"flex flex-col items-end gap-1",children:jsx("div",{className:"w-16 h-4 rounded bg-content2"})}),jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsx("div",{className:"w-14 h-3 rounded bg-content2"}),jsx("div",{className:"w-12 h-2.5 rounded bg-content2"})]}),jsx("div",{className:"w-10 h-2.5 rounded bg-content2"})]})]}),jsxs("div",{className:"mt-2.5 flex items-center gap-4",children:[jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-1",children:[jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"})]}),jsx("div",{className:"w-16 h-7 rounded-md bg-content2 flex-none"})]})]})}function W({icon:e,value:t,tooltip:o,warning:r,disable:n=false,className:s,tooltipPlacement:i="top"}){return jsx(StyledTooltip,{content:o,placement:i,children:jsxs("div",{className:cn$1("shrink-0 px-2 py-0.5 flex items-center gap-1 rounded-full text-xs border border-border/60",r?"text-danger-500":n?"text-neutral":"text-primary",s),children:[e,jsx("span",{children:t})]})})}var ho={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 Ma({tag:e,className:t}){let o=ho[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 hr({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let r=o!=null&&o>0?e.slice(0,o):e,n=e.length-r.length;return jsxs("div",{className:cn$1("flex flex-wrap items-center gap-1",t),children:[r.map(s=>jsx(Ma,{tag:s},s)),n>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:["+",n]})]})}function Ia({tag:e,className:t}){let o=ho[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 Pt({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let r=o!=null&&o>0?e.slice(0,o):e,n=e.length-r.length;return jsxs("div",{className:cn$1("flex flex-wrap items-center gap-1",t),children:[r.map(s=>jsx(Ia,{tag:s},s)),n>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:["+",n]})]})}var Fa={[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"}},Ua={text:"text-neutral",bg:"bg-neutral",bg5:"bg-neutral/5",bg20:"bg-neutral/20",border:"border-neutral"};function Ce(e){return Fa[e]??Ua}function de({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:r=true,showProtocolFamily:n=true,radius:s="sm",className:i,classNames:l}){let a=useMemo(()=>e.launchedFrom?.protocolFamily?parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),d=useMemo(()=>n&&a,[n,a]),m=useMemo(()=>r&&e.migrateProgress&&new SafeBigNumber(e.migrateProgress).lt(100),[r,e.migrateProgress]),c=useMemo(()=>o&&e.image,[o,e.image]),p=useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[u,f]=useState(false),g=useCallback(()=>{f(true);},[]),k=useCallback(()=>{f(false);},[]),x=useCallback(b=>{if(b.stopPropagation(),!e.image)return;let h=searchImageUrl(e.image);window.open(h,"_blank");},[e.image]);return jsxs("div",{className:cn$1("relative justify-center items-center",i??"w-15 h-15"),children:[!m&&jsx("div",{className:cn$1("absolute inset-0",`rounded-${s}`,a?Ce(a).bg:"bg-[rgba(39,39,42,0.6)]",l?.background)}),m&&jsx("div",{className:cn$1("absolute -inset-0.5",`rounded-${s}`),children:jsx(Va,{className:cn$1(a?Ce(a).text:"text-[rgba(39,39,42,0.6)]",l?.progress),progress:e.migrateProgress??"0"})}),jsx("div",{className:cn$1("absolute inset-0 p-px flex items-center justify-center",`rounded-${s}`,a?Ce(a).bg20:"bg-[rgba(39,39,42,0.12)]",l?.avatarWrapper),children:jsx(Ba,{token:e,radius:s,enableSearch:o,enablePreview:t,classNames:l,children:jsxs("div",{className:cn$1("relative w-full h-full bg-content1 flex items-center justify-center p-0.5",`rounded-${s}`,u&&c&&"cursor-pointer"),onMouseEnter:g,onMouseLeave:k,children:[jsx(Avatar,{showFallback:true,src:e.image,name:p,className:cn$1("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${s}`,l?.avatar)}),u&&c&&jsx("div",{className:cn$1("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${s}`,l?.searchWrapper),onClick:x,children:jsx(CameraIcon,{className:cn$1("w-6 h-6",l?.searchIcon)})})]})})}),d&&jsx("div",{className:"contents",children:jsx(StyledTooltip,{content:e.launchedFrom?.protocolFamily??a,placement:"bottom",children:jsx("div",{className:cn$1("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",a&&Ce(a).bg,l?.protocolFamilyIconWrapper),children:jsx(Image,{removeWrapper:true,src:`/images/protocols/${a}.svg`,className:cn$1("w-full h-full rounded-full bg-content1",l?.protocolFamilyIcon)})})})})]})}function Ba({token:e,radius:t,enableSearch:o,enablePreview:r,classNames:n,children:s}){return useMemo(()=>r&&e.image,[r,e.image])?jsx(StyledTooltip,{content:jsx(Ea,{token:e,radius:t,enableSearch:o,classNames:n}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:s}):s}function Ea({token:e,enableSearch:t,radius:o,classNames:r}){let n=useMemo(()=>t&&e.image,[t,e.image]),s=useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[i,l]=useState(false),a=useCallback(()=>{l(true);},[]),d=useCallback(()=>{l(false);},[]),m=useCallback(c=>{if(c.stopPropagation(),!e.image)return;let p=searchImageUrl(e.image);window.open(p,"_blank");},[e.image]);return jsxs("div",{className:cn$1("relative flex items-center justify-center w-60 h-60",`rounded-${o}`,i&&n&&"cursor-pointer",r?.previewWrapper),onMouseEnter:a,onMouseLeave:d,children:[jsx(Avatar,{showFallback:true,src:e.image,name:s,className:cn$1("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,r?.previewAvatar)}),i&&n&&jsx("div",{className:cn$1("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,r?.previewSearchWrapper),onClick:m,children:jsx(CameraIcon,{className:cn$1("w-10 h-10",r?.previewSearchIcon)})})]})}function Va({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 Lr({token:e,renderAction:t,isLast:o=false,onSelectToken:r,className:n}){let{t:s}=useTranslation(),i=useCopyToClipboard(),l=useTickAge(e.createdAt),a=e.marketData,d=e.stats?.["1h"],m=useCallback(()=>{r?.(e);},[r,e]),c=useCallback(U=>{U.stopPropagation(),i(e.address,()=>toast.success(s("tokens.copied.address")));},[i,e.address,s]),p=useMemo(()=>d?.volumesInUsd,[d?.volumesInUsd]),u=useMemo(()=>d?.buyVolumesInUsd,[d?.buyVolumesInUsd]),f=useMemo(()=>d?.sellVolumesInUsd,[d?.sellVolumesInUsd]),h=useMemo(()=>d?.trades,[d?.trades]),g=useMemo(()=>a?.marketCapInUsd,[a?.marketCapInUsd]),x=useMemo(()=>a?.tvlInUsd,[a?.tvlInUsd]),b=useMemo(()=>{let U=new SafeBigNumber(g);return U.lt(1e3)?"text-foreground":U.lt(1e6)?"text-secondary":"text-primary"},[g]),k=useMemo(()=>new SafeBigNumber(a?.top10HoldingsRatio).gte(.1),[a?.top10HoldingsRatio]),y=useMemo(()=>new SafeBigNumber(a?.devHoldingsRatio).gte(.1),[a?.devHoldingsRatio]),K=useMemo(()=>new SafeBigNumber(a?.insiderHoldingsRatio).gte(.1),[a?.insiderHoldingsRatio]),J=useMemo(()=>new SafeBigNumber(a?.sniperHoldingsRatio).gte(.1),[a?.sniperHoldingsRatio]),ne=useMemo(()=>new SafeBigNumber(a?.bundleHoldingsRatio).gte(.1),[a?.bundleHoldingsRatio]),[De,V]=useMemo(()=>{let U=Number(d?.buys??0),te=Number(d?.sells??0),$=U+te;if($===0)return [12,12];let cr=Math.round(U/$*24);return [cr,24-cr]},[d?.buys,d?.sells]),We=a?.holders!==void 0&&a.holders>0,Be=a?.proHolders!==void 0&&a.proHolders>0,F=a?.kolHolders!==void 0&&a.kolHolders>0,le=We||Be||F;return jsxs("div",{className:cn$1("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer border-b",n),style:o?void 0:{borderBottomColor:"rgba(39,39,42,0.6)"},onClick:r?m:void 0,children:[jsxs("div",{className:"flex items-start gap-2",children:[jsxs("div",{className:"flex-none flex flex-col items-center gap-2",children:[jsx(de,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-20 h-20"}),jsxs("button",{type:"button",className:"text-xs font-mono text-neutral hover:text-foreground leading-none",onClick:c,"aria-label":s("tokens.copied.address"),title:s("tokens.copied.address"),children:[e.address.slice(0,4),"...",e.address.slice(-4)]})]}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-2.5",children:[jsxs("button",{type:"button",className:"flex items-center gap-1.5 min-w-0 text-left",onClick:c,"aria-label":s("tokens.copied.address"),title:s("tokens.copied.address"),children:[jsx("span",{className:"flex-none text-sm font-semibold leading-none whitespace-nowrap overflow-hidden text-ellipsis max-w-24",children:e.symbol}),jsx(StyledTooltip,{content:e.name,children:jsx("span",{className:"text-[13px] leading-none text-neutral truncate max-w-20",children:e.name})}),jsx(CopyIcon,{className:"flex-none w-3.5 h-3.5 text-neutral"})]}),jsxs("div",{className:"flex items-center gap-2 leading-none",children:[jsx("span",{className:"text-[13px] font-mono font-medium text-neutral",children:formatAge(l)}),e.socialMedias?.website&&jsx(Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:U=>U.stopPropagation(),children:jsx(WebsiteIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.twitter&&jsx(Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:U=>U.stopPropagation(),children:jsx(TwitterIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.telegram&&jsx(Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:U=>U.stopPropagation(),children:jsx(TelegramIcon,{className:"w-3.5 h-3.5"})}),jsx(Link,{href:searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"max-sm:hidden text-neutral hover:text-primary",target:"_blank",onClick:U=>U.stopPropagation(),children:jsx(SearchIcon,{className:"w-3.5 h-3.5"})})]}),jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-foreground/80 leading-none",children:[jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsx("span",{className:"text-neutral",children:"MC"}),jsx("span",{className:cn$1(b),children:formatAmountUSDCompact(g)})]}),jsx("span",{className:"text-neutral/30",children:"\xB7"}),jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsx("span",{className:"text-neutral",children:"Liq"}),jsx("span",{children:formatAmountUSDCompact(x)})]})]}),le&&jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-neutral leading-none",children:[We&&jsx(StyledTooltip,{content:s("tokens.tokenInfo.holders"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(PeopleIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(a?.holders)]})}),Be&&jsx(StyledTooltip,{content:s("tokens.tokenInfo.proHolders"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(KlineCandlesIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(a?.proHolders)]})}),F&&jsx(StyledTooltip,{content:s("tokens.tokenInfo.kolHolders"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(StarIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(a?.kolHolders)]})})]})]}),jsxs("div",{className:"flex-none flex flex-col items-end gap-2.5 leading-none font-mono",children:[jsx("div",{className:"flex flex-col items-end gap-1",children:jsx("span",{className:cn$1("text-base font-bold leading-none",b),children:formatAmountUSDCompact(g)})}),jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsxs("div",{className:"flex items-baseline gap-1",children:[jsx("span",{className:"text-xs text-neutral",children:"V"}),jsx("span",{className:"text-xs text-foreground/80",children:formatAmountUSDCompact(p)})]}),jsxs("span",{className:"text-[10px] leading-none",children:[jsx("span",{className:"text-bullish",children:formatAmountUSDCompact(u)}),jsx("span",{className:"text-neutral/50 mx-0.5",children:"/"}),jsx("span",{className:"text-bearish",children:formatAmountUSDCompact(f)})]})]}),jsxs("div",{className:"flex items-baseline gap-1",children:[jsx("span",{className:"text-xs text-neutral",children:"TX"}),jsx("span",{className:"text-xs text-foreground/80",children:formatAmount(h)})]})]})]}),jsxs("div",{className:"mt-2.5 flex items-start gap-4 relative",children:[jsx(HorizontalScrollContainer,{className:"flex-auto min-w-0",forceShowArrows:true,children:jsxs("div",{className:"flex items-center gap-1",children:[jsx(W,{icon:jsx(UserWithStarBadgeIcon,{width:12,height:12}),value:formatPercent(a?.top10HoldingsRatio),tooltip:s("tokens.tokenInfo.top10HoldingsRatio"),warning:k,disable:!a?.top10HoldingsRatio||a?.top10HoldingsRatio==="0"}),jsx(W,{icon:jsx(CookIcon,{width:12,height:12}),value:formatPercent(a?.devHoldingsRatio),tooltip:s("tokens.tokenInfo.devHoldingsRatio"),warning:y,disable:!a?.devHoldingsRatio||a?.devHoldingsRatio==="0"}),jsx(W,{icon:jsx(SniperIcon,{width:12,height:12}),value:formatPercent(a?.sniperHoldingsRatio),tooltip:s("tokens.tokenInfo.sniperHoldingsRatio"),warning:J,disable:!a?.sniperHoldingsRatio||a?.sniperHoldingsRatio==="0"}),jsx(W,{icon:jsx(RatIcon,{width:12,height:12}),value:formatPercent(a?.insiderHoldingsRatio),tooltip:s("tokens.tokenInfo.insiderHoldingsRatio"),warning:K,disable:!a?.insiderHoldingsRatio||a?.insiderHoldingsRatio==="0"}),jsx(W,{icon:jsx(BundlesIcon,{width:12,height:12}),value:formatPercent(a?.bundleHoldingsRatio),tooltip:s("tokens.tokenInfo.bundleHoldingsRatio"),warning:ne,disable:!a?.bundleHoldingsRatio||a?.bundleHoldingsRatio==="0"})]})}),t&&jsx("div",{className:"flex-none relative",onClick:U=>U.stopPropagation(),children:t(e)})]})]})}var dl=152,Rr=10;function cl({index:e,style:t,data:o,skeletonCount:r,renderItemAction:n,onSelectToken:s}){return o?jsx("div",{style:t,children:jsx(Lr,{token:o[e],isLast:e===o.length-1,renderAction:n,onSelectToken:s})}):jsx("div",{style:t,children:jsx(pr,{isLast:e===r-1})})}function $e({title:e,tokens:t,isLoading:o,itemHeight:r=dl,renderHeaderExtra:n,renderItemAction:s,onSelectToken:i,onPauseChange:l,className:a,hideHeader:d}){let m=o||!t?void 0:t,c=m?m.length:Rr,p=useMemo(()=>({data:m,skeletonCount:Rr,renderItemAction:s,onSelectToken:i}),[m,s,i]),[u,f]=useState(false),h=useCallback(()=>{f(true),l?.(true);},[l]),g=useCallback(()=>{f(false),l?.(false);},[l]);return jsxs("div",{className:cn$1("w-full h-full bg-[#0a0a0b] overflow-hidden flex flex-col border border-[rgba(39,39,42,0.6)] rounded-lg",a),onMouseEnter:h,onMouseLeave:g,children:[!d&&jsx(mr,{title:e,isPaused:u,extra:n}),jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsx(List,{className:"h-full w-full",rowCount:c,rowHeight:r,rowComponent:cl,rowProps:p,overscanCount:5})})]})}function ko(e,t){let o={...e};for(let r of Object.keys(t))t[r]!==void 0&&(o[r]=t[r]);return o}var pl=["1m","5m","15m","30m","1h","4h","24h"];function ul(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let r of pl)t[r]&&(o[r]=e[r]?ko(e[r],t[r]):t[r]);return o}function fl(e,t){return t?e?ko(e,t):t:e}function It(e,t){return t?e?ko(e,t):t:e}function E(e,t){let{chain:o,address:r,stats:n,marketData:s,socialMedias:i,security:l,launchedFrom:a,migratedTo:d,...m}=t,c={...e};for(let p of Object.keys(m))m[p]!==void 0&&(c[p]=m[p]);return c.stats=ul(e.stats,n),c.marketData=fl(e.marketData,s),c.socialMedias=It(e.socialMedias,i),c.security=It(e.security,l),c.launchedFrom=It(e.launchedFrom,a),c.migratedTo=It(e.migratedTo,d),c}function Ke(e,t){let o=new Map(e.map(r=>[r.address,r]));return t.map(r=>{let n=o.get(r.address);return n?E(n,r):r})}var kl=80;function bl(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 Fr(e){return e.sort((t,o)=>{let r=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-r}),e.slice(0,kl)}function Ur({chain:e,isPaused:t=false,refetchInterval:o=1e4}){let r=useMemo(()=>({chain:e}),[e]),n=useRef(t);n.current=t;let s=useRef(e),[i,l]=useState(true),[a,d]=useState([]);useEffect(()=>{e!==s.current&&(l(true),d([]),s.current=e);},[e]);let{data:m,isPending:c}=useNewTokensQuery(r,{refetchInterval:o});useEffect(()=>{m&&(d(f=>{let h=n.current,g=f.length===0&&m.length>0,x=[...f];for(let b of m){let k=x.findIndex(y=>y.address===b.address);k>=0?x[k]=E(x[k],b):(!h||g)&&x.push(b);}return h?x:Fr(x)}),l(false));},[m]);let p=useCallback(f=>{d(h=>{let g=n.current,x=[...h],b=false;for(let k of f){let y=x.findIndex(K=>K.address===k.address);y>=0?(b=true,x[y]=E(x[y],k)):g||(b=true,x.push(bl(k)));}return b?g?x:Fr(x):h});},[]);useNewTokensSubscription({chain:e},p);let u=useMemo(()=>c||i,[c,i]);return {tokens:a,isLoading:u}}function Kx({chain:e,title:t,renderHeaderExtra:o,renderItemAction:r,onSelectToken:n,className:s,hideHeader:i}){let[l,a]=useState(false),{tokens:d,isLoading:m}=Ur({chain:e,isPaused:l}),c=useCallback(p=>{a(p);},[]);return jsx($e,{title:t,tokens:d,isLoading:m,renderHeaderExtra:o,renderItemAction:r,onSelectToken:n,onPauseChange:c,className:s,hideHeader:i})}function Er({chain:e,isPaused:t=false,refetchInterval:o=3e4}){let r=useMemo(()=>({chain:e}),[e]),n=useRef(t);n.current=t;let s=useRef(e),[i,l]=useState(true),[a,d]=useState([]);useEffect(()=>{e!==s.current&&(l(true),d([]),s.current=e);},[e]);let{data:m,isPending:c}=useMigratedTokensQuery(r,{refetchInterval:o});useEffect(()=>{m&&(d(f=>{let h=n.current,g=[...f];for(let x of m){let b=g.findIndex(k=>k.address===x.address);b>=0?g[b]=E(g[b],x):h||g.unshift(x);}return g}),l(false));},[m]);let p=useCallback(f=>{d(h=>{let g=[...h],x=false;for(let b of f){let k=g.findIndex(y=>y.address===b.address);k>=0&&(x=true,g[k]=E(g[k],b));}return x?g:h});},[]);useMigratedTokensSubscription({chain:e},p);let u=useMemo(()=>c||i,[c,i]);return {tokens:a,isLoading:u}}function th({chain:e,title:t,renderHeaderExtra:o,renderItemAction:r,onSelectToken:n,className:s,hideHeader:i}){let[l,a]=useState(false),{tokens:d,isLoading:m}=Er({chain:e,isPaused:l}),c=useCallback(p=>{a(p);},[]);return jsx($e,{title:t,tokens:d,isLoading:m,renderHeaderExtra:o,renderItemAction:r,onSelectToken:n,onPauseChange:c,className:s,hideHeader:i})}function Ml(e){return e.sort((t,o)=>{let r=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-r})}function zr({chain:e,isPaused:t=false,refetchInterval:o=15e3}){let r=useMemo(()=>({chain:e}),[e]),n=useRef(t);n.current=t;let s=useRef(e),[i,l]=useState(true),[a,d]=useState([]);useEffect(()=>{e!==s.current&&(l(true),d([]),s.current=e);},[e]);let{data:m,isPending:c}=useFinalStretchTokensQuery(r,{refetchInterval:o});useEffect(()=>{m&&(d(f=>{let h=n.current,g=f.length===0&&m.length>0,x=[...f];for(let b of m){let k=x.findIndex(y=>y.address===b.address);k>=0?x[k]=E(x[k],b):(!h||g)&&x.push(b);}return h?x:Ml(x)}),l(false));},[m]);let p=useCallback(f=>{d(h=>{let g=[...h],x=false;for(let b of f){let k=g.findIndex(y=>y.address===b.address);k>=0&&(x=true,g[k]=E(g[k],b));}return x?g:h});},[]);useFinalStretchTokensSubscription({chain:e},p);let u=useMemo(()=>c||i,[c,i]);return {tokens:a,isLoading:u}}function ph({chain:e,title:t,renderHeaderExtra:o,renderItemAction:r,onSelectToken:n,className:s,hideHeader:i}){let[l,a]=useState(false),{tokens:d,isLoading:m}=zr({chain:e,isPaused:l}),c=useCallback(p=>{a(p);},[]);return jsx($e,{title:t,tokens:d,isLoading:m,renderHeaderExtra:o,renderItemAction:r,onSelectToken:n,onPauseChange:c,className:s,hideHeader:i})}var Wl=10,Bl=atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function Ft(){let[e,t]=useAtom(Bl),o=useCallback(n=>{let s=n.trim();s&&t(i=>{let l=i.filter(a=>a!==s);return [s,...l].slice(0,Wl)});},[t]),r=useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:r}}function Xr({histories:e,onSelect:t,onClear:o,className:r}){let{t:n}=useTranslation();return e.length===0?null:jsxs("div",{className:cn$1("px-4 pb-4",r),children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium",children:n("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(s=>jsx(Chip,{size:"sm",variant:"bordered",className:cn$1("text-neutral","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(s),children:s},s))})]})}function Jr({onSelect:e,className:t}){let{histories:o,clearHistories:r}=Ft();return jsx(Xr,{className:cn$1(t),histories:o,onSelect:e,onClear:r})}function Yr({value:e,onValueChange:t,onClear:o,onEscape:r,className:n}){let{t:s}=useTranslation();return jsx("div",{className:n,children:jsx(StyledInput,{autoFocus:true,variant:"bordered",radius:"full",value:e,onValueChange:t,placeholder:s("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(),r?.();},children:"Esc"})})})}function Ut({token:e,className:t}){let{t:o}=useTranslation(),r=useTickAge(e.createdAt),n=useMemo(()=>e.marketData?.priceInUsd,[e]),s=useMemo(()=>e.marketData?.marketCapInUsd,[e]),i=useMemo(()=>e.marketData?.tvlInUsd,[e]),l=useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),a=useMemo(()=>l?new SafeBigNumber(l).abs().toString():void 0,[l]),d=useMemo(()=>l!=null&&new SafeBigNumber(l).gte(0),[l]);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(de,{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(r)})]}),jsxs("div",{className:"flex items-center gap-1 text-xs text-neutral",children:[jsxs("span",{children:[o("tokens.listHeader.mcShort")," ",formatAmountUSD(s)]}),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(n)}),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(a)})]})]})]})}function Ot({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 ld(){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 Wt({rows:e=6,className:t}){return jsx("div",{className:cn$1("w-full",t),children:Array.from({length:e}).map((o,r)=>jsx(ld,{},r))})}function rs({keyword:e,chains:t,limit:o=50}){let r=useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:n,isLoading:s,isFetchingNextPage:i,hasNextPage:l,fetchNextPage:a}=useSearchTokensInfiniteQuery(r,{enabled:!!e});return {tokens:useMemo(()=>n?.pages.flatMap(m=>m.data)??[],[n]),isLoading:s,isFetchingNextPage:i,hasNextPage:l??false,fetchNextPage:a}}var kd=56;function ns({onSelectToken:e,className:t,...o}){let{tokens:r,isLoading:n,isFetchingNextPage:s,hasNextPage:i,fetchNextPage:l}=rs(o),a=useRef(null),{height:d}=useResizeObserver({ref:a}),m=useCallback(f=>f<r.length,[r]),c=useCallback(async()=>{i&&!s&&await l();},[i,s,l]),p=useMemo(()=>i?r.length+1:r.length,[r,i]),u=useInfiniteLoader({isRowLoaded:m,loadMoreRows:c,rowCount:p,threshold:5});return n?jsxs("div",{className:cn$1("w-full",t),children:[jsx(Ot,{}),jsx(Wt,{})]}):r.length===0?jsxs("div",{className:cn$1("w-full",t),children:[jsx(Ot,{}),jsx(yd,{})]}):jsxs("div",{className:cn$1("w-full h-full flex flex-col",t),children:[jsx(Ot,{className:"flex-none"}),jsx("div",{className:"flex-auto min-h-0",ref:a,children:jsx(List,{style:{height:d},onRowsRendered:u,rowComponent:bd,rowCount:p,rowHeight:kd,rowProps:{tokens:r,onSelectToken:e},overscanCount:5})})]})}function bd({index:e,style:t,tokens:o,onSelectToken:r}){let n=o[e];return n?jsx("div",{style:t,onClick:()=>r?.(n),children:jsx(Ut,{token:n})}):jsx("div",{style:t,className:"flex items-center justify-center",children:jsx(Spinner,{size:"sm"})})}function yd(){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 Et({chain:e,resolution:t,options:o,refetchInterval:r=12e3}){let n=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),s=useRef(n),[i,l]=useState(true);useEffect(()=>{JSON.stringify(n)!==JSON.stringify(s.current)&&(l(true),s.current=n);},[n]);let[a,d]=useState([]),{data:m,isPending:c}=useTrendingTokensQuery(n,{refetchInterval:r});useEffect(()=>{m&&(d(f=>Ke(f,m)),l(false));},[m]);let p=useCallback(f=>{d(h=>{let g=[...h],x=false;for(let b of f){let k=g.findIndex(y=>y.address===b.address);k>=0&&(x=true,g[k]=E(g[k],b));}return x?g:h});},[]);useTrendingTokensSubscription({chain:e},p);let u=useMemo(()=>!!(c||i),[c,i]);return {tokens:a,isLoading:u}}var Ld=Chain.ETHEREUM,Pd="24h",Rd=56;function ds({chains:e,onSelectToken:t,className:o}){let r=e?.length===1?e[0]:e?.[0]??Ld,{tokens:n,isLoading:s}=Et({chain:r,resolution:Pd});return jsx("div",{className:cn$1("w-full flex flex-col overflow-hidden",o),children:s?jsx(Wt,{}):jsx("div",{className:"overflow-y-auto",children:n.map(i=>jsx("div",{style:{height:Rd},onClick:()=>t?.(i),children:jsx(Ut,{token:i,className:"h-full"})},i.address))})})}function ps({onKeywordChange:e}){let[t,o]=useState(""),[r,n]=useState(""),{addHistory:s}=Ft(),i=useCallbackRef(e),l=useCallbackRef(s),a=useMemo(()=>debounce(p=>{n(p),i(p),p&&l(p);},500),[i,l]),d=useCallback(p=>{o(p),a(p);},[a]),m=useCallback(p=>{a.cancel(),o(p),n(p),i(p),p&&l(p);},[a,i,l]),c=useCallback(()=>m(""),[m]);return {text:t,keyword:r,setText:d,setKeyword:m,clearKeyword:c}}function fs({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:r}){let{text:n,keyword:s,setText:i,setKeyword:l,clearKeyword:a}=ps({onKeywordChange:t});return jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsx(Yr,{value:n,onValueChange:i,onClear:a,onPaste:l,onEscape:r}),s?jsx(ns,{className:"flex-auto min-h-0",keyword:s,chains:e,onSelectToken:o}):jsxs("div",{className:"flex-auto min-h-0 flex flex-col overflow-hidden",children:[jsx(Jr,{onSelect:l}),jsx(ds,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}var vo="search";function Jk({id:e=vo}){return jsx(AsyncModal,{id:e,children:t=>jsx(_d,{...t})})}function _d({params:e,isOpen:t,onOpenChange:o,onResult:r}){let{t:n}=useTranslation(),{isMobile:s}=useScreen(),i=useCallback(l=>{r(l);},[r]);return jsx(StyledModal,{isOpen:t,onOpenChange:o,size:s?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxs(ModalContent,{className:"w-full h-full",style:{borderRadius:s?void 0:14,border:s?void 0:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:s?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:n("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(fs,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function nb({chains:e,onSelectToken:t,className:o}){let{t:r}=useTranslation(),{isDesktop:n}=useScreen(),{onOpen:s,onClose:i}=useAsyncModal(vo),l=useCallbackRef(t),a=useCallbackRef(async()=>{let m=await s({params:{chains:e}});m&&l(m);}),d=useCallbackRef(()=>{i();});return useEffect(()=>{let m=c=>{let p=document.activeElement,u=!!p&&(p.tagName==="INPUT"||p.tagName==="TEXTAREA"||p.getAttribute("contenteditable")==="true");c.key==="/"&&!u&&(c.preventDefault(),a()),c.key==="Escape"&&(c.preventDefault(),d());};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m);}},[a,d]),n?jsx(Button,{size:"sm",radius:"full",onPress:a,variant:"bordered",startContent:jsx(SearchIcon,{width:16,height:16,className:"text-foreground"}),endContent:jsx(Kbd,{className:"min-w-6 justify-center text-xs text-foreground bg-content3 rounded-lg",children:"/"}),className:cn$1("w-56 min-w-0 h-8 min-h-0 border-transparent hover:border-border bg-content2 pl-3 pr-1.5 text-neutral",o),children:r("tokens.search.placeholder")}):jsx(Button,{size:"sm",radius:"full",isIconOnly:true,onPress:a,variant:"bordered",className:cn$1("w-8 min-w-0 h-8 min-h-0 border-1 border-border bg-content2",o),children:jsx(SearchIcon,{width:16,height:16,className:"text-foreground"})})}function Pe(e){return e==null||e===""?"--":formatPercent(Number(e)/100)}function ce(e,t=4,o=4){return e?e.length<=t+o+1?e:`${e.slice(0,t)}\u2026${e.slice(-o)}`:"--"}function be(e,t=Date.now()){if(e==null)return "--";let o=typeof e=="string"||typeof e=="number"?new Date(e):e,r=typeof t=="number"?new Date(t):t,n=Math.max(0,Math.floor((r.getTime()-o.getTime())/1e3));if(n<60)return `${n}s`;let s=Math.floor(n/60);if(s<60)return `${s}m`;let i=Math.floor(s/60);if(i<24)return `${i}h`;let l=Math.floor(i/24);if(l<30)return `${l}d`;let a=Math.floor(l/30);return a<12?`${a}mo`:`${Math.floor(l/365)}y`}function R(e,t){let{data:o,isLoading:r}=useTokenQuery({chain:e,address:t}),[n,s]=useState(o);return useEffect(()=>{o&&s(o);},[o]),useTokenSubscription({chain:e,address:t},i=>{i?.length&&s(l=>{if(!l)return l;let a=l;for(let d of i)a=E(a,d);return a});}),{token:n,isLoading:r}}function Qe({label:e,totalFormatted:t,buysFormatted:o,sellsFormatted:r,totalValue:n=0,buysValue:s=0,className:i}){let l=new SafeBigNumber(n??0),a=new SafeBigNumber(s??0),d=l.eq(0)?0:a.div(l).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: ",r]})]})]})}function ys({token:e,actions:t,dataStrip:o,className:r,onCopyAddress:n}){let s=e?.address;return jsxs("div",{className:cn$1("flex w-full flex-wrap items-center gap-4 px-4 py-3",r),children:[jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e&&jsx(de,{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})]}),s&&jsxs("button",{type:"button",onClick:()=>n?.(s),className:"flex items-center gap-1 text-[11px] text-default-400 transition-colors hover:text-foreground",title:s,children:[ce(s,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 Ts(e,t){return R(e,t)}function Ns({price:e,marketCap:t,volume:o,holdersCount:r,socialMedia:n,className:s}){return jsxs("div",{className:cn$1("flex flex-wrap items-center gap-x-6 gap-y-3",s),children:[e,jsxs("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-3",children:[t,o,r]}),jsx("div",{className:"ml-auto",children:n})]})}function Xb(e,t){return R(e,t)}function Cs({holders:e,top10HoldingsRatio:t,top100HoldingsRatio:o,className:r}){return jsxs("div",{className:cn$1("flex flex-col items-start justify-center gap-0.5",r),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:Pe(t)}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:Pe(o)})]}),jsx("div",{className:"text-[10px] text-default-400",children:"Holders / Top10 / Top100"})]})}function ws(e,t){return R(e,t)}function Ls({chain:e,address:t,className:o}){let{token:r}=ws(e,t);return jsx(Cs,{holders:r?.marketData?.holders,top10HoldingsRatio:r?.marketData?.top10HoldingsRatio,top100HoldingsRatio:r?.marketData?.top100HoldingsRatio,className:o})}function As({marketCapInUsd:e,tvlInUsd:t,createdAt:o,className:r}){return jsxs("div",{className:cn$1("flex flex-col items-start justify-center gap-0.5",r),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:be(o)})]}),jsx("div",{className:"text-[10px] text-default-400",children:"MC / Liq / Age"})]})}function Hs(e,t){return R(e,t)}function Ms({chain:e,address:t,className:o}){let{token:r}=Hs(e,t);return jsx(As,{marketCapInUsd:r?.marketData?.marketCapInUsd,tvlInUsd:r?.marketData?.tvlInUsd,createdAt:r?.createdAt,className:o})}function Us({priceInUsd:e,price24hAgoInUsd:t,className:o}){let{bearish:r,priceChange:n}=useMemo(()=>{if(!e||!t)return {bearish:false,priceChange:void 0};let s=new SafeBigNumber(e),i=new SafeBigNumber(t);return i.lte(0)?{bearish:false,priceChange:void 0}:{bearish:s.lt(i),priceChange:s.minus(i).div(i).abs().toNumber()}},[e,t]);return jsxs("div",{className:cn$1("group flex flex-col gap-1",o),"data-bearish":r,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:n!=null?formatPercent(n):"--"})]})]})}function Os(e,t){return R(e,t)}function Ds({chain:e,address:t,className:o}){let{token:r}=Os(e,t);return jsx(Us,{priceInUsd:r?.marketData?.priceInUsd,price24hAgoInUsd:r?.stats?.["24h"]?.openPriceInUsd,className:o})}function yc(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 Ws({socials:e,className:t,iconSize:o=16}){if(!e)return null;let n=["website","twitter","telegram","discord","github","reddit","youtube","medium"].filter(s=>!!e[s]);return n.length===0?null:jsx("div",{className:cn$1("flex items-center gap-3",t),children:n.map(s=>jsx("a",{href:e[s],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:yc(s,o)},s))})}function Bs(e,t){return R(e,t)}function Es({chain:e,address:t,className:o,iconSize:r}){let{token:n}=Bs(e,t);return jsx(Ws,{socials:n?.socialMedias,className:o,iconSize:r})}function $s({volumesInUsd:e,trades:t,traders:o,className:r}){return jsxs("div",{className:cn$1("flex flex-col items-start justify-center gap-0.5",r),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 Ks(e,t){return R(e,t)}function zs({chain:e,address:t,className:o}){let{token:r}=Ks(e,t),n=r?.stats?.["24h"];return jsx($s,{volumesInUsd:n?.volumesInUsd,trades:n?.trades,traders:n?.traders,className:o})}function qs({chain:e,address:t,className:o}){return jsx(Ns,{className:o,price:jsx(Ds,{chain:e,address:t}),marketCap:jsx(Ms,{chain:e,address:t}),volume:jsx(zs,{chain:e,address:t}),holdersCount:jsx(Ls,{chain:e,address:t}),socialMedia:jsx(Es,{chain:e,address:t})})}function AT({chain:e,address:t,actions:o,dataStrip:r,className:n,onCopyAddress:s}){let{token:i}=Ts(e,t);return jsx(ys,{token:i,actions:o,dataStrip:r===void 0?jsx(qs,{chain:e,address:t}):r,className:n,onCopyAddress:s})}var Lc=[{value:"holdingUsd",label:"Value"},{value:"lastActiveAt",label:"Last active"}];function Xs({holders:e,isLoading:t,sortBy:o,onSortByChange:r,onlyTracked:n=false,onOnlyTrackedChange:s,onLoadMore:i,hasMore:l,now:a=Date.now(),wellKnownAddresses:d,className:m,renderAddress:c}){let p=n?e.filter(u=>u.tags&&u.tags.length>0):e;return jsxs("div",{className:cn$1("flex flex-col",m),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:n,onChange:u=>s?.(u.target.checked)}),"Only Tracked"]})]}),jsx("div",{className:"flex items-center gap-1",children:Lc.map(u=>jsx("button",{type:"button",onClick:()=>r(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:[p.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No holders"})}),p.map(u=>jsx(Pc,{holder:u,now:a,wellKnownAddresses:d,renderAddress:c},u.address)),t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),l&&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 Pc({holder:e,now:t,wellKnownAddresses:o,renderAddress:r}){let n=o?.[e.address],s=useMemo(()=>r?r(e.address):n?jsx("span",{className:"rounded bg-default-100 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-default-600",children:n}):jsx("span",{className:"font-mono text-[11px] text-default-500",children:ce(e.address,6,6)}),[e.address,r,n]);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(Pt,{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:Pe(e.ratio)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.startHoldingAt?be(e.startHoldingAt,t):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.lastActiveAt?be(e.lastActiveAt,t):"--"})]})}function Zs({chain:e,address:t,limit:o=50,initialSortBy:r="holdingUsd"}){let[n,s]=useState(r),[i,l]=useState(void 0),[a,d]=useState([]),m=useCallback(()=>{l(void 0),d([]);},[]),c=useCallback(y=>{y!==n&&(s(y),m());},[n,m]);useEffect(()=>{m();},[e,t,m]);let p=useMemo(()=>({chain:e,address:t,cursor:i,limit:o,sortBy:n}),[e,t,i,o,n]),{data:u,isPending:f,isFetching:h}=useTokenHoldersQuery(p);useEffect(()=>{u&&d(y=>i==null?[u]:y[y.length-1]?.endCursor===u.endCursor?y:[...y,u]);},[u,i]),useTokenSubscription({chain:e,address:t},()=>{});let g=useMemo(()=>a.flatMap(y=>y.data),[a]),x=a[a.length-1],b=!!(x?.hasNext&&x.endCursor),k=useCallback(()=>{!x?.endCursor||!x.hasNext||l(x.endCursor);},[x]);return {holders:g,isLoading:f||h,sortBy:n,setSortBy:c,hasMore:b,loadMore:k}}function YT({chain:e,address:t,limit:o,initialSortBy:r,initialOnlyTracked:n=false,wellKnownAddresses:s,className:i,renderAddress:l}){let[a,d]=useState(n),{holders:m,isLoading:c,sortBy:p,setSortBy:u,hasMore:f,loadMore:h}=Zs({chain:e,address:t,limit:o,initialSortBy:r});return jsx(Xs,{holders:m,isLoading:c,sortBy:p,onSortByChange:u,onlyTracked:a,onOnlyTrackedChange:d,wellKnownAddresses:s,hasMore:f,onLoadMore:h,className:i,renderAddress:l})}var Uc=[{value:"timestamp",label:"Latest"},{value:"totalUsd",label:"Top USD"}],Oc=[{value:"all",label:"All"},{value:"buy",label:"Buys"},{value:"sell",label:"Sells"}],Dc=[{value:"all",label:"All"},{value:"dev",label:"DEV"},{value:"tracked",label:"TRACKED"},{value:"you",label:"YOU"}];function js({activities:e,isLoading:t,sortBy:o,onSortByChange:r,typeFilter:n="all",onTypeFilterChange:s,traderFilter:i="all",onTraderFilterChange:l,youWalletAddress:a,currency:d="usd",onCurrencyChange:m,onLoadMore:c,hasMore:p,now:u=Date.now(),nativeDecimals:f=9,nativeSymbol:h="SOL",className:g,onRowClick:x}){let b=Bc(e,i,a);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:[Oc.map(k=>jsx("button",{type:"button",onClick:()=>s?.(k.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",n===k.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:k.label},k.value)),jsx("span",{className:"mx-1 h-3 w-px bg-default-200","aria-hidden":true}),Dc.map(k=>{let y=i===k.value,K=k.value==="you"&&!a;return jsx("button",{type:"button",disabled:K,onClick:()=>l?.(k.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",y?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground",K&&"cursor-not-allowed opacity-50"),children:k.label},k.value)})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx(Ec,{value:d,nativeSymbol:h,onChange:m}),jsx("div",{className:"flex items-center gap-1",children:Uc.map(k=>jsx("button",{type:"button",onClick:()=>r(k.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",o===k.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:k.label},k.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:[b.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-8 text-center text-default-400",children:"No activities"})}),b.map(k=>jsx(_c,{activity:k,now:u,nativeDecimals:f,nativeSymbol:h,currency:d,onRowClick:x},k.txHash)),t&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),p&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:c,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 Wc(e){return e.type==="buy"?e.to:e.type==="sell"?e.from:e.to}function Bc(e,t,o){if(t==="all")return e;if(t==="you"){if(!o)return [];let n=o.toLowerCase();return e.filter(s=>s.walletAddress?.toLowerCase()===n)}if(t==="dev")return e.filter(n=>n.traderTags?.some(s=>s==="dev"));let r=new Set(["kol","smart","bluechip"]);return e.filter(n=>n.traderTags?.some(s=>r.has(s)))}function Ec({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(n=>jsx("button",{type:"button",onClick:()=>o?.(n.k),className:cn$1("rounded px-2 transition-colors",e===n.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:n.label},n.k))})}function Vc(e,t,o){if(!e)return "--";let r=Number(e)/Math.pow(10,t);return Number.isFinite(r)?`${formatAmount(r)} ${o}`:"--"}function _c({activity:e,now:t,nativeDecimals:o,nativeSymbol:r,currency:n,onRowClick:s}){let i=Wc(e),l=e.type==="buy"?"Buy":e.type==="sell"?"Sell":e.type.replace(/_/g," "),a=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",s&&"cursor-pointer"),onClick:s?()=>s(e):void 0,children:[jsx("td",{className:cn$1("px-3 py-2 align-middle font-medium capitalize",a),children:l}),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:ce(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:n==="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:Vc(e.gasFee,o,r)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:be(e.time,t)})]})}function on({chain:e,address:t,limit:o=50,initialSortBy:r="timestamp",initialTypeFilter:n="all"}){let[s,i]=useState(r),[l,a]=useState(n),[d,m]=useState(void 0),[c,p]=useState([]),[u,f]=useState([]),h=useCallback(()=>{m(void 0),p([]),f([]);},[]),g=useCallback(F=>{F!==s&&(i(F),h());},[s,h]),x=useCallback(F=>{F!==l&&(a(F),h());},[l,h]);useEffect(()=>{h();},[e,t,h]);let b=l==="all"?void 0:l,k=useMemo(()=>({chain:e,address:t,cursor:d,limit:o,sortBy:s,type:b}),[e,t,d,o,s,b]),{data:y,isPending:K,isFetching:J}=useTokenActivitiesQuery(k);useEffect(()=>{y&&p(F=>d==null?[y]:F[F.length-1]?.endCursor===y.endCursor?F:[...F,y]);},[y,d]);let ne=s==="timestamp"&&l==="all"&&d==null;useTokenActivitiesSubscription({chain:e,address:t},F=>{!ne||!F?.length||f(le=>{let U=new Set(le.map($=>$.txHash)),te=F.filter($=>!U.has($.txHash));return te.length===0?le:[...te,...le].slice(0,100)});});let De=useMemo(()=>{let F=c.flatMap(te=>te.data);if(!ne||u.length===0)return F;let le=new Set(F.map(te=>te.txHash));return [...u.filter(te=>!le.has(te.txHash)),...F]},[c,u,ne]),V=c[c.length-1],We=!!(V?.hasNext&&V.endCursor),Be=useCallback(()=>{!V?.endCursor||!V.hasNext||m(V.endCursor);},[V]);return {activities:De,isLoading:K||J,sortBy:s,setSortBy:g,typeFilter:l,setTypeFilter:x,hasMore:We,loadMore:Be}}function xv({chain:e,address:t,limit:o,initialSortBy:r,initialTypeFilter:n,initialTraderFilter:s="all",initialCurrency:i="usd",youWalletAddress:l,nativeDecimals:a,nativeSymbol:d,className:m,onRowClick:c}){let[p,u]=useState(s),[f,h]=useState(i),{activities:g,isLoading:x,sortBy:b,setSortBy:k,typeFilter:y,setTypeFilter:K,hasMore:J,loadMore:ne}=on({chain:e,address:t,limit:o,initialSortBy:r,initialTypeFilter:n});return jsx(js,{activities:g,isLoading:x,sortBy:b,onSortByChange:k,typeFilter:y,onTypeFilterChange:K,traderFilter:p,onTraderFilterChange:u,youWalletAddress:l,currency:f,onCurrencyChange:h,hasMore:J,onLoadMore:ne,className:m,nativeDecimals:a,nativeSymbol:d,onRowClick:c})}function sn({stats:e,resolution:t,className:o}){let r=e?.[t],n=r?.traders??0,s=r?.buyers??0,i=r?.sellers??0;return jsx(Qe,{className:o,label:`Traders (${t})`,totalFormatted:formatAmount(n),buysFormatted:formatAmount(s),sellsFormatted:formatAmount(i),totalValue:n,buysValue:s})}function nn(e,t){return R(e,t)}function Hv({chain:e,address:t,resolution:o="24h",className:r}){let{token:n}=nn(e,t);return jsx(sn,{stats:n?.stats,resolution:o,className:r})}function an({stats:e,resolution:t,className:o}){let r=e?.[t],n=r?.trades??0,s=r?.buys??0,i=r?.sells??0;return jsx(Qe,{className:o,label:`Transactions (${t})`,totalFormatted:formatAmount(n),buysFormatted:formatAmount(s),sellsFormatted:formatAmount(i),totalValue:n,buysValue:s})}function ln(e,t){return R(e,t)}function qv({chain:e,address:t,resolution:o="24h",className:r}){let{token:n}=ln(e,t);return jsx(an,{stats:n?.stats,resolution:o,className:r})}function dn({stats:e,resolution:t,className:o}){let r=e?.[t],n=r?.volumesInUsd??"0",s=r?.buyVolumesInUsd??"0",i=r?.sellVolumesInUsd??"0";return jsx(Qe,{className:o,label:`Volume (${t})`,totalFormatted:formatAmountUSDCompact(n),buysFormatted:formatAmountUSDCompact(s),sellsFormatted:formatAmountUSDCompact(i),totalValue:n,buysValue:s})}function cn(e,t){return R(e,t)}function a0({chain:e,address:t,resolution:o="24h",className:r}){let{token:n}=cn(e,t);return jsx(dn,{stats:n?.stats,resolution:o,className:r})}function mn({security:e,externalUrl:t,externalLabel:o,className:r}){let n=[{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."}],s=n.every(i=>i.value!==void 0&&i.value===i.safeWhen);return jsxs("section",{className:cn$1("flex w-full flex-col gap-3",r),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":s?"text-success-500":"text-danger-500"),children:e===void 0?"--":s?"Safe":"Review"})]}),jsx("div",{className:"flex flex-col",children:n.map(i=>jsx(Zc,{...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 Zc({title:e,value:t,safeWhen:o,description:r}){let n=t!==void 0&&t===o,s=t===void 0?"--":n?"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:r,children:e}),jsx("span",{className:cn$1("text-xs",t===void 0?"text-default-400":n?"text-success-500":"text-danger-500"),children:s})]})}function pn(e,t){let{data:o,isLoading:r}=useTokenSecurityQuery({chain:e,address:t});return {security:o,isLoading:r}}function T0({chain:e,address:t,externalUrl:o,externalLabel:r,className:n}){let{security:s}=pn(e,t);return jsx(mn,{security:s,externalUrl:o,externalLabel:r,className:n})}function gn({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 xn(e,t){return R(e,t)}function U0({chain:e,address:t,className:o}){let{token:r}=xn(e,t);return jsx(gn,{token:r,className:o})}function bn({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:r,onPoolClick:n}){let[s,i]=useState(!e||e.length<=o),l=useCallback(()=>i(a=>!a),[]);return jsxs("section",{className:cn$1("flex w-full flex-col gap-3",r),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((a,d)=>jsxs("div",{className:cn$1("flex h-10 w-full items-center justify-between overflow-hidden text-xs",d>=o&&!s&&"hidden",n&&"cursor-pointer hover:bg-default-50"),onClick:n?()=>n(a):void 0,children:[jsxs("div",{className:"flex flex-col gap-0.5",children:[jsx("span",{className:"text-foreground",children:a.protocolFamily??a.protocolName??"Unknown"}),a.poolAddress&&jsxs("span",{className:"font-mono text-[10px] text-default-400",children:["Pool: ",ce(a.poolAddress,6,6)]})]}),jsx("div",{className:"text-default-500",children:formatAmountUSDCompact(a.tvlInUsd??0)})]},a.poolAddress??`${a.protocolFamily}-${d}`)),e.length>o&&jsx("div",{className:"flex justify-center pt-1",children:jsx("button",{type:"button",onClick:l,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:s?"Show less":"Show more"})})]})]})}function yn(e,t){return R(e,t)}function Z0({chain:e,address:t,collapseAt:o,className:r,onPoolClick:n}){let{token:s}=yn(e,t);return jsx(bn,{liquidities:s?.liquidities,totalTvlInUsd:s?.marketData?.tvlInUsd,collapseAt:o,className:r,onPoolClick:n})}function Tn({cexes:e,collapseAt:t=4,className:o}){let[r,n]=useState(!e||e.length<=t),s=useCallback(()=>n(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,l)=>{let a=l>=t&&!r,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",a&&"hidden"),children:i.name},i.id);return i.url?jsx("a",{href:i.url,target:"_blank",rel:"noreferrer noopener",className:cn$1(a&&"hidden"),children:d},i.id):d})}),e.length>t&&jsx("div",{className:"mt-3 flex justify-center",children:jsx("button",{type:"button",onClick:s,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:r?"Show less":"Show more"})})]})}function vn(e){return {cexes:e}}function pN({cexes:e,collapseAt:t,className:o}){let{cexes:r}=vn(e);return jsx(Tn,{cexes:r,collapseAt:t,className:o})}function Sn({categories:e,collapseAt:t=4,className:o,onCategoryClick:r}){let[n,s]=useState(!e||e.length<=t),i=useCallback(()=>s(l=>!l),[]);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((l,a)=>{let d=a>=t&&!n;return jsx(Chip,{size:"sm",className:cn$1("bg-default-100",d&&"hidden",r&&"cursor-pointer"),onClick:r?()=>r(l):void 0,children:l},l)})}),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:n?"Show less":"Show more"})})]})}function Cn(e,t){return R(e,t)}function LN({chain:e,address:t,collapseAt:o,className:r,onCategoryClick:n}){let{token:s}=Cn(e,t);return jsx(Sn,{categories:s?.tags,collapseAt:o,className:r,onCategoryClick:n})}var wn=["5m","1h","4h","24h"];function Ln({stats:e,resolution:t,className:o}){let r=e?.[t],n=new SafeBigNumber(r?.buyVolumesInUsd??0),s=new SafeBigNumber(r?.sellVolumesInUsd??0),i=n.plus(s),l=n.minus(s),a=i.eq(0)?50:Math.min(100,Math.max(0,n.div(i).times(100).toNumber())),d=[{label:`${t} Vol`,value:formatAmountUSDCompact(i.toString()),className:"text-foreground"},{label:"Buys",value:formatAmountUSDCompact(n.toString()),className:"text-bullish"},{label:"Sells",value:formatAmountUSDCompact(s.toString()),className:"text-bearish"},{label:"Net Vol.",value:formatAmountUSDCompact(l.abs().toString()),className:l.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(m=>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:m.label}),jsx("span",{className:cn$1("text-[13px] font-medium leading-none tabular-nums",m.className),children:m.value})]},m.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:`${a}%`}})})]})}function Pn({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(r=>{let s=e?.[r]?.priceChange,i=s?new SafeBigNumber(s):void 0,l=i?i.gte(0):void 0,a=r,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:a}),jsx("span",{className:cn$1("text-[13px] font-medium leading-none tabular-nums",l===void 0?"text-foreground":l?"text-bullish":"text-bearish"),children:d})]},r)})})}function Rn({chain:e,address:t}){let{data:o,isLoading:r}=useTokenStatsQuery({chain:e,address:t});return {stats:o,isLoading:r}}function $N({chain:e,address:t,baseResolution:o="5m",hoverResolutions:r=wn,height:n=64,className:s}){let{stats:i}=Rn({chain:e,address:t});return jsx(StatsFlipPanel,{className:s,height:n,base:jsx(Ln,{stats:i,resolution:o}),hover:jsx(Pn,{stats:i,resolutions:r})})}function An({positions:e,isLoading:t,hasMore:o,onLoadMore:r,currency:n="usd",onCurrencyChange:s,showHidden:i=false,onShowHiddenChange:l,nativeSymbol:a="Native",renderActions:d,className:m}){return jsxs("div",{className:cn$1("flex flex-col",m),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:c=>l?.(c.target.checked)}),"Show Hidden"]})]}),jsx(Sm,{value:n,nativeSymbol:a,onChange:s})]}),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(c=>jsx(Cm,{position:c,currency:n,renderActions:d},`${c.chain}:${c.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: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 Sm({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(n=>jsx("button",{type:"button",onClick:()=>o?.(n.k),className:cn$1("rounded px-2 transition-colors",e===n.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:n.label},n.k))})}function Cm({position:e,currency:t,renderActions:o}){let{bought:r,sold:n,remaining:s,pnl:i}=useMemo(()=>wm(e,t),[e,t]),l=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:l}),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:"px-3 py-2 text-right align-middle text-foreground",children:s}),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 wm(e,t){let o=t==="usd"?e.buyVolumesInUsd:e.buyVolumes,r=t==="usd"?e.sellVolumesInUsd:e.sellVolumes,n=t==="usd"?e.amountInUsd:e.amount,s=e.totalProfitInUsd,i=t==="usd"?formatAmountUSDCompact(o??0):formatAmount(o??0),l=t==="usd"?formatAmountUSDCompact(r??0):formatAmount(r??0),a=t==="usd"?formatAmountUSDCompact(n??0):formatAmount(n??0),d=s?new SafeBigNumber(s):void 0,m=d?d.gte(0):void 0,c=d?(m?"+":"")+formatAmountUSDCompact(d.toString()):"--",p=e.totalProfitRatio?formatPercent(e.totalProfitRatio,{showPlusGtThanZero:true}):void 0;return {bought:i,sold:l,remaining:a,pnl:{amount:c,ratio:p,isPositive:m}}}function In({chain:e,wallet:t,limit:o=50,initialShowHidden:r=false}){let[n,s]=useState(void 0),[i,l]=useState([]),[a,d]=useState(r);useEffect(()=>{s(void 0),l([]);},[e,t]);let m=useMemo(()=>({chain:e,address:t??"",cursor:n,limit:o,positionState:"open"}),[e,t,n,o]),{data:c,isPending:p,isFetching:u}=useWalletTokenPositionsQuery(m,{enabled:!!t});useEffect(()=>{c&&l(b=>n==null?[c]:b[b.length-1]?.endCursor===c.endCursor?b:[...b,c]);},[c,n]);let f=useMemo(()=>i.flatMap(b=>b.portfolios),[i]),h=i[i.length-1],g=!!(h?.hasNext&&h.endCursor),x=useCallback(()=>{!h?.endCursor||!h.hasNext||s(h.endCursor);},[h]);return {positions:f,isLoading:!!t&&(p||u),hasMore:g,loadMore:x,showHidden:a,setShowHidden:d}}function aS({chain:e,wallet:t,limit:o,initialCurrency:r="usd",nativeSymbol:n,renderActions:s,className:i}){let[l,a]=useState(r),{positions:d,isLoading:m,hasMore:c,loadMore:p,showHidden:u,setShowHidden:f}=In({chain:e,wallet:t,limit:o});return jsx(An,{className:i,positions:d,isLoading:m,hasMore:c,onLoadMore:p,currency:l,onCurrencyChange:a,showHidden:u,onShowHiddenChange:f,nativeSymbol:n,renderActions:s})}function Fn({orders:e,isLoading:t,unavailable:o,hasMore:r,onLoadMore:n,stateFilter:s,onStateFilterChange:i,onlyThisToken:l=false,onOnlyThisTokenChange:a,tokenSymbol:d,currency:m="usd",onCurrencyChange:c,nativeSymbol:p="Native",onCancelAll:u,renderActions:f,className:h}){return jsxs("div",{className:cn$1("flex flex-col",h),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",s===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:l,onChange:g=>a?.(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(Fm,{value:m,nativeSymbol:p,onChange:c})]})]}),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 ",s==="active"?"active":"historical"," orders"]})}):e.map(g=>jsx(Um,{order:g,currency:m,renderActions:f},g.id)),t&&!o&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&r&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:n,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 Fm({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(n=>jsx("button",{type:"button",onClick:()=>o?.(n.k),className:cn$1("rounded px-2 transition-colors",e===n.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:n.label},n.k))})}function Um({order:e,currency:t,renderActions:o}){let r=useMemo(()=>t==="usd"&&e.amountInUsd?formatAmountUSDCompact(e.amountInUsd):formatAmount(e.amount),[t,e.amount,e.amountInUsd]),n=e.side==="buy"?"Buy":"Sell",s=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",s),children:n}),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-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 Dm(e){return e instanceof Error&&e.code==="NotImplemented"}function Wm(e){return e==="active"?"active":"filled"}function Wn({chain:e,wallet:t,tokenAddress:o,limit:r=50,initialStateFilter:n="active",initialOnlyThisToken:s=false}){let[i,l]=useState(n),[a,d]=useState(s),[m,c]=useState(void 0),[p,u]=useState([]);useEffect(()=>{c(void 0),u([]);},[e,t,i,a,o]);let f=useCallback(V=>{V!==i&&l(V);},[i]),h=useMemo(()=>({chain:e,address:t??"",cursor:m,limit:r,state:Wm(i),tokenAddress:a?o:void 0}),[e,t,m,r,i,a,o]),{data:g,isPending:x,isFetching:b,error:k}=useWalletLimitOrdersQuery(h,{enabled:!!t});useEffect(()=>{g&&u(V=>m==null?[g]:V[V.length-1]?.endCursor===g.endCursor?V:[...V,g]);},[g,m]);let y=!!k&&Dm(k),K=useMemo(()=>p.flatMap(V=>V.data),[p]),J=p[p.length-1],ne=!!(J?.hasNext&&J.endCursor),De=useCallback(()=>{!J?.endCursor||!J.hasNext||c(J.endCursor);},[J]);return {orders:K,isLoading:!!t&&!y&&(x||b),unavailable:y,hasMore:ne,loadMore:De,stateFilter:i,setStateFilter:f,onlyThisToken:a,setOnlyThisToken:d}}function CS({chain:e,wallet:t,tokenAddress:o,tokenSymbol:r,limit:n,initialStateFilter:s="active",initialCurrency:i="usd",nativeSymbol:l,onCancelAll:a,renderActions:d,className:m}){let[c,p]=useState(i),{orders:u,isLoading:f,unavailable:h,hasMore:g,loadMore:x,stateFilter:b,setStateFilter:k,onlyThisToken:y,setOnlyThisToken:K}=Wn({chain:e,wallet:t,tokenAddress:o,limit:n,initialStateFilter:s});return jsx(Fn,{className:m,orders:u,isLoading:f,unavailable:h,hasMore:g,onLoadMore:x,stateFilter:b,onStateFilterChange:k,onlyThisToken:y,onOnlyThisTokenChange:K,tokenSymbol:r,currency:c,onCurrencyChange:p,nativeSymbol:l,onCancelAll:h?void 0:a,renderActions:d})}function Bn({traders:e,isLoading:t,hasMore:o,onLoadMore:r,onlyTracked:n=false,onOnlyTrackedChange:s,now:i=Date.now(),renderAddress:l,className:a}){return jsxs("div",{className:cn$1("flex flex-col",a),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:n,onChange:d=>s?.(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(Km,{trader:d,now:i,renderAddress:l},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: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 Km({trader:e,now:t,renderAddress:o}){let r=useMemo(()=>o?o(e.address):jsx("span",{className:"font-mono text-[11px] text-default-500",children:ce(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:r}),jsx("td",{className:"px-3 py-2 align-middle",children:jsx(Pt,{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:Pe(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?be(e.lastActiveAt,t):"--"})]})}function Vn({chain:e,address:t,limit:o=50,initialOnlyTracked:r=false}){let[n,s]=useState(void 0),[i,l]=useState([]),[a,d]=useState(r);useEffect(()=>{s(void 0),l([]);},[e,t]);let m=useMemo(()=>({chain:e,address:t,cursor:n,limit:o,sortBy:"realizedPnl"}),[e,t,n,o]),{data:c,isPending:p,isFetching:u}=useTokenTopTradersQuery(m);useEffect(()=>{c&&l(k=>n==null?[c]:k[k.length-1]?.endCursor===c.endCursor?k:[...k,c]);},[c,n]);let f=useMemo(()=>i.flatMap(k=>k.data),[i]),h=useMemo(()=>a?f.filter(k=>k.tags&&k.tags.length>0):f,[f,a]),g=i[i.length-1],x=!!(g?.hasNext&&g.endCursor),b=useCallback(()=>{!g?.endCursor||!g.hasNext||s(g.endCursor);},[g]);return {traders:h,isLoading:p||u,hasMore:x,loadMore:b,onlyTracked:a,setOnlyTracked:d}}function KS({chain:e,address:t,limit:o,className:r,renderAddress:n}){let{traders:s,isLoading:i,hasMore:l,loadMore:a,onlyTracked:d,setOnlyTracked:m}=Vn({chain:e,address:t,limit:o});return jsx(Bn,{className:r,traders:s,isLoading:i,hasMore:l,onLoadMore:a,onlyTracked:d,onOnlyTrackedChange:m,renderAddress:n})}function $n({tokens:e,isLoading:t,unavailable:o,hasMore:r,onLoadMore:n,renderTokenLink:s,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(l=>jsx(Xm,{token:l,renderTokenLink:s},`${l.chain}:${l.address}`)),!o&&t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&r&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:n,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 Xm({token:e,renderTokenLink:t}){let o=e.marketData?.marketCapInUsd??e.marketData?.marketCap,r=e.marketData?.tvlInUsd,s=e.stats?.["1h"]?.volumesInUsd,i=!!e.migratedTo,l=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:l}),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:r?formatAmountUSDCompact(r):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s?formatAmountUSDCompact(s):"--"})]})}function Kn({tokens:e,className:t}){let o=e.length,r=e.filter(l=>!!l.migratedTo).length,n=o===0?0:Math.round(r/o*100),s=e.map(l=>l.stats?.["1h"]?.volumesInUsd??"0").reduce((l,a)=>l.plus(new SafeBigNumber(a)),new SafeBigNumber(0)),i=e.map(l=>l.marketData?.marketCapInUsd??l.marketData?.marketCap??"0").reduce((l,a)=>l.plus(new SafeBigNumber(a)),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(Jt,{label:"Total",value:String(o)}),jsx(Jt,{label:"Migrated",value:`${r} (${n}%)`}),jsx(Jt,{label:"Total Market Cap",value:formatAmountUSDCompact(i.toString())}),jsx(Jt,{label:"Total 1h Volume",value:formatAmountUSDCompact(s.toString())})]})]})}function Jt({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 Zm(e){return e instanceof Error&&e.code==="NotImplemented"}function Gn({chain:e,creator:t,limit:o=20}){let[r,n]=useState(void 0),[s,i]=useState([]);useEffect(()=>{n(void 0),i([]);},[e,t]);let l=useMemo(()=>({chain:e,creator:t??"",cursor:r,limit:o}),[e,t,r,o]),{data:a,isPending:d,isFetching:m,error:c}=useTokensByCreatorQuery(l,{enabled:!!t});useEffect(()=>{a&&i(x=>r==null?[a]:x[x.length-1]?.endCursor===a.endCursor?x:[...x,a]);},[a,r]);let p=!!c&&Zm(c),u=useMemo(()=>s.flatMap(x=>x.data),[s]),f=s[s.length-1],h=!!(f?.hasNext&&f.endCursor),g=useCallback(()=>{!f?.endCursor||!f.hasNext||n(f.endCursor);},[f]);return {tokens:u,isLoading:!!t&&!p&&(d||m),unavailable:p,hasMore:h,loadMore:g}}function iC({chain:e,creator:t,limit:o,showSummary:r=false,renderTokenLink:n,className:s}){let{tokens:i,isLoading:l,unavailable:a,hasMore:d,loadMore:m}=Gn({chain:e,creator:t,limit:o});return jsxs("div",{className:s,children:[jsx($n,{tokens:i,isLoading:l,unavailable:a,hasMore:d,onLoadMore:m,renderTokenLink:n}),r&&!a?jsx(Kn,{tokens:i}):null]})}function Yn({token:e,athInUsd:t,athAt:o,globalFeesPaidInUsd:r,rank:n,onTogglePin:s,pinned:i,className:l}){let a=e?.marketData?.priceInUsd,d=e?.marketData?.tvlInUsd,m=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]",l),children:[jsx(tt,{label:"Price",value:a?formatPriceUSD(a):"--"}),jsx(tt,{label:"Liquidity",value:d?formatAmountUSDCompact(d):"--"}),jsx(tt,{label:"Supply",value:m?formatAmount(m):"--"}),r?jsx(tt,{label:"Fees Paid",value:formatAmountUSDCompact(r)}):null,t?jsx(tt,{label:"ATH",value:formatAmountUSDCompact(t),title:o?`All-time high at ${o.toLocaleDateString()}`:void 0}):null,n!==void 0?jsx(tt,{label:"Rank",value:`#${n}`}):null,jsx("div",{className:"flex-1"}),s?jsx("button",{type:"button",onClick:s,"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 tt({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 jn({chain:e,address:t}){return R(e,t)}function TC({chain:e,address:t,athInUsd:o,athAt:r,globalFeesPaidInUsd:n,rank:s,pinned:i,onTogglePin:l,className:a}){let{token:d}=jn({chain:e,address:t});return jsx(Yn,{className:a,token:d,athInUsd:o,athAt:r,globalFeesPaidInUsd:n,rank:s,pinned:i,onTogglePin:l})}function ei({tokens:e,isLoading:t,unavailable:o,onTokenClick:r,className:n}){return o?jsx("div",{className:cn$1("flex items-center justify-center p-4 text-center text-[11px] text-default-400",n),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",n),children:"No similar tokens found."}):jsxs("ul",{className:cn$1("flex flex-col",n),children:[e.map(s=>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",!r&&"cursor-default"),onClick:r?()=>r(s):void 0,children:[jsx(Avatar,{src:s.image??void 0,name:(s.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:s.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:s.name})]}),jsx("span",{className:"text-[11px] tabular-nums text-default-500",children:s.marketData?.marketCapInUsd?formatAmountUSDCompact(s.marketData.marketCapInUsd):"--"})]},`${s.chain}:${s.address}`)),t&&jsx("li",{className:"py-2 text-center text-[11px] text-default-400",children:"Loading\u2026"})]})}function ti({chain:e,address:t,keyword:o,limit:r=10}){let n=!!o&&o.length>0,{data:s,isPending:i,isFetching:l}=useSearchTokensQuery({chains:[e],keyword:o,limit:r+1},{enabled:n});return {tokens:useMemo(()=>{if(!s)return [];let d=t.toLowerCase();return (s.data??[]).filter(m=>m.address.toLowerCase()!==d).slice(0,r)},[s,t,r]),isLoading:n&&(i||l),unavailable:!n}}function DC({chain:e,address:t,keyword:o,limit:r,onTokenClick:n,className:s}){let{tokens:i,isLoading:l,unavailable:a}=ti({chain:e,address:t,keyword:o,limit:r});return jsx(ei,{className:s,tokens:i,isLoading:l,unavailable:a,onTokenClick:n})}function oi({tokens:e=[],unavailable:t=true,onTokenClick:o,className:r}){return t?jsx("div",{className:cn$1("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),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",r),children:"No reused-image tokens found."}):jsx("div",{className:cn$1("flex flex-row flex-wrap gap-2 p-3",r),children:e.map(n=>jsx("button",{type:"button",onClick:o?()=>o(n):void 0,className:"flex size-10 items-center justify-center overflow-hidden rounded-full border border-default-100 transition-opacity hover:opacity-80",title:n.symbol,children:jsx(Avatar,{src:n.image??void 0,name:(n.symbol??"?").slice(0,1),className:"size-full bg-default-100 text-[10px] text-default-400",showFallback:true})},`${n.chain}:${n.address}`))})}function ri(e){return {tokens:[],isLoading:false,unavailable:true}}function JC({chain:e,address:t,onTokenClick:o,className:r}){let{tokens:n,unavailable:s}=ri();return jsx(oi,{className:r,tokens:n,unavailable:s,onTokenClick:o})}function li({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:r,className:n}){let{t:s}=useTranslation(),[i,l]=useState(e?.join(", ")??""),[a,d]=useState(t?.join(", ")??"");useEffect(()=>{l(p=>{let u=Zt(p);return u===void 0&&e===void 0?p:u===void 0?e?.join(", ")??"":e===void 0?"":u.join("")===e.join("")?p:e.join(", ")});},[e]),useEffect(()=>{d(p=>{let u=Zt(p);return u===void 0&&t===void 0?p:u===void 0?t?.join(", ")??"":t===void 0?"":u.join("")===t.join("")?p:t.join(", ")});},[t]);let m=useCallback(p=>{l(p),o?.(Zt(p));},[o]),c=useCallback(p=>{d(p),r?.(Zt(p));},[r]);return jsxs("div",{className:cn$1("grid grid-cols-2 gap-3 px-4",n),children:[jsxs("div",{className:"flex flex-col gap-3",children:[jsx("h3",{className:"text-xs text-neutral",children:s("tokens.filters.keywords.title")}),jsx(StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.keywords.placeholder"),value:i,onValueChange:m})]}),jsxs("div",{className:"flex flex-col gap-3",children:[jsx("h3",{className:"text-xs text-neutral",children:s("tokens.filters.keywords.exclude.title")}),jsx(StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.keywords.placeholder"),value:a,onValueChange:c})]})]})}function Zt(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function fi({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:r}){let{t:n}=useTranslation(),[s,i]=useState(t);useEffect(()=>{i(t);},[t]);let l=useMemo(()=>e.every(m=>s.includes(m)),[e,s]),a=useCallback(()=>{if(l){let m=[];i(m),o?.(m);}else {let m=[...e];i(m),o?.(m);}},[e,o,l]),d=useCallback(m=>()=>{if(s.includes(m)){let c=s.filter(p=>p!==m);i(c),o?.(c);}else {let c=[...s,m];i(c),o?.(c);}},[s,o]);return jsxs("div",{className:cn$1("flex flex-col gap-3 px-4",r),children:[jsxs("div",{className:"flex justify-between items-center",children:[jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.protocols.title")}),jsx(Button,{variant:"light",color:"default",size:"sm",radius:"full",onPress:a,children:n(l?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(m=>{let c=Ce(m);return jsx(Button,{variant:"bordered",size:"sm",radius:"full",className:cn$1("w-fit h-6 px-2.5",c.text,c.bg5,"border",c.border,{"opacity-40 data-[hover=true]:!opacity-30":!s.includes(m)}),startContent:jsx(Image,{width:14,height:14,src:`/images/protocols/${m}.svg`,alt:formatTokenProtocolName(m)}),onPress:d(m),children:formatTokenProtocolName(m)},m)})})]})}function fe({title:e,field:t,value:o,onChange:r}){let{t:n}=useTranslation(),[s,i]=useState(o?Qo(o).min:NaN),[l,a]=useState(o?Qo(o).max:NaN);useEffect(()=>{if(o===void 0)i(NaN),a(NaN);else {let{min:c,max:p}=Qo(o);i(c),a(p);}},[o]);let d=useCallback(c=>{i(c),r?.(ki(t,c,l));},[t,r,l]),m=useCallback(c=>{a(c),r?.(ki(t,s,c));},[t,r,s]);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:s,onValueChange:d,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsx(StyledNumberInput,{value:l,onValueChange:m,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function Qo(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 ki(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 yi({values:e,onValuesChange:t,className:o}){let{t:r}=useTranslation(),[n,s]=useState(e);useEffect(()=>{s(e);},[e]);let i=useCallback(l=>a=>{if(a===void 0){let d=(n??[]).filter(m=>m.field!==l);d=d.length>0?d:void 0,s(d),t?.(d);}else {let d=[...(n??[]).filter(m=>m.field!==l),a];s(d),t?.(d);}},[n,t]);return jsxs("div",{className:cn$1("flex flex-col gap-4",o),children:[jsx(fe,{field:"holders",title:r("tokens.filters.stats.audits.holders"),value:n?.find(l=>l.field==="holders"),onChange:i("holders")}),jsx(fe,{field:"top10Ratio",title:r("tokens.filters.stats.audits.top10HoldingsRatio"),value:n?.find(l=>l.field==="top10Ratio"),onChange:i("top10Ratio")}),jsx(fe,{field:"top100Ratio",title:r("tokens.filters.stats.audits.top100HoldingsRatio"),value:n?.find(l=>l.field==="top100Ratio"),onChange:i("top100Ratio")}),jsx(fe,{field:"creatorsRatio",title:r("tokens.filters.stats.audits.devHoldingsRatio"),value:n?.find(l=>l.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function Ti({resolution:e,values:t,onValuesChange:o,className:r}){let{t:n}=useTranslation(),[s,i]=useState(t);useEffect(()=>{i(t);},[t]);let l=useCallback(a=>d=>{if(d===void 0){let m=(s??[]).filter(c=>c.field!==a);m=m.length>0?m:void 0,i(m),o?.(m);}else {let m=[...(s??[]).filter(c=>c.field!==a),d];i(m),o?.(m);}},[s,o]);return jsxs("div",{className:cn$1("flex flex-col gap-4",r),children:[jsx(fe,{field:"marketCap",title:n("tokens.filters.stats.metrics.marketCap"),value:s?.find(a=>a.field==="marketCap"),onChange:l("marketCap")}),jsx(fe,{field:"tvl",title:n("tokens.filters.stats.metrics.liquidity"),value:s?.find(a=>a.field==="tvl"),onChange:l("tvl")}),jsx(fe,{field:`volumes${e}`,title:n("tokens.filters.stats.metrics.volumes",{resolution:n(`common.resolution.${e}`)}),value:s?.find(a=>a.field===`volumes${e}`),onChange:l(`volumes${e}`)}),jsx(fe,{field:`trades${e}`,title:n("tokens.filters.stats.metrics.txns",{resolution:n(`common.resolution.${e}`)}),value:s?.find(a=>a.field===`trades${e}`),onChange:l(`trades${e}`)})]})}function Li({resolution:e,values:t,onValuesChange:o,className:r}){let{t:n}=useTranslation(),[s,i]=useState("audits"),[l,a]=useState(t);useEffect(()=>{a(t);},[t]);let d=useCallback(p=>{a(p),o?.(p);},[o]),m=useMemo(()=>{let p=["holders","top10Ratio","top100Ratio","creatorsRatio"];return l?.filter(u=>p.includes(u.field))?.length??0},[l]),c=useMemo(()=>{let p=["marketCap","tvl",`volumes${e}`,`trades${e}`];return l?.filter(u=>p.includes(u.field)).length??0},[l,e]);return jsxs("div",{className:cn$1("flex flex-col gap-3 px-4",r),children:[jsxs(StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:s,onSelectionChange:i,children:[jsx(Tab,{title:m===0?n("tokens.filters.stats.audits"):jsx(StyledBadge,{color:"primary",size:"sm",content:m,shape:"circle",children:n("tokens.filters.stats.audits")})},"audits"),jsx(Tab,{title:c===0?n("tokens.filters.stats.metrics"):jsx(StyledBadge,{color:"primary",size:"sm",content:c,shape:"circle",children:n("tokens.filters.stats.metrics")})},"metrics")]}),jsx(yi,{values:l,onValuesChange:d,className:cn$1({hidden:s!=="audits"})}),jsx(Ti,{values:l,onValuesChange:d,resolution:e,className:cn$1({hidden:s!=="metrics"})})]})}function io({protocols:e,resolution:t,filters:o,onFiltersChange:r,className:n}){let[s,i]=useState(Pi(o?.filters,e));useEffect(()=>{i(Pi(o?.filters,e));},[o?.filters,e]);let[l,a]=useState(o?.keywords);useEffect(()=>{a(o?.keywords);},[o?.keywords]);let[d,m]=useState(o?.excludeKeywords);useEffect(()=>{m(o?.excludeKeywords);},[o?.excludeKeywords]);let[c,p]=useState(o?.filters);useEffect(()=>{p(o?.filters);},[o?.filters]);let u=useCallback(x=>{i(x),r?.(no(e,x,l,d,c));},[e,l,d,c,r]),f=useCallback(x=>{a(x),r?.(no(e,s,x,d,c));},[e,s,d,c,r]),h=useCallback(x=>{m(x),r?.(no(e,s,l,x,c));},[e,s,l,c,r]),g=useCallback(x=>{p(x),r?.(no(e,s,l,d,x));},[e,s,l,d,r]);return jsxs("div",{className:cn$1("flex flex-col gap-4",n),children:[e&&e.length>0&&jsxs(Fragment,{children:[jsx(fi,{protocols:e,selectedProtocols:s,onSelectedProtocolsChange:u}),jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}})]}),jsx(li,{keywords:l,excludeKeywords:d,onKeywordsChange:f,onExcludeKeywordsChange:h}),jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}}),jsx(Li,{resolution:t,values:c,onValuesChange:g})]})}function Pi(e,t){let o=e?.find(r=>r.field==="launchedFromProtocolFamily");return o?o.operator==="in"?o.value:(console.warn("invalid token protocols filter",o),[...t||[]]):[...t||[]]}function no(e,t,o,r,n){let s=n?[...n.filter(i=>i.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(l=>t.includes(l))||s.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&r===void 0&&s.length===0?void 0:{keywords:o,excludeKeywords:r,filters:s.length>0?s:void 0}}function Mi({protocols:e,resolution:t,filters:o,onFiltersChange:r}){let{t:n}=useTranslation(),{isOpen:s,onOpen:i,onClose:l,onOpenChange:a}=useDisclosure(),[d,m]=useState(o),c=useCallback(()=>{m(void 0);},[]),p=useCallback(()=>{r?.(d),l();},[d,r,l]);useEffect(()=>{m(o);},[s,o]);let u=useMemo(()=>Object.values(o||{}).every(f=>f===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:s,onOpenChange:a,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:n("tokens.filters.modal.title")})}),jsx(ModalBody,{className:"px-0 pt-0 pb-4",children:jsx(ScrollShadow,{children:jsx(io,{protocols:e,resolution:t,filters:d,onFiltersChange:m,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:c,children:n("common.reset")}),jsx(Button,{color:"primary",size:"sm",radius:"full",onPress:p,children:n("common.apply")})]})})]})})]})}var ru={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},su={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"},nu={height:1,background:"rgba(39,39,42,1)",margin:0};function Oi({protocols:e,resolution:t,filters:o,onFiltersChange:r}){let{t:n}=useTranslation(),[s,i]=useState(false),l=useRef(null),[a,d]=useState(o),m=useCallback(()=>{d(void 0);},[]),c=useCallback(()=>{r?.(a),i(false);},[a,r]);useEffect(()=>{d(o);},[s,o]),useEffect(()=>{let u=f=>{l.current&&!l.current.contains(f.target)&&i(false);};return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]),useEffect(()=>{if(!s)return;let u=f=>{f.key==="Escape"&&i(false);};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[s]);let p=useMemo(()=>Object.values(o||{}).every(u=>u===void 0),[o]);return jsxs("div",{ref:l,style:{position:"relative"},children:[jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxs("button",{type:"button",style:ru,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:n("tokens.listHeader.filter")}),jsx(iu,{open:s})]}),!p&&jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),s&&jsxs("div",{style:{...su,width:420},children:[jsx("div",{style:{padding:"16px 0"},children:jsx(ScrollShadow,{className:"w-full max-h-120 px-4",children:jsx(io,{protocols:e,resolution:t,filters:a,onFiltersChange:d})})}),jsx("div",{style:nu}),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:m,children:n("common.reset")}),jsx(Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:c,children:n("common.apply")})]})]})]})}function iu({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(Mi,{...t}):jsx(Oi,{placement:e,...t})}function Bi({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:r}=useTranslation(),n=useCallback(s=>{t?.(s);},[t]);return jsx(StyledPlainTabs,{color:"primary",radius:"lg",selectedKey:e,onSelectionChange:n,"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(s=>jsx(Tab,{title:r(`common.resolution.${s}`)},s))})}var bu={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},yu={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 Vi({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:r}=useTranslation(),[n,s]=useState(false),i=useRef(null),l=useCallback(a=>{t?.(a),s(false);},[t]);return useEffect(()=>{if(!n)return;let a=m=>{i.current&&!i.current.contains(m.target)&&s(false);},d=m=>{m.key==="Escape"&&s(false);};return document.addEventListener("mousedown",a),document.addEventListener("keydown",d),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",d);}},[n]),jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxs("button",{type:"button",style:bu,onClick:()=>s(a=>!a),children:[jsx("span",{children:e?r(`common.resolution.${e}`):"\u2014"}),jsx(ChevronDownIcon,{width:14,height:14,className:"text-zinc-500",style:{transition:"transform 0.15s",transform:n?"rotate(180deg)":void 0}})]}),n&&jsx("div",{style:yu,children:o.map(a=>jsx("button",{type:"button",onClick:()=>l(a),className:cn$1("w-full text-left px-3 py-1.5 rounded-lg text-xs font-medium transition-colors cursor-pointer",a===e?"text-primary bg-primary/10":"text-zinc-400 hover:text-foreground hover:bg-zinc-800"),children:r(`common.resolution.${a}`)},a))})]})}function nP(e){let{isMobile:t}=useScreen();return t?jsx(Vi,{...e}):jsx(Bi,{...e})}function Ki({token:e}){let{t}=useTranslation(),o=useMemo(()=>e.marketData?.bluechipHoldingsRatio,[e.marketData?.bluechipHoldingsRatio]),r=useMemo(()=>o!==void 0&&new SafeBigNumber(o).gte(.1),[o]),n=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:[r&&jsx(HorsePowerHighIcon,{}),n&&jsx(HorsePowerLowIcon,{}),!r&&!n&&jsx(HorsePowerIcon,{}),jsx("span",{className:cn$1(r&&"text-bullish",!r&&!n&&"text-bearish",o===void 0&&"text-neutral"),children:formatPercent(o)})]})})}function zi({token:e}){let t=useCopyToClipboard(),{t:o}=useTranslation(),r=useCallback(s=>{s.preventDefault(),s.stopPropagation(),t(e.address,()=>toast.success(o("tokens.copied.address")));},[t,e.address,o]),n=useTickAge(e.createdAt);return jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsx(de,{token:e,showProgress:false,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:r,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(n)}),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"})})]})]})]})}function qi({token:e}){let{t}=useTranslation(),o=e.marketData,r=useMemo(()=>new SafeBigNumber(o?.top10HoldingsRatio).gte(.1),[o?.top10HoldingsRatio]),n=useMemo(()=>new SafeBigNumber(o?.devHoldingsRatio).gte(.1),[o?.devHoldingsRatio]),s=useMemo(()=>new SafeBigNumber(o?.sniperHoldingsRatio).gte(.1),[o?.sniperHoldingsRatio]),i=useMemo(()=>new SafeBigNumber(o?.insiderHoldingsRatio).gte(.1),[o?.insiderHoldingsRatio]),l=useMemo(()=>new SafeBigNumber(o?.bundleHoldingsRatio).gte(.1),[o?.bundleHoldingsRatio]);return jsxs("div",{className:"w-full h-full flex flex-col gap-1 justify-center",children:[jsxs("div",{className:"flex items-center gap-1",children:[jsx(W,{icon:jsx(PeopleIcon,{width:12,height:12}),value:formatAmount(o?.holders),tooltip:t("tokens.tokenInfo.holders"),warning:false,disable:!o?.holders}),jsx(W,{icon:jsx(KlineCandlesIcon,{width:12,height:12}),value:formatAmount(o?.proHolders),tooltip:t("tokens.tokenInfo.proHolders"),warning:false,disable:!o?.proHolders}),jsx(W,{icon:jsx(StarIcon,{width:12,height:12}),value:formatAmount(o?.kolHolders),tooltip:t("tokens.tokenInfo.kolHolders"),warning:false,disable:!o?.kolHolders}),jsx(W,{icon:jsx(UserWithStarBadgeIcon,{width:12,height:12}),value:formatPercent(o?.top10HoldingsRatio),tooltip:t("tokens.tokenInfo.top10HoldingsRatio"),warning:r,disable:!o?.top10HoldingsRatio||o?.top10HoldingsRatio==="0"})]}),jsxs("div",{className:"flex items-center gap-1",children:[jsx(W,{icon:jsx(CookIcon,{width:12,height:12}),value:formatPercent(o?.devHoldingsRatio),tooltip:t("tokens.tokenInfo.devHoldingsRatio"),warning:n,disable:!o?.devHoldingsRatio||o?.devHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsx(W,{icon:jsx(SniperIcon,{width:12,height:12}),value:formatPercent(o?.sniperHoldingsRatio),tooltip:t("tokens.tokenInfo.sniperHoldingsRatio"),warning:s,disable:!o?.sniperHoldingsRatio||o?.sniperHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsx(W,{icon:jsx(RatIcon,{width:12,height:12}),value:formatPercent(o?.insiderHoldingsRatio),tooltip:t("tokens.tokenInfo.insiderHoldingsRatio"),warning:i,disable:!o?.insiderHoldingsRatio||o?.insiderHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsx(W,{icon:jsx(BundlesIcon,{width:12,height:12}),value:formatPercent(o?.bundleHoldingsRatio),tooltip:t("tokens.tokenInfo.bundleHoldingsRatio"),warning:l,disable:!o?.bundleHoldingsRatio||o?.bundleHoldingsRatio==="0",tooltipPlacement:"bottom"})]})]})}function Qi({token:e}){let t=useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsx(Fragment,{children:formatAmountUSD(t)})}function Gi({token:e}){let t=useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsx(Fragment,{children:formatAmountUSD(t)})}function Yi({token:e,resolution:t}){let o=useMemo(()=>e.marketData?.priceInUsd,[e]),r=useMemo(()=>e.stats?.[t]?.priceChange,[e,t]),n=useMemo(()=>r?new SafeBigNumber(r).abs().toString():void 0,[r]),s=useMemo(()=>r&&new SafeBigNumber(r).gte(0),[r]);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",s?"text-bullish":"text-bearish"),children:[s?jsx(TriangleUpIcon,{width:10,height:10}):jsx(TriangleDownIcon,{width:10,height:10}),jsx("span",{children:formatPercent(n)})]})]})}function ji({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.traders,[e.stats?.[t]?.traders]),r=useMemo(()=>e.stats?.[t]?.buyers,[e.stats?.[t]?.buyers]),n=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(r)}),"/",jsx("span",{className:"text-bearish",children:formatAmount(n)})]})]})}function ta({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.trades,[e.stats?.[t]?.trades]),r=useMemo(()=>e.stats?.[t]?.buys,[e.stats?.[t]?.buys]),n=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(r)}),"/",jsx("span",{className:"text-bearish",children:formatAmount(n)})]})]})}function ra({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.volumesInUsd,[e.stats?.[t]?.volumesInUsd]),r=useMemo(()=>e.stats?.[t]?.buyVolumesInUsd,[e.stats?.[t]?.buyVolumesInUsd]),n=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(r)}),"/",jsx("span",{className:"text-bearish",children:formatAmountUSD(n)})]})]})}var uf=`
21
+ `})]})}function Rr({token:e,renderAction:t,isLast:o=false,onSelectToken:r,className:n}){let{t:s}=useTranslation(),i=useCopyToClipboard(),l=useTickAge(e.createdAt),a=e.marketData,d=e.stats?.["1h"],m=useCallback(()=>{r?.(e);},[r,e]),c=useCallback(U=>{U.stopPropagation(),i(e.address,()=>toast.success(s("tokens.copied.address")));},[i,e.address,s]),p=useMemo(()=>d?.volumesInUsd,[d?.volumesInUsd]),u=useMemo(()=>d?.buyVolumesInUsd,[d?.buyVolumesInUsd]),f=useMemo(()=>d?.sellVolumesInUsd,[d?.sellVolumesInUsd]),g=useMemo(()=>d?.trades,[d?.trades]),k=useMemo(()=>a?.marketCapInUsd,[a?.marketCapInUsd]),x=useMemo(()=>a?.tvlInUsd,[a?.tvlInUsd]),b=useMemo(()=>{let U=new SafeBigNumber(k);return U.lt(1e3)?"text-foreground":U.lt(1e6)?"text-secondary":"text-primary"},[k]),h=useMemo(()=>new SafeBigNumber(a?.top10HoldingsRatio).gte(.1),[a?.top10HoldingsRatio]),v=useMemo(()=>new SafeBigNumber(a?.devHoldingsRatio).gte(.1),[a?.devHoldingsRatio]),K=useMemo(()=>new SafeBigNumber(a?.insiderHoldingsRatio).gte(.1),[a?.insiderHoldingsRatio]),J=useMemo(()=>new SafeBigNumber(a?.sniperHoldingsRatio).gte(.1),[a?.sniperHoldingsRatio]),ne=useMemo(()=>new SafeBigNumber(a?.bundleHoldingsRatio).gte(.1),[a?.bundleHoldingsRatio]),[De,E]=useMemo(()=>{let U=Number(d?.buys??0),te=Number(d?.sells??0),_=U+te;if(_===0)return [12,12];let pr=Math.round(U/_*24);return [pr,24-pr]},[d?.buys,d?.sells]),We=a?.holders!==void 0&&a.holders>0,Be=a?.proHolders!==void 0&&a.proHolders>0,F=a?.kolHolders!==void 0&&a.kolHolders>0,le=We||Be||F;return jsxs("div",{className:cn$1("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer border-b",n),style:o?void 0:{borderBottomColor:"rgba(39,39,42,0.6)"},onClick:r?m:void 0,children:[jsxs("div",{className:"flex items-start gap-2",children:[jsxs("div",{className:"flex-none flex flex-col items-center gap-2",children:[jsx(de,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-20 h-20"}),jsxs("button",{type:"button",className:"text-xs font-mono text-neutral hover:text-foreground leading-none",onClick:c,"aria-label":s("tokens.copied.address"),title:s("tokens.copied.address"),children:[e.address.slice(0,4),"...",e.address.slice(-4)]})]}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-2.5",children:[jsxs("button",{type:"button",className:"flex items-center gap-1.5 min-w-0 text-left",onClick:c,"aria-label":s("tokens.copied.address"),title:s("tokens.copied.address"),children:[jsx("span",{className:"flex-none text-sm font-semibold leading-none whitespace-nowrap overflow-hidden text-ellipsis max-w-24",children:e.symbol}),jsx(StyledTooltip,{content:e.name,children:jsx("span",{className:"text-[13px] leading-none text-neutral truncate max-w-20",children:e.name})}),jsx(CopyIcon,{className:"flex-none w-3.5 h-3.5 text-neutral"})]}),jsxs("div",{className:"flex items-center gap-2 leading-none",children:[jsx("span",{className:"text-[13px] font-mono font-medium text-neutral",children:formatAge(l)}),e.socialMedias?.website&&jsx(Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:U=>U.stopPropagation(),children:jsx(WebsiteIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.twitter&&jsx(Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:U=>U.stopPropagation(),children:jsx(TwitterIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.telegram&&jsx(Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:U=>U.stopPropagation(),children:jsx(TelegramIcon,{className:"w-3.5 h-3.5"})}),jsx(Link,{href:searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"max-sm:hidden text-neutral hover:text-primary",target:"_blank",onClick:U=>U.stopPropagation(),children:jsx(SearchIcon,{className:"w-3.5 h-3.5"})})]}),jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-foreground/80 leading-none",children:[jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsx("span",{className:"text-neutral",children:"MC"}),jsx("span",{className:cn$1(b),children:formatAmountUSDCompact(k)})]}),jsx("span",{className:"text-neutral/30",children:"\xB7"}),jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsx("span",{className:"text-neutral",children:"Liq"}),jsx("span",{children:formatAmountUSDCompact(x)})]})]}),le&&jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-neutral leading-none",children:[We&&jsx(StyledTooltip,{content:s("tokens.tokenInfo.holders"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(PeopleIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(a?.holders)]})}),Be&&jsx(StyledTooltip,{content:s("tokens.tokenInfo.proHolders"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(KlineCandlesIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(a?.proHolders)]})}),F&&jsx(StyledTooltip,{content:s("tokens.tokenInfo.kolHolders"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(StarIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(a?.kolHolders)]})})]})]}),jsxs("div",{className:"flex-none flex flex-col items-end gap-2.5 leading-none font-mono",children:[jsx("div",{className:"flex flex-col items-end gap-1",children:jsx("span",{className:cn$1("text-base font-bold leading-none",b),children:formatAmountUSDCompact(k)})}),jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsxs("div",{className:"flex items-baseline gap-1",children:[jsx("span",{className:"text-xs text-neutral",children:"V"}),jsx("span",{className:"text-xs text-foreground/80",children:formatAmountUSDCompact(p)})]}),jsxs("span",{className:"text-[10px] leading-none",children:[jsx("span",{className:"text-bullish",children:formatAmountUSDCompact(u)}),jsx("span",{className:"text-neutral/50 mx-0.5",children:"/"}),jsx("span",{className:"text-bearish",children:formatAmountUSDCompact(f)})]})]}),jsxs("div",{className:"flex items-baseline gap-1",children:[jsx("span",{className:"text-xs text-neutral",children:"TX"}),jsx("span",{className:"text-xs text-foreground/80",children:formatAmount(g)})]})]})]}),jsxs("div",{className:"mt-2.5 flex items-start gap-4 relative",children:[jsx(HorizontalScrollContainer,{className:"flex-auto min-w-0",forceShowArrows:true,children:jsxs("div",{className:"flex items-center gap-1",children:[jsx(W,{icon:jsx(UserWithStarBadgeIcon,{width:12,height:12}),value:formatPercent(a?.top10HoldingsRatio),tooltip:s("tokens.tokenInfo.top10HoldingsRatio"),warning:h,disable:!a?.top10HoldingsRatio||a?.top10HoldingsRatio==="0"}),jsx(W,{icon:jsx(CookIcon,{width:12,height:12}),value:formatPercent(a?.devHoldingsRatio),tooltip:s("tokens.tokenInfo.devHoldingsRatio"),warning:v,disable:!a?.devHoldingsRatio||a?.devHoldingsRatio==="0"}),jsx(W,{icon:jsx(SniperIcon,{width:12,height:12}),value:formatPercent(a?.sniperHoldingsRatio),tooltip:s("tokens.tokenInfo.sniperHoldingsRatio"),warning:J,disable:!a?.sniperHoldingsRatio||a?.sniperHoldingsRatio==="0"}),jsx(W,{icon:jsx(RatIcon,{width:12,height:12}),value:formatPercent(a?.insiderHoldingsRatio),tooltip:s("tokens.tokenInfo.insiderHoldingsRatio"),warning:K,disable:!a?.insiderHoldingsRatio||a?.insiderHoldingsRatio==="0"}),jsx(W,{icon:jsx(BundlesIcon,{width:12,height:12}),value:formatPercent(a?.bundleHoldingsRatio),tooltip:s("tokens.tokenInfo.bundleHoldingsRatio"),warning:ne,disable:!a?.bundleHoldingsRatio||a?.bundleHoldingsRatio==="0"})]})}),t&&jsx("div",{className:"flex-none relative",onClick:U=>U.stopPropagation(),children:t(e)})]})]})}var pl=152,Hr=10;function ul({index:e,style:t,data:o,skeletonCount:r,renderItemAction:n,onSelectToken:s}){return o?jsx("div",{style:t,children:jsx(Rr,{token:o[e],isLast:e===o.length-1,renderAction:n,onSelectToken:s})}):jsx("div",{style:t,children:jsx(fr,{isLast:e===r-1})})}function $e({title:e,tokens:t,isLoading:o,itemHeight:r=pl,renderHeaderExtra:n,renderItemAction:s,onSelectToken:i,onPauseChange:l,className:a,hideHeader:d}){let m=o||!t?void 0:t,c=m?m.length:Hr,p=useMemo(()=>({data:m,skeletonCount:Hr,renderItemAction:s,onSelectToken:i}),[m,s,i]),[u,f]=useState(false),g=useCallback(()=>{f(true),l?.(true);},[l]),k=useCallback(()=>{f(false),l?.(false);},[l]);return jsxs("div",{className:cn$1("w-full h-full bg-[#0a0a0b] overflow-hidden flex flex-col border border-[rgba(39,39,42,0.6)] rounded-lg",a),onMouseEnter:g,onMouseLeave:k,children:[!d&&jsx(ur,{title:e,isPaused:u,extra:n}),jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsx(List,{className:"h-full w-full",rowCount:c,rowHeight:r,rowComponent:ul,rowProps:p,overscanCount:5})})]})}function yo(e,t){let o={...e};for(let r of Object.keys(t))t[r]!==void 0&&(o[r]=t[r]);return o}var gl=["1m","5m","15m","30m","1h","4h","24h"];function xl(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let r of gl)t[r]&&(o[r]=e[r]?yo(e[r],t[r]):t[r]);return o}function kl(e,t){return t?e?yo(e,t):t:e}function It(e,t){return t?e?yo(e,t):t:e}function $(e,t){let{chain:o,address:r,stats:n,marketData:s,socialMedias:i,security:l,launchedFrom:a,migratedTo:d,...m}=t,c={...e};for(let p of Object.keys(m))m[p]!==void 0&&(c[p]=m[p]);return c.stats=xl(e.stats,n),c.marketData=kl(e.marketData,s),c.socialMedias=It(e.socialMedias,i),c.security=It(e.security,l),c.launchedFrom=It(e.launchedFrom,a),c.migratedTo=It(e.migratedTo,d),c}function Ke(e,t){let o=new Map(e.map(r=>[r.address,r]));return t.map(r=>{let n=o.get(r.address);return n?$(n,r):r})}function hl(e){return e.chain!==void 0&&e.address!==void 0&&e.address!==""&&e.name!==void 0&&e.symbol!==void 0&&e.decimals!==void 0}function Ft(e,t){if(t.length===0)return e;let o=[...e],r=false;for(let n of t){let s=o.findIndex(i=>i.address===n.address);if(s>=0){o[s]=$(o[s],n),r=true;continue}hl(n)&&(o.push(n),r=true);}return r?o:e}var vl=80;function Nl(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 Or(e){return e.sort((t,o)=>{let r=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-r}),e.slice(0,vl)}function Dr({chain:e,isPaused:t=false,refetchInterval:o=1e4}){let r=useMemo(()=>({chain:e}),[e]),n=useRef(t);n.current=t;let s=useRef(e),[i,l]=useState(true),[a,d]=useState([]);useEffect(()=>{e!==s.current&&(l(true),d([]),s.current=e);},[e]);let{data:m,isPending:c}=useNewTokensQuery(r,{refetchInterval:o});useEffect(()=>{m&&(d(f=>{let g=n.current,k=f.length===0&&m.length>0,x=[...f];for(let b of m){let h=x.findIndex(v=>v.address===b.address);h>=0?x[h]=$(x[h],b):(!g||k)&&x.push(b);}return g?x:Or(x)}),l(false));},[m]);let p=useCallback(f=>{d(g=>{let k=n.current,x=[...g],b=false;for(let h of f){let v=x.findIndex(K=>K.address===h.address);v>=0?(b=true,x[v]=$(x[v],h)):k||(b=true,x.push(Nl(h)));}return b?k?x:Or(x):g});},[]);useNewTokensSubscription({chain:e},p);let u=useMemo(()=>c||i,[c,i]);return {tokens:a,isLoading:u}}function Xx({chain:e,title:t,renderHeaderExtra:o,renderItemAction:r,onSelectToken:n,className:s,hideHeader:i}){let[l,a]=useState(false),{tokens:d,isLoading:m}=Dr({chain:e,isPaused:l}),c=useCallback(p=>{a(p);},[]);return jsx($e,{title:t,tokens:d,isLoading:m,renderHeaderExtra:o,renderItemAction:r,onSelectToken:n,onPauseChange:c,className:s,hideHeader:i})}function _r({chain:e,isPaused:t=false,refetchInterval:o=3e4}){let r=useMemo(()=>({chain:e}),[e]),n=useRef(t);n.current=t;let s=useRef(e),[i,l]=useState(true),[a,d]=useState([]);useEffect(()=>{e!==s.current&&(l(true),d([]),s.current=e);},[e]);let{data:m,isPending:c}=useMigratedTokensQuery(r,{refetchInterval:o});useEffect(()=>{m&&(d(f=>{let g=n.current,k=[...f];for(let x of m){let b=k.findIndex(h=>h.address===x.address);b>=0?k[b]=$(k[b],x):g||k.unshift(x);}return k}),l(false));},[m]);let p=useCallback(f=>{d(g=>{let k=[...g],x=false;for(let b of f){let h=k.findIndex(v=>v.address===b.address);h>=0&&(x=true,k[h]=$(k[h],b));}return x?k:g});},[]);useMigratedTokensSubscription({chain:e},p);let u=useMemo(()=>c||i,[c,i]);return {tokens:a,isLoading:u}}function ik({chain:e,title:t,renderHeaderExtra:o,renderItemAction:r,onSelectToken:n,className:s,hideHeader:i}){let[l,a]=useState(false),{tokens:d,isLoading:m}=_r({chain:e,isPaused:l}),c=useCallback(p=>{a(p);},[]);return jsx($e,{title:t,tokens:d,isLoading:m,renderHeaderExtra:o,renderItemAction:r,onSelectToken:n,onPauseChange:c,className:s,hideHeader:i})}function Ol(e){return e.sort((t,o)=>{let r=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-r})}function Qr({chain:e,isPaused:t=false,refetchInterval:o=15e3}){let r=useMemo(()=>({chain:e}),[e]),n=useRef(t);n.current=t;let s=useRef(e),[i,l]=useState(true),[a,d]=useState([]);useEffect(()=>{e!==s.current&&(l(true),d([]),s.current=e);},[e]);let{data:m,isPending:c}=useFinalStretchTokensQuery(r,{refetchInterval:o});useEffect(()=>{m&&(d(f=>{let g=n.current,k=f.length===0&&m.length>0,x=[...f];for(let b of m){let h=x.findIndex(v=>v.address===b.address);h>=0?x[h]=$(x[h],b):(!g||k)&&x.push(b);}return g?x:Ol(x)}),l(false));},[m]);let p=useCallback(f=>{d(g=>{let k=[...g],x=false;for(let b of f){let h=k.findIndex(v=>v.address===b.address);h>=0&&(x=true,k[h]=$(k[h],b));}return x?k:g});},[]);useFinalStretchTokensSubscription({chain:e},p);let u=useMemo(()=>c||i,[c,i]);return {tokens:a,isLoading:u}}function kk({chain:e,title:t,renderHeaderExtra:o,renderItemAction:r,onSelectToken:n,className:s,hideHeader:i}){let[l,a]=useState(false),{tokens:d,isLoading:m}=Qr({chain:e,isPaused:l}),c=useCallback(p=>{a(p);},[]);return jsx($e,{title:t,tokens:d,isLoading:m,renderHeaderExtra:o,renderItemAction:r,onSelectToken:n,onPauseChange:c,className:s,hideHeader:i})}var _l=10,$l=atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function Ut(){let[e,t]=useAtom($l),o=useCallback(n=>{let s=n.trim();s&&t(i=>{let l=i.filter(a=>a!==s);return [s,...l].slice(0,_l)});},[t]),r=useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:r}}function Yr({histories:e,onSelect:t,onClear:o,className:r}){let{t:n}=useTranslation();return e.length===0?null:jsxs("div",{className:cn$1("px-4 pb-4",r),children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium",children:n("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(s=>jsx(Chip,{size:"sm",variant:"bordered",className:cn$1("text-neutral","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(s),children:s},s))})]})}function Zr({onSelect:e,className:t}){let{histories:o,clearHistories:r}=Ut();return jsx(Yr,{className:cn$1(t),histories:o,onSelect:e,onClear:r})}function jr({value:e,onValueChange:t,onClear:o,onEscape:r,className:n}){let{t:s}=useTranslation();return jsx("div",{className:n,children:jsx(StyledInput,{autoFocus:true,variant:"bordered",radius:"full",value:e,onValueChange:t,placeholder:s("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(),r?.();},children:"Esc"})})})}function Ot({token:e,className:t}){let{t:o}=useTranslation(),r=useTickAge(e.createdAt),n=useMemo(()=>e.marketData?.priceInUsd,[e]),s=useMemo(()=>e.marketData?.marketCapInUsd,[e]),i=useMemo(()=>e.marketData?.tvlInUsd,[e]),l=useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),a=useMemo(()=>l?new SafeBigNumber(l).abs().toString():void 0,[l]),d=useMemo(()=>l!=null&&new SafeBigNumber(l).gte(0),[l]);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(de,{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(r)})]}),jsxs("div",{className:"flex items-center gap-1 text-xs text-neutral",children:[jsxs("span",{children:[o("tokens.listHeader.mcShort")," ",formatAmountUSD(s)]}),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(n)}),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(a)})]})]})]})}function Dt({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 pd(){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,r)=>jsx(pd,{},r))})}function ns({keyword:e,chains:t,limit:o=50}){let r=useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:n,isLoading:s,isFetchingNextPage:i,hasNextPage:l,fetchNextPage:a}=useSearchTokensInfiniteQuery(r,{enabled:!!e});return {tokens:useMemo(()=>n?.pages.flatMap(m=>m.data)??[],[n]),isLoading:s,isFetchingNextPage:i,hasNextPage:l??false,fetchNextPage:a}}var vd=56;function as({onSelectToken:e,className:t,...o}){let{tokens:r,isLoading:n,isFetchingNextPage:s,hasNextPage:i,fetchNextPage:l}=ns(o),a=useRef(null),{height:d}=useResizeObserver({ref:a}),m=useCallback(f=>f<r.length,[r]),c=useCallback(async()=>{i&&!s&&await l();},[i,s,l]),p=useMemo(()=>i?r.length+1:r.length,[r,i]),u=useInfiniteLoader({isRowLoaded:m,loadMoreRows:c,rowCount:p,threshold:5});return n?jsxs("div",{className:cn$1("w-full",t),children:[jsx(Dt,{}),jsx(Bt,{})]}):r.length===0?jsxs("div",{className:cn$1("w-full",t),children:[jsx(Dt,{}),jsx(Sd,{})]}):jsxs("div",{className:cn$1("w-full h-full flex flex-col",t),children:[jsx(Dt,{className:"flex-none"}),jsx("div",{className:"flex-auto min-h-0",ref:a,children:jsx(List,{style:{height:d},onRowsRendered:u,rowComponent:Nd,rowCount:p,rowHeight:vd,rowProps:{tokens:r,onSelectToken:e},overscanCount:5})})]})}function Nd({index:e,style:t,tokens:o,onSelectToken:r}){let n=o[e];return n?jsx("div",{style:t,onClick:()=>r?.(n),children:jsx(Ot,{token:n})}):jsx("div",{style:t,className:"flex items-center justify-center",children:jsx(Spinner,{size:"sm"})})}function Sd(){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 Vt({chain:e,tokens:t,onUpdate:o,enabled:r=true}){let n=useMemo(()=>Array.from(new Set(t.map(i=>i.address.trim()).filter(Boolean))).sort().join(","),[t]),s=useMemo(()=>n?n.split(","):[],[n]);useTokensSubscription({chain:e,addresses:s},o,{enabled:r&&s.length>0});}function _t({chain:e,resolution:t,options:o,refetchInterval:r=12e3}){let n=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),s=useRef(n),[i,l]=useState(true);useEffect(()=>{JSON.stringify(n)!==JSON.stringify(s.current)&&(l(true),s.current=n);},[n]);let[a,d]=useState([]),{data:m,isPending:c}=useTrendingTokensQuery(n,{refetchInterval:r});useEffect(()=>{m&&(d(f=>Ke(f,m)),l(false));},[m]);let p=useCallback(f=>{d(g=>Ft(g,f));},[]);useTrendingTokensSubscription({chain:e},p),Vt({chain:e,tokens:a,onUpdate:p});let u=useMemo(()=>!!(c||i),[c,i]);return {tokens:a,isLoading:u}}var Md=Chain.ETHEREUM,Id="24h",Fd=56;function ps({chains:e,onSelectToken:t,className:o}){let r=e?.length===1?e[0]:e?.[0]??Md,{tokens:n,isLoading:s}=_t({chain:r,resolution:Id});return jsx("div",{className:cn$1("w-full flex flex-col overflow-hidden",o),children:s?jsx(Bt,{}):jsx("div",{className:"overflow-y-auto",children:n.map(i=>jsx("div",{style:{height:Fd},onClick:()=>t?.(i),children:jsx(Ot,{token:i,className:"h-full"})},i.address))})})}function gs({onKeywordChange:e}){let[t,o]=useState(""),[r,n]=useState(""),{addHistory:s}=Ut(),i=useCallbackRef(e),l=useCallbackRef(s),a=useMemo(()=>debounce(p=>{n(p),i(p),p&&l(p);},500),[i,l]),d=useCallback(p=>{o(p),a(p);},[a]),m=useCallback(p=>{a.cancel(),o(p),n(p),i(p),p&&l(p);},[a,i,l]),c=useCallback(()=>m(""),[m]);return {text:t,keyword:r,setText:d,setKeyword:m,clearKeyword:c}}function ks({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:r}){let{text:n,keyword:s,setText:i,setKeyword:l,clearKeyword:a}=gs({onKeywordChange:t});return jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsx(jr,{value:n,onValueChange:i,onClear:a,onPaste:l,onEscape:r}),s?jsx(as,{className:"flex-auto min-h-0",keyword:s,chains:e,onSelectToken:o}):jsxs("div",{className:"flex-auto min-h-0 flex flex-col overflow-hidden",children:[jsx(Zr,{onSelect:l}),jsx(ps,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}var So="search";function nb({id:e=So}){return jsx(AsyncModal,{id:e,children:t=>jsx(Qd,{...t})})}function Qd({params:e,isOpen:t,onOpenChange:o,onResult:r}){let{t:n}=useTranslation(),{isMobile:s}=useScreen(),i=useCallback(l=>{r(l);},[r]);return jsx(StyledModal,{isOpen:t,onOpenChange:o,size:s?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxs(ModalContent,{className:"w-full h-full",style:{borderRadius:s?void 0:14,border:s?void 0:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:s?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:n("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(ks,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function fb({chains:e,onSelectToken:t,className:o}){let{t:r}=useTranslation(),{isDesktop:n}=useScreen(),{onOpen:s,onClose:i}=useAsyncModal(So),l=useCallbackRef(t),a=useCallbackRef(async()=>{let m=await s({params:{chains:e}});m&&l(m);}),d=useCallbackRef(()=>{i();});return useEffect(()=>{let m=c=>{let p=document.activeElement,u=!!p&&(p.tagName==="INPUT"||p.tagName==="TEXTAREA"||p.getAttribute("contenteditable")==="true");c.key==="/"&&!u&&(c.preventDefault(),a()),c.key==="Escape"&&(c.preventDefault(),d());};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m);}},[a,d]),n?jsx(Button,{size:"sm",radius:"full",onPress:a,variant:"bordered",startContent:jsx(SearchIcon,{width:16,height:16,className:"text-foreground"}),endContent:jsx(Kbd,{className:"min-w-6 justify-center text-xs text-foreground bg-content3 rounded-lg",children:"/"}),className:cn$1("w-56 min-w-0 h-8 min-h-0 border-transparent hover:border-border bg-content2 pl-3 pr-1.5 text-neutral",o),children:r("tokens.search.placeholder")}):jsx(Button,{size:"sm",radius:"full",isIconOnly:true,onPress:a,variant:"bordered",className:cn$1("w-8 min-w-0 h-8 min-h-0 border-1 border-border bg-content2",o),children:jsx(SearchIcon,{width:16,height:16,className:"text-foreground"})})}function Pe(e){return e==null||e===""?"--":formatPercent(Number(e)/100)}function ce(e,t=4,o=4){return e?e.length<=t+o+1?e:`${e.slice(0,t)}\u2026${e.slice(-o)}`:"--"}function be(e,t=Date.now()){if(e==null)return "--";let o=typeof e=="string"||typeof e=="number"?new Date(e):e,r=typeof t=="number"?new Date(t):t,n=Math.max(0,Math.floor((r.getTime()-o.getTime())/1e3));if(n<60)return `${n}s`;let s=Math.floor(n/60);if(s<60)return `${s}m`;let i=Math.floor(s/60);if(i<24)return `${i}h`;let l=Math.floor(i/24);if(l<30)return `${l}d`;let a=Math.floor(l/30);return a<12?`${a}mo`:`${Math.floor(l/365)}y`}function R(e,t){let{data:o,isLoading:r}=useTokenQuery({chain:e,address:t}),[n,s]=useState(o);return useEffect(()=>{o&&s(o);},[o]),useTokenSubscription({chain:e,address:t},i=>{i?.length&&s(l=>{if(!l)return l;let a=l;for(let d of i)a=$(a,d);return a});}),{token:n,isLoading:r}}function Qe({label:e,totalFormatted:t,buysFormatted:o,sellsFormatted:r,totalValue:n=0,buysValue:s=0,className:i}){let l=new SafeBigNumber(n??0),a=new SafeBigNumber(s??0),d=l.eq(0)?0:a.div(l).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: ",r]})]})]})}function Ns({token:e,actions:t,dataStrip:o,className:r,onCopyAddress:n}){let s=e?.address;return jsxs("div",{className:cn$1("flex w-full flex-wrap items-center gap-4 px-4 py-3",r),children:[jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e&&jsx(de,{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})]}),s&&jsxs("button",{type:"button",onClick:()=>n?.(s),className:"flex items-center gap-1 text-[11px] text-default-400 transition-colors hover:text-foreground",title:s,children:[ce(s,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 Ss(e,t){return R(e,t)}function ws({price:e,marketCap:t,volume:o,holdersCount:r,socialMedia:n,className:s}){return jsxs("div",{className:cn$1("flex flex-wrap items-center gap-x-6 gap-y-3",s),children:[e,jsxs("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-3",children:[t,o,r]}),jsx("div",{className:"ml-auto",children:n})]})}function sy(e,t){return R(e,t)}function Ps({holders:e,top10HoldingsRatio:t,top100HoldingsRatio:o,className:r}){return jsxs("div",{className:cn$1("flex flex-col items-start justify-center gap-0.5",r),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:Pe(t)}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:Pe(o)})]}),jsx("div",{className:"text-[10px] text-default-400",children:"Holders / Top10 / Top100"})]})}function Rs(e,t){return R(e,t)}function As({chain:e,address:t,className:o}){let{token:r}=Rs(e,t);return jsx(Ps,{holders:r?.marketData?.holders,top10HoldingsRatio:r?.marketData?.top10HoldingsRatio,top100HoldingsRatio:r?.marketData?.top100HoldingsRatio,className:o})}function Is({marketCapInUsd:e,tvlInUsd:t,createdAt:o,className:r}){return jsxs("div",{className:cn$1("flex flex-col items-start justify-center gap-0.5",r),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:be(o)})]}),jsx("div",{className:"text-[10px] text-default-400",children:"MC / Liq / Age"})]})}function Fs(e,t){return R(e,t)}function Us({chain:e,address:t,className:o}){let{token:r}=Fs(e,t);return jsx(Is,{marketCapInUsd:r?.marketData?.marketCapInUsd,tvlInUsd:r?.marketData?.tvlInUsd,createdAt:r?.createdAt,className:o})}function Ws({priceInUsd:e,price24hAgoInUsd:t,className:o}){let{bearish:r,priceChange:n}=useMemo(()=>{if(!e||!t)return {bearish:false,priceChange:void 0};let s=new SafeBigNumber(e),i=new SafeBigNumber(t);return i.lte(0)?{bearish:false,priceChange:void 0}:{bearish:s.lt(i),priceChange:s.minus(i).div(i).abs().toNumber()}},[e,t]);return jsxs("div",{className:cn$1("group flex flex-col gap-1",o),"data-bearish":r,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:n!=null?formatPercent(n):"--"})]})]})}function Bs(e,t){return R(e,t)}function Es({chain:e,address:t,className:o}){let{token:r}=Bs(e,t);return jsx(Ws,{priceInUsd:r?.marketData?.priceInUsd,price24hAgoInUsd:r?.stats?.["24h"]?.openPriceInUsd,className:o})}function Cc(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 Vs({socials:e,className:t,iconSize:o=16}){if(!e)return null;let n=["website","twitter","telegram","discord","github","reddit","youtube","medium"].filter(s=>!!e[s]);return n.length===0?null:jsx("div",{className:cn$1("flex items-center gap-3",t),children:n.map(s=>jsx("a",{href:e[s],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:Cc(s,o)},s))})}function _s(e,t){return R(e,t)}function $s({chain:e,address:t,className:o,iconSize:r}){let{token:n}=_s(e,t);return jsx(Vs,{socials:n?.socialMedias,className:o,iconSize:r})}function qs({volumesInUsd:e,trades:t,traders:o,className:r}){return jsxs("div",{className:cn$1("flex flex-col items-start justify-center gap-0.5",r),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 Qs(e,t){return R(e,t)}function Gs({chain:e,address:t,className:o}){let{token:r}=Qs(e,t),n=r?.stats?.["24h"];return jsx(qs,{volumesInUsd:n?.volumesInUsd,trades:n?.trades,traders:n?.traders,className:o})}function Xs({chain:e,address:t,className:o}){return jsx(ws,{className:o,price:jsx(Es,{chain:e,address:t}),marketCap:jsx(Us,{chain:e,address:t}),volume:jsx(Gs,{chain:e,address:t}),holdersCount:jsx(As,{chain:e,address:t}),socialMedia:jsx($s,{chain:e,address:t})})}function BT({chain:e,address:t,actions:o,dataStrip:r,className:n,onCopyAddress:s}){let{token:i}=Ss(e,t);return jsx(Ns,{token:i,actions:o,dataStrip:r===void 0?jsx(Xs,{chain:e,address:t}):r,className:n,onCopyAddress:s})}var Mc=[{value:"holdingUsd",label:"Value"},{value:"lastActiveAt",label:"Last active"}];function Zs({holders:e,isLoading:t,sortBy:o,onSortByChange:r,onlyTracked:n=false,onOnlyTrackedChange:s,onLoadMore:i,hasMore:l,now:a=Date.now(),wellKnownAddresses:d,className:m,renderAddress:c}){let p=n?e.filter(u=>u.tags&&u.tags.length>0):e;return jsxs("div",{className:cn$1("flex flex-col",m),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:n,onChange:u=>s?.(u.target.checked)}),"Only Tracked"]})]}),jsx("div",{className:"flex items-center gap-1",children:Mc.map(u=>jsx("button",{type:"button",onClick:()=>r(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:[p.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No holders"})}),p.map(u=>jsx(Ic,{holder:u,now:a,wellKnownAddresses:d,renderAddress:c},u.address)),t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),l&&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:r}){let n=o?.[e.address],s=useMemo(()=>r?r(e.address):n?jsx("span",{className:"rounded bg-default-100 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-default-600",children:n}):jsx("span",{className:"font-mono text-[11px] text-default-500",children:ce(e.address,6,6)}),[e.address,r,n]);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(Pt,{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:Pe(e.ratio)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.startHoldingAt?be(e.startHoldingAt,t):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.lastActiveAt?be(e.lastActiveAt,t):"--"})]})}function tn({chain:e,address:t,limit:o=50,initialSortBy:r="holdingUsd"}){let[n,s]=useState(r),[i,l]=useState(void 0),[a,d]=useState([]),m=useCallback(()=>{l(void 0),d([]);},[]),c=useCallback(v=>{v!==n&&(s(v),m());},[n,m]);useEffect(()=>{m();},[e,t,m]);let p=useMemo(()=>({chain:e,address:t,cursor:i,limit:o,sortBy:n}),[e,t,i,o,n]),{data:u,isPending:f,isFetching:g}=useTokenHoldersQuery(p);useEffect(()=>{u&&d(v=>i==null?[u]:v[v.length-1]?.endCursor===u.endCursor?v:[...v,u]);},[u,i]),useTokenSubscription({chain:e,address:t},()=>{});let k=useMemo(()=>a.flatMap(v=>v.data),[a]),x=a[a.length-1],b=!!(x?.hasNext&&x.endCursor),h=useCallback(()=>{!x?.endCursor||!x.hasNext||l(x.endCursor);},[x]);return {holders:k,isLoading:f||g,sortBy:n,setSortBy:c,hasMore:b,loadMore:h}}function iv({chain:e,address:t,limit:o,initialSortBy:r,initialOnlyTracked:n=false,wellKnownAddresses:s,className:i,renderAddress:l}){let[a,d]=useState(n),{holders:m,isLoading:c,sortBy:p,setSortBy:u,hasMore:f,loadMore:g}=tn({chain:e,address:t,limit:o,initialSortBy:r});return jsx(Zs,{holders:m,isLoading:c,sortBy:p,onSortByChange:u,onlyTracked:a,onOnlyTrackedChange:d,wellKnownAddresses:s,hasMore:f,onLoadMore:g,className:i,renderAddress:l})}var Ec=[{value:"timestamp",label:"Latest"},{value:"totalUsd",label:"Top USD"}],Vc=[{value:"all",label:"All"},{value:"buy",label:"Buys"},{value:"sell",label:"Sells"}],_c=[{value:"all",label:"All"},{value:"dev",label:"DEV"},{value:"tracked",label:"TRACKED"},{value:"you",label:"YOU"}];function on({activities:e,isLoading:t,sortBy:o,onSortByChange:r,typeFilter:n="all",onTypeFilterChange:s,traderFilter:i="all",onTraderFilterChange:l,youWalletAddress:a,currency:d="usd",onCurrencyChange:m,onLoadMore:c,hasMore:p,now:u=Date.now(),nativeDecimals:f=9,nativeSymbol:g="SOL",className:k,onRowClick:x}){let b=Kc(e,i,a);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-1",children:[Vc.map(h=>jsx("button",{type:"button",onClick:()=>s?.(h.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",n===h.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:h.label},h.value)),jsx("span",{className:"mx-1 h-3 w-px bg-default-200","aria-hidden":true}),_c.map(h=>{let v=i===h.value,K=h.value==="you"&&!a;return jsx("button",{type:"button",disabled:K,onClick:()=>l?.(h.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",v?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground",K&&"cursor-not-allowed opacity-50"),children:h.label},h.value)})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx(zc,{value:d,nativeSymbol:g,onChange:m}),jsx("div",{className:"flex items-center gap-1",children:Ec.map(h=>jsx("button",{type:"button",onClick:()=>r(h.value),className:cn$1("rounded px-2 py-1 text-[11px] transition-colors",o===h.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:h.label},h.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:[b.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-8 text-center text-default-400",children:"No activities"})}),b.map(h=>jsx(Qc,{activity:h,now:u,nativeDecimals:f,nativeSymbol:g,currency:d,onRowClick:x},h.txHash)),t&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),p&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:c,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 $c(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 n=o.toLowerCase();return e.filter(s=>s.walletAddress?.toLowerCase()===n)}if(t==="dev")return e.filter(n=>n.traderTags?.some(s=>s==="dev"));let r=new Set(["kol","smart","bluechip"]);return e.filter(n=>n.traderTags?.some(s=>r.has(s)))}function zc({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(n=>jsx("button",{type:"button",onClick:()=>o?.(n.k),className:cn$1("rounded px-2 transition-colors",e===n.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:n.label},n.k))})}function qc(e,t,o){if(!e)return "--";let r=Number(e)/Math.pow(10,t);return Number.isFinite(r)?`${formatAmount(r)} ${o}`:"--"}function Qc({activity:e,now:t,nativeDecimals:o,nativeSymbol:r,currency:n,onRowClick:s}){let i=$c(e),l=e.type==="buy"?"Buy":e.type==="sell"?"Sell":e.type.replace(/_/g," "),a=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",s&&"cursor-pointer"),onClick:s?()=>s(e):void 0,children:[jsx("td",{className:cn$1("px-3 py-2 align-middle font-medium capitalize",a),children:l}),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:ce(e.walletAddress,6,6)}),jsx(hr,{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:n==="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:qc(e.gasFee,o,r)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:be(e.time,t)})]})}function nn({chain:e,address:t,limit:o=50,initialSortBy:r="timestamp",initialTypeFilter:n="all"}){let[s,i]=useState(r),[l,a]=useState(n),[d,m]=useState(void 0),[c,p]=useState([]),[u,f]=useState([]),g=useCallback(()=>{m(void 0),p([]),f([]);},[]),k=useCallback(F=>{F!==s&&(i(F),g());},[s,g]),x=useCallback(F=>{F!==l&&(a(F),g());},[l,g]);useEffect(()=>{g();},[e,t,g]);let b=l==="all"?void 0:l,h=useMemo(()=>({chain:e,address:t,cursor:d,limit:o,sortBy:s,type:b}),[e,t,d,o,s,b]),{data:v,isPending:K,isFetching:J}=useTokenActivitiesQuery(h);useEffect(()=>{v&&p(F=>d==null?[v]:F[F.length-1]?.endCursor===v.endCursor?F:[...F,v]);},[v,d]);let ne=s==="timestamp"&&l==="all"&&d==null;useTokenActivitiesSubscription({chain:e,address:t},F=>{!ne||!F?.length||f(le=>{let U=new Set(le.map(_=>_.txHash)),te=F.filter(_=>!U.has(_.txHash));return te.length===0?le:[...te,...le].slice(0,100)});});let De=useMemo(()=>{let F=c.flatMap(te=>te.data);if(!ne||u.length===0)return F;let le=new Set(F.map(te=>te.txHash));return [...u.filter(te=>!le.has(te.txHash)),...F]},[c,u,ne]),E=c[c.length-1],We=!!(E?.hasNext&&E.endCursor),Be=useCallback(()=>{!E?.endCursor||!E.hasNext||m(E.endCursor);},[E]);return {activities:De,isLoading:K||J,sortBy:s,setSortBy:k,typeFilter:l,setTypeFilter:x,hasMore:We,loadMore:Be}}function Cv({chain:e,address:t,limit:o,initialSortBy:r,initialTypeFilter:n,initialTraderFilter:s="all",initialCurrency:i="usd",youWalletAddress:l,nativeDecimals:a,nativeSymbol:d,className:m,onRowClick:c}){let[p,u]=useState(s),[f,g]=useState(i),{activities:k,isLoading:x,sortBy:b,setSortBy:h,typeFilter:v,setTypeFilter:K,hasMore:J,loadMore:ne}=nn({chain:e,address:t,limit:o,initialSortBy:r,initialTypeFilter:n});return jsx(on,{activities:k,isLoading:x,sortBy:b,onSortByChange:h,typeFilter:v,onTypeFilterChange:K,traderFilter:p,onTraderFilterChange:u,youWalletAddress:l,currency:f,onCurrencyChange:g,hasMore:J,onLoadMore:ne,className:m,nativeDecimals:a,nativeSymbol:d,onRowClick:c})}function ln({stats:e,resolution:t,className:o}){let r=e?.[t],n=r?.traders??0,s=r?.buyers??0,i=r?.sellers??0;return jsx(Qe,{className:o,label:`Traders (${t})`,totalFormatted:formatAmount(n),buysFormatted:formatAmount(s),sellsFormatted:formatAmount(i),totalValue:n,buysValue:s})}function dn(e,t){return R(e,t)}function Ev({chain:e,address:t,resolution:o="24h",className:r}){let{token:n}=dn(e,t);return jsx(ln,{stats:n?.stats,resolution:o,className:r})}function cn({stats:e,resolution:t,className:o}){let r=e?.[t],n=r?.trades??0,s=r?.buys??0,i=r?.sells??0;return jsx(Qe,{className:o,label:`Transactions (${t})`,totalFormatted:formatAmount(n),buysFormatted:formatAmount(s),sellsFormatted:formatAmount(i),totalValue:n,buysValue:s})}function mn(e,t){return R(e,t)}function t0({chain:e,address:t,resolution:o="24h",className:r}){let{token:n}=mn(e,t);return jsx(cn,{stats:n?.stats,resolution:o,className:r})}function pn({stats:e,resolution:t,className:o}){let r=e?.[t],n=r?.volumesInUsd??"0",s=r?.buyVolumesInUsd??"0",i=r?.sellVolumesInUsd??"0";return jsx(Qe,{className:o,label:`Volume (${t})`,totalFormatted:formatAmountUSDCompact(n),buysFormatted:formatAmountUSDCompact(s),sellsFormatted:formatAmountUSDCompact(i),totalValue:n,buysValue:s})}function un(e,t){return R(e,t)}function x0({chain:e,address:t,resolution:o="24h",className:r}){let{token:n}=un(e,t);return jsx(pn,{stats:n?.stats,resolution:o,className:r})}function fn({security:e,externalUrl:t,externalLabel:o,className:r}){let n=[{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."}],s=n.every(i=>i.value!==void 0&&i.value===i.safeWhen);return jsxs("section",{className:cn$1("flex w-full flex-col gap-3",r),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":s?"text-success-500":"text-danger-500"),children:e===void 0?"--":s?"Safe":"Review"})]}),jsx("div",{className:"flex flex-col",children:n.map(i=>jsx(rm,{...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 rm({title:e,value:t,safeWhen:o,description:r}){let n=t!==void 0&&t===o,s=t===void 0?"--":n?"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:r,children:e}),jsx("span",{className:cn$1("text-xs",t===void 0?"text-default-400":n?"text-success-500":"text-danger-500"),children:s})]})}function gn(e,t){let{data:o,isLoading:r}=useTokenSecurityQuery({chain:e,address:t});return {security:o,isLoading:r}}function A0({chain:e,address:t,externalUrl:o,externalLabel:r,className:n}){let{security:s}=gn(e,t);return jsx(fn,{security:s,externalUrl:o,externalLabel:r,className:n})}function hn({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 bn(e,t){return R(e,t)}function K0({chain:e,address:t,className:o}){let{token:r}=bn(e,t);return jsx(hn,{token:r,className:o})}function vn({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:r,onPoolClick:n}){let[s,i]=useState(!e||e.length<=o),l=useCallback(()=>i(a=>!a),[]);return jsxs("section",{className:cn$1("flex w-full flex-col gap-3",r),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((a,d)=>jsxs("div",{className:cn$1("flex h-10 w-full items-center justify-between overflow-hidden text-xs",d>=o&&!s&&"hidden",n&&"cursor-pointer hover:bg-default-50"),onClick:n?()=>n(a):void 0,children:[jsxs("div",{className:"flex flex-col gap-0.5",children:[jsx("span",{className:"text-foreground",children:a.protocolFamily??a.protocolName??"Unknown"}),a.poolAddress&&jsxs("span",{className:"font-mono text-[10px] text-default-400",children:["Pool: ",ce(a.poolAddress,6,6)]})]}),jsx("div",{className:"text-default-500",children:formatAmountUSDCompact(a.tvlInUsd??0)})]},a.poolAddress??`${a.protocolFamily}-${d}`)),e.length>o&&jsx("div",{className:"flex justify-center pt-1",children:jsx("button",{type:"button",onClick:l,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:s?"Show less":"Show more"})})]})]})}function Nn(e,t){return R(e,t)}function aN({chain:e,address:t,collapseAt:o,className:r,onPoolClick:n}){let{token:s}=Nn(e,t);return jsx(vn,{liquidities:s?.liquidities,totalTvlInUsd:s?.marketData?.tvlInUsd,collapseAt:o,className:r,onPoolClick:n})}function Sn({cexes:e,collapseAt:t=4,className:o}){let[r,n]=useState(!e||e.length<=t),s=useCallback(()=>n(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,l)=>{let a=l>=t&&!r,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",a&&"hidden"),children:i.name},i.id);return i.url?jsx("a",{href:i.url,target:"_blank",rel:"noreferrer noopener",className:cn$1(a&&"hidden"),children:d},i.id):d})}),e.length>t&&jsx("div",{className:"mt-3 flex justify-center",children:jsx("button",{type:"button",onClick:s,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:r?"Show less":"Show more"})})]})}function Cn(e){return {cexes:e}}function TN({cexes:e,collapseAt:t,className:o}){let{cexes:r}=Cn(e);return jsx(Sn,{cexes:r,collapseAt:t,className:o})}function Ln({categories:e,collapseAt:t=4,className:o,onCategoryClick:r}){let[n,s]=useState(!e||e.length<=t),i=useCallback(()=>s(l=>!l),[]);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((l,a)=>{let d=a>=t&&!n;return jsx(Chip,{size:"sm",className:cn$1("bg-default-100",d&&"hidden",r&&"cursor-pointer"),onClick:r?()=>r(l):void 0,children:l},l)})}),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:n?"Show less":"Show more"})})]})}function Pn(e,t){return R(e,t)}function ON({chain:e,address:t,collapseAt:o,className:r,onCategoryClick:n}){let{token:s}=Pn(e,t);return jsx(Ln,{categories:s?.tags,collapseAt:o,className:r,onCategoryClick:n})}var Rn=["5m","1h","4h","24h"];function An({stats:e,resolution:t,className:o}){let r=e?.[t],n=new SafeBigNumber(r?.buyVolumesInUsd??0),s=new SafeBigNumber(r?.sellVolumesInUsd??0),i=n.plus(s),l=n.minus(s),a=i.eq(0)?50:Math.min(100,Math.max(0,n.div(i).times(100).toNumber())),d=[{label:`${t} Vol`,value:formatAmountUSDCompact(i.toString()),className:"text-foreground"},{label:"Buys",value:formatAmountUSDCompact(n.toString()),className:"text-bullish"},{label:"Sells",value:formatAmountUSDCompact(s.toString()),className:"text-bearish"},{label:"Net Vol.",value:formatAmountUSDCompact(l.abs().toString()),className:l.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(m=>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:m.label}),jsx("span",{className:cn$1("text-[13px] font-medium leading-none tabular-nums",m.className),children:m.value})]},m.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:`${a}%`}})})]})}function Hn({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(r=>{let s=e?.[r]?.priceChange,i=s?new SafeBigNumber(s):void 0,l=i?i.gte(0):void 0,a=r,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:a}),jsx("span",{className:cn$1("text-[13px] font-medium leading-none tabular-nums",l===void 0?"text-foreground":l?"text-bullish":"text-bearish"),children:d})]},r)})})}function Mn({chain:e,address:t}){let{data:o,isLoading:r}=useTokenStatsQuery({chain:e,address:t});return {stats:o,isLoading:r}}function ZN({chain:e,address:t,baseResolution:o="5m",hoverResolutions:r=Rn,height:n=64,className:s}){let{stats:i}=Mn({chain:e,address:t});return jsx(StatsFlipPanel,{className:s,height:n,base:jsx(An,{stats:i,resolution:o}),hover:jsx(Hn,{stats:i,resolutions:r})})}function In({positions:e,isLoading:t,hasMore:o,onLoadMore:r,currency:n="usd",onCurrencyChange:s,showHidden:i=false,onShowHiddenChange:l,nativeSymbol:a="Native",renderActions:d,className:m}){return jsxs("div",{className:cn$1("flex flex-col",m),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:c=>l?.(c.target.checked)}),"Show Hidden"]})]}),jsx(Rm,{value:n,nativeSymbol:a,onChange:s})]}),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(c=>jsx(Am,{position:c,currency:n,renderActions:d},`${c.chain}:${c.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: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 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(n=>jsx("button",{type:"button",onClick:()=>o?.(n.k),className:cn$1("rounded px-2 transition-colors",e===n.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:n.label},n.k))})}function Am({position:e,currency:t,renderActions:o}){let{bought:r,sold:n,remaining:s,pnl:i}=useMemo(()=>Hm(e,t),[e,t]),l=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:l}),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:"px-3 py-2 text-right align-middle text-foreground",children:s}),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 Hm(e,t){let o=t==="usd"?e.buyVolumesInUsd:e.buyVolumes,r=t==="usd"?e.sellVolumesInUsd:e.sellVolumes,n=t==="usd"?e.amountInUsd:e.amount,s=e.totalProfitInUsd,i=t==="usd"?formatAmountUSDCompact(o??0):formatAmount(o??0),l=t==="usd"?formatAmountUSDCompact(r??0):formatAmount(r??0),a=t==="usd"?formatAmountUSDCompact(n??0):formatAmount(n??0),d=s?new SafeBigNumber(s):void 0,m=d?d.gte(0):void 0,c=d?(m?"+":"")+formatAmountUSDCompact(d.toString()):"--",p=e.totalProfitRatio?formatPercent(e.totalProfitRatio,{showPlusGtThanZero:true}):void 0;return {bought:i,sold:l,remaining:a,pnl:{amount:c,ratio:p,isPositive:m}}}function On({chain:e,wallet:t,limit:o=50,initialShowHidden:r=false}){let[n,s]=useState(void 0),[i,l]=useState([]),[a,d]=useState(r);useEffect(()=>{s(void 0),l([]);},[e,t]);let m=useMemo(()=>({chain:e,address:t??"",cursor:n,limit:o,positionState:"open"}),[e,t,n,o]),{data:c,isPending:p,isFetching:u}=useWalletTokenPositionsQuery(m,{enabled:!!t});useEffect(()=>{c&&l(b=>n==null?[c]:b[b.length-1]?.endCursor===c.endCursor?b:[...b,c]);},[c,n]);let f=useMemo(()=>i.flatMap(b=>b.portfolios),[i]),g=i[i.length-1],k=!!(g?.hasNext&&g.endCursor),x=useCallback(()=>{!g?.endCursor||!g.hasNext||s(g.endCursor);},[g]);return {positions:f,isLoading:!!t&&(p||u),hasMore:k,loadMore:x,showHidden:a,setShowHidden:d}}function xS({chain:e,wallet:t,limit:o,initialCurrency:r="usd",nativeSymbol:n,renderActions:s,className:i}){let[l,a]=useState(r),{positions:d,isLoading:m,hasMore:c,loadMore:p,showHidden:u,setShowHidden:f}=On({chain:e,wallet:t,limit:o});return jsx(In,{className:i,positions:d,isLoading:m,hasMore:c,onLoadMore:p,currency:l,onCurrencyChange:a,showHidden:u,onShowHiddenChange:f,nativeSymbol:n,renderActions:s})}function Dn({orders:e,isLoading:t,unavailable:o,hasMore:r,onLoadMore:n,stateFilter:s,onStateFilterChange:i,onlyThisToken:l=false,onOnlyThisTokenChange:a,tokenSymbol:d,currency:m="usd",onCurrencyChange:c,nativeSymbol:p="Native",onCancelAll:u,renderActions:f,className:g}){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-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(k=>jsx("button",{type:"button",onClick:()=>i(k.k),className:cn$1("rounded px-2 transition-colors",s===k.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:k.label},k.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:l,onChange:k=>a?.(k.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(Bm,{value:m,nativeSymbol:p,onChange:c})]})]}),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 ",s==="active"?"active":"historical"," orders"]})}):e.map(k=>jsx(Em,{order:k,currency:m,renderActions:f},k.id)),t&&!o&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&r&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:n,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 Bm({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(n=>jsx("button",{type:"button",onClick:()=>o?.(n.k),className:cn$1("rounded px-2 transition-colors",e===n.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:n.label},n.k))})}function Em({order:e,currency:t,renderActions:o}){let r=useMemo(()=>t==="usd"&&e.amountInUsd?formatAmountUSDCompact(e.amountInUsd):formatAmount(e.amount),[t,e.amount,e.amountInUsd]),n=e.side==="buy"?"Buy":"Sell",s=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",s),children:n}),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-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 _m(e){return e instanceof Error&&e.code==="NotImplemented"}function $m(e){return e==="active"?"active":"filled"}function Vn({chain:e,wallet:t,tokenAddress:o,limit:r=50,initialStateFilter:n="active",initialOnlyThisToken:s=false}){let[i,l]=useState(n),[a,d]=useState(s),[m,c]=useState(void 0),[p,u]=useState([]);useEffect(()=>{c(void 0),u([]);},[e,t,i,a,o]);let f=useCallback(E=>{E!==i&&l(E);},[i]),g=useMemo(()=>({chain:e,address:t??"",cursor:m,limit:r,state:$m(i),tokenAddress:a?o:void 0}),[e,t,m,r,i,a,o]),{data:k,isPending:x,isFetching:b,error:h}=useWalletLimitOrdersQuery(g,{enabled:!!t});useEffect(()=>{k&&u(E=>m==null?[k]:E[E.length-1]?.endCursor===k.endCursor?E:[...E,k]);},[k,m]);let v=!!h&&_m(h),K=useMemo(()=>p.flatMap(E=>E.data),[p]),J=p[p.length-1],ne=!!(J?.hasNext&&J.endCursor),De=useCallback(()=>{!J?.endCursor||!J.hasNext||c(J.endCursor);},[J]);return {orders:K,isLoading:!!t&&!v&&(x||b),unavailable:v,hasMore:ne,loadMore:De,stateFilter:i,setStateFilter:f,onlyThisToken:a,setOnlyThisToken:d}}function FS({chain:e,wallet:t,tokenAddress:o,tokenSymbol:r,limit:n,initialStateFilter:s="active",initialCurrency:i="usd",nativeSymbol:l,onCancelAll:a,renderActions:d,className:m}){let[c,p]=useState(i),{orders:u,isLoading:f,unavailable:g,hasMore:k,loadMore:x,stateFilter:b,setStateFilter:h,onlyThisToken:v,setOnlyThisToken:K}=Vn({chain:e,wallet:t,tokenAddress:o,limit:n,initialStateFilter:s});return jsx(Dn,{className:m,orders:u,isLoading:f,unavailable:g,hasMore:k,onLoadMore:x,stateFilter:b,onStateFilterChange:h,onlyThisToken:v,onOnlyThisTokenChange:K,tokenSymbol:r,currency:c,onCurrencyChange:p,nativeSymbol:l,onCancelAll:g?void 0:a,renderActions:d})}function _n({traders:e,isLoading:t,hasMore:o,onLoadMore:r,onlyTracked:n=false,onOnlyTrackedChange:s,now:i=Date.now(),renderAddress:l,className:a}){return jsxs("div",{className:cn$1("flex flex-col",a),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:n,onChange:d=>s?.(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(Xm,{trader:d,now:i,renderAddress:l},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: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 Xm({trader:e,now:t,renderAddress:o}){let r=useMemo(()=>o?o(e.address):jsx("span",{className:"font-mono text-[11px] text-default-500",children:ce(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:r}),jsx("td",{className:"px-3 py-2 align-middle",children:jsx(Pt,{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:Pe(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?be(e.lastActiveAt,t):"--"})]})}function Kn({chain:e,address:t,limit:o=50,initialOnlyTracked:r=false}){let[n,s]=useState(void 0),[i,l]=useState([]),[a,d]=useState(r);useEffect(()=>{s(void 0),l([]);},[e,t]);let m=useMemo(()=>({chain:e,address:t,cursor:n,limit:o,sortBy:"realizedPnl"}),[e,t,n,o]),{data:c,isPending:p,isFetching:u}=useTokenTopTradersQuery(m);useEffect(()=>{c&&l(h=>n==null?[c]:h[h.length-1]?.endCursor===c.endCursor?h:[...h,c]);},[c,n]);let f=useMemo(()=>i.flatMap(h=>h.data),[i]),g=useMemo(()=>a?f.filter(h=>h.tags&&h.tags.length>0):f,[f,a]),k=i[i.length-1],x=!!(k?.hasNext&&k.endCursor),b=useCallback(()=>{!k?.endCursor||!k.hasNext||s(k.endCursor);},[k]);return {traders:g,isLoading:p||u,hasMore:x,loadMore:b,onlyTracked:a,setOnlyTracked:d}}function jS({chain:e,address:t,limit:o,className:r,renderAddress:n}){let{traders:s,isLoading:i,hasMore:l,loadMore:a,onlyTracked:d,setOnlyTracked:m}=Kn({chain:e,address:t,limit:o});return jsx(_n,{className:r,traders:s,isLoading:i,hasMore:l,onLoadMore:a,onlyTracked:d,onOnlyTrackedChange:m,renderAddress:n})}function qn({tokens:e,isLoading:t,unavailable:o,hasMore:r,onLoadMore:n,renderTokenLink:s,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(l=>jsx(ep,{token:l,renderTokenLink:s},`${l.chain}:${l.address}`)),!o&&t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&r&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:n,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 ep({token:e,renderTokenLink:t}){let o=e.marketData?.marketCapInUsd??e.marketData?.marketCap,r=e.marketData?.tvlInUsd,s=e.stats?.["1h"]?.volumesInUsd,i=!!e.migratedTo,l=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:l}),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:r?formatAmountUSDCompact(r):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s?formatAmountUSDCompact(s):"--"})]})}function Qn({tokens:e,className:t}){let o=e.length,r=e.filter(l=>!!l.migratedTo).length,n=o===0?0:Math.round(r/o*100),s=e.map(l=>l.stats?.["1h"]?.volumesInUsd??"0").reduce((l,a)=>l.plus(new SafeBigNumber(a)),new SafeBigNumber(0)),i=e.map(l=>l.marketData?.marketCapInUsd??l.marketData?.marketCap??"0").reduce((l,a)=>l.plus(new SafeBigNumber(a)),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(Zt,{label:"Total",value:String(o)}),jsx(Zt,{label:"Migrated",value:`${r} (${n}%)`}),jsx(Zt,{label:"Total Market Cap",value:formatAmountUSDCompact(i.toString())}),jsx(Zt,{label:"Total 1h Volume",value:formatAmountUSDCompact(s.toString())})]})]})}function Zt({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 rp(e){return e instanceof Error&&e.code==="NotImplemented"}function Yn({chain:e,creator:t,limit:o=20}){let[r,n]=useState(void 0),[s,i]=useState([]);useEffect(()=>{n(void 0),i([]);},[e,t]);let l=useMemo(()=>({chain:e,creator:t??"",cursor:r,limit:o}),[e,t,r,o]),{data:a,isPending:d,isFetching:m,error:c}=useTokensByCreatorQuery(l,{enabled:!!t});useEffect(()=>{a&&i(x=>r==null?[a]:x[x.length-1]?.endCursor===a.endCursor?x:[...x,a]);},[a,r]);let p=!!c&&rp(c),u=useMemo(()=>s.flatMap(x=>x.data),[s]),f=s[s.length-1],g=!!(f?.hasNext&&f.endCursor),k=useCallback(()=>{!f?.endCursor||!f.hasNext||n(f.endCursor);},[f]);return {tokens:u,isLoading:!!t&&!p&&(d||m),unavailable:p,hasMore:g,loadMore:k}}function gC({chain:e,creator:t,limit:o,showSummary:r=false,renderTokenLink:n,className:s}){let{tokens:i,isLoading:l,unavailable:a,hasMore:d,loadMore:m}=Yn({chain:e,creator:t,limit:o});return jsxs("div",{className:s,children:[jsx(qn,{tokens:i,isLoading:l,unavailable:a,hasMore:d,onLoadMore:m,renderTokenLink:n}),r&&!a?jsx(Qn,{tokens:i}):null]})}function ei({token:e,athInUsd:t,athAt:o,globalFeesPaidInUsd:r,rank:n,onTogglePin:s,pinned:i,className:l}){let a=e?.marketData?.priceInUsd,d=e?.marketData?.tvlInUsd,m=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]",l),children:[jsx(tt,{label:"Price",value:a?formatPriceUSD(a):"--"}),jsx(tt,{label:"Liquidity",value:d?formatAmountUSDCompact(d):"--"}),jsx(tt,{label:"Supply",value:m?formatAmount(m):"--"}),r?jsx(tt,{label:"Fees Paid",value:formatAmountUSDCompact(r)}):null,t?jsx(tt,{label:"ATH",value:formatAmountUSDCompact(t),title:o?`All-time high at ${o.toLocaleDateString()}`:void 0}):null,n!==void 0?jsx(tt,{label:"Rank",value:`#${n}`}):null,jsx("div",{className:"flex-1"}),s?jsx("button",{type:"button",onClick:s,"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 tt({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 oi({chain:e,address:t}){return R(e,t)}function AC({chain:e,address:t,athInUsd:o,athAt:r,globalFeesPaidInUsd:n,rank:s,pinned:i,onTogglePin:l,className:a}){let{token:d}=oi({chain:e,address:t});return jsx(ei,{className:a,token:d,athInUsd:o,athAt:r,globalFeesPaidInUsd:n,rank:s,pinned:i,onTogglePin:l})}function ri({tokens:e,isLoading:t,unavailable:o,onTokenClick:r,className:n}){return o?jsx("div",{className:cn$1("flex items-center justify-center p-4 text-center text-[11px] text-default-400",n),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",n),children:"No similar tokens found."}):jsxs("ul",{className:cn$1("flex flex-col",n),children:[e.map(s=>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",!r&&"cursor-default"),onClick:r?()=>r(s):void 0,children:[jsx(Avatar,{src:s.image??void 0,name:(s.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:s.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:s.name})]}),jsx("span",{className:"text-[11px] tabular-nums text-default-500",children:s.marketData?.marketCapInUsd?formatAmountUSDCompact(s.marketData.marketCapInUsd):"--"})]},`${s.chain}:${s.address}`)),t&&jsx("li",{className:"py-2 text-center text-[11px] text-default-400",children:"Loading\u2026"})]})}function si({chain:e,address:t,keyword:o,limit:r=10}){let n=!!o&&o.length>0,{data:s,isPending:i,isFetching:l}=useSearchTokensQuery({chains:[e],keyword:o,limit:r+1},{enabled:n});return {tokens:useMemo(()=>{if(!s)return [];let d=t.toLowerCase();return (s.data??[]).filter(m=>m.address.toLowerCase()!==d).slice(0,r)},[s,t,r]),isLoading:n&&(i||l),unavailable:!n}}function qC({chain:e,address:t,keyword:o,limit:r,onTokenClick:n,className:s}){let{tokens:i,isLoading:l,unavailable:a}=si({chain:e,address:t,keyword:o,limit:r});return jsx(ri,{className:s,tokens:i,isLoading:l,unavailable:a,onTokenClick:n})}function ni({tokens:e=[],unavailable:t=true,onTokenClick:o,className:r}){return t?jsx("div",{className:cn$1("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),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",r),children:"No reused-image tokens found."}):jsx("div",{className:cn$1("flex flex-row flex-wrap gap-2 p-3",r),children:e.map(n=>jsx("button",{type:"button",onClick:o?()=>o(n):void 0,className:"flex size-10 items-center justify-center overflow-hidden rounded-full border border-default-100 transition-opacity hover:opacity-80",title:n.symbol,children:jsx(Avatar,{src:n.image??void 0,name:(n.symbol??"?").slice(0,1),className:"size-full bg-default-100 text-[10px] text-default-400",showFallback:true})},`${n.chain}:${n.address}`))})}function ii(e){return {tokens:[],isLoading:false,unavailable:true}}function nw({chain:e,address:t,onTokenClick:o,className:r}){let{tokens:n,unavailable:s}=ii();return jsx(ni,{className:r,tokens:n,unavailable:s,onTokenClick:o})}function mi({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:r,className:n}){let{t:s}=useTranslation(),[i,l]=useState(e?.join(", ")??""),[a,d]=useState(t?.join(", ")??"");useEffect(()=>{l(p=>{let u=eo(p);return u===void 0&&e===void 0?p:u===void 0?e?.join(", ")??"":e===void 0?"":u.join("")===e.join("")?p:e.join(", ")});},[e]),useEffect(()=>{d(p=>{let u=eo(p);return u===void 0&&t===void 0?p:u===void 0?t?.join(", ")??"":t===void 0?"":u.join("")===t.join("")?p:t.join(", ")});},[t]);let m=useCallback(p=>{l(p),o?.(eo(p));},[o]),c=useCallback(p=>{d(p),r?.(eo(p));},[r]);return jsxs("div",{className:cn$1("grid grid-cols-2 gap-3 px-4",n),children:[jsxs("div",{className:"flex flex-col gap-3",children:[jsx("h3",{className:"text-xs text-neutral",children:s("tokens.filters.keywords.title")}),jsx(StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.keywords.placeholder"),value:i,onValueChange:m})]}),jsxs("div",{className:"flex flex-col gap-3",children:[jsx("h3",{className:"text-xs text-neutral",children:s("tokens.filters.keywords.exclude.title")}),jsx(StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.keywords.placeholder"),value:a,onValueChange:c})]})]})}function eo(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function ki({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:r}){let{t:n}=useTranslation(),[s,i]=useState(t);useEffect(()=>{i(t);},[t]);let l=useMemo(()=>e.every(m=>s.includes(m)),[e,s]),a=useCallback(()=>{if(l){let m=[];i(m),o?.(m);}else {let m=[...e];i(m),o?.(m);}},[e,o,l]),d=useCallback(m=>()=>{if(s.includes(m)){let c=s.filter(p=>p!==m);i(c),o?.(c);}else {let c=[...s,m];i(c),o?.(c);}},[s,o]);return jsxs("div",{className:cn$1("flex flex-col gap-3 px-4",r),children:[jsxs("div",{className:"flex justify-between items-center",children:[jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.protocols.title")}),jsx(Button,{variant:"light",color:"default",size:"sm",radius:"full",onPress:a,children:n(l?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(m=>{let c=Ce(m);return jsx(Button,{variant:"bordered",size:"sm",radius:"full",className:cn$1("w-fit h-6 px-2.5",c.text,c.bg5,"border",c.border,{"opacity-40 data-[hover=true]:!opacity-30":!s.includes(m)}),startContent:jsx(Image,{width:14,height:14,src:`/images/protocols/${m}.svg`,alt:formatTokenProtocolName(m)}),onPress:d(m),children:formatTokenProtocolName(m)},m)})})]})}function fe({title:e,field:t,value:o,onChange:r}){let{t:n}=useTranslation(),[s,i]=useState(o?Xo(o).min:NaN),[l,a]=useState(o?Xo(o).max:NaN);useEffect(()=>{if(o===void 0)i(NaN),a(NaN);else {let{min:c,max:p}=Xo(o);i(c),a(p);}},[o]);let d=useCallback(c=>{i(c),r?.(Ti(t,c,l));},[t,r,l]),m=useCallback(c=>{a(c),r?.(Ti(t,s,c));},[t,r,s]);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:s,onValueChange:d,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsx(StyledNumberInput,{value:l,onValueChange:m,variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function Xo(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 Ti(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 Ni({values:e,onValuesChange:t,className:o}){let{t:r}=useTranslation(),[n,s]=useState(e);useEffect(()=>{s(e);},[e]);let i=useCallback(l=>a=>{if(a===void 0){let d=(n??[]).filter(m=>m.field!==l);d=d.length>0?d:void 0,s(d),t?.(d);}else {let d=[...(n??[]).filter(m=>m.field!==l),a];s(d),t?.(d);}},[n,t]);return jsxs("div",{className:cn$1("flex flex-col gap-4",o),children:[jsx(fe,{field:"holders",title:r("tokens.filters.stats.audits.holders"),value:n?.find(l=>l.field==="holders"),onChange:i("holders")}),jsx(fe,{field:"top10Ratio",title:r("tokens.filters.stats.audits.top10HoldingsRatio"),value:n?.find(l=>l.field==="top10Ratio"),onChange:i("top10Ratio")}),jsx(fe,{field:"top100Ratio",title:r("tokens.filters.stats.audits.top100HoldingsRatio"),value:n?.find(l=>l.field==="top100Ratio"),onChange:i("top100Ratio")}),jsx(fe,{field:"creatorsRatio",title:r("tokens.filters.stats.audits.devHoldingsRatio"),value:n?.find(l=>l.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function Si({resolution:e,values:t,onValuesChange:o,className:r}){let{t:n}=useTranslation(),[s,i]=useState(t);useEffect(()=>{i(t);},[t]);let l=useCallback(a=>d=>{if(d===void 0){let m=(s??[]).filter(c=>c.field!==a);m=m.length>0?m:void 0,i(m),o?.(m);}else {let m=[...(s??[]).filter(c=>c.field!==a),d];i(m),o?.(m);}},[s,o]);return jsxs("div",{className:cn$1("flex flex-col gap-4",r),children:[jsx(fe,{field:"marketCap",title:n("tokens.filters.stats.metrics.marketCap"),value:s?.find(a=>a.field==="marketCap"),onChange:l("marketCap")}),jsx(fe,{field:"tvl",title:n("tokens.filters.stats.metrics.liquidity"),value:s?.find(a=>a.field==="tvl"),onChange:l("tvl")}),jsx(fe,{field:`volumes${e}`,title:n("tokens.filters.stats.metrics.volumes",{resolution:n(`common.resolution.${e}`)}),value:s?.find(a=>a.field===`volumes${e}`),onChange:l(`volumes${e}`)}),jsx(fe,{field:`trades${e}`,title:n("tokens.filters.stats.metrics.txns",{resolution:n(`common.resolution.${e}`)}),value:s?.find(a=>a.field===`trades${e}`),onChange:l(`trades${e}`)})]})}function Ai({resolution:e,values:t,onValuesChange:o,className:r}){let{t:n}=useTranslation(),[s,i]=useState("audits"),[l,a]=useState(t);useEffect(()=>{a(t);},[t]);let d=useCallback(p=>{a(p),o?.(p);},[o]),m=useMemo(()=>{let p=["holders","top10Ratio","top100Ratio","creatorsRatio"];return l?.filter(u=>p.includes(u.field))?.length??0},[l]),c=useMemo(()=>{let p=["marketCap","tvl",`volumes${e}`,`trades${e}`];return l?.filter(u=>p.includes(u.field)).length??0},[l,e]);return jsxs("div",{className:cn$1("flex flex-col gap-3 px-4",r),children:[jsxs(StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:s,onSelectionChange:i,children:[jsx(Tab,{title:m===0?n("tokens.filters.stats.audits"):jsx(StyledBadge,{color:"primary",size:"sm",content:m,shape:"circle",children:n("tokens.filters.stats.audits")})},"audits"),jsx(Tab,{title:c===0?n("tokens.filters.stats.metrics"):jsx(StyledBadge,{color:"primary",size:"sm",content:c,shape:"circle",children:n("tokens.filters.stats.metrics")})},"metrics")]}),jsx(Ni,{values:l,onValuesChange:d,className:cn$1({hidden:s!=="audits"})}),jsx(Si,{values:l,onValuesChange:d,resolution:e,className:cn$1({hidden:s!=="metrics"})})]})}function lo({protocols:e,resolution:t,filters:o,onFiltersChange:r,className:n}){let[s,i]=useState(Hi(o?.filters,e));useEffect(()=>{i(Hi(o?.filters,e));},[o?.filters,e]);let[l,a]=useState(o?.keywords);useEffect(()=>{a(o?.keywords);},[o?.keywords]);let[d,m]=useState(o?.excludeKeywords);useEffect(()=>{m(o?.excludeKeywords);},[o?.excludeKeywords]);let[c,p]=useState(o?.filters);useEffect(()=>{p(o?.filters);},[o?.filters]);let u=useCallback(x=>{i(x),r?.(ao(e,x,l,d,c));},[e,l,d,c,r]),f=useCallback(x=>{a(x),r?.(ao(e,s,x,d,c));},[e,s,d,c,r]),g=useCallback(x=>{m(x),r?.(ao(e,s,l,x,c));},[e,s,l,c,r]),k=useCallback(x=>{p(x),r?.(ao(e,s,l,d,x));},[e,s,l,d,r]);return jsxs("div",{className:cn$1("flex flex-col gap-4",n),children:[e&&e.length>0&&jsxs(Fragment,{children:[jsx(ki,{protocols:e,selectedProtocols:s,onSelectedProtocolsChange:u}),jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}})]}),jsx(mi,{keywords:l,excludeKeywords:d,onKeywordsChange:f,onExcludeKeywordsChange:g}),jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}}),jsx(Ai,{resolution:t,values:c,onValuesChange:k})]})}function Hi(e,t){let o=e?.find(r=>r.field==="launchedFromProtocolFamily");return o?o.operator==="in"?o.value:(console.warn("invalid token protocols filter",o),[...t||[]]):[...t||[]]}function ao(e,t,o,r,n){let s=n?[...n.filter(i=>i.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(l=>t.includes(l))||s.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&r===void 0&&s.length===0?void 0:{keywords:o,excludeKeywords:r,filters:s.length>0?s:void 0}}function Ui({protocols:e,resolution:t,filters:o,onFiltersChange:r}){let{t:n}=useTranslation(),{isOpen:s,onOpen:i,onClose:l,onOpenChange:a}=useDisclosure(),[d,m]=useState(o),c=useCallback(()=>{m(void 0);},[]),p=useCallback(()=>{r?.(d),l();},[d,r,l]);useEffect(()=>{m(o);},[s,o]);let u=useMemo(()=>Object.values(o||{}).every(f=>f===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:s,onOpenChange:a,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:n("tokens.filters.modal.title")})}),jsx(ModalBody,{className:"px-0 pt-0 pb-4",children:jsx(ScrollShadow,{children:jsx(lo,{protocols:e,resolution:t,filters:d,onFiltersChange:m,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:c,children:n("common.reset")}),jsx(Button,{color:"primary",size:"sm",radius:"full",onPress:p,children:n("common.apply")})]})})]})})]})}var lu={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},du={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"},cu={height:1,background:"rgba(39,39,42,1)",margin:0};function Bi({protocols:e,resolution:t,filters:o,onFiltersChange:r}){let{t:n}=useTranslation(),[s,i]=useState(false),l=useRef(null),[a,d]=useState(o),m=useCallback(()=>{d(void 0);},[]),c=useCallback(()=>{r?.(a),i(false);},[a,r]);useEffect(()=>{d(o);},[s,o]),useEffect(()=>{let u=f=>{l.current&&!l.current.contains(f.target)&&i(false);};return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]),useEffect(()=>{if(!s)return;let u=f=>{f.key==="Escape"&&i(false);};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[s]);let p=useMemo(()=>Object.values(o||{}).every(u=>u===void 0),[o]);return jsxs("div",{ref:l,style:{position:"relative"},children:[jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxs("button",{type:"button",style:lu,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:n("tokens.listHeader.filter")}),jsx(mu,{open:s})]}),!p&&jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),s&&jsxs("div",{style:{...du,width:420},children:[jsx("div",{style:{padding:"16px 0"},children:jsx(ScrollShadow,{className:"w-full max-h-120 px-4",children:jsx(lo,{protocols:e,resolution:t,filters:a,onFiltersChange:d})})}),jsx("div",{style:cu}),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:m,children:n("common.reset")}),jsx(Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:c,children:n("common.apply")})]})]})]})}function mu({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 YL({popoverPlacement:e="bottom-end",...t}){let{isMobile:o}=useScreen();return o?jsx(Ui,{...t}):jsx(Bi,{placement:e,...t})}function _i({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:r}=useTranslation(),n=useCallback(s=>{t?.(s);},[t]);return jsx(StyledPlainTabs,{color:"primary",radius:"lg",selectedKey:e,onSelectionChange:n,"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(s=>jsx(Tab,{title:r(`common.resolution.${s}`)},s))})}var Su={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},Cu={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 Ki({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:r}=useTranslation(),[n,s]=useState(false),i=useRef(null),l=useCallback(a=>{t?.(a),s(false);},[t]);return useEffect(()=>{if(!n)return;let a=m=>{i.current&&!i.current.contains(m.target)&&s(false);},d=m=>{m.key==="Escape"&&s(false);};return document.addEventListener("mousedown",a),document.addEventListener("keydown",d),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",d);}},[n]),jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxs("button",{type:"button",style:Su,onClick:()=>s(a=>!a),children:[jsx("span",{children:e?r(`common.resolution.${e}`):"\u2014"}),jsx(ChevronDownIcon,{width:14,height:14,className:"text-zinc-500",style:{transition:"transform 0.15s",transform:n?"rotate(180deg)":void 0}})]}),n&&jsx("div",{style:Cu,children:o.map(a=>jsx("button",{type:"button",onClick:()=>l(a),className:cn$1("w-full text-left px-3 py-1.5 rounded-lg text-xs font-medium transition-colors cursor-pointer",a===e?"text-primary bg-primary/10":"text-zinc-400 hover:text-foreground hover:bg-zinc-800"),children:r(`common.resolution.${a}`)},a))})]})}function fP(e){let{isMobile:t}=useScreen();return t?jsx(Ki,{...e}):jsx(_i,{...e})}function Qi({token:e}){let{t}=useTranslation(),o=useMemo(()=>e.marketData?.bluechipHoldingsRatio,[e.marketData?.bluechipHoldingsRatio]),r=useMemo(()=>o!==void 0&&new SafeBigNumber(o).gte(.1),[o]),n=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:[r&&jsx(HorsePowerHighIcon,{}),n&&jsx(HorsePowerLowIcon,{}),!r&&!n&&jsx(HorsePowerIcon,{}),jsx("span",{className:cn$1(r&&"text-bullish",!r&&!n&&"text-bearish",o===void 0&&"text-neutral"),children:formatPercent(o)})]})})}function Gi({token:e}){let t=useCopyToClipboard(),{t:o}=useTranslation(),r=useCallback(s=>{s.preventDefault(),s.stopPropagation(),t(e.address,()=>toast.success(o("tokens.copied.address")));},[t,e.address,o]),n=useTickAge(e.createdAt);return jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsx(de,{token:e,showProgress:false,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:r,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(n)}),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"})})]})]})]})}function Xi({token:e}){let{t}=useTranslation(),o=e.marketData,r=useMemo(()=>new SafeBigNumber(o?.top10HoldingsRatio).gte(.1),[o?.top10HoldingsRatio]),n=useMemo(()=>new SafeBigNumber(o?.devHoldingsRatio).gte(.1),[o?.devHoldingsRatio]),s=useMemo(()=>new SafeBigNumber(o?.sniperHoldingsRatio).gte(.1),[o?.sniperHoldingsRatio]),i=useMemo(()=>new SafeBigNumber(o?.insiderHoldingsRatio).gte(.1),[o?.insiderHoldingsRatio]),l=useMemo(()=>new SafeBigNumber(o?.bundleHoldingsRatio).gte(.1),[o?.bundleHoldingsRatio]);return jsxs("div",{className:"w-full h-full flex flex-col gap-1 justify-center",children:[jsxs("div",{className:"flex items-center gap-1",children:[jsx(W,{icon:jsx(PeopleIcon,{width:12,height:12}),value:formatAmount(o?.holders),tooltip:t("tokens.tokenInfo.holders"),warning:false,disable:!o?.holders}),jsx(W,{icon:jsx(KlineCandlesIcon,{width:12,height:12}),value:formatAmount(o?.proHolders),tooltip:t("tokens.tokenInfo.proHolders"),warning:false,disable:!o?.proHolders}),jsx(W,{icon:jsx(StarIcon,{width:12,height:12}),value:formatAmount(o?.kolHolders),tooltip:t("tokens.tokenInfo.kolHolders"),warning:false,disable:!o?.kolHolders}),jsx(W,{icon:jsx(UserWithStarBadgeIcon,{width:12,height:12}),value:formatPercent(o?.top10HoldingsRatio),tooltip:t("tokens.tokenInfo.top10HoldingsRatio"),warning:r,disable:!o?.top10HoldingsRatio||o?.top10HoldingsRatio==="0"})]}),jsxs("div",{className:"flex items-center gap-1",children:[jsx(W,{icon:jsx(CookIcon,{width:12,height:12}),value:formatPercent(o?.devHoldingsRatio),tooltip:t("tokens.tokenInfo.devHoldingsRatio"),warning:n,disable:!o?.devHoldingsRatio||o?.devHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsx(W,{icon:jsx(SniperIcon,{width:12,height:12}),value:formatPercent(o?.sniperHoldingsRatio),tooltip:t("tokens.tokenInfo.sniperHoldingsRatio"),warning:s,disable:!o?.sniperHoldingsRatio||o?.sniperHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsx(W,{icon:jsx(RatIcon,{width:12,height:12}),value:formatPercent(o?.insiderHoldingsRatio),tooltip:t("tokens.tokenInfo.insiderHoldingsRatio"),warning:i,disable:!o?.insiderHoldingsRatio||o?.insiderHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsx(W,{icon:jsx(BundlesIcon,{width:12,height:12}),value:formatPercent(o?.bundleHoldingsRatio),tooltip:t("tokens.tokenInfo.bundleHoldingsRatio"),warning:l,disable:!o?.bundleHoldingsRatio||o?.bundleHoldingsRatio==="0",tooltipPlacement:"bottom"})]})]})}function Ji({token:e}){let t=useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsx(Fragment,{children:formatAmountUSD(t)})}function Yi({token:e}){let t=useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsx(Fragment,{children:formatAmountUSD(t)})}function ea({token:e,resolution:t}){let o=useMemo(()=>e.marketData?.priceInUsd,[e]),r=useMemo(()=>e.stats?.[t]?.priceChange,[e,t]),n=useMemo(()=>r?new SafeBigNumber(r).abs().toString():void 0,[r]),s=useMemo(()=>r&&new SafeBigNumber(r).gte(0),[r]);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",s?"text-bullish":"text-bearish"),children:[s?jsx(TriangleUpIcon,{width:10,height:10}):jsx(TriangleDownIcon,{width:10,height:10}),jsx("span",{children:formatPercent(n)})]})]})}function oa({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.traders,[e.stats?.[t]?.traders]),r=useMemo(()=>e.stats?.[t]?.buyers,[e.stats?.[t]?.buyers]),n=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(r)}),"/",jsx("span",{className:"text-bearish",children:formatAmount(n)})]})]})}function sa({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.trades,[e.stats?.[t]?.trades]),r=useMemo(()=>e.stats?.[t]?.buys,[e.stats?.[t]?.buys]),n=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(r)}),"/",jsx("span",{className:"text-bearish",children:formatAmount(n)})]})]})}function ia({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.volumesInUsd,[e.stats?.[t]?.volumesInUsd]),r=useMemo(()=>e.stats?.[t]?.buyVolumesInUsd,[e.stats?.[t]?.buyVolumesInUsd]),n=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(r)}),"/",jsx("span",{className:"text-bearish",children:formatAmountUSD(n)})]})]})}var hf=`
22
22
  @keyframes tklShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
23
- `,ff={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,r){return {...ff,animationDelay:`${e}ms`,width:t,height:o,...r}}var sa=10;function na({rowHeight:e,hasActions:t,isMobile:o}){return jsxs(Fragment,{children:[jsx("style",{children:uf}),Array.from({length:sa}).map((r,n)=>jsx(gf,{index:n,rowHeight:e,hasActions:t,isMobile:o,isLast:n===sa-1},n))]})}function gf({index:e,rowHeight:t,hasActions:o,isMobile:r,isLast:n}){let s=e*80,i=r?208:320,l=r?40:64,a=r?72:124,d=r?64:97;return jsxs("div",{style:{display:"flex",alignItems:"center",height:t,borderBottom:n?void 0:"1px solid rgba(39,39,42,0.3)"},children:[jsxs("div",{style:{width:i,padding:r?"0 12px":"0 12px 0 24px",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[jsx("div",{style:I(s,l,l,{borderRadius:8,flexShrink:0})}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8,flex:1},children:[jsx("div",{style:I(s+30,"60%",20)}),jsx("div",{style:I(s+60,"80%",16)})]})]}),jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(s+20,72,20)}),jsx("div",{style:I(s+40,52,16)})]}),jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:I(s+30,64,20)})}),jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:I(s+40,60,20)})}),jsxs("div",{style:{width:138,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(s+50,72,20)}),jsx("div",{style:I(s+70,100,16)})]}),jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(s+60,48,20)}),jsx("div",{style:I(s+80,80,16)})]}),jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(s+70,40,20)}),jsx("div",{style:I(s+90,72,16)})]}),jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",alignItems:"center",gap:10},children:[jsx("div",{style:I(s+80,20,20,{borderRadius:4})}),jsx("div",{style:I(s+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(s+80,52,16)}),jsx("div",{style:I(s+100,40,16)}),jsx("div",{style:I(s+120,36,16)})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:I(s+90,48,16)}),jsx("div",{style:I(s+110,40,16)}),jsx("div",{style:I(s+130,40,16)})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:I(s+100,40,16)}),jsx("div",{style:I(s+120,36,16)})]})]}),o&&jsx("div",{style:{width:a,padding:r?"0 12px 0 0":"0 24px 0 12px",display:"flex",alignItems:"center",justifyContent:"flex-end"},children:jsx("div",{style:I(s+100,d,32,{borderRadius:8})})})]})}function st({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:r,onSelectToken:n,sortDirections:s,onSortChange:i,height:l=600,itemHeight:a=88,itemHeightMobile:d=72,className:m}){let{isMobile:c}=useScreen(),p=o&&e.length===0,{t:u}=useTranslation(),f=useCallback(b=>k=>{k.preventDefault(),k.stopPropagation(),n?.(b);},[n]),[h,g]=useState(s??{});useEffect(()=>{g(s??{});},[s]);let x=useCallback(b=>k=>{let y={[b]:k};g(y),i?.(y);},[i]);return jsxs(StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:cn$1("h-full mx-auto",m??(r?"max-w-362 sm:max-w-403":"max-w-331 sm:max-w-372")),classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},maxTableHeight:l,rowHeight:c?d:a,"aria-label":"Tokens",children:[jsx(TableHeader,{children:[jsx(TableColumn,{textValue:u("tokens.listHeader.token"),width:c?208:320,className:cn$1("bg-[#0a0a0b] sticky left-0 z-10","shadow-[1px_0_0_0_rgba(39,39,42,0.6)]"),children:u("tokens.listHeader.token")},"token"),jsx(TableColumn,{textValue:u("tokens.listHeader.price"),width:128,children:jsxs("div",{className:"flex items-center gap-1",children:[jsx(Sortable,{sort:h.price,onSortChange:x("price"),children:u("tokens.listHeader.price")}),jsx("span",{children:"/"}),jsx(Sortable,{sort:h[`priceChange${t}`],onSortChange:x(`priceChange${t}`),children:u("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsx(TableColumn,{textValue:u("tokens.listHeader.marketCap"),width:106,children:jsx(Sortable,{sort:h.marketCap,onSortChange:x("marketCap"),children:u("tokens.listHeader.marketCap")})},"marketCap"),jsx(TableColumn,{textValue:u("tokens.listHeader.liquidity"),width:106,children:jsx(Sortable,{sort:h.tvl,onSortChange:x("tvl"),children:u("tokens.listHeader.liquidity")})},"liquidity"),jsx(TableColumn,{textValue:u("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsx(Sortable,{sort:h[`volumes${t}`],onSortChange:x(`volumes${t}`),children:u("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsx(TableColumn,{textValue:u("tokens.listHeader.txs",{resolution:t}),width:126,children:jsx(Sortable,{sort:h[`trades${t}`],onSortChange:x(`trades${t}`),children:u("tokens.listHeader.txs",{resolution:t})})},"txs"),jsx(TableColumn,{textValue:u("tokens.listHeader.traders",{resolution:t}),width:126,children:jsx(Sortable,{sort:h[`traders${t}`],onSortChange:x(`traders${t}`),children:u("tokens.listHeader.traders",{resolution:t})})},"traders"),jsx(TableColumn,{textValue:u("tokens.listHeader.bluechip"),width:128,children:u("tokens.listHeader.bluechip")},"bluechip"),jsx(TableColumn,{textValue:u("tokens.listHeader.tokenInfo"),width:308,children:u("tokens.listHeader.tokenInfo")},"tokenInfo"),r?jsx(TableColumn,{textValue:u("tokens.listHeader.actions"),width:c?72:124,align:"end",className:cn$1("bg-[#0a0a0b] sticky right-0 z-10","shadow-[-1px_0_0_0_rgba(39,39,42,0.6)]"),children:u("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean)}),jsx(TableBody,{items:e,isLoading:p,loadingContent:jsx(na,{rowHeight:c?d:a,hasActions:!!r,isMobile:c}),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:u("common.empty")})]}),children:b=>jsx(TableRow,{onClick:n?f(b):void 0,children:[jsx(TableCell,{className:cn$1("sticky left-0 z-10 bg-[#0a0a0b]","shadow-[1px_0_0_0_rgba(39,39,42,0.6)]","transition-colors duration-150","[tr:hover_&]:bg-[#161617]"),children:jsx(zi,{token:b,resolution:t})},"token"),jsx(TableCell,{children:jsx(Yi,{token:b,resolution:t})},"price"),jsx(TableCell,{children:jsx(Gi,{token:b,resolution:t})},"marketCap"),jsx(TableCell,{children:jsx(Qi,{token:b,resolution:t})},"liquidity"),jsx(TableCell,{children:jsx(ra,{token:b,resolution:t})},"volumes"),jsx(TableCell,{children:jsx(ta,{token:b,resolution:t})},"trades"),jsx(TableCell,{children:jsx(ji,{token:b,resolution:t})},"traders"),jsx(TableCell,{children:jsx(Ki,{token:b,resolution:t})},"bluechip"),jsx(TableCell,{children:jsx(qi,{token:b,resolution:t})},"tokenInfo"),r?jsx(TableCell,{className:cn$1("sticky right-0 z-10",c?"bg-transparent":"bg-[#0a0a0b]",!c&&"shadow-[-1px_0_0_0_rgba(39,39,42,0.6)]","transition-colors duration-150",!c&&"[tr:hover_&]:bg-[#161617]"),children:jsx("div",{className:cn$1("!absolute inset-y-0 right-3 z-1 w-fit","flex items-center justify-end"),children:jsx(r,{token:b,resolution:t})})},"actions"):void 0].filter(Boolean)},b.address)})]})}function da({token:e,resolution:t,renderAction:o,isLast:r=false,onSelectToken:n,className:s}){let{t:i}=useTranslation(),l=useCopyToClipboard(),a=useTickAge(e.createdAt),d=useCallback(()=>{n?.(e);},[n,e]),m=useCallback($=>{$.stopPropagation(),l(e.address,()=>toast.success(i("tokens.copied.address")));},[l,e.address,i]),c=e.marketData,p=e.stats?.[t],u=useMemo(()=>c?.priceInUsd,[c?.priceInUsd]),f=useMemo(()=>p?.priceChange,[p?.priceChange]),h=useMemo(()=>f&&new SafeBigNumber(f).gte(0),[f]),g=useMemo(()=>f?new SafeBigNumber(f).abs().toString():void 0,[f]),x=useMemo(()=>p?.volumesInUsd,[p?.volumesInUsd]),b=useMemo(()=>p?.buyVolumesInUsd,[p?.buyVolumesInUsd]),k=useMemo(()=>p?.sellVolumesInUsd,[p?.sellVolumesInUsd]),y=useMemo(()=>p?.trades,[p?.trades]),K=useMemo(()=>c?.marketCapInUsd,[c?.marketCapInUsd]),J=useMemo(()=>c?.tvlInUsd,[c?.tvlInUsd]),ne=useMemo(()=>new SafeBigNumber(c?.top10HoldingsRatio).gte(.1),[c?.top10HoldingsRatio]),De=useMemo(()=>new SafeBigNumber(c?.devHoldingsRatio).gte(.1),[c?.devHoldingsRatio]),V=useMemo(()=>new SafeBigNumber(c?.sniperHoldingsRatio).gte(.1),[c?.sniperHoldingsRatio]),We=useMemo(()=>new SafeBigNumber(c?.insiderHoldingsRatio).gte(.1),[c?.insiderHoldingsRatio]),Be=useMemo(()=>new SafeBigNumber(c?.bundleHoldingsRatio).gte(.1),[c?.bundleHoldingsRatio]),F=c?.holders!==void 0&&c.holders>0,le=c?.kolHolders!==void 0&&c.kolHolders>0,U=c?.bluechipHolders!==void 0&&c.bluechipHolders>0,te=F||le||U;return jsxs("div",{className:cn$1("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer",!r&&"border-b",s),style:r?void 0:{borderBottomColor:"rgba(39,39,42,0.6)"},onClick:n?d:void 0,children:[jsxs("div",{className:"flex items-start gap-2",children:[jsxs("div",{className:"flex-none flex flex-col items-center gap-2",children:[jsx(de,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:false,className:"w-20 h-20"}),jsxs("button",{type:"button",className:"text-xs font-mono text-neutral hover:text-foreground leading-none",onClick:m,"aria-label":i("tokens.copied.address"),title:i("tokens.copied.address"),children:[e.address.slice(0,4),"...",e.address.slice(-4)]})]}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-2.5",children:[jsxs("button",{type:"button",className:"flex items-center gap-1.5 min-w-0 text-left",onClick:m,"aria-label":i("tokens.copied.address"),title:i("tokens.copied.address"),children:[jsx("span",{className:"flex-none text-sm font-semibold leading-none whitespace-nowrap overflow-hidden text-ellipsis max-w-24",children:e.symbol}),jsx(StyledTooltip,{content:e.name,children:jsx("span",{className:"text-[13px] leading-none text-neutral truncate max-w-20",children:e.name})}),jsx(CopyIcon,{className:"flex-none w-3.5 h-3.5 text-neutral"})]}),jsxs("div",{className:"flex items-center gap-2 leading-none",children:[jsx("span",{className:"text-[13px] font-mono font-medium text-neutral",children:formatAge(a)}),e.socialMedias?.website&&jsx(Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:$=>$.stopPropagation(),children:jsx(WebsiteIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.twitter&&jsx(Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:$=>$.stopPropagation(),children:jsx(TwitterIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.telegram&&jsx(Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:$=>$.stopPropagation(),children:jsx(TelegramIcon,{className:"w-3.5 h-3.5"})}),jsx(Link,{href:searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"max-sm:hidden text-neutral hover:text-primary",target:"_blank",onClick:$=>$.stopPropagation(),children:jsx(SearchIcon,{className:"w-3.5 h-3.5"})})]}),jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-foreground/80 leading-none",children:[jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsx("span",{className:"text-neutral",children:"MC"}),jsx("span",{children:formatAmountUSDCompact(K)})]}),jsx("span",{className:"text-neutral/30",children:"\xB7"}),jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsx("span",{className:"text-neutral",children:"Liq"}),jsx("span",{children:formatAmountUSDCompact(J)})]})]}),te&&jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-neutral leading-none",children:[F&&jsx(StyledTooltip,{content:i("tokens.tokenInfo.holders"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(PeopleIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(c?.holders)]})}),le&&jsx(StyledTooltip,{content:i("tokens.tokenInfo.kolHolders"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(CrownIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(c?.kolHolders)]})}),U&&jsx(StyledTooltip,{content:i("tokens.listHeader.bluechip"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(ShiningStarIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(c?.bluechipHolders)]})})]})]}),jsxs("div",{className:"flex-none flex flex-col items-end gap-2.5 leading-none font-mono",children:[jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsx("span",{className:"text-base font-bold text-foreground leading-none",children:formatPriceUSD(u)}),jsxs("span",{className:cn$1("inline-flex items-center gap-0.5 text-[10px] leading-none",h?"text-bullish":"text-bearish"),children:[h?jsx(TriangleUpIcon,{width:8,height:8}):jsx(TriangleDownIcon,{width:8,height:8}),f===void 0?"--":formatPercent(g)]})]}),jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsxs("div",{className:"flex items-baseline gap-1",children:[jsx("span",{className:"text-xs text-neutral",children:"V"}),jsx("span",{className:"text-xs text-foreground/80",children:formatAmountUSDCompact(x)})]}),jsxs("span",{className:"text-[10px] leading-none",children:[jsx("span",{className:"text-bullish",children:formatAmountUSDCompact(b)}),jsx("span",{className:"text-neutral/50 mx-0.5",children:"/"}),jsx("span",{className:"text-bearish",children:formatAmountUSDCompact(k)})]})]}),jsxs("div",{className:"flex items-baseline gap-1",children:[jsx("span",{className:"text-xs text-neutral",children:"TX"}),jsx("span",{className:"text-xs text-foreground/80",children:formatAmount(y)})]})]})]}),jsxs("div",{className:"mt-2.5 flex items-start gap-4 relative",children:[jsx(HorizontalScrollContainer,{className:"flex-auto min-w-0",forceShowArrows:true,children:jsxs("div",{className:"flex items-center gap-1",children:[jsx(W,{icon:jsx(UserWithStarBadgeIcon,{width:12,height:12}),value:formatPercent(c?.top10HoldingsRatio),tooltip:i("tokens.tokenInfo.top10HoldingsRatio"),warning:ne,disable:!c?.top10HoldingsRatio||c?.top10HoldingsRatio==="0"}),jsx(W,{icon:jsx(CookIcon,{width:12,height:12}),value:formatPercent(c?.devHoldingsRatio),tooltip:i("tokens.tokenInfo.devHoldingsRatio"),warning:De,disable:!c?.devHoldingsRatio||c?.devHoldingsRatio==="0"}),jsx(W,{icon:jsx(SniperIcon,{width:12,height:12}),value:formatPercent(c?.sniperHoldingsRatio),tooltip:i("tokens.tokenInfo.sniperHoldingsRatio"),warning:V,disable:!c?.sniperHoldingsRatio||c?.sniperHoldingsRatio==="0"}),jsx(W,{icon:jsx(RatIcon,{width:12,height:12}),value:formatPercent(c?.insiderHoldingsRatio),tooltip:i("tokens.tokenInfo.insiderHoldingsRatio"),warning:We,disable:!c?.insiderHoldingsRatio||c?.insiderHoldingsRatio==="0"}),jsx(W,{icon:jsx(BundlesIcon,{width:12,height:12}),value:formatPercent(c?.bundleHoldingsRatio),tooltip:i("tokens.tokenInfo.bundleHoldingsRatio"),warning:Be,disable:!c?.bundleHoldingsRatio||c?.bundleHoldingsRatio==="0"})]})}),o&&jsx("div",{className:"flex-none relative",onClick:$=>$.stopPropagation(),children:o(e)})]})]})}function ca({isLast:e=false}){return jsxs("div",{className:cn$1("w-full h-full overflow-hidden px-4 py-3 animate-pulse",!e&&"border-b"),style:e?void 0:{borderBottomColor:"rgba(39,39,42,0.6)"},children:[jsxs("div",{className:"flex items-start gap-2",children:[jsxs("div",{className:"flex-none flex flex-col items-center gap-2",children:[jsx("div",{className:"w-20 h-20 rounded-lg bg-content2"}),jsx("div",{className:"w-14 h-2.5 rounded bg-content2"})]}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-2",children:[jsxs("div",{className:"flex items-center gap-1.5",children:[jsx("div",{className:"w-16 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-20 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"w-8 h-3 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"w-12 h-3 rounded bg-content2"}),jsx("div",{className:"w-12 h-3 rounded bg-content2"}),jsx("div",{className:"w-10 h-3 rounded bg-content2"})]})]}),jsxs("div",{className:"flex-none flex flex-col items-end gap-3",children:[jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsx("div",{className:"w-16 h-4 rounded bg-content2"}),jsx("div",{className:"w-12 h-2.5 rounded bg-content2"})]}),jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsx("div",{className:"w-14 h-3 rounded bg-content2"}),jsx("div",{className:"w-12 h-2.5 rounded bg-content2"})]})]})]}),jsxs("div",{className:"mt-2.5 flex items-center gap-2",children:[jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-1 overflow-hidden",children:[jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"})]}),jsx("div",{className:"w-16 h-7 rounded-md bg-content2 flex-none"})]})]})}var jf=154,ma=10;function eg({index:e,style:t,tokens:o,skeletonCount:r,resolution:n,renderAction:s,onSelectToken:i}){return o?jsx("div",{style:t,children:jsx(da,{token:o[e],resolution:n,isLast:e===o.length-1,renderAction:s,onSelectToken:i})}):jsx("div",{style:t,children:jsx(ca,{isLast:e===r-1})})}function Y1({tokens:e,resolution:t="24h",isLoading:o,height:r=600,renderAction:n,onSelectToken:s,className:i}){let l=o||!e?void 0:e,a=l?l.length:ma,d=useMemo(()=>({tokens:l,skeletonCount:ma,resolution:t,renderAction:n,onSelectToken:s}),[l,t,n,s]);return jsx("div",{className:cn$1("w-full h-full overflow-hidden border rounded-lg",i),style:{background:"rgba(24,24,27,0.4)",borderColor:"rgba(39,39,42,0.6)"},children:jsx(List,{className:"h-full w-full",style:{height:r},rowCount:a,rowHeight:jf,overscanCount:5,rowComponent:eg,rowProps:d})})}var ng=80;function ig(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 ga(e){return e.sort((t,o)=>{let r=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-r}),e.slice(0,ng)}function xa({chain:e,resolution:t,options:o,refetchInterval:r=12e3}){let n=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),s=useRef(n),[i,l]=useState(true);useEffect(()=>{JSON.stringify(n)!==JSON.stringify(s.current)&&(l(true),s.current=n);},[n]);let[a,d]=useState([]),{data:m,isPending:c}=useNewTokensQuery(n,{refetchInterval:r});useEffect(()=>{m&&(d(f=>ga(Ke(f,m))),l(false));},[m]);let p=useCallback(f=>{d(h=>{let g=[...h],x=false;for(let b of f){let k=g.findIndex(y=>y.address===b.address);k>=0?(x=true,g[k]=E(g[k],b)):(x=true,g.push(ig(b)));}return x?ga(g):h});},[]);useNewTokensSubscription({chain:e},p);let u=useMemo(()=>!!(c||i),[c,i]);return {tokens:a,isLoading:u}}function d2({chain:e,resolution:t,filters:o,ActionsComponent:r,onSelectToken:n,height:s,itemHeight:i,itemHeightMobile:l,className:a}){let[d,m]=useState();useEffect(()=>{m(void 0);},[e]);let c=useMemo(()=>{let f=Object.keys(d??{})[0],h=d?.[f];return {...o,...f&&h?{sortBy:f,sortDirection:h}:void 0}},[o,d]),{tokens:p,isLoading:u}=xa({chain:e,resolution:t,options:c});return jsx(st,{tokens:p,isLoading:u,resolution:t,height:s,itemHeight:i,itemHeightMobile:l,ActionsComponent:r,onSelectToken:n,sortDirections:d,onSortChange:m,className:a})}function ya({chain:e,resolution:t,options:o,refetchInterval:r=12e3}){let n=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),s=useRef(n),[i,l]=useState(true);useEffect(()=>{JSON.stringify(n)!==JSON.stringify(s.current)&&(l(true),s.current=n);},[n]);let[a,d]=useState([]),{data:m,isPending:c}=useStockTokensQuery(n,{refetchInterval:r});useEffect(()=>{m&&(d(f=>Ke(f,m)),l(false));},[m]);let p=useCallback(f=>{d(h=>{let g=[...h],x=false;for(let b of f){let k=g.findIndex(y=>y.address===b.address);k>=0&&(x=true,g[k]=E(g[k],b));}return x?g:h});},[]);useStockTokensSubscription({chain:e},p);let u=useMemo(()=>!!(c||i),[c,i]);return {tokens:a,isLoading:u}}function T2({chain:e,resolution:t,filters:o,ActionsComponent:r,onSelectToken:n,height:s,itemHeight:i,itemHeightMobile:l,className:a}){let[d,m]=useState();useEffect(()=>{m(void 0);},[e]);let c=useMemo(()=>{let f=Object.keys(d??{})[0],h=d?.[f];return {...o,...f&&h?{sortBy:f,sortDirection:h}:void 0}},[o,d]),{tokens:p,isLoading:u}=ya({chain:e,resolution:t,options:c});return jsx(st,{tokens:p,isLoading:u,resolution:t,height:s,itemHeight:i,itemHeightMobile:l,ActionsComponent:r,onSelectToken:n,sortDirections:d,onSortChange:m,className:a})}function R2({chain:e,resolution:t,filters:o,ActionsComponent:r,onSelectToken:n,height:s,itemHeight:i,itemHeightMobile:l,className:a}){let[d,m]=useState();useEffect(()=>{m(void 0);},[e]);let c=useMemo(()=>{let f=Object.keys(d??{})[0],h=d?.[f];return {...o,...f&&h?{sortBy:f,sortDirection:h}:void 0}},[o,d]),{tokens:p,isLoading:u}=Et({chain:e,resolution:t,options:c});return jsx(st,{tokens:p,isLoading:u,resolution:t,height:s,itemHeight:i,itemHeightMobile:l,ActionsComponent:r,onSelectToken:n,sortDirections:d,onSortChange:m,className:a})}var Pg=15e3;function Rg({chain:e,addresses:t,pollMs:o=Pg}){let r=t.length>0,[n,s]=useState({}),i=useTokensQuery({chain:e,addresses:t},{enabled:r,refetchInterval:o});useEffect(()=>{i.data&&s(c=>{let p={};for(let u of i.data){let f=c[u.address];p[u.address]=f?E(f,u):u;}return p});},[i.data]);let{subscribeClient:l}=useDexClient(),a=useRef(""),d=t.slice().sort().join(",");d!==a.current&&(a.current=d),useEffect(()=>{if(!r)return;let c=[];for(let p of t)c.push(l.subscribeToken(e,p,u=>{s(f=>{let h=f;for(let g of u){let x=h[g.address];if(!x)continue;let b=E(x,g);b!==x&&(h=h===f?{...f}:h,h[g.address]=b);}return h});}));return ()=>{for(let p of c)p.unsubscribe();}},[l,e,d,r]);let m=useCallback(async()=>{await i.refetch();},[i.refetch]);return {tokens:n,isPending:i.isPending,isFetching:i.isFetching,isError:i.isError,isSuccess:i.isSuccess,error:i.error,refetch:m}}export{wn as DEFAULT_FLIP_HOVER_RESOLUTIONS,Aa as HolderTagBadge,Pt as HolderTagBadgeList,W as HoldingRatioChip,d2 as NewTokenListWidget,ph as PulseFinalStretchListWidget,$e as PulseList,mr as PulseListHeader,Lr as PulseListItem,pr as PulseListItemSkeleton,th as PulseMigratedListWidget,Kx as PulseNewListWidget,vo as SEARCH_MODAL_ID,Xr as SearchHistoryUI,Jr as SearchHistoryWidget,Yr as SearchInputUI,Jk as SearchModal,Ut as SearchResultItemUI,Ot as SearchResultListHeader,Wt as SearchResultListSkeleton,ns as SearchResultListWidget,nb as SearchTokensButton,fs as SearchWidget,T2 as StockTokenListWidget,xo as TRADER_TAG_META,gn as TokenAbout,U0 as TokenAboutWidget,js as TokenActivitiesList,xv as TokenActivitiesListWidget,de as TokenAvatar,Ns as TokenBasicInfo,qs as TokenBasicInfoWidget,Sn as TokenCategories,LN as TokenCategoriesWidget,Tn as TokenCexListing,pN as TokenCexListingWidget,Yn as TokenChartBanner,TC as TokenChartBannerWidget,ys as TokenDetailHeader,AT as TokenDetailHeaderWidget,$n as TokenDevTokensList,iC as TokenDevTokensListWidget,Kn as TokenDevTokensSummary,Cs as TokenHoldersCount,Ls as TokenHoldersCountWidget,Xs as TokenHoldersList,YT as TokenHoldersListWidget,bn as TokenLiquidities,Z0 as TokenLiquiditiesWidget,st as TokenList,io as TokenListFilter,Mi as TokenListFilterModal,Oi as TokenListFilterPopover,_L as TokenListFilterWidget,Bi as TokenListResolutionSelectorDesktop,Vi as TokenListResolutionSelectorMobile,nP as TokenListResolutionSelectorWidget,As as TokenMarketCap,Ms as TokenMarketCapWidget,Fn as TokenOrdersList,CS as TokenOrdersListWidget,An as TokenPositionsList,aS as TokenPositionsListWidget,Us as TokenPrice,Ds as TokenPriceWidget,oi as TokenReusedImageList,JC as TokenReusedImageListWidget,mn as TokenSecurity,T0 as TokenSecurityWidget,ei as TokenSimilarTokens,DC as TokenSimilarTokensWidget,Ws as TokenSocialMedia,Es as TokenSocialMediaWidget,Ln as TokenStatsFlipBase,Pn as TokenStatsFlipHover,$N as TokenStatsFlipWidget,Bn as TokenTopTradersList,KS as TokenTopTradersListWidget,sn as TokenTradersOverview,Hv as TokenTradersOverviewWidget,an as TokenTransactionsOverview,qv as TokenTransactionsOverviewWidget,$s as TokenVolume,zs as TokenVolumeWidget,dn as TokenVolumesOverview,a0 as TokenVolumesOverviewWidget,Ra as TraderTagBadge,xr as TraderTagBadgeList,da as TrendingTokenCard,Y1 as TrendingTokenCardList,ca as TrendingTokenCardSkeleton,R2 as TrendingTokenListWidget,xa as useNewTokensScript,zr as usePulseFinalStretchListScript,Er as usePulseMigratedListScript,Ur as usePulseNewListScript,Ft as useSearchHistory,rs as useSearchResultListScript,ps as useSearchScript,ya as useStockTokensScript,xn as useTokenAboutScript,on as useTokenActivitiesListScript,Xb as useTokenBasicInfoScript,Cn as useTokenCategoriesScript,vn as useTokenCexListingScript,jn as useTokenChartBannerScript,Ts as useTokenDetailHeaderScript,Gn as useTokenDevTokensListScript,ws as useTokenHoldersCountScript,Zs as useTokenHoldersListScript,yn as useTokenLiquiditiesScript,Hs as useTokenMarketCapScript,Wn as useTokenOrdersListScript,In as useTokenPositionsListScript,Os as useTokenPriceScript,ri as useTokenReusedImageListScript,pn as useTokenSecurityScript,ti as useTokenSimilarTokensScript,Bs as useTokenSocialMediaScript,Rn as useTokenStatsFlipScript,Vn as useTokenTopTradersListScript,nn as useTokenTradersOverviewScript,ln as useTokenTransactionsOverviewScript,Ks as useTokenVolumeScript,cn as useTokenVolumesOverviewScript,Rg as useTokens,Et as useTrendingTokensScript};//# sourceMappingURL=index.mjs.map
23
+ `,bf={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,r){return {...bf,animationDelay:`${e}ms`,width:t,height:o,...r}}var aa=10;function la({rowHeight:e,hasActions:t,isMobile:o}){return jsxs(Fragment,{children:[jsx("style",{children:hf}),Array.from({length:aa}).map((r,n)=>jsx(yf,{index:n,rowHeight:e,hasActions:t,isMobile:o,isLast:n===aa-1},n))]})}function yf({index:e,rowHeight:t,hasActions:o,isMobile:r,isLast:n}){let s=e*80,i=r?208:320,l=r?40:64,a=r?72:124,d=r?64:97;return jsxs("div",{style:{display:"flex",alignItems:"center",height:t,borderBottom:n?void 0:"1px solid rgba(39,39,42,0.3)"},children:[jsxs("div",{style:{width:i,padding:r?"0 12px":"0 12px 0 24px",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[jsx("div",{style:I(s,l,l,{borderRadius:8,flexShrink:0})}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8,flex:1},children:[jsx("div",{style:I(s+30,"60%",20)}),jsx("div",{style:I(s+60,"80%",16)})]})]}),jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(s+20,72,20)}),jsx("div",{style:I(s+40,52,16)})]}),jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:I(s+30,64,20)})}),jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:I(s+40,60,20)})}),jsxs("div",{style:{width:138,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(s+50,72,20)}),jsx("div",{style:I(s+70,100,16)})]}),jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(s+60,48,20)}),jsx("div",{style:I(s+80,80,16)})]}),jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(s+70,40,20)}),jsx("div",{style:I(s+90,72,16)})]}),jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",alignItems:"center",gap:10},children:[jsx("div",{style:I(s+80,20,20,{borderRadius:4})}),jsx("div",{style:I(s+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(s+80,52,16)}),jsx("div",{style:I(s+100,40,16)}),jsx("div",{style:I(s+120,36,16)})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:I(s+90,48,16)}),jsx("div",{style:I(s+110,40,16)}),jsx("div",{style:I(s+130,40,16)})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:I(s+100,40,16)}),jsx("div",{style:I(s+120,36,16)})]})]}),o&&jsx("div",{style:{width:a,padding:r?"0 12px 0 0":"0 24px 0 12px",display:"flex",alignItems:"center",justifyContent:"flex-end"},children:jsx("div",{style:I(s+100,d,32,{borderRadius:8})})})]})}function st({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:r,onSelectToken:n,sortDirections:s,onSortChange:i,height:l=600,itemHeight:a=88,itemHeightMobile:d=72,className:m}){let{isMobile:c}=useScreen(),p=o&&e.length===0,{t:u}=useTranslation(),f=useCallback(b=>h=>{h.preventDefault(),h.stopPropagation(),n?.(b);},[n]),[g,k]=useState(s??{});useEffect(()=>{k(s??{});},[s]);let x=useCallback(b=>h=>{let v={[b]:h};k(v),i?.(v);},[i]);return jsxs(StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:cn$1("h-full mx-auto",m??(r?"max-w-362 sm:max-w-403":"max-w-331 sm:max-w-372")),classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},maxTableHeight:l,rowHeight:c?d:a,"aria-label":"Tokens",children:[jsx(TableHeader,{children:[jsx(TableColumn,{textValue:u("tokens.listHeader.token"),width:c?208:320,className:cn$1("bg-[#0a0a0b] sticky left-0 z-10","shadow-[1px_0_0_0_rgba(39,39,42,0.6)]"),children:u("tokens.listHeader.token")},"token"),jsx(TableColumn,{textValue:u("tokens.listHeader.price"),width:128,children:jsxs("div",{className:"flex items-center gap-1",children:[jsx(Sortable,{sort:g.price,onSortChange:x("price"),children:u("tokens.listHeader.price")}),jsx("span",{children:"/"}),jsx(Sortable,{sort:g[`priceChange${t}`],onSortChange:x(`priceChange${t}`),children:u("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsx(TableColumn,{textValue:u("tokens.listHeader.marketCap"),width:106,children:jsx(Sortable,{sort:g.marketCap,onSortChange:x("marketCap"),children:u("tokens.listHeader.marketCap")})},"marketCap"),jsx(TableColumn,{textValue:u("tokens.listHeader.liquidity"),width:106,children:jsx(Sortable,{sort:g.tvl,onSortChange:x("tvl"),children:u("tokens.listHeader.liquidity")})},"liquidity"),jsx(TableColumn,{textValue:u("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsx(Sortable,{sort:g[`volumes${t}`],onSortChange:x(`volumes${t}`),children:u("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsx(TableColumn,{textValue:u("tokens.listHeader.txs",{resolution:t}),width:126,children:jsx(Sortable,{sort:g[`trades${t}`],onSortChange:x(`trades${t}`),children:u("tokens.listHeader.txs",{resolution:t})})},"txs"),jsx(TableColumn,{textValue:u("tokens.listHeader.traders",{resolution:t}),width:126,children:jsx(Sortable,{sort:g[`traders${t}`],onSortChange:x(`traders${t}`),children:u("tokens.listHeader.traders",{resolution:t})})},"traders"),jsx(TableColumn,{textValue:u("tokens.listHeader.bluechip"),width:128,children:u("tokens.listHeader.bluechip")},"bluechip"),jsx(TableColumn,{textValue:u("tokens.listHeader.tokenInfo"),width:308,children:u("tokens.listHeader.tokenInfo")},"tokenInfo"),r?jsx(TableColumn,{textValue:u("tokens.listHeader.actions"),width:c?72:124,align:"end",className:cn$1("bg-[#0a0a0b] sticky right-0 z-10","shadow-[-1px_0_0_0_rgba(39,39,42,0.6)]"),children:u("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean)}),jsx(TableBody,{items:e,isLoading:p,loadingContent:jsx(la,{rowHeight:c?d:a,hasActions:!!r,isMobile:c}),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:u("common.empty")})]}),children:b=>jsx(TableRow,{onClick:n?f(b):void 0,children:[jsx(TableCell,{className:cn$1("sticky left-0 z-10 bg-[#0a0a0b]","shadow-[1px_0_0_0_rgba(39,39,42,0.6)]","transition-colors duration-150","[tr:hover_&]:bg-[#161617]"),children:jsx(Gi,{token:b,resolution:t})},"token"),jsx(TableCell,{children:jsx(ea,{token:b,resolution:t})},"price"),jsx(TableCell,{children:jsx(Yi,{token:b,resolution:t})},"marketCap"),jsx(TableCell,{children:jsx(Ji,{token:b,resolution:t})},"liquidity"),jsx(TableCell,{children:jsx(ia,{token:b,resolution:t})},"volumes"),jsx(TableCell,{children:jsx(sa,{token:b,resolution:t})},"trades"),jsx(TableCell,{children:jsx(oa,{token:b,resolution:t})},"traders"),jsx(TableCell,{children:jsx(Qi,{token:b,resolution:t})},"bluechip"),jsx(TableCell,{children:jsx(Xi,{token:b,resolution:t})},"tokenInfo"),r?jsx(TableCell,{className:cn$1("sticky right-0 z-10",c?"bg-transparent":"bg-[#0a0a0b]",!c&&"shadow-[-1px_0_0_0_rgba(39,39,42,0.6)]","transition-colors duration-150",!c&&"[tr:hover_&]:bg-[#161617]"),children:jsx("div",{className:cn$1("!absolute inset-y-0 right-3 z-1 w-fit","flex items-center justify-end"),children:jsx(r,{token:b,resolution:t})})},"actions"):void 0].filter(Boolean)},b.address)})]})}function pa({token:e,resolution:t,renderAction:o,isLast:r=false,onSelectToken:n,className:s}){let{t:i}=useTranslation(),l=useCopyToClipboard(),a=useTickAge(e.createdAt),d=useCallback(()=>{n?.(e);},[n,e]),m=useCallback(_=>{_.stopPropagation(),l(e.address,()=>toast.success(i("tokens.copied.address")));},[l,e.address,i]),c=e.marketData,p=e.stats?.[t],u=useMemo(()=>c?.priceInUsd,[c?.priceInUsd]),f=useMemo(()=>p?.priceChange,[p?.priceChange]),g=useMemo(()=>f&&new SafeBigNumber(f).gte(0),[f]),k=useMemo(()=>f?new SafeBigNumber(f).abs().toString():void 0,[f]),x=useMemo(()=>p?.volumesInUsd,[p?.volumesInUsd]),b=useMemo(()=>p?.buyVolumesInUsd,[p?.buyVolumesInUsd]),h=useMemo(()=>p?.sellVolumesInUsd,[p?.sellVolumesInUsd]),v=useMemo(()=>p?.trades,[p?.trades]),K=useMemo(()=>c?.marketCapInUsd,[c?.marketCapInUsd]),J=useMemo(()=>c?.tvlInUsd,[c?.tvlInUsd]),ne=useMemo(()=>new SafeBigNumber(c?.top10HoldingsRatio).gte(.1),[c?.top10HoldingsRatio]),De=useMemo(()=>new SafeBigNumber(c?.devHoldingsRatio).gte(.1),[c?.devHoldingsRatio]),E=useMemo(()=>new SafeBigNumber(c?.sniperHoldingsRatio).gte(.1),[c?.sniperHoldingsRatio]),We=useMemo(()=>new SafeBigNumber(c?.insiderHoldingsRatio).gte(.1),[c?.insiderHoldingsRatio]),Be=useMemo(()=>new SafeBigNumber(c?.bundleHoldingsRatio).gte(.1),[c?.bundleHoldingsRatio]),F=c?.holders!==void 0&&c.holders>0,le=c?.kolHolders!==void 0&&c.kolHolders>0,U=c?.bluechipHolders!==void 0&&c.bluechipHolders>0,te=F||le||U;return jsxs("div",{className:cn$1("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer",!r&&"border-b",s),style:r?void 0:{borderBottomColor:"rgba(39,39,42,0.6)"},onClick:n?d:void 0,children:[jsxs("div",{className:"flex items-start gap-2",children:[jsxs("div",{className:"flex-none flex flex-col items-center gap-2",children:[jsx(de,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:false,className:"w-20 h-20"}),jsxs("button",{type:"button",className:"text-xs font-mono text-neutral hover:text-foreground leading-none",onClick:m,"aria-label":i("tokens.copied.address"),title:i("tokens.copied.address"),children:[e.address.slice(0,4),"...",e.address.slice(-4)]})]}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-2.5",children:[jsxs("button",{type:"button",className:"flex items-center gap-1.5 min-w-0 text-left",onClick:m,"aria-label":i("tokens.copied.address"),title:i("tokens.copied.address"),children:[jsx("span",{className:"flex-none text-sm font-semibold leading-none whitespace-nowrap overflow-hidden text-ellipsis max-w-24",children:e.symbol}),jsx(StyledTooltip,{content:e.name,children:jsx("span",{className:"text-[13px] leading-none text-neutral truncate max-w-20",children:e.name})}),jsx(CopyIcon,{className:"flex-none w-3.5 h-3.5 text-neutral"})]}),jsxs("div",{className:"flex items-center gap-2 leading-none",children:[jsx("span",{className:"text-[13px] font-mono font-medium text-neutral",children:formatAge(a)}),e.socialMedias?.website&&jsx(Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:_=>_.stopPropagation(),children:jsx(WebsiteIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.twitter&&jsx(Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:_=>_.stopPropagation(),children:jsx(TwitterIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.telegram&&jsx(Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:_=>_.stopPropagation(),children:jsx(TelegramIcon,{className:"w-3.5 h-3.5"})}),jsx(Link,{href:searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"max-sm:hidden text-neutral hover:text-primary",target:"_blank",onClick:_=>_.stopPropagation(),children:jsx(SearchIcon,{className:"w-3.5 h-3.5"})})]}),jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-foreground/80 leading-none",children:[jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsx("span",{className:"text-neutral",children:"MC"}),jsx("span",{children:formatAmountUSDCompact(K)})]}),jsx("span",{className:"text-neutral/30",children:"\xB7"}),jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsx("span",{className:"text-neutral",children:"Liq"}),jsx("span",{children:formatAmountUSDCompact(J)})]})]}),te&&jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-neutral leading-none",children:[F&&jsx(StyledTooltip,{content:i("tokens.tokenInfo.holders"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(PeopleIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(c?.holders)]})}),le&&jsx(StyledTooltip,{content:i("tokens.tokenInfo.kolHolders"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(CrownIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(c?.kolHolders)]})}),U&&jsx(StyledTooltip,{content:i("tokens.listHeader.bluechip"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(ShiningStarIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(c?.bluechipHolders)]})})]})]}),jsxs("div",{className:"flex-none flex flex-col items-end gap-2.5 leading-none font-mono",children:[jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsx("span",{className:"text-base font-bold text-foreground leading-none",children:formatPriceUSD(u)}),jsxs("span",{className:cn$1("inline-flex items-center gap-0.5 text-[10px] leading-none",g?"text-bullish":"text-bearish"),children:[g?jsx(TriangleUpIcon,{width:8,height:8}):jsx(TriangleDownIcon,{width:8,height:8}),f===void 0?"--":formatPercent(k)]})]}),jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsxs("div",{className:"flex items-baseline gap-1",children:[jsx("span",{className:"text-xs text-neutral",children:"V"}),jsx("span",{className:"text-xs text-foreground/80",children:formatAmountUSDCompact(x)})]}),jsxs("span",{className:"text-[10px] leading-none",children:[jsx("span",{className:"text-bullish",children:formatAmountUSDCompact(b)}),jsx("span",{className:"text-neutral/50 mx-0.5",children:"/"}),jsx("span",{className:"text-bearish",children:formatAmountUSDCompact(h)})]})]}),jsxs("div",{className:"flex items-baseline gap-1",children:[jsx("span",{className:"text-xs text-neutral",children:"TX"}),jsx("span",{className:"text-xs text-foreground/80",children:formatAmount(v)})]})]})]}),jsxs("div",{className:"mt-2.5 flex items-start gap-4 relative",children:[jsx(HorizontalScrollContainer,{className:"flex-auto min-w-0",forceShowArrows:true,children:jsxs("div",{className:"flex items-center gap-1",children:[jsx(W,{icon:jsx(UserWithStarBadgeIcon,{width:12,height:12}),value:formatPercent(c?.top10HoldingsRatio),tooltip:i("tokens.tokenInfo.top10HoldingsRatio"),warning:ne,disable:!c?.top10HoldingsRatio||c?.top10HoldingsRatio==="0"}),jsx(W,{icon:jsx(CookIcon,{width:12,height:12}),value:formatPercent(c?.devHoldingsRatio),tooltip:i("tokens.tokenInfo.devHoldingsRatio"),warning:De,disable:!c?.devHoldingsRatio||c?.devHoldingsRatio==="0"}),jsx(W,{icon:jsx(SniperIcon,{width:12,height:12}),value:formatPercent(c?.sniperHoldingsRatio),tooltip:i("tokens.tokenInfo.sniperHoldingsRatio"),warning:E,disable:!c?.sniperHoldingsRatio||c?.sniperHoldingsRatio==="0"}),jsx(W,{icon:jsx(RatIcon,{width:12,height:12}),value:formatPercent(c?.insiderHoldingsRatio),tooltip:i("tokens.tokenInfo.insiderHoldingsRatio"),warning:We,disable:!c?.insiderHoldingsRatio||c?.insiderHoldingsRatio==="0"}),jsx(W,{icon:jsx(BundlesIcon,{width:12,height:12}),value:formatPercent(c?.bundleHoldingsRatio),tooltip:i("tokens.tokenInfo.bundleHoldingsRatio"),warning:Be,disable:!c?.bundleHoldingsRatio||c?.bundleHoldingsRatio==="0"})]})}),o&&jsx("div",{className:"flex-none relative",onClick:_=>_.stopPropagation(),children:o(e)})]})]})}function ua({isLast:e=false}){return jsxs("div",{className:cn$1("w-full h-full overflow-hidden px-4 py-3 animate-pulse",!e&&"border-b"),style:e?void 0:{borderBottomColor:"rgba(39,39,42,0.6)"},children:[jsxs("div",{className:"flex items-start gap-2",children:[jsxs("div",{className:"flex-none flex flex-col items-center gap-2",children:[jsx("div",{className:"w-20 h-20 rounded-lg bg-content2"}),jsx("div",{className:"w-14 h-2.5 rounded bg-content2"})]}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-2",children:[jsxs("div",{className:"flex items-center gap-1.5",children:[jsx("div",{className:"w-16 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-20 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"w-8 h-3 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"}),jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"w-12 h-3 rounded bg-content2"}),jsx("div",{className:"w-12 h-3 rounded bg-content2"}),jsx("div",{className:"w-10 h-3 rounded bg-content2"})]})]}),jsxs("div",{className:"flex-none flex flex-col items-end gap-3",children:[jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsx("div",{className:"w-16 h-4 rounded bg-content2"}),jsx("div",{className:"w-12 h-2.5 rounded bg-content2"})]}),jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsx("div",{className:"w-14 h-3 rounded bg-content2"}),jsx("div",{className:"w-12 h-2.5 rounded bg-content2"})]})]})]}),jsxs("div",{className:"mt-2.5 flex items-center gap-2",children:[jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-1 overflow-hidden",children:[jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsx("div",{className:"w-12 h-5 rounded-full bg-content2"})]}),jsx("div",{className:"w-16 h-7 rounded-md bg-content2 flex-none"})]})]})}var sg=154,fa=10;function ng({index:e,style:t,tokens:o,skeletonCount:r,resolution:n,renderAction:s,onSelectToken:i}){return o?jsx("div",{style:t,children:jsx(pa,{token:o[e],resolution:n,isLast:e===o.length-1,renderAction:s,onSelectToken:i})}):jsx("div",{style:t,children:jsx(ua,{isLast:e===r-1})})}function i2({tokens:e,resolution:t="24h",isLoading:o,height:r=600,renderAction:n,onSelectToken:s,className:i}){let l=o||!e?void 0:e,a=l?l.length:fa,d=useMemo(()=>({tokens:l,skeletonCount:fa,resolution:t,renderAction:n,onSelectToken:s}),[l,t,n,s]);return jsx("div",{className:cn$1("w-full h-full overflow-hidden border rounded-lg",i),style:{background:"rgba(24,24,27,0.4)",borderColor:"rgba(39,39,42,0.6)"},children:jsx(List,{className:"h-full w-full",style:{height:r},rowCount:a,rowHeight:sg,overscanCount:5,rowComponent:ng,rowProps:d})})}var cg=80;function mg(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 ha(e){return e.sort((t,o)=>{let r=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-r}),e.slice(0,cg)}function ba({chain:e,resolution:t,options:o,refetchInterval:r=12e3}){let n=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),s=useRef(n),[i,l]=useState(true);useEffect(()=>{JSON.stringify(n)!==JSON.stringify(s.current)&&(l(true),s.current=n);},[n]);let[a,d]=useState([]),{data:m,isPending:c}=useNewTokensQuery(n,{refetchInterval:r});useEffect(()=>{m&&(d(f=>ha(Ke(f,m))),l(false));},[m]);let p=useCallback(f=>{d(g=>{let k=[...g],x=false;for(let b of f){let h=k.findIndex(v=>v.address===b.address);h>=0?(x=true,k[h]=$(k[h],b)):(x=true,k.push(mg(b)));}return x?ha(k):g});},[]);useNewTokensSubscription({chain:e},p);let u=useMemo(()=>!!(c||i),[c,i]);return {tokens:a,isLoading:u}}function h2({chain:e,resolution:t,filters:o,ActionsComponent:r,onSelectToken:n,height:s,itemHeight:i,itemHeightMobile:l,className:a}){let[d,m]=useState();useEffect(()=>{m(void 0);},[e]);let c=useMemo(()=>{let f=Object.keys(d??{})[0],g=d?.[f];return {...o,...f&&g?{sortBy:f,sortDirection:g}:void 0}},[o,d]),{tokens:p,isLoading:u}=ba({chain:e,resolution:t,options:c});return jsx(st,{tokens:p,isLoading:u,resolution:t,height:s,itemHeight:i,itemHeightMobile:l,ActionsComponent:r,onSelectToken:n,sortDirections:d,onSortChange:m,className:a})}function Na({chain:e,resolution:t,options:o,refetchInterval:r=12e3}){let n=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),s=useRef(n),[i,l]=useState(true);useEffect(()=>{JSON.stringify(n)!==JSON.stringify(s.current)&&(l(true),s.current=n);},[n]);let[a,d]=useState([]),{data:m,isPending:c}=useStockTokensQuery(n,{refetchInterval:r});useEffect(()=>{m&&(d(f=>Ke(f,m)),l(false));},[m]);let p=useCallback(f=>{d(g=>Ft(g,f));},[]);useStockTokensSubscription({chain:e},p),Vt({chain:e,tokens:a,onUpdate:p});let u=useMemo(()=>!!(c||i),[c,i]);return {tokens:a,isLoading:u}}function H2({chain:e,resolution:t,filters:o,ActionsComponent:r,onSelectToken:n,height:s,itemHeight:i,itemHeightMobile:l,className:a}){let[d,m]=useState();useEffect(()=>{m(void 0);},[e]);let c=useMemo(()=>{let f=Object.keys(d??{})[0],g=d?.[f];return {...o,...f&&g?{sortBy:f,sortDirection:g}:void 0}},[o,d]),{tokens:p,isLoading:u}=Na({chain:e,resolution:t,options:c});return jsx(st,{tokens:p,isLoading:u,resolution:t,height:s,itemHeight:i,itemHeightMobile:l,ActionsComponent:r,onSelectToken:n,sortDirections:d,onSortChange:m,className:a})}function B2({chain:e,resolution:t,filters:o,ActionsComponent:r,onSelectToken:n,height:s,itemHeight:i,itemHeightMobile:l,className:a}){let[d,m]=useState();useEffect(()=>{m(void 0);},[e]);let c=useMemo(()=>{let f=Object.keys(d??{})[0],g=d?.[f];return {...o,...f&&g?{sortBy:f,sortDirection:g}:void 0}},[o,d]),{tokens:p,isLoading:u}=_t({chain:e,resolution:t,options:c});return jsx(st,{tokens:p,isLoading:u,resolution:t,height:s,itemHeight:i,itemHeightMobile:l,ActionsComponent:r,onSelectToken:n,sortDirections:d,onSortChange:m,className:a})}var Ig=15e3;function Fg({chain:e,addresses:t,pollMs:o=Ig}){let r=t.length>0,[n,s]=useState({}),i=useTokensQuery({chain:e,addresses:t},{enabled:r,refetchInterval:o});useEffect(()=>{i.data&&s(c=>{let p={};for(let u of i.data){let f=c[u.address];p[u.address]=f?$(f,u):u;}return p});},[i.data]);let{subscribeClient:l}=useDexClient(),a=useRef(""),d=t.slice().sort().join(",");d!==a.current&&(a.current=d),useEffect(()=>{if(!r)return;let c=[];for(let p of t)c.push(l.subscribeToken(e,p,u=>{s(f=>{let g=f;for(let k of u){let x=g[k.address];if(!x)continue;let b=$(x,k);b!==x&&(g=g===f?{...f}:g,g[k.address]=b);}return g});}));return ()=>{for(let p of c)p.unsubscribe();}},[l,e,d,r]);let m=useCallback(async()=>{await i.refetch();},[i.refetch]);return {tokens:n,isPending:i.isPending,isFetching:i.isFetching,isError:i.isError,isSuccess:i.isSuccess,error:i.error,refetch:m}}export{Rn as DEFAULT_FLIP_HOVER_RESOLUTIONS,Ia as HolderTagBadge,Pt as HolderTagBadgeList,W as HoldingRatioChip,h2 as NewTokenListWidget,kk as PulseFinalStretchListWidget,$e as PulseList,ur as PulseListHeader,Rr as PulseListItem,fr as PulseListItemSkeleton,ik as PulseMigratedListWidget,Xx as PulseNewListWidget,So as SEARCH_MODAL_ID,Yr as SearchHistoryUI,Zr as SearchHistoryWidget,jr as SearchInputUI,nb as SearchModal,Ot as SearchResultItemUI,Dt as SearchResultListHeader,Bt as SearchResultListSkeleton,as as SearchResultListWidget,fb as SearchTokensButton,ks as SearchWidget,H2 as StockTokenListWidget,ho as TRADER_TAG_META,hn as TokenAbout,K0 as TokenAboutWidget,on as TokenActivitiesList,Cv as TokenActivitiesListWidget,de as TokenAvatar,ws as TokenBasicInfo,Xs as TokenBasicInfoWidget,Ln as TokenCategories,ON as TokenCategoriesWidget,Sn as TokenCexListing,TN as TokenCexListingWidget,ei as TokenChartBanner,AC as TokenChartBannerWidget,Ns as TokenDetailHeader,BT as TokenDetailHeaderWidget,qn as TokenDevTokensList,gC as TokenDevTokensListWidget,Qn as TokenDevTokensSummary,Ps as TokenHoldersCount,As as TokenHoldersCountWidget,Zs as TokenHoldersList,iv as TokenHoldersListWidget,vn as TokenLiquidities,aN as TokenLiquiditiesWidget,st as TokenList,lo as TokenListFilter,Ui as TokenListFilterModal,Bi as TokenListFilterPopover,YL as TokenListFilterWidget,_i as TokenListResolutionSelectorDesktop,Ki as TokenListResolutionSelectorMobile,fP as TokenListResolutionSelectorWidget,Is as TokenMarketCap,Us as TokenMarketCapWidget,Dn as TokenOrdersList,FS as TokenOrdersListWidget,In as TokenPositionsList,xS as TokenPositionsListWidget,Ws as TokenPrice,Es as TokenPriceWidget,ni as TokenReusedImageList,nw as TokenReusedImageListWidget,fn as TokenSecurity,A0 as TokenSecurityWidget,ri as TokenSimilarTokens,qC as TokenSimilarTokensWidget,Vs as TokenSocialMedia,$s as TokenSocialMediaWidget,An as TokenStatsFlipBase,Hn as TokenStatsFlipHover,ZN as TokenStatsFlipWidget,_n as TokenTopTradersList,jS as TokenTopTradersListWidget,ln as TokenTradersOverview,Ev as TokenTradersOverviewWidget,cn as TokenTransactionsOverview,t0 as TokenTransactionsOverviewWidget,qs as TokenVolume,Gs as TokenVolumeWidget,pn as TokenVolumesOverview,x0 as TokenVolumesOverviewWidget,Ma as TraderTagBadge,hr as TraderTagBadgeList,pa as TrendingTokenCard,i2 as TrendingTokenCardList,ua as TrendingTokenCardSkeleton,B2 as TrendingTokenListWidget,ba as useNewTokensScript,Qr as usePulseFinalStretchListScript,_r as usePulseMigratedListScript,Dr as usePulseNewListScript,Ut as useSearchHistory,ns as useSearchResultListScript,gs as useSearchScript,Na as useStockTokensScript,bn as useTokenAboutScript,nn as useTokenActivitiesListScript,sy as useTokenBasicInfoScript,Pn as useTokenCategoriesScript,Cn as useTokenCexListingScript,oi as useTokenChartBannerScript,Ss as useTokenDetailHeaderScript,Yn as useTokenDevTokensListScript,Rs as useTokenHoldersCountScript,tn as useTokenHoldersListScript,Nn as useTokenLiquiditiesScript,Fs as useTokenMarketCapScript,Vn as useTokenOrdersListScript,On as useTokenPositionsListScript,Bs as useTokenPriceScript,ii as useTokenReusedImageListScript,gn as useTokenSecurityScript,si as useTokenSimilarTokensScript,_s as useTokenSocialMediaScript,Mn as useTokenStatsFlipScript,Kn as useTokenTopTradersListScript,dn as useTokenTradersOverviewScript,mn as useTokenTransactionsOverviewScript,Qs as useTokenVolumeScript,un as useTokenVolumesOverviewScript,Fg as useTokens,_t as useTrendingTokensScript};//# sourceMappingURL=index.mjs.map
24
24
  //# sourceMappingURL=index.mjs.map