@liberfi.io/ui-tokens 3.0.3 → 3.0.5
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 +58 -1
- package/dist/index.d.ts +58 -1
- 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.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var react=require('react'),reactWindow=require('react-window'),ui=require('@liberfi.io/ui'),i18n=require('@liberfi.io/i18n'),jsxRuntime=require('react/jsx-runtime'),hooks=require('@liberfi.io/hooks'),utils=require('@liberfi.io/utils'),types=require('@liberfi.io/types'),react$1=require('@liberfi.io/react'),uiScaffold=require('@liberfi.io/ui-scaffold'),jotai=require('jotai'),utils$1=require('jotai/utils'),reactWindowInfiniteLoader=require('react-window-infinite-loader');function Go({title:e,isPaused:t,extra:o,className:s}){let{t:r}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-12 px-3 flex-none bg-content1 flex items-center justify-between gap-4 border-b border-border",s),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("h2",{className:"font-semibold",children:e}),t&&jsxRuntime.jsxs("div",{className:"flex items-center gap-1 text-primary",children:[jsxRuntime.jsx(ui.PauseIcon,{className:"w-4 h-4"}),jsxRuntime.jsx("span",{className:"text-xs hidden sm:inline",children:r("tokens.pulse.paused")})]})]}),o&&jsxRuntime.jsx("div",{className:"flex items-center gap-3",children:o})]})}function Xo({isLast:e=false,className:t}){return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full px-3 py-3 overflow-hidden flex gap-3 items-center",!e&&"border-b border-border",t),children:[jsxRuntime.jsx(ui.Skeleton,{className:"flex-none w-15 h-15 rounded-sm"}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-32 h-5 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-48 h-4 rounded-md"})]})]})}var na={[types.SolanaTokenProtocol.BAGS]:{text:"text-bags",bg:"bg-bags",bg5:"bg-bags/5",bg20:"bg-bags/20",border:"border-bags"},[types.SolanaTokenProtocol.BELIEVE]:{text:"text-believe",bg:"bg-believe",bg5:"bg-believe/5",bg20:"bg-believe/20",border:"border-believe"},[types.SolanaTokenProtocol.BONK]:{text:"text-bonk",bg:"bg-bonk",bg5:"bg-bonk/5",bg20:"bg-bonk/20",border:"border-bonk"},[types.SolanaTokenProtocol.BOOP]:{text:"text-boop",bg:"bg-boop",bg5:"bg-boop/5",bg20:"bg-boop/20",border:"border-boop"},[types.SolanaTokenProtocol.HEAVEN]:{text:"text-heaven",bg:"bg-heaven",bg5:"bg-heaven/5",bg20:"bg-heaven/20",border:"border-heaven"},[types.SolanaTokenProtocol.JUPSTUDIO]:{text:"text-jupstudio",bg:"bg-jupstudio",bg5:"bg-jupstudio/5",bg20:"bg-jupstudio/20",border:"border-jupstudio"},[types.SolanaTokenProtocol.LAUNCHLAB]:{text:"text-launchlab",bg:"bg-launchlab",bg5:"bg-launchlab/5",bg20:"bg-launchlab/20",border:"border-launchlab"},[types.SolanaTokenProtocol.METEORA]:{text:"text-meteora",bg:"bg-meteora",bg5:"bg-meteora/5",bg20:"bg-meteora/20",border:"border-meteora"},[types.SolanaTokenProtocol.MOONIT]:{text:"text-moonit",bg:"bg-moonit",bg5:"bg-moonit/5",bg20:"bg-moonit/20",border:"border-moonit"},[types.SolanaTokenProtocol.MOONSHOT]:{text:"text-moonshot",bg:"bg-moonshot",bg5:"bg-moonshot/5",bg20:"bg-moonshot/20",border:"border-moonshot"},[types.SolanaTokenProtocol.ORCA]:{text:"text-orca",bg:"bg-orca",bg5:"bg-orca/5",bg20:"bg-orca/20",border:"border-orca"},[types.SolanaTokenProtocol.PUMP]:{text:"text-pump",bg:"bg-pump",bg5:"bg-pump/5",bg20:"bg-pump/20",border:"border-pump"},[types.SolanaTokenProtocol.RAYDIUM]:{text:"text-raydium",bg:"bg-raydium",bg5:"bg-raydium/5",bg20:"bg-raydium/20",border:"border-raydium"},[types.SolanaTokenProtocol.SUGAR]:{text:"text-sugar",bg:"bg-sugar",bg5:"bg-sugar/5",bg20:"bg-sugar/20",border:"border-sugar"},[types.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"},[types.SolanaTokenProtocol.PUMP_AMM]:{text:"text-pump-amm",bg:"bg-pump-amm",bg5:"bg-pump-amm/5",bg20:"bg-pump-amm/20",border:"border-pump-amm"}},ia={text:"text-neutral",bg:"bg-neutral",bg5:"bg-neutral/5",bg20:"bg-neutral/20",border:"border-neutral"};function fe(e){return na[e]??ia}function ie({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:s=true,showProtocolFamily:r=true,radius:n="sm",className:i,classNames:a}){let l=react.useMemo(()=>e.launchedFrom?.protocolFamily?utils.parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),d=react.useMemo(()=>r&&l,[r,l]),c=react.useMemo(()=>s&&e.migrateProgress&&new utils.SafeBigNumber(e.migrateProgress).lt(100),[s,e.migrateProgress]),p=react.useMemo(()=>o&&e.image,[o,e.image]),m=react.useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[u,x]=react.useState(false),k=react.useCallback(()=>{x(true);},[]),g=react.useCallback(()=>{x(false);},[]),f=react.useCallback(h=>{if(h.stopPropagation(),!e.image)return;let b=utils.searchImageUrl(e.image);window.open(b,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative justify-center items-center",i??"w-15 h-15"),children:[!c&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0",`rounded-${n}`,l?fe(l).bg:"bg-bullish",a?.background)}),c&&jsxRuntime.jsx("div",{className:ui.cn("absolute -inset-0.5",`rounded-${n}`),children:jsxRuntime.jsx(pa,{className:ui.cn(l?fe(l).text:"text-bullish",a?.progress),progress:e.migrateProgress??"0"})}),jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 p-px flex items-center justify-center",`rounded-${n}`,l?fe(l).bg20:"bg-bullish/20",a?.avatarWrapper),children:jsxRuntime.jsx(ca,{token:e,radius:n,enableSearch:o,enablePreview:t,classNames:a,children:jsxRuntime.jsxs("div",{className:ui.cn("relative w-full h-full bg-content1 flex items-center justify-center p-0.5",`rounded-${n}`,u&&p&&"cursor-pointer"),onMouseEnter:k,onMouseLeave:g,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:m,className:ui.cn("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${n}`,a?.avatar)}),u&&p&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${n}`,a?.searchWrapper),onClick:f,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-6 h-6",a?.searchIcon)})})]})})}),d&&jsxRuntime.jsx("div",{className:"contents",children:jsxRuntime.jsx(ui.StyledTooltip,{content:e.launchedFrom?.protocolFamily??l,placement:"bottom",children:jsxRuntime.jsx("div",{className:ui.cn("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",l&&fe(l).bg,a?.protocolFamilyIconWrapper),children:jsxRuntime.jsx(ui.Image,{removeWrapper:true,src:`/images/protocols/${l}.svg`,className:ui.cn("w-full h-full rounded-full bg-content1",a?.protocolFamilyIcon)})})})})]})}function ca({token:e,radius:t,enableSearch:o,enablePreview:s,classNames:r,children:n}){return react.useMemo(()=>s&&e.image,[s,e.image])?jsxRuntime.jsx(ui.StyledTooltip,{content:jsxRuntime.jsx(ma,{token:e,radius:t,enableSearch:o,classNames:r}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:n}):n}function ma({token:e,enableSearch:t,radius:o,classNames:s}){let r=react.useMemo(()=>t&&e.image,[t,e.image]),n=react.useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[i,a]=react.useState(false),l=react.useCallback(()=>{a(true);},[]),d=react.useCallback(()=>{a(false);},[]),c=react.useCallback(p=>{if(p.stopPropagation(),!e.image)return;let m=utils.searchImageUrl(e.image);window.open(m,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative flex items-center justify-center w-60 h-60",`rounded-${o}`,i&&r&&"cursor-pointer",s?.previewWrapper),onMouseEnter:l,onMouseLeave:d,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:n,className:ui.cn("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,s?.previewAvatar)}),i&&r&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick:c,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-10 h-10",s?.previewSearchIcon)})})]})}function pa({progress:e,className:t}){let o=react.useMemo(()=>296-Number(e)*296/100,[e]);return jsxRuntime.jsxs("svg",{viewBox:"0 0 78 78",className:"w-full h-full",children:[jsxRuntime.jsx("path",{className:`${t} opacity-40`,stroke:"currentColor",fill:"transparent",strokeWidth:"1",d:`
|
|
1
|
+
'use strict';var react=require('react'),reactWindow=require('react-window'),ui=require('@liberfi.io/ui'),i18n=require('@liberfi.io/i18n'),jsxRuntime=require('react/jsx-runtime'),hooks=require('@liberfi.io/hooks'),utils=require('@liberfi.io/utils'),types=require('@liberfi.io/types'),react$1=require('@liberfi.io/react'),uiScaffold=require('@liberfi.io/ui-scaffold'),jotai=require('jotai'),utils$1=require('jotai/utils'),reactWindowInfiniteLoader=require('react-window-infinite-loader');function ir({title:e,isPaused:t,extra:o,className:s}){let{t:r}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-12 px-3 flex-none bg-content1 flex items-center justify-between gap-4 border-b border-border",s),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("h2",{className:"font-semibold",children:e}),t&&jsxRuntime.jsxs("div",{className:"flex items-center gap-1 text-primary",children:[jsxRuntime.jsx(ui.PauseIcon,{className:"w-4 h-4"}),jsxRuntime.jsx("span",{className:"text-xs hidden sm:inline",children:r("tokens.pulse.paused")})]})]}),o&&jsxRuntime.jsx("div",{className:"flex items-center gap-3",children:o})]})}function lr({isLast:e=false,className:t}){return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full px-3 py-3 overflow-hidden flex gap-3 items-center",!e&&"border-b border-border",t),children:[jsxRuntime.jsx(ui.Skeleton,{className:"flex-none w-15 h-15 rounded-sm"}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-2",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-32 h-5 rounded-md"}),jsxRuntime.jsx(ui.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 jsxRuntime.jsx(ui.StyledTooltip,{content:o,placement:i,children:jsxRuntime.jsxs("div",{className:ui.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,jsxRuntime.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 jsxRuntime.jsx("span",{className:ui.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-wrap items-center gap-1",t),children:[s.map(n=>jsxRuntime.jsx(wa,{tag:n},n)),r>0&&jsxRuntime.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 jsxRuntime.jsx("span",{className:ui.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-wrap items-center gap-1",t),children:[s.map(n=>jsxRuntime.jsx(La,{tag:n},n)),r>0&&jsxRuntime.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={[types.SolanaTokenProtocol.BAGS]:{text:"text-bags",bg:"bg-bags",bg5:"bg-bags/5",bg20:"bg-bags/20",border:"border-bags"},[types.SolanaTokenProtocol.BELIEVE]:{text:"text-believe",bg:"bg-believe",bg5:"bg-believe/5",bg20:"bg-believe/20",border:"border-believe"},[types.SolanaTokenProtocol.BONK]:{text:"text-bonk",bg:"bg-bonk",bg5:"bg-bonk/5",bg20:"bg-bonk/20",border:"border-bonk"},[types.SolanaTokenProtocol.BOOP]:{text:"text-boop",bg:"bg-boop",bg5:"bg-boop/5",bg20:"bg-boop/20",border:"border-boop"},[types.SolanaTokenProtocol.HEAVEN]:{text:"text-heaven",bg:"bg-heaven",bg5:"bg-heaven/5",bg20:"bg-heaven/20",border:"border-heaven"},[types.SolanaTokenProtocol.JUPSTUDIO]:{text:"text-jupstudio",bg:"bg-jupstudio",bg5:"bg-jupstudio/5",bg20:"bg-jupstudio/20",border:"border-jupstudio"},[types.SolanaTokenProtocol.LAUNCHLAB]:{text:"text-launchlab",bg:"bg-launchlab",bg5:"bg-launchlab/5",bg20:"bg-launchlab/20",border:"border-launchlab"},[types.SolanaTokenProtocol.METEORA]:{text:"text-meteora",bg:"bg-meteora",bg5:"bg-meteora/5",bg20:"bg-meteora/20",border:"border-meteora"},[types.SolanaTokenProtocol.MOONIT]:{text:"text-moonit",bg:"bg-moonit",bg5:"bg-moonit/5",bg20:"bg-moonit/20",border:"border-moonit"},[types.SolanaTokenProtocol.MOONSHOT]:{text:"text-moonshot",bg:"bg-moonshot",bg5:"bg-moonshot/5",bg20:"bg-moonshot/20",border:"border-moonshot"},[types.SolanaTokenProtocol.ORCA]:{text:"text-orca",bg:"bg-orca",bg5:"bg-orca/5",bg20:"bg-orca/20",border:"border-orca"},[types.SolanaTokenProtocol.PUMP]:{text:"text-pump",bg:"bg-pump",bg5:"bg-pump/5",bg20:"bg-pump/20",border:"border-pump"},[types.SolanaTokenProtocol.RAYDIUM]:{text:"text-raydium",bg:"bg-raydium",bg5:"bg-raydium/5",bg20:"bg-raydium/20",border:"border-raydium"},[types.SolanaTokenProtocol.SUGAR]:{text:"text-sugar",bg:"bg-sugar",bg5:"bg-sugar/5",bg20:"bg-sugar/20",border:"border-sugar"},[types.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"},[types.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=react.useMemo(()=>e.launchedFrom?.protocolFamily?utils.parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),c=react.useMemo(()=>r&&l,[r,l]),m=react.useMemo(()=>s&&e.migrateProgress&&new utils.SafeBigNumber(e.migrateProgress).lt(100),[s,e.migrateProgress]),d=react.useMemo(()=>o&&e.image,[o,e.image]),p=react.useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[u,f]=react.useState(false),k=react.useCallback(()=>{f(true);},[]),x=react.useCallback(()=>{f(false);},[]),g=react.useCallback(h=>{if(h.stopPropagation(),!e.image)return;let b=utils.searchImageUrl(e.image);window.open(b,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative justify-center items-center",i??"w-15 h-15"),children:[!m&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0",`rounded-${n}`,l?Te(l).bg:"bg-[rgba(39,39,42,0.6)]",a?.background)}),m&&jsxRuntime.jsx("div",{className:ui.cn("absolute -inset-0.5",`rounded-${n}`),children:jsxRuntime.jsx(Ua,{className:ui.cn(l?Te(l).text:"text-[rgba(39,39,42,0.6)]",a?.progress),progress:e.migrateProgress??"0"})}),jsxRuntime.jsx("div",{className:ui.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:jsxRuntime.jsx(Ia,{token:e,radius:n,enableSearch:o,enablePreview:t,classNames:a,children:jsxRuntime.jsxs("div",{className:ui.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:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:p,className:ui.cn("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${n}`,a?.avatar)}),u&&d&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${n}`,a?.searchWrapper),onClick:g,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-6 h-6",a?.searchIcon)})})]})})}),c&&jsxRuntime.jsx("div",{className:"contents",children:jsxRuntime.jsx(ui.StyledTooltip,{content:e.launchedFrom?.protocolFamily??l,placement:"bottom",children:jsxRuntime.jsx("div",{className:ui.cn("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",l&&Te(l).bg,a?.protocolFamilyIconWrapper),children:jsxRuntime.jsx(ui.Image,{removeWrapper:true,src:`/images/protocols/${l}.svg`,className:ui.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 react.useMemo(()=>s&&e.image,[s,e.image])?jsxRuntime.jsx(ui.StyledTooltip,{content:jsxRuntime.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=react.useMemo(()=>t&&e.image,[t,e.image]),n=react.useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[i,a]=react.useState(false),l=react.useCallback(()=>{a(true);},[]),c=react.useCallback(()=>{a(false);},[]),m=react.useCallback(d=>{if(d.stopPropagation(),!e.image)return;let p=utils.searchImageUrl(e.image);window.open(p,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui.cn("relative flex items-center justify-center w-60 h-60",`rounded-${o}`,i&&r&&"cursor-pointer",s?.previewWrapper),onMouseEnter:l,onMouseLeave:c,children:[jsxRuntime.jsx(ui.Avatar,{showFallback:true,src:e.image,name:n,className:ui.cn("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,s?.previewAvatar)}),i&&r&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,s?.previewSearchWrapper),onClick:m,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-10 h-10",s?.previewSearchIcon)})})]})}function Ua({progress:e,className:t}){let o=react.useMemo(()=>296-Number(e)*296/100,[e]);return jsxRuntime.jsxs("svg",{viewBox:"0 0 78 78",className:"w-full h-full",children:[jsxRuntime.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 @@
|
|
|
18
18
|
Q 76 2 76 6
|
|
19
19
|
L 76 72
|
|
20
20
|
Q 76 76 76 76
|
|
21
|
-
`})]})}function sr({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:r}){let{t:n}=i18n.useTranslation(),i=ui.useCopyToClipboard(),a=hooks.useTickAge(e.createdAt),l=react.useCallback(()=>{s?.(e);},[s,e]),d=react.useCallback(h=>{h.stopPropagation(),i(e.address,()=>ui.toast.success(n("tokens.copied.address")));},[i,e.address,n]),c=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.top10HoldingsRatio).gte(.1),[e.marketData?.top10HoldingsRatio]),p=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.devHoldingsRatio).gte(.1),[e.marketData?.devHoldingsRatio]),m=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.insiderHoldingsRatio).gte(.1),[e.marketData?.insiderHoldingsRatio]),u=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),x=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[k,g]=react.useMemo(()=>{let h=Number(e.stats?.["1h"]?.buys??0),b=Number(e.stats?.["1h"]?.sells??0),T=h+b;if(T===0)return [12,12];let E=Math.round(h/T*24);return [E,24-E]},[e.stats]),f=react.useMemo(()=>{let h=new utils.SafeBigNumber(e.marketData?.marketCapInUsd);return h.lt(1e3)?"text-foreground":h.lt(1e6)?"text-secondary":"text-primary"},[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx("div",{className:ui.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:jsxRuntime.jsxs("div",{className:"relative flex justify-between gap-3",children:[jsxRuntime.jsxs("div",{className:"flex-none flex flex-col items-center gap-1",children:[jsxRuntime.jsx(ie,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-15 h-15"}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.address,children:jsxRuntime.jsx("div",{className:"text-xs text-neutral hover:text-primary/50 max-w-18 truncate cursor-pointer",onClick:d,children:utils.truncateAddress(e.address,4,4)})})]}),jsxRuntime.jsxs("div",{className:"flex-1 flex flex-col justify-between gap-3 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1 pr-24",children:[jsxRuntime.jsx("span",{className:"flex-none text-base font-semibold whitespace-nowrap overflow-hidden text-ellipsis max-w-20",children:e.symbol}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.name,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1 min-w-0 text-neutral hover:text-primary/50 cursor-pointer",onClick:d,children:[jsxRuntime.jsx("span",{className:"text-base whitespace-nowrap overflow-hidden text-ellipsis",children:e.name}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3.5 h-3.5"})]})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[jsxRuntime.jsx("span",{className:"text-sm text-primary font-medium",children:utils.formatAge(a)}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsxRuntime.jsx(ui.TwitterIcon,{className:"w-4 h-4"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsxRuntime.jsx(ui.TelegramIcon,{className:"w-4 h-4"})}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsxRuntime.jsx(ui.WebsiteIcon,{className:"w-4 h-4"})}),jsxRuntime.jsx(ui.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsxRuntime.jsx(ui.SearchIcon,{className:"w-4 h-4"})}),jsxRuntime.jsx(ui.StyledTooltip,{content:n("tokens.tokenInfo.holders"),children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsxRuntime.jsx(ui.PeopleIcon,{width:14,height:14}),jsxRuntime.jsx("span",{className:"text-foreground text-xs",children:utils.formatAmount(e.marketData?.holders)})]})}),jsxRuntime.jsx(ui.StyledTooltip,{content:n("tokens.tokenInfo.proHolders"),children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsxRuntime.jsx(ui.KlineCandlesIcon,{width:16,height:16}),jsxRuntime.jsx("span",{className:"text-foreground text-xs",children:utils.formatAmount(e.marketData?.proHolders)})]})}),jsxRuntime.jsx(ui.StyledTooltip,{content:n("tokens.tokenInfo.kolHolders"),children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsxRuntime.jsx(ui.StarIcon,{width:14,height:14}),jsxRuntime.jsx("span",{className:"text-foreground text-xs",children:utils.formatAmount(e.marketData?.kolHolders)})]})})]})]}),jsxRuntime.jsxs("div",{className:"relative flex items-center gap-1.5 flex-wrap",children:[jsxRuntime.jsx(ze,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.top10HoldingsRatio),tooltip:n("tokens.tokenInfo.top10HoldingsRatio"),warning:c}),jsxRuntime.jsx(ze,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.devHoldingsRatio),tooltip:n("tokens.tokenInfo.devHoldingsRatio"),warning:p}),jsxRuntime.jsx(ze,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.insiderHoldingsRatio),tooltip:n("tokens.tokenInfo.insiderHoldingsRatio"),warning:m}),jsxRuntime.jsx(ze,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.sniperHoldingsRatio),tooltip:n("tokens.tokenInfo.sniperHoldingsRatio"),warning:u}),jsxRuntime.jsx(ze,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.bundleHoldingsRatio),tooltip:n("tokens.tokenInfo.bundleHoldingsRatio"),warning:x}),t?.(e)]})]}),jsxRuntime.jsxs("div",{className:"absolute top-0 right-0 flex flex-col gap-2 items-end",children:[jsxRuntime.jsxs("div",{className:"flex items-end gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.listHeader.marketCap")}),jsxRuntime.jsx("span",{className:ui.cn("text-base font-medium leading-none",f),children:utils.formatAmountUSDCompact(e.marketData?.marketCapInUsd)})]}),jsxRuntime.jsxs("div",{className:"flex items-end gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.pulse.vol")}),jsxRuntime.jsx("span",{className:"text-base font-medium leading-none text-foreground",children:utils.formatAmountUSDCompact(e.stats?.["1h"]?.volumesInUsd)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.pulse.txs")}),jsxRuntime.jsx("span",{className:"text-xs leading-none text-foreground",children:utils.formatAmount(e.stats?.["1h"]?.trades)})]}),jsxRuntime.jsxs("div",{className:"flex rounded-full overflow-hidden",children:[jsxRuntime.jsx("div",{className:"h-1 bg-bullish",style:{width:`${k}px`}}),jsxRuntime.jsx("div",{className:"h-1 bg-bearish",style:{width:`${g}px`}})]})]})]})]})})}function ze({icon:e,value:t,tooltip:o,warning:s}){return jsxRuntime.jsx(ui.StyledTooltip,{content:o,children:jsxRuntime.jsxs("div",{className:ui.cn("px-2 py-0.5 flex items-center gap-1 bg-content2 rounded-full text-xs",s?"text-danger-500":"text-primary"),children:[e,jsxRuntime.jsx("span",{children:t})]})})}var Da=124,ir=10;function Wa({index:e,style:t,data:o,skeletonCount:s,renderItemAction:r,onSelectToken:n}){return o?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(sr,{token:o[e],isLast:e===o.length-1,renderAction:r,onSelectToken:n})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Xo,{isLast:e===s-1})})}function Re({title:e,tokens:t,isLoading:o,itemHeight:s=Da,renderHeaderExtra:r,renderItemAction:n,onSelectToken:i,onPauseChange:a,className:l,hideHeader:d}){let c=o||!t?void 0:t,p=c?c.length:ir,m=react.useMemo(()=>({data:c,skeletonCount:ir,renderItemAction:n,onSelectToken:i}),[c,n,i]),[u,x]=react.useState(false),k=react.useCallback(()=>{x(true),a?.(true);},[a]),g=react.useCallback(()=>{x(false),a?.(false);},[a]);return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full bg-content1 overflow-hidden flex flex-col border border-border rounded-lg",l),onMouseEnter:k,onMouseLeave:g,children:[!d&&jsxRuntime.jsx(Go,{title:e,isPaused:u,extra:r}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:p,rowHeight:s,rowComponent:Wa,rowProps:m,overscanCount:5})})]})}function eo(e,t){let o={...e};for(let s of Object.keys(t))t[s]!==void 0&&(o[s]=t[s]);return o}var Ea=["1m","5m","15m","30m","1h","4h","24h"];function Va(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let s of Ea)t[s]&&(o[s]=e[s]?eo(e[s],t[s]):t[s]);return o}function $a(e,t){return t?e?eo(e,t):t:e}function ft(e,t){return t?e?eo(e,t):t:e}function I(e,t){let{chain:o,address:s,stats:r,marketData:n,socialMedias:i,security:a,launchedFrom:l,migratedTo:d,...c}=t,p={...e};for(let m of Object.keys(c))c[m]!==void 0&&(p[m]=c[m]);return p.stats=Va(e.stats,r),p.marketData=$a(e.marketData,n),p.socialMedias=ft(e.socialMedias,i),p.security=ft(e.security,a),p.launchedFrom=ft(e.launchedFrom,l),p.migratedTo=ft(e.migratedTo,d),p}var qa=80;function Qa(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function mr(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,qa)}function pr({chain:e,isPaused:t=false,refetchInterval:o=1e4}){let s=react.useMemo(()=>({chain:e}),[e]),r=react.useRef(t);r.current=t;let n=react.useRef(e),[i,a]=react.useState(true),[l,d]=react.useState([]);react.useEffect(()=>{e!==n.current&&(a(true),d([]),n.current=e);},[e]);let{data:c,isPending:p}=react$1.useNewTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{c&&(d(x=>{let k=r.current,g=x.length===0&&c.length>0,f=[...x];for(let h of c){let b=f.findIndex(T=>T.address===h.address);b>=0?f[b]=I(f[b],h):(!k||g)&&f.push(h);}return k?f:mr(f)}),a(false));},[c]);let m=react.useCallback(x=>{d(k=>{let g=r.current,f=[...k],h=false;for(let b of x){let T=f.findIndex(E=>E.address===b.address);T>=0?(h=true,f[T]=I(f[T],b)):g||(h=true,f.push(Qa(b)));}return h?g?f:mr(f):k});},[]);react$1.useNewTokensSubscription({chain:e},m);let u=react.useMemo(()=>p||i,[p,i]);return {tokens:l,isLoading:u}}function Mg({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=react.useState(false),{tokens:d,isLoading:c}=pr({chain:e,isPaused:a}),p=react.useCallback(m=>{l(m);},[]);return jsxRuntime.jsx(Re,{title:t,tokens:d,isLoading:c,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:p,className:n,hideHeader:i})}function kr({chain:e,isPaused:t=false,refetchInterval:o=3e4}){let s=react.useMemo(()=>({chain:e}),[e]),r=react.useRef(t);r.current=t;let n=react.useRef(e),[i,a]=react.useState(true),[l,d]=react.useState([]);react.useEffect(()=>{e!==n.current&&(a(true),d([]),n.current=e);},[e]);let{data:c,isPending:p}=react$1.useMigratedTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{c&&(d(x=>{let k=r.current,g=[...x];for(let f of c){let h=g.findIndex(b=>b.address===f.address);h>=0?g[h]=I(g[h],f):k||g.unshift(f);}return g}),a(false));},[c]);let m=react.useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0&&(f=true,g[b]=I(g[b],h));}return f?g:k});},[]);react$1.useMigratedTokensSubscription({chain:e},m);let u=react.useMemo(()=>p||i,[p,i]);return {tokens:l,isLoading:u}}function $g({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=react.useState(false),{tokens:d,isLoading:c}=kr({chain:e,isPaused:a}),p=react.useCallback(m=>{l(m);},[]);return jsxRuntime.jsx(Re,{title:t,tokens:d,isLoading:c,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:p,className:n,hideHeader:i})}function il(e){return e.sort((t,o)=>{let s=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-s})}function vr({chain:e,isPaused:t=false,refetchInterval:o=15e3}){let s=react.useMemo(()=>({chain:e}),[e]),r=react.useRef(t);r.current=t;let n=react.useRef(e),[i,a]=react.useState(true),[l,d]=react.useState([]);react.useEffect(()=>{e!==n.current&&(a(true),d([]),n.current=e);},[e]);let{data:c,isPending:p}=react$1.useFinalStretchTokensQuery(s,{refetchInterval:o});react.useEffect(()=>{c&&(d(x=>{let k=r.current,g=x.length===0&&c.length>0,f=[...x];for(let h of c){let b=f.findIndex(T=>T.address===h.address);b>=0?f[b]=I(f[b],h):(!k||g)&&f.push(h);}return k?f:il(f)}),a(false));},[c]);let m=react.useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0&&(f=true,g[b]=I(g[b],h));}return f?g:k});},[]);react$1.useFinalStretchTokensSubscription({chain:e},m);let u=react.useMemo(()=>p||i,[p,i]);return {tokens:l,isLoading:u}}function jg({chain:e,title:t,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,className:n,hideHeader:i}){let[a,l]=react.useState(false),{tokens:d,isLoading:c}=vr({chain:e,isPaused:a}),p=react.useCallback(m=>{l(m);},[]);return jsxRuntime.jsx(Re,{title:t,tokens:d,isLoading:c,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:p,className:n,hideHeader:i})}var pl=10,ul=utils$1.atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function gt(){let[e,t]=jotai.useAtom(ul),o=react.useCallback(r=>{let n=r.trim();n&&t(i=>{let a=i.filter(l=>l!==n);return [n,...a].slice(0,pl)});},[t]),s=react.useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:s}}function Lr({histories:e,onSelect:t,onClear:o,className:s}){let{t:r}=i18n.useTranslation();return e.length===0?null:jsxRuntime.jsxs("div",{className:ui.cn("px-4 pb-4",s),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium",children:r("tokens.search.history")}),jsxRuntime.jsx(ui.Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsxRuntime.jsx(ui.TrashIcon,{width:20,height:20})})]}),jsxRuntime.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(n=>jsxRuntime.jsx(ui.Chip,{size:"sm",variant:"bordered",className:ui.cn("text-neutral","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(n),children:n},n))})]})}function wr({onSelect:e,className:t}){let{histories:o,clearHistories:s}=gt();return jsxRuntime.jsx(Lr,{className:ui.cn(t),histories:o,onSelect:e,onClear:s})}function Pr({value:e,onValueChange:t,onClear:o,onEscape:s,className:r}){let{t:n}=i18n.useTranslation();return jsxRuntime.jsx("div",{className:r,children:jsxRuntime.jsx(ui.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:jsxRuntime.jsx(ui.SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent:e?jsxRuntime.jsx(ui.Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsxRuntime.jsx(ui.XCloseIcon,{width:20,height:20})}):jsxRuntime.jsx(ui.Kbd,{className:"min-w-8 justify-center text-xs text-neutral bg-transparent border border-[rgba(63,63,70,0.5)] rounded-full cursor-pointer select-none",onMouseDown:i=>{i.preventDefault(),s?.();},children:"Esc"})})})}function xt({token:e,className:t}){let{t:o}=i18n.useTranslation(),s=hooks.useTickAge(e.createdAt),r=react.useMemo(()=>e.marketData?.priceInUsd,[e]),n=react.useMemo(()=>e.marketData?.marketCapInUsd,[e]),i=react.useMemo(()=>e.marketData?.tvlInUsd,[e]),a=react.useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),l=react.useMemo(()=>a?new utils.SafeBigNumber(a).abs().toString():void 0,[a]),d=react.useMemo(()=>a!=null&&new utils.SafeBigNumber(a).gte(0),[a]);return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full px-3 flex items-center justify-between gap-2","hover:cursor-pointer hover:bg-content2 rounded-lg",t),children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2.5",children:[jsxRuntime.jsx(ie,{token:e,className:"w-10 h-10 flex-none",showProtocolFamily:true,classNames:{searchIcon:"w-5 h-5"}}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"font-medium text-sm truncate",children:e.symbol}),jsxRuntime.jsx("span",{className:"text-xs text-primary font-medium",children:utils.formatAge(s)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 text-xs text-neutral",children:[jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.mcShort")," ",utils.formatAmountUSD(n)]}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.liqShort")," ",utils.formatAmountUSD(i)]})]})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsxRuntime.jsx("span",{className:"text-xs",children:utils.formatPriceUSD(r)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex gap-0.5 items-center text-xs",d?"text-bullish":"text-bearish"),children:[d?jsxRuntime.jsx(ui.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:8,height:8}),jsxRuntime.jsx("span",{children:utils.formatPercent(l)})]})]})]})}function kt({className:e}){let{t}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.cn("h-9 px-3 flex items-center justify-between","text-xs font-medium text-neutral","sticky top-0 z-10",e),children:[jsxRuntime.jsx("div",{className:"flex-1",children:jsxRuntime.jsxs("span",{children:[t("tokens.listHeader.token")," / ",t("tokens.listHeader.age")," /"," ",t("tokens.listHeader.marketCap")," /"," ",t("tokens.listHeader.liquidity")]})}),jsxRuntime.jsx("div",{className:"flex-none w-20 text-right",children:jsxRuntime.jsxs("span",{children:[t("tokens.listHeader.price")," / ",t("tokens.listHeader.24hChange")]})})]})}function Ul(){return jsxRuntime.jsxs("div",{className:"w-full h-14 px-3 flex items-center justify-between gap-2",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[jsxRuntime.jsx(ui.Skeleton,{className:"flex-none w-8 h-8 rounded-full"}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-24 h-4 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-36 h-3 rounded-md"})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end gap-1.5",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-14 h-4 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-10 h-3 rounded-md"})]})]})}function bt({rows:e=6,className:t}){return jsxRuntime.jsx("div",{className:ui.cn("w-full",t),children:Array.from({length:e}).map((o,s)=>jsxRuntime.jsx(Ul,{},s))})}function Fr({keyword:e,chains:t,limit:o=50}){let s=react.useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:r,isLoading:n,isFetchingNextPage:i,hasNextPage:a,fetchNextPage:l}=react$1.useSearchTokensInfiniteQuery(s,{enabled:!!e});return {tokens:react.useMemo(()=>r?.pages.flatMap(c=>c.data)??[],[r]),isLoading:n,isFetchingNextPage:i,hasNextPage:a??false,fetchNextPage:l}}var ql=56;function Ur({onSelectToken:e,className:t,...o}){let{tokens:s,isLoading:r,isFetchingNextPage:n,hasNextPage:i,fetchNextPage:a}=Fr(o),l=react.useRef(null),{height:d}=hooks.useResizeObserver({ref:l}),c=react.useCallback(x=>x<s.length,[s]),p=react.useCallback(async()=>{i&&!n&&await a();},[i,n,a]),m=react.useMemo(()=>i?s.length+1:s.length,[s,i]),u=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:c,loadMoreRows:p,rowCount:m,threshold:5});return r?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(kt,{}),jsxRuntime.jsx(bt,{})]}):s.length===0?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(kt,{}),jsxRuntime.jsx(Gl,{})]}):jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(kt,{className:"flex-none"}),jsxRuntime.jsx("div",{className:"flex-auto min-h-0",ref:l,children:jsxRuntime.jsx(reactWindow.List,{style:{height:d},onRowsRendered:u,rowComponent:Ql,rowCount:m,rowHeight:ql,rowProps:{tokens:s,onSelectToken:e},overscanCount:5})})]})}function Ql({index:e,style:t,tokens:o,onSelectToken:s}){let r=o[e];return r?jsxRuntime.jsx("div",{style:t,onClick:()=>s?.(r),children:jsxRuntime.jsx(xt,{token:r})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})}function Gl(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center py-16",children:[jsxRuntime.jsx(ui.EmptyIcon,{width:28,height:28,className:"text-neutral"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-neutral",children:e("tokens.search.noResults")})]})}function Tt({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=react.useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=react.useRef(r),[i,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),d([]),n.current=r);},[r]);let[l,d]=react.useState([]),{data:c,isPending:p}=react$1.useTrendingTokensQuery(r,{refetchInterval:s});react.useEffect(()=>{c&&(d(x=>{let k=[];for(let g of c){let f=x.find(h=>h.address===g.address);k.push(f?I(f,g):g);}return k}),a(false));},[c]);let m=react.useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0&&(f=true,g[b]=I(g[b],h));}return f?g:k});},[]);react$1.useTrendingTokensSubscription({chain:e},m);let u=react.useMemo(()=>!!(p||i),[p,i]);return {tokens:l,isLoading:u}}var td=types.Chain.ETHEREUM,od="24h",rd=56;function Er({chains:e,onSelectToken:t,className:o}){let s=e?.length===1?e[0]:e?.[0]??td,{tokens:r,isLoading:n}=Tt({chain:s,resolution:od});return jsxRuntime.jsx("div",{className:ui.cn("w-full flex flex-col overflow-hidden",o),children:n?jsxRuntime.jsx(bt,{}):jsxRuntime.jsx("div",{className:"overflow-y-auto",children:r.map(i=>jsxRuntime.jsx("div",{style:{height:rd},onClick:()=>t?.(i),children:jsxRuntime.jsx(xt,{token:i,className:"h-full"})},i.address))})})}function _r({onKeywordChange:e}){let[t,o]=react.useState(""),[s,r]=react.useState(""),{addHistory:n}=gt(),i=hooks.useCallbackRef(e),a=hooks.useCallbackRef(n),l=react.useMemo(()=>utils.debounce(m=>{r(m),i(m),m&&a(m);},500),[i,a]),d=react.useCallback(m=>{o(m),l(m);},[l]),c=react.useCallback(m=>{l.cancel(),o(m),r(m),i(m),m&&a(m);},[l,i,a]),p=react.useCallback(()=>c(""),[c]);return {text:t,keyword:s,setText:d,setKeyword:c,clearKeyword:p}}function zr({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:s}){let{text:r,keyword:n,setText:i,setKeyword:a,clearKeyword:l}=_r({onKeywordChange:t});return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(Pr,{value:r,onValueChange:i,onClear:l,onPaste:a,onEscape:s}),n?jsxRuntime.jsx(Ur,{className:"flex-auto min-h-0",keyword:n,chains:e,onSelectToken:o}):jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col overflow-hidden",children:[jsxRuntime.jsx(wr,{onSelect:a}),jsxRuntime.jsx(Er,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}var so="search";function Dk({id:e=so}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(xd,{...t})})}function xd({params:e,isOpen:t,onOpenChange:o,onResult:s}){let{t:r}=i18n.useTranslation(),{isMobile:n}=ui.useScreen(),i=react.useCallback(a=>{s(a);},[s]);return jsxRuntime.jsx(ui.StyledModal,{isOpen:t,onOpenChange:o,size:n?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxRuntime.jsxs(ui.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:[jsxRuntime.jsxs(ui.ModalHeader,{className:"sm:hidden flex items-center justify-between pt-4 pb-2",children:[jsxRuntime.jsx("span",{className:"text-base font-semibold",children:r("tokens.search.title")}),jsxRuntime.jsx(ui.Button,{isIconOnly:true,onPress:()=>o(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsxRuntime.jsx(ui.XCloseIcon,{width:20,height:20})})]}),jsxRuntime.jsx(ui.ModalBody,{className:"p-4",children:jsxRuntime.jsx(zr,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function qk({chains:e,onSelectToken:t,className:o}){let{t:s}=i18n.useTranslation(),{isDesktop:r,isMobile:n}=ui.useScreen(),{onOpen:i,onClose:a}=uiScaffold.useAsyncModal(so),l=hooks.useCallbackRef(t),d=hooks.useCallbackRef(async()=>{let p=await i({params:{chains:e}});p&&l(p);}),c=hooks.useCallbackRef(()=>{a();});return react.useEffect(()=>{let p=m=>{let u=document.activeElement,x=!!u&&(u.tagName==="INPUT"||u.tagName==="TEXTAREA"||u.getAttribute("contenteditable")==="true");m.key==="/"&&!x&&(m.preventDefault(),d()),m.key==="Escape"&&(m.preventDefault(),c());};return window.addEventListener("keydown",p),()=>{window.removeEventListener("keydown",p);}},[d,c]),jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",isIconOnly:!r,onPress:d,variant:n?"flat":"bordered",startContent:r?jsxRuntime.jsx(ui.SearchIcon,{className:"text-neutral"}):void 0,endContent:r?jsxRuntime.jsx(ui.Kbd,{className:"min-w-6 justify-center text-xs bg-transparent border border-border rounded-full",children:"/"}):void 0,className:ui.cn(r&&"pl-3 pr-1.5 text-neutral",o),children:r?s("tokens.search.placeholder"):jsxRuntime.jsx(ui.SearchIcon,{className:"text-neutral"})})}var io={kol:{label:"KOL",bgClass:"bg-yellow-500/15",textClass:"text-yellow-400"},smart:{label:"Smart",bgClass:"bg-sky-500/15",textClass:"text-sky-400"},sniper:{label:"Sniper",bgClass:"bg-red-500/15",textClass:"text-red-400"},dev:{label:"Dev",bgClass:"bg-orange-500/15",textClass:"text-orange-400"},bundle:{label:"Bundle",bgClass:"bg-purple-500/15",textClass:"text-purple-400"},bluechip:{label:"Bluechip",bgClass:"bg-emerald-500/15",textClass:"text-emerald-400"},insider:{label:"Insider",bgClass:"bg-fuchsia-500/15",textClass:"text-fuchsia-400"},fresh:{label:"Fresh",bgClass:"bg-teal-500/15",textClass:"text-teal-400"}};function Nd({tag:e,className:t}){let o=io[e]??{label:e,bgClass:"bg-default/20",textClass:"text-default-500"};return jsxRuntime.jsx("span",{className:ui.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 Xr({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let s=o!=null&&o>0?e.slice(0,o):e,r=e.length-s.length;return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-wrap items-center gap-1",t),children:[s.map(n=>jsxRuntime.jsx(Nd,{tag:n},n)),r>0&&jsxRuntime.jsxs("span",{className:"inline-flex items-center rounded bg-default/20 px-1.5 py-0.5 text-[10px] font-medium text-default-500",children:["+",r]})]})}function Cd({tag:e,className:t}){let o=io[e]??{label:e,bgClass:"bg-default/20",textClass:"text-default-500"};return jsxRuntime.jsx("span",{className:ui.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 Nt({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let s=o!=null&&o>0?e.slice(0,o):e,r=e.length-s.length;return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-wrap items-center gap-1",t),children:[s.map(n=>jsxRuntime.jsx(Cd,{tag:n},n)),r>0&&jsxRuntime.jsxs("span",{className:"inline-flex items-center rounded bg-default/20 px-1.5 py-0.5 text-[10px] font-medium text-default-500",children:["+",r]})]})}function he(e){return e==null||e===""?"--":utils.formatPercent(Number(e)/100)}function J(e,t=4,o=4){return e?e.length<=t+o+1?e:`${e.slice(0,t)}\u2026${e.slice(-o)}`:"--"}function se(e,t=Date.now()){if(e==null)return "--";let o=typeof e=="string"||typeof e=="number"?new Date(e):e,s=typeof t=="number"?new Date(t):t,r=Math.max(0,Math.floor((s.getTime()-o.getTime())/1e3));if(r<60)return `${r}s`;let n=Math.floor(r/60);if(n<60)return `${n}m`;let i=Math.floor(n/60);if(i<24)return `${i}h`;let a=Math.floor(i/24);if(a<30)return `${a}d`;let l=Math.floor(a/30);return l<12?`${l}mo`:`${Math.floor(a/365)}y`}function P(e,t){let{data:o,isLoading:s}=react$1.useTokenQuery({chain:e,address:t}),[r,n]=react.useState(o);return react.useEffect(()=>{o&&n(o);},[o]),react$1.useTokenSubscription({chain:e,address:t},i=>{i?.length&&n(a=>{if(!a)return a;let l=a;for(let d of i)l=I(l,d);return l});}),{token:r,isLoading:s}}function Ie({label:e,totalFormatted:t,buysFormatted:o,sellsFormatted:s,totalValue:r=0,buysValue:n=0,className:i}){let a=new utils.SafeBigNumber(r??0),l=new utils.SafeBigNumber(n??0),d=a.eq(0)?0:l.div(a).times(100).toNumber();return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-1",i),children:[jsxRuntime.jsxs("div",{className:"flex items-baseline justify-between",children:[jsxRuntime.jsx("span",{className:"text-xs text-default-500",children:e}),jsxRuntime.jsx("span",{className:"text-xs text-foreground",children:t})]}),jsxRuntime.jsx(ui.Progress,{size:"sm",value:d,classNames:{track:"bg-bearish/40",indicator:"bg-bullish"},"aria-label":`${e} buy share`}),jsxRuntime.jsxs("div",{className:"flex justify-between gap-4 text-[10px]",children:[jsxRuntime.jsxs("span",{className:"text-bullish",children:["Buys: ",o]}),jsxRuntime.jsxs("span",{className:"text-bearish",children:["Sells: ",s]})]})]})}function os({token:e,actions:t,dataStrip:o,className:s,onCopyAddress:r}){let n=e?.address;return jsxRuntime.jsxs("div",{className:ui.cn("flex w-full flex-wrap items-center gap-4 px-4 py-3",s),children:[jsxRuntime.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e&&jsxRuntime.jsx(ie,{token:e,radius:"lg",className:"h-10 w-10"}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col gap-0.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"truncate text-base font-semibold text-foreground",children:e?.symbol??"--"}),jsxRuntime.jsx("span",{className:"truncate text-xs text-default-400",children:e?.name})]}),n&&jsxRuntime.jsxs("button",{type:"button",onClick:()=>r?.(n),className:"flex items-center gap-1 text-[11px] text-default-400 transition-colors hover:text-foreground",title:n,children:[J(n,6,6),jsxRuntime.jsx(ui.CopyIcon,{width:12,height:12})]})]})]}),o&&jsxRuntime.jsx("div",{className:"flex-1 min-w-0",children:o}),t&&jsxRuntime.jsx("div",{className:"ml-auto flex items-center gap-2",children:t})]})}function rs(e,t){return P(e,t)}function ns({price:e,marketCap:t,volume:o,holdersCount:s,socialMedia:r,className:n}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-wrap items-center gap-x-6 gap-y-3",n),children:[e,jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-3",children:[t,o,s]}),jsxRuntime.jsx("div",{className:"ml-auto",children:r})]})}function Xh(e,t){return P(e,t)}function as({holders:e,top10HoldingsRatio:t,top100HoldingsRatio:o,className:s}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",s),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:e!=null?utils.formatAmount(e):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:he(t)}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:he(o)})]}),jsxRuntime.jsx("div",{className:"text-[10px] text-default-400",children:"Holders / Top10 / Top100"})]})}function ls(e,t){return P(e,t)}function ds({chain:e,address:t,className:o}){let{token:s}=ls(e,t);return jsxRuntime.jsx(as,{holders:s?.marketData?.holders,top10HoldingsRatio:s?.marketData?.top10HoldingsRatio,top100HoldingsRatio:s?.marketData?.top100HoldingsRatio,className:o})}function ps({marketCapInUsd:e,tvlInUsd:t,createdAt:o,className:s}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",s),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:e?utils.formatAmountUSDCompact(e):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:t?utils.formatAmountUSDCompact(t):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:se(o)})]}),jsxRuntime.jsx("div",{className:"text-[10px] text-default-400",children:"MC / Liq / Age"})]})}function us(e,t){return P(e,t)}function fs({chain:e,address:t,className:o}){let{token:s}=us(e,t);return jsxRuntime.jsx(ps,{marketCapInUsd:s?.marketData?.marketCapInUsd,tvlInUsd:s?.marketData?.tvlInUsd,createdAt:s?.createdAt,className:o})}function ks({priceInUsd:e,price24hAgoInUsd:t,className:o}){let{bearish:s,priceChange:r}=react.useMemo(()=>{if(!e||!t)return {bearish:false,priceChange:void 0};let n=new utils.SafeBigNumber(e),i=new utils.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 jsxRuntime.jsxs("div",{className:ui.cn("group flex flex-col gap-1",o),"data-bearish":s,children:[jsxRuntime.jsx("div",{className:"text-base font-medium leading-none text-bullish group-data-[bearish=true]:text-bearish",children:e?utils.formatPriceUSD(e):"--"}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-default-400",children:"24h"}),jsxRuntime.jsx("span",{className:"text-bullish group-data-[bearish=true]:text-bearish",children:r!=null?utils.formatPercent(r):"--"})]})]})}function hs(e,t){return P(e,t)}function bs({chain:e,address:t,className:o}){let{token:s}=hs(e,t);return jsxRuntime.jsx(ks,{priceInUsd:s?.marketData?.priceInUsd,price24hAgoInUsd:s?.stats?.["24h"]?.openPriceInUsd,className:o})}function Zd(e,t){switch(e){case "website":return jsxRuntime.jsx(ui.WebsiteIcon,{width:t,height:t});case "twitter":return jsxRuntime.jsx(ui.TwitterIcon,{width:t,height:t});case "telegram":return jsxRuntime.jsx(ui.TelegramIcon,{width:t,height:t});case "discord":return jsxRuntime.jsx(ui.DiscordIcon,{width:t,height:t});default:return jsxRuntime.jsx("span",{className:"text-[9px] font-medium uppercase",children:e.slice(0,2)})}}function ys({socials:e,className:t,iconSize:o=16}){if(!e)return null;let r=["website","twitter","telegram","discord","github","reddit","youtube","medium"].filter(n=>!!e[n]);return r.length===0?null:jsxRuntime.jsx("div",{className:ui.cn("flex items-center gap-3",t),children:r.map(n=>jsxRuntime.jsx("a",{href:e[n],target:"_blank",rel:"noreferrer noopener",className:"flex items-center justify-center text-default-400 transition-colors hover:text-foreground",style:{width:o,height:o},children:Zd(n,o)},n))})}function Ts(e,t){return P(e,t)}function vs({chain:e,address:t,className:o,iconSize:s}){let{token:r}=Ts(e,t);return jsxRuntime.jsx(ys,{socials:r?.socialMedias,className:o,iconSize:s})}function Cs({volumesInUsd:e,trades:t,traders:o,className:s}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",s),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:e?utils.formatAmountUSDCompact(e):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:t!=null?utils.formatAmount(t):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:o!=null?utils.formatAmount(o):"--"})]}),jsxRuntime.jsx("div",{className:"text-[10px] text-default-400",children:"24h Vol / Txs / Traders"})]})}function Ls(e,t){return P(e,t)}function ws({chain:e,address:t,className:o}){let{token:s}=Ls(e,t),r=s?.stats?.["24h"];return jsxRuntime.jsx(Cs,{volumesInUsd:r?.volumesInUsd,trades:r?.trades,traders:r?.traders,className:o})}function Ps({chain:e,address:t,className:o}){return jsxRuntime.jsx(ns,{className:o,price:jsxRuntime.jsx(bs,{chain:e,address:t}),marketCap:jsxRuntime.jsx(fs,{chain:e,address:t}),volume:jsxRuntime.jsx(ws,{chain:e,address:t}),holdersCount:jsxRuntime.jsx(ds,{chain:e,address:t}),socialMedia:jsxRuntime.jsx(vs,{chain:e,address:t})})}function My({chain:e,address:t,actions:o,dataStrip:s,className:r,onCopyAddress:n}){let{token:i}=rs(e,t);return jsxRuntime.jsx(os,{token:i,actions:o,dataStrip:s===void 0?jsxRuntime.jsx(Ps,{chain:e,address:t}):s,className:r,onCopyAddress:n})}var nc=[{value:"holdingUsd",label:"Value"},{value:"lastActiveAt",label:"Last active"}];function Ms({holders:e,isLoading:t,sortBy:o,onSortByChange:s,onlyTracked:r=false,onOnlyTrackedChange:n,onLoadMore:i,hasMore:a,now:l=Date.now(),wellKnownAddresses:d,className:c,renderAddress:p}){let m=r?e.filter(u=>u.tags&&u.tags.length>0):e;return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",c),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium text-default-500",children:"Holders"}),jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:r,onChange:u=>n?.(u.target.checked)}),"Only Tracked"]})]}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:nc.map(u=>jsxRuntime.jsx("button",{type:"button",onClick:()=>s(u.value),className:ui.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))})]}),jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[640px] table-fixed text-[12px]",children:[jsxRuntime.jsx("thead",{className:"text-default-400",children:jsxRuntime.jsxs("tr",{className:"border-b border-default-100",children:[jsxRuntime.jsx("th",{className:"w-[30%] px-3 py-2 text-left font-normal",children:"Wallet"}),jsxRuntime.jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:"Tags"}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Value"}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"%"}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"First held"}),jsxRuntime.jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:"Last active"})]})}),jsxRuntime.jsxs("tbody",{children:[m.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No holders"})}),m.map(u=>jsxRuntime.jsx(ic,{holder:u,now:l,wellKnownAddresses:d,renderAddress:p},u.address)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),a&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.jsx("button",{type:"button",onClick:i,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function ic({holder:e,now:t,wellKnownAddresses:o,renderAddress:s}){let r=o?.[e.address],n=react.useMemo(()=>s?s(e.address):r?jsxRuntime.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}):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-default-500",children:J(e.address,6,6)}),[e.address,s,r]);return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:n}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(Nt,{tags:e.tags,max:3})}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:utils.formatAmountUSDCompact(e.amountInUsd)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:he(e.ratio)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.startHoldingAt?se(e.startHoldingAt,t):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.lastActiveAt?se(e.lastActiveAt,t):"--"})]})}function Fs({chain:e,address:t,limit:o=50,initialSortBy:s="holdingUsd"}){let[r,n]=react.useState(s),[i,a]=react.useState(void 0),[l,d]=react.useState([]),c=react.useCallback(()=>{a(void 0),d([]);},[]),p=react.useCallback(T=>{T!==r&&(n(T),c());},[r,c]);react.useEffect(()=>{c();},[e,t,c]);let m=react.useMemo(()=>({chain:e,address:t,cursor:i,limit:o,sortBy:r}),[e,t,i,o,r]),{data:u,isPending:x,isFetching:k}=react$1.useTokenHoldersQuery(m);react.useEffect(()=>{u&&d(T=>i==null?[u]:T[T.length-1]?.endCursor===u.endCursor?T:[...T,u]);},[u,i]),react$1.useTokenSubscription({chain:e,address:t},()=>{});let g=react.useMemo(()=>l.flatMap(T=>T.data),[l]),f=l[l.length-1],h=!!(f?.hasNext&&f.endCursor),b=react.useCallback(()=>{!f?.endCursor||!f.hasNext||a(f.endCursor);},[f]);return {holders:g,isLoading:x||k,sortBy:r,setSortBy:p,hasMore:h,loadMore:b}}function Zy({chain:e,address:t,limit:o,initialSortBy:s,initialOnlyTracked:r=false,wellKnownAddresses:n,className:i,renderAddress:a}){let[l,d]=react.useState(r),{holders:c,isLoading:p,sortBy:m,setSortBy:u,hasMore:x,loadMore:k}=Fs({chain:e,address:t,limit:o,initialSortBy:s});return jsxRuntime.jsx(Ms,{holders:c,isLoading:p,sortBy:m,onSortByChange:u,onlyTracked:l,onOnlyTrackedChange:d,wellKnownAddresses:n,hasMore:x,onLoadMore:k,className:i,renderAddress:a})}var uc=[{value:"timestamp",label:"Latest"},{value:"totalUsd",label:"Top USD"}],fc=[{value:"all",label:"All"},{value:"buy",label:"Buys"},{value:"sell",label:"Sells"}],gc=[{value:"all",label:"All"},{value:"dev",label:"DEV"},{value:"tracked",label:"TRACKED"},{value:"you",label:"YOU"}];function Os({activities:e,isLoading:t,sortBy:o,onSortByChange:s,typeFilter:r="all",onTypeFilterChange:n,traderFilter:i="all",onTraderFilterChange:a,youWalletAddress:l,currency:d="usd",onCurrencyChange:c,onLoadMore:p,hasMore:m,now:u=Date.now(),nativeDecimals:x=9,nativeSymbol:k="SOL",className:g,onRowClick:f}){let h=kc(e,i,l);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",g),children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[fc.map(b=>jsxRuntime.jsx("button",{type:"button",onClick:()=>n?.(b.value),className:ui.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)),jsxRuntime.jsx("span",{className:"mx-1 h-3 w-px bg-default-200","aria-hidden":true}),gc.map(b=>{let T=i===b.value,E=b.value==="you"&&!l;return jsxRuntime.jsx("button",{type:"button",disabled:E,onClick:()=>a?.(b.value),className:ui.cn("rounded px-2 py-1 text-[11px] transition-colors",T?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground",E&&"cursor-not-allowed opacity-50"),children:b.label},b.value)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(hc,{value:d,nativeSymbol:k,onChange:c}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:uc.map(b=>jsxRuntime.jsx("button",{type:"button",onClick:()=>s(b.value),className:ui.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))})]})]}),jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[780px] table-fixed text-[12px]",children:[jsxRuntime.jsx("thead",{className:"text-default-400",children:jsxRuntime.jsxs("tr",{className:"border-b border-default-100",children:[jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:"Side"}),jsxRuntime.jsx("th",{className:"w-[25%] px-3 py-2 text-left font-normal",children:"Trader"}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Amount"}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"USD"}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Price"}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"Gas"}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"Age"})]})}),jsxRuntime.jsxs("tbody",{children:[h.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-8 text-center text-default-400",children:"No activities"})}),h.map(b=>jsxRuntime.jsx(yc,{activity:b,now:u,nativeDecimals:x,nativeSymbol:k,currency:d,onRowClick:f},b.txHash)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),m&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.jsx("button",{type:"button",onClick:p,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function xc(e){return e.type==="buy"?e.to:e.type==="sell"?e.from:e.to}function kc(e,t,o){if(t==="all")return e;if(t==="you"){if(!o)return [];let r=o.toLowerCase();return e.filter(n=>n.walletAddress?.toLowerCase()===r)}if(t==="dev")return e.filter(r=>r.traderTags?.some(n=>n==="dev"));let s=new Set(["kol","smart","bluechip"]);return e.filter(r=>r.traderTags?.some(n=>s.has(n)))}function hc({value:e,nativeSymbol:t,onChange:o}){return jsxRuntime.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=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(r.k),className:ui.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 bc(e,t,o){if(!e)return "--";let s=Number(e)/Math.pow(10,t);return Number.isFinite(s)?`${utils.formatAmount(s)} ${o}`:"--"}function yc({activity:e,now:t,nativeDecimals:o,nativeSymbol:s,currency:r,onRowClick:n}){let i=xc(e),a=e.type==="buy"?"Buy":e.type==="sell"?"Sell":e.type.replace(/_/g," "),l=e.type==="buy"?"text-bullish":e.type==="sell"?"text-bearish":"text-default-500";return jsxRuntime.jsxs("tr",{className:ui.cn("border-b border-default-50 hover:bg-default-50/60",n&&"cursor-pointer"),onClick:n?()=>n(e):void 0,children:[jsxRuntime.jsx("td",{className:ui.cn("px-3 py-2 align-middle font-medium capitalize",l),children:a}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsxs("div",{className:"flex flex-col gap-0.5",children:[jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-default-500",children:J(e.walletAddress,6,6)}),jsxRuntime.jsx(Xr,{tags:e.traderTags,max:2})]})}),jsxRuntime.jsxs("td",{className:"px-3 py-2 text-right align-middle",children:[utils.formatAmount(i.amount)," ",i.symbol]}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r==="native"&&i.amountInNative?`${utils.formatAmount(i.amountInNative)} ${i.symbol}`:i.amountInUsd?utils.formatAmountUSDCompact(i.amountInUsd):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:i.priceInUsd?`$${utils.formatPrice(i.priceInUsd)}`:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:bc(e.gasFee,o,s)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:se(e.time,t)})]})}function Ws({chain:e,address:t,limit:o=50,initialSortBy:s="timestamp",initialTypeFilter:r="all"}){let[n,i]=react.useState(s),[a,l]=react.useState(r),[d,c]=react.useState(void 0),[p,m]=react.useState([]),[u,x]=react.useState([]),k=react.useCallback(()=>{c(void 0),m([]),x([]);},[]),g=react.useCallback(U=>{U!==n&&(i(U),k());},[n,k]),f=react.useCallback(U=>{U!==a&&(l(U),k());},[a,k]);react.useEffect(()=>{k();},[e,t,k]);let h=a==="all"?void 0:a,b=react.useMemo(()=>({chain:e,address:t,cursor:d,limit:o,sortBy:n,type:h}),[e,t,d,o,n,h]),{data:T,isPending:E,isFetching:G}=react$1.useTokenActivitiesQuery(b);react.useEffect(()=>{T&&m(U=>d==null?[T]:U[U.length-1]?.endCursor===T.endCursor?U:[...U,T]);},[T,d]);let ue=n==="timestamp"&&a==="all"&&d==null;react$1.useTokenActivitiesSubscription({chain:e,address:t},U=>{!ue||!U?.length||x(_e=>{let Qo=new Set(_e.map(Jt=>Jt.txHash)),ne=U.filter(Jt=>!Qo.has(Jt.txHash));return ne.length===0?_e:[...ne,..._e].slice(0,100)});});let Gt=react.useMemo(()=>{let U=p.flatMap(ne=>ne.data);if(!ue||u.length===0)return U;let _e=new Set(U.map(ne=>ne.txHash));return [...u.filter(ne=>!_e.has(ne.txHash)),...U]},[p,u,ue]),D=p[p.length-1],ji=!!(D?.hasNext&&D.endCursor),ea=react.useCallback(()=>{!D?.endCursor||!D.hasNext||c(D.endCursor);},[D]);return {activities:Gt,isLoading:E||G,sortBy:n,setSortBy:g,typeFilter:a,setTypeFilter:f,hasMore:ji,loadMore:ea}}function kT({chain:e,address:t,limit:o,initialSortBy:s,initialTypeFilter:r,initialTraderFilter:n="all",initialCurrency:i="usd",youWalletAddress:a,nativeDecimals:l,nativeSymbol:d,className:c,onRowClick:p}){let[m,u]=react.useState(n),[x,k]=react.useState(i),{activities:g,isLoading:f,sortBy:h,setSortBy:b,typeFilter:T,setTypeFilter:E,hasMore:G,loadMore:ue}=Ws({chain:e,address:t,limit:o,initialSortBy:s,initialTypeFilter:r});return jsxRuntime.jsx(Os,{activities:g,isLoading:f,sortBy:h,onSortByChange:b,typeFilter:T,onTypeFilterChange:E,traderFilter:m,onTraderFilterChange:u,youWalletAddress:a,currency:x,onCurrencyChange:k,hasMore:G,onLoadMore:ue,className:c,nativeDecimals:l,nativeSymbol:d,onRowClick:p})}function Es({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.traders??0,n=s?.buyers??0,i=s?.sellers??0;return jsxRuntime.jsx(Ie,{className:o,label:`Traders (${t})`,totalFormatted:utils.formatAmount(r),buysFormatted:utils.formatAmount(n),sellsFormatted:utils.formatAmount(i),totalValue:r,buysValue:n})}function Vs(e,t){return P(e,t)}function IT({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=Vs(e,t);return jsxRuntime.jsx(Es,{stats:r?.stats,resolution:o,className:s})}function $s({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.trades??0,n=s?.buys??0,i=s?.sells??0;return jsxRuntime.jsx(Ie,{className:o,label:`Transactions (${t})`,totalFormatted:utils.formatAmount(r),buysFormatted:utils.formatAmount(n),sellsFormatted:utils.formatAmount(i),totalValue:r,buysValue:n})}function _s(e,t){return P(e,t)}function QT({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=_s(e,t);return jsxRuntime.jsx($s,{stats:r?.stats,resolution:o,className:s})}function Ks({stats:e,resolution:t,className:o}){let s=e?.[t],r=s?.volumesInUsd??"0",n=s?.buyVolumesInUsd??"0",i=s?.sellVolumesInUsd??"0";return jsxRuntime.jsx(Ie,{className:o,label:`Volume (${t})`,totalFormatted:utils.formatAmountUSDCompact(r),buysFormatted:utils.formatAmountUSDCompact(n),sellsFormatted:utils.formatAmountUSDCompact(i),totalValue:r,buysValue:n})}function zs(e,t){return P(e,t)}function lv({chain:e,address:t,resolution:o="24h",className:s}){let{token:r}=zs(e,t);return jsxRuntime.jsx(Ks,{stats:r?.stats,resolution:o,className:s})}function qs({security:e,externalUrl:t,externalLabel:o,className:s}){let r=[{title:"Transfer fee",value:e?.hasTransferFee,safeWhen:false,description:"Whether the token charges a fee on transfer."},{title:"Fee not upgradable",value:e?.isTransferFeeUpgradable,safeWhen:false,description:"Whether the transfer fee can be raised by the token owner."},{title:"Transferable",value:e?.isTransferable,safeWhen:true,description:"Whether token holders can freely transfer the token."},{title:"Not freezable",value:e?.isFreezable,safeWhen:false,description:"Whether the token authority can freeze holder balances."},{title:"Not closable",value:e?.isClosable,safeWhen:false,description:"Whether the token program can be closed by its owner."}],n=r.every(i=>i.value!==void 0&&i.value===i.safeWhen);return jsxRuntime.jsxs("section",{className:ui.cn("flex w-full flex-col gap-3",s),children:[jsxRuntime.jsxs("div",{className:"flex items-baseline justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:"Security"}),jsxRuntime.jsx("span",{className:ui.cn("text-xs",e===void 0?"text-default-400":n?"text-success-500":"text-danger-500"),children:e===void 0?"--":n?"Safe":"Review"})]}),jsxRuntime.jsx("div",{className:"flex flex-col",children:r.map(i=>jsxRuntime.jsx(Ac,{...i},i.title))}),t&&o&&jsxRuntime.jsx("div",{className:"flex justify-center",children:jsxRuntime.jsx("a",{href:t,target:"_blank",rel:"noreferrer noopener",className:"text-xs text-default-400 transition-colors hover:text-foreground",children:o})})]})}function Ac({title:e,value:t,safeWhen:o,description:s}){let r=t!==void 0&&t===o,n=t===void 0?"--":r?"OK":"Risk";return jsxRuntime.jsxs("div",{className:"flex h-8 items-center justify-between gap-2",children:[jsxRuntime.jsx("span",{className:"text-xs text-default-500",title:s,children:e}),jsxRuntime.jsx("span",{className:ui.cn("text-xs",t===void 0?"text-default-400":r?"text-success-500":"text-danger-500"),children:n})]})}function Qs(e,t){let{data:o,isLoading:s}=react$1.useTokenSecurityQuery({chain:e,address:t});return {security:o,isLoading:s}}function vv({chain:e,address:t,externalUrl:o,externalLabel:s,className:r}){let{security:n}=Qs(e,t);return jsxRuntime.jsx(qs,{security:n,externalUrl:o,externalLabel:s,className:r})}function Xs({token:e,className:t}){return e?jsxRuntime.jsxs("section",{className:ui.cn("flex w-full flex-col gap-2",t),children:[jsxRuntime.jsxs("div",{className:"text-sm font-medium text-foreground",children:["About ",e.symbol]}),e.description?jsxRuntime.jsx("p",{className:"whitespace-pre-line text-xs text-default-500",children:e.description}):jsxRuntime.jsx("p",{className:"text-xs text-default-400",children:"No description provided."})]}):null}function Ys(e,t){return P(e,t)}function Uv({chain:e,address:t,className:o}){let{token:s}=Ys(e,t);return jsxRuntime.jsx(Xs,{token:s,className:o})}function en({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:s,onPoolClick:r}){let[n,i]=react.useState(!e||e.length<=o),a=react.useCallback(()=>i(l=>!l),[]);return jsxRuntime.jsxs("section",{className:ui.cn("flex w-full flex-col gap-3",s),children:[jsxRuntime.jsxs("div",{className:"flex items-baseline justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:"Liquidity"}),t&&jsxRuntime.jsx("span",{className:"text-xs text-foreground",children:utils.formatAmountUSDCompact(t)})]}),(!e||e.length===0)&&jsxRuntime.jsx("div",{className:"py-4 text-center text-xs text-default-400",children:"No pools"}),e&&e.length>0&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-2",children:[e.map((l,d)=>jsxRuntime.jsxs("div",{className:ui.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:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-0.5",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:l.protocolFamily??l.protocolName??"Unknown"}),l.poolAddress&&jsxRuntime.jsxs("span",{className:"font-mono text-[10px] text-default-400",children:["Pool: ",J(l.poolAddress,6,6)]})]}),jsxRuntime.jsx("div",{className:"text-default-500",children:utils.formatAmountUSDCompact(l.tvlInUsd??0)})]},l.poolAddress??`${l.protocolFamily}-${d}`)),e.length>o&&jsxRuntime.jsx("div",{className:"flex justify-center pt-1",children:jsxRuntime.jsx("button",{type:"button",onClick:a,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:n?"Show less":"Show more"})})]})]})}function tn(e,t){return P(e,t)}function jv({chain:e,address:t,collapseAt:o,className:s,onPoolClick:r}){let{token:n}=tn(e,t);return jsxRuntime.jsx(en,{liquidities:n?.liquidities,totalTvlInUsd:n?.marketData?.tvlInUsd,collapseAt:o,className:s,onPoolClick:r})}function on({cexes:e,collapseAt:t=4,className:o}){let[s,r]=react.useState(!e||e.length<=t),n=react.useCallback(()=>r(i=>!i),[]);return !e||e.length===0?null:jsxRuntime.jsxs("section",{className:ui.cn("w-full",o),children:[jsxRuntime.jsx("div",{className:"text-sm font-medium text-foreground",children:"CEX listings"}),jsxRuntime.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((i,a)=>{let l=a>=t&&!s,d=jsxRuntime.jsx(ui.Chip,{startContent:i.logo?jsxRuntime.jsx(ui.Image,{src:i.logo,width:20,height:20,alt:i.name}):void 0,className:ui.cn("bg-default-100 text-xs",l&&"hidden"),children:i.name},i.id);return i.url?jsxRuntime.jsx("a",{href:i.url,target:"_blank",rel:"noreferrer noopener",className:ui.cn(l&&"hidden"),children:d},i.id):d})}),e.length>t&&jsxRuntime.jsx("div",{className:"mt-3 flex justify-center",children:jsxRuntime.jsx("button",{type:"button",onClick:n,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:s?"Show less":"Show more"})})]})}function rn(e){return {cexes:e}}function u0({cexes:e,collapseAt:t,className:o}){let{cexes:s}=rn(e);return jsxRuntime.jsx(on,{cexes:s,collapseAt:t,className:o})}function nn({categories:e,collapseAt:t=4,className:o,onCategoryClick:s}){let[r,n]=react.useState(!e||e.length<=t),i=react.useCallback(()=>n(a=>!a),[]);return !e||e.length===0?null:jsxRuntime.jsxs("section",{className:ui.cn("w-full",o),children:[jsxRuntime.jsx("div",{className:"text-sm font-medium text-foreground",children:"Categories"}),jsxRuntime.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((a,l)=>{let d=l>=t&&!r;return jsxRuntime.jsx(ui.Chip,{size:"sm",className:ui.cn("bg-default-100",d&&"hidden",s&&"cursor-pointer"),onClick:s?()=>s(a):void 0,children:a},a)})}),e.length>t&&jsxRuntime.jsx("div",{className:"mt-3 flex justify-center",children:jsxRuntime.jsx("button",{type:"button",onClick:i,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:r?"Show less":"Show more"})})]})}function an(e,t){return P(e,t)}function P0({chain:e,address:t,collapseAt:o,className:s,onCategoryClick:r}){let{token:n}=an(e,t);return jsxRuntime.jsx(nn,{categories:n?.tags,collapseAt:o,className:s,onCategoryClick:r})}var ln=["5m","1h","4h","24h"];function dn({stats:e,resolution:t,className:o}){let s=e?.[t],r=new utils.SafeBigNumber(s?.buyVolumesInUsd??0),n=new utils.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:utils.formatAmountUSDCompact(i.toString()),className:"text-foreground"},{label:"Buys",value:utils.formatAmountUSDCompact(r.toString()),className:"text-bullish"},{label:"Sells",value:utils.formatAmountUSDCompact(n.toString()),className:"text-bearish"},{label:"Net Vol.",value:utils.formatAmountUSDCompact(a.abs().toString()),className:a.gte(0)?"text-bullish":"text-bearish"}];return jsxRuntime.jsxs("div",{className:ui.cn("flex h-full w-full flex-col",o),children:[jsxRuntime.jsx("div",{className:"grid flex-1 grid-cols-4 items-center",children:d.map(c=>jsxRuntime.jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] px-2",children:[jsxRuntime.jsx("span",{className:"text-[10px] leading-none text-default-400",children:c.label}),jsxRuntime.jsx("span",{className:ui.cn("text-[13px] font-medium leading-none tabular-nums",c.className),children:c.value})]},c.label))}),jsxRuntime.jsx("div",{className:"relative h-[2px] w-full overflow-hidden bg-bearish",children:jsxRuntime.jsx("div",{className:"absolute inset-y-0 left-0 bg-bullish transition-[width] duration-200 ease-out",style:{width:`${l}%`}})})]})}function cn({stats:e,resolutions:t,className:o}){return jsxRuntime.jsx("div",{className:ui.cn("grid h-full w-full grid-cols-4 items-center",o),children:t.map(s=>{let n=e?.[s]?.priceChange,i=n?new utils.SafeBigNumber(n):void 0,a=i?i.gte(0):void 0,l=s,d=i?utils.formatPercent(i,{showPlusGtThanZero:true}):"\u2014";return jsxRuntime.jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] px-2",children:[jsxRuntime.jsx("span",{className:"text-[10px] leading-none text-default-400",children:l}),jsxRuntime.jsx("span",{className:ui.cn("text-[13px] font-medium leading-none tabular-nums",a===void 0?"text-foreground":a?"text-bullish":"text-bearish"),children:d})]},s)})})}function mn({chain:e,address:t}){let{data:o,isLoading:s}=react$1.useTokenStatsQuery({chain:e,address:t});return {stats:o,isLoading:s}}function K0({chain:e,address:t,baseResolution:o="5m",hoverResolutions:s=ln,height:r=64,className:n}){let{stats:i}=mn({chain:e,address:t});return jsxRuntime.jsx(uiScaffold.StatsFlipPanel,{className:n,height:r,base:jsxRuntime.jsx(dn,{stats:i,resolution:o}),hover:jsxRuntime.jsx(cn,{stats:i,resolutions:s})})}function pn({positions:e,isLoading:t,hasMore:o,onLoadMore:s,currency:r="usd",onCurrencyChange:n,showHidden:i=false,onShowHiddenChange:a,nativeSymbol:l="Native",renderActions:d,className:c}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",c),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium text-default-500",children:"Positions"}),jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:i,onChange:p=>a?.(p.target.checked)}),"Show Hidden"]})]}),jsxRuntime.jsx(om,{value:r,nativeSymbol:l,onChange:n})]}),jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[720px] table-fixed text-[12px]",children:[jsxRuntime.jsx("thead",{className:"text-default-400",children:jsxRuntime.jsxs("tr",{className:"border-b border-default-100",children:[jsxRuntime.jsx("th",{className:"w-[26%] px-3 py-2 text-left font-normal",children:"Token"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Bought"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Sold"}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Remaining"}),jsxRuntime.jsx("th",{className:"w-[18%] px-3 py-2 text-right font-normal",children:"PnL"}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"Actions"})]})}),jsxRuntime.jsxs("tbody",{children:[e.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No open positions"})}),e.map(p=>jsxRuntime.jsx(rm,{position:p,currency:r,renderActions:d},`${p.chain}:${p.address}`)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),o&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.jsx("button",{type:"button",onClick:s,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function om({value:e,nativeSymbol:t,onChange:o}){return jsxRuntime.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=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(r.k),className:ui.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 rm({position:e,currency:t,renderActions:o}){let{bought:s,sold:r,remaining:n,pnl:i}=react.useMemo(()=>sm(e,t),[e,t]),a=jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui.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}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col",children:[jsxRuntime.jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsxRuntime.jsx("span",{className:"truncate text-[10px] text-default-400",children:e.name})]})]});return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:a}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n}),jsxRuntime.jsx("td",{className:ui.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:jsxRuntime.jsxs("div",{className:"flex flex-col items-end leading-tight",children:[jsxRuntime.jsx("span",{children:i.amount}),i.ratio?jsxRuntime.jsx("span",{className:"text-[10px]",children:i.ratio}):null]})}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle",children:o?o(e):jsxRuntime.jsx("span",{className:"text-default-400",children:"--"})})]})}function sm(e,t){let o=t==="usd"?e.buyVolumesInUsd:e.buyVolumes,s=t==="usd"?e.sellVolumesInUsd:e.sellVolumes,r=t==="usd"?e.amountInUsd:e.amount,n=e.totalProfitInUsd,i=t==="usd"?utils.formatAmountUSDCompact(o??0):utils.formatAmount(o??0),a=t==="usd"?utils.formatAmountUSDCompact(s??0):utils.formatAmount(s??0),l=t==="usd"?utils.formatAmountUSDCompact(r??0):utils.formatAmount(r??0),d=n?new utils.SafeBigNumber(n):void 0,c=d?d.gte(0):void 0,p=d?(c?"+":"")+utils.formatAmountUSDCompact(d.toString()):"--",m=e.totalProfitRatio?utils.formatPercent(e.totalProfitRatio,{showPlusGtThanZero:true}):void 0;return {bought:i,sold:a,remaining:l,pnl:{amount:p,ratio:m,isPositive:c}}}function gn({chain:e,wallet:t,limit:o=50,initialShowHidden:s=false}){let[r,n]=react.useState(void 0),[i,a]=react.useState([]),[l,d]=react.useState(s);react.useEffect(()=>{n(void 0),a([]);},[e,t]);let c=react.useMemo(()=>({chain:e,address:t??"",cursor:r,limit:o,positionState:"open"}),[e,t,r,o]),{data:p,isPending:m,isFetching:u}=react$1.useWalletTokenPositionsQuery(c,{enabled:!!t});react.useEffect(()=>{p&&a(h=>r==null?[p]:h[h.length-1]?.endCursor===p.endCursor?h:[...h,p]);},[p,r]);let x=react.useMemo(()=>i.flatMap(h=>h.portfolios),[i]),k=i[i.length-1],g=!!(k?.hasNext&&k.endCursor),f=react.useCallback(()=>{!k?.endCursor||!k.hasNext||n(k.endCursor);},[k]);return {positions:x,isLoading:!!t&&(m||u),hasMore:g,loadMore:f,showHidden:l,setShowHidden:d}}function lS({chain:e,wallet:t,limit:o,initialCurrency:s="usd",nativeSymbol:r,renderActions:n,className:i}){let[a,l]=react.useState(s),{positions:d,isLoading:c,hasMore:p,loadMore:m,showHidden:u,setShowHidden:x}=gn({chain:e,wallet:t,limit:o});return jsxRuntime.jsx(pn,{className:i,positions:d,isLoading:c,hasMore:p,onLoadMore:m,currency:a,onCurrencyChange:l,showHidden:u,onShowHiddenChange:x,nativeSymbol:r,renderActions:n})}function xn({orders:e,isLoading:t,unavailable:o,hasMore:s,onLoadMore:r,stateFilter:n,onStateFilterChange:i,onlyThisToken:a=false,onOnlyThisTokenChange:l,tokenSymbol:d,currency:c="usd",onCurrencyChange:p,nativeSymbol:m="Native",onCancelAll:u,renderActions:x,className:k}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",k),children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"active",label:"Active Orders"},{k:"history",label:"Order History"}].map(g=>jsxRuntime.jsx("button",{type:"button",onClick:()=>i(g.k),className:ui.cn("rounded px-2 transition-colors",n===g.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:g.label},g.k))}),d?jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:a,onChange:g=>l?.(g.target.checked)}),"Only ",d]}):null]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[u?jsxRuntime.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,jsxRuntime.jsx(pm,{value:c,nativeSymbol:m,onChange:p})]})]}),jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[760px] table-fixed text-[12px]",children:[jsxRuntime.jsx("thead",{className:"text-default-400",children:jsxRuntime.jsxs("tr",{className:"border-b border-default-100",children:[jsxRuntime.jsx("th",{className:"w-[22%] px-3 py-2 text-left font-normal",children:"Token"}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:"Type"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Amount"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Current MC"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Target MC"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Settings"}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"Action"})]})}),jsxRuntime.jsxs("tbody",{children:[o?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-10 text-center text-default-400",children:"Limit orders are coming soon."})}):e.length===0&&!t?jsxRuntime.jsx("tr",{children:jsxRuntime.jsxs("td",{colSpan:7,className:"py-10 text-center text-default-400",children:["No ",n==="active"?"active":"historical"," orders"]})}):e.map(g=>jsxRuntime.jsx(um,{order:g,currency:c,renderActions:x},g.id)),t&&!o&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&s&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.jsx("button",{type:"button",onClick:r,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function pm({value:e,nativeSymbol:t,onChange:o}){return jsxRuntime.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=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(r.k),className:ui.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 um({order:e,currency:t,renderActions:o}){let s=react.useMemo(()=>t==="usd"&&e.amountInUsd?utils.formatAmountUSDCompact(e.amountInUsd):utils.formatAmount(e.amount),[t,e.amount,e.amountInUsd]),r=e.side==="buy"?"Buy":"Sell",n=e.side==="buy"?"text-bullish":"text-bearish";return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui.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}),jsxRuntime.jsx("span",{className:"truncate text-foreground",children:e.tokenSymbol??"--"})]})}),jsxRuntime.jsx("td",{className:ui.cn("px-3 py-2 align-middle font-medium",n),children:r}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:e.currentMarketCapInUsd?utils.formatAmountUSDCompact(e.currentMarketCapInUsd):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:e.targetMarketCapInUsd?utils.formatAmountUSDCompact(e.targetMarketCapInUsd):e.targetPriceInUsd?utils.formatAmountUSDCompact(e.targetPriceInUsd):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.slippage!=null?`Slip ${e.slippage}%`:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle",children:o?o(e):jsxRuntime.jsx("span",{className:"text-default-400",children:"--"})})]})}function gm(e){return e instanceof Error&&e.code==="NotImplemented"}function xm(e){return e==="active"?"active":"filled"}function yn({chain:e,wallet:t,tokenAddress:o,limit:s=50,initialStateFilter:r="active",initialOnlyThisToken:n=false}){let[i,a]=react.useState(r),[l,d]=react.useState(n),[c,p]=react.useState(void 0),[m,u]=react.useState([]);react.useEffect(()=>{p(void 0),u([]);},[e,t,i,l,o]);let x=react.useCallback(D=>{D!==i&&a(D);},[i]),k=react.useMemo(()=>({chain:e,address:t??"",cursor:c,limit:s,state:xm(i),tokenAddress:l?o:void 0}),[e,t,c,s,i,l,o]),{data:g,isPending:f,isFetching:h,error:b}=react$1.useWalletLimitOrdersQuery(k,{enabled:!!t});react.useEffect(()=>{g&&u(D=>c==null?[g]:D[D.length-1]?.endCursor===g.endCursor?D:[...D,g]);},[g,c]);let T=!!b&&gm(b),E=react.useMemo(()=>m.flatMap(D=>D.data),[m]),G=m[m.length-1],ue=!!(G?.hasNext&&G.endCursor),Gt=react.useCallback(()=>{!G?.endCursor||!G.hasNext||p(G.endCursor);},[G]);return {orders:E,isLoading:!!t&&!T&&(f||h),unavailable:T,hasMore:ue,loadMore:Gt,stateFilter:i,setStateFilter:x,onlyThisToken:l,setOnlyThisToken:d}}function LS({chain:e,wallet:t,tokenAddress:o,tokenSymbol:s,limit:r,initialStateFilter:n="active",initialCurrency:i="usd",nativeSymbol:a,onCancelAll:l,renderActions:d,className:c}){let[p,m]=react.useState(i),{orders:u,isLoading:x,unavailable:k,hasMore:g,loadMore:f,stateFilter:h,setStateFilter:b,onlyThisToken:T,setOnlyThisToken:E}=yn({chain:e,wallet:t,tokenAddress:o,limit:r,initialStateFilter:n});return jsxRuntime.jsx(xn,{className:c,orders:u,isLoading:x,unavailable:k,hasMore:g,onLoadMore:f,stateFilter:h,onStateFilterChange:b,onlyThisToken:T,onOnlyThisTokenChange:E,tokenSymbol:s,currency:p,onCurrencyChange:m,nativeSymbol:a,onCancelAll:k?void 0:l,renderActions:d})}function Tn({traders:e,isLoading:t,hasMore:o,onLoadMore:s,onlyTracked:r=false,onOnlyTrackedChange:n,now:i=Date.now(),renderAddress:a,className:l}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",l),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium text-default-500",children:"Top Traders"}),jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:r,onChange:d=>n?.(d.target.checked)}),"Only Tracked"]})]}),jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[680px] table-fixed text-[12px]",children:[jsxRuntime.jsx("thead",{className:"text-default-400",children:jsxRuntime.jsxs("tr",{className:"border-b border-default-100",children:[jsxRuntime.jsx("th",{className:"w-[28%] px-3 py-2 text-left font-normal",children:"Wallet"}),jsxRuntime.jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:"Tags"}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Value"}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"%"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Realized PnL"}),jsxRuntime.jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:"Last active"})]})}),jsxRuntime.jsxs("tbody",{children:[e.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No top traders yet"})}),e.map(d=>jsxRuntime.jsx(vm,{trader:d,now:i,renderAddress:a},d.address)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),o&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.jsx("button",{type:"button",onClick:s,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function vm({trader:e,now:t,renderAddress:o}){let s=react.useMemo(()=>o?o(e.address):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-default-500",children:J(e.address,6,6)}),[e.address,o]);return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:s}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(Nt,{tags:e.tags,max:3})}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:utils.formatAmountUSDCompact(e.amountInUsd)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:he(e.ratio)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:"\u2014"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.lastActiveAt?se(e.lastActiveAt,t):"--"})]})}function Sn({chain:e,address:t,limit:o=50,initialOnlyTracked:s=false}){let[r,n]=react.useState(void 0),[i,a]=react.useState([]),[l,d]=react.useState(s);react.useEffect(()=>{n(void 0),a([]);},[e,t]);let c=react.useMemo(()=>({chain:e,address:t,cursor:r,limit:o,sortBy:"realizedPnl"}),[e,t,r,o]),{data:p,isPending:m,isFetching:u}=react$1.useTokenTopTradersQuery(c);react.useEffect(()=>{p&&a(b=>r==null?[p]:b[b.length-1]?.endCursor===p.endCursor?b:[...b,p]);},[p,r]);let x=react.useMemo(()=>i.flatMap(b=>b.data),[i]),k=react.useMemo(()=>l?x.filter(b=>b.tags&&b.tags.length>0):x,[x,l]),g=i[i.length-1],f=!!(g?.hasNext&&g.endCursor),h=react.useCallback(()=>{!g?.endCursor||!g.hasNext||n(g.endCursor);},[g]);return {traders:k,isLoading:m||u,hasMore:f,loadMore:h,onlyTracked:l,setOnlyTracked:d}}function zS({chain:e,address:t,limit:o,className:s,renderAddress:r}){let{traders:n,isLoading:i,hasMore:a,loadMore:l,onlyTracked:d,setOnlyTracked:c}=Sn({chain:e,address:t,limit:o});return jsxRuntime.jsx(Tn,{className:s,traders:n,isLoading:i,hasMore:a,onLoadMore:l,onlyTracked:d,onOnlyTrackedChange:c,renderAddress:r})}function Cn({tokens:e,isLoading:t,unavailable:o,hasMore:s,onLoadMore:r,renderTokenLink:n,className:i}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",i),children:[jsxRuntime.jsx("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:jsxRuntime.jsx("span",{className:"text-xs font-medium text-default-500",children:"Dev Tokens"})}),jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[700px] table-fixed text-[12px]",children:[jsxRuntime.jsx("thead",{className:"text-default-400",children:jsxRuntime.jsxs("tr",{className:"border-b border-default-100",children:[jsxRuntime.jsx("th",{className:"w-[28%] px-3 py-2 text-left font-normal",children:"Token"}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-center font-normal",children:"Migrated"}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Market Cap"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"ATH"}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Liquidity"}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"1h Volume"})]})}),jsxRuntime.jsxs("tbody",{children:[o?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-10 text-center text-default-400",children:"Dev tokens index is coming soon."})}):e.length===0&&!t?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No dev tokens"})}):e.map(a=>jsxRuntime.jsx(wm,{token:a,renderTokenLink:n},`${a.chain}:${a.address}`)),!o&&t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&s&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.jsx("button",{type:"button",onClick:r,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function wm({token:e,renderTokenLink:t}){let o=e.marketData?.marketCapInUsd??e.marketData?.marketCap,s=e.marketData?.tvlInUsd,n=e.stats?.["1h"]?.volumesInUsd,i=!!e.migratedTo,a=t?t(e):jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui.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}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col",children:[jsxRuntime.jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsxRuntime.jsx("span",{className:"truncate text-[10px] text-default-400",children:e.name})]})]});return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:a}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-center align-middle",children:i?jsxRuntime.jsx("span",{className:"text-bullish",children:"\u2713"}):jsxRuntime.jsx("span",{className:"text-default-400",children:"\u2014"})}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:o?utils.formatAmountUSDCompact(o):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s?utils.formatAmountUSDCompact(s):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n?utils.formatAmountUSDCompact(n):"--"})]})}function Ln({tokens:e,className:t}){let o=e.length,s=e.filter(a=>!!a.migratedTo).length,r=o===0?0:Math.round(s/o*100),n=e.map(a=>a.stats?.["1h"]?.volumesInUsd??"0").reduce((a,l)=>a.plus(new utils.SafeBigNumber(l)),new utils.SafeBigNumber(0)),i=e.map(a=>a.marketData?.marketCapInUsd??a.marketData?.marketCap??"0").reduce((a,l)=>a.plus(new utils.SafeBigNumber(l)),new utils.SafeBigNumber(0));return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-2 p-3",t),children:[jsxRuntime.jsx("div",{className:"flex items-center justify-between",children:jsxRuntime.jsx("span",{className:"text-xs font-medium text-default-500",children:"Token Stats"})}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsxRuntime.jsx(Ht,{label:"Total",value:String(o)}),jsxRuntime.jsx(Ht,{label:"Migrated",value:`${s} (${r}%)`}),jsxRuntime.jsx(Ht,{label:"Total Market Cap",value:utils.formatAmountUSDCompact(i.toString())}),jsxRuntime.jsx(Ht,{label:"Total 1h Volume",value:utils.formatAmountUSDCompact(n.toString())})]})]})}function Ht({label:e,value:t}){return jsxRuntime.jsxs("div",{className:"flex flex-col gap-[2px]",children:[jsxRuntime.jsx("span",{className:"text-[10px] text-default-400",children:e}),jsxRuntime.jsx("span",{className:"text-[13px] font-medium text-foreground",children:t})]})}function Am(e){return e instanceof Error&&e.code==="NotImplemented"}function An({chain:e,creator:t,limit:o=20}){let[s,r]=react.useState(void 0),[n,i]=react.useState([]);react.useEffect(()=>{r(void 0),i([]);},[e,t]);let a=react.useMemo(()=>({chain:e,creator:t??"",cursor:s,limit:o}),[e,t,s,o]),{data:l,isPending:d,isFetching:c,error:p}=react$1.useTokensByCreatorQuery(a,{enabled:!!t});react.useEffect(()=>{l&&i(f=>s==null?[l]:f[f.length-1]?.endCursor===l.endCursor?f:[...f,l]);},[l,s]);let m=!!p&&Am(p),u=react.useMemo(()=>n.flatMap(f=>f.data),[n]),x=n[n.length-1],k=!!(x?.hasNext&&x.endCursor),g=react.useCallback(()=>{!x?.endCursor||!x.hasNext||r(x.endCursor);},[x]);return {tokens:u,isLoading:!!t&&!m&&(d||c),unavailable:m,hasMore:k,loadMore:g}}function aN({chain:e,creator:t,limit:o,showSummary:s=false,renderTokenLink:r,className:n}){let{tokens:i,isLoading:a,unavailable:l,hasMore:d,loadMore:c}=An({chain:e,creator:t,limit:o});return jsxRuntime.jsxs("div",{className:n,children:[jsxRuntime.jsx(Cn,{tokens:i,isLoading:a,unavailable:l,hasMore:d,onLoadMore:c,renderTokenLink:r}),s&&!l?jsxRuntime.jsx(Ln,{tokens:i}):null]})}function Hn({token:e,athInUsd:t,athAt:o,globalFeesPaidInUsd:s,rank:r,onTogglePin:n,pinned:i,className:a}){let l=e?.marketData?.priceInUsd,d=e?.marketData?.tvlInUsd,c=e?.marketData?.totalSupply;return jsxRuntime.jsxs("div",{className:ui.cn("flex h-[48px] w-full flex-row items-center gap-4 overflow-x-auto px-3 text-[12px]",a),children:[jsxRuntime.jsx(Ee,{label:"Price",value:l?utils.formatPriceUSD(l):"--"}),jsxRuntime.jsx(Ee,{label:"Liquidity",value:d?utils.formatAmountUSDCompact(d):"--"}),jsxRuntime.jsx(Ee,{label:"Supply",value:c?utils.formatAmount(c):"--"}),s?jsxRuntime.jsx(Ee,{label:"Fees Paid",value:utils.formatAmountUSDCompact(s)}):null,t?jsxRuntime.jsx(Ee,{label:"ATH",value:utils.formatAmountUSDCompact(t),title:o?`All-time high at ${o.toLocaleDateString()}`:void 0}):null,r!==void 0?jsxRuntime.jsx(Ee,{label:"Rank",value:`#${r}`}):null,jsxRuntime.jsx("div",{className:"flex-1"}),n?jsxRuntime.jsx("button",{type:"button",onClick:n,"aria-pressed":i,className:ui.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 Ee({label:e,value:t,title:o}){return jsxRuntime.jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] whitespace-nowrap",title:o,children:[jsxRuntime.jsx("span",{className:"text-[10px] leading-none text-default-400",children:e}),jsxRuntime.jsx("span",{className:"text-[13px] font-medium leading-none tabular-nums text-foreground",children:t})]})}function On({chain:e,address:t}){return P(e,t)}function vN({chain:e,address:t,athInUsd:o,athAt:s,globalFeesPaidInUsd:r,rank:n,pinned:i,onTogglePin:a,className:l}){let{token:d}=On({chain:e,address:t});return jsxRuntime.jsx(Hn,{className:l,token:d,athInUsd:o,athAt:s,globalFeesPaidInUsd:r,rank:n,pinned:i,onTogglePin:a})}function Un({tokens:e,isLoading:t,unavailable:o,onTokenClick:s,className:r}){return o?jsxRuntime.jsx("div",{className:ui.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?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"No similar tokens found."}):jsxRuntime.jsxs("ul",{className:ui.cn("flex flex-col",r),children:[e.map(n=>jsxRuntime.jsxs("li",{className:ui.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:[jsxRuntime.jsx(ui.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}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[jsxRuntime.jsx("span",{className:"truncate text-[12px] text-foreground",children:n.symbol}),jsxRuntime.jsx("span",{className:"truncate text-[10px] text-default-400",children:n.name})]}),jsxRuntime.jsx("span",{className:"text-[11px] tabular-nums text-default-500",children:n.marketData?.marketCapInUsd?utils.formatAmountUSDCompact(n.marketData.marketCapInUsd):"--"})]},`${n.chain}:${n.address}`)),t&&jsxRuntime.jsx("li",{className:"py-2 text-center text-[11px] text-default-400",children:"Loading\u2026"})]})}function Dn({chain:e,address:t,keyword:o,limit:s=10}){let r=!!o&&o.length>0,{data:n,isPending:i,isFetching:a}=react$1.useSearchTokensQuery({chains:[e],keyword:o,limit:s+1},{enabled:r});return {tokens:react.useMemo(()=>{if(!n)return [];let d=t.toLowerCase();return (n.data??[]).filter(c=>c.address.toLowerCase()!==d).slice(0,s)},[n,t,s]),isLoading:r&&(i||a),unavailable:!r}}function WN({chain:e,address:t,keyword:o,limit:s,onTokenClick:r,className:n}){let{tokens:i,isLoading:a,unavailable:l}=Dn({chain:e,address:t,keyword:o,limit:s});return jsxRuntime.jsx(Un,{className:n,tokens:i,isLoading:a,unavailable:l,onTokenClick:r})}function Wn({tokens:e=[],unavailable:t=true,onTokenClick:o,className:s}){return t?jsxRuntime.jsx("div",{className:ui.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?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",s),children:"No reused-image tokens found."}):jsxRuntime.jsx("div",{className:ui.cn("flex flex-row flex-wrap gap-2 p-3",s),children:e.map(r=>jsxRuntime.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:jsxRuntime.jsx(ui.Avatar,{src:r.image??void 0,name:(r.symbol??"?").slice(0,1),className:"size-full bg-default-100 text-[10px] text-default-400",showFallback:true})},`${r.chain}:${r.address}`))})}function Bn(e){return {tokens:[],isLoading:false,unavailable:true}}function YN({chain:e,address:t,onTokenClick:o,className:s}){let{tokens:r,unavailable:n}=Bn();return jsxRuntime.jsx(Wn,{className:s,tokens:r,unavailable:n,onTokenClick:o})}function Kn({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:s,className:r}){let{t:n}=i18n.useTranslation(),[i,a]=react.useState(e?.join(", ")??""),[l,d]=react.useState(t?.join(", ")??"");react.useEffect(()=>{a(m=>{let u=Ot(m);return u===void 0&&e===void 0?m:u===void 0?e?.join(", ")??"":e===void 0?"":u.join("")===e.join("")?m:e.join(", ")});},[e]),react.useEffect(()=>{d(m=>{let u=Ot(m);return u===void 0&&t===void 0?m:u===void 0?t?.join(", ")??"":t===void 0?"":u.join("")===t.join("")?m:t.join(", ")});},[t]);let c=react.useCallback(m=>{a(m),o?.(Ot(m));},[o]),p=react.useCallback(m=>{d(m),s?.(Ot(m));},[s]);return jsxRuntime.jsxs("div",{className:ui.cn("grid grid-cols-2 gap-3 px-4",r),children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.keywords.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.keywords.placeholder"),value:i,onValueChange:c})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.keywords.exclude.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.keywords.placeholder"),value:l,onValueChange:p})]})]})}function Ot(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Xn({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:s}){let{t:r}=i18n.useTranslation(),[n,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let a=react.useMemo(()=>e.every(c=>n.includes(c)),[e,n]),l=react.useCallback(()=>{if(a){let c=[];i(c),o?.(c);}else {let c=[...e];i(c),o?.(c);}},[e,o,a]),d=react.useCallback(c=>()=>{if(n.includes(c)){let p=n.filter(m=>m!==c);i(p),o?.(p);}else {let p=[...n,c];i(p),o?.(p);}},[n,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-3 px-4",s),children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.protocols.title")}),jsxRuntime.jsx(ui.Button,{variant:"light",color:"default",size:"sm",radius:"full",onPress:l,children:r(a?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(c=>{let p=fe(c);return jsxRuntime.jsx(ui.Button,{variant:"bordered",size:"sm",radius:"full",className:ui.cn("w-fit h-6 px-2.5",p.text,p.bg5,"border",p.border,{"opacity-40 data-[hover=true]:!opacity-30":!n.includes(c)}),startContent:jsxRuntime.jsx(ui.Image,{width:14,height:14,src:`/images/protocols/${c}.svg`,alt:utils.formatTokenProtocolName(c)}),onPress:d(c),children:utils.formatTokenProtocolName(c)},c)})})]})}function j({title:e,field:t,value:o,onChange:s}){let{t:r}=i18n.useTranslation(),[n,i]=react.useState(o?Mo(o).min:NaN),[a,l]=react.useState(o?Mo(o).max:NaN);react.useEffect(()=>{if(o===void 0)i(NaN),l(NaN);else {let{min:p,max:m}=Mo(o);i(p),l(m);}},[o]);let d=react.useCallback(p=>{i(p),s?.(ei(t,p,a));},[t,s,a]),c=react.useCallback(p=>{l(p),s?.(ei(t,n,p));},[t,s,n]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[e&&jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:e}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsxRuntime.jsx(ui.StyledNumberInput,{value:n,onValueChange:d,variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui.StyledNumberInput,{value:a,onValueChange:c,variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function Mo(e){if(e.operator==="between"){let[t,o]=e.value;return {min:t,max:o}}return e.operator==="gte"?{min:e.value,max:NaN}:e.operator==="lte"?{min:NaN,max:e.value}:{min:NaN,max:NaN}}function ei(e,t,o){if(!(isNaN(t)&&isNaN(o)))return isNaN(t)?{field:e,operator:"lte",value:o}:isNaN(o)?{field:e,operator:"gte",value:t}:{field:e,operator:"between",value:[t,o]}}function oi({values:e,onValuesChange:t,className:o}){let{t:s}=i18n.useTranslation(),[r,n]=react.useState(e);react.useEffect(()=>{n(e);},[e]);let i=react.useCallback(a=>l=>{if(l===void 0){let d=(r??[]).filter(c=>c.field!==a);d=d.length>0?d:void 0,n(d),t?.(d);}else {let d=[...(r??[]).filter(c=>c.field!==a),l];n(d),t?.(d);}},[r,t]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",o),children:[jsxRuntime.jsx(j,{field:"holders",title:s("tokens.filters.stats.audits.holders"),value:r?.find(a=>a.field==="holders"),onChange:i("holders")}),jsxRuntime.jsx(j,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:r?.find(a=>a.field==="top10Ratio"),onChange:i("top10Ratio")}),jsxRuntime.jsx(j,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:r?.find(a=>a.field==="top100Ratio"),onChange:i("top100Ratio")}),jsxRuntime.jsx(j,{field:"creatorsRatio",title:s("tokens.filters.stats.audits.devHoldingsRatio"),value:r?.find(a=>a.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function ri({resolution:e,values:t,onValuesChange:o,className:s}){let{t:r}=i18n.useTranslation(),[n,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let a=react.useCallback(l=>d=>{if(d===void 0){let c=(n??[]).filter(p=>p.field!==l);c=c.length>0?c:void 0,i(c),o?.(c);}else {let c=[...(n??[]).filter(p=>p.field!==l),d];i(c),o?.(c);}},[n,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",s),children:[jsxRuntime.jsx(j,{field:"marketCap",title:r("tokens.filters.stats.metrics.marketCap"),value:n?.find(l=>l.field==="marketCap"),onChange:a("marketCap")}),jsxRuntime.jsx(j,{field:"tvl",title:r("tokens.filters.stats.metrics.liquidity"),value:n?.find(l=>l.field==="tvl"),onChange:a("tvl")}),jsxRuntime.jsx(j,{field:`volumes${e}`,title:r("tokens.filters.stats.metrics.volumes",{resolution:r(`common.resolution.${e}`)}),value:n?.find(l=>l.field===`volumes${e}`),onChange:a(`volumes${e}`)}),jsxRuntime.jsx(j,{field:`trades${e}`,title:r("tokens.filters.stats.metrics.txns",{resolution:r(`common.resolution.${e}`)}),value:n?.find(l=>l.field===`trades${e}`),onChange:a(`trades${e}`)})]})}function di({resolution:e,values:t,onValuesChange:o,className:s}){let{t:r}=i18n.useTranslation(),[n,i]=react.useState("audits"),[a,l]=react.useState(t);react.useEffect(()=>{l(t);},[t]);let d=react.useCallback(m=>{l(m),o?.(m);},[o]),c=react.useMemo(()=>{let m=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(u=>m.includes(u.field))?.length??0},[a]),p=react.useMemo(()=>{let m=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(u=>m.includes(u.field)).length??0},[a,e]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-3 px-4",s),children:[jsxRuntime.jsxs(ui.StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:n,onSelectionChange:i,children:[jsxRuntime.jsx(ui.Tab,{title:c===0?r("tokens.filters.stats.audits"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:c,shape:"circle",children:r("tokens.filters.stats.audits")})},"audits"),jsxRuntime.jsx(ui.Tab,{title:p===0?r("tokens.filters.stats.metrics"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:p,shape:"circle",children:r("tokens.filters.stats.metrics")})},"metrics")]}),jsxRuntime.jsx(oi,{values:a,onValuesChange:d,className:ui.cn({hidden:n!=="audits"})}),jsxRuntime.jsx(ri,{values:a,onValuesChange:d,resolution:e,className:ui.cn({hidden:n!=="metrics"})})]})}function _t({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:r}){let[n,i]=react.useState(ci(o?.filters,e));react.useEffect(()=>{i(ci(o?.filters,e));},[o?.filters,e]);let[a,l]=react.useState(o?.keywords);react.useEffect(()=>{l(o?.keywords);},[o?.keywords]);let[d,c]=react.useState(o?.excludeKeywords);react.useEffect(()=>{c(o?.excludeKeywords);},[o?.excludeKeywords]);let[p,m]=react.useState(o?.filters);react.useEffect(()=>{m(o?.filters);},[o?.filters]);let u=react.useCallback(f=>{i(f),s?.($t(e,f,a,d,p));},[e,a,d,p,s]),x=react.useCallback(f=>{l(f),s?.($t(e,n,f,d,p));},[e,n,d,p,s]),k=react.useCallback(f=>{c(f),s?.($t(e,n,a,f,p));},[e,n,a,p,s]),g=react.useCallback(f=>{m(f),s?.($t(e,n,a,d,f));},[e,n,a,d,s]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",r),children:[e&&e.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Xn,{protocols:e,selectedProtocols:n,onSelectedProtocolsChange:u}),jsxRuntime.jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}})]}),jsxRuntime.jsx(Kn,{keywords:a,excludeKeywords:d,onKeywordsChange:x,onExcludeKeywordsChange:k}),jsxRuntime.jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}}),jsxRuntime.jsx(di,{resolution:t,values:p,onValuesChange:g})]})}function ci(e,t){let o=e?.find(s=>s.field==="launchedFromProtocolFamily");return o?o.operator==="in"?o.value:(console.warn("invalid token protocols filter",o),[...t||[]]):[...t||[]]}function $t(e,t,o,s,r){let n=r?[...r.filter(i=>i.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(a=>t.includes(a))||n.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&s===void 0&&n.length===0?void 0:{keywords:o,excludeKeywords:s,filters:n.length>0?n:void 0}}function fi({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:r}=i18n.useTranslation(),{isOpen:n,onOpen:i,onClose:a,onOpenChange:l}=ui.useDisclosure(),[d,c]=react.useState(o),p=react.useCallback(()=>{c(void 0);},[]),m=react.useCallback(()=>{s?.(d),a();},[d,s,a]);react.useEffect(()=>{c(o);},[n,o]);let u=react.useMemo(()=>Object.values(o||{}).every(x=>x===void 0),[o]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.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:[jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"text-zinc-400"}),!u&&jsxRuntime.jsx("span",{style:{position:"absolute",top:-2,right:-2,width:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),jsxRuntime.jsx(ui.StyledModal,{isOpen:n,onOpenChange:l,size:"md",scrollBehavior:"inside",children:jsxRuntime.jsxs(ui.ModalContent,{className:"w-full h-full",children:[jsxRuntime.jsx(ui.ModalHeader,{className:"px-4 py-2",children:jsxRuntime.jsx("span",{className:"text-base font-semibold",children:r("tokens.filters.modal.title")})}),jsxRuntime.jsx(ui.ModalBody,{className:"px-0 pt-0 pb-4",children:jsxRuntime.jsx(ui.ScrollShadow,{children:jsxRuntime.jsx(_t,{protocols:e,resolution:t,filters:d,onFiltersChange:c,className:"pb-4"})})}),jsxRuntime.jsx(ui.ModalFooter,{className:"px-4",children:jsxRuntime.jsxs("div",{className:"w-full flex justify-between items-center",children:[jsxRuntime.jsx(ui.Button,{variant:"light",color:"default",size:"sm",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:p,children:r("common.reset")}),jsxRuntime.jsx(ui.Button,{color:"primary",size:"sm",radius:"full",onPress:m,children:r("common.apply")})]})})]})})]})}var Op={display:"inline-flex",alignItems:"center",gap:8,borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",padding:"6px 12px",fontSize:14,fontWeight:700,color:"#d4d4d8",cursor:"pointer",transition:"all 0.15s",height:32},Up={position:"absolute",right:0,top:"100%",zIndex:20,marginTop:8,borderRadius:14,border:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"},Dp={height:1,background:"rgba(39,39,42,1)",margin:0};function hi({protocols:e,resolution:t,filters:o,onFiltersChange:s}){let{t:r}=i18n.useTranslation(),[n,i]=react.useState(false),a=react.useRef(null),[l,d]=react.useState(o),c=react.useCallback(()=>{d(void 0);},[]),p=react.useCallback(()=>{s?.(l),i(false);},[l,s]);react.useEffect(()=>{d(o);},[n,o]),react.useEffect(()=>{let u=x=>{a.current&&!a.current.contains(x.target)&&i(false);};return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]),react.useEffect(()=>{if(!n)return;let u=x=>{x.key==="Escape"&&i(false);};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[n]);let m=react.useMemo(()=>Object.values(o||{}).every(u=>u===void 0),[o]);return jsxRuntime.jsxs("div",{ref:a,style:{position:"relative"},children:[jsxRuntime.jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxRuntime.jsxs("button",{type:"button",style:Op,onMouseEnter:u=>{u.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:u=>{u.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>i(u=>!u),children:[jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"}),jsxRuntime.jsx("span",{className:"hidden sm:block",children:r("tokens.listHeader.filter")}),jsxRuntime.jsx(Wp,{open:n})]}),!m&&jsxRuntime.jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),n&&jsxRuntime.jsxs("div",{style:{...Up,width:420},children:[jsxRuntime.jsx("div",{style:{padding:"16px 0"},children:jsxRuntime.jsx(ui.ScrollShadow,{className:"w-full max-h-120 px-4",children:jsxRuntime.jsx(_t,{protocols:e,resolution:t,filters:l,onFiltersChange:d})})}),jsxRuntime.jsx("div",{style:Dp}),jsxRuntime.jsxs("div",{style:{padding:"12px 16px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[jsxRuntime.jsx(ui.Button,{variant:"light",size:"sm",color:"default",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:c,children:r("common.reset")}),jsxRuntime.jsx(ui.Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:p,children:r("common.apply")})]})]})]})}function Wp({open:e}){return jsxRuntime.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:jsxRuntime.jsx("path",{d:"m6 9 6 6 6-6"})})}function _L({popoverPlacement:e="bottom-end",...t}){let{isMobile:o}=ui.useScreen();return o?jsxRuntime.jsx(fi,{...t}):jsxRuntime.jsx(hi,{placement:e,...t})}function Ti({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=i18n.useTranslation(),r=react.useCallback(n=>{t?.(n);},[t]);return jsxRuntime.jsx(ui.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=>jsxRuntime.jsx(ui.Tab,{title:s(`common.resolution.${n}`)},n))})}var Yp={display:"inline-flex",alignItems:"center",gap:4,borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"rgba(39,39,42,0.6)",padding:"0 10px",fontSize:12,fontWeight:500,color:"#d4d4d8",cursor:"pointer",height:32,minHeight:32},Zp={position:"absolute",left:0,top:"100%",zIndex:20,marginTop:6,borderRadius:14,border:"1px solid rgba(39,39,42,1)",background:"rgba(24,24,27,1)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden",padding:"6px",minWidth:"100%"};function Si({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=i18n.useTranslation(),[r,n]=react.useState(false),i=react.useRef(null),a=react.useCallback(l=>{t?.(l),n(false);},[t]);return react.useEffect(()=>{if(!r)return;let l=c=>{i.current&&!i.current.contains(c.target)&&n(false);},d=c=>{c.key==="Escape"&&n(false);};return document.addEventListener("mousedown",l),document.addEventListener("keydown",d),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",d);}},[r]),jsxRuntime.jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxRuntime.jsxs("button",{type:"button",style:Yp,onClick:()=>n(l=>!l),children:[jsxRuntime.jsx("span",{children:e?s(`common.resolution.${e}`):"\u2014"}),jsxRuntime.jsx(ui.ChevronDownIcon,{width:14,height:14,className:"text-zinc-500",style:{transition:"transform 0.15s",transform:r?"rotate(180deg)":void 0}})]}),r&&jsxRuntime.jsx("div",{style:Zp,children:o.map(l=>jsxRuntime.jsx("button",{type:"button",onClick:()=>a(l),className:ui.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 iw(e){let{isMobile:t}=ui.useScreen();return t?jsxRuntime.jsx(Si,{...e}):jsxRuntime.jsx(Ti,{...e})}function Li({token:e}){let{t}=i18n.useTranslation(),o=react.useMemo(()=>e.marketData?.bluechipHoldingsRatio,[e.marketData?.bluechipHoldingsRatio]),s=react.useMemo(()=>o!==void 0&&new utils.SafeBigNumber(o).gte(.1),[o]),r=react.useMemo(()=>o===void 0||new utils.SafeBigNumber(o).lt(.05),[o]);return jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.bluechip.explained"),children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2.5",children:[s&&jsxRuntime.jsx(ui.HorsePowerHighIcon,{}),r&&jsxRuntime.jsx(ui.HorsePowerLowIcon,{}),!s&&!r&&jsxRuntime.jsx(ui.HorsePowerIcon,{}),jsxRuntime.jsx("span",{className:ui.cn(s&&"text-bullish",!s&&!r&&"text-bearish",o===void 0&&"text-neutral"),children:utils.formatPercent(o)})]})})}function wi({token:e}){let t=ui.useCopyToClipboard(),{t:o}=i18n.useTranslation(),s=react.useCallback(n=>{n.preventDefault(),n.stopPropagation(),t(e.address,()=>ui.toast.success(o("tokens.copied.address")));},[t,e.address,o]),r=hooks.useTickAge(e.createdAt);return jsxRuntime.jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsxRuntime.jsx(ie,{token:e,className:"w-10 h-10 sm:w-16 sm:h-16 flex-none"}),jsxRuntime.jsxs("div",{className:"flex-auto flex flex-col gap-1 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"flex-none font-medium tracking-[-0.02em]",children:e.symbol}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.name,children:jsxRuntime.jsxs("div",{className:"flex-initial flex items-center gap-1 min-w-0 text-neutral hover:text-primary-200 cursor-pointer",onClick:s,children:[jsxRuntime.jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:e.name}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"})]})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-primary text-xs sm:text-sm font-medium",children:utils.formatAge(r)}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.WebsiteIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.TwitterIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.TelegramIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.discord&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.discord,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.DiscordIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),jsxRuntime.jsx(ui.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.SearchIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]})]})]})}var Hu={neutral:"text-zinc-400",bullish:"text-bullish",bearish:"text-bearish"};function pe({icon:e,value:t,tooltip:o,color:s="neutral"}){return jsxRuntime.jsx(ui.StyledTooltip,{content:o,children:jsxRuntime.jsxs("span",{className:"inline-flex items-center text-xs tabular-nums",style:{gap:5},children:[jsxRuntime.jsx("span",{className:"flex-none",style:{color:"#52525b"},children:e}),jsxRuntime.jsx("span",{className:ui.cn(Hu[s]),children:t})]})})}function Pi({token:e}){let{t}=i18n.useTranslation(),o=e.marketData,s=react.useMemo(()=>new utils.SafeBigNumber(o?.top10HoldingsRatio).gte(.1),[o?.top10HoldingsRatio]),r=react.useMemo(()=>new utils.SafeBigNumber(o?.devHoldingsRatio).gte(.1),[o?.devHoldingsRatio]),n=react.useMemo(()=>new utils.SafeBigNumber(o?.sniperHoldingsRatio).gte(.1),[o?.sniperHoldingsRatio]),i=react.useMemo(()=>new utils.SafeBigNumber(o?.insiderHoldingsRatio).gte(.1),[o?.insiderHoldingsRatio]),a=react.useMemo(()=>new utils.SafeBigNumber(o?.bundleHoldingsRatio).gte(.1),[o?.bundleHoldingsRatio]),l=(d,c)=>c===void 0?"neutral":d?"bearish":"bullish";return jsxRuntime.jsxs("div",{className:"w-full h-full flex gap-5 justify-start items-center",children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsx(pe,{icon:jsxRuntime.jsx(ui.PeopleIcon,{width:14,height:14}),value:utils.formatAmount(o?.holders),tooltip:t("tokens.tokenInfo.holders")}),jsxRuntime.jsx(pe,{icon:jsxRuntime.jsx(ui.KlineCandlesIcon,{width:14,height:14}),value:utils.formatAmount(o?.proHolders),tooltip:t("tokens.tokenInfo.proHolders")}),jsxRuntime.jsx(pe,{icon:jsxRuntime.jsx(ui.StarIcon,{width:14,height:14}),value:utils.formatAmount(o?.kolHolders),tooltip:t("tokens.tokenInfo.kolHolders")})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsx(pe,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:14,height:14}),value:utils.formatPercent(o?.top10HoldingsRatio),tooltip:t("tokens.tokenInfo.top10HoldingsRatio"),color:l(s,o?.top10HoldingsRatio)}),jsxRuntime.jsx(pe,{icon:jsxRuntime.jsx(ui.CookIcon,{width:14,height:14}),value:utils.formatPercent(o?.devHoldingsRatio),tooltip:t("tokens.tokenInfo.devHoldingsRatio"),color:l(r,o?.devHoldingsRatio)}),jsxRuntime.jsx(pe,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:14,height:14}),value:utils.formatPercent(o?.sniperHoldingsRatio),tooltip:t("tokens.tokenInfo.sniperHoldingsRatio"),color:l(n,o?.sniperHoldingsRatio)})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[jsxRuntime.jsx(pe,{icon:jsxRuntime.jsx(ui.RatIcon,{width:14,height:14}),value:utils.formatPercent(o?.insiderHoldingsRatio),tooltip:t("tokens.tokenInfo.insiderHoldingsRatio"),color:l(i,o?.insiderHoldingsRatio)}),jsxRuntime.jsx(pe,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:14,height:14}),value:utils.formatPercent(o?.bundleHoldingsRatio),tooltip:t("tokens.tokenInfo.bundleHoldingsRatio"),color:l(a,o?.bundleHoldingsRatio)})]})]})}function Ri({token:e}){let t=react.useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountUSD(t)})}function Ai({token:e}){let t=react.useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountUSD(t)})}function Hi({token:e,resolution:t}){let o=react.useMemo(()=>e.marketData?.priceInUsd,[e]),s=react.useMemo(()=>e.stats?.[t]?.priceChange,[e,t]),r=react.useMemo(()=>s?new utils.SafeBigNumber(s).abs().toString():void 0,[s]),n=react.useMemo(()=>s&&new utils.SafeBigNumber(s).gte(0),[s]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatPriceUSD(o)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex gap-1 items-center text-xs",n?"text-bullish":"text-bearish"),children:[n?jsxRuntime.jsx(ui.TriangleUpIcon,{width:10,height:10}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:10,height:10}),jsxRuntime.jsx("span",{children:utils.formatPercent(r)})]})]})}function Oi({token:e,resolution:t}){let o=react.useMemo(()=>e.stats?.[t]?.traders,[e.stats?.[t]?.traders]),s=react.useMemo(()=>e.stats?.[t]?.buyers,[e.stats?.[t]?.buyers]),r=react.useMemo(()=>e.stats?.[t]?.sellers,[e.stats?.[t]?.sellers]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmount(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmount(r)})]})]})}function Di({token:e,resolution:t}){let o=react.useMemo(()=>e.stats?.[t]?.trades,[e.stats?.[t]?.trades]),s=react.useMemo(()=>e.stats?.[t]?.buys,[e.stats?.[t]?.buys]),r=react.useMemo(()=>e.stats?.[t]?.sells,[e.stats?.[t]?.sells]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmount(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmount(r)})]})]})}function Bi({token:e,resolution:t}){let o=react.useMemo(()=>e.stats?.[t]?.volumesInUsd,[e.stats?.[t]?.volumesInUsd]),s=react.useMemo(()=>e.stats?.[t]?.buyVolumesInUsd,[e.stats?.[t]?.buyVolumesInUsd]),r=react.useMemo(()=>e.stats?.[t]?.sellVolumesInUsd,[e.stats?.[t]?.sellVolumesInUsd]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmountUSD(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmountUSD(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmountUSD(r)})]})]})}var Qu=`
|
|
21
|
+
`})]})}function Cr({token:e,renderAction:t,isLast:o=false,onSelectToken:s,className:r}){let{t:n}=i18n.useTranslation(),i=ui.useCopyToClipboard(),a=hooks.useTickAge(e.createdAt),l=react.useCallback(()=>{s?.(e);},[s,e]),c=react.useCallback(h=>{h.stopPropagation(),i(e.address,()=>ui.toast.success(n("tokens.copied.address")));},[i,e.address,n]),m=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.top10HoldingsRatio).gte(.1),[e.marketData?.top10HoldingsRatio]),d=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.devHoldingsRatio).gte(.1),[e.marketData?.devHoldingsRatio]),p=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.insiderHoldingsRatio).gte(.1),[e.marketData?.insiderHoldingsRatio]),u=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.sniperHoldingsRatio).gte(.1),[e.marketData?.sniperHoldingsRatio]),f=react.useMemo(()=>new utils.SafeBigNumber(e.marketData?.bundleHoldingsRatio).gte(.1),[e.marketData?.bundleHoldingsRatio]),[k,x]=react.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=react.useMemo(()=>{let h=new utils.SafeBigNumber(e.marketData?.marketCapInUsd);return h.lt(1e3)?"text-foreground":h.lt(1e6)?"text-secondary":"text-primary"},[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx("div",{className:ui.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:jsxRuntime.jsxs("div",{className:"relative flex justify-between gap-3",children:[jsxRuntime.jsxs("div",{className:"flex-none flex flex-col items-center gap-1",children:[jsxRuntime.jsx(re,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-15 h-15"}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.address,children:jsxRuntime.jsx("div",{className:"text-xs text-neutral hover:text-primary/50 max-w-18 truncate cursor-pointer",onClick:c,children:utils.truncateAddress(e.address,4,4)})})]}),jsxRuntime.jsxs("div",{className:"flex-1 flex flex-col justify-between gap-3 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1 pr-24",children:[jsxRuntime.jsx("span",{className:"flex-none text-base font-semibold whitespace-nowrap overflow-hidden text-ellipsis max-w-20",children:e.symbol}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.name,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1 min-w-0 text-neutral hover:text-primary/50 cursor-pointer",onClick:c,children:[jsxRuntime.jsx("span",{className:"text-base whitespace-nowrap overflow-hidden text-ellipsis",children:e.name}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3.5 h-3.5"})]})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[jsxRuntime.jsx("span",{className:"text-sm text-primary font-medium",children:utils.formatAge(a)}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsxRuntime.jsx(ui.TwitterIcon,{className:"w-4 h-4"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsxRuntime.jsx(ui.TelegramIcon,{className:"w-4 h-4"})}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsxRuntime.jsx(ui.WebsiteIcon,{className:"w-4 h-4"})}),jsxRuntime.jsx(ui.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",onClick:h=>h.stopPropagation(),children:jsxRuntime.jsx(ui.SearchIcon,{className:"w-4 h-4"})}),jsxRuntime.jsx(ui.StyledTooltip,{content:n("tokens.tokenInfo.holders"),children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsxRuntime.jsx(ui.PeopleIcon,{width:14,height:14}),jsxRuntime.jsx("span",{className:"text-foreground text-xs",children:utils.formatAmount(e.marketData?.holders)})]})}),jsxRuntime.jsx(ui.StyledTooltip,{content:n("tokens.tokenInfo.proHolders"),children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsxRuntime.jsx(ui.KlineCandlesIcon,{width:16,height:16}),jsxRuntime.jsx("span",{className:"text-foreground text-xs",children:utils.formatAmount(e.marketData?.proHolders)})]})}),jsxRuntime.jsx(ui.StyledTooltip,{content:n("tokens.tokenInfo.kolHolders"),children:jsxRuntime.jsxs("div",{className:"flex items-center gap-0.5 text-neutral",children:[jsxRuntime.jsx(ui.StarIcon,{width:14,height:14}),jsxRuntime.jsx("span",{className:"text-foreground text-xs",children:utils.formatAmount(e.marketData?.kolHolders)})]})})]})]}),jsxRuntime.jsxs("div",{className:"relative flex items-center gap-1.5 flex-wrap",children:[jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.top10HoldingsRatio),tooltip:n("tokens.tokenInfo.top10HoldingsRatio"),warning:m,disable:!e.marketData?.top10HoldingsRatio||e.marketData?.top10HoldingsRatio==="0"}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.devHoldingsRatio),tooltip:n("tokens.tokenInfo.devHoldingsRatio"),warning:d,disable:!e.marketData?.devHoldingsRatio||e.marketData?.devHoldingsRatio==="0"}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.insiderHoldingsRatio),tooltip:n("tokens.tokenInfo.insiderHoldingsRatio"),warning:p,disable:!e.marketData?.insiderHoldingsRatio||e.marketData?.insiderHoldingsRatio==="0"}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.sniperHoldingsRatio),tooltip:n("tokens.tokenInfo.sniperHoldingsRatio"),warning:u,disable:!e.marketData?.sniperHoldingsRatio||e.marketData?.sniperHoldingsRatio==="0"}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(e.marketData?.bundleHoldingsRatio),tooltip:n("tokens.tokenInfo.bundleHoldingsRatio"),warning:f,disable:!e.marketData?.bundleHoldingsRatio||e.marketData?.bundleHoldingsRatio==="0"}),t?.(e)]})]}),jsxRuntime.jsxs("div",{className:"absolute top-0 right-0 flex flex-col gap-2 items-end",children:[jsxRuntime.jsxs("div",{className:"flex items-end gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.listHeader.marketCap")}),jsxRuntime.jsx("span",{className:ui.cn("text-base font-medium leading-none",g),children:utils.formatAmountUSDCompact(e.marketData?.marketCapInUsd)})]}),jsxRuntime.jsxs("div",{className:"flex items-end gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.pulse.vol")}),jsxRuntime.jsx("span",{className:"text-base font-medium leading-none text-foreground",children:utils.formatAmountUSDCompact(e.stats?.["1h"]?.volumesInUsd)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs leading-none text-neutral",children:n("tokens.pulse.txs")}),jsxRuntime.jsx("span",{className:"text-xs leading-none text-foreground",children:utils.formatAmount(e.stats?.["1h"]?.trades)})]}),jsxRuntime.jsxs("div",{className:"flex rounded-full overflow-hidden",children:[jsxRuntime.jsx("div",{className:"h-1 bg-bullish",style:{width:`${k}px`}}),jsxRuntime.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?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Cr,{token:o[e],isLast:e===o.length-1,renderAction:r,onSelectToken:n})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.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=react.useMemo(()=>({data:m,skeletonCount:Lr,renderItemAction:n,onSelectToken:i}),[m,n,i]),[u,f]=react.useState(false),k=react.useCallback(()=>{f(true),a?.(true);},[a]),x=react.useCallback(()=>{f(false),a?.(false);},[a]);return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full bg-content1 overflow-hidden flex flex-col border border-border rounded-lg",l),onMouseEnter:k,onMouseLeave:x,children:[!c&&jsxRuntime.jsx(ir,{title:e,isPaused:u,extra:r}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",children:jsxRuntime.jsx(reactWindow.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=react.useMemo(()=>({chain:e}),[e]),r=react.useRef(t);r.current=t;let n=react.useRef(e),[i,a]=react.useState(true),[l,c]=react.useState([]);react.useEffect(()=>{e!==n.current&&(a(true),c([]),n.current=e);},[e]);let{data:m,isPending:d}=react$1.useNewTokensQuery(s,{refetchInterval:o});react.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=react.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});},[]);react$1.useNewTokensSubscription({chain:e},p);let u=react.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]=react.useState(false),{tokens:c,isLoading:m}=Ir({chain:e,isPaused:a}),d=react.useCallback(p=>{l(p);},[]);return jsxRuntime.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=react.useMemo(()=>({chain:e}),[e]),r=react.useRef(t);r.current=t;let n=react.useRef(e),[i,a]=react.useState(true),[l,c]=react.useState([]);react.useEffect(()=>{e!==n.current&&(a(true),c([]),n.current=e);},[e]);let{data:m,isPending:d}=react$1.useMigratedTokensQuery(s,{refetchInterval:o});react.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=react.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});},[]);react$1.useMigratedTokensSubscription({chain:e},p);let u=react.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]=react.useState(false),{tokens:c,isLoading:m}=Wr({chain:e,isPaused:a}),d=react.useCallback(p=>{l(p);},[]);return jsxRuntime.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=react.useMemo(()=>({chain:e}),[e]),r=react.useRef(t);r.current=t;let n=react.useRef(e),[i,a]=react.useState(true),[l,c]=react.useState([]);react.useEffect(()=>{e!==n.current&&(a(true),c([]),n.current=e);},[e]);let{data:m,isPending:d}=react$1.useFinalStretchTokensQuery(s,{refetchInterval:o});react.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=react.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});},[]);react$1.useFinalStretchTokensSubscription({chain:e},p);let u=react.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]=react.useState(false),{tokens:c,isLoading:m}=_r({chain:e,isPaused:a}),d=react.useCallback(p=>{l(p);},[]);return jsxRuntime.jsx(Oe,{title:t,tokens:c,isLoading:m,renderHeaderExtra:o,renderItemAction:s,onSelectToken:r,onPauseChange:d,className:n,hideHeader:i})}var Ul=10,Ol=utils$1.atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function wt(){let[e,t]=jotai.useAtom(Ol),o=react.useCallback(r=>{let n=r.trim();n&&t(i=>{let a=i.filter(l=>l!==n);return [n,...a].slice(0,Ul)});},[t]),s=react.useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:s}}function Qr({histories:e,onSelect:t,onClear:o,className:s}){let{t:r}=i18n.useTranslation();return e.length===0?null:jsxRuntime.jsxs("div",{className:ui.cn("px-4 pb-4",s),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium",children:r("tokens.search.history")}),jsxRuntime.jsx(ui.Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsxRuntime.jsx(ui.TrashIcon,{width:20,height:20})})]}),jsxRuntime.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(n=>jsxRuntime.jsx(ui.Chip,{size:"sm",variant:"bordered",className:ui.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 jsxRuntime.jsx(Qr,{className:ui.cn(t),histories:o,onSelect:e,onClear:s})}function Xr({value:e,onValueChange:t,onClear:o,onEscape:s,className:r}){let{t:n}=i18n.useTranslation();return jsxRuntime.jsx("div",{className:r,children:jsxRuntime.jsx(ui.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:jsxRuntime.jsx(ui.SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent:e?jsxRuntime.jsx(ui.Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsxRuntime.jsx(ui.XCloseIcon,{width:20,height:20})}):jsxRuntime.jsx(ui.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}=i18n.useTranslation(),s=hooks.useTickAge(e.createdAt),r=react.useMemo(()=>e.marketData?.priceInUsd,[e]),n=react.useMemo(()=>e.marketData?.marketCapInUsd,[e]),i=react.useMemo(()=>e.marketData?.tvlInUsd,[e]),a=react.useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),l=react.useMemo(()=>a?new utils.SafeBigNumber(a).abs().toString():void 0,[a]),c=react.useMemo(()=>a!=null&&new utils.SafeBigNumber(a).gte(0),[a]);return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full px-3 flex items-center justify-between gap-2","hover:cursor-pointer hover:bg-content2 rounded-lg",t),children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2.5",children:[jsxRuntime.jsx(re,{token:e,className:"w-10 h-10 flex-none",showProtocolFamily:true,classNames:{searchIcon:"w-5 h-5"}}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"font-medium text-sm truncate",children:e.symbol}),jsxRuntime.jsx("span",{className:"text-xs text-primary font-medium",children:utils.formatAge(s)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 text-xs text-neutral",children:[jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.mcShort")," ",utils.formatAmountUSD(n)]}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.liqShort")," ",utils.formatAmountUSD(i)]})]})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsxRuntime.jsx("span",{className:"text-xs",children:utils.formatPriceUSD(r)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex gap-0.5 items-center text-xs",c?"text-bullish":"text-bearish"),children:[c?jsxRuntime.jsx(ui.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:8,height:8}),jsxRuntime.jsx("span",{children:utils.formatPercent(l)})]})]})]})}function Pt({className:e}){let{t}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.cn("h-9 px-3 flex items-center justify-between","text-xs font-medium text-neutral","sticky top-0 z-10",e),children:[jsxRuntime.jsx("div",{className:"flex-1",children:jsxRuntime.jsxs("span",{children:[t("tokens.listHeader.token")," / ",t("tokens.listHeader.age")," /"," ",t("tokens.listHeader.marketCap")," /"," ",t("tokens.listHeader.liquidity")]})}),jsxRuntime.jsx("div",{className:"flex-none w-20 text-right",children:jsxRuntime.jsxs("span",{children:[t("tokens.listHeader.price")," / ",t("tokens.listHeader.24hChange")]})})]})}function nd(){return jsxRuntime.jsxs("div",{className:"w-full h-14 px-3 flex items-center justify-between gap-2",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[jsxRuntime.jsx(ui.Skeleton,{className:"flex-none w-8 h-8 rounded-full"}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-24 h-4 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-36 h-3 rounded-md"})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end gap-1.5",children:[jsxRuntime.jsx(ui.Skeleton,{className:"w-14 h-4 rounded-md"}),jsxRuntime.jsx(ui.Skeleton,{className:"w-10 h-3 rounded-md"})]})]})}function At({rows:e=6,className:t}){return jsxRuntime.jsx("div",{className:ui.cn("w-full",t),children:Array.from({length:e}).map((o,s)=>jsxRuntime.jsx(nd,{},s))})}function ts({keyword:e,chains:t,limit:o=50}){let s=react.useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:r,isLoading:n,isFetchingNextPage:i,hasNextPage:a,fetchNextPage:l}=react$1.useSearchTokensInfiniteQuery(s,{enabled:!!e});return {tokens:react.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=react.useRef(null),{height:c}=hooks.useResizeObserver({ref:l}),m=react.useCallback(f=>f<s.length,[s]),d=react.useCallback(async()=>{i&&!n&&await a();},[i,n,a]),p=react.useMemo(()=>i?s.length+1:s.length,[s,i]),u=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:m,loadMoreRows:d,rowCount:p,threshold:5});return r?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Pt,{}),jsxRuntime.jsx(At,{})]}):s.length===0?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Pt,{}),jsxRuntime.jsx(kd,{})]}):jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(Pt,{className:"flex-none"}),jsxRuntime.jsx("div",{className:"flex-auto min-h-0",ref:l,children:jsxRuntime.jsx(reactWindow.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?jsxRuntime.jsx("div",{style:t,onClick:()=>s?.(r),children:jsxRuntime.jsx(Lt,{token:r})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})}function kd(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center py-16",children:[jsxRuntime.jsx(ui.EmptyIcon,{width:28,height:28,className:"text-neutral"}),jsxRuntime.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=react.useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=react.useRef(r),[i,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),c([]),n.current=r);},[r]);let[l,c]=react.useState([]),{data:m,isPending:d}=react$1.useTrendingTokensQuery(r,{refetchInterval:s});react.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=react.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});},[]);react$1.useTrendingTokensSubscription({chain:e},p);let u=react.useMemo(()=>!!(d||i),[d,i]);return {tokens:l,isLoading:u}}var Sd=types.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 jsxRuntime.jsx("div",{className:ui.cn("w-full flex flex-col overflow-hidden",o),children:n?jsxRuntime.jsx(At,{}):jsxRuntime.jsx("div",{className:"overflow-y-auto",children:r.map(i=>jsxRuntime.jsx("div",{style:{height:wd},onClick:()=>t?.(i),children:jsxRuntime.jsx(Lt,{token:i,className:"h-full"})},i.address))})})}function cs({onKeywordChange:e}){let[t,o]=react.useState(""),[s,r]=react.useState(""),{addHistory:n}=wt(),i=hooks.useCallbackRef(e),a=hooks.useCallbackRef(n),l=react.useMemo(()=>utils.debounce(p=>{r(p),i(p),p&&a(p);},500),[i,a]),c=react.useCallback(p=>{o(p),l(p);},[l]),m=react.useCallback(p=>{l.cancel(),o(p),r(p),i(p),p&&a(p);},[l,i,a]),d=react.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 jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(Xr,{value:r,onValueChange:i,onClear:l,onPaste:a,onEscape:s}),n?jsxRuntime.jsx(rs,{className:"flex-auto min-h-0",keyword:n,chains:e,onSelectToken:o}):jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col overflow-hidden",children:[jsxRuntime.jsx(Gr,{onSelect:a}),jsxRuntime.jsx(as,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}var ho="search";function Xh({id:e=ho}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(Bd,{...t})})}function Bd({params:e,isOpen:t,onOpenChange:o,onResult:s}){let{t:r}=i18n.useTranslation(),{isMobile:n}=ui.useScreen(),i=react.useCallback(a=>{s(a);},[s]);return jsxRuntime.jsx(ui.StyledModal,{isOpen:t,onOpenChange:o,size:n?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxRuntime.jsxs(ui.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:[jsxRuntime.jsxs(ui.ModalHeader,{className:"sm:hidden flex items-center justify-between pt-4 pb-2",children:[jsxRuntime.jsx("span",{className:"text-base font-semibold",children:r("tokens.search.title")}),jsxRuntime.jsx(ui.Button,{isIconOnly:true,onPress:()=>o(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsxRuntime.jsx(ui.XCloseIcon,{width:20,height:20})})]}),jsxRuntime.jsx(ui.ModalBody,{className:"p-4",children:jsxRuntime.jsx(ps,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function sb({chains:e,onSelectToken:t,className:o}){let{t:s}=i18n.useTranslation(),{isDesktop:r,isMobile:n}=ui.useScreen(),{onOpen:i,onClose:a}=uiScaffold.useAsyncModal(ho),l=hooks.useCallbackRef(t),c=hooks.useCallbackRef(async()=>{let d=await i({params:{chains:e}});d&&l(d);}),m=hooks.useCallbackRef(()=>{a();});return react.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]),jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",isIconOnly:!r,onPress:c,variant:n?"flat":"bordered",startContent:r?jsxRuntime.jsx(ui.SearchIcon,{className:"text-neutral"}):void 0,endContent:r?jsxRuntime.jsx(ui.Kbd,{className:"min-w-6 justify-center text-xs bg-transparent border border-border rounded-full",children:"/"}):void 0,className:ui.cn(r&&"pl-3 pr-1.5 text-neutral",o),children:r?s("tokens.search.placeholder"):jsxRuntime.jsx(ui.SearchIcon,{className:"text-neutral"})})}function Ce(e){return e==null||e===""?"--":utils.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}=react$1.useTokenQuery({chain:e,address:t}),[r,n]=react.useState(o);return react.useEffect(()=>{o&&n(o);},[o]),react$1.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 utils.SafeBigNumber(r??0),l=new utils.SafeBigNumber(n??0),c=a.eq(0)?0:l.div(a).times(100).toNumber();return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-1",i),children:[jsxRuntime.jsxs("div",{className:"flex items-baseline justify-between",children:[jsxRuntime.jsx("span",{className:"text-xs text-default-500",children:e}),jsxRuntime.jsx("span",{className:"text-xs text-foreground",children:t})]}),jsxRuntime.jsx(ui.Progress,{size:"sm",value:c,classNames:{track:"bg-bearish/40",indicator:"bg-bullish"},"aria-label":`${e} buy share`}),jsxRuntime.jsxs("div",{className:"flex justify-between gap-4 text-[10px]",children:[jsxRuntime.jsxs("span",{className:"text-bullish",children:["Buys: ",o]}),jsxRuntime.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 jsxRuntime.jsxs("div",{className:ui.cn("flex w-full flex-wrap items-center gap-4 px-4 py-3",s),children:[jsxRuntime.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e&&jsxRuntime.jsx(re,{token:e,radius:"lg",className:"h-10 w-10"}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col gap-0.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"truncate text-base font-semibold text-foreground",children:e?.symbol??"--"}),jsxRuntime.jsx("span",{className:"truncate text-xs text-default-400",children:e?.name})]}),n&&jsxRuntime.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),jsxRuntime.jsx(ui.CopyIcon,{width:12,height:12})]})]})]}),o&&jsxRuntime.jsx("div",{className:"flex-1 min-w-0",children:o}),t&&jsxRuntime.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-wrap items-center gap-x-6 gap-y-3",n),children:[e,jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-3",children:[t,o,s]}),jsxRuntime.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",s),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:e!=null?utils.formatAmount(e):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:Ce(t)}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:Ce(o)})]}),jsxRuntime.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 jsxRuntime.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",s),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:e?utils.formatAmountUSDCompact(e):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:t?utils.formatAmountUSDCompact(t):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:fe(o)})]}),jsxRuntime.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 jsxRuntime.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}=react.useMemo(()=>{if(!e||!t)return {bearish:false,priceChange:void 0};let n=new utils.SafeBigNumber(e),i=new utils.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 jsxRuntime.jsxs("div",{className:ui.cn("group flex flex-col gap-1",o),"data-bearish":s,children:[jsxRuntime.jsx("div",{className:"text-base font-medium leading-none text-bullish group-data-[bearish=true]:text-bearish",children:e?utils.formatPriceUSD(e):"--"}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-default-400",children:"24h"}),jsxRuntime.jsx("span",{className:"text-bullish group-data-[bearish=true]:text-bearish",children:r!=null?utils.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 jsxRuntime.jsx(Hs,{priceInUsd:s?.marketData?.priceInUsd,price24hAgoInUsd:s?.stats?.["24h"]?.openPriceInUsd,className:o})}function bc(e,t){switch(e){case "website":return jsxRuntime.jsx(ui.WebsiteIcon,{width:t,height:t});case "twitter":return jsxRuntime.jsx(ui.TwitterIcon,{width:t,height:t});case "telegram":return jsxRuntime.jsx(ui.TelegramIcon,{width:t,height:t});case "discord":return jsxRuntime.jsx(ui.DiscordIcon,{width:t,height:t});default:return jsxRuntime.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:jsxRuntime.jsx("div",{className:ui.cn("flex items-center gap-3",t),children:r.map(n=>jsxRuntime.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 jsxRuntime.jsx(Fs,{socials:r?.socialMedias,className:o,iconSize:s})}function Bs({volumesInUsd:e,trades:t,traders:o,className:s}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",s),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:e?utils.formatAmountUSDCompact(e):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:t!=null?utils.formatAmount(t):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:o!=null?utils.formatAmount(o):"--"})]}),jsxRuntime.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 jsxRuntime.jsx(Bs,{volumesInUsd:r?.volumesInUsd,trades:r?.trades,traders:r?.traders,className:o})}function $s({chain:e,address:t,className:o}){return jsxRuntime.jsx(bs,{className:o,price:jsxRuntime.jsx(Is,{chain:e,address:t}),marketCap:jsxRuntime.jsx(Ps,{chain:e,address:t}),volume:jsxRuntime.jsx(Vs,{chain:e,address:t}),holdersCount:jsxRuntime.jsx(Ns,{chain:e,address:t}),socialMedia:jsxRuntime.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 jsxRuntime.jsx(xs,{token:i,actions:o,dataStrip:s===void 0?jsxRuntime.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",m),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium text-default-500",children:"Holders"}),jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:r,onChange:u=>n?.(u.target.checked)}),"Only Tracked"]})]}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:wc.map(u=>jsxRuntime.jsx("button",{type:"button",onClick:()=>s(u.value),className:ui.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))})]}),jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[640px] table-fixed text-[12px]",children:[jsxRuntime.jsx("thead",{className:"text-default-400",children:jsxRuntime.jsxs("tr",{className:"border-b border-default-100",children:[jsxRuntime.jsx("th",{className:"w-[30%] px-3 py-2 text-left font-normal",children:"Wallet"}),jsxRuntime.jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:"Tags"}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Value"}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"%"}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"First held"}),jsxRuntime.jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:"Last active"})]})}),jsxRuntime.jsxs("tbody",{children:[p.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No holders"})}),p.map(u=>jsxRuntime.jsx(Lc,{holder:u,now:l,wellKnownAddresses:c,renderAddress:d},u.address)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),a&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.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=react.useMemo(()=>s?s(e.address):r?jsxRuntime.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}):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-default-500",children:se(e.address,6,6)}),[e.address,s,r]);return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:n}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(Tt,{tags:e.tags,max:3})}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:utils.formatAmountUSDCompact(e.amountInUsd)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:Ce(e.ratio)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.startHoldingAt?fe(e.startHoldingAt,t):"--"}),jsxRuntime.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]=react.useState(s),[i,a]=react.useState(void 0),[l,c]=react.useState([]),m=react.useCallback(()=>{a(void 0),c([]);},[]),d=react.useCallback(y=>{y!==r&&(n(y),m());},[r,m]);react.useEffect(()=>{m();},[e,t,m]);let p=react.useMemo(()=>({chain:e,address:t,cursor:i,limit:o,sortBy:r}),[e,t,i,o,r]),{data:u,isPending:f,isFetching:k}=react$1.useTokenHoldersQuery(p);react.useEffect(()=>{u&&c(y=>i==null?[u]:y[y.length-1]?.endCursor===u.endCursor?y:[...y,u]);},[u,i]),react$1.useTokenSubscription({chain:e,address:t},()=>{});let x=react.useMemo(()=>l.flatMap(y=>y.data),[l]),g=l[l.length-1],h=!!(g?.hasNext&&g.endCursor),b=react.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]=react.useState(r),{holders:m,isLoading:d,sortBy:p,setSortBy:u,hasMore:f,loadMore:k}=Gs({chain:e,address:t,limit:o,initialSortBy:s});return jsxRuntime.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",x),children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[Uc.map(b=>jsxRuntime.jsx("button",{type:"button",onClick:()=>n?.(b.value),className:ui.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)),jsxRuntime.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 jsxRuntime.jsx("button",{type:"button",disabled:E,onClick:()=>a?.(b.value),className:ui.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)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Bc,{value:c,nativeSymbol:k,onChange:m}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:Fc.map(b=>jsxRuntime.jsx("button",{type:"button",onClick:()=>s(b.value),className:ui.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))})]})]}),jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[780px] table-fixed text-[12px]",children:[jsxRuntime.jsx("thead",{className:"text-default-400",children:jsxRuntime.jsxs("tr",{className:"border-b border-default-100",children:[jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:"Side"}),jsxRuntime.jsx("th",{className:"w-[25%] px-3 py-2 text-left font-normal",children:"Trader"}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Amount"}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"USD"}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Price"}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"Gas"}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"Age"})]})}),jsxRuntime.jsxs("tbody",{children:[h.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-8 text-center text-default-400",children:"No activities"})}),h.map(b=>jsxRuntime.jsx(Vc,{activity:b,now:u,nativeDecimals:f,nativeSymbol:k,currency:c,onRowClick:g},b.txHash)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),p&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.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 jsxRuntime.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=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(r.k),className:ui.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)?`${utils.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 jsxRuntime.jsxs("tr",{className:ui.cn("border-b border-default-50 hover:bg-default-50/60",n&&"cursor-pointer"),onClick:n?()=>n(e):void 0,children:[jsxRuntime.jsx("td",{className:ui.cn("px-3 py-2 align-middle font-medium capitalize",l),children:a}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsxs("div",{className:"flex flex-col gap-0.5",children:[jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-default-500",children:se(e.walletAddress,6,6)}),jsxRuntime.jsx(pr,{tags:e.traderTags,max:2})]})}),jsxRuntime.jsxs("td",{className:"px-3 py-2 text-right align-middle",children:[utils.formatAmount(i.amount)," ",i.symbol]}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r==="native"&&i.amountInNative?`${utils.formatAmount(i.amountInNative)} ${i.symbol}`:i.amountInUsd?utils.formatAmountUSDCompact(i.amountInUsd):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:i.priceInUsd?`$${utils.formatPrice(i.priceInUsd)}`:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:Ec(e.gasFee,o,s)}),jsxRuntime.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]=react.useState(s),[a,l]=react.useState(r),[c,m]=react.useState(void 0),[d,p]=react.useState([]),[u,f]=react.useState([]),k=react.useCallback(()=>{m(void 0),p([]),f([]);},[]),x=react.useCallback(D=>{D!==n&&(i(D),k());},[n,k]),g=react.useCallback(D=>{D!==a&&(l(D),k());},[a,k]);react.useEffect(()=>{k();},[e,t,k]);let h=a==="all"?void 0:a,b=react.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}=react$1.useTokenActivitiesQuery(b);react.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;react$1.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=react.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=react.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]=react.useState(n),[f,k]=react.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 jsxRuntime.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 jsxRuntime.jsx(Be,{className:o,label:`Traders (${t})`,totalFormatted:utils.formatAmount(r),buysFormatted:utils.formatAmount(n),sellsFormatted:utils.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 jsxRuntime.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 jsxRuntime.jsx(Be,{className:o,label:`Transactions (${t})`,totalFormatted:utils.formatAmount(r),buysFormatted:utils.formatAmount(n),sellsFormatted:utils.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 jsxRuntime.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 jsxRuntime.jsx(Be,{className:o,label:`Volume (${t})`,totalFormatted:utils.formatAmountUSDCompact(r),buysFormatted:utils.formatAmountUSDCompact(n),sellsFormatted:utils.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 jsxRuntime.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 jsxRuntime.jsxs("section",{className:ui.cn("flex w-full flex-col gap-3",s),children:[jsxRuntime.jsxs("div",{className:"flex items-baseline justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:"Security"}),jsxRuntime.jsx("span",{className:ui.cn("text-xs",e===void 0?"text-default-400":n?"text-success-500":"text-danger-500"),children:e===void 0?"--":n?"Safe":"Review"})]}),jsxRuntime.jsx("div",{className:"flex flex-col",children:r.map(i=>jsxRuntime.jsx(Yc,{...i},i.title))}),t&&o&&jsxRuntime.jsx("div",{className:"flex justify-center",children:jsxRuntime.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 jsxRuntime.jsxs("div",{className:"flex h-8 items-center justify-between gap-2",children:[jsxRuntime.jsx("span",{className:"text-xs text-default-500",title:s,children:e}),jsxRuntime.jsx("span",{className:ui.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}=react$1.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 jsxRuntime.jsx(an,{security:n,externalUrl:o,externalLabel:s,className:r})}function mn({token:e,className:t}){return e?jsxRuntime.jsxs("section",{className:ui.cn("flex w-full flex-col gap-2",t),children:[jsxRuntime.jsxs("div",{className:"text-sm font-medium text-foreground",children:["About ",e.symbol]}),e.description?jsxRuntime.jsx("p",{className:"whitespace-pre-line text-xs text-default-500",children:e.description}):jsxRuntime.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 jsxRuntime.jsx(mn,{token:s,className:o})}function gn({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:s,onPoolClick:r}){let[n,i]=react.useState(!e||e.length<=o),a=react.useCallback(()=>i(l=>!l),[]);return jsxRuntime.jsxs("section",{className:ui.cn("flex w-full flex-col gap-3",s),children:[jsxRuntime.jsxs("div",{className:"flex items-baseline justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:"Liquidity"}),t&&jsxRuntime.jsx("span",{className:"text-xs text-foreground",children:utils.formatAmountUSDCompact(t)})]}),(!e||e.length===0)&&jsxRuntime.jsx("div",{className:"py-4 text-center text-xs text-default-400",children:"No pools"}),e&&e.length>0&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-2",children:[e.map((l,c)=>jsxRuntime.jsxs("div",{className:ui.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:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-0.5",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:l.protocolFamily??l.protocolName??"Unknown"}),l.poolAddress&&jsxRuntime.jsxs("span",{className:"font-mono text-[10px] text-default-400",children:["Pool: ",se(l.poolAddress,6,6)]})]}),jsxRuntime.jsx("div",{className:"text-default-500",children:utils.formatAmountUSDCompact(l.tvlInUsd??0)})]},l.poolAddress??`${l.protocolFamily}-${c}`)),e.length>o&&jsxRuntime.jsx("div",{className:"flex justify-center pt-1",children:jsxRuntime.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 jsxRuntime.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]=react.useState(!e||e.length<=t),n=react.useCallback(()=>r(i=>!i),[]);return !e||e.length===0?null:jsxRuntime.jsxs("section",{className:ui.cn("w-full",o),children:[jsxRuntime.jsx("div",{className:"text-sm font-medium text-foreground",children:"CEX listings"}),jsxRuntime.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((i,a)=>{let l=a>=t&&!s,c=jsxRuntime.jsx(ui.Chip,{startContent:i.logo?jsxRuntime.jsx(ui.Image,{src:i.logo,width:20,height:20,alt:i.name}):void 0,className:ui.cn("bg-default-100 text-xs",l&&"hidden"),children:i.name},i.id);return i.url?jsxRuntime.jsx("a",{href:i.url,target:"_blank",rel:"noreferrer noopener",className:ui.cn(l&&"hidden"),children:c},i.id):c})}),e.length>t&&jsxRuntime.jsx("div",{className:"mt-3 flex justify-center",children:jsxRuntime.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 jsxRuntime.jsx(kn,{cexes:s,collapseAt:t,className:o})}function yn({categories:e,collapseAt:t=4,className:o,onCategoryClick:s}){let[r,n]=react.useState(!e||e.length<=t),i=react.useCallback(()=>n(a=>!a),[]);return !e||e.length===0?null:jsxRuntime.jsxs("section",{className:ui.cn("w-full",o),children:[jsxRuntime.jsx("div",{className:"text-sm font-medium text-foreground",children:"Categories"}),jsxRuntime.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((a,l)=>{let c=l>=t&&!r;return jsxRuntime.jsx(ui.Chip,{size:"sm",className:ui.cn("bg-default-100",c&&"hidden",s&&"cursor-pointer"),onClick:s?()=>s(a):void 0,children:a},a)})}),e.length>t&&jsxRuntime.jsx("div",{className:"mt-3 flex justify-center",children:jsxRuntime.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 jsxRuntime.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 utils.SafeBigNumber(s?.buyVolumesInUsd??0),n=new utils.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:utils.formatAmountUSDCompact(i.toString()),className:"text-foreground"},{label:"Buys",value:utils.formatAmountUSDCompact(r.toString()),className:"text-bullish"},{label:"Sells",value:utils.formatAmountUSDCompact(n.toString()),className:"text-bearish"},{label:"Net Vol.",value:utils.formatAmountUSDCompact(a.abs().toString()),className:a.gte(0)?"text-bullish":"text-bearish"}];return jsxRuntime.jsxs("div",{className:ui.cn("flex h-full w-full flex-col",o),children:[jsxRuntime.jsx("div",{className:"grid flex-1 grid-cols-4 items-center",children:c.map(m=>jsxRuntime.jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] px-2",children:[jsxRuntime.jsx("span",{className:"text-[10px] leading-none text-default-400",children:m.label}),jsxRuntime.jsx("span",{className:ui.cn("text-[13px] font-medium leading-none tabular-nums",m.className),children:m.value})]},m.label))}),jsxRuntime.jsx("div",{className:"relative h-[2px] w-full overflow-hidden bg-bearish",children:jsxRuntime.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 jsxRuntime.jsx("div",{className:ui.cn("grid h-full w-full grid-cols-4 items-center",o),children:t.map(s=>{let n=e?.[s]?.priceChange,i=n?new utils.SafeBigNumber(n):void 0,a=i?i.gte(0):void 0,l=s,c=i?utils.formatPercent(i,{showPlusGtThanZero:true}):"\u2014";return jsxRuntime.jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] px-2",children:[jsxRuntime.jsx("span",{className:"text-[10px] leading-none text-default-400",children:l}),jsxRuntime.jsx("span",{className:ui.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}=react$1.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 jsxRuntime.jsx(uiScaffold.StatsFlipPanel,{className:n,height:r,base:jsxRuntime.jsx(Nn,{stats:i,resolution:o}),hover:jsxRuntime.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",m),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium text-default-500",children:"Positions"}),jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:i,onChange:d=>a?.(d.target.checked)}),"Show Hidden"]})]}),jsxRuntime.jsx(Nm,{value:r,nativeSymbol:l,onChange:n})]}),jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[720px] table-fixed text-[12px]",children:[jsxRuntime.jsx("thead",{className:"text-default-400",children:jsxRuntime.jsxs("tr",{className:"border-b border-default-100",children:[jsxRuntime.jsx("th",{className:"w-[26%] px-3 py-2 text-left font-normal",children:"Token"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Bought"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Sold"}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Remaining"}),jsxRuntime.jsx("th",{className:"w-[18%] px-3 py-2 text-right font-normal",children:"PnL"}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"Actions"})]})}),jsxRuntime.jsxs("tbody",{children:[e.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No open positions"})}),e.map(d=>jsxRuntime.jsx(Sm,{position:d,currency:r,renderActions:c},`${d.chain}:${d.address}`)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),o&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.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 jsxRuntime.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=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(r.k),className:ui.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}=react.useMemo(()=>Cm(e,t),[e,t]),a=jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui.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}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col",children:[jsxRuntime.jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsxRuntime.jsx("span",{className:"truncate text-[10px] text-default-400",children:e.name})]})]});return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:a}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n}),jsxRuntime.jsx("td",{className:ui.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:jsxRuntime.jsxs("div",{className:"flex flex-col items-end leading-tight",children:[jsxRuntime.jsx("span",{children:i.amount}),i.ratio?jsxRuntime.jsx("span",{className:"text-[10px]",children:i.ratio}):null]})}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle",children:o?o(e):jsxRuntime.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"?utils.formatAmountUSDCompact(o??0):utils.formatAmount(o??0),a=t==="usd"?utils.formatAmountUSDCompact(s??0):utils.formatAmount(s??0),l=t==="usd"?utils.formatAmountUSDCompact(r??0):utils.formatAmount(r??0),c=n?new utils.SafeBigNumber(n):void 0,m=c?c.gte(0):void 0,d=c?(m?"+":"")+utils.formatAmountUSDCompact(c.toString()):"--",p=e.totalProfitRatio?utils.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]=react.useState(void 0),[i,a]=react.useState([]),[l,c]=react.useState(s);react.useEffect(()=>{n(void 0),a([]);},[e,t]);let m=react.useMemo(()=>({chain:e,address:t??"",cursor:r,limit:o,positionState:"open"}),[e,t,r,o]),{data:d,isPending:p,isFetching:u}=react$1.useWalletTokenPositionsQuery(m,{enabled:!!t});react.useEffect(()=>{d&&a(h=>r==null?[d]:h[h.length-1]?.endCursor===d.endCursor?h:[...h,d]);},[d,r]);let f=react.useMemo(()=>i.flatMap(h=>h.portfolios),[i]),k=i[i.length-1],x=!!(k?.hasNext&&k.endCursor),g=react.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]=react.useState(s),{positions:c,isLoading:m,hasMore:d,loadMore:p,showHidden:u,setShowHidden:f}=Rn({chain:e,wallet:t,limit:o});return jsxRuntime.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",k),children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.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=>jsxRuntime.jsx("button",{type:"button",onClick:()=>i(x.k),className:ui.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?jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:a,onChange:x=>l?.(x.target.checked)}),"Only ",c]}):null]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[u?jsxRuntime.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,jsxRuntime.jsx(Im,{value:m,nativeSymbol:p,onChange:d})]})]}),jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[760px] table-fixed text-[12px]",children:[jsxRuntime.jsx("thead",{className:"text-default-400",children:jsxRuntime.jsxs("tr",{className:"border-b border-default-100",children:[jsxRuntime.jsx("th",{className:"w-[22%] px-3 py-2 text-left font-normal",children:"Token"}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:"Type"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Amount"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Current MC"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Target MC"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Settings"}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:"Action"})]})}),jsxRuntime.jsxs("tbody",{children:[o?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-10 text-center text-default-400",children:"Limit orders are coming soon."})}):e.length===0&&!t?jsxRuntime.jsx("tr",{children:jsxRuntime.jsxs("td",{colSpan:7,className:"py-10 text-center text-default-400",children:["No ",n==="active"?"active":"historical"," orders"]})}):e.map(x=>jsxRuntime.jsx(Fm,{order:x,currency:m,renderActions:f},x.id)),t&&!o&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&s&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.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 jsxRuntime.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=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(r.k),className:ui.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=react.useMemo(()=>t==="usd"&&e.amountInUsd?utils.formatAmountUSDCompact(e.amountInUsd):utils.formatAmount(e.amount),[t,e.amount,e.amountInUsd]),r=e.side==="buy"?"Buy":"Sell",n=e.side==="buy"?"text-bullish":"text-bearish";return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui.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}),jsxRuntime.jsx("span",{className:"truncate text-foreground",children:e.tokenSymbol??"--"})]})}),jsxRuntime.jsx("td",{className:ui.cn("px-3 py-2 align-middle font-medium",n),children:r}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:e.currentMarketCapInUsd?utils.formatAmountUSDCompact(e.currentMarketCapInUsd):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:e.targetMarketCapInUsd?utils.formatAmountUSDCompact(e.targetMarketCapInUsd):e.targetPriceInUsd?utils.formatAmountUSDCompact(e.targetPriceInUsd):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.slippage!=null?`Slip ${e.slippage}%`:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle",children:o?o(e):jsxRuntime.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]=react.useState(r),[l,c]=react.useState(n),[m,d]=react.useState(void 0),[p,u]=react.useState([]);react.useEffect(()=>{d(void 0),u([]);},[e,t,i,l,o]);let f=react.useCallback(B=>{B!==i&&a(B);},[i]),k=react.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}=react$1.useWalletLimitOrdersQuery(k,{enabled:!!t});react.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=react.useMemo(()=>p.flatMap(B=>B.data),[p]),Y=p[p.length-1],me=!!(Y?.hasNext&&Y.endCursor),Ze=react.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]=react.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 jsxRuntime.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",l),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium text-default-500",children:"Top Traders"}),jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-default-400",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:r,onChange:c=>n?.(c.target.checked)}),"Only Tracked"]})]}),jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[680px] table-fixed text-[12px]",children:[jsxRuntime.jsx("thead",{className:"text-default-400",children:jsxRuntime.jsxs("tr",{className:"border-b border-default-100",children:[jsxRuntime.jsx("th",{className:"w-[28%] px-3 py-2 text-left font-normal",children:"Wallet"}),jsxRuntime.jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:"Tags"}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:"Value"}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:"%"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"Realized PnL"}),jsxRuntime.jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:"Last active"})]})}),jsxRuntime.jsxs("tbody",{children:[e.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No top traders yet"})}),e.map(c=>jsxRuntime.jsx(_m,{trader:c,now:i,renderAddress:a},c.address)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),o&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.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=react.useMemo(()=>o?o(e.address):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-default-500",children:se(e.address,6,6)}),[e.address,o]);return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:s}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(Tt,{tags:e.tags,max:3})}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:utils.formatAmountUSDCompact(e.amountInUsd)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:Ce(e.ratio)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:"\u2014"}),jsxRuntime.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]=react.useState(void 0),[i,a]=react.useState([]),[l,c]=react.useState(s);react.useEffect(()=>{n(void 0),a([]);},[e,t]);let m=react.useMemo(()=>({chain:e,address:t,cursor:r,limit:o,sortBy:"realizedPnl"}),[e,t,r,o]),{data:d,isPending:p,isFetching:u}=react$1.useTokenTopTradersQuery(m);react.useEffect(()=>{d&&a(b=>r==null?[d]:b[b.length-1]?.endCursor===d.endCursor?b:[...b,d]);},[d,r]);let f=react.useMemo(()=>i.flatMap(b=>b.data),[i]),k=react.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=react.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 jsxRuntime.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",i),children:[jsxRuntime.jsx("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:jsxRuntime.jsx("span",{className:"text-xs font-medium text-default-500",children:"Dev Tokens"})}),jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[700px] table-fixed text-[12px]",children:[jsxRuntime.jsx("thead",{className:"text-default-400",children:jsxRuntime.jsxs("tr",{className:"border-b border-default-100",children:[jsxRuntime.jsx("th",{className:"w-[28%] px-3 py-2 text-left font-normal",children:"Token"}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-center font-normal",children:"Migrated"}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Market Cap"}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:"ATH"}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"Liquidity"}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:"1h Volume"})]})}),jsxRuntime.jsxs("tbody",{children:[o?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-10 text-center text-default-400",children:"Dev tokens index is coming soon."})}):e.length===0&&!t?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-default-400",children:"No dev tokens"})}):e.map(a=>jsxRuntime.jsx(Gm,{token:a,renderTokenLink:n},`${a.chain}:${a.address}`)),!o&&t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&s&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.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):jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui.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}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col",children:[jsxRuntime.jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsxRuntime.jsx("span",{className:"truncate text-[10px] text-default-400",children:e.name})]})]});return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:a}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-center align-middle",children:i?jsxRuntime.jsx("span",{className:"text-bullish",children:"\u2713"}):jsxRuntime.jsx("span",{className:"text-default-400",children:"\u2014"})}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:o?utils.formatAmountUSDCompact(o):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s?utils.formatAmountUSDCompact(s):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n?utils.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 utils.SafeBigNumber(l)),new utils.SafeBigNumber(0)),i=e.map(a=>a.marketData?.marketCapInUsd??a.marketData?.marketCap??"0").reduce((a,l)=>a.plus(new utils.SafeBigNumber(l)),new utils.SafeBigNumber(0));return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-2 p-3",t),children:[jsxRuntime.jsx("div",{className:"flex items-center justify-between",children:jsxRuntime.jsx("span",{className:"text-xs font-medium text-default-500",children:"Token Stats"})}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsxRuntime.jsx(_t,{label:"Total",value:String(o)}),jsxRuntime.jsx(_t,{label:"Migrated",value:`${s} (${r}%)`}),jsxRuntime.jsx(_t,{label:"Total Market Cap",value:utils.formatAmountUSDCompact(i.toString())}),jsxRuntime.jsx(_t,{label:"Total 1h Volume",value:utils.formatAmountUSDCompact(n.toString())})]})]})}function _t({label:e,value:t}){return jsxRuntime.jsxs("div",{className:"flex flex-col gap-[2px]",children:[jsxRuntime.jsx("span",{className:"text-[10px] text-default-400",children:e}),jsxRuntime.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]=react.useState(void 0),[n,i]=react.useState([]);react.useEffect(()=>{r(void 0),i([]);},[e,t]);let a=react.useMemo(()=>({chain:e,creator:t??"",cursor:s,limit:o}),[e,t,s,o]),{data:l,isPending:c,isFetching:m,error:d}=react$1.useTokensByCreatorQuery(a,{enabled:!!t});react.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=react.useMemo(()=>n.flatMap(g=>g.data),[n]),f=n[n.length-1],k=!!(f?.hasNext&&f.endCursor),x=react.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 jsxRuntime.jsxs("div",{className:n,children:[jsxRuntime.jsx(Bn,{tokens:i,isLoading:a,unavailable:l,hasMore:c,onLoadMore:m,renderTokenLink:r}),s&&!l?jsxRuntime.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 jsxRuntime.jsxs("div",{className:ui.cn("flex h-[48px] w-full flex-row items-center gap-4 overflow-x-auto px-3 text-[12px]",a),children:[jsxRuntime.jsx(Qe,{label:"Price",value:l?utils.formatPriceUSD(l):"--"}),jsxRuntime.jsx(Qe,{label:"Liquidity",value:c?utils.formatAmountUSDCompact(c):"--"}),jsxRuntime.jsx(Qe,{label:"Supply",value:m?utils.formatAmount(m):"--"}),s?jsxRuntime.jsx(Qe,{label:"Fees Paid",value:utils.formatAmountUSDCompact(s)}):null,t?jsxRuntime.jsx(Qe,{label:"ATH",value:utils.formatAmountUSDCompact(t),title:o?`All-time high at ${o.toLocaleDateString()}`:void 0}):null,r!==void 0?jsxRuntime.jsx(Qe,{label:"Rank",value:`#${r}`}):null,jsxRuntime.jsx("div",{className:"flex-1"}),n?jsxRuntime.jsx("button",{type:"button",onClick:n,"aria-pressed":i,className:ui.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 jsxRuntime.jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] whitespace-nowrap",title:o,children:[jsxRuntime.jsx("span",{className:"text-[10px] leading-none text-default-400",children:e}),jsxRuntime.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 jsxRuntime.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?jsxRuntime.jsx("div",{className:ui.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?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"No similar tokens found."}):jsxRuntime.jsxs("ul",{className:ui.cn("flex flex-col",r),children:[e.map(n=>jsxRuntime.jsxs("li",{className:ui.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:[jsxRuntime.jsx(ui.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}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[jsxRuntime.jsx("span",{className:"truncate text-[12px] text-foreground",children:n.symbol}),jsxRuntime.jsx("span",{className:"truncate text-[10px] text-default-400",children:n.name})]}),jsxRuntime.jsx("span",{className:"text-[11px] tabular-nums text-default-500",children:n.marketData?.marketCapInUsd?utils.formatAmountUSDCompact(n.marketData.marketCapInUsd):"--"})]},`${n.chain}:${n.address}`)),t&&jsxRuntime.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}=react$1.useSearchTokensQuery({chains:[e],keyword:o,limit:s+1},{enabled:r});return {tokens:react.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 jsxRuntime.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?jsxRuntime.jsx("div",{className:ui.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?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",s),children:"No reused-image tokens found."}):jsxRuntime.jsx("div",{className:ui.cn("flex flex-row flex-wrap gap-2 p-3",s),children:e.map(r=>jsxRuntime.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:jsxRuntime.jsx(ui.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 jsxRuntime.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}=i18n.useTranslation(),[i,a]=react.useState(e?.join(", ")??""),[l,c]=react.useState(t?.join(", ")??"");react.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]),react.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=react.useCallback(p=>{a(p),o?.(zt(p));},[o]),d=react.useCallback(p=>{c(p),s?.(zt(p));},[s]);return jsxRuntime.jsxs("div",{className:ui.cn("grid grid-cols-2 gap-3 px-4",r),children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.keywords.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.keywords.placeholder"),value:i,onValueChange:m})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:n("tokens.filters.keywords.exclude.title")}),jsxRuntime.jsx(ui.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}=i18n.useTranslation(),[n,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let a=react.useMemo(()=>e.every(m=>n.includes(m)),[e,n]),l=react.useCallback(()=>{if(a){let m=[];i(m),o?.(m);}else {let m=[...e];i(m),o?.(m);}},[e,o,a]),c=react.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-3 px-4",s),children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:r("tokens.filters.protocols.title")}),jsxRuntime.jsx(ui.Button,{variant:"light",color:"default",size:"sm",radius:"full",onPress:l,children:r(a?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(m=>{let d=Te(m);return jsxRuntime.jsx(ui.Button,{variant:"bordered",size:"sm",radius:"full",className:ui.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:jsxRuntime.jsx(ui.Image,{width:14,height:14,src:`/images/protocols/${m}.svg`,alt:utils.formatTokenProtocolName(m)}),onPress:c(m),children:utils.formatTokenProtocolName(m)},m)})})]})}function le({title:e,field:t,value:o,onChange:s}){let{t:r}=i18n.useTranslation(),[n,i]=react.useState(o?_o(o).min:NaN),[a,l]=react.useState(o?_o(o).max:NaN);react.useEffect(()=>{if(o===void 0)i(NaN),l(NaN);else {let{min:d,max:p}=_o(o);i(d),l(p);}},[o]);let c=react.useCallback(d=>{i(d),s?.(fi(t,d,a));},[t,s,a]),m=react.useCallback(d=>{l(d),s?.(fi(t,n,d));},[t,s,n]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[e&&jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:e}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsxRuntime.jsx(ui.StyledNumberInput,{value:n,onValueChange:c,variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui.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}=i18n.useTranslation(),[r,n]=react.useState(e);react.useEffect(()=>{n(e);},[e]);let i=react.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",o),children:[jsxRuntime.jsx(le,{field:"holders",title:s("tokens.filters.stats.audits.holders"),value:r?.find(a=>a.field==="holders"),onChange:i("holders")}),jsxRuntime.jsx(le,{field:"top10Ratio",title:s("tokens.filters.stats.audits.top10HoldingsRatio"),value:r?.find(a=>a.field==="top10Ratio"),onChange:i("top10Ratio")}),jsxRuntime.jsx(le,{field:"top100Ratio",title:s("tokens.filters.stats.audits.top100HoldingsRatio"),value:r?.find(a=>a.field==="top100Ratio"),onChange:i("top100Ratio")}),jsxRuntime.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}=i18n.useTranslation(),[n,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let a=react.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 jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",s),children:[jsxRuntime.jsx(le,{field:"marketCap",title:r("tokens.filters.stats.metrics.marketCap"),value:n?.find(l=>l.field==="marketCap"),onChange:a("marketCap")}),jsxRuntime.jsx(le,{field:"tvl",title:r("tokens.filters.stats.metrics.liquidity"),value:n?.find(l=>l.field==="tvl"),onChange:a("tvl")}),jsxRuntime.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}`)}),jsxRuntime.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}=i18n.useTranslation(),[n,i]=react.useState("audits"),[a,l]=react.useState(t);react.useEffect(()=>{l(t);},[t]);let c=react.useCallback(p=>{l(p),o?.(p);},[o]),m=react.useMemo(()=>{let p=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(u=>p.includes(u.field))?.length??0},[a]),d=react.useMemo(()=>{let p=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(u=>p.includes(u.field)).length??0},[a,e]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-3 px-4",s),children:[jsxRuntime.jsxs(ui.StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:n,onSelectionChange:i,children:[jsxRuntime.jsx(ui.Tab,{title:m===0?r("tokens.filters.stats.audits"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:m,shape:"circle",children:r("tokens.filters.stats.audits")})},"audits"),jsxRuntime.jsx(ui.Tab,{title:d===0?r("tokens.filters.stats.metrics"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:d,shape:"circle",children:r("tokens.filters.stats.metrics")})},"metrics")]}),jsxRuntime.jsx(xi,{values:a,onValuesChange:c,className:ui.cn({hidden:n!=="audits"})}),jsxRuntime.jsx(ki,{values:a,onValuesChange:c,resolution:e,className:ui.cn({hidden:n!=="metrics"})})]})}function jt({protocols:e,resolution:t,filters:o,onFiltersChange:s,className:r}){let[n,i]=react.useState(Si(o?.filters,e));react.useEffect(()=>{i(Si(o?.filters,e));},[o?.filters,e]);let[a,l]=react.useState(o?.keywords);react.useEffect(()=>{l(o?.keywords);},[o?.keywords]);let[c,m]=react.useState(o?.excludeKeywords);react.useEffect(()=>{m(o?.excludeKeywords);},[o?.excludeKeywords]);let[d,p]=react.useState(o?.filters);react.useEffect(()=>{p(o?.filters);},[o?.filters]);let u=react.useCallback(g=>{i(g),s?.(Zt(e,g,a,c,d));},[e,a,c,d,s]),f=react.useCallback(g=>{l(g),s?.(Zt(e,n,g,c,d));},[e,n,c,d,s]),k=react.useCallback(g=>{m(g),s?.(Zt(e,n,a,g,d));},[e,n,a,d,s]),x=react.useCallback(g=>{p(g),s?.(Zt(e,n,a,c,g));},[e,n,a,c,s]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",r),children:[e&&e.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ci,{protocols:e,selectedProtocols:n,onSelectedProtocolsChange:u}),jsxRuntime.jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}})]}),jsxRuntime.jsx(si,{keywords:a,excludeKeywords:c,onKeywordsChange:f,onExcludeKeywordsChange:k}),jsxRuntime.jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}}),jsxRuntime.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}=i18n.useTranslation(),{isOpen:n,onOpen:i,onClose:a,onOpenChange:l}=ui.useDisclosure(),[c,m]=react.useState(o),d=react.useCallback(()=>{m(void 0);},[]),p=react.useCallback(()=>{s?.(c),a();},[c,s,a]);react.useEffect(()=>{m(o);},[n,o]);let u=react.useMemo(()=>Object.values(o||{}).every(f=>f===void 0),[o]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.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:[jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"text-zinc-400"}),!u&&jsxRuntime.jsx("span",{style:{position:"absolute",top:-2,right:-2,width:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),jsxRuntime.jsx(ui.StyledModal,{isOpen:n,onOpenChange:l,size:"md",scrollBehavior:"inside",children:jsxRuntime.jsxs(ui.ModalContent,{className:"w-full h-full",children:[jsxRuntime.jsx(ui.ModalHeader,{className:"px-4 py-2",children:jsxRuntime.jsx("span",{className:"text-base font-semibold",children:r("tokens.filters.modal.title")})}),jsxRuntime.jsx(ui.ModalBody,{className:"px-0 pt-0 pb-4",children:jsxRuntime.jsx(ui.ScrollShadow,{children:jsxRuntime.jsx(jt,{protocols:e,resolution:t,filters:c,onFiltersChange:m,className:"pb-4"})})}),jsxRuntime.jsx(ui.ModalFooter,{className:"px-4",children:jsxRuntime.jsxs("div",{className:"w-full flex justify-between items-center",children:[jsxRuntime.jsx(ui.Button,{variant:"light",color:"default",size:"sm",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:d,children:r("common.reset")}),jsxRuntime.jsx(ui.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}=i18n.useTranslation(),[n,i]=react.useState(false),a=react.useRef(null),[l,c]=react.useState(o),m=react.useCallback(()=>{c(void 0);},[]),d=react.useCallback(()=>{s?.(l),i(false);},[l,s]);react.useEffect(()=>{c(o);},[n,o]),react.useEffect(()=>{let u=f=>{a.current&&!a.current.contains(f.target)&&i(false);};return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[]),react.useEffect(()=>{if(!n)return;let u=f=>{f.key==="Escape"&&i(false);};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[n]);let p=react.useMemo(()=>Object.values(o||{}).every(u=>u===void 0),[o]);return jsxRuntime.jsxs("div",{ref:a,style:{position:"relative"},children:[jsxRuntime.jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxRuntime.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:[jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"}),jsxRuntime.jsx("span",{className:"hidden sm:block",children:r("tokens.listHeader.filter")}),jsxRuntime.jsx(nu,{open:n})]}),!p&&jsxRuntime.jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),n&&jsxRuntime.jsxs("div",{style:{...ru,width:420},children:[jsxRuntime.jsx("div",{style:{padding:"16px 0"},children:jsxRuntime.jsx(ui.ScrollShadow,{className:"w-full max-h-120 px-4",children:jsxRuntime.jsx(jt,{protocols:e,resolution:t,filters:l,onFiltersChange:c})})}),jsxRuntime.jsx("div",{style:su}),jsxRuntime.jsxs("div",{style:{padding:"12px 16px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[jsxRuntime.jsx(ui.Button,{variant:"light",size:"sm",color:"default",radius:"full",startContent:jsxRuntime.jsx(ui.RefreshIcon,{width:16,height:16}),onPress:m,children:r("common.reset")}),jsxRuntime.jsx(ui.Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:d,children:r("common.apply")})]})]})]})}function nu({open:e}){return jsxRuntime.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:jsxRuntime.jsx("path",{d:"m6 9 6 6 6-6"})})}function VL({popoverPlacement:e="bottom-end",...t}){let{isMobile:o}=ui.useScreen();return o?jsxRuntime.jsx(Pi,{...t}):jsxRuntime.jsx(Mi,{placement:e,...t})}function Ui({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:s}=i18n.useTranslation(),r=react.useCallback(n=>{t?.(n);},[t]);return jsxRuntime.jsx(ui.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=>jsxRuntime.jsx(ui.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}=i18n.useTranslation(),[r,n]=react.useState(false),i=react.useRef(null),a=react.useCallback(l=>{t?.(l),n(false);},[t]);return react.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]),jsxRuntime.jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxRuntime.jsxs("button",{type:"button",style:hu,onClick:()=>n(l=>!l),children:[jsxRuntime.jsx("span",{children:e?s(`common.resolution.${e}`):"\u2014"}),jsxRuntime.jsx(ui.ChevronDownIcon,{width:14,height:14,className:"text-zinc-500",style:{transition:"transform 0.15s",transform:r?"rotate(180deg)":void 0}})]}),r&&jsxRuntime.jsx("div",{style:bu,children:o.map(l=>jsxRuntime.jsx("button",{type:"button",onClick:()=>a(l),className:ui.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}=ui.useScreen();return t?jsxRuntime.jsx(Di,{...e}):jsxRuntime.jsx(Ui,{...e})}function Ei({token:e}){let{t}=i18n.useTranslation(),o=react.useMemo(()=>e.marketData?.bluechipHoldingsRatio,[e.marketData?.bluechipHoldingsRatio]),s=react.useMemo(()=>o!==void 0&&new utils.SafeBigNumber(o).gte(.1),[o]),r=react.useMemo(()=>o===void 0||new utils.SafeBigNumber(o).lt(.05),[o]);return jsxRuntime.jsx(ui.StyledTooltip,{content:t("tokens.bluechip.explained"),children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2.5",children:[s&&jsxRuntime.jsx(ui.HorsePowerHighIcon,{}),r&&jsxRuntime.jsx(ui.HorsePowerLowIcon,{}),!s&&!r&&jsxRuntime.jsx(ui.HorsePowerIcon,{}),jsxRuntime.jsx("span",{className:ui.cn(s&&"text-bullish",!s&&!r&&"text-bearish",o===void 0&&"text-neutral"),children:utils.formatPercent(o)})]})})}function Vi({token:e}){let t=ui.useCopyToClipboard(),{t:o}=i18n.useTranslation(),s=react.useCallback(n=>{n.preventDefault(),n.stopPropagation(),t(e.address,()=>ui.toast.success(o("tokens.copied.address")));},[t,e.address,o]),r=hooks.useTickAge(e.createdAt);return jsxRuntime.jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsxRuntime.jsx(re,{token:e,showProgress:false,className:"w-10 h-10 sm:w-16 sm:h-16 flex-none"}),jsxRuntime.jsxs("div",{className:"flex-auto flex flex-col gap-1 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"flex-none font-medium tracking-[-0.02em]",children:e.symbol}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.name,children:jsxRuntime.jsxs("div",{className:"flex-initial flex items-center gap-1 min-w-0 text-neutral hover:text-primary-200 cursor-pointer",onClick:s,children:[jsxRuntime.jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:e.name}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"})]})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-primary text-xs sm:text-sm font-medium",children:utils.formatAge(r)}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.WebsiteIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.TwitterIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.TelegramIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),e.socialMedias?.discord&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.discord,className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.DiscordIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),jsxRuntime.jsx(ui.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.SearchIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]})]})]})}function $i({token:e}){let{t}=i18n.useTranslation(),o=e.marketData,s=react.useMemo(()=>new utils.SafeBigNumber(o?.top10HoldingsRatio).gte(.1),[o?.top10HoldingsRatio]),r=react.useMemo(()=>new utils.SafeBigNumber(o?.devHoldingsRatio).gte(.1),[o?.devHoldingsRatio]),n=react.useMemo(()=>new utils.SafeBigNumber(o?.sniperHoldingsRatio).gte(.1),[o?.sniperHoldingsRatio]),i=react.useMemo(()=>new utils.SafeBigNumber(o?.insiderHoldingsRatio).gte(.1),[o?.insiderHoldingsRatio]),a=react.useMemo(()=>new utils.SafeBigNumber(o?.bundleHoldingsRatio).gte(.1),[o?.bundleHoldingsRatio]);return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-1 justify-center",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.PeopleIcon,{width:12,height:12}),value:utils.formatAmount(o?.holders),tooltip:t("tokens.tokenInfo.holders"),warning:false,disable:!o?.holders}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.KlineCandlesIcon,{width:12,height:12}),value:utils.formatAmount(o?.proHolders),tooltip:t("tokens.tokenInfo.proHolders"),warning:false,disable:!o?.proHolders}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.StarIcon,{width:12,height:12}),value:utils.formatAmount(o?.kolHolders),tooltip:t("tokens.tokenInfo.kolHolders"),warning:false,disable:!o?.kolHolders}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(o?.top10HoldingsRatio),tooltip:t("tokens.tokenInfo.top10HoldingsRatio"),warning:s,disable:!o?.top10HoldingsRatio||o?.top10HoldingsRatio==="0"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(o?.devHoldingsRatio),tooltip:t("tokens.tokenInfo.devHoldingsRatio"),warning:r,disable:!o?.devHoldingsRatio||o?.devHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(o?.sniperHoldingsRatio),tooltip:t("tokens.tokenInfo.sniperHoldingsRatio"),warning:n,disable:!o?.sniperHoldingsRatio||o?.sniperHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(o?.insiderHoldingsRatio),tooltip:t("tokens.tokenInfo.insiderHoldingsRatio"),warning:i,disable:!o?.insiderHoldingsRatio||o?.insiderHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(o?.bundleHoldingsRatio),tooltip:t("tokens.tokenInfo.bundleHoldingsRatio"),warning:a,disable:!o?.bundleHoldingsRatio||o?.bundleHoldingsRatio==="0",tooltipPlacement:"bottom"})]})]})}function _i({token:e}){let t=react.useMemo(()=>e.marketData?.tvlInUsd,[e.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountUSD(t)})}function Ki({token:e}){let t=react.useMemo(()=>e.marketData?.marketCapInUsd,[e.marketData?.marketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountUSD(t)})}function Qi({token:e,resolution:t}){let o=react.useMemo(()=>e.marketData?.priceInUsd,[e]),s=react.useMemo(()=>e.stats?.[t]?.priceChange,[e,t]),r=react.useMemo(()=>s?new utils.SafeBigNumber(s).abs().toString():void 0,[s]),n=react.useMemo(()=>s&&new utils.SafeBigNumber(s).gte(0),[s]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatPriceUSD(o)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex gap-1 items-center text-xs",n?"text-bullish":"text-bearish"),children:[n?jsxRuntime.jsx(ui.TriangleUpIcon,{width:10,height:10}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:10,height:10}),jsxRuntime.jsx("span",{children:utils.formatPercent(r)})]})]})}function Xi({token:e,resolution:t}){let o=react.useMemo(()=>e.stats?.[t]?.traders,[e.stats?.[t]?.traders]),s=react.useMemo(()=>e.stats?.[t]?.buyers,[e.stats?.[t]?.buyers]),r=react.useMemo(()=>e.stats?.[t]?.sellers,[e.stats?.[t]?.sellers]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmount(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmount(r)})]})]})}function Yi({token:e,resolution:t}){let o=react.useMemo(()=>e.stats?.[t]?.trades,[e.stats?.[t]?.trades]),s=react.useMemo(()=>e.stats?.[t]?.buys,[e.stats?.[t]?.buys]),r=react.useMemo(()=>e.stats?.[t]?.sells,[e.stats?.[t]?.sells]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmount(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmount(r)})]})]})}function ji({token:e,resolution:t}){let o=react.useMemo(()=>e.stats?.[t]?.volumesInUsd,[e.stats?.[t]?.volumesInUsd]),s=react.useMemo(()=>e.stats?.[t]?.buyVolumesInUsd,[e.stats?.[t]?.buyVolumesInUsd]),r=react.useMemo(()=>e.stats?.[t]?.sellVolumesInUsd,[e.stats?.[t]?.sellVolumesInUsd]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmountUSD(o)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmountUSD(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmountUSD(r)})]})]})}var pf=`
|
|
22
22
|
@keyframes tklShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
|
|
23
|
-
`,Gu={background:"linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%)",backgroundSize:"200% 100%",animation:"tklShimmer 1.8s ease-in-out infinite",borderRadius:6};function M(e,t,o,s){return {...Gu,animationDelay:`${e}ms`,width:t,height:o,...s}}var Ei=10;function Vi({rowHeight:e,hasActions:t}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{children:Qu}),Array.from({length:Ei}).map((o,s)=>jsxRuntime.jsx(Ju,{index:s,rowHeight:e,hasActions:t,isLast:s===Ei-1},s))]})}function Ju({index:e,rowHeight:t,hasActions:o,isLast:s}){let r=e*80;return jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",height:t,borderBottom:s?void 0:"1px solid rgba(39,39,42,0.3)"},children:[jsxRuntime.jsxs("div",{style:{width:320,padding:"0 12px 0 24px",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[jsxRuntime.jsx("div",{style:M(r,64,64,{borderRadius:8,flexShrink:0})}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8,flex:1},children:[jsxRuntime.jsx("div",{style:M(r+30,"60%",20)}),jsxRuntime.jsx("div",{style:M(r+60,"80%",16)})]})]}),jsxRuntime.jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:M(r+20,72,20)}),jsxRuntime.jsx("div",{style:M(r+40,52,16)})]}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:M(r+30,64,20)})}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:M(r+40,60,20)})}),jsxRuntime.jsxs("div",{style:{width:138,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:M(r+50,72,20)}),jsxRuntime.jsx("div",{style:M(r+70,100,16)})]}),jsxRuntime.jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:M(r+60,48,20)}),jsxRuntime.jsx("div",{style:M(r+80,80,16)})]}),jsxRuntime.jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:M(r+70,40,20)}),jsxRuntime.jsx("div",{style:M(r+90,72,16)})]}),jsxRuntime.jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",alignItems:"center",gap:10},children:[jsxRuntime.jsx("div",{style:M(r+80,20,20,{borderRadius:4})}),jsxRuntime.jsx("div",{style:M(r+90,52,20)})]}),jsxRuntime.jsxs("div",{style:{width:308,padding:"0 12px",display:"flex",alignItems:"center",gap:20},children:[jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:M(r+80,52,16)}),jsxRuntime.jsx("div",{style:M(r+100,40,16)}),jsxRuntime.jsx("div",{style:M(r+120,36,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:M(r+90,48,16)}),jsxRuntime.jsx("div",{style:M(r+110,40,16)}),jsxRuntime.jsx("div",{style:M(r+130,40,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:M(r+100,40,16)}),jsxRuntime.jsx("div",{style:M(r+120,36,16)})]})]}),o&&jsxRuntime.jsx("div",{style:{width:124,padding:"0 24px 0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:M(r+100,97,32,{borderRadius:8})})})]})}function $e({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:s,onSelectToken:r,sortDirections:n,onSortChange:i,height:a=600,itemHeight:l=88,itemHeightMobile:d=72,className:c}){let{isMobile:p}=ui.useScreen(),{t:m}=i18n.useTranslation(),u=react.useCallback(f=>h=>{h.preventDefault(),h.stopPropagation(),r?.(f);},[r]),[x,k]=react.useState(n??{});react.useEffect(()=>{k(n??{});},[n]);let g=react.useCallback(f=>h=>{let b={[f]:h};k(b),i?.(b);},[i]);return jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:ui.cn("h-full mx-auto",c??(s?"max-w-379 sm:max-w-403":"max-w-348 sm:max-w-372")),classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},style:{background:"rgba(24,24,27,0.4)",borderColor:"rgba(39,39,42,0.6)"},maxTableHeight:a,rowHeight:p?d:l,"aria-label":"Tokens",children:[jsxRuntime.jsx(ui.TableHeader,{children:[jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.token"),width:p?224:320,children:m("tokens.listHeader.token")},"token"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.price"),width:128,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui.Sortable,{sort:x.price,onSortChange:g("price"),children:m("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:x[`priceChange${t}`],onSortChange:g(`priceChange${t}`),children:m("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.marketCap"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:x.marketCap,onSortChange:g("marketCap"),children:m("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:x.tvl,onSortChange:g("tvl"),children:m("tokens.listHeader.liquidity")})},"liquidity"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsxRuntime.jsx(ui.Sortable,{sort:x[`volumes${t}`],onSortChange:g(`volumes${t}`),children:m("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.txs",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:x[`trades${t}`],onSortChange:g(`trades${t}`),children:m("tokens.listHeader.txs",{resolution:t})})},"txs"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.traders",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:x[`traders${t}`],onSortChange:g(`traders${t}`),children:m("tokens.listHeader.traders",{resolution:t})})},"traders"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.bluechip"),width:128,children:m("tokens.listHeader.bluechip")},"bluechip"),jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.tokenInfo"),width:308,children:m("tokens.listHeader.tokenInfo")},"tokenInfo"),s?jsxRuntime.jsx(ui.TableColumn,{textValue:m("tokens.listHeader.actions"),width:124,align:"end",children:m("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean)}),jsxRuntime.jsx(ui.TableBody,{items:o?[]:e,isLoading:o,loadingContent:jsxRuntime.jsx(Vi,{rowHeight:p?d:l,hasActions:!!s}),emptyContent:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.EmptyIcon,{className:"w-10 h-10 mx-auto text-neutral"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-neutral text-center",children:m("common.empty")})]}),children:f=>jsxRuntime.jsx(ui.TableRow,{onClick:r?u(f):void 0,children:[jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(wi,{token:f,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Hi,{token:f,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ai,{token:f,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ri,{token:f,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Bi,{token:f,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Di,{token:f,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Oi,{token:f,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Li,{token:f,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Pi,{token:f,resolution:t})},"tokenInfo"),s?jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(s,{token:f,resolution:t})},"actions"):void 0].filter(Boolean)},f.address)})]})}var pf=80;function uf(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function qi(e){return e.sort((t,o)=>{let s=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-s}),e.slice(0,pf)}function Qi({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=react.useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=react.useRef(r),[i,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),d([]),n.current=r);},[r]);let[l,d]=react.useState([]),{data:c,isPending:p}=react$1.useNewTokensQuery(r,{refetchInterval:s});react.useEffect(()=>{c&&(d(x=>{let k=[...x];for(let g of c){let f=k.findIndex(h=>h.address===g.address);f>=0?k[f]=I(k[f],g):k.push(g);}return qi(k)}),a(false));},[c]);let m=react.useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0?(f=true,g[b]=I(g[b],h)):(f=true,g.push(uf(h)));}return f?qi(g):k});},[]);react$1.useNewTokensSubscription({chain:e},m);let u=react.useMemo(()=>!!(p||i),[p,i]);return {tokens:l,isLoading:u}}function BP({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,c]=react.useState();react.useEffect(()=>{c(void 0);},[e]);let p=react.useMemo(()=>{let x=Object.keys(d??{})[0],k=d?.[x];return {...o,...x&&k?{sortBy:x,sortDirection:k}:void 0}},[o,d]),{tokens:m,isLoading:u}=Qi({chain:e,resolution:t,options:p});return jsxRuntime.jsx($e,{tokens:m,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:d,onSortChange:c,className:l})}function Yi({chain:e,resolution:t,options:o,refetchInterval:s=12e3}){let r=react.useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=react.useRef(r),[i,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),d([]),n.current=r);},[r]);let[l,d]=react.useState([]),{data:c,isPending:p}=react$1.useStockTokensQuery(r,{refetchInterval:s});react.useEffect(()=>{c&&(d(x=>{let k=[];for(let g of c){let f=x.find(h=>h.address===g.address);k.push(f?I(f,g):g);}return k}),a(false));},[c]);let m=react.useCallback(x=>{d(k=>{let g=[...k],f=false;for(let h of x){let b=g.findIndex(T=>T.address===h.address);b>=0&&(f=true,g[b]=I(g[b],h));}return f?g:k});},[]);react$1.useStockTokensSubscription({chain:e},m);let u=react.useMemo(()=>!!(p||i),[p,i]);return {tokens:l,isLoading:u}}function YP({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,c]=react.useState();react.useEffect(()=>{c(void 0);},[e]);let p=react.useMemo(()=>{let x=Object.keys(d??{})[0],k=d?.[x];return {...o,...x&&k?{sortBy:x,sortDirection:k}:void 0}},[o,d]),{tokens:m,isLoading:u}=Yi({chain:e,resolution:t,options:p});return jsxRuntime.jsx($e,{tokens:m,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:d,onSortChange:c,className:l})}function n1({chain:e,resolution:t,filters:o,ActionsComponent:s,onSelectToken:r,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,c]=react.useState();react.useEffect(()=>{c(void 0);},[e]);let p=react.useMemo(()=>{let x=Object.keys(d??{})[0],k=d?.[x];return {...o,...x&&k?{sortBy:x,sortDirection:k}:void 0}},[o,d]),{tokens:m,isLoading:u}=Tt({chain:e,resolution:t,options:p});return jsxRuntime.jsx($e,{tokens:m,isLoading:u,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:s,onSelectToken:r,sortDirections:d,onSortChange:c,className:l})}var Of=15e3;function Uf({chain:e,addresses:t,pollMs:o=Of}){let s=t.length>0,[r,n]=react.useState({}),i=react$1.useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});react.useEffect(()=>{i.data&&n(p=>{let m={};for(let u of i.data){let x=p[u.address];m[u.address]=x?I(x,u):u;}return m});},[i.data]);let{subscribeClient:a}=react$1.useDexClient(),l=react.useRef(""),d=t.slice().sort().join(",");d!==l.current&&(l.current=d),react.useEffect(()=>{if(!s)return;let p=[];for(let m of t)p.push(a.subscribeToken(e,m,u=>{n(x=>{let k=x;for(let g of u){let f=k[g.address];if(!f)continue;let h=I(f,g);h!==f&&(k=k===x?{...x}:k,k[g.address]=h);}return k});}));return ()=>{for(let m of p)m.unsubscribe();}},[a,e,d,s]);let c=react.useCallback(async()=>{await i.refetch();},[i.refetch]);return {tokens:r,isPending:i.isPending,isFetching:i.isFetching,isError:i.isError,isSuccess:i.isSuccess,error:i.error,refetch:c}}Object.defineProperty(exports,"formatAmount",{enumerable:true,get:function(){return utils.formatAmount}});exports.DEFAULT_FLIP_HOVER_RESOLUTIONS=ln;exports.HolderTagBadge=Cd;exports.HolderTagBadgeList=Nt;exports.NewTokenListWidget=BP;exports.PulseFinalStretchListWidget=jg;exports.PulseList=Re;exports.PulseListHeader=Go;exports.PulseListItem=sr;exports.PulseListItemSkeleton=Xo;exports.PulseMigratedListWidget=$g;exports.PulseNewListWidget=Mg;exports.SEARCH_MODAL_ID=so;exports.SearchHistoryUI=Lr;exports.SearchHistoryWidget=wr;exports.SearchInputUI=Pr;exports.SearchModal=Dk;exports.SearchResultItemUI=xt;exports.SearchResultListHeader=kt;exports.SearchResultListSkeleton=bt;exports.SearchResultListWidget=Ur;exports.SearchTokensButton=qk;exports.SearchWidget=zr;exports.StockTokenListWidget=YP;exports.TRADER_TAG_META=io;exports.TokenAbout=Xs;exports.TokenAboutWidget=Uv;exports.TokenActivitiesList=Os;exports.TokenActivitiesListWidget=kT;exports.TokenAvatar=ie;exports.TokenBasicInfo=ns;exports.TokenBasicInfoWidget=Ps;exports.TokenCategories=nn;exports.TokenCategoriesWidget=P0;exports.TokenCexListing=on;exports.TokenCexListingWidget=u0;exports.TokenChartBanner=Hn;exports.TokenChartBannerWidget=vN;exports.TokenDetailHeader=os;exports.TokenDetailHeaderWidget=My;exports.TokenDevTokensList=Cn;exports.TokenDevTokensListWidget=aN;exports.TokenDevTokensSummary=Ln;exports.TokenHoldersCount=as;exports.TokenHoldersCountWidget=ds;exports.TokenHoldersList=Ms;exports.TokenHoldersListWidget=Zy;exports.TokenLiquidities=en;exports.TokenLiquiditiesWidget=jv;exports.TokenList=$e;exports.TokenListFilter=_t;exports.TokenListFilterModal=fi;exports.TokenListFilterPopover=hi;exports.TokenListFilterWidget=_L;exports.TokenListResolutionSelectorDesktop=Ti;exports.TokenListResolutionSelectorMobile=Si;exports.TokenListResolutionSelectorWidget=iw;exports.TokenMarketCap=ps;exports.TokenMarketCapWidget=fs;exports.TokenOrdersList=xn;exports.TokenOrdersListWidget=LS;exports.TokenPositionsList=pn;exports.TokenPositionsListWidget=lS;exports.TokenPrice=ks;exports.TokenPriceWidget=bs;exports.TokenReusedImageList=Wn;exports.TokenReusedImageListWidget=YN;exports.TokenSecurity=qs;exports.TokenSecurityWidget=vv;exports.TokenSimilarTokens=Un;exports.TokenSimilarTokensWidget=WN;exports.TokenSocialMedia=ys;exports.TokenSocialMediaWidget=vs;exports.TokenStatsFlipBase=dn;exports.TokenStatsFlipHover=cn;exports.TokenStatsFlipWidget=K0;exports.TokenTopTradersList=Tn;exports.TokenTopTradersListWidget=zS;exports.TokenTradersOverview=Es;exports.TokenTradersOverviewWidget=IT;exports.TokenTransactionsOverview=$s;exports.TokenTransactionsOverviewWidget=QT;exports.TokenVolume=Cs;exports.TokenVolumeWidget=ws;exports.TokenVolumesOverview=Ks;exports.TokenVolumesOverviewWidget=lv;exports.TraderTagBadge=Nd;exports.TraderTagBadgeList=Xr;exports.TrendingTokenListWidget=n1;exports.useNewTokensScript=Qi;exports.usePulseFinalStretchListScript=vr;exports.usePulseMigratedListScript=kr;exports.usePulseNewListScript=pr;exports.useSearchHistory=gt;exports.useSearchResultListScript=Fr;exports.useSearchScript=_r;exports.useStockTokensScript=Yi;exports.useTokenAboutScript=Ys;exports.useTokenActivitiesListScript=Ws;exports.useTokenBasicInfoScript=Xh;exports.useTokenCategoriesScript=an;exports.useTokenCexListingScript=rn;exports.useTokenChartBannerScript=On;exports.useTokenDetailHeaderScript=rs;exports.useTokenDevTokensListScript=An;exports.useTokenHoldersCountScript=ls;exports.useTokenHoldersListScript=Fs;exports.useTokenLiquiditiesScript=tn;exports.useTokenMarketCapScript=us;exports.useTokenOrdersListScript=yn;exports.useTokenPositionsListScript=gn;exports.useTokenPriceScript=hs;exports.useTokenReusedImageListScript=Bn;exports.useTokenSecurityScript=Qs;exports.useTokenSimilarTokensScript=Dn;exports.useTokenSocialMediaScript=Ts;exports.useTokenStatsFlipScript=mn;exports.useTokenTopTradersListScript=Sn;exports.useTokenTradersOverviewScript=Vs;exports.useTokenTransactionsOverviewScript=_s;exports.useTokenVolumeScript=Ls;exports.useTokenVolumesOverviewScript=zs;exports.useTokens=Uf;exports.useTrendingTokensScript=Tt;//# sourceMappingURL=index.js.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 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 jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{children:pf}),Array.from({length:ea}).map((o,s)=>jsxRuntime.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 jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",height:t,borderBottom:s?void 0:"1px solid rgba(39,39,42,0.3)"},children:[jsxRuntime.jsxs("div",{style:{width:320,padding:"0 12px 0 24px",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[jsxRuntime.jsx("div",{style:M(r,64,64,{borderRadius:8,flexShrink:0})}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8,flex:1},children:[jsxRuntime.jsx("div",{style:M(r+30,"60%",20)}),jsxRuntime.jsx("div",{style:M(r+60,"80%",16)})]})]}),jsxRuntime.jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:M(r+20,72,20)}),jsxRuntime.jsx("div",{style:M(r+40,52,16)})]}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:M(r+30,64,20)})}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:M(r+40,60,20)})}),jsxRuntime.jsxs("div",{style:{width:138,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:M(r+50,72,20)}),jsxRuntime.jsx("div",{style:M(r+70,100,16)})]}),jsxRuntime.jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:M(r+60,48,20)}),jsxRuntime.jsx("div",{style:M(r+80,80,16)})]}),jsxRuntime.jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:M(r+70,40,20)}),jsxRuntime.jsx("div",{style:M(r+90,72,16)})]}),jsxRuntime.jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",alignItems:"center",gap:10},children:[jsxRuntime.jsx("div",{style:M(r+80,20,20,{borderRadius:4})}),jsxRuntime.jsx("div",{style:M(r+90,52,20)})]}),jsxRuntime.jsxs("div",{style:{width:308,padding:"0 12px",display:"flex",alignItems:"center",gap:20},children:[jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:M(r+80,52,16)}),jsxRuntime.jsx("div",{style:M(r+100,40,16)}),jsxRuntime.jsx("div",{style:M(r+120,36,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:M(r+90,48,16)}),jsxRuntime.jsx("div",{style:M(r+110,40,16)}),jsxRuntime.jsx("div",{style:M(r+130,40,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:M(r+100,40,16)}),jsxRuntime.jsx("div",{style:M(r+120,36,16)})]})]}),o&&jsxRuntime.jsx("div",{style:{width:124,padding:"0 24px 0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:M(r+100,97,32,{borderRadius:8})})})]})}function oa({isLast:e=false}){return jsxRuntime.jsxs("div",{className:ui.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:[jsxRuntime.jsxs("div",{className:"flex items-start gap-2",children:[jsxRuntime.jsxs("div",{className:"flex-none flex flex-col items-center gap-2",children:[jsxRuntime.jsx("div",{className:"w-20 h-20 rounded-lg bg-content2"}),jsxRuntime.jsx("div",{className:"w-14 h-2.5 rounded bg-content2"})]}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1.5",children:[jsxRuntime.jsx("div",{className:"w-16 h-3.5 rounded bg-content2"}),jsxRuntime.jsx("div",{className:"w-20 h-3.5 rounded bg-content2"}),jsxRuntime.jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"w-8 h-3 rounded bg-content2"}),jsxRuntime.jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"}),jsxRuntime.jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"}),jsxRuntime.jsx("div",{className:"w-3.5 h-3.5 rounded bg-content2"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"w-12 h-3 rounded bg-content2"}),jsxRuntime.jsx("div",{className:"w-12 h-3 rounded bg-content2"}),jsxRuntime.jsx("div",{className:"w-10 h-3 rounded bg-content2"})]})]}),jsxRuntime.jsxs("div",{className:"flex-none flex flex-col items-end gap-3",children:[jsxRuntime.jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsxRuntime.jsx("div",{className:"w-16 h-4 rounded bg-content2"}),jsxRuntime.jsx("div",{className:"w-12 h-2.5 rounded bg-content2"})]}),jsxRuntime.jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsxRuntime.jsx("div",{className:"w-14 h-3 rounded bg-content2"}),jsxRuntime.jsx("div",{className:"w-12 h-2.5 rounded bg-content2"})]})]})]}),jsxRuntime.jsxs("div",{className:"mt-2.5 flex items-center gap-2",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-1 overflow-hidden",children:[jsxRuntime.jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsxRuntime.jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsxRuntime.jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsxRuntime.jsx("div",{className:"w-12 h-5 rounded-full bg-content2"}),jsxRuntime.jsx("div",{className:"w-12 h-5 rounded-full bg-content2"})]}),jsxRuntime.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}=i18n.useTranslation(),a=ui.useCopyToClipboard(),l=hooks.useTickAge(e.createdAt),c=react.useCallback(()=>{r?.(e);},[r,e]),m=react.useCallback(z=>{z.stopPropagation(),a(e.address,()=>ui.toast.success(i("tokens.copied.address")));},[a,e.address,i]),d=e.marketData,p=e.stats?.[t],u=react.useMemo(()=>d?.priceInUsd,[d?.priceInUsd]),f=react.useMemo(()=>p?.priceChange,[p?.priceChange]),k=react.useMemo(()=>f&&new utils.SafeBigNumber(f).gte(0),[f]),x=react.useMemo(()=>f?new utils.SafeBigNumber(f).abs().toString():void 0,[f]),g=react.useMemo(()=>p?.volumesInUsd,[p?.volumesInUsd]),h=react.useMemo(()=>p?.buyVolumesInUsd,[p?.buyVolumesInUsd]),b=react.useMemo(()=>p?.sellVolumesInUsd,[p?.sellVolumesInUsd]),y=react.useMemo(()=>p?.trades,[p?.trades]),E=react.useMemo(()=>d?.marketCapInUsd,[d?.marketCapInUsd]),Y=react.useMemo(()=>d?.tvlInUsd,[d?.tvlInUsd]),me=react.useMemo(()=>new utils.SafeBigNumber(d?.top10HoldingsRatio).gte(.1),[d?.top10HoldingsRatio]),Ze=react.useMemo(()=>new utils.SafeBigNumber(d?.devHoldingsRatio).gte(.1),[d?.devHoldingsRatio]),B=react.useMemo(()=>new utils.SafeBigNumber(d?.sniperHoldingsRatio).gte(.1),[d?.sniperHoldingsRatio]),ao=react.useMemo(()=>new utils.SafeBigNumber(d?.insiderHoldingsRatio).gte(.1),[d?.insiderHoldingsRatio]),lo=react.useMemo(()=>new utils.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 jsxRuntime.jsxs("div",{className:ui.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:[jsxRuntime.jsxs("div",{className:"flex items-start gap-2",children:[jsxRuntime.jsxs("div",{className:"flex-none flex flex-col items-center gap-2",children:[jsxRuntime.jsx(re,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:false,className:"w-20 h-20"}),jsxRuntime.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)]})]}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-2.5",children:[jsxRuntime.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:[jsxRuntime.jsx("span",{className:"flex-none text-sm font-semibold leading-none whitespace-nowrap overflow-hidden text-ellipsis max-w-24",children:e.symbol}),jsxRuntime.jsx(ui.StyledTooltip,{content:e.name,children:jsxRuntime.jsx("span",{className:"text-[13px] leading-none text-neutral truncate max-w-20",children:e.name})}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3.5 h-3.5 text-neutral"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 leading-none",children:[jsxRuntime.jsx("span",{className:"text-[13px] font-mono font-medium text-neutral",children:utils.formatAge(l)}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:z=>z.stopPropagation(),children:jsxRuntime.jsx(ui.WebsiteIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:z=>z.stopPropagation(),children:jsxRuntime.jsx(ui.TwitterIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:z=>z.stopPropagation(),children:jsxRuntime.jsx(ui.TelegramIcon,{className:"w-3.5 h-3.5"})}),jsxRuntime.jsx(ui.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"max-sm:hidden text-neutral hover:text-primary",target:"_blank",onClick:z=>z.stopPropagation(),children:jsxRuntime.jsx(ui.SearchIcon,{className:"w-3.5 h-3.5"})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-foreground/80 leading-none",children:[jsxRuntime.jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-neutral",children:"MC"}),jsxRuntime.jsx("span",{children:utils.formatAmountUSDCompact(E)})]}),jsxRuntime.jsx("span",{className:"text-neutral/30",children:"\xB7"}),jsxRuntime.jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-neutral",children:"Liq"}),jsxRuntime.jsx("span",{children:utils.formatAmountUSDCompact(Y)})]})]}),oe&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-neutral leading-none",children:[D&&jsxRuntime.jsx(ui.StyledTooltip,{content:i("tokens.tokenInfo.holders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui.PeopleIcon,{className:"w-3 h-3 text-neutral"}),utils.formatAmount(d?.holders)]})}),ge&&jsxRuntime.jsx(ui.StyledTooltip,{content:i("tokens.tokenInfo.kolHolders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui.CrownIcon,{className:"w-3 h-3 text-neutral"}),utils.formatAmount(d?.kolHolders)]})}),je&&jsxRuntime.jsx(ui.StyledTooltip,{content:i("tokens.listHeader.bluechip"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui.ShiningStarIcon,{className:"w-3 h-3 text-neutral"}),utils.formatAmount(d?.bluechipHolders)]})})]})]}),jsxRuntime.jsxs("div",{className:"flex-none flex flex-col items-end gap-2.5 leading-none font-mono",children:[jsxRuntime.jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsxRuntime.jsx("span",{className:"text-base font-bold text-foreground leading-none",children:utils.formatPriceUSD(u)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex items-center gap-0.5 text-[10px] leading-none",k?"text-bullish":"text-bearish"),children:[k?jsxRuntime.jsx(ui.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:8,height:8}),f===void 0?"--":utils.formatPercent(x)]})]}),jsxRuntime.jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsxRuntime.jsxs("div",{className:"flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs text-neutral",children:"V"}),jsxRuntime.jsx("span",{className:"text-xs text-foreground/80",children:utils.formatAmountUSDCompact(g)})]}),jsxRuntime.jsxs("span",{className:"text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmountUSDCompact(h)}),jsxRuntime.jsx("span",{className:"text-neutral/50 mx-0.5",children:"/"}),jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmountUSDCompact(b)})]})]}),jsxRuntime.jsxs("div",{className:"flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs text-neutral",children:"TX"}),jsxRuntime.jsx("span",{className:"text-xs text-foreground/80",children:utils.formatAmount(y)})]})]})]}),jsxRuntime.jsxs("div",{className:"mt-2.5 flex items-start gap-4 relative",children:[jsxRuntime.jsx(ui.HorizontalScrollContainer,{className:"flex-auto min-w-0",forceShowArrows:true,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(d?.top10HoldingsRatio),tooltip:i("tokens.tokenInfo.top10HoldingsRatio"),warning:me,disable:!d?.top10HoldingsRatio||d?.top10HoldingsRatio==="0"}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(d?.devHoldingsRatio),tooltip:i("tokens.tokenInfo.devHoldingsRatio"),warning:Ze,disable:!d?.devHoldingsRatio||d?.devHoldingsRatio==="0"}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(d?.sniperHoldingsRatio),tooltip:i("tokens.tokenInfo.sniperHoldingsRatio"),warning:B,disable:!d?.sniperHoldingsRatio||d?.sniperHoldingsRatio==="0"}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(d?.insiderHoldingsRatio),tooltip:i("tokens.tokenInfo.insiderHoldingsRatio"),warning:ao,disable:!d?.insiderHoldingsRatio||d?.insiderHoldingsRatio==="0"}),jsxRuntime.jsx(O,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(d?.bundleHoldingsRatio),tooltip:i("tokens.tokenInfo.bundleHoldingsRatio"),warning:lo,disable:!d?.bundleHoldingsRatio||d?.bundleHoldingsRatio==="0"})]})}),o&&jsxRuntime.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?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(na,{token:o[e],resolution:r,isLast:e===o.length-1,renderAction:n,onSelectToken:i})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.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=react.useMemo(()=>({tokens:a,skeletonCount:ia,resolution:t,renderAction:r,onSelectToken:n}),[a,t,r,n]);return jsxRuntime.jsx("div",{className:ui.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:jsxRuntime.jsx(reactWindow.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}=ui.useScreen(),{t:u}=i18n.useTranslation(),f=react.useCallback(h=>b=>{b.preventDefault(),b.stopPropagation(),r?.(h);},[r]),[k,x]=react.useState(n??{});react.useEffect(()=>{x(n??{});},[n]);let g=react.useCallback(h=>b=>{let y={[h]:b};x(y),i?.(y);},[i]);return p?jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:ui.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:[jsxRuntime.jsx(ui.TableHeader,{children:[jsxRuntime.jsx(ui.TableColumn,{textValue:u("tokens.listHeader.token"),width:d?224:320,children:u("tokens.listHeader.token")},"token"),jsxRuntime.jsx(ui.TableColumn,{textValue:u("tokens.listHeader.price"),width:128,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui.Sortable,{sort:k.price,onSortChange:g("price"),children:u("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:k[`priceChange${t}`],onSortChange:g(`priceChange${t}`),children:u("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsxRuntime.jsx(ui.TableColumn,{textValue:u("tokens.listHeader.marketCap"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:k.marketCap,onSortChange:g("marketCap"),children:u("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:u("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:k.tvl,onSortChange:g("tvl"),children:u("tokens.listHeader.liquidity")})},"liquidity"),jsxRuntime.jsx(ui.TableColumn,{textValue:u("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsxRuntime.jsx(ui.Sortable,{sort:k[`volumes${t}`],onSortChange:g(`volumes${t}`),children:u("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsxRuntime.jsx(ui.TableColumn,{textValue:u("tokens.listHeader.txs",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:k[`trades${t}`],onSortChange:g(`trades${t}`),children:u("tokens.listHeader.txs",{resolution:t})})},"txs"),jsxRuntime.jsx(ui.TableColumn,{textValue:u("tokens.listHeader.traders",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:k[`traders${t}`],onSortChange:g(`traders${t}`),children:u("tokens.listHeader.traders",{resolution:t})})},"traders"),jsxRuntime.jsx(ui.TableColumn,{textValue:u("tokens.listHeader.bluechip"),width:128,children:u("tokens.listHeader.bluechip")},"bluechip"),jsxRuntime.jsx(ui.TableColumn,{textValue:u("tokens.listHeader.tokenInfo"),width:308,children:u("tokens.listHeader.tokenInfo")},"tokenInfo"),s?jsxRuntime.jsx(ui.TableColumn,{textValue:u("tokens.listHeader.actions"),width:124,align:"end",children:u("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean)}),jsxRuntime.jsx(ui.TableBody,{items:o?[]:e,isLoading:o,loadingContent:jsxRuntime.jsx(ta,{rowHeight:d?c:l,hasActions:!!s}),emptyContent:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.EmptyIcon,{className:"w-10 h-10 mx-auto text-neutral"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-neutral text-center",children:u("common.empty")})]}),children:h=>jsxRuntime.jsx(ui.TableRow,{onClick:r?f(h):void 0,children:[jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Vi,{token:h,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Qi,{token:h,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ki,{token:h,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(_i,{token:h,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(ji,{token:h,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Yi,{token:h,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Xi,{token:h,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ei,{token:h,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx($i,{token:h,resolution:t})},"tokenInfo"),s?jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(s,{token:h,resolution:t})},"actions"):void 0].filter(Boolean)},h.address)})]}):jsxRuntime.jsx(aa,{tokens:e,resolution:t,isLoading:o,height:a,renderAction:s?h=>jsxRuntime.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=react.useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=react.useRef(r),[i,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),c([]),n.current=r);},[r]);let[l,c]=react.useState([]),{data:m,isPending:d}=react$1.useNewTokensQuery(r,{refetchInterval:s});react.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=react.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});},[]);react$1.useNewTokensSubscription({chain:e},p);let u=react.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]=react.useState();react.useEffect(()=>{m(void 0);},[e]);let d=react.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 jsxRuntime.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=react.useMemo(()=>({chain:e,resolution:t,...o}),[e,t,o]),n=react.useRef(r),[i,a]=react.useState(true);react.useEffect(()=>{JSON.stringify(r)!==JSON.stringify(n.current)&&(a(true),c([]),n.current=r);},[r]);let[l,c]=react.useState([]),{data:m,isPending:d}=react$1.useStockTokensQuery(r,{refetchInterval:s});react.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=react.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});},[]);react$1.useStockTokensSubscription({chain:e},p);let u=react.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]=react.useState();react.useEffect(()=>{m(void 0);},[e]);let d=react.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 jsxRuntime.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]=react.useState();react.useEffect(()=>{m(void 0);},[e]);let d=react.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 jsxRuntime.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]=react.useState({}),i=react$1.useTokensQuery({chain:e,addresses:t},{enabled:s,refetchInterval:o});react.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}=react$1.useDexClient(),l=react.useRef(""),c=t.slice().sort().join(",");c!==l.current&&(l.current=c),react.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=react.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}}Object.defineProperty(exports,"formatAmount",{enumerable:true,get:function(){return utils.formatAmount}});exports.DEFAULT_FLIP_HOVER_RESOLUTIONS=vn;exports.HolderTagBadge=La;exports.HolderTagBadgeList=Tt;exports.HoldingRatioChip=O;exports.NewTokenListWidget=l2;exports.PulseFinalStretchListWidget=mk;exports.PulseList=Oe;exports.PulseListHeader=ir;exports.PulseListItem=Cr;exports.PulseListItemSkeleton=lr;exports.PulseMigratedListWidget=ek;exports.PulseNewListWidget=_x;exports.SEARCH_MODAL_ID=ho;exports.SearchHistoryUI=Qr;exports.SearchHistoryWidget=Gr;exports.SearchInputUI=Xr;exports.SearchModal=Xh;exports.SearchResultItemUI=Lt;exports.SearchResultListHeader=Pt;exports.SearchResultListSkeleton=At;exports.SearchResultListWidget=rs;exports.SearchTokensButton=sb;exports.SearchWidget=ps;exports.StockTokenListWidget=y2;exports.TRADER_TAG_META=uo;exports.TokenAbout=mn;exports.TokenAboutWidget=F0;exports.TokenActivitiesList=Xs;exports.TokenActivitiesListWidget=gv;exports.TokenAvatar=re;exports.TokenBasicInfo=bs;exports.TokenBasicInfoWidget=$s;exports.TokenCategories=yn;exports.TokenCategoriesWidget=wN;exports.TokenCexListing=kn;exports.TokenCexListingWidget=mN;exports.TokenChartBanner=Qn;exports.TokenChartBannerWidget=yC;exports.TokenDetailHeader=xs;exports.TokenDetailHeaderWidget=RT;exports.TokenDevTokensList=Bn;exports.TokenDevTokensListWidget=nC;exports.TokenDevTokensSummary=En;exports.TokenHoldersCount=Ts;exports.TokenHoldersCountWidget=Ns;exports.TokenHoldersList=zs;exports.TokenHoldersListWidget=JT;exports.TokenLiquidities=gn;exports.TokenLiquiditiesWidget=Y0;exports.TokenList=Ye;exports.TokenListFilter=jt;exports.TokenListFilterModal=Pi;exports.TokenListFilterPopover=Mi;exports.TokenListFilterWidget=VL;exports.TokenListResolutionSelectorDesktop=Ui;exports.TokenListResolutionSelectorMobile=Di;exports.TokenListResolutionSelectorWidget=sP;exports.TokenMarketCap=ws;exports.TokenMarketCapWidget=Ps;exports.TokenOrdersList=An;exports.TokenOrdersListWidget=SS;exports.TokenPositionsList=wn;exports.TokenPositionsListWidget=iS;exports.TokenPrice=Hs;exports.TokenPriceWidget=Is;exports.TokenReusedImageList=Zn;exports.TokenReusedImageListWidget=XC;exports.TokenSecurity=an;exports.TokenSecurityWidget=y0;exports.TokenSimilarTokens=Jn;exports.TokenSimilarTokensWidget=OC;exports.TokenSocialMedia=Fs;exports.TokenSocialMediaWidget=Os;exports.TokenStatsFlipBase=Nn;exports.TokenStatsFlipHover=Sn;exports.TokenStatsFlipWidget=$N;exports.TokenTopTradersList=Un;exports.TokenTopTradersListWidget=_S;exports.TokenTradersOverview=en;exports.TokenTradersOverviewWidget=Av;exports.TokenTransactionsOverview=on;exports.TokenTransactionsOverviewWidget=zv;exports.TokenVolume=Bs;exports.TokenVolumeWidget=Vs;exports.TokenVolumesOverview=sn;exports.TokenVolumesOverviewWidget=i0;exports.TraderTagBadge=wa;exports.TraderTagBadgeList=pr;exports.TrendingTokenCard=na;exports.TrendingTokenCardList=aa;exports.TrendingTokenCardSkeleton=oa;exports.TrendingTokenListWidget=P2;exports.useNewTokensScript=ua;exports.usePulseFinalStretchListScript=_r;exports.usePulseMigratedListScript=Wr;exports.usePulseNewListScript=Ir;exports.useSearchHistory=wt;exports.useSearchResultListScript=ts;exports.useSearchScript=cs;exports.useStockTokensScript=ka;exports.useTokenAboutScript=pn;exports.useTokenActivitiesListScript=Zs;exports.useTokenBasicInfoScript=Gb;exports.useTokenCategoriesScript=Tn;exports.useTokenCexListingScript=hn;exports.useTokenChartBannerScript=Xn;exports.useTokenDetailHeaderScript=ks;exports.useTokenDevTokensListScript=Kn;exports.useTokenHoldersCountScript=vs;exports.useTokenHoldersListScript=Gs;exports.useTokenLiquiditiesScript=xn;exports.useTokenMarketCapScript=Ls;exports.useTokenOrdersListScript=Fn;exports.useTokenPositionsListScript=Rn;exports.useTokenPriceScript=Ms;exports.useTokenReusedImageListScript=jn;exports.useTokenSecurityScript=ln;exports.useTokenSimilarTokensScript=Yn;exports.useTokenSocialMediaScript=Us;exports.useTokenStatsFlipScript=Cn;exports.useTokenTopTradersListScript=Dn;exports.useTokenTradersOverviewScript=tn;exports.useTokenTransactionsOverviewScript=rn;exports.useTokenVolumeScript=Es;exports.useTokenVolumesOverviewScript=nn;exports.useTokens=Rg;exports.useTrendingTokensScript=Mt;//# sourceMappingURL=index.js.map
|
|
24
24
|
//# sourceMappingURL=index.js.map
|