@nexus-cross/dapp-ui 1.3.4 → 1.3.5-beta.1
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 +2 -2
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function Ri(e){try{return import.meta.env?.[e]}catch{return}}function Ci(e){if(!(typeof process>"u"))return process.env?.[e]}function _e(e){if(e)return Ti(e);let t=Ri("VITE_CROSSX_ENVIRONMENT")??Ri("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Ci("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Ci("CROSSX_ENVIRONMENT");return Ti(t)}function Ti(e){switch(e?.toLowerCase()){case"dev":case"development":return"dev";case"stage":case"staging":case"stg":return"stage";default:return"production"}}var vr="1.3.
|
|
1
|
+
function Ri(e){try{return import.meta.env?.[e]}catch{return}}function Ci(e){if(!(typeof process>"u"))return process.env?.[e]}function _e(e){if(e)return Ti(e);let t=Ri("VITE_CROSSX_ENVIRONMENT")??Ri("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Ci("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Ci("CROSSX_ENVIRONMENT");return Ti(t)}function Ti(e){switch(e?.toLowerCase()){case"dev":case"development":return"dev";case"stage":case"staging":case"stg":return"stage";default:return"production"}}var vr="1.3.5";var ho="__nexusCrossAppLauncherRuntime";function Jl(){if(typeof window>"u")return null;let e=window;return e[ho]??(e[ho]={mode:"dapp-ui"}),e[ho]}function ec(e){if(e.scheduled)return;e.scheduled=!0;let t=()=>{if(e.scheduled=!1,e.loggedMode!==e.mode){if(e.mode==="connect-kit-react"){let n=e.connectKitVersion??"unknown";console.info(`[CROSSx App Launcher] connect-kit-react v${n} \uCD08\uAE30\uD654 \uC644\uB8CC (dapp-ui v${vr}, \uC0AC\uC6A9 \uBAA8\uB4DC: connect-kit)`)}else console.info(`[CROSSx App Launcher] dapp-ui v${vr} \uCD08\uAE30\uD654 \uC644\uB8CC (\uC0AC\uC6A9 \uBAA8\uB4DC: dapp-ui only)`);e.loggedMode=e.mode}};typeof queueMicrotask=="function"?queueMicrotask(t):Promise.resolve().then(t)}function yr(e){let t=Jl();t&&(e?.mode==="connect-kit-react"?t.mode="connect-kit-react":t.mode||(t.mode="dapp-ui"),e?.connectKitVersion&&(t.connectKitVersion=e.connectKitVersion),ec(t))}import*as Ln from"react";import*as Ni from"@radix-ui/react-popover";import{Drawer as ic}from"vaul";import{createContext as tc,useContext as nc}from"react";var kr=tc(null);function bo(){let e=nc(kr);if(!e)throw new Error("AppLauncher compound components must be used within <AppLauncher>");return e}import{useState as oc,useEffect as rc}from"react";function En(e){let[t,n]=oc(!1);return rc(()=>{let o=window.matchMedia(e);n(o.matches);let r=a=>n(a.matches);return o.addEventListener("change",r),()=>o.removeEventListener("change",r)},[e]),t}function K(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",t==="top"&&n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}K(`[data-theme=dark]{--al-bg: var(--ds-surface-default, #1e232e);--al-bg-hover: var(--ds-surface-medium, #252b39);--al-text: var(--ds-content-highest, #ffffff);--al-text-secondary: var(--ds-content-medium, #ffffffa6);--al-border: var(--ds-border-default, #ffffff12);--al-shadow: var(--ds-shadow-modal, 0px 4px 30px -1px rgba(0, 0, 0, .7));--al-primary: #f3742e;--al-primary-hover: #ff8a4a;--al-primary-soft: #3a261f;--al-new-ribbon-bg: #ed0a72;--al-badge-bg: var(--ds-accent-primary-low, #123235);--al-badge-text: var(--ds-accent-primary-default, #00ceb2);--al-drawer-overlay: var(--ds-overlay-dim, #000000b3)}[data-theme=light]{--al-bg: var(--ds-surface-default, #ffffff);--al-bg-hover: var(--ds-surface-medium, #f5f7fa);--al-text: var(--ds-content-highest, #000000);--al-text-secondary: var(--ds-content-medium, #000000a6);--al-border: var(--ds-border-default, #00000012);--al-shadow: var(--ds-shadow-modal, 0px 4px 30px -1px rgba(0, 0, 0, .15));--al-primary: #f3742e;--al-primary-hover: #ff8a4a;--al-primary-soft: #fff1eb;--al-new-ribbon-bg: #ed0a72;--al-badge-bg: var(--ds-accent-primary-low, #e7f9f8);--al-badge-text: var(--ds-accent-primary-default, #00b4b7);--al-drawer-overlay: var(--ds-overlay-dim, #00000080)}
|
|
2
2
|
`);K(`.al-trigger-btn{--at-bg: transparent;--at-bg-hover: #eaedf1;--at-color: var(--ds-content-high, rgba(0, 0, 0, .85));--at-border: none;--at-border-radius: 8px;--at-size: 36px;--at-padding: 0;--at-press-scale: .95;--at-transition: background-color .15s ease;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--at-size);height:var(--at-size);padding:var(--at-padding);border:var(--at-border);background:var(--at-bg);border-radius:var(--at-border-radius);color:var(--at-color);cursor:pointer;transition:var(--at-transition)}.al-trigger-btn:hover,.al-trigger-btn[data-state=open]{background:var(--at-bg-hover)}.al-trigger-btn:active:not(:disabled){background:var(--at-bg-hover);transform:scale(var(--at-press-scale))}.al-trigger-btn[data-theme=dark]{--at-color: var(--ds-content-high, rgba(255, 255, 255, .85));--at-bg-hover: #252b39}.al-trigger-btn[data-theme=light]{--at-color: var(--ds-content-high, rgba(0, 0, 0, .85))}
|
|
3
3
|
`);K(`@keyframes al-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
|
|
4
4
|
`);K(`.al-popover-content{-webkit-font-smoothing:antialiased;z-index:100001;border-radius:24px;background:var(--al-bg);border:1px solid var(--al-popover-border, var(--al-border));box-shadow:var(--al-popover-shadow, var(--al-shadow));animation:al-fade-in .15s ease-out;max-height:80vh;overflow-x:hidden;overflow-y:auto;padding:20px 4px;box-sizing:border-box}.al-popover-content .al-menu{display:flex;flex-direction:column;width:424px;max-width:calc(100vw - 32px);padding:0 12px;box-sizing:border-box}.al-popover-content .al-grid{display:grid;grid-template-columns:repeat(4,100px);row-gap:12px;column-gap:0;justify-content:center;align-items:start}.al-popover-content .al-grid-item{position:relative;flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;padding:12px 0;width:100px;min-width:0;border-radius:10px}.al-popover-content .al-grid-item-left{flex-direction:column;align-items:center;gap:8px;width:100%;overflow:visible}.al-popover-content .al-grid-item-icon{width:50px;height:50px;border-radius:10.125px;overflow:visible}.al-popover-content .al-grid-item-icon img{object-fit:cover}.al-popover-content .al-grid-item-label{font-family:Inter,sans-serif;font-size:12px;font-weight:500;line-height:1.1;letter-spacing:0;text-align:center;color:var(--al-text);max-width:100%;white-space:normal;overflow-wrap:anywhere}.al-popover-content .al-grid-item-text{flex-direction:column;align-items:center;justify-content:center;gap:2px;max-width:100%;min-height:26px}.al-popover-content .al-grid-item-status-text{font-size:10px;line-height:1.1}.al-popover-content .al-badge-list{display:none}.al-drawer-overlay{position:fixed;inset:0;z-index:100000;background:var(--al-drawer-overlay)}.al-drawer-content{-webkit-font-smoothing:antialiased;position:fixed;top:0;right:0;bottom:0;z-index:100001;width:100vw;background:var(--al-bg);overflow-x:hidden;overflow-y:hidden;display:flex;flex-direction:column;box-sizing:border-box}.al-drawer-body{flex:1;overflow-y:auto;overscroll-behavior-y:contain;min-height:0}.al-drawer-content .al-menu{display:flex;flex-direction:column;min-height:0}.al-drawer-content .al-grid{display:flex;flex-direction:column;grid-template-columns:none;max-width:100%;overflow:hidden;flex-shrink:0;gap:0;row-gap:0;column-gap:0;padding:8px 16px}.al-drawer-content .al-grid-item{width:100%;max-width:100%;gap:8px;padding:16px 12px;border-radius:8px;overflow:hidden;background:transparent}.al-drawer-content .al-grid-item:hover,.al-drawer-content .al-grid-item[data-active=true]{background:var(--al-bg-hover)}.al-drawer-content .al-grid-item-left{gap:8px;flex:1 1 auto;min-width:0;overflow:visible}.al-drawer-content .al-grid-item-icon{width:32px;height:32px;border-radius:6.75px;overflow:visible}.al-drawer-content .al-grid-item-icon img{width:100%;height:100%;object-fit:cover;border-radius:6.75px}.al-drawer-content .al-grid-item-label{font-size:16px;line-height:1.35;letter-spacing:0;font-weight:400}.al-drawer-content .al-grid-item[data-active=true] .al-grid-item-label{font-weight:500}.al-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px;flex-shrink:0}.al-drawer-title{font-family:Inter,sans-serif;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--al-text);margin:0}.al-drawer-close{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--al-text-secondary);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:flex-start;gap:10px;padding:16px 12px;border:none;background:var(--al-bg);border-radius:8px;cursor:pointer;transition:none;color:var(--al-text);text-align:left;font-family:Inter,sans-serif;flex-shrink:0}.al-grid-item:hover,.al-grid-item[data-active=true]{background:var(--al-bg-hover)!important}.al-grid-item-left{display:flex;align-items:center;gap:8px;min-width:0;overflow:visible}.al-grid-item-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px;max-width:100%;min-width:0}.al-grid-item-icon{display:flex;align-items:center;justify-content:center;position:relative;width:24px;height:24px;overflow:visible;border-radius:5px;flex-shrink:0}.al-grid-item-icon img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.al-grid-item-label{font-family:Inter,sans-serif;font-size:16px;font-weight:500;line-height:150%;letter-spacing:0;color:var(--al-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.al-grid-item-status-text{font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:1.15;letter-spacing:0;color:var(--al-text);white-space:nowrap}.al-status-ribbon{position:absolute;top:-6px;right:-6px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;box-sizing:border-box;border-radius:999px;color:#fff;font-family:Pretendard,Inter,sans-serif;font-size:12px;font-weight:800;line-height:1;pointer-events:none;box-shadow:0 1px 3px #0000002e}.al-status-ribbon-new{background:var(--al-new-ribbon-bg)}.al-badge{display:flex;padding:1px 4px 2px;justify-content:center;align-items:center;gap:2px;border-radius:3px;background:var(--al-badge-bg);color:var(--al-badge-text);font-family:Pretendard,Inter,sans-serif;font-size:10px;font-weight:600;line-height:150%;letter-spacing:0;white-space:nowrap;flex-shrink:0}
|
|
@@ -7,7 +7,7 @@ function Ri(e){try{return import.meta.env?.[e]}catch{return}}function Ci(e){if(!
|
|
|
7
7
|
`);import{jsx as Oe,jsxs as _o}from"react/jsx-runtime";var Uc={token:"Send",recipient:"Send",amount:"Send",review:"Sign Transaction",result:""};function Mo({onClose:e,onBackToWallet:t,onConfirmSuccess:n,onSuccess:o,className:r,...a}){let i=Aa.useCallback(v=>{o?.(v),n?.(v)},[n,o]),c=ua({...a,onSuccess:o||n?i:void 0,onExit:t}),{step:l,status:d}=c,w=Dt(c.recipient.trim()),h=Yt(c.amount,c.token.quantity.decimals),m="value"in h&&h.value<=c.balanceRaw,y=d==="submitting"||d==="confirming",b=l!=="result",u=Uc[l]??"";return _o("div",{className:se("sf-root",r),"data-step":l,children:[_o("header",{className:"sf-header",children:[b?Oe("button",{type:"button",className:"sf-header-btn",onClick:c.back,"aria-label":"Back",children:Oe(bn,{size:24})}):Oe("span",{className:"sf-header-btn","aria-hidden":!0}),Oe("span",{className:"sf-header-title",children:u}),Oe("button",{type:"button",className:"sf-header-btn",onClick:e,"aria-label":"Close",children:Oe(Wt,{size:24})})]}),l==="token"&&Oe(La,{flow:c}),l==="recipient"&&Oe(Ta,{flow:c}),l==="amount"&&Oe(ma,{flow:c}),l==="review"&&Oe(Ea,{flow:c}),l==="result"&&Oe(Ia,{flow:c}),_o("footer",{className:"sf-footer","data-step":l,children:[l==="recipient"&&Oe("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:c.submitRecipient,"data-disabled":!w||void 0,"aria-disabled":!w,children:"Next"}),l==="amount"&&Oe("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:c.submitAmount,"data-disabled":!m||void 0,"aria-disabled":!m,children:"Next"}),l==="review"&&_o("div",{className:"sf-footer-row",children:[Oe("button",{type:"button",className:"sf-btn sf-btn--secondary",onClick:c.back,disabled:y,children:"Cancel"}),Oe("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:c.confirmSend,disabled:y||!c.canSend||c.insufficientGas,children:y?"Sending...":"Send"})]}),l==="result"&&d==="success"&&Oe("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:()=>n?.(c.txHash||void 0),children:"All done"}),l==="result"&&d==="error"&&Oe("button",{type:"button",className:"sf-btn sf-btn--primary",onClick:c.retry,children:"Try Again"})]})]})}import*as Pa from"@radix-ui/react-popover";import{Drawer as $c}from"vaul";import{jsx as Oo,jsxs as jc}from"react/jsx-runtime";function Fa({asChild:e,className:t,children:n}){let{isMobile:o,theme:r,walletAddress:a}=tn(),i=n!=null,s=e??!0,c=i?n:jc("button",{type:"button",className:se("wi-trigger-btn",t),"data-theme":r,"data-mobile":o||void 0,children:[Oo(Gi,{size:o?14:16}),Oo("span",{className:"wi-trigger-address",children:lt(a)})]});return o?Oo($c.Trigger,{asChild:s,children:c}):Oo(Pa.Trigger,{asChild:s,children:c})}import*as z from"react";import*as nr from"@radix-ui/react-popover";import{Drawer as er}from"vaul";import oo from"bignumber.js";import{useQueries as Vc}from"@tanstack/react-query";import{useMemo as qc}from"react";var Dr="user-balance";async function Kc(e,t,n,o){let r=new URLSearchParams({networkId:`eip155:${t}`,account:n}),a=await fetch(`${e}/v1/public/token/balance?${r}`,{cache:"no-store",signal:o});if(!a.ok)throw new Error(`Failed to fetch token balance: ${a.status}`);let i=await a.json();if(i.code!==200)throw new Error(`Token balance API error: ${i.code}`);return i.data}function an(e,t,n=!0){let o=ye[e],r=[o.cross,o.bsc],a=Vc({queries:r.map(l=>({queryKey:[Dr,e,t,l],queryFn:async({signal:d})=>Kc(await re("walletServer",e),l,t,d),enabled:!!t&&n,staleTime:0,refetchInterval:n?5e3:!1}))}),i=a.some(l=>l.isLoading),s=a.some(l=>l.isError);return{tokens:qc(()=>{let l=[];for(let d of a)d.data&&l.push(...d.data);return l},[a]),isLoading:i,isError:s}}import{useQuery as Qc,useQueries as Yc}from"@tanstack/react-query";import{useMemo as Zc}from"react";var Xc="forge-holdings",Jc="forge-token-image";async function ed(e,t,n){let o=await fetch(`${e}/v1/users/${t}/holdings`,{cache:"no-store",signal:n});if(!o.ok)throw new Error(`Failed to fetch forge holdings: ${o.status}`);let r=await o.json();if(!r.success)throw new Error("Forge holdings API error");return r.data.items}async function td(e,t,n){let o=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store",signal:n});if(!o.ok)return{address:t,image_url:""};let r=await o.json();return r.success?{address:t,image_url:r.data.token.image_url}:{address:t,image_url:""}}function Ba(e,t,n=!0){let{data:o,...r}=Qc({queryKey:[Xc,e,t],queryFn:async({signal:a})=>ed(await re("bondingCurve",e),t,a),enabled:!!t&&n,staleTime:0,refetchInterval:n?5e3:!1});return{holdings:o??[],...r}}function _a(e,t,n=!0){let o=Yc({queries:t.map(a=>({queryKey:[Jc,e,a],queryFn:async({signal:i})=>td(await re("bondingCurve",e),a,i),enabled:n,staleTime:1/0}))});return{imageMap:Zc(()=>{let a=new Map;for(let i of o)i.data&&a.set(i.data.address,i.data.image_url);return a},[o])}}import{useQuery as nd}from"@tanstack/react-query";import{useMemo as od}from"react";var zr="token-stats";function Lt(e,t){return`${e}:${t.toLowerCase()}`}function sn(e,t=!0){let{data:n,...o}=nd({queryKey:[zr,e],queryFn:async({signal:a})=>{let i=await re("walletServer",e),s=await fetch(`${i}/v1/public/token/stats`,{cache:"no-store",signal:a});if(!s.ok)throw new Error(`Failed to fetch token stats: ${s.status}`);let c=await s.json();if(c.code!==200)throw new Error(`Token stats API error: ${c.code}`);return c},enabled:t,staleTime:3e4});return{statsMap:od(()=>{let a=new Map;if(!n?.data)return a;for(let i of n.data){let s=Lt(i.chain_id,i.address);a.set(s,i)}return a},[n]),...o}}import{useQuery as rd}from"@tanstack/react-query";var id="crossd-apy",ad="https://crossd-dashboard-api.crossdefi.io/api/v1/overview";function Ma(){let{data:e,...t}=rd({queryKey:[id],queryFn:async({signal:n})=>{let o=await fetch(ad,{cache:"no-store",signal:n});if(!o.ok)throw new Error(`Failed to fetch CROSSD overview: ${o.status}`);let r=await o.json();if(r.code!==200)throw new Error(`CROSSD overview API error: ${r.code}`);let a=parseFloat(r.data.est_last_epoch_apy);if(!Number.isFinite(a))throw new Error("CROSSD overview returned a non-numeric APY");return a*100},staleTime:6e4});return{apyPercent:e??null,...t}}import{useQuery as sd}from"@tanstack/react-query";import{useMemo as ld}from"react";var cd="token-info";function Gr(e,t){return`${t.toLowerCase()}_${e}`}function Oa(e,t=!0){let{data:n,...o}=sd({queryKey:[cd,e],queryFn:async({signal:a})=>{let i=await re("walletServer",e),s=await fetch(`${i}/v1/public/token/info`,{cache:"no-store",signal:a});if(!s.ok)throw new Error(`Failed to fetch token info: ${s.status}`);let c=await s.json();if(c.code!==200)throw new Error(`Token info API error: ${c.code}`);return c},enabled:t,staleTime:1/0});return{categoryMap:ld(()=>{let a=new Map;if(!n?.data)return a;for(let i of n.data){let s=Gr(i.chain_id,i.address);a.set(s,i.category)}return a},[n]),...o}}import{useMemo as dd}from"react";import Hr from"bignumber.js";function Wa(e,t,n){let{tokens:o,isLoading:r}=an(e,t,n),{statsMap:a}=sn(e,n);return dd(()=>{let i=new Hr(0);for(let d of o){let w=a.get(Lt(d.chainId,d.address));if(!w)continue;let m=new Hr(d.quantity.numeric).shiftedBy(-d.quantity.decimals).multipliedBy(new Hr(w.price));m.isNaN()||(i=i.plus(m))}let s=i.toFixed(),{displayValue:c,isLowerBound:l}=Xi(s);return{totalUsd:s,displayValue:c,isLowerBound:l,isLoading:r}},[o,a,r])}import{QRCodeSVG as Nf}from"qrcode.react";function Xe(e,t,n,o){if(!o||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.defaultPrevented)return;e.preventDefault();let r;try{r=o(t,n)}catch(l){console.error("[dapp-ui] onOutlink threw:",l);return}let a=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,d=w=>{if(w===null){l?.close();return}let h=w??t;if(l)try{l.location.href=h}catch{l.close(),a(h)}else a(h)};r.then(d,w=>{console.error("[dapp-ui] onOutlink rejected:",w),l?.close()});return}let s=r;if(s===null)return;a(s??t)}import*as Cn from"react";import{Drawer as Bp}from"vaul";import{createContext as ud,useContext as md,useMemo as gd}from"react";import bt from"bignumber.js";var pd=/^(\d{4}-\d{2}-\d{2})/;function Da(e){if(!e||e.length===0)return;let t=new Map,n;for(let{key:r,cumulative:a}of e.map(i=>({key:pd.exec(i.reference_date)?.[1],cumulative:i.cumulative_earned})).filter(i=>!!i.key&&i.cumulative!=null).sort((i,s)=>i.key<s.key?-1:i.key>s.key?1:0))t.set(r,a),n=r;if(n===void 0)return;let o=new Date().toISOString().slice(0,10);return t.get(o)??t.get(n)}function Wo(e){return e.length<=12?e:`${e.slice(0,6)}...${e.slice(-4)}`}function za(e){return e.length<=13?e:`${e.slice(0,6)}...${e.slice(-4)}`}var fd="0xe00e8bf3";function Ga(e,t){let n=typeof e=="bigint"?e:BigInt(e);if(n<0n)throw new Error("poolId must be non-negative");if(t<0n)throw new Error("amount must be non-negative");let o=n.toString(16).padStart(64,"0"),r=t.toString(16).padStart(64,"0");return`${fd}${o}${r}`}function Ur(e){return!e||e<=0n?"0":new bt(e.toString()).shiftedBy(-9).toFormat(2,bt.ROUND_DOWN).replace(/(\.\d*?[1-9])0+$/,"$1").replace(/\.0+$/,"")}function Ha(e){return!e||e<=0n?"0":new bt(e.toString()).toFormat(0,bt.ROUND_DOWN)}function Ua(e){if(!e||e<=0n)return"0";let t=new bt(e.toString()).shiftedBy(-18),n=t.isLessThan(1e-4)?7:4;return t.toFormat(n,bt.ROUND_DOWN).replace(/(\.\d*?[1-9])0+$/,"$1").replace(/\.0+$/,"")}function At(e,t){let n=new bt(e).shiftedBy(-t);return!n.isFinite()||n.isZero()?"0":n.isGreaterThanOrEqualTo(1)?n.toFormat(2,bt.ROUND_DOWN):n.toFormat(4,bt.ROUND_DOWN)}function $r(e){return At(e,0)}var Xn={rate:1,symbol:"$"};function Jn(e,t=Xn){let n=Number.isFinite(t.rate)&&t.rate>0?t.rate:1;return`${t.symbol||"$"}${e.times(n).toFormat(2,bt.ROUND_DOWN)}`}function ln(e,t,n,o=Xn){let r=new bt(n||"0");if(!r.isFinite()||r.isLessThanOrEqualTo(0))return null;let a=new bt(e||"0").shiftedBy(-t).times(r);return a.isFinite()?Jn(a,o):null}var eo=ud(null);function We(){let e=md(eo);if(!e)throw new Error("WalletPortfolio compound components must be used within <WalletPortfolio>");return e}function Gt(){let{conversionRatio:e,currencySymbol:t}=We();return gd(()=>({rate:typeof e=="number"&&e>0?e:Xn.rate,symbol:t||Xn.symbol}),[e,t])}import{Drawer as hd}from"vaul";import{jsx as $a}from"react/jsx-runtime";function ja({asChild:e,children:t}){let{walletAddress:n}=We(),o=t!=null,r=e??!0,a=o?t:$a("button",{type:"button",children:lt(n)});return $a(hd.Trigger,{asChild:r,children:a})}import{Drawer as Ko}from"vaul";import*as ve from"react";import{useQueryClient as Ap}from"@tanstack/react-query";import{createContext as bd,useContext as wd}from"react";var jr=bd(null);function Va(){return wd(jr)}import{jsx as ct,jsxs as Do}from"react/jsx-runtime";function qa({size:e=22,className:t}){return ct("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:ct("path",{d:"M14 4L7 11L14 18",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})})}function Ka({size:e=22,className:t}){return Do("svg",{width:e,height:e,viewBox:"0 0 22 22",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[ct("path",{d:"M18.333 3.667v5.5h-5.5",stroke:"currentColor",strokeWidth:1.833,strokeLinecap:"round",strokeLinejoin:"round"}),ct("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 Qa({size:e=16,className:t}){return Do("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[ct("path",{d:"M5.333 5.333V4a1.333 1.333 0 011.334-1.333h5.333A1.333 1.333 0 0113.333 4v5.333a1.333 1.333 0 01-1.333 1.334h-1.333",stroke:"currentColor",strokeWidth:1.333,strokeLinecap:"round",strokeLinejoin:"round"}),ct("path",{d:"M4 5.333h5.333c.737 0 1.334.597 1.334 1.334V12c0 .736-.597 1.333-1.334 1.333H4A1.333 1.333 0 012.667 12V6.667C2.667 5.93 3.263 5.333 4 5.333z",stroke:"currentColor",strokeWidth:1.333,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Ya({size:e=16,className:t}){return ct("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:ct("path",{d:"M13.333 4L6 11.333 2.667 8",stroke:"currentColor",strokeWidth:1.667,strokeLinecap:"round",strokeLinejoin:"round"})})}function Za({size:e=48,className:t}){return Do("svg",{width:e,height:e,viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:[ct("circle",{cx:"24",cy:"24",r:"24",fill:"currentColor"}),ct("path",{d:"M14 24.5l6.6 6.6L34.5 17.5",stroke:"var(--wp-claim-success-mark, #ffffff)",strokeWidth:4,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Pt({size:e=12,className:t}){return Do("svg",{width:e,height:e,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,"aria-hidden":"true",children:[ct("path",{d:"M5 2H2.5A1.5 1.5 0 0 0 1 3.5V9.5A1.5 1.5 0 0 0 2.5 11H8.5A1.5 1.5 0 0 0 10 9.5V7",stroke:"currentColor",strokeWidth:1.2,strokeLinecap:"round",strokeLinejoin:"round"}),ct("path",{d:"M7 1H11V5",stroke:"currentColor",strokeWidth:1.2,strokeLinecap:"round",strokeLinejoin:"round"}),ct("path",{d:"M11 1L6 6",stroke:"currentColor",strokeWidth:1.2,strokeLinecap:"round",strokeLinejoin:"round"})]})}import*as ps from"react";import{useQuery as xd}from"@tanstack/react-query";import{useMemo as Xa}from"react";var vd="wp:reward-pools";function On(e,t=!0){let{data:n,...o}=xd({queryKey:[vd,e],queryFn:async({signal:i})=>{let s=await re("gameReward",e),c=await fetch(`${s}/v1/pools`,{cache:"no-store",signal:i});if(!c.ok)throw new Error(`Failed to fetch pools: ${c.status}`);let l=await c.json();if(l.code!==200)throw new Error(`Pools API error: ${l.code}`);return l},enabled:t,staleTime:0}),r=Xa(()=>n?.data.pools.filter(i=>i.pool_type==="CrossPool")??[],[n]),a=Xa(()=>n?.data.pools.filter(i=>i.pool_type==="GamePool")??[],[n]);return{crossPools:r,gamePools:a,allPools:n?.data.pools??[],...o}}import{useQuery as yd}from"@tanstack/react-query";import{useMemo as kd}from"react";var Sd="wp:user-deposits";function zo(e,t,n=!0){let o=n&&!!t,{data:r,...a}=yd({queryKey:[Sd,e,t],queryFn:async({signal:s})=>{let c=await re("gameReward",e),l=await fetch(`${c}/v1/users/${t}/deposits`,{cache:"no-store",signal:s});if(!l.ok)throw new Error(`Deposits fetch failed: ${l.status}`);let d=await l.json();if(d.code!==200)throw new Error(`Deposits API error: ${d.code}`);return d},enabled:o,staleTime:0});return{depositMap:kd(()=>{let s=new Map;if(!r?.data.user_deposits)return s;for(let c of r.data.user_deposits)s.set(c.pool_address.toLowerCase(),c);return s},[r]),deposits:r?.data.user_deposits??[],...a}}import{useQuery as Rd}from"@tanstack/react-query";import{useMemo as Cd}from"react";var Ja={dev:"https://stg.onechain.nexus",stage:"https://stg.onechain.nexus",production:"https://onechain.nexus"},es={dev:"https://stg.onechain.nexus/points",stage:"https://stg.onechain.nexus/points",production:"https://www.onechain.nexus/points"};var ts={dev:"https://stg.onechain.nexus",stage:"https://stg.onechain.nexus",production:"https://onechain.nexus"};var Vr={dev:"https://dev-stake.ogfcorp.com",stage:"https://stg-stake.ogfcorp.com",production:"https://stake.ogfcorp.com"},ns={dev:`${Vr.dev}/portfolio`,stage:`${Vr.stage}/portfolio`,production:`${Vr.production}/portfolio`};var os={dev:"https://stg.onechain.nexus",stage:"https://stg.onechain.nexus",production:"https://onechain.nexus"},Ht={dev:"https://stg-contents.crosstoken.io/frontend/common/app-launcher/icons",stage:"https://stg-contents.crosstoken.io/frontend/common/app-launcher/icons",production:"https://contents.crosstoken.io/frontend/common/app-launcher/icons"};var Td="wp:token-info";function Go(e,t=!0){let n=ye[e].cross,{data:o,...r}=Rd({queryKey:[Td,e],queryFn:async({signal:c})=>{let l=await re("walletServer",e),d=await fetch(`${l}/v1/public/token/info`,{cache:"no-store",signal:c});if(!d.ok)throw new Error(`Failed to fetch token info: ${d.status}`);let w=await d.json();if(w.code!==200)throw new Error(`Token info API error: ${w.code}`);return w},enabled:t,staleTime:300*1e3}),{byChainAddr:a,byChainSym:i}=Cd(()=>{let c=new Map,l=new Map;if(!o?.data)return{byChainAddr:c,byChainSym:l};for(let d of o.data){let w=d.address.toLowerCase();c.set(`${d.chain_id}:${w}`,d),c.set(w,d);let h=d.symbol.replace(/^t/,"").toUpperCase(),m=`${d.chain_id}:${h}`;l.has(m)||l.set(m,d),l.has(h)||l.set(h,d)}return{byChainAddr:c,byChainSym:l}},[o]);return{getTokenImage:(c,l)=>{let d=c.toLowerCase(),w=a.get(`${n}:${d}`);if(w?.image)return w.image;let h=a.get(d);if(h?.image)return h.image;if(l){let m=l.replace(/^t/,"").toUpperCase(),y=i.get(`${n}:${m}`);if(y?.image)return y.image;let b=i.get(m);if(b?.image)return b.image}return""},...r}}import{useQuery as Bd}from"@tanstack/react-query";import{useMemo as Ho}from"react";var Nd="0x70a08231",Id="0x18160ddd",Ed="0x313ce567",Ld=8e3;async function Ad(e,t,n,o){let r=new AbortController,a=setTimeout(()=>r.abort(),Ld);o&&o.addEventListener("abort",()=>r.abort(),{once:!0});let i=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:t,params:n}),signal:r.signal}).finally(()=>clearTimeout(a));if(!i.ok)throw new Error(`RPC ${t} HTTP ${i.status}`);let s=await i.json();if(s.error)throw new Error(`RPC ${t}: ${s.error.message}`);if(s.result===void 0)throw new Error(`RPC ${t}: empty result`);return s.result}function Pd(e){return e.toLowerCase().replace(/^0x/,"").padStart(64,"0")}function to(e){if(!(!e||e==="0x"))try{return BigInt(e)}catch{return}}async function Sn(e,t,n,o){try{return await Ad(e,"eth_call",[{to:t,data:n},"latest"],o)}catch{return}}async function Fd(e,t,n,o){let[r,a,i]=await Promise.all([Sn(e,n,Nd+Pd(t),o),Sn(e,n,Id,o),Sn(e,n,Ed,o)]),s=to(r);if(s===void 0)return null;let c=to(i);return{balance:s,totalSupply:to(a),decimals:c!==void 0?Number(c):void 0}}async function qr(e,t){let n=ye[e].cross,o=await re("walletServer",e),r=await fetch(`${o}/v1/public/chain/info/${n}`,{cache:"no-store",signal:t});if(!r.ok)return;let a=await r.json();return("data"in a&&a.data!==void 0?Array.isArray(a.data)?a.data[0]:a.data:a)?.rpc||void 0}async function rs(e,t,n,o){if(!t||n.length===0)return{};let r;try{r=await qr(e,o)}catch{r=void 0}if(!r)return{};let a=await Promise.all(n.map(async s=>[s.toLowerCase(),await Fd(r,t,s,o)])),i={};for(let[s,c]of a)c&&(i[s]=c);return i}var _d="wp:withdraw-token-meta",Md="0xc89039c5",Od="0x95d89b41",Wd="0x313ce567";function Dd(e){if(!(!e||e==="0x"))try{let t=e.replace(/^0x/,""),n=Number(BigInt("0x"+t.slice(64,128)));if(!Number.isFinite(n)||n<=0||n>64)return;let o=t.slice(128,128+n*2),r="";for(let a=0;a<o.length;a+=2)r+=String.fromCharCode(parseInt(o.slice(a,a+2),16));return r||void 0}catch{return}}function zd(e){if(!e||e==="0x")return;let n="0x"+e.replace(/^0x/,"").padStart(64,"0").slice(24,64);return/^0x[a-f0-9]{40}$/.test(n)&&n!=="0x0000000000000000000000000000000000000000"?n:void 0}async function Gd(e,t,n){if(t.length===0)return{};let o;try{o=await qr(e,n)}catch{o=void 0}if(!o)return{};let r=await Promise.all(t.map(async i=>{let s=zd(await Sn(o,i,Md,n));if(!s)return[i.toLowerCase(),null];let[c,l]=await Promise.all([Sn(o,s,Od,n),Sn(o,s,Wd,n)]),d=Dd(c),w=to(l);return d?[i.toLowerCase(),{tokenAddress:s,symbol:d,decimals:w!==void 0?Number(w):18}]:[i.toLowerCase(),null]})),a={};for(let[i,s]of r)s&&(a[i]=s);return a}function Uo(e,t,n=!0){let r=n&&!!t,{allPools:a,isLoading:i}=On(e,r),{deposits:s,isLoading:c}=zo(e,t,r),l=Ho(()=>{let u=new Map;for(let v of a)u.set(v.pool_address.toLowerCase(),v);return u},[a]),d=Ho(()=>s.filter(u=>{try{return BigInt(u.deposited_amount||"0")>0n}catch{return!1}}),[s]),w=Ho(()=>d.map(u=>u.pool_address.toLowerCase()).filter(u=>!l.has(u)).sort(),[d,l]),{data:h,isLoading:m}=Bd({queryKey:[_d,e,w],queryFn:({signal:u})=>Gd(e,w,u),enabled:r&&w.length>0,staleTime:1440*60*1e3});return{positions:Ho(()=>{let u=[];for(let v of d){let C=v.pool_address.toLowerCase(),p=l.get(C);if(p){u.push({poolId:v.pool_id,poolAddress:v.pool_address,poolType:p.pool_type,tokenSymbol:p.deposit_token.symbol,tokenAddress:p.deposit_token.address,decimals:p.deposit_token.decimals,price:p.deposit_token.price,depositedRaw:v.deposited_amount});continue}let T=h?.[C];T&&u.push({poolId:v.pool_id,poolAddress:v.pool_address,poolType:"Unknown",tokenSymbol:T.symbol,tokenAddress:T.tokenAddress,decimals:T.decimals,depositedRaw:v.deposited_amount})}return u},[d,l,h]),isLoading:i||c||m}}import*as Qr from"react";import{jsx as Kr,jsxs as is}from"react/jsx-runtime";function Ut({sectionKey:e,title:t,icon:n,iconFit:o="cover",isEmpty:r,loading:a=!1,children:i}){let s=Va();return Qr.useEffect(()=>{s?.report(e,{loading:a,empty:r})},[s,e,a,r]),Qr.useEffect(()=>()=>s?.unregister(e),[s,e]),r?null:is("div",{className:"wp-svc-card",children:[is("div",{className:"wp-svc-card-head",children:[Kr("img",{className:"wp-svc-card-icon",src:n,alt:"",style:{objectFit:o}}),Kr("span",{className:"wp-svc-card-title",children:t})]}),Kr("div",{className:"wp-svc-items",children:i})]})}import*as ge from"react";import{Fragment as ss,jsx as j,jsxs as pe}from"react/jsx-runtime";var Hd=/^\d*\.?\d{0,2}$/,Ud=[100n,1000n,2000n],$d=400;function jd(e,t){if(t==="loading")return"Estimating...";if(!e||t==="error"||t==="unavailable")return"Wallet estimate";let n=e.maxFeePerGas??e.gasPrice;return!n||n<=0n||e.gasLimit<=0n?"Wallet estimate":`${Ua(e.gasLimit*n)} CROSS`}function Yr(e,t,n){return n==="loading"?"Estimating...":n==="error"||n==="unavailable"?"-":`${e} ${t}`.trim()}function as({position:e,size:t}){return e.icon?j("img",{src:e.icon,alt:"",width:t,height:t}):j("span",{children:e.tokenSymbol.slice(0,1)})}function $o({open:e,status:t,positions:n,initialPoolAddress:o,walletAddress:r,txHash:a,error:i,copied:s=!1,estimateWithdraw:c,onClose:l,onConfirm:d,onCopyHash:w}){let[h,m]=ge.useState(void 0),[y,b]=ge.useState(""),[u,v]=ge.useState(null),[C,p]=ge.useState("idle"),T=ge.useRef(0),k=ge.useRef(void 0),N=ge.useRef(null);ge.useEffect(()=>()=>clearTimeout(k.current),[]);let S=ge.useMemo(()=>{let F=(h??o)?.toLowerCase();return n.find(J=>J.poolAddress.toLowerCase()===F)??n[0]??null},[n,h,o]),G=ge.useMemo(()=>{try{return BigInt(S?.depositedRaw??"0")}catch{return 0n}},[S?.depositedRaw]),O=S?.decimals??18,H=ge.useMemo(()=>{let F=Yt(y,O);return"value"in F?F.value:null},[y,O]),B=H!==null&&H>G,ie=t==="confirm"&&!!S&&H!==null&&H>0n&&!B,I=ge.useCallback(()=>{b(""),v(null),p(c?"idle":"unavailable"),T.current+=1,N.current=null},[]);ge.useEffect(()=>{e&&(m(o),I())},[e]);let oe=ge.useCallback(F=>{t==="confirm"&&(m(F.poolAddress),I())},[t,I]);ge.useEffect(()=>{if(!e||t!=="confirm"){clearTimeout(k.current);return}if(!c||!S){clearTimeout(k.current),p("unavailable");return}if(H===null||H<=0n||B){clearTimeout(k.current),T.current+=1,N.current=null,v(null),p("idle");return}let F=`${S.poolAddress.toLowerCase()}:${H.toString()}`;if(N.current===F)return;N.current=F,clearTimeout(k.current);let J=T.current+1;T.current=J,p("loading"),k.current=setTimeout(()=>{c(S,H).then(ue=>{T.current===J&&(v(ue??null),p(ue?"ready":"unavailable"))}).catch(()=>{T.current===J&&(v(null),p("error"))})},$d)},[e,t,H,B,c,S]);let W=ge.useCallback(F=>{let J=F.target.value.replace(/,/g,"");(J===""||Hd.test(J))&&b(J)},[]),V=ge.useCallback(F=>{b(Qn(F.toString(),O))},[O]),he=ge.useCallback(F=>{let J=10n**BigInt(O),Le=(H??0n)+F*J;V(Le>G?G:Le)},[H,O,G,V]),X=ge.useCallback(()=>{V(G)},[G,V]);if(!e||!S)return null;let U=t==="submitting",fe=Ur(u?.maxPriorityFeePerGas),ce=Ur(u?.maxFeePerGas??u?.gasPrice),$=Ha(u?.gasLimit),Ne=At(S.depositedRaw,O);return j("div",{className:"wp-claim-overlay",role:"presentation",onMouseDown:F=>{F.target===F.currentTarget&&!U&&l()},children:pe("section",{className:"wp-claim-sheet",role:"dialog","aria-modal":"true","aria-labelledby":"wp-withdraw-title","data-status":t,"data-vaul-no-drag":!0,children:[j("div",{className:"wp-claim-grabber","aria-hidden":!0,children:j("span",{})}),pe("div",{className:"wp-claim-content wp-withdraw-content",children:[t==="success"&&a?pe(ss,{children:[j("span",{className:"wp-claim-icon wp-claim-icon--success","aria-hidden":!0,children:j(Za,{})}),pe("div",{className:"wp-claim-copy",children:[j("h3",{id:"wp-withdraw-title",className:"wp-claim-title",children:"Withdraw Submitted!"}),j("p",{className:"wp-claim-desc",children:"Your withdrawal request has been submitted. Balances will update shortly after the transaction settles."})]}),j("div",{className:"wp-claim-list","aria-label":"Withdraw transaction",children:pe("div",{className:"wp-claim-list-item",children:[j("span",{children:"Tx Hash"}),pe("button",{type:"button",className:"wp-claim-hash",onClick:w,"aria-label":"Copy transaction hash",children:[j("strong",{children:za(a)}),s?j(Ya,{}):j(Qa,{})]})]})})]}):pe(ss,{children:[pe("div",{className:"wp-claim-heading",children:[j("h3",{id:"wp-withdraw-title",className:"wp-claim-title",children:t==="error"?"Withdraw Failed":"Withdraw"}),t==="error"&&j("p",{className:"wp-claim-error-message",children:i||"The withdraw request could not be completed."})]}),n.length>1&&j("div",{className:"wp-withdraw-token-list",role:"listbox","aria-label":"Withdrawable tokens",children:n.map(F=>{let J=F.poolAddress.toLowerCase()===S.poolAddress.toLowerCase();return pe("button",{type:"button",role:"option","aria-selected":J,className:"wp-withdraw-token","data-selected":J||void 0,disabled:U,onClick:()=>oe(F),children:[j("span",{className:"wp-withdraw-token-icon","aria-hidden":!0,children:j(as,{position:F,size:28})}),j("span",{className:"wp-withdraw-token-symbol",children:F.tokenSymbol}),j("span",{className:"wp-withdraw-token-amount",children:At(F.depositedRaw,F.decimals)})]},F.poolAddress)})}),pe("div",{className:"wp-claim-reward-card","aria-label":"Deposited balance",children:[j("span",{className:"wp-claim-reward-token","aria-hidden":!0,children:j(as,{position:S,size:28})}),j("strong",{className:"wp-claim-reward-symbol",children:S.tokenSymbol}),j("strong",{className:"wp-claim-reward-amount",children:Ne})]}),pe("div",{className:"wp-withdraw-amount-card",children:[pe("div",{className:"wp-withdraw-amount-row",children:[j("input",{className:"wp-withdraw-input",type:"text",inputMode:"decimal",autoComplete:"off",placeholder:"0",value:y,disabled:U,onChange:W,"aria-label":`Withdraw amount (${S.tokenSymbol})`,"aria-invalid":B||void 0}),j("span",{className:"wp-withdraw-input-symbol",children:S.tokenSymbol})]}),B&&j("p",{className:"wp-claim-error-message",children:"Amount exceeds deposited balance."}),pe("div",{className:"wp-withdraw-quick-row",role:"group","aria-label":"Quick amounts",children:[Ud.map(F=>pe("button",{type:"button",className:"wp-withdraw-quick",disabled:U,onClick:()=>he(F),children:["+",F.toString()]},F.toString())),j("button",{type:"button",className:"wp-withdraw-quick",disabled:U,onClick:X,children:"MAX"})]})]}),pe("div",{className:"wp-claim-account-card","aria-label":"Withdraw gas fee",children:[pe("div",{className:"wp-claim-account-row",children:[pe("div",{className:"wp-claim-account",children:[j("span",{className:"wp-claim-account-avatar","aria-hidden":!0}),pe("strong",{children:[S.tokenSymbol," Pool"]})]}),j("span",{children:Wo(r)})]}),j("span",{className:"wp-claim-divider","aria-hidden":!0}),pe("div",{className:"wp-claim-detail-list",children:[pe("div",{className:"wp-claim-detail-row",children:[j("span",{children:"Est. Tx Fee"}),j("strong",{children:jd(u,C)})]}),pe("div",{className:"wp-claim-detail-row wp-claim-detail-row--sub",children:[j("span",{children:"Priority Fee Per Gas"}),j("strong",{children:Yr(fe,"Gwei",C)})]}),pe("div",{className:"wp-claim-detail-row wp-claim-detail-row--sub",children:[j("span",{children:"Max Fee Per Gas"}),j("strong",{children:Yr(ce,"Gwei",C)})]}),pe("div",{className:"wp-claim-detail-row wp-claim-detail-row--sub",children:[j("span",{children:"Gas Limit"}),j("strong",{children:Yr($,"",C)})]})]})]})]}),pe("div",{className:"wp-claim-actions","data-count":t==="confirm"||t==="error"?2:1,children:[(t==="confirm"||t==="error")&&j("button",{type:"button",className:"wp-claim-secondary",onClick:l,children:t==="error"?"Close":"Cancel"}),pe("button",{type:"button",className:"wp-claim-primary",onClick:()=>{if(t==="success"){l();return}S&&H!==null&&H>0n&&!B&&d(S,H,u)},disabled:U||(t==="confirm"||t==="error")&&(H===null||H<=0n||B),children:[t==="success"&&"Done",t==="submitting"&&j("span",{className:"wp-claim-button-spinner","aria-label":"Waiting"}),t==="error"&&"Try Again",t==="confirm"&&"Withdraw Now"]})]})]}),j("div",{className:"wp-claim-home-indicator","aria-hidden":!0,children:j("span",{})})]})})}import*as Ce from"react";import{useQueryClient as Kd}from"@tanstack/react-query";import{useQuery as Vd}from"@tanstack/react-query";var qd="wp:reward-factory-info";function ls(e,t=!0){let{data:n,...o}=Vd({queryKey:[qd,e],queryFn:async({signal:r})=>{let a=await re("gameReward",e),i=await fetch(`${a}/v1/factory/info`,{cache:"no-store",signal:r});if(!i.ok)throw new Error(`Factory info fetch failed: ${i.status}`);let s=await i.json();if(s.code!==200)throw new Error(`Factory info API error: ${s.code}`);return s},enabled:t,staleTime:0});return{factoryInfo:n?.data??null,routerAddress:n?.data.router_address??"",...o}}var Qd="wp:";function cs(e){return/^0x[a-fA-F0-9]{40}$/.test(e)?e:null}function jo(){let{env:e,walletAddress:t,sendTransaction:n,estimateGas:o}=We(),r=!!t,a=!!n,i=Kd(),{routerAddress:s}=ls(e,r&&a),c=cs(s),[l,d]=Ce.useState(!1),[w,h]=Ce.useState(void 0),[m,y]=Ce.useState("confirm"),[b,u]=Ce.useState(),[v,C]=Ce.useState(""),[p,T]=Ce.useState(!1),k=Ce.useRef(void 0);Ce.useEffect(()=>()=>clearTimeout(k.current),[]);let N=Ce.useCallback((I,oe)=>c?{to:c,value:0n,data:Ga(I,oe),chainId:ye[e].cross}:null,[e,c]),S=Ce.useCallback(()=>{i.invalidateQueries({predicate:I=>typeof I.queryKey[0]=="string"&&I.queryKey[0].startsWith(Qd)})},[i]),G=Ce.useCallback(I=>{h(I),d(!0),y("confirm"),u(void 0),C(""),T(!1)},[]),O=Ce.useCallback(()=>{m!=="submitting"&&(d(!1),h(void 0),y("confirm"),u(void 0),C(""),T(!1),m==="success"&&S())},[m,S]),H=Ce.useCallback(async(I,oe)=>{if(!o)return null;let W=N(I.poolId,oe),V=cs(t);return!W||!V?null:o({...W,from:V})},[N,o,t]),B=Ce.useCallback(async()=>{if(!(!b||typeof navigator>"u"||!navigator.clipboard))try{await navigator.clipboard.writeText(b),T(!0),clearTimeout(k.current),k.current=setTimeout(()=>T(!1),1400)}catch{T(!1)}},[b]),ie=Ce.useCallback(async(I,oe,W)=>{if(!n){y("error"),C("Withdraw is not available for this wallet.");return}if(!c){y("error"),C("Withdraw contract address is not available.");return}try{y("submitting"),C("");let V=N(I.poolId,oe);if(!V){y("error"),C("Withdraw contract address is not available.");return}let he=await n({...V,gas:W?.gasLimit&&W.gasLimit>0n?W.gasLimit:void 0,maxFeePerGas:W?.maxFeePerGas&&W.maxFeePerGas>0n?W.maxFeePerGas:void 0,maxPriorityFeePerGas:W?.maxPriorityFeePerGas&&W.maxPriorityFeePerGas>0n?W.maxPriorityFeePerGas:void 0});u(he),y("success"),S()}catch(V){y("error"),C(V instanceof Error?V.message:"Failed to request withdraw.")}},[N,S,c,n]);return{canWithdrawInline:a,isOpen:l,initialPoolAddress:w,status:m,txHash:b,error:v,copied:p,hasEstimator:!!o,openWithdraw:G,closeWithdraw:O,estimateWithdraw:H,confirmWithdraw:ie,copyHash:B}}import Zr from"bignumber.js";import{Fragment as Zd,jsx as Te,jsxs as Ue}from"react/jsx-runtime";var Yd="CROSS Rewards";function ds(e){return new Zr(e||"0").isGreaterThan(0)}function fs(){let{env:e,walletAddress:t,onOutlink:n}=We(),o=Gt(),r=!!t,{allPools:a,isLoading:i}=On(e,r),{depositMap:s,isLoading:c}=zo(e,t,r),{getTokenImage:l}=Go(e,r),d=jo(),{positions:w}=Uo(e,t,r&&d.canWithdrawInline),h=ps.useMemo(()=>w.filter(u=>u.poolType==="CrossPool").map(u=>({...u,icon:l(u.tokenAddress,u.tokenSymbol)})),[w,l]),m=(u,v)=>`${Ja[e]}/rewards/${u.pool_address}?action=${v}`,y=`${Ht[e]}/reward.png`,b=a.filter(u=>{let v=s.get(u.pool_address.toLowerCase()),C=v?.deposited_amount??"0",p=v?.claimable_reward??"0";return!(new Zr(C).isZero()&&new Zr(p).isZero())});return Ue(Zd,{children:[Te(Ut,{sectionKey:"rewards",title:Yd,icon:y,isEmpty:b.length===0,loading:i||c,children:b.map(u=>{let v=s.get(u.pool_address.toLowerCase()),C=v?.deposited_amount??"0",p=v?.claimable_reward??"0",T=m(u,"withdraw"),k=m(u,"claim"),N=l(u.deposit_token.address,u.deposit_token.symbol),S=u.reward_tokens[0],G=S?l(S.address,S.symbol):"",O=u.reward_tokens.map(X=>X.symbol),H=O.length>0?`${u.deposit_token.symbol}-${O.join("/")}`:u.deposit_token.symbol,B=S?At(p,S.decimals):"0",ie=S?.symbol??"Reward",I=ln(C,u.deposit_token.decimals,u.deposit_token.price,o),oe=S?ln(p,S.decimals,S.price,o):null,W=!!v&&ds(p),V=!!v&&ds(C),he=d.canWithdrawInline&&h.some(X=>X.poolAddress.toLowerCase()===u.pool_address.toLowerCase());return Ue("article",{className:"wp-item","data-side":"reward",children:[Ue("div",{className:"wp-item-body",children:[Ue("div",{className:"wp-item-line",children:[Te("span",{className:"wp-item-label",children:"Pool (Deposit - Earn)"}),Ue("div",{className:"wp-svc-token",children:[Ue("span",{className:"wp-token-stack","aria-hidden":!0,children:[N&&Te("img",{className:"wp-svc-token-icon",src:N,alt:""}),G&&Te("img",{className:"wp-svc-token-icon",src:G,alt:""})]}),Te("span",{children:H})]})]}),Ue("div",{className:"wp-item-line",children:[Te("span",{className:"wp-item-label",children:"Deposited"}),Ue("div",{className:"wp-svc-token wp-svc-token--amount",children:[N&&Te("img",{className:"wp-svc-token-icon",src:N,alt:""}),Ue("div",{className:"wp-svc-amount",children:[Te("span",{className:"wp-svc-amount-main",children:At(C,u.deposit_token.decimals)}),I&&Te("span",{className:"wp-item-usd",children:I})]})]})]}),Ue("div",{className:"wp-item-line",children:[Ue("span",{className:"wp-item-label",children:["Claimable (",ie,")"]}),Ue("div",{className:"wp-svc-token wp-svc-token--amount",children:[G&&Te("img",{className:"wp-svc-token-icon",src:G,alt:""}),Ue("div",{className:"wp-svc-amount",children:[Te("span",{className:"wp-svc-amount-main",children:B}),oe&&Te("span",{className:"wp-item-usd",children:oe})]})]})]})]}),Ue("div",{className:"wp-item-tags",children:[he?Te("button",{type:"button",className:"wp-tag wp-tag--muted","data-disabled":!V||void 0,"aria-disabled":!V||void 0,onClick:()=>{V&&d.openWithdraw(u.pool_address)},children:Te("span",{className:"wp-tag-label",children:"Withdraw"})}):Ue("a",{className:"wp-tag wp-tag--muted",href:T,target:"_blank",rel:"noopener noreferrer",onClick:X=>Xe(X,T,{category:"portfolio",origin:"portfolio-rewards",payload:{pool:u,userDeposit:v}},n),children:[Te("span",{className:"wp-tag-label",children:"Withdraw"}),Te(Pt,{size:12,className:"wp-tag-icon"})]}),Ue("a",{className:"wp-tag wp-tag--mint","data-disabled":!W||void 0,"aria-disabled":!W||void 0,href:W?k:void 0,target:W?"_blank":void 0,rel:W?"noopener noreferrer":void 0,onClick:X=>{if(!W){X.preventDefault();return}Xe(X,k,{category:"portfolio",origin:"portfolio-rewards",payload:{pool:u,userDeposit:v}},n)},children:[Te("span",{className:"wp-tag-label",children:"Claim"}),Te(Pt,{size:12,className:"wp-tag-icon"})]})]})]},u.pool_address)})}),Te($o,{open:d.isOpen,status:d.status,positions:h,initialPoolAddress:d.initialPoolAddress,walletAddress:t,txHash:d.txHash,error:d.error,copied:d.copied,estimateWithdraw:d.hasEstimator?d.estimateWithdraw:void 0,onClose:d.closeWithdraw,onConfirm:d.confirmWithdraw,onCopyHash:d.copyHash})]})}import*as us from"react";import{Fragment as Jd,jsx as nt,jsxs as Xt}from"react/jsx-runtime";var Xd="Points";function ms(){let{env:e,walletAddress:t,onOutlink:n}=We(),o=Gt(),r=!!t,{getTokenImage:a}=Go(e,r),i=jo(),{positions:s,isLoading:c}=Uo(e,t,r),l=us.useMemo(()=>s.filter(h=>h.poolType!=="CrossPool").map(h=>({...h,icon:a(h.tokenAddress,h.tokenSymbol)})),[s,a]),d=`${Ht[e]}/point.png`,w=es[e];return Xt(Jd,{children:[nt(Ut,{sectionKey:"points",title:Xd,icon:d,isEmpty:l.length===0,loading:c,children:l.map(h=>{let m=h.price?ln(h.depositedRaw,h.decimals,h.price,o):null;return Xt("article",{className:"wp-item","data-side":"reward",children:[Xt("div",{className:"wp-item-body",children:[Xt("div",{className:"wp-item-line",children:[nt("span",{className:"wp-item-label",children:"Token"}),Xt("div",{className:"wp-svc-token",children:[h.icon&&nt("img",{className:"wp-svc-token-icon",src:h.icon,alt:""}),nt("span",{children:h.tokenSymbol})]})]}),Xt("div",{className:"wp-item-line",children:[nt("span",{className:"wp-item-label",children:"Deposited"}),Xt("div",{className:"wp-svc-token wp-svc-token--amount",children:[h.icon&&nt("img",{className:"wp-svc-token-icon",src:h.icon,alt:""}),Xt("div",{className:"wp-svc-amount",children:[nt("span",{className:"wp-svc-amount-main",children:At(h.depositedRaw,h.decimals)}),m&&nt("span",{className:"wp-item-usd",children:m})]})]})]})]}),nt("div",{className:"wp-item-tags",children:i.canWithdrawInline?nt("button",{type:"button",className:"wp-tag wp-tag--muted",onClick:()=>i.openWithdraw(h.poolAddress),children:nt("span",{className:"wp-tag-label",children:"Withdraw"})}):Xt("a",{className:"wp-tag wp-tag--muted",href:w,target:"_blank",rel:"noopener noreferrer",onClick:y=>Xe(y,w,{category:"portfolio",origin:"portfolio-points",payload:{position:h}},n),children:[nt("span",{className:"wp-tag-label",children:"Withdraw"}),nt(Pt,{size:12,className:"wp-tag-icon"})]})})]},h.poolAddress)})}),nt($o,{open:i.isOpen,status:i.status,positions:l,initialPoolAddress:i.initialPoolAddress,walletAddress:t,txHash:i.txHash,error:i.error,copied:i.copied,estimateWithdraw:i.hasEstimator?i.estimateWithdraw:void 0,onClose:i.closeWithdraw,onConfirm:i.confirmWithdraw,onCopyHash:i.copyHash})]})}import*as Xr from"react";import{useQuery as ep}from"@tanstack/react-query";var tp="wp:stake-info";function gs(e,t,n=!0){let o=n&&!!t,{data:r,...a}=ep({queryKey:[tp,e,t],queryFn:async({signal:s})=>{let c=await re("posa",e),l=await fetch(`${c}/stake/${t}`,{cache:"no-store",signal:s});if(!l.ok)throw new Error(`Stake info fetch failed: ${l.status}`);let d=await l.json();if(d.code!==0&&d.code!==200)throw new Error(`Stake info API error: ${d.code}`);return d},enabled:o,staleTime:0});return{stakeInfo:r?.data,...a}}import{useQuery as np}from"@tanstack/react-query";var op="wp:stake-rewards",rp=31;function hs(e,t,n=!0){let o=n&&!!t,{data:r,...a}=np({queryKey:[op,e,t],queryFn:async({signal:i})=>{let s=await re("posa",e),c=await fetch(`${s}/rewards/${t}?limit=${rp}`,{cache:"no-store",signal:i});if(!c.ok)throw new Error(`Stake rewards fetch failed: ${c.status}`);let l=await c.json();if(l.code!==0&&l.code!==200)throw new Error(`Stake rewards API error: ${l.code}`);return l.data?.data??[]},enabled:o,staleTime:0});return{latestReward:r?.[0]??null,aprAccrued:Da(r),...a}}import{useQuery as ip}from"@tanstack/react-query";var ap="wp:staking-onchain";function bs(e,t,n=!0){let o=n&&!!t&&!!e,{data:r,...a}=ip({queryKey:[ap,e],queryFn:async()=>{if(!t)throw new Error("stakingRewardsReader not provided");return t(e)},enabled:o,staleTime:0});return{onchain:r,...a}}import{useMemo as ws}from"react";import sp from"bignumber.js";function xs(e){return e?.trim().toUpperCase()==="CROSS"}function vs(e){return new sp(e||"0").isGreaterThan(0)}function Vo(e,t,n=!0){let{allPools:o}=On(e,n),r=ws(()=>{for(let l of o)for(let d of[l.deposit_token,...l.reward_tokens])if(xs(d?.symbol)&&vs(d.price))return d.price},[o]),a=n&&r===void 0,{tokens:i}=an(e,t,a),{statsMap:s}=sn(e,a),c=ye[e].cross;return ws(()=>{if(r)return r;let l=i.find(d=>d.chainId===c&&xs(d.symbol));if(l){let d=s.get(Lt(l.chainId,l.address));if(d&&vs(d.price))return d.price}return"0"},[r,i,s,c])}import cn from"bignumber.js";import{jsx as $t,jsxs as jt}from"react/jsx-runtime";var lp="CROSS Staking";function cp(e){if(!e)return"\u2014";let t=new cn(e);return t.isFinite()?`${t.toFormat(2,cn.ROUND_DOWN)}%`:"\u2014"}function ys(){let{env:e,walletAddress:t,onOutlink:n,stakingRewardsReader:o}=We(),r=Gt(),a=!!t,{stakeInfo:i,isLoading:s}=gs(e,t,a),{latestReward:c,aprAccrued:l,isLoading:d}=hs(e,t,a),{onchain:w}=bs(t,o,a),h=Vo(e,t,a),m=`${Ht[e]}/cross-staking.png`,y=ns[e],b=i?.total_stake??"0",u=Xr.useMemo(()=>w?new cn(w.earnedWei.toString()).shiftedBy(-18).toString(10):c?.cumulative_earned??i?.rewards_earned??"0",[w,c,i]),v=Xr.useMemo(()=>w?new cn(w.stakedWei.toString()).shiftedBy(-18):new cn(b),[w,b]),C=l!==void 0?new cn(l):void 0,p=i?.days_since_first_stake,T=C!==void 0&&C.isFinite()&&v.isGreaterThan(0)&&p!==null&&p!==void 0?C.div(v).times(365).div(Math.max(1,p)).times(100):void 0,k=!(new cn(b).isZero()&&new cn(u).isZero()),N=ln(b,0,h,r),S=ln(u,0,h,r);return $t(Ut,{sectionKey:"staking",title:lp,icon:m,iconFit:"contain",isEmpty:!k,loading:s||d,children:jt("article",{className:"wp-item","data-side":"stake",children:[jt("div",{className:"wp-item-body",children:[jt("div",{className:"wp-item-line",children:[$t("span",{className:"wp-item-label",children:"Staked"}),jt("div",{className:"wp-svc-amount",children:[jt("span",{className:"wp-svc-amount-main",children:[$r(b)," CROSS"]}),N&&$t("span",{className:"wp-item-usd",children:N})]})]}),jt("div",{className:"wp-item-line",children:[$t("span",{className:"wp-item-label",children:"Rewards Earned"}),jt("div",{className:"wp-svc-amount",children:[jt("span",{className:"wp-svc-amount-main",children:[$r(u)," CROSS"]}),S&&$t("span",{className:"wp-item-usd",children:S})]})]}),jt("div",{className:"wp-item-line",children:[$t("span",{className:"wp-item-label",children:"My APR"}),$t("span",{children:cp(T?.toString(10))})]})]}),$t("div",{className:"wp-item-tags",children:jt("a",{className:"wp-tag wp-tag--mint",href:y,target:"_blank",rel:"noopener noreferrer",onClick:G=>Xe(G,y,{category:"portfolio",origin:"portfolio-stake",payload:{stakeInfo:i}},n),children:[$t("span",{className:"wp-tag-label",children:"Manage"}),$t(Pt,{size:12,className:"wp-tag-icon"})]})})]})})}import*as Jr from"react";import{useQuery as dp}from"@tanstack/react-query";var pp="wp:game-swap-pools";function ks(e,t,n=!0){let o=n&&!!t,{data:r,...a}=dp({queryKey:[pp,e,t],queryFn:async({signal:i})=>{let s=await re("gameSwap",e),c=await fetch(`${s}/addresses/${t}/portfolio`,{cache:"no-store",signal:i});if(!c.ok)throw new Error(`Game-swap portfolio fetch failed: ${c.status}`);return(await c.json()).pools??[]},enabled:o,staleTime:0});return{pools:r??[],...a}}import{useQuery as fp}from"@tanstack/react-query";var up="wp:game-swap-lp-balances";function Ss(e,t,n,o){let r=[...n].map(c=>c.toLowerCase()).sort(),a=!!t&&r.length>0,{data:i,...s}=fp({queryKey:[up,e,t,r,!!o],queryFn:async({signal:c})=>{let l=o?await o(r):await rs(e,t,r,c),d={};for(let[w,h]of Object.entries(l))d[w.toLowerCase()]=h;return d},enabled:a,staleTime:0});return{balances:i??{},...s}}import Jt from"bignumber.js";import{jsx as wt,jsxs as Ft}from"react/jsx-runtime";var mp="Gametoken LP",Cs=18,gp=new Jt("0.0001");function Rs(e){return e?.trim().toUpperCase()==="CROSS"}function hp(e){return e&&e>0?e:Cs}function bp(e){let t=Rs(e.token_a?.symbol)&&!Rs(e.token_b?.symbol),n=t?e.reserve_a:e.reserve_b,o=hp(t?e.token_a?.decimals:e.token_b?.decimals),r=new Jt(n||"0").shiftedBy(-o);return!r.isFinite()||r.isLessThanOrEqualTo(0)?new Jt(0):r.times(2)}function wp(e,t,n){let o=e.token_a?.symbol?.trim()||"TOKEN",r=e.token_b?.symbol?.trim()||"CROSS",a=t?.decimals??Cs,i,s;if(t&&t.totalSupply&&t.totalSupply>BigInt(0)){let c=new Jt(t.balance.toString()),l=new Jt(t.totalSupply.toString()),d=c.div(l);i=d.times(100);let w=d.times(bp(e));if(w.isGreaterThan(0)){let h=new Jt(e.quote_usd??e.cross_usd??"0");s=h.isGreaterThan(0)?Jn(w.times(h),n):`${w.toFormat(4,Jt.ROUND_DOWN)} CROSS`}}return{pool:e,tokenASymbol:o,tokenBSymbol:r,info:t,lpAmountRaw:t?.balance.toString(),lpDecimals:a,sharePercent:i,valueText:s}}function Ts(){let{env:e,walletAddress:t,onOutlink:n,lpBalanceReader:o}=We(),r=Gt(),a=!!t,{pools:i,isLoading:s}=ks(e,t,a),c=Jr.useMemo(()=>i.map(b=>b.pair_address).filter(Boolean),[i]),{balances:l,isLoading:d}=Ss(e,t,c,o),w=`${Ht[e]}/dex.png`,h=Object.keys(l).length>0,m=Jr.useMemo(()=>{let b=i.map(u=>wp(u,l[u.pair_address?.toLowerCase()],r));return h?b.filter(u=>u.lpAmountRaw?new Jt(u.lpAmountRaw).shiftedBy(-u.lpDecimals).isGreaterThanOrEqualTo(gp):!1):b},[i,l,h,r]),y=b=>{let u=b.token_a?.address??b.pair_address;return`${os[e]}/tokens/${u}?trade=deposit`};return wt(Ut,{sectionKey:"gameSwap",title:mp,icon:w,iconFit:"contain",isEmpty:m.length===0,loading:s||d,children:m.map(b=>{let{pool:u}=b,v=y(u),C=`${b.tokenASymbol} / ${b.tokenBSymbol}`,p=u.token_a?.logo_url,T=u.token_b?.logo_url;return Ft("article",{className:"wp-item","data-side":"game-swap",children:[Ft("div",{className:"wp-item-body",children:[Ft("div",{className:"wp-item-line",children:[wt("span",{className:"wp-item-label",children:"Pool"}),Ft("div",{className:"wp-svc-token",children:[Ft("span",{className:"wp-token-stack","aria-hidden":!0,children:[p&&wt("img",{className:"wp-svc-token-icon",src:p,alt:""}),T&&wt("img",{className:"wp-svc-token-icon",src:T,alt:""})]}),wt("span",{children:C})]})]}),b.lpAmountRaw!==void 0&&Ft("div",{className:"wp-item-line",children:[wt("span",{className:"wp-item-label",children:"My LP"}),Ft("span",{children:[At(b.lpAmountRaw,b.lpDecimals)," LP"]})]}),b.sharePercent!==void 0&&Ft("div",{className:"wp-item-line",children:[wt("span",{className:"wp-item-label",children:"Pool Share"}),Ft("span",{children:[b.sharePercent.toFormat(2,Jt.ROUND_DOWN),"%"]})]}),b.valueText!==void 0&&Ft("div",{className:"wp-item-line",children:[wt("span",{className:"wp-item-label",children:"Value"}),wt("span",{children:b.valueText})]})]}),wt("div",{className:"wp-item-tags",children:Ft("a",{className:"wp-tag wp-tag--mint",href:v,target:"_blank",rel:"noopener noreferrer",onClick:k=>Xe(k,v,{category:"portfolio",origin:"portfolio-game-swap",payload:{pool:u}},n),children:[wt("span",{className:"wp-tag-label",children:"Manage"}),wt(Pt,{size:12,className:"wp-tag-icon"})]})})]},u.pair_address)})})}import Rn from"bignumber.js";import{useMemo as Cp}from"react";import{useQuery as xp}from"@tanstack/react-query";var vp="wp:forge-pools";function Ns(e,t,n=!0){let o=n&&!!t,{data:r,...a}=xp({queryKey:[vp,e,t],queryFn:async()=>{let s=await re("bondingCurve",e),c=await fetch(`${s}/v1/users/${t}/pools`,{cache:"no-store"});if(!c.ok)throw new Error(`forge pools fetch failed: ${c.status}`);return(await c.json()).data?.items??[]},enabled:o,staleTime:0}),i=r??[];return{pools:i,isEmpty:i.length===0,...a}}import{useQueries as yp}from"@tanstack/react-query";import{useMemo as kp}from"react";var Sp="wp:forge-token-detail";async function Rp(e,t){let n=await fetch(`${e}/v1/tokens/${t}`,{cache:"no-store"});return n.ok?(await n.json())?.data?.token??null:null}function Is(e,t,n=!0){let o=yp({queries:t.map(i=>({queryKey:[Sp,e,i],queryFn:async()=>Rp(await re("bondingCurve",e),i),enabled:n&&!!i,staleTime:3e4}))}),r=kp(()=>{let i=new Map;for(let s=0;s<o.length;s++){let c=o[s]?.data,l=t[s];c&&l&&i.set(l.toLowerCase(),c)}return i},[o,t]),a=o.some(i=>i.isLoading);return{detailMap:r,isLoading:a}}import{jsx as ot,jsxs as dn}from"react/jsx-runtime";var Tp="Forge",Es=18,Np="https://contents.crosstoken.io/wallet/token/images/FT.png";function Ip(e){if(!e||e==="0")return"0";let t=new Rn(e).shiftedBy(-Es);return t.isZero()?"0":t.isGreaterThanOrEqualTo(1)?t.toFormat(2,Rn.ROUND_DOWN):t.toFormat(4,Rn.ROUND_DOWN)}function Ep(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 Lp(e,t,n,o){let r=new Rn(n||"0");if(!r.isGreaterThan(0))return null;let a=new Rn(e.total_supply||"0"),i=new Rn(e.lp_balance||"0"),s=new Rn(t?.reserve_b||"0").shiftedBy(-Es);if(!a.isGreaterThan(0)||!i.isGreaterThan(0)||!s.isGreaterThan(0))return null;let c=s.times(2),d=i.div(a).times(c).times(r);return d.isFinite()?Jn(d,o):null}function Ls(){let{env:e,walletAddress:t,onOutlink:n}=We(),o=Gt(),r=!!t,{pools:a,isEmpty:i,isLoading:s}=Ns(e,t,r),c=Cp(()=>a.map(m=>m.token.address),[a]),{detailMap:l}=Is(e,c,r&&c.length>0),d=Vo(e,t,r),w=m=>`${ts[e]}/forge/token/${m.token.address}`,h=`${Ht[e]}/forge.png`;return ot(Ut,{sectionKey:"forge",title:Tp,icon:h,iconFit:"contain",isEmpty:i,loading:s,children:a.map(m=>{let y=l.get(m.token.address.toLowerCase()),b=y?.image_url||y?.image||m.token.image||Np,u=y?.symbol||m.token.symbol,v=w(m),C=Lp(m,y,d,o);return dn("a",{className:"wp-item","data-side":"lp",href:v,target:"_blank",rel:"noopener noreferrer",onClick:p=>Xe(p,v,{category:"portfolio",origin:"portfolio-forge",payload:{pool:m,tokenDetail:y}},n),children:[dn("div",{className:"wp-item-body",children:[dn("div",{className:"wp-item-line",children:[ot("span",{className:"wp-item-label",children:"Asset"}),dn("div",{className:"wp-svc-token",children:[ot("img",{className:"wp-svc-token-icon",src:b,alt:""}),ot("span",{children:u}),y?.name&&ot("span",{className:"wp-token-subtle",children:y.name})]})]}),dn("div",{className:"wp-item-line",children:[ot("span",{className:"wp-item-label",children:"LP Balance"}),ot("div",{className:"wp-svc-token wp-svc-token--amount",children:dn("div",{className:"wp-svc-amount",children:[ot("span",{className:"wp-svc-amount-main",children:Ip(m.lp_balance)}),C&&ot("span",{className:"wp-item-usd",children:C})]})})]}),dn("div",{className:"wp-item-line",children:[ot("span",{className:"wp-item-label",children:"Ownership"}),ot("span",{className:"wp-line-value",children:Ep(m.pool_ownership)})]})]}),ot("div",{className:"wp-item-tags",children:dn("span",{className:"wp-tag wp-tag--muted",children:[ot("span",{className:"wp-tag-label",children:"Withdraw"}),ot(Pt,{size:12,className:"wp-tag-icon"})]})})]},m.pair_address)})})}var qo=["rewards","points","staking","gameSwap","forge"];K(`.wp-fullscreen[data-theme=dark],.wp-embed[data-theme=dark]{--wp-bg: var(--ds-bg-default, #202530);--wp-header-bg: var(--ds-surface-default, #252b39);--wp-card: var(--ds-surface-medium, #252b39);--wp-control: #292f40;--wp-border: var(--ds-border-default, #292f40);--wp-panel-border: var(--ds-border-medium, rgba(255, 255, 255, .18));--wp-panel-shadow: 0px 4px 30px -1px rgba(0, 0, 0, .28);--wp-text: var(--ds-content-highest, #ffffff);--wp-text-60: var(--ds-content-high, rgba(255, 255, 255, .85));--wp-text-40: var(--ds-content-medium, rgba(255, 255, 255, .65));--wp-text-30: var(--ds-content-low, rgba(255, 255, 255, .4));--wp-chrome-text: #ffffff;--wp-tooltip-bg: #151a23;--wp-tooltip-text: #ffffff;--wp-mint: var(--ds-accent-primary-default, #00a0a2);--wp-green: var(--ds-accent-primary-default, #00a0a2);--wp-accent-soft: var(--ds-accent-primary-low, rgba(0, 160, 162, .14));--wp-red: var(--ds-system-red-default, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00;--wp-claim-primary: #9b8cef;--wp-claim-primary-text: #202530;--wp-claim-secondary-bg: var(--wp-control);--wp-claim-success: #00d4aa;--wp-claim-success-soft: rgba(0, 212, 170, .18);--wp-claim-error: #ff3aa3;--wp-claim-error-soft: rgba(255, 58, 163, .16)}.wp-fullscreen[data-theme=light],.wp-embed[data-theme=light]{--wp-bg: var(--ds-bg-dim, #f5f7fa);--wp-header-bg: var(--ds-surface-default, #ffffff);--wp-card: var(--ds-surface-default, #ffffff);--wp-control: var(--ds-surface-medium, #f5f7fa);--wp-border: var(--ds-border-default, rgba(0, 0, 0, .07));--wp-panel-border: var(--ds-border-medium, rgba(0, 0, 0, .18));--wp-panel-shadow: 0px 4px 30px -1px rgba(0, 0, 0, .15);--wp-text: var(--ds-content-highest, #000000);--wp-text-60: var(--ds-content-high, rgba(0, 0, 0, .85));--wp-text-40: var(--ds-content-medium, rgba(0, 0, 0, .65));--wp-text-30: var(--ds-content-low, rgba(0, 0, 0, .4));--wp-chrome-text: var(--ds-content-high, rgba(0, 0, 0, .85));--wp-card-shadow: none;--wp-tooltip-bg: #192023;--wp-tooltip-text: #ffffff;--wp-mint: var(--ds-accent-primary-default, #00a0a2);--wp-green: var(--ds-accent-primary-default, #00a0a2);--wp-accent-soft: var(--ds-accent-primary-low, #e7f9f8);--wp-red: var(--ds-system-red-default, #e70077);--wp-blue: #0488fc;--wp-purple: #7346f3;--wp-orange: #ff9d00;--wp-claim-primary: #7346f3;--wp-claim-primary-text: #ffffff;--wp-claim-secondary-bg: #ffffff;--wp-claim-success: #019d92;--wp-claim-success-soft: rgba(1, 157, 146, .15);--wp-claim-error: #e70077;--wp-claim-error-soft: rgba(231, 0, 119, .12)}.wp-fullscreen{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;z-index:50;background:var(--wp-bg);display:flex;flex-direction:column;overflow:hidden;font-family:inherit;font-feature-settings:"calt" 0,"lnum" 1,"pnum" 1;box-sizing:border-box;-webkit-font-smoothing:antialiased;color:var(--wp-chrome-text)}.wp-embed{width:100%;height:100%;min-height:0;background:var(--wp-bg);display:flex;flex-direction:column;overflow:hidden;position:relative;font-family:inherit;font-feature-settings:"calt" 0,"lnum" 1,"pnum" 1;box-sizing:border-box;-webkit-font-smoothing:antialiased;color:var(--wp-chrome-text)}.wp-overlay{position:fixed;inset:0;z-index:49;background:#0009}.wp-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:73px;padding:24px;position:relative;border-bottom:1px solid var(--wp-border);background:var(--wp-header-bg);color:var(--wp-chrome-text);flex-shrink:0;box-sizing:border-box}.wp-fullscreen .wp-header{height:60px;min-height:60px;padding:11px 20px;border-bottom:none;background:transparent}.wp-fullscreen .wp-header-btn{width:22px;height:22px;color:var(--wp-chrome-text)}.wp-fullscreen .wp-header-btn:hover{color:var(--wp-chrome-text)}.wp-header-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--ds-content-low, rgba(0, 0, 0, .4));flex-shrink:0;transition:color .15s ease}.wp-header-btn:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wp-header-edge{display:flex;align-items:center;width:24px;min-width:24px}.wp-header-edge--right{justify-content:flex-end}.wp-header-edge--right .wp-header-btn{position:absolute;top:24px;right:24px}.wp-header-spacer{display:block;width:24px;height:24px}.wp-header-avatar{width:38px;height:38px;flex-shrink:0;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--wp-header-avatar-bg)}.wp-header-avatar-img{width:30px;height:30px;object-fit:cover;display:block}.wp-fullscreen[data-theme=dark] .wp-header-avatar,.wp-embed[data-theme=dark] .wp-header-avatar{--wp-header-avatar-bg: hsl(221.3 24.6% 25.5%)}.wp-fullscreen[data-theme=light] .wp-header-avatar,.wp-embed[data-theme=light] .wp-header-avatar{--wp-header-avatar-bg: rgba(18, 18, 18, .1)}.wp-refresh-btn{position:relative}.wp-refresh-badge{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--wp-mint);color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center}.wp-spin-once{animation:wp-spin-once .6s ease-in-out}@keyframes wp-spin-once{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wp-header-title{flex:1;font-family:inherit;font-size:18px;font-weight:600;line-height:1.5;letter-spacing:-.01em;text-align:center;color:var(--ds-content-highest, #000000);margin:0}.wp-header-account{flex:1;display:flex;align-items:center;gap:12px;min-width:0}.wp-header-account-meta{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:2px}.wp-header-wallet-name{min-width:0;font-family:inherit;font-size:15px;font-weight:600;line-height:1.4;letter-spacing:0;color:var(--wp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-header-address-btn{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;max-width:100%;padding:0;border:0;background:transparent;cursor:pointer;font:inherit}.wp-header-address{min-width:0;font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;color:var(--wp-text-40);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-header-address-copy{display:inline-flex;align-items:center;flex-shrink:0;color:var(--wp-text-40);transition:color .15s ease}.wp-header-address-btn:hover .wp-header-address-copy{color:var(--wp-text-60)}.wp-header-address-copy[data-copied=true]{color:var(--wp-mint)}.wp-top{flex-shrink:0;padding:0 16px 16px;display:flex;flex-direction:column;gap:16px}.wp-identity{display:flex;flex-direction:column;gap:8px}.wp-address{display:inline-flex;align-items:center;gap:8px}.wp-address-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-address-chevron{display:inline-flex;align-items:center;color:var(--wp-text-40)}.wp-total{font-size:28px;font-weight:600;line-height:1.3;color:var(--wp-text);margin:0}.wp-asset{display:flex;flex-direction:column;gap:8px}.wp-asset-head{display:flex;align-items:center;gap:4px}.wp-asset-head-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-asset-head-icon{display:inline-flex;color:var(--wp-text-40)}.wp-bar{display:flex;height:20px;border-radius:4px;overflow:hidden}.wp-bar-seg{display:flex;align-items:center;justify-content:center;min-width:8px}.wp-bar-seg-pct{font-size:10px;font-weight:400;line-height:1.3;color:#fff;white-space:nowrap}.wp-legend{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.wp-legend-item{display:flex;align-items:center;gap:4px}.wp-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.wp-legend-label{font-size:12px;font-weight:400;line-height:1.4;color:var(--wp-text-40)}.wp-tabs{flex-shrink:0;padding:8px 16px}.wp-tabs-inner{display:flex;align-items:center;padding:0 2px}.wp-tabs-list{display:flex;gap:20px;flex:1}.wp-tab{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:44px;padding-top:12px;background:transparent;border:none;cursor:pointer}.wp-tab-text{font-size:14px;font-weight:600;line-height:1.4;color:var(--wp-text-30);white-space:nowrap}.wp-tab[data-active=true] .wp-tab-text{color:var(--wp-mint)}.wp-tab-bar{width:20px;height:4px;border-radius:2px;background:var(--wp-mint);opacity:0}.wp-tab[data-active=true] .wp-tab-bar{opacity:1}.wp-tabs-filter-wrap{position:relative;display:flex;align-items:center;width:44px;height:44px;flex-shrink:0}.wp-tabs-filter-grad{position:absolute;inset:0;background:linear-gradient(to left,var(--wp-bg) 74%,transparent);pointer-events:none}.wp-tabs-filter{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--wp-text-40)}.wp-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--wp-border) transparent}.wp-body::-webkit-scrollbar{width:4px}.wp-body::-webkit-scrollbar-track{background:transparent}.wp-body::-webkit-scrollbar-thumb{background:var(--wp-border);border-radius:4px}.wp-body-inner{padding:16px 16px 32px;display:flex;flex-direction:column;gap:32px}.wp-fullscreen .wp-body-inner{padding-top:8px;gap:24px}.wp-summary-card{display:flex;flex-direction:column;gap:8px;width:100%;padding:0;border-radius:0;background:transparent;box-shadow:none;box-sizing:border-box}.wp-summary-head{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:4px}.wp-summary-label{font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0;color:var(--wp-text-40);white-space:nowrap}.wp-address{display:inline-flex;align-items:center;gap:8px;min-width:0}.wp-address-avatar{width:16px;height:16px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 68% 34%,#ff78d1 0 18%,transparent 19%),radial-gradient(circle at 34% 66%,#00d4aa 0 20%,transparent 21%),linear-gradient(135deg,#7346f3,#0488fc)}.wp-address-label{font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;color:var(--wp-text-40);white-space:nowrap}.wp-address-chevron{display:inline-flex;align-items:center;color:var(--wp-text-40);flex-shrink:0}.wp-summary-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;background:#019d921a;color:var(--wp-mint);font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;white-space:nowrap}.wp-summary-estimate{position:relative;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.wp-estimate-info{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--wp-text-40);cursor:help}.wp-estimate-tooltip{position:absolute;top:calc(100% + 8px);left:0;right:auto;z-index:3;display:flex;flex-direction:column;gap:8px;width:min(280px,calc(100vw - 48px));padding:12px;border-radius:8px;background:var(--wp-tooltip-bg);box-shadow:0 12px 32px #0000003d;color:var(--wp-tooltip-text);font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-4px);visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility .15s ease}.wp-estimate-tooltip-title{display:block;font-size:12px;font-weight:600;line-height:1.3}.wp-estimate-tooltip-group{display:flex;flex-direction:column;gap:4px}.wp-estimate-tooltip-item{display:block;color:#ffffffc7}.wp-estimate-tooltip-item:before{content:"- "}.wp-estimate-info:hover .wp-estimate-tooltip,.wp-estimate-info:focus .wp-estimate-tooltip,.wp-estimate-info:focus-visible .wp-estimate-tooltip{opacity:1;transform:translateY(0);visibility:visible}.wp-total{font-family:var( --wp-total-font-family, Sora, Inter, system-ui, -apple-system, sans-serif );font-size:36px;font-weight:600;line-height:1.25;letter-spacing:0;color:var(--wp-text);margin:0}.wp-svc-card{display:flex;flex-direction:column;gap:12px;width:100%}.wp-svc-card-head{display:flex;align-items:center;gap:6px}.wp-svc-card-icon{width:24px;height:24px;border-radius:4px;flex-shrink:0;object-fit:cover}.wp-svc-card-title{font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0;color:var(--wp-text-60);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-svc-items{display:flex;flex-direction:column;gap:8px;width:100%;padding:0;border-radius:0;background:transparent;box-shadow:none;box-sizing:border-box}.wp-item{position:relative;display:flex;flex-direction:column;gap:20px;width:100%;padding:12px;border-radius:12px;background:var(--wp-card);box-shadow:var(--wp-card-shadow, none);box-sizing:border-box;color:inherit;text-decoration:none;cursor:pointer;outline:none;transition:opacity .15s ease}.wp-item+.wp-item{padding-top:12px;border-top:0}.wp-item:hover{opacity:.88}.wp-item-body{display:flex;flex-direction:column;gap:12px;min-width:0}.wp-order-head{display:flex;align-items:center;width:100%}.wp-item-line{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:21px;min-width:0}.wp-item-label{flex-shrink:0;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--wp-text-30);white-space:nowrap}.wp-line-value,.wp-order-side{min-width:0;overflow:hidden;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--wp-text-60);text-align:right;text-overflow:ellipsis;white-space:nowrap}.wp-order-side--buy{color:var(--wp-mint)}.wp-order-side--sell{color:var(--wp-red)}.wp-svc-token{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;min-height:21px}.wp-svc-token>span{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--wp-text-60);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-svc-token-icon{width:16px;height:16px;border-radius:50%;flex-shrink:0;object-fit:cover}.wp-svc-token--amount{align-items:flex-start}.wp-svc-token--amount>.wp-svc-token-icon{margin-top:2.5px}.wp-token-stack{display:inline-flex;align-items:center;justify-content:flex-end;width:29px;min-width:29px;overflow:visible}.wp-token-stack .wp-svc-token-icon+.wp-svc-token-icon{margin-left:-3.5px}.wp-token-subtle,.wp-item-usd{color:var(--wp-text-30)!important}.wp-svc-amount{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:1px;min-width:0}.wp-svc-amount-main{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--wp-text-60);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.wp-svc-amount .wp-item-usd{font-size:12px;font-weight:500;line-height:1.35}.wp-order-token{display:flex;align-items:center;gap:8px;min-width:0}.wp-order-token .wp-svc-token-icon{width:32px;height:32px}.wp-order-token-meta{display:flex;min-width:0;flex-direction:column;justify-content:center}.wp-order-token-symbol{overflow:hidden;color:var(--wp-text-60);font-size:14px;font-weight:500;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.wp-order-token-pair{overflow:hidden;color:var(--wp-text-30);font-size:12px;font-weight:500;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.wp-item-tags{display:flex;align-items:stretch;gap:8px;width:100%}.wp-tag{appearance:none;display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;gap:0;min-width:0;min-height:33px;padding:6px 10px;border-radius:6px;border:0;background:var(--wp-control);font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:0;color:var(--wp-text-40);text-align:center;text-decoration:none;white-space:nowrap;box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}a.wp-tag,button.wp-tag{cursor:pointer}.wp-tag:hover{background:var(--wp-control);transform:none}.wp-tag:focus-visible{outline:2px solid var(--wp-mint);outline-offset:2px}.wp-tag[aria-disabled=true],.wp-tag[data-disabled]{cursor:default;opacity:.48;pointer-events:none}.wp-tag-label{display:inline-flex;align-items:center}.wp-tag-icon{display:none}.wp-tag:hover .wp-tag-icon{transform:none}.wp-tag--mint{color:var(--wp-mint);background:var(--wp-accent-soft)}.wp-tag--mint:hover{background:var(--wp-accent-soft)}.wp-tag--muted{color:var(--wp-text-40)}.wp-body-inner[data-empty]{min-height:100%;box-sizing:border-box;justify-content:center}.wp-portfolio-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:280px;padding:32px 24px;text-align:center}.wp-portfolio-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:6px;border-radius:50%;background:var(--wp-card);box-shadow:var(--wp-card-shadow, none);color:var(--wp-text-30)}.wp-portfolio-empty-title{margin:0;font-size:15px;font-weight:600;line-height:1.3;color:var(--wp-text-60)}.wp-portfolio-empty-desc{margin:0;font-size:13px;font-weight:400;line-height:1.4;color:var(--wp-text-30)}.wp-portfolio-loading{display:flex;align-items:center;justify-content:center;min-height:280px;padding:32px 24px}.wp-portfolio-spinner{width:22px;height:22px;border:2px solid var(--wp-border);border-top-color:var(--wp-mint);border-radius:50%;animation:wp-claim-spin .8s linear infinite}.wp-claim-overlay{position:absolute;inset:0;z-index:8;display:flex;align-items:flex-end;justify-content:center;background:#00000094;box-sizing:border-box}.wp-claim-sheet{display:flex;flex-direction:column;width:100%;max-width:375px;max-height:calc(100% - 24px);overflow:hidden;border-radius:24px 24px 0 0;background:var(--wp-bg);color:var(--wp-text);box-shadow:0 -18px 48px #00000042;animation:wp-claim-slide-up .22s ease-out}@keyframes wp-claim-slide-up{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.wp-claim-grabber{display:flex;align-items:flex-start;justify-content:center;height:38px;min-height:38px;padding-top:12px;box-sizing:border-box}.wp-claim-grabber span{display:block;width:52px;height:5px;border-radius:999px;background:var(--wp-control)}.wp-claim-content{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;padding:20px;box-sizing:border-box}.wp-claim-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;flex-shrink:0}.wp-claim-icon--success{background:var(--wp-claim-success-soft);color:var(--wp-claim-success)}.wp-claim-icon--pending{background:#9b8cef29;color:var(--wp-claim-primary)}.wp-claim-icon--error{background:var(--wp-claim-error-soft);color:var(--wp-claim-error);font-size:30px;font-weight:600;line-height:1}.wp-claim-icon--token{background:#00d4aa29}.wp-claim-icon--token img{width:48px;height:48px;border-radius:50%;object-fit:cover}.wp-claim-icon--token span{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--wp-mint);color:#101820;font-size:18px;font-weight:600}.wp-claim-spinner{width:36px;height:36px;border-radius:50%;border:3px solid rgba(155,140,239,.28);border-top-color:var(--wp-claim-primary);animation:wp-claim-spin .8s linear infinite}@keyframes wp-claim-spin{to{transform:rotate(360deg)}}.wp-claim-copy{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;text-align:center}.wp-claim-title{margin:0;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--wp-text)}.wp-claim-desc{max-width:335px;margin:0;font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0;color:var(--wp-text-40)}.wp-claim-heading{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%}.wp-claim-error-message{margin:0;color:var(--wp-claim-error);font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0}.wp-claim-reward-card{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:60px;padding:16px;border-radius:8px;background:var(--wp-card);box-sizing:border-box}.wp-claim-reward-token{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0;overflow:hidden;background:var(--wp-control)}.wp-claim-reward-token img{width:28px;height:28px;object-fit:cover}.wp-claim-reward-token span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--wp-mint);color:#101820;font-size:13px;font-weight:600;line-height:1}.wp-claim-reward-symbol{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--wp-text);font-size:18px;font-weight:600;line-height:1.3;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.wp-claim-reward-amount{flex-shrink:0;color:var(--wp-text);font-size:20px;font-weight:600;line-height:1.3;letter-spacing:0;white-space:nowrap}.wp-claim-account-card{display:flex;flex-direction:column;gap:12px;width:100%;padding:16px;border-radius:8px;background:var(--wp-card);box-sizing:border-box}.wp-claim-account-row{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;min-height:40px}.wp-claim-account-row>span{flex-shrink:0;color:var(--wp-text-40);font-size:14px;font-weight:400;line-height:1.3;letter-spacing:0;white-space:nowrap}.wp-claim-account{display:flex;align-items:center;gap:8px;min-width:0}.wp-claim-account strong{overflow:hidden;color:var(--wp-text);font-size:15px;font-weight:600;line-height:1.6;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.wp-claim-account-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 30% 28%,#d87aff 0 12%,transparent 13%),radial-gradient(circle at 68% 28%,#f0a1ff 0 12%,transparent 13%),radial-gradient(circle at 32% 70%,#b561e7 0 13%,transparent 14%),radial-gradient(circle at 70% 70%,#d4a2ff 0 13%,transparent 14%),radial-gradient(circle at 50% 50%,#8c4fc4 0 18%,transparent 19%),#4a315f;box-shadow:inset 0 0 0 3.37px var(--wp-control)}.wp-claim-divider{display:block;width:100%;height:1px;background:var(--wp-border)}.wp-claim-detail-list{display:flex;flex-direction:column;gap:8px;width:100%}.wp-claim-detail-row{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:20px}.wp-claim-detail-row>span{min-width:0;color:var(--wp-text-40);font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0;white-space:nowrap}.wp-claim-detail-row--sub>span:before{content:"";display:inline-block;width:3px;height:3px;margin:0 8px 3px;background:currentColor}.wp-claim-detail-row strong{min-width:0;overflow:hidden;color:var(--wp-text);font-size:13px;font-weight:400;line-height:1.3;letter-spacing:0;text-align:right;text-overflow:ellipsis;white-space:nowrap}.wp-claim-list{display:flex;flex-direction:column;gap:8px;width:100%;padding-bottom:8px}.wp-claim-list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:8px 16px;border-radius:8px;background:var(--wp-card);box-sizing:border-box}.wp-claim-list-item>span{flex-shrink:0;font-size:14px;font-weight:400;line-height:1.3;color:var(--wp-text-40);white-space:nowrap}.wp-claim-list-item strong{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;overflow:hidden;color:var(--wp-text);font-size:14px;font-weight:400;line-height:1.3;text-align:right;text-overflow:ellipsis;white-space:nowrap}.wp-claim-list-item img{width:16px;height:16px;border-radius:50%;flex-shrink:0}.wp-claim-hash{appearance:none;display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;padding:0;border:none;background:transparent;color:var(--wp-text);cursor:pointer;font:inherit}.wp-claim-hash svg{flex-shrink:0;color:var(--wp-text-60)}.wp-claim-gas-card{display:flex;flex-direction:column;gap:4px;width:100%;padding:14px 16px;border-radius:8px;border:1px solid var(--wp-border);background:var(--wp-card);box-sizing:border-box}.wp-claim-gas-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:28px}.wp-claim-gas-row>span{min-width:0;font-size:12px;font-weight:400;line-height:1.3;color:var(--wp-text-40)}.wp-claim-gas-row strong{min-width:0;overflow:hidden;color:var(--wp-text);font-size:12px;font-weight:400;line-height:1.3;text-align:right;text-overflow:ellipsis;white-space:nowrap}.wp-claim-gas-row--primary{min-height:32px}.wp-claim-gas-row--primary>span,.wp-claim-gas-row--primary strong{font-size:14px;color:var(--wp-text)}.wp-claim-fee-label{position:relative;display:inline-flex;align-items:center;text-decoration:underline dotted;text-underline-offset:3px;cursor:help;overflow:visible!important}.wp-claim-fee-tooltip{position:absolute;left:0;bottom:calc(100% + 8px);z-index:2;width:min(260px,calc(100vw - 64px));padding:10px 12px;border-radius:8px;background:var(--wp-tooltip-bg);color:var(--wp-tooltip-text);box-shadow:0 12px 32px #0000003d;font-size:11px;font-weight:400;line-height:1.4;text-align:left;text-decoration:none;white-space:normal;opacity:0;pointer-events:none;transform:translateY(4px);visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility .15s ease}.wp-claim-fee-label:hover .wp-claim-fee-tooltip,.wp-claim-fee-label:focus .wp-claim-fee-tooltip,.wp-claim-fee-label:focus-visible .wp-claim-fee-tooltip{opacity:1;transform:translateY(0);visibility:visible}.wp-claim-actions{display:flex;align-items:center;gap:8px;width:100%}.wp-claim-primary,.wp-claim-secondary{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0;height:52px;padding:0 24px;border:none;border-radius:40px;font-family:inherit;font-size:15px;font-weight:600;line-height:1.3;letter-spacing:0;white-space:nowrap;cursor:pointer}.wp-claim-primary{background:var(--wp-claim-primary);color:var(--wp-claim-primary-text)}.wp-claim-primary:disabled{cursor:default;opacity:.72}.wp-claim-secondary{background:var(--wp-claim-secondary-bg, var(--wp-control));color:var(--wp-claim-primary)}.wp-claim-actions[data-count="2"] .wp-claim-primary{flex:1 1 0}.wp-claim-actions[data-count="2"] .wp-claim-secondary{flex:0 0 120px}.wp-claim-button-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(32,37,48,.28);border-top-color:var(--wp-claim-primary-text);animation:wp-claim-spin .8s linear infinite}.wp-claim-home-indicator{display:flex;align-items:flex-end;justify-content:center;height:34px;min-height:34px;padding-bottom:8px;box-sizing:border-box}.wp-claim-home-indicator span{display:block;width:134px;height:5px;border-radius:16px;background:var(--wp-text-40)}@media(max-width:359px){.wp-header{gap:12px;padding:0 12px}.wp-total{font-size:24px}.wp-body-inner{padding:0 12px 128px;gap:20px}.wp-svc-items,.wp-claim-content{padding:18px 14px}.wp-item-line{gap:10px}.wp-svc-token>span{max-width:168px}}.wp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.wi-drawer-content .wp-header,.wi-portfolio-body .wp-header{padding:16px}.wi-drawer-content .wp-header-edge--right .wp-header-btn,.wi-portfolio-body .wp-header-edge--right .wp-header-btn{top:16px;right:16px}.wp-withdraw-amount-card{display:flex;flex-direction:column;gap:12px;width:100%;padding:16px;border-radius:8px;background:var(--wp-card);box-sizing:border-box}.wp-withdraw-amount-row{display:flex;align-items:center;gap:8px;width:100%}.wp-withdraw-input{flex:1 1 auto;min-width:0;padding:0;border:none;background:transparent;color:var(--wp-text);font-family:inherit;font-size:24px;font-weight:600;line-height:1.3;letter-spacing:0;text-align:left;outline:none}.wp-withdraw-input::placeholder{color:var(--wp-text-30)}.wp-withdraw-input[aria-invalid=true]{color:var(--wp-claim-error)}.wp-withdraw-input-symbol{flex-shrink:0;color:var(--wp-text-40);font-size:15px;font-weight:600;line-height:1.3}.wp-withdraw-quick-row{display:flex;align-items:center;gap:8px;width:100%}.wp-withdraw-quick{appearance:none;flex:1 1 0;min-width:0;height:32px;padding:0 10px;border:1px solid var(--wp-border);border-radius:999px;background:transparent;color:var(--wp-text-60);font-family:inherit;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer}.wp-withdraw-quick:hover:not(:disabled){border-color:var(--wp-claim-primary);color:var(--wp-claim-primary)}.wp-withdraw-quick:disabled{cursor:default;opacity:.5}.wp-withdraw-content{overflow-y:auto}.wp-withdraw-token-list{display:flex;flex-direction:column;gap:8px;width:100%;max-height:216px;overflow-y:auto}.wp-withdraw-token{appearance:none;display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 12px;border:1px solid var(--wp-border);border-radius:8px;background:var(--wp-card);color:var(--wp-text);font-family:inherit;text-align:left;cursor:pointer;box-sizing:border-box}.wp-withdraw-token[data-selected]{border-color:var(--wp-claim-primary);box-shadow:inset 0 0 0 1px var(--wp-claim-primary)}.wp-withdraw-token:disabled{cursor:default;opacity:.6}.wp-withdraw-token-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0;overflow:hidden;background:var(--wp-control)}.wp-withdraw-token-icon img{width:28px;height:28px;object-fit:cover}.wp-withdraw-token-icon span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--wp-mint);color:#101820;font-size:13px;font-weight:600;line-height:1}.wp-withdraw-token-symbol{flex:1 1 auto;min-width:0;overflow:hidden;font-size:15px;font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.wp-withdraw-token-amount{flex-shrink:0;color:var(--wp-text-40);font-size:13px;font-weight:500;line-height:1.3;white-space:nowrap}
|
|
8
8
|
`);import{Fragment as Fp,jsx as le,jsxs as en}from"react/jsx-runtime";var ei=15,Pp="wp:";function Wn({env:e,theme:t="light",walletAddress:n,walletName:o,onBack:r,showHeader:a=!0,variant:i="embed",className:s,onOutlink:c,lpBalanceReader:l,stakingRewardsReader:d,sendTransaction:w,estimateGas:h,conversionRatio:m,currencySymbol:y,sections:b}){let u=_e(e),v=ve.useCallback(Q=>!b||b.includes(Q),[b]),C=!!n,p=Ap(),[T,k]=ve.useState({}),N=ve.useCallback((Q,de)=>{k(Ie=>{let Ee=Ie[Q];return Ee&&Ee.loading===de.loading&&Ee.empty===de.empty?Ie:{...Ie,[Q]:de}})},[]),S=ve.useCallback(Q=>{k(de=>{if(!(Q in de))return de;let Ie={...de};return delete Ie[Q],Ie})},[]),G=ve.useMemo(()=>({report:N,unregister:S}),[N,S]),[O,H]=ve.useState(ei),[B,ie]=ve.useState(!1),[I,oe]=ve.useState(!1),W=ve.useRef(void 0),V=ve.useCallback(()=>{p.invalidateQueries({predicate:Q=>typeof Q.queryKey[0]=="string"&&Q.queryKey[0].startsWith(Pp)})},[p]),he=ve.useCallback(()=>{V(),ie(!0),setTimeout(()=>ie(!1),600),H(ei)},[V]);ve.useEffect(()=>{if(!C)return;let Q=setInterval(()=>{H(de=>de<=1?(he(),ei):de-1)},1e3);return()=>clearInterval(Q)},[C,he]);let X=ve.useCallback(()=>{r?.()},[r]),U=C?Zt(u,n,{size:64}):void 0,fe=ve.useCallback(async()=>{if(!(I||!n))try{await navigator.clipboard.writeText(n),oe(!0),clearTimeout(W.current),W.current=setTimeout(()=>oe(!1),2e3)}catch{}},[n,I]);ve.useEffect(()=>()=>clearTimeout(W.current),[]);let ce=ve.useMemo(()=>({env:u,theme:t,open:!0,walletAddress:n,close:X,onOutlink:c,lpBalanceReader:l,stakingRewardsReader:d,sendTransaction:w,estimateGas:h,conversionRatio:m,currencySymbol:y}),[u,t,n,X,c,l,d,w,h,m,y]),$=qo.filter(v),Ne=$.length>0&&$.every(Q=>{let de=T[Q];return!!de&&!de.loading}),F=Ne&&$.every(Q=>T[Q]?.empty),J=$.some(Q=>{let de=T[Q];return!!de&&!de.empty}),ue=$.length>0&&!Ne&&!J,Le=en(Fp,{children:[a&&en("div",{className:"wp-header",children:[en("div",{className:"wp-header-account",children:[r&&le("button",{type:"button",className:"wp-header-btn","aria-label":"Back",onClick:r,children:le(qa,{})}),le("span",{className:"wp-header-avatar","aria-hidden":!0,children:U&&le("img",{src:U,alt:"",className:"wp-header-avatar-img",draggable:!1})}),(o||n)&&en("div",{className:"wp-header-account-meta",children:[o&&le("span",{className:"wp-header-wallet-name",title:o,children:o}),n&&en("button",{type:"button",className:"wp-header-address-btn",onClick:fe,"aria-label":"Copy wallet address",children:[le("span",{className:"wp-header-address",children:Wo(n)}),le("span",{className:"wp-header-address-copy","data-copied":I,children:I?le(hn,{size:14}):le(Vn,{size:14})})]})]})]}),en("button",{type:"button",className:"wp-header-btn wp-refresh-btn","aria-label":"Refresh portfolio",onClick:he,children:[le(Ka,{className:B?"wp-spin-once":void 0}),C&&le("span",{className:"wp-refresh-badge",children:O})]})]}),le("div",{className:"wp-body",children:en("div",{className:"wp-body-inner","data-empty":F||void 0,children:[v("rewards")&&le(fs,{}),v("points")&&le(ms,{}),v("staking")&&le(ys,{}),v("gameSwap")&&le(Ts,{}),v("forge")&&le(Ls,{}),ue&&le("div",{className:"wp-portfolio-loading",role:"status","aria-label":"Loading portfolio",children:le("span",{className:"wp-portfolio-spinner","aria-hidden":!0})}),F&&en("div",{className:"wp-portfolio-empty",role:"status",children:[le("span",{className:"wp-portfolio-empty-icon","aria-hidden":!0,children:en("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round",children:[le("path",{d:"M20 7H5a2 2 0 0 1-2-2 2 2 0 0 1 2-2h13v4"}),le("path",{d:"M3 5v13a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1"}),le("circle",{cx:"16.5",cy:"13.5",r:"1",fill:"currentColor",stroke:"none"})]})}),le("p",{className:"wp-portfolio-empty-title",children:"No assets yet"}),le("p",{className:"wp-portfolio-empty-desc",children:"Assets you hold across CROSS services will appear here."})]})]})})]});return le(eo.Provider,{value:ce,children:le(jr.Provider,{value:G,children:i==="none"?Le:le("div",{className:se(i==="fullscreen"?"wp-fullscreen":"wp-embed",s),"data-theme":t,children:Le})})})}import{jsx as ti,jsxs as As}from"react/jsx-runtime";function Ps({className:e}){let{env:t,theme:n,walletAddress:o,close:r,onOutlink:a,lpBalanceReader:i,stakingRewardsReader:s}=We();return As(Ko.Portal,{children:[ti(Ko.Overlay,{className:"wp-overlay"}),As(Ko.Content,{className:se("wp-fullscreen",e),"data-theme":n,children:[ti(Ko.Title,{className:"wp-sr-only",children:"Portfolio"}),ti(Wn,{env:t,theme:n,walletAddress:o,onBack:r,variant:"none",onOutlink:a,lpBalanceReader:i,stakingRewardsReader:s})]})]})}import{jsx as Fs}from"react/jsx-runtime";function _p({env:e,theme:t="light",walletAddress:n,open:o,onOpenChange:r,onOutlink:a,lpBalanceReader:i,stakingRewardsReader:s,sendTransaction:c,estimateGas:l,conversionRatio:d,currencySymbol:w,children:h}){let m=_e(e),y=o!==void 0,[b,u]=Cn.useState(!1),v=y?o:b,C=Cn.useCallback(k=>{y||u(k),r?.(k)},[y,r]),p=Cn.useCallback(()=>C(!1),[C]),T=Cn.useMemo(()=>({env:m,theme:t,open:v,walletAddress:n,close:p,onOutlink:a,lpBalanceReader:i,stakingRewardsReader:s,sendTransaction:c,estimateGas:l,conversionRatio:d,currencySymbol:w}),[m,t,v,n,p,a,i,s,c,l,d,w]);return Fs(eo.Provider,{value:T,children:Fs(Bp.Root,{direction:"bottom",open:v,onOpenChange:C,noBodyStyles:!0,children:h})})}var Bs=Object.assign(_p,{Trigger:ja,Content:Ps});import*as A from"react";import{createPortal as Dn}from"react-dom";import Vt from"bignumber.js";import{jsx as xt,jsxs as Mp}from"react/jsx-runtime";function _s({size:e=20,className:t}){return Mp("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,"aria-hidden":"true",children:[xt("circle",{cx:"9",cy:"9",r:"6",stroke:"currentColor",strokeWidth:1.7}),xt("path",{d:"m17 17-3.2-3.2",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round"})]})}function Ms({size:e=16,className:t}){return xt("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:xt("path",{d:"M2.667 8a5.333 5.333 0 1 0 1.562-3.771L2.667 5.79M2.667 2.667v3.124h3.124M8 5.333V8l1.667 1",stroke:"currentColor",strokeWidth:1.333,strokeLinecap:"round",strokeLinejoin:"round"})})}function Os({size:e=16,className:t}){return xt("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:xt("path",{d:"M2.667 4h4M9.333 4h4M6.667 2.667v2.666M2.667 12h4M9.333 12h4M9.333 10.667v2.666M2.667 8h1.666M7 8h6.333M4.333 6.667v2.666",stroke:"currentColor",strokeWidth:1.333,strokeLinecap:"round",strokeLinejoin:"round"})})}function Ws({size:e=20,className:t}){return xt("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:xt("path",{d:"M10 4.167v11.666M4.167 10 10 15.833 15.833 10",stroke:"currentColor",strokeWidth:1.667,strokeLinecap:"round",strokeLinejoin:"round"})})}function Ds({size:e=16,className:t}){return xt("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,"aria-hidden":"true",children:xt("path",{d:"M3.333 8h9.334M8.667 4l4 4-4 4",stroke:"currentColor",strokeWidth:1.333,strokeLinecap:"round",strokeLinejoin:"round"})})}function zs({size:e=12,className:t}){return xt("svg",{width:e,height:e,viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:t,children:xt("path",{d:"M3.5 2 1.5 4l2 2M1.5 4h9M8.5 10l2-2-2-2M10.5 8h-9",stroke:"currentColor",strokeWidth:1.2,strokeLinecap:"round",strokeLinejoin:"round"})})}import*as P from"react";import Us from"bignumber.js";function Gs(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Hs(e){return!e.isFinite()||e.isNaN()||e.lte(0)?"":e.decimalPlaces(6,Us.ROUND_DOWN).toFixed()}function Op(e){return e.fromToken.symbol.toLowerCase()===e.toToken.symbol.toLowerCase()||e.fromToken.chainId===e.toToken.chainId&&e.fromToken.address.toLowerCase()===e.toToken.address.toLowerCase()}function Wp(e){let t=e.fromToken.priceUsd,n=e.toToken.priceUsd,o=e.lastChangedBy==="to"?e.toAmount:e.fromAmount,r=new Us(o||"0");return!r.isFinite()||r.isNaN()||r.lte(0)?{fromAmount:e.fromAmount,toAmount:e.toAmount}:Gs(t)&&Gs(n)?e.lastChangedBy==="to"?{fromAmount:Hs(r.multipliedBy(n).dividedBy(t))}:{toAmount:Hs(r.multipliedBy(t).dividedBy(n))}:Op(e)?e.lastChangedBy==="to"?{fromAmount:e.toAmount}:{toAmount:e.fromAmount}:{fromAmount:e.lastChangedBy==="to"?"":e.fromAmount,toAmount:e.lastChangedBy==="from"?"":e.toAmount}}function $s({getQuote:e,submitBridge:t}){return{canQuote:!!e,canSubmit:!!t,async getQuote(n){return e?e(n):Wp(n)},async submitBridge(n){if(!t)throw new Error("Bridge submit handler is not configured.");return t(n)}}}var js=15,Dp=18,Qs="cross_bridge_terms_accepted",zp=3600*24*365;function Gp(e){let t=e.replace(/[^\d.]/g,""),n=t.indexOf(".");n!==-1&&(t=t.slice(0,n+1)+t.slice(n+1).replace(/\./g,""));let o=t.indexOf(".");if(o===-1)return t.slice(0,js);let r=t.slice(0,o).slice(0,js),a=t.slice(o+1).slice(0,Dp);return`${r}.${a}`}function Hp(){return typeof document>"u"?!1:document.cookie.split(";").map(e=>e.trim()).some(e=>e===`${Qs}=true`)}function Up(){if(typeof document>"u")return;let e=typeof window<"u"&&window.location.protocol==="https:"?"; Secure":"";document.cookie=[`${Qs}=true`,"Path=/",`Max-Age=${zp}`,"SameSite=Lax",e].filter(Boolean).join("; ")}function $p(e){let t=Number(e??"0");if(!Number.isFinite(t)||t<.1)return"1";let n=o=>Math.floor(o*100)/100;if(t<3){let o=n(t*3);return String(o<1?1:o)}return"10"}function Vs(e){let t=e.toUpperCase();return t.startsWith("T")&&t.slice(1).startsWith("CROSS")?t.slice(1):t}function jp(e,t){if(!e||!t||e.chainId!==t.chainId)return!1;let n=new Set([Vs(e.symbol),Vs(t.symbol)]);return n.has("CROSS")&&n.has("CROSSD")}function Bt(e,t){return!!e&&!!t&&e.chainId===t.chainId&&e.address.toLowerCase()===t.address.toLowerCase()}function Qo(e){return e[0]}function ni(e,t,n,o){if(n&&!Bt(n,t))return n;let r=t?o?.(t,e):void 0;if(r?.length)return r[0];if(!t)return e[1]??Qo(e);let a=e.findIndex(s=>Bt(s,t)),i=a>=0?e[a+1]:void 0;return i&&!Bt(i,t)?i:e.find(s=>!Bt(s,t))??t}function qs({fromToken:e,toToken:t,fromAmount:n,toAmount:o,lastChangedBy:r,slippage:a}){return{fromToken:e,toToken:t,fromAmount:n,toAmount:o,lastChangedBy:r,slippage:a}}function Yo(e,t=0){if(!e||t>5)return[];if(typeof e=="string")return[e];if(!(e instanceof Error)&&typeof e!="object")return[String(e)];let n=e;return[...[e instanceof Error?e.name:n.name,e instanceof Error?e.message:n.message,n.shortMessage,n.details,n.code].filter(r=>typeof r=="string"||typeof r=="number").map(String),...Yo(n.cause,t+1),...Yo(n.data,t+1),...Yo(n.error,t+1)]}function oi(e){let t=Yo(e).join(" ").toLowerCase(),n=t.includes("signature_failed")&&(t.includes("\uD0C0\uC785 \uB370\uC774\uD130 \uC11C\uBA85\uC5D0 \uC2E4\uD328")||t.includes("typed data")||t.includes("signtypeddata"));return t.includes("4001")||t.includes("err_user_rejected")||t.includes("userrejectedrequesterror")||t.includes("user rejected")||t.includes("user denied")||t.includes("user cancelled")||t.includes("user canceled")||t.includes("rejected the request")||t.includes("request rejected")||t.includes("action_rejected")||t.includes("rejected by user")||n}function Ks(e,t){return oi(e)?"Transaction request was rejected.":(e instanceof Error?e.message:typeof e=="string"?e:"").split(`
|
|
9
9
|
`)[0]?.trim()||t}function Ys(e){let{tokens:t,initialFromToken:n,initialToToken:o,getToTokens:r,getApproval:a,approveBridge:i,history:s=[],initialSlippage:c="1",termsUrl:l=Fn,getQuote:d,submitBridge:w,onSubmitted:h,onSuccess:m,onFailed:y,onExit:b}=e,u=P.useMemo(()=>$s({getQuote:d,submitBridge:w}),[d,w]),[v,C]=P.useState("form"),[p,T]=P.useState(n??Qo(t)),[k,N]=P.useState(()=>ni(t,n??Qo(t),o,r)),[S,G]=P.useState(""),[O,H]=P.useState(""),[B,ie]=P.useState("from"),[I,oe]=P.useState(c),[W,V]=P.useState(null),he=P.useMemo(()=>jp(p,k),[p,k]),X=P.useMemo(()=>he?"1":I==="auto"?$p(W?.priceImpact):I,[he,I,W?.priceImpact]),[U,fe]=P.useState(""),[ce,$]=P.useState("idle"),[Ne,F]=P.useState(""),[J,ue]=P.useState(null),[Le,Q]=P.useState([]),[de,Ie]=P.useState(!1),[Ee,Qt]=P.useState(Hp),[Ae,ke]=P.useState(null),[dt,Pe]=P.useState(!1),[De,Se]=P.useState(null),[_t,yt]=P.useState(null),[Mt,rt]=P.useState(!1),[kt,pt]=P.useState(!1),be=P.useRef(0),Ot=P.useRef(null),ft=P.useCallback(()=>{Ot.current&&(clearTimeout(Ot.current),Ot.current=null)},[]),ze=P.useCallback(D=>{ft(),yt(D)},[ft]);P.useEffect(()=>ft,[ft]),P.useEffect(()=>{let D=t.find(me=>Bt(me,p))??Qo(t),Be=D?r?.(D,t):void 0,q=Be?.find(me=>Bt(me,k))??(Be?void 0:t.find(me=>Bt(me,k)))??ni(t,D,void 0,r);T(D),N(q)},[r,t,p,k]);let Fe=P.useCallback((D,Be)=>{let q=Gp(D);if(!q){be.current+=1,G(""),H(""),ie(Be),V(null),fe(""),$("idle");return}Be==="from"?G(q):H(q),ie(Be),fe("")},[]),Ge=P.useCallback(()=>{be.current+=1,G(""),H(""),ie("from"),V(null),fe(""),F(""),$("idle"),ke(null),Pe(!1),Se(null),rt(!1),ze(null)},[ze]),et=P.useCallback(D=>{Bt(D,p)||(T(D),N(ni(t,D,void 0,r)),Ge())},[p,r,Ge,t]),it=P.useCallback(D=>{Bt(D,k)||Bt(D,p)||(N(D),Ge())},[p,Ge,k]),tt=P.useMemo(()=>p?r?.(p,t)??t.filter(D=>!Bt(D,p)):[],[p,r,t]),ut=P.useCallback(()=>{p?.balance&&Fe(p.balance,"from")},[p?.balance,Fe]),St=P.useCallback(()=>{!p||!k||(T(k),N(p),Ge())},[p,Ge,k]),je=P.useCallback(()=>{be.current+=1,G(""),H(""),ie("from"),V(null),fe(""),F("")},[]);P.useEffect(()=>{if(!p||!k)return;if(!S&&!O){V(null),fe(""),$(q=>q==="quoting"?"idle":q);return}let D=++be.current,Be=qs({fromToken:p,toToken:k,fromAmount:S,toAmount:O,lastChangedBy:B,slippage:I});$(q=>q==="submitting"?q:u.canQuote?"quoting":"idle"),(async()=>{try{let q=await u.getQuote(Be);if(be.current!==D)return;q.fromAmount!==void 0&&B==="to"&&G(q.fromAmount),q.toAmount!==void 0&&B==="from"&&H(q.toAmount),V(q.summary??null),fe(q.error??"")}catch(q){if(be.current!==D)return;fe(q instanceof Error?q.message:"Failed to quote bridge.")}finally{be.current===D&&$(q=>q==="quoting"?"idle":q)}})()},[S,p,B,u,I,O,k]);let Ve=P.useCallback(()=>!p||!k?null:qs({fromToken:p,toToken:k,fromAmount:S,toAmount:O,lastChangedBy:B,slippage:X}),[X,S,p,B,O,k]),qe=P.useCallback(async(D,Be)=>{F(""),rt(!1),Pe(!1),$("submitting");try{if(!Be?.skipApprovalCheck&&a){let me=await a(D);if(me){ke(me),Se(D),$("idle");return}}ke(null),Se(null),ze("processing");let q=await u.submitBridge(D);ue(q),$("success"),Q(me=>[{id:q.txHash,timestamp:new Date().toISOString(),txHash:q.txHash,fromToken:q.fromToken,toToken:q.toToken,fromAmount:q.fromAmount,toAmount:q.toAmount,summary:W??void 0,status:"pending"},...me.filter(po=>po.txHash!==q.txHash)]),je(),pt(!0),ze(null),rt(!0),h?.(q),m?.(q)}catch(q){if(ze(null),oi(q)){$("idle");return}let me=Ks(q,"Failed to submit bridge.");F(me),$("error"),y?.({message:me})}},[a,y,h,m,u,je,ze,W]),L=P.useCallback(async()=>{if(U)return;let D=Ve();if(D){if(!Ee){Se(D),Ie(!0);return}await qe(D)}},[Ve,U,qe,Ee]),ee=P.useCallback(async()=>{let D=De??Ve();D&&(Up(),Qt(!0),Ie(!1),await qe(D))},[Ve,De,qe]),we=P.useCallback(()=>{Ie(!1),Se(null)},[]),at=P.useCallback(async()=>{if(!(ce==="submitting"||!Ae||!De||!i)){F(""),$("submitting");try{await i(De,Ae),ke(null),$("idle"),Pe(!0)}catch(D){if(oi(D)){$("idle");return}let Be=Ks(D,"Failed to approve token.");F(Be),$("error"),y?.({message:Be})}}},[Ae,i,y,De,qe,ce]),mt=P.useCallback(()=>{ce!=="submitting"&&(ke(null),Pe(!1),Se(null),$("idle"))},[ce]),Rt=P.useCallback(async()=>{if(ce==="submitting")return;let D=De??Ve();if(!D){Pe(!1),F("Bridge input is no longer available. Please try again."),$("error");return}Pe(!1),await qe(D,{skipApprovalCheck:!0})},[Ve,De,qe,ce]),Tn=P.useCallback(()=>{rt(!1)},[]),Ct=P.useCallback(D=>{C(D),D==="history"&&pt(!1)},[]),co=P.useCallback(()=>{if(v==="history"){Ct("form");return}b?.()},[b,Ct,v]),fn=P.useMemo(()=>[...s,...Le.filter(D=>!s.some(Be=>Be.txHash===D.txHash))],[s,Le]);return{step:v,setStep:Ct,status:ce,error:Ne,quoteError:U,fromToken:p,toToken:k,tokens:t,availableToTokens:tt,fromAmount:S,toAmount:O,lastChangedBy:B,slippage:I,effectiveSlippage:X,slippageLocked:he,setSlippage:oe,summary:W,history:fn,submitted:J,canSubmit:u.canSubmit,termsOpen:de,approvalInfo:Ae,approvalSuccessOpen:dt,approveBridge:i,pendingSubmitInput:De,submitToast:_t,successDialogOpen:Mt,dismissSuccessDialog:Tn,hasNewHistory:kt,termsUrl:l,setFromToken:T,setToToken:N,selectFromToken:et,selectToToken:it,setAmount:Fe,setMax:ut,swapTokens:St,submit:L,confirmTerms:ee,cancelTerms:we,confirmApproval:at,cancelApproval:mt,continueAfterApproval:Rt,back:co}}K(`.bf-root{--bf-bg: var(--ds-bg-default, #1e232e);--bf-surface: var(--ds-surface-medium, rgba(255, 255, 255, .05));--bf-surface-hover: var(--ds-surface-high, rgba(255, 255, 255, .08));--bf-border: var(--ds-border-default, rgba(255, 255, 255, .07));--bf-text-high: var(--ds-content-high, rgba(255, 255, 255, .85));--bf-text-medium: var(--ds-content-medium, rgba(255, 255, 255, .65));--bf-text-low: var(--ds-content-low, rgba(255, 255, 255, .4));--bf-toast-bg: #1e232e;--bf-toast-color: rgba(255, 255, 255, .85);position:relative;display:flex;flex:1;min-height:0;flex-direction:column;overflow:hidden;background:var(--bf-bg);color:var(--ds-content-highest, #ffffff);font-family:inherit}[data-theme=dark].wi-popover-content .bf-root,[data-theme=dark].wi-drawer-content .bf-root{--bf-bg: var(--ds-bg-default, #121212);--bf-surface: var(--ds-surface-medium, rgba(255, 255, 255, .05));--bf-surface-hover: var(--ds-surface-high, rgba(255, 255, 255, .1));--bf-border: var(--ds-border-default, rgba(255, 255, 255, .05));--bf-text-high: var(--ds-content-high, rgba(255, 255, 255, .85));--bf-text-medium: var(--ds-content-medium, rgba(255, 255, 255, .7));--bf-text-low: var(--ds-content-low, rgba(255, 255, 255, .5))}[data-theme=light].wi-popover-content .bf-root,[data-theme=light].wi-drawer-content .bf-root{--bf-bg: var(--ds-bg-default, #ffffff);--bf-surface: var(--ds-surface-medium, rgba(18, 18, 18, .05));--bf-surface-hover: var(--ds-surface-high, rgba(18, 18, 18, .1));--bf-border: var(--ds-border-default, rgba(18, 18, 18, .05));--bf-text-high: var(--ds-content-high, rgba(18, 18, 18, .85));--bf-text-medium: var(--ds-content-medium, rgba(18, 18, 18, .7));--bf-text-low: var(--ds-content-low, rgba(18, 18, 18, .5))}.bf-root[data-view=history]{background:var(--ds-bg-dim, #f5f7fa);color:var(--ds-content-high, rgba(0, 0, 0, .85))}.bf-header{position:relative;display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--bf-border);background:var(--ds-bg-default, var(--bf-bg));box-sizing:border-box}.bf-root[data-view=history] .bf-header{padding:24px;border-bottom-color:var(--ds-border-default, rgba(0, 0, 0, .07));background:var(--ds-surface-default, #ffffff)}.bf-header-btn{display:inline-flex;width:24px;height:24px;flex-shrink:0;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--ds-content-low, rgba(0, 0, 0, .4));cursor:pointer;transition:color .15s ease}.bf-header-btn:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.bf-header .bf-header-btn:last-child{position:absolute;top:24px;right:24px}.bf-header-title{position:absolute;left:50%;transform:translate(-50%);font-size:18px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--bf-text-high);white-space:nowrap}.bf-root[data-view=history] .bf-header-title{color:var(--ds-content-highest, #000000)}.bf-body,.bf-history-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;box-sizing:border-box}.bf-body{padding:24px}.bf-history-body{display:flex;flex-direction:column;gap:12px;padding:24px;background:var(--ds-bg-dim, #f5f7fa)}.bf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.bf-chip{display:inline-flex;align-items:center;gap:4px;min-height:33px;padding:6px 8px;border:0;border-radius:12px;background:var(--bf-surface);color:var(--bf-text-medium);font:inherit;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.01em;cursor:pointer}.bf-chip:hover:not(:disabled){color:var(--bf-text-high);background:var(--bf-surface-hover)}.bf-chip:disabled{cursor:default}.bf-chip-history{position:relative}.bf-chip-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:999px;background:var(--ds-system-red-default, #da0b2e)}.bf-swap-card{position:relative;display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.bf-field-error{margin-top:-4px;color:var(--ds-system-red-default, #ff2b5f);font-size:13px;font-weight:500;line-height:1.5;letter-spacing:0}.bf-amount-panel{display:flex;min-height:110px;flex-direction:column;gap:8px;padding:16px;border:1px solid transparent;border-radius:12px;background:var(--bf-surface);box-sizing:border-box;transition:border-color .2s ease}.bf-amount-panel:hover{border-color:var(--bf-border)}.bf-amount-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--bf-text-high);font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-balance{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;color:var(--bf-text-low);font-size:12px;white-space:nowrap}.bf-amount-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.bf-amount-input-wrap{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}.bf-amount-input{width:100%;min-width:0;padding:0;border:0;background:transparent;color:var(--bf-text-high);font:inherit;font-size:18px;font-weight:600;line-height:1.5;letter-spacing:-.01em;outline:none}.bf-amount-input::placeholder{color:var(--ds-content-lowest, rgba(0, 0, 0, .25))}.bf-amount-usd{overflow:hidden;color:var(--bf-text-low);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis}.bf-token-pill{display:inline-flex;flex-shrink:0;align-items:center;gap:6px;min-height:33px;padding:6px 8px 6px 6px;border:1px solid var(--bf-border);border-radius:9999px;background:var(--bf-bg);color:var(--bf-text-high);font:inherit;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.01em;cursor:pointer}.bf-token-pill:hover:not(:disabled):not([data-locked=true]){background:var(--bf-surface-hover)}.bf-token-pill:disabled{cursor:default;opacity:.6}.bf-token-pill[data-locked=true]{cursor:default}.bf-token-icon{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;border-radius:0;background:var(--ds-accent-primary-default, #00ceb2);color:var(--ds-accent-primary-on, #000000);font-size:11px;font-weight:700}.bf-token-icon[data-has-image=true]{background:transparent}.bf-token-icon img{width:100%;height:100%;border-radius:0;object-fit:cover}.bf-token-fallback{line-height:1}.bf-token-picker-overlay{--bf-bg: #1e232e;--bf-surface: rgba(255, 255, 255, .05);--bf-surface-hover: rgba(255, 255, 255, .08);--bf-border: rgba(255, 255, 255, .07);--bf-text-high: rgba(255, 255, 255, .85);--bf-text-medium: rgba(255, 255, 255, .65);--bf-text-low: rgba(255, 255, 255, .4);position:fixed;inset:0;z-index:100002;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000085;pointer-events:auto;box-sizing:border-box}.bf-token-picker-overlay[data-theme=light]{--bf-bg: #ffffff;--bf-surface: rgba(18, 18, 18, .05);--bf-surface-hover: rgba(18, 18, 18, .08);--bf-border: rgba(18, 18, 18, .07);--bf-text-high: rgba(18, 18, 18, .85);--bf-text-medium: rgba(18, 18, 18, .65);--bf-text-low: rgba(18, 18, 18, .4)}.bf-token-picker{display:flex;width:min(480px,calc(100vw - 48px));height:min(466px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);min-height:0;flex-direction:column;overflow:hidden;border:1px solid var(--bf-border);border-radius:24px;background:var(--bf-bg);color:var(--bf-text-high);box-shadow:0 24px 80px #0006;box-sizing:border-box}.bf-token-picker-handle{display:none}.bf-token-picker-head{position:relative;display:flex;min-height:73px;flex-shrink:0;align-items:center;justify-content:flex-start;padding:24px 56px 24px 24px;border-bottom:1px solid var(--bf-border);box-sizing:border-box}.bf-token-picker-head h3{margin:0;color:var(--bf-text-high);font-size:20px;font-weight:600;line-height:1.25;letter-spacing:0}.bf-token-picker-close{position:absolute;top:24px;right:24px;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--bf-text-medium);cursor:pointer}.bf-token-picker-close:hover{color:var(--bf-text-high)}.bf-token-search{display:flex;min-height:48px;flex-shrink:0;align-items:center;gap:8px;margin:16px 24px;padding:12px 16px;border:1px solid transparent;border-radius:12px;background:var(--ds-surface-medium, rgba(18, 18, 18, .05));color:var(--bf-text-low);box-sizing:border-box}.bf-token-search:focus-within{border-color:var(--ds-accent-primary-default, #00ceb2)}.bf-token-search input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--bf-text-high);font:inherit;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:0}.bf-token-search input::placeholder{color:var(--bf-text-low)}.bf-token-list{display:flex;min-height:0;flex:1;flex-direction:column;gap:0;overflow-y:auto;overflow-x:hidden;padding:0 24px 24px;scrollbar-width:thin;box-sizing:border-box}.bf-token-row{position:relative;display:flex;width:100%;min-height:69px;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid transparent;border-radius:12px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;box-sizing:border-box}.bf-token-row:hover:not([data-selected=true]){background:var(--ds-surface-medium, rgba(18, 18, 18, .05))}.bf-token-row[data-selected=true]{border-color:var(--ds-accent-primary-default, #00b4b7);background:var(--ds-surface-medium, rgba(18, 18, 18, .05))}.bf-token-row-left{display:inline-flex;min-width:0;align-items:center;gap:16px}.bf-token-meta{display:flex;min-width:0;flex-direction:column}.bf-token-symbol{overflow:hidden;color:var(--bf-text-high);font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.bf-token-name{overflow:hidden;color:var(--bf-text-low);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.bf-token-row-right{display:flex;min-width:86px;max-width:42%;flex-shrink:0;flex-direction:column;align-items:flex-end}.bf-token-balance,.bf-token-price{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bf-token-balance{color:var(--bf-text-high);font-size:14px;font-weight:600;line-height:1.5;letter-spacing:0}.bf-token-price{color:var(--bf-text-low);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0}.bf-token-row[data-selected=true] .bf-token-symbol{color:var(--bf-text-high)}.bf-token-row[data-selected=true] .bf-token-balance{color:var(--bf-text-high);font-size:16px}.bf-token-row[data-selected=true] .bf-token-price{color:var(--bf-text-low);font-size:14px}.bf-token-empty{padding:32px 16px;color:var(--bf-text-low);font-size:14px;font-weight:500;line-height:1.5;text-align:center}.bf-slippage-overlay{position:fixed;inset:0;z-index:100002;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000085;pointer-events:auto;box-sizing:border-box}.bf-slippage-dialog{display:flex;width:min(480px,calc(100vw - 48px));height:auto;min-height:min(316px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);flex-direction:column;overflow:hidden;border:1px solid var(--ds-border-medium, rgba(0, 0, 0, .18));border-radius:24px;background:var(--ds-surface-default, #ffffff);color:var(--ds-content-highest, #000000);box-shadow:var(--ds-shadow-modal, 0 4px 30px -1px rgba(0, 0, 0, .15));box-sizing:border-box}.bf-slippage-head{position:relative;display:flex;min-height:73px;flex-shrink:0;align-items:center;justify-content:flex-start;padding:24px 56px 24px 24px;border-bottom:1px solid var(--ds-border-default, rgba(0, 0, 0, .07));background:var(--ds-surface-default, #ffffff);box-sizing:border-box}.bf-slippage-head h3{margin:0;color:var(--ds-content-highest, #000000);font-size:20px;font-weight:600;line-height:1.25;letter-spacing:0}.bf-slippage-close{position:absolute;top:24px;right:24px;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--ds-content-low, rgba(0, 0, 0, .4));cursor:pointer}.bf-slippage-close:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.bf-slippage-body{display:flex;flex:1;min-height:0;flex-direction:column;gap:24px;padding:24px;box-sizing:border-box}.bf-slippage-desc{margin:0;color:var(--ds-content-medium, rgba(0, 0, 0, .65));font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-slippage-controls{display:flex;flex-direction:column;gap:12px;width:100%}.bf-slippage-presets{display:flex;gap:8px;width:100%}.bf-slippage-preset{appearance:none;display:inline-flex;flex:1 1 0;min-width:0;min-height:48px;align-items:center;justify-content:center;padding:12px 8px;border:1px solid transparent;border-radius:12px;background:var(--ds-surface-medium, #f5f7fa);color:var(--ds-content-medium, rgba(0, 0, 0, .65));font:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;cursor:pointer;box-sizing:border-box}.bf-slippage-preset:hover,.bf-slippage-preset[data-selected=true]{border-color:var(--ds-accent-primary-default, #00b4b7);background:var(--ds-accent-primary-low, #e7f9f8)}.bf-slippage-custom{display:flex;min-height:48px;align-items:center;gap:8px;padding:12px;border:1px solid transparent;border-radius:12px;background:var(--ds-surface-medium, #f5f7fa);color:var(--ds-content-high, rgba(0, 0, 0, .85));box-sizing:border-box}.bf-slippage-custom:focus-within,.bf-slippage-custom[data-selected=true]{border-color:var(--ds-accent-primary-default, #00b4b7)}.bf-slippage-custom input{width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--ds-content-high, rgba(0, 0, 0, .85));font:inherit;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-slippage-custom input::placeholder{color:var(--ds-content-lowest, rgba(0, 0, 0, .25))}.bf-slippage-custom span:not(.bf-sr-only){flex-shrink:0;color:var(--ds-content-high, rgba(0, 0, 0, .85));font-size:16px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-slippage-apply{appearance:none;margin-top:auto;width:100%;min-height:48px;padding:12px;border:0;border-radius:12px;background:var(--ds-accent-primary-default, #00b4b7);color:var(--ds-accent-primary-on-primary, #ffffff);font:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;cursor:pointer;box-sizing:border-box}.bf-slippage-apply:hover{filter:brightness(.96)}.bf-slippage-apply:disabled{cursor:not-allowed;opacity:.5;filter:none}.bf-slippage-message{margin:0;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-slippage-message[data-variant=warning]{color:var(--ds-system-orange-high, #e56f00)}.bf-slippage-message[data-variant=error]{color:var(--ds-system-red-default, #da0b2e)}.bf-action-modal-overlay{--bf-bg: var(--ds-bg-default, #1e232e);--bf-surface: var(--ds-surface-medium, rgba(255, 255, 255, .05));--bf-surface-hover: var(--ds-surface-high, rgba(255, 255, 255, .08));--bf-border: var(--ds-border-default, rgba(255, 255, 255, .12));--bf-text-high: var(--ds-content-high, rgba(255, 255, 255, .92));--bf-text-medium: var(--ds-content-medium, rgba(255, 255, 255, .65));--bf-text-low: var(--ds-content-low, rgba(255, 255, 255, .4));position:fixed;inset:0;z-index:100003;display:flex;align-items:center;justify-content:center;padding:24px;background:#040912b8;pointer-events:auto;box-sizing:border-box}.bf-action-modal-overlay[data-theme=light]{--bf-bg: var(--ds-bg-default, #ffffff);--bf-surface: var(--ds-surface-medium, rgba(18, 18, 18, .05));--bf-surface-hover: var(--ds-surface-high, rgba(18, 18, 18, .1));--bf-border: var(--ds-border-default, rgba(18, 18, 18, .08));--bf-text-high: var(--ds-content-high, rgba(18, 18, 18, .85));--bf-text-medium: var(--ds-content-medium, rgba(18, 18, 18, .65));--bf-text-low: var(--ds-content-low, rgba(18, 18, 18, .4))}.bf-action-modal{display:flex;width:min(480px,calc(100vw - 48px));flex-direction:column;align-items:center;gap:24px;padding:48px 24px 24px;border:1px solid var(--bf-border);border-radius:24px;background:var(--bf-bg);color:#fff;box-shadow:0 24px 80px #00000073;box-sizing:border-box}.bf-action-modal h3{width:100%;margin:0;color:var(--bf-text-high);font-size:24px;font-weight:700;line-height:1.25;text-align:center;letter-spacing:0}.bf-action-modal-desc{max-width:380px;margin:0;color:var(--bf-text-low);font-size:15px;font-weight:500;line-height:1.45;text-align:center;letter-spacing:0}.bf-terms-check-row{display:grid;width:100%;min-height:56px;grid-template-columns:20px minmax(0,1fr);align-items:center;column-gap:12px;padding:14px 16px;border:none;border-radius:12px;background:var(--bf-surface);color:var(--bf-text-medium);font-size:16px;font-weight:700;line-height:1.4;box-sizing:border-box}.bf-terms-check-button{appearance:none;display:inline-flex;min-width:0;width:20px;height:20px;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}.bf-terms-copy{display:flex;width:100%;min-width:0;align-items:baseline;justify-content:space-between;column-gap:12px;row-gap:4px;flex-wrap:wrap}.bf-terms-label{min-width:0}.bf-terms-check-button:focus-visible .bf-terms-checkbox{outline:2px solid var(--ds-accent-primary-default, #00ceb2);outline-offset:2px}.bf-terms-checkbox{position:relative;display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border:1px solid rgba(124,143,180,.72);border-radius:5px;background:transparent;box-sizing:border-box}.bf-terms-checkbox[data-checked=true]{border-color:var(--ds-accent-primary-default, #00ceb2);background:var(--ds-accent-primary-default, #00ceb2)}.bf-terms-checkbox[data-checked=true]:after{width:8px;height:4px;border:solid var(--ds-accent-primary-on, #000000);border-width:0 0 2px 2px;content:"";transform:rotate(-45deg) translate(1px,-1px)}.bf-terms-check-row a{position:relative;z-index:1;color:var(--ds-accent-primary-default, #00ceb2);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}.bf-terms-privacy{max-width:380px;margin:0;color:var(--bf-text-low);font-size:15px;font-weight:500;line-height:1.45;text-align:center;letter-spacing:0}.bf-action-primary,.bf-action-secondary{display:inline-flex;width:100%;min-height:56px;align-items:center;justify-content:center;padding:14px 16px;border:0;border-radius:12px;font:inherit;font-size:18px;font-weight:700;line-height:1.4;letter-spacing:0;cursor:pointer}.bf-action-primary{background:var(--ds-accent-primary-default, #00ceb2);color:var(--ds-accent-primary-on, #000000)}.bf-action-primary:disabled{cursor:not-allowed;opacity:.35}.bf-action-primary[aria-busy=true]{gap:8px;opacity:1}.bf-action-button-spinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.22);border-top-color:currentColor;border-right-color:currentColor;border-radius:999px;animation:bf-loading-spin .9s linear infinite}.bf-action-secondary{background:var(--bf-surface);color:var(--bf-text-low)}.bf-action-secondary:disabled{cursor:not-allowed;opacity:.5}.bf-approve-address-box{display:flex;width:100%;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--bf-border);border-radius:12px;background:var(--bf-surface);box-sizing:border-box}.bf-approve-address-box>span{color:var(--bf-text-low);font-size:14px;font-weight:700;line-height:1.4}.bf-approve-address-box>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.bf-approve-address-box strong{min-width:0;overflow:hidden;color:var(--bf-text-high);font-size:15px;font-weight:500;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.bf-copy-button{flex-shrink:0;min-width:48px;min-height:32px;padding:6px 10px;border:1px solid rgba(0,206,178,.65);border-radius:8px;background:transparent;color:var(--ds-accent-primary-default, #00ceb2);font:inherit;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer}.bf-copy-button:disabled{cursor:not-allowed;opacity:.45}.bf-action-buttons{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:12px}.bf-approval-success-modal{gap:28px}.bf-success-mark{position:relative;display:inline-flex;width:96px;height:96px;flex-shrink:0;align-items:center;justify-content:center;border:12px solid rgba(0,206,178,.12);border-radius:999px;background:#00ceb2a8;box-shadow:0 0 0 10px #00ceb20f;box-sizing:border-box}.bf-success-mark:after{width:34px;height:18px;border:solid #ffffff;border-width:0 0 6px 6px;content:"";transform:rotate(-45deg) translate(2px,-3px)}.bf-status-toast{position:absolute;right:16px;bottom:14px;left:16px;z-index:5;display:flex;align-items:center;gap:12px;min-height:52px;padding:12px;border-radius:12px;background:var(--bf-toast-bg, #1e232e);color:var(--bf-toast-color, rgba(255, 255, 255, .85));box-shadow:0 8px 24px #0000003d;box-sizing:border-box}.bf-status-toast-icon{display:inline-flex;width:28px;height:28px;flex-shrink:0;align-items:center;justify-content:center;border-radius:999px}.bf-status-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.18);border-top-color:var(--ds-accent-primary-default, #00ceb2);border-right-color:var(--ds-accent-primary-default, #00ceb2);border-radius:999px;animation:bf-loading-spin .9s linear infinite}.bf-status-check{position:relative;width:20px;height:20px;border-radius:999px;background:var(--ds-accent-primary-default, #00ceb2)}.bf-status-check:after{position:absolute;top:6px;left:5px;width:8px;height:4px;border:solid var(--ds-accent-primary-on, #000000);border-width:0 0 2px 2px;content:"";transform:rotate(-45deg)}.bf-status-toast-copy{display:flex;min-width:0;flex:1;flex-direction:column}.bf-status-toast-copy strong,.bf-status-toast-copy span{overflow:hidden;text-overflow:ellipsis}.bf-status-toast-copy strong{color:#fff;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.01em}.bf-status-toast-copy span{color:var(--bf-toast-color, rgba(255, 255, 255, .85));font-size:12px;font-weight:400;line-height:1.5;letter-spacing:-.01em}.bf-status-toast[data-variant=success] .bf-status-toast-copy span{color:var(--ds-accent-primary-on-inverted, #00e8c9)}.bf-status-toast[data-variant=error]{border:1px solid rgba(255,43,95,.28);background:var(--bf-toast-bg, #1e232e)}.bf-status-toast[data-variant=error] .bf-status-toast-copy strong{color:#fff}.bf-status-error-mark{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;background:var(--ds-system-red-default, #ff2b5f);color:#fff;font-size:14px;font-weight:700;line-height:1}.bf-status-toast[data-variant=error] .bf-status-toast-copy span{color:#ffffffe0}.bf-success-overlay{--bf-bg: var(--ds-bg-default, #1e232e);--bf-border: var(--ds-border-default, rgba(255, 255, 255, .12));--bf-text-high: var(--ds-content-high, rgba(255, 255, 255, .92));--bf-text-medium: var(--ds-content-medium, rgba(255, 255, 255, .65));position:fixed;inset:0;z-index:100003;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000b8;pointer-events:auto;box-sizing:border-box}.bf-success-overlay[data-theme=light]{--bf-bg: #ffffff;--bf-border: rgba(18, 18, 18, .08);--bf-text-high: rgba(18, 18, 18, .85);--bf-text-medium: rgba(18, 18, 18, .65);--bf-text-low: rgba(18, 18, 18, .4)}.bf-success-modal{display:flex;width:min(480px,calc(100vw - 48px));flex-direction:column;overflow:hidden;border:1px solid var(--bf-border);border-radius:24px;background:var(--bf-bg);color:var(--bf-text-high);box-shadow:0 24px 80px #00000073;box-sizing:border-box}.bf-success-head{display:flex;min-height:73px;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid var(--ds-border-default, rgba(0, 0, 0, .07));box-sizing:border-box}.bf-success-head h3{min-width:0;margin:0;overflow:hidden;color:var(--ds-content-highest, #000000);font-size:20px;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.bf-success-close{display:inline-flex;width:24px;height:24px;flex-shrink:0;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--ds-content-low, rgba(0, 0, 0, .4));cursor:pointer}.bf-success-close:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.bf-success-body{display:flex;flex-direction:column;align-items:center;gap:24px;padding:40px 24px 24px;box-sizing:border-box}.bf-success-copy{display:flex;width:100%;flex-direction:column;align-items:center;gap:4px;color:var(--bf-text-medium);text-align:center}.bf-success-copy strong{color:var(--bf-text-high);font-size:24px;font-weight:700;line-height:1.25;letter-spacing:0}.bf-success-copy span{color:var(--bf-text-medium);font-size:15px;font-weight:500;line-height:1.5;letter-spacing:0}.bf-success-route{display:flex;align-items:center;justify-content:center;gap:12px}.bf-success-route .bf-token-icon{width:48px!important;height:48px!important;background:transparent;font-size:18px}.bf-success-route-arrow{color:var(--bf-text-low);font-size:24px;font-weight:500;line-height:1}.bf-success-ok{display:inline-flex;width:100%;min-height:48px;align-items:center;justify-content:center;padding:12px;border:0;border-radius:12px;background:#00b4b7e0;color:#fff;font:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;cursor:pointer}@media(max-width:767px){.bf-success-body{padding:40px 24px 24px}.bf-success-copy strong{font-size:22px}.bf-success-copy span{font-size:14px}.bf-success-mark{width:88px;height:88px}.bf-success-route .bf-token-icon{width:44px!important;height:44px!important}}@keyframes bf-loading-spin{to{transform:rotate(360deg)}}.bf-swap-toggle{position:absolute;top:100px;left:50%;z-index:1;display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;padding:0;border:0;border-radius:9999px;background:var(--ds-accent-primary-default, #00ceb2);color:var(--ds-accent-primary-on, #000000);box-shadow:0 1px 5px #0000001f;cursor:pointer}.bf-swap-card[data-has-from-error=true] .bf-swap-toggle{top:132px}.bf-details{display:flex;flex-direction:column;gap:24px}.bf-exchange-rate{display:flex;width:100%;align-items:center;justify-content:center;gap:4px;padding:0 0 24px;border:0;background:transparent;color:var(--bf-text-low);font:inherit;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:-.01em;cursor:pointer}.bf-exchange-rate:hover{color:var(--bf-text-medium)}.bf-detail-section,.bf-history-card{display:flex;flex-direction:column;gap:12px;padding:0;border-radius:12px;background:transparent;box-sizing:border-box}.bf-liquidity{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:12px;background:var(--bf-surface);box-sizing:border-box}.bf-root[data-view=history] .bf-liquidity,.bf-root[data-view=history] .bf-detail-section,.bf-root[data-view=history] .bf-history-card{background:var(--ds-surface-default, #ffffff)}.bf-detail-section h3{margin:0;color:var(--bf-text-high);font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em}.bf-tx-fee-section{gap:12px}.bf-tx-fee-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.bf-collapse-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;padding:0;background:none;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.bf-detail-section[data-open=true] .bf-collapse-head{padding-bottom:12px;border-bottom:1px solid var(--bf-border)}.bf-collapse-chevron{flex-shrink:0;color:var(--bf-text-low);transition:transform .2s ease}.bf-detail-section[data-open=true] .bf-collapse-chevron{transform:rotate(180deg)}.bf-collapse-body{display:flex;flex-direction:column;gap:14px}.bf-root[data-view=history] .bf-detail-section[data-open=true] .bf-collapse-head{border-bottom-color:var(--ds-border-default, rgba(0, 0, 0, .07))}.bf-root[data-view=history] .bf-collapse-chevron{color:var(--ds-content-low, rgba(0, 0, 0, .4))}.bf-tx-fee-total{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;color:var(--bf-text-medium);font-size:14px;font-weight:600;line-height:1.4;text-align:right}.bf-tx-fee-total>span[data-delegated=true]{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:currentColor}.bf-fee-delegated{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:2px 8px;border-radius:6px;background:#379cff2e;color:#4eb3ff;font-size:10px;font-weight:500;line-height:1.3;white-space:nowrap}.bf-tx-fee-token{width:16px;height:16px;flex-shrink:0;border-radius:999px;object-fit:cover}.bf-info-card{gap:14px}.bf-info-section{display:flex;flex-direction:column;gap:10px}.bf-info-section+.bf-info-section{padding-top:2px}.bf-info-section h4{margin:0;color:var(--bf-text-high);font-size:14px;font-weight:600;line-height:1.5}.bf-root[data-view=history] .bf-detail-section h3,.bf-root[data-view=history] .bf-info-section h4{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.bf-info-rows{display:flex;flex-direction:column;gap:8px}.bf-info-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-liquidity-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em}.bf-info-label{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--bf-text-low)}.bf-tree-marker{width:10px;flex-shrink:0;color:var(--bf-text-low)}.bf-info-value{min-width:0;color:var(--bf-text-medium);text-align:right}.bf-info-route,.bf-info-value-token{display:inline-flex;align-items:center;gap:4px}.bf-info-route .bf-token-icon,.bf-info-value-token .bf-token-icon{flex-shrink:0}.bf-info-route-arrow{color:var(--bf-text-medium)}.bf-root[data-view=history] .bf-info-route-arrow{color:var(--ds-content-medium, rgba(0, 0, 0, .65))}.bf-info-value[data-tone=accent]{color:var(--ds-accent-primary-high, #00a0a2)}.bf-info-value[data-tone=warning]{color:var(--ds-system-orange-high, #e56f00)}.bf-root[data-view=history] .bf-info-label,.bf-root[data-view=history] .bf-liquidity-head,.bf-root[data-view=history] .bf-tree-marker{color:var(--ds-content-low, rgba(0, 0, 0, .4))}.bf-root[data-view=history] .bf-info-value{color:var(--ds-content-medium, rgba(0, 0, 0, .65))}.bf-root[data-view=history] .bf-info-value[data-tone=accent]{color:var(--ds-accent-primary-high, #00a0a2)}.bf-root[data-view=history] .bf-info-value[data-tone=warning]{color:var(--ds-system-orange-high, #e56f00)}.bf-liquidity-status{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap}.bf-liquidity-status:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.bf-liquidity-status[data-status=normal],.bf-liquidity-status:not([data-status]){background:#00ceb21f;color:var(--ds-accent-primary-default, #00ceb2)}.bf-liquidity-status[data-status=normal]:before,.bf-liquidity-status:not([data-status]):before{background:var(--ds-accent-primary-default, #00ceb2)}.bf-liquidity-status[data-status=low]{background:#e56f001f;color:#e56f00}.bf-liquidity-status[data-status=low]:before{background:#e56f00}.bf-liquidity-status[data-status=rebalancing]{background:#da0b2e1a;color:#da0b2e}.bf-liquidity-status[data-status=rebalancing]:before{background:#da0b2e}.bf-liquidity-track{height:8px;overflow:hidden;border-radius:999px;background:var(--bf-surface-hover)}.bf-liquidity-track span{display:block;height:100%;border-radius:inherit;background:var(--ds-accent-primary-default, #00ceb2)}.bf-error{padding:12px;border-radius:12px;background:#da0b2e1f;color:var(--ds-system-red-default, #da0b2e);font-size:13px;line-height:1.4}.bf-footer{display:flex;flex-shrink:0;flex-direction:column;align-items:center;gap:10px;padding:12px 24px 24px;background:var(--ds-bg-default, var(--bf-bg))}.bf-next{width:100%;min-height:48px;padding:12px;border:0;border-radius:12px;background:var(--ds-accent-primary-default, #00ceb2);color:var(--ds-accent-primary-on, #000000);font:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;cursor:pointer}.bf-next:disabled{cursor:default;opacity:.6}.bf-powered{display:inline-flex;align-items:center;gap:3px;color:var(--bf-text-low);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:-.01em;text-decoration:none}.bf-powered:focus-visible{border-radius:4px;outline:2px solid var(--ds-accent-primary-default, #00ceb2);outline-offset:2px}.bf-powered-brand{text-decoration:underline;text-underline-offset:2px}.bf-history-tabs{display:flex;align-items:center;gap:4px;width:100%}.bf-history-tab{position:relative;display:inline-flex;min-height:37px;align-items:center;justify-content:center;padding:8px 12px;border:0;background:transparent;color:var(--ds-content-lowest, rgba(0, 0, 0, .25));font:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0;cursor:pointer}.bf-history-tab[data-active=true]{color:var(--ds-accent-primary-high, #00a0a2)}.bf-history-tab[data-active=true]:after{position:absolute;right:8px;bottom:0;left:8px;height:3px;border-radius:999px;background:var(--ds-accent-primary-high, #00a0a2);content:""}.bf-history-tab-dot{position:absolute;top:8px;right:4px;width:6px;height:6px;border-radius:999px;background:var(--ds-system-red-default, #da0b2e)}.bf-history-list{display:flex;flex-direction:column;gap:12px}.bf-history-item{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:var(--ds-surface-default, #ffffff);box-sizing:border-box}.bf-history-item-head,.bf-history-meta,.bf-history-route,.bf-history-route-token{display:inline-flex;align-items:center}.bf-history-item-head{justify-content:space-between;gap:12px;width:100%}.bf-history-status{display:inline-flex;min-height:24px;align-items:center;justify-content:center;padding:3px 8px;border-radius:4px;background:var(--ds-system-orange-low, #fcf5e9);color:var(--ds-system-orange-high, #e56f00);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;white-space:nowrap}.bf-history-status[data-status=completed]{background:var(--ds-system-green-low, #e7f9f8);color:var(--ds-system-green-high, #00a0a2)}.bf-history-status[data-status=failed]{background:var(--ds-system-red-low, rgba(218, 11, 46, .12));color:var(--ds-system-red-default, #da0b2e)}.bf-history-time{min-width:0;color:var(--ds-content-low, rgba(0, 0, 0, .4));font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;text-align:right;white-space:nowrap}.bf-history-item-body{display:flex;flex-direction:column;gap:4px}.bf-history-amount{color:var(--ds-content-high, rgba(0, 0, 0, .85));font-size:16px;font-weight:600;line-height:1.5;letter-spacing:0}.bf-history-meta{justify-content:space-between;gap:12px;min-width:0}.bf-history-usd{min-width:0;color:var(--ds-content-low, rgba(0, 0, 0, .4));font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bf-history-route{justify-content:flex-end;gap:4px;min-width:0;color:var(--ds-content-high, rgba(0, 0, 0, .85));font-size:12px;font-weight:600;line-height:1.5;letter-spacing:0}.bf-history-route-token{gap:4px;min-width:0}.bf-history-route-token span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bf-history-route-arrow{flex-shrink:0;color:var(--ds-content-low, rgba(0, 0, 0, .4))}.bf-empty{padding:32px 16px;text-align:center;color:var(--ds-content-low, rgba(0, 0, 0, .4));font-size:14px}.bf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:767px){.bf-token-picker-overlay{align-items:flex-end;padding:0}.bf-token-picker{width:100%;max-height:82dvh;min-height:min(520px,82dvh);border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0}.bf-token-picker-handle{display:block;width:40px;height:4px;flex-shrink:0;align-self:center;margin:10px 0 0;border-radius:999px;background:#ffffff38}.bf-token-picker-head{min-height:55px;padding:12px 56px 16px 24px;border-bottom:0}.bf-token-picker-close{top:13px}.bf-token-search{margin:0 16px 12px}.bf-token-list{padding:0 16px 16px}.bf-slippage-overlay{align-items:flex-end;padding:0}.bf-slippage-dialog{width:100%;height:auto;min-height:316px;max-height:82dvh;border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0}}.wi-drawer-content .bf-header{padding:16px}.wi-drawer-content .bf-header .bf-header-btn:last-child{top:16px;right:16px}.wi-drawer-content .bf-body,.wi-drawer-content .bf-history-body{padding:16px}
|
|
10
|
-
`);import{Fragment as ii,jsx as f,jsxs as R}from"react/jsx-runtime";var nl=A.createContext(void 0);function zn(){return A.useContext(nl)}function Vp(e){let[t,n]=A.useState(void 0);return A.useEffect(()=>{let o=e.current;if(!o)return;let r=()=>{let i=o.closest("[data-theme]");n(i?.getAttribute("data-theme")??void 0)};r();let a=new MutationObserver(r);return a.observe(document.documentElement,{attributes:!0,subtree:!0,attributeFilter:["data-theme"]}),()=>a.disconnect()},[e]),t}var Zs=[{value:"0.1",label:"0.1%"},{value:"0.5",label:"0.5%"},{value:"1",label:"1%"},{value:"5",label:"5%"}],qp=[{value:"all",label:"ALL"},{value:"completed",label:"Completed"},{value:"pending",label:"Pending"}];function Kp(e,t){return e==="auto"?t?`Auto ${t}%`:"Auto":e?`${e}%`:"1%"}function Xs(e){let t=e.replace(/[^\d.]/g,""),[n="",...o]=t.split("."),r=o.join("");return o.length===0?n:`${n}.${r.slice(0,2)}`}function Qp(e){return`${e.chainId}:${e.address.toLowerCase()}`}function ol(e){let t=Number(e);return Number.isFinite(t)?t.toLocaleString("en-US",{maximumFractionDigits:t>=1?2:6}):e||"0"}function Js(e,t){let n=Number(e||"0"),o=t?.priceUsd??0;return`\u2248 $${(Number.isFinite(n)?n*o:0).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})} USD`}function Yp(e,t=6){if(!e)return e;let[n,o=""]=e.split(".");if(!o)return n;let r=o.slice(0,t).replace(/0+$/,"");return r?`${n}.${r}`:n}function Zp(e,t){if(!t)return!1;let n=new Vt(e||"0"),o=new Vt(t.balance||"0");return!n.isFinite()||!o.isFinite()?!1:n.isGreaterThan(o)}function Xp(e){if(e.priceUsd===void 0)return null;let t=new Vt(e.balance||"0");return t.isFinite()?`\u2248 $${t.multipliedBy(e.priceUsd).toFormat(2)} USD`:null}function Jp(e){if(e.priceUsd===void 0)return null;let t=new Vt(e.priceUsd);return t.isFinite()?`$${t.toFormat(t.isLessThan(1)?4:2)}`:null}function rl(e){if(!e.isFinite()||e.isNaN())return"0";let n=e.decimalPlaces(6,Vt.ROUND_DOWN).toFixed(6).replace(/\.?0+$/,""),[o="0",r]=n.split("."),a=new Vt(o||"0").toFormat(0);return r?`${a}.${r}`:a}function ef(e){return e.length<=14?e:`${e.slice(0,6)}...${e.slice(-6)}`}function tf(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let n=o=>o.toString().padStart(2,"0");return[`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())}`,`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`].join(" ")}function nf(e){let t=new Vt(e||"0");return!t.isFinite()||t.isNaN()?e||"0":rl(t)}function of(e,t){if(t?.priceUsd===void 0)return null;let n=new Vt(e||"0").multipliedBy(t.priceUsd);return!n.isFinite()||n.isNaN()?null:`$${n.toFormat(2)}`}function Xo(e){return e.status==="success"?"completed":e.status==="failed"?"failed":"pending"}function rf(e,t){return t==="all"?!0:Xo(e)===t}function af(e){return e==="completed"?"Completed":e==="failed"?"Failed":"Pending"}function el(e){return e===56||e===97?"BSC":e===612044||e===5555?"CROSS":`Chain ${e}`}function il(e,t){return!!e&&!!t&&e.chainId===t.chainId&&e.address.toLowerCase()===t.address.toLowerCase()}function al(e,t){if(!(!e||!t))return e.chainId===t.chainId?"swap":il(e,t)||e.symbol.toLowerCase()===t.symbol.toLowerCase()?"bridge":"swap-bridge"}function sl(e){return e==="swap"||e==="deposit-swap"||e==="swap-withdraw"}function Zo(e){return!e||e==="0"||Number(e)===0}function sf(e){let t=e.trim().toLowerCase();return t?t.startsWith("minimum ")?{from:e}:t.startsWith("available ")&&t.includes("or more")?{to:e}:t.includes("insufficient balance")||t.includes("not enough balance")||t.includes("exceeds balance")||t.includes("insufficient network fee")?{from:e}:t.includes("insufficient liquidity")||t.includes("not enough liquidity")?{to:e}:{}:{}}function lf(e){let t=e.fromToken,n=e.toToken,o=al(t,n),r=e.fromAmount||"0",a=e.toAmount||"0",i=o!==void 0&&!sl(o),s=o!==void 0&&o!=="bridge";return{pathType:o,bridgeInfo:i?[{label:"Route",value:t&&n?`${el(t.chainId)} \u2192 ${el(n.chainId)}`:"-"},{label:"Validator Fee",value:Zo(r)?"0":"Free",tone:Zo(r)?"default":"accent"},{label:"Network Fee",value:Zo(r)?"0":"Free",tone:Zo(r)?"default":"accent"}]:void 0,swapInfo:s?[t&&n?{label:"Route",value:"",routeTokens:[{symbol:t.symbol,iconUrl:t.iconUrl},{symbol:n.symbol,iconUrl:n.iconUrl}]}:{label:"Route",value:"-"},{label:"Price Impact",value:"0%"},{label:"In Amount",value:r,valueToken:t?{symbol:t.symbol,iconUrl:t.iconUrl}:void 0},{label:"Swap Fee",value:"0",valueToken:t?{symbol:t.symbol,iconUrl:t.iconUrl}:void 0},{label:"Out Amount",value:a,valueToken:n?{symbol:n.symbol,iconUrl:n.iconUrl}:void 0}]:void 0,txFee:[{label:"Priority Fee Per Gas",value:"0 Gwei"},{label:"Max Fee Per Gas",value:"0 Gwei"},{label:"Gas Limit",value:"0"}],txFeeInfo:{estTxFee:"0",isDelegateFee:!1}}}function no({token:e,size:t=20}){let n=e?.iconUrl;return f("span",{className:"bf-token-icon","data-has-image":!!n?"true":"false",style:{width:t,height:t},children:n?f("img",{src:n,alt:"",width:t,height:t,draggable:!1}):f("span",{className:"bf-token-fallback",children:e?.symbol?.slice(0,1)??"?"})})}function tl({label:e,token:t,amount:n,usd:o,onAmountChange:r,onTokenClick:a,locked:i=!1}){return R("section",{className:"bf-amount-panel",children:[R("div",{className:"bf-amount-head",children:[f("span",{children:e}),R("span",{className:"bf-balance",children:[ol(t?.balance??"0")," ",t?.symbol??""]})]}),R("div",{className:"bf-amount-main",children:[R("label",{className:"bf-amount-input-wrap",children:[R("span",{className:"bf-sr-only",children:[e," amount"]}),f("input",{type:"text",inputMode:"decimal",value:n,onChange:s=>r(s.target.value),placeholder:"0",className:"bf-amount-input"}),f("span",{className:"bf-amount-usd",children:o})]}),R("button",{type:"button",className:"bf-token-pill",onClick:i?void 0:a,disabled:!i&&!a,"data-locked":i?"true":void 0,"aria-label":`Select ${e.toLowerCase()} token`,children:[f(no,{token:t}),f("span",{children:t?.symbol??"Select"}),!i&&f(wn,{size:16})]})]})]})}function cf({flow:e,side:t,onClose:n}){let o=A.useId(),[r,a]=A.useState(""),[i,s]=A.useState(null),c=zn(),l=t==="from"?e.fromToken:e.toToken;A.useEffect(()=>{s(document.body)},[]),A.useEffect(()=>{let m=y=>{y.key==="Escape"&&n()};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[n]);let d=A.useMemo(()=>t==="from"?e.tokens:e.availableToTokens,[e.availableToTokens,e.tokens,t]),w=A.useMemo(()=>{let m=r.trim().toLowerCase();return m?d.filter(y=>y.symbol.toLowerCase().includes(m)||y.name.toLowerCase().includes(m)):d},[r,d]),h=A.useCallback(m=>{t==="from"?e.selectFromToken(m):e.selectToToken(m),n()},[e,n,t]);return i?Dn(f("div",{className:"bf-token-picker-overlay","data-theme":c,role:"presentation",onMouseDown:m=>{m.target===m.currentTarget&&n()},children:R("section",{className:"bf-token-picker",role:"dialog","aria-modal":"true","aria-labelledby":o,children:[f("span",{className:"bf-token-picker-handle","aria-hidden":"true"}),R("header",{className:"bf-token-picker-head",children:[f("h3",{id:o,children:"Select a token"}),f("button",{type:"button",className:"bf-token-picker-close",onClick:n,"aria-label":"Close token selector",children:f(Wt,{size:24})})]}),R("label",{className:"bf-token-search",children:[f(_s,{size:20}),f("span",{className:"bf-sr-only",children:"Search tokens"}),f("input",{value:r,onChange:m=>a(m.target.value),placeholder:"Search Tokens",autoComplete:"off",spellCheck:!1})]}),R("div",{className:"bf-token-list",children:[w.map(m=>{let y=il(m,l),b=y?Jp(m):Xp(m);return R("button",{type:"button",className:"bf-token-row","data-selected":y?"true":"false",onClick:()=>h(m),children:[R("span",{className:"bf-token-row-left",children:[f(no,{token:m,size:40}),R("span",{className:"bf-token-meta",children:[f("span",{className:"bf-token-symbol",children:m.symbol}),!y&&f("span",{className:"bf-token-name",children:m.name})]})]}),R("span",{className:"bf-token-row-right",children:[R("span",{className:"bf-token-balance",children:[ol(m.balance),y?null:` ${m.symbol}`]}),b&&f("span",{className:"bf-token-price",children:b})]})]},Qp(m))}),w.length===0&&f("div",{className:"bf-token-empty",children:"No tokens found"})]})]})}),i):null}function df({flow:e,onClose:t}){let n=A.useId(),[o,r]=A.useState(null),a=Zs.find(b=>b.value===e.slippage),[i,s]=A.useState(e.slippage&&!a?e.slippage:""),c=i.trim()!==""&&i.trim()!==".",l=c?Number(i):NaN,d=Number.isFinite(l)&&l>50,w=Number.isFinite(l)&&l>5&&!d,h=b=>{e.setSlippage(b),t()},m=()=>{!c||d||(e.setSlippage(Xs(i)),t())};if(A.useEffect(()=>{r(document.body)},[]),A.useEffect(()=>{let b=u=>{u.key==="Escape"&&t()};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[t]),!o)return null;let y=zn();return Dn(f("div",{className:"bf-slippage-overlay","data-theme":y,role:"presentation",onMouseDown:b=>{b.target===b.currentTarget&&t()},children:R("section",{className:"bf-slippage-dialog",role:"dialog","aria-modal":"true","aria-labelledby":n,children:[R("header",{className:"bf-slippage-head",children:[f("h3",{id:n,children:"Slippage Settings"}),f("button",{type:"button",className:"bf-slippage-close",onClick:t,"aria-label":"Close slippage settings",children:f(Wt,{size:24})})]}),R("div",{className:"bf-slippage-body",children:[f("p",{className:"bf-slippage-desc",children:"The maximum price difference you are willing to accept before the transaction is reverted. Higher slippage increases the chance of execution but may result in a worse price."}),R("div",{className:"bf-slippage-controls",children:[f("div",{className:"bf-slippage-presets",children:Zs.map(b=>f("button",{type:"button",className:"bf-slippage-preset","data-selected":!c&&e.slippage===b.value?"true":"false",onClick:()=>h(b.value),children:b.label},b.value))}),R("label",{className:"bf-slippage-custom","data-selected":c?"true":"false",children:[f("span",{className:"bf-sr-only",children:"Custom slippage percent"}),f("input",{value:i,onChange:b=>{s(Xs(b.target.value))},onKeyDown:b=>{b.key==="Enter"&&(b.preventDefault(),m())},inputMode:"decimal",placeholder:"Enter custom slippage",autoComplete:"off",spellCheck:!1}),f("span",{"aria-hidden":"true",children:"%"})]})]}),d?f("p",{className:"bf-slippage-message","data-variant":"error",children:"Slippage cannot exceed 50%."}):w?f("p",{className:"bf-slippage-message","data-variant":"warning",children:"Your transaction may be frontrun due to high slippage."}):null,c&&f("button",{type:"button",className:"bf-slippage-apply",onClick:m,disabled:d,children:"Apply"})]})]})}),o)}function pf({flow:e}){let t=A.useId(),[n,o]=A.useState(!1),[r,a]=A.useState(null),i=zn();return A.useEffect(()=>{a(document.body)},[]),A.useEffect(()=>{let s=c=>{c.key==="Escape"&&e.cancelTerms()};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e]),!r||!e.termsOpen?null:Dn(f("div",{className:"bf-action-modal-overlay","data-theme":i,role:"presentation",onPointerDown:s=>{s.target===s.currentTarget&&e.cancelTerms()},children:R("section",{className:"bf-action-modal bf-terms-modal",role:"dialog","aria-modal":"true","aria-labelledby":t,children:[f("h3",{id:t,children:"Agree to Terms of Service"}),f("p",{className:"bf-action-modal-desc",children:"Please make sure to review the Terms of Service before using CROSSD."}),R("div",{className:"bf-terms-check-row","data-checked":n?"true":"false",children:[f("button",{type:"button",className:"bf-terms-check-button",role:"checkbox","aria-checked":n,"aria-label":"Agree to Terms of Use",onClick:()=>o(s=>!s),children:f("span",{className:"bf-terms-checkbox","data-checked":n?"true":"false","aria-hidden":"true"})}),R("div",{className:"bf-terms-copy",children:[f("span",{className:"bf-terms-label",children:"Agree to Terms of Use"}),e.termsUrl&&f("a",{href:e.termsUrl,target:"_blank",rel:"noreferrer",children:"Terms of Service"})]})]}),f("p",{className:"bf-terms-privacy",children:"I have read and acknowledged the Privacy Policy to use CROSSD"}),f("button",{type:"button",className:"bf-action-primary",disabled:!n||e.status==="submitting",onClick:e.confirmTerms,children:"Confirm"})]})}),r)}function ff({value:e,disabled:t=!1}){let[n,o]=A.useState(!1);return f("button",{type:"button",className:"bf-copy-button","aria-label":"Copy token address",disabled:t,onClick:()=>{t||navigator.clipboard?.writeText(e).then(()=>{o(!0),window.setTimeout(()=>o(!1),1200)})},children:n?"OK":"Copy"})}function uf({flow:e,approval:t}){let n=A.useId(),[o,r]=A.useState(null),a=zn();if(A.useEffect(()=>{r(document.body)},[]),A.useEffect(()=>{let c=l=>{e.status!=="submitting"&&l.key==="Escape"&&e.cancelApproval()};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[e]),!o)return null;let i=e.status==="submitting"||!e.approveBridge,s=e.status==="submitting";return Dn(f("div",{className:"bf-action-modal-overlay","data-theme":a,role:"presentation",children:R("section",{className:"bf-action-modal bf-approve-modal",role:"dialog","aria-modal":"true","aria-labelledby":n,children:[R("h3",{id:n,children:["Approve ",t.token.symbol]}),f(no,{token:t.token,size:72}),R("div",{className:"bf-approve-address-box",children:[f("span",{children:"Token Address"}),R("div",{children:[f("strong",{children:t.tokenAddress}),f(ff,{value:t.tokenAddress,disabled:s})]})]}),R("div",{className:"bf-action-buttons",children:[f("button",{type:"button",className:"bf-action-secondary",onClick:e.cancelApproval,disabled:e.status==="submitting",children:"Cancel"}),R("button",{type:"button",className:"bf-action-primary",onClick:e.confirmApproval,disabled:i,"aria-busy":s,children:[s&&f("span",{className:"bf-action-button-spinner","aria-hidden":"true"}),f("span",{children:s?"Approving...":"Approve"})]})]})]})}),o)}function mf({flow:e}){let t=A.useId(),[n,o]=A.useState(null),r=zn();if(A.useEffect(()=>{o(document.body)},[]),A.useEffect(()=>{if(!e.approvalSuccessOpen)return;let i=s=>{s.key==="Escape"&&e.cancelApproval()};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[e]),!n||!e.approvalSuccessOpen)return null;let a=e.status==="submitting";return Dn(f("div",{className:"bf-action-modal-overlay","data-theme":r,role:"presentation",children:R("section",{className:"bf-action-modal bf-approval-success-modal",role:"dialog","aria-modal":"true","aria-labelledby":t,children:[f("h3",{id:t,children:"Approval Success"}),f("span",{className:"bf-success-mark","aria-hidden":"true"}),R("p",{className:"bf-action-modal-desc",children:["Token approval confirmed successfully.",f("br",{}),"Please continue to the next step."]}),R("div",{className:"bf-action-buttons",children:[f("button",{type:"button",className:"bf-action-secondary",onClick:e.cancelApproval,disabled:a,children:"Cancel"}),R("button",{type:"button",className:"bf-action-primary",onClick:e.continueAfterApproval,disabled:a,"aria-busy":a,children:[a&&f("span",{className:"bf-action-button-spinner","aria-hidden":"true"}),f("span",{children:a?"Continuing...":"Continue"})]})]})]})}),n)}function gf({fromAmount:e,toAmount:t,fromToken:n,toToken:o}){let[r,a]=A.useState(!1),i=A.useMemo(()=>{let l=new Vt(e||"0"),d=new Vt(t||"0");return!l.isFinite()||!d.isFinite()||l.lte(0)||d.lte(0)?null:r?l.dividedBy(d):d.dividedBy(l)},[e,r,t]);if(!i||!n||!o||n.symbol===o.symbol)return null;let s=r?o.symbol:n.symbol,c=r?n.symbol:o.symbol;return R("button",{type:"button",className:"bf-exchange-rate",onClick:()=>a(l=>!l),children:[R("span",{children:["1 ",s]}),f(zs,{size:12}),R("span",{children:[rl(i)," ",c]})]})}function hf({flow:e}){return e.submitToast?R("div",{className:"bf-status-toast","data-variant":"processing",role:"status","aria-live":"polite",children:[f("span",{className:"bf-status-toast-icon","aria-hidden":"true",children:f("span",{className:"bf-status-spinner"})}),R("span",{className:"bf-status-toast-copy",children:[f("strong",{children:"Transaction Processing"}),f("span",{children:"Your transaction is being processed on the blockchain"})]})]}):null}function bf({message:e}){let[t,n]=A.useState(!1);return A.useEffect(()=>{if(!e){n(!1);return}n(!0);let o=window.setTimeout(()=>{n(!1)},3500);return()=>window.clearTimeout(o)},[e]),!e||!t?null:R("div",{className:"bf-status-toast","data-variant":"error",role:"alert","aria-live":"assertive",children:[f("span",{className:"bf-status-toast-icon","aria-hidden":"true",children:f("span",{className:"bf-status-error-mark",children:"!"})}),R("span",{className:"bf-status-toast-copy",children:[f("strong",{children:"Error"}),f("span",{children:e})]})]})}function wf(e){switch(e){case"swap":case"deposit-swap":case"swap-withdraw":return"Swap Transaction Sent";case"bridge":return"Bridge Transaction Sent";case"swap-bridge":return"Swap & Bridge Transaction Sent";case"bridge-swap":return"Bridge & Swap Transaction Sent";default:return"Transaction Sent"}}function xf({flow:e}){let t=A.useId(),[n,o]=A.useState(null),r=e.submitted,a=zn();return A.useEffect(()=>{o(document.body)},[]),A.useEffect(()=>{if(!e.successDialogOpen)return;let i=s=>{s.key==="Escape"&&e.dismissSuccessDialog()};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[e]),!n||!e.successDialogOpen||!r?null:Dn(f("div",{className:"bf-success-overlay","data-theme":a,role:"presentation",children:f("section",{className:"bf-success-modal",role:"dialog","aria-modal":"true","aria-labelledby":t,children:R("div",{className:"bf-success-body",children:[f("span",{className:"bf-success-mark","aria-hidden":"true"}),R("div",{className:"bf-success-copy",children:[f("strong",{id:t,children:wf(r.pathType)}),f("span",{children:"Please check the results in the history."})]}),f("div",{className:"bf-success-route","aria-hidden":"true",children:(r.routeTokens&&r.routeTokens.length>0?r.routeTokens:[{symbol:r.fromToken.symbol,iconUrl:r.fromToken.iconUrl},{symbol:r.toToken.symbol,iconUrl:r.toToken.iconUrl}]).map((i,s)=>R(A.Fragment,{children:[s>0&&f("span",{className:"bf-success-route-arrow",children:"\u2192"}),f(ri,{token:i,size:43})]},`${i.symbol}-${s}`))}),f("button",{type:"button",className:"bf-success-ok",onClick:e.dismissSuccessDialog,children:"OK"})]})})}),n)}function ri({token:e,size:t=16}){let n=!!e.iconUrl;return f("span",{className:"bf-token-icon","data-has-image":n?"true":"false",style:{width:t,height:t},children:e.iconUrl?f("img",{src:e.iconUrl,alt:"",width:t,height:t,draggable:!1}):f("span",{className:"bf-token-fallback",children:e.symbol?.slice(0,1)??"?"})})}function vf({row:e}){return e.routeTokens&&e.routeTokens.length>0?f("span",{className:"bf-info-route",children:e.routeTokens.map((t,n)=>R(A.Fragment,{children:[n>0&&f("span",{className:"bf-info-route-arrow","aria-hidden":"true",children:"\u2192"}),f(ri,{token:t})]},`${t.symbol}-${n}`))}):e.valueToken?R("span",{className:"bf-info-value-token",children:[f(ri,{token:e.valueToken}),f("span",{children:e.value})]}):f(ii,{children:e.value})}function ll({rows:e}){return!e||e.length===0?null:f("div",{className:"bf-info-rows",children:e.map((t,n)=>R("div",{className:"bf-info-row",children:[R("span",{className:"bf-info-label",children:[f("span",{className:"bf-tree-marker",children:n===e.length-1?"\u2514":"\u251C"}),f("span",{children:t.label})]}),f("span",{className:"bf-info-value","data-tone":t.tone??"default",children:f(vf,{row:t})})]},`${t.label}-${t.value}`))})}function yf(e,t,n){return e.pathType==="bridge"?"Bridge Info":sl(e.pathType)?"Swap Info":t&&n?"Swap & Bridge Info":t?"Bridge Info":"Swap Info"}function kf({summary:e}){let t=!!e.bridgeInfo?.length,n=!!e.swapInfo?.length,o=t&&n,r=e.pathType==="bridge-swap"?["bridge","swap"]:["swap","bridge"];return f(ii,{children:r.map(a=>{let i=a==="swap"?e.swapInfo:e.bridgeInfo;return i?.length?R("div",{className:"bf-info-section",children:[o&&f("h4",{children:a==="swap"?"Swap Info":"Bridge Info"}),f(ll,{rows:i})]},a):null})})}function Sf({summary:e}){let t=!!e.bridgeInfo?.length,n=!!e.swapInfo?.length,o=!!e.txFee?.length,r=yf(e,t,n),[a,i]=A.useState(!0),[s,c]=A.useState(!0);return R("div",{className:"bf-details",children:[e.liquidity&&R("section",{className:"bf-liquidity",children:[R("div",{className:"bf-liquidity-head",children:[f("span",{children:e.liquidity.label??"Available Liquidity"}),f("span",{className:"bf-liquidity-status","data-status":e.liquidity.status,children:e.liquidity.status??"Normal"})]}),f("div",{className:"bf-liquidity-track",children:f("span",{style:{width:`${e.liquidity.percentage??50}%`}})})]}),(t||n)&&R("section",{className:"bf-detail-section bf-info-card","data-open":a?"true":"false",children:[R("button",{type:"button",className:"bf-collapse-head","aria-expanded":a,onClick:()=>i(l=>!l),children:[f("h3",{children:r}),f(wn,{size:16,className:"bf-collapse-chevron"})]}),a&&f("div",{className:"bf-collapse-body",children:f(kf,{summary:e})})]}),o&&R("section",{className:"bf-detail-section bf-tx-fee-section","data-open":s?"true":"false",children:[R("button",{type:"button",className:"bf-collapse-head bf-tx-fee-head","aria-expanded":s,onClick:()=>c(l=>!l),children:[f("h3",{children:"Est. Tx Fee"}),R("div",{className:"bf-tx-fee-total",children:[e.txFeeInfo?.isDelegateFee&&f("span",{className:"bf-fee-delegated",children:"Fee Delegated"}),e.txFeeInfo?.tokenIconUrl&&f("img",{className:"bf-tx-fee-token",src:e.txFeeInfo.tokenIconUrl,alt:e.txFeeInfo.tokenSymbol??"",width:16,height:16,draggable:!1}),f("span",{"data-delegated":e.txFeeInfo?.isDelegateFee&&Number(e.txFeeInfo?.estTxFee)>0?"true":void 0,children:Yp(e.txFeeInfo?.estTxFee??"0")}),f(wn,{size:16,className:"bf-collapse-chevron"})]})]}),s&&f("div",{className:"bf-collapse-body",children:f(ll,{rows:e.txFee})})]})]})}function Rf({item:e}){let t=Xo(e),n=of(e.fromAmount,e.fromToken);return R("article",{className:"bf-history-item",children:[R("div",{className:"bf-history-item-head",children:[f("span",{className:"bf-history-status","data-status":t,children:af(t)}),f("time",{className:"bf-history-time",dateTime:e.timestamp,children:tf(e.timestamp)})]}),R("div",{className:"bf-history-item-body",children:[R("strong",{className:"bf-history-amount",children:[nf(e.fromAmount)," ",e.fromToken.symbol]}),R("div",{className:"bf-history-meta",children:[f("span",{className:"bf-history-usd",children:n??ef(e.txHash)}),R("span",{className:"bf-history-route",children:[R("span",{className:"bf-history-route-token",children:[f(no,{token:e.fromToken,size:16}),f("span",{children:e.fromToken.symbol})]}),f(Ds,{size:16,className:"bf-history-route-arrow"}),R("span",{className:"bf-history-route-token",children:[f(no,{token:e.toToken,size:16}),f("span",{children:e.toToken.symbol})]})]})]})]})]})}function Cf({flow:e}){let[t,n]=A.useState("all"),o=e.history.some(i=>Xo(i)==="pending"),r=e.history.filter(i=>rf(i,t)),a=t==="all"?"No bridge history yet.":`No ${t} bridge history.`;return R("main",{className:"bf-history-body",children:[f("nav",{className:"bf-history-tabs","aria-label":"Bridge history filters",children:qp.map(i=>R("button",{type:"button",className:"bf-history-tab","data-active":t===i.value?"true":"false",onClick:()=>n(i.value),children:[f("span",{children:i.label}),i.value==="pending"&&o&&f("span",{className:"bf-history-tab-dot","aria-hidden":"true"})]},i.value))}),r.length>0?f("div",{className:"bf-history-list",children:r.map(i=>f(Rf,{item:i},i.id||i.txHash))}):f("div",{className:"bf-empty",children:a})]})}function Tf({flow:e,env:t}){let[n,o]=A.useState(null),[r,a]=A.useState(!1),[i,s]=A.useState(0),l=!!(e.fromAmount.trim()||e.toAmount.trim())?e.summary??lf(e):null,d=yn("apps.json",t,p=>vn(p?.bridgePoweredBy?.url,t)),w=sf(e.quoteError),h=Zp(e.fromAmount,e.fromToken),m=h?"Insufficient balance":w.from,y=e.quoteError&&!w.from&&!w.to?e.quoteError:"",b=e.error||y,u=e.history.some(p=>Xo(p)==="pending"),C=(l?.pathType??al(e.fromToken,e.toToken))!=="bridge";return R(ii,{children:[R("main",{className:"bf-body",children:[R("div",{className:"bf-toolbar",children:[R("button",{type:"button",className:"bf-chip bf-chip-history",onClick:()=>e.setStep("history"),children:[f(Ms,{}),f("span",{children:"History"}),(u||e.hasNewHistory)&&f("span",{className:"bf-chip-dot","aria-hidden":"true"})]}),C&&R("button",{type:"button",className:"bf-chip",onClick:()=>a(!0),disabled:e.slippageLocked,"aria-haspopup":"dialog","aria-expanded":r,children:[f(Os,{}),f("span",{children:e.slippageLocked?"Auto 1%":Kp(e.slippage,e.effectiveSlippage)})]})]}),R("div",{className:"bf-swap-card","data-has-from-error":m?"true":"false",children:[f(tl,{label:"From",token:e.fromToken,amount:e.fromAmount,usd:Js(e.fromAmount,e.fromToken),onAmountChange:p=>e.setAmount(p,"from"),onTokenClick:()=>o("from")}),m&&f("div",{className:"bf-field-error",children:m}),f("button",{type:"button",className:"bf-swap-toggle",onClick:()=>{e.swapTokens(),s(p=>p+360)},style:{transform:`translateX(-50%) rotate(${i}deg)`,transition:"transform 0.2s ease"},children:f(Ws,{size:22})}),f(tl,{label:"To",token:e.toToken,amount:e.toAmount,usd:Js(e.toAmount,e.toToken),onAmountChange:p=>e.setAmount(p,"to"),onTokenClick:()=>o("to"),locked:e.availableToTokens.length<=1}),w.to&&f("div",{className:"bf-field-error",children:w.to})]}),f(gf,{fromAmount:e.fromAmount,toAmount:e.toAmount,fromToken:e.fromToken,toToken:e.toToken}),l&&f(Sf,{summary:l})]}),R("footer",{className:"bf-footer",children:[f("button",{type:"button",className:"bf-next",onClick:e.submit,disabled:e.status==="submitting"||!!e.quoteError||h,children:e.status==="submitting"?"Processing...":"Next"}),d&&R("a",{className:"bf-powered",href:d,target:"_blank",rel:"noreferrer",children:["Powered by ",f("span",{className:"bf-powered-brand",children:"CROSS DeFi"})]})]}),n&&f(cf,{flow:e,side:n,onClose:()=>o(null)}),r&&f(df,{flow:e,onClose:()=>a(!1)}),f(pf,{flow:e}),e.approvalInfo&&f(uf,{flow:e,approval:e.approvalInfo}),f(mf,{flow:e}),f(hf,{flow:e}),f(bf,{message:e.submitToast?"":b}),f(xf,{flow:e})]})}function Jo({onClose:e,onBackToWallet:t,env:n,className:o,...r}){let a=A.useMemo(()=>_e(n),[n]),i=Ys({...r,onExit:t}),s=A.useRef(null),c=Vp(s),l=i.step==="history"?"History":"Swap & Bridge";return f(nl.Provider,{value:c,children:R("div",{ref:s,className:se("bf-root",o),"data-view":i.step,"data-status":i.status,children:[R("header",{className:"bf-header",children:[f("button",{type:"button",className:"bf-header-btn",onClick:i.back,"aria-label":"Back",children:f(bn,{size:24})}),f("span",{className:"bf-header-title",children:l}),f("button",{type:"button",className:"bf-header-btn",onClick:e,"aria-label":"Close",children:f(Wt,{size:24})})]}),i.step==="history"?f(Cf,{flow:i}):f(Tf,{flow:i,env:a})]})})}import{Fragment as tr,jsx as g,jsxs as E}from"react/jsx-runtime";var If="On-ramp is not available in your region.";function ai(e,t,n){let o=ye[e],r=n.toUpperCase();if(t===o.cross&&r.includes("CROSSD"))return 0;if(t===o.cross&&r==="CROSS")return 1;if(t===o.bsc&&r==="CROSS")return 2}function Ef(e){return parseInt(e.split(":")[1],10)}function Lf(e){if(typeof window>"u"||!e?.length)return!1;let{origin:t,pathname:n}=window.location,o=t+n;return e.some(r=>o===r||o.startsWith(`${r}/`))}function Af(e){let t=e.lastIndexOf(".");return t===-1?{main:e,decimal:""}:{main:e.slice(0,t),decimal:e.slice(t)}}function Pf(e){let t=e.toLowerCase().replace(/^0x/,""),n=t.length>=8?t.slice(0,8):t.padEnd(8,"0"),o=parseInt(n.slice(0,4),16)%360,r=(o+60+parseInt(n.slice(4,8),16)%120)%360;return`linear-gradient(135deg, hsl(${o} 85% 65%), hsl(${r} 80% 55%))`}function cl({align:e="end",sideOffset:t=12,className:n,children:o}){let{env:r,theme:a,isMobile:i,open:s,drawerDirection:c,modal:l,showBalance:d,showForgeToken:w,showGameToken:h,showQR:m,showBridge:y,qrLogoSrc:b,walletAddress:u,accountName:v,sendAccounts:C,profileImageUrl:p,preferredTokens:T,close:k,onSelectWallet:N,onCopyAddress:S,onBuy:G,onDisconnect:O,disconnectLabel:H,termsUrl:B,termsLabel:ie,privacyUrl:I,privacyLabel:oe,portalStyle:W,navContent:V,navPosition:he,footerContent:X,view:U,setView:fe,selectedSendToken:ce,setSelectedSendToken:$,showPortfolio:Ne,portfolioTitle:F,portfolioSections:J,showTotalAssets:ue,totalAssetsLabel:Le,sendTransaction:Q,getTransactionReceipt:de,estimateGas:Ie,onOutlink:Ee,lpBalanceReader:Qt,stakingRewardsReader:Ae,bridgeTokens:ke,bridgeHistory:dt,getBridgeQuote:Pe,getBridgeToTokens:De,getBridgeApproval:Se,approveBridge:_t,submitBridge:yt,onReceive:Mt,onSend:rt,onBuyDisabledMessage:kt,onBridgeDisabledMessage:pt,onSendDisabledMessage:be}=tn(),[Ot,ft]=z.useState(null),ze=z.useRef(void 0),Fe=z.useCallback(x=>{ft(x),clearTimeout(ze.current),ze.current=setTimeout(()=>ft(null),4e3)},[]);z.useEffect(()=>()=>clearTimeout(ze.current),[]);let Ge=!!kt,et=z.useCallback(()=>{if(Ge){Fe(kt);return}let x=G?.();x&&typeof x.then=="function"&&x.catch(()=>{Fe(kt??If)})},[Ge,kt,G,Fe]),it=!!pt,tt=!!be,{tokens:ut,isLoading:St}=an(r,u,s&&d),{statsMap:je}=sn(r,d),{apyPercent:Ve}=Ma(),{categoryMap:qe}=Oa(r,d),L=d&&ue,{displayValue:ee,isLowerBound:we,isLoading:at}=Wa(r,u,s&&L),[mt,Rt]=z.useState(!1),Tn=z.useRef(null),[Ct,co]=z.useState(0),{holdings:fn,isLoading:D}=Ba(r,u,s&&d&&w),Be=z.useMemo(()=>fn.map(x=>x.token),[fn]),{imageMap:q}=_a(r,Be,w&&fn.length>0),me=z.useMemo(()=>{let x=[],_=[],te=[],Qe=new Map((T??[]).map((ae,He)=>[`${Ef(ae.chainId)}:${ae.address.toLowerCase()}`,He]));for(let ae of ut){let He=ai(r,ae.chainId,ae.symbol)!==void 0,Nt=`${ae.chainId}:${ae.address.toLowerCase()}`,mn=Qe.get(Nt),xr=new oo(ae.quantity.numeric).shiftedBy(-ae.quantity.decimals);if(He)x.push(ae);else if(mn!==void 0)_.push(ae);else if(xr.isGreaterThan(0)){if(!h&&qe.get(Gr(ae.chainId,ae.address))==="game")continue;te.push(ae)}}return x.sort((ae,He)=>{let Nt=ai(r,ae.chainId,ae.symbol)??99,mn=ai(r,He.chainId,He.symbol)??99;return Nt-mn}),_.sort((ae,He)=>{let Nt=Qe.get(`${ae.chainId}:${ae.address.toLowerCase()}`)??99,mn=Qe.get(`${He.chainId}:${He.address.toLowerCase()}`)??99;return Nt-mn}),te.sort((ae,He)=>{let Nt=je.get(Lt(ae.chainId,ae.address)),mn=je.get(Lt(He.chainId,He.address)),xr=new oo(ae.quantity.numeric).shiftedBy(-ae.quantity.decimals).multipliedBy(Nt?.price??0);return new oo(He.quantity.numeric).shiftedBy(-He.quantity.decimals).multipliedBy(mn?.price??0).minus(xr).toNumber()}),[...x,..._,...te]},[ut,r,je,h,qe,T]),po=z.useMemo(()=>{if(!w)return[];let x=new Set(ut.map(_=>_.address.toLowerCase()));return[...fn].filter(_=>!x.has(_.token.toLowerCase())).sort((_,te)=>{let Qe=new oo(_.value);return new oo(te.value).minus(Qe).toNumber()})},[fn,w,ut]),un=z.useRef(!1),[Ke,Hn]=z.useState(null),Nn=z.useRef(void 0),pi=Ke?.chainId??ce?.chainId??me[0]?.chainId??0,{transactionUrl:fr}=Ro(r,pi,Ke?.txHash,!!(Ke?.txHash&&pi)),Tt=z.useCallback(x=>{un.current=!0,fe(x)},[fe]),[Wl,ur]=z.useState("recipient"),fo=z.useCallback(()=>{$(null),ur("recipient"),Tt("wallet")},[$,Tt]),mr=z.useCallback((x,_="recipient")=>{if(tt){Fe(be);return}ur(_),$(x),Tt("send")},[tt,be,Fe,$,Tt]),uo=yn("apps.json",r,x=>vn(x?.gametokenBridge,r)),fi=yn("apps.json",r,x=>x?.gametokenSites),Dl=z.useCallback(()=>{if(it){Fe(pt);return}if(uo){if(Lf(fi)){window.location.assign(uo);return}window.open(uo,"_blank","noopener,noreferrer")}},[it,pt,uo,fi,Fe]),zl=z.useCallback(x=>{clearTimeout(Nn.current),$(null),Tt("wallet"),Hn({status:"pending",txHash:x.txHash,chainId:x.chainId,description:`${x.amount} ${x.tokenSymbol} to ${lt(x.recipient)}`})},[$,Tt]),Gl=z.useCallback(x=>{let _=ce?.chainId;$(null),Tt("wallet"),!(!x||!_)&&(Hn(te=>({status:"success",txHash:x,chainId:_,description:te?.txHash===x?te.description:"Tap to see your transaction"})),clearTimeout(Nn.current),Nn.current=setTimeout(()=>Hn(null),5e3))},[ce?.chainId,$,Tt]),Hl=z.useCallback(x=>{let _=x.txHash;_&&(Hn({status:"error",txHash:_,chainId:x.chainId,description:x.message}),clearTimeout(Nn.current),Nn.current=setTimeout(()=>Hn(null),5e3))},[]),Un=z.useMemo(()=>{if(Mt)return Mt;if(m)return()=>Tt("qr")},[Mt,m,Tt]),gr=z.useMemo(()=>{if(rt)return rt;if(me.length===0)return;let x=me[0];return()=>mr(x,"token")},[rt,me,mr]),Ul=z.useCallback(()=>{if(tt){Fe(be);return}gr?.()},[tt,be,gr,Fe]);z.useEffect(()=>{s||(un.current=!1,ur("recipient"))},[s]);let ui=z.useRef(null);z.useEffect(()=>{let x=ui.current;if(!x||!i)return;let _=te=>{te.pointerType==="touch"&&te.stopPropagation()};return x.addEventListener("pointerdown",_),()=>x.removeEventListener("pointerdown",_)},[i]);let[In,mi]=z.useState(!1),hr=z.useRef(void 0),[$n,jn]=z.useState(!1);z.useEffect(()=>{if(!$n)return;let x=()=>jn(!1),_=Qe=>{Qe.key==="Escape"&&jn(!1)},te=setTimeout(()=>{document.addEventListener("mousedown",x,!0),document.addEventListener("keydown",_,!0)},0);return()=>{clearTimeout(te),document.removeEventListener("mousedown",x,!0),document.removeEventListener("keydown",_,!0)}},[$n]),z.useEffect(()=>{jn(!1)},[u]),z.useEffect(()=>()=>clearTimeout(hr.current),[]),z.useEffect(()=>()=>clearTimeout(Nn.current),[]),z.useEffect(()=>{let x=Tn.current;if(!x||X===null){co(0);return}let _=()=>{co(x.offsetHeight)};if(_(),typeof ResizeObserver>"u")return;let te=new ResizeObserver(_);return te.observe(x),()=>te.disconnect()},[X]);let gi=z.useCallback(async()=>{if(!In)try{await navigator.clipboard.writeText(u),mi(!0),clearTimeout(hr.current),hr.current=setTimeout(()=>mi(!1),2e3),S?.(u,!0)}catch{S?.(u,!1)}},[u,S,In]),mo=z.useCallback(x=>{x.currentTarget.setAttribute("data-loaded","true")},[]),hi=z.useMemo(()=>({background:Pf(u)}),[u]),go=z.useMemo(()=>p||Zt(r,u,{size:120,bg:a==="dark"?"1A1A2E":"F3F6F8"}),[p,r,u,a]),br=z.useMemo(()=>Af(ee),[ee]),bi=B||I?E("div",{className:"wi-legal-links",children:[B&&g("a",{className:"wi-legal-link",href:B,target:"_blank",rel:"noopener noreferrer",onClick:x=>Xe(x,B,{category:"terms",origin:"terms"},Ee),children:ie}),B&&I&&g("span",{className:"wi-legal-sep","aria-hidden":!0,children:"\xB7"}),I&&g("a",{className:"wi-legal-link",href:I,target:"_blank",rel:"noopener noreferrer",onClick:x=>Xe(x,I,{category:"privacy",origin:"privacy"},Ee),children:oe})]}):null,wi=O?E("button",{type:"button",className:"wi-disconnect-btn",onClick:()=>{O(),k()},children:[g(Hi,{size:16}),g("span",{className:"wi-disconnect-label",children:H})]}):null,$l=d&&!V?E("div",{className:"wi-action-row","aria-label":"Wallet actions",children:[E("button",{type:"button",className:se("wi-action-card",Ge&&"wi-action-card--dimmed"),onClick:et,disabled:!G&&!Ge,"aria-disabled":Ge||void 0,"aria-label":"Buy",children:[g(Ki,{size:20}),g("span",{children:"Buy"})]}),y?E("button",{type:"button",className:se("wi-action-card",it&&"wi-action-card--dimmed"),onClick:Dl,"aria-disabled":it||void 0,"aria-label":"Bridge",children:[g(Qi,{size:20}),g("span",{children:"Bridge"})]}):E("button",{type:"button",className:"wi-action-card",onClick:Un,disabled:!Un,"aria-label":"Receive",children:[g(ko,{size:20}),g("span",{children:"Receive"})]}),E("button",{type:"button",className:se("wi-action-card",tt&&"wi-action-card--dimmed"),onClick:Ul,disabled:!tt&&!gr,"aria-disabled":tt||void 0,"aria-label":"Send",children:[g(Vi,{size:20}),g("span",{children:"Send"})]}),Ne?E("button",{type:"button",className:"wi-action-card",onClick:()=>Tt("portfolio"),"aria-label":"View portfolio",children:[g(qi,{size:20}),g("span",{children:"Portfolio"})]}):y?E("button",{type:"button",className:"wi-action-card",onClick:Un,disabled:!Un,"aria-label":"Receive",children:[g(ko,{size:20}),g("span",{children:"Receive"})]}):null]}):null,jl=E("div",{className:se("wi-view-inner",un.current&&"wi-view-wallet"),children:[L&&E("div",{className:"wi-total-section",children:[E("div",{className:"wi-total-head",children:[g("span",{className:"wi-total-label",children:Le}),g("span",{role:"button",tabIndex:0,className:"wi-total-eye",onClick:x=>{x.stopPropagation(),Rt(_=>!_)},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),x.stopPropagation(),Rt(_=>!_))},"aria-label":mt?"Show balance":"Hide balance",children:mt?g($i,{}):g(Ui,{})})]}),g("div",{className:"wi-total-body",children:at?g("div",{className:"wi-skeleton-block wi-total-skeleton",style:{width:160,height:42}}):g("div",{className:"wi-total-value","data-hidden":mt||void 0,children:mt?g("span",{className:"wi-total-mask",children:"\u2022\u2022\u2022\u2022\u2022\u2022"}):E(tr,{children:[we&&g("span",{className:"wi-total-lte",children:"\u2264"}),g("span",{className:"wi-total-currency",children:"$"}),g("span",{className:"wi-total-amount",children:br.main}),br.decimal&&g("span",{className:"wi-total-decimal",children:br.decimal})]})})})]}),he==="top"&&(V?g("div",{className:"wi-nav-fixed",children:V}):$l),d&&g("div",{ref:ui,className:"wi-scrollable-body","data-vaul-no-drag":!0,children:E("div",{className:"wi-token-list",children:[St&&Array.from({length:5},(x,_)=>E("div",{className:"wi-skeleton-item",children:[E("div",{className:"wi-skeleton-left",children:[g("div",{className:"wi-skeleton-block wi-skeleton-icon"}),E("div",{className:"wi-skeleton-lines",children:[g("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),g("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),E("div",{className:"wi-skeleton-right",children:[g("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),g("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},_)),!St&&me.length===0&&!w&&g("div",{className:"wi-empty",children:"No Tokens Found"}),me.map(x=>{let _=je.get(Lt(x.chainId,x.address)),te=_?parseFloat(_.percent_change_24h):null,Qe=te!==null&&te>=0,ae=Zn(r,x.chainId),He=ha(x.address);return E("button",{type:"button",className:"wi-token-item wi-token-item--button",onClick:()=>mr(x),"aria-label":`Send ${x.symbol}`,children:[E("div",{className:"wi-token-left",children:[E("div",{className:"wi-token-icon-wrap",children:[g("img",{src:x.icon_url,alt:x.symbol,className:"wi-token-icon",width:32,height:32,loading:"lazy",draggable:!1,onLoad:mo,onError:Nt=>{Nt.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),ae&&g("img",{src:ae,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:Nt=>{Nt.currentTarget.style.display="none"}})]}),E("div",{className:"wi-token-info",children:[E("span",{className:"wi-token-name-row",children:[g("span",{className:"wi-token-name",children:x.symbol}),He&&Ve!==null&&g("span",{className:"wi-token-apy",children:`APY ${Ve>=0?"+":"-"}${(Ve>=0?Math.floor:Math.ceil)(Math.abs(Ve)*100)/100}%`})]}),_&&E("div",{className:"wi-token-price-row",children:[g("span",{className:"wi-token-price",children:Nr(_.price)}),g("span",{className:"wi-token-change","data-positive":Qe,"data-zero":te===0||void 0,children:te!==null&&(te===0?"0%":`${Qe?"+":"-"}${(Qe?Math.floor:Math.ceil)(Math.abs(te)*100)/100}%`)})]})]})]}),E("div",{className:"wi-token-right",children:[g("span",{className:"wi-token-balance",children:nn(x.quantity.numeric,x.quantity.decimals)}),_&&g("span",{className:"wi-token-value",children:Zi(x.quantity.numeric,x.quantity.decimals,_.price)})]})]},`${x.address}-${x.chainId}`)}),w&&D&&Array.from({length:3},(x,_)=>E("div",{className:"wi-skeleton-item",children:[E("div",{className:"wi-skeleton-left",children:[g("div",{className:"wi-skeleton-block wi-skeleton-icon"}),E("div",{className:"wi-skeleton-lines",children:[g("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),g("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),E("div",{className:"wi-skeleton-right",children:[g("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),g("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},`forge-sk-${_}`)),w&&!D&&!St&&me.length===0&&po.length===0&&g("div",{className:"wi-empty",children:"No Tokens Found"}),w&&po.map(x=>{let _=q.get(x.token)||"",te=Zn(r,ye[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:[g("img",{src:_||"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:mo,onError:Qe=>{Qe.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),te&&g("img",{src:te,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:Qe=>{Qe.currentTarget.style.display="none"}})]}),E("div",{className:"wi-token-info",children:[g("span",{className:"wi-token-name",children:x.token_name}),g("div",{className:"wi-token-price-row",children:E("span",{className:"wi-token-price",children:[nn(x.current_price,18)," CROSS"]})})]})]}),E("div",{className:"wi-token-right",children:[g("span",{className:"wi-token-balance",children:nn(x.balance,18)}),g("span",{className:"wi-token-value",children:Nr(x.current_value_usd)})]})]},`forge-${x.token}`)})]})}),he==="bottom"&&V&&g("div",{className:"wi-nav-fixed",children:V}),wi&&g("div",{className:"wi-wallet-disconnect-row",children:wi})]},"wallet"),Vl=Ne?g("div",{className:se("wi-view-inner wi-portfolio-body",un.current&&"wi-view-portfolio"),children:g(Wn,{env:r,theme:a,walletAddress:u,showHeader:!1,onOutlink:Ee,lpBalanceReader:Qt,stakingRewardsReader:Ae,sendTransaction:Q,estimateGas:Ie,sections:J})},"portfolio"):null,ql=ce?g("div",{className:se("wi-view-inner wi-send-body",un.current&&"wi-view-send"),children:g(Mo,{env:r,theme:a,walletAddress:u,accountName:v,accounts:C,initialStep:Wl,token:ce,tokens:me,onTokenChange:$,sendTransaction:Q,getTransactionReceipt:de,estimateGas:Ie,getTokenPriceUsd:x=>{let _=je.get(Lt(x.chainId,x.address));if(!_?.price)return;let te=parseFloat(_.price);return Number.isFinite(te)?te:void 0},onClose:k,onBackToWallet:fo,onSubmitted:zl,onSuccess:Gl,onFailed:Hl,onOutlink:Ee})},"send"):null,Kl=z.useMemo(()=>ke||me.map(x=>{let _=je.get(Lt(x.chainId,x.address)),te=_?.price?parseFloat(_.price):void 0;return{name:x.name,symbol:x.symbol,chainId:x.chainId,address:x.address,decimals:x.quantity.decimals,balance:Qn(x.quantity.numeric,x.quantity.decimals),iconUrl:x.icon_url,priceUsd:Number.isFinite(te)?te:void 0}}),[ke,je,me]),Ql=g("div",{className:se("wi-view-inner wi-bridge-body",un.current&&"wi-view-send"),children:g(Jo,{env:r,walletAddress:u,tokens:Kl,history:dt,termsUrl:B,getQuote:Pe,getToTokens:De,getApproval:Se,approveBridge:_t,submitBridge:yt,onClose:k,onBackToWallet:fo})},"bridge"),wr=!!N&&v?.trim().toLowerCase()!=="my wallet",xi=E(tr,{children:[E("span",{className:"wi-receive-avatar",children:[g("span",{className:"wi-avatar-fallback",style:hi}),go&&g("img",{src:go,alt:"",className:"wi-avatar-img",width:24,height:24,draggable:!1,onLoad:mo,onError:x=>{x.currentTarget.style.display="none"}})]}),g("span",{className:"wi-receive-account-name",children:v??"Account 1"}),wr&&g("span",{className:"wi-receive-chevron","data-open":$n,"aria-hidden":"true",children:g(wn,{size:16})})]}),Yl=E("div",{className:se("wi-view-inner wi-qr-body",un.current&&"wi-view-qr"),children:[E("div",{className:"wi-receive-section",children:[wr?g("button",{type:"button",className:"wi-receive-account wi-receive-account--btn",onClick:()=>{jn(!0),N?.()},"aria-label":"Switch account",children:xi}):g("div",{className:"wi-receive-account",children:xi}),E("div",{className:"wi-qr-block",children:[E("div",{className:"wi-qr-box",children:[g(Nf,{value:u,size:180,level:"H",marginSize:2,...b&&{imageSettings:{src:b,height:33,width:33,excavate:!0}}}),!b&&g("div",{className:"wi-qr-logo",children:g(ji,{size:33})})]}),g("p",{className:"wi-qr-address",children:u})]}),E("button",{type:"button",className:"wi-qr-copy-btn",onClick:gi,children:[g("span",{className:"wi-qr-copy-icon",children:In?g(hn,{size:16}):g(Vn,{size:16})}),g("span",{className:"wi-qr-copy-text",children:In?"Copied!":"Copy address"})]})]}),bi&&g("div",{className:"wi-receive-footer",children:bi})]},"qr"),Zl=U==="qr"||U==="portfolio"||U==="send"||U==="bridge",vi=X!==null?g("div",{className:"wi-builtin-footer",children:X}):null,yi=E("div",{className:"wi-account-text",children:[wr?E("button",{type:"button",className:"wi-account-row wi-account-row--btn",onClick:()=>{jn(!0),N?.()},"aria-label":"Switch account","aria-expanded":$n,children:[g("span",{className:"wi-account-name",children:v??"Account 1"}),g("span",{className:"wi-account-switch","data-open":$n,"aria-hidden":"true",children:g(wn,{size:20})})]}):g("div",{className:"wi-account-row",children:g("span",{className:"wi-account-name",children:v??"Account 1"})}),E("button",{type:"button",className:"wi-address-row-btn",onClick:gi,"aria-label":"Copy address",children:[g("span",{className:"wi-account-address",children:lt(u)}),g("span",{className:"wi-account-copy","data-copied":In,children:In?g(hn,{size:12}):g(Vn,{size:12})})]})]}),ki=E(tr,{children:[o,U==="qr"?g("div",{className:"wi-sticky-header",children:E("div",{className:"wi-header wi-header--receive",children:[g("button",{type:"button",className:"wi-header-back",onClick:fo,"aria-label":"Back",children:g(bn,{size:24})}),g("span",{className:"wi-receive-title",children:"Receive"}),g("button",{type:"button",className:"wi-header-action",onClick:k,"aria-label":"Close",children:g(Wt,{size:24})})]})}):U==="send"||U==="bridge"?null:Zl?E("div",{className:"wi-sticky-header",children:[E("div",{className:"wi-header wi-header--wallet wi-header--sub-account",children:[g("button",{type:"button",className:"wi-header-back",onClick:fo,"aria-label":"Back",children:g(bn,{size:24})}),g("div",{className:"wi-account-block wi-account-block--sub-account",children:yi}),g("button",{type:"button",className:"wi-header-action",onClick:k,"aria-label":"Close",children:g(Wt,{size:24})})]}),g("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:[g("div",{className:"wi-avatar-fallback",style:hi}),go&&g("img",{src:go,alt:"",className:"wi-avatar-img",width:28,height:28,draggable:!1,onLoad:mo,onError:x=>{x.currentTarget.style.display="none"}})]}),yi]}),E("div",{className:"wi-header-actions",children:[m&&y&&g("button",{type:"button",className:"wi-header-action wi-header-action--qr",onClick:Un,"aria-label":"Show QR code",children:g(ko,{size:20})}),g("button",{type:"button",className:"wi-header-action",onClick:k,"aria-label":"Close",children:g(Wt,{size:24})})]})]}),g("hr",{className:"wi-divider"})]}),E("div",{className:"wi-view-container",children:[U==="wallet"&&jl,U==="qr"&&Yl,U==="portfolio"&&Vl,U==="send"&&ql,U==="bridge"&&Ql]}),U==="wallet"&&Ot&&g("div",{className:"wi-action-toast",role:"status","aria-live":"polite",children:Ot}),U==="wallet"&&Ke&&E("a",{className:"wi-send-toast",href:fr??"#",target:"_blank",rel:"noopener noreferrer",onClick:x=>{if(!fr){x.preventDefault();return}Xe(x,fr,{category:"send",origin:"send-transaction",payload:{chainId:Ke.chainId,txHash:Ke.txHash}},Ee)},children:[g("span",{className:"wi-send-toast-icon","data-status":Ke.status,"aria-hidden":!0,children:Ke.status==="pending"?g("span",{className:"wi-send-toast-spinner"}):Ke.status==="error"?g("span",{className:"wi-send-toast-error-dot"}):g(Yi,{size:20})}),E("span",{className:"wi-send-toast-copy",children:[g("span",{className:"wi-send-toast-title",children:Ke.status==="pending"?"Sending...":Ke.status==="error"?"Send failed":"Send complete"}),g("span",{className:"wi-send-toast-desc",children:Ke.status==="pending"||Ke.status==="error"?Ke.description:"Tap to see your transaction"})]})]}),vi&&U!=="portfolio"&&U!=="send"&&g("div",{className:"wi-sticky-footer",children:g("div",{className:"wi-footer",ref:Tn,children:vi})})]}),Si={...W,...Ct>0?{"--wi-footer-height":`${Ct}px`}:null};return i?E(er.Portal,{children:[l&&g(er.Overlay,{className:"wi-drawer-overlay"}),E(er.Content,{className:se("wi-drawer-content",n),"data-theme":a,"data-vaul-no-drag":c==="left"||c==="right"?!0:void 0,style:Si,"data-direction":c,"data-no-balance":!d||void 0,"data-has-footer":Ct>0||void 0,"data-view":U,children:[g(er.Title,{className:"wi-sr-only",children:"My Wallet"}),ki]})]}):E(tr,{children:[l&&s&&g("div",{className:"wi-drawer-overlay",onClick:k}),g(nr.Portal,{children:g(nr.Content,{align:e,sideOffset:t,className:se("wi-popover-content",n),"data-theme":a,style:Si,"data-no-balance":!d||void 0,"data-has-footer":Ct>0||void 0,"data-view":U,children:ki})})]})}import*as dl from"react";function pl({position:e="top",children:t}){let{setNavContent:n,setNavPosition:o}=tn();return dl.useEffect(()=>(n(t),o(e),()=>n(null)),[t,e,n,o]),null}import*as fl from"react";function ul({children:e}){let{setFooterContent:t}=tn();return fl.useEffect(()=>(t(e),()=>t(null)),[e,t]),null}K(`[data-theme=dark].wi-popover-content,[data-theme=dark].wi-drawer-content{--wi-primary: var(--ds-accent-primary-default, #019d92);--wi-secondary: var(--ds-system-red-default, #e70077);--wi-surface-bg: var(--ds-bg-default, #121212);--wi-surface-default: var(--ds-surface-medium, rgba(255, 255, 255, .05));--wi-surface-subtle: var(--ds-surface-high, rgba(255, 255, 255, .1));--wi-border-default: var(--ds-border-default, rgba(255, 255, 255, .05));--wi-border-subtle: var(--ds-border-medium, rgba(255, 255, 255, .1));--wi-texticon-primary: var(--ds-content-highest, #ffffff);--wi-texticon-secondary: var(--ds-content-medium, rgba(255, 255, 255, .7));--wi-texticon-tertiary: var(--ds-content-low, rgba(255, 255, 255, .5));--wi-on-primary: var(--ds-accent-primary-on, #ffffff);--wi-error: var(--ds-system-red-default, #e70077);--wi-shadow: 0 2px 16px -2px rgba(0, 0, 0, .4)}[data-theme=light].wi-popover-content,[data-theme=light].wi-drawer-content{--wi-primary: var(--ds-accent-primary-default, #019d92);--wi-secondary: var(--ds-system-red-default, #e70077);--wi-surface-bg: var(--ds-bg-default, #ffffff);--wi-surface-default: var(--ds-surface-medium, rgba(18, 18, 18, .05));--wi-surface-subtle: var(--ds-surface-high, rgba(18, 18, 18, .1));--wi-border-default: var(--ds-border-default, rgba(18, 18, 18, .05));--wi-border-subtle: var(--ds-border-medium, rgba(18, 18, 18, .1));--wi-texticon-primary: var(--ds-content-highest, #121212);--wi-texticon-secondary: var(--ds-content-medium, rgba(18, 18, 18, .7));--wi-texticon-tertiary: var(--ds-content-low, rgba(18, 18, 18, .5));--wi-on-primary: var(--ds-accent-primary-on, #ffffff);--wi-error: var(--ds-system-red-default, #e70077);--wi-shadow: 0 2px 16px -2px rgba(0, 0, 0, .15)}
|
|
10
|
+
`);import{Fragment as ii,jsx as f,jsxs as R}from"react/jsx-runtime";var nl=A.createContext(void 0);function zn(){return A.useContext(nl)}function Vp(e){let[t,n]=A.useState(void 0);return A.useEffect(()=>{let o=e.current;if(!o)return;let r=()=>{let i=o.closest("[data-theme]");n(i?.getAttribute("data-theme")??void 0)};r();let a=new MutationObserver(r);return a.observe(document.documentElement,{attributes:!0,subtree:!0,attributeFilter:["data-theme"]}),()=>a.disconnect()},[e]),t}var Zs=[{value:"0.1",label:"0.1%"},{value:"0.5",label:"0.5%"},{value:"1",label:"1%"},{value:"5",label:"5%"}],qp=[{value:"all",label:"ALL"},{value:"completed",label:"Completed"},{value:"pending",label:"Pending"}];function Kp(e,t){return e==="auto"?t?`Auto ${t}%`:"Auto":e?`${e}%`:"1%"}function Xs(e){let t=e.replace(/[^\d.]/g,""),[n="",...o]=t.split("."),r=o.join("");return o.length===0?n:`${n}.${r.slice(0,2)}`}function Qp(e){return`${e.chainId}:${e.address.toLowerCase()}`}function ol(e){let t=Number(e);return Number.isFinite(t)?t.toLocaleString("en-US",{maximumFractionDigits:t>=1?2:6}):e||"0"}function Js(e,t){let n=Number(e||"0"),o=t?.priceUsd??0;return`\u2248 $${(Number.isFinite(n)?n*o:0).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})} USD`}function Yp(e,t=6){if(!e)return e;let[n,o=""]=e.split(".");if(!o)return n;let r=o.slice(0,t).replace(/0+$/,"");return r?`${n}.${r}`:n}function Zp(e,t){if(!t)return!1;let n=new Vt(e||"0"),o=new Vt(t.balance||"0");return!n.isFinite()||!o.isFinite()?!1:n.isGreaterThan(o)}function Xp(e){if(e.priceUsd===void 0)return null;let t=new Vt(e.balance||"0");return t.isFinite()?`\u2248 $${t.multipliedBy(e.priceUsd).toFormat(2)} USD`:null}function Jp(e){if(e.priceUsd===void 0)return null;let t=new Vt(e.priceUsd);return t.isFinite()?`$${t.toFormat(t.isLessThan(1)?4:2)}`:null}function rl(e){if(!e.isFinite()||e.isNaN())return"0";let n=e.decimalPlaces(6,Vt.ROUND_DOWN).toFixed(6).replace(/\.?0+$/,""),[o="0",r]=n.split("."),a=new Vt(o||"0").toFormat(0);return r?`${a}.${r}`:a}function ef(e){return e.length<=14?e:`${e.slice(0,6)}...${e.slice(-6)}`}function tf(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let n=o=>o.toString().padStart(2,"0");return[`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())}`,`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`].join(" ")}function nf(e){let t=new Vt(e||"0");return!t.isFinite()||t.isNaN()?e||"0":rl(t)}function of(e,t){if(t?.priceUsd===void 0)return null;let n=new Vt(e||"0").multipliedBy(t.priceUsd);return!n.isFinite()||n.isNaN()?null:`$${n.toFormat(2)}`}function Xo(e){return e.status==="success"?"completed":e.status==="failed"?"failed":"pending"}function rf(e,t){return t==="all"?!0:Xo(e)===t}function af(e){return e==="completed"?"Completed":e==="failed"?"Failed":"Pending"}function el(e){return e===56||e===97?"BSC":e===612044||e===5555?"CROSS":`Chain ${e}`}function il(e,t){return!!e&&!!t&&e.chainId===t.chainId&&e.address.toLowerCase()===t.address.toLowerCase()}function al(e,t){if(!(!e||!t))return e.chainId===t.chainId?"swap":il(e,t)||e.symbol.toLowerCase()===t.symbol.toLowerCase()?"bridge":"swap-bridge"}function sl(e){return e==="swap"||e==="deposit-swap"||e==="swap-withdraw"}function Zo(e){return!e||e==="0"||Number(e)===0}function sf(e){let t=e.trim().toLowerCase();return t?t.startsWith("minimum ")?{from:e}:t.startsWith("available ")&&t.includes("or more")?{to:e}:t.includes("insufficient balance")||t.includes("not enough balance")||t.includes("exceeds balance")||t.includes("insufficient network fee")?{from:e}:t.includes("insufficient liquidity")||t.includes("not enough liquidity")?{to:e}:{}:{}}function lf(e){let t=e.fromToken,n=e.toToken,o=al(t,n),r=e.fromAmount||"0",a=e.toAmount||"0",i=o!==void 0&&!sl(o),s=o!==void 0&&o!=="bridge";return{pathType:o,bridgeInfo:i?[{label:"Route",value:t&&n?`${el(t.chainId)} \u2192 ${el(n.chainId)}`:"-"},{label:"Validator Fee",value:Zo(r)?"0":"Free",tone:Zo(r)?"default":"accent"},{label:"Network Fee",value:Zo(r)?"0":"Free",tone:Zo(r)?"default":"accent"}]:void 0,swapInfo:s?[t&&n?{label:"Route",value:"",routeTokens:[{symbol:t.symbol,iconUrl:t.iconUrl},{symbol:n.symbol,iconUrl:n.iconUrl}]}:{label:"Route",value:"-"},{label:"Price Impact",value:"0%"},{label:"In Amount",value:r,valueToken:t?{symbol:t.symbol,iconUrl:t.iconUrl}:void 0},{label:"Swap Fee",value:"0",valueToken:t?{symbol:t.symbol,iconUrl:t.iconUrl}:void 0},{label:"Out Amount",value:a,valueToken:n?{symbol:n.symbol,iconUrl:n.iconUrl}:void 0}]:void 0,txFee:[{label:"Priority Fee Per Gas",value:"0 Gwei"},{label:"Max Fee Per Gas",value:"0 Gwei"},{label:"Gas Limit",value:"0"}],txFeeInfo:{estTxFee:"0",isDelegateFee:!1}}}function no({token:e,size:t=20}){let n=e?.iconUrl;return f("span",{className:"bf-token-icon","data-has-image":!!n?"true":"false",style:{width:t,height:t},children:n?f("img",{src:n,alt:"",width:t,height:t,draggable:!1}):f("span",{className:"bf-token-fallback",children:e?.symbol?.slice(0,1)??"?"})})}function tl({label:e,token:t,amount:n,usd:o,onAmountChange:r,onTokenClick:a,locked:i=!1}){return R("section",{className:"bf-amount-panel",children:[R("div",{className:"bf-amount-head",children:[f("span",{children:e}),R("span",{className:"bf-balance",children:[ol(t?.balance??"0")," ",t?.symbol??""]})]}),R("div",{className:"bf-amount-main",children:[R("label",{className:"bf-amount-input-wrap",children:[R("span",{className:"bf-sr-only",children:[e," amount"]}),f("input",{type:"text",inputMode:"decimal",value:n,onChange:s=>r(s.target.value),placeholder:"0",className:"bf-amount-input"}),f("span",{className:"bf-amount-usd",children:o})]}),R("button",{type:"button",className:"bf-token-pill",onClick:i?void 0:a,disabled:!i&&!a,"data-locked":i?"true":void 0,"aria-label":`Select ${e.toLowerCase()} token`,children:[f(no,{token:t}),f("span",{children:t?.symbol??"Select"}),!i&&f(wn,{size:16})]})]})]})}function cf({flow:e,side:t,onClose:n}){let o=A.useId(),[r,a]=A.useState(""),[i,s]=A.useState(null),c=zn(),l=t==="from"?e.fromToken:e.toToken;A.useEffect(()=>{s(document.body)},[]),A.useEffect(()=>{let m=y=>{y.key==="Escape"&&n()};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[n]);let d=A.useMemo(()=>t==="from"?e.tokens:e.availableToTokens,[e.availableToTokens,e.tokens,t]),w=A.useMemo(()=>{let m=r.trim().toLowerCase();return m?d.filter(y=>y.symbol.toLowerCase().includes(m)||y.name.toLowerCase().includes(m)):d},[r,d]),h=A.useCallback(m=>{t==="from"?e.selectFromToken(m):e.selectToToken(m),n()},[e,n,t]);return i?Dn(f("div",{className:"bf-token-picker-overlay","data-theme":c,role:"presentation",onMouseDown:m=>{m.target===m.currentTarget&&n()},children:R("section",{className:"bf-token-picker",role:"dialog","aria-modal":"true","aria-labelledby":o,children:[f("span",{className:"bf-token-picker-handle","aria-hidden":"true"}),R("header",{className:"bf-token-picker-head",children:[f("h3",{id:o,children:"Select a token"}),f("button",{type:"button",className:"bf-token-picker-close",onClick:n,"aria-label":"Close token selector",children:f(Wt,{size:24})})]}),R("label",{className:"bf-token-search",children:[f(_s,{size:20}),f("span",{className:"bf-sr-only",children:"Search tokens"}),f("input",{value:r,onChange:m=>a(m.target.value),placeholder:"Search Tokens",autoComplete:"off",spellCheck:!1})]}),R("div",{className:"bf-token-list",children:[w.map(m=>{let y=il(m,l),b=y?Jp(m):Xp(m);return R("button",{type:"button",className:"bf-token-row","data-selected":y?"true":"false",onClick:()=>h(m),children:[R("span",{className:"bf-token-row-left",children:[f(no,{token:m,size:40}),R("span",{className:"bf-token-meta",children:[f("span",{className:"bf-token-symbol",children:m.symbol}),!y&&f("span",{className:"bf-token-name",children:m.name})]})]}),R("span",{className:"bf-token-row-right",children:[R("span",{className:"bf-token-balance",children:[ol(m.balance),y?null:` ${m.symbol}`]}),b&&f("span",{className:"bf-token-price",children:b})]})]},Qp(m))}),w.length===0&&f("div",{className:"bf-token-empty",children:"No tokens found"})]})]})}),i):null}function df({flow:e,onClose:t}){let n=A.useId(),[o,r]=A.useState(null),a=Zs.find(b=>b.value===e.slippage),[i,s]=A.useState(e.slippage&&!a?e.slippage:""),c=i.trim()!==""&&i.trim()!==".",l=c?Number(i):NaN,d=Number.isFinite(l)&&l>50,w=Number.isFinite(l)&&l>5&&!d,h=b=>{e.setSlippage(b),t()},m=()=>{!c||d||(e.setSlippage(Xs(i)),t())};if(A.useEffect(()=>{r(document.body)},[]),A.useEffect(()=>{let b=u=>{u.key==="Escape"&&t()};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[t]),!o)return null;let y=zn();return Dn(f("div",{className:"bf-slippage-overlay","data-theme":y,role:"presentation",onMouseDown:b=>{b.target===b.currentTarget&&t()},children:R("section",{className:"bf-slippage-dialog",role:"dialog","aria-modal":"true","aria-labelledby":n,children:[R("header",{className:"bf-slippage-head",children:[f("h3",{id:n,children:"Slippage Settings"}),f("button",{type:"button",className:"bf-slippage-close",onClick:t,"aria-label":"Close slippage settings",children:f(Wt,{size:24})})]}),R("div",{className:"bf-slippage-body",children:[f("p",{className:"bf-slippage-desc",children:"The maximum price difference you are willing to accept before the transaction is reverted. Higher slippage increases the chance of execution but may result in a worse price."}),R("div",{className:"bf-slippage-controls",children:[f("div",{className:"bf-slippage-presets",children:Zs.map(b=>f("button",{type:"button",className:"bf-slippage-preset","data-selected":!c&&e.slippage===b.value?"true":"false",onClick:()=>h(b.value),children:b.label},b.value))}),R("label",{className:"bf-slippage-custom","data-selected":c?"true":"false",children:[f("span",{className:"bf-sr-only",children:"Custom slippage percent"}),f("input",{value:i,onChange:b=>{s(Xs(b.target.value))},onKeyDown:b=>{b.key==="Enter"&&(b.preventDefault(),m())},inputMode:"decimal",placeholder:"Enter custom slippage",autoComplete:"off",spellCheck:!1}),f("span",{"aria-hidden":"true",children:"%"})]})]}),d?f("p",{className:"bf-slippage-message","data-variant":"error",children:"Slippage cannot exceed 50%."}):w?f("p",{className:"bf-slippage-message","data-variant":"warning",children:"Your transaction may be frontrun due to high slippage."}):null,c&&f("button",{type:"button",className:"bf-slippage-apply",onClick:m,disabled:d,children:"Apply"})]})]})}),o)}function pf({flow:e}){let t=A.useId(),[n,o]=A.useState(!1),[r,a]=A.useState(null),i=zn();return A.useEffect(()=>{a(document.body)},[]),A.useEffect(()=>{let s=c=>{c.key==="Escape"&&e.cancelTerms()};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[e]),!r||!e.termsOpen?null:Dn(f("div",{className:"bf-action-modal-overlay","data-theme":i,role:"presentation",onPointerDown:s=>{s.target===s.currentTarget&&e.cancelTerms()},children:R("section",{className:"bf-action-modal bf-terms-modal",role:"dialog","aria-modal":"true","aria-labelledby":t,children:[f("h3",{id:t,children:"Agree to Terms of Service"}),f("p",{className:"bf-action-modal-desc",children:"Please make sure to review the Terms of Service before using CROSSD."}),R("div",{className:"bf-terms-check-row","data-checked":n?"true":"false",children:[f("button",{type:"button",className:"bf-terms-check-button",role:"checkbox","aria-checked":n,"aria-label":"Agree to Terms of Use",onClick:()=>o(s=>!s),children:f("span",{className:"bf-terms-checkbox","data-checked":n?"true":"false","aria-hidden":"true"})}),R("div",{className:"bf-terms-copy",children:[f("span",{className:"bf-terms-label",children:"Agree to Terms of Use"}),e.termsUrl&&f("a",{href:e.termsUrl,target:"_blank",rel:"noreferrer",children:"Terms of Service"})]})]}),f("p",{className:"bf-terms-privacy",children:"I have read and acknowledged the Privacy Policy to use CROSSD"}),f("button",{type:"button",className:"bf-action-primary",disabled:!n||e.status==="submitting",onClick:e.confirmTerms,children:"Confirm"})]})}),r)}function ff({value:e,disabled:t=!1}){let[n,o]=A.useState(!1);return f("button",{type:"button",className:"bf-copy-button","aria-label":"Copy token address",disabled:t,onClick:()=>{t||navigator.clipboard?.writeText(e).then(()=>{o(!0),window.setTimeout(()=>o(!1),1200)})},children:n?"OK":"Copy"})}function uf({flow:e,approval:t}){let n=A.useId(),[o,r]=A.useState(null),a=zn();if(A.useEffect(()=>{r(document.body)},[]),A.useEffect(()=>{let c=l=>{e.status!=="submitting"&&l.key==="Escape"&&e.cancelApproval()};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[e]),!o)return null;let i=e.status==="submitting"||!e.approveBridge,s=e.status==="submitting";return Dn(f("div",{className:"bf-action-modal-overlay","data-theme":a,role:"presentation",children:R("section",{className:"bf-action-modal bf-approve-modal",role:"dialog","aria-modal":"true","aria-labelledby":n,children:[R("h3",{id:n,children:["Approve ",t.token.symbol]}),f(no,{token:t.token,size:72}),R("div",{className:"bf-approve-address-box",children:[f("span",{children:"Token Address"}),R("div",{children:[f("strong",{children:t.tokenAddress}),f(ff,{value:t.tokenAddress,disabled:s})]})]}),R("div",{className:"bf-action-buttons",children:[f("button",{type:"button",className:"bf-action-secondary",onClick:e.cancelApproval,disabled:e.status==="submitting",children:"Cancel"}),R("button",{type:"button",className:"bf-action-primary",onClick:e.confirmApproval,disabled:i,"aria-busy":s,children:[s&&f("span",{className:"bf-action-button-spinner","aria-hidden":"true"}),f("span",{children:s?"Approving...":"Approve"})]})]})]})}),o)}function mf({flow:e}){let t=A.useId(),[n,o]=A.useState(null),r=zn();if(A.useEffect(()=>{o(document.body)},[]),A.useEffect(()=>{if(!e.approvalSuccessOpen)return;let i=s=>{s.key==="Escape"&&e.cancelApproval()};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[e]),!n||!e.approvalSuccessOpen)return null;let a=e.status==="submitting";return Dn(f("div",{className:"bf-action-modal-overlay","data-theme":r,role:"presentation",children:R("section",{className:"bf-action-modal bf-approval-success-modal",role:"dialog","aria-modal":"true","aria-labelledby":t,children:[f("h3",{id:t,children:"Approval Success"}),f("span",{className:"bf-success-mark","aria-hidden":"true"}),R("p",{className:"bf-action-modal-desc",children:["Token approval confirmed successfully.",f("br",{}),"Please continue to the next step."]}),R("div",{className:"bf-action-buttons",children:[f("button",{type:"button",className:"bf-action-secondary",onClick:e.cancelApproval,disabled:a,children:"Cancel"}),R("button",{type:"button",className:"bf-action-primary",onClick:e.continueAfterApproval,disabled:a,"aria-busy":a,children:[a&&f("span",{className:"bf-action-button-spinner","aria-hidden":"true"}),f("span",{children:a?"Continuing...":"Continue"})]})]})]})}),n)}function gf({fromAmount:e,toAmount:t,fromToken:n,toToken:o}){let[r,a]=A.useState(!1),i=A.useMemo(()=>{let l=new Vt(e||"0"),d=new Vt(t||"0");return!l.isFinite()||!d.isFinite()||l.lte(0)||d.lte(0)?null:r?l.dividedBy(d):d.dividedBy(l)},[e,r,t]);if(!i||!n||!o||n.symbol===o.symbol)return null;let s=r?o.symbol:n.symbol,c=r?n.symbol:o.symbol;return R("button",{type:"button",className:"bf-exchange-rate",onClick:()=>a(l=>!l),children:[R("span",{children:["1 ",s]}),f(zs,{size:12}),R("span",{children:[rl(i)," ",c]})]})}function hf({flow:e}){return e.submitToast?R("div",{className:"bf-status-toast","data-variant":"processing",role:"status","aria-live":"polite",children:[f("span",{className:"bf-status-toast-icon","aria-hidden":"true",children:f("span",{className:"bf-status-spinner"})}),R("span",{className:"bf-status-toast-copy",children:[f("strong",{children:"Transaction Processing"}),f("span",{children:"Your transaction is being processed on the blockchain"})]})]}):null}function bf({message:e}){let[t,n]=A.useState(!1);return A.useEffect(()=>{if(!e){n(!1);return}n(!0);let o=window.setTimeout(()=>{n(!1)},3500);return()=>window.clearTimeout(o)},[e]),!e||!t?null:R("div",{className:"bf-status-toast","data-variant":"error",role:"alert","aria-live":"assertive",children:[f("span",{className:"bf-status-toast-icon","aria-hidden":"true",children:f("span",{className:"bf-status-error-mark",children:"!"})}),R("span",{className:"bf-status-toast-copy",children:[f("strong",{children:"Error"}),f("span",{children:e})]})]})}function wf(e){switch(e){case"swap":case"deposit-swap":case"swap-withdraw":return"Swap Transaction Sent";case"bridge":return"Bridge Transaction Sent";case"swap-bridge":return"Swap & Bridge Transaction Sent";case"bridge-swap":return"Bridge & Swap Transaction Sent";default:return"Transaction Sent"}}function xf({flow:e}){let t=A.useId(),[n,o]=A.useState(null),r=e.submitted,a=zn();return A.useEffect(()=>{o(document.body)},[]),A.useEffect(()=>{if(!e.successDialogOpen)return;let i=s=>{s.key==="Escape"&&e.dismissSuccessDialog()};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[e]),!n||!e.successDialogOpen||!r?null:Dn(f("div",{className:"bf-success-overlay","data-theme":a,role:"presentation",children:f("section",{className:"bf-success-modal",role:"dialog","aria-modal":"true","aria-labelledby":t,children:R("div",{className:"bf-success-body",children:[f("span",{className:"bf-success-mark","aria-hidden":"true"}),R("div",{className:"bf-success-copy",children:[f("strong",{id:t,children:wf(r.pathType)}),f("span",{children:"Please check the results in the history."})]}),f("div",{className:"bf-success-route","aria-hidden":"true",children:(r.routeTokens&&r.routeTokens.length>0?r.routeTokens:[{symbol:r.fromToken.symbol,iconUrl:r.fromToken.iconUrl},{symbol:r.toToken.symbol,iconUrl:r.toToken.iconUrl}]).map((i,s)=>R(A.Fragment,{children:[s>0&&f("span",{className:"bf-success-route-arrow",children:"\u2192"}),f(ri,{token:i,size:43})]},`${i.symbol}-${s}`))}),f("button",{type:"button",className:"bf-success-ok",onClick:e.dismissSuccessDialog,children:"OK"})]})})}),n)}function ri({token:e,size:t=16}){let n=!!e.iconUrl;return f("span",{className:"bf-token-icon","data-has-image":n?"true":"false",style:{width:t,height:t},children:e.iconUrl?f("img",{src:e.iconUrl,alt:"",width:t,height:t,draggable:!1}):f("span",{className:"bf-token-fallback",children:e.symbol?.slice(0,1)??"?"})})}function vf({row:e}){return e.routeTokens&&e.routeTokens.length>0?f("span",{className:"bf-info-route",children:e.routeTokens.map((t,n)=>R(A.Fragment,{children:[n>0&&f("span",{className:"bf-info-route-arrow","aria-hidden":"true",children:"\u2192"}),f(ri,{token:t})]},`${t.symbol}-${n}`))}):e.valueToken?R("span",{className:"bf-info-value-token",children:[f(ri,{token:e.valueToken}),f("span",{children:e.value})]}):f(ii,{children:e.value})}function ll({rows:e}){return!e||e.length===0?null:f("div",{className:"bf-info-rows",children:e.map((t,n)=>R("div",{className:"bf-info-row",children:[R("span",{className:"bf-info-label",children:[f("span",{className:"bf-tree-marker",children:n===e.length-1?"\u2514":"\u251C"}),f("span",{children:t.label})]}),f("span",{className:"bf-info-value","data-tone":t.tone??"default",children:f(vf,{row:t})})]},`${t.label}-${t.value}`))})}function yf(e,t,n){return e.pathType==="bridge"?"Bridge Info":sl(e.pathType)?"Swap Info":t&&n?"Swap & Bridge Info":t?"Bridge Info":"Swap Info"}function kf({summary:e}){let t=!!e.bridgeInfo?.length,n=!!e.swapInfo?.length,o=t&&n,r=e.pathType==="bridge-swap"?["bridge","swap"]:["swap","bridge"];return f(ii,{children:r.map(a=>{let i=a==="swap"?e.swapInfo:e.bridgeInfo;return i?.length?R("div",{className:"bf-info-section",children:[o&&f("h4",{children:a==="swap"?"Swap Info":"Bridge Info"}),f(ll,{rows:i})]},a):null})})}function Sf({summary:e}){let t=!!e.bridgeInfo?.length,n=!!e.swapInfo?.length,o=!!e.txFee?.length,r=yf(e,t,n),[a,i]=A.useState(!0),[s,c]=A.useState(!0);return R("div",{className:"bf-details",children:[e.liquidity&&R("section",{className:"bf-liquidity",children:[R("div",{className:"bf-liquidity-head",children:[f("span",{children:e.liquidity.label??"Available Liquidity"}),f("span",{className:"bf-liquidity-status","data-status":e.liquidity.status,children:e.liquidity.status??"Normal"})]}),f("div",{className:"bf-liquidity-track",children:f("span",{style:{width:`${e.liquidity.percentage??50}%`}})})]}),(t||n)&&R("section",{className:"bf-detail-section bf-info-card","data-open":a?"true":"false",children:[R("button",{type:"button",className:"bf-collapse-head","aria-expanded":a,onClick:()=>i(l=>!l),children:[f("h3",{children:r}),f(wn,{size:16,className:"bf-collapse-chevron"})]}),a&&f("div",{className:"bf-collapse-body",children:f(kf,{summary:e})})]}),o&&R("section",{className:"bf-detail-section bf-tx-fee-section","data-open":s?"true":"false",children:[R("button",{type:"button",className:"bf-collapse-head bf-tx-fee-head","aria-expanded":s,onClick:()=>c(l=>!l),children:[f("h3",{children:"Est. Tx Fee"}),R("div",{className:"bf-tx-fee-total",children:[e.txFeeInfo?.isDelegateFee&&f("span",{className:"bf-fee-delegated",children:"Fee Delegated"}),e.txFeeInfo?.tokenIconUrl&&f("img",{className:"bf-tx-fee-token",src:e.txFeeInfo.tokenIconUrl,alt:e.txFeeInfo.tokenSymbol??"",width:16,height:16,draggable:!1}),f("span",{"data-delegated":e.txFeeInfo?.isDelegateFee&&Number(e.txFeeInfo?.estTxFee)>0?"true":void 0,children:Yp(e.txFeeInfo?.estTxFee??"0")}),f(wn,{size:16,className:"bf-collapse-chevron"})]})]}),s&&f("div",{className:"bf-collapse-body",children:f(ll,{rows:e.txFee})})]})]})}function Rf({item:e}){let t=Xo(e),n=of(e.fromAmount,e.fromToken);return R("article",{className:"bf-history-item",children:[R("div",{className:"bf-history-item-head",children:[f("span",{className:"bf-history-status","data-status":t,children:af(t)}),f("time",{className:"bf-history-time",dateTime:e.timestamp,children:tf(e.timestamp)})]}),R("div",{className:"bf-history-item-body",children:[R("strong",{className:"bf-history-amount",children:[nf(e.fromAmount)," ",e.fromToken.symbol]}),R("div",{className:"bf-history-meta",children:[f("span",{className:"bf-history-usd",children:n??ef(e.txHash)}),R("span",{className:"bf-history-route",children:[R("span",{className:"bf-history-route-token",children:[f(no,{token:e.fromToken,size:16}),f("span",{children:e.fromToken.symbol})]}),f(Ds,{size:16,className:"bf-history-route-arrow"}),R("span",{className:"bf-history-route-token",children:[f(no,{token:e.toToken,size:16}),f("span",{children:e.toToken.symbol})]})]})]})]})]})}function Cf({flow:e}){let[t,n]=A.useState("all"),o=e.history.some(i=>Xo(i)==="pending"),r=e.history.filter(i=>rf(i,t)),a=t==="all"?"No bridge history yet.":`No ${t} bridge history.`;return R("main",{className:"bf-history-body",children:[f("nav",{className:"bf-history-tabs","aria-label":"Bridge history filters",children:qp.map(i=>R("button",{type:"button",className:"bf-history-tab","data-active":t===i.value?"true":"false",onClick:()=>n(i.value),children:[f("span",{children:i.label}),i.value==="pending"&&o&&f("span",{className:"bf-history-tab-dot","aria-hidden":"true"})]},i.value))}),r.length>0?f("div",{className:"bf-history-list",children:r.map(i=>f(Rf,{item:i},i.id||i.txHash))}):f("div",{className:"bf-empty",children:a})]})}function Tf({flow:e,env:t}){let[n,o]=A.useState(null),[r,a]=A.useState(!1),[i,s]=A.useState(0),l=!!(e.fromAmount.trim()||e.toAmount.trim())?e.summary??lf(e):null,d=yn("apps.json",t,p=>vn(p?.bridgePoweredBy?.url,t)),w=sf(e.quoteError),h=Zp(e.fromAmount,e.fromToken),m=h?"Insufficient balance":w.from,y=e.quoteError&&!w.from&&!w.to?e.quoteError:"",b=e.error||y,u=e.history.some(p=>Xo(p)==="pending"),C=(l?.pathType??al(e.fromToken,e.toToken))!=="bridge";return R(ii,{children:[R("main",{className:"bf-body",children:[R("div",{className:"bf-toolbar",children:[R("button",{type:"button",className:"bf-chip bf-chip-history",onClick:()=>e.setStep("history"),children:[f(Ms,{}),f("span",{children:"History"}),(u||e.hasNewHistory)&&f("span",{className:"bf-chip-dot","aria-hidden":"true"})]}),C&&R("button",{type:"button",className:"bf-chip",onClick:()=>a(!0),disabled:e.slippageLocked,"aria-haspopup":"dialog","aria-expanded":r,children:[f(Os,{}),f("span",{children:e.slippageLocked?"Auto 1%":Kp(e.slippage,e.effectiveSlippage)})]})]}),R("div",{className:"bf-swap-card","data-has-from-error":m?"true":"false",children:[f(tl,{label:"From",token:e.fromToken,amount:e.fromAmount,usd:Js(e.fromAmount,e.fromToken),onAmountChange:p=>e.setAmount(p,"from"),onTokenClick:()=>o("from")}),m&&f("div",{className:"bf-field-error",children:m}),f("button",{type:"button",className:"bf-swap-toggle",onClick:()=>{e.swapTokens(),s(p=>p+360)},style:{transform:`translateX(-50%) rotate(${i}deg)`,transition:"transform 0.2s ease"},children:f(Ws,{size:22})}),f(tl,{label:"To",token:e.toToken,amount:e.toAmount,usd:Js(e.toAmount,e.toToken),onAmountChange:p=>e.setAmount(p,"to"),onTokenClick:()=>o("to"),locked:e.availableToTokens.length<=1}),w.to&&f("div",{className:"bf-field-error",children:w.to})]}),f(gf,{fromAmount:e.fromAmount,toAmount:e.toAmount,fromToken:e.fromToken,toToken:e.toToken}),l&&f(Sf,{summary:l})]}),R("footer",{className:"bf-footer",children:[f("button",{type:"button",className:"bf-next",onClick:e.submit,disabled:e.status==="submitting"||!!e.quoteError||h,children:e.status==="submitting"?"Processing...":"Next"}),d&&R("a",{className:"bf-powered",href:d,target:"_blank",rel:"noreferrer",children:["Powered by ",f("span",{className:"bf-powered-brand",children:"CROSS DeFi"})]})]}),n&&f(cf,{flow:e,side:n,onClose:()=>o(null)}),r&&f(df,{flow:e,onClose:()=>a(!1)}),f(pf,{flow:e}),e.approvalInfo&&f(uf,{flow:e,approval:e.approvalInfo}),f(mf,{flow:e}),f(hf,{flow:e}),f(bf,{message:e.submitToast?"":b}),f(xf,{flow:e})]})}function Jo({onClose:e,onBackToWallet:t,env:n,className:o,...r}){let a=A.useMemo(()=>_e(n),[n]),i=Ys({...r,onExit:t}),s=A.useRef(null),c=Vp(s),l=i.step==="history"?"History":"Swap & Bridge";return f(nl.Provider,{value:c,children:R("div",{ref:s,className:se("bf-root",o),"data-view":i.step,"data-status":i.status,children:[R("header",{className:"bf-header",children:[f("button",{type:"button",className:"bf-header-btn",onClick:i.back,"aria-label":"Back",children:f(bn,{size:24})}),f("span",{className:"bf-header-title",children:l}),f("button",{type:"button",className:"bf-header-btn",onClick:e,"aria-label":"Close",children:f(Wt,{size:24})})]}),i.step==="history"?f(Cf,{flow:i}):f(Tf,{flow:i,env:a})]})})}import{Fragment as tr,jsx as g,jsxs as E}from"react/jsx-runtime";var If="On-ramp is not available in your region.";function ai(e,t,n){let o=ye[e],r=n.toUpperCase();if(t===o.cross&&r.includes("CROSSD"))return 0;if(t===o.cross&&r==="CROSS")return 1;if(t===o.bsc&&r==="CROSS")return 2}function Ef(e){return parseInt(e.split(":")[1],10)}function Lf(e){if(typeof window>"u"||!e?.length)return!1;let{origin:t,pathname:n}=window.location,o=t+n;return e.some(r=>o===r||o.startsWith(`${r}/`))}function Af(e){let t=e.lastIndexOf(".");return t===-1?{main:e,decimal:""}:{main:e.slice(0,t),decimal:e.slice(t)}}function Pf(e){let t=e.toLowerCase().replace(/^0x/,""),n=t.length>=8?t.slice(0,8):t.padEnd(8,"0"),o=parseInt(n.slice(0,4),16)%360,r=(o+60+parseInt(n.slice(4,8),16)%120)%360;return`linear-gradient(135deg, hsl(${o} 85% 65%), hsl(${r} 80% 55%))`}function cl({align:e="end",sideOffset:t=12,className:n,children:o}){let{env:r,theme:a,isMobile:i,open:s,drawerDirection:c,modal:l,showBalance:d,showForgeToken:w,showGameToken:h,showQR:m,showBridge:y,qrLogoSrc:b,walletAddress:u,accountName:v,sendAccounts:C,profileImageUrl:p,preferredTokens:T,close:k,onSelectWallet:N,onCopyAddress:S,onBuy:G,onDisconnect:O,disconnectLabel:H,termsUrl:B,termsLabel:ie,privacyUrl:I,privacyLabel:oe,portalStyle:W,navContent:V,navPosition:he,footerContent:X,view:U,setView:fe,selectedSendToken:ce,setSelectedSendToken:$,showPortfolio:Ne,portfolioTitle:F,portfolioSections:J,showTotalAssets:ue,totalAssetsLabel:Le,sendTransaction:Q,getTransactionReceipt:de,estimateGas:Ie,onOutlink:Ee,lpBalanceReader:Qt,stakingRewardsReader:Ae,bridgeTokens:ke,bridgeHistory:dt,getBridgeQuote:Pe,getBridgeToTokens:De,getBridgeApproval:Se,approveBridge:_t,submitBridge:yt,onReceive:Mt,onSend:rt,onBuyDisabledMessage:kt,onBridgeDisabledMessage:pt,onSendDisabledMessage:be}=tn(),[Ot,ft]=z.useState(null),ze=z.useRef(void 0),Fe=z.useCallback(x=>{ft(x),clearTimeout(ze.current),ze.current=setTimeout(()=>ft(null),4e3)},[]);z.useEffect(()=>()=>clearTimeout(ze.current),[]);let Ge=!!kt,et=z.useCallback(()=>{if(Ge){Fe(kt);return}let x=G?.();x&&typeof x.then=="function"&&x.catch(()=>{Fe(kt??If)})},[Ge,kt,G,Fe]),it=!!pt,tt=!!be,{tokens:ut,isLoading:St}=an(r,u,s&&d),{statsMap:je}=sn(r,d),{apyPercent:Ve}=Ma(),{categoryMap:qe}=Oa(r,d),L=d&&ue,{displayValue:ee,isLowerBound:we,isLoading:at}=Wa(r,u,s&&L),[mt,Rt]=z.useState(!1),Tn=z.useRef(null),[Ct,co]=z.useState(0),{holdings:fn,isLoading:D}=Ba(r,u,s&&d&&w),Be=z.useMemo(()=>fn.map(x=>x.token),[fn]),{imageMap:q}=_a(r,Be,w&&fn.length>0),me=z.useMemo(()=>{let x=[],_=[],te=[],Qe=new Map((T??[]).map((ae,He)=>[`${Ef(ae.chainId)}:${ae.address.toLowerCase()}`,He]));for(let ae of ut){let He=ai(r,ae.chainId,ae.symbol)!==void 0,Nt=`${ae.chainId}:${ae.address.toLowerCase()}`,mn=Qe.get(Nt),xr=new oo(ae.quantity.numeric).shiftedBy(-ae.quantity.decimals);if(He)x.push(ae);else if(mn!==void 0)_.push(ae);else if(xr.isGreaterThan(0)){if(!h&&qe.get(Gr(ae.chainId,ae.address))==="game")continue;te.push(ae)}}return x.sort((ae,He)=>{let Nt=ai(r,ae.chainId,ae.symbol)??99,mn=ai(r,He.chainId,He.symbol)??99;return Nt-mn}),_.sort((ae,He)=>{let Nt=Qe.get(`${ae.chainId}:${ae.address.toLowerCase()}`)??99,mn=Qe.get(`${He.chainId}:${He.address.toLowerCase()}`)??99;return Nt-mn}),te.sort((ae,He)=>{let Nt=je.get(Lt(ae.chainId,ae.address)),mn=je.get(Lt(He.chainId,He.address)),xr=new oo(ae.quantity.numeric).shiftedBy(-ae.quantity.decimals).multipliedBy(Nt?.price??0);return new oo(He.quantity.numeric).shiftedBy(-He.quantity.decimals).multipliedBy(mn?.price??0).minus(xr).toNumber()}),[...x,..._,...te]},[ut,r,je,h,qe,T]),po=z.useMemo(()=>{if(!w)return[];let x=new Set(ut.map(_=>_.address.toLowerCase()));return[...fn].filter(_=>!x.has(_.token.toLowerCase())).sort((_,te)=>{let Qe=new oo(_.value);return new oo(te.value).minus(Qe).toNumber()})},[fn,w,ut]),un=z.useRef(!1),[Ke,Hn]=z.useState(null),Nn=z.useRef(void 0),pi=Ke?.chainId??ce?.chainId??me[0]?.chainId??0,{transactionUrl:fr}=Ro(r,pi,Ke?.txHash,!!(Ke?.txHash&&pi)),Tt=z.useCallback(x=>{un.current=!0,fe(x)},[fe]),[Wl,ur]=z.useState("recipient"),fo=z.useCallback(()=>{$(null),ur("recipient"),Tt("wallet")},[$,Tt]),mr=z.useCallback((x,_="recipient")=>{if(tt){Fe(be);return}ur(_),$(x),Tt("send")},[tt,be,Fe,$,Tt]),uo=yn("apps.json",r,x=>vn(x?.gametokenBridge,r)),fi=yn("apps.json",r,x=>x?.gametokenSites),Dl=z.useCallback(()=>{if(it){Fe(pt);return}if(uo){if(Lf(fi)){window.location.assign(uo);return}window.open(uo,"_blank","noopener,noreferrer")}},[it,pt,uo,fi,Fe]),zl=z.useCallback(x=>{clearTimeout(Nn.current),$(null),Tt("wallet"),Hn({status:"pending",txHash:x.txHash,chainId:x.chainId,description:`${x.amount} ${x.tokenSymbol} to ${lt(x.recipient)}`})},[$,Tt]),Gl=z.useCallback(x=>{let _=ce?.chainId;$(null),Tt("wallet"),!(!x||!_)&&(Hn(te=>({status:"success",txHash:x,chainId:_,description:te?.txHash===x?te.description:"Tap to see your transaction"})),clearTimeout(Nn.current),Nn.current=setTimeout(()=>Hn(null),5e3))},[ce?.chainId,$,Tt]),Hl=z.useCallback(x=>{let _=x.txHash;_&&(Hn({status:"error",txHash:_,chainId:x.chainId,description:x.message}),clearTimeout(Nn.current),Nn.current=setTimeout(()=>Hn(null),5e3))},[]),Un=z.useMemo(()=>{if(Mt)return Mt;if(m)return()=>Tt("qr")},[Mt,m,Tt]),gr=z.useMemo(()=>{if(rt)return rt;if(me.length===0)return;let x=me[0];return()=>mr(x,"token")},[rt,me,mr]),Ul=z.useCallback(()=>{if(tt){Fe(be);return}gr?.()},[tt,be,gr,Fe]);z.useEffect(()=>{s||(un.current=!1,ur("recipient"))},[s]);let ui=z.useRef(null);z.useEffect(()=>{let x=ui.current;if(!x||!i)return;let _=te=>{te.pointerType==="touch"&&te.stopPropagation()};return x.addEventListener("pointerdown",_),()=>x.removeEventListener("pointerdown",_)},[i]);let[In,mi]=z.useState(!1),hr=z.useRef(void 0),[$n,jn]=z.useState(!1);z.useEffect(()=>{if(!$n)return;let x=()=>jn(!1),_=Qe=>{Qe.key==="Escape"&&jn(!1)},te=setTimeout(()=>{document.addEventListener("mousedown",x,!0),document.addEventListener("keydown",_,!0)},0);return()=>{clearTimeout(te),document.removeEventListener("mousedown",x,!0),document.removeEventListener("keydown",_,!0)}},[$n]),z.useEffect(()=>{jn(!1)},[u]),z.useEffect(()=>()=>clearTimeout(hr.current),[]),z.useEffect(()=>()=>clearTimeout(Nn.current),[]),z.useEffect(()=>{let x=Tn.current;if(!x||X===null){co(0);return}let _=()=>{co(x.offsetHeight)};if(_(),typeof ResizeObserver>"u")return;let te=new ResizeObserver(_);return te.observe(x),()=>te.disconnect()},[X]);let gi=z.useCallback(async()=>{if(!In)try{await navigator.clipboard.writeText(u),mi(!0),clearTimeout(hr.current),hr.current=setTimeout(()=>mi(!1),2e3),S?.(u,!0)}catch{S?.(u,!1)}},[u,S,In]),mo=z.useCallback(x=>{x.currentTarget.setAttribute("data-loaded","true")},[]),hi=z.useMemo(()=>({background:Pf(u)}),[u]),go=z.useMemo(()=>p||Zt(r,u,{size:120,bg:a==="dark"?"1A1A2E":"F3F6F8"}),[p,r,u,a]),br=z.useMemo(()=>Af(ee),[ee]),bi=B||I?E("div",{className:"wi-legal-links",children:[B&&g("a",{className:"wi-legal-link",href:B,target:"_blank",rel:"noopener noreferrer",onClick:x=>Xe(x,B,{category:"terms",origin:"terms"},Ee),children:ie}),B&&I&&g("span",{className:"wi-legal-sep","aria-hidden":!0,children:"\xB7"}),I&&g("a",{className:"wi-legal-link",href:I,target:"_blank",rel:"noopener noreferrer",onClick:x=>Xe(x,I,{category:"privacy",origin:"privacy"},Ee),children:oe})]}):null,wi=O?E("button",{type:"button",className:"wi-disconnect-btn",onClick:()=>{O(),k()},children:[g(Hi,{size:16}),g("span",{className:"wi-disconnect-label",children:H})]}):null,$l=d&&!V?E("div",{className:"wi-action-row","aria-label":"Wallet actions",children:[E("button",{type:"button",className:se("wi-action-card",Ge&&"wi-action-card--dimmed"),onClick:et,disabled:!G&&!Ge,"aria-disabled":Ge||void 0,"aria-label":"Buy",children:[g(Ki,{size:20}),g("span",{children:"Buy"})]}),y?E("button",{type:"button",className:se("wi-action-card",it&&"wi-action-card--dimmed"),onClick:Dl,"aria-disabled":it||void 0,"aria-label":"Bridge",children:[g(Qi,{size:20}),g("span",{children:"Bridge"})]}):E("button",{type:"button",className:"wi-action-card",onClick:Un,disabled:!Un,"aria-label":"Receive",children:[g(ko,{size:20}),g("span",{children:"Receive"})]}),E("button",{type:"button",className:se("wi-action-card",tt&&"wi-action-card--dimmed"),onClick:Ul,disabled:!tt&&!gr,"aria-disabled":tt||void 0,"aria-label":"Send",children:[g(Vi,{size:20}),g("span",{children:"Send"})]}),Ne?E("button",{type:"button",className:"wi-action-card",onClick:()=>Tt("portfolio"),"aria-label":"View portfolio",children:[g(qi,{size:20}),g("span",{children:"Portfolio"})]}):y?E("button",{type:"button",className:"wi-action-card",onClick:Un,disabled:!Un,"aria-label":"Receive",children:[g(ko,{size:20}),g("span",{children:"Receive"})]}):null]}):null,jl=E("div",{className:se("wi-view-inner",un.current&&"wi-view-wallet"),children:[L&&E("div",{className:"wi-total-section",children:[E("div",{className:"wi-total-head",children:[g("span",{className:"wi-total-label",children:Le}),g("span",{role:"button",tabIndex:0,className:"wi-total-eye",onClick:x=>{x.stopPropagation(),Rt(_=>!_)},onKeyDown:x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),x.stopPropagation(),Rt(_=>!_))},"aria-label":mt?"Show balance":"Hide balance",children:mt?g($i,{}):g(Ui,{})})]}),g("div",{className:"wi-total-body",children:at?g("div",{className:"wi-skeleton-block wi-total-skeleton",style:{width:160,height:42}}):g("div",{className:"wi-total-value","data-hidden":mt||void 0,children:mt?g("span",{className:"wi-total-mask",children:"\u2022\u2022\u2022\u2022\u2022\u2022"}):E(tr,{children:[we&&g("span",{className:"wi-total-lte",children:"\u2264"}),g("span",{className:"wi-total-currency",children:"$"}),g("span",{className:"wi-total-amount",children:br.main}),br.decimal&&g("span",{className:"wi-total-decimal",children:br.decimal})]})})})]}),he==="top"&&(V?g("div",{className:"wi-nav-fixed",children:V}):$l),d&&g("div",{ref:ui,className:"wi-scrollable-body","data-vaul-no-drag":!0,children:E("div",{className:"wi-token-list",children:[St&&Array.from({length:5},(x,_)=>E("div",{className:"wi-skeleton-item",children:[E("div",{className:"wi-skeleton-left",children:[g("div",{className:"wi-skeleton-block wi-skeleton-icon"}),E("div",{className:"wi-skeleton-lines",children:[g("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),g("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),E("div",{className:"wi-skeleton-right",children:[g("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),g("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},_)),!St&&me.length===0&&!w&&g("div",{className:"wi-empty",children:"No Tokens Found"}),me.map(x=>{let _=je.get(Lt(x.chainId,x.address)),te=_?parseFloat(_.percent_change_24h):null,Qe=te!==null&&te>=0,ae=Zn(r,x.chainId),He=ha(x.address);return E("button",{type:"button",className:"wi-token-item wi-token-item--button",onClick:()=>mr(x),"aria-label":`Send ${x.symbol}`,children:[E("div",{className:"wi-token-left",children:[E("div",{className:"wi-token-icon-wrap",children:[g("img",{src:x.icon_url,alt:x.symbol,className:"wi-token-icon",width:32,height:32,loading:"lazy",draggable:!1,onLoad:mo,onError:Nt=>{Nt.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),ae&&g("img",{src:ae,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:Nt=>{Nt.currentTarget.style.display="none"}})]}),E("div",{className:"wi-token-info",children:[E("span",{className:"wi-token-name-row",children:[g("span",{className:"wi-token-name",children:x.symbol}),He&&Ve!==null&&g("span",{className:"wi-token-apy",children:`APR ${Ve>=0?"+":"-"}${(Ve>=0?Math.floor:Math.ceil)(Math.abs(Ve)*100)/100}%`})]}),_&&E("div",{className:"wi-token-price-row",children:[g("span",{className:"wi-token-price",children:Nr(_.price)}),g("span",{className:"wi-token-change","data-positive":Qe,"data-zero":te===0||void 0,children:te!==null&&(te===0?"0%":`${Qe?"+":"-"}${(Qe?Math.floor:Math.ceil)(Math.abs(te)*100)/100}%`)})]})]})]}),E("div",{className:"wi-token-right",children:[g("span",{className:"wi-token-balance",children:nn(x.quantity.numeric,x.quantity.decimals)}),_&&g("span",{className:"wi-token-value",children:Zi(x.quantity.numeric,x.quantity.decimals,_.price)})]})]},`${x.address}-${x.chainId}`)}),w&&D&&Array.from({length:3},(x,_)=>E("div",{className:"wi-skeleton-item",children:[E("div",{className:"wi-skeleton-left",children:[g("div",{className:"wi-skeleton-block wi-skeleton-icon"}),E("div",{className:"wi-skeleton-lines",children:[g("div",{className:"wi-skeleton-block",style:{width:64,height:14}}),g("div",{className:"wi-skeleton-block",style:{width:80,height:12}})]})]}),E("div",{className:"wi-skeleton-right",children:[g("div",{className:"wi-skeleton-block",style:{width:72,height:14}}),g("div",{className:"wi-skeleton-block",style:{width:48,height:12}})]})]},`forge-sk-${_}`)),w&&!D&&!St&&me.length===0&&po.length===0&&g("div",{className:"wi-empty",children:"No Tokens Found"}),w&&po.map(x=>{let _=q.get(x.token)||"",te=Zn(r,ye[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:[g("img",{src:_||"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:mo,onError:Qe=>{Qe.currentTarget.src="https://contents.crosstoken.io/wallet/token/images/FT.png"}}),te&&g("img",{src:te,alt:"","aria-hidden":!0,className:"wi-token-chain-badge",width:14,height:14,loading:"lazy",draggable:!1,onError:Qe=>{Qe.currentTarget.style.display="none"}})]}),E("div",{className:"wi-token-info",children:[g("span",{className:"wi-token-name",children:x.token_name}),g("div",{className:"wi-token-price-row",children:E("span",{className:"wi-token-price",children:[nn(x.current_price,18)," CROSS"]})})]})]}),E("div",{className:"wi-token-right",children:[g("span",{className:"wi-token-balance",children:nn(x.balance,18)}),g("span",{className:"wi-token-value",children:Nr(x.current_value_usd)})]})]},`forge-${x.token}`)})]})}),he==="bottom"&&V&&g("div",{className:"wi-nav-fixed",children:V}),wi&&g("div",{className:"wi-wallet-disconnect-row",children:wi})]},"wallet"),Vl=Ne?g("div",{className:se("wi-view-inner wi-portfolio-body",un.current&&"wi-view-portfolio"),children:g(Wn,{env:r,theme:a,walletAddress:u,showHeader:!1,onOutlink:Ee,lpBalanceReader:Qt,stakingRewardsReader:Ae,sendTransaction:Q,estimateGas:Ie,sections:J})},"portfolio"):null,ql=ce?g("div",{className:se("wi-view-inner wi-send-body",un.current&&"wi-view-send"),children:g(Mo,{env:r,theme:a,walletAddress:u,accountName:v,accounts:C,initialStep:Wl,token:ce,tokens:me,onTokenChange:$,sendTransaction:Q,getTransactionReceipt:de,estimateGas:Ie,getTokenPriceUsd:x=>{let _=je.get(Lt(x.chainId,x.address));if(!_?.price)return;let te=parseFloat(_.price);return Number.isFinite(te)?te:void 0},onClose:k,onBackToWallet:fo,onSubmitted:zl,onSuccess:Gl,onFailed:Hl,onOutlink:Ee})},"send"):null,Kl=z.useMemo(()=>ke||me.map(x=>{let _=je.get(Lt(x.chainId,x.address)),te=_?.price?parseFloat(_.price):void 0;return{name:x.name,symbol:x.symbol,chainId:x.chainId,address:x.address,decimals:x.quantity.decimals,balance:Qn(x.quantity.numeric,x.quantity.decimals),iconUrl:x.icon_url,priceUsd:Number.isFinite(te)?te:void 0}}),[ke,je,me]),Ql=g("div",{className:se("wi-view-inner wi-bridge-body",un.current&&"wi-view-send"),children:g(Jo,{env:r,walletAddress:u,tokens:Kl,history:dt,termsUrl:B,getQuote:Pe,getToTokens:De,getApproval:Se,approveBridge:_t,submitBridge:yt,onClose:k,onBackToWallet:fo})},"bridge"),wr=!!N&&v?.trim().toLowerCase()!=="my wallet",xi=E(tr,{children:[E("span",{className:"wi-receive-avatar",children:[g("span",{className:"wi-avatar-fallback",style:hi}),go&&g("img",{src:go,alt:"",className:"wi-avatar-img",width:24,height:24,draggable:!1,onLoad:mo,onError:x=>{x.currentTarget.style.display="none"}})]}),g("span",{className:"wi-receive-account-name",children:v??"Account 1"}),wr&&g("span",{className:"wi-receive-chevron","data-open":$n,"aria-hidden":"true",children:g(wn,{size:16})})]}),Yl=E("div",{className:se("wi-view-inner wi-qr-body",un.current&&"wi-view-qr"),children:[E("div",{className:"wi-receive-section",children:[wr?g("button",{type:"button",className:"wi-receive-account wi-receive-account--btn",onClick:()=>{jn(!0),N?.()},"aria-label":"Switch account",children:xi}):g("div",{className:"wi-receive-account",children:xi}),E("div",{className:"wi-qr-block",children:[E("div",{className:"wi-qr-box",children:[g(Nf,{value:u,size:180,level:"H",marginSize:2,...b&&{imageSettings:{src:b,height:33,width:33,excavate:!0}}}),!b&&g("div",{className:"wi-qr-logo",children:g(ji,{size:33})})]}),g("p",{className:"wi-qr-address",children:u})]}),E("button",{type:"button",className:"wi-qr-copy-btn",onClick:gi,children:[g("span",{className:"wi-qr-copy-icon",children:In?g(hn,{size:16}):g(Vn,{size:16})}),g("span",{className:"wi-qr-copy-text",children:In?"Copied!":"Copy address"})]})]}),bi&&g("div",{className:"wi-receive-footer",children:bi})]},"qr"),Zl=U==="qr"||U==="portfolio"||U==="send"||U==="bridge",vi=X!==null?g("div",{className:"wi-builtin-footer",children:X}):null,yi=E("div",{className:"wi-account-text",children:[wr?E("button",{type:"button",className:"wi-account-row wi-account-row--btn",onClick:()=>{jn(!0),N?.()},"aria-label":"Switch account","aria-expanded":$n,children:[g("span",{className:"wi-account-name",children:v??"Account 1"}),g("span",{className:"wi-account-switch","data-open":$n,"aria-hidden":"true",children:g(wn,{size:20})})]}):g("div",{className:"wi-account-row",children:g("span",{className:"wi-account-name",children:v??"Account 1"})}),E("button",{type:"button",className:"wi-address-row-btn",onClick:gi,"aria-label":"Copy address",children:[g("span",{className:"wi-account-address",children:lt(u)}),g("span",{className:"wi-account-copy","data-copied":In,children:In?g(hn,{size:12}):g(Vn,{size:12})})]})]}),ki=E(tr,{children:[o,U==="qr"?g("div",{className:"wi-sticky-header",children:E("div",{className:"wi-header wi-header--receive",children:[g("button",{type:"button",className:"wi-header-back",onClick:fo,"aria-label":"Back",children:g(bn,{size:24})}),g("span",{className:"wi-receive-title",children:"Receive"}),g("button",{type:"button",className:"wi-header-action",onClick:k,"aria-label":"Close",children:g(Wt,{size:24})})]})}):U==="send"||U==="bridge"?null:Zl?E("div",{className:"wi-sticky-header",children:[E("div",{className:"wi-header wi-header--wallet wi-header--sub-account",children:[g("button",{type:"button",className:"wi-header-back",onClick:fo,"aria-label":"Back",children:g(bn,{size:24})}),g("div",{className:"wi-account-block wi-account-block--sub-account",children:yi}),g("button",{type:"button",className:"wi-header-action",onClick:k,"aria-label":"Close",children:g(Wt,{size:24})})]}),g("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:[g("div",{className:"wi-avatar-fallback",style:hi}),go&&g("img",{src:go,alt:"",className:"wi-avatar-img",width:28,height:28,draggable:!1,onLoad:mo,onError:x=>{x.currentTarget.style.display="none"}})]}),yi]}),E("div",{className:"wi-header-actions",children:[m&&y&&g("button",{type:"button",className:"wi-header-action wi-header-action--qr",onClick:Un,"aria-label":"Show QR code",children:g(ko,{size:20})}),g("button",{type:"button",className:"wi-header-action",onClick:k,"aria-label":"Close",children:g(Wt,{size:24})})]})]}),g("hr",{className:"wi-divider"})]}),E("div",{className:"wi-view-container",children:[U==="wallet"&&jl,U==="qr"&&Yl,U==="portfolio"&&Vl,U==="send"&&ql,U==="bridge"&&Ql]}),U==="wallet"&&Ot&&g("div",{className:"wi-action-toast",role:"status","aria-live":"polite",children:Ot}),U==="wallet"&&Ke&&E("a",{className:"wi-send-toast",href:fr??"#",target:"_blank",rel:"noopener noreferrer",onClick:x=>{if(!fr){x.preventDefault();return}Xe(x,fr,{category:"send",origin:"send-transaction",payload:{chainId:Ke.chainId,txHash:Ke.txHash}},Ee)},children:[g("span",{className:"wi-send-toast-icon","data-status":Ke.status,"aria-hidden":!0,children:Ke.status==="pending"?g("span",{className:"wi-send-toast-spinner"}):Ke.status==="error"?g("span",{className:"wi-send-toast-error-dot"}):g(Yi,{size:20})}),E("span",{className:"wi-send-toast-copy",children:[g("span",{className:"wi-send-toast-title",children:Ke.status==="pending"?"Sending...":Ke.status==="error"?"Send failed":"Send complete"}),g("span",{className:"wi-send-toast-desc",children:Ke.status==="pending"||Ke.status==="error"?Ke.description:"Tap to see your transaction"})]})]}),vi&&U!=="portfolio"&&U!=="send"&&g("div",{className:"wi-sticky-footer",children:g("div",{className:"wi-footer",ref:Tn,children:vi})})]}),Si={...W,...Ct>0?{"--wi-footer-height":`${Ct}px`}:null};return i?E(er.Portal,{children:[l&&g(er.Overlay,{className:"wi-drawer-overlay"}),E(er.Content,{className:se("wi-drawer-content",n),"data-theme":a,"data-vaul-no-drag":c==="left"||c==="right"?!0:void 0,style:Si,"data-direction":c,"data-no-balance":!d||void 0,"data-has-footer":Ct>0||void 0,"data-view":U,children:[g(er.Title,{className:"wi-sr-only",children:"My Wallet"}),ki]})]}):E(tr,{children:[l&&s&&g("div",{className:"wi-drawer-overlay",onClick:k}),g(nr.Portal,{children:g(nr.Content,{align:e,sideOffset:t,className:se("wi-popover-content",n),"data-theme":a,style:Si,"data-no-balance":!d||void 0,"data-has-footer":Ct>0||void 0,"data-view":U,children:ki})})]})}import*as dl from"react";function pl({position:e="top",children:t}){let{setNavContent:n,setNavPosition:o}=tn();return dl.useEffect(()=>(n(t),o(e),()=>n(null)),[t,e,n,o]),null}import*as fl from"react";function ul({children:e}){let{setFooterContent:t}=tn();return fl.useEffect(()=>(t(e),()=>t(null)),[e,t]),null}K(`[data-theme=dark].wi-popover-content,[data-theme=dark].wi-drawer-content{--wi-primary: var(--ds-accent-primary-default, #019d92);--wi-secondary: var(--ds-system-red-default, #e70077);--wi-surface-bg: var(--ds-bg-default, #121212);--wi-surface-default: var(--ds-surface-medium, rgba(255, 255, 255, .05));--wi-surface-subtle: var(--ds-surface-high, rgba(255, 255, 255, .1));--wi-border-default: var(--ds-border-default, rgba(255, 255, 255, .05));--wi-border-subtle: var(--ds-border-medium, rgba(255, 255, 255, .1));--wi-texticon-primary: var(--ds-content-highest, #ffffff);--wi-texticon-secondary: var(--ds-content-medium, rgba(255, 255, 255, .7));--wi-texticon-tertiary: var(--ds-content-low, rgba(255, 255, 255, .5));--wi-on-primary: var(--ds-accent-primary-on, #ffffff);--wi-error: var(--ds-system-red-default, #e70077);--wi-shadow: 0 2px 16px -2px rgba(0, 0, 0, .4)}[data-theme=light].wi-popover-content,[data-theme=light].wi-drawer-content{--wi-primary: var(--ds-accent-primary-default, #019d92);--wi-secondary: var(--ds-system-red-default, #e70077);--wi-surface-bg: var(--ds-bg-default, #ffffff);--wi-surface-default: var(--ds-surface-medium, rgba(18, 18, 18, .05));--wi-surface-subtle: var(--ds-surface-high, rgba(18, 18, 18, .1));--wi-border-default: var(--ds-border-default, rgba(18, 18, 18, .05));--wi-border-subtle: var(--ds-border-medium, rgba(18, 18, 18, .1));--wi-texticon-primary: var(--ds-content-highest, #121212);--wi-texticon-secondary: var(--ds-content-medium, rgba(18, 18, 18, .7));--wi-texticon-tertiary: var(--ds-content-low, rgba(18, 18, 18, .5));--wi-on-primary: var(--ds-accent-primary-on, #ffffff);--wi-error: var(--ds-system-red-default, #e70077);--wi-shadow: 0 2px 16px -2px rgba(0, 0, 0, .15)}
|
|
11
11
|
`);K(`.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}
|
|
12
12
|
`);K(`@keyframes wi-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes wi-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes wi-slide-in-right{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes wi-slide-in-left{0%{transform:translate(-40px);opacity:0}to{transform:translate(0);opacity:1}}
|
|
13
13
|
`);K(`.wi-popover-content{-webkit-font-smoothing:antialiased;z-index:100001;width:393px;border-radius:24px;border:1px solid var(--ds-border-default, rgba(0, 0, 0, .07));background:var(--wi-surface-bg);box-shadow:var(--ds-shadow-modal, var(--wi-shadow));animation:wi-fade-in .15s ease-out;height:600px;overflow:hidden;display:flex;flex-direction:column}.wi-popover-content[data-no-balance]{height:auto}.wi-popover-content[data-has-footer]:not([data-no-balance]){height:min(calc(600px + var(--wi-footer-height, 0px)),calc(100dvh - 32px))}.wi-drawer-overlay{position:fixed;inset:0;z-index:100000;background:#0009}.wi-drawer-content{-webkit-font-smoothing:antialiased;position:fixed;top:0;right:0;bottom:0;z-index:100001;width:100vw;max-height:100vh;background:var(--wi-surface-bg);overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box}.wi-drawer-content[data-no-balance]{bottom:auto;max-height:none}.wi-drawer-content[data-no-balance][data-direction=bottom]{bottom:0;top:auto;border-radius:24px 24px 0 0}.wi-drawer-content[data-direction=left]{right:auto;left:0}.wi-drawer-content[data-direction=bottom]{top:0;left:0;right:0;width:100%;max-height:100dvh;margin:0 auto}.wi-drawer-content[data-direction=bottom][data-view=qr]{max-height:100dvh}.wi-popover-content[data-view=qr]{max-height:calc(100dvh - 32px)}.wi-sticky-header{flex-shrink:0;position:relative}.wi-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:24px}.wi-header--wallet{align-items:flex-start;border-bottom:1px solid var(--ds-border-default, rgba(0, 0, 0, .07))}.wi-header--wallet+.wi-divider{display:none}.wi-header--sub-account{align-items:center}.wi-header--sub-account .wi-header-back{width:32px;height:38px}.wi-header--sub-account .wi-header-action{flex-shrink:0}.wi-account-block{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.wi-account-block--sub-account{align-items:center}.wi-avatar{flex-shrink:0;position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:50%;background:var(--wi-surface-bg);box-sizing:border-box;overflow:hidden}.wi-avatar-fallback{position:absolute;inset:0;border-radius:50%;z-index:0}.wi-avatar-img{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;object-fit:cover;background:transparent}.wi-account-text{display:flex;flex-direction:column;gap:2px;min-width:0}.wi-account-row{display:flex;align-items:center;gap:8px;min-width:0}.wi-account-row--btn{padding:2px;margin:0;width:fit-content;border:none;background:transparent;cursor:pointer;color:inherit;font:inherit;border-radius:6px;transition:background-color .15s ease,opacity .15s ease}.wi-account-row--btn:hover{background:var(--wi-surface-subtle, rgba(255, 255, 255, .06))}.wi-account-row--btn:focus-visible{outline:2px solid var(--wi-primary, #00d5aa);outline-offset:2px}.wi-account-name{font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-high, rgba(0, 0, 0, .85));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wi-account-switch{display:inline-flex;align-items:center;justify-content:center;padding:2px 0;border:none;background:transparent;color:var(--ds-content-low, rgba(0, 0, 0, .4));border-radius:4px;flex-shrink:0;transition:color .15s ease,transform .2s ease}.wi-account-switch[data-open=true]{transform:rotate(180deg)}.wi-account-row--btn:hover .wi-account-switch{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wi-address-row-btn{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--ds-content-medium, rgba(0, 0, 0, .65));font:inherit;text-align:left;min-width:0;transition:color .15s ease}.wi-address-row-btn:hover .wi-account-address,.wi-address-row-btn:hover .wi-account-copy{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wi-account-address{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-medium, rgba(0, 0, 0, .65));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wi-account-copy{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--wi-texticon-tertiary);flex-shrink:0;transition:color .15s ease}.wi-account-copy[data-copied=true]{color:var(--ds-system-green-high, #00a869)}.wi-header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0;margin-top:-4px}.wi-header-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;border-radius:0;cursor:pointer;color:var(--ds-content-low, rgba(0, 0, 0, .4));flex-shrink:0;transition:color .15s ease}.wi-header-action:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wi-header-action--qr{width:32px;height:32px;border-radius:8px;background:var(--ds-surface-medium, #f5f7fa);color:var(--ds-content-medium, rgba(0, 0, 0, .65));transition:background-color .15s ease,color .15s ease}.wi-header-action--qr:hover{background:var(--ds-surface-high, rgba(0, 0, 0, .08));color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wi-header--receive{align-items:center;border-bottom:1px solid var(--ds-border-default, rgba(0, 0, 0, .07))}.wi-header--receive .wi-header-action,.wi-header--sub-account .wi-header-action{position:absolute;top:24px;right:24px}.wi-receive-title{position:absolute;left:50%;transform:translate(-50%);font-family:inherit;font-size:18px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-highest, #000000);text-align:center;pointer-events:none}.wi-header-info{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}.wi-header-title{font-family:inherit;font-size:16px;font-weight:600;line-height:1.3;color:var(--wi-texticon-primary);margin:0}.wi-header-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;background:var(--wi-surface-default);border-radius:8px;cursor:pointer;color:var(--ds-content-low, #00000066);transition:opacity .15s ease}.wi-header-close:hover{opacity:.7}.wi-total-section{margin:24px 24px 0;padding:0;flex-shrink:0;display:flex;flex-direction:column;gap:8px;border:none;background:transparent;border-radius:12px;color:inherit;font:inherit;text-align:left;width:auto}.wi-action-row{display:flex;align-items:flex-start;gap:8px;width:auto;margin:24px 24px 0}.wi-action-card{appearance:none;display:flex;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border:none;border-radius:12px;background:var(--ds-surface-medium, #f5f7fa);color:var(--ds-content-high, rgba(0, 0, 0, .85));font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em;text-align:center;cursor:pointer;transition:background-color .15s ease,color .15s ease}.wi-action-card:hover:not(:disabled){background:#2e3544!important;color:var(--ds-content-high, rgba(0, 0, 0, .85))}:root[data-ds-theme=light] .wi-action-card:hover:not(:disabled){background:#e4e8ef!important;color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wi-action-card:disabled{cursor:default}.wi-action-card>svg{flex-shrink:0}.wi-action-card:not(:disabled){transition:background-color .15s ease,transform .1s ease}.wi-action-card:active:not(:disabled){transform:scale(.93)}.wi-total-head{display:flex;align-items:center;gap:4px}.wi-total-body{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.wi-total-label{font-family:inherit;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-medium, rgba(0, 0, 0, .65))}.wi-total-eye{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;color:var(--ds-content-low, rgba(0, 0, 0, .4));cursor:pointer;transition:color .15s ease;border-radius:4px}.wi-total-eye:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wi-total-eye:focus-visible{outline:1px solid var(--wi-texticon-secondary);outline-offset:2px}.wi-total-value{display:flex;align-items:baseline;gap:0;font-family:inherit;font-weight:600;line-height:1.25;color:var(--ds-content-highest, #000000);font-variant-numeric:tabular-nums;min-height:45px;white-space:nowrap}.wi-total-currency,.wi-total-amount,.wi-total-decimal{font-size:36px;color:var(--ds-content-highest, #000000)}.wi-total-lte{margin-right:2px;font-weight:500;font-size:22px;color:var(--wi-texticon-secondary)}.wi-total-mask{letter-spacing:2px;font-size:32px;color:var(--wi-texticon-secondary)}.wi-total-skeleton{border-radius:6px}.wi-scrollable-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 0 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;overscroll-behavior:contain}.wi-drawer-content .wi-scrollable-body{touch-action:pan-y}[data-theme=light] .wi-scrollable-body{scrollbar-color:rgba(0,0,0,.12) transparent}.wi-scrollable-body::-webkit-scrollbar{width:4px}.wi-scrollable-body::-webkit-scrollbar-track{background:transparent}.wi-scrollable-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.wi-scrollable-body::-webkit-scrollbar-thumb:hover{background:#ffffff40}[data-theme=light] .wi-scrollable-body::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] .wi-scrollable-body::-webkit-scrollbar-thumb:hover{background:#0003}.wi-nav-fixed{flex-shrink:0;padding:0 24px}.wi-token-list{display:flex;flex-direction:column;gap:0;padding:8px 0}.wi-token-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 24px;border:none;background:transparent;text-align:left;font-family:inherit;width:100%;box-sizing:border-box}.wi-token-item--button{cursor:pointer;background:var(--ds-surface-default, #ffffff);transition:none}.wi-token-item--button:hover{background:#252b39!important}:root[data-ds-theme=light] .wi-token-item--button:hover{background:#eff3f8!important}button.wi-token-item:focus-visible{outline:2px solid var(--wi-primary);outline-offset:2px;border-radius:4px}.wi-token-left{display:flex;align-items:center;gap:16px;min-width:0}.wi-token-icon-wrap{position:relative;width:40px;height:40px;flex-shrink:0}.wi-token-icon{width:40px;height:40px;border-radius:0;object-fit:contain;opacity:0;transition:opacity .2s ease}.wi-token-icon[data-loaded=true]{opacity:1}.wi-token-chain-badge{position:absolute;right:0;bottom:0;width:14px;height:14px;border-radius:50%;background:var(--wi-surface-bg);box-shadow:0 0 0 1.5px var(--wi-surface-bg);object-fit:contain}.wi-token-info{display:flex;flex-direction:column;min-width:0}.wi-token-name-row{display:flex;align-items:center;gap:6px;min-width:0}.wi-token-name{font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-high, rgba(0, 0, 0, .85));white-space:nowrap}.wi-token-apy{flex-shrink:0;font-family:inherit;font-size:12px;font-weight:600;line-height:1;color:var(--ds-system-purple-high, #9b78ff);background:var(--ds-system-purple-low, #2e2854);padding:4px;border-radius:6px;white-space:nowrap}.wi-token-price-row{display:flex;align-items:center;gap:8px}.wi-token-price{font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-low, rgba(0, 0, 0, .4));white-space:nowrap}.wi-token-change{font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em;white-space:nowrap}.wi-token-change[data-positive=true]{color:var(--ds-system-green-high, #00a0a2)}.wi-token-change[data-positive=false]{color:var(--ds-system-red-high, #a80927)}.wi-token-change[data-zero]{color:var(--ds-content-low, rgba(0, 0, 0, .4))}.wi-token-right{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.wi-token-balance{font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-highest, #000000);white-space:nowrap}.wi-token-value{font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-low, rgba(0, 0, 0, .4));white-space:nowrap}.wi-sticky-footer{flex-shrink:0}.wi-footer{padding:16px 24px 24px}.wi-builtin-footer{display:flex;flex-direction:column;gap:8px;align-items:stretch}.wi-wallet-disconnect-row{display:flex;justify-content:flex-end;flex-shrink:0;padding:16px 24px;border-top:1px solid var(--ds-border-default, rgba(0, 0, 0, .07))}.wi-send-toast{position:absolute;left:15px;right:15px;bottom:20px;z-index:2;display:flex;align-items:center;gap:12px;min-height:52px;padding:12px;border-radius:12px;background:var(--ds-surface-inverted, #1e232e);color:var(--ds-content-inverted, #ffffff);box-sizing:border-box;text-decoration:none}.wi-action-toast{position:absolute;left:15px;right:15px;bottom:20px;z-index:3;padding:12px 14px;border-radius:12px;background:var(--ds-surface-inverted, #1e232e);color:var(--ds-content-inverted, #ffffff);font-size:14px;line-height:1.4;text-align:center;box-sizing:border-box;animation:wi-action-toast-in .18s ease-out}.wi-popover-content:has(.wi-wallet-disconnect-row) .wi-action-toast,.wi-drawer-content:has(.wi-wallet-disconnect-row) .wi-action-toast{bottom:72px}@keyframes wi-action-toast-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.wi-action-card--dimmed{opacity:.4;cursor:pointer}.wi-action-card--dimmed:hover{opacity:.5}.wi-popover-content:has(.wi-wallet-disconnect-row) .wi-send-toast,.wi-drawer-content:has(.wi-wallet-disconnect-row) .wi-send-toast{bottom:72px}.wi-send-toast:hover{opacity:.92}.wi-send-toast-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--ds-accent-primary-default, #00b4b7)}.wi-send-toast-spinner{width:18px;height:18px;border:2px solid rgba(0,232,201,.22);border-top-color:var(--ds-accent-primary-on-inverted, #00e8c9);border-radius:50%;animation:wi-send-toast-spin .8s linear infinite}.wi-send-toast-error-dot{width:18px;height:18px;border-radius:50%;background:var(--ds-system-red-default, #ff3358)}@keyframes wi-send-toast-spin{to{transform:rotate(360deg)}}.wi-send-toast-copy{display:flex;min-width:0;flex-direction:column}.wi-send-toast-title{font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-inverted, #ffffff)}.wi-send-toast-desc{font-family:inherit;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:-.01em;color:var(--ds-accent-primary-on-inverted, #00e8c9)}.wi-send-toast-icon[data-status=error]+.wi-send-toast-copy .wi-send-toast-desc{color:var(--ds-system-red-default, #ff3358)}.wi-disconnect-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:16px;padding:0;border:none;background:transparent;color:var(--ds-content-low, rgba(0, 0, 0, .4));font-family:inherit;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.01em;cursor:pointer;transition:color .15s ease}.wi-disconnect-btn:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wi-disconnect-label{white-space:nowrap}.wi-legal-links{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;flex-shrink:0;font-family:inherit;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-low, rgba(0, 0, 0, .4))}.wi-receive-avatar .wi-avatar-fallback{position:absolute;inset:0;border-radius:50%;z-index:0}.wi-receive-avatar .wi-avatar-img{width:24px;height:24px}.wi-legal-link{color:var(--ds-content-low, rgba(0, 0, 0, .4));text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.wi-legal-link:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wi-legal-sep{color:inherit}.wi-empty{display:flex;align-items:center;justify-content:center;padding:32px 0;font-family:inherit;font-size:16px;color:var(--wi-texticon-secondary)}.wi-skeleton-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.wi-skeleton-left{display:flex;align-items:center;gap:12px}.wi-skeleton-block{border-radius:6px;background:var(--wi-border-default);position:relative;overflow:hidden}.wi-skeleton-block:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%);animation:wi-shimmer 1.5s ease-in-out infinite}[data-theme=light] .wi-skeleton-block:after{background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.04) 50%,transparent 100%)}.wi-skeleton-icon{width:32px;height:32px;border-radius:50%;flex-shrink:0}.wi-skeleton-lines{display:flex;flex-direction:column;gap:6px}.wi-skeleton-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.wi-header-back{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;cursor:pointer;color:var(--ds-content-low, rgba(0, 0, 0, .4));flex-shrink:0;transition:color .15s ease}.wi-header-back:hover{color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wi-view-container{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.wi-popover-content[data-view=qr] .wi-view-container,.wi-drawer-content[data-view=qr] .wi-view-container{flex:1;min-height:0}.wi-view-inner{display:flex;flex-direction:column;flex:1;min-height:0}.wi-view-wallet{animation:wi-slide-in-left .25s ease-out}.wi-view-qr,.wi-view-portfolio{animation:wi-slide-in-right .25s ease-out}.wi-qr-body{flex:1;min-height:0;display:flex;flex-direction:column}.wi-portfolio-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.wi-portfolio-body>.wp-embed{flex:1;min-height:0}.wi-portfolio-body .wp-body-inner{padding:16px 16px 32px;gap:32px}.wi-receive-section{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:24px}.wi-receive-account{display:inline-flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;border:0;background:var(--ds-surface-high, #edf1f2);border-radius:9999px;font-family:inherit;color:inherit}.wi-receive-account--btn{cursor:pointer;transition:none}.wi-receive-account--btn:hover{background:#2e3544}:root[data-ds-theme=light] .wi-receive-account--btn:hover{background:#e4e8ef}.wi-receive-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;overflow:hidden;flex-shrink:0}.wi-receive-account-name{font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-high, rgba(0, 0, 0, .85));white-space:nowrap}.wi-receive-account>svg{color:var(--ds-content-medium, rgba(0, 0, 0, .65));flex-shrink:0}.wi-receive-chevron{display:inline-flex;align-items:center;color:var(--ds-content-medium, rgba(0, 0, 0, .65));flex-shrink:0;transition:transform .2s ease}.wi-receive-chevron[data-open=true]{transform:rotate(180deg)}.wi-qr-block{display:flex;flex-direction:column;align-items:center;gap:16px}.wi-qr-box{position:relative;display:flex;align-items:center;justify-content:center;padding:10px;background:#fff;border-radius:6px;overflow:hidden}.wi-qr-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.wi-qr-address{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:16px;font-weight:400;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-medium, rgba(0, 0, 0, .65));text-align:center;word-break:break-all;max-width:281px;margin:0}.wi-qr-copy-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 16px;border:1px solid var(--ds-border-default, rgba(0, 0, 0, .07));background:var(--ds-surface-default, #ffffff);border-radius:12px;cursor:pointer;transition:border-color .15s ease}.wi-qr-copy-btn:hover{border-color:var(--ds-border-medium, rgba(0, 0, 0, .18))}.wi-qr-copy-icon{display:inline-flex;color:var(--ds-content-high, rgba(0, 0, 0, .85))}.wi-qr-copy-text{font-family:inherit;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:-.01em;color:var(--ds-content-high, rgba(0, 0, 0, .85));white-space:nowrap}.wi-receive-footer{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:16px 24px;border-top:1px solid var(--ds-border-default, rgba(0, 0, 0, .07))}.wi-drawer-content .wi-header{padding:16px}.wi-drawer-content .wi-header--receive .wi-header-action,.wi-drawer-content .wi-header--sub-account .wi-header-action{top:16px;right:16px}.wi-drawer-content .wi-total-section,.wi-drawer-content .wi-action-row{margin:16px 16px 0}.wi-drawer-content .wi-nav-fixed{padding:0 16px}.wi-drawer-content .wi-token-item{padding:12px 16px}.wi-drawer-content .wi-wallet-disconnect-row{padding:16px}
|