@nexus-cross/dapp-ui 1.3.3-beta.5 → 1.3.3-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
`);W(`.al-popover-content{-webkit-font-smoothing:antialiased;z-index:100001;border-radius:24px;background:var(--al-bg);border:1px solid var(--al-popover-border, var(--al-border));box-shadow:var(--al-popover-shadow, var(--al-shadow));animation:al-fade-in .15s ease-out;max-height:80vh;overflow-x:hidden;overflow-y:auto;padding:20px 4px;box-sizing:border-box}.al-popover-content .al-grid{grid-template-columns:repeat(4,100px);row-gap:16px;column-gap:0;padding:0;justify-content:center;align-items:start}.al-popover-content .al-grid-item{flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;padding:12px 0;width:100px;min-width:0;border-radius:10px}.al-popover-content .al-grid-item-left{flex-direction:column;align-items:center;gap:8px;width:100%;overflow:visible}.al-popover-content .al-grid-item-icon{width:50px;height:50px;border-radius:10.125px;overflow:hidden}.al-popover-content .al-grid-item-icon img{object-fit:cover}.al-popover-content .al-grid-item-label{font-family:Inter,sans-serif;font-size:12px;font-weight:500;line-height:1.1;letter-spacing:0;text-align:center;color:var(--al-text);max-width:100%;white-space:normal;overflow-wrap:anywhere}.al-popover-content .al-grid-item-right,.al-popover-content .al-badge-new{display:none}.al-drawer-overlay{position:fixed;inset:0;z-index:100000;background:var(--al-drawer-overlay)}.al-drawer-content{-webkit-font-smoothing:antialiased;position:fixed;top:0;right:0;bottom:0;z-index:100001;width:100vw;background:var(--al-bg);overflow-x:hidden;overflow-y:hidden;display:flex;flex-direction:column;box-sizing:border-box}.al-drawer-body{flex:1;overflow-y:auto;overscroll-behavior-y:contain;min-height:0}.al-drawer-content .al-grid{display:flex;flex-direction:column;grid-template-columns:none;max-width:100%;overflow:hidden;flex-shrink:0;gap:0;row-gap:0;column-gap:0;padding:8px 16px}.al-drawer-content .al-grid-item{width:100%;max-width:100%;gap:8px;padding:16px 12px;border-radius:8px;overflow:hidden;background:transparent}.al-drawer-content .al-grid-item:hover,.al-drawer-content .al-grid-item[data-active=true]{background:var(--al-bg-hover)}.al-drawer-content .al-grid-item-left{gap:8px;flex:1 1 auto;min-width:0}.al-drawer-content .al-grid-item-icon{width:32px;height:32px;border-radius:6.75px;overflow:hidden}.al-drawer-content .al-grid-item-icon img{width:100%;height:100%;object-fit:cover;border-radius:6.75px}.al-drawer-content .al-grid-item-label{font-size:16px;line-height:1.35;letter-spacing:0;font-weight:400}.al-drawer-content .al-grid-item[data-active=true] .al-grid-item-label{font-weight:500}.al-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px;flex-shrink:0}.al-drawer-title{font-family:Inter,sans-serif;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--al-text);margin:0}.al-drawer-close{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--ds-content-low, #00000066);transition:opacity .15s ease}.al-drawer-close:hover{opacity:.7}.al-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:8px}.al-grid-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 12px;border:none;background:var(--al-bg);border-radius:8px;cursor:pointer;transition:none;color:var(--al-text);text-align:left;font-family:Inter,sans-serif;flex-shrink:0}.al-grid-item:hover,.al-grid-item[data-active=true]{background:#252b39!important}:root[data-ds-theme=light] .al-grid-item:hover,:root[data-ds-theme=light] .al-grid-item[data-active=true]{background:#eff3f8!important}.al-grid-item-left{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.al-grid-item-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.al-grid-item-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.al-grid-item-icon img{width:100%;height:100%;object-fit:contain}.al-grid-item-label{font-family:Inter,sans-serif;font-size:16px;font-weight:500;line-height:150%;letter-spacing:0;color:var(--al-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.al-badge{display:flex;padding:1px 4px 2px;justify-content:center;align-items:center;gap:2px;border-radius:3px;background:var(--al-badge-bg);color:var(--al-badge-text);font-family:Pretendard,Inter,sans-serif;font-size:10px;font-weight:600;line-height:150%;letter-spacing:0;white-space:nowrap;flex-shrink:0}.al-badge-new{display:flex;width:16px;height:16px;justify-content:center;align-items:center;aspect-ratio:1/1;border-radius:12px;background:var(--ds-system-purple-high, #7346f3);color:var(--al-badge-new-text);font-family:Pretendard,Inter,sans-serif;font-size:9px;font-weight:700;flex-shrink:0}
|
|
5
5
|
`);W("");var no=require("react/jsx-runtime");function Qo({env:e,theme:t="dark",mobileBreakpoint:n=768,domain:o,children:r}){let a=pn(`(max-width: ${n}px)`),[i,l]=fn.useState(!1),p=fn.useCallback(()=>l(!1),[]),c=Be(e),f=fn.useMemo(()=>({env:c,theme:t,isMobile:a,open:i,domain:o,close:p}),[c,t,a,i,o,p]);return(0,no.jsx)(Ko.Provider,{value:f,children:a?(0,no.jsx)(Qr.Drawer.Root,{direction:"right",open:i,onOpenChange:l,noBodyStyles:!0,children:r},"drawer"):(0,no.jsx)(Kr.Root,{open:i,onOpenChange:l,children:r},"popover")})}var Jr=z(require("@radix-ui/react-popover"),1),ei=require("vaul");var Fe=require("react/jsx-runtime");function Yr({size:e=18}){return(0,Fe.jsxs)("svg",{className:"al-trigger-icon",width:e,height:e,viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Fe.jsx)("rect",{width:"4",height:"4",rx:"2",fill:"currentColor"}),(0,Fe.jsx)("rect",{x:"7",width:"4",height:"4",rx:"2",fill:"currentColor"}),(0,Fe.jsx)("rect",{x:"14",width:"4",height:"4",rx:"2",fill:"currentColor"}),(0,Fe.jsx)("rect",{y:"7",width:"4",height:"4",rx:"2",fill:"currentColor"}),(0,Fe.jsx)("rect",{x:"7",y:"7",width:"4",height:"4",rx:"2",fill:"currentColor"}),(0,Fe.jsx)("rect",{x:"14",y:"7",width:"4",height:"4",rx:"2",fill:"currentColor"}),(0,Fe.jsx)("rect",{y:"14",width:"4",height:"4",rx:"2",fill:"currentColor"}),(0,Fe.jsx)("rect",{x:"7",y:"14",width:"4",height:"4",rx:"2",fill:"currentColor"}),(0,Fe.jsx)("rect",{x:"14",y:"14",width:"4",height:"4",rx:"2",fill:"currentColor"})]})}function Zr(){return(0,Fe.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Fe.jsx)("path",{d:"M12 19L5 12M5 12L12 5M5 12H19",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Xr(){return(0,Fe.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,Fe.jsx)("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var kn=require("react/jsx-runtime");function Yo({asChild:e,children:t,className:n,style:o}){let{isMobile:r,theme:a}=eo(),i=t!=null,l=e??!0,p=n?`al-trigger-btn ${n}`:"al-trigger-btn",c=i?t:(0,kn.jsx)("button",{type:"button",className:p,"data-theme":a,style:o,children:(0,kn.jsx)(Yr,{size:18})});return r?(0,kn.jsx)(ei.Drawer.Trigger,{asChild:l,children:c}):(0,kn.jsx)(Jr.Trigger,{asChild:l,children:c})}var Yt=z(require("react"),1),oo=z(require("@radix-ui/react-popover"),1),Qt=require("vaul");var oi=require("@tanstack/react-query");var ti={dev:"https://stg-contents.crosstoken.io/frontend/common/app-launcher/app-launcher.json",stage:"https://stg-contents.crosstoken.io/frontend/common/app-launcher/app-launcher.json",production:"https://contents.crosstoken.io/frontend/common/app-launcher/app-launcher.json"};var Ll="https://stg-contents.crosstoken.io/frontend/common/app-launcher/icons",El="https://contents.crosstoken.io/frontend/common/app-launcher/icons";function dt(e,t){return`${e==="production"?El:Ll}/${t}.png`}function ni(e){let t=e==="production"?"production":"stage";return{version:"0.0.1-fallback",items:[{id:"gametoken-cross",label:"Gametoken",description:"Trade game tokens easily using CROSS.",url:{dev:"https://dev-x.crosstoken.io/gametoken/CROSS",stage:"https://stg-x.crosstoken.io/gametoken/CROSS",production:"https://x.crosstoken.io/gametoken/CROSS"},iconUrl:dt(t,"dex"),order:1e3,type:"gametoken",badge:null,isNew:!1},{id:"forge",label:"Forge",description:"Launch Your Game, Ignite the Market",url:{dev:"https://stg-x.crosstoken.io/forge",stage:"https://stg-x.crosstoken.io/forge",production:"https://x.crosstoken.io/forge"},iconUrl:dt(t,"forge"),order:4e3,type:"forge",badge:null,isNew:!0},{id:"crossd",label:"Bridge (CROSSD)",description:"The first decentralized exchange on the CROSS network.",url:{dev:"https://stg.crossdefi.io/swap-bridge",stage:"https://stg.crossdefi.io/swap-bridge",production:"https://www.crossdefi.io/swap-bridge"},iconUrl:dt(t,"crossd"),order:5e3,type:"crossd",badge:null,isNew:!1},{id:"prediction",label:"Prediction",description:"Prediction market",url:{dev:"https://stg-prediction.crossdefi.io",stage:"https://stg-prediction.crossdefi.io",production:"https://prediction.crossdefi.io/"},iconUrl:dt(t,"prediction"),order:6e3,type:"prediction",badge:null,isNew:!0},{id:"rewards",label:"Rewards",description:"Deposit CROSS and earn rewards. Grow together.",url:{dev:"https://stg-x.crosstoken.io/rewards",stage:"https://stg-x.crosstoken.io/rewards",production:"https://x.crosstoken.io/rewards"},iconUrl:dt(t,"reward"),order:7e3,type:"rewards",badge:null,isNew:!1},{id:"nft",label:"NFT",description:"Trade and collect NFTs in the CROSS ecosystem.",url:{dev:"https://stg.crossnft.io/",stage:"https://stg.crossnft.io/",production:"https://www.crossnft.io/"},iconUrl:dt(t,"nft"),order:8e3,type:"nft",badge:null,isNew:!1},{id:"play",label:"Play",description:"Discover and play games on CROSS.",url:{dev:"https://stg-play.cross.nexus",stage:"https://stg-play.cross.nexus",production:"https://play.cross.nexus"},iconUrl:dt(t,"play"),order:8500,type:"play",badge:null,isNew:!0},{id:"shop",label:"Shop",description:"Game Payment Platform & In-Game Currency Store.",url:{dev:"https://www.dev.cross.shop/",stage:"https://www.stage.cross.shop/",production:"https://www.cross.shop/"},iconUrl:dt(t,"shop"),order:9e3,type:"shop",badge:null,isNew:!1},{id:"points",label:"Points",description:"Dive into CROSS World, Earn CROSS Points",url:{dev:"https://stg-x.crosstoken.io/points",stage:"https://stg-x.crosstoken.io/points",production:"https://x.crosstoken.io/points"},iconUrl:dt(t,"point"),order:1e4,type:"points",badge:null,isNew:!1},{id:"wave",label:"Wave",description:"Stream, support, and earn in the CROSS ecosystem.",url:{dev:"https://stg-wave.crosstoken.io/en",stage:"https://stg-wave.crosstoken.io/en",production:"https://wave.crosstoken.io/en"},iconUrl:dt(t,"wave"),order:11e4,type:"wave",badge:null,isNew:!1},{id:"explorer",label:"Explorer",description:"View transactions, blocks, and token data on the CROSS network.",url:{dev:"https://stg-explorer.crosstoken.io/612055",stage:"https://stg-explorer.crosstoken.io/612055",production:"https://explorer.crosstoken.io/612055"},iconUrl:dt(t,"explorer"),order:12e3,type:"explorer",badge:null,isNew:!1}]}}function Sn(e){let t=Be(e);return(0,oi.useQuery)({queryKey:["global-menu",t],queryFn:async({signal:n})=>{try{let o=await fetch(ti[t],{cache:"no-store",signal:n});if(!o.ok)throw new Error(`Failed to fetch global menu: ${o.status}`);return o.json()}catch(o){if(n.aborted)throw o;return ni(t)}},staleTime:0,gcTime:0,retry:!1,refetchOnMount:!0})}function ne(...e){return e.filter(Boolean).join(" ")}var se=require("react/jsx-runtime");function Al(e){return e.id==="cross-staking"||e.type==="cross-staking"}function Zo({align:e="end",sideOffset:t=8,className:n}){let{env:o,theme:r,isMobile:a,domain:i,close:l}=eo(),{data:p}=Sn(o),c=Yt.useMemo(()=>(p?.items??[]).sort((w,y)=>w.order-y.order),[p]),f=8,m=Yt.useRef(null),h=Yt.useCallback(w=>{m.current={x:w.clientX,y:w.clientY}},[]),g=typeof window<"u"?window.location.pathname:"",v=Yt.useCallback((w,y)=>{if(m.current){let T=w.clientX-m.current.x,S=w.clientY-m.current.y;if(m.current=null,Math.abs(T)>f||Math.abs(S)>f)return}let A=y.url[o]??y.url.production,u=ri(A,i);if(!u)try{let T=new URL(A).pathname;if(g===T||g.startsWith(T+"/")){l();return}}catch{}u?window.open(A,"_blank","noopener,noreferrer"):window.location.href=A,l()},[o,i,l,g]),x=(0,se.jsx)("div",{className:"al-grid","data-theme":r,children:c.map(w=>{let y=w.url[o]??w.url.production,A=ri(y,i),u=!1;if(!A)try{let T=new URL(y).pathname;u=g===T||g.startsWith(T+"/")}catch{u=!1}return(0,se.jsxs)("button",{type:"button",className:"al-grid-item","data-active":u||void 0,onPointerDown:h,onClick:T=>v(T,w),children:[(0,se.jsxs)("div",{className:"al-grid-item-left",children:[(0,se.jsx)("div",{className:"al-grid-item-icon",children:(0,se.jsx)("img",{src:w.iconUrl,alt:w.label,width:24,height:24,loading:"lazy"})}),(0,se.jsx)("span",{className:"al-grid-item-label",children:w.label}),w.isNew&&(0,se.jsx)("span",{className:"al-badge-new",children:"N"})]}),(0,se.jsx)("div",{className:"al-grid-item-right",children:w.badge&&!Al(w)&&(0,se.jsx)("span",{className:"al-badge",children:w.badge})})]},w.id)})});return a?(0,se.jsxs)(Qt.Drawer.Portal,{children:[(0,se.jsx)(Qt.Drawer.Overlay,{className:"al-drawer-overlay"}),(0,se.jsxs)(Qt.Drawer.Content,{className:ne("al-drawer-content",n),"data-theme":r,children:[(0,se.jsxs)("div",{className:"al-drawer-header",children:[(0,se.jsx)(Qt.Drawer.Close,{className:"al-drawer-close",children:(0,se.jsx)(Zr,{})}),(0,se.jsx)(Qt.Drawer.Title,{className:"al-drawer-title",children:"CROSS Services"}),(0,se.jsx)(Qt.Drawer.Close,{className:"al-drawer-close",children:(0,se.jsx)(Xr,{})})]}),(0,se.jsx)("div",{className:"al-drawer-body",children:x})]})]}):(0,se.jsx)(oo.Portal,{children:(0,se.jsx)(oo.Content,{align:e,sideOffset:t,className:ne("al-popover-content",n),"data-theme":r,children:x})})}function ri(e,t){try{let n=new URL(e).hostname;return typeof window>"u"?!0:n!==(t??window.location.hostname)}catch{return!1}}var He=z(require("react"),1),Ws=z(require("@radix-ui/react-popover"),1),Ds=require("vaul");var ro=require("react"),Xo=(0,ro.createContext)(null);function Wt(){let e=(0,ro.useContext)(Xo);if(!e)throw new Error("WalletInfo compound components must be used within <WalletInfo>");return e}var io=(o=>(o.CROSSx="crossx",o.MetaMask="io.metamask",o.Binance="com.binance.wallet",o))(io||{}),Cn={crossx:{name:"CROSSx",iconUrl:"https://contents.crosstoken.io/wallet/token/images/tCROSS.svg"},"io.metamask":{name:"MetaMask",iconUrl:"https://upload.wikimedia.org/wikipedia/commons/3/36/MetaMask_Fox.svg"},"com.binance.wallet":{name:"Binance Wallet",iconUrl:"https://public.bnbstatic.com/static/images/common/favicon.ico"}};var Qi=z(require("react"),1);var D=require("react/jsx-runtime");function ii({size:e=16,className:t}){return(0,D.jsxs)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[(0,D.jsx)("path",{d:"M12.6667 4.66667V2.66667C12.6667 2.48986 12.5964 2.32029 12.4714 2.19526C12.3464 2.07024 12.1768 2 12 2H3.33333C2.97971 2 2.64057 2.14048 2.39052 2.39052C2.14048 2.64057 2 2.97971 2 3.33333C2 3.68696 2.14048 4.02609 2.39052 4.27614C2.64057 4.52619 2.97971 4.66667 3.33333 4.66667H13.3333C13.5101 4.66667 13.6797 4.7369 13.8047 4.86193C13.9298 4.98695 14 5.15652 14 5.33333V8M14 8H12C11.6464 8 11.3072 8.14048 11.0572 8.39052C10.8071 8.64057 10.6667 8.97971 10.6667 9.33333C10.6667 9.68696 10.8071 10.0261 11.0572 10.2761C11.3072 10.5262 11.6464 10.6667 12 10.6667H14C14.1768 10.6667 14.3464 10.5964 14.4714 10.4714C14.5964 10.3464 14.6667 10.1768 14.6667 10V8.66667C14.6667 8.48986 14.5964 8.32029 14.4714 8.19526C14.3464 8.07024 14.1768 8 14 8Z",stroke:"currentColor",strokeWidth:1.33333,strokeLinecap:"round",strokeLinejoin:"round"}),(0,D.jsx)("path",{d:"M2 3.33325V12.6666C2 13.0202 2.14048 13.3593 2.39052 13.6094C2.64057 13.8594 2.97971 13.9999 3.33333 13.9999H13.3333C13.5101 13.9999 13.6797 13.9297 13.8047 13.8047C13.9298 13.6796 14 13.5101 14 13.3333V10.6666",stroke:"currentColor",strokeWidth:1.33333,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Rn({size:e=16,className:t}){return(0,D.jsx)("svg",{width:e,height:e,viewBox:"4 4 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,D.jsx)("path",{d:"M9.40284 17.0647H4.85156V4.84656H17.0697V9.39783H15.4407V6.47565H6.48066V15.4356H9.40284V17.0647ZM21.5192 12.5644H12.5592V21.5244H21.5192V12.5644ZM23.1483 10.9353V23.1535H10.9301V10.9353H23.1483Z",fill:"currentColor"})})}function Zt({size:e=16,className:t}){return(0,D.jsx)("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,D.jsx)("path",{d:"M11.6667 3.5L5.25 9.91667L2.33334 7",stroke:"currentColor",strokeWidth:1.16667,strokeLinecap:"round",strokeLinejoin:"round"})})}function kt({size:e=24,className:t}){return(0,D.jsx)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,D.jsx)("path",{d:"M18 6L6 18M6 6l12 12",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function ai({size:e=20,className:t}){return(0,D.jsxs)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[(0,D.jsx)("path",{d:"M7.5 17.5H4.167A1.667 1.667 0 012.5 15.833V4.167A1.667 1.667 0 014.167 2.5H7.5",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),(0,D.jsx)("path",{d:"M13.333 14.167L17.5 10l-4.167-4.167M17.5 10H7.5",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Jo({size:e=20,className:t}){return(0,D.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,viewBox:"0 0 20 20",fill:"none",className:t,children:(0,D.jsx)("path",{d:"M7.91305 10.8327C8.60341 10.8327 9.16305 11.3924 9.16305 12.0827V16.2458C9.16305 16.9361 8.60341 17.4958 7.91305 17.4958H3.75C3.05964 17.4958 2.5 16.9361 2.5 16.2458L2.5 12.0827C2.5 11.3924 3.05964 10.8327 3.75 10.8327H7.91305ZM14.1685 17.4958H12.5027V15.83H14.1685V17.4958ZM17.5 17.4958H15.8342V15.83H17.5V17.4958ZM4.16576 12.4985V15.83H7.49729V12.4985H4.16576ZM12.5027 15.83H10.8369V14.1642H12.5027V15.83ZM15.8342 15.83H14.1685V14.1642H15.8342V15.83ZM14.1685 14.1642H12.5027V12.4985H14.1685V14.1642ZM17.5 14.1642H15.8342V12.4985H17.5V14.1642ZM12.5027 12.4985H10.8369V10.8327H12.5027V12.4985ZM15.8342 12.4985H14.1685V10.8327H15.8342V12.4985ZM7.91305 2.50391C8.60341 2.50391 9.16305 3.06355 9.16305 3.75391V7.91696C9.16305 8.60731 8.60341 9.16696 7.91305 9.16696H3.75C3.05964 9.16696 2.5 8.60731 2.5 7.91696L2.5 3.75391C2.5 3.06355 3.05964 2.50391 3.75 2.50391L7.91305 2.50391ZM16.2419 2.50391C16.9322 2.50391 17.4919 3.06355 17.4919 3.75391V7.91696C17.4919 8.60731 16.9322 9.16696 16.2419 9.16696H12.0788C11.3885 9.16696 10.8288 8.60731 10.8288 7.91696V3.75391C10.8288 3.06355 11.3885 2.50391 12.0788 2.50391L16.2419 2.50391ZM4.16576 4.16967L4.16576 7.50119L7.49729 7.50119L7.49729 4.16967L4.16576 4.16967ZM12.4946 4.16967V7.50119H15.8261V4.16967H12.4946Z",fill:"currentColor",fillOpacity:1})})}function Xt({size:e=20,className:t}){return(0,D.jsx)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,D.jsx)("path",{d:"M12.5 15L7.5 10L12.5 5",stroke:"currentColor",strokeWidth:1.67,strokeLinecap:"round",strokeLinejoin:"round"})})}function Jt({size:e=20,className:t}){return(0,D.jsx)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,D.jsx)("path",{d:"M5 8L10 13L15 8",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function si({size:e=16,className:t}){return(0,D.jsxs)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[(0,D.jsx)("path",{d:"M1.667 10S4.167 4.167 10 4.167 18.333 10 18.333 10 15.833 15.833 10 15.833 1.667 10 1.667 10z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),(0,D.jsx)("path",{d:"M10 12.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})]})}function li({size:e=16,className:t}){return(0,D.jsxs)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[(0,D.jsx)("path",{d:"M14.95 14.95A8.283 8.283 0 0110 16.667c-5.833 0-8.333-5.833-8.333-5.833a15.238 15.238 0 014.183-4.884m3.267-1.55A7.55 7.55 0 0110 4.167c5.833 0 8.333 5.833 8.333 5.833a15.28 15.28 0 01-1.783 2.633M11.767 11.767a2.5 2.5 0 11-3.534-3.534",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),(0,D.jsx)("path",{d:"M1.667 1.667l16.666 16.666",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})]})}function ci({size:e=42,className:t}){return(0,D.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,viewBox:"0 0 42 42",fill:"none",className:t,children:(0,D.jsx)("path",{d:"M20.7314 2C31.0766 2 39.4628 10.3863 39.4629 20.7314C39.4629 31.0766 31.0766 39.4629 20.7314 39.4629C10.3863 39.4628 2 31.0766 2 20.7314C2.00007 10.3864 10.3864 2.00007 20.7314 2ZM20.5938 30.0586L21.1084 30.5732L21.623 30.0586V25.2471H21.1084C20.9344 25.2471 20.7626 25.235 20.5938 25.2158V30.0586ZM16.4834 24.6611L14.6514 26.4922L15.3799 27.2207L17.1797 25.4209L18.3193 24.2803C18.0487 24.0673 17.8025 23.8251 17.5869 23.5566L16.4834 24.6611ZM26.8691 27.2207L27.5967 26.4922L26.3516 25.2471H24.8955L26.8691 27.2207ZM11.2666 20.7314L11.7822 21.2471H16.624C16.6048 21.0781 16.5938 20.9065 16.5938 20.7324C16.5938 20.5585 16.6049 20.3866 16.624 20.2178H11.7812L11.2666 20.7314ZM20.5938 11.4053V16.2471C20.7626 16.2279 20.9345 16.2178 21.1084 16.2178H21.623V11.4053L21.1084 10.8906L20.5938 11.4053ZM14.6514 15.0029L16.4521 16.8027L17.5732 17.9238C17.7874 17.6546 18.0315 17.4104 18.3008 17.1963L15.3799 14.2754L14.6514 15.0029ZM25.0371 16.1074L24.9268 16.2178H26.3818L27.5957 15.0029L26.8682 14.2754L25.0371 16.1074Z",fill:"#019D92",stroke:"white",strokeWidth:4})})}function di({size:e=20,className:t}){return(0,D.jsx)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,D.jsx)("path",{d:"M9.19133 10.8077C9.04905 10.6657 8.87947 10.554 8.69283 10.4792L2.78881 8.11167C2.71832 8.08338 2.65816 8.03421 2.61642 7.97075C2.57468 7.90729 2.55335 7.83258 2.5553 7.75665C2.55724 7.68072 2.58237 7.6072 2.6273 7.54596C2.67224 7.48472 2.73483 7.4387 2.80668 7.41406L16.9525 2.5747C17.0185 2.55087 17.0899 2.54632 17.1583 2.56159C17.2268 2.57685 17.2895 2.6113 17.3391 2.66089C17.3887 2.71049 17.4231 2.77319 17.4384 2.84165C17.4536 2.9101 17.4491 2.9815 17.4253 3.04746L12.5859 17.1933C12.5613 17.2651 12.5152 17.3277 12.454 17.3727C12.3928 17.4176 12.3192 17.4427 12.2433 17.4447C12.1674 17.4466 12.0927 17.4253 12.0292 17.3835C11.9658 17.3418 11.9166 17.2817 11.8883 17.2112L9.52073 11.3056C9.44567 11.1191 9.33362 10.9498 9.19133 10.8077ZM9.19133 10.8077L17.3367 2.66404",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})})}function pi({size:e=20,className:t}){return(0,D.jsx)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,D.jsx)("path",{d:"M10.8333 14.1667V7.5M15 14.1667V4.16667M2.5 2.5V15.8333C2.5 16.2754 2.67559 16.6993 2.98816 17.0118C3.30072 17.3244 3.72464 17.5 4.16667 17.5H17.5M6.66667 14.1667V11.6667",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})})}function fi({size:e=20,className:t}){return(0,D.jsx)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,D.jsx)("path",{d:"M6.6665 9.99984H13.3332M9.99984 6.6665V13.3332M18.3332 9.99984C18.3332 14.6022 14.6022 18.3332 9.99984 18.3332C5.39746 18.3332 1.6665 14.6022 1.6665 9.99984C1.6665 5.39746 5.39746 1.6665 9.99984 1.6665C14.6022 1.6665 18.3332 5.39746 18.3332 9.99984Z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})})}function ui({size:e=20,className:t}){return(0,D.jsx)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,D.jsx)("path",{d:"M6.667 2.5 3.333 5.833 6.667 9.167M3.333 5.833h13.334M13.333 17.5l3.334-3.333-3.334-3.334M16.667 14.167H3.333",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})})}function mi({size:e=20,className:t}){return(0,D.jsxs)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[(0,D.jsx)("circle",{cx:"10",cy:"10",r:"10",fill:"currentColor"}),(0,D.jsx)("path",{d:"M6 10.2L8.6 12.8L14 7.2",stroke:"var(--ds-accent-primary-on, #ffffff)",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round"})]})}var E=z(require("react"),1);var Dt=z(require("bignumber.js"),1);function Pl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===48;)t--;return t>0&&e.charCodeAt(t-1)===46&&t--,e.slice(0,t)}function Ht(e,t){if(!e||e==="0")return"0.00";let n=new Dt.default(e).shiftedBy(-t),o=n.isGreaterThanOrEqualTo(1)?2:4;return n.toFormat(o,Dt.default.ROUND_DOWN)}function Ye(e){return e.length<=10?e:`${e.slice(0,6)}...${e.slice(-4)}`}function er(e){let t=typeof e=="string"?parseFloat(e):e;if(Number.isNaN(t)||t===0)return"$0.00";let n=t>=1?2:4,o=Math.pow(10,n);return`$${(Math.floor(t*o)/o).toLocaleString("en-US",{minimumFractionDigits:n,maximumFractionDigits:n})}`}function gi(e,t,n){let r=new Dt.default(e).shiftedBy(-t).multipliedBy(new Dt.default(n));return r.isZero()||r.isNaN()?"$0.00":`$${(r.integerValue(Dt.default.ROUND_DOWN).isGreaterThanOrEqualTo(1)?r.decimalPlaces(2,Dt.default.ROUND_DOWN):r.decimalPlaces(4,Dt.default.ROUND_DOWN)).toFormat()}`}function hi(e){if(e===""||e===null||e===void 0)return{displayValue:"0",isLowerBound:!1};let t=typeof e=="number"?e.toString():e;if(t==="0"||t==="0.0")return{displayValue:"0",isLowerBound:!1};let n=t;if(n.includes("e")||n.includes("E")){let i=Number(n);if(!Number.isFinite(i)||i===0)return{displayValue:"0",isLowerBound:!1};n=Pl(i.toFixed(18))}let[o="0",r=""]=n.split(".");if(Number(o)>=1){let i=r.slice(0,2).padEnd(2,"0");return{displayValue:`${Number(o).toLocaleString("en-US")}.${i}`,isLowerBound:!1}}return r.length<4?{displayValue:`${o}.${r}`,isLowerBound:!1}:r.slice(0,4)==="0000"?{displayValue:"0.0001",isLowerBound:!0}:{displayValue:`0.${r.slice(0,4)}`,isLowerBound:!1}}var bi=require("react"),wi=require("@tanstack/react-query");var ot={dev:"https://stg-wallet-server.crosstoken.io/api",stage:"https://stg-wallet-server.crosstoken.io/api",production:"https://wallet-server.crosstoken.io/api"},Me={dev:{cross:612044,bsc:97},stage:{cross:612044,bsc:97},production:{cross:612055,bsc:56}};var Bl="send:chain-info";function Fl(e){if("data"in e&&e.data!==void 0){let t=e.data;if(Array.isArray(t)){let n=t[0];if(!n)throw new Error("Chain info payload is empty.");return n}return t}return e}function tr(e,...t){let n=e.replace(/\/+$/,""),o=t.map(r=>r.replace(/^\/+|\/+$/g,"")).filter(Boolean);return[n,...o].join("/")}function Ml(e,t,n,o){if(o)return t===Me[e].cross?xi(t,o):n?.explorer_url?tr(n.explorer_url,n.explorer_postfix?.transaction??"tx",o):_l(e,t,o)}function xi(e,t){return tr("https://explorer.crosstoken.io",String(e),"tx",t)}function _l(e,t,n){let o=Me[e];if(t===o.cross)return xi(t,n);if(t===o.bsc)return tr(e==="production"?"https://bscscan.com":"https://testnet.bscscan.com","tx",n)}function ao(e,t,n,o=!0){let r=ot[e],a=(0,wi.useQuery)({queryKey:[Bl,e,t],queryFn:async({signal:p})=>{let c=await fetch(`${r}/v1/public/chain/info/${t}`,{cache:"no-store",signal:p});if(!c.ok)throw new Error(`Failed to fetch chain info: ${c.status}`);let f=await c.json();if("code"in f&&f.code!==void 0&&f.code!==200)throw new Error(`Chain info API error: ${f.code}`);return Fl(f)},enabled:o,staleTime:300*1e3}),i=a.data;return{transactionUrl:(0,bi.useMemo)(()=>Ml(e,t,i,n),[t,i,e,n]),chainInfo:i,...a}}var vi="0x0000000000000000000000000000000000000001";var Ol="0xa9059cbb",zl=/^0x[a-fA-F0-9]{40}$/,Wl="nexus-cross:dapp-ui:send:recent:",yi=10;function Dl(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===48;)t--;return e.slice(0,t)}function Nn(e){return e.toLowerCase()}function St(e){return zl.test(e)}function Gt(e){return Nn(e.address)===vi}function nr(e){return`${Wl}${e.toLowerCase()}`}function un(e){if(typeof window>"u")return[];try{let t=window.localStorage.getItem(nr(e));if(!t)return[];let n=JSON.parse(t);return Array.isArray(n)?n.filter(o=>o!==null&&typeof o=="object"&&St(o.address)&&typeof o.updatedAt=="number").slice(0,yi):[]}catch{return[]}}function or(e,t){if(typeof window>"u")return[];let n=Nn(t),o=[{address:n,updatedAt:Date.now()},...un(e).filter(r=>r.address!==n)].slice(0,yi);try{window.localStorage.setItem(nr(e),JSON.stringify(o))}catch{return un(e)}return o}function rr(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(nr(e))}catch{}}function en(e,t){let n=e.trim();if(!n)return{error:"Enter an amount."};if(!/^\d+(\.\d*)?$/.test(n))return{error:"Enter a valid amount."};let[o="0",r=""]=n.split(".");if(r.length>t)return{error:`Max ${t} decimal places.`};let a=BigInt(o||"0"),i=r.padEnd(t,"0"),l=i?BigInt(i):0n,p=10n**BigInt(t),c=a*p+l;return c<=0n?{error:"Amount must be greater than 0."}:{value:c}}function ir(e,t){let n=BigInt(e||"0"),o=10n**BigInt(t),r=n/o,a=n%o;if(a===0n)return r.toString();let i=Dl(a.toString().padStart(t,"0"));return`${r.toString()}.${i}`}function ar(e,t){let n=e.replace(/^0x/,"").toLowerCase().padStart(64,"0"),o=t.toString(16).padStart(64,"0");return`${Ol}${n}${o}`}function so(e,t,n=10){if(t<=0)return e.toString();let o=10n**BigInt(t),r=e/o,a=e%o;if(a===0n)return r.toString();let l=a.toString().padStart(t,"0").slice(0,Math.max(0,Math.min(n,t)));return l=l.replace(/0+$/,""),l?`${r.toString()}.${l}`:r.toString()}function sr(e,t){return so(e,t,6)}function ki(e){return so(e,9,2)}function Si(e){return e.toLocaleString("en-US")}function lo(e){return e===56||e===97}function co(e){return e.gasPrice??e.maxFeePerGas}function Ci(e,t=!1){return t?co(e)!==void 0?"legacy":null:e.maxFeePerGas!==void 0?"dynamic":e.gasPrice!==void 0?"legacy":null}function po(e,t=!1){if(t){let n=co(e);return n!==void 0?e.gasLimit*n:null}return e.maxFeePerGas!==void 0?e.gasLimit*e.maxFeePerGas:e.gasPrice!==void 0?e.gasLimit*e.gasPrice:null}function fo(e){return!Number.isFinite(e)||e<=0?"$0.00":`$${e.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function Ri(e,t=0){if(t>4||e===null||e===void 0)return"";if(typeof e=="string")return e.toLowerCase();if(typeof e!="object")return"";let n=e,o=[];return typeof n.name=="string"&&o.push(n.name),typeof n.shortMessage=="string"&&o.push(n.shortMessage),typeof n.message=="string"&&o.push(n.message),typeof n.details=="string"&&o.push(n.details),n.cause!==void 0&&o.push(Ri(n.cause,t+1)),o.join(`
|
|
6
6
|
`).toLowerCase()}function Hl(e){if(e instanceof Error)return e.message;if(typeof e=="string")return e;if(e&&typeof e=="object"){let t=e;if(typeof t.shortMessage=="string")return t.shortMessage;if(typeof t.message=="string")return t.message}return""}function lr(e,t={},n="Failed to send transaction."){let o=Ri(e);if(!o)return n;let r=t.nativeSymbol?.trim()||"gas token",a=t.networkName?.trim();if(o.includes("user rejected")||o.includes("userrejected")||o.includes("user denied")||o.includes("user cancelled")||o.includes("user canceled")||o.includes("action_rejected")||o.includes("rejected by user"))return"Transaction was cancelled.";if(o.includes("insufficientfunds")||o.includes("insufficient funds")||o.includes("exceeds the balance of the account")||o.includes("insufficient balance for transfer")){let i=a?` on ${a}`:"";return`Not enough ${r} to cover the gas fee.Please top up your ${r} balance and try again.`}return o.includes("transaction underpriced")||o.includes("replacement transaction underpriced")||o.includes("fee too low")?"Gas fee was too low for the network. Please try again.":o.includes("nonce too low")||o.includes("nonce has already been used")||o.includes("nonce too high")?"Pending transactions are out of order. Refresh the page and try again.":o.includes("execution reverted")||o.includes("contractfunctionrevertederror")||o.includes("contractfunctionexecutionerror")?"The transaction was rejected by the contract. The recipient or token may be invalid.":o.match(/chain \d+ is not configured/)?"This network is not registered in the app. Contact support.":o.includes("http request failed")||o.includes("failed to fetch")||o.includes("network request failed")||o.includes("timeout")||o.includes("econnreset")||o.includes("rpc error")||o.includes("429")?"Network connection failed. Check your internet and try again.":o.includes("estimategas")||o.includes("gas estimation failed")?"Could not estimate the gas fee. The recipient address or amount may be invalid.":Hl(e)||n}var Gl=2000000000n,Ul=1000000000n;async function uo(e,t,n){let o=new AbortController,r=setTimeout(()=>o.abort(),8e3),a=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:t,params:n}),signal:o.signal}).finally(()=>clearTimeout(r));if(!a.ok)throw new Error(`RPC ${t} HTTP ${a.status}`);let i=await a.json();if(i.error)throw new Error(`RPC ${t}: ${i.error.message}`);if(i.result===void 0)throw new Error(`RPC ${t}: empty result`);return i.result}function mo(e){return BigInt(e)}function $l(e){return`0x${e.toString(16)}`}function jl(e){let t={to:e.to};return e.from&&(t.from=e.from),e.value!==void 0&&e.value>0n&&(t.value=$l(e.value)),e.data&&(t.data=e.data),t}function Vl(e){return e===56||e===97}async function Ni(e){try{let t=await uo(e,"eth_gasPrice",[]);return{gasPrice:mo(t)}}catch{return{gasPrice:Gl}}}async function ql(e,t){let n=Ul;try{let o=await uo(e,"eth_maxPriorityFeePerGas",[]);n=mo(o)}catch{}return{maxFeePerGas:t+n,maxPriorityFeePerGas:n}}async function Kl(e,t){if(t)return Ni(e);let n;try{n=(await uo(e,"eth_getBlockByNumber",["latest",!1]))?.baseFeePerGas}catch{}return n?ql(e,mo(n)):Ni(e)}async function Ti(e,t){let n=Vl(t.chainId),o=jl(t),[r,a]=await Promise.all([uo(e,"eth_estimateGas",[o]),Kl(e,n)]);return{gasLimit:mo(r),gasPrice:a.gasPrice,maxFeePerGas:a.maxFeePerGas,maxPriorityFeePerGas:a.maxPriorityFeePerGas}}function Ii(e){let{estimateGas:t,sendTransaction:n,getTransactionReceipt:o}=e;return{canSend:!!n,canEstimateGas(r){return!!t||!!r},async estimateGas(r,a){if(t)return t(r);if(a)return Ti(a,r);throw new Error("Gas estimation is not available.")},async sendTransaction(r){if(!n)throw new Error("Sending is not available for this wallet.");return n(r)},getTransactionReceipt:o}}var Ql=1500,Yl=120;function Li(e){return!!(e.token||e.recipient||e.amount)}function cr({recipient:e,amount:t,token:n,balanceRaw:o}){let r={},a=e.trim(),i=en(t,n.quantity.decimals),l;return a?St(a)||(r.recipient="Enter a valid EVM recipient address."):r.recipient="Enter a recipient address.","error"in i?r.amount=i.error:(l=i.value,l>o&&(r.amount="Amount exceeds available balance.")),!Gt(n)&&!St(n.address)&&(r.token="Token contract address is invalid."),{errors:r,rawAmount:r.amount?void 0:l,recipient:a&&St(a)?a:void 0}}function dr({token:e,walletAddress:t,recipient:n,rawAmount:o}){let r=t;return Gt(e)?{to:n,value:o,chainId:e.chainId,from:r}:{to:Nn(e.address),data:ar(n,o),value:0n,chainId:e.chainId,from:r}}function Zl(e){let{status:t}=e;return t==="reverted"||t==="0x0"||t===0||t===0n||t===!1}var Xl=e=>new Promise(t=>setTimeout(t,e));async function Ei({repository:e,args:t,chainId:n,onSubmitted:o,pollIntervalMs:r=Ql,pollMaxAttempts:a=Yl}){let i=await e.sendTransaction(t);o(i);let{getTransactionReceipt:l}=e;if(!l)return"success";for(let p=0;p<a;p+=1){let c=await l({hash:i,chainId:n}).catch(()=>null);if(c)return Zl(c)?"reverted":"success";await Xl(r)}return"timeout"}var Ai=["token","recipient","amount","review"];function Pi(e){let{env:t,walletAddress:n,accountName:o,accounts:r=[],initialStep:a="recipient",token:i,tokens:l=[],onTokenChange:p,sendTransaction:c,getTransactionReceipt:f,estimateGas:m,getTokenPriceUsd:h,onSubmitted:g,onSuccess:v,onFailed:x,onExit:w,onOutlink:y}=e,A=E.useMemo(()=>Ii({sendTransaction:c,getTransactionReceipt:f,estimateGas:m}),[c,f,m]),[u,T]=E.useState(i);E.useEffect(()=>{T(i)},[i.address,i.chainId]);let[S,P]=E.useState(a),[B,te]=E.useState(""),[O,Y]=E.useState(""),[_,re]=E.useState({}),[G,Ce]=E.useState("idle"),[pe,me]=E.useState(""),[Ue,ge]=E.useState(""),[U,he]=E.useState(null),[de,$]=E.useState(!1),[$e,ve]=E.useState(""),Oe=E.useRef(0),[ye,it]=E.useState(null),[Le,_t]=E.useState(""),[Ge,wt]=E.useState(()=>un(n)),Tt=E.useMemo(()=>Be(t),[t]),{transactionUrl:be,chainInfo:Re}=ao(Tt,u.chainId,pe||void 0,!0),Xe=Re?.currency_symbol??"",Ee=Re?.name??`Chain ID ${u.chainId}`,Ne=E.useRef({nativeSymbol:Xe||void 0,networkName:Ee,tokenSymbol:u.symbol});Ne.current={nativeSymbol:Xe||void 0,networkName:Ee,tokenSymbol:u.symbol};let we=E.useMemo(()=>BigInt(u.quantity.numeric||"0"),[u.quantity.numeric]),xt=E.useMemo(()=>Ht(u.quantity.numeric,u.quantity.decimals),[u.quantity.numeric,u.quantity.decimals]),je=h?.(u),at=E.useMemo(()=>{if(je===void 0)return;let k=parseFloat(O.replace(/,/g,""));return Number.isFinite(k)?k*je:0},[O,je]);E.useEffect(()=>{Y(""),re({})},[u.address,u.chainId]),E.useEffect(()=>{Oe.current+=1,he(null),ve(""),$(!1)},[u.address,u.chainId,B,O]),E.useEffect(()=>{wt(un(n))},[n]);let Ae=E.useCallback(k=>{te(k),re(q=>({...q,recipient:void 0}))},[]),vt=E.useCallback(k=>{Y(k),re(q=>({...q,amount:void 0}))},[]),yt=E.useCallback(()=>{Y(xt.replace(/,/g,"")),re(k=>({...k,amount:void 0}))},[xt]),ze=E.useCallback(k=>{T(k),p?.(k),P("recipient")},[p]),st=E.useCallback(()=>P("token"),[]),Je=E.useCallback(()=>{P(k=>{if(k==="result")return"review";if(k===a)return w?.(),k;let q=Ai.indexOf(k);return q<=0?(w?.(),k):Ai[q-1]})},[a,w]),fe=E.useCallback(()=>{let{errors:k}=cr({recipient:B,amount:"1",token:u,balanceRaw:we});if(k.recipient){re(q=>({...q,recipient:k.recipient}));return}re(q=>({...q,recipient:void 0})),P("amount")},[B,u,we]),et=E.useCallback(k=>{te(k),re(q=>({...q,recipient:void 0})),P("amount")},[]),Pe=E.useCallback(()=>{let k=cr({recipient:B,amount:O,token:u,balanceRaw:we});re(k.errors),!(Li(k.errors)||k.rawAmount===void 0||!k.recipient)&&(it(k.rawAmount),_t(k.recipient),he(null),ve(""),Ce("idle"),P("review"))},[B,O,u,we]);E.useEffect(()=>{if(S!=="review"||!Le||ye===null||U!==null||de||$e||!A.canEstimateGas(Re?.rpc))return;let k=++Oe.current;$(!0),ve(""),(async()=>{try{let q=dr({token:u,walletAddress:n,recipient:Le,rawAmount:ye}),ie=await A.estimateGas(q,Re?.rpc);if(Oe.current!==k)return;he(ie)}catch(q){if(Oe.current!==k)return;ve(lr(q,Ne.current,"Failed to estimate gas."))}finally{Oe.current===k&&$(!1)}})()},[S,Le,ye,U,de,$e,A,Re?.rpc,u,n]);let tt=E.useMemo(()=>{if(!Gt(u)||!U||ye===null)return!1;let k=po(U,lo(u.chainId));return k===null?!1:ye+k>we},[u,U,ye,we]),Ve=E.useCallback(async()=>{if(!(!Le||ye===null)&&!tt){ge(""),me(""),Ce("submitting");try{let k="",q=await Ei({repository:A,args:dr({token:u,walletAddress:n,recipient:Le,rawAmount:ye}),chainId:u.chainId,onSubmitted:ie=>{k=ie,me(ie),Ce("confirming"),wt(or(n,Le)),g?.({txHash:ie,chainId:u.chainId,amount:O,tokenSymbol:u.symbol,recipient:Le})}});if(q==="success")Ce("success"),k&&v?v?.(k):P("result");else if(q==="reverted"){let ie="Transaction reverted on-chain.";Ce("error"),ge(ie),k&&x?x({txHash:k,chainId:u.chainId,message:ie}):P("result")}else{let ie="Transaction receipt was not found. Please check again later.";Ce("error"),ge(ie),k&&x?x({txHash:k,chainId:u.chainId,message:ie}):P("result")}}catch(k){Ce("error"),ge(lr(k,{nativeSymbol:Xe||void 0,networkName:Ee,tokenSymbol:u.symbol})),P("result")}}},[A,Le,ye,tt,u,O,n,g,v,x,Xe,Ee]),[It,Lt]=E.useState(!1),lt=E.useRef(void 0);E.useEffect(()=>()=>clearTimeout(lt.current),[]);let Ot=E.useCallback(async()=>{if(pe)try{await navigator.clipboard.writeText(pe),Lt(!0),clearTimeout(lt.current),lt.current=setTimeout(()=>Lt(!1),2e3)}catch{}},[pe]),ct=E.useCallback(()=>{if(!be||!pe)return;let k=qe=>{typeof window<"u"&&window.open(qe,"_blank","noopener,noreferrer")};if(!y){k(be);return}let q=y(be,{category:"send",origin:"send-transaction",payload:{chainId:u.chainId,txHash:pe}});if(q&&typeof q.then=="function"){let qe=typeof window<"u"?window.open("","_blank","noopener,noreferrer"):null;q.then(Ke=>{if(Ke===null){qe?.close();return}let zt=Ke??be;if(qe)try{qe.location.href=zt}catch{qe.close(),k(zt)}else k(zt)});return}let ie=q;ie!==null&&k(ie??be)},[y,u.chainId,be,pe]),Te=E.useCallback(()=>{ge(""),me(""),Ce("idle"),he(null),ve(""),P("review")},[]);return{step:S,status:G,token:u,tokens:l.length>0?l:[u],recipient:B,amount:O,amountUsd:at,fieldErrors:_,error:Ue,txHash:pe,gasEstimate:U,gasLoading:de,gasError:$e,insufficientGas:tt,reviewRawAmount:ye,reviewRecipient:Le,recentAddresses:Ge,accounts:r,accountName:o,walletAddress:n,resolvedEnv:Tt,transactionUrl:be,networkName:Ee,nativeSymbol:Xe,nativeDecimals:Re?.currency_decimals??u.quantity.decimals,balanceRaw:we,balanceText:xt,priceUsd:je,canSelectToken:(l.length>0?l:[u]).length>1,canSend:A.canSend,getTokenPriceUsd:h,setRecipient:Ae,setAmount:vt,setMax:yt,selectToken:ze,goToTokenSelect:st,selectRecipient:et,submitRecipient:fe,submitAmount:Pe,confirmSend:Ve,retry:Te,back:Je,hashCopied:It,copyHash:Ot,openTransaction:ct}}var pt=z(require("react"),1);var Ct=require("react/jsx-runtime");function Bi({flow:e}){let{amount:t,setAmount:n,amountUsd:o,balanceText:r,balanceRaw:a,token:i,setMax:l}=e,p=pt.useRef(null),c=pt.useCallback(()=>{requestAnimationFrame(()=>{let x=p.current;if(!x)return;let w=x.value.length;x.setSelectionRange(w,w)})},[]);pt.useEffect(()=>{p.current?.focus(),c()},[c]),pt.useEffect(()=>{t===""&&(h(!1),c())},[t,c]);let f=pt.useMemo(()=>{let x=en(t,i.quantity.decimals);return"value"in x&&x.value>a},[t,i.quantity.decimals,a]),[m,h]=pt.useState(!1),g=!m&&t===""?"0.00":t,v=t.trim()===""||t.trim()==="0";return(0,Ct.jsx)("div",{className:"sf-body sf-amount",children:(0,Ct.jsxs)("div",{className:"sf-amount-center",children:[(0,Ct.jsx)("span",{className:"sf-amount-usd",children:o!==void 0?fo(o):"\xA0"}),(0,Ct.jsx)("div",{className:"sf-amount-input-wrap","data-over":f||void 0,"data-empty":v||void 0,onClick:()=>p.current?.focus(),children:(0,Ct.jsx)("input",{ref:p,className:"sf-amount-input",value:g,onChange:x=>{let w=x.target.value;if(m)n(w);else if(t===""){if(w.length<4)return;h(!0);let y=w.startsWith("0.00")?w.slice(4):w;n(y)}else h(!0),n(w)},placeholder:"0.00",inputMode:"decimal",autoComplete:"off","aria-label":`Amount in ${i.symbol}`,size:1})}),(0,Ct.jsxs)("div",{className:"sf-amount-balance",children:[(0,Ct.jsx)("span",{children:"Balance:"}),(0,Ct.jsxs)("button",{type:"button",className:"sf-amount-max",onClick:l,children:[r," ",i.symbol]})]})]})})}var ft=z(require("react"),1);var pr={dev:"https://stg-bonding-curve-api.crosstoken.io/api",stage:"https://stg-bonding-curve-api.crosstoken.io/api",production:"https://bonding-curve-api.crosstoken.io/api"},Fi={cross:"https://contents.crosstoken.io/wallet/token/images/CROSS.svg",bsc:"https://contents.crosstoken.io/wallet/token/images/BSC.svg"};function Tn(e,t){let n=Me[e];if(t===n.cross)return Fi.cross;if(t===n.bsc)return Fi.bsc}var Jl={dev:"https://dev-portrait.crosstoken.io",stage:"https://dev-portrait.crosstoken.io",production:"https://portrait.crosstoken.io"};function Et(e,t,n={}){if(!t||!t.startsWith("0x"))return;let{size:o=120,bg:r,format:a="png"}=n,i=Jl[e],l=r?`&bg=${r}`:"";return`${i}/portrait/evm/${t}.${a}?size=${o}${l}`}var Se=require("react/jsx-runtime");function Mi({size:e=20,className:t}){return(0,Se.jsxs)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",className:t,"aria-hidden":"true",children:[(0,Se.jsx)("circle",{cx:"9",cy:"9",r:"6",stroke:"currentColor",strokeWidth:"1.7"}),(0,Se.jsx)("path",{d:"m17 17-3.2-3.2",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function _i({size:e=20,className:t}){return(0,Se.jsx)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",className:t,"aria-hidden":"true",children:(0,Se.jsx)("path",{d:"M9 2h6a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zM8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2M12 11v6M9 14h6",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"})})}function Oi({size:e=20,className:t}){return(0,Se.jsxs)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",className:t,"aria-hidden":"true",children:[(0,Se.jsx)("circle",{cx:"10",cy:"10",r:"10",fill:"currentColor",opacity:"0.12"}),(0,Se.jsx)("path",{d:"M7 7l6 6M13 7l-6 6",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round"})]})}function zi({size:e=16,className:t}){return(0,Se.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",className:t,"aria-hidden":"true",children:(0,Se.jsx)("path",{d:"M8 3v10m0 0 4-4m-4 4-4-4",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"})})}function Wi({size:e=56,className:t}){return(0,Se.jsxs)("svg",{width:e,height:e,viewBox:"0 0 56 56",fill:"none",className:t,"aria-hidden":"true",children:[(0,Se.jsx)("circle",{cx:"28",cy:"28",r:"28",fill:"var(--ds-accent-primary-default, #00b4b7)"}),(0,Se.jsx)("path",{d:"M17 28.5 24.2 35.5 39 20.5",stroke:"var(--ds-accent-primary-on, #ffffff)",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"})]})}function Di({size:e=56,className:t}){return(0,Se.jsxs)("svg",{width:e,height:e,viewBox:"0 0 56 56",fill:"none",className:t,"aria-hidden":"true",children:[(0,Se.jsx)("circle",{cx:"28",cy:"28",r:"28",fill:"var(--ds-system-red-default, #da0b2e)"}),(0,Se.jsx)("path",{d:"M20 20 36 36m0-16L20 36",stroke:"#ffffff",strokeWidth:"4",strokeLinecap:"round"})]})}var Q=require("react/jsx-runtime");function Hi(e,t){return e.name||`Account ${(e.index??t)+1}`}function Gi(e){return e.trim().slice(0,1).toUpperCase()||"A"}function Ui(e){return e.toLowerCase()}function $i({flow:e}){let{recipient:t,setRecipient:n,fieldErrors:o,recentAddresses:r,accounts:a,walletAddress:i,resolvedEnv:l,selectRecipient:p}=e,c=ft.useMemo(()=>a.filter(u=>u.address.toLowerCase()!==i.toLowerCase()),[a,i]),f=c.length>0,m=ft.useMemo(()=>new Map(c.map((u,T)=>[Ui(u.address),{account:u,index:T}])),[c]),[h,g]=ft.useState("recent"),v=ft.useRef(null);ft.useEffect(()=>{v.current?.focus()},[]);let x="1A1A2E",w=ft.useCallback(async()=>{try{let u=await navigator.clipboard.readText();u&&n(u.trim())}catch{}},[n]),y=t.trim().length>0,A=St(t.trim());return(0,Q.jsxs)("div",{className:"sf-recipient",children:[(0,Q.jsxs)("div",{className:"sf-recipient-top",children:[(0,Q.jsxs)("div",{className:"sf-address-field","data-filled":y||void 0,"data-invalid":o.recipient||void 0,children:[(0,Q.jsx)("textarea",{ref:v,className:"sf-address-input",value:t,onChange:u=>n(u.target.value),placeholder:"Enter the recipient's address",autoComplete:"off",spellCheck:!1,"aria-label":"Recipient address",rows:y?2:1}),y?(0,Q.jsx)("button",{type:"button",className:"sf-address-action",onClick:()=>n(""),"aria-label":"Clear",children:(0,Q.jsx)(Oi,{size:20})}):(0,Q.jsx)("button",{type:"button",className:"sf-address-action",onClick:w,"aria-label":"Paste from clipboard",children:(0,Q.jsx)(_i,{size:20})})]}),o.recipient&&(0,Q.jsx)("p",{className:"sf-field-error",role:"alert",children:o.recipient}),(0,Q.jsxs)("div",{className:"sf-tabs",role:"tablist",children:[(0,Q.jsx)("button",{type:"button",role:"tab",className:"sf-tab","data-active":h==="recent"||void 0,"aria-selected":h==="recent",onClick:()=>g("recent"),children:"Recent"}),f&&(0,Q.jsx)("button",{type:"button",role:"tab",className:"sf-tab","data-active":h==="account"||void 0,"aria-selected":h==="account",onClick:()=>g("account"),children:"My Account"})]})]}),(0,Q.jsx)("div",{className:"sf-address-list",children:h==="account"&&f?c.map((u,T)=>{let S=Hi(u,T),P=Et(l,u.address,{size:56,bg:x});return(0,Q.jsxs)("button",{type:"button",className:"sf-address-row",onClick:()=>p(u.address),children:[(0,Q.jsxs)("span",{className:"sf-address-avatar",children:[P&&(0,Q.jsx)("img",{src:P,alt:"",width:40,height:40,draggable:!1,onError:B=>{B.currentTarget.style.display="none"}}),(0,Q.jsx)("span",{className:"sf-address-avatar-fallback",children:Gi(S)})]}),(0,Q.jsxs)("span",{className:"sf-address-meta",children:[(0,Q.jsx)("span",{className:"sf-address-name",children:S}),(0,Q.jsx)("span",{className:"sf-address-value",children:Ye(u.address)})]})]},u.address)}):r.length>0?r.map(u=>{let T=m.get(Ui(u.address)),S=T?Hi(T.account,T.index):Ye(u.address),P=Et(l,u.address,{size:56,bg:x});return(0,Q.jsxs)("button",{type:"button",className:"sf-address-row",onClick:()=>p(u.address),children:[(0,Q.jsxs)("span",{className:"sf-address-avatar",children:[P&&(0,Q.jsx)("img",{src:P,alt:"",width:40,height:40,draggable:!1,onError:B=>{B.currentTarget.style.display="none"}}),(0,Q.jsx)("span",{className:"sf-address-avatar-fallback",children:Gi(S)})]}),(0,Q.jsxs)("span",{className:"sf-address-meta",children:[(0,Q.jsx)("span",{className:"sf-address-name",children:S}),(0,Q.jsx)("span",{className:"sf-address-value",children:Ye(u.address)})]})]},u.address)}):(0,Q.jsx)("div",{className:"sf-empty",children:"No send history"})}),y&&!A&&!o.recipient&&(0,Q.jsx)("p",{className:"sf-field-error",role:"alert",children:"Enter a valid EVM recipient address."})]})}var le=require("react/jsx-runtime");function Vi({flow:e}){let{status:t,txHash:n,error:o,copyHash:r,hashCopied:a,openTransaction:i}=e,l=t==="error",p=t==="success";return l?(0,le.jsxs)("div",{className:"sf-body sf-result sf-result--error",children:[(0,le.jsx)("span",{className:"sf-result-icon",children:(0,le.jsx)(Di,{size:56})}),(0,le.jsxs)("div",{className:"sf-result-copy",children:[(0,le.jsx)("h3",{className:"sf-result-title",children:"Transaction Failed"}),(0,le.jsx)("p",{className:"sf-result-desc",children:o||"Something went wrong. Please try again."})]}),n&&(0,le.jsx)(ji,{txHash:n,hashCopied:a,onCopy:r,onOpen:i})]}):(0,le.jsxs)("div",{className:"sf-body sf-result",children:[(0,le.jsx)("span",{className:"sf-result-icon","data-pending":!p||void 0,children:p?(0,le.jsx)(Wi,{size:56}):(0,le.jsx)("span",{className:"sf-result-spinner"})}),(0,le.jsxs)("div",{className:"sf-result-copy",children:[(0,le.jsx)("h3",{className:"sf-result-title",children:p?"Transaction Complete":"Transaction in Progress"}),(0,le.jsx)("p",{className:"sf-result-desc",children:p?"Your transfer was sent successfully.":"Transfer in progress. Waiting for confirmation."})]}),n&&(0,le.jsx)(ji,{txHash:n,hashCopied:a,onCopy:r,onOpen:i})]})}function ji({txHash:e,hashCopied:t,onCopy:n,onOpen:o}){return(0,le.jsxs)("div",{className:"sf-result-hash-card",children:[(0,le.jsx)("span",{className:"sf-result-hash-label",children:"Transaction Hash"}),(0,le.jsxs)("div",{className:"sf-result-hash-row",children:[(0,le.jsx)("button",{type:"button",className:"sf-result-hash-link",onClick:o,"aria-label":"Open transaction in explorer",children:Ye(e)}),(0,le.jsx)("button",{type:"button",className:"sf-result-copy-btn",onClick:n,"aria-label":"Copy transaction hash",children:t?(0,le.jsx)(Zt,{size:16}):"Copy"})]})]})}var H=require("react/jsx-runtime"),go="\u2014";function qi({flow:e}){let{token:t,reviewRawAmount:n,reviewRecipient:o,accountName:r,accounts:a,walletAddress:i,networkName:l,nativeSymbol:p,nativeDecimals:c,gasEstimate:f,gasLoading:m,gasError:h,insufficientGas:g,error:v,resolvedEnv:x}=e,w=Gt(t),y=n!==null?so(n,t.quantity.decimals):"",A=r?.trim()||`Account ${(a[0]?.index??0)+1}`,u=Et(x,i,{size:56,bg:"1A1A2E"}),T=p||(w?t.symbol:""),S=lo(t.chainId),P=f?Ci(f,S):null,B=f?po(f,S):null,te=G=>G!==null&&T?`${sr(G,c)} ${T}`:go,O=G=>G!==void 0?`${ki(G)} Gwei`:go,Y=(()=>{if(!w||!f||B===null||n===null)return go;let G=n+B;return`${sr(G,c)} ${T||t.symbol}`})(),_=G=>m?"\u2026":G,re=[{label:"Est. Tx Fee",value:_(te(B))},...P==="dynamic"?[{label:"Max Priority Fee",value:_(O(f?.maxPriorityFeePerGas))},{label:"Max Gas Fee",value:_(O(f?.maxFeePerGas))}]:P==="legacy"?[{label:"Gas Price",value:_(O(f?co(f):void 0))}]:[],{label:"Gas Limit",value:_(f?Si(f.gasLimit):go)}];return(0,H.jsxs)("div",{className:"sf-body sf-review",children:[(0,H.jsxs)("div",{className:"sf-review-amount",children:[(0,H.jsx)("img",{className:"sf-review-amount-icon",src:t.icon_url,alt:"",width:40,height:40,draggable:!1,onError:G=>{G.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),(0,H.jsxs)("span",{className:"sf-review-amount-value",children:[y,(0,H.jsx)("span",{className:"sf-review-amount-symbol",children:t.symbol})]})]}),(0,H.jsxs)("div",{className:"sf-review-parties",children:[(0,H.jsxs)("div",{className:"sf-review-card sf-review-party",children:[(0,H.jsx)("span",{className:"sf-review-party-label",children:"From"}),(0,H.jsxs)("div",{className:"sf-review-party-head",children:[(0,H.jsx)("span",{className:"sf-review-party-avatar",children:u&&(0,H.jsx)("img",{src:u,alt:"",width:28,height:28,draggable:!1,onError:G=>{G.currentTarget.style.display="none"}})}),(0,H.jsx)("span",{className:"sf-review-party-name",children:A})]}),(0,H.jsx)("span",{className:"sf-review-party-addr",children:i})]}),(0,H.jsx)("span",{className:"sf-review-arrow","aria-hidden":!0,children:(0,H.jsx)(zi,{size:16})}),(0,H.jsxs)("div",{className:"sf-review-card sf-review-party",children:[(0,H.jsx)("span",{className:"sf-review-party-label",children:"To"}),(0,H.jsx)("span",{className:"sf-review-party-addr",children:o})]})]}),(0,H.jsxs)("section",{className:"sf-review-card",children:[(0,H.jsx)("h3",{className:"sf-review-section-title",children:"Summary"}),(0,H.jsxs)("div",{className:"sf-review-row",children:[(0,H.jsx)("span",{className:"sf-review-row-label",children:"Network"}),(0,H.jsx)("span",{className:"sf-review-row-value",children:l})]}),re.map(G=>(0,H.jsxs)("div",{className:"sf-review-row",children:[(0,H.jsx)("span",{className:"sf-review-row-label",children:G.label}),(0,H.jsx)("span",{className:"sf-review-row-value",children:G.value})]},G.label))]}),(0,H.jsxs)("section",{className:"sf-review-card",children:[(0,H.jsx)("h3",{className:"sf-review-section-title",children:"Total"}),(0,H.jsxs)("div",{className:"sf-review-row",children:[(0,H.jsx)("span",{className:"sf-review-row-label",children:"Total Amount"}),(0,H.jsxs)("span",{className:"sf-review-row-value",children:[y," ",t.symbol]})]}),w&&(0,H.jsxs)("div",{className:"sf-review-row",children:[(0,H.jsx)("span",{className:"sf-review-row-label",children:"Max. Total Amount"}),(0,H.jsx)("span",{className:"sf-review-row-value",children:_(Y)})]})]}),g&&!h&&!v&&(0,H.jsxs)("div",{className:"sf-message sf-message--error",role:"alert",children:["Not enough ",T||t.symbol," to cover the amount plus the network fee. Reduce the amount and try again."]}),(h||v)&&(0,H.jsx)("div",{className:"sf-message sf-message--error",role:"alert",children:h||v})]})}var ho=z(require("react"),1);var Ie=require("react/jsx-runtime");function Ki({flow:e}){let[t,n]=ho.useState(""),o=t.trim().toLowerCase(),r=ho.useMemo(()=>o?e.tokens.filter(a=>a.symbol.toLowerCase().includes(o)||a.name.toLowerCase().includes(o)):e.tokens,[e.tokens,o]);return(0,Ie.jsxs)("div",{className:"sf-body sf-token-select",children:[(0,Ie.jsxs)("div",{className:"sf-search",children:[(0,Ie.jsx)(Mi,{size:20}),(0,Ie.jsx)("input",{className:"sf-search-input",value:t,onChange:a=>n(a.target.value),placeholder:"Search Tokens",autoComplete:"off",spellCheck:!1,"aria-label":"Search tokens"})]}),(0,Ie.jsxs)("div",{className:"sf-token-list",children:[r.map(a=>{let i=`${a.chainId}:${a.address.toLowerCase()}`,l=Tn(e.resolvedEnv,a.chainId),p=e.getTokenPriceUsd?.(a);return(0,Ie.jsxs)("button",{type:"button",className:"sf-token-row",onClick:()=>e.selectToken(a),children:[(0,Ie.jsxs)("span",{className:"sf-token-left",children:[(0,Ie.jsxs)("span",{className:"sf-token-icon-wrap",children:[(0,Ie.jsx)("img",{className:"sf-token-icon",src:a.icon_url,alt:"",width:40,height:40,loading:"lazy",draggable:!1,onError:c=>{c.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),l&&(0,Ie.jsx)("img",{className:"sf-token-chain-badge",src:l,alt:"","aria-hidden":!0,width:16,height:16,loading:"lazy",draggable:!1,onError:c=>{c.currentTarget.style.display="none"}})]}),(0,Ie.jsx)("span",{className:"sf-token-name",children:a.symbol})]}),(0,Ie.jsxs)("span",{className:"sf-token-right",children:[(0,Ie.jsx)("span",{className:"sf-token-balance",children:Ht(a.quantity.numeric,a.quantity.decimals)}),p!==void 0&&(0,Ie.jsx)("span",{className:"sf-token-price",children:fo(p)})]})]},i)}),r.length===0&&(0,Ie.jsx)("div",{className:"sf-empty",children:"No tokens found"})]})]})}W(`.sf-root{display:flex;flex-direction:column;flex:1;min-height:0;font-family:inherit}.sf-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:24px;flex-shrink:0;position:relative;border-bottom:1px solid var(--ds-border-default, rgba(0, 0, 0, .07))}.sf-header .sf-header-btn:last-child{position:absolute;top:24px;right:24px}.sf-header-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;padding:0;border:none;background:transparent;color:var(--ds-content-low, rgba(0, 0, 0, .4));cursor:pointer;filter:none;transition:color .15s ease}.sf-header-btn:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85));filter:none}.sf-header-title{position:absolute;left:50%;transform:translate(-50%);text-align:center;font-family:inherit;font-size:18px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-highest, #000000);pointer-events:none}.sf-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;overscroll-behavior:contain}[data-theme=light] .sf-body{scrollbar-color:rgba(0,0,0,.12) transparent}.sf-body::-webkit-scrollbar{width:4px;height:4px}.sf-body::-webkit-scrollbar-track,.sf-body::-webkit-scrollbar-corner{background:transparent}.sf-body::-webkit-scrollbar-thumb{border-radius:4px;background:#ffffff26}.sf-body::-webkit-scrollbar-thumb:hover{background:#ffffff40}[data-theme=light] .sf-body::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] .sf-body::-webkit-scrollbar-thumb:hover{background:#0003}.sf-empty{padding:32px 0;text-align:center;font-family:inherit;font-size:14px;color:var(--ds-content-low, rgba(0, 0, 0, .4))}.sf-field-error{margin:8px 24px 0;font-family:inherit;font-size:12px;line-height:1.5;color:var(--ds-system-red-default, #da0b2e)}.sf-message--error{margin:16px 0 0;padding:12px 16px;background:var(--ds-system-red-low, #ffeeee);color:var(--ds-system-red-high, #d20609);font-family:inherit;font-size:13px;line-height:1.5;border-radius:12px;width:100%;box-sizing:border-box}.sf-footer{display:flex;flex-shrink:0;padding:16px 24px 24px}.sf-footer:empty{display:none}.sf-footer-row{display:flex;gap:8px;width:100%}.sf-footer-row .sf-btn,.sf-footer-row .sf-btn--secondary{flex:1 1 0;min-width:0}.sf-footer>.sf-btn{width:100%}.sf-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:1;height:48px;padding:0 24px;border:none;border-radius:12px;font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.sf-btn--primary{background:var(--ds-accent-primary-default, #00b4b7);color:var(--ds-accent-primary-on, #ffffff)}.sf-btn--primary:hover:not(:disabled):not([data-disabled]){background:var(--ds-accent-primary-high, #00a0a2)}.sf-btn--primary:active:not(:disabled):not([data-disabled]){transform:scale(.97)}.sf-btn--primary[data-disabled],.sf-btn--primary:disabled{background:var(--ds-accent-primary-default, #00b4b7);color:var(--ds-accent-primary-on, #ffffff);cursor:default;opacity:.5}.sf-btn--secondary{flex:0 0 120px;background:var(--ds-surface-default, #ffffff);border:1px solid var(--ds-border-default, rgba(0, 0, 0, .07));color:var(--ds-content-high, rgba(0, 0, 0, .85))}.sf-token-select{padding:0;display:flex;flex-direction:column}.sf-token-select .sf-search{margin:16px 24px}.sf-token-select .sf-token-list{width:100%;margin-top:0}.sf-search{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:12px;border:1.5px solid transparent;background:var(--ds-surface-medium, #f5f7fa);color:var(--ds-content-low, rgba(0, 0, 0, .4));box-sizing:border-box;transition:border-color .15s ease}.sf-search:hover{border-color:var(--ds-border-medium, rgba(0, 0, 0, .18))}.sf-search:focus-within{border-color:var(--ds-accent-primary-default, #00b4b7)}.sf-search-input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:inherit;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-high, rgba(0, 0, 0, .85))}.sf-search-input::placeholder{color:var(--ds-content-low, rgba(0, 0, 0, .4))}.sf-token-list{display:flex;flex-direction:column;margin-top:8px}.sf-token-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:12px 24px;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;border-radius:0;box-sizing:border-box;transition:background-color .15s ease}.sf-token-row:hover{background:var(--ds-surface-medium, rgba(0, 0, 0, .04))}.sf-token-left{display:flex;align-items:center;gap:16px;min-width:0}.sf-token-icon-wrap{position:relative;width:40px;height:40px;flex-shrink:0}.sf-token-icon{width:40px;height:40px;border-radius:0;object-fit:contain}.sf-token-chain-badge{position:absolute;right:-2px;bottom:-2px;width:16px;height:16px;border-radius:50%;object-fit:cover}.sf-token-name{font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-high, rgba(0, 0, 0, .85));white-space:nowrap}.sf-token-right{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.sf-token-balance{font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-highest, #000000);white-space:nowrap}.sf-token-price{font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-low, rgba(0, 0, 0, .4));white-space:nowrap}.sf-recipient{display:flex;flex-direction:column;flex:1;min-height:0}.sf-recipient-top{display:flex;flex-direction:column;padding:16px 24px 0}.sf-address-field{display:flex;align-items:center;gap:8px;padding:12px;border-radius:12px;border:1.5px solid transparent;background:var(--ds-surface-medium, #f5f7fa);transition:border-color .15s ease;box-sizing:border-box}.sf-address-field:hover{border-color:var(--ds-border-medium, rgba(0, 0, 0, .18))}.sf-address-field:focus-within{border-color:var(--ds-accent-primary-default, #00b4b7)}.sf-address-field[data-filled]{border-color:var(--ds-accent-primary-default, #00b4b7)}.sf-address-field[data-invalid]{border-color:var(--ds-system-red-default, #da0b2e)}.sf-address-input{flex:1;min-width:0;border:none;background:transparent;outline:none;resize:none;overflow:hidden;font-family:inherit;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-high, rgba(0, 0, 0, .85));word-break:break-word;overflow-wrap:anywhere}.sf-address-input::placeholder{color:var(--ds-content-low, rgba(0, 0, 0, .4))}.sf-address-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;padding:0;border:none;background:transparent;border-radius:6px;color:var(--ds-content-low, rgba(0, 0, 0, .4));cursor:pointer;transition:color .15s ease}.sf-address-action:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.sf-address-field[data-filled] .sf-address-action{border-radius:9999px}.sf-tabs{display:flex;gap:0;margin:16px 0 0}.sf-tab{position:relative;padding:8px 12px;border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ds-content-low, rgba(0, 0, 0, .4))}.sf-tab[data-active]{color:var(--ds-accent-primary-high, #00a0a2)}.sf-tab[data-active]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:9999px;background:var(--ds-accent-primary-high, #00a0a2)}.sf-address-list{display:flex;flex-direction:column;width:100%;margin-top:8px}.sf-address-row{display:flex;align-items:center;gap:16px;width:100%;padding:12px 24px;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;border-radius:0;box-sizing:border-box;transition:background-color .15s ease}.sf-address-row:hover{background:var(--ds-surface-medium, rgba(0, 0, 0, .04))}.sf-address-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;overflow:hidden;background:var(--ds-surface-high, #edf1f2);color:var(--ds-content-medium, rgba(0, 0, 0, .65));font-size:14px;font-weight:600}.sf-address-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sf-address-avatar-fallback{position:relative;z-index:0}.sf-address-meta{display:flex;flex-direction:column;min-width:0}.sf-address-name{font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-high, rgba(0, 0, 0, .85));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-address-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-low, rgba(0, 0, 0, .4))}.wi-drawer-content .sf-header{padding:16px}.wi-drawer-content .sf-header .sf-header-btn:last-child{top:16px;right:16px}.wi-drawer-content .sf-token-select{padding:0}.wi-drawer-content .sf-token-select .sf-search{margin:16px}.wi-drawer-content .sf-token-row{padding:12px 16px}.wi-drawer-content .sf-recipient-top{padding:16px 16px 0}.wi-drawer-content .sf-address-row{padding:12px 16px}.wi-drawer-content .sf-footer{padding:12px 16px 24px}.wi-drawer-content .sf-field-error,.wi-drawer-content .sf-message--error{margin:16px 0 0;width:auto}.sf-amount{display:flex;flex-direction:column}.sf-amount-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:64px 24px 48px;text-align:center}.sf-amount-usd{font-family:inherit;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-low, rgba(0, 0, 0, .4));min-height:21px}.sf-amount-input-wrap{display:flex;justify-content:center;max-width:100%}.sf-amount-input{width:auto;max-width:100%;border:none;background:transparent;outline:none;text-align:center;font-family:inherit;font-size:40px;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--ds-content-highest, #000000);field-sizing:content}.sf-amount-input-wrap[data-empty] .sf-amount-input,.sf-amount-input::placeholder{color:var(--ds-content-low, rgba(0, 0, 0, .4))}.sf-amount-input-wrap[data-over] .sf-amount-input{color:var(--ds-system-red-default, #da0b2e)}.sf-amount-balance{display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-size:14px;font-weight:400;letter-spacing:-.01em;color:var(--ds-content-low, rgba(0, 0, 0, .4))}.sf-amount-max{border:none;background:transparent;padding:0;cursor:pointer;font:inherit;color:var(--ds-content-medium, rgba(0, 0, 0, .65));text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.sf-amount-max:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wi-drawer-content .sf-amount-center{padding:64px 16px 48px}.sf-review{display:flex;flex-direction:column;gap:16px;padding:24px}.sf-review-amount{display:flex;align-items:center;gap:12px;padding:0;background:transparent}.sf-review-amount-icon{width:40px;height:40px;border-radius:0;object-fit:contain;flex-shrink:0}.sf-review-amount-value{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-highest, #000000);word-break:break-all}.sf-review-amount-symbol{font-size:12px;font-weight:400;line-height:1.5;color:var(--ds-content-medium, rgba(0, 0, 0, .65))}.sf-review-parties{position:relative;display:flex;flex-direction:column;gap:0}.sf-review-arrow{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:-4px auto;border-radius:50%;background:var(--ds-surface-default, #ffffff);border:1px solid var(--ds-border-medium, rgba(0, 0, 0, .18));color:var(--ds-content-medium, rgba(0, 0, 0, .65))}.sf-review-card{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:12px;background:var(--ds-surface-medium, #f5f7fa)}.sf-review-party-label{font-family:inherit;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-medium, rgba(0, 0, 0, .65))}.sf-review-party-head{display:flex;align-items:center;gap:8px}.sf-review-party-avatar{display:inline-flex;width:24px;height:24px;border-radius:50%;overflow:hidden;background:var(--ds-surface-high, #edf1f2);flex-shrink:0}.sf-review-party-avatar img{width:100%;height:100%;object-fit:cover}.sf-review-party-name{font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-high, rgba(0, 0, 0, .85))}.sf-review-party-addr{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-medium, rgba(0, 0, 0, .65));word-break:break-all}.sf-review-section-title{margin:0 0 4px;font-family:inherit;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ds-content-highest, #000000)}.sf-review-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.sf-review-row-label{font-family:inherit;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-medium, rgba(0, 0, 0, .65))}.sf-review-row-value{font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-high, rgba(0, 0, 0, .85));text-align:left;word-break:break-all}.wi-drawer-content .sf-review{padding:16px}.sf-result{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:48px 24px;text-align:center}.sf-result-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px}.sf-result-spinner{width:56px;height:56px;border-radius:50%;border:4px solid var(--ds-border-medium, rgba(0, 0, 0, .18));border-top-color:var(--ds-accent-primary-default, #00b4b7);animation:sf-spin .8s linear infinite}@keyframes sf-spin{to{transform:rotate(360deg)}}.sf-result-copy{display:flex;flex-direction:column;gap:8px}.sf-result-title{margin:0;font-family:inherit;font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--ds-content-highest, #000000)}.sf-result-desc{margin:0;font-family:inherit;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-medium, rgba(0, 0, 0, .65))}.sf-result-hash-card{display:flex;flex-direction:column;gap:8px;width:100%;padding:16px;border-radius:12px;background:var(--ds-surface-medium, #f5f7fa);text-align:left}.sf-result-hash-label{font-family:inherit;font-size:12px;font-weight:500;letter-spacing:-.01em;color:var(--ds-content-medium, rgba(0, 0, 0, .65))}.sf-result-hash-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.sf-result-hash-link{border:none;background:transparent;padding:0;cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;color:var(--ds-accent-primary-high, #00a0a2)}.sf-result-copy-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:28px;padding:0 10px;border:1px solid var(--ds-border-default, rgba(0, 0, 0, .07));border-radius:8px;background:var(--ds-surface-default, #ffffff);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;color:var(--ds-content-high, rgba(0, 0, 0, .85))}
|
|
7
|
-
`);var ce=require("react/jsx-runtime"),ec={token:"Send",recipient:"Send",amount:"Send",review:"Sign Transaction",result:""};function In({onClose:e,onBackToWallet:t,onConfirmSuccess:n,onSuccess:o,className:r,...a}){let i=Qi.useCallback(y=>{o?.(y),n?.(y)},[n,o]),p=Pi({...a,onSuccess:o||n?i:void 0,onExit:t}),{step:c,status:f}=p,m=St(p.recipient.trim()),h=en(p.amount,p.token.quantity.decimals),g="value"in h&&h.value<=p.balanceRaw,v=f==="submitting"||f==="confirming",x=c!=="result",w=ec[c]??"";return(0,ce.jsxs)("div",{className:ne("sf-root",r),"data-step":c,children:[(0,ce.jsxs)("header",{className:"sf-header",children:[x?(0,ce.jsx)("button",{type:"button",className:"sf-header-btn",onClick:p.back,"aria-label":"Back",children:(0,ce.jsx)(Xt,{size:24})}):(0,ce.jsx)("span",{className:"sf-header-btn","aria-hidden":!0}),(0,ce.jsx)("span",{className:"sf-header-title",children:w}),(0,ce.jsx)("button",{type:"button",className:"sf-header-btn",onClick:e,"aria-label":"Close",children:(0,ce.jsx)(kt,{size:24})})]}),c==="token"&&(0,ce.jsx)(Ki,{flow:p}),c==="recipient"&&(0,ce.jsx)($i,{flow:p}),c==="amount"&&(0,ce.jsx)(Bi,{flow:p}),c==="review"&&(0,ce.jsx)(qi,{flow:p}),c==="result"&&(0,ce.jsx)(Vi,{flow:p}),(0,ce.jsxs)("footer",{className:"sf-footer","data-step":c,children:[c==="recipient"&&(0,ce.jsx)("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:p.submitRecipient,"data-disabled":!m||void 0,"aria-disabled":!m,children:"Next"}),c==="amount"&&(0,ce.jsx)("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:p.submitAmount,"data-disabled":!g||void 0,"aria-disabled":!g,children:"Next"}),c==="review"&&(0,ce.jsxs)("div",{className:"sf-footer-row",children:[(0,ce.jsx)("button",{type:"button",className:"sf-btn sf-btn--secondary",onClick:p.back,disabled:v,children:"Cancel"}),(0,ce.jsx)("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:p.confirmSend,disabled:v||!p.canSend||p.insufficientGas,children:v?"Sending...":"Send"})]}),c==="result"&&f==="success"&&(0,ce.jsx)("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:()=>n?.(p.txHash||void 0),children:"All done"}),c==="result"&&f==="error"&&(0,ce.jsx)("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:p.retry,children:"Try Again"})]})]})}var Yi=z(require("@radix-ui/react-popover"),1),Zi=require("vaul");var tn=require("react/jsx-runtime");function Xi({asChild:e,className:t,children:n}){let{isMobile:o,theme:r,walletAddress:a}=Wt(),i=n!=null,l=e??!0,p=i?n:(0,tn.jsxs)("button",{type:"button",className:ne("wi-trigger-btn",t),"data-theme":r,"data-mobile":o||void 0,children:[(0,tn.jsx)(ii,{size:o?14:16}),(0,tn.jsx)("span",{className:"wi-trigger-address",children:Ye(a)})]});return o?(0,tn.jsx)(Zi.Drawer.Trigger,{asChild:l,children:p}):(0,tn.jsx)(Yi.Trigger,{asChild:l,children:p})}var F=z(require("react"),1),Eo=z(require("@radix-ui/react-popover"),1),Fn=require("vaul");var wn=z(require("bignumber.js"),1);var Ji=require("@tanstack/react-query"),ea=require("react");var bo="user-balance";async function tc(e,t,n,o){let r=new URLSearchParams({networkId:`eip155:${t}`,account:n}),a=await fetch(`${e}/v1/public/token/balance?${r}`,{cache:"no-store",signal:o});if(!a.ok)throw new Error(`Failed to fetch token balance: ${a.status}`);let i=await a.json();if(i.code!==200)throw new Error(`Token balance API error: ${i.code}`);return i.data}function At(e,t,n=!0){let o=ot[e],r=Me[e],a=[r.cross,r.bsc],i=(0,Ji.useQueries)({queries:a.map(f=>({queryKey:[bo,e,t,f],queryFn:({signal:m})=>tc(o,f,t,m),enabled:!!t&&n,staleTime:0,refetchInterval:n?5e3:!1}))}),l=i.some(f=>f.isLoading),p=i.some(f=>f.isError);return{tokens:(0,ea.useMemo)(()=>{let f=[];for(let m of i)m.data&&f.push(...m.data);return f},[i]),isLoading:l,isError:p}}var wo=require("@tanstack/react-query"),ta=require("react");var nc="forge-holdings",oc="forge-token-image";async function rc(e,t,n){let o=await fetch(`${e}/v1/users/${t}/holdings`,{cache:"no-store",signal:n});if(!o.ok)throw new Error(`Failed to fetch forge holdings: ${o.status}`);let r=await o.json();if(!r.success)throw new Error("Forge holdings API error");return r.data.items}async function ic(e,t,n){let o=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store",signal:n});if(!o.ok)return{address:t,image_url:""};let r=await o.json();return r.success?{address:t,image_url:r.data.token.image_url}:{address:t,image_url:""}}function na(e,t,n=!0){let o=pr[e],{data:r,...a}=(0,wo.useQuery)({queryKey:[nc,e,t],queryFn:({signal:i})=>rc(o,t,i),enabled:!!t&&n,staleTime:0,refetchInterval:n?5e3:!1});return{holdings:r??[],...a}}function oa(e,t,n=!0){let o=pr[e],r=(0,wo.useQueries)({queries:t.map(i=>({queryKey:[oc,e,i],queryFn:({signal:l})=>ic(o,i,l),enabled:n,staleTime:1/0}))});return{imageMap:(0,ta.useMemo)(()=>{let i=new Map;for(let l of r)l.data&&i.set(l.data.address,l.data.image_url);return i},[r])}}var ra=require("@tanstack/react-query"),ia=require("react");var xo="token-stats";function ut(e,t){return`${e}:${t.toLowerCase()}`}function Pt(e,t=!0){let n=ot[e],{data:o,...r}=(0,ra.useQuery)({queryKey:[xo,e],queryFn:async({signal:i})=>{let l=await fetch(`${n}/v1/public/token/stats`,{cache:"no-store",signal:i});if(!l.ok)throw new Error(`Failed to fetch token stats: ${l.status}`);let p=await l.json();if(p.code!==200)throw new Error(`Token stats API error: ${p.code}`);return p},enabled:t,staleTime:3e4});return{statsMap:(0,ia.useMemo)(()=>{let i=new Map;if(!o?.data)return i;for(let l of o.data){let p=ut(l.chain_id,l.address);i.set(p,l)}return i},[o]),...r}}var aa=require("@tanstack/react-query"),sa=require("react");var ac="token-info";function fr(e,t){return`${t.toLowerCase()}_${e}`}function la(e,t=!0){let n=ot[e],{data:o,...r}=(0,aa.useQuery)({queryKey:[ac,e],queryFn:async({signal:i})=>{let l=await fetch(`${n}/v1/public/token/info`,{cache:"no-store",signal:i});if(!l.ok)throw new Error(`Failed to fetch token info: ${l.status}`);let p=await l.json();if(p.code!==200)throw new Error(`Token info API error: ${p.code}`);return p},enabled:t,staleTime:1/0});return{categoryMap:(0,sa.useMemo)(()=>{let i=new Map;if(!o?.data)return i;for(let l of o.data){let p=fr(l.chain_id,l.address);i.set(p,l.category)}return i},[o]),...r}}var ca=require("react"),vo=z(require("bignumber.js"),1);function da(e,t,n){let{tokens:o,isLoading:r}=At(e,t,n),{statsMap:a}=Pt(e,n);return(0,ca.useMemo)(()=>{let i=new vo.default(0);for(let f of o){let m=a.get(ut(f.chainId,f.address));if(!m)continue;let g=new vo.default(f.quantity.numeric).shiftedBy(-f.quantity.decimals).multipliedBy(new vo.default(m.price));g.isNaN()||(i=i.plus(g))}let l=i.toFixed(),{displayValue:p,isLowerBound:c}=hi(l);return{totalUsd:l,displayValue:p,isLowerBound:c,isLoading:r}},[o,a,r])}var Bs=require("qrcode.react");function Ze(e,t,n,o){if(!o||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.defaultPrevented)return;e.preventDefault();let r;try{r=o(t,n)}catch(c){console.error("[dapp-ui] onOutlink threw:",c);return}let a=c=>{typeof window>"u"||window.open(c,"_blank","noopener,noreferrer")};if((c=>!!c&&(typeof c=="object"||typeof c=="function")&&typeof c.then=="function")(r)){let c=typeof window<"u"?window.open("","_blank","noopener,noreferrer"):null,f=m=>{if(m===null){c?.close();return}let h=m??t;if(c)try{c.location.href=h}catch{c.close(),a(h)}else a(h)};r.then(f,m=>{console.error("[dapp-ui] onOutlink rejected:",m),c?.close()});return}let l=r;if(l===null)return;a(l??t)}var an=z(require("react"),1),as=require("vaul");var yo=require("react"),Ln=(0,yo.createContext)(null);function rt(){let e=(0,yo.useContext)(Ln);if(!e)throw new Error("WalletPortfolio compound components must be used within <WalletPortfolio>");return e}var pa=require("vaul");var ur=require("react/jsx-runtime");function fa({asChild:e,children:t}){let{walletAddress:n}=rt(),o=t!=null,r=e??!0,a=o?t:(0,ur.jsx)("button",{type:"button",children:Ye(n)});return(0,ur.jsx)(pa.Drawer.Trigger,{asChild:r,children:a})}var An=require("vaul");var _e=z(require("react"),1),rs=require("@tanstack/react-query");var mt=require("react/jsx-runtime");function ua({size:e=22,className:t}){return(0,mt.jsx)("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,mt.jsx)("path",{d:"M14 4L7 11L14 18",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function ma({size:e=22,className:t}){return(0,mt.jsxs)("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[(0,mt.jsx)("path",{d:"M18.333 3.667v5.5h-5.5",stroke:"currentColor",strokeWidth:1.833,strokeLinecap:"round",strokeLinejoin:"round"}),(0,mt.jsx)("path",{d:"M16.17 13.75a7.333 7.333 0 11-1.54-7.59L18.333 9.167",stroke:"currentColor",strokeWidth:1.833,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Bt({size:e=12,className:t}){return(0,mt.jsxs)("svg",{width:e,height:e,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,"aria-hidden":"true",children:[(0,mt.jsx)("path",{d:"M5 2H2.5A1.5 1.5 0 0 0 1 3.5V9.5A1.5 1.5 0 0 0 2.5 11H8.5A1.5 1.5 0 0 0 10 9.5V7",stroke:"currentColor",strokeWidth:1.2,strokeLinecap:"round",strokeLinejoin:"round"}),(0,mt.jsx)("path",{d:"M7 1H11V5",stroke:"currentColor",strokeWidth:1.2,strokeLinecap:"round",strokeLinejoin:"round"}),(0,mt.jsx)("path",{d:"M11 1L6 6",stroke:"currentColor",strokeWidth:1.2,strokeLinecap:"round",strokeLinejoin:"round"})]})}var nn=z(require("bignumber.js"),1),sc=/^(\d{4}-\d{2}-\d{2})/;function ga(e){if(!e||e.length===0)return;let t=new Map,n;for(let{key:r,cumulative:a}of e.map(i=>({key:sc.exec(i.reference_date)?.[1],cumulative:i.cumulative_earned})).filter(i=>!!i.key&&i.cumulative!=null).sort((i,l)=>i.key<l.key?-1:i.key>l.key?1:0))t.set(r,a),n=r;if(n===void 0)return;let o=new Date().toISOString().slice(0,10);return t.get(o)??t.get(n)}function ha(e){return e.length<=12?e:`${e.slice(0,6)}...${e.slice(-4)}`}function mn(e,t){let n=new nn.default(e).shiftedBy(-t);return!n.isFinite()||n.isZero()?"0":n.isGreaterThanOrEqualTo(1)?n.toFormat(2,nn.default.ROUND_DOWN):n.toFormat(4,nn.default.ROUND_DOWN)}function mr(e){return mn(e,0)}function gn(e,t,n){let o=new nn.default(n||"0");if(!o.isFinite()||o.isLessThanOrEqualTo(0))return null;let r=new nn.default(e||"0").shiftedBy(-t).times(o);return r.isFinite()?`$${r.toFormat(2,nn.default.ROUND_DOWN)}`:null}var ka=require("@tanstack/react-query"),gr=require("react");var ko={dev:"https://stg-cross-game-reward-api.crosstoken.io/api",stage:"https://stg-cross-game-reward-api.crosstoken.io/api",production:"https://cross-game-reward-api.crosstoken.io/api"},ba={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},So={dev:"https://stg-bonding-curve-api.crosstoken.io/api",stage:"https://stg-bonding-curve-api.crosstoken.io/api",production:"https://bonding-curve-api.crosstoken.io/api"},wa={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},hn={dev:"https://stg-posa-api.crosstoken.io/api/v1",stage:"https://stg-posa-api.crosstoken.io/api/v1",production:"https://posa-api.crosstoken.io/api/v1"},En={dev:"https://dev-stake.ogfcorp.com",stage:"https://stg-stake.ogfcorp.com",production:"https://stake.ogfcorp.com"},xa={dev:`${En.dev}/portfolio`,stage:`${En.stage}/portfolio`,production:`${En.production}/portfolio`},va={dev:"https://stg-game-swap-api.cross.nexus/v1",stage:"https://stg-game-swap-api.cross.nexus/v1",production:"https://game-swap-api.cross.nexus/v1"},ya={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},Ut={dev:"https://stg-contents.crosstoken.io/frontend/common/app-launcher/icons",stage:"https://stg-contents.crosstoken.io/frontend/common/app-launcher/icons",production:"https://contents.crosstoken.io/frontend/common/app-launcher/icons"};var lc="wp:reward-pools";function Co(e,t=!0){let n=ko[e],{data:o,...r}=(0,ka.useQuery)({queryKey:[lc,e],queryFn:async({signal:l})=>{let p=await fetch(`${n}/v1/pools`,{cache:"no-store",signal:l});if(!p.ok)throw new Error(`Failed to fetch pools: ${p.status}`);let c=await p.json();if(c.code!==200)throw new Error(`Pools API error: ${c.code}`);return c},enabled:t,staleTime:0}),a=(0,gr.useMemo)(()=>o?.data.pools.filter(l=>l.pool_type==="CrossPool")??[],[o]),i=(0,gr.useMemo)(()=>o?.data.pools.filter(l=>l.pool_type==="GamePool")??[],[o]);return{crossPools:a,gamePools:i,allPools:o?.data.pools??[],...r}}var Sa=require("@tanstack/react-query"),Ca=require("react");var cc="wp:user-deposits";function Ra(e,t,n=!0){let o=ko[e],r=n&&!!t,{data:a,...i}=(0,Sa.useQuery)({queryKey:[cc,e,t],queryFn:async({signal:p})=>{let c=await fetch(`${o}/v1/users/${t}/deposits`,{cache:"no-store",signal:p});if(!c.ok)throw new Error(`Deposits fetch failed: ${c.status}`);let f=await c.json();if(f.code!==200)throw new Error(`Deposits API error: ${f.code}`);return f},enabled:r,staleTime:0});return{depositMap:(0,Ca.useMemo)(()=>{let p=new Map;if(!a?.data.user_deposits)return p;for(let c of a.data.user_deposits)p.set(c.pool_address.toLowerCase(),c);return p},[a]),deposits:a?.data.user_deposits??[],...i}}var Na=require("@tanstack/react-query"),Ta=require("react");var dc="wp:token-info";function Ia(e,t=!0){let n=ot[e],o=Me[e].cross,{data:r,...a}=(0,Na.useQuery)({queryKey:[dc,e],queryFn:async({signal:c})=>{let f=await fetch(`${n}/v1/public/token/info`,{cache:"no-store",signal:c});if(!f.ok)throw new Error(`Failed to fetch token info: ${f.status}`);let m=await f.json();if(m.code!==200)throw new Error(`Token info API error: ${m.code}`);return m},enabled:t,staleTime:300*1e3}),{byChainAddr:i,byChainSym:l}=(0,Ta.useMemo)(()=>{let c=new Map,f=new Map;if(!r?.data)return{byChainAddr:c,byChainSym:f};for(let m of r.data){let h=m.address.toLowerCase();c.set(`${m.chain_id}:${h}`,m),c.set(h,m);let g=m.symbol.replace(/^t/,"").toUpperCase(),v=`${m.chain_id}:${g}`;f.has(v)||f.set(v,m),f.has(g)||f.set(g,m)}return{byChainAddr:c,byChainSym:f}},[r]);return{getTokenImage:(c,f)=>{let m=c.toLowerCase(),h=i.get(`${o}:${m}`);if(h?.image)return h.image;let g=i.get(m);if(g?.image)return g.image;if(f){let v=f.replace(/^t/,"").toUpperCase(),x=l.get(`${o}:${v}`);if(x?.image)return x.image;let w=l.get(v);if(w?.image)return w.image}return""},...a}}var $t=require("react/jsx-runtime");function jt({title:e,icon:t,iconFit:n="cover",isEmpty:o,children:r}){return(0,$t.jsxs)("div",{className:"wp-svc-card",children:[(0,$t.jsxs)("div",{className:"wp-svc-card-head",children:[(0,$t.jsx)("img",{className:"wp-svc-card-icon",src:t,alt:"",style:{objectFit:n}}),(0,$t.jsx)("span",{className:"wp-svc-card-title",children:e})]}),o?(0,$t.jsx)("div",{className:"wp-svc-empty",children:"No assets yet"}):(0,$t.jsx)("div",{className:"wp-svc-items",children:r})]})}var Ro=z(require("bignumber.js"),1),V=require("react/jsx-runtime"),pc="CROSS Rewards";function fc(e){return new Ro.default(e||"0").isGreaterThan(0)}function La(){let{env:e,walletAddress:t,onOutlink:n}=rt(),o=!!t,{allPools:r}=Co(e,o),{depositMap:a}=Ra(e,t,o),{getTokenImage:i}=Ia(e,o),l=(f,m)=>`${ba[e]}/rewards/${f.pool_address}?action=${m}`,p=`${Ut[e]}/reward.png`,c=r.filter(f=>{let m=a.get(f.pool_address.toLowerCase()),h=m?.deposited_amount??"0",g=m?.claimable_reward??"0";return!(new Ro.default(h).isZero()&&new Ro.default(g).isZero())});return(0,V.jsx)(jt,{title:pc,icon:p,isEmpty:c.length===0,children:c.map(f=>{let m=a.get(f.pool_address.toLowerCase()),h=m?.deposited_amount??"0",g=m?.claimable_reward??"0",v=l(f,"withdraw"),x=l(f,"claim"),w=i(f.deposit_token.address,f.deposit_token.symbol),y=f.reward_tokens[0],A=y?i(y.address,y.symbol):"",u=f.reward_tokens.map(Y=>Y.symbol),T=u.length>0?`${f.deposit_token.symbol}-${u.join("/")}`:f.deposit_token.symbol,S=y?mn(g,y.decimals):"0",P=y?.symbol??"Reward",B=gn(h,f.deposit_token.decimals,f.deposit_token.price),te=y?gn(g,y.decimals,y.price):null,O=!!m&&fc(g);return(0,V.jsxs)("article",{className:"wp-item","data-side":"reward",children:[(0,V.jsxs)("div",{className:"wp-item-body",children:[(0,V.jsxs)("div",{className:"wp-item-line",children:[(0,V.jsx)("span",{className:"wp-item-label",children:"Pool (Deposit - Earn)"}),(0,V.jsxs)("div",{className:"wp-svc-token",children:[(0,V.jsxs)("span",{className:"wp-token-stack","aria-hidden":!0,children:[w&&(0,V.jsx)("img",{className:"wp-svc-token-icon",src:w,alt:""}),A&&(0,V.jsx)("img",{className:"wp-svc-token-icon",src:A,alt:""})]}),(0,V.jsx)("span",{children:T})]})]}),(0,V.jsxs)("div",{className:"wp-item-line",children:[(0,V.jsx)("span",{className:"wp-item-label",children:"Deposited"}),(0,V.jsxs)("div",{className:"wp-svc-token",children:[w&&(0,V.jsx)("img",{className:"wp-svc-token-icon",src:w,alt:""}),(0,V.jsxs)("div",{className:"wp-svc-amount",children:[(0,V.jsx)("span",{className:"wp-svc-amount-main",children:mn(h,f.deposit_token.decimals)}),B&&(0,V.jsx)("span",{className:"wp-item-usd",children:B})]})]})]}),(0,V.jsxs)("div",{className:"wp-item-line",children:[(0,V.jsxs)("span",{className:"wp-item-label",children:["Claimable (",P,")"]}),(0,V.jsxs)("div",{className:"wp-svc-token",children:[A&&(0,V.jsx)("img",{className:"wp-svc-token-icon",src:A,alt:""}),(0,V.jsxs)("div",{className:"wp-svc-amount",children:[(0,V.jsx)("span",{className:"wp-svc-amount-main",children:S}),te&&(0,V.jsx)("span",{className:"wp-item-usd",children:te})]})]})]})]}),(0,V.jsxs)("div",{className:"wp-item-tags",children:[(0,V.jsxs)("a",{className:"wp-tag wp-tag--muted",href:v,target:"_blank",rel:"noopener noreferrer",onClick:Y=>Ze(Y,v,{category:"portfolio",origin:"portfolio-rewards",payload:{pool:f,userDeposit:m}},n),children:[(0,V.jsx)("span",{className:"wp-tag-label",children:"Withdraw"}),(0,V.jsx)(Bt,{size:12,className:"wp-tag-icon"})]}),(0,V.jsxs)("a",{className:"wp-tag wp-tag--mint","data-disabled":!O||void 0,"aria-disabled":!O||void 0,href:O?x:void 0,target:O?"_blank":void 0,rel:O?"noopener noreferrer":void 0,onClick:Y=>{if(!O){Y.preventDefault();return}Ze(Y,x,{category:"portfolio",origin:"portfolio-rewards",payload:{pool:f,userDeposit:m}},n)},children:[(0,V.jsx)("span",{className:"wp-tag-label",children:"Claim"}),(0,V.jsx)(Bt,{size:12,className:"wp-tag-icon"})]})]})]},f.pool_address)})})}var br=z(require("react"),1);var Ea=require("@tanstack/react-query");var uc="wp:stake-info";function Aa(e,t,n=!0){let o=hn[e],r=n&&!!t,{data:a,...i}=(0,Ea.useQuery)({queryKey:[uc,e,t],queryFn:async({signal:p})=>{let c=await fetch(`${o}/stake/${t}`,{cache:"no-store",signal:p});if(!c.ok)throw new Error(`Stake info fetch failed: ${c.status}`);let f=await c.json();if(f.code!==0&&f.code!==200)throw new Error(`Stake info API error: ${f.code}`);return f},enabled:r,staleTime:0});return{stakeInfo:a?.data,...i}}var Pa=require("@tanstack/react-query");var mc="wp:stake-rewards",gc=31;function Ba(e,t,n=!0){let o=hn[e],r=n&&!!t,{data:a,...i}=(0,Pa.useQuery)({queryKey:[mc,e,t],queryFn:async({signal:l})=>{let p=await fetch(`${o}/rewards/${t}?limit=${gc}`,{cache:"no-store",signal:l});if(!p.ok)throw new Error(`Stake rewards fetch failed: ${p.status}`);let c=await p.json();if(c.code!==0&&c.code!==200)throw new Error(`Stake rewards API error: ${c.code}`);return c.data?.data??[]},enabled:r,staleTime:0});return{latestReward:a?.[0]??null,aprAccrued:ga(a),...i}}var Fa=require("@tanstack/react-query");var hc="wp:network-stats";function Ma(e,t=!0){let n=hn[e],{data:o,...r}=(0,Fa.useQuery)({queryKey:[hc,e],queryFn:async({signal:i})=>{let l=await fetch(`${n}/network/stats`,{cache:"no-store",signal:i});if(!l.ok)throw new Error(`Network stats fetch failed: ${l.status}`);let p=await l.json();if(p.code!==0&&p.code!==200)throw new Error(`Network stats API error: ${p.code}`);return p},enabled:t,staleTime:0});return{networkStats:o?.data,...r}}var _a=require("@tanstack/react-query"),bc="wp:staking-onchain";function Oa(e,t,n=!0){let o=n&&!!t&&!!e,{data:r,...a}=(0,_a.useQuery)({queryKey:[bc,e],queryFn:async()=>{if(!t)throw new Error("stakingRewardsReader not provided");return t(e)},enabled:o,staleTime:0});return{onchain:r,...a}}var hr=require("react"),Da=z(require("bignumber.js"),1);function za(e){return e?.trim().toUpperCase()==="CROSS"}function Wa(e){return new Da.default(e||"0").isGreaterThan(0)}function No(e,t,n=!0){let{allPools:o}=Co(e,n),r=(0,hr.useMemo)(()=>{for(let c of o)for(let f of[c.deposit_token,...c.reward_tokens])if(za(f?.symbol)&&Wa(f.price))return f.price},[o]),a=n&&r===void 0,{tokens:i}=At(e,t,a),{statsMap:l}=Pt(e,a),p=Me[e].cross;return(0,hr.useMemo)(()=>{if(r)return r;let c=i.find(f=>f.chainId===p&&za(f.symbol));if(c){let f=l.get(ut(c.chainId,c.address));if(f&&Wa(f.price))return f.price}return"0"},[r,i,l,p])}var Ft=z(require("bignumber.js"),1),J=require("react/jsx-runtime"),wc="CROSS Staking";function Ha(e){if(!e)return"\u2014";let t=new Ft.default(e);return t.isFinite()?`${t.toFormat(2,Ft.default.ROUND_DOWN)}%`:"\u2014"}function Ga(){let{env:e,walletAddress:t,onOutlink:n,stakingRewardsReader:o}=rt(),r=!!t,{stakeInfo:a}=Aa(e,t,r),{latestReward:i,aprAccrued:l}=Ba(e,t,r),{networkStats:p}=Ma(e,r),{onchain:c}=Oa(t,o,r),f=No(e,t,r),m=`${Ut[e]}/cross-staking.png`,h=xa[e],g=a?.total_stake??"0",v=br.useMemo(()=>c?new Ft.default(c.earnedWei.toString()).shiftedBy(-18).toString(10):i?.cumulative_earned??a?.rewards_earned??"0",[c,i,a]),x=br.useMemo(()=>c?new Ft.default(c.stakedWei.toString()).shiftedBy(-18):new Ft.default(g),[c,g]),w=l!==void 0?new Ft.default(l):void 0,y=a?.days_since_first_stake,A=w!==void 0&&w.isFinite()&&x.isGreaterThan(0)&&y!==null&&y!==void 0?w.div(x).times(365).div(Math.max(1,y)).times(100):void 0,u=!(new Ft.default(g).isZero()&&new Ft.default(v).isZero()),T=En[e],S=gn(g,0,f),P=gn(v,0,f);return(0,J.jsx)(jt,{title:wc,icon:m,iconFit:"contain",isEmpty:!1,children:(0,J.jsxs)("article",{className:"wp-item","data-side":"stake",children:[(0,J.jsx)("div",{className:"wp-item-body",children:u?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)("div",{className:"wp-item-line",children:[(0,J.jsx)("span",{className:"wp-item-label",children:"Staked"}),(0,J.jsxs)("div",{className:"wp-svc-amount",children:[(0,J.jsxs)("span",{className:"wp-svc-amount-main",children:[mr(g)," CROSS"]}),S&&(0,J.jsx)("span",{className:"wp-item-usd",children:S})]})]}),(0,J.jsxs)("div",{className:"wp-item-line",children:[(0,J.jsx)("span",{className:"wp-item-label",children:"Rewards Earned"}),(0,J.jsxs)("div",{className:"wp-svc-amount",children:[(0,J.jsxs)("span",{className:"wp-svc-amount-main",children:[mr(v)," CROSS"]}),P&&(0,J.jsx)("span",{className:"wp-item-usd",children:P})]})]}),(0,J.jsxs)("div",{className:"wp-item-line",children:[(0,J.jsx)("span",{className:"wp-item-label",children:"My APR"}),(0,J.jsx)("span",{children:Ha(A?.toString(10))})]})]}):(0,J.jsxs)("div",{className:"wp-item-line",children:[(0,J.jsx)("span",{className:"wp-item-label",children:"Delegation APR"}),(0,J.jsx)("span",{children:Ha(p?.apr)})]})}),(0,J.jsx)("div",{className:"wp-item-tags",children:(0,J.jsxs)("a",{className:"wp-tag wp-tag--mint",href:u?h:T,target:"_blank",rel:"noopener noreferrer",onClick:B=>Ze(B,u?h:T,{category:"portfolio",origin:"portfolio-stake",payload:{stakeInfo:a,networkStats:p}},n),children:[(0,J.jsx)("span",{className:"wp-tag-label",children:u?"Manage":"Stake Now"}),(0,J.jsx)(Bt,{size:12,className:"wp-tag-icon"})]})})]})})}var wr=z(require("react"),1);var Ua=require("@tanstack/react-query");var xc="wp:game-swap-pools";function $a(e,t,n=!0){let o=va[e],r=n&&!!t,{data:a,...i}=(0,Ua.useQuery)({queryKey:[xc,e,t],queryFn:async({signal:l})=>{let p=await fetch(`${o}/addresses/${t}/portfolio`,{cache:"no-store",signal:l});if(!p.ok)throw new Error(`Game-swap portfolio fetch failed: ${p.status}`);return(await p.json()).pools??[]},enabled:r,staleTime:0});return{pools:a??[],...i}}var ja=require("@tanstack/react-query"),vc="wp:game-swap-lp-balances";function Va(e,t,n,o){let r=[...n].map(p=>p.toLowerCase()).sort(),a=!!o&&!!t&&r.length>0,{data:i,...l}=(0,ja.useQuery)({queryKey:[vc,e,t,r],queryFn:async()=>{if(!o)return{};let p=await o(r),c={};for(let[f,m]of Object.entries(p))c[f.toLowerCase()]=m;return c},enabled:a,staleTime:0});return{balances:i??{},...l}}var gt=z(require("bignumber.js"),1),oe=require("react/jsx-runtime"),yc="Game Swap LP",Ka=18,kc=new gt.default("0.0001");function qa(e){return e?.trim().toUpperCase()==="CROSS"}function Sc(e){return e&&e>0?e:Ka}function Cc(e){let t=qa(e.token_a?.symbol)&&!qa(e.token_b?.symbol),n=t?e.reserve_a:e.reserve_b,o=Sc(t?e.token_a?.decimals:e.token_b?.decimals),r=new gt.default(n||"0").shiftedBy(-o);return!r.isFinite()||r.isLessThanOrEqualTo(0)?new gt.default(0):r.times(2)}function Rc(e,t){let n=e.token_a?.symbol?.trim()||"TOKEN",o=e.token_b?.symbol?.trim()||"CROSS",r=t?.decimals??Ka,a,i;if(t&&t.totalSupply&&t.totalSupply>BigInt(0)){let l=new gt.default(t.balance.toString()),p=new gt.default(t.totalSupply.toString()),c=l.div(p);a=c.times(100);let f=c.times(Cc(e));if(f.isGreaterThan(0)){let m=new gt.default(e.cross_usd||"0");i=m.isGreaterThan(0)?`$${f.times(m).toFormat(2,gt.default.ROUND_DOWN)}`:`${f.toFormat(4,gt.default.ROUND_DOWN)} CROSS`}}return{pool:e,tokenASymbol:n,tokenBSymbol:o,info:t,lpAmountRaw:t?.balance.toString(),lpDecimals:r,sharePercent:a,valueText:i}}function Qa(){let{env:e,walletAddress:t,onOutlink:n,lpBalanceReader:o}=rt(),r=!!t,{pools:a}=$a(e,t,r),i=wr.useMemo(()=>a.map(h=>h.pair_address).filter(Boolean),[a]),{balances:l}=Va(e,t,i,o),p=`${Ut[e]}/dex.png`,c=!!o,f=wr.useMemo(()=>{let h=a.map(g=>Rc(g,l[g.pair_address?.toLowerCase()]));return c?h.filter(g=>g.lpAmountRaw?new gt.default(g.lpAmountRaw).shiftedBy(-g.lpDecimals).isGreaterThanOrEqualTo(kc):!1):h},[a,l,c]),m=h=>{let g=h.token_a?.address??h.pair_address;return`${ya[e]}/tokens/${g}?trade=deposit`};return(0,oe.jsx)(jt,{title:yc,icon:p,iconFit:"contain",isEmpty:f.length===0,children:f.map(h=>{let{pool:g}=h,v=m(g),x=`${h.tokenASymbol} / ${h.tokenBSymbol}`,w=g.token_a?.logo_url,y=g.token_b?.logo_url;return(0,oe.jsxs)("article",{className:"wp-item","data-side":"game-swap",children:[(0,oe.jsxs)("div",{className:"wp-item-body",children:[(0,oe.jsxs)("div",{className:"wp-item-line",children:[(0,oe.jsx)("span",{className:"wp-item-label",children:"Pool"}),(0,oe.jsxs)("div",{className:"wp-svc-token",children:[(0,oe.jsxs)("span",{className:"wp-token-stack","aria-hidden":!0,children:[w&&(0,oe.jsx)("img",{className:"wp-svc-token-icon",src:w,alt:""}),y&&(0,oe.jsx)("img",{className:"wp-svc-token-icon",src:y,alt:""})]}),(0,oe.jsx)("span",{children:x})]})]}),h.lpAmountRaw!==void 0&&(0,oe.jsxs)("div",{className:"wp-item-line",children:[(0,oe.jsx)("span",{className:"wp-item-label",children:"My LP"}),(0,oe.jsxs)("span",{children:[mn(h.lpAmountRaw,h.lpDecimals)," LP"]})]}),h.sharePercent!==void 0&&(0,oe.jsxs)("div",{className:"wp-item-line",children:[(0,oe.jsx)("span",{className:"wp-item-label",children:"Pool Share"}),(0,oe.jsxs)("span",{children:[h.sharePercent.toFormat(2,gt.default.ROUND_DOWN),"%"]})]}),h.valueText!==void 0&&(0,oe.jsxs)("div",{className:"wp-item-line",children:[(0,oe.jsx)("span",{className:"wp-item-label",children:"Value"}),(0,oe.jsx)("span",{children:h.valueText})]})]}),(0,oe.jsx)("div",{className:"wp-item-tags",children:(0,oe.jsxs)("a",{className:"wp-tag wp-tag--mint",href:v,target:"_blank",rel:"noopener noreferrer",onClick:A=>Ze(A,v,{category:"portfolio",origin:"portfolio-game-swap",payload:{pool:g}},n),children:[(0,oe.jsx)("span",{className:"wp-tag-label",children:"Manage"}),(0,oe.jsx)(Bt,{size:12,className:"wp-tag-icon"})]})})]},g.pair_address)})})}var Mt=z(require("bignumber.js"),1),ts=require("react");var Ya=require("@tanstack/react-query");var Nc="wp:forge-pools";function Za(e,t,n=!0){let o=So[e],r=n&&!!t,{data:a,...i}=(0,Ya.useQuery)({queryKey:[Nc,e,t],queryFn:async()=>{let p=await fetch(`${o}/v1/users/${t}/pools`,{cache:"no-store"});if(!p.ok)throw new Error(`forge pools fetch failed: ${p.status}`);return(await p.json()).data?.items??[]},enabled:r,staleTime:0}),l=a??[];return{pools:l,isEmpty:l.length===0,...i}}var Xa=require("@tanstack/react-query"),Ja=require("react");var Tc="wp:forge-token-detail";async function Ic(e,t){let n=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store"});return n.ok?(await n.json())?.data?.token??null:null}function es(e,t,n=!0){let o=So[e],r=(0,Xa.useQueries)({queries:t.map(l=>({queryKey:[Tc,e,l],queryFn:()=>Ic(o,l),enabled:n&&!!l,staleTime:3e4}))}),a=(0,Ja.useMemo)(()=>{let l=new Map;for(let p=0;p<r.length;p++){let c=r[p]?.data,f=t[p];c&&f&&l.set(f.toLowerCase(),c)}return l},[r,t]),i=r.some(l=>l.isLoading);return{detailMap:a,isLoading:i}}var ae=require("react/jsx-runtime"),Lc="Forge",ns=18,Ec="https://contents.crosstoken.io/wallet/token/images/FT.png";function Ac(e){if(!e||e==="0")return"0";let t=new Mt.default(e).shiftedBy(-ns);return t.isZero()?"0":t.isGreaterThanOrEqualTo(1)?t.toFormat(2,Mt.default.ROUND_DOWN):t.toFormat(4,Mt.default.ROUND_DOWN)}function Pc(e){let t=Number(e);return!Number.isFinite(t)||t<=0?"0%":t>=1?`${(Math.floor(t*100)/100).toFixed(2)}%`:`${(Math.floor(t*1e4)/1e4).toFixed(4)}%`}function Bc(e,t,n){let o=new Mt.default(n||"0");if(!o.isGreaterThan(0))return null;let r=new Mt.default(e.total_supply||"0"),a=new Mt.default(e.lp_balance||"0"),i=new Mt.default(t?.reserve_b||"0").shiftedBy(-ns);if(!r.isGreaterThan(0)||!a.isGreaterThan(0)||!i.isGreaterThan(0))return null;let l=i.times(2),c=a.div(r).times(l).times(o);return c.isFinite()?`$${c.toFormat(2,Mt.default.ROUND_DOWN)}`:null}function os(){let{env:e,walletAddress:t,onOutlink:n}=rt(),o=!!t,{pools:r,isEmpty:a}=Za(e,t,o),i=(0,ts.useMemo)(()=>r.map(m=>m.token.address),[r]),{detailMap:l}=es(e,i,o&&i.length>0),p=No(e,t,o),c=m=>`${wa[e]}/forge/token/${m.token.address}`,f=`${Ut[e]}/forge.png`;return(0,ae.jsx)(jt,{title:Lc,icon:f,iconFit:"contain",isEmpty:a,children:r.map(m=>{let h=l.get(m.token.address.toLowerCase()),g=h?.image_url||h?.image||m.token.image||Ec,v=h?.symbol||m.token.symbol,x=c(m),w=Bc(m,h,p);return(0,ae.jsxs)("a",{className:"wp-item","data-side":"lp",href:x,target:"_blank",rel:"noopener noreferrer",onClick:y=>Ze(y,x,{category:"portfolio",origin:"portfolio-forge",payload:{pool:m,tokenDetail:h}},n),children:[(0,ae.jsxs)("div",{className:"wp-item-body",children:[(0,ae.jsxs)("div",{className:"wp-item-line",children:[(0,ae.jsx)("span",{className:"wp-item-label",children:"Asset"}),(0,ae.jsxs)("div",{className:"wp-svc-token",children:[(0,ae.jsx)("img",{className:"wp-svc-token-icon",src:g,alt:""}),(0,ae.jsx)("span",{children:v}),h?.name&&(0,ae.jsx)("span",{className:"wp-token-subtle",children:h.name})]})]}),(0,ae.jsxs)("div",{className:"wp-item-line",children:[(0,ae.jsx)("span",{className:"wp-item-label",children:"LP Balance"}),(0,ae.jsx)("div",{className:"wp-svc-token",children:(0,ae.jsxs)("div",{className:"wp-svc-amount",children:[(0,ae.jsx)("span",{className:"wp-svc-amount-main",children:Ac(m.lp_balance)}),w&&(0,ae.jsx)("span",{className:"wp-item-usd",children:w})]})})]}),(0,ae.jsxs)("div",{className:"wp-item-line",children:[(0,ae.jsx)("span",{className:"wp-item-label",children:"Ownership"}),(0,ae.jsx)("span",{className:"wp-line-value",children:Pc(m.pool_ownership)})]})]}),(0,ae.jsx)("div",{className:"wp-item-tags",children:(0,ae.jsxs)("span",{className:"wp-tag wp-tag--muted",children:[(0,ae.jsx)("span",{className:"wp-tag-label",children:"Withdraw"}),(0,ae.jsx)(Bt,{size:12,className:"wp-tag-icon"})]})})]},m.pair_address)})})}W(`.wp-fullscreen[data-theme=dark],.wp-embed[data-theme=dark]{--wp-bg: var(--ds-bg-default, #202530);--wp-header-bg: var(--ds-surface-default, #252b39);--wp-card: var(--ds-surface-medium, #252b39);--wp-control: #292f40;--wp-border: var(--ds-border-default, #292f40);--wp-panel-border: var(--ds-border-medium, rgba(255, 255, 255, .18));--wp-panel-shadow: 0px 4px 30px -1px rgba(0, 0, 0, .28);--wp-text: var(--ds-content-highest, #ffffff);--wp-text-60: var(--ds-content-high, rgba(255, 255, 255, .85));--wp-text-40: var(--ds-content-medium, rgba(255, 255, 255, .65));--wp-text-30: var(--ds-content-low, rgba(255, 255, 255, .4));--wp-chrome-text: #ffffff;--wp-tooltip-bg: #151a23;--wp-tooltip-text: #ffffff;--wp-mint: var(--ds-accent-primary-default, #00a0a2);--wp-green: var(--ds-accent-primary-default, #00a0a2);--wp-accent-soft: var(--ds-accent-primary-low, rgba(0, 160, 162, .14));--wp-red: var(--ds-system-red-default, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00;--wp-claim-primary: #9b8cef;--wp-claim-primary-text: #202530;--wp-claim-secondary-bg: var(--wp-control);--wp-claim-success: #00d4aa;--wp-claim-success-soft: rgba(0, 212, 170, .18);--wp-claim-error: #ff3aa3;--wp-claim-error-soft: rgba(255, 58, 163, .16)}.wp-fullscreen[data-theme=light],.wp-embed[data-theme=light]{--wp-bg: var(--ds-bg-dim, #f5f7fa);--wp-header-bg: var(--ds-surface-default, #ffffff);--wp-card: var(--ds-surface-default, #ffffff);--wp-control: var(--ds-surface-medium, #f5f7fa);--wp-border: var(--ds-border-default, rgba(0, 0, 0, .07));--wp-panel-border: var(--ds-border-medium, rgba(0, 0, 0, .18));--wp-panel-shadow: 0px 4px 30px -1px rgba(0, 0, 0, .15);--wp-text: var(--ds-content-highest, #000000);--wp-text-60: var(--ds-content-high, rgba(0, 0, 0, .85));--wp-text-40: var(--ds-content-medium, rgba(0, 0, 0, .65));--wp-text-30: var(--ds-content-low, rgba(0, 0, 0, .4));--wp-chrome-text: var(--ds-content-high, rgba(0, 0, 0, .85));--wp-card-shadow: none;--wp-tooltip-bg: #192023;--wp-tooltip-text: #ffffff;--wp-mint: var(--ds-accent-primary-default, #00a0a2);--wp-green: var(--ds-accent-primary-default, #00a0a2);--wp-accent-soft: var(--ds-accent-primary-low, #e7f9f8);--wp-red: var(--ds-system-red-default, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00;--wp-claim-primary: #7346f3;--wp-claim-primary-text: #ffffff;--wp-claim-secondary-bg: #ffffff;--wp-claim-success: #019d92;--wp-claim-success-soft: rgba(1, 157, 146, .15);--wp-claim-error: #e70077;--wp-claim-error-soft: rgba(231, 0, 119, .12)}.wp-fullscreen{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;z-index:50;background:var(--wp-bg);display:flex;flex-direction:column;overflow:hidden;font-family:inherit;font-feature-settings:"calt" 0,"lnum" 1,"pnum" 1;box-sizing:border-box;-webkit-font-smoothing:antialiased;color:var(--wp-chrome-text)}.wp-embed{width:100%;height:100%;min-height:0;background:var(--wp-bg);display:flex;flex-direction:column;overflow:hidden;position:relative;font-family:inherit;font-feature-settings:"calt" 0,"lnum" 1,"pnum" 1;box-sizing:border-box;-webkit-font-smoothing:antialiased;color:var(--wp-chrome-text)}.wp-overlay{position:fixed;inset:0;z-index:49;background:#0009}.wp-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:73px;padding:24px;position:relative;border-bottom:1px solid var(--wp-border);background:var(--wp-header-bg);color:var(--wp-chrome-text);flex-shrink:0;box-sizing:border-box}.wp-header-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--ds-content-low, rgba(0, 0, 0, .4));flex-shrink:0;transition:color .15s ease}.wp-header-btn:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wp-header-edge{display:flex;align-items:center;width:24px;min-width:24px}.wp-header-edge--right{justify-content:flex-end}.wp-header-edge--right .wp-header-btn{position:absolute;top:24px;right:24px}.wp-header-spacer{display:block;width:24px;height:24px}.wp-header-avatar{width:38px;height:38px;flex-shrink:0;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--wp-header-avatar-bg)}.wp-header-avatar-img{width:30px;height:30px;object-fit:cover;display:block}.wp-fullscreen[data-theme=dark] .wp-header-avatar,.wp-embed[data-theme=dark] .wp-header-avatar{--wp-header-avatar-bg: hsl(221.3 24.6% 25.5%)}.wp-fullscreen[data-theme=light] .wp-header-avatar,.wp-embed[data-theme=light] .wp-header-avatar{--wp-header-avatar-bg: rgba(18, 18, 18, .1)}.wp-refresh-btn{position:relative}.wp-refresh-badge{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--wp-mint);color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center}.wp-spin-once{animation:wp-spin-once .6s ease-in-out}@keyframes wp-spin-once{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wp-header-title{flex:1;font-family:inherit;font-size:18px;font-weight:600;line-height:1.5;letter-spacing:-.01em;text-align:center;color:var(--ds-content-highest, #000000);margin:0}.wp-header-account{flex:1;display:flex;align-items:center;gap:12px;min-width:0}.wp-header-account-meta{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:2px}.wp-header-wallet-name{min-width:0;font-family:inherit;font-size:15px;font-weight:600;line-height:1.4;letter-spacing:0;color:var(--wp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-header-address-btn{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;max-width:100%;padding:0;border:0;background:transparent;cursor:pointer;font:inherit}.wp-header-address{min-width:0;font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;color:var(--wp-text-40);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-header-address-copy{display:inline-flex;align-items:center;flex-shrink:0;color:var(--wp-text-40);transition:color .15s ease}.wp-header-address-btn:hover .wp-header-address-copy{color:var(--wp-text-60)}.wp-header-address-copy[data-copied=true]{color:var(--wp-mint)}.wp-top{flex-shrink:0;padding:0 16px 16px;display:flex;flex-direction:column;gap:16px}.wp-identity{display:flex;flex-direction:column;gap:8px}.wp-address{display:inline-flex;align-items:center;gap:8px}.wp-address-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-address-chevron{display:inline-flex;align-items:center;color:var(--wp-text-40)}.wp-total{font-size:28px;font-weight:600;line-height:1.3;color:var(--wp-text);margin:0}.wp-asset{display:flex;flex-direction:column;gap:8px}.wp-asset-head{display:flex;align-items:center;gap:4px}.wp-asset-head-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-asset-head-icon{display:inline-flex;color:var(--wp-text-40)}.wp-bar{display:flex;height:20px;border-radius:4px;overflow:hidden}.wp-bar-seg{display:flex;align-items:center;justify-content:center;min-width:8px}.wp-bar-seg-pct{font-size:10px;font-weight:400;line-height:1.3;color:#fff;white-space:nowrap}.wp-legend{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.wp-legend-item{display:flex;align-items:center;gap:4px}.wp-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.wp-legend-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-tabs{flex-shrink:0;padding:8px 16px}.wp-tabs-inner{display:flex;align-items:center;padding:0 2px}.wp-tabs-list{display:flex;gap:20px;flex:1}.wp-tab{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:44px;padding-top:12px;background:transparent;border:none;cursor:pointer}.wp-tab-text{font-size:14px;font-weight:600;line-height:1.4;color:var(--wp-text-30);white-space:nowrap}.wp-tab[data-active=true] .wp-tab-text{color:var(--wp-mint)}.wp-tab-bar{width:20px;height:4px;border-radius:2px;background:var(--wp-mint);opacity:0}.wp-tab[data-active=true] .wp-tab-bar{opacity:1}.wp-tabs-filter-wrap{position:relative;display:flex;align-items:center;width:44px;height:44px;flex-shrink:0}.wp-tabs-filter-grad{position:absolute;inset:0;background:linear-gradient(to left,var(--wp-bg) 74%,transparent);pointer-events:none}.wp-tabs-filter{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--wp-text-40)}.wp-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--wp-border) transparent}.wp-body::-webkit-scrollbar{width:4px}.wp-body::-webkit-scrollbar-track{background:transparent}.wp-body::-webkit-scrollbar-thumb{background:var(--wp-border);border-radius:4px}.wp-body-inner{padding:16px 16px 32px;display:flex;flex-direction:column;gap:32px}.wp-summary-card{display:flex;flex-direction:column;gap:8px;width:100%;padding:0;border-radius:0;background:transparent;box-shadow:none;box-sizing:border-box}.wp-summary-head{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:4px}.wp-summary-label{font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0;color:var(--wp-text-40);white-space:nowrap}.wp-address{display:inline-flex;align-items:center;gap:8px;min-width:0}.wp-address-avatar{width:16px;height:16px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 68% 34%,#ff78d1 0 18%,transparent 19%),radial-gradient(circle at 34% 66%,#00d4aa 0 20%,transparent 21%),linear-gradient(135deg,#7346f3,#0488fc)}.wp-address-label{font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;color:var(--wp-text-40);white-space:nowrap}.wp-address-chevron{display:inline-flex;align-items:center;color:var(--wp-text-40);flex-shrink:0}.wp-summary-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:#019d921a;color:var(--wp-mint);font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;white-space:nowrap}.wp-summary-estimate{position:relative;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.wp-estimate-info{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--wp-text-40);cursor:help}.wp-estimate-tooltip{position:absolute;top:calc(100% + 8px);left:0;right:auto;z-index:3;display:flex;flex-direction:column;gap:8px;width:min(280px,calc(100vw - 48px));padding:12px;border-radius:8px;background:var(--wp-tooltip-bg);box-shadow:0 12px 32px #0000003d;color:var(--wp-tooltip-text);font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-4px);visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility .15s ease}.wp-estimate-tooltip-title{display:block;font-size:12px;font-weight:600;line-height:1.3}.wp-estimate-tooltip-group{display:flex;flex-direction:column;gap:4px}.wp-estimate-tooltip-item{display:block;color:#ffffffc7}.wp-estimate-tooltip-item:before{content:"- "}.wp-estimate-info:hover .wp-estimate-tooltip,.wp-estimate-info:focus .wp-estimate-tooltip,.wp-estimate-info:focus-visible .wp-estimate-tooltip{opacity:1;transform:translateY(0);visibility:visible}.wp-total{font-family:var( --wp-total-font-family, Sora, Inter, system-ui, -apple-system, sans-serif );font-size:36px;font-weight:600;line-height:1.25;letter-spacing:0;color:var(--wp-text);margin:0}.wp-svc-card{display:flex;flex-direction:column;gap:12px;width:100%}.wp-svc-card-head{display:flex;align-items:center;gap:6px}.wp-svc-card-icon{width:24px;height:24px;border-radius:4px;flex-shrink:0;object-fit:cover}.wp-svc-card-title{font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0;color:var(--wp-text-60);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-svc-items{display:flex;flex-direction:column;gap:8px;width:100%;padding:0;border-radius:0;background:transparent;box-shadow:none;box-sizing:border-box}.wp-item{position:relative;display:flex;flex-direction:column;gap:20px;width:100%;padding:12px;border-radius:12px;background:var(--wp-card);box-shadow:var(--wp-card-shadow, none);box-sizing:border-box;color:inherit;text-decoration:none;cursor:pointer;outline:none;transition:opacity .15s ease}.wp-item+.wp-item{padding-top:12px;border-top:0}.wp-item:hover{opacity:.88}.wp-item-body{display:flex;flex-direction:column;gap:12px;min-width:0}.wp-order-head{display:flex;align-items:center;width:100%}.wp-item-line{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:21px;min-width:0}.wp-item-label{flex-shrink:0;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--wp-text-30);white-space:nowrap}.wp-line-value,.wp-order-side{min-width:0;overflow:hidden;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--wp-text-60);text-align:right;text-overflow:ellipsis;white-space:nowrap}.wp-order-side--buy{color:var(--wp-mint)}.wp-order-side--sell{color:var(--wp-red)}.wp-svc-token{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;min-height:21px}.wp-svc-token>span{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--wp-text-60);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-svc-token-icon{width:16px;height:16px;border-radius:50%;flex-shrink:0;object-fit:cover}.wp-token-stack{display:inline-flex;align-items:center;justify-content:flex-end;width:29px;min-width:29px;overflow:visible}.wp-token-stack .wp-svc-token-icon+.wp-svc-token-icon{margin-left:-3.5px}.wp-token-subtle,.wp-item-usd{color:var(--wp-text-30)!important}.wp-svc-amount{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:1px;min-width:0}.wp-svc-amount-main{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--wp-text-60);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.wp-svc-amount .wp-item-usd{font-size:12px;font-weight:500;line-height:1.35}.wp-order-token{display:flex;align-items:center;gap:8px;min-width:0}.wp-order-token .wp-svc-token-icon{width:32px;height:32px}.wp-order-token-meta{display:flex;min-width:0;flex-direction:column;justify-content:center}.wp-order-token-symbol{overflow:hidden;color:var(--wp-text-60);font-size:14px;font-weight:500;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.wp-order-token-pair{overflow:hidden;color:var(--wp-text-30);font-size:12px;font-weight:500;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.wp-item-tags{display:flex;align-items:stretch;gap:8px;width:100%}.wp-tag{appearance:none;display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;gap:0;min-width:0;min-height:33px;padding:6px 10px;border-radius:6px;border:0;background:var(--wp-control);font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:0;color:var(--wp-text-40);text-align:center;text-decoration:none;white-space:nowrap;box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}a.wp-tag,button.wp-tag{cursor:pointer}.wp-tag:hover{background:var(--wp-control);transform:none}.wp-tag:focus-visible{outline:2px solid var(--wp-mint);outline-offset:2px}.wp-tag[aria-disabled=true],.wp-tag[data-disabled]{cursor:default;opacity:.48;pointer-events:none}.wp-tag-label{display:inline-flex;align-items:center}.wp-tag-icon{display:none}.wp-tag:hover .wp-tag-icon{transform:none}.wp-tag--mint{color:var(--wp-mint);background:var(--wp-accent-soft)}.wp-tag--mint:hover{background:var(--wp-accent-soft)}.wp-tag--muted{color:var(--wp-text-40)}.wp-svc-empty{display:flex;align-items:center;justify-content:center;min-height:74px;padding:20px 16px;background:var(--wp-card);border-radius:12px;box-shadow:var(--wp-card-shadow, none);font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0;color:var(--wp-text-30);box-sizing:border-box}.wp-claim-overlay{position:absolute;inset:0;z-index:8;display:flex;align-items:flex-end;justify-content:center;background:#00000094;box-sizing:border-box}.wp-claim-sheet{display:flex;flex-direction:column;width:100%;max-width:375px;max-height:calc(100% - 24px);overflow:hidden;border-radius:24px 24px 0 0;background:var(--wp-bg);color:var(--wp-text);box-shadow:0 -18px 48px #00000042;animation:wp-claim-slide-up .22s ease-out}@keyframes wp-claim-slide-up{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.wp-claim-grabber{display:flex;align-items:flex-start;justify-content:center;height:38px;min-height:38px;padding-top:12px;box-sizing:border-box}.wp-claim-grabber span{display:block;width:52px;height:5px;border-radius:999px;background:var(--wp-control)}.wp-claim-content{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;padding:20px;box-sizing:border-box}.wp-claim-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;flex-shrink:0}.wp-claim-icon--success{background:var(--wp-claim-success-soft);color:var(--wp-claim-success)}.wp-claim-icon--pending{background:#9b8cef29;color:var(--wp-claim-primary)}.wp-claim-icon--error{background:var(--wp-claim-error-soft);color:var(--wp-claim-error);font-size:30px;font-weight:600;line-height:1}.wp-claim-icon--token{background:#00d4aa29}.wp-claim-icon--token img{width:48px;height:48px;border-radius:50%;object-fit:cover}.wp-claim-icon--token span{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--wp-mint);color:#101820;font-size:18px;font-weight:600}.wp-claim-spinner{width:36px;height:36px;border-radius:50%;border:3px solid rgba(155,140,239,.28);border-top-color:var(--wp-claim-primary);animation:wp-claim-spin .8s linear infinite}@keyframes wp-claim-spin{to{transform:rotate(360deg)}}.wp-claim-copy{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;text-align:center}.wp-claim-title{margin:0;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--wp-text)}.wp-claim-desc{max-width:335px;margin:0;font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0;color:var(--wp-text-40)}.wp-claim-heading{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%}.wp-claim-error-message{margin:0;color:var(--wp-claim-error);font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0}.wp-claim-reward-card{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:60px;padding:16px;border-radius:8px;background:var(--wp-card);box-sizing:border-box}.wp-claim-reward-token{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0;overflow:hidden;background:var(--wp-control)}.wp-claim-reward-token img{width:28px;height:28px;object-fit:cover}.wp-claim-reward-token span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--wp-mint);color:#101820;font-size:13px;font-weight:600;line-height:1}.wp-claim-reward-symbol{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--wp-text);font-size:18px;font-weight:600;line-height:1.3;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.wp-claim-reward-amount{flex-shrink:0;color:var(--wp-text);font-size:20px;font-weight:600;line-height:1.3;letter-spacing:0;white-space:nowrap}.wp-claim-account-card{display:flex;flex-direction:column;gap:12px;width:100%;padding:16px;border-radius:8px;background:var(--wp-card);box-sizing:border-box}.wp-claim-account-row{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;min-height:40px}.wp-claim-account-row>span{flex-shrink:0;color:var(--wp-text-40);font-size:14px;font-weight:400;line-height:1.3;letter-spacing:0;white-space:nowrap}.wp-claim-account{display:flex;align-items:center;gap:8px;min-width:0}.wp-claim-account strong{overflow:hidden;color:var(--wp-text);font-size:15px;font-weight:600;line-height:1.6;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.wp-claim-account-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 30% 28%,#d87aff 0 12%,transparent 13%),radial-gradient(circle at 68% 28%,#f0a1ff 0 12%,transparent 13%),radial-gradient(circle at 32% 70%,#b561e7 0 13%,transparent 14%),radial-gradient(circle at 70% 70%,#d4a2ff 0 13%,transparent 14%),radial-gradient(circle at 50% 50%,#8c4fc4 0 18%,transparent 19%),#4a315f;box-shadow:inset 0 0 0 3.37px var(--wp-control)}.wp-claim-divider{display:block;width:100%;height:1px;background:var(--wp-border)}.wp-claim-detail-list{display:flex;flex-direction:column;gap:8px;width:100%}.wp-claim-detail-row{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:20px}.wp-claim-detail-row>span{min-width:0;color:var(--wp-text-40);font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0;white-space:nowrap}.wp-claim-detail-row--sub>span:before{content:"";display:inline-block;width:3px;height:3px;margin:0 8px 3px;background:currentColor}.wp-claim-detail-row strong{min-width:0;overflow:hidden;color:var(--wp-text);font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0;text-align:right;text-overflow:ellipsis;white-space:nowrap}.wp-claim-list{display:flex;flex-direction:column;gap:8px;width:100%;padding-bottom:8px}.wp-claim-list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:8px 16px;border-radius:8px;background:var(--wp-card);box-sizing:border-box}.wp-claim-list-item>span{flex-shrink:0;font-size:14px;font-weight:400;line-height:1.3;color:var(--wp-text-40);white-space:nowrap}.wp-claim-list-item strong{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;overflow:hidden;color:var(--wp-text);font-size:14px;font-weight:400;line-height:1.3;text-align:right;text-overflow:ellipsis;white-space:nowrap}.wp-claim-list-item img{width:16px;height:16px;border-radius:50%;flex-shrink:0}.wp-claim-hash{appearance:none;display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;padding:0;border:none;background:transparent;color:var(--wp-text);cursor:pointer;font:inherit}.wp-claim-hash svg{flex-shrink:0;color:var(--wp-text-60)}.wp-claim-gas-card{display:flex;flex-direction:column;gap:4px;width:100%;padding:14px 16px;border-radius:8px;border:1px solid var(--wp-border);background:var(--wp-card);box-sizing:border-box}.wp-claim-gas-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:28px}.wp-claim-gas-row>span{min-width:0;font-size:12px;font-weight:400;line-height:1.3;color:var(--wp-text-40)}.wp-claim-gas-row strong{min-width:0;overflow:hidden;color:var(--wp-text);font-size:12px;font-weight:400;line-height:1.3;text-align:right;text-overflow:ellipsis;white-space:nowrap}.wp-claim-gas-row--primary{min-height:32px}.wp-claim-gas-row--primary>span,.wp-claim-gas-row--primary strong{font-size:14px;color:var(--wp-text)}.wp-claim-fee-label{position:relative;display:inline-flex;align-items:center;text-decoration:underline dotted;text-underline-offset:3px;cursor:help;overflow:visible!important}.wp-claim-fee-tooltip{position:absolute;left:0;bottom:calc(100% + 8px);z-index:2;width:min(260px,calc(100vw - 64px));padding:10px 12px;border-radius:8px;background:var(--wp-tooltip-bg);color:var(--wp-tooltip-text);box-shadow:0 12px 32px #0000003d;font-size:11px;font-weight:400;line-height:1.4;text-align:left;text-decoration:none;white-space:normal;opacity:0;pointer-events:none;transform:translateY(4px);visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility .15s ease}.wp-claim-fee-label:hover .wp-claim-fee-tooltip,.wp-claim-fee-label:focus .wp-claim-fee-tooltip,.wp-claim-fee-label:focus-visible .wp-claim-fee-tooltip{opacity:1;transform:translateY(0);visibility:visible}.wp-claim-actions{display:flex;align-items:center;gap:8px;width:100%}.wp-claim-primary,.wp-claim-secondary{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0;height:52px;padding:0 24px;border:none;border-radius:40px;font-family:inherit;font-size:15px;font-weight:600;line-height:1.3;letter-spacing:0;white-space:nowrap;cursor:pointer}.wp-claim-primary{background:var(--wp-claim-primary);color:var(--wp-claim-primary-text)}.wp-claim-primary:disabled{cursor:default;opacity:.72}.wp-claim-secondary{background:var(--wp-claim-secondary-bg, var(--wp-control));color:var(--wp-claim-primary)}.wp-claim-actions[data-count="2"] .wp-claim-primary{flex:1 1 0}.wp-claim-actions[data-count="2"] .wp-claim-secondary{flex:0 0 120px}.wp-claim-button-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(32,37,48,.28);border-top-color:var(--wp-claim-primary-text);animation:wp-claim-spin .8s linear infinite}.wp-claim-home-indicator{display:flex;align-items:flex-end;justify-content:center;height:34px;min-height:34px;padding-bottom:8px;box-sizing:border-box}.wp-claim-home-indicator span{display:block;width:134px;height:5px;border-radius:16px;background:var(--wp-text-40)}@media(max-width:359px){.wp-header{gap:12px;padding:0 12px}.wp-total{font-size:24px}.wp-body-inner{padding:0 12px 128px;gap:20px}.wp-svc-items,.wp-claim-content{padding:18px 14px}.wp-item-line{gap:10px}.wp-svc-token>span{max-width:168px}}.wp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.wi-drawer-content .wp-header,.wi-portfolio-body .wp-header{padding:16px}.wi-drawer-content .wp-header-edge--right .wp-header-btn,.wi-portfolio-body .wp-header-edge--right .wp-header-btn{top:16px;right:16px}
|
|
7
|
+
`);var ce=require("react/jsx-runtime"),ec={token:"Send",recipient:"Send",amount:"Send",review:"Sign Transaction",result:""};function In({onClose:e,onBackToWallet:t,onConfirmSuccess:n,onSuccess:o,className:r,...a}){let i=Qi.useCallback(y=>{o?.(y),n?.(y)},[n,o]),p=Pi({...a,onSuccess:o||n?i:void 0,onExit:t}),{step:c,status:f}=p,m=St(p.recipient.trim()),h=en(p.amount,p.token.quantity.decimals),g="value"in h&&h.value<=p.balanceRaw,v=f==="submitting"||f==="confirming",x=c!=="result",w=ec[c]??"";return(0,ce.jsxs)("div",{className:ne("sf-root",r),"data-step":c,children:[(0,ce.jsxs)("header",{className:"sf-header",children:[x?(0,ce.jsx)("button",{type:"button",className:"sf-header-btn",onClick:p.back,"aria-label":"Back",children:(0,ce.jsx)(Xt,{size:24})}):(0,ce.jsx)("span",{className:"sf-header-btn","aria-hidden":!0}),(0,ce.jsx)("span",{className:"sf-header-title",children:w}),(0,ce.jsx)("button",{type:"button",className:"sf-header-btn",onClick:e,"aria-label":"Close",children:(0,ce.jsx)(kt,{size:24})})]}),c==="token"&&(0,ce.jsx)(Ki,{flow:p}),c==="recipient"&&(0,ce.jsx)($i,{flow:p}),c==="amount"&&(0,ce.jsx)(Bi,{flow:p}),c==="review"&&(0,ce.jsx)(qi,{flow:p}),c==="result"&&(0,ce.jsx)(Vi,{flow:p}),(0,ce.jsxs)("footer",{className:"sf-footer","data-step":c,children:[c==="recipient"&&(0,ce.jsx)("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:p.submitRecipient,"data-disabled":!m||void 0,"aria-disabled":!m,children:"Next"}),c==="amount"&&(0,ce.jsx)("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:p.submitAmount,"data-disabled":!g||void 0,"aria-disabled":!g,children:"Next"}),c==="review"&&(0,ce.jsxs)("div",{className:"sf-footer-row",children:[(0,ce.jsx)("button",{type:"button",className:"sf-btn sf-btn--secondary",onClick:p.back,disabled:v,children:"Cancel"}),(0,ce.jsx)("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:p.confirmSend,disabled:v||!p.canSend||p.insufficientGas,children:v?"Sending...":"Send"})]}),c==="result"&&f==="success"&&(0,ce.jsx)("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:()=>n?.(p.txHash||void 0),children:"All done"}),c==="result"&&f==="error"&&(0,ce.jsx)("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:p.retry,children:"Try Again"})]})]})}var Yi=z(require("@radix-ui/react-popover"),1),Zi=require("vaul");var tn=require("react/jsx-runtime");function Xi({asChild:e,className:t,children:n}){let{isMobile:o,theme:r,walletAddress:a}=Wt(),i=n!=null,l=e??!0,p=i?n:(0,tn.jsxs)("button",{type:"button",className:ne("wi-trigger-btn",t),"data-theme":r,"data-mobile":o||void 0,children:[(0,tn.jsx)(ii,{size:o?14:16}),(0,tn.jsx)("span",{className:"wi-trigger-address",children:Ye(a)})]});return o?(0,tn.jsx)(Zi.Drawer.Trigger,{asChild:l,children:p}):(0,tn.jsx)(Yi.Trigger,{asChild:l,children:p})}var F=z(require("react"),1),Eo=z(require("@radix-ui/react-popover"),1),Fn=require("vaul");var wn=z(require("bignumber.js"),1);var Ji=require("@tanstack/react-query"),ea=require("react");var bo="user-balance";async function tc(e,t,n,o){let r=new URLSearchParams({networkId:`eip155:${t}`,account:n}),a=await fetch(`${e}/v1/public/token/balance?${r}`,{cache:"no-store",signal:o});if(!a.ok)throw new Error(`Failed to fetch token balance: ${a.status}`);let i=await a.json();if(i.code!==200)throw new Error(`Token balance API error: ${i.code}`);return i.data}function At(e,t,n=!0){let o=ot[e],r=Me[e],a=[r.cross,r.bsc],i=(0,Ji.useQueries)({queries:a.map(f=>({queryKey:[bo,e,t,f],queryFn:({signal:m})=>tc(o,f,t,m),enabled:!!t&&n,staleTime:0,refetchInterval:n?5e3:!1}))}),l=i.some(f=>f.isLoading),p=i.some(f=>f.isError);return{tokens:(0,ea.useMemo)(()=>{let f=[];for(let m of i)m.data&&f.push(...m.data);return f},[i]),isLoading:l,isError:p}}var wo=require("@tanstack/react-query"),ta=require("react");var nc="forge-holdings",oc="forge-token-image";async function rc(e,t,n){let o=await fetch(`${e}/v1/users/${t}/holdings`,{cache:"no-store",signal:n});if(!o.ok)throw new Error(`Failed to fetch forge holdings: ${o.status}`);let r=await o.json();if(!r.success)throw new Error("Forge holdings API error");return r.data.items}async function ic(e,t,n){let o=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store",signal:n});if(!o.ok)return{address:t,image_url:""};let r=await o.json();return r.success?{address:t,image_url:r.data.token.image_url}:{address:t,image_url:""}}function na(e,t,n=!0){let o=pr[e],{data:r,...a}=(0,wo.useQuery)({queryKey:[nc,e,t],queryFn:({signal:i})=>rc(o,t,i),enabled:!!t&&n,staleTime:0,refetchInterval:n?5e3:!1});return{holdings:r??[],...a}}function oa(e,t,n=!0){let o=pr[e],r=(0,wo.useQueries)({queries:t.map(i=>({queryKey:[oc,e,i],queryFn:({signal:l})=>ic(o,i,l),enabled:n,staleTime:1/0}))});return{imageMap:(0,ta.useMemo)(()=>{let i=new Map;for(let l of r)l.data&&i.set(l.data.address,l.data.image_url);return i},[r])}}var ra=require("@tanstack/react-query"),ia=require("react");var xo="token-stats";function ut(e,t){return`${e}:${t.toLowerCase()}`}function Pt(e,t=!0){let n=ot[e],{data:o,...r}=(0,ra.useQuery)({queryKey:[xo,e],queryFn:async({signal:i})=>{let l=await fetch(`${n}/v1/public/token/stats`,{cache:"no-store",signal:i});if(!l.ok)throw new Error(`Failed to fetch token stats: ${l.status}`);let p=await l.json();if(p.code!==200)throw new Error(`Token stats API error: ${p.code}`);return p},enabled:t,staleTime:3e4});return{statsMap:(0,ia.useMemo)(()=>{let i=new Map;if(!o?.data)return i;for(let l of o.data){let p=ut(l.chain_id,l.address);i.set(p,l)}return i},[o]),...r}}var aa=require("@tanstack/react-query"),sa=require("react");var ac="token-info";function fr(e,t){return`${t.toLowerCase()}_${e}`}function la(e,t=!0){let n=ot[e],{data:o,...r}=(0,aa.useQuery)({queryKey:[ac,e],queryFn:async({signal:i})=>{let l=await fetch(`${n}/v1/public/token/info`,{cache:"no-store",signal:i});if(!l.ok)throw new Error(`Failed to fetch token info: ${l.status}`);let p=await l.json();if(p.code!==200)throw new Error(`Token info API error: ${p.code}`);return p},enabled:t,staleTime:1/0});return{categoryMap:(0,sa.useMemo)(()=>{let i=new Map;if(!o?.data)return i;for(let l of o.data){let p=fr(l.chain_id,l.address);i.set(p,l.category)}return i},[o]),...r}}var ca=require("react"),vo=z(require("bignumber.js"),1);function da(e,t,n){let{tokens:o,isLoading:r}=At(e,t,n),{statsMap:a}=Pt(e,n);return(0,ca.useMemo)(()=>{let i=new vo.default(0);for(let f of o){let m=a.get(ut(f.chainId,f.address));if(!m)continue;let g=new vo.default(f.quantity.numeric).shiftedBy(-f.quantity.decimals).multipliedBy(new vo.default(m.price));g.isNaN()||(i=i.plus(g))}let l=i.toFixed(),{displayValue:p,isLowerBound:c}=hi(l);return{totalUsd:l,displayValue:p,isLowerBound:c,isLoading:r}},[o,a,r])}var Bs=require("qrcode.react");function Ze(e,t,n,o){if(!o||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.defaultPrevented)return;e.preventDefault();let r;try{r=o(t,n)}catch(c){console.error("[dapp-ui] onOutlink threw:",c);return}let a=c=>{typeof window>"u"||window.open(c,"_blank","noopener,noreferrer")};if((c=>!!c&&(typeof c=="object"||typeof c=="function")&&typeof c.then=="function")(r)){let c=typeof window<"u"?window.open("","_blank","noopener,noreferrer"):null,f=m=>{if(m===null){c?.close();return}let h=m??t;if(c)try{c.location.href=h}catch{c.close(),a(h)}else a(h)};r.then(f,m=>{console.error("[dapp-ui] onOutlink rejected:",m),c?.close()});return}let l=r;if(l===null)return;a(l??t)}var an=z(require("react"),1),as=require("vaul");var yo=require("react"),Ln=(0,yo.createContext)(null);function rt(){let e=(0,yo.useContext)(Ln);if(!e)throw new Error("WalletPortfolio compound components must be used within <WalletPortfolio>");return e}var pa=require("vaul");var ur=require("react/jsx-runtime");function fa({asChild:e,children:t}){let{walletAddress:n}=rt(),o=t!=null,r=e??!0,a=o?t:(0,ur.jsx)("button",{type:"button",children:Ye(n)});return(0,ur.jsx)(pa.Drawer.Trigger,{asChild:r,children:a})}var An=require("vaul");var _e=z(require("react"),1),rs=require("@tanstack/react-query");var mt=require("react/jsx-runtime");function ua({size:e=22,className:t}){return(0,mt.jsx)("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,mt.jsx)("path",{d:"M14 4L7 11L14 18",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function ma({size:e=22,className:t}){return(0,mt.jsxs)("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[(0,mt.jsx)("path",{d:"M18.333 3.667v5.5h-5.5",stroke:"currentColor",strokeWidth:1.833,strokeLinecap:"round",strokeLinejoin:"round"}),(0,mt.jsx)("path",{d:"M16.17 13.75a7.333 7.333 0 11-1.54-7.59L18.333 9.167",stroke:"currentColor",strokeWidth:1.833,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Bt({size:e=12,className:t}){return(0,mt.jsxs)("svg",{width:e,height:e,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,"aria-hidden":"true",children:[(0,mt.jsx)("path",{d:"M5 2H2.5A1.5 1.5 0 0 0 1 3.5V9.5A1.5 1.5 0 0 0 2.5 11H8.5A1.5 1.5 0 0 0 10 9.5V7",stroke:"currentColor",strokeWidth:1.2,strokeLinecap:"round",strokeLinejoin:"round"}),(0,mt.jsx)("path",{d:"M7 1H11V5",stroke:"currentColor",strokeWidth:1.2,strokeLinecap:"round",strokeLinejoin:"round"}),(0,mt.jsx)("path",{d:"M11 1L6 6",stroke:"currentColor",strokeWidth:1.2,strokeLinecap:"round",strokeLinejoin:"round"})]})}var nn=z(require("bignumber.js"),1),sc=/^(\d{4}-\d{2}-\d{2})/;function ga(e){if(!e||e.length===0)return;let t=new Map,n;for(let{key:r,cumulative:a}of e.map(i=>({key:sc.exec(i.reference_date)?.[1],cumulative:i.cumulative_earned})).filter(i=>!!i.key&&i.cumulative!=null).sort((i,l)=>i.key<l.key?-1:i.key>l.key?1:0))t.set(r,a),n=r;if(n===void 0)return;let o=new Date().toISOString().slice(0,10);return t.get(o)??t.get(n)}function ha(e){return e.length<=12?e:`${e.slice(0,6)}...${e.slice(-4)}`}function mn(e,t){let n=new nn.default(e).shiftedBy(-t);return!n.isFinite()||n.isZero()?"0":n.isGreaterThanOrEqualTo(1)?n.toFormat(2,nn.default.ROUND_DOWN):n.toFormat(4,nn.default.ROUND_DOWN)}function mr(e){return mn(e,0)}function gn(e,t,n){let o=new nn.default(n||"0");if(!o.isFinite()||o.isLessThanOrEqualTo(0))return null;let r=new nn.default(e||"0").shiftedBy(-t).times(o);return r.isFinite()?`$${r.toFormat(2,nn.default.ROUND_DOWN)}`:null}var ka=require("@tanstack/react-query"),gr=require("react");var ko={dev:"https://stg-cross-game-reward-api.crosstoken.io/api",stage:"https://stg-cross-game-reward-api.crosstoken.io/api",production:"https://cross-game-reward-api.crosstoken.io/api"},ba={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},So={dev:"https://stg-bonding-curve-api.crosstoken.io/api",stage:"https://stg-bonding-curve-api.crosstoken.io/api",production:"https://bonding-curve-api.crosstoken.io/api"},wa={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},hn={dev:"https://stg-posa-api.crosstoken.io/api/v1",stage:"https://stg-posa-api.crosstoken.io/api/v1",production:"https://posa-api.crosstoken.io/api/v1"},En={dev:"https://dev-stake.ogfcorp.com",stage:"https://stg-stake.ogfcorp.com",production:"https://stake.ogfcorp.com"},xa={dev:`${En.dev}/portfolio`,stage:`${En.stage}/portfolio`,production:`${En.production}/portfolio`},va={dev:"https://stg-game-swap-api.cross.nexus/v1",stage:"https://stg-game-swap-api.cross.nexus/v1",production:"https://game-swap-api.cross.nexus/v1"},ya={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},Ut={dev:"https://stg-contents.crosstoken.io/frontend/common/app-launcher/icons",stage:"https://stg-contents.crosstoken.io/frontend/common/app-launcher/icons",production:"https://contents.crosstoken.io/frontend/common/app-launcher/icons"};var lc="wp:reward-pools";function Co(e,t=!0){let n=ko[e],{data:o,...r}=(0,ka.useQuery)({queryKey:[lc,e],queryFn:async({signal:l})=>{let p=await fetch(`${n}/v1/pools`,{cache:"no-store",signal:l});if(!p.ok)throw new Error(`Failed to fetch pools: ${p.status}`);let c=await p.json();if(c.code!==200)throw new Error(`Pools API error: ${c.code}`);return c},enabled:t,staleTime:0}),a=(0,gr.useMemo)(()=>o?.data.pools.filter(l=>l.pool_type==="CrossPool")??[],[o]),i=(0,gr.useMemo)(()=>o?.data.pools.filter(l=>l.pool_type==="GamePool")??[],[o]);return{crossPools:a,gamePools:i,allPools:o?.data.pools??[],...r}}var Sa=require("@tanstack/react-query"),Ca=require("react");var cc="wp:user-deposits";function Ra(e,t,n=!0){let o=ko[e],r=n&&!!t,{data:a,...i}=(0,Sa.useQuery)({queryKey:[cc,e,t],queryFn:async({signal:p})=>{let c=await fetch(`${o}/v1/users/${t}/deposits`,{cache:"no-store",signal:p});if(!c.ok)throw new Error(`Deposits fetch failed: ${c.status}`);let f=await c.json();if(f.code!==200)throw new Error(`Deposits API error: ${f.code}`);return f},enabled:r,staleTime:0});return{depositMap:(0,Ca.useMemo)(()=>{let p=new Map;if(!a?.data.user_deposits)return p;for(let c of a.data.user_deposits)p.set(c.pool_address.toLowerCase(),c);return p},[a]),deposits:a?.data.user_deposits??[],...i}}var Na=require("@tanstack/react-query"),Ta=require("react");var dc="wp:token-info";function Ia(e,t=!0){let n=ot[e],o=Me[e].cross,{data:r,...a}=(0,Na.useQuery)({queryKey:[dc,e],queryFn:async({signal:c})=>{let f=await fetch(`${n}/v1/public/token/info`,{cache:"no-store",signal:c});if(!f.ok)throw new Error(`Failed to fetch token info: ${f.status}`);let m=await f.json();if(m.code!==200)throw new Error(`Token info API error: ${m.code}`);return m},enabled:t,staleTime:300*1e3}),{byChainAddr:i,byChainSym:l}=(0,Ta.useMemo)(()=>{let c=new Map,f=new Map;if(!r?.data)return{byChainAddr:c,byChainSym:f};for(let m of r.data){let h=m.address.toLowerCase();c.set(`${m.chain_id}:${h}`,m),c.set(h,m);let g=m.symbol.replace(/^t/,"").toUpperCase(),v=`${m.chain_id}:${g}`;f.has(v)||f.set(v,m),f.has(g)||f.set(g,m)}return{byChainAddr:c,byChainSym:f}},[r]);return{getTokenImage:(c,f)=>{let m=c.toLowerCase(),h=i.get(`${o}:${m}`);if(h?.image)return h.image;let g=i.get(m);if(g?.image)return g.image;if(f){let v=f.replace(/^t/,"").toUpperCase(),x=l.get(`${o}:${v}`);if(x?.image)return x.image;let w=l.get(v);if(w?.image)return w.image}return""},...a}}var $t=require("react/jsx-runtime");function jt({title:e,icon:t,iconFit:n="cover",isEmpty:o,children:r}){return(0,$t.jsxs)("div",{className:"wp-svc-card",children:[(0,$t.jsxs)("div",{className:"wp-svc-card-head",children:[(0,$t.jsx)("img",{className:"wp-svc-card-icon",src:t,alt:"",style:{objectFit:n}}),(0,$t.jsx)("span",{className:"wp-svc-card-title",children:e})]}),o?(0,$t.jsx)("div",{className:"wp-svc-empty",children:"No assets yet"}):(0,$t.jsx)("div",{className:"wp-svc-items",children:r})]})}var Ro=z(require("bignumber.js"),1),V=require("react/jsx-runtime"),pc="CROSS Rewards";function fc(e){return new Ro.default(e||"0").isGreaterThan(0)}function La(){let{env:e,walletAddress:t,onOutlink:n}=rt(),o=!!t,{allPools:r}=Co(e,o),{depositMap:a}=Ra(e,t,o),{getTokenImage:i}=Ia(e,o),l=(f,m)=>`${ba[e]}/rewards/${f.pool_address}?action=${m}`,p=`${Ut[e]}/reward.png`,c=r.filter(f=>{let m=a.get(f.pool_address.toLowerCase()),h=m?.deposited_amount??"0",g=m?.claimable_reward??"0";return!(new Ro.default(h).isZero()&&new Ro.default(g).isZero())});return(0,V.jsx)(jt,{title:pc,icon:p,isEmpty:c.length===0,children:c.map(f=>{let m=a.get(f.pool_address.toLowerCase()),h=m?.deposited_amount??"0",g=m?.claimable_reward??"0",v=l(f,"withdraw"),x=l(f,"claim"),w=i(f.deposit_token.address,f.deposit_token.symbol),y=f.reward_tokens[0],A=y?i(y.address,y.symbol):"",u=f.reward_tokens.map(Y=>Y.symbol),T=u.length>0?`${f.deposit_token.symbol}-${u.join("/")}`:f.deposit_token.symbol,S=y?mn(g,y.decimals):"0",P=y?.symbol??"Reward",B=gn(h,f.deposit_token.decimals,f.deposit_token.price),te=y?gn(g,y.decimals,y.price):null,O=!!m&&fc(g);return(0,V.jsxs)("article",{className:"wp-item","data-side":"reward",children:[(0,V.jsxs)("div",{className:"wp-item-body",children:[(0,V.jsxs)("div",{className:"wp-item-line",children:[(0,V.jsx)("span",{className:"wp-item-label",children:"Pool (Deposit - Earn)"}),(0,V.jsxs)("div",{className:"wp-svc-token",children:[(0,V.jsxs)("span",{className:"wp-token-stack","aria-hidden":!0,children:[w&&(0,V.jsx)("img",{className:"wp-svc-token-icon",src:w,alt:""}),A&&(0,V.jsx)("img",{className:"wp-svc-token-icon",src:A,alt:""})]}),(0,V.jsx)("span",{children:T})]})]}),(0,V.jsxs)("div",{className:"wp-item-line",children:[(0,V.jsx)("span",{className:"wp-item-label",children:"Deposited"}),(0,V.jsxs)("div",{className:"wp-svc-token",children:[w&&(0,V.jsx)("img",{className:"wp-svc-token-icon",src:w,alt:""}),(0,V.jsxs)("div",{className:"wp-svc-amount",children:[(0,V.jsx)("span",{className:"wp-svc-amount-main",children:mn(h,f.deposit_token.decimals)}),B&&(0,V.jsx)("span",{className:"wp-item-usd",children:B})]})]})]}),(0,V.jsxs)("div",{className:"wp-item-line",children:[(0,V.jsxs)("span",{className:"wp-item-label",children:["Claimable (",P,")"]}),(0,V.jsxs)("div",{className:"wp-svc-token",children:[A&&(0,V.jsx)("img",{className:"wp-svc-token-icon",src:A,alt:""}),(0,V.jsxs)("div",{className:"wp-svc-amount",children:[(0,V.jsx)("span",{className:"wp-svc-amount-main",children:S}),te&&(0,V.jsx)("span",{className:"wp-item-usd",children:te})]})]})]})]}),(0,V.jsxs)("div",{className:"wp-item-tags",children:[(0,V.jsxs)("a",{className:"wp-tag wp-tag--muted",href:v,target:"_blank",rel:"noopener noreferrer",onClick:Y=>Ze(Y,v,{category:"portfolio",origin:"portfolio-rewards",payload:{pool:f,userDeposit:m}},n),children:[(0,V.jsx)("span",{className:"wp-tag-label",children:"Withdraw"}),(0,V.jsx)(Bt,{size:12,className:"wp-tag-icon"})]}),(0,V.jsxs)("a",{className:"wp-tag wp-tag--mint","data-disabled":!O||void 0,"aria-disabled":!O||void 0,href:O?x:void 0,target:O?"_blank":void 0,rel:O?"noopener noreferrer":void 0,onClick:Y=>{if(!O){Y.preventDefault();return}Ze(Y,x,{category:"portfolio",origin:"portfolio-rewards",payload:{pool:f,userDeposit:m}},n)},children:[(0,V.jsx)("span",{className:"wp-tag-label",children:"Claim"}),(0,V.jsx)(Bt,{size:12,className:"wp-tag-icon"})]})]})]},f.pool_address)})})}var br=z(require("react"),1);var Ea=require("@tanstack/react-query");var uc="wp:stake-info";function Aa(e,t,n=!0){let o=hn[e],r=n&&!!t,{data:a,...i}=(0,Ea.useQuery)({queryKey:[uc,e,t],queryFn:async({signal:p})=>{let c=await fetch(`${o}/stake/${t}`,{cache:"no-store",signal:p});if(!c.ok)throw new Error(`Stake info fetch failed: ${c.status}`);let f=await c.json();if(f.code!==0&&f.code!==200)throw new Error(`Stake info API error: ${f.code}`);return f},enabled:r,staleTime:0});return{stakeInfo:a?.data,...i}}var Pa=require("@tanstack/react-query");var mc="wp:stake-rewards",gc=31;function Ba(e,t,n=!0){let o=hn[e],r=n&&!!t,{data:a,...i}=(0,Pa.useQuery)({queryKey:[mc,e,t],queryFn:async({signal:l})=>{let p=await fetch(`${o}/rewards/${t}?limit=${gc}`,{cache:"no-store",signal:l});if(!p.ok)throw new Error(`Stake rewards fetch failed: ${p.status}`);let c=await p.json();if(c.code!==0&&c.code!==200)throw new Error(`Stake rewards API error: ${c.code}`);return c.data?.data??[]},enabled:r,staleTime:0});return{latestReward:a?.[0]??null,aprAccrued:ga(a),...i}}var Fa=require("@tanstack/react-query");var hc="wp:network-stats";function Ma(e,t=!0){let n=hn[e],{data:o,...r}=(0,Fa.useQuery)({queryKey:[hc,e],queryFn:async({signal:i})=>{let l=await fetch(`${n}/network/stats`,{cache:"no-store",signal:i});if(!l.ok)throw new Error(`Network stats fetch failed: ${l.status}`);let p=await l.json();if(p.code!==0&&p.code!==200)throw new Error(`Network stats API error: ${p.code}`);return p},enabled:t,staleTime:0});return{networkStats:o?.data,...r}}var _a=require("@tanstack/react-query"),bc="wp:staking-onchain";function Oa(e,t,n=!0){let o=n&&!!t&&!!e,{data:r,...a}=(0,_a.useQuery)({queryKey:[bc,e],queryFn:async()=>{if(!t)throw new Error("stakingRewardsReader not provided");return t(e)},enabled:o,staleTime:0});return{onchain:r,...a}}var hr=require("react"),Da=z(require("bignumber.js"),1);function za(e){return e?.trim().toUpperCase()==="CROSS"}function Wa(e){return new Da.default(e||"0").isGreaterThan(0)}function No(e,t,n=!0){let{allPools:o}=Co(e,n),r=(0,hr.useMemo)(()=>{for(let c of o)for(let f of[c.deposit_token,...c.reward_tokens])if(za(f?.symbol)&&Wa(f.price))return f.price},[o]),a=n&&r===void 0,{tokens:i}=At(e,t,a),{statsMap:l}=Pt(e,a),p=Me[e].cross;return(0,hr.useMemo)(()=>{if(r)return r;let c=i.find(f=>f.chainId===p&&za(f.symbol));if(c){let f=l.get(ut(c.chainId,c.address));if(f&&Wa(f.price))return f.price}return"0"},[r,i,l,p])}var Ft=z(require("bignumber.js"),1),J=require("react/jsx-runtime"),wc="CROSS Staking";function Ha(e){if(!e)return"\u2014";let t=new Ft.default(e);return t.isFinite()?`${t.toFormat(2,Ft.default.ROUND_DOWN)}%`:"\u2014"}function Ga(){let{env:e,walletAddress:t,onOutlink:n,stakingRewardsReader:o}=rt(),r=!!t,{stakeInfo:a}=Aa(e,t,r),{latestReward:i,aprAccrued:l}=Ba(e,t,r),{networkStats:p}=Ma(e,r),{onchain:c}=Oa(t,o,r),f=No(e,t,r),m=`${Ut[e]}/cross-staking.png`,h=xa[e],g=a?.total_stake??"0",v=br.useMemo(()=>c?new Ft.default(c.earnedWei.toString()).shiftedBy(-18).toString(10):i?.cumulative_earned??a?.rewards_earned??"0",[c,i,a]),x=br.useMemo(()=>c?new Ft.default(c.stakedWei.toString()).shiftedBy(-18):new Ft.default(g),[c,g]),w=l!==void 0?new Ft.default(l):void 0,y=a?.days_since_first_stake,A=w!==void 0&&w.isFinite()&&x.isGreaterThan(0)&&y!==null&&y!==void 0?w.div(x).times(365).div(Math.max(1,y)).times(100):void 0,u=!(new Ft.default(g).isZero()&&new Ft.default(v).isZero()),T=En[e],S=gn(g,0,f),P=gn(v,0,f);return(0,J.jsx)(jt,{title:wc,icon:m,iconFit:"contain",isEmpty:!1,children:(0,J.jsxs)("article",{className:"wp-item","data-side":"stake",children:[(0,J.jsx)("div",{className:"wp-item-body",children:u?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)("div",{className:"wp-item-line",children:[(0,J.jsx)("span",{className:"wp-item-label",children:"Staked"}),(0,J.jsxs)("div",{className:"wp-svc-amount",children:[(0,J.jsxs)("span",{className:"wp-svc-amount-main",children:[mr(g)," CROSS"]}),S&&(0,J.jsx)("span",{className:"wp-item-usd",children:S})]})]}),(0,J.jsxs)("div",{className:"wp-item-line",children:[(0,J.jsx)("span",{className:"wp-item-label",children:"Rewards Earned"}),(0,J.jsxs)("div",{className:"wp-svc-amount",children:[(0,J.jsxs)("span",{className:"wp-svc-amount-main",children:[mr(v)," CROSS"]}),P&&(0,J.jsx)("span",{className:"wp-item-usd",children:P})]})]}),(0,J.jsxs)("div",{className:"wp-item-line",children:[(0,J.jsx)("span",{className:"wp-item-label",children:"My APR"}),(0,J.jsx)("span",{children:Ha(A?.toString(10))})]})]}):(0,J.jsxs)("div",{className:"wp-item-line",children:[(0,J.jsx)("span",{className:"wp-item-label",children:"Delegation APR"}),(0,J.jsx)("span",{children:Ha(p?.apr)})]})}),(0,J.jsx)("div",{className:"wp-item-tags",children:(0,J.jsxs)("a",{className:"wp-tag wp-tag--mint",href:u?h:T,target:"_blank",rel:"noopener noreferrer",onClick:B=>Ze(B,u?h:T,{category:"portfolio",origin:"portfolio-stake",payload:{stakeInfo:a,networkStats:p}},n),children:[(0,J.jsx)("span",{className:"wp-tag-label",children:u?"Manage":"Stake Now"}),(0,J.jsx)(Bt,{size:12,className:"wp-tag-icon"})]})})]})})}var wr=z(require("react"),1);var Ua=require("@tanstack/react-query");var xc="wp:game-swap-pools";function $a(e,t,n=!0){let o=va[e],r=n&&!!t,{data:a,...i}=(0,Ua.useQuery)({queryKey:[xc,e,t],queryFn:async({signal:l})=>{let p=await fetch(`${o}/addresses/${t}/portfolio`,{cache:"no-store",signal:l});if(!p.ok)throw new Error(`Game-swap portfolio fetch failed: ${p.status}`);return(await p.json()).pools??[]},enabled:r,staleTime:0});return{pools:a??[],...i}}var ja=require("@tanstack/react-query"),vc="wp:game-swap-lp-balances";function Va(e,t,n,o){let r=[...n].map(p=>p.toLowerCase()).sort(),a=!!o&&!!t&&r.length>0,{data:i,...l}=(0,ja.useQuery)({queryKey:[vc,e,t,r],queryFn:async()=>{if(!o)return{};let p=await o(r),c={};for(let[f,m]of Object.entries(p))c[f.toLowerCase()]=m;return c},enabled:a,staleTime:0});return{balances:i??{},...l}}var gt=z(require("bignumber.js"),1),oe=require("react/jsx-runtime"),yc="Game Swap LP",Ka=18,kc=new gt.default("0.0001");function qa(e){return e?.trim().toUpperCase()==="CROSS"}function Sc(e){return e&&e>0?e:Ka}function Cc(e){let t=qa(e.token_a?.symbol)&&!qa(e.token_b?.symbol),n=t?e.reserve_a:e.reserve_b,o=Sc(t?e.token_a?.decimals:e.token_b?.decimals),r=new gt.default(n||"0").shiftedBy(-o);return!r.isFinite()||r.isLessThanOrEqualTo(0)?new gt.default(0):r.times(2)}function Rc(e,t){let n=e.token_a?.symbol?.trim()||"TOKEN",o=e.token_b?.symbol?.trim()||"CROSS",r=t?.decimals??Ka,a,i;if(t&&t.totalSupply&&t.totalSupply>BigInt(0)){let l=new gt.default(t.balance.toString()),p=new gt.default(t.totalSupply.toString()),c=l.div(p);a=c.times(100);let f=c.times(Cc(e));if(f.isGreaterThan(0)){let m=new gt.default(e.cross_usd||"0");i=m.isGreaterThan(0)?`$${f.times(m).toFormat(2,gt.default.ROUND_DOWN)}`:`${f.toFormat(4,gt.default.ROUND_DOWN)} CROSS`}}return{pool:e,tokenASymbol:n,tokenBSymbol:o,info:t,lpAmountRaw:t?.balance.toString(),lpDecimals:r,sharePercent:a,valueText:i}}function Qa(){let{env:e,walletAddress:t,onOutlink:n,lpBalanceReader:o}=rt(),r=!!t,{pools:a}=$a(e,t,r),i=wr.useMemo(()=>a.map(h=>h.pair_address).filter(Boolean),[a]),{balances:l}=Va(e,t,i,o),p=`${Ut[e]}/dex.png`,c=!!o,f=wr.useMemo(()=>{let h=a.map(g=>Rc(g,l[g.pair_address?.toLowerCase()]));return c?h.filter(g=>g.lpAmountRaw?new gt.default(g.lpAmountRaw).shiftedBy(-g.lpDecimals).isGreaterThanOrEqualTo(kc):!1):h},[a,l,c]),m=h=>{let g=h.token_a?.address??h.pair_address;return`${ya[e]}/tokens/${g}?trade=deposit`};return(0,oe.jsx)(jt,{title:yc,icon:p,iconFit:"contain",isEmpty:f.length===0,children:f.map(h=>{let{pool:g}=h,v=m(g),x=`${h.tokenASymbol} / ${h.tokenBSymbol}`,w=g.token_a?.logo_url,y=g.token_b?.logo_url;return(0,oe.jsxs)("article",{className:"wp-item","data-side":"game-swap",children:[(0,oe.jsxs)("div",{className:"wp-item-body",children:[(0,oe.jsxs)("div",{className:"wp-item-line",children:[(0,oe.jsx)("span",{className:"wp-item-label",children:"Pool"}),(0,oe.jsxs)("div",{className:"wp-svc-token",children:[(0,oe.jsxs)("span",{className:"wp-token-stack","aria-hidden":!0,children:[w&&(0,oe.jsx)("img",{className:"wp-svc-token-icon",src:w,alt:""}),y&&(0,oe.jsx)("img",{className:"wp-svc-token-icon",src:y,alt:""})]}),(0,oe.jsx)("span",{children:x})]})]}),h.lpAmountRaw!==void 0&&(0,oe.jsxs)("div",{className:"wp-item-line",children:[(0,oe.jsx)("span",{className:"wp-item-label",children:"My LP"}),(0,oe.jsxs)("span",{children:[mn(h.lpAmountRaw,h.lpDecimals)," LP"]})]}),h.sharePercent!==void 0&&(0,oe.jsxs)("div",{className:"wp-item-line",children:[(0,oe.jsx)("span",{className:"wp-item-label",children:"Pool Share"}),(0,oe.jsxs)("span",{children:[h.sharePercent.toFormat(2,gt.default.ROUND_DOWN),"%"]})]}),h.valueText!==void 0&&(0,oe.jsxs)("div",{className:"wp-item-line",children:[(0,oe.jsx)("span",{className:"wp-item-label",children:"Value"}),(0,oe.jsx)("span",{children:h.valueText})]})]}),(0,oe.jsx)("div",{className:"wp-item-tags",children:(0,oe.jsxs)("a",{className:"wp-tag wp-tag--mint",href:v,target:"_blank",rel:"noopener noreferrer",onClick:A=>Ze(A,v,{category:"portfolio",origin:"portfolio-game-swap",payload:{pool:g}},n),children:[(0,oe.jsx)("span",{className:"wp-tag-label",children:"Manage"}),(0,oe.jsx)(Bt,{size:12,className:"wp-tag-icon"})]})})]},g.pair_address)})})}var Mt=z(require("bignumber.js"),1),ts=require("react");var Ya=require("@tanstack/react-query");var Nc="wp:forge-pools";function Za(e,t,n=!0){let o=So[e],r=n&&!!t,{data:a,...i}=(0,Ya.useQuery)({queryKey:[Nc,e,t],queryFn:async()=>{let p=await fetch(`${o}/v1/users/${t}/pools`,{cache:"no-store"});if(!p.ok)throw new Error(`forge pools fetch failed: ${p.status}`);return(await p.json()).data?.items??[]},enabled:r,staleTime:0}),l=a??[];return{pools:l,isEmpty:l.length===0,...i}}var Xa=require("@tanstack/react-query"),Ja=require("react");var Tc="wp:forge-token-detail";async function Ic(e,t){let n=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store"});return n.ok?(await n.json())?.data?.token??null:null}function es(e,t,n=!0){let o=So[e],r=(0,Xa.useQueries)({queries:t.map(l=>({queryKey:[Tc,e,l],queryFn:()=>Ic(o,l),enabled:n&&!!l,staleTime:3e4}))}),a=(0,Ja.useMemo)(()=>{let l=new Map;for(let p=0;p<r.length;p++){let c=r[p]?.data,f=t[p];c&&f&&l.set(f.toLowerCase(),c)}return l},[r,t]),i=r.some(l=>l.isLoading);return{detailMap:a,isLoading:i}}var ae=require("react/jsx-runtime"),Lc="Forge",ns=18,Ec="https://contents.crosstoken.io/wallet/token/images/FT.png";function Ac(e){if(!e||e==="0")return"0";let t=new Mt.default(e).shiftedBy(-ns);return t.isZero()?"0":t.isGreaterThanOrEqualTo(1)?t.toFormat(2,Mt.default.ROUND_DOWN):t.toFormat(4,Mt.default.ROUND_DOWN)}function Pc(e){let t=Number(e);return!Number.isFinite(t)||t<=0?"0%":t>=1?`${(Math.floor(t*100)/100).toFixed(2)}%`:`${(Math.floor(t*1e4)/1e4).toFixed(4)}%`}function Bc(e,t,n){let o=new Mt.default(n||"0");if(!o.isGreaterThan(0))return null;let r=new Mt.default(e.total_supply||"0"),a=new Mt.default(e.lp_balance||"0"),i=new Mt.default(t?.reserve_b||"0").shiftedBy(-ns);if(!r.isGreaterThan(0)||!a.isGreaterThan(0)||!i.isGreaterThan(0))return null;let l=i.times(2),c=a.div(r).times(l).times(o);return c.isFinite()?`$${c.toFormat(2,Mt.default.ROUND_DOWN)}`:null}function os(){let{env:e,walletAddress:t,onOutlink:n}=rt(),o=!!t,{pools:r,isEmpty:a}=Za(e,t,o),i=(0,ts.useMemo)(()=>r.map(m=>m.token.address),[r]),{detailMap:l}=es(e,i,o&&i.length>0),p=No(e,t,o),c=m=>`${wa[e]}/forge/token/${m.token.address}`,f=`${Ut[e]}/forge.png`;return(0,ae.jsx)(jt,{title:Lc,icon:f,iconFit:"contain",isEmpty:a,children:r.map(m=>{let h=l.get(m.token.address.toLowerCase()),g=h?.image_url||h?.image||m.token.image||Ec,v=h?.symbol||m.token.symbol,x=c(m),w=Bc(m,h,p);return(0,ae.jsxs)("a",{className:"wp-item","data-side":"lp",href:x,target:"_blank",rel:"noopener noreferrer",onClick:y=>Ze(y,x,{category:"portfolio",origin:"portfolio-forge",payload:{pool:m,tokenDetail:h}},n),children:[(0,ae.jsxs)("div",{className:"wp-item-body",children:[(0,ae.jsxs)("div",{className:"wp-item-line",children:[(0,ae.jsx)("span",{className:"wp-item-label",children:"Asset"}),(0,ae.jsxs)("div",{className:"wp-svc-token",children:[(0,ae.jsx)("img",{className:"wp-svc-token-icon",src:g,alt:""}),(0,ae.jsx)("span",{children:v}),h?.name&&(0,ae.jsx)("span",{className:"wp-token-subtle",children:h.name})]})]}),(0,ae.jsxs)("div",{className:"wp-item-line",children:[(0,ae.jsx)("span",{className:"wp-item-label",children:"LP Balance"}),(0,ae.jsx)("div",{className:"wp-svc-token",children:(0,ae.jsxs)("div",{className:"wp-svc-amount",children:[(0,ae.jsx)("span",{className:"wp-svc-amount-main",children:Ac(m.lp_balance)}),w&&(0,ae.jsx)("span",{className:"wp-item-usd",children:w})]})})]}),(0,ae.jsxs)("div",{className:"wp-item-line",children:[(0,ae.jsx)("span",{className:"wp-item-label",children:"Ownership"}),(0,ae.jsx)("span",{className:"wp-line-value",children:Pc(m.pool_ownership)})]})]}),(0,ae.jsx)("div",{className:"wp-item-tags",children:(0,ae.jsxs)("span",{className:"wp-tag wp-tag--muted",children:[(0,ae.jsx)("span",{className:"wp-tag-label",children:"Withdraw"}),(0,ae.jsx)(Bt,{size:12,className:"wp-tag-icon"})]})})]},m.pair_address)})})}W(`.wp-fullscreen[data-theme=dark],.wp-embed[data-theme=dark]{--wp-bg: var(--ds-bg-default, #202530);--wp-header-bg: var(--ds-surface-default, #252b39);--wp-card: var(--ds-surface-medium, #252b39);--wp-control: #292f40;--wp-border: var(--ds-border-default, #292f40);--wp-panel-border: var(--ds-border-medium, rgba(255, 255, 255, .18));--wp-panel-shadow: 0px 4px 30px -1px rgba(0, 0, 0, .28);--wp-text: var(--ds-content-highest, #ffffff);--wp-text-60: var(--ds-content-high, rgba(255, 255, 255, .85));--wp-text-40: var(--ds-content-medium, rgba(255, 255, 255, .65));--wp-text-30: var(--ds-content-low, rgba(255, 255, 255, .4));--wp-chrome-text: #ffffff;--wp-tooltip-bg: #151a23;--wp-tooltip-text: #ffffff;--wp-mint: var(--ds-accent-primary-default, #00a0a2);--wp-green: var(--ds-accent-primary-default, #00a0a2);--wp-accent-soft: var(--ds-accent-primary-low, rgba(0, 160, 162, .14));--wp-red: var(--ds-system-red-default, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00;--wp-claim-primary: #9b8cef;--wp-claim-primary-text: #202530;--wp-claim-secondary-bg: var(--wp-control);--wp-claim-success: #00d4aa;--wp-claim-success-soft: rgba(0, 212, 170, .18);--wp-claim-error: #ff3aa3;--wp-claim-error-soft: rgba(255, 58, 163, .16)}.wp-fullscreen[data-theme=light],.wp-embed[data-theme=light]{--wp-bg: var(--ds-bg-dim, #f5f7fa);--wp-header-bg: var(--ds-surface-default, #ffffff);--wp-card: var(--ds-surface-default, #ffffff);--wp-control: var(--ds-surface-medium, #f5f7fa);--wp-border: var(--ds-border-default, rgba(0, 0, 0, .07));--wp-panel-border: var(--ds-border-medium, rgba(0, 0, 0, .18));--wp-panel-shadow: 0px 4px 30px -1px rgba(0, 0, 0, .15);--wp-text: var(--ds-content-highest, #000000);--wp-text-60: var(--ds-content-high, rgba(0, 0, 0, .85));--wp-text-40: var(--ds-content-medium, rgba(0, 0, 0, .65));--wp-text-30: var(--ds-content-low, rgba(0, 0, 0, .4));--wp-chrome-text: var(--ds-content-high, rgba(0, 0, 0, .85));--wp-card-shadow: none;--wp-tooltip-bg: #192023;--wp-tooltip-text: #ffffff;--wp-mint: var(--ds-accent-primary-default, #00a0a2);--wp-green: var(--ds-accent-primary-default, #00a0a2);--wp-accent-soft: var(--ds-accent-primary-low, #e7f9f8);--wp-red: var(--ds-system-red-default, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00;--wp-claim-primary: #7346f3;--wp-claim-primary-text: #ffffff;--wp-claim-secondary-bg: #ffffff;--wp-claim-success: #019d92;--wp-claim-success-soft: rgba(1, 157, 146, .15);--wp-claim-error: #e70077;--wp-claim-error-soft: rgba(231, 0, 119, .12)}.wp-fullscreen{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;z-index:50;background:var(--wp-bg);display:flex;flex-direction:column;overflow:hidden;font-family:inherit;font-feature-settings:"calt" 0,"lnum" 1,"pnum" 1;box-sizing:border-box;-webkit-font-smoothing:antialiased;color:var(--wp-chrome-text)}.wp-embed{width:100%;height:100%;min-height:0;background:var(--wp-bg);display:flex;flex-direction:column;overflow:hidden;position:relative;font-family:inherit;font-feature-settings:"calt" 0,"lnum" 1,"pnum" 1;box-sizing:border-box;-webkit-font-smoothing:antialiased;color:var(--wp-chrome-text)}.wp-overlay{position:fixed;inset:0;z-index:49;background:#0009}.wp-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:73px;padding:24px;position:relative;border-bottom:1px solid var(--wp-border);background:var(--wp-header-bg);color:var(--wp-chrome-text);flex-shrink:0;box-sizing:border-box}.wp-fullscreen .wp-header{height:60px;min-height:60px;padding:11px 20px;border-bottom:none}.wp-header-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--ds-content-low, rgba(0, 0, 0, .4));flex-shrink:0;transition:color .15s ease}.wp-header-btn:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wp-header-edge{display:flex;align-items:center;width:24px;min-width:24px}.wp-header-edge--right{justify-content:flex-end}.wp-header-edge--right .wp-header-btn{position:absolute;top:24px;right:24px}.wp-header-spacer{display:block;width:24px;height:24px}.wp-header-avatar{width:38px;height:38px;flex-shrink:0;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--wp-header-avatar-bg)}.wp-header-avatar-img{width:30px;height:30px;object-fit:cover;display:block}.wp-fullscreen[data-theme=dark] .wp-header-avatar,.wp-embed[data-theme=dark] .wp-header-avatar{--wp-header-avatar-bg: hsl(221.3 24.6% 25.5%)}.wp-fullscreen[data-theme=light] .wp-header-avatar,.wp-embed[data-theme=light] .wp-header-avatar{--wp-header-avatar-bg: rgba(18, 18, 18, .1)}.wp-refresh-btn{position:relative}.wp-refresh-badge{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--wp-mint);color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center}.wp-spin-once{animation:wp-spin-once .6s ease-in-out}@keyframes wp-spin-once{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wp-header-title{flex:1;font-family:inherit;font-size:18px;font-weight:600;line-height:1.5;letter-spacing:-.01em;text-align:center;color:var(--ds-content-highest, #000000);margin:0}.wp-header-account{flex:1;display:flex;align-items:center;gap:12px;min-width:0}.wp-header-account-meta{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:2px}.wp-header-wallet-name{min-width:0;font-family:inherit;font-size:15px;font-weight:600;line-height:1.4;letter-spacing:0;color:var(--wp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-header-address-btn{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;max-width:100%;padding:0;border:0;background:transparent;cursor:pointer;font:inherit}.wp-header-address{min-width:0;font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;color:var(--wp-text-40);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-header-address-copy{display:inline-flex;align-items:center;flex-shrink:0;color:var(--wp-text-40);transition:color .15s ease}.wp-header-address-btn:hover .wp-header-address-copy{color:var(--wp-text-60)}.wp-header-address-copy[data-copied=true]{color:var(--wp-mint)}.wp-top{flex-shrink:0;padding:0 16px 16px;display:flex;flex-direction:column;gap:16px}.wp-identity{display:flex;flex-direction:column;gap:8px}.wp-address{display:inline-flex;align-items:center;gap:8px}.wp-address-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-address-chevron{display:inline-flex;align-items:center;color:var(--wp-text-40)}.wp-total{font-size:28px;font-weight:600;line-height:1.3;color:var(--wp-text);margin:0}.wp-asset{display:flex;flex-direction:column;gap:8px}.wp-asset-head{display:flex;align-items:center;gap:4px}.wp-asset-head-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-asset-head-icon{display:inline-flex;color:var(--wp-text-40)}.wp-bar{display:flex;height:20px;border-radius:4px;overflow:hidden}.wp-bar-seg{display:flex;align-items:center;justify-content:center;min-width:8px}.wp-bar-seg-pct{font-size:10px;font-weight:400;line-height:1.3;color:#fff;white-space:nowrap}.wp-legend{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.wp-legend-item{display:flex;align-items:center;gap:4px}.wp-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.wp-legend-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-tabs{flex-shrink:0;padding:8px 16px}.wp-tabs-inner{display:flex;align-items:center;padding:0 2px}.wp-tabs-list{display:flex;gap:20px;flex:1}.wp-tab{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:44px;padding-top:12px;background:transparent;border:none;cursor:pointer}.wp-tab-text{font-size:14px;font-weight:600;line-height:1.4;color:var(--wp-text-30);white-space:nowrap}.wp-tab[data-active=true] .wp-tab-text{color:var(--wp-mint)}.wp-tab-bar{width:20px;height:4px;border-radius:2px;background:var(--wp-mint);opacity:0}.wp-tab[data-active=true] .wp-tab-bar{opacity:1}.wp-tabs-filter-wrap{position:relative;display:flex;align-items:center;width:44px;height:44px;flex-shrink:0}.wp-tabs-filter-grad{position:absolute;inset:0;background:linear-gradient(to left,var(--wp-bg) 74%,transparent);pointer-events:none}.wp-tabs-filter{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--wp-text-40)}.wp-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--wp-border) transparent}.wp-body::-webkit-scrollbar{width:4px}.wp-body::-webkit-scrollbar-track{background:transparent}.wp-body::-webkit-scrollbar-thumb{background:var(--wp-border);border-radius:4px}.wp-body-inner{padding:16px 16px 32px;display:flex;flex-direction:column;gap:32px}.wp-summary-card{display:flex;flex-direction:column;gap:8px;width:100%;padding:0;border-radius:0;background:transparent;box-shadow:none;box-sizing:border-box}.wp-summary-head{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:4px}.wp-summary-label{font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0;color:var(--wp-text-40);white-space:nowrap}.wp-address{display:inline-flex;align-items:center;gap:8px;min-width:0}.wp-address-avatar{width:16px;height:16px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 68% 34%,#ff78d1 0 18%,transparent 19%),radial-gradient(circle at 34% 66%,#00d4aa 0 20%,transparent 21%),linear-gradient(135deg,#7346f3,#0488fc)}.wp-address-label{font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;color:var(--wp-text-40);white-space:nowrap}.wp-address-chevron{display:inline-flex;align-items:center;color:var(--wp-text-40);flex-shrink:0}.wp-summary-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:#019d921a;color:var(--wp-mint);font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;white-space:nowrap}.wp-summary-estimate{position:relative;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.wp-estimate-info{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--wp-text-40);cursor:help}.wp-estimate-tooltip{position:absolute;top:calc(100% + 8px);left:0;right:auto;z-index:3;display:flex;flex-direction:column;gap:8px;width:min(280px,calc(100vw - 48px));padding:12px;border-radius:8px;background:var(--wp-tooltip-bg);box-shadow:0 12px 32px #0000003d;color:var(--wp-tooltip-text);font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-4px);visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility .15s ease}.wp-estimate-tooltip-title{display:block;font-size:12px;font-weight:600;line-height:1.3}.wp-estimate-tooltip-group{display:flex;flex-direction:column;gap:4px}.wp-estimate-tooltip-item{display:block;color:#ffffffc7}.wp-estimate-tooltip-item:before{content:"- "}.wp-estimate-info:hover .wp-estimate-tooltip,.wp-estimate-info:focus .wp-estimate-tooltip,.wp-estimate-info:focus-visible .wp-estimate-tooltip{opacity:1;transform:translateY(0);visibility:visible}.wp-total{font-family:var( --wp-total-font-family, Sora, Inter, system-ui, -apple-system, sans-serif );font-size:36px;font-weight:600;line-height:1.25;letter-spacing:0;color:var(--wp-text);margin:0}.wp-svc-card{display:flex;flex-direction:column;gap:12px;width:100%}.wp-svc-card-head{display:flex;align-items:center;gap:6px}.wp-svc-card-icon{width:24px;height:24px;border-radius:4px;flex-shrink:0;object-fit:cover}.wp-svc-card-title{font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0;color:var(--wp-text-60);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-svc-items{display:flex;flex-direction:column;gap:8px;width:100%;padding:0;border-radius:0;background:transparent;box-shadow:none;box-sizing:border-box}.wp-item{position:relative;display:flex;flex-direction:column;gap:20px;width:100%;padding:12px;border-radius:12px;background:var(--wp-card);box-shadow:var(--wp-card-shadow, none);box-sizing:border-box;color:inherit;text-decoration:none;cursor:pointer;outline:none;transition:opacity .15s ease}.wp-item+.wp-item{padding-top:12px;border-top:0}.wp-item:hover{opacity:.88}.wp-item-body{display:flex;flex-direction:column;gap:12px;min-width:0}.wp-order-head{display:flex;align-items:center;width:100%}.wp-item-line{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:21px;min-width:0}.wp-item-label{flex-shrink:0;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--wp-text-30);white-space:nowrap}.wp-line-value,.wp-order-side{min-width:0;overflow:hidden;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--wp-text-60);text-align:right;text-overflow:ellipsis;white-space:nowrap}.wp-order-side--buy{color:var(--wp-mint)}.wp-order-side--sell{color:var(--wp-red)}.wp-svc-token{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;min-height:21px}.wp-svc-token>span{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--wp-text-60);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-svc-token-icon{width:16px;height:16px;border-radius:50%;flex-shrink:0;object-fit:cover}.wp-token-stack{display:inline-flex;align-items:center;justify-content:flex-end;width:29px;min-width:29px;overflow:visible}.wp-token-stack .wp-svc-token-icon+.wp-svc-token-icon{margin-left:-3.5px}.wp-token-subtle,.wp-item-usd{color:var(--wp-text-30)!important}.wp-svc-amount{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:1px;min-width:0}.wp-svc-amount-main{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--wp-text-60);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.wp-svc-amount .wp-item-usd{font-size:12px;font-weight:500;line-height:1.35}.wp-order-token{display:flex;align-items:center;gap:8px;min-width:0}.wp-order-token .wp-svc-token-icon{width:32px;height:32px}.wp-order-token-meta{display:flex;min-width:0;flex-direction:column;justify-content:center}.wp-order-token-symbol{overflow:hidden;color:var(--wp-text-60);font-size:14px;font-weight:500;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.wp-order-token-pair{overflow:hidden;color:var(--wp-text-30);font-size:12px;font-weight:500;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.wp-item-tags{display:flex;align-items:stretch;gap:8px;width:100%}.wp-tag{appearance:none;display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;gap:0;min-width:0;min-height:33px;padding:6px 10px;border-radius:6px;border:0;background:var(--wp-control);font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:0;color:var(--wp-text-40);text-align:center;text-decoration:none;white-space:nowrap;box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}a.wp-tag,button.wp-tag{cursor:pointer}.wp-tag:hover{background:var(--wp-control);transform:none}.wp-tag:focus-visible{outline:2px solid var(--wp-mint);outline-offset:2px}.wp-tag[aria-disabled=true],.wp-tag[data-disabled]{cursor:default;opacity:.48;pointer-events:none}.wp-tag-label{display:inline-flex;align-items:center}.wp-tag-icon{display:none}.wp-tag:hover .wp-tag-icon{transform:none}.wp-tag--mint{color:var(--wp-mint);background:var(--wp-accent-soft)}.wp-tag--mint:hover{background:var(--wp-accent-soft)}.wp-tag--muted{color:var(--wp-text-40)}.wp-svc-empty{display:flex;align-items:center;justify-content:center;min-height:74px;padding:20px 16px;background:var(--wp-card);border-radius:12px;box-shadow:var(--wp-card-shadow, none);font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0;color:var(--wp-text-30);box-sizing:border-box}.wp-claim-overlay{position:absolute;inset:0;z-index:8;display:flex;align-items:flex-end;justify-content:center;background:#00000094;box-sizing:border-box}.wp-claim-sheet{display:flex;flex-direction:column;width:100%;max-width:375px;max-height:calc(100% - 24px);overflow:hidden;border-radius:24px 24px 0 0;background:var(--wp-bg);color:var(--wp-text);box-shadow:0 -18px 48px #00000042;animation:wp-claim-slide-up .22s ease-out}@keyframes wp-claim-slide-up{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.wp-claim-grabber{display:flex;align-items:flex-start;justify-content:center;height:38px;min-height:38px;padding-top:12px;box-sizing:border-box}.wp-claim-grabber span{display:block;width:52px;height:5px;border-radius:999px;background:var(--wp-control)}.wp-claim-content{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;padding:20px;box-sizing:border-box}.wp-claim-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;flex-shrink:0}.wp-claim-icon--success{background:var(--wp-claim-success-soft);color:var(--wp-claim-success)}.wp-claim-icon--pending{background:#9b8cef29;color:var(--wp-claim-primary)}.wp-claim-icon--error{background:var(--wp-claim-error-soft);color:var(--wp-claim-error);font-size:30px;font-weight:600;line-height:1}.wp-claim-icon--token{background:#00d4aa29}.wp-claim-icon--token img{width:48px;height:48px;border-radius:50%;object-fit:cover}.wp-claim-icon--token span{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--wp-mint);color:#101820;font-size:18px;font-weight:600}.wp-claim-spinner{width:36px;height:36px;border-radius:50%;border:3px solid rgba(155,140,239,.28);border-top-color:var(--wp-claim-primary);animation:wp-claim-spin .8s linear infinite}@keyframes wp-claim-spin{to{transform:rotate(360deg)}}.wp-claim-copy{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;text-align:center}.wp-claim-title{margin:0;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--wp-text)}.wp-claim-desc{max-width:335px;margin:0;font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0;color:var(--wp-text-40)}.wp-claim-heading{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%}.wp-claim-error-message{margin:0;color:var(--wp-claim-error);font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0}.wp-claim-reward-card{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:60px;padding:16px;border-radius:8px;background:var(--wp-card);box-sizing:border-box}.wp-claim-reward-token{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0;overflow:hidden;background:var(--wp-control)}.wp-claim-reward-token img{width:28px;height:28px;object-fit:cover}.wp-claim-reward-token span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--wp-mint);color:#101820;font-size:13px;font-weight:600;line-height:1}.wp-claim-reward-symbol{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--wp-text);font-size:18px;font-weight:600;line-height:1.3;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.wp-claim-reward-amount{flex-shrink:0;color:var(--wp-text);font-size:20px;font-weight:600;line-height:1.3;letter-spacing:0;white-space:nowrap}.wp-claim-account-card{display:flex;flex-direction:column;gap:12px;width:100%;padding:16px;border-radius:8px;background:var(--wp-card);box-sizing:border-box}.wp-claim-account-row{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;min-height:40px}.wp-claim-account-row>span{flex-shrink:0;color:var(--wp-text-40);font-size:14px;font-weight:400;line-height:1.3;letter-spacing:0;white-space:nowrap}.wp-claim-account{display:flex;align-items:center;gap:8px;min-width:0}.wp-claim-account strong{overflow:hidden;color:var(--wp-text);font-size:15px;font-weight:600;line-height:1.6;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.wp-claim-account-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 30% 28%,#d87aff 0 12%,transparent 13%),radial-gradient(circle at 68% 28%,#f0a1ff 0 12%,transparent 13%),radial-gradient(circle at 32% 70%,#b561e7 0 13%,transparent 14%),radial-gradient(circle at 70% 70%,#d4a2ff 0 13%,transparent 14%),radial-gradient(circle at 50% 50%,#8c4fc4 0 18%,transparent 19%),#4a315f;box-shadow:inset 0 0 0 3.37px var(--wp-control)}.wp-claim-divider{display:block;width:100%;height:1px;background:var(--wp-border)}.wp-claim-detail-list{display:flex;flex-direction:column;gap:8px;width:100%}.wp-claim-detail-row{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:20px}.wp-claim-detail-row>span{min-width:0;color:var(--wp-text-40);font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0;white-space:nowrap}.wp-claim-detail-row--sub>span:before{content:"";display:inline-block;width:3px;height:3px;margin:0 8px 3px;background:currentColor}.wp-claim-detail-row strong{min-width:0;overflow:hidden;color:var(--wp-text);font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0;text-align:right;text-overflow:ellipsis;white-space:nowrap}.wp-claim-list{display:flex;flex-direction:column;gap:8px;width:100%;padding-bottom:8px}.wp-claim-list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:8px 16px;border-radius:8px;background:var(--wp-card);box-sizing:border-box}.wp-claim-list-item>span{flex-shrink:0;font-size:14px;font-weight:400;line-height:1.3;color:var(--wp-text-40);white-space:nowrap}.wp-claim-list-item strong{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;overflow:hidden;color:var(--wp-text);font-size:14px;font-weight:400;line-height:1.3;text-align:right;text-overflow:ellipsis;white-space:nowrap}.wp-claim-list-item img{width:16px;height:16px;border-radius:50%;flex-shrink:0}.wp-claim-hash{appearance:none;display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;padding:0;border:none;background:transparent;color:var(--wp-text);cursor:pointer;font:inherit}.wp-claim-hash svg{flex-shrink:0;color:var(--wp-text-60)}.wp-claim-gas-card{display:flex;flex-direction:column;gap:4px;width:100%;padding:14px 16px;border-radius:8px;border:1px solid var(--wp-border);background:var(--wp-card);box-sizing:border-box}.wp-claim-gas-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:28px}.wp-claim-gas-row>span{min-width:0;font-size:12px;font-weight:400;line-height:1.3;color:var(--wp-text-40)}.wp-claim-gas-row strong{min-width:0;overflow:hidden;color:var(--wp-text);font-size:12px;font-weight:400;line-height:1.3;text-align:right;text-overflow:ellipsis;white-space:nowrap}.wp-claim-gas-row--primary{min-height:32px}.wp-claim-gas-row--primary>span,.wp-claim-gas-row--primary strong{font-size:14px;color:var(--wp-text)}.wp-claim-fee-label{position:relative;display:inline-flex;align-items:center;text-decoration:underline dotted;text-underline-offset:3px;cursor:help;overflow:visible!important}.wp-claim-fee-tooltip{position:absolute;left:0;bottom:calc(100% + 8px);z-index:2;width:min(260px,calc(100vw - 64px));padding:10px 12px;border-radius:8px;background:var(--wp-tooltip-bg);color:var(--wp-tooltip-text);box-shadow:0 12px 32px #0000003d;font-size:11px;font-weight:400;line-height:1.4;text-align:left;text-decoration:none;white-space:normal;opacity:0;pointer-events:none;transform:translateY(4px);visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility .15s ease}.wp-claim-fee-label:hover .wp-claim-fee-tooltip,.wp-claim-fee-label:focus .wp-claim-fee-tooltip,.wp-claim-fee-label:focus-visible .wp-claim-fee-tooltip{opacity:1;transform:translateY(0);visibility:visible}.wp-claim-actions{display:flex;align-items:center;gap:8px;width:100%}.wp-claim-primary,.wp-claim-secondary{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0;height:52px;padding:0 24px;border:none;border-radius:40px;font-family:inherit;font-size:15px;font-weight:600;line-height:1.3;letter-spacing:0;white-space:nowrap;cursor:pointer}.wp-claim-primary{background:var(--wp-claim-primary);color:var(--wp-claim-primary-text)}.wp-claim-primary:disabled{cursor:default;opacity:.72}.wp-claim-secondary{background:var(--wp-claim-secondary-bg, var(--wp-control));color:var(--wp-claim-primary)}.wp-claim-actions[data-count="2"] .wp-claim-primary{flex:1 1 0}.wp-claim-actions[data-count="2"] .wp-claim-secondary{flex:0 0 120px}.wp-claim-button-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(32,37,48,.28);border-top-color:var(--wp-claim-primary-text);animation:wp-claim-spin .8s linear infinite}.wp-claim-home-indicator{display:flex;align-items:flex-end;justify-content:center;height:34px;min-height:34px;padding-bottom:8px;box-sizing:border-box}.wp-claim-home-indicator span{display:block;width:134px;height:5px;border-radius:16px;background:var(--wp-text-40)}@media(max-width:359px){.wp-header{gap:12px;padding:0 12px}.wp-total{font-size:24px}.wp-body-inner{padding:0 12px 128px;gap:20px}.wp-svc-items,.wp-claim-content{padding:18px 14px}.wp-item-line{gap:10px}.wp-svc-token>span{max-width:168px}}.wp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.wi-drawer-content .wp-header,.wi-portfolio-body .wp-header{padding:16px}.wi-drawer-content .wp-header-edge--right .wp-header-btn,.wi-portfolio-body .wp-header-edge--right .wp-header-btn{top:16px;right:16px}
|
|
8
8
|
`);var ee=require("react/jsx-runtime"),xr=5,Fc="wp:";function on({env:e,theme:t="light",walletAddress:n,walletName:o,onBack:r,showHeader:a=!0,variant:i="embed",className:l,onOutlink:p,lpBalanceReader:c,stakingRewardsReader:f}){let m=Be(e),h=!!n,g=(0,rs.useQueryClient)(),[,v]=_e.useState(xr),[x,w]=_e.useState(!1),[y,A]=_e.useState(!1),u=_e.useRef(void 0),T=_e.useCallback(()=>{g.invalidateQueries({predicate:_=>typeof _.queryKey[0]=="string"&&_.queryKey[0].startsWith(Fc)})},[g]),S=_e.useCallback(()=>{T(),w(!0),setTimeout(()=>w(!1),600),v(xr)},[T]);_e.useEffect(()=>{if(!h)return;let _=setInterval(()=>{v(re=>re<=1?(S(),xr):re-1)},1e3);return()=>clearInterval(_)},[h,S]);let P=_e.useCallback(()=>{r?.()},[r]),B=h?Et(m,n,{size:64}):void 0,te=_e.useCallback(async()=>{if(!(y||!n))try{await navigator.clipboard.writeText(n),A(!0),clearTimeout(u.current),u.current=setTimeout(()=>A(!1),2e3)}catch{}},[n,y]);_e.useEffect(()=>()=>clearTimeout(u.current),[]);let O=_e.useMemo(()=>({env:m,theme:t,open:!0,walletAddress:n,close:P,onOutlink:p,lpBalanceReader:c,stakingRewardsReader:f}),[m,t,n,P,p,c,f]),Y=(0,ee.jsxs)(ee.Fragment,{children:[a&&(0,ee.jsxs)("div",{className:"wp-header",children:[(0,ee.jsxs)("div",{className:"wp-header-account",children:[r&&(0,ee.jsx)("button",{type:"button",className:"wp-header-btn","aria-label":"Back",onClick:r,children:(0,ee.jsx)(ua,{})}),(0,ee.jsx)("span",{className:"wp-header-avatar","aria-hidden":!0,children:B&&(0,ee.jsx)("img",{src:B,alt:"",className:"wp-header-avatar-img",draggable:!1})}),(o||n)&&(0,ee.jsxs)("div",{className:"wp-header-account-meta",children:[o&&(0,ee.jsx)("span",{className:"wp-header-wallet-name",title:o,children:o}),n&&(0,ee.jsxs)("button",{type:"button",className:"wp-header-address-btn",onClick:te,"aria-label":"Copy wallet address",children:[(0,ee.jsx)("span",{className:"wp-header-address",children:ha(n)}),(0,ee.jsx)("span",{className:"wp-header-address-copy","data-copied":y,children:y?(0,ee.jsx)(Zt,{size:14}):(0,ee.jsx)(Rn,{size:14})})]})]})]}),(0,ee.jsx)("button",{type:"button",className:"wp-header-btn wp-refresh-btn","aria-label":"Refresh portfolio",onClick:S,children:(0,ee.jsx)(ma,{className:x?"wp-spin-once":void 0})})]}),(0,ee.jsx)("div",{className:"wp-body",children:(0,ee.jsxs)("div",{className:"wp-body-inner",children:[(0,ee.jsx)(La,{}),(0,ee.jsx)(Ga,{}),(0,ee.jsx)(Qa,{}),(0,ee.jsx)(os,{})]})})]});return(0,ee.jsx)(Ln.Provider,{value:O,children:i==="none"?Y:(0,ee.jsx)("div",{className:ne(i==="fullscreen"?"wp-fullscreen":"wp-embed",l),"data-theme":t,children:Y})})}var rn=require("react/jsx-runtime");function is({className:e}){let{env:t,theme:n,walletAddress:o,close:r,onOutlink:a,lpBalanceReader:i,stakingRewardsReader:l}=rt();return(0,rn.jsxs)(An.Drawer.Portal,{children:[(0,rn.jsx)(An.Drawer.Overlay,{className:"wp-overlay"}),(0,rn.jsxs)(An.Drawer.Content,{className:ne("wp-fullscreen",e),"data-theme":n,children:[(0,rn.jsx)(An.Drawer.Title,{className:"wp-sr-only",children:"Portfolio"}),(0,rn.jsx)(on,{env:t,theme:n,walletAddress:o,onBack:r,variant:"none",onOutlink:a,lpBalanceReader:i,stakingRewardsReader:l})]})]})}var vr=require("react/jsx-runtime");function Mc({env:e,theme:t="light",walletAddress:n,open:o,onOpenChange:r,onOutlink:a,lpBalanceReader:i,stakingRewardsReader:l,children:p}){let c=Be(e),f=o!==void 0,[m,h]=an.useState(!1),g=f?o:m,v=an.useCallback(y=>{f||h(y),r?.(y)},[f,r]),x=an.useCallback(()=>v(!1),[v]),w=an.useMemo(()=>({env:c,theme:t,open:g,walletAddress:n,close:x,onOutlink:a,lpBalanceReader:i,stakingRewardsReader:l}),[c,t,g,n,x,a,i,l]);return(0,vr.jsx)(Ln.Provider,{value:w,children:(0,vr.jsx)(as.Drawer.Root,{direction:"bottom",open:g,onOpenChange:v,noBodyStyles:!0,children:p})})}var yr=Object.assign(Mc,{Trigger:fa,Content:is});var C=z(require("react"),1),sn=require("react-dom"),bt=z(require("bignumber.js"),1);var De=require("react/jsx-runtime");function ss({size:e=20,className:t}){return(0,De.jsxs)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,"aria-hidden":"true",children:[(0,De.jsx)("circle",{cx:"9",cy:"9",r:"6",stroke:"currentColor",strokeWidth:1.7}),(0,De.jsx)("path",{d:"m17 17-3.2-3.2",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round"})]})}function ls({size:e=16,className:t}){return(0,De.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,De.jsx)("path",{d:"M2.667 8a5.333 5.333 0 1 0 1.562-3.771L2.667 5.79M2.667 2.667v3.124h3.124M8 5.333V8l1.667 1",stroke:"currentColor",strokeWidth:1.333,strokeLinecap:"round",strokeLinejoin:"round"})})}function cs({size:e=16,className:t}){return(0,De.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,De.jsx)("path",{d:"M2.667 4h4M9.333 4h4M6.667 2.667v2.666M2.667 12h4M9.333 12h4M9.333 10.667v2.666M2.667 8h1.666M7 8h6.333M4.333 6.667v2.666",stroke:"currentColor",strokeWidth:1.333,strokeLinecap:"round",strokeLinejoin:"round"})})}function ds({size:e=20,className:t}){return(0,De.jsx)("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,De.jsx)("path",{d:"M10 4.167v11.666M4.167 10 10 15.833 15.833 10",stroke:"currentColor",strokeWidth:1.667,strokeLinecap:"round",strokeLinejoin:"round"})})}function ps({size:e=16,className:t}){return(0,De.jsx)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,"aria-hidden":"true",children:(0,De.jsx)("path",{d:"M3.333 8h9.334M8.667 4l4 4-4 4",stroke:"currentColor",strokeWidth:1.333,strokeLinecap:"round",strokeLinejoin:"round"})})}function fs({size:e=12,className:t}){return(0,De.jsx)("svg",{width:e,height:e,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,De.jsx)("path",{d:"M3.5 2 1.5 4l2 2M1.5 4h9M8.5 10l2-2-2-2M10.5 8h-9",stroke:"currentColor",strokeWidth:1.2,strokeLinecap:"round",strokeLinejoin:"round"})})}var N=z(require("react"),1);var kr=z(require("bignumber.js"),1);function us(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function ms(e){return!e.isFinite()||e.isNaN()||e.lte(0)?"":e.decimalPlaces(6,kr.default.ROUND_DOWN).toFixed()}function _c(e){return e.fromToken.symbol.toLowerCase()===e.toToken.symbol.toLowerCase()||e.fromToken.chainId===e.toToken.chainId&&e.fromToken.address.toLowerCase()===e.toToken.address.toLowerCase()}function Oc(e){let t=e.fromToken.priceUsd,n=e.toToken.priceUsd,o=e.lastChangedBy==="to"?e.toAmount:e.fromAmount,r=new kr.default(o||"0");return!r.isFinite()||r.isNaN()||r.lte(0)?{fromAmount:e.fromAmount,toAmount:e.toAmount}:us(t)&&us(n)?e.lastChangedBy==="to"?{fromAmount:ms(r.multipliedBy(n).dividedBy(t))}:{toAmount:ms(r.multipliedBy(t).dividedBy(n))}:_c(e)?e.lastChangedBy==="to"?{fromAmount:e.toAmount}:{toAmount:e.fromAmount}:{fromAmount:e.lastChangedBy==="to"?"":e.fromAmount,toAmount:e.lastChangedBy==="from"?"":e.toAmount}}function gs({getQuote:e,submitBridge:t}){return{canQuote:!!e,canSubmit:!!t,async getQuote(n){return e?e(n):Oc(n)},async submitBridge(n){if(!t)throw new Error("Bridge submit handler is not configured.");return t(n)}}}var hs=15,zc=18;function Wc(e){let t=e.replace(/[^\d.]/g,""),n=t.indexOf(".");n!==-1&&(t=t.slice(0,n+1)+t.slice(n+1).replace(/\./g,""));let o=t.indexOf(".");if(o===-1)return t.slice(0,hs);let r=t.slice(0,o).slice(0,hs),a=t.slice(o+1).slice(0,zc);return`${r}.${a}`}function Dc(e){let t=Number(e??"0");if(!Number.isFinite(t)||t<.1)return"1";let n=o=>Math.floor(o*100)/100;if(t<3){let o=n(t*3);return String(o<1?1:o)}return"10"}function bs(e){let t=e.toUpperCase();return t.startsWith("T")&&t.slice(1).startsWith("CROSS")?t.slice(1):t}function Hc(e,t){if(!e||!t||e.chainId!==t.chainId)return!1;let n=new Set([bs(e.symbol),bs(t.symbol)]);return n.has("CROSS")&&n.has("CROSSD")}function ht(e,t){return!!e&&!!t&&e.chainId===t.chainId&&e.address.toLowerCase()===t.address.toLowerCase()}function To(e){return e[0]}function Sr(e,t,n,o){if(n&&!ht(n,t))return n;let r=t?o?.(t,e):void 0;if(r?.length)return r[0];if(!t)return e[1]??To(e);let a=e.findIndex(l=>ht(l,t)),i=a>=0?e[a+1]:void 0;return i&&!ht(i,t)?i:e.find(l=>!ht(l,t))??t}function ws({fromToken:e,toToken:t,fromAmount:n,toAmount:o,lastChangedBy:r,slippage:a}){return{fromToken:e,toToken:t,fromAmount:n,toAmount:o,lastChangedBy:r,slippage:a}}function Cr(e){let t=e instanceof Error?e.message:typeof e=="string"?e:"",n=e&&typeof e=="object"&&"code"in e?String(e.code):"",o=t.toLowerCase();return n==="4001"||o.includes("user rejected")||o.includes("user denied")||o.includes("rejected the request")||o.includes("request rejected")}function xs(e,t){return Cr(e)?"Transaction request was rejected.":(e instanceof Error?e.message:typeof e=="string"?e:"").split(`
|
|
9
9
|
`)[0]?.trim()||t}function vs(e){let{tokens:t,initialFromToken:n,initialToToken:o,getToTokens:r,getApproval:a,approveBridge:i,history:l=[],initialSlippage:p="1",termsUrl:c,getQuote:f,submitBridge:m,onSubmitted:h,onSuccess:g,onFailed:v,onExit:x}=e,w=N.useMemo(()=>gs({getQuote:f,submitBridge:m}),[f,m]),[y,A]=N.useState("form"),[u,T]=N.useState(n??To(t)),[S,P]=N.useState(()=>Sr(t,n??To(t),o,r)),[B,te]=N.useState(""),[O,Y]=N.useState(""),[_,re]=N.useState("from"),[G,Ce]=N.useState(p),[pe,me]=N.useState(null),Ue=N.useMemo(()=>Hc(u,S),[u,S]),ge=N.useMemo(()=>Ue?"1":G==="auto"?Dc(pe?.priceImpact):G,[Ue,G,pe?.priceImpact]),[U,he]=N.useState(""),[de,$]=N.useState("idle"),[$e,ve]=N.useState(""),[Oe,ye]=N.useState(null),[it,Le]=N.useState([]),[_t,Ge]=N.useState(!1),[wt,Tt]=N.useState(!1),[be,Re]=N.useState(null),[Xe,Ee]=N.useState(!1),[Ne,we]=N.useState(null),[xt,je]=N.useState(null),[at,Ae]=N.useState(!1),[vt,yt]=N.useState(!1),ze=N.useRef(0),st=N.useRef(null),Je=N.useCallback(()=>{st.current&&(clearTimeout(st.current),st.current=null)},[]),fe=N.useCallback(I=>{Je(),je(I)},[Je]);N.useEffect(()=>Je,[Je]),N.useEffect(()=>{let I=t.find(ue=>ht(ue,u))??To(t),Z=I?r?.(I,t):void 0,j=Z?.find(ue=>ht(ue,S))??(Z?void 0:t.find(ue=>ht(ue,S)))??Sr(t,I,void 0,r);T(I),P(j)},[r,t,u,S]);let et=N.useCallback((I,Z)=>{let j=Wc(I);Z==="from"?te(j):Y(j),re(Z),he("")},[]),Pe=N.useCallback(()=>{ze.current+=1,te(""),Y(""),re("from"),me(null),he(""),ve(""),$("idle"),Re(null),Ee(!1),we(null),Ae(!1),fe(null)},[fe]),tt=N.useCallback(I=>{ht(I,u)||(T(I),P(Sr(t,I,void 0,r)),Pe())},[u,r,Pe,t]),Ve=N.useCallback(I=>{ht(I,S)||ht(I,u)||(P(I),Pe())},[u,Pe,S]),It=N.useMemo(()=>u?r?.(u,t)??t.filter(I=>!ht(I,u)):[],[u,r,t]),Lt=N.useCallback(()=>{u?.balance&&et(u.balance,"from")},[u?.balance,et]),lt=N.useCallback(()=>{!u||!S||(T(S),P(u),Pe())},[u,Pe,S]),Ot=N.useCallback(()=>{ze.current+=1,te(""),Y(""),re("from"),me(null),he(""),ve("")},[]);N.useEffect(()=>{if(!u||!S)return;if(!B&&!O){me(null),he(""),$("idle");return}let I=++ze.current,Z=ws({fromToken:u,toToken:S,fromAmount:B,toAmount:O,lastChangedBy:_,slippage:G});$(w.canQuote?"quoting":"idle"),(async()=>{try{let j=await w.getQuote(Z);if(ze.current!==I)return;j.fromAmount!==void 0&&_==="to"&&te(j.fromAmount),j.toAmount!==void 0&&_==="from"&&Y(j.toAmount),me(j.summary??null),he(j.error??"")}catch(j){if(ze.current!==I)return;he(j instanceof Error?j.message:"Failed to quote bridge.")}finally{ze.current===I&&$("idle")}})()},[B,u,_,w,G,O,S]);let ct=N.useCallback(()=>!u||!S?null:ws({fromToken:u,toToken:S,fromAmount:B,toAmount:O,lastChangedBy:_,slippage:ge}),[ge,B,u,_,O,S]),Te=N.useCallback(async(I,Z)=>{ve(""),Ae(!1),Ee(!1),$("submitting");try{if(!Z?.skipApprovalCheck&&a){let ue=await a(I);if(ue){Re(ue),we(I),$("idle");return}}Re(null),we(null),fe("processing");let j=await w.submitBridge(I);ye(j),$("success"),Le(ue=>[{id:j.txHash,timestamp:new Date().toISOString(),txHash:j.txHash,fromToken:j.fromToken,toToken:j.toToken,fromAmount:j.fromAmount,toAmount:j.toAmount,summary:pe??void 0,status:"pending"},...ue.filter(jn=>jn.txHash!==j.txHash)]),Ot(),yt(!0),fe(null),Ae(!0),h?.(j),g?.(j)}catch(j){if(fe(null),Cr(j)){$("idle");return}let ue=xs(j,"Failed to submit bridge.");ve(ue),$("error"),v?.({message:ue})}},[a,v,h,g,w,Ot,fe,pe]),k=N.useCallback(async()=>{if(U)return;let I=ct();if(I){if(!wt){we(I),Ge(!0);return}await Te(I)}},[ct,U,Te,wt]),q=N.useCallback(async()=>{let I=Ne??ct();I&&(Tt(!0),Ge(!1),await Te(I))},[ct,Ne,Te]),ie=N.useCallback(()=>{Ge(!1),we(null)},[]),qe=N.useCallback(async()=>{if(!(de==="submitting"||!be||!Ne||!i)){ve(""),$("submitting");try{await i(Ne,be),Re(null),$("idle"),Ee(!0)}catch(I){if(Cr(I)){$("idle");return}let Z=xs(I,"Failed to approve token.");ve(Z),$("error"),v?.({message:Z})}}},[be,i,v,Ne,Te,de]),Ke=N.useCallback(()=>{de!=="submitting"&&(Re(null),Ee(!1),we(null),$("idle"))},[de]),zt=N.useCallback(async()=>{de==="submitting"||!Ne||(Ee(!1),await Te(Ne,{skipApprovalCheck:!0}))},[Ne,Te,de]),zo=N.useCallback(()=>{Ae(!1)},[]),vn=N.useCallback(I=>{A(I),I==="history"&&yt(!1)},[]),nt=N.useCallback(()=>{if(y==="history"){vn("form");return}x?.()},[x,vn,y]),$n=N.useMemo(()=>[...l,...it.filter(I=>!l.some(Z=>Z.txHash===I.txHash))],[l,it]);return{step:y,setStep:vn,status:de,error:$e,quoteError:U,fromToken:u,toToken:S,tokens:t,availableToTokens:It,fromAmount:B,toAmount:O,lastChangedBy:_,slippage:G,effectiveSlippage:ge,slippageLocked:Ue,setSlippage:Ce,summary:pe,history:$n,submitted:Oe,canSubmit:w.canSubmit,termsOpen:_t,approvalInfo:be,approvalSuccessOpen:Xe,approveBridge:i,pendingSubmitInput:Ne,submitToast:xt,successDialogOpen:at,dismissSuccessDialog:zo,hasNewHistory:vt,termsUrl:c,setFromToken:T,setToToken:P,selectFromToken:tt,selectToToken:Ve,setAmount:et,setMax:Lt,swapTokens:lt,submit:k,confirmTerms:q,cancelTerms:ie,confirmApproval:qe,cancelApproval:Ke,continueAfterApproval:zt,back:nt}}W(`.bf-root{--bf-bg: var(--ds-bg-default, #1e232e);--bf-surface: var(--ds-surface-medium, rgba(255, 255, 255, .05));--bf-surface-hover: var(--ds-surface-high, rgba(255, 255, 255, .08));--bf-border: var(--ds-border-default, rgba(255, 255, 255, .07));--bf-text-high: var(--ds-content-high, rgba(255, 255, 255, .85));--bf-text-medium: var(--ds-content-medium, rgba(255, 255, 255, .65));--bf-text-low: var(--ds-content-low, rgba(255, 255, 255, .4));--bf-toast-bg: #1e232e;--bf-toast-color: rgba(255, 255, 255, .85);position:relative;display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden;background:var(--bf-bg);color:var(--ds-content-highest, #ffffff);font-family:inherit}[data-theme=dark].wi-popover-content .bf-root,[data-theme=dark].wi-drawer-content .bf-root{--bf-bg: var(--ds-bg-default, #121212);--bf-surface: var(--ds-surface-medium, rgba(255, 255, 255, .05));--bf-surface-hover: var(--ds-surface-high, rgba(255, 255, 255, .1));--bf-border: var(--ds-border-default, rgba(255, 255, 255, .05));--bf-text-high: var(--ds-content-high, rgba(255, 255, 255, .85));--bf-text-medium: var(--ds-content-medium, rgba(255, 255, 255, .7));--bf-text-low: var(--ds-content-low, rgba(255, 255, 255, .5))}[data-theme=light].wi-popover-content .bf-root,[data-theme=light].wi-drawer-content .bf-root{--bf-bg: var(--ds-bg-default, #ffffff);--bf-surface: var(--ds-surface-medium, rgba(18, 18, 18, .05));--bf-surface-hover: var(--ds-surface-high, rgba(18, 18, 18, .1));--bf-border: var(--ds-border-default, rgba(18, 18, 18, .05));--bf-text-high: var(--ds-content-high, rgba(18, 18, 18, .85));--bf-text-medium: var(--ds-content-medium, rgba(18, 18, 18, .7));--bf-text-low: var(--ds-content-low, rgba(18, 18, 18, .5))}.bf-root[data-view=history]{background:var(--ds-bg-dim, #f5f7fa);color:var(--ds-content-high, rgba(0, 0, 0, .85))}.bf-header{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--bf-border);background:var(--ds-bg-default, var(--bf-bg));box-sizing:border-box}.bf-root[data-view=history] .bf-header{padding:24px;border-bottom-color:var(--ds-border-default, rgba(0, 0, 0, .07));background:var(--ds-surface-default, #ffffff)}.bf-header-btn{display:inline-flex;width:24px;height:24px;flex-shrink:0;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--ds-content-low, rgba(0, 0, 0, .4));cursor:pointer;transition:color .15s ease}.bf-header-btn:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.bf-header .bf-header-btn:last-child{position:absolute;top:24px;right:24px}.bf-header-title{position:absolute;left:50%;transform:translate(-50%);font-size:18px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--bf-text-high);white-space:nowrap}.bf-root[data-view=history] .bf-header-title{color:var(--ds-content-highest, #000000)}.bf-body,.bf-history-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;box-sizing:border-box}.bf-body{padding:24px}.bf-history-body{display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--ds-bg-dim, #f5f7fa)}.bf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.bf-chip{display:inline-flex;align-items:center;gap:4px;min-height:33px;padding:6px 8px;border:0;border-radius:12px;background:var(--bf-surface);color:var(--bf-text-medium);font:inherit;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.01em;cursor:pointer}.bf-chip:hover:not(:disabled){color:var(--bf-text-high);background:var(--bf-surface-hover)}.bf-chip:disabled{cursor:default}.bf-chip-history{position:relative}.bf-chip-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:999px;background:var(--ds-system-red-default, #da0b2e)}.bf-swap-card{position:relative;display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.bf-field-error{margin-top:-4px;color:var(--ds-system-red-default, #ff2b5f);font-size:13px;font-weight:500;line-height:1.5;letter-spacing:0}.bf-amount-panel{display:flex;min-height:110px;flex-direction:column;gap:8px;padding:16px;border:1px solid transparent;border-radius:12px;background:var(--bf-surface);box-sizing:border-box;transition:border-color .2s ease}.bf-amount-panel:hover{border-color:var(--bf-border)}.bf-amount-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--bf-text-high);font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-balance{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;color:var(--bf-text-low);font-size:12px;white-space:nowrap}.bf-amount-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.bf-amount-input-wrap{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}.bf-amount-input{width:100%;min-width:0;padding:0;border:0;background:transparent;color:var(--bf-text-high);font:inherit;font-size:18px;font-weight:600;line-height:1.5;letter-spacing:-.01em;outline:none}.bf-amount-input::placeholder{color:var(--ds-content-lowest, rgba(0, 0, 0, .25))}.bf-amount-usd{overflow:hidden;color:var(--bf-text-low);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis}.bf-token-pill{display:inline-flex;flex-shrink:0;align-items:center;gap:6px;min-height:33px;padding:6px 8px 6px 6px;border:1px solid var(--bf-border);border-radius:9999px;background:var(--bf-bg);color:var(--bf-text-high);font:inherit;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.01em;cursor:pointer}.bf-token-pill:hover:not(:disabled):not([data-locked=true]){background:var(--bf-surface-hover)}.bf-token-pill:disabled{cursor:default;opacity:.6}.bf-token-pill[data-locked=true]{cursor:default}.bf-token-icon{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border-radius:0;background:var(--ds-accent-primary-default, #00ceb2);color:var(--ds-accent-primary-on, #000000);font-size:11px;font-weight:700}.bf-token-icon[data-has-image=true]{background:transparent}.bf-token-icon img{width:100%;height:100%;border-radius:0;object-fit:cover}.bf-token-fallback{line-height:1}.bf-token-picker-overlay{--bf-bg: #1e232e;--bf-surface: rgba(255, 255, 255, .05);--bf-surface-hover: rgba(255, 255, 255, .08);--bf-border: rgba(255, 255, 255, .07);--bf-text-high: rgba(255, 255, 255, .85);--bf-text-medium: rgba(255, 255, 255, .65);--bf-text-low: rgba(255, 255, 255, .4);position:fixed;inset:0;z-index:100002;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000085;pointer-events:auto;box-sizing:border-box}.bf-token-picker-overlay[data-theme=light]{--bf-bg: #ffffff;--bf-surface: rgba(18, 18, 18, .05);--bf-surface-hover: rgba(18, 18, 18, .08);--bf-border: rgba(18, 18, 18, .07);--bf-text-high: rgba(18, 18, 18, .85);--bf-text-medium: rgba(18, 18, 18, .65);--bf-text-low: rgba(18, 18, 18, .4)}.bf-token-picker{display:flex;width:min(480px,calc(100vw - 48px));height:min(466px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);min-height:0;flex-direction:column;overflow:hidden;border:1px solid var(--bf-border);border-radius:24px;background:var(--bf-bg);color:var(--bf-text-high);box-shadow:0 24px 80px #0006;box-sizing:border-box}.bf-token-picker-handle{display:none}.bf-token-picker-head{position:relative;display:flex;min-height:73px;flex-shrink:0;align-items:center;justify-content:flex-start;padding:24px 56px 24px 24px;border-bottom:1px solid var(--bf-border);box-sizing:border-box}.bf-token-picker-head h3{margin:0;color:var(--bf-text-high);font-size:20px;font-weight:600;line-height:1.25;letter-spacing:0}.bf-token-picker-close{position:absolute;top:24px;right:24px;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--bf-text-medium);cursor:pointer}.bf-token-picker-close:hover{color:var(--bf-text-high)}.bf-token-search{display:flex;min-height:48px;flex-shrink:0;align-items:center;gap:8px;margin:16px 24px;padding:12px 16px;border:1px solid transparent;border-radius:12px;background:var(--ds-surface-medium, rgba(18, 18, 18, .05));color:var(--bf-text-low);box-sizing:border-box}.bf-token-search:focus-within{border-color:var(--ds-accent-primary-default, #00ceb2)}.bf-token-search input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--bf-text-high);font:inherit;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:0}.bf-token-search input::placeholder{color:var(--bf-text-low)}.bf-token-list{display:flex;min-height:0;flex:1;flex-direction:column;gap:0;overflow-y:auto;overflow-x:hidden;padding:0 24px 24px;scrollbar-width:thin;box-sizing:border-box}.bf-token-row{position:relative;display:flex;width:100%;min-height:69px;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid transparent;border-radius:12px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box}.bf-token-row:hover:not([data-selected=true]){background:var(--ds-surface-medium, rgba(18, 18, 18, .05))}.bf-token-row[data-selected=true]{border-color:var(--ds-accent-primary-default, #00b4b7);background:var(--ds-surface-medium, rgba(18, 18, 18, .05))}.bf-token-row-left{display:inline-flex;min-width:0;align-items:center;gap:16px}.bf-token-meta{display:flex;min-width:0;flex-direction:column}.bf-token-symbol{overflow:hidden;color:var(--bf-text-high);font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.bf-token-name{overflow:hidden;color:var(--bf-text-low);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.bf-token-row-right{display:flex;min-width:86px;max-width:42%;flex-shrink:0;flex-direction:column;align-items:flex-end}.bf-token-balance,.bf-token-price{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bf-token-balance{color:var(--bf-text-high);font-size:14px;font-weight:600;line-height:1.5;letter-spacing:0}.bf-token-price{color:var(--bf-text-low);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0}.bf-token-row[data-selected=true] .bf-token-symbol{color:var(--bf-text-high)}.bf-token-row[data-selected=true] .bf-token-balance{color:var(--bf-text-high);font-size:16px}.bf-token-row[data-selected=true] .bf-token-price{color:var(--bf-text-low);font-size:14px}.bf-token-empty{padding:32px 16px;color:var(--bf-text-low);font-size:14px;font-weight:500;line-height:1.5;text-align:center}.bf-slippage-overlay{position:fixed;inset:0;z-index:100002;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000085;pointer-events:auto;box-sizing:border-box}.bf-slippage-dialog{display:flex;width:min(480px,calc(100vw - 48px));height:auto;min-height:min(316px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);flex-direction:column;overflow:hidden;border:1px solid var(--ds-border-medium, rgba(0, 0, 0, .18));border-radius:24px;background:var(--ds-surface-default, #ffffff);color:var(--ds-content-highest, #000000);box-shadow:var(--ds-shadow-modal, 0 4px 30px -1px rgba(0, 0, 0, .15));box-sizing:border-box}.bf-slippage-head{position:relative;display:flex;min-height:73px;flex-shrink:0;align-items:center;justify-content:flex-start;padding:24px 56px 24px 24px;border-bottom:1px solid var(--ds-border-default, rgba(0, 0, 0, .07));background:var(--ds-surface-default, #ffffff);box-sizing:border-box}.bf-slippage-head h3{margin:0;color:var(--ds-content-highest, #000000);font-size:20px;font-weight:600;line-height:1.25;letter-spacing:0}.bf-slippage-close{position:absolute;top:24px;right:24px;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--ds-content-low, rgba(0, 0, 0, .4));cursor:pointer}.bf-slippage-close:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.bf-slippage-body{display:flex;flex:1;min-height:0;flex-direction:column;gap:24px;padding:24px;box-sizing:border-box}.bf-slippage-desc{margin:0;color:var(--ds-content-medium, rgba(0, 0, 0, .65));font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-slippage-controls{display:flex;flex-direction:column;gap:12px;width:100%}.bf-slippage-presets{display:flex;gap:8px;width:100%}.bf-slippage-preset{appearance:none;display:inline-flex;flex:1 1 0;min-width:0;min-height:48px;align-items:center;justify-content:center;padding:12px 8px;border:1px solid transparent;border-radius:12px;background:var(--ds-surface-medium, #f5f7fa);color:var(--ds-content-medium, rgba(0, 0, 0, .65));font:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;cursor:pointer;box-sizing:border-box}.bf-slippage-preset:hover,.bf-slippage-preset[data-selected=true]{border-color:var(--ds-accent-primary-default, #00b4b7);background:var(--ds-accent-primary-low, #e7f9f8)}.bf-slippage-custom{display:flex;min-height:48px;align-items:center;gap:8px;padding:12px;border:1px solid transparent;border-radius:12px;background:var(--ds-surface-medium, #f5f7fa);color:var(--ds-content-high, rgba(0, 0, 0, .85));box-sizing:border-box}.bf-slippage-custom:focus-within,.bf-slippage-custom[data-selected=true]{border-color:var(--ds-accent-primary-default, #00b4b7)}.bf-slippage-custom input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--ds-content-high, rgba(0, 0, 0, .85));font:inherit;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-slippage-custom input::placeholder{color:var(--ds-content-lowest, rgba(0, 0, 0, .25))}.bf-slippage-custom span:not(.bf-sr-only){flex-shrink:0;color:var(--ds-content-high, rgba(0, 0, 0, .85));font-size:16px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-slippage-apply{appearance:none;margin-top:auto;width:100%;min-height:48px;padding:12px;border:0;border-radius:12px;background:var(--ds-accent-primary-default, #00b4b7);color:var(--ds-accent-primary-on-primary, #ffffff);font:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;cursor:pointer;box-sizing:border-box}.bf-slippage-apply:hover{filter:brightness(.96)}.bf-slippage-apply:disabled{cursor:not-allowed;opacity:.5;filter:none}.bf-slippage-message{margin:0;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-slippage-message[data-variant=warning]{color:var(--ds-system-orange-high, #e56f00)}.bf-slippage-message[data-variant=error]{color:var(--ds-system-red-default, #da0b2e)}.bf-action-modal-overlay{--bf-bg: var(--ds-bg-default, #1e232e);--bf-surface: var(--ds-surface-medium, rgba(255, 255, 255, .05));--bf-surface-hover: var(--ds-surface-high, rgba(255, 255, 255, .08));--bf-border: var(--ds-border-default, rgba(255, 255, 255, .12));--bf-text-high: var(--ds-content-high, rgba(255, 255, 255, .92));--bf-text-medium: var(--ds-content-medium, rgba(255, 255, 255, .65));--bf-text-low: var(--ds-content-low, rgba(255, 255, 255, .4));position:fixed;inset:0;z-index:100003;display:flex;align-items:center;justify-content:center;padding:24px;background:#040912b8;pointer-events:auto;box-sizing:border-box}.bf-action-modal-overlay[data-theme=light]{--bf-bg: var(--ds-bg-default, #ffffff);--bf-surface: var(--ds-surface-medium, rgba(18, 18, 18, .05));--bf-surface-hover: var(--ds-surface-high, rgba(18, 18, 18, .1));--bf-border: var(--ds-border-default, rgba(18, 18, 18, .08));--bf-text-high: var(--ds-content-high, rgba(18, 18, 18, .85));--bf-text-medium: var(--ds-content-medium, rgba(18, 18, 18, .65));--bf-text-low: var(--ds-content-low, rgba(18, 18, 18, .4))}.bf-action-modal{display:flex;width:min(480px,calc(100vw - 48px));flex-direction:column;align-items:center;gap:24px;padding:48px 24px 24px;border:1px solid var(--bf-border);border-radius:24px;background:var(--bf-bg);color:#fff;box-shadow:0 24px 80px #00000073;box-sizing:border-box}.bf-action-modal h3{width:100%;margin:0;color:var(--bf-text-high);font-size:24px;font-weight:700;line-height:1.25;text-align:center;letter-spacing:0}.bf-action-modal-desc{max-width:380px;margin:0;color:var(--bf-text-low);font-size:15px;font-weight:500;line-height:1.45;text-align:center;letter-spacing:0}.bf-terms-check-row{display:grid;width:100%;min-height:56px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border:none;border-radius:12px;background:var(--bf-surface);color:var(--bf-text-medium);font-size:16px;font-weight:700;line-height:1.4;box-sizing:border-box;cursor:pointer;touch-action:manipulation;user-select:none}.bf-terms-check-button{appearance:none;display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}.bf-terms-check-button:focus-visible .bf-terms-checkbox{outline:2px solid var(--ds-accent-primary-default, #00ceb2);outline-offset:2px}.bf-terms-checkbox{position:relative;display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border:1px solid rgba(124,143,180,.72);border-radius:5px;background:transparent;box-sizing:border-box}.bf-terms-checkbox[data-checked=true]{border-color:var(--ds-accent-primary-default, #00ceb2);background:var(--ds-accent-primary-default, #00ceb2)}.bf-terms-checkbox[data-checked=true]:after{width:8px;height:4px;border:solid var(--ds-accent-primary-on, #000000);border-width:0 0 2px 2px;content:"";transform:rotate(-45deg) translate(1px,-1px)}.bf-terms-check-row a{position:relative;z-index:1;color:var(--ds-accent-primary-default, #00ceb2);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}.bf-terms-privacy{max-width:380px;margin:0;color:var(--bf-text-low);font-size:15px;font-weight:500;line-height:1.45;text-align:center;letter-spacing:0}.bf-action-primary,.bf-action-secondary{display:inline-flex;width:100%;min-height:56px;align-items:center;justify-content:center;padding:14px 16px;border:0;border-radius:12px;font:inherit;font-size:18px;font-weight:700;line-height:1.4;letter-spacing:0;cursor:pointer}.bf-action-primary{background:var(--ds-accent-primary-default, #00ceb2);color:var(--ds-accent-primary-on, #000000)}.bf-action-primary:disabled{cursor:not-allowed;opacity:.35}.bf-action-primary[aria-busy=true]{gap:8px;opacity:1}.bf-action-button-spinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.22);border-top-color:currentColor;border-right-color:currentColor;border-radius:999px;animation:bf-loading-spin .9s linear infinite}.bf-action-secondary{background:var(--bf-surface);color:var(--bf-text-low)}.bf-action-secondary:disabled{cursor:not-allowed;opacity:.5}.bf-approve-address-box{display:flex;width:100%;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--bf-border);border-radius:12px;background:var(--bf-surface);box-sizing:border-box}.bf-approve-address-box>span{color:var(--bf-text-low);font-size:14px;font-weight:700;line-height:1.4}.bf-approve-address-box>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.bf-approve-address-box strong{min-width:0;overflow:hidden;color:var(--bf-text-high);font-size:15px;font-weight:500;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.bf-copy-button{flex-shrink:0;min-width:48px;min-height:32px;padding:6px 10px;border:1px solid rgba(0,206,178,.65);border-radius:8px;background:transparent;color:var(--ds-accent-primary-default, #00ceb2);font:inherit;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer}.bf-copy-button:disabled{cursor:not-allowed;opacity:.45}.bf-action-buttons{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:12px}.bf-approval-success-modal{gap:28px}.bf-success-mark{position:relative;display:inline-flex;width:96px;height:96px;flex-shrink:0;align-items:center;justify-content:center;border:12px solid rgba(0,206,178,.12);border-radius:999px;background:#00ceb2a8;box-shadow:0 0 0 10px #00ceb20f;box-sizing:border-box}.bf-success-mark:after{width:34px;height:18px;border:solid #ffffff;border-width:0 0 6px 6px;content:"";transform:rotate(-45deg) translate(2px,-3px)}.bf-status-toast{position:absolute;right:16px;bottom:14px;left:16px;z-index:5;display:flex;align-items:center;gap:12px;min-height:52px;padding:12px;border-radius:12px;background:var(--bf-toast-bg, #1e232e);color:var(--bf-toast-color, rgba(255, 255, 255, .85));box-shadow:0 8px 24px #0000003d;box-sizing:border-box}.bf-status-toast-icon{display:inline-flex;width:28px;height:28px;flex-shrink:0;align-items:center;justify-content:center;border-radius:999px}.bf-status-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.18);border-top-color:var(--ds-accent-primary-default, #00ceb2);border-right-color:var(--ds-accent-primary-default, #00ceb2);border-radius:999px;animation:bf-loading-spin .9s linear infinite}.bf-status-check{position:relative;width:20px;height:20px;border-radius:999px;background:var(--ds-accent-primary-default, #00ceb2)}.bf-status-check:after{position:absolute;top:6px;left:5px;width:8px;height:4px;border:solid var(--ds-accent-primary-on, #000000);border-width:0 0 2px 2px;content:"";transform:rotate(-45deg)}.bf-status-toast-copy{display:flex;min-width:0;flex:1;flex-direction:column}.bf-status-toast-copy strong,.bf-status-toast-copy span{overflow:hidden;text-overflow:ellipsis}.bf-status-toast-copy strong{color:#fff;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.01em}.bf-status-toast-copy span{color:var(--bf-toast-color, rgba(255, 255, 255, .85));font-size:12px;font-weight:400;line-height:1.5;letter-spacing:-.01em}.bf-status-toast[data-variant=success] .bf-status-toast-copy span{color:var(--ds-accent-primary-on-inverted, #00e8c9)}.bf-status-toast[data-variant=error]{border:1px solid rgba(255,43,95,.28);background:var(--bf-toast-bg, #1e232e)}.bf-status-toast[data-variant=error] .bf-status-toast-copy strong{color:#fff}.bf-status-error-mark{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;background:var(--ds-system-red-default, #ff2b5f);color:#fff;font-size:14px;font-weight:700;line-height:1}.bf-status-toast[data-variant=error] .bf-status-toast-copy span{color:#ffffffe0}.bf-success-overlay{--bf-bg: var(--ds-bg-default, #1e232e);--bf-border: var(--ds-border-default, rgba(255, 255, 255, .12));--bf-text-high: var(--ds-content-high, rgba(255, 255, 255, .92));--bf-text-medium: var(--ds-content-medium, rgba(255, 255, 255, .65));position:fixed;inset:0;z-index:100003;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000b8;pointer-events:auto;box-sizing:border-box}.bf-success-overlay[data-theme=light]{--bf-bg: #ffffff;--bf-border: rgba(18, 18, 18, .08);--bf-text-high: rgba(18, 18, 18, .85);--bf-text-medium: rgba(18, 18, 18, .65);--bf-text-low: rgba(18, 18, 18, .4)}.bf-success-modal{display:flex;width:min(480px,calc(100vw - 48px));flex-direction:column;overflow:hidden;border:1px solid var(--bf-border);border-radius:24px;background:var(--bf-bg);color:var(--bf-text-high);box-shadow:0 24px 80px #00000073;box-sizing:border-box}.bf-success-head{display:flex;min-height:73px;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid var(--ds-border-default, rgba(0, 0, 0, .07));box-sizing:border-box}.bf-success-head h3{min-width:0;margin:0;overflow:hidden;color:var(--ds-content-highest, #000000);font-size:20px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.bf-success-close{display:inline-flex;width:24px;height:24px;flex-shrink:0;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--ds-content-low, rgba(0, 0, 0, .4));cursor:pointer}.bf-success-close:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.bf-success-body{display:flex;flex-direction:column;align-items:center;gap:24px;padding:40px 24px 24px;box-sizing:border-box}.bf-success-copy{display:flex;width:100%;flex-direction:column;align-items:center;gap:4px;color:var(--bf-text-medium);text-align:center}.bf-success-copy strong{color:var(--bf-text-high);font-size:24px;font-weight:700;line-height:1.25;letter-spacing:0}.bf-success-copy span{color:var(--bf-text-medium);font-size:15px;font-weight:500;line-height:1.5;letter-spacing:0}.bf-success-route{display:flex;align-items:center;justify-content:center;gap:12px}.bf-success-route .bf-token-icon{width:48px!important;height:48px!important;background:transparent;font-size:18px}.bf-success-route-arrow{color:var(--bf-text-low);font-size:24px;font-weight:500;line-height:1}.bf-success-ok{display:inline-flex;width:100%;min-height:48px;align-items:center;justify-content:center;padding:12px;border:0;border-radius:12px;background:#00b4b7e0;color:#fff;font:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;cursor:pointer}@media(max-width:767px){.bf-success-body{padding:40px 24px 24px}.bf-success-copy strong{font-size:22px}.bf-success-copy span{font-size:14px}.bf-success-mark{width:88px;height:88px}.bf-success-route .bf-token-icon{width:44px!important;height:44px!important}}@keyframes bf-loading-spin{to{transform:rotate(360deg)}}.bf-swap-toggle{position:absolute;top:100px;left:50%;z-index:1;display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;padding:0;border:0;border-radius:9999px;background:var(--ds-accent-primary-default, #00ceb2);color:var(--ds-accent-primary-on, #000000);box-shadow:0 1px 5px #0000001f;cursor:pointer}.bf-swap-card[data-has-from-error=true] .bf-swap-toggle{top:132px}.bf-details{display:flex;flex-direction:column;gap:24px}.bf-exchange-rate{display:flex;width:100%;align-items:center;justify-content:center;gap:4px;padding:0 0 24px;border:0;background:transparent;color:var(--bf-text-low);font:inherit;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:-.01em;cursor:pointer}.bf-exchange-rate:hover{color:var(--bf-text-medium)}.bf-detail-section,.bf-history-card{display:flex;flex-direction:column;gap:12px;padding:0;border-radius:12px;background:transparent;box-sizing:border-box}.bf-liquidity{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:12px;background:var(--bf-surface);box-sizing:border-box}.bf-root[data-view=history] .bf-liquidity,.bf-root[data-view=history] .bf-detail-section,.bf-root[data-view=history] .bf-history-card{background:var(--ds-surface-default, #ffffff)}.bf-detail-section h3{margin:0;color:var(--bf-text-high);font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em}.bf-tx-fee-section{gap:12px}.bf-tx-fee-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.bf-collapse-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;padding:0;background:none;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.bf-detail-section[data-open=true] .bf-collapse-head{padding-bottom:12px;border-bottom:1px solid var(--bf-border)}.bf-collapse-chevron{flex-shrink:0;color:var(--bf-text-low);transition:transform .2s ease}.bf-detail-section[data-open=true] .bf-collapse-chevron{transform:rotate(180deg)}.bf-collapse-body{display:flex;flex-direction:column;gap:14px}.bf-root[data-view=history] .bf-detail-section[data-open=true] .bf-collapse-head{border-bottom-color:var(--ds-border-default, rgba(0, 0, 0, .07))}.bf-root[data-view=history] .bf-collapse-chevron{color:var(--ds-content-low, rgba(0, 0, 0, .4))}.bf-tx-fee-total{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;color:var(--bf-text-medium);font-size:14px;font-weight:600;line-height:1.4;text-align:right}.bf-tx-fee-total>span[data-delegated=true]{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:currentColor}.bf-fee-delegated{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:2px 8px;border-radius:6px;background:#379cff2e;color:#4eb3ff;font-size:10px;font-weight:500;line-height:1.3;white-space:nowrap}.bf-tx-fee-token{width:16px;height:16px;flex-shrink:0;border-radius:999px;object-fit:cover}.bf-info-card{gap:14px}.bf-info-section{display:flex;flex-direction:column;gap:10px}.bf-info-section+.bf-info-section{padding-top:2px}.bf-info-section h4{margin:0;color:var(--bf-text-high);font-size:14px;font-weight:600;line-height:1.5}.bf-root[data-view=history] .bf-detail-section h3,.bf-root[data-view=history] .bf-info-section h4{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.bf-info-rows{display:flex;flex-direction:column;gap:8px}.bf-info-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-liquidity-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-info-label{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--bf-text-low)}.bf-tree-marker{width:10px;flex-shrink:0;color:var(--bf-text-low)}.bf-info-value{min-width:0;color:var(--bf-text-medium);text-align:right}.bf-info-route,.bf-info-value-token{display:inline-flex;align-items:center;gap:4px}.bf-info-route .bf-token-icon,.bf-info-value-token .bf-token-icon{flex-shrink:0}.bf-info-route-arrow{color:var(--bf-text-medium)}.bf-root[data-view=history] .bf-info-route-arrow{color:var(--ds-content-medium, rgba(0, 0, 0, .65))}.bf-info-value[data-tone=accent]{color:var(--ds-accent-primary-high, #00a0a2)}.bf-info-value[data-tone=warning]{color:var(--ds-system-orange-high, #e56f00)}.bf-root[data-view=history] .bf-info-label,.bf-root[data-view=history] .bf-liquidity-head,.bf-root[data-view=history] .bf-tree-marker{color:var(--ds-content-low, rgba(0, 0, 0, .4))}.bf-root[data-view=history] .bf-info-value{color:var(--ds-content-medium, rgba(0, 0, 0, .65))}.bf-root[data-view=history] .bf-info-value[data-tone=accent]{color:var(--ds-accent-primary-high, #00a0a2)}.bf-root[data-view=history] .bf-info-value[data-tone=warning]{color:var(--ds-system-orange-high, #e56f00)}.bf-liquidity-status{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap}.bf-liquidity-status:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.bf-liquidity-status[data-status=normal],.bf-liquidity-status:not([data-status]){background:#00ceb21f;color:var(--ds-accent-primary-default, #00ceb2)}.bf-liquidity-status[data-status=normal]:before,.bf-liquidity-status:not([data-status]):before{background:var(--ds-accent-primary-default, #00ceb2)}.bf-liquidity-status[data-status=low]{background:#e56f001f;color:#e56f00}.bf-liquidity-status[data-status=low]:before{background:#e56f00}.bf-liquidity-status[data-status=rebalancing]{background:#da0b2e1a;color:#da0b2e}.bf-liquidity-status[data-status=rebalancing]:before{background:#da0b2e}.bf-liquidity-track{height:8px;overflow:hidden;border-radius:999px;background:var(--bf-surface-hover)}.bf-liquidity-track span{display:block;height:100%;border-radius:inherit;background:var(--ds-accent-primary-default, #00ceb2)}.bf-error{padding:12px;border-radius:12px;background:#da0b2e1f;color:var(--ds-system-red-default, #da0b2e);font-size:13px;line-height:1.4}.bf-footer{display:flex;flex-shrink:0;flex-direction:column;align-items:center;gap:10px;padding:12px 24px 24px;background:var(--ds-bg-default, var(--bf-bg))}.bf-next{width:100%;min-height:48px;padding:12px;border:0;border-radius:12px;background:var(--ds-accent-primary-default, #00ceb2);color:var(--ds-accent-primary-on, #000000);font:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;cursor:pointer}.bf-next:disabled{cursor:default;opacity:.6}.bf-powered{display:inline-flex;align-items:center;gap:3px;color:var(--bf-text-low);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:-.01em;text-decoration:none}.bf-powered:focus-visible{border-radius:4px;outline:2px solid var(--ds-accent-primary-default, #00ceb2);outline-offset:2px}.bf-powered-brand{text-decoration:underline;text-underline-offset:2px}.bf-history-tabs{display:flex;align-items:center;gap:4px;width:100%}.bf-history-tab{position:relative;display:inline-flex;min-height:37px;align-items:center;justify-content:center;padding:8px 12px;border:0;background:transparent;color:var(--ds-content-lowest, rgba(0, 0, 0, .25));font:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0;cursor:pointer}.bf-history-tab[data-active=true]{color:var(--ds-accent-primary-high, #00a0a2)}.bf-history-tab[data-active=true]:after{position:absolute;right:8px;bottom:0;left:8px;height:3px;border-radius:999px;background:var(--ds-accent-primary-high, #00a0a2);content:""}.bf-history-tab-dot{position:absolute;top:8px;right:4px;width:6px;height:6px;border-radius:999px;background:var(--ds-system-red-default, #da0b2e)}.bf-history-list{display:flex;flex-direction:column;gap:12px}.bf-history-item{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:var(--ds-surface-default, #ffffff);box-sizing:border-box}.bf-history-item-head,.bf-history-meta,.bf-history-route,.bf-history-route-token{display:inline-flex;align-items:center}.bf-history-item-head{justify-content:space-between;gap:12px;width:100%}.bf-history-status{display:inline-flex;min-height:24px;align-items:center;justify-content:center;padding:3px 8px;border-radius:4px;background:var(--ds-system-orange-low, #fcf5e9);color:var(--ds-system-orange-high, #e56f00);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;white-space:nowrap}.bf-history-status[data-status=completed]{background:var(--ds-system-green-low, #e7f9f8);color:var(--ds-system-green-high, #00a0a2)}.bf-history-status[data-status=failed]{background:var(--ds-system-red-low, rgba(218, 11, 46, .12));color:var(--ds-system-red-default, #da0b2e)}.bf-history-time{min-width:0;color:var(--ds-content-low, rgba(0, 0, 0, .4));font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;text-align:right;white-space:nowrap}.bf-history-item-body{display:flex;flex-direction:column;gap:4px}.bf-history-amount{color:var(--ds-content-high, rgba(0, 0, 0, .85));font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0}.bf-history-meta{justify-content:space-between;gap:12px;min-width:0}.bf-history-usd{min-width:0;color:var(--ds-content-low, rgba(0, 0, 0, .4));font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bf-history-route{justify-content:flex-end;gap:4px;min-width:0;color:var(--ds-content-high, rgba(0, 0, 0, .85));font-size:12px;font-weight:600;line-height:1.5;letter-spacing:0}.bf-history-route-token{gap:4px;min-width:0}.bf-history-route-token span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bf-history-route-arrow{flex-shrink:0;color:var(--ds-content-low, rgba(0, 0, 0, .4))}.bf-empty{padding:32px 16px;text-align:center;color:var(--ds-content-low, rgba(0, 0, 0, .4));font-size:14px}.bf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:767px){.bf-token-picker-overlay{align-items:flex-end;padding:0}.bf-token-picker{width:100%;max-height:82dvh;min-height:min(520px,82dvh);border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0}.bf-token-picker-handle{display:block;width:40px;height:4px;flex-shrink:0;align-self:center;margin:10px 0 0;border-radius:999px;background:#ffffff38}.bf-token-picker-head{min-height:55px;padding:12px 56px 16px 24px;border-bottom:0}.bf-token-picker-close{top:13px}.bf-token-search{margin:0 16px 12px}.bf-token-list{padding:0 16px 16px}.bf-slippage-overlay{align-items:flex-end;padding:0}.bf-slippage-dialog{width:100%;height:auto;min-height:316px;max-height:82dvh;border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0}}.wi-drawer-content .bf-header{padding:16px}.wi-drawer-content .bf-header .bf-header-btn:last-child{top:16px;right:16px}.wi-drawer-content .bf-body,.wi-drawer-content .bf-history-body{padding:16px}
|
|
10
10
|
`);var s=require("react/jsx-runtime"),Ns=C.createContext(void 0);function bn(){return C.useContext(Ns)}function Gc(e){let[t,n]=C.useState(void 0);return C.useEffect(()=>{let o=e.current;if(!o)return;let r=()=>{let i=o.closest("[data-theme]");n(i?.getAttribute("data-theme")??void 0)};r();let a=new MutationObserver(r);return a.observe(document.documentElement,{attributes:!0,subtree:!0,attributeFilter:["data-theme"]}),()=>a.disconnect()},[e]),t}var ys=[{value:"0.1",label:"0.1%"},{value:"0.5",label:"0.5%"},{value:"1",label:"1%"},{value:"5",label:"5%"}],Uc={dev:"https://dev.crossdefi.io",stage:"https://stg.crossdefi.io",production:"https://crossdefi.io"},$c=[{value:"all",label:"ALL"},{value:"completed",label:"Completed"},{value:"pending",label:"Pending"}];function jc(e,t){return e==="auto"?t?`Auto ${t}%`:"Auto":e?`${e}%`:"1%"}function ks(e){let t=e.replace(/[^\d.]/g,""),[n="",...o]=t.split("."),r=o.join("");return o.length===0?n:`${n}.${r.slice(0,2)}`}function Vc(e){return`${e.chainId}:${e.address.toLowerCase()}`}function Ts(e){let t=Number(e);return Number.isFinite(t)?t.toLocaleString("en-US",{maximumFractionDigits:t>=1?2:6}):e||"0"}function Ss(e,t){let n=Number(e||"0"),o=t?.priceUsd??0;return`\u2248 $${(Number.isFinite(n)?n*o:0).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})} USD`}function qc(e,t=6){if(!e)return e;let[n,o=""]=e.split(".");if(!o)return n;let r=o.slice(0,t).replace(/0+$/,"");return r?`${n}.${r}`:n}function Kc(e,t){if(!t)return!1;let n=new bt.default(e||"0"),o=new bt.default(t.balance||"0");return!n.isFinite()||!o.isFinite()?!1:n.isGreaterThan(o)}function Qc(e){if(e.priceUsd===void 0)return null;let t=new bt.default(e.balance||"0");return t.isFinite()?`\u2248 $${t.multipliedBy(e.priceUsd).toFormat(2)} USD`:null}function Yc(e){if(e.priceUsd===void 0)return null;let t=new bt.default(e.priceUsd);return t.isFinite()?`$${t.toFormat(t.isLessThan(1)?4:2)}`:null}function Is(e){if(!e.isFinite()||e.isNaN())return"0";let n=e.decimalPlaces(6,bt.default.ROUND_DOWN).toFixed(6).replace(/\.?0+$/,""),[o="0",r]=n.split("."),a=new bt.default(o||"0").toFormat(0);return r?`${a}.${r}`:a}function Zc(e){return e.length<=14?e:`${e.slice(0,6)}...${e.slice(-6)}`}function Xc(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let n=o=>o.toString().padStart(2,"0");return[`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())}`,`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`].join(" ")}function Jc(e){let t=new bt.default(e||"0");return!t.isFinite()||t.isNaN()?e||"0":Is(t)}function ed(e,t){if(t?.priceUsd===void 0)return null;let n=new bt.default(e||"0").multipliedBy(t.priceUsd);return!n.isFinite()||n.isNaN()?null:`$${n.toFormat(2)}`}function Lo(e){return e.status==="success"?"completed":e.status==="failed"?"failed":"pending"}function td(e,t){return t==="all"?!0:Lo(e)===t}function nd(e){return e==="completed"?"Completed":e==="failed"?"Failed":"Pending"}function Cs(e){return e===56||e===97?"BSC":e===612044||e===5555?"CROSS":`Chain ${e}`}function Ls(e,t){return!!e&&!!t&&e.chainId===t.chainId&&e.address.toLowerCase()===t.address.toLowerCase()}function Es(e,t){if(!(!e||!t))return e.chainId===t.chainId?"swap":Ls(e,t)||e.symbol.toLowerCase()===t.symbol.toLowerCase()?"bridge":"swap-bridge"}function As(e){return e==="swap"||e==="deposit-swap"||e==="swap-withdraw"}function Io(e){return!e||e==="0"||Number(e)===0}function od(e){let t=e.trim().toLowerCase();return t?t.startsWith("minimum ")?{from:e}:t.startsWith("available ")&&t.includes("or more")?{to:e}:t.includes("insufficient balance")||t.includes("not enough balance")||t.includes("exceeds balance")||t.includes("insufficient network fee")?{from:e}:t.includes("insufficient liquidity")||t.includes("not enough liquidity")?{to:e}:{}:{}}function rd(e){let t=e.fromToken,n=e.toToken,o=Es(t,n),r=e.fromAmount||"0",a=e.toAmount||"0",i=o!==void 0&&!As(o),l=o!==void 0&&o!=="bridge";return{pathType:o,bridgeInfo:i?[{label:"Route",value:t&&n?`${Cs(t.chainId)} \u2192 ${Cs(n.chainId)}`:"-"},{label:"Validator Fee",value:Io(r)?"0":"Free",tone:Io(r)?"default":"accent"},{label:"Network Fee",value:Io(r)?"0":"Free",tone:Io(r)?"default":"accent"}]:void 0,swapInfo:l?[t&&n?{label:"Route",value:"",routeTokens:[{symbol:t.symbol,iconUrl:t.iconUrl},{symbol:n.symbol,iconUrl:n.iconUrl}]}:{label:"Route",value:"-"},{label:"Price Impact",value:"0%"},{label:"In Amount",value:r,valueToken:t?{symbol:t.symbol,iconUrl:t.iconUrl}:void 0},{label:"Swap Fee",value:"0",valueToken:t?{symbol:t.symbol,iconUrl:t.iconUrl}:void 0},{label:"Out Amount",value:a,valueToken:n?{symbol:n.symbol,iconUrl:n.iconUrl}:void 0}]:void 0,txFee:[{label:"Priority Fee Per Gas",value:"0 Gwei"},{label:"Max Fee Per Gas",value:"0 Gwei"},{label:"Gas Limit",value:"0"}],txFeeInfo:{estTxFee:"0",isDelegateFee:!1}}}function Pn({token:e,size:t=20}){let n=e?.iconUrl;return(0,s.jsx)("span",{className:"bf-token-icon","data-has-image":!!n?"true":"false",style:{width:t,height:t},children:n?(0,s.jsx)("img",{src:n,alt:"",width:t,height:t,draggable:!1}):(0,s.jsx)("span",{className:"bf-token-fallback",children:e?.symbol?.slice(0,1)??"?"})})}function Rs({label:e,token:t,amount:n,usd:o,onAmountChange:r,onTokenClick:a,locked:i=!1}){return(0,s.jsxs)("section",{className:"bf-amount-panel",children:[(0,s.jsxs)("div",{className:"bf-amount-head",children:[(0,s.jsx)("span",{children:e}),(0,s.jsxs)("span",{className:"bf-balance",children:[Ts(t?.balance??"0")," ",t?.symbol??""]})]}),(0,s.jsxs)("div",{className:"bf-amount-main",children:[(0,s.jsxs)("label",{className:"bf-amount-input-wrap",children:[(0,s.jsxs)("span",{className:"bf-sr-only",children:[e," amount"]}),(0,s.jsx)("input",{type:"text",inputMode:"decimal",value:n,onChange:l=>r(l.target.value),placeholder:"0",className:"bf-amount-input"}),(0,s.jsx)("span",{className:"bf-amount-usd",children:o})]}),(0,s.jsxs)("button",{type:"button",className:"bf-token-pill",onClick:i?void 0:a,disabled:!i&&!a,"data-locked":i?"true":void 0,"aria-label":`Select ${e.toLowerCase()} token`,children:[(0,s.jsx)(Pn,{token:t}),(0,s.jsx)("span",{children:t?.symbol??"Select"}),!i&&(0,s.jsx)(Jt,{size:16})]})]})]})}function id({flow:e,side:t,onClose:n}){let o=C.useId(),[r,a]=C.useState(""),[i,l]=C.useState(null),p=t==="from"?e.fromToken:e.toToken;C.useEffect(()=>{l(document.body)},[]),C.useEffect(()=>{let g=v=>{v.key==="Escape"&&n()};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[n]);let c=C.useMemo(()=>t==="from"?e.tokens:e.availableToTokens,[e.availableToTokens,e.tokens,t]),f=C.useMemo(()=>{let g=r.trim().toLowerCase();return g?c.filter(v=>v.symbol.toLowerCase().includes(g)||v.name.toLowerCase().includes(g)):c},[r,c]),m=C.useCallback(g=>{t==="from"?e.selectFromToken(g):e.selectToToken(g),n()},[e,n,t]);if(!i)return null;let h=bn();return(0,sn.createPortal)((0,s.jsx)("div",{className:"bf-token-picker-overlay","data-theme":h,role:"presentation",onMouseDown:g=>{g.target===g.currentTarget&&n()},children:(0,s.jsxs)("section",{className:"bf-token-picker",role:"dialog","aria-modal":"true","aria-labelledby":o,children:[(0,s.jsx)("span",{className:"bf-token-picker-handle","aria-hidden":"true"}),(0,s.jsxs)("header",{className:"bf-token-picker-head",children:[(0,s.jsx)("h3",{id:o,children:"Select a token"}),(0,s.jsx)("button",{type:"button",className:"bf-token-picker-close",onClick:n,"aria-label":"Close token selector",children:(0,s.jsx)(kt,{size:24})})]}),(0,s.jsxs)("label",{className:"bf-token-search",children:[(0,s.jsx)(ss,{size:20}),(0,s.jsx)("span",{className:"bf-sr-only",children:"Search tokens"}),(0,s.jsx)("input",{value:r,onChange:g=>a(g.target.value),placeholder:"Search Tokens",autoComplete:"off",spellCheck:!1})]}),(0,s.jsxs)("div",{className:"bf-token-list",children:[f.map(g=>{let v=Ls(g,p),x=v?Yc(g):Qc(g);return(0,s.jsxs)("button",{type:"button",className:"bf-token-row","data-selected":v?"true":"false",onClick:()=>m(g),children:[(0,s.jsxs)("span",{className:"bf-token-row-left",children:[(0,s.jsx)(Pn,{token:g,size:40}),(0,s.jsxs)("span",{className:"bf-token-meta",children:[(0,s.jsx)("span",{className:"bf-token-symbol",children:g.symbol}),!v&&(0,s.jsx)("span",{className:"bf-token-name",children:g.name})]})]}),(0,s.jsxs)("span",{className:"bf-token-row-right",children:[(0,s.jsxs)("span",{className:"bf-token-balance",children:[Ts(g.balance),v?null:` ${g.symbol}`]}),x&&(0,s.jsx)("span",{className:"bf-token-price",children:x})]})]},Vc(g))}),f.length===0&&(0,s.jsx)("div",{className:"bf-token-empty",children:"No tokens found"})]})]})}),i)}function ad({flow:e,onClose:t}){let n=C.useId(),[o,r]=C.useState(null),a=ys.find(x=>x.value===e.slippage),[i,l]=C.useState(e.slippage&&!a?e.slippage:""),p=i.trim()!==""&&i.trim()!==".",c=p?Number(i):NaN,f=Number.isFinite(c)&&c>50,m=Number.isFinite(c)&&c>5&&!f,h=x=>{e.setSlippage(x),t()},g=()=>{!p||f||(e.setSlippage(ks(i)),t())};if(C.useEffect(()=>{r(document.body)},[]),C.useEffect(()=>{let x=w=>{w.key==="Escape"&&t()};return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[t]),!o)return null;let v=bn();return(0,sn.createPortal)((0,s.jsx)("div",{className:"bf-slippage-overlay","data-theme":v,role:"presentation",onMouseDown:x=>{x.target===x.currentTarget&&t()},children:(0,s.jsxs)("section",{className:"bf-slippage-dialog",role:"dialog","aria-modal":"true","aria-labelledby":n,children:[(0,s.jsxs)("header",{className:"bf-slippage-head",children:[(0,s.jsx)("h3",{id:n,children:"Slippage Settings"}),(0,s.jsx)("button",{type:"button",className:"bf-slippage-close",onClick:t,"aria-label":"Close slippage settings",children:(0,s.jsx)(kt,{size:24})})]}),(0,s.jsxs)("div",{className:"bf-slippage-body",children:[(0,s.jsx)("p",{className:"bf-slippage-desc",children:"The maximum price difference you are willing to accept before the transaction is reverted. Higher slippage increases the chance of execution but may result in a worse price."}),(0,s.jsxs)("div",{className:"bf-slippage-controls",children:[(0,s.jsx)("div",{className:"bf-slippage-presets",children:ys.map(x=>(0,s.jsx)("button",{type:"button",className:"bf-slippage-preset","data-selected":!p&&e.slippage===x.value?"true":"false",onClick:()=>h(x.value),children:x.label},x.value))}),(0,s.jsxs)("label",{className:"bf-slippage-custom","data-selected":p?"true":"false",children:[(0,s.jsx)("span",{className:"bf-sr-only",children:"Custom slippage percent"}),(0,s.jsx)("input",{value:i,onChange:x=>{l(ks(x.target.value))},onKeyDown:x=>{x.key==="Enter"&&(x.preventDefault(),g())},inputMode:"decimal",placeholder:"Enter custom slippage",autoComplete:"off",spellCheck:!1}),(0,s.jsx)("span",{"aria-hidden":"true",children:"%"})]})]}),f?(0,s.jsx)("p",{className:"bf-slippage-message","data-variant":"error",children:"Slippage cannot exceed 50%."}):m?(0,s.jsx)("p",{className:"bf-slippage-message","data-variant":"warning",children:"Your transaction may be frontrun due to high slippage."}):null,p&&(0,s.jsx)("button",{type:"button",className:"bf-slippage-apply",onClick:g,disabled:f,children:"Apply"})]})]})}),o)}function sd({flow:e}){let t=C.useId(),[n,o]=C.useState(!1),[r,a]=C.useState(null),i=bn();return C.useEffect(()=>{a(document.body)},[]),C.useEffect(()=>{let l=p=>{p.key==="Escape"&&e.cancelTerms()};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[e]),!r||!e.termsOpen?null:(0,sn.createPortal)((0,s.jsx)("div",{className:"bf-action-modal-overlay","data-theme":i,role:"presentation",onPointerDown:l=>{l.target===l.currentTarget&&e.cancelTerms()},children:(0,s.jsxs)("section",{className:"bf-action-modal bf-terms-modal",role:"dialog","aria-modal":"true","aria-labelledby":t,children:[(0,s.jsx)("h3",{id:t,children:"Agree to Terms of Service"}),(0,s.jsx)("p",{className:"bf-action-modal-desc",children:"Please make sure to review the Terms of Service before using CROSSD."}),(0,s.jsxs)("div",{className:"bf-terms-check-row","data-checked":n?"true":"false",children:[(0,s.jsxs)("button",{type:"button",className:"bf-terms-check-button",role:"checkbox","aria-checked":n,onClick:()=>o(l=>!l),children:[(0,s.jsx)("span",{className:"bf-terms-checkbox","data-checked":n?"true":"false","aria-hidden":"true"}),(0,s.jsx)("span",{children:"Agree to Terms of Use"})]}),e.termsUrl&&(0,s.jsx)("a",{href:e.termsUrl,target:"_blank",rel:"noreferrer",children:"Terms of Service"})]}),(0,s.jsx)("p",{className:"bf-terms-privacy",children:"I have read and acknowledged the Privacy Policy to use CROSSD"}),(0,s.jsx)("button",{type:"button",className:"bf-action-primary",disabled:!n||e.status==="submitting",onClick:e.confirmTerms,children:"Confirm"})]})}),r)}function ld({value:e,disabled:t=!1}){let[n,o]=C.useState(!1);return(0,s.jsx)("button",{type:"button",className:"bf-copy-button","aria-label":"Copy token address",disabled:t,onClick:()=>{t||navigator.clipboard?.writeText(e).then(()=>{o(!0),window.setTimeout(()=>o(!1),1200)})},children:n?"OK":"Copy"})}function cd({flow:e,approval:t}){let n=C.useId(),[o,r]=C.useState(null),a=bn();if(C.useEffect(()=>{r(document.body)},[]),C.useEffect(()=>{let p=c=>{e.status!=="submitting"&&c.key==="Escape"&&e.cancelApproval()};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[e]),!o)return null;let i=e.status==="submitting"||!e.approveBridge,l=e.status==="submitting";return(0,sn.createPortal)((0,s.jsx)("div",{className:"bf-action-modal-overlay","data-theme":a,role:"presentation",children:(0,s.jsxs)("section",{className:"bf-action-modal bf-approve-modal",role:"dialog","aria-modal":"true","aria-labelledby":n,children:[(0,s.jsxs)("h3",{id:n,children:["Approve ",t.token.symbol]}),(0,s.jsx)(Pn,{token:t.token,size:72}),(0,s.jsxs)("div",{className:"bf-approve-address-box",children:[(0,s.jsx)("span",{children:"Token Address"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:t.tokenAddress}),(0,s.jsx)(ld,{value:t.tokenAddress,disabled:l})]})]}),(0,s.jsxs)("div",{className:"bf-action-buttons",children:[(0,s.jsx)("button",{type:"button",className:"bf-action-secondary",onClick:e.cancelApproval,disabled:e.status==="submitting",children:"Cancel"}),(0,s.jsxs)("button",{type:"button",className:"bf-action-primary",onClick:e.confirmApproval,disabled:i,"aria-busy":l,children:[l&&(0,s.jsx)("span",{className:"bf-action-button-spinner","aria-hidden":"true"}),(0,s.jsx)("span",{children:l?"Approving...":"Approve"})]})]})]})}),o)}function dd({flow:e}){let t=C.useId(),[n,o]=C.useState(null),r=bn();return C.useEffect(()=>{o(document.body)},[]),C.useEffect(()=>{if(!e.approvalSuccessOpen)return;let a=i=>{i.key==="Escape"&&e.cancelApproval()};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[e]),!n||!e.approvalSuccessOpen?null:(0,sn.createPortal)((0,s.jsx)("div",{className:"bf-action-modal-overlay","data-theme":r,role:"presentation",children:(0,s.jsxs)("section",{className:"bf-action-modal bf-approval-success-modal",role:"dialog","aria-modal":"true","aria-labelledby":t,children:[(0,s.jsx)("h3",{id:t,children:"Approval Success"}),(0,s.jsx)("span",{className:"bf-success-mark","aria-hidden":"true"}),(0,s.jsxs)("p",{className:"bf-action-modal-desc",children:["Token approval confirmed successfully.",(0,s.jsx)("br",{}),"Please continue to the next step."]}),(0,s.jsxs)("div",{className:"bf-action-buttons",children:[(0,s.jsx)("button",{type:"button",className:"bf-action-secondary",onClick:e.cancelApproval,children:"Cancel"}),(0,s.jsx)("button",{type:"button",className:"bf-action-primary",onClick:e.continueAfterApproval,children:"Continue"})]})]})}),n)}function pd({fromAmount:e,toAmount:t,fromToken:n,toToken:o}){let[r,a]=C.useState(!1),i=C.useMemo(()=>{let c=new bt.default(e||"0"),f=new bt.default(t||"0");return!c.isFinite()||!f.isFinite()||c.lte(0)||f.lte(0)?null:r?c.dividedBy(f):f.dividedBy(c)},[e,r,t]);if(!i||!n||!o||n.symbol===o.symbol)return null;let l=r?o.symbol:n.symbol,p=r?n.symbol:o.symbol;return(0,s.jsxs)("button",{type:"button",className:"bf-exchange-rate",onClick:()=>a(c=>!c),children:[(0,s.jsxs)("span",{children:["1 ",l]}),(0,s.jsx)(fs,{size:12}),(0,s.jsxs)("span",{children:[Is(i)," ",p]})]})}function fd({flow:e}){return e.submitToast?(0,s.jsxs)("div",{className:"bf-status-toast","data-variant":"processing",role:"status","aria-live":"polite",children:[(0,s.jsx)("span",{className:"bf-status-toast-icon","aria-hidden":"true",children:(0,s.jsx)("span",{className:"bf-status-spinner"})}),(0,s.jsxs)("span",{className:"bf-status-toast-copy",children:[(0,s.jsx)("strong",{children:"Transaction Processing"}),(0,s.jsx)("span",{children:"Your transaction is being processed on the blockchain"})]})]}):null}function ud({message:e}){let[t,n]=C.useState(!1);return C.useEffect(()=>{if(!e){n(!1);return}n(!0);let o=window.setTimeout(()=>{n(!1)},3500);return()=>window.clearTimeout(o)},[e]),!e||!t?null:(0,s.jsxs)("div",{className:"bf-status-toast","data-variant":"error",role:"alert","aria-live":"assertive",children:[(0,s.jsx)("span",{className:"bf-status-toast-icon","aria-hidden":"true",children:(0,s.jsx)("span",{className:"bf-status-error-mark",children:"!"})}),(0,s.jsxs)("span",{className:"bf-status-toast-copy",children:[(0,s.jsx)("strong",{children:"Error"}),(0,s.jsx)("span",{children:e})]})]})}function md(e){switch(e){case"swap":case"deposit-swap":case"swap-withdraw":return"Swap Transaction Sent";case"bridge":return"Bridge Transaction Sent";case"swap-bridge":return"Swap & Bridge Transaction Sent";case"bridge-swap":return"Bridge & Swap Transaction Sent";default:return"Transaction Sent"}}function gd({flow:e}){let t=C.useId(),[n,o]=C.useState(null),r=e.submitted,a=bn();return C.useEffect(()=>{o(document.body)},[]),C.useEffect(()=>{if(!e.successDialogOpen)return;let i=l=>{l.key==="Escape"&&e.dismissSuccessDialog()};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[e]),!n||!e.successDialogOpen||!r?null:(0,sn.createPortal)((0,s.jsx)("div",{className:"bf-success-overlay","data-theme":a,role:"presentation",children:(0,s.jsx)("section",{className:"bf-success-modal",role:"dialog","aria-modal":"true","aria-labelledby":t,children:(0,s.jsxs)("div",{className:"bf-success-body",children:[(0,s.jsx)("span",{className:"bf-success-mark","aria-hidden":"true"}),(0,s.jsxs)("div",{className:"bf-success-copy",children:[(0,s.jsx)("strong",{id:t,children:md(r.pathType)}),(0,s.jsx)("span",{children:"Please check the results in the history."})]}),(0,s.jsx)("div",{className:"bf-success-route","aria-hidden":"true",children:(r.routeTokens&&r.routeTokens.length>0?r.routeTokens:[{symbol:r.fromToken.symbol,iconUrl:r.fromToken.iconUrl},{symbol:r.toToken.symbol,iconUrl:r.toToken.iconUrl}]).map((i,l)=>(0,s.jsxs)(C.Fragment,{children:[l>0&&(0,s.jsx)("span",{className:"bf-success-route-arrow",children:"\u2192"}),(0,s.jsx)(Rr,{token:i,size:43})]},`${i.symbol}-${l}`))}),(0,s.jsx)("button",{type:"button",className:"bf-success-ok",onClick:e.dismissSuccessDialog,children:"OK"})]})})}),n)}function Rr({token:e,size:t=16}){let n=!!e.iconUrl;return(0,s.jsx)("span",{className:"bf-token-icon","data-has-image":n?"true":"false",style:{width:t,height:t},children:e.iconUrl?(0,s.jsx)("img",{src:e.iconUrl,alt:"",width:t,height:t,draggable:!1}):(0,s.jsx)("span",{className:"bf-token-fallback",children:e.symbol?.slice(0,1)??"?"})})}function hd({row:e}){return e.routeTokens&&e.routeTokens.length>0?(0,s.jsx)("span",{className:"bf-info-route",children:e.routeTokens.map((t,n)=>(0,s.jsxs)(C.Fragment,{children:[n>0&&(0,s.jsx)("span",{className:"bf-info-route-arrow","aria-hidden":"true",children:"\u2192"}),(0,s.jsx)(Rr,{token:t})]},`${t.symbol}-${n}`))}):e.valueToken?(0,s.jsxs)("span",{className:"bf-info-value-token",children:[(0,s.jsx)(Rr,{token:e.valueToken}),(0,s.jsx)("span",{children:e.value})]}):(0,s.jsx)(s.Fragment,{children:e.value})}function Ps({rows:e}){return!e||e.length===0?null:(0,s.jsx)("div",{className:"bf-info-rows",children:e.map((t,n)=>(0,s.jsxs)("div",{className:"bf-info-row",children:[(0,s.jsxs)("span",{className:"bf-info-label",children:[(0,s.jsx)("span",{className:"bf-tree-marker",children:n===e.length-1?"\u2514":"\u251C"}),(0,s.jsx)("span",{children:t.label})]}),(0,s.jsx)("span",{className:"bf-info-value","data-tone":t.tone??"default",children:(0,s.jsx)(hd,{row:t})})]},`${t.label}-${t.value}`))})}function bd(e,t,n){return e.pathType==="bridge"?"Bridge Info":As(e.pathType)?"Swap Info":t&&n?"Swap & Bridge Info":t?"Bridge Info":"Swap Info"}function wd({summary:e}){let t=!!e.bridgeInfo?.length,n=!!e.swapInfo?.length,o=t&&n,r=e.pathType==="bridge-swap"?["bridge","swap"]:["swap","bridge"];return(0,s.jsx)(s.Fragment,{children:r.map(a=>{let i=a==="swap"?e.swapInfo:e.bridgeInfo;return i?.length?(0,s.jsxs)("div",{className:"bf-info-section",children:[o&&(0,s.jsx)("h4",{children:a==="swap"?"Swap Info":"Bridge Info"}),(0,s.jsx)(Ps,{rows:i})]},a):null})})}function xd({summary:e}){let t=!!e.bridgeInfo?.length,n=!!e.swapInfo?.length,o=!!e.txFee?.length,r=bd(e,t,n),[a,i]=C.useState(!0),[l,p]=C.useState(!0);return(0,s.jsxs)("div",{className:"bf-details",children:[e.liquidity&&(0,s.jsxs)("section",{className:"bf-liquidity",children:[(0,s.jsxs)("div",{className:"bf-liquidity-head",children:[(0,s.jsx)("span",{children:e.liquidity.label??"Available Liquidity"}),(0,s.jsx)("span",{className:"bf-liquidity-status","data-status":e.liquidity.status,children:e.liquidity.status??"Normal"})]}),(0,s.jsx)("div",{className:"bf-liquidity-track",children:(0,s.jsx)("span",{style:{width:`${e.liquidity.percentage??50}%`}})})]}),(t||n)&&(0,s.jsxs)("section",{className:"bf-detail-section bf-info-card","data-open":a?"true":"false",children:[(0,s.jsxs)("button",{type:"button",className:"bf-collapse-head","aria-expanded":a,onClick:()=>i(c=>!c),children:[(0,s.jsx)("h3",{children:r}),(0,s.jsx)(Jt,{size:16,className:"bf-collapse-chevron"})]}),a&&(0,s.jsx)("div",{className:"bf-collapse-body",children:(0,s.jsx)(wd,{summary:e})})]}),o&&(0,s.jsxs)("section",{className:"bf-detail-section bf-tx-fee-section","data-open":l?"true":"false",children:[(0,s.jsxs)("button",{type:"button",className:"bf-collapse-head bf-tx-fee-head","aria-expanded":l,onClick:()=>p(c=>!c),children:[(0,s.jsx)("h3",{children:"Est. Tx Fee"}),(0,s.jsxs)("div",{className:"bf-tx-fee-total",children:[e.txFeeInfo?.isDelegateFee&&(0,s.jsx)("span",{className:"bf-fee-delegated",children:"Fee Delegated"}),e.txFeeInfo?.tokenIconUrl&&(0,s.jsx)("img",{className:"bf-tx-fee-token",src:e.txFeeInfo.tokenIconUrl,alt:e.txFeeInfo.tokenSymbol??"",width:16,height:16,draggable:!1}),(0,s.jsx)("span",{"data-delegated":e.txFeeInfo?.isDelegateFee&&Number(e.txFeeInfo?.estTxFee)>0?"true":void 0,children:qc(e.txFeeInfo?.estTxFee??"0")}),(0,s.jsx)(Jt,{size:16,className:"bf-collapse-chevron"})]})]}),l&&(0,s.jsx)("div",{className:"bf-collapse-body",children:(0,s.jsx)(Ps,{rows:e.txFee})})]})]})}function vd({item:e}){let t=Lo(e),n=ed(e.fromAmount,e.fromToken);return(0,s.jsxs)("article",{className:"bf-history-item",children:[(0,s.jsxs)("div",{className:"bf-history-item-head",children:[(0,s.jsx)("span",{className:"bf-history-status","data-status":t,children:nd(t)}),(0,s.jsx)("time",{className:"bf-history-time",dateTime:e.timestamp,children:Xc(e.timestamp)})]}),(0,s.jsxs)("div",{className:"bf-history-item-body",children:[(0,s.jsxs)("strong",{className:"bf-history-amount",children:[Jc(e.fromAmount)," ",e.fromToken.symbol]}),(0,s.jsxs)("div",{className:"bf-history-meta",children:[(0,s.jsx)("span",{className:"bf-history-usd",children:n??Zc(e.txHash)}),(0,s.jsxs)("span",{className:"bf-history-route",children:[(0,s.jsxs)("span",{className:"bf-history-route-token",children:[(0,s.jsx)(Pn,{token:e.fromToken,size:16}),(0,s.jsx)("span",{children:e.fromToken.symbol})]}),(0,s.jsx)(ps,{size:16,className:"bf-history-route-arrow"}),(0,s.jsxs)("span",{className:"bf-history-route-token",children:[(0,s.jsx)(Pn,{token:e.toToken,size:16}),(0,s.jsx)("span",{children:e.toToken.symbol})]})]})]})]})]})}function yd({flow:e}){let[t,n]=C.useState("all"),o=e.history.some(i=>Lo(i)==="pending"),r=e.history.filter(i=>td(i,t)),a=t==="all"?"No bridge history yet.":`No ${t} bridge history.`;return(0,s.jsxs)("main",{className:"bf-history-body",children:[(0,s.jsx)("nav",{className:"bf-history-tabs","aria-label":"Bridge history filters",children:$c.map(i=>(0,s.jsxs)("button",{type:"button",className:"bf-history-tab","data-active":t===i.value?"true":"false",onClick:()=>n(i.value),children:[(0,s.jsx)("span",{children:i.label}),i.value==="pending"&&o&&(0,s.jsx)("span",{className:"bf-history-tab-dot","aria-hidden":"true"})]},i.value))}),r.length>0?(0,s.jsx)("div",{className:"bf-history-list",children:r.map(i=>(0,s.jsx)(vd,{item:i},i.id||i.txHash))}):(0,s.jsx)("div",{className:"bf-empty",children:a})]})}function kd({flow:e,env:t}){let[n,o]=C.useState(null),[r,a]=C.useState(!1),[i,l]=C.useState(0),c=!!(e.fromAmount.trim()||e.toAmount.trim())?e.summary??rd(e):null,f=Uc[t],m=od(e.quoteError),h=Kc(e.fromAmount,e.fromToken),g=h?"Insufficient balance":m.from,v=e.quoteError&&!m.from&&!m.to?e.quoteError:"",x=e.error||v,w=e.history.some(u=>Lo(u)==="pending"),A=(c?.pathType??Es(e.fromToken,e.toToken))!=="bridge";return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("main",{className:"bf-body",children:[(0,s.jsxs)("div",{className:"bf-toolbar",children:[(0,s.jsxs)("button",{type:"button",className:"bf-chip bf-chip-history",onClick:()=>e.setStep("history"),children:[(0,s.jsx)(ls,{}),(0,s.jsx)("span",{children:"History"}),(w||e.hasNewHistory)&&(0,s.jsx)("span",{className:"bf-chip-dot","aria-hidden":"true"})]}),A&&(0,s.jsxs)("button",{type:"button",className:"bf-chip",onClick:()=>a(!0),disabled:e.slippageLocked,"aria-haspopup":"dialog","aria-expanded":r,children:[(0,s.jsx)(cs,{}),(0,s.jsx)("span",{children:e.slippageLocked?"Auto 1%":jc(e.slippage,e.effectiveSlippage)})]})]}),(0,s.jsxs)("div",{className:"bf-swap-card","data-has-from-error":g?"true":"false",children:[(0,s.jsx)(Rs,{label:"From",token:e.fromToken,amount:e.fromAmount,usd:Ss(e.fromAmount,e.fromToken),onAmountChange:u=>e.setAmount(u,"from"),onTokenClick:()=>o("from")}),g&&(0,s.jsx)("div",{className:"bf-field-error",children:g}),(0,s.jsx)("button",{type:"button",className:"bf-swap-toggle",onClick:()=>{e.swapTokens(),l(u=>u+360)},style:{transform:`translateX(-50%) rotate(${i}deg)`,transition:"transform 0.2s ease"},children:(0,s.jsx)(ds,{size:22})}),(0,s.jsx)(Rs,{label:"To",token:e.toToken,amount:e.toAmount,usd:Ss(e.toAmount,e.toToken),onAmountChange:u=>e.setAmount(u,"to"),onTokenClick:()=>o("to"),locked:e.availableToTokens.length<=1}),m.to&&(0,s.jsx)("div",{className:"bf-field-error",children:m.to})]}),(0,s.jsx)(pd,{fromAmount:e.fromAmount,toAmount:e.toAmount,fromToken:e.fromToken,toToken:e.toToken}),c&&(0,s.jsx)(xd,{summary:c})]}),(0,s.jsxs)("footer",{className:"bf-footer",children:[(0,s.jsx)("button",{type:"button",className:"bf-next",onClick:e.submit,disabled:e.status==="submitting"||!!e.quoteError||h,children:e.status==="submitting"?"Processing...":"Next"}),(0,s.jsxs)("a",{className:"bf-powered",href:f,target:"_blank",rel:"noreferrer",children:["Powered by ",(0,s.jsx)("span",{className:"bf-powered-brand",children:"CROSS DeFi"})]})]}),n&&(0,s.jsx)(id,{flow:e,side:n,onClose:()=>o(null)}),r&&(0,s.jsx)(ad,{flow:e,onClose:()=>a(!1)}),(0,s.jsx)(sd,{flow:e}),e.approvalInfo&&(0,s.jsx)(cd,{flow:e,approval:e.approvalInfo}),(0,s.jsx)(dd,{flow:e}),(0,s.jsx)(fd,{flow:e}),(0,s.jsx)(ud,{message:e.submitToast?"":x}),(0,s.jsx)(gd,{flow:e})]})}function Bn({onClose:e,onBackToWallet:t,env:n,className:o,...r}){let a=C.useMemo(()=>Be(n),[n]),i=vs({...r,onExit:t}),l=C.useRef(null),p=Gc(l),c=i.step==="history"?"History":"Swap & Bridge";return(0,s.jsx)(Ns.Provider,{value:p,children:(0,s.jsxs)("div",{ref:l,className:ne("bf-root",o),"data-view":i.step,"data-status":i.status,children:[(0,s.jsxs)("header",{className:"bf-header",children:[(0,s.jsx)("button",{type:"button",className:"bf-header-btn",onClick:i.back,"aria-label":"Back",children:(0,s.jsx)(Xt,{size:24})}),(0,s.jsx)("span",{className:"bf-header-title",children:c}),(0,s.jsx)("button",{type:"button",className:"bf-header-btn",onClick:e,"aria-label":"Close",children:(0,s.jsx)(kt,{size:24})})]}),i.step==="history"?(0,s.jsx)(yd,{flow:i}):(0,s.jsx)(kd,{flow:i,env:a})]})})}var d=require("react/jsx-runtime"),Sd="On-ramp is not available in your region.";function Nr(e,t,n){let o=Me[e],r=n.toUpperCase();if(t===o.cross&&r.includes("CROSSD"))return 0;if(t===o.cross&&r==="CROSS")return 1;if(t===o.bsc&&r==="CROSS")return 2}function Cd(e){return parseInt(e.split(":")[1],10)}function Rd(e){let t=e.lastIndexOf(".");return t===-1?{main:e,decimal:""}:{main:e.slice(0,t),decimal:e.slice(t)}}function Nd(e){let t=e.toLowerCase().replace(/^0x/,""),n=t.length>=8?t.slice(0,8):t.padEnd(8,"0"),o=parseInt(n.slice(0,4),16)%360,r=(o+60+parseInt(n.slice(4,8),16)%120)%360;return`linear-gradient(135deg, hsl(${o} 85% 65%), hsl(${r} 80% 55%))`}function Fs({align:e="end",sideOffset:t=12,className:n,children:o}){let{env:r,theme:a,isMobile:i,open:l,drawerDirection:p,modal:c,showBalance:f,showForgeToken:m,showGameToken:h,showQR:g,showBridge:v,qrLogoSrc:x,walletAddress:w,accountName:y,sendAccounts:A,profileImageUrl:u,preferredTokens:T,close:S,onSelectWallet:P,onCopyAddress:B,onBuy:te,onDisconnect:O,disconnectLabel:Y,termsUrl:_,termsLabel:re,privacyUrl:G,privacyLabel:Ce,portalStyle:pe,navContent:me,navPosition:Ue,footerContent:ge,view:U,setView:he,selectedSendToken:de,setSelectedSendToken:$,showPortfolio:$e,portfolioTitle:ve,showTotalAssets:Oe,totalAssetsLabel:ye,sendTransaction:it,getTransactionReceipt:Le,estimateGas:_t,onOutlink:Ge,lpBalanceReader:wt,stakingRewardsReader:Tt,bridgeTokens:be,bridgeHistory:Re,getBridgeQuote:Xe,getBridgeToTokens:Ee,getBridgeApproval:Ne,approveBridge:we,submitBridge:xt,onReceive:je,onBridge:at,onSend:Ae,onBuyDisabledMessage:vt}=Wt(),[yt,ze]=F.useState(null),st=F.useRef(void 0),Je=F.useCallback(b=>{ze(b),clearTimeout(st.current),st.current=setTimeout(()=>ze(null),4e3)},[]);F.useEffect(()=>()=>clearTimeout(st.current),[]);let fe=!!vt,et=F.useCallback(()=>{if(fe){Je(vt);return}let b=te?.();b&&typeof b.then=="function"&&b.catch(()=>{Je(vt??Sd)})},[fe,vt,te,Je]),{tokens:Pe,isLoading:tt}=At(r,w,l&&f),{statsMap:Ve}=Pt(r,f),{categoryMap:It}=la(r,f),Lt=f&&Oe,{displayValue:lt,isLowerBound:Ot,isLoading:ct}=da(r,w,l&&Lt),[Te,k]=F.useState(!1),q=F.useRef(null),[ie,qe]=F.useState(0),{holdings:Ke,isLoading:zt}=na(r,w,l&&f&&m),zo=F.useMemo(()=>Ke.map(b=>b.token),[Ke]),{imageMap:vn}=oa(r,zo,m&&Ke.length>0),nt=F.useMemo(()=>{let b=[],L=[],K=[],We=new Map((T??[]).map((X,ke)=>[`${Cd(X.chainId)}:${X.address.toLowerCase()}`,ke]));for(let X of Pe){let ke=Nr(r,X.chainId,X.symbol)!==void 0,qt=`${X.chainId}:${X.address.toLowerCase()}`,Kt=We.get(qt),Vo=new wn.default(X.quantity.numeric).shiftedBy(-X.quantity.decimals);if(ke)b.push(X);else if(Kt!==void 0)L.push(X);else if(Vo.isGreaterThan(0)){if(!h&&It.get(fr(X.chainId,X.address))==="game")continue;K.push(X)}}return b.sort((X,ke)=>{let qt=Nr(r,X.chainId,X.symbol)??99,Kt=Nr(r,ke.chainId,ke.symbol)??99;return qt-Kt}),L.sort((X,ke)=>{let qt=We.get(`${X.chainId}:${X.address.toLowerCase()}`)??99,Kt=We.get(`${ke.chainId}:${ke.address.toLowerCase()}`)??99;return qt-Kt}),K.sort((X,ke)=>{let qt=Ve.get(ut(X.chainId,X.address)),Kt=Ve.get(ut(ke.chainId,ke.address)),Vo=new wn.default(X.quantity.numeric).shiftedBy(-X.quantity.decimals).multipliedBy(qt?.price??0);return new wn.default(ke.quantity.numeric).shiftedBy(-ke.quantity.decimals).multipliedBy(Kt?.price??0).minus(Vo).toNumber()}),[...b,...L,...K]},[Pe,r,Ve,h,It,T]),$n=F.useMemo(()=>{if(!m)return[];let b=new Set(Pe.map(L=>L.address.toLowerCase()));return[...Ke].filter(L=>!b.has(L.token.toLowerCase())).sort((L,K)=>{let We=new wn.default(L.value);return new wn.default(K.value).minus(We).toNumber()})},[Ke,m,Pe]),I=F.useRef(!1),[Z,j]=F.useState(null),ue=F.useRef(void 0),jn=Z?.chainId??de?.chainId??nt[0]?.chainId??0,{transactionUrl:Wo}=ao(r,jn,Z?.txHash,!!(Z?.txHash&&jn)),Qe=F.useCallback(b=>{I.current=!0,he(b)},[he]),[il,Do]=F.useState("recipient"),Vn=F.useCallback(()=>{$(null),Do("recipient"),Qe("wallet")},[$,Qe]),Ho=F.useCallback((b,L="recipient")=>{Do(L),$(b),Qe("send")},[$,Qe]),al=F.useCallback(()=>{if(at){at();return}Qe("bridge")},[at,Qe]),sl=F.useCallback(b=>{clearTimeout(ue.current),$(null),Qe("wallet"),j({status:"pending",txHash:b.txHash,chainId:b.chainId,description:`${b.amount} ${b.tokenSymbol} to ${Ye(b.recipient)}`})},[$,Qe]),ll=F.useCallback(b=>{let L=de?.chainId;$(null),Qe("wallet"),!(!b||!L)&&(j(K=>({status:"success",txHash:b,chainId:L,description:K?.txHash===b?K.description:"Tap to see your transaction"})),clearTimeout(ue.current),ue.current=setTimeout(()=>j(null),5e3))},[de?.chainId,$,Qe]),cl=F.useCallback(b=>{let L=b.txHash;L&&(j({status:"error",txHash:L,chainId:b.chainId,description:b.message}),clearTimeout(ue.current),ue.current=setTimeout(()=>j(null),5e3))},[]),Go=F.useMemo(()=>{if(je)return je;if(g)return()=>Qe("qr")},[je,g,Qe]),Pr=F.useMemo(()=>{if(Ae)return Ae;if(nt.length===0)return;let b=nt[0];return()=>Ho(b,"token")},[Ae,nt,Ho]);F.useEffect(()=>{l||(I.current=!1,Do("recipient"))},[l]);let Br=F.useRef(null);F.useEffect(()=>{let b=Br.current;if(!b||!i)return;let L=K=>{K.pointerType==="touch"&&K.stopPropagation()};return b.addEventListener("pointerdown",L),()=>b.removeEventListener("pointerdown",L)},[i]);let[dn,Fr]=F.useState(!1),Uo=F.useRef(void 0),[yn,qn]=F.useState(!1);F.useEffect(()=>{if(!yn)return;let b=()=>qn(!1),L=We=>{We.key==="Escape"&&qn(!1)},K=setTimeout(()=>{document.addEventListener("mousedown",b,!0),document.addEventListener("keydown",L,!0)},0);return()=>{clearTimeout(K),document.removeEventListener("mousedown",b,!0),document.removeEventListener("keydown",L,!0)}},[yn]),F.useEffect(()=>()=>clearTimeout(Uo.current),[]),F.useEffect(()=>()=>clearTimeout(ue.current),[]),F.useEffect(()=>{let b=q.current;if(!b||ge===null){qe(0);return}let L=()=>{qe(b.offsetHeight)};if(L(),typeof ResizeObserver>"u")return;let K=new ResizeObserver(L);return K.observe(b),()=>K.disconnect()},[ge]);let Mr=F.useCallback(async()=>{if(!dn)try{await navigator.clipboard.writeText(w),Fr(!0),clearTimeout(Uo.current),Uo.current=setTimeout(()=>Fr(!1),2e3),B?.(w,!0)}catch{B?.(w,!1)}},[w,B,dn]),Kn=F.useCallback(b=>{b.currentTarget.setAttribute("data-loaded","true")},[]),_r=F.useMemo(()=>({background:Nd(w)}),[w]),Qn=F.useMemo(()=>u||Et(r,w,{size:120,bg:a==="dark"?"1A1A2E":"F3F6F8"}),[u,r,w,a]),$o=F.useMemo(()=>Rd(lt),[lt]),Or=_||G?(0,d.jsxs)("div",{className:"wi-legal-links",children:[_&&(0,d.jsx)("a",{className:"wi-legal-link",href:_,target:"_blank",rel:"noopener noreferrer",onClick:b=>Ze(b,_,{category:"terms",origin:"terms"},Ge),children:re}),_&&G&&(0,d.jsx)("span",{className:"wi-legal-sep","aria-hidden":!0,children:"\xB7"}),G&&(0,d.jsx)("a",{className:"wi-legal-link",href:G,target:"_blank",rel:"noopener noreferrer",onClick:b=>Ze(b,G,{category:"privacy",origin:"privacy"},Ge),children:Ce})]}):null,zr=O?(0,d.jsxs)("button",{type:"button",className:"wi-disconnect-btn",onClick:()=>{O(),S()},children:[(0,d.jsx)(ai,{size:16}),(0,d.jsx)("span",{className:"wi-disconnect-label",children:Y})]}):null,dl=f&&!me?(0,d.jsxs)("div",{className:"wi-action-row","aria-label":"Wallet actions",children:[(0,d.jsxs)("button",{type:"button",className:ne("wi-action-card",fe&&"wi-action-card--dimmed"),onClick:et,disabled:!te&&!fe,"aria-disabled":fe||void 0,"aria-label":"Buy",children:[(0,d.jsx)(fi,{size:20}),(0,d.jsx)("span",{children:"Buy"})]}),v?(0,d.jsxs)("button",{type:"button",className:"wi-action-card",onClick:al,"aria-label":"Bridge",children:[(0,d.jsx)(ui,{size:20}),(0,d.jsx)("span",{children:"Bridge"})]}):(0,d.jsxs)("button",{type:"button",className:"wi-action-card",onClick:Go,disabled:!Go,"aria-label":"Receive",children:[(0,d.jsx)(Jo,{size:20}),(0,d.jsx)("span",{children:"Receive"})]}),(0,d.jsxs)("button",{type:"button",className:"wi-action-card",onClick:Pr,disabled:!Pr,"aria-label":"Send",children:[(0,d.jsx)(di,{size:20}),(0,d.jsx)("span",{children:"Send"})]}),(0,d.jsxs)("button",{type:"button",className:"wi-action-card",onClick:()=>Qe("portfolio"),disabled:!$e,"aria-label":"View portfolio",children:[(0,d.jsx)(pi,{size:20}),(0,d.jsx)("span",{children:"Portfolio"})]})]}):null,pl=(0,d.jsxs)("div",{className:ne("wi-view-inner",I.current&&"wi-view-wallet"),children:[Lt&&(0,d.jsxs)("div",{className:"wi-total-section",children:[(0,d.jsxs)("div",{className:"wi-total-head",children:[(0,d.jsx)("span",{className:"wi-total-label",children:ye}),(0,d.jsx)("span",{role:"button",tabIndex:0,className:"wi-total-eye",onClick:b=>{b.stopPropagation(),k(L=>!L)},onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),b.stopPropagation(),k(L=>!L))},"aria-label":Te?"Show balance":"Hide balance",children:Te?(0,d.jsx)(li,{}):(0,d.jsx)(si,{})})]}),(0,d.jsx)("div",{className:"wi-total-body",children:ct?(0,d.jsx)("div",{className:"wi-skeleton-block wi-total-skeleton",style:{width:160,height:42}}):(0,d.jsx)("div",{className:"wi-total-value","data-hidden":Te||void 0,children:Te?(0,d.jsx)("span",{className:"wi-total-mask",children:"\u2022\u2022\u2022\u2022\u2022\u2022"}):(0,d.jsxs)(d.Fragment,{children:[Ot&&(0,d.jsx)("span",{className:"wi-total-lte",children:"\u2264"}),(0,d.jsx)("span",{className:"wi-total-currency",children:"$"}),(0,d.jsx)("span",{className:"wi-total-amount",children:$o.main}),$o.decimal&&(0,d.jsx)("span",{className:"wi-total-decimal",children:$o.decimal})]})})})]}),Ue==="top"&&(me?(0,d.jsx)("div",{className:"wi-nav-fixed",children:me}):dl),f&&(0,d.jsx)("div",{ref:Br,className:"wi-scrollable-body","data-vaul-no-drag":!0,children:(0,d.jsxs)("div",{className:"wi-token-list",children:[tt&&Array.from({length:5},(b,L)=>(0,d.jsxs)("div",{className:"wi-skeleton-item",children:[(0,d.jsxs)("div",{className:"wi-skeleton-left",children:[(0,d.jsx)("div",{className:"wi-skeleton-block wi-skeleton-icon"}),(0,d.jsxs)("div",{className:"wi-skeleton-lines",children:[(0,d.jsx)("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),(0,d.jsx)("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),(0,d.jsxs)("div",{className:"wi-skeleton-right",children:[(0,d.jsx)("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),(0,d.jsx)("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},L)),!tt&&nt.length===0&&!m&&(0,d.jsx)("div",{className:"wi-empty",children:"No Tokens Found"}),nt.map(b=>{let L=Ve.get(ut(b.chainId,b.address)),K=L?parseFloat(L.percent_change_24h):null,We=K!==null&&K>=0,X=Tn(r,b.chainId);return(0,d.jsxs)("button",{type:"button",className:"wi-token-item wi-token-item--button",onClick:()=>Ho(b),"aria-label":`Send ${b.symbol}`,children:[(0,d.jsxs)("div",{className:"wi-token-left",children:[(0,d.jsxs)("div",{className:"wi-token-icon-wrap",children:[(0,d.jsx)("img",{src:b.icon_url,alt:b.symbol,className:"wi-token-icon",width:32,height:32,loading:"lazy",draggable:!1,onLoad:Kn,onError:ke=>{ke.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),X&&(0,d.jsx)("img",{src:X,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:ke=>{ke.currentTarget.style.display="none"}})]}),(0,d.jsxs)("div",{className:"wi-token-info",children:[(0,d.jsx)("span",{className:"wi-token-name",children:b.symbol}),L&&(0,d.jsxs)("div",{className:"wi-token-price-row",children:[(0,d.jsx)("span",{className:"wi-token-price",children:er(L.price)}),(0,d.jsx)("span",{className:"wi-token-change","data-positive":We,"data-zero":K===0||void 0,children:K!==null&&(K===0?"0%":`${We?"+":"-"}${(We?Math.floor:Math.ceil)(Math.abs(K)*100)/100}%`)})]})]})]}),(0,d.jsxs)("div",{className:"wi-token-right",children:[(0,d.jsx)("span",{className:"wi-token-balance",children:Ht(b.quantity.numeric,b.quantity.decimals)}),L&&(0,d.jsx)("span",{className:"wi-token-value",children:gi(b.quantity.numeric,b.quantity.decimals,L.price)})]})]},`${b.address}-${b.chainId}`)}),m&&zt&&Array.from({length:3},(b,L)=>(0,d.jsxs)("div",{className:"wi-skeleton-item",children:[(0,d.jsxs)("div",{className:"wi-skeleton-left",children:[(0,d.jsx)("div",{className:"wi-skeleton-block wi-skeleton-icon"}),(0,d.jsxs)("div",{className:"wi-skeleton-lines",children:[(0,d.jsx)("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),(0,d.jsx)("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),(0,d.jsxs)("div",{className:"wi-skeleton-right",children:[(0,d.jsx)("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),(0,d.jsx)("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},`forge-sk-${L}`)),m&&!zt&&!tt&&nt.length===0&&$n.length===0&&(0,d.jsx)("div",{className:"wi-empty",children:"No Tokens Found"}),m&&$n.map(b=>{let L=vn.get(b.token)||"",K=Tn(r,Me[r].cross);return(0,d.jsxs)("div",{className:"wi-token-item",children:[(0,d.jsxs)("div",{className:"wi-token-left",children:[(0,d.jsxs)("div",{className:"wi-token-icon-wrap",children:[(0,d.jsx)("img",{src:L||"https://contents.crosstoken.io/wallet/token/images/FT.png",alt:b.token_name,className:"wi-token-icon",width:32,height:32,loading:"lazy",draggable:!1,onLoad:Kn,onError:We=>{We.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),K&&(0,d.jsx)("img",{src:K,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:We=>{We.currentTarget.style.display="none"}})]}),(0,d.jsxs)("div",{className:"wi-token-info",children:[(0,d.jsx)("span",{className:"wi-token-name",children:b.token_name}),(0,d.jsx)("div",{className:"wi-token-price-row",children:(0,d.jsxs)("span",{className:"wi-token-price",children:[Ht(b.current_price,18)," CROSS"]})})]})]}),(0,d.jsxs)("div",{className:"wi-token-right",children:[(0,d.jsx)("span",{className:"wi-token-balance",children:Ht(b.balance,18)}),(0,d.jsx)("span",{className:"wi-token-value",children:er(b.current_value_usd)})]})]},`forge-${b.token}`)})]})}),Ue==="bottom"&&me&&(0,d.jsx)("div",{className:"wi-nav-fixed",children:me}),zr&&(0,d.jsx)("div",{className:"wi-wallet-disconnect-row",children:zr})]},"wallet"),fl=$e?(0,d.jsx)("div",{className:ne("wi-view-inner wi-portfolio-body",I.current&&"wi-view-portfolio"),children:(0,d.jsx)(on,{env:r,theme:a,walletAddress:w,showHeader:!1,onOutlink:Ge,lpBalanceReader:wt,stakingRewardsReader:Tt})},"portfolio"):null,ul=de?(0,d.jsx)("div",{className:ne("wi-view-inner wi-send-body",I.current&&"wi-view-send"),children:(0,d.jsx)(In,{env:r,theme:a,walletAddress:w,accountName:y,accounts:A,initialStep:il,token:de,tokens:nt,onTokenChange:$,sendTransaction:it,getTransactionReceipt:Le,estimateGas:_t,getTokenPriceUsd:b=>{let L=Ve.get(ut(b.chainId,b.address));if(!L?.price)return;let K=parseFloat(L.price);return Number.isFinite(K)?K:void 0},onClose:S,onBackToWallet:Vn,onSubmitted:sl,onSuccess:ll,onFailed:cl,onOutlink:Ge})},"send"):null,ml=F.useMemo(()=>be||nt.map(b=>{let L=Ve.get(ut(b.chainId,b.address)),K=L?.price?parseFloat(L.price):void 0;return{name:b.name,symbol:b.symbol,chainId:b.chainId,address:b.address,decimals:b.quantity.decimals,balance:ir(b.quantity.numeric,b.quantity.decimals),iconUrl:b.icon_url,priceUsd:Number.isFinite(K)?K:void 0}}),[be,Ve,nt]),gl=(0,d.jsx)("div",{className:ne("wi-view-inner wi-bridge-body",I.current&&"wi-view-send"),children:(0,d.jsx)(Bn,{env:r,walletAddress:w,tokens:ml,history:Re,termsUrl:_,getQuote:Xe,getToTokens:Ee,getApproval:Ne,approveBridge:we,submitBridge:xt,onClose:S,onBackToWallet:Vn})},"bridge"),jo=!!P&&y?.trim().toLowerCase()!=="my wallet",Wr=(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{className:"wi-receive-avatar",children:[(0,d.jsx)("span",{className:"wi-avatar-fallback",style:_r}),Qn&&(0,d.jsx)("img",{src:Qn,alt:"",className:"wi-avatar-img",width:24,height:24,draggable:!1,onLoad:Kn,onError:b=>{b.currentTarget.style.display="none"}})]}),(0,d.jsx)("span",{className:"wi-receive-account-name",children:y??"Account 1"}),jo&&(0,d.jsx)("span",{className:"wi-receive-chevron","data-open":yn,"aria-hidden":"true",children:(0,d.jsx)(Jt,{size:16})})]}),hl=(0,d.jsxs)("div",{className:ne("wi-view-inner wi-qr-body",I.current&&"wi-view-qr"),children:[(0,d.jsxs)("div",{className:"wi-receive-section",children:[jo?(0,d.jsx)("button",{type:"button",className:"wi-receive-account wi-receive-account--btn",onClick:()=>{qn(!0),P?.()},"aria-label":"Switch account",children:Wr}):(0,d.jsx)("div",{className:"wi-receive-account",children:Wr}),(0,d.jsxs)("div",{className:"wi-qr-block",children:[(0,d.jsxs)("div",{className:"wi-qr-box",children:[(0,d.jsx)(Bs.QRCodeSVG,{value:w,size:180,level:"H",marginSize:2,...x&&{imageSettings:{src:x,height:33,width:33,excavate:!0}}}),!x&&(0,d.jsx)("div",{className:"wi-qr-logo",children:(0,d.jsx)(ci,{size:33})})]}),(0,d.jsx)("p",{className:"wi-qr-address",children:w})]}),(0,d.jsxs)("button",{type:"button",className:"wi-qr-copy-btn",onClick:Mr,children:[(0,d.jsx)("span",{className:"wi-qr-copy-icon",children:dn?(0,d.jsx)(Zt,{size:16}):(0,d.jsx)(Rn,{size:16})}),(0,d.jsx)("span",{className:"wi-qr-copy-text",children:dn?"Copied!":"Copy address"})]})]}),Or&&(0,d.jsx)("div",{className:"wi-receive-footer",children:Or})]},"qr"),bl=U==="qr"||U==="portfolio"||U==="send"||U==="bridge",Dr=ge!==null?(0,d.jsx)("div",{className:"wi-builtin-footer",children:ge}):null,Hr=(0,d.jsxs)("div",{className:"wi-account-text",children:[jo?(0,d.jsxs)("button",{type:"button",className:"wi-account-row wi-account-row--btn",onClick:()=>{qn(!0),P?.()},"aria-label":"Switch account","aria-expanded":yn,children:[(0,d.jsx)("span",{className:"wi-account-name",children:y??"Account 1"}),(0,d.jsx)("span",{className:"wi-account-switch","data-open":yn,"aria-hidden":"true",children:(0,d.jsx)(Jt,{size:20})})]}):(0,d.jsx)("div",{className:"wi-account-row",children:(0,d.jsx)("span",{className:"wi-account-name",children:y??"Account 1"})}),(0,d.jsxs)("button",{type:"button",className:"wi-address-row-btn",onClick:Mr,"aria-label":"Copy address",children:[(0,d.jsx)("span",{className:"wi-account-address",children:Ye(w)}),(0,d.jsx)("span",{className:"wi-account-copy","data-copied":dn,children:dn?(0,d.jsx)(Zt,{size:12}):(0,d.jsx)(Rn,{size:12})})]})]}),Gr=(0,d.jsxs)(d.Fragment,{children:[o,U==="qr"?(0,d.jsx)("div",{className:"wi-sticky-header",children:(0,d.jsxs)("div",{className:"wi-header wi-header--receive",children:[(0,d.jsx)("button",{type:"button",className:"wi-header-back",onClick:Vn,"aria-label":"Back",children:(0,d.jsx)(Xt,{size:24})}),(0,d.jsx)("span",{className:"wi-receive-title",children:"Receive"}),(0,d.jsx)("button",{type:"button",className:"wi-header-action",onClick:S,"aria-label":"Close",children:(0,d.jsx)(kt,{size:24})})]})}):U==="send"||U==="bridge"?null:bl?(0,d.jsxs)("div",{className:"wi-sticky-header",children:[(0,d.jsxs)("div",{className:"wi-header wi-header--wallet wi-header--sub-account",children:[(0,d.jsx)("button",{type:"button",className:"wi-header-back",onClick:Vn,"aria-label":"Back",children:(0,d.jsx)(Xt,{size:24})}),(0,d.jsx)("div",{className:"wi-account-block wi-account-block--sub-account",children:Hr}),(0,d.jsx)("button",{type:"button",className:"wi-header-action",onClick:S,"aria-label":"Close",children:(0,d.jsx)(kt,{size:24})})]}),(0,d.jsx)("hr",{className:"wi-divider"})]}):(0,d.jsxs)("div",{className:"wi-sticky-header",children:[(0,d.jsxs)("div",{className:"wi-header wi-header--wallet",children:[(0,d.jsxs)("div",{className:"wi-account-block",children:[(0,d.jsxs)("div",{className:"wi-avatar",children:[(0,d.jsx)("div",{className:"wi-avatar-fallback",style:_r}),Qn&&(0,d.jsx)("img",{src:Qn,alt:"",className:"wi-avatar-img",width:28,height:28,draggable:!1,onLoad:Kn,onError:b=>{b.currentTarget.style.display="none"}})]}),Hr]}),(0,d.jsxs)("div",{className:"wi-header-actions",children:[g&&v&&(0,d.jsx)("button",{type:"button",className:"wi-header-action wi-header-action--qr",onClick:Go,"aria-label":"Show QR code",children:(0,d.jsx)(Jo,{size:20})}),(0,d.jsx)("button",{type:"button",className:"wi-header-action",onClick:S,"aria-label":"Close",children:(0,d.jsx)(kt,{size:24})})]})]}),(0,d.jsx)("hr",{className:"wi-divider"})]}),(0,d.jsxs)("div",{className:"wi-view-container",children:[U==="wallet"&&pl,U==="qr"&&hl,U==="portfolio"&&fl,U==="send"&&ul,U==="bridge"&&gl]}),U==="wallet"&&yt&&(0,d.jsx)("div",{className:"wi-action-toast",role:"status","aria-live":"polite",children:yt}),U==="wallet"&&Z&&(0,d.jsxs)("a",{className:"wi-send-toast",href:Wo??"#",target:"_blank",rel:"noopener noreferrer",onClick:b=>{if(!Wo){b.preventDefault();return}Ze(b,Wo,{category:"send",origin:"send-transaction",payload:{chainId:Z.chainId,txHash:Z.txHash}},Ge)},children:[(0,d.jsx)("span",{className:"wi-send-toast-icon","data-status":Z.status,"aria-hidden":!0,children:Z.status==="pending"?(0,d.jsx)("span",{className:"wi-send-toast-spinner"}):Z.status==="error"?(0,d.jsx)("span",{className:"wi-send-toast-error-dot"}):(0,d.jsx)(mi,{size:20})}),(0,d.jsxs)("span",{className:"wi-send-toast-copy",children:[(0,d.jsx)("span",{className:"wi-send-toast-title",children:Z.status==="pending"?"Sending...":Z.status==="error"?"Send failed":"Send complete"}),(0,d.jsx)("span",{className:"wi-send-toast-desc",children:Z.status==="pending"||Z.status==="error"?Z.description:"Tap to see your transaction"})]})]}),Dr&&U!=="portfolio"&&U!=="send"&&(0,d.jsx)("div",{className:"wi-sticky-footer",children:(0,d.jsx)("div",{className:"wi-footer",ref:q,children:Dr})})]}),Ur={...pe,...ie>0?{"--wi-footer-height":`${ie}px`}:null};return i?(0,d.jsxs)(Fn.Drawer.Portal,{children:[c&&(0,d.jsx)(Fn.Drawer.Overlay,{className:"wi-drawer-overlay"}),(0,d.jsxs)(Fn.Drawer.Content,{className:ne("wi-drawer-content",n),"data-theme":a,"data-vaul-no-drag":p==="left"||p==="right"?!0:void 0,style:Ur,"data-direction":p,"data-no-balance":!f||void 0,"data-has-footer":ie>0||void 0,"data-view":U,children:[(0,d.jsx)(Fn.Drawer.Title,{className:"wi-sr-only",children:"My Wallet"}),Gr]})]}):(0,d.jsxs)(d.Fragment,{children:[c&&l&&(0,d.jsx)("div",{className:"wi-drawer-overlay",onClick:S}),(0,d.jsx)(Eo.Portal,{children:(0,d.jsx)(Eo.Content,{align:e,sideOffset:t,className:ne("wi-popover-content",n),"data-theme":a,style:Ur,"data-no-balance":!f||void 0,"data-has-footer":ie>0||void 0,"data-view":U,children:Gr})})]})}var Ms=z(require("react"),1);function _s({position:e="top",children:t}){let{setNavContent:n,setNavPosition:o}=Wt();return Ms.useEffect(()=>(n(t),o(e),()=>n(null)),[t,e,n,o]),null}var Os=z(require("react"),1);function zs({children:e}){let{setFooterContent:t}=Wt();return Os.useEffect(()=>(t(e),()=>t(null)),[e,t]),null}W(`[data-theme=dark].wi-popover-content,[data-theme=dark].wi-drawer-content{--wi-primary: var(--ds-accent-primary-default, #019d92);--wi-secondary: var(--ds-system-red-default, #e70077);--wi-surface-bg: var(--ds-bg-default, #121212);--wi-surface-default: var(--ds-surface-medium, rgba(255, 255, 255, .05));--wi-surface-subtle: var(--ds-surface-high, rgba(255, 255, 255, .1));--wi-border-default: var(--ds-border-default, rgba(255, 255, 255, .05));--wi-border-subtle: var(--ds-border-medium, rgba(255, 255, 255, .1));--wi-texticon-primary: var(--ds-content-highest, #ffffff);--wi-texticon-secondary: var(--ds-content-medium, rgba(255, 255, 255, .7));--wi-texticon-tertiary: var(--ds-content-low, rgba(255, 255, 255, .5));--wi-on-primary: var(--ds-accent-primary-on, #ffffff);--wi-error: var(--ds-system-red-default, #e70077);--wi-shadow: 0 2px 16px -2px rgba(0, 0, 0, .4)}[data-theme=light].wi-popover-content,[data-theme=light].wi-drawer-content{--wi-primary: var(--ds-accent-primary-default, #019d92);--wi-secondary: var(--ds-system-red-default, #e70077);--wi-surface-bg: var(--ds-bg-default, #ffffff);--wi-surface-default: var(--ds-surface-medium, rgba(18, 18, 18, .05));--wi-surface-subtle: var(--ds-surface-high, rgba(18, 18, 18, .1));--wi-border-default: var(--ds-border-default, rgba(18, 18, 18, .05));--wi-border-subtle: var(--ds-border-medium, rgba(18, 18, 18, .1));--wi-texticon-primary: var(--ds-content-highest, #121212);--wi-texticon-secondary: var(--ds-content-medium, rgba(18, 18, 18, .7));--wi-texticon-tertiary: var(--ds-content-low, rgba(18, 18, 18, .5));--wi-on-primary: var(--ds-accent-primary-on, #ffffff);--wi-error: var(--ds-system-red-default, #e70077);--wi-shadow: 0 2px 16px -2px rgba(0, 0, 0, .15)}
|