@liberfi.io/ui-tokens 3.0.79 → 3.0.80
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.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +13 -13
package/dist/index.js
CHANGED
|
@@ -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 er({token:e,renderAction:t,isLast:o=false,onSelectToken:n,className:s}){let{t:r}=i18n.useTranslation(),i=ui.useCopyToClipboard(),l=hooks.useTickAge(e.createdAt),a=e.marketData,d=e.stats?.["1h"],m=react.useCallback(()=>{n?.(e);},[n,e]),c=react.useCallback(E=>{E.stopPropagation(),i(e.address,()=>ui.toast.success(r("tokens.copied.address")));},[i,e.address,r]),u=react.useMemo(()=>d?.volumesInUsd,[d?.volumesInUsd]),p=react.useMemo(()=>d?.buyVolumesInUsd,[d?.buyVolumesInUsd]),x=react.useMemo(()=>d?.sellVolumesInUsd,[d?.sellVolumesInUsd]),f=react.useMemo(()=>d?.trades,[d?.trades]),g=react.useMemo(()=>a?.marketCapInUsd,[a?.marketCapInUsd]),h=react.useMemo(()=>a?.tvlInUsd,[a?.tvlInUsd]),k=react.useMemo(()=>{let E=new utils.SafeBigNumber(g);return E.lt(1e3)?"text-foreground":E.lt(1e6)?"text-secondary":"text-primary"},[g]),T=react.useMemo(()=>new utils.SafeBigNumber(a?.top10HoldingsRatio).gte(.1),[a?.top10HoldingsRatio]),v=react.useMemo(()=>new utils.SafeBigNumber(a?.devHoldingsRatio).gte(.1),[a?.devHoldingsRatio]),b=react.useMemo(()=>new utils.SafeBigNumber(a?.insiderHoldingsRatio).gte(.1),[a?.insiderHoldingsRatio]),y=react.useMemo(()=>new utils.SafeBigNumber(a?.sniperHoldingsRatio).gte(.1),[a?.sniperHoldingsRatio]),L=react.useMemo(()=>new utils.SafeBigNumber(a?.bundleHoldingsRatio).gte(.1),[a?.bundleHoldingsRatio]),A=a?.holders!==void 0&&a.holders>0,N=a?.proHolders!==void 0&&a.proHolders>0,K=a?.kolHolders!==void 0&&a.kolHolders>0,fe=A||N||K;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 var(--color-border-subtle)"},onClick:n?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(ke,{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-text-muted hover:text-foreground leading-none",onClick:c,"aria-label":r("tokens.copied.address"),title:r("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":r("tokens.copied.address"),title:r("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-text-muted truncate max-w-20",children:e.name})}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3.5 h-3.5 text-text-muted"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 leading-none",children:[jsxRuntime.jsx("span",{className:"text-[13px] font-mono font-medium text-text-muted",children:utils.formatAge(l)}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-text-muted 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-text-muted 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-text-muted 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-text-muted 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-text-muted",children:"MC"}),jsxRuntime.jsx("span",{className:ui.cn(k),children:utils.formatMCapInUsd(g)})]}),jsxRuntime.jsx("span",{className:"text-text-muted/30",children:"\xB7"}),jsxRuntime.jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-text-muted",children:r("tokens.listHeader.liqShort")}),jsxRuntime.jsx("span",{children:utils.formatAmountInUsd(h)})]})]}),fe&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-text-muted leading-none",children:[A&&jsxRuntime.jsx(ui.StyledTooltip,{content:r("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-text-muted"}),utils.formatAmount(a?.holders)]})}),N&&jsxRuntime.jsx(ui.StyledTooltip,{content:r("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-text-muted"}),utils.formatAmount(a?.proHolders)]})}),K&&jsxRuntime.jsx(ui.StyledTooltip,{content:r("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-text-muted"}),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.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-text-muted",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-positive",children:utils.formatAmountInUsd(p)}),jsxRuntime.jsx("span",{className:"text-text-muted/50 mx-0.5",children:"/"}),jsxRuntime.jsx("span",{className:"text-negative",children:utils.formatAmountInUsd(x)})]})]}),jsxRuntime.jsxs("div",{className:"flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs text-text-muted",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($,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(a?.top10HoldingsRatio),tooltip:r("tokens.tokenInfo.top10HoldingsRatio"),warning:T,disable:!a?.top10HoldingsRatio||a?.top10HoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(a?.devHoldingsRatio),tooltip:r("tokens.tokenInfo.devHoldingsRatio"),warning:v,disable:!a?.devHoldingsRatio||a?.devHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(a?.sniperHoldingsRatio),tooltip:r("tokens.tokenInfo.sniperHoldingsRatio"),warning:y,disable:!a?.sniperHoldingsRatio||a?.sniperHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(a?.insiderHoldingsRatio),tooltip:r("tokens.tokenInfo.insiderHoldingsRatio"),warning:b,disable:!a?.insiderHoldingsRatio||a?.insiderHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(a?.bundleHoldingsRatio),tooltip:r("tokens.tokenInfo.bundleHoldingsRatio"),warning:L,disable:!a?.bundleHoldingsRatio||a?.bundleHoldingsRatio==="0"})]})}),t&&jsxRuntime.jsx("div",{className:"flex-none relative",onClick:E=>E.stopPropagation(),children:t(e)})]})]})}var bd=152,or=10;function vd({index:e,style:t,data:o,skeletonCount:n,renderItemAction:s,onSelectToken:r}){if(!o)return jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Uo,{isLast:e===n-1})});let i=o[e];return i?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(er,{token:i,isLast:e===o.length-1,renderAction:s,onSelectToken:r})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Uo,{isLast:e===o.length-1})})}function Ge({title:e,tokens:t,isLoading:o,itemHeight:n=bd,renderHeaderExtra:s,renderItemAction:r,onSelectToken:i,onPauseChange:l,onScrollingChange:a,className:d,hideHeader:m}){let c=o||!t?void 0:t,u=c?c.length:or,p=react.useMemo(()=>({data:c,skeletonCount:or,renderItemAction:r,onSelectToken:i}),[c,r,i]),[x,f]=react.useState(false),g=react.useRef(void 0),h=react.useRef(false),k=react.useCallback(()=>{f(true),l?.(true);},[l]),T=react.useCallback(()=>{f(false),l?.(false);},[l]),v=react.useCallback(()=>{h.current||(h.current=true,a?.(true)),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{h.current=false,a?.(false);},180);},[a]);return react.useEffect(()=>()=>{g.current&&clearTimeout(g.current),h.current&&a?.(false);},[a]),jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full bg-surface-base overflow-hidden flex flex-col border border-border-subtle/60 rounded-lg",d),onMouseEnter:k,onMouseLeave:T,children:[!m&&jsxRuntime.jsx(Bn,{title:e,isPaused:x,extra:s}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",onScrollCapture:v,children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:u,rowHeight:n,rowComponent:vd,rowProps:p,overscanCount:10})})]})}function Wo(e,t){let o={...e};for(let n of Object.keys(t))t[n]!==void 0&&(o[n]=t[n]);return o}var Nd=["1m","5m","15m","30m","1h","4h","24h"];function Cd(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let n of Nd)t[n]&&(o[n]=e[n]?Wo(e[n],t[n]):t[n]);return o}function wd(e,t){return t?e?Wo(e,t):t:e}function $t(e,t){return t?e?Wo(e,t):t:e}function ee(e,t){let{chain:o,address:n,stats:s,marketData:r,socialMedias:i,security:l,launchedFrom:a,migratedTo:d,...m}=t,c={...e};for(let u of Object.keys(m))m[u]!==void 0&&(c[u]=m[u]);return c.stats=Cd(e.stats,s),c.marketData=wd(e.marketData,r),c.socialMedias=$t(e.socialMedias,i),c.security=$t(e.security,l),c.launchedFrom=$t(e.launchedFrom,a),c.migratedTo=$t(e.migratedTo,d),c}function zt(e,t){let o=new Map(e.map(n=>[n.address,n]));return t.map(n=>{let s=o.get(n.address);return s?ee(s,n):n})}function Ld(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],n=false;for(let s of t){let r=o.findIndex(i=>i.address===s.address);if(r>=0){o[r]=ee(o[r],s),n=true;continue}Ld(s)&&(o.push(s),n=true);}return n?o:e}var Rd=["24h","12h","30m","15m","30s","15s","1m","5m","1h","4h","1s"],Ad=new Set(["price","marketCap","athMarketCap","tvl","holders","top10Holdings","top10Ratio","top100Holdings","top100Ratio","creatorsHoldings","creatorsRatio","createdAt","launchedFromProtocolFamily","migratedToProtocolFamily","tag"]),Id=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 rr(e){for(let t of Rd){if(!e.endsWith(t))continue;let o=e.slice(0,-t.length);return o?{metric:o,resolution:t}:void 0}}function sr(e){if(Ad.has(e))return true;let t=rr(e);return t?Id.has(t.metric):false}function Qt(e,t){switch(t){case "price":return Y(e.marketData?.priceInUsd);case "marketCap":return Y(e.marketData?.marketCapInUsd);case "athMarketCap":return Y(e.marketData?.athMarketCapInUsd);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 nr(e,e.launchedFrom?.protocolFamily);case "migratedToProtocolFamily":return nr(e,e.migratedTo?.protocolFamily);case "tag":return e.tags?.[0];}let o=rr(t);if(!o)return;let n=e.stats,s=n&&o.resolution in n?n[o.resolution]:void 0;switch(o.metric){case "priceChange":return Y(s?.priceChange);case "volumes":return Y(s?.volumesInUsd);case "trades":return Y(s?.trades);case "traders":return Y(s?.traders);case "buys":return Y(s?.buys);case "sells":return Y(s?.sells);default:return}}function nr(e,t){if(t)return utils.parseTokenProtocolFamily(e.chain,t)??t}var Md=new Set(["top10Ratio","top100Ratio","creatorsRatio"]);function ir(e){let t=e.trim().toLowerCase();return t.length>0?t:void 0}function Dd(e){return [e.name,e.symbol].filter(Boolean).join(" ").toLowerCase()}function Hd(e){return Array.isArray(e)?e:void 0}function Fd(e){return Array.isArray(e)?void 0:e}function ar(e,t){if(!Md.has(e))return t;let o=Number(t);return Number.isFinite(o)?o/100:t}function xe(e,t){let o=Fd(t);return o===void 0?void 0:ar(e,o)}function Vo(e,t){return Hd(t)?.map(o=>ar(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 Gt(e,t){if(typeof e=="number"){let o=Number(t);return Number.isFinite(o)&&e===o}return String(e)===String(t)}function Ud(e,t){if(!sr(t.field))return false;let o=Qt(e,t.field),n=o===void 0;if(t.operator==="isNull")return n;if(t.operator==="isNotNull")return !n;if(n)return false;switch(t.operator){case "eq":{let s=xe(t.field,t.value);return s!==void 0&&Gt(o,s)}case "ne":{let s=xe(t.field,t.value);return s!==void 0&&!Gt(o,s)}case "gt":{let s=xe(t.field,t.value),r=s!==void 0?Xe(o,s):void 0;return r!==void 0&&r>0}case "gte":{let s=xe(t.field,t.value),r=s!==void 0?Xe(o,s):void 0;return r!==void 0&&r>=0}case "lt":{let s=xe(t.field,t.value),r=s!==void 0?Xe(o,s):void 0;return r!==void 0&&r<0}case "lte":{let s=xe(t.field,t.value),r=s!==void 0?Xe(o,s):void 0;return r!==void 0&&r<=0}case "between":{let s=Vo(t.field,t.value);if(!s||s.length<2)return false;let r=Xe(o,s[0]),i=Xe(o,s[1]);return r!==void 0&&i!==void 0&&r>=0&&i<=0}case "in":{let s=Vo(t.field,t.value);return s?s.some(r=>Gt(o,r)):false}case "nin":{let s=Vo(t.field,t.value);return s?s.every(r=>!Gt(o,r)):false}case "contains":{let s=xe(t.field,t.value);return s!==void 0&&String(o).includes(String(s))}case "notContains":{let s=xe(t.field,t.value);return s!==void 0&&!String(o).includes(String(s))}case "startsWith":{let s=xe(t.field,t.value);return s!==void 0&&String(o).startsWith(String(s))}case "endsWith":{let s=xe(t.field,t.value);return s!==void 0&&String(o).endsWith(String(s))}default:return false}}function ae(e,t){let o=t?.keywords?.map(ir).filter(r=>r!==void 0),n=t?.excludeKeywords?.map(ir).filter(r=>r!==void 0),s=t?.filters;return !o?.length&&!n?.length&&!s?.length?e:e.filter(r=>{let i=Dd(r);return !(o?.length&&!o.some(l=>i.includes(l))||n?.length&&n.some(l=>i.includes(l))||s?.length&&!s.every(l=>Ud(r,l)))})}function le({applyUpdates:e,paused:t=false,flushInterval:o=500}){let n=react.useRef(e),s=react.useRef(t),r=react.useRef([]),i=react.useRef(void 0),l=react.useRef(void 0);n.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);},[]),d=react.useCallback(()=>{if(a(),s.current){i.current=setTimeout(d,o);return}let u=r.current;u.length!==0&&(r.current=[],n.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,d();});},o));},[d,o]),c=react.useCallback(u=>{u.length!==0&&(r.current.push(...u),m());},[m]);return react.useEffect(()=>{t||d();},[d,t]),react.useEffect(()=>a,[a]),{enqueueUpdates:c,flush:d}}function ur({chain:e,tokens:t,onUpdate:o,enabled:n=true}){let s=react$1.useTokenMarketRuntime(),r=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]),d=()=>{r.current.forEach(m=>m()),r.current.clear();};react.useEffect(()=>d,[e,s,n]),react.useEffect(()=>{if(!n){d();return}let m=new Set(a),c=r.current;for(let[u,p]of c)m.has(u)||(p(),c.delete(u));for(let u of a){if(c.has(u))continue;let p=react$1.tokenMarketKey(e,u),x=s.subscribe(p,g=>{g.token&&i.current([g.token]);}),f=s.retain(p);c.set(u,()=>{x(),f();});}},[a,e,n,s]);}var Kd=80;function hr(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 _d(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:_d(t,e.tokenAAddress,e.tokenBAddress),image:e.dex?.image,programAddress:e.dex?.programAddress,protocolFamily:e.dex?.protocolFamily,protocolName:e.dex?.protocolName}]}}function qd(e){return {...hr(_o(e)),...e.token??{},liquidities:_o(e).liquidities,createdAt:e.token?.createdAt??e.createdAt}}function xr(e){return e.sort((t,o)=>{let n=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-n}),e.slice(0,Kd)}function Tr({chain:e,filters:t,isPaused:o=false,deferUpdates:n=false,updateFlushInterval:s}){let r=react.useMemo(()=>({chain:e}),[e]),i=react.useRef(o);i.current=o;let l=react.useRef(e),[a,d]=react.useState(true),[m,c]=react.useState([]);react.useEffect(()=>{e!==l.current&&(d(true),c([]),l.current=e);},[e]);let{data:u,isPending:p}=react$1.useNewPoolsQuery(r);react.useEffect(()=>{u&&(c(T=>{let v=i.current,b=T.length===0&&u.length>0,y=[...T];for(let L of u){let A=qd(L),N=y.findIndex(K=>K.address===A.address);N>=0?y[N]=ee(y[N],A):(!v||b)&&y.push(A);}return v?y:xr(y)}),d(false));},[u]);let x=react.useCallback(T=>{c(v=>{let b=i.current,y=[...v],L=false;for(let A of T){let N=y.findIndex(K=>K.address===A.address);N>=0?(L=true,y[N]=ee(y[N],A)):b||(L=true,y.push(hr(A)));}return L?b?y:xr(y):v});},[]),{enqueueUpdates:f}=le({applyUpdates:x,paused:n,flushInterval:s}),g=react.useCallback(T=>{f(T.map(_o));},[f]);react$1.useNewPoolsSubscription({chain:e},g),react$1.useNewTokensMetadataSubscription({chain:e},f),ur({chain:e,tokens:m,onUpdate:f});let h=react.useMemo(()=>p||a,[p,a]);return {tokens:react.useMemo(()=>ae(m,t),[m,t]),isLoading:h}}function hT({chain:e,filters:t,title:o,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,className:i,hideHeader:l}){let[a,d]=react.useState(false),[m,c]=react.useState(false),{tokens:u,isLoading:p}=Tr({chain:e,filters:t,isPaused:a,deferUpdates:m}),x=react.useCallback(f=>{d(f);},[]);return jsxRuntime.jsx(Ge,{title:o,tokens:u,isLoading:p,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,onPauseChange:x,onScrollingChange:c,className:i,hideHeader:l})}function he({chain:e,tokens:t,onUpdate:o,enabled:n=true}){let s=react$1.useTokenMarketRuntime(),r=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]),d=()=>{r.current.forEach(m=>m()),r.current.clear();};react.useEffect(()=>d,[e,s,n]),react.useEffect(()=>{if(!n){d();return}let m=new Set(a),c=r.current;for(let[u,p]of c)m.has(u)||(p(),c.delete(u));for(let u of a){if(c.has(u))continue;let p=react$1.tokenMarketKey(e,u),x=s.subscribe(p,g=>{g.token&&i.current([g.token]);}),f=s.retain(p);c.set(u,()=>{x(),f();});}},[a,e,n,s]);}function Lr({chain:e,filters:t,isPaused:o=false,refetchInterval:n=3e4,deferUpdates:s=false,updateFlushInterval:r}){let i=react.useMemo(()=>({chain:e}),[e]),l=react.useRef(o);l.current=o;let a=react.useRef(e),[d,m]=react.useState(true),[c,u]=react.useState([]);react.useEffect(()=>{e!==a.current&&(m(true),u([]),a.current=e);},[e]);let{data:p,isPending:x}=react$1.useMigratedTokensQuery(i,{refetchInterval:n});react.useEffect(()=>{p&&(u(T=>{let v=l.current,b=[...T];for(let y of p){let L=b.findIndex(A=>A.address===y.address);L>=0?b[L]=ee(b[L],y):v||b.unshift(y);}return b}),m(false));},[p]);let f=react.useCallback(T=>{u(v=>Re(v,T));},[]),{enqueueUpdates:g}=le({applyUpdates:f,paused:s,flushInterval:r});he({chain:e,tokens:c,onUpdate:g});let h=react.useMemo(()=>x||d,[x,d]);return {tokens:react.useMemo(()=>ae(c,t),[c,t]),isLoading:h}}function FT({chain:e,filters:t,title:o,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,className:i,hideHeader:l}){let[a,d]=react.useState(false),[m,c]=react.useState(false),{tokens:u,isLoading:p}=Lr({chain:e,filters:t,isPaused:a,deferUpdates:m}),x=react.useCallback(f=>{d(f);},[]);return jsxRuntime.jsx(Ge,{title:o,tokens:u,isLoading:p,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,onPauseChange:x,onScrollingChange:c,className:i,hideHeader:l})}function tc(e){return e.sort((t,o)=>{let n=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-n})}function Mr({chain:e,filters:t,isPaused:o=false,refetchInterval:n=15e3,deferUpdates:s=false,updateFlushInterval:r}){let i=react.useMemo(()=>({chain:e}),[e]),l=react.useRef(o);l.current=o;let a=react.useRef(e),[d,m]=react.useState(true),[c,u]=react.useState([]);react.useEffect(()=>{e!==a.current&&(m(true),u([]),a.current=e);},[e]);let{data:p,isPending:x}=react$1.useFinalStretchTokensQuery(i,{refetchInterval:n});react.useEffect(()=>{p&&(u(T=>{let v=l.current,b=T.length===0&&p.length>0,y=[...T];for(let L of p){let A=y.findIndex(N=>N.address===L.address);A>=0?y[A]=ee(y[A],L):(!v||b)&&y.push(L);}return v?y:tc(y)}),m(false));},[p]);let f=react.useCallback(T=>{u(v=>Re(v,T));},[]),{enqueueUpdates:g}=le({applyUpdates:f,paused:s,flushInterval:r});he({chain:e,tokens:c,onUpdate:g});let h=react.useMemo(()=>x||d,[x,d]);return {tokens:react.useMemo(()=>ae(c,t),[c,t]),isLoading:h}}function XT({chain:e,filters:t,title:o,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,className:i,hideHeader:l}){let[a,d]=react.useState(false),[m,c]=react.useState(false),{tokens:u,isLoading:p}=Mr({chain:e,filters:t,isPaused:a,deferUpdates:m}),x=react.useCallback(f=>{d(f);},[]);return jsxRuntime.jsx(Ge,{title:o,tokens:u,isLoading:p,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,onPauseChange:x,onScrollingChange:c,className:i,hideHeader:l})}var dc=10,cc="liberfi:search_histories";function gt(){return search.createBrowserSearchHistoryStorage({key:cc,fallback:search.createMemorySearchHistoryStorage()})}function mc(e,t){return e.length===t.length&&e.every((o,n)=>o===t[n])}function Fr(){let e=react.useMemo(()=>gt(),[]),t=react.useRef(e.read()),o=()=>{let i=e.read();return mc(t.current,i)?t.current:(t.current=i,i)},n=react.useSyncExternalStore(e.subscribe,o,o),s=react.useCallback(i=>{let l=i.trim();if(!l)return;let a=e.read().filter(d=>d!==l);e.write([l,...a].slice(0,dc));},[e]),r=react.useCallback(()=>{e.clear();},[e]);return {histories:n,addHistory:s,clearHistories:r}}function Br({histories:e,onSelect:t,onClear:o,className:n}){let{t:s}=i18n.useTranslation();return e.length===0?null:jsxRuntime.jsxs("div",{className:ui.cn("px-4 pb-4",n),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-text-muted",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(r=>jsxRuntime.jsx(ui.Chip,{size:"sm",variant:"bordered",className:ui.cn("text-text-muted","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(r),children:r},r))})]})}function Er({onSelect:e,histories:t,onClear:o,className:n}){let s=Fr(),r=t?[...t]:s.histories,i=o??s.clearHistories;return jsxRuntime.jsx(Br,{className:ui.cn(n),histories:r,onSelect:e,onClear:i})}var Nc=["ArrowDown","ArrowUp","Enter","Escape"];function Cc(e){return Nc.includes(e)}function Wr({value:e,onValueChange:t,onClear:o,onEscape:n,onNavigateKey:s,className:r}){let{t:i}=i18n.useTranslation();return jsxRuntime.jsx("div",{className:r,children:jsxRuntime.jsx(ui.StyledInput,{autoFocus:true,variant:"bordered",radius:"full",value:e,onValueChange:t,onKeyDown:l=>{Cc(l.key)&&(l.key!=="Escape"&&l.preventDefault(),s?.(l.key));},placeholder:i("tokens.search.placeholder"),classNames:{inputWrapper:["!bg-surface-strong/60","!border-border-control/50","data-[hover=true]:!bg-surface-strong","group-data-[focus=true]:!bg-surface-strong","group-data-[focus=true]:!border-border-control/80"].join(" ")},startContent:jsxRuntime.jsx(ui.SearchIcon,{width:20,height:20,className:"text-text-muted"}),endContent:e?jsxRuntime.jsx(ui.Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-text-muted",onPress:o,children:jsxRuntime.jsx(ui.XCloseIcon,{width:20,height:20})}):jsxRuntime.jsx(ui.Kbd,{className:"min-w-8 justify-center text-xs text-text-muted bg-transparent border border-border-control/50 rounded-full cursor-pointer select-none",onMouseDown:l=>{l.preventDefault(),n?.();},children:i("common.escape")})})})}function Yt({token:e,highlighted:t=false,className:o}){let{t:n}=i18n.useTranslation(),s=hooks.useTickAge(e.createdAt),r=react.useMemo(()=>e.marketData?.priceInUsd,[e]),i=react.useMemo(()=>e.marketData?.marketCapInUsd,[e]),l=react.useMemo(()=>e.marketData?.tvlInUsd,[e]),a=react.useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),d=react.useMemo(()=>a?new utils.SafeBigNumber(a).abs().toString():void 0,[a]),m=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&&"bg-content2",o),"data-highlighted":t?"true":"false","aria-selected":t,children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2.5",children:[jsxRuntime.jsx(ke,{token:e,className:"w-10 h-10 flex-none",showProtocolFamily:true,classNames:{searchIcon:"w-5 h-5"}}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"font-medium text-sm truncate",children:e.symbol}),jsxRuntime.jsx("span",{className:"text-xs text-primary font-medium",children:utils.formatAge(s)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 text-xs text-text-muted",children:[jsxRuntime.jsxs("span",{children:[n("tokens.listHeader.mcShort")," ",utils.formatMCapInUsd(i)]}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsxs("span",{children:[n("tokens.listHeader.liqShort")," ",utils.formatAmountInUsd(l)]})]})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsxRuntime.jsx("span",{className:"text-xs",children:utils.formatPriceInUsd(r)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex gap-0.5 items-center text-xs",m?"text-positive":"text-negative"),children:[m?jsxRuntime.jsx(ui.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:8,height:8}),jsxRuntime.jsx("span",{children:utils.formatPercent(d)})]})]})]})}function Jt({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-text-muted","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 jt({rows:e=6,className:t}){return jsxRuntime.jsx("div",{className:ui.cn("w-full",t),children:Array.from({length:e}).map((o,n)=>jsxRuntime.jsx(Bc,{},n))})}function $r({keyword:e,chains:t,limit:o=50}){let n=react.useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:s,isLoading:r,isFetchingNextPage:i,hasNextPage:l,fetchNextPage:a}=react$1.useSearchTokensInfiniteQuery(n,{enabled:!!e}),d=react.useMemo(()=>s?.pages.flatMap(m=>m.data)??[],[s]);return {tokens:d,items:d,isLoading:r,isFetchingNextPage:i,hasNextPage:l??false,fetchNextPage:a}}var Xc=56;function Gr({onSelectToken:e,className:t,navigationRef:o,onEscape:n,...s}){let{tokens:r,isLoading:i,isFetchingNextPage:l,hasNextPage:a,fetchNextPage:d}=$r(s),m=react.useRef(null),{height:c}=hooks.useResizeObserver({ref:m}),u=react.useCallback(k=>k<r.length,[r]),p=react.useCallback(async()=>{a&&!l&&await d();},[a,l,d]),x=react.useMemo(()=>a?r.length+1:r.length,[r,a]),f=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:u,loadMoreRows:p,rowCount:x,threshold:5}),g=i?0:r.length,h=search.useSearchKeyboardNavigation({itemCount:g,hasNextPage:a&&!i,isFetchingNextPage:l,onSelectIndex:k=>{let T=r[k];T&&e?.(T);},onRequestNextPage:()=>{a&&!l&&d();},onEscape:()=>n?.()});return o&&(o.current=h),react.useEffect(()=>()=>{o&&o.current===h&&(o.current=null);},[h,o]),react.useEffect(()=>{h.reset();},[s.keyword,h]),i?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Jt,{}),jsxRuntime.jsx(jt,{})]}):r.length===0?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Jt,{}),jsxRuntime.jsx(Jc,{})]}):jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(Jt,{className:"flex-none"}),jsxRuntime.jsx("div",{className:"flex-auto min-h-0",ref:m,children:jsxRuntime.jsx(reactWindow.List,{style:{height:c},onRowsRendered:f,rowComponent:Yc,rowCount:x,rowHeight:Xc,rowProps:{tokens:r,onSelectToken:e,highlightedIndex:h.highlightedIndex},overscanCount:5})})]})}function Yc({index:e,style:t,tokens:o,onSelectToken:n,highlightedIndex:s}){let r=o[e];return r?jsxRuntime.jsx("div",{style:t,"data-index":e,onClick:()=>n?.(r),children:jsxRuntime.jsx(Yt,{token:r,highlighted:s===e})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})}function Jc(){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-text-muted"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-text-muted",children:e("tokens.search.noResults")})]})}function Zc(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 n=t?.[o];if(n!=="asc"&&n!=="desc")return e;let s=e.map((r,i)=>({token:r,index:i,value:Qt(r,o)}));return s.every(({value:r})=>r===void 0)?e:s.sort((r,i)=>{let l=r.value===void 0,a=i.value===void 0;if(l&&a)return r.index-i.index;if(l)return 1;if(a)return -1;let d=Zc(r.value,i.value);return d===0?r.index-i.index:n==="asc"?d:-d}).map(({token:r})=>r)}function oo({chain:e,resolution:t,filters:o,sortDirections:n,refetchInterval:s=3e4,deferUpdates:r=false,updateFlushInterval:i}){let l=react.useMemo(()=>({chain:e,resolution:t}),[e,t]),a=react.useRef(l),[d,m]=react.useState(true);react.useEffect(()=>{JSON.stringify(l)!==JSON.stringify(a.current)&&(m(true),u([]),a.current=l);},[l]);let[c,u]=react.useState([]),{data:p,isPending:x}=react$1.useTrendingTokensQuery(l,{refetchInterval:s});react.useEffect(()=>{p&&(u(v=>zt(v,p)),m(false));},[p]);let f=react.useCallback(v=>{u(b=>Re(b,v));},[]),{enqueueUpdates:g}=le({applyUpdates:f,paused:r,flushInterval:i});react$1.useTrendingTokensSubscription({chain:e},g),he({chain:e,tokens:c,onUpdate:g});let h=react.useMemo(()=>!!(x||d),[x,d]),k=react.useMemo(()=>ae(c,o),[c,o]);return {tokens:react.useMemo(()=>Ze(k,n),[k,n]),isLoading:h}}var sm=types.Chain.ETHEREUM,im="24h",am=56;function Jr({chains:e,onSelectToken:t,className:o}){let n=e?.length===1?e[0]:e?.[0]??sm,{tokens:s,isLoading:r}=oo({chain:n,resolution:im});return jsxRuntime.jsx("div",{className:ui.cn("w-full flex flex-col overflow-hidden",o),children:r?jsxRuntime.jsx(jt,{}):jsxRuntime.jsx("div",{className:"overflow-y-auto",children:s.map(i=>jsxRuntime.jsx("div",{style:{height:am},onClick:()=>t?.(i),children:jsxRuntime.jsx(Yt,{token:i,className:"h-full"})},i.address))})})}function es({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:n}){let s=react.useMemo(()=>gt(),[]),r=search.useSearchController({storage:s,onQueryChange:t??Zr,onDismiss:n??Zr}),i=react.useRef(null),l=r.dismiss,a=react.useCallback(d=>{if(i.current){i.current.onKey(d);return}d==="Escape"&&l();},[l]);return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(Wr,{value:r.text,onValueChange:r.setText,onClear:r.clearQuery,onEscape:r.dismiss,onNavigateKey:a}),r.query?jsxRuntime.jsx(Gr,{className:"flex-auto min-h-0",keyword:r.query,chains:e,onSelectToken:o,navigationRef:i,onEscape:r.dismiss}):jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col overflow-hidden",children:[jsxRuntime.jsx(Er,{histories:r.history,onSelect:r.commitQuery,onClear:r.clearHistory}),jsxRuntime.jsx(Jr,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}function Zr(){}var Go="search";function Ub({id:e=Go}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(vm,{...t})})}function vm({params:e,isOpen:t,onOpenChange:o,onResult:n}){let{t:s}=i18n.useTranslation(),{isMobile:r}=ui.useScreen(),i=react.useCallback(l=>{n(l);},[n]);return jsxRuntime.jsx(ui.StyledModal,{isOpen:t,onOpenChange:o,size:r?"full":"lg",hideCloseButton:true,backdrop:"opaque",radius:"lg",children:jsxRuntime.jsxs(ui.ModalContent,{className:"w-full h-full",style:{borderRadius:r?void 0:14,border:r?void 0:"1px solid var(--color-border-control)",background:"var(--color-surface-interactive)",boxShadow:r?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(es,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function $b({chains:e,onSelectToken:t,className:o}){let{t:n}=i18n.useTranslation(),{isDesktop:s}=ui.useScreen(),{onOpen:r,onClose:i}=uiScaffold.useAsyncModal(Go),l=hooks.useCallbackRef(t),a=hooks.useCallbackRef(async()=>{let m=await r({params:{chains:e}});m&&l(m);}),d=hooks.useCallbackRef(()=>{i();});return react.useEffect(()=>{let m=c=>{let u=document.activeElement,p=!!u&&(u.tagName==="INPUT"||u.tagName==="TEXTAREA"||u.getAttribute("contenteditable")==="true");c.key==="/"&&!p&&(c.preventDefault(),a()),c.key==="Escape"&&(c.preventDefault(),d());};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m);}},[a,d]),s?jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",onPress:a,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-text-muted",o),children:n("tokens.search.placeholder")}):jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",isIconOnly:true,onPress:a,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"})})}var ss=()=>{};function Jb({onKeywordChange:e}){let t=react.useMemo(()=>gt(),[]),o=search.useSearchController({storage:t,onQueryChange:e??ss,onDismiss:ss});return {text:o.text,keyword:o.query,setText:o.setText,setKeyword:o.commitQuery,clearKeyword:o.clearQuery}}function yt(e){return e==null||e===""?"--":utils.formatPercent(Number(e)/100)}function Te(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,n=typeof t=="number"?new Date(t):t,s=Math.max(0,Math.floor((n.getTime()-o.getTime())/1e3));if(s<60)return `${s}s`;let r=Math.floor(s/60);if(r<60)return `${r}m`;let i=Math.floor(r/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 F(e,t){let{token:o,isLoading:n}=react$1.useTokenMarket({chain:e,address:t});return {token:o,isLoading:n}}function je({label:e,totalFormatted:t,buysFormatted:o,sellsFormatted:n,totalValue:s=0,buysValue:r=0,className:i}){let{t:l}=i18n.useTranslation(),a=new utils.SafeBigNumber(s??0),d=new utils.SafeBigNumber(r??0),m=a.eq(0)?0:d.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-text-muted",children:e}),jsxRuntime.jsx("span",{className:"text-xs text-foreground",children:t})]}),jsxRuntime.jsx(ui.Progress,{size:"sm",value:m,classNames:{track:"bg-negative/40",indicator:"bg-positive"},"aria-label":l("tokens.tokenDetail.buyShare",{label:e})}),jsxRuntime.jsxs("div",{className:"flex justify-between gap-4 text-[10px]",children:[jsxRuntime.jsx("span",{className:"text-positive",children:l("tokens.tokenDetail.buys",{value:o})}),jsxRuntime.jsx("span",{className:"text-negative",children:l("tokens.tokenDetail.sells",{value:n})})]})]})}function as({token:e,actions:t,dataStrip:o,className:n,onCopyAddress:s}){let r=e?.address;return jsxRuntime.jsxs("div",{className:ui.cn("flex w-full flex-wrap items-center gap-4 px-4 py-3",n),children:[jsxRuntime.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e&&jsxRuntime.jsx(ke,{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-text-muted",children:e?.name})]}),r&&jsxRuntime.jsxs("button",{type:"button",onClick:()=>s?.(r),className:"flex items-center gap-1 text-[11px] text-text-muted transition-colors hover:text-foreground",title:r,children:[Te(r,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 ls(e,t){return F(e,t)}function cs({price:e,marketCap:t,volume:o,holdersCount:n,socialMedia:s,className:r}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-wrap items-center gap-x-6 gap-y-3",r),children:[e,jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-3",children:[t,o,n]}),jsxRuntime.jsx("div",{className:"ml-auto",children:s})]})}function Ev(e,t){return F(e,t)}function us({holders:e,top10HoldingsRatio:t,top100HoldingsRatio:o,className:n}){let{t:s}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",n),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-text-muted",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-text-muted",children:s("tokens.tokenDetail.holdersSummary")})]})}function ps(e,t){return F(e,t)}function fs({chain:e,address:t,className:o}){let{token:n}=ps(e,t);return jsxRuntime.jsx(us,{holders:n?.marketData?.holders,top10HoldingsRatio:n?.marketData?.top10HoldingsRatio,top100HoldingsRatio:n?.marketData?.top100HoldingsRatio,className:o})}function ks({marketCapInUsd:e,tvlInUsd:t,createdAt:o,className:n}){let{t:s}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",n),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-text-muted",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-text-muted",children:s("tokens.tokenDetail.marketCapSummary")})]})}function xs(e,t){return F(e,t)}function hs({chain:e,address:t,className:o}){let{token:n}=xs(e,t);return jsxRuntime.jsx(ks,{marketCapInUsd:n?.marketData?.marketCapInUsd,tvlInUsd:n?.marketData?.tvlInUsd,createdAt:n?.createdAt,className:o})}function bs({priceInUsd:e,price24hAgoInUsd:t,className:o}){let{t:n}=i18n.useTranslation(),{bearish:s,priceChange:r}=react.useMemo(()=>{if(!e||!t)return {bearish:false,priceChange:void 0};let i=new utils.SafeBigNumber(e),l=new utils.SafeBigNumber(t);return l.lte(0)?{bearish:false,priceChange:void 0}:{bearish:i.lt(l),priceChange:i.minus(l).div(l).abs().toNumber()}},[e,t]);return jsxRuntime.jsxs("div",{className:ui.cn("group flex flex-col gap-1",o),"data-bearish":s,children:[jsxRuntime.jsx("div",{className:"text-base font-medium leading-none text-positive group-data-[bearish=true]:text-negative",children:e?utils.formatPriceInUsd(e):"--"}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-text-muted",children:n("tokens.tokenDetail.change24h")}),jsxRuntime.jsx("span",{className:"text-positive group-data-[bearish=true]:text-negative",children:r!=null?utils.formatPercent(r):"--"})]})]})}function vs(e,t){return F(e,t)}function Ss({chain:e,address:t,className:o}){let{token:n}=vs(e,t);return jsxRuntime.jsx(bs,{priceInUsd:n?.marketData?.priceInUsd,price24hAgoInUsd:n?.stats?.["24h"]?.openPriceInUsd,className:o})}function su(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 Ns({socials:e,className:t,iconSize:o=16}){if(!e)return null;let s=["website","twitter","telegram","discord","github","reddit","youtube","medium"].filter(r=>!!e[r]);return s.length===0?null:jsxRuntime.jsx("div",{className:ui.cn("flex items-center gap-3",t),children:s.map(r=>jsxRuntime.jsx("a",{href:e[r],target:"_blank",rel:"noreferrer noopener",className:"flex items-center justify-center text-text-muted transition-colors hover:text-foreground",style:{width:o,height:o},children:su(r,o)},r))})}function Cs(e,t){return F(e,t)}function ws({chain:e,address:t,className:o,iconSize:n}){let{token:s}=Cs(e,t);return jsxRuntime.jsx(Ns,{socials:s?.socialMedias,className:o,iconSize:n})}function Rs({volumesInUsd:e,trades:t,traders:o,className:n}){let{t:s}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",n),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-text-muted",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-text-muted",children:s("tokens.tokenDetail.volumeSummary")})]})}function As(e,t){return F(e,t)}function Is({chain:e,address:t,className:o}){let{token:n}=As(e,t),s=n?.stats?.["24h"];return jsxRuntime.jsx(Rs,{volumesInUsd:s?.volumesInUsd,trades:s?.trades,traders:s?.traders,className:o})}function Ms({chain:e,address:t,className:o}){return jsxRuntime.jsx(cs,{className:o,price:jsxRuntime.jsx(Ss,{chain:e,address:t}),marketCap:jsxRuntime.jsx(hs,{chain:e,address:t}),volume:jsxRuntime.jsx(Is,{chain:e,address:t}),holdersCount:jsxRuntime.jsx(fs,{chain:e,address:t}),socialMedia:jsxRuntime.jsx(ws,{chain:e,address:t})})}function NN({chain:e,address:t,actions:o,dataStrip:n,className:s,onCopyAddress:r}){let{token:i}=ls(e,t);return jsxRuntime.jsx(as,{token:i,actions:o,dataStrip:n===void 0?jsxRuntime.jsx(Ms,{chain:e,address:t}):n,className:s,onCopyAddress:r})}var fu=["holdingUsd","lastActiveAt"];function Fs({holders:e,isLoading:t,sortBy:o,sortDirection:n,onSortByChange:s,onlyTracked:r=false,onOnlyTrackedChange:i,onLoadMore:l,hasMore:a,now:d=Date.now(),wellKnownAddresses:m,className:c,renderAddress:u}){let{t:p}=i18n.useTranslation(),x=r?e.filter(f=>f.tags&&f.tags.length>0):e;return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",c),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium text-text-muted",children:p("tokens.tokenDetail.holders.title")}),jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-text-muted",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:r,onChange:f=>i?.(f.target.checked)}),p("tokens.tokenDetail.filter.onlyTracked")]})]}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:fu.map(f=>jsxRuntime.jsx("button",{type:"button",onClick:()=>s(f,n??"desc"),className:ui.cn("rounded px-2 py-1 text-[11px] transition-colors",o===f?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground"),children:p(f==="holdingUsd"?"tokens.tokenDetail.columns.value":"tokens.tokenDetail.columns.lastActive")},f))})]}),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-text-muted",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:p("tokens.tokenDetail.columns.wallet")}),jsxRuntime.jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:p("tokens.tokenDetail.columns.tags")}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:p("tokens.tokenDetail.columns.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:p("tokens.tokenDetail.columns.firstHeld")}),jsxRuntime.jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:p("tokens.tokenDetail.columns.lastActive")})]})}),jsxRuntime.jsxs("tbody",{children:[x.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-text-muted",children:p("tokens.tokenDetail.holders.empty")})}),x.map(f=>jsxRuntime.jsx(gu,{holder:f,now:d,wellKnownAddresses:m,renderAddress:u},f.address)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:p("tokens.tokenDetail.loading")})})]})]})}),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-text-muted transition-colors hover:bg-default-200 disabled:opacity-50",children:p("tokens.tokenDetail.loadMore")})})]})}function gu({holder:e,now:t,wellKnownAddresses:o,renderAddress:n}){let s=o?.[e.address],r=react.useMemo(()=>n?n(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-text-muted",children:s}):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-text-muted",children:Te(e.address,6,6)}),[e.address,n,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:r}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(Et,{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-text-muted",children:yt(e.ratio)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:e.startHoldingAt?Pe(e.startHoldingAt,t):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:e.lastActiveAt?Pe(e.lastActiveAt,t):"--"})]})}function Bs({chain:e,address:t,limit:o=50,initialSortBy:n,initialSortDirection:s}){let[r,i]=react.useState(n),[l,a]=react.useState(s),[d,m]=react.useState(void 0),[c,u]=react.useState([]),p=react.useCallback(()=>{m(void 0),u([]);},[]),x=react.useCallback((N,K)=>{N===r&&K===l||(i(N),a(K),p());},[p,r,l]),f=react.useCallback(N=>{x(N,l??"desc");},[x,l]),g=react.useCallback(N=>{N!==l&&(a(N),p());},[p,l]);react.useEffect(()=>{p();},[e,t,p]);let h=react.useMemo(()=>({chain:e,address:t,cursor:d,limit:o,sortBy:r,sortDirection:l}),[e,t,d,o,r,l]),{data:k,isPending:T,isFetching:v}=react$1.useTokenHoldersQuery(h);react.useEffect(()=>{k&&u(N=>d==null?[k]:N[N.length-1]?.endCursor===k.endCursor?N:[...N,k]);},[k,d]),react$1.useTokenSubscription({chain:e,address:t},()=>{});let b=react.useMemo(()=>c.flatMap(N=>N.data),[c]),y=c[c.length-1],L=!!(y?.hasNext&&y.endCursor),A=react.useCallback(()=>{!y?.endCursor||!y.hasNext||m(y.endCursor);},[y]);return {holders:b,isLoading:T||v,sortBy:r,sortDirection:l,setSortBy:f,setSort:x,setSortDirection:g,hasMore:L,loadMore:A}}function zN({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s,initialOnlyTracked:r=false,wellKnownAddresses:i,className:l,renderAddress:a}){let[d,m]=react.useState(r),{holders:c,isLoading:u,sortBy:p,sortDirection:x,setSort:f,hasMore:g,loadMore:h}=Bs({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s});return jsxRuntime.jsx(Fs,{holders:c,isLoading:u,sortBy:p,sortDirection:x,onSortByChange:f,onlyTracked:d,onOnlyTrackedChange:m,wellKnownAddresses:i,hasMore:g,onLoadMore:h,className:l,renderAddress:a})}var Su=["timestamp","totalUsd"],Nu=["all","buy","sell"],Cu=["all","dev","tracked","you"];function Es({activities:e,isLoading:t,sortBy:o,sortDirection:n="desc",onSortByChange:s,typeFilter:r="all",onTypeFilterChange:i,traderFilter:l="all",onTraderFilterChange:a,youWalletAddress:d,currency:m="usd",onCurrencyChange:c,onLoadMore:u,hasMore:p,now:x=Date.now(),nativeDecimals:f=9,nativeSymbol:g="SOL",className:h,onRowClick:k}){let{t:T}=i18n.useTranslation(),v=Lu(e,l,d);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",h),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:[Nu.map(b=>jsxRuntime.jsx("button",{type:"button",onClick:()=>i?.(b),className:ui.cn("rounded px-2 py-1 text-[11px] transition-colors",r===b?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground"),children:T(b==="all"?"tokens.tokenDetail.filter.all":b==="buy"?"tokens.tokenDetail.filter.buys":"tokens.tokenDetail.filter.sells")},b)),jsxRuntime.jsx("span",{className:"mx-1 h-3 w-px bg-default-200","aria-hidden":true}),Cu.map(b=>{let y=l===b,L=b==="you"&&!d;return jsxRuntime.jsx("button",{type:"button",disabled:L,onClick:()=>a?.(b),className:ui.cn("rounded px-2 py-1 text-[11px] transition-colors",y?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground",L&&"cursor-not-allowed opacity-50"),children:T(`tokens.tokenDetail.filter.${b}`)},b)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Pu,{value:m,nativeSymbol:g,onChange:c}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:Su.map(b=>{let y=o===b,L=y&&n==="desc"?"asc":y&&n==="asc"?void 0:"desc",A=L?b:void 0;return jsxRuntime.jsx("button",{type:"button",onClick:()=>s(A,L),className:ui.cn("rounded px-2 py-1 text-[11px] transition-colors",y?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground"),children:T(b==="timestamp"?"tokens.tokenDetail.filter.latest":"tokens.tokenDetail.filter.topUsd")},b)})})]})]}),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-text-muted",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:T("tokens.tokenDetail.columns.side")}),jsxRuntime.jsx("th",{className:"w-[25%] px-3 py-2 text-left font-normal",children:T("tokens.tokenDetail.columns.trader")}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:T("tokens.tokenDetail.columns.amount")}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:T("tokens.tokenDetail.columns.usd")}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:T("tokens.tokenDetail.columns.price")}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:T("tokens.tokenDetail.columns.gas")}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:T("tokens.tokenDetail.columns.age")})]})}),jsxRuntime.jsxs("tbody",{children:[v.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-8 text-center text-text-muted",children:T("tokens.tokenDetail.activities.empty")})}),v.map(b=>jsxRuntime.jsx(Au,{activity:b,now:x,nativeDecimals:f,nativeSymbol:g,currency:m,onRowClick:k},b.txHash)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-4 text-center text-text-muted",children:T("tokens.tokenDetail.loading")})})]})]})}),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-text-muted transition-colors hover:bg-default-200 disabled:opacity-50",children:T("tokens.tokenDetail.loadMore")})})]})}function wu(e){return e.type==="buy"?e.to:e.type==="sell"?e.from:e.to}function Lu(e,t,o){if(t==="all")return e;if(t==="you"){if(!o)return [];let s=o.toLowerCase();return e.filter(r=>r.walletAddress?.toLowerCase()===s)}if(t==="dev")return e.filter(s=>s.traderTags?.some(r=>r==="dev"));let n=new Set(["kol","smart","bluechip"]);return e.filter(s=>s.traderTags?.some(r=>n.has(r)))}function Pu({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-text-muted hover:text-foreground"),children:s.label},s.k))})}function Ru(e,t,o){if(!e)return "--";let n=Number(e)/Math.pow(10,t);return Number.isFinite(n)?`${utils.formatAmount(n)} ${o}`:"--"}function Au({activity:e,now:t,nativeDecimals:o,nativeSymbol:n,currency:s,onRowClick:r}){let i=wu(e),l=e.type==="buy"?"Buy":e.type==="sell"?"Sell":e.type.replace(/_/g," "),a=e.type==="buy"?"text-positive":e.type==="sell"?"text-negative":"text-text-muted";return jsxRuntime.jsxs("tr",{className:ui.cn("border-b border-default-50 hover:bg-default-50/60",r&&"cursor-pointer"),onClick:r?()=>r(e):void 0,children:[jsxRuntime.jsx("td",{className:ui.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-text-muted",children:Te(e.walletAddress,6,6)}),jsxRuntime.jsx(Kn,{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-text-muted",children:i.priceInUsd?`$${utils.formatPrice(i.priceInUsd)}`:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:Ru(e.gasFee,o,n)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:Pe(e.time,t)})]})}var Iu=500;function tn({sortBy:e,sortDirection:t,typeFilter:o}){return {getKey:en,compare:(n,s)=>Hu(n,s,e,t),include:n=>Du(n,o),merge:(n,s,r)=>r.incomingSource==="live"?{item:s,placement:"incoming"}:r.previousSource==="live"?{item:n,placement:"previous"}:{item:n,placement:"previous"},maxLiveItems:Iu}}function _s(e){return Object.freeze({cursor:null,generation:e,mode:"replace"})}function qs(e=tn({sortDirection:"desc",typeFilter:"all"})){let{snapshot:t}=realtimeCursorCollection.createRealtimeCursorCollection(e);return {collection:t,request:_s(t.generation)}}function Nt(e,t,o){let{reduce:n}=realtimeCursorCollection.createRealtimeCursorCollection(o);switch(t.type){case "reset":{let s=n(e.collection,{type:"reset"});return {collection:s,request:_s(s.generation)}}case "load-more":return Mu(e);case "live":return t.items.length===0?e:{collection:n(e.collection,{type:"live",items:t.items}),request:e.request};case "page":return t.request.mode==="append"&&t.nextCursor===e.collection.nextCursor?e:{collection:n(e.collection,{type:"page",mode:t.request.mode,generation:t.request.generation,items:t.items,nextCursor:t.nextCursor,hasNextPage:t.hasNextPage}),request:e.request};default:return t}}function Mu(e){let{collection:t,request:o}=e;return !t.hasNextPage||t.nextCursor==null||o.mode==="append"&&o.cursor===t.nextCursor&&o.generation===t.generation?e:{collection:t,request:Object.freeze({cursor:t.nextCursor,generation:t.generation,mode:"append"})}}function Du(e,t){return t==="all"?true:e.type===t}function Hu(e,t,o,n){let r=(o??"timestamp")==="totalUsd"?jo(Vs(e),Vs(t)):jo(so(e),so(t)),i=Ws(r,n);if(i!==0)return i;let l=Ws(jo(so(e),so(t)),"desc");return l!==0?l:en(e).localeCompare(en(t))}function Ws(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 Vs(e){let t=e.type==="sell"?e.from:e.to,o=Number(t.amountInUsd);return Number.isFinite(o)?o:0}function en(e){return e.txHash}function Qs({chain:e,address:t,limit:o=50,initialSortBy:n,initialSortDirection:s="desc",initialTypeFilter:r="all"}){let[i,l]=react.useState(n),[a,d]=react.useState(s),[m,c]=react.useState(r),u=react.useMemo(()=>tn({sortBy:i,sortDirection:a,typeFilter:m}),[i,a,m]),p=react.useRef(u);p.current=u;let[x,f]=react.useState(()=>qs(u)),g=react.useRef(true),h=react.useCallback(()=>{f(P=>Nt(P,{type:"reset"},p.current));},[]),k=react.useCallback((P,Q)=>{let ut=Q??(P===i?a:"desc");P===i&&ut===a||(l(P),d(ut),h());},[i,a,h]),T=react.useCallback(P=>{P!==a&&(d(P),h());},[a,h]),v=react.useCallback(P=>{P!==m&&(c(P),h());},[m,h]);react.useEffect(()=>{if(g.current){g.current=false;return}h();},[e,t,h]);let b=m==="all"?void 0:m,{collection:y,request:L}=x,A=react.useMemo(()=>({chain:e,address:t,cursor:L.cursor??void 0,limit:o,sortBy:i,sortDirection:a,type:b}),[e,t,L,o,i,a,b]),{data:N,isPending:K,isFetching:fe}=react$1.useTokenActivitiesQuery(A);react.useEffect(()=>{N&&f(P=>Nt(P,{type:"page",request:L,items:N.data,nextCursor:N.endCursor??null,hasNextPage:!!N.hasNext},u));},[N,L,u]),react$1.useTokenActivitiesSubscription({chain:e,address:t},P=>{P?.length&&f(Q=>Nt(Q,{type:"live",items:P},u));});let E=react.useMemo(()=>y.items.slice(),[y]),W=!!(y.hasNextPage&&y.nextCursor),ge=react.useCallback(()=>{f(P=>Nt(P,{type:"load-more"},u));},[u]);return {activities:E,isLoading:K||fe,sortBy:i,sortDirection:a,setSortBy:k,setSortDirection:T,typeFilter:m,setTypeFilter:v,hasMore:W,loadMore:ge}}function gC({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s,initialTypeFilter:r,initialTraderFilter:i="all",initialCurrency:l="usd",youWalletAddress:a,nativeDecimals:d,nativeSymbol:m,className:c,onRowClick:u}){let[p,x]=react.useState(i),[f,g]=react.useState(l),{activities:h,isLoading:k,sortBy:T,sortDirection:v,setSortBy:b,typeFilter:y,setTypeFilter:L,hasMore:A,loadMore:N}=Qs({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s,initialTypeFilter:r});return jsxRuntime.jsx(Es,{activities:h,isLoading:k,sortBy:T,sortDirection:v,onSortByChange:b,typeFilter:y,onTypeFilterChange:L,traderFilter:p,onTraderFilterChange:x,youWalletAddress:a,currency:f,onCurrencyChange:g,hasMore:A,onLoadMore:N,className:c,nativeDecimals:d,nativeSymbol:m,onRowClick:u})}function Xs({stats:e,resolution:t,className:o}){let n=e?.[t],s=n?.traders??0,r=n?.buyers??0,i=n?.sellers??0;return jsxRuntime.jsx(je,{className:o,label:`Traders (${t})`,totalFormatted:utils.formatAmount(s),buysFormatted:utils.formatAmount(r),sellsFormatted:utils.formatAmount(i),totalValue:s,buysValue:r})}function Ys(e,t){return F(e,t)}function AC({chain:e,address:t,resolution:o="24h",className:n}){let{token:s}=Ys(e,t);return jsxRuntime.jsx(Xs,{stats:s?.stats,resolution:o,className:n})}function Js({stats:e,resolution:t,className:o}){let n=e?.[t],s=n?.trades??0,r=n?.buys??0,i=n?.sells??0;return jsxRuntime.jsx(je,{className:o,label:`Transactions (${t})`,totalFormatted:utils.formatAmount(s),buysFormatted:utils.formatAmount(r),sellsFormatted:utils.formatAmount(i),totalValue:s,buysValue:r})}function Zs(e,t){return F(e,t)}function $C({chain:e,address:t,resolution:o="24h",className:n}){let{token:s}=Zs(e,t);return jsxRuntime.jsx(Js,{stats:s?.stats,resolution:o,className:n})}function js({stats:e,resolution:t,className:o}){let n=e?.[t],s=n?.volumesInUsd??"0",r=n?.buyVolumesInUsd??"0",i=n?.sellVolumesInUsd??"0";return jsxRuntime.jsx(je,{className:o,label:`Volume (${t})`,totalFormatted:utils.formatAmountInUsd(s),buysFormatted:utils.formatAmountInUsd(r),sellsFormatted:utils.formatAmountInUsd(i),totalValue:s,buysValue:r})}function ei(e,t){return F(e,t)}function i0({chain:e,address:t,resolution:o="24h",className:n}){let{token:s}=ei(e,t);return jsxRuntime.jsx(js,{stats:s?.stats,resolution:o,className:n})}function oi({security:e,externalUrl:t,externalLabel:o,className:n}){let{t:s}=i18n.useTranslation(),r=[{title:s("tokens.tokenDetail.security.transferFee"),value:e?.hasTransferFee,safeWhen:false,description:s("tokens.tokenDetail.security.transferFeeDescription")},{title:s("tokens.tokenDetail.security.feeNotUpgradable"),value:e?.isTransferFeeUpgradable,safeWhen:false,description:s("tokens.tokenDetail.security.feeNotUpgradableDescription")},{title:s("tokens.tokenDetail.security.transferable"),value:e?.isTransferable,safeWhen:true,description:s("tokens.tokenDetail.security.transferableDescription")},{title:s("tokens.tokenDetail.security.notFreezable"),value:e?.isFreezable,safeWhen:false,description:s("tokens.tokenDetail.security.notFreezableDescription")},{title:s("tokens.tokenDetail.security.notClosable"),value:e?.isClosable,safeWhen:false,description:s("tokens.tokenDetail.security.notClosableDescription")}],i=r.every(l=>l.value!==void 0&&l.value===l.safeWhen);return jsxRuntime.jsxs("section",{className:ui.cn("flex w-full flex-col gap-3",n),children:[jsxRuntime.jsxs("div",{className:"flex items-baseline justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:s("tokens.tokenDetail.security.title")}),jsxRuntime.jsx("span",{className:ui.cn("text-xs",e===void 0?"text-text-muted":i?"text-success-500":"text-danger-500"),children:e===void 0?"--":s(i?"tokens.tokenDetail.security.safe":"tokens.tokenDetail.security.review")})]}),jsxRuntime.jsx("div",{className:"flex flex-col",children:r.map(l=>jsxRuntime.jsx(qu,{...l},l.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-text-muted transition-colors hover:text-foreground",children:o})})]})}function qu({title:e,value:t,safeWhen:o,description:n}){let{t:s}=i18n.useTranslation(),r=t!==void 0&&t===o,i=t===void 0?"--":s(r?"tokens.tokenDetail.security.ok":"tokens.tokenDetail.security.risk");return jsxRuntime.jsxs("div",{className:"flex h-8 items-center justify-between gap-2",children:[jsxRuntime.jsx("span",{className:"text-xs text-text-muted",title:n,children:e}),jsxRuntime.jsx("span",{className:ui.cn("text-xs",t===void 0?"text-text-muted":r?"text-success-500":"text-danger-500"),children:i})]})}function ni(e,t){let{data:o,isLoading:n}=react$1.useTokenSecurityQuery({chain:e,address:t});return {security:o,isLoading:n}}function b0({chain:e,address:t,externalUrl:o,externalLabel:n,className:s}){let{security:r}=ni(e,t);return jsxRuntime.jsx(oi,{security:r,externalUrl:o,externalLabel:n,className:s})}function ri({token:e,className:t}){let{t:o}=i18n.useTranslation();return e?jsxRuntime.jsxs("section",{className:ui.cn("flex w-full flex-col gap-2",t),children:[jsxRuntime.jsx("div",{className:"text-sm font-medium text-foreground",children:o("tokens.tokenDetail.about",{symbol:e.symbol})}),e.description?jsxRuntime.jsx("p",{className:"whitespace-pre-line text-xs text-text-muted",children:e.description}):jsxRuntime.jsx("p",{className:"text-xs text-text-muted",children:o("tokens.tokenDetail.noDescription")})]}):null}function si(e,t){return F(e,t)}function U0({chain:e,address:t,className:o}){let{token:n}=si(e,t);return jsxRuntime.jsx(ri,{token:n,className:o})}function li({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:n,onPoolClick:s}){let{t:r}=i18n.useTranslation(),[i,l]=react.useState(!e||e.length<=o),a=react.useCallback(()=>l(d=>!d),[]);return jsxRuntime.jsxs("section",{className:ui.cn("flex w-full flex-col gap-3",n),children:[jsxRuntime.jsxs("div",{className:"flex items-baseline justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:r("tokens.tokenDetail.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-text-muted",children:r("tokens.tokenDetail.noPools")}),e&&e.length>0&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-2",children:[e.map((d,m)=>jsxRuntime.jsxs("div",{className:ui.cn("flex h-10 w-full items-center justify-between overflow-hidden text-xs",m>=o&&!i&&"hidden",s&&"cursor-pointer hover:bg-default-50"),onClick:s?()=>s(d):void 0,children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-0.5",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:d.protocolFamily??d.protocolName??r("tokens.tokenDetail.unknownProtocol")}),d.poolAddress&&jsxRuntime.jsx("span",{className:"font-mono text-[10px] text-text-muted",children:r("tokens.tokenDetail.poolAddress",{address:Te(d.poolAddress,6,6)})})]}),jsxRuntime.jsx("div",{className:"text-text-muted",children:utils.formatAmountInUsd(d.tvlInUsd??0)})]},d.poolAddress??`${d.protocolFamily}-${m}`)),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-text-muted transition-colors hover:text-foreground",children:r(i?"tokens.tokenDetail.showLess":"tokens.tokenDetail.showMore")})})]})]})}function di(e,t){return F(e,t)}function ew({chain:e,address:t,collapseAt:o,className:n,onPoolClick:s}){let{token:r}=di(e,t);return jsxRuntime.jsx(li,{liquidities:r?.liquidities,totalTvlInUsd:r?.marketData?.tvlInUsd,collapseAt:o,className:n,onPoolClick:s})}function ci({cexes:e,collapseAt:t=4,className:o}){let{t:n}=i18n.useTranslation(),[s,r]=react.useState(!e||e.length<=t),i=react.useCallback(()=>r(l=>!l),[]);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:n("tokens.tokenDetail.cexListings")}),jsxRuntime.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((l,a)=>{let d=a>=t&&!s,m=jsxRuntime.jsx(ui.Chip,{startContent:l.logo?jsxRuntime.jsx(ui.Image,{src:l.logo,width:20,height:20,alt:l.name}):void 0,className:ui.cn("bg-default-100 text-xs",d&&"hidden"),children:l.name},l.id);return l.url?jsxRuntime.jsx("a",{href:l.url,target:"_blank",rel:"noreferrer noopener",className:ui.cn(d&&"hidden"),children:m},l.id):m})}),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-text-muted transition-colors hover:text-foreground",children:n(s?"tokens.tokenDetail.showLess":"tokens.tokenDetail.showMore")})})]})}function mi(e){return {cexes:e}}function gw({cexes:e,collapseAt:t,className:o}){let{cexes:n}=mi(e);return jsxRuntime.jsx(ci,{cexes:n,collapseAt:t,className:o})}function pi({categories:e,collapseAt:t=4,className:o,onCategoryClick:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(!e||e.length<=t),l=react.useCallback(()=>i(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:s("tokens.tokenDetail.categories")}),jsxRuntime.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((a,d)=>{let m=d>=t&&!r;return jsxRuntime.jsx(ui.Chip,{size:"sm",className:ui.cn("bg-default-100",m&&"hidden",n&&"cursor-pointer"),onClick:n?()=>n(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:l,className:"rounded px-2 py-1 text-xs text-text-muted transition-colors hover:text-foreground",children:s(r?"tokens.tokenDetail.showLess":"tokens.tokenDetail.showMore")})})]})}function fi(e,t){return F(e,t)}function Iw({chain:e,address:t,collapseAt:o,className:n,onCategoryClick:s}){let{token:r}=fi(e,t);return jsxRuntime.jsx(pi,{categories:r?.tags,collapseAt:o,className:n,onCategoryClick:s})}var gi=["5m","1h","4h","24h"];function ki({stats:e,resolution:t,className:o}){let{t:n}=i18n.useTranslation(),s=e?.[t],r=new utils.SafeBigNumber(s?.buyVolumesInUsd??0),i=new utils.SafeBigNumber(s?.sellVolumesInUsd??0),l=r.plus(i),a=r.minus(i),d=l.eq(0)?50:Math.min(100,Math.max(0,r.div(l).times(100).toNumber())),m=[{label:`${t} Vol`,value:utils.formatAmountInUsd(l.toString()),className:"text-foreground"},{label:n("tokens.tokenDetail.stats.buys"),value:utils.formatAmountInUsd(r.toString()),className:"text-positive"},{label:n("tokens.tokenDetail.stats.sells"),value:utils.formatAmountInUsd(i.toString()),className:"text-negative"},{label:n("tokens.tokenDetail.stats.netVolume"),value:utils.formatAmountInUsd(a.abs().toString()),className:a.gte(0)?"text-positive":"text-negative"}];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:m.map(c=>jsxRuntime.jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] px-2",children:[jsxRuntime.jsx("span",{className:"text-[10px] leading-none text-text-muted",children:c.label}),jsxRuntime.jsx("span",{className:ui.cn("text-[13px] font-medium leading-none tabular-nums",c.className),children:c.value})]},c.label))}),jsxRuntime.jsx("div",{className:"relative h-[2px] w-full overflow-hidden bg-negative",children:jsxRuntime.jsx("div",{className:"absolute inset-y-0 left-0 bg-positive transition-[width] duration-200 ease-out",style:{width:`${d}%`}})})]})}function xi({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(n=>{let r=e?.[n]?.priceChange,i=r?new utils.SafeBigNumber(r):void 0,l=i?i.gte(0):void 0,a=n,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-text-muted",children:a}),jsxRuntime.jsx("span",{className:ui.cn("text-[13px] font-medium leading-none tabular-nums",l===void 0?"text-foreground":l?"text-positive":"text-negative"),children:d})]},n)})})}function hi({chain:e,address:t}){let{data:o,isLoading:n}=react$1.useTokenStatsQuery({chain:e,address:t});return {stats:o,isLoading:n}}function Gw({chain:e,address:t,baseResolution:o="5m",hoverResolutions:n=gi,height:s=64,className:r}){let{stats:i}=hi({chain:e,address:t});return jsxRuntime.jsx(uiScaffold.StatsFlipPanel,{className:r,height:s,base:jsxRuntime.jsx(ki,{stats:i,resolution:o}),hover:jsxRuntime.jsx(xi,{stats:i,resolutions:n})})}function Ti({positions:e,isLoading:t,hasMore:o,onLoadMore:n,currency:s="usd",onCurrencyChange:r,showHidden:i=false,onShowHiddenChange:l,nativeSymbol:a,renderActions:d,className:m}){let{t:c}=i18n.useTranslation(),u=a??c("tokens.tokenDetail.native");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-text-muted",children:c("tokens.tokenDetail.positions.title")}),jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-text-muted",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:i,onChange:p=>l?.(p.target.checked)}),c("tokens.tokenDetail.filter.showHidden")]})]}),jsxRuntime.jsx(Sp,{value:s,nativeSymbol:u,onChange:r})]}),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-text-muted",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:c("tokens.tokenDetail.columns.token")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:c("tokens.tokenDetail.columns.bought")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:c("tokens.tokenDetail.columns.sold")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:c("tokens.tokenDetail.columns.remaining")}),jsxRuntime.jsx("th",{className:"w-[18%] px-3 py-2 text-right font-normal",children:c("tokens.tokenDetail.columns.pnl")}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:c("tokens.tokenDetail.columns.actions")})]})}),jsxRuntime.jsxs("tbody",{children:[e.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-text-muted",children:c("tokens.tokenDetail.positions.empty")})}),e.map(p=>jsxRuntime.jsx(Np,{position:p,currency:s,renderActions:d},`${p.chain}:${p.address}`)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:c("tokens.tokenDetail.loading")})})]})]})}),o&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.jsx("button",{type:"button",onClick:n,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-text-muted transition-colors hover:bg-default-200 disabled:opacity-50",children:c("tokens.tokenDetail.loadMore")})})]})}function Sp({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-text-muted hover:text-foreground"),children:s.label},s.k))})}function Np({position:e,currency:t,renderActions:o}){let{bought:n,sold:s,remaining:r,pnl:i}=react.useMemo(()=>Cp(e,t),[e,t]),l=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-text-muted",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:n}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r}),jsxRuntime.jsx("td",{className:ui.cn("px-3 py-2 text-right align-middle font-medium",i.isPositive===void 0?"text-text-muted":i.isPositive?"text-positive":"text-negative"),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-text-muted",children:"--"})})]})}function Cp(e,t){let o=t==="usd"?e.buyVolumesInUsd:e.buyVolumes,n=t==="usd"?e.sellVolumesInUsd:e.sellVolumes,s=t==="usd"?e.amountInUsd:e.amount,r=e.totalProfitInUsd,i=t==="usd"?utils.formatAmountInUsd(o??0):utils.formatAmount(o??0),l=t==="usd"?utils.formatAmountInUsd(n??0):utils.formatAmount(n??0),a=t==="usd"?utils.formatAmountInUsd(s??0):utils.formatAmount(s??0),d=r?new utils.SafeBigNumber(r):void 0,m=d?d.gte(0):void 0,c=d?(m?"+":"")+utils.formatAmountInUsd(d.toString()):"--",u=e.totalProfitRatio?utils.formatPercent(e.totalProfitRatio,{showPlusGtThanZero:true}):void 0;return {bought:i,sold:l,remaining:a,pnl:{amount:c,ratio:u,isPositive:m}}}function vi({chain:e,wallet:t,limit:o=50,initialShowHidden:n=false}){let[s,r]=react.useState(void 0),[i,l]=react.useState([]),[a,d]=react.useState(n);react.useEffect(()=>{r(void 0),l([]);},[e,t]);let m=react.useMemo(()=>({chain:e,address:t??"",cursor:s,limit:o,positionState:"open"}),[e,t,s,o]),{data:c,isPending:u,isFetching:p}=react$1.useWalletTokenPositionsQuery(m,{enabled:!!t});react.useEffect(()=>{c&&l(k=>s==null?[c]:k[k.length-1]?.endCursor===c.endCursor?k:[...k,c]);},[c,s]);let x=react.useMemo(()=>i.flatMap(k=>k.portfolios),[i]),f=i[i.length-1],g=!!(f?.hasNext&&f.endCursor),h=react.useCallback(()=>{!f?.endCursor||!f.hasNext||r(f.endCursor);},[f]);return {positions:x,isLoading:!!t&&(u||p),hasMore:g,loadMore:h,showHidden:a,setShowHidden:d}}function pL({chain:e,wallet:t,limit:o,initialCurrency:n="usd",nativeSymbol:s,renderActions:r,className:i}){let[l,a]=react.useState(n),{positions:d,isLoading:m,hasMore:c,loadMore:u,showHidden:p,setShowHidden:x}=vi({chain:e,wallet:t,limit:o});return jsxRuntime.jsx(Ti,{className:i,positions:d,isLoading:m,hasMore:c,onLoadMore:u,currency:l,onCurrencyChange:a,showHidden:p,onShowHiddenChange:x,nativeSymbol:s,renderActions:r})}function Ni({orders:e,isLoading:t,unavailable:o,hasMore:n,onLoadMore:s,stateFilter:r,onStateFilterChange:i,onlyThisToken:l=false,onOnlyThisTokenChange:a,tokenSymbol:d,currency:m="usd",onCurrencyChange:c,nativeSymbol:u,onCancelAll:p,renderActions:x,className:f}){let{t:g}=i18n.useTranslation(),h=u??g("tokens.tokenDetail.native");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",labelKey:"tokens.tokenDetail.activeOrders"},{k:"history",labelKey:"tokens.tokenDetail.orderHistory"}].map(k=>jsxRuntime.jsx("button",{type:"button",onClick:()=>i(k.k),className:ui.cn("rounded px-2 transition-colors",r===k.k?"bg-default-200 text-foreground":"text-text-muted hover:text-foreground"),children:g(k.labelKey)},k.k))}),d?jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-text-muted",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:l,onChange:k=>a?.(k.target.checked)}),g("tokens.tokenDetail.filter.onlyToken",{symbol:d})]}):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-negative transition-colors hover:bg-default-100",children:g("tokens.tokenDetail.cancelAll")}):null,jsxRuntime.jsx(Up,{value:m,nativeSymbol:h,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-text-muted",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:g("tokens.tokenDetail.columns.token")}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:g("tokens.tokenDetail.columns.type")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:g("tokens.tokenDetail.columns.amount")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:g("tokens.tokenDetail.columns.currentMarketCap")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:g("tokens.tokenDetail.columns.targetMarketCap")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:g("tokens.tokenDetail.columns.settings")}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:g("tokens.tokenDetail.columns.action")})]})}),jsxRuntime.jsxs("tbody",{children:[o?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-10 text-center text-text-muted",children:g("tokens.tokenDetail.orders.unavailable")})}):e.length===0&&!t?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-10 text-center text-text-muted",children:g(r==="active"?"tokens.tokenDetail.orders.emptyActive":"tokens.tokenDetail.orders.emptyHistorical")})}):e.map(k=>jsxRuntime.jsx(Op,{order:k,currency:m,renderActions:x},k.id)),t&&!o&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-4 text-center text-text-muted",children:g("tokens.tokenDetail.loading")})})]})]})}),!o&&n&&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-text-muted transition-colors hover:bg-default-200 disabled:opacity-50",children:g("tokens.tokenDetail.loadMore")})})]})}function Up({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-text-muted hover:text-foreground"),children:s.label},s.k))})}function Op({order:e,currency:t,renderActions:o}){let n=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",r=e.side==="buy"?"text-positive":"text-negative";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",r),children:s}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",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-text-muted",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-text-muted",children:"--"})})]})}function Ep(e){return e instanceof Error&&e.code==="NotImplemented"}function Wp(e){return e==="active"?"active":"filled"}function Pi({chain:e,wallet:t,tokenAddress:o,limit:n=50,initialStateFilter:s="active",initialOnlyThisToken:r=false}){let[i,l]=react.useState(s),[a,d]=react.useState(r),[m,c]=react.useState(void 0),[u,p]=react.useState([]);react.useEffect(()=>{c(void 0),p([]);},[e,t,i,a,o]);let x=react.useCallback(N=>{N!==i&&l(N);},[i]),f=react.useMemo(()=>({chain:e,address:t??"",cursor:m,limit:n,state:Wp(i),tokenAddress:a?o:void 0}),[e,t,m,n,i,a,o]),{data:g,isPending:h,isFetching:k,error:T}=react$1.useWalletLimitOrdersQuery(f,{enabled:!!t});react.useEffect(()=>{g&&p(N=>m==null?[g]:N[N.length-1]?.endCursor===g.endCursor?N:[...N,g]);},[g,m]);let v=!!T&&Ep(T),b=react.useMemo(()=>u.flatMap(N=>N.data),[u]),y=u[u.length-1],L=!!(y?.hasNext&&y.endCursor),A=react.useCallback(()=>{!y?.endCursor||!y.hasNext||c(y.endCursor);},[y]);return {orders:b,isLoading:!!t&&!v&&(h||k),unavailable:v,hasMore:L,loadMore:A,stateFilter:i,setStateFilter:x,onlyThisToken:a,setOnlyThisToken:d}}function ML({chain:e,wallet:t,tokenAddress:o,tokenSymbol:n,limit:s,initialStateFilter:r="active",initialCurrency:i="usd",nativeSymbol:l,onCancelAll:a,renderActions:d,className:m}){let[c,u]=react.useState(i),{orders:p,isLoading:x,unavailable:f,hasMore:g,loadMore:h,stateFilter:k,setStateFilter:T,onlyThisToken:v,setOnlyThisToken:b}=Pi({chain:e,wallet:t,tokenAddress:o,limit:s,initialStateFilter:r});return jsxRuntime.jsx(Ni,{className:m,orders:p,isLoading:x,unavailable:f,hasMore:g,onLoadMore:h,stateFilter:k,onStateFilterChange:T,onlyThisToken:v,onOnlyThisTokenChange:b,tokenSymbol:n,currency:c,onCurrencyChange:u,nativeSymbol:l,onCancelAll:f?void 0:a,renderActions:d})}function Ai({traders:e,isLoading:t,hasMore:o,onLoadMore:n,onlyTracked:s=false,onOnlyTrackedChange:r,now:i=Date.now(),renderAddress:l,className:a}){let{t:d}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.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-text-muted",children:d("tokens.tokenDetail.topTraders")}),jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-text-muted",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:s,onChange:m=>r?.(m.target.checked)}),d("tokens.tokenDetail.filter.onlyTracked")]})]}),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-text-muted",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:d("tokens.tokenDetail.columns.wallet")}),jsxRuntime.jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:d("tokens.tokenDetail.columns.tags")}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:d("tokens.tokenDetail.columns.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:d("tokens.tokenDetail.columns.realizedPnl")}),jsxRuntime.jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:d("tokens.tokenDetail.columns.lastActive")})]})}),jsxRuntime.jsxs("tbody",{children:[e.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-text-muted",children:d("tokens.tokenDetail.topTraders.empty")})}),e.map(m=>jsxRuntime.jsx(zp,{trader:m,now:i,renderAddress:l},m.address)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:d("tokens.tokenDetail.loading")})})]})]})}),o&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.jsx("button",{type:"button",onClick:n,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-text-muted transition-colors hover:bg-default-200 disabled:opacity-50",children:d("tokens.tokenDetail.loadMore")})})]})}function zp({trader:e,now:t,renderAddress:o}){let n=react.useMemo(()=>o?o(e.address):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-text-muted",children:Te(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:n}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(Et,{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-text-muted",children:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:utils.formatAmountInUsd(e.totalRealizedPnlInUsd)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:e.lastActiveAt?Pe(e.lastActiveAt,t):"--"})]})}function Mi({chain:e,address:t,limit:o=50,initialSortBy:n,initialSortDirection:s,initialOnlyTracked:r=false}){let[i,l]=react.useState(n),[a,d]=react.useState(s),[m,c]=react.useState(void 0),[u,p]=react.useState([]),[x,f]=react.useState(r),g=react.useCallback(()=>{c(void 0),p([]);},[]),h=react.useCallback((W,ge)=>{W===i&&ge===a||(l(W),d(ge),g());},[g,i,a]),k=react.useCallback(W=>{h(W,a??"desc");},[h,a]),T=react.useCallback(W=>{W!==a&&(d(W),g());},[g,a]);react.useEffect(()=>{g();},[e,t,g]);let v=react.useMemo(()=>({chain:e,address:t,cursor:m,limit:o,sortBy:i,sortDirection:a}),[e,t,m,o,i,a]),{data:b,isPending:y,isFetching:L}=react$1.useTokenTopTradersQuery(v);react.useEffect(()=>{b&&p(W=>m==null?[b]:W[W.length-1]?.endCursor===b.endCursor?W:[...W,b]);},[b,m]);let A=react.useMemo(()=>u.flatMap(W=>W.data),[u]),N=react.useMemo(()=>x?A.filter(W=>W.tags&&W.tags.length>0):A,[A,x]),K=u[u.length-1],fe=!!(K?.hasNext&&K.endCursor),E=react.useCallback(()=>{!K?.endCursor||!K.hasNext||c(K.endCursor);},[K]);return {traders:N,isLoading:y||L,sortBy:i,sortDirection:a,setSortBy:k,setSortDirection:T,setSort:h,hasMore:fe,loadMore:E,onlyTracked:x,setOnlyTracked:f}}function ZL({chain:e,address:t,limit:o,className:n,renderAddress:s}){let{traders:r,isLoading:i,hasMore:l,loadMore:a,onlyTracked:d,setOnlyTracked:m}=Mi({chain:e,address:t,limit:o});return jsxRuntime.jsx(Ai,{className:n,traders:r,isLoading:i,hasMore:l,onLoadMore:a,onlyTracked:d,onOnlyTrackedChange:m,renderAddress:s})}var Jp="\u2713";function Ui({tokens:e,isLoading:t,unavailable:o,hasMore:n,onLoadMore:s,renderTokenLink:r,className:i}){let{t:l}=i18n.useTranslation();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-text-muted",children:l("tokens.tokenDetail.devTokens.title")})}),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-text-muted",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:l("tokens.tokenDetail.columns.token")}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-center font-normal",children:l("tokens.tokenDetail.columns.migrated")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:l("tokens.tokenDetail.columns.marketCap")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:l("tokens.tokenDetail.columns.ath")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:l("tokens.tokenDetail.liquidity")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:l("tokens.tokenDetail.columns.volume1h")})]})}),jsxRuntime.jsxs("tbody",{children:[o?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-10 text-center text-text-muted",children:l("tokens.tokenDetail.devTokens.unavailable")})}):e.length===0&&!t?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-text-muted",children:l("tokens.tokenDetail.devTokens.empty")})}):e.map(a=>jsxRuntime.jsx(Zp,{token:a,renderTokenLink:r},`${a.chain}:${a.address}`)),!o&&t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:l("tokens.tokenDetail.loading")})})]})]})}),!o&&n&&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-text-muted transition-colors hover:bg-default-200 disabled:opacity-50",children:l("tokens.tokenDetail.loadMore")})})]})}function Zp({token:e,renderTokenLink:t}){let o=e.marketData?.marketCapInUsd??e.marketData?.marketCap,n=e.marketData?.tvlInUsd,r=e.stats?.["1h"]?.volumesInUsd,i=!!e.migratedTo,l=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-text-muted",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-positive",children:Jp}):jsxRuntime.jsx("span",{className:"text-text-muted",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:n?utils.formatAmountInUsd(n):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r?utils.formatAmountInUsd(r):"--"})]})}function Oi({tokens:e,className:t}){let{t:o}=i18n.useTranslation(),n=e.length,s=e.filter(a=>!!a.migratedTo).length,r=n===0?0:Math.round(s/n*100),i=e.map(a=>a.stats?.["1h"]?.volumesInUsd??"0").reduce((a,d)=>a.plus(new utils.SafeBigNumber(d)),new utils.SafeBigNumber(0)),l=e.map(a=>a.marketData?.marketCapInUsd??a.marketData?.marketCap??"0").reduce((a,d)=>a.plus(new utils.SafeBigNumber(d)),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-text-muted",children:o("tokens.tokenDetail.devTokens.stats")})}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsxRuntime.jsx(fo,{label:o("tokens.tokenDetail.devTokens.total"),value:String(n)}),jsxRuntime.jsx(fo,{label:o("tokens.tokenDetail.columns.migrated"),value:`${s} (${r}%)`}),jsxRuntime.jsx(fo,{label:o("tokens.tokenDetail.devTokens.totalMarketCap"),value:utils.formatMCapInUsd(l.toString())}),jsxRuntime.jsx(fo,{label:o("tokens.tokenDetail.devTokens.totalVolume1h"),value:utils.formatAmountInUsd(i.toString())})]})]})}function fo({label:e,value:t}){return jsxRuntime.jsxs("div",{className:"flex flex-col gap-[2px]",children:[jsxRuntime.jsx("span",{className:"text-[10px] text-text-muted",children:e}),jsxRuntime.jsx("span",{className:"text-[13px] font-medium text-foreground",children:t})]})}function ef(e){return e instanceof Error&&e.code==="NotImplemented"}function Ki({chain:e,creator:t,limit:o=20}){let[n,s]=react.useState(void 0),[r,i]=react.useState([]),l=react.useCallback(()=>{s(void 0),i([]);},[]);react.useEffect(()=>{l();},[e,t,l]);let a=react.useMemo(()=>({chain:e,creator:t??"",cursor:n,limit:o}),[e,t,n,o]),{data:d,isPending:m,isFetching:c,error:u}=react$1.useTokensByCreatorQuery(a,{enabled:!!t});react.useEffect(()=>{d&&i(k=>n==null?[d]:k[k.length-1]?.endCursor===d.endCursor?k:[...k,d]);},[d,n]);let p=react.useMemo(()=>r.flatMap(k=>k.data),[r]),x=r[r.length-1],f=!!(x?.hasNext&&x.endCursor),g=!!u&&ef(u),h=react.useCallback(()=>{!x?.endCursor||!x.hasNext||s(x.endCursor);},[x]);return {tokens:p,isLoading:!!t&&!g&&(m||c),unavailable:g,hasMore:f,loadMore:h}}function gP({chain:e,creator:t,limit:o,showSummary:n=false,renderTokenLink:s,className:r}){let{tokens:i,isLoading:l,unavailable:a,hasMore:d,loadMore:m}=Ki({chain:e,creator:t,limit:o});return jsxRuntime.jsxs("div",{className:r,children:[jsxRuntime.jsx(Ui,{tokens:i,isLoading:l,unavailable:a,hasMore:d,onLoadMore:m,renderTokenLink:s}),n&&!a?jsxRuntime.jsx(Oi,{tokens:i}):null]})}function Qi({token:e,athInUsd:t,athAt:o,globalFeesPaidInUsd:n,rank:s,onTogglePin:r,pinned:i,className:l}){let{t:a}=i18n.useTranslation(),d=e?.marketData?.priceInUsd,m=e?.marketData?.tvlInUsd,c=e?.marketData?.totalSupply;return jsxRuntime.jsxs("div",{className:ui.cn("flex h-[48px] w-full flex-row items-center gap-4 overflow-x-auto px-3 text-[12px]",l),children:[jsxRuntime.jsx(st,{label:a("tokens.tokenDetail.chart.price"),value:d?utils.formatPriceInUsd(d):"--"}),jsxRuntime.jsx(st,{label:a("tokens.tokenDetail.chart.liquidity"),value:m?utils.formatAmountInUsd(m):"--"}),jsxRuntime.jsx(st,{label:a("tokens.tokenDetail.chart.supply"),value:c?utils.formatAmount(c):"--"}),n?jsxRuntime.jsx(st,{label:a("tokens.tokenDetail.chart.feesPaid"),value:utils.formatAmountInUsd(n)}):null,t?jsxRuntime.jsx(st,{label:a("tokens.tokenDetail.chart.ath"),value:utils.formatPriceInUsd(t),title:o?a("tokens.tokenDetail.chart.athAt",{date:o.toLocaleDateString()}):void 0}):null,s!==void 0?jsxRuntime.jsx(st,{label:a("tokens.tokenDetail.chart.rank"),value:`#${s}`}):null,jsxRuntime.jsx("div",{className:"flex-1"}),r?jsxRuntime.jsx("button",{type:"button",onClick:r,"aria-pressed":i,className:ui.cn("flex size-[26px] items-center justify-center rounded text-text-muted transition-colors hover:bg-default-100 hover:text-foreground",i&&"text-foreground"),title:a(i?"tokens.tokenDetail.chart.unpin":"tokens.tokenDetail.chart.pin"),children:i?"\u2605":"\u2606"}):null]})}function st({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-text-muted",children:e}),jsxRuntime.jsx("span",{className:"text-[13px] font-medium leading-none tabular-nums text-foreground",children:t})]})}function Xi({chain:e,address:t}){return F(e,t)}function IP({chain:e,address:t,athInUsd:o,athAt:n,globalFeesPaidInUsd:s,rank:r,pinned:i,onTogglePin:l,className:a}){let{token:d}=Xi({chain:e,address:t});return jsxRuntime.jsx(Qi,{className:a,token:d,athInUsd:o,athAt:n,globalFeesPaidInUsd:s,rank:r,pinned:i,onTogglePin:l})}function Yi({tokens:e,isLoading:t,unavailable:o,onTokenClick:n,className:s}){let{t:r}=i18n.useTranslation();return o?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-text-muted",s),children:r("tokens.tokenDetail.similarUnavailable")}):!t&&e.length===0?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-text-muted",s),children:r("tokens.tokenDetail.noSimilarTokens")}):jsxRuntime.jsxs("ul",{className:ui.cn("flex flex-col",s),children:[e.map(i=>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",!n&&"cursor-default"),onClick:n?()=>n(i):void 0,children:[jsxRuntime.jsx(ui.Avatar,{src:i.image??void 0,name:(i.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:i.symbol}),jsxRuntime.jsx("span",{className:"truncate text-[10px] text-text-muted",children:i.name})]}),jsxRuntime.jsx("span",{className:"text-[11px] tabular-nums text-text-muted",children:i.marketData?.marketCapInUsd?utils.formatMCapInUsd(i.marketData.marketCapInUsd):"--"})]},`${i.chain}:${i.address}`)),t&&jsxRuntime.jsx("li",{className:"py-2 text-center text-[11px] text-text-muted",children:r("tokens.tokenDetail.loading")})]})}function Ji({chain:e,address:t,keyword:o,limit:n=10}){let s=!!o&&o.length>0,{data:r,isPending:i,isFetching:l}=react$1.useSearchTokensQuery({chains:[e],keyword:o,limit:n+1},{enabled:s});return {tokens:react.useMemo(()=>{if(!r)return [];let d=t.toLowerCase();return (r.data??[]).filter(m=>m.address.toLowerCase()!==d).slice(0,n)},[r,t,n]),isLoading:s&&(i||l),unavailable:!s}}function GP({chain:e,address:t,keyword:o,limit:n,onTokenClick:s,className:r}){let{tokens:i,isLoading:l,unavailable:a}=Ji({chain:e,address:t,keyword:o,limit:n});return jsxRuntime.jsx(Yi,{className:r,tokens:i,isLoading:l,unavailable:a,onTokenClick:s})}function Zi({tokens:e=[],unavailable:t=true,onTokenClick:o,className:n}){let{t:s}=i18n.useTranslation();return t?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-text-muted",n),children:s("tokens.tokenDetail.reusedImagesUnavailable")}):e.length===0?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-text-muted",n),children:s("tokens.tokenDetail.noReusedImages")}):jsxRuntime.jsx("div",{className:ui.cn("flex flex-row flex-wrap gap-2 p-3",n),children:e.map(r=>jsxRuntime.jsx("button",{type:"button",onClick:o?()=>o(r):void 0,className:"flex size-10 items-center justify-center overflow-hidden rounded-full border border-default-100 transition-opacity hover:opacity-80",title:r.symbol,children:jsxRuntime.jsx(ui.Avatar,{src:r.image??void 0,name:(r.symbol??"?").slice(0,1),className:"size-full bg-default-100 text-[10px] text-text-muted",showFallback:true})},`${r.chain}:${r.address}`))})}function ji(e){return {tokens:[],isLoading:false,unavailable:true}}function l1({chain:e,address:t,onTokenClick:o,className:n}){let{tokens:s,unavailable:r}=ji();return jsxRuntime.jsx(Zi,{className:n,tokens:s,unavailable:r,onTokenClick:o})}function ra({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:n,className:s}){let{t:r}=i18n.useTranslation(),[i,l]=react.useState(e?.join(", ")??""),[a,d]=react.useState(t?.join(", ")??"");react.useEffect(()=>{l(u=>{let p=ko(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(()=>{d(u=>{let p=ko(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?.(ko(u));},[o]),c=react.useCallback(u=>{d(u),n?.(ko(u));},[n]);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-text-muted",children:r("tokens.filters.keywords.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("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-text-muted",children:r("tokens.filters.keywords.exclude.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:a,onValueChange:c})]})]})}function ko(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function ca({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let l=react.useMemo(()=>e.every(m=>r.includes(m)),[e,r]),a=react.useCallback(()=>{if(l){let m=[];i(m),o?.(m);}else {let m=[...e];i(m),o?.(m);}},[e,o,l]),d=react.useCallback(m=>()=>{if(r.includes(m)){let c=r.filter(u=>u!==m);i(c),o?.(c);}else {let c=[...r,m];i(c),o?.(c);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-3 px-4",n),children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center",children:[jsxRuntime.jsx("h3",{className:"text-xs text-text-muted",children:s("tokens.filters.protocols.title")}),jsxRuntime.jsx(ui.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 c=Be(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":!r.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 Ne({title:e,field:t,value:o,onChange:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(o?vn(o).min:NaN),[l,a]=react.useState(o?vn(o).max:NaN);react.useEffect(()=>{if(o===void 0)i(NaN),a(NaN);else {let{min:c,max:u}=vn(o);i(c),a(u);}},[o]);let d=react.useCallback(c=>{i(c),n?.(fa(t,c,l));},[t,n,l]),m=react.useCallback(c=>{a(c),n?.(fa(t,r,c));},[t,n,r]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[e&&jsxRuntime.jsx("h3",{className:"text-xs text-text-muted",children:e}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsxRuntime.jsx(ui.StyledNumberInput,{value:r,onValueChange:d,variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui.StyledNumberInput,{value:l,onValueChange:m,variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function vn(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 fa(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 ka({values:e,onValuesChange:t,className:o}){let{t:n}=i18n.useTranslation(),[s,r]=react.useState(e);react.useEffect(()=>{r(e);},[e]);let i=react.useCallback(l=>a=>{if(a===void 0){let d=(s??[]).filter(m=>m.field!==l);d=d.length>0?d:void 0,r(d),t?.(d);}else {let d=[...(s??[]).filter(m=>m.field!==l),a];r(d),t?.(d);}},[s,t]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",o),children:[jsxRuntime.jsx(Ne,{field:"holders",title:n("tokens.filters.stats.audits.holders"),value:s?.find(l=>l.field==="holders"),onChange:i("holders")}),jsxRuntime.jsx(Ne,{field:"top10Ratio",title:n("tokens.filters.stats.audits.top10HoldingsRatio"),value:s?.find(l=>l.field==="top10Ratio"),onChange:i("top10Ratio")}),jsxRuntime.jsx(Ne,{field:"top100Ratio",title:n("tokens.filters.stats.audits.top100HoldingsRatio"),value:s?.find(l=>l.field==="top100Ratio"),onChange:i("top100Ratio")}),jsxRuntime.jsx(Ne,{field:"creatorsRatio",title:n("tokens.filters.stats.audits.devHoldingsRatio"),value:s?.find(l=>l.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function xa({resolution:e,values:t,onValuesChange:o,className:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let l=react.useCallback(a=>d=>{if(d===void 0){let m=(r??[]).filter(c=>c.field!==a);m=m.length>0?m:void 0,i(m),o?.(m);}else {let m=[...(r??[]).filter(c=>c.field!==a),d];i(m),o?.(m);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",n),children:[jsxRuntime.jsx(Ne,{field:"marketCap",title:s("tokens.filters.stats.metrics.marketCap"),value:r?.find(a=>a.field==="marketCap"),onChange:l("marketCap")}),jsxRuntime.jsx(Ne,{field:"tvl",title:s("tokens.filters.stats.metrics.liquidity"),value:r?.find(a=>a.field==="tvl"),onChange:l("tvl")}),jsxRuntime.jsx(Ne,{field:`volumes${e}`,title:s("tokens.filters.stats.metrics.volumes",{resolution:s(`common.resolution.${e}`)}),value:r?.find(a=>a.field===`volumes${e}`),onChange:l(`volumes${e}`)}),jsxRuntime.jsx(Ne,{field:`trades${e}`,title:s("tokens.filters.stats.metrics.txns",{resolution:s(`common.resolution.${e}`)}),value:r?.find(a=>a.field===`trades${e}`),onChange:l(`trades${e}`)})]})}function Sa({resolution:e,values:t,onValuesChange:o,className:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState("audits"),[l,a]=react.useState(t);react.useEffect(()=>{a(t);},[t]);let d=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]),c=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.cn("flex flex-col gap-3 px-4",n),children:[jsxRuntime.jsxs(ui.StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:r,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(ka,{values:l,onValuesChange:d,className:ui.cn({hidden:r!=="audits"})}),jsxRuntime.jsx(xa,{values:l,onValuesChange:d,resolution:e,className:ui.cn({hidden:r!=="metrics"})})]})}function No({protocols:e,resolution:t,filters:o,onFiltersChange:n,className:s}){let[r,i]=react.useState(Na(o?.filters,e));react.useEffect(()=>{i(Na(o?.filters,e));},[o?.filters,e]);let[l,a]=react.useState(o?.keywords);react.useEffect(()=>{a(o?.keywords);},[o?.keywords]);let[d,m]=react.useState(o?.excludeKeywords);react.useEffect(()=>{m(o?.excludeKeywords);},[o?.excludeKeywords]);let[c,u]=react.useState(o?.filters);react.useEffect(()=>{u(o?.filters);},[o?.filters]);let p=react.useCallback(h=>{i(h),n?.(So(e,h,l,d,c));},[e,l,d,c,n]),x=react.useCallback(h=>{a(h),n?.(So(e,r,h,d,c));},[e,r,d,c,n]),f=react.useCallback(h=>{m(h),n?.(So(e,r,l,h,c));},[e,r,l,c,n]),g=react.useCallback(h=>{u(h),n?.(So(e,r,l,d,h));},[e,r,l,d,n]);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(ca,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:p}),jsxRuntime.jsx("div",{style:{height:1,background:"var(--color-surface-strong)"}})]}),jsxRuntime.jsx(ra,{keywords:l,excludeKeywords:d,onKeywordsChange:x,onExcludeKeywordsChange:f}),jsxRuntime.jsx("div",{style:{height:1,background:"var(--color-surface-strong)"}}),jsxRuntime.jsx(Sa,{resolution:t,values:c,onValuesChange:g})]})}function Na(e,t){let o=e?.find(n=>n.field==="launchedFromProtocolFamily");return o?o.operator==="in"?o.value:(console.warn("invalid token protocols filter",o),[...t||[]]):[...t||[]]}function So(e,t,o,n,s){let r=s?[...s.filter(i=>i.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(l=>t.includes(l))||r.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&n===void 0&&r.length===0?void 0:{keywords:o,excludeKeywords:n,filters:r.length>0?r:void 0}}function Pa({protocols:e,resolution:t,filters:o,onFiltersChange:n,triggerVariant:s="default",badgePlacement:r="outer",className:i}){let{t:l}=i18n.useTranslation(),{isOpen:a,onOpen:d,onClose:m,onOpenChange:c}=ui.useDisclosure(),[u,p]=react.useState(o),x=react.useCallback(()=>{p(void 0);},[]),f=react.useCallback(()=>{n?.(u),m();},[u,n,m]);react.useEffect(()=>{p(o);},[a,o]);let g=react.useMemo(()=>Object.values(o||{}).every(h=>h===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":"hsl(var(--heroui-content3) / 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-text-secondary"}),!g&&jsxRuntime.jsx("span",{style:{position:"absolute",top:r==="icon"?6:-2,right:r==="icon"?6:-2,width:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),jsxRuntime.jsx(ui.StyledModal,{isOpen:a,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:l("tokens.filters.modal.title")})}),jsxRuntime.jsx(ui.ModalBody,{className:"px-0 pt-0 pb-4",children:jsxRuntime.jsx(ui.ScrollShadow,{children:jsxRuntime.jsx(No,{protocols:e,resolution:t,filters:u,onFiltersChange:p,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:x,children:l("common.reset")}),jsxRuntime.jsx(ui.Button,{color:"primary",size:"sm",radius:"full",onPress:f,children:l("common.apply")})]})})]})})]})}var Ma={display:"inline-flex",alignItems:"center",gap:8,borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"hsl(var(--heroui-content3) / 0.6)",padding:"6px 12px",fontSize:14,fontWeight:700,color:"var(--color-text-primary)",cursor:"pointer",transition:"all 0.15s",height:32},lg={position:"absolute",right:0,top:"100%",zIndex:20,marginTop:8,borderRadius:14,border:"1px solid var(--color-border-control)",background:"var(--color-surface-interactive)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"},dg={height:1,background:"var(--color-surface-strong)",margin:0};function Da({protocols:e,resolution:t,filters:o,onFiltersChange:n,iconOnly:s=false,className:r}){let{t:i}=i18n.useTranslation(),[l,a]=react.useState(false),d=react.useRef(null),[m,c]=react.useState(o),u=react.useCallback(()=>{c(void 0);},[]),p=react.useCallback(()=>{n?.(m),a(false);},[m,n]);react.useEffect(()=>{c(o);},[l,o]),react.useEffect(()=>{let f=g=>{d.current&&!d.current.contains(g.target)&&a(false);};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[]),react.useEffect(()=>{if(!l)return;let f=g=>{g.key==="Escape"&&a(false);};return document.addEventListener("keydown",f),()=>document.removeEventListener("keydown",f)},[l]);let x=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:r,style:s?{...Ma,justifyContent:"center",gap:0,width:32,minWidth:32,padding:0}:Ma,onMouseEnter:f=>{f.currentTarget.style.background="var(--color-surface-strong)";},onMouseLeave:f=>{f.currentTarget.style.background="hsl(var(--heroui-content3) / 0.6)";},onClick:()=>a(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(cg,{open:l})]})]}),!x&&jsxRuntime.jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),l&&jsxRuntime.jsxs("div",{style:{...lg,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(No,{protocols:e,resolution:t,filters:m,onFiltersChange:c})})}),jsxRuntime.jsx("div",{style:dg}),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:u,children:i("common.reset")}),jsxRuntime.jsx(ui.Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:p,children:i("common.apply")})]})]})]})}function cg({open:e}){return jsxRuntime.jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"var(--color-text-muted)",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 eR({popoverPlacement:e="bottom-end",iconOnly:t,className:o,desktopOverlay:n="popover",...s}){let{isMobile:r}=ui.useScreen();return r||n==="modal"?jsxRuntime.jsx(Pa,{className:o,...s}):jsxRuntime.jsx(Da,{placement:e,iconOnly:t,className:o,...s})}function Ua({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:n}=i18n.useTranslation(),s=react.useCallback(r=>{t?.(r);},[t]);return jsxRuntime.jsx(ui.StyledPlainTabs,{color:"primary",radius:"lg",selectedKey:e,onSelectionChange:s,"aria-label":n("tokens.resolutionSelector.ariaLabel"),classNames:{tabList:"gap-0",tab:"px-2",tabContent:"!text-text-muted group-data-[hover=true]:!text-foreground group-data-[selected=true]:!text-primary"},children:o.map(r=>jsxRuntime.jsx(ui.Tab,{title:n(`common.resolution.${r}`)},r))})}var Ng={display:"inline-flex",alignItems:"center",gap:4,borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"hsl(var(--heroui-content3) / 0.6)",padding:"0 10px",fontSize:12,fontWeight:500,color:"var(--color-text-primary)",cursor:"pointer",height:32,minHeight:32},Cg={position:"absolute",left:0,top:"100%",zIndex:20,marginTop:6,borderRadius:14,border:"1px solid var(--color-border-control)",background:"var(--color-surface-interactive)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden",padding:"6px",minWidth:"100%"};function Ba({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:n}=i18n.useTranslation(),[s,r]=react.useState(false),i=react.useRef(null),l=react.useCallback(a=>{t?.(a),r(false);},[t]);return react.useEffect(()=>{if(!s)return;let a=m=>{i.current&&!i.current.contains(m.target)&&r(false);},d=m=>{m.key==="Escape"&&r(false);};return document.addEventListener("mousedown",a),document.addEventListener("keydown",d),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",d);}},[s]),jsxRuntime.jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxRuntime.jsxs("button",{type:"button",style:Ng,onClick:()=>r(a=>!a),children:[jsxRuntime.jsx("span",{children:e?n(`common.resolution.${e}`):"\u2014"}),jsxRuntime.jsx(ui.ChevronDownIcon,{width:14,height:14,className:"text-text-muted",style:{transition:"transform 0.15s",transform:s?"rotate(180deg)":void 0}})]}),s&&jsxRuntime.jsx("div",{style:Cg,children:o.map(a=>jsxRuntime.jsx("button",{type:"button",onClick:()=>l(a),className:ui.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-text-secondary hover:text-foreground hover:bg-surface-interactive"),children:n(`common.resolution.${a}`)},a))})]})}function xR(e){let{isMobile:t}=ui.useScreen();return t?jsxRuntime.jsx(Ba,{...e}):jsxRuntime.jsx(Ua,{...e})}var Wa=react.memo(function({token:t}){let o=react.useMemo(()=>t.marketData?.athMarketCapInUsd,[t.marketData?.athMarketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatMCapInUsd(o)})});var Ka=react.memo(function({token:t}){let{t:o}=i18n.useTranslation(),n=react.useMemo(()=>t.marketData?.bluechipHoldingsRatio,[t.marketData?.bluechipHoldingsRatio]),s=react.useMemo(()=>n!==void 0&&new utils.SafeBigNumber(n).gte(.1),[n]),r=react.useMemo(()=>n===void 0||new utils.SafeBigNumber(n).lt(.05),[n]);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,{}),r&&jsxRuntime.jsx(ui.HorsePowerLowIcon,{}),!s&&!r&&jsxRuntime.jsx(ui.HorsePowerIcon,{}),jsxRuntime.jsx("span",{className:ui.cn(s&&"text-positive",!s&&!r&&"text-negative",n===void 0&&"text-text-muted"),children:utils.formatPercent(n)})]})})});function ek(e){return e.length<=10?e:`${e.slice(0,4)}...${e.slice(-4)}`}var Xa=react.memo(function({token:t}){let o=ui.useCopyToClipboard(),[n,s]=react.useState(false),[r,i]=react.useState(false),l=react.useRef(void 0),a=react.useRef(void 0),{t:d}=i18n.useTranslation(),m=react.useCallback(p=>{p.preventDefault(),p.stopPropagation(),o(t.name,()=>{ui.toast.success(d("tokens.copied.name")),s(true),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{s(false);},2e3);});},[o,t.name,d]),c=react.useCallback(p=>{p.preventDefault(),p.stopPropagation(),o(t.address,()=>{ui.toast.success(d("tokens.copied.address")),i(true),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{i(false);},2e3);});},[o,t.address,d]);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(ke,{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-text-muted hover:text-primary-200 cursor-pointer",onClick:m,children:[jsxRuntime.jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:t.name}),n?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(u)}),jsxRuntime.jsxs("button",{type:"button",className:"group flex items-center gap-1 min-w-0 max-w-28 sm:max-w-36 text-text-muted 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-text-muted/70 group-hover:text-primary-200",children:ek(t.address)}),r?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-text-muted 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-text-muted 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-text-muted 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-text-muted 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-text-muted hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.SearchIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]})]})]})});var Ya=react.memo(function({token:t}){let{t:o}=i18n.useTranslation(),n=t.marketData,s=react.useMemo(()=>new utils.SafeBigNumber(n?.top10HoldingsRatio).gte(.1),[n?.top10HoldingsRatio]),r=react.useMemo(()=>new utils.SafeBigNumber(n?.devHoldingsRatio).gte(.1),[n?.devHoldingsRatio]),i=react.useMemo(()=>new utils.SafeBigNumber(n?.sniperHoldingsRatio).gte(.1),[n?.sniperHoldingsRatio]),l=react.useMemo(()=>new utils.SafeBigNumber(n?.insiderHoldingsRatio).gte(.1),[n?.insiderHoldingsRatio]),a=react.useMemo(()=>new utils.SafeBigNumber(n?.bundleHoldingsRatio).gte(.1),[n?.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($,{icon:jsxRuntime.jsx(ui.PeopleIcon,{width:12,height:12}),value:utils.formatAmount(n?.holders),tooltip:o("tokens.tokenInfo.holders"),warning:false,disable:!n?.holders}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.KlineCandlesIcon,{width:12,height:12}),value:utils.formatAmount(n?.proHolders),tooltip:o("tokens.tokenInfo.proHolders"),warning:false,disable:!n?.proHolders}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.StarIcon,{width:12,height:12}),value:utils.formatAmount(n?.kolHolders),tooltip:o("tokens.tokenInfo.kolHolders"),warning:false,disable:!n?.kolHolders}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(n?.top10HoldingsRatio),tooltip:o("tokens.tokenInfo.top10HoldingsRatio"),warning:s,disable:!n?.top10HoldingsRatio||n?.top10HoldingsRatio==="0"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(n?.devHoldingsRatio),tooltip:o("tokens.tokenInfo.devHoldingsRatio"),warning:r,disable:!n?.devHoldingsRatio||n?.devHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(n?.sniperHoldingsRatio),tooltip:o("tokens.tokenInfo.sniperHoldingsRatio"),warning:i,disable:!n?.sniperHoldingsRatio||n?.sniperHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(n?.insiderHoldingsRatio),tooltip:o("tokens.tokenInfo.insiderHoldingsRatio"),warning:l,disable:!n?.insiderHoldingsRatio||n?.insiderHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(n?.bundleHoldingsRatio),tooltip:o("tokens.tokenInfo.bundleHoldingsRatio"),warning:a,disable:!n?.bundleHoldingsRatio||n?.bundleHoldingsRatio==="0",tooltipPlacement:"bottom"})]})]})});var Ja=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 Za=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 tl=react.memo(function({token:t,resolution:o}){let n=react.useMemo(()=>t.marketData?.priceInUsd,[t.marketData?.priceInUsd]),s=react.useMemo(()=>t.stats?.[o]?.priceChange,[t,o]),r=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(n)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex gap-1 items-center text-xs",i?"text-positive":"text-negative"),children:[i?jsxRuntime.jsx(ui.TriangleUpIcon,{width:10,height:10}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:10,height:10}),jsxRuntime.jsx("span",{children:utils.formatPercent(r)})]})]})});var nl=react.memo(function({token:t,resolution:o}){let n=t.stats?.[o],s=n?.traders,r=n?.buyers,i=n?.sellers;return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(s)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-positive",children:utils.formatAmount(r)}),"/",jsxRuntime.jsx("span",{className:"text-negative",children:utils.formatAmount(i)})]})]})});var sl=react.memo(function({token:t,resolution:o}){let n=t.stats?.[o],s=n?.trades,r=n?.buys,i=n?.sells;return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(s)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-positive",children:utils.formatAmount(r)}),"/",jsxRuntime.jsx("span",{className:"text-negative",children:utils.formatAmount(i)})]})]})});var al=react.memo(function({token:t,resolution:o}){let n=t.stats?.[o],s=n?.volumesInUsd,r=n?.buyVolumesInUsd,i=n?.sellVolumesInUsd;return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmountInUsd(s)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-positive",children:utils.formatAmountInUsd(r)}),"/",jsxRuntime.jsx("span",{className:"text-negative",children:utils.formatAmountInUsd(i)})]})]})});var Ak=`
|
|
21
|
+
`})]})}function er({token:e,renderAction:t,isLast:o=false,onSelectToken:n,className:s}){let{t:r}=i18n.useTranslation(),i=ui.useCopyToClipboard(),l=hooks.useTickAge(e.createdAt),a=e.marketData,d=e.stats?.["1h"],m=react.useCallback(()=>{n?.(e);},[n,e]),c=react.useCallback(E=>{E.stopPropagation(),i(e.address,()=>ui.toast.success(r("tokens.copied.address")));},[i,e.address,r]),u=react.useMemo(()=>d?.volumesInUsd,[d?.volumesInUsd]),p=react.useMemo(()=>d?.buyVolumesInUsd,[d?.buyVolumesInUsd]),x=react.useMemo(()=>d?.sellVolumesInUsd,[d?.sellVolumesInUsd]),f=react.useMemo(()=>d?.trades,[d?.trades]),g=react.useMemo(()=>a?.marketCapInUsd,[a?.marketCapInUsd]),h=react.useMemo(()=>a?.tvlInUsd,[a?.tvlInUsd]),k=react.useMemo(()=>{let E=new utils.SafeBigNumber(g);return E.lt(1e3)?"text-foreground":E.lt(1e6)?"text-secondary":"text-primary"},[g]),T=react.useMemo(()=>new utils.SafeBigNumber(a?.top10HoldingsRatio).gte(.1),[a?.top10HoldingsRatio]),v=react.useMemo(()=>new utils.SafeBigNumber(a?.devHoldingsRatio).gte(.1),[a?.devHoldingsRatio]),b=react.useMemo(()=>new utils.SafeBigNumber(a?.insiderHoldingsRatio).gte(.1),[a?.insiderHoldingsRatio]),y=react.useMemo(()=>new utils.SafeBigNumber(a?.sniperHoldingsRatio).gte(.1),[a?.sniperHoldingsRatio]),L=react.useMemo(()=>new utils.SafeBigNumber(a?.bundleHoldingsRatio).gte(.1),[a?.bundleHoldingsRatio]),A=a?.holders!==void 0&&a.holders>0,N=a?.proHolders!==void 0&&a.proHolders>0,K=a?.kolHolders!==void 0&&a.kolHolders>0,fe=A||N||K;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 var(--color-border-subtle)"},onClick:n?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(ke,{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-text-muted hover:text-foreground leading-none",onClick:c,"aria-label":r("tokens.copied.address"),title:r("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":r("tokens.copied.address"),title:r("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-text-muted truncate max-w-20",children:e.name})}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3.5 h-3.5 text-text-muted"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 leading-none",children:[jsxRuntime.jsx("span",{className:"text-[13px] font-mono font-medium text-text-muted",children:utils.formatAge(l)}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-text-muted 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-text-muted 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-text-muted 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-text-muted 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-text-muted",children:"MC"}),jsxRuntime.jsx("span",{className:ui.cn(k),children:utils.formatMCapInUsd(g)})]}),jsxRuntime.jsx("span",{className:"text-text-muted/30",children:"\xB7"}),jsxRuntime.jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-text-muted",children:r("tokens.listHeader.liqShort")}),jsxRuntime.jsx("span",{children:utils.formatAmountInUsd(h)})]})]}),fe&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-text-muted leading-none",children:[A&&jsxRuntime.jsx(ui.StyledTooltip,{content:r("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-text-muted"}),utils.formatAmount(a?.holders)]})}),N&&jsxRuntime.jsx(ui.StyledTooltip,{content:r("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-text-muted"}),utils.formatAmount(a?.proHolders)]})}),K&&jsxRuntime.jsx(ui.StyledTooltip,{content:r("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-text-muted"}),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.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-text-muted",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-positive",children:utils.formatAmountInUsd(p)}),jsxRuntime.jsx("span",{className:"text-text-muted/50 mx-0.5",children:"/"}),jsxRuntime.jsx("span",{className:"text-negative",children:utils.formatAmountInUsd(x)})]})]}),jsxRuntime.jsxs("div",{className:"flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs text-text-muted",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($,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(a?.top10HoldingsRatio),tooltip:r("tokens.tokenInfo.top10HoldingsRatio"),warning:T,disable:!a?.top10HoldingsRatio||a?.top10HoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(a?.devHoldingsRatio),tooltip:r("tokens.tokenInfo.devHoldingsRatio"),warning:v,disable:!a?.devHoldingsRatio||a?.devHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(a?.sniperHoldingsRatio),tooltip:r("tokens.tokenInfo.sniperHoldingsRatio"),warning:y,disable:!a?.sniperHoldingsRatio||a?.sniperHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(a?.insiderHoldingsRatio),tooltip:r("tokens.tokenInfo.insiderHoldingsRatio"),warning:b,disable:!a?.insiderHoldingsRatio||a?.insiderHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(a?.bundleHoldingsRatio),tooltip:r("tokens.tokenInfo.bundleHoldingsRatio"),warning:L,disable:!a?.bundleHoldingsRatio||a?.bundleHoldingsRatio==="0"})]})}),t&&jsxRuntime.jsx("div",{className:"flex-none relative",onClick:E=>E.stopPropagation(),children:t(e)})]})]})}var bd=152,or=10;function vd({index:e,style:t,data:o,skeletonCount:n,renderItemAction:s,onSelectToken:r}){if(!o)return jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Uo,{isLast:e===n-1})});let i=o[e];return i?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(er,{token:i,isLast:e===o.length-1,renderAction:s,onSelectToken:r})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Uo,{isLast:e===o.length-1})})}function Ge({title:e,tokens:t,isLoading:o,itemHeight:n=bd,renderHeaderExtra:s,renderItemAction:r,onSelectToken:i,onPauseChange:l,onScrollingChange:a,className:d,hideHeader:m}){let c=o||!t?void 0:t,u=c?c.length:or,p=react.useMemo(()=>({data:c,skeletonCount:or,renderItemAction:r,onSelectToken:i}),[c,r,i]),[x,f]=react.useState(false),g=react.useRef(void 0),h=react.useRef(false),k=react.useCallback(()=>{f(true),l?.(true);},[l]),T=react.useCallback(()=>{f(false),l?.(false);},[l]),v=react.useCallback(()=>{h.current||(h.current=true,a?.(true)),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{h.current=false,a?.(false);},180);},[a]);return react.useEffect(()=>()=>{g.current&&clearTimeout(g.current),h.current&&a?.(false);},[a]),jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full bg-surface-base overflow-hidden flex flex-col border border-border-subtle/60 rounded-lg",d),onMouseEnter:k,onMouseLeave:T,children:[!m&&jsxRuntime.jsx(Bn,{title:e,isPaused:x,extra:s}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",onScrollCapture:v,children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:u,rowHeight:n,rowComponent:vd,rowProps:p,overscanCount:10})})]})}function Wo(e,t){let o={...e};for(let n of Object.keys(t))t[n]!==void 0&&(o[n]=t[n]);return o}var Nd=["1m","5m","15m","30m","1h","4h","24h"];function Cd(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let n of Nd)t[n]&&(o[n]=e[n]?Wo(e[n],t[n]):t[n]);return o}function wd(e,t){return t?e?Wo(e,t):t:e}function $t(e,t){return t?e?Wo(e,t):t:e}function ee(e,t){let{chain:o,address:n,stats:s,marketData:r,socialMedias:i,security:l,launchedFrom:a,migratedTo:d,...m}=t,c={...e};for(let u of Object.keys(m))m[u]!==void 0&&(c[u]=m[u]);return c.stats=Cd(e.stats,s),c.marketData=wd(e.marketData,r),c.socialMedias=$t(e.socialMedias,i),c.security=$t(e.security,l),c.launchedFrom=$t(e.launchedFrom,a),c.migratedTo=$t(e.migratedTo,d),c}function zt(e,t){let o=new Map(e.map(n=>[n.address,n]));return t.map(n=>{let s=o.get(n.address);return s?ee(s,n):n})}function Ld(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],n=false;for(let s of t){let r=o.findIndex(i=>i.address===s.address);if(r>=0){o[r]=ee(o[r],s),n=true;continue}Ld(s)&&(o.push(s),n=true);}return n?o:e}var Rd=["24h","12h","30m","15m","30s","15s","1m","5m","1h","4h","1s"],Ad=new Set(["price","marketCap","athMarketCap","tvl","holders","top10Holdings","top10Ratio","top100Holdings","top100Ratio","creatorsHoldings","creatorsRatio","createdAt","launchedFromProtocolFamily","migratedToProtocolFamily","tag"]),Id=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 rr(e){for(let t of Rd){if(!e.endsWith(t))continue;let o=e.slice(0,-t.length);return o?{metric:o,resolution:t}:void 0}}function sr(e){if(Ad.has(e))return true;let t=rr(e);return t?Id.has(t.metric):false}function Qt(e,t){switch(t){case "price":return Y(e.marketData?.priceInUsd);case "marketCap":return Y(e.marketData?.marketCapInUsd);case "athMarketCap":return Y(e.marketData?.athMarketCapInUsd);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 nr(e,e.launchedFrom?.protocolFamily);case "migratedToProtocolFamily":return nr(e,e.migratedTo?.protocolFamily);case "tag":return e.tags?.[0];}let o=rr(t);if(!o)return;let n=e.stats,s=n&&o.resolution in n?n[o.resolution]:void 0;switch(o.metric){case "priceChange":return Y(s?.priceChange);case "volumes":return Y(s?.volumesInUsd);case "trades":return Y(s?.trades);case "traders":return Y(s?.traders);case "buys":return Y(s?.buys);case "sells":return Y(s?.sells);default:return}}function nr(e,t){if(t)return utils.parseTokenProtocolFamily(e.chain,t)??t}var Md=new Set(["top10Ratio","top100Ratio","creatorsRatio"]);function ir(e){let t=e.trim().toLowerCase();return t.length>0?t:void 0}function Dd(e){return [e.name,e.symbol].filter(Boolean).join(" ").toLowerCase()}function Hd(e){return Array.isArray(e)?e:void 0}function Fd(e){return Array.isArray(e)?void 0:e}function ar(e,t){if(!Md.has(e))return t;let o=Number(t);return Number.isFinite(o)?o/100:t}function xe(e,t){let o=Fd(t);return o===void 0?void 0:ar(e,o)}function Vo(e,t){return Hd(t)?.map(o=>ar(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 Gt(e,t){if(typeof e=="number"){let o=Number(t);return Number.isFinite(o)&&e===o}return String(e)===String(t)}function Ud(e,t){if(!sr(t.field))return false;let o=Qt(e,t.field),n=o===void 0;if(t.operator==="isNull")return n;if(t.operator==="isNotNull")return !n;if(n)return false;switch(t.operator){case "eq":{let s=xe(t.field,t.value);return s!==void 0&&Gt(o,s)}case "ne":{let s=xe(t.field,t.value);return s!==void 0&&!Gt(o,s)}case "gt":{let s=xe(t.field,t.value),r=s!==void 0?Xe(o,s):void 0;return r!==void 0&&r>0}case "gte":{let s=xe(t.field,t.value),r=s!==void 0?Xe(o,s):void 0;return r!==void 0&&r>=0}case "lt":{let s=xe(t.field,t.value),r=s!==void 0?Xe(o,s):void 0;return r!==void 0&&r<0}case "lte":{let s=xe(t.field,t.value),r=s!==void 0?Xe(o,s):void 0;return r!==void 0&&r<=0}case "between":{let s=Vo(t.field,t.value);if(!s||s.length<2)return false;let r=Xe(o,s[0]),i=Xe(o,s[1]);return r!==void 0&&i!==void 0&&r>=0&&i<=0}case "in":{let s=Vo(t.field,t.value);return s?s.some(r=>Gt(o,r)):false}case "nin":{let s=Vo(t.field,t.value);return s?s.every(r=>!Gt(o,r)):false}case "contains":{let s=xe(t.field,t.value);return s!==void 0&&String(o).includes(String(s))}case "notContains":{let s=xe(t.field,t.value);return s!==void 0&&!String(o).includes(String(s))}case "startsWith":{let s=xe(t.field,t.value);return s!==void 0&&String(o).startsWith(String(s))}case "endsWith":{let s=xe(t.field,t.value);return s!==void 0&&String(o).endsWith(String(s))}default:return false}}function ae(e,t){let o=t?.keywords?.map(ir).filter(r=>r!==void 0),n=t?.excludeKeywords?.map(ir).filter(r=>r!==void 0),s=t?.filters;return !o?.length&&!n?.length&&!s?.length?e:e.filter(r=>{let i=Dd(r);return !(o?.length&&!o.some(l=>i.includes(l))||n?.length&&n.some(l=>i.includes(l))||s?.length&&!s.every(l=>Ud(r,l)))})}function le({applyUpdates:e,paused:t=false,flushInterval:o=500}){let n=react.useRef(e),s=react.useRef(t),r=react.useRef([]),i=react.useRef(void 0),l=react.useRef(void 0);n.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);},[]),d=react.useCallback(()=>{if(a(),s.current){i.current=setTimeout(d,o);return}let u=r.current;u.length!==0&&(r.current=[],n.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,d();});},o));},[d,o]),c=react.useCallback(u=>{u.length!==0&&(r.current.push(...u),m());},[m]);return react.useEffect(()=>{t||d();},[d,t]),react.useEffect(()=>a,[a]),{enqueueUpdates:c,flush:d}}function ur({chain:e,tokens:t,onUpdate:o,enabled:n=true}){let s=react$1.useTokenMarketRuntime(),r=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]),d=()=>{r.current.forEach(m=>m()),r.current.clear();};react.useEffect(()=>d,[e,s,n]),react.useEffect(()=>{if(!n){d();return}let m=new Set(a),c=r.current;for(let[u,p]of c)m.has(u)||(p(),c.delete(u));for(let u of a){if(c.has(u))continue;let p=react$1.tokenMarketKey(e,u),x=s.subscribe(p,g=>{g.token&&i.current([g.token]);}),f=s.retain(p);c.set(u,()=>{x(),f();});}},[a,e,n,s]);}var Kd=80;function hr(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 _d(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:_d(t,e.tokenAAddress,e.tokenBAddress),image:e.dex?.image,programAddress:e.dex?.programAddress,protocolFamily:e.dex?.protocolFamily,protocolName:e.dex?.protocolName}]}}function qd(e){return {...hr(_o(e)),...e.token??{},liquidities:_o(e).liquidities,createdAt:e.token?.createdAt??e.createdAt}}function xr(e){return e.sort((t,o)=>{let n=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-n}),e.slice(0,Kd)}function Tr({chain:e,filters:t,isPaused:o=false,deferUpdates:n=false,updateFlushInterval:s}){let r=react.useMemo(()=>({chain:e}),[e]),i=react.useRef(o);i.current=o;let l=react.useRef(e),[a,d]=react.useState(true),[m,c]=react.useState([]);react.useEffect(()=>{e!==l.current&&(d(true),c([]),l.current=e);},[e]);let{data:u,isPending:p}=react$1.useNewPoolsQuery(r);react.useEffect(()=>{u&&(c(T=>{let v=i.current,b=T.length===0&&u.length>0,y=[...T];for(let L of u){let A=qd(L),N=y.findIndex(K=>K.address===A.address);N>=0?y[N]=ee(y[N],A):(!v||b)&&y.push(A);}return v?y:xr(y)}),d(false));},[u]);let x=react.useCallback(T=>{c(v=>{let b=i.current,y=[...v],L=false;for(let A of T){let N=y.findIndex(K=>K.address===A.address);N>=0?(L=true,y[N]=ee(y[N],A)):b||(L=true,y.push(hr(A)));}return L?b?y:xr(y):v});},[]),{enqueueUpdates:f}=le({applyUpdates:x,paused:n,flushInterval:s}),g=react.useCallback(T=>{f(T.map(_o));},[f]);react$1.useNewPoolsSubscription({chain:e},g),react$1.useNewTokensMetadataSubscription({chain:e},f),ur({chain:e,tokens:m,onUpdate:f});let h=react.useMemo(()=>p||a,[p,a]);return {tokens:react.useMemo(()=>ae(m,t),[m,t]),isLoading:h}}function hT({chain:e,filters:t,title:o,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,className:i,hideHeader:l}){let[a,d]=react.useState(false),[m,c]=react.useState(false),{tokens:u,isLoading:p}=Tr({chain:e,filters:t,isPaused:a,deferUpdates:m}),x=react.useCallback(f=>{d(f);},[]);return jsxRuntime.jsx(Ge,{title:o,tokens:u,isLoading:p,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,onPauseChange:x,onScrollingChange:c,className:i,hideHeader:l})}function he({chain:e,tokens:t,onUpdate:o,enabled:n=true}){let s=react$1.useTokenMarketRuntime(),r=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]),d=()=>{r.current.forEach(m=>m()),r.current.clear();};react.useEffect(()=>d,[e,s,n]),react.useEffect(()=>{if(!n){d();return}let m=new Set(a),c=r.current;for(let[u,p]of c)m.has(u)||(p(),c.delete(u));for(let u of a){if(c.has(u))continue;let p=react$1.tokenMarketKey(e,u),x=s.subscribe(p,g=>{g.token&&i.current([g.token]);}),f=s.retain(p);c.set(u,()=>{x(),f();});}},[a,e,n,s]);}function Lr({chain:e,filters:t,isPaused:o=false,refetchInterval:n=3e4,deferUpdates:s=false,updateFlushInterval:r}){let i=react.useMemo(()=>({chain:e}),[e]),l=react.useRef(o);l.current=o;let a=react.useRef(e),[d,m]=react.useState(true),[c,u]=react.useState([]);react.useEffect(()=>{e!==a.current&&(m(true),u([]),a.current=e);},[e]);let{data:p,isPending:x}=react$1.useMigratedTokensQuery(i,{refetchInterval:n});react.useEffect(()=>{p&&(u(T=>{let v=l.current,b=[...T];for(let y of p){let L=b.findIndex(A=>A.address===y.address);L>=0?b[L]=ee(b[L],y):v||b.unshift(y);}return b}),m(false));},[p]);let f=react.useCallback(T=>{u(v=>Re(v,T));},[]),{enqueueUpdates:g}=le({applyUpdates:f,paused:s,flushInterval:r});he({chain:e,tokens:c,onUpdate:g});let h=react.useMemo(()=>x||d,[x,d]);return {tokens:react.useMemo(()=>ae(c,t),[c,t]),isLoading:h}}function FT({chain:e,filters:t,title:o,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,className:i,hideHeader:l}){let[a,d]=react.useState(false),[m,c]=react.useState(false),{tokens:u,isLoading:p}=Lr({chain:e,filters:t,isPaused:a,deferUpdates:m}),x=react.useCallback(f=>{d(f);},[]);return jsxRuntime.jsx(Ge,{title:o,tokens:u,isLoading:p,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,onPauseChange:x,onScrollingChange:c,className:i,hideHeader:l})}function tc(e){return e.sort((t,o)=>{let n=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-n})}function Mr({chain:e,filters:t,isPaused:o=false,refetchInterval:n=15e3,deferUpdates:s=false,updateFlushInterval:r}){let i=react.useMemo(()=>({chain:e}),[e]),l=react.useRef(o);l.current=o;let a=react.useRef(e),[d,m]=react.useState(true),[c,u]=react.useState([]);react.useEffect(()=>{e!==a.current&&(m(true),u([]),a.current=e);},[e]);let{data:p,isPending:x}=react$1.useFinalStretchTokensQuery(i,{refetchInterval:n});react.useEffect(()=>{p&&(u(T=>{let v=l.current,b=T.length===0&&p.length>0,y=[...T];for(let L of p){let A=y.findIndex(N=>N.address===L.address);A>=0?y[A]=ee(y[A],L):(!v||b)&&y.push(L);}return v?y:tc(y)}),m(false));},[p]);let f=react.useCallback(T=>{u(v=>Re(v,T));},[]),{enqueueUpdates:g}=le({applyUpdates:f,paused:s,flushInterval:r});he({chain:e,tokens:c,onUpdate:g});let h=react.useMemo(()=>x||d,[x,d]);return {tokens:react.useMemo(()=>ae(c,t),[c,t]),isLoading:h}}function XT({chain:e,filters:t,title:o,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,className:i,hideHeader:l}){let[a,d]=react.useState(false),[m,c]=react.useState(false),{tokens:u,isLoading:p}=Mr({chain:e,filters:t,isPaused:a,deferUpdates:m}),x=react.useCallback(f=>{d(f);},[]);return jsxRuntime.jsx(Ge,{title:o,tokens:u,isLoading:p,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,onPauseChange:x,onScrollingChange:c,className:i,hideHeader:l})}var dc=10,cc="liberfi:search_histories";function kt(){return search.createBrowserSearchHistoryStorage({key:cc,fallback:search.createMemorySearchHistoryStorage()})}function mc(e,t){return e.length===t.length&&e.every((o,n)=>o===t[n])}function Fr(){let e=react.useMemo(()=>kt(),[]),t=react.useRef(e.read()),o=()=>{let i=e.read();return mc(t.current,i)?t.current:(t.current=i,i)},n=react.useSyncExternalStore(e.subscribe,o,o),s=react.useCallback(i=>{let l=i.trim();if(!l)return;let a=e.read().filter(d=>d!==l);e.write([l,...a].slice(0,dc));},[e]),r=react.useCallback(()=>{e.clear();},[e]);return {histories:n,addHistory:s,clearHistories:r}}function Br({histories:e,onSelect:t,onClear:o,className:n}){let{t:s}=i18n.useTranslation();return e.length===0?null:jsxRuntime.jsxs("div",{className:ui.cn("px-4 pb-4",n),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-text-muted",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(r=>jsxRuntime.jsx(ui.Chip,{size:"sm",variant:"bordered",className:ui.cn("text-text-muted","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(r),children:jsxRuntime.jsx("span",{children:r})},r))})]})}function Er({onSelect:e,histories:t,onClear:o,className:n}){let s=Fr(),r=t?[...t]:s.histories,i=o??s.clearHistories;return jsxRuntime.jsx(Br,{className:ui.cn(n),histories:r,onSelect:e,onClear:i})}var Nc=["ArrowDown","ArrowUp","Enter","Escape"];function Cc(e){return Nc.includes(e)}function Wr({value:e,onValueChange:t,onClear:o,onEscape:n,onNavigateKey:s,className:r}){let{t:i}=i18n.useTranslation();return jsxRuntime.jsx("div",{className:r,children:jsxRuntime.jsx(ui.StyledInput,{autoFocus:true,variant:"bordered",radius:"full",value:e,onValueChange:t,onKeyDown:l=>{Cc(l.key)&&(l.key!=="Escape"&&l.preventDefault(),s?.(l.key));},placeholder:i("tokens.search.placeholder"),classNames:{inputWrapper:["!bg-surface-strong/60","!border-border-control/50","data-[hover=true]:!bg-surface-strong","group-data-[focus=true]:!bg-surface-strong","group-data-[focus=true]:!border-border-control/80"].join(" ")},startContent:jsxRuntime.jsx(ui.SearchIcon,{width:20,height:20,className:"text-text-muted"}),endContent:e?jsxRuntime.jsx(ui.Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-text-muted",onPress:o,children:jsxRuntime.jsx(ui.XCloseIcon,{width:20,height:20})}):jsxRuntime.jsx(ui.Kbd,{className:"min-w-8 justify-center text-xs text-text-muted bg-transparent border border-border-control/50 rounded-full cursor-pointer select-none",onMouseDown:l=>{l.preventDefault(),n?.();},children:"ESC"})})})}function Yt({token:e,highlighted:t=false,className:o}){let{t:n}=i18n.useTranslation(),s=hooks.useTickAge(e.createdAt),r=react.useMemo(()=>e.marketData?.priceInUsd,[e]),i=react.useMemo(()=>e.marketData?.marketCapInUsd,[e]),l=react.useMemo(()=>e.marketData?.tvlInUsd,[e]),a=react.useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),d=react.useMemo(()=>a?new utils.SafeBigNumber(a).abs().toString():void 0,[a]),m=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&&"bg-content2",o),"data-highlighted":t?"true":"false","aria-selected":t,children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2.5",children:[jsxRuntime.jsx(ke,{token:e,className:"w-10 h-10 flex-none",showProtocolFamily:true,classNames:{searchIcon:"w-5 h-5"}}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex flex-col gap-0.5",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"font-medium text-sm truncate",children:e.symbol}),jsxRuntime.jsx("span",{className:"text-xs text-primary font-medium",children:utils.formatAge(s)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1 text-xs text-text-muted",children:[jsxRuntime.jsxs("span",{children:[n("tokens.listHeader.mcShort")," ",utils.formatMCapInUsd(i)]}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsxs("span",{children:[n("tokens.listHeader.liqShort")," ",utils.formatAmountInUsd(l)]})]})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsxRuntime.jsx("span",{className:"text-xs",children:utils.formatPriceInUsd(r)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex gap-0.5 items-center text-xs",m?"text-positive":"text-negative"),children:[m?jsxRuntime.jsx(ui.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:8,height:8}),jsxRuntime.jsx("span",{children:utils.formatPercent(d)})]})]})]})}function Jt({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-text-muted","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 jt({rows:e=6,className:t}){return jsxRuntime.jsx("div",{className:ui.cn("w-full",t),children:Array.from({length:e}).map((o,n)=>jsxRuntime.jsx(Bc,{},n))})}function $r({keyword:e,chains:t,limit:o=50}){let n=react.useMemo(()=>({keyword:e,chains:t,limit:o}),[e,t,o]),{data:s,isLoading:r,isFetchingNextPage:i,hasNextPage:l,fetchNextPage:a}=react$1.useSearchTokensInfiniteQuery(n,{enabled:!!e}),d=react.useMemo(()=>s?.pages.flatMap(m=>m.data)??[],[s]);return {tokens:d,items:d,isLoading:r,isFetchingNextPage:i,hasNextPage:l??false,fetchNextPage:a}}var Xc=56;function Gr({onSelectToken:e,className:t,navigationRef:o,onEscape:n,...s}){let{tokens:r,isLoading:i,isFetchingNextPage:l,hasNextPage:a,fetchNextPage:d}=$r(s),m=react.useRef(null),{height:c}=hooks.useResizeObserver({ref:m}),u=react.useCallback(k=>k<r.length,[r]),p=react.useCallback(async()=>{a&&!l&&await d();},[a,l,d]),x=react.useMemo(()=>a?r.length+1:r.length,[r,a]),f=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:u,loadMoreRows:p,rowCount:x,threshold:5}),g=i?0:r.length,h=search.useSearchKeyboardNavigation({itemCount:g,hasNextPage:a&&!i,isFetchingNextPage:l,onSelectIndex:k=>{let T=r[k];T&&e?.(T);},onRequestNextPage:()=>{a&&!l&&d();},onEscape:()=>n?.()});return o&&(o.current=h),react.useEffect(()=>()=>{o&&o.current===h&&(o.current=null);},[h,o]),react.useEffect(()=>{h.reset();},[s.keyword,h]),i?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Jt,{}),jsxRuntime.jsx(jt,{})]}):r.length===0?jsxRuntime.jsxs("div",{className:ui.cn("w-full",t),children:[jsxRuntime.jsx(Jt,{}),jsxRuntime.jsx(Jc,{})]}):jsxRuntime.jsxs("div",{className:ui.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(Jt,{className:"flex-none"}),jsxRuntime.jsx("div",{className:"flex-auto min-h-0",ref:m,children:jsxRuntime.jsx(reactWindow.List,{style:{height:c},onRowsRendered:f,rowComponent:Yc,rowCount:x,rowHeight:Xc,rowProps:{tokens:r,onSelectToken:e,highlightedIndex:h.highlightedIndex},overscanCount:5})})]})}function Yc({index:e,style:t,tokens:o,onSelectToken:n,highlightedIndex:s}){let r=o[e];return r?jsxRuntime.jsx("div",{style:t,"data-index":e,onClick:()=>n?.(r),children:jsxRuntime.jsx(Yt,{token:r,highlighted:s===e})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui.Spinner,{size:"sm"})})}function Jc(){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-text-muted"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-text-muted",children:e("tokens.search.noResults")})]})}function Zc(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 n=t?.[o];if(n!=="asc"&&n!=="desc")return e;let s=e.map((r,i)=>({token:r,index:i,value:Qt(r,o)}));return s.every(({value:r})=>r===void 0)?e:s.sort((r,i)=>{let l=r.value===void 0,a=i.value===void 0;if(l&&a)return r.index-i.index;if(l)return 1;if(a)return -1;let d=Zc(r.value,i.value);return d===0?r.index-i.index:n==="asc"?d:-d}).map(({token:r})=>r)}function oo({chain:e,resolution:t,filters:o,sortDirections:n,refetchInterval:s=3e4,deferUpdates:r=false,updateFlushInterval:i}){let l=react.useMemo(()=>({chain:e,resolution:t}),[e,t]),a=react.useRef(l),[d,m]=react.useState(true);react.useEffect(()=>{JSON.stringify(l)!==JSON.stringify(a.current)&&(m(true),u([]),a.current=l);},[l]);let[c,u]=react.useState([]),{data:p,isPending:x}=react$1.useTrendingTokensQuery(l,{refetchInterval:s});react.useEffect(()=>{p&&(u(v=>zt(v,p)),m(false));},[p]);let f=react.useCallback(v=>{u(b=>Re(b,v));},[]),{enqueueUpdates:g}=le({applyUpdates:f,paused:r,flushInterval:i});react$1.useTrendingTokensSubscription({chain:e},g),he({chain:e,tokens:c,onUpdate:g});let h=react.useMemo(()=>!!(x||d),[x,d]),k=react.useMemo(()=>ae(c,o),[c,o]);return {tokens:react.useMemo(()=>je(k,n),[k,n]),isLoading:h}}var sm=types.Chain.ETHEREUM,im="24h",am=56;function Jr({chains:e,onSelectToken:t,className:o}){let n=e?.length===1?e[0]:e?.[0]??sm,{tokens:s,isLoading:r}=oo({chain:n,resolution:im});return jsxRuntime.jsx("div",{className:ui.cn("w-full flex flex-col overflow-hidden",o),children:r?jsxRuntime.jsx(jt,{}):jsxRuntime.jsx("div",{className:"overflow-y-auto",children:s.map(i=>jsxRuntime.jsx("div",{style:{height:am},onClick:()=>t?.(i),children:jsxRuntime.jsx(Yt,{token:i,className:"h-full"})},i.address))})})}function es({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:n}){let s=react.useMemo(()=>kt(),[]),r=search.useSearchController({storage:s,onQueryChange:t??Zr,onDismiss:n??Zr}),i=react.useRef(null),l=r.dismiss,a=react.useCallback(d=>{if(i.current){i.current.onKey(d);return}d==="Escape"&&l();},[l]);return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(Wr,{value:r.text,onValueChange:r.setText,onClear:r.clearQuery,onEscape:r.dismiss,onNavigateKey:a}),r.query?jsxRuntime.jsx(Gr,{className:"flex-auto min-h-0",keyword:r.query,chains:e,onSelectToken:o,navigationRef:i,onEscape:r.dismiss}):jsxRuntime.jsxs("div",{className:"flex-auto min-h-0 flex flex-col overflow-hidden",children:[jsxRuntime.jsx(Er,{histories:r.history,onSelect:r.commitQuery,onClear:r.clearHistory}),jsxRuntime.jsx(Jr,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}function Zr(){}var Go="search";function Ub({id:e=Go}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(vm,{...t})})}function vm({params:e,isOpen:t,onOpenChange:o,onResult:n}){let{t:s}=i18n.useTranslation(),{isMobile:r}=ui.useScreen(),i=react.useCallback(l=>{n(l);},[n]);return jsxRuntime.jsx(ui.StyledModal,{isOpen:t,onOpenChange:o,size:r?"full":"lg",hideCloseButton:true,backdrop:"opaque",radius:"lg",children:jsxRuntime.jsxs(ui.ModalContent,{className:"w-full h-full",style:{borderRadius:r?void 0:14,border:r?void 0:"1px solid var(--color-border-control)",background:"var(--color-surface-interactive)",boxShadow:r?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(es,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function $b({chains:e,onSelectToken:t,className:o}){let{t:n}=i18n.useTranslation(),{isDesktop:s}=ui.useScreen(),{onOpen:r,onClose:i}=uiScaffold.useAsyncModal(Go),l=hooks.useCallbackRef(t),a=hooks.useCallbackRef(async()=>{let m=await r({params:{chains:e}});m&&l(m);}),d=hooks.useCallbackRef(()=>{i();});return react.useEffect(()=>{let m=c=>{let u=document.activeElement,p=!!u&&(u.tagName==="INPUT"||u.tagName==="TEXTAREA"||u.getAttribute("contenteditable")==="true");c.key==="/"&&!p&&(c.preventDefault(),a()),c.key==="Escape"&&(c.preventDefault(),d());};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m);}},[a,d]),s?jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",onPress:a,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-text-muted",o),children:n("tokens.search.placeholder")}):jsxRuntime.jsx(ui.Button,{size:"sm",radius:"full",isIconOnly:true,onPress:a,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"})})}var ss=()=>{};function Jb({onKeywordChange:e}){let t=react.useMemo(()=>kt(),[]),o=search.useSearchController({storage:t,onQueryChange:e??ss,onDismiss:ss});return {text:o.text,keyword:o.query,setText:o.setText,setKeyword:o.commitQuery,clearKeyword:o.clearQuery}}function yt(e){return e==null||e===""?"--":utils.formatPercent(Number(e)/100)}function Te(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,n=typeof t=="number"?new Date(t):t,s=Math.max(0,Math.floor((n.getTime()-o.getTime())/1e3));if(s<60)return `${s}s`;let r=Math.floor(s/60);if(r<60)return `${r}m`;let i=Math.floor(r/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 F(e,t){let{token:o,isLoading:n}=react$1.useTokenMarket({chain:e,address:t});return {token:o,isLoading:n}}function et({label:e,totalFormatted:t,buysFormatted:o,sellsFormatted:n,totalValue:s=0,buysValue:r=0,className:i}){let{t:l}=i18n.useTranslation(),a=new utils.SafeBigNumber(s??0),d=new utils.SafeBigNumber(r??0),m=a.eq(0)?0:d.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-text-muted",children:e}),jsxRuntime.jsx("span",{className:"text-xs text-foreground",children:t})]}),jsxRuntime.jsx(ui.Progress,{size:"sm",value:m,classNames:{track:"bg-negative/40",indicator:"bg-positive"},"aria-label":l("tokens.tokenDetail.buyShare",{label:e})}),jsxRuntime.jsxs("div",{className:"flex justify-between gap-4 text-[10px]",children:[jsxRuntime.jsx("span",{className:"text-positive",children:l("tokens.tokenDetail.buys",{value:o})}),jsxRuntime.jsx("span",{className:"text-negative",children:l("tokens.tokenDetail.sells",{value:n})})]})]})}function as({token:e,actions:t,dataStrip:o,className:n,onCopyAddress:s}){let r=e?.address;return jsxRuntime.jsxs("div",{className:ui.cn("flex w-full flex-wrap items-center gap-4 px-4 py-3",n),children:[jsxRuntime.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e&&jsxRuntime.jsx(ke,{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-text-muted",children:e?.name})]}),r&&jsxRuntime.jsxs("button",{type:"button",onClick:()=>s?.(r),className:"flex items-center gap-1 text-[11px] text-text-muted transition-colors hover:text-foreground",title:r,children:[Te(r,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 ls(e,t){return F(e,t)}function cs({price:e,marketCap:t,volume:o,holdersCount:n,socialMedia:s,className:r}){return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-wrap items-center gap-x-6 gap-y-3",r),children:[e,jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-3",children:[t,o,n]}),jsxRuntime.jsx("div",{className:"ml-auto",children:s})]})}function Ev(e,t){return F(e,t)}function us({holders:e,top10HoldingsRatio:t,top100HoldingsRatio:o,className:n}){let{t:s}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",n),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-text-muted",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-text-muted",children:s("tokens.tokenDetail.holdersSummary")})]})}function ps(e,t){return F(e,t)}function fs({chain:e,address:t,className:o}){let{token:n}=ps(e,t);return jsxRuntime.jsx(us,{holders:n?.marketData?.holders,top10HoldingsRatio:n?.marketData?.top10HoldingsRatio,top100HoldingsRatio:n?.marketData?.top100HoldingsRatio,className:o})}function ks({marketCapInUsd:e,tvlInUsd:t,createdAt:o,className:n}){let{t:s}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",n),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-text-muted",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-text-muted",children:s("tokens.tokenDetail.marketCapSummary")})]})}function xs(e,t){return F(e,t)}function hs({chain:e,address:t,className:o}){let{token:n}=xs(e,t);return jsxRuntime.jsx(ks,{marketCapInUsd:n?.marketData?.marketCapInUsd,tvlInUsd:n?.marketData?.tvlInUsd,createdAt:n?.createdAt,className:o})}function bs({priceInUsd:e,price24hAgoInUsd:t,className:o}){let{t:n}=i18n.useTranslation(),{bearish:s,priceChange:r}=react.useMemo(()=>{if(!e||!t)return {bearish:false,priceChange:void 0};let i=new utils.SafeBigNumber(e),l=new utils.SafeBigNumber(t);return l.lte(0)?{bearish:false,priceChange:void 0}:{bearish:i.lt(l),priceChange:i.minus(l).div(l).abs().toNumber()}},[e,t]);return jsxRuntime.jsxs("div",{className:ui.cn("group flex flex-col gap-1",o),"data-bearish":s,children:[jsxRuntime.jsx("div",{className:"text-base font-medium leading-none text-positive group-data-[bearish=true]:text-negative",children:e?utils.formatPriceInUsd(e):"--"}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-text-muted",children:n("tokens.tokenDetail.change24h")}),jsxRuntime.jsx("span",{className:"text-positive group-data-[bearish=true]:text-negative",children:r!=null?utils.formatPercent(r):"--"})]})]})}function vs(e,t){return F(e,t)}function Ss({chain:e,address:t,className:o}){let{token:n}=vs(e,t);return jsxRuntime.jsx(bs,{priceInUsd:n?.marketData?.priceInUsd,price24hAgoInUsd:n?.stats?.["24h"]?.openPriceInUsd,className:o})}function su(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 Ns({socials:e,className:t,iconSize:o=16}){if(!e)return null;let s=["website","twitter","telegram","discord","github","reddit","youtube","medium"].filter(r=>!!e[r]);return s.length===0?null:jsxRuntime.jsx("div",{className:ui.cn("flex items-center gap-3",t),children:s.map(r=>jsxRuntime.jsx("a",{href:e[r],target:"_blank",rel:"noreferrer noopener",className:"flex items-center justify-center text-text-muted transition-colors hover:text-foreground",style:{width:o,height:o},children:su(r,o)},r))})}function Cs(e,t){return F(e,t)}function ws({chain:e,address:t,className:o,iconSize:n}){let{token:s}=Cs(e,t);return jsxRuntime.jsx(Ns,{socials:s?.socialMedias,className:o,iconSize:n})}function Rs({volumesInUsd:e,trades:t,traders:o,className:n}){let{t:s}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col items-start justify-center gap-0.5",n),children:[jsxRuntime.jsxs("div",{className:"text-xs font-medium text-text-muted",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-text-muted",children:s("tokens.tokenDetail.volumeSummary")})]})}function As(e,t){return F(e,t)}function Is({chain:e,address:t,className:o}){let{token:n}=As(e,t),s=n?.stats?.["24h"];return jsxRuntime.jsx(Rs,{volumesInUsd:s?.volumesInUsd,trades:s?.trades,traders:s?.traders,className:o})}function Ms({chain:e,address:t,className:o}){return jsxRuntime.jsx(cs,{className:o,price:jsxRuntime.jsx(Ss,{chain:e,address:t}),marketCap:jsxRuntime.jsx(hs,{chain:e,address:t}),volume:jsxRuntime.jsx(Is,{chain:e,address:t}),holdersCount:jsxRuntime.jsx(fs,{chain:e,address:t}),socialMedia:jsxRuntime.jsx(ws,{chain:e,address:t})})}function NN({chain:e,address:t,actions:o,dataStrip:n,className:s,onCopyAddress:r}){let{token:i}=ls(e,t);return jsxRuntime.jsx(as,{token:i,actions:o,dataStrip:n===void 0?jsxRuntime.jsx(Ms,{chain:e,address:t}):n,className:s,onCopyAddress:r})}var fu=["holdingUsd","lastActiveAt"];function Fs({holders:e,isLoading:t,sortBy:o,sortDirection:n,onSortByChange:s,onlyTracked:r=false,onOnlyTrackedChange:i,onLoadMore:l,hasMore:a,now:d=Date.now(),wellKnownAddresses:m,className:c,renderAddress:u}){let{t:p}=i18n.useTranslation(),x=r?e.filter(f=>f.tags&&f.tags.length>0):e;return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",c),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium text-text-muted",children:p("tokens.tokenDetail.holders.title")}),jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-text-muted",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:r,onChange:f=>i?.(f.target.checked)}),p("tokens.tokenDetail.filter.onlyTracked")]})]}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:fu.map(f=>jsxRuntime.jsx("button",{type:"button",onClick:()=>s(f,n??"desc"),className:ui.cn("rounded px-2 py-1 text-[11px] transition-colors",o===f?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground"),children:p(f==="holdingUsd"?"tokens.tokenDetail.columns.value":"tokens.tokenDetail.columns.lastActive")},f))})]}),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-text-muted",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:p("tokens.tokenDetail.columns.wallet")}),jsxRuntime.jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:p("tokens.tokenDetail.columns.tags")}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:p("tokens.tokenDetail.columns.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:p("tokens.tokenDetail.columns.firstHeld")}),jsxRuntime.jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:p("tokens.tokenDetail.columns.lastActive")})]})}),jsxRuntime.jsxs("tbody",{children:[x.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-text-muted",children:p("tokens.tokenDetail.holders.empty")})}),x.map(f=>jsxRuntime.jsx(gu,{holder:f,now:d,wellKnownAddresses:m,renderAddress:u},f.address)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:p("tokens.tokenDetail.loading")})})]})]})}),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-text-muted transition-colors hover:bg-default-200 disabled:opacity-50",children:p("tokens.tokenDetail.loadMore")})})]})}function gu({holder:e,now:t,wellKnownAddresses:o,renderAddress:n}){let s=o?.[e.address],r=react.useMemo(()=>n?n(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-text-muted",children:s}):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-text-muted",children:Te(e.address,6,6)}),[e.address,n,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:r}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(Et,{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-text-muted",children:yt(e.ratio)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:e.startHoldingAt?Pe(e.startHoldingAt,t):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:e.lastActiveAt?Pe(e.lastActiveAt,t):"--"})]})}function Bs({chain:e,address:t,limit:o=50,initialSortBy:n,initialSortDirection:s}){let[r,i]=react.useState(n),[l,a]=react.useState(s),[d,m]=react.useState(void 0),[c,u]=react.useState([]),p=react.useCallback(()=>{m(void 0),u([]);},[]),x=react.useCallback((N,K)=>{N===r&&K===l||(i(N),a(K),p());},[p,r,l]),f=react.useCallback(N=>{x(N,l??"desc");},[x,l]),g=react.useCallback(N=>{N!==l&&(a(N),p());},[p,l]);react.useEffect(()=>{p();},[e,t,p]);let h=react.useMemo(()=>({chain:e,address:t,cursor:d,limit:o,sortBy:r,sortDirection:l}),[e,t,d,o,r,l]),{data:k,isPending:T,isFetching:v}=react$1.useTokenHoldersQuery(h);react.useEffect(()=>{k&&u(N=>d==null?[k]:N[N.length-1]?.endCursor===k.endCursor?N:[...N,k]);},[k,d]),react$1.useTokenSubscription({chain:e,address:t},()=>{});let b=react.useMemo(()=>c.flatMap(N=>N.data),[c]),y=c[c.length-1],L=!!(y?.hasNext&&y.endCursor),A=react.useCallback(()=>{!y?.endCursor||!y.hasNext||m(y.endCursor);},[y]);return {holders:b,isLoading:T||v,sortBy:r,sortDirection:l,setSortBy:f,setSort:x,setSortDirection:g,hasMore:L,loadMore:A}}function zN({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s,initialOnlyTracked:r=false,wellKnownAddresses:i,className:l,renderAddress:a}){let[d,m]=react.useState(r),{holders:c,isLoading:u,sortBy:p,sortDirection:x,setSort:f,hasMore:g,loadMore:h}=Bs({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s});return jsxRuntime.jsx(Fs,{holders:c,isLoading:u,sortBy:p,sortDirection:x,onSortByChange:f,onlyTracked:d,onOnlyTrackedChange:m,wellKnownAddresses:i,hasMore:g,onLoadMore:h,className:l,renderAddress:a})}var Su=["timestamp","totalUsd"],Nu=["all","buy","sell"],Cu=["all","dev","tracked","you"];function Es({activities:e,isLoading:t,sortBy:o,sortDirection:n="desc",onSortByChange:s,typeFilter:r="all",onTypeFilterChange:i,traderFilter:l="all",onTraderFilterChange:a,youWalletAddress:d,currency:m="usd",onCurrencyChange:c,onLoadMore:u,hasMore:p,now:x=Date.now(),nativeDecimals:f=9,nativeSymbol:g="SOL",className:h,onRowClick:k}){let{t:T}=i18n.useTranslation(),v=Lu(e,l,d);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col",h),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:[Nu.map(b=>jsxRuntime.jsx("button",{type:"button",onClick:()=>i?.(b),className:ui.cn("rounded px-2 py-1 text-[11px] transition-colors",r===b?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground"),children:T(b==="all"?"tokens.tokenDetail.filter.all":b==="buy"?"tokens.tokenDetail.filter.buys":"tokens.tokenDetail.filter.sells")},b)),jsxRuntime.jsx("span",{className:"mx-1 h-3 w-px bg-default-200","aria-hidden":true}),Cu.map(b=>{let y=l===b,L=b==="you"&&!d;return jsxRuntime.jsx("button",{type:"button",disabled:L,onClick:()=>a?.(b),className:ui.cn("rounded px-2 py-1 text-[11px] transition-colors",y?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground",L&&"cursor-not-allowed opacity-50"),children:T(`tokens.tokenDetail.filter.${b}`)},b)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(Pu,{value:m,nativeSymbol:g,onChange:c}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:Su.map(b=>{let y=o===b,L=y&&n==="desc"?"asc":y&&n==="asc"?void 0:"desc",A=L?b:void 0;return jsxRuntime.jsx("button",{type:"button",onClick:()=>s(A,L),className:ui.cn("rounded px-2 py-1 text-[11px] transition-colors",y?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground"),children:T(b==="timestamp"?"tokens.tokenDetail.filter.latest":"tokens.tokenDetail.filter.topUsd")},b)})})]})]}),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-text-muted",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:T("tokens.tokenDetail.columns.side")}),jsxRuntime.jsx("th",{className:"w-[25%] px-3 py-2 text-left font-normal",children:T("tokens.tokenDetail.columns.trader")}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:T("tokens.tokenDetail.columns.amount")}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:T("tokens.tokenDetail.columns.usd")}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:T("tokens.tokenDetail.columns.price")}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:T("tokens.tokenDetail.columns.gas")}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-right font-normal",children:T("tokens.tokenDetail.columns.age")})]})}),jsxRuntime.jsxs("tbody",{children:[v.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-8 text-center text-text-muted",children:T("tokens.tokenDetail.activities.empty")})}),v.map(b=>jsxRuntime.jsx(Au,{activity:b,now:x,nativeDecimals:f,nativeSymbol:g,currency:m,onRowClick:k},b.txHash)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-4 text-center text-text-muted",children:T("tokens.tokenDetail.loading")})})]})]})}),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-text-muted transition-colors hover:bg-default-200 disabled:opacity-50",children:T("tokens.tokenDetail.loadMore")})})]})}function wu(e){return e.type==="buy"?e.to:e.type==="sell"?e.from:e.to}function Lu(e,t,o){if(t==="all")return e;if(t==="you"){if(!o)return [];let s=o.toLowerCase();return e.filter(r=>r.walletAddress?.toLowerCase()===s)}if(t==="dev")return e.filter(s=>s.traderTags?.some(r=>r==="dev"));let n=new Set(["kol","smart","bluechip"]);return e.filter(s=>s.traderTags?.some(r=>n.has(r)))}function Pu({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-text-muted hover:text-foreground"),children:s.label},s.k))})}function Ru(e,t,o){if(!e)return "--";let n=Number(e)/Math.pow(10,t);return Number.isFinite(n)?`${utils.formatAmount(n)} ${o}`:"--"}function Au({activity:e,now:t,nativeDecimals:o,nativeSymbol:n,currency:s,onRowClick:r}){let i=wu(e),l=e.type==="buy"?"Buy":e.type==="sell"?"Sell":e.type.replace(/_/g," "),a=e.type==="buy"?"text-positive":e.type==="sell"?"text-negative":"text-text-muted";return jsxRuntime.jsxs("tr",{className:ui.cn("border-b border-default-50 hover:bg-default-50/60",r&&"cursor-pointer"),onClick:r?()=>r(e):void 0,children:[jsxRuntime.jsx("td",{className:ui.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-text-muted",children:Te(e.walletAddress,6,6)}),jsxRuntime.jsx(Kn,{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-text-muted",children:i.priceInUsd?`$${utils.formatPrice(i.priceInUsd)}`:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:Ru(e.gasFee,o,n)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:Pe(e.time,t)})]})}var Iu=500;function tn({sortBy:e,sortDirection:t,typeFilter:o}){return {getKey:en,compare:(n,s)=>Hu(n,s,e,t),include:n=>Du(n,o),merge:(n,s,r)=>r.incomingSource==="live"?{item:s,placement:"incoming"}:r.previousSource==="live"?{item:n,placement:"previous"}:{item:n,placement:"previous"},maxLiveItems:Iu}}function _s(e){return Object.freeze({cursor:null,generation:e,mode:"replace"})}function qs(e=tn({sortDirection:"desc",typeFilter:"all"})){let{snapshot:t}=realtimeCursorCollection.createRealtimeCursorCollection(e);return {collection:t,request:_s(t.generation)}}function Nt(e,t,o){let{reduce:n}=realtimeCursorCollection.createRealtimeCursorCollection(o);switch(t.type){case "reset":{let s=n(e.collection,{type:"reset"});return {collection:s,request:_s(s.generation)}}case "load-more":return Mu(e);case "live":return t.items.length===0?e:{collection:n(e.collection,{type:"live",items:t.items}),request:e.request};case "page":return t.request.mode==="append"&&t.nextCursor===e.collection.nextCursor?e:{collection:n(e.collection,{type:"page",mode:t.request.mode,generation:t.request.generation,items:t.items,nextCursor:t.nextCursor,hasNextPage:t.hasNextPage}),request:e.request};default:return t}}function Mu(e){let{collection:t,request:o}=e;return !t.hasNextPage||t.nextCursor==null||o.mode==="append"&&o.cursor===t.nextCursor&&o.generation===t.generation?e:{collection:t,request:Object.freeze({cursor:t.nextCursor,generation:t.generation,mode:"append"})}}function Du(e,t){return t==="all"?true:e.type===t}function Hu(e,t,o,n){let r=(o??"timestamp")==="totalUsd"?jo(Vs(e),Vs(t)):jo(so(e),so(t)),i=Ws(r,n);if(i!==0)return i;let l=Ws(jo(so(e),so(t)),"desc");return l!==0?l:en(e).localeCompare(en(t))}function Ws(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 Vs(e){let t=e.type==="sell"?e.from:e.to,o=Number(t.amountInUsd);return Number.isFinite(o)?o:0}function en(e){return e.txHash}function Qs({chain:e,address:t,limit:o=50,initialSortBy:n,initialSortDirection:s="desc",initialTypeFilter:r="all"}){let[i,l]=react.useState(n),[a,d]=react.useState(s),[m,c]=react.useState(r),u=react.useMemo(()=>tn({sortBy:i,sortDirection:a,typeFilter:m}),[i,a,m]),p=react.useRef(u);p.current=u;let[x,f]=react.useState(()=>qs(u)),g=react.useRef(true),h=react.useCallback(()=>{f(P=>Nt(P,{type:"reset"},p.current));},[]),k=react.useCallback((P,Q)=>{let pt=Q??(P===i?a:"desc");P===i&&pt===a||(l(P),d(pt),h());},[i,a,h]),T=react.useCallback(P=>{P!==a&&(d(P),h());},[a,h]),v=react.useCallback(P=>{P!==m&&(c(P),h());},[m,h]);react.useEffect(()=>{if(g.current){g.current=false;return}h();},[e,t,h]);let b=m==="all"?void 0:m,{collection:y,request:L}=x,A=react.useMemo(()=>({chain:e,address:t,cursor:L.cursor??void 0,limit:o,sortBy:i,sortDirection:a,type:b}),[e,t,L,o,i,a,b]),{data:N,isPending:K,isFetching:fe}=react$1.useTokenActivitiesQuery(A);react.useEffect(()=>{N&&f(P=>Nt(P,{type:"page",request:L,items:N.data,nextCursor:N.endCursor??null,hasNextPage:!!N.hasNext},u));},[N,L,u]),react$1.useTokenActivitiesSubscription({chain:e,address:t},P=>{P?.length&&f(Q=>Nt(Q,{type:"live",items:P},u));});let E=react.useMemo(()=>y.items.slice(),[y]),W=!!(y.hasNextPage&&y.nextCursor),ge=react.useCallback(()=>{f(P=>Nt(P,{type:"load-more"},u));},[u]);return {activities:E,isLoading:K||fe,sortBy:i,sortDirection:a,setSortBy:k,setSortDirection:T,typeFilter:m,setTypeFilter:v,hasMore:W,loadMore:ge}}function gC({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s,initialTypeFilter:r,initialTraderFilter:i="all",initialCurrency:l="usd",youWalletAddress:a,nativeDecimals:d,nativeSymbol:m,className:c,onRowClick:u}){let[p,x]=react.useState(i),[f,g]=react.useState(l),{activities:h,isLoading:k,sortBy:T,sortDirection:v,setSortBy:b,typeFilter:y,setTypeFilter:L,hasMore:A,loadMore:N}=Qs({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s,initialTypeFilter:r});return jsxRuntime.jsx(Es,{activities:h,isLoading:k,sortBy:T,sortDirection:v,onSortByChange:b,typeFilter:y,onTypeFilterChange:L,traderFilter:p,onTraderFilterChange:x,youWalletAddress:a,currency:f,onCurrencyChange:g,hasMore:A,onLoadMore:N,className:c,nativeDecimals:d,nativeSymbol:m,onRowClick:u})}function Xs({stats:e,resolution:t,className:o}){let n=e?.[t],s=n?.traders??0,r=n?.buyers??0,i=n?.sellers??0;return jsxRuntime.jsx(et,{className:o,label:`Traders (${t})`,totalFormatted:utils.formatAmount(s),buysFormatted:utils.formatAmount(r),sellsFormatted:utils.formatAmount(i),totalValue:s,buysValue:r})}function Ys(e,t){return F(e,t)}function AC({chain:e,address:t,resolution:o="24h",className:n}){let{token:s}=Ys(e,t);return jsxRuntime.jsx(Xs,{stats:s?.stats,resolution:o,className:n})}function Js({stats:e,resolution:t,className:o}){let n=e?.[t],s=n?.trades??0,r=n?.buys??0,i=n?.sells??0;return jsxRuntime.jsx(et,{className:o,label:`Transactions (${t})`,totalFormatted:utils.formatAmount(s),buysFormatted:utils.formatAmount(r),sellsFormatted:utils.formatAmount(i),totalValue:s,buysValue:r})}function Zs(e,t){return F(e,t)}function $C({chain:e,address:t,resolution:o="24h",className:n}){let{token:s}=Zs(e,t);return jsxRuntime.jsx(Js,{stats:s?.stats,resolution:o,className:n})}function js({stats:e,resolution:t,className:o}){let n=e?.[t],s=n?.volumesInUsd??"0",r=n?.buyVolumesInUsd??"0",i=n?.sellVolumesInUsd??"0";return jsxRuntime.jsx(et,{className:o,label:`Volume (${t})`,totalFormatted:utils.formatAmountInUsd(s),buysFormatted:utils.formatAmountInUsd(r),sellsFormatted:utils.formatAmountInUsd(i),totalValue:s,buysValue:r})}function ei(e,t){return F(e,t)}function i0({chain:e,address:t,resolution:o="24h",className:n}){let{token:s}=ei(e,t);return jsxRuntime.jsx(js,{stats:s?.stats,resolution:o,className:n})}function oi({security:e,externalUrl:t,externalLabel:o,className:n}){let{t:s}=i18n.useTranslation(),r=[{title:s("tokens.tokenDetail.security.transferFee"),value:e?.hasTransferFee,safeWhen:false,description:s("tokens.tokenDetail.security.transferFeeDescription")},{title:s("tokens.tokenDetail.security.feeNotUpgradable"),value:e?.isTransferFeeUpgradable,safeWhen:false,description:s("tokens.tokenDetail.security.feeNotUpgradableDescription")},{title:s("tokens.tokenDetail.security.transferable"),value:e?.isTransferable,safeWhen:true,description:s("tokens.tokenDetail.security.transferableDescription")},{title:s("tokens.tokenDetail.security.notFreezable"),value:e?.isFreezable,safeWhen:false,description:s("tokens.tokenDetail.security.notFreezableDescription")},{title:s("tokens.tokenDetail.security.notClosable"),value:e?.isClosable,safeWhen:false,description:s("tokens.tokenDetail.security.notClosableDescription")}],i=r.every(l=>l.value!==void 0&&l.value===l.safeWhen);return jsxRuntime.jsxs("section",{className:ui.cn("flex w-full flex-col gap-3",n),children:[jsxRuntime.jsxs("div",{className:"flex items-baseline justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:s("tokens.tokenDetail.security.title")}),jsxRuntime.jsx("span",{className:ui.cn("text-xs",e===void 0?"text-text-muted":i?"text-success-500":"text-danger-500"),children:e===void 0?"--":s(i?"tokens.tokenDetail.security.safe":"tokens.tokenDetail.security.review")})]}),jsxRuntime.jsx("div",{className:"flex flex-col",children:r.map(l=>jsxRuntime.jsx(qu,{...l},l.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-text-muted transition-colors hover:text-foreground",children:o})})]})}function qu({title:e,value:t,safeWhen:o,description:n}){let{t:s}=i18n.useTranslation(),r=t!==void 0&&t===o,i=t===void 0?"--":s(r?"tokens.tokenDetail.security.ok":"tokens.tokenDetail.security.risk");return jsxRuntime.jsxs("div",{className:"flex h-8 items-center justify-between gap-2",children:[jsxRuntime.jsx("span",{className:"text-xs text-text-muted",title:n,children:e}),jsxRuntime.jsx("span",{className:ui.cn("text-xs",t===void 0?"text-text-muted":r?"text-success-500":"text-danger-500"),children:i})]})}function ni(e,t){let{data:o,isLoading:n}=react$1.useTokenSecurityQuery({chain:e,address:t});return {security:o,isLoading:n}}function b0({chain:e,address:t,externalUrl:o,externalLabel:n,className:s}){let{security:r}=ni(e,t);return jsxRuntime.jsx(oi,{security:r,externalUrl:o,externalLabel:n,className:s})}function ri({token:e,className:t}){let{t:o}=i18n.useTranslation();return e?jsxRuntime.jsxs("section",{className:ui.cn("flex w-full flex-col gap-2",t),children:[jsxRuntime.jsx("div",{className:"text-sm font-medium text-foreground",children:o("tokens.tokenDetail.about",{symbol:e.symbol})}),e.description?jsxRuntime.jsx("p",{className:"whitespace-pre-line text-xs text-text-muted",children:e.description}):jsxRuntime.jsx("p",{className:"text-xs text-text-muted",children:o("tokens.tokenDetail.noDescription")})]}):null}function si(e,t){return F(e,t)}function U0({chain:e,address:t,className:o}){let{token:n}=si(e,t);return jsxRuntime.jsx(ri,{token:n,className:o})}function li({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:n,onPoolClick:s}){let{t:r}=i18n.useTranslation(),[i,l]=react.useState(!e||e.length<=o),a=react.useCallback(()=>l(d=>!d),[]);return jsxRuntime.jsxs("section",{className:ui.cn("flex w-full flex-col gap-3",n),children:[jsxRuntime.jsxs("div",{className:"flex items-baseline justify-between",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium text-foreground",children:r("tokens.tokenDetail.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-text-muted",children:r("tokens.tokenDetail.noPools")}),e&&e.length>0&&jsxRuntime.jsxs("div",{className:"flex flex-col gap-2",children:[e.map((d,m)=>jsxRuntime.jsxs("div",{className:ui.cn("flex h-10 w-full items-center justify-between overflow-hidden text-xs",m>=o&&!i&&"hidden",s&&"cursor-pointer hover:bg-default-50"),onClick:s?()=>s(d):void 0,children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-0.5",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:d.protocolFamily??d.protocolName??r("tokens.tokenDetail.unknownProtocol")}),d.poolAddress&&jsxRuntime.jsx("span",{className:"font-mono text-[10px] text-text-muted",children:r("tokens.tokenDetail.poolAddress",{address:Te(d.poolAddress,6,6)})})]}),jsxRuntime.jsx("div",{className:"text-text-muted",children:utils.formatAmountInUsd(d.tvlInUsd??0)})]},d.poolAddress??`${d.protocolFamily}-${m}`)),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-text-muted transition-colors hover:text-foreground",children:r(i?"tokens.tokenDetail.showLess":"tokens.tokenDetail.showMore")})})]})]})}function di(e,t){return F(e,t)}function ew({chain:e,address:t,collapseAt:o,className:n,onPoolClick:s}){let{token:r}=di(e,t);return jsxRuntime.jsx(li,{liquidities:r?.liquidities,totalTvlInUsd:r?.marketData?.tvlInUsd,collapseAt:o,className:n,onPoolClick:s})}function ci({cexes:e,collapseAt:t=4,className:o}){let{t:n}=i18n.useTranslation(),[s,r]=react.useState(!e||e.length<=t),i=react.useCallback(()=>r(l=>!l),[]);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:n("tokens.tokenDetail.cexListings")}),jsxRuntime.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((l,a)=>{let d=a>=t&&!s,m=jsxRuntime.jsx(ui.Chip,{startContent:l.logo?jsxRuntime.jsx(ui.Image,{src:l.logo,width:20,height:20,alt:l.name}):void 0,className:ui.cn("bg-default-100 text-xs",d&&"hidden"),children:l.name},l.id);return l.url?jsxRuntime.jsx("a",{href:l.url,target:"_blank",rel:"noreferrer noopener",className:ui.cn(d&&"hidden"),children:m},l.id):m})}),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-text-muted transition-colors hover:text-foreground",children:n(s?"tokens.tokenDetail.showLess":"tokens.tokenDetail.showMore")})})]})}function mi(e){return {cexes:e}}function gw({cexes:e,collapseAt:t,className:o}){let{cexes:n}=mi(e);return jsxRuntime.jsx(ci,{cexes:n,collapseAt:t,className:o})}function pi({categories:e,collapseAt:t=4,className:o,onCategoryClick:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(!e||e.length<=t),l=react.useCallback(()=>i(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:s("tokens.tokenDetail.categories")}),jsxRuntime.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((a,d)=>{let m=d>=t&&!r;return jsxRuntime.jsx(ui.Chip,{size:"sm",className:ui.cn("bg-default-100",m&&"hidden",n&&"cursor-pointer"),onClick:n?()=>n(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:l,className:"rounded px-2 py-1 text-xs text-text-muted transition-colors hover:text-foreground",children:s(r?"tokens.tokenDetail.showLess":"tokens.tokenDetail.showMore")})})]})}function fi(e,t){return F(e,t)}function Iw({chain:e,address:t,collapseAt:o,className:n,onCategoryClick:s}){let{token:r}=fi(e,t);return jsxRuntime.jsx(pi,{categories:r?.tags,collapseAt:o,className:n,onCategoryClick:s})}var gi=["5m","1h","4h","24h"];function ki({stats:e,resolution:t,className:o}){let{t:n}=i18n.useTranslation(),s=e?.[t],r=new utils.SafeBigNumber(s?.buyVolumesInUsd??0),i=new utils.SafeBigNumber(s?.sellVolumesInUsd??0),l=r.plus(i),a=r.minus(i),d=l.eq(0)?50:Math.min(100,Math.max(0,r.div(l).times(100).toNumber())),m=[{label:`${t} Vol`,value:utils.formatAmountInUsd(l.toString()),className:"text-foreground"},{label:n("tokens.tokenDetail.stats.buys"),value:utils.formatAmountInUsd(r.toString()),className:"text-positive"},{label:n("tokens.tokenDetail.stats.sells"),value:utils.formatAmountInUsd(i.toString()),className:"text-negative"},{label:n("tokens.tokenDetail.stats.netVolume"),value:utils.formatAmountInUsd(a.abs().toString()),className:a.gte(0)?"text-positive":"text-negative"}];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:m.map(c=>jsxRuntime.jsxs("div",{className:"flex flex-col items-start justify-center gap-[2px] px-2",children:[jsxRuntime.jsx("span",{className:"text-[10px] leading-none text-text-muted",children:c.label}),jsxRuntime.jsx("span",{className:ui.cn("text-[13px] font-medium leading-none tabular-nums",c.className),children:c.value})]},c.label))}),jsxRuntime.jsx("div",{className:"relative h-[2px] w-full overflow-hidden bg-negative",children:jsxRuntime.jsx("div",{className:"absolute inset-y-0 left-0 bg-positive transition-[width] duration-200 ease-out",style:{width:`${d}%`}})})]})}function xi({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(n=>{let r=e?.[n]?.priceChange,i=r?new utils.SafeBigNumber(r):void 0,l=i?i.gte(0):void 0,a=n,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-text-muted",children:a}),jsxRuntime.jsx("span",{className:ui.cn("text-[13px] font-medium leading-none tabular-nums",l===void 0?"text-foreground":l?"text-positive":"text-negative"),children:d})]},n)})})}function hi({chain:e,address:t}){let{data:o,isLoading:n}=react$1.useTokenStatsQuery({chain:e,address:t});return {stats:o,isLoading:n}}function Gw({chain:e,address:t,baseResolution:o="5m",hoverResolutions:n=gi,height:s=64,className:r}){let{stats:i}=hi({chain:e,address:t});return jsxRuntime.jsx(uiScaffold.StatsFlipPanel,{className:r,height:s,base:jsxRuntime.jsx(ki,{stats:i,resolution:o}),hover:jsxRuntime.jsx(xi,{stats:i,resolutions:n})})}function Ti({positions:e,isLoading:t,hasMore:o,onLoadMore:n,currency:s="usd",onCurrencyChange:r,showHidden:i=false,onShowHiddenChange:l,nativeSymbol:a,renderActions:d,className:m}){let{t:c}=i18n.useTranslation(),u=a??c("tokens.tokenDetail.native");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-text-muted",children:c("tokens.tokenDetail.positions.title")}),jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-text-muted",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:i,onChange:p=>l?.(p.target.checked)}),c("tokens.tokenDetail.filter.showHidden")]})]}),jsxRuntime.jsx(Sp,{value:s,nativeSymbol:u,onChange:r})]}),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-text-muted",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:c("tokens.tokenDetail.columns.token")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:c("tokens.tokenDetail.columns.bought")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:c("tokens.tokenDetail.columns.sold")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:c("tokens.tokenDetail.columns.remaining")}),jsxRuntime.jsx("th",{className:"w-[18%] px-3 py-2 text-right font-normal",children:c("tokens.tokenDetail.columns.pnl")}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:c("tokens.tokenDetail.columns.actions")})]})}),jsxRuntime.jsxs("tbody",{children:[e.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-text-muted",children:c("tokens.tokenDetail.positions.empty")})}),e.map(p=>jsxRuntime.jsx(Np,{position:p,currency:s,renderActions:d},`${p.chain}:${p.address}`)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:c("tokens.tokenDetail.loading")})})]})]})}),o&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.jsx("button",{type:"button",onClick:n,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-text-muted transition-colors hover:bg-default-200 disabled:opacity-50",children:c("tokens.tokenDetail.loadMore")})})]})}function Sp({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-text-muted hover:text-foreground"),children:s.label},s.k))})}function Np({position:e,currency:t,renderActions:o}){let{bought:n,sold:s,remaining:r,pnl:i}=react.useMemo(()=>Cp(e,t),[e,t]),l=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-text-muted",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:n}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r}),jsxRuntime.jsx("td",{className:ui.cn("px-3 py-2 text-right align-middle font-medium",i.isPositive===void 0?"text-text-muted":i.isPositive?"text-positive":"text-negative"),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-text-muted",children:"--"})})]})}function Cp(e,t){let o=t==="usd"?e.buyVolumesInUsd:e.buyVolumes,n=t==="usd"?e.sellVolumesInUsd:e.sellVolumes,s=t==="usd"?e.amountInUsd:e.amount,r=e.totalProfitInUsd,i=t==="usd"?utils.formatAmountInUsd(o??0):utils.formatAmount(o??0),l=t==="usd"?utils.formatAmountInUsd(n??0):utils.formatAmount(n??0),a=t==="usd"?utils.formatAmountInUsd(s??0):utils.formatAmount(s??0),d=r?new utils.SafeBigNumber(r):void 0,m=d?d.gte(0):void 0,c=d?(m?"+":"")+utils.formatAmountInUsd(d.toString()):"--",u=e.totalProfitRatio?utils.formatPercent(e.totalProfitRatio,{showPlusGtThanZero:true}):void 0;return {bought:i,sold:l,remaining:a,pnl:{amount:c,ratio:u,isPositive:m}}}function vi({chain:e,wallet:t,limit:o=50,initialShowHidden:n=false}){let[s,r]=react.useState(void 0),[i,l]=react.useState([]),[a,d]=react.useState(n);react.useEffect(()=>{r(void 0),l([]);},[e,t]);let m=react.useMemo(()=>({chain:e,address:t??"",cursor:s,limit:o,positionState:"open"}),[e,t,s,o]),{data:c,isPending:u,isFetching:p}=react$1.useWalletTokenPositionsQuery(m,{enabled:!!t});react.useEffect(()=>{c&&l(k=>s==null?[c]:k[k.length-1]?.endCursor===c.endCursor?k:[...k,c]);},[c,s]);let x=react.useMemo(()=>i.flatMap(k=>k.portfolios),[i]),f=i[i.length-1],g=!!(f?.hasNext&&f.endCursor),h=react.useCallback(()=>{!f?.endCursor||!f.hasNext||r(f.endCursor);},[f]);return {positions:x,isLoading:!!t&&(u||p),hasMore:g,loadMore:h,showHidden:a,setShowHidden:d}}function pL({chain:e,wallet:t,limit:o,initialCurrency:n="usd",nativeSymbol:s,renderActions:r,className:i}){let[l,a]=react.useState(n),{positions:d,isLoading:m,hasMore:c,loadMore:u,showHidden:p,setShowHidden:x}=vi({chain:e,wallet:t,limit:o});return jsxRuntime.jsx(Ti,{className:i,positions:d,isLoading:m,hasMore:c,onLoadMore:u,currency:l,onCurrencyChange:a,showHidden:p,onShowHiddenChange:x,nativeSymbol:s,renderActions:r})}function Ni({orders:e,isLoading:t,unavailable:o,hasMore:n,onLoadMore:s,stateFilter:r,onStateFilterChange:i,onlyThisToken:l=false,onOnlyThisTokenChange:a,tokenSymbol:d,currency:m="usd",onCurrencyChange:c,nativeSymbol:u,onCancelAll:p,renderActions:x,className:f}){let{t:g}=i18n.useTranslation(),h=u??g("tokens.tokenDetail.native");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",labelKey:"tokens.tokenDetail.activeOrders"},{k:"history",labelKey:"tokens.tokenDetail.orderHistory"}].map(k=>jsxRuntime.jsx("button",{type:"button",onClick:()=>i(k.k),className:ui.cn("rounded px-2 transition-colors",r===k.k?"bg-default-200 text-foreground":"text-text-muted hover:text-foreground"),children:g(k.labelKey)},k.k))}),d?jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-text-muted",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:l,onChange:k=>a?.(k.target.checked)}),g("tokens.tokenDetail.filter.onlyToken",{symbol:d})]}):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-negative transition-colors hover:bg-default-100",children:g("tokens.tokenDetail.cancelAll")}):null,jsxRuntime.jsx(Up,{value:m,nativeSymbol:h,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-text-muted",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:g("tokens.tokenDetail.columns.token")}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:g("tokens.tokenDetail.columns.type")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:g("tokens.tokenDetail.columns.amount")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:g("tokens.tokenDetail.columns.currentMarketCap")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:g("tokens.tokenDetail.columns.targetMarketCap")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:g("tokens.tokenDetail.columns.settings")}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:g("tokens.tokenDetail.columns.action")})]})}),jsxRuntime.jsxs("tbody",{children:[o?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-10 text-center text-text-muted",children:g("tokens.tokenDetail.orders.unavailable")})}):e.length===0&&!t?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-10 text-center text-text-muted",children:g(r==="active"?"tokens.tokenDetail.orders.emptyActive":"tokens.tokenDetail.orders.emptyHistorical")})}):e.map(k=>jsxRuntime.jsx(Op,{order:k,currency:m,renderActions:x},k.id)),t&&!o&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-4 text-center text-text-muted",children:g("tokens.tokenDetail.loading")})})]})]})}),!o&&n&&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-text-muted transition-colors hover:bg-default-200 disabled:opacity-50",children:g("tokens.tokenDetail.loadMore")})})]})}function Up({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-text-muted hover:text-foreground"),children:s.label},s.k))})}function Op({order:e,currency:t,renderActions:o}){let n=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",r=e.side==="buy"?"text-positive":"text-negative";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",r),children:s}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:n}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",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-text-muted",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-text-muted",children:"--"})})]})}function Ep(e){return e instanceof Error&&e.code==="NotImplemented"}function Wp(e){return e==="active"?"active":"filled"}function Pi({chain:e,wallet:t,tokenAddress:o,limit:n=50,initialStateFilter:s="active",initialOnlyThisToken:r=false}){let[i,l]=react.useState(s),[a,d]=react.useState(r),[m,c]=react.useState(void 0),[u,p]=react.useState([]);react.useEffect(()=>{c(void 0),p([]);},[e,t,i,a,o]);let x=react.useCallback(N=>{N!==i&&l(N);},[i]),f=react.useMemo(()=>({chain:e,address:t??"",cursor:m,limit:n,state:Wp(i),tokenAddress:a?o:void 0}),[e,t,m,n,i,a,o]),{data:g,isPending:h,isFetching:k,error:T}=react$1.useWalletLimitOrdersQuery(f,{enabled:!!t});react.useEffect(()=>{g&&p(N=>m==null?[g]:N[N.length-1]?.endCursor===g.endCursor?N:[...N,g]);},[g,m]);let v=!!T&&Ep(T),b=react.useMemo(()=>u.flatMap(N=>N.data),[u]),y=u[u.length-1],L=!!(y?.hasNext&&y.endCursor),A=react.useCallback(()=>{!y?.endCursor||!y.hasNext||c(y.endCursor);},[y]);return {orders:b,isLoading:!!t&&!v&&(h||k),unavailable:v,hasMore:L,loadMore:A,stateFilter:i,setStateFilter:x,onlyThisToken:a,setOnlyThisToken:d}}function ML({chain:e,wallet:t,tokenAddress:o,tokenSymbol:n,limit:s,initialStateFilter:r="active",initialCurrency:i="usd",nativeSymbol:l,onCancelAll:a,renderActions:d,className:m}){let[c,u]=react.useState(i),{orders:p,isLoading:x,unavailable:f,hasMore:g,loadMore:h,stateFilter:k,setStateFilter:T,onlyThisToken:v,setOnlyThisToken:b}=Pi({chain:e,wallet:t,tokenAddress:o,limit:s,initialStateFilter:r});return jsxRuntime.jsx(Ni,{className:m,orders:p,isLoading:x,unavailable:f,hasMore:g,onLoadMore:h,stateFilter:k,onStateFilterChange:T,onlyThisToken:v,onOnlyThisTokenChange:b,tokenSymbol:n,currency:c,onCurrencyChange:u,nativeSymbol:l,onCancelAll:f?void 0:a,renderActions:d})}function Ai({traders:e,isLoading:t,hasMore:o,onLoadMore:n,onlyTracked:s=false,onOnlyTrackedChange:r,now:i=Date.now(),renderAddress:l,className:a}){let{t:d}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui.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-text-muted",children:d("tokens.tokenDetail.topTraders")}),jsxRuntime.jsxs("label",{className:"flex cursor-pointer items-center gap-1 text-[11px] text-text-muted",children:[jsxRuntime.jsx("input",{type:"checkbox",className:"size-3 accent-primary",checked:s,onChange:m=>r?.(m.target.checked)}),d("tokens.tokenDetail.filter.onlyTracked")]})]}),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-text-muted",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:d("tokens.tokenDetail.columns.wallet")}),jsxRuntime.jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:d("tokens.tokenDetail.columns.tags")}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:d("tokens.tokenDetail.columns.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:d("tokens.tokenDetail.columns.realizedPnl")}),jsxRuntime.jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:d("tokens.tokenDetail.columns.lastActive")})]})}),jsxRuntime.jsxs("tbody",{children:[e.length===0&&!t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-text-muted",children:d("tokens.tokenDetail.topTraders.empty")})}),e.map(m=>jsxRuntime.jsx(zp,{trader:m,now:i,renderAddress:l},m.address)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:d("tokens.tokenDetail.loading")})})]})]})}),o&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.jsx("button",{type:"button",onClick:n,disabled:t,className:"rounded bg-default-100 px-3 py-1 text-[11px] text-text-muted transition-colors hover:bg-default-200 disabled:opacity-50",children:d("tokens.tokenDetail.loadMore")})})]})}function zp({trader:e,now:t,renderAddress:o}){let n=react.useMemo(()=>o?o(e.address):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-text-muted",children:Te(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:n}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(Et,{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-text-muted",children:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:utils.formatAmountInUsd(e.totalRealizedPnlInUsd)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:e.lastActiveAt?Pe(e.lastActiveAt,t):"--"})]})}function Mi({chain:e,address:t,limit:o=50,initialSortBy:n,initialSortDirection:s,initialOnlyTracked:r=false}){let[i,l]=react.useState(n),[a,d]=react.useState(s),[m,c]=react.useState(void 0),[u,p]=react.useState([]),[x,f]=react.useState(r),g=react.useCallback(()=>{c(void 0),p([]);},[]),h=react.useCallback((W,ge)=>{W===i&&ge===a||(l(W),d(ge),g());},[g,i,a]),k=react.useCallback(W=>{h(W,a??"desc");},[h,a]),T=react.useCallback(W=>{W!==a&&(d(W),g());},[g,a]);react.useEffect(()=>{g();},[e,t,g]);let v=react.useMemo(()=>({chain:e,address:t,cursor:m,limit:o,sortBy:i,sortDirection:a}),[e,t,m,o,i,a]),{data:b,isPending:y,isFetching:L}=react$1.useTokenTopTradersQuery(v);react.useEffect(()=>{b&&p(W=>m==null?[b]:W[W.length-1]?.endCursor===b.endCursor?W:[...W,b]);},[b,m]);let A=react.useMemo(()=>u.flatMap(W=>W.data),[u]),N=react.useMemo(()=>x?A.filter(W=>W.tags&&W.tags.length>0):A,[A,x]),K=u[u.length-1],fe=!!(K?.hasNext&&K.endCursor),E=react.useCallback(()=>{!K?.endCursor||!K.hasNext||c(K.endCursor);},[K]);return {traders:N,isLoading:y||L,sortBy:i,sortDirection:a,setSortBy:k,setSortDirection:T,setSort:h,hasMore:fe,loadMore:E,onlyTracked:x,setOnlyTracked:f}}function ZL({chain:e,address:t,limit:o,className:n,renderAddress:s}){let{traders:r,isLoading:i,hasMore:l,loadMore:a,onlyTracked:d,setOnlyTracked:m}=Mi({chain:e,address:t,limit:o});return jsxRuntime.jsx(Ai,{className:n,traders:r,isLoading:i,hasMore:l,onLoadMore:a,onlyTracked:d,onOnlyTrackedChange:m,renderAddress:s})}var Jp="\u2713";function Ui({tokens:e,isLoading:t,unavailable:o,hasMore:n,onLoadMore:s,renderTokenLink:r,className:i}){let{t:l}=i18n.useTranslation();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-text-muted",children:l("tokens.tokenDetail.devTokens.title")})}),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-text-muted",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:l("tokens.tokenDetail.columns.token")}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-center font-normal",children:l("tokens.tokenDetail.columns.migrated")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:l("tokens.tokenDetail.columns.marketCap")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:l("tokens.tokenDetail.columns.ath")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:l("tokens.tokenDetail.liquidity")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:l("tokens.tokenDetail.columns.volume1h")})]})}),jsxRuntime.jsxs("tbody",{children:[o?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-10 text-center text-text-muted",children:l("tokens.tokenDetail.devTokens.unavailable")})}):e.length===0&&!t?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-8 text-center text-text-muted",children:l("tokens.tokenDetail.devTokens.empty")})}):e.map(a=>jsxRuntime.jsx(Zp,{token:a,renderTokenLink:r},`${a.chain}:${a.address}`)),!o&&t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:l("tokens.tokenDetail.loading")})})]})]})}),!o&&n&&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-text-muted transition-colors hover:bg-default-200 disabled:opacity-50",children:l("tokens.tokenDetail.loadMore")})})]})}function Zp({token:e,renderTokenLink:t}){let o=e.marketData?.marketCapInUsd??e.marketData?.marketCap,n=e.marketData?.tvlInUsd,r=e.stats?.["1h"]?.volumesInUsd,i=!!e.migratedTo,l=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-text-muted",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-positive",children:Jp}):jsxRuntime.jsx("span",{className:"text-text-muted",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:n?utils.formatAmountInUsd(n):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:r?utils.formatAmountInUsd(r):"--"})]})}function Oi({tokens:e,className:t}){let{t:o}=i18n.useTranslation(),n=e.length,s=e.filter(a=>!!a.migratedTo).length,r=n===0?0:Math.round(s/n*100),i=e.map(a=>a.stats?.["1h"]?.volumesInUsd??"0").reduce((a,d)=>a.plus(new utils.SafeBigNumber(d)),new utils.SafeBigNumber(0)),l=e.map(a=>a.marketData?.marketCapInUsd??a.marketData?.marketCap??"0").reduce((a,d)=>a.plus(new utils.SafeBigNumber(d)),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-text-muted",children:o("tokens.tokenDetail.devTokens.stats")})}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsxRuntime.jsx(fo,{label:o("tokens.tokenDetail.devTokens.total"),value:String(n)}),jsxRuntime.jsx(fo,{label:o("tokens.tokenDetail.columns.migrated"),value:`${s} (${r}%)`}),jsxRuntime.jsx(fo,{label:o("tokens.tokenDetail.devTokens.totalMarketCap"),value:utils.formatMCapInUsd(l.toString())}),jsxRuntime.jsx(fo,{label:o("tokens.tokenDetail.devTokens.totalVolume1h"),value:utils.formatAmountInUsd(i.toString())})]})]})}function fo({label:e,value:t}){return jsxRuntime.jsxs("div",{className:"flex flex-col gap-[2px]",children:[jsxRuntime.jsx("span",{className:"text-[10px] text-text-muted",children:e}),jsxRuntime.jsx("span",{className:"text-[13px] font-medium text-foreground",children:t})]})}function ef(e){return e instanceof Error&&e.code==="NotImplemented"}function Ki({chain:e,creator:t,limit:o=20}){let[n,s]=react.useState(void 0),[r,i]=react.useState([]),l=react.useCallback(()=>{s(void 0),i([]);},[]);react.useEffect(()=>{l();},[e,t,l]);let a=react.useMemo(()=>({chain:e,creator:t??"",cursor:n,limit:o}),[e,t,n,o]),{data:d,isPending:m,isFetching:c,error:u}=react$1.useTokensByCreatorQuery(a,{enabled:!!t});react.useEffect(()=>{d&&i(k=>n==null?[d]:k[k.length-1]?.endCursor===d.endCursor?k:[...k,d]);},[d,n]);let p=react.useMemo(()=>r.flatMap(k=>k.data),[r]),x=r[r.length-1],f=!!(x?.hasNext&&x.endCursor),g=!!u&&ef(u),h=react.useCallback(()=>{!x?.endCursor||!x.hasNext||s(x.endCursor);},[x]);return {tokens:p,isLoading:!!t&&!g&&(m||c),unavailable:g,hasMore:f,loadMore:h}}function gP({chain:e,creator:t,limit:o,showSummary:n=false,renderTokenLink:s,className:r}){let{tokens:i,isLoading:l,unavailable:a,hasMore:d,loadMore:m}=Ki({chain:e,creator:t,limit:o});return jsxRuntime.jsxs("div",{className:r,children:[jsxRuntime.jsx(Ui,{tokens:i,isLoading:l,unavailable:a,hasMore:d,onLoadMore:m,renderTokenLink:s}),n&&!a?jsxRuntime.jsx(Oi,{tokens:i}):null]})}function Qi({token:e,athInUsd:t,athAt:o,globalFeesPaidInUsd:n,rank:s,onTogglePin:r,pinned:i,className:l}){let{t:a}=i18n.useTranslation(),d=e?.marketData?.priceInUsd,m=e?.marketData?.tvlInUsd,c=e?.marketData?.totalSupply;return jsxRuntime.jsxs("div",{className:ui.cn("flex h-[48px] w-full flex-row items-center gap-4 overflow-x-auto px-3 text-[12px]",l),children:[jsxRuntime.jsx(it,{label:a("tokens.tokenDetail.chart.price"),value:d?utils.formatPriceInUsd(d):"--"}),jsxRuntime.jsx(it,{label:a("tokens.tokenDetail.chart.liquidity"),value:m?utils.formatAmountInUsd(m):"--"}),jsxRuntime.jsx(it,{label:a("tokens.tokenDetail.chart.supply"),value:c?utils.formatAmount(c):"--"}),n?jsxRuntime.jsx(it,{label:a("tokens.tokenDetail.chart.feesPaid"),value:utils.formatAmountInUsd(n)}):null,t?jsxRuntime.jsx(it,{label:a("tokens.tokenDetail.chart.ath"),value:utils.formatPriceInUsd(t),title:o?a("tokens.tokenDetail.chart.athAt",{date:o.toLocaleDateString()}):void 0}):null,s!==void 0?jsxRuntime.jsx(it,{label:a("tokens.tokenDetail.chart.rank"),value:`#${s}`}):null,jsxRuntime.jsx("div",{className:"flex-1"}),r?jsxRuntime.jsx("button",{type:"button",onClick:r,"aria-pressed":i,className:ui.cn("flex size-[26px] items-center justify-center rounded text-text-muted transition-colors hover:bg-default-100 hover:text-foreground",i&&"text-foreground"),title:a(i?"tokens.tokenDetail.chart.unpin":"tokens.tokenDetail.chart.pin"),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-text-muted",children:e}),jsxRuntime.jsx("span",{className:"text-[13px] font-medium leading-none tabular-nums text-foreground",children:t})]})}function Xi({chain:e,address:t}){return F(e,t)}function IP({chain:e,address:t,athInUsd:o,athAt:n,globalFeesPaidInUsd:s,rank:r,pinned:i,onTogglePin:l,className:a}){let{token:d}=Xi({chain:e,address:t});return jsxRuntime.jsx(Qi,{className:a,token:d,athInUsd:o,athAt:n,globalFeesPaidInUsd:s,rank:r,pinned:i,onTogglePin:l})}function Yi({tokens:e,isLoading:t,unavailable:o,onTokenClick:n,className:s}){let{t:r}=i18n.useTranslation();return o?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-text-muted",s),children:r("tokens.tokenDetail.similarUnavailable")}):!t&&e.length===0?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-text-muted",s),children:r("tokens.tokenDetail.noSimilarTokens")}):jsxRuntime.jsxs("ul",{className:ui.cn("flex flex-col",s),children:[e.map(i=>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",!n&&"cursor-default"),onClick:n?()=>n(i):void 0,children:[jsxRuntime.jsx(ui.Avatar,{src:i.image??void 0,name:(i.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:i.symbol}),jsxRuntime.jsx("span",{className:"truncate text-[10px] text-text-muted",children:i.name})]}),jsxRuntime.jsx("span",{className:"text-[11px] tabular-nums text-text-muted",children:i.marketData?.marketCapInUsd?utils.formatMCapInUsd(i.marketData.marketCapInUsd):"--"})]},`${i.chain}:${i.address}`)),t&&jsxRuntime.jsx("li",{className:"py-2 text-center text-[11px] text-text-muted",children:r("tokens.tokenDetail.loading")})]})}function Ji({chain:e,address:t,keyword:o,limit:n=10}){let s=!!o&&o.length>0,{data:r,isPending:i,isFetching:l}=react$1.useSearchTokensQuery({chains:[e],keyword:o,limit:n+1},{enabled:s});return {tokens:react.useMemo(()=>{if(!r)return [];let d=t.toLowerCase();return (r.data??[]).filter(m=>m.address.toLowerCase()!==d).slice(0,n)},[r,t,n]),isLoading:s&&(i||l),unavailable:!s}}function GP({chain:e,address:t,keyword:o,limit:n,onTokenClick:s,className:r}){let{tokens:i,isLoading:l,unavailable:a}=Ji({chain:e,address:t,keyword:o,limit:n});return jsxRuntime.jsx(Yi,{className:r,tokens:i,isLoading:l,unavailable:a,onTokenClick:s})}function Zi({tokens:e=[],unavailable:t=true,onTokenClick:o,className:n}){let{t:s}=i18n.useTranslation();return t?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-text-muted",n),children:s("tokens.tokenDetail.reusedImagesUnavailable")}):e.length===0?jsxRuntime.jsx("div",{className:ui.cn("flex items-center justify-center p-4 text-center text-[11px] text-text-muted",n),children:s("tokens.tokenDetail.noReusedImages")}):jsxRuntime.jsx("div",{className:ui.cn("flex flex-row flex-wrap gap-2 p-3",n),children:e.map(r=>jsxRuntime.jsx("button",{type:"button",onClick:o?()=>o(r):void 0,className:"flex size-10 items-center justify-center overflow-hidden rounded-full border border-default-100 transition-opacity hover:opacity-80",title:r.symbol,children:jsxRuntime.jsx(ui.Avatar,{src:r.image??void 0,name:(r.symbol??"?").slice(0,1),className:"size-full bg-default-100 text-[10px] text-text-muted",showFallback:true})},`${r.chain}:${r.address}`))})}function ji(e){return {tokens:[],isLoading:false,unavailable:true}}function l1({chain:e,address:t,onTokenClick:o,className:n}){let{tokens:s,unavailable:r}=ji();return jsxRuntime.jsx(Zi,{className:n,tokens:s,unavailable:r,onTokenClick:o})}function ra({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:n,className:s}){let{t:r}=i18n.useTranslation(),[i,l]=react.useState(e?.join(", ")??""),[a,d]=react.useState(t?.join(", ")??"");react.useEffect(()=>{l(u=>{let p=ko(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(()=>{d(u=>{let p=ko(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?.(ko(u));},[o]),c=react.useCallback(u=>{d(u),n?.(ko(u));},[n]);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-text-muted",children:r("tokens.filters.keywords.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("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-text-muted",children:r("tokens.filters.keywords.exclude.title")}),jsxRuntime.jsx(ui.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:a,onValueChange:c})]})]})}function ko(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function ca({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let l=react.useMemo(()=>e.every(m=>r.includes(m)),[e,r]),a=react.useCallback(()=>{if(l){let m=[];i(m),o?.(m);}else {let m=[...e];i(m),o?.(m);}},[e,o,l]),d=react.useCallback(m=>()=>{if(r.includes(m)){let c=r.filter(u=>u!==m);i(c),o?.(c);}else {let c=[...r,m];i(c),o?.(c);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-3 px-4",n),children:[jsxRuntime.jsxs("div",{className:"flex justify-between items-center",children:[jsxRuntime.jsx("h3",{className:"text-xs text-text-muted",children:s("tokens.filters.protocols.title")}),jsxRuntime.jsx(ui.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 c=Be(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":!r.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 Ne({title:e,field:t,value:o,onChange:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(o?vn(o).min:NaN),[l,a]=react.useState(o?vn(o).max:NaN);react.useEffect(()=>{if(o===void 0)i(NaN),a(NaN);else {let{min:c,max:u}=vn(o);i(c),a(u);}},[o]);let d=react.useCallback(c=>{i(c),n?.(fa(t,c,l));},[t,n,l]),m=react.useCallback(c=>{a(c),n?.(fa(t,r,c));},[t,n,r]);return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1",children:[e&&jsxRuntime.jsx("h3",{className:"text-xs text-text-muted",children:e}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsxRuntime.jsx(ui.StyledNumberInput,{value:r,onValueChange:d,variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui.StyledNumberInput,{value:l,onValueChange:m,variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function vn(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 fa(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 ka({values:e,onValuesChange:t,className:o}){let{t:n}=i18n.useTranslation(),[s,r]=react.useState(e);react.useEffect(()=>{r(e);},[e]);let i=react.useCallback(l=>a=>{if(a===void 0){let d=(s??[]).filter(m=>m.field!==l);d=d.length>0?d:void 0,r(d),t?.(d);}else {let d=[...(s??[]).filter(m=>m.field!==l),a];r(d),t?.(d);}},[s,t]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",o),children:[jsxRuntime.jsx(Ne,{field:"holders",title:n("tokens.filters.stats.audits.holders"),value:s?.find(l=>l.field==="holders"),onChange:i("holders")}),jsxRuntime.jsx(Ne,{field:"top10Ratio",title:n("tokens.filters.stats.audits.top10HoldingsRatio"),value:s?.find(l=>l.field==="top10Ratio"),onChange:i("top10Ratio")}),jsxRuntime.jsx(Ne,{field:"top100Ratio",title:n("tokens.filters.stats.audits.top100HoldingsRatio"),value:s?.find(l=>l.field==="top100Ratio"),onChange:i("top100Ratio")}),jsxRuntime.jsx(Ne,{field:"creatorsRatio",title:n("tokens.filters.stats.audits.devHoldingsRatio"),value:s?.find(l=>l.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function xa({resolution:e,values:t,onValuesChange:o,className:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let l=react.useCallback(a=>d=>{if(d===void 0){let m=(r??[]).filter(c=>c.field!==a);m=m.length>0?m:void 0,i(m),o?.(m);}else {let m=[...(r??[]).filter(c=>c.field!==a),d];i(m),o?.(m);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui.cn("flex flex-col gap-4",n),children:[jsxRuntime.jsx(Ne,{field:"marketCap",title:s("tokens.filters.stats.metrics.marketCap"),value:r?.find(a=>a.field==="marketCap"),onChange:l("marketCap")}),jsxRuntime.jsx(Ne,{field:"tvl",title:s("tokens.filters.stats.metrics.liquidity"),value:r?.find(a=>a.field==="tvl"),onChange:l("tvl")}),jsxRuntime.jsx(Ne,{field:`volumes${e}`,title:s("tokens.filters.stats.metrics.volumes",{resolution:s(`common.resolution.${e}`)}),value:r?.find(a=>a.field===`volumes${e}`),onChange:l(`volumes${e}`)}),jsxRuntime.jsx(Ne,{field:`trades${e}`,title:s("tokens.filters.stats.metrics.txns",{resolution:s(`common.resolution.${e}`)}),value:r?.find(a=>a.field===`trades${e}`),onChange:l(`trades${e}`)})]})}function Sa({resolution:e,values:t,onValuesChange:o,className:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState("audits"),[l,a]=react.useState(t);react.useEffect(()=>{a(t);},[t]);let d=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]),c=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.cn("flex flex-col gap-3 px-4",n),children:[jsxRuntime.jsxs(ui.StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:r,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(ka,{values:l,onValuesChange:d,className:ui.cn({hidden:r!=="audits"})}),jsxRuntime.jsx(xa,{values:l,onValuesChange:d,resolution:e,className:ui.cn({hidden:r!=="metrics"})})]})}function No({protocols:e,resolution:t,filters:o,onFiltersChange:n,className:s}){let[r,i]=react.useState(Na(o?.filters,e));react.useEffect(()=>{i(Na(o?.filters,e));},[o?.filters,e]);let[l,a]=react.useState(o?.keywords);react.useEffect(()=>{a(o?.keywords);},[o?.keywords]);let[d,m]=react.useState(o?.excludeKeywords);react.useEffect(()=>{m(o?.excludeKeywords);},[o?.excludeKeywords]);let[c,u]=react.useState(o?.filters);react.useEffect(()=>{u(o?.filters);},[o?.filters]);let p=react.useCallback(h=>{i(h),n?.(So(e,h,l,d,c));},[e,l,d,c,n]),x=react.useCallback(h=>{a(h),n?.(So(e,r,h,d,c));},[e,r,d,c,n]),f=react.useCallback(h=>{m(h),n?.(So(e,r,l,h,c));},[e,r,l,c,n]),g=react.useCallback(h=>{u(h),n?.(So(e,r,l,d,h));},[e,r,l,d,n]);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(ca,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:p}),jsxRuntime.jsx("div",{style:{height:1,background:"var(--color-surface-strong)"}})]}),jsxRuntime.jsx(ra,{keywords:l,excludeKeywords:d,onKeywordsChange:x,onExcludeKeywordsChange:f}),jsxRuntime.jsx("div",{style:{height:1,background:"var(--color-surface-strong)"}}),jsxRuntime.jsx(Sa,{resolution:t,values:c,onValuesChange:g})]})}function Na(e,t){let o=e?.find(n=>n.field==="launchedFromProtocolFamily");return o?o.operator==="in"?o.value:(console.warn("invalid token protocols filter",o),[...t||[]]):[...t||[]]}function So(e,t,o,n,s){let r=s?[...s.filter(i=>i.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(l=>t.includes(l))||r.push({field:"launchedFromProtocolFamily",operator:"in",value:t})),o===void 0&&n===void 0&&r.length===0?void 0:{keywords:o,excludeKeywords:n,filters:r.length>0?r:void 0}}function Pa({protocols:e,resolution:t,filters:o,onFiltersChange:n,triggerVariant:s="default",badgePlacement:r="outer",className:i}){let{t:l}=i18n.useTranslation(),{isOpen:a,onOpen:d,onClose:m,onOpenChange:c}=ui.useDisclosure(),[u,p]=react.useState(o),x=react.useCallback(()=>{p(void 0);},[]),f=react.useCallback(()=>{n?.(u),m();},[u,n,m]);react.useEffect(()=>{p(o);},[a,o]);let g=react.useMemo(()=>Object.values(o||{}).every(h=>h===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":"hsl(var(--heroui-content3) / 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-text-secondary"}),!g&&jsxRuntime.jsx("span",{style:{position:"absolute",top:r==="icon"?6:-2,right:r==="icon"?6:-2,width:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),jsxRuntime.jsx(ui.StyledModal,{isOpen:a,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:l("tokens.filters.modal.title")})}),jsxRuntime.jsx(ui.ModalBody,{className:"px-0 pt-0 pb-4",children:jsxRuntime.jsx(ui.ScrollShadow,{children:jsxRuntime.jsx(No,{protocols:e,resolution:t,filters:u,onFiltersChange:p,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:x,children:l("common.reset")}),jsxRuntime.jsx(ui.Button,{color:"primary",size:"sm",radius:"full",onPress:f,children:l("common.apply")})]})})]})})]})}var Ma={display:"inline-flex",alignItems:"center",gap:8,borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"hsl(var(--heroui-content3) / 0.6)",padding:"6px 12px",fontSize:14,fontWeight:700,color:"var(--color-text-primary)",cursor:"pointer",transition:"all 0.15s",height:32},lg={position:"absolute",right:0,top:"100%",zIndex:20,marginTop:8,borderRadius:14,border:"1px solid var(--color-border-control)",background:"var(--color-surface-interactive)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden"},dg={height:1,background:"var(--color-surface-strong)",margin:0};function Da({protocols:e,resolution:t,filters:o,onFiltersChange:n,iconOnly:s=false,className:r}){let{t:i}=i18n.useTranslation(),[l,a]=react.useState(false),d=react.useRef(null),[m,c]=react.useState(o),u=react.useCallback(()=>{c(void 0);},[]),p=react.useCallback(()=>{n?.(m),a(false);},[m,n]);react.useEffect(()=>{c(o);},[l,o]),react.useEffect(()=>{let f=g=>{d.current&&!d.current.contains(g.target)&&a(false);};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[]),react.useEffect(()=>{if(!l)return;let f=g=>{g.key==="Escape"&&a(false);};return document.addEventListener("keydown",f),()=>document.removeEventListener("keydown",f)},[l]);let x=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:r,style:s?{...Ma,justifyContent:"center",gap:0,width:32,minWidth:32,padding:0}:Ma,onMouseEnter:f=>{f.currentTarget.style.background="var(--color-surface-strong)";},onMouseLeave:f=>{f.currentTarget.style.background="hsl(var(--heroui-content3) / 0.6)";},onClick:()=>a(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(cg,{open:l})]})]}),!x&&jsxRuntime.jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),l&&jsxRuntime.jsxs("div",{style:{...lg,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(No,{protocols:e,resolution:t,filters:m,onFiltersChange:c})})}),jsxRuntime.jsx("div",{style:dg}),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:u,children:i("common.reset")}),jsxRuntime.jsx(ui.Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:p,children:i("common.apply")})]})]})]})}function cg({open:e}){return jsxRuntime.jsx("svg",{viewBox:"0 0 24 24",style:{width:14,height:14,color:"var(--color-text-muted)",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 eR({popoverPlacement:e="bottom-end",iconOnly:t,className:o,desktopOverlay:n="popover",...s}){let{isMobile:r}=ui.useScreen();return r||n==="modal"?jsxRuntime.jsx(Pa,{className:o,...s}):jsxRuntime.jsx(Da,{placement:e,iconOnly:t,className:o,...s})}function Ua({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:n}=i18n.useTranslation(),s=react.useCallback(r=>{t?.(r);},[t]);return jsxRuntime.jsx(ui.StyledPlainTabs,{color:"primary",radius:"lg",selectedKey:e,onSelectionChange:s,"aria-label":n("tokens.resolutionSelector.ariaLabel"),classNames:{tabList:"gap-0",tab:"px-2",tabContent:"!text-text-muted group-data-[hover=true]:!text-foreground group-data-[selected=true]:!text-primary"},children:o.map(r=>jsxRuntime.jsx(ui.Tab,{title:n(`common.resolution.${r}`)},r))})}var Ng={display:"inline-flex",alignItems:"center",gap:4,borderRadius:9999,border:"1px solid rgba(63,63,70,0.5)",background:"hsl(var(--heroui-content3) / 0.6)",padding:"0 10px",fontSize:12,fontWeight:500,color:"var(--color-text-primary)",cursor:"pointer",height:32,minHeight:32},Cg={position:"absolute",left:0,top:"100%",zIndex:20,marginTop:6,borderRadius:14,border:"1px solid var(--color-border-control)",background:"var(--color-surface-interactive)",boxShadow:"0 25px 50px -12px rgba(0,0,0,0.5)",overflow:"hidden",padding:"6px",minWidth:"100%"};function Ba({resolution:e,onResolutionChange:t,resolutionOptions:o=["1m","5m","1h","4h","24h"]}){let{t:n}=i18n.useTranslation(),[s,r]=react.useState(false),i=react.useRef(null),l=react.useCallback(a=>{t?.(a),r(false);},[t]);return react.useEffect(()=>{if(!s)return;let a=m=>{i.current&&!i.current.contains(m.target)&&r(false);},d=m=>{m.key==="Escape"&&r(false);};return document.addEventListener("mousedown",a),document.addEventListener("keydown",d),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",d);}},[s]),jsxRuntime.jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxRuntime.jsxs("button",{type:"button",style:Ng,onClick:()=>r(a=>!a),children:[jsxRuntime.jsx("span",{children:e?n(`common.resolution.${e}`):"\u2014"}),jsxRuntime.jsx(ui.ChevronDownIcon,{width:14,height:14,className:"text-text-muted",style:{transition:"transform 0.15s",transform:s?"rotate(180deg)":void 0}})]}),s&&jsxRuntime.jsx("div",{style:Cg,children:o.map(a=>jsxRuntime.jsx("button",{type:"button",onClick:()=>l(a),className:ui.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-text-secondary hover:text-foreground hover:bg-surface-interactive"),children:n(`common.resolution.${a}`)},a))})]})}function xR(e){let{isMobile:t}=ui.useScreen();return t?jsxRuntime.jsx(Ba,{...e}):jsxRuntime.jsx(Ua,{...e})}var Wa=react.memo(function({token:t}){let o=react.useMemo(()=>t.marketData?.athMarketCapInUsd,[t.marketData?.athMarketCapInUsd]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:utils.formatMCapInUsd(o)})});var Ka=react.memo(function({token:t}){let{t:o}=i18n.useTranslation(),n=react.useMemo(()=>t.marketData?.bluechipHoldingsRatio,[t.marketData?.bluechipHoldingsRatio]),s=react.useMemo(()=>n!==void 0&&new utils.SafeBigNumber(n).gte(.1),[n]),r=react.useMemo(()=>n===void 0||new utils.SafeBigNumber(n).lt(.05),[n]);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,{}),r&&jsxRuntime.jsx(ui.HorsePowerLowIcon,{}),!s&&!r&&jsxRuntime.jsx(ui.HorsePowerIcon,{}),jsxRuntime.jsx("span",{className:ui.cn(s&&"text-positive",!s&&!r&&"text-negative",n===void 0&&"text-text-muted"),children:utils.formatPercent(n)})]})})});function ek(e){return e.length<=10?e:`${e.slice(0,4)}...${e.slice(-4)}`}var Xa=react.memo(function({token:t}){let o=ui.useCopyToClipboard(),[n,s]=react.useState(false),[r,i]=react.useState(false),l=react.useRef(void 0),a=react.useRef(void 0),{t:d}=i18n.useTranslation(),m=react.useCallback(p=>{p.preventDefault(),p.stopPropagation(),o(t.name,()=>{ui.toast.success(d("tokens.copied.name")),s(true),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>{s(false);},2e3);});},[o,t.name,d]),c=react.useCallback(p=>{p.preventDefault(),p.stopPropagation(),o(t.address,()=>{ui.toast.success(d("tokens.copied.address")),i(true),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{i(false);},2e3);});},[o,t.address,d]);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(ke,{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-text-muted hover:text-primary-200 cursor-pointer",onClick:m,children:[jsxRuntime.jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:t.name}),n?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(u)}),jsxRuntime.jsxs("button",{type:"button",className:"group flex items-center gap-1 min-w-0 max-w-28 sm:max-w-36 text-text-muted 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-text-muted/70 group-hover:text-primary-200",children:ek(t.address)}),r?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-text-muted 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-text-muted 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-text-muted 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-text-muted 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-text-muted hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui.SearchIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]})]})]})});var Ya=react.memo(function({token:t}){let{t:o}=i18n.useTranslation(),n=t.marketData,s=react.useMemo(()=>new utils.SafeBigNumber(n?.top10HoldingsRatio).gte(.1),[n?.top10HoldingsRatio]),r=react.useMemo(()=>new utils.SafeBigNumber(n?.devHoldingsRatio).gte(.1),[n?.devHoldingsRatio]),i=react.useMemo(()=>new utils.SafeBigNumber(n?.sniperHoldingsRatio).gte(.1),[n?.sniperHoldingsRatio]),l=react.useMemo(()=>new utils.SafeBigNumber(n?.insiderHoldingsRatio).gte(.1),[n?.insiderHoldingsRatio]),a=react.useMemo(()=>new utils.SafeBigNumber(n?.bundleHoldingsRatio).gte(.1),[n?.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($,{icon:jsxRuntime.jsx(ui.PeopleIcon,{width:12,height:12}),value:utils.formatAmount(n?.holders),tooltip:o("tokens.tokenInfo.holders"),warning:false,disable:!n?.holders}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.KlineCandlesIcon,{width:12,height:12}),value:utils.formatAmount(n?.proHolders),tooltip:o("tokens.tokenInfo.proHolders"),warning:false,disable:!n?.proHolders}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.StarIcon,{width:12,height:12}),value:utils.formatAmount(n?.kolHolders),tooltip:o("tokens.tokenInfo.kolHolders"),warning:false,disable:!n?.kolHolders}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(n?.top10HoldingsRatio),tooltip:o("tokens.tokenInfo.top10HoldingsRatio"),warning:s,disable:!n?.top10HoldingsRatio||n?.top10HoldingsRatio==="0"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(n?.devHoldingsRatio),tooltip:o("tokens.tokenInfo.devHoldingsRatio"),warning:r,disable:!n?.devHoldingsRatio||n?.devHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(n?.sniperHoldingsRatio),tooltip:o("tokens.tokenInfo.sniperHoldingsRatio"),warning:i,disable:!n?.sniperHoldingsRatio||n?.sniperHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(n?.insiderHoldingsRatio),tooltip:o("tokens.tokenInfo.insiderHoldingsRatio"),warning:l,disable:!n?.insiderHoldingsRatio||n?.insiderHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(n?.bundleHoldingsRatio),tooltip:o("tokens.tokenInfo.bundleHoldingsRatio"),warning:a,disable:!n?.bundleHoldingsRatio||n?.bundleHoldingsRatio==="0",tooltipPlacement:"bottom"})]})]})});var Ja=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 Za=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 tl=react.memo(function({token:t,resolution:o}){let n=react.useMemo(()=>t.marketData?.priceInUsd,[t.marketData?.priceInUsd]),s=react.useMemo(()=>t.stats?.[o]?.priceChange,[t,o]),r=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(n)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex gap-1 items-center text-xs",i?"text-positive":"text-negative"),children:[i?jsxRuntime.jsx(ui.TriangleUpIcon,{width:10,height:10}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:10,height:10}),jsxRuntime.jsx("span",{children:utils.formatPercent(r)})]})]})});var nl=react.memo(function({token:t,resolution:o}){let n=t.stats?.[o],s=n?.traders,r=n?.buyers,i=n?.sellers;return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(s)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-positive",children:utils.formatAmount(r)}),"/",jsxRuntime.jsx("span",{className:"text-negative",children:utils.formatAmount(i)})]})]})});var sl=react.memo(function({token:t,resolution:o}){let n=t.stats?.[o],s=n?.trades,r=n?.buys,i=n?.sells;return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmount(s)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-positive",children:utils.formatAmount(r)}),"/",jsxRuntime.jsx("span",{className:"text-negative",children:utils.formatAmount(i)})]})]})});var al=react.memo(function({token:t,resolution:o}){let n=t.stats?.[o],s=n?.volumesInUsd,r=n?.buyVolumesInUsd,i=n?.sellVolumesInUsd;return jsxRuntime.jsxs("div",{className:"flex flex-col gap-1 justify-center items-start",children:[jsxRuntime.jsx("span",{children:utils.formatAmountInUsd(s)}),jsxRuntime.jsxs("div",{className:"flex gap-1 text-xs",children:[jsxRuntime.jsx("span",{className:"text-positive",children:utils.formatAmountInUsd(r)}),"/",jsxRuntime.jsx("span",{className:"text-negative",children:utils.formatAmountInUsd(i)})]})]})});var Ak=`
|
|
22
22
|
@keyframes tklShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
|
|
23
|
-
`,Ik={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,n){return {...Ik,animationDelay:`${e}ms`,width:t,height:o,...n}}var ll=10;function dl({rowHeight:e,hasActions:t,isMobile:o}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{children:Ak}),Array.from({length:ll}).map((n,s)=>jsxRuntime.jsx(Mk,{index:s,rowHeight:e,hasActions:t,isMobile:o,isLast:s===ll-1},s))]})}function Mk({index:e,rowHeight:t,hasActions:o,isMobile:n,isLast:s}){let r=e*80,i=n?208:320,l=n?40:64,a=n?72:124,d=n?64:97;return jsxRuntime.jsxs("div",{className:s?void 0:"border-b border-border-subtle/30",style:{display:"flex",alignItems:"center",height:t,flexShrink:0},children:[jsxRuntime.jsxs("div",{style:{width:i,padding:n?"0 12px":"0 12px 0 24px",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[jsxRuntime.jsx("div",{style:V(r,l,l,{borderRadius:8,flexShrink:0})}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8,flex:1},children:[jsxRuntime.jsx("div",{style:V(r+30,"60%",20)}),jsxRuntime.jsx("div",{style:V(r+60,"80%",16)})]})]}),jsxRuntime.jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:V(r+20,72,20)}),jsxRuntime.jsx("div",{style:V(r+40,52,16)})]}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:V(r+30,64,20)})}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:V(r+40,60,20)})}),jsxRuntime.jsxs("div",{style:{width:138,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:V(r+50,72,20)}),jsxRuntime.jsx("div",{style:V(r+70,100,16)})]}),jsxRuntime.jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:V(r+60,48,20)}),jsxRuntime.jsx("div",{style:V(r+80,80,16)})]}),jsxRuntime.jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:V(r+70,40,20)}),jsxRuntime.jsx("div",{style:V(r+90,72,16)})]}),jsxRuntime.jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",alignItems:"center",gap:10},children:[jsxRuntime.jsx("div",{style:V(r+80,20,20,{borderRadius:4})}),jsxRuntime.jsx("div",{style:V(r+90,52,20)})]}),jsxRuntime.jsxs("div",{style:{width:308,padding:"0 12px",display:"flex",alignItems:"center",gap:20},children:[jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:V(r+80,52,16)}),jsxRuntime.jsx("div",{style:V(r+100,40,16)}),jsxRuntime.jsx("div",{style:V(r+120,36,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:V(r+90,48,16)}),jsxRuntime.jsx("div",{style:V(r+110,40,16)}),jsxRuntime.jsx("div",{style:V(r+130,40,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:V(r+100,40,16)}),jsxRuntime.jsx("div",{style:V(r+120,36,16)})]})]}),o&&jsxRuntime.jsx("div",{style:{width:a,padding:n?"0 12px 0 0":"0 24px 0 12px",display:"flex",alignItems:"center",justifyContent:"flex-end"},children:jsxRuntime.jsx("div",{style:V(r+100,d,32,{borderRadius:8})})})]})}var Wk=100,Vk=200,Kk=72;function dt({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:n,onSelectToken:s,sortDirections:r,onSortChange:i,onScrollingChange:l,height:a=600,itemHeight:d=88,itemHeightMobile:m=72,className:c}){let{isMobile:u}=ui.useScreen(),p=u?m:d,x=react.useMemo(()=>e.slice(0,Wk),[e]),f=!!o,g=react.useRef(void 0),h=react.useRef(false),{t:k}=i18n.useTranslation(),T=react.useCallback(P=>Q=>{Q.preventDefault(),Q.stopPropagation(),s?.(P);},[s]),[v,b]=react.useState(r??{});react.useEffect(()=>{b(r??{});},[r]);let y=react.useCallback(P=>Q=>{let ut={[P]:Q};b(ut),i?.(ut);},[i]),L=react.useCallback(()=>{h.current||(h.current=true,l?.(true)),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{h.current=false,l?.(false);},180);},[l]);react.useEffect(()=>()=>{g.current&&clearTimeout(g.current),h.current&&l?.(false);},[l]);let A=ui.cn("h-full mx-auto",c??(n?"max-w-394 sm:max-w-435":"max-w-363 sm:max-w-404")),N=n?"!w-[1582px] min-w-[1582px] max-w-[1582px]":"!w-[1510px] min-w-[1510px] max-w-[1510px]",K=[jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.token"),width:u?Vk:320,className:ui.cn("bg-surface-base 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.TableColumn,{textValue:k("tokens.listHeader.price"),width:128,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui.Sortable,{sort:v.price,onSortChange:y("price"),children:k("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:v[`priceChange${t}`],onSortChange:y(`priceChange${t}`),children:k("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.marketCap"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:v.marketCap,onSortChange:y("marketCap"),children:k("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.athMarketCap"),width:144,children:jsxRuntime.jsx(ui.Sortable,{sort:v.athMarketCap,onSortChange:y("athMarketCap"),children:k("tokens.listHeader.athMarketCap")})},"athMarketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:v.tvl,onSortChange:y("tvl"),children:k("tokens.listHeader.liquidity")})},"liquidity"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsxRuntime.jsx(ui.Sortable,{sort:v[`volumes${t}`],onSortChange:y(`volumes${t}`),children:k("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.txs",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:v[`trades${t}`],onSortChange:y(`trades${t}`),children:k("tokens.listHeader.txs",{resolution:t})})},"txs"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.traders",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:v[`traders${t}`],onSortChange:y(`traders${t}`),children:k("tokens.listHeader.traders",{resolution:t})})},"traders"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.bluechip"),width:128,children:k("tokens.listHeader.bluechip")},"bluechip"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.tokenInfo"),width:308,children:k("tokens.listHeader.tokenInfo")},"tokenInfo"),n?jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.actions"),width:u?Kk:124,align:"end",className:ui.cn("bg-surface-base 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),fe=jsxRuntime.jsx(dl,{rowHeight:p,hasActions:!!n,isMobile:u}),E=jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.EmptyIcon,{className:"w-10 h-10 mx-auto text-text-muted"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-text-muted text-center",children:k("common.empty")})]}),W=P=>[jsxRuntime.jsx(ui.TableCell,{className:ui.cn("sticky left-0 z-10 bg-surface-base",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-surface-raised"),children:jsxRuntime.jsx(Xa,{token:P,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(tl,{token:P,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Za,{token:P,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Wa,{token:P,resolution:t})},"athMarketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ja,{token:P,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(al,{token:P,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(sl,{token:P,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(nl,{token:P,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ka,{token:P,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ya,{token:P,resolution:t})},"tokenInfo"),n?jsxRuntime.jsx(ui.TableCell,{className:ui.cn("sticky right-0 z-10 bg-surface-base",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-surface-raised"),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(n,{token:P,resolution:t})})},"actions"):void 0].filter(Boolean),ge=P=>jsxRuntime.jsx(ui.TableRow,{onClick:s?T(P):void 0,children:W(P)},P.address);return u?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??(n?"max-w-394 sm:max-w-435":"max-w-363 sm:max-w-404")),style:{height:a},onScroll:L,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",N),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":k("tokens.table.ariaLabel"),children:[jsxRuntime.jsx(ui.TableHeader,{children:K}),jsxRuntime.jsx(ui.TableBody,{items:x,isLoading:f,loadingContent:fe,emptyContent:E,children:ge})]})})}):jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:A,classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},onScrollCapture:L,maxTableHeight:a,rowHeight:p,"aria-label":k("tokens.table.ariaLabel"),children:[jsxRuntime.jsx(ui.TableHeader,{children:K}),jsxRuntime.jsx(ui.TableBody,{items:e,isLoading:f,loadingContent:fe,emptyContent:E,children:ge})]})}function xl({token:e,resolution:t,renderAction:o,isLast:n=false,onSelectToken:s,className:r}){let{t:i}=i18n.useTranslation(),l=ui.useCopyToClipboard(),a=hooks.useTickAge(e.createdAt),d=react.useCallback(()=>{s?.(e);},[s,e]),m=react.useCallback(Q=>{Q.stopPropagation(),l(e.address,()=>ui.toast.success(i("tokens.copied.address")));},[l,e.address,i]),c=e.marketData,u=e.stats?.[t],p=react.useMemo(()=>c?.priceInUsd,[c?.priceInUsd]),x=react.useMemo(()=>u?.priceChange,[u?.priceChange]),f=react.useMemo(()=>x&&new utils.SafeBigNumber(x).gte(0),[x]),g=react.useMemo(()=>x?new utils.SafeBigNumber(x).abs().toString():void 0,[x]),h=react.useMemo(()=>u?.volumesInUsd,[u?.volumesInUsd]),k=react.useMemo(()=>u?.buyVolumesInUsd,[u?.buyVolumesInUsd]),T=react.useMemo(()=>u?.sellVolumesInUsd,[u?.sellVolumesInUsd]),v=react.useMemo(()=>u?.trades,[u?.trades]),b=react.useMemo(()=>c?.marketCapInUsd,[c?.marketCapInUsd]),y=react.useMemo(()=>c?.tvlInUsd,[c?.tvlInUsd]),L=react.useMemo(()=>new utils.SafeBigNumber(c?.top10HoldingsRatio).gte(.1),[c?.top10HoldingsRatio]),A=react.useMemo(()=>new utils.SafeBigNumber(c?.devHoldingsRatio).gte(.1),[c?.devHoldingsRatio]),N=react.useMemo(()=>new utils.SafeBigNumber(c?.sniperHoldingsRatio).gte(.1),[c?.sniperHoldingsRatio]),K=react.useMemo(()=>new utils.SafeBigNumber(c?.insiderHoldingsRatio).gte(.1),[c?.insiderHoldingsRatio]),fe=react.useMemo(()=>new utils.SafeBigNumber(c?.bundleHoldingsRatio).gte(.1),[c?.bundleHoldingsRatio]),E=c?.holders!==void 0&&c.holders>0,W=c?.kolHolders!==void 0&&c.kolHolders>0,ge=c?.bluechipHolders!==void 0&&c.bluechipHolders>0,P=E||W||ge;return jsxRuntime.jsxs("div",{className:ui.cn("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer",!n&&"border-b",r),style:n?void 0:{borderBottomColor:"hsl(var(--heroui-content3) / 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(ke,{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-text-muted 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-text-muted truncate max-w-20",children:e.name})}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3.5 h-3.5 text-text-muted"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 leading-none",children:[jsxRuntime.jsx("span",{className:"text-[13px] font-mono font-medium text-text-muted",children:utils.formatAge(a)}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-text-muted hover:text-primary",target:"_blank",onClick:Q=>Q.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-text-muted hover:text-primary",target:"_blank",onClick:Q=>Q.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-text-muted hover:text-primary",target:"_blank",onClick:Q=>Q.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-text-muted hover:text-primary",target:"_blank",onClick:Q=>Q.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-text-muted",children:"MC"}),jsxRuntime.jsx("span",{children:utils.formatMCapInUsd(b)})]}),jsxRuntime.jsx("span",{className:"text-text-muted/30",children:"\xB7"}),jsxRuntime.jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-text-muted",children:i("tokens.listHeader.liqShort")}),jsxRuntime.jsx("span",{children:utils.formatAmountInUsd(y)})]})]}),P&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-text-muted leading-none",children:[E&&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-text-muted"}),utils.formatAmount(c?.holders)]})}),W&&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-text-muted"}),utils.formatAmount(c?.kolHolders)]})}),ge&&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-text-muted"}),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(p)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex items-center gap-0.5 text-[10px] leading-none",f?"text-positive":"text-negative"),children:[f?jsxRuntime.jsx(ui.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:8,height:8}),x===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-text-muted",children:"V"}),jsxRuntime.jsx("span",{className:"text-xs text-foreground/80",children:utils.formatAmountInUsd(h)})]}),jsxRuntime.jsxs("span",{className:"text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-positive",children:utils.formatAmountInUsd(k)}),jsxRuntime.jsx("span",{className:"text-text-muted/50 mx-0.5",children:"/"}),jsxRuntime.jsx("span",{className:"text-negative",children:utils.formatAmountInUsd(T)})]})]}),jsxRuntime.jsxs("div",{className:"flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs text-text-muted",children:"TX"}),jsxRuntime.jsx("span",{className:"text-xs text-foreground/80",children:utils.formatAmount(v)})]})]})]}),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($,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(c?.top10HoldingsRatio),tooltip:i("tokens.tokenInfo.top10HoldingsRatio"),warning:L,disable:!c?.top10HoldingsRatio||c?.top10HoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(c?.devHoldingsRatio),tooltip:i("tokens.tokenInfo.devHoldingsRatio"),warning:A,disable:!c?.devHoldingsRatio||c?.devHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(c?.sniperHoldingsRatio),tooltip:i("tokens.tokenInfo.sniperHoldingsRatio"),warning:N,disable:!c?.sniperHoldingsRatio||c?.sniperHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(c?.insiderHoldingsRatio),tooltip:i("tokens.tokenInfo.insiderHoldingsRatio"),warning:K,disable:!c?.insiderHoldingsRatio||c?.insiderHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(c?.bundleHoldingsRatio),tooltip:i("tokens.tokenInfo.bundleHoldingsRatio"),warning:fe,disable:!c?.bundleHoldingsRatio||c?.bundleHoldingsRatio==="0"})]})}),o&&jsxRuntime.jsx("div",{className:"flex-none relative",onClick:Q=>Q.stopPropagation(),children:o(e)})]})]})}function hl({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:"hsl(var(--heroui-content3) / 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 xx=154,Tl=10;function hx({index:e,style:t,tokens:o,skeletonCount:n,resolution:s,renderAction:r,onSelectToken:i}){return o?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(xl,{token:o[e],resolution:s,isLast:e===o.length-1,renderAction:r,onSelectToken:i})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(hl,{isLast:e===n-1})})}function pI({tokens:e,resolution:t="24h",isLoading:o,height:n=600,renderAction:s,onSelectToken:r,className:i}){let l=o||!e?void 0:e,a=l?l.length:Tl,d=react.useMemo(()=>({tokens:l,skeletonCount:Tl,resolution:t,renderAction:s,onSelectToken:r}),[l,t,s,r]);return jsxRuntime.jsx("div",{className:ui.cn("w-full h-full overflow-hidden border rounded-lg",i),style:{background:"hsl(var(--heroui-content2) / 0.4)",borderColor:"hsl(var(--heroui-content3) / 0.6)"},children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",style:{height:n},rowCount:a,rowHeight:xx,overscanCount:5,rowComponent:hx,rowProps:d})})}var Sx=80;function Nl(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function Nx(e,t,o){return e===t?o:e===o?t:o||t}function Un(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:Nx(t,e.tokenAAddress,e.tokenBAddress),image:e.dex?.image,programAddress:e.dex?.programAddress,protocolFamily:e.dex?.protocolFamily,protocolName:e.dex?.protocolName}]}}function Cx(e){return {...Nl(Un(e)),...e.token??{},liquidities:Un(e).liquidities,createdAt:e.token?.createdAt??e.createdAt}}function Sl(e){return e.sort((t,o)=>{let n=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-n}),e.slice(0,Sx)}function wx(e){if(!(!e?.filters&&!e?.keywords&&!e?.excludeKeywords))return {filters:e.filters,keywords:e.keywords,excludeKeywords:e.excludeKeywords}}function Lx(e){if(!(!e?.sortBy||!e.sortDirection))return {[e.sortBy]:e.sortDirection}}function Cl({chain:e,options:t,deferUpdates:o=false,updateFlushInterval:n}){let s=react.useMemo(()=>({chain:e}),[e]),r=react.useRef(s),[i,l]=react.useState(true),[a,d]=react.useState([]);react.useEffect(()=>{JSON.stringify(s)!==JSON.stringify(r.current)&&(l(true),d([]),r.current=s);},[s]);let{data:m,isPending:c}=react$1.useNewPoolsQuery(s);react.useEffect(()=>{m&&(d(k=>{let T=[...k];for(let v of m){let b=Cx(v),y=T.findIndex(L=>L.address===b.address);y>=0?T[y]=ee(T[y],b):T.push(b);}return Sl(T)}),l(false));},[m]);let u=react.useCallback(k=>{d(T=>{let v=[...T],b=false;for(let y of k){let L=v.findIndex(A=>A.address===y.address);L>=0?(b=true,v[L]=ee(v[L],y)):(b=true,v.push(Nl(y)));}return b?Sl(v):T});},[]),{enqueueUpdates:p}=le({applyUpdates:u,paused:o,flushInterval:n}),x=react.useCallback(k=>{p(k.map(Un));},[p]);react$1.useNewPoolsSubscription({chain:e},x),react$1.useNewTokensMetadataSubscription({chain:e},p),he({chain:e,tokens:a,onUpdate:p});let f=react.useMemo(()=>!!(c||i),[c,i]),g=react.useMemo(()=>ae(a,wx(t)),[a,t]);return {tokens:react.useMemo(()=>Ze(g,Lx(t)),[g,t]),isLoading:f}}function RI({chain:e,resolution:t,filters:o,ActionsComponent:n,onSelectToken:s,height:r,itemHeight:i,itemHeightMobile:l,className:a}){let[d,m]=react.useState(),[c,u]=react.useState(false);react.useEffect(()=>{m(void 0);},[e,t]);let p=react.useMemo(()=>{let g=Object.keys(d??{})[0],h=d?.[g];return {...o,...g&&h?{sortBy:g,sortDirection:h}:void 0}},[o,d]),{tokens:x,isLoading:f}=Cl({chain:e,options:p,deferUpdates:c});return jsxRuntime.jsx(dt,{tokens:x,isLoading:f,resolution:t,height:r,itemHeight:i,itemHeightMobile:l,ActionsComponent:n,onSelectToken:s,sortDirections:d,onSortChange:m,onScrollingChange:u,className:a})}function Rl({chain:e,filters:t,sortDirections:o,refetchInterval:n=3e4,deferUpdates:s=false,updateFlushInterval:r}){let i=react.useMemo(()=>({chain:e}),[e]),l=react.useRef(i),[a,d]=react.useState(true);react.useEffect(()=>{JSON.stringify(i)!==JSON.stringify(l.current)&&(d(true),c([]),l.current=i);},[i]);let[m,c]=react.useState([]),{data:u,isPending:p}=react$1.useStockTokensQuery(i,{refetchInterval:n});react.useEffect(()=>{u&&(c(T=>zt(T,u)),d(false));},[u]);let x=react.useCallback(T=>{c(v=>Re(v,T));},[]),{enqueueUpdates:f}=le({applyUpdates:x,paused:s,flushInterval:r});react$1.useStockTokensSubscription({chain:e},f),he({chain:e,tokens:m,onUpdate:f});let g=react.useMemo(()=>!!(p||a),[p,a]),h=react.useMemo(()=>ae(m,t),[m,t]);return {tokens:react.useMemo(()=>Ze(h,o),[h,o]),isLoading:g}}function $I({chain:e,resolution:t,filters:o,ActionsComponent:n,onSelectToken:s,height:r,itemHeight:i,itemHeightMobile:l,className:a}){let[d,m]=react.useState(),[c,u]=react.useState(false);react.useEffect(()=>{m(void 0);},[e,t]);let{tokens:p,isLoading:x}=Rl({chain:e,filters:o,sortDirections:d,deferUpdates:c});return jsxRuntime.jsx(dt,{tokens:p,isLoading:x,resolution:t,height:r,itemHeight:i,itemHeightMobile:l,ActionsComponent:n,onSelectToken:s,sortDirections:d,onSortChange:m,onScrollingChange:u,className:a})}function jI({chain:e,resolution:t,filters:o,ActionsComponent:n,onSelectToken:s,height:r,itemHeight:i,itemHeightMobile:l,className:a}){let[d,m]=react.useState(),[c,u]=react.useState(false);react.useEffect(()=>{m(void 0);},[e,t]);let{tokens:p,isLoading:x}=oo({chain:e,resolution:t,filters:o,sortDirections:d,deferUpdates:c});return jsxRuntime.jsx(dt,{tokens:p,isLoading:x,resolution:t,height:r,itemHeight:i,itemHeightMobile:l,ActionsComponent:n,onSelectToken:s,sortDirections:d,onSortChange:m,onScrollingChange:u,className:a})}var $x=15e3;function zx({chain:e,addresses:t,pollMs:o=$x}){let n=t.length>0,[s,r]=react.useState({}),i=react$1.useTokensQuery({chain:e,addresses:t},{enabled:n,refetchInterval:o});react.useEffect(()=>{i.data&&r(u=>{let p={};for(let x of i.data){let f=u[x.address];p[x.address]=f?ee(f,x):x;}return p});},[i.data]);let l=react$1.useTokenMarketRuntime(),a=Array.from(new Set(t.map(u=>u.trim()).filter(Boolean))).sort().join(","),d=react.useMemo(()=>a?a.split(","):[],[a]);react.useEffect(()=>{if(!n)return;let u=[];for(let p of d){let x=react$1.tokenMarketKey(e,p),f=l.subscribe(x,h=>{let k=h.token;k&&r(T=>{let v=T[k.address],b=v?ee(v,k):k;return b===v?T:{...T,[k.address]:b}});}),g=l.retain(x);u.push(()=>{f(),g();});}return ()=>{for(let p of u)p();}},[l,e,a,n,d]);let m=i.refetch,c=react.useCallback(async()=>{await m();},[m]);return {tokens:s,isPending:i.isPending,isFetching:i.isFetching,isError:i.isError,isSuccess:i.isSuccess,error:i.error,refetch:c}}Object.defineProperty(exports,"formatAmount",{enumerable:true,get:function(){return utils.formatAmount}});exports.DEFAULT_FLIP_HOVER_RESOLUTIONS=gi;exports.HolderTagBadge=Vl;exports.HolderTagBadgeList=Et;exports.HoldingRatioChip=$;exports.NewTokenListWidget=RI;exports.PulseFinalStretchListWidget=XT;exports.PulseList=Ge;exports.PulseListHeader=Bn;exports.PulseListItem=er;exports.PulseListItemSkeleton=Uo;exports.PulseMigratedListWidget=FT;exports.PulseNewListWidget=hT;exports.SEARCH_MODAL_ID=Go;exports.SearchHistoryUI=Br;exports.SearchHistoryWidget=Er;exports.SearchInputUI=Wr;exports.SearchModal=Ub;exports.SearchResultItemUI=Yt;exports.SearchResultListHeader=Jt;exports.SearchResultListSkeleton=jt;exports.SearchResultListWidget=Gr;exports.SearchTokensButton=$b;exports.SearchWidget=es;exports.StockTokenListWidget=$I;exports.TOKEN_SEARCH_HISTORY_KEY=cc;exports.TRADER_TAG_META=Oo;exports.TokenAbout=ri;exports.TokenAboutWidget=U0;exports.TokenActivitiesList=Es;exports.TokenActivitiesListWidget=gC;exports.TokenAvatar=ke;exports.TokenBasicInfo=cs;exports.TokenBasicInfoWidget=Ms;exports.TokenCategories=pi;exports.TokenCategoriesWidget=Iw;exports.TokenCexListing=ci;exports.TokenCexListingWidget=gw;exports.TokenChartBanner=Qi;exports.TokenChartBannerWidget=IP;exports.TokenDetailHeader=as;exports.TokenDetailHeaderWidget=NN;exports.TokenDevTokensList=Ui;exports.TokenDevTokensListWidget=gP;exports.TokenDevTokensSummary=Oi;exports.TokenHoldersCount=us;exports.TokenHoldersCountWidget=fs;exports.TokenHoldersList=Fs;exports.TokenHoldersListWidget=zN;exports.TokenLiquidities=li;exports.TokenLiquiditiesWidget=ew;exports.TokenList=dt;exports.TokenListFilter=No;exports.TokenListFilterModal=Pa;exports.TokenListFilterPopover=Da;exports.TokenListFilterWidget=eR;exports.TokenListResolutionSelectorDesktop=Ua;exports.TokenListResolutionSelectorMobile=Ba;exports.TokenListResolutionSelectorWidget=xR;exports.TokenMarketCap=ks;exports.TokenMarketCapWidget=hs;exports.TokenOrdersList=Ni;exports.TokenOrdersListWidget=ML;exports.TokenPositionsList=Ti;exports.TokenPositionsListWidget=pL;exports.TokenPrice=bs;exports.TokenPriceWidget=Ss;exports.TokenReusedImageList=Zi;exports.TokenReusedImageListWidget=l1;exports.TokenSecurity=oi;exports.TokenSecurityWidget=b0;exports.TokenSimilarTokens=Yi;exports.TokenSimilarTokensWidget=GP;exports.TokenSocialMedia=Ns;exports.TokenSocialMediaWidget=ws;exports.TokenStatsFlipBase=ki;exports.TokenStatsFlipHover=xi;exports.TokenStatsFlipWidget=Gw;exports.TokenTopTradersList=Ai;exports.TokenTopTradersListWidget=ZL;exports.TokenTradersOverview=Xs;exports.TokenTradersOverviewWidget=AC;exports.TokenTransactionsOverview=Js;exports.TokenTransactionsOverviewWidget=$C;exports.TokenVolume=Rs;exports.TokenVolumeWidget=Is;exports.TokenVolumesOverview=js;exports.TokenVolumesOverviewWidget=i0;exports.TraderTagBadge=Wl;exports.TraderTagBadgeList=Kn;exports.TrendingTokenCard=xl;exports.TrendingTokenCardList=pI;exports.TrendingTokenCardSkeleton=hl;exports.TrendingTokenListWidget=jI;exports.createTokenSearchHistoryStorage=gt;exports.useNewTokensScript=Cl;exports.usePulseFinalStretchListScript=Mr;exports.usePulseMigratedListScript=Lr;exports.usePulseNewListScript=Tr;exports.useSearchHistory=Fr;exports.useSearchResultListScript=$r;exports.useSearchScript=Jb;exports.useStockTokensScript=Rl;exports.useTokenAboutScript=si;exports.useTokenActivitiesListScript=Qs;exports.useTokenBasicInfoScript=Ev;exports.useTokenCategoriesScript=fi;exports.useTokenCexListingScript=mi;exports.useTokenChartBannerScript=Xi;exports.useTokenDetailHeaderScript=ls;exports.useTokenDevTokensListScript=Ki;exports.useTokenHoldersCountScript=ps;exports.useTokenHoldersListScript=Bs;exports.useTokenLiquiditiesScript=di;exports.useTokenMarketCapScript=xs;exports.useTokenOrdersListScript=Pi;exports.useTokenPositionsListScript=vi;exports.useTokenPriceScript=vs;exports.useTokenReusedImageListScript=ji;exports.useTokenSecurityScript=ni;exports.useTokenSimilarTokensScript=Ji;exports.useTokenSocialMediaScript=Cs;exports.useTokenStatsFlipScript=hi;exports.useTokenTopTradersListScript=Mi;exports.useTokenTradersOverviewScript=Ys;exports.useTokenTransactionsOverviewScript=Zs;exports.useTokenVolumeScript=As;exports.useTokenVolumesOverviewScript=ei;exports.useTokens=zx;exports.useTrendingTokensScript=oo;//# sourceMappingURL=index.js.map
|
|
23
|
+
`,Ik={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,n){return {...Ik,animationDelay:`${e}ms`,width:t,height:o,...n}}var ll=10;function dl({rowHeight:e,hasActions:t,isMobile:o}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{children:Ak}),Array.from({length:ll}).map((n,s)=>jsxRuntime.jsx(Mk,{index:s,rowHeight:e,hasActions:t,isMobile:o,isLast:s===ll-1},s))]})}function Mk({index:e,rowHeight:t,hasActions:o,isMobile:n,isLast:s}){let r=e*80,i=n?208:320,l=n?40:64,a=n?72:124,d=n?64:97;return jsxRuntime.jsxs("div",{className:s?void 0:"border-b border-border-subtle/30",style:{display:"flex",alignItems:"center",height:t,flexShrink:0},children:[jsxRuntime.jsxs("div",{style:{width:i,padding:n?"0 12px":"0 12px 0 24px",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[jsxRuntime.jsx("div",{style:V(r,l,l,{borderRadius:8,flexShrink:0})}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8,flex:1},children:[jsxRuntime.jsx("div",{style:V(r+30,"60%",20)}),jsxRuntime.jsx("div",{style:V(r+60,"80%",16)})]})]}),jsxRuntime.jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:V(r+20,72,20)}),jsxRuntime.jsx("div",{style:V(r+40,52,16)})]}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:V(r+30,64,20)})}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:V(r+40,60,20)})}),jsxRuntime.jsxs("div",{style:{width:138,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:V(r+50,72,20)}),jsxRuntime.jsx("div",{style:V(r+70,100,16)})]}),jsxRuntime.jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:V(r+60,48,20)}),jsxRuntime.jsx("div",{style:V(r+80,80,16)})]}),jsxRuntime.jsxs("div",{style:{width:126,padding:"0 12px",display:"flex",flexDirection:"column",justifyContent:"center",gap:4},children:[jsxRuntime.jsx("div",{style:V(r+70,40,20)}),jsxRuntime.jsx("div",{style:V(r+90,72,16)})]}),jsxRuntime.jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",alignItems:"center",gap:10},children:[jsxRuntime.jsx("div",{style:V(r+80,20,20,{borderRadius:4})}),jsxRuntime.jsx("div",{style:V(r+90,52,20)})]}),jsxRuntime.jsxs("div",{style:{width:308,padding:"0 12px",display:"flex",alignItems:"center",gap:20},children:[jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:V(r+80,52,16)}),jsxRuntime.jsx("div",{style:V(r+100,40,16)}),jsxRuntime.jsx("div",{style:V(r+120,36,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:V(r+90,48,16)}),jsxRuntime.jsx("div",{style:V(r+110,40,16)}),jsxRuntime.jsx("div",{style:V(r+130,40,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:V(r+100,40,16)}),jsxRuntime.jsx("div",{style:V(r+120,36,16)})]})]}),o&&jsxRuntime.jsx("div",{style:{width:a,padding:n?"0 12px 0 0":"0 24px 0 12px",display:"flex",alignItems:"center",justifyContent:"flex-end"},children:jsxRuntime.jsx("div",{style:V(r+100,d,32,{borderRadius:8})})})]})}var Wk=100,Vk=200,Kk=72;function ct({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:n,onSelectToken:s,sortDirections:r,onSortChange:i,onScrollingChange:l,height:a=600,itemHeight:d=88,itemHeightMobile:m=72,className:c}){let{isMobile:u}=ui.useScreen(),p=u?m:d,x=react.useMemo(()=>e.slice(0,Wk),[e]),f=!!o,g=react.useRef(void 0),h=react.useRef(false),{t:k}=i18n.useTranslation(),T=react.useCallback(P=>Q=>{Q.preventDefault(),Q.stopPropagation(),s?.(P);},[s]),[v,b]=react.useState(r??{});react.useEffect(()=>{b(r??{});},[r]);let y=react.useCallback(P=>Q=>{let pt={[P]:Q};b(pt),i?.(pt);},[i]),L=react.useCallback(()=>{h.current||(h.current=true,l?.(true)),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{h.current=false,l?.(false);},180);},[l]);react.useEffect(()=>()=>{g.current&&clearTimeout(g.current),h.current&&l?.(false);},[l]);let A=ui.cn("h-full mx-auto",c??(n?"max-w-394 sm:max-w-435":"max-w-363 sm:max-w-404")),N=n?"!w-[1582px] min-w-[1582px] max-w-[1582px]":"!w-[1510px] min-w-[1510px] max-w-[1510px]",K=[jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.token"),width:u?Vk:320,className:ui.cn("bg-surface-base 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.TableColumn,{textValue:k("tokens.listHeader.price"),width:128,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui.Sortable,{sort:v.price,onSortChange:y("price"),children:k("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui.Sortable,{sort:v[`priceChange${t}`],onSortChange:y(`priceChange${t}`),children:k("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.marketCap"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:v.marketCap,onSortChange:y("marketCap"),children:k("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.athMarketCap"),width:144,children:jsxRuntime.jsx(ui.Sortable,{sort:v.athMarketCap,onSortChange:y("athMarketCap"),children:k("tokens.listHeader.athMarketCap")})},"athMarketCap"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui.Sortable,{sort:v.tvl,onSortChange:y("tvl"),children:k("tokens.listHeader.liquidity")})},"liquidity"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsxRuntime.jsx(ui.Sortable,{sort:v[`volumes${t}`],onSortChange:y(`volumes${t}`),children:k("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.txs",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:v[`trades${t}`],onSortChange:y(`trades${t}`),children:k("tokens.listHeader.txs",{resolution:t})})},"txs"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.traders",{resolution:t}),width:126,children:jsxRuntime.jsx(ui.Sortable,{sort:v[`traders${t}`],onSortChange:y(`traders${t}`),children:k("tokens.listHeader.traders",{resolution:t})})},"traders"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.bluechip"),width:128,children:k("tokens.listHeader.bluechip")},"bluechip"),jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.tokenInfo"),width:308,children:k("tokens.listHeader.tokenInfo")},"tokenInfo"),n?jsxRuntime.jsx(ui.TableColumn,{textValue:k("tokens.listHeader.actions"),width:u?Kk:124,align:"end",className:ui.cn("bg-surface-base 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),fe=jsxRuntime.jsx(dl,{rowHeight:p,hasActions:!!n,isMobile:u}),E=jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui.EmptyIcon,{className:"w-10 h-10 mx-auto text-text-muted"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-text-muted text-center",children:k("common.empty")})]}),W=P=>[jsxRuntime.jsx(ui.TableCell,{className:ui.cn("sticky left-0 z-10 bg-surface-base",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-surface-raised"),children:jsxRuntime.jsx(Xa,{token:P,resolution:t})},"token"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(tl,{token:P,resolution:t})},"price"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Za,{token:P,resolution:t})},"marketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Wa,{token:P,resolution:t})},"athMarketCap"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ja,{token:P,resolution:t})},"liquidity"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(al,{token:P,resolution:t})},"volumes"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(sl,{token:P,resolution:t})},"trades"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(nl,{token:P,resolution:t})},"traders"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ka,{token:P,resolution:t})},"bluechip"),jsxRuntime.jsx(ui.TableCell,{children:jsxRuntime.jsx(Ya,{token:P,resolution:t})},"tokenInfo"),n?jsxRuntime.jsx(ui.TableCell,{className:ui.cn("sticky right-0 z-10 bg-surface-base",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-surface-raised"),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(n,{token:P,resolution:t})})},"actions"):void 0].filter(Boolean),ge=P=>jsxRuntime.jsx(ui.TableRow,{onClick:s?T(P):void 0,children:W(P)},P.address);return u?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??(n?"max-w-394 sm:max-w-435":"max-w-363 sm:max-w-404")),style:{height:a},onScroll:L,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",N),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":k("tokens.table.ariaLabel"),children:[jsxRuntime.jsx(ui.TableHeader,{children:K}),jsxRuntime.jsx(ui.TableBody,{items:x,isLoading:f,loadingContent:fe,emptyContent:E,children:ge})]})})}):jsxRuntime.jsxs(ui.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:A,classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},onScrollCapture:L,maxTableHeight:a,rowHeight:p,"aria-label":k("tokens.table.ariaLabel"),children:[jsxRuntime.jsx(ui.TableHeader,{children:K}),jsxRuntime.jsx(ui.TableBody,{items:e,isLoading:f,loadingContent:fe,emptyContent:E,children:ge})]})}function xl({token:e,resolution:t,renderAction:o,isLast:n=false,onSelectToken:s,className:r}){let{t:i}=i18n.useTranslation(),l=ui.useCopyToClipboard(),a=hooks.useTickAge(e.createdAt),d=react.useCallback(()=>{s?.(e);},[s,e]),m=react.useCallback(Q=>{Q.stopPropagation(),l(e.address,()=>ui.toast.success(i("tokens.copied.address")));},[l,e.address,i]),c=e.marketData,u=e.stats?.[t],p=react.useMemo(()=>c?.priceInUsd,[c?.priceInUsd]),x=react.useMemo(()=>u?.priceChange,[u?.priceChange]),f=react.useMemo(()=>x&&new utils.SafeBigNumber(x).gte(0),[x]),g=react.useMemo(()=>x?new utils.SafeBigNumber(x).abs().toString():void 0,[x]),h=react.useMemo(()=>u?.volumesInUsd,[u?.volumesInUsd]),k=react.useMemo(()=>u?.buyVolumesInUsd,[u?.buyVolumesInUsd]),T=react.useMemo(()=>u?.sellVolumesInUsd,[u?.sellVolumesInUsd]),v=react.useMemo(()=>u?.trades,[u?.trades]),b=react.useMemo(()=>c?.marketCapInUsd,[c?.marketCapInUsd]),y=react.useMemo(()=>c?.tvlInUsd,[c?.tvlInUsd]),L=react.useMemo(()=>new utils.SafeBigNumber(c?.top10HoldingsRatio).gte(.1),[c?.top10HoldingsRatio]),A=react.useMemo(()=>new utils.SafeBigNumber(c?.devHoldingsRatio).gte(.1),[c?.devHoldingsRatio]),N=react.useMemo(()=>new utils.SafeBigNumber(c?.sniperHoldingsRatio).gte(.1),[c?.sniperHoldingsRatio]),K=react.useMemo(()=>new utils.SafeBigNumber(c?.insiderHoldingsRatio).gte(.1),[c?.insiderHoldingsRatio]),fe=react.useMemo(()=>new utils.SafeBigNumber(c?.bundleHoldingsRatio).gte(.1),[c?.bundleHoldingsRatio]),E=c?.holders!==void 0&&c.holders>0,W=c?.kolHolders!==void 0&&c.kolHolders>0,ge=c?.bluechipHolders!==void 0&&c.bluechipHolders>0,P=E||W||ge;return jsxRuntime.jsxs("div",{className:ui.cn("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer",!n&&"border-b",r),style:n?void 0:{borderBottomColor:"hsl(var(--heroui-content3) / 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(ke,{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-text-muted 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-text-muted truncate max-w-20",children:e.name})}),jsxRuntime.jsx(ui.CopyIcon,{className:"flex-none w-3.5 h-3.5 text-text-muted"})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 leading-none",children:[jsxRuntime.jsx("span",{className:"text-[13px] font-mono font-medium text-text-muted",children:utils.formatAge(a)}),e.socialMedias?.website&&jsxRuntime.jsx(ui.Link,{href:e.socialMedias.website,className:"text-text-muted hover:text-primary",target:"_blank",onClick:Q=>Q.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-text-muted hover:text-primary",target:"_blank",onClick:Q=>Q.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-text-muted hover:text-primary",target:"_blank",onClick:Q=>Q.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-text-muted hover:text-primary",target:"_blank",onClick:Q=>Q.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-text-muted",children:"MC"}),jsxRuntime.jsx("span",{children:utils.formatMCapInUsd(b)})]}),jsxRuntime.jsx("span",{className:"text-text-muted/30",children:"\xB7"}),jsxRuntime.jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-text-muted",children:i("tokens.listHeader.liqShort")}),jsxRuntime.jsx("span",{children:utils.formatAmountInUsd(y)})]})]}),P&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-text-muted leading-none",children:[E&&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-text-muted"}),utils.formatAmount(c?.holders)]})}),W&&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-text-muted"}),utils.formatAmount(c?.kolHolders)]})}),ge&&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-text-muted"}),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(p)}),jsxRuntime.jsxs("span",{className:ui.cn("inline-flex items-center gap-0.5 text-[10px] leading-none",f?"text-positive":"text-negative"),children:[f?jsxRuntime.jsx(ui.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui.TriangleDownIcon,{width:8,height:8}),x===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-text-muted",children:"V"}),jsxRuntime.jsx("span",{className:"text-xs text-foreground/80",children:utils.formatAmountInUsd(h)})]}),jsxRuntime.jsxs("span",{className:"text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-positive",children:utils.formatAmountInUsd(k)}),jsxRuntime.jsx("span",{className:"text-text-muted/50 mx-0.5",children:"/"}),jsxRuntime.jsx("span",{className:"text-negative",children:utils.formatAmountInUsd(T)})]})]}),jsxRuntime.jsxs("div",{className:"flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs text-text-muted",children:"TX"}),jsxRuntime.jsx("span",{className:"text-xs text-foreground/80",children:utils.formatAmount(v)})]})]})]}),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($,{icon:jsxRuntime.jsx(ui.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(c?.top10HoldingsRatio),tooltip:i("tokens.tokenInfo.top10HoldingsRatio"),warning:L,disable:!c?.top10HoldingsRatio||c?.top10HoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.CookIcon,{width:12,height:12}),value:utils.formatPercent(c?.devHoldingsRatio),tooltip:i("tokens.tokenInfo.devHoldingsRatio"),warning:A,disable:!c?.devHoldingsRatio||c?.devHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.SniperIcon,{width:12,height:12}),value:utils.formatPercent(c?.sniperHoldingsRatio),tooltip:i("tokens.tokenInfo.sniperHoldingsRatio"),warning:N,disable:!c?.sniperHoldingsRatio||c?.sniperHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.RatIcon,{width:12,height:12}),value:utils.formatPercent(c?.insiderHoldingsRatio),tooltip:i("tokens.tokenInfo.insiderHoldingsRatio"),warning:K,disable:!c?.insiderHoldingsRatio||c?.insiderHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(c?.bundleHoldingsRatio),tooltip:i("tokens.tokenInfo.bundleHoldingsRatio"),warning:fe,disable:!c?.bundleHoldingsRatio||c?.bundleHoldingsRatio==="0"})]})}),o&&jsxRuntime.jsx("div",{className:"flex-none relative",onClick:Q=>Q.stopPropagation(),children:o(e)})]})]})}function hl({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:"hsl(var(--heroui-content3) / 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 xx=154,Tl=10;function hx({index:e,style:t,tokens:o,skeletonCount:n,resolution:s,renderAction:r,onSelectToken:i}){return o?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(xl,{token:o[e],resolution:s,isLast:e===o.length-1,renderAction:r,onSelectToken:i})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(hl,{isLast:e===n-1})})}function pI({tokens:e,resolution:t="24h",isLoading:o,height:n=600,renderAction:s,onSelectToken:r,className:i}){let l=o||!e?void 0:e,a=l?l.length:Tl,d=react.useMemo(()=>({tokens:l,skeletonCount:Tl,resolution:t,renderAction:s,onSelectToken:r}),[l,t,s,r]);return jsxRuntime.jsx("div",{className:ui.cn("w-full h-full overflow-hidden border rounded-lg",i),style:{background:"hsl(var(--heroui-content2) / 0.4)",borderColor:"hsl(var(--heroui-content3) / 0.6)"},children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",style:{height:n},rowCount:a,rowHeight:xx,overscanCount:5,rowComponent:hx,rowProps:d})})}var Sx=80;function Nl(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function Nx(e,t,o){return e===t?o:e===o?t:o||t}function Un(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:Nx(t,e.tokenAAddress,e.tokenBAddress),image:e.dex?.image,programAddress:e.dex?.programAddress,protocolFamily:e.dex?.protocolFamily,protocolName:e.dex?.protocolName}]}}function Cx(e){return {...Nl(Un(e)),...e.token??{},liquidities:Un(e).liquidities,createdAt:e.token?.createdAt??e.createdAt}}function Sl(e){return e.sort((t,o)=>{let n=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-n}),e.slice(0,Sx)}function wx(e){if(!(!e?.filters&&!e?.keywords&&!e?.excludeKeywords))return {filters:e.filters,keywords:e.keywords,excludeKeywords:e.excludeKeywords}}function Lx(e){if(!(!e?.sortBy||!e.sortDirection))return {[e.sortBy]:e.sortDirection}}function Cl({chain:e,options:t,deferUpdates:o=false,updateFlushInterval:n}){let s=react.useMemo(()=>({chain:e}),[e]),r=react.useRef(s),[i,l]=react.useState(true),[a,d]=react.useState([]);react.useEffect(()=>{JSON.stringify(s)!==JSON.stringify(r.current)&&(l(true),d([]),r.current=s);},[s]);let{data:m,isPending:c}=react$1.useNewPoolsQuery(s);react.useEffect(()=>{m&&(d(k=>{let T=[...k];for(let v of m){let b=Cx(v),y=T.findIndex(L=>L.address===b.address);y>=0?T[y]=ee(T[y],b):T.push(b);}return Sl(T)}),l(false));},[m]);let u=react.useCallback(k=>{d(T=>{let v=[...T],b=false;for(let y of k){let L=v.findIndex(A=>A.address===y.address);L>=0?(b=true,v[L]=ee(v[L],y)):(b=true,v.push(Nl(y)));}return b?Sl(v):T});},[]),{enqueueUpdates:p}=le({applyUpdates:u,paused:o,flushInterval:n}),x=react.useCallback(k=>{p(k.map(Un));},[p]);react$1.useNewPoolsSubscription({chain:e},x),react$1.useNewTokensMetadataSubscription({chain:e},p),he({chain:e,tokens:a,onUpdate:p});let f=react.useMemo(()=>!!(c||i),[c,i]),g=react.useMemo(()=>ae(a,wx(t)),[a,t]);return {tokens:react.useMemo(()=>je(g,Lx(t)),[g,t]),isLoading:f}}function RI({chain:e,resolution:t,filters:o,ActionsComponent:n,onSelectToken:s,height:r,itemHeight:i,itemHeightMobile:l,className:a}){let[d,m]=react.useState(),[c,u]=react.useState(false);react.useEffect(()=>{m(void 0);},[e,t]);let p=react.useMemo(()=>{let g=Object.keys(d??{})[0],h=d?.[g];return {...o,...g&&h?{sortBy:g,sortDirection:h}:void 0}},[o,d]),{tokens:x,isLoading:f}=Cl({chain:e,options:p,deferUpdates:c});return jsxRuntime.jsx(ct,{tokens:x,isLoading:f,resolution:t,height:r,itemHeight:i,itemHeightMobile:l,ActionsComponent:n,onSelectToken:s,sortDirections:d,onSortChange:m,onScrollingChange:u,className:a})}function Rl({chain:e,filters:t,sortDirections:o,refetchInterval:n=3e4,deferUpdates:s=false,updateFlushInterval:r}){let i=react.useMemo(()=>({chain:e}),[e]),l=react.useRef(i),[a,d]=react.useState(true);react.useEffect(()=>{JSON.stringify(i)!==JSON.stringify(l.current)&&(d(true),c([]),l.current=i);},[i]);let[m,c]=react.useState([]),{data:u,isPending:p}=react$1.useStockTokensQuery(i,{refetchInterval:n});react.useEffect(()=>{u&&(c(T=>zt(T,u)),d(false));},[u]);let x=react.useCallback(T=>{c(v=>Re(v,T));},[]),{enqueueUpdates:f}=le({applyUpdates:x,paused:s,flushInterval:r});react$1.useStockTokensSubscription({chain:e},f),he({chain:e,tokens:m,onUpdate:f});let g=react.useMemo(()=>!!(p||a),[p,a]),h=react.useMemo(()=>ae(m,t),[m,t]);return {tokens:react.useMemo(()=>je(h,o),[h,o]),isLoading:g}}function $I({chain:e,resolution:t,filters:o,ActionsComponent:n,onSelectToken:s,height:r,itemHeight:i,itemHeightMobile:l,className:a}){let[d,m]=react.useState(),[c,u]=react.useState(false);react.useEffect(()=>{m(void 0);},[e,t]);let{tokens:p,isLoading:x}=Rl({chain:e,filters:o,sortDirections:d,deferUpdates:c});return jsxRuntime.jsx(ct,{tokens:p,isLoading:x,resolution:t,height:r,itemHeight:i,itemHeightMobile:l,ActionsComponent:n,onSelectToken:s,sortDirections:d,onSortChange:m,onScrollingChange:u,className:a})}function jI({chain:e,resolution:t,filters:o,ActionsComponent:n,onSelectToken:s,height:r,itemHeight:i,itemHeightMobile:l,className:a}){let[d,m]=react.useState(),[c,u]=react.useState(false);react.useEffect(()=>{m(void 0);},[e,t]);let{tokens:p,isLoading:x}=oo({chain:e,resolution:t,filters:o,sortDirections:d,deferUpdates:c});return jsxRuntime.jsx(ct,{tokens:p,isLoading:x,resolution:t,height:r,itemHeight:i,itemHeightMobile:l,ActionsComponent:n,onSelectToken:s,sortDirections:d,onSortChange:m,onScrollingChange:u,className:a})}var $x=15e3;function zx({chain:e,addresses:t,pollMs:o=$x}){let n=t.length>0,[s,r]=react.useState({}),i=react$1.useTokensQuery({chain:e,addresses:t},{enabled:n,refetchInterval:o});react.useEffect(()=>{i.data&&r(u=>{let p={};for(let x of i.data){let f=u[x.address];p[x.address]=f?ee(f,x):x;}return p});},[i.data]);let l=react$1.useTokenMarketRuntime(),a=Array.from(new Set(t.map(u=>u.trim()).filter(Boolean))).sort().join(","),d=react.useMemo(()=>a?a.split(","):[],[a]);react.useEffect(()=>{if(!n)return;let u=[];for(let p of d){let x=react$1.tokenMarketKey(e,p),f=l.subscribe(x,h=>{let k=h.token;k&&r(T=>{let v=T[k.address],b=v?ee(v,k):k;return b===v?T:{...T,[k.address]:b}});}),g=l.retain(x);u.push(()=>{f(),g();});}return ()=>{for(let p of u)p();}},[l,e,a,n,d]);let m=i.refetch,c=react.useCallback(async()=>{await m();},[m]);return {tokens:s,isPending:i.isPending,isFetching:i.isFetching,isError:i.isError,isSuccess:i.isSuccess,error:i.error,refetch:c}}Object.defineProperty(exports,"formatAmount",{enumerable:true,get:function(){return utils.formatAmount}});exports.DEFAULT_FLIP_HOVER_RESOLUTIONS=gi;exports.HolderTagBadge=Vl;exports.HolderTagBadgeList=Et;exports.HoldingRatioChip=$;exports.NewTokenListWidget=RI;exports.PulseFinalStretchListWidget=XT;exports.PulseList=Ge;exports.PulseListHeader=Bn;exports.PulseListItem=er;exports.PulseListItemSkeleton=Uo;exports.PulseMigratedListWidget=FT;exports.PulseNewListWidget=hT;exports.SEARCH_MODAL_ID=Go;exports.SearchHistoryUI=Br;exports.SearchHistoryWidget=Er;exports.SearchInputUI=Wr;exports.SearchModal=Ub;exports.SearchResultItemUI=Yt;exports.SearchResultListHeader=Jt;exports.SearchResultListSkeleton=jt;exports.SearchResultListWidget=Gr;exports.SearchTokensButton=$b;exports.SearchWidget=es;exports.StockTokenListWidget=$I;exports.TOKEN_SEARCH_HISTORY_KEY=cc;exports.TRADER_TAG_META=Oo;exports.TokenAbout=ri;exports.TokenAboutWidget=U0;exports.TokenActivitiesList=Es;exports.TokenActivitiesListWidget=gC;exports.TokenAvatar=ke;exports.TokenBasicInfo=cs;exports.TokenBasicInfoWidget=Ms;exports.TokenCategories=pi;exports.TokenCategoriesWidget=Iw;exports.TokenCexListing=ci;exports.TokenCexListingWidget=gw;exports.TokenChartBanner=Qi;exports.TokenChartBannerWidget=IP;exports.TokenDetailHeader=as;exports.TokenDetailHeaderWidget=NN;exports.TokenDevTokensList=Ui;exports.TokenDevTokensListWidget=gP;exports.TokenDevTokensSummary=Oi;exports.TokenHoldersCount=us;exports.TokenHoldersCountWidget=fs;exports.TokenHoldersList=Fs;exports.TokenHoldersListWidget=zN;exports.TokenLiquidities=li;exports.TokenLiquiditiesWidget=ew;exports.TokenList=ct;exports.TokenListFilter=No;exports.TokenListFilterModal=Pa;exports.TokenListFilterPopover=Da;exports.TokenListFilterWidget=eR;exports.TokenListResolutionSelectorDesktop=Ua;exports.TokenListResolutionSelectorMobile=Ba;exports.TokenListResolutionSelectorWidget=xR;exports.TokenMarketCap=ks;exports.TokenMarketCapWidget=hs;exports.TokenOrdersList=Ni;exports.TokenOrdersListWidget=ML;exports.TokenPositionsList=Ti;exports.TokenPositionsListWidget=pL;exports.TokenPrice=bs;exports.TokenPriceWidget=Ss;exports.TokenReusedImageList=Zi;exports.TokenReusedImageListWidget=l1;exports.TokenSecurity=oi;exports.TokenSecurityWidget=b0;exports.TokenSimilarTokens=Yi;exports.TokenSimilarTokensWidget=GP;exports.TokenSocialMedia=Ns;exports.TokenSocialMediaWidget=ws;exports.TokenStatsFlipBase=ki;exports.TokenStatsFlipHover=xi;exports.TokenStatsFlipWidget=Gw;exports.TokenTopTradersList=Ai;exports.TokenTopTradersListWidget=ZL;exports.TokenTradersOverview=Xs;exports.TokenTradersOverviewWidget=AC;exports.TokenTransactionsOverview=Js;exports.TokenTransactionsOverviewWidget=$C;exports.TokenVolume=Rs;exports.TokenVolumeWidget=Is;exports.TokenVolumesOverview=js;exports.TokenVolumesOverviewWidget=i0;exports.TraderTagBadge=Wl;exports.TraderTagBadgeList=Kn;exports.TrendingTokenCard=xl;exports.TrendingTokenCardList=pI;exports.TrendingTokenCardSkeleton=hl;exports.TrendingTokenListWidget=jI;exports.createTokenSearchHistoryStorage=kt;exports.useNewTokensScript=Cl;exports.usePulseFinalStretchListScript=Mr;exports.usePulseMigratedListScript=Lr;exports.usePulseNewListScript=Tr;exports.useSearchHistory=Fr;exports.useSearchResultListScript=$r;exports.useSearchScript=Jb;exports.useStockTokensScript=Rl;exports.useTokenAboutScript=si;exports.useTokenActivitiesListScript=Qs;exports.useTokenBasicInfoScript=Ev;exports.useTokenCategoriesScript=fi;exports.useTokenCexListingScript=mi;exports.useTokenChartBannerScript=Xi;exports.useTokenDetailHeaderScript=ls;exports.useTokenDevTokensListScript=Ki;exports.useTokenHoldersCountScript=ps;exports.useTokenHoldersListScript=Bs;exports.useTokenLiquiditiesScript=di;exports.useTokenMarketCapScript=xs;exports.useTokenOrdersListScript=Pi;exports.useTokenPositionsListScript=vi;exports.useTokenPriceScript=vs;exports.useTokenReusedImageListScript=ji;exports.useTokenSecurityScript=ni;exports.useTokenSimilarTokensScript=Ji;exports.useTokenSocialMediaScript=Cs;exports.useTokenStatsFlipScript=hi;exports.useTokenTopTradersListScript=Mi;exports.useTokenTradersOverviewScript=Ys;exports.useTokenTransactionsOverviewScript=Zs;exports.useTokenVolumeScript=As;exports.useTokenVolumesOverviewScript=ei;exports.useTokens=zx;exports.useTrendingTokensScript=oo;//# sourceMappingURL=index.js.map
|
|
24
24
|
//# sourceMappingURL=index.js.map
|