@liberfi.io/ui-tokens 3.0.29 → 3.0.30
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 +41 -23
- package/dist/index.d.ts +41 -23
- 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'),jsxRuntime=require('react/jsx-runtime'),hooks=require('@liberfi.io/hooks'),i18n=require('@liberfi.io/i18n'),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 Fr({title:e,isPaused:t,extra:o,className:r}){return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-12 px-3 flex-none bg-[#0a0a0b] flex items-center justify-between gap-4 border-b border-[rgba(39,39,42,0.6)]",r),children:[jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[jsxRuntime.jsx("h2",{className:"min-w-0 truncate font-semibold",children:e}),t&&jsxRuntime.jsx("div",{className:"flex flex-none items-center gap-1 text-primary",children:jsxRuntime.jsx(ui.PauseIcon,{className:"w-4 h-4"})})]}),o&&jsxRuntime.jsx("div",{className:"flex min-w-0 items-center gap-3",children:o})]})}function Io({isLast:e=false,className:t}){return jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full overflow-hidden px-4 py-3 animate-pulse",t),style:{borderBottom:e?"none":"1px solid 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-sm 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.5",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.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"w-10 h-3 rounded bg-content2"}),jsxRuntime.jsx("div",{className:"w-10 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-2.5",children:[jsxRuntime.jsx("div",{className:"flex flex-col items-end gap-1",children:jsxRuntime.jsx("div",{className:"w-16 h-4 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.jsx("div",{className:"w-10 h-2.5 rounded bg-content2"})]})]}),jsxRuntime.jsxs("div",{className:"mt-2.5 flex items-center gap-4",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-1",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 z({icon:e,value:t,tooltip:o,warning:r,disable:s=false,className:n,tooltipPlacement:i="top"}){return jsxRuntime.jsx(ui.StyledTooltip,{content:o,placement:i,children:jsxRuntime.jsxs("div",{className:ui.cn("shrink-0 px-2 py-0.5 flex items-center gap-1 rounded-full text-xs border border-border/60",r?"text-danger-500":s?"text-neutral":"text-primary",n),children:[e,jsxRuntime.jsx("span",{children:t})]})})}var Mo={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 Pl({tag:e,className:t}){let o=Mo[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 Er({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let r=o!=null&&o>0?e.slice(0,o):e,s=e.length-r.length;return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-wrap items-center gap-1",t),children:[r.map(n=>jsxRuntime.jsx(Pl,{tag:n},n)),s>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:["+",s]})]})}function Rl({tag:e,className:t}){let o=Mo[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 Ft({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let r=o!=null&&o>0?e.slice(0,o):e,s=e.length-r.length;return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-wrap items-center gap-1",t),children:[r.map(n=>jsxRuntime.jsx(Rl,{tag:n},n)),s>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:["+",s]})]})}var Al={[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"}},Il={text:"text-neutral",bg:"bg-neutral",bg5:"bg-neutral/5",bg20:"bg-neutral/20",border:"border-neutral"};function Oe(e){return Al[e]??Il}function fe({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:r=true,showProtocolFamily:s=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(()=>s&&l,[s,l]),m=react.useMemo(()=>r&&e.migrateProgress&&new utils.SafeBigNumber(e.migrateProgress).lt(100),[r,e.migrateProgress]),c=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,g]=react.useState(false),f=react.useCallback(()=>{g(true);},[]),x=react.useCallback(()=>{g(false);},[]),k=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?Oe(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(Bl,{className:ui.cn(l?Oe(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?Oe(l).bg20:"bg-[rgba(39,39,42,0.12)]",a?.avatarWrapper),children:jsxRuntime.jsx(Ul,{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&&c&&"cursor-pointer"),onMouseEnter:f,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&&c&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${n}`,a?.searchWrapper),onClick:k,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&&Oe(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 Ul({token:e,radius:t,enableSearch:o,enablePreview:r,classNames:s,children:n}){return react.useMemo(()=>r&&e.image,[r,e.image])?jsxRuntime.jsx(ui.StyledTooltip,{content:jsxRuntime.jsx(Ol,{token:e,radius:t,enableSearch:o,classNames:s}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:n}):n}function Ol({token:e,enableSearch:t,radius:o,classNames:r}){let s=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);},[]),m=react.useCallback(c=>{if(c.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&&s&&"cursor-pointer",r?.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}`,r?.previewAvatar)}),i&&s&&jsxRuntime.jsx("div",{className:ui.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,r?.previewSearchWrapper),onClick:m,children:jsxRuntime.jsx(ui.CameraIcon,{className:ui.cn("w-10 h-10",r?.previewSearchIcon)})})]})}function Bl({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$1=require('@liberfi.io/ui'),jsxRuntime=require('react/jsx-runtime'),hooks=require('@liberfi.io/hooks'),i18n=require('@liberfi.io/i18n'),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 Or({title:e,isPaused:t,extra:o,className:r}){return jsxRuntime.jsxs("div",{className:ui$1.cn("w-full h-12 px-3 flex-none bg-[#0a0a0b] flex items-center justify-between gap-4 border-b border-[rgba(39,39,42,0.6)]",r),children:[jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[jsxRuntime.jsx("h2",{className:"min-w-0 truncate font-semibold",children:e}),t&&jsxRuntime.jsx("div",{className:"flex flex-none items-center gap-1 text-primary",children:jsxRuntime.jsx(ui$1.PauseIcon,{className:"w-4 h-4"})})]}),o&&jsxRuntime.jsx("div",{className:"flex min-w-0 items-center gap-3",children:o})]})}function Uo({isLast:e=false,className:t}){return jsxRuntime.jsxs("div",{className:ui$1.cn("w-full h-full overflow-hidden px-4 py-3 animate-pulse",t),style:{borderBottom:e?"none":"1px solid 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-sm 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.5",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.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("div",{className:"w-10 h-3 rounded bg-content2"}),jsxRuntime.jsx("div",{className:"w-10 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-2.5",children:[jsxRuntime.jsx("div",{className:"flex flex-col items-end gap-1",children:jsxRuntime.jsx("div",{className:"w-16 h-4 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.jsx("div",{className:"w-10 h-2.5 rounded bg-content2"})]})]}),jsxRuntime.jsxs("div",{className:"mt-2.5 flex items-center gap-4",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-1",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 q({icon:e,value:t,tooltip:o,warning:r,disable:s=false,className:n,tooltipPlacement:i="top"}){return jsxRuntime.jsx(ui$1.StyledTooltip,{content:o,placement:i,children:jsxRuntime.jsxs("div",{className:ui$1.cn("shrink-0 px-2 py-0.5 flex items-center gap-1 rounded-full text-xs border border-border/60",r?"text-danger-500":s?"text-neutral":"text-primary",n),children:[e,jsxRuntime.jsx("span",{children:t})]})})}var Do={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 Dl({tag:e,className:t}){let o=Do[e]??{label:e,bgClass:"bg-default/20",textClass:"text-default-500"};return jsxRuntime.jsx("span",{className:ui$1.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 Vr({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let r=o!=null&&o>0?e.slice(0,o):e,s=e.length-r.length;return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-wrap items-center gap-1",t),children:[r.map(n=>jsxRuntime.jsx(Dl,{tag:n},n)),s>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:["+",s]})]})}function Ol({tag:e,className:t}){let o=Do[e]??{label:e,bgClass:"bg-default/20",textClass:"text-default-500"};return jsxRuntime.jsx("span",{className:ui$1.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 Bt({tags:e,className:t,max:o}){if(!e||e.length===0)return null;let r=o!=null&&o>0?e.slice(0,o):e,s=e.length-r.length;return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-wrap items-center gap-1",t),children:[r.map(n=>jsxRuntime.jsx(Ol,{tag:n},n)),s>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:["+",s]})]})}var Bl={[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"}},El={text:"text-neutral",bg:"bg-neutral",bg5:"bg-neutral/5",bg20:"bg-neutral/20",border:"border-neutral"};function Oe(e){return Bl[e]??El}function xe({token:e,enablePreview:t=true,enableSearch:o=true,showProgress:r=true,showProtocolFamily:s=true,radius:n="sm",className:i,classNames:l}){let a=react.useMemo(()=>e.launchedFrom?.protocolFamily?utils.parseTokenProtocolFamily(e.chain,e.launchedFrom.protocolFamily):void 0,[e.chain,e.launchedFrom?.protocolFamily]),c=react.useMemo(()=>s&&a,[s,a]),m=react.useMemo(()=>r&&e.migrateProgress&&new utils.SafeBigNumber(e.migrateProgress).lt(100),[r,e.migrateProgress]),d=react.useMemo(()=>o&&e.image,[o,e.image]),u=react.useMemo(()=>(e.symbol??e.name??e.address??"L").slice(0,1).toUpperCase(),[e.symbol,e.name,e.address]),[p,f]=react.useState(false),x=react.useCallback(()=>{f(true);},[]),g=react.useCallback(()=>{f(false);},[]),b=react.useCallback(k=>{if(k.stopPropagation(),!e.image)return;let y=utils.searchImageUrl(e.image);window.open(y,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui$1.cn("relative justify-center items-center",i??"w-15 h-15"),children:[!m&&jsxRuntime.jsx("div",{className:ui$1.cn("absolute inset-0",`rounded-${n}`,a?Oe(a).bg:"bg-[rgba(39,39,42,0.6)]",l?.background)}),m&&jsxRuntime.jsx("div",{className:ui$1.cn("absolute -inset-0.5",`rounded-${n}`),children:jsxRuntime.jsx(zl,{className:ui$1.cn(a?Oe(a).text:"text-[rgba(39,39,42,0.6)]",l?.progress),progress:e.migrateProgress??"0"})}),jsxRuntime.jsx("div",{className:ui$1.cn("absolute inset-0 p-px flex items-center justify-center",`rounded-${n}`,a?Oe(a).bg20:"bg-[rgba(39,39,42,0.12)]",l?.avatarWrapper),children:jsxRuntime.jsx($l,{token:e,radius:n,enableSearch:o,enablePreview:t,classNames:l,children:jsxRuntime.jsxs("div",{className:ui$1.cn("relative w-full h-full bg-content1 flex items-center justify-center p-0.5",`rounded-${n}`,p&&d&&"cursor-pointer"),onMouseEnter:x,onMouseLeave:g,children:[jsxRuntime.jsx(ui$1.Avatar,{showFallback:true,src:e.image,name:u,className:ui$1.cn("w-full h-full bg-content1 text-neutral text-2xl",`rounded-${n}`,l?.avatar)}),p&&d&&jsxRuntime.jsx("div",{className:ui$1.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${n}`,l?.searchWrapper),onClick:b,children:jsxRuntime.jsx(ui$1.CameraIcon,{className:ui$1.cn("w-6 h-6",l?.searchIcon)})})]})})}),c&&jsxRuntime.jsx("div",{className:"contents",children:jsxRuntime.jsx(ui$1.StyledTooltip,{content:e.launchedFrom?.protocolFamily??a,placement:"bottom",children:jsxRuntime.jsx("div",{className:ui$1.cn("absolute -bottom-1 -right-1 rounded-full p-px w-4 h-4",a&&Oe(a).bg,l?.protocolFamilyIconWrapper),children:jsxRuntime.jsx(ui$1.Image,{removeWrapper:true,src:`/images/protocols/${a}.svg`,className:ui$1.cn("w-full h-full rounded-full bg-content1",l?.protocolFamilyIcon)})})})})]})}function $l({token:e,radius:t,enableSearch:o,enablePreview:r,classNames:s,children:n}){return react.useMemo(()=>r&&e.image,[r,e.image])?jsxRuntime.jsx(ui$1.StyledTooltip,{content:jsxRuntime.jsx(Kl,{token:e,radius:t,enableSearch:o,classNames:s}),closeDelay:100,placement:"bottom-start",classNames:{content:"p-1"},children:n}):n}function Kl({token:e,enableSearch:t,radius:o,classNames:r}){let s=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,l]=react.useState(false),a=react.useCallback(()=>{l(true);},[]),c=react.useCallback(()=>{l(false);},[]),m=react.useCallback(d=>{if(d.stopPropagation(),!e.image)return;let u=utils.searchImageUrl(e.image);window.open(u,"_blank");},[e.image]);return jsxRuntime.jsxs("div",{className:ui$1.cn("relative flex items-center justify-center w-60 h-60",`rounded-${o}`,i&&s&&"cursor-pointer",r?.previewWrapper),onMouseEnter:a,onMouseLeave:c,children:[jsxRuntime.jsx(ui$1.Avatar,{showFallback:true,src:e.image,name:n,className:ui$1.cn("w-full h-full bg-content1 text-neutral text-3xl",`rounded-${o}`,r?.previewAvatar)}),i&&s&&jsxRuntime.jsx("div",{className:ui$1.cn("absolute inset-0 bg-content1/80 flex items-center justify-center",`rounded-${o}`,r?.previewSearchWrapper),onClick:m,children:jsxRuntime.jsx(ui$1.CameraIcon,{className:ui$1.cn("w-10 h-10",r?.previewSearchIcon)})})]})}function zl({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 Jr({token:e,renderAction:t,isLast:o=false,onSelectToken:r,className:s}){let{t:n}=i18n.useTranslation(),i=ui.useCopyToClipboard(),a=hooks.useTickAge(e.createdAt),l=e.marketData,d=e.stats?.["1h"],m=react.useCallback(()=>{r?.(e);},[r,e]),c=react.useCallback(E=>{E.stopPropagation(),i(e.address,()=>ui.toast.success(n("tokens.copied.address")));},[i,e.address,n]),p=react.useMemo(()=>d?.volumesInUsd,[d?.volumesInUsd]),u=react.useMemo(()=>d?.buyVolumesInUsd,[d?.buyVolumesInUsd]),g=react.useMemo(()=>d?.sellVolumesInUsd,[d?.sellVolumesInUsd]),f=react.useMemo(()=>d?.trades,[d?.trades]),x=react.useMemo(()=>l?.marketCapInUsd,[l?.marketCapInUsd]),k=react.useMemo(()=>l?.tvlInUsd,[l?.tvlInUsd]),h=react.useMemo(()=>{let E=new utils.SafeBigNumber(x);return E.lt(1e3)?"text-foreground":E.lt(1e6)?"text-secondary":"text-primary"},[x]),b=react.useMemo(()=>new utils.SafeBigNumber(l?.top10HoldingsRatio).gte(.1),[l?.top10HoldingsRatio]),T=react.useMemo(()=>new utils.SafeBigNumber(l?.devHoldingsRatio).gte(.1),[l?.devHoldingsRatio]),N=react.useMemo(()=>new utils.SafeBigNumber(l?.insiderHoldingsRatio).gte(.1),[l?.insiderHoldingsRatio]),y=react.useMemo(()=>new utils.SafeBigNumber(l?.sniperHoldingsRatio).gte(.1),[l?.sniperHoldingsRatio]),P=react.useMemo(()=>new utils.SafeBigNumber(l?.bundleHoldingsRatio).gte(.1),[l?.bundleHoldingsRatio]),[L,M]=react.useMemo(()=>{let E=Number(d?.buys??0),H=Number(d?.sells??0),_=E+H;if(_===0)return [12,12];let ut=Math.round(E/_*24);return [ut,24-ut]},[d?.buys,d?.sells]),te=l?.holders!==void 0&&l.holders>0,Se=l?.proHolders!==void 0&&l.proHolders>0,B=l?.kolHolders!==void 0&&l.kolHolders>0,ie=te||Se||B;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),style:{borderBottom:o?"none":"1px solid rgba(39,39,42,0.6)"},onClick:r?m: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(fe,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-20 h-20"}),jsxRuntime.jsxs("button",{type:"button",className:"text-xs font-mono text-neutral hover:text-foreground leading-none",onClick:c,"aria-label":n("tokens.copied.address"),title:n("tokens.copied.address"),children:[e.address.slice(0,4),"...",e.address.slice(-4)]})]}),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:c,"aria-label":n("tokens.copied.address"),title:n("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(a)}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:E=>E.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:E=>E.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:E=>E.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:E=>E.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",{className:ui.cn(h),children:utils.formatMCapInUsd(x)})]}),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.formatAmountInUsd(k)})]})]}),ie&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-neutral leading-none",children:[te&&jsxRuntime.jsx(ui.StyledTooltip,{content:n("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(l?.holders)]})}),Se&&jsxRuntime.jsx(ui.StyledTooltip,{content:n("tokens.tokenInfo.proHolders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui.KlineCandlesIcon,{className:"w-3 h-3 text-neutral"}),utils.formatAmount(l?.proHolders)]})}),B&&jsxRuntime.jsx(ui.StyledTooltip,{content:n("tokens.tokenInfo.kolHolders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui.StarIcon,{className:"w-3 h-3 text-neutral"}),utils.formatAmount(l?.kolHolders)]})})]})]}),jsxRuntime.jsxs("div",{className:"flex-none flex flex-col items-end gap-2.5 leading-none font-mono",children:[jsxRuntime.jsx("div",{className:"flex flex-col items-end gap-1",children:jsxRuntime.jsx("span",{className:ui.cn("text-base font-bold leading-none",h),children:utils.formatMCapInUsd(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.formatAmountInUsd(p)})]}),jsxRuntime.jsxs("span",{className:"text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmountInUsd(u)}),jsxRuntime.jsx("span",{className:"text-neutral/50 mx-0.5",children:"/"}),jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmountInUsd(g)})]})]}),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(f)})]})]})]}),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(z,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(l?.top10HoldingsRatio),tooltip:n("tokens.tokenInfo.top10HoldingsRatio"),warning:b,disable:!l?.top10HoldingsRatio||l?.top10HoldingsRatio==="0"}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(l?.devHoldingsRatio),tooltip:n("tokens.tokenInfo.devHoldingsRatio"),warning:T,disable:!l?.devHoldingsRatio||l?.devHoldingsRatio==="0"}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(l?.sniperHoldingsRatio),tooltip:n("tokens.tokenInfo.sniperHoldingsRatio"),warning:y,disable:!l?.sniperHoldingsRatio||l?.sniperHoldingsRatio==="0"}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(l?.insiderHoldingsRatio),tooltip:n("tokens.tokenInfo.insiderHoldingsRatio"),warning:N,disable:!l?.insiderHoldingsRatio||l?.insiderHoldingsRatio==="0"}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(l?.bundleHoldingsRatio),tooltip:n("tokens.tokenInfo.bundleHoldingsRatio"),warning:P,disable:!l?.bundleHoldingsRatio||l?.bundleHoldingsRatio==="0"})]})}),t&&jsxRuntime.jsx("div",{className:"flex-none relative",onClick:E=>E.stopPropagation(),children:t(e)})]})]})}var dd=152,Zr=10;function cd({index:e,style:t,data:o,skeletonCount:r,renderItemAction:s,onSelectToken:n}){if(!o)return jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Io,{isLast:e===r-1})});let i=o[e];return i?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Jr,{token:i,isLast:e===o.length-1,renderAction:s,onSelectToken:n})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Io,{isLast:e===o.length-1})})}function Ge({title:e,tokens:t,isLoading:o,itemHeight:r=dd,renderHeaderExtra:s,renderItemAction:n,onSelectToken:i,onPauseChange:a,onScrollingChange:l,className:d,hideHeader:m}){let c=o||!t?void 0:t,p=c?c.length:Zr,u=react.useMemo(()=>({data:c,skeletonCount:Zr,renderItemAction:n,onSelectToken:i}),[c,n,i]),[g,f]=react.useState(false),x=react.useRef(void 0),k=react.useRef(false),h=react.useCallback(()=>{f(true),a?.(true);},[a]),b=react.useCallback(()=>{f(false),a?.(false);},[a]),T=react.useCallback(()=>{k.current||(k.current=true,l?.(true)),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{k.current=false,l?.(false);},180);},[l]);return react.useEffect(()=>()=>{x.current&&clearTimeout(x.current),k.current&&l?.(false);},[l]),jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full bg-[#0a0a0b] overflow-hidden flex flex-col border border-[rgba(39,39,42,0.6)] rounded-lg",d),onMouseEnter:h,onMouseLeave:b,children:[!m&&jsxRuntime.jsx(Fr,{title:e,isPaused:g,extra:s}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",onScrollCapture:T,children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:p,rowHeight:r,rowComponent:cd,rowProps:u,overscanCount:10})})]})}function Uo(e,t){let o={...e};for(let r of Object.keys(t))t[r]!==void 0&&(o[r]=t[r]);return o}var pd=["1m","5m","15m","30m","1h","4h","24h"];function ud(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let r of pd)t[r]&&(o[r]=e[r]?Uo(e[r],t[r]):t[r]);return o}function fd(e,t){return t?e?Uo(e,t):t:e}function Wt(e,t){return t?e?Uo(e,t):t:e}function X(e,t){let{chain:o,address:r,stats:s,marketData:n,socialMedias:i,security:a,launchedFrom:l,migratedTo:d,...m}=t,c={...e};for(let p of Object.keys(m))m[p]!==void 0&&(c[p]=m[p]);return c.stats=ud(e.stats,s),c.marketData=fd(e.marketData,n),c.socialMedias=Wt(e.socialMedias,i),c.security=Wt(e.security,a),c.launchedFrom=Wt(e.launchedFrom,l),c.migratedTo=Wt(e.migratedTo,d),c}function Vt(e,t){let o=new Map(e.map(r=>[r.address,r]));return t.map(r=>{let s=o.get(r.address);return s?X(s,r):r})}function gd(e){return e.chain!==void 0&&e.address!==void 0&&e.address!==""&&e.name!==void 0&&e.symbol!==void 0&&e.decimals!==void 0}function Re(e,t){if(t.length===0)return e;let o=[...e],r=false;for(let s of t){let n=o.findIndex(i=>i.address===s.address);if(n>=0){o[n]=X(o[n],s),r=true;continue}gd(s)&&(o.push(s),r=true);}return r?o:e}var kd=["24h","12h","30m","15m","30s","15s","1m","5m","1h","4h","1s"],bd=new Set(["price","marketCap","tvl","holders","top10Holdings","top10Ratio","top100Holdings","top100Ratio","creatorsHoldings","creatorsRatio","createdAt","launchedFromProtocolFamily","migratedToProtocolFamily","tag"]),hd=new Set(["priceChange","volumes","trades","traders","buys","sells"]);function Y(e){if(e==null||e==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}function en(e){for(let t of kd){if(!e.endsWith(t))continue;let o=e.slice(0,-t.length);return o?{metric:o,resolution:t}:void 0}}function tn(e){if(bd.has(e))return true;let t=en(e);return t?hd.has(t.metric):false}function _t(e,t){switch(t){case "price":return Y(e.marketData?.priceInUsd);case "marketCap":return Y(e.marketData?.marketCapInUsd);case "tvl":return Y(e.marketData?.tvlInUsd);case "holders":return Y(e.marketData?.holders);case "top10Holdings":return Y(e.marketData?.top10Holdings);case "top10Ratio":return Y(e.marketData?.top10HoldingsRatio);case "top100Holdings":return Y(e.marketData?.top100Holdings);case "top100Ratio":return Y(e.marketData?.top100HoldingsRatio);case "creatorsHoldings":return Y(e.marketData?.devHoldings);case "creatorsRatio":return Y(e.marketData?.devHoldingsRatio);case "createdAt":return e.createdAt?.getTime();case "launchedFromProtocolFamily":return jr(e,e.launchedFrom?.protocolFamily);case "migratedToProtocolFamily":return jr(e,e.migratedTo?.protocolFamily);case "tag":return e.tags?.[0];}let o=en(t);if(!o)return;let r=e.stats?.[o.resolution];switch(o.metric){case "priceChange":return Y(r?.priceChange);case "volumes":return Y(r?.volumesInUsd);case "trades":return Y(r?.trades);case "traders":return Y(r?.traders);case "buys":return Y(r?.buys);case "sells":return Y(r?.sells);default:return}}function jr(e,t){if(t)return utils.parseTokenProtocolFamily(e.chain,t)??t}var Td=new Set(["top10Ratio","top100Ratio","creatorsRatio"]);function on(e){let t=e.trim().toLowerCase();return t.length>0?t:void 0}function yd(e){return [e.name,e.symbol].filter(Boolean).join(" ").toLowerCase()}function vd(e){return Array.isArray(e)?e:void 0}function Nd(e){return Array.isArray(e)?void 0:e}function rn(e,t){if(!Td.has(e))return t;let o=Number(t);return Number.isFinite(o)?o/100:t}function ge(e,t){let o=Nd(t);return o===void 0?void 0:rn(e,o)}function Oo(e,t){return vd(t)?.map(o=>rn(e,o))}function Xe(e,t){if(typeof e=="number"){let o=Number(t);return Number.isFinite(o)?e-o:void 0}if(typeof e=="string")return e.localeCompare(String(t))}function $t(e,t){if(typeof e=="number"){let o=Number(t);return Number.isFinite(o)&&e===o}return String(e)===String(t)}function Sd(e,t){if(!tn(t.field))return false;let o=_t(e,t.field),r=o===void 0;if(t.operator==="isNull")return r;if(t.operator==="isNotNull")return !r;if(r)return false;switch(t.operator){case "eq":{let s=ge(t.field,t.value);return s!==void 0&&$t(o,s)}case "ne":{let s=ge(t.field,t.value);return s!==void 0&&!$t(o,s)}case "gt":{let s=ge(t.field,t.value),n=s!==void 0?Xe(o,s):void 0;return n!==void 0&&n>0}case "gte":{let s=ge(t.field,t.value),n=s!==void 0?Xe(o,s):void 0;return n!==void 0&&n>=0}case "lt":{let s=ge(t.field,t.value),n=s!==void 0?Xe(o,s):void 0;return n!==void 0&&n<0}case "lte":{let s=ge(t.field,t.value),n=s!==void 0?Xe(o,s):void 0;return n!==void 0&&n<=0}case "between":{let s=Oo(t.field,t.value);if(!s||s.length<2)return false;let n=Xe(o,s[0]),i=Xe(o,s[1]);return n!==void 0&&i!==void 0&&n>=0&&i<=0}case "in":{let s=Oo(t.field,t.value);return s?s.some(n=>$t(o,n)):false}case "nin":{let s=Oo(t.field,t.value);return s?s.every(n=>!$t(o,n)):false}case "contains":{let s=ge(t.field,t.value);return s!==void 0&&String(o).includes(String(s))}case "notContains":{let s=ge(t.field,t.value);return s!==void 0&&!String(o).includes(String(s))}case "startsWith":{let s=ge(t.field,t.value);return s!==void 0&&String(o).startsWith(String(s))}case "endsWith":{let s=ge(t.field,t.value);return s!==void 0&&String(o).endsWith(String(s))}default:return false}}function le(e,t){let o=t?.keywords?.map(on).filter(n=>n!==void 0),r=t?.excludeKeywords?.map(on).filter(n=>n!==void 0),s=t?.filters;return !o?.length&&!r?.length&&!s?.length?e:e.filter(n=>{let i=yd(n);return !(o?.length&&!o.some(a=>i.includes(a))||r?.length&&r.some(a=>i.includes(a))||s?.length&&!s.every(a=>Sd(n,a)))})}function de({applyUpdates:e,paused:t=false,flushInterval:o=500}){let r=react.useRef(e),s=react.useRef(t),n=react.useRef([]),i=react.useRef(),a=react.useRef();r.current=e,s.current=t;let l=react.useCallback(()=>{i.current!==void 0&&(clearTimeout(i.current),i.current=void 0),a.current!==void 0&&(cancelAnimationFrame(a.current),a.current=void 0);},[]),d=react.useCallback(()=>{if(l(),s.current){i.current=setTimeout(d,o);return}let p=n.current;p.length!==0&&(n.current=[],r.current(p));},[l,o]),m=react.useCallback(()=>{i.current!==void 0||a.current!==void 0||(i.current=setTimeout(()=>{i.current=void 0,a.current=requestAnimationFrame(()=>{a.current=void 0,d();});},o));},[d,o]),c=react.useCallback(p=>{p.length!==0&&(n.current.push(...p),m());},[m]);return react.useEffect(()=>{t||d();},[d,t]),react.useEffect(()=>l,[l]),{enqueueUpdates:c,flush:d}}function dn({chain:e,tokens:t,onUpdate:o,enabled:r=true}){let{subscribeClient:s}=react$1.useDexClient(),n=react.useRef(new Map),i=react.useRef(o);i.current=o;let a=react.useMemo(()=>Array.from(new Set(t.map(m=>m.address.trim()).filter(Boolean))).sort().join(","),[t]),l=react.useMemo(()=>a?a.split(","):[],[a]),d=()=>{n.current.forEach(m=>m.unsubscribe()),n.current.clear();};react.useEffect(()=>d,[e,s,r]),react.useEffect(()=>{if(!r){d();return}let m=new Set(l),c=n.current;for(let[p,u]of c)m.has(p)||(u.unsubscribe(),c.delete(p));for(let p of l)c.has(p)||c.set(p,s.subscribeToken(e,p,u=>{i.current(u);}));},[l,e,r,s]);}var Rd=80;function gn(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 Ad(e,t,o){return e===t?o:e===o?t:o||t}function Eo(e){let t=e.token?.address??e.tokenAAddress??"",o=e.token;return {...o,chain:e.chain,address:t,name:o?.name??"",symbol:o?.symbol??"",decimals:o?.decimals??0,createdAt:o?.createdAt??e.createdAt,liquidities:[{poolAddress:e.poolAddress,pairAddress:Ad(t,e.tokenAAddress,e.tokenBAddress),image:e.dex?.image,programAddress:e.dex?.programAddress,protocolFamily:e.dex?.protocolFamily,protocolName:e.dex?.protocolName}]}}function Id(e){return {...gn(Eo(e)),...e.token??{},liquidities:Eo(e).liquidities,createdAt:e.token?.createdAt??e.createdAt}}function fn(e){return e.sort((t,o)=>{let r=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-r}),e.slice(0,Rd)}function xn({chain:e,filters:t,isPaused:o=false,deferUpdates:r=false,updateFlushInterval:s}){let n=react.useMemo(()=>({chain:e}),[e]),i=react.useRef(o);i.current=o;let a=react.useRef(e),[l,d]=react.useState(true),[m,c]=react.useState([]);react.useEffect(()=>{e!==a.current&&(d(true),c([]),a.current=e);},[e]);let{data:p,isPending:u}=react$1.useNewPoolsQuery(n);react.useEffect(()=>{p&&(c(b=>{let T=i.current,N=b.length===0&&p.length>0,y=[...b];for(let P of p){let L=Id(P),M=y.findIndex(te=>te.address===L.address);M>=0?y[M]=X(y[M],L):(!T||N)&&y.push(L);}return T?y:fn(y)}),d(false));},[p]);let g=react.useCallback(b=>{c(T=>{let N=i.current,y=[...T],P=false;for(let L of b){let M=y.findIndex(te=>te.address===L.address);M>=0?(P=true,y[M]=X(y[M],L)):N||(P=true,y.push(gn(L)));}return P?N?y:fn(y):T});},[]),{enqueueUpdates:f}=de({applyUpdates:g,paused:r,flushInterval:s}),x=react.useCallback(b=>{f(b.map(Eo));},[f]);react$1.useNewPoolsSubscription({chain:e},x),react$1.useNewTokensMetadataSubscription({chain:e},f),dn({chain:e,tokens:m,onUpdate:f});let k=react.useMemo(()=>u||l,[u,l]);return {tokens:react.useMemo(()=>le(m,t),[m,t]),isLoading:k}}function vb({chain:e,filters:t,title:o,renderHeaderExtra:r,renderItemAction:s,onSelectToken:n,className:i,hideHeader:a}){let[l,d]=react.useState(false),[m,c]=react.useState(false),{tokens:p,isLoading:u}=xn({chain:e,filters:t,isPaused:l,deferUpdates:m}),g=react.useCallback(f=>{d(f);},[]);return jsxRuntime.jsx(Ge,{title:o,tokens:p,isLoading:u,renderHeaderExtra:r,renderItemAction:s,onSelectToken:n,onPauseChange:g,onScrollingChange:c,className:i,hideHeader:a})}function xe({chain:e,tokens:t,onUpdate:o,enabled:r=true}){let{subscribeClient:s}=react$1.useDexClient(),n=react.useRef(new Map),i=react.useRef(o);i.current=o;let a=react.useMemo(()=>Array.from(new Set(t.map(m=>m.address.trim()).filter(Boolean))).sort().join(","),[t]),l=react.useMemo(()=>a?a.split(","):[],[a]),d=()=>{n.current.forEach(m=>m.unsubscribe()),n.current.clear();};react.useEffect(()=>d,[e,s,r]),react.useEffect(()=>{if(!r){d();return}let m=new Set(l),c=n.current;for(let[p,u]of c)m.has(p)||(u.unsubscribe(),c.delete(p));for(let p of l)c.has(p)||c.set(p,s.subscribeToken(e,p,u=>{i.current(u);}));},[l,e,r,s]);}function Sn({chain:e,filters:t,isPaused:o=false,refetchInterval:r=3e4,deferUpdates:s=false,updateFlushInterval:n}){let i=react.useMemo(()=>({chain:e}),[e]),a=react.useRef(o);a.current=o;let l=react.useRef(e),[d,m]=react.useState(true),[c,p]=react.useState([]);react.useEffect(()=>{e!==l.current&&(m(true),p([]),l.current=e);},[e]);let{data:u,isPending:g}=react$1.useMigratedTokensQuery(i,{refetchInterval:r});react.useEffect(()=>{u&&(p(b=>{let T=a.current,N=[...b];for(let y of u){let P=N.findIndex(L=>L.address===y.address);P>=0?N[P]=X(N[P],y):T||N.unshift(y);}return N}),m(false));},[u]);let f=react.useCallback(b=>{p(T=>Re(T,b));},[]),{enqueueUpdates:x}=de({applyUpdates:f,paused:s,flushInterval:n});xe({chain:e,tokens:c,onUpdate:x});let k=react.useMemo(()=>g||d,[g,d]);return {tokens:react.useMemo(()=>le(c,t),[c,t]),isLoading:k}}function Db({chain:e,filters:t,title:o,renderHeaderExtra:r,renderItemAction:s,onSelectToken:n,className:i,hideHeader:a}){let[l,d]=react.useState(false),[m,c]=react.useState(false),{tokens:p,isLoading:u}=Sn({chain:e,filters:t,isPaused:l,deferUpdates:m}),g=react.useCallback(f=>{d(f);},[]);return jsxRuntime.jsx(Ge,{title:o,tokens:p,isLoading:u,renderHeaderExtra:r,renderItemAction:s,onSelectToken:n,onPauseChange:g,onScrollingChange:c,className:i,hideHeader:a})}function Vd(e){return e.sort((t,o)=>{let r=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-r})}function Rn({chain:e,filters:t,isPaused:o=false,refetchInterval:r=15e3,deferUpdates:s=false,updateFlushInterval:n}){let i=react.useMemo(()=>({chain:e}),[e]),a=react.useRef(o);a.current=o;let l=react.useRef(e),[d,m]=react.useState(true),[c,p]=react.useState([]);react.useEffect(()=>{e!==l.current&&(m(true),p([]),l.current=e);},[e]);let{data:u,isPending:g}=react$1.useFinalStretchTokensQuery(i,{refetchInterval:r});react.useEffect(()=>{u&&(p(b=>{let T=a.current,N=b.length===0&&u.length>0,y=[...b];for(let P of u){let L=y.findIndex(M=>M.address===P.address);L>=0?y[L]=X(y[L],P):(!T||N)&&y.push(P);}return T?y:Vd(y)}),m(false));},[u]);let f=react.useCallback(b=>{p(T=>Re(T,b));},[]),{enqueueUpdates:x}=de({applyUpdates:f,paused:s,flushInterval:n});xe({chain:e,tokens:c,onUpdate:x});let k=react.useMemo(()=>g||d,[g,d]);return {tokens:react.useMemo(()=>le(c,t),[c,t]),isLoading:k}}function jb({chain:e,filters:t,title:o,renderHeaderExtra:r,renderItemAction:s,onSelectToken:n,className:i,hideHeader:a}){let[l,d]=react.useState(false),[m,c]=react.useState(false),{tokens:p,isLoading:u}=Rn({chain:e,filters:t,isPaused:l,deferUpdates:m}),g=react.useCallback(f=>{d(f);},[]);return jsxRuntime.jsx(Ge,{title:o,tokens:p,isLoading:u,renderHeaderExtra:r,renderItemAction:s,onSelectToken:n,onPauseChange:g,onScrollingChange:c,className:i,hideHeader:a})}var qd=10,Qd=utils$1.atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function zt(){let[e,t]=jotai.useAtom(Qd),o=react.useCallback(s=>{let n=s.trim();n&&t(i=>{let a=i.filter(l=>l!==n);return [n,...a].slice(0,qd)});},[t]),r=react.useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:r}}function Fn({histories:e,onSelect:t,onClear:o,className:r}){let{t:s}=i18n.useTranslation();return e.length===0?null:jsxRuntime.jsxs("div",{className:ui.cn("px-4 pb-4",r),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium",children:s("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 Un({onSelect:e,className:t}){let{histories:o,clearHistories:r}=zt();return jsxRuntime.jsx(Fn,{className:ui.cn(t),histories:o,onSelect:e,onClear:r})}function On({value:e,onValueChange:t,onClear:o,onEscape:r,className:s}){let{t:n}=i18n.useTranslation();return jsxRuntime.jsx("div",{className:s,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(),r?.();},children:"Esc"})})})}function qt({token:e,className:t}){let{t:o}=i18n.useTranslation(),r=hooks.useTickAge(e.createdAt),s=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(fe,{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(r)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 text-xs text-neutral",children:[jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.mcShort")," ",utils.formatMCapInUsd(n)]}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.liqShort")," ",utils.formatAmountInUsd(i)]})]})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsxRuntime.jsx("span",{className:"text-xs",children:utils.formatPriceInUsd(s)}),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 Qt({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 bc(){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 Xt({rows:e=6,className:t}){return jsxRuntime.jsx("div",{className:ui.cn("w-full",t),children:Array.from({length:e}).map((o,r)=>jsxRuntime.jsx(bc,{},r))})}function Vn({keyword:e,chains:t,limit:o=50}){let r=react.useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:s,isLoading:n,isFetchingNextPage:i,hasNextPage:a,fetchNextPage:l}=react$1.useSearchTokensInfiniteQuery(r,{enabled:!!e});return {tokens:react.useMemo(()=>s?.pages.flatMap(m=>m.data)??[],[s]),isLoading:n,isFetchingNextPage:i,hasNextPage:a??false,fetchNextPage:l}}var Pc=56;function $n({onSelectToken:e,className:t,...o}){let{tokens:r,isLoading:s,isFetchingNextPage:n,hasNextPage:i,fetchNextPage:a}=Vn(o),l=react.useRef(null),{height:d}=hooks.useResizeObserver({ref:l}),m=react.useCallback(g=>g<r.length,[r]),c=react.useCallback(async()=>{i&&!n&&await a();},[i,n,a]),p=react.useMemo(()=>i?r.length+1:r.length,[r,i]),u=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:m,loadMoreRows:c,rowCount:p,threshold:5});return s?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Qt,{}),jsxRuntime.jsx(Xt,{})]}):r.length===0?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Qt,{}),jsxRuntime.jsx(Ac,{})]}):jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(Qt,{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:Rc,rowCount:p,rowHeight:Pc,rowProps:{tokens:r,onSelectToken:e},overscanCount:5})})]})}function Rc({index:e,style:t,tokens:o,onSelectToken:r}){let s=o[e];return s?jsxRuntime.jsx("div",{style:t,onClick:()=>r?.(s),children:jsxRuntime.jsx(qt,{token:s})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})}function Ac(){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 Ic(e,t){return typeof e=="number"&&typeof t=="number"?e-t:String(e).localeCompare(String(t))}function Ze(e,t){let o=Object.keys(t??{})[0];if(!o)return e;let r=t?.[o];if(r!=="asc"&&r!=="desc")return e;let s=e.map((n,i)=>({token:n,index:i,value:_t(n,o)}));return s.every(({value:n})=>n===void 0)?e:s.sort((n,i)=>{let a=n.value===void 0,l=i.value===void 0;if(a&&l)return n.index-i.index;if(a)return 1;if(l)return -1;let d=Ic(n.value,i.value);return d===0?n.index-i.index:r==="asc"?d:-d}).map(({token:n})=>n)}function Zt({chain:e,resolution:t,filters:o,sortDirections:r,refetchInterval:s=3e4,deferUpdates:n=false,updateFlushInterval:i}){let a=react.useMemo(()=>({chain:e,resolution:t}),[e,t]),l=react.useRef(a),[d,m]=react.useState(true);react.useEffect(()=>{JSON.stringify(a)!==JSON.stringify(l.current)&&(m(true),p([]),l.current=a);},[a]);let[c,p]=react.useState([]),{data:u,isPending:g}=react$1.useTrendingTokensQuery(a,{refetchInterval:s});react.useEffect(()=>{u&&(p(T=>Vt(T,u)),m(false));},[u]);let f=react.useCallback(T=>{p(N=>Re(N,T));},[]),{enqueueUpdates:x}=de({applyUpdates:f,paused:n,flushInterval:i});react$1.useTrendingTokensSubscription({chain:e},x),xe({chain:e,tokens:c,onUpdate:x});let k=react.useMemo(()=>!!(g||d),[g,d]),h=react.useMemo(()=>le(c,o),[c,o]);return {tokens:react.useMemo(()=>Ze(h,r),[h,r]),isLoading:k}}var Ec=types.Chain.ETHEREUM,Dc="24h",Wc=56;function qn({chains:e,onSelectToken:t,className:o}){let r=e?.length===1?e[0]:e?.[0]??Ec,{tokens:s,isLoading:n}=Zt({chain:r,resolution:Dc});return jsxRuntime.jsx("div",{className:ui.cn("w-full flex flex-col overflow-hidden",o),children:n?jsxRuntime.jsx(Xt,{}):jsxRuntime.jsx("div",{className:"overflow-y-auto",children:s.map(i=>jsxRuntime.jsx("div",{style:{height:Wc},onClick:()=>t?.(i),children:jsxRuntime.jsx(qt,{token:i,className:"h-full"})},i.address))})})}function Xn({onKeywordChange:e}){let[t,o]=react.useState(""),[r,s]=react.useState(""),{addHistory:n}=zt(),i=hooks.useCallbackRef(e),a=hooks.useCallbackRef(n),l=react.useMemo(()=>utils.debounce(p=>{s(p),i(p),p&&a(p);},500),[i,a]),d=react.useCallback(p=>{o(p),l(p);},[l]),m=react.useCallback(p=>{l.cancel(),o(p),s(p),i(p),p&&a(p);},[l,i,a]),c=react.useCallback(()=>m(""),[m]);return {text:t,keyword:r,setText:d,setKeyword:m,clearKeyword:c}}function Yn({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:r}){let{text:s,keyword:n,setText:i,setKeyword:a,clearKeyword:l}=Xn({onKeywordChange:t});return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(On,{value:s,onValueChange:i,onClear:l,onPaste:a,onEscape:r}),n?jsxRuntime.jsx($n,{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(Un,{onSelect:a}),jsxRuntime.jsx(qn,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}var Ko="search";function $T({id:e=Ko}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(jc,{...t})})}function jc({params:e,isOpen:t,onOpenChange:o,onResult:r}){let{t:s}=i18n.useTranslation(),{isMobile:n}=ui.useScreen(),i=react.useCallback(a=>{r(a);},[r]);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:s("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(Yn,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function ZT({chains:e,onSelectToken:t,className:o}){let{t:r}=i18n.useTranslation(),{isDesktop:s}=ui.useScreen(),{onOpen:n,onClose:i}=uiScaffold.useAsyncModal(Ko),a=hooks.useCallbackRef(t),l=hooks.useCallbackRef(async()=>{let m=await n({params:{chains:e}});m&&a(m);}),d=hooks.useCallbackRef(()=>{i();});return react.useEffect(()=>{let m=c=>{let p=document.activeElement,u=!!p&&(p.tagName==="INPUT"||p.tagName==="TEXTAREA"||p.getAttribute("contenteditable")==="true");c.key==="/"&&!u&&(c.preventDefault(),l()),c.key==="Escape"&&(c.preventDefault(),d());};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m);}},[l,d]),s?jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",onPress:l,variant:"bordered",startContent:jsxRuntime.jsx(ui.SearchIcon,{width:16,height:16,className:"text-foreground"}),endContent:jsxRuntime.jsx(ui.Kbd,{className:"min-w-6 justify-center text-xs text-foreground bg-content3 rounded-lg",children:"/"}),className:ui.cn("w-56 min-w-0 h-8 min-h-0 border-transparent hover:border-border bg-content2 pl-3 pr-1.5 text-neutral",o),children:r("tokens.search.placeholder")}):jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",isIconOnly:true,onPress:l,variant:"bordered",className:ui.cn("w-8 min-w-0 h-8 min-h-0 border-1 border-border bg-content2",o),children:jsxRuntime.jsx(ui.SearchIcon,{width:16,height:16,className:"text-foreground"})})}function Tt(e){return e==null||e===""?"--":utils.formatPercent(Number(e)/100)}function ke(e,t=4,o=4){return e?e.length<=t+o+1?e:`${e.slice(0,t)}\u2026${e.slice(-o)}`:"--"}function Pe(e,t=Date.now()){if(e==null)return "--";let o=typeof e=="string"||typeof e=="number"?new Date(e):e,r=typeof t=="number"?new Date(t):t,s=Math.max(0,Math.floor((r.getTime()-o.getTime())/1e3));if(s<60)return `${s}s`;let n=Math.floor(s/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 U(e,t){let{data:o,isLoading:r}=react$1.useTokenQuery({chain:e,address:t}),[s,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=X(l,d);return l});}),{token:s,isLoading:r}}function je({label:e,totalFormatted:t,buysFormatted:o,sellsFormatted:r,totalValue:s=0,buysValue:n=0,className:i}){let a=new utils.SafeBigNumber(s??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: ",r]})]})]})}function rs({token:e,actions:t,dataStrip:o,className:r,onCopyAddress:s}){let n=e?.address;return jsxRuntime.jsxs("div",{className:ui.cn("flex w-full flex-wrap items-center gap-4 px-4 py-3",r),children:[jsxRuntime.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e&&jsxRuntime.jsx(fe,{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:()=>s?.(n),className:"flex items-center gap-1 text-[11px] text-default-400 transition-colors hover:text-foreground",title:n,children:[ke(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 ns(e,t){return U(e,t)}function is({price:e,marketCap:t,volume:o,holdersCount:r,socialMedia:s,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,r]}),jsxRuntime.jsx("div",{className:"ml-auto",children:s})]})}function _y(e,t){return U(e,t)}function ls({holders:e,top10HoldingsRatio:t,top100HoldingsRatio:o,className:r}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",r),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:Tt(t)}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:Tt(o)})]}),jsxRuntime.jsx("div",{className:"text-[10px] text-default-400",children:"Holders / Top10 / Top100"})]})}function ds(e,t){return U(e,t)}function cs({chain:e,address:t,className:o}){let{token:r}=ds(e,t);return jsxRuntime.jsx(ls,{holders:r?.marketData?.holders,top10HoldingsRatio:r?.marketData?.top10HoldingsRatio,top100HoldingsRatio:r?.marketData?.top100HoldingsRatio,className:o})}function ps({marketCapInUsd:e,tvlInUsd:t,createdAt:o,className:r}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",r),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:e?utils.formatMCapInUsd(e):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:t?utils.formatAmountInUsd(t):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:Pe(o)})]}),jsxRuntime.jsx("div",{className:"text-[10px] text-default-400",children:"MC / Liq / Age"})]})}function us(e,t){return U(e,t)}function fs({chain:e,address:t,className:o}){let{token:r}=us(e,t);return jsxRuntime.jsx(ps,{marketCapInUsd:r?.marketData?.marketCapInUsd,tvlInUsd:r?.marketData?.tvlInUsd,createdAt:r?.createdAt,className:o})}function ks({priceInUsd:e,price24hAgoInUsd:t,className:o}){let{bearish:r,priceChange:s}=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":r,children:[jsxRuntime.jsx("div",{className:"text-base font-medium leading-none text-bullish group-data-[bearish=true]:text-bearish",children:e?utils.formatPriceInUsd(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:s!=null?utils.formatPercent(s):"--"})]})]})}function bs(e,t){return U(e,t)}function hs({chain:e,address:t,className:o}){let{token:r}=bs(e,t);return jsxRuntime.jsx(ks,{priceInUsd:r?.marketData?.priceInUsd,price24hAgoInUsd:r?.stats?.["24h"]?.openPriceInUsd,className:o})}function Hm(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 Ts({socials:e,className:t,iconSize:o=16}){if(!e)return null;let s=["website","twitter","telegram","discord","github","reddit","youtube","medium"].filter(n=>!!e[n]);return s.length===0?null:jsxRuntime.jsx("div",{className:ui.cn("flex items-center gap-3",t),children:s.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:Hm(n,o)},n))})}function ys(e,t){return U(e,t)}function vs({chain:e,address:t,className:o,iconSize:r}){let{token:s}=ys(e,t);return jsxRuntime.jsx(Ts,{socials:s?.socialMedias,className:o,iconSize:r})}function Cs({volumesInUsd:e,trades:t,traders:o,className:r}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",r),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:e?utils.formatAmountInUsd(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 ws(e,t){return U(e,t)}function Ls({chain:e,address:t,className:o}){let{token:r}=ws(e,t),s=r?.stats?.["24h"];return jsxRuntime.jsx(Cs,{volumesInUsd:s?.volumesInUsd,trades:s?.trades,traders:s?.traders,className:o})}function Ps({chain:e,address:t,className:o}){return jsxRuntime.jsx(is,{className:o,price:jsxRuntime.jsx(hs,{chain:e,address:t}),marketCap:jsxRuntime.jsx(fs,{chain:e,address:t}),volume:jsxRuntime.jsx(Ls,{chain:e,address:t}),holdersCount:jsxRuntime.jsx(cs,{chain:e,address:t}),socialMedia:jsxRuntime.jsx(vs,{chain:e,address:t})})}function N0({chain:e,address:t,actions:o,dataStrip:r,className:s,onCopyAddress:n}){let{token:i}=ns(e,t);return jsxRuntime.jsx(rs,{token:i,actions:o,dataStrip:r===void 0?jsxRuntime.jsx(Ps,{chain:e,address:t}):r,className:s,onCopyAddress:n})}var Wm=[{value:"holdingUsd",label:"Value"},{value:"lastActiveAt",label:"Last active"}];function Is({holders:e,isLoading:t,sortBy:o,onSortByChange:r,onlyTracked:s=false,onOnlyTrackedChange:n,onLoadMore:i,hasMore:a,now:l=Date.now(),wellKnownAddresses:d,className:m,renderAddress:c}){let p=s?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:s,onChange:u=>n?.(u.target.checked)}),"Only Tracked"]})]}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:Wm.map(u=>jsxRuntime.jsx("button",{type:"button",onClick:()=>r(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(Vm,{holder:u,now:l,wellKnownAddresses:d,renderAddress:c},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 Vm({holder:e,now:t,wellKnownAddresses:o,renderAddress:r}){let s=o?.[e.address],n=react.useMemo(()=>r?r(e.address):s?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:s}):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-default-500",children:ke(e.address,6,6)}),[e.address,r,s]);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(Ft,{tags:e.tags,max:3})}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:utils.formatAmountInUsd(e.amountInUsd)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:Tt(e.ratio)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.startHoldingAt?Pe(e.startHoldingAt,t):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.lastActiveAt?Pe(e.lastActiveAt,t):"--"})]})}function Fs({chain:e,address:t,limit:o=50,initialSortBy:r="holdingUsd"}){let[s,n]=react.useState(r),[i,a]=react.useState(void 0),[l,d]=react.useState([]),m=react.useCallback(()=>{a(void 0),d([]);},[]),c=react.useCallback(T=>{T!==s&&(n(T),m());},[s,m]);react.useEffect(()=>{m();},[e,t,m]);let p=react.useMemo(()=>({chain:e,address:t,cursor:i,limit:o,sortBy:s}),[e,t,i,o,s]),{data:u,isPending:g,isFetching:f}=react$1.useTokenHoldersQuery(p);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 x=react.useMemo(()=>l.flatMap(T=>T.data),[l]),k=l[l.length-1],h=!!(k?.hasNext&&k.endCursor),b=react.useCallback(()=>{!k?.endCursor||!k.hasNext||a(k.endCursor);},[k]);return {holders:x,isLoading:g||f,sortBy:s,setSortBy:c,hasMore:h,loadMore:b}}function K0({chain:e,address:t,limit:o,initialSortBy:r,initialOnlyTracked:s=false,wellKnownAddresses:n,className:i,renderAddress:a}){let[l,d]=react.useState(s),{holders:m,isLoading:c,sortBy:p,setSortBy:u,hasMore:g,loadMore:f}=Fs({chain:e,address:t,limit:o,initialSortBy:r});return jsxRuntime.jsx(Is,{holders:m,isLoading:c,sortBy:p,onSortByChange:u,onlyTracked:l,onOnlyTrackedChange:d,wellKnownAddresses:n,hasMore:g,onLoadMore:f,className:i,renderAddress:a})}var Gm=[{value:"timestamp",label:"Latest"},{value:"totalUsd",label:"Top USD"}],Xm=[{value:"all",label:"All"},{value:"buy",label:"Buys"},{value:"sell",label:"Sells"}],Jm=[{value:"all",label:"All"},{value:"dev",label:"DEV"},{value:"tracked",label:"TRACKED"},{value:"you",label:"YOU"}];function Us({activities:e,isLoading:t,sortBy:o,onSortByChange:r,typeFilter:s="all",onTypeFilterChange:n,traderFilter:i="all",onTraderFilterChange:a,youWalletAddress:l,currency:d="usd",onCurrencyChange:m,onLoadMore:c,hasMore:p,now:u=Date.now(),nativeDecimals:g=9,nativeSymbol:f="SOL",className:x,onRowClick:k}){let h=Zm(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:[Xm.map(b=>jsxRuntime.jsx("button",{type:"button",onClick:()=>n?.(b.value),className:ui.cn("rounded px-2 py-1 text-[11px] transition-colors",s===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}),Jm.map(b=>{let T=i===b.value,N=b.value==="you"&&!l;return jsxRuntime.jsx("button",{type:"button",disabled:N,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",N&&"cursor-not-allowed opacity-50"),children:b.label},b.value)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(jm,{value:d,nativeSymbol:f,onChange:m}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:Gm.map(b=>jsxRuntime.jsx("button",{type:"button",onClick:()=>r(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(tp,{activity:b,now:u,nativeDecimals:g,nativeSymbol:f,currency:d,onRowClick:k},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:c,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function Ym(e){return e.type==="buy"?e.to:e.type==="sell"?e.from:e.to}function Zm(e,t,o){if(t==="all")return e;if(t==="you"){if(!o)return [];let s=o.toLowerCase();return e.filter(n=>n.walletAddress?.toLowerCase()===s)}if(t==="dev")return e.filter(s=>s.traderTags?.some(n=>n==="dev"));let r=new Set(["kol","smart","bluechip"]);return e.filter(s=>s.traderTags?.some(n=>r.has(n)))}function jm({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(s=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(s.k),className:ui.cn("rounded px-2 transition-colors",e===s.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:s.label},s.k))})}function ep(e,t,o){if(!e)return "--";let r=Number(e)/Math.pow(10,t);return Number.isFinite(r)?`${utils.formatAmount(r)} ${o}`:"--"}function tp({activity:e,now:t,nativeDecimals:o,nativeSymbol:r,currency:s,onRowClick:n}){let i=Ym(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:ke(e.walletAddress,6,6)}),jsxRuntime.jsx(Er,{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:s==="native"&&i.amountInNative?`${utils.formatAmount(i.amountInNative)} ${i.symbol}`:i.amountInUsd?utils.formatAmountInUsd(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:ep(e.gasFee,o,r)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:Pe(e.time,t)})]})}function Es({chain:e,address:t,limit:o=50,initialSortBy:r,initialTypeFilter:s="all"}){let[n,i]=react.useState(r),[a,l]=react.useState(s),[d,m]=react.useState(void 0),[c,p]=react.useState([]),[u,g]=react.useState([]),f=react.useCallback(()=>{m(void 0),p([]),g([]);},[]),x=react.useCallback(B=>{B!==n&&(i(B),f());},[n,f]),k=react.useCallback(B=>{B!==a&&(l(B),f());},[a,f]);react.useEffect(()=>{f();},[e,t,f]);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:N,isFetching:y}=react$1.useTokenActivitiesQuery(b);react.useEffect(()=>{T&&p(B=>d==null?[T]:B[B.length-1]?.endCursor===T.endCursor?B:[...B,T]);},[T,d]);let P=(n==null||n==="timestamp")&&a==="all"&&d==null;react$1.useTokenActivitiesSubscription({chain:e,address:t},B=>{!P||!B?.length||g(ie=>{let E=new Set(ie.map(_=>_.txHash)),H=B.filter(_=>!E.has(_.txHash));return H.length===0?ie:[...H,...ie].slice(0,100)});});let L=react.useMemo(()=>{let B=c.flatMap(H=>H.data);if(!P||u.length===0)return B;let ie=new Set(B.map(H=>H.txHash));return [...u.filter(H=>!ie.has(H.txHash)),...B]},[c,u,P]),M=c[c.length-1],te=!!(M?.hasNext&&M.endCursor),Se=react.useCallback(()=>{!M?.endCursor||!M.hasNext||m(M.endCursor);},[M]);return {activities:L,isLoading:N||y,sortBy:n,setSortBy:x,typeFilter:a,setTypeFilter:k,hasMore:te,loadMore:Se}}function dN({chain:e,address:t,limit:o,initialSortBy:r,initialTypeFilter:s,initialTraderFilter:n="all",initialCurrency:i="usd",youWalletAddress:a,nativeDecimals:l,nativeSymbol:d,className:m,onRowClick:c}){let[p,u]=react.useState(n),[g,f]=react.useState(i),{activities:x,isLoading:k,sortBy:h,setSortBy:b,typeFilter:T,setTypeFilter:N,hasMore:y,loadMore:P}=Es({chain:e,address:t,limit:o,initialSortBy:r,initialTypeFilter:s});return jsxRuntime.jsx(Us,{activities:x,isLoading:k,sortBy:h,onSortByChange:b,typeFilter:T,onTypeFilterChange:N,traderFilter:p,onTraderFilterChange:u,youWalletAddress:a,currency:g,onCurrencyChange:f,hasMore:y,onLoadMore:P,className:m,nativeDecimals:l,nativeSymbol:d,onRowClick:c})}function Ws({stats:e,resolution:t,className:o}){let r=e?.[t],s=r?.traders??0,n=r?.buyers??0,i=r?.sellers??0;return jsxRuntime.jsx(je,{className:o,label:`Traders (${t})`,totalFormatted:utils.formatAmount(s),buysFormatted:utils.formatAmount(n),sellsFormatted:utils.formatAmount(i),totalValue:s,buysValue:n})}function Vs(e,t){return U(e,t)}function SN({chain:e,address:t,resolution:o="24h",className:r}){let{token:s}=Vs(e,t);return jsxRuntime.jsx(Ws,{stats:s?.stats,resolution:o,className:r})}function _s({stats:e,resolution:t,className:o}){let r=e?.[t],s=r?.trades??0,n=r?.buys??0,i=r?.sells??0;return jsxRuntime.jsx(je,{className:o,label:`Transactions (${t})`,totalFormatted:utils.formatAmount(s),buysFormatted:utils.formatAmount(n),sellsFormatted:utils.formatAmount(i),totalValue:s,buysValue:n})}function $s(e,t){return U(e,t)}function DN({chain:e,address:t,resolution:o="24h",className:r}){let{token:s}=$s(e,t);return jsxRuntime.jsx(_s,{stats:s?.stats,resolution:o,className:r})}function Ks({stats:e,resolution:t,className:o}){let r=e?.[t],s=r?.volumesInUsd??"0",n=r?.buyVolumesInUsd??"0",i=r?.sellVolumesInUsd??"0";return jsxRuntime.jsx(je,{className:o,label:`Volume (${t})`,totalFormatted:utils.formatAmountInUsd(s),buysFormatted:utils.formatAmountInUsd(n),sellsFormatted:utils.formatAmountInUsd(i),totalValue:s,buysValue:n})}function zs(e,t){return U(e,t)}function eS({chain:e,address:t,resolution:o="24h",className:r}){let{token:s}=zs(e,t);return jsxRuntime.jsx(Ks,{stats:s?.stats,resolution:o,className:r})}function qs({security:e,externalUrl:t,externalLabel:o,className:r}){let s=[{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=s.every(i=>i.value!==void 0&&i.value===i.safeWhen);return jsxRuntime.jsxs("section",{className:ui.cn("flex w-full flex-col gap-3",r),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:s.map(i=>jsxRuntime.jsx(mp,{...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 mp({title:e,value:t,safeWhen:o,description:r}){let s=t!==void 0&&t===o,n=t===void 0?"--":s?"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:r,children:e}),jsxRuntime.jsx("span",{className:ui.cn("text-xs",t===void 0?"text-default-400":s?"text-success-500":"text-danger-500"),children:n})]})}function Qs(e,t){let{data:o,isLoading:r}=react$1.useTokenSecurityQuery({chain:e,address:t});return {security:o,isLoading:r}}function fS({chain:e,address:t,externalUrl:o,externalLabel:r,className:s}){let{security:n}=Qs(e,t);return jsxRuntime.jsx(qs,{security:n,externalUrl:o,externalLabel:r,className:s})}function Js({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 U(e,t)}function PS({chain:e,address:t,className:o}){let{token:r}=Ys(e,t);return jsxRuntime.jsx(Js,{token:r,className:o})}function ei({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:r,onPoolClick:s}){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",r),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.formatAmountInUsd(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",s&&"cursor-pointer hover:bg-default-50"),onClick:s?()=>s(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: ",ke(l.poolAddress,6,6)]})]}),jsxRuntime.jsx("div",{className:"text-default-500",children:utils.formatAmountInUsd(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 ti(e,t){return U(e,t)}function zS({chain:e,address:t,collapseAt:o,className:r,onPoolClick:s}){let{token:n}=ti(e,t);return jsxRuntime.jsx(ei,{liquidities:n?.liquidities,totalTvlInUsd:n?.marketData?.tvlInUsd,collapseAt:o,className:r,onPoolClick:s})}function oi({cexes:e,collapseAt:t=4,className:o}){let[r,s]=react.useState(!e||e.length<=t),n=react.useCallback(()=>s(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&&!r,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:r?"Show less":"Show more"})})]})}function ri(e){return {cexes:e}}function sC({cexes:e,collapseAt:t,className:o}){let{cexes:r}=ri(e);return jsxRuntime.jsx(oi,{cexes:r,collapseAt:t,className:o})}function si({categories:e,collapseAt:t=4,className:o,onCategoryClick:r}){let[s,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&&!s;return jsxRuntime.jsx(ui.Chip,{size:"sm",className:ui.cn("bg-default-100",d&&"hidden",r&&"cursor-pointer"),onClick:r?()=>r(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:s?"Show less":"Show more"})})]})}function ii(e,t){return U(e,t)}function TC({chain:e,address:t,collapseAt:o,className:r,onCategoryClick:s}){let{token:n}=ii(e,t);return jsxRuntime.jsx(si,{categories:n?.tags,collapseAt:o,className:r,onCategoryClick:s})}var ai=["5m","1h","4h","24h"];function li({stats:e,resolution:t,className:o}){let r=e?.[t],s=new utils.SafeBigNumber(r?.buyVolumesInUsd??0),n=new utils.SafeBigNumber(r?.sellVolumesInUsd??0),i=s.plus(n),a=s.minus(n),l=i.eq(0)?50:Math.min(100,Math.max(0,s.div(i).times(100).toNumber())),d=[{label:`${t} Vol`,value:utils.formatAmountInUsd(i.toString()),className:"text-foreground"},{label:"Buys",value:utils.formatAmountInUsd(s.toString()),className:"text-bullish"},{label:"Sells",value:utils.formatAmountInUsd(n.toString()),className:"text-bearish"},{label:"Net Vol.",value:utils.formatAmountInUsd(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(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 di({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(r=>{let n=e?.[r]?.priceChange,i=n?new utils.SafeBigNumber(n):void 0,a=i?i.gte(0):void 0,l=r,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})]},r)})})}function ci({chain:e,address:t}){let{data:o,isLoading:r}=react$1.useTokenStatsQuery({chain:e,address:t});return {stats:o,isLoading:r}}function OC({chain:e,address:t,baseResolution:o="5m",hoverResolutions:r=ai,height:s=64,className:n}){let{stats:i}=ci({chain:e,address:t});return jsxRuntime.jsx(uiScaffold.StatsFlipPanel,{className:n,height:s,base:jsxRuntime.jsx(li,{stats:i,resolution:o}),hover:jsxRuntime.jsx(di,{stats:i,resolutions:r})})}function mi({positions:e,isLoading:t,hasMore:o,onLoadMore:r,currency:s="usd",onCurrencyChange:n,showHidden:i=false,onShowHiddenChange:a,nativeSymbol:l="Native",renderActions:d,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:c=>a?.(c.target.checked)}),"Show Hidden"]})]}),jsxRuntime.jsx(Bp,{value:s,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(c=>jsxRuntime.jsx(Ep,{position:c,currency:s,renderActions:d},`${c.chain}:${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: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 Bp({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(s=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(s.k),className:ui.cn("rounded px-2 transition-colors",e===s.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:s.label},s.k))})}function Ep({position:e,currency:t,renderActions:o}){let{bought:r,sold:s,remaining:n,pnl:i}=react.useMemo(()=>Dp(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: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-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 Dp(e,t){let o=t==="usd"?e.buyVolumesInUsd:e.buyVolumes,r=t==="usd"?e.sellVolumesInUsd:e.sellVolumes,s=t==="usd"?e.amountInUsd:e.amount,n=e.totalProfitInUsd,i=t==="usd"?utils.formatAmountInUsd(o??0):utils.formatAmount(o??0),a=t==="usd"?utils.formatAmountInUsd(r??0):utils.formatAmount(r??0),l=t==="usd"?utils.formatAmountInUsd(s??0):utils.formatAmount(s??0),d=n?new utils.SafeBigNumber(n):void 0,m=d?d.gte(0):void 0,c=d?(m?"+":"")+utils.formatAmountInUsd(d.toString()):"--",p=e.totalProfitRatio?utils.formatPercent(e.totalProfitRatio,{showPlusGtThanZero:true}):void 0;return {bought:i,sold:a,remaining:l,pnl:{amount:c,ratio:p,isPositive:m}}}function fi({chain:e,wallet:t,limit:o=50,initialShowHidden:r=false}){let[s,n]=react.useState(void 0),[i,a]=react.useState([]),[l,d]=react.useState(r);react.useEffect(()=>{n(void 0),a([]);},[e,t]);let m=react.useMemo(()=>({chain:e,address:t??"",cursor:s,limit:o,positionState:"open"}),[e,t,s,o]),{data:c,isPending:p,isFetching:u}=react$1.useWalletTokenPositionsQuery(m,{enabled:!!t});react.useEffect(()=>{c&&a(h=>s==null?[c]:h[h.length-1]?.endCursor===c.endCursor?h:[...h,c]);},[c,s]);let g=react.useMemo(()=>i.flatMap(h=>h.portfolios),[i]),f=i[i.length-1],x=!!(f?.hasNext&&f.endCursor),k=react.useCallback(()=>{!f?.endCursor||!f.hasNext||n(f.endCursor);},[f]);return {positions:g,isLoading:!!t&&(p||u),hasMore:x,loadMore:k,showHidden:l,setShowHidden:d}}function ew({chain:e,wallet:t,limit:o,initialCurrency:r="usd",nativeSymbol:s,renderActions:n,className:i}){let[a,l]=react.useState(r),{positions:d,isLoading:m,hasMore:c,loadMore:p,showHidden:u,setShowHidden:g}=fi({chain:e,wallet:t,limit:o});return jsxRuntime.jsx(mi,{className:i,positions:d,isLoading:m,hasMore:c,onLoadMore:p,currency:a,onCurrencyChange:l,showHidden:u,onShowHiddenChange:g,nativeSymbol:s,renderActions:n})}function xi({orders:e,isLoading:t,unavailable:o,hasMore:r,onLoadMore:s,stateFilter:n,onStateFilterChange:i,onlyThisToken:a=false,onOnlyThisTokenChange:l,tokenSymbol:d,currency:m="usd",onCurrencyChange:c,nativeSymbol:p="Native",onCancelAll:u,renderActions:g,className:f}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",f),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))}),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:x=>l?.(x.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(Xp,{value:m,nativeSymbol:p,onChange:c})]})]}),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(Jp,{order:x,currency:m,renderActions:g},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&&r&&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 Xp({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(s=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(s.k),className:ui.cn("rounded px-2 transition-colors",e===s.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:s.label},s.k))})}function Jp({order:e,currency:t,renderActions:o}){let r=react.useMemo(()=>t==="usd"&&e.amountInUsd?utils.formatAmountInUsd(e.amountInUsd):utils.formatAmount(e.amount),[t,e.amount,e.amountInUsd]),s=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: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-default-500",children:e.currentMarketCapInUsd?utils.formatMCapInUsd(e.currentMarketCapInUsd):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:e.targetMarketCapInUsd?utils.formatMCapInUsd(e.targetMarketCapInUsd):e.targetPriceInUsd?utils.formatPriceInUsd(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 Zp(e){return e instanceof Error&&e.code==="NotImplemented"}function jp(e){return e==="active"?"active":"filled"}function Ti({chain:e,wallet:t,tokenAddress:o,limit:r=50,initialStateFilter:s="active",initialOnlyThisToken:n=false}){let[i,a]=react.useState(s),[l,d]=react.useState(n),[m,c]=react.useState(void 0),[p,u]=react.useState([]);react.useEffect(()=>{c(void 0),u([]);},[e,t,i,l,o]);let g=react.useCallback(M=>{M!==i&&a(M);},[i]),f=react.useMemo(()=>({chain:e,address:t??"",cursor:m,limit:r,state:jp(i),tokenAddress:l?o:void 0}),[e,t,m,r,i,l,o]),{data:x,isPending:k,isFetching:h,error:b}=react$1.useWalletLimitOrdersQuery(f,{enabled:!!t});react.useEffect(()=>{x&&u(M=>m==null?[x]:M[M.length-1]?.endCursor===x.endCursor?M:[...M,x]);},[x,m]);let T=!!b&&Zp(b),N=react.useMemo(()=>p.flatMap(M=>M.data),[p]),y=p[p.length-1],P=!!(y?.hasNext&&y.endCursor),L=react.useCallback(()=>{!y?.endCursor||!y.hasNext||c(y.endCursor);},[y]);return {orders:N,isLoading:!!t&&!T&&(k||h),unavailable:T,hasMore:P,loadMore:L,stateFilter:i,setStateFilter:g,onlyThisToken:l,setOnlyThisToken:d}}function bw({chain:e,wallet:t,tokenAddress:o,tokenSymbol:r,limit:s,initialStateFilter:n="active",initialCurrency:i="usd",nativeSymbol:a,onCancelAll:l,renderActions:d,className:m}){let[c,p]=react.useState(i),{orders:u,isLoading:g,unavailable:f,hasMore:x,loadMore:k,stateFilter:h,setStateFilter:b,onlyThisToken:T,setOnlyThisToken:N}=Ti({chain:e,wallet:t,tokenAddress:o,limit:s,initialStateFilter:n});return jsxRuntime.jsx(xi,{className:m,orders:u,isLoading:g,unavailable:f,hasMore:x,onLoadMore:k,stateFilter:h,onStateFilterChange:b,onlyThisToken:T,onOnlyThisTokenChange:N,tokenSymbol:r,currency:c,onCurrencyChange:p,nativeSymbol:a,onCancelAll:f?void 0:l,renderActions:d})}function vi({traders:e,isLoading:t,hasMore:o,onLoadMore:r,onlyTracked:s=false,onOnlyTrackedChange:n,now:i=Date.now(),renderAddress:a,className:l}){let{t:d}=i18n.useTranslation();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:d("tokens.tokenDetail.topTraders")}),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:s,onChange:m=>n?.(m.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(m=>jsxRuntime.jsx(su,{trader:m,now:i,renderAddress:a},m.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: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 su({trader:e,now:t,renderAddress:o}){let r=react.useMemo(()=>o?o(e.address):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-default-500",children:ke(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:r}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(Ft,{tags:e.tags,max:3})}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:utils.formatAmountInUsd(e.amountInUsd)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:utils.formatAmountInUsd(e.totalRealizedPnlInUsd)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.lastActiveAt?Pe(e.lastActiveAt,t):"--"})]})}function Si({chain:e,address:t,limit:o=50,initialSortBy:r,initialOnlyTracked:s=false}){let[n,i]=react.useState(r),[a,l]=react.useState(void 0),[d,m]=react.useState([]),[c,p]=react.useState(s),u=react.useCallback(()=>{l(void 0),m([]);},[]),g=react.useCallback(L=>{L!==n&&(i(L),u());},[u,n]);react.useEffect(()=>{u();},[e,t,u]);let f=react.useMemo(()=>({chain:e,address:t,cursor:a,limit:o,sortBy:n}),[e,t,a,o,n]),{data:x,isPending:k,isFetching:h}=react$1.useTokenTopTradersQuery(f);react.useEffect(()=>{x&&m(L=>a==null?[x]:L[L.length-1]?.endCursor===x.endCursor?L:[...L,x]);},[x,a]);let b=react.useMemo(()=>d.flatMap(L=>L.data),[d]),T=react.useMemo(()=>c?b.filter(L=>L.tags&&L.tags.length>0):b,[b,c]),N=d[d.length-1],y=!!(N?.hasNext&&N.endCursor),P=react.useCallback(()=>{!N?.endCursor||!N.hasNext||l(N.endCursor);},[N]);return {traders:T,isLoading:k||h,sortBy:n,setSortBy:g,hasMore:y,loadMore:P,onlyTracked:c,setOnlyTracked:p}}function Ew({chain:e,address:t,limit:o,className:r,renderAddress:s}){let{traders:n,isLoading:i,hasMore:a,loadMore:l,onlyTracked:d,setOnlyTracked:m}=Si({chain:e,address:t,limit:o});return jsxRuntime.jsx(vi,{className:r,traders:n,isLoading:i,hasMore:a,onLoadMore:l,onlyTracked:d,onOnlyTrackedChange:m,renderAddress:s})}function Li({tokens:e,isLoading:t,unavailable:o,hasMore:r,onLoadMore:s,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(cu,{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&&r&&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 cu({token:e,renderTokenLink:t}){let o=e.marketData?.marketCapInUsd??e.marketData?.marketCap,r=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.formatMCapInUsd(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:r?utils.formatAmountInUsd(r):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n?utils.formatAmountInUsd(n):"--"})]})}function Pi({tokens:e,className:t}){let o=e.length,r=e.filter(a=>!!a.migratedTo).length,s=o===0?0:Math.round(r/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(lo,{label:"Total",value:String(o)}),jsxRuntime.jsx(lo,{label:"Migrated",value:`${r} (${s}%)`}),jsxRuntime.jsx(lo,{label:"Total Market Cap",value:utils.formatMCapInUsd(i.toString())}),jsxRuntime.jsx(lo,{label:"Total 1h Volume",value:utils.formatAmountInUsd(n.toString())})]})]})}function lo({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 uu(e){return e instanceof Error&&e.code==="NotImplemented"}function Mi({chain:e,creator:t,limit:o=20}){let[r,s]=react.useState(void 0),[n,i]=react.useState([]);react.useEffect(()=>{s(void 0),i([]);},[e,t]);let a=react.useMemo(()=>({chain:e,creator:t??"",cursor:r,limit:o}),[e,t,r,o]),{data:l,isPending:d,isFetching:m,error:c}=react$1.useTokensByCreatorQuery(a,{enabled:!!t});react.useEffect(()=>{l&&i(k=>r==null?[l]:k[k.length-1]?.endCursor===l.endCursor?k:[...k,l]);},[l,r]);let p=!!c&&uu(c),u=react.useMemo(()=>n.flatMap(k=>k.data),[n]),g=n[n.length-1],f=!!(g?.hasNext&&g.endCursor),x=react.useCallback(()=>{!g?.endCursor||!g.hasNext||s(g.endCursor);},[g]);return {tokens:u,isLoading:!!t&&!p&&(d||m),unavailable:p,hasMore:f,loadMore:x}}function eL({chain:e,creator:t,limit:o,showSummary:r=false,renderTokenLink:s,className:n}){let{tokens:i,isLoading:a,unavailable:l,hasMore:d,loadMore:m}=Mi({chain:e,creator:t,limit:o});return jsxRuntime.jsxs("div",{className:n,children:[jsxRuntime.jsx(Li,{tokens:i,isLoading:a,unavailable:l,hasMore:d,onLoadMore:m,renderTokenLink:s}),r&&!l?jsxRuntime.jsx(Pi,{tokens:i}):null]})}function Bi({token:e,athInUsd:t,athAt:o,globalFeesPaidInUsd:r,rank:s,onTogglePin:n,pinned:i,className:a}){let l=e?.marketData?.priceInUsd,d=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(it,{label:"Price",value:l?utils.formatPriceInUsd(l):"--"}),jsxRuntime.jsx(it,{label:"Liquidity",value:d?utils.formatAmountInUsd(d):"--"}),jsxRuntime.jsx(it,{label:"Supply",value:m?utils.formatAmount(m):"--"}),r?jsxRuntime.jsx(it,{label:"Fees Paid",value:utils.formatAmountInUsd(r)}):null,t?jsxRuntime.jsx(it,{label:"ATH",value:utils.formatPriceInUsd(t),title:o?`All-time high at ${o.toLocaleDateString()}`:void 0}):null,s!==void 0?jsxRuntime.jsx(it,{label:"Rank",value:`#${s}`}):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 it({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 Di({chain:e,address:t}){return U(e,t)}function gL({chain:e,address:t,athInUsd:o,athAt:r,globalFeesPaidInUsd:s,rank:n,pinned:i,onTogglePin:a,className:l}){let{token:d}=Di({chain:e,address:t});return jsxRuntime.jsx(Bi,{className:l,token:d,athInUsd:o,athAt:r,globalFeesPaidInUsd:s,rank:n,pinned:i,onTogglePin:a})}function Wi({tokens:e,isLoading:t,unavailable:o,onTokenClick:r,className:s}){return o?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",s),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",s),children:"No similar tokens found."}):jsxRuntime.jsxs("ul",{className:ui.cn("flex flex-col",s),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",!r&&"cursor-default"),onClick:r?()=>r(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.formatMCapInUsd(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 Vi({chain:e,address:t,keyword:o,limit:r=10}){let s=!!o&&o.length>0,{data:n,isPending:i,isFetching:a}=react$1.useSearchTokensQuery({chains:[e],keyword:o,limit:r+1},{enabled:s});return {tokens:react.useMemo(()=>{if(!n)return [];let d=t.toLowerCase();return (n.data??[]).filter(m=>m.address.toLowerCase()!==d).slice(0,r)},[n,t,r]),isLoading:s&&(i||a),unavailable:!s}}function IL({chain:e,address:t,keyword:o,limit:r,onTokenClick:s,className:n}){let{tokens:i,isLoading:a,unavailable:l}=Vi({chain:e,address:t,keyword:o,limit:r});return jsxRuntime.jsx(Wi,{className:n,tokens:i,isLoading:a,unavailable:l,onTokenClick:s})}function _i({tokens:e=[],unavailable:t=true,onTokenClick:o,className:r}){return t?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"Image-similarity search is coming soon."}):e.length===0?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"No reused-image tokens found."}):jsxRuntime.jsx("div",{className:ui.cn("flex flex-row flex-wrap gap-2 p-3",r),children:e.map(s=>jsxRuntime.jsx("button",{type:"button",onClick:o?()=>o(s):void 0,className:"flex size-10 items-center justify-center overflow-hidden rounded-full border border-default-100 transition-opacity hover:opacity-80",title:s.symbol,children:jsxRuntime.jsx(ui.Avatar,{src:s.image??void 0,name:(s.symbol??"?").slice(0,1),className:"size-full bg-default-100 text-[10px] text-default-400",showFallback:true})},`${s.chain}:${s.address}`))})}function $i(e){return {tokens:[],isLoading:false,unavailable:true}}function KL({chain:e,address:t,onTokenClick:o,className:r}){let{tokens:s,unavailable:n}=$i();return jsxRuntime.jsx(_i,{className:r,tokens:s,unavailable:n,onTokenClick:o})}function Gi({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:r,className:s}){let{t:n}=i18n.useTranslation(),[i,a]=react.useState(e?.join(", ")??""),[l,d]=react.useState(t?.join(", ")??"");react.useEffect(()=>{a(p=>{let u=mo(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(()=>{d(p=>{let u=mo(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?.(mo(p));},[o]),c=react.useCallback(p=>{d(p),r?.(mo(p));},[r]);return jsxRuntime.jsxs("div",{className:ui.cn("grid grid-cols-2 gap-3 px-4",s),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:c})]})]})}function mo(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function ea({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:r}){let{t:s}=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]),d=react.useCallback(m=>()=>{if(n.includes(m)){let c=n.filter(p=>p!==m);i(c),o?.(c);}else {let c=[...n,m];i(c),o?.(c);}},[n,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-3 px-4",r),children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:s("tokens.filters.protocols.title")}),jsxRuntime.jsx(ui.Button,{variant:"light",color:"default",size:"sm",radius:"full",onPress:l,children:s(a?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(m=>{let c=Oe(m);return jsxRuntime.jsx(ui.Button,{variant:"bordered",size:"sm",radius:"full",className:ui.cn("w-fit h-6 px-2.5",c.text,c.bg5,"border",c.border,{"opacity-40 data-[hover=true]:!opacity-30":!n.includes(m)}),startContent:jsxRuntime.jsx(ui.Image,{width:14,height:14,src:`/images/protocols/${m}.svg`,alt:utils.formatTokenProtocolName(m)}),onPress:d(m),children:utils.formatTokenProtocolName(m)},m)})})]})}function ye({title:e,field:t,value:o,onChange:r}){let{t:s}=i18n.useTranslation(),[n,i]=react.useState(o?gr(o).min:NaN),[a,l]=react.useState(o?gr(o).max:NaN);react.useEffect(()=>{if(o===void 0)i(NaN),l(NaN);else {let{min:c,max:p}=gr(o);i(c),l(p);}},[o]);let d=react.useCallback(c=>{i(c),r?.(na(t,c,a));},[t,r,a]),m=react.useCallback(c=>{l(c),r?.(na(t,n,c));},[t,r,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:s("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui.StyledNumberInput,{value:a,onValueChange:m,variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function gr(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 na(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 ia({values:e,onValuesChange:t,className:o}){let{t:r}=i18n.useTranslation(),[s,n]=react.useState(e);react.useEffect(()=>{n(e);},[e]);let i=react.useCallback(a=>l=>{if(l===void 0){let d=(s??[]).filter(m=>m.field!==a);d=d.length>0?d:void 0,n(d),t?.(d);}else {let d=[...(s??[]).filter(m=>m.field!==a),l];n(d),t?.(d);}},[s,t]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",o),children:[jsxRuntime.jsx(ye,{field:"holders",title:r("tokens.filters.stats.audits.holders"),value:s?.find(a=>a.field==="holders"),onChange:i("holders")}),jsxRuntime.jsx(ye,{field:"top10Ratio",title:r("tokens.filters.stats.audits.top10HoldingsRatio"),value:s?.find(a=>a.field==="top10Ratio"),onChange:i("top10Ratio")}),jsxRuntime.jsx(ye,{field:"top100Ratio",title:r("tokens.filters.stats.audits.top100HoldingsRatio"),value:s?.find(a=>a.field==="top100Ratio"),onChange:i("top100Ratio")}),jsxRuntime.jsx(ye,{field:"creatorsRatio",title:r("tokens.filters.stats.audits.devHoldingsRatio"),value:s?.find(a=>a.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function aa({resolution:e,values:t,onValuesChange:o,className:r}){let{t:s}=i18n.useTranslation(),[n,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let a=react.useCallback(l=>d=>{if(d===void 0){let m=(n??[]).filter(c=>c.field!==l);m=m.length>0?m:void 0,i(m),o?.(m);}else {let m=[...(n??[]).filter(c=>c.field!==l),d];i(m),o?.(m);}},[n,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",r),children:[jsxRuntime.jsx(ye,{field:"marketCap",title:s("tokens.filters.stats.metrics.marketCap"),value:n?.find(l=>l.field==="marketCap"),onChange:a("marketCap")}),jsxRuntime.jsx(ye,{field:"tvl",title:s("tokens.filters.stats.metrics.liquidity"),value:n?.find(l=>l.field==="tvl"),onChange:a("tvl")}),jsxRuntime.jsx(ye,{field:`volumes${e}`,title:s("tokens.filters.stats.metrics.volumes",{resolution:s(`common.resolution.${e}`)}),value:n?.find(l=>l.field===`volumes${e}`),onChange:a(`volumes${e}`)}),jsxRuntime.jsx(ye,{field:`trades${e}`,title:s("tokens.filters.stats.metrics.txns",{resolution:s(`common.resolution.${e}`)}),value:n?.find(l=>l.field===`trades${e}`),onChange:a(`trades${e}`)})]})}function ua({resolution:e,values:t,onValuesChange:o,className:r}){let{t:s}=i18n.useTranslation(),[n,i]=react.useState("audits"),[a,l]=react.useState(t);react.useEffect(()=>{l(t);},[t]);let d=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]),c=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",r),children:[jsxRuntime.jsxs(ui.StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:n,onSelectionChange:i,children:[jsxRuntime.jsx(ui.Tab,{title:m===0?s("tokens.filters.stats.audits"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:m,shape:"circle",children:s("tokens.filters.stats.audits")})},"audits"),jsxRuntime.jsx(ui.Tab,{title:c===0?s("tokens.filters.stats.metrics"):jsxRuntime.jsx(ui.StyledBadge,{color:"primary",size:"sm",content:c,shape:"circle",children:s("tokens.filters.stats.metrics")})},"metrics")]}),jsxRuntime.jsx(ia,{values:a,onValuesChange:d,className:ui.cn({hidden:n!=="audits"})}),jsxRuntime.jsx(aa,{values:a,onValuesChange:d,resolution:e,className:ui.cn({hidden:n!=="metrics"})})]})}function ho({protocols:e,resolution:t,filters:o,onFiltersChange:r,className:s}){let[n,i]=react.useState(fa(o?.filters,e));react.useEffect(()=>{i(fa(o?.filters,e));},[o?.filters,e]);let[a,l]=react.useState(o?.keywords);react.useEffect(()=>{l(o?.keywords);},[o?.keywords]);let[d,m]=react.useState(o?.excludeKeywords);react.useEffect(()=>{m(o?.excludeKeywords);},[o?.excludeKeywords]);let[c,p]=react.useState(o?.filters);react.useEffect(()=>{p(o?.filters);},[o?.filters]);let u=react.useCallback(k=>{i(k),r?.(bo(e,k,a,d,c));},[e,a,d,c,r]),g=react.useCallback(k=>{l(k),r?.(bo(e,n,k,d,c));},[e,n,d,c,r]),f=react.useCallback(k=>{m(k),r?.(bo(e,n,a,k,c));},[e,n,a,c,r]),x=react.useCallback(k=>{p(k),r?.(bo(e,n,a,d,k));},[e,n,a,d,r]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",s),children:[e&&e.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(ea,{protocols:e,selectedProtocols:n,onSelectedProtocolsChange:u}),jsxRuntime.jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}})]}),jsxRuntime.jsx(Gi,{keywords:a,excludeKeywords:d,onKeywordsChange:g,onExcludeKeywordsChange:f}),jsxRuntime.jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}}),jsxRuntime.jsx(ua,{resolution:t,values:c,onValuesChange:x})]})}function fa(e,t){let o=e?.find(r=>r.field==="launchedFromProtocolFamily");return o?o.operator==="in"?o.value:(console.warn("invalid token protocols filter",o),[...t||[]]):[...t||[]]}function bo(e,t,o,r,s){let n=s?[...s.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&&r===void 0&&n.length===0?void 0:{keywords:o,excludeKeywords:r,filters:n.length>0?n:void 0}}function ba({protocols:e,resolution:t,filters:o,onFiltersChange:r,triggerVariant:s="default",badgePlacement:n="outer",className:i}){let{t:a}=i18n.useTranslation(),{isOpen:l,onOpen:d,onClose:m,onOpenChange:c}=ui.useDisclosure(),[p,u]=react.useState(o),g=react.useCallback(()=>{u(void 0);},[]),f=react.useCallback(()=>{r?.(p),m();},[p,r,m]);react.useEffect(()=>{u(o);},[l,o]);let x=react.useMemo(()=>Object.values(o||{}).every(k=>k===void 0),[o]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("button",{type:"button",className:i,onClick:d,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:9999,border:s==="plain"?"none":"1px solid rgba(63,63,70,0.5)",background:s==="plain"?"transparent":"rgba(39,39,42,0.6)",width:32,height:32,minHeight:32,padding:0,cursor:"pointer",position:"relative"},children:[jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"text-zinc-400"}),!x&&jsxRuntime.jsx("span",{style:{position:"absolute",top:n==="icon"?6:-2,right:n==="icon"?6:-2,width:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),jsxRuntime.jsx(ui.StyledModal,{isOpen:l,onOpenChange:c,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:a("tokens.filters.modal.title")})}),jsxRuntime.jsx(ui.ModalBody,{className:"px-0 pt-0 pb-4",children:jsxRuntime.jsx(ui.ScrollShadow,{children:jsxRuntime.jsx(ho,{protocols:e,resolution:t,filters:p,onFiltersChange:u,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:g,children:a("common.reset")}),jsxRuntime.jsx(ui.Button,{color:"primary",size:"sm",radius:"full",onPress:f,children:a("common.apply")})]})})]})})]})}var va={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},bf={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"},hf={height:1,background:"rgba(39,39,42,1)",margin:0};function Na({protocols:e,resolution:t,filters:o,onFiltersChange:r,iconOnly:s=false,className:n}){let{t:i}=i18n.useTranslation(),[a,l]=react.useState(false),d=react.useRef(null),[m,c]=react.useState(o),p=react.useCallback(()=>{c(void 0);},[]),u=react.useCallback(()=>{r?.(m),l(false);},[m,r]);react.useEffect(()=>{c(o);},[a,o]),react.useEffect(()=>{let f=x=>{d.current&&!d.current.contains(x.target)&&l(false);};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[]),react.useEffect(()=>{if(!a)return;let f=x=>{x.key==="Escape"&&l(false);};return document.addEventListener("keydown",f),()=>document.removeEventListener("keydown",f)},[a]);let g=react.useMemo(()=>Object.values(o||{}).every(f=>f===void 0),[o]);return jsxRuntime.jsxs("div",{ref:d,style:{position:"relative"},children:[jsxRuntime.jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxRuntime.jsxs("button",{type:"button",className:n,style:s?{...va,justifyContent:"center",gap:0,width:32,minWidth:32,padding:0}:va,onMouseEnter:f=>{f.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:f=>{f.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>l(f=>!f),children:[jsxRuntime.jsx(ui.FilterIcon,{width:16,height:16,className:"flex-none"}),!s&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"hidden sm:block",children:i("tokens.listHeader.filter")}),jsxRuntime.jsx(Tf,{open:a})]})]}),!g&&jsxRuntime.jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),a&&jsxRuntime.jsxs("div",{style:{...bf,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(ho,{protocols:e,resolution:t,filters:m,onFiltersChange:c})})}),jsxRuntime.jsx("div",{style:hf}),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:p,children:i("common.reset")}),jsxRuntime.jsx(ui.Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:u,children:i("common.apply")})]})]})]})}function Tf({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 O1({popoverPlacement:e="bottom-end",iconOnly:t,className:o,desktopOverlay:r="popover",...s}){let{isMobile:n}=ui.useScreen();return n||r==="modal"?jsxRuntime.jsx(ba,{className:o,...s}):jsxRuntime.jsx(Na,{placement:e,iconOnly:t,className:o,...s})}function wa({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:r}=i18n.useTranslation(),s=react.useCallback(n=>{t?.(n);},[t]);return jsxRuntime.jsx(ui.StyledPlainTabs,{color:"primary",radius:"lg",selectedKey:e,onSelectionChange:s,"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:r(`common.resolution.${n}`)},n))})}var Ff={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},Uf={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 Pa({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:r}=i18n.useTranslation(),[s,n]=react.useState(false),i=react.useRef(null),a=react.useCallback(l=>{t?.(l),n(false);},[t]);return react.useEffect(()=>{if(!s)return;let l=m=>{i.current&&!i.current.contains(m.target)&&n(false);},d=m=>{m.key==="Escape"&&n(false);};return document.addEventListener("mousedown",l),document.addEventListener("keydown",d),()=>{document.removeEventListener("mousedown",l),document.removeEventListener("keydown",d);}},[s]),jsxRuntime.jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxRuntime.jsxs("button",{type:"button",style:Ff,onClick:()=>n(l=>!l),children:[jsxRuntime.jsx("span",{children:e?r(`common.resolution.${e}`):"\u2014"}),jsxRuntime.jsx(ui.ChevronDownIcon,{width:14,height:14,className:"text-zinc-500",style:{transition:"transform 0.15s",transform:s?"rotate(180deg)":void 0}})]}),s&&jsxRuntime.jsx("div",{style:Uf,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:r(`common.resolution.${l}`)},l))})]})}function j1(e){let{isMobile:t}=ui.useScreen();return t?jsxRuntime.jsx(Pa,{...e}):jsxRuntime.jsx(wa,{...e})}var Ia=react.memo(function({token:t}){let{t:o}=i18n.useTranslation(),r=react.useMemo(()=>t.marketData?.bluechipHoldingsRatio,[t.marketData?.bluechipHoldingsRatio]),s=react.useMemo(()=>r!==void 0&&new utils.SafeBigNumber(r).gte(.1),[r]),n=react.useMemo(()=>r===void 0||new utils.SafeBigNumber(r).lt(.05),[r]);return jsxRuntime.jsx(ui.StyledTooltip,{content:o("tokens.bluechip.explained"),children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2.5",children:[s&&jsxRuntime.jsx(ui.HorsePowerHighIcon,{}),n&&jsxRuntime.jsx(ui.HorsePowerLowIcon,{}),!s&&!n&&jsxRuntime.jsx(ui.HorsePowerIcon,{}),jsxRuntime.jsx("span",{className:ui.cn(s&&"text-bullish",!s&&!n&&"text-bearish",r===void 0&&"text-neutral"),children:utils.formatPercent(r)})]})})});function sg(e){return e.length<=10?e:`${e.slice(0,4)}...${e.slice(-4)}`}var Ea=react.memo(function({token:t}){let o=ui.useCopyToClipboard(),[r,s]=react.useState(false),[n,i]=react.useState(false),a=react.useRef(void 0),l=react.useRef(void 0),{t:d}=i18n.useTranslation(),m=react.useCallback(u=>{u.preventDefault(),u.stopPropagation(),o(t.name,()=>{ui.toast.success(d("tokens.copied.name")),s(true),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{s(false);},2e3);});},[o,t.name,d]),c=react.useCallback(u=>{u.preventDefault(),u.stopPropagation(),o(t.address,()=>{ui.toast.success(d("tokens.copied.address")),i(true),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{i(false);},2e3);});},[o,t.address,d]);react.useEffect(()=>()=>{a.current&&clearTimeout(a.current),l.current&&clearTimeout(l.current);},[]);let p=hooks.useTickAge(t.createdAt);return jsxRuntime.jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsxRuntime.jsx(fe,{token:t,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:t.symbol}),jsxRuntime.jsx(ui.StyledTooltip,{content:t.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:m,children:[jsxRuntime.jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:t.name}),r?jsxRuntime.jsx(ui.CheckIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"}):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(p)}),jsxRuntime.jsxs("button",{type:"button",className:"group flex items-center gap-1 min-w-0 max-w-28 sm:max-w-36 text-neutral hover:text-primary-200 cursor-pointer",onClick:c,"aria-label":d("tokens.copied.address"),children:[jsxRuntime.jsx("span",{className:"min-w-0 truncate text-left text-xs font-mono text-neutral/70 group-hover:text-primary-200",children:sg(t.address)}),n?jsxRuntime.jsx(ui.CheckIcon,{className:"flex-none w-3 h-3"}):jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3 h-3"})]}),t.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:t.socialMedias.website,className:"max-sm:hidden 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"})}),t.socialMedias?.twitter&&jsxRuntime.jsx(ui.Link,{href:t.socialMedias.twitter,className:"max-sm:hidden 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"})}),t.socialMedias?.telegram&&jsxRuntime.jsx(ui.Link,{href:t.socialMedias.telegram,className:"max-sm:hidden 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"})}),t.socialMedias?.discord&&jsxRuntime.jsx(ui.Link,{href:t.socialMedias.discord,className:"max-sm:hidden 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(`${t.symbol} OR ${t.address}`),className:"max-sm:hidden 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 Da=react.memo(function({token:t}){let{t:o}=i18n.useTranslation(),r=t.marketData,s=react.useMemo(()=>new utils.SafeBigNumber(r?.top10HoldingsRatio).gte(.1),[r?.top10HoldingsRatio]),n=react.useMemo(()=>new utils.SafeBigNumber(r?.devHoldingsRatio).gte(.1),[r?.devHoldingsRatio]),i=react.useMemo(()=>new utils.SafeBigNumber(r?.sniperHoldingsRatio).gte(.1),[r?.sniperHoldingsRatio]),a=react.useMemo(()=>new utils.SafeBigNumber(r?.insiderHoldingsRatio).gte(.1),[r?.insiderHoldingsRatio]),l=react.useMemo(()=>new utils.SafeBigNumber(r?.bundleHoldingsRatio).gte(.1),[r?.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(z,{icon:jsxRuntime.jsx(ui.PeopleIcon,{width:12,height:12}),value:utils.formatAmount(r?.holders),tooltip:o("tokens.tokenInfo.holders"),warning:false,disable:!r?.holders}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.KlineCandlesIcon,{width:12,height:12}),value:utils.formatAmount(r?.proHolders),tooltip:o("tokens.tokenInfo.proHolders"),warning:false,disable:!r?.proHolders}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.StarIcon,{width:12,height:12}),value:utils.formatAmount(r?.kolHolders),tooltip:o("tokens.tokenInfo.kolHolders"),warning:false,disable:!r?.kolHolders}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(r?.top10HoldingsRatio),tooltip:o("tokens.tokenInfo.top10HoldingsRatio"),warning:s,disable:!r?.top10HoldingsRatio||r?.top10HoldingsRatio==="0"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(r?.devHoldingsRatio),tooltip:o("tokens.tokenInfo.devHoldingsRatio"),warning:n,disable:!r?.devHoldingsRatio||r?.devHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(r?.sniperHoldingsRatio),tooltip:o("tokens.tokenInfo.sniperHoldingsRatio"),warning:i,disable:!r?.sniperHoldingsRatio||r?.sniperHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(r?.insiderHoldingsRatio),tooltip:o("tokens.tokenInfo.insiderHoldingsRatio"),warning:a,disable:!r?.insiderHoldingsRatio||r?.insiderHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(r?.bundleHoldingsRatio),tooltip:o("tokens.tokenInfo.bundleHoldingsRatio"),warning:l,disable:!r?.bundleHoldingsRatio||r?.bundleHoldingsRatio==="0",tooltipPlacement:"bottom"})]})]})});var Wa=react.memo(function({token:t}){let o=react.useMemo(()=>t.marketData?.tvlInUsd,[t.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountInUsd(o)})});var Va=react.memo(function({token:t}){let o=react.useMemo(()=>t.marketData?.marketCapInUsd,[t.marketData?.marketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatMCapInUsd(o)})});var Ka=react.memo(function({token:t,resolution:o}){let r=react.useMemo(()=>t.marketData?.priceInUsd,[t.marketData?.priceInUsd]),s=react.useMemo(()=>t.stats?.[o]?.priceChange,[t,o]),n=react.useMemo(()=>s?new utils.SafeBigNumber(s).abs().toString():void 0,[s]),i=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.formatPriceInUsd(r)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex gap-1 items-center text-xs",i?"text-bullish":"text-bearish"),children:[i?jsxRuntime.jsx(ui.TriangleUpIcon,{width:10,height:10}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:10,height:10}),jsxRuntime.jsx("span",{children:utils.formatPercent(n)})]})]})});var qa=react.memo(function({token:t,resolution:o}){let r=react.useMemo(()=>t.stats?.[o]?.traders,[t.stats?.[o]?.traders]),s=react.useMemo(()=>t.stats?.[o]?.buyers,[t.stats?.[o]?.buyers]),n=react.useMemo(()=>t.stats?.[o]?.sellers,[t.stats?.[o]?.sellers]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(r)}),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(n)})]})]})});var Ga=react.memo(function({token:t,resolution:o}){let r=react.useMemo(()=>t.stats?.[o]?.trades,[t.stats?.[o]?.trades]),s=react.useMemo(()=>t.stats?.[o]?.buys,[t.stats?.[o]?.buys]),n=react.useMemo(()=>t.stats?.[o]?.sells,[t.stats?.[o]?.sells]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(r)}),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(n)})]})]})});var Ja=react.memo(function({token:t,resolution:o}){let r=react.useMemo(()=>t.stats?.[o]?.volumesInUsd,[t.stats?.[o]?.volumesInUsd]),s=react.useMemo(()=>t.stats?.[o]?.buyVolumesInUsd,[t.stats?.[o]?.buyVolumesInUsd]),n=react.useMemo(()=>t.stats?.[o]?.sellVolumesInUsd,[t.stats?.[o]?.sellVolumesInUsd]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmountInUsd(r)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmountInUsd(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmountInUsd(n)})]})]})});var Ug=`
|
|
21
|
+
`})]})}function jr({token:e,renderAction:t,isLast:o=false,onSelectToken:r,className:s}){let{t:n}=i18n.useTranslation(),i=ui$1.useCopyToClipboard(),l=hooks.useTickAge(e.createdAt),a=e.marketData,c=e.stats?.["1h"],m=react.useCallback(()=>{r?.(e);},[r,e]),d=react.useCallback(U=>{U.stopPropagation(),i(e.address,()=>ui$1.toast.success(n("tokens.copied.address")));},[i,e.address,n]),u=react.useMemo(()=>c?.volumesInUsd,[c?.volumesInUsd]),p=react.useMemo(()=>c?.buyVolumesInUsd,[c?.buyVolumesInUsd]),f=react.useMemo(()=>c?.sellVolumesInUsd,[c?.sellVolumesInUsd]),x=react.useMemo(()=>c?.trades,[c?.trades]),g=react.useMemo(()=>a?.marketCapInUsd,[a?.marketCapInUsd]),b=react.useMemo(()=>a?.tvlInUsd,[a?.tvlInUsd]),k=react.useMemo(()=>{let U=new utils.SafeBigNumber(g);return U.lt(1e3)?"text-foreground":U.lt(1e6)?"text-secondary":"text-primary"},[g]),y=react.useMemo(()=>new utils.SafeBigNumber(a?.top10HoldingsRatio).gte(.1),[a?.top10HoldingsRatio]),h=react.useMemo(()=>new utils.SafeBigNumber(a?.devHoldingsRatio).gte(.1),[a?.devHoldingsRatio]),v=react.useMemo(()=>new utils.SafeBigNumber(a?.insiderHoldingsRatio).gte(.1),[a?.insiderHoldingsRatio]),T=react.useMemo(()=>new utils.SafeBigNumber(a?.sniperHoldingsRatio).gte(.1),[a?.sniperHoldingsRatio]),P=react.useMemo(()=>new utils.SafeBigNumber(a?.bundleHoldingsRatio).gte(.1),[a?.bundleHoldingsRatio]),[A,w]=react.useMemo(()=>{let U=Number(c?.buys??0),L=Number(c?.sells??0),E=U+L;if(E===0)return [12,12];let pe=Math.round(U/E*24);return [pe,24-pe]},[c?.buys,c?.sells]),$=a?.holders!==void 0&&a.holders>0,ue=a?.proHolders!==void 0&&a.proHolders>0,J=a?.kolHolders!==void 0&&a.kolHolders>0,B=$||ue||J;return jsxRuntime.jsxs("div",{className:ui$1.cn("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer",s),style:{borderBottom:o?"none":"1px solid rgba(39,39,42,0.6)"},onClick:r?m: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(xe,{token:e,enableSearch:true,enablePreview:!!e.image,showProgress:true,className:"w-20 h-20"}),jsxRuntime.jsxs("button",{type:"button",className:"text-xs font-mono text-neutral hover:text-foreground leading-none",onClick:d,"aria-label":n("tokens.copied.address"),title:n("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:d,"aria-label":n("tokens.copied.address"),title:n("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$1.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$1.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$1.Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:U=>U.stopPropagation(),children:jsxRuntime.jsx(ui$1.WebsiteIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:U=>U.stopPropagation(),children:jsxRuntime.jsx(ui$1.TwitterIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:U=>U.stopPropagation(),children:jsxRuntime.jsx(ui$1.TelegramIcon,{className:"w-3.5 h-3.5"})}),jsxRuntime.jsx(ui$1.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"max-sm:hidden text-neutral hover:text-primary",target:"_blank",onClick:U=>U.stopPropagation(),children:jsxRuntime.jsx(ui$1.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",{className:ui$1.cn(k),children:utils.formatMCapInUsd(g)})]}),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.formatAmountInUsd(b)})]})]}),B&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-neutral leading-none",children:[$&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:n("tokens.tokenInfo.holders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.PeopleIcon,{className:"w-3 h-3 text-neutral"}),utils.formatAmount(a?.holders)]})}),ue&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:n("tokens.tokenInfo.proHolders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.KlineCandlesIcon,{className:"w-3 h-3 text-neutral"}),utils.formatAmount(a?.proHolders)]})}),J&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:n("tokens.tokenInfo.kolHolders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.StarIcon,{className:"w-3 h-3 text-neutral"}),utils.formatAmount(a?.kolHolders)]})})]})]}),jsxRuntime.jsxs("div",{className:"flex-none flex flex-col items-end gap-2.5 leading-none font-mono",children:[jsxRuntime.jsx("div",{className:"flex flex-col items-end gap-1",children:jsxRuntime.jsx("span",{className:ui$1.cn("text-base font-bold leading-none",k),children:utils.formatMCapInUsd(g)})}),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.formatAmountInUsd(u)})]}),jsxRuntime.jsxs("span",{className:"text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmountInUsd(p)}),jsxRuntime.jsx("span",{className:"text-neutral/50 mx-0.5",children:"/"}),jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmountInUsd(f)})]})]}),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(x)})]})]})]}),jsxRuntime.jsxs("div",{className:"mt-2.5 flex items-start gap-4 relative",children:[jsxRuntime.jsx(ui$1.HorizontalScrollContainer,{className:"flex-auto min-w-0",forceShowArrows:true,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(a?.top10HoldingsRatio),tooltip:n("tokens.tokenInfo.top10HoldingsRatio"),warning:y,disable:!a?.top10HoldingsRatio||a?.top10HoldingsRatio==="0"}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.CookIcon,{width:12,height:12}),value:utils.formatPercent(a?.devHoldingsRatio),tooltip:n("tokens.tokenInfo.devHoldingsRatio"),warning:h,disable:!a?.devHoldingsRatio||a?.devHoldingsRatio==="0"}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.SniperIcon,{width:12,height:12}),value:utils.formatPercent(a?.sniperHoldingsRatio),tooltip:n("tokens.tokenInfo.sniperHoldingsRatio"),warning:T,disable:!a?.sniperHoldingsRatio||a?.sniperHoldingsRatio==="0"}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.RatIcon,{width:12,height:12}),value:utils.formatPercent(a?.insiderHoldingsRatio),tooltip:n("tokens.tokenInfo.insiderHoldingsRatio"),warning:v,disable:!a?.insiderHoldingsRatio||a?.insiderHoldingsRatio==="0"}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(a?.bundleHoldingsRatio),tooltip:n("tokens.tokenInfo.bundleHoldingsRatio"),warning:P,disable:!a?.bundleHoldingsRatio||a?.bundleHoldingsRatio==="0"})]})}),t&&jsxRuntime.jsx("div",{className:"flex-none relative",onClick:U=>U.stopPropagation(),children:t(e)})]})]})}var kd=152,tn=10;function bd({index:e,style:t,data:o,skeletonCount:r,renderItemAction:s,onSelectToken:n}){if(!o)return jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Uo,{isLast:e===r-1})});let i=o[e];return i?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(jr,{token:i,isLast:e===o.length-1,renderAction:s,onSelectToken:n})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Uo,{isLast:e===o.length-1})})}function Xe({title:e,tokens:t,isLoading:o,itemHeight:r=kd,renderHeaderExtra:s,renderItemAction:n,onSelectToken:i,onPauseChange:l,onScrollingChange:a,className:c,hideHeader:m}){let d=o||!t?void 0:t,u=d?d.length:tn,p=react.useMemo(()=>({data:d,skeletonCount:tn,renderItemAction:n,onSelectToken:i}),[d,n,i]),[f,x]=react.useState(false),g=react.useRef(void 0),b=react.useRef(false),k=react.useCallback(()=>{x(true),l?.(true);},[l]),y=react.useCallback(()=>{x(false),l?.(false);},[l]),h=react.useCallback(()=>{b.current||(b.current=true,a?.(true)),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{b.current=false,a?.(false);},180);},[a]);return react.useEffect(()=>()=>{g.current&&clearTimeout(g.current),b.current&&a?.(false);},[a]),jsxRuntime.jsxs("div",{className:ui$1.cn("w-full h-full bg-[#0a0a0b] overflow-hidden flex flex-col border border-[rgba(39,39,42,0.6)] rounded-lg",c),onMouseEnter:k,onMouseLeave:y,children:[!m&&jsxRuntime.jsx(Or,{title:e,isPaused:f,extra:s}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",onScrollCapture:h,children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:u,rowHeight:r,rowComponent:bd,rowProps:p,overscanCount:10})})]})}function Eo(e,t){let o={...e};for(let r of Object.keys(t))t[r]!==void 0&&(o[r]=t[r]);return o}var Td=["1m","5m","15m","30m","1h","4h","24h"];function yd(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let r of Td)t[r]&&(o[r]=e[r]?Eo(e[r],t[r]):t[r]);return o}function vd(e,t){return t?e?Eo(e,t):t:e}function Kt(e,t){return t?e?Eo(e,t):t:e}function Y(e,t){let{chain:o,address:r,stats:s,marketData:n,socialMedias:i,security:l,launchedFrom:a,migratedTo:c,...m}=t,d={...e};for(let u of Object.keys(m))m[u]!==void 0&&(d[u]=m[u]);return d.stats=yd(e.stats,s),d.marketData=vd(e.marketData,n),d.socialMedias=Kt(e.socialMedias,i),d.security=Kt(e.security,l),d.launchedFrom=Kt(e.launchedFrom,a),d.migratedTo=Kt(e.migratedTo,c),d}function zt(e,t){let o=new Map(e.map(r=>[r.address,r]));return t.map(r=>{let s=o.get(r.address);return s?Y(s,r):r})}function Sd(e){return e.chain!==void 0&&e.address!==void 0&&e.address!==""&&e.name!==void 0&&e.symbol!==void 0&&e.decimals!==void 0}function Ae(e,t){if(t.length===0)return e;let o=[...e],r=false;for(let s of t){let n=o.findIndex(i=>i.address===s.address);if(n>=0){o[n]=Y(o[n],s),r=true;continue}Sd(s)&&(o.push(s),r=true);}return r?o:e}var Cd=["24h","12h","30m","15m","30s","15s","1m","5m","1h","4h","1s"],wd=new Set(["price","marketCap","tvl","holders","top10Holdings","top10Ratio","top100Holdings","top100Ratio","creatorsHoldings","creatorsRatio","createdAt","launchedFromProtocolFamily","migratedToProtocolFamily","tag"]),Ld=new Set(["priceChange","volumes","trades","traders","buys","sells"]);function j(e){if(e==null||e==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}function rn(e){for(let t of Cd){if(!e.endsWith(t))continue;let o=e.slice(0,-t.length);return o?{metric:o,resolution:t}:void 0}}function nn(e){if(wd.has(e))return true;let t=rn(e);return t?Ld.has(t.metric):false}function qt(e,t){switch(t){case "price":return j(e.marketData?.priceInUsd);case "marketCap":return j(e.marketData?.marketCapInUsd);case "tvl":return j(e.marketData?.tvlInUsd);case "holders":return j(e.marketData?.holders);case "top10Holdings":return j(e.marketData?.top10Holdings);case "top10Ratio":return j(e.marketData?.top10HoldingsRatio);case "top100Holdings":return j(e.marketData?.top100Holdings);case "top100Ratio":return j(e.marketData?.top100HoldingsRatio);case "creatorsHoldings":return j(e.marketData?.devHoldings);case "creatorsRatio":return j(e.marketData?.devHoldingsRatio);case "createdAt":return e.createdAt?.getTime();case "launchedFromProtocolFamily":return on(e,e.launchedFrom?.protocolFamily);case "migratedToProtocolFamily":return on(e,e.migratedTo?.protocolFamily);case "tag":return e.tags?.[0];}let o=rn(t);if(!o)return;let r=e.stats?.[o.resolution];switch(o.metric){case "priceChange":return j(r?.priceChange);case "volumes":return j(r?.volumesInUsd);case "trades":return j(r?.trades);case "traders":return j(r?.traders);case "buys":return j(r?.buys);case "sells":return j(r?.sells);default:return}}function on(e,t){if(t)return utils.parseTokenProtocolFamily(e.chain,t)??t}var Pd=new Set(["top10Ratio","top100Ratio","creatorsRatio"]);function sn(e){let t=e.trim().toLowerCase();return t.length>0?t:void 0}function Rd(e){return [e.name,e.symbol].filter(Boolean).join(" ").toLowerCase()}function Ad(e){return Array.isArray(e)?e:void 0}function Id(e){return Array.isArray(e)?void 0:e}function an(e,t){if(!Pd.has(e))return t;let o=Number(t);return Number.isFinite(o)?o/100:t}function ke(e,t){let o=Id(t);return o===void 0?void 0:an(e,o)}function Wo(e,t){return Ad(t)?.map(o=>an(e,o))}function Je(e,t){if(typeof e=="number"){let o=Number(t);return Number.isFinite(o)?e-o:void 0}if(typeof e=="string")return e.localeCompare(String(t))}function Qt(e,t){if(typeof e=="number"){let o=Number(t);return Number.isFinite(o)&&e===o}return String(e)===String(t)}function Hd(e,t){if(!nn(t.field))return false;let o=qt(e,t.field),r=o===void 0;if(t.operator==="isNull")return r;if(t.operator==="isNotNull")return !r;if(r)return false;switch(t.operator){case "eq":{let s=ke(t.field,t.value);return s!==void 0&&Qt(o,s)}case "ne":{let s=ke(t.field,t.value);return s!==void 0&&!Qt(o,s)}case "gt":{let s=ke(t.field,t.value),n=s!==void 0?Je(o,s):void 0;return n!==void 0&&n>0}case "gte":{let s=ke(t.field,t.value),n=s!==void 0?Je(o,s):void 0;return n!==void 0&&n>=0}case "lt":{let s=ke(t.field,t.value),n=s!==void 0?Je(o,s):void 0;return n!==void 0&&n<0}case "lte":{let s=ke(t.field,t.value),n=s!==void 0?Je(o,s):void 0;return n!==void 0&&n<=0}case "between":{let s=Wo(t.field,t.value);if(!s||s.length<2)return false;let n=Je(o,s[0]),i=Je(o,s[1]);return n!==void 0&&i!==void 0&&n>=0&&i<=0}case "in":{let s=Wo(t.field,t.value);return s?s.some(n=>Qt(o,n)):false}case "nin":{let s=Wo(t.field,t.value);return s?s.every(n=>!Qt(o,n)):false}case "contains":{let s=ke(t.field,t.value);return s!==void 0&&String(o).includes(String(s))}case "notContains":{let s=ke(t.field,t.value);return s!==void 0&&!String(o).includes(String(s))}case "startsWith":{let s=ke(t.field,t.value);return s!==void 0&&String(o).startsWith(String(s))}case "endsWith":{let s=ke(t.field,t.value);return s!==void 0&&String(o).endsWith(String(s))}default:return false}}function le(e,t){let o=t?.keywords?.map(sn).filter(n=>n!==void 0),r=t?.excludeKeywords?.map(sn).filter(n=>n!==void 0),s=t?.filters;return !o?.length&&!r?.length&&!s?.length?e:e.filter(n=>{let i=Rd(n);return !(o?.length&&!o.some(l=>i.includes(l))||r?.length&&r.some(l=>i.includes(l))||s?.length&&!s.every(l=>Hd(n,l)))})}function de({applyUpdates:e,paused:t=false,flushInterval:o=500}){let r=react.useRef(e),s=react.useRef(t),n=react.useRef([]),i=react.useRef(),l=react.useRef();r.current=e,s.current=t;let a=react.useCallback(()=>{i.current!==void 0&&(clearTimeout(i.current),i.current=void 0),l.current!==void 0&&(cancelAnimationFrame(l.current),l.current=void 0);},[]),c=react.useCallback(()=>{if(a(),s.current){i.current=setTimeout(c,o);return}let u=n.current;u.length!==0&&(n.current=[],r.current(u));},[a,o]),m=react.useCallback(()=>{i.current!==void 0||l.current!==void 0||(i.current=setTimeout(()=>{i.current=void 0,l.current=requestAnimationFrame(()=>{l.current=void 0,c();});},o));},[c,o]),d=react.useCallback(u=>{u.length!==0&&(n.current.push(...u),m());},[m]);return react.useEffect(()=>{t||c();},[c,t]),react.useEffect(()=>a,[a]),{enqueueUpdates:d,flush:c}}function un({chain:e,tokens:t,onUpdate:o,enabled:r=true}){let{subscribeClient:s}=react$1.useDexClient(),n=react.useRef(new Map),i=react.useRef(o);i.current=o;let l=react.useMemo(()=>Array.from(new Set(t.map(m=>m.address.trim()).filter(Boolean))).sort().join(","),[t]),a=react.useMemo(()=>l?l.split(","):[],[l]),c=()=>{n.current.forEach(m=>m.unsubscribe()),n.current.clear();};react.useEffect(()=>c,[e,s,r]),react.useEffect(()=>{if(!r){c();return}let m=new Set(a),d=n.current;for(let[u,p]of d)m.has(u)||(p.unsubscribe(),d.delete(u));for(let u of a)d.has(u)||d.set(u,s.subscribeToken(e,u,p=>{i.current(p);}));},[a,e,r,s]);}var Od=80;function bn(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 Bd(e,t,o){return e===t?o:e===o?t:o||t}function _o(e){let t=e.token?.address??e.tokenAAddress??"",o=e.token;return {...o,chain:e.chain,address:t,name:o?.name??"",symbol:o?.symbol??"",decimals:o?.decimals??0,createdAt:o?.createdAt??e.createdAt,liquidities:[{poolAddress:e.poolAddress,pairAddress:Bd(t,e.tokenAAddress,e.tokenBAddress),image:e.dex?.image,programAddress:e.dex?.programAddress,protocolFamily:e.dex?.protocolFamily,protocolName:e.dex?.protocolName}]}}function Ed(e){return {...bn(_o(e)),...e.token??{},liquidities:_o(e).liquidities,createdAt:e.token?.createdAt??e.createdAt}}function kn(e){return e.sort((t,o)=>{let r=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-r}),e.slice(0,Od)}function hn({chain:e,filters:t,isPaused:o=false,deferUpdates:r=false,updateFlushInterval:s}){let n=react.useMemo(()=>({chain:e}),[e]),i=react.useRef(o);i.current=o;let l=react.useRef(e),[a,c]=react.useState(true),[m,d]=react.useState([]);react.useEffect(()=>{e!==l.current&&(c(true),d([]),l.current=e);},[e]);let{data:u,isPending:p}=react$1.useNewPoolsQuery(n);react.useEffect(()=>{u&&(d(y=>{let h=i.current,v=y.length===0&&u.length>0,T=[...y];for(let P of u){let A=Ed(P),w=T.findIndex($=>$.address===A.address);w>=0?T[w]=Y(T[w],A):(!h||v)&&T.push(A);}return h?T:kn(T)}),c(false));},[u]);let f=react.useCallback(y=>{d(h=>{let v=i.current,T=[...h],P=false;for(let A of y){let w=T.findIndex($=>$.address===A.address);w>=0?(P=true,T[w]=Y(T[w],A)):v||(P=true,T.push(bn(A)));}return P?v?T:kn(T):h});},[]),{enqueueUpdates:x}=de({applyUpdates:f,paused:r,flushInterval:s}),g=react.useCallback(y=>{x(y.map(_o));},[x]);react$1.useNewPoolsSubscription({chain:e},g),react$1.useNewTokensMetadataSubscription({chain:e},x),un({chain:e,tokens:m,onUpdate:x});let b=react.useMemo(()=>p||a,[p,a]);return {tokens:react.useMemo(()=>le(m,t),[m,t]),isLoading:b}}function Mb({chain:e,filters:t,title:o,renderHeaderExtra:r,renderItemAction:s,onSelectToken:n,className:i,hideHeader:l}){let[a,c]=react.useState(false),[m,d]=react.useState(false),{tokens:u,isLoading:p}=hn({chain:e,filters:t,isPaused:a,deferUpdates:m}),f=react.useCallback(x=>{c(x);},[]);return jsxRuntime.jsx(Xe,{title:o,tokens:u,isLoading:p,renderHeaderExtra:r,renderItemAction:s,onSelectToken:n,onPauseChange:f,onScrollingChange:d,className:i,hideHeader:l})}function be({chain:e,tokens:t,onUpdate:o,enabled:r=true}){let{subscribeClient:s}=react$1.useDexClient(),n=react.useRef(new Map),i=react.useRef(o);i.current=o;let l=react.useMemo(()=>Array.from(new Set(t.map(m=>m.address.trim()).filter(Boolean))).sort().join(","),[t]),a=react.useMemo(()=>l?l.split(","):[],[l]),c=()=>{n.current.forEach(m=>m.unsubscribe()),n.current.clear();};react.useEffect(()=>c,[e,s,r]),react.useEffect(()=>{if(!r){c();return}let m=new Set(a),d=n.current;for(let[u,p]of d)m.has(u)||(p.unsubscribe(),d.delete(u));for(let u of a)d.has(u)||d.set(u,s.subscribeToken(e,u,p=>{i.current(p);}));},[a,e,r,s]);}function Ln({chain:e,filters:t,isPaused:o=false,refetchInterval:r=3e4,deferUpdates:s=false,updateFlushInterval:n}){let i=react.useMemo(()=>({chain:e}),[e]),l=react.useRef(o);l.current=o;let a=react.useRef(e),[c,m]=react.useState(true),[d,u]=react.useState([]);react.useEffect(()=>{e!==a.current&&(m(true),u([]),a.current=e);},[e]);let{data:p,isPending:f}=react$1.useMigratedTokensQuery(i,{refetchInterval:r});react.useEffect(()=>{p&&(u(y=>{let h=l.current,v=[...y];for(let T of p){let P=v.findIndex(A=>A.address===T.address);P>=0?v[P]=Y(v[P],T):h||v.unshift(T);}return v}),m(false));},[p]);let x=react.useCallback(y=>{u(h=>Ae(h,y));},[]),{enqueueUpdates:g}=de({applyUpdates:x,paused:s,flushInterval:n});be({chain:e,tokens:d,onUpdate:g});let b=react.useMemo(()=>f||c,[f,c]);return {tokens:react.useMemo(()=>le(d,t),[d,t]),isLoading:b}}function Jb({chain:e,filters:t,title:o,renderHeaderExtra:r,renderItemAction:s,onSelectToken:n,className:i,hideHeader:l}){let[a,c]=react.useState(false),[m,d]=react.useState(false),{tokens:u,isLoading:p}=Ln({chain:e,filters:t,isPaused:a,deferUpdates:m}),f=react.useCallback(x=>{c(x);},[]);return jsxRuntime.jsx(Xe,{title:o,tokens:u,isLoading:p,renderHeaderExtra:r,renderItemAction:s,onSelectToken:n,onPauseChange:f,onScrollingChange:d,className:i,hideHeader:l})}function Xd(e){return e.sort((t,o)=>{let r=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-r})}function Hn({chain:e,filters:t,isPaused:o=false,refetchInterval:r=15e3,deferUpdates:s=false,updateFlushInterval:n}){let i=react.useMemo(()=>({chain:e}),[e]),l=react.useRef(o);l.current=o;let a=react.useRef(e),[c,m]=react.useState(true),[d,u]=react.useState([]);react.useEffect(()=>{e!==a.current&&(m(true),u([]),a.current=e);},[e]);let{data:p,isPending:f}=react$1.useFinalStretchTokensQuery(i,{refetchInterval:r});react.useEffect(()=>{p&&(u(y=>{let h=l.current,v=y.length===0&&p.length>0,T=[...y];for(let P of p){let A=T.findIndex(w=>w.address===P.address);A>=0?T[A]=Y(T[A],P):(!h||v)&&T.push(P);}return h?T:Xd(T)}),m(false));},[p]);let x=react.useCallback(y=>{u(h=>Ae(h,y));},[]),{enqueueUpdates:g}=de({applyUpdates:x,paused:s,flushInterval:n});be({chain:e,tokens:d,onUpdate:g});let b=react.useMemo(()=>f||c,[f,c]);return {tokens:react.useMemo(()=>le(d,t),[d,t]),isLoading:b}}function ch({chain:e,filters:t,title:o,renderHeaderExtra:r,renderItemAction:s,onSelectToken:n,className:i,hideHeader:l}){let[a,c]=react.useState(false),[m,d]=react.useState(false),{tokens:u,isLoading:p}=Hn({chain:e,filters:t,isPaused:a,deferUpdates:m}),f=react.useCallback(x=>{c(x);},[]);return jsxRuntime.jsx(Xe,{title:o,tokens:u,isLoading:p,renderHeaderExtra:r,renderItemAction:s,onSelectToken:n,onPauseChange:f,onScrollingChange:d,className:i,hideHeader:l})}var ec=10,tc=utils$1.atomWithStorage("liberfi:search_histories",[],void 0,{getOnInit:true});function Xt(){let[e,t]=jotai.useAtom(tc),o=react.useCallback(s=>{let n=s.trim();n&&t(i=>{let l=i.filter(a=>a!==n);return [n,...l].slice(0,ec)});},[t]),r=react.useCallback(()=>{t([]);},[t]);return {histories:e,addHistory:o,clearHistories:r}}function On({histories:e,onSelect:t,onClear:o,className:r}){let{t:s}=i18n.useTranslation();return e.length===0?null:jsxRuntime.jsxs("div",{className:ui$1.cn("px-4 pb-4",r),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium",children:s("tokens.search.history")}),jsxRuntime.jsx(ui$1.Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsxRuntime.jsx(ui$1.TrashIcon,{width:20,height:20})})]}),jsxRuntime.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(n=>jsxRuntime.jsx(ui$1.Chip,{size:"sm",variant:"bordered",className:ui$1.cn("text-neutral","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(n),children:n},n))})]})}function Bn({onSelect:e,className:t}){let{histories:o,clearHistories:r}=Xt();return jsxRuntime.jsx(On,{className:ui$1.cn(t),histories:o,onSelect:e,onClear:r})}function En({value:e,onValueChange:t,onClear:o,onEscape:r,className:s}){let{t:n}=i18n.useTranslation();return jsxRuntime.jsx("div",{className:s,children:jsxRuntime.jsx(ui$1.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$1.SearchIcon,{width:20,height:20,className:"text-neutral"}),endContent:e?jsxRuntime.jsx(ui$1.Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-neutral",onPress:o,children:jsxRuntime.jsx(ui$1.XCloseIcon,{width:20,height:20})}):jsxRuntime.jsx(ui$1.Kbd,{className:"min-w-8 justify-center text-xs text-neutral bg-transparent border border-[rgba(63,63,70,0.5)] rounded-full cursor-pointer select-none",onMouseDown:i=>{i.preventDefault(),r?.();},children:"Esc"})})})}function Jt({token:e,className:t}){let{t:o}=i18n.useTranslation(),r=hooks.useTickAge(e.createdAt),s=react.useMemo(()=>e.marketData?.priceInUsd,[e]),n=react.useMemo(()=>e.marketData?.marketCapInUsd,[e]),i=react.useMemo(()=>e.marketData?.tvlInUsd,[e]),l=react.useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),a=react.useMemo(()=>l?new utils.SafeBigNumber(l).abs().toString():void 0,[l]),c=react.useMemo(()=>l!=null&&new utils.SafeBigNumber(l).gte(0),[l]);return jsxRuntime.jsxs("div",{className:ui$1.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(xe,{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(r)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 text-xs text-neutral",children:[jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.mcShort")," ",utils.formatMCapInUsd(n)]}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsxs("span",{children:[o("tokens.listHeader.liqShort")," ",utils.formatAmountInUsd(i)]})]})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsxRuntime.jsx("span",{className:"text-xs",children:utils.formatPriceInUsd(s)}),jsxRuntime.jsxs("span",{className:ui$1.cn("inline-flex gap-0.5 items-center text-xs",c?"text-bullish":"text-bearish"),children:[c?jsxRuntime.jsx(ui$1.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui$1.TriangleDownIcon,{width:8,height:8}),jsxRuntime.jsx("span",{children:utils.formatPercent(a)})]})]})]})}function Yt({className:e}){let{t}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui$1.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 wc(){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$1.Skeleton,{className:"flex-none w-8 h-8 rounded-full"}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxRuntime.jsx(ui$1.Skeleton,{className:"w-24 h-4 rounded-md"}),jsxRuntime.jsx(ui$1.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$1.Skeleton,{className:"w-14 h-4 rounded-md"}),jsxRuntime.jsx(ui$1.Skeleton,{className:"w-10 h-3 rounded-md"})]})]})}function jt({rows:e=6,className:t}){return jsxRuntime.jsx("div",{className:ui$1.cn("w-full",t),children:Array.from({length:e}).map((o,r)=>jsxRuntime.jsx(wc,{},r))})}function Kn({keyword:e,chains:t,limit:o=50}){let r=react.useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:s,isLoading:n,isFetchingNextPage:i,hasNextPage:l,fetchNextPage:a}=react$1.useSearchTokensInfiniteQuery(r,{enabled:!!e});return {tokens:react.useMemo(()=>s?.pages.flatMap(m=>m.data)??[],[s]),isLoading:n,isFetchingNextPage:i,hasNextPage:l??false,fetchNextPage:a}}var Dc=56;function qn({onSelectToken:e,className:t,...o}){let{tokens:r,isLoading:s,isFetchingNextPage:n,hasNextPage:i,fetchNextPage:l}=Kn(o),a=react.useRef(null),{height:c}=hooks.useResizeObserver({ref:a}),m=react.useCallback(f=>f<r.length,[r]),d=react.useCallback(async()=>{i&&!n&&await l();},[i,n,l]),u=react.useMemo(()=>i?r.length+1:r.length,[r,i]),p=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:m,loadMoreRows:d,rowCount:u,threshold:5});return s?jsxRuntime.jsxs("div",{className:ui$1.cn("w-full",t),children:[jsxRuntime.jsx(Yt,{}),jsxRuntime.jsx(jt,{})]}):r.length===0?jsxRuntime.jsxs("div",{className:ui$1.cn("w-full",t),children:[jsxRuntime.jsx(Yt,{}),jsxRuntime.jsx(Bc,{})]}):jsxRuntime.jsxs("div",{className:ui$1.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(Yt,{className:"flex-none"}),jsxRuntime.jsx("div",{className:"flex-auto min-h-0",ref:a,children:jsxRuntime.jsx(reactWindow.List,{style:{height:c},onRowsRendered:p,rowComponent:Oc,rowCount:u,rowHeight:Dc,rowProps:{tokens:r,onSelectToken:e},overscanCount:5})})]})}function Oc({index:e,style:t,tokens:o,onSelectToken:r}){let s=o[e];return s?jsxRuntime.jsx("div",{style:t,onClick:()=>r?.(s),children:jsxRuntime.jsx(Jt,{token:s})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui$1.Spinner,{size:"sm"})})}function Bc(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center py-16",children:[jsxRuntime.jsx(ui$1.EmptyIcon,{width:28,height:28,className:"text-neutral"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-neutral",children:e("tokens.search.noResults")})]})}function Ec(e,t){return typeof e=="number"&&typeof t=="number"?e-t:String(e).localeCompare(String(t))}function je(e,t){let o=Object.keys(t??{})[0];if(!o)return e;let r=t?.[o];if(r!=="asc"&&r!=="desc")return e;let s=e.map((n,i)=>({token:n,index:i,value:qt(n,o)}));return s.every(({value:n})=>n===void 0)?e:s.sort((n,i)=>{let l=n.value===void 0,a=i.value===void 0;if(l&&a)return n.index-i.index;if(l)return 1;if(a)return -1;let c=Ec(n.value,i.value);return c===0?n.index-i.index:r==="asc"?c:-c}).map(({token:n})=>n)}function oo({chain:e,resolution:t,filters:o,sortDirections:r,refetchInterval:s=3e4,deferUpdates:n=false,updateFlushInterval:i}){let l=react.useMemo(()=>({chain:e,resolution:t}),[e,t]),a=react.useRef(l),[c,m]=react.useState(true);react.useEffect(()=>{JSON.stringify(l)!==JSON.stringify(a.current)&&(m(true),u([]),a.current=l);},[l]);let[d,u]=react.useState([]),{data:p,isPending:f}=react$1.useTrendingTokensQuery(l,{refetchInterval:s});react.useEffect(()=>{p&&(u(h=>zt(h,p)),m(false));},[p]);let x=react.useCallback(h=>{u(v=>Ae(v,h));},[]),{enqueueUpdates:g}=de({applyUpdates:x,paused:n,flushInterval:i});react$1.useTrendingTokensSubscription({chain:e},g),be({chain:e,tokens:d,onUpdate:g});let b=react.useMemo(()=>!!(f||c),[f,c]),k=react.useMemo(()=>le(d,o),[d,o]);return {tokens:react.useMemo(()=>je(k,r),[k,r]),isLoading:b}}var qc=types.Chain.ETHEREUM,Qc="24h",Gc=56;function Xn({chains:e,onSelectToken:t,className:o}){let r=e?.length===1?e[0]:e?.[0]??qc,{tokens:s,isLoading:n}=oo({chain:r,resolution:Qc});return jsxRuntime.jsx("div",{className:ui$1.cn("w-full flex flex-col overflow-hidden",o),children:n?jsxRuntime.jsx(jt,{}):jsxRuntime.jsx("div",{className:"overflow-y-auto",children:s.map(i=>jsxRuntime.jsx("div",{style:{height:Gc},onClick:()=>t?.(i),children:jsxRuntime.jsx(Jt,{token:i,className:"h-full"})},i.address))})})}function Zn({onKeywordChange:e}){let[t,o]=react.useState(""),[r,s]=react.useState(""),{addHistory:n}=Xt(),i=hooks.useCallbackRef(e),l=hooks.useCallbackRef(n),a=react.useMemo(()=>utils.debounce(u=>{s(u),i(u),u&&l(u);},500),[i,l]),c=react.useCallback(u=>{o(u),a(u);},[a]),m=react.useCallback(u=>{a.cancel(),o(u),s(u),i(u),u&&l(u);},[a,i,l]),d=react.useCallback(()=>m(""),[m]);return {text:t,keyword:r,setText:c,setKeyword:m,clearKeyword:d}}function es({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:r}){let{text:s,keyword:n,setText:i,setKeyword:l,clearKeyword:a}=Zn({onKeywordChange:t});return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(En,{value:s,onValueChange:i,onClear:a,onPaste:l,onEscape:r}),n?jsxRuntime.jsx(qn,{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(Bn,{onSelect:l}),jsxRuntime.jsx(Xn,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}var Go="search";function ey({id:e=Go}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(am,{...t})})}function am({params:e,isOpen:t,onOpenChange:o,onResult:r}){let{t:s}=i18n.useTranslation(),{isMobile:n}=ui$1.useScreen(),i=react.useCallback(l=>{r(l);},[r]);return jsxRuntime.jsx(ui$1.StyledModal,{isOpen:t,onOpenChange:o,size:n?"full":"lg",hideCloseButton:true,backdrop:"blur",radius:"lg",children:jsxRuntime.jsxs(ui$1.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$1.ModalHeader,{className:"sm:hidden flex items-center justify-between pt-4 pb-2",children:[jsxRuntime.jsx("span",{className:"text-base font-semibold",children:s("tokens.search.title")}),jsxRuntime.jsx(ui$1.Button,{isIconOnly:true,onPress:()=>o(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsxRuntime.jsx(ui$1.XCloseIcon,{width:20,height:20})})]}),jsxRuntime.jsx(ui$1.ModalBody,{className:"p-4",children:jsxRuntime.jsx(es,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function dy({chains:e,onSelectToken:t,className:o}){let{t:r}=i18n.useTranslation(),{isDesktop:s}=ui$1.useScreen(),{onOpen:n,onClose:i}=uiScaffold.useAsyncModal(Go),l=hooks.useCallbackRef(t),a=hooks.useCallbackRef(async()=>{let m=await n({params:{chains:e}});m&&l(m);}),c=hooks.useCallbackRef(()=>{i();});return react.useEffect(()=>{let m=d=>{let u=document.activeElement,p=!!u&&(u.tagName==="INPUT"||u.tagName==="TEXTAREA"||u.getAttribute("contenteditable")==="true");d.key==="/"&&!p&&(d.preventDefault(),a()),d.key==="Escape"&&(d.preventDefault(),c());};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m);}},[a,c]),s?jsxRuntime.jsx(ui$1.Button,{size:"sm",radius:"full",onPress:a,variant:"bordered",startContent:jsxRuntime.jsx(ui$1.SearchIcon,{width:16,height:16,className:"text-foreground"}),endContent:jsxRuntime.jsx(ui$1.Kbd,{className:"min-w-6 justify-center text-xs text-foreground bg-content3 rounded-lg",children:"/"}),className:ui$1.cn("w-56 min-w-0 h-8 min-h-0 border-transparent hover:border-border bg-content2 pl-3 pr-1.5 text-neutral",o),children:r("tokens.search.placeholder")}):jsxRuntime.jsx(ui$1.Button,{size:"sm",radius:"full",isIconOnly:true,onPress:a,variant:"bordered",className:ui$1.cn("w-8 min-w-0 h-8 min-h-0 border-1 border-border bg-content2",o),children:jsxRuntime.jsx(ui$1.SearchIcon,{width:16,height:16,className:"text-foreground"})})}function yt(e){return e==null||e===""?"--":utils.formatPercent(Number(e)/100)}function he(e,t=4,o=4){return e?e.length<=t+o+1?e:`${e.slice(0,t)}\u2026${e.slice(-o)}`:"--"}function Re(e,t=Date.now()){if(e==null)return "--";let o=typeof e=="string"||typeof e=="number"?new Date(e):e,r=typeof t=="number"?new Date(t):t,s=Math.max(0,Math.floor((r.getTime()-o.getTime())/1e3));if(s<60)return `${s}s`;let n=Math.floor(s/60);if(n<60)return `${n}m`;let i=Math.floor(n/60);if(i<24)return `${i}h`;let l=Math.floor(i/24);if(l<30)return `${l}d`;let a=Math.floor(l/30);return a<12?`${a}mo`:`${Math.floor(l/365)}y`}function D(e,t){let{data:o,isLoading:r}=react$1.useTokenQuery({chain:e,address:t}),[s,n]=react.useState(o);return react.useEffect(()=>{o&&n(o);},[o]),react$1.useTokenSubscription({chain:e,address:t},i=>{i?.length&&n(l=>{if(!l)return l;let a=l;for(let c of i)a=Y(a,c);return a});}),{token:s,isLoading:r}}function et({label:e,totalFormatted:t,buysFormatted:o,sellsFormatted:r,totalValue:s=0,buysValue:n=0,className:i}){let l=new utils.SafeBigNumber(s??0),a=new utils.SafeBigNumber(n??0),c=l.eq(0)?0:a.div(l).times(100).toNumber();return jsxRuntime.jsxs("div",{className:ui$1.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$1.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: ",r]})]})]})}function is({token:e,actions:t,dataStrip:o,className:r,onCopyAddress:s}){let n=e?.address;return jsxRuntime.jsxs("div",{className:ui$1.cn("flex w-full flex-wrap items-center gap-4 px-4 py-3",r),children:[jsxRuntime.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e&&jsxRuntime.jsx(xe,{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:()=>s?.(n),className:"flex items-center gap-1 text-[11px] text-default-400 transition-colors hover:text-foreground",title:n,children:[he(n,6,6),jsxRuntime.jsx(ui$1.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 as(e,t){return D(e,t)}function ds({price:e,marketCap:t,volume:o,holdersCount:r,socialMedia:s,className:n}){return jsxRuntime.jsxs("div",{className:ui$1.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,r]}),jsxRuntime.jsx("div",{className:"ml-auto",children:s})]})}function jy(e,t){return D(e,t)}function ms({holders:e,top10HoldingsRatio:t,top100HoldingsRatio:o,className:r}){return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col items-start justify-center gap-0.5",r),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:yt(t)}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:yt(o)})]}),jsxRuntime.jsx("div",{className:"text-[10px] text-default-400",children:"Holders / Top10 / Top100"})]})}function us(e,t){return D(e,t)}function ps({chain:e,address:t,className:o}){let{token:r}=us(e,t);return jsxRuntime.jsx(ms,{holders:r?.marketData?.holders,top10HoldingsRatio:r?.marketData?.top10HoldingsRatio,top100HoldingsRatio:r?.marketData?.top100HoldingsRatio,className:o})}function gs({marketCapInUsd:e,tvlInUsd:t,createdAt:o,className:r}){return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col items-start justify-center gap-0.5",r),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:e?utils.formatMCapInUsd(e):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:t?utils.formatAmountInUsd(t):"--"}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:Re(o)})]}),jsxRuntime.jsx("div",{className:"text-[10px] text-default-400",children:"MC / Liq / Age"})]})}function xs(e,t){return D(e,t)}function ks({chain:e,address:t,className:o}){let{token:r}=xs(e,t);return jsxRuntime.jsx(gs,{marketCapInUsd:r?.marketData?.marketCapInUsd,tvlInUsd:r?.marketData?.tvlInUsd,createdAt:r?.createdAt,className:o})}function Ts({priceInUsd:e,price24hAgoInUsd:t,className:o}){let{bearish:r,priceChange:s}=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$1.cn("group flex flex-col gap-1",o),"data-bearish":r,children:[jsxRuntime.jsx("div",{className:"text-base font-medium leading-none text-bullish group-data-[bearish=true]:text-bearish",children:e?utils.formatPriceInUsd(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:s!=null?utils.formatPercent(s):"--"})]})]})}function ys(e,t){return D(e,t)}function vs({chain:e,address:t,className:o}){let{token:r}=ys(e,t);return jsxRuntime.jsx(Ts,{priceInUsd:r?.marketData?.priceInUsd,price24hAgoInUsd:r?.stats?.["24h"]?.openPriceInUsd,className:o})}function Vm(e,t){switch(e){case "website":return jsxRuntime.jsx(ui$1.WebsiteIcon,{width:t,height:t});case "twitter":return jsxRuntime.jsx(ui$1.TwitterIcon,{width:t,height:t});case "telegram":return jsxRuntime.jsx(ui$1.TelegramIcon,{width:t,height:t});case "discord":return jsxRuntime.jsx(ui$1.DiscordIcon,{width:t,height:t});default:return jsxRuntime.jsx("span",{className:"text-[9px] font-medium uppercase",children:e.slice(0,2)})}}function Ss({socials:e,className:t,iconSize:o=16}){if(!e)return null;let s=["website","twitter","telegram","discord","github","reddit","youtube","medium"].filter(n=>!!e[n]);return s.length===0?null:jsxRuntime.jsx("div",{className:ui$1.cn("flex items-center gap-3",t),children:s.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:Vm(n,o)},n))})}function Ns(e,t){return D(e,t)}function Cs({chain:e,address:t,className:o,iconSize:r}){let{token:s}=Ns(e,t);return jsxRuntime.jsx(Ss,{socials:s?.socialMedias,className:o,iconSize:r})}function Ps({volumesInUsd:e,trades:t,traders:o,className:r}){return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col items-start justify-center gap-0.5",r),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-default-500",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:e?utils.formatAmountInUsd(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 Rs(e,t){return D(e,t)}function As({chain:e,address:t,className:o}){let{token:r}=Rs(e,t),s=r?.stats?.["24h"];return jsxRuntime.jsx(Ps,{volumesInUsd:s?.volumesInUsd,trades:s?.trades,traders:s?.traders,className:o})}function Is({chain:e,address:t,className:o}){return jsxRuntime.jsx(ds,{className:o,price:jsxRuntime.jsx(vs,{chain:e,address:t}),marketCap:jsxRuntime.jsx(ks,{chain:e,address:t}),volume:jsxRuntime.jsx(As,{chain:e,address:t}),holdersCount:jsxRuntime.jsx(ps,{chain:e,address:t}),socialMedia:jsxRuntime.jsx(Cs,{chain:e,address:t})})}function F0({chain:e,address:t,actions:o,dataStrip:r,className:s,onCopyAddress:n}){let{token:i}=as(e,t);return jsxRuntime.jsx(is,{token:i,actions:o,dataStrip:r===void 0?jsxRuntime.jsx(Is,{chain:e,address:t}):r,className:s,onCopyAddress:n})}var Gm=[{value:"holdingUsd",label:"Value"},{value:"lastActiveAt",label:"Last active"}];function Fs({holders:e,isLoading:t,sortBy:o,sortDirection:r,onSortByChange:s,onlyTracked:n=false,onOnlyTrackedChange:i,onLoadMore:l,hasMore:a,now:c=Date.now(),wellKnownAddresses:m,className:d,renderAddress:u}){let p=n?e.filter(f=>f.tags&&f.tags.length>0):e;return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col",d),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:n,onChange:f=>i?.(f.target.checked)}),"Only Tracked"]})]}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:Gm.map(f=>jsxRuntime.jsx("button",{type:"button",onClick:()=>s(f.value,r??"desc"),className:ui$1.cn("rounded px-2 py-1 text-[11px] transition-colors",o===f.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:f.label},f.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(f=>jsxRuntime.jsx(Xm,{holder:f,now:c,wellKnownAddresses:m,renderAddress:u},f.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:l,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-default-600 transition-colors hover:bg-default-200 disabled:opacity-50",children:"Load more"})})]})}function Xm({holder:e,now:t,wellKnownAddresses:o,renderAddress:r}){let s=o?.[e.address],n=react.useMemo(()=>r?r(e.address):s?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:s}):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-default-500",children:he(e.address,6,6)}),[e.address,r,s]);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(Bt,{tags:e.tags,max:3})}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:utils.formatAmountInUsd(e.amountInUsd)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:yt(e.ratio)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.startHoldingAt?Re(e.startHoldingAt,t):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.lastActiveAt?Re(e.lastActiveAt,t):"--"})]})}function Os({chain:e,address:t,limit:o=50,initialSortBy:r,initialSortDirection:s}){let[n,i]=react.useState(r),[l,a]=react.useState(s),[c,m]=react.useState(void 0),[d,u]=react.useState([]),p=react.useCallback(()=>{m(void 0),u([]);},[]),f=react.useCallback((w,$)=>{w===n&&$===l||(i(w),a($),p());},[p,n,l]),x=react.useCallback(w=>{f(w,l??"desc");},[f,l]),g=react.useCallback(w=>{w!==l&&(a(w),p());},[p,l]);react.useEffect(()=>{p();},[e,t,p]);let b=react.useMemo(()=>({chain:e,address:t,cursor:c,limit:o,sortBy:n,sortDirection:l}),[e,t,c,o,n,l]),{data:k,isPending:y,isFetching:h}=react$1.useTokenHoldersQuery(b);react.useEffect(()=>{k&&u(w=>c==null?[k]:w[w.length-1]?.endCursor===k.endCursor?w:[...w,k]);},[k,c]),react$1.useTokenSubscription({chain:e,address:t},()=>{});let v=react.useMemo(()=>d.flatMap(w=>w.data),[d]),T=d[d.length-1],P=!!(T?.hasNext&&T.endCursor),A=react.useCallback(()=>{!T?.endCursor||!T.hasNext||m(T.endCursor);},[T]);return {holders:v,isLoading:y||h,sortBy:n,sortDirection:l,setSortBy:x,setSort:f,setSortDirection:g,hasMore:P,loadMore:A}}function tS({chain:e,address:t,limit:o,initialSortBy:r,initialSortDirection:s,initialOnlyTracked:n=false,wellKnownAddresses:i,className:l,renderAddress:a}){let[c,m]=react.useState(n),{holders:d,isLoading:u,sortBy:p,sortDirection:f,setSort:x,hasMore:g,loadMore:b}=Os({chain:e,address:t,limit:o,initialSortBy:r,initialSortDirection:s});return jsxRuntime.jsx(Fs,{holders:d,isLoading:u,sortBy:p,sortDirection:f,onSortByChange:x,onlyTracked:c,onOnlyTrackedChange:m,wellKnownAddresses:i,hasMore:g,onLoadMore:b,className:l,renderAddress:a})}var ou=[{value:"timestamp",label:"Latest"},{value:"totalUsd",label:"Top USD"}],ru=[{value:"all",label:"All"},{value:"buy",label:"Buys"},{value:"sell",label:"Sells"}],nu=[{value:"all",label:"All"},{value:"dev",label:"DEV"},{value:"tracked",label:"TRACKED"},{value:"you",label:"YOU"}];function Bs({activities:e,isLoading:t,sortBy:o,sortDirection:r="desc",onSortByChange:s,typeFilter:n="all",onTypeFilterChange:i,traderFilter:l="all",onTraderFilterChange:a,youWalletAddress:c,currency:m="usd",onCurrencyChange:d,onLoadMore:u,hasMore:p,now:f=Date.now(),nativeDecimals:x=9,nativeSymbol:g="SOL",className:b,onRowClick:k}){let y=iu(e,l,c);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col",b),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:[ru.map(h=>jsxRuntime.jsx("button",{type:"button",onClick:()=>i?.(h.value),className:ui$1.cn("rounded px-2 py-1 text-[11px] transition-colors",n===h.value?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:h.label},h.value)),jsxRuntime.jsx("span",{className:"mx-1 h-3 w-px bg-default-200","aria-hidden":true}),nu.map(h=>{let v=l===h.value,T=h.value==="you"&&!c;return jsxRuntime.jsx("button",{type:"button",disabled:T,onClick:()=>a?.(h.value),className:ui$1.cn("rounded px-2 py-1 text-[11px] transition-colors",v?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground",T&&"cursor-not-allowed opacity-50"),children:h.label},h.value)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(au,{value:m,nativeSymbol:g,onChange:d}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:ou.map(h=>{let v=o===h.value,T=v&&r==="desc"?"asc":v&&r==="asc"?void 0:"desc",P=T?h.value:void 0;return jsxRuntime.jsx("button",{type:"button",onClick:()=>s(P,T),className:ui$1.cn("rounded px-2 py-1 text-[11px] transition-colors",v?"bg-default-100 text-foreground":"text-default-400 hover:text-foreground"),children:h.label},h.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:[y.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-8 text-center text-default-400",children:"No activities"})}),y.map(h=>jsxRuntime.jsx(du,{activity:h,now:f,nativeDecimals:x,nativeSymbol:g,currency:m,onRowClick:k},h.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:u,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 su(e){return e.type==="buy"?e.to:e.type==="sell"?e.from:e.to}function iu(e,t,o){if(t==="all")return e;if(t==="you"){if(!o)return [];let s=o.toLowerCase();return e.filter(n=>n.walletAddress?.toLowerCase()===s)}if(t==="dev")return e.filter(s=>s.traderTags?.some(n=>n==="dev"));let r=new Set(["kol","smart","bluechip"]);return e.filter(s=>s.traderTags?.some(n=>r.has(n)))}function au({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(s=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(s.k),className:ui$1.cn("rounded px-2 transition-colors",e===s.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:s.label},s.k))})}function lu(e,t,o){if(!e)return "--";let r=Number(e)/Math.pow(10,t);return Number.isFinite(r)?`${utils.formatAmount(r)} ${o}`:"--"}function du({activity:e,now:t,nativeDecimals:o,nativeSymbol:r,currency:s,onRowClick:n}){let i=su(e),l=e.type==="buy"?"Buy":e.type==="sell"?"Sell":e.type.replace(/_/g," "),a=e.type==="buy"?"text-bullish":e.type==="sell"?"text-bearish":"text-default-500";return jsxRuntime.jsxs("tr",{className:ui$1.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$1.cn("px-3 py-2 align-middle font-medium capitalize",a),children:l}),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:he(e.walletAddress,6,6)}),jsxRuntime.jsx(Vr,{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:s==="native"&&i.amountInNative?`${utils.formatAmount(i.amountInNative)} ${i.symbol}`:i.amountInUsd?utils.formatAmountInUsd(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:lu(e.gasFee,o,r)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:Re(e.time,t)})]})}var uu=500;function $s({chain:e,address:t,limit:o=50,initialSortBy:r,initialSortDirection:s="desc",initialTypeFilter:n="all"}){let[i,l]=react.useState(r),[a,c]=react.useState(s),[m,d]=react.useState(n),[u,p]=react.useState(void 0),[f,x]=react.useState([]),[g,b]=react.useState([]),k=react.useCallback(()=>{p(void 0),x([]),b([]);},[]),y=react.useCallback((L,E)=>{let pe=E??(L===i?a:"desc");L===i&&pe===a||(l(L),c(pe),k());},[i,a,k]),h=react.useCallback(L=>{L!==a&&(c(L),k());},[a,k]),v=react.useCallback(L=>{L!==m&&(d(L),k());},[m,k]);react.useEffect(()=>{k();},[e,t,k]);let T=m==="all"?void 0:m,P=react.useMemo(()=>({chain:e,address:t,cursor:u,limit:o,sortBy:i,sortDirection:a,type:T}),[e,t,u,o,i,a,T]),{data:A,isPending:w,isFetching:$}=react$1.useTokenActivitiesQuery(P);react.useEffect(()=>{A&&x(L=>u==null?[A]:L[L.length-1]?.endCursor===A.endCursor?L:[...L,A]);},[A,u]),react$1.useTokenActivitiesSubscription({chain:e,address:t},L=>{L?.length&&b(E=>{let pe=L.filter(Rl=>zs(Rl,m));return pe.length===0?E:Ks(pe,E).slice(0,uu)});});let ue=react.useMemo(()=>{let L=f.flatMap(E=>E.data);return pu({paged:L,liveActivities:g,sortBy:i,sortDirection:a,typeFilter:m})},[f,g,i,a,m]),J=f[f.length-1],B=!!(J?.hasNext&&J.endCursor),U=react.useCallback(()=>{!J?.endCursor||!J.hasNext||p(J.endCursor);},[J]);return {activities:ue,isLoading:w||$,sortBy:i,sortDirection:a,setSortBy:y,setSortDirection:h,typeFilter:m,setTypeFilter:v,hasMore:B,loadMore:U}}function pu({paged:e,liveActivities:t,sortBy:o,sortDirection:r,typeFilter:s}){return [...Ks(t,e).filter(i=>zs(i,s))].sort((i,l)=>fu(i,l,o,r))}function Ks(e,t){let o=new Set,r=[];for(let s of [...e,...t]){let n=er(s);o.has(n)||(o.add(n),r.push(s));}return r}function zs(e,t){return t==="all"?true:e.type===t}function fu(e,t,o,r){let n=(o??"timestamp")==="totalUsd"?jo(_s(e),_s(t)):jo(so(e),so(t)),i=Vs(n,r);if(i!==0)return i;let l=Vs(jo(so(e),so(t)),"desc");return l!==0?l:er(e).localeCompare(er(t))}function Vs(e,t){return t==="asc"?e:-e}function jo(e,t){return e<t?-1:e>t?1:0}function so(e){let t=e.time instanceof Date?e.time.getTime():new Date(e.time).getTime();return Number.isFinite(t)?t:0}function _s(e){let t=e.type==="sell"?e.from:e.to,o=Number(t.amountInUsd);return Number.isFinite(o)?o:0}function er(e){return e.txHash}function TS({chain:e,address:t,limit:o,initialSortBy:r,initialSortDirection:s,initialTypeFilter:n,initialTraderFilter:i="all",initialCurrency:l="usd",youWalletAddress:a,nativeDecimals:c,nativeSymbol:m,className:d,onRowClick:u}){let[p,f]=react.useState(i),[x,g]=react.useState(l),{activities:b,isLoading:k,sortBy:y,sortDirection:h,setSortBy:v,typeFilter:T,setTypeFilter:P,hasMore:A,loadMore:w}=$s({chain:e,address:t,limit:o,initialSortBy:r,initialSortDirection:s,initialTypeFilter:n});return jsxRuntime.jsx(Bs,{activities:b,isLoading:k,sortBy:y,sortDirection:h,onSortByChange:v,typeFilter:T,onTypeFilterChange:P,traderFilter:p,onTraderFilterChange:f,youWalletAddress:a,currency:x,onCurrencyChange:g,hasMore:A,onLoadMore:w,className:d,nativeDecimals:c,nativeSymbol:m,onRowClick:u})}function Qs({stats:e,resolution:t,className:o}){let r=e?.[t],s=r?.traders??0,n=r?.buyers??0,i=r?.sellers??0;return jsxRuntime.jsx(et,{className:o,label:`Traders (${t})`,totalFormatted:utils.formatAmount(s),buysFormatted:utils.formatAmount(n),sellsFormatted:utils.formatAmount(i),totalValue:s,buysValue:n})}function Gs(e,t){return D(e,t)}function US({chain:e,address:t,resolution:o="24h",className:r}){let{token:s}=Gs(e,t);return jsxRuntime.jsx(Qs,{stats:s?.stats,resolution:o,className:r})}function Xs({stats:e,resolution:t,className:o}){let r=e?.[t],s=r?.trades??0,n=r?.buys??0,i=r?.sells??0;return jsxRuntime.jsx(et,{className:o,label:`Transactions (${t})`,totalFormatted:utils.formatAmount(s),buysFormatted:utils.formatAmount(n),sellsFormatted:utils.formatAmount(i),totalValue:s,buysValue:n})}function Js(e,t){return D(e,t)}function JS({chain:e,address:t,resolution:o="24h",className:r}){let{token:s}=Js(e,t);return jsxRuntime.jsx(Xs,{stats:s?.stats,resolution:o,className:r})}function Ys({stats:e,resolution:t,className:o}){let r=e?.[t],s=r?.volumesInUsd??"0",n=r?.buyVolumesInUsd??"0",i=r?.sellVolumesInUsd??"0";return jsxRuntime.jsx(et,{className:o,label:`Volume (${t})`,totalFormatted:utils.formatAmountInUsd(s),buysFormatted:utils.formatAmountInUsd(n),sellsFormatted:utils.formatAmountInUsd(i),totalValue:s,buysValue:n})}function Zs(e,t){return D(e,t)}function mN({chain:e,address:t,resolution:o="24h",className:r}){let{token:s}=Zs(e,t);return jsxRuntime.jsx(Ys,{stats:s?.stats,resolution:o,className:r})}function js({security:e,externalUrl:t,externalLabel:o,className:r}){let s=[{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=s.every(i=>i.value!==void 0&&i.value===i.safeWhen);return jsxRuntime.jsxs("section",{className:ui$1.cn("flex w-full flex-col gap-3",r),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$1.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:s.map(i=>jsxRuntime.jsx(vu,{...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 vu({title:e,value:t,safeWhen:o,description:r}){let s=t!==void 0&&t===o,n=t===void 0?"--":s?"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:r,children:e}),jsxRuntime.jsx("span",{className:ui$1.cn("text-xs",t===void 0?"text-default-400":s?"text-success-500":"text-danger-500"),children:n})]})}function ei(e,t){let{data:o,isLoading:r}=react$1.useTokenSecurityQuery({chain:e,address:t});return {security:o,isLoading:r}}function CN({chain:e,address:t,externalUrl:o,externalLabel:r,className:s}){let{security:n}=ei(e,t);return jsxRuntime.jsx(js,{security:n,externalUrl:o,externalLabel:r,className:s})}function ri({token:e,className:t}){return e?jsxRuntime.jsxs("section",{className:ui$1.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 ni(e,t){return D(e,t)}function EN({chain:e,address:t,className:o}){let{token:r}=ni(e,t);return jsxRuntime.jsx(ri,{token:r,className:o})}function ai({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:r,onPoolClick:s}){let[n,i]=react.useState(!e||e.length<=o),l=react.useCallback(()=>i(a=>!a),[]);return jsxRuntime.jsxs("section",{className:ui$1.cn("flex w-full flex-col gap-3",r),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.formatAmountInUsd(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((a,c)=>jsxRuntime.jsxs("div",{className:ui$1.cn("flex h-10 w-full items-center justify-between overflow-hidden text-xs",c>=o&&!n&&"hidden",s&&"cursor-pointer hover:bg-default-50"),onClick:s?()=>s(a):void 0,children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-0.5",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:a.protocolFamily??a.protocolName??"Unknown"}),a.poolAddress&&jsxRuntime.jsxs("span",{className:"font-mono text-[10px] text-default-400",children:["Pool: ",he(a.poolAddress,6,6)]})]}),jsxRuntime.jsx("div",{className:"text-default-500",children:utils.formatAmountInUsd(a.tvlInUsd??0)})]},a.poolAddress??`${a.protocolFamily}-${c}`)),e.length>o&&jsxRuntime.jsx("div",{className:"flex justify-center pt-1",children:jsxRuntime.jsx("button",{type:"button",onClick:l,className:"rounded px-2 py-1 text-xs text-default-400 transition-colors hover:text-foreground",children:n?"Show less":"Show more"})})]})]})}function li(e,t){return D(e,t)}function oC({chain:e,address:t,collapseAt:o,className:r,onPoolClick:s}){let{token:n}=li(e,t);return jsxRuntime.jsx(ai,{liquidities:n?.liquidities,totalTvlInUsd:n?.marketData?.tvlInUsd,collapseAt:o,className:r,onPoolClick:s})}function di({cexes:e,collapseAt:t=4,className:o}){let[r,s]=react.useState(!e||e.length<=t),n=react.useCallback(()=>s(i=>!i),[]);return !e||e.length===0?null:jsxRuntime.jsxs("section",{className:ui$1.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,l)=>{let a=l>=t&&!r,c=jsxRuntime.jsx(ui$1.Chip,{startContent:i.logo?jsxRuntime.jsx(ui$1.Image,{src:i.logo,width:20,height:20,alt:i.name}):void 0,className:ui$1.cn("bg-default-100 text-xs",a&&"hidden"),children:i.name},i.id);return i.url?jsxRuntime.jsx("a",{href:i.url,target:"_blank",rel:"noreferrer noopener",className:ui$1.cn(a&&"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:r?"Show less":"Show more"})})]})}function ci(e){return {cexes:e}}function xC({cexes:e,collapseAt:t,className:o}){let{cexes:r}=ci(e);return jsxRuntime.jsx(di,{cexes:r,collapseAt:t,className:o})}function ui({categories:e,collapseAt:t=4,className:o,onCategoryClick:r}){let[s,n]=react.useState(!e||e.length<=t),i=react.useCallback(()=>n(l=>!l),[]);return !e||e.length===0?null:jsxRuntime.jsxs("section",{className:ui$1.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((l,a)=>{let c=a>=t&&!s;return jsxRuntime.jsx(ui$1.Chip,{size:"sm",className:ui$1.cn("bg-default-100",c&&"hidden",r&&"cursor-pointer"),onClick:r?()=>r(l):void 0,children:l},l)})}),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:s?"Show less":"Show more"})})]})}function pi(e,t){return D(e,t)}function IC({chain:e,address:t,collapseAt:o,className:r,onCategoryClick:s}){let{token:n}=pi(e,t);return jsxRuntime.jsx(ui,{categories:n?.tags,collapseAt:o,className:r,onCategoryClick:s})}var fi=["5m","1h","4h","24h"];function gi({stats:e,resolution:t,className:o}){let r=e?.[t],s=new utils.SafeBigNumber(r?.buyVolumesInUsd??0),n=new utils.SafeBigNumber(r?.sellVolumesInUsd??0),i=s.plus(n),l=s.minus(n),a=i.eq(0)?50:Math.min(100,Math.max(0,s.div(i).times(100).toNumber())),c=[{label:`${t} Vol`,value:utils.formatAmountInUsd(i.toString()),className:"text-foreground"},{label:"Buys",value:utils.formatAmountInUsd(s.toString()),className:"text-bullish"},{label:"Sells",value:utils.formatAmountInUsd(n.toString()),className:"text-bearish"},{label:"Net Vol.",value:utils.formatAmountInUsd(l.abs().toString()),className:l.gte(0)?"text-bullish":"text-bearish"}];return jsxRuntime.jsxs("div",{className:ui$1.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$1.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:`${a}%`}})})]})}function xi({stats:e,resolutions:t,className:o}){return jsxRuntime.jsx("div",{className:ui$1.cn("grid h-full w-full grid-cols-4 items-center",o),children:t.map(r=>{let n=e?.[r]?.priceChange,i=n?new utils.SafeBigNumber(n):void 0,l=i?i.gte(0):void 0,a=r,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:a}),jsxRuntime.jsx("span",{className:ui$1.cn("text-[13px] font-medium leading-none tabular-nums",l===void 0?"text-foreground":l?"text-bullish":"text-bearish"),children:c})]},r)})})}function ki({chain:e,address:t}){let{data:o,isLoading:r}=react$1.useTokenStatsQuery({chain:e,address:t});return {stats:o,isLoading:r}}function QC({chain:e,address:t,baseResolution:o="5m",hoverResolutions:r=fi,height:s=64,className:n}){let{stats:i}=ki({chain:e,address:t});return jsxRuntime.jsx(uiScaffold.StatsFlipPanel,{className:n,height:s,base:jsxRuntime.jsx(gi,{stats:i,resolution:o}),hover:jsxRuntime.jsx(xi,{stats:i,resolutions:r})})}function bi({positions:e,isLoading:t,hasMore:o,onLoadMore:r,currency:s="usd",onCurrencyChange:n,showHidden:i=false,onShowHiddenChange:l,nativeSymbol:a="Native",renderActions:c,className:m}){return jsxRuntime.jsxs("div",{className:ui$1.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=>l?.(d.target.checked)}),"Show Hidden"]})]}),jsxRuntime.jsx(Gu,{value:s,nativeSymbol:a,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(Xu,{position:d,currency:s,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: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 Gu({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(s=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(s.k),className:ui$1.cn("rounded px-2 transition-colors",e===s.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:s.label},s.k))})}function Xu({position:e,currency:t,renderActions:o}){let{bought:r,sold:s,remaining:n,pnl:i}=react.useMemo(()=>Ju(e,t),[e,t]),l=jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui$1.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:l}),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:s}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n}),jsxRuntime.jsx("td",{className:ui$1.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 Ju(e,t){let o=t==="usd"?e.buyVolumesInUsd:e.buyVolumes,r=t==="usd"?e.sellVolumesInUsd:e.sellVolumes,s=t==="usd"?e.amountInUsd:e.amount,n=e.totalProfitInUsd,i=t==="usd"?utils.formatAmountInUsd(o??0):utils.formatAmount(o??0),l=t==="usd"?utils.formatAmountInUsd(r??0):utils.formatAmount(r??0),a=t==="usd"?utils.formatAmountInUsd(s??0):utils.formatAmount(s??0),c=n?new utils.SafeBigNumber(n):void 0,m=c?c.gte(0):void 0,d=c?(m?"+":"")+utils.formatAmountInUsd(c.toString()):"--",u=e.totalProfitRatio?utils.formatPercent(e.totalProfitRatio,{showPlusGtThanZero:true}):void 0;return {bought:i,sold:l,remaining:a,pnl:{amount:d,ratio:u,isPositive:m}}}function yi({chain:e,wallet:t,limit:o=50,initialShowHidden:r=false}){let[s,n]=react.useState(void 0),[i,l]=react.useState([]),[a,c]=react.useState(r);react.useEffect(()=>{n(void 0),l([]);},[e,t]);let m=react.useMemo(()=>({chain:e,address:t??"",cursor:s,limit:o,positionState:"open"}),[e,t,s,o]),{data:d,isPending:u,isFetching:p}=react$1.useWalletTokenPositionsQuery(m,{enabled:!!t});react.useEffect(()=>{d&&l(k=>s==null?[d]:k[k.length-1]?.endCursor===d.endCursor?k:[...k,d]);},[d,s]);let f=react.useMemo(()=>i.flatMap(k=>k.portfolios),[i]),x=i[i.length-1],g=!!(x?.hasNext&&x.endCursor),b=react.useCallback(()=>{!x?.endCursor||!x.hasNext||n(x.endCursor);},[x]);return {positions:f,isLoading:!!t&&(u||p),hasMore:g,loadMore:b,showHidden:a,setShowHidden:c}}function mw({chain:e,wallet:t,limit:o,initialCurrency:r="usd",nativeSymbol:s,renderActions:n,className:i}){let[l,a]=react.useState(r),{positions:c,isLoading:m,hasMore:d,loadMore:u,showHidden:p,setShowHidden:f}=yi({chain:e,wallet:t,limit:o});return jsxRuntime.jsx(bi,{className:i,positions:c,isLoading:m,hasMore:d,onLoadMore:u,currency:l,onCurrencyChange:a,showHidden:p,onShowHiddenChange:f,nativeSymbol:s,renderActions:n})}function Si({orders:e,isLoading:t,unavailable:o,hasMore:r,onLoadMore:s,stateFilter:n,onStateFilterChange:i,onlyThisToken:l=false,onOnlyThisTokenChange:a,tokenSymbol:c,currency:m="usd",onCurrencyChange:d,nativeSymbol:u="Native",onCancelAll:p,renderActions:f,className:x}){return jsxRuntime.jsxs("div",{className:ui$1.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-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$1.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))}),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:l,onChange:g=>a?.(g.target.checked)}),"Only ",c]}):null]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[p?jsxRuntime.jsx("button",{type:"button",onClick:p,className:"rounded px-2 py-1 text-[11px] text-bearish transition-colors hover:bg-default-100",children:"Cancel All"}):null,jsxRuntime.jsx(ip,{value:m,nativeSymbol:u,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(g=>jsxRuntime.jsx(ap,{order:g,currency:m,renderActions:f},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&&r&&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 ip({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(s=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(s.k),className:ui$1.cn("rounded px-2 transition-colors",e===s.k?"bg-default-200 text-foreground":"text-default-400 hover:text-foreground"),children:s.label},s.k))})}function ap({order:e,currency:t,renderActions:o}){let r=react.useMemo(()=>t==="usd"&&e.amountInUsd?utils.formatAmountInUsd(e.amountInUsd):utils.formatAmount(e.amount),[t,e.amount,e.amountInUsd]),s=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$1.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$1.cn("px-3 py-2 align-middle font-medium",n),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-default-500",children:e.currentMarketCapInUsd?utils.formatMCapInUsd(e.currentMarketCapInUsd):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:e.targetMarketCapInUsd?utils.formatMCapInUsd(e.targetMarketCapInUsd):e.targetPriceInUsd?utils.formatPriceInUsd(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 dp(e){return e instanceof Error&&e.code==="NotImplemented"}function cp(e){return e==="active"?"active":"filled"}function Li({chain:e,wallet:t,tokenAddress:o,limit:r=50,initialStateFilter:s="active",initialOnlyThisToken:n=false}){let[i,l]=react.useState(s),[a,c]=react.useState(n),[m,d]=react.useState(void 0),[u,p]=react.useState([]);react.useEffect(()=>{d(void 0),p([]);},[e,t,i,a,o]);let f=react.useCallback(w=>{w!==i&&l(w);},[i]),x=react.useMemo(()=>({chain:e,address:t??"",cursor:m,limit:r,state:cp(i),tokenAddress:a?o:void 0}),[e,t,m,r,i,a,o]),{data:g,isPending:b,isFetching:k,error:y}=react$1.useWalletLimitOrdersQuery(x,{enabled:!!t});react.useEffect(()=>{g&&p(w=>m==null?[g]:w[w.length-1]?.endCursor===g.endCursor?w:[...w,g]);},[g,m]);let h=!!y&&dp(y),v=react.useMemo(()=>u.flatMap(w=>w.data),[u]),T=u[u.length-1],P=!!(T?.hasNext&&T.endCursor),A=react.useCallback(()=>{!T?.endCursor||!T.hasNext||d(T.endCursor);},[T]);return {orders:v,isLoading:!!t&&!h&&(b||k),unavailable:h,hasMore:P,loadMore:A,stateFilter:i,setStateFilter:f,onlyThisToken:a,setOnlyThisToken:c}}function Rw({chain:e,wallet:t,tokenAddress:o,tokenSymbol:r,limit:s,initialStateFilter:n="active",initialCurrency:i="usd",nativeSymbol:l,onCancelAll:a,renderActions:c,className:m}){let[d,u]=react.useState(i),{orders:p,isLoading:f,unavailable:x,hasMore:g,loadMore:b,stateFilter:k,setStateFilter:y,onlyThisToken:h,setOnlyThisToken:v}=Li({chain:e,wallet:t,tokenAddress:o,limit:s,initialStateFilter:n});return jsxRuntime.jsx(Si,{className:m,orders:p,isLoading:f,unavailable:x,hasMore:g,onLoadMore:b,stateFilter:k,onStateFilterChange:y,onlyThisToken:h,onOnlyThisTokenChange:v,tokenSymbol:r,currency:d,onCurrencyChange:u,nativeSymbol:l,onCancelAll:x?void 0:a,renderActions:c})}function Ri({traders:e,isLoading:t,hasMore:o,onLoadMore:r,onlyTracked:s=false,onOnlyTrackedChange:n,now:i=Date.now(),renderAddress:l,className:a}){let{t:c}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col",a),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:c("tokens.tokenDetail.topTraders")}),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:s,onChange:m=>n?.(m.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(m=>jsxRuntime.jsx(xp,{trader:m,now:i,renderAddress:l},m.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: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 xp({trader:e,now:t,renderAddress:o}){let r=react.useMemo(()=>o?o(e.address):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-default-500",children:he(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:r}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(Bt,{tags:e.tags,max:3})}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:utils.formatAmountInUsd(e.amountInUsd)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-500",children:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:utils.formatAmountInUsd(e.totalRealizedPnlInUsd)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-default-400",children:e.lastActiveAt?Re(e.lastActiveAt,t):"--"})]})}function Ii({chain:e,address:t,limit:o=50,initialSortBy:r,initialSortDirection:s,initialOnlyTracked:n=false}){let[i,l]=react.useState(r),[a,c]=react.useState(s),[m,d]=react.useState(void 0),[u,p]=react.useState([]),[f,x]=react.useState(n),g=react.useCallback(()=>{d(void 0),p([]);},[]),b=react.useCallback((B,U)=>{B===i&&U===a||(l(B),c(U),g());},[g,i,a]),k=react.useCallback(B=>{b(B,a??"desc");},[b,a]),y=react.useCallback(B=>{B!==a&&(c(B),g());},[g,a]);react.useEffect(()=>{g();},[e,t,g]);let h=react.useMemo(()=>({chain:e,address:t,cursor:m,limit:o,sortBy:i,sortDirection:a}),[e,t,m,o,i,a]),{data:v,isPending:T,isFetching:P}=react$1.useTokenTopTradersQuery(h);react.useEffect(()=>{v&&p(B=>m==null?[v]:B[B.length-1]?.endCursor===v.endCursor?B:[...B,v]);},[v,m]);let A=react.useMemo(()=>u.flatMap(B=>B.data),[u]),w=react.useMemo(()=>f?A.filter(B=>B.tags&&B.tags.length>0):A,[A,f]),$=u[u.length-1],ue=!!($?.hasNext&&$.endCursor),J=react.useCallback(()=>{!$?.endCursor||!$.hasNext||d($.endCursor);},[$]);return {traders:w,isLoading:T||P,sortBy:i,sortDirection:a,setSortBy:k,setSortDirection:y,setSort:b,hasMore:ue,loadMore:J,onlyTracked:f,setOnlyTracked:x}}function Xw({chain:e,address:t,limit:o,className:r,renderAddress:s}){let{traders:n,isLoading:i,hasMore:l,loadMore:a,onlyTracked:c,setOnlyTracked:m}=Ii({chain:e,address:t,limit:o});return jsxRuntime.jsx(Ri,{className:r,traders:n,isLoading:i,hasMore:l,onLoadMore:a,onlyTracked:c,onOnlyTrackedChange:m,renderAddress:s})}function Fi({tokens:e,isLoading:t,unavailable:o,hasMore:r,onLoadMore:s,renderTokenLink:n,className:i}){return jsxRuntime.jsxs("div",{className:ui$1.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(l=>jsxRuntime.jsx(yp,{token:l,renderTokenLink:n},`${l.chain}:${l.address}`)),!o&&t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-default-400",children:"Loading\u2026"})})]})]})}),!o&&r&&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 yp({token:e,renderTokenLink:t}){let o=e.marketData?.marketCapInUsd??e.marketData?.marketCap,r=e.marketData?.tvlInUsd,n=e.stats?.["1h"]?.volumesInUsd,i=!!e.migratedTo,l=t?t(e):jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui$1.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:l}),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.formatMCapInUsd(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:r?utils.formatAmountInUsd(r):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n?utils.formatAmountInUsd(n):"--"})]})}function Ui({tokens:e,className:t}){let o=e.length,r=e.filter(l=>!!l.migratedTo).length,s=o===0?0:Math.round(r/o*100),n=e.map(l=>l.stats?.["1h"]?.volumesInUsd??"0").reduce((l,a)=>l.plus(new utils.SafeBigNumber(a)),new utils.SafeBigNumber(0)),i=e.map(l=>l.marketData?.marketCapInUsd??l.marketData?.marketCap??"0").reduce((l,a)=>l.plus(new utils.SafeBigNumber(a)),new utils.SafeBigNumber(0));return jsxRuntime.jsxs("div",{className:ui$1.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(po,{label:"Total",value:String(o)}),jsxRuntime.jsx(po,{label:"Migrated",value:`${r} (${s}%)`}),jsxRuntime.jsx(po,{label:"Total Market Cap",value:utils.formatMCapInUsd(i.toString())}),jsxRuntime.jsx(po,{label:"Total 1h Volume",value:utils.formatAmountInUsd(n.toString())})]})]})}function po({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 Np(e){return e instanceof Error&&e.code==="NotImplemented"}function Ei({chain:e,creator:t,limit:o=20}){let[r,s]=react.useState(void 0),[n,i]=react.useState([]);react.useEffect(()=>{s(void 0),i([]);},[e,t]);let l=react.useMemo(()=>({chain:e,creator:t??"",cursor:r,limit:o}),[e,t,r,o]),{data:a,isPending:c,isFetching:m,error:d}=react$1.useTokensByCreatorQuery(l,{enabled:!!t});react.useEffect(()=>{a&&i(b=>r==null?[a]:b[b.length-1]?.endCursor===a.endCursor?b:[...b,a]);},[a,r]);let u=!!d&&Np(d),p=react.useMemo(()=>n.flatMap(b=>b.data),[n]),f=n[n.length-1],x=!!(f?.hasNext&&f.endCursor),g=react.useCallback(()=>{!f?.endCursor||!f.hasNext||s(f.endCursor);},[f]);return {tokens:p,isLoading:!!t&&!u&&(c||m),unavailable:u,hasMore:x,loadMore:g}}function mL({chain:e,creator:t,limit:o,showSummary:r=false,renderTokenLink:s,className:n}){let{tokens:i,isLoading:l,unavailable:a,hasMore:c,loadMore:m}=Ei({chain:e,creator:t,limit:o});return jsxRuntime.jsxs("div",{className:n,children:[jsxRuntime.jsx(Fi,{tokens:i,isLoading:l,unavailable:a,hasMore:c,onLoadMore:m,renderTokenLink:s}),r&&!a?jsxRuntime.jsx(Ui,{tokens:i}):null]})}function Ki({token:e,athInUsd:t,athAt:o,globalFeesPaidInUsd:r,rank:s,onTogglePin:n,pinned:i,className:l}){let a=e?.marketData?.priceInUsd,c=e?.marketData?.tvlInUsd,m=e?.marketData?.totalSupply;return jsxRuntime.jsxs("div",{className:ui$1.cn("flex h-[48px] w-full flex-row items-center gap-4 overflow-x-auto px-3 text-[12px]",l),children:[jsxRuntime.jsx(lt,{label:"Price",value:a?utils.formatPriceInUsd(a):"--"}),jsxRuntime.jsx(lt,{label:"Liquidity",value:c?utils.formatAmountInUsd(c):"--"}),jsxRuntime.jsx(lt,{label:"Supply",value:m?utils.formatAmount(m):"--"}),r?jsxRuntime.jsx(lt,{label:"Fees Paid",value:utils.formatAmountInUsd(r)}):null,t?jsxRuntime.jsx(lt,{label:"ATH",value:utils.formatPriceInUsd(t),title:o?`All-time high at ${o.toLocaleDateString()}`:void 0}):null,s!==void 0?jsxRuntime.jsx(lt,{label:"Rank",value:`#${s}`}):null,jsxRuntime.jsx("div",{className:"flex-1"}),n?jsxRuntime.jsx("button",{type:"button",onClick:n,"aria-pressed":i,className:ui$1.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 lt({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 qi({chain:e,address:t}){return D(e,t)}function wL({chain:e,address:t,athInUsd:o,athAt:r,globalFeesPaidInUsd:s,rank:n,pinned:i,onTogglePin:l,className:a}){let{token:c}=qi({chain:e,address:t});return jsxRuntime.jsx(Ki,{className:a,token:c,athInUsd:o,athAt:r,globalFeesPaidInUsd:s,rank:n,pinned:i,onTogglePin:l})}function Qi({tokens:e,isLoading:t,unavailable:o,onTokenClick:r,className:s}){return o?jsxRuntime.jsx("div",{className:ui$1.cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",s),children:"Similar tokens coming soon."}):!t&&e.length===0?jsxRuntime.jsx("div",{className:ui$1.cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",s),children:"No similar tokens found."}):jsxRuntime.jsxs("ul",{className:ui$1.cn("flex flex-col",s),children:[e.map(n=>jsxRuntime.jsxs("li",{className:ui$1.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",!r&&"cursor-default"),onClick:r?()=>r(n):void 0,children:[jsxRuntime.jsx(ui$1.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.formatMCapInUsd(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 Gi({chain:e,address:t,keyword:o,limit:r=10}){let s=!!o&&o.length>0,{data:n,isPending:i,isFetching:l}=react$1.useSearchTokensQuery({chains:[e],keyword:o,limit:r+1},{enabled:s});return {tokens:react.useMemo(()=>{if(!n)return [];let c=t.toLowerCase();return (n.data??[]).filter(m=>m.address.toLowerCase()!==c).slice(0,r)},[n,t,r]),isLoading:s&&(i||l),unavailable:!s}}function _L({chain:e,address:t,keyword:o,limit:r,onTokenClick:s,className:n}){let{tokens:i,isLoading:l,unavailable:a}=Gi({chain:e,address:t,keyword:o,limit:r});return jsxRuntime.jsx(Qi,{className:n,tokens:i,isLoading:l,unavailable:a,onTokenClick:s})}function Xi({tokens:e=[],unavailable:t=true,onTokenClick:o,className:r}){return t?jsxRuntime.jsx("div",{className:ui$1.cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"Image-similarity search is coming soon."}):e.length===0?jsxRuntime.jsx("div",{className:ui$1.cn("flex items-center justify-center p-4 text-center text-[11px] text-default-400",r),children:"No reused-image tokens found."}):jsxRuntime.jsx("div",{className:ui$1.cn("flex flex-row flex-wrap gap-2 p-3",r),children:e.map(s=>jsxRuntime.jsx("button",{type:"button",onClick:o?()=>o(s):void 0,className:"flex size-10 items-center justify-center overflow-hidden rounded-full border border-default-100 transition-opacity hover:opacity-80",title:s.symbol,children:jsxRuntime.jsx(ui$1.Avatar,{src:s.image??void 0,name:(s.symbol??"?").slice(0,1),className:"size-full bg-default-100 text-[10px] text-default-400",showFallback:true})},`${s.chain}:${s.address}`))})}function Ji(e){return {tokens:[],isLoading:false,unavailable:true}}function tP({chain:e,address:t,onTokenClick:o,className:r}){let{tokens:s,unavailable:n}=Ji();return jsxRuntime.jsx(Xi,{className:r,tokens:s,unavailable:n,onTokenClick:o})}function ta({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:r,className:s}){let{t:n}=i18n.useTranslation(),[i,l]=react.useState(e?.join(", ")??""),[a,c]=react.useState(t?.join(", ")??"");react.useEffect(()=>{l(u=>{let p=go(u);return p===void 0&&e===void 0?u:p===void 0?e?.join(", ")??"":e===void 0?"":p.join("")===e.join("")?u:e.join(", ")});},[e]),react.useEffect(()=>{c(u=>{let p=go(u);return p===void 0&&t===void 0?u:p===void 0?t?.join(", ")??"":t===void 0?"":p.join("")===t.join("")?u:t.join(", ")});},[t]);let m=react.useCallback(u=>{l(u),o?.(go(u));},[o]),d=react.useCallback(u=>{c(u),r?.(go(u));},[r]);return jsxRuntime.jsxs("div",{className:ui$1.cn("grid grid-cols-2 gap-3 px-4",s),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$1.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$1.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:n("tokens.filters.keywords.placeholder"),value:a,onValueChange:d})]})]})}function go(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function aa({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:r}){let{t:s}=i18n.useTranslation(),[n,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let l=react.useMemo(()=>e.every(m=>n.includes(m)),[e,n]),a=react.useCallback(()=>{if(l){let m=[];i(m),o?.(m);}else {let m=[...e];i(m),o?.(m);}},[e,o,l]),c=react.useCallback(m=>()=>{if(n.includes(m)){let d=n.filter(u=>u!==m);i(d),o?.(d);}else {let d=[...n,m];i(d),o?.(d);}},[n,o]);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-3 px-4",r),children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center",children:[jsxRuntime.jsx("h3",{className:"text-xs text-neutral",children:s("tokens.filters.protocols.title")}),jsxRuntime.jsx(ui$1.Button,{variant:"light",color:"default",size:"sm",radius:"full",onPress:a,children:s(l?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(m=>{let d=Oe(m);return jsxRuntime.jsx(ui$1.Button,{variant:"bordered",size:"sm",radius:"full",className:ui$1.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$1.Image,{width:14,height:14,src:`/images/protocols/${m}.svg`,alt:utils.formatTokenProtocolName(m)}),onPress:c(m),children:utils.formatTokenProtocolName(m)},m)})})]})}function Se({title:e,field:t,value:o,onChange:r}){let{t:s}=i18n.useTranslation(),[n,i]=react.useState(o?br(o).min:NaN),[l,a]=react.useState(o?br(o).max:NaN);react.useEffect(()=>{if(o===void 0)i(NaN),a(NaN);else {let{min:d,max:u}=br(o);i(d),a(u);}},[o]);let c=react.useCallback(d=>{i(d),r?.(ma(t,d,l));},[t,r,l]),m=react.useCallback(d=>{a(d),r?.(ma(t,n,d));},[t,r,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$1.StyledNumberInput,{value:n,onValueChange:c,variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui$1.StyledNumberInput,{value:l,onValueChange:m,variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function br(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 ma(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 pa({values:e,onValuesChange:t,className:o}){let{t:r}=i18n.useTranslation(),[s,n]=react.useState(e);react.useEffect(()=>{n(e);},[e]);let i=react.useCallback(l=>a=>{if(a===void 0){let c=(s??[]).filter(m=>m.field!==l);c=c.length>0?c:void 0,n(c),t?.(c);}else {let c=[...(s??[]).filter(m=>m.field!==l),a];n(c),t?.(c);}},[s,t]);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-4",o),children:[jsxRuntime.jsx(Se,{field:"holders",title:r("tokens.filters.stats.audits.holders"),value:s?.find(l=>l.field==="holders"),onChange:i("holders")}),jsxRuntime.jsx(Se,{field:"top10Ratio",title:r("tokens.filters.stats.audits.top10HoldingsRatio"),value:s?.find(l=>l.field==="top10Ratio"),onChange:i("top10Ratio")}),jsxRuntime.jsx(Se,{field:"top100Ratio",title:r("tokens.filters.stats.audits.top100HoldingsRatio"),value:s?.find(l=>l.field==="top100Ratio"),onChange:i("top100Ratio")}),jsxRuntime.jsx(Se,{field:"creatorsRatio",title:r("tokens.filters.stats.audits.devHoldingsRatio"),value:s?.find(l=>l.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function fa({resolution:e,values:t,onValuesChange:o,className:r}){let{t:s}=i18n.useTranslation(),[n,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let l=react.useCallback(a=>c=>{if(c===void 0){let m=(n??[]).filter(d=>d.field!==a);m=m.length>0?m:void 0,i(m),o?.(m);}else {let m=[...(n??[]).filter(d=>d.field!==a),c];i(m),o?.(m);}},[n,o]);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-4",r),children:[jsxRuntime.jsx(Se,{field:"marketCap",title:s("tokens.filters.stats.metrics.marketCap"),value:n?.find(a=>a.field==="marketCap"),onChange:l("marketCap")}),jsxRuntime.jsx(Se,{field:"tvl",title:s("tokens.filters.stats.metrics.liquidity"),value:n?.find(a=>a.field==="tvl"),onChange:l("tvl")}),jsxRuntime.jsx(Se,{field:`volumes${e}`,title:s("tokens.filters.stats.metrics.volumes",{resolution:s(`common.resolution.${e}`)}),value:n?.find(a=>a.field===`volumes${e}`),onChange:l(`volumes${e}`)}),jsxRuntime.jsx(Se,{field:`trades${e}`,title:s("tokens.filters.stats.metrics.txns",{resolution:s(`common.resolution.${e}`)}),value:n?.find(a=>a.field===`trades${e}`),onChange:l(`trades${e}`)})]})}function Ta({resolution:e,values:t,onValuesChange:o,className:r}){let{t:s}=i18n.useTranslation(),[n,i]=react.useState("audits"),[l,a]=react.useState(t);react.useEffect(()=>{a(t);},[t]);let c=react.useCallback(u=>{a(u),o?.(u);},[o]),m=react.useMemo(()=>{let u=["holders","top10Ratio","top100Ratio","creatorsRatio"];return l?.filter(p=>u.includes(p.field))?.length??0},[l]),d=react.useMemo(()=>{let u=["marketCap","tvl",`volumes${e}`,`trades${e}`];return l?.filter(p=>u.includes(p.field)).length??0},[l,e]);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-3 px-4",r),children:[jsxRuntime.jsxs(ui$1.StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:n,onSelectionChange:i,children:[jsxRuntime.jsx(ui$1.Tab,{title:m===0?s("tokens.filters.stats.audits"):jsxRuntime.jsx(ui$1.StyledBadge,{color:"primary",size:"sm",content:m,shape:"circle",children:s("tokens.filters.stats.audits")})},"audits"),jsxRuntime.jsx(ui$1.Tab,{title:d===0?s("tokens.filters.stats.metrics"):jsxRuntime.jsx(ui$1.StyledBadge,{color:"primary",size:"sm",content:d,shape:"circle",children:s("tokens.filters.stats.metrics")})},"metrics")]}),jsxRuntime.jsx(pa,{values:l,onValuesChange:c,className:ui$1.cn({hidden:n!=="audits"})}),jsxRuntime.jsx(fa,{values:l,onValuesChange:c,resolution:e,className:ui$1.cn({hidden:n!=="metrics"})})]})}function So({protocols:e,resolution:t,filters:o,onFiltersChange:r,className:s}){let[n,i]=react.useState(ya(o?.filters,e));react.useEffect(()=>{i(ya(o?.filters,e));},[o?.filters,e]);let[l,a]=react.useState(o?.keywords);react.useEffect(()=>{a(o?.keywords);},[o?.keywords]);let[c,m]=react.useState(o?.excludeKeywords);react.useEffect(()=>{m(o?.excludeKeywords);},[o?.excludeKeywords]);let[d,u]=react.useState(o?.filters);react.useEffect(()=>{u(o?.filters);},[o?.filters]);let p=react.useCallback(b=>{i(b),r?.(vo(e,b,l,c,d));},[e,l,c,d,r]),f=react.useCallback(b=>{a(b),r?.(vo(e,n,b,c,d));},[e,n,c,d,r]),x=react.useCallback(b=>{m(b),r?.(vo(e,n,l,b,d));},[e,n,l,d,r]),g=react.useCallback(b=>{u(b),r?.(vo(e,n,l,c,b));},[e,n,l,c,r]);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-4",s),children:[e&&e.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(aa,{protocols:e,selectedProtocols:n,onSelectedProtocolsChange:p}),jsxRuntime.jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}})]}),jsxRuntime.jsx(ta,{keywords:l,excludeKeywords:c,onKeywordsChange:f,onExcludeKeywordsChange:x}),jsxRuntime.jsx("div",{style:{height:1,background:"rgba(39,39,42,1)"}}),jsxRuntime.jsx(Ta,{resolution:t,values:d,onValuesChange:g})]})}function ya(e,t){let o=e?.find(r=>r.field==="launchedFromProtocolFamily");return o?o.operator==="in"?o.value:(console.warn("invalid token protocols filter",o),[...t||[]]):[...t||[]]}function vo(e,t,o,r,s){let n=s?[...s.filter(i=>i.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(l=>t.includes(l))||n.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&r===void 0&&n.length===0?void 0:{keywords:o,excludeKeywords:r,filters:n.length>0?n:void 0}}function Ca({protocols:e,resolution:t,filters:o,onFiltersChange:r,triggerVariant:s="default",badgePlacement:n="outer",className:i}){let{t:l}=i18n.useTranslation(),{isOpen:a,onOpen:c,onClose:m,onOpenChange:d}=ui$1.useDisclosure(),[u,p]=react.useState(o),f=react.useCallback(()=>{p(void 0);},[]),x=react.useCallback(()=>{r?.(u),m();},[u,r,m]);react.useEffect(()=>{p(o);},[a,o]);let g=react.useMemo(()=>Object.values(o||{}).every(b=>b===void 0),[o]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("button",{type:"button",className:i,onClick:c,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:9999,border:s==="plain"?"none":"1px solid rgba(63,63,70,0.5)",background:s==="plain"?"transparent":"rgba(39,39,42,0.6)",width:32,height:32,minHeight:32,padding:0,cursor:"pointer",position:"relative"},children:[jsxRuntime.jsx(ui$1.FilterIcon,{width:16,height:16,className:"text-zinc-400"}),!g&&jsxRuntime.jsx("span",{style:{position:"absolute",top:n==="icon"?6:-2,right:n==="icon"?6:-2,width:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),jsxRuntime.jsx(ui$1.StyledModal,{isOpen:a,onOpenChange:d,size:"md",scrollBehavior:"inside",children:jsxRuntime.jsxs(ui$1.ModalContent,{className:"w-full h-full",children:[jsxRuntime.jsx(ui$1.ModalHeader,{className:"px-4 py-2",children:jsxRuntime.jsx("span",{className:"text-base font-semibold",children:l("tokens.filters.modal.title")})}),jsxRuntime.jsx(ui$1.ModalBody,{className:"px-0 pt-0 pb-4",children:jsxRuntime.jsx(ui$1.ScrollShadow,{children:jsxRuntime.jsx(So,{protocols:e,resolution:t,filters:u,onFiltersChange:p,className:"pb-4"})})}),jsxRuntime.jsx(ui$1.ModalFooter,{className:"px-4",children:jsxRuntime.jsxs("div",{className:"w-full flex justify-between items-center",children:[jsxRuntime.jsx(ui$1.Button,{variant:"light",color:"default",size:"sm",radius:"full",startContent:jsxRuntime.jsx(ui$1.RefreshIcon,{width:16,height:16}),onPress:f,children:l("common.reset")}),jsxRuntime.jsx(ui$1.Button,{color:"primary",size:"sm",radius:"full",onPress:x,children:l("common.apply")})]})})]})})]})}var Ra={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},Rf={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"},Af={height:1,background:"rgba(39,39,42,1)",margin:0};function Aa({protocols:e,resolution:t,filters:o,onFiltersChange:r,iconOnly:s=false,className:n}){let{t:i}=i18n.useTranslation(),[l,a]=react.useState(false),c=react.useRef(null),[m,d]=react.useState(o),u=react.useCallback(()=>{d(void 0);},[]),p=react.useCallback(()=>{r?.(m),a(false);},[m,r]);react.useEffect(()=>{d(o);},[l,o]),react.useEffect(()=>{let x=g=>{c.current&&!c.current.contains(g.target)&&a(false);};return document.addEventListener("mousedown",x),()=>document.removeEventListener("mousedown",x)},[]),react.useEffect(()=>{if(!l)return;let x=g=>{g.key==="Escape"&&a(false);};return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[l]);let f=react.useMemo(()=>Object.values(o||{}).every(x=>x===void 0),[o]);return jsxRuntime.jsxs("div",{ref:c,style:{position:"relative"},children:[jsxRuntime.jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxRuntime.jsxs("button",{type:"button",className:n,style:s?{...Ra,justifyContent:"center",gap:0,width:32,minWidth:32,padding:0}:Ra,onMouseEnter:x=>{x.currentTarget.style.background="rgba(39,39,42,1)";},onMouseLeave:x=>{x.currentTarget.style.background="rgba(39,39,42,0.6)";},onClick:()=>a(x=>!x),children:[jsxRuntime.jsx(ui$1.FilterIcon,{width:16,height:16,className:"flex-none"}),!s&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"hidden sm:block",children:i("tokens.listHeader.filter")}),jsxRuntime.jsx(If,{open:l})]})]}),!f&&jsxRuntime.jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),l&&jsxRuntime.jsxs("div",{style:{...Rf,width:420},children:[jsxRuntime.jsx("div",{style:{padding:"16px 0"},children:jsxRuntime.jsx(ui$1.ScrollShadow,{className:"w-full max-h-120 px-4",children:jsxRuntime.jsx(So,{protocols:e,resolution:t,filters:m,onFiltersChange:d})})}),jsxRuntime.jsx("div",{style:Af}),jsxRuntime.jsxs("div",{style:{padding:"12px 16px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[jsxRuntime.jsx(ui$1.Button,{variant:"light",size:"sm",color:"default",radius:"full",startContent:jsxRuntime.jsx(ui$1.RefreshIcon,{width:16,height:16}),onPress:u,children:i("common.reset")}),jsxRuntime.jsx(ui$1.Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:p,children:i("common.apply")})]})]})]})}function If({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 Q1({popoverPlacement:e="bottom-end",iconOnly:t,className:o,desktopOverlay:r="popover",...s}){let{isMobile:n}=ui$1.useScreen();return n||r==="modal"?jsxRuntime.jsx(Ca,{className:o,...s}):jsxRuntime.jsx(Aa,{placement:e,iconOnly:t,className:o,...s})}function Ma({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:r}=i18n.useTranslation(),s=react.useCallback(n=>{t?.(n);},[t]);return jsxRuntime.jsx(ui$1.StyledPlainTabs,{color:"primary",radius:"lg",selectedKey:e,onSelectionChange:s,"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$1.Tab,{title:r(`common.resolution.${n}`)},n))})}var zf={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},qf={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 Ua({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:r}=i18n.useTranslation(),[s,n]=react.useState(false),i=react.useRef(null),l=react.useCallback(a=>{t?.(a),n(false);},[t]);return react.useEffect(()=>{if(!s)return;let a=m=>{i.current&&!i.current.contains(m.target)&&n(false);},c=m=>{m.key==="Escape"&&n(false);};return document.addEventListener("mousedown",a),document.addEventListener("keydown",c),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",c);}},[s]),jsxRuntime.jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxRuntime.jsxs("button",{type:"button",style:zf,onClick:()=>n(a=>!a),children:[jsxRuntime.jsx("span",{children:e?r(`common.resolution.${e}`):"\u2014"}),jsxRuntime.jsx(ui$1.ChevronDownIcon,{width:14,height:14,className:"text-zinc-500",style:{transition:"transform 0.15s",transform:s?"rotate(180deg)":void 0}})]}),s&&jsxRuntime.jsx("div",{style:qf,children:o.map(a=>jsxRuntime.jsx("button",{type:"button",onClick:()=>l(a),className:ui$1.cn("w-full text-left px-3 py-1.5 rounded-lg text-xs font-medium transition-colors cursor-pointer",a===e?"text-primary bg-primary/10":"text-zinc-400 hover:text-foreground hover:bg-zinc-800"),children:r(`common.resolution.${a}`)},a))})]})}function c2(e){let{isMobile:t}=ui$1.useScreen();return t?jsxRuntime.jsx(Ua,{...e}):jsxRuntime.jsx(Ma,{...e})}var Ba=react.memo(function({token:t}){let{t:o}=i18n.useTranslation(),r=react.useMemo(()=>t.marketData?.bluechipHoldingsRatio,[t.marketData?.bluechipHoldingsRatio]),s=react.useMemo(()=>r!==void 0&&new utils.SafeBigNumber(r).gte(.1),[r]),n=react.useMemo(()=>r===void 0||new utils.SafeBigNumber(r).lt(.05),[r]);return jsxRuntime.jsx(ui$1.StyledTooltip,{content:o("tokens.bluechip.explained"),children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2.5",children:[s&&jsxRuntime.jsx(ui$1.HorsePowerHighIcon,{}),n&&jsxRuntime.jsx(ui$1.HorsePowerLowIcon,{}),!s&&!n&&jsxRuntime.jsx(ui$1.HorsePowerIcon,{}),jsxRuntime.jsx("span",{className:ui$1.cn(s&&"text-bullish",!s&&!n&&"text-bearish",r===void 0&&"text-neutral"),children:utils.formatPercent(r)})]})})});function xg(e){return e.length<=10?e:`${e.slice(0,4)}...${e.slice(-4)}`}var za=react.memo(function({token:t}){let o=ui$1.useCopyToClipboard(),[r,s]=react.useState(false),[n,i]=react.useState(false),l=react.useRef(void 0),a=react.useRef(void 0),{t:c}=i18n.useTranslation(),m=react.useCallback(p=>{p.preventDefault(),p.stopPropagation(),o(t.name,()=>{ui$1.toast.success(c("tokens.copied.name")),s(true),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{s(false);},2e3);});},[o,t.name,c]),d=react.useCallback(p=>{p.preventDefault(),p.stopPropagation(),o(t.address,()=>{ui$1.toast.success(c("tokens.copied.address")),i(true),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{i(false);},2e3);});},[o,t.address,c]);react.useEffect(()=>()=>{l.current&&clearTimeout(l.current),a.current&&clearTimeout(a.current);},[]);let u=hooks.useTickAge(t.createdAt);return jsxRuntime.jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsxRuntime.jsx(xe,{token:t,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:t.symbol}),jsxRuntime.jsx(ui$1.StyledTooltip,{content:t.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:m,children:[jsxRuntime.jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:t.name}),r?jsxRuntime.jsx(ui$1.CheckIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"}):jsxRuntime.jsx(ui$1.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(u)}),jsxRuntime.jsxs("button",{type:"button",className:"group flex items-center gap-1 min-w-0 max-w-28 sm:max-w-36 text-neutral hover:text-primary-200 cursor-pointer",onClick:d,"aria-label":c("tokens.copied.address"),children:[jsxRuntime.jsx("span",{className:"min-w-0 truncate text-left text-xs font-mono text-neutral/70 group-hover:text-primary-200",children:xg(t.address)}),n?jsxRuntime.jsx(ui$1.CheckIcon,{className:"flex-none w-3 h-3"}):jsxRuntime.jsx(ui$1.CopyIcon,{className:"flex-none w-3 h-3"})]}),t.socialMedias?.website&&jsxRuntime.jsx(ui$1.Link,{href:t.socialMedias.website,className:"max-sm:hidden text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.WebsiteIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),t.socialMedias?.twitter&&jsxRuntime.jsx(ui$1.Link,{href:t.socialMedias.twitter,className:"max-sm:hidden text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.TwitterIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),t.socialMedias?.telegram&&jsxRuntime.jsx(ui$1.Link,{href:t.socialMedias.telegram,className:"max-sm:hidden text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.TelegramIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),t.socialMedias?.discord&&jsxRuntime.jsx(ui$1.Link,{href:t.socialMedias.discord,className:"max-sm:hidden text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.DiscordIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),jsxRuntime.jsx(ui$1.Link,{href:utils.searchTwitterUrl(`${t.symbol} OR ${t.address}`),className:"max-sm:hidden text-neutral hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.SearchIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]})]})]})});var qa=react.memo(function({token:t}){let{t:o}=i18n.useTranslation(),r=t.marketData,s=react.useMemo(()=>new utils.SafeBigNumber(r?.top10HoldingsRatio).gte(.1),[r?.top10HoldingsRatio]),n=react.useMemo(()=>new utils.SafeBigNumber(r?.devHoldingsRatio).gte(.1),[r?.devHoldingsRatio]),i=react.useMemo(()=>new utils.SafeBigNumber(r?.sniperHoldingsRatio).gte(.1),[r?.sniperHoldingsRatio]),l=react.useMemo(()=>new utils.SafeBigNumber(r?.insiderHoldingsRatio).gte(.1),[r?.insiderHoldingsRatio]),a=react.useMemo(()=>new utils.SafeBigNumber(r?.bundleHoldingsRatio).gte(.1),[r?.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(q,{icon:jsxRuntime.jsx(ui$1.PeopleIcon,{width:12,height:12}),value:utils.formatAmount(r?.holders),tooltip:o("tokens.tokenInfo.holders"),warning:false,disable:!r?.holders}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.KlineCandlesIcon,{width:12,height:12}),value:utils.formatAmount(r?.proHolders),tooltip:o("tokens.tokenInfo.proHolders"),warning:false,disable:!r?.proHolders}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.StarIcon,{width:12,height:12}),value:utils.formatAmount(r?.kolHolders),tooltip:o("tokens.tokenInfo.kolHolders"),warning:false,disable:!r?.kolHolders}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(r?.top10HoldingsRatio),tooltip:o("tokens.tokenInfo.top10HoldingsRatio"),warning:s,disable:!r?.top10HoldingsRatio||r?.top10HoldingsRatio==="0"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.CookIcon,{width:12,height:12}),value:utils.formatPercent(r?.devHoldingsRatio),tooltip:o("tokens.tokenInfo.devHoldingsRatio"),warning:n,disable:!r?.devHoldingsRatio||r?.devHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.SniperIcon,{width:12,height:12}),value:utils.formatPercent(r?.sniperHoldingsRatio),tooltip:o("tokens.tokenInfo.sniperHoldingsRatio"),warning:i,disable:!r?.sniperHoldingsRatio||r?.sniperHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.RatIcon,{width:12,height:12}),value:utils.formatPercent(r?.insiderHoldingsRatio),tooltip:o("tokens.tokenInfo.insiderHoldingsRatio"),warning:l,disable:!r?.insiderHoldingsRatio||r?.insiderHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(r?.bundleHoldingsRatio),tooltip:o("tokens.tokenInfo.bundleHoldingsRatio"),warning:a,disable:!r?.bundleHoldingsRatio||r?.bundleHoldingsRatio==="0",tooltipPlacement:"bottom"})]})]})});var Qa=react.memo(function({token:t}){let o=react.useMemo(()=>t.marketData?.tvlInUsd,[t.marketData?.tvlInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatAmountInUsd(o)})});var Ga=react.memo(function({token:t}){let o=react.useMemo(()=>t.marketData?.marketCapInUsd,[t.marketData?.marketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatMCapInUsd(o)})});var Ya=react.memo(function({token:t,resolution:o}){let r=react.useMemo(()=>t.marketData?.priceInUsd,[t.marketData?.priceInUsd]),s=react.useMemo(()=>t.stats?.[o]?.priceChange,[t,o]),n=react.useMemo(()=>s?new utils.SafeBigNumber(s).abs().toString():void 0,[s]),i=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.formatPriceInUsd(r)}),jsxRuntime.jsxs("span",{className:ui$1.cn("inline-flex gap-1 items-center text-xs",i?"text-bullish":"text-bearish"),children:[i?jsxRuntime.jsx(ui$1.TriangleUpIcon,{width:10,height:10}):jsxRuntime.jsx(ui$1.TriangleDownIcon,{width:10,height:10}),jsxRuntime.jsx("span",{children:utils.formatPercent(n)})]})]})});var ja=react.memo(function({token:t,resolution:o}){let r=react.useMemo(()=>t.stats?.[o]?.traders,[t.stats?.[o]?.traders]),s=react.useMemo(()=>t.stats?.[o]?.buyers,[t.stats?.[o]?.buyers]),n=react.useMemo(()=>t.stats?.[o]?.sellers,[t.stats?.[o]?.sellers]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(r)}),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(n)})]})]})});var tl=react.memo(function({token:t,resolution:o}){let r=react.useMemo(()=>t.stats?.[o]?.trades,[t.stats?.[o]?.trades]),s=react.useMemo(()=>t.stats?.[o]?.buys,[t.stats?.[o]?.buys]),n=react.useMemo(()=>t.stats?.[o]?.sells,[t.stats?.[o]?.sells]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(r)}),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(n)})]})]})});var rl=react.memo(function({token:t,resolution:o}){let r=react.useMemo(()=>t.stats?.[o]?.volumesInUsd,[t.stats?.[o]?.volumesInUsd]),s=react.useMemo(()=>t.stats?.[o]?.buyVolumesInUsd,[t.stats?.[o]?.buyVolumesInUsd]),n=react.useMemo(()=>t.stats?.[o]?.sellVolumesInUsd,[t.stats?.[o]?.sellVolumesInUsd]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmountInUsd(r)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmountInUsd(s)}),"/",jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmountInUsd(n)})]})]})});var qg=`
|
|
22
22
|
@keyframes tklShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
|
|
23
|
-
`,Og={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 V(e,t,o,r){return {...Og,animationDelay:`${e}ms`,width:t,height:o,...r}}var Ya=10;function Za({rowHeight:e,hasActions:t,isMobile:o}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{children:Ug}),Array.from({length:Ya}).map((r,s)=>jsxRuntime.jsx(Bg,{index:s,rowHeight:e,hasActions:t,isMobile:o,isLast:s===Ya-1},s))]})}function Bg({index:e,rowHeight:t,hasActions:o,isMobile:r,isLast:s}){let n=e*80,i=r?208:320,a=r?40:64,l=r?72:124,d=r?64:97;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:i,padding:r?"0 12px":"0 12px 0 24px",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[jsxRuntime.jsx("div",{style:V(n,a,a,{borderRadius:8,flexShrink:0})}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8,flex:1},children:[jsxRuntime.jsx("div",{style:V(n+30,"60%",20)}),jsxRuntime.jsx("div",{style:V(n+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:V(n+20,72,20)}),jsxRuntime.jsx("div",{style:V(n+40,52,16)})]}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:V(n+30,64,20)})}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:V(n+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:V(n+50,72,20)}),jsxRuntime.jsx("div",{style:V(n+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:V(n+60,48,20)}),jsxRuntime.jsx("div",{style:V(n+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:V(n+70,40,20)}),jsxRuntime.jsx("div",{style:V(n+90,72,16)})]}),jsxRuntime.jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",alignItems:"center",gap:10},children:[jsxRuntime.jsx("div",{style:V(n+80,20,20,{borderRadius:4})}),jsxRuntime.jsx("div",{style:V(n+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:V(n+80,52,16)}),jsxRuntime.jsx("div",{style:V(n+100,40,16)}),jsxRuntime.jsx("div",{style:V(n+120,36,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:V(n+90,48,16)}),jsxRuntime.jsx("div",{style:V(n+110,40,16)}),jsxRuntime.jsx("div",{style:V(n+130,40,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:V(n+100,40,16)}),jsxRuntime.jsx("div",{style:V(n+120,36,16)})]})]}),o&&jsxRuntime.jsx("div",{style:{width:l,padding:r?"0 12px 0 0":"0 24px 0 12px",display:"flex",alignItems:"center",justifyContent:"flex-end"},children:jsxRuntime.jsx("div",{style:V(n+100,d,32,{borderRadius:8})})})]})}var zg=100,qg=200,Qg=72;function ct({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:r,onSelectToken:s,sortDirections:n,onSortChange:i,onScrollingChange:a,height:l=600,itemHeight:d=88,itemHeightMobile:m=72,className:c}){let{isMobile:p}=ui.useScreen(),u=p?m:d,g=react.useMemo(()=>e.slice(0,zg),[e]),f=!!o,x=react.useRef(void 0),k=react.useRef(false),{t:h}=i18n.useTranslation(),b=react.useCallback(H=>_=>{_.preventDefault(),_.stopPropagation(),s?.(H);},[s]),[T,N]=react.useState(n??{});react.useEffect(()=>{N(n??{});},[n]);let y=react.useCallback(H=>_=>{let ut={[H]:_};N(ut),i?.(ut);},[i]),P=react.useCallback(()=>{k.current||(k.current=true,a?.(true)),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{k.current=false,a?.(false);},180);},[a]);react.useEffect(()=>()=>{x.current&&clearTimeout(x.current),k.current&&a?.(false);},[a]);let L=ui.cn("h-full mx-auto",c??(r?"max-w-362 sm:max-w-403":"max-w-331 sm:max-w-372")),M=r?"!w-[1438px] min-w-[1438px] max-w-[1438px]":"!w-[1366px] min-w-[1366px] max-w-[1366px]",te=[jsxRuntime.jsx(ui.TableColumn,{textValue:h("tokens.listHeader.token"),width:p?qg:320,className:ui.cn("bg-[#0a0a0b] sticky left-0 z-10",p&&"!w-[200px] min-w-[200px] max-w-[200px] overflow-hidden","shadow-[1px_0_0_0_rgba(39,39,42,0.6)]"),children:h("tokens.listHeader.token")},"token"),jsxRuntime.jsx(ui.TableColumn,{textValue:h("tokens.listHeader.price"),width:128,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui.Sortable,{sort:T.price,onSortChange:y("price"),children:h("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:T[`priceChange${t}`],onSortChange:y(`priceChange${t}`),children:h("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsxRuntime.jsx(ui.TableColumn,{textValue:h("tokens.listHeader.marketCap"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:T.marketCap,onSortChange:y("marketCap"),children:h("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:h("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:T.tvl,onSortChange:y("tvl"),children:h("tokens.listHeader.liquidity")})},"liquidity"),jsxRuntime.jsx(ui.TableColumn,{textValue:h("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsxRuntime.jsx(ui.Sortable,{sort:T[`volumes${t}`],onSortChange:y(`volumes${t}`),children:h("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsxRuntime.jsx(ui.TableColumn,{textValue:h("tokens.listHeader.txs",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:T[`trades${t}`],onSortChange:y(`trades${t}`),children:h("tokens.listHeader.txs",{resolution:t})})},"txs"),jsxRuntime.jsx(ui.TableColumn,{textValue:h("tokens.listHeader.traders",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:T[`traders${t}`],onSortChange:y(`traders${t}`),children:h("tokens.listHeader.traders",{resolution:t})})},"traders"),jsxRuntime.jsx(ui.TableColumn,{textValue:h("tokens.listHeader.bluechip"),width:128,children:h("tokens.listHeader.bluechip")},"bluechip"),jsxRuntime.jsx(ui.TableColumn,{textValue:h("tokens.listHeader.tokenInfo"),width:308,children:h("tokens.listHeader.tokenInfo")},"tokenInfo"),r?jsxRuntime.jsx(ui.TableColumn,{textValue:h("tokens.listHeader.actions"),width:p?Qg:124,align:"end",className:ui.cn("bg-[#0a0a0b] sticky right-0 z-10",p&&"!w-[72px] min-w-[72px] max-w-[72px]","shadow-[-1px_0_0_0_rgba(39,39,42,0.6)]"),children:h("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean),Se=jsxRuntime.jsx(Za,{rowHeight:u,hasActions:!!r,isMobile:p}),B=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:h("common.empty")})]}),ie=H=>[jsxRuntime.jsx(ui.TableCell,{className:ui.cn("sticky left-0 z-10 bg-[#0a0a0b]",p&&"!w-[200px] min-w-[200px] max-w-[200px] overflow-hidden","shadow-[1px_0_0_0_rgba(39,39,42,0.6)]","transition-colors duration-150","[tr:hover_&]:!bg-[#101211]"),children:jsxRuntime.jsx(Ea,{token:H,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ka,{token:H,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Va,{token:H,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Wa,{token:H,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ja,{token:H,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ga,{token:H,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(qa,{token:H,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ia,{token:H,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Da,{token:H,resolution:t})},"tokenInfo"),r?jsxRuntime.jsx(ui.TableCell,{className:ui.cn("sticky right-0 z-10 bg-[#0a0a0b]",p&&"!w-[72px] min-w-[72px] max-w-[72px]","shadow-[-1px_0_0_0_rgba(39,39,42,0.6)]","transition-colors duration-150","[tr:hover_&]:!bg-[#101211]"),children:jsxRuntime.jsx("div",{className:ui.cn("!absolute inset-y-0 right-3 z-1 w-fit","flex items-center justify-end"),children:jsxRuntime.jsx(r,{token:H,resolution:t})})},"actions"):void 0].filter(Boolean),E=H=>jsxRuntime.jsx(ui.TableRow,{onClick:s?b(H):void 0,children:ie(H)},H.address);return p?jsxRuntime.jsx("div",{"data-token-list-mobile-scroll":true,className:ui.cn("h-full min-h-0 w-full overflow-y-auto overflow-x-hidden overscroll-contain","mx-auto",c??(r?"max-w-362 sm:max-w-403":"max-w-331 sm:max-w-372")),style:{height:l},onScroll:P,children:jsxRuntime.jsx("div",{"data-token-list-horizontal-scroll":true,className:"w-full overflow-x-auto overflow-y-visible",children:jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,radius:"none",classNames:{table:ui.cn("table-fixed",M),wrapper:"p-0 w-full !max-h-none !overflow-x-visible !overflow-y-visible bg-transparent rounded-none shadow-none",loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},"aria-label":"Tokens",children:[jsxRuntime.jsx(ui.TableHeader,{children:te}),jsxRuntime.jsx(ui.TableBody,{items:g,isLoading:f,loadingContent:Se,emptyContent:B,children:E})]})})}):jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:L,classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},onScrollCapture:P,maxTableHeight:l,rowHeight:u,"aria-label":"Tokens",children:[jsxRuntime.jsx(ui.TableHeader,{children:te}),jsxRuntime.jsx(ui.TableBody,{items:e,isLoading:f,loadingContent:Se,emptyContent:B,children:E})]})}function il({token:e,resolution:t,renderAction:o,isLast:r=false,onSelectToken:s,className:n}){let{t:i}=i18n.useTranslation(),a=ui.useCopyToClipboard(),l=hooks.useTickAge(e.createdAt),d=react.useCallback(()=>{s?.(e);},[s,e]),m=react.useCallback(_=>{_.stopPropagation(),a(e.address,()=>ui.toast.success(i("tokens.copied.address")));},[a,e.address,i]),c=e.marketData,p=e.stats?.[t],u=react.useMemo(()=>c?.priceInUsd,[c?.priceInUsd]),g=react.useMemo(()=>p?.priceChange,[p?.priceChange]),f=react.useMemo(()=>g&&new utils.SafeBigNumber(g).gte(0),[g]),x=react.useMemo(()=>g?new utils.SafeBigNumber(g).abs().toString():void 0,[g]),k=react.useMemo(()=>p?.volumesInUsd,[p?.volumesInUsd]),h=react.useMemo(()=>p?.buyVolumesInUsd,[p?.buyVolumesInUsd]),b=react.useMemo(()=>p?.sellVolumesInUsd,[p?.sellVolumesInUsd]),T=react.useMemo(()=>p?.trades,[p?.trades]),N=react.useMemo(()=>c?.marketCapInUsd,[c?.marketCapInUsd]),y=react.useMemo(()=>c?.tvlInUsd,[c?.tvlInUsd]),P=react.useMemo(()=>new utils.SafeBigNumber(c?.top10HoldingsRatio).gte(.1),[c?.top10HoldingsRatio]),L=react.useMemo(()=>new utils.SafeBigNumber(c?.devHoldingsRatio).gte(.1),[c?.devHoldingsRatio]),M=react.useMemo(()=>new utils.SafeBigNumber(c?.sniperHoldingsRatio).gte(.1),[c?.sniperHoldingsRatio]),te=react.useMemo(()=>new utils.SafeBigNumber(c?.insiderHoldingsRatio).gte(.1),[c?.insiderHoldingsRatio]),Se=react.useMemo(()=>new utils.SafeBigNumber(c?.bundleHoldingsRatio).gte(.1),[c?.bundleHoldingsRatio]),B=c?.holders!==void 0&&c.holders>0,ie=c?.kolHolders!==void 0&&c.kolHolders>0,E=c?.bluechipHolders!==void 0&&c.bluechipHolders>0,H=B||ie||E;return jsxRuntime.jsxs("div",{className:ui.cn("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer",!r&&"border-b",n),style:r?void 0:{borderBottomColor:"rgba(39,39,42,0.6)"},onClick:s?d: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(fe,{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:_=>_.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:_=>_.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:_=>_.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:_=>_.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.formatMCapInUsd(N)})]}),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.formatAmountInUsd(y)})]})]}),H&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-neutral leading-none",children:[B&&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(c?.holders)]})}),ie&&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(c?.kolHolders)]})}),E&&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(c?.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.formatPriceInUsd(u)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex items-center gap-0.5 text-[10px] leading-none",f?"text-bullish":"text-bearish"),children:[f?jsxRuntime.jsx(ui.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:8,height:8}),g===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.formatAmountInUsd(k)})]}),jsxRuntime.jsxs("span",{className:"text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmountInUsd(h)}),jsxRuntime.jsx("span",{className:"text-neutral/50 mx-0.5",children:"/"}),jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmountInUsd(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(T)})]})]})]}),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(z,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(c?.top10HoldingsRatio),tooltip:i("tokens.tokenInfo.top10HoldingsRatio"),warning:P,disable:!c?.top10HoldingsRatio||c?.top10HoldingsRatio==="0"}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(c?.devHoldingsRatio),tooltip:i("tokens.tokenInfo.devHoldingsRatio"),warning:L,disable:!c?.devHoldingsRatio||c?.devHoldingsRatio==="0"}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(c?.sniperHoldingsRatio),tooltip:i("tokens.tokenInfo.sniperHoldingsRatio"),warning:M,disable:!c?.sniperHoldingsRatio||c?.sniperHoldingsRatio==="0"}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(c?.insiderHoldingsRatio),tooltip:i("tokens.tokenInfo.insiderHoldingsRatio"),warning:te,disable:!c?.insiderHoldingsRatio||c?.insiderHoldingsRatio==="0"}),jsxRuntime.jsx(z,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(c?.bundleHoldingsRatio),tooltip:i("tokens.tokenInfo.bundleHoldingsRatio"),warning:Se,disable:!c?.bundleHoldingsRatio||c?.bundleHoldingsRatio==="0"})]})}),o&&jsxRuntime.jsx("div",{className:"flex-none relative",onClick:_=>_.stopPropagation(),children:o(e)})]})]})}function al({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"})]})]})}var vx=154,ll=10;function Nx({index:e,style:t,tokens:o,skeletonCount:r,resolution:s,renderAction:n,onSelectToken:i}){return o?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(il,{token:o[e],resolution:s,isLast:e===o.length-1,renderAction:n,onSelectToken:i})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(al,{isLast:e===r-1})})}function zR({tokens:e,resolution:t="24h",isLoading:o,height:r=600,renderAction:s,onSelectToken:n,className:i}){let a=o||!e?void 0:e,l=a?a.length:ll,d=react.useMemo(()=>({tokens:a,skeletonCount:ll,resolution:t,renderAction:s,onSelectToken:n}),[a,t,s,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:r},rowCount:l,rowHeight:vx,overscanCount:5,rowComponent:Nx,rowProps:d})})}var Px=80;function ul(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 Rx(e,t,o){return e===t?o:e===o?t:o||t}function Mr(e){let t=e.token?.address??e.tokenAAddress??"",o=e.token;return {...o,chain:e.chain,address:t,name:o?.name??"",symbol:o?.symbol??"",decimals:o?.decimals??0,createdAt:o?.createdAt??e.createdAt,liquidities:[{poolAddress:e.poolAddress,pairAddress:Rx(t,e.tokenAAddress,e.tokenBAddress),image:e.dex?.image,programAddress:e.dex?.programAddress,protocolFamily:e.dex?.protocolFamily,protocolName:e.dex?.protocolName}]}}function Ax(e){return {...ul(Mr(e)),...e.token??{},liquidities:Mr(e).liquidities,createdAt:e.token?.createdAt??e.createdAt}}function pl(e){return e.sort((t,o)=>{let r=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-r}),e.slice(0,Px)}function Ix(e){if(!(!e?.filters&&!e?.keywords&&!e?.excludeKeywords))return {filters:e.filters,keywords:e.keywords,excludeKeywords:e.excludeKeywords}}function Mx(e){if(!(!e?.sortBy||!e.sortDirection))return {[e.sortBy]:e.sortDirection}}function fl({chain:e,options:t,deferUpdates:o=false,updateFlushInterval:r}){let s=react.useMemo(()=>({chain:e}),[e]),n=react.useRef(s),[i,a]=react.useState(true),[l,d]=react.useState([]);react.useEffect(()=>{JSON.stringify(s)!==JSON.stringify(n.current)&&(a(true),d([]),n.current=s);},[s]);let{data:m,isPending:c}=react$1.useNewPoolsQuery(s);react.useEffect(()=>{m&&(d(h=>{let b=[...h];for(let T of m){let N=Ax(T),y=b.findIndex(P=>P.address===N.address);y>=0?b[y]=X(b[y],N):b.push(N);}return pl(b)}),a(false));},[m]);let p=react.useCallback(h=>{d(b=>{let T=[...b],N=false;for(let y of h){let P=T.findIndex(L=>L.address===y.address);P>=0?(N=true,T[P]=X(T[P],y)):(N=true,T.push(ul(y)));}return N?pl(T):b});},[]),{enqueueUpdates:u}=de({applyUpdates:p,paused:o,flushInterval:r}),g=react.useCallback(h=>{u(h.map(Mr));},[u]);react$1.useNewPoolsSubscription({chain:e},g),react$1.useNewTokensMetadataSubscription({chain:e},u),xe({chain:e,tokens:l,onUpdate:u});let f=react.useMemo(()=>!!(c||i),[c,i]),x=react.useMemo(()=>le(l,Ix(t)),[l,t]);return {tokens:react.useMemo(()=>Ze(x,Mx(t)),[x,t]),isLoading:f}}function aA({chain:e,resolution:t,filters:o,ActionsComponent:r,onSelectToken:s,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,m]=react.useState(),[c,p]=react.useState(false);react.useEffect(()=>{m(void 0);},[e,t]);let u=react.useMemo(()=>{let x=Object.keys(d??{})[0],k=d?.[x];return {...o,...x&&k?{sortBy:x,sortDirection:k}:void 0}},[o,d]),{tokens:g,isLoading:f}=fl({chain:e,options:u,deferUpdates:c});return jsxRuntime.jsx(ct,{tokens:g,isLoading:f,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:r,onSelectToken:s,sortDirections:d,onSortChange:m,onScrollingChange:p,className:l})}function bl({chain:e,filters:t,sortDirections:o,refetchInterval:r=3e4,deferUpdates:s=false,updateFlushInterval:n}){let i=react.useMemo(()=>({chain:e}),[e]),a=react.useRef(i),[l,d]=react.useState(true);react.useEffect(()=>{JSON.stringify(i)!==JSON.stringify(a.current)&&(d(true),c([]),a.current=i);},[i]);let[m,c]=react.useState([]),{data:p,isPending:u}=react$1.useStockTokensQuery(i,{refetchInterval:r});react.useEffect(()=>{p&&(c(b=>Vt(b,p)),d(false));},[p]);let g=react.useCallback(b=>{c(T=>Re(T,b));},[]),{enqueueUpdates:f}=de({applyUpdates:g,paused:s,flushInterval:n});react$1.useStockTokensSubscription({chain:e},f),xe({chain:e,tokens:m,onUpdate:f});let x=react.useMemo(()=>!!(u||l),[u,l]),k=react.useMemo(()=>le(m,t),[m,t]);return {tokens:react.useMemo(()=>Ze(k,o),[k,o]),isLoading:x}}function NA({chain:e,resolution:t,filters:o,ActionsComponent:r,onSelectToken:s,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,m]=react.useState(),[c,p]=react.useState(false);react.useEffect(()=>{m(void 0);},[e,t]);let{tokens:u,isLoading:g}=bl({chain:e,filters:o,sortDirections:d,deferUpdates:c});return jsxRuntime.jsx(ct,{tokens:u,isLoading:g,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:r,onSelectToken:s,sortDirections:d,onSortChange:m,onScrollingChange:p,className:l})}function IA({chain:e,resolution:t,filters:o,ActionsComponent:r,onSelectToken:s,height:n,itemHeight:i,itemHeightMobile:a,className:l}){let[d,m]=react.useState(),[c,p]=react.useState(false);react.useEffect(()=>{m(void 0);},[e,t]);let{tokens:u,isLoading:g}=Zt({chain:e,resolution:t,filters:o,sortDirections:d,deferUpdates:c});return jsxRuntime.jsx(ct,{tokens:u,isLoading:g,resolution:t,height:n,itemHeight:i,itemHeightMobile:a,ActionsComponent:r,onSelectToken:s,sortDirections:d,onSortChange:m,onScrollingChange:p,className:l})}var Xx=15e3;function Jx({chain:e,addresses:t,pollMs:o=Xx}){let r=t.length>0,[s,n]=react.useState({}),i=react$1.useTokensQuery({chain:e,addresses:t},{enabled:r,refetchInterval:o});react.useEffect(()=>{i.data&&n(c=>{let p={};for(let u of i.data){let g=c[u.address];p[u.address]=g?X(g,u):u;}return p});},[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(!r)return;let c=[];for(let p of t)c.push(a.subscribeToken(e,p,u=>{n(g=>{let f=g;for(let x of u){let k=f[x.address];if(!k)continue;let h=X(k,x);h!==k&&(f=f===g?{...g}:f,f[x.address]=h);}return f});}));return ()=>{for(let p of c)p.unsubscribe();}},[a,e,d,r]);let m=react.useCallback(async()=>{await i.refetch();},[i.refetch]);return {tokens:s,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=ai;exports.HolderTagBadge=Rl;exports.HolderTagBadgeList=Ft;exports.HoldingRatioChip=z;exports.NewTokenListWidget=aA;exports.PulseFinalStretchListWidget=jb;exports.PulseList=Ge;exports.PulseListHeader=Fr;exports.PulseListItem=Jr;exports.PulseListItemSkeleton=Io;exports.PulseMigratedListWidget=Db;exports.PulseNewListWidget=vb;exports.SEARCH_MODAL_ID=Ko;exports.SearchHistoryUI=Fn;exports.SearchHistoryWidget=Un;exports.SearchInputUI=On;exports.SearchModal=$T;exports.SearchResultItemUI=qt;exports.SearchResultListHeader=Qt;exports.SearchResultListSkeleton=Xt;exports.SearchResultListWidget=$n;exports.SearchTokensButton=ZT;exports.SearchWidget=Yn;exports.StockTokenListWidget=NA;exports.TRADER_TAG_META=Mo;exports.TokenAbout=Js;exports.TokenAboutWidget=PS;exports.TokenActivitiesList=Us;exports.TokenActivitiesListWidget=dN;exports.TokenAvatar=fe;exports.TokenBasicInfo=is;exports.TokenBasicInfoWidget=Ps;exports.TokenCategories=si;exports.TokenCategoriesWidget=TC;exports.TokenCexListing=oi;exports.TokenCexListingWidget=sC;exports.TokenChartBanner=Bi;exports.TokenChartBannerWidget=gL;exports.TokenDetailHeader=rs;exports.TokenDetailHeaderWidget=N0;exports.TokenDevTokensList=Li;exports.TokenDevTokensListWidget=eL;exports.TokenDevTokensSummary=Pi;exports.TokenHoldersCount=ls;exports.TokenHoldersCountWidget=cs;exports.TokenHoldersList=Is;exports.TokenHoldersListWidget=K0;exports.TokenLiquidities=ei;exports.TokenLiquiditiesWidget=zS;exports.TokenList=ct;exports.TokenListFilter=ho;exports.TokenListFilterModal=ba;exports.TokenListFilterPopover=Na;exports.TokenListFilterWidget=O1;exports.TokenListResolutionSelectorDesktop=wa;exports.TokenListResolutionSelectorMobile=Pa;exports.TokenListResolutionSelectorWidget=j1;exports.TokenMarketCap=ps;exports.TokenMarketCapWidget=fs;exports.TokenOrdersList=xi;exports.TokenOrdersListWidget=bw;exports.TokenPositionsList=mi;exports.TokenPositionsListWidget=ew;exports.TokenPrice=ks;exports.TokenPriceWidget=hs;exports.TokenReusedImageList=_i;exports.TokenReusedImageListWidget=KL;exports.TokenSecurity=qs;exports.TokenSecurityWidget=fS;exports.TokenSimilarTokens=Wi;exports.TokenSimilarTokensWidget=IL;exports.TokenSocialMedia=Ts;exports.TokenSocialMediaWidget=vs;exports.TokenStatsFlipBase=li;exports.TokenStatsFlipHover=di;exports.TokenStatsFlipWidget=OC;exports.TokenTopTradersList=vi;exports.TokenTopTradersListWidget=Ew;exports.TokenTradersOverview=Ws;exports.TokenTradersOverviewWidget=SN;exports.TokenTransactionsOverview=_s;exports.TokenTransactionsOverviewWidget=DN;exports.TokenVolume=Cs;exports.TokenVolumeWidget=Ls;exports.TokenVolumesOverview=Ks;exports.TokenVolumesOverviewWidget=eS;exports.TraderTagBadge=Pl;exports.TraderTagBadgeList=Er;exports.TrendingTokenCard=il;exports.TrendingTokenCardList=zR;exports.TrendingTokenCardSkeleton=al;exports.TrendingTokenListWidget=IA;exports.useNewTokensScript=fl;exports.usePulseFinalStretchListScript=Rn;exports.usePulseMigratedListScript=Sn;exports.usePulseNewListScript=xn;exports.useSearchHistory=zt;exports.useSearchResultListScript=Vn;exports.useSearchScript=Xn;exports.useStockTokensScript=bl;exports.useTokenAboutScript=Ys;exports.useTokenActivitiesListScript=Es;exports.useTokenBasicInfoScript=_y;exports.useTokenCategoriesScript=ii;exports.useTokenCexListingScript=ri;exports.useTokenChartBannerScript=Di;exports.useTokenDetailHeaderScript=ns;exports.useTokenDevTokensListScript=Mi;exports.useTokenHoldersCountScript=ds;exports.useTokenHoldersListScript=Fs;exports.useTokenLiquiditiesScript=ti;exports.useTokenMarketCapScript=us;exports.useTokenOrdersListScript=Ti;exports.useTokenPositionsListScript=fi;exports.useTokenPriceScript=bs;exports.useTokenReusedImageListScript=$i;exports.useTokenSecurityScript=Qs;exports.useTokenSimilarTokensScript=Vi;exports.useTokenSocialMediaScript=ys;exports.useTokenStatsFlipScript=ci;exports.useTokenTopTradersListScript=Si;exports.useTokenTradersOverviewScript=Vs;exports.useTokenTransactionsOverviewScript=$s;exports.useTokenVolumeScript=ws;exports.useTokenVolumesOverviewScript=zs;exports.useTokens=Jx;exports.useTrendingTokensScript=Zt;//# sourceMappingURL=index.js.map
|
|
23
|
+
`,Qg={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 _(e,t,o,r){return {...Qg,animationDelay:`${e}ms`,width:t,height:o,...r}}var nl=10;function sl({rowHeight:e,hasActions:t,isMobile:o}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{children:qg}),Array.from({length:nl}).map((r,s)=>jsxRuntime.jsx(Gg,{index:s,rowHeight:e,hasActions:t,isMobile:o,isLast:s===nl-1},s))]})}function Gg({index:e,rowHeight:t,hasActions:o,isMobile:r,isLast:s}){let n=e*80,i=r?208:320,l=r?40:64,a=r?72:124,c=r?64:97;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:i,padding:r?"0 12px":"0 12px 0 24px",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[jsxRuntime.jsx("div",{style:_(n,l,l,{borderRadius:8,flexShrink:0})}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8,flex:1},children:[jsxRuntime.jsx("div",{style:_(n+30,"60%",20)}),jsxRuntime.jsx("div",{style:_(n+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:_(n+20,72,20)}),jsxRuntime.jsx("div",{style:_(n+40,52,16)})]}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:_(n+30,64,20)})}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:_(n+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:_(n+50,72,20)}),jsxRuntime.jsx("div",{style:_(n+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:_(n+60,48,20)}),jsxRuntime.jsx("div",{style:_(n+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:_(n+70,40,20)}),jsxRuntime.jsx("div",{style:_(n+90,72,16)})]}),jsxRuntime.jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",alignItems:"center",gap:10},children:[jsxRuntime.jsx("div",{style:_(n+80,20,20,{borderRadius:4})}),jsxRuntime.jsx("div",{style:_(n+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:_(n+80,52,16)}),jsxRuntime.jsx("div",{style:_(n+100,40,16)}),jsxRuntime.jsx("div",{style:_(n+120,36,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:_(n+90,48,16)}),jsxRuntime.jsx("div",{style:_(n+110,40,16)}),jsxRuntime.jsx("div",{style:_(n+130,40,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:_(n+100,40,16)}),jsxRuntime.jsx("div",{style:_(n+120,36,16)})]})]}),o&&jsxRuntime.jsx("div",{style:{width:a,padding:r?"0 12px 0 0":"0 24px 0 12px",display:"flex",alignItems:"center",justifyContent:"flex-end"},children:jsxRuntime.jsx("div",{style:_(n+100,c,32,{borderRadius:8})})})]})}var ox=100,rx=200,nx=72;function ut({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:r,onSelectToken:s,sortDirections:n,onSortChange:i,onScrollingChange:l,height:a=600,itemHeight:c=88,itemHeightMobile:m=72,className:d}){let{isMobile:u}=ui$1.useScreen(),p=u?m:c,f=react.useMemo(()=>e.slice(0,ox),[e]),x=!!o,g=react.useRef(void 0),b=react.useRef(false),{t:k}=i18n.useTranslation(),y=react.useCallback(L=>E=>{E.preventDefault(),E.stopPropagation(),s?.(L);},[s]),[h,v]=react.useState(n??{});react.useEffect(()=>{v(n??{});},[n]);let T=react.useCallback(L=>E=>{let pe={[L]:E};v(pe),i?.(pe);},[i]),P=react.useCallback(()=>{b.current||(b.current=true,l?.(true)),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{b.current=false,l?.(false);},180);},[l]);react.useEffect(()=>()=>{g.current&&clearTimeout(g.current),b.current&&l?.(false);},[l]);let A=ui$1.cn("h-full mx-auto",d??(r?"max-w-362 sm:max-w-403":"max-w-331 sm:max-w-372")),w=r?"!w-[1438px] min-w-[1438px] max-w-[1438px]":"!w-[1366px] min-w-[1366px] max-w-[1366px]",$=[jsxRuntime.jsx(ui$1.TableColumn,{textValue:k("tokens.listHeader.token"),width:u?rx:320,className:ui$1.cn("bg-[#0a0a0b] sticky left-0 z-10",u&&"!w-[200px] min-w-[200px] max-w-[200px] overflow-hidden","shadow-[1px_0_0_0_rgba(39,39,42,0.6)]"),children:k("tokens.listHeader.token")},"token"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:k("tokens.listHeader.price"),width:128,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.Sortable,{sort:h.price,onSortChange:T("price"),children:k("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui$1.Sortable,{sort:h[`priceChange${t}`],onSortChange:T(`priceChange${t}`),children:k("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:k("tokens.listHeader.marketCap"),width:106,children:jsxRuntime.jsx(ui$1.Sortable,{sort:h.marketCap,onSortChange:T("marketCap"),children:k("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:k("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui$1.Sortable,{sort:h.tvl,onSortChange:T("tvl"),children:k("tokens.listHeader.liquidity")})},"liquidity"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:k("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsxRuntime.jsx(ui$1.Sortable,{sort:h[`volumes${t}`],onSortChange:T(`volumes${t}`),children:k("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:k("tokens.listHeader.txs",{resolution:t}),width:126,children:jsxRuntime.jsx(ui$1.Sortable,{sort:h[`trades${t}`],onSortChange:T(`trades${t}`),children:k("tokens.listHeader.txs",{resolution:t})})},"txs"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:k("tokens.listHeader.traders",{resolution:t}),width:126,children:jsxRuntime.jsx(ui$1.Sortable,{sort:h[`traders${t}`],onSortChange:T(`traders${t}`),children:k("tokens.listHeader.traders",{resolution:t})})},"traders"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:k("tokens.listHeader.bluechip"),width:128,children:k("tokens.listHeader.bluechip")},"bluechip"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:k("tokens.listHeader.tokenInfo"),width:308,children:k("tokens.listHeader.tokenInfo")},"tokenInfo"),r?jsxRuntime.jsx(ui$1.TableColumn,{textValue:k("tokens.listHeader.actions"),width:u?nx:124,align:"end",className:ui$1.cn("bg-[#0a0a0b] sticky right-0 z-10",u&&"!w-[72px] min-w-[72px] max-w-[72px]","shadow-[-1px_0_0_0_rgba(39,39,42,0.6)]"),children:k("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean),ue=jsxRuntime.jsx(sl,{rowHeight:p,hasActions:!!r,isMobile:u}),J=jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui$1.EmptyIcon,{className:"w-10 h-10 mx-auto text-neutral"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-neutral text-center",children:k("common.empty")})]}),B=L=>[jsxRuntime.jsx(ui$1.TableCell,{className:ui$1.cn("sticky left-0 z-10 bg-[#0a0a0b]",u&&"!w-[200px] min-w-[200px] max-w-[200px] overflow-hidden","shadow-[1px_0_0_0_rgba(39,39,42,0.6)]","transition-colors duration-150","[tr:hover_&]:!bg-[#101211]"),children:jsxRuntime.jsx(za,{token:L,resolution:t})},"token"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(Ya,{token:L,resolution:t})},"price"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(Ga,{token:L,resolution:t})},"marketCap"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(Qa,{token:L,resolution:t})},"liquidity"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(rl,{token:L,resolution:t})},"volumes"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(tl,{token:L,resolution:t})},"trades"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(ja,{token:L,resolution:t})},"traders"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(Ba,{token:L,resolution:t})},"bluechip"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(qa,{token:L,resolution:t})},"tokenInfo"),r?jsxRuntime.jsx(ui$1.TableCell,{className:ui$1.cn("sticky right-0 z-10 bg-[#0a0a0b]",u&&"!w-[72px] min-w-[72px] max-w-[72px]","shadow-[-1px_0_0_0_rgba(39,39,42,0.6)]","transition-colors duration-150","[tr:hover_&]:!bg-[#101211]"),children:jsxRuntime.jsx("div",{className:ui$1.cn("!absolute inset-y-0 right-3 z-1 w-fit","flex items-center justify-end"),children:jsxRuntime.jsx(r,{token:L,resolution:t})})},"actions"):void 0].filter(Boolean),U=L=>jsxRuntime.jsx(ui$1.TableRow,{onClick:s?y(L):void 0,children:B(L)},L.address);return u?jsxRuntime.jsx("div",{"data-token-list-mobile-scroll":true,className:ui$1.cn("h-full min-h-0 w-full overflow-y-auto overflow-x-hidden overscroll-contain","mx-auto",d??(r?"max-w-362 sm:max-w-403":"max-w-331 sm:max-w-372")),style:{height:a},onScroll:P,children:jsxRuntime.jsx("div",{"data-token-list-horizontal-scroll":true,className:"w-full overflow-x-auto overflow-y-visible",children:jsxRuntime.jsxs(ui$1.StyledTable,{isHeaderSticky:true,radius:"none",classNames:{table:ui$1.cn("table-fixed",w),wrapper:"p-0 w-full !max-h-none !overflow-x-visible !overflow-y-visible bg-transparent rounded-none shadow-none",loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},"aria-label":"Tokens",children:[jsxRuntime.jsx(ui$1.TableHeader,{children:$}),jsxRuntime.jsx(ui$1.TableBody,{items:f,isLoading:x,loadingContent:ue,emptyContent:J,children:U})]})})}):jsxRuntime.jsxs(ui$1.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:A,classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},onScrollCapture:P,maxTableHeight:a,rowHeight:p,"aria-label":"Tokens",children:[jsxRuntime.jsx(ui$1.TableHeader,{children:$}),jsxRuntime.jsx(ui$1.TableBody,{items:e,isLoading:x,loadingContent:ue,emptyContent:J,children:U})]})}function pl({token:e,resolution:t,renderAction:o,isLast:r=false,onSelectToken:s,className:n}){let{t:i}=i18n.useTranslation(),l=ui$1.useCopyToClipboard(),a=hooks.useTickAge(e.createdAt),c=react.useCallback(()=>{s?.(e);},[s,e]),m=react.useCallback(E=>{E.stopPropagation(),l(e.address,()=>ui$1.toast.success(i("tokens.copied.address")));},[l,e.address,i]),d=e.marketData,u=e.stats?.[t],p=react.useMemo(()=>d?.priceInUsd,[d?.priceInUsd]),f=react.useMemo(()=>u?.priceChange,[u?.priceChange]),x=react.useMemo(()=>f&&new utils.SafeBigNumber(f).gte(0),[f]),g=react.useMemo(()=>f?new utils.SafeBigNumber(f).abs().toString():void 0,[f]),b=react.useMemo(()=>u?.volumesInUsd,[u?.volumesInUsd]),k=react.useMemo(()=>u?.buyVolumesInUsd,[u?.buyVolumesInUsd]),y=react.useMemo(()=>u?.sellVolumesInUsd,[u?.sellVolumesInUsd]),h=react.useMemo(()=>u?.trades,[u?.trades]),v=react.useMemo(()=>d?.marketCapInUsd,[d?.marketCapInUsd]),T=react.useMemo(()=>d?.tvlInUsd,[d?.tvlInUsd]),P=react.useMemo(()=>new utils.SafeBigNumber(d?.top10HoldingsRatio).gte(.1),[d?.top10HoldingsRatio]),A=react.useMemo(()=>new utils.SafeBigNumber(d?.devHoldingsRatio).gte(.1),[d?.devHoldingsRatio]),w=react.useMemo(()=>new utils.SafeBigNumber(d?.sniperHoldingsRatio).gte(.1),[d?.sniperHoldingsRatio]),$=react.useMemo(()=>new utils.SafeBigNumber(d?.insiderHoldingsRatio).gte(.1),[d?.insiderHoldingsRatio]),ue=react.useMemo(()=>new utils.SafeBigNumber(d?.bundleHoldingsRatio).gte(.1),[d?.bundleHoldingsRatio]),J=d?.holders!==void 0&&d.holders>0,B=d?.kolHolders!==void 0&&d.kolHolders>0,U=d?.bluechipHolders!==void 0&&d.bluechipHolders>0,L=J||B||U;return jsxRuntime.jsxs("div",{className:ui$1.cn("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer",!r&&"border-b",n),style:r?void 0:{borderBottomColor:"rgba(39,39,42,0.6)"},onClick:s?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(xe,{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$1.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$1.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(a)}),e.socialMedias?.website&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.website,className:"text-neutral hover:text-primary",target:"_blank",onClick:E=>E.stopPropagation(),children:jsxRuntime.jsx(ui$1.WebsiteIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.twitter,className:"text-neutral hover:text-primary",target:"_blank",onClick:E=>E.stopPropagation(),children:jsxRuntime.jsx(ui$1.TwitterIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.telegram,className:"text-neutral hover:text-primary",target:"_blank",onClick:E=>E.stopPropagation(),children:jsxRuntime.jsx(ui$1.TelegramIcon,{className:"w-3.5 h-3.5"})}),jsxRuntime.jsx(ui$1.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"max-sm:hidden text-neutral hover:text-primary",target:"_blank",onClick:E=>E.stopPropagation(),children:jsxRuntime.jsx(ui$1.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.formatMCapInUsd(v)})]}),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.formatAmountInUsd(T)})]})]}),L&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-neutral leading-none",children:[J&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:i("tokens.tokenInfo.holders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.PeopleIcon,{className:"w-3 h-3 text-neutral"}),utils.formatAmount(d?.holders)]})}),B&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:i("tokens.tokenInfo.kolHolders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.CrownIcon,{className:"w-3 h-3 text-neutral"}),utils.formatAmount(d?.kolHolders)]})}),U&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:i("tokens.listHeader.bluechip"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.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.formatPriceInUsd(p)}),jsxRuntime.jsxs("span",{className:ui$1.cn("inline-flex items-center gap-0.5 text-[10px] leading-none",x?"text-bullish":"text-bearish"),children:[x?jsxRuntime.jsx(ui$1.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui$1.TriangleDownIcon,{width:8,height:8}),f===void 0?"--":utils.formatPercent(g)]})]}),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.formatAmountInUsd(b)})]}),jsxRuntime.jsxs("span",{className:"text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-bullish",children:utils.formatAmountInUsd(k)}),jsxRuntime.jsx("span",{className:"text-neutral/50 mx-0.5",children:"/"}),jsxRuntime.jsx("span",{className:"text-bearish",children:utils.formatAmountInUsd(y)})]})]}),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(h)})]})]})]}),jsxRuntime.jsxs("div",{className:"mt-2.5 flex items-start gap-4 relative",children:[jsxRuntime.jsx(ui$1.HorizontalScrollContainer,{className:"flex-auto min-w-0",forceShowArrows:true,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(d?.top10HoldingsRatio),tooltip:i("tokens.tokenInfo.top10HoldingsRatio"),warning:P,disable:!d?.top10HoldingsRatio||d?.top10HoldingsRatio==="0"}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.CookIcon,{width:12,height:12}),value:utils.formatPercent(d?.devHoldingsRatio),tooltip:i("tokens.tokenInfo.devHoldingsRatio"),warning:A,disable:!d?.devHoldingsRatio||d?.devHoldingsRatio==="0"}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.SniperIcon,{width:12,height:12}),value:utils.formatPercent(d?.sniperHoldingsRatio),tooltip:i("tokens.tokenInfo.sniperHoldingsRatio"),warning:w,disable:!d?.sniperHoldingsRatio||d?.sniperHoldingsRatio==="0"}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.RatIcon,{width:12,height:12}),value:utils.formatPercent(d?.insiderHoldingsRatio),tooltip:i("tokens.tokenInfo.insiderHoldingsRatio"),warning:$,disable:!d?.insiderHoldingsRatio||d?.insiderHoldingsRatio==="0"}),jsxRuntime.jsx(q,{icon:jsxRuntime.jsx(ui$1.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(d?.bundleHoldingsRatio),tooltip:i("tokens.tokenInfo.bundleHoldingsRatio"),warning:ue,disable:!d?.bundleHoldingsRatio||d?.bundleHoldingsRatio==="0"})]})}),o&&jsxRuntime.jsx("div",{className:"flex-none relative",onClick:E=>E.stopPropagation(),children:o(e)})]})]})}function fl({isLast:e=false}){return jsxRuntime.jsxs("div",{className:ui$1.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"})]})]})}var Mx=154,gl=10;function Fx({index:e,style:t,tokens:o,skeletonCount:r,resolution:s,renderAction:n,onSelectToken:i}){return o?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(pl,{token:o[e],resolution:s,isLast:e===o.length-1,renderAction:n,onSelectToken:i})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(fl,{isLast:e===r-1})})}function oA({tokens:e,resolution:t="24h",isLoading:o,height:r=600,renderAction:s,onSelectToken:n,className:i}){let l=o||!e?void 0:e,a=l?l.length:gl,c=react.useMemo(()=>({tokens:l,skeletonCount:gl,resolution:t,renderAction:s,onSelectToken:n}),[l,t,s,n]);return jsxRuntime.jsx("div",{className:ui$1.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:r},rowCount:a,rowHeight:Mx,overscanCount:5,rowComponent:Fx,rowProps:c})})}var Ex=80;function Tl(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 Wx(e,t,o){return e===t?o:e===o?t:o||t}function Ur(e){let t=e.token?.address??e.tokenAAddress??"",o=e.token;return {...o,chain:e.chain,address:t,name:o?.name??"",symbol:o?.symbol??"",decimals:o?.decimals??0,createdAt:o?.createdAt??e.createdAt,liquidities:[{poolAddress:e.poolAddress,pairAddress:Wx(t,e.tokenAAddress,e.tokenBAddress),image:e.dex?.image,programAddress:e.dex?.programAddress,protocolFamily:e.dex?.protocolFamily,protocolName:e.dex?.protocolName}]}}function Vx(e){return {...Tl(Ur(e)),...e.token??{},liquidities:Ur(e).liquidities,createdAt:e.token?.createdAt??e.createdAt}}function hl(e){return e.sort((t,o)=>{let r=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-r}),e.slice(0,Ex)}function _x(e){if(!(!e?.filters&&!e?.keywords&&!e?.excludeKeywords))return {filters:e.filters,keywords:e.keywords,excludeKeywords:e.excludeKeywords}}function $x(e){if(!(!e?.sortBy||!e.sortDirection))return {[e.sortBy]:e.sortDirection}}function yl({chain:e,options:t,deferUpdates:o=false,updateFlushInterval:r}){let s=react.useMemo(()=>({chain:e}),[e]),n=react.useRef(s),[i,l]=react.useState(true),[a,c]=react.useState([]);react.useEffect(()=>{JSON.stringify(s)!==JSON.stringify(n.current)&&(l(true),c([]),n.current=s);},[s]);let{data:m,isPending:d}=react$1.useNewPoolsQuery(s);react.useEffect(()=>{m&&(c(k=>{let y=[...k];for(let h of m){let v=Vx(h),T=y.findIndex(P=>P.address===v.address);T>=0?y[T]=Y(y[T],v):y.push(v);}return hl(y)}),l(false));},[m]);let u=react.useCallback(k=>{c(y=>{let h=[...y],v=false;for(let T of k){let P=h.findIndex(A=>A.address===T.address);P>=0?(v=true,h[P]=Y(h[P],T)):(v=true,h.push(Tl(T)));}return v?hl(h):y});},[]),{enqueueUpdates:p}=de({applyUpdates:u,paused:o,flushInterval:r}),f=react.useCallback(k=>{p(k.map(Ur));},[p]);react$1.useNewPoolsSubscription({chain:e},f),react$1.useNewTokensMetadataSubscription({chain:e},p),be({chain:e,tokens:a,onUpdate:p});let x=react.useMemo(()=>!!(d||i),[d,i]),g=react.useMemo(()=>le(a,_x(t)),[a,t]);return {tokens:react.useMemo(()=>je(g,$x(t)),[g,t]),isLoading:x}}function bA({chain:e,resolution:t,filters:o,ActionsComponent:r,onSelectToken:s,height:n,itemHeight:i,itemHeightMobile:l,className:a}){let[c,m]=react.useState(),[d,u]=react.useState(false);react.useEffect(()=>{m(void 0);},[e,t]);let p=react.useMemo(()=>{let g=Object.keys(c??{})[0],b=c?.[g];return {...o,...g&&b?{sortBy:g,sortDirection:b}:void 0}},[o,c]),{tokens:f,isLoading:x}=yl({chain:e,options:p,deferUpdates:d});return jsxRuntime.jsx(ut,{tokens:f,isLoading:x,resolution:t,height:n,itemHeight:i,itemHeightMobile:l,ActionsComponent:r,onSelectToken:s,sortDirections:c,onSortChange:m,onScrollingChange:u,className:a})}function Cl({chain:e,filters:t,sortDirections:o,refetchInterval:r=3e4,deferUpdates:s=false,updateFlushInterval:n}){let i=react.useMemo(()=>({chain:e}),[e]),l=react.useRef(i),[a,c]=react.useState(true);react.useEffect(()=>{JSON.stringify(i)!==JSON.stringify(l.current)&&(c(true),d([]),l.current=i);},[i]);let[m,d]=react.useState([]),{data:u,isPending:p}=react$1.useStockTokensQuery(i,{refetchInterval:r});react.useEffect(()=>{u&&(d(y=>zt(y,u)),c(false));},[u]);let f=react.useCallback(y=>{d(h=>Ae(h,y));},[]),{enqueueUpdates:x}=de({applyUpdates:f,paused:s,flushInterval:n});react$1.useStockTokensSubscription({chain:e},x),be({chain:e,tokens:m,onUpdate:x});let g=react.useMemo(()=>!!(p||a),[p,a]),b=react.useMemo(()=>le(m,t),[m,t]);return {tokens:react.useMemo(()=>je(b,o),[b,o]),isLoading:g}}function FA({chain:e,resolution:t,filters:o,ActionsComponent:r,onSelectToken:s,height:n,itemHeight:i,itemHeightMobile:l,className:a}){let[c,m]=react.useState(),[d,u]=react.useState(false);react.useEffect(()=>{m(void 0);},[e,t]);let{tokens:p,isLoading:f}=Cl({chain:e,filters:o,sortDirections:c,deferUpdates:d});return jsxRuntime.jsx(ut,{tokens:p,isLoading:f,resolution:t,height:n,itemHeight:i,itemHeightMobile:l,ActionsComponent:r,onSelectToken:s,sortDirections:c,onSortChange:m,onScrollingChange:u,className:a})}function _A({chain:e,resolution:t,filters:o,ActionsComponent:r,onSelectToken:s,height:n,itemHeight:i,itemHeightMobile:l,className:a}){let[c,m]=react.useState(),[d,u]=react.useState(false);react.useEffect(()=>{m(void 0);},[e,t]);let{tokens:p,isLoading:f}=oo({chain:e,resolution:t,filters:o,sortDirections:c,deferUpdates:d});return jsxRuntime.jsx(ut,{tokens:p,isLoading:f,resolution:t,height:n,itemHeight:i,itemHeightMobile:l,ActionsComponent:r,onSelectToken:s,sortDirections:c,onSortChange:m,onScrollingChange:u,className:a})}var ik=15e3;function ak({chain:e,addresses:t,pollMs:o=ik}){let r=t.length>0,[s,n]=react.useState({}),i=react$1.useTokensQuery({chain:e,addresses:t},{enabled:r,refetchInterval:o});react.useEffect(()=>{i.data&&n(d=>{let u={};for(let p of i.data){let f=d[p.address];u[p.address]=f?Y(f,p):p;}return u});},[i.data]);let{subscribeClient:l}=react$1.useDexClient(),a=react.useRef(""),c=t.slice().sort().join(",");c!==a.current&&(a.current=c),react.useEffect(()=>{if(!r)return;let d=[];for(let u of t)d.push(l.subscribeToken(e,u,p=>{n(f=>{let x=f;for(let g of p){let b=x[g.address];if(!b)continue;let k=Y(b,g);k!==b&&(x=x===f?{...f}:x,x[g.address]=k);}return x});}));return ()=>{for(let u of d)u.unsubscribe();}},[l,e,c,r]);let m=react.useCallback(async()=>{await i.refetch();},[i.refetch]);return {tokens:s,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=fi;exports.HolderTagBadge=Ol;exports.HolderTagBadgeList=Bt;exports.HoldingRatioChip=q;exports.NewTokenListWidget=bA;exports.PulseFinalStretchListWidget=ch;exports.PulseList=Xe;exports.PulseListHeader=Or;exports.PulseListItem=jr;exports.PulseListItemSkeleton=Uo;exports.PulseMigratedListWidget=Jb;exports.PulseNewListWidget=Mb;exports.SEARCH_MODAL_ID=Go;exports.SearchHistoryUI=On;exports.SearchHistoryWidget=Bn;exports.SearchInputUI=En;exports.SearchModal=ey;exports.SearchResultItemUI=Jt;exports.SearchResultListHeader=Yt;exports.SearchResultListSkeleton=jt;exports.SearchResultListWidget=qn;exports.SearchTokensButton=dy;exports.SearchWidget=es;exports.StockTokenListWidget=FA;exports.TRADER_TAG_META=Do;exports.TokenAbout=ri;exports.TokenAboutWidget=EN;exports.TokenActivitiesList=Bs;exports.TokenActivitiesListWidget=TS;exports.TokenAvatar=xe;exports.TokenBasicInfo=ds;exports.TokenBasicInfoWidget=Is;exports.TokenCategories=ui;exports.TokenCategoriesWidget=IC;exports.TokenCexListing=di;exports.TokenCexListingWidget=xC;exports.TokenChartBanner=Ki;exports.TokenChartBannerWidget=wL;exports.TokenDetailHeader=is;exports.TokenDetailHeaderWidget=F0;exports.TokenDevTokensList=Fi;exports.TokenDevTokensListWidget=mL;exports.TokenDevTokensSummary=Ui;exports.TokenHoldersCount=ms;exports.TokenHoldersCountWidget=ps;exports.TokenHoldersList=Fs;exports.TokenHoldersListWidget=tS;exports.TokenLiquidities=ai;exports.TokenLiquiditiesWidget=oC;exports.TokenList=ut;exports.TokenListFilter=So;exports.TokenListFilterModal=Ca;exports.TokenListFilterPopover=Aa;exports.TokenListFilterWidget=Q1;exports.TokenListResolutionSelectorDesktop=Ma;exports.TokenListResolutionSelectorMobile=Ua;exports.TokenListResolutionSelectorWidget=c2;exports.TokenMarketCap=gs;exports.TokenMarketCapWidget=ks;exports.TokenOrdersList=Si;exports.TokenOrdersListWidget=Rw;exports.TokenPositionsList=bi;exports.TokenPositionsListWidget=mw;exports.TokenPrice=Ts;exports.TokenPriceWidget=vs;exports.TokenReusedImageList=Xi;exports.TokenReusedImageListWidget=tP;exports.TokenSecurity=js;exports.TokenSecurityWidget=CN;exports.TokenSimilarTokens=Qi;exports.TokenSimilarTokensWidget=_L;exports.TokenSocialMedia=Ss;exports.TokenSocialMediaWidget=Cs;exports.TokenStatsFlipBase=gi;exports.TokenStatsFlipHover=xi;exports.TokenStatsFlipWidget=QC;exports.TokenTopTradersList=Ri;exports.TokenTopTradersListWidget=Xw;exports.TokenTradersOverview=Qs;exports.TokenTradersOverviewWidget=US;exports.TokenTransactionsOverview=Xs;exports.TokenTransactionsOverviewWidget=JS;exports.TokenVolume=Ps;exports.TokenVolumeWidget=As;exports.TokenVolumesOverview=Ys;exports.TokenVolumesOverviewWidget=mN;exports.TraderTagBadge=Dl;exports.TraderTagBadgeList=Vr;exports.TrendingTokenCard=pl;exports.TrendingTokenCardList=oA;exports.TrendingTokenCardSkeleton=fl;exports.TrendingTokenListWidget=_A;exports.useNewTokensScript=yl;exports.usePulseFinalStretchListScript=Hn;exports.usePulseMigratedListScript=Ln;exports.usePulseNewListScript=hn;exports.useSearchHistory=Xt;exports.useSearchResultListScript=Kn;exports.useSearchScript=Zn;exports.useStockTokensScript=Cl;exports.useTokenAboutScript=ni;exports.useTokenActivitiesListScript=$s;exports.useTokenBasicInfoScript=jy;exports.useTokenCategoriesScript=pi;exports.useTokenCexListingScript=ci;exports.useTokenChartBannerScript=qi;exports.useTokenDetailHeaderScript=as;exports.useTokenDevTokensListScript=Ei;exports.useTokenHoldersCountScript=us;exports.useTokenHoldersListScript=Os;exports.useTokenLiquiditiesScript=li;exports.useTokenMarketCapScript=xs;exports.useTokenOrdersListScript=Li;exports.useTokenPositionsListScript=yi;exports.useTokenPriceScript=ys;exports.useTokenReusedImageListScript=Ji;exports.useTokenSecurityScript=ei;exports.useTokenSimilarTokensScript=Gi;exports.useTokenSocialMediaScript=Ns;exports.useTokenStatsFlipScript=ki;exports.useTokenTopTradersListScript=Ii;exports.useTokenTradersOverviewScript=Gs;exports.useTokenTransactionsOverviewScript=Js;exports.useTokenVolumeScript=Rs;exports.useTokenVolumesOverviewScript=Zs;exports.useTokens=ak;exports.useTrendingTokensScript=oo;//# sourceMappingURL=index.js.map
|
|
24
24
|
//# sourceMappingURL=index.js.map
|