@liberfi.io/ui-tokens 3.0.93 → 3.0.94

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 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 pr({token:e,renderAction:t,isLast:o=false,onSelectToken:n,className:s}){let{t:r}=i18n.useTranslation(),{formatAge:i}=i18n.useLocalizedTimeFormatter(),a=ui$1.useCopyToClipboard(),d=hooks.useTickAge(e.createdAt),l=e.marketData,c=e.stats?.["1h"],u=react.useCallback(()=>{n?.(e);},[n,e]),m=react.useCallback(R=>{R.stopPropagation(),a(e.address,()=>ui$1.toast.success(r("tokens.copied.address")));},[a,e.address,r]),p=react.useMemo(()=>c?.volumesInUsd,[c?.volumesInUsd]),g=react.useMemo(()=>c?.buyVolumesInUsd,[c?.buyVolumesInUsd]),f=react.useMemo(()=>c?.sellVolumesInUsd,[c?.sellVolumesInUsd]),k=react.useMemo(()=>c?.trades,[c?.trades]),x=react.useMemo(()=>l?.marketCapInUsd,[l?.marketCapInUsd]),y=react.useMemo(()=>l?.tvlInUsd,[l?.tvlInUsd]),T=react.useMemo(()=>{let R=new utils.SafeBigNumber(x);return R.lt(1e3)?"text-foreground":R.lt(1e6)?"text-secondary":"text-primary"},[x]),S=react.useMemo(()=>new utils.SafeBigNumber(l?.top10HoldingsRatio).gte(.1),[l?.top10HoldingsRatio]),h=react.useMemo(()=>new utils.SafeBigNumber(l?.devHoldingsRatio).gte(.1),[l?.devHoldingsRatio]),b=react.useMemo(()=>new utils.SafeBigNumber(l?.insiderHoldingsRatio).gte(.1),[l?.insiderHoldingsRatio]),w=react.useMemo(()=>new utils.SafeBigNumber(l?.sniperHoldingsRatio).gte(.1),[l?.sniperHoldingsRatio]),v=react.useMemo(()=>new utils.SafeBigNumber(l?.bundleHoldingsRatio).gte(.1),[l?.bundleHoldingsRatio]),N=l?.holders!==void 0&&l.holders>0,F=l?.proHolders!==void 0&&l.proHolders>0,fe=l?.kolHolders!==void 0&&l.kolHolders>0,Y=N||F||fe;return jsxRuntime.jsxs("div",{className:ui$1.cn("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer",s),style:{borderBottom:o?"none":"1px solid var(--color-border-subtle)"},onClick:n?u: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(he,{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:m,"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:m,"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$1.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$1.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:i(d)}),e.socialMedias?.website&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.website,className:"text-text-muted hover:text-primary",target:"_blank",onClick:R=>R.stopPropagation(),children:jsxRuntime.jsx(ui$1.WebsiteIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.twitter,className:"text-text-muted hover:text-primary",target:"_blank",onClick:R=>R.stopPropagation(),children:jsxRuntime.jsx(ui$1.TwitterIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.telegram,className:"text-text-muted hover:text-primary",target:"_blank",onClick:R=>R.stopPropagation(),children:jsxRuntime.jsx(ui$1.TelegramIcon,{className:"w-3.5 h-3.5"})}),jsxRuntime.jsx(ui$1.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"max-sm:hidden text-text-muted hover:text-primary",target:"_blank",onClick:R=>R.stopPropagation(),children:jsxRuntime.jsx(ui$1.SearchIcon,{className:"w-3.5 h-3.5"})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-foreground/80 leading-none",children:[jsxRuntime.jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-text-muted",children:"MC"}),jsxRuntime.jsx("span",{className:ui$1.cn(T),children:utils.formatMCapInUsd(x)})]}),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(y)})]})]}),Y&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-text-muted leading-none",children:[N&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:r("tokens.tokenInfo.holders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.PeopleIcon,{className:"w-3 h-3 text-text-muted"}),utils.formatAmount(l?.holders)]})}),F&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:r("tokens.tokenInfo.proHolders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.KlineCandlesIcon,{className:"w-3 h-3 text-text-muted"}),utils.formatAmount(l?.proHolders)]})}),fe&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:r("tokens.tokenInfo.kolHolders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.StarIcon,{className:"w-3 h-3 text-text-muted"}),utils.formatAmount(l?.kolHolders)]})})]})]}),jsxRuntime.jsxs("div",{className:"flex-none flex flex-col items-end gap-2.5 leading-none font-mono",children:[jsxRuntime.jsx("div",{className:"flex flex-col items-end gap-1",children:jsxRuntime.jsx("span",{className:ui$1.cn("text-base font-bold leading-none",T),children:utils.formatMCapInUsd(x)})}),jsxRuntime.jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsxRuntime.jsxs("div",{className:"flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs text-text-muted",children:"V"}),jsxRuntime.jsx("span",{className:"text-xs text-foreground/80",children:utils.formatAmountInUsd(p)})]}),jsxRuntime.jsxs("span",{className:"text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-positive",children:utils.formatAmountInUsd(g)}),jsxRuntime.jsx("span",{className:"text-text-muted/50 mx-0.5",children:"/"}),jsxRuntime.jsx("span",{className:"text-negative",children:utils.formatAmountInUsd(f)})]})]}),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(k)})]})]})]}),jsxRuntime.jsxs("div",{className:"mt-2.5 flex items-start gap-4 relative",children:[jsxRuntime.jsx(ui$1.HorizontalScrollContainer,{className:"flex-auto min-w-0",forceShowArrows:true,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(l?.top10HoldingsRatio),tooltip:r("tokens.tokenInfo.top10HoldingsRatio"),warning:S,disable:!l?.top10HoldingsRatio||l?.top10HoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.CookIcon,{width:12,height:12}),value:utils.formatPercent(l?.devHoldingsRatio),tooltip:r("tokens.tokenInfo.devHoldingsRatio"),warning:h,disable:!l?.devHoldingsRatio||l?.devHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.SniperIcon,{width:12,height:12}),value:utils.formatPercent(l?.sniperHoldingsRatio),tooltip:r("tokens.tokenInfo.sniperHoldingsRatio"),warning:w,disable:!l?.sniperHoldingsRatio||l?.sniperHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.RatIcon,{width:12,height:12}),value:utils.formatPercent(l?.insiderHoldingsRatio),tooltip:r("tokens.tokenInfo.insiderHoldingsRatio"),warning:b,disable:!l?.insiderHoldingsRatio||l?.insiderHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(l?.bundleHoldingsRatio),tooltip:r("tokens.tokenInfo.bundleHoldingsRatio"),warning:v,disable:!l?.bundleHoldingsRatio||l?.bundleHoldingsRatio==="0"})]})}),t&&jsxRuntime.jsx("div",{className:"flex-none relative",onClick:R=>R.stopPropagation(),children:t(e)})]})]})}var Ud=152,gr=10;function Od({index:e,style:t,data:o,skeletonCount:n,renderItemAction:s,onSelectToken:r}){if(!o)return jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Ko,{isLast:e===n-1})});let i=o[e];return i?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(pr,{token:i,isLast:e===o.length-1,renderAction:s,onSelectToken:r})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Ko,{isLast:e===o.length-1})})}function je({title:e,tokens:t,isLoading:o,itemHeight:n=Ud,renderHeaderExtra:s,renderItemAction:r,onSelectToken:i,onPauseChange:a,onScrollingChange:d,className:l,hideHeader:c}){let u=o||!t?void 0:t,m=u?u.length:gr,p=react.useMemo(()=>({data:u,skeletonCount:gr,renderItemAction:r,onSelectToken:i}),[u,r,i]),[g,f]=react.useState(false),k=react.useRef(void 0),x=react.useRef(false),y=react.useCallback(()=>{f(true),a?.(true);},[a]),T=react.useCallback(()=>{f(false),a?.(false);},[a]),S=react.useCallback(()=>{x.current||(x.current=true,d?.(true)),k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{x.current=false,d?.(false);},180);},[d]);return react.useEffect(()=>()=>{k.current&&clearTimeout(k.current),x.current&&d?.(false);},[d]),jsxRuntime.jsxs("div",{className:ui$1.cn("w-full h-full bg-surface-base overflow-hidden flex flex-col border border-border-subtle/60 rounded-lg",l),onMouseEnter:y,onMouseLeave:T,children:[!c&&jsxRuntime.jsx(Yn,{title:e,isPaused:g,extra:s}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",onScrollCapture:S,children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:m,rowHeight:n,rowComponent:Od,rowProps:p,overscanCount:10})})]})}function zo(e,t){let o={...e};for(let n of Object.keys(t))t[n]!==void 0&&(o[n]=t[n]);return o}var Bd=["1m","5m","15m","30m","1h","4h","24h"];function Wd(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let n of Bd)t[n]&&(o[n]=e[n]?zo(e[n],t[n]):t[n]);return o}function Vd(e,t){return t?e?zo(e,t):t:e}function Jt(e,t){return t?e?zo(e,t):t:e}function oe(e,t){let{chain:o,address:n,stats:s,marketData:r,socialMedias:i,security:a,launchedFrom:d,migratedTo:l,...c}=t,u={...e};for(let m of Object.keys(c))c[m]!==void 0&&(u[m]=c[m]);return u.stats=Wd(e.stats,s),u.marketData=Vd(e.marketData,r),u.socialMedias=Jt(e.socialMedias,i),u.security=Jt(e.security,a),u.launchedFrom=Jt(e.launchedFrom,d),u.migratedTo=Jt(e.migratedTo,l),u}function Yt(e,t){let o=new Map(e.map(n=>[n.address,n]));return t.map(n=>{let s=o.get(n.address);return s?oe(s,n):n})}function Kd(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 He(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]=oe(o[r],s),n=true;continue}Kd(s)&&(o.push(s),n=true);}return n?o:e}var qd=["24h","12h","30m","15m","30s","15s","1m","5m","1h","4h","1s"],$d=new Set(["price","marketCap","athMarketCap","tvl","holders","top10Holdings","top10Ratio","top100Holdings","top100Ratio","creatorsHoldings","creatorsRatio","createdAt","launchedFromProtocolFamily","migratedToProtocolFamily","tag"]),zd=new Set(["priceChange","volumes","trades","traders","buys","sells"]);function J(e){if(e==null||e==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}function xr(e){for(let t of qd){if(!e.endsWith(t))continue;let o=e.slice(0,-t.length);return o?{metric:o,resolution:t}:void 0}}function Tr(e){if($d.has(e))return true;let t=xr(e);return t?zd.has(t.metric):false}function Zt(e,t){switch(t){case "price":return J(e.marketData?.priceInUsd);case "marketCap":return J(e.marketData?.marketCapInUsd);case "athMarketCap":return J(e.marketData?.athMarketCapInUsd);case "tvl":return J(e.marketData?.tvlInUsd);case "holders":return J(e.marketData?.holders);case "top10Holdings":return J(e.marketData?.top10Holdings);case "top10Ratio":return J(e.marketData?.top10HoldingsRatio);case "top100Holdings":return J(e.marketData?.top100Holdings);case "top100Ratio":return J(e.marketData?.top100HoldingsRatio);case "creatorsHoldings":return J(e.marketData?.devHoldings);case "creatorsRatio":return J(e.marketData?.devHoldingsRatio);case "createdAt":return e.createdAt?.getTime();case "launchedFromProtocolFamily":return kr(e,e.launchedFrom?.protocolFamily);case "migratedToProtocolFamily":return kr(e,e.migratedTo?.protocolFamily);case "tag":return e.tags?.[0];}let o=xr(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 J(s?.priceChange);case "volumes":return J(s?.volumesInUsd);case "trades":return J(s?.trades);case "traders":return J(s?.traders);case "buys":return J(s?.buys);case "sells":return J(s?.sells);default:return}}function kr(e,t){if(t)return utils.parseTokenProtocolFamily(e.chain,t)??t}var Qd=new Set(["top10Ratio","top100Ratio","creatorsRatio"]);function hr(e){let t=e.trim().toLowerCase();return t.length>0?t:void 0}function Gd(e){return [e.name,e.symbol].filter(Boolean).join(" ").toLowerCase()}function Xd(e){return Array.isArray(e)?e:void 0}function Jd(e){return Array.isArray(e)?void 0:e}function yr(e,t){if(!Qd.has(e))return t;let o=Number(t);return Number.isFinite(o)?o/100:t}function ye(e,t){let o=Jd(t);return o===void 0?void 0:yr(e,o)}function Qo(e,t){return Xd(t)?.map(o=>yr(e,o))}function et(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 jt(e,t){if(typeof e=="number"){let o=Number(t);return Number.isFinite(o)&&e===o}return String(e)===String(t)}function Yd(e,t){if(!Tr(t.field))return false;let o=Zt(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=ye(t.field,t.value);return s!==void 0&&jt(o,s)}case "ne":{let s=ye(t.field,t.value);return s!==void 0&&!jt(o,s)}case "gt":{let s=ye(t.field,t.value),r=s!==void 0?et(o,s):void 0;return r!==void 0&&r>0}case "gte":{let s=ye(t.field,t.value),r=s!==void 0?et(o,s):void 0;return r!==void 0&&r>=0}case "lt":{let s=ye(t.field,t.value),r=s!==void 0?et(o,s):void 0;return r!==void 0&&r<0}case "lte":{let s=ye(t.field,t.value),r=s!==void 0?et(o,s):void 0;return r!==void 0&&r<=0}case "between":{let s=Qo(t.field,t.value);if(!s||s.length<2)return false;let r=et(o,s[0]),i=et(o,s[1]);return r!==void 0&&i!==void 0&&r>=0&&i<=0}case "in":{let s=Qo(t.field,t.value);return s?s.some(r=>jt(o,r)):false}case "nin":{let s=Qo(t.field,t.value);return s?s.every(r=>!jt(o,r)):false}case "contains":{let s=ye(t.field,t.value);return s!==void 0&&String(o).includes(String(s))}case "notContains":{let s=ye(t.field,t.value);return s!==void 0&&!String(o).includes(String(s))}case "startsWith":{let s=ye(t.field,t.value);return s!==void 0&&String(o).startsWith(String(s))}case "endsWith":{let s=ye(t.field,t.value);return s!==void 0&&String(o).endsWith(String(s))}default:return false}}function ce(e,t){let o=t?.keywords?.map(hr).filter(r=>r!==void 0),n=t?.excludeKeywords?.map(hr).filter(r=>r!==void 0),s=t?.filters;return !o?.length&&!n?.length&&!s?.length?e:e.filter(r=>{let i=Gd(r);return !(o?.length&&!o.some(a=>i.includes(a))||n?.length&&n.some(a=>i.includes(a))||s?.length&&!s.every(a=>Yd(r,a)))})}function me({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),a=react.useRef(void 0);n.current=e,s.current=t;let d=react.useCallback(()=>{i.current!==void 0&&(clearTimeout(i.current),i.current=void 0),a.current!==void 0&&(cancelAnimationFrame(a.current),a.current=void 0);},[]),l=react.useCallback(()=>{if(d(),s.current){i.current=setTimeout(l,o);return}let m=r.current;m.length!==0&&(r.current=[],n.current(m));},[d,o]),c=react.useCallback(()=>{i.current!==void 0||a.current!==void 0||(i.current=setTimeout(()=>{i.current=void 0,a.current=requestAnimationFrame(()=>{a.current=void 0,l();});},o));},[l,o]),u=react.useCallback(m=>{m.length!==0&&(r.current.push(...m),c());},[c]);return react.useEffect(()=>{t||l();},[l,t]),react.useEffect(()=>d,[d]),{enqueueUpdates:u,flush:l}}function Cr({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 a=react.useMemo(()=>Array.from(new Set(t.map(c=>c.address.trim()).filter(Boolean))).sort().join(","),[t]),d=react.useMemo(()=>a?a.split(","):[],[a]),l=()=>{r.current.forEach(c=>c()),r.current.clear();};react.useEffect(()=>l,[e,s,n]),react.useEffect(()=>{if(!n){l();return}let c=new Set(d),u=r.current;for(let[m,p]of u)c.has(m)||(p(),u.delete(m));for(let m of d){if(u.has(m))continue;let p=react$1.tokenMarketKey(e,m),g=s.subscribe(p,k=>{k.token&&i.current([k.token]);}),f=s.retain(p);u.set(m,()=>{g(),f();});}},[d,e,n,s]);}var nc=80;function Ir(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 rc(e,t,o){return e===t?o:e===o?t:o||t}function Xo(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:rc(t,e.tokenAAddress,e.tokenBAddress),image:e.dex?.image,programAddress:e.dex?.programAddress,protocolFamily:e.dex?.protocolFamily,protocolName:e.dex?.protocolName}]}}function sc(e){return {...Ir(Xo(e)),...e.token??{},liquidities:Xo(e).liquidities,createdAt:e.token?.createdAt??e.createdAt}}function Ar(e){return e.sort((t,o)=>{let n=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-n}),e.slice(0,nc)}function Mr({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 a=react.useRef(e),[d,l]=react.useState(true),[c,u]=react.useState([]);react.useEffect(()=>{e!==a.current&&(l(true),u([]),a.current=e);},[e]);let{data:m,isPending:p}=react$1.useNewPoolsQuery(r);react.useEffect(()=>{m&&(u(T=>{let S=i.current,h=T.length===0&&m.length>0,b=[...T];for(let w of m){let v=sc(w),N=b.findIndex(F=>F.address===v.address);N>=0?b[N]=oe(b[N],v):(!S||h)&&b.push(v);}return S?b:Ar(b)}),l(false));},[m]);let g=react.useCallback(T=>{u(S=>{let h=i.current,b=[...S],w=false;for(let v of T){let N=b.findIndex(F=>F.address===v.address);N>=0?(w=true,b[N]=oe(b[N],v)):h||(w=true,b.push(Ir(v)));}return w?h?b:Ar(b):S});},[]),{enqueueUpdates:f}=me({applyUpdates:g,paused:n,flushInterval:s}),k=react.useCallback(T=>{f(T.map(Xo));},[f]);react$1.useNewPoolsSubscription({chain:e},k),react$1.useNewTokensMetadataSubscription({chain:e},f),Cr({chain:e,tokens:c,onUpdate:f});let x=react.useMemo(()=>p||d,[p,d]);return {tokens:react.useMemo(()=>ce(c,t),[c,t]),isLoading:x}}function Eh({chain:e,filters:t,title:o,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,className:i,hideHeader:a}){let[d,l]=react.useState(false),[c,u]=react.useState(false),{tokens:m,isLoading:p}=Mr({chain:e,filters:t,isPaused:d,deferUpdates:c}),g=react.useCallback(f=>{l(f);},[]);return jsxRuntime.jsx(je,{title:o,tokens:m,isLoading:p,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,onPauseChange:g,onScrollingChange:u,className:i,hideHeader:a})}function be({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 a=react.useMemo(()=>Array.from(new Set(t.map(c=>c.address.trim()).filter(Boolean))).sort().join(","),[t]),d=react.useMemo(()=>a?a.split(","):[],[a]),l=()=>{r.current.forEach(c=>c()),r.current.clear();};react.useEffect(()=>l,[e,s,n]),react.useEffect(()=>{if(!n){l();return}let c=new Set(d),u=r.current;for(let[m,p]of u)c.has(m)||(p(),u.delete(m));for(let m of d){if(u.has(m))continue;let p=react$1.tokenMarketKey(e,m),g=s.subscribe(p,k=>{k.token&&i.current([k.token]);}),f=s.retain(p);u.set(m,()=>{g(),f();});}},[d,e,n,s]);}function Wr({chain:e,filters:t,isPaused:o=false,refetchInterval:n=3e4,deferUpdates:s=false,updateFlushInterval:r}){let i=react.useMemo(()=>({chain:e}),[e]),a=react.useRef(o);a.current=o;let d=react.useRef(e),[l,c]=react.useState(true),[u,m]=react.useState([]);react.useEffect(()=>{e!==d.current&&(c(true),m([]),d.current=e);},[e]);let{data:p,isPending:g}=react$1.useMigratedTokensQuery(i,{refetchInterval:n});react.useEffect(()=>{p&&(m(T=>{let S=a.current,h=[...T];for(let b of p){let w=h.findIndex(v=>v.address===b.address);w>=0?h[w]=oe(h[w],b):S||h.unshift(b);}return h}),c(false));},[p]);let f=react.useCallback(T=>{m(S=>He(S,T));},[]),{enqueueUpdates:k}=me({applyUpdates:f,paused:s,flushInterval:r});be({chain:e,tokens:u,onUpdate:k});let x=react.useMemo(()=>g||l,[g,l]);return {tokens:react.useMemo(()=>ce(u,t),[u,t]),isLoading:x}}function ty({chain:e,filters:t,title:o,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,className:i,hideHeader:a}){let[d,l]=react.useState(false),[c,u]=react.useState(false),{tokens:m,isLoading:p}=Wr({chain:e,filters:t,isPaused:d,deferUpdates:c}),g=react.useCallback(f=>{l(f);},[]);return jsxRuntime.jsx(je,{title:o,tokens:m,isLoading:p,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,onPauseChange:g,onScrollingChange:u,className:i,hideHeader:a})}function kc(e){return e.sort((t,o)=>{let n=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-n})}function $r({chain:e,filters:t,isPaused:o=false,refetchInterval:n=15e3,deferUpdates:s=false,updateFlushInterval:r}){let i=react.useMemo(()=>({chain:e}),[e]),a=react.useRef(o);a.current=o;let d=react.useRef(e),[l,c]=react.useState(true),[u,m]=react.useState([]);react.useEffect(()=>{e!==d.current&&(c(true),m([]),d.current=e);},[e]);let{data:p,isPending:g}=react$1.useFinalStretchTokensQuery(i,{refetchInterval:n});react.useEffect(()=>{p&&(m(T=>{let S=a.current,h=T.length===0&&p.length>0,b=[...T];for(let w of p){let v=b.findIndex(N=>N.address===w.address);v>=0?b[v]=oe(b[v],w):(!S||h)&&b.push(w);}return S?b:kc(b)}),c(false));},[p]);let f=react.useCallback(T=>{m(S=>He(S,T));},[]),{enqueueUpdates:k}=me({applyUpdates:f,paused:s,flushInterval:r});be({chain:e,tokens:u,onUpdate:k});let x=react.useMemo(()=>g||l,[g,l]);return {tokens:react.useMemo(()=>ce(u,t),[u,t]),isLoading:x}}function gy({chain:e,filters:t,title:o,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,className:i,hideHeader:a}){let[d,l]=react.useState(false),[c,u]=react.useState(false),{tokens:m,isLoading:p}=$r({chain:e,filters:t,isPaused:d,deferUpdates:c}),g=react.useCallback(f=>{l(f);},[]);return jsxRuntime.jsx(je,{title:o,tokens:m,isLoading:p,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,onPauseChange:g,onScrollingChange:u,className:i,hideHeader:a})}var Nc=10,Cc="liberfi:search_histories";function bt(){return search.createBrowserSearchHistoryStorage({key:Cc,fallback:search.createMemorySearchHistoryStorage()})}function wc(e,t){return e.length===t.length&&e.every((o,n)=>o===t[n])}function Gr(){let e=react.useMemo(()=>bt(),[]),t=react.useRef(e.read()),o=()=>{let i=e.read();return wc(t.current,i)?t.current:(t.current=i,i)},n=react.useSyncExternalStore(e.subscribe,o,o),s=react.useCallback(i=>{let a=i.trim();if(!a)return;let d=e.read().filter(l=>l!==a);e.write([a,...d].slice(0,Nc));},[e]),r=react.useCallback(()=>{e.clear();},[e]);return {histories:n,addHistory:s,clearHistories:r}}function Yr({histories:e,onSelect:t,onClear:o,className:n}){let{t:s}=i18n.useTranslation();return e.length===0?null:jsxRuntime.jsxs("div",{className:ui$1.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$1.Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-text-muted",onPress:o,children:jsxRuntime.jsx(ui$1.TrashIcon,{width:20,height:20})})]}),jsxRuntime.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(r=>jsxRuntime.jsx(ui$1.Chip,{size:"sm",variant:"bordered",className:ui$1.cn("text-text-muted","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(r),children:jsxRuntime.jsx("span",{children:r})},r))})]})}function Zr({onSelect:e,histories:t,onClear:o,className:n}){let s=Gr(),r=t?[...t]:s.histories,i=o??s.clearHistories;return jsxRuntime.jsx(Yr,{className:ui$1.cn(n),histories:r,onSelect:e,onClear:i})}var Bc=["ArrowDown","ArrowUp","Enter","Escape"];function Wc(e){return Bc.includes(e)}function jr({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$1.StyledInput,{autoFocus:true,variant:"bordered",radius:"full",value:e,onValueChange:t,onKeyDown:a=>{Wc(a.key)&&(a.key!=="Escape"&&a.preventDefault(),s?.(a.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$1.SearchIcon,{width:20,height:20,className:"text-text-muted"}),endContent:e?jsxRuntime.jsx(ui$1.Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-text-muted",onPress:o,children:jsxRuntime.jsx(ui$1.XCloseIcon,{width:20,height:20})}):jsxRuntime.jsx(ui$1.Kbd,{className:"min-w-8 justify-center text-xs text-text-muted bg-transparent border border-border-control/50 rounded-full cursor-pointer select-none",onMouseDown:a=>{a.preventDefault(),n?.();},children:"ESC"})})})}function to({token:e,highlighted:t=false,className:o}){let{t:n}=i18n.useTranslation(),{formatAge:s}=i18n.useLocalizedTimeFormatter(),r=hooks.useTickAge(e.createdAt),i=react.useMemo(()=>e.marketData?.priceInUsd,[e]),a=react.useMemo(()=>e.marketData?.marketCapInUsd,[e]),d=react.useMemo(()=>e.marketData?.tvlInUsd,[e]),l=react.useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),c=react.useMemo(()=>l?new utils.SafeBigNumber(l).abs().toString():void 0,[l]),u=react.useMemo(()=>l!=null&&new utils.SafeBigNumber(l).gte(0),[l]);return jsxRuntime.jsxs("div",{className:ui$1.cn("w-full h-full px-3 flex items-center justify-between gap-2","hover:cursor-pointer hover:bg-content2 rounded-lg",t&&"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(he,{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:s(r)})]}),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(a)]}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsxs("span",{children:[n("tokens.listHeader.liqShort")," ",utils.formatAmountInUsd(d)]})]})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsxRuntime.jsx("span",{className:"text-xs",children:utils.formatPriceInUsd(i)}),jsxRuntime.jsxs("span",{className:ui$1.cn("inline-flex gap-0.5 items-center text-xs",u?"text-positive":"text-negative"),children:[u?jsxRuntime.jsx(ui$1.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui$1.TriangleDownIcon,{width:8,height:8}),jsxRuntime.jsx("span",{children:utils.formatPercent(c)})]})]})]})}function oo({className:e}){let{t}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui$1.cn("h-9 px-3 flex items-center justify-between","text-xs font-medium text-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 jc(){return jsxRuntime.jsxs("div",{className:"w-full h-14 px-3 flex items-center justify-between gap-2",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[jsxRuntime.jsx(ui$1.Skeleton,{className:"flex-none w-8 h-8 rounded-full"}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxRuntime.jsx(ui$1.Skeleton,{className:"w-24 h-4 rounded-md"}),jsxRuntime.jsx(ui$1.Skeleton,{className:"w-36 h-3 rounded-md"})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end gap-1.5",children:[jsxRuntime.jsx(ui$1.Skeleton,{className:"w-14 h-4 rounded-md"}),jsxRuntime.jsx(ui$1.Skeleton,{className:"w-10 h-3 rounded-md"})]})]})}function ro({rows:e=6,className:t}){return jsxRuntime.jsx("div",{className:ui$1.cn("w-full",t),children:Array.from({length:e}).map((o,n)=>jsxRuntime.jsx(jc,{},n))})}function rs({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:a,fetchNextPage:d}=react$1.useSearchTokensInfiniteQuery(n,{enabled:!!e}),l=react.useMemo(()=>s?.pages.flatMap(c=>c.data)??[],[s]);return {tokens:l,items:l,isLoading:r,isFetchingNextPage:i,hasNextPage:a??false,fetchNextPage:d}}var cm=56;function as({onSelectToken:e,className:t,navigationRef:o,onEscape:n,...s}){let{tokens:r,isLoading:i,isFetchingNextPage:a,hasNextPage:d,fetchNextPage:l}=rs(s),c=react.useRef(null),{height:u}=hooks.useResizeObserver({ref:c}),m=react.useCallback(y=>y<r.length,[r]),p=react.useCallback(async()=>{d&&!a&&await l();},[d,a,l]),g=react.useMemo(()=>d?r.length+1:r.length,[r,d]),f=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:m,loadMoreRows:p,rowCount:g,threshold:5}),k=i?0:r.length,x=search.useSearchKeyboardNavigation({itemCount:k,hasNextPage:d&&!i,isFetchingNextPage:a,onSelectIndex:y=>{let T=r[y];T&&e?.(T);},onRequestNextPage:()=>{d&&!a&&l();},onEscape:()=>n?.()});return o&&(o.current=x),react.useEffect(()=>()=>{o&&o.current===x&&(o.current=null);},[x,o]),react.useEffect(()=>{x.reset();},[s.keyword,x]),i?jsxRuntime.jsxs("div",{className:ui$1.cn("w-full",t),children:[jsxRuntime.jsx(oo,{}),jsxRuntime.jsx(ro,{})]}):r.length===0?jsxRuntime.jsxs("div",{className:ui$1.cn("w-full",t),children:[jsxRuntime.jsx(oo,{}),jsxRuntime.jsx(um,{})]}):jsxRuntime.jsxs("div",{className:ui$1.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(oo,{className:"flex-none"}),jsxRuntime.jsx("div",{className:"flex-auto min-h-0",ref:c,children:jsxRuntime.jsx(reactWindow.List,{style:{height:u},onRowsRendered:f,rowComponent:mm,rowCount:g,rowHeight:cm,rowProps:{tokens:r,onSelectToken:e,highlightedIndex:x.highlightedIndex},overscanCount:5})})]})}function mm({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(to,{token:r,highlighted:s===e})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui$1.Spinner,{size:"sm"})})}function um(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center py-16",children:[jsxRuntime.jsx(ui$1.EmptyIcon,{width:28,height:28,className:"text-text-muted"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-text-muted",children:e("tokens.search.noResults")})]})}function pm(e,t){return typeof e=="number"&&typeof t=="number"?e-t:String(e).localeCompare(String(t))}function rt(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:Zt(r,o)}));return s.every(({value:r})=>r===void 0)?e:s.sort((r,i)=>{let a=r.value===void 0,d=i.value===void 0;if(a&&d)return r.index-i.index;if(a)return 1;if(d)return -1;let l=pm(r.value,i.value);return l===0?r.index-i.index:n==="asc"?l:-l}).map(({token:r})=>r)}function ao({chain:e,resolution:t,filters:o,sortDirections:n,subscriptionTokens:s=[],refetchInterval:r=3e4,deferUpdates:i=false,updateFlushInterval:a}){let d=react.useMemo(()=>({chain:e,resolution:t}),[e,t]),l=react.useRef(d),[c,u]=react.useState(true);react.useEffect(()=>{JSON.stringify(d)!==JSON.stringify(l.current)&&(u(true),p([]),l.current=d);},[d]);let[m,p]=react.useState([]),{data:g,isPending:f}=react$1.useTrendingTokensQuery(d,{refetchInterval:r});react.useEffect(()=>{g&&(p(h=>Yt(h,g)),u(false));},[g]);let k=react.useCallback(h=>{p(b=>He(b,h));},[]),{enqueueUpdates:x}=me({applyUpdates:k,paused:i,flushInterval:a});react$1.useTrendingTokensSubscription({chain:e},x),be({chain:e,tokens:s.filter(h=>h.chain===e),onUpdate:x});let y=react.useMemo(()=>!!(f||c),[f,c]),T=react.useMemo(()=>ce(m,o),[m,o]);return {tokens:react.useMemo(()=>rt(T,n),[T,n]),isLoading:y}}var ym=types.Chain.ETHEREUM,bm="24h",vm=56;function cs({chains:e,onSelectToken:t,className:o}){let n=e?.length===1?e[0]:e?.[0]??ym,{tokens:s,isLoading:r}=ao({chain:n,resolution:bm});return jsxRuntime.jsx("div",{className:ui$1.cn("w-full flex flex-col overflow-hidden",o),children:r?jsxRuntime.jsx(ro,{}):jsxRuntime.jsx("div",{className:"overflow-y-auto",children:s.map(i=>jsxRuntime.jsx("div",{style:{height:vm},onClick:()=>t?.(i),children:jsxRuntime.jsx(to,{token:i,className:"h-full"})},i.address))})})}function ps({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:n}){let s=react.useMemo(()=>bt(),[]),r=search.useSearchController({storage:s,onQueryChange:t??ms,onDismiss:n??ms}),i=react.useRef(null),a=r.dismiss,d=react.useCallback(l=>{if(i.current){i.current.onKey(l);return}l==="Escape"&&a();},[a]);return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(jr,{value:r.text,onValueChange:r.setText,onClear:r.clearQuery,onEscape:r.dismiss,onNavigateKey:d}),r.query?jsxRuntime.jsx(as,{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(Zr,{histories:r.history,onSelect:r.commitQuery,onClear:r.clearHistory}),jsxRuntime.jsx(cs,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}function ms(){}var en="search";function ov({id:e=en}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(Om,{...t})})}function Om({params:e,isOpen:t,onOpenChange:o,onResult:n}){let{t:s}=i18n.useTranslation(),{isMobile:r}=ui$1.useScreen(),i=react.useCallback(a=>{n(a);},[n]);return jsxRuntime.jsx(ui$1.StyledModal,{isOpen:t,onOpenChange:o,size:r?"full":"lg",hideCloseButton:true,backdrop:"opaque",radius:"lg",children:jsxRuntime.jsxs(ui$1.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$1.ModalHeader,{className:"sm:hidden flex items-center justify-between pt-4 pb-2",children:[jsxRuntime.jsx("span",{className:"text-base font-semibold",children:s("tokens.search.title")}),jsxRuntime.jsx(ui$1.Button,{isIconOnly:true,onPress:()=>o(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsxRuntime.jsx(ui$1.XCloseIcon,{width:20,height:20})})]}),jsxRuntime.jsx(ui$1.ModalBody,{className:"p-4",children:jsxRuntime.jsx(ps,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function mv({chains:e,onSelectToken:t,className:o}){let{t:n}=i18n.useTranslation(),{isDesktop:s}=ui$1.useScreen(),{onOpen:r,onClose:i}=uiScaffold.useAsyncModal(en),a=hooks.useCallbackRef(t),d=hooks.useCallbackRef(async()=>{let c=await r({params:{chains:e}});c&&a(c);}),l=hooks.useCallbackRef(()=>{i();});return react.useEffect(()=>{let c=u=>{let m=document.activeElement,p=!!m&&(m.tagName==="INPUT"||m.tagName==="TEXTAREA"||m.getAttribute("contenteditable")==="true");u.key==="/"&&!p&&(u.preventDefault(),d()),u.key==="Escape"&&(u.preventDefault(),l());};return window.addEventListener("keydown",c),()=>{window.removeEventListener("keydown",c);}},[d,l]),s?jsxRuntime.jsx(ui$1.Button,{size:"sm",radius:"full",onPress:d,variant:"bordered",startContent:jsxRuntime.jsx(ui$1.SearchIcon,{width:16,height:16,className:"text-foreground"}),endContent:jsxRuntime.jsx(ui$1.Kbd,{className:"min-w-6 justify-center text-xs text-foreground bg-content3 rounded-lg",children:"/"}),className:ui$1.cn("w-56 min-w-0 h-8 min-h-0 border-transparent hover:border-border bg-content2 pl-3 pr-1.5 text-text-muted",o),children:n("tokens.search.placeholder")}):jsxRuntime.jsx(ui$1.Button,{size:"sm",radius:"full",isIconOnly:true,onPress:d,variant:"bordered",className:ui$1.cn("w-8 min-w-0 h-8 min-h-0 border-1 border-border bg-content2",o),children:jsxRuntime.jsx(ui$1.SearchIcon,{width:16,height:16,className:"text-foreground"})})}var Ts=()=>{};function xv({onKeywordChange:e}){let t=react.useMemo(()=>bt(),[]),o=search.useSearchController({storage:t,onQueryChange:e??Ts,onDismiss:Ts});return {text:o.text,keyword:o.query,setText:o.setText,setKeyword:o.commitQuery,clearKeyword:o.clearQuery}}function Ct(e){return e==null||e===""?"--":utils.formatPercent(Number(e)/100)}function ve(e,t=4,o=4){return e?e.length<=t+o+1?e:`${e.slice(0,t)}\u2026${e.slice(-o)}`:"--"}function Ie(e,t,o=Date.now()){if(e==null)return "--";let n=typeof e=="string"||typeof e=="number"?new Date(e):e,s=typeof o=="number"?new Date(o):o;return t(Math.max(0,s.getTime()-n.getTime()))}function O(e,t){let{token:o,isLoading:n}=react$1.useTokenMarket({chain:e,address:t});return {token:o,isLoading:n}}function st({label:e,totalFormatted:t,buysFormatted:o,sellsFormatted:n,totalValue:s=0,buysValue:r=0,className:i}){let{t:a}=i18n.useTranslation(),d=new utils.SafeBigNumber(s??0),l=new utils.SafeBigNumber(r??0),c=d.eq(0)?0:l.div(d).times(100).toNumber();return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-1",i),children:[jsxRuntime.jsxs("div",{className:"flex items-baseline justify-between",children:[jsxRuntime.jsx("span",{className:"text-xs text-text-muted",children:e}),jsxRuntime.jsx("span",{className:"text-xs text-foreground",children:t})]}),jsxRuntime.jsx(ui$1.Progress,{size:"sm",value:c,classNames:{track:"bg-negative/40",indicator:"bg-positive"},"aria-label":a("tokens.tokenDetail.buyShare",{label:e})}),jsxRuntime.jsxs("div",{className:"flex justify-between gap-4 text-[10px]",children:[jsxRuntime.jsx("span",{className:"text-positive",children:a("tokens.tokenDetail.buys",{value:o})}),jsxRuntime.jsx("span",{className:"text-negative",children:a("tokens.tokenDetail.sells",{value:n})})]})]})}function ys({token:e,actions:t,dataStrip:o,className:n,onCopyAddress:s}){let r=e?.address;return jsxRuntime.jsxs("div",{className:ui$1.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(he,{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:[ve(r,6,6),jsxRuntime.jsx(ui$1.CopyIcon,{width:12,height:12})]})]})]}),o&&jsxRuntime.jsx("div",{className:"flex-1 min-w-0",children:o}),t&&jsxRuntime.jsx("div",{className:"ml-auto flex items-center gap-2",children:t})]})}function bs(e,t){return O(e,t)}function Ss({price:e,marketCap:t,volume:o,holdersCount:n,socialMedia:s,className:r}){return jsxRuntime.jsxs("div",{className:ui$1.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 sS(e,t){return O(e,t)}function Cs({holders:e,top10HoldingsRatio:t,top100HoldingsRatio:o,className:n}){let{t:s}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui$1.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:Ct(t)}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:Ct(o)})]}),jsxRuntime.jsx("div",{className:"text-[10px] text-text-muted",children:s("tokens.tokenDetail.holdersSummary")})]})}function ws(e,t){return O(e,t)}function Ls({chain:e,address:t,className:o}){let{token:n}=ws(e,t);return jsxRuntime.jsx(Cs,{holders:n?.marketData?.holders,top10HoldingsRatio:n?.marketData?.top10HoldingsRatio,top100HoldingsRatio:n?.marketData?.top100HoldingsRatio,className:o})}function Rs({marketCapInUsd:e,tvlInUsd:t,createdAt:o,className:n}){let{t:s}=i18n.useTranslation(),{formatAge:r}=i18n.useLocalizedTimeFormatter();return jsxRuntime.jsxs("div",{className:ui$1.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:Ie(o,r)})]}),jsxRuntime.jsx("div",{className:"text-[10px] text-text-muted",children:s("tokens.tokenDetail.marketCapSummary")})]})}function As(e,t){return O(e,t)}function Is({chain:e,address:t,className:o}){let{token:n}=As(e,t);return jsxRuntime.jsx(Rs,{marketCapInUsd:n?.marketData?.marketCapInUsd,tvlInUsd:n?.marketData?.tvlInUsd,createdAt:n?.createdAt,className:o})}function Ds({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),a=new utils.SafeBigNumber(t);return a.lte(0)?{bearish:false,priceChange:void 0}:{bearish:i.lt(a),priceChange:i.minus(a).div(a).abs().toNumber()}},[e,t]);return jsxRuntime.jsxs("div",{className:ui$1.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 Fs(e,t){return O(e,t)}function Us({chain:e,address:t,className:o}){let{token:n}=Fs(e,t);return jsxRuntime.jsx(Ds,{priceInUsd:n?.marketData?.priceInUsd,price24hAgoInUsd:n?.stats?.["24h"]?.openPriceInUsd,className:o})}function bu(e,t){switch(e){case "website":return jsxRuntime.jsx(ui$1.WebsiteIcon,{width:t,height:t});case "twitter":return jsxRuntime.jsx(ui$1.TwitterIcon,{width:t,height:t});case "telegram":return jsxRuntime.jsx(ui$1.TelegramIcon,{width:t,height:t});case "discord":return jsxRuntime.jsx(ui$1.DiscordIcon,{width:t,height:t});default:return jsxRuntime.jsx("span",{className:"text-[9px] font-medium uppercase",children:e.slice(0,2)})}}function Os({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$1.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:bu(r,o)},r))})}function Es(e,t){return O(e,t)}function Bs({chain:e,address:t,className:o,iconSize:n}){let{token:s}=Es(e,t);return jsxRuntime.jsx(Os,{socials:s?.socialMedias,className:o,iconSize:n})}function Ks({volumesInUsd:e,trades:t,traders:o,className:n}){let{t:s}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui$1.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 _s(e,t){return O(e,t)}function qs({chain:e,address:t,className:o}){let{token:n}=_s(e,t),s=n?.stats?.["24h"];return jsxRuntime.jsx(Ks,{volumesInUsd:s?.volumesInUsd,trades:s?.trades,traders:s?.traders,className:o})}function $s({chain:e,address:t,className:o}){return jsxRuntime.jsx(Ss,{className:o,price:jsxRuntime.jsx(Us,{chain:e,address:t}),marketCap:jsxRuntime.jsx(Is,{chain:e,address:t}),volume:jsxRuntime.jsx(qs,{chain:e,address:t}),holdersCount:jsxRuntime.jsx(Ls,{chain:e,address:t}),socialMedia:jsxRuntime.jsx(Bs,{chain:e,address:t})})}function qN({chain:e,address:t,actions:o,dataStrip:n,className:s,onCopyAddress:r}){let{token:i}=bs(e,t);return jsxRuntime.jsx(ys,{token:i,actions:o,dataStrip:n===void 0?jsxRuntime.jsx($s,{chain:e,address:t}):n,className:s,onCopyAddress:r})}var Iu=["holdingUsd","lastActiveAt"];function Gs({holders:e,isLoading:t,sortBy:o,sortDirection:n,onSortByChange:s,onlyTracked:r=false,onOnlyTrackedChange:i,onLoadMore:a,hasMore:d,now:l=Date.now(),wellKnownAddresses:c,className:u,renderAddress:m}){let{t:p}=i18n.useTranslation(),g=r?e.filter(f=>f.tags&&f.tags.length>0):e;return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col",u),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:Iu.map(f=>jsxRuntime.jsx("button",{type:"button",onClick:()=>s(f,n??"desc"),className:ui$1.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:[g.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")})}),g.map(f=>jsxRuntime.jsx(Mu,{holder:f,now:l,wellKnownAddresses:c,renderAddress:m},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")})})]})]})}),d&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.jsx("button",{type:"button",onClick:a,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 Mu({holder:e,now:t,wellKnownAddresses:o,renderAddress:n}){let{formatAge:s}=i18n.useLocalizedTimeFormatter(),r=o?.[e.address],i=react.useMemo(()=>n?n(e.address):r?jsxRuntime.jsx("span",{className:"rounded bg-default-100 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-text-muted",children:r}):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-text-muted",children:ve(e.address,6,6)}),[e.address,n,r]);return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:i}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(qt,{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:Ct(e.ratio)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:e.startHoldingAt?Ie(e.startHoldingAt,s,t):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:e.lastActiveAt?Ie(e.lastActiveAt,s,t):"--"})]})}function Ys({chain:e,address:t,limit:o=50,initialSortBy:n,initialSortDirection:s}){let[r,i]=react.useState(n),[a,d]=react.useState(s),[l,c]=react.useState(void 0),[u,m]=react.useState([]),p=react.useCallback(()=>{c(void 0),m([]);},[]),g=react.useCallback((N,F)=>{N===r&&F===a||(i(N),d(F),p());},[p,r,a]),f=react.useCallback(N=>{g(N,a??"desc");},[g,a]),k=react.useCallback(N=>{N!==a&&(d(N),p());},[p,a]);react.useEffect(()=>{p();},[e,t,p]);let x=react.useMemo(()=>({chain:e,address:t,cursor:l,limit:o,sortBy:r,sortDirection:a}),[e,t,l,o,r,a]),{data:y,isPending:T,isFetching:S}=react$1.useTokenHoldersQuery(x);react.useEffect(()=>{y&&m(N=>l==null?[y]:N[N.length-1]?.endCursor===y.endCursor?N:[...N,y]);},[y,l]),react$1.useTokenSubscription({chain:e,address:t},()=>{});let h=react.useMemo(()=>u.flatMap(N=>N.data),[u]),b=u[u.length-1],w=!!(b?.hasNext&&b.endCursor),v=react.useCallback(()=>{!b?.endCursor||!b.hasNext||c(b.endCursor);},[b]);return {holders:h,isLoading:T||S,sortBy:r,sortDirection:a,setSortBy:f,setSort:g,setSortDirection:k,hasMore:w,loadMore:v}}function uC({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s,initialOnlyTracked:r=false,wellKnownAddresses:i,className:a,renderAddress:d}){let[l,c]=react.useState(r),{holders:u,isLoading:m,sortBy:p,sortDirection:g,setSort:f,hasMore:k,loadMore:x}=Ys({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s});return jsxRuntime.jsx(Gs,{holders:u,isLoading:m,sortBy:p,sortDirection:g,onSortByChange:f,onlyTracked:l,onOnlyTrackedChange:c,wellKnownAddresses:i,hasMore:k,onLoadMore:x,className:a,renderAddress:d})}var Vu=["timestamp","totalUsd"],Ku=["all","buy","sell"],_u=["all","dev","tracked","you"];function Zs({activities:e,isLoading:t,sortBy:o,sortDirection:n="desc",onSortByChange:s,typeFilter:r="all",onTypeFilterChange:i,traderFilter:a="all",onTraderFilterChange:d,youWalletAddress:l,currency:c="usd",onCurrencyChange:u,onLoadMore:m,hasMore:p,now:g=Date.now(),nativeDecimals:f=9,nativeSymbol:k="SOL",className:x,onRowClick:y}){let{t:T}=i18n.useTranslation(),S=$u(e,a,l);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col",x),children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[Ku.map(h=>jsxRuntime.jsx("button",{type:"button",onClick:()=>i?.(h),className:ui$1.cn("rounded px-2 py-1 text-[11px] transition-colors",r===h?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground"),children:T(h==="all"?"tokens.tokenDetail.filter.all":h==="buy"?"tokens.tokenDetail.filter.buys":"tokens.tokenDetail.filter.sells")},h)),jsxRuntime.jsx("span",{className:"mx-1 h-3 w-px bg-default-200","aria-hidden":true}),_u.map(h=>{let b=a===h,w=h==="you"&&!l;return jsxRuntime.jsx("button",{type:"button",disabled:w,onClick:()=>d?.(h),className:ui$1.cn("rounded px-2 py-1 text-[11px] transition-colors",b?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground",w&&"cursor-not-allowed opacity-50"),children:T(`tokens.tokenDetail.filter.${h}`)},h)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(zu,{value:c,nativeSymbol:k,onChange:u}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:Vu.map(h=>{let b=o===h,w=b&&n==="desc"?"asc":b&&n==="asc"?void 0:"desc",v=w?h:void 0;return jsxRuntime.jsx("button",{type:"button",onClick:()=>s(v,w),className:ui$1.cn("rounded px-2 py-1 text-[11px] transition-colors",b?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground"),children:T(h==="timestamp"?"tokens.tokenDetail.filter.latest":"tokens.tokenDetail.filter.topUsd")},h)})})]})]}),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:[S.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")})}),S.map(h=>jsxRuntime.jsx(Gu,{activity:h,now:g,nativeDecimals:f,nativeSymbol:k,currency:c,onRowClick:y},h.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:m,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 qu(e){return e.type==="buy"?e.to:e.type==="sell"?e.from:e.to}function $u(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 zu({value:e,nativeSymbol:t,onChange:o}){return jsxRuntime.jsx("div",{className:"flex h-[22px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(s=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(s.k),className:ui$1.cn("rounded px-2 transition-colors",e===s.k?"bg-default-200 text-foreground":"text-text-muted hover:text-foreground"),children:s.label},s.k))})}function Qu(e,t,o){if(!e)return "--";let n=Number(e)/Math.pow(10,t);return Number.isFinite(n)?`${utils.formatAmount(n)} ${o}`:"--"}function Gu({activity:e,now:t,nativeDecimals:o,nativeSymbol:n,currency:s,onRowClick:r}){let{formatAge:i}=i18n.useLocalizedTimeFormatter(),a=qu(e),d=e.type==="buy"?"Buy":e.type==="sell"?"Sell":e.type.replace(/_/g," "),l=e.type==="buy"?"text-positive":e.type==="sell"?"text-negative":"text-text-muted";return jsxRuntime.jsxs("tr",{className:ui$1.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$1.cn("px-3 py-2 align-middle font-medium capitalize",l),children:d}),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:ve(e.walletAddress,6,6)}),jsxRuntime.jsx(tr,{tags:e.traderTags,max:2})]})}),jsxRuntime.jsxs("td",{className:"px-3 py-2 text-right align-middle",children:[utils.formatAmount(a.amount)," ",a.symbol]}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s==="native"&&a.amountInNative?`${utils.formatAmount(a.amountInNative)} ${a.symbol}`:a.amountInUsd?utils.formatAmountInUsd(a.amountInUsd):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:a.priceInUsd?`$${utils.formatPrice(a.priceInUsd)}`:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:Qu(e.gasFee,o,n)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:Ie(e.time,i,t)})]})}var Xu=500;function ln({sortBy:e,sortDirection:t,typeFilter:o}){return {getKey:an,compare:(n,s)=>Zu(n,s,e,t),include:n=>Yu(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:Xu}}function oi(e){return Object.freeze({cursor:null,generation:e,mode:"replace"})}function ni(e=ln({sortDirection:"desc",typeFilter:"all"})){let{snapshot:t}=realtimeCursorCollection.createRealtimeCursorCollection(e);return {collection:t,request:oi(t.generation)}}function Rt(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:oi(s.generation)}}case "load-more":return Ju(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 Ju(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 Yu(e,t){return t==="all"?true:e.type===t}function Zu(e,t,o,n){let r=(o??"timestamp")==="totalUsd"?sn(ei(e),ei(t)):sn(mo(e),mo(t)),i=js(r,n);if(i!==0)return i;let a=js(sn(mo(e),mo(t)),"desc");return a!==0?a:an(e).localeCompare(an(t))}function js(e,t){return t==="asc"?e:-e}function sn(e,t){return e<t?-1:e>t?1:0}function mo(e){let t=e.time instanceof Date?e.time.getTime():new Date(e.time).getTime();return Number.isFinite(t)?t:0}function ei(e){let t=e.type==="sell"?e.from:e.to,o=Number(t.amountInUsd);return Number.isFinite(o)?o:0}function an(e){return e.txHash}function ii({chain:e,address:t,limit:o=50,initialSortBy:n,initialSortDirection:s="desc",initialTypeFilter:r="all"}){let[i,a]=react.useState(n),[d,l]=react.useState(s),[c,u]=react.useState(r),m=react.useMemo(()=>ln({sortBy:i,sortDirection:d,typeFilter:c}),[i,d,c]),p=react.useRef(m);p.current=m;let[g,f]=react.useState(()=>ni(m)),k=react.useRef(true),x=react.useCallback(()=>{f(V=>Rt(V,{type:"reset"},p.current));},[]),y=react.useCallback((V,Te)=>{let G=Te??(V===i?d:"desc");V===i&&G===d||(a(V),l(G),x());},[i,d,x]),T=react.useCallback(V=>{V!==d&&(l(V),x());},[d,x]),S=react.useCallback(V=>{V!==c&&(u(V),x());},[c,x]);react.useEffect(()=>{if(k.current){k.current=false;return}x();},[e,t,x]);let h=c==="all"?void 0:c,{collection:b,request:w}=g,v=react.useMemo(()=>({chain:e,address:t,cursor:w.cursor??void 0,limit:o,sortBy:i,sortDirection:d,type:h}),[e,t,w,o,i,d,h]),{data:N,isPending:F,isFetching:fe}=react$1.useTokenActivitiesQuery(v);react.useEffect(()=>{N&&f(V=>Rt(V,{type:"page",request:w,items:N.data,nextCursor:N.endCursor??null,hasNextPage:!!N.hasNext},m));},[N,w,m]),react$1.useTokenActivitiesSubscription({chain:e,address:t},V=>{V?.length&&f(Te=>Rt(Te,{type:"live",items:V},m));});let Y=react.useMemo(()=>b.items.slice(),[b]),R=!!(b.hasNextPage&&b.nextCursor),ae=react.useCallback(()=>{f(V=>Rt(V,{type:"load-more"},m));},[m]);return {activities:Y,isLoading:F||fe,sortBy:i,sortDirection:d,setSortBy:y,setSortDirection:T,typeFilter:c,setTypeFilter:S,hasMore:R,loadMore:ae}}function FC({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s,initialTypeFilter:r,initialTraderFilter:i="all",initialCurrency:a="usd",youWalletAddress:d,nativeDecimals:l,nativeSymbol:c,className:u,onRowClick:m}){let[p,g]=react.useState(i),[f,k]=react.useState(a),{activities:x,isLoading:y,sortBy:T,sortDirection:S,setSortBy:h,typeFilter:b,setTypeFilter:w,hasMore:v,loadMore:N}=ii({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s,initialTypeFilter:r});return jsxRuntime.jsx(Zs,{activities:x,isLoading:y,sortBy:T,sortDirection:S,onSortByChange:h,typeFilter:b,onTypeFilterChange:w,traderFilter:p,onTraderFilterChange:g,youWalletAddress:d,currency:f,onCurrencyChange:k,hasMore:v,onLoadMore:N,className:u,nativeDecimals:l,nativeSymbol:c,onRowClick:m})}function li({stats:e,resolution:t,className:o}){let{t:n}=i18n.useTranslation(),s=e?.[t],r=s?.traders??0,i=s?.buyers??0,a=s?.sellers??0;return jsxRuntime.jsx(st,{className:o,label:n("tokens.listHeader.traders",{resolution:n(`common.resolution.${t}`)}),totalFormatted:utils.formatAmount(r),buysFormatted:utils.formatAmount(i),sellsFormatted:utils.formatAmount(a),totalValue:r,buysValue:i})}function di(e,t){return O(e,t)}function YC({chain:e,address:t,resolution:o="24h",className:n}){let{token:s}=di(e,t);return jsxRuntime.jsx(li,{stats:s?.stats,resolution:o,className:n})}function ci({stats:e,resolution:t,className:o}){let{t:n}=i18n.useTranslation(),s=e?.[t],r=s?.trades??0,i=s?.buys??0,a=s?.sells??0;return jsxRuntime.jsx(st,{className:o,label:n("tokens.listHeader.txs",{resolution:n(`common.resolution.${t}`)}),totalFormatted:utils.formatAmount(r),buysFormatted:utils.formatAmount(i),sellsFormatted:utils.formatAmount(a),totalValue:r,buysValue:i})}function mi(e,t){return O(e,t)}function p0({chain:e,address:t,resolution:o="24h",className:n}){let{token:s}=mi(e,t);return jsxRuntime.jsx(ci,{stats:s?.stats,resolution:o,className:n})}function ui({stats:e,resolution:t,className:o}){let{t:n}=i18n.useTranslation(),s=e?.[t],r=s?.volumesInUsd??"0",i=s?.buyVolumesInUsd??"0",a=s?.sellVolumesInUsd??"0";return jsxRuntime.jsx(st,{className:o,label:n("tokens.listHeader.volumes",{resolution:n(`common.resolution.${t}`)}),totalFormatted:utils.formatAmountInUsd(r),buysFormatted:utils.formatAmountInUsd(i),sellsFormatted:utils.formatAmountInUsd(a),totalValue:r,buysValue:i})}function pi(e,t){return O(e,t)}function R0({chain:e,address:t,resolution:o="24h",className:n}){let{token:s}=pi(e,t);return jsxRuntime.jsx(ui,{stats:s?.stats,resolution:o,className:n})}function gi({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(a=>a.value!==void 0&&a.value===a.safeWhen);return jsxRuntime.jsxs("section",{className:ui$1.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$1.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(a=>jsxRuntime.jsx(mp,{...a},a.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 mp({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$1.cn("text-xs",t===void 0?"text-text-muted":r?"text-success-500":"text-danger-500"),children:i})]})}function ki(e,t){let{data:o,isLoading:n}=react$1.useTokenSecurityQuery({chain:e,address:t});return {security:o,isLoading:n}}function q0({chain:e,address:t,externalUrl:o,externalLabel:n,className:s}){let{security:r}=ki(e,t);return jsxRuntime.jsx(gi,{security:r,externalUrl:o,externalLabel:n,className:s})}function xi({token:e,className:t}){let{t:o}=i18n.useTranslation();return e?jsxRuntime.jsxs("section",{className:ui$1.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 Ti(e,t){return O(e,t)}function sw({chain:e,address:t,className:o}){let{token:n}=Ti(e,t);return jsxRuntime.jsx(xi,{token:n,className:o})}function bi({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:n,onPoolClick:s}){let{t:r}=i18n.useTranslation(),[i,a]=react.useState(!e||e.length<=o),d=react.useCallback(()=>a(l=>!l),[]);return jsxRuntime.jsxs("section",{className:ui$1.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((l,c)=>jsxRuntime.jsxs("div",{className:ui$1.cn("flex h-10 w-full items-center justify-between overflow-hidden text-xs",c>=o&&!i&&"hidden",s&&"cursor-pointer hover:bg-default-50"),onClick:s?()=>s(l):void 0,children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-0.5",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:l.protocolFamily??l.protocolName??r("tokens.tokenDetail.unknownProtocol")}),l.poolAddress&&jsxRuntime.jsx("span",{className:"font-mono text-[10px] text-text-muted",children:r("tokens.tokenDetail.poolAddress",{address:ve(l.poolAddress,6,6)})})]}),jsxRuntime.jsx("div",{className:"text-text-muted",children:utils.formatAmountInUsd(l.tvlInUsd??0)})]},l.poolAddress??`${l.protocolFamily}-${c}`)),e.length>o&&jsxRuntime.jsx("div",{className:"flex justify-center pt-1",children:jsxRuntime.jsx("button",{type:"button",onClick:d,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 vi(e,t){return O(e,t)}function Sw({chain:e,address:t,collapseAt:o,className:n,onPoolClick:s}){let{token:r}=vi(e,t);return jsxRuntime.jsx(bi,{liquidities:r?.liquidities,totalTvlInUsd:r?.marketData?.tvlInUsd,collapseAt:o,className:n,onPoolClick:s})}function Si({cexes:e,collapseAt:t=4,className:o}){let{t:n}=i18n.useTranslation(),[s,r]=react.useState(!e||e.length<=t),i=react.useCallback(()=>r(a=>!a),[]);return !e||e.length===0?null:jsxRuntime.jsxs("section",{className:ui$1.cn("w-full",o),children:[jsxRuntime.jsx("div",{className:"text-sm font-medium text-foreground",children:n("tokens.tokenDetail.cexListings")}),jsxRuntime.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((a,d)=>{let l=d>=t&&!s,c=jsxRuntime.jsx(ui$1.Chip,{startContent:a.logo?jsxRuntime.jsx(ui$1.Image,{src:a.logo,width:20,height:20,alt:a.name}):void 0,className:ui$1.cn("bg-default-100 text-xs",l&&"hidden"),children:a.name},a.id);return a.url?jsxRuntime.jsx("a",{href:a.url,target:"_blank",rel:"noreferrer noopener",className:ui$1.cn(l&&"hidden"),children:c},a.id):c})}),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 Ni(e){return {cexes:e}}function Ew({cexes:e,collapseAt:t,className:o}){let{cexes:n}=Ni(e);return jsxRuntime.jsx(Si,{cexes:n,collapseAt:t,className:o})}function wi({categories:e,collapseAt:t=4,className:o,onCategoryClick:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(!e||e.length<=t),a=react.useCallback(()=>i(d=>!d),[]);return !e||e.length===0?null:jsxRuntime.jsxs("section",{className:ui$1.cn("w-full",o),children:[jsxRuntime.jsx("div",{className:"text-sm font-medium text-foreground",children:s("tokens.tokenDetail.categories")}),jsxRuntime.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((d,l)=>{let c=l>=t&&!r;return jsxRuntime.jsx(ui$1.Chip,{size:"sm",className:ui$1.cn("bg-default-100",c&&"hidden",n&&"cursor-pointer"),onClick:n?()=>n(d):void 0,children:d},d)})}),e.length>t&&jsxRuntime.jsx("div",{className:"mt-3 flex justify-center",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:s(r?"tokens.tokenDetail.showLess":"tokens.tokenDetail.showMore")})})]})}function Li(e,t){return O(e,t)}function eL({chain:e,address:t,collapseAt:o,className:n,onCategoryClick:s}){let{token:r}=Li(e,t);return jsxRuntime.jsx(wi,{categories:r?.tags,collapseAt:o,className:n,onCategoryClick:s})}var Pi=["5m","1h","4h","24h"];function Ri({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),a=r.plus(i),d=r.minus(i),l=a.eq(0)?50:Math.min(100,Math.max(0,r.div(a).times(100).toNumber())),c=[{label:n("tokens.listHeader.volumes",{resolution:n(`common.resolution.${t}`)}),value:utils.formatAmountInUsd(a.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(d.abs().toString()),className:d.gte(0)?"text-positive":"text-negative"}];return jsxRuntime.jsxs("div",{className:ui$1.cn("flex h-full w-full flex-col",o),children:[jsxRuntime.jsx("div",{className:"grid flex-1 grid-cols-4 items-center",children:c.map(u=>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:u.label}),jsxRuntime.jsx("span",{className:ui$1.cn("text-[13px] font-medium leading-none tabular-nums",u.className),children:u.value})]},u.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:`${l}%`}})})]})}function Ai({stats:e,resolutions:t,className:o}){return jsxRuntime.jsx("div",{className:ui$1.cn("grid h-full w-full grid-cols-4 items-center",o),children:t.map(n=>{let r=e?.[n]?.priceChange,i=r?new utils.SafeBigNumber(r):void 0,a=i?i.gte(0):void 0,d=n,l=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:d}),jsxRuntime.jsx("span",{className:ui$1.cn("text-[13px] font-medium leading-none tabular-nums",a===void 0?"text-foreground":a?"text-positive":"text-negative"),children:l})]},n)})})}function Ii({chain:e,address:t}){let{data:o,isLoading:n}=react$1.useTokenStatsQuery({chain:e,address:t});return {stats:o,isLoading:n}}function xL({chain:e,address:t,baseResolution:o="5m",hoverResolutions:n=Pi,height:s=64,className:r}){let{stats:i}=Ii({chain:e,address:t});return jsxRuntime.jsx(uiScaffold.StatsFlipPanel,{className:r,height:s,base:jsxRuntime.jsx(Ri,{stats:i,resolution:o}),hover:jsxRuntime.jsx(Ai,{stats:i,resolutions:n})})}function Mi({positions:e,isLoading:t,hasMore:o,onLoadMore:n,currency:s="usd",onCurrencyChange:r,showHidden:i=false,onShowHiddenChange:a,nativeSymbol:d,renderActions:l,className:c}){let{t:u}=i18n.useTranslation(),m=d??u("tokens.tokenDetail.native");return jsxRuntime.jsxs("div",{className:ui$1.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:u("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=>a?.(p.target.checked)}),u("tokens.tokenDetail.filter.showHidden")]})]}),jsxRuntime.jsx(qp,{value:s,nativeSymbol:m,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:u("tokens.tokenDetail.columns.token")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:u("tokens.tokenDetail.columns.bought")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:u("tokens.tokenDetail.columns.sold")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:u("tokens.tokenDetail.columns.remaining")}),jsxRuntime.jsx("th",{className:"w-[18%] px-3 py-2 text-right font-normal",children:u("tokens.tokenDetail.columns.pnl")}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:u("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:u("tokens.tokenDetail.positions.empty")})}),e.map(p=>jsxRuntime.jsx($p,{position:p,currency:s,renderActions:l},`${p.chain}:${p.address}`)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:u("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:u("tokens.tokenDetail.loadMore")})})]})}function qp({value:e,nativeSymbol:t,onChange:o}){return jsxRuntime.jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(s=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(s.k),className:ui$1.cn("rounded px-2 transition-colors",e===s.k?"bg-default-200 text-foreground":"text-text-muted hover:text-foreground"),children:s.label},s.k))})}function $p({position:e,currency:t,renderActions:o}){let{bought:n,sold:s,remaining:r,pnl:i}=react.useMemo(()=>zp(e,t),[e,t]),a=jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui$1.Avatar,{src:e.image??void 0,name:(e.symbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col",children:[jsxRuntime.jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsxRuntime.jsx("span",{className:"truncate text-[10px] text-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:a}),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$1.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 zp(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),a=t==="usd"?utils.formatAmountInUsd(n??0):utils.formatAmount(n??0),d=t==="usd"?utils.formatAmountInUsd(s??0):utils.formatAmount(s??0),l=r?new utils.SafeBigNumber(r):void 0,c=l?l.gte(0):void 0,u=l?(c?"+":"")+utils.formatAmountInUsd(l.toString()):"--",m=e.totalProfitRatio?utils.formatPercent(e.totalProfitRatio,{showPlusGtThanZero:true}):void 0;return {bought:i,sold:a,remaining:d,pnl:{amount:u,ratio:m,isPositive:c}}}function Fi({chain:e,wallet:t,limit:o=50,initialShowHidden:n=false}){let[s,r]=react.useState(void 0),[i,a]=react.useState([]),[d,l]=react.useState(n);react.useEffect(()=>{r(void 0),a([]);},[e,t]);let c=react.useMemo(()=>({chain:e,address:t??"",cursor:s,limit:o,positionState:"open"}),[e,t,s,o]),{data:u,isPending:m,isFetching:p}=react$1.useWalletTokenPositionsQuery(c,{enabled:!!t});react.useEffect(()=>{u&&a(y=>s==null?[u]:y[y.length-1]?.endCursor===u.endCursor?y:[...y,u]);},[u,s]);let g=react.useMemo(()=>i.flatMap(y=>y.portfolios),[i]),f=i[i.length-1],k=!!(f?.hasNext&&f.endCursor),x=react.useCallback(()=>{!f?.endCursor||!f.hasNext||r(f.endCursor);},[f]);return {positions:g,isLoading:!!t&&(m||p),hasMore:k,loadMore:x,showHidden:d,setShowHidden:l}}function UL({chain:e,wallet:t,limit:o,initialCurrency:n="usd",nativeSymbol:s,renderActions:r,className:i}){let[a,d]=react.useState(n),{positions:l,isLoading:c,hasMore:u,loadMore:m,showHidden:p,setShowHidden:g}=Fi({chain:e,wallet:t,limit:o});return jsxRuntime.jsx(Mi,{className:i,positions:l,isLoading:c,hasMore:u,onLoadMore:m,currency:a,onCurrencyChange:d,showHidden:p,onShowHiddenChange:g,nativeSymbol:s,renderActions:r})}function Oi({orders:e,isLoading:t,unavailable:o,hasMore:n,onLoadMore:s,stateFilter:r,onStateFilterChange:i,onlyThisToken:a=false,onOnlyThisTokenChange:d,tokenSymbol:l,currency:c="usd",onCurrencyChange:u,nativeSymbol:m,onCancelAll:p,renderActions:g,className:f}){let{t:k}=i18n.useTranslation(),x=m??k("tokens.tokenDetail.native");return jsxRuntime.jsxs("div",{className:ui$1.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(y=>jsxRuntime.jsx("button",{type:"button",onClick:()=>i(y.k),className:ui$1.cn("rounded px-2 transition-colors",r===y.k?"bg-default-200 text-foreground":"text-text-muted hover:text-foreground"),children:k(y.labelKey)},y.k))}),l?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:a,onChange:y=>d?.(y.target.checked)}),k("tokens.tokenDetail.filter.onlyToken",{symbol:l})]}):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:k("tokens.tokenDetail.cancelAll")}):null,jsxRuntime.jsx(nf,{value:c,nativeSymbol:x,onChange:u})]})]}),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:k("tokens.tokenDetail.columns.token")}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:k("tokens.tokenDetail.columns.type")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:k("tokens.tokenDetail.columns.amount")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:k("tokens.tokenDetail.columns.currentMarketCap")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:k("tokens.tokenDetail.columns.targetMarketCap")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:k("tokens.tokenDetail.columns.settings")}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:k("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:k("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:k(r==="active"?"tokens.tokenDetail.orders.emptyActive":"tokens.tokenDetail.orders.emptyHistorical")})}):e.map(y=>jsxRuntime.jsx(rf,{order:y,currency:c,renderActions:g},y.id)),t&&!o&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-4 text-center text-text-muted",children:k("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:k("tokens.tokenDetail.loadMore")})})]})}function nf({value:e,nativeSymbol:t,onChange:o}){return jsxRuntime.jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(s=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(s.k),className:ui$1.cn("rounded px-2 transition-colors",e===s.k?"bg-default-200 text-foreground":"text-text-muted hover:text-foreground"),children:s.label},s.k))})}function rf({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$1.Avatar,{src:e.tokenImage??void 0,name:(e.tokenSymbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxRuntime.jsx("span",{className:"truncate text-foreground",children:e.tokenSymbol??"--"})]})}),jsxRuntime.jsx("td",{className:ui$1.cn("px-3 py-2 align-middle font-medium",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 af(e){return e instanceof Error&&e.code==="NotImplemented"}function lf(e){return e==="active"?"active":"filled"}function Vi({chain:e,wallet:t,tokenAddress:o,limit:n=50,initialStateFilter:s="active",initialOnlyThisToken:r=false}){let[i,a]=react.useState(s),[d,l]=react.useState(r),[c,u]=react.useState(void 0),[m,p]=react.useState([]);react.useEffect(()=>{u(void 0),p([]);},[e,t,i,d,o]);let g=react.useCallback(N=>{N!==i&&a(N);},[i]),f=react.useMemo(()=>({chain:e,address:t??"",cursor:c,limit:n,state:lf(i),tokenAddress:d?o:void 0}),[e,t,c,n,i,d,o]),{data:k,isPending:x,isFetching:y,error:T}=react$1.useWalletLimitOrdersQuery(f,{enabled:!!t});react.useEffect(()=>{k&&p(N=>c==null?[k]:N[N.length-1]?.endCursor===k.endCursor?N:[...N,k]);},[k,c]);let S=!!T&&af(T),h=react.useMemo(()=>m.flatMap(N=>N.data),[m]),b=m[m.length-1],w=!!(b?.hasNext&&b.endCursor),v=react.useCallback(()=>{!b?.endCursor||!b.hasNext||u(b.endCursor);},[b]);return {orders:h,isLoading:!!t&&!S&&(x||y),unavailable:S,hasMore:w,loadMore:v,stateFilter:i,setStateFilter:g,onlyThisToken:d,setOnlyThisToken:l}}function tP({chain:e,wallet:t,tokenAddress:o,tokenSymbol:n,limit:s,initialStateFilter:r="active",initialCurrency:i="usd",nativeSymbol:a,onCancelAll:d,renderActions:l,className:c}){let[u,m]=react.useState(i),{orders:p,isLoading:g,unavailable:f,hasMore:k,loadMore:x,stateFilter:y,setStateFilter:T,onlyThisToken:S,setOnlyThisToken:h}=Vi({chain:e,wallet:t,tokenAddress:o,limit:s,initialStateFilter:r});return jsxRuntime.jsx(Oi,{className:c,orders:p,isLoading:g,unavailable:f,hasMore:k,onLoadMore:x,stateFilter:y,onStateFilterChange:T,onlyThisToken:S,onOnlyThisTokenChange:h,tokenSymbol:n,currency:u,onCurrencyChange:m,nativeSymbol:a,onCancelAll:f?void 0:d,renderActions:l})}function _i({traders:e,isLoading:t,hasMore:o,onLoadMore:n,onlyTracked:s=false,onOnlyTrackedChange:r,now:i=Date.now(),renderAddress:a,className:d}){let{t:l}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col",d),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium text-text-muted",children:l("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:c=>r?.(c.target.checked)}),l("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:l("tokens.tokenDetail.columns.wallet")}),jsxRuntime.jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:l("tokens.tokenDetail.columns.tags")}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:l("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:l("tokens.tokenDetail.columns.realizedPnl")}),jsxRuntime.jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:l("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:l("tokens.tokenDetail.topTraders.empty")})}),e.map(c=>jsxRuntime.jsx(gf,{trader:c,now:i,renderAddress:a},c.address)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:l("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:l("tokens.tokenDetail.loadMore")})})]})}function gf({trader:e,now:t,renderAddress:o}){let{formatAge:n}=i18n.useLocalizedTimeFormatter(),s=react.useMemo(()=>o?o(e.address):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-text-muted",children:ve(e.address,6,6)}),[e.address,o]);return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:s}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(qt,{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?Ie(e.lastActiveAt,n,t):"--"})]})}function $i({chain:e,address:t,limit:o=50,initialSortBy:n,initialSortDirection:s,initialOnlyTracked:r=false}){let[i,a]=react.useState(n),[d,l]=react.useState(s),[c,u]=react.useState(void 0),[m,p]=react.useState([]),[g,f]=react.useState(r),k=react.useCallback(()=>{u(void 0),p([]);},[]),x=react.useCallback((R,ae)=>{R===i&&ae===d||(a(R),l(ae),k());},[k,i,d]),y=react.useCallback(R=>{x(R,d??"desc");},[x,d]),T=react.useCallback(R=>{R!==d&&(l(R),k());},[k,d]);react.useEffect(()=>{k();},[e,t,k]);let S=react.useMemo(()=>({chain:e,address:t,cursor:c,limit:o,sortBy:i,sortDirection:d}),[e,t,c,o,i,d]),{data:h,isPending:b,isFetching:w}=react$1.useTokenTopTradersQuery(S);react.useEffect(()=>{h&&p(R=>c==null?[h]:R[R.length-1]?.endCursor===h.endCursor?R:[...R,h]);},[h,c]);let v=react.useMemo(()=>m.flatMap(R=>R.data),[m]),N=react.useMemo(()=>g?v.filter(R=>R.tags&&R.tags.length>0):v,[v,g]),F=m[m.length-1],fe=!!(F?.hasNext&&F.endCursor),Y=react.useCallback(()=>{!F?.endCursor||!F.hasNext||u(F.endCursor);},[F]);return {traders:N,isLoading:b||w,sortBy:i,sortDirection:d,setSortBy:y,setSortDirection:T,setSort:x,hasMore:fe,loadMore:Y,onlyTracked:g,setOnlyTracked:f}}function bP({chain:e,address:t,limit:o,className:n,renderAddress:s}){let{traders:r,isLoading:i,hasMore:a,loadMore:d,onlyTracked:l,setOnlyTracked:c}=$i({chain:e,address:t,limit:o});return jsxRuntime.jsx(_i,{className:n,traders:r,isLoading:i,hasMore:a,onLoadMore:d,onlyTracked:l,onOnlyTrackedChange:c,renderAddress:s})}var yf="\u2713";function Xi({tokens:e,isLoading:t,unavailable:o,hasMore:n,onLoadMore:s,renderTokenLink:r,className:i}){let{t:a}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col",i),children:[jsxRuntime.jsx("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:jsxRuntime.jsx("span",{className:"text-xs font-medium text-text-muted",children:a("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:a("tokens.tokenDetail.columns.token")}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-center font-normal",children:a("tokens.tokenDetail.columns.migrated")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:a("tokens.tokenDetail.columns.marketCap")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:a("tokens.tokenDetail.columns.ath")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:a("tokens.tokenDetail.liquidity")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:a("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:a("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:a("tokens.tokenDetail.devTokens.empty")})}):e.map(d=>jsxRuntime.jsx(bf,{token:d,renderTokenLink:r},`${d.chain}:${d.address}`)),!o&&t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:a("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:a("tokens.tokenDetail.loadMore")})})]})}function bf({token:e,renderTokenLink:t}){let o=e.marketData?.marketCapInUsd??e.marketData?.marketCap,n=e.marketData?.tvlInUsd,r=e.stats?.["1h"]?.volumesInUsd,i=!!e.migratedTo,a=t?t(e):jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui$1.Avatar,{src:e.image??void 0,name:(e.symbol??e.name??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col",children:[jsxRuntime.jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsxRuntime.jsx("span",{className:"truncate text-[10px] text-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:a}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-center align-middle",children:i?jsxRuntime.jsx("span",{className:"text-positive",children:yf}):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 Ji({tokens:e,className:t}){let{t:o}=i18n.useTranslation(),n=e.length,s=e.filter(d=>!!d.migratedTo).length,r=n===0?0:Math.round(s/n*100),i=e.map(d=>d.stats?.["1h"]?.volumesInUsd??"0").reduce((d,l)=>d.plus(new utils.SafeBigNumber(l)),new utils.SafeBigNumber(0)),a=e.map(d=>d.marketData?.marketCapInUsd??d.marketData?.marketCap??"0").reduce((d,l)=>d.plus(new utils.SafeBigNumber(l)),new utils.SafeBigNumber(0));return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-2 p-3",t),children:[jsxRuntime.jsx("div",{className:"flex items-center justify-between",children:jsxRuntime.jsx("span",{className:"text-xs font-medium text-text-muted",children:o("tokens.tokenDetail.devTokens.stats")})}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsxRuntime.jsx(ho,{label:o("tokens.tokenDetail.devTokens.total"),value:String(n)}),jsxRuntime.jsx(ho,{label:o("tokens.tokenDetail.columns.migrated"),value:`${s} (${r}%)`}),jsxRuntime.jsx(ho,{label:o("tokens.tokenDetail.devTokens.totalMarketCap"),value:utils.formatMCapInUsd(a.toString())}),jsxRuntime.jsx(ho,{label:o("tokens.tokenDetail.devTokens.totalVolume1h"),value:utils.formatAmountInUsd(i.toString())})]})]})}function ho({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 Sf(e){return e instanceof Error&&e.code==="NotImplemented"}function ta({chain:e,creator:t,limit:o=20}){let[n,s]=react.useState(void 0),[r,i]=react.useState([]),a=react.useCallback(()=>{s(void 0),i([]);},[]);react.useEffect(()=>{a();},[e,t,a]);let d=react.useMemo(()=>({chain:e,creator:t??"",cursor:n,limit:o}),[e,t,n,o]),{data:l,isPending:c,isFetching:u,error:m}=react$1.useTokensByCreatorQuery(d,{enabled:!!t});react.useEffect(()=>{l&&i(y=>n==null?[l]:y[y.length-1]?.endCursor===l.endCursor?y:[...y,l]);},[l,n]);let p=react.useMemo(()=>r.flatMap(y=>y.data),[r]),g=r[r.length-1],f=!!(g?.hasNext&&g.endCursor),k=!!m&&Sf(m),x=react.useCallback(()=>{!g?.endCursor||!g.hasNext||s(g.endCursor);},[g]);return {tokens:p,isLoading:!!t&&!k&&(c||u),unavailable:k,hasMore:f,loadMore:x}}function EP({chain:e,creator:t,limit:o,showSummary:n=false,renderTokenLink:s,className:r}){let{tokens:i,isLoading:a,unavailable:d,hasMore:l,loadMore:c}=ta({chain:e,creator:t,limit:o});return jsxRuntime.jsxs("div",{className:r,children:[jsxRuntime.jsx(Xi,{tokens:i,isLoading:a,unavailable:d,hasMore:l,onLoadMore:c,renderTokenLink:s}),n&&!d?jsxRuntime.jsx(Ji,{tokens:i}):null]})}function ia({token:e,athInUsd:t,athAt:o,globalFeesPaidInUsd:n,rank:s,onTogglePin:r,pinned:i,className:a}){let{t:d}=i18n.useTranslation(),l=e?.marketData?.priceInUsd,c=e?.marketData?.tvlInUsd,u=e?.marketData?.totalSupply;return jsxRuntime.jsxs("div",{className:ui$1.cn("flex h-[48px] w-full flex-row items-center gap-4 overflow-x-auto px-3 text-[12px]",a),children:[jsxRuntime.jsx(mt,{label:d("tokens.tokenDetail.chart.price"),value:l?utils.formatPriceInUsd(l):"--"}),jsxRuntime.jsx(mt,{label:d("tokens.tokenDetail.chart.liquidity"),value:c?utils.formatAmountInUsd(c):"--"}),jsxRuntime.jsx(mt,{label:d("tokens.tokenDetail.chart.supply"),value:u?utils.formatAmount(u):"--"}),n?jsxRuntime.jsx(mt,{label:d("tokens.tokenDetail.chart.feesPaid"),value:utils.formatAmountInUsd(n)}):null,t?jsxRuntime.jsx(mt,{label:d("tokens.tokenDetail.chart.ath"),value:utils.formatPriceInUsd(t),title:o?d("tokens.tokenDetail.chart.athAt",{date:o.toLocaleDateString()}):void 0}):null,s!==void 0?jsxRuntime.jsx(mt,{label:d("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$1.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:d(i?"tokens.tokenDetail.chart.unpin":"tokens.tokenDetail.chart.pin"),children:i?"\u2605":"\u2606"}):null]})}function mt({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 la({chain:e,address:t}){return O(e,t)}function e1({chain:e,address:t,athInUsd:o,athAt:n,globalFeesPaidInUsd:s,rank:r,pinned:i,onTogglePin:a,className:d}){let{token:l}=la({chain:e,address:t});return jsxRuntime.jsx(ia,{className:d,token:l,athInUsd:o,athAt:n,globalFeesPaidInUsd:s,rank:r,pinned:i,onTogglePin:a})}function da({tokens:e,isLoading:t,unavailable:o,onTokenClick:n,className:s}){let{t:r}=i18n.useTranslation();return o?jsxRuntime.jsx("div",{className:ui$1.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$1.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$1.cn("flex flex-col",s),children:[e.map(i=>jsxRuntime.jsxs("li",{className:ui$1.cn("flex cursor-pointer items-center gap-2 border-b border-default-50 px-3 py-2 last:border-0 hover:bg-default-50/60",!n&&"cursor-default"),onClick:n?()=>n(i):void 0,children:[jsxRuntime.jsx(ui$1.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 ca({chain:e,address:t,keyword:o,limit:n=10}){let s=!!o&&o.length>0,{data:r,isPending:i,isFetching:a}=react$1.useSearchTokensQuery({chains:[e],keyword:o,limit:n+1},{enabled:s});return {tokens:react.useMemo(()=>{if(!r)return [];let l=t.toLowerCase();return (r.data??[]).filter(c=>c.address.toLowerCase()!==l).slice(0,n)},[r,t,n]),isLoading:s&&(i||a),unavailable:!s}}function x1({chain:e,address:t,keyword:o,limit:n,onTokenClick:s,className:r}){let{tokens:i,isLoading:a,unavailable:d}=ca({chain:e,address:t,keyword:o,limit:n});return jsxRuntime.jsx(da,{className:r,tokens:i,isLoading:a,unavailable:d,onTokenClick:s})}function ma({tokens:e=[],unavailable:t=true,onTokenClick:o,className:n}){let{t:s}=i18n.useTranslation();return t?jsxRuntime.jsx("div",{className:ui$1.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$1.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$1.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$1.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 ua(e){return {tokens:[],isLoading:false,unavailable:true}}function I1({chain:e,address:t,onTokenClick:o,className:n}){let{tokens:s,unavailable:r}=ua();return jsxRuntime.jsx(ma,{className:n,tokens:s,unavailable:r,onTokenClick:o})}function xa({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:n,className:s}){let{t:r}=i18n.useTranslation(),[i,a]=react.useState(e?.join(", ")??""),[d,l]=react.useState(t?.join(", ")??"");react.useEffect(()=>{a(m=>{let p=bo(m);return p===void 0&&e===void 0?m:p===void 0?e?.join(", ")??"":e===void 0?"":p.join("")===e.join("")?m:e.join(", ")});},[e]),react.useEffect(()=>{l(m=>{let p=bo(m);return p===void 0&&t===void 0?m:p===void 0?t?.join(", ")??"":t===void 0?"":p.join("")===t.join("")?m:t.join(", ")});},[t]);let c=react.useCallback(m=>{a(m),o?.(bo(m));},[o]),u=react.useCallback(m=>{l(m),n?.(bo(m));},[n]);return jsxRuntime.jsxs("div",{className:ui$1.cn("grid grid-cols-2 gap-3 px-4",s),children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-text-muted",children:r("tokens.filters.keywords.title")}),jsxRuntime.jsx(ui$1.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:i,onValueChange:c})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-text-muted",children:r("tokens.filters.keywords.exclude.title")}),jsxRuntime.jsx(ui$1.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:d,onValueChange:u})]})]})}function bo(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Sa({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let a=react.useMemo(()=>e.every(c=>r.includes(c)),[e,r]),d=react.useCallback(()=>{if(a){let c=[];i(c),o?.(c);}else {let c=[...e];i(c),o?.(c);}},[e,o,a]),l=react.useCallback(c=>()=>{if(r.includes(c)){let u=r.filter(m=>m!==c);i(u),o?.(u);}else {let u=[...r,c];i(u),o?.(u);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui$1.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$1.Button,{variant:"light",color:"default",size:"sm",radius:"full",onPress:d,children:s(a?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(c=>{let u=_e(c);return jsxRuntime.jsx(ui$1.Button,{variant:"bordered",size:"sm",radius:"full",className:ui$1.cn("w-fit h-6 px-2.5",u.text,u.bg5,"border",u.border,{"opacity-40 data-[hover=true]:!opacity-30":!r.includes(c)}),startContent:jsxRuntime.jsx(ui$1.Image,{width:14,height:14,src:`/images/protocols/${c}.svg`,alt:utils.formatTokenProtocolName(c)}),onPress:l(c),children:utils.formatTokenProtocolName(c)},c)})})]})}function Le({title:e,field:t,value:o,onChange:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(o?Pn(o).min:NaN),[a,d]=react.useState(o?Pn(o).max:NaN);react.useEffect(()=>{if(o===void 0)i(NaN),d(NaN);else {let{min:u,max:m}=Pn(o);i(u),d(m);}},[o]);let l=react.useCallback(u=>{i(u),n?.(La(t,u,a));},[t,n,a]),c=react.useCallback(u=>{d(u),n?.(La(t,r,u));},[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$1.StyledNumberInput,{value:r,onValueChange:l,variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui$1.StyledNumberInput,{value:a,onValueChange:c,variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function Pn(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 La(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 Ra({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(a=>d=>{if(d===void 0){let l=(s??[]).filter(c=>c.field!==a);l=l.length>0?l:void 0,r(l),t?.(l);}else {let l=[...(s??[]).filter(c=>c.field!==a),d];r(l),t?.(l);}},[s,t]);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-4",o),children:[jsxRuntime.jsx(Le,{field:"holders",title:n("tokens.filters.stats.audits.holders"),value:s?.find(a=>a.field==="holders"),onChange:i("holders")}),jsxRuntime.jsx(Le,{field:"top10Ratio",title:n("tokens.filters.stats.audits.top10HoldingsRatio"),value:s?.find(a=>a.field==="top10Ratio"),onChange:i("top10Ratio")}),jsxRuntime.jsx(Le,{field:"top100Ratio",title:n("tokens.filters.stats.audits.top100HoldingsRatio"),value:s?.find(a=>a.field==="top100Ratio"),onChange:i("top100Ratio")}),jsxRuntime.jsx(Le,{field:"creatorsRatio",title:n("tokens.filters.stats.audits.devHoldingsRatio"),value:s?.find(a=>a.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function Aa({resolution:e,values:t,onValuesChange:o,className:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let a=react.useCallback(d=>l=>{if(l===void 0){let c=(r??[]).filter(u=>u.field!==d);c=c.length>0?c:void 0,i(c),o?.(c);}else {let c=[...(r??[]).filter(u=>u.field!==d),l];i(c),o?.(c);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-4",n),children:[jsxRuntime.jsx(Le,{field:"marketCap",title:s("tokens.filters.stats.metrics.marketCap"),value:r?.find(d=>d.field==="marketCap"),onChange:a("marketCap")}),jsxRuntime.jsx(Le,{field:"tvl",title:s("tokens.filters.stats.metrics.liquidity"),value:r?.find(d=>d.field==="tvl"),onChange:a("tvl")}),jsxRuntime.jsx(Le,{field:`volumes${e}`,title:s("tokens.filters.stats.metrics.volumes",{resolution:s(`common.resolution.${e}`)}),value:r?.find(d=>d.field===`volumes${e}`),onChange:a(`volumes${e}`)}),jsxRuntime.jsx(Le,{field:`trades${e}`,title:s("tokens.filters.stats.metrics.txns",{resolution:s(`common.resolution.${e}`)}),value:r?.find(d=>d.field===`trades${e}`),onChange:a(`trades${e}`)})]})}function Ua({resolution:e,values:t,onValuesChange:o,className:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState("audits"),[a,d]=react.useState(t);react.useEffect(()=>{d(t);},[t]);let l=react.useCallback(m=>{d(m),o?.(m);},[o]),c=react.useMemo(()=>{let m=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(p=>m.includes(p.field))?.length??0},[a]),u=react.useMemo(()=>{let m=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(p=>m.includes(p.field)).length??0},[a,e]);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-3 px-4",n),children:[jsxRuntime.jsxs(ui$1.StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:r,onSelectionChange:i,children:[jsxRuntime.jsx(ui$1.Tab,{title:c===0?s("tokens.filters.stats.audits"):jsxRuntime.jsx(ui$1.StyledBadge,{color:"primary",size:"sm",content:c,shape:"circle",children:s("tokens.filters.stats.audits")})},"audits"),jsxRuntime.jsx(ui$1.Tab,{title:u===0?s("tokens.filters.stats.metrics"):jsxRuntime.jsx(ui$1.StyledBadge,{color:"primary",size:"sm",content:u,shape:"circle",children:s("tokens.filters.stats.metrics")})},"metrics")]}),jsxRuntime.jsx(Ra,{values:a,onValuesChange:l,className:ui$1.cn({hidden:r!=="audits"})}),jsxRuntime.jsx(Aa,{values:a,onValuesChange:l,resolution:e,className:ui$1.cn({hidden:r!=="metrics"})})]})}function Ro({protocols:e,resolution:t,filters:o,onFiltersChange:n,className:s}){let[r,i]=react.useState(Oa(o?.filters,e));react.useEffect(()=>{i(Oa(o?.filters,e));},[o?.filters,e]);let[a,d]=react.useState(o?.keywords);react.useEffect(()=>{d(o?.keywords);},[o?.keywords]);let[l,c]=react.useState(o?.excludeKeywords);react.useEffect(()=>{c(o?.excludeKeywords);},[o?.excludeKeywords]);let[u,m]=react.useState(o?.filters);react.useEffect(()=>{m(o?.filters);},[o?.filters]);let p=react.useCallback(x=>{i(x),n?.(Po(e,x,a,l,u));},[e,a,l,u,n]),g=react.useCallback(x=>{d(x),n?.(Po(e,r,x,l,u));},[e,r,l,u,n]),f=react.useCallback(x=>{c(x),n?.(Po(e,r,a,x,u));},[e,r,a,u,n]),k=react.useCallback(x=>{m(x),n?.(Po(e,r,a,l,x));},[e,r,a,l,n]);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-4",s),children:[e&&e.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Sa,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:p}),jsxRuntime.jsx("div",{style:{height:1,background:"var(--color-surface-strong)"}})]}),jsxRuntime.jsx(xa,{keywords:a,excludeKeywords:l,onKeywordsChange:g,onExcludeKeywordsChange:f}),jsxRuntime.jsx("div",{style:{height:1,background:"var(--color-surface-strong)"}}),jsxRuntime.jsx(Ua,{resolution:t,values:u,onValuesChange:k})]})}function Oa(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 Po(e,t,o,n,s){let r=s?[...s.filter(i=>i.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(a=>t.includes(a))||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 Va({protocols:e,resolution:t,filters:o,onFiltersChange:n,triggerVariant:s="default",badgePlacement:r="outer",className:i}){let{t:a}=i18n.useTranslation(),{isOpen:d,onOpen:l,onClose:c,onOpenChange:u}=ui$1.useDisclosure(),[m,p]=react.useState(o),g=react.useCallback(()=>{p(void 0);},[]),f=react.useCallback(()=>{n?.(m),c();},[m,n,c]);react.useEffect(()=>{p(o);},[d,o]);let k=react.useMemo(()=>Object.values(o||{}).every(x=>x===void 0),[o]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("button",{type:"button",className:i,onClick:l,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$1.FilterIcon,{width:16,height:16,className:"text-text-secondary"}),!k&&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$1.StyledModal,{isOpen:d,onOpenChange:u,size:"md",scrollBehavior:"inside",children:jsxRuntime.jsxs(ui$1.ModalContent,{className:"w-full h-full",children:[jsxRuntime.jsx(ui$1.ModalHeader,{className:"px-4 py-2",children:jsxRuntime.jsx("span",{className:"text-base font-semibold",children:a("tokens.filters.modal.title")})}),jsxRuntime.jsx(ui$1.ModalBody,{className:"px-0 pt-0 pb-4",children:jsxRuntime.jsx(ui$1.ScrollShadow,{children:jsxRuntime.jsx(Ro,{protocols:e,resolution:t,filters:m,onFiltersChange:p,className:"pb-4"})})}),jsxRuntime.jsx(ui$1.ModalFooter,{className:"px-4",children:jsxRuntime.jsxs("div",{className:"w-full flex justify-between items-center",children:[jsxRuntime.jsx(ui$1.Button,{variant:"light",color:"default",size:"sm",radius:"full",startContent:jsxRuntime.jsx(ui$1.RefreshIcon,{width:16,height:16}),onPress:g,children:a("common.reset")}),jsxRuntime.jsx(ui$1.Button,{color:"primary",size:"sm",radius:"full",onPress:f,children:a("common.apply")})]})})]})})]})}var $a={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},Ag={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"},Ig={height:1,background:"var(--color-surface-strong)",margin:0};function za({protocols:e,resolution:t,filters:o,onFiltersChange:n,iconOnly:s=false,className:r}){let{t:i}=i18n.useTranslation(),[a,d]=react.useState(false),l=react.useRef(null),[c,u]=react.useState(o),m=react.useCallback(()=>{u(void 0);},[]),p=react.useCallback(()=>{n?.(c),d(false);},[c,n]);react.useEffect(()=>{u(o);},[a,o]),react.useEffect(()=>{let f=k=>{l.current&&!l.current.contains(k.target)&&d(false);};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[]),react.useEffect(()=>{if(!a)return;let f=k=>{k.key==="Escape"&&d(false);};return document.addEventListener("keydown",f),()=>document.removeEventListener("keydown",f)},[a]);let g=react.useMemo(()=>Object.values(o||{}).every(f=>f===void 0),[o]);return jsxRuntime.jsxs("div",{ref:l,style:{position:"relative"},children:[jsxRuntime.jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxRuntime.jsxs("button",{type:"button",className:r,style:s?{...$a,justifyContent:"center",gap:0,width:32,minWidth:32,padding:0}:$a,onMouseEnter:f=>{f.currentTarget.style.background="var(--color-surface-strong)";},onMouseLeave:f=>{f.currentTarget.style.background="hsl(var(--heroui-content3) / 0.6)";},onClick:()=>d(f=>!f),children:[jsxRuntime.jsx(ui$1.FilterIcon,{width:16,height:16,className:"flex-none"}),!s&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"hidden sm:block",children:i("tokens.listHeader.filter")}),jsxRuntime.jsx(Mg,{open:a})]})]}),!g&&jsxRuntime.jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),a&&jsxRuntime.jsxs("div",{style:{...Ag,width:420},children:[jsxRuntime.jsx("div",{style:{padding:"16px 0"},children:jsxRuntime.jsx(ui$1.ScrollShadow,{className:"w-full max-h-120 px-4",children:jsxRuntime.jsx(Ro,{protocols:e,resolution:t,filters:c,onFiltersChange:u})})}),jsxRuntime.jsx("div",{style:Ig}),jsxRuntime.jsxs("div",{style:{padding:"12px 16px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[jsxRuntime.jsx(ui$1.Button,{variant:"light",size:"sm",color:"default",radius:"full",startContent:jsxRuntime.jsx(ui$1.RefreshIcon,{width:16,height:16}),onPress:m,children:i("common.reset")}),jsxRuntime.jsx(ui$1.Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:p,children:i("common.apply")})]})]})]})}function Mg({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 SR({popoverPlacement:e="bottom-end",iconOnly:t,className:o,desktopOverlay:n="popover",...s}){let{isMobile:r}=ui$1.useScreen();return r||n==="modal"?jsxRuntime.jsx(Va,{className:o,...s}):jsxRuntime.jsx(za,{placement:e,iconOnly:t,className:o,...s})}function Xa({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$1.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$1.Tab,{title:n(`common.resolution.${r}`)},r))})}var zg={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},Qg={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 Ya({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),a=react.useCallback(d=>{t?.(d),r(false);},[t]);return react.useEffect(()=>{if(!s)return;let d=c=>{i.current&&!i.current.contains(c.target)&&r(false);},l=c=>{c.key==="Escape"&&r(false);};return document.addEventListener("mousedown",d),document.addEventListener("keydown",l),()=>{document.removeEventListener("mousedown",d),document.removeEventListener("keydown",l);}},[s]),jsxRuntime.jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxRuntime.jsxs("button",{type:"button",style:zg,onClick:()=>r(d=>!d),children:[jsxRuntime.jsx("span",{children:e?n(`common.resolution.${e}`):"\u2014"}),jsxRuntime.jsx(ui$1.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:Qg,children:o.map(d=>jsxRuntime.jsx("button",{type:"button",onClick:()=>a(d),className:ui$1.cn("w-full text-left px-3 py-1.5 rounded-lg text-xs font-medium transition-colors cursor-pointer",d===e?"text-primary bg-primary/10":"text-text-secondary hover:text-foreground hover:bg-surface-interactive"),children:n(`common.resolution.${d}`)},d))})]})}function WR(e){let{isMobile:t}=ui$1.useScreen();return t?jsxRuntime.jsx(Ya,{...e}):jsxRuntime.jsx(Xa,{...e})}var ja=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 tl=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$1.StyledTooltip,{content:o("tokens.bluechip.explained"),children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2.5",children:[s&&jsxRuntime.jsx(ui$1.HorsePowerHighIcon,{}),r&&jsxRuntime.jsx(ui$1.HorsePowerLowIcon,{}),!s&&!r&&jsxRuntime.jsx(ui$1.HorsePowerIcon,{}),jsxRuntime.jsx("span",{className:ui$1.cn(s&&"text-positive",!s&&!r&&"text-negative",n===void 0&&"text-text-muted"),children:utils.formatPercent(n)})]})})});function vk(e){return e.length<=10?e:`${e.slice(0,4)}...${e.slice(-4)}`}var ll=react.memo(function({token:t}){let o=ui$1.useCopyToClipboard(),[n,s]=react.useState(false),[r,i]=react.useState(false),a=react.useRef(void 0),d=react.useRef(void 0),{t:l}=i18n.useTranslation(),{formatAge:c}=i18n.useLocalizedTimeFormatter(),u=react.useCallback(g=>{g.preventDefault(),g.stopPropagation(),o(t.name,()=>{ui$1.toast.success(l("tokens.copied.name")),s(true),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{s(false);},2e3);});},[o,t.name,l]),m=react.useCallback(g=>{g.preventDefault(),g.stopPropagation(),o(t.address,()=>{ui$1.toast.success(l("tokens.copied.address")),i(true),d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{i(false);},2e3);});},[o,t.address,l]);react.useEffect(()=>()=>{a.current&&clearTimeout(a.current),d.current&&clearTimeout(d.current);},[]);let p=hooks.useTickAge(t.createdAt);return jsxRuntime.jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsxRuntime.jsx(he,{token:t,showProgress:false,className:"w-10 h-10 sm:w-16 sm:h-16 flex-none"}),jsxRuntime.jsxs("div",{className:"flex-auto flex flex-col gap-1 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"flex-none font-medium tracking-[-0.02em]",children:t.symbol}),jsxRuntime.jsx(ui$1.StyledTooltip,{content:t.name,children:jsxRuntime.jsxs("div",{className:"flex-initial flex items-center gap-1 min-w-0 text-text-muted hover:text-primary-200 cursor-pointer",onClick:u,children:[jsxRuntime.jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:t.name}),n?jsxRuntime.jsx(ui$1.CheckIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"}):jsxRuntime.jsx(ui$1.CopyIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"})]})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-primary text-xs sm:text-sm font-medium",children:c(p)}),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:m,"aria-label":l("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:vk(t.address)}),r?jsxRuntime.jsx(ui$1.CheckIcon,{className:"flex-none w-3 h-3"}):jsxRuntime.jsx(ui$1.CopyIcon,{className:"flex-none w-3 h-3"})]}),t.socialMedias?.website&&jsxRuntime.jsx(ui$1.Link,{href:t.socialMedias.website,className:"max-sm:hidden text-text-muted hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.WebsiteIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),t.socialMedias?.twitter&&jsxRuntime.jsx(ui$1.Link,{href:t.socialMedias.twitter,className:"max-sm:hidden text-text-muted hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.TwitterIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),t.socialMedias?.telegram&&jsxRuntime.jsx(ui$1.Link,{href:t.socialMedias.telegram,className:"max-sm:hidden text-text-muted hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.TelegramIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),t.socialMedias?.discord&&jsxRuntime.jsx(ui$1.Link,{href:t.socialMedias.discord,className:"max-sm:hidden text-text-muted hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.DiscordIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),jsxRuntime.jsx(ui$1.Link,{href:utils.searchTwitterUrl(`${t.symbol} OR ${t.address}`),className:"max-sm:hidden text-text-muted hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.SearchIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]})]})]})});var dl=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]),a=react.useMemo(()=>new utils.SafeBigNumber(n?.insiderHoldingsRatio).gte(.1),[n?.insiderHoldingsRatio]),d=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$1.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$1.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$1.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$1.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$1.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$1.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$1.RatIcon,{width:12,height:12}),value:utils.formatPercent(n?.insiderHoldingsRatio),tooltip:o("tokens.tokenInfo.insiderHoldingsRatio"),warning:a,disable:!n?.insiderHoldingsRatio||n?.insiderHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(n?.bundleHoldingsRatio),tooltip:o("tokens.tokenInfo.bundleHoldingsRatio"),warning:d,disable:!n?.bundleHoldingsRatio||n?.bundleHoldingsRatio==="0",tooltipPlacement:"bottom"})]})]})});var cl=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 ml=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 fl=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$1.cn("inline-flex gap-1 items-center text-xs",i?"text-positive":"text-negative"),children:[i?jsxRuntime.jsx(ui$1.TriangleUpIcon,{width:10,height:10}):jsxRuntime.jsx(ui$1.TriangleDownIcon,{width:10,height:10}),jsxRuntime.jsx("span",{children:utils.formatPercent(r)})]})]})});var kl=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 Tl=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 yl=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 Zk=`
21
+ `})]})}function pr({token:e,renderAction:t,isLast:o=false,onSelectToken:n,className:s}){let{t:r}=i18n.useTranslation(),{formatAge:i}=i18n.useLocalizedTimeFormatter(),a=ui$1.useCopyToClipboard(),d=hooks.useTickAge(e.createdAt),l=e.marketData,c=e.stats?.["1h"],u=react.useCallback(()=>{n?.(e);},[n,e]),m=react.useCallback(R=>{R.stopPropagation(),a(e.address,()=>ui$1.toast.success(r("tokens.copied.address")));},[a,e.address,r]),p=react.useMemo(()=>c?.volumesInUsd,[c?.volumesInUsd]),g=react.useMemo(()=>c?.buyVolumesInUsd,[c?.buyVolumesInUsd]),f=react.useMemo(()=>c?.sellVolumesInUsd,[c?.sellVolumesInUsd]),k=react.useMemo(()=>c?.trades,[c?.trades]),x=react.useMemo(()=>l?.marketCapInUsd,[l?.marketCapInUsd]),y=react.useMemo(()=>l?.tvlInUsd,[l?.tvlInUsd]),T=react.useMemo(()=>{let R=new utils.SafeBigNumber(x);return R.lt(1e3)?"text-foreground":R.lt(1e6)?"text-secondary":"text-primary"},[x]),S=react.useMemo(()=>new utils.SafeBigNumber(l?.top10HoldingsRatio).gte(.1),[l?.top10HoldingsRatio]),h=react.useMemo(()=>new utils.SafeBigNumber(l?.devHoldingsRatio).gte(.1),[l?.devHoldingsRatio]),b=react.useMemo(()=>new utils.SafeBigNumber(l?.insiderHoldingsRatio).gte(.1),[l?.insiderHoldingsRatio]),w=react.useMemo(()=>new utils.SafeBigNumber(l?.sniperHoldingsRatio).gte(.1),[l?.sniperHoldingsRatio]),v=react.useMemo(()=>new utils.SafeBigNumber(l?.bundleHoldingsRatio).gte(.1),[l?.bundleHoldingsRatio]),N=l?.holders!==void 0&&l.holders>0,F=l?.proHolders!==void 0&&l.proHolders>0,fe=l?.kolHolders!==void 0&&l.kolHolders>0,Y=N||F||fe;return jsxRuntime.jsxs("div",{className:ui$1.cn("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer",s),style:{borderBottom:o?"none":"1px solid var(--color-border-subtle)"},onClick:n?u: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(he,{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:m,"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:m,"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$1.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$1.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:i(d)}),e.socialMedias?.website&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.website,className:"text-text-muted hover:text-primary",target:"_blank",onClick:R=>R.stopPropagation(),children:jsxRuntime.jsx(ui$1.WebsiteIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.twitter,className:"text-text-muted hover:text-primary",target:"_blank",onClick:R=>R.stopPropagation(),children:jsxRuntime.jsx(ui$1.TwitterIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.telegram,className:"text-text-muted hover:text-primary",target:"_blank",onClick:R=>R.stopPropagation(),children:jsxRuntime.jsx(ui$1.TelegramIcon,{className:"w-3.5 h-3.5"})}),jsxRuntime.jsx(ui$1.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"max-sm:hidden text-text-muted hover:text-primary",target:"_blank",onClick:R=>R.stopPropagation(),children:jsxRuntime.jsx(ui$1.SearchIcon,{className:"w-3.5 h-3.5"})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-foreground/80 leading-none",children:[jsxRuntime.jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-text-muted",children:"MC"}),jsxRuntime.jsx("span",{className:ui$1.cn(T),children:utils.formatMCapInUsd(x)})]}),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(y)})]})]}),Y&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-text-muted leading-none",children:[N&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:r("tokens.tokenInfo.holders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.PeopleIcon,{className:"w-3 h-3 text-text-muted"}),utils.formatAmount(l?.holders)]})}),F&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:r("tokens.tokenInfo.proHolders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.KlineCandlesIcon,{className:"w-3 h-3 text-text-muted"}),utils.formatAmount(l?.proHolders)]})}),fe&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:r("tokens.tokenInfo.kolHolders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.StarIcon,{className:"w-3 h-3 text-text-muted"}),utils.formatAmount(l?.kolHolders)]})})]})]}),jsxRuntime.jsxs("div",{className:"flex-none flex flex-col items-end gap-2.5 leading-none font-mono",children:[jsxRuntime.jsx("div",{className:"flex flex-col items-end gap-1",children:jsxRuntime.jsx("span",{className:ui$1.cn("text-base font-bold leading-none",T),children:utils.formatMCapInUsd(x)})}),jsxRuntime.jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsxRuntime.jsxs("div",{className:"flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs text-text-muted",children:"V"}),jsxRuntime.jsx("span",{className:"text-xs text-foreground/80",children:utils.formatAmountInUsd(p)})]}),jsxRuntime.jsxs("span",{className:"text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-positive",children:utils.formatAmountInUsd(g)}),jsxRuntime.jsx("span",{className:"text-text-muted/50 mx-0.5",children:"/"}),jsxRuntime.jsx("span",{className:"text-negative",children:utils.formatAmountInUsd(f)})]})]}),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(k)})]})]})]}),jsxRuntime.jsxs("div",{className:"mt-2.5 flex items-start gap-4 relative",children:[jsxRuntime.jsx(ui$1.HorizontalScrollContainer,{className:"flex-auto min-w-0",forceShowArrows:true,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(l?.top10HoldingsRatio),tooltip:r("tokens.tokenInfo.top10HoldingsRatio"),warning:S,disable:!l?.top10HoldingsRatio||l?.top10HoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.CookIcon,{width:12,height:12}),value:utils.formatPercent(l?.devHoldingsRatio),tooltip:r("tokens.tokenInfo.devHoldingsRatio"),warning:h,disable:!l?.devHoldingsRatio||l?.devHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.SniperIcon,{width:12,height:12}),value:utils.formatPercent(l?.sniperHoldingsRatio),tooltip:r("tokens.tokenInfo.sniperHoldingsRatio"),warning:w,disable:!l?.sniperHoldingsRatio||l?.sniperHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.RatIcon,{width:12,height:12}),value:utils.formatPercent(l?.insiderHoldingsRatio),tooltip:r("tokens.tokenInfo.insiderHoldingsRatio"),warning:b,disable:!l?.insiderHoldingsRatio||l?.insiderHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(l?.bundleHoldingsRatio),tooltip:r("tokens.tokenInfo.bundleHoldingsRatio"),warning:v,disable:!l?.bundleHoldingsRatio||l?.bundleHoldingsRatio==="0"})]})}),t&&jsxRuntime.jsx("div",{className:"flex-none relative",onClick:R=>R.stopPropagation(),children:t(e)})]})]})}var Ud=152,gr=10;function Od({index:e,style:t,data:o,skeletonCount:n,renderItemAction:s,onSelectToken:r}){if(!o)return jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Ko,{isLast:e===n-1})});let i=o[e];return i?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(pr,{token:i,isLast:e===o.length-1,renderAction:s,onSelectToken:r})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Ko,{isLast:e===o.length-1})})}function je({title:e,tokens:t,isLoading:o,itemHeight:n=Ud,renderHeaderExtra:s,renderItemAction:r,onSelectToken:i,onPauseChange:a,onScrollingChange:d,className:l,hideHeader:c}){let u=o||!t?void 0:t,m=u?u.length:gr,p=react.useMemo(()=>({data:u,skeletonCount:gr,renderItemAction:r,onSelectToken:i}),[u,r,i]),[g,f]=react.useState(false),k=react.useRef(void 0),x=react.useRef(false),y=react.useCallback(()=>{f(true),a?.(true);},[a]),T=react.useCallback(()=>{f(false),a?.(false);},[a]),S=react.useCallback(()=>{x.current||(x.current=true,d?.(true)),k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{x.current=false,d?.(false);},180);},[d]);return react.useEffect(()=>()=>{k.current&&clearTimeout(k.current),x.current&&d?.(false);},[d]),jsxRuntime.jsxs("div",{className:ui$1.cn("w-full h-full bg-surface-base overflow-hidden flex flex-col border border-border-subtle/60 rounded-lg",l),onMouseEnter:y,onMouseLeave:T,children:[!c&&jsxRuntime.jsx(Yn,{title:e,isPaused:g,extra:s}),jsxRuntime.jsx("div",{className:"flex-1 w-full overflow-hidden",onScrollCapture:S,children:jsxRuntime.jsx(reactWindow.List,{className:"h-full w-full",rowCount:m,rowHeight:n,rowComponent:Od,rowProps:p,overscanCount:10})})]})}function zo(e,t){let o={...e};for(let n of Object.keys(t))t[n]!==void 0&&(o[n]=t[n]);return o}var Bd=["1m","5m","15m","30m","1h","4h","24h"];function Wd(e,t){if(!t)return e;if(!e)return t;let o={...e};for(let n of Bd)t[n]&&(o[n]=e[n]?zo(e[n],t[n]):t[n]);return o}function Vd(e,t){return t?e?zo(e,t):t:e}function Jt(e,t){return t?e?zo(e,t):t:e}function oe(e,t){let{chain:o,address:n,stats:s,marketData:r,socialMedias:i,security:a,launchedFrom:d,migratedTo:l,...c}=t,u={...e};for(let m of Object.keys(c))c[m]!==void 0&&(u[m]=c[m]);return u.stats=Wd(e.stats,s),u.marketData=Vd(e.marketData,r),u.socialMedias=Jt(e.socialMedias,i),u.security=Jt(e.security,a),u.launchedFrom=Jt(e.launchedFrom,d),u.migratedTo=Jt(e.migratedTo,l),u}function Yt(e,t){let o=new Map(e.map(n=>[n.address,n]));return t.map(n=>{let s=o.get(n.address);return s?oe(s,n):n})}function Kd(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 He(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]=oe(o[r],s),n=true;continue}Kd(s)&&(o.push(s),n=true);}return n?o:e}var qd=["24h","12h","30m","15m","30s","15s","1m","5m","1h","4h","1s"],$d=new Set(["price","marketCap","athMarketCap","tvl","holders","top10Holdings","top10Ratio","top100Holdings","top100Ratio","creatorsHoldings","creatorsRatio","createdAt","launchedFromProtocolFamily","migratedToProtocolFamily","tag"]),zd=new Set(["priceChange","volumes","trades","traders","buys","sells"]);function J(e){if(e==null||e==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}function xr(e){for(let t of qd){if(!e.endsWith(t))continue;let o=e.slice(0,-t.length);return o?{metric:o,resolution:t}:void 0}}function Tr(e){if($d.has(e))return true;let t=xr(e);return t?zd.has(t.metric):false}function Zt(e,t){switch(t){case "price":return J(e.marketData?.priceInUsd);case "marketCap":return J(e.marketData?.marketCapInUsd);case "athMarketCap":return J(e.marketData?.athMarketCapInUsd);case "tvl":return J(e.marketData?.tvlInUsd);case "holders":return J(e.marketData?.holders);case "top10Holdings":return J(e.marketData?.top10Holdings);case "top10Ratio":return J(e.marketData?.top10HoldingsRatio);case "top100Holdings":return J(e.marketData?.top100Holdings);case "top100Ratio":return J(e.marketData?.top100HoldingsRatio);case "creatorsHoldings":return J(e.marketData?.devHoldings);case "creatorsRatio":return J(e.marketData?.devHoldingsRatio);case "createdAt":return e.createdAt?.getTime();case "launchedFromProtocolFamily":return kr(e,e.launchedFrom?.protocolFamily);case "migratedToProtocolFamily":return kr(e,e.migratedTo?.protocolFamily);case "tag":return e.tags?.[0];}let o=xr(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 J(s?.priceChange);case "volumes":return J(s?.volumesInUsd);case "trades":return J(s?.trades);case "traders":return J(s?.traders);case "buys":return J(s?.buys);case "sells":return J(s?.sells);default:return}}function kr(e,t){if(t)return utils.parseTokenProtocolFamily(e.chain,t)??t}var Qd=new Set(["top10Ratio","top100Ratio","creatorsRatio"]);function hr(e){let t=e.trim().toLowerCase();return t.length>0?t:void 0}function Gd(e){return [e.name,e.symbol].filter(Boolean).join(" ").toLowerCase()}function Xd(e){return Array.isArray(e)?e:void 0}function Jd(e){return Array.isArray(e)?void 0:e}function yr(e,t){if(!Qd.has(e))return t;let o=Number(t);return Number.isFinite(o)?o/100:t}function ye(e,t){let o=Jd(t);return o===void 0?void 0:yr(e,o)}function Qo(e,t){return Xd(t)?.map(o=>yr(e,o))}function et(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 jt(e,t){if(typeof e=="number"){let o=Number(t);return Number.isFinite(o)&&e===o}return String(e)===String(t)}function Yd(e,t){if(!Tr(t.field))return false;let o=Zt(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=ye(t.field,t.value);return s!==void 0&&jt(o,s)}case "ne":{let s=ye(t.field,t.value);return s!==void 0&&!jt(o,s)}case "gt":{let s=ye(t.field,t.value),r=s!==void 0?et(o,s):void 0;return r!==void 0&&r>0}case "gte":{let s=ye(t.field,t.value),r=s!==void 0?et(o,s):void 0;return r!==void 0&&r>=0}case "lt":{let s=ye(t.field,t.value),r=s!==void 0?et(o,s):void 0;return r!==void 0&&r<0}case "lte":{let s=ye(t.field,t.value),r=s!==void 0?et(o,s):void 0;return r!==void 0&&r<=0}case "between":{let s=Qo(t.field,t.value);if(!s||s.length<2)return false;let r=et(o,s[0]),i=et(o,s[1]);return r!==void 0&&i!==void 0&&r>=0&&i<=0}case "in":{let s=Qo(t.field,t.value);return s?s.some(r=>jt(o,r)):false}case "nin":{let s=Qo(t.field,t.value);return s?s.every(r=>!jt(o,r)):false}case "contains":{let s=ye(t.field,t.value);return s!==void 0&&String(o).includes(String(s))}case "notContains":{let s=ye(t.field,t.value);return s!==void 0&&!String(o).includes(String(s))}case "startsWith":{let s=ye(t.field,t.value);return s!==void 0&&String(o).startsWith(String(s))}case "endsWith":{let s=ye(t.field,t.value);return s!==void 0&&String(o).endsWith(String(s))}default:return false}}function ce(e,t){let o=t?.keywords?.map(hr).filter(r=>r!==void 0),n=t?.excludeKeywords?.map(hr).filter(r=>r!==void 0),s=t?.filters;return !o?.length&&!n?.length&&!s?.length?e:e.filter(r=>{let i=Gd(r);return !(o?.length&&!o.some(a=>i.includes(a))||n?.length&&n.some(a=>i.includes(a))||s?.length&&!s.every(a=>Yd(r,a)))})}function me({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),a=react.useRef(void 0);n.current=e,s.current=t;let d=react.useCallback(()=>{i.current!==void 0&&(clearTimeout(i.current),i.current=void 0),a.current!==void 0&&(cancelAnimationFrame(a.current),a.current=void 0);},[]),l=react.useCallback(()=>{if(d(),s.current){i.current=setTimeout(l,o);return}let m=r.current;m.length!==0&&(r.current=[],n.current(m));},[d,o]),c=react.useCallback(()=>{i.current!==void 0||a.current!==void 0||(i.current=setTimeout(()=>{i.current=void 0,a.current=requestAnimationFrame(()=>{a.current=void 0,l();});},o));},[l,o]),u=react.useCallback(m=>{m.length!==0&&(r.current.push(...m),c());},[c]);return react.useEffect(()=>{t||l();},[l,t]),react.useEffect(()=>d,[d]),{enqueueUpdates:u,flush:l}}function Cr({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 a=react.useMemo(()=>Array.from(new Set(t.map(c=>c.address.trim()).filter(Boolean))).sort().join(","),[t]),d=react.useMemo(()=>a?a.split(","):[],[a]),l=()=>{r.current.forEach(c=>c()),r.current.clear();};react.useEffect(()=>l,[e,s,n]),react.useEffect(()=>{if(!n){l();return}let c=new Set(d),u=r.current;for(let[m,p]of u)c.has(m)||(p(),u.delete(m));for(let m of d){if(u.has(m))continue;let p=react$1.tokenMarketKey(e,m),g=s.subscribe(p,k=>{k.token&&i.current([k.token]);}),f=s.retain(p);u.set(m,()=>{g(),f();});}},[d,e,n,s]);}var nc=80;function Ir(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 rc(e,t,o){return e===t?o:e===o?t:o||t}function Xo(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:rc(t,e.tokenAAddress,e.tokenBAddress),image:e.dex?.image,programAddress:e.dex?.programAddress,protocolFamily:e.dex?.protocolFamily,protocolName:e.dex?.protocolName}]}}function sc(e){return {...Ir(Xo(e)),...e.token??{},liquidities:Xo(e).liquidities,createdAt:e.token?.createdAt??e.createdAt}}function Ar(e){return e.sort((t,o)=>{let n=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-n}),e.slice(0,nc)}function Mr({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 a=react.useRef(e),[d,l]=react.useState(true),[c,u]=react.useState([]);react.useEffect(()=>{e!==a.current&&(l(true),u([]),a.current=e);},[e]);let{data:m,isPending:p}=react$1.useNewPoolsQuery(r);react.useEffect(()=>{m&&(u(T=>{let S=i.current,h=T.length===0&&m.length>0,b=[...T];for(let w of m){let v=sc(w),N=b.findIndex(F=>F.address===v.address);N>=0?b[N]=oe(b[N],v):(!S||h)&&b.push(v);}return S?b:Ar(b)}),l(false));},[m]);let g=react.useCallback(T=>{u(S=>{let h=i.current,b=[...S],w=false;for(let v of T){let N=b.findIndex(F=>F.address===v.address);N>=0?(w=true,b[N]=oe(b[N],v)):h||(w=true,b.push(Ir(v)));}return w?h?b:Ar(b):S});},[]),{enqueueUpdates:f}=me({applyUpdates:g,paused:n,flushInterval:s}),k=react.useCallback(T=>{f(T.map(Xo));},[f]);react$1.useNewPoolsSubscription({chain:e},k),react$1.useNewTokensMetadataSubscription({chain:e},f),Cr({chain:e,tokens:c,onUpdate:f});let x=react.useMemo(()=>p||d,[p,d]);return {tokens:react.useMemo(()=>ce(c,t),[c,t]),isLoading:x}}function Eh({chain:e,filters:t,title:o,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,className:i,hideHeader:a}){let[d,l]=react.useState(false),[c,u]=react.useState(false),{tokens:m,isLoading:p}=Mr({chain:e,filters:t,isPaused:d,deferUpdates:c}),g=react.useCallback(f=>{l(f);},[]);return jsxRuntime.jsx(je,{title:o,tokens:m,isLoading:p,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,onPauseChange:g,onScrollingChange:u,className:i,hideHeader:a})}function be({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 a=react.useMemo(()=>Array.from(new Set(t.map(c=>c.address.trim()).filter(Boolean))).sort().join(","),[t]),d=react.useMemo(()=>a?a.split(","):[],[a]),l=()=>{r.current.forEach(c=>c()),r.current.clear();};react.useEffect(()=>l,[e,s,n]),react.useEffect(()=>{if(!n){l();return}let c=new Set(d),u=r.current;for(let[m,p]of u)c.has(m)||(p(),u.delete(m));for(let m of d){if(u.has(m))continue;let p=react$1.tokenMarketKey(e,m),g=s.subscribe(p,k=>{k.token&&i.current([k.token]);}),f=s.retain(p);u.set(m,()=>{g(),f();});}},[d,e,n,s]);}function Wr({chain:e,filters:t,isPaused:o=false,refetchInterval:n=3e4,deferUpdates:s=false,updateFlushInterval:r}){let i=react.useMemo(()=>({chain:e}),[e]),a=react.useRef(o);a.current=o;let d=react.useRef(e),[l,c]=react.useState(true),[u,m]=react.useState([]);react.useEffect(()=>{e!==d.current&&(c(true),m([]),d.current=e);},[e]);let{data:p,isPending:g}=react$1.useMigratedTokensQuery(i,{refetchInterval:n});react.useEffect(()=>{p&&(m(T=>{let S=a.current,h=[...T];for(let b of p){let w=h.findIndex(v=>v.address===b.address);w>=0?h[w]=oe(h[w],b):S||h.unshift(b);}return h}),c(false));},[p]);let f=react.useCallback(T=>{m(S=>He(S,T));},[]),{enqueueUpdates:k}=me({applyUpdates:f,paused:s,flushInterval:r});be({chain:e,tokens:u,onUpdate:k});let x=react.useMemo(()=>g||l,[g,l]);return {tokens:react.useMemo(()=>ce(u,t),[u,t]),isLoading:x}}function ty({chain:e,filters:t,title:o,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,className:i,hideHeader:a}){let[d,l]=react.useState(false),[c,u]=react.useState(false),{tokens:m,isLoading:p}=Wr({chain:e,filters:t,isPaused:d,deferUpdates:c}),g=react.useCallback(f=>{l(f);},[]);return jsxRuntime.jsx(je,{title:o,tokens:m,isLoading:p,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,onPauseChange:g,onScrollingChange:u,className:i,hideHeader:a})}function kc(e){return e.sort((t,o)=>{let n=Number(t.migrateProgress??0);return Number(o.migrateProgress??0)-n})}function $r({chain:e,filters:t,isPaused:o=false,refetchInterval:n=15e3,deferUpdates:s=false,updateFlushInterval:r}){let i=react.useMemo(()=>({chain:e}),[e]),a=react.useRef(o);a.current=o;let d=react.useRef(e),[l,c]=react.useState(true),[u,m]=react.useState([]);react.useEffect(()=>{e!==d.current&&(c(true),m([]),d.current=e);},[e]);let{data:p,isPending:g}=react$1.useFinalStretchTokensQuery(i,{refetchInterval:n});react.useEffect(()=>{p&&(m(T=>{let S=a.current,h=T.length===0&&p.length>0,b=[...T];for(let w of p){let v=b.findIndex(N=>N.address===w.address);v>=0?b[v]=oe(b[v],w):(!S||h)&&b.push(w);}return S?b:kc(b)}),c(false));},[p]);let f=react.useCallback(T=>{m(S=>He(S,T));},[]),{enqueueUpdates:k}=me({applyUpdates:f,paused:s,flushInterval:r});be({chain:e,tokens:u,onUpdate:k});let x=react.useMemo(()=>g||l,[g,l]);return {tokens:react.useMemo(()=>ce(u,t),[u,t]),isLoading:x}}function gy({chain:e,filters:t,title:o,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,className:i,hideHeader:a}){let[d,l]=react.useState(false),[c,u]=react.useState(false),{tokens:m,isLoading:p}=$r({chain:e,filters:t,isPaused:d,deferUpdates:c}),g=react.useCallback(f=>{l(f);},[]);return jsxRuntime.jsx(je,{title:o,tokens:m,isLoading:p,renderHeaderExtra:n,renderItemAction:s,onSelectToken:r,onPauseChange:g,onScrollingChange:u,className:i,hideHeader:a})}var Nc=10,Cc="liberfi:search_histories";function bt(){return search.createBrowserSearchHistoryStorage({key:Cc,fallback:search.createMemorySearchHistoryStorage()})}function wc(e,t){return e.length===t.length&&e.every((o,n)=>o===t[n])}function Gr(){let e=react.useMemo(()=>bt(),[]),t=react.useRef(e.read()),o=()=>{let i=e.read();return wc(t.current,i)?t.current:(t.current=i,i)},n=react.useSyncExternalStore(e.subscribe,o,o),s=react.useCallback(i=>{let a=i.trim();if(!a)return;let d=e.read().filter(l=>l!==a);e.write([a,...d].slice(0,Nc));},[e]),r=react.useCallback(()=>{e.clear();},[e]);return {histories:n,addHistory:s,clearHistories:r}}function Yr({histories:e,onSelect:t,onClear:o,className:n}){let{t:s}=i18n.useTranslation();return e.length===0?null:jsxRuntime.jsxs("div",{className:ui$1.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$1.Button,{isIconOnly:true,size:"sm",className:"bg-transparent min-w-6 w-6 h-6 text-text-muted",onPress:o,children:jsxRuntime.jsx(ui$1.TrashIcon,{width:20,height:20})})]}),jsxRuntime.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:e.map(r=>jsxRuntime.jsx(ui$1.Chip,{size:"sm",variant:"bordered",className:ui$1.cn("text-text-muted","border-border border-1","cursor-pointer","hover:opacity-hover"),onClick:()=>t?.(r),children:jsxRuntime.jsx("span",{children:r})},r))})]})}function Zr({onSelect:e,histories:t,onClear:o,className:n}){let s=Gr(),r=t?[...t]:s.histories,i=o??s.clearHistories;return jsxRuntime.jsx(Yr,{className:ui$1.cn(n),histories:r,onSelect:e,onClear:i})}var Bc=["ArrowDown","ArrowUp","Enter","Escape"];function Wc(e){return Bc.includes(e)}function jr({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$1.StyledInput,{autoFocus:true,variant:"bordered",radius:"full",value:e,onValueChange:t,onKeyDown:a=>{Wc(a.key)&&(a.key!=="Escape"&&a.preventDefault(),s?.(a.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$1.SearchIcon,{width:20,height:20,className:"text-text-muted"}),endContent:e?jsxRuntime.jsx(ui$1.Button,{isIconOnly:true,className:"bg-transparent min-w-6 w-6 h-6 text-text-muted",onPress:o,children:jsxRuntime.jsx(ui$1.XCloseIcon,{width:20,height:20})}):jsxRuntime.jsx(ui$1.Kbd,{className:"min-w-8 justify-center text-xs text-text-muted bg-transparent border border-border-control/50 rounded-full cursor-pointer select-none",onMouseDown:a=>{a.preventDefault(),n?.();},children:"ESC"})})})}function to({token:e,highlighted:t=false,className:o}){let{t:n}=i18n.useTranslation(),{formatAge:s}=i18n.useLocalizedTimeFormatter(),r=hooks.useTickAge(e.createdAt),i=react.useMemo(()=>e.marketData?.priceInUsd,[e]),a=react.useMemo(()=>e.marketData?.marketCapInUsd,[e]),d=react.useMemo(()=>e.marketData?.tvlInUsd,[e]),l=react.useMemo(()=>e.stats?.["24h"]?.priceChange,[e]),c=react.useMemo(()=>l?new utils.SafeBigNumber(l).abs().toString():void 0,[l]),u=react.useMemo(()=>l!=null&&new utils.SafeBigNumber(l).gte(0),[l]);return jsxRuntime.jsxs("div",{className:ui$1.cn("w-full h-full px-3 flex items-center justify-between gap-2","hover:cursor-pointer hover:bg-content2 rounded-lg",t&&"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(he,{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:s(r)})]}),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(a)]}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsxs("span",{children:[n("tokens.listHeader.liqShort")," ",utils.formatAmountInUsd(d)]})]})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end",children:[jsxRuntime.jsx("span",{className:"text-xs",children:utils.formatPriceInUsd(i)}),jsxRuntime.jsxs("span",{className:ui$1.cn("inline-flex gap-0.5 items-center text-xs",u?"text-positive":"text-negative"),children:[u?jsxRuntime.jsx(ui$1.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui$1.TriangleDownIcon,{width:8,height:8}),jsxRuntime.jsx("span",{children:utils.formatPercent(c)})]})]})]})}function oo({className:e}){let{t}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui$1.cn("h-9 px-3 flex items-center justify-between","text-xs font-medium text-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 jc(){return jsxRuntime.jsxs("div",{className:"w-full h-14 px-3 flex items-center justify-between gap-2",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[jsxRuntime.jsx(ui$1.Skeleton,{className:"flex-none w-8 h-8 rounded-full"}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-1.5",children:[jsxRuntime.jsx(ui$1.Skeleton,{className:"w-24 h-4 rounded-md"}),jsxRuntime.jsx(ui$1.Skeleton,{className:"w-36 h-3 rounded-md"})]})]}),jsxRuntime.jsxs("div",{className:"flex-none w-20 flex flex-col items-end gap-1.5",children:[jsxRuntime.jsx(ui$1.Skeleton,{className:"w-14 h-4 rounded-md"}),jsxRuntime.jsx(ui$1.Skeleton,{className:"w-10 h-3 rounded-md"})]})]})}function ro({rows:e=6,className:t}){return jsxRuntime.jsx("div",{className:ui$1.cn("w-full",t),children:Array.from({length:e}).map((o,n)=>jsxRuntime.jsx(jc,{},n))})}function rs({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:a,fetchNextPage:d}=react$1.useSearchTokensInfiniteQuery(n,{enabled:!!e}),l=react.useMemo(()=>s?.pages.flatMap(c=>c.data)??[],[s]);return {tokens:l,items:l,isLoading:r,isFetchingNextPage:i,hasNextPage:a??false,fetchNextPage:d}}var cm=56;function as({onSelectToken:e,className:t,navigationRef:o,onEscape:n,...s}){let{tokens:r,isLoading:i,isFetchingNextPage:a,hasNextPage:d,fetchNextPage:l}=rs(s),c=react.useRef(null),{height:u}=hooks.useResizeObserver({ref:c}),m=react.useCallback(y=>y<r.length,[r]),p=react.useCallback(async()=>{d&&!a&&await l();},[d,a,l]),g=react.useMemo(()=>d?r.length+1:r.length,[r,d]),f=reactWindowInfiniteLoader.useInfiniteLoader({isRowLoaded:m,loadMoreRows:p,rowCount:g,threshold:5}),k=i?0:r.length,x=search.useSearchKeyboardNavigation({itemCount:k,hasNextPage:d&&!i,isFetchingNextPage:a,onSelectIndex:y=>{let T=r[y];T&&e?.(T);},onRequestNextPage:()=>{d&&!a&&l();},onEscape:()=>n?.()});return o&&(o.current=x),react.useEffect(()=>()=>{o&&o.current===x&&(o.current=null);},[x,o]),react.useEffect(()=>{x.reset();},[s.keyword,x]),i?jsxRuntime.jsxs("div",{className:ui$1.cn("w-full",t),children:[jsxRuntime.jsx(oo,{}),jsxRuntime.jsx(ro,{})]}):r.length===0?jsxRuntime.jsxs("div",{className:ui$1.cn("w-full",t),children:[jsxRuntime.jsx(oo,{}),jsxRuntime.jsx(um,{})]}):jsxRuntime.jsxs("div",{className:ui$1.cn("w-full h-full flex flex-col",t),children:[jsxRuntime.jsx(oo,{className:"flex-none"}),jsxRuntime.jsx("div",{className:"flex-auto min-h-0",ref:c,children:jsxRuntime.jsx(reactWindow.List,{style:{height:u},onRowsRendered:f,rowComponent:mm,rowCount:g,rowHeight:cm,rowProps:{tokens:r,onSelectToken:e,highlightedIndex:x.highlightedIndex},overscanCount:5})})]})}function mm({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(to,{token:r,highlighted:s===e})}):jsxRuntime.jsx("div",{style:t,className:"flex items-center justify-center",children:jsxRuntime.jsx(ui$1.Spinner,{size:"sm"})})}function um(){let{t:e}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:"flex flex-col items-center justify-center py-16",children:[jsxRuntime.jsx(ui$1.EmptyIcon,{width:28,height:28,className:"text-text-muted"}),jsxRuntime.jsx("p",{className:"mt-2 text-sm text-text-muted",children:e("tokens.search.noResults")})]})}function pm(e,t){return typeof e=="number"&&typeof t=="number"?e-t:String(e).localeCompare(String(t))}function rt(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:Zt(r,o)}));return s.every(({value:r})=>r===void 0)?e:s.sort((r,i)=>{let a=r.value===void 0,d=i.value===void 0;if(a&&d)return r.index-i.index;if(a)return 1;if(d)return -1;let l=pm(r.value,i.value);return l===0?r.index-i.index:n==="asc"?l:-l}).map(({token:r})=>r)}function ao({chain:e,resolution:t,filters:o,sortDirections:n,subscriptionTokens:s=[],refetchInterval:r=3e4,deferUpdates:i=false,updateFlushInterval:a}){let d=react.useMemo(()=>({chain:e,resolution:t}),[e,t]),l=react.useRef(d),[c,u]=react.useState(true);react.useEffect(()=>{JSON.stringify(d)!==JSON.stringify(l.current)&&(u(true),p([]),l.current=d);},[d]);let[m,p]=react.useState([]),{data:g,isPending:f}=react$1.useTrendingTokensQuery(d,{refetchInterval:r});react.useEffect(()=>{g&&(p(h=>Yt(h,g)),u(false));},[g]);let k=react.useCallback(h=>{p(b=>He(b,h));},[]),{enqueueUpdates:x}=me({applyUpdates:k,paused:i,flushInterval:a});react$1.useTrendingTokensSubscription({chain:e},x),be({chain:e,tokens:s.filter(h=>h.chain===e),onUpdate:x});let y=react.useMemo(()=>!!(f||c),[f,c]),T=react.useMemo(()=>ce(m,o),[m,o]);return {tokens:react.useMemo(()=>rt(T,n),[T,n]),isLoading:y}}var ym=types.Chain.BINANCE,bm="24h",vm=56;function cs({chains:e,onSelectToken:t,className:o}){let n=e?.length===1?e[0]:e?.[0]??ym,{tokens:s,isLoading:r}=ao({chain:n,resolution:bm});return jsxRuntime.jsx("div",{className:ui$1.cn("w-full flex flex-col overflow-hidden",o),children:r?jsxRuntime.jsx(ro,{}):jsxRuntime.jsx("div",{className:"overflow-y-auto",children:s.map(i=>jsxRuntime.jsx("div",{style:{height:vm},onClick:()=>t?.(i),children:jsxRuntime.jsx(to,{token:i,className:"h-full"})},i.address))})})}function ps({chains:e,onKeywordChange:t,onSelectToken:o,onEscape:n}){let s=react.useMemo(()=>bt(),[]),r=search.useSearchController({storage:s,onQueryChange:t??ms,onDismiss:n??ms}),i=react.useRef(null),a=r.dismiss,d=react.useCallback(l=>{if(i.current){i.current.onKey(l);return}l==="Escape"&&a();},[a]);return jsxRuntime.jsxs("div",{className:"w-full h-full flex flex-col gap-3",children:[jsxRuntime.jsx(jr,{value:r.text,onValueChange:r.setText,onClear:r.clearQuery,onEscape:r.dismiss,onNavigateKey:d}),r.query?jsxRuntime.jsx(as,{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(Zr,{histories:r.history,onSelect:r.commitQuery,onClear:r.clearHistory}),jsxRuntime.jsx(cs,{className:"flex-auto min-h-0",chains:e,onSelectToken:o})]})]})}function ms(){}var en="search";function ov({id:e=en}){return jsxRuntime.jsx(uiScaffold.AsyncModal,{id:e,children:t=>jsxRuntime.jsx(Om,{...t})})}function Om({params:e,isOpen:t,onOpenChange:o,onResult:n}){let{t:s}=i18n.useTranslation(),{isMobile:r}=ui$1.useScreen(),i=react.useCallback(a=>{n(a);},[n]);return jsxRuntime.jsx(ui$1.StyledModal,{isOpen:t,onOpenChange:o,size:r?"full":"lg",hideCloseButton:true,backdrop:"opaque",radius:"lg",children:jsxRuntime.jsxs(ui$1.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$1.ModalHeader,{className:"sm:hidden flex items-center justify-between pt-4 pb-2",children:[jsxRuntime.jsx("span",{className:"text-base font-semibold",children:s("tokens.search.title")}),jsxRuntime.jsx(ui$1.Button,{isIconOnly:true,onPress:()=>o(false),size:"sm",className:"bg-transparent min-w-6 w-6 h-6",children:jsxRuntime.jsx(ui$1.XCloseIcon,{width:20,height:20})})]}),jsxRuntime.jsx(ui$1.ModalBody,{className:"p-4",children:jsxRuntime.jsx(ps,{chains:e?.chains,onSelectToken:i,onEscape:()=>o(false)})})]})})}function mv({chains:e,onSelectToken:t,className:o}){let{t:n}=i18n.useTranslation(),{isDesktop:s}=ui$1.useScreen(),{onOpen:r,onClose:i}=uiScaffold.useAsyncModal(en),a=hooks.useCallbackRef(t),d=hooks.useCallbackRef(async()=>{let c=await r({params:{chains:e}});c&&a(c);}),l=hooks.useCallbackRef(()=>{i();});return react.useEffect(()=>{let c=u=>{let m=document.activeElement,p=!!m&&(m.tagName==="INPUT"||m.tagName==="TEXTAREA"||m.getAttribute("contenteditable")==="true");u.key==="/"&&!p&&(u.preventDefault(),d()),u.key==="Escape"&&(u.preventDefault(),l());};return window.addEventListener("keydown",c),()=>{window.removeEventListener("keydown",c);}},[d,l]),s?jsxRuntime.jsx(ui$1.Button,{size:"sm",radius:"full",onPress:d,variant:"bordered",startContent:jsxRuntime.jsx(ui$1.SearchIcon,{width:16,height:16,className:"text-foreground"}),endContent:jsxRuntime.jsx(ui$1.Kbd,{className:"min-w-6 justify-center text-xs text-foreground bg-content3 rounded-lg",children:"/"}),className:ui$1.cn("w-56 min-w-0 h-8 min-h-0 border-transparent hover:border-border bg-content2 pl-3 pr-1.5 text-text-muted",o),children:n("tokens.search.placeholder")}):jsxRuntime.jsx(ui$1.Button,{size:"sm",radius:"full",isIconOnly:true,onPress:d,variant:"bordered",className:ui$1.cn("w-8 min-w-0 h-8 min-h-0 border-1 border-border bg-content2",o),children:jsxRuntime.jsx(ui$1.SearchIcon,{width:16,height:16,className:"text-foreground"})})}var Ts=()=>{};function xv({onKeywordChange:e}){let t=react.useMemo(()=>bt(),[]),o=search.useSearchController({storage:t,onQueryChange:e??Ts,onDismiss:Ts});return {text:o.text,keyword:o.query,setText:o.setText,setKeyword:o.commitQuery,clearKeyword:o.clearQuery}}function Ct(e){return e==null||e===""?"--":utils.formatPercent(Number(e)/100)}function ve(e,t=4,o=4){return e?e.length<=t+o+1?e:`${e.slice(0,t)}\u2026${e.slice(-o)}`:"--"}function Ie(e,t,o=Date.now()){if(e==null)return "--";let n=typeof e=="string"||typeof e=="number"?new Date(e):e,s=typeof o=="number"?new Date(o):o;return t(Math.max(0,s.getTime()-n.getTime()))}function O(e,t){let{token:o,isLoading:n}=react$1.useTokenMarket({chain:e,address:t});return {token:o,isLoading:n}}function st({label:e,totalFormatted:t,buysFormatted:o,sellsFormatted:n,totalValue:s=0,buysValue:r=0,className:i}){let{t:a}=i18n.useTranslation(),d=new utils.SafeBigNumber(s??0),l=new utils.SafeBigNumber(r??0),c=d.eq(0)?0:l.div(d).times(100).toNumber();return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-1",i),children:[jsxRuntime.jsxs("div",{className:"flex items-baseline justify-between",children:[jsxRuntime.jsx("span",{className:"text-xs text-text-muted",children:e}),jsxRuntime.jsx("span",{className:"text-xs text-foreground",children:t})]}),jsxRuntime.jsx(ui$1.Progress,{size:"sm",value:c,classNames:{track:"bg-negative/40",indicator:"bg-positive"},"aria-label":a("tokens.tokenDetail.buyShare",{label:e})}),jsxRuntime.jsxs("div",{className:"flex justify-between gap-4 text-[10px]",children:[jsxRuntime.jsx("span",{className:"text-positive",children:a("tokens.tokenDetail.buys",{value:o})}),jsxRuntime.jsx("span",{className:"text-negative",children:a("tokens.tokenDetail.sells",{value:n})})]})]})}function ys({token:e,actions:t,dataStrip:o,className:n,onCopyAddress:s}){let r=e?.address;return jsxRuntime.jsxs("div",{className:ui$1.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(he,{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:[ve(r,6,6),jsxRuntime.jsx(ui$1.CopyIcon,{width:12,height:12})]})]})]}),o&&jsxRuntime.jsx("div",{className:"flex-1 min-w-0",children:o}),t&&jsxRuntime.jsx("div",{className:"ml-auto flex items-center gap-2",children:t})]})}function bs(e,t){return O(e,t)}function Ss({price:e,marketCap:t,volume:o,holdersCount:n,socialMedia:s,className:r}){return jsxRuntime.jsxs("div",{className:ui$1.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 sS(e,t){return O(e,t)}function Cs({holders:e,top10HoldingsRatio:t,top100HoldingsRatio:o,className:n}){let{t:s}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui$1.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:Ct(t)}),jsxRuntime.jsx("span",{className:"px-1",children:"/"}),jsxRuntime.jsx("span",{children:Ct(o)})]}),jsxRuntime.jsx("div",{className:"text-[10px] text-text-muted",children:s("tokens.tokenDetail.holdersSummary")})]})}function ws(e,t){return O(e,t)}function Ls({chain:e,address:t,className:o}){let{token:n}=ws(e,t);return jsxRuntime.jsx(Cs,{holders:n?.marketData?.holders,top10HoldingsRatio:n?.marketData?.top10HoldingsRatio,top100HoldingsRatio:n?.marketData?.top100HoldingsRatio,className:o})}function Rs({marketCapInUsd:e,tvlInUsd:t,createdAt:o,className:n}){let{t:s}=i18n.useTranslation(),{formatAge:r}=i18n.useLocalizedTimeFormatter();return jsxRuntime.jsxs("div",{className:ui$1.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:Ie(o,r)})]}),jsxRuntime.jsx("div",{className:"text-[10px] text-text-muted",children:s("tokens.tokenDetail.marketCapSummary")})]})}function As(e,t){return O(e,t)}function Is({chain:e,address:t,className:o}){let{token:n}=As(e,t);return jsxRuntime.jsx(Rs,{marketCapInUsd:n?.marketData?.marketCapInUsd,tvlInUsd:n?.marketData?.tvlInUsd,createdAt:n?.createdAt,className:o})}function Ds({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),a=new utils.SafeBigNumber(t);return a.lte(0)?{bearish:false,priceChange:void 0}:{bearish:i.lt(a),priceChange:i.minus(a).div(a).abs().toNumber()}},[e,t]);return jsxRuntime.jsxs("div",{className:ui$1.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 Fs(e,t){return O(e,t)}function Us({chain:e,address:t,className:o}){let{token:n}=Fs(e,t);return jsxRuntime.jsx(Ds,{priceInUsd:n?.marketData?.priceInUsd,price24hAgoInUsd:n?.stats?.["24h"]?.openPriceInUsd,className:o})}function bu(e,t){switch(e){case "website":return jsxRuntime.jsx(ui$1.WebsiteIcon,{width:t,height:t});case "twitter":return jsxRuntime.jsx(ui$1.TwitterIcon,{width:t,height:t});case "telegram":return jsxRuntime.jsx(ui$1.TelegramIcon,{width:t,height:t});case "discord":return jsxRuntime.jsx(ui$1.DiscordIcon,{width:t,height:t});default:return jsxRuntime.jsx("span",{className:"text-[9px] font-medium uppercase",children:e.slice(0,2)})}}function Os({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$1.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:bu(r,o)},r))})}function Es(e,t){return O(e,t)}function Bs({chain:e,address:t,className:o,iconSize:n}){let{token:s}=Es(e,t);return jsxRuntime.jsx(Os,{socials:s?.socialMedias,className:o,iconSize:n})}function Ks({volumesInUsd:e,trades:t,traders:o,className:n}){let{t:s}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui$1.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 _s(e,t){return O(e,t)}function qs({chain:e,address:t,className:o}){let{token:n}=_s(e,t),s=n?.stats?.["24h"];return jsxRuntime.jsx(Ks,{volumesInUsd:s?.volumesInUsd,trades:s?.trades,traders:s?.traders,className:o})}function $s({chain:e,address:t,className:o}){return jsxRuntime.jsx(Ss,{className:o,price:jsxRuntime.jsx(Us,{chain:e,address:t}),marketCap:jsxRuntime.jsx(Is,{chain:e,address:t}),volume:jsxRuntime.jsx(qs,{chain:e,address:t}),holdersCount:jsxRuntime.jsx(Ls,{chain:e,address:t}),socialMedia:jsxRuntime.jsx(Bs,{chain:e,address:t})})}function qN({chain:e,address:t,actions:o,dataStrip:n,className:s,onCopyAddress:r}){let{token:i}=bs(e,t);return jsxRuntime.jsx(ys,{token:i,actions:o,dataStrip:n===void 0?jsxRuntime.jsx($s,{chain:e,address:t}):n,className:s,onCopyAddress:r})}var Iu=["holdingUsd","lastActiveAt"];function Gs({holders:e,isLoading:t,sortBy:o,sortDirection:n,onSortByChange:s,onlyTracked:r=false,onOnlyTrackedChange:i,onLoadMore:a,hasMore:d,now:l=Date.now(),wellKnownAddresses:c,className:u,renderAddress:m}){let{t:p}=i18n.useTranslation(),g=r?e.filter(f=>f.tags&&f.tags.length>0):e;return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col",u),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:Iu.map(f=>jsxRuntime.jsx("button",{type:"button",onClick:()=>s(f,n??"desc"),className:ui$1.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:[g.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")})}),g.map(f=>jsxRuntime.jsx(Mu,{holder:f,now:l,wellKnownAddresses:c,renderAddress:m},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")})})]})]})}),d&&jsxRuntime.jsx("div",{className:"flex justify-center px-3 py-2",children:jsxRuntime.jsx("button",{type:"button",onClick:a,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 Mu({holder:e,now:t,wellKnownAddresses:o,renderAddress:n}){let{formatAge:s}=i18n.useLocalizedTimeFormatter(),r=o?.[e.address],i=react.useMemo(()=>n?n(e.address):r?jsxRuntime.jsx("span",{className:"rounded bg-default-100 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-text-muted",children:r}):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-text-muted",children:ve(e.address,6,6)}),[e.address,n,r]);return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:i}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(qt,{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:Ct(e.ratio)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:e.startHoldingAt?Ie(e.startHoldingAt,s,t):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:e.lastActiveAt?Ie(e.lastActiveAt,s,t):"--"})]})}function Ys({chain:e,address:t,limit:o=50,initialSortBy:n,initialSortDirection:s}){let[r,i]=react.useState(n),[a,d]=react.useState(s),[l,c]=react.useState(void 0),[u,m]=react.useState([]),p=react.useCallback(()=>{c(void 0),m([]);},[]),g=react.useCallback((N,F)=>{N===r&&F===a||(i(N),d(F),p());},[p,r,a]),f=react.useCallback(N=>{g(N,a??"desc");},[g,a]),k=react.useCallback(N=>{N!==a&&(d(N),p());},[p,a]);react.useEffect(()=>{p();},[e,t,p]);let x=react.useMemo(()=>({chain:e,address:t,cursor:l,limit:o,sortBy:r,sortDirection:a}),[e,t,l,o,r,a]),{data:y,isPending:T,isFetching:S}=react$1.useTokenHoldersQuery(x);react.useEffect(()=>{y&&m(N=>l==null?[y]:N[N.length-1]?.endCursor===y.endCursor?N:[...N,y]);},[y,l]),react$1.useTokenSubscription({chain:e,address:t},()=>{});let h=react.useMemo(()=>u.flatMap(N=>N.data),[u]),b=u[u.length-1],w=!!(b?.hasNext&&b.endCursor),v=react.useCallback(()=>{!b?.endCursor||!b.hasNext||c(b.endCursor);},[b]);return {holders:h,isLoading:T||S,sortBy:r,sortDirection:a,setSortBy:f,setSort:g,setSortDirection:k,hasMore:w,loadMore:v}}function uC({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s,initialOnlyTracked:r=false,wellKnownAddresses:i,className:a,renderAddress:d}){let[l,c]=react.useState(r),{holders:u,isLoading:m,sortBy:p,sortDirection:g,setSort:f,hasMore:k,loadMore:x}=Ys({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s});return jsxRuntime.jsx(Gs,{holders:u,isLoading:m,sortBy:p,sortDirection:g,onSortByChange:f,onlyTracked:l,onOnlyTrackedChange:c,wellKnownAddresses:i,hasMore:k,onLoadMore:x,className:a,renderAddress:d})}var Vu=["timestamp","totalUsd"],Ku=["all","buy","sell"],_u=["all","dev","tracked","you"];function Zs({activities:e,isLoading:t,sortBy:o,sortDirection:n="desc",onSortByChange:s,typeFilter:r="all",onTypeFilterChange:i,traderFilter:a="all",onTraderFilterChange:d,youWalletAddress:l,currency:c="usd",onCurrencyChange:u,onLoadMore:m,hasMore:p,now:g=Date.now(),nativeDecimals:f=9,nativeSymbol:k="SOL",className:x,onRowClick:y}){let{t:T}=i18n.useTranslation(),S=$u(e,a,l);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col",x),children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[Ku.map(h=>jsxRuntime.jsx("button",{type:"button",onClick:()=>i?.(h),className:ui$1.cn("rounded px-2 py-1 text-[11px] transition-colors",r===h?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground"),children:T(h==="all"?"tokens.tokenDetail.filter.all":h==="buy"?"tokens.tokenDetail.filter.buys":"tokens.tokenDetail.filter.sells")},h)),jsxRuntime.jsx("span",{className:"mx-1 h-3 w-px bg-default-200","aria-hidden":true}),_u.map(h=>{let b=a===h,w=h==="you"&&!l;return jsxRuntime.jsx("button",{type:"button",disabled:w,onClick:()=>d?.(h),className:ui$1.cn("rounded px-2 py-1 text-[11px] transition-colors",b?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground",w&&"cursor-not-allowed opacity-50"),children:T(`tokens.tokenDetail.filter.${h}`)},h)})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(zu,{value:c,nativeSymbol:k,onChange:u}),jsxRuntime.jsx("div",{className:"flex items-center gap-1",children:Vu.map(h=>{let b=o===h,w=b&&n==="desc"?"asc":b&&n==="asc"?void 0:"desc",v=w?h:void 0;return jsxRuntime.jsx("button",{type:"button",onClick:()=>s(v,w),className:ui$1.cn("rounded px-2 py-1 text-[11px] transition-colors",b?"bg-default-100 text-foreground":"text-text-muted hover:text-foreground"),children:T(h==="timestamp"?"tokens.tokenDetail.filter.latest":"tokens.tokenDetail.filter.topUsd")},h)})})]})]}),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:[S.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")})}),S.map(h=>jsxRuntime.jsx(Gu,{activity:h,now:g,nativeDecimals:f,nativeSymbol:k,currency:c,onRowClick:y},h.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:m,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 qu(e){return e.type==="buy"?e.to:e.type==="sell"?e.from:e.to}function $u(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 zu({value:e,nativeSymbol:t,onChange:o}){return jsxRuntime.jsx("div",{className:"flex h-[22px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(s=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(s.k),className:ui$1.cn("rounded px-2 transition-colors",e===s.k?"bg-default-200 text-foreground":"text-text-muted hover:text-foreground"),children:s.label},s.k))})}function Qu(e,t,o){if(!e)return "--";let n=Number(e)/Math.pow(10,t);return Number.isFinite(n)?`${utils.formatAmount(n)} ${o}`:"--"}function Gu({activity:e,now:t,nativeDecimals:o,nativeSymbol:n,currency:s,onRowClick:r}){let{formatAge:i}=i18n.useLocalizedTimeFormatter(),a=qu(e),d=e.type==="buy"?"Buy":e.type==="sell"?"Sell":e.type.replace(/_/g," "),l=e.type==="buy"?"text-positive":e.type==="sell"?"text-negative":"text-text-muted";return jsxRuntime.jsxs("tr",{className:ui$1.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$1.cn("px-3 py-2 align-middle font-medium capitalize",l),children:d}),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:ve(e.walletAddress,6,6)}),jsxRuntime.jsx(tr,{tags:e.traderTags,max:2})]})}),jsxRuntime.jsxs("td",{className:"px-3 py-2 text-right align-middle",children:[utils.formatAmount(a.amount)," ",a.symbol]}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-foreground",children:s==="native"&&a.amountInNative?`${utils.formatAmount(a.amountInNative)} ${a.symbol}`:a.amountInUsd?utils.formatAmountInUsd(a.amountInUsd):"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:a.priceInUsd?`$${utils.formatPrice(a.priceInUsd)}`:"--"}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:Qu(e.gasFee,o,n)}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-right align-middle text-text-muted",children:Ie(e.time,i,t)})]})}var Xu=500;function ln({sortBy:e,sortDirection:t,typeFilter:o}){return {getKey:an,compare:(n,s)=>Zu(n,s,e,t),include:n=>Yu(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:Xu}}function oi(e){return Object.freeze({cursor:null,generation:e,mode:"replace"})}function ni(e=ln({sortDirection:"desc",typeFilter:"all"})){let{snapshot:t}=realtimeCursorCollection.createRealtimeCursorCollection(e);return {collection:t,request:oi(t.generation)}}function Rt(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:oi(s.generation)}}case "load-more":return Ju(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 Ju(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 Yu(e,t){return t==="all"?true:e.type===t}function Zu(e,t,o,n){let r=(o??"timestamp")==="totalUsd"?sn(ei(e),ei(t)):sn(mo(e),mo(t)),i=js(r,n);if(i!==0)return i;let a=js(sn(mo(e),mo(t)),"desc");return a!==0?a:an(e).localeCompare(an(t))}function js(e,t){return t==="asc"?e:-e}function sn(e,t){return e<t?-1:e>t?1:0}function mo(e){let t=e.time instanceof Date?e.time.getTime():new Date(e.time).getTime();return Number.isFinite(t)?t:0}function ei(e){let t=e.type==="sell"?e.from:e.to,o=Number(t.amountInUsd);return Number.isFinite(o)?o:0}function an(e){return e.txHash}function ii({chain:e,address:t,limit:o=50,initialSortBy:n,initialSortDirection:s="desc",initialTypeFilter:r="all"}){let[i,a]=react.useState(n),[d,l]=react.useState(s),[c,u]=react.useState(r),m=react.useMemo(()=>ln({sortBy:i,sortDirection:d,typeFilter:c}),[i,d,c]),p=react.useRef(m);p.current=m;let[g,f]=react.useState(()=>ni(m)),k=react.useRef(true),x=react.useCallback(()=>{f(V=>Rt(V,{type:"reset"},p.current));},[]),y=react.useCallback((V,Te)=>{let G=Te??(V===i?d:"desc");V===i&&G===d||(a(V),l(G),x());},[i,d,x]),T=react.useCallback(V=>{V!==d&&(l(V),x());},[d,x]),S=react.useCallback(V=>{V!==c&&(u(V),x());},[c,x]);react.useEffect(()=>{if(k.current){k.current=false;return}x();},[e,t,x]);let h=c==="all"?void 0:c,{collection:b,request:w}=g,v=react.useMemo(()=>({chain:e,address:t,cursor:w.cursor??void 0,limit:o,sortBy:i,sortDirection:d,type:h}),[e,t,w,o,i,d,h]),{data:N,isPending:F,isFetching:fe}=react$1.useTokenActivitiesQuery(v);react.useEffect(()=>{N&&f(V=>Rt(V,{type:"page",request:w,items:N.data,nextCursor:N.endCursor??null,hasNextPage:!!N.hasNext},m));},[N,w,m]),react$1.useTokenActivitiesSubscription({chain:e,address:t},V=>{V?.length&&f(Te=>Rt(Te,{type:"live",items:V},m));});let Y=react.useMemo(()=>b.items.slice(),[b]),R=!!(b.hasNextPage&&b.nextCursor),ae=react.useCallback(()=>{f(V=>Rt(V,{type:"load-more"},m));},[m]);return {activities:Y,isLoading:F||fe,sortBy:i,sortDirection:d,setSortBy:y,setSortDirection:T,typeFilter:c,setTypeFilter:S,hasMore:R,loadMore:ae}}function FC({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s,initialTypeFilter:r,initialTraderFilter:i="all",initialCurrency:a="usd",youWalletAddress:d,nativeDecimals:l,nativeSymbol:c,className:u,onRowClick:m}){let[p,g]=react.useState(i),[f,k]=react.useState(a),{activities:x,isLoading:y,sortBy:T,sortDirection:S,setSortBy:h,typeFilter:b,setTypeFilter:w,hasMore:v,loadMore:N}=ii({chain:e,address:t,limit:o,initialSortBy:n,initialSortDirection:s,initialTypeFilter:r});return jsxRuntime.jsx(Zs,{activities:x,isLoading:y,sortBy:T,sortDirection:S,onSortByChange:h,typeFilter:b,onTypeFilterChange:w,traderFilter:p,onTraderFilterChange:g,youWalletAddress:d,currency:f,onCurrencyChange:k,hasMore:v,onLoadMore:N,className:u,nativeDecimals:l,nativeSymbol:c,onRowClick:m})}function li({stats:e,resolution:t,className:o}){let{t:n}=i18n.useTranslation(),s=e?.[t],r=s?.traders??0,i=s?.buyers??0,a=s?.sellers??0;return jsxRuntime.jsx(st,{className:o,label:n("tokens.listHeader.traders",{resolution:n(`common.resolution.${t}`)}),totalFormatted:utils.formatAmount(r),buysFormatted:utils.formatAmount(i),sellsFormatted:utils.formatAmount(a),totalValue:r,buysValue:i})}function di(e,t){return O(e,t)}function YC({chain:e,address:t,resolution:o="24h",className:n}){let{token:s}=di(e,t);return jsxRuntime.jsx(li,{stats:s?.stats,resolution:o,className:n})}function ci({stats:e,resolution:t,className:o}){let{t:n}=i18n.useTranslation(),s=e?.[t],r=s?.trades??0,i=s?.buys??0,a=s?.sells??0;return jsxRuntime.jsx(st,{className:o,label:n("tokens.listHeader.txs",{resolution:n(`common.resolution.${t}`)}),totalFormatted:utils.formatAmount(r),buysFormatted:utils.formatAmount(i),sellsFormatted:utils.formatAmount(a),totalValue:r,buysValue:i})}function mi(e,t){return O(e,t)}function p0({chain:e,address:t,resolution:o="24h",className:n}){let{token:s}=mi(e,t);return jsxRuntime.jsx(ci,{stats:s?.stats,resolution:o,className:n})}function ui({stats:e,resolution:t,className:o}){let{t:n}=i18n.useTranslation(),s=e?.[t],r=s?.volumesInUsd??"0",i=s?.buyVolumesInUsd??"0",a=s?.sellVolumesInUsd??"0";return jsxRuntime.jsx(st,{className:o,label:n("tokens.listHeader.volumes",{resolution:n(`common.resolution.${t}`)}),totalFormatted:utils.formatAmountInUsd(r),buysFormatted:utils.formatAmountInUsd(i),sellsFormatted:utils.formatAmountInUsd(a),totalValue:r,buysValue:i})}function pi(e,t){return O(e,t)}function R0({chain:e,address:t,resolution:o="24h",className:n}){let{token:s}=pi(e,t);return jsxRuntime.jsx(ui,{stats:s?.stats,resolution:o,className:n})}function gi({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(a=>a.value!==void 0&&a.value===a.safeWhen);return jsxRuntime.jsxs("section",{className:ui$1.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$1.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(a=>jsxRuntime.jsx(mp,{...a},a.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 mp({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$1.cn("text-xs",t===void 0?"text-text-muted":r?"text-success-500":"text-danger-500"),children:i})]})}function ki(e,t){let{data:o,isLoading:n}=react$1.useTokenSecurityQuery({chain:e,address:t});return {security:o,isLoading:n}}function q0({chain:e,address:t,externalUrl:o,externalLabel:n,className:s}){let{security:r}=ki(e,t);return jsxRuntime.jsx(gi,{security:r,externalUrl:o,externalLabel:n,className:s})}function xi({token:e,className:t}){let{t:o}=i18n.useTranslation();return e?jsxRuntime.jsxs("section",{className:ui$1.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 Ti(e,t){return O(e,t)}function sw({chain:e,address:t,className:o}){let{token:n}=Ti(e,t);return jsxRuntime.jsx(xi,{token:n,className:o})}function bi({liquidities:e,totalTvlInUsd:t,collapseAt:o=3,className:n,onPoolClick:s}){let{t:r}=i18n.useTranslation(),[i,a]=react.useState(!e||e.length<=o),d=react.useCallback(()=>a(l=>!l),[]);return jsxRuntime.jsxs("section",{className:ui$1.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((l,c)=>jsxRuntime.jsxs("div",{className:ui$1.cn("flex h-10 w-full items-center justify-between overflow-hidden text-xs",c>=o&&!i&&"hidden",s&&"cursor-pointer hover:bg-default-50"),onClick:s?()=>s(l):void 0,children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-0.5",children:[jsxRuntime.jsx("span",{className:"text-foreground",children:l.protocolFamily??l.protocolName??r("tokens.tokenDetail.unknownProtocol")}),l.poolAddress&&jsxRuntime.jsx("span",{className:"font-mono text-[10px] text-text-muted",children:r("tokens.tokenDetail.poolAddress",{address:ve(l.poolAddress,6,6)})})]}),jsxRuntime.jsx("div",{className:"text-text-muted",children:utils.formatAmountInUsd(l.tvlInUsd??0)})]},l.poolAddress??`${l.protocolFamily}-${c}`)),e.length>o&&jsxRuntime.jsx("div",{className:"flex justify-center pt-1",children:jsxRuntime.jsx("button",{type:"button",onClick:d,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 vi(e,t){return O(e,t)}function Sw({chain:e,address:t,collapseAt:o,className:n,onPoolClick:s}){let{token:r}=vi(e,t);return jsxRuntime.jsx(bi,{liquidities:r?.liquidities,totalTvlInUsd:r?.marketData?.tvlInUsd,collapseAt:o,className:n,onPoolClick:s})}function Si({cexes:e,collapseAt:t=4,className:o}){let{t:n}=i18n.useTranslation(),[s,r]=react.useState(!e||e.length<=t),i=react.useCallback(()=>r(a=>!a),[]);return !e||e.length===0?null:jsxRuntime.jsxs("section",{className:ui$1.cn("w-full",o),children:[jsxRuntime.jsx("div",{className:"text-sm font-medium text-foreground",children:n("tokens.tokenDetail.cexListings")}),jsxRuntime.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((a,d)=>{let l=d>=t&&!s,c=jsxRuntime.jsx(ui$1.Chip,{startContent:a.logo?jsxRuntime.jsx(ui$1.Image,{src:a.logo,width:20,height:20,alt:a.name}):void 0,className:ui$1.cn("bg-default-100 text-xs",l&&"hidden"),children:a.name},a.id);return a.url?jsxRuntime.jsx("a",{href:a.url,target:"_blank",rel:"noreferrer noopener",className:ui$1.cn(l&&"hidden"),children:c},a.id):c})}),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 Ni(e){return {cexes:e}}function Ew({cexes:e,collapseAt:t,className:o}){let{cexes:n}=Ni(e);return jsxRuntime.jsx(Si,{cexes:n,collapseAt:t,className:o})}function wi({categories:e,collapseAt:t=4,className:o,onCategoryClick:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(!e||e.length<=t),a=react.useCallback(()=>i(d=>!d),[]);return !e||e.length===0?null:jsxRuntime.jsxs("section",{className:ui$1.cn("w-full",o),children:[jsxRuntime.jsx("div",{className:"text-sm font-medium text-foreground",children:s("tokens.tokenDetail.categories")}),jsxRuntime.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:e.map((d,l)=>{let c=l>=t&&!r;return jsxRuntime.jsx(ui$1.Chip,{size:"sm",className:ui$1.cn("bg-default-100",c&&"hidden",n&&"cursor-pointer"),onClick:n?()=>n(d):void 0,children:d},d)})}),e.length>t&&jsxRuntime.jsx("div",{className:"mt-3 flex justify-center",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:s(r?"tokens.tokenDetail.showLess":"tokens.tokenDetail.showMore")})})]})}function Li(e,t){return O(e,t)}function eL({chain:e,address:t,collapseAt:o,className:n,onCategoryClick:s}){let{token:r}=Li(e,t);return jsxRuntime.jsx(wi,{categories:r?.tags,collapseAt:o,className:n,onCategoryClick:s})}var Pi=["5m","1h","4h","24h"];function Ri({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),a=r.plus(i),d=r.minus(i),l=a.eq(0)?50:Math.min(100,Math.max(0,r.div(a).times(100).toNumber())),c=[{label:n("tokens.listHeader.volumes",{resolution:n(`common.resolution.${t}`)}),value:utils.formatAmountInUsd(a.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(d.abs().toString()),className:d.gte(0)?"text-positive":"text-negative"}];return jsxRuntime.jsxs("div",{className:ui$1.cn("flex h-full w-full flex-col",o),children:[jsxRuntime.jsx("div",{className:"grid flex-1 grid-cols-4 items-center",children:c.map(u=>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:u.label}),jsxRuntime.jsx("span",{className:ui$1.cn("text-[13px] font-medium leading-none tabular-nums",u.className),children:u.value})]},u.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:`${l}%`}})})]})}function Ai({stats:e,resolutions:t,className:o}){return jsxRuntime.jsx("div",{className:ui$1.cn("grid h-full w-full grid-cols-4 items-center",o),children:t.map(n=>{let r=e?.[n]?.priceChange,i=r?new utils.SafeBigNumber(r):void 0,a=i?i.gte(0):void 0,d=n,l=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:d}),jsxRuntime.jsx("span",{className:ui$1.cn("text-[13px] font-medium leading-none tabular-nums",a===void 0?"text-foreground":a?"text-positive":"text-negative"),children:l})]},n)})})}function Ii({chain:e,address:t}){let{data:o,isLoading:n}=react$1.useTokenStatsQuery({chain:e,address:t});return {stats:o,isLoading:n}}function xL({chain:e,address:t,baseResolution:o="5m",hoverResolutions:n=Pi,height:s=64,className:r}){let{stats:i}=Ii({chain:e,address:t});return jsxRuntime.jsx(uiScaffold.StatsFlipPanel,{className:r,height:s,base:jsxRuntime.jsx(Ri,{stats:i,resolution:o}),hover:jsxRuntime.jsx(Ai,{stats:i,resolutions:n})})}function Mi({positions:e,isLoading:t,hasMore:o,onLoadMore:n,currency:s="usd",onCurrencyChange:r,showHidden:i=false,onShowHiddenChange:a,nativeSymbol:d,renderActions:l,className:c}){let{t:u}=i18n.useTranslation(),m=d??u("tokens.tokenDetail.native");return jsxRuntime.jsxs("div",{className:ui$1.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:u("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=>a?.(p.target.checked)}),u("tokens.tokenDetail.filter.showHidden")]})]}),jsxRuntime.jsx(qp,{value:s,nativeSymbol:m,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:u("tokens.tokenDetail.columns.token")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:u("tokens.tokenDetail.columns.bought")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:u("tokens.tokenDetail.columns.sold")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:u("tokens.tokenDetail.columns.remaining")}),jsxRuntime.jsx("th",{className:"w-[18%] px-3 py-2 text-right font-normal",children:u("tokens.tokenDetail.columns.pnl")}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:u("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:u("tokens.tokenDetail.positions.empty")})}),e.map(p=>jsxRuntime.jsx($p,{position:p,currency:s,renderActions:l},`${p.chain}:${p.address}`)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:u("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:u("tokens.tokenDetail.loadMore")})})]})}function qp({value:e,nativeSymbol:t,onChange:o}){return jsxRuntime.jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(s=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(s.k),className:ui$1.cn("rounded px-2 transition-colors",e===s.k?"bg-default-200 text-foreground":"text-text-muted hover:text-foreground"),children:s.label},s.k))})}function $p({position:e,currency:t,renderActions:o}){let{bought:n,sold:s,remaining:r,pnl:i}=react.useMemo(()=>zp(e,t),[e,t]),a=jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui$1.Avatar,{src:e.image??void 0,name:(e.symbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col",children:[jsxRuntime.jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsxRuntime.jsx("span",{className:"truncate text-[10px] text-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:a}),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$1.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 zp(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),a=t==="usd"?utils.formatAmountInUsd(n??0):utils.formatAmount(n??0),d=t==="usd"?utils.formatAmountInUsd(s??0):utils.formatAmount(s??0),l=r?new utils.SafeBigNumber(r):void 0,c=l?l.gte(0):void 0,u=l?(c?"+":"")+utils.formatAmountInUsd(l.toString()):"--",m=e.totalProfitRatio?utils.formatPercent(e.totalProfitRatio,{showPlusGtThanZero:true}):void 0;return {bought:i,sold:a,remaining:d,pnl:{amount:u,ratio:m,isPositive:c}}}function Fi({chain:e,wallet:t,limit:o=50,initialShowHidden:n=false}){let[s,r]=react.useState(void 0),[i,a]=react.useState([]),[d,l]=react.useState(n);react.useEffect(()=>{r(void 0),a([]);},[e,t]);let c=react.useMemo(()=>({chain:e,address:t??"",cursor:s,limit:o,positionState:"open"}),[e,t,s,o]),{data:u,isPending:m,isFetching:p}=react$1.useWalletTokenPositionsQuery(c,{enabled:!!t});react.useEffect(()=>{u&&a(y=>s==null?[u]:y[y.length-1]?.endCursor===u.endCursor?y:[...y,u]);},[u,s]);let g=react.useMemo(()=>i.flatMap(y=>y.portfolios),[i]),f=i[i.length-1],k=!!(f?.hasNext&&f.endCursor),x=react.useCallback(()=>{!f?.endCursor||!f.hasNext||r(f.endCursor);},[f]);return {positions:g,isLoading:!!t&&(m||p),hasMore:k,loadMore:x,showHidden:d,setShowHidden:l}}function UL({chain:e,wallet:t,limit:o,initialCurrency:n="usd",nativeSymbol:s,renderActions:r,className:i}){let[a,d]=react.useState(n),{positions:l,isLoading:c,hasMore:u,loadMore:m,showHidden:p,setShowHidden:g}=Fi({chain:e,wallet:t,limit:o});return jsxRuntime.jsx(Mi,{className:i,positions:l,isLoading:c,hasMore:u,onLoadMore:m,currency:a,onCurrencyChange:d,showHidden:p,onShowHiddenChange:g,nativeSymbol:s,renderActions:r})}function Oi({orders:e,isLoading:t,unavailable:o,hasMore:n,onLoadMore:s,stateFilter:r,onStateFilterChange:i,onlyThisToken:a=false,onOnlyThisTokenChange:d,tokenSymbol:l,currency:c="usd",onCurrencyChange:u,nativeSymbol:m,onCancelAll:p,renderActions:g,className:f}){let{t:k}=i18n.useTranslation(),x=m??k("tokens.tokenDetail.native");return jsxRuntime.jsxs("div",{className:ui$1.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(y=>jsxRuntime.jsx("button",{type:"button",onClick:()=>i(y.k),className:ui$1.cn("rounded px-2 transition-colors",r===y.k?"bg-default-200 text-foreground":"text-text-muted hover:text-foreground"),children:k(y.labelKey)},y.k))}),l?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:a,onChange:y=>d?.(y.target.checked)}),k("tokens.tokenDetail.filter.onlyToken",{symbol:l})]}):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:k("tokens.tokenDetail.cancelAll")}):null,jsxRuntime.jsx(nf,{value:c,nativeSymbol:x,onChange:u})]})]}),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:k("tokens.tokenDetail.columns.token")}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-left font-normal",children:k("tokens.tokenDetail.columns.type")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:k("tokens.tokenDetail.columns.amount")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:k("tokens.tokenDetail.columns.currentMarketCap")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:k("tokens.tokenDetail.columns.targetMarketCap")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:k("tokens.tokenDetail.columns.settings")}),jsxRuntime.jsx("th",{className:"w-[12%] px-3 py-2 text-right font-normal",children:k("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:k("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:k(r==="active"?"tokens.tokenDetail.orders.emptyActive":"tokens.tokenDetail.orders.emptyHistorical")})}):e.map(y=>jsxRuntime.jsx(rf,{order:y,currency:c,renderActions:g},y.id)),t&&!o&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:7,className:"py-4 text-center text-text-muted",children:k("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:k("tokens.tokenDetail.loadMore")})})]})}function nf({value:e,nativeSymbol:t,onChange:o}){return jsxRuntime.jsx("div",{className:"flex h-[24px] items-center rounded bg-default-100 p-[2px] text-[11px]",children:[{k:"usd",label:"USD"},{k:"native",label:t}].map(s=>jsxRuntime.jsx("button",{type:"button",onClick:()=>o?.(s.k),className:ui$1.cn("rounded px-2 transition-colors",e===s.k?"bg-default-200 text-foreground":"text-text-muted hover:text-foreground"),children:s.label},s.k))})}function rf({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$1.Avatar,{src:e.tokenImage??void 0,name:(e.tokenSymbol??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxRuntime.jsx("span",{className:"truncate text-foreground",children:e.tokenSymbol??"--"})]})}),jsxRuntime.jsx("td",{className:ui$1.cn("px-3 py-2 align-middle font-medium",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 af(e){return e instanceof Error&&e.code==="NotImplemented"}function lf(e){return e==="active"?"active":"filled"}function Vi({chain:e,wallet:t,tokenAddress:o,limit:n=50,initialStateFilter:s="active",initialOnlyThisToken:r=false}){let[i,a]=react.useState(s),[d,l]=react.useState(r),[c,u]=react.useState(void 0),[m,p]=react.useState([]);react.useEffect(()=>{u(void 0),p([]);},[e,t,i,d,o]);let g=react.useCallback(N=>{N!==i&&a(N);},[i]),f=react.useMemo(()=>({chain:e,address:t??"",cursor:c,limit:n,state:lf(i),tokenAddress:d?o:void 0}),[e,t,c,n,i,d,o]),{data:k,isPending:x,isFetching:y,error:T}=react$1.useWalletLimitOrdersQuery(f,{enabled:!!t});react.useEffect(()=>{k&&p(N=>c==null?[k]:N[N.length-1]?.endCursor===k.endCursor?N:[...N,k]);},[k,c]);let S=!!T&&af(T),h=react.useMemo(()=>m.flatMap(N=>N.data),[m]),b=m[m.length-1],w=!!(b?.hasNext&&b.endCursor),v=react.useCallback(()=>{!b?.endCursor||!b.hasNext||u(b.endCursor);},[b]);return {orders:h,isLoading:!!t&&!S&&(x||y),unavailable:S,hasMore:w,loadMore:v,stateFilter:i,setStateFilter:g,onlyThisToken:d,setOnlyThisToken:l}}function tP({chain:e,wallet:t,tokenAddress:o,tokenSymbol:n,limit:s,initialStateFilter:r="active",initialCurrency:i="usd",nativeSymbol:a,onCancelAll:d,renderActions:l,className:c}){let[u,m]=react.useState(i),{orders:p,isLoading:g,unavailable:f,hasMore:k,loadMore:x,stateFilter:y,setStateFilter:T,onlyThisToken:S,setOnlyThisToken:h}=Vi({chain:e,wallet:t,tokenAddress:o,limit:s,initialStateFilter:r});return jsxRuntime.jsx(Oi,{className:c,orders:p,isLoading:g,unavailable:f,hasMore:k,onLoadMore:x,stateFilter:y,onStateFilterChange:T,onlyThisToken:S,onOnlyThisTokenChange:h,tokenSymbol:n,currency:u,onCurrencyChange:m,nativeSymbol:a,onCancelAll:f?void 0:d,renderActions:l})}function _i({traders:e,isLoading:t,hasMore:o,onLoadMore:n,onlyTracked:s=false,onOnlyTrackedChange:r,now:i=Date.now(),renderAddress:a,className:d}){let{t:l}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col",d),children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:[jsxRuntime.jsx("span",{className:"text-xs font-medium text-text-muted",children:l("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:c=>r?.(c.target.checked)}),l("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:l("tokens.tokenDetail.columns.wallet")}),jsxRuntime.jsx("th",{className:"w-[20%] px-3 py-2 text-left font-normal",children:l("tokens.tokenDetail.columns.tags")}),jsxRuntime.jsx("th",{className:"w-[15%] px-3 py-2 text-right font-normal",children:l("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:l("tokens.tokenDetail.columns.realizedPnl")}),jsxRuntime.jsx("th",{className:"w-[13%] px-3 py-2 text-right font-normal",children:l("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:l("tokens.tokenDetail.topTraders.empty")})}),e.map(c=>jsxRuntime.jsx(gf,{trader:c,now:i,renderAddress:a},c.address)),t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:l("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:l("tokens.tokenDetail.loadMore")})})]})}function gf({trader:e,now:t,renderAddress:o}){let{formatAge:n}=i18n.useLocalizedTimeFormatter(),s=react.useMemo(()=>o?o(e.address):jsxRuntime.jsx("span",{className:"font-mono text-[11px] text-text-muted",children:ve(e.address,6,6)}),[e.address,o]);return jsxRuntime.jsxs("tr",{className:"border-b border-default-50 hover:bg-default-50/60",children:[jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:s}),jsxRuntime.jsx("td",{className:"px-3 py-2 align-middle",children:jsxRuntime.jsx(qt,{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?Ie(e.lastActiveAt,n,t):"--"})]})}function $i({chain:e,address:t,limit:o=50,initialSortBy:n,initialSortDirection:s,initialOnlyTracked:r=false}){let[i,a]=react.useState(n),[d,l]=react.useState(s),[c,u]=react.useState(void 0),[m,p]=react.useState([]),[g,f]=react.useState(r),k=react.useCallback(()=>{u(void 0),p([]);},[]),x=react.useCallback((R,ae)=>{R===i&&ae===d||(a(R),l(ae),k());},[k,i,d]),y=react.useCallback(R=>{x(R,d??"desc");},[x,d]),T=react.useCallback(R=>{R!==d&&(l(R),k());},[k,d]);react.useEffect(()=>{k();},[e,t,k]);let S=react.useMemo(()=>({chain:e,address:t,cursor:c,limit:o,sortBy:i,sortDirection:d}),[e,t,c,o,i,d]),{data:h,isPending:b,isFetching:w}=react$1.useTokenTopTradersQuery(S);react.useEffect(()=>{h&&p(R=>c==null?[h]:R[R.length-1]?.endCursor===h.endCursor?R:[...R,h]);},[h,c]);let v=react.useMemo(()=>m.flatMap(R=>R.data),[m]),N=react.useMemo(()=>g?v.filter(R=>R.tags&&R.tags.length>0):v,[v,g]),F=m[m.length-1],fe=!!(F?.hasNext&&F.endCursor),Y=react.useCallback(()=>{!F?.endCursor||!F.hasNext||u(F.endCursor);},[F]);return {traders:N,isLoading:b||w,sortBy:i,sortDirection:d,setSortBy:y,setSortDirection:T,setSort:x,hasMore:fe,loadMore:Y,onlyTracked:g,setOnlyTracked:f}}function bP({chain:e,address:t,limit:o,className:n,renderAddress:s}){let{traders:r,isLoading:i,hasMore:a,loadMore:d,onlyTracked:l,setOnlyTracked:c}=$i({chain:e,address:t,limit:o});return jsxRuntime.jsx(_i,{className:n,traders:r,isLoading:i,hasMore:a,onLoadMore:d,onlyTracked:l,onOnlyTrackedChange:c,renderAddress:s})}var yf="\u2713";function Xi({tokens:e,isLoading:t,unavailable:o,hasMore:n,onLoadMore:s,renderTokenLink:r,className:i}){let{t:a}=i18n.useTranslation();return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col",i),children:[jsxRuntime.jsx("div",{className:"flex items-center justify-between gap-4 px-3 py-2",children:jsxRuntime.jsx("span",{className:"text-xs font-medium text-text-muted",children:a("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:a("tokens.tokenDetail.columns.token")}),jsxRuntime.jsx("th",{className:"w-[10%] px-3 py-2 text-center font-normal",children:a("tokens.tokenDetail.columns.migrated")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:a("tokens.tokenDetail.columns.marketCap")}),jsxRuntime.jsx("th",{className:"w-[14%] px-3 py-2 text-right font-normal",children:a("tokens.tokenDetail.columns.ath")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:a("tokens.tokenDetail.liquidity")}),jsxRuntime.jsx("th",{className:"w-[16%] px-3 py-2 text-right font-normal",children:a("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:a("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:a("tokens.tokenDetail.devTokens.empty")})}):e.map(d=>jsxRuntime.jsx(bf,{token:d,renderTokenLink:r},`${d.chain}:${d.address}`)),!o&&t&&jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:6,className:"py-4 text-center text-text-muted",children:a("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:a("tokens.tokenDetail.loadMore")})})]})}function bf({token:e,renderTokenLink:t}){let o=e.marketData?.marketCapInUsd??e.marketData?.marketCap,n=e.marketData?.tvlInUsd,r=e.stats?.["1h"]?.volumesInUsd,i=!!e.migratedTo,a=t?t(e):jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx(ui$1.Avatar,{src:e.image??void 0,name:(e.symbol??e.name??"?").slice(0,1),className:"size-5 shrink-0 rounded-full bg-default-200 text-[10px]",showFallback:true}),jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-col",children:[jsxRuntime.jsx("span",{className:"truncate text-foreground",children:e.symbol}),jsxRuntime.jsx("span",{className:"truncate text-[10px] text-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:a}),jsxRuntime.jsx("td",{className:"px-3 py-2 text-center align-middle",children:i?jsxRuntime.jsx("span",{className:"text-positive",children:yf}):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 Ji({tokens:e,className:t}){let{t:o}=i18n.useTranslation(),n=e.length,s=e.filter(d=>!!d.migratedTo).length,r=n===0?0:Math.round(s/n*100),i=e.map(d=>d.stats?.["1h"]?.volumesInUsd??"0").reduce((d,l)=>d.plus(new utils.SafeBigNumber(l)),new utils.SafeBigNumber(0)),a=e.map(d=>d.marketData?.marketCapInUsd??d.marketData?.marketCap??"0").reduce((d,l)=>d.plus(new utils.SafeBigNumber(l)),new utils.SafeBigNumber(0));return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-2 p-3",t),children:[jsxRuntime.jsx("div",{className:"flex items-center justify-between",children:jsxRuntime.jsx("span",{className:"text-xs font-medium text-text-muted",children:o("tokens.tokenDetail.devTokens.stats")})}),jsxRuntime.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[jsxRuntime.jsx(ho,{label:o("tokens.tokenDetail.devTokens.total"),value:String(n)}),jsxRuntime.jsx(ho,{label:o("tokens.tokenDetail.columns.migrated"),value:`${s} (${r}%)`}),jsxRuntime.jsx(ho,{label:o("tokens.tokenDetail.devTokens.totalMarketCap"),value:utils.formatMCapInUsd(a.toString())}),jsxRuntime.jsx(ho,{label:o("tokens.tokenDetail.devTokens.totalVolume1h"),value:utils.formatAmountInUsd(i.toString())})]})]})}function ho({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 Sf(e){return e instanceof Error&&e.code==="NotImplemented"}function ta({chain:e,creator:t,limit:o=20}){let[n,s]=react.useState(void 0),[r,i]=react.useState([]),a=react.useCallback(()=>{s(void 0),i([]);},[]);react.useEffect(()=>{a();},[e,t,a]);let d=react.useMemo(()=>({chain:e,creator:t??"",cursor:n,limit:o}),[e,t,n,o]),{data:l,isPending:c,isFetching:u,error:m}=react$1.useTokensByCreatorQuery(d,{enabled:!!t});react.useEffect(()=>{l&&i(y=>n==null?[l]:y[y.length-1]?.endCursor===l.endCursor?y:[...y,l]);},[l,n]);let p=react.useMemo(()=>r.flatMap(y=>y.data),[r]),g=r[r.length-1],f=!!(g?.hasNext&&g.endCursor),k=!!m&&Sf(m),x=react.useCallback(()=>{!g?.endCursor||!g.hasNext||s(g.endCursor);},[g]);return {tokens:p,isLoading:!!t&&!k&&(c||u),unavailable:k,hasMore:f,loadMore:x}}function EP({chain:e,creator:t,limit:o,showSummary:n=false,renderTokenLink:s,className:r}){let{tokens:i,isLoading:a,unavailable:d,hasMore:l,loadMore:c}=ta({chain:e,creator:t,limit:o});return jsxRuntime.jsxs("div",{className:r,children:[jsxRuntime.jsx(Xi,{tokens:i,isLoading:a,unavailable:d,hasMore:l,onLoadMore:c,renderTokenLink:s}),n&&!d?jsxRuntime.jsx(Ji,{tokens:i}):null]})}function ia({token:e,athInUsd:t,athAt:o,globalFeesPaidInUsd:n,rank:s,onTogglePin:r,pinned:i,className:a}){let{t:d}=i18n.useTranslation(),l=e?.marketData?.priceInUsd,c=e?.marketData?.tvlInUsd,u=e?.marketData?.totalSupply;return jsxRuntime.jsxs("div",{className:ui$1.cn("flex h-[48px] w-full flex-row items-center gap-4 overflow-x-auto px-3 text-[12px]",a),children:[jsxRuntime.jsx(mt,{label:d("tokens.tokenDetail.chart.price"),value:l?utils.formatPriceInUsd(l):"--"}),jsxRuntime.jsx(mt,{label:d("tokens.tokenDetail.chart.liquidity"),value:c?utils.formatAmountInUsd(c):"--"}),jsxRuntime.jsx(mt,{label:d("tokens.tokenDetail.chart.supply"),value:u?utils.formatAmount(u):"--"}),n?jsxRuntime.jsx(mt,{label:d("tokens.tokenDetail.chart.feesPaid"),value:utils.formatAmountInUsd(n)}):null,t?jsxRuntime.jsx(mt,{label:d("tokens.tokenDetail.chart.ath"),value:utils.formatPriceInUsd(t),title:o?d("tokens.tokenDetail.chart.athAt",{date:o.toLocaleDateString()}):void 0}):null,s!==void 0?jsxRuntime.jsx(mt,{label:d("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$1.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:d(i?"tokens.tokenDetail.chart.unpin":"tokens.tokenDetail.chart.pin"),children:i?"\u2605":"\u2606"}):null]})}function mt({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 la({chain:e,address:t}){return O(e,t)}function e1({chain:e,address:t,athInUsd:o,athAt:n,globalFeesPaidInUsd:s,rank:r,pinned:i,onTogglePin:a,className:d}){let{token:l}=la({chain:e,address:t});return jsxRuntime.jsx(ia,{className:d,token:l,athInUsd:o,athAt:n,globalFeesPaidInUsd:s,rank:r,pinned:i,onTogglePin:a})}function da({tokens:e,isLoading:t,unavailable:o,onTokenClick:n,className:s}){let{t:r}=i18n.useTranslation();return o?jsxRuntime.jsx("div",{className:ui$1.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$1.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$1.cn("flex flex-col",s),children:[e.map(i=>jsxRuntime.jsxs("li",{className:ui$1.cn("flex cursor-pointer items-center gap-2 border-b border-default-50 px-3 py-2 last:border-0 hover:bg-default-50/60",!n&&"cursor-default"),onClick:n?()=>n(i):void 0,children:[jsxRuntime.jsx(ui$1.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 ca({chain:e,address:t,keyword:o,limit:n=10}){let s=!!o&&o.length>0,{data:r,isPending:i,isFetching:a}=react$1.useSearchTokensQuery({chains:[e],keyword:o,limit:n+1},{enabled:s});return {tokens:react.useMemo(()=>{if(!r)return [];let l=t.toLowerCase();return (r.data??[]).filter(c=>c.address.toLowerCase()!==l).slice(0,n)},[r,t,n]),isLoading:s&&(i||a),unavailable:!s}}function x1({chain:e,address:t,keyword:o,limit:n,onTokenClick:s,className:r}){let{tokens:i,isLoading:a,unavailable:d}=ca({chain:e,address:t,keyword:o,limit:n});return jsxRuntime.jsx(da,{className:r,tokens:i,isLoading:a,unavailable:d,onTokenClick:s})}function ma({tokens:e=[],unavailable:t=true,onTokenClick:o,className:n}){let{t:s}=i18n.useTranslation();return t?jsxRuntime.jsx("div",{className:ui$1.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$1.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$1.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$1.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 ua(e){return {tokens:[],isLoading:false,unavailable:true}}function I1({chain:e,address:t,onTokenClick:o,className:n}){let{tokens:s,unavailable:r}=ua();return jsxRuntime.jsx(ma,{className:n,tokens:s,unavailable:r,onTokenClick:o})}function xa({keywords:e,excludeKeywords:t,onKeywordsChange:o,onExcludeKeywordsChange:n,className:s}){let{t:r}=i18n.useTranslation(),[i,a]=react.useState(e?.join(", ")??""),[d,l]=react.useState(t?.join(", ")??"");react.useEffect(()=>{a(m=>{let p=bo(m);return p===void 0&&e===void 0?m:p===void 0?e?.join(", ")??"":e===void 0?"":p.join("")===e.join("")?m:e.join(", ")});},[e]),react.useEffect(()=>{l(m=>{let p=bo(m);return p===void 0&&t===void 0?m:p===void 0?t?.join(", ")??"":t===void 0?"":p.join("")===t.join("")?m:t.join(", ")});},[t]);let c=react.useCallback(m=>{a(m),o?.(bo(m));},[o]),u=react.useCallback(m=>{l(m),n?.(bo(m));},[n]);return jsxRuntime.jsxs("div",{className:ui$1.cn("grid grid-cols-2 gap-3 px-4",s),children:[jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-text-muted",children:r("tokens.filters.keywords.title")}),jsxRuntime.jsx(ui$1.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:i,onValueChange:c})]}),jsxRuntime.jsxs("div",{className:"flex flex-col gap-3",children:[jsxRuntime.jsx("h3",{className:"text-xs text-text-muted",children:r("tokens.filters.keywords.exclude.title")}),jsxRuntime.jsx(ui$1.StyledInput,{variant:"bordered",radius:"lg",size:"sm",placeholder:r("tokens.filters.keywords.placeholder"),value:d,onValueChange:u})]})]})}function bo(e){let t=e.split(",").map(o=>o.trim()).filter(Boolean);return t.length>0?t:void 0}function Sa({protocols:e,selectedProtocols:t=[],onSelectedProtocolsChange:o,className:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let a=react.useMemo(()=>e.every(c=>r.includes(c)),[e,r]),d=react.useCallback(()=>{if(a){let c=[];i(c),o?.(c);}else {let c=[...e];i(c),o?.(c);}},[e,o,a]),l=react.useCallback(c=>()=>{if(r.includes(c)){let u=r.filter(m=>m!==c);i(u),o?.(u);}else {let u=[...r,c];i(u),o?.(u);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui$1.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$1.Button,{variant:"light",color:"default",size:"sm",radius:"full",onPress:d,children:s(a?"tokens.filters.protocols.unselectAll":"tokens.filters.protocols.selectAll")})]}),jsxRuntime.jsx("div",{className:"grid grid-cols-3 gap-3",children:e.map(c=>{let u=_e(c);return jsxRuntime.jsx(ui$1.Button,{variant:"bordered",size:"sm",radius:"full",className:ui$1.cn("w-fit h-6 px-2.5",u.text,u.bg5,"border",u.border,{"opacity-40 data-[hover=true]:!opacity-30":!r.includes(c)}),startContent:jsxRuntime.jsx(ui$1.Image,{width:14,height:14,src:`/images/protocols/${c}.svg`,alt:utils.formatTokenProtocolName(c)}),onPress:l(c),children:utils.formatTokenProtocolName(c)},c)})})]})}function Le({title:e,field:t,value:o,onChange:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(o?Pn(o).min:NaN),[a,d]=react.useState(o?Pn(o).max:NaN);react.useEffect(()=>{if(o===void 0)i(NaN),d(NaN);else {let{min:u,max:m}=Pn(o);i(u),d(m);}},[o]);let l=react.useCallback(u=>{i(u),n?.(La(t,u,a));},[t,n,a]),c=react.useCallback(u=>{d(u),n?.(La(t,r,u));},[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$1.StyledNumberInput,{value:r,onValueChange:l,variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.stats.min"),"aria-label":`${e} min`}),jsxRuntime.jsx(ui$1.StyledNumberInput,{value:a,onValueChange:c,variant:"bordered",radius:"lg",size:"sm",placeholder:s("tokens.filters.stats.max"),"aria-label":`${e} max`})]})]})}function Pn(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 La(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 Ra({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(a=>d=>{if(d===void 0){let l=(s??[]).filter(c=>c.field!==a);l=l.length>0?l:void 0,r(l),t?.(l);}else {let l=[...(s??[]).filter(c=>c.field!==a),d];r(l),t?.(l);}},[s,t]);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-4",o),children:[jsxRuntime.jsx(Le,{field:"holders",title:n("tokens.filters.stats.audits.holders"),value:s?.find(a=>a.field==="holders"),onChange:i("holders")}),jsxRuntime.jsx(Le,{field:"top10Ratio",title:n("tokens.filters.stats.audits.top10HoldingsRatio"),value:s?.find(a=>a.field==="top10Ratio"),onChange:i("top10Ratio")}),jsxRuntime.jsx(Le,{field:"top100Ratio",title:n("tokens.filters.stats.audits.top100HoldingsRatio"),value:s?.find(a=>a.field==="top100Ratio"),onChange:i("top100Ratio")}),jsxRuntime.jsx(Le,{field:"creatorsRatio",title:n("tokens.filters.stats.audits.devHoldingsRatio"),value:s?.find(a=>a.field==="creatorsRatio"),onChange:i("creatorsRatio")})]})}function Aa({resolution:e,values:t,onValuesChange:o,className:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState(t);react.useEffect(()=>{i(t);},[t]);let a=react.useCallback(d=>l=>{if(l===void 0){let c=(r??[]).filter(u=>u.field!==d);c=c.length>0?c:void 0,i(c),o?.(c);}else {let c=[...(r??[]).filter(u=>u.field!==d),l];i(c),o?.(c);}},[r,o]);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-4",n),children:[jsxRuntime.jsx(Le,{field:"marketCap",title:s("tokens.filters.stats.metrics.marketCap"),value:r?.find(d=>d.field==="marketCap"),onChange:a("marketCap")}),jsxRuntime.jsx(Le,{field:"tvl",title:s("tokens.filters.stats.metrics.liquidity"),value:r?.find(d=>d.field==="tvl"),onChange:a("tvl")}),jsxRuntime.jsx(Le,{field:`volumes${e}`,title:s("tokens.filters.stats.metrics.volumes",{resolution:s(`common.resolution.${e}`)}),value:r?.find(d=>d.field===`volumes${e}`),onChange:a(`volumes${e}`)}),jsxRuntime.jsx(Le,{field:`trades${e}`,title:s("tokens.filters.stats.metrics.txns",{resolution:s(`common.resolution.${e}`)}),value:r?.find(d=>d.field===`trades${e}`),onChange:a(`trades${e}`)})]})}function Ua({resolution:e,values:t,onValuesChange:o,className:n}){let{t:s}=i18n.useTranslation(),[r,i]=react.useState("audits"),[a,d]=react.useState(t);react.useEffect(()=>{d(t);},[t]);let l=react.useCallback(m=>{d(m),o?.(m);},[o]),c=react.useMemo(()=>{let m=["holders","top10Ratio","top100Ratio","creatorsRatio"];return a?.filter(p=>m.includes(p.field))?.length??0},[a]),u=react.useMemo(()=>{let m=["marketCap","tvl",`volumes${e}`,`trades${e}`];return a?.filter(p=>m.includes(p.field)).length??0},[a,e]);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-3 px-4",n),children:[jsxRuntime.jsxs(ui$1.StyledLightTabs,{color:"default",radius:"full",size:"sm",selectedKey:r,onSelectionChange:i,children:[jsxRuntime.jsx(ui$1.Tab,{title:c===0?s("tokens.filters.stats.audits"):jsxRuntime.jsx(ui$1.StyledBadge,{color:"primary",size:"sm",content:c,shape:"circle",children:s("tokens.filters.stats.audits")})},"audits"),jsxRuntime.jsx(ui$1.Tab,{title:u===0?s("tokens.filters.stats.metrics"):jsxRuntime.jsx(ui$1.StyledBadge,{color:"primary",size:"sm",content:u,shape:"circle",children:s("tokens.filters.stats.metrics")})},"metrics")]}),jsxRuntime.jsx(Ra,{values:a,onValuesChange:l,className:ui$1.cn({hidden:r!=="audits"})}),jsxRuntime.jsx(Aa,{values:a,onValuesChange:l,resolution:e,className:ui$1.cn({hidden:r!=="metrics"})})]})}function Ro({protocols:e,resolution:t,filters:o,onFiltersChange:n,className:s}){let[r,i]=react.useState(Oa(o?.filters,e));react.useEffect(()=>{i(Oa(o?.filters,e));},[o?.filters,e]);let[a,d]=react.useState(o?.keywords);react.useEffect(()=>{d(o?.keywords);},[o?.keywords]);let[l,c]=react.useState(o?.excludeKeywords);react.useEffect(()=>{c(o?.excludeKeywords);},[o?.excludeKeywords]);let[u,m]=react.useState(o?.filters);react.useEffect(()=>{m(o?.filters);},[o?.filters]);let p=react.useCallback(x=>{i(x),n?.(Po(e,x,a,l,u));},[e,a,l,u,n]),g=react.useCallback(x=>{d(x),n?.(Po(e,r,x,l,u));},[e,r,l,u,n]),f=react.useCallback(x=>{c(x),n?.(Po(e,r,a,x,u));},[e,r,a,u,n]),k=react.useCallback(x=>{m(x),n?.(Po(e,r,a,l,x));},[e,r,a,l,n]);return jsxRuntime.jsxs("div",{className:ui$1.cn("flex flex-col gap-4",s),children:[e&&e.length>0&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Sa,{protocols:e,selectedProtocols:r,onSelectedProtocolsChange:p}),jsxRuntime.jsx("div",{style:{height:1,background:"var(--color-surface-strong)"}})]}),jsxRuntime.jsx(xa,{keywords:a,excludeKeywords:l,onKeywordsChange:g,onExcludeKeywordsChange:f}),jsxRuntime.jsx("div",{style:{height:1,background:"var(--color-surface-strong)"}}),jsxRuntime.jsx(Ua,{resolution:t,values:u,onValuesChange:k})]})}function Oa(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 Po(e,t,o,n,s){let r=s?[...s.filter(i=>i.field!=="launchedFromProtocolFamily")]:[];return e&&e.length>0&&(e.every(a=>t.includes(a))||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 Va({protocols:e,resolution:t,filters:o,onFiltersChange:n,triggerVariant:s="default",badgePlacement:r="outer",className:i}){let{t:a}=i18n.useTranslation(),{isOpen:d,onOpen:l,onClose:c,onOpenChange:u}=ui$1.useDisclosure(),[m,p]=react.useState(o),g=react.useCallback(()=>{p(void 0);},[]),f=react.useCallback(()=>{n?.(m),c();},[m,n,c]);react.useEffect(()=>{p(o);},[d,o]);let k=react.useMemo(()=>Object.values(o||{}).every(x=>x===void 0),[o]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("button",{type:"button",className:i,onClick:l,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$1.FilterIcon,{width:16,height:16,className:"text-text-secondary"}),!k&&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$1.StyledModal,{isOpen:d,onOpenChange:u,size:"md",scrollBehavior:"inside",children:jsxRuntime.jsxs(ui$1.ModalContent,{className:"w-full h-full",children:[jsxRuntime.jsx(ui$1.ModalHeader,{className:"px-4 py-2",children:jsxRuntime.jsx("span",{className:"text-base font-semibold",children:a("tokens.filters.modal.title")})}),jsxRuntime.jsx(ui$1.ModalBody,{className:"px-0 pt-0 pb-4",children:jsxRuntime.jsx(ui$1.ScrollShadow,{children:jsxRuntime.jsx(Ro,{protocols:e,resolution:t,filters:m,onFiltersChange:p,className:"pb-4"})})}),jsxRuntime.jsx(ui$1.ModalFooter,{className:"px-4",children:jsxRuntime.jsxs("div",{className:"w-full flex justify-between items-center",children:[jsxRuntime.jsx(ui$1.Button,{variant:"light",color:"default",size:"sm",radius:"full",startContent:jsxRuntime.jsx(ui$1.RefreshIcon,{width:16,height:16}),onPress:g,children:a("common.reset")}),jsxRuntime.jsx(ui$1.Button,{color:"primary",size:"sm",radius:"full",onPress:f,children:a("common.apply")})]})})]})})]})}var $a={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},Ag={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"},Ig={height:1,background:"var(--color-surface-strong)",margin:0};function za({protocols:e,resolution:t,filters:o,onFiltersChange:n,iconOnly:s=false,className:r}){let{t:i}=i18n.useTranslation(),[a,d]=react.useState(false),l=react.useRef(null),[c,u]=react.useState(o),m=react.useCallback(()=>{u(void 0);},[]),p=react.useCallback(()=>{n?.(c),d(false);},[c,n]);react.useEffect(()=>{u(o);},[a,o]),react.useEffect(()=>{let f=k=>{l.current&&!l.current.contains(k.target)&&d(false);};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[]),react.useEffect(()=>{if(!a)return;let f=k=>{k.key==="Escape"&&d(false);};return document.addEventListener("keydown",f),()=>document.removeEventListener("keydown",f)},[a]);let g=react.useMemo(()=>Object.values(o||{}).every(f=>f===void 0),[o]);return jsxRuntime.jsxs("div",{ref:l,style:{position:"relative"},children:[jsxRuntime.jsxs("div",{style:{position:"relative",display:"inline-flex"},children:[jsxRuntime.jsxs("button",{type:"button",className:r,style:s?{...$a,justifyContent:"center",gap:0,width:32,minWidth:32,padding:0}:$a,onMouseEnter:f=>{f.currentTarget.style.background="var(--color-surface-strong)";},onMouseLeave:f=>{f.currentTarget.style.background="hsl(var(--heroui-content3) / 0.6)";},onClick:()=>d(f=>!f),children:[jsxRuntime.jsx(ui$1.FilterIcon,{width:16,height:16,className:"flex-none"}),!s&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("span",{className:"hidden sm:block",children:i("tokens.listHeader.filter")}),jsxRuntime.jsx(Mg,{open:a})]})]}),!g&&jsxRuntime.jsx("span",{style:{position:"absolute",top:-4,right:-4,minWidth:8,height:8,borderRadius:4,background:"#c7ff2e"}})]}),a&&jsxRuntime.jsxs("div",{style:{...Ag,width:420},children:[jsxRuntime.jsx("div",{style:{padding:"16px 0"},children:jsxRuntime.jsx(ui$1.ScrollShadow,{className:"w-full max-h-120 px-4",children:jsxRuntime.jsx(Ro,{protocols:e,resolution:t,filters:c,onFiltersChange:u})})}),jsxRuntime.jsx("div",{style:Ig}),jsxRuntime.jsxs("div",{style:{padding:"12px 16px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[jsxRuntime.jsx(ui$1.Button,{variant:"light",size:"sm",color:"default",radius:"full",startContent:jsxRuntime.jsx(ui$1.RefreshIcon,{width:16,height:16}),onPress:m,children:i("common.reset")}),jsxRuntime.jsx(ui$1.Button,{variant:"solid",size:"sm",color:"primary",radius:"full",onPress:p,children:i("common.apply")})]})]})]})}function Mg({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 SR({popoverPlacement:e="bottom-end",iconOnly:t,className:o,desktopOverlay:n="popover",...s}){let{isMobile:r}=ui$1.useScreen();return r||n==="modal"?jsxRuntime.jsx(Va,{className:o,...s}):jsxRuntime.jsx(za,{placement:e,iconOnly:t,className:o,...s})}function Xa({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$1.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$1.Tab,{title:n(`common.resolution.${r}`)},r))})}var zg={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},Qg={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 Ya({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),a=react.useCallback(d=>{t?.(d),r(false);},[t]);return react.useEffect(()=>{if(!s)return;let d=c=>{i.current&&!i.current.contains(c.target)&&r(false);},l=c=>{c.key==="Escape"&&r(false);};return document.addEventListener("mousedown",d),document.addEventListener("keydown",l),()=>{document.removeEventListener("mousedown",d),document.removeEventListener("keydown",l);}},[s]),jsxRuntime.jsxs("div",{ref:i,style:{position:"relative",zIndex:50},children:[jsxRuntime.jsxs("button",{type:"button",style:zg,onClick:()=>r(d=>!d),children:[jsxRuntime.jsx("span",{children:e?n(`common.resolution.${e}`):"\u2014"}),jsxRuntime.jsx(ui$1.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:Qg,children:o.map(d=>jsxRuntime.jsx("button",{type:"button",onClick:()=>a(d),className:ui$1.cn("w-full text-left px-3 py-1.5 rounded-lg text-xs font-medium transition-colors cursor-pointer",d===e?"text-primary bg-primary/10":"text-text-secondary hover:text-foreground hover:bg-surface-interactive"),children:n(`common.resolution.${d}`)},d))})]})}function WR(e){let{isMobile:t}=ui$1.useScreen();return t?jsxRuntime.jsx(Ya,{...e}):jsxRuntime.jsx(Xa,{...e})}var ja=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 tl=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$1.StyledTooltip,{content:o("tokens.bluechip.explained"),children:jsxRuntime.jsxs("div",{className:"flex items-center gap-2.5",children:[s&&jsxRuntime.jsx(ui$1.HorsePowerHighIcon,{}),r&&jsxRuntime.jsx(ui$1.HorsePowerLowIcon,{}),!s&&!r&&jsxRuntime.jsx(ui$1.HorsePowerIcon,{}),jsxRuntime.jsx("span",{className:ui$1.cn(s&&"text-positive",!s&&!r&&"text-negative",n===void 0&&"text-text-muted"),children:utils.formatPercent(n)})]})})});function vk(e){return e.length<=10?e:`${e.slice(0,4)}...${e.slice(-4)}`}var ll=react.memo(function({token:t}){let o=ui$1.useCopyToClipboard(),[n,s]=react.useState(false),[r,i]=react.useState(false),a=react.useRef(void 0),d=react.useRef(void 0),{t:l}=i18n.useTranslation(),{formatAge:c}=i18n.useLocalizedTimeFormatter(),u=react.useCallback(g=>{g.preventDefault(),g.stopPropagation(),o(t.name,()=>{ui$1.toast.success(l("tokens.copied.name")),s(true),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{s(false);},2e3);});},[o,t.name,l]),m=react.useCallback(g=>{g.preventDefault(),g.stopPropagation(),o(t.address,()=>{ui$1.toast.success(l("tokens.copied.address")),i(true),d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{i(false);},2e3);});},[o,t.address,l]);react.useEffect(()=>()=>{a.current&&clearTimeout(a.current),d.current&&clearTimeout(d.current);},[]);let p=hooks.useTickAge(t.createdAt);return jsxRuntime.jsxs("div",{className:"w-full flex justify-start items-center gap-3",children:[jsxRuntime.jsx(he,{token:t,showProgress:false,className:"w-10 h-10 sm:w-16 sm:h-16 flex-none"}),jsxRuntime.jsxs("div",{className:"flex-auto flex flex-col gap-1 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{className:"flex-none font-medium tracking-[-0.02em]",children:t.symbol}),jsxRuntime.jsx(ui$1.StyledTooltip,{content:t.name,children:jsxRuntime.jsxs("div",{className:"flex-initial flex items-center gap-1 min-w-0 text-text-muted hover:text-primary-200 cursor-pointer",onClick:u,children:[jsxRuntime.jsx("div",{className:"flex-initial whitespace-nowrap truncate",children:t.name}),n?jsxRuntime.jsx(ui$1.CheckIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"}):jsxRuntime.jsx(ui$1.CopyIcon,{className:"flex-none w-3 h-3 sm:w-3.5 sm:h-3.5"})]})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-primary text-xs sm:text-sm font-medium",children:c(p)}),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:m,"aria-label":l("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:vk(t.address)}),r?jsxRuntime.jsx(ui$1.CheckIcon,{className:"flex-none w-3 h-3"}):jsxRuntime.jsx(ui$1.CopyIcon,{className:"flex-none w-3 h-3"})]}),t.socialMedias?.website&&jsxRuntime.jsx(ui$1.Link,{href:t.socialMedias.website,className:"max-sm:hidden text-text-muted hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.WebsiteIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),t.socialMedias?.twitter&&jsxRuntime.jsx(ui$1.Link,{href:t.socialMedias.twitter,className:"max-sm:hidden text-text-muted hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.TwitterIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),t.socialMedias?.telegram&&jsxRuntime.jsx(ui$1.Link,{href:t.socialMedias.telegram,className:"max-sm:hidden text-text-muted hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.TelegramIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),t.socialMedias?.discord&&jsxRuntime.jsx(ui$1.Link,{href:t.socialMedias.discord,className:"max-sm:hidden text-text-muted hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.DiscordIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})}),jsxRuntime.jsx(ui$1.Link,{href:utils.searchTwitterUrl(`${t.symbol} OR ${t.address}`),className:"max-sm:hidden text-text-muted hover:text-primary",target:"_blank",children:jsxRuntime.jsx(ui$1.SearchIcon,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"})})]})]})]})});var dl=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]),a=react.useMemo(()=>new utils.SafeBigNumber(n?.insiderHoldingsRatio).gte(.1),[n?.insiderHoldingsRatio]),d=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$1.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$1.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$1.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$1.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$1.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$1.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$1.RatIcon,{width:12,height:12}),value:utils.formatPercent(n?.insiderHoldingsRatio),tooltip:o("tokens.tokenInfo.insiderHoldingsRatio"),warning:a,disable:!n?.insiderHoldingsRatio||n?.insiderHoldingsRatio==="0",tooltipPlacement:"bottom"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(n?.bundleHoldingsRatio),tooltip:o("tokens.tokenInfo.bundleHoldingsRatio"),warning:d,disable:!n?.bundleHoldingsRatio||n?.bundleHoldingsRatio==="0",tooltipPlacement:"bottom"})]})]})});var cl=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 ml=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 fl=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$1.cn("inline-flex gap-1 items-center text-xs",i?"text-positive":"text-negative"),children:[i?jsxRuntime.jsx(ui$1.TriangleUpIcon,{width:10,height:10}):jsxRuntime.jsx(ui$1.TriangleDownIcon,{width:10,height:10}),jsxRuntime.jsx("span",{children:utils.formatPercent(r)})]})]})});var kl=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 Tl=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 yl=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 Zk=`
22
22
  @keyframes tklShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
23
23
  `,jk={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 K(e,t,o,n){return {...jk,animationDelay:`${e}ms`,width:t,height:o,...n}}var bl=10;function vl({rowHeight:e,hasActions:t,isMobile:o}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("style",{children:Zk}),Array.from({length:bl}).map((n,s)=>jsxRuntime.jsx(ex,{index:s,rowHeight:e,hasActions:t,isMobile:o,isLast:s===bl-1},s))]})}function ex({index:e,rowHeight:t,hasActions:o,isMobile:n,isLast:s}){let r=e*80,i=n?208:320,a=n?40:64,d=n?72:124,l=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:K(r,a,a,{borderRadius:8,flexShrink:0})}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8,flex:1},children:[jsxRuntime.jsx("div",{style:K(r+30,"60%",20)}),jsxRuntime.jsx("div",{style:K(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:K(r+20,72,20)}),jsxRuntime.jsx("div",{style:K(r+40,52,16)})]}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:K(r+30,64,20)})}),jsxRuntime.jsx("div",{style:{width:106,padding:"0 12px",display:"flex",alignItems:"center"},children:jsxRuntime.jsx("div",{style:K(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:K(r+50,72,20)}),jsxRuntime.jsx("div",{style:K(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:K(r+60,48,20)}),jsxRuntime.jsx("div",{style:K(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:K(r+70,40,20)}),jsxRuntime.jsx("div",{style:K(r+90,72,16)})]}),jsxRuntime.jsxs("div",{style:{width:128,padding:"0 12px",display:"flex",alignItems:"center",gap:10},children:[jsxRuntime.jsx("div",{style:K(r+80,20,20,{borderRadius:4})}),jsxRuntime.jsx("div",{style:K(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:K(r+80,52,16)}),jsxRuntime.jsx("div",{style:K(r+100,40,16)}),jsxRuntime.jsx("div",{style:K(r+120,36,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:K(r+90,48,16)}),jsxRuntime.jsx("div",{style:K(r+110,40,16)}),jsxRuntime.jsx("div",{style:K(r+130,40,16)})]}),jsxRuntime.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[jsxRuntime.jsx("div",{style:K(r+100,40,16)}),jsxRuntime.jsx("div",{style:K(r+120,36,16)})]})]}),o&&jsxRuntime.jsx("div",{style:{width:d,padding:n?"0 12px 0 0":"0 24px 0 12px",display:"flex",alignItems:"center",justifyContent:"flex-end"},children:jsxRuntime.jsx("div",{style:K(r+100,l,32,{borderRadius:8})})})]})}var ax=200,lx=72,wl=3;function kt({tokens:e,resolution:t="24h",isLoading:o,ActionsComponent:n,onSelectToken:s,sortDirections:r,onSortChange:i,onScrollingChange:a,onVisibleTokensChange:d,height:l=600,itemHeight:c=88,itemHeightMobile:u=72,className:m}){let{isMobile:p}=ui$1.useScreen(),g=p?u:c,f=!!o,k=react.useRef(void 0),x=react.useRef(false),y=react.useRef(null),T=react.useRef(new Set),S=react.useRef([]),h=react.useRef(void 0),b=react.useRef(d),w=react.useRef(a);b.current=d,w.current=a;let{t:v}=i18n.useTranslation(),N=react.useCallback(A=>Z=>{Z.preventDefault(),Z.stopPropagation(),s?.(A);},[s]),[F,fe]=react.useState(r??{});react.useEffect(()=>{fe(r??{});},[r]);let Y=react.useCallback(A=>Z=>{let Ke={[A]:Z};fe(Ke),i?.(Ke);},[i]),R=react.useCallback(A=>{if(f||e.length===0)return [];let Z=A?.scrollTop??0,Ke=A?.clientHeight||l,Xn=Math.floor(Z/g),$l=Math.ceil(Ke/g),zl=Math.max(0,Xn-wl),Ql=Math.min(e.length,Xn+$l+wl);return e.slice(zl,Ql)},[g,l,f,e]),ae=react.useCallback(A=>{let Z=Array.from(new Set(A.map(Ke=>`${Ke.chain}:${Ke.address.trim()}`))).sort().join(",");Z!==h.current&&(h.current=Z,b.current?.(A));},[]),V=react.useRef(R);V.current=R;let Te=react.useCallback(A=>{let Z=A.target;Z instanceof HTMLElement&&(y.current=Z,S.current=V.current(Z)),x.current||(x.current=true,w.current?.(true)),k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{x.current=false,ae(S.current),w.current?.(false);},180);},[ae]),G=react.useCallback(A=>{!A||T.current.has(A)||(T.current.add(A),A.addEventListener("scroll",Te,{passive:true}));},[Te]);react.useEffect(()=>{for(let A of [...T.current]){let Z=A.querySelector("table")?.parentElement;Z&&G(Z);}},[G,p,f,e.length]),react.useEffect(()=>{let A=R(y.current);S.current=A,x.current||ae(A);},[ae,R]),react.useEffect(()=>()=>{k.current&&clearTimeout(k.current),T.current.forEach(A=>{A.removeEventListener("scroll",Te);}),T.current.clear(),x.current&&w.current?.(false),b.current?.([]);},[Te]);let Kl=ui$1.cn("h-full mx-auto",m??(n?"max-w-394 sm:max-w-435":"max-w-363 sm:max-w-404")),_l=n?"!w-[1582px] min-w-[1582px] max-w-[1582px]":"!w-[1510px] min-w-[1510px] max-w-[1510px]",$n=[jsxRuntime.jsx(ui$1.TableColumn,{textValue:v("tokens.listHeader.token"),width:p?ax:320,className:ui$1.cn("bg-surface-base sticky left-0 z-10",p&&"!w-[200px] min-w-[200px] max-w-[200px] overflow-hidden","shadow-[1px_0_0_0_rgba(39,39,42,0.6)]"),children:v("tokens.listHeader.token")},"token"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:v("tokens.listHeader.price"),width:128,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.Sortable,{sort:F.price,onSortChange:Y("price"),children:v("tokens.listHeader.price")}),jsxRuntime.jsx("span",{children:"/"}),jsxRuntime.jsx(ui$1.Sortable,{sort:F[`priceChange${t}`],onSortChange:Y(`priceChange${t}`),children:v("tokens.listHeader.priceChange",{resolution:t})})]})},"price"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:v("tokens.listHeader.marketCap"),width:106,children:jsxRuntime.jsx(ui$1.Sortable,{sort:F.marketCap,onSortChange:Y("marketCap"),children:v("tokens.listHeader.marketCap")})},"marketCap"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:v("tokens.listHeader.athMarketCap"),width:144,children:jsxRuntime.jsx(ui$1.Sortable,{sort:F.athMarketCap,onSortChange:Y("athMarketCap"),children:v("tokens.listHeader.athMarketCap")})},"athMarketCap"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:v("tokens.listHeader.liquidity"),width:106,children:jsxRuntime.jsx(ui$1.Sortable,{sort:F.tvl,onSortChange:Y("tvl"),children:v("tokens.listHeader.liquidity")})},"liquidity"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:v("tokens.listHeader.volumes",{resolution:t}),width:138,children:jsxRuntime.jsx(ui$1.Sortable,{sort:F[`volumes${t}`],onSortChange:Y(`volumes${t}`),children:v("tokens.listHeader.volumes",{resolution:t})})},"volumes"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:v("tokens.listHeader.txs",{resolution:t}),width:126,children:jsxRuntime.jsx(ui$1.Sortable,{sort:F[`trades${t}`],onSortChange:Y(`trades${t}`),children:v("tokens.listHeader.txs",{resolution:t})})},"txs"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:v("tokens.listHeader.traders",{resolution:t}),width:126,children:jsxRuntime.jsx(ui$1.Sortable,{sort:F[`traders${t}`],onSortChange:Y(`traders${t}`),children:v("tokens.listHeader.traders",{resolution:t})})},"traders"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:v("tokens.listHeader.bluechip"),width:128,children:v("tokens.listHeader.bluechip")},"bluechip"),jsxRuntime.jsx(ui$1.TableColumn,{textValue:v("tokens.listHeader.tokenInfo"),width:308,children:v("tokens.listHeader.tokenInfo")},"tokenInfo"),n?jsxRuntime.jsx(ui$1.TableColumn,{textValue:v("tokens.listHeader.actions"),width:p?lx:124,align:"end",className:ui$1.cn("bg-surface-base sticky right-0 z-10",p&&"!w-[72px] min-w-[72px] max-w-[72px]","shadow-[-1px_0_0_0_rgba(39,39,42,0.6)]"),children:v("tokens.listHeader.actions")},"actions"):void 0].filter(Boolean),zn=jsxRuntime.jsx(vl,{rowHeight:g,hasActions:!!n,isMobile:p}),Qn=jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx(ui$1.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:v("common.empty")})]}),ql=A=>[jsxRuntime.jsx(ui$1.TableCell,{className:ui$1.cn("sticky left-0 z-10 bg-surface-base",p&&"!w-[200px] min-w-[200px] max-w-[200px] overflow-hidden","shadow-[1px_0_0_0_rgba(39,39,42,0.6)]","transition-colors duration-150","[tr:hover_&]:!bg-surface-raised"),children:jsxRuntime.jsx(ll,{token:A,resolution:t})},"token"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(fl,{token:A,resolution:t})},"price"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(ml,{token:A,resolution:t})},"marketCap"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(ja,{token:A,resolution:t})},"athMarketCap"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(cl,{token:A,resolution:t})},"liquidity"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(yl,{token:A,resolution:t})},"volumes"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(Tl,{token:A,resolution:t})},"trades"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(kl,{token:A,resolution:t})},"traders"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(tl,{token:A,resolution:t})},"bluechip"),jsxRuntime.jsx(ui$1.TableCell,{children:jsxRuntime.jsx(dl,{token:A,resolution:t})},"tokenInfo"),n?jsxRuntime.jsx(ui$1.TableCell,{className:ui$1.cn("sticky right-0 z-10 bg-surface-base",p&&"!w-[72px] min-w-[72px] max-w-[72px]","shadow-[-1px_0_0_0_rgba(39,39,42,0.6)]","transition-colors duration-150","[tr:hover_&]:!bg-surface-raised"),children:jsxRuntime.jsx("div",{className:ui$1.cn("!absolute inset-y-0 right-3 z-1 w-fit","flex items-center justify-end"),children:jsxRuntime.jsx(n,{token:A,resolution:t})})},"actions"):void 0].filter(Boolean),Gn=A=>jsxRuntime.jsx(ui$1.TableRow,{onClick:s?N(A):void 0,children:ql(A)},A.address);return p?jsxRuntime.jsx("div",{"data-token-list-mobile-layout":true,className:ui$1.cn("h-full min-h-0 w-full mx-auto",m??(n?"max-w-394 sm:max-w-435":"max-w-363 sm:max-w-404")),style:{height:l},children:jsxRuntime.jsxs(ui$1.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"none",classNames:{table:ui$1.cn("table-fixed",_l),wrapper:"p-0 w-full overflow-auto overscroll-contain bg-transparent rounded-none shadow-none",loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},baseRef:G,maxTableHeight:l,rowHeight:g,"aria-label":v("tokens.table.ariaLabel"),children:[jsxRuntime.jsx(ui$1.TableHeader,{children:$n}),jsxRuntime.jsx(ui$1.TableBody,{items:e,isLoading:f,loadingContent:zn,emptyContent:Qn,children:Gn})]})}):jsxRuntime.jsxs(ui$1.StyledTable,{isHeaderSticky:true,isVirtualized:true,radius:"lg",className:Kl,classNames:{loadingWrapper:"flex-col justify-start items-start",emptyWrapper:"pt-30"},baseRef:G,maxTableHeight:l,rowHeight:g,"aria-label":v("tokens.table.ariaLabel"),children:[jsxRuntime.jsx(ui$1.TableHeader,{children:$n}),jsxRuntime.jsx(ui$1.TableBody,{items:e,isLoading:f,loadingContent:zn,emptyContent:Qn,children:Gn})]})}function Rl({token:e,resolution:t,renderAction:o,isLast:n=false,onSelectToken:s,className:r}){let{t:i}=i18n.useTranslation(),{formatAge:a}=i18n.useLocalizedTimeFormatter(),d=ui$1.useCopyToClipboard(),l=hooks.useTickAge(e.createdAt),c=react.useCallback(()=>{s?.(e);},[s,e]),u=react.useCallback(G=>{G.stopPropagation(),d(e.address,()=>ui$1.toast.success(i("tokens.copied.address")));},[d,e.address,i]),m=e.marketData,p=e.stats?.[t],g=react.useMemo(()=>m?.priceInUsd,[m?.priceInUsd]),f=react.useMemo(()=>p?.priceChange,[p?.priceChange]),k=react.useMemo(()=>f&&new utils.SafeBigNumber(f).gte(0),[f]),x=react.useMemo(()=>f?new utils.SafeBigNumber(f).abs().toString():void 0,[f]),y=react.useMemo(()=>p?.volumesInUsd,[p?.volumesInUsd]),T=react.useMemo(()=>p?.buyVolumesInUsd,[p?.buyVolumesInUsd]),S=react.useMemo(()=>p?.sellVolumesInUsd,[p?.sellVolumesInUsd]),h=react.useMemo(()=>p?.trades,[p?.trades]),b=react.useMemo(()=>m?.marketCapInUsd,[m?.marketCapInUsd]),w=react.useMemo(()=>m?.tvlInUsd,[m?.tvlInUsd]),v=react.useMemo(()=>new utils.SafeBigNumber(m?.top10HoldingsRatio).gte(.1),[m?.top10HoldingsRatio]),N=react.useMemo(()=>new utils.SafeBigNumber(m?.devHoldingsRatio).gte(.1),[m?.devHoldingsRatio]),F=react.useMemo(()=>new utils.SafeBigNumber(m?.sniperHoldingsRatio).gte(.1),[m?.sniperHoldingsRatio]),fe=react.useMemo(()=>new utils.SafeBigNumber(m?.insiderHoldingsRatio).gte(.1),[m?.insiderHoldingsRatio]),Y=react.useMemo(()=>new utils.SafeBigNumber(m?.bundleHoldingsRatio).gte(.1),[m?.bundleHoldingsRatio]),R=m?.holders!==void 0&&m.holders>0,ae=m?.kolHolders!==void 0&&m.kolHolders>0,V=m?.bluechipHolders!==void 0&&m.bluechipHolders>0,Te=R||ae||V;return jsxRuntime.jsxs("div",{className:ui$1.cn("relative w-full h-full overflow-hidden px-4 py-3 hover:bg-content2/40 cursor-pointer",!n&&"border-b",r),style:n?void 0:{borderBottomColor:"hsl(var(--heroui-content3) / 0.6)"},onClick:s?c:void 0,children:[jsxRuntime.jsxs("div",{className:"flex items-start gap-2",children:[jsxRuntime.jsxs("div",{className:"flex-none flex flex-col items-center gap-2",children:[jsxRuntime.jsx(he,{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:u,"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:u,"aria-label":i("tokens.copied.address"),title:i("tokens.copied.address"),children:[jsxRuntime.jsx("span",{className:"flex-none text-sm font-semibold leading-none whitespace-nowrap overflow-hidden text-ellipsis max-w-24",children:e.symbol}),jsxRuntime.jsx(ui$1.StyledTooltip,{content:e.name,children:jsxRuntime.jsx("span",{className:"text-[13px] leading-none text-text-muted truncate max-w-20",children:e.name})}),jsxRuntime.jsx(ui$1.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:a(l)}),e.socialMedias?.website&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.website,className:"text-text-muted hover:text-primary",target:"_blank",onClick:G=>G.stopPropagation(),children:jsxRuntime.jsx(ui$1.WebsiteIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.twitter&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.twitter,className:"text-text-muted hover:text-primary",target:"_blank",onClick:G=>G.stopPropagation(),children:jsxRuntime.jsx(ui$1.TwitterIcon,{className:"w-3.5 h-3.5"})}),e.socialMedias?.telegram&&jsxRuntime.jsx(ui$1.Link,{href:e.socialMedias.telegram,className:"text-text-muted hover:text-primary",target:"_blank",onClick:G=>G.stopPropagation(),children:jsxRuntime.jsx(ui$1.TelegramIcon,{className:"w-3.5 h-3.5"})}),jsxRuntime.jsx(ui$1.Link,{href:utils.searchTwitterUrl(`${e.symbol} OR ${e.address}`),className:"max-sm:hidden text-text-muted hover:text-primary",target:"_blank",onClick:G=>G.stopPropagation(),children:jsxRuntime.jsx(ui$1.SearchIcon,{className:"w-3.5 h-3.5"})})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-foreground/80 leading-none",children:[jsxRuntime.jsxs("span",{className:"inline-flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-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(w)})]})]}),Te&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs font-mono text-text-muted leading-none",children:[R&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:i("tokens.tokenInfo.holders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.PeopleIcon,{className:"w-3 h-3 text-text-muted"}),utils.formatAmount(m?.holders)]})}),ae&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:i("tokens.tokenInfo.kolHolders"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.CrownIcon,{className:"w-3 h-3 text-text-muted"}),utils.formatAmount(m?.kolHolders)]})}),V&&jsxRuntime.jsx(ui$1.StyledTooltip,{content:i("tokens.listHeader.bluechip"),children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[jsxRuntime.jsx(ui$1.ShiningStarIcon,{className:"w-3 h-3 text-text-muted"}),utils.formatAmount(m?.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(g)}),jsxRuntime.jsxs("span",{className:ui$1.cn("inline-flex items-center gap-0.5 text-[10px] leading-none",k?"text-positive":"text-negative"),children:[k?jsxRuntime.jsx(ui$1.TriangleUpIcon,{width:8,height:8}):jsxRuntime.jsx(ui$1.TriangleDownIcon,{width:8,height:8}),f===void 0?"--":utils.formatPercent(x)]})]}),jsxRuntime.jsxs("div",{className:"flex flex-col items-end gap-1",children:[jsxRuntime.jsxs("div",{className:"flex items-baseline gap-1",children:[jsxRuntime.jsx("span",{className:"text-xs text-text-muted",children:"V"}),jsxRuntime.jsx("span",{className:"text-xs text-foreground/80",children:utils.formatAmountInUsd(y)})]}),jsxRuntime.jsxs("span",{className:"text-[10px] leading-none",children:[jsxRuntime.jsx("span",{className:"text-positive",children:utils.formatAmountInUsd(T)}),jsxRuntime.jsx("span",{className:"text-text-muted/50 mx-0.5",children:"/"}),jsxRuntime.jsx("span",{className:"text-negative",children:utils.formatAmountInUsd(S)})]})]}),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(h)})]})]})]}),jsxRuntime.jsxs("div",{className:"mt-2.5 flex items-start gap-4 relative",children:[jsxRuntime.jsx(ui$1.HorizontalScrollContainer,{className:"flex-auto min-w-0",forceShowArrows:true,children:jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.UserWithStarBadgeIcon,{width:12,height:12}),value:utils.formatPercent(m?.top10HoldingsRatio),tooltip:i("tokens.tokenInfo.top10HoldingsRatio"),warning:v,disable:!m?.top10HoldingsRatio||m?.top10HoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.CookIcon,{width:12,height:12}),value:utils.formatPercent(m?.devHoldingsRatio),tooltip:i("tokens.tokenInfo.devHoldingsRatio"),warning:N,disable:!m?.devHoldingsRatio||m?.devHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.SniperIcon,{width:12,height:12}),value:utils.formatPercent(m?.sniperHoldingsRatio),tooltip:i("tokens.tokenInfo.sniperHoldingsRatio"),warning:F,disable:!m?.sniperHoldingsRatio||m?.sniperHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.RatIcon,{width:12,height:12}),value:utils.formatPercent(m?.insiderHoldingsRatio),tooltip:i("tokens.tokenInfo.insiderHoldingsRatio"),warning:fe,disable:!m?.insiderHoldingsRatio||m?.insiderHoldingsRatio==="0"}),jsxRuntime.jsx($,{icon:jsxRuntime.jsx(ui$1.BundlesIcon,{width:12,height:12}),value:utils.formatPercent(m?.bundleHoldingsRatio),tooltip:i("tokens.tokenInfo.bundleHoldingsRatio"),warning:Y,disable:!m?.bundleHoldingsRatio||m?.bundleHoldingsRatio==="0"})]})}),o&&jsxRuntime.jsx("div",{className:"flex-none relative",onClick:G=>G.stopPropagation(),children:o(e)})]})]})}function Al({isLast:e=false}){return jsxRuntime.jsxs("div",{className:ui$1.cn("w-full h-full overflow-hidden px-4 py-3 animate-pulse",!e&&"border-b"),style:e?void 0:{borderBottomColor:"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 Ox=154,Il=10;function Ex({index:e,style:t,tokens:o,skeletonCount:n,resolution:s,renderAction:r,onSelectToken:i}){return o?jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Rl,{token:o[e],resolution:s,isLast:e===o.length-1,renderAction:r,onSelectToken:i})}):jsxRuntime.jsx("div",{style:t,children:jsxRuntime.jsx(Al,{isLast:e===n-1})})}function UI({tokens:e,resolution:t="24h",isLoading:o,height:n=600,renderAction:s,onSelectToken:r,className:i}){let a=o||!e?void 0:e,d=a?a.length:Il,l=react.useMemo(()=>({tokens:a,skeletonCount:Il,resolution:t,renderAction:s,onSelectToken:r}),[a,t,s,r]);return jsxRuntime.jsx("div",{className:ui$1.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:d,rowHeight:Ox,overscanCount:5,rowComponent:Ex,rowProps:l})})}var _x=80;function Ul(e){return {chain:e.chain,address:e.address,name:e.name??"",symbol:e.symbol??"",decimals:e.decimals??0,image:e.image,description:e.description,socialMedias:e.socialMedias,launchedFrom:e.launchedFrom,migratedTo:e.migratedTo,createdAt:e.createdAt}}function qx(e,t,o){return e===t?o:e===o?t:o||t}function Vn(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:qx(t,e.tokenAAddress,e.tokenBAddress),image:e.dex?.image,programAddress:e.dex?.programAddress,protocolFamily:e.dex?.protocolFamily,protocolName:e.dex?.protocolName}]}}function $x(e){return {...Ul(Vn(e)),...e.token??{},liquidities:Vn(e).liquidities,createdAt:e.token?.createdAt??e.createdAt}}function Fl(e){return e.sort((t,o)=>{let n=t.createdAt?.getTime()??0;return (o.createdAt?.getTime()??0)-n}),e.slice(0,_x)}function zx(e){if(!(!e?.filters&&!e?.keywords&&!e?.excludeKeywords))return {filters:e.filters,keywords:e.keywords,excludeKeywords:e.excludeKeywords}}function Qx(e){if(!(!e?.sortBy||!e.sortDirection))return {[e.sortBy]:e.sortDirection}}function Ol({chain:e,options:t,subscriptionTokens:o=[],deferUpdates:n=false,updateFlushInterval:s}){let r=react.useMemo(()=>({chain:e}),[e]),i=react.useRef(r),[a,d]=react.useState(true),[l,c]=react.useState([]);react.useEffect(()=>{JSON.stringify(r)!==JSON.stringify(i.current)&&(d(true),c([]),i.current=r);},[r]);let{data:u,isPending:m}=react$1.useNewPoolsQuery(r);react.useEffect(()=>{u&&(c(T=>{let S=[...T];for(let h of u){let b=$x(h),w=S.findIndex(v=>v.address===b.address);w>=0?S[w]=oe(S[w],b):S.push(b);}return Fl(S)}),d(false));},[u]);let p=react.useCallback(T=>{c(S=>{let h=[...S],b=false;for(let w of T){let v=h.findIndex(N=>N.address===w.address);v>=0?(b=true,h[v]=oe(h[v],w)):(b=true,h.push(Ul(w)));}return b?Fl(h):S});},[]),{enqueueUpdates:g}=me({applyUpdates:p,paused:n,flushInterval:s}),f=react.useCallback(T=>{g(T.map(Vn));},[g]);react$1.useNewPoolsSubscription({chain:e},f),react$1.useNewTokensMetadataSubscription({chain:e},g),be({chain:e,tokens:o.filter(T=>T.chain===e),onUpdate:g});let k=react.useMemo(()=>!!(m||a),[m,a]),x=react.useMemo(()=>ce(l,zx(t)),[l,t]);return {tokens:react.useMemo(()=>rt(x,Qx(t)),[x,t]),isLoading:k}}function ZI({chain:e,resolution:t,filters:o,ActionsComponent:n,onSelectToken:s,height:r,itemHeight:i,itemHeightMobile:a,className:d}){let[l,c]=react.useState(),[u,m]=react.useState(false),[p,g]=react.useState([]);react.useEffect(()=>{c(void 0);},[e,t]);let f=react.useMemo(()=>{let y=Object.keys(l??{})[0],T=l?.[y];return {...o,...y&&T?{sortBy:y,sortDirection:T}:void 0}},[o,l]),{tokens:k,isLoading:x}=Ol({chain:e,options:f,subscriptionTokens:p,deferUpdates:u});return jsxRuntime.jsx(kt,{tokens:k,isLoading:x,resolution:t,height:r,itemHeight:i,itemHeightMobile:a,ActionsComponent:n,onSelectToken:s,sortDirections:l,onSortChange:c,onScrollingChange:m,onVisibleTokensChange:g,className:d})}function Wl({chain:e,filters:t,sortDirections:o,subscriptionTokens:n=[],refetchInterval:s=3e4,deferUpdates:r=false,updateFlushInterval:i}){let a=react.useMemo(()=>({chain:e}),[e]),d=react.useRef(a),[l,c]=react.useState(true);react.useEffect(()=>{JSON.stringify(a)!==JSON.stringify(d.current)&&(c(true),m([]),d.current=a);},[a]);let[u,m]=react.useState([]),{data:p,isPending:g}=react$1.useStockTokensQuery(a,{refetchInterval:s});react.useEffect(()=>{p&&(m(S=>Yt(S,p)),c(false));},[p]);let f=react.useCallback(S=>{m(h=>He(h,S));},[]),{enqueueUpdates:k}=me({applyUpdates:f,paused:r,flushInterval:i});react$1.useStockTokensSubscription({chain:e},k),be({chain:e,tokens:n.filter(S=>S.chain===e),onUpdate:k});let x=react.useMemo(()=>!!(g||l),[g,l]),y=react.useMemo(()=>ce(u,t),[u,t]);return {tokens:react.useMemo(()=>rt(y,o),[y,o]),isLoading:x}}function fM({chain:e,resolution:t,filters:o,ActionsComponent:n,onSelectToken:s,height:r,itemHeight:i,itemHeightMobile:a,className:d}){let[l,c]=react.useState(),[u,m]=react.useState(false),[p,g]=react.useState([]);react.useEffect(()=>{c(void 0);},[e,t]);let{tokens:f,isLoading:k}=Wl({chain:e,filters:o,sortDirections:l,subscriptionTokens:p,deferUpdates:u});return jsxRuntime.jsx(kt,{tokens:f,isLoading:k,resolution:t,height:r,itemHeight:i,itemHeightMobile:a,ActionsComponent:n,onSelectToken:s,sortDirections:l,onSortChange:c,onScrollingChange:m,onVisibleTokensChange:g,className:d})}function vM({chain:e,resolution:t,filters:o,ActionsComponent:n,onSelectToken:s,height:r,itemHeight:i,itemHeightMobile:a,className:d}){let[l,c]=react.useState(),[u,m]=react.useState(false),[p,g]=react.useState([]);react.useEffect(()=>{c(void 0);},[e,t]);let{tokens:f,isLoading:k}=ao({chain:e,resolution:t,filters:o,sortDirections:l,subscriptionTokens:p,deferUpdates:u});return jsxRuntime.jsx(kt,{tokens:f,isLoading:k,resolution:t,height:r,itemHeight:i,itemHeightMobile:a,ActionsComponent:n,onSelectToken:s,sortDirections:l,onSortChange:c,onScrollingChange:m,onVisibleTokensChange:g,className:d})}var mT=15e3;function uT({chain:e,addresses:t,pollMs:o=mT}){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(m=>{let p={};for(let g of i.data){let f=m[g.address];p[g.address]=f?oe(f,g):g;}return p});},[i.data]);let a=react$1.useTokenMarketRuntime(),d=Array.from(new Set(t.map(m=>m.trim()).filter(Boolean))).sort().join(","),l=react.useMemo(()=>d?d.split(","):[],[d]);react.useEffect(()=>{if(!n)return;let m=[];for(let p of l){let g=react$1.tokenMarketKey(e,p),f=a.subscribe(g,x=>{let y=x.token;y&&r(T=>{let S=T[y.address],h=S?oe(S,y):y;return h===S?T:{...T,[y.address]:h}});}),k=a.retain(g);m.push(()=>{f(),k();});}return ()=>{for(let p of m)p();}},[a,e,d,n,l]);let c=i.refetch,u=react.useCallback(async()=>{await c();},[c]);return {tokens:s,isPending:i.isPending,isFetching:i.isFetching,isError:i.isError,isSuccess:i.isSuccess,error:i.error,refetch:u}}Object.defineProperty(exports,"formatAmount",{enumerable:true,get:function(){return utils.formatAmount}});exports.DEFAULT_FLIP_HOVER_RESOLUTIONS=Pi;exports.HolderTagBadge=od;exports.HolderTagBadgeList=qt;exports.HoldingRatioChip=$;exports.NewTokenListWidget=ZI;exports.PulseFinalStretchListWidget=gy;exports.PulseList=je;exports.PulseListHeader=Yn;exports.PulseListItem=pr;exports.PulseListItemSkeleton=Ko;exports.PulseMigratedListWidget=ty;exports.PulseNewListWidget=Eh;exports.SEARCH_MODAL_ID=en;exports.SearchHistoryUI=Yr;exports.SearchHistoryWidget=Zr;exports.SearchInputUI=jr;exports.SearchModal=ov;exports.SearchResultItemUI=to;exports.SearchResultListHeader=oo;exports.SearchResultListSkeleton=ro;exports.SearchResultListWidget=as;exports.SearchTokensButton=mv;exports.SearchWidget=ps;exports.StockTokenListWidget=fM;exports.TOKEN_SEARCH_HISTORY_KEY=Cc;exports.TRADER_TAG_META=_o;exports.TokenAbout=xi;exports.TokenAboutWidget=sw;exports.TokenActivitiesList=Zs;exports.TokenActivitiesListWidget=FC;exports.TokenAvatar=he;exports.TokenBasicInfo=Ss;exports.TokenBasicInfoWidget=$s;exports.TokenCategories=wi;exports.TokenCategoriesWidget=eL;exports.TokenCexListing=Si;exports.TokenCexListingWidget=Ew;exports.TokenChartBanner=ia;exports.TokenChartBannerWidget=e1;exports.TokenDetailHeader=ys;exports.TokenDetailHeaderWidget=qN;exports.TokenDevTokensList=Xi;exports.TokenDevTokensListWidget=EP;exports.TokenDevTokensSummary=Ji;exports.TokenHoldersCount=Cs;exports.TokenHoldersCountWidget=Ls;exports.TokenHoldersList=Gs;exports.TokenHoldersListWidget=uC;exports.TokenLiquidities=bi;exports.TokenLiquiditiesWidget=Sw;exports.TokenList=kt;exports.TokenListFilter=Ro;exports.TokenListFilterModal=Va;exports.TokenListFilterPopover=za;exports.TokenListFilterWidget=SR;exports.TokenListResolutionSelectorDesktop=Xa;exports.TokenListResolutionSelectorMobile=Ya;exports.TokenListResolutionSelectorWidget=WR;exports.TokenMarketCap=Rs;exports.TokenMarketCapWidget=Is;exports.TokenOrdersList=Oi;exports.TokenOrdersListWidget=tP;exports.TokenPositionsList=Mi;exports.TokenPositionsListWidget=UL;exports.TokenPrice=Ds;exports.TokenPriceWidget=Us;exports.TokenReusedImageList=ma;exports.TokenReusedImageListWidget=I1;exports.TokenSecurity=gi;exports.TokenSecurityWidget=q0;exports.TokenSimilarTokens=da;exports.TokenSimilarTokensWidget=x1;exports.TokenSocialMedia=Os;exports.TokenSocialMediaWidget=Bs;exports.TokenStatsFlipBase=Ri;exports.TokenStatsFlipHover=Ai;exports.TokenStatsFlipWidget=xL;exports.TokenTopTradersList=_i;exports.TokenTopTradersListWidget=bP;exports.TokenTradersOverview=li;exports.TokenTradersOverviewWidget=YC;exports.TokenTransactionsOverview=ci;exports.TokenTransactionsOverviewWidget=p0;exports.TokenVolume=Ks;exports.TokenVolumeWidget=qs;exports.TokenVolumesOverview=ui;exports.TokenVolumesOverviewWidget=R0;exports.TraderTagBadge=td;exports.TraderTagBadgeList=tr;exports.TrendingTokenCard=Rl;exports.TrendingTokenCardList=UI;exports.TrendingTokenCardSkeleton=Al;exports.TrendingTokenListWidget=vM;exports.createTokenSearchHistoryStorage=bt;exports.useNewTokensScript=Ol;exports.usePulseFinalStretchListScript=$r;exports.usePulseMigratedListScript=Wr;exports.usePulseNewListScript=Mr;exports.useSearchHistory=Gr;exports.useSearchResultListScript=rs;exports.useSearchScript=xv;exports.useStockTokensScript=Wl;exports.useTokenAboutScript=Ti;exports.useTokenActivitiesListScript=ii;exports.useTokenBasicInfoScript=sS;exports.useTokenCategoriesScript=Li;exports.useTokenCexListingScript=Ni;exports.useTokenChartBannerScript=la;exports.useTokenDetailHeaderScript=bs;exports.useTokenDevTokensListScript=ta;exports.useTokenHoldersCountScript=ws;exports.useTokenHoldersListScript=Ys;exports.useTokenLiquiditiesScript=vi;exports.useTokenMarketCapScript=As;exports.useTokenOrdersListScript=Vi;exports.useTokenPositionsListScript=Fi;exports.useTokenPriceScript=Fs;exports.useTokenReusedImageListScript=ua;exports.useTokenSecurityScript=ki;exports.useTokenSimilarTokensScript=ca;exports.useTokenSocialMediaScript=Es;exports.useTokenStatsFlipScript=Ii;exports.useTokenTopTradersListScript=$i;exports.useTokenTradersOverviewScript=di;exports.useTokenTransactionsOverviewScript=mi;exports.useTokenVolumeScript=_s;exports.useTokenVolumesOverviewScript=pi;exports.useTokens=uT;exports.useTrendingTokensScript=ao;//# sourceMappingURL=index.js.map
24
24
  //# sourceMappingURL=index.js.map