@liberfi.io/ui-tokens 3.0.5 → 3.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +0 -5
- package/dist/index.d.ts +0 -5
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +13 -13
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,PauseIcon,Skeleton,StyledTooltip,Avatar,CameraIcon,Image,useCopyToClipboard,toast,CopyIcon,Link,TwitterIcon,TelegramIcon,WebsiteIcon,SearchIcon,PeopleIcon,KlineCandlesIcon,StarIcon,UserWithStarBadgeIcon,CookIcon,RatIcon,SniperIcon,BundlesIcon,Button,TrashIcon,Chip,StyledInput,XCloseIcon,Kbd,TriangleUpIcon,TriangleDownIcon,Spinner,EmptyIcon,useScreen,StyledModal,ModalContent,ModalHeader,ModalBody,useDisclosure,FilterIcon,ScrollShadow,ModalFooter,RefreshIcon,StyledPlainTabs,Tab,ChevronDownIcon,CrownIcon,ShiningStarIcon,HorizontalScrollContainer,StyledTable,TableHeader,TableColumn,Sortable,TableBody,TableRow,TableCell,DiscordIcon,Progress,StyledLightTabs,StyledBadge,HorsePowerHighIcon,HorsePowerLowIcon,HorsePowerIcon,StyledNumberInput}from'@liberfi.io/ui';import {useTranslation}from'@liberfi.io/i18n';import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useTickAge,useResizeObserver,useCallbackRef}from'@liberfi.io/hooks';import {parseTokenProtocolFamily,SafeBigNumber,searchImageUrl,truncateAddress,formatAge,searchTwitterUrl,formatAmount,formatPercent,formatAmountUSDCompact,formatAmountUSD,formatPriceUSD,debounce,formatPrice,formatTokenProtocolName}from'@liberfi.io/utils';export{formatAmount}from'@liberfi.io/utils';import {SolanaTokenProtocol,Chain}from'@liberfi.io/types';import {useNewTokensQuery,useNewTokensSubscription,useMigratedTokensQuery,useMigratedTokensSubscription,useFinalStretchTokensQuery,useFinalStretchTokensSubscription,useSearchTokensInfiniteQuery,useTrendingTokensQuery,useTrendingTokensSubscription,useTokenHoldersQuery,useTokenSubscription,useTokenActivitiesQuery,useTokenActivitiesSubscription,useTokenSecurityQuery,useTokenStatsQuery,useWalletTokenPositionsQuery,useWalletLimitOrdersQuery,useTokenTopTradersQuery,useTokensByCreatorQuery,useSearchTokensQuery,useStockTokensQuery,useStockTokensSubscription,useTokensQuery,useDexClient,useTokenQuery}from'@liberfi.io/react';import {AsyncModal,useAsyncModal,StatsFlipPanel}from'@liberfi.io/ui-scaffold';import {useAtom}from'jotai';import {atomWithStorage}from'jotai/utils';import {useInfiniteLoader}from'react-window-infinite-loader';function ir({title:e,isPaused:t,extra:o,className:s}){let{t:r}=useTranslation();return jsxs("div",{className:cn("w-full h-12 px-3 flex-none bg-content1 flex items-center justify-between gap-4 border-b border-border",s),children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("h2",{className:"font-semibold",children:e}),t&&jsxs("div",{className:"flex items-center gap-1 text-primary",children:[jsx(PauseIcon,{className:"w-4 h-4"}),jsx("span",{className:"text-xs hidden sm:inline",children:r("tokens.pulse.paused")})]})]}),o&&jsx("div",{className:"flex items-center gap-3",children:o})]})}function lr({isLast:e=false,className:t}){return jsxs("div",{className:cn("w-full h-full px-3 py-3 overflow-hidden flex gap-3 items-center",!e&&"border-b border-border",t),children:[jsx(Skeleton,{className:"flex-none w-15 h-15 rounded-sm"}),jsxs("div",{className:"flex flex-col gap-2",children:[jsx(Skeleton,{className:"w-32 h-5 rounded-md"}),jsx(Skeleton,{className:"w-48 h-4 rounded-md"})]})]})}function O({icon:e,value:t,tooltip:o,warning:s,disable:r=false,className:n,tooltipPlacement:i="top"}){return jsx(StyledTooltip,{content:o,placement:i,children:jsxs("div",{className:cn("px-2 py-0.5 flex items-center gap-1 rounded-full text-xs border border-border/60",s?"text-danger-500":r?"text-neutral":"text-primary",n),children:[e,jsx("span",{children:t})]})})}var uo={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 wa({tag:e,className:t}){let o=uo[e]??{label:e,bgClass:"bg-default/20",textClass:"text-default-500"};return jsx("span",{className:cn("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 pr({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let s=o!=null&&o>0?e.slice(0,o):e,r=e.length-s.length;return jsxs("div",{className:cn("flex flex-wrap items-center gap-1",t),children:[s.map(n=>jsx(wa,{tag:n},n)),r>0&&jsxs("span",{className:"inline-flex items-center rounded bg-default/20 px-1.5 py-0.5 text-[10px] font-medium text-default-500",children:["+",r]})]})}function La({tag:e,className:t}){let o=uo[e]??{label:e,bgClass:"bg-default/20",textClass:"text-default-500"};return jsx("span",{className:cn("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 Tt({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let s=o!=null&&o>0?e.slice(0,o):e,r=e.length-s.length;return jsxs("div",{className:cn("flex flex-wrap items-center gap-1",t),children:[s.map(n=>jsx(La,{tag:n},n)),r>0&&jsxs("span",{className:"inline-flex items-center rounded bg-default/20 px-1.5 py-0.5 text-[10px] font-medium text-default-500",children:["+",r]})]})}var Pa={[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"}},Ra={text:"text-neutral",bg:"bg-neutral",bg5:"bg-neutral/5",bg20:"bg-neutral/20",border:"border-neutral"};function Te(e){return Pa[e]??Ra}function re({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:s=true,showProtocolFamily:r=true,radius:n="sm",className:i,classNames:a}){let l=useMemo(()=>e.launchedFrom?.protocolFamily?parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),c=useMemo(()=>r&&l,[r,l]),m=useMemo(()=>s&&e.migrateProgress&&new SafeBigNumber(e.migrateProgress).lt(100),[s,e.migrateProgress]),d=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),k=useCallback(()=>{f(true);},[]),x=useCallback(()=>{f(false);},[]),g=useCallback(h=>{if(h.stopPropagation(),!e.image)return;let b=searchImageUrl(e.image);window.open(b,"_blank");},[e.image]);return jsxs("div",{className:cn("relative justify-center items-center",i??"w-15 h-15"),children:[!m&&jsx("div",{className:cn("absolute inset-0",`rounded-${n}`,l?Te(l).bg:"bg-[rgba(39,39,42,0.6)]",a?.background)}),m&&jsx("div",{className:cn("absolute -inset-0.5",`rounded-${n}`),children:jsx(Ua,{className:cn(l?Te(l).text:"text-[rgba(39,39,42,0.6)]",a?.progress),progress:e.migrateProgress??"0"})}),jsx("div",{className:cn("absolute inset-0 p-px flex items-center justify-center",`rounded-${n}`,l?Te(l).bg20:"bg-[rgba(39,39,42,0.12)]",a?.avatarWrapper),children:jsx(Ia,{token:e,radius:n,enableSearch:o,enablePreview:t,classNames:a,children:jsxs("div",{className:cn("relative w-full h-full bg-content1 flex items-center justify-center p-0.5",`rounded-${n}`,u&&d&&"cursor-pointer"),onMouseEnter:k,onMouseLeave:x,children:[jsx(Avatar,{showFallback:true,src:e.image,name:p,className:cn("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${n}`,a?.avatar)}),u&&d&&jsx("div",{className:cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${n}`,a?.searchWrapper),onClick:g,children:jsx(CameraIcon,{className:cn("w-6 h-6",a?.searchIcon)})})]})})}),c&&jsx("div",{className:"contents",children:jsx(StyledTooltip,{content:e.launchedFrom?.protocolFamily??l,placement:"bottom",children:jsx("div",{className:cn("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",l&&Te(l).bg,a?.protocolFamilyIconWrapper),children:jsx(Image,{removeWrapper:true,src:`/images/protocols/${l}.svg`,className:cn("w-full h-full rounded-full bg-content1",a?.protocolFamilyIcon)})})})})]})}function Ia({token:e,radius:t,enableSearch:o,enablePreview:s,classNames:r,children:n}){return useMemo(()=>s&&e.image,[s,e.image])?jsx(StyledTooltip,{content:jsx(Fa,{token:e,radius:t,enableSearch:o,classNames:r}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:n}):n}function Fa({token:e,enableSearch:t,radius:o,classNames:s}){let r=useMemo(()=>t&&e.image,[t,e.image]),n=useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[i,a]=useState(false),l=useCallback(()=>{a(true);},[]),c=useCallback(()=>{a(false);},[]),m=useCallback(d=>{if(d.stopPropagation(),!e.image)return;let p=searchImageUrl(e.image);window.open(p,"_blank");},[e.image]);return jsxs("div",{className:cn("relative flex items-center justify-center w-60 h-60",`rounded-${o}`,i&&r&&"cursor-pointer",s?.previewWrapper),onMouseEnter:l,onMouseLeave:c,children:[jsx(Avatar,{showFallback:true,src:e.image,name:n,className:cn("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,s?.previewAvatar)}),i&&r&&jsx("div",{className:cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick:m,children:jsx(CameraIcon,{className:cn("w-10 h-10",s?.previewSearchIcon)})})]})}function Ua({progress:e,className:t}){let o=useMemo(()=>296-Number(e)*296/100,[e]);return jsxs("svg",{viewBox:"0 0 78 78",className:"w-full h-full",children:[jsx("path",{className:`${t} opacity-40`,stroke:"currentColor",fill:"transparent",strokeWidth:"1",d:`
|
|
1
|
+
import {useMemo,useState,useCallback,useRef,useEffect}from'react';import {List}from'react-window';import {cn,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,CrownIcon,ShiningStarIcon,StyledTable,TableHeader,TableColumn,Sortable,TableBody,TableRow,TableCell,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 dr({title:e,isPaused:t,extra:o,className:s}){let{t:r}=useTranslation();return jsxs("div",{className:cn("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)]",s),children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("h2",{className:"font-semibold",children:e}),t&&jsxs("div",{className:"flex items-center gap-1 text-primary",children:[jsx(PauseIcon,{className:"w-4 h-4"}),jsx("span",{className:"text-xs hidden sm:inline",children:r("tokens.pulse.paused")})]})]}),o&&jsx("div",{className:"flex items-center gap-3",children:o})]})}function cr({isLast:e=false,className:t}){return jsxs("div",{className:cn("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 B({icon:e,value:t,tooltip:o,warning:s,disable:r=false,className:n,tooltipPlacement:i="top"}){return jsx(StyledTooltip,{content:o,placement:i,children:jsxs("div",{className:cn("px-2 py-0.5 flex items-center gap-1 rounded-full text-xs border border-border/60",s?"text-danger-500":r?"text-neutral":"text-primary",n),children:[e,jsx("span",{children:t})]})})}var fo={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 wa({tag:e,className:t}){let o=fo[e]??{label:e,bgClass:"bg-default/20",textClass:"text-default-500"};return jsx("span",{className:cn("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 fr({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let s=o!=null&&o>0?e.slice(0,o):e,r=e.length-s.length;return jsxs("div",{className:cn("flex flex-wrap items-center gap-1",t),children:[s.map(n=>jsx(wa,{tag:n},n)),r>0&&jsxs("span",{className:"inline-flex items-center rounded bg-default/20 px-1.5 py-0.5 text-[10px] font-medium text-default-500",children:["+",r]})]})}function La({tag:e,className:t}){let o=fo[e]??{label:e,bgClass:"bg-default/20",textClass:"text-default-500"};return jsx("span",{className:cn("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 Ct({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let s=o!=null&&o>0?e.slice(0,o):e,r=e.length-s.length;return jsxs("div",{className:cn("flex flex-wrap items-center gap-1",t),children:[s.map(n=>jsx(La,{tag:n},n)),r>0&&jsxs("span",{className:"inline-flex items-center rounded bg-default/20 px-1.5 py-0.5 text-[10px] font-medium text-default-500",children:["+",r]})]})}var Pa={[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"}},Ra={text:"text-neutral",bg:"bg-neutral",bg5:"bg-neutral/5",bg20:"bg-neutral/20",border:"border-neutral"};function Ce(e){return Pa[e]??Ra}function de({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:s=true,showProtocolFamily:r=true,radius:n="sm",className:i,classNames:a}){let l=useMemo(()=>e.launchedFrom?.protocolFamily?parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),d=useMemo(()=>r&&l,[r,l]),m=useMemo(()=>s&&e.migrateProgress&&new SafeBigNumber(e.migrateProgress).lt(100),[s,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,g]=useState(false),k=useCallback(()=>{g(true);},[]),f=useCallback(()=>{g(false);},[]),x=useCallback(h=>{if(h.stopPropagation(),!e.image)return;let b=searchImageUrl(e.image);window.open(b,"_blank");},[e.image]);return jsxs("div",{className:cn("relative justify-center items-center",i??"w-15 h-15"),children:[!m&&jsx("div",{className:cn("absolute inset-0",`rounded-${n}`,l?Ce(l).bg:"bg-[rgba(39,39,42,0.6)]",a?.background)}),m&&jsx("div",{className:cn("absolute -inset-0.5",`rounded-${n}`),children:jsx(Ua,{className:cn(l?Ce(l).text:"text-[rgba(39,39,42,0.6)]",a?.progress),progress:e.migrateProgress??"0"})}),jsx("div",{className:cn("absolute inset-0 p-px flex items-center justify-center",`rounded-${n}`,l?Ce(l).bg20:"bg-[rgba(39,39,42,0.12)]",a?.avatarWrapper),children:jsx(Ia,{token:e,radius:n,enableSearch:o,enablePreview:t,classNames:a,children:jsxs("div",{className:cn("relative w-full h-full bg-content1 flex items-center justify-center p-0.5",`rounded-${n}`,u&&c&&"cursor-pointer"),onMouseEnter:k,onMouseLeave:f,children:[jsx(Avatar,{showFallback:true,src:e.image,name:p,className:cn("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${n}`,a?.avatar)}),u&&c&&jsx("div",{className:cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${n}`,a?.searchWrapper),onClick:x,children:jsx(CameraIcon,{className:cn("w-6 h-6",a?.searchIcon)})})]})})}),d&&jsx("div",{className:"contents",children:jsx(StyledTooltip,{content:e.launchedFrom?.protocolFamily??l,placement:"bottom",children:jsx("div",{className:cn("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",l&&Ce(l).bg,a?.protocolFamilyIconWrapper),children:jsx(Image,{removeWrapper:true,src:`/images/protocols/${l}.svg`,className:cn("w-full h-full rounded-full bg-content1",a?.protocolFamilyIcon)})})})})]})}function Ia({token:e,radius:t,enableSearch:o,enablePreview:s,classNames:r,children:n}){return useMemo(()=>s&&e.image,[s,e.image])?jsx(StyledTooltip,{content:jsx(Fa,{token:e,radius:t,enableSearch:o,classNames:r}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:n}):n}function Fa({token:e,enableSearch:t,radius:o,classNames:s}){let r=useMemo(()=>t&&e.image,[t,e.image]),n=useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[i,a]=useState(false),l=useCallback(()=>{a(true);},[]),d=useCallback(()=>{a(false);},[]),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("relative flex items-center justify-center w-60 h-60",`rounded-${o}`,i&&r&&"cursor-pointer",s?.previewWrapper),onMouseEnter:l,onMouseLeave:d,children:[jsx(Avatar,{showFallback:true,src:e.image,name:n,className:cn("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,s?.previewAvatar)}),i&&r&&jsx("div",{className:cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick:m,children:jsx(CameraIcon,{className:cn("w-10 h-10",s?.previewSearchIcon)})})]})}function Ua({progress:e,className:t}){let o=useMemo(()=>296-Number(e)*296/100,[e]);return jsxs("svg",{viewBox:"0 0 78 78",className:"w-full h-full",children:[jsx("path",{className:`${t} opacity-40`,stroke:"currentColor",fill:"transparent",strokeWidth:"1",d:`
|
|
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 Cr({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:r}){let{t:n}=useTranslation(),i=useCopyToClipboard(),a=useTickAge(e.createdAt),l=useCallback(()=>{s?.(e);},[s,e]),c=useCallback(h=>{h.stopPropagation(),i(e.address,()=>toast.success(n("tokens.copied.address")));},[i,e.address,n]),m=useMemo(()=>new SafeBigNumber(e.marketData?.top10HoldingsRatio).gte(.1),[e.marketData?.top10HoldingsRatio]),d=useMemo(()=>new SafeBigNumber(e.marketData?.devHoldingsRatio).gte(.1),[e.marketData?.devHoldingsRatio]),p=useMemo(()=>new SafeBigNumber(e.marketData?.insiderHoldingsRatio).gte(.1),[e.marketData?.insiderHoldingsRatio]),u=useMemo(()=>new SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),f=useMemo(()=>new SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[k,x]=useMemo(()=>{let h=Number(e.stats?.["1h"]?.buys??0),b=Number(e.stats?.["1h"]?.sells??0),y=h+b;if(y===0)return [12,12];let E=Math.round(h/y*24);return [E,24-E]},[e.stats]),g=useMemo(()=>{let h=new SafeBigNumber(e.marketData?.marketCapInUsd);return h.lt(1e3)?"text-foreground":h.lt(1e6)?"text-secondary":"text-primary"},[e.marketData?.marketCapInUsd]);return jsx("div",{className:cn("w-full h-full px-3 pt-3 pb-1 hover:bg-content2/40 cursor-pointer",!o&&"border-b border-border",r),onClick:s?l:void 0,children:jsxs("div",{className:"relative flex justify-between gap-3",children:[jsxs("div",{className:"flex-none flex flex-col items-center gap-1",children:[jsx(re,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-15 h-15"}),jsx(StyledTooltip,{content:e.address,children:jsx("div",{className:"text-xs text-neutral hover:text-primary/50 max-w-18 truncate cursor-pointer",onClick:c,children:truncateAddress(e.address,4,4)})})]}),jsxs("div",{className:"flex-1 flex flex-col justify-between gap-3 min-w-0",children:[jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxs("div",{className:"flex items-center gap-1 pr-24",children:[jsx("span",{className:"flex-none text-base font-semibold whitespace-nowrap overflow-hidden text-ellipsis max-w-20",children:e.symbol}),jsx(StyledTooltip,{content:e.name,children:jsxs("div",{className:"flex items-center gap-1 min-w-0 text-neutral hover:text-primary/50 cursor-pointer",onClick:c,children:[jsx("span",{className:"text-base whitespace-nowrap overflow-hidden text-ellipsis",children:e.name}),jsx(CopyIcon,{className:"flex-none w-3.5 h-3.5"})]})})]}),jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[jsx("span",{className:"text-sm text-primary font-medium",children:formatAge(a)}),e.socialMedias?.twitter&&jsx(Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsx(TwitterIcon,{className:"w-4 h-4"})}),e.socialMedias?.telegram&&jsx(Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsx(TelegramIcon,{className:"w-4 h-4"})}),e.socialMedias?.website&&jsx(Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsx(WebsiteIcon,{className:"w-4 h-4"})}),jsx(Link,{href:searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsx(SearchIcon,{className:"w-4 h-4"})}),jsx(StyledTooltip,{content:n("tokens.tokenInfo.holders"),children:jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsx(PeopleIcon,{width:14,height:14}),jsx("span",{className:"text-foreground text-xs",children:formatAmount(e.marketData?.holders)})]})}),jsx(StyledTooltip,{content:n("tokens.tokenInfo.proHolders"),children:jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsx(KlineCandlesIcon,{width:16,height:16}),jsx("span",{className:"text-foreground text-xs",children:formatAmount(e.marketData?.proHolders)})]})}),jsx(StyledTooltip,{content:n("tokens.tokenInfo.kolHolders"),children:jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsx(StarIcon,{width:14,height:14}),jsx("span",{className:"text-foreground text-xs",children:formatAmount(e.marketData?.kolHolders)})]})})]})]}),jsxs("div",{className:"relative flex items-center gap-1.5 flex-wrap",children:[jsx(O,{icon:jsx(UserWithStarBadgeIcon,{width:12,height:12}),value:formatPercent(e.marketData?.top10HoldingsRatio),tooltip:n("tokens.tokenInfo.top10HoldingsRatio"),warning:m,disable:!e.marketData?.top10HoldingsRatio||e.marketData?.top10HoldingsRatio==="0"}),jsx(O,{icon:jsx(CookIcon,{width:12,height:12}),value:formatPercent(e.marketData?.devHoldingsRatio),tooltip:n("tokens.tokenInfo.devHoldingsRatio"),warning:d,disable:!e.marketData?.devHoldingsRatio||e.marketData?.devHoldingsRatio==="0"}),jsx(O,{icon:jsx(RatIcon,{width:12,height:12}),value:formatPercent(e.marketData?.insiderHoldingsRatio),tooltip:n("tokens.tokenInfo.insiderHoldingsRatio"),warning:p,disable:!e.marketData?.insiderHoldingsRatio||e.marketData?.insiderHoldingsRatio==="0"}),jsx(O,{icon:jsx(SniperIcon,{width:12,height:12}),value:formatPercent(e.marketData?.sniperHoldingsRatio),tooltip:n("tokens.tokenInfo.sniperHoldingsRatio"),warning:u,disable:!e.marketData?.sniperHoldingsRatio||e.marketData?.sniperHoldingsRatio==="0"}),jsx(O,{icon:jsx(BundlesIcon,{width:12,height:12}),value:formatPercent(e.marketData?.bundleHoldingsRatio),tooltip:n("tokens.tokenInfo.bundleHoldingsRatio"),warning:f,disable:!e.marketData?.bundleHoldingsRatio||e.marketData?.bundleHoldingsRatio==="0"}),t?.(e)]})]}),jsxs("div",{className:"absolute top-0 right-0 flex flex-col gap-2 items-end",children:[jsxs("div",{className:"flex items-end gap-1",children:[jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.listHeader.marketCap")}),jsx("span",{className:cn("text-base font-medium leading-none",g),children:formatAmountUSDCompact(e.marketData?.marketCapInUsd)})]}),jsxs("div",{className:"flex items-end gap-1",children:[jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.pulse.vol")}),jsx("span",{className:"text-base font-medium leading-none text-foreground",children:formatAmountUSDCompact(e.stats?.["1h"]?.volumesInUsd)})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsxs("div",{className:"flex items-center gap-1",children:[jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.pulse.txs")}),jsx("span",{className:"text-xs leading-none text-foreground",children:formatAmount(e.stats?.["1h"]?.trades)})]}),jsxs("div",{className:"flex rounded-full overflow-hidden",children:[jsx("div",{className:"h-1 bg-bullish",style:{width:`${k}px`}}),jsx("div",{className:"h-1 bg-bearish",style:{width:`${x}px`}})]})]})]})]})})}var il=124,Lr=10;function al({index:e,style:t,data:o,skeletonCount:s,renderItemAction:r,onSelectToken:n}){return o?jsx("div",{style:t,children:jsx(Cr,{token:o[e],isLast:e===o.length-1,renderAction:r,onSelectToken:n})}):jsx("div",{style:t,children:jsx(lr,{isLast:e===s-1})})}function Oe({title:e,tokens:t,isLoading:o,itemHeight:s=il,renderHeaderExtra:r,renderItemAction:n,onSelectToken:i,onPauseChange:a,className:l,hideHeader:c}){let m=o||!t?void 0:t,d=m?m.length:Lr,p=useMemo(()=>({data:m,skeletonCount:Lr,renderItemAction:n,onSelectToken:i}),[m,n,i]),[u,f]=useState(false),k=useCallback(()=>{f(true),a?.(true);},[a]),x=useCallback(()=>{f(false),a?.(false);},[a]);return jsxs("div",{className:cn("w-full h-full bg-content1 overflow-hidden flex flex-col border border-border rounded-lg",l),onMouseEnter:k,onMouseLeave:x,children:[!c&&jsx(ir,{title:e,isPaused:u,extra:r}),jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsx(List,{className:"h-full w-full",rowCount:d,rowHeight:s,rowComponent:al,rowProps:p,overscanCount:5})})]})}function fo(e,t){let o={...e};for(let s of Object.keys(t))t[s]!==void 0&&(o[s]=t[s]);return o}var dl=["1m","5m","15m","30m","1h","4h","24h"];function cl(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of dl)t[s]&&(o[s]=e[s]?fo(e[s],t[s]):t[s]);return o}function ml(e,t){return t?e?fo(e,t):t:e}function Ct(e,t){return t?e?fo(e,t):t:e}function I(e,t){let{chain:o,address:s,stats:r,marketData:n,socialMedias:i,security:a,launchedFrom:l,migratedTo:c,...m}=t,d={...e};for(let p of Object.keys(m))m[p]!==void 0&&(d[p]=m[p]);return d.stats=cl(e.stats,r),d.marketData=ml(e.marketData,n),d.socialMedias=Ct(e.socialMedias,i),d.security=Ct(e.security,a),d.launchedFrom=Ct(e.launchedFrom,l),d.migratedTo=Ct(e.migratedTo,c),d}var gl=80;function xl(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function Mr(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,gl)}function Ir({chain:e,isPaused:t=false,refetchInterval:o=1e4}){let s=useMemo(()=>({chain:e}),[e]),r=useRef(t);r.current=t;let n=useRef(e),[i,a]=useState(true),[l,c]=useState([]);useEffect(()=>{e!==n.current&&(a(true),c([]),n.current=e);},[e]);let{data:m,isPending:d}=useNewTokensQuery(s,{refetchInterval:o});useEffect(()=>{m&&(c(f=>{let k=r.current,x=f.length===0&&m.length>0,g=[...f];for(let h of m){let b=g.findIndex(y=>y.address===h.address);b>=0?g[b]=I(g[b],h):(!k||x)&&g.push(h);}return k?g:Mr(g)}),a(false));},[m]);let p=useCallback(f=>{c(k=>{let x=r.current,g=[...k],h=false;for(let b of f){let y=g.findIndex(E=>E.address===b.address);y>=0?(h=true,g[y]=I(g[y],b)):x||(h=true,g.push(xl(b)));}return h?x?g:Mr(g):k});},[]);useNewTokensSubscription({chain:e},p);let u=useMemo(()=>d||i,[d,i]);return {tokens:l,isLoading:u}}function _x({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=useState(false),{tokens:c,isLoading:m}=Ir({chain:e,isPaused:a}),d=useCallback(p=>{l(p);},[]);return jsx(Oe,{title:t,tokens:c,isLoading:m,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:d,className:n,hideHeader:i})}function Wr({chain:e,isPaused:t=false,refetchInterval:o=3e4}){let s=useMemo(()=>({chain:e}),[e]),r=useRef(t);r.current=t;let n=useRef(e),[i,a]=useState(true),[l,c]=useState([]);useEffect(()=>{e!==n.current&&(a(true),c([]),n.current=e);},[e]);let{data:m,isPending:d}=useMigratedTokensQuery(s,{refetchInterval:o});useEffect(()=>{m&&(c(f=>{let k=r.current,x=[...f];for(let g of m){let h=x.findIndex(b=>b.address===g.address);h>=0?x[h]=I(x[h],g):k||x.unshift(g);}return x}),a(false));},[m]);let p=useCallback(f=>{c(k=>{let x=[...k],g=false;for(let h of f){let b=x.findIndex(y=>y.address===h.address);b>=0&&(g=true,x[b]=I(x[b],h));}return g?x:k});},[]);useMigratedTokensSubscription({chain:e},p);let u=useMemo(()=>d||i,[d,i]);return {tokens:l,isLoading:u}}function ek({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=useState(false),{tokens:c,isLoading:m}=Wr({chain:e,isPaused:a}),d=useCallback(p=>{l(p);},[]);return jsx(Oe,{title:t,tokens:c,isLoading:m,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:d,className:n,hideHeader:i})}function Rl(e){return e.sort((t,o)=>{let s=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-s})}function _r({chain:e,isPaused:t=false,refetchInterval:o=15e3}){let s=useMemo(()=>({chain:e}),[e]),r=useRef(t);r.current=t;let n=useRef(e),[i,a]=useState(true),[l,c]=useState([]);useEffect(()=>{e!==n.current&&(a(true),c([]),n.current=e);},[e]);let{data:m,isPending:d}=useFinalStretchTokensQuery(s,{refetchInterval:o});useEffect(()=>{m&&(c(f=>{let k=r.current,x=f.length===0&&m.length>0,g=[...f];for(let h of m){let b=g.findIndex(y=>y.address===h.address);b>=0?g[b]=I(g[b],h):(!k||x)&&g.push(h);}return k?g:Rl(g)}),a(false));},[m]);let p=useCallback(f=>{c(k=>{let x=[...k],g=false;for(let h of f){let b=x.findIndex(y=>y.address===h.address);b>=0&&(g=true,x[b]=I(x[b],h));}return g?x:k});},[]);useFinalStretchTokensSubscription({chain:e},p);let u=useMemo(()=>d||i,[d,i]);return {tokens:l,isLoading:u}}function mk({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=useState(false),{tokens:c,isLoading:m}=_r({chain:e,isPaused:a}),d=useCallback(p=>{l(p);},[]);return jsx(Oe,{title:t,tokens:c,isLoading:m,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:d,className:n,hideHeader:i})}var Ul=10,Ol=atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function wt(){let[e,t]=useAtom(Ol),o=useCallback(r=>{let n=r.trim();n&&t(i=>{let a=i.filter(l=>l!==n);return [n,...a].slice(0,Ul)});},[t]),s=useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:s}}function Qr({histories:e,onSelect:t,onClear:o,className:s}){let{t:r}=useTranslation();return e.length===0?null:jsxs("div",{className:cn("px-4 pb-4",s),children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium",children:r("tokens.search.history")}),jsx(Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsx(TrashIcon,{width:20,height:20})})]}),jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(n=>jsx(Chip,{size:"sm",variant:"bordered",className:cn("text-neutral","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(n),children:n},n))})]})}function Gr({onSelect:e,className:t}){let{histories:o,clearHistories:s}=wt();return jsx(Qr,{className:cn(t),histories:o,onSelect:e,onClear:s})}function Xr({value:e,onValueChange:t,onClear:o,onEscape:s,className:r}){let{t:n}=useTranslation();return jsx("div",{className:r,children:jsx(StyledInput,{autoFocus:true,variant:"bordered",radius:"full",value:e,onValueChange:t,placeholder:n("tokens.search.placeholder"),classNames:{inputWrapper:["!bg-[rgba(39,39,42,0.6)]","!border-[rgba(63,63,70,0.5)]","data-[hover=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!border-[rgba(63,63,70,0.8)]"].join(" ")},startContent:jsx(SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent:e?jsx(Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsx(XCloseIcon,{width:20,height:20})}):jsx(Kbd,{className:"min-w-8 justify-center text-xs text-neutral bg-transparent border border-[rgba(63,63,70,0.5)] rounded-full cursor-pointer select-none",onMouseDown:i=>{i.preventDefault(),s?.();},children:"Esc"})})})}function Lt({token:e,className:t}){let{t:o}=useTranslation(),s=useTickAge(e.createdAt),r=useMemo(()=>e.marketData?.priceInUsd,[e]),n=useMemo(()=>e.marketData?.marketCapInUsd,[e]),i=useMemo(()=>e.marketData?.tvlInUsd,[e]),a=useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),l=useMemo(()=>a?new SafeBigNumber(a).abs().toString():void 0,[a]),c=useMemo(()=>a!=null&&new SafeBigNumber(a).gte(0),[a]);return jsxs("div",{className:cn("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(re,{token:e,className:"w-10 h-10 flex-none",showProtocolFamily:true,classNames:{searchIcon:"w-5 h-5"}}),jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[jsxs("div",{className:"flex items-center gap-1",children:[jsx("span",{className:"font-medium text-sm truncate",children:e.symbol}),jsx("span",{className:"text-xs text-primary font-medium",children:formatAge(s)})]}),jsxs("div",{className:"flex items-center gap-1 text-xs text-neutral",children:[jsxs("span",{children:[o("tokens.listHeader.mcShort")," ",formatAmountUSD(n)]}),jsx("span",{children:"/"}),jsxs("span",{children:[o("tokens.listHeader.liqShort")," ",formatAmountUSD(i)]})]})]})]}),jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsx("span",{className:"text-xs",children:formatPriceUSD(r)}),jsxs("span",{className:cn("inline-flex gap-0.5 items-center text-xs",c?"text-bullish":"text-bearish"),children:[c?jsx(TriangleUpIcon,{width:8,height:8}):jsx(TriangleDownIcon,{width:8,height:8}),jsx("span",{children:formatPercent(l)})]})]})]})}function Pt({className:e}){let{t}=useTranslation();return jsxs("div",{className:cn("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 nd(){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 At({rows:e=6,className:t}){return jsx("div",{className:cn("w-full",t),children:Array.from({length:e}).map((o,s)=>jsx(nd,{},s))})}function ts({keyword:e,chains:t,limit:o=50}){let s=useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:r,isLoading:n,isFetchingNextPage:i,hasNextPage:a,fetchNextPage:l}=useSearchTokensInfiniteQuery(s,{enabled:!!e});return {tokens:useMemo(()=>r?.pages.flatMap(m=>m.data)??[],[r]),isLoading:n,isFetchingNextPage:i,hasNextPage:a??false,fetchNextPage:l}}var gd=56;function rs({onSelectToken:e,className:t,...o}){let{tokens:s,isLoading:r,isFetchingNextPage:n,hasNextPage:i,fetchNextPage:a}=ts(o),l=useRef(null),{height:c}=useResizeObserver({ref:l}),m=useCallback(f=>f<s.length,[s]),d=useCallback(async()=>{i&&!n&&await a();},[i,n,a]),p=useMemo(()=>i?s.length+1:s.length,[s,i]),u=useInfiniteLoader({isRowLoaded:m,loadMoreRows:d,rowCount:p,threshold:5});return r?jsxs("div",{className:cn("w-full",t),children:[jsx(Pt,{}),jsx(At,{})]}):s.length===0?jsxs("div",{className:cn("w-full",t),children:[jsx(Pt,{}),jsx(kd,{})]}):jsxs("div",{className:cn("w-full h-full flex flex-col",t),children:[jsx(Pt,{className:"flex-none"}),jsx("div",{className:"flex-auto min-h-0",ref:l,children:jsx(List,{style:{height:c},onRowsRendered:u,rowComponent:xd,rowCount:p,rowHeight:gd,rowProps:{tokens:s,onSelectToken:e},overscanCount:5})})]})}function xd({index:e,style:t,tokens:o,onSelectToken:s}){let r=o[e];return r?jsx("div",{style:t,onClick:()=>s?.(r),children:jsx(Lt,{token:r})}):jsx("div",{style:t,className:"flex items-center justify-center",children:jsx(Spinner,{size:"sm"})})}function kd(){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 Mt({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=useRef(r),[i,a]=useState(true);useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),c([]),n.current=r);},[r]);let[l,c]=useState([]),{data:m,isPending:d}=useTrendingTokensQuery(r,{refetchInterval:s});useEffect(()=>{m&&(c(f=>{let k=[];for(let x of m){let g=f.find(h=>h.address===x.address);k.push(g?I(g,x):x);}return k}),a(false));},[m]);let p=useCallback(f=>{c(k=>{let x=[...k],g=false;for(let h of f){let b=x.findIndex(y=>y.address===h.address);b>=0&&(g=true,x[b]=I(x[b],h));}return g?x:k});},[]);useTrendingTokensSubscription({chain:e},p);let u=useMemo(()=>!!(d||i),[d,i]);return {tokens:l,isLoading:u}}var Sd=Chain.ETHEREUM,Cd="24h",wd=56;function as({chains:e,onSelectToken:t,className:o}){let s=e?.length===1?e[0]:e?.[0]??Sd,{tokens:r,isLoading:n}=Mt({chain:s,resolution:Cd});return jsx("div",{className:cn("w-full flex flex-col overflow-hidden",o),children:n?jsx(At,{}):jsx("div",{className:"overflow-y-auto",children:r.map(i=>jsx("div",{style:{height:wd},onClick:()=>t?.(i),children:jsx(Lt,{token:i,className:"h-full"})},i.address))})})}function cs({onKeywordChange:e}){let[t,o]=useState(""),[s,r]=useState(""),{addHistory:n}=wt(),i=useCallbackRef(e),a=useCallbackRef(n),l=useMemo(()=>debounce(p=>{r(p),i(p),p&&a(p);},500),[i,a]),c=useCallback(p=>{o(p),l(p);},[l]),m=useCallback(p=>{l.cancel(),o(p),r(p),i(p),p&&a(p);},[l,i,a]),d=useCallback(()=>m(""),[m]);return {text:t,keyword:s,setText:c,setKeyword:m,clearKeyword:d}}function ps({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:s}){let{text:r,keyword:n,setText:i,setKeyword:a,clearKeyword:l}=cs({onKeywordChange:t});return jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsx(Xr,{value:r,onValueChange:i,onClear:l,onPaste:a,onEscape:s}),n?jsx(rs,{className:"flex-auto min-h-0",keyword:n,chains:e,onSelectToken:o}):jsxs("div",{className:"flex-auto min-h-0 flex flex-col overflow-hidden",children:[jsx(Gr,{onSelect:a}),jsx(as,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}var ho="search";function Xh({id:e=ho}){return jsx(AsyncModal,{id:e,children:t=>jsx(Bd,{...t})})}function Bd({params:e,isOpen:t,onOpenChange:o,onResult:s}){let{t:r}=useTranslation(),{isMobile:n}=useScreen(),i=useCallback(a=>{s(a);},[s]);return jsx(StyledModal,{isOpen:t,onOpenChange:o,size:n?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxs(ModalContent,{className:"w-full h-full",style:{borderRadius:n?void 0:14,border:n?void 0:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:n?void 0:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"},children:[jsxs(ModalHeader,{className:"sm:hidden flex items-center justify-between pt-4 pb-2",children:[jsx("span",{className:"text-base font-semibold",children:r("tokens.search.title")}),jsx(Button,{isIconOnly:true,onPress:()=>o(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsx(XCloseIcon,{width:20,height:20})})]}),jsx(ModalBody,{className:"p-4",children:jsx(ps,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function sb({chains:e,onSelectToken:t,className:o}){let{t:s}=useTranslation(),{isDesktop:r,isMobile:n}=useScreen(),{onOpen:i,onClose:a}=useAsyncModal(ho),l=useCallbackRef(t),c=useCallbackRef(async()=>{let d=await i({params:{chains:e}});d&&l(d);}),m=useCallbackRef(()=>{a();});return useEffect(()=>{let d=p=>{let u=document.activeElement,f=!!u&&(u.tagName==="INPUT"||u.tagName==="TEXTAREA"||u.getAttribute("contenteditable")==="true");p.key==="/"&&!f&&(p.preventDefault(),c()),p.key==="Escape"&&(p.preventDefault(),m());};return window.addEventListener("keydown",d),()=>{window.removeEventListener("keydown",d);}},[c,m]),jsx(Button,{size:"sm",radius:"full",isIconOnly:!r,onPress:c,variant:n?"flat":"bordered",startContent:r?jsx(SearchIcon,{className:"text-neutral"}):void 0,endContent:r?jsx(Kbd,{className:"min-w-6 justify-center text-xs bg-transparent border border-border rounded-full",children:"/"}):void 0,className:cn(r&&"pl-3 pr-1.5 text-neutral",o),children:r?s("tokens.search.placeholder"):jsx(SearchIcon,{className:"text-neutral"})})}function Ce(e){return e==null||e===""?"--":formatPercent(Number(e)/100)}function se(e,t=4,o=4){return e?e.length<=t+o+1?e:`${e.slice(0,t)}\u2026${e.slice(-o)}`:"--"}function fe(e,t=Date.now()){if(e==null)return "--";let o=typeof e=="string"||typeof e=="number"?new Date(e):e,s=typeof t=="number"?new Date(t):t,r=Math.max(0,Math.floor((s.getTime()-o.getTime())/1e3));if(r<60)return `${r}s`;let n=Math.floor(r/60);if(n<60)return `${n}m`;let i=Math.floor(n/60);if(i<24)return `${i}h`;let a=Math.floor(i/24);if(a<30)return `${a}d`;let l=Math.floor(a/30);return l<12?`${l}mo`:`${Math.floor(a/365)}y`}function R(e,t){let{data:o,isLoading:s}=useTokenQuery({chain:e,address:t}),[r,n]=useState(o);return useEffect(()=>{o&&n(o);},[o]),useTokenSubscription({chain:e,address:t},i=>{i?.length&&n(a=>{if(!a)return a;let l=a;for(let c of i)l=I(l,c);return l});}),{token:r,isLoading:s}}function Be({label:e,totalFormatted:t,buysFormatted:o,sellsFormatted:s,totalValue:r=0,buysValue:n=0,className:i}){let a=new SafeBigNumber(r??0),l=new SafeBigNumber(n??0),c=a.eq(0)?0:l.div(a).times(100).toNumber();return jsxs("div",{className:cn("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:c,classNames:{track:"bg-bearish/40",indicator:"bg-bullish"},"aria-label":`${e} buy share`}),jsxs("div",{className:"flex justify-between gap-4 text-[10px]",children:[jsxs("span",{className:"text-bullish",children:["Buys: ",o]}),jsxs("span",{className:"text-bearish",children:["Sells: ",s]})]})]})}function xs({token:e,actions:t,dataStrip:o,className:s,onCopyAddress:r}){let n=e?.address;return jsxs("div",{className:cn("flex w-full flex-wrap items-center gap-4 px-4 py-3",s),children:[jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e&&jsx(re,{token:e,radius:"lg",className:"h-10 w-10"}),jsxs("div",{className:"flex min-w-0 flex-col gap-0.5",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("span",{className:"truncate text-base font-semibold text-foreground",children:e?.symbol??"--"}),jsx("span",{className:"truncate text-xs text-default-400",children:e?.name})]}),n&&jsxs("button",{type:"button",onClick:()=>r?.(n),className:"flex items-center gap-1 text-[11px] text-default-400 transition-colors hover:text-foreground",title:n,children:[se(n,6,6),jsx(CopyIcon,{width:12,height:12})]})]})]}),o&&jsx("div",{className:"flex-1 min-w-0",children:o}),t&&jsx("div",{className:"ml-auto flex items-center gap-2",children:t})]})}function ks(e,t){return R(e,t)}function bs({price:e,marketCap:t,volume:o,holdersCount:s,socialMedia:r,className:n}){return jsxs("div",{className:cn("flex flex-wrap items-center gap-x-6 gap-y-3",n),children:[e,jsxs("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-3",children:[t,o,s]}),jsx("div",{className:"ml-auto",children:r})]})}function Gb(e,t){return R(e,t)}function Ts({holders:e,top10HoldingsRatio:t,top100HoldingsRatio:o,className:s}){return jsxs("div",{className:cn("flex flex-col items-start justify-center gap-0.5",s),children:[jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsx("span",{className:"text-foreground",children:e!=null?formatAmount(e):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:Ce(t)}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:Ce(o)})]}),jsx("div",{className:"text-[10px] text-default-400",children:"Holders / Top10 / Top100"})]})}function vs(e,t){return R(e,t)}function Ns({chain:e,address:t,className:o}){let{token:s}=vs(e,t);return jsx(Ts,{holders:s?.marketData?.holders,top10HoldingsRatio:s?.marketData?.top10HoldingsRatio,top100HoldingsRatio:s?.marketData?.top100HoldingsRatio,className:o})}function ws({marketCapInUsd:e,tvlInUsd:t,createdAt:o,className:s}){return jsxs("div",{className:cn("flex flex-col items-start justify-center gap-0.5",s),children:[jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsx("span",{className:"text-foreground",children:e?formatAmountUSDCompact(e):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:t?formatAmountUSDCompact(t):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:fe(o)})]}),jsx("div",{className:"text-[10px] text-default-400",children:"MC / Liq / Age"})]})}function Ls(e,t){return R(e,t)}function Ps({chain:e,address:t,className:o}){let{token:s}=Ls(e,t);return jsx(ws,{marketCapInUsd:s?.marketData?.marketCapInUsd,tvlInUsd:s?.marketData?.tvlInUsd,createdAt:s?.createdAt,className:o})}function Hs({priceInUsd:e,price24hAgoInUsd:t,className:o}){let{bearish:s,priceChange:r}=useMemo(()=>{if(!e||!t)return {bearish:false,priceChange:void 0};let n=new SafeBigNumber(e),i=new SafeBigNumber(t);return i.lte(0)?{bearish:false,priceChange:void 0}:{bearish:n.lt(i),priceChange:n.minus(i).div(i).abs().toNumber()}},[e,t]);return jsxs("div",{className:cn("group flex flex-col gap-1",o),"data-bearish":s,children:[jsx("div",{className:"text-base font-medium leading-none text-bullish group-data-[bearish=true]:text-bearish",children:e?formatPriceUSD(e):"--"}),jsxs("div",{className:"flex items-center gap-2 text-[10px] leading-none",children:[jsx("span",{className:"text-default-400",children:"24h"}),jsx("span",{className:"text-bullish group-data-[bearish=true]:text-bearish",children:r!=null?formatPercent(r):"--"})]})]})}function Ms(e,t){return R(e,t)}function Is({chain:e,address:t,className:o}){let{token:s}=Ms(e,t);return jsx(Hs,{priceInUsd:s?.marketData?.priceInUsd,price24hAgoInUsd:s?.stats?.["24h"]?.openPriceInUsd,className:o})}function bc(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 Fs({socials:e,className:t,iconSize:o=16}){if(!e)return null;let r=["website","twitter","telegram","discord","github","reddit","youtube","medium"].filter(n=>!!e[n]);return r.length===0?null:jsx("div",{className:cn("flex items-center gap-3",t),children:r.map(n=>jsx("a",{href:e[n],target:"_blank",rel:"noreferrer noopener",className:"flex items-center justify-center text-default-400 transition-colors hover:text-foreground",style:{width:o,height:o},children:bc(n,o)},n))})}function Us(e,t){return R(e,t)}function Os({chain:e,address:t,className:o,iconSize:s}){let{token:r}=Us(e,t);return jsx(Fs,{socials:r?.socialMedias,className:o,iconSize:s})}function Bs({volumesInUsd:e,trades:t,traders:o,className:s}){return jsxs("div",{className:cn("flex flex-col items-start justify-center gap-0.5",s),children:[jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsx("span",{className:"text-foreground",children:e?formatAmountUSDCompact(e):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:t!=null?formatAmount(t):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:o!=null?formatAmount(o):"--"})]}),jsx("div",{className:"text-[10px] text-default-400",children:"24h Vol / Txs / Traders"})]})}function Es(e,t){return R(e,t)}function Vs({chain:e,address:t,className:o}){let{token:s}=Es(e,t),r=s?.stats?.["24h"];return jsx(Bs,{volumesInUsd:r?.volumesInUsd,trades:r?.trades,traders:r?.traders,className:o})}function $s({chain:e,address:t,className:o}){return jsx(bs,{className:o,price:jsx(Is,{chain:e,address:t}),marketCap:jsx(Ps,{chain:e,address:t}),volume:jsx(Vs,{chain:e,address:t}),holdersCount:jsx(Ns,{chain:e,address:t}),socialMedia:jsx(Os,{chain:e,address:t})})}function RT({chain:e,address:t,actions:o,dataStrip:s,className:r,onCopyAddress:n}){let{token:i}=ks(e,t);return jsx(xs,{token:i,actions:o,dataStrip:s===void 0?jsx($s,{chain:e,address:t}):s,className:r,onCopyAddress:n})}var wc=[{value:"holdingUsd",label:"Value"},{value:"lastActiveAt",label:"Last active"}];function zs({holders:e,isLoading:t,sortBy:o,onSortByChange:s,onlyTracked:r=false,onOnlyTrackedChange:n,onLoadMore:i,hasMore:a,now:l=Date.now(),wellKnownAddresses:c,className:m,renderAddress:d}){let p=r?e.filter(u=>u.tags&&u.tags.length>0):e;return jsxs("div",{className:cn("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:r,onChange:u=>n?.(u.target.checked)}),"Only Tracked"]})]}),jsx("div",{className:"flex items-center gap-1",children:wc.map(u=>jsx("button",{type:"button",onClick:()=>s(u.value),className:cn("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(Lc,{holder:u,now:l,wellKnownAddresses:c,renderAddress:d},u.address)),t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),a&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:i,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function Lc({holder:e,now:t,wellKnownAddresses:o,renderAddress:s}){let r=o?.[e.address],n=useMemo(()=>s?s(e.address):r?jsx("span",{className:"rounded bg-default-100 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-default-600",children:r}):jsx("span",{className:"font-mono text-[11px] text-default-500",children:se(e.address,6,6)}),[e.address,s,r]);return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:n}),jsx("td",{className:"px-3 py-2 align-middle",children:jsx(Tt,{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:Ce(e.ratio)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.startHoldingAt?fe(e.startHoldingAt,t):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.lastActiveAt?fe(e.lastActiveAt,t):"--"})]})}function Gs({chain:e,address:t,limit:o=50,initialSortBy:s="holdingUsd"}){let[r,n]=useState(s),[i,a]=useState(void 0),[l,c]=useState([]),m=useCallback(()=>{a(void 0),c([]);},[]),d=useCallback(y=>{y!==r&&(n(y),m());},[r,m]);useEffect(()=>{m();},[e,t,m]);let p=useMemo(()=>({chain:e,address:t,cursor:i,limit:o,sortBy:r}),[e,t,i,o,r]),{data:u,isPending:f,isFetching:k}=useTokenHoldersQuery(p);useEffect(()=>{u&&c(y=>i==null?[u]:y[y.length-1]?.endCursor===u.endCursor?y:[...y,u]);},[u,i]),useTokenSubscription({chain:e,address:t},()=>{});let x=useMemo(()=>l.flatMap(y=>y.data),[l]),g=l[l.length-1],h=!!(g?.hasNext&&g.endCursor),b=useCallback(()=>{!g?.endCursor||!g.hasNext||a(g.endCursor);},[g]);return {holders:x,isLoading:f||k,sortBy:r,setSortBy:d,hasMore:h,loadMore:b}}function JT({chain:e,address:t,limit:o,initialSortBy:s,initialOnlyTracked:r=false,wellKnownAddresses:n,className:i,renderAddress:a}){let[l,c]=useState(r),{holders:m,isLoading:d,sortBy:p,setSortBy:u,hasMore:f,loadMore:k}=Gs({chain:e,address:t,limit:o,initialSortBy:s});return jsx(zs,{holders:m,isLoading:d,sortBy:p,onSortByChange:u,onlyTracked:l,onOnlyTrackedChange:c,wellKnownAddresses:n,hasMore:f,onLoadMore:k,className:i,renderAddress:a})}var Fc=[{value:"timestamp",label:"Latest"},{value:"totalUsd",label:"Top USD"}],Uc=[{value:"all",label:"All"},{value:"buy",label:"Buys"},{value:"sell",label:"Sells"}],Oc=[{value:"all",label:"All"},{value:"dev",label:"DEV"},{value:"tracked",label:"TRACKED"},{value:"you",label:"YOU"}];function Xs({activities:e,isLoading:t,sortBy:o,onSortByChange:s,typeFilter:r="all",onTypeFilterChange:n,traderFilter:i="all",onTraderFilterChange:a,youWalletAddress:l,currency:c="usd",onCurrencyChange:m,onLoadMore:d,hasMore:p,now:u=Date.now(),nativeDecimals:f=9,nativeSymbol:k="SOL",className:x,onRowClick:g}){let h=Wc(e,i,l);return jsxs("div",{className:cn("flex flex-col",x),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:[Uc.map(b=>jsx("button",{type:"button",onClick:()=>n?.(b.value),className:cn("rounded px-2 py-1 text-[11px] transition-colors",r===b.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:b.label},b.value)),jsx("span",{className:"mx-1 h-3 w-px bg-default-200","aria-hidden":true}),Oc.map(b=>{let y=i===b.value,E=b.value==="you"&&!l;return jsx("button",{type:"button",disabled:E,onClick:()=>a?.(b.value),className:cn("rounded px-2 py-1 text-[11px] transition-colors",y?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground",E&&"cursor-not-allowed opacity-50"),children:b.label},b.value)})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx(Bc,{value:c,nativeSymbol:k,onChange:m}),jsx("div",{className:"flex items-center gap-1",children:Fc.map(b=>jsx("button",{type:"button",onClick:()=>s(b.value),className:cn("rounded px-2 py-1 text-[11px] transition-colors",o===b.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:b.label},b.value))})]})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[780px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:"Side"}),jsx("th",{className:"w-[25%] px-3 py-2 text-left font-normal",children:"Trader"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Amount"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"USD"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Price"}),jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"Gas"}),jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"Age"})]})}),jsxs("tbody",{children:[h.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-8 text-center text-default-400",children:"No activities"})}),h.map(b=>jsx(Vc,{activity:b,now:u,nativeDecimals:f,nativeSymbol:k,currency:c,onRowClick:g},b.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:d,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 Dc(e){return e.type==="buy"?e.to:e.type==="sell"?e.from:e.to}function Wc(e,t,o){if(t==="all")return e;if(t==="you"){if(!o)return [];let r=o.toLowerCase();return e.filter(n=>n.walletAddress?.toLowerCase()===r)}if(t==="dev")return e.filter(r=>r.traderTags?.some(n=>n==="dev"));let s=new Set(["kol","smart","bluechip"]);return e.filter(r=>r.traderTags?.some(n=>s.has(n)))}function Bc({value:e,nativeSymbol:t,onChange:o}){return jsx("div",{className:"flex h-[22px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(r=>jsx("button",{type:"button",onClick:()=>o?.(r.k),className:cn("rounded px-2 transition-colors",e===r.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:r.label},r.k))})}function Ec(e,t,o){if(!e)return "--";let s=Number(e)/Math.pow(10,t);return Number.isFinite(s)?`${formatAmount(s)} ${o}`:"--"}function Vc({activity:e,now:t,nativeDecimals:o,nativeSymbol:s,currency:r,onRowClick:n}){let i=Dc(e),a=e.type==="buy"?"Buy":e.type==="sell"?"Sell":e.type.replace(/_/g," "),l=e.type==="buy"?"text-bullish":e.type==="sell"?"text-bearish":"text-default-500";return jsxs("tr",{className:cn("border-b border-default-50 hover:bg-default-50/60",n&&"cursor-pointer"),onClick:n?()=>n(e):void 0,children:[jsx("td",{className:cn("px-3 py-2 align-middle font-medium capitalize",l),children:a}),jsx("td",{className:"px-3 py-2 align-middle",children:jsxs("div",{className:"flex flex-col gap-0.5",children:[jsx("span",{className:"font-mono text-[11px] text-default-500",children:se(e.walletAddress,6,6)}),jsx(pr,{tags:e.traderTags,max:2})]})}),jsxs("td",{className:"px-3 py-2 text-right align-middle",children:[formatAmount(i.amount)," ",i.symbol]}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r==="native"&&i.amountInNative?`${formatAmount(i.amountInNative)} ${i.symbol}`:i.amountInUsd?formatAmountUSDCompact(i.amountInUsd):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:i.priceInUsd?`$${formatPrice(i.priceInUsd)}`:"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:Ec(e.gasFee,o,s)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:fe(e.time,t)})]})}function Zs({chain:e,address:t,limit:o=50,initialSortBy:s="timestamp",initialTypeFilter:r="all"}){let[n,i]=useState(s),[a,l]=useState(r),[c,m]=useState(void 0),[d,p]=useState([]),[u,f]=useState([]),k=useCallback(()=>{m(void 0),p([]),f([]);},[]),x=useCallback(D=>{D!==n&&(i(D),k());},[n,k]),g=useCallback(D=>{D!==a&&(l(D),k());},[a,k]);useEffect(()=>{k();},[e,t,k]);let h=a==="all"?void 0:a,b=useMemo(()=>({chain:e,address:t,cursor:c,limit:o,sortBy:n,type:h}),[e,t,c,o,n,h]),{data:y,isPending:E,isFetching:Y}=useTokenActivitiesQuery(b);useEffect(()=>{y&&p(D=>c==null?[y]:D[D.length-1]?.endCursor===y.endCursor?D:[...D,y]);},[y,c]);let me=n==="timestamp"&&a==="all"&&c==null;useTokenActivitiesSubscription({chain:e,address:t},D=>{!me||!D?.length||f(ge=>{let je=new Set(ge.map(z=>z.txHash)),oe=D.filter(z=>!je.has(z.txHash));return oe.length===0?ge:[...oe,...ge].slice(0,100)});});let Ze=useMemo(()=>{let D=d.flatMap(oe=>oe.data);if(!me||u.length===0)return D;let ge=new Set(D.map(oe=>oe.txHash));return [...u.filter(oe=>!ge.has(oe.txHash)),...D]},[d,u,me]),B=d[d.length-1],ao=!!(B?.hasNext&&B.endCursor),lo=useCallback(()=>{!B?.endCursor||!B.hasNext||m(B.endCursor);},[B]);return {activities:Ze,isLoading:E||Y,sortBy:n,setSortBy:x,typeFilter:a,setTypeFilter:g,hasMore:ao,loadMore:lo}}function gv({chain:e,address:t,limit:o,initialSortBy:s,initialTypeFilter:r,initialTraderFilter:n="all",initialCurrency:i="usd",youWalletAddress:a,nativeDecimals:l,nativeSymbol:c,className:m,onRowClick:d}){let[p,u]=useState(n),[f,k]=useState(i),{activities:x,isLoading:g,sortBy:h,setSortBy:b,typeFilter:y,setTypeFilter:E,hasMore:Y,loadMore:me}=Zs({chain:e,address:t,limit:o,initialSortBy:s,initialTypeFilter:r});return jsx(Xs,{activities:x,isLoading:g,sortBy:h,onSortByChange:b,typeFilter:y,onTypeFilterChange:E,traderFilter:p,onTraderFilterChange:u,youWalletAddress:a,currency:f,onCurrencyChange:k,hasMore:Y,onLoadMore:me,className:m,nativeDecimals:l,nativeSymbol:c,onRowClick:d})}function en({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.traders??0,n=s?.buyers??0,i=s?.sellers??0;return jsx(Be,{className:o,label:`Traders (${t})`,totalFormatted:formatAmount(r),buysFormatted:formatAmount(n),sellsFormatted:formatAmount(i),totalValue:r,buysValue:n})}function tn(e,t){return R(e,t)}function Av({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=tn(e,t);return jsx(en,{stats:r?.stats,resolution:o,className:s})}function on({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.trades??0,n=s?.buys??0,i=s?.sells??0;return jsx(Be,{className:o,label:`Transactions (${t})`,totalFormatted:formatAmount(r),buysFormatted:formatAmount(n),sellsFormatted:formatAmount(i),totalValue:r,buysValue:n})}function rn(e,t){return R(e,t)}function zv({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=rn(e,t);return jsx(on,{stats:r?.stats,resolution:o,className:s})}function sn({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.volumesInUsd??"0",n=s?.buyVolumesInUsd??"0",i=s?.sellVolumesInUsd??"0";return jsx(Be,{className:o,label:`Volume (${t})`,totalFormatted:formatAmountUSDCompact(r),buysFormatted:formatAmountUSDCompact(n),sellsFormatted:formatAmountUSDCompact(i),totalValue:r,buysValue:n})}function nn(e,t){return R(e,t)}function i0({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=nn(e,t);return jsx(sn,{stats:r?.stats,resolution:o,className:s})}function an({security:e,externalUrl:t,externalLabel:o,className:s}){let r=[{title:"Transfer fee",value:e?.hasTransferFee,safeWhen:false,description:"Whether the token charges a fee on transfer."},{title:"Fee not upgradable",value:e?.isTransferFeeUpgradable,safeWhen:false,description:"Whether the transfer fee can be raised by the token owner."},{title:"Transferable",value:e?.isTransferable,safeWhen:true,description:"Whether token holders can freely transfer the token."},{title:"Not freezable",value:e?.isFreezable,safeWhen:false,description:"Whether the token authority can freeze holder balances."},{title:"Not closable",value:e?.isClosable,safeWhen:false,description:"Whether the token program can be closed by its owner."}],n=r.every(i=>i.value!==void 0&&i.value===i.safeWhen);return jsxs("section",{className:cn("flex w-full flex-col gap-3",s),children:[jsxs("div",{className:"flex items-baseline justify-between",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:"Security"}),jsx("span",{className:cn("text-xs",e===void 0?"text-default-400":n?"text-success-500":"text-danger-500"),children:e===void 0?"--":n?"Safe":"Review"})]}),jsx("div",{className:"flex flex-col",children:r.map(i=>jsx(Yc,{...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 Yc({title:e,value:t,safeWhen:o,description:s}){let r=t!==void 0&&t===o,n=t===void 0?"--":r?"OK":"Risk";return jsxs("div",{className:"flex h-8 items-center justify-between gap-2",children:[jsx("span",{className:"text-xs text-default-500",title:s,children:e}),jsx("span",{className:cn("text-xs",t===void 0?"text-default-400":r?"text-success-500":"text-danger-500"),children:n})]})}function ln(e,t){let{data:o,isLoading:s}=useTokenSecurityQuery({chain:e,address:t});return {security:o,isLoading:s}}function y0({chain:e,address:t,externalUrl:o,externalLabel:s,className:r}){let{security:n}=ln(e,t);return jsx(an,{security:n,externalUrl:o,externalLabel:s,className:r})}function mn({token:e,className:t}){return e?jsxs("section",{className:cn("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 pn(e,t){return R(e,t)}function F0({chain:e,address:t,className:o}){let{token:s}=pn(e,t);return jsx(mn,{token:s,className:o})}function gn({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:s,onPoolClick:r}){let[n,i]=useState(!e||e.length<=o),a=useCallback(()=>i(l=>!l),[]);return jsxs("section",{className:cn("flex w-full flex-col gap-3",s),children:[jsxs("div",{className:"flex items-baseline justify-between",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:"Liquidity"}),t&&jsx("span",{className:"text-xs text-foreground",children:formatAmountUSDCompact(t)})]}),(!e||e.length===0)&&jsx("div",{className:"py-4 text-center text-xs text-default-400",children:"No pools"}),e&&e.length>0&&jsxs("div",{className:"flex flex-col gap-2",children:[e.map((l,c)=>jsxs("div",{className:cn("flex h-10 w-full items-center justify-between overflow-hidden text-xs",c>=o&&!n&&"hidden",r&&"cursor-pointer hover:bg-default-50"),onClick:r?()=>r(l):void 0,children:[jsxs("div",{className:"flex flex-col gap-0.5",children:[jsx("span",{className:"text-foreground",children:l.protocolFamily??l.protocolName??"Unknown"}),l.poolAddress&&jsxs("span",{className:"font-mono text-[10px] text-default-400",children:["Pool: ",se(l.poolAddress,6,6)]})]}),jsx("div",{className:"text-default-500",children:formatAmountUSDCompact(l.tvlInUsd??0)})]},l.poolAddress??`${l.protocolFamily}-${c}`)),e.length>o&&jsx("div",{className:"flex justify-center pt-1",children:jsx("button",{type:"button",onClick:a,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:n?"Show less":"Show more"})})]})]})}function xn(e,t){return R(e,t)}function Y0({chain:e,address:t,collapseAt:o,className:s,onPoolClick:r}){let{token:n}=xn(e,t);return jsx(gn,{liquidities:n?.liquidities,totalTvlInUsd:n?.marketData?.tvlInUsd,collapseAt:o,className:s,onPoolClick:r})}function kn({cexes:e,collapseAt:t=4,className:o}){let[s,r]=useState(!e||e.length<=t),n=useCallback(()=>r(i=>!i),[]);return !e||e.length===0?null:jsxs("section",{className:cn("w-full",o),children:[jsx("div",{className:"text-sm font-medium text-foreground",children:"CEX listings"}),jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((i,a)=>{let l=a>=t&&!s,c=jsx(Chip,{startContent:i.logo?jsx(Image,{src:i.logo,width:20,height:20,alt:i.name}):void 0,className:cn("bg-default-100 text-xs",l&&"hidden"),children:i.name},i.id);return i.url?jsx("a",{href:i.url,target:"_blank",rel:"noreferrer noopener",className:cn(l&&"hidden"),children:c},i.id):c})}),e.length>t&&jsx("div",{className:"mt-3 flex justify-center",children:jsx("button",{type:"button",onClick:n,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:s?"Show less":"Show more"})})]})}function hn(e){return {cexes:e}}function mN({cexes:e,collapseAt:t,className:o}){let{cexes:s}=hn(e);return jsx(kn,{cexes:s,collapseAt:t,className:o})}function yn({categories:e,collapseAt:t=4,className:o,onCategoryClick:s}){let[r,n]=useState(!e||e.length<=t),i=useCallback(()=>n(a=>!a),[]);return !e||e.length===0?null:jsxs("section",{className:cn("w-full",o),children:[jsx("div",{className:"text-sm font-medium text-foreground",children:"Categories"}),jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((a,l)=>{let c=l>=t&&!r;return jsx(Chip,{size:"sm",className:cn("bg-default-100",c&&"hidden",s&&"cursor-pointer"),onClick:s?()=>s(a):void 0,children:a},a)})}),e.length>t&&jsx("div",{className:"mt-3 flex justify-center",children:jsx("button",{type:"button",onClick:i,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:r?"Show less":"Show more"})})]})}function Tn(e,t){return R(e,t)}function wN({chain:e,address:t,collapseAt:o,className:s,onCategoryClick:r}){let{token:n}=Tn(e,t);return jsx(yn,{categories:n?.tags,collapseAt:o,className:s,onCategoryClick:r})}var vn=["5m","1h","4h","24h"];function Nn({stats:e,resolution:t,className:o}){let s=e?.[t],r=new SafeBigNumber(s?.buyVolumesInUsd??0),n=new SafeBigNumber(s?.sellVolumesInUsd??0),i=r.plus(n),a=r.minus(n),l=i.eq(0)?50:Math.min(100,Math.max(0,r.div(i).times(100).toNumber())),c=[{label:`${t} Vol`,value:formatAmountUSDCompact(i.toString()),className:"text-foreground"},{label:"Buys",value:formatAmountUSDCompact(r.toString()),className:"text-bullish"},{label:"Sells",value:formatAmountUSDCompact(n.toString()),className:"text-bearish"},{label:"Net Vol.",value:formatAmountUSDCompact(a.abs().toString()),className:a.gte(0)?"text-bullish":"text-bearish"}];return jsxs("div",{className:cn("flex h-full w-full flex-col",o),children:[jsx("div",{className:"grid flex-1 grid-cols-4 items-center",children:c.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("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:`${l}%`}})})]})}function Sn({stats:e,resolutions:t,className:o}){return jsx("div",{className:cn("grid h-full w-full grid-cols-4 items-center",o),children:t.map(s=>{let n=e?.[s]?.priceChange,i=n?new SafeBigNumber(n):void 0,a=i?i.gte(0):void 0,l=s,c=i?formatPercent(i,{showPlusGtThanZero:true}):"\u2014";return jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] px-2",children:[jsx("span",{className:"text-[10px] leading-none text-default-400",children:l}),jsx("span",{className:cn("text-[13px] font-medium leading-none tabular-nums",a===void 0?"text-foreground":a?"text-bullish":"text-bearish"),children:c})]},s)})})}function Cn({chain:e,address:t}){let{data:o,isLoading:s}=useTokenStatsQuery({chain:e,address:t});return {stats:o,isLoading:s}}function $N({chain:e,address:t,baseResolution:o="5m",hoverResolutions:s=vn,height:r=64,className:n}){let{stats:i}=Cn({chain:e,address:t});return jsx(StatsFlipPanel,{className:n,height:r,base:jsx(Nn,{stats:i,resolution:o}),hover:jsx(Sn,{stats:i,resolutions:s})})}function wn({positions:e,isLoading:t,hasMore:o,onLoadMore:s,currency:r="usd",onCurrencyChange:n,showHidden:i=false,onShowHiddenChange:a,nativeSymbol:l="Native",renderActions:c,className:m}){return jsxs("div",{className:cn("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:d=>a?.(d.target.checked)}),"Show Hidden"]})]}),jsx(Nm,{value:r,nativeSymbol:l,onChange:n})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[720px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[26%] px-3 py-2 text-left font-normal",children:"Token"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Bought"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Sold"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Remaining"}),jsx("th",{className:"w-[18%] px-3 py-2 text-right font-normal",children:"PnL"}),jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"Actions"})]})}),jsxs("tbody",{children:[e.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No open positions"})}),e.map(d=>jsx(Sm,{position:d,currency:r,renderActions:c},`${d.chain}:${d.address}`)),t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),o&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:s,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function Nm({value:e,nativeSymbol:t,onChange:o}){return jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(r=>jsx("button",{type:"button",onClick:()=>o?.(r.k),className:cn("rounded px-2 transition-colors",e===r.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:r.label},r.k))})}function Sm({position:e,currency:t,renderActions:o}){let{bought:s,sold:r,remaining:n,pnl:i}=useMemo(()=>Cm(e,t),[e,t]),a=jsxs("div",{className:"flex items-center gap-2",children:[jsx(Avatar,{src:e.image??void 0,name:(e.symbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxs("div",{className:"flex min-w-0 flex-col",children:[jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:e.name})]})]});return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:a}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n}),jsx("td",{className:cn("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 Cm(e,t){let o=t==="usd"?e.buyVolumesInUsd:e.buyVolumes,s=t==="usd"?e.sellVolumesInUsd:e.sellVolumes,r=t==="usd"?e.amountInUsd:e.amount,n=e.totalProfitInUsd,i=t==="usd"?formatAmountUSDCompact(o??0):formatAmount(o??0),a=t==="usd"?formatAmountUSDCompact(s??0):formatAmount(s??0),l=t==="usd"?formatAmountUSDCompact(r??0):formatAmount(r??0),c=n?new SafeBigNumber(n):void 0,m=c?c.gte(0):void 0,d=c?(m?"+":"")+formatAmountUSDCompact(c.toString()):"--",p=e.totalProfitRatio?formatPercent(e.totalProfitRatio,{showPlusGtThanZero:true}):void 0;return {bought:i,sold:a,remaining:l,pnl:{amount:d,ratio:p,isPositive:m}}}function Rn({chain:e,wallet:t,limit:o=50,initialShowHidden:s=false}){let[r,n]=useState(void 0),[i,a]=useState([]),[l,c]=useState(s);useEffect(()=>{n(void 0),a([]);},[e,t]);let m=useMemo(()=>({chain:e,address:t??"",cursor:r,limit:o,positionState:"open"}),[e,t,r,o]),{data:d,isPending:p,isFetching:u}=useWalletTokenPositionsQuery(m,{enabled:!!t});useEffect(()=>{d&&a(h=>r==null?[d]:h[h.length-1]?.endCursor===d.endCursor?h:[...h,d]);},[d,r]);let f=useMemo(()=>i.flatMap(h=>h.portfolios),[i]),k=i[i.length-1],x=!!(k?.hasNext&&k.endCursor),g=useCallback(()=>{!k?.endCursor||!k.hasNext||n(k.endCursor);},[k]);return {positions:f,isLoading:!!t&&(p||u),hasMore:x,loadMore:g,showHidden:l,setShowHidden:c}}function iS({chain:e,wallet:t,limit:o,initialCurrency:s="usd",nativeSymbol:r,renderActions:n,className:i}){let[a,l]=useState(s),{positions:c,isLoading:m,hasMore:d,loadMore:p,showHidden:u,setShowHidden:f}=Rn({chain:e,wallet:t,limit:o});return jsx(wn,{className:i,positions:c,isLoading:m,hasMore:d,onLoadMore:p,currency:a,onCurrencyChange:l,showHidden:u,onShowHiddenChange:f,nativeSymbol:r,renderActions:n})}function An({orders:e,isLoading:t,unavailable:o,hasMore:s,onLoadMore:r,stateFilter:n,onStateFilterChange:i,onlyThisToken:a=false,onOnlyThisTokenChange:l,tokenSymbol:c,currency:m="usd",onCurrencyChange:d,nativeSymbol:p="Native",onCancelAll:u,renderActions:f,className:k}){return jsxs("div",{className:cn("flex flex-col",k),children:[jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"active",label:"Active Orders"},{k:"history",label:"Order History"}].map(x=>jsx("button",{type:"button",onClick:()=>i(x.k),className:cn("rounded px-2 transition-colors",n===x.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:x.label},x.k))}),c?jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:a,onChange:x=>l?.(x.target.checked)}),"Only ",c]}):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(Im,{value:m,nativeSymbol:p,onChange:d})]})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[760px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[22%] px-3 py-2 text-left font-normal",children:"Token"}),jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:"Type"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Amount"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Current MC"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Target MC"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Settings"}),jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"Action"})]})}),jsxs("tbody",{children:[o?jsx("tr",{children:jsx("td",{colSpan:7,className:"py-10 text-center text-default-400",children:"Limit orders are coming soon."})}):e.length===0&&!t?jsx("tr",{children:jsxs("td",{colSpan:7,className:"py-10 text-center text-default-400",children:["No ",n==="active"?"active":"historical"," orders"]})}):e.map(x=>jsx(Fm,{order:x,currency:m,renderActions:f},x.id)),t&&!o&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&s&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:r,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function Im({value:e,nativeSymbol:t,onChange:o}){return jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(r=>jsx("button",{type:"button",onClick:()=>o?.(r.k),className:cn("rounded px-2 transition-colors",e===r.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:r.label},r.k))})}function Fm({order:e,currency:t,renderActions:o}){let s=useMemo(()=>t==="usd"&&e.amountInUsd?formatAmountUSDCompact(e.amountInUsd):formatAmount(e.amount),[t,e.amount,e.amountInUsd]),r=e.side==="buy"?"Buy":"Sell",n=e.side==="buy"?"text-bullish":"text-bearish";return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:jsxs("div",{className:"flex items-center gap-2",children:[jsx(Avatar,{src:e.tokenImage??void 0,name:(e.tokenSymbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsx("span",{className:"truncate text-foreground",children:e.tokenSymbol??"--"})]})}),jsx("td",{className:cn("px-3 py-2 align-middle font-medium",n),children:r}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:e.currentMarketCapInUsd?formatAmountUSDCompact(e.currentMarketCapInUsd):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:e.targetMarketCapInUsd?formatAmountUSDCompact(e.targetMarketCapInUsd):e.targetPriceInUsd?formatAmountUSDCompact(e.targetPriceInUsd):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.slippage!=null?`Slip ${e.slippage}%`:"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle",children:o?o(e):jsx("span",{className:"text-default-400",children:"--"})})]})}function Om(e){return e instanceof Error&&e.code==="NotImplemented"}function Dm(e){return e==="active"?"active":"filled"}function Fn({chain:e,wallet:t,tokenAddress:o,limit:s=50,initialStateFilter:r="active",initialOnlyThisToken:n=false}){let[i,a]=useState(r),[l,c]=useState(n),[m,d]=useState(void 0),[p,u]=useState([]);useEffect(()=>{d(void 0),u([]);},[e,t,i,l,o]);let f=useCallback(B=>{B!==i&&a(B);},[i]),k=useMemo(()=>({chain:e,address:t??"",cursor:m,limit:s,state:Dm(i),tokenAddress:l?o:void 0}),[e,t,m,s,i,l,o]),{data:x,isPending:g,isFetching:h,error:b}=useWalletLimitOrdersQuery(k,{enabled:!!t});useEffect(()=>{x&&u(B=>m==null?[x]:B[B.length-1]?.endCursor===x.endCursor?B:[...B,x]);},[x,m]);let y=!!b&&Om(b),E=useMemo(()=>p.flatMap(B=>B.data),[p]),Y=p[p.length-1],me=!!(Y?.hasNext&&Y.endCursor),Ze=useCallback(()=>{!Y?.endCursor||!Y.hasNext||d(Y.endCursor);},[Y]);return {orders:E,isLoading:!!t&&!y&&(g||h),unavailable:y,hasMore:me,loadMore:Ze,stateFilter:i,setStateFilter:f,onlyThisToken:l,setOnlyThisToken:c}}function SS({chain:e,wallet:t,tokenAddress:o,tokenSymbol:s,limit:r,initialStateFilter:n="active",initialCurrency:i="usd",nativeSymbol:a,onCancelAll:l,renderActions:c,className:m}){let[d,p]=useState(i),{orders:u,isLoading:f,unavailable:k,hasMore:x,loadMore:g,stateFilter:h,setStateFilter:b,onlyThisToken:y,setOnlyThisToken:E}=Fn({chain:e,wallet:t,tokenAddress:o,limit:r,initialStateFilter:n});return jsx(An,{className:m,orders:u,isLoading:f,unavailable:k,hasMore:x,onLoadMore:g,stateFilter:h,onStateFilterChange:b,onlyThisToken:y,onOnlyThisTokenChange:E,tokenSymbol:s,currency:d,onCurrencyChange:p,nativeSymbol:a,onCancelAll:k?void 0:l,renderActions:c})}function Un({traders:e,isLoading:t,hasMore:o,onLoadMore:s,onlyTracked:r=false,onOnlyTrackedChange:n,now:i=Date.now(),renderAddress:a,className:l}){return jsxs("div",{className:cn("flex flex-col",l),children:[jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsx("span",{className:"text-xs font-medium text-default-500",children:"Top Traders"}),jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:r,onChange:c=>n?.(c.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(c=>jsx(_m,{trader:c,now:i,renderAddress:a},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:s,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function _m({trader:e,now:t,renderAddress:o}){let s=useMemo(()=>o?o(e.address):jsx("span",{className:"font-mono text-[11px] text-default-500",children:se(e.address,6,6)}),[e.address,o]);return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:s}),jsx("td",{className:"px-3 py-2 align-middle",children:jsx(Tt,{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:Ce(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?fe(e.lastActiveAt,t):"--"})]})}function Dn({chain:e,address:t,limit:o=50,initialOnlyTracked:s=false}){let[r,n]=useState(void 0),[i,a]=useState([]),[l,c]=useState(s);useEffect(()=>{n(void 0),a([]);},[e,t]);let m=useMemo(()=>({chain:e,address:t,cursor:r,limit:o,sortBy:"realizedPnl"}),[e,t,r,o]),{data:d,isPending:p,isFetching:u}=useTokenTopTradersQuery(m);useEffect(()=>{d&&a(b=>r==null?[d]:b[b.length-1]?.endCursor===d.endCursor?b:[...b,d]);},[d,r]);let f=useMemo(()=>i.flatMap(b=>b.data),[i]),k=useMemo(()=>l?f.filter(b=>b.tags&&b.tags.length>0):f,[f,l]),x=i[i.length-1],g=!!(x?.hasNext&&x.endCursor),h=useCallback(()=>{!x?.endCursor||!x.hasNext||n(x.endCursor);},[x]);return {traders:k,isLoading:p||u,hasMore:g,loadMore:h,onlyTracked:l,setOnlyTracked:c}}function _S({chain:e,address:t,limit:o,className:s,renderAddress:r}){let{traders:n,isLoading:i,hasMore:a,loadMore:l,onlyTracked:c,setOnlyTracked:m}=Dn({chain:e,address:t,limit:o});return jsx(Un,{className:s,traders:n,isLoading:i,hasMore:a,onLoadMore:l,onlyTracked:c,onOnlyTrackedChange:m,renderAddress:r})}function Bn({tokens:e,isLoading:t,unavailable:o,hasMore:s,onLoadMore:r,renderTokenLink:n,className:i}){return jsxs("div",{className:cn("flex flex-col",i),children:[jsx("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:jsx("span",{className:"text-xs font-medium text-default-500",children:"Dev Tokens"})}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[700px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[28%] px-3 py-2 text-left font-normal",children:"Token"}),jsx("th",{className:"w-[10%] px-3 py-2 text-center font-normal",children:"Migrated"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Market Cap"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"ATH"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Liquidity"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"1h Volume"})]})}),jsxs("tbody",{children:[o?jsx("tr",{children:jsx("td",{colSpan:6,className:"py-10 text-center text-default-400",children:"Dev tokens index is coming soon."})}):e.length===0&&!t?jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No dev tokens"})}):e.map(a=>jsx(Gm,{token:a,renderTokenLink:n},`${a.chain}:${a.address}`)),!o&&t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&s&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:r,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function Gm({token:e,renderTokenLink:t}){let o=e.marketData?.marketCapInUsd??e.marketData?.marketCap,s=e.marketData?.tvlInUsd,n=e.stats?.["1h"]?.volumesInUsd,i=!!e.migratedTo,a=t?t(e):jsxs("div",{className:"flex items-center gap-2",children:[jsx(Avatar,{src:e.image??void 0,name:(e.symbol??e.name??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxs("div",{className:"flex min-w-0 flex-col",children:[jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:e.name})]})]});return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:a}),jsx("td",{className:"px-3 py-2 text-center align-middle",children:i?jsx("span",{className:"text-bullish",children:"\u2713"}):jsx("span",{className:"text-default-400",children:"\u2014"})}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:o?formatAmountUSDCompact(o):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s?formatAmountUSDCompact(s):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n?formatAmountUSDCompact(n):"--"})]})}function En({tokens:e,className:t}){let o=e.length,s=e.filter(a=>!!a.migratedTo).length,r=o===0?0:Math.round(s/o*100),n=e.map(a=>a.stats?.["1h"]?.volumesInUsd??"0").reduce((a,l)=>a.plus(new SafeBigNumber(l)),new SafeBigNumber(0)),i=e.map(a=>a.marketData?.marketCapInUsd??a.marketData?.marketCap??"0").reduce((a,l)=>a.plus(new SafeBigNumber(l)),new SafeBigNumber(0));return jsxs("div",{className:cn("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(_t,{label:"Total",value:String(o)}),jsx(_t,{label:"Migrated",value:`${s} (${r}%)`}),jsx(_t,{label:"Total Market Cap",value:formatAmountUSDCompact(i.toString())}),jsx(_t,{label:"Total 1h Volume",value:formatAmountUSDCompact(n.toString())})]})]})}function _t({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 Ym(e){return e instanceof Error&&e.code==="NotImplemented"}function Kn({chain:e,creator:t,limit:o=20}){let[s,r]=useState(void 0),[n,i]=useState([]);useEffect(()=>{r(void 0),i([]);},[e,t]);let a=useMemo(()=>({chain:e,creator:t??"",cursor:s,limit:o}),[e,t,s,o]),{data:l,isPending:c,isFetching:m,error:d}=useTokensByCreatorQuery(a,{enabled:!!t});useEffect(()=>{l&&i(g=>s==null?[l]:g[g.length-1]?.endCursor===l.endCursor?g:[...g,l]);},[l,s]);let p=!!d&&Ym(d),u=useMemo(()=>n.flatMap(g=>g.data),[n]),f=n[n.length-1],k=!!(f?.hasNext&&f.endCursor),x=useCallback(()=>{!f?.endCursor||!f.hasNext||r(f.endCursor);},[f]);return {tokens:u,isLoading:!!t&&!p&&(c||m),unavailable:p,hasMore:k,loadMore:x}}function nC({chain:e,creator:t,limit:o,showSummary:s=false,renderTokenLink:r,className:n}){let{tokens:i,isLoading:a,unavailable:l,hasMore:c,loadMore:m}=Kn({chain:e,creator:t,limit:o});return jsxs("div",{className:n,children:[jsx(Bn,{tokens:i,isLoading:a,unavailable:l,hasMore:c,onLoadMore:m,renderTokenLink:r}),s&&!l?jsx(En,{tokens:i}):null]})}function Qn({token:e,athInUsd:t,athAt:o,globalFeesPaidInUsd:s,rank:r,onTogglePin:n,pinned:i,className:a}){let l=e?.marketData?.priceInUsd,c=e?.marketData?.tvlInUsd,m=e?.marketData?.totalSupply;return jsxs("div",{className:cn("flex h-[48px] w-full flex-row items-center gap-4 overflow-x-auto px-3 text-[12px]",a),children:[jsx(Qe,{label:"Price",value:l?formatPriceUSD(l):"--"}),jsx(Qe,{label:"Liquidity",value:c?formatAmountUSDCompact(c):"--"}),jsx(Qe,{label:"Supply",value:m?formatAmount(m):"--"}),s?jsx(Qe,{label:"Fees Paid",value:formatAmountUSDCompact(s)}):null,t?jsx(Qe,{label:"ATH",value:formatAmountUSDCompact(t),title:o?`All-time high at ${o.toLocaleDateString()}`:void 0}):null,r!==void 0?jsx(Qe,{label:"Rank",value:`#${r}`}):null,jsx("div",{className:"flex-1"}),n?jsx("button",{type:"button",onClick:n,"aria-pressed":i,className:cn("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 Qe({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 Xn({chain:e,address:t}){return R(e,t)}function yC({chain:e,address:t,athInUsd:o,athAt:s,globalFeesPaidInUsd:r,rank:n,pinned:i,onTogglePin:a,className:l}){let{token:c}=Xn({chain:e,address:t});return jsx(Qn,{className:l,token:c,athInUsd:o,athAt:s,globalFeesPaidInUsd:r,rank:n,pinned:i,onTogglePin:a})}function Jn({tokens:e,isLoading:t,unavailable:o,onTokenClick:s,className:r}){return o?jsx("div",{className:cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"Similar tokens coming soon."}):!t&&e.length===0?jsx("div",{className:cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"No similar tokens found."}):jsxs("ul",{className:cn("flex flex-col",r),children:[e.map(n=>jsxs("li",{className:cn("flex cursor-pointer items-center gap-2 border-b border-default-50 px-3 py-2 last:border-0 hover:bg-default-50/60",!s&&"cursor-default"),onClick:s?()=>s(n):void 0,children:[jsx(Avatar,{src:n.image??void 0,name:(n.symbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[jsx("span",{className:"truncate text-[12px] text-foreground",children:n.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:n.name})]}),jsx("span",{className:"text-[11px] tabular-nums text-default-500",children:n.marketData?.marketCapInUsd?formatAmountUSDCompact(n.marketData.marketCapInUsd):"--"})]},`${n.chain}:${n.address}`)),t&&jsx("li",{className:"py-2 text-center text-[11px] text-default-400",children:"Loading\u2026"})]})}function Yn({chain:e,address:t,keyword:o,limit:s=10}){let r=!!o&&o.length>0,{data:n,isPending:i,isFetching:a}=useSearchTokensQuery({chains:[e],keyword:o,limit:s+1},{enabled:r});return {tokens:useMemo(()=>{if(!n)return [];let c=t.toLowerCase();return (n.data??[]).filter(m=>m.address.toLowerCase()!==c).slice(0,s)},[n,t,s]),isLoading:r&&(i||a),unavailable:!r}}function OC({chain:e,address:t,keyword:o,limit:s,onTokenClick:r,className:n}){let{tokens:i,isLoading:a,unavailable:l}=Yn({chain:e,address:t,keyword:o,limit:s});return jsx(Jn,{className:n,tokens:i,isLoading:a,unavailable:l,onTokenClick:r})}function Zn({tokens:e=[],unavailable:t=true,onTokenClick:o,className:s}){return t?jsx("div",{className:cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",s),children:"Image-similarity search is coming soon."}):e.length===0?jsx("div",{className:cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",s),children:"No reused-image tokens found."}):jsx("div",{className:cn("flex flex-row flex-wrap gap-2 p-3",s),children:e.map(r=>jsx("button",{type:"button",onClick:o?()=>o(r):void 0,className:"flex size-10 items-center justify-center overflow-hidden rounded-full border border-default-100 transition-opacity hover:opacity-80",title:r.symbol,children:jsx(Avatar,{src:r.image??void 0,name:(r.symbol??"?").slice(0,1),className:"size-full bg-default-100 text-[10px] text-default-400",showFallback:true})},`${r.chain}:${r.address}`))})}function jn(e){return {tokens:[],isLoading:false,unavailable:true}}function XC({chain:e,address:t,onTokenClick:o,className:s}){let{tokens:r,unavailable:n}=jn();return jsx(Zn,{className:s,tokens:r,unavailable:n,onTokenClick:o})}function si({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:r}){let{t:n}=useTranslation(),[i,a]=useState(e?.join(", ")??""),[l,c]=useState(t?.join(", ")??"");useEffect(()=>{a(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(()=>{c(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=>{a(p),o?.(zt(p));},[o]),d=useCallback(p=>{c(p),s?.(zt(p));},[s]);return jsxs("div",{className:cn("grid grid-cols-2 gap-3 px-4",r),children:[jsxs("div",{className:"flex flex-col gap-3",children:[jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.keywords.title")}),jsx(StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.keywords.placeholder"),value:i,onValueChange:m})]}),jsxs("div",{className:"flex flex-col gap-3",children:[jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.keywords.exclude.title")}),jsx(StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.keywords.placeholder"),value:l,onValueChange:d})]})]})}function zt(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function ci({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:r}=useTranslation(),[n,i]=useState(t);useEffect(()=>{i(t);},[t]);let a=useMemo(()=>e.every(m=>n.includes(m)),[e,n]),l=useCallback(()=>{if(a){let m=[];i(m),o?.(m);}else {let m=[...e];i(m),o?.(m);}},[e,o,a]),c=useCallback(m=>()=>{if(n.includes(m)){let d=n.filter(p=>p!==m);i(d),o?.(d);}else {let d=[...n,m];i(d),o?.(d);}},[n,o]);return jsxs("div",{className:cn("flex flex-col gap-3 px-4",s),children:[jsxs("div",{className:"flex justify-between items-center",children:[jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.protocols.title")}),jsx(Button,{variant:"light",color:"default",size:"sm",radius:"full",onPress:l,children:r(a?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(m=>{let d=Te(m);return jsx(Button,{variant:"bordered",size:"sm",radius:"full",className:cn("w-fit h-6 px-2.5",d.text,d.bg5,"border",d.border,{"opacity-40 data-[hover=true]:!opacity-30":!n.includes(m)}),startContent:jsx(Image,{width:14,height:14,src:`/images/protocols/${m}.svg`,alt:formatTokenProtocolName(m)}),onPress:c(m),children:formatTokenProtocolName(m)},m)})})]})}function le({title:e,field:t,value:o,onChange:s}){let{t:r}=useTranslation(),[n,i]=useState(o?_o(o).min:NaN),[a,l]=useState(o?_o(o).max:NaN);useEffect(()=>{if(o===void 0)i(NaN),l(NaN);else {let{min:d,max:p}=_o(o);i(d),l(p);}},[o]);let c=useCallback(d=>{i(d),s?.(fi(t,d,a));},[t,s,a]),m=useCallback(d=>{l(d),s?.(fi(t,n,d));},[t,s,n]);return jsxs("div",{className:"flex flex-col gap-1",children:[e&&jsx("h3",{className:"text-xs text-neutral",children:e}),jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsx(StyledNumberInput,{value:n,onValueChange:c,variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsx(StyledNumberInput,{value:a,onValueChange:m,variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function _o(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 fi(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 xi({values:e,onValuesChange:t,className:o}){let{t:s}=useTranslation(),[r,n]=useState(e);useEffect(()=>{n(e);},[e]);let i=useCallback(a=>l=>{if(l===void 0){let c=(r??[]).filter(m=>m.field!==a);c=c.length>0?c:void 0,n(c),t?.(c);}else {let c=[...(r??[]).filter(m=>m.field!==a),l];n(c),t?.(c);}},[r,t]);return jsxs("div",{className:cn("flex flex-col gap-4",o),children:[jsx(le,{field:"holders",title:s("tokens.filters.stats.audits.holders"),value:r?.find(a=>a.field==="holders"),onChange:i("holders")}),jsx(le,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:r?.find(a=>a.field==="top10Ratio"),onChange:i("top10Ratio")}),jsx(le,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:r?.find(a=>a.field==="top100Ratio"),onChange:i("top100Ratio")}),jsx(le,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:r?.find(a=>a.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function ki({resolution:e,values:t,onValuesChange:o,className:s}){let{t:r}=useTranslation(),[n,i]=useState(t);useEffect(()=>{i(t);},[t]);let a=useCallback(l=>c=>{if(c===void 0){let m=(n??[]).filter(d=>d.field!==l);m=m.length>0?m:void 0,i(m),o?.(m);}else {let m=[...(n??[]).filter(d=>d.field!==l),c];i(m),o?.(m);}},[n,o]);return jsxs("div",{className:cn("flex flex-col gap-4",s),children:[jsx(le,{field:"marketCap",title:r("tokens.filters.stats.metrics.marketCap"),value:n?.find(l=>l.field==="marketCap"),onChange:a("marketCap")}),jsx(le,{field:"tvl",title:r("tokens.filters.stats.metrics.liquidity"),value:n?.find(l=>l.field==="tvl"),onChange:a("tvl")}),jsx(le,{field:`volumes${e}`,title:r("tokens.filters.stats.metrics.volumes",{resolution:r(`common.resolution.${e}`)}),value:n?.find(l=>l.field===`volumes${e}`),onChange:a(`volumes${e}`)}),jsx(le,{field:`trades${e}`,title:r("tokens.filters.stats.metrics.txns",{resolution:r(`common.resolution.${e}`)}),value:n?.find(l=>l.field===`trades${e}`),onChange:a(`trades${e}`)})]})}function Ni({resolution:e,values:t,onValuesChange:o,className:s}){let{t:r}=useTranslation(),[n,i]=useState("audits"),[a,l]=useState(t);useEffect(()=>{l(t);},[t]);let c=useCallback(p=>{l(p),o?.(p);},[o]),m=useMemo(()=>{let p=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(u=>p.includes(u.field))?.length??0},[a]),d=useMemo(()=>{let p=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(u=>p.includes(u.field)).length??0},[a,e]);return jsxs("div",{className:cn("flex flex-col gap-3 px-4",s),children:[jsxs(StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:n,onSelectionChange:i,children:[jsx(Tab,{title:m===0?r("tokens.filters.stats.audits"):jsx(StyledBadge,{color:"primary",size:"sm",content:m,shape:"circle",children:r("tokens.filters.stats.audits")})},"audits"),jsx(Tab,{title:d===0?r("tokens.filters.stats.metrics"):jsx(StyledBadge,{color:"primary",size:"sm",content:d,shape:"circle",children:r("tokens.filters.stats.metrics")})},"metrics")]}),jsx(xi,{values:a,onValuesChange:c,className:cn({hidden:n!=="audits"})}),jsx(ki,{values:a,onValuesChange:c,resolution:e,className:cn({hidden:n!=="metrics"})})]})}function jt({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:r}){let[n,i]=useState(Si(o?.filters,e));useEffect(()=>{i(Si(o?.filters,e));},[o?.filters,e]);let[a,l]=useState(o?.keywords);useEffect(()=>{l(o?.keywords);},[o?.keywords]);let[c,m]=useState(o?.excludeKeywords);useEffect(()=>{m(o?.excludeKeywords);},[o?.excludeKeywords]);let[d,p]=useState(o?.filters);useEffect(()=>{p(o?.filters);},[o?.filters]);let u=useCallback(g=>{i(g),s?.(Zt(e,g,a,c,d));},[e,a,c,d,s]),f=useCallback(g=>{l(g),s?.(Zt(e,n,g,c,d));},[e,n,c,d,s]),k=useCallback(g=>{m(g),s?.(Zt(e,n,a,g,d));},[e,n,a,d,s]),x=useCallback(g=>{p(g),s?.(Zt(e,n,a,c,g));},[e,n,a,c,s]);return jsxs("div",{className:cn("flex flex-col gap-4",r),children:[e&&e.length>0&&jsxs(Fragment,{children:[jsx(ci,{protocols:e,selectedProtocols:n,onSelectedProtocolsChange:u}),jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}})]}),jsx(si,{keywords:a,excludeKeywords:c,onKeywordsChange:f,onExcludeKeywordsChange:k}),jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}}),jsx(Ni,{resolution:t,values:d,onValuesChange:x})]})}function Si(e,t){let o=e?.find(s=>s.field==="launchedFromProtocolFamily");return o?o.operator==="in"?o.value:(console.warn("invalid token protocols filter",o),[...t||[]]):[...t||[]]}function Zt(e,t,o,s,r){let n=r?[...r.filter(i=>i.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(a=>t.includes(a))||n.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&s===void 0&&n.length===0?void 0:{keywords:o,excludeKeywords:s,filters:n.length>0?n:void 0}}function Pi({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:r}=useTranslation(),{isOpen:n,onOpen:i,onClose:a,onOpenChange:l}=useDisclosure(),[c,m]=useState(o),d=useCallback(()=>{m(void 0);},[]),p=useCallback(()=>{s?.(c),a();},[c,s,a]);useEffect(()=>{m(o);},[n,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:n,onOpenChange:l,size:"md",scrollBehavior:"inside",children:jsxs(ModalContent,{className:"w-full h-full",children:[jsx(ModalHeader,{className:"px-4 py-2",children:jsx("span",{className:"text-base font-semibold",children:r("tokens.filters.modal.title")})}),jsx(ModalBody,{className:"px-0 pt-0 pb-4",children:jsx(ScrollShadow,{children:jsx(jt,{protocols:e,resolution:t,filters:c,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:d,children:r("common.reset")}),jsx(Button,{color:"primary",size:"sm",radius:"full",onPress:p,children:r("common.apply")})]})})]})})]})}var ou={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},ru={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"},su={height:1,background:"rgba(39,39,42,1)",margin:0};function Mi({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:r}=useTranslation(),[n,i]=useState(false),a=useRef(null),[l,c]=useState(o),m=useCallback(()=>{c(void 0);},[]),d=useCallback(()=>{s?.(l),i(false);},[l,s]);useEffect(()=>{c(o);},[n,o]),useEffect(()=>{let u=f=>{a.current&&!a.current.contains(f.target)&&i(false);};return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]),useEffect(()=>{if(!n)return;let u=f=>{f.key==="Escape"&&i(false);};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[n]);let p=useMemo(()=>Object.values(o||{}).every(u=>u===void 0),[o]);return jsxs("div",{ref:a,style:{position:"relative"},children:[jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxs("button",{type:"button",style:ou,onMouseEnter:u=>{u.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:u=>{u.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>i(u=>!u),children:[jsx(FilterIcon,{width:16,height:16,className:"flex-none"}),jsx("span",{className:"hidden sm:block",children:r("tokens.listHeader.filter")}),jsx(nu,{open:n})]}),!p&&jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),n&&jsxs("div",{style:{...ru,width:420},children:[jsx("div",{style:{padding:"16px 0"},children:jsx(ScrollShadow,{className:"w-full max-h-120 px-4",children:jsx(jt,{protocols:e,resolution:t,filters:l,onFiltersChange:c})})}),jsx("div",{style:su}),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:r("common.reset")}),jsx(Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:d,children:r("common.apply")})]})]})]})}function nu({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 VL({popoverPlacement:e="bottom-end",...t}){let{isMobile:o}=useScreen();return o?jsx(Pi,{...t}):jsx(Mi,{placement:e,...t})}function Ui({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=useTranslation(),r=useCallback(n=>{t?.(n);},[t]);return jsx(StyledPlainTabs,{color:"primary",radius:"lg",selectedKey:e,onSelectionChange:r,"aria-label":"Select Resolution",classNames:{tabList:"gap-0",tab:"px-2",tabContent:"!text-zinc-500 group-data-[hover=true]:!text-foreground group-data-[selected=true]:!text-primary"},children:o.map(n=>jsx(Tab,{title:s(`common.resolution.${n}`)},n))})}var hu={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},bu={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 Di({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=useTranslation(),[r,n]=useState(false),i=useRef(null),a=useCallback(l=>{t?.(l),n(false);},[t]);return useEffect(()=>{if(!r)return;let l=m=>{i.current&&!i.current.contains(m.target)&&n(false);},c=m=>{m.key==="Escape"&&n(false);};return document.addEventListener("mousedown",l),document.addEventListener("keydown",c),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",c);}},[r]),jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxs("button",{type:"button",style:hu,onClick:()=>n(l=>!l),children:[jsx("span",{children:e?s(`common.resolution.${e}`):"\u2014"}),jsx(ChevronDownIcon,{width:14,height:14,className:"text-zinc-500",style:{transition:"transform 0.15s",transform:r?"rotate(180deg)":void 0}})]}),r&&jsx("div",{style:bu,children:o.map(l=>jsx("button",{type:"button",onClick:()=>a(l),className:cn("w-full text-left px-3 py-1.5 rounded-lg text-xs font-medium transition-colors cursor-pointer",l===e?"text-primary bg-primary/10":"text-zinc-400 hover:text-foreground hover:bg-zinc-800"),children:s(`common.resolution.${l}`)},l))})]})}function sP(e){let{isMobile:t}=useScreen();return t?jsx(Di,{...e}):jsx(Ui,{...e})}function Ei({token:e}){let{t}=useTranslation(),o=useMemo(()=>e.marketData?.bluechipHoldingsRatio,[e.marketData?.bluechipHoldingsRatio]),s=useMemo(()=>o!==void 0&&new SafeBigNumber(o).gte(.1),[o]),r=useMemo(()=>o===void 0||new SafeBigNumber(o).lt(.05),[o]);return jsx(StyledTooltip,{content:t("tokens.bluechip.explained"),children:jsxs("div",{className:"flex items-center gap-2.5",children:[s&&jsx(HorsePowerHighIcon,{}),r&&jsx(HorsePowerLowIcon,{}),!s&&!r&&jsx(HorsePowerIcon,{}),jsx("span",{className:cn(s&&"text-bullish",!s&&!r&&"text-bearish",o===void 0&&"text-neutral"),children:formatPercent(o)})]})})}function Vi({token:e}){let t=useCopyToClipboard(),{t:o}=useTranslation(),s=useCallback(n=>{n.preventDefault(),n.stopPropagation(),t(e.address,()=>toast.success(o("tokens.copied.address")));},[t,e.address,o]),r=useTickAge(e.createdAt);return jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsx(re,{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:s,children:[jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:e.name}),jsx(CopyIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"})]})})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("span",{className:"text-primary text-xs sm:text-sm font-medium",children:formatAge(r)}),e.socialMedias?.website&&jsx(Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(WebsiteIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.twitter&&jsx(Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(TwitterIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.telegram&&jsx(Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(TelegramIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.discord&&jsx(Link,{href:e.socialMedias.discord,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(DiscordIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),jsx(Link,{href:searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",children:jsx(SearchIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]})]})]})}function $i({token:e}){let{t}=useTranslation(),o=e.marketData,s=useMemo(()=>new SafeBigNumber(o?.top10HoldingsRatio).gte(.1),[o?.top10HoldingsRatio]),r=useMemo(()=>new SafeBigNumber(o?.devHoldingsRatio).gte(.1),[o?.devHoldingsRatio]),n=useMemo(()=>new SafeBigNumber(o?.sniperHoldingsRatio).gte(.1),[o?.sniperHoldingsRatio]),i=useMemo(()=>new SafeBigNumber(o?.insiderHoldingsRatio).gte(.1),[o?.insiderHoldingsRatio]),a=useMemo(()=>new SafeBigNumber(o?.bundleHoldingsRatio).gte(.1),[o?.bundleHoldingsRatio]);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(O,{icon:jsx(PeopleIcon,{width:12,height:12}),value:formatAmount(o?.holders),tooltip:t("tokens.tokenInfo.holders"),warning:false,disable:!o?.holders}),jsx(O,{icon:jsx(KlineCandlesIcon,{width:12,height:12}),value:formatAmount(o?.proHolders),tooltip:t("tokens.tokenInfo.proHolders"),warning:false,disable:!o?.proHolders}),jsx(O,{icon:jsx(StarIcon,{width:12,height:12}),value:formatAmount(o?.kolHolders),tooltip:t("tokens.tokenInfo.kolHolders"),warning:false,disable:!o?.kolHolders}),jsx(O,{icon:jsx(UserWithStarBadgeIcon,{width:12,height:12}),value:formatPercent(o?.top10HoldingsRatio),tooltip:t("tokens.tokenInfo.top10HoldingsRatio"),warning:s,disable:!o?.top10HoldingsRatio||o?.top10HoldingsRatio==="0"})]}),jsxs("div",{className:"flex items-center gap-1",children:[jsx(O,{icon:jsx(CookIcon,{width:12,height:12}),value:formatPercent(o?.devHoldingsRatio),tooltip:t("tokens.tokenInfo.devHoldingsRatio"),warning:r,disable:!o?.devHoldingsRatio||o?.devHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsx(O,{icon:jsx(SniperIcon,{width:12,height:12}),value:formatPercent(o?.sniperHoldingsRatio),tooltip:t("tokens.tokenInfo.sniperHoldingsRatio"),warning:n,disable:!o?.sniperHoldingsRatio||o?.sniperHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsx(O,{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(O,{icon:jsx(BundlesIcon,{width:12,height:12}),value:formatPercent(o?.bundleHoldingsRatio),tooltip:t("tokens.tokenInfo.bundleHoldingsRatio"),warning:a,disable:!o?.bundleHoldingsRatio||o?.bundleHoldingsRatio==="0",tooltipPlacement:"bottom"})]})]})}function _i({token:e}){let t=useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsx(Fragment,{children:formatAmountUSD(t)})}function Ki({token:e}){let t=useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsx(Fragment,{children:formatAmountUSD(t)})}function Qi({token:e,resolution:t}){let o=useMemo(()=>e.marketData?.priceInUsd,[e]),s=useMemo(()=>e.stats?.[t]?.priceChange,[e,t]),r=useMemo(()=>s?new SafeBigNumber(s).abs().toString():void 0,[s]),n=useMemo(()=>s&&new SafeBigNumber(s).gte(0),[s]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatPriceUSD(o)}),jsxs("span",{className:cn("inline-flex gap-1 items-center text-xs",n?"text-bullish":"text-bearish"),children:[n?jsx(TriangleUpIcon,{width:10,height:10}):jsx(TriangleDownIcon,{width:10,height:10}),jsx("span",{children:formatPercent(r)})]})]})}function Xi({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.traders,[e.stats?.[t]?.traders]),s=useMemo(()=>e.stats?.[t]?.buyers,[e.stats?.[t]?.buyers]),r=useMemo(()=>e.stats?.[t]?.sellers,[e.stats?.[t]?.sellers]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatAmount(o)}),jsxs("div",{className:"flex gap-1 text-xs",children:[jsx("span",{className:"text-bullish",children:formatAmount(s)}),"/",jsx("span",{className:"text-bearish",children:formatAmount(r)})]})]})}function Yi({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.trades,[e.stats?.[t]?.trades]),s=useMemo(()=>e.stats?.[t]?.buys,[e.stats?.[t]?.buys]),r=useMemo(()=>e.stats?.[t]?.sells,[e.stats?.[t]?.sells]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatAmount(o)}),jsxs("div",{className:"flex gap-1 text-xs",children:[jsx("span",{className:"text-bullish",children:formatAmount(s)}),"/",jsx("span",{className:"text-bearish",children:formatAmount(r)})]})]})}function ji({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.volumesInUsd,[e.stats?.[t]?.volumesInUsd]),s=useMemo(()=>e.stats?.[t]?.buyVolumesInUsd,[e.stats?.[t]?.buyVolumesInUsd]),r=useMemo(()=>e.stats?.[t]?.sellVolumesInUsd,[e.stats?.[t]?.sellVolumesInUsd]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatAmountUSD(o)}),jsxs("div",{className:"flex gap-1 text-xs",children:[jsx("span",{className:"text-bullish",children:formatAmountUSD(s)}),"/",jsx("span",{className:"text-bearish",children:formatAmountUSD(r)})]})]})}var pf=`
|
|
21
|
+
`})]})}function Cr({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:r}){let{t:n}=useTranslation(),i=useCopyToClipboard(),a=useTickAge(e.createdAt),l=e.marketData,d=e.stats?.["1h"],m=useCallback(()=>{s?.(e);},[s,e]),c=useCallback(U=>{U.stopPropagation(),i(e.address,()=>toast.success(n("tokens.copied.address")));},[i,e.address,n]),p=useMemo(()=>d?.volumesInUsd,[d?.volumesInUsd]),u=useMemo(()=>d?.buyVolumesInUsd,[d?.buyVolumesInUsd]),g=useMemo(()=>d?.sellVolumesInUsd,[d?.sellVolumesInUsd]),k=useMemo(()=>d?.trades,[d?.trades]),f=useMemo(()=>l?.marketCapInUsd,[l?.marketCapInUsd]),x=useMemo(()=>l?.tvlInUsd,[l?.tvlInUsd]),h=useMemo(()=>{let U=new SafeBigNumber(f);return U.lt(1e3)?"text-foreground":U.lt(1e6)?"text-secondary":"text-primary"},[f]),b=useMemo(()=>new SafeBigNumber(l?.top10HoldingsRatio).gte(.1),[l?.top10HoldingsRatio]),y=useMemo(()=>new SafeBigNumber(l?.devHoldingsRatio).gte(.1),[l?.devHoldingsRatio]),K=useMemo(()=>new SafeBigNumber(l?.insiderHoldingsRatio).gte(.1),[l?.insiderHoldingsRatio]),J=useMemo(()=>new SafeBigNumber(l?.sniperHoldingsRatio).gte(.1),[l?.sniperHoldingsRatio]),ne=useMemo(()=>new SafeBigNumber(l?.bundleHoldingsRatio).gte(.1),[l?.bundleHoldingsRatio]),[De,V]=useMemo(()=>{let U=Number(d?.buys??0),te=Number(d?.sells??0),_=U+te;if(_===0)return [12,12];let lr=Math.round(U/_*24);return [lr,24-lr]},[d?.buys,d?.sells]),We=l?.holders!==void 0&&l.holders>0,Be=l?.proHolders!==void 0&&l.proHolders>0,F=l?.kolHolders!==void 0&&l.kolHolders>0,le=We||Be||F;return jsxs("div",{className:cn("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer border-b",r),style:o?void 0:{borderBottomColor:"rgba(39,39,42,0.6)"},onClick:s?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":n("tokens.copied.address"),title:n("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":n("tokens.copied.address"),title:n("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: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(h),children:formatAmountUSDCompact(f)})]}),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:n("tokens.tokenInfo.holders"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(PeopleIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(l?.holders)]})}),Be&&jsx(StyledTooltip,{content:n("tokens.tokenInfo.proHolders"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(KlineCandlesIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(l?.proHolders)]})}),F&&jsx(StyledTooltip,{content:n("tokens.tokenInfo.kolHolders"),children:jsxs("span",{className:"inline-flex items-center gap-1",children:[jsx(StarIcon,{className:"w-3 h-3 text-neutral"}),formatAmount(l?.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("text-base font-bold leading-none",h),children:formatAmountUSDCompact(f)})}),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(g)})]})]}),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(k)})]})]})]}),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(B,{icon:jsx(UserWithStarBadgeIcon,{width:12,height:12}),value:formatPercent(l?.top10HoldingsRatio),tooltip:n("tokens.tokenInfo.top10HoldingsRatio"),warning:b}),jsx(B,{icon:jsx(CookIcon,{width:12,height:12}),value:formatPercent(l?.devHoldingsRatio),tooltip:n("tokens.tokenInfo.devHoldingsRatio"),warning:y}),jsx(B,{icon:jsx(SniperIcon,{width:12,height:12}),value:formatPercent(l?.sniperHoldingsRatio),tooltip:n("tokens.tokenInfo.sniperHoldingsRatio"),warning:J}),jsx(B,{icon:jsx(RatIcon,{width:12,height:12}),value:formatPercent(l?.insiderHoldingsRatio),tooltip:n("tokens.tokenInfo.insiderHoldingsRatio"),warning:K}),jsx(B,{icon:jsx(BundlesIcon,{width:12,height:12}),value:formatPercent(l?.bundleHoldingsRatio),tooltip:n("tokens.tokenInfo.bundleHoldingsRatio"),warning:ne})]})}),t&&jsx("div",{className:"flex-none relative",onClick:U=>U.stopPropagation(),children:t(e)})]})]})}var il=152,Lr=10;function al({index:e,style:t,data:o,skeletonCount:s,renderItemAction:r,onSelectToken:n}){return o?jsx("div",{style:t,children:jsx(Cr,{token:o[e],isLast:e===o.length-1,renderAction:r,onSelectToken:n})}):jsx("div",{style:t,children:jsx(cr,{isLast:e===s-1})})}function _e({title:e,tokens:t,isLoading:o,itemHeight:s=il,renderHeaderExtra:r,renderItemAction:n,onSelectToken:i,onPauseChange:a,className:l,hideHeader:d}){let m=o||!t?void 0:t,c=m?m.length:Lr,p=useMemo(()=>({data:m,skeletonCount:Lr,renderItemAction:n,onSelectToken:i}),[m,n,i]),[u,g]=useState(false),k=useCallback(()=>{g(true),a?.(true);},[a]),f=useCallback(()=>{g(false),a?.(false);},[a]);return jsxs("div",{className:cn("w-full h-full bg-[#0a0a0b] overflow-hidden flex flex-col border border-[rgba(39,39,42,0.6)] rounded-lg",l),onMouseEnter:k,onMouseLeave:f,children:[!d&&jsx(dr,{title:e,isPaused:u,extra:r}),jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsx(List,{className:"h-full w-full",rowCount:c,rowHeight:s,rowComponent:al,rowProps:p,overscanCount:5})})]})}function xo(e,t){let o={...e};for(let s of Object.keys(t))t[s]!==void 0&&(o[s]=t[s]);return o}var dl=["1m","5m","15m","30m","1h","4h","24h"];function cl(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of dl)t[s]&&(o[s]=e[s]?xo(e[s],t[s]):t[s]);return o}function ml(e,t){return t?e?xo(e,t):t:e}function At(e,t){return t?e?xo(e,t):t:e}function O(e,t){let{chain:o,address:s,stats:r,marketData:n,socialMedias:i,security:a,launchedFrom:l,migratedTo:d,...m}=t,c={...e};for(let p of Object.keys(m))m[p]!==void 0&&(c[p]=m[p]);return c.stats=cl(e.stats,r),c.marketData=ml(e.marketData,n),c.socialMedias=At(e.socialMedias,i),c.security=At(e.security,a),c.launchedFrom=At(e.launchedFrom,l),c.migratedTo=At(e.migratedTo,d),c}var gl=80;function xl(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function Mr(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,gl)}function Ir({chain:e,isPaused:t=false,refetchInterval:o=1e4}){let s=useMemo(()=>({chain:e}),[e]),r=useRef(t);r.current=t;let n=useRef(e),[i,a]=useState(true),[l,d]=useState([]);useEffect(()=>{e!==n.current&&(a(true),d([]),n.current=e);},[e]);let{data:m,isPending:c}=useNewTokensQuery(s,{refetchInterval:o});useEffect(()=>{m&&(d(g=>{let k=r.current,f=g.length===0&&m.length>0,x=[...g];for(let h of m){let b=x.findIndex(y=>y.address===h.address);b>=0?x[b]=O(x[b],h):(!k||f)&&x.push(h);}return k?x:Mr(x)}),a(false));},[m]);let p=useCallback(g=>{d(k=>{let f=r.current,x=[...k],h=false;for(let b of g){let y=x.findIndex(K=>K.address===b.address);y>=0?(h=true,x[y]=O(x[y],b)):f||(h=true,x.push(xl(b)));}return h?f?x:Mr(x):k});},[]);useNewTokensSubscription({chain:e},p);let u=useMemo(()=>c||i,[c,i]);return {tokens:l,isLoading:u}}function Kx({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=useState(false),{tokens:d,isLoading:m}=Ir({chain:e,isPaused:a}),c=useCallback(p=>{l(p);},[]);return jsx(_e,{title:t,tokens:d,isLoading:m,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:c,className:n,hideHeader:i})}function Wr({chain:e,isPaused:t=false,refetchInterval:o=3e4}){let s=useMemo(()=>({chain:e}),[e]),r=useRef(t);r.current=t;let n=useRef(e),[i,a]=useState(true),[l,d]=useState([]);useEffect(()=>{e!==n.current&&(a(true),d([]),n.current=e);},[e]);let{data:m,isPending:c}=useMigratedTokensQuery(s,{refetchInterval:o});useEffect(()=>{m&&(d(g=>{let k=r.current,f=[...g];for(let x of m){let h=f.findIndex(b=>b.address===x.address);h>=0?f[h]=O(f[h],x):k||f.unshift(x);}return f}),a(false));},[m]);let p=useCallback(g=>{d(k=>{let f=[...k],x=false;for(let h of g){let b=f.findIndex(y=>y.address===h.address);b>=0&&(x=true,f[b]=O(f[b],h));}return x?f:k});},[]);useMigratedTokensSubscription({chain:e},p);let u=useMemo(()=>c||i,[c,i]);return {tokens:l,isLoading:u}}function tk({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=useState(false),{tokens:d,isLoading:m}=Wr({chain:e,isPaused:a}),c=useCallback(p=>{l(p);},[]);return jsx(_e,{title:t,tokens:d,isLoading:m,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:c,className:n,hideHeader:i})}function Rl(e){return e.sort((t,o)=>{let s=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-s})}function _r({chain:e,isPaused:t=false,refetchInterval:o=15e3}){let s=useMemo(()=>({chain:e}),[e]),r=useRef(t);r.current=t;let n=useRef(e),[i,a]=useState(true),[l,d]=useState([]);useEffect(()=>{e!==n.current&&(a(true),d([]),n.current=e);},[e]);let{data:m,isPending:c}=useFinalStretchTokensQuery(s,{refetchInterval:o});useEffect(()=>{m&&(d(g=>{let k=r.current,f=g.length===0&&m.length>0,x=[...g];for(let h of m){let b=x.findIndex(y=>y.address===h.address);b>=0?x[b]=O(x[b],h):(!k||f)&&x.push(h);}return k?x:Rl(x)}),a(false));},[m]);let p=useCallback(g=>{d(k=>{let f=[...k],x=false;for(let h of g){let b=f.findIndex(y=>y.address===h.address);b>=0&&(x=true,f[b]=O(f[b],h));}return x?f:k});},[]);useFinalStretchTokensSubscription({chain:e},p);let u=useMemo(()=>c||i,[c,i]);return {tokens:l,isLoading:u}}function pk({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=useState(false),{tokens:d,isLoading:m}=_r({chain:e,isPaused:a}),c=useCallback(p=>{l(p);},[]);return jsx(_e,{title:t,tokens:d,isLoading:m,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:c,className:n,hideHeader:i})}var Ul=10,Ol=atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function Ht(){let[e,t]=useAtom(Ol),o=useCallback(r=>{let n=r.trim();n&&t(i=>{let a=i.filter(l=>l!==n);return [n,...a].slice(0,Ul)});},[t]),s=useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:s}}function Qr({histories:e,onSelect:t,onClear:o,className:s}){let{t:r}=useTranslation();return e.length===0?null:jsxs("div",{className:cn("px-4 pb-4",s),children:[jsxs("div",{className:"flex items-center justify-between",children:[jsx("span",{className:"text-sm font-medium",children:r("tokens.search.history")}),jsx(Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsx(TrashIcon,{width:20,height:20})})]}),jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(n=>jsx(Chip,{size:"sm",variant:"bordered",className:cn("text-neutral","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(n),children:n},n))})]})}function Gr({onSelect:e,className:t}){let{histories:o,clearHistories:s}=Ht();return jsx(Qr,{className:cn(t),histories:o,onSelect:e,onClear:s})}function Xr({value:e,onValueChange:t,onClear:o,onEscape:s,className:r}){let{t:n}=useTranslation();return jsx("div",{className:r,children:jsx(StyledInput,{autoFocus:true,variant:"bordered",radius:"full",value:e,onValueChange:t,placeholder:n("tokens.search.placeholder"),classNames:{inputWrapper:["!bg-[rgba(39,39,42,0.6)]","!border-[rgba(63,63,70,0.5)]","data-[hover=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!bg-[rgba(39,39,42,1)]","group-data-[focus=true]:!border-[rgba(63,63,70,0.8)]"].join(" ")},startContent:jsx(SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent:e?jsx(Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsx(XCloseIcon,{width:20,height:20})}):jsx(Kbd,{className:"min-w-8 justify-center text-xs text-neutral bg-transparent border border-[rgba(63,63,70,0.5)] rounded-full cursor-pointer select-none",onMouseDown:i=>{i.preventDefault(),s?.();},children:"Esc"})})})}function Mt({token:e,className:t}){let{t:o}=useTranslation(),s=useTickAge(e.createdAt),r=useMemo(()=>e.marketData?.priceInUsd,[e]),n=useMemo(()=>e.marketData?.marketCapInUsd,[e]),i=useMemo(()=>e.marketData?.tvlInUsd,[e]),a=useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),l=useMemo(()=>a?new SafeBigNumber(a).abs().toString():void 0,[a]),d=useMemo(()=>a!=null&&new SafeBigNumber(a).gte(0),[a]);return jsxs("div",{className:cn("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(s)})]}),jsxs("div",{className:"flex items-center gap-1 text-xs text-neutral",children:[jsxs("span",{children:[o("tokens.listHeader.mcShort")," ",formatAmountUSD(n)]}),jsx("span",{children:"/"}),jsxs("span",{children:[o("tokens.listHeader.liqShort")," ",formatAmountUSD(i)]})]})]})]}),jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsx("span",{className:"text-xs",children:formatPriceUSD(r)}),jsxs("span",{className:cn("inline-flex gap-0.5 items-center text-xs",d?"text-bullish":"text-bearish"),children:[d?jsx(TriangleUpIcon,{width:8,height:8}):jsx(TriangleDownIcon,{width:8,height:8}),jsx("span",{children:formatPercent(l)})]})]})]})}function It({className:e}){let{t}=useTranslation();return jsxs("div",{className:cn("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 nd(){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 Ut({rows:e=6,className:t}){return jsx("div",{className:cn("w-full",t),children:Array.from({length:e}).map((o,s)=>jsx(nd,{},s))})}function ts({keyword:e,chains:t,limit:o=50}){let s=useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:r,isLoading:n,isFetchingNextPage:i,hasNextPage:a,fetchNextPage:l}=useSearchTokensInfiniteQuery(s,{enabled:!!e});return {tokens:useMemo(()=>r?.pages.flatMap(m=>m.data)??[],[r]),isLoading:n,isFetchingNextPage:i,hasNextPage:a??false,fetchNextPage:l}}var gd=56;function rs({onSelectToken:e,className:t,...o}){let{tokens:s,isLoading:r,isFetchingNextPage:n,hasNextPage:i,fetchNextPage:a}=ts(o),l=useRef(null),{height:d}=useResizeObserver({ref:l}),m=useCallback(g=>g<s.length,[s]),c=useCallback(async()=>{i&&!n&&await a();},[i,n,a]),p=useMemo(()=>i?s.length+1:s.length,[s,i]),u=useInfiniteLoader({isRowLoaded:m,loadMoreRows:c,rowCount:p,threshold:5});return r?jsxs("div",{className:cn("w-full",t),children:[jsx(It,{}),jsx(Ut,{})]}):s.length===0?jsxs("div",{className:cn("w-full",t),children:[jsx(It,{}),jsx(kd,{})]}):jsxs("div",{className:cn("w-full h-full flex flex-col",t),children:[jsx(It,{className:"flex-none"}),jsx("div",{className:"flex-auto min-h-0",ref:l,children:jsx(List,{style:{height:d},onRowsRendered:u,rowComponent:xd,rowCount:p,rowHeight:gd,rowProps:{tokens:s,onSelectToken:e},overscanCount:5})})]})}function xd({index:e,style:t,tokens:o,onSelectToken:s}){let r=o[e];return r?jsx("div",{style:t,onClick:()=>s?.(r),children:jsx(Mt,{token:r})}):jsx("div",{style:t,className:"flex items-center justify-center",children:jsx(Spinner,{size:"sm"})})}function kd(){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 Dt({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=useRef(r),[i,a]=useState(true);useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),d([]),n.current=r);},[r]);let[l,d]=useState([]),{data:m,isPending:c}=useTrendingTokensQuery(r,{refetchInterval:s});useEffect(()=>{m&&(d(g=>{let k=[];for(let f of m){let x=g.find(h=>h.address===f.address);k.push(x?O(x,f):f);}return k}),a(false));},[m]);let p=useCallback(g=>{d(k=>{let f=[...k],x=false;for(let h of g){let b=f.findIndex(y=>y.address===h.address);b>=0&&(x=true,f[b]=O(f[b],h));}return x?f:k});},[]);useTrendingTokensSubscription({chain:e},p);let u=useMemo(()=>!!(c||i),[c,i]);return {tokens:l,isLoading:u}}var Sd=Chain.ETHEREUM,Cd="24h",wd=56;function as({chains:e,onSelectToken:t,className:o}){let s=e?.length===1?e[0]:e?.[0]??Sd,{tokens:r,isLoading:n}=Dt({chain:s,resolution:Cd});return jsx("div",{className:cn("w-full flex flex-col overflow-hidden",o),children:n?jsx(Ut,{}):jsx("div",{className:"overflow-y-auto",children:r.map(i=>jsx("div",{style:{height:wd},onClick:()=>t?.(i),children:jsx(Mt,{token:i,className:"h-full"})},i.address))})})}function cs({onKeywordChange:e}){let[t,o]=useState(""),[s,r]=useState(""),{addHistory:n}=Ht(),i=useCallbackRef(e),a=useCallbackRef(n),l=useMemo(()=>debounce(p=>{r(p),i(p),p&&a(p);},500),[i,a]),d=useCallback(p=>{o(p),l(p);},[l]),m=useCallback(p=>{l.cancel(),o(p),r(p),i(p),p&&a(p);},[l,i,a]),c=useCallback(()=>m(""),[m]);return {text:t,keyword:s,setText:d,setKeyword:m,clearKeyword:c}}function ps({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:s}){let{text:r,keyword:n,setText:i,setKeyword:a,clearKeyword:l}=cs({onKeywordChange:t});return jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsx(Xr,{value:r,onValueChange:i,onClear:l,onPaste:a,onEscape:s}),n?jsx(rs,{className:"flex-auto min-h-0",keyword:n,chains:e,onSelectToken:o}):jsxs("div",{className:"flex-auto min-h-0 flex flex-col overflow-hidden",children:[jsx(Gr,{onSelect:a}),jsx(as,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}var yo="search";function Jh({id:e=yo}){return jsx(AsyncModal,{id:e,children:t=>jsx(Bd,{...t})})}function Bd({params:e,isOpen:t,onOpenChange:o,onResult:s}){let{t:r}=useTranslation(),{isMobile:n}=useScreen(),i=useCallback(a=>{s(a);},[s]);return jsx(StyledModal,{isOpen:t,onOpenChange:o,size:n?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxs(ModalContent,{className:"w-full h-full",style:{borderRadius:n?void 0:14,border:n?void 0:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:n?void 0:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"},children:[jsxs(ModalHeader,{className:"sm:hidden flex items-center justify-between pt-4 pb-2",children:[jsx("span",{className:"text-base font-semibold",children:r("tokens.search.title")}),jsx(Button,{isIconOnly:true,onPress:()=>o(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsx(XCloseIcon,{width:20,height:20})})]}),jsx(ModalBody,{className:"p-4",children:jsx(ps,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function nb({chains:e,onSelectToken:t,className:o}){let{t:s}=useTranslation(),{isDesktop:r,isMobile:n}=useScreen(),{onOpen:i,onClose:a}=useAsyncModal(yo),l=useCallbackRef(t),d=useCallbackRef(async()=>{let c=await i({params:{chains:e}});c&&l(c);}),m=useCallbackRef(()=>{a();});return useEffect(()=>{let c=p=>{let u=document.activeElement,g=!!u&&(u.tagName==="INPUT"||u.tagName==="TEXTAREA"||u.getAttribute("contenteditable")==="true");p.key==="/"&&!g&&(p.preventDefault(),d()),p.key==="Escape"&&(p.preventDefault(),m());};return window.addEventListener("keydown",c),()=>{window.removeEventListener("keydown",c);}},[d,m]),jsx(Button,{size:"sm",radius:"full",isIconOnly:!r,onPress:d,variant:n?"flat":"bordered",startContent:r?jsx(SearchIcon,{className:"text-neutral"}):void 0,endContent:r?jsx(Kbd,{className:"min-w-6 justify-center text-xs bg-transparent border border-border rounded-full",children:"/"}):void 0,className:cn(r&&"pl-3 pr-1.5 text-neutral",o),children:r?s("tokens.search.placeholder"):jsx(SearchIcon,{className:"text-neutral"})})}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,s=typeof t=="number"?new Date(t):t,r=Math.max(0,Math.floor((s.getTime()-o.getTime())/1e3));if(r<60)return `${r}s`;let n=Math.floor(r/60);if(n<60)return `${n}m`;let i=Math.floor(n/60);if(i<24)return `${i}h`;let a=Math.floor(i/24);if(a<30)return `${a}d`;let l=Math.floor(a/30);return l<12?`${l}mo`:`${Math.floor(a/365)}y`}function R(e,t){let{data:o,isLoading:s}=useTokenQuery({chain:e,address:t}),[r,n]=useState(o);return useEffect(()=>{o&&n(o);},[o]),useTokenSubscription({chain:e,address:t},i=>{i?.length&&n(a=>{if(!a)return a;let l=a;for(let d of i)l=O(l,d);return l});}),{token:r,isLoading:s}}function qe({label:e,totalFormatted:t,buysFormatted:o,sellsFormatted:s,totalValue:r=0,buysValue:n=0,className:i}){let a=new SafeBigNumber(r??0),l=new SafeBigNumber(n??0),d=a.eq(0)?0:l.div(a).times(100).toNumber();return jsxs("div",{className:cn("flex flex-col gap-1",i),children:[jsxs("div",{className:"flex items-baseline justify-between",children:[jsx("span",{className:"text-xs text-default-500",children:e}),jsx("span",{className:"text-xs text-foreground",children:t})]}),jsx(Progress,{size:"sm",value:d,classNames:{track:"bg-bearish/40",indicator:"bg-bullish"},"aria-label":`${e} buy share`}),jsxs("div",{className:"flex justify-between gap-4 text-[10px]",children:[jsxs("span",{className:"text-bullish",children:["Buys: ",o]}),jsxs("span",{className:"text-bearish",children:["Sells: ",s]})]})]})}function xs({token:e,actions:t,dataStrip:o,className:s,onCopyAddress:r}){let n=e?.address;return jsxs("div",{className:cn("flex w-full flex-wrap items-center gap-4 px-4 py-3",s),children:[jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e&&jsx(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})]}),n&&jsxs("button",{type:"button",onClick:()=>r?.(n),className:"flex items-center gap-1 text-[11px] text-default-400 transition-colors hover:text-foreground",title:n,children:[ce(n,6,6),jsx(CopyIcon,{width:12,height:12})]})]})]}),o&&jsx("div",{className:"flex-1 min-w-0",children:o}),t&&jsx("div",{className:"ml-auto flex items-center gap-2",children:t})]})}function ks(e,t){return R(e,t)}function bs({price:e,marketCap:t,volume:o,holdersCount:s,socialMedia:r,className:n}){return jsxs("div",{className:cn("flex flex-wrap items-center gap-x-6 gap-y-3",n),children:[e,jsxs("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-3",children:[t,o,s]}),jsx("div",{className:"ml-auto",children:r})]})}function Xb(e,t){return R(e,t)}function Ts({holders:e,top10HoldingsRatio:t,top100HoldingsRatio:o,className:s}){return jsxs("div",{className:cn("flex flex-col items-start justify-center gap-0.5",s),children:[jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsx("span",{className:"text-foreground",children:e!=null?formatAmount(e):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children: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 vs(e,t){return R(e,t)}function Ns({chain:e,address:t,className:o}){let{token:s}=vs(e,t);return jsx(Ts,{holders:s?.marketData?.holders,top10HoldingsRatio:s?.marketData?.top10HoldingsRatio,top100HoldingsRatio:s?.marketData?.top100HoldingsRatio,className:o})}function ws({marketCapInUsd:e,tvlInUsd:t,createdAt:o,className:s}){return jsxs("div",{className:cn("flex flex-col items-start justify-center gap-0.5",s),children:[jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsx("span",{className:"text-foreground",children:e?formatAmountUSDCompact(e):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:t?formatAmountUSDCompact(t):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:be(o)})]}),jsx("div",{className:"text-[10px] text-default-400",children:"MC / Liq / Age"})]})}function Ls(e,t){return R(e,t)}function Ps({chain:e,address:t,className:o}){let{token:s}=Ls(e,t);return jsx(ws,{marketCapInUsd:s?.marketData?.marketCapInUsd,tvlInUsd:s?.marketData?.tvlInUsd,createdAt:s?.createdAt,className:o})}function Hs({priceInUsd:e,price24hAgoInUsd:t,className:o}){let{bearish:s,priceChange:r}=useMemo(()=>{if(!e||!t)return {bearish:false,priceChange:void 0};let n=new SafeBigNumber(e),i=new SafeBigNumber(t);return i.lte(0)?{bearish:false,priceChange:void 0}:{bearish:n.lt(i),priceChange:n.minus(i).div(i).abs().toNumber()}},[e,t]);return jsxs("div",{className:cn("group flex flex-col gap-1",o),"data-bearish":s,children:[jsx("div",{className:"text-base font-medium leading-none text-bullish group-data-[bearish=true]:text-bearish",children:e?formatPriceUSD(e):"--"}),jsxs("div",{className:"flex items-center gap-2 text-[10px] leading-none",children:[jsx("span",{className:"text-default-400",children:"24h"}),jsx("span",{className:"text-bullish group-data-[bearish=true]:text-bearish",children:r!=null?formatPercent(r):"--"})]})]})}function Ms(e,t){return R(e,t)}function Is({chain:e,address:t,className:o}){let{token:s}=Ms(e,t);return jsx(Hs,{priceInUsd:s?.marketData?.priceInUsd,price24hAgoInUsd:s?.stats?.["24h"]?.openPriceInUsd,className:o})}function bc(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 Fs({socials:e,className:t,iconSize:o=16}){if(!e)return null;let r=["website","twitter","telegram","discord","github","reddit","youtube","medium"].filter(n=>!!e[n]);return r.length===0?null:jsx("div",{className:cn("flex items-center gap-3",t),children:r.map(n=>jsx("a",{href:e[n],target:"_blank",rel:"noreferrer noopener",className:"flex items-center justify-center text-default-400 transition-colors hover:text-foreground",style:{width:o,height:o},children:bc(n,o)},n))})}function Us(e,t){return R(e,t)}function Os({chain:e,address:t,className:o,iconSize:s}){let{token:r}=Us(e,t);return jsx(Fs,{socials:r?.socialMedias,className:o,iconSize:s})}function Bs({volumesInUsd:e,trades:t,traders:o,className:s}){return jsxs("div",{className:cn("flex flex-col items-start justify-center gap-0.5",s),children:[jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsx("span",{className:"text-foreground",children:e?formatAmountUSDCompact(e):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:t!=null?formatAmount(t):"--"}),jsx("span",{className:"px-1",children:"/"}),jsx("span",{children:o!=null?formatAmount(o):"--"})]}),jsx("div",{className:"text-[10px] text-default-400",children:"24h Vol / Txs / Traders"})]})}function Es(e,t){return R(e,t)}function Vs({chain:e,address:t,className:o}){let{token:s}=Es(e,t),r=s?.stats?.["24h"];return jsx(Bs,{volumesInUsd:r?.volumesInUsd,trades:r?.trades,traders:r?.traders,className:o})}function $s({chain:e,address:t,className:o}){return jsx(bs,{className:o,price:jsx(Is,{chain:e,address:t}),marketCap:jsx(Ps,{chain:e,address:t}),volume:jsx(Vs,{chain:e,address:t}),holdersCount:jsx(Ns,{chain:e,address:t}),socialMedia:jsx(Os,{chain:e,address:t})})}function AT({chain:e,address:t,actions:o,dataStrip:s,className:r,onCopyAddress:n}){let{token:i}=ks(e,t);return jsx(xs,{token:i,actions:o,dataStrip:s===void 0?jsx($s,{chain:e,address:t}):s,className:r,onCopyAddress:n})}var wc=[{value:"holdingUsd",label:"Value"},{value:"lastActiveAt",label:"Last active"}];function zs({holders:e,isLoading:t,sortBy:o,onSortByChange:s,onlyTracked:r=false,onOnlyTrackedChange:n,onLoadMore:i,hasMore:a,now:l=Date.now(),wellKnownAddresses:d,className:m,renderAddress:c}){let p=r?e.filter(u=>u.tags&&u.tags.length>0):e;return jsxs("div",{className:cn("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:r,onChange:u=>n?.(u.target.checked)}),"Only Tracked"]})]}),jsx("div",{className:"flex items-center gap-1",children:wc.map(u=>jsx("button",{type:"button",onClick:()=>s(u.value),className:cn("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(Lc,{holder:u,now:l,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"})})]})]})}),a&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:i,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function Lc({holder:e,now:t,wellKnownAddresses:o,renderAddress:s}){let r=o?.[e.address],n=useMemo(()=>s?s(e.address):r?jsx("span",{className:"rounded bg-default-100 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-default-600",children:r}):jsx("span",{className:"font-mono text-[11px] text-default-500",children:ce(e.address,6,6)}),[e.address,s,r]);return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:n}),jsx("td",{className:"px-3 py-2 align-middle",children:jsx(Ct,{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 Gs({chain:e,address:t,limit:o=50,initialSortBy:s="holdingUsd"}){let[r,n]=useState(s),[i,a]=useState(void 0),[l,d]=useState([]),m=useCallback(()=>{a(void 0),d([]);},[]),c=useCallback(y=>{y!==r&&(n(y),m());},[r,m]);useEffect(()=>{m();},[e,t,m]);let p=useMemo(()=>({chain:e,address:t,cursor:i,limit:o,sortBy:r}),[e,t,i,o,r]),{data:u,isPending:g,isFetching:k}=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 f=useMemo(()=>l.flatMap(y=>y.data),[l]),x=l[l.length-1],h=!!(x?.hasNext&&x.endCursor),b=useCallback(()=>{!x?.endCursor||!x.hasNext||a(x.endCursor);},[x]);return {holders:f,isLoading:g||k,sortBy:r,setSortBy:c,hasMore:h,loadMore:b}}function YT({chain:e,address:t,limit:o,initialSortBy:s,initialOnlyTracked:r=false,wellKnownAddresses:n,className:i,renderAddress:a}){let[l,d]=useState(r),{holders:m,isLoading:c,sortBy:p,setSortBy:u,hasMore:g,loadMore:k}=Gs({chain:e,address:t,limit:o,initialSortBy:s});return jsx(zs,{holders:m,isLoading:c,sortBy:p,onSortByChange:u,onlyTracked:l,onOnlyTrackedChange:d,wellKnownAddresses:n,hasMore:g,onLoadMore:k,className:i,renderAddress:a})}var Fc=[{value:"timestamp",label:"Latest"},{value:"totalUsd",label:"Top USD"}],Uc=[{value:"all",label:"All"},{value:"buy",label:"Buys"},{value:"sell",label:"Sells"}],Oc=[{value:"all",label:"All"},{value:"dev",label:"DEV"},{value:"tracked",label:"TRACKED"},{value:"you",label:"YOU"}];function Xs({activities:e,isLoading:t,sortBy:o,onSortByChange:s,typeFilter:r="all",onTypeFilterChange:n,traderFilter:i="all",onTraderFilterChange:a,youWalletAddress:l,currency:d="usd",onCurrencyChange:m,onLoadMore:c,hasMore:p,now:u=Date.now(),nativeDecimals:g=9,nativeSymbol:k="SOL",className:f,onRowClick:x}){let h=Wc(e,i,l);return jsxs("div",{className:cn("flex flex-col",f),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:[Uc.map(b=>jsx("button",{type:"button",onClick:()=>n?.(b.value),className:cn("rounded px-2 py-1 text-[11px] transition-colors",r===b.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:b.label},b.value)),jsx("span",{className:"mx-1 h-3 w-px bg-default-200","aria-hidden":true}),Oc.map(b=>{let y=i===b.value,K=b.value==="you"&&!l;return jsx("button",{type:"button",disabled:K,onClick:()=>a?.(b.value),className:cn("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:b.label},b.value)})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx(Bc,{value:d,nativeSymbol:k,onChange:m}),jsx("div",{className:"flex items-center gap-1",children:Fc.map(b=>jsx("button",{type:"button",onClick:()=>s(b.value),className:cn("rounded px-2 py-1 text-[11px] transition-colors",o===b.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:b.label},b.value))})]})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[780px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:"Side"}),jsx("th",{className:"w-[25%] px-3 py-2 text-left font-normal",children:"Trader"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Amount"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"USD"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Price"}),jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"Gas"}),jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"Age"})]})}),jsxs("tbody",{children:[h.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-8 text-center text-default-400",children:"No activities"})}),h.map(b=>jsx(Vc,{activity:b,now:u,nativeDecimals:g,nativeSymbol:k,currency:d,onRowClick:x},b.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 Dc(e){return e.type==="buy"?e.to:e.type==="sell"?e.from:e.to}function Wc(e,t,o){if(t==="all")return e;if(t==="you"){if(!o)return [];let r=o.toLowerCase();return e.filter(n=>n.walletAddress?.toLowerCase()===r)}if(t==="dev")return e.filter(r=>r.traderTags?.some(n=>n==="dev"));let s=new Set(["kol","smart","bluechip"]);return e.filter(r=>r.traderTags?.some(n=>s.has(n)))}function Bc({value:e,nativeSymbol:t,onChange:o}){return jsx("div",{className:"flex h-[22px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(r=>jsx("button",{type:"button",onClick:()=>o?.(r.k),className:cn("rounded px-2 transition-colors",e===r.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:r.label},r.k))})}function Ec(e,t,o){if(!e)return "--";let s=Number(e)/Math.pow(10,t);return Number.isFinite(s)?`${formatAmount(s)} ${o}`:"--"}function Vc({activity:e,now:t,nativeDecimals:o,nativeSymbol:s,currency:r,onRowClick:n}){let i=Dc(e),a=e.type==="buy"?"Buy":e.type==="sell"?"Sell":e.type.replace(/_/g," "),l=e.type==="buy"?"text-bullish":e.type==="sell"?"text-bearish":"text-default-500";return jsxs("tr",{className:cn("border-b border-default-50 hover:bg-default-50/60",n&&"cursor-pointer"),onClick:n?()=>n(e):void 0,children:[jsx("td",{className:cn("px-3 py-2 align-middle font-medium capitalize",l),children:a}),jsx("td",{className:"px-3 py-2 align-middle",children:jsxs("div",{className:"flex flex-col gap-0.5",children:[jsx("span",{className:"font-mono text-[11px] text-default-500",children:ce(e.walletAddress,6,6)}),jsx(fr,{tags:e.traderTags,max:2})]})}),jsxs("td",{className:"px-3 py-2 text-right align-middle",children:[formatAmount(i.amount)," ",i.symbol]}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r==="native"&&i.amountInNative?`${formatAmount(i.amountInNative)} ${i.symbol}`:i.amountInUsd?formatAmountUSDCompact(i.amountInUsd):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:i.priceInUsd?`$${formatPrice(i.priceInUsd)}`:"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:Ec(e.gasFee,o,s)}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:be(e.time,t)})]})}function Zs({chain:e,address:t,limit:o=50,initialSortBy:s="timestamp",initialTypeFilter:r="all"}){let[n,i]=useState(s),[a,l]=useState(r),[d,m]=useState(void 0),[c,p]=useState([]),[u,g]=useState([]),k=useCallback(()=>{m(void 0),p([]),g([]);},[]),f=useCallback(F=>{F!==n&&(i(F),k());},[n,k]),x=useCallback(F=>{F!==a&&(l(F),k());},[a,k]);useEffect(()=>{k();},[e,t,k]);let h=a==="all"?void 0:a,b=useMemo(()=>({chain:e,address:t,cursor:d,limit:o,sortBy:n,type:h}),[e,t,d,o,n,h]),{data:y,isPending:K,isFetching:J}=useTokenActivitiesQuery(b);useEffect(()=>{y&&p(F=>d==null?[y]:F[F.length-1]?.endCursor===y.endCursor?F:[...F,y]);},[y,d]);let ne=n==="timestamp"&&a==="all"&&d==null;useTokenActivitiesSubscription({chain:e,address:t},F=>{!ne||!F?.length||g(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:n,setSortBy:f,typeFilter:a,setTypeFilter:x,hasMore:We,loadMore:Be}}function xv({chain:e,address:t,limit:o,initialSortBy:s,initialTypeFilter:r,initialTraderFilter:n="all",initialCurrency:i="usd",youWalletAddress:a,nativeDecimals:l,nativeSymbol:d,className:m,onRowClick:c}){let[p,u]=useState(n),[g,k]=useState(i),{activities:f,isLoading:x,sortBy:h,setSortBy:b,typeFilter:y,setTypeFilter:K,hasMore:J,loadMore:ne}=Zs({chain:e,address:t,limit:o,initialSortBy:s,initialTypeFilter:r});return jsx(Xs,{activities:f,isLoading:x,sortBy:h,onSortByChange:b,typeFilter:y,onTypeFilterChange:K,traderFilter:p,onTraderFilterChange:u,youWalletAddress:a,currency:g,onCurrencyChange:k,hasMore:J,onLoadMore:ne,className:m,nativeDecimals:l,nativeSymbol:d,onRowClick:c})}function en({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.traders??0,n=s?.buyers??0,i=s?.sellers??0;return jsx(qe,{className:o,label:`Traders (${t})`,totalFormatted:formatAmount(r),buysFormatted:formatAmount(n),sellsFormatted:formatAmount(i),totalValue:r,buysValue:n})}function tn(e,t){return R(e,t)}function Hv({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=tn(e,t);return jsx(en,{stats:r?.stats,resolution:o,className:s})}function on({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.trades??0,n=s?.buys??0,i=s?.sells??0;return jsx(qe,{className:o,label:`Transactions (${t})`,totalFormatted:formatAmount(r),buysFormatted:formatAmount(n),sellsFormatted:formatAmount(i),totalValue:r,buysValue:n})}function rn(e,t){return R(e,t)}function qv({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=rn(e,t);return jsx(on,{stats:r?.stats,resolution:o,className:s})}function sn({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.volumesInUsd??"0",n=s?.buyVolumesInUsd??"0",i=s?.sellVolumesInUsd??"0";return jsx(qe,{className:o,label:`Volume (${t})`,totalFormatted:formatAmountUSDCompact(r),buysFormatted:formatAmountUSDCompact(n),sellsFormatted:formatAmountUSDCompact(i),totalValue:r,buysValue:n})}function nn(e,t){return R(e,t)}function a0({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=nn(e,t);return jsx(sn,{stats:r?.stats,resolution:o,className:s})}function an({security:e,externalUrl:t,externalLabel:o,className:s}){let r=[{title:"Transfer fee",value:e?.hasTransferFee,safeWhen:false,description:"Whether the token charges a fee on transfer."},{title:"Fee not upgradable",value:e?.isTransferFeeUpgradable,safeWhen:false,description:"Whether the transfer fee can be raised by the token owner."},{title:"Transferable",value:e?.isTransferable,safeWhen:true,description:"Whether token holders can freely transfer the token."},{title:"Not freezable",value:e?.isFreezable,safeWhen:false,description:"Whether the token authority can freeze holder balances."},{title:"Not closable",value:e?.isClosable,safeWhen:false,description:"Whether the token program can be closed by its owner."}],n=r.every(i=>i.value!==void 0&&i.value===i.safeWhen);return jsxs("section",{className:cn("flex w-full flex-col gap-3",s),children:[jsxs("div",{className:"flex items-baseline justify-between",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:"Security"}),jsx("span",{className:cn("text-xs",e===void 0?"text-default-400":n?"text-success-500":"text-danger-500"),children:e===void 0?"--":n?"Safe":"Review"})]}),jsx("div",{className:"flex flex-col",children:r.map(i=>jsx(Yc,{...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 Yc({title:e,value:t,safeWhen:o,description:s}){let r=t!==void 0&&t===o,n=t===void 0?"--":r?"OK":"Risk";return jsxs("div",{className:"flex h-8 items-center justify-between gap-2",children:[jsx("span",{className:"text-xs text-default-500",title:s,children:e}),jsx("span",{className:cn("text-xs",t===void 0?"text-default-400":r?"text-success-500":"text-danger-500"),children:n})]})}function ln(e,t){let{data:o,isLoading:s}=useTokenSecurityQuery({chain:e,address:t});return {security:o,isLoading:s}}function T0({chain:e,address:t,externalUrl:o,externalLabel:s,className:r}){let{security:n}=ln(e,t);return jsx(an,{security:n,externalUrl:o,externalLabel:s,className:r})}function mn({token:e,className:t}){return e?jsxs("section",{className:cn("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 pn(e,t){return R(e,t)}function U0({chain:e,address:t,className:o}){let{token:s}=pn(e,t);return jsx(mn,{token:s,className:o})}function gn({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:s,onPoolClick:r}){let[n,i]=useState(!e||e.length<=o),a=useCallback(()=>i(l=>!l),[]);return jsxs("section",{className:cn("flex w-full flex-col gap-3",s),children:[jsxs("div",{className:"flex items-baseline justify-between",children:[jsx("span",{className:"text-sm font-medium text-foreground",children:"Liquidity"}),t&&jsx("span",{className:"text-xs text-foreground",children:formatAmountUSDCompact(t)})]}),(!e||e.length===0)&&jsx("div",{className:"py-4 text-center text-xs text-default-400",children:"No pools"}),e&&e.length>0&&jsxs("div",{className:"flex flex-col gap-2",children:[e.map((l,d)=>jsxs("div",{className:cn("flex h-10 w-full items-center justify-between overflow-hidden text-xs",d>=o&&!n&&"hidden",r&&"cursor-pointer hover:bg-default-50"),onClick:r?()=>r(l):void 0,children:[jsxs("div",{className:"flex flex-col gap-0.5",children:[jsx("span",{className:"text-foreground",children:l.protocolFamily??l.protocolName??"Unknown"}),l.poolAddress&&jsxs("span",{className:"font-mono text-[10px] text-default-400",children:["Pool: ",ce(l.poolAddress,6,6)]})]}),jsx("div",{className:"text-default-500",children:formatAmountUSDCompact(l.tvlInUsd??0)})]},l.poolAddress??`${l.protocolFamily}-${d}`)),e.length>o&&jsx("div",{className:"flex justify-center pt-1",children:jsx("button",{type:"button",onClick:a,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:n?"Show less":"Show more"})})]})]})}function xn(e,t){return R(e,t)}function Z0({chain:e,address:t,collapseAt:o,className:s,onPoolClick:r}){let{token:n}=xn(e,t);return jsx(gn,{liquidities:n?.liquidities,totalTvlInUsd:n?.marketData?.tvlInUsd,collapseAt:o,className:s,onPoolClick:r})}function kn({cexes:e,collapseAt:t=4,className:o}){let[s,r]=useState(!e||e.length<=t),n=useCallback(()=>r(i=>!i),[]);return !e||e.length===0?null:jsxs("section",{className:cn("w-full",o),children:[jsx("div",{className:"text-sm font-medium text-foreground",children:"CEX listings"}),jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((i,a)=>{let l=a>=t&&!s,d=jsx(Chip,{startContent:i.logo?jsx(Image,{src:i.logo,width:20,height:20,alt:i.name}):void 0,className:cn("bg-default-100 text-xs",l&&"hidden"),children:i.name},i.id);return i.url?jsx("a",{href:i.url,target:"_blank",rel:"noreferrer noopener",className:cn(l&&"hidden"),children:d},i.id):d})}),e.length>t&&jsx("div",{className:"mt-3 flex justify-center",children:jsx("button",{type:"button",onClick:n,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:s?"Show less":"Show more"})})]})}function hn(e){return {cexes:e}}function pN({cexes:e,collapseAt:t,className:o}){let{cexes:s}=hn(e);return jsx(kn,{cexes:s,collapseAt:t,className:o})}function yn({categories:e,collapseAt:t=4,className:o,onCategoryClick:s}){let[r,n]=useState(!e||e.length<=t),i=useCallback(()=>n(a=>!a),[]);return !e||e.length===0?null:jsxs("section",{className:cn("w-full",o),children:[jsx("div",{className:"text-sm font-medium text-foreground",children:"Categories"}),jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((a,l)=>{let d=l>=t&&!r;return jsx(Chip,{size:"sm",className:cn("bg-default-100",d&&"hidden",s&&"cursor-pointer"),onClick:s?()=>s(a):void 0,children:a},a)})}),e.length>t&&jsx("div",{className:"mt-3 flex justify-center",children:jsx("button",{type:"button",onClick:i,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:r?"Show less":"Show more"})})]})}function Tn(e,t){return R(e,t)}function LN({chain:e,address:t,collapseAt:o,className:s,onCategoryClick:r}){let{token:n}=Tn(e,t);return jsx(yn,{categories:n?.tags,collapseAt:o,className:s,onCategoryClick:r})}var vn=["5m","1h","4h","24h"];function Nn({stats:e,resolution:t,className:o}){let s=e?.[t],r=new SafeBigNumber(s?.buyVolumesInUsd??0),n=new SafeBigNumber(s?.sellVolumesInUsd??0),i=r.plus(n),a=r.minus(n),l=i.eq(0)?50:Math.min(100,Math.max(0,r.div(i).times(100).toNumber())),d=[{label:`${t} Vol`,value:formatAmountUSDCompact(i.toString()),className:"text-foreground"},{label:"Buys",value:formatAmountUSDCompact(r.toString()),className:"text-bullish"},{label:"Sells",value:formatAmountUSDCompact(n.toString()),className:"text-bearish"},{label:"Net Vol.",value:formatAmountUSDCompact(a.abs().toString()),className:a.gte(0)?"text-bullish":"text-bearish"}];return jsxs("div",{className:cn("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("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:`${l}%`}})})]})}function Sn({stats:e,resolutions:t,className:o}){return jsx("div",{className:cn("grid h-full w-full grid-cols-4 items-center",o),children:t.map(s=>{let n=e?.[s]?.priceChange,i=n?new SafeBigNumber(n):void 0,a=i?i.gte(0):void 0,l=s,d=i?formatPercent(i,{showPlusGtThanZero:true}):"\u2014";return jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] px-2",children:[jsx("span",{className:"text-[10px] leading-none text-default-400",children:l}),jsx("span",{className:cn("text-[13px] font-medium leading-none tabular-nums",a===void 0?"text-foreground":a?"text-bullish":"text-bearish"),children:d})]},s)})})}function Cn({chain:e,address:t}){let{data:o,isLoading:s}=useTokenStatsQuery({chain:e,address:t});return {stats:o,isLoading:s}}function _N({chain:e,address:t,baseResolution:o="5m",hoverResolutions:s=vn,height:r=64,className:n}){let{stats:i}=Cn({chain:e,address:t});return jsx(StatsFlipPanel,{className:n,height:r,base:jsx(Nn,{stats:i,resolution:o}),hover:jsx(Sn,{stats:i,resolutions:s})})}function wn({positions:e,isLoading:t,hasMore:o,onLoadMore:s,currency:r="usd",onCurrencyChange:n,showHidden:i=false,onShowHiddenChange:a,nativeSymbol:l="Native",renderActions:d,className:m}){return jsxs("div",{className:cn("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=>a?.(c.target.checked)}),"Show Hidden"]})]}),jsx(Nm,{value:r,nativeSymbol:l,onChange:n})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[720px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[26%] px-3 py-2 text-left font-normal",children:"Token"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Bought"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Sold"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Remaining"}),jsx("th",{className:"w-[18%] px-3 py-2 text-right font-normal",children:"PnL"}),jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"Actions"})]})}),jsxs("tbody",{children:[e.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No open positions"})}),e.map(c=>jsx(Sm,{position:c,currency:r,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:s,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function Nm({value:e,nativeSymbol:t,onChange:o}){return jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(r=>jsx("button",{type:"button",onClick:()=>o?.(r.k),className:cn("rounded px-2 transition-colors",e===r.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:r.label},r.k))})}function Sm({position:e,currency:t,renderActions:o}){let{bought:s,sold:r,remaining:n,pnl:i}=useMemo(()=>Cm(e,t),[e,t]),a=jsxs("div",{className:"flex items-center gap-2",children:[jsx(Avatar,{src:e.image??void 0,name:(e.symbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxs("div",{className:"flex min-w-0 flex-col",children:[jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:e.name})]})]});return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:a}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n}),jsx("td",{className:cn("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 Cm(e,t){let o=t==="usd"?e.buyVolumesInUsd:e.buyVolumes,s=t==="usd"?e.sellVolumesInUsd:e.sellVolumes,r=t==="usd"?e.amountInUsd:e.amount,n=e.totalProfitInUsd,i=t==="usd"?formatAmountUSDCompact(o??0):formatAmount(o??0),a=t==="usd"?formatAmountUSDCompact(s??0):formatAmount(s??0),l=t==="usd"?formatAmountUSDCompact(r??0):formatAmount(r??0),d=n?new SafeBigNumber(n):void 0,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:a,remaining:l,pnl:{amount:c,ratio:p,isPositive:m}}}function Rn({chain:e,wallet:t,limit:o=50,initialShowHidden:s=false}){let[r,n]=useState(void 0),[i,a]=useState([]),[l,d]=useState(s);useEffect(()=>{n(void 0),a([]);},[e,t]);let m=useMemo(()=>({chain:e,address:t??"",cursor:r,limit:o,positionState:"open"}),[e,t,r,o]),{data:c,isPending:p,isFetching:u}=useWalletTokenPositionsQuery(m,{enabled:!!t});useEffect(()=>{c&&a(h=>r==null?[c]:h[h.length-1]?.endCursor===c.endCursor?h:[...h,c]);},[c,r]);let g=useMemo(()=>i.flatMap(h=>h.portfolios),[i]),k=i[i.length-1],f=!!(k?.hasNext&&k.endCursor),x=useCallback(()=>{!k?.endCursor||!k.hasNext||n(k.endCursor);},[k]);return {positions:g,isLoading:!!t&&(p||u),hasMore:f,loadMore:x,showHidden:l,setShowHidden:d}}function aS({chain:e,wallet:t,limit:o,initialCurrency:s="usd",nativeSymbol:r,renderActions:n,className:i}){let[a,l]=useState(s),{positions:d,isLoading:m,hasMore:c,loadMore:p,showHidden:u,setShowHidden:g}=Rn({chain:e,wallet:t,limit:o});return jsx(wn,{className:i,positions:d,isLoading:m,hasMore:c,onLoadMore:p,currency:a,onCurrencyChange:l,showHidden:u,onShowHiddenChange:g,nativeSymbol:r,renderActions:n})}function An({orders:e,isLoading:t,unavailable:o,hasMore:s,onLoadMore:r,stateFilter:n,onStateFilterChange:i,onlyThisToken:a=false,onOnlyThisTokenChange:l,tokenSymbol:d,currency:m="usd",onCurrencyChange:c,nativeSymbol:p="Native",onCancelAll:u,renderActions:g,className:k}){return jsxs("div",{className:cn("flex flex-col",k),children:[jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2",children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"active",label:"Active Orders"},{k:"history",label:"Order History"}].map(f=>jsx("button",{type:"button",onClick:()=>i(f.k),className:cn("rounded px-2 transition-colors",n===f.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:f.label},f.k))}),d?jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:a,onChange:f=>l?.(f.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(Im,{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 ",n==="active"?"active":"historical"," orders"]})}):e.map(f=>jsx(Fm,{order:f,currency:m,renderActions:g},f.id)),t&&!o&&jsx("tr",{children:jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&s&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:r,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function Im({value:e,nativeSymbol:t,onChange:o}){return jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(r=>jsx("button",{type:"button",onClick:()=>o?.(r.k),className:cn("rounded px-2 transition-colors",e===r.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:r.label},r.k))})}function Fm({order:e,currency:t,renderActions:o}){let s=useMemo(()=>t==="usd"&&e.amountInUsd?formatAmountUSDCompact(e.amountInUsd):formatAmount(e.amount),[t,e.amount,e.amountInUsd]),r=e.side==="buy"?"Buy":"Sell",n=e.side==="buy"?"text-bullish":"text-bearish";return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:jsxs("div",{className:"flex items-center gap-2",children:[jsx(Avatar,{src:e.tokenImage??void 0,name:(e.tokenSymbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsx("span",{className:"truncate text-foreground",children:e.tokenSymbol??"--"})]})}),jsx("td",{className:cn("px-3 py-2 align-middle font-medium",n),children:r}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:e.currentMarketCapInUsd?formatAmountUSDCompact(e.currentMarketCapInUsd):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:e.targetMarketCapInUsd?formatAmountUSDCompact(e.targetMarketCapInUsd):e.targetPriceInUsd?formatAmountUSDCompact(e.targetPriceInUsd):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.slippage!=null?`Slip ${e.slippage}%`:"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle",children:o?o(e):jsx("span",{className:"text-default-400",children:"--"})})]})}function Om(e){return e instanceof Error&&e.code==="NotImplemented"}function Dm(e){return e==="active"?"active":"filled"}function Fn({chain:e,wallet:t,tokenAddress:o,limit:s=50,initialStateFilter:r="active",initialOnlyThisToken:n=false}){let[i,a]=useState(r),[l,d]=useState(n),[m,c]=useState(void 0),[p,u]=useState([]);useEffect(()=>{c(void 0),u([]);},[e,t,i,l,o]);let g=useCallback(V=>{V!==i&&a(V);},[i]),k=useMemo(()=>({chain:e,address:t??"",cursor:m,limit:s,state:Dm(i),tokenAddress:l?o:void 0}),[e,t,m,s,i,l,o]),{data:f,isPending:x,isFetching:h,error:b}=useWalletLimitOrdersQuery(k,{enabled:!!t});useEffect(()=>{f&&u(V=>m==null?[f]:V[V.length-1]?.endCursor===f.endCursor?V:[...V,f]);},[f,m]);let y=!!b&&Om(b),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||h),unavailable:y,hasMore:ne,loadMore:De,stateFilter:i,setStateFilter:g,onlyThisToken:l,setOnlyThisToken:d}}function CS({chain:e,wallet:t,tokenAddress:o,tokenSymbol:s,limit:r,initialStateFilter:n="active",initialCurrency:i="usd",nativeSymbol:a,onCancelAll:l,renderActions:d,className:m}){let[c,p]=useState(i),{orders:u,isLoading:g,unavailable:k,hasMore:f,loadMore:x,stateFilter:h,setStateFilter:b,onlyThisToken:y,setOnlyThisToken:K}=Fn({chain:e,wallet:t,tokenAddress:o,limit:r,initialStateFilter:n});return jsx(An,{className:m,orders:u,isLoading:g,unavailable:k,hasMore:f,onLoadMore:x,stateFilter:h,onStateFilterChange:b,onlyThisToken:y,onOnlyThisTokenChange:K,tokenSymbol:s,currency:c,onCurrencyChange:p,nativeSymbol:a,onCancelAll:k?void 0:l,renderActions:d})}function Un({traders:e,isLoading:t,hasMore:o,onLoadMore:s,onlyTracked:r=false,onOnlyTrackedChange:n,now:i=Date.now(),renderAddress:a,className:l}){return jsxs("div",{className:cn("flex flex-col",l),children:[jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsx("span",{className:"text-xs font-medium text-default-500",children:"Top Traders"}),jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:r,onChange:d=>n?.(d.target.checked)}),"Only Tracked"]})]}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[680px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[28%] px-3 py-2 text-left font-normal",children:"Wallet"}),jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:"Tags"}),jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Value"}),jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"%"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Realized PnL"}),jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:"Last active"})]})}),jsxs("tbody",{children:[e.length===0&&!t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No top traders yet"})}),e.map(d=>jsx(_m,{trader:d,now:i,renderAddress:a},d.address)),t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),o&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:s,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function _m({trader:e,now:t,renderAddress:o}){let s=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:s}),jsx("td",{className:"px-3 py-2 align-middle",children:jsx(Ct,{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 Dn({chain:e,address:t,limit:o=50,initialOnlyTracked:s=false}){let[r,n]=useState(void 0),[i,a]=useState([]),[l,d]=useState(s);useEffect(()=>{n(void 0),a([]);},[e,t]);let m=useMemo(()=>({chain:e,address:t,cursor:r,limit:o,sortBy:"realizedPnl"}),[e,t,r,o]),{data:c,isPending:p,isFetching:u}=useTokenTopTradersQuery(m);useEffect(()=>{c&&a(b=>r==null?[c]:b[b.length-1]?.endCursor===c.endCursor?b:[...b,c]);},[c,r]);let g=useMemo(()=>i.flatMap(b=>b.data),[i]),k=useMemo(()=>l?g.filter(b=>b.tags&&b.tags.length>0):g,[g,l]),f=i[i.length-1],x=!!(f?.hasNext&&f.endCursor),h=useCallback(()=>{!f?.endCursor||!f.hasNext||n(f.endCursor);},[f]);return {traders:k,isLoading:p||u,hasMore:x,loadMore:h,onlyTracked:l,setOnlyTracked:d}}function KS({chain:e,address:t,limit:o,className:s,renderAddress:r}){let{traders:n,isLoading:i,hasMore:a,loadMore:l,onlyTracked:d,setOnlyTracked:m}=Dn({chain:e,address:t,limit:o});return jsx(Un,{className:s,traders:n,isLoading:i,hasMore:a,onLoadMore:l,onlyTracked:d,onOnlyTrackedChange:m,renderAddress:r})}function Bn({tokens:e,isLoading:t,unavailable:o,hasMore:s,onLoadMore:r,renderTokenLink:n,className:i}){return jsxs("div",{className:cn("flex flex-col",i),children:[jsx("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:jsx("span",{className:"text-xs font-medium text-default-500",children:"Dev Tokens"})}),jsx("div",{className:"overflow-x-auto",children:jsxs("table",{className:"w-full min-w-[700px] table-fixed text-[12px]",children:[jsx("thead",{className:"text-default-400",children:jsxs("tr",{className:"border-b border-default-100",children:[jsx("th",{className:"w-[28%] px-3 py-2 text-left font-normal",children:"Token"}),jsx("th",{className:"w-[10%] px-3 py-2 text-center font-normal",children:"Migrated"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Market Cap"}),jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"ATH"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Liquidity"}),jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"1h Volume"})]})}),jsxs("tbody",{children:[o?jsx("tr",{children:jsx("td",{colSpan:6,className:"py-10 text-center text-default-400",children:"Dev tokens index is coming soon."})}):e.length===0&&!t?jsx("tr",{children:jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No dev tokens"})}):e.map(a=>jsx(Gm,{token:a,renderTokenLink:n},`${a.chain}:${a.address}`)),!o&&t&&jsx("tr",{children:jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&s&&jsx("div",{className:"flex justify-center px-3 py-2",children:jsx("button",{type:"button",onClick:r,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function Gm({token:e,renderTokenLink:t}){let o=e.marketData?.marketCapInUsd??e.marketData?.marketCap,s=e.marketData?.tvlInUsd,n=e.stats?.["1h"]?.volumesInUsd,i=!!e.migratedTo,a=t?t(e):jsxs("div",{className:"flex items-center gap-2",children:[jsx(Avatar,{src:e.image??void 0,name:(e.symbol??e.name??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxs("div",{className:"flex min-w-0 flex-col",children:[jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:e.name})]})]});return jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsx("td",{className:"px-3 py-2 align-middle",children:a}),jsx("td",{className:"px-3 py-2 text-center align-middle",children:i?jsx("span",{className:"text-bullish",children:"\u2713"}):jsx("span",{className:"text-default-400",children:"\u2014"})}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:o?formatAmountUSDCompact(o):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s?formatAmountUSDCompact(s):"--"}),jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n?formatAmountUSDCompact(n):"--"})]})}function En({tokens:e,className:t}){let o=e.length,s=e.filter(a=>!!a.migratedTo).length,r=o===0?0:Math.round(s/o*100),n=e.map(a=>a.stats?.["1h"]?.volumesInUsd??"0").reduce((a,l)=>a.plus(new SafeBigNumber(l)),new SafeBigNumber(0)),i=e.map(a=>a.marketData?.marketCapInUsd??a.marketData?.marketCap??"0").reduce((a,l)=>a.plus(new SafeBigNumber(l)),new SafeBigNumber(0));return jsxs("div",{className:cn("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(Gt,{label:"Total",value:String(o)}),jsx(Gt,{label:"Migrated",value:`${s} (${r}%)`}),jsx(Gt,{label:"Total Market Cap",value:formatAmountUSDCompact(i.toString())}),jsx(Gt,{label:"Total 1h Volume",value:formatAmountUSDCompact(n.toString())})]})]})}function Gt({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 Ym(e){return e instanceof Error&&e.code==="NotImplemented"}function Kn({chain:e,creator:t,limit:o=20}){let[s,r]=useState(void 0),[n,i]=useState([]);useEffect(()=>{r(void 0),i([]);},[e,t]);let a=useMemo(()=>({chain:e,creator:t??"",cursor:s,limit:o}),[e,t,s,o]),{data:l,isPending:d,isFetching:m,error:c}=useTokensByCreatorQuery(a,{enabled:!!t});useEffect(()=>{l&&i(x=>s==null?[l]:x[x.length-1]?.endCursor===l.endCursor?x:[...x,l]);},[l,s]);let p=!!c&&Ym(c),u=useMemo(()=>n.flatMap(x=>x.data),[n]),g=n[n.length-1],k=!!(g?.hasNext&&g.endCursor),f=useCallback(()=>{!g?.endCursor||!g.hasNext||r(g.endCursor);},[g]);return {tokens:u,isLoading:!!t&&!p&&(d||m),unavailable:p,hasMore:k,loadMore:f}}function iC({chain:e,creator:t,limit:o,showSummary:s=false,renderTokenLink:r,className:n}){let{tokens:i,isLoading:a,unavailable:l,hasMore:d,loadMore:m}=Kn({chain:e,creator:t,limit:o});return jsxs("div",{className:n,children:[jsx(Bn,{tokens:i,isLoading:a,unavailable:l,hasMore:d,onLoadMore:m,renderTokenLink:r}),s&&!l?jsx(En,{tokens:i}):null]})}function Qn({token:e,athInUsd:t,athAt:o,globalFeesPaidInUsd:s,rank:r,onTogglePin:n,pinned:i,className:a}){let l=e?.marketData?.priceInUsd,d=e?.marketData?.tvlInUsd,m=e?.marketData?.totalSupply;return jsxs("div",{className:cn("flex h-[48px] w-full flex-row items-center gap-4 overflow-x-auto px-3 text-[12px]",a),children:[jsx(et,{label:"Price",value:l?formatPriceUSD(l):"--"}),jsx(et,{label:"Liquidity",value:d?formatAmountUSDCompact(d):"--"}),jsx(et,{label:"Supply",value:m?formatAmount(m):"--"}),s?jsx(et,{label:"Fees Paid",value:formatAmountUSDCompact(s)}):null,t?jsx(et,{label:"ATH",value:formatAmountUSDCompact(t),title:o?`All-time high at ${o.toLocaleDateString()}`:void 0}):null,r!==void 0?jsx(et,{label:"Rank",value:`#${r}`}):null,jsx("div",{className:"flex-1"}),n?jsx("button",{type:"button",onClick:n,"aria-pressed":i,className:cn("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 et({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 Xn({chain:e,address:t}){return R(e,t)}function TC({chain:e,address:t,athInUsd:o,athAt:s,globalFeesPaidInUsd:r,rank:n,pinned:i,onTogglePin:a,className:l}){let{token:d}=Xn({chain:e,address:t});return jsx(Qn,{className:l,token:d,athInUsd:o,athAt:s,globalFeesPaidInUsd:r,rank:n,pinned:i,onTogglePin:a})}function Jn({tokens:e,isLoading:t,unavailable:o,onTokenClick:s,className:r}){return o?jsx("div",{className:cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"Similar tokens coming soon."}):!t&&e.length===0?jsx("div",{className:cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"No similar tokens found."}):jsxs("ul",{className:cn("flex flex-col",r),children:[e.map(n=>jsxs("li",{className:cn("flex cursor-pointer items-center gap-2 border-b border-default-50 px-3 py-2 last:border-0 hover:bg-default-50/60",!s&&"cursor-default"),onClick:s?()=>s(n):void 0,children:[jsx(Avatar,{src:n.image??void 0,name:(n.symbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[jsx("span",{className:"truncate text-[12px] text-foreground",children:n.symbol}),jsx("span",{className:"truncate text-[10px] text-default-400",children:n.name})]}),jsx("span",{className:"text-[11px] tabular-nums text-default-500",children:n.marketData?.marketCapInUsd?formatAmountUSDCompact(n.marketData.marketCapInUsd):"--"})]},`${n.chain}:${n.address}`)),t&&jsx("li",{className:"py-2 text-center text-[11px] text-default-400",children:"Loading\u2026"})]})}function Yn({chain:e,address:t,keyword:o,limit:s=10}){let r=!!o&&o.length>0,{data:n,isPending:i,isFetching:a}=useSearchTokensQuery({chains:[e],keyword:o,limit:s+1},{enabled:r});return {tokens:useMemo(()=>{if(!n)return [];let d=t.toLowerCase();return (n.data??[]).filter(m=>m.address.toLowerCase()!==d).slice(0,s)},[n,t,s]),isLoading:r&&(i||a),unavailable:!r}}function DC({chain:e,address:t,keyword:o,limit:s,onTokenClick:r,className:n}){let{tokens:i,isLoading:a,unavailable:l}=Yn({chain:e,address:t,keyword:o,limit:s});return jsx(Jn,{className:n,tokens:i,isLoading:a,unavailable:l,onTokenClick:r})}function Zn({tokens:e=[],unavailable:t=true,onTokenClick:o,className:s}){return t?jsx("div",{className:cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",s),children:"Image-similarity search is coming soon."}):e.length===0?jsx("div",{className:cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",s),children:"No reused-image tokens found."}):jsx("div",{className:cn("flex flex-row flex-wrap gap-2 p-3",s),children:e.map(r=>jsx("button",{type:"button",onClick:o?()=>o(r):void 0,className:"flex size-10 items-center justify-center overflow-hidden rounded-full border border-default-100 transition-opacity hover:opacity-80",title:r.symbol,children:jsx(Avatar,{src:r.image??void 0,name:(r.symbol??"?").slice(0,1),className:"size-full bg-default-100 text-[10px] text-default-400",showFallback:true})},`${r.chain}:${r.address}`))})}function jn(e){return {tokens:[],isLoading:false,unavailable:true}}function JC({chain:e,address:t,onTokenClick:o,className:s}){let{tokens:r,unavailable:n}=jn();return jsx(Zn,{className:s,tokens:r,unavailable:n,onTokenClick:o})}function si({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:r}){let{t:n}=useTranslation(),[i,a]=useState(e?.join(", ")??""),[l,d]=useState(t?.join(", ")??"");useEffect(()=>{a(p=>{let u=Jt(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=Jt(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=>{a(p),o?.(Jt(p));},[o]),c=useCallback(p=>{d(p),s?.(Jt(p));},[s]);return jsxs("div",{className:cn("grid grid-cols-2 gap-3 px-4",r),children:[jsxs("div",{className:"flex flex-col gap-3",children:[jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.keywords.title")}),jsx(StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.keywords.placeholder"),value:i,onValueChange:m})]}),jsxs("div",{className:"flex flex-col gap-3",children:[jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.keywords.exclude.title")}),jsx(StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.keywords.placeholder"),value:l,onValueChange:c})]})]})}function Jt(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function ci({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:r}=useTranslation(),[n,i]=useState(t);useEffect(()=>{i(t);},[t]);let a=useMemo(()=>e.every(m=>n.includes(m)),[e,n]),l=useCallback(()=>{if(a){let m=[];i(m),o?.(m);}else {let m=[...e];i(m),o?.(m);}},[e,o,a]),d=useCallback(m=>()=>{if(n.includes(m)){let c=n.filter(p=>p!==m);i(c),o?.(c);}else {let c=[...n,m];i(c),o?.(c);}},[n,o]);return jsxs("div",{className:cn("flex flex-col gap-3 px-4",s),children:[jsxs("div",{className:"flex justify-between items-center",children:[jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.protocols.title")}),jsx(Button,{variant:"light",color:"default",size:"sm",radius:"full",onPress:l,children:r(a?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(m=>{let c=Ce(m);return jsx(Button,{variant:"bordered",size:"sm",radius:"full",className:cn("w-fit h-6 px-2.5",c.text,c.bg5,"border",c.border,{"opacity-40 data-[hover=true]:!opacity-30":!n.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:s}){let{t:r}=useTranslation(),[n,i]=useState(o?zo(o).min:NaN),[a,l]=useState(o?zo(o).max:NaN);useEffect(()=>{if(o===void 0)i(NaN),l(NaN);else {let{min:c,max:p}=zo(o);i(c),l(p);}},[o]);let d=useCallback(c=>{i(c),s?.(fi(t,c,a));},[t,s,a]),m=useCallback(c=>{l(c),s?.(fi(t,n,c));},[t,s,n]);return jsxs("div",{className:"flex flex-col gap-1",children:[e&&jsx("h3",{className:"text-xs text-neutral",children:e}),jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsx(StyledNumberInput,{value:n,onValueChange:d,variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsx(StyledNumberInput,{value:a,onValueChange:m,variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function zo(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 fi(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 xi({values:e,onValuesChange:t,className:o}){let{t:s}=useTranslation(),[r,n]=useState(e);useEffect(()=>{n(e);},[e]);let i=useCallback(a=>l=>{if(l===void 0){let d=(r??[]).filter(m=>m.field!==a);d=d.length>0?d:void 0,n(d),t?.(d);}else {let d=[...(r??[]).filter(m=>m.field!==a),l];n(d),t?.(d);}},[r,t]);return jsxs("div",{className:cn("flex flex-col gap-4",o),children:[jsx(fe,{field:"holders",title:s("tokens.filters.stats.audits.holders"),value:r?.find(a=>a.field==="holders"),onChange:i("holders")}),jsx(fe,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:r?.find(a=>a.field==="top10Ratio"),onChange:i("top10Ratio")}),jsx(fe,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:r?.find(a=>a.field==="top100Ratio"),onChange:i("top100Ratio")}),jsx(fe,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:r?.find(a=>a.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function ki({resolution:e,values:t,onValuesChange:o,className:s}){let{t:r}=useTranslation(),[n,i]=useState(t);useEffect(()=>{i(t);},[t]);let a=useCallback(l=>d=>{if(d===void 0){let m=(n??[]).filter(c=>c.field!==l);m=m.length>0?m:void 0,i(m),o?.(m);}else {let m=[...(n??[]).filter(c=>c.field!==l),d];i(m),o?.(m);}},[n,o]);return jsxs("div",{className:cn("flex flex-col gap-4",s),children:[jsx(fe,{field:"marketCap",title:r("tokens.filters.stats.metrics.marketCap"),value:n?.find(l=>l.field==="marketCap"),onChange:a("marketCap")}),jsx(fe,{field:"tvl",title:r("tokens.filters.stats.metrics.liquidity"),value:n?.find(l=>l.field==="tvl"),onChange:a("tvl")}),jsx(fe,{field:`volumes${e}`,title:r("tokens.filters.stats.metrics.volumes",{resolution:r(`common.resolution.${e}`)}),value:n?.find(l=>l.field===`volumes${e}`),onChange:a(`volumes${e}`)}),jsx(fe,{field:`trades${e}`,title:r("tokens.filters.stats.metrics.txns",{resolution:r(`common.resolution.${e}`)}),value:n?.find(l=>l.field===`trades${e}`),onChange:a(`trades${e}`)})]})}function Ni({resolution:e,values:t,onValuesChange:o,className:s}){let{t:r}=useTranslation(),[n,i]=useState("audits"),[a,l]=useState(t);useEffect(()=>{l(t);},[t]);let d=useCallback(p=>{l(p),o?.(p);},[o]),m=useMemo(()=>{let p=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(u=>p.includes(u.field))?.length??0},[a]),c=useMemo(()=>{let p=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(u=>p.includes(u.field)).length??0},[a,e]);return jsxs("div",{className:cn("flex flex-col gap-3 px-4",s),children:[jsxs(StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:n,onSelectionChange:i,children:[jsx(Tab,{title:m===0?r("tokens.filters.stats.audits"):jsx(StyledBadge,{color:"primary",size:"sm",content:m,shape:"circle",children:r("tokens.filters.stats.audits")})},"audits"),jsx(Tab,{title:c===0?r("tokens.filters.stats.metrics"):jsx(StyledBadge,{color:"primary",size:"sm",content:c,shape:"circle",children:r("tokens.filters.stats.metrics")})},"metrics")]}),jsx(xi,{values:a,onValuesChange:d,className:cn({hidden:n!=="audits"})}),jsx(ki,{values:a,onValuesChange:d,resolution:e,className:cn({hidden:n!=="metrics"})})]})}function so({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:r}){let[n,i]=useState(Si(o?.filters,e));useEffect(()=>{i(Si(o?.filters,e));},[o?.filters,e]);let[a,l]=useState(o?.keywords);useEffect(()=>{l(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),s?.(ro(e,x,a,d,c));},[e,a,d,c,s]),g=useCallback(x=>{l(x),s?.(ro(e,n,x,d,c));},[e,n,d,c,s]),k=useCallback(x=>{m(x),s?.(ro(e,n,a,x,c));},[e,n,a,c,s]),f=useCallback(x=>{p(x),s?.(ro(e,n,a,d,x));},[e,n,a,d,s]);return jsxs("div",{className:cn("flex flex-col gap-4",r),children:[e&&e.length>0&&jsxs(Fragment,{children:[jsx(ci,{protocols:e,selectedProtocols:n,onSelectedProtocolsChange:u}),jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}})]}),jsx(si,{keywords:a,excludeKeywords:d,onKeywordsChange:g,onExcludeKeywordsChange:k}),jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}}),jsx(Ni,{resolution:t,values:c,onValuesChange:f})]})}function Si(e,t){let o=e?.find(s=>s.field==="launchedFromProtocolFamily");return o?o.operator==="in"?o.value:(console.warn("invalid token protocols filter",o),[...t||[]]):[...t||[]]}function ro(e,t,o,s,r){let n=r?[...r.filter(i=>i.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(a=>t.includes(a))||n.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&s===void 0&&n.length===0?void 0:{keywords:o,excludeKeywords:s,filters:n.length>0?n:void 0}}function Pi({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:r}=useTranslation(),{isOpen:n,onOpen:i,onClose:a,onOpenChange:l}=useDisclosure(),[d,m]=useState(o),c=useCallback(()=>{m(void 0);},[]),p=useCallback(()=>{s?.(d),a();},[d,s,a]);useEffect(()=>{m(o);},[n,o]);let u=useMemo(()=>Object.values(o||{}).every(g=>g===void 0),[o]);return jsxs(Fragment,{children:[jsxs("button",{type:"button",onClick:i,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",width:32,height:32,minHeight:32,cursor:"pointer",position:"relative"},children:[jsx(FilterIcon,{width:16,height:16,className:"text-zinc-400"}),!u&&jsx("span",{style:{position:"absolute",top:-2,right:-2,width:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),jsx(StyledModal,{isOpen:n,onOpenChange:l,size:"md",scrollBehavior:"inside",children:jsxs(ModalContent,{className:"w-full h-full",children:[jsx(ModalHeader,{className:"px-4 py-2",children:jsx("span",{className:"text-base font-semibold",children:r("tokens.filters.modal.title")})}),jsx(ModalBody,{className:"px-0 pt-0 pb-4",children:jsx(ScrollShadow,{children:jsx(so,{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:r("common.reset")}),jsx(Button,{color:"primary",size:"sm",radius:"full",onPress:p,children:r("common.apply")})]})})]})})]})}var ou={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},ru={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"},su={height:1,background:"rgba(39,39,42,1)",margin:0};function Mi({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:r}=useTranslation(),[n,i]=useState(false),a=useRef(null),[l,d]=useState(o),m=useCallback(()=>{d(void 0);},[]),c=useCallback(()=>{s?.(l),i(false);},[l,s]);useEffect(()=>{d(o);},[n,o]),useEffect(()=>{let u=g=>{a.current&&!a.current.contains(g.target)&&i(false);};return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]),useEffect(()=>{if(!n)return;let u=g=>{g.key==="Escape"&&i(false);};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[n]);let p=useMemo(()=>Object.values(o||{}).every(u=>u===void 0),[o]);return jsxs("div",{ref:a,style:{position:"relative"},children:[jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxs("button",{type:"button",style:ou,onMouseEnter:u=>{u.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:u=>{u.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>i(u=>!u),children:[jsx(FilterIcon,{width:16,height:16,className:"flex-none"}),jsx("span",{className:"hidden sm:block",children:r("tokens.listHeader.filter")}),jsx(nu,{open:n})]}),!p&&jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),n&&jsxs("div",{style:{...ru,width:420},children:[jsx("div",{style:{padding:"16px 0"},children:jsx(ScrollShadow,{className:"w-full max-h-120 px-4",children:jsx(so,{protocols:e,resolution:t,filters:l,onFiltersChange:d})})}),jsx("div",{style:su}),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:r("common.reset")}),jsx(Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:c,children:r("common.apply")})]})]})]})}function nu({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(Pi,{...t}):jsx(Mi,{placement:e,...t})}function Ui({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=useTranslation(),r=useCallback(n=>{t?.(n);},[t]);return jsx(StyledPlainTabs,{color:"primary",radius:"lg",selectedKey:e,onSelectionChange:r,"aria-label":"Select Resolution",classNames:{tabList:"gap-0",tab:"px-2",tabContent:"!text-zinc-500 group-data-[hover=true]:!text-foreground group-data-[selected=true]:!text-primary"},children:o.map(n=>jsx(Tab,{title:s(`common.resolution.${n}`)},n))})}var hu={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},bu={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 Di({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=useTranslation(),[r,n]=useState(false),i=useRef(null),a=useCallback(l=>{t?.(l),n(false);},[t]);return useEffect(()=>{if(!r)return;let l=m=>{i.current&&!i.current.contains(m.target)&&n(false);},d=m=>{m.key==="Escape"&&n(false);};return document.addEventListener("mousedown",l),document.addEventListener("keydown",d),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",d);}},[r]),jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxs("button",{type:"button",style:hu,onClick:()=>n(l=>!l),children:[jsx("span",{children:e?s(`common.resolution.${e}`):"\u2014"}),jsx(ChevronDownIcon,{width:14,height:14,className:"text-zinc-500",style:{transition:"transform 0.15s",transform:r?"rotate(180deg)":void 0}})]}),r&&jsx("div",{style:bu,children:o.map(l=>jsx("button",{type:"button",onClick:()=>a(l),className:cn("w-full text-left px-3 py-1.5 rounded-lg text-xs font-medium transition-colors cursor-pointer",l===e?"text-primary bg-primary/10":"text-zinc-400 hover:text-foreground hover:bg-zinc-800"),children:s(`common.resolution.${l}`)},l))})]})}function nP(e){let{isMobile:t}=useScreen();return t?jsx(Di,{...e}):jsx(Ui,{...e})}function Ei({token:e}){let{t}=useTranslation(),o=useMemo(()=>e.marketData?.bluechipHoldingsRatio,[e.marketData?.bluechipHoldingsRatio]),s=useMemo(()=>o!==void 0&&new SafeBigNumber(o).gte(.1),[o]),r=useMemo(()=>o===void 0||new SafeBigNumber(o).lt(.05),[o]);return jsx(StyledTooltip,{content:t("tokens.bluechip.explained"),children:jsxs("div",{className:"flex items-center gap-2.5",children:[s&&jsx(HorsePowerHighIcon,{}),r&&jsx(HorsePowerLowIcon,{}),!s&&!r&&jsx(HorsePowerIcon,{}),jsx("span",{className:cn(s&&"text-bullish",!s&&!r&&"text-bearish",o===void 0&&"text-neutral"),children:formatPercent(o)})]})})}function Vi({token:e}){let t=useCopyToClipboard(),{t:o}=useTranslation(),s=useCallback(n=>{n.preventDefault(),n.stopPropagation(),t(e.address,()=>toast.success(o("tokens.copied.address")));},[t,e.address,o]),r=useTickAge(e.createdAt);return jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsx(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:s,children:[jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:e.name}),jsx(CopyIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"})]})})]}),jsxs("div",{className:"flex items-center gap-2",children:[jsx("span",{className:"text-primary text-xs sm:text-sm font-medium",children:formatAge(r)}),e.socialMedias?.website&&jsx(Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(WebsiteIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.twitter&&jsx(Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(TwitterIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.telegram&&jsx(Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(TelegramIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.discord&&jsx(Link,{href:e.socialMedias.discord,className:"text-neutral hover:text-primary",target:"_blank",children:jsx(DiscordIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),jsx(Link,{href:searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",children:jsx(SearchIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]})]})]})}function $i({token:e}){let{t}=useTranslation(),o=e.marketData,s=useMemo(()=>new SafeBigNumber(o?.top10HoldingsRatio).gte(.1),[o?.top10HoldingsRatio]),r=useMemo(()=>new SafeBigNumber(o?.devHoldingsRatio).gte(.1),[o?.devHoldingsRatio]),n=useMemo(()=>new SafeBigNumber(o?.sniperHoldingsRatio).gte(.1),[o?.sniperHoldingsRatio]),i=useMemo(()=>new SafeBigNumber(o?.insiderHoldingsRatio).gte(.1),[o?.insiderHoldingsRatio]),a=useMemo(()=>new SafeBigNumber(o?.bundleHoldingsRatio).gte(.1),[o?.bundleHoldingsRatio]);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(B,{icon:jsx(PeopleIcon,{width:12,height:12}),value:formatAmount(o?.holders),tooltip:t("tokens.tokenInfo.holders"),warning:false,disable:!o?.holders}),jsx(B,{icon:jsx(KlineCandlesIcon,{width:12,height:12}),value:formatAmount(o?.proHolders),tooltip:t("tokens.tokenInfo.proHolders"),warning:false,disable:!o?.proHolders}),jsx(B,{icon:jsx(StarIcon,{width:12,height:12}),value:formatAmount(o?.kolHolders),tooltip:t("tokens.tokenInfo.kolHolders"),warning:false,disable:!o?.kolHolders}),jsx(B,{icon:jsx(UserWithStarBadgeIcon,{width:12,height:12}),value:formatPercent(o?.top10HoldingsRatio),tooltip:t("tokens.tokenInfo.top10HoldingsRatio"),warning:s,disable:!o?.top10HoldingsRatio||o?.top10HoldingsRatio==="0"})]}),jsxs("div",{className:"flex items-center gap-1",children:[jsx(B,{icon:jsx(CookIcon,{width:12,height:12}),value:formatPercent(o?.devHoldingsRatio),tooltip:t("tokens.tokenInfo.devHoldingsRatio"),warning:r,disable:!o?.devHoldingsRatio||o?.devHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsx(B,{icon:jsx(SniperIcon,{width:12,height:12}),value:formatPercent(o?.sniperHoldingsRatio),tooltip:t("tokens.tokenInfo.sniperHoldingsRatio"),warning:n,disable:!o?.sniperHoldingsRatio||o?.sniperHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsx(B,{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(B,{icon:jsx(BundlesIcon,{width:12,height:12}),value:formatPercent(o?.bundleHoldingsRatio),tooltip:t("tokens.tokenInfo.bundleHoldingsRatio"),warning:a,disable:!o?.bundleHoldingsRatio||o?.bundleHoldingsRatio==="0",tooltipPlacement:"bottom"})]})]})}function _i({token:e}){let t=useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsx(Fragment,{children:formatAmountUSD(t)})}function Ki({token:e}){let t=useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsx(Fragment,{children:formatAmountUSD(t)})}function Qi({token:e,resolution:t}){let o=useMemo(()=>e.marketData?.priceInUsd,[e]),s=useMemo(()=>e.stats?.[t]?.priceChange,[e,t]),r=useMemo(()=>s?new SafeBigNumber(s).abs().toString():void 0,[s]),n=useMemo(()=>s&&new SafeBigNumber(s).gte(0),[s]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatPriceUSD(o)}),jsxs("span",{className:cn("inline-flex gap-1 items-center text-xs",n?"text-bullish":"text-bearish"),children:[n?jsx(TriangleUpIcon,{width:10,height:10}):jsx(TriangleDownIcon,{width:10,height:10}),jsx("span",{children:formatPercent(r)})]})]})}function Xi({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.traders,[e.stats?.[t]?.traders]),s=useMemo(()=>e.stats?.[t]?.buyers,[e.stats?.[t]?.buyers]),r=useMemo(()=>e.stats?.[t]?.sellers,[e.stats?.[t]?.sellers]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatAmount(o)}),jsxs("div",{className:"flex gap-1 text-xs",children:[jsx("span",{className:"text-bullish",children:formatAmount(s)}),"/",jsx("span",{className:"text-bearish",children:formatAmount(r)})]})]})}function Yi({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.trades,[e.stats?.[t]?.trades]),s=useMemo(()=>e.stats?.[t]?.buys,[e.stats?.[t]?.buys]),r=useMemo(()=>e.stats?.[t]?.sells,[e.stats?.[t]?.sells]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatAmount(o)}),jsxs("div",{className:"flex gap-1 text-xs",children:[jsx("span",{className:"text-bullish",children:formatAmount(s)}),"/",jsx("span",{className:"text-bearish",children:formatAmount(r)})]})]})}function ji({token:e,resolution:t}){let o=useMemo(()=>e.stats?.[t]?.volumesInUsd,[e.stats?.[t]?.volumesInUsd]),s=useMemo(()=>e.stats?.[t]?.buyVolumesInUsd,[e.stats?.[t]?.buyVolumesInUsd]),r=useMemo(()=>e.stats?.[t]?.sellVolumesInUsd,[e.stats?.[t]?.sellVolumesInUsd]);return jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsx("span",{children:formatAmountUSD(o)}),jsxs("div",{className:"flex gap-1 text-xs",children:[jsx("span",{className:"text-bullish",children:formatAmountUSD(s)}),"/",jsx("span",{className:"text-bearish",children:formatAmountUSD(r)})]})]})}var pf=`
|
|
22
22
|
@keyframes tklShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
|
|
23
|
-
`,uf={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:"tklShimmer 1.8s ease-in-out infinite",borderRadius:6};function M(e,t,o,s){return {...uf,animationDelay:`${e}ms`,width:t,height:o,...s}}var ea=10;function ta({rowHeight:e,hasActions:t}){return jsxs(Fragment,{children:[jsx("style",{children:pf}),Array.from({length:ea}).map((o,s)=>jsx(ff,{index:s,rowHeight:e,hasActions:t,isLast:s===ea-1},s))]})}function ff({index:e,rowHeight:t,hasActions:o,isLast:s}){let r=e*80;return jsxs("div",{style:{display:"flex",alignItems:"center",height:t,borderBottom:s?void 0:"1px solid rgba(39,39,42,0.3)"},children:[jsxs("div",{style:{width:320,padding:"0 12px 0 24px",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[jsx("div",{style:M(r,64,64,{borderRadius:8,flexShrink:0})}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8,flex:1},children:[jsx("div",{style:M(r+30,"60%",20)}),jsx("div",{style:M(r+60,"80%",16)})]})]}),jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:M(r+20,72,20)}),jsx("div",{style:M(r+40,52,16)})]}),jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:M(r+30,64,20)})}),jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:M(r+40,60,20)})}),jsxs("div",{style:{width:138,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:M(r+50,72,20)}),jsx("div",{style:M(r+70,100,16)})]}),jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:M(r+60,48,20)}),jsx("div",{style:M(r+80,80,16)})]}),jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:M(r+70,40,20)}),jsx("div",{style:M(r+90,72,16)})]}),jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",alignItems:"center",gap:10},children:[jsx("div",{style:M(r+80,20,20,{borderRadius:4})}),jsx("div",{style:M(r+90,52,20)})]}),jsxs("div",{style:{width:308,padding:"0 12px",display:"flex",alignItems:"center",gap:20},children:[jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:M(r+80,52,16)}),jsx("div",{style:M(r+100,40,16)}),jsx("div",{style:M(r+120,36,16)})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:M(r+90,48,16)}),jsx("div",{style:M(r+110,40,16)}),jsx("div",{style:M(r+130,40,16)})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:M(r+100,40,16)}),jsx("div",{style:M(r+120,36,16)})]})]}),o&&jsx("div",{style:{width:124,padding:"0 24px 0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:M(r+100,97,32,{borderRadius:8})})})]})}function oa({isLast:e=false}){return jsxs("div",{className:cn("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"})]})]})}function na({token:e,resolution:t,renderAction:o,isLast:s=false,onSelectToken:r,className:n}){let{t:i}=useTranslation(),a=useCopyToClipboard(),l=useTickAge(e.createdAt),c=useCallback(()=>{r?.(e);},[r,e]),m=useCallback(z=>{z.stopPropagation(),a(e.address,()=>toast.success(i("tokens.copied.address")));},[a,e.address,i]),d=e.marketData,p=e.stats?.[t],u=useMemo(()=>d?.priceInUsd,[d?.priceInUsd]),f=useMemo(()=>p?.priceChange,[p?.priceChange]),k=useMemo(()=>f&&new SafeBigNumber(f).gte(0),[f]),x=useMemo(()=>f?new SafeBigNumber(f).abs().toString():void 0,[f]),g=useMemo(()=>p?.volumesInUsd,[p?.volumesInUsd]),h=useMemo(()=>p?.buyVolumesInUsd,[p?.buyVolumesInUsd]),b=useMemo(()=>p?.sellVolumesInUsd,[p?.sellVolumesInUsd]),y=useMemo(()=>p?.trades,[p?.trades]),E=useMemo(()=>d?.marketCapInUsd,[d?.marketCapInUsd]),Y=useMemo(()=>d?.tvlInUsd,[d?.tvlInUsd]),me=useMemo(()=>new SafeBigNumber(d?.top10HoldingsRatio).gte(.1),[d?.top10HoldingsRatio]),Ze=useMemo(()=>new SafeBigNumber(d?.devHoldingsRatio).gte(.1),[d?.devHoldingsRatio]),B=useMemo(()=>new SafeBigNumber(d?.sniperHoldingsRatio).gte(.1),[d?.sniperHoldingsRatio]),ao=useMemo(()=>new SafeBigNumber(d?.insiderHoldingsRatio).gte(.1),[d?.insiderHoldingsRatio]),lo=useMemo(()=>new SafeBigNumber(d?.bundleHoldingsRatio).gte(.1),[d?.bundleHoldingsRatio]),D=d?.holders!==void 0&&d.holders>0,ge=d?.kolHolders!==void 0&&d.kolHolders>0,je=d?.bluechipHolders!==void 0&&d.bluechipHolders>0,oe=D||ge||je;return jsxs("div",{className:cn("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer",!s&&"border-b",n),style:s?void 0:{borderBottomColor:"rgba(39,39,42,0.6)"},onClick:r?c: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(re,{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(l)}),e.socialMedias?.website&&jsx(Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:z=>z.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:z=>z.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:z=>z.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:z=>z.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(E)})]}),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(Y)})]})]}),oe&&jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-neutral leading-none",children:[D&&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(d?.holders)]})}),ge&&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(d?.kolHolders)]})}),je&&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(d?.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("inline-flex items-center gap-0.5 text-[10px] leading-none",k?"text-bullish":"text-bearish"),children:[k?jsx(TriangleUpIcon,{width:8,height:8}):jsx(TriangleDownIcon,{width:8,height:8}),f===void 0?"--":formatPercent(x)]})]}),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(g)})]}),jsxs("span",{className:"text-[10px] leading-none",children:[jsx("span",{className:"text-bullish",children:formatAmountUSDCompact(h)}),jsx("span",{className:"text-neutral/50 mx-0.5",children:"/"}),jsx("span",{className:"text-bearish",children:formatAmountUSDCompact(b)})]})]}),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(O,{icon:jsx(UserWithStarBadgeIcon,{width:12,height:12}),value:formatPercent(d?.top10HoldingsRatio),tooltip:i("tokens.tokenInfo.top10HoldingsRatio"),warning:me,disable:!d?.top10HoldingsRatio||d?.top10HoldingsRatio==="0"}),jsx(O,{icon:jsx(CookIcon,{width:12,height:12}),value:formatPercent(d?.devHoldingsRatio),tooltip:i("tokens.tokenInfo.devHoldingsRatio"),warning:Ze,disable:!d?.devHoldingsRatio||d?.devHoldingsRatio==="0"}),jsx(O,{icon:jsx(SniperIcon,{width:12,height:12}),value:formatPercent(d?.sniperHoldingsRatio),tooltip:i("tokens.tokenInfo.sniperHoldingsRatio"),warning:B,disable:!d?.sniperHoldingsRatio||d?.sniperHoldingsRatio==="0"}),jsx(O,{icon:jsx(RatIcon,{width:12,height:12}),value:formatPercent(d?.insiderHoldingsRatio),tooltip:i("tokens.tokenInfo.insiderHoldingsRatio"),warning:ao,disable:!d?.insiderHoldingsRatio||d?.insiderHoldingsRatio==="0"}),jsx(O,{icon:jsx(BundlesIcon,{width:12,height:12}),value:formatPercent(d?.bundleHoldingsRatio),tooltip:i("tokens.tokenInfo.bundleHoldingsRatio"),warning:lo,disable:!d?.bundleHoldingsRatio||d?.bundleHoldingsRatio==="0"})]})}),o&&jsx("div",{className:"flex-none relative",onClick:z=>z.stopPropagation(),children:o(e)})]})]})}var _f=154,ia=10;function Kf({index:e,style:t,tokens:o,skeletonCount:s,resolution:r,renderAction:n,onSelectToken:i}){return o?jsx("div",{style:t,children:jsx(na,{token:o[e],resolution:r,isLast:e===o.length-1,renderAction:n,onSelectToken:i})}):jsx("div",{style:t,children:jsx(oa,{isLast:e===s-1})})}function aa({tokens:e,resolution:t="24h",isLoading:o,height:s=600,renderAction:r,onSelectToken:n,className:i}){let a=o||!e?void 0:e,l=a?a.length:ia,c=useMemo(()=>({tokens:a,skeletonCount:ia,resolution:t,renderAction:r,onSelectToken:n}),[a,t,r,n]);return jsx("div",{className:cn("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:s},rowCount:l,rowHeight:_f,overscanCount:5,rowComponent:Kf,rowProps:c})})}function Ye({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:r,sortDirections:n,onSortChange:i,height:a=600,itemHeight:l=88,itemHeightMobile:c=72,className:m}){let{isMobile:d,isDesktop:p}=useScreen(),{t:u}=useTranslation(),f=useCallback(h=>b=>{b.preventDefault(),b.stopPropagation(),r?.(h);},[r]),[k,x]=useState(n??{});useEffect(()=>{x(n??{});},[n]);let g=useCallback(h=>b=>{let y={[h]:b};x(y),i?.(y);},[i]);return p?jsxs(StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:cn("h-full mx-auto",m??(s?"max-w-379 sm:max-w-403":"max-w-348 sm:max-w-372")),classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},maxTableHeight:a,rowHeight:d?c:l,"aria-label":"Tokens",children:[jsx(TableHeader,{children:[jsx(TableColumn,{textValue:u("tokens.listHeader.token"),width:d?224:320,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:k.price,onSortChange:g("price"),children:u("tokens.listHeader.price")}),jsx("span",{children:"/"}),jsx(Sortable,{sort:k[`priceChange${t}`],onSortChange:g(`priceChange${t}`),children:u("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsx(TableColumn,{textValue:u("tokens.listHeader.marketCap"),width:106,children:jsx(Sortable,{sort:k.marketCap,onSortChange:g("marketCap"),children:u("tokens.listHeader.marketCap")})},"marketCap"),jsx(TableColumn,{textValue:u("tokens.listHeader.liquidity"),width:106,children:jsx(Sortable,{sort:k.tvl,onSortChange:g("tvl"),children:u("tokens.listHeader.liquidity")})},"liquidity"),jsx(TableColumn,{textValue:u("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsx(Sortable,{sort:k[`volumes${t}`],onSortChange:g(`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:k[`trades${t}`],onSortChange:g(`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:k[`traders${t}`],onSortChange:g(`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"),s?jsx(TableColumn,{textValue:u("tokens.listHeader.actions"),width:124,align:"end",children:u("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean)}),jsx(TableBody,{items:o?[]:e,isLoading:o,loadingContent:jsx(ta,{rowHeight:d?c:l,hasActions:!!s}),emptyContent:jsxs("div",{children:[jsx(EmptyIcon,{className:"w-10 h-10 mx-auto text-neutral"}),jsx("p",{className:"mt-2 text-sm text-neutral text-center",children:u("common.empty")})]}),children:h=>jsx(TableRow,{onClick:r?f(h):void 0,children:[jsx(TableCell,{children:jsx(Vi,{token:h,resolution:t})},"token"),jsx(TableCell,{children:jsx(Qi,{token:h,resolution:t})},"price"),jsx(TableCell,{children:jsx(Ki,{token:h,resolution:t})},"marketCap"),jsx(TableCell,{children:jsx(_i,{token:h,resolution:t})},"liquidity"),jsx(TableCell,{children:jsx(ji,{token:h,resolution:t})},"volumes"),jsx(TableCell,{children:jsx(Yi,{token:h,resolution:t})},"trades"),jsx(TableCell,{children:jsx(Xi,{token:h,resolution:t})},"traders"),jsx(TableCell,{children:jsx(Ei,{token:h,resolution:t})},"bluechip"),jsx(TableCell,{children:jsx($i,{token:h,resolution:t})},"tokenInfo"),s?jsx(TableCell,{children:jsx(s,{token:h,resolution:t})},"actions"):void 0].filter(Boolean)},h.address)})]}):jsx(aa,{tokens:e,resolution:t,isLoading:o,height:a,renderAction:s?h=>jsx(s,{token:h,resolution:t}):void 0,onSelectToken:r,className:m})}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 pa(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,ng)}function ua({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=useRef(r),[i,a]=useState(true);useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),c([]),n.current=r);},[r]);let[l,c]=useState([]),{data:m,isPending:d}=useNewTokensQuery(r,{refetchInterval:s});useEffect(()=>{m&&(c(f=>{let k=[...f];for(let x of m){let g=k.findIndex(h=>h.address===x.address);g>=0?k[g]=I(k[g],x):k.push(x);}return pa(k)}),a(false));},[m]);let p=useCallback(f=>{c(k=>{let x=[...k],g=false;for(let h of f){let b=x.findIndex(y=>y.address===h.address);b>=0?(g=true,x[b]=I(x[b],h)):(g=true,x.push(ig(h)));}return g?pa(x):k});},[]);useNewTokensSubscription({chain:e},p);let u=useMemo(()=>!!(d||i),[d,i]);return {tokens:l,isLoading:u}}function l2({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[c,m]=useState();useEffect(()=>{m(void 0);},[e]);let d=useMemo(()=>{let f=Object.keys(c??{})[0],k=c?.[f];return {...o,...f&&k?{sortBy:f,sortDirection:k}:void 0}},[o,c]),{tokens:p,isLoading:u}=ua({chain:e,resolution:t,options:d});return jsx(Ye,{tokens:p,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:c,onSortChange:m,className:l})}function ka({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=useRef(r),[i,a]=useState(true);useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),c([]),n.current=r);},[r]);let[l,c]=useState([]),{data:m,isPending:d}=useStockTokensQuery(r,{refetchInterval:s});useEffect(()=>{m&&(c(f=>{let k=[];for(let x of m){let g=f.find(h=>h.address===x.address);k.push(g?I(g,x):x);}return k}),a(false));},[m]);let p=useCallback(f=>{c(k=>{let x=[...k],g=false;for(let h of f){let b=x.findIndex(y=>y.address===h.address);b>=0&&(g=true,x[b]=I(x[b],h));}return g?x:k});},[]);useStockTokensSubscription({chain:e},p);let u=useMemo(()=>!!(d||i),[d,i]);return {tokens:l,isLoading:u}}function y2({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[c,m]=useState();useEffect(()=>{m(void 0);},[e]);let d=useMemo(()=>{let f=Object.keys(c??{})[0],k=c?.[f];return {...o,...f&&k?{sortBy:f,sortDirection:k}:void 0}},[o,c]),{tokens:p,isLoading:u}=ka({chain:e,resolution:t,options:d});return jsx(Ye,{tokens:p,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:c,onSortChange:m,className:l})}function P2({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[c,m]=useState();useEffect(()=>{m(void 0);},[e]);let d=useMemo(()=>{let f=Object.keys(c??{})[0],k=c?.[f];return {...o,...f&&k?{sortBy:f,sortDirection:k}:void 0}},[o,c]),{tokens:p,isLoading:u}=Mt({chain:e,resolution:t,options:d});return jsx(Ye,{tokens:p,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:c,onSortChange:m,className:l})}var Pg=15e3;function Rg({chain:e,addresses:t,pollMs:o=Pg}){let s=t.length>0,[r,n]=useState({}),i=useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});useEffect(()=>{i.data&&n(d=>{let p={};for(let u of i.data){let f=d[u.address];p[u.address]=f?I(f,u):u;}return p});},[i.data]);let{subscribeClient:a}=useDexClient(),l=useRef(""),c=t.slice().sort().join(",");c!==l.current&&(l.current=c),useEffect(()=>{if(!s)return;let d=[];for(let p of t)d.push(a.subscribeToken(e,p,u=>{n(f=>{let k=f;for(let x of u){let g=k[x.address];if(!g)continue;let h=I(g,x);h!==g&&(k=k===f?{...f}:k,k[x.address]=h);}return k});}));return ()=>{for(let p of d)p.unsubscribe();}},[a,e,c,s]);let m=useCallback(async()=>{await i.refetch();},[i.refetch]);return {tokens:r,isPending:i.isPending,isFetching:i.isFetching,isError:i.isError,isSuccess:i.isSuccess,error:i.error,refetch:m}}export{vn as DEFAULT_FLIP_HOVER_RESOLUTIONS,La as HolderTagBadge,Tt as HolderTagBadgeList,O as HoldingRatioChip,l2 as NewTokenListWidget,mk as PulseFinalStretchListWidget,Oe as PulseList,ir as PulseListHeader,Cr as PulseListItem,lr as PulseListItemSkeleton,ek as PulseMigratedListWidget,_x as PulseNewListWidget,ho as SEARCH_MODAL_ID,Qr as SearchHistoryUI,Gr as SearchHistoryWidget,Xr as SearchInputUI,Xh as SearchModal,Lt as SearchResultItemUI,Pt as SearchResultListHeader,At as SearchResultListSkeleton,rs as SearchResultListWidget,sb as SearchTokensButton,ps as SearchWidget,y2 as StockTokenListWidget,uo as TRADER_TAG_META,mn as TokenAbout,F0 as TokenAboutWidget,Xs as TokenActivitiesList,gv as TokenActivitiesListWidget,re as TokenAvatar,bs as TokenBasicInfo,$s as TokenBasicInfoWidget,yn as TokenCategories,wN as TokenCategoriesWidget,kn as TokenCexListing,mN as TokenCexListingWidget,Qn as TokenChartBanner,yC as TokenChartBannerWidget,xs as TokenDetailHeader,RT as TokenDetailHeaderWidget,Bn as TokenDevTokensList,nC as TokenDevTokensListWidget,En as TokenDevTokensSummary,Ts as TokenHoldersCount,Ns as TokenHoldersCountWidget,zs as TokenHoldersList,JT as TokenHoldersListWidget,gn as TokenLiquidities,Y0 as TokenLiquiditiesWidget,Ye as TokenList,jt as TokenListFilter,Pi as TokenListFilterModal,Mi as TokenListFilterPopover,VL as TokenListFilterWidget,Ui as TokenListResolutionSelectorDesktop,Di as TokenListResolutionSelectorMobile,sP as TokenListResolutionSelectorWidget,ws as TokenMarketCap,Ps as TokenMarketCapWidget,An as TokenOrdersList,SS as TokenOrdersListWidget,wn as TokenPositionsList,iS as TokenPositionsListWidget,Hs as TokenPrice,Is as TokenPriceWidget,Zn as TokenReusedImageList,XC as TokenReusedImageListWidget,an as TokenSecurity,y0 as TokenSecurityWidget,Jn as TokenSimilarTokens,OC as TokenSimilarTokensWidget,Fs as TokenSocialMedia,Os as TokenSocialMediaWidget,Nn as TokenStatsFlipBase,Sn as TokenStatsFlipHover,$N as TokenStatsFlipWidget,Un as TokenTopTradersList,_S as TokenTopTradersListWidget,en as TokenTradersOverview,Av as TokenTradersOverviewWidget,on as TokenTransactionsOverview,zv as TokenTransactionsOverviewWidget,Bs as TokenVolume,Vs as TokenVolumeWidget,sn as TokenVolumesOverview,i0 as TokenVolumesOverviewWidget,wa as TraderTagBadge,pr as TraderTagBadgeList,na as TrendingTokenCard,aa as TrendingTokenCardList,oa as TrendingTokenCardSkeleton,P2 as TrendingTokenListWidget,ua as useNewTokensScript,_r as usePulseFinalStretchListScript,Wr as usePulseMigratedListScript,Ir as usePulseNewListScript,wt as useSearchHistory,ts as useSearchResultListScript,cs as useSearchScript,ka as useStockTokensScript,pn as useTokenAboutScript,Zs as useTokenActivitiesListScript,Gb as useTokenBasicInfoScript,Tn as useTokenCategoriesScript,hn as useTokenCexListingScript,Xn as useTokenChartBannerScript,ks as useTokenDetailHeaderScript,Kn as useTokenDevTokensListScript,vs as useTokenHoldersCountScript,Gs as useTokenHoldersListScript,xn as useTokenLiquiditiesScript,Ls as useTokenMarketCapScript,Fn as useTokenOrdersListScript,Rn as useTokenPositionsListScript,Ms as useTokenPriceScript,jn as useTokenReusedImageListScript,ln as useTokenSecurityScript,Yn as useTokenSimilarTokensScript,Us as useTokenSocialMediaScript,Cn as useTokenStatsFlipScript,Dn as useTokenTopTradersListScript,tn as useTokenTradersOverviewScript,rn as useTokenTransactionsOverviewScript,Es as useTokenVolumeScript,nn as useTokenVolumesOverviewScript,Rg as useTokens,Mt as useTrendingTokensScript};//# sourceMappingURL=index.mjs.map
|
|
23
|
+
`,uf={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:"tklShimmer 1.8s ease-in-out infinite",borderRadius:6};function I(e,t,o,s){return {...uf,animationDelay:`${e}ms`,width:t,height:o,...s}}var ea=10;function ta({rowHeight:e,hasActions:t}){return jsxs(Fragment,{children:[jsx("style",{children:pf}),Array.from({length:ea}).map((o,s)=>jsx(ff,{index:s,rowHeight:e,hasActions:t,isLast:s===ea-1},s))]})}function ff({index:e,rowHeight:t,hasActions:o,isLast:s}){let r=e*80;return jsxs("div",{style:{display:"flex",alignItems:"center",height:t,borderBottom:s?void 0:"1px solid rgba(39,39,42,0.3)"},children:[jsxs("div",{style:{width:320,padding:"0 12px 0 24px",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[jsx("div",{style:I(r,64,64,{borderRadius:8,flexShrink:0})}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8,flex:1},children:[jsx("div",{style:I(r+30,"60%",20)}),jsx("div",{style:I(r+60,"80%",16)})]})]}),jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(r+20,72,20)}),jsx("div",{style:I(r+40,52,16)})]}),jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:I(r+30,64,20)})}),jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:I(r+40,60,20)})}),jsxs("div",{style:{width:138,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(r+50,72,20)}),jsx("div",{style:I(r+70,100,16)})]}),jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(r+60,48,20)}),jsx("div",{style:I(r+80,80,16)})]}),jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsx("div",{style:I(r+70,40,20)}),jsx("div",{style:I(r+90,72,16)})]}),jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",alignItems:"center",gap:10},children:[jsx("div",{style:I(r+80,20,20,{borderRadius:4})}),jsx("div",{style:I(r+90,52,20)})]}),jsxs("div",{style:{width:308,padding:"0 12px",display:"flex",alignItems:"center",gap:20},children:[jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:I(r+80,52,16)}),jsx("div",{style:I(r+100,40,16)}),jsx("div",{style:I(r+120,36,16)})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:I(r+90,48,16)}),jsx("div",{style:I(r+110,40,16)}),jsx("div",{style:I(r+130,40,16)})]}),jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsx("div",{style:I(r+100,40,16)}),jsx("div",{style:I(r+120,36,16)})]})]}),o&&jsx("div",{style:{width:124,padding:"0 24px 0 12px",display:"flex",alignItems:"center"},children:jsx("div",{style:I(r+100,97,32,{borderRadius:8})})})]})}function oa({isLast:e=false}){return jsxs("div",{className:cn("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"})]})]})}function na({token:e,resolution:t,renderAction:o,isLast:s=false,onSelectToken:r,className:n}){let{t:i}=useTranslation(),a=useCopyToClipboard(),l=useTickAge(e.createdAt),d=useCallback(()=>{r?.(e);},[r,e]),m=useCallback(_=>{_.stopPropagation(),a(e.address,()=>toast.success(i("tokens.copied.address")));},[a,e.address,i]),c=e.marketData,p=e.stats?.[t],u=useMemo(()=>c?.priceInUsd,[c?.priceInUsd]),g=useMemo(()=>p?.priceChange,[p?.priceChange]),k=useMemo(()=>g&&new SafeBigNumber(g).gte(0),[g]),f=useMemo(()=>g?new SafeBigNumber(g).abs().toString():void 0,[g]),x=useMemo(()=>p?.volumesInUsd,[p?.volumesInUsd]),h=useMemo(()=>p?.buyVolumesInUsd,[p?.buyVolumesInUsd]),b=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("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer",!s&&"border-b",n),style:s?void 0:{borderBottomColor:"rgba(39,39,42,0.6)"},onClick:r?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(l)}),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("inline-flex items-center gap-0.5 text-[10px] leading-none",k?"text-bullish":"text-bearish"),children:[k?jsx(TriangleUpIcon,{width:8,height:8}):jsx(TriangleDownIcon,{width:8,height:8}),g===void 0?"--":formatPercent(f)]})]}),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(h)}),jsx("span",{className:"text-neutral/50 mx-0.5",children:"/"}),jsx("span",{className:"text-bearish",children:formatAmountUSDCompact(b)})]})]}),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(B,{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(B,{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(B,{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(B,{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(B,{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)})]})]})}var _f=154,ia=10;function Kf({index:e,style:t,tokens:o,skeletonCount:s,resolution:r,renderAction:n,onSelectToken:i}){return o?jsx("div",{style:t,children:jsx(na,{token:o[e],resolution:r,isLast:e===o.length-1,renderAction:n,onSelectToken:i})}):jsx("div",{style:t,children:jsx(oa,{isLast:e===s-1})})}function aa({tokens:e,resolution:t="24h",isLoading:o,height:s=600,renderAction:r,onSelectToken:n,className:i}){let a=o||!e?void 0:e,l=a?a.length:ia,d=useMemo(()=>({tokens:a,skeletonCount:ia,resolution:t,renderAction:r,onSelectToken:n}),[a,t,r,n]);return jsx("div",{className:cn("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:s},rowCount:l,rowHeight:_f,overscanCount:5,rowComponent:Kf,rowProps:d})})}function st({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:r,sortDirections:n,onSortChange:i,height:a=600,itemHeight:l=88,itemHeightMobile:d=72,className:m}){let{isMobile:c,isDesktop:p}=useScreen(),{t:u}=useTranslation(),g=useCallback(h=>b=>{b.preventDefault(),b.stopPropagation(),r?.(h);},[r]),[k,f]=useState(n??{});useEffect(()=>{f(n??{});},[n]);let x=useCallback(h=>b=>{let y={[h]:b};f(y),i?.(y);},[i]);return p?jsxs(StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:cn("h-full mx-auto",m??(s?"max-w-379 sm:max-w-403":"max-w-348 sm:max-w-372")),classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},maxTableHeight:a,rowHeight:c?d:l,"aria-label":"Tokens",children:[jsx(TableHeader,{children:[jsx(TableColumn,{textValue:u("tokens.listHeader.token"),width:c?224:320,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:k.price,onSortChange:x("price"),children:u("tokens.listHeader.price")}),jsx("span",{children:"/"}),jsx(Sortable,{sort:k[`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:k.marketCap,onSortChange:x("marketCap"),children:u("tokens.listHeader.marketCap")})},"marketCap"),jsx(TableColumn,{textValue:u("tokens.listHeader.liquidity"),width:106,children:jsx(Sortable,{sort:k.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:k[`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:k[`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:k[`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"),s?jsx(TableColumn,{textValue:u("tokens.listHeader.actions"),width:124,align:"end",children:u("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean)}),jsx(TableBody,{items:o?[]:e,isLoading:o,loadingContent:jsx(ta,{rowHeight:c?d:l,hasActions:!!s}),emptyContent:jsxs("div",{children:[jsx(EmptyIcon,{className:"w-10 h-10 mx-auto text-neutral"}),jsx("p",{className:"mt-2 text-sm text-neutral text-center",children:u("common.empty")})]}),children:h=>jsx(TableRow,{onClick:r?g(h):void 0,children:[jsx(TableCell,{children:jsx(Vi,{token:h,resolution:t})},"token"),jsx(TableCell,{children:jsx(Qi,{token:h,resolution:t})},"price"),jsx(TableCell,{children:jsx(Ki,{token:h,resolution:t})},"marketCap"),jsx(TableCell,{children:jsx(_i,{token:h,resolution:t})},"liquidity"),jsx(TableCell,{children:jsx(ji,{token:h,resolution:t})},"volumes"),jsx(TableCell,{children:jsx(Yi,{token:h,resolution:t})},"trades"),jsx(TableCell,{children:jsx(Xi,{token:h,resolution:t})},"traders"),jsx(TableCell,{children:jsx(Ei,{token:h,resolution:t})},"bluechip"),jsx(TableCell,{children:jsx($i,{token:h,resolution:t})},"tokenInfo"),s?jsx(TableCell,{children:jsx(s,{token:h,resolution:t})},"actions"):void 0].filter(Boolean)},h.address)})]}):jsx(aa,{tokens:e,resolution:t,isLoading:o,height:a,renderAction:s?h=>jsx(s,{token:h,resolution:t}):void 0,onSelectToken:r,className:m})}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 pa(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,ng)}function ua({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=useRef(r),[i,a]=useState(true);useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),d([]),n.current=r);},[r]);let[l,d]=useState([]),{data:m,isPending:c}=useNewTokensQuery(r,{refetchInterval:s});useEffect(()=>{m&&(d(g=>{let k=[...g];for(let f of m){let x=k.findIndex(h=>h.address===f.address);x>=0?k[x]=O(k[x],f):k.push(f);}return pa(k)}),a(false));},[m]);let p=useCallback(g=>{d(k=>{let f=[...k],x=false;for(let h of g){let b=f.findIndex(y=>y.address===h.address);b>=0?(x=true,f[b]=O(f[b],h)):(x=true,f.push(ig(h)));}return x?pa(f):k});},[]);useNewTokensSubscription({chain:e},p);let u=useMemo(()=>!!(c||i),[c,i]);return {tokens:l,isLoading:u}}function d2({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,m]=useState();useEffect(()=>{m(void 0);},[e]);let c=useMemo(()=>{let g=Object.keys(d??{})[0],k=d?.[g];return {...o,...g&&k?{sortBy:g,sortDirection:k}:void 0}},[o,d]),{tokens:p,isLoading:u}=ua({chain:e,resolution:t,options:c});return jsx(st,{tokens:p,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:d,onSortChange:m,className:l})}function ka({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=useRef(r),[i,a]=useState(true);useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),d([]),n.current=r);},[r]);let[l,d]=useState([]),{data:m,isPending:c}=useStockTokensQuery(r,{refetchInterval:s});useEffect(()=>{m&&(d(g=>{let k=[];for(let f of m){let x=g.find(h=>h.address===f.address);k.push(x?O(x,f):f);}return k}),a(false));},[m]);let p=useCallback(g=>{d(k=>{let f=[...k],x=false;for(let h of g){let b=f.findIndex(y=>y.address===h.address);b>=0&&(x=true,f[b]=O(f[b],h));}return x?f:k});},[]);useStockTokensSubscription({chain:e},p);let u=useMemo(()=>!!(c||i),[c,i]);return {tokens:l,isLoading:u}}function T2({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,m]=useState();useEffect(()=>{m(void 0);},[e]);let c=useMemo(()=>{let g=Object.keys(d??{})[0],k=d?.[g];return {...o,...g&&k?{sortBy:g,sortDirection:k}:void 0}},[o,d]),{tokens:p,isLoading:u}=ka({chain:e,resolution:t,options:c});return jsx(st,{tokens:p,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:d,onSortChange:m,className:l})}function R2({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,m]=useState();useEffect(()=>{m(void 0);},[e]);let c=useMemo(()=>{let g=Object.keys(d??{})[0],k=d?.[g];return {...o,...g&&k?{sortBy:g,sortDirection:k}:void 0}},[o,d]),{tokens:p,isLoading:u}=Dt({chain:e,resolution:t,options:c});return jsx(st,{tokens:p,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:d,onSortChange:m,className:l})}var Pg=15e3;function Rg({chain:e,addresses:t,pollMs:o=Pg}){let s=t.length>0,[r,n]=useState({}),i=useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});useEffect(()=>{i.data&&n(c=>{let p={};for(let u of i.data){let g=c[u.address];p[u.address]=g?O(g,u):u;}return p});},[i.data]);let{subscribeClient:a}=useDexClient(),l=useRef(""),d=t.slice().sort().join(",");d!==l.current&&(l.current=d),useEffect(()=>{if(!s)return;let c=[];for(let p of t)c.push(a.subscribeToken(e,p,u=>{n(g=>{let k=g;for(let f of u){let x=k[f.address];if(!x)continue;let h=O(x,f);h!==x&&(k=k===g?{...g}:k,k[f.address]=h);}return k});}));return ()=>{for(let p of c)p.unsubscribe();}},[a,e,d,s]);let m=useCallback(async()=>{await i.refetch();},[i.refetch]);return {tokens:r,isPending:i.isPending,isFetching:i.isFetching,isError:i.isError,isSuccess:i.isSuccess,error:i.error,refetch:m}}export{vn as DEFAULT_FLIP_HOVER_RESOLUTIONS,La as HolderTagBadge,Ct as HolderTagBadgeList,B as HoldingRatioChip,d2 as NewTokenListWidget,pk as PulseFinalStretchListWidget,_e as PulseList,dr as PulseListHeader,Cr as PulseListItem,cr as PulseListItemSkeleton,tk as PulseMigratedListWidget,Kx as PulseNewListWidget,yo as SEARCH_MODAL_ID,Qr as SearchHistoryUI,Gr as SearchHistoryWidget,Xr as SearchInputUI,Jh as SearchModal,Mt as SearchResultItemUI,It as SearchResultListHeader,Ut as SearchResultListSkeleton,rs as SearchResultListWidget,nb as SearchTokensButton,ps as SearchWidget,T2 as StockTokenListWidget,fo as TRADER_TAG_META,mn as TokenAbout,U0 as TokenAboutWidget,Xs as TokenActivitiesList,xv as TokenActivitiesListWidget,de as TokenAvatar,bs as TokenBasicInfo,$s as TokenBasicInfoWidget,yn as TokenCategories,LN as TokenCategoriesWidget,kn as TokenCexListing,pN as TokenCexListingWidget,Qn as TokenChartBanner,TC as TokenChartBannerWidget,xs as TokenDetailHeader,AT as TokenDetailHeaderWidget,Bn as TokenDevTokensList,iC as TokenDevTokensListWidget,En as TokenDevTokensSummary,Ts as TokenHoldersCount,Ns as TokenHoldersCountWidget,zs as TokenHoldersList,YT as TokenHoldersListWidget,gn as TokenLiquidities,Z0 as TokenLiquiditiesWidget,st as TokenList,so as TokenListFilter,Pi as TokenListFilterModal,Mi as TokenListFilterPopover,$L as TokenListFilterWidget,Ui as TokenListResolutionSelectorDesktop,Di as TokenListResolutionSelectorMobile,nP as TokenListResolutionSelectorWidget,ws as TokenMarketCap,Ps as TokenMarketCapWidget,An as TokenOrdersList,CS as TokenOrdersListWidget,wn as TokenPositionsList,aS as TokenPositionsListWidget,Hs as TokenPrice,Is as TokenPriceWidget,Zn as TokenReusedImageList,JC as TokenReusedImageListWidget,an as TokenSecurity,T0 as TokenSecurityWidget,Jn as TokenSimilarTokens,DC as TokenSimilarTokensWidget,Fs as TokenSocialMedia,Os as TokenSocialMediaWidget,Nn as TokenStatsFlipBase,Sn as TokenStatsFlipHover,_N as TokenStatsFlipWidget,Un as TokenTopTradersList,KS as TokenTopTradersListWidget,en as TokenTradersOverview,Hv as TokenTradersOverviewWidget,on as TokenTransactionsOverview,qv as TokenTransactionsOverviewWidget,Bs as TokenVolume,Vs as TokenVolumeWidget,sn as TokenVolumesOverview,a0 as TokenVolumesOverviewWidget,wa as TraderTagBadge,fr as TraderTagBadgeList,na as TrendingTokenCard,aa as TrendingTokenCardList,oa as TrendingTokenCardSkeleton,R2 as TrendingTokenListWidget,ua as useNewTokensScript,_r as usePulseFinalStretchListScript,Wr as usePulseMigratedListScript,Ir as usePulseNewListScript,Ht as useSearchHistory,ts as useSearchResultListScript,cs as useSearchScript,ka as useStockTokensScript,pn as useTokenAboutScript,Zs as useTokenActivitiesListScript,Xb as useTokenBasicInfoScript,Tn as useTokenCategoriesScript,hn as useTokenCexListingScript,Xn as useTokenChartBannerScript,ks as useTokenDetailHeaderScript,Kn as useTokenDevTokensListScript,vs as useTokenHoldersCountScript,Gs as useTokenHoldersListScript,xn as useTokenLiquiditiesScript,Ls as useTokenMarketCapScript,Fn as useTokenOrdersListScript,Rn as useTokenPositionsListScript,Ms as useTokenPriceScript,jn as useTokenReusedImageListScript,ln as useTokenSecurityScript,Yn as useTokenSimilarTokensScript,Us as useTokenSocialMediaScript,Cn as useTokenStatsFlipScript,Dn as useTokenTopTradersListScript,tn as useTokenTradersOverviewScript,rn as useTokenTransactionsOverviewScript,Es as useTokenVolumeScript,nn as useTokenVolumesOverviewScript,Rg as useTokens,Dt as useTrendingTokensScript};//# sourceMappingURL=index.mjs.map
|
|
24
24
|
//# sourceMappingURL=index.mjs.map
|