@nexus-cross/dapp-ui 1.1.2-beta.1 → 1.1.2

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 CHANGED
@@ -3,7 +3,7 @@
3
3
  `);O(`@keyframes al-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
4
4
  `);O(`.al-popover-content{z-index:100001;border-radius:16px;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:24px 4px;box-sizing:border-box}.al-popover-content .al-grid{grid-template-columns:repeat(4,100px);row-gap:24px;column-gap:0;padding:0;justify-content:center}.al-popover-content .al-grid-item{flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;padding:8px 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:54px;height:54px;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;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{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: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:36px;height:36px;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.5;letter-spacing:-.16px;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:-.16px;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(--al-text);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:transparent;border-radius:8px;cursor:pointer;transition:background-color .15s ease;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:var(--al-bg-hover)}.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:-.16px;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:-.1px;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:#7346f3;color:var(--al-badge-new-text);font-family:Pretendard,Inter,sans-serif;font-size:9px;font-weight:700;flex-shrink:0}
5
5
  `);O("");var xn=require("react/jsx-runtime");function jn({env:e,theme:t="dark",mobileBreakpoint:o=768,domain:n,children:r}){let i=St(`(max-width: ${o}px)`),[l,p]=It.useState(!1),m=It.useCallback(()=>p(!1),[]),d=ue(e),c=It.useMemo(()=>({env:d,theme:t,isMobile:i,open:l,domain:n,close:m}),[d,t,i,l,n,m]);return(0,xn.jsx)(Un.Provider,{value:c,children:i?(0,xn.jsx)(Fo.Drawer.Root,{direction:"right",open:l,onOpenChange:p,noBodyStyles:!0,children:r},"drawer"):(0,xn.jsx)(Oo.Root,{open:l,onOpenChange:p,children:r},"popover")})}var $o=U(require("@radix-ui/react-popover"),1),Vo=require("vaul");var ae=require("react/jsx-runtime");function Do({size:e=18}){return(0,ae.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,ae.jsx)("rect",{width:"4",height:"4",fill:"currentColor"}),(0,ae.jsx)("rect",{x:"7",width:"4",height:"4",fill:"currentColor"}),(0,ae.jsx)("rect",{x:"14",width:"4",height:"4",fill:"currentColor"}),(0,ae.jsx)("rect",{y:"7",width:"4",height:"4",fill:"currentColor"}),(0,ae.jsx)("rect",{x:"7",y:"7",width:"4",height:"4",fill:"currentColor"}),(0,ae.jsx)("rect",{x:"14",y:"7",width:"4",height:"4",fill:"currentColor"}),(0,ae.jsx)("rect",{y:"14",width:"4",height:"4",fill:"currentColor"}),(0,ae.jsx)("rect",{x:"7",y:"14",width:"4",height:"4",fill:"currentColor"}),(0,ae.jsx)("rect",{x:"14",y:"14",width:"4",height:"4",fill:"currentColor"})]})}function Wo(){return(0,ae.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,ae.jsx)("path",{d:"M12 19L5 12M5 12L12 5M5 12H19",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Bo(){return(0,ae.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,ae.jsx)("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var Gt=require("react/jsx-runtime");function qn({asChild:e,children:t}){let{isMobile:o,theme:n}=hn(),r=t!=null,i=e??!0,l=r?t:(0,Gt.jsx)("button",{type:"button",className:"al-trigger-btn","data-theme":n,children:(0,Gt.jsx)(Do,{size:o?12:18})});return o?(0,Gt.jsx)(Vo.Drawer.Trigger,{asChild:i,children:l}):(0,Gt.jsx)($o.Trigger,{asChild:i,children:l})}var wt=U(require("react"),1),vn=U(require("@radix-ui/react-popover"),1),gt=require("vaul");var zo=require("@tanstack/react-query");var Ho={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 Di="https://stg-contents.crosstoken.io/frontend/common/app-launcher/icons",Wi="https://contents.crosstoken.io/frontend/common/app-launcher/icons";function Fe(e,t){return`${e==="production"?Wi:Di}/${t}.png`}function Go(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:Fe(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:Fe(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:Fe(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:Fe(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:Fe(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:Fe(t,"nft"),order:8e3,type:"nft",badge:null,isNew:!1},{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:Fe(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:Fe(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:Fe(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:Fe(t,"explorer"),order:12e3,type:"explorer",badge:null,isNew:!1}]}}function zt(e){let t=ue(e);return(0,zo.useQuery)({queryKey:["global-menu",t],queryFn:async({signal:o})=>{try{let n=await fetch(Ho[t],{cache:"no-store",signal:o});if(!n.ok)throw new Error(`Failed to fetch global menu: ${n.status}`);return n.json()}catch(n){if(o.aborted)throw n;return Go(t)}},staleTime:0,gcTime:0,retry:!1,refetchOnMount:!0})}function Y(...e){return e.filter(Boolean).join(" ")}var q=require("react/jsx-runtime");function Zn({align:e="end",sideOffset:t=12,className:o}){let{env:n,theme:r,isMobile:i,domain:l,close:p}=hn(),{data:m}=zt(n),d=wt.useMemo(()=>(m?.items??[]).sort((h,P)=>h.order-P.order),[m]),c=8,u=wt.useRef(null),y=wt.useCallback(h=>{u.current={x:h.clientX,y:h.clientY}},[]),b=typeof window<"u"?window.location.pathname:"",g=wt.useCallback((h,P)=>{if(u.current){let N=h.clientX-u.current.x,G=h.clientY-u.current.y;if(u.current=null,Math.abs(N)>c||Math.abs(G)>c)return}let A=P.url[n]??P.url.production,I=Uo(A,l);if(!I)try{let N=new URL(A).pathname;if(b===N||b.startsWith(N+"/")){p();return}}catch{}I?window.open(A,"_blank","noopener,noreferrer"):window.location.href=A,p()},[n,l,p,b]),w=(0,q.jsx)("div",{className:"al-grid","data-theme":r,children:d.map(h=>{let P=h.url[n]??h.url.production,A=Uo(P,l),I=!1;if(!A)try{let N=new URL(P).pathname;I=b===N||b.startsWith(N+"/")}catch{I=!1}return(0,q.jsxs)("button",{type:"button",className:"al-grid-item","data-active":I||void 0,onPointerDown:y,onClick:N=>g(N,h),children:[(0,q.jsxs)("div",{className:"al-grid-item-left",children:[(0,q.jsx)("div",{className:"al-grid-item-icon",children:(0,q.jsx)("img",{src:h.iconUrl,alt:h.label,width:24,height:24,loading:"lazy"})}),(0,q.jsx)("span",{className:"al-grid-item-label",children:h.label}),h.isNew&&(0,q.jsx)("span",{className:"al-badge-new",children:"N"})]}),(0,q.jsx)("div",{className:"al-grid-item-right",children:h.badge&&(0,q.jsx)("span",{className:"al-badge",children:h.badge})})]},h.id)})});return i?(0,q.jsxs)(gt.Drawer.Portal,{children:[(0,q.jsx)(gt.Drawer.Overlay,{className:"al-drawer-overlay"}),(0,q.jsxs)(gt.Drawer.Content,{className:Y("al-drawer-content",o),"data-theme":r,children:[(0,q.jsxs)("div",{className:"al-drawer-header",children:[(0,q.jsx)(gt.Drawer.Close,{className:"al-drawer-close",children:(0,q.jsx)(Wo,{})}),(0,q.jsx)(gt.Drawer.Title,{className:"al-drawer-title",children:"CROSS Services"}),(0,q.jsx)(gt.Drawer.Close,{className:"al-drawer-close",children:(0,q.jsx)(Bo,{})})]}),(0,q.jsx)("div",{className:"al-drawer-body",children:w})]})]}):(0,q.jsx)(vn.Portal,{children:(0,q.jsx)(vn.Content,{align:e,sideOffset:t,className:Y("al-popover-content",o),"data-theme":r,children:w})})}function Uo(e,t){try{let o=new URL(e).hostname;return typeof window>"u"?!0:o!==(t??window.location.hostname)}catch{return!1}}var pe=U(require("react"),1),fi=U(require("@radix-ui/react-popover"),1),gi=require("vaul");var yn=require("react"),Kn=(0,yn.createContext)(null);function Je(){let e=(0,yn.useContext)(Kn);if(!e)throw new Error("WalletInfo compound components must be used within <WalletInfo>");return e}var kn=(n=>(n.CROSSx="crossx",n.MetaMask="io.metamask",n.Binance="com.binance.wallet",n))(kn||{}),Ut={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 R=U(require("react"),1);var et=U(require("bignumber.js"),1);function Bi(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 o=new et.default(e).shiftedBy(-t),n=o.isGreaterThanOrEqualTo(1)?2:4;return o.toFormat(n,et.default.ROUND_DOWN)}function Ne(e){return e.length<=10?e:`${e.slice(0,6)}...${e.slice(-4)}`}function Yn(e){let t=typeof e=="string"?parseFloat(e):e;if(Number.isNaN(t)||t===0)return"$0.00";let o=t>=1?2:4,n=Math.pow(10,o);return`$${(Math.floor(t*n)/n).toLocaleString("en-US",{minimumFractionDigits:o,maximumFractionDigits:o})}`}function jo(e,t,o){let r=new et.default(e).shiftedBy(-t).multipliedBy(new et.default(o));return r.isZero()||r.isNaN()?"$0.00":`$${(r.integerValue(et.default.ROUND_DOWN).isGreaterThanOrEqualTo(1)?r.decimalPlaces(2,et.default.ROUND_DOWN):r.decimalPlaces(4,et.default.ROUND_DOWN)).toFormat()}`}function qo(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 o=t;if(o.includes("e")||o.includes("E")){let l=Number(o);if(!Number.isFinite(l)||l===0)return{displayValue:"0",isLowerBound:!1};o=Bi(l.toFixed(18))}let[n="0",r=""]=o.split(".");if(Number(n)>=1){let l=r.slice(0,2).padEnd(2,"0");return{displayValue:`${Number(n).toLocaleString("en-US")}.${l}`,isLowerBound:!1}}return r.length<4?{displayValue:`${n}.${r}`,isLowerBound:!1}:r.slice(0,4)==="0000"?{displayValue:"0.0001",isLowerBound:!0}:{displayValue:`0.${r.slice(0,4)}`,isLowerBound:!1}}var Le={dev:"https://stg-wallet-server.crosstoken.io/api",stage:"https://stg-wallet-server.crosstoken.io/api",production:"https://wallet-server.crosstoken.io/api"},fe={dev:{cross:612044,bsc:97},stage:{cross:612044,bsc:97},production:{cross:612055,bsc:56}};var Qn={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"},Zo={cross:"https://contents.crosstoken.io/wallet/token/images/CROSS.svg",bsc:"https://contents.crosstoken.io/wallet/token/images/BSC.svg"};function Xn(e,t){let o=fe[e];if(t===o.cross)return Zo.cross;if(t===o.bsc)return Zo.bsc}var $i={dev:"https://dev-portrait.crosstoken.io",stage:"https://dev-portrait.crosstoken.io",production:"https://portrait.crosstoken.io"};function bt(e,t,o={}){if(!t||!t.startsWith("0x"))return;let{size:n=120,bg:r,format:i="png"}=o,l=$i[e],p=r?`&bg=${r}`:"";return`${l}/portrait/evm/${t}.${i}?size=${n}${p}`}var D=require("react/jsx-runtime");function Ko({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 Jn({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 jt({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 eo({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 Yo({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 Qo({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 Xo({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 Jo({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:"M8 5L13 10L8 15",stroke:"currentColor",strokeWidth:1.67,strokeLinecap:"round",strokeLinejoin:"round"})})}function er({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 tr({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 nr({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 or({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})})}var rr=require("react"),ir=require("@tanstack/react-query");var Vi="send:chain-info";function Hi(e){if("data"in e&&e.data!==void 0){let t=e.data;if(Array.isArray(t)){let o=t[0];if(!o)throw new Error("Chain info payload is empty.");return o}return t}return e}function to(e,...t){let o=e.replace(/\/+$/,""),n=t.map(r=>r.replace(/^\/+|\/+$/g,"")).filter(Boolean);return[o,...n].join("/")}function Gi(e,t,o,n){if(n)return t===fe[e].cross?ar(t,n):o?.explorer_url?to(o.explorer_url,o.explorer_postfix?.transaction??"tx",n):zi(e,t,n)}function ar(e,t){return to("https://explorer.crosstoken.io",String(e),"tx",t)}function zi(e,t,o){let n=fe[e];if(t===n.cross)return ar(t,o);if(t===n.bsc)return to(e==="production"?"https://bscscan.com":"https://testnet.bscscan.com","tx",o)}function sr(e,t,o,n=!0){let r=Le[e],i=(0,ir.useQuery)({queryKey:[Vi,e,t],queryFn:async({signal:m})=>{let d=await fetch(`${r}/v1/public/chain/info/${t}`,{cache:"no-store",signal:m});if(!d.ok)throw new Error(`Failed to fetch chain info: ${d.status}`);let c=await d.json();if("code"in c&&c.code!==void 0&&c.code!==200)throw new Error(`Chain info API error: ${c.code}`);return Hi(c)},enabled:n,staleTime:300*1e3}),l=i.data;return{transactionUrl:(0,rr.useMemo)(()=>Gi(e,t,l,o),[t,l,e,o]),chainInfo:l,...i}}var lr="0x0000000000000000000000000000000000000001";var Ui="0xa9059cbb",ji=/^0x[a-fA-F0-9]{40}$/,qi="nexus-cross:dapp-ui:send:recent:",cr=10;function Zi(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===48;)t--;return e.slice(0,t)}function qt(e){return e.toLowerCase()}function Zt(e){return ji.test(e)}function no(e){return qt(e.address)===lr}function oo(e){return`${qi}${e.toLowerCase()}`}function Mt(e){if(typeof window>"u")return[];try{let t=window.localStorage.getItem(oo(e));if(!t)return[];let o=JSON.parse(t);return Array.isArray(o)?o.filter(n=>n!==null&&typeof n=="object"&&Zt(n.address)&&typeof n.updatedAt=="number").slice(0,cr):[]}catch{return[]}}function ro(e,t){if(typeof window>"u")return[];let o=qt(t),n=[{address:o,updatedAt:Date.now()},...Mt(e).filter(r=>r.address!==o)].slice(0,cr);try{window.localStorage.setItem(oo(e),JSON.stringify(n))}catch{return Mt(e)}return n}function io(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(oo(e))}catch{}}function ao(e,t){let o=e.trim();if(!o)return{error:"Enter an amount."};if(!/^\d+(\.\d*)?$/.test(o))return{error:"Enter a valid amount."};let[n="0",r=""]=o.split(".");if(r.length>t)return{error:`Max ${t} decimal places.`};let i=BigInt(n||"0"),l=r.padEnd(t,"0"),p=l?BigInt(l):0n,m=10n**BigInt(t),d=i*m+p;return d<=0n?{error:"Amount must be greater than 0."}:{value:d}}function so(e,t){let o=BigInt(e||"0"),n=10n**BigInt(t),r=o/n,i=o%n;if(i===0n)return r.toString();let l=Zi(i.toString().padStart(t,"0"));return`${r.toString()}.${l}`}function lo(e,t){let o=e.replace(/^0x/,"").toLowerCase().padStart(64,"0"),n=t.toString(16).padStart(64,"0");return`${Ui}${o}${n}`}var Ki=2000000000n,Yi=1000000000n;async function Cn(e,t,o){let n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:t,params:o})});if(!n.ok)throw new Error(`RPC ${t} HTTP ${n.status}`);let r=await n.json();if(r.error)throw new Error(`RPC ${t}: ${r.error.message}`);if(r.result===void 0)throw new Error(`RPC ${t}: empty result`);return r.result}function Nn(e){return BigInt(e)}function Qi(e){return`0x${e.toString(16)}`}function Xi(e){let t={to:e.to};return e.from&&(t.from=e.from),e.value!==void 0&&e.value>0n&&(t.value=Qi(e.value)),e.data&&(t.data=e.data),t}function Ji(e){return e===56||e===97}async function dr(e){try{let t=await Cn(e,"eth_gasPrice",[]);return{gasPrice:Nn(t)}}catch{return{gasPrice:Ki}}}async function ea(e,t){let o=Yi;try{let n=await Cn(e,"eth_maxPriorityFeePerGas",[]);o=Nn(n)}catch{}return{maxFeePerGas:t+o,maxPriorityFeePerGas:o}}async function ta(e,t){if(t)return dr(e);let o;try{o=(await Cn(e,"eth_getBlockByNumber",["latest",!1]))?.baseFeePerGas}catch{}return o?ea(e,Nn(o)):dr(e)}async function pr(e,t){let o=Ji(t.chainId),n=Xi(t),[r,i]=await Promise.all([Cn(e,"eth_estimateGas",[n]),ta(e,o)]);return{gasLimit:Nn(r),gasPrice:i.gasPrice,maxFeePerGas:i.maxFeePerGas,maxPriorityFeePerGas:i.maxPriorityFeePerGas}}function mr(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 o=e,n=[];return typeof o.name=="string"&&n.push(o.name),typeof o.shortMessage=="string"&&n.push(o.shortMessage),typeof o.message=="string"&&n.push(o.message),typeof o.details=="string"&&n.push(o.details),o.cause!==void 0&&n.push(mr(o.cause,t+1)),n.join(`
6
- `).toLowerCase()}function na(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 co(e,t={},o="Failed to send transaction."){let n=mr(e);if(!n)return o;let r=t.nativeSymbol?.trim()||"gas token",i=t.networkName?.trim();if(n.includes("user rejected")||n.includes("userrejected")||n.includes("user denied")||n.includes("user cancelled")||n.includes("user canceled")||n.includes("action_rejected")||n.includes("rejected by user"))return"Transaction was cancelled.";if(n.includes("insufficientfunds")||n.includes("insufficient funds")||n.includes("exceeds the balance of the account")||n.includes("insufficient balance for transfer")){let l=i?` on ${i}`:"";return`Not enough ${r}${l} to cover the gas fee. Top up ${r} and try again.`}return n.includes("transaction underpriced")||n.includes("replacement transaction underpriced")||n.includes("fee too low")?"Gas fee was too low for the network. Please try again.":n.includes("nonce too low")||n.includes("nonce has already been used")||n.includes("nonce too high")?"Pending transactions are out of order. Refresh the page and try again.":n.includes("execution reverted")||n.includes("contractfunctionrevertederror")||n.includes("contractfunctionexecutionerror")?"The transaction was rejected by the contract. The recipient or token may be invalid.":n.match(/chain \d+ is not configured/)?"This network is not registered in the app. Contact support.":n.includes("http request failed")||n.includes("failed to fetch")||n.includes("network request failed")||n.includes("timeout")||n.includes("econnreset")||n.includes("rpc error")||n.includes("429")?"Network connection failed. Check your internet and try again.":n.includes("estimategas")||n.includes("gas estimation failed")?"Could not estimate the gas fee. The recipient address or amount may be invalid.":na(e)||o}O(`.wi-token-item--button{position:relative;width:100%;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:12px;padding:6px 8px;margin:-2px -8px;transition:background-color .15s ease,transform .15s ease}.wi-token-item--button:before{content:"";position:absolute;inset:-6px -16px;border-radius:16px}.wi-token-item--button:active{transform:scale(.99)}.wi-token-item--button:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.wi-view-send{animation:wi-slide-in-right .25s ease-out}.wi-send-body{flex:1;min-height:0;overflow:hidden}.wi-drawer-content[data-direction=bottom][data-view=send]{max-height:100dvh}.send-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.send-scroll{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;overflow-y:auto;overflow-x:hidden;padding:16px 24px 18px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;overscroll-behavior:contain}[data-theme=light] .send-scroll{scrollbar-color:rgba(0,0,0,.12) transparent}.send-scroll::-webkit-scrollbar{width:4px}.send-scroll::-webkit-scrollbar-track{background:transparent}.send-scroll::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}[data-theme=light] .send-scroll::-webkit-scrollbar-thumb{background:#0000001f}.send-section{display:flex;flex-direction:column;gap:8px}.send-asset-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px;border:1px solid var(--wi-border-subtle);border-radius:18px;background:var(--wi-surface-default);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.send-asset-card:disabled{cursor:default}.send-asset-card:not(:disabled):hover,.send-asset-card[aria-expanded=true]{border-color:var(--wi-primary);background:var(--wi-surface-subtle)}.send-token-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;padding:6px;border:1px solid var(--wi-border-subtle);border-radius:16px;background:var(--wi-surface-default)}.send-token-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;border:none;border-radius:12px;background:transparent;color:inherit;font:inherit;text-align:left;padding:8px;cursor:pointer}.send-token-option:hover,.send-token-option[data-selected]{background:var(--wi-surface-subtle)}.send-token-option:focus-visible,.send-asset-card:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-token-option-icon{flex-shrink:0;width:28px;height:28px;object-fit:contain;background:transparent}.send-token-option-symbol{color:var(--wi-texticon-primary);font-size:13px;font-weight:700;line-height:1.3}.send-token-option-balance{color:var(--wi-texticon-secondary);font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap}.send-asset-left{display:flex;align-items:center;gap:12px;min-width:0}.send-asset-icon{flex-shrink:0;width:40px;height:40px;object-fit:contain;background:transparent}.send-asset-info,.send-asset-balance{min-width:0;display:flex;flex-direction:column}.send-asset-symbol{color:var(--wi-texticon-primary);font-size:15px;font-weight:700;line-height:1.3}.send-asset-name,.send-balance-label{color:var(--wi-texticon-tertiary);font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.send-asset-balance{align-items:flex-end;text-align:right}.send-balance-value{color:var(--wi-texticon-primary);font-size:13px;font-weight:600;line-height:1.35;white-space:nowrap}.send-form{display:flex;flex-direction:column;gap:14px}.send-field{display:flex;flex-direction:column;gap:8px}.send-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.send-label{color:var(--wi-texticon-secondary);font-size:13px;font-weight:600;line-height:1.3}.send-input,.send-amount-wrap{width:100%;box-sizing:border-box;border:1px solid var(--wi-border-subtle);border-radius:14px;background:var(--wi-surface-default);color:var(--wi-texticon-primary);font:inherit}.send-input{min-height:46px;padding:0 14px;font-size:16px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.send-input:focus{border-color:var(--wi-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wi-primary) 18%,transparent)}.send-address-wrap[data-invalid],.send-amount-wrap[data-invalid]{border-color:#ff6b6b}.send-address-wrap[data-invalid]:focus-within,.send-amount-wrap[data-invalid]:focus-within{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b29}.send-input::placeholder{color:var(--wi-texticon-tertiary)}.send-address-wrap{display:flex;align-items:center;width:100%;box-sizing:border-box;border:1px solid var(--wi-border-subtle);border-radius:14px;background:var(--wi-surface-default);transition:border-color .15s ease,box-shadow .15s ease}.send-address-wrap:focus-within{border-color:var(--wi-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wi-primary) 18%,transparent)}.send-input--address{flex:1;min-width:0;border:none;background:transparent;box-shadow:none}.send-input--address:focus{box-shadow:none}.send-address-book-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-right:2px;border:none;border-radius:12px;background:transparent;color:var(--wi-texticon-tertiary);cursor:pointer;transition:background-color .15s ease,color .15s ease}.send-address-book-btn:hover,.send-address-book-btn[aria-expanded=true]{background:var(--wi-surface-subtle);color:var(--wi-primary)}.send-address-book-btn:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-address-picker{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--wi-border-subtle);border-radius:18px;background:var(--wi-surface-default)}.send-address-tabs{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--wi-border-subtle)}.send-address-tab{position:relative;border:none;background:transparent;color:var(--wi-texticon-tertiary);font:inherit;font-size:14px;font-weight:800;line-height:1.3;padding:0 0 12px;cursor:pointer}.send-address-tab[data-active]{color:var(--wi-primary)}.send-address-tab[data-active]:after{content:"";position:absolute;left:50%;bottom:-1px;width:34px;height:4px;border-radius:999px;background:var(--wi-primary);transform:translate(-50%)}.send-address-list{display:flex;flex-direction:column;gap:10px;max-height:224px;overflow-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}[data-theme=light] .send-address-list{scrollbar-color:rgba(0,0,0,.14) transparent}.send-address-list::-webkit-scrollbar{width:3px}.send-address-list::-webkit-scrollbar-track{background:transparent}.send-address-list::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}[data-theme=light] .send-address-list::-webkit-scrollbar-thumb{background:#00000024}.send-address-option{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;border:none;border-radius:14px;background:transparent;color:inherit;font:inherit;text-align:left;padding:8px;cursor:pointer;transition:background-color .15s ease}.send-address-option:hover{background:var(--wi-surface-subtle)}.send-address-option:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-address-avatar{flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--wi-surface-subtle);color:var(--wi-primary);font-size:12px;font-weight:800;overflow:hidden}.send-address-avatar-img{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;object-fit:cover}.send-address-avatar-fallback{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center}.send-address-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.send-address-name{color:var(--wi-texticon-primary);font-size:14px;font-weight:800;line-height:1.3}.send-address-value{color:var(--wi-texticon-tertiary);font-size:12px;font-weight:600;line-height:1.3}.send-address-empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--wi-texticon-tertiary);font-size:14px;font-weight:700}.send-amount-wrap{display:flex;align-items:center;padding-right:12px}.send-amount-wrap:focus-within{border-color:var(--wi-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wi-primary) 18%,transparent)}.send-input--amount{border:none;background:transparent;box-shadow:none;flex:1;min-width:0}.send-input--amount:focus{box-shadow:none}.send-amount-symbol{color:var(--wi-texticon-secondary);font-size:13px;font-weight:700}.send-field-error{margin:-2px 0 0;color:#ff6b6b;font-size:12px;font-weight:600;line-height:1.35}.send-max-btn{border:none;border-radius:999px;background:var(--wi-surface-subtle);color:var(--wi-primary);font:inherit;font-size:12px;font-weight:700;padding:4px 10px;cursor:pointer}.send-max-btn:disabled{cursor:not-allowed;opacity:.45}.send-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--wi-texticon-tertiary);font-size:12px;line-height:1.4}.send-meta span:last-child{color:var(--wi-texticon-secondary);font-weight:600}.send-message{border-radius:14px;padding:10px 12px;font-size:12px;line-height:1.45}.send-message--error{background:#ff50501f;color:#ff6b6b}.send-message--success{background:color-mix(in srgb,var(--wi-primary) 12%,transparent);color:var(--wi-primary)}.send-message span{font-weight:700}.send-submit-btn{width:100%;min-height:48px;border:none;border-radius:999px;background:var(--wi-primary);color:var(--wi-primary-contrast, #001410);font:inherit;font-size:15px;font-weight:800;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.send-submit-btn:hover:not(:disabled):not([data-disabled]){transform:translateY(-1px)}.send-submit-btn:disabled,.send-submit-btn[data-disabled]{cursor:not-allowed;opacity:.45}.send-footer{flex-shrink:0;padding:14px 24px 24px;border-top:1px solid var(--wi-border-subtle);background:var(--wi-surface-bg)}.send-page--success{background:var(--wi-surface-bg)}.send-success-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px 24px;text-align:center}.send-success-icon{display:inline-flex;align-items:center;justify-content:center}.send-success-icon[data-pending]{width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--wi-primary) 14%,transparent)}.send-success-spinner{width:28px;height:28px;border:3px solid color-mix(in srgb,var(--wi-primary) 22%,transparent);border-top-color:var(--wi-primary);border-radius:50%;animation:cross-send-spin .8s linear infinite}.send-success-copy{display:flex;flex-direction:column;gap:8px}.send-success-title{margin:0;color:var(--wi-texticon-primary);font-size:22px;font-weight:800;line-height:1.25}.send-success-desc{margin:0;color:var(--wi-texticon-tertiary);font-size:14px;font-weight:600;line-height:1.45}.send-success-hash-card{width:100%;display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--wi-border-subtle);border-radius:18px;background:var(--wi-surface-default);box-sizing:border-box}.send-success-hash-label{color:var(--wi-texticon-tertiary);font-size:12px;font-weight:700;line-height:1.3;text-align:left}.send-success-hash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:none;border-radius:12px;background:var(--wi-surface-subtle);color:var(--wi-texticon-primary);font:inherit;font-size:14px;font-weight:800;padding:12px}.send-success-hash-link{flex:1;display:inline-flex;align-items:center;align-self:stretch;min-width:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:inherit;padding:0;text-align:left;text-decoration:none;cursor:pointer;user-select:none}.send-success-hash-link:hover{color:var(--wi-primary)}.send-success-hash-link:focus-visible,.send-success-copy-btn:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-success-copy-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;border:none;background:transparent;color:var(--wi-primary);font:inherit;font-size:12px;font-weight:800;padding:0;cursor:pointer}@keyframes cross-send-spin{to{transform:rotate(360deg)}}.send-page--review{background:var(--wi-surface-bg)}.send-review-scroll{gap:16px;padding-top:12px}.send-review-amount{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 0}.send-review-amount-icon{width:32px;height:32px;object-fit:contain;flex-shrink:0}.send-review-amount-value{color:var(--wi-texticon-primary);font-size:26px;font-weight:800;line-height:1.3;letter-spacing:-.01em}.send-review-parties{display:flex;flex-direction:column;gap:4px;width:100%}.send-review-party{display:flex;align-items:flex-start;gap:8px;padding:16px;border-radius:8px;background:var(--wi-surface-subtle)}.send-review-party-label{flex-shrink:0;width:80px;color:var(--wi-texticon-tertiary);font-size:14px;line-height:1.4}.send-review-party-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-end;text-align:right}.send-review-party-name{color:var(--wi-texticon-primary);font-size:14px;font-weight:700;line-height:1.3}.send-review-party-addr{width:100%;color:var(--wi-texticon-primary);font-size:12px;line-height:1.4;word-break:break-all}.send-review-section{display:flex;flex-direction:column;gap:8px;width:100%}.send-review-section-title{margin:0;color:var(--wi-texticon-primary);font-size:15px;font-weight:700;line-height:1.6}.send-review-row{display:flex;align-items:flex-start;gap:20px;padding:2px 0}.send-review-row-label{flex-shrink:0;min-width:100px;color:var(--wi-texticon-tertiary);font-size:13px;line-height:1.3;white-space:nowrap}.send-review-row-value{flex:1;min-width:0;color:var(--wi-texticon-primary);font-size:13px;line-height:1.3;text-align:right;word-break:break-all}.send-review-row-value--accent{color:var(--wi-primary)}.send-review-network{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end}.send-review-network-dot{width:6px;height:6px;border-radius:999px;background:var(--wi-primary);flex-shrink:0}.send-footer--review{display:flex;gap:8px}.send-review-btn{flex:1;min-width:0;min-height:48px;padding:12px 16px;border-radius:12px;font:inherit;font-size:16px;font-weight:700;line-height:1.3;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.send-review-btn:disabled{cursor:not-allowed;opacity:.55}.send-review-btn--cancel{background:transparent;border:1px solid var(--wi-primary);color:var(--wi-primary)}.send-review-btn--confirm{background:var(--wi-primary);border:1px solid var(--wi-primary);color:var(--wi-primary-contrast, #001410)}.send-review-btn:not(:disabled):hover{transform:translateY(-1px)}
6
+ `).toLowerCase()}function na(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 co(e,t={},o="Failed to send transaction."){let n=mr(e);if(!n)return o;let r=t.nativeSymbol?.trim()||"gas token",i=t.networkName?.trim();if(n.includes("user rejected")||n.includes("userrejected")||n.includes("user denied")||n.includes("user cancelled")||n.includes("user canceled")||n.includes("action_rejected")||n.includes("rejected by user"))return"Transaction was cancelled.";if(n.includes("insufficientfunds")||n.includes("insufficient funds")||n.includes("exceeds the balance of the account")||n.includes("insufficient balance for transfer")){let l=i?` on ${i}`:"";return`Not enough ${r} to cover the gas fee.Please top up your ${r} balance and try again.`}return n.includes("transaction underpriced")||n.includes("replacement transaction underpriced")||n.includes("fee too low")?"Gas fee was too low for the network. Please try again.":n.includes("nonce too low")||n.includes("nonce has already been used")||n.includes("nonce too high")?"Pending transactions are out of order. Refresh the page and try again.":n.includes("execution reverted")||n.includes("contractfunctionrevertederror")||n.includes("contractfunctionexecutionerror")?"The transaction was rejected by the contract. The recipient or token may be invalid.":n.match(/chain \d+ is not configured/)?"This network is not registered in the app. Contact support.":n.includes("http request failed")||n.includes("failed to fetch")||n.includes("network request failed")||n.includes("timeout")||n.includes("econnreset")||n.includes("rpc error")||n.includes("429")?"Network connection failed. Check your internet and try again.":n.includes("estimategas")||n.includes("gas estimation failed")?"Could not estimate the gas fee. The recipient address or amount may be invalid.":na(e)||o}O(`.wi-token-item--button{position:relative;width:100%;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:12px;padding:6px 8px;margin:-2px -8px;transition:background-color .15s ease,transform .15s ease}.wi-token-item--button:before{content:"";position:absolute;inset:-6px -16px;border-radius:16px}.wi-token-item--button:active{transform:scale(.99)}.wi-token-item--button:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.wi-view-send{animation:wi-slide-in-right .25s ease-out}.wi-send-body{flex:1;min-height:0;overflow:hidden}.wi-drawer-content[data-direction=bottom][data-view=send]{max-height:100dvh}.send-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.send-scroll{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;overflow-y:auto;overflow-x:hidden;padding:16px 24px 18px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;overscroll-behavior:contain}[data-theme=light] .send-scroll{scrollbar-color:rgba(0,0,0,.12) transparent}.send-scroll::-webkit-scrollbar{width:4px}.send-scroll::-webkit-scrollbar-track{background:transparent}.send-scroll::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}[data-theme=light] .send-scroll::-webkit-scrollbar-thumb{background:#0000001f}.send-section{display:flex;flex-direction:column;gap:8px}.send-asset-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px;border:1px solid var(--wi-border-subtle);border-radius:18px;background:var(--wi-surface-default);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.send-asset-card:disabled{cursor:default}.send-asset-card:not(:disabled):hover,.send-asset-card[aria-expanded=true]{border-color:var(--wi-primary);background:var(--wi-surface-subtle)}.send-token-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;padding:6px;border:1px solid var(--wi-border-subtle);border-radius:16px;background:var(--wi-surface-default)}.send-token-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;border:none;border-radius:12px;background:transparent;color:inherit;font:inherit;text-align:left;padding:8px;cursor:pointer}.send-token-option:hover,.send-token-option[data-selected]{background:var(--wi-surface-subtle)}.send-token-option:focus-visible,.send-asset-card:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-token-option-icon{flex-shrink:0;width:28px;height:28px;object-fit:contain;background:transparent}.send-token-option-symbol{color:var(--wi-texticon-primary);font-size:13px;font-weight:700;line-height:1.3}.send-token-option-balance{color:var(--wi-texticon-secondary);font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap}.send-asset-left{display:flex;align-items:center;gap:12px;min-width:0}.send-asset-icon{flex-shrink:0;width:40px;height:40px;object-fit:contain;background:transparent}.send-asset-info,.send-asset-balance{min-width:0;display:flex;flex-direction:column}.send-asset-symbol{color:var(--wi-texticon-primary);font-size:15px;font-weight:700;line-height:1.3}.send-asset-name,.send-balance-label{color:var(--wi-texticon-tertiary);font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.send-asset-balance{align-items:flex-end;text-align:right}.send-balance-value{color:var(--wi-texticon-primary);font-size:13px;font-weight:600;line-height:1.35;white-space:nowrap}.send-form{display:flex;flex-direction:column;gap:14px}.send-field{display:flex;flex-direction:column;gap:8px}.send-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.send-label{color:var(--wi-texticon-secondary);font-size:13px;font-weight:600;line-height:1.3}.send-input,.send-amount-wrap{width:100%;box-sizing:border-box;border:1px solid var(--wi-border-subtle);border-radius:14px;background:var(--wi-surface-default);color:var(--wi-texticon-primary);font:inherit}.send-input{min-height:46px;padding:0 14px;font-size:16px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.send-input:focus{border-color:var(--wi-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wi-primary) 18%,transparent)}.send-address-wrap[data-invalid],.send-amount-wrap[data-invalid]{border-color:#ff6b6b}.send-address-wrap[data-invalid]:focus-within,.send-amount-wrap[data-invalid]:focus-within{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b29}.send-input::placeholder{color:var(--wi-texticon-tertiary)}.send-address-wrap{display:flex;align-items:center;width:100%;box-sizing:border-box;border:1px solid var(--wi-border-subtle);border-radius:14px;background:var(--wi-surface-default);transition:border-color .15s ease,box-shadow .15s ease}.send-address-wrap:focus-within{border-color:var(--wi-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wi-primary) 18%,transparent)}.send-input--address{flex:1;min-width:0;border:none;background:transparent;box-shadow:none}.send-input--address:focus{box-shadow:none}.send-address-book-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-right:2px;border:none;border-radius:12px;background:transparent;color:var(--wi-texticon-tertiary);cursor:pointer;transition:background-color .15s ease,color .15s ease}.send-address-book-btn:hover,.send-address-book-btn[aria-expanded=true]{background:var(--wi-surface-subtle);color:var(--wi-primary)}.send-address-book-btn:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-address-picker{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--wi-border-subtle);border-radius:18px;background:var(--wi-surface-default)}.send-address-tabs{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--wi-border-subtle)}.send-address-tab{position:relative;border:none;background:transparent;color:var(--wi-texticon-tertiary);font:inherit;font-size:14px;font-weight:800;line-height:1.3;padding:0 0 12px;cursor:pointer}.send-address-tab[data-active]{color:var(--wi-primary)}.send-address-tab[data-active]:after{content:"";position:absolute;left:50%;bottom:-1px;width:34px;height:4px;border-radius:999px;background:var(--wi-primary);transform:translate(-50%)}.send-address-list{display:flex;flex-direction:column;gap:10px;max-height:224px;overflow-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}[data-theme=light] .send-address-list{scrollbar-color:rgba(0,0,0,.14) transparent}.send-address-list::-webkit-scrollbar{width:3px}.send-address-list::-webkit-scrollbar-track{background:transparent}.send-address-list::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}[data-theme=light] .send-address-list::-webkit-scrollbar-thumb{background:#00000024}.send-address-option{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;border:none;border-radius:14px;background:transparent;color:inherit;font:inherit;text-align:left;padding:8px;cursor:pointer;transition:background-color .15s ease}.send-address-option:hover{background:var(--wi-surface-subtle)}.send-address-option:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-address-avatar{flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--wi-surface-subtle);color:var(--wi-primary);font-size:12px;font-weight:800;overflow:hidden}.send-address-avatar-img{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;object-fit:cover}.send-address-avatar-fallback{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center}.send-address-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.send-address-name{color:var(--wi-texticon-primary);font-size:14px;font-weight:800;line-height:1.3}.send-address-value{color:var(--wi-texticon-tertiary);font-size:12px;font-weight:600;line-height:1.3}.send-address-empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--wi-texticon-tertiary);font-size:14px;font-weight:700}.send-amount-wrap{display:flex;align-items:center;padding-right:12px}.send-amount-wrap:focus-within{border-color:var(--wi-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wi-primary) 18%,transparent)}.send-input--amount{border:none;background:transparent;box-shadow:none;flex:1;min-width:0}.send-input--amount:focus{box-shadow:none}.send-amount-symbol{color:var(--wi-texticon-secondary);font-size:13px;font-weight:700}.send-field-error{margin:-2px 0 0;color:#ff6b6b;font-size:12px;font-weight:600;line-height:1.35}.send-max-btn{border:none;border-radius:999px;background:var(--wi-surface-subtle);color:var(--wi-primary);font:inherit;font-size:12px;font-weight:700;padding:4px 10px;cursor:pointer}.send-max-btn:disabled{cursor:not-allowed;opacity:.45}.send-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--wi-texticon-tertiary);font-size:12px;line-height:1.4}.send-meta span:last-child{color:var(--wi-texticon-secondary);font-weight:600}.send-message{border-radius:14px;padding:10px 12px;font-size:12px;line-height:1.45}.send-message--error{background:#ff50501f;color:#ff6b6b}.send-message--success{background:color-mix(in srgb,var(--wi-primary) 12%,transparent);color:var(--wi-primary)}.send-message span{font-weight:700}.send-submit-btn{width:100%;min-height:48px;border:none;border-radius:999px;background:var(--wi-primary);color:var(--wi-primary-contrast, #001410);font:inherit;font-size:15px;font-weight:800;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.send-submit-btn:hover:not(:disabled):not([data-disabled]){transform:translateY(-1px)}.send-submit-btn:disabled,.send-submit-btn[data-disabled]{cursor:not-allowed;opacity:.45}.send-footer{flex-shrink:0;padding:14px 24px 24px;border-top:1px solid var(--wi-border-subtle);background:var(--wi-surface-bg)}.send-page--success{background:var(--wi-surface-bg)}.send-success-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px 24px;text-align:center}.send-success-icon{display:inline-flex;align-items:center;justify-content:center}.send-success-icon[data-pending]{width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--wi-primary) 14%,transparent)}.send-success-spinner{width:28px;height:28px;border:3px solid color-mix(in srgb,var(--wi-primary) 22%,transparent);border-top-color:var(--wi-primary);border-radius:50%;animation:cross-send-spin .8s linear infinite}.send-success-copy{display:flex;flex-direction:column;gap:8px}.send-success-title{margin:0;color:var(--wi-texticon-primary);font-size:22px;font-weight:800;line-height:1.25}.send-success-desc{margin:0;color:var(--wi-texticon-tertiary);font-size:14px;font-weight:600;line-height:1.45}.send-success-hash-card{width:100%;display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--wi-border-subtle);border-radius:18px;background:var(--wi-surface-default);box-sizing:border-box}.send-success-hash-label{color:var(--wi-texticon-tertiary);font-size:12px;font-weight:700;line-height:1.3;text-align:left}.send-success-hash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:none;border-radius:12px;background:var(--wi-surface-subtle);color:var(--wi-texticon-primary);font:inherit;font-size:14px;font-weight:800;padding:12px}.send-success-hash-link{flex:1;display:inline-flex;align-items:center;align-self:stretch;min-width:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:inherit;padding:0;text-align:left;text-decoration:none;cursor:pointer;user-select:none}.send-success-hash-link:hover{color:var(--wi-primary)}.send-success-hash-link:focus-visible,.send-success-copy-btn:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-success-copy-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;border:none;background:transparent;color:var(--wi-primary);font:inherit;font-size:12px;font-weight:800;padding:0;cursor:pointer}@keyframes cross-send-spin{to{transform:rotate(360deg)}}.send-page--review{background:var(--wi-surface-bg)}.send-review-scroll{gap:16px;padding-top:12px}.send-review-amount{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 0}.send-review-amount-icon{width:32px;height:32px;object-fit:contain;flex-shrink:0}.send-review-amount-value{color:var(--wi-texticon-primary);font-size:26px;font-weight:800;line-height:1.3;letter-spacing:-.01em}.send-review-parties{display:flex;flex-direction:column;gap:4px;width:100%}.send-review-party{display:flex;align-items:flex-start;gap:8px;padding:16px;border-radius:8px;background:var(--wi-surface-subtle)}.send-review-party-label{flex-shrink:0;width:80px;color:var(--wi-texticon-tertiary);font-size:14px;line-height:1.4}.send-review-party-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-end;text-align:right}.send-review-party-name{color:var(--wi-texticon-primary);font-size:14px;font-weight:700;line-height:1.3}.send-review-party-addr{width:100%;color:var(--wi-texticon-primary);font-size:12px;line-height:1.4;word-break:break-all}.send-review-section{display:flex;flex-direction:column;gap:8px;width:100%}.send-review-section-title{margin:0;color:var(--wi-texticon-primary);font-size:15px;font-weight:700;line-height:1.6}.send-review-row{display:flex;align-items:flex-start;gap:20px;padding:2px 0}.send-review-row-label{flex-shrink:0;min-width:100px;color:var(--wi-texticon-tertiary);font-size:13px;line-height:1.3;white-space:nowrap}.send-review-row-value{flex:1;min-width:0;color:var(--wi-texticon-primary);font-size:13px;line-height:1.3;text-align:right;word-break:break-all}.send-review-row-value--accent{color:var(--wi-primary)}.send-review-network{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end}.send-review-network-dot{width:6px;height:6px;border-radius:999px;background:var(--wi-primary);flex-shrink:0}.send-footer--review{display:flex;gap:8px}.send-review-btn{flex:1;min-width:0;min-height:48px;padding:12px 16px;border-radius:12px;font:inherit;font-size:16px;font-weight:700;line-height:1.3;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.send-review-btn:disabled{cursor:not-allowed;opacity:.55}.send-review-btn--cancel{background:transparent;border:1px solid var(--wi-primary);color:var(--wi-primary)}.send-review-btn--confirm{background:var(--wi-primary);border:1px solid var(--wi-primary);color:var(--wi-primary-contrast, #001410)}.send-review-btn:not(:disabled):hover{transform:translateY(-1px)}
7
7
  `);var a=require("react/jsx-runtime"),oa=1500,ra=120;function po(e){return`${e.chainId}:${e.address.toLowerCase()}`}function ur(e,t){return e.name||`Account ${(e.index??t)+1}`}function fr(e){return e.trim().slice(0,1).toUpperCase()||"A"}function ia(e){return new Promise(t=>setTimeout(t,e))}function aa(e){let{status:t}=e;return t==="reverted"||t==="0x0"||t===0||t===0n||t===!1}function sa(e){return!!(e.token||e.recipient||e.amount)}function fo(e,t,o=10){if(t<=0)return e.toString();let n=10n**BigInt(t),r=e/n,i=e%n;if(i===0n)return r.toString();let p=i.toString().padStart(t,"0").slice(0,Math.max(0,Math.min(o,t)));return p=p.replace(/0+$/,""),p?`${r.toString()}.${p}`:r.toString()}function mo(e,t){return fo(e,t,6)}function uo(e){return fo(e,9,2)}function la(e){return e.toLocaleString("en-US")}function ca(e){return e.maxFeePerGas!==void 0?"dynamic":e.gasPrice!==void 0?"legacy":null}function da(e){return e.maxFeePerGas!==void 0?e.gasLimit*e.maxFeePerGas:e.gasPrice!==void 0?e.gasLimit*e.gasPrice:null}function pa(){return(0,a.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M4.5 4.5C4.5 3.67 5.17 3 6 3h8.25c.69 0 1.25.56 1.25 1.25V16.5H6A1.5 1.5 0 0 1 4.5 15V4.5Z",stroke:"currentColor",strokeWidth:"1.7",strokeLinejoin:"round"}),(0,a.jsx)("path",{d:"M4.5 14.5C4.5 13.67 5.17 13 6 13h9.5",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"}),(0,a.jsx)("path",{d:"M8 6.5h4M8 9h3",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function ma(){return(0,a.jsxs)("svg",{width:"56",height:"56",viewBox:"0 0 56 56",fill:"none","aria-hidden":"true",children:[(0,a.jsx)("circle",{cx:"28",cy:"28",r:"28",fill:"var(--wi-primary)"}),(0,a.jsx)("path",{d:"M17 28.5L24.2 35.5L39 20.5",stroke:"var(--wi-primary-contrast, #001410)",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"})]})}function Kt({env:e,theme:t="dark",walletAddress:o,accountName:n,accounts:r=[],token:i,tokens:l=[],onTokenChange:p,sendTransaction:m,getTransactionReceipt:d,estimateGas:c,onSuccess:u,onConfirmSuccess:y,onOutlink:b}){let[g,w]=R.useState(""),[h,P]=R.useState(""),[A,I]=R.useState(""),[N,G]=R.useState({}),[v,E]=R.useState(""),[H,k]=R.useState(!1),[j,Z]=R.useState(!1),[be,at]=R.useState(!1),[le,Ve]=R.useState("account"),Re=R.useRef(void 0),X=R.useRef(void 0),Ze=R.useRef(null),Ke=R.useRef(null),[ge,Ye]=R.useState(()=>Mt(o)),[xe,te]=R.useState("idle"),[K,_e]=R.useState(null),[ce,Ae]=R.useState(!1),[ve,me]=R.useState(""),ye=R.useRef(0),[ne,Ee]=R.useState(null),[re,st]=R.useState(""),ke=no(i),Qe=R.useMemo(()=>BigInt(i.quantity.numeric||"0"),[i.quantity.numeric]),He=R.useMemo(()=>ht(i.quantity.numeric,i.quantity.decimals),[i.quantity.numeric,i.quantity.decimals]),Ge=R.useMemo(()=>r.filter(f=>f.address.toLowerCase()!==o.toLowerCase()),[r,o]),lt=R.useMemo(()=>{let f=new Map;return Ge.forEach((L,M)=>{f.set(L.address.toLowerCase(),{account:L,index:M})}),f},[Ge]),Te=Ge.length>0,ze=R.useMemo(()=>ue(e),[e]),Pe=t==="dark"?"1A1A2E":"F3F6F8",Xe=l.length>0?l:[i],Ue=Xe.length>1&&!!p,{transactionUrl:Se,chainInfo:we}=sr(ze,i.chainId,v||void 0,!0),Ie=we?.currency_symbol??"",Ce=we?.name??`Chain ID ${i.chainId}`;R.useEffect(()=>{I(""),G({}),E(""),te("idle"),_e(null),me(""),Ae(!1),ye.current+=1},[i.address,i.chainId,g,h]),R.useEffect(()=>{P(""),k(!1)},[i.address,i.chainId]),R.useEffect(()=>{Ye(Mt(o))},[o]),R.useEffect(()=>()=>{clearTimeout(Re.current),clearTimeout(X.current)},[]),R.useEffect(()=>{!Te&&le==="account"&&Ve("recent")},[le,Te]),R.useEffect(()=>{let f=window.visualViewport,L=Ze.current;if(!f||!L)return;let M=()=>{let de=document.activeElement;return L.contains(de)&&(de instanceof HTMLInputElement||de instanceof HTMLTextAreaElement)},S=48,z=()=>{L.style.paddingBottom=""},ie=()=>{if(!M()){z();return}let de=Math.max(0,window.innerHeight-f.height-f.offsetTop);de>0?L.style.paddingBottom=`${de+S}px`:z();let mt=document.activeElement;mt instanceof HTMLElement&&requestAnimationFrame(()=>{let $t=mt.getBoundingClientRect(),un=L.getBoundingClientRect().bottom-de-S,Ht=$t.bottom-un;Ht>0&&L.scrollBy({top:Ht,behavior:"smooth"})})},pt=()=>{setTimeout(()=>{M()||z()},0)};return f.addEventListener("resize",ie),window.addEventListener("resize",ie),L.addEventListener("focusout",pt),()=>{f.removeEventListener("resize",ie),window.removeEventListener("resize",ie),L.removeEventListener("focusout",pt),z()}},[]);let Oe=R.useCallback(()=>{clearTimeout(X.current),X.current=setTimeout(()=>{Ke.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},10)},[]),Hn=R.useCallback(()=>{P(so(i.quantity.numeric,i.quantity.decimals))},[i.quantity.numeric,i.quantity.decimals]),cn=R.useCallback(f=>{w(f),Z(!1)},[]),dn=R.useCallback(()=>{let f={},L=g.trim(),M=ao(h,i.quantity.decimals),S;return L?Zt(L)||(f.recipient="Enter a valid EVM recipient address."):f.recipient="Enter a recipient address.","error"in M?f.amount=M.error:(S=M.value,S>Qe&&(f.amount="Amount exceeds available balance.")),!ke&&!Zt(i.address)&&(f.token="Token contract address is invalid."),{errors:f,rawAmount:S,trimmedRecipient:L}},[h,Qe,ke,g,i.address,i.quantity.decimals]),pn=R.useCallback(async()=>{if(v)try{await navigator.clipboard.writeText(v),at(!0),clearTimeout(Re.current),Re.current=setTimeout(()=>at(!1),2e3)}catch{}},[v]),ct=R.useCallback(()=>{if(!Se||!v)return;let f=S=>{typeof window>"u"||window.open(S,"_blank","noopener,noreferrer")};if(!b){f(Se);return}let L=b(Se,{category:"send",origin:"send-transaction",payload:{chainId:i.chainId,txHash:v}});if(L&&(typeof L=="object"||typeof L=="function")&&typeof L.then=="function"){let S=typeof window<"u"?window.open("","_blank","noopener,noreferrer"):null;L.then(z=>{if(z===null){S?.close();return}let ie=z??Se;if(S)try{S.location.href=ie}catch{S.close(),f(ie)}else f(ie)});return}let M=L;M!==null&&f(M??Se)},[b,i.chainId,Se,v]),dt=R.useCallback((f,L)=>ke?{to:f,value:L,chainId:i.chainId,from:o}:{to:qt(i.address),data:lo(f,L),value:0n,chainId:i.chainId,from:o},[ke,i.address,i.chainId,o]),Tt=R.useCallback(async(f,L,M)=>{if(!c&&!M)return;let S=++ye.current;Ae(!0),me("");try{let z=dt(f,L),ie=c?await c(z):await pr(M,z);if(ye.current!==S)return;_e(ie)}catch(z){if(ye.current!==S)return;me(co(z,{nativeSymbol:Ie||void 0,networkName:Ce,tokenSymbol:i.symbol},"Failed to estimate gas."))}finally{ye.current===S&&Ae(!1)}},[dt,c,Ie,Ce,i.symbol]),mn=R.useCallback(f=>{if(f.preventDefault(),I(""),E(""),!m){te("error"),I("Sending is not available for this wallet.");return}let{errors:L,rawAmount:M,trimmedRecipient:S}=dn();if(G(L),sa(L)||M===void 0){te("error");return}let z=S;Ee(M),st(z),_e(null),me(""),te("review")},[m,dn]);R.useEffect(()=>{xe==="review"&&(!re||ne===null||K===null&&(ce||ve||!c&&!we?.rpc||Tt(re,ne,we?.rpc)))},[we?.rpc,c,Tt,K,ve,ce,ne,re,xe]);let Wt=R.useCallback(async()=>{if(!(!m||!re||ne===null)){I(""),E("");try{te("submitting");let f=await m(dt(re,ne));if(E(f),te("confirming"),Ye(ro(o,re)),u?.(f),!d){te("success");return}for(let L=0;L<ra;L+=1){let M=await d({hash:f,chainId:i.chainId}).catch(()=>null);if(M){if(aa(M)){te("error"),I("Transaction reverted on-chain.");return}te("success");return}await ia(oa)}te("error"),I("Transaction receipt was not found. Please check again later.")}catch(f){te("error"),I(co(f,{nativeSymbol:Ie||void 0,networkName:Ce,tokenSymbol:i.symbol}))}}},[dt,d,Ie,Ce,u,ne,re,m,i.chainId,i.symbol,o]),Gn=R.useCallback(()=>{ye.current+=1,_e(null),me(""),Ae(!1),I(""),te("idle")},[]),Bt=Qe<=0n||!g.trim()||!h.trim();if(xe==="review"||xe==="submitting"){let f=xe==="submitting",L=ne!==null?fo(ne,i.quantity.decimals):h.trim(),M=n?.trim()||`Account ${(r[0]?.index??0)+1}`,S="\u2014",z=Ie||(ke?i.symbol:""),ie=we?.currency_decimals??(ke?i.quantity.decimals:18),pt=K?ca(K):null,de=K?da(K):null,mt=de!==null&&z?`${mo(de,ie)} ${z}`:S,$t=K?la(K.gasLimit):S,Vt=K?.maxPriorityFeePerGas!==void 0?`${uo(K.maxPriorityFeePerGas)} Gwei`:S,un=K?.maxFeePerGas!==void 0?`${uo(K.maxFeePerGas)} Gwei`:S,Ht=K?.gasPrice!==void 0?`${uo(K.gasPrice)} Gwei`:S,Mo=`${L} ${i.symbol}`,fn=(()=>{if(!K||de===null)return S;if(ke&&ne!==null){let Pt=ne+de;return`${mo(Pt,ie)} ${z||i.symbol}`}return z?`${mo(de,ie)} ${z}`:S})();return(0,a.jsxs)("div",{className:"send-page send-page--review",children:[(0,a.jsxs)("div",{className:"send-scroll send-review-scroll","data-vaul-no-drag":!0,children:[(0,a.jsxs)("div",{className:"send-review-amount",children:[(0,a.jsx)("img",{className:"send-review-amount-icon",src:i.icon_url,alt:"",width:32,height:32,draggable:!1,onError:Pt=>{Pt.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),(0,a.jsxs)("span",{className:"send-review-amount-value",children:[L," ",i.symbol]})]}),(0,a.jsxs)("div",{className:"send-review-parties",children:[(0,a.jsxs)("div",{className:"send-review-party",children:[(0,a.jsx)("span",{className:"send-review-party-label",children:"From"}),(0,a.jsxs)("div",{className:"send-review-party-info",children:[(0,a.jsx)("span",{className:"send-review-party-name",children:M}),(0,a.jsx)("span",{className:"send-review-party-addr",children:o})]})]}),(0,a.jsxs)("div",{className:"send-review-party",children:[(0,a.jsx)("span",{className:"send-review-party-label",children:"To"}),(0,a.jsx)("div",{className:"send-review-party-info",children:(0,a.jsx)("span",{className:"send-review-party-addr",children:re})})]})]}),(0,a.jsxs)("section",{className:"send-review-section",children:[(0,a.jsx)("h3",{className:"send-review-section-title",children:"Summary"}),(0,a.jsxs)("div",{className:"send-review-row",children:[(0,a.jsx)("span",{className:"send-review-row-label",children:"Network"}),(0,a.jsxs)("span",{className:"send-review-row-value send-review-network",children:[(0,a.jsx)("span",{className:"send-review-network-dot","aria-hidden":!0}),Ce]})]}),(0,a.jsxs)("div",{className:"send-review-row",children:[(0,a.jsx)("span",{className:"send-review-row-label",children:"Est. Tx Fee"}),(0,a.jsx)("span",{className:"send-review-row-value",children:ce?"\u2026":mt})]}),pt==="dynamic"?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"send-review-row",children:[(0,a.jsx)("span",{className:"send-review-row-label",children:"Max Priority Fee"}),(0,a.jsx)("span",{className:"send-review-row-value",children:ce?"\u2026":Vt})]}),(0,a.jsxs)("div",{className:"send-review-row",children:[(0,a.jsx)("span",{className:"send-review-row-label",children:"Max Gas Fee"}),(0,a.jsx)("span",{className:"send-review-row-value",children:ce?"\u2026":un})]})]}):pt==="legacy"?(0,a.jsxs)("div",{className:"send-review-row",children:[(0,a.jsx)("span",{className:"send-review-row-label",children:"Gas Price"}),(0,a.jsx)("span",{className:"send-review-row-value",children:ce?"\u2026":Ht})]}):null,(0,a.jsxs)("div",{className:"send-review-row",children:[(0,a.jsx)("span",{className:"send-review-row-label",children:"Gas Limit"}),(0,a.jsx)("span",{className:"send-review-row-value",children:ce?"\u2026":$t})]})]}),(0,a.jsxs)("section",{className:"send-review-section",children:[(0,a.jsx)("h3",{className:"send-review-section-title",children:"Total"}),(0,a.jsxs)("div",{className:"send-review-row",children:[(0,a.jsx)("span",{className:"send-review-row-label",children:"Total Amount"}),(0,a.jsx)("span",{className:"send-review-row-value",children:Mo})]}),(0,a.jsxs)("div",{className:"send-review-row",children:[(0,a.jsx)("span",{className:"send-review-row-label",children:"Max. Total Amount"}),(0,a.jsx)("span",{className:"send-review-row-value",children:ce?"\u2026":fn})]})]}),ve&&(0,a.jsx)("div",{className:"send-message send-message--error",role:"alert",children:ve}),A&&(0,a.jsx)("div",{className:"send-message send-message--error",role:"alert",children:A})]}),(0,a.jsxs)("div",{className:"send-footer send-footer--review",children:[(0,a.jsx)("button",{type:"button",className:"send-review-btn send-review-btn--cancel",onClick:Gn,disabled:f,children:"Cancel"}),(0,a.jsx)("button",{type:"button",className:"send-review-btn send-review-btn--confirm",onClick:Wt,disabled:f,children:f?"Sending...":"Send"})]})]})}if((xe==="confirming"||xe==="success")&&v){let f=xe==="success";return(0,a.jsxs)("div",{className:"send-page send-page--success",children:[(0,a.jsxs)("div",{className:"send-success-body","data-vaul-no-drag":!0,children:[(0,a.jsx)("div",{className:"send-success-icon","data-pending":!f||void 0,children:f?(0,a.jsx)(ma,{}):(0,a.jsx)("span",{className:"send-success-spinner"})}),(0,a.jsxs)("div",{className:"send-success-copy",children:[(0,a.jsx)("h3",{className:"send-success-title",children:f?"Transaction Complete":"Transaction in Progress"}),(0,a.jsx)("p",{className:"send-success-desc",children:f?"Your transfer was sent successfully.":"Transfer in progress. Waiting for confirmation."})]}),(0,a.jsxs)("div",{className:"send-success-hash-card",children:[(0,a.jsx)("span",{className:"send-success-hash-label",children:"Transaction Hash"}),(0,a.jsxs)("div",{className:"send-success-hash-row","data-vaul-no-drag":!0,children:[(0,a.jsx)("button",{type:"button",className:"send-success-hash-link",onClick:ct,"aria-label":"Open transaction in explorer",children:Ne(v)}),(0,a.jsx)("button",{type:"button",className:"send-success-copy-btn",onClick:pn,"aria-label":"Copy transaction hash",children:be?(0,a.jsx)(jt,{size:16}):"Copy"})]})]})]}),(0,a.jsx)("div",{className:"send-footer",children:(0,a.jsx)("button",{type:"button",className:"send-submit-btn",onClick:y,disabled:!f,children:f?"All done":"Sending..."})})]})}return(0,a.jsxs)("form",{className:"send-page",onSubmit:mn,children:[(0,a.jsxs)("div",{className:"send-scroll","data-vaul-no-drag":!0,ref:Ze,children:[(0,a.jsxs)("section",{className:"send-section","aria-label":"Select token to send",children:[(0,a.jsx)("span",{className:"send-label",children:"Token"}),(0,a.jsxs)("button",{type:"button",className:"send-asset-card",onClick:()=>{Ue&&k(f=>!f)},disabled:!Ue,"aria-expanded":Ue?H:void 0,children:[(0,a.jsxs)("span",{className:"send-asset-left",children:[(0,a.jsx)("img",{className:"send-asset-icon",src:i.icon_url,alt:i.symbol,width:40,height:40,draggable:!1,onError:f=>{f.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),(0,a.jsxs)("span",{className:"send-asset-info",children:[(0,a.jsx)("span",{className:"send-asset-symbol",children:i.symbol}),(0,a.jsx)("span",{className:"send-asset-name",children:i.name})]})]}),(0,a.jsxs)("span",{className:"send-asset-balance",children:[(0,a.jsx)("span",{className:"send-balance-label",children:"Available"}),(0,a.jsxs)("span",{className:"send-balance-value",children:[He," ",i.symbol]})]})]}),Ue&&H&&(0,a.jsx)("div",{className:"send-token-list",role:"listbox",children:Xe.map(f=>{let L=po(f)===po(i);return(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":L,className:"send-token-option","data-selected":L||void 0,onClick:()=>p?.(f),children:[(0,a.jsxs)("span",{className:"send-asset-left",children:[(0,a.jsx)("img",{className:"send-token-option-icon",src:f.icon_url,alt:f.symbol,width:28,height:28,draggable:!1,onError:M=>{M.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),(0,a.jsxs)("span",{className:"send-asset-info",children:[(0,a.jsx)("span",{className:"send-token-option-symbol",children:f.symbol}),(0,a.jsx)("span",{className:"send-asset-name",children:f.name})]})]}),(0,a.jsx)("span",{className:"send-token-option-balance",children:ht(f.quantity.numeric,f.quantity.decimals)})]},po(f))})}),N.token&&(0,a.jsx)("p",{className:"send-field-error",role:"alert",children:N.token})]}),(0,a.jsxs)("section",{className:"send-field","aria-label":"Recipient address",children:[(0,a.jsx)("span",{className:"send-label",children:"To"}),(0,a.jsxs)("div",{className:"send-address-wrap","data-invalid":N.recipient||void 0,children:[(0,a.jsx)("input",{className:"send-input send-input--address",value:g,onChange:f=>w(f.target.value),placeholder:"0x...",autoComplete:"off",spellCheck:!1,"aria-invalid":!!N.recipient,"aria-describedby":N.recipient?"send-recipient-error":void 0}),(0,a.jsx)("button",{type:"button",className:"send-address-book-btn",onClick:()=>Z(f=>!f),"aria-label":"Open address book","aria-expanded":j,children:(0,a.jsx)(pa,{})})]}),N.recipient&&(0,a.jsx)("p",{id:"send-recipient-error",className:"send-field-error",role:"alert",children:N.recipient}),j&&(0,a.jsxs)("div",{className:"send-address-picker",children:[(0,a.jsxs)("div",{className:"send-address-tabs",role:"tablist",children:[Te&&(0,a.jsx)("button",{type:"button",role:"tab",className:"send-address-tab","data-active":le==="account"||void 0,"aria-selected":le==="account",onClick:()=>Ve("account"),children:"My Account"}),(0,a.jsx)("button",{type:"button",role:"tab",className:"send-address-tab","data-active":le==="recent"||void 0,"aria-selected":le==="recent",onClick:()=>Ve("recent"),children:"Recent"})]}),Te&&le==="account"?(0,a.jsx)("div",{className:"send-address-list",children:Ge.map((f,L)=>{let M=ur(f,L),S=bt(ze,f.address,{size:56,bg:Pe});return(0,a.jsxs)("button",{type:"button",className:"send-address-option",onClick:()=>cn(f.address),children:[(0,a.jsxs)("span",{className:"send-address-avatar","aria-hidden":!0,children:[S&&(0,a.jsx)("img",{className:"send-address-avatar-img",src:S,alt:"",width:36,height:36,draggable:!1,onError:z=>{z.currentTarget.style.display="none"}}),(0,a.jsx)("span",{className:"send-address-avatar-fallback",children:fr(M)})]}),(0,a.jsxs)("span",{className:"send-address-copy",children:[(0,a.jsx)("span",{className:"send-address-name",children:M}),(0,a.jsx)("span",{className:"send-address-value",children:Ne(f.address)})]})]},f.address)})}):ge.length>0?(0,a.jsx)("div",{className:"send-address-list",children:ge.map(f=>{let L=lt.get(f.address.toLowerCase()),M=L?ur(L.account,L.index):void 0,S=bt(ze,f.address,{size:56,bg:Pe});return(0,a.jsxs)("button",{type:"button",className:"send-address-option",onClick:()=>cn(f.address),children:[(0,a.jsxs)("span",{className:"send-address-avatar","aria-hidden":!0,children:[S&&(0,a.jsx)("img",{className:"send-address-avatar-img",src:S,alt:"",width:36,height:36,draggable:!1,onError:z=>{z.currentTarget.style.display="none"}}),(0,a.jsx)("span",{className:"send-address-avatar-fallback",children:M?fr(M):f.address.slice(2,4).toUpperCase()})]}),(0,a.jsxs)("span",{className:"send-address-copy",children:[(0,a.jsx)("span",{className:"send-address-name",children:M??Ne(f.address)}),(0,a.jsx)("span",{className:"send-address-value",children:L?Ne(L.account.address):"Recently sent"})]})]},f.address)})}):(0,a.jsx)("div",{className:"send-address-empty",children:"No Send History"})]})]}),(0,a.jsxs)("section",{className:"send-field","aria-labelledby":"send-amount-label",children:[(0,a.jsxs)("span",{className:"send-label-row",children:[(0,a.jsx)("span",{id:"send-amount-label",className:"send-label",children:"Amount"}),(0,a.jsx)("button",{type:"button",className:"send-max-btn",onClick:Hn,disabled:Qe<=0n,children:"Max"})]}),(0,a.jsxs)("div",{className:"send-amount-wrap","data-invalid":N.amount||void 0,children:[(0,a.jsx)("input",{ref:Ke,className:"send-input send-input--amount",value:h,onChange:f=>P(f.target.value),onFocus:Oe,placeholder:"0.00",inputMode:"decimal",autoComplete:"off","aria-labelledby":"send-amount-label","aria-invalid":!!N.amount,"aria-describedby":N.amount?"send-amount-error":void 0}),(0,a.jsx)("span",{className:"send-amount-symbol",children:i.symbol})]}),N.amount&&(0,a.jsx)("p",{id:"send-amount-error",className:"send-field-error",role:"alert",children:N.amount})]}),(0,a.jsxs)("div",{className:"send-meta",children:[(0,a.jsx)("span",{children:"From"}),(0,a.jsx)("span",{children:Ne(o)})]}),(0,a.jsxs)("div",{className:"send-meta",children:[(0,a.jsx)("span",{children:"Network"}),(0,a.jsxs)("span",{children:["Chain ID ",i.chainId]})]}),A&&(0,a.jsx)("div",{className:"send-message send-message--error",role:"alert",children:A})]}),(0,a.jsx)("div",{className:"send-footer",children:(0,a.jsx)("button",{type:"submit",className:"send-submit-btn","data-disabled":Bt||void 0,"aria-disabled":Bt,children:"Send"})})]})}var gr=U(require("@radix-ui/react-popover"),1),wr=require("vaul");var xt=require("react/jsx-runtime");function hr({asChild:e,className:t,children:o}){let{isMobile:n,theme:r,walletAddress:i}=Je(),l=o!=null,p=e??!0,m=l?o:(0,xt.jsxs)("button",{type:"button",className:Y("wi-trigger-btn",t),"data-theme":r,"data-mobile":n||void 0,children:[(0,xt.jsx)(Ko,{size:n?14:16}),(0,xt.jsx)("span",{className:"wi-trigger-address",children:Ne(i)})]});return n?(0,xt.jsx)(wr.Drawer.Trigger,{asChild:p,children:m}):(0,xt.jsx)(gr.Trigger,{asChild:p,children:m})}var V=U(require("react"),1),Fn=U(require("@radix-ui/react-popover"),1),Xt=require("vaul");var Ot=U(require("bignumber.js"),1);var br=require("@tanstack/react-query"),xr=require("react");var Ln="user-balance";async function ua(e,t,o,n){let r=new URLSearchParams({networkId:`eip155:${t}`,account:o}),i=await fetch(`${e}/v1/public/token/balance?${r}`,{cache:"no-store",signal:n});if(!i.ok)throw new Error(`Failed to fetch token balance: ${i.status}`);let l=await i.json();if(l.code!==200)throw new Error(`Token balance API error: ${l.code}`);return l.data}function vt(e,t,o=!0){let n=Le[e],r=fe[e],i=[r.cross,r.bsc],l=(0,br.useQueries)({queries:i.map(c=>({queryKey:[Ln,e,t,c],queryFn:({signal:u})=>ua(n,c,t,u),enabled:!!t&&o,staleTime:0,refetchInterval:o?5e3:!1}))}),p=l.some(c=>c.isLoading),m=l.some(c=>c.isError);return{tokens:(0,xr.useMemo)(()=>{let c=[];for(let u of l)u.data&&c.push(...u.data);return c},[l]),isLoading:p,isError:m}}var Rn=require("@tanstack/react-query"),vr=require("react");var fa="forge-holdings",ga="forge-token-image";async function wa(e,t,o){let n=await fetch(`${e}/v1/users/${t}/holdings`,{cache:"no-store",signal:o});if(!n.ok)throw new Error(`Failed to fetch forge holdings: ${n.status}`);let r=await n.json();if(!r.success)throw new Error("Forge holdings API error");return r.data.items}async function ha(e,t,o){let n=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store",signal:o});if(!n.ok)return{address:t,image_url:""};let r=await n.json();return r.success?{address:t,image_url:r.data.token.image_url}:{address:t,image_url:""}}function yr(e,t,o=!0){let n=Qn[e],{data:r,...i}=(0,Rn.useQuery)({queryKey:[fa,e,t],queryFn:({signal:l})=>wa(n,t,l),enabled:!!t&&o,staleTime:0,refetchInterval:o?5e3:!1});return{holdings:r??[],...i}}function kr(e,t,o=!0){let n=Qn[e],r=(0,Rn.useQueries)({queries:t.map(l=>({queryKey:[ga,e,l],queryFn:({signal:p})=>ha(n,l,p),enabled:o,staleTime:1/0}))});return{imageMap:(0,vr.useMemo)(()=>{let l=new Map;for(let p of r)p.data&&l.set(p.data.address,p.data.image_url);return l},[r])}}var Cr=require("@tanstack/react-query"),Nr=require("react");var En="token-stats";function yt(e,t){return`${e}:${t.toLowerCase()}`}function kt(e,t=!0){let o=Le[e],{data:n,...r}=(0,Cr.useQuery)({queryKey:[En,e],queryFn:async({signal:l})=>{let p=await fetch(`${o}/v1/public/token/stats`,{cache:"no-store",signal:l});if(!p.ok)throw new Error(`Failed to fetch token stats: ${p.status}`);let m=await p.json();if(m.code!==200)throw new Error(`Token stats API error: ${m.code}`);return m},enabled:t,staleTime:3e4});return{statsMap:(0,Nr.useMemo)(()=>{let l=new Map;if(!n?.data)return l;for(let p of n.data){let m=yt(p.chain_id,p.address);l.set(m,p)}return l},[n]),...r}}var Lr=require("@tanstack/react-query"),Rr=require("react");var ba="token-info";function go(e,t){return`${t.toLowerCase()}_${e}`}function Er(e,t=!0){let o=Le[e],{data:n,...r}=(0,Lr.useQuery)({queryKey:[ba,e],queryFn:async({signal:l})=>{let p=await fetch(`${o}/v1/public/token/info`,{cache:"no-store",signal:l});if(!p.ok)throw new Error(`Failed to fetch token info: ${p.status}`);let m=await p.json();if(m.code!==200)throw new Error(`Token info API error: ${m.code}`);return m},enabled:t,staleTime:1/0});return{categoryMap:(0,Rr.useMemo)(()=>{let l=new Map;if(!n?.data)return l;for(let p of n.data){let m=go(p.chain_id,p.address);l.set(m,p.category)}return l},[n]),...r}}var Tr=require("react"),Tn=U(require("bignumber.js"),1);function Pr(e,t,o){let{tokens:n,isLoading:r}=vt(e,t,o),{statsMap:i}=kt(e,o);return(0,Tr.useMemo)(()=>{let l=new Tn.default(0);for(let c of n){let u=i.get(yt(c.chainId,c.address));if(!u)continue;let b=new Tn.default(c.quantity.numeric).shiftedBy(-c.quantity.decimals).multipliedBy(new Tn.default(u.price));b.isNaN()||(l=l.plus(b))}let p=l.toFixed(),{displayValue:m,isLowerBound:d}=qo(p);return{totalUsd:p,displayValue:m,isLowerBound:d,isLoading:r}},[n,i,r])}var li=require("qrcode.react");function De(e,t,o,n){if(!n||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.defaultPrevented)return;e.preventDefault();let r;try{r=n(t,o)}catch(d){console.error("[dapp-ui] onOutlink threw:",d);return}let i=d=>{typeof window>"u"||window.open(d,"_blank","noopener,noreferrer")};if((d=>!!d&&(typeof d=="object"||typeof d=="function")&&typeof d.then=="function")(r)){let d=typeof window<"u"?window.open("","_blank","noopener,noreferrer"):null,c=u=>{if(u===null){d?.close();return}let y=u??t;if(d)try{d.location.href=y}catch{d.close(),i(y)}else i(y)};r.then(c,u=>{console.error("[dapp-ui] onOutlink rejected:",u),d?.close()});return}let p=r;if(p===null)return;i(p??t)}var Lt=U(require("react"),1),si=require("vaul");var Pn=require("react"),Yt=(0,Pn.createContext)(null);function se(){let e=(0,Pn.useContext)(Yt);if(!e)throw new Error("WalletPortfolio compound components must be used within <WalletPortfolio>");return e}var Sr=require("vaul");var wo=require("react/jsx-runtime");function Ir({asChild:e,children:t}){let{walletAddress:o}=se(),n=t!=null,r=e??!0,i=n?t:(0,wo.jsx)("button",{type:"button",children:Ne(o)});return(0,wo.jsx)(Sr.Drawer.Trigger,{asChild:r,children:i})}var Qt=require("vaul");var Me=U(require("react"),1),ii=require("@tanstack/react-query");var Br=require("react"),An=U(require("bignumber.js"),1);var Ar=require("@tanstack/react-query"),ho=require("react");var Sn={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"},Mr={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},In={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"},tt={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},We={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"},_r={dev:{cross:"https://stg-dex-api.crosstoken.io/dex",crossd:"https://stg-crossd-dex-api.crosstoken.io/dex",forge:"https://stg-forge-dex-api.crosstoken.io/dex"},stage:{cross:"https://stg-dex-api.crosstoken.io/dex",crossd:"https://stg-crossd-dex-api.crosstoken.io/dex",forge:"https://stg-forge-dex-api.crosstoken.io/dex"},production:{cross:"https://dex-api.crosstoken.io/dex",crossd:"https://crossd-dex-api.crosstoken.io/dex",forge:"https://forge-dex-api.crosstoken.io/dex"}};var xa="wp:reward-pools";function Mn(e,t=!0){let o=Sn[e],{data:n,...r}=(0,Ar.useQuery)({queryKey:[xa,e],queryFn:async({signal:p})=>{let m=await fetch(`${o}/v1/pools`,{cache:"no-store",signal:p});if(!m.ok)throw new Error(`Failed to fetch pools: ${m.status}`);let d=await m.json();if(d.code!==200)throw new Error(`Pools API error: ${d.code}`);return d},enabled:t,staleTime:0}),i=(0,ho.useMemo)(()=>n?.data.pools.filter(p=>p.pool_type==="CrossPool")??[],[n]),l=(0,ho.useMemo)(()=>n?.data.pools.filter(p=>p.pool_type==="GamePool")??[],[n]);return{crossPools:i,gamePools:l,allPools:n?.data.pools??[],...r}}var Or=require("@tanstack/react-query"),Fr=require("react");var va="wp:user-deposits";function _n(e,t,o=!0){let n=Sn[e],r=o&&!!t,{data:i,...l}=(0,Or.useQuery)({queryKey:[va,e,t],queryFn:async({signal:m})=>{let d=await fetch(`${n}/v1/users/${t}/deposits`,{cache:"no-store",signal:m});if(!d.ok)throw new Error(`Deposits fetch failed: ${d.status}`);let c=await d.json();if(c.code!==200)throw new Error(`Deposits API error: ${c.code}`);return c},enabled:r,staleTime:0});return{depositMap:(0,Fr.useMemo)(()=>{let m=new Map;if(!i?.data.user_deposits)return m;for(let d of i.data.user_deposits)m.set(d.pool_address.toLowerCase(),d);return m},[i]),deposits:i?.data.user_deposits??[],...l}}var bo=require("@tanstack/react-query"),xo=require("react");function Be(e,t,o,n=!0){let r=_r[e][t],i=n&&!!o,{data:l,...p}=(0,bo.useQuery)({queryKey:["wp:dex-pairs",e,t],queryFn:async({signal:g})=>{let w=await fetch(`${r}/pair-info`,{cache:"no-store",signal:g});if(!w.ok)throw new Error(`pair-info fetch failed: ${w.status}`);let h=await w.json();if(h.code!==200)throw new Error(`pair-info API error: ${h.code}`);return h},enabled:n,staleTime:0}),m=l?.data??[],d=(0,xo.useMemo)(()=>{let g=new Map;for(let w of m)g.set(w.pair_address.toLowerCase(),w);return g},[m]),{data:c,...u}=(0,bo.useQuery)({queryKey:["wp:dex-orders",e,t,o],queryFn:async({signal:g})=>{let w=Math.floor(Date.now()/1e3),h=new URLSearchParams({owner:o,size:"200",start_date:"0",end_date:String(w)}),P=await fetch(`${r}/open-order?${h}`,{cache:"no-store",signal:g});if(!P.ok)throw new Error(`open-order fetch failed: ${P.status}`);let A=await P.json();if(A.code!==200)throw new Error(`open-order API error: ${A.code}`);return A.data?.data??[]},enabled:i,staleTime:0}),y=c??[],b=(0,xo.useMemo)(()=>{let g=new Map;for(let w of y){let h=w.pair.toLowerCase();g.has(h)||g.set(h,{buys:[],sells:[]});let P=g.get(h);w.order_side===1?P.buys.push(w):P.sells.push(w)}return g},[y]);return{allPairs:m,pairMap:d,orders:y,ordersByPair:b,isEmpty:y.length===0,isLoading:p.isLoading||u.isLoading}}var ya=["var(--wp-blue)","var(--wp-purple)","var(--wp-red)","var(--wp-orange)"],Dr="var(--wp-green)",Wr=4;function $r(e,t,o=!0){let n=o&&!!t,{allPools:r}=Mn(e,n),{depositMap:i}=_n(e,t,n),{allPairs:l,pairMap:p,ordersByPair:m}=Be(e,"cross",t,n),{allPairs:d,pairMap:c,ordersByPair:u}=Be(e,"crossd",t,n),{allPairs:y,pairMap:b,ordersByPair:g}=Be(e,"forge",t,n);return(0,Br.useMemo)(()=>{let w=new Map,h=new Map,P=(v,E)=>{!Number.isFinite(E)||E<=0||h.set(v,(h.get(v)??0)+E)};for(let v of r){let E=Number(v.deposit_token.price);E>0&&w.set(v.deposit_token.symbol,E);for(let H of v.reward_tokens){let k=Number(H.price);k>0&&w.set(H.symbol,k)}}for(let v of[...l,...d,...y]){let E=w.get(v.quote_symbol),H=Number(v.billboard?.price);E&&H>0&&!w.has(v.base_symbol)&&w.set(v.base_symbol,H*E)}for(let v of r){let E=i.get(v.pool_address.toLowerCase());if(!E)continue;let H=new An.default(E.deposited_amount).shiftedBy(-v.deposit_token.decimals).toNumber();if(P(v.deposit_token.symbol,H),v.reward_tokens.length>0){let k=v.reward_tokens[0],j=new An.default(E.claimable_reward).shiftedBy(-k.decimals).toNumber();P(k.symbol,j)}}let A=[{pairMap:p,ordersByPair:m},{pairMap:c,ordersByPair:u},{pairMap:b,ordersByPair:g}];for(let{pairMap:v,ordersByPair:E}of A)for(let[H,k]of E){let j=v.get(H);if(j){for(let Z of k.buys){let be=Number(Z.amount)-Number(Z.filled);P(j.quote_symbol,be*Number(Z.price))}for(let Z of k.sells){let be=Number(Z.amount)-Number(Z.filled);P(j.base_symbol,be)}}}let I=[],N=0;for(let[v,E]of h){let H=w.get(v)??0,k=E*H;k>0&&(I.push({symbol:v,usdValue:k}),N+=k)}I.sort((v,E)=>E.usdValue-v.usdValue);let G=[];if(N>0){let v=I.slice(0,Wr),E=I.slice(Wr);for(let k=0;k<v.length;k++)G.push({symbol:v[k].symbol,usdValue:v[k].usdValue,percentage:Math.round(v[k].usdValue/N*100),color:ya[k]??Dr});if(E.length>0){let k=E.reduce((j,Z)=>j+Z.usdValue,0);G.push({symbol:"Others",usdValue:k,percentage:Math.round(k/N*100),color:Dr})}let H=G.reduce((k,j)=>k+j.percentage,0);H!==100&&G.length>0&&(G[0].percentage+=100-H)}return{totalUsd:N,formattedTotal:N>0?`$${new An.default(N).toFormat(2)}`:"$0.00",segments:G}},[r,i,l,p,m,d,c,u,y,b,g])}var je=require("react/jsx-runtime");function Vr({size:e=22,className:t}){return(0,je.jsx)("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,je.jsx)("path",{d:"M14 4L7 11L14 18",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function Hr({size:e=22,className:t}){return(0,je.jsxs)("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[(0,je.jsx)("path",{d:"M18.333 3.667v5.5h-5.5",stroke:"currentColor",strokeWidth:1.833,strokeLinecap:"round",strokeLinejoin:"round"}),(0,je.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 Gr({size:e=12,className:t}){return(0,je.jsx)("svg",{width:e,height:e,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:(0,je.jsx)("path",{d:"M6 11A5 5 0 106 1a5 5 0 000 10zM6 8V6M6 4h.005",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})})}var zr=require("@tanstack/react-query"),Ur=require("react");var ka="wp:token-info";function nt(e,t=!0){let o=Le[e],n=fe[e].cross,{data:r,...i}=(0,zr.useQuery)({queryKey:[ka,e],queryFn:async({signal:d})=>{let c=await fetch(`${o}/v1/public/token/info`,{cache:"no-store",signal:d});if(!c.ok)throw new Error(`Failed to fetch token info: ${c.status}`);let u=await c.json();if(u.code!==200)throw new Error(`Token info API error: ${u.code}`);return u},enabled:t,staleTime:300*1e3}),{byChainAddr:l,byChainSym:p}=(0,Ur.useMemo)(()=>{let d=new Map,c=new Map;if(!r?.data)return{byChainAddr:d,byChainSym:c};for(let u of r.data){let y=u.address.toLowerCase();d.set(`${u.chain_id}:${y}`,u),d.set(y,u);let b=u.symbol.replace(/^t/,"").toUpperCase(),g=`${u.chain_id}:${b}`;c.has(g)||c.set(g,u),c.has(b)||c.set(b,u)}return{byChainAddr:d,byChainSym:c}},[r]);return{getTokenImage:(d,c)=>{let u=d.toLowerCase(),y=l.get(`${n}:${u}`);if(y?.image)return y.image;let b=l.get(u);if(b?.image)return b.image;if(c){let g=c.replace(/^t/,"").toUpperCase(),w=p.get(`${n}:${g}`);if(w?.image)return w.image;let h=p.get(g);if(h?.image)return h.image}return""},...i}}var ot=require("react/jsx-runtime");function $e({title:e,icon:t,iconFit:o="cover",isEmpty:n,children:r}){return(0,ot.jsxs)("div",{className:"wp-svc-card",children:[(0,ot.jsxs)("div",{className:"wp-svc-card-head",children:[(0,ot.jsx)("img",{className:"wp-svc-card-icon",src:t,alt:"",style:{objectFit:o}}),(0,ot.jsx)("span",{className:"wp-svc-card-title",children:e})]}),n?(0,ot.jsx)("div",{className:"wp-svc-empty",children:"No assets yet"}):(0,ot.jsx)("div",{className:"wp-svc-items",children:r})]})}var _t=U(require("bignumber.js"),1),ee=require("react/jsx-runtime"),Ca="CROSS Rewards";function jr(e,t){let o=new _t.default(e).shiftedBy(-t);return o.isZero()?"0":o.isGreaterThanOrEqualTo(1)?o.toFormat(2,_t.default.ROUND_DOWN):o.toFormat(4,_t.default.ROUND_DOWN)}function qr(){let{env:e,walletAddress:t,onOutlink:o}=se(),n=!!t,{allPools:r}=Mn(e,n),{depositMap:i}=_n(e,t,n),{getTokenImage:l}=nt(e,n),p=c=>`${Mr[e]}/rewards/${c.pool_address}?action=withdraw`,m=`${We[e]}/reward.png`,d=r.filter(c=>{let u=i.get(c.pool_address.toLowerCase()),y=u?.deposited_amount??"0",b=u?.claimable_reward??"0";return!(new _t.default(y).isZero()&&new _t.default(b).isZero())});return(0,ee.jsx)($e,{title:Ca,icon:m,isEmpty:d.length===0,children:d.map(c=>{let u=i.get(c.pool_address.toLowerCase()),y=u?.deposited_amount??"0",b=p(c);return(0,ee.jsxs)("a",{className:"wp-item","data-side":"reward",href:b,target:"_blank",rel:"noopener noreferrer",onClick:g=>De(g,b,{category:"portfolio",origin:"portfolio-rewards",payload:{pool:c,userDeposit:u}},o),children:[(0,ee.jsxs)("div",{className:"wp-item-body",children:[(0,ee.jsxs)("div",{className:"wp-item-field",children:[(0,ee.jsxs)("span",{className:"wp-item-label",children:["Deposited (",c.deposit_token.symbol,")"]}),(0,ee.jsxs)("div",{className:"wp-svc-token",children:[l(c.deposit_token.address,c.deposit_token.symbol)&&(0,ee.jsx)("img",{className:"wp-svc-token-icon",src:l(c.deposit_token.address,c.deposit_token.symbol),alt:""}),(0,ee.jsx)("span",{children:jr(y,c.deposit_token.decimals)})]})]}),(0,ee.jsxs)("div",{className:"wp-item-field",children:[(0,ee.jsxs)("span",{className:"wp-item-label",children:["Rewards (",c.reward_tokens.map(g=>g.symbol).join(", "),")"]}),c.reward_tokens.map(g=>{let w=l(g.address,g.symbol);return(0,ee.jsxs)("div",{className:"wp-svc-token",children:[w&&(0,ee.jsx)("img",{className:"wp-svc-token-icon",src:w,alt:""}),(0,ee.jsx)("span",{children:u?jr(u.claimable_reward,g.decimals):"0"})]},g.address)})]})]}),(0,ee.jsxs)("div",{className:"wp-item-badges",children:[(0,ee.jsx)("span",{className:"wp-badge wp-badge--mint",children:"Claim"}),(0,ee.jsx)("span",{className:"wp-badge wp-badge--muted",children:"Withdraw"})]})]},c.pool_address)})})}var yo=U(require("bignumber.js"),1);var _=require("react/jsx-runtime");function vo(e){let t=new yo.default(e);if(t.isNaN())return e;let o=t.decimalPlaces()??0;return t.toFormat(o)}function Zr(e){let t=new yo.default(e.amount).minus(e.filled);return vo(t.toString())}function At({market:e,pairMap:t,ordersByPair:o,getDexUrl:n,getTokenImage:r}){let{onOutlink:i}=se(),l=[];for(let[p,m]of o){let d=t.get(p),c=d?r(d.base_address,d.base_symbol):"",u=d?r(d.quote_address,d.quote_symbol):"",y=n(p);for(let b of m.buys)l.push((0,_.jsxs)("a",{className:"wp-item","data-side":"buy",href:y,target:"_blank",rel:"noopener noreferrer",onClick:g=>De(g,y,{category:"portfolio",origin:"portfolio-dex-order",payload:{market:e,side:"buy",order:b,pair:d}},i),children:[(0,_.jsxs)("div",{className:"wp-item-body",children:[(0,_.jsxs)("div",{className:"wp-item-field",children:[(0,_.jsxs)("span",{className:"wp-item-label wp-item-label--buy",children:["Buy",d?.base_symbol?` (${d.base_symbol})`:""]}),(0,_.jsxs)("div",{className:"wp-svc-token",children:[c&&(0,_.jsx)("img",{className:"wp-svc-token-icon",src:c,alt:""}),(0,_.jsx)("span",{children:Zr(b)})]})]}),(0,_.jsxs)("div",{className:"wp-item-field",children:[(0,_.jsxs)("span",{className:"wp-item-label",children:["Price",d?.quote_symbol?` (${d.quote_symbol})`:""]}),(0,_.jsxs)("div",{className:"wp-svc-token",children:[u&&(0,_.jsx)("img",{className:"wp-svc-token-icon",src:u,alt:""}),(0,_.jsx)("span",{children:vo(b.price)})]})]})]}),(0,_.jsx)("div",{className:"wp-item-badges",children:(0,_.jsx)("span",{className:"wp-badge wp-badge--red",children:"Cancel"})})]},`buy-${b.order_id}`));for(let b of m.sells)l.push((0,_.jsxs)("a",{className:"wp-item","data-side":"sell",href:y,target:"_blank",rel:"noopener noreferrer",onClick:g=>De(g,y,{category:"portfolio",origin:"portfolio-dex-order",payload:{market:e,side:"sell",order:b,pair:d}},i),children:[(0,_.jsxs)("div",{className:"wp-item-body",children:[(0,_.jsxs)("div",{className:"wp-item-field",children:[(0,_.jsxs)("span",{className:"wp-item-label wp-item-label--sell",children:["Sell",d?.base_symbol?` (${d.base_symbol})`:""]}),(0,_.jsxs)("div",{className:"wp-svc-token",children:[c&&(0,_.jsx)("img",{className:"wp-svc-token-icon",src:c,alt:""}),(0,_.jsx)("span",{children:Zr(b)})]})]}),(0,_.jsxs)("div",{className:"wp-item-field",children:[(0,_.jsxs)("span",{className:"wp-item-label",children:["Price",d?.quote_symbol?` (${d.quote_symbol})`:""]}),(0,_.jsxs)("div",{className:"wp-svc-token",children:[u&&(0,_.jsx)("img",{className:"wp-svc-token-icon",src:u,alt:""}),(0,_.jsx)("span",{children:vo(b.price)})]})]})]}),(0,_.jsx)("div",{className:"wp-item-badges",children:(0,_.jsx)("span",{className:"wp-badge wp-badge--red",children:"Cancel"})})]},`sell-${b.order_id}`))}return(0,_.jsx)(_.Fragment,{children:l})}var ko=require("react/jsx-runtime"),Na="Gametoken - CROSS";function Kr(){let{env:e,walletAddress:t}=se(),o=!!t,{pairMap:n,ordersByPair:r,isEmpty:i}=Be(e,"cross",t,o),{getTokenImage:l}=nt(e,o),p=d=>{let c=n.get(d.toLowerCase());return`${tt[e]}/gametoken/cross/${c?.base_symbol??""}`},m=`${We[e]}/dex.png`;return(0,ko.jsx)($e,{title:Na,icon:m,isEmpty:i,children:(0,ko.jsx)(At,{market:"cross",pairMap:n,ordersByPair:r,getDexUrl:p,getTokenImage:l})})}var Co=require("react/jsx-runtime"),La="Gametoken - CROSSD";function Yr(){let{env:e,walletAddress:t}=se(),o=!!t,{pairMap:n,ordersByPair:r,isEmpty:i}=Be(e,"crossd",t,o),{getTokenImage:l}=nt(e,o),p=d=>{let c=n.get(d.toLowerCase());return`${tt[e]}/gametoken/crossd/${c?.base_symbol??""}`},m=`${We[e]}/dex.png`;return(0,Co.jsx)($e,{title:La,icon:m,isEmpty:i,children:(0,Co.jsx)(At,{market:"crossd",pairMap:n,ordersByPair:r,getDexUrl:p,getTokenImage:l})})}var No=require("react/jsx-runtime"),Ra="Gametoken - Forge";function Qr(){let{env:e,walletAddress:t}=se(),o=!!t,{pairMap:n,ordersByPair:r,isEmpty:i}=Be(e,"forge",t,o),{getTokenImage:l}=nt(e,o);if(i)return null;let p=d=>{let c=n.get(d.toLowerCase());return`${tt[e]}/gametoken/forge/${c?.base_symbol??""}`},m=`${We[e]}/dex.png`;return(0,No.jsx)($e,{title:Ra,icon:m,isEmpty:i,children:(0,No.jsx)(At,{market:"forge",pairMap:n,ordersByPair:r,getDexUrl:p,getTokenImage:l})})}var On=U(require("bignumber.js"),1),oi=require("react");var Xr=require("@tanstack/react-query");var Ea="wp:forge-pools";function Jr(e,t,o=!0){let n=In[e],r=o&&!!t,{data:i,...l}=(0,Xr.useQuery)({queryKey:[Ea,e,t],queryFn:async()=>{let m=await fetch(`${n}/v1/users/${t}/pools`,{cache:"no-store"});if(!m.ok)throw new Error(`forge pools fetch failed: ${m.status}`);return(await m.json()).data?.items??[]},enabled:r,staleTime:0}),p=i??[];return{pools:p,isEmpty:p.length===0,...l}}var ei=require("@tanstack/react-query"),ti=require("react");var Ta="wp:forge-token-detail";async function Pa(e,t){let o=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store"});return o.ok?(await o.json())?.data?.token??null:null}function ni(e,t,o=!0){let n=In[e],r=(0,ei.useQueries)({queries:t.map(p=>({queryKey:[Ta,e,p],queryFn:()=>Pa(n,p),enabled:o&&!!p,staleTime:3e4}))}),i=(0,ti.useMemo)(()=>{let p=new Map;for(let m=0;m<r.length;m++){let d=r[m]?.data,c=t[m];d&&c&&p.set(c.toLowerCase(),d)}return p},[r,t]),l=r.some(p=>p.isLoading);return{detailMap:i,isLoading:l}}var Q=require("react/jsx-runtime"),Sa="Forge",Ia=18,Ma="https://contents.crosstoken.io/wallet/token/images/FT.png";function _a(e){if(!e||e==="0")return"0";let t=new On.default(e).shiftedBy(-Ia);return t.isZero()?"0":t.isGreaterThanOrEqualTo(1)?t.toFormat(2,On.default.ROUND_DOWN):t.toFormat(4,On.default.ROUND_DOWN)}function Aa(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 ri(){let{env:e,walletAddress:t,onOutlink:o}=se(),n=!!t,{pools:r,isEmpty:i}=Jr(e,t,n),l=(0,oi.useMemo)(()=>r.map(c=>c.token.address),[r]),{detailMap:p}=ni(e,l,n&&l.length>0),m=c=>`${tt[e]}/forge/token/${c.token.address}`,d=`${We[e]}/forge.png`;return(0,Q.jsx)($e,{title:Sa,icon:d,iconFit:"contain",isEmpty:i,children:r.map(c=>{let u=p.get(c.token.address.toLowerCase()),y=u?.image_url||u?.image||c.token.image||Ma,b=u?.symbol||c.token.symbol,g=m(c);return(0,Q.jsxs)("a",{className:"wp-item","data-side":"lp",href:g,target:"_blank",rel:"noopener noreferrer",onClick:w=>De(w,g,{category:"portfolio",origin:"portfolio-forge",payload:{pool:c,tokenDetail:u}},o),children:[(0,Q.jsxs)("div",{className:"wp-item-body",children:[(0,Q.jsxs)("div",{className:"wp-item-field",children:[(0,Q.jsxs)("span",{className:"wp-item-label",children:["Pair (",b,")"]}),(0,Q.jsx)("div",{className:"wp-svc-token",children:(0,Q.jsx)("img",{className:"wp-svc-token-icon",src:y,alt:""})})]}),(0,Q.jsxs)("div",{className:"wp-item-field",children:[(0,Q.jsx)("span",{className:"wp-item-label",children:"LP Balance"}),(0,Q.jsx)("div",{className:"wp-svc-token",children:(0,Q.jsx)("span",{children:_a(c.lp_balance)})})]}),(0,Q.jsxs)("div",{className:"wp-item-field",children:[(0,Q.jsx)("span",{className:"wp-item-label",children:"Ownership"}),(0,Q.jsx)("div",{className:"wp-svc-token",children:(0,Q.jsx)("span",{children:Aa(c.pool_ownership)})})]})]}),(0,Q.jsx)("div",{className:"wp-item-badges",children:(0,Q.jsx)("span",{className:"wp-badge wp-badge--mint",children:"Withdraw"})})]},c.pair_address)})})}O(`.wp-fullscreen[data-theme=dark],.wp-embed[data-theme=dark]{--wp-bg: var(--cck-surface-bg, #202530);--wp-card: var(--cck-surface-default, #292f40);--wp-border: var(--cck-border-default, #313b51);--wp-text: var(--cck-texticon-primary, #ffffff);--wp-text-60: var(--cck-texticon-secondary, #d3d7df);--wp-text-40: #8c97ad;--wp-text-30: var(--cck-texticon-tertiary, #717d97);--wp-mint: #00d4aa;--wp-green: var(--cck-primary, #019d92);--wp-red: var(--cck-error, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00}.wp-fullscreen[data-theme=light],.wp-embed[data-theme=light]{--wp-bg: var(--cck-surface-bg, #f5f6f8);--wp-card: var(--cck-surface-default, #ffffff);--wp-border: var(--cck-border-default, #e2e5ea);--wp-text: var(--cck-texticon-primary, #202530);--wp-text-60: var(--cck-texticon-secondary, #49556e);--wp-text-40: #8c97ad;--wp-text-30: var(--cck-texticon-tertiary, #a0a9b8);--wp-mint: #00d4aa;--wp-green: var(--cck-primary, #019d92);--wp-red: var(--cck-error, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00}.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}.wp-embed{width:100%;height:100%;min-height:0;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-text)}.wp-overlay{position:fixed;inset:0;z-index:49;background:#0009}.wp-header{display:flex;align-items:center;gap:20px;height:60px;padding:0 20px;flex-shrink:0}.wp-header-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--wp-text);flex-shrink:0}.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:16px;font-weight:600;line-height:24px;letter-spacing:.15px;text-align:center;color:var(--wp-text);margin:0}.wp-header-account{flex:1;display:flex;align-items:center;gap:12px;min-width:0}.wp-header-wallet-name{flex:1;min-width:0;font-family:inherit;font-size:15px;font-weight:600;line-height:160%;letter-spacing:0;color:var(--wp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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:rgba(255,255,255,.08) transparent}.wp-body::-webkit-scrollbar{width:4px}.wp-body::-webkit-scrollbar-track{background:transparent}.wp-body::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.wp-body-inner{padding:16px 16px 128px;display:flex;flex-direction:column;gap:20px}.wp-svc-card{display:flex;flex-direction:column;gap:8px}.wp-svc-card-head{display:flex;align-items:center;gap:8px}.wp-svc-card-icon{width:20px;height:20px;border-radius:4px;flex-shrink:0;object-fit:cover}.wp-svc-card-title{font-size:14px;font-weight:600;line-height:1.3;color:var(--wp-text-60);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-svc-items{display:flex;flex-direction:column;gap:10px}.wp-item{position:relative;background:var(--wp-card);border-radius:12px;padding:14px 40px 14px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 3px #00000014,0 2px 8px #0000000a;overflow:hidden;text-decoration:none;cursor:pointer;transition:box-shadow .2s ease,transform .15s ease}.wp-item:hover{box-shadow:0 2px 6px #0000001f,0 4px 14px #0000000f;transform:translateY(-1px)}.wp-item:active{transform:translateY(0);box-shadow:0 1px 3px #00000014}.wp-item:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;border-radius:3px 0 0 3px;background:var(--wp-border)}.wp-item:after{content:"";position:absolute;right:14px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:currentColor;opacity:.25;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 1.5h7v7M10.5 1.5L1.5 10.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 1.5h7v7M10.5 1.5L1.5 10.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;transition:opacity .15s}.wp-item:hover:after{opacity:.5}.wp-item[data-side=buy]:before{background:var(--wp-green)}.wp-item[data-side=sell]:before{background:var(--wp-red)}.wp-item[data-side=reward]:before{background:var(--wp-mint)}.wp-item[data-side=lp]:before{background:var(--wp-purple)}.wp-item-body{display:flex;gap:12px}.wp-item-field{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.wp-item-label{font-size:11px;font-weight:500;line-height:1.3;color:var(--wp-text-40);letter-spacing:.03em;text-transform:uppercase}.wp-item-label--buy{color:var(--wp-green)}.wp-item-label--sell{color:var(--wp-red)}.wp-svc-token{display:flex;align-items:center;gap:8px;min-width:0}.wp-svc-token>span{font-size:14px;font-weight:600;line-height:1.4;color:var(--wp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-svc-token-icon{width:22px;height:22px;border-radius:50%;flex-shrink:0;object-fit:cover}.wp-svc-buy{color:var(--wp-green)}.wp-svc-sell{color:var(--wp-red)}.wp-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:4px;border:1px solid transparent;pointer-events:none}.wp-badge--mint{color:var(--wp-mint);background:#00d4aa1a;border-color:#00d4aa40}.wp-badge--muted{color:var(--wp-text-40);background:#8c97ad14;border-color:#8c97ad2e}.wp-badge--red{color:var(--wp-red);background:#e7007714;border-color:#e7007733}.wp-item-badges{display:flex;align-items:center;gap:6px}.wp-svc-empty{display:flex;align-items:center;justify-content:center;height:56px;background:var(--wp-card);border-radius:12px;font-size:13px;font-weight:400;color:var(--wp-text-30);box-shadow:0 1px 3px #00000014}@media(max-width:375px){.wp-header{gap:12px;padding:0 12px}.wp-top{padding:0 12px 12px;gap:12px}.wp-total{font-size:22px}.wp-legend{gap:10px}.wp-legend-label{font-size:11px}.wp-body-inner{padding:12px 12px 128px;gap:14px}.wp-svc-items{gap:8px}.wp-item{padding:12px 36px 12px 14px;gap:6px;border-radius:10px}.wp-item:after{right:10px;width:11px;height:11px}.wp-item-body{gap:10px}.wp-svc-token{gap:6px}.wp-svc-token>span{font-size:13px}.wp-svc-token-icon{width:20px;height:20px}}.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}
8
8
  `);var T=require("react/jsx-runtime"),Lo=5,Oa="wp:";function Ct({env:e,theme:t="dark",walletAddress:o,walletName:n,onBack:r,showHeader:i=!0,variant:l="embed",className:p,sendTransaction:m,getTransactionReceipt:d,onOutlink:c}){let u=ue(e),y=!!o,b=(0,ii.useQueryClient)(),{segments:g}=$r(u,o,y),[w,h]=Me.useState(Lo),[P,A]=Me.useState(!1),I=Me.useCallback(()=>{b.invalidateQueries({predicate:k=>typeof k.queryKey[0]=="string"&&k.queryKey[0].startsWith(Oa)})},[b]),N=Me.useCallback(()=>{I(),A(!0),setTimeout(()=>A(!1),600),h(Lo)},[I]);Me.useEffect(()=>{if(!y)return;let k=setInterval(()=>{h(j=>j<=1?(N(),Lo):j-1)},1e3);return()=>clearInterval(k)},[y,N]);let G=Me.useCallback(()=>{r?.()},[r]),v=y?bt(u,o,{size:64}):void 0,E=Me.useMemo(()=>({env:u,theme:t,open:!0,walletAddress:o,close:G,sendTransaction:m,getTransactionReceipt:d,onOutlink:c}),[u,t,o,G,m,d,c]),H=(0,T.jsxs)(T.Fragment,{children:[i&&(0,T.jsxs)("div",{className:"wp-header",children:[(0,T.jsxs)("div",{className:"wp-header-account",children:[r?(0,T.jsx)("button",{type:"button",className:"wp-header-btn",onClick:r,children:(0,T.jsx)(Vr,{})}):(0,T.jsx)("span",{className:"wp-header-avatar","aria-hidden":!0,children:v&&(0,T.jsx)("img",{src:v,alt:"",className:"wp-header-avatar-img",draggable:!1})}),n&&(0,T.jsx)("span",{className:"wp-header-wallet-name",title:n,children:n})]}),(0,T.jsxs)("button",{type:"button",className:"wp-header-btn wp-refresh-btn",onClick:N,children:[(0,T.jsx)(Hr,{className:P?"wp-spin-once":void 0}),y&&(0,T.jsx)("span",{className:"wp-refresh-badge",children:w})]})]}),(0,T.jsx)("div",{className:"wp-top",children:g.length>0&&(0,T.jsxs)("div",{className:"wp-asset",children:[(0,T.jsxs)("div",{className:"wp-asset-head",children:[(0,T.jsx)("span",{className:"wp-asset-head-label",children:"Consolidated Asset"}),(0,T.jsx)("span",{className:"wp-asset-head-icon",children:(0,T.jsx)(Gr,{})})]}),(0,T.jsx)("div",{className:"wp-bar",children:g.map(k=>(0,T.jsx)("div",{className:"wp-bar-seg",style:{flex:`${k.percentage} 0 0`,background:k.color},children:k.percentage>=5&&(0,T.jsxs)("span",{className:"wp-bar-seg-pct",children:[k.percentage,"%"]})},k.symbol))}),(0,T.jsx)("div",{className:"wp-legend",children:g.map(k=>(0,T.jsxs)("div",{className:"wp-legend-item",children:[(0,T.jsx)("span",{className:"wp-legend-dot",style:{background:k.color}}),(0,T.jsx)("span",{className:"wp-legend-label",children:k.symbol})]},k.symbol))})]})}),(0,T.jsx)("div",{className:"wp-body",children:(0,T.jsxs)("div",{className:"wp-body-inner",children:[(0,T.jsx)(qr,{}),(0,T.jsx)(Kr,{}),(0,T.jsx)(Yr,{}),(0,T.jsx)(Qr,{}),(0,T.jsx)(ri,{})]})})]});return(0,T.jsx)(Yt.Provider,{value:E,children:l==="none"?H:(0,T.jsx)("div",{className:Y(l==="fullscreen"?"wp-fullscreen":"wp-embed",p),"data-theme":t,children:H})})}var Nt=require("react/jsx-runtime");function ai({className:e}){let{env:t,theme:o,walletAddress:n,close:r,sendTransaction:i}=se();return(0,Nt.jsxs)(Qt.Drawer.Portal,{children:[(0,Nt.jsx)(Qt.Drawer.Overlay,{className:"wp-overlay"}),(0,Nt.jsxs)(Qt.Drawer.Content,{className:Y("wp-fullscreen",e),"data-theme":o,children:[(0,Nt.jsx)(Qt.Drawer.Title,{className:"wp-sr-only",children:"My Portfolio"}),(0,Nt.jsx)(Ct,{env:t,theme:o,walletAddress:n,onBack:r,variant:"none",sendTransaction:i})]})]})}var Ro=require("react/jsx-runtime");function Fa({env:e,theme:t="dark",walletAddress:o,open:n,onOpenChange:r,sendTransaction:i,onOutlink:l,children:p}){let m=ue(e),d=n!==void 0,[c,u]=Lt.useState(!1),y=d?n:c,b=Lt.useCallback(h=>{d||u(h),r?.(h)},[d,r]),g=Lt.useCallback(()=>b(!1),[b]),w=Lt.useMemo(()=>({env:m,theme:t,open:y,walletAddress:o,close:g,sendTransaction:i,onOutlink:l}),[m,t,y,o,g,i,l]);return(0,Ro.jsx)(Yt.Provider,{value:w,children:(0,Ro.jsx)(si.Drawer.Root,{direction:"bottom",open:y,onOpenChange:b,noBodyStyles:!0,children:p})})}var Eo=Object.assign(Fa,{Trigger:Ir,Content:ai});var s=require("react/jsx-runtime");function To(e,t,o){let n=fe[e],r=o.toUpperCase();if(t===n.cross&&r.includes("CROSSD"))return 0;if(t===n.cross&&r==="CROSS")return 1;if(t===n.bsc&&r==="CROSS")return 2}function Da(e){return parseInt(e.split(":")[1],10)}function Wa(e){let t=e.lastIndexOf(".");return t===-1?{main:e,decimal:""}:{main:e.slice(0,t),decimal:e.slice(t)}}function Ba(e){let t=e.toLowerCase().replace(/^0x/,""),o=t.length>=8?t.slice(0,8):t.padEnd(8,"0"),n=parseInt(o.slice(0,4),16)%360,r=(n+60+parseInt(o.slice(4,8),16)%120)%360;return`linear-gradient(135deg, hsl(${n} 85% 65%), hsl(${r} 80% 55%))`}function ci({align:e="end",sideOffset:t=12,className:o,children:n}){let{env:r,theme:i,isMobile:l,open:p,drawerDirection:m,modal:d,showBalance:c,showForgeToken:u,showGameToken:y,showQR:b,qrLogoSrc:g,walletAddress:w,accountName:h,sendAccounts:P,profileImageUrl:A,preferredTokens:I,close:N,onSelectWallet:G,onCopyAddress:v,onDisconnect:E,disconnectLabel:H,termsUrl:k,termsLabel:j,privacyUrl:Z,privacyLabel:be,portalStyle:at,navContent:le,navPosition:Ve,footerContent:Re,view:X,setView:Ze,selectedSendToken:Ke,setSelectedSendToken:ge,showPortfolio:Ye,portfolioTitle:xe,showTotalAssets:te,totalAssetsLabel:K,sendTransaction:_e,getTransactionReceipt:ce,estimateGas:Ae,onOutlink:ve}=Je(),{tokens:me,isLoading:ye}=vt(r,w,p&&c),{statsMap:ne}=kt(r,c),{categoryMap:Ee}=Er(r,c),re=c&&te,{displayValue:st,isLowerBound:ke,isLoading:Qe}=Pr(r,w,p&&re),[He,Ge]=V.useState(!1),lt=V.useRef(null),[Te,ze]=V.useState(0),{holdings:Pe,isLoading:Xe}=yr(r,w,p&&c&&u),Ue=V.useMemo(()=>Pe.map(x=>x.token),[Pe]),{imageMap:Se}=kr(r,Ue,u&&Pe.length>0),we=V.useMemo(()=>{let x=[],W=[],$=[],oe=new Map((I??[]).map((B,J)=>[`${Da(B.chainId)}:${B.address.toLowerCase()}`,J]));for(let B of me){let J=To(r,B.chainId,B.symbol)!==void 0,ut=`${B.chainId}:${B.address.toLowerCase()}`,ft=oe.get(ut),zn=new Ot.default(B.quantity.numeric).shiftedBy(-B.quantity.decimals);if(J)x.push(B);else if(ft!==void 0)W.push(B);else if(zn.isGreaterThan(0)){if(!y&&Ee.get(go(B.chainId,B.address))==="game")continue;$.push(B)}}return x.sort((B,J)=>{let ut=To(r,B.chainId,B.symbol)??99,ft=To(r,J.chainId,J.symbol)??99;return ut-ft}),W.sort((B,J)=>{let ut=oe.get(`${B.chainId}:${B.address.toLowerCase()}`)??99,ft=oe.get(`${J.chainId}:${J.address.toLowerCase()}`)??99;return ut-ft}),$.sort((B,J)=>{let ut=ne.get(yt(B.chainId,B.address)),ft=ne.get(yt(J.chainId,J.address)),zn=new Ot.default(B.quantity.numeric).shiftedBy(-B.quantity.decimals).multipliedBy(ut?.price??0);return new Ot.default(J.quantity.numeric).shiftedBy(-J.quantity.decimals).multipliedBy(ft?.price??0).minus(zn).toNumber()}),[...x,...W,...$]},[me,r,ne,y,Ee,I]),Ie=V.useMemo(()=>{if(!u)return[];let x=new Set(me.map(W=>W.address.toLowerCase()));return[...Pe].filter(W=>!x.has(W.token.toLowerCase())).sort((W,$)=>{let oe=new Ot.default(W.value);return new Ot.default($.value).minus(oe).toNumber()})},[Pe,u,me]),Ce=V.useRef(!1),Oe=V.useCallback(x=>{Ce.current=!0,Ze(x)},[Ze]),Hn=V.useCallback(()=>{ge(null),Oe("wallet")},[ge,Oe]),cn=V.useCallback(x=>{ge(x),Oe("send")},[ge,Oe]),dn=V.useCallback(()=>{ge(null),Oe("wallet")},[ge,Oe]);V.useEffect(()=>{p||(Ce.current=!1)},[p]);let pn=V.useRef(null);V.useEffect(()=>{let x=pn.current;if(!x||!l)return;let W=$=>{$.pointerType==="touch"&&$.stopPropagation()};return x.addEventListener("pointerdown",W),()=>x.removeEventListener("pointerdown",W)},[l]);let[ct,dt]=V.useState(!1),Tt=V.useRef(void 0);V.useEffect(()=>()=>clearTimeout(Tt.current),[]),V.useEffect(()=>{let x=lt.current;if(!x||Re===null){ze(0);return}let W=()=>{ze(x.offsetHeight)};if(W(),typeof ResizeObserver>"u")return;let $=new ResizeObserver(W);return $.observe(x),()=>$.disconnect()},[Re]);let mn=V.useCallback(async()=>{if(!ct)try{await navigator.clipboard.writeText(w),dt(!0),clearTimeout(Tt.current),Tt.current=setTimeout(()=>dt(!1),2e3),v?.(w,!0)}catch{v?.(w,!1)}},[w,v,ct]),Wt=V.useCallback(x=>{x.currentTarget.setAttribute("data-loaded","true")},[]),Gn=V.useMemo(()=>({background:Ba(w)}),[w]),Bt=V.useMemo(()=>A||bt(r,w,{size:120,bg:i==="dark"?"1A1A2E":"F3F6F8"}),[A,r,w,i]),f=V.useMemo(()=>Wa(st),[st]),L=k||Z?(0,s.jsxs)("div",{className:"wi-legal-links",children:[k&&(0,s.jsx)("a",{className:"wi-legal-link",href:k,target:"_blank",rel:"noopener noreferrer",onClick:x=>De(x,k,{category:"terms",origin:"terms"},ve),children:j}),k&&Z&&(0,s.jsx)("span",{className:"wi-legal-sep","aria-hidden":!0,children:"\xB7"}),Z&&(0,s.jsx)("a",{className:"wi-legal-link",href:Z,target:"_blank",rel:"noopener noreferrer",onClick:x=>De(x,Z,{category:"privacy",origin:"privacy"},ve),children:be})]}):null,M=E?(0,s.jsxs)("button",{type:"button",className:"wi-disconnect-btn",onClick:()=>{E(),N()},children:[(0,s.jsx)(Yo,{size:12}),(0,s.jsx)("span",{className:"wi-disconnect-label",children:H})]}):null,S=(0,s.jsxs)("div",{className:Y("wi-view-inner",Ce.current&&"wi-view-wallet"),children:[re&&(()=>{let x=Ye;return(0,s.jsxs)(x?"button":"div",{...x?{type:"button",onClick:()=>Oe("portfolio"),"aria-label":"View Portfolio"}:{},className:"wi-total-section","data-clickable":x||void 0,children:[(0,s.jsxs)("div",{className:"wi-total-head",children:[(0,s.jsx)("span",{className:"wi-total-label",children:K}),(0,s.jsx)("span",{role:"button",tabIndex:0,className:"wi-total-eye",onClick:$=>{$.stopPropagation(),Ge(oe=>!oe)},onKeyDown:$=>{($.key==="Enter"||$.key===" ")&&($.preventDefault(),$.stopPropagation(),Ge(oe=>!oe))},"aria-label":He?"Show balance":"Hide balance",children:He?(0,s.jsx)(nr,{}):(0,s.jsx)(tr,{})})]}),(0,s.jsxs)("div",{className:"wi-total-body",children:[Qe?(0,s.jsx)("div",{className:"wi-skeleton-block wi-total-skeleton",style:{width:160,height:36}}):(0,s.jsx)("div",{className:"wi-total-value","data-hidden":He||void 0,children:He?(0,s.jsx)("span",{className:"wi-total-mask",children:"\u2022\u2022\u2022\u2022\u2022\u2022"}):(0,s.jsxs)(s.Fragment,{children:[ke&&(0,s.jsx)("span",{className:"wi-total-lte",children:"\u2264"}),(0,s.jsx)("span",{className:"wi-total-currency",children:"$"}),(0,s.jsx)("span",{className:"wi-total-amount",children:f.main}),f.decimal&&(0,s.jsx)("span",{className:"wi-total-decimal",children:f.decimal})]})}),x&&(0,s.jsx)("span",{className:"wi-total-chevron","aria-hidden":!0,children:(0,s.jsx)(Jo,{size:18})})]})]})})(),Ve==="top"&&le&&(0,s.jsx)("div",{className:"wi-nav-fixed",children:le}),c&&(0,s.jsx)("div",{ref:pn,className:"wi-scrollable-body","data-vaul-no-drag":!0,children:(0,s.jsxs)("div",{className:"wi-token-list",children:[ye&&Array.from({length:5},(x,W)=>(0,s.jsxs)("div",{className:"wi-skeleton-item",children:[(0,s.jsxs)("div",{className:"wi-skeleton-left",children:[(0,s.jsx)("div",{className:"wi-skeleton-block wi-skeleton-icon"}),(0,s.jsxs)("div",{className:"wi-skeleton-lines",children:[(0,s.jsx)("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),(0,s.jsx)("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),(0,s.jsxs)("div",{className:"wi-skeleton-right",children:[(0,s.jsx)("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),(0,s.jsx)("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},W)),!ye&&we.length===0&&!u&&(0,s.jsx)("div",{className:"wi-empty",children:"No Tokens Found"}),we.map(x=>{let W=ne.get(yt(x.chainId,x.address)),$=W?parseFloat(W.percent_change_24h):null,oe=$!==null&&$>=0,B=Xn(r,x.chainId);return(0,s.jsxs)("button",{type:"button",className:"wi-token-item wi-token-item--button",onClick:()=>cn(x),"aria-label":`Send ${x.symbol}`,children:[(0,s.jsxs)("div",{className:"wi-token-left",children:[(0,s.jsxs)("div",{className:"wi-token-icon-wrap",children:[(0,s.jsx)("img",{src:x.icon_url,alt:x.symbol,className:"wi-token-icon",width:32,height:32,loading:"lazy",draggable:!1,onLoad:Wt,onError:J=>{J.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),B&&(0,s.jsx)("img",{src:B,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:J=>{J.currentTarget.style.display="none"}})]}),(0,s.jsxs)("div",{className:"wi-token-info",children:[(0,s.jsx)("span",{className:"wi-token-name",children:x.symbol}),W&&(0,s.jsxs)("div",{className:"wi-token-price-row",children:[(0,s.jsx)("span",{className:"wi-token-price",children:Yn(W.price)}),(0,s.jsx)("span",{className:"wi-token-change","data-positive":oe,"data-zero":$===0||void 0,children:$!==null&&($===0?"0%":`${oe?"+":"-"}${(oe?Math.floor:Math.ceil)(Math.abs($)*100)/100}%`)})]})]})]}),(0,s.jsxs)("div",{className:"wi-token-right",children:[(0,s.jsx)("span",{className:"wi-token-balance",children:ht(x.quantity.numeric,x.quantity.decimals)}),W&&(0,s.jsx)("span",{className:"wi-token-value",children:jo(x.quantity.numeric,x.quantity.decimals,W.price)})]})]},`${x.address}-${x.chainId}`)}),u&&Xe&&Array.from({length:3},(x,W)=>(0,s.jsxs)("div",{className:"wi-skeleton-item",children:[(0,s.jsxs)("div",{className:"wi-skeleton-left",children:[(0,s.jsx)("div",{className:"wi-skeleton-block wi-skeleton-icon"}),(0,s.jsxs)("div",{className:"wi-skeleton-lines",children:[(0,s.jsx)("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),(0,s.jsx)("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),(0,s.jsxs)("div",{className:"wi-skeleton-right",children:[(0,s.jsx)("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),(0,s.jsx)("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},`forge-sk-${W}`)),u&&!Xe&&!ye&&we.length===0&&Ie.length===0&&(0,s.jsx)("div",{className:"wi-empty",children:"No Tokens Found"}),u&&Ie.map(x=>{let W=Se.get(x.token)||"",$=Xn(r,fe[r].cross);return(0,s.jsxs)("div",{className:"wi-token-item",children:[(0,s.jsxs)("div",{className:"wi-token-left",children:[(0,s.jsxs)("div",{className:"wi-token-icon-wrap",children:[(0,s.jsx)("img",{src:W||"https://contents.crosstoken.io/wallet/token/images/FT.png",alt:x.token_name,className:"wi-token-icon",width:32,height:32,loading:"lazy",draggable:!1,onLoad:Wt,onError:oe=>{oe.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),$&&(0,s.jsx)("img",{src:$,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:oe=>{oe.currentTarget.style.display="none"}})]}),(0,s.jsxs)("div",{className:"wi-token-info",children:[(0,s.jsx)("span",{className:"wi-token-name",children:x.token_name}),(0,s.jsx)("div",{className:"wi-token-price-row",children:(0,s.jsxs)("span",{className:"wi-token-price",children:[ht(x.current_price,18)," CROSS"]})})]})]}),(0,s.jsxs)("div",{className:"wi-token-right",children:[(0,s.jsx)("span",{className:"wi-token-balance",children:ht(x.balance,18)}),(0,s.jsx)("span",{className:"wi-token-value",children:Yn(x.current_value_usd)})]})]},`forge-${x.token}`)})]})}),Ve==="bottom"&&le&&(0,s.jsx)("div",{className:"wi-nav-fixed",children:le}),M&&(0,s.jsx)("div",{className:"wi-wallet-disconnect-row",children:M})]},"wallet"),z=Ye?(0,s.jsx)("div",{className:Y("wi-view-inner wi-portfolio-body",Ce.current&&"wi-view-portfolio"),children:(0,s.jsx)(Ct,{env:r,theme:i,walletAddress:w,showHeader:!1,sendTransaction:_e,getTransactionReceipt:ce,onOutlink:ve})},"portfolio"):null,ie=Ke?(0,s.jsx)("div",{className:Y("wi-view-inner wi-send-body",Ce.current&&"wi-view-send"),children:(0,s.jsx)(Kt,{env:r,theme:i,walletAddress:w,accountName:h,accounts:P,token:Ke,tokens:we,onTokenChange:ge,sendTransaction:_e,getTransactionReceipt:ce,estimateGas:Ae,onConfirmSuccess:dn,onOutlink:ve})},"send"):null,pt=(0,s.jsx)("div",{className:Y("wi-view-inner wi-qr-body",Ce.current&&"wi-view-qr"),children:(0,s.jsxs)("div",{className:"wi-qr-section",children:[(0,s.jsxs)("div",{className:"wi-qr-card",children:[(0,s.jsxs)("div",{className:"wi-qr-code",children:[(0,s.jsx)(li.QRCodeSVG,{value:w,size:180,level:"H",marginSize:2,...g&&{imageSettings:{src:g,height:33,width:33,excavate:!0}}}),!g&&(0,s.jsx)("div",{className:"wi-qr-logo",children:(0,s.jsx)(or,{size:33})})]}),(0,s.jsx)("p",{className:"wi-qr-address",children:w}),(0,s.jsxs)("button",{type:"button",className:"wi-qr-copy-btn",onClick:mn,children:[(0,s.jsx)("span",{className:"wi-qr-copy-icon",children:ct?(0,s.jsx)(jt,{size:16}):(0,s.jsx)(Jn,{size:16})}),(0,s.jsx)("span",{className:"wi-qr-copy-text",children:ct?"Copied!":"Copy address"})]})]}),L]})},"qr"),de=X==="qr"||X==="portfolio"||X==="send",mt=Re!==null?(0,s.jsx)("div",{className:"wi-builtin-footer",children:Re}):null,$t=!!G&&h?.trim().toLowerCase()!=="my wallet",Vt=(0,s.jsxs)("div",{className:"wi-account-text",children:[$t?(0,s.jsxs)("button",{type:"button",className:"wi-account-row wi-account-row--btn",onClick:G,"aria-label":"Switch account",children:[(0,s.jsx)("span",{className:"wi-account-name",children:h??"Account 1"}),(0,s.jsx)("span",{className:"wi-account-switch","aria-hidden":"true",children:(0,s.jsx)(er,{size:12})})]}):(0,s.jsx)("div",{className:"wi-account-row",children:(0,s.jsx)("span",{className:"wi-account-name",children:h??"Account 1"})}),(0,s.jsxs)("button",{type:"button",className:"wi-address-row-btn",onClick:mn,"aria-label":"Copy address",children:[(0,s.jsx)("span",{className:"wi-account-address",children:Ne(w)}),(0,s.jsx)("span",{className:"wi-account-copy",children:ct?(0,s.jsx)(jt,{size:14}):(0,s.jsx)(Jn,{size:14})})]})]}),fn=(0,s.jsxs)(s.Fragment,{children:[n,de?(0,s.jsxs)("div",{className:"wi-sticky-header",children:[(0,s.jsxs)("div",{className:"wi-header wi-header--wallet wi-header--sub-account",children:[(0,s.jsx)("button",{type:"button",className:"wi-header-back",onClick:Hn,"aria-label":"Back",children:(0,s.jsx)(Xo,{})}),(0,s.jsx)("div",{className:"wi-account-block wi-account-block--sub-account",children:Vt}),(0,s.jsx)("button",{type:"button",className:"wi-header-action",onClick:N,"aria-label":"Close",children:(0,s.jsx)(eo,{size:24})})]}),(0,s.jsx)("hr",{className:"wi-divider"})]}):(0,s.jsxs)("div",{className:"wi-sticky-header",children:[(0,s.jsxs)("div",{className:"wi-header wi-header--wallet",children:[(0,s.jsxs)("div",{className:"wi-account-block",children:[(0,s.jsxs)("div",{className:"wi-avatar",children:[(0,s.jsx)("div",{className:"wi-avatar-fallback",style:Gn}),Bt&&(0,s.jsx)("img",{src:Bt,alt:"",className:"wi-avatar-img",width:30,height:30,draggable:!1,onLoad:Wt,onError:x=>{x.currentTarget.style.display="none"}})]}),Vt]}),(0,s.jsxs)("div",{className:"wi-header-actions",children:[b&&(0,s.jsx)("button",{type:"button",className:"wi-header-action",onClick:()=>Oe("qr"),"aria-label":"Show QR code",children:(0,s.jsx)(Qo,{size:20})}),(0,s.jsx)("button",{type:"button",className:"wi-header-action",onClick:N,"aria-label":"Close",children:(0,s.jsx)(eo,{size:24})})]})]}),(0,s.jsx)("hr",{className:"wi-divider"})]}),(0,s.jsxs)("div",{className:"wi-view-container",children:[X==="wallet"&&S,X==="qr"&&pt,X==="portfolio"&&z,X==="send"&&ie]}),mt&&X!=="portfolio"&&X!=="send"&&(0,s.jsx)("div",{className:"wi-sticky-footer",children:(0,s.jsx)("div",{className:"wi-footer",ref:lt,children:mt})})]}),Pt={...at,...Te>0?{"--wi-footer-height":`${Te}px`}:null};return l?(0,s.jsxs)(Xt.Drawer.Portal,{children:[d&&(0,s.jsx)(Xt.Drawer.Overlay,{className:"wi-drawer-overlay"}),(0,s.jsxs)(Xt.Drawer.Content,{className:Y("wi-drawer-content",o),"data-theme":i,style:Pt,"data-direction":m,"data-no-balance":!c||void 0,"data-has-footer":Te>0||void 0,"data-view":X,children:[(0,s.jsx)(Xt.Drawer.Title,{className:"wi-sr-only",children:"My Wallet"}),fn]})]}):(0,s.jsxs)(s.Fragment,{children:[d&&p&&(0,s.jsx)("div",{className:"wi-drawer-overlay",onClick:N}),(0,s.jsx)(Fn.Portal,{children:(0,s.jsx)(Fn.Content,{align:e,sideOffset:t,className:Y("wi-popover-content",o),"data-theme":i,style:Pt,"data-no-balance":!c||void 0,"data-has-footer":Te>0||void 0,"data-view":X,children:fn})})]})}var di=U(require("react"),1);function pi({position:e="top",children:t}){let{setNavContent:o,setNavPosition:n}=Je();return di.useEffect(()=>(o(t),n(e),()=>o(null)),[t,e,o,n]),null}var mi=U(require("react"),1);function ui({children:e}){let{setFooterContent:t}=Je();return mi.useEffect(()=>(t(e),()=>t(null)),[e,t]),null}O(`[data-theme=dark].wi-popover-content,[data-theme=dark].wi-drawer-content{--wi-primary: var(--cck-primary, #019d92);--wi-secondary: var(--cck-secondary, #e70077);--wi-surface-bg: var(--cck-surface-bg, #121212);--wi-surface-default: var(--cck-surface-default, rgba(255, 255, 255, .05));--wi-surface-subtle: var(--cck-surface-subtle, rgba(255, 255, 255, .1));--wi-border-default: var(--cck-border-default, rgba(255, 255, 255, .05));--wi-border-subtle: var(--cck-border-subtle, rgba(255, 255, 255, .1));--wi-texticon-primary: var(--cck-texticon-primary, #ffffff);--wi-texticon-secondary: var(--cck-texticon-secondary, rgba(255, 255, 255, .7));--wi-texticon-tertiary: var(--cck-texticon-tertiary, rgba(255, 255, 255, .5));--wi-on-primary: var(--cck-on-primary, #ffffff);--wi-error: var(--cck-error, #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(--cck-primary, #019d92);--wi-secondary: var(--cck-secondary, #e70077);--wi-surface-bg: var(--cck-surface-bg, #ffffff);--wi-surface-default: var(--cck-surface-default, rgba(18, 18, 18, .05));--wi-surface-subtle: var(--cck-surface-subtle, rgba(18, 18, 18, .1));--wi-border-default: var(--cck-border-default, rgba(18, 18, 18, .05));--wi-border-subtle: var(--cck-border-subtle, rgba(18, 18, 18, .1));--wi-texticon-primary: var(--cck-texticon-primary, #121212);--wi-texticon-secondary: var(--cck-texticon-secondary, rgba(18, 18, 18, .7));--wi-texticon-tertiary: var(--cck-texticon-tertiary, rgba(18, 18, 18, .5));--wi-on-primary: var(--cck-on-primary, #ffffff);--wi-error: var(--cck-error, #e70077);--wi-shadow: 0 2px 16px -2px rgba(0, 0, 0, .15)}
9
9
  `);O(`.wi-trigger-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid rgba(255,255,255,.2);background:#1a2332;border-radius:9999px;cursor:pointer;color:#fff;font-family:inherit;font-size:16px;font-weight:500;line-height:24px;letter-spacing:-.3125px;transition:opacity .15s ease}.wi-trigger-btn:hover{opacity:.85}.wi-trigger-btn[data-theme=light]{background:#f3f6f8;border-color:#1212121a;color:#121212}.wi-trigger-btn[data-mobile]{font-size:14px;padding:6px 12px;gap:6px;line-height:20px}.wi-trigger-address{white-space:nowrap}.wi-divider{height:1px;background:var(--wi-border-default);margin:0;border:none;flex-shrink:0}[data-theme=light] .wi-divider{background:#1212121a}[data-theme=dark] .wi-divider{background:#ffffff1a}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ function ge(e){if(e)return vo(e);let t=typeof process<"u"?process.env?.NEXT_PUBL
3
3
  `);O(`@keyframes al-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
4
4
  `);O(`.al-popover-content{z-index:100001;border-radius:16px;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:24px 4px;box-sizing:border-box}.al-popover-content .al-grid{grid-template-columns:repeat(4,100px);row-gap:24px;column-gap:0;padding:0;justify-content:center}.al-popover-content .al-grid-item{flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;padding:8px 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:54px;height:54px;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;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{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: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:36px;height:36px;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.5;letter-spacing:-.16px;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:-.16px;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(--al-text);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:transparent;border-radius:8px;cursor:pointer;transition:background-color .15s ease;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:var(--al-bg-hover)}.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:-.16px;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:-.1px;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:#7346f3;color:var(--al-badge-new-text);font-family:Pretendard,Inter,sans-serif;font-size:9px;font-weight:700;flex-shrink:0}
5
5
  `);O("");import{jsx as Dn}from"react/jsx-runtime";function ko({env:e,theme:t="dark",mobileBreakpoint:o=768,domain:n,children:r}){let i=Lt(`(max-width: ${o}px)`),[a,c]=Rt.useState(!1),d=Rt.useCallback(()=>c(!1),[]),l=ge(e),s=Rt.useMemo(()=>({env:l,theme:t,isMobile:i,open:a,domain:n,close:d}),[l,t,i,a,n,d]);return Dn(Fn.Provider,{value:s,children:i?Dn(li.Root,{direction:"right",open:a,onOpenChange:c,noBodyStyles:!0,children:r},"drawer"):Dn(yo.Root,{open:a,onOpenChange:c,children:r},"popover")})}import*as Ro from"@radix-ui/react-popover";import{Drawer as di}from"vaul";import{jsx as we,jsxs as ci}from"react/jsx-runtime";function Co({size:e=18}){return ci("svg",{className:"al-trigger-icon",width:e,height:e,viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[we("rect",{width:"4",height:"4",fill:"currentColor"}),we("rect",{x:"7",width:"4",height:"4",fill:"currentColor"}),we("rect",{x:"14",width:"4",height:"4",fill:"currentColor"}),we("rect",{y:"7",width:"4",height:"4",fill:"currentColor"}),we("rect",{x:"7",y:"7",width:"4",height:"4",fill:"currentColor"}),we("rect",{x:"14",y:"7",width:"4",height:"4",fill:"currentColor"}),we("rect",{y:"14",width:"4",height:"4",fill:"currentColor"}),we("rect",{x:"7",y:"14",width:"4",height:"4",fill:"currentColor"}),we("rect",{x:"14",y:"14",width:"4",height:"4",fill:"currentColor"})]})}function No(){return we("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:we("path",{d:"M12 19L5 12M5 12L12 5M5 12H19",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Lo(){return we("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:we("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}import{jsx as sn}from"react/jsx-runtime";function Eo({asChild:e,children:t}){let{isMobile:o,theme:n}=an(),r=t!=null,i=e??!0,a=r?t:sn("button",{type:"button",className:"al-trigger-btn","data-theme":n,children:sn(Co,{size:o?12:18})});return o?sn(di.Trigger,{asChild:i,children:a}):sn(Ro.Trigger,{asChild:i,children:a})}import*as wt from"react";import*as cn from"@radix-ui/react-popover";import{Drawer as Et}from"vaul";import{useQuery as ui}from"@tanstack/react-query";var To={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 pi="https://stg-contents.crosstoken.io/frontend/common/app-launcher/icons",mi="https://contents.crosstoken.io/frontend/common/app-launcher/icons";function De(e,t){return`${e==="production"?mi:pi}/${t}.png`}function Po(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:De(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:De(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:De(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:De(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:De(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:De(t,"nft"),order:8e3,type:"nft",badge:null,isNew:!1},{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:De(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:De(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:De(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:De(t,"explorer"),order:12e3,type:"explorer",badge:null,isNew:!1}]}}function ln(e){let t=ge(e);return ui({queryKey:["global-menu",t],queryFn:async({signal:o})=>{try{let n=await fetch(To[t],{cache:"no-store",signal:o});if(!n.ok)throw new Error(`Failed to fetch global menu: ${n.status}`);return n.json()}catch(n){if(o.aborted)throw n;return Po(t)}},staleTime:0,gcTime:0,retry:!1,refetchOnMount:!0})}function K(...e){return e.filter(Boolean).join(" ")}import{jsx as oe,jsxs as Gt}from"react/jsx-runtime";function Io({align:e="end",sideOffset:t=12,className:o}){let{env:n,theme:r,isMobile:i,domain:a,close:c}=an(),{data:d}=ln(n),l=wt.useMemo(()=>(d?.items??[]).sort((h,P)=>h.order-P.order),[d]),s=8,m=wt.useRef(null),k=wt.useCallback(h=>{m.current={x:h.clientX,y:h.clientY}},[]),b=typeof window<"u"?window.location.pathname:"",g=wt.useCallback((h,P)=>{if(m.current){let N=h.clientX-m.current.x,V=h.clientY-m.current.y;if(m.current=null,Math.abs(N)>s||Math.abs(V)>s)return}let A=P.url[n]??P.url.production,I=So(A,a);if(!I)try{let N=new URL(A).pathname;if(b===N||b.startsWith(N+"/")){c();return}}catch{}I?window.open(A,"_blank","noopener,noreferrer"):window.location.href=A,c()},[n,a,c,b]),w=oe("div",{className:"al-grid","data-theme":r,children:l.map(h=>{let P=h.url[n]??h.url.production,A=So(P,a),I=!1;if(!A)try{let N=new URL(P).pathname;I=b===N||b.startsWith(N+"/")}catch{I=!1}return Gt("button",{type:"button",className:"al-grid-item","data-active":I||void 0,onPointerDown:k,onClick:N=>g(N,h),children:[Gt("div",{className:"al-grid-item-left",children:[oe("div",{className:"al-grid-item-icon",children:oe("img",{src:h.iconUrl,alt:h.label,width:24,height:24,loading:"lazy"})}),oe("span",{className:"al-grid-item-label",children:h.label}),h.isNew&&oe("span",{className:"al-badge-new",children:"N"})]}),oe("div",{className:"al-grid-item-right",children:h.badge&&oe("span",{className:"al-badge",children:h.badge})})]},h.id)})});return i?Gt(Et.Portal,{children:[oe(Et.Overlay,{className:"al-drawer-overlay"}),Gt(Et.Content,{className:K("al-drawer-content",o),"data-theme":r,children:[Gt("div",{className:"al-drawer-header",children:[oe(Et.Close,{className:"al-drawer-close",children:oe(No,{})}),oe(Et.Title,{className:"al-drawer-title",children:"CROSS Services"}),oe(Et.Close,{className:"al-drawer-close",children:oe(Lo,{})})]}),oe("div",{className:"al-drawer-body",children:w})]})]}):oe(cn.Portal,{children:oe(cn.Content,{align:e,sideOffset:t,className:K("al-popover-content",o),"data-theme":r,children:w})})}function So(e,t){try{let o=new URL(e).hostname;return typeof window>"u"?!0:o!==(t??window.location.hostname)}catch{return!1}}import*as ce from"react";import*as Vr from"@radix-ui/react-popover";import{Drawer as Qa}from"vaul";import{createContext as fi,useContext as gi}from"react";var Wn=fi(null);function tt(){let e=gi(Wn);if(!e)throw new Error("WalletInfo compound components must be used within <WalletInfo>");return e}var Bn=(n=>(n.CROSSx="crossx",n.MetaMask="io.metamask",n.Binance="com.binance.wallet",n))(Bn||{}),dn={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"}};import*as R from"react";import ht from"bignumber.js";function wi(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 bt(e,t){if(!e||e==="0")return"0.00";let o=new ht(e).shiftedBy(-t),n=o.isGreaterThanOrEqualTo(1)?2:4;return o.toFormat(n,ht.ROUND_DOWN)}function Ne(e){return e.length<=10?e:`${e.slice(0,6)}...${e.slice(-4)}`}function $n(e){let t=typeof e=="string"?parseFloat(e):e;if(Number.isNaN(t)||t===0)return"$0.00";let o=t>=1?2:4,n=Math.pow(10,o);return`$${(Math.floor(t*n)/n).toLocaleString("en-US",{minimumFractionDigits:o,maximumFractionDigits:o})}`}function Mo(e,t,o){let r=new ht(e).shiftedBy(-t).multipliedBy(new ht(o));return r.isZero()||r.isNaN()?"$0.00":`$${(r.integerValue(ht.ROUND_DOWN).isGreaterThanOrEqualTo(1)?r.decimalPlaces(2,ht.ROUND_DOWN):r.decimalPlaces(4,ht.ROUND_DOWN)).toFormat()}`}function _o(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 o=t;if(o.includes("e")||o.includes("E")){let a=Number(o);if(!Number.isFinite(a)||a===0)return{displayValue:"0",isLowerBound:!1};o=wi(a.toFixed(18))}let[n="0",r=""]=o.split(".");if(Number(n)>=1){let a=r.slice(0,2).padEnd(2,"0");return{displayValue:`${Number(n).toLocaleString("en-US")}.${a}`,isLowerBound:!1}}return r.length<4?{displayValue:`${n}.${r}`,isLowerBound:!1}:r.slice(0,4)==="0000"?{displayValue:"0.0001",isLowerBound:!0}:{displayValue:`0.${r.slice(0,4)}`,isLowerBound:!1}}var Le={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 Vn={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"},Ao={cross:"https://contents.crosstoken.io/wallet/token/images/CROSS.svg",bsc:"https://contents.crosstoken.io/wallet/token/images/BSC.svg"};function Hn(e,t){let o=me[e];if(t===o.cross)return Ao.cross;if(t===o.bsc)return Ao.bsc}var hi={dev:"https://dev-portrait.crosstoken.io",stage:"https://dev-portrait.crosstoken.io",production:"https://portrait.crosstoken.io"};function xt(e,t,o={}){if(!t||!t.startsWith("0x"))return;let{size:n=120,bg:r,format:i="png"}=o,a=hi[e],c=r?`&bg=${r}`:"";return`${a}/portrait/evm/${t}.${i}?size=${n}${c}`}import{jsx as G,jsxs as pn}from"react/jsx-runtime";function Oo({size:e=16,className:t}){return pn("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[G("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"}),G("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 Gn({size:e=16,className:t}){return G("svg",{width:e,height:e,viewBox:"4 4 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:G("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 G("svg",{width:e,height:e,viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:G("path",{d:"M11.6667 3.5L5.25 9.91667L2.33334 7",stroke:"currentColor",strokeWidth:1.16667,strokeLinecap:"round",strokeLinejoin:"round"})})}function zn({size:e=24,className:t}){return G("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:G("path",{d:"M18 6L6 18M6 6l12 12",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function Fo({size:e=20,className:t}){return pn("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[G("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"}),G("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 Do({size:e=20,className:t}){return G("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,viewBox:"0 0 20 20",fill:"none",className:t,children:G("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 Wo({size:e=20,className:t}){return G("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:G("path",{d:"M12.5 15L7.5 10L12.5 5",stroke:"currentColor",strokeWidth:1.67,strokeLinecap:"round",strokeLinejoin:"round"})})}function Bo({size:e=20,className:t}){return G("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:G("path",{d:"M8 5L13 10L8 15",stroke:"currentColor",strokeWidth:1.67,strokeLinecap:"round",strokeLinejoin:"round"})})}function $o({size:e=20,className:t}){return G("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:G("path",{d:"M5 8L10 13L15 8",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function Vo({size:e=16,className:t}){return pn("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[G("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"}),G("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 Ho({size:e=16,className:t}){return pn("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[G("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"}),G("path",{d:"M1.667 1.667l16.666 16.666",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Go({size:e=42,className:t}){return G("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,viewBox:"0 0 42 42",fill:"none",className:t,children:G("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})})}import{useMemo as bi}from"react";import{useQuery as xi}from"@tanstack/react-query";var vi="send:chain-info";function yi(e){if("data"in e&&e.data!==void 0){let t=e.data;if(Array.isArray(t)){let o=t[0];if(!o)throw new Error("Chain info payload is empty.");return o}return t}return e}function Un(e,...t){let o=e.replace(/\/+$/,""),n=t.map(r=>r.replace(/^\/+|\/+$/g,"")).filter(Boolean);return[o,...n].join("/")}function ki(e,t,o,n){if(n)return t===me[e].cross?zo(t,n):o?.explorer_url?Un(o.explorer_url,o.explorer_postfix?.transaction??"tx",n):Ci(e,t,n)}function zo(e,t){return Un("https://explorer.crosstoken.io",String(e),"tx",t)}function Ci(e,t,o){let n=me[e];if(t===n.cross)return zo(t,o);if(t===n.bsc)return Un(e==="production"?"https://bscscan.com":"https://testnet.bscscan.com","tx",o)}function Uo(e,t,o,n=!0){let r=Le[e],i=xi({queryKey:[vi,e,t],queryFn:async({signal:d})=>{let l=await fetch(`${r}/v1/public/chain/info/${t}`,{cache:"no-store",signal:d});if(!l.ok)throw new Error(`Failed to fetch chain info: ${l.status}`);let s=await l.json();if("code"in s&&s.code!==void 0&&s.code!==200)throw new Error(`Chain info API error: ${s.code}`);return yi(s)},enabled:n,staleTime:300*1e3}),a=i.data;return{transactionUrl:bi(()=>ki(e,t,a,o),[t,a,e,o]),chainInfo:a,...i}}var jo="0x0000000000000000000000000000000000000001";var Ni="0xa9059cbb",Li=/^0x[a-fA-F0-9]{40}$/,Ri="nexus-cross:dapp-ui:send:recent:",qo=10;function Ei(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===48;)t--;return e.slice(0,t)}function Ut(e){return e.toLowerCase()}function jt(e){return Li.test(e)}function jn(e){return Ut(e.address)===jo}function qn(e){return`${Ri}${e.toLowerCase()}`}function Tt(e){if(typeof window>"u")return[];try{let t=window.localStorage.getItem(qn(e));if(!t)return[];let o=JSON.parse(t);return Array.isArray(o)?o.filter(n=>n!==null&&typeof n=="object"&&jt(n.address)&&typeof n.updatedAt=="number").slice(0,qo):[]}catch{return[]}}function Zn(e,t){if(typeof window>"u")return[];let o=Ut(t),n=[{address:o,updatedAt:Date.now()},...Tt(e).filter(r=>r.address!==o)].slice(0,qo);try{window.localStorage.setItem(qn(e),JSON.stringify(n))}catch{return Tt(e)}return n}function Kn(e){if(!(typeof window>"u"))try{window.localStorage.removeItem(qn(e))}catch{}}function Yn(e,t){let o=e.trim();if(!o)return{error:"Enter an amount."};if(!/^\d+(\.\d*)?$/.test(o))return{error:"Enter a valid amount."};let[n="0",r=""]=o.split(".");if(r.length>t)return{error:`Max ${t} decimal places.`};let i=BigInt(n||"0"),a=r.padEnd(t,"0"),c=a?BigInt(a):0n,d=10n**BigInt(t),l=i*d+c;return l<=0n?{error:"Amount must be greater than 0."}:{value:l}}function Qn(e,t){let o=BigInt(e||"0"),n=10n**BigInt(t),r=o/n,i=o%n;if(i===0n)return r.toString();let a=Ei(i.toString().padStart(t,"0"));return`${r.toString()}.${a}`}function Xn(e,t){let o=e.replace(/^0x/,"").toLowerCase().padStart(64,"0"),n=t.toString(16).padStart(64,"0");return`${Ni}${o}${n}`}var Ti=2000000000n,Pi=1000000000n;async function mn(e,t,o){let n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:t,params:o})});if(!n.ok)throw new Error(`RPC ${t} HTTP ${n.status}`);let r=await n.json();if(r.error)throw new Error(`RPC ${t}: ${r.error.message}`);if(r.result===void 0)throw new Error(`RPC ${t}: empty result`);return r.result}function un(e){return BigInt(e)}function Si(e){return`0x${e.toString(16)}`}function Ii(e){let t={to:e.to};return e.from&&(t.from=e.from),e.value!==void 0&&e.value>0n&&(t.value=Si(e.value)),e.data&&(t.data=e.data),t}function Mi(e){return e===56||e===97}async function Zo(e){try{let t=await mn(e,"eth_gasPrice",[]);return{gasPrice:un(t)}}catch{return{gasPrice:Ti}}}async function _i(e,t){let o=Pi;try{let n=await mn(e,"eth_maxPriorityFeePerGas",[]);o=un(n)}catch{}return{maxFeePerGas:t+o,maxPriorityFeePerGas:o}}async function Ai(e,t){if(t)return Zo(e);let o;try{o=(await mn(e,"eth_getBlockByNumber",["latest",!1]))?.baseFeePerGas}catch{}return o?_i(e,un(o)):Zo(e)}async function Ko(e,t){let o=Mi(t.chainId),n=Ii(t),[r,i]=await Promise.all([mn(e,"eth_estimateGas",[n]),Ai(e,o)]);return{gasLimit:un(r),gasPrice:i.gasPrice,maxFeePerGas:i.maxFeePerGas,maxPriorityFeePerGas:i.maxPriorityFeePerGas}}function Yo(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 o=e,n=[];return typeof o.name=="string"&&n.push(o.name),typeof o.shortMessage=="string"&&n.push(o.shortMessage),typeof o.message=="string"&&n.push(o.message),typeof o.details=="string"&&n.push(o.details),o.cause!==void 0&&n.push(Yo(o.cause,t+1)),n.join(`
6
- `).toLowerCase()}function Oi(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 Jn(e,t={},o="Failed to send transaction."){let n=Yo(e);if(!n)return o;let r=t.nativeSymbol?.trim()||"gas token",i=t.networkName?.trim();if(n.includes("user rejected")||n.includes("userrejected")||n.includes("user denied")||n.includes("user cancelled")||n.includes("user canceled")||n.includes("action_rejected")||n.includes("rejected by user"))return"Transaction was cancelled.";if(n.includes("insufficientfunds")||n.includes("insufficient funds")||n.includes("exceeds the balance of the account")||n.includes("insufficient balance for transfer")){let a=i?` on ${i}`:"";return`Not enough ${r}${a} to cover the gas fee. Top up ${r} and try again.`}return n.includes("transaction underpriced")||n.includes("replacement transaction underpriced")||n.includes("fee too low")?"Gas fee was too low for the network. Please try again.":n.includes("nonce too low")||n.includes("nonce has already been used")||n.includes("nonce too high")?"Pending transactions are out of order. Refresh the page and try again.":n.includes("execution reverted")||n.includes("contractfunctionrevertederror")||n.includes("contractfunctionexecutionerror")?"The transaction was rejected by the contract. The recipient or token may be invalid.":n.match(/chain \d+ is not configured/)?"This network is not registered in the app. Contact support.":n.includes("http request failed")||n.includes("failed to fetch")||n.includes("network request failed")||n.includes("timeout")||n.includes("econnreset")||n.includes("rpc error")||n.includes("429")?"Network connection failed. Check your internet and try again.":n.includes("estimategas")||n.includes("gas estimation failed")?"Could not estimate the gas fee. The recipient address or amount may be invalid.":Oi(e)||o}O(`.wi-token-item--button{position:relative;width:100%;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:12px;padding:6px 8px;margin:-2px -8px;transition:background-color .15s ease,transform .15s ease}.wi-token-item--button:before{content:"";position:absolute;inset:-6px -16px;border-radius:16px}.wi-token-item--button:active{transform:scale(.99)}.wi-token-item--button:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.wi-view-send{animation:wi-slide-in-right .25s ease-out}.wi-send-body{flex:1;min-height:0;overflow:hidden}.wi-drawer-content[data-direction=bottom][data-view=send]{max-height:100dvh}.send-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.send-scroll{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;overflow-y:auto;overflow-x:hidden;padding:16px 24px 18px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;overscroll-behavior:contain}[data-theme=light] .send-scroll{scrollbar-color:rgba(0,0,0,.12) transparent}.send-scroll::-webkit-scrollbar{width:4px}.send-scroll::-webkit-scrollbar-track{background:transparent}.send-scroll::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}[data-theme=light] .send-scroll::-webkit-scrollbar-thumb{background:#0000001f}.send-section{display:flex;flex-direction:column;gap:8px}.send-asset-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px;border:1px solid var(--wi-border-subtle);border-radius:18px;background:var(--wi-surface-default);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.send-asset-card:disabled{cursor:default}.send-asset-card:not(:disabled):hover,.send-asset-card[aria-expanded=true]{border-color:var(--wi-primary);background:var(--wi-surface-subtle)}.send-token-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;padding:6px;border:1px solid var(--wi-border-subtle);border-radius:16px;background:var(--wi-surface-default)}.send-token-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;border:none;border-radius:12px;background:transparent;color:inherit;font:inherit;text-align:left;padding:8px;cursor:pointer}.send-token-option:hover,.send-token-option[data-selected]{background:var(--wi-surface-subtle)}.send-token-option:focus-visible,.send-asset-card:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-token-option-icon{flex-shrink:0;width:28px;height:28px;object-fit:contain;background:transparent}.send-token-option-symbol{color:var(--wi-texticon-primary);font-size:13px;font-weight:700;line-height:1.3}.send-token-option-balance{color:var(--wi-texticon-secondary);font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap}.send-asset-left{display:flex;align-items:center;gap:12px;min-width:0}.send-asset-icon{flex-shrink:0;width:40px;height:40px;object-fit:contain;background:transparent}.send-asset-info,.send-asset-balance{min-width:0;display:flex;flex-direction:column}.send-asset-symbol{color:var(--wi-texticon-primary);font-size:15px;font-weight:700;line-height:1.3}.send-asset-name,.send-balance-label{color:var(--wi-texticon-tertiary);font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.send-asset-balance{align-items:flex-end;text-align:right}.send-balance-value{color:var(--wi-texticon-primary);font-size:13px;font-weight:600;line-height:1.35;white-space:nowrap}.send-form{display:flex;flex-direction:column;gap:14px}.send-field{display:flex;flex-direction:column;gap:8px}.send-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.send-label{color:var(--wi-texticon-secondary);font-size:13px;font-weight:600;line-height:1.3}.send-input,.send-amount-wrap{width:100%;box-sizing:border-box;border:1px solid var(--wi-border-subtle);border-radius:14px;background:var(--wi-surface-default);color:var(--wi-texticon-primary);font:inherit}.send-input{min-height:46px;padding:0 14px;font-size:16px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.send-input:focus{border-color:var(--wi-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wi-primary) 18%,transparent)}.send-address-wrap[data-invalid],.send-amount-wrap[data-invalid]{border-color:#ff6b6b}.send-address-wrap[data-invalid]:focus-within,.send-amount-wrap[data-invalid]:focus-within{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b29}.send-input::placeholder{color:var(--wi-texticon-tertiary)}.send-address-wrap{display:flex;align-items:center;width:100%;box-sizing:border-box;border:1px solid var(--wi-border-subtle);border-radius:14px;background:var(--wi-surface-default);transition:border-color .15s ease,box-shadow .15s ease}.send-address-wrap:focus-within{border-color:var(--wi-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wi-primary) 18%,transparent)}.send-input--address{flex:1;min-width:0;border:none;background:transparent;box-shadow:none}.send-input--address:focus{box-shadow:none}.send-address-book-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-right:2px;border:none;border-radius:12px;background:transparent;color:var(--wi-texticon-tertiary);cursor:pointer;transition:background-color .15s ease,color .15s ease}.send-address-book-btn:hover,.send-address-book-btn[aria-expanded=true]{background:var(--wi-surface-subtle);color:var(--wi-primary)}.send-address-book-btn:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-address-picker{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--wi-border-subtle);border-radius:18px;background:var(--wi-surface-default)}.send-address-tabs{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--wi-border-subtle)}.send-address-tab{position:relative;border:none;background:transparent;color:var(--wi-texticon-tertiary);font:inherit;font-size:14px;font-weight:800;line-height:1.3;padding:0 0 12px;cursor:pointer}.send-address-tab[data-active]{color:var(--wi-primary)}.send-address-tab[data-active]:after{content:"";position:absolute;left:50%;bottom:-1px;width:34px;height:4px;border-radius:999px;background:var(--wi-primary);transform:translate(-50%)}.send-address-list{display:flex;flex-direction:column;gap:10px;max-height:224px;overflow-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}[data-theme=light] .send-address-list{scrollbar-color:rgba(0,0,0,.14) transparent}.send-address-list::-webkit-scrollbar{width:3px}.send-address-list::-webkit-scrollbar-track{background:transparent}.send-address-list::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}[data-theme=light] .send-address-list::-webkit-scrollbar-thumb{background:#00000024}.send-address-option{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;border:none;border-radius:14px;background:transparent;color:inherit;font:inherit;text-align:left;padding:8px;cursor:pointer;transition:background-color .15s ease}.send-address-option:hover{background:var(--wi-surface-subtle)}.send-address-option:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-address-avatar{flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--wi-surface-subtle);color:var(--wi-primary);font-size:12px;font-weight:800;overflow:hidden}.send-address-avatar-img{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;object-fit:cover}.send-address-avatar-fallback{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center}.send-address-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.send-address-name{color:var(--wi-texticon-primary);font-size:14px;font-weight:800;line-height:1.3}.send-address-value{color:var(--wi-texticon-tertiary);font-size:12px;font-weight:600;line-height:1.3}.send-address-empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--wi-texticon-tertiary);font-size:14px;font-weight:700}.send-amount-wrap{display:flex;align-items:center;padding-right:12px}.send-amount-wrap:focus-within{border-color:var(--wi-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wi-primary) 18%,transparent)}.send-input--amount{border:none;background:transparent;box-shadow:none;flex:1;min-width:0}.send-input--amount:focus{box-shadow:none}.send-amount-symbol{color:var(--wi-texticon-secondary);font-size:13px;font-weight:700}.send-field-error{margin:-2px 0 0;color:#ff6b6b;font-size:12px;font-weight:600;line-height:1.35}.send-max-btn{border:none;border-radius:999px;background:var(--wi-surface-subtle);color:var(--wi-primary);font:inherit;font-size:12px;font-weight:700;padding:4px 10px;cursor:pointer}.send-max-btn:disabled{cursor:not-allowed;opacity:.45}.send-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--wi-texticon-tertiary);font-size:12px;line-height:1.4}.send-meta span:last-child{color:var(--wi-texticon-secondary);font-weight:600}.send-message{border-radius:14px;padding:10px 12px;font-size:12px;line-height:1.45}.send-message--error{background:#ff50501f;color:#ff6b6b}.send-message--success{background:color-mix(in srgb,var(--wi-primary) 12%,transparent);color:var(--wi-primary)}.send-message span{font-weight:700}.send-submit-btn{width:100%;min-height:48px;border:none;border-radius:999px;background:var(--wi-primary);color:var(--wi-primary-contrast, #001410);font:inherit;font-size:15px;font-weight:800;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.send-submit-btn:hover:not(:disabled):not([data-disabled]){transform:translateY(-1px)}.send-submit-btn:disabled,.send-submit-btn[data-disabled]{cursor:not-allowed;opacity:.45}.send-footer{flex-shrink:0;padding:14px 24px 24px;border-top:1px solid var(--wi-border-subtle);background:var(--wi-surface-bg)}.send-page--success{background:var(--wi-surface-bg)}.send-success-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px 24px;text-align:center}.send-success-icon{display:inline-flex;align-items:center;justify-content:center}.send-success-icon[data-pending]{width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--wi-primary) 14%,transparent)}.send-success-spinner{width:28px;height:28px;border:3px solid color-mix(in srgb,var(--wi-primary) 22%,transparent);border-top-color:var(--wi-primary);border-radius:50%;animation:cross-send-spin .8s linear infinite}.send-success-copy{display:flex;flex-direction:column;gap:8px}.send-success-title{margin:0;color:var(--wi-texticon-primary);font-size:22px;font-weight:800;line-height:1.25}.send-success-desc{margin:0;color:var(--wi-texticon-tertiary);font-size:14px;font-weight:600;line-height:1.45}.send-success-hash-card{width:100%;display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--wi-border-subtle);border-radius:18px;background:var(--wi-surface-default);box-sizing:border-box}.send-success-hash-label{color:var(--wi-texticon-tertiary);font-size:12px;font-weight:700;line-height:1.3;text-align:left}.send-success-hash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:none;border-radius:12px;background:var(--wi-surface-subtle);color:var(--wi-texticon-primary);font:inherit;font-size:14px;font-weight:800;padding:12px}.send-success-hash-link{flex:1;display:inline-flex;align-items:center;align-self:stretch;min-width:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:inherit;padding:0;text-align:left;text-decoration:none;cursor:pointer;user-select:none}.send-success-hash-link:hover{color:var(--wi-primary)}.send-success-hash-link:focus-visible,.send-success-copy-btn:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-success-copy-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;border:none;background:transparent;color:var(--wi-primary);font:inherit;font-size:12px;font-weight:800;padding:0;cursor:pointer}@keyframes cross-send-spin{to{transform:rotate(360deg)}}.send-page--review{background:var(--wi-surface-bg)}.send-review-scroll{gap:16px;padding-top:12px}.send-review-amount{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 0}.send-review-amount-icon{width:32px;height:32px;object-fit:contain;flex-shrink:0}.send-review-amount-value{color:var(--wi-texticon-primary);font-size:26px;font-weight:800;line-height:1.3;letter-spacing:-.01em}.send-review-parties{display:flex;flex-direction:column;gap:4px;width:100%}.send-review-party{display:flex;align-items:flex-start;gap:8px;padding:16px;border-radius:8px;background:var(--wi-surface-subtle)}.send-review-party-label{flex-shrink:0;width:80px;color:var(--wi-texticon-tertiary);font-size:14px;line-height:1.4}.send-review-party-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-end;text-align:right}.send-review-party-name{color:var(--wi-texticon-primary);font-size:14px;font-weight:700;line-height:1.3}.send-review-party-addr{width:100%;color:var(--wi-texticon-primary);font-size:12px;line-height:1.4;word-break:break-all}.send-review-section{display:flex;flex-direction:column;gap:8px;width:100%}.send-review-section-title{margin:0;color:var(--wi-texticon-primary);font-size:15px;font-weight:700;line-height:1.6}.send-review-row{display:flex;align-items:flex-start;gap:20px;padding:2px 0}.send-review-row-label{flex-shrink:0;min-width:100px;color:var(--wi-texticon-tertiary);font-size:13px;line-height:1.3;white-space:nowrap}.send-review-row-value{flex:1;min-width:0;color:var(--wi-texticon-primary);font-size:13px;line-height:1.3;text-align:right;word-break:break-all}.send-review-row-value--accent{color:var(--wi-primary)}.send-review-network{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end}.send-review-network-dot{width:6px;height:6px;border-radius:999px;background:var(--wi-primary);flex-shrink:0}.send-footer--review{display:flex;gap:8px}.send-review-btn{flex:1;min-width:0;min-height:48px;padding:12px 16px;border-radius:12px;font:inherit;font-size:16px;font-weight:700;line-height:1.3;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.send-review-btn:disabled{cursor:not-allowed;opacity:.55}.send-review-btn--cancel{background:transparent;border:1px solid var(--wi-primary);color:var(--wi-primary)}.send-review-btn--confirm{background:var(--wi-primary);border:1px solid var(--wi-primary);color:var(--wi-primary-contrast, #001410)}.send-review-btn:not(:disabled):hover{transform:translateY(-1px)}
6
+ `).toLowerCase()}function Oi(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 Jn(e,t={},o="Failed to send transaction."){let n=Yo(e);if(!n)return o;let r=t.nativeSymbol?.trim()||"gas token",i=t.networkName?.trim();if(n.includes("user rejected")||n.includes("userrejected")||n.includes("user denied")||n.includes("user cancelled")||n.includes("user canceled")||n.includes("action_rejected")||n.includes("rejected by user"))return"Transaction was cancelled.";if(n.includes("insufficientfunds")||n.includes("insufficient funds")||n.includes("exceeds the balance of the account")||n.includes("insufficient balance for transfer")){let a=i?` on ${i}`:"";return`Not enough ${r} to cover the gas fee.Please top up your ${r} balance and try again.`}return n.includes("transaction underpriced")||n.includes("replacement transaction underpriced")||n.includes("fee too low")?"Gas fee was too low for the network. Please try again.":n.includes("nonce too low")||n.includes("nonce has already been used")||n.includes("nonce too high")?"Pending transactions are out of order. Refresh the page and try again.":n.includes("execution reverted")||n.includes("contractfunctionrevertederror")||n.includes("contractfunctionexecutionerror")?"The transaction was rejected by the contract. The recipient or token may be invalid.":n.match(/chain \d+ is not configured/)?"This network is not registered in the app. Contact support.":n.includes("http request failed")||n.includes("failed to fetch")||n.includes("network request failed")||n.includes("timeout")||n.includes("econnreset")||n.includes("rpc error")||n.includes("429")?"Network connection failed. Check your internet and try again.":n.includes("estimategas")||n.includes("gas estimation failed")?"Could not estimate the gas fee. The recipient address or amount may be invalid.":Oi(e)||o}O(`.wi-token-item--button{position:relative;width:100%;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:12px;padding:6px 8px;margin:-2px -8px;transition:background-color .15s ease,transform .15s ease}.wi-token-item--button:before{content:"";position:absolute;inset:-6px -16px;border-radius:16px}.wi-token-item--button:active{transform:scale(.99)}.wi-token-item--button:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.wi-view-send{animation:wi-slide-in-right .25s ease-out}.wi-send-body{flex:1;min-height:0;overflow:hidden}.wi-drawer-content[data-direction=bottom][data-view=send]{max-height:100dvh}.send-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.send-scroll{flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;overflow-y:auto;overflow-x:hidden;padding:16px 24px 18px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;overscroll-behavior:contain}[data-theme=light] .send-scroll{scrollbar-color:rgba(0,0,0,.12) transparent}.send-scroll::-webkit-scrollbar{width:4px}.send-scroll::-webkit-scrollbar-track{background:transparent}.send-scroll::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}[data-theme=light] .send-scroll::-webkit-scrollbar-thumb{background:#0000001f}.send-section{display:flex;flex-direction:column;gap:8px}.send-asset-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px;border:1px solid var(--wi-border-subtle);border-radius:18px;background:var(--wi-surface-default);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.send-asset-card:disabled{cursor:default}.send-asset-card:not(:disabled):hover,.send-asset-card[aria-expanded=true]{border-color:var(--wi-primary);background:var(--wi-surface-subtle)}.send-token-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;padding:6px;border:1px solid var(--wi-border-subtle);border-radius:16px;background:var(--wi-surface-default)}.send-token-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;border:none;border-radius:12px;background:transparent;color:inherit;font:inherit;text-align:left;padding:8px;cursor:pointer}.send-token-option:hover,.send-token-option[data-selected]{background:var(--wi-surface-subtle)}.send-token-option:focus-visible,.send-asset-card:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-token-option-icon{flex-shrink:0;width:28px;height:28px;object-fit:contain;background:transparent}.send-token-option-symbol{color:var(--wi-texticon-primary);font-size:13px;font-weight:700;line-height:1.3}.send-token-option-balance{color:var(--wi-texticon-secondary);font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap}.send-asset-left{display:flex;align-items:center;gap:12px;min-width:0}.send-asset-icon{flex-shrink:0;width:40px;height:40px;object-fit:contain;background:transparent}.send-asset-info,.send-asset-balance{min-width:0;display:flex;flex-direction:column}.send-asset-symbol{color:var(--wi-texticon-primary);font-size:15px;font-weight:700;line-height:1.3}.send-asset-name,.send-balance-label{color:var(--wi-texticon-tertiary);font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.send-asset-balance{align-items:flex-end;text-align:right}.send-balance-value{color:var(--wi-texticon-primary);font-size:13px;font-weight:600;line-height:1.35;white-space:nowrap}.send-form{display:flex;flex-direction:column;gap:14px}.send-field{display:flex;flex-direction:column;gap:8px}.send-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.send-label{color:var(--wi-texticon-secondary);font-size:13px;font-weight:600;line-height:1.3}.send-input,.send-amount-wrap{width:100%;box-sizing:border-box;border:1px solid var(--wi-border-subtle);border-radius:14px;background:var(--wi-surface-default);color:var(--wi-texticon-primary);font:inherit}.send-input{min-height:46px;padding:0 14px;font-size:16px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.send-input:focus{border-color:var(--wi-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wi-primary) 18%,transparent)}.send-address-wrap[data-invalid],.send-amount-wrap[data-invalid]{border-color:#ff6b6b}.send-address-wrap[data-invalid]:focus-within,.send-amount-wrap[data-invalid]:focus-within{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b29}.send-input::placeholder{color:var(--wi-texticon-tertiary)}.send-address-wrap{display:flex;align-items:center;width:100%;box-sizing:border-box;border:1px solid var(--wi-border-subtle);border-radius:14px;background:var(--wi-surface-default);transition:border-color .15s ease,box-shadow .15s ease}.send-address-wrap:focus-within{border-color:var(--wi-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wi-primary) 18%,transparent)}.send-input--address{flex:1;min-width:0;border:none;background:transparent;box-shadow:none}.send-input--address:focus{box-shadow:none}.send-address-book-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-right:2px;border:none;border-radius:12px;background:transparent;color:var(--wi-texticon-tertiary);cursor:pointer;transition:background-color .15s ease,color .15s ease}.send-address-book-btn:hover,.send-address-book-btn[aria-expanded=true]{background:var(--wi-surface-subtle);color:var(--wi-primary)}.send-address-book-btn:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-address-picker{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--wi-border-subtle);border-radius:18px;background:var(--wi-surface-default)}.send-address-tabs{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--wi-border-subtle)}.send-address-tab{position:relative;border:none;background:transparent;color:var(--wi-texticon-tertiary);font:inherit;font-size:14px;font-weight:800;line-height:1.3;padding:0 0 12px;cursor:pointer}.send-address-tab[data-active]{color:var(--wi-primary)}.send-address-tab[data-active]:after{content:"";position:absolute;left:50%;bottom:-1px;width:34px;height:4px;border-radius:999px;background:var(--wi-primary);transform:translate(-50%)}.send-address-list{display:flex;flex-direction:column;gap:10px;max-height:224px;overflow-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}[data-theme=light] .send-address-list{scrollbar-color:rgba(0,0,0,.14) transparent}.send-address-list::-webkit-scrollbar{width:3px}.send-address-list::-webkit-scrollbar-track{background:transparent}.send-address-list::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}[data-theme=light] .send-address-list::-webkit-scrollbar-thumb{background:#00000024}.send-address-option{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;border:none;border-radius:14px;background:transparent;color:inherit;font:inherit;text-align:left;padding:8px;cursor:pointer;transition:background-color .15s ease}.send-address-option:hover{background:var(--wi-surface-subtle)}.send-address-option:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-address-avatar{flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--wi-surface-subtle);color:var(--wi-primary);font-size:12px;font-weight:800;overflow:hidden}.send-address-avatar-img{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;object-fit:cover}.send-address-avatar-fallback{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center}.send-address-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.send-address-name{color:var(--wi-texticon-primary);font-size:14px;font-weight:800;line-height:1.3}.send-address-value{color:var(--wi-texticon-tertiary);font-size:12px;font-weight:600;line-height:1.3}.send-address-empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--wi-texticon-tertiary);font-size:14px;font-weight:700}.send-amount-wrap{display:flex;align-items:center;padding-right:12px}.send-amount-wrap:focus-within{border-color:var(--wi-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--wi-primary) 18%,transparent)}.send-input--amount{border:none;background:transparent;box-shadow:none;flex:1;min-width:0}.send-input--amount:focus{box-shadow:none}.send-amount-symbol{color:var(--wi-texticon-secondary);font-size:13px;font-weight:700}.send-field-error{margin:-2px 0 0;color:#ff6b6b;font-size:12px;font-weight:600;line-height:1.35}.send-max-btn{border:none;border-radius:999px;background:var(--wi-surface-subtle);color:var(--wi-primary);font:inherit;font-size:12px;font-weight:700;padding:4px 10px;cursor:pointer}.send-max-btn:disabled{cursor:not-allowed;opacity:.45}.send-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--wi-texticon-tertiary);font-size:12px;line-height:1.4}.send-meta span:last-child{color:var(--wi-texticon-secondary);font-weight:600}.send-message{border-radius:14px;padding:10px 12px;font-size:12px;line-height:1.45}.send-message--error{background:#ff50501f;color:#ff6b6b}.send-message--success{background:color-mix(in srgb,var(--wi-primary) 12%,transparent);color:var(--wi-primary)}.send-message span{font-weight:700}.send-submit-btn{width:100%;min-height:48px;border:none;border-radius:999px;background:var(--wi-primary);color:var(--wi-primary-contrast, #001410);font:inherit;font-size:15px;font-weight:800;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.send-submit-btn:hover:not(:disabled):not([data-disabled]){transform:translateY(-1px)}.send-submit-btn:disabled,.send-submit-btn[data-disabled]{cursor:not-allowed;opacity:.45}.send-footer{flex-shrink:0;padding:14px 24px 24px;border-top:1px solid var(--wi-border-subtle);background:var(--wi-surface-bg)}.send-page--success{background:var(--wi-surface-bg)}.send-success-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px 24px;text-align:center}.send-success-icon{display:inline-flex;align-items:center;justify-content:center}.send-success-icon[data-pending]{width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--wi-primary) 14%,transparent)}.send-success-spinner{width:28px;height:28px;border:3px solid color-mix(in srgb,var(--wi-primary) 22%,transparent);border-top-color:var(--wi-primary);border-radius:50%;animation:cross-send-spin .8s linear infinite}.send-success-copy{display:flex;flex-direction:column;gap:8px}.send-success-title{margin:0;color:var(--wi-texticon-primary);font-size:22px;font-weight:800;line-height:1.25}.send-success-desc{margin:0;color:var(--wi-texticon-tertiary);font-size:14px;font-weight:600;line-height:1.45}.send-success-hash-card{width:100%;display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--wi-border-subtle);border-radius:18px;background:var(--wi-surface-default);box-sizing:border-box}.send-success-hash-label{color:var(--wi-texticon-tertiary);font-size:12px;font-weight:700;line-height:1.3;text-align:left}.send-success-hash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:none;border-radius:12px;background:var(--wi-surface-subtle);color:var(--wi-texticon-primary);font:inherit;font-size:14px;font-weight:800;padding:12px}.send-success-hash-link{flex:1;display:inline-flex;align-items:center;align-self:stretch;min-width:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:inherit;padding:0;text-align:left;text-decoration:none;cursor:pointer;user-select:none}.send-success-hash-link:hover{color:var(--wi-primary)}.send-success-hash-link:focus-visible,.send-success-copy-btn:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px}.send-success-copy-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;border:none;background:transparent;color:var(--wi-primary);font:inherit;font-size:12px;font-weight:800;padding:0;cursor:pointer}@keyframes cross-send-spin{to{transform:rotate(360deg)}}.send-page--review{background:var(--wi-surface-bg)}.send-review-scroll{gap:16px;padding-top:12px}.send-review-amount{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 0}.send-review-amount-icon{width:32px;height:32px;object-fit:contain;flex-shrink:0}.send-review-amount-value{color:var(--wi-texticon-primary);font-size:26px;font-weight:800;line-height:1.3;letter-spacing:-.01em}.send-review-parties{display:flex;flex-direction:column;gap:4px;width:100%}.send-review-party{display:flex;align-items:flex-start;gap:8px;padding:16px;border-radius:8px;background:var(--wi-surface-subtle)}.send-review-party-label{flex-shrink:0;width:80px;color:var(--wi-texticon-tertiary);font-size:14px;line-height:1.4}.send-review-party-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-end;text-align:right}.send-review-party-name{color:var(--wi-texticon-primary);font-size:14px;font-weight:700;line-height:1.3}.send-review-party-addr{width:100%;color:var(--wi-texticon-primary);font-size:12px;line-height:1.4;word-break:break-all}.send-review-section{display:flex;flex-direction:column;gap:8px;width:100%}.send-review-section-title{margin:0;color:var(--wi-texticon-primary);font-size:15px;font-weight:700;line-height:1.6}.send-review-row{display:flex;align-items:flex-start;gap:20px;padding:2px 0}.send-review-row-label{flex-shrink:0;min-width:100px;color:var(--wi-texticon-tertiary);font-size:13px;line-height:1.3;white-space:nowrap}.send-review-row-value{flex:1;min-width:0;color:var(--wi-texticon-primary);font-size:13px;line-height:1.3;text-align:right;word-break:break-all}.send-review-row-value--accent{color:var(--wi-primary)}.send-review-network{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end}.send-review-network-dot{width:6px;height:6px;border-radius:999px;background:var(--wi-primary);flex-shrink:0}.send-footer--review{display:flex;gap:8px}.send-review-btn{flex:1;min-width:0;min-height:48px;padding:12px 16px;border-radius:12px;font:inherit;font-size:16px;font-weight:700;line-height:1.3;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.send-review-btn:disabled{cursor:not-allowed;opacity:.55}.send-review-btn--cancel{background:transparent;border:1px solid var(--wi-primary);color:var(--wi-primary)}.send-review-btn--confirm{background:var(--wi-primary);border:1px solid var(--wi-primary);color:var(--wi-primary-contrast, #001410)}.send-review-btn:not(:disabled):hover{transform:translateY(-1px)}
7
7
  `);import{Fragment as ji,jsx as f,jsxs as v}from"react/jsx-runtime";var Fi=1500,Di=120;function eo(e){return`${e.chainId}:${e.address.toLowerCase()}`}function Qo(e,t){return e.name||`Account ${(e.index??t)+1}`}function Xo(e){return e.trim().slice(0,1).toUpperCase()||"A"}function Wi(e){return new Promise(t=>setTimeout(t,e))}function Bi(e){let{status:t}=e;return t==="reverted"||t==="0x0"||t===0||t===0n||t===!1}function $i(e){return!!(e.token||e.recipient||e.amount)}function oo(e,t,o=10){if(t<=0)return e.toString();let n=10n**BigInt(t),r=e/n,i=e%n;if(i===0n)return r.toString();let c=i.toString().padStart(t,"0").slice(0,Math.max(0,Math.min(o,t)));return c=c.replace(/0+$/,""),c?`${r.toString()}.${c}`:r.toString()}function to(e,t){return oo(e,t,6)}function no(e){return oo(e,9,2)}function Vi(e){return e.toLocaleString("en-US")}function Hi(e){return e.maxFeePerGas!==void 0?"dynamic":e.gasPrice!==void 0?"legacy":null}function Gi(e){return e.maxFeePerGas!==void 0?e.gasLimit*e.maxFeePerGas:e.gasPrice!==void 0?e.gasLimit*e.gasPrice:null}function zi(){return v("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true",children:[f("path",{d:"M4.5 4.5C4.5 3.67 5.17 3 6 3h8.25c.69 0 1.25.56 1.25 1.25V16.5H6A1.5 1.5 0 0 1 4.5 15V4.5Z",stroke:"currentColor",strokeWidth:"1.7",strokeLinejoin:"round"}),f("path",{d:"M4.5 14.5C4.5 13.67 5.17 13 6 13h9.5",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"}),f("path",{d:"M8 6.5h4M8 9h3",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round"})]})}function Ui(){return v("svg",{width:"56",height:"56",viewBox:"0 0 56 56",fill:"none","aria-hidden":"true",children:[f("circle",{cx:"28",cy:"28",r:"28",fill:"var(--wi-primary)"}),f("path",{d:"M17 28.5L24.2 35.5L39 20.5",stroke:"var(--wi-primary-contrast, #001410)",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"})]})}function fn({env:e,theme:t="dark",walletAddress:o,accountName:n,accounts:r=[],token:i,tokens:a=[],onTokenChange:c,sendTransaction:d,getTransactionReceipt:l,estimateGas:s,onSuccess:m,onConfirmSuccess:k,onOutlink:b}){let[g,w]=R.useState(""),[h,P]=R.useState(""),[A,I]=R.useState(""),[N,V]=R.useState({}),[y,T]=R.useState(""),[$,C]=R.useState(!1),[U,q]=R.useState(!1),[be,st]=R.useState(!1),[ae,He]=R.useState("account"),Re=R.useRef(void 0),Y=R.useRef(void 0),Ye=R.useRef(null),Qe=R.useRef(null),[ue,Xe]=R.useState(()=>Tt(o)),[xe,X]=R.useState("idle"),[Z,Ae]=R.useState(null),[se,Oe]=R.useState(!1),[ve,pe]=R.useState(""),ye=R.useRef(0),[J,Ee]=R.useState(null),[te,lt]=R.useState(""),ke=jn(i),Je=R.useMemo(()=>BigInt(i.quantity.numeric||"0"),[i.quantity.numeric]),Ge=R.useMemo(()=>bt(i.quantity.numeric,i.quantity.decimals),[i.quantity.numeric,i.quantity.decimals]),ze=R.useMemo(()=>r.filter(u=>u.address.toLowerCase()!==o.toLowerCase()),[r,o]),ct=R.useMemo(()=>{let u=new Map;return ze.forEach((L,M)=>{u.set(L.address.toLowerCase(),{account:L,index:M})}),u},[ze]),Te=ze.length>0,Ue=R.useMemo(()=>ge(e),[e]),Pe=t==="dark"?"1A1A2E":"F3F6F8",et=a.length>0?a:[i],je=et.length>1&&!!c,{transactionUrl:Se,chainInfo:fe}=Uo(Ue,i.chainId,y||void 0,!0),Ie=fe?.currency_symbol??"",Ce=fe?.name??`Chain ID ${i.chainId}`;R.useEffect(()=>{I(""),V({}),T(""),X("idle"),Ae(null),pe(""),Oe(!1),ye.current+=1},[i.address,i.chainId,g,h]),R.useEffect(()=>{P(""),C(!1)},[i.address,i.chainId]),R.useEffect(()=>{Xe(Tt(o))},[o]),R.useEffect(()=>()=>{clearTimeout(Re.current),clearTimeout(Y.current)},[]),R.useEffect(()=>{!Te&&ae==="account"&&He("recent")},[ae,Te]),R.useEffect(()=>{let u=window.visualViewport,L=Ye.current;if(!u||!L)return;let M=()=>{let le=document.activeElement;return L.contains(le)&&(le instanceof HTMLInputElement||le instanceof HTMLTextAreaElement)},S=48,H=()=>{L.style.paddingBottom=""},ne=()=>{if(!M()){H();return}let le=Math.max(0,window.innerHeight-u.height-u.offsetTop);le>0?L.style.paddingBottom=`${le+S}px`:H();let ut=document.activeElement;ut instanceof HTMLElement&&requestAnimationFrame(()=>{let $t=ut.getBoundingClientRect(),on=L.getBoundingClientRect().bottom-le-S,Ht=$t.bottom-on;Ht>0&&L.scrollBy({top:Ht,behavior:"smooth"})})},mt=()=>{setTimeout(()=>{M()||H()},0)};return u.addEventListener("resize",ne),window.addEventListener("resize",ne),L.addEventListener("focusout",mt),()=>{u.removeEventListener("resize",ne),window.removeEventListener("resize",ne),L.removeEventListener("focusout",mt),H()}},[]);let Fe=R.useCallback(()=>{clearTimeout(Y.current),Y.current=setTimeout(()=>{Qe.current?.scrollIntoView({behavior:"smooth",block:"nearest"})},10)},[]),_n=R.useCallback(()=>{P(Qn(i.quantity.numeric,i.quantity.decimals))},[i.quantity.numeric,i.quantity.decimals]),Jt=R.useCallback(u=>{w(u),q(!1)},[]),en=R.useCallback(()=>{let u={},L=g.trim(),M=Yn(h,i.quantity.decimals),S;return L?jt(L)||(u.recipient="Enter a valid EVM recipient address."):u.recipient="Enter a recipient address.","error"in M?u.amount=M.error:(S=M.value,S>Je&&(u.amount="Amount exceeds available balance.")),!ke&&!jt(i.address)&&(u.token="Token contract address is invalid."),{errors:u,rawAmount:S,trimmedRecipient:L}},[h,Je,ke,g,i.address,i.quantity.decimals]),tn=R.useCallback(async()=>{if(y)try{await navigator.clipboard.writeText(y),st(!0),clearTimeout(Re.current),Re.current=setTimeout(()=>st(!1),2e3)}catch{}},[y]),dt=R.useCallback(()=>{if(!Se||!y)return;let u=S=>{typeof window>"u"||window.open(S,"_blank","noopener,noreferrer")};if(!b){u(Se);return}let L=b(Se,{category:"send",origin:"send-transaction",payload:{chainId:i.chainId,txHash:y}});if(L&&(typeof L=="object"||typeof L=="function")&&typeof L.then=="function"){let S=typeof window<"u"?window.open("","_blank","noopener,noreferrer"):null;L.then(H=>{if(H===null){S?.close();return}let ne=H??Se;if(S)try{S.location.href=ne}catch{S.close(),u(ne)}else u(ne)});return}let M=L;M!==null&&u(M??Se)},[b,i.chainId,Se,y]),pt=R.useCallback((u,L)=>ke?{to:u,value:L,chainId:i.chainId,from:o}:{to:Ut(i.address),data:Xn(u,L),value:0n,chainId:i.chainId,from:o},[ke,i.address,i.chainId,o]),Ct=R.useCallback(async(u,L,M)=>{if(!s&&!M)return;let S=++ye.current;Oe(!0),pe("");try{let H=pt(u,L),ne=s?await s(H):await Ko(M,H);if(ye.current!==S)return;Ae(ne)}catch(H){if(ye.current!==S)return;pe(Jn(H,{nativeSymbol:Ie||void 0,networkName:Ce,tokenSymbol:i.symbol},"Failed to estimate gas."))}finally{ye.current===S&&Oe(!1)}},[pt,s,Ie,Ce,i.symbol]),nn=R.useCallback(u=>{if(u.preventDefault(),I(""),T(""),!d){X("error"),I("Sending is not available for this wallet.");return}let{errors:L,rawAmount:M,trimmedRecipient:S}=en();if(V(L),$i(L)||M===void 0){X("error");return}let H=S;Ee(M),lt(H),Ae(null),pe(""),X("review")},[d,en]);R.useEffect(()=>{xe==="review"&&(!te||J===null||Z===null&&(se||ve||!s&&!fe?.rpc||Ct(te,J,fe?.rpc)))},[fe?.rpc,s,Ct,Z,ve,se,J,te,xe]);let Wt=R.useCallback(async()=>{if(!(!d||!te||J===null)){I(""),T("");try{X("submitting");let u=await d(pt(te,J));if(T(u),X("confirming"),Xe(Zn(o,te)),m?.(u),!l){X("success");return}for(let L=0;L<Di;L+=1){let M=await l({hash:u,chainId:i.chainId}).catch(()=>null);if(M){if(Bi(M)){X("error"),I("Transaction reverted on-chain.");return}X("success");return}await Wi(Fi)}X("error"),I("Transaction receipt was not found. Please check again later.")}catch(u){X("error"),I(Jn(u,{nativeSymbol:Ie||void 0,networkName:Ce,tokenSymbol:i.symbol}))}}},[pt,l,Ie,Ce,m,J,te,d,i.chainId,i.symbol,o]),An=R.useCallback(()=>{ye.current+=1,Ae(null),pe(""),Oe(!1),I(""),X("idle")},[]),Bt=Je<=0n||!g.trim()||!h.trim();if(xe==="review"||xe==="submitting"){let u=xe==="submitting",L=J!==null?oo(J,i.quantity.decimals):h.trim(),M=n?.trim()||`Account ${(r[0]?.index??0)+1}`,S="\u2014",H=Ie||(ke?i.symbol:""),ne=fe?.currency_decimals??(ke?i.quantity.decimals:18),mt=Z?Hi(Z):null,le=Z?Gi(Z):null,ut=le!==null&&H?`${to(le,ne)} ${H}`:S,$t=Z?Vi(Z.gasLimit):S,Vt=Z?.maxPriorityFeePerGas!==void 0?`${no(Z.maxPriorityFeePerGas)} Gwei`:S,on=Z?.maxFeePerGas!==void 0?`${no(Z.maxFeePerGas)} Gwei`:S,Ht=Z?.gasPrice!==void 0?`${no(Z.gasPrice)} Gwei`:S,xo=`${L} ${i.symbol}`,rn=(()=>{if(!Z||le===null)return S;if(ke&&J!==null){let Nt=J+le;return`${to(Nt,ne)} ${H||i.symbol}`}return H?`${to(le,ne)} ${H}`:S})();return v("div",{className:"send-page send-page--review",children:[v("div",{className:"send-scroll send-review-scroll","data-vaul-no-drag":!0,children:[v("div",{className:"send-review-amount",children:[f("img",{className:"send-review-amount-icon",src:i.icon_url,alt:"",width:32,height:32,draggable:!1,onError:Nt=>{Nt.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),v("span",{className:"send-review-amount-value",children:[L," ",i.symbol]})]}),v("div",{className:"send-review-parties",children:[v("div",{className:"send-review-party",children:[f("span",{className:"send-review-party-label",children:"From"}),v("div",{className:"send-review-party-info",children:[f("span",{className:"send-review-party-name",children:M}),f("span",{className:"send-review-party-addr",children:o})]})]}),v("div",{className:"send-review-party",children:[f("span",{className:"send-review-party-label",children:"To"}),f("div",{className:"send-review-party-info",children:f("span",{className:"send-review-party-addr",children:te})})]})]}),v("section",{className:"send-review-section",children:[f("h3",{className:"send-review-section-title",children:"Summary"}),v("div",{className:"send-review-row",children:[f("span",{className:"send-review-row-label",children:"Network"}),v("span",{className:"send-review-row-value send-review-network",children:[f("span",{className:"send-review-network-dot","aria-hidden":!0}),Ce]})]}),v("div",{className:"send-review-row",children:[f("span",{className:"send-review-row-label",children:"Est. Tx Fee"}),f("span",{className:"send-review-row-value",children:se?"\u2026":ut})]}),mt==="dynamic"?v(ji,{children:[v("div",{className:"send-review-row",children:[f("span",{className:"send-review-row-label",children:"Max Priority Fee"}),f("span",{className:"send-review-row-value",children:se?"\u2026":Vt})]}),v("div",{className:"send-review-row",children:[f("span",{className:"send-review-row-label",children:"Max Gas Fee"}),f("span",{className:"send-review-row-value",children:se?"\u2026":on})]})]}):mt==="legacy"?v("div",{className:"send-review-row",children:[f("span",{className:"send-review-row-label",children:"Gas Price"}),f("span",{className:"send-review-row-value",children:se?"\u2026":Ht})]}):null,v("div",{className:"send-review-row",children:[f("span",{className:"send-review-row-label",children:"Gas Limit"}),f("span",{className:"send-review-row-value",children:se?"\u2026":$t})]})]}),v("section",{className:"send-review-section",children:[f("h3",{className:"send-review-section-title",children:"Total"}),v("div",{className:"send-review-row",children:[f("span",{className:"send-review-row-label",children:"Total Amount"}),f("span",{className:"send-review-row-value",children:xo})]}),v("div",{className:"send-review-row",children:[f("span",{className:"send-review-row-label",children:"Max. Total Amount"}),f("span",{className:"send-review-row-value",children:se?"\u2026":rn})]})]}),ve&&f("div",{className:"send-message send-message--error",role:"alert",children:ve}),A&&f("div",{className:"send-message send-message--error",role:"alert",children:A})]}),v("div",{className:"send-footer send-footer--review",children:[f("button",{type:"button",className:"send-review-btn send-review-btn--cancel",onClick:An,disabled:u,children:"Cancel"}),f("button",{type:"button",className:"send-review-btn send-review-btn--confirm",onClick:Wt,disabled:u,children:u?"Sending...":"Send"})]})]})}if((xe==="confirming"||xe==="success")&&y){let u=xe==="success";return v("div",{className:"send-page send-page--success",children:[v("div",{className:"send-success-body","data-vaul-no-drag":!0,children:[f("div",{className:"send-success-icon","data-pending":!u||void 0,children:u?f(Ui,{}):f("span",{className:"send-success-spinner"})}),v("div",{className:"send-success-copy",children:[f("h3",{className:"send-success-title",children:u?"Transaction Complete":"Transaction in Progress"}),f("p",{className:"send-success-desc",children:u?"Your transfer was sent successfully.":"Transfer in progress. Waiting for confirmation."})]}),v("div",{className:"send-success-hash-card",children:[f("span",{className:"send-success-hash-label",children:"Transaction Hash"}),v("div",{className:"send-success-hash-row","data-vaul-no-drag":!0,children:[f("button",{type:"button",className:"send-success-hash-link",onClick:dt,"aria-label":"Open transaction in explorer",children:Ne(y)}),f("button",{type:"button",className:"send-success-copy-btn",onClick:tn,"aria-label":"Copy transaction hash",children:be?f(zt,{size:16}):"Copy"})]})]})]}),f("div",{className:"send-footer",children:f("button",{type:"button",className:"send-submit-btn",onClick:k,disabled:!u,children:u?"All done":"Sending..."})})]})}return v("form",{className:"send-page",onSubmit:nn,children:[v("div",{className:"send-scroll","data-vaul-no-drag":!0,ref:Ye,children:[v("section",{className:"send-section","aria-label":"Select token to send",children:[f("span",{className:"send-label",children:"Token"}),v("button",{type:"button",className:"send-asset-card",onClick:()=>{je&&C(u=>!u)},disabled:!je,"aria-expanded":je?$:void 0,children:[v("span",{className:"send-asset-left",children:[f("img",{className:"send-asset-icon",src:i.icon_url,alt:i.symbol,width:40,height:40,draggable:!1,onError:u=>{u.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),v("span",{className:"send-asset-info",children:[f("span",{className:"send-asset-symbol",children:i.symbol}),f("span",{className:"send-asset-name",children:i.name})]})]}),v("span",{className:"send-asset-balance",children:[f("span",{className:"send-balance-label",children:"Available"}),v("span",{className:"send-balance-value",children:[Ge," ",i.symbol]})]})]}),je&&$&&f("div",{className:"send-token-list",role:"listbox",children:et.map(u=>{let L=eo(u)===eo(i);return v("button",{type:"button",role:"option","aria-selected":L,className:"send-token-option","data-selected":L||void 0,onClick:()=>c?.(u),children:[v("span",{className:"send-asset-left",children:[f("img",{className:"send-token-option-icon",src:u.icon_url,alt:u.symbol,width:28,height:28,draggable:!1,onError:M=>{M.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),v("span",{className:"send-asset-info",children:[f("span",{className:"send-token-option-symbol",children:u.symbol}),f("span",{className:"send-asset-name",children:u.name})]})]}),f("span",{className:"send-token-option-balance",children:bt(u.quantity.numeric,u.quantity.decimals)})]},eo(u))})}),N.token&&f("p",{className:"send-field-error",role:"alert",children:N.token})]}),v("section",{className:"send-field","aria-label":"Recipient address",children:[f("span",{className:"send-label",children:"To"}),v("div",{className:"send-address-wrap","data-invalid":N.recipient||void 0,children:[f("input",{className:"send-input send-input--address",value:g,onChange:u=>w(u.target.value),placeholder:"0x...",autoComplete:"off",spellCheck:!1,"aria-invalid":!!N.recipient,"aria-describedby":N.recipient?"send-recipient-error":void 0}),f("button",{type:"button",className:"send-address-book-btn",onClick:()=>q(u=>!u),"aria-label":"Open address book","aria-expanded":U,children:f(zi,{})})]}),N.recipient&&f("p",{id:"send-recipient-error",className:"send-field-error",role:"alert",children:N.recipient}),U&&v("div",{className:"send-address-picker",children:[v("div",{className:"send-address-tabs",role:"tablist",children:[Te&&f("button",{type:"button",role:"tab",className:"send-address-tab","data-active":ae==="account"||void 0,"aria-selected":ae==="account",onClick:()=>He("account"),children:"My Account"}),f("button",{type:"button",role:"tab",className:"send-address-tab","data-active":ae==="recent"||void 0,"aria-selected":ae==="recent",onClick:()=>He("recent"),children:"Recent"})]}),Te&&ae==="account"?f("div",{className:"send-address-list",children:ze.map((u,L)=>{let M=Qo(u,L),S=xt(Ue,u.address,{size:56,bg:Pe});return v("button",{type:"button",className:"send-address-option",onClick:()=>Jt(u.address),children:[v("span",{className:"send-address-avatar","aria-hidden":!0,children:[S&&f("img",{className:"send-address-avatar-img",src:S,alt:"",width:36,height:36,draggable:!1,onError:H=>{H.currentTarget.style.display="none"}}),f("span",{className:"send-address-avatar-fallback",children:Xo(M)})]}),v("span",{className:"send-address-copy",children:[f("span",{className:"send-address-name",children:M}),f("span",{className:"send-address-value",children:Ne(u.address)})]})]},u.address)})}):ue.length>0?f("div",{className:"send-address-list",children:ue.map(u=>{let L=ct.get(u.address.toLowerCase()),M=L?Qo(L.account,L.index):void 0,S=xt(Ue,u.address,{size:56,bg:Pe});return v("button",{type:"button",className:"send-address-option",onClick:()=>Jt(u.address),children:[v("span",{className:"send-address-avatar","aria-hidden":!0,children:[S&&f("img",{className:"send-address-avatar-img",src:S,alt:"",width:36,height:36,draggable:!1,onError:H=>{H.currentTarget.style.display="none"}}),f("span",{className:"send-address-avatar-fallback",children:M?Xo(M):u.address.slice(2,4).toUpperCase()})]}),v("span",{className:"send-address-copy",children:[f("span",{className:"send-address-name",children:M??Ne(u.address)}),f("span",{className:"send-address-value",children:L?Ne(L.account.address):"Recently sent"})]})]},u.address)})}):f("div",{className:"send-address-empty",children:"No Send History"})]})]}),v("section",{className:"send-field","aria-labelledby":"send-amount-label",children:[v("span",{className:"send-label-row",children:[f("span",{id:"send-amount-label",className:"send-label",children:"Amount"}),f("button",{type:"button",className:"send-max-btn",onClick:_n,disabled:Je<=0n,children:"Max"})]}),v("div",{className:"send-amount-wrap","data-invalid":N.amount||void 0,children:[f("input",{ref:Qe,className:"send-input send-input--amount",value:h,onChange:u=>P(u.target.value),onFocus:Fe,placeholder:"0.00",inputMode:"decimal",autoComplete:"off","aria-labelledby":"send-amount-label","aria-invalid":!!N.amount,"aria-describedby":N.amount?"send-amount-error":void 0}),f("span",{className:"send-amount-symbol",children:i.symbol})]}),N.amount&&f("p",{id:"send-amount-error",className:"send-field-error",role:"alert",children:N.amount})]}),v("div",{className:"send-meta",children:[f("span",{children:"From"}),f("span",{children:Ne(o)})]}),v("div",{className:"send-meta",children:[f("span",{children:"Network"}),v("span",{children:["Chain ID ",i.chainId]})]}),A&&f("div",{className:"send-message send-message--error",role:"alert",children:A})]}),f("div",{className:"send-footer",children:f("button",{type:"submit",className:"send-submit-btn","data-disabled":Bt||void 0,"aria-disabled":Bt,children:"Send"})})]})}import*as Jo from"@radix-ui/react-popover";import{Drawer as qi}from"vaul";import{jsx as gn,jsxs as Zi}from"react/jsx-runtime";function er({asChild:e,className:t,children:o}){let{isMobile:n,theme:r,walletAddress:i}=tt(),a=o!=null,c=e??!0,d=a?o:Zi("button",{type:"button",className:K("wi-trigger-btn",t),"data-theme":r,"data-mobile":n||void 0,children:[gn(Oo,{size:n?14:16}),gn("span",{className:"wi-trigger-address",children:Ne(i)})]});return n?gn(qi.Trigger,{asChild:c,children:d}):gn(Jo.Trigger,{asChild:c,children:d})}import*as B from"react";import*as Cn from"@radix-ui/react-popover";import{Drawer as kn}from"vaul";import Kt from"bignumber.js";import{useQueries as Ki}from"@tanstack/react-query";import{useMemo as Yi}from"react";var ro="user-balance";async function Qi(e,t,o,n){let r=new URLSearchParams({networkId:`eip155:${t}`,account:o}),i=await fetch(`${e}/v1/public/token/balance?${r}`,{cache:"no-store",signal:n});if(!i.ok)throw new Error(`Failed to fetch token balance: ${i.status}`);let a=await i.json();if(a.code!==200)throw new Error(`Token balance API error: ${a.code}`);return a.data}function Pt(e,t,o=!0){let n=Le[e],r=me[e],i=[r.cross,r.bsc],a=Ki({queries:i.map(s=>({queryKey:[ro,e,t,s],queryFn:({signal:m})=>Qi(n,s,t,m),enabled:!!t&&o,staleTime:0,refetchInterval:o?5e3:!1}))}),c=a.some(s=>s.isLoading),d=a.some(s=>s.isError);return{tokens:Yi(()=>{let s=[];for(let m of a)m.data&&s.push(...m.data);return s},[a]),isLoading:c,isError:d}}import{useQuery as Xi,useQueries as Ji}from"@tanstack/react-query";import{useMemo as ea}from"react";var ta="forge-holdings",na="forge-token-image";async function oa(e,t,o){let n=await fetch(`${e}/v1/users/${t}/holdings`,{cache:"no-store",signal:o});if(!n.ok)throw new Error(`Failed to fetch forge holdings: ${n.status}`);let r=await n.json();if(!r.success)throw new Error("Forge holdings API error");return r.data.items}async function ra(e,t,o){let n=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store",signal:o});if(!n.ok)return{address:t,image_url:""};let r=await n.json();return r.success?{address:t,image_url:r.data.token.image_url}:{address:t,image_url:""}}function tr(e,t,o=!0){let n=Vn[e],{data:r,...i}=Xi({queryKey:[ta,e,t],queryFn:({signal:a})=>oa(n,t,a),enabled:!!t&&o,staleTime:0,refetchInterval:o?5e3:!1});return{holdings:r??[],...i}}function nr(e,t,o=!0){let n=Vn[e],r=Ji({queries:t.map(a=>({queryKey:[na,e,a],queryFn:({signal:c})=>ra(n,a,c),enabled:o,staleTime:1/0}))});return{imageMap:ea(()=>{let a=new Map;for(let c of r)c.data&&a.set(c.data.address,c.data.image_url);return a},[r])}}import{useQuery as ia}from"@tanstack/react-query";import{useMemo as aa}from"react";var io="token-stats";function vt(e,t){return`${e}:${t.toLowerCase()}`}function St(e,t=!0){let o=Le[e],{data:n,...r}=ia({queryKey:[io,e],queryFn:async({signal:a})=>{let c=await fetch(`${o}/v1/public/token/stats`,{cache:"no-store",signal:a});if(!c.ok)throw new Error(`Failed to fetch token stats: ${c.status}`);let d=await c.json();if(d.code!==200)throw new Error(`Token stats API error: ${d.code}`);return d},enabled:t,staleTime:3e4});return{statsMap:aa(()=>{let a=new Map;if(!n?.data)return a;for(let c of n.data){let d=vt(c.chain_id,c.address);a.set(d,c)}return a},[n]),...r}}import{useQuery as sa}from"@tanstack/react-query";import{useMemo as la}from"react";var ca="token-info";function ao(e,t){return`${t.toLowerCase()}_${e}`}function or(e,t=!0){let o=Le[e],{data:n,...r}=sa({queryKey:[ca,e],queryFn:async({signal:a})=>{let c=await fetch(`${o}/v1/public/token/info`,{cache:"no-store",signal:a});if(!c.ok)throw new Error(`Failed to fetch token info: ${c.status}`);let d=await c.json();if(d.code!==200)throw new Error(`Token info API error: ${d.code}`);return d},enabled:t,staleTime:1/0});return{categoryMap:la(()=>{let a=new Map;if(!n?.data)return a;for(let c of n.data){let d=ao(c.chain_id,c.address);a.set(d,c.category)}return a},[n]),...r}}import{useMemo as da}from"react";import so from"bignumber.js";function rr(e,t,o){let{tokens:n,isLoading:r}=Pt(e,t,o),{statsMap:i}=St(e,o);return da(()=>{let a=new so(0);for(let s of n){let m=i.get(vt(s.chainId,s.address));if(!m)continue;let b=new so(s.quantity.numeric).shiftedBy(-s.quantity.decimals).multipliedBy(new so(m.price));b.isNaN()||(a=a.plus(b))}let c=a.toFixed(),{displayValue:d,isLowerBound:l}=_o(c);return{totalUsd:c,displayValue:d,isLowerBound:l,isLoading:r}},[n,i,r])}import{QRCodeSVG as qa}from"qrcode.react";function We(e,t,o,n){if(!n||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.defaultPrevented)return;e.preventDefault();let r;try{r=n(t,o)}catch(l){console.error("[dapp-ui] onOutlink threw:",l);return}let i=l=>{typeof window>"u"||window.open(l,"_blank","noopener,noreferrer")};if((l=>!!l&&(typeof l=="object"||typeof l=="function")&&typeof l.then=="function")(r)){let l=typeof window<"u"?window.open("","_blank","noopener,noreferrer"):null,s=m=>{if(m===null){l?.close();return}let k=m??t;if(l)try{l.location.href=k}catch{l.close(),i(k)}else i(k)};r.then(s,m=>{console.error("[dapp-ui] onOutlink rejected:",m),l?.close()});return}let c=r;if(c===null)return;i(c??t)}import*as kt from"react";import{Drawer as Ua}from"vaul";import{createContext as pa,useContext as ma}from"react";var qt=pa(null);function re(){let e=ma(qt);if(!e)throw new Error("WalletPortfolio compound components must be used within <WalletPortfolio>");return e}import{Drawer as ua}from"vaul";import{jsx as ir}from"react/jsx-runtime";function ar({asChild:e,children:t}){let{walletAddress:o}=re(),n=t!=null,r=e??!0,i=n?t:ir("button",{type:"button",children:Ne(o)});return ir(ua.Trigger,{asChild:r,children:i})}import{Drawer as yn}from"vaul";import*as _e from"react";import{useQueryClient as Ha}from"@tanstack/react-query";import{useMemo as xa}from"react";import lo from"bignumber.js";import{useQuery as fa}from"@tanstack/react-query";import{useMemo as cr}from"react";var wn={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"},sr={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},hn={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"},nt={dev:"https://stg-x.crosstoken.io",stage:"https://stg-x.crosstoken.io",production:"https://x.crosstoken.io"},Be={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"},lr={dev:{cross:"https://stg-dex-api.crosstoken.io/dex",crossd:"https://stg-crossd-dex-api.crosstoken.io/dex",forge:"https://stg-forge-dex-api.crosstoken.io/dex"},stage:{cross:"https://stg-dex-api.crosstoken.io/dex",crossd:"https://stg-crossd-dex-api.crosstoken.io/dex",forge:"https://stg-forge-dex-api.crosstoken.io/dex"},production:{cross:"https://dex-api.crosstoken.io/dex",crossd:"https://crossd-dex-api.crosstoken.io/dex",forge:"https://forge-dex-api.crosstoken.io/dex"}};var ga="wp:reward-pools";function bn(e,t=!0){let o=wn[e],{data:n,...r}=fa({queryKey:[ga,e],queryFn:async({signal:c})=>{let d=await fetch(`${o}/v1/pools`,{cache:"no-store",signal:c});if(!d.ok)throw new Error(`Failed to fetch pools: ${d.status}`);let l=await d.json();if(l.code!==200)throw new Error(`Pools API error: ${l.code}`);return l},enabled:t,staleTime:0}),i=cr(()=>n?.data.pools.filter(c=>c.pool_type==="CrossPool")??[],[n]),a=cr(()=>n?.data.pools.filter(c=>c.pool_type==="GamePool")??[],[n]);return{crossPools:i,gamePools:a,allPools:n?.data.pools??[],...r}}import{useQuery as wa}from"@tanstack/react-query";import{useMemo as ha}from"react";var ba="wp:user-deposits";function xn(e,t,o=!0){let n=wn[e],r=o&&!!t,{data:i,...a}=wa({queryKey:[ba,e,t],queryFn:async({signal:d})=>{let l=await fetch(`${n}/v1/users/${t}/deposits`,{cache:"no-store",signal:d});if(!l.ok)throw new Error(`Deposits fetch failed: ${l.status}`);let s=await l.json();if(s.code!==200)throw new Error(`Deposits API error: ${s.code}`);return s},enabled:r,staleTime:0});return{depositMap:ha(()=>{let d=new Map;if(!i?.data.user_deposits)return d;for(let l of i.data.user_deposits)d.set(l.pool_address.toLowerCase(),l);return d},[i]),deposits:i?.data.user_deposits??[],...a}}import{useQuery as dr}from"@tanstack/react-query";import{useMemo as pr}from"react";function $e(e,t,o,n=!0){let r=lr[e][t],i=n&&!!o,{data:a,...c}=dr({queryKey:["wp:dex-pairs",e,t],queryFn:async({signal:g})=>{let w=await fetch(`${r}/pair-info`,{cache:"no-store",signal:g});if(!w.ok)throw new Error(`pair-info fetch failed: ${w.status}`);let h=await w.json();if(h.code!==200)throw new Error(`pair-info API error: ${h.code}`);return h},enabled:n,staleTime:0}),d=a?.data??[],l=pr(()=>{let g=new Map;for(let w of d)g.set(w.pair_address.toLowerCase(),w);return g},[d]),{data:s,...m}=dr({queryKey:["wp:dex-orders",e,t,o],queryFn:async({signal:g})=>{let w=Math.floor(Date.now()/1e3),h=new URLSearchParams({owner:o,size:"200",start_date:"0",end_date:String(w)}),P=await fetch(`${r}/open-order?${h}`,{cache:"no-store",signal:g});if(!P.ok)throw new Error(`open-order fetch failed: ${P.status}`);let A=await P.json();if(A.code!==200)throw new Error(`open-order API error: ${A.code}`);return A.data?.data??[]},enabled:i,staleTime:0}),k=s??[],b=pr(()=>{let g=new Map;for(let w of k){let h=w.pair.toLowerCase();g.has(h)||g.set(h,{buys:[],sells:[]});let P=g.get(h);w.order_side===1?P.buys.push(w):P.sells.push(w)}return g},[k]);return{allPairs:d,pairMap:l,orders:k,ordersByPair:b,isEmpty:k.length===0,isLoading:c.isLoading||m.isLoading}}var va=["var(--wp-blue)","var(--wp-purple)","var(--wp-red)","var(--wp-orange)"],mr="var(--wp-green)",ur=4;function fr(e,t,o=!0){let n=o&&!!t,{allPools:r}=bn(e,n),{depositMap:i}=xn(e,t,n),{allPairs:a,pairMap:c,ordersByPair:d}=$e(e,"cross",t,n),{allPairs:l,pairMap:s,ordersByPair:m}=$e(e,"crossd",t,n),{allPairs:k,pairMap:b,ordersByPair:g}=$e(e,"forge",t,n);return xa(()=>{let w=new Map,h=new Map,P=(y,T)=>{!Number.isFinite(T)||T<=0||h.set(y,(h.get(y)??0)+T)};for(let y of r){let T=Number(y.deposit_token.price);T>0&&w.set(y.deposit_token.symbol,T);for(let $ of y.reward_tokens){let C=Number($.price);C>0&&w.set($.symbol,C)}}for(let y of[...a,...l,...k]){let T=w.get(y.quote_symbol),$=Number(y.billboard?.price);T&&$>0&&!w.has(y.base_symbol)&&w.set(y.base_symbol,$*T)}for(let y of r){let T=i.get(y.pool_address.toLowerCase());if(!T)continue;let $=new lo(T.deposited_amount).shiftedBy(-y.deposit_token.decimals).toNumber();if(P(y.deposit_token.symbol,$),y.reward_tokens.length>0){let C=y.reward_tokens[0],U=new lo(T.claimable_reward).shiftedBy(-C.decimals).toNumber();P(C.symbol,U)}}let A=[{pairMap:c,ordersByPair:d},{pairMap:s,ordersByPair:m},{pairMap:b,ordersByPair:g}];for(let{pairMap:y,ordersByPair:T}of A)for(let[$,C]of T){let U=y.get($);if(U){for(let q of C.buys){let be=Number(q.amount)-Number(q.filled);P(U.quote_symbol,be*Number(q.price))}for(let q of C.sells){let be=Number(q.amount)-Number(q.filled);P(U.base_symbol,be)}}}let I=[],N=0;for(let[y,T]of h){let $=w.get(y)??0,C=T*$;C>0&&(I.push({symbol:y,usdValue:C}),N+=C)}I.sort((y,T)=>T.usdValue-y.usdValue);let V=[];if(N>0){let y=I.slice(0,ur),T=I.slice(ur);for(let C=0;C<y.length;C++)V.push({symbol:y[C].symbol,usdValue:y[C].usdValue,percentage:Math.round(y[C].usdValue/N*100),color:va[C]??mr});if(T.length>0){let C=T.reduce((U,q)=>U+q.usdValue,0);V.push({symbol:"Others",usdValue:C,percentage:Math.round(C/N*100),color:mr})}let $=V.reduce((C,U)=>C+U.percentage,0);$!==100&&V.length>0&&(V[0].percentage+=100-$)}return{totalUsd:N,formattedTotal:N>0?`$${new lo(N).toFormat(2)}`:"$0.00",segments:V}},[r,i,a,c,d,l,s,m,k,b,g])}import{jsx as It,jsxs as ya}from"react/jsx-runtime";function gr({size:e=22,className:t}){return It("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:It("path",{d:"M14 4L7 11L14 18",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function wr({size:e=22,className:t}){return ya("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[It("path",{d:"M18.333 3.667v5.5h-5.5",stroke:"currentColor",strokeWidth:1.833,strokeLinecap:"round",strokeLinejoin:"round"}),It("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 hr({size:e=12,className:t}){return It("svg",{width:e,height:e,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:It("path",{d:"M6 11A5 5 0 106 1a5 5 0 000 10zM6 8V6M6 4h.005",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})})}import{useQuery as ka}from"@tanstack/react-query";import{useMemo as Ca}from"react";var Na="wp:token-info";function ot(e,t=!0){let o=Le[e],n=me[e].cross,{data:r,...i}=ka({queryKey:[Na,e],queryFn:async({signal:l})=>{let s=await fetch(`${o}/v1/public/token/info`,{cache:"no-store",signal:l});if(!s.ok)throw new Error(`Failed to fetch token info: ${s.status}`);let m=await s.json();if(m.code!==200)throw new Error(`Token info API error: ${m.code}`);return m},enabled:t,staleTime:300*1e3}),{byChainAddr:a,byChainSym:c}=Ca(()=>{let l=new Map,s=new Map;if(!r?.data)return{byChainAddr:l,byChainSym:s};for(let m of r.data){let k=m.address.toLowerCase();l.set(`${m.chain_id}:${k}`,m),l.set(k,m);let b=m.symbol.replace(/^t/,"").toUpperCase(),g=`${m.chain_id}:${b}`;s.has(g)||s.set(g,m),s.has(b)||s.set(b,m)}return{byChainAddr:l,byChainSym:s}},[r]);return{getTokenImage:(l,s)=>{let m=l.toLowerCase(),k=a.get(`${n}:${m}`);if(k?.image)return k.image;let b=a.get(m);if(b?.image)return b.image;if(s){let g=s.replace(/^t/,"").toUpperCase(),w=c.get(`${n}:${g}`);if(w?.image)return w.image;let h=c.get(g);if(h?.image)return h.image}return""},...i}}import{jsx as vn,jsxs as br}from"react/jsx-runtime";function Ve({title:e,icon:t,iconFit:o="cover",isEmpty:n,children:r}){return br("div",{className:"wp-svc-card",children:[br("div",{className:"wp-svc-card-head",children:[vn("img",{className:"wp-svc-card-icon",src:t,alt:"",style:{objectFit:o}}),vn("span",{className:"wp-svc-card-title",children:e})]}),n?vn("div",{className:"wp-svc-empty",children:"No assets yet"}):vn("div",{className:"wp-svc-items",children:r})]})}import Zt from"bignumber.js";import{jsx as yt,jsxs as qe}from"react/jsx-runtime";var La="CROSS Rewards";function xr(e,t){let o=new Zt(e).shiftedBy(-t);return o.isZero()?"0":o.isGreaterThanOrEqualTo(1)?o.toFormat(2,Zt.ROUND_DOWN):o.toFormat(4,Zt.ROUND_DOWN)}function vr(){let{env:e,walletAddress:t,onOutlink:o}=re(),n=!!t,{allPools:r}=bn(e,n),{depositMap:i}=xn(e,t,n),{getTokenImage:a}=ot(e,n),c=s=>`${sr[e]}/rewards/${s.pool_address}?action=withdraw`,d=`${Be[e]}/reward.png`,l=r.filter(s=>{let m=i.get(s.pool_address.toLowerCase()),k=m?.deposited_amount??"0",b=m?.claimable_reward??"0";return!(new Zt(k).isZero()&&new Zt(b).isZero())});return yt(Ve,{title:La,icon:d,isEmpty:l.length===0,children:l.map(s=>{let m=i.get(s.pool_address.toLowerCase()),k=m?.deposited_amount??"0",b=c(s);return qe("a",{className:"wp-item","data-side":"reward",href:b,target:"_blank",rel:"noopener noreferrer",onClick:g=>We(g,b,{category:"portfolio",origin:"portfolio-rewards",payload:{pool:s,userDeposit:m}},o),children:[qe("div",{className:"wp-item-body",children:[qe("div",{className:"wp-item-field",children:[qe("span",{className:"wp-item-label",children:["Deposited (",s.deposit_token.symbol,")"]}),qe("div",{className:"wp-svc-token",children:[a(s.deposit_token.address,s.deposit_token.symbol)&&yt("img",{className:"wp-svc-token-icon",src:a(s.deposit_token.address,s.deposit_token.symbol),alt:""}),yt("span",{children:xr(k,s.deposit_token.decimals)})]})]}),qe("div",{className:"wp-item-field",children:[qe("span",{className:"wp-item-label",children:["Rewards (",s.reward_tokens.map(g=>g.symbol).join(", "),")"]}),s.reward_tokens.map(g=>{let w=a(g.address,g.symbol);return qe("div",{className:"wp-svc-token",children:[w&&yt("img",{className:"wp-svc-token-icon",src:w,alt:""}),yt("span",{children:m?xr(m.claimable_reward,g.decimals):"0"})]},g.address)})]})]}),qe("div",{className:"wp-item-badges",children:[yt("span",{className:"wp-badge wp-badge--mint",children:"Claim"}),yt("span",{className:"wp-badge wp-badge--muted",children:"Withdraw"})]})]},s.pool_address)})})}import kr from"bignumber.js";import{Fragment as Ra,jsx as he,jsxs as ie}from"react/jsx-runtime";function co(e){let t=new kr(e);if(t.isNaN())return e;let o=t.decimalPlaces()??0;return t.toFormat(o)}function yr(e){let t=new kr(e.amount).minus(e.filled);return co(t.toString())}function Mt({market:e,pairMap:t,ordersByPair:o,getDexUrl:n,getTokenImage:r}){let{onOutlink:i}=re(),a=[];for(let[c,d]of o){let l=t.get(c),s=l?r(l.base_address,l.base_symbol):"",m=l?r(l.quote_address,l.quote_symbol):"",k=n(c);for(let b of d.buys)a.push(ie("a",{className:"wp-item","data-side":"buy",href:k,target:"_blank",rel:"noopener noreferrer",onClick:g=>We(g,k,{category:"portfolio",origin:"portfolio-dex-order",payload:{market:e,side:"buy",order:b,pair:l}},i),children:[ie("div",{className:"wp-item-body",children:[ie("div",{className:"wp-item-field",children:[ie("span",{className:"wp-item-label wp-item-label--buy",children:["Buy",l?.base_symbol?` (${l.base_symbol})`:""]}),ie("div",{className:"wp-svc-token",children:[s&&he("img",{className:"wp-svc-token-icon",src:s,alt:""}),he("span",{children:yr(b)})]})]}),ie("div",{className:"wp-item-field",children:[ie("span",{className:"wp-item-label",children:["Price",l?.quote_symbol?` (${l.quote_symbol})`:""]}),ie("div",{className:"wp-svc-token",children:[m&&he("img",{className:"wp-svc-token-icon",src:m,alt:""}),he("span",{children:co(b.price)})]})]})]}),he("div",{className:"wp-item-badges",children:he("span",{className:"wp-badge wp-badge--red",children:"Cancel"})})]},`buy-${b.order_id}`));for(let b of d.sells)a.push(ie("a",{className:"wp-item","data-side":"sell",href:k,target:"_blank",rel:"noopener noreferrer",onClick:g=>We(g,k,{category:"portfolio",origin:"portfolio-dex-order",payload:{market:e,side:"sell",order:b,pair:l}},i),children:[ie("div",{className:"wp-item-body",children:[ie("div",{className:"wp-item-field",children:[ie("span",{className:"wp-item-label wp-item-label--sell",children:["Sell",l?.base_symbol?` (${l.base_symbol})`:""]}),ie("div",{className:"wp-svc-token",children:[s&&he("img",{className:"wp-svc-token-icon",src:s,alt:""}),he("span",{children:yr(b)})]})]}),ie("div",{className:"wp-item-field",children:[ie("span",{className:"wp-item-label",children:["Price",l?.quote_symbol?` (${l.quote_symbol})`:""]}),ie("div",{className:"wp-svc-token",children:[m&&he("img",{className:"wp-svc-token-icon",src:m,alt:""}),he("span",{children:co(b.price)})]})]})]}),he("div",{className:"wp-item-badges",children:he("span",{className:"wp-badge wp-badge--red",children:"Cancel"})})]},`sell-${b.order_id}`))}return he(Ra,{children:a})}import{jsx as Cr}from"react/jsx-runtime";var Ea="Gametoken - CROSS";function Nr(){let{env:e,walletAddress:t}=re(),o=!!t,{pairMap:n,ordersByPair:r,isEmpty:i}=$e(e,"cross",t,o),{getTokenImage:a}=ot(e,o),c=l=>{let s=n.get(l.toLowerCase());return`${nt[e]}/gametoken/cross/${s?.base_symbol??""}`},d=`${Be[e]}/dex.png`;return Cr(Ve,{title:Ea,icon:d,isEmpty:i,children:Cr(Mt,{market:"cross",pairMap:n,ordersByPair:r,getDexUrl:c,getTokenImage:a})})}import{jsx as Lr}from"react/jsx-runtime";var Ta="Gametoken - CROSSD";function Rr(){let{env:e,walletAddress:t}=re(),o=!!t,{pairMap:n,ordersByPair:r,isEmpty:i}=$e(e,"crossd",t,o),{getTokenImage:a}=ot(e,o),c=l=>{let s=n.get(l.toLowerCase());return`${nt[e]}/gametoken/crossd/${s?.base_symbol??""}`},d=`${Be[e]}/dex.png`;return Lr(Ve,{title:Ta,icon:d,isEmpty:i,children:Lr(Mt,{market:"crossd",pairMap:n,ordersByPair:r,getDexUrl:c,getTokenImage:a})})}import{jsx as Er}from"react/jsx-runtime";var Pa="Gametoken - Forge";function Tr(){let{env:e,walletAddress:t}=re(),o=!!t,{pairMap:n,ordersByPair:r,isEmpty:i}=$e(e,"forge",t,o),{getTokenImage:a}=ot(e,o);if(i)return null;let c=l=>{let s=n.get(l.toLowerCase());return`${nt[e]}/gametoken/forge/${s?.base_symbol??""}`},d=`${Be[e]}/dex.png`;return Er(Ve,{title:Pa,icon:d,isEmpty:i,children:Er(Mt,{market:"forge",pairMap:n,ordersByPair:r,getDexUrl:c,getTokenImage:a})})}import po from"bignumber.js";import{useMemo as Fa}from"react";import{useQuery as Sa}from"@tanstack/react-query";var Ia="wp:forge-pools";function Pr(e,t,o=!0){let n=hn[e],r=o&&!!t,{data:i,...a}=Sa({queryKey:[Ia,e,t],queryFn:async()=>{let d=await fetch(`${n}/v1/users/${t}/pools`,{cache:"no-store"});if(!d.ok)throw new Error(`forge pools fetch failed: ${d.status}`);return(await d.json()).data?.items??[]},enabled:r,staleTime:0}),c=i??[];return{pools:c,isEmpty:c.length===0,...a}}import{useQueries as Ma}from"@tanstack/react-query";import{useMemo as _a}from"react";var Aa="wp:forge-token-detail";async function Oa(e,t){let o=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store"});return o.ok?(await o.json())?.data?.token??null:null}function Sr(e,t,o=!0){let n=hn[e],r=Ma({queries:t.map(c=>({queryKey:[Aa,e,c],queryFn:()=>Oa(n,c),enabled:o&&!!c,staleTime:3e4}))}),i=_a(()=>{let c=new Map;for(let d=0;d<r.length;d++){let l=r[d]?.data,s=t[d];l&&s&&c.set(s.toLowerCase(),l)}return c},[r,t]),a=r.some(c=>c.isLoading);return{detailMap:i,isLoading:a}}import{jsx as Me,jsxs as _t}from"react/jsx-runtime";var Da="Forge",Wa=18,Ba="https://contents.crosstoken.io/wallet/token/images/FT.png";function $a(e){if(!e||e==="0")return"0";let t=new po(e).shiftedBy(-Wa);return t.isZero()?"0":t.isGreaterThanOrEqualTo(1)?t.toFormat(2,po.ROUND_DOWN):t.toFormat(4,po.ROUND_DOWN)}function Va(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 Ir(){let{env:e,walletAddress:t,onOutlink:o}=re(),n=!!t,{pools:r,isEmpty:i}=Pr(e,t,n),a=Fa(()=>r.map(s=>s.token.address),[r]),{detailMap:c}=Sr(e,a,n&&a.length>0),d=s=>`${nt[e]}/forge/token/${s.token.address}`,l=`${Be[e]}/forge.png`;return Me(Ve,{title:Da,icon:l,iconFit:"contain",isEmpty:i,children:r.map(s=>{let m=c.get(s.token.address.toLowerCase()),k=m?.image_url||m?.image||s.token.image||Ba,b=m?.symbol||s.token.symbol,g=d(s);return _t("a",{className:"wp-item","data-side":"lp",href:g,target:"_blank",rel:"noopener noreferrer",onClick:w=>We(w,g,{category:"portfolio",origin:"portfolio-forge",payload:{pool:s,tokenDetail:m}},o),children:[_t("div",{className:"wp-item-body",children:[_t("div",{className:"wp-item-field",children:[_t("span",{className:"wp-item-label",children:["Pair (",b,")"]}),Me("div",{className:"wp-svc-token",children:Me("img",{className:"wp-svc-token-icon",src:k,alt:""})})]}),_t("div",{className:"wp-item-field",children:[Me("span",{className:"wp-item-label",children:"LP Balance"}),Me("div",{className:"wp-svc-token",children:Me("span",{children:$a(s.lp_balance)})})]}),_t("div",{className:"wp-item-field",children:[Me("span",{className:"wp-item-label",children:"Ownership"}),Me("div",{className:"wp-svc-token",children:Me("span",{children:Va(s.pool_ownership)})})]})]}),Me("div",{className:"wp-item-badges",children:Me("span",{className:"wp-badge wp-badge--mint",children:"Withdraw"})})]},s.pair_address)})})}O(`.wp-fullscreen[data-theme=dark],.wp-embed[data-theme=dark]{--wp-bg: var(--cck-surface-bg, #202530);--wp-card: var(--cck-surface-default, #292f40);--wp-border: var(--cck-border-default, #313b51);--wp-text: var(--cck-texticon-primary, #ffffff);--wp-text-60: var(--cck-texticon-secondary, #d3d7df);--wp-text-40: #8c97ad;--wp-text-30: var(--cck-texticon-tertiary, #717d97);--wp-mint: #00d4aa;--wp-green: var(--cck-primary, #019d92);--wp-red: var(--cck-error, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00}.wp-fullscreen[data-theme=light],.wp-embed[data-theme=light]{--wp-bg: var(--cck-surface-bg, #f5f6f8);--wp-card: var(--cck-surface-default, #ffffff);--wp-border: var(--cck-border-default, #e2e5ea);--wp-text: var(--cck-texticon-primary, #202530);--wp-text-60: var(--cck-texticon-secondary, #49556e);--wp-text-40: #8c97ad;--wp-text-30: var(--cck-texticon-tertiary, #a0a9b8);--wp-mint: #00d4aa;--wp-green: var(--cck-primary, #019d92);--wp-red: var(--cck-error, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00}.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}.wp-embed{width:100%;height:100%;min-height:0;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-text)}.wp-overlay{position:fixed;inset:0;z-index:49;background:#0009}.wp-header{display:flex;align-items:center;gap:20px;height:60px;padding:0 20px;flex-shrink:0}.wp-header-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--wp-text);flex-shrink:0}.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:16px;font-weight:600;line-height:24px;letter-spacing:.15px;text-align:center;color:var(--wp-text);margin:0}.wp-header-account{flex:1;display:flex;align-items:center;gap:12px;min-width:0}.wp-header-wallet-name{flex:1;min-width:0;font-family:inherit;font-size:15px;font-weight:600;line-height:160%;letter-spacing:0;color:var(--wp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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:rgba(255,255,255,.08) transparent}.wp-body::-webkit-scrollbar{width:4px}.wp-body::-webkit-scrollbar-track{background:transparent}.wp-body::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.wp-body-inner{padding:16px 16px 128px;display:flex;flex-direction:column;gap:20px}.wp-svc-card{display:flex;flex-direction:column;gap:8px}.wp-svc-card-head{display:flex;align-items:center;gap:8px}.wp-svc-card-icon{width:20px;height:20px;border-radius:4px;flex-shrink:0;object-fit:cover}.wp-svc-card-title{font-size:14px;font-weight:600;line-height:1.3;color:var(--wp-text-60);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-svc-items{display:flex;flex-direction:column;gap:10px}.wp-item{position:relative;background:var(--wp-card);border-radius:12px;padding:14px 40px 14px 16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 3px #00000014,0 2px 8px #0000000a;overflow:hidden;text-decoration:none;cursor:pointer;transition:box-shadow .2s ease,transform .15s ease}.wp-item:hover{box-shadow:0 2px 6px #0000001f,0 4px 14px #0000000f;transform:translateY(-1px)}.wp-item:active{transform:translateY(0);box-shadow:0 1px 3px #00000014}.wp-item:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;border-radius:3px 0 0 3px;background:var(--wp-border)}.wp-item:after{content:"";position:absolute;right:14px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:currentColor;opacity:.25;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 1.5h7v7M10.5 1.5L1.5 10.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 1.5h7v7M10.5 1.5L1.5 10.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;transition:opacity .15s}.wp-item:hover:after{opacity:.5}.wp-item[data-side=buy]:before{background:var(--wp-green)}.wp-item[data-side=sell]:before{background:var(--wp-red)}.wp-item[data-side=reward]:before{background:var(--wp-mint)}.wp-item[data-side=lp]:before{background:var(--wp-purple)}.wp-item-body{display:flex;gap:12px}.wp-item-field{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.wp-item-label{font-size:11px;font-weight:500;line-height:1.3;color:var(--wp-text-40);letter-spacing:.03em;text-transform:uppercase}.wp-item-label--buy{color:var(--wp-green)}.wp-item-label--sell{color:var(--wp-red)}.wp-svc-token{display:flex;align-items:center;gap:8px;min-width:0}.wp-svc-token>span{font-size:14px;font-weight:600;line-height:1.4;color:var(--wp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-svc-token-icon{width:22px;height:22px;border-radius:50%;flex-shrink:0;object-fit:cover}.wp-svc-buy{color:var(--wp-green)}.wp-svc-sell{color:var(--wp-red)}.wp-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:4px;border:1px solid transparent;pointer-events:none}.wp-badge--mint{color:var(--wp-mint);background:#00d4aa1a;border-color:#00d4aa40}.wp-badge--muted{color:var(--wp-text-40);background:#8c97ad14;border-color:#8c97ad2e}.wp-badge--red{color:var(--wp-red);background:#e7007714;border-color:#e7007733}.wp-item-badges{display:flex;align-items:center;gap:6px}.wp-svc-empty{display:flex;align-items:center;justify-content:center;height:56px;background:var(--wp-card);border-radius:12px;font-size:13px;font-weight:400;color:var(--wp-text-30);box-shadow:0 1px 3px #00000014}@media(max-width:375px){.wp-header{gap:12px;padding:0 12px}.wp-top{padding:0 12px 12px;gap:12px}.wp-total{font-size:22px}.wp-legend{gap:10px}.wp-legend-label{font-size:11px}.wp-body-inner{padding:12px 12px 128px;gap:14px}.wp-svc-items{gap:8px}.wp-item{padding:12px 36px 12px 14px;gap:6px;border-radius:10px}.wp-item:after{right:10px;width:11px;height:11px}.wp-item-body{gap:10px}.wp-svc-token{gap:6px}.wp-svc-token>span{font-size:13px}.wp-svc-token-icon{width:20px;height:20px}}.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}
8
8
  `);import{Fragment as za,jsx as z,jsxs as Ze}from"react/jsx-runtime";var mo=5,Ga="wp:";function At({env:e,theme:t="dark",walletAddress:o,walletName:n,onBack:r,showHeader:i=!0,variant:a="embed",className:c,sendTransaction:d,getTransactionReceipt:l,onOutlink:s}){let m=ge(e),k=!!o,b=Ha(),{segments:g}=fr(m,o,k),[w,h]=_e.useState(mo),[P,A]=_e.useState(!1),I=_e.useCallback(()=>{b.invalidateQueries({predicate:C=>typeof C.queryKey[0]=="string"&&C.queryKey[0].startsWith(Ga)})},[b]),N=_e.useCallback(()=>{I(),A(!0),setTimeout(()=>A(!1),600),h(mo)},[I]);_e.useEffect(()=>{if(!k)return;let C=setInterval(()=>{h(U=>U<=1?(N(),mo):U-1)},1e3);return()=>clearInterval(C)},[k,N]);let V=_e.useCallback(()=>{r?.()},[r]),y=k?xt(m,o,{size:64}):void 0,T=_e.useMemo(()=>({env:m,theme:t,open:!0,walletAddress:o,close:V,sendTransaction:d,getTransactionReceipt:l,onOutlink:s}),[m,t,o,V,d,l,s]),$=Ze(za,{children:[i&&Ze("div",{className:"wp-header",children:[Ze("div",{className:"wp-header-account",children:[r?z("button",{type:"button",className:"wp-header-btn",onClick:r,children:z(gr,{})}):z("span",{className:"wp-header-avatar","aria-hidden":!0,children:y&&z("img",{src:y,alt:"",className:"wp-header-avatar-img",draggable:!1})}),n&&z("span",{className:"wp-header-wallet-name",title:n,children:n})]}),Ze("button",{type:"button",className:"wp-header-btn wp-refresh-btn",onClick:N,children:[z(wr,{className:P?"wp-spin-once":void 0}),k&&z("span",{className:"wp-refresh-badge",children:w})]})]}),z("div",{className:"wp-top",children:g.length>0&&Ze("div",{className:"wp-asset",children:[Ze("div",{className:"wp-asset-head",children:[z("span",{className:"wp-asset-head-label",children:"Consolidated Asset"}),z("span",{className:"wp-asset-head-icon",children:z(hr,{})})]}),z("div",{className:"wp-bar",children:g.map(C=>z("div",{className:"wp-bar-seg",style:{flex:`${C.percentage} 0 0`,background:C.color},children:C.percentage>=5&&Ze("span",{className:"wp-bar-seg-pct",children:[C.percentage,"%"]})},C.symbol))}),z("div",{className:"wp-legend",children:g.map(C=>Ze("div",{className:"wp-legend-item",children:[z("span",{className:"wp-legend-dot",style:{background:C.color}}),z("span",{className:"wp-legend-label",children:C.symbol})]},C.symbol))})]})}),z("div",{className:"wp-body",children:Ze("div",{className:"wp-body-inner",children:[z(vr,{}),z(Nr,{}),z(Rr,{}),z(Tr,{}),z(Ir,{})]})})]});return z(qt.Provider,{value:T,children:a==="none"?$:z("div",{className:K(a==="fullscreen"?"wp-fullscreen":"wp-embed",c),"data-theme":t,children:$})})}import{jsx as uo,jsxs as Mr}from"react/jsx-runtime";function _r({className:e}){let{env:t,theme:o,walletAddress:n,close:r,sendTransaction:i}=re();return Mr(yn.Portal,{children:[uo(yn.Overlay,{className:"wp-overlay"}),Mr(yn.Content,{className:K("wp-fullscreen",e),"data-theme":o,children:[uo(yn.Title,{className:"wp-sr-only",children:"My Portfolio"}),uo(At,{env:t,theme:o,walletAddress:n,onBack:r,variant:"none",sendTransaction:i})]})]})}import{jsx as Ar}from"react/jsx-runtime";function ja({env:e,theme:t="dark",walletAddress:o,open:n,onOpenChange:r,sendTransaction:i,onOutlink:a,children:c}){let d=ge(e),l=n!==void 0,[s,m]=kt.useState(!1),k=l?n:s,b=kt.useCallback(h=>{l||m(h),r?.(h)},[l,r]),g=kt.useCallback(()=>b(!1),[b]),w=kt.useMemo(()=>({env:d,theme:t,open:k,walletAddress:o,close:g,sendTransaction:i,onOutlink:a}),[d,t,k,o,g,i,a]);return Ar(qt.Provider,{value:w,children:Ar(Ua.Root,{direction:"bottom",open:k,onOpenChange:b,noBodyStyles:!0,children:c})})}var Or=Object.assign(ja,{Trigger:ar,Content:_r});import{Fragment as go,jsx as p,jsxs as E}from"react/jsx-runtime";function fo(e,t,o){let n=me[e],r=o.toUpperCase();if(t===n.cross&&r.includes("CROSSD"))return 0;if(t===n.cross&&r==="CROSS")return 1;if(t===n.bsc&&r==="CROSS")return 2}function Za(e){return parseInt(e.split(":")[1],10)}function Ka(e){let t=e.lastIndexOf(".");return t===-1?{main:e,decimal:""}:{main:e.slice(0,t),decimal:e.slice(t)}}function Ya(e){let t=e.toLowerCase().replace(/^0x/,""),o=t.length>=8?t.slice(0,8):t.padEnd(8,"0"),n=parseInt(o.slice(0,4),16)%360,r=(n+60+parseInt(o.slice(4,8),16)%120)%360;return`linear-gradient(135deg, hsl(${n} 85% 65%), hsl(${r} 80% 55%))`}function Fr({align:e="end",sideOffset:t=12,className:o,children:n}){let{env:r,theme:i,isMobile:a,open:c,drawerDirection:d,modal:l,showBalance:s,showForgeToken:m,showGameToken:k,showQR:b,qrLogoSrc:g,walletAddress:w,accountName:h,sendAccounts:P,profileImageUrl:A,preferredTokens:I,close:N,onSelectWallet:V,onCopyAddress:y,onDisconnect:T,disconnectLabel:$,termsUrl:C,termsLabel:U,privacyUrl:q,privacyLabel:be,portalStyle:st,navContent:ae,navPosition:He,footerContent:Re,view:Y,setView:Ye,selectedSendToken:Qe,setSelectedSendToken:ue,showPortfolio:Xe,portfolioTitle:xe,showTotalAssets:X,totalAssetsLabel:Z,sendTransaction:Ae,getTransactionReceipt:se,estimateGas:Oe,onOutlink:ve}=tt(),{tokens:pe,isLoading:ye}=Pt(r,w,c&&s),{statsMap:J}=St(r,s),{categoryMap:Ee}=or(r,s),te=s&&X,{displayValue:lt,isLowerBound:ke,isLoading:Je}=rr(r,w,c&&te),[Ge,ze]=B.useState(!1),ct=B.useRef(null),[Te,Ue]=B.useState(0),{holdings:Pe,isLoading:et}=tr(r,w,c&&s&&m),je=B.useMemo(()=>Pe.map(x=>x.token),[Pe]),{imageMap:Se}=nr(r,je,m&&Pe.length>0),fe=B.useMemo(()=>{let x=[],F=[],W=[],ee=new Map((I??[]).map((D,Q)=>[`${Za(D.chainId)}:${D.address.toLowerCase()}`,Q]));for(let D of pe){let Q=fo(r,D.chainId,D.symbol)!==void 0,ft=`${D.chainId}:${D.address.toLowerCase()}`,gt=ee.get(ft),On=new Kt(D.quantity.numeric).shiftedBy(-D.quantity.decimals);if(Q)x.push(D);else if(gt!==void 0)F.push(D);else if(On.isGreaterThan(0)){if(!k&&Ee.get(ao(D.chainId,D.address))==="game")continue;W.push(D)}}return x.sort((D,Q)=>{let ft=fo(r,D.chainId,D.symbol)??99,gt=fo(r,Q.chainId,Q.symbol)??99;return ft-gt}),F.sort((D,Q)=>{let ft=ee.get(`${D.chainId}:${D.address.toLowerCase()}`)??99,gt=ee.get(`${Q.chainId}:${Q.address.toLowerCase()}`)??99;return ft-gt}),W.sort((D,Q)=>{let ft=J.get(vt(D.chainId,D.address)),gt=J.get(vt(Q.chainId,Q.address)),On=new Kt(D.quantity.numeric).shiftedBy(-D.quantity.decimals).multipliedBy(ft?.price??0);return new Kt(Q.quantity.numeric).shiftedBy(-Q.quantity.decimals).multipliedBy(gt?.price??0).minus(On).toNumber()}),[...x,...F,...W]},[pe,r,J,k,Ee,I]),Ie=B.useMemo(()=>{if(!m)return[];let x=new Set(pe.map(F=>F.address.toLowerCase()));return[...Pe].filter(F=>!x.has(F.token.toLowerCase())).sort((F,W)=>{let ee=new Kt(F.value);return new Kt(W.value).minus(ee).toNumber()})},[Pe,m,pe]),Ce=B.useRef(!1),Fe=B.useCallback(x=>{Ce.current=!0,Ye(x)},[Ye]),_n=B.useCallback(()=>{ue(null),Fe("wallet")},[ue,Fe]),Jt=B.useCallback(x=>{ue(x),Fe("send")},[ue,Fe]),en=B.useCallback(()=>{ue(null),Fe("wallet")},[ue,Fe]);B.useEffect(()=>{c||(Ce.current=!1)},[c]);let tn=B.useRef(null);B.useEffect(()=>{let x=tn.current;if(!x||!a)return;let F=W=>{W.pointerType==="touch"&&W.stopPropagation()};return x.addEventListener("pointerdown",F),()=>x.removeEventListener("pointerdown",F)},[a]);let[dt,pt]=B.useState(!1),Ct=B.useRef(void 0);B.useEffect(()=>()=>clearTimeout(Ct.current),[]),B.useEffect(()=>{let x=ct.current;if(!x||Re===null){Ue(0);return}let F=()=>{Ue(x.offsetHeight)};if(F(),typeof ResizeObserver>"u")return;let W=new ResizeObserver(F);return W.observe(x),()=>W.disconnect()},[Re]);let nn=B.useCallback(async()=>{if(!dt)try{await navigator.clipboard.writeText(w),pt(!0),clearTimeout(Ct.current),Ct.current=setTimeout(()=>pt(!1),2e3),y?.(w,!0)}catch{y?.(w,!1)}},[w,y,dt]),Wt=B.useCallback(x=>{x.currentTarget.setAttribute("data-loaded","true")},[]),An=B.useMemo(()=>({background:Ya(w)}),[w]),Bt=B.useMemo(()=>A||xt(r,w,{size:120,bg:i==="dark"?"1A1A2E":"F3F6F8"}),[A,r,w,i]),u=B.useMemo(()=>Ka(lt),[lt]),L=C||q?E("div",{className:"wi-legal-links",children:[C&&p("a",{className:"wi-legal-link",href:C,target:"_blank",rel:"noopener noreferrer",onClick:x=>We(x,C,{category:"terms",origin:"terms"},ve),children:U}),C&&q&&p("span",{className:"wi-legal-sep","aria-hidden":!0,children:"\xB7"}),q&&p("a",{className:"wi-legal-link",href:q,target:"_blank",rel:"noopener noreferrer",onClick:x=>We(x,q,{category:"privacy",origin:"privacy"},ve),children:be})]}):null,M=T?E("button",{type:"button",className:"wi-disconnect-btn",onClick:()=>{T(),N()},children:[p(Fo,{size:12}),p("span",{className:"wi-disconnect-label",children:$})]}):null,S=E("div",{className:K("wi-view-inner",Ce.current&&"wi-view-wallet"),children:[te&&(()=>{let x=Xe;return E(x?"button":"div",{...x?{type:"button",onClick:()=>Fe("portfolio"),"aria-label":"View Portfolio"}:{},className:"wi-total-section","data-clickable":x||void 0,children:[E("div",{className:"wi-total-head",children:[p("span",{className:"wi-total-label",children:Z}),p("span",{role:"button",tabIndex:0,className:"wi-total-eye",onClick:W=>{W.stopPropagation(),ze(ee=>!ee)},onKeyDown:W=>{(W.key==="Enter"||W.key===" ")&&(W.preventDefault(),W.stopPropagation(),ze(ee=>!ee))},"aria-label":Ge?"Show balance":"Hide balance",children:Ge?p(Ho,{}):p(Vo,{})})]}),E("div",{className:"wi-total-body",children:[Je?p("div",{className:"wi-skeleton-block wi-total-skeleton",style:{width:160,height:36}}):p("div",{className:"wi-total-value","data-hidden":Ge||void 0,children:Ge?p("span",{className:"wi-total-mask",children:"\u2022\u2022\u2022\u2022\u2022\u2022"}):E(go,{children:[ke&&p("span",{className:"wi-total-lte",children:"\u2264"}),p("span",{className:"wi-total-currency",children:"$"}),p("span",{className:"wi-total-amount",children:u.main}),u.decimal&&p("span",{className:"wi-total-decimal",children:u.decimal})]})}),x&&p("span",{className:"wi-total-chevron","aria-hidden":!0,children:p(Bo,{size:18})})]})]})})(),He==="top"&&ae&&p("div",{className:"wi-nav-fixed",children:ae}),s&&p("div",{ref:tn,className:"wi-scrollable-body","data-vaul-no-drag":!0,children:E("div",{className:"wi-token-list",children:[ye&&Array.from({length:5},(x,F)=>E("div",{className:"wi-skeleton-item",children:[E("div",{className:"wi-skeleton-left",children:[p("div",{className:"wi-skeleton-block wi-skeleton-icon"}),E("div",{className:"wi-skeleton-lines",children:[p("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),p("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),E("div",{className:"wi-skeleton-right",children:[p("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),p("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},F)),!ye&&fe.length===0&&!m&&p("div",{className:"wi-empty",children:"No Tokens Found"}),fe.map(x=>{let F=J.get(vt(x.chainId,x.address)),W=F?parseFloat(F.percent_change_24h):null,ee=W!==null&&W>=0,D=Hn(r,x.chainId);return E("button",{type:"button",className:"wi-token-item wi-token-item--button",onClick:()=>Jt(x),"aria-label":`Send ${x.symbol}`,children:[E("div",{className:"wi-token-left",children:[E("div",{className:"wi-token-icon-wrap",children:[p("img",{src:x.icon_url,alt:x.symbol,className:"wi-token-icon",width:32,height:32,loading:"lazy",draggable:!1,onLoad:Wt,onError:Q=>{Q.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),D&&p("img",{src:D,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:Q=>{Q.currentTarget.style.display="none"}})]}),E("div",{className:"wi-token-info",children:[p("span",{className:"wi-token-name",children:x.symbol}),F&&E("div",{className:"wi-token-price-row",children:[p("span",{className:"wi-token-price",children:$n(F.price)}),p("span",{className:"wi-token-change","data-positive":ee,"data-zero":W===0||void 0,children:W!==null&&(W===0?"0%":`${ee?"+":"-"}${(ee?Math.floor:Math.ceil)(Math.abs(W)*100)/100}%`)})]})]})]}),E("div",{className:"wi-token-right",children:[p("span",{className:"wi-token-balance",children:bt(x.quantity.numeric,x.quantity.decimals)}),F&&p("span",{className:"wi-token-value",children:Mo(x.quantity.numeric,x.quantity.decimals,F.price)})]})]},`${x.address}-${x.chainId}`)}),m&&et&&Array.from({length:3},(x,F)=>E("div",{className:"wi-skeleton-item",children:[E("div",{className:"wi-skeleton-left",children:[p("div",{className:"wi-skeleton-block wi-skeleton-icon"}),E("div",{className:"wi-skeleton-lines",children:[p("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),p("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),E("div",{className:"wi-skeleton-right",children:[p("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),p("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},`forge-sk-${F}`)),m&&!et&&!ye&&fe.length===0&&Ie.length===0&&p("div",{className:"wi-empty",children:"No Tokens Found"}),m&&Ie.map(x=>{let F=Se.get(x.token)||"",W=Hn(r,me[r].cross);return E("div",{className:"wi-token-item",children:[E("div",{className:"wi-token-left",children:[E("div",{className:"wi-token-icon-wrap",children:[p("img",{src:F||"https://contents.crosstoken.io/wallet/token/images/FT.png",alt:x.token_name,className:"wi-token-icon",width:32,height:32,loading:"lazy",draggable:!1,onLoad:Wt,onError:ee=>{ee.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),W&&p("img",{src:W,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:ee=>{ee.currentTarget.style.display="none"}})]}),E("div",{className:"wi-token-info",children:[p("span",{className:"wi-token-name",children:x.token_name}),p("div",{className:"wi-token-price-row",children:E("span",{className:"wi-token-price",children:[bt(x.current_price,18)," CROSS"]})})]})]}),E("div",{className:"wi-token-right",children:[p("span",{className:"wi-token-balance",children:bt(x.balance,18)}),p("span",{className:"wi-token-value",children:$n(x.current_value_usd)})]})]},`forge-${x.token}`)})]})}),He==="bottom"&&ae&&p("div",{className:"wi-nav-fixed",children:ae}),M&&p("div",{className:"wi-wallet-disconnect-row",children:M})]},"wallet"),H=Xe?p("div",{className:K("wi-view-inner wi-portfolio-body",Ce.current&&"wi-view-portfolio"),children:p(At,{env:r,theme:i,walletAddress:w,showHeader:!1,sendTransaction:Ae,getTransactionReceipt:se,onOutlink:ve})},"portfolio"):null,ne=Qe?p("div",{className:K("wi-view-inner wi-send-body",Ce.current&&"wi-view-send"),children:p(fn,{env:r,theme:i,walletAddress:w,accountName:h,accounts:P,token:Qe,tokens:fe,onTokenChange:ue,sendTransaction:Ae,getTransactionReceipt:se,estimateGas:Oe,onConfirmSuccess:en,onOutlink:ve})},"send"):null,mt=p("div",{className:K("wi-view-inner wi-qr-body",Ce.current&&"wi-view-qr"),children:E("div",{className:"wi-qr-section",children:[E("div",{className:"wi-qr-card",children:[E("div",{className:"wi-qr-code",children:[p(qa,{value:w,size:180,level:"H",marginSize:2,...g&&{imageSettings:{src:g,height:33,width:33,excavate:!0}}}),!g&&p("div",{className:"wi-qr-logo",children:p(Go,{size:33})})]}),p("p",{className:"wi-qr-address",children:w}),E("button",{type:"button",className:"wi-qr-copy-btn",onClick:nn,children:[p("span",{className:"wi-qr-copy-icon",children:dt?p(zt,{size:16}):p(Gn,{size:16})}),p("span",{className:"wi-qr-copy-text",children:dt?"Copied!":"Copy address"})]})]}),L]})},"qr"),le=Y==="qr"||Y==="portfolio"||Y==="send",ut=Re!==null?p("div",{className:"wi-builtin-footer",children:Re}):null,$t=!!V&&h?.trim().toLowerCase()!=="my wallet",Vt=E("div",{className:"wi-account-text",children:[$t?E("button",{type:"button",className:"wi-account-row wi-account-row--btn",onClick:V,"aria-label":"Switch account",children:[p("span",{className:"wi-account-name",children:h??"Account 1"}),p("span",{className:"wi-account-switch","aria-hidden":"true",children:p($o,{size:12})})]}):p("div",{className:"wi-account-row",children:p("span",{className:"wi-account-name",children:h??"Account 1"})}),E("button",{type:"button",className:"wi-address-row-btn",onClick:nn,"aria-label":"Copy address",children:[p("span",{className:"wi-account-address",children:Ne(w)}),p("span",{className:"wi-account-copy",children:dt?p(zt,{size:14}):p(Gn,{size:14})})]})]}),rn=E(go,{children:[n,le?E("div",{className:"wi-sticky-header",children:[E("div",{className:"wi-header wi-header--wallet wi-header--sub-account",children:[p("button",{type:"button",className:"wi-header-back",onClick:_n,"aria-label":"Back",children:p(Wo,{})}),p("div",{className:"wi-account-block wi-account-block--sub-account",children:Vt}),p("button",{type:"button",className:"wi-header-action",onClick:N,"aria-label":"Close",children:p(zn,{size:24})})]}),p("hr",{className:"wi-divider"})]}):E("div",{className:"wi-sticky-header",children:[E("div",{className:"wi-header wi-header--wallet",children:[E("div",{className:"wi-account-block",children:[E("div",{className:"wi-avatar",children:[p("div",{className:"wi-avatar-fallback",style:An}),Bt&&p("img",{src:Bt,alt:"",className:"wi-avatar-img",width:30,height:30,draggable:!1,onLoad:Wt,onError:x=>{x.currentTarget.style.display="none"}})]}),Vt]}),E("div",{className:"wi-header-actions",children:[b&&p("button",{type:"button",className:"wi-header-action",onClick:()=>Fe("qr"),"aria-label":"Show QR code",children:p(Do,{size:20})}),p("button",{type:"button",className:"wi-header-action",onClick:N,"aria-label":"Close",children:p(zn,{size:24})})]})]}),p("hr",{className:"wi-divider"})]}),E("div",{className:"wi-view-container",children:[Y==="wallet"&&S,Y==="qr"&&mt,Y==="portfolio"&&H,Y==="send"&&ne]}),ut&&Y!=="portfolio"&&Y!=="send"&&p("div",{className:"wi-sticky-footer",children:p("div",{className:"wi-footer",ref:ct,children:ut})})]}),Nt={...st,...Te>0?{"--wi-footer-height":`${Te}px`}:null};return a?E(kn.Portal,{children:[l&&p(kn.Overlay,{className:"wi-drawer-overlay"}),E(kn.Content,{className:K("wi-drawer-content",o),"data-theme":i,style:Nt,"data-direction":d,"data-no-balance":!s||void 0,"data-has-footer":Te>0||void 0,"data-view":Y,children:[p(kn.Title,{className:"wi-sr-only",children:"My Wallet"}),rn]})]}):E(go,{children:[l&&c&&p("div",{className:"wi-drawer-overlay",onClick:N}),p(Cn.Portal,{children:p(Cn.Content,{align:e,sideOffset:t,className:K("wi-popover-content",o),"data-theme":i,style:Nt,"data-no-balance":!s||void 0,"data-has-footer":Te>0||void 0,"data-view":Y,children:rn})})]})}import*as Dr from"react";function Wr({position:e="top",children:t}){let{setNavContent:o,setNavPosition:n}=tt();return Dr.useEffect(()=>(o(t),n(e),()=>o(null)),[t,e,o,n]),null}import*as Br from"react";function $r({children:e}){let{setFooterContent:t}=tt();return Br.useEffect(()=>(t(e),()=>t(null)),[e,t]),null}O(`[data-theme=dark].wi-popover-content,[data-theme=dark].wi-drawer-content{--wi-primary: var(--cck-primary, #019d92);--wi-secondary: var(--cck-secondary, #e70077);--wi-surface-bg: var(--cck-surface-bg, #121212);--wi-surface-default: var(--cck-surface-default, rgba(255, 255, 255, .05));--wi-surface-subtle: var(--cck-surface-subtle, rgba(255, 255, 255, .1));--wi-border-default: var(--cck-border-default, rgba(255, 255, 255, .05));--wi-border-subtle: var(--cck-border-subtle, rgba(255, 255, 255, .1));--wi-texticon-primary: var(--cck-texticon-primary, #ffffff);--wi-texticon-secondary: var(--cck-texticon-secondary, rgba(255, 255, 255, .7));--wi-texticon-tertiary: var(--cck-texticon-tertiary, rgba(255, 255, 255, .5));--wi-on-primary: var(--cck-on-primary, #ffffff);--wi-error: var(--cck-error, #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(--cck-primary, #019d92);--wi-secondary: var(--cck-secondary, #e70077);--wi-surface-bg: var(--cck-surface-bg, #ffffff);--wi-surface-default: var(--cck-surface-default, rgba(18, 18, 18, .05));--wi-surface-subtle: var(--cck-surface-subtle, rgba(18, 18, 18, .1));--wi-border-default: var(--cck-border-default, rgba(18, 18, 18, .05));--wi-border-subtle: var(--cck-border-subtle, rgba(18, 18, 18, .1));--wi-texticon-primary: var(--cck-texticon-primary, #121212);--wi-texticon-secondary: var(--cck-texticon-secondary, rgba(18, 18, 18, .7));--wi-texticon-tertiary: var(--cck-texticon-tertiary, rgba(18, 18, 18, .5));--wi-on-primary: var(--cck-on-primary, #ffffff);--wi-error: var(--cck-error, #e70077);--wi-shadow: 0 2px 16px -2px rgba(0, 0, 0, .15)}
9
9
  `);O(`.wi-trigger-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid rgba(255,255,255,.2);background:#1a2332;border-radius:9999px;cursor:pointer;color:#fff;font-family:inherit;font-size:16px;font-weight:500;line-height:24px;letter-spacing:-.3125px;transition:opacity .15s ease}.wi-trigger-btn:hover{opacity:.85}.wi-trigger-btn[data-theme=light]{background:#f3f6f8;border-color:#1212121a;color:#121212}.wi-trigger-btn[data-mobile]{font-size:14px;padding:6px 12px;gap:6px;line-height:20px}.wi-trigger-address{white-space:nowrap}.wi-divider{height:1px;background:var(--wi-border-default);margin:0;border:none;flex-shrink:0}[data-theme=light] .wi-divider{background:#1212121a}[data-theme=dark] .wi-divider{background:#ffffff1a}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-cross/dapp-ui",
3
- "version": "1.1.2-beta.1",
3
+ "version": "1.1.2",
4
4
  "description": "Shared DApp UI components for the CROSS ecosystem — AppLauncher, WalletInfo, WalletPortfolio, WalletConnectModal",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",