@spicenet-io/spiceflow-ui 4.9.4-withdraw.2 → 4.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import{jsx as c,jsxs as w,Fragment as Gt}from"react/jsx-runtime";import xn,{useState as R,useRef as Z,useEffect as X,useCallback as se,memo as tn,useId as jr,useContext as Vt,useMemo as $,useLayoutEffect as Vr}from"react";import{u as At,r as Ss,f as Ae,g as pt,a as Ho,b as Ue,c as Jt,t as an,z as qn,d as Jn,p as fo,e as ho,h as Es,i as $n,S as Lt,j as _n,k as vn,l as jo,B as Wt,s as mn,m as Qr,n as Pl,o as Be,C as Vo,q as Qe,v as zt,w as qr,x as In,y as Ll,A as Qo,D as Kr,E as Fs,F as qo,G as eo,H as Yr,I as go,P as zl,J as Hl,R as jl,K as Vl,L as Ql,M as ql}from"./privy-BnpG6FQA.js";import{N as Tm,T as Dm,U as Rm,V as Wm,Q as Mm,O as Om}from"./privy-BnpG6FQA.js";import{useAccount as Bs,useConnect as Kl,useDisconnect as Yl,useSwitchChain as Zr,useReconnect as Zl,useWalletClient as Xl}from"wagmi";import{isNativeToken as he,ZERO_ADDRESS as Qt,getChainMeta as Xr,getMainnetChains as Gl,getTestnetChains as Jl,TOKENS as Gr,getChainIdsByNetwork as Ko,getTokenByAddress as xt,areEquivalent as $l,getTokensForChain as _l,getEscrowContractAddress as An,convertAmountBetweenDecimals as yo,isSpicenetChainId as to,hashChainBatches as Nn,getAccountNonce as ec,SPICE_GAS_FEE_RECIPIENT as ln,SPICE_PLATFORM_FEE_RECIPIENT as Kn,getEscrowContract as tc,normalizeNativeTokenAddress as Je,getEquivalenceGroup as nc,getTokenBySymbol as Jr,spicenetAbi as $r,getEquivalentAddresses as oc,uniV3QuoterV2Abi as sc,uniV3SwapRouterAbi as rc,NATIVE_TOKEN_ADDRESS as _r,applySlippage as ea,SPICENET_NATIVE_CHAIN_ID as ac,SPICE_SOLVER_ADDRESS as ic}from"@spicenet-io/spiceflow-core";import{ZERO_ADDRESS as Um,SPICENET_NATIVE_CHAIN_ID as Pm,SPICE_COMBINED_FEE_RECIPIENT as Lm,SPICE_GAS_FEE_RECIPIENT as zm,SPICE_PLATFORM_FEE_RECIPIENT as Hm,SPICE_SOLVER_ADDRESS as jm,applySlippage as Vm,buildUniV3SwapCalls as Qm,getChainIdsByNetwork as qm,getEscrowContractAddress as Km,isNativeToken as Ym,isSpicenetChainId as Zm,normalizeNativeTokenAddress as Xm,spicenetAbi as Gm,spicenetAbi as Jm}from"@spicenet-io/spiceflow-core";import{getAddress as bt,isAddress as $t,erc20Abi as ze,formatUnits as $e,decodeFunctionData as Yo,keccak256 as ta,encodeAbiParameters as Un,encodeFunctionData as ot,createWalletClient as Ts,custom as Ds,parseUnits as _e,parseAbi as bn,encodePacked as Zo}from"viem";import{getBalance as Rs,readContract as Pn}from"viem/actions";import{useConnectWallet as na}from"@privy-io/react-auth";import oa,{createPortal as Ws}from"react-dom";import"@tanstack/react-query";const lc="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@100;200;300;400;500;600;700&display=swap",cc="spiceflow-ibm-plex-mono",dc="spiceflow-preconnect-googleapis",uc="spiceflow-preconnect-gstatic";function Ms(e,t){if(document.getElementById(e))return;const n=t();n.id=e,document.head.appendChild(n)}function pc(){typeof document>"u"||(Ms(dc,()=>{const e=document.createElement("link");return e.rel="preconnect",e.href="https://fonts.googleapis.com",e}),Ms(uc,()=>{const e=document.createElement("link");return e.rel="preconnect",e.href="https://fonts.gstatic.com",e.crossOrigin="",e}),Ms(cc,()=>{const e=document.createElement("link");return e.rel="stylesheet",e.href=lc,e}))}const xo=(e,t,n,o)=>({width:e,height:e,fill:"none",className:t,"aria-hidden":n??!0,style:o}),Yn=({size:e=16,color:t="currentColor",strokeWidth:n=2,direction:o="down",className:s,style:r,"aria-hidden":a})=>c("svg",{...xo(e,s,a,{transform:o==="up"?"rotate(180deg)":void 0,transition:"transform 0.3s ease",...r}),viewBox:"0 0 16 16",children:c("path",{d:"M4 6L8 10L12 6",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})}),mc=({size:e=24,color:t="currentColor",strokeWidth:n=2,className:o,style:s,"aria-hidden":r})=>w("svg",{...xo(e,o,r,s),viewBox:"0 0 24 24",children:[c("circle",{cx:"11",cy:"11",r:"8",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"}),c("path",{d:"m21 21-4.3-4.3",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})]}),fc=({size:e=24,color:t="currentColor",strokeWidth:n=2,className:o,style:s,"aria-hidden":r})=>c("svg",{...xo(e,o,r,s),viewBox:"0 0 24 24",children:c("path",{d:"m6 9 6 6 6-6",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})}),hc=({size:e=24,color:t="currentColor",strokeWidth:n=2,className:o,style:s,"aria-hidden":r})=>c("svg",{...xo(e,o,r,s),viewBox:"0 0 24 24",children:c("path",{d:"m9 18 6-6-6-6",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})}),sa=({size:e=14,color:t="currentColor",strokeWidth:n=2,className:o,style:s,"aria-hidden":r})=>c("svg",{...xo(e,o,r,s),viewBox:"0 0 16 16",children:c("path",{d:"M3 8L6.5 11.5L13 5",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})}),Os=({value:e,onChange:t,ariaLabel:n,placeholder:o,endAdornment:s,size:r="lg",dark:a,styles:i,inputRef:d,autoFocus:l})=>{const{dark:p,dk:u}=At(i,a),m=a??p,h=r==="lg",f=h?"15px":"14px",y=h?"7px":"10px",g=h?Ss.input:Ss.sm,k=i?.fontFamily||Ae.ui,x=m?u.inputBg:"#FAFAFA",F=m?u.inputBorder:"#e5e7eb",b=m?u.textPrimary:"#374151",C=m?u.textSecondary:"#9ca3af";return w("div",{style:{display:"flex",alignItems:"center",gap:"8px",backgroundColor:x,borderRadius:g,boxShadow:m?"0 2px 4px rgba(0, 0, 0, 0.3)":"0 2px 4px rgba(0, 0, 0, 0.1)",padding:`${y} 5px`,border:`1px solid ${F}`},children:[c(mc,{style:{color:C},size:24}),c("input",{ref:d,type:"text",role:"searchbox","aria-label":n,autoComplete:"off",spellCheck:!1,autoFocus:l,"data-spiceflow-focus":!0,placeholder:o,value:e,onChange:T=>t(T.target.value),style:{flex:1,backgroundColor:x,outline:"none",border:"none",color:b,fontSize:f,fontWeight:400,fontFamily:k}}),s]})},Ns=6e4,gc=3e5,ra="https://api.g.alchemy.com/prices/v1",no=new Map;function aa(e,t){try{const n=t??pt(e).transport.url;if(typeof n!="string")return null;const{hostname:o,pathname:s}=new URL(n);if(!o.endsWith(".g.alchemy.com"))return null;const r=s.split("/").filter(Boolean).pop();return r?{network:o.slice(0,-14),key:r}:null}catch{return null}}const bo=(e,t)=>`${e.network}:${e.key}:${t.toLowerCase()}`;function wo(e,t){const n=no.get(bo(e,t));if(!n?.price||n.updatedAt===void 0)return;const o=Date.now()-n.updatedAt;if(!(o>=gc))return{price:n.price,stale:o>=Ns}}function ia(e){const t=Number(e.prices?.find(n=>n.currency==="usd")?.value);return Number.isFinite(t)&&t>0?t:0}async function la(e,t,n){const o=[],s=new Set,r=Date.now();for(const a of new Set(t.map(i=>i.toLowerCase()))){const i=no.get(bo(e,a));i?.pending?s.add(i.pending):(!i||r-i.attemptedAt>=Ns&&(i.updatedAt===void 0||r-i.updatedAt>=Ns))&&o.push(a)}for(let a=0;a<o.length;a+=25){const i=o.slice(a,a+25),d=Promise.resolve().then(async()=>{try{const l=await n(i);for(const p of i){const u=l.get(p);if(!u)continue;const m=no.get(bo(e,p));m.price=u,m.updatedAt=Date.now()}}catch{}finally{for(const l of i)no.get(bo(e,l)).pending=void 0}});for(const l of i){const p=bo(e,l);no.set(p,{...no.get(p),attemptedAt:r,pending:d})}s.add(d)}await Promise.all(s)}async function ca(e,t){return await la(e,t,async n=>{const o=await fetch(`${ra}/${e.key}/tokens/by-address`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({addresses:n.map(a=>({network:e.network,address:a}))}),signal:AbortSignal.timeout(1e4)});if(!o.ok)throw new Error("Provider price request failed");const s=await o.json(),r=new Map;for(const a of s?.data??[]){if(a.network&&a.network!==e.network)continue;const i=String(a.address).toLowerCase();n.includes(i)&&r.set(i,ia(a))}return r}),new Map(t.map(n=>[n.toLowerCase(),wo(e,n)?.price??0]))}async function da(e,t){const n=`native:${t}`;return await la(e,[n],async()=>{const o=await fetch(`${ra}/${e.key}/tokens/by-symbol?symbols=${encodeURIComponent(t)}`,{signal:AbortSignal.timeout(1e4)});if(!o.ok)throw new Error("Provider native price request failed");const s=(await o.json())?.data?.find(r=>r.symbol?.toUpperCase()===t.toUpperCase());return new Map([[n.toLowerCase(),s?ia(s):0]])}),wo(e,n)?.price??0}const ua=async(e,t)=>{try{const n=Ho(),o=pt(t),s=await Rs(o,{address:e}),r=n[t],a=parseFloat((Number(s)/Math.pow(10,18)).toFixed(6)),i=Ue(t),d=i?.supportedTokens?.find(l=>he(l.address));return{address:Qt,name:r.chain.nativeCurrency.name,symbol:r.chain.nativeCurrency.symbol,decimals:r.chain.nativeCurrency.decimals,balance:s,balanceFormatted:a,balanceUsd:0,logoURI:d?.logo||i?.logo,isNative:!0,chainId:t}}catch{const n=Ho(),o=Ue(t),s=o?.supportedTokens?.find(r=>he(r.address));return{address:Qt,name:n[t].chain.nativeCurrency.name,symbol:n[t].chain.nativeCurrency.symbol,decimals:18,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:s?.logo||o?.logo,isNative:!0,chainId:t}}},yc=async(e,t,n,o,s,r)=>{try{if(!$t(n))return null;const a=bt(n),i=$t(e)?bt(e):e,d=pt(t),l=await Pn(d,{address:a,abi:ze,functionName:"balanceOf",args:[i]}),p=parseFloat((Number(l)/Math.pow(10,r)).toFixed(6));return p>0?{address:a,name:o,symbol:s,decimals:r,balance:l,balanceFormatted:p,balanceUsd:0,logoURI:void 0,isNative:!1,chainId:t}:null}catch(a){const i=typeof a?.message=="string"?a.message:String(a?.message??"");return i.includes("checksum")||i.includes("Address")||i.includes("invalid"),null}},pa=(e,t)=>{const n=Ue(t);if(!n)return e;const o=new Set(e.map(r=>r.address.toLowerCase())),s=e.some(r=>r.isNative);for(const r of n.supportedTokens||[])he(r.address)&&s||o.has(r.address.toLowerCase())||e.push({address:r.address,name:r.name,symbol:r.symbol,decimals:r.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:r.logo,isNative:he(r.address),chainId:t});if(!e.find(r=>r.isNative)){const r=n.supportedTokens?.find(a=>he(a.address));e.push({address:Qt,name:n.nativeCurrency.name,symbol:n.nativeCurrency.symbol,decimals:n.nativeCurrency.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:r?.logo||n.logo,isNative:!0,chainId:t})}return e},xc=async(e,t)=>{const n=[],o=async a=>{for(const i of a){const d=await yc(e,t,i.address,i.name,i.symbol,i.decimals);d&&(d.logoURI=i.logo,n.push(d))}},s=await ua(e,t);s.balanceFormatted>0&&n.push(s);const r=(Ue(t)?.supportedTokens||[]).filter(a=>!he(a.address));if(r.length>0)try{const a=pt(t),i=bt(e),d=r.filter(m=>$t(m.address)).map(m=>({address:bt(m.address),abi:ze,functionName:"balanceOf",args:[i]})),l=await a.multicall({contracts:d}),p=r.filter(m=>$t(m.address)),u=[];l.forEach((m,h)=>{if(m.status==="success"){const f=m.result;if(f&&f>0n){const y=p[h],g=parseFloat((Number(f)/Math.pow(10,y.decimals)).toFixed(6));g>0&&n.push({address:bt(y.address),name:y.name,symbol:y.symbol,decimals:y.decimals,balance:f,balanceFormatted:g,balanceUsd:0,logoURI:y.logo,isNative:!1,chainId:t})}}else u.push(p[h])}),await o(u)}catch{await o(r)}return{tokens:pa(n,t),chainId:t}},bc=.01,wc=async(e,t,n,o=!0)=>{const s=pt(t),r=bt(e),a=[];let i;do{const g=await s.request({method:"alchemy_getTokenBalances",params:[r,"erc20",i?{pageKey:i}:{}]});a.push(...g.tokenBalances),i=g.pageKey||void 0}while(i);const d=a.filter(g=>$t(g.contractAddress)&&!!g.tokenBalance&&BigInt(g.tokenBalance)>0n),l=Ue(t)?.supportedTokens||[],p=g=>l.find(k=>k.address.toLowerCase()===g.toLowerCase()),u=[],m=await ua(e,t),[h,f,y]=await Promise.all([Promise.all(d.map(async g=>{const k=p(g.contractAddress);return k?{name:k.name,symbol:k.symbol,decimals:k.decimals,logo:k.logo??null}:await s.request({method:"alchemy_getTokenMetadata",params:[g.contractAddress]})})),o?ca(n,d.map(g=>g.contractAddress)):new Map(d.map(g=>[g.contractAddress.toLowerCase(),wo(n,g.contractAddress)?.price??0])),o&&m.balanceFormatted>0?da(n,m.symbol):wo(n,`native:${m.symbol}`)?.price??0]);return m.balanceFormatted>0&&u.push({...m,balanceUsd:y*m.balanceFormatted}),d.forEach((g,k)=>{const x=h[k];if(x.decimals===null)return;const F=BigInt(g.tokenBalance),b=parseFloat((Number(F)/Math.pow(10,x.decimals)).toFixed(6));if(b<=0)return;const C=f.get(g.contractAddress.toLowerCase()),T=C?C*b:0;!p(g.contractAddress)&&(!C||T<bc)||u.push({address:bt(g.contractAddress),name:x.name||"Unknown",symbol:x.symbol||"UNKNOWN",decimals:x.decimals,balance:F,balanceFormatted:b,balanceUsd:T,logoURI:x.logo||void 0,isNative:!1,chainId:t})}),{tokens:pa(u,t),chainId:t}},ma=new Set,fa=async(e,t,n=!0)=>{try{const o=aa(t);if(o)try{return await wc(e,t,o,n&&(typeof document>"u"||!document.hidden))}catch(s){ma.has(t)||(ma.add(t),console.warn(`Token discovery unavailable on chain ${t}; listing configured tokens only.`,s))}return await xc(e,t)}catch{return{tokens:[],chainId:t}}},oo=async(e,t)=>{if(!e)throw new Error("Wallet address is required");const n=Ho(),o=t&&t.length>0?new Set(t):null,s=Object.keys(n).map(Number).filter(i=>!o||o.has(i)),r=await Promise.allSettled(s.map(i=>fa(e,i))),a={};return r.forEach((i,d)=>{i.status==="fulfilled"&&(a[s[d]]=i.value)}),a},so=({address:e,supportedChains:t,fetchBalances:n,enabled:o=!0,refreshInterval:s=0,priceEnabled:r=!0})=>{const[a,i]=R([]),[d,l]=R(!1),[p,u]=R(null),m=Z(!0),h=Z(e),f=Z(t),y=Z(n),g=Z(r);g.current=r,X(()=>{h.current=e,f.current=t,y.current=n},[e,t,n]);const k=se(async()=>{const b=h.current,C=f.current;if(!b){i([]);return}m.current&&l(!0),u(null);try{const T=Ho(),v=Object.keys(T).map(Number).filter(A=>C.includes(A)),E=(await Promise.allSettled(v.map(async A=>{try{const S=await fa(b,A,g.current);return S.tokens.map(I=>({...I,chainId:S.chainId}))}catch(S){return console.error(`Error fetching assets for chain ${A}:`,S),[]}}))).filter(A=>A.status==="fulfilled").flatMap(A=>A.value);i(E)}catch(T){const v=T instanceof Error?T.message:"Failed to fetch assets";u(v)}finally{m.current&&(l(!1),m.current=!1)}},[]),x=se(b=>a.filter(C=>C.chainId===b),[a]),F=se(()=>a.filter(b=>b.isNative),[a]);return X(()=>{if(!o){m.current=!0,i([]),l(!1),u(null);return}e?(m.current=!0,k()):i([])},[e,o,k]),X(()=>{if(!o||!e||!s)return;const b=setInterval(()=>{k()},s);return()=>clearInterval(b)},[e,o,s]),X(()=>{r&&o&&e&&!m.current&&k()},[r]),{assets:a,loading:d,error:p,refreshAssets:k,getAssetsByChain:x,getNativeAssets:F}};function Cc(e,t=40,n=18){const o=e.length,s=[{maxLength:7,shrink:0},{maxLength:10,shrink:6},{maxLength:13,shrink:12},{maxLength:16,shrink:16},{maxLength:20,shrink:19}].find(r=>o<=r.maxLength);return Math.max(n,t-(s?.shrink??22))}const Zn=({value:e,element:t="span",placeholder:n,ariaLabel:o,ariaInvalid:s,disabled:r,onChange:a,inputMode:i="decimal",autoComplete:d="off",dataSpiceflowFocus:l,fontFamily:p,fontWeight:u=700,color:m,textAlign:h,lineHeight:f=1,maxFontSize:y=40,minFontSize:g=18,overflow:k="ellipsis",title:x,style:F})=>{const b=Cc(e||n||"",y,g),C=k==="wrap"?{overflowWrap:"anywhere",wordBreak:"break-word",whiteSpace:"normal"}:k==="ellipsis"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{},T={fontFamily:p,fontSize:`${b}px`,fontWeight:u,color:m,lineHeight:f,letterSpacing:0,textAlign:h,minWidth:0,maxWidth:"100%",...C,...F};return t==="input"?c("input",{type:"text",inputMode:i,autoComplete:d,"aria-label":o,"aria-invalid":s||void 0,"data-spiceflow-focus":l||void 0,value:e,onChange:a,placeholder:n,disabled:r,title:x,style:{backgroundColor:"transparent",border:"none",outline:"none",padding:0,width:"100%",...T}}):c(t,{title:x,style:T,children:e})},Us=({pct:e,isMax:t,primaryColor:n,dark:o,fillColor:s})=>{const r=e/100;return w("svg",{width:"14",height:"14",viewBox:"0 0 14 14",children:[c("circle",{cx:"7",cy:"7",r:"6.84375",fill:t?n:"none",stroke:t?n:o?"#4a5568":"#3C3E42",strokeWidth:"0.3125"}),!t&&r>0&&c("path",{d:`M 7 7 L 7 0.15625 A 6.84375 6.84375 0 ${r>.5?1:0} 1 ${7+6.84375*Math.sin(r*2*Math.PI)} ${7-6.84375*Math.cos(r*2*Math.PI)} Z`,fill:s})]})};var ha="data:image/png;base64,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",kc="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAQlBMVEVMaXGGl/+Elf+HmP+Hmf+Hl/+Gl/+Flv+Glv+Gl/+Gl/+Gl/////+On/+Akv/4+f/v8f/i5v+9x//S2P+tuP+erP+W3PvUAAAAC3RSTlMArBlx7Isy/vvOXbb4wDYAAAAJcEhZcwAACxMAAAsTAQCanBgAAALuSURBVHjarVfbtqsgDOxu0UBpkOv//+pJRC0i2HZ58uTeqzOEyYXkduvY/Tn8KSEBpFB/w3O8/WTjoCSS6dn4S6rha477QxFGS0nHM56ckJL/ox73b+CDQAQJujKiQxTDR4qH4LN109gP8Ti/uyI46K4BUagTLZ4Cz+CZAsWzhx/oeP3RyImhjf/7ePzmxF8Hr7+zNsP3eL7GkWH4Bc8MlQ7P3/DMsIvFKHRLPzBsTWVBizIfVNMBg9H7mLQxTRdUkb9tfJxebNZjywuJW1bf2xcw4WXtzDF5bVqXuJ9HwETHNnPYeHRii0THgcwQyBxTBDQ9Fx7dEBr0TOCDYyeS6aigsFsCQIFgBh9YiVgxQA7EqM9KiCiS95nh5WsGPZ4k8ZZFRqfoY4shy9i8AaExxRgTMgcApuSODPMdRtn02wc7Z9HkPMsPa1ZVOsiRygga4udfZ5vTKKx/7GIBVFJHCUy0r705DNu3LQ9kEQ6NxMTXwWzhUTD7xlJr2MLvrZCBVazy2OD0iaC4BGh1k4cSLOSbbIuujKW4wT76aYefrGswuBJSEoBeUnaFk7nQcKEIJZRXMPsfM95O3p3KKAoRa/cJTh0pHKMybSqyiO8wMsG0wzODi7UK9u0Ah7FIJAj1+UyQcl4Gqi2uax+L/siJVKQyi+j251sbMoHTZrUqlctiojDGRX27WpivYNtdi4upKme0c/gXBmdzY7ZoOi/cWDeU7MJy+oKn3hzbT9/cFKt6pmKe9udnCoTeG103VW7EjrGZJMOD863GNzfVQ0EDP6aJUH61wBRHGZa23npYDDpuh8EnpPBRS6UUQOg9r8enzaDdmhmsPkH/da3bokkr/i0dwMmYU7lg0pRrwiVzNrW+n/dKhVzVVIbGnE9Jj86IA8glk87h+xGnGrJyzXwYNvdD1uUx7/qgeX3UvT5sXx/3ry8c11ee60vX9bXvvXjWfsC3i+d79YV19+WPH1bf/7B8Lxy8/isBINTp+v8Ph4CTcAywkiYAAAAASUVORK5CYII=",vc="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAPFBMVEVMaXGZhueZh+eYhuWXheWYh+eYhuaXheCYhuaah+j//fmhjvOSf+Sdi+q8sOzNxO/m4fT08fapmuja0/Jb/wGxAAAACnRSTlMArEz/IYtsA87sGIEBYwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAmJJREFUeNqtV4uSgyAMRIECGhTk///1otTKG3s2Mzdz03aXbEJIQkhuYv9jIx+komhKDnxk4v1F1wT+SoxcUj3PWu8Ex39U8lH4bzt4QthL6tlDA8OP5Iv1vMADGFc5+uRQnDWdEES81EwbNquXqDuBx8va6ZcXktUYBOkc/3GixsBvwA8neFGGGO7hdyeGAsMXeM/wBJ8ziLv6LwYeisD4f4lHhiAXmH9FvzYV3AchOw6At9gFKW4KANDbsttGoSyCKd1Ab4uxkzezhBQaRfQygHB3oj2FhjwT9QgifErM6jiOrQgAXe2UmcuiIKSuHG+mki2XCH0kYqzgF1vETyYszLFaxLBMNdsgDGNFAazRoUcwrDMlDYz28RS0newGcCRlDa8TK4YgxuORGj9x8NYVEsxjKQSp/pNAw5YRcJI/JP5nYeqxjAxeIfCeRQQDyWOos/y5xR2V4NIgYhRJVkjgpralBPcvQH4PsBxIX0DjJqKRdgYLtsYPUyqh60CsACXEQew7ECvAICZp7DqwQEIQXaR+CkzaoeKr3FewQdqg4mIy36VgLyZWz4G96N5vs8sKj0UPSlJGy4fAbWX88SgGQYgJVjDXi7JaaxYo9Oj4UQ0lrHCGdN25ceiEfNoZSfIomjhcKN26DarT0q4gaiyfe2C9u9hWNUBvRghbG+yd1AZNFFrjmu+ucXMF2j60OObE7f0m+mrv/5qQkimpO+IU8fKXQ9bDMe/5oPl81P3BsP183EeGu3GoLBw/WHnuLF20sXQ9X/ueL57PV99w+Z7P5Vvj8j3fXr7j9X/f/5Vsrv9/K3NM7mGXOq0AAAAASUVORK5CYII=",Ps="data:image/svg+xml,%3csvg width='8' height='11' viewBox='57 6 8 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3cpath d='M62.7081 13.27C62.742 13.27 62.7642 13.3057 62.7491 13.3362V13.336L61.1229 16.6083C61.0892 16.6761 60.9926 16.6759 60.959 16.6083L59.3382 13.336C59.3232 13.3057 59.3453 13.27 59.3792 13.27H62.7081Z' fill='%23EA4B4B'/%3e %3cpath d='M61.0026 9.71913C61.0194 9.68524 61.0678 9.68524 61.0845 9.71913L62.747 13.0897C62.762 13.12 62.7399 13.1557 62.706 13.1557H59.3763C59.3424 13.1557 59.3203 13.12 59.3353 13.0897L61.0026 9.71913Z' fill='%23EA4B4B'/%3e %3cpath d='M60.8426 9.63827C60.8766 9.63827 60.8987 9.6741 60.8835 9.70444L59.2164 13.0594C59.1995 13.0932 59.1513 13.0932 59.1345 13.0594L57.5001 9.77047C57.47 9.70962 57.5142 9.63827 57.5821 9.63827H60.8426Z' fill='%23EA4B4B'/%3e %3cpath d='M64.5036 9.63617C64.5715 9.63618 64.6157 9.70753 64.5855 9.76838H64.5854L62.9512 13.0573C62.9344 13.0911 62.8862 13.0912 62.8692 13.0573L61.2021 9.70235C61.187 9.672 61.2091 9.63617 61.2431 9.63617H64.5036Z' fill='%23EA4B4B'/%3e %3cpath d='M62.8284 6.18281C62.862 6.11518 62.9586 6.11518 62.9922 6.18281L64.5855 9.38969C64.6157 9.45054 64.5715 9.52189 64.5036 9.52189H61.2431C61.2091 9.52189 61.187 9.48605 61.2021 9.45571L62.8283 6.18265L62.8284 6.18281Z' fill='%23EA4B4B'/%3e %3cpath d='M62.3131 6.13196C62.381 6.13196 62.4252 6.20331 62.3951 6.26416C62.154 6.74935 61.9128 7.23455 61.6718 7.71975H61.6716C61.4225 8.22125 61.1733 8.72259 60.9242 9.22409C60.9074 9.25799 60.859 9.25799 60.8422 9.22409L60.6305 8.79587C60.6275 8.78957 60.6259 8.78263 60.6259 8.77553V6.22349C60.6259 6.17297 60.6668 6.13196 60.7173 6.13196H62.3131Z' fill='%23EA4B4B'/%3e%3c/svg%3e";const Co=Xr(1)?.logo??"",Ic=Gr.find(e=>e.symbol==="USDC")?.logo??"",Ln=Object.fromEntries([...Gl(),...Jl()].map(e=>[e.id,e.logo])),ko={metamask:ha,metaMask:ha,rabby:kc,phantom:vc},Ls=Object.fromEntries(Gr.map(e=>[e.symbol,e.logo])),zs=({symbol:e,logoURI:t,size:n=20,theme:o})=>{const{theme:s}=At(),r=o||s,[a,i]=R(!1),d={width:`${n}px`,height:`${n}px`,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${n*.4}px`,fontWeight:r.typography.fontWeight.bold,flexShrink:0,overflow:"hidden",backgroundColor:"#ffffff"},l=e.toUpperCase(),p=t||Ls[l];if(p&&!a)return c("img",{src:p,alt:e,loading:"lazy",decoding:"async",style:{...d,objectFit:"cover"},onError:()=>i(!0)});const u=Ac(e);return c("div",{style:{...d,...u.style},children:u.icon})},Ac=e=>{const t=e.toUpperCase(),n={ETH:{bg:"#627EEA",text:"#FFFFFF",icon:"\u039E"},BTC:{bg:"#F7931A",text:"#FFFFFF",icon:"\u20BF"},USDC:{bg:"#2775CA",text:"#FFFFFF"},USDT:{bg:"#26A17B",text:"#FFFFFF"},DAI:{bg:"#F5AC37",text:"#FFFFFF"},WETH:{bg:"#627EEA",text:"#FFFFFF",icon:"\u039E"},WBTC:{bg:"#F09242",text:"#FFFFFF",icon:"\u20BF"},CBTC:{bg:"#F7931A",text:"#FFFFFF",icon:"\u20BF"},USD:{bg:"#26A17B",text:"#FFFFFF",icon:"$"},MATIC:{bg:"#8247E5",text:"#FFFFFF"},AVAX:{bg:"#E84142",text:"#FFFFFF"},SOL:{bg:"#9945FF",text:"#FFFFFF"},DOT:{bg:"#E6007A",text:"#FFFFFF"},ADA:{bg:"#0033AD",text:"#FFFFFF"},LINK:{bg:"#375BD2",text:"#FFFFFF"},UNI:{bg:"#FF007A",text:"#FFFFFF"},AAVE:{bg:"#B6509E",text:"#FFFFFF"},CRV:{bg:"#40E0D0",text:"#000000"}}[t];if(n)return{style:{backgroundColor:n.bg,color:n.text},icon:n.icon||t.charAt(0)};const o=t.split("").reduce((i,d)=>d.charCodeAt(0)+((i<<5)-i),0),s=Math.abs(o)%360,r=`hsl(${s}, 60%, 50%)`,a=s>180?"#FFFFFF":"#000000";return{style:{backgroundColor:r,color:a},icon:t.charAt(0)}},ga=({chainId:e,name:t,size:n=16})=>{const o=e&&(Ln[e]||Xr(e)?.logo)||"";return o?c("img",{src:o,alt:t||`Chain ${e}`,loading:"lazy",decoding:"async",width:n,height:n,style:{width:`${n}px`,height:`${n}px`,borderRadius:"50%",objectFit:"cover",flexShrink:0}}):null};function Hs(e){return e.displaySymbol||e.symbol}function Sc(e){return e.displayName||e.displaySymbol||e.name||e.symbol}function js(e){return e.displayChainName||Jt(e.chainId)}const Ec=({selectedAsset:e,assets:t,onAssetSelect:n,showDropdown:o,onToggleDropdown:s,disabled:r=!1,theme:a,onViewAllAssets:i})=>{const{theme:d}=At(),l=a||d,p=Z(null),u=Z(null),m=Z(null),[h,f]=R(null);X(()=>{if(o&&u.current){const D=()=>{if(u.current){const B=u.current.getBoundingClientRect();f({top:B.bottom+6,right:window.innerWidth-B.right})}};return D(),window.addEventListener("scroll",D,!0),window.addEventListener("resize",D),()=>{window.removeEventListener("scroll",D,!0),window.removeEventListener("resize",D)}}else f(null)},[o]),X(()=>{const D=B=>{p.current&&!p.current.contains(B.target)&&m.current&&!m.current.contains(B.target)&&o&&s()};return o&&document.addEventListener("mousedown",D),()=>{document.removeEventListener("mousedown",D)}},[o,s]);const[y,g]=R(!1),k=l.mode==="light",x={backgroundColor:"transparent",border:`1px solid ${k?"#aaaaaa":l.colors.border}`,borderRadius:"6px",color:l.colors.text,cursor:r?"not-allowed":"pointer",padding:"8px 14px 8px 10px",width:"100%",display:"flex",flexDirection:"column",gap:"4px",opacity:r?.6:1,transition:an.interactive,transform:y?"scale(0.98)":"scale(1)"},F={display:"flex",justifyContent:"space-between",alignItems:"center",gap:"10px",minWidth:0},b={display:"flex",alignItems:"center",gap:"4px",paddingTop:"4px",borderTop:`1px solid ${l.colors.border}`},C=()=>h?{position:"fixed",top:`${h.top}px`,right:`${h.right}px`,backgroundColor:l.colors.secondary,border:`1px solid ${l.colors.border}`,borderRadius:l.borderRadius.md,boxShadow:l.shadows.lg,zIndex:qn.dropdown,width:"200px",maxHeight:"300px",overflow:"auto"}:{},T={backgroundColor:"transparent",border:"none",color:l.colors.text,cursor:"pointer",padding:l.spacing.sm,width:"100%",display:"flex",alignItems:"center",gap:l.spacing.sm,transition:`background-color ${l.animation.normal}`,":hover":{backgroundColor:l.colors.surfaceHover}},v={display:"flex",flexDirection:"column",alignItems:"flex-start",flex:1},E={fontSize:l.typography.fontSize.sm,fontWeight:l.typography.fontWeight.medium},A={fontSize:l.typography.fontSize.xs,color:l.colors.textMuted},S={backgroundColor:"transparent",border:"none",borderTop:`1px solid ${l.colors.border}`,color:l.colors.primary,cursor:"pointer",padding:"10px 12px",width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontFamily:l.typography.fontFamily,fontSize:l.typography.fontSize.xs,fontWeight:l.typography.fontWeight.medium,textDecoration:"underline",textUnderlineOffset:"2px"},I={transition:`transform ${l.animation.normal}`,transform:o?"rotate(180deg)":"rotate(0deg)",flexShrink:0};return w(Gt,{children:[c("div",{style:{position:"relative"},ref:p,children:w("div",{ref:u,style:x,onClick:r?void 0:s,onMouseLeave:()=>{g(!1)},onMouseDown:()=>g(!0),onMouseUp:()=>g(!1),children:[w("div",{style:F,children:[c("div",{style:{display:"flex",alignItems:"center",gap:"8px",flex:1,minWidth:0},children:e?.asset?w(Gt,{children:[c(zs,{symbol:e.asset.symbol,logoURI:e.asset.logoURI,theme:l,size:24}),c("span",{style:{fontSize:"15px",fontWeight:500,color:l.colors.text,lineHeight:"1.5",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:Hs(e.asset)})]}):c("span",{style:{fontSize:"14px",color:l.colors.textMuted},children:"Select"})}),c("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:k?l.colors.textMuted:"#c7ccd4",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:I,children:c("path",{d:"M6 9l6 6 6-6"})})]}),e?.asset&&w("div",{style:b,children:[!e.asset.displayChainName&&c(ga,{chainId:e.asset.chainId,theme:l}),c("span",{style:{fontSize:"11px",color:l.colors.textMuted},children:js(e.asset)})]})]})}),o&&h&&Ws(w("div",{ref:m,style:C(),children:[t.length===0&&c("div",{style:{padding:"10px 12px",color:l.colors.textMuted,fontSize:l.typography.fontSize.xs},children:"No assets available"}),t.map(D=>w("button",{style:T,onClick:()=>{n(D),s()},children:[c(zs,{symbol:D.symbol,logoURI:D.logoURI,theme:l},`${D.address}-${D.chainId}`),w("div",{style:v,children:[w("div",{style:{display:"flex",alignItems:"center",gap:l.spacing.xs},children:[c("span",{style:E,children:Hs(D)}),!D.displayChainName&&c(ga,{chainId:D.chainId,theme:l})]}),w("span",{style:A,children:[Jn(D.balanceFormatted)," \u2022"," ",js(D)]})]})]},D.receiptTokenId||`${D.address}-${D.chainId}`)),i&&w("button",{type:"button",style:S,onClick:()=>{s(),i()},children:[c("span",{children:"View all assets"}),w("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c("path",{d:"M5 12h14"}),c("path",{d:"M13 5l7 7-7 7"})]})]})]}),document.body)]})},Fc=({assets:e,selectedAsset:t,onAssetSelect:n,onAmountChange:o,disabled:s=!1,loading:r=!1,label:a="Select Asset",showBalance:i=!0,showMaxButton:d=!0,placeholder:l="0.0",theme:p,styles:u,maxAmount:m,resolveMaxAmount:h,hideAmountInput:f=!1,displayAmount:y,dark:g,onViewAllAssets:k})=>{const{theme:x,primaryColor:F,dark:b,dk:C}=At(u,g),T=p||x,v=g??b,[E,A]=R(!1),[S,I]=R(null),[D,B]=R(null),[H,W]=R(!1),[P,_]=R(null),[U,N]=R(t?.amount||""),O=Z(null),j=Z(""),K=Z(h),L=t?.asset?t.asset.receiptTokenId||`${t.asset.chainId}-${t.asset.address}`:"",q=!!h,M=P??m;X(()=>{K.current=h},[h]),X(()=>{L!==j.current&&(N(t?.amount||""),j.current=L)},[L,t?.amount]),X(()=>{_(null),W(!1)},[L,q,t?.asset?.balance]);const ae=z=>{let le=z;le.startsWith(".")&&(le="0"+le);const oe=fo(le,t?.asset?.decimals);if(!oe){N(oe),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>{o(oe)},300);return}if(M&&parseFloat(oe)>parseFloat(M)){N(M),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>{o(M)},300);return}if(t?.asset){const me=parseFloat(oe),V=t.asset.balanceFormatted,re=t.asset.decimals;if(!isNaN(me)&&me>V){const xe=ho(Math.floor(V*10**re)/10**re,re);N(xe),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>{o(xe)},300);return}}N(oe),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>{o(oe)},300)},ke=z=>{N(z),O.current&&clearTimeout(O.current),o(z)};X(()=>{!M||!U||parseFloat(U)<=parseFloat(M)||ke(M)},[M,U]);const Q=async()=>{if(t?.asset){const z=t.asset.decimals,le=K.current;if(P){ke(P);return}if(le){W(!0);try{const V=await le(t.asset);if(V!==null){const re=fo(V,z);_(re),ke(re);return}}catch(V){console.warn("[AssetSelector] Failed to resolve max amount:",V)}finally{W(!1)}}if(M){ke(fo(M,z));return}let oe=Math.floor(t.asset.balanceFormatted*10**z)/10**z;M&&oe>parseFloat(M)&&(oe=parseFloat(M));const me=ho(oe,z);ke(me)}},G=async z=>{if(t?.asset){if(z===100){await Q();return}const le=t.asset.decimals,oe=t.asset.balanceFormatted*z/100;let me=Math.floor(oe*10**le)/10**le;M&&me>parseFloat(M)&&(me=parseFloat(M));const V=ho(me,le);ke(V)}},ie=t?.asset?.balanceFormatted??0,fe=parseFloat(U)||0,ue=ie>0?fe/ie*100:0;X(()=>()=>{O.current&&clearTimeout(O.current)},[]);const qe={backgroundColor:u?.assetSelector?.backgroundColor||u?.secondaryBackground||(v?C.cardBg:"#e9e9e9"),border:v?`0.5px solid ${C.cardBorder}`:"0.5px solid #A8A8A7",borderRadius:u?.assetSelector?.borderRadius||"6px",padding:u?.assetSelector?.padding||"16px",height:"auto",minHeight:f?void 0:"144px",display:"flex",flexDirection:"column",gap:"8px",position:"relative",opacity:s?.6:1};return r?c("div",{style:qe,children:w("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"space-between"},children:[w("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[c("div",{style:{backgroundColor:v?C.hoverBg:"#d1d5db",borderRadius:"4px",height:"16px",width:"60px"}}),c("div",{style:{backgroundColor:v?C.hoverBg:"#d1d5db",borderRadius:"4px",height:"40px",width:"150px"}})]}),w("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"8px"},children:[c("div",{style:{backgroundColor:v?C.hoverBg:"#d1d5db",borderRadius:"4px",height:"12px",width:"80px"}}),c("div",{style:{backgroundColor:v?C.hoverBg:"#d1d5db",borderRadius:"6px",height:"46px",width:"128px"}})]})]})}):w("div",{style:qe,children:[w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:{fontFamily:u?.fontFamily||T.typography.fontFamily,fontSize:"16px",fontWeight:500,color:v?C.textSecondary:"#7d7c7b",lineHeight:"24px"},children:a}),i&&t?.asset&&w("span",{style:{fontFamily:u?.fontFamily||T.typography.fontFamily,fontSize:"12px",fontWeight:500,color:v?C.textSecondary:"#71757a",lineHeight:"16px"},children:["Balance: ",Jn(t.asset.balanceFormatted)]})]}),w("div",{style:{display:"flex",justifyContent:f&&!y?"flex-start":"space-between",alignItems:"center",flex:1},children:[!f&&c(Zn,{element:"input",ariaLabel:t?.asset?`${t.asset.symbol} amount`:"Amount",dataSpiceflowFocus:!0,value:U,onChange:z=>ae(z.target.value),placeholder:l,disabled:s||!t?.asset,fontFamily:u?.fontFamily||T.typography.fontFamily,color:s?v?"rgba(255, 255, 255, 0.16)":"rgba(14, 13, 11, 0.16)":U?v?"#ffffff":"#0e0d0b":v?"#4a5568":"#d1d5db",lineHeight:"1.08",maxFontSize:40,minFontSize:22,style:{width:"100%",maxWidth:"200px"}}),c("div",{style:{width:"176px",position:"relative",flexShrink:0},children:c(Ec,{selectedAsset:t,assets:e,onAssetSelect:n,showDropdown:E,onToggleDropdown:()=>A(!E),disabled:s,theme:T,onViewAllAssets:k})}),f&&y&&c(Zn,{element:"span",value:y,title:y,fontFamily:u?.fontFamily||T.typography.fontFamily,color:v?"#ffffff":"#0e0d0b",lineHeight:"1.08",textAlign:"right",maxFontSize:40,minFontSize:22,style:{flex:1}})]}),!f&&c("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"10px",height:"14px"},children:[0,25,50,75,100].map((z,le)=>{const oe=Math.abs(ue-z)<1,me=le===4,V=S===z,re=D===z;return c("button",{onClick:()=>G(z),onMouseEnter:()=>I(z),onMouseLeave:()=>{I(null),B(null)},onMouseDown:()=>B(z),onMouseUp:()=>B(null),disabled:s||!t?.asset||z===100&&H,title:`${z}%`,style:{width:"14px",height:"14px",padding:0,border:"none",backgroundColor:"transparent",cursor:s||!t?.asset||z===100&&H?"not-allowed":"pointer",opacity:oe?1:V?.8:.5,transform:re?"scale(0.85)":V?"scale(1.15)":"scale(1)",transition:an.interactive},children:c(Us,{pct:z,isMax:me,primaryColor:F,dark:v,fillColor:v?C.textSecondary:"#3C3E42"})},z)})})]})},vo=tn(Fc),Bc=new Set(["USDC","SUSD","USD","NUSD","USDT","DAI","ENUSD","USDG"]),ya={ETH:"ethereum",WETH:"ethereum",BTC:"bitcoin",WBTC:"bitcoin",WCBTC:"bitcoin",CBTC:"bitcoin",ECBTC:"bitcoin",ARB:"arbitrum",MATIC:"matic-network",POL:"matic-network"};let Xo=null;const Tc=6e4;async function Vs(e){const t={},n=new Set,o={};for(const r of e){const a=r.toUpperCase();if(Bc.has(a))t[a]=1;else if(ya[a]){const i=ya[a];n.add(i),o[a]=i}else t[a]=0}if(n.size===0)return t;const s=Date.now();if(Xo&&s-Xo.timestamp<Tc){for(const[r,a]of Object.entries(o))t[r]=Xo.prices[a]??0;return t}try{const r=Array.from(n).join(","),a=await fetch(`https://api.coingecko.com/api/v3/simple/price?ids=${r}&vs_currencies=usd`);if(!a.ok)throw new Error(`CoinGecko ${a.status}`);const i=await a.json(),d={};for(const l of n)d[l]=i[l]?.usd??0;Xo={prices:d,timestamp:s};for(const[l,p]of Object.entries(o))t[l]=d[p]??0}catch(r){console.warn("[fetchTokenPrices] CoinGecko fetch failed:",r);for(const a of Object.keys(o))t[a]=t[a]??0}return t}function Dc(e,t){return e.map(n=>{if(n.balanceUsd>0)return n;const o=t[n.symbol.toUpperCase()]??0;return{...n,balanceUsd:n.balanceFormatted*o}})}const Rc=new Set(["cbtc","btc","wbtc","wcbtc","tbtc"]),Wc=new Set(["usdc","usdt","dai","usdc.e","usdbc","usdg"]);async function Mc(){const e=(await Vs(["BTC"])).BTC;if(!e||e<=0)throw new Error("Failed to fetch BTC/USD price");return e}function Oc(e){return Rc.has(e.toLowerCase())}function Nc(e){return Wc.has(e.toLowerCase())}function Uc(e,t,n,o){const s=10n**12n,r=BigInt(Math.round(o*Number(s))),a=t-n,i=10n**BigInt(Math.abs(a));let d=e*r/s;return a>0?d=d/i:a<0&&(d=d*i),d}const Io=({size:e=20,strokeWidth:t=2,color:n="currentColor",style:o})=>w("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:n,strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:o,children:[c("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),c("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]});var Qs="data:image/svg+xml,%3csvg width='108' height='22' viewBox='0 0 108 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M1.9916 11.9854V11.2041H3.98379C4.48835 11.2041 4.87897 11.0739 5.15566 10.8135C5.43236 10.5498 5.5707 10.1868 5.5707 9.72461V9.71484C5.5707 9.24935 5.43236 8.88639 5.15566 8.62598C4.87897 8.36556 4.48835 8.23535 3.98379 8.23535H1.9916V7.4541H4.2084C4.65111 7.4541 5.04173 7.5485 5.38027 7.7373C5.71882 7.92611 5.98411 8.18978 6.17617 8.52832C6.37148 8.86686 6.46914 9.25911 6.46914 9.70508V9.71484C6.46914 10.1608 6.37148 10.5547 6.17617 10.8965C5.98411 11.2383 5.71882 11.5052 5.38027 11.6973C5.04173 11.8893 4.65111 11.9854 4.2084 11.9854H1.9916ZM1.55215 14.5V7.4541H2.43106V14.5H1.55215ZM9.51875 14.5928C9.0207 14.5928 8.58939 14.4837 8.2248 14.2656C7.86348 14.0443 7.58353 13.7301 7.38496 13.3232C7.18965 12.9163 7.09199 12.4329 7.09199 11.873V11.8633C7.09199 11.3001 7.18965 10.8151 7.38496 10.4082C7.58353 10.0013 7.86348 9.6888 8.2248 9.4707C8.58939 9.2526 9.0207 9.14355 9.51875 9.14355C10.0201 9.14355 10.4514 9.2526 10.8127 9.4707C11.174 9.6888 11.4523 10.0013 11.6477 10.4082C11.8462 10.8151 11.9455 11.3001 11.9455 11.8633V11.873C11.9455 12.4329 11.8462 12.9163 11.6477 13.3232C11.4523 13.7301 11.174 14.0443 10.8127 14.2656C10.4514 14.4837 10.0201 14.5928 9.51875 14.5928ZM9.51875 13.8408C9.85078 13.8408 10.1324 13.7627 10.3635 13.6064C10.5946 13.4502 10.7704 13.2256 10.8908 12.9326C11.0145 12.6396 11.0764 12.2865 11.0764 11.873V11.8633C11.0764 11.4466 11.0145 11.0918 10.8908 10.7988C10.7704 10.5059 10.5946 10.2829 10.3635 10.1299C10.1324 9.97363 9.85078 9.89551 9.51875 9.89551C9.18672 9.89551 8.90514 9.97363 8.67402 10.1299C8.4429 10.2829 8.26549 10.5059 8.1418 10.7988C8.02135 11.0918 7.96113 11.4466 7.96113 11.8633V11.873C7.96113 12.2865 8.02135 12.6396 8.1418 12.9326C8.26549 13.2256 8.4429 13.4502 8.67402 13.6064C8.90514 13.7627 9.18672 13.8408 9.51875 13.8408ZM13.7842 14.5L12.3096 9.23633H13.1592L14.1943 13.4453H14.2725L15.4492 9.23633H16.2549L17.4316 13.4453H17.5098L18.5449 9.23633H19.3896L17.915 14.5H17.0605L15.8838 10.4277H15.8057L14.6338 14.5H13.7842ZM22.1658 14.5928C21.6645 14.5928 21.2332 14.4821 20.8719 14.2607C20.5138 14.0394 20.2371 13.7269 20.0418 13.3232C19.8497 12.9163 19.7537 12.4378 19.7537 11.8877V11.8828C19.7537 11.3392 19.8497 10.8623 20.0418 10.4521C20.2371 10.042 20.5122 9.72135 20.867 9.49023C21.2218 9.25911 21.6368 9.14355 22.1121 9.14355C22.5906 9.14355 23.0008 9.25423 23.3426 9.47559C23.6876 9.69694 23.9513 10.0062 24.1336 10.4033C24.3191 10.7972 24.4119 11.2562 24.4119 11.7803V12.1123H20.1932V11.4336H23.9773L23.5574 12.0537V11.7168C23.5574 11.3034 23.4956 10.9632 23.3719 10.6963C23.2482 10.4294 23.0773 10.2308 22.8592 10.1006C22.6411 9.96712 22.3904 9.90039 22.1072 9.90039C21.824 9.90039 21.5701 9.97038 21.3455 10.1104C21.1242 10.2471 20.9484 10.4505 20.8182 10.7207C20.688 10.9909 20.6229 11.3229 20.6229 11.7168V12.0537C20.6229 12.4281 20.6863 12.7487 20.8133 13.0156C20.9402 13.2793 21.1209 13.4827 21.3553 13.626C21.5896 13.766 21.8663 13.8359 22.1854 13.8359C22.423 13.8359 22.6297 13.8034 22.8055 13.7383C22.9813 13.6732 23.1261 13.5902 23.24 13.4893C23.354 13.3883 23.4337 13.2858 23.4793 13.1816L23.4988 13.1377H24.3484L24.3387 13.1768C24.2931 13.3558 24.2117 13.5299 24.0945 13.6992C23.9806 13.8652 23.8325 14.0166 23.6502 14.1533C23.4679 14.2868 23.2514 14.3942 23.0008 14.4756C22.7534 14.5537 22.4751 14.5928 22.1658 14.5928ZM25.4303 14.5V9.23633H26.2799V10.0176H26.358C26.4589 9.74089 26.6298 9.52604 26.8707 9.37305C27.1116 9.22005 27.4094 9.14355 27.7643 9.14355C27.8456 9.14355 27.9254 9.14844 28.0035 9.1582C28.0849 9.16471 28.1467 9.17122 28.1891 9.17773V10.0029C28.1012 9.98665 28.0149 9.97526 27.9303 9.96875C27.8489 9.95898 27.761 9.9541 27.6666 9.9541C27.3964 9.9541 27.1572 10.0078 26.9488 10.1152C26.7405 10.2227 26.5761 10.3724 26.4557 10.5645C26.3385 10.7565 26.2799 10.9811 26.2799 11.2383V14.5H25.4303ZM30.9408 14.5928C30.4395 14.5928 30.0082 14.4821 29.6469 14.2607C29.2888 14.0394 29.0121 13.7269 28.8168 13.3232C28.6247 12.9163 28.5287 12.4378 28.5287 11.8877V11.8828C28.5287 11.3392 28.6247 10.8623 28.8168 10.4521C29.0121 10.042 29.2872 9.72135 29.642 9.49023C29.9968 9.25911 30.4118 9.14355 30.8871 9.14355C31.3656 9.14355 31.7758 9.25423 32.1176 9.47559C32.4626 9.69694 32.7263 10.0062 32.9086 10.4033C33.0941 10.7972 33.1869 11.2562 33.1869 11.7803V12.1123H28.9682V11.4336H32.7523L32.3324 12.0537V11.7168C32.3324 11.3034 32.2706 10.9632 32.1469 10.6963C32.0232 10.4294 31.8523 10.2308 31.6342 10.1006C31.4161 9.96712 31.1654 9.90039 30.8822 9.90039C30.599 9.90039 30.3451 9.97038 30.1205 10.1104C29.8992 10.2471 29.7234 10.4505 29.5932 10.7207C29.463 10.9909 29.3979 11.3229 29.3979 11.7168V12.0537C29.3979 12.4281 29.4613 12.7487 29.5883 13.0156C29.7152 13.2793 29.8959 13.4827 30.1303 13.626C30.3646 13.766 30.6413 13.8359 30.9604 13.8359C31.198 13.8359 31.4047 13.8034 31.5805 13.7383C31.7563 13.6732 31.9011 13.5902 32.015 13.4893C32.129 13.3883 32.2087 13.2858 32.2543 13.1816L32.2738 13.1377H33.1234L33.1137 13.1768C33.0681 13.3558 32.9867 13.5299 32.8695 13.6992C32.7556 13.8652 32.6075 14.0166 32.4252 14.1533C32.2429 14.2868 32.0264 14.3942 31.7758 14.4756C31.5284 14.5537 31.2501 14.5928 30.9408 14.5928ZM36.1486 14.5928C35.7059 14.5928 35.3186 14.4805 34.9865 14.2559C34.6545 14.0312 34.3973 13.7155 34.215 13.3086C34.0328 12.8984 33.9416 12.4199 33.9416 11.873V11.8633C33.9416 11.3132 34.0328 10.8346 34.215 10.4277C34.3973 10.0208 34.6529 9.70508 34.9816 9.48047C35.3137 9.25586 35.7027 9.14355 36.1486 9.14355C36.3895 9.14355 36.6158 9.18262 36.8273 9.26074C37.0422 9.33561 37.2326 9.44141 37.3986 9.57812C37.5647 9.71484 37.6949 9.8776 37.7893 10.0664H37.8674V7.14648H38.717V14.5H37.8674V13.6602H37.7893C37.6818 13.8555 37.5467 14.0231 37.384 14.1631C37.2212 14.2998 37.0357 14.4056 36.8273 14.4805C36.619 14.5553 36.3928 14.5928 36.1486 14.5928ZM36.3439 13.8408C36.663 13.8408 36.938 13.7611 37.1691 13.6016C37.4003 13.4421 37.5777 13.2158 37.7014 12.9229C37.8251 12.6266 37.8869 12.2767 37.8869 11.873V11.8633C37.8869 11.4564 37.8251 11.1064 37.7014 10.8135C37.5777 10.5205 37.4003 10.2943 37.1691 10.1348C36.938 9.97526 36.663 9.89551 36.3439 9.89551C36.0249 9.89551 35.7499 9.97526 35.5188 10.1348C35.2909 10.291 35.1151 10.5156 34.9914 10.8086C34.871 11.1016 34.8107 11.4531 34.8107 11.8633V11.873C34.8107 12.2799 34.871 12.6315 34.9914 12.9277C35.1151 13.2207 35.2909 13.4469 35.5188 13.6064C35.7499 13.7627 36.0249 13.8408 36.3439 13.8408ZM45.1775 14.5928C44.9334 14.5928 44.7072 14.5553 44.4988 14.4805C44.2905 14.4056 44.1049 14.2998 43.9422 14.1631C43.7794 14.0231 43.6443 13.8555 43.5369 13.6602H43.4588V14.5H42.6092V7.14648H43.4588V10.0664H43.5369C43.6346 9.8776 43.7648 9.71484 43.9275 9.57812C44.0936 9.44141 44.2824 9.33561 44.4939 9.26074C44.7088 9.18262 44.9367 9.14355 45.1775 9.14355C45.6235 9.14355 46.0109 9.25586 46.3396 9.48047C46.6717 9.70508 46.9288 10.0208 47.1111 10.4277C47.2934 10.8346 47.3846 11.3132 47.3846 11.8633V11.873C47.3846 12.4199 47.2934 12.8984 47.1111 13.3086C46.9288 13.7155 46.6717 14.0312 46.3396 14.2559C46.0109 14.4805 45.6235 14.5928 45.1775 14.5928ZM44.9822 13.8408C45.3045 13.8408 45.5796 13.7627 45.8074 13.6064C46.0353 13.4469 46.2094 13.2207 46.3299 12.9277C46.4536 12.6315 46.5154 12.2799 46.5154 11.873V11.8633C46.5154 11.4531 46.4536 11.1016 46.3299 10.8086C46.2094 10.5156 46.0353 10.291 45.8074 10.1348C45.5796 9.97526 45.3045 9.89551 44.9822 9.89551C44.6632 9.89551 44.3881 9.97526 44.157 10.1348C43.9259 10.2943 43.7485 10.5205 43.6248 10.8135C43.5011 11.1064 43.4393 11.4564 43.4393 11.8633V11.873C43.4393 12.2767 43.5011 12.6266 43.6248 12.9229C43.7485 13.2158 43.9259 13.4421 44.157 13.6016C44.3881 13.7611 44.6632 13.8408 44.9822 13.8408ZM48.6568 16.3457C48.6015 16.3457 48.5396 16.3424 48.4713 16.3359C48.4029 16.3327 48.3395 16.3262 48.2809 16.3164V15.6182C48.3329 15.6279 48.3899 15.6344 48.4518 15.6377C48.5136 15.641 48.5738 15.6426 48.6324 15.6426C48.8733 15.6426 49.0702 15.5807 49.2232 15.457C49.3795 15.3333 49.5048 15.1201 49.5992 14.8174L49.6969 14.5049L47.7486 9.23633H48.6568L50.2779 14.0996L49.941 13.5674H50.3414L50.0045 14.0996L51.6207 9.23633H52.5143L50.4586 14.8223C50.3154 15.2161 50.164 15.5238 50.0045 15.7451C49.845 15.9665 49.6578 16.1211 49.443 16.209C49.2314 16.3001 48.9693 16.3457 48.6568 16.3457Z' fill='%230E0D0B'/%3e%3cpath d='M62.7081 13.27C62.742 13.27 62.7642 13.3057 62.7491 13.3362V13.336L61.1229 16.6083C61.0892 16.6761 60.9926 16.6759 60.959 16.6083L59.3382 13.336C59.3232 13.3057 59.3453 13.27 59.3792 13.27H62.7081Z' fill='%23EA4B4B'/%3e%3cpath d='M61.0026 9.71913C61.0194 9.68524 61.0678 9.68524 61.0845 9.71913L62.747 13.0897C62.762 13.12 62.7399 13.1557 62.706 13.1557H59.3763C59.3424 13.1557 59.3203 13.12 59.3353 13.0897L61.0026 9.71913Z' fill='%23EA4B4B'/%3e%3cpath d='M60.8426 9.63827C60.8766 9.63827 60.8987 9.6741 60.8835 9.70444L59.2164 13.0594C59.1995 13.0932 59.1513 13.0932 59.1345 13.0594L57.5001 9.77047C57.47 9.70962 57.5142 9.63827 57.5821 9.63827H60.8426Z' fill='%23EA4B4B'/%3e%3cpath d='M64.5036 9.63617C64.5715 9.63618 64.6157 9.70753 64.5855 9.76838H64.5854L62.9512 13.0573C62.9344 13.0911 62.8862 13.0912 62.8692 13.0573L61.2021 9.70235C61.187 9.672 61.2091 9.63617 61.2431 9.63617H64.5036Z' fill='%23EA4B4B'/%3e%3cpath d='M62.8284 6.18281C62.862 6.11518 62.9586 6.11518 62.9922 6.18281L64.5855 9.38969C64.6157 9.45054 64.5715 9.52189 64.5036 9.52189H61.2431C61.2091 9.52189 61.187 9.48605 61.2021 9.45571L62.8283 6.18265L62.8284 6.18281Z' fill='%23EA4B4B'/%3e%3cpath d='M62.3131 6.13196C62.381 6.13196 62.4252 6.20331 62.3951 6.26416C62.154 6.74935 61.9128 7.23455 61.6718 7.71975H61.6716C61.4225 8.22125 61.1733 8.72259 60.9242 9.22409C60.9074 9.25799 60.859 9.25799 60.8422 9.22409L60.6305 8.79587C60.6275 8.78957 60.6259 8.78263 60.6259 8.77553V6.22349C60.6259 6.17297 60.6668 6.13196 60.7173 6.13196H62.3131Z' fill='%23EA4B4B'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M74.8537 10.0096C75.2721 10.0096 75.654 10.1125 75.9993 10.3184C76.3513 10.5177 76.6303 10.8032 76.8361 11.1751C77.0487 11.547 77.1549 11.9953 77.1549 12.52V12.6495C77.1549 13.1675 77.052 13.6158 76.8461 13.9943C76.6402 14.3729 76.3613 14.6618 76.0093 14.861C75.664 15.0603 75.2788 15.1599 74.8537 15.1599C74.515 15.1599 74.2261 15.1134 73.9871 15.0204C73.7546 14.9341 73.5653 14.8212 73.4192 14.6817C73.2731 14.5423 73.1602 14.3995 73.0805 14.2534H72.941V16.9659L72.1541 16.0013V10.1491H72.9211V10.956H73.0352C73.2729 10.6733 73.3893 10.4911 73.6683 10.2985C73.9538 10.1059 74.349 10.0096 74.8537 10.0096ZM74.6445 10.7069C74.1464 10.7069 73.7347 10.8696 73.4092 11.195C73.0905 11.5138 72.9311 11.9621 72.9311 12.5399V12.6296C72.9311 13.2074 73.0905 13.659 73.4092 13.9844C73.7347 14.3032 74.1464 14.4626 74.6445 14.4626C75.1492 14.4626 75.5577 14.3032 75.8698 13.9844C76.1886 13.659 76.348 13.2074 76.348 12.6296V12.5399C76.348 11.9621 76.1886 11.5138 75.8698 11.195C75.5577 10.8696 75.1492 10.7069 74.6445 10.7069Z' fill='%230E0D0B'/%3e%3cpath d='M78.5848 11.9583L78.5555 15.4596L77.7681 14.4846V10.9583L78.5848 11.9583Z' fill='%230E0D0B'/%3e%3cpath d='M101.588 10.2986H102.444L103 10.986H101.588V10.9867H100.802L101.588 11.9623V14.1937C101.588 14.3929 101.685 14.4926 101.877 14.4926H102.379L102.928 15.17H101.668C101.389 15.17 101.173 15.0936 101.021 14.9409C100.874 14.7881 100.801 14.5789 100.801 14.3133V10.986H99.8799L99.3217 10.2986H100.801V9.13501H101.588V10.2986Z' fill='%230E0D0B'/%3e%3cpath d='M69.0133 7.90764C69.4848 7.90764 69.9065 7.99068 70.2784 8.15671C70.6569 8.3161 70.9525 8.55517 71.165 8.87395C71.3842 9.18609 71.4938 9.58126 71.4938 10.0594V10.4778H70.667V10.0594C70.667 9.72072 70.5939 9.44842 70.4477 9.24254C70.3083 9.03666 70.1124 8.88392 69.86 8.7843C69.6143 8.68469 69.332 8.63487 69.0133 8.63487C68.555 8.63487 68.1864 8.7378 67.9075 8.94367C67.6286 9.14291 67.4891 9.4285 67.4891 9.80041C67.4891 10.0461 67.5488 10.2453 67.6684 10.3981C67.7879 10.5508 67.9573 10.677 68.1764 10.7767C68.3956 10.8696 68.658 10.9527 68.9635 11.0257L69.4815 11.1552C69.8866 11.2416 70.2485 11.3611 70.5673 11.5138C70.8927 11.6599 71.1517 11.8625 71.3443 12.1215C71.5369 12.3739 71.6332 12.706 71.6332 13.1177C71.6332 13.5295 71.5303 13.8881 71.3244 14.1936C71.1185 14.4991 70.8263 14.7382 70.4477 14.9109C70.0758 15.0769 69.6375 15.1599 69.1328 15.1599C68.6281 15.1599 68.1765 15.0702 67.778 14.8909C67.3795 14.7116 67.0641 14.4426 66.8316 14.084C66.6058 13.7187 66.4929 13.2638 66.4929 12.7192V12.51H67.3197V12.7192C67.3197 13.297 67.4891 13.7287 67.8278 14.0143C68.1665 14.2932 68.6015 14.4327 69.1328 14.4327C69.6774 14.4327 70.0924 14.3098 70.378 14.0641C70.6636 13.8183 70.8064 13.5095 70.8064 13.1376C70.8064 12.8786 70.74 12.6727 70.6072 12.52C70.481 12.3673 70.3017 12.2444 70.0692 12.1514C69.8368 12.0518 69.5645 11.9655 69.2523 11.8924L68.7343 11.7629C68.3292 11.6566 67.9706 11.5271 67.6584 11.3744C67.3463 11.2216 67.1006 11.0224 66.9213 10.7767C66.7486 10.5243 66.6623 10.2022 66.6623 9.81035C66.6623 9.41852 66.7585 9.07981 66.9511 8.79424C67.1504 8.50866 67.426 8.28953 67.778 8.13678C68.1366 7.98404 68.5484 7.90764 69.0133 7.90764Z' fill='%230E0D0B'/%3e%3cpath d='M81.6544 10.0096C82.1193 10.0096 82.5145 10.0959 82.8399 10.2686C83.1719 10.4412 83.431 10.6704 83.6169 10.956C83.8095 11.2415 83.9324 11.5471 83.9855 11.8725L83.2185 12.0318C83.1853 11.7928 83.1056 11.5736 82.9794 11.3744C82.8598 11.1752 82.6905 11.0158 82.4713 10.8962C82.2521 10.7767 81.9832 10.7169 81.6644 10.7169C81.339 10.7169 81.0468 10.7899 80.7877 10.936C80.5354 11.0821 80.3328 11.2914 80.1801 11.5637C80.034 11.836 79.9609 12.1614 79.9609 12.5399V12.6296C79.9609 13.0081 80.034 13.3335 80.1801 13.6058C80.3328 13.8781 80.5354 14.0873 80.7877 14.2334C81.0468 14.3795 81.339 14.4526 81.6644 14.4526C82.1492 14.4526 82.5178 14.3264 82.7702 14.0741C83.0292 13.8217 83.1886 13.5095 83.2483 13.1376L84.0254 13.307C83.9523 13.6257 83.8195 13.9279 83.6269 14.2135C83.4343 14.4991 83.172 14.7282 82.8399 14.9009C82.5145 15.0735 82.1193 15.1599 81.6544 15.1599C81.1829 15.1599 80.7579 15.0603 80.3793 14.861C80.0074 14.6551 79.7119 14.363 79.4927 13.9844C79.2802 13.6059 79.1739 13.1575 79.1739 12.6395V12.5299C79.1739 12.0053 79.2802 11.557 79.4927 11.1851C79.7119 10.8066 80.0074 10.5177 80.3793 10.3184C80.7579 10.1126 81.1829 10.0096 81.6544 10.0096Z' fill='%230E0D0B'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M86.7515 10.0096C87.2097 10.0096 87.6149 10.1092 87.9668 10.3084C88.3188 10.501 88.5944 10.78 88.7937 11.1452C88.9929 11.5105 89.0925 11.9389 89.0925 12.4304V12.7889H85.1177C85.1377 13.3136 85.3071 13.7254 85.6258 14.0243C85.9446 14.3165 86.3431 14.4626 86.8212 14.4626C87.2396 14.4626 87.5617 14.3663 87.7875 14.1737C88.0133 13.9811 88.186 13.752 88.3056 13.4863L88.983 13.815C88.8833 14.0209 88.7439 14.2268 88.5646 14.4327C88.3919 14.6386 88.1628 14.8113 87.8772 14.9507C87.5983 15.0902 87.2396 15.1599 86.8013 15.1599C86.3099 15.1599 85.8782 15.057 85.5063 14.8511C85.1344 14.6386 84.8455 14.343 84.6396 13.9645C84.4337 13.5859 84.3307 13.1476 84.3307 12.6495V12.5299C84.3307 12.0252 84.4337 11.5836 84.6396 11.205C84.8455 10.8265 85.1311 10.5342 85.4963 10.3284C85.8616 10.1159 86.28 10.0096 86.7515 10.0096ZM86.7515 10.7069C86.3066 10.7069 85.9413 10.8331 85.6557 11.0855C85.3701 11.3378 85.1941 11.6898 85.1277 12.1414H88.2956C88.269 11.6898 88.113 11.3378 87.8274 11.0855C87.5485 10.8331 87.1898 10.7069 86.7515 10.7069Z' fill='%230E0D0B'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M97.1624 10.0096C97.6207 10.0096 98.0258 10.1092 98.3778 10.3084C98.7298 10.501 99.0054 10.78 99.2046 11.1452C99.4039 11.5105 99.5035 11.9389 99.5035 12.4304V12.7889H95.5287C95.5487 13.3136 95.718 13.7254 96.0368 14.0243C96.3555 14.3165 96.754 14.4626 97.2322 14.4626C97.6505 14.4626 97.9727 14.3663 98.1985 14.1737C98.4243 13.9811 98.5969 13.752 98.7165 13.4863L99.3939 13.815C99.2943 14.0209 99.1548 14.2268 98.9755 14.4327C98.8028 14.6386 98.5737 14.8113 98.2881 14.9507C98.0092 15.0902 97.6506 15.1599 97.2123 15.1599C96.7208 15.1599 96.2892 15.057 95.9172 14.8511C95.5453 14.6386 95.2564 14.343 95.0505 13.9645C94.8446 13.5859 94.7417 13.1476 94.7417 12.6495V12.5299C94.7417 12.0252 94.8446 11.5836 95.0505 11.205C95.2564 10.8265 95.542 10.5342 95.9073 10.3284C96.2725 10.1158 96.6909 10.0096 97.1624 10.0096ZM97.1624 10.7069C96.7175 10.7069 96.3522 10.8331 96.0666 11.0855C95.7811 11.3378 95.6051 11.6898 95.5387 12.1414H98.7066C98.68 11.6898 98.5239 11.3378 98.2383 11.0855C97.9594 10.8331 97.6008 10.7069 97.1624 10.7069Z' fill='%230E0D0B'/%3e%3cpath d='M92.2484 10.0594C92.6137 10.0594 92.9391 10.1358 93.2247 10.2885C93.5169 10.4413 93.7494 10.6671 93.9221 10.966C94.0947 11.2648 94.1811 11.6334 94.1811 12.0717V15.1458H93.394V12.1315C93.394 11.6467 93.2712 11.2947 93.0255 11.0755C92.7864 10.8564 92.461 10.7468 92.0492 10.7468C91.5777 10.7468 91.1925 10.8995 90.8936 11.205C90.6014 11.5105 90.4553 11.9655 90.4553 12.5698V15.1458H89.6683V10.1491H90.4354V10.9582H90.5361C90.7355 10.7018 90.8604 10.5342 91.1128 10.3483C91.3718 10.1557 91.7503 10.0594 92.2484 10.0594Z' fill='%230E0D0B'/%3e%3cpath d='M78.5932 10.9581H77.7681V10.1514H78.6L78.5932 10.9581Z' fill='%230E0D0B'/%3e%3c/svg%3e";const xa=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(","),fn=({isOpen:e,onClose:t,title:n,subtitle:o,children:s,overlayContent:r,overlayDimmed:a=!0,styles:i,theme:d,maxWidth:l="522px",dark:p,footerLinkText:u,bannerSrc:m,bannerAlt:h,closeOnBackdropClick:f=!1})=>{const{theme:y,dark:g,dk:k,palette:x}=At(i,p),F=p??g,b=d||y,C=i?.fontFamily||b.typography.fontFamily||Ae.ui,T=i?.primaryColor||b.colors.primary,v=Z(null),E=Z(null),A=Z(null),S=jr(),[I,D]=R(!1),[B,H]=R(!1),W=Z(t);if(X(()=>{W.current=t},[t]),X(()=>{if(!e){H(!1);return}E.current=document.activeElement;const U=document.body.style.overflow;document.body.style.overflow="hidden";const N=requestAnimationFrame(()=>{const L=requestAnimationFrame(()=>H(!0));A.current=L}),O=()=>{const L=v.current;L&&(L.querySelectorAll(xa)[0]??L).focus({preventScroll:!0})},j=L=>{if(L.key==="Escape"){L.stopPropagation(),W.current();return}if(L.key!=="Tab")return;const q=v.current;if(!q)return;const M=Array.from(q.querySelectorAll(xa)).filter(G=>!G.hasAttribute("aria-hidden"));if(M.length===0){L.preventDefault(),q.focus();return}const ae=M[0],ke=M[M.length-1],Q=document.activeElement;L.shiftKey&&Q===ae?(L.preventDefault(),ke.focus()):!L.shiftKey&&Q===ke&&(L.preventDefault(),ae.focus())},K=requestAnimationFrame(O);return document.addEventListener("keydown",j),()=>{cancelAnimationFrame(K),cancelAnimationFrame(N),A.current&&cancelAnimationFrame(A.current),document.removeEventListener("keydown",j),document.body.style.overflow=U;const L=E.current;L&&typeof L.focus=="function"&&L.focus({preventScroll:!0})}},[e]),!e)return null;const P=!!m&&!I,_=h??"";return c("div",{onMouseDown:U=>{f&&U.target===U.currentTarget&&W.current()},style:{position:"fixed",inset:0,backgroundColor:F?"rgba(0,0,0,0.72)":"rgba(0,0,0,0.5)",display:"flex",alignItems:"center",justifyContent:"center",padding:"clamp(16px, 4vw, 48px)",zIndex:qn.modal,opacity:B?1:0,transition:`opacity ${Es.normal} ${$n.out}`},children:c("div",{ref:v,role:"dialog","aria-modal":"true","aria-labelledby":S,tabIndex:-1,style:{backgroundColor:x.shellBorder,borderRadius:"12px",padding:"5px",width:"100%",maxWidth:l,boxSizing:"border-box",boxShadow:"0 16px 48px rgba(0, 0, 0, 0.4)",outline:"none",transform:B?"scale(1)":"scale(0.96)",transition:`transform ${Es.slow} ${$n.out}`,display:"flex",flexDirection:"column",maxHeight:"100%"},children:w("div",{style:{backgroundColor:x.shell,border:`1px solid ${x.shellInnerBorder}`,borderRadius:"9px",width:"100%",padding:"0",display:"flex",flexDirection:"column",position:"relative",flex:"0 1 auto",minHeight:0,overflowY:"auto",overflowX:"hidden"},children:[r&&a&&c("div",{style:{position:"absolute",inset:0,backgroundColor:"rgba(0, 0, 0, 0.4)",zIndex:5,pointerEvents:"none",borderRadius:"12px"},"aria-hidden":"true"}),P&&w("div",{style:{position:"relative",width:"100%"},children:[c("img",{src:m,style:{width:"100%",height:"auto",display:"block",borderRadius:"6px 6px 0 0"},alt:_,"aria-hidden":_===""?"true":void 0,onError:()=>D(!0)}),c("button",{type:"button",onClick:t,"aria-label":"Close dialog",style:{position:"absolute",top:"8px",right:"8px",minWidth:"44px",minHeight:"44px",color:x.textPrimary,padding:"8px",backgroundColor:"transparent",borderRadius:"9999px",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1},children:c(Io,{size:28,strokeWidth:2.5})})]}),w("div",{style:{padding:"28px 28px 0 28px",position:"relative"},children:[!P&&c("button",{type:"button",onClick:t,"aria-label":"Close dialog",style:{position:"absolute",top:"10px",right:"10px",minWidth:"44px",minHeight:"44px",color:x.textSecondary,padding:"10px",backgroundColor:"transparent",borderRadius:"50%",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"background-color 0.2s",fontSize:"18px",fontWeight:"600"},onMouseEnter:U=>{U.currentTarget.style.backgroundColor=F?`${T}1a`:"#f3f4f6"},onMouseLeave:U=>{U.currentTarget.style.backgroundColor="transparent"},children:c(Io,{size:24,strokeWidth:2.4})}),c("h2",{id:S,style:{fontSize:"22px",fontWeight:"700",color:x.textPrimary,margin:"0",fontFamily:C,lineHeight:"1.12"},children:n})]}),o&&c("div",{style:{padding:"11px 28px 13px 28px",fontSize:"12px",color:x.textSecondary,margin:"0",lineHeight:"1.35",fontFamily:C,borderBottom:F?`1px solid ${k.cardBorder}`:"1px solid #cdcfd1"},children:o}),s,w("div",{style:{padding:"12px 28px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("img",{src:Qs,alt:"","aria-hidden":"true",width:108,height:22,decoding:"async",style:{width:"108px",height:"22px",opacity:F?.85:1,filter:F?"brightness(0) invert(1)":"none",margin:0,display:"block"}}),c("a",{href:"https://spiceflow-docs.spicenet.io",target:"_blank",rel:"noopener noreferrer",style:{fontSize:"10px",color:x.textSecondary,textDecoration:"none",display:"flex",alignItems:"center",gap:"4px",fontFamily:C,lineHeight:"1"},children:c("span",{style:{color:T,textDecoration:"underline",fontWeight:"500"},children:u??"Learn more \u2192"})})]}),r]})})})};var ba="data:image/svg+xml,%3csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M4.51484 1.22476C5.04689 0.494255 5.87167 0 6.83333 0C7.79352 0 8.62302 0.493038 9.15721 1.22447C10.0512 1.08473 10.9879 1.32154 11.6665 2.00014C12.3456 2.67921 12.5823 3.61677 12.4419 4.51135C13.1714 5.04616 13.6667 5.87042 13.6667 6.83333C13.6667 7.79624 13.1714 8.62051 12.4419 9.15532C12.5823 10.0499 12.3456 10.9875 11.6665 11.6665C10.986 12.3471 10.049 12.5769 9.15858 12.4403C8.62445 13.1728 7.79434 13.6667 6.83333 13.6667C5.86959 13.6667 5.04474 13.1705 4.50996 12.44C3.619 12.5772 2.68116 12.3475 2.00014 11.6665C1.31939 10.9858 1.08903 10.0476 1.23037 9.15532C0.501138 8.62162 0 7.79824 0 6.83333C0 5.86843 0.501137 5.04504 1.23037 4.51135C1.08903 3.61904 1.31939 2.68089 2.00014 2.00014C2.67986 1.32042 3.61766 1.08457 4.51484 1.22476ZM9.20928 5.95387C9.51334 5.74624 9.59152 5.33144 9.38389 5.02737C9.17626 4.72331 8.76145 4.64514 8.45739 4.85277L8.3995 4.89229C7.48372 5.51764 6.69012 6.30153 6.05487 7.20477L5.30449 6.45518C5.044 6.19497 4.62189 6.1952 4.36168 6.45569C4.10147 6.71618 4.10169 7.13829 4.36218 7.3985L5.7 8.73489C5.84693 8.88167 6.05387 8.95158 6.25971 8.924C6.46555 8.89641 6.64677 8.77448 6.74987 8.5942C7.34322 7.55668 8.16436 6.6674 9.1514 5.9934L9.20928 5.95387Z' fill='%23EA4B4B'/%3e%3c/svg%3e",Pc="data:image/png;base64,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",Lc="data:image/png;base64,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";const zc=({size:e=20,active:t=!1,dark:n=!1})=>w("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[c("rect",{x:"2",y:"4",width:"16",height:"2",rx:"1",fill:t?n?"#e5e7eb":"#111827":n?"#9ca3af":"#374151"}),c("rect",{x:"4",y:"9",width:"12",height:"2",rx:"1",fill:t?n?"#e5e7eb":"#111827":"#9ca3af"}),c("rect",{x:"6",y:"14",width:"8",height:"2",rx:"1",fill:t?n?"#e5e7eb":"#111827":"#9ca3af"})]}),wa=({checked:e,primaryColor:t="#ef4444",dark:n=!1})=>c("div",{style:{width:"18px",height:"18px",borderRadius:"4px",border:e?"none":`2px solid ${n?"#4b5563":"#d1d5db"}`,backgroundColor:e?t:"transparent",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:an.interactive},children:e&&c("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:c("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),Hc=e=>[e.chainId,e.symbol.trim().toLowerCase(),e.name.trim().toLowerCase()].join(":"),jc=e=>{const t=new Map;for(const n of e){const o=Hc(n),s=t.get(o);if(!s){t.set(o,n);continue}const r=s.balance>0n,a=n.balance>0n;(!r&&a||n.balanceUsd>s.balanceUsd||n.balance>s.balance)&&t.set(o,n)}return Array.from(t.values())},Vc=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,onTokenSelect:o,walletAddress:s,supportedChainIds:r,network:a,prefetchedAssets:i,styles:d,dark:l})=>{const[p,u]=R(""),[m,h]=R(null),[f,y]=R(null),[g,k]=R(!1),[x,F]=R(new Set),[b,C]=R([]),T=Vt(Lt),v=a||T?.network||"testnet",E=T?.allowedTokens,A=!!T?.isWhitelistGateActive,{dark:S,primaryColor:I,dk:D}=At(d,l),B=S?D.cardBg:"white",H=S?`${I}55`:"#F4A5A5",W=S?"0 4px 12px rgba(0, 0, 0, 0.4)":"0 4px 12px rgba(0, 0, 0, 0.15)",P=S?D.hoverBg:"#E9E9E9",_=S?D.hoverBg:"#f9fafb",U=S?D.textPrimary:"#374151",N=S?D.textPrimary:"#111827",O=S?D.textSecondary:"#9ca3af",j=S?`${I}22`:"#FBDBDB",K=S?`${I}55`:"#F4A5A5",L=$(()=>r||T?.supportedChainIds||Ko(v),[r,T?.supportedChainIds,v]),q=$(()=>L.map(V=>{const re=Ue(V);return re?{id:V,name:re.displayName,icon:Ln[V]||Co}:null}).filter(Boolean),[L]),M=$(()=>{const V=new Set,re=new Set;for(const xe of L){const ee=Ue(xe);if(ee){V.add(ee.nativeCurrency?.symbol?.toUpperCase()||"ETH");for(const ve of ee.supportedTokens||[])V.add(ve.symbol.toUpperCase()),re.add(ve.address.toLowerCase())}}return{symbols:V,addresses:re}},[L]),ae=i===void 0,{assets:ke,loading:Q}=so({address:ae?s:void 0,supportedChains:L,fetchBalances:oo,enabled:e&&ae&&!!s,refreshInterval:e?5e3:0}),G=i??(ae?ke:[]),ie=i===null||ae&&Q,fe=$(()=>{if(A)return[];if(!G)return[];let V=G.filter(re=>re.isNative?!0:M.symbols.has(re.symbol.toUpperCase())||M.addresses.has(re.address.toLowerCase()));return E&&E.length>0&&(V=V.filter(re=>E.includes(re.symbol.toLowerCase())||re.isNative&&E.includes("native"))),V},[G,M,E,A]);X(()=>{if(!fe||fe.length===0){C([]);return}const V=fe.filter(ee=>ee.balanceUsd===0&&ee.balanceFormatted>0).map(ee=>ee.symbol),re=Array.from(new Set(V));if(re.length===0){C(fe);return}let xe=!1;return Vs(re).then(ee=>{xe||C(Dc(fe,ee))}),()=>{xe=!0}},[fe]);const ue=$(()=>{let V=b.filter(re=>re.balanceUsd>=.01||re.balanceFormatted>=1e-4||re.balanceFormatted===0);if(x.size>0&&(V=V.filter(re=>x.has(re.chainId))),p.trim()){const re=p.toLowerCase();V=V.filter(xe=>xe.name.toLowerCase().includes(re)||xe.symbol.toLowerCase().includes(re)||xe.address.toLowerCase().includes(re))}return V=jc(V),V.sort((re,xe)=>{const ee=re.balanceFormatted>0?1:0,ve=xe.balanceFormatted>0?1:0;return ve!==ee?ve-ee:xe.balanceUsd!==re.balanceUsd?xe.balanceUsd-re.balanceUsd:xe.balanceFormatted-re.balanceFormatted}),V},[b,p,x]),qe=V=>`${V.chainId}-${V.address}`;X(()=>{const V=document.createElement("link");return V.href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@100;200;300;400;500;600;700&display=swap",V.rel="stylesheet",document.head.appendChild(V),()=>{document.head.removeChild(V)}},[]),X(()=>{e||(u(""),h(null),k(!1),F(new Set))},[e]);const z=V=>{o(V)},le=V=>{F(re=>{const xe=new Set(re);return xe.has(V)?xe.delete(V):xe.add(V),xe})},oe=()=>{F(new Set)},me=x.size===0;return w(fn,{isOpen:e,onClose:t,title:"Select a Token",bannerSrc:Lc,bannerAlt:"Select token banner",styles:d,dark:S,closeOnBackdropClick:n,children:[c("div",{style:{padding:"20px 20px"},children:c(Os,{value:p,onChange:u,ariaLabel:"Search tokens",placeholder:"Search token name, symbol or address",dark:S,styles:d,endAdornment:w("div",{style:{position:"relative",flexShrink:0},children:[c("button",{onClick:()=>k(V=>!V),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"5px",borderRadius:"3px",backgroundColor:g||!me?P:"transparent",border:"none",cursor:"pointer",transition:"background-color 0.15s"},children:c(zc,{size:20,active:!me,dark:S})}),g&&w("div",{style:{position:"absolute",top:"calc(100% + 8px)",right:0,backgroundColor:B,borderRadius:"8px",border:`1px solid ${H}`,boxShadow:W,padding:"8px",minWidth:"220px",zIndex:100},children:[w("button",{onClick:oe,style:{width:"100%",display:"flex",alignItems:"center",gap:"10px",padding:"8px",borderRadius:"6px",backgroundColor:"transparent",border:"none",cursor:"pointer",transition:"background-color 0.15s"},onMouseEnter:V=>V.currentTarget.style.backgroundColor=_,onMouseLeave:V=>V.currentTarget.style.backgroundColor="transparent",children:[c(wa,{checked:me,primaryColor:I,dark:S}),c("img",{src:Pc,alt:"All Networks",loading:"lazy",decoding:"async",width:20,height:20,style:{width:"20px",height:"20px",borderRadius:"4px",objectFit:"cover"}}),c("span",{style:{fontFamily:Ae.mono,fontSize:"12px",fontWeight:600,letterSpacing:"0.5px",color:U},children:"ALL NETWORKS"})]}),q.map(V=>w("button",{onClick:()=>le(V.id),style:{width:"100%",display:"flex",alignItems:"center",gap:"10px",padding:"8px",borderRadius:"6px",backgroundColor:"transparent",border:"none",cursor:"pointer",transition:"background-color 0.15s"},onMouseEnter:re=>re.currentTarget.style.backgroundColor=_,onMouseLeave:re=>re.currentTarget.style.backgroundColor="transparent",children:[c(wa,{checked:x.has(V.id),primaryColor:I,dark:S}),c("img",{src:V.icon,alt:V.name,loading:"lazy",decoding:"async",width:20,height:20,style:{width:"20px",height:"20px",borderRadius:"50%"}}),c("span",{style:{fontFamily:Ae.mono,fontSize:"12px",fontWeight:600,letterSpacing:"0.5px",color:U},children:V.name.toUpperCase()})]},V.id))]})]})})}),w("div",{style:{padding:"0 32px 20px",display:"flex",flexDirection:"column",gap:"8px",maxHeight:"400px",overflowY:"auto"},children:[ie&&c("div",{style:{padding:"24px 8px",textAlign:"center",fontFamily:Ae.mono,fontSize:"13px",color:O},children:"Loading balances..."}),!ie&&ue.length===0&&c("div",{style:{padding:"24px 8px",textAlign:"center",fontFamily:Ae.mono,fontSize:"13px",color:O},children:"No tokens found"}),ue.map(V=>{const re=qe(V),xe=m===re,ee=f===re,ve=Ue(V.chainId)?.displayName||`Chain ${V.chainId}`;return w("button",{onClick:()=>z(V),onMouseEnter:()=>y(re),onMouseLeave:()=>y(null),style:{width:"100%",display:"flex",alignItems:"center",gap:"16px",padding:"8px",borderRadius:"8px",backgroundColor:xe?j:"transparent",border:xe||ee?`1px solid ${K}`:"1px solid transparent",cursor:"pointer",transition:an.interactive},children:[c("div",{style:{flexShrink:0},children:c(zs,{symbol:V.symbol,logoURI:V.logoURI,size:40})}),w("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:"2px",flex:1,minWidth:0},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[c("span",{style:{fontFamily:Ae.mono,fontSize:"15px",fontWeight:500,letterSpacing:"0.4px",color:N,textAlign:"left"},children:V.name}),c("img",{src:ba,alt:"","aria-hidden":"true",loading:"lazy",decoding:"async",width:14,height:14,style:{width:"14px",height:"14px"}})]}),w("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[Ln[V.chainId]&&c("img",{src:Ln[V.chainId],alt:"",loading:"lazy",decoding:"async",width:14,height:14,style:{width:"14px",height:"14px",borderRadius:"50%"}}),w("span",{style:{fontFamily:Ae.mono,fontSize:"12px",fontWeight:400,color:O,textAlign:"left"},children:[V.symbol," \xB7 ",ve]})]})]}),w("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"2px",flexShrink:0},children:[V.balanceUsd>0&&c("span",{style:{fontFamily:Ae.mono,fontSize:"16px",fontWeight:600,color:N},children:_n(V.balanceUsd)}),w("span",{style:{fontFamily:Ae.mono,fontSize:"12px",fontWeight:400,color:O},children:[Jn(V.balanceFormatted)," ",V.symbol]})]})]},re)})]})]})},Ca=({dk:e,dark:t,message:n,buttonLabel:o,onAction:s,disabled:r=!1})=>w("div",{style:{padding:"12px",backgroundColor:e.warningBg,borderRadius:"8px",border:`1px solid ${e.warningBorder}`},children:[c("p",{style:{margin:"0 0 10px 0",color:e.warningText,fontSize:"14px"},children:n}),c("button",{onClick:s,disabled:r,style:{width:"100%",padding:"8px 12px",borderRadius:"6px",border:`1px solid ${t?e.warningBorder:"#fbbf24"}`,backgroundColor:t?e.cardBg:"white",cursor:r?"not-allowed":"pointer",fontWeight:600,fontSize:"13px",color:e.warningText,opacity:r?.6:1},children:o})]}),ka=({dk:e,dark:t,borderRadius:n,children:o})=>c("div",{style:{padding:"8px 12px",marginBottom:"8px",backgroundColor:t?e.warningBg:"#fffbeb",border:`1px solid ${e.warningBorder}`,borderRadius:n,fontSize:"12px",color:e.warningText,lineHeight:"1.4"},children:o});var Qc="data:image/png;base64,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";const Sn=e=>new Promise(t=>setTimeout(t,e)),qs=e=>{const t=(e.id||"").toLowerCase(),n=(e.name||"").toLowerCase();return t.startsWith("io.privy.wallet")||n.includes("privy wallet")},qc=({dark:e,dk:t,primaryColor:n,disabled:o,onError:s})=>{const[r,a]=R(!1),{connectWallet:i}=na({onSuccess:()=>{a(!1)},onError:d=>{a(!1),s(mn(d,"Failed to connect wallet."))}});return w("button",{onClick:()=>{o||r||(a(!0),i({walletChainType:"ethereum-only"}))},disabled:o||r,style:{width:"100%",display:"flex",alignItems:"center",gap:"14px",padding:"10px",borderRadius:"8px",backgroundColor:r?e?t.hoverBg:"#f3f4f6":"transparent",border:`2px solid ${e?`${n}33`:`${n}55`}`,cursor:o||r?"not-allowed":"pointer",opacity:o?.6:1,transition:an.interactive},children:[c("div",{style:{width:"40px",height:"40px",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:e?t.cardBg:"#f3f4f6"},children:c("img",{src:ko.metamask,alt:"Browser wallet",style:{width:"26px",height:"26px",objectFit:"contain"}})}),c("span",{className:"ibm-plex-mono",style:{fontSize:"17px",fontWeight:500,letterSpacing:"0.4px",color:t.textPrimary,flex:1,textAlign:"left",fontFamily:Ae.mono},children:r?"Opening wallet picker...":"MetaMask / Browser Wallet"})]})},Kc=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,onWalletSelect:o,onContinue:s,requiredChainId:r,styles:a})=>{const{dark:i,primaryColor:d,dk:l,theme:p}=At(a),u=xn.useContext(Lt),[m,h]=R(null),[f,y]=R(!1),[g,k]=R(null),[x,F]=R(!1),[b,C]=R(null),[T,v]=R(!1);X(()=>{e||(k(null),F(!1),y(!1),C(null))},[e]);const{address:E,chain:A,connector:S,isConnected:I}=Bs(),D=u?.provider==="privy"&&S&&qs(S)?void 0:E,B=I&&!!D,{connectors:H,connect:W}=Kl(),{disconnect:P}=Yl(),{switchChainAsync:_}=Zr(),{reconnect:U}=Zl(),N=Z(!1),O=Ko(u?.network||"testnet");X(()=>{e&&!B&&!N.current&&U()},[e,B,U]),X(()=>{e||(N.current=!1)},[e]);const j=xn.useRef(A);xn.useEffect(()=>{j.current=A},[A]);const K=(r?Ue(r):null)?.displayName||A?.name||`Chain ${A?.id||r}`,L=z=>z.type==="announced"||typeof z.ready=="boolean"&&z.ready?!0:z.type==="injected"?typeof window<"u"&&!!window.ethereum:!0,q=H.filter(z=>{const le=z.name.toLowerCase(),oe=(z.id||"").toLowerCase();return u?.provider==="privy"&&qs(z)||["safe"].includes(z.type)?!1:z.type==="walletConnect"?!!z?.options?.projectId:z.type==="announced"?!0:z.type==="injected"||["metamask","rabby","phantom","coinbase","trust","rainbow"].some(me=>le.includes(me)||oe.includes(me))?L(z):!1}),M=async z=>{if(!(x||f))try{if(F(!0),C(z.uid),k(null),await W({connector:z}),await Sn(500),o&&o(z.id),r){y(!0);try{A?.id!==r&&(await _({chainId:r}),await ke(r)||k("Please switch to the correct network in your wallet to continue."))}catch(le){console.error("Chain switch error:",le),k(Qr(le))}finally{y(!1)}}await Sn(800)}catch(le){console.error("Connection error:",le),Pl(le)?k("Connection rejected. Please try again."):k(mn(le,"Failed to connect wallet."))}finally{F(!1),C(null)}},ae=z=>{if(z.icon)return z.icon;const le=(z.name||"").toLowerCase();for(const[oe,me]of Object.entries(ko))if(le.includes(oe.toLowerCase()))return me;if(!qs(z)&&(z.type==="injected"||z.type==="announced")&&typeof window<"u"&&window.ethereum){const oe=window.ethereum;if(oe.isMetaMask)return ko.metamask;if(oe.isRabby)return ko.rabby;if(oe.isPhantom)return ko.phantom}return null},ke=async z=>{let le=0;const oe=20;for(;le<oe;){if(await Sn(100),j.current?.id===z)return k(null),!0;le++}return!1},Q=async z=>{y(!0),k(null);try{await _({chainId:z}),await ke(z)||k("Unable to switch to the correct network. Please switch manually in your wallet to continue.")}catch(le){console.error("Manual chain switch error:",le),k(Qr(le))}finally{y(!1)}},G=async z=>{f||(v(!1),await Q(z))},ie=async()=>{if(!f){if(!r){v(z=>!z);return}await Q(r)}},fe=async()=>{N.current=!0;try{await P()}finally{k(null),F(!1),y(!1),C(null),v(!1)}},ue=B&&!f&&!x&&(!r||A?.id===r),qe=B&&!f&&!x&&r&&A?.id!==r;return w(fn,{isOpen:e,onClose:t,title:"Connect Wallet",styles:a,dark:i,bannerSrc:Qc,bannerAlt:"Connect wallet banner",closeOnBackdropClick:n,children:[w("div",{style:{padding:"0 24px 20px",display:"flex",flexDirection:"column",gap:"12px",marginTop:"20px"},children:[g&&c(Ca,{dk:l,dark:i,message:g,buttonLabel:f?"Switching...":"Try Switch Again",onAction:ie,disabled:f}),f&&w("div",{style:{padding:"12px",backgroundColor:i?l.infoBg:"#dbeafe",borderRadius:"8px",display:"flex",alignItems:"center",gap:"10px",marginTop:"20px"},children:[c(vn,{size:20,color:i?l.infoText:"#3b82f6"}),c("p",{style:{margin:0,color:i?l.infoText:"#1e40af",fontSize:"14px"},children:"Switching network..."})]}),B&&D?w("div",{style:{border:`1px solid ${i?l.successBorder:"#02974F"}`,borderRadius:"8px",overflow:"hidden",marginTop:"20px"},children:[w("div",{style:{backgroundColor:i?l.successBg:"#00FFA81C",padding:"14px 18px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[c("div",{style:{width:"22px",height:"22px",borderRadius:"50%",backgroundColor:"#02974F",display:"flex",alignItems:"center",justifyContent:"center",color:"white",fontSize:"14px",fontWeight:"bold"},children:"\u2713"}),c("span",{className:"ibm-plex-mono",style:{color:i?l.successText:"#02974F",fontWeight:600,fontSize:"14px",letterSpacing:"0.5px"},children:"WALLET CONNECTED"})]}),c("div",{style:{width:"38px",height:"38px",borderRadius:"50%",backgroundColor:i?l.cardBg:"#f3f4f6",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},children:S&&ae(S)?c("img",{src:ae(S),alt:S.name,style:{width:"24px",height:"24px",objectFit:"contain"}}):c("span",{style:{fontSize:"16px",fontWeight:"bold",color:i?l.textPrimary:"inherit"},children:S?.name?.charAt(0)||"W"})})]}),w("div",{style:{padding:"18px",backgroundColor:i?l.cardBg:"white"},children:[w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"14px"},children:[c("span",{className:"ibm-plex-mono",style:{color:i?l.textSecondary:"#939291",fontSize:"13px",fontWeight:500,letterSpacing:"0.3px"},children:"ADDRESS:"}),c("span",{className:"ibm-plex-mono",style:{color:i?l.textPrimary:"black",fontSize:"14px",fontWeight:600,fontFamily:Ae.mono,letterSpacing:"0.3px"},children:jo(D)})]}),T&&c("div",{style:{marginBottom:"12px",border:`1px solid ${i?l.inputBorder:"#E5E7EB"}`,borderRadius:"8px",overflow:"hidden",backgroundColor:l.cardBg},children:O.map(z=>{const le=Ue(z);if(!le)return null;const oe=A?.id===z;return w("button",{onClick:()=>{oe?v(!1):G(z)},style:{width:"100%",display:"flex",alignItems:"center",gap:"8px",padding:"10px 12px",backgroundColor:oe?i?`${d}15`:`${d}10`:"transparent",border:"none",borderBottom:`1px solid ${i?l.inputBorder:"#E5E7EB"}`,cursor:oe?"default":"pointer",transition:"background-color 0.15s"},onMouseEnter:me=>{oe||(me.currentTarget.style.backgroundColor=i?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.03)")},onMouseLeave:me=>{me.currentTarget.style.backgroundColor=oe?i?`${d}15`:`${d}10`:"transparent"},children:[c("img",{src:Ln[z]||Co,alt:le.displayName,style:{width:"20px",height:"20px",borderRadius:"50%",objectFit:"contain"}}),c("span",{style:{fontSize:"13px",fontWeight:oe?600:400,color:i?l.textPrimary:"#1f2937",fontFamily:Ae.mono},children:le.displayName}),oe&&c("span",{style:{marginLeft:"auto",fontSize:"11px",color:d,fontWeight:500},children:"Connected"})]},z)})}),w("button",{className:"ibm-plex-mono",onClick:fe,style:{width:"100%",padding:"10px",backgroundColor:"transparent",border:`1px solid ${i?l.inputBorder:"#E5E7EB"}`,borderRadius:"6px",cursor:"pointer",fontSize:"13px",fontWeight:500,color:i?l.textSecondary:"#9CA3AF",display:"flex",alignItems:"center",justifyContent:"center",gap:"6px"},children:[c("span",{style:{fontSize:"16px"},children:"\u27F2"}),"DISCONNECT"]})]})]}):w(Gt,{children:[u?.provider==="privy"&&c(qc,{dark:i,dk:l,primaryColor:d,disabled:x||f,onError:k}),q.map(z=>{const le=L(z),oe=b===z.uid,me=!le||x||oe;return w("button",{onClick:()=>{me||M(z)},onMouseEnter:()=>!me&&h(z.uid),onMouseLeave:()=>h(null),disabled:me,style:{width:"100%",display:"flex",alignItems:"center",gap:"14px",padding:"10px",borderRadius:"8px",backgroundColor:oe?i?l.hoverBg:"#f3f4f6":"transparent",border:m===z.uid&&!me?`2px solid ${i?`${d}44`:`${d}66`}`:"2px solid transparent",cursor:me?"not-allowed":"pointer",opacity:me?.6:1,transition:an.interactive},children:[c("div",{style:{width:"40px",height:"40px",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:i?l.cardBg:"#f3f4f6"},children:ae(z)?c("img",{src:ae(z),alt:z.name,style:{width:"26px",height:"26px",objectFit:"contain"}}):c("span",{style:{fontSize:"16px",fontWeight:"bold",color:i?l.textPrimary:"inherit"},children:z.name.charAt(0)})}),w("span",{className:"ibm-plex-mono",style:{fontSize:"17px",fontWeight:500,letterSpacing:"0.4px",color:me?i?l.inputPlaceholder:"#9ca3af":i?l.textPrimary:"#111827",flex:1,textAlign:"left",fontFamily:Ae.mono},children:[oe?"Connecting...":z.name,!le&&!oe&&c("span",{style:{fontSize:"12px",marginLeft:"8px"},children:"(Not detected)"})]})]},z.uid)})]})]}),qe&&!g&&c("div",{style:{padding:"0 24px 20px"},children:c(Ca,{dk:l,dark:i,message:`Please switch to ${K} to continue.`,buttonLabel:f?"Switching...":"Switch Network",onAction:ie,disabled:f})}),c("div",{style:{padding:"0 24px 25px"},children:c(Wt,{variant:"outline",fullWidth:!0,onClick:async()=>{ue&&(await Sn(300),s?await s():t())},disabled:!ue,theme:p,dark:i,styles:a,children:x?"CONNECTING...":f?"SWITCHING NETWORK...":"CONTINUE"})})]})};function Go(e){const t=Z(0),n=Z(null),o=Z(e.run);o.current=e.run;const s=Z(e.onSkip);s.current=e.onSkip;const r=Z(e.onCleanup);r.current=e.onCleanup,X(()=>{if(!e.shouldRun){t.current+=1,n.current?.abort(),s.current?.();return}let a=!1,i=!1;const d=async u=>{if(u&&i)return;n.current?.abort();const m=new AbortController;n.current=m;const h=++t.current;i=!0;try{await o.current({isBackground:u,isCurrent:()=>!a&&t.current===h,signal:m.signal})}finally{i=!1}},l=window.setTimeout(()=>void d(!1),e.delayMs??250),p=e.backgroundIntervalMs?window.setInterval(()=>void d(!0),e.backgroundIntervalMs):void 0;return()=>{a=!0,n.current?.abort(),clearTimeout(l),p!==void 0&&window.clearInterval(p),r.current?.()}},[e.shouldRun,e.delayMs,e.backgroundIntervalMs,...e.deps])}const Ks=new Set(["WBTC","CBTC"]),va=new Set(["btc","wbtc","wcbtc","cbtc"]);function Ia(e,t){return!e||!t?!1:e===t?!0:Ks.has(e)&&Ks.has(t)}function En(e){const[t,n,o]=e.split(":");if(t!=="evm"||!n||!o)return null;const s=Number(n);if(!Number.isFinite(s))return null;const r=o.startsWith("0x")?o.toLowerCase():`0x${o.toLowerCase()}`;return{chainId:s,address:r}}function Jo(e){return(e??"").trim().replace(/^test\s+/i,"").replace(/^spice/i,"").toLowerCase().replace(/[^a-z0-9]/g,"")}function Yc(e){return new Set([e.receiptTokenName,e.displaySymbol,e.symbol,e.displayName,e.name].map(Jo).filter(Boolean))}function Zc(e,t){const n=Yc(e),o=[t.symbol,t.name,t.equivalenceGroup].map(Jo);if(o.some(a=>a&&n.has(a)))return!0;const s=[...n].some(a=>va.has(a)),r=o.some(a=>va.has(a))||Ks.has(t.equivalenceGroup??"");return s&&r}function Aa(e,t,n){const o=new Set(t.map(Jo).filter(Boolean)),s=r=>{if(n&&Be(r.address,n))return 0;const a=[r.symbol,r.name,r.equivalenceGroup].map(Jo).findIndex(i=>i&&o.has(i));return a===-1?4:a+1};return[...e].sort((r,a)=>{const i=s(r)-s(a);return i!==0?i:r.address.toLowerCase().localeCompare(a.address.toLowerCase())})}function $o(e,t){const n=e.chainTokens?Object.keys(e.chainTokens):[],o=[];for(const s of n){const r=En(s);if(!r||r.chainId!==t)continue;const a=r.address,i=xt(a,t);i&&(!Ys(e,a,t)&&!(e.isUniversal&&Zc(e,i))||o.some(d=>Be(d,a))||o.push(a))}return Aa(o.map(s=>{const r=xt(s,t);return{address:s,symbol:r?.symbol,name:r?.name,equivalenceGroup:r?.equivalenceGroup}}),[e.receiptTokenName,e.displaySymbol,e.symbol,e.displayName,e.name],e.chainId===t&&!e.isUniversal?e.address:void 0).map(s=>s.address)}function Ys(e,t,n){return e.chainId===n&&Be(e.address,t)?!0:Ao(e.address,e.chainId,t,n)}async function Xc(e,t){const n=pt(e),o=An(e);return he(t)?n.getBalance({address:o}):await n.readContract({address:t,abi:ze,functionName:"balanceOf",args:[o]})}function Zs(e,t,n){const o=_l(n),s=o.find(a=>Be(a.address,e));if(s)return s;const r=xt(e,t);if(r)return Aa(o.filter(a=>Ia(a.equivalenceGroup,r.equivalenceGroup)),[r.symbol,r.name,r.equivalenceGroup])[0]}function hn(e,t){if(e.chainId===t)return e.address;const n=Zs(e.address,e.chainId,t);return n?n.address:null}async function Xs(e,t,n={}){const o=hn(e,t),s=$o(e,t);if(s.length===0)return o;if(s.length===1)return s[0];const r=n.requiredAmount??0n,a=i=>{const d=s.map(l=>({candidate:l,balance:i.get(he(l)?"native":l.toLowerCase())??0n})).filter(l=>l.balance>0n).sort((l,p)=>l.balance===p.balance?0:l.balance>p.balance?-1:1);return d.length===0?null:((r>0n?d.find(l=>l.balance>=r):d[0])??d[0]).candidate};try{const i=await Promise.all(s.map(async p=>({key:he(p)?"native":p.toLowerCase(),value:await Xc(t,p)}))),d=new Map(i.map(({key:p,value:u})=>[p,u])),l=a(d);if(l)return l}catch{}return o}function Ao(e,t,n,o){const s=xt(e,t),r=xt(n,o);return s&&r?Ia(s.equivalenceGroup,r.equivalenceGroup):$l(e,n)}function _o(e,t){return Ao(e.address,e.chainId,t.address,t.chainId)}const Gc={usdc:[8453,1,42161,5115,4114],usdt:[1],btc:[4114,42161,1,5115],wbtc:[1],weth:[8453,1],eth:[8453,1,42161,4663,84532,46630],ctusd:[5115,4114],wcbtc:[5115,4114]},Jc={btc:["wcbtc","cbtc","wbtc"]};function es(e){return e.replace(/^test\s*/i,"").replace(/^spice/i,"").trim()}function Fn(e){return es(e).toLowerCase()}function Sa(e){return Fn(e??"").replace(/[^a-z0-9]/g,"")}function Gs(e){const t=Fn(e);return[t,...Jc[t]??[]].filter(Boolean)}function $c(e){try{return BigInt(e.balanceAvailable||"0")}catch{return 0n}}function Ea(e){return Array.isArray(e.chainTokens)?e.chainTokens:Object.keys(e.chainTokens??{})}function _c(e,t,n,o=[]){const s=Ue(t),r=n.toLowerCase(),a=r===Qt.toLowerCase()?s?.nativeCurrency.decimals??18:s?.supportedTokens?.find(d=>d.address.toLowerCase()===r)?.decimals??18,i=new Set(o.map(Sa).filter(Boolean));return e.reduce((d,l)=>{const p=$c(l),u=l.decimals??a,m=yo(p,u,a);if(Ea(l).some(f=>{const y=En(f);return y&&Ao(y.address,y.chainId,n,t)}))return d+m;if(i.size===0)return d;const h=Sa(l.tokenName||l.receiptToken);return i.has(h)?d+m:d},0n)}function ed(e,t){const n=new Set([...Gs(t),...Gs(es(t))]);return[...e].sort((o,s)=>{const r=Fn(o.symbol),a=Fn(s.symbol),i=Fn(o.name),d=Fn(s.name),l=n.has(r)?0:n.has(i)?1:2,p=n.has(a)?0:n.has(d)?1:2;return l!==p?l-p:o.address.toLowerCase().localeCompare(s.address.toLowerCase())})[0]}function td(e){const t=e&&e.length>0?e:Object.keys(Vo).map(Number).filter(Number.isFinite),n=new Map;for(const o of t){const s=Ue(o);if(!s)continue;const r=`${o}:${Qt.toLowerCase()}`;n.has(r)||n.set(r,{address:Qt,chainId:o,symbol:s.nativeCurrency.symbol,name:s.nativeCurrency.name,decimals:s.nativeCurrency.decimals,isNative:!0,logoURI:Ls[s.nativeCurrency.symbol]??s.logo});for(const a of s.supportedTokens??[]){const i=a.address.toLowerCase(),d=`${o}:${i}`;n.has(d)||n.set(d,{address:i,chainId:o,symbol:a.symbol,name:a.name,decimals:a.decimals,isNative:he(i),logoURI:a.logo})}}return n}function nd(e,t){const n=td(t),o=es(e.tokenName),s=Fn(e.tokenName),r=Gs(e.tokenName),a=Array.isArray(e.chainTokens)?e.chainTokens.map(f=>[f,void 0]):Object.entries(e.chainTokens??{}),i=a.map(([f])=>En(f)).filter(f=>f!==null),d=new Map;for(const[f,y]of a){const g=En(f);if(!g||!Number.isSafeInteger(g.chainId)||g.chainId<0||!/^evm:[0-9]+:(?:0x)?[0-9a-fA-F]{40}$/.test(f)){if(!Array.isArray(e.chainTokens))throw new Error("Invalid chain token metadata identity");continue}if(y!==void 0&&(!y||typeof y!="object"||Array.isArray(y)||y.name!==void 0&&typeof y.name!="string"||y.decimals!==void 0&&(!Number.isInteger(y.decimals)||y.decimals<0||y.decimals>255)))throw new Error("Invalid chain token metadata");const k=`${g.chainId}:${g.address.toLowerCase()}`;if(d.has(k)){const x=d.get(k);if(x?.name!==y?.name||x?.decimals!==y?.decimals)throw new Error("Conflicting chain token metadata")}d.set(k,y)}const l=(f,y)=>{const g=d.get(`${y.chainId}:${y.address.toLowerCase()}`);return{...f,name:typeof g?.name=="string"&&g.name.length>0?g.name:f.name,decimals:typeof g?.decimals=="number"?g.decimals:f.decimals}},p=i.map(f=>{const y=n.get(`${f.chainId}:${f.address.toLowerCase()}`);return y?l(y,f):void 0}).filter(f=>f!==void 0),u=Gc[s]??[];if(u.length>0)for(const f of u){const y=p.find(g=>g.chainId===f);if(y)return y}if(p.length>0)return ed(p,e.tokenName);const m=Array.from(n.values()).filter(f=>r.includes(Fn(f.symbol))||r.includes(Fn(f.name)));if(u.length>0)for(const f of u){const y=m.find(g=>g.chainId===f);if(y)return y}if(m.length>0)return m[0];const h=i[0];if(h){const f=d.get(`${h.chainId}:${h.address.toLowerCase()}`);return{address:h.address,chainId:h.chainId,symbol:o||e.tokenName,name:typeof f?.name=="string"&&f.name.length>0?f.name:o||e.tokenName,decimals:typeof f?.decimals=="number"?f.decimals:e.decimals??18,isNative:he(h.address),logoURI:void 0}}}function od(e,t){let n;try{n=BigInt(e.balanceAvailable||"0")}catch{return null}if(n<=0n)return null;if(t?.length){const f=Ea(e).map(En).filter(y=>y!==null);if(f.length>0&&!f.some(y=>t.includes(y.chainId)))return null}let o;try{o=nd(e,t)}catch{return null}const s=o?.decimals??e.decimals??18,r=e.decimals??s,a=yo(n,r,s),i=o?.address??Qt,d=o?.chainId??0,l=es(e.tokenName),p=o?.symbol??l,u=o?.name??l,m=parseFloat($e(a,s)),h=typeof e.balanceUsd=="number"?e.balanceUsd:typeof e.balanceUsd=="string"&&Number(e.balanceUsd)||0;return{address:i,symbol:p,name:u,decimals:s,chainId:d,balance:a,balanceFormatted:m,balanceUsd:h,isNative:o?.isNative??he(i),logoURI:o?.logoURI,displaySymbol:l||p,displayName:l||u,displayChainName:"Spicenet",receiptTokenId:e.receiptToken,receiptTokenName:e.tokenName||u,receiptTokenDecimals:r,chainTokens:e.chainTokens&&!Array.isArray(e.chainTokens)?e.chainTokens:void 0,isUniversal:!0}}function sd(e,t){return(t||"").trim()||`Transaction ${e}. The transaction was rejected on-chain. This may be due to insufficient balance, price changes, or health factor constraints. Please verify your positions and try again.`}const rd=350,ad=2500;async function Fa(e){const{actionId:t,intentIndex:n,intentId:o,stepIndex:s,maxPolls:r=48,maxExecuteAttempts:a=3,pollsBeforeRetry:i=5,maxConsecutiveStatusErrors:d=15,onStatusMessage:l,onStepUpdate:p,signal:u,chainId:m}=e;let h="pending",f,y,g=0,k=0;const x=()=>{g++,zt.executeStep(t,n,s,{action:"execute"}).then(F=>{F.transactionHash&&(f=F.transactionHash)}).catch(F=>{const b=F instanceof Error?F.message:String(F);console.warn(`[execution] executeStep ${s} attempt ${g} error (will poll):`,b)})};x();for(let F=0;F<r;F++){if(await Sn(F===0?rd:ad),u?.aborted)throw new Qe("ABORT","Execution transaction aborted");try{const C=await zt.checkStepStatus(o,s);k=0,h=C.data.status,y=C.data.error;const T=C.data.transactionHash;T&&(f=T),p?.({status:h,transactionHash:f,error:y})}catch(C){if(C instanceof Error&&(C.name==="AbortError"||C instanceof Qe&&C.code==="ABORT")||(k++,k>=d))throw C;continue}if(h==="created"&&F>=g*i&&g<a&&x(),h==="reverted"||h==="error")throw new Qe("ON_CHAIN_REVERT",sd(h,y),{status:h,txHash:f,actionId:t,intentId:o,stepId:s,chainId:m});if(h==="success"||h==="completed")return f;let b="Waiting for solver...";h==="executing"?b="Transaction executing...":h==="submitted"?b="Transaction submitted...":h==="created"&&(b="Waiting for relayer..."),l?.(b,f)}throw new Qe("POLLING_EXHAUSTED",`Transaction is still processing (status: ${h}). This doesn't mean it failed \u2014 the solver may still complete it. Check your positions in a few minutes, or try refreshing the page.`,{actionId:t,intentId:o,stepId:s,lastStatus:h,pollAttempts:r,maxPolls:r,txHash:f})}async function Ba(e){const{actionId:t,intentIndex:n,intentId:o,totalSteps:s,delayBeforeSpicenetStepMs:r=5e3,isSpicenetStep:a,maxExecuteAttemptsForStep:i,maxPolls:d=48,onStatusMessage:l,onStepUpdate:p,signal:u}=e;let m;for(let h=0;h<s;h++){h>0&&a?.(h)&&r>0&&await Sn(r);const f=i?.(h)??3,y=await Fa({actionId:t,intentIndex:n,intentId:o,stepIndex:h,maxPolls:d,maxExecuteAttempts:f,maxConsecutiveStatusErrors:f===6?5:15,onStatusMessage:l,onStepUpdate:p?g=>p(h,g):void 0,signal:u});y&&(m=y)}return m}const id="0xa9059cbb";function ts(e,t){return e.map(n=>{if(n.domain==="spicenet"||to(n.chainId)||n.calls.length===0)return n;const o=new Set((n.tokenTransfers??[]).filter(a=>(a.from==="escrow"||a.from==="solver")&&Be(a.to,t)).map(a=>a.token.toLowerCase()));if(o.size===0)return n;const s=[...o].some(he);let r=0;for(const a of n.calls){if(s&&a.value>0n&&a.data==="0x"&&!Be(a.to,t)){r+=1;continue}if(!a.data?.startsWith(id))break;try{const i=Yo({abi:ze,data:a.data});if(i.functionName!=="transfer")break;const[d]=i.args;if(Be(d,t)||!o.has(a.to.toLowerCase()))break;r+=1}catch{break}}return r===0?n:{...n,calls:n.calls.slice(r)}})}function Ta(e,t){if(e.length!==t.length)return!1;const n=Nn(e),o=Nn(t);return n.every((s,r)=>s.hash===o[r]?.hash)}const Da=15;function ld(e){return e.now-e.lastProgressAt>=e.pollTimeoutMs}function Ra(e,t){return{intentId:e,steps:t.map(n=>({...n,status:"pending"})),overallStatus:"processing"}}function ns(e,t,n){const o=e.steps.map(i=>({...i})),s=o[t];if(!s)return e;n.status==="success"||n.status==="completed"?(o[t]={...s,status:"success",transactionHash:n.transactionHash},t+1<o.length&&o[t+1].status==="pending"&&(o[t+1]={...o[t+1],status:"processing"})):n.status==="reverted"||n.status==="error"?o[t]={...s,status:"failed",transactionHash:n.transactionHash,error:n.error}:o[t]={...s,status:"processing"};const r=o.some(i=>i.status==="failed"),a=o.every(i=>i.status==="success");return{...e,steps:o,overallStatus:r?"failed":a?"success":"processing"}}function cd({checkStepStatus:e,retryStep:t,maxRetries:n=3,pollingInterval:o=2500,pollTimeoutMs:s=3e5}){const[r,a]=R(null),i=Z(null),d=Z(null),l=Z(!1),p=Z(!1),u=Z(0),m=Z({}),h=Z(0),f=se(b=>{i.current=b,a(b)},[]),y=se(()=>{d.current&&(clearInterval(d.current),d.current=null)},[]),g=se(()=>{u.current=0,m.current={},h.current=0,l.current=!0,y(),f(null)},[y,f]),k=se((b,C)=>{y(),l.current=!1,f(Ra(b,C))},[y,f]),x=se((b,C)=>{const T=i.current;T&&f(ns(T,b,C))},[f]),F=se((b,C)=>{y(),l.current=!1,p.current=!1,u.current=0,m.current={},h.current=Date.now(),f(Ra(b,C));const T=async()=>{if(!(l.current||p.current||!e)){p.current=!0;try{if(ld({now:Date.now(),lastProgressAt:h.current,pollTimeoutMs:s})){const A=i.current;A&&f({...A,steps:A.steps.map(S=>S.status==="success"?S:{...S,status:"failed",error:"Taking longer than expected. It may still complete - check the explorer, then refresh."}),overallStatus:"failed"}),l.current=!0,y();return}const v=i.current;if(!v)return;const E=v.steps.findIndex(A=>A.status!=="success");if(E===-1){l.current=!0,y();return}if(!(E===0||v.steps[E-1].status==="success"))return;try{const A=v.steps[E].stepId,{data:S}=await e(b,A);if(u.current=0,S.status==="success"&&(h.current=Date.now()),S.status==="reverted"){const D=m.current[A]||0;if(t&&D<n){m.current[A]=D+1;try{await t(b,A)}catch(B){console.error(`[intentStatus] retry failed for step ${A}:`,B)}f(ns(i.current,E,{status:"executing"}));return}}const I=ns(i.current,E,S);f(I),I.overallStatus!=="processing"&&(l.current=!0,y())}catch(A){u.current+=1,console.error(`[intentStatus] poll error (${u.current}/${Da}):`,A),u.current>=Da&&(f(ns(i.current,E,{status:"error"})),l.current=!0,y())}}finally{p.current=!1}}};T(),d.current=setInterval(T,o)},[e,t,n,o,s,y,f]);return X(()=>()=>y(),[y]),{intentStatus:r,startStatusPolling:F,beginStatusTracking:k,applyStepUpdate:x,stopStatusPolling:y,clearStatus:g}}function dd(e,t){const n=Nn(e).map(o=>o.hash);return ta(Un([{type:"string"},{type:"uint256"},{type:"uint256"},{type:"bytes32[]"}],["ecdsa",0n,t,n]))}async function Wa(e,t,n,o){if(o?.aborted)throw new Qe("ABORT","Execution transaction aborted");const s=await e.signMessage({raw:dd(t,n)}),r=typeof s=="string"?s:s.signature;if(!r)throw new Qe("SIGNATURE_FAILED","Failed to sign intent authorization. The wallet returned an empty signature.");return r}function ud(e){return e.domain==="spicenet"||to(e.chainId)}async function So(e){const{chainBatches:t,signingAddress:n,actions:o,cache:s,signal:r}=e,a=[...new Set(t.filter(l=>!ud(l)).map(l=>l.chainId))],i=await Promise.all(a.map(async l=>{const p=pt(l),u=qr(l),m=Number(await ec(n,p)),h=[n.toLowerCase(),l,u.toLowerCase(),m].join(":");return{chainId:l,delegateContract:u,nonce:m,cacheKey:h,cached:s?.get(h)}})),d=[];for(const{chainId:l,delegateContract:p,nonce:u,cacheKey:m,cached:h}of i){if(h){d.push(h);continue}if(r?.aborted)throw new Qe("ABORT","Execution transaction aborted");const f=await o.signAuthorization({contractAddress:p,chainId:l,nonce:u}),y={r:f.r,s:f.s,yParity:f.yParity,address:f.address??p,chainId:Number(f.chainId??l),nonce:Number(f.nonce??u)};s?.set(m,y),d.push(y)}return d}function Eo(e,t){return e<=0n||t<=0n?0n:(e*t+10000n-1n)/10000n}function os(e,t,n){const o=(e>t?e-t:0n)*10000n/(10000n+n),s=Eo(o,n),r=o>0n,a=r?s+t:0n;return{netAmount:o,spicenetFee:r?s:0n,totalFee:a,grossAmount:o+a,coversFees:r}}function zn(e,t,n){if(e===t)return!0;const o=e>t?e:t;return o===0n?!1:(e>t?e-t:t-e)*10000n<=o*n}function Ma(e,t){const n=$e(e,t);return n.includes(".")?n.replace(/\.?0+$/,"")||"0":n}function nn(e){const t=BigInt(e.feeBreakdown.spicenetFee),n=BigInt(e.feeBreakdown.gasFee),o=BigInt(e.feeBreakdown.bridgeFee??"0"),s=t+n+o;return{spicenetFee:t,gasFee:n,bridgeFee:o,totalFee:s}}function Oa(e){const t=BigInt(e.quotedAmount),n=BigInt(e.totalDebit),{totalFee:o}=nn(e);return t>0n||n>0n||o>0n}function pd(e){const t=BigInt(e.quotedAmount),n=BigInt(e.totalDebit),{totalFee:o}=nn(e),s=t+o;return n>s?n:s}function md(e){const t=[];for(const n of e.intents)for(const o of n.batches)t.push(BigInt(o.quotedAmount));return t.length!==1?null:t[0]}function Js(e,t){const n=e.intents.flatMap(l=>l.batches).filter(Oa);if(n.length===0||n.length>1&&t.actionAmount===void 0)return null;let o=0n,s=0n,r=0n,a=0n;for(const l of n){const p=nn(l);o+=p.gasFee,s+=p.spicenetFee,r+=p.bridgeFee,a+=p.totalFee}const i=n.some(l=>l.gasQuoteSource==="estimated")?"estimated":n.some(l=>l.gasQuoteSource==="configured_fallback")?"configured_fallback":n[0].gasQuoteSource,d=t.actionAmount??BigInt(n[0].quotedAmount);return{symbol:t.symbol,decimals:t.decimals,grossAmount:d+a,netAmount:d,totalFee:a,spicenetFee:s,gasFee:o,bridgeFee:r,gasQuoteSource:i}}function ro(e,t){const n=e.intents.flatMap(p=>p.batches).filter(Oa);if(n.length===0)return null;const o=n.filter(p=>p.chainId===t.chainId),s=o.length>0?o:n;if(s.length>1)return null;const r=s[0],{gasFee:a,spicenetFee:i,bridgeFee:d,totalFee:l}=nn(r);return{chainId:r.chainId,tokenAddress:t.tokenAddress,symbol:t.symbol,decimals:t.decimals,grossAmount:pd(r),netAmount:BigInt(r.quotedAmount),totalFee:l,gasFee:a,spicenetFee:i,bridgeFee:d,gasQuoteSource:r.gasQuoteSource}}const fd=10n,hd=5;function $s(e){return e.map(t=>({...t,calls:[...t.calls],tokenTransfers:t.tokenTransfers?[...t.tokenTransfers]:void 0}))}function ss({token:e,recipient:t,amount:n}){return{to:e,value:0n,data:ot({abi:ze,functionName:"transfer",args:[t,n]})}}function gd({chainBatches:e,token:t,amount:n}){const o=$s(e),s=o[o.length-1];if(!s)return o;const r=An(s.chainId);return s.calls=[...s.calls,ss({token:t,recipient:r,amount:n})],o}function Na({chainBatches:e,user:t,token:n,grossAmount:o,gasFee:s}){const r=$s(e),a=r[r.length-1];if(!a)throw new Qe("INVALID_PARAMS","Action-output escrow funding requires at least one chain batch.");const i=Eo(o,fd),d=s+i;if(d>=o)throw new Qe("INVALID_PARAMS","Borrow amount is too small after gas and Spicenet fees.",{grossAmount:o.toString(),gasFee:s.toString(),spicenetFee:i.toString()});const l=o-d,p=An(a.chainId),u=[];return s>0n&&u.push(ss({token:n,recipient:ln,amount:s})),i>0n&&u.push(ss({token:n,recipient:Kn,amount:i})),a.calls=[...a.calls,...u,ss({token:n,recipient:p,amount:l})],a.tokenTransfers=[...a.tokenTransfers??[],...s>0n?[{from:t,to:ln,token:n,amount:s}]:[],...i>0n?[{from:t,to:Kn,token:n,amount:i}]:[],{from:t,to:p,token:n,amount:l}],{chainBatches:r,gasFee:s,spicenetFee:i,netEscrowAmount:l,outputCredit:{chainId:a.chainId,token:n,amount:o}}}async function Ua({chainBatches:e,user:t,token:n,grossAmount:o,chainAuthorizations:s}){let r=0n,a=Na({chainBatches:e,user:t,token:n,grossAmount:o,gasFee:r});for(let i=0;i<hd;i+=1){const d=Nn(a.chainBatches),l=(await zt.estimateBatchGas({user:t,outputToken:n,chainBatches:a.chainBatches.map((p,u)=>({...p,hash:d[u].hash})),chainAuthorizations:s})).gasFee;if(l===r)return a;r=l,a=Na({chainBatches:e,user:t,token:n,grossAmount:o,gasFee:r})}throw new Qe("INVALID_PARAMS","Action-output fee estimate did not converge. Please retry.")}function Fo(e){return to(e.chainId)}const yd="0xa9059cbb";function rs(e,t){return`${e}:${t.toLowerCase()}`}function Pa(e,t){return t===Qt.toLowerCase()?{symbol:Jt(e),decimals:18}:xt(t,e)??{symbol:"tokens",decimals:18}}function xd(e,t){const n=xt(t,e);return[n?.equivalenceGroup,n?.symbol,n?.name]}async function bd(e){return Ll(e)}async function wd(e,t,n){const o=new Map,s=new Map,r=new Map,a=new Map,i=new Map;for(const l of n?.actionOutputCredits??[]){const p=rs(l.chainId,l.token);i.set(p,(i.get(p)??0n)+l.amount)}for(const l of e){if(Fo(l))continue;for(const m of l.tokenTransfers??[]){if(m.from!=="escrow"&&m.from!=="solver"||!Be(m.to,t))continue;const h=BigInt(m.amount??0);if(h<=0n)continue;const f=rs(l.chainId,m.token);s.set(f,(s.get(f)??0n)+h),m.from==="escrow"&&r.set(f,(r.get(f)??0n)+h)}const p=tc(l.chainId),u=m=>!!p&&p!==Qt&&Be(m,p);for(const m of l.calls){if(m.value&&m.value>0n){const h=rs(l.chainId,Qt);o.set(h,(o.get(h)??0n)+m.value),u(m.to)&&a.set(h,(a.get(h)??0n)+m.value)}if(m.data?.startsWith(yd))try{const h=Yo({abi:ze,data:m.data});if(h.functionName!=="transfer")continue;const[f,y]=h.args,g=m.to.toLowerCase(),k=rs(l.chainId,g);o.set(k,(o.get(k)??0n)+y),u(f)&&a.set(k,(a.get(k)??0n)+y)}catch{}}}let d=null;for(const[l,p]of r){const u=p-(a.get(l)??0n);if(u<=0n)continue;const[m,h]=l.split(":"),f=Number(m),y=Pa(f,h);d??(d=await bd(t));const g=_c(d,f,h,xd(f,h));if(!(g>=u))throw new Qe("INVALID_PARAMS",`Insufficient Spice ${y.symbol}: needs ${$e(u,y.decimals)}, has ${$e(g,y.decimals)}.`,{chainId:f,token:h,userAddress:t,requiredAmount:u.toString(),balance:g.toString(),balanceSource:"spice"})}for(const[l,p]of o){if(p<=0n)continue;const[u,m]=l.split(":"),h=Number(u),f=p-(s.get(l)??0n)-(i.get(l)??0n);if(f<=0n)continue;const y=pt(h),g=m===Qt.toLowerCase()?await y.getBalance({address:t}):await y.readContract({address:m,abi:ze,functionName:"balanceOf",args:[t]});if(g>=f)continue;const k=Pa(h,m);throw new Qe("INVALID_PARAMS",`Insufficient ${k.symbol} on ${Jt(h)}: needs ${$e(f,k.decimals)}, has ${$e(g,k.decimals)}.`,{chainId:h,token:m,userAddress:t,requiredAmount:f.toString(),balance:g.toString(),balanceSource:"wallet"})}}function Cd({chainBatches:e,tokenAddress:t,tokenTransferAmount:n,useCustomTransfers:o}){if(!(e.some(Fo)||!(o?e.some(s=>Fo(s)?!1:(s.tokenTransfers??[]).some(r=>r.from==="escrow"&&BigInt(r.amount??0)>0n)):n>0n)))throw new Qe("INVALID_PARAMS","Payouts funded from Spice balance require a Spicenet funding batch before the destination chain batch. Deposits into Spice balance and gas-only actions do not need one.",{tokenAddress:t,tokenTransferAmount:n.toString(),useCustomTransfers:!!o})}function kd(e,t,n,o){t.forEach((s,r)=>{if(!s.to||!s.from||!s.token||s.amount===void 0)throw new Qe("INVALID_TOKEN_TRANSFER",`tokenTransfers[${r}] on chain ${e} is missing required fields (to/from/token/amount). This usually means the embedded wallet wasn't ready when the intent was built \u2014 please retry.`,{chainId:e,transferIndex:r,transfer:{from:s.from,to:s.to,token:s.token,amount:s.amount?.toString()},signingAddress:n,useCustomTransfers:o})})}function _s({user:e,chainBatches:t,tokenAddress:n,tokenTransferAmount:o,exp:s,signature:r,chainAuthorizations:a,useCustomTransfers:i}){const d=t,l=Nn(d),p=d.filter(u=>!Fo(u)).length;if(Cd({chainBatches:d,tokenAddress:n,tokenTransferAmount:o,useCustomTransfers:i}),!i&&o>0n&&p>1)throw new Qe("INVALID_PARAMS","Multiple non-Spicenet batches require explicit tokenTransfers. Pass useCustomTransfers with per-batch transfers instead of relying on the default escrow payout injection.",{nonSpicenetBatchCount:p,tokenAddress:n,tokenTransferAmount:o.toString()});return{user:e,...a?{chainAuthorizations:a}:{},intents:[{mode:"7702",signatureType:"ecdsa",signature:r,nbf:0,exp:s,chainBatches:l.map((u,m)=>{const h=d[m],f=Fo(h)?[]:i?h.tokenTransfers??[]:o>0n?[{from:"escrow",to:e,token:n,amount:o}]:[];return kd(Number(u.chainId),f,e,i),{hash:u.hash,chainId:Number(u.chainId),tokenTransfers:f,calls:u.calls}})}]}}function La(e,t){const n=t?.depositToEscrow?.gasFundingSource==="action-output"?t.depositToEscrow:null,o=t?.depositToEscrow&&!n?gd({chainBatches:e,token:t.depositToEscrow.token,amount:t.depositToEscrow.amount}):$s(e);return{actionOutputDeposit:n,batches:o}}let er=!1;function ao(){const{address:e,isConnected:t,isAuthenticated:n,actions:o}=In(),s=Z(null),{intentStatus:r,startStatusPolling:a,beginStatusTracking:i,applyStepUpdate:d,clearStatus:l}=cd({checkStepStatus:(g,k)=>zt.checkStepStatus(g,k),retryStep:async(g,k)=>{const[x,F]=g.split("/"),b=parseInt(F||"0",10);await zt.executeStep(x,b,k,{action:"execute"})}}),p=Z(o),u=Z(new Map);p.current=o;const m=se((g,k,x)=>So({chainBatches:g,signingAddress:k,actions:p.current,cache:u.current,signal:x}),[]),h=se((g,k,x)=>Wa(p.current,g,k,x),[]),f=se(async(g,k,x,F,b,C)=>{const T=(v,E,A)=>{F?.({step:v,message:E,...A})};if(er)throw new Qe("CONCURRENT_EXECUTION","A execution transaction is already in progress. Please wait.");er=!0;try{if(!e)throw new Qe("WALLET_DISCONNECTED","No wallet connected. Please log in first.");const v=C?.userOverride||e,{actionOutputDeposit:E,batches:A}=La(g,C);let S=A,I=[],D=C?.useCustomTransfers;T("signing-delegation","Sign delegation in your wallet...");const B=await m(S,v,b);if(b?.aborted)throw new Qe("ABORT","Execution transaction aborted");const H=BigInt(Math.floor(Date.now()/1e3)+3600);if(E){const q=await Ua({chainBatches:g,user:v,token:E.token,grossAmount:E.amount,chainAuthorizations:B});S=q.chainBatches,I=[q.outputCredit],D=!0}if(!C?.skipPreSubmitFeeEstimate){let q=!1;for(let M=0;M<10;M++){const ae=C?.feeExecutionMode==="user-transfer"?ts(S,v):S,ke=_s({user:v,chainBatches:ae,tokenAddress:k,tokenTransferAmount:x,exp:Number(H),signature:"0x00",chainAuthorizations:B,useCustomTransfers:D}),Q=await zt.estimateActionFees(ke,{signal:b});s.current=Q;const G=await C?.adjustBatchesForEstimate?.({feeEstimate:Q,chainBatches:S}),ie=!!G&&Ta(S,G);if(!G||ie){q=!0;break}S=G}if(!q)throw new Qe("INVALID_PARAMS","Fee estimate did not converge. Please retry.")}C?.skipUserFundingPreflight||await wd(S,v,{actionOutputCredits:I}),T("signing-intent","Sign the intent in your wallet...");const W=await h(S,H,b);if(b?.aborted)throw new Qe("ABORT","Execution transaction aborted");T("submitting","Submitting to relayer...");const P=_s({user:v,chainBatches:S,tokenAddress:k,tokenTransferAmount:x,exp:Number(H),signature:W,chainAuthorizations:B,useCustomTransfers:D}),_=await zt.createAction(P),[U,N]=_.intentIds[0].split("/"),O=parseInt(N||"0",10),j=`${U}/${O}`;T("executing","Executing on chain..."),T("executing","Executing on chain...",{actionId:U,intentId:j,intentIndex:O,totalSteps:S.length});const K=S.length,L=await Ba({actionId:U,intentIndex:O,intentId:j,totalSteps:K,signal:b,isSpicenetStep:q=>S[q]?.domain==="spicenet",maxExecuteAttemptsForStep:q=>S[q]?.domain==="spicenet"?6:3,maxPolls:180,onStatusMessage:(q,M)=>{T("executing",q,{txHash:M,actionId:U,intentId:j,intentIndex:O,totalSteps:K})}});return T("success","Transaction successful!",{txHash:L,actionId:U,intentId:j,intentIndex:O,totalSteps:K}),L||U}catch(v){throw console.error("[Execution] Error:",v),T("error",v.message||"Transaction failed",{error:v.message}),v}finally{er=!1}},[e,n,m,h]),y=se(async(g,k,x,F)=>{if(!e)throw new Qe("WALLET_DISCONNECTED","No wallet connected. Please log in first.");const b=F?.userOverride||e,{actionOutputDeposit:C,batches:T}=La(g,F);let v=T;const E=F?.feeExecutionMode==="user-transfer"?ts(v,b):v,A=F?.signAuthorizationsForEstimate?await m(E,b):void 0;let S=F?.useCustomTransfers;C&&(v=(await Ua({chainBatches:g,user:b,token:C.token,grossAmount:C.amount,chainAuthorizations:A})).chainBatches,S=!0);const I=F?.feeExecutionMode==="user-transfer"?ts(v,b):v,D=_s({user:b,chainBatches:I,tokenAddress:k,tokenTransferAmount:x,exp:Math.floor(Date.now()/1e3)+3600,signature:"0x00",chainAuthorizations:A,useCustomTransfers:S}),B=await zt.estimateActionFees(D,{signal:F?.signal});return s.current=B,B},[e,m]);return{execute:f,estimate:y,lastFeeEstimate:s.current,hasEmbeddedWallet:t&&n,intentStatus:r,startStatusPolling:a,beginStatusTracking:i,applyStepUpdate:d,clearStatus:l}}const tr=({color:e})=>w("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:[c("circle",{cx:"7",cy:"7",r:"6.5",stroke:e,strokeWidth:"1.2"}),c("path",{d:"M7 6v4",stroke:e,strokeWidth:"1.2",strokeLinecap:"round"}),c("circle",{cx:"7",cy:"4.5",r:"0.7",fill:e})]}),za=({content:e,label:t="More info",textColor:n="#f9fafb",backgroundColor:o="#111827",borderColor:s="rgba(255,255,255,0.08)",accentColor:r="#9ca3af",children:a})=>{const i=jr(),[d,l]=R(!1),p=Z(null),[u,m]=R(!1),[h,f]=R(null);X(()=>{m(!0)},[]),Vr(()=>{if(!d||!p.current)return;const g=()=>{if(!p.current)return;const k=p.current.getBoundingClientRect(),x=Math.min(220,window.innerWidth-48),F=Math.min(Math.max(k.left+k.width/2,24+x/2),window.innerWidth-24-x/2),b=k.top>84;f({top:b?k.top-10:k.bottom+10,left:F,placement:b?"top":"bottom"})};return g(),window.addEventListener("scroll",g,!0),window.addEventListener("resize",g),()=>{window.removeEventListener("scroll",g,!0),window.removeEventListener("resize",g)}},[d]);const y=d&&u&&h?Ws(w("span",{id:i,role:"tooltip",style:{position:"fixed",left:h.left,top:h.top,transform:h.placement==="top"?"translate(-50%, -100%)":"translate(-50%, 0)",width:"220px",maxWidth:"min(220px, calc(100vw - 48px))",padding:"10px 12px",borderRadius:"10px",backgroundColor:o,color:n,border:`1px solid ${s}`,boxShadow:"0 18px 45px rgba(0,0,0,0.28)",fontSize:"11px",lineHeight:"1.45",fontWeight:500,textAlign:"left",zIndex:qn.tooltip,pointerEvents:"none"},children:[e,c("span",{"aria-hidden":"true",style:{position:"absolute",left:"50%",width:"10px",height:"10px",transform:"translateX(-50%) rotate(45deg)",backgroundColor:o,...h.placement==="top"?{bottom:"-6px",borderRight:`1px solid ${s}`,borderBottom:`1px solid ${s}`}:{top:"-6px",borderTop:`1px solid ${s}`,borderLeft:`1px solid ${s}`}}})]}),document.body):null;return w(Gt,{children:[c("span",{ref:p,style:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:c("button",{type:"button","aria-label":t,"aria-describedby":d?i:void 0,onFocus:()=>l(!0),onBlur:()=>l(!1),style:{width:"18px",height:"18px",borderRadius:"999px",display:"inline-flex",alignItems:"center",justifyContent:"center",border:`1px solid ${s}`,backgroundColor:"transparent",color:r,cursor:"help",padding:0,outline:"none",boxShadow:d?`0 0 0 2px ${r}26`:"none",transition:"border-color 120ms ease, box-shadow 120ms ease, color 120ms ease"},children:a||c(tr,{color:r})})}),y]})};function as(e,t){if(e===0n)return"0";const n=10n**BigInt(t),o=e/n,s=(e%n).toString().padStart(t,"0").replace(/0+$/,"");return s?`${o.toString()}.${s}`:o.toString()}function nr(e,t,n){const o=`${as(e,t)} ${n}`;return e===0n?o:`-${o}`}const vd=({fontFamily:e,textPrimary:t,textSecondary:n,cardBg:o,cardBorder:s,resolvedDark:r,darkCardBorder:a,primaryColor:i,feePreview:d,isLoading:l,errorText:p,directExecutionFeeNote:u=!1})=>{const m=r?a??s:"#e5e7eb",h=r?"#111214":"#111827",f=r?"rgba(255,255,255,0.08)":"rgba(17,24,39,0.12)",y="#f87171",g=r?"#d1d5db":"#4b5563",k=r?"#f3f4f6":t,[x,F]=R(!1),b=!!p,C=b?null:d,T=C?[{label:"Total Required",help:"Total amount required to fund this action.",value:`${as(C.grossAmount,C.decimals)} ${C.symbol}`,tone:"default"},{label:"Spicenet Fee",help:"Fees paid to Spicenet for intent processing and execution.",value:nr(C.spicenetFee,C.decimals,C.symbol),tone:"fee"},{label:"Network Fee",help:"Network fee shown in the same token you are using for this action.",value:nr(C.gasFee,C.decimals,C.symbol),tone:"fee"},...C.bridgeFee&&C.bridgeFee>0n?[{label:"Bridge Fee",help:"Estimated cost to rebalance liquidity for this action.",value:nr(C.bridgeFee,C.decimals,C.symbol),tone:"fee"}]:[],{label:"Used in TX",help:"Resulting amount of funds used in the transaction.",value:`${as(C.netAmount,C.decimals)} ${C.symbol}`,tone:"default"}]:[],v=C?`${as(C.grossAmount,C.decimals)} ${C.symbol}`:null;return b?c("div",{style:{backgroundColor:o,border:`1px solid ${s}`,borderRadius:r?"8px":"7px",padding:"14px 16px 12px 16px",marginBottom:"16px",boxShadow:r?"inset 0 1px 0 rgba(255,255,255,0.03)":"none"},children:w("div",{style:{display:"flex",flexDirection:"column",gap:"10px"},children:[c("span",{style:{fontSize:"17px",fontWeight:500,color:g,fontFamily:e,lineHeight:"24px"},children:"Fee"}),c("div",{style:{color:y,fontSize:"12px",lineHeight:"1.55",fontFamily:e},children:p})]})}):w("div",{style:{backgroundColor:o,border:`1px solid ${s}`,borderRadius:r?"8px":"7px",padding:"14px 16px 12px 16px",marginBottom:"16px",boxShadow:r?"inset 0 1px 0 rgba(255,255,255,0.03)":"none"},children:[w("button",{type:"button",onClick:()=>F(E=>!E),style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",gap:"12px",marginBottom:x?"14px":0,background:"none",border:"none",padding:0,cursor:"pointer",textAlign:"left"},children:[w("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[c("span",{style:{fontSize:"17px",fontWeight:500,color:g,fontFamily:e,lineHeight:"24px"},children:"Fee"}),x&&c("span",{style:{fontSize:"12px",color:n,fontFamily:e,lineHeight:"1.45"},children:"What is funded, spent, and taken as fees"})]}),w("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0},children:[v&&w("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"2px",minWidth:0},children:[c("span",{style:{fontSize:"10px",fontWeight:700,color:n,fontFamily:e,letterSpacing:"0.08em",textTransform:"uppercase"},children:"Total required"}),c("span",{style:{fontSize:"14px",fontWeight:700,color:k,fontFamily:e,whiteSpace:"nowrap"},children:v})]}),l&&!u&&c("span",{style:{fontSize:"11px",fontWeight:600,color:i,fontFamily:e,padding:"6px 9px",borderRadius:"999px",backgroundColor:r?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.035)",border:`1px solid ${r?m:"rgba(0,0,0,0.06)"}`,whiteSpace:"nowrap"},children:"Recalculating"}),c(Yn,{color:n,direction:x?"up":"down",style:{flexShrink:0}})]})]}),c("div",{style:{overflow:"hidden",maxHeight:x?"480px":"0px",opacity:x?1:0,transition:"max-height 0.24s ease, opacity 0.18s ease"},children:u?c("p",{style:{margin:0,color:n,fontSize:"12px",lineHeight:"1.55",fontFamily:e},children:"This path executes directly from the external wallet. Network gas is paid in-wallet, so Spicenet cannot pre-estimate that gas or charge a Spicenet fee here."}):T.length>0?w(Gt,{children:[c("div",{style:{display:"grid",gap:"10px"},children:T.map((E,A)=>w("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto",alignItems:"center",gap:"12px",paddingTop:A===0?0:"10px",borderTop:A===0?"none":`1px solid ${m}`,opacity:l?.74:1,transition:"opacity 120ms ease"},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"8px",minWidth:0},children:[c("span",{style:{fontSize:"12px",color:n,fontFamily:e,fontWeight:500},children:E.label}),c(za,{content:E.help,label:`${E.label} info`,textColor:"#f9fafb",backgroundColor:h,borderColor:f,accentColor:r?"#8f96a3":"#6b7280"})]}),c("span",{style:{fontSize:"12px",color:E.tone==="fee"?y:k,fontFamily:Ae.mono,textAlign:"right",fontWeight:E.label==="Used in TX"?600:500,letterSpacing:"-0.01em"},children:E.value})]},E.label))}),c("div",{style:{marginTop:"12px",paddingTop:"12px",borderTop:`1px solid ${m}`,fontSize:"11px",color:n,fontFamily:e,lineHeight:"1.45"},children:C?.gasQuoteSource==="estimated"?"Gas quote uses a live estimate.":C?.gasQuoteSource==="configured_fallback"?"Gas quote uses a configured fallback.":"Gas quote is currently zero."})]}):c("div",{style:{fontSize:"12px",color:p?y:n,fontFamily:e,opacity:p?1:.8,lineHeight:"1.5"},children:p||"Waiting for fee estimate..."})})]})},or=tn(vd);function Id(e,t){switch(e){case"success":return{bg:t.successBg,border:t.successBorder,text:t.successText};case"warning":return{bg:t.warningBg,border:t.warningBorder,text:t.warningText};case"error":return{bg:t.errorBg,border:t.errorBorder,text:t.errorText};case"info":return{bg:t.infoBg,border:t.infoBorder,text:t.infoText}}}const Bn=({variant:e,palette:t,children:n,icon:o,style:s,fontFamily:r,size:a="default"})=>{const i=Id(e,t),d=a==="compact";return w("div",{role:e==="error"?"alert":"status",style:{backgroundColor:i.bg,border:`1px solid ${i.border}`,borderRadius:d?"7px":"8px",padding:d?"8px 10px":"12px 16px",color:i.text,fontSize:d?"12px":"13px",lineHeight:d?1.4:1.5,display:"flex",alignItems:"flex-start",gap:d?"6px":"8px",fontFamily:r,...s},children:[o&&c("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:o}),c("span",{style:{minWidth:0,overflowWrap:"anywhere"},children:n})]})},Ha=Ae.mono,io=({label:e,value:t,palette:n,valueColor:o,labelColor:s,style:r})=>w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"12px",...r},children:[c("span",{style:{fontSize:"12px",color:s??n.textSecondary,fontFamily:Ha,fontWeight:500,letterSpacing:"0.03em",flexShrink:0,whiteSpace:"nowrap"},children:e}),c("span",{style:{fontSize:"13px",color:o??n.textPrimary,fontWeight:500,fontFamily:Ha,minWidth:0,textAlign:"right",overflowWrap:"anywhere"},children:t})]}),sr=({onClick:e,label:t="Add Funds",color:n,fontFamily:o,style:s})=>{const[r,a]=R(!1);return w("button",{type:"button",onClick:e,"data-spiceflow-focus":!0,onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),style:{background:"none",border:"none",cursor:"pointer",padding:0,display:"inline-flex",alignItems:"center",gap:"4px",color:n,fontSize:"12px",fontWeight:500,fontFamily:o,textDecoration:"underline",textUnderlineOffset:"2px",whiteSpace:"nowrap",opacity:r?.75:1,transition:"opacity 150ms ease",...s},children:[t,w("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[c("circle",{cx:"6",cy:"6",r:"5"}),c("path",{d:"M6 4v4M4 6h4",strokeLinecap:"round"})]})]})},Ad="This deposit didn't confirm in time. It may still have gone through, so check the explorer and refresh your balance before retrying.";function Sd(e){return e?.overallStatus!=="failed"?{isFailed:!1,failureMessage:null}:{isFailed:!0,failureMessage:e.steps?.find(t=>t.status==="failed"&&!!t.error)?.error||Ad}}const is=w("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",style:{flexShrink:0},children:[c("circle",{cx:"10",cy:"10",r:"10",fill:"#10b981"}),c("path",{d:"M6 10l3 3 5-6",stroke:"#ffffff",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),Ed=({isOpen:e,onClose:t,onConfirm:n,data:o,isExecuting:s=!1,error:r=null,theme:a,styles:i,intentStatus:d,postDepositStatus:l="idle",hasPostDepositInstruction:p=!1})=>{const{dark:u,dk:m,theme:h}=At(i),[f,y]=R(!1),[g,k]=R(!0);X(()=>{e||y(!1)},[e]);const x=()=>{y(!0),setTimeout(()=>{t()},300)},F=()=>{k(!g)};if(!e||!o)return null;const b=d?.overallStatus==="processing",C=d?.overallStatus==="success",T=!!d,{isFailed:v,failureMessage:E}=Sd(d),A=!T&&p,S=A&&l==="executing",I=A&&l==="success",D=C&&p&&(l==="idle"||l==="executing")||S,B=C&&(!p||l==="success"||l==="error")||I||A&&l==="error",H=u?m.cardBg:"#ffffff",W=u?"0 -4px 20px rgba(0, 0, 0, 0.4)":"0 -4px 20px rgba(0, 0, 0, 0.15)",P=m.textSecondary,_=u?m.textPrimary:"#1f2937",U=u?m.textPrimary:"#1f2937",N=K=>c("div",{style:{marginBottom:a.spacing.md,padding:a.spacing.md,backgroundColor:i?.errorMessage?.backgroundColor||(a.mode==="light"?"#fef2f2":`${a.colors.error}20`),border:`1px solid ${i?.errorMessage?.borderColor||(a.mode==="light"?"#fecaca":a.colors.error)}`,borderRadius:i?.errorMessage?.borderRadius||a.borderRadius.md},children:c("p",{style:{color:i?.errorMessage?.color||a.colors.error,fontSize:i?.errorMessage?.fontSize||a.typography.fontSize.sm,margin:0,fontFamily:i?.errorMessage?.fontFamily||i?.fontFamily||a.typography.fontFamily},children:K})}),O={fontSize:a.typography.fontSize.sm,fontWeight:500,color:P,fontFamily:Ae.mono,letterSpacing:"0.5px"},j=(K,L,q=_)=>w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:O,children:K}),c("span",{style:{fontSize:a.typography.fontSize.sm,fontWeight:500,color:q,fontFamily:Ae.mono},children:L})]});return w("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:10,animation:f?"slideDown 0.3s ease-in":"slideUp 0.3s ease-out",pointerEvents:"auto"},children:[w("div",{style:{backgroundColor:H,borderRadius:"0",width:"100%",maxWidth:"522px",margin:"0 auto",padding:"18px 24px",boxShadow:W},children:[!C&&!I&&w(Gt,{children:[w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:a.spacing.md},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"8px",cursor:"pointer"},onClick:F,children:[c("span",{style:{fontSize:"13px",fontWeight:a.typography.fontWeight.medium,color:P,fontFamily:i?.fontFamily||a.typography.fontFamily},children:"Transaction Details"}),c(Yn,{color:P,direction:g?"up":"down"})]}),c("button",{onClick:K=>{K.stopPropagation(),t()},style:{background:"none",border:"none",cursor:"pointer",padding:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:P,transition:"color 0.2s ease"},onMouseEnter:K=>{K.currentTarget.style.color=U},onMouseLeave:K=>{K.currentTarget.style.color=P},children:c(Io,{size:16})})]}),w("div",{style:{marginBottom:a.spacing.lg,display:"flex",flexDirection:"column",gap:a.spacing.md,overflow:"hidden",maxHeight:g?"200px":"0px",opacity:g?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease"},children:[j("NETWORK",o.network),j("DEPOSITED AMOUNT",o.amount,a.colors.success),o.creditedAmount&&j("CREDITED AMOUNT",o.creditedAmount),o.spicenetFee&&j("SPICENET FEE",o.spicenetFee),o.networkFee&&j("EST. NETWORK FEE",o.networkFee)]})]}),r&&!T&&N(r),v&&E&&N(E),c(Wt,{onClick:B||v?x:n,variant:"outline",fullWidth:!0,disabled:s||b||D||S,styles:i,theme:h,children:s||b||S||D?"PROCESSING...":B?"CONTINUE \u2192":v?"CLOSE":"CONFIRM DEPOSIT"}),B&&c("p",{style:{marginTop:a.spacing.md,marginBottom:0,fontSize:"14px",color:P,textAlign:"center",fontFamily:i?.fontFamily||a.typography.fontFamily},children:"Your funds are now available in your Account"}),c("div",{style:{marginTop:a.spacing.md,display:"flex",justifyContent:"center",alignItems:"center"},children:c("img",{src:Qs,alt:"Powered by SpiceNet",style:{height:"auto",width:"130px",opacity:1,filter:u?"brightness(0) invert(1) opacity(0.7)":"none"}})})]}),c("style",{children:`
2
+ import{jsx as c,jsxs as b,Fragment as $t}from"react/jsx-runtime";import kn,{useState as R,useRef as X,useEffect as G,useCallback as ne,memo as tn,useId as Xr,useContext as Yt,useMemo as J,useLayoutEffect as Gr}from"react";import{u as It,r as To,f as Ee,g as ft,a as Qs,b as Ue,c as Jt,t as rn,z as qn,d as _n,p as fs,e as hs,h as Do,i as es,S as zt,j as Ro,k as Fe,l as ts,m as Sn,n as qs,B as Ot,s as fn,o as Jr,q as zl,C as Ks,v as je,w as Ht,x as $r,y as En,A as Hl,D as Ys,E as _r,F as Wo,G as Zs,H as ns,I as gs,P as jl,J as Vl,R as Ql,K as ql,L as Kl,M as Yl}from"./privy-Sgm0uuL6.js";import{N as Mm,T as Nm,U as Om,V as Um,Q as Pm,O as Lm}from"./privy-Sgm0uuL6.js";import{useAccount as Mo,useConnect as Zl,useDisconnect as Xl,useSwitchChain as ea,useReconnect as Gl,useWalletClient as Jl}from"wagmi";import{isNativeToken as pe,ZERO_ADDRESS as Zt,getChainMeta as ta,getMainnetChains as $l,getTestnetChains as _l,TOKENS as na,getChainIdsByNetwork as Xs,getTokenByAddress as ht,areEquivalent as ec,getTokensForChain as tc,getEscrowContractAddress as Fn,convertAmountBetweenDecimals as ys,isSpicenetChainId as ss,hashChainBatches as On,getAccountNonce as nc,SPICE_GAS_FEE_RECIPIENT as an,SPICE_PLATFORM_FEE_RECIPIENT as Kn,getEscrowContract as sc,normalizeNativeTokenAddress as Xe,getEquivalenceGroup as oc,getTokenBySymbol as sa,spicenetAbi as oa,getEquivalentAddresses as rc,uniV3QuoterV2Abi as ac,uniV3SwapRouterAbi as ic,NATIVE_TOKEN_ADDRESS as ra,applySlippage as aa,SPICENET_NATIVE_CHAIN_ID as lc,SPICE_SOLVER_ADDRESS as cc}from"@spicenet-io/spiceflow-core";import{ZERO_ADDRESS as Hm,SPICENET_NATIVE_CHAIN_ID as jm,SPICE_COMBINED_FEE_RECIPIENT as Vm,SPICE_GAS_FEE_RECIPIENT as Qm,SPICE_PLATFORM_FEE_RECIPIENT as qm,SPICE_SOLVER_ADDRESS as Km,applySlippage as Ym,buildUniV3SwapCalls as Zm,getChainIdsByNetwork as Xm,getEscrowContractAddress as Gm,isNativeToken as Jm,isSpicenetChainId as $m,normalizeNativeTokenAddress as _m,spicenetAbi as ef,spicenetAbi as tf}from"@spicenet-io/spiceflow-core";import{getAddress as kt,isAddress as en,erc20Abi as Le,formatUnits as Ge,decodeFunctionData as Gs,keccak256 as ia,encodeAbiParameters as Un,encodeFunctionData as ct,createWalletClient as No,custom as Oo,parseUnits as $e,parseAbi as vn,encodePacked as Js}from"viem";import{getBalance as Uo,readContract as Pn}from"viem/actions";import{useConnectWallet as la}from"@privy-io/react-auth";import ca,{createPortal as Po}from"react-dom";import"@tanstack/react-query";const dc="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@100;200;300;400;500;600;700&display=swap",uc="spiceflow-ibm-plex-mono",pc="spiceflow-preconnect-googleapis",mc="spiceflow-preconnect-gstatic";function Lo(e,t){if(document.getElementById(e))return;const n=t();n.id=e,document.head.appendChild(n)}function fc(){typeof document>"u"||(Lo(pc,()=>{const e=document.createElement("link");return e.rel="preconnect",e.href="https://fonts.googleapis.com",e}),Lo(mc,()=>{const e=document.createElement("link");return e.rel="preconnect",e.href="https://fonts.gstatic.com",e.crossOrigin="",e}),Lo(uc,()=>{const e=document.createElement("link");return e.rel="stylesheet",e.href=dc,e}))}const xs=(e,t,n,s)=>({width:e,height:e,fill:"none",className:t,"aria-hidden":n??!0,style:s}),Yn=({size:e=16,color:t="currentColor",strokeWidth:n=2,direction:s="down",className:o,style:r,"aria-hidden":a})=>c("svg",{...xs(e,o,a,{transform:s==="up"?"rotate(180deg)":void 0,transition:"transform 0.3s ease",...r}),viewBox:"0 0 16 16",children:c("path",{d:"M4 6L8 10L12 6",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})}),hc=({size:e=24,color:t="currentColor",strokeWidth:n=2,className:s,style:o,"aria-hidden":r})=>b("svg",{...xs(e,s,r,o),viewBox:"0 0 24 24",children:[c("circle",{cx:"11",cy:"11",r:"8",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"}),c("path",{d:"m21 21-4.3-4.3",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})]}),gc=({size:e=24,color:t="currentColor",strokeWidth:n=2,className:s,style:o,"aria-hidden":r})=>c("svg",{...xs(e,s,r,o),viewBox:"0 0 24 24",children:c("path",{d:"m6 9 6 6 6-6",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})}),yc=({size:e=24,color:t="currentColor",strokeWidth:n=2,className:s,style:o,"aria-hidden":r})=>c("svg",{...xs(e,s,r,o),viewBox:"0 0 24 24",children:c("path",{d:"m9 18 6-6-6-6",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})}),da=({size:e=14,color:t="currentColor",strokeWidth:n=2,className:s,style:o,"aria-hidden":r})=>c("svg",{...xs(e,s,r,o),viewBox:"0 0 16 16",children:c("path",{d:"M3 8L6.5 11.5L13 5",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})}),zo=({value:e,onChange:t,ariaLabel:n,placeholder:s,endAdornment:o,size:r="lg",dark:a,styles:i,inputRef:d,autoFocus:l})=>{const{dark:u,dk:p}=It(i,a),m=a??u,h=r==="lg",f=h?"15px":"14px",y=h?"7px":"10px",g=h?To.input:To.sm,w=i?.fontFamily||Ee.ui,x=m?p.inputBg:"#FAFAFA",B=m?p.inputBorder:"#e5e7eb",k=m?p.textPrimary:"#374151",C=m?p.textSecondary:"#9ca3af";return b("div",{style:{display:"flex",alignItems:"center",gap:"8px",backgroundColor:x,borderRadius:g,boxShadow:m?"0 2px 4px rgba(0, 0, 0, 0.3)":"0 2px 4px rgba(0, 0, 0, 0.1)",padding:`${y} 5px`,border:`1px solid ${B}`},children:[c(hc,{style:{color:C},size:24}),c("input",{ref:d,type:"text",role:"searchbox","aria-label":n,autoComplete:"off",spellCheck:!1,autoFocus:l,"data-spiceflow-focus":!0,placeholder:s,value:e,onChange:T=>t(T.target.value),style:{flex:1,backgroundColor:x,outline:"none",border:"none",color:k,fontSize:f,fontWeight:400,fontFamily:w}}),o]})},Ho=6e4,xc=3e5,ua="https://api.g.alchemy.com/prices/v1",os=new Map;function jo(e,t){try{const n=t??ft(e).transport.url;if(typeof n!="string")return null;const{hostname:s,pathname:o}=new URL(n);if(!s.endsWith(".g.alchemy.com"))return null;const r=o.split("/").filter(Boolean).pop();return r?{network:s.slice(0,-14),key:r}:null}catch{return null}}const bs=(e,t)=>`${e.network}:${e.key}:${t.toLowerCase()}`;function ws(e,t){const n=os.get(bs(e,t));if(!n?.price||n.updatedAt===void 0)return;const s=Date.now()-n.updatedAt;if(!(s>=xc))return{price:n.price,stale:s>=Ho}}function pa(e){const t=Number(e.prices?.find(n=>n.currency==="usd")?.value);return Number.isFinite(t)&&t>0?t:0}async function ma(e,t,n){const s=[],o=new Set,r=Date.now();for(const a of new Set(t.map(i=>i.toLowerCase()))){const i=os.get(bs(e,a));i?.pending?o.add(i.pending):(!i||r-i.attemptedAt>=Ho&&(i.updatedAt===void 0||r-i.updatedAt>=Ho))&&s.push(a)}for(let a=0;a<s.length;a+=25){const i=s.slice(a,a+25),d=Promise.resolve().then(async()=>{try{const l=await n(i);for(const u of i){const p=l.get(u);if(!p)continue;const m=os.get(bs(e,u));m.price=p,m.updatedAt=Date.now()}}catch{}finally{for(const l of i)os.get(bs(e,l)).pending=void 0}});for(const l of i){const u=bs(e,l);os.set(u,{...os.get(u),attemptedAt:r,pending:d})}o.add(d)}await Promise.all(o)}async function Vo(e,t){return await ma(e,t,async n=>{const s=await fetch(`${ua}/${e.key}/tokens/by-address`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({addresses:n.map(a=>({network:e.network,address:a}))}),signal:AbortSignal.timeout(1e4)});if(!s.ok)throw new Error("Provider price request failed");const o=await s.json(),r=new Map;for(const a of o?.data??[]){if(a.network&&a.network!==e.network)continue;const i=String(a.address).toLowerCase();n.includes(i)&&r.set(i,pa(a))}return r}),new Map(t.map(n=>[n.toLowerCase(),ws(e,n)?.price??0]))}async function Qo(e,t){const n=`native:${t}`;return await ma(e,[n],async()=>{const s=await fetch(`${ua}/${e.key}/tokens/by-symbol?symbols=${encodeURIComponent(t)}`,{signal:AbortSignal.timeout(1e4)});if(!s.ok)throw new Error("Provider native price request failed");const o=(await s.json())?.data?.find(r=>r.symbol?.toUpperCase()===t.toUpperCase());return new Map([[n.toLowerCase(),o?pa(o):0]])}),ws(e,n)?.price??0}const fa=async(e,t)=>{try{const n=Qs(),s=ft(t),o=await Uo(s,{address:e}),r=n[t],a=parseFloat((Number(o)/Math.pow(10,18)).toFixed(6)),i=Ue(t),d=i?.supportedTokens?.find(l=>pe(l.address));return{address:Zt,name:r.chain.nativeCurrency.name,symbol:r.chain.nativeCurrency.symbol,decimals:r.chain.nativeCurrency.decimals,balance:o,balanceFormatted:a,balanceUsd:0,logoURI:d?.logo||i?.logo,isNative:!0,chainId:t}}catch{const n=Qs(),s=Ue(t),o=s?.supportedTokens?.find(r=>pe(r.address));return{address:Zt,name:n[t].chain.nativeCurrency.name,symbol:n[t].chain.nativeCurrency.symbol,decimals:18,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:o?.logo||s?.logo,isNative:!0,chainId:t}}},bc=async(e,t,n,s,o,r)=>{try{if(!en(n))return null;const a=kt(n),i=en(e)?kt(e):e,d=ft(t),l=await Pn(d,{address:a,abi:Le,functionName:"balanceOf",args:[i]}),u=parseFloat((Number(l)/Math.pow(10,r)).toFixed(6));return u>0?{address:a,name:s,symbol:o,decimals:r,balance:l,balanceFormatted:u,balanceUsd:0,logoURI:void 0,isNative:!1,chainId:t}:null}catch(a){const i=typeof a?.message=="string"?a.message:String(a?.message??"");return i.includes("checksum")||i.includes("Address")||i.includes("invalid"),null}},ha=(e,t)=>{const n=Ue(t);if(!n)return e;const s=new Set(e.map(r=>r.address.toLowerCase())),o=e.some(r=>r.isNative);for(const r of n.supportedTokens||[])pe(r.address)&&o||s.has(r.address.toLowerCase())||e.push({address:r.address,name:r.name,symbol:r.symbol,decimals:r.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:r.logo,isNative:pe(r.address),chainId:t});if(!e.find(r=>r.isNative)){const r=n.supportedTokens?.find(a=>pe(a.address));e.push({address:Zt,name:n.nativeCurrency.name,symbol:n.nativeCurrency.symbol,decimals:n.nativeCurrency.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:r?.logo||n.logo,isNative:!0,chainId:t})}return e},wc=async(e,t)=>{const n=[],s=async a=>{for(const i of a){const d=await bc(e,t,i.address,i.name,i.symbol,i.decimals);d&&(d.logoURI=i.logo,n.push(d))}},o=await fa(e,t);o.balanceFormatted>0&&n.push(o);const r=(Ue(t)?.supportedTokens||[]).filter(a=>!pe(a.address));if(r.length>0)try{const a=ft(t),i=kt(e),d=r.filter(m=>en(m.address)).map(m=>({address:kt(m.address),abi:Le,functionName:"balanceOf",args:[i]})),l=await a.multicall({contracts:d}),u=r.filter(m=>en(m.address)),p=[];l.forEach((m,h)=>{if(m.status==="success"){const f=m.result;if(f&&f>0n){const y=u[h],g=parseFloat((Number(f)/Math.pow(10,y.decimals)).toFixed(6));g>0&&n.push({address:kt(y.address),name:y.name,symbol:y.symbol,decimals:y.decimals,balance:f,balanceFormatted:g,balanceUsd:0,logoURI:y.logo,isNative:!1,chainId:t})}}else p.push(u[h])}),await s(p)}catch{await s(r)}return{tokens:ha(n,t),chainId:t}},Cc=.01,kc=async(e,t)=>{const n=new Map,s=jo(e);if(!s)return n;const o=t.filter(d=>pe(d)),r=t.filter(d=>!pe(d)),[a,i]=await Promise.all([r.length?Vo(s,r).catch(()=>new Map):new Map,o.length?Qo(s,Ue(e)?.nativeCurrency?.symbol??"ETH").catch(()=>0):0]);for(const[d,l]of a)l>0&&n.set(d,l);if(i>0)for(const d of o)n.set(d.toLowerCase(),i);return n},vc=async(e,t,n,s=!0)=>{const o=ft(t),r=kt(e),a=[];let i;do{const g=await o.request({method:"alchemy_getTokenBalances",params:[r,"erc20",i?{pageKey:i}:{}]});a.push(...g.tokenBalances),i=g.pageKey||void 0}while(i);const d=a.filter(g=>en(g.contractAddress)&&!!g.tokenBalance&&BigInt(g.tokenBalance)>0n),l=Ue(t)?.supportedTokens||[],u=g=>l.find(w=>w.address.toLowerCase()===g.toLowerCase()),p=[],m=await fa(e,t),[h,f,y]=await Promise.all([Promise.all(d.map(async g=>{const w=u(g.contractAddress);return w?{name:w.name,symbol:w.symbol,decimals:w.decimals,logo:w.logo??null}:await o.request({method:"alchemy_getTokenMetadata",params:[g.contractAddress]})})),s?Vo(n,d.map(g=>g.contractAddress)):new Map(d.map(g=>[g.contractAddress.toLowerCase(),ws(n,g.contractAddress)?.price??0])),s&&m.balanceFormatted>0?Qo(n,m.symbol):ws(n,`native:${m.symbol}`)?.price??0]);return m.balanceFormatted>0&&p.push({...m,balanceUsd:y*m.balanceFormatted}),d.forEach((g,w)=>{const x=h[w];if(x.decimals===null)return;const B=BigInt(g.tokenBalance),k=parseFloat((Number(B)/Math.pow(10,x.decimals)).toFixed(6));if(k<=0)return;const C=f.get(g.contractAddress.toLowerCase()),T=C?C*k:0;!u(g.contractAddress)&&(!C||T<Cc)||p.push({address:kt(g.contractAddress),name:x.name||"Unknown",symbol:x.symbol||"UNKNOWN",decimals:x.decimals,balance:B,balanceFormatted:k,balanceUsd:T,logoURI:x.logo||void 0,isNative:!1,chainId:t})}),{tokens:ha(p,t),chainId:t}},ga=new Set,ya=async(e,t,n=!0)=>{try{const s=jo(t);if(s)try{return await vc(e,t,s,n&&(typeof document>"u"||!document.hidden))}catch(o){ga.has(t)||(ga.add(t),console.warn(`Token discovery unavailable on chain ${t}; listing configured tokens only.`,o))}return await wc(e,t)}catch{return{tokens:[],chainId:t}}},rs=async(e,t)=>{if(!e)throw new Error("Wallet address is required");const n=Qs(),s=t&&t.length>0?new Set(t):null,o=Object.keys(n).map(Number).filter(i=>!s||s.has(i)),r=await Promise.allSettled(o.map(i=>ya(e,i))),a={};return r.forEach((i,d)=>{i.status==="fulfilled"&&(a[o[d]]=i.value)}),a},as=({address:e,supportedChains:t,fetchBalances:n,enabled:s=!0,refreshInterval:o=0,priceEnabled:r=!0})=>{const[a,i]=R([]),[d,l]=R(!1),[u,p]=R(null),m=X(!0),h=X(e),f=X(t),y=X(n),g=X(r);g.current=r,G(()=>{h.current=e,f.current=t,y.current=n},[e,t,n]);const w=ne(async()=>{const k=h.current,C=f.current;if(!k){i([]);return}m.current&&l(!0),p(null);try{const T=Qs(),A=Object.keys(T).map(Number).filter(S=>C.includes(S)),v=(await Promise.allSettled(A.map(async S=>{try{const F=await ya(k,S,g.current);return F.tokens.map(I=>({...I,chainId:F.chainId}))}catch(F){return console.error(`Error fetching assets for chain ${S}:`,F),[]}}))).filter(S=>S.status==="fulfilled").flatMap(S=>S.value);i(v)}catch(T){const A=T instanceof Error?T.message:"Failed to fetch assets";p(A)}finally{m.current&&(l(!1),m.current=!1)}},[]),x=ne(k=>a.filter(C=>C.chainId===k),[a]),B=ne(()=>a.filter(k=>k.isNative),[a]);return G(()=>{if(!s){m.current=!0,i([]),l(!1),p(null);return}e?(m.current=!0,w()):i([])},[e,s,w]),G(()=>{if(!s||!e||!o)return;const k=setInterval(()=>{w()},o);return()=>clearInterval(k)},[e,s,o]),G(()=>{r&&s&&e&&!m.current&&w()},[r]),{assets:a,loading:d,error:u,refreshAssets:w,getAssetsByChain:x,getNativeAssets:B}};function Ic(e,t=40,n=18){const s=e.length,o=[{maxLength:7,shrink:0},{maxLength:10,shrink:6},{maxLength:13,shrink:12},{maxLength:16,shrink:16},{maxLength:20,shrink:19}].find(r=>s<=r.maxLength);return Math.max(n,t-(o?.shrink??22))}const Zn=({value:e,element:t="span",placeholder:n,ariaLabel:s,ariaInvalid:o,disabled:r,onChange:a,inputMode:i="decimal",autoComplete:d="off",dataSpiceflowFocus:l,fontFamily:u,fontWeight:p=700,color:m,textAlign:h,lineHeight:f=1,maxFontSize:y=40,minFontSize:g=18,overflow:w="ellipsis",title:x,style:B})=>{const k=Ic(e||n||"",y,g),C=w==="wrap"?{overflowWrap:"anywhere",wordBreak:"break-word",whiteSpace:"normal"}:w==="ellipsis"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{},T={fontFamily:u,fontSize:`${k}px`,fontWeight:p,color:m,lineHeight:f,letterSpacing:0,textAlign:h,minWidth:0,maxWidth:"100%",...C,...B};return t==="input"?c("input",{type:"text",inputMode:i,autoComplete:d,"aria-label":s,"aria-invalid":o||void 0,"data-spiceflow-focus":l||void 0,value:e,onChange:a,placeholder:n,disabled:r,title:x,style:{backgroundColor:"transparent",border:"none",outline:"none",padding:0,width:"100%",...T}}):c(t,{title:x,style:T,children:e})},qo=({pct:e,isMax:t,primaryColor:n,dark:s,fillColor:o})=>{const r=e/100;return b("svg",{width:"14",height:"14",viewBox:"0 0 14 14",children:[c("circle",{cx:"7",cy:"7",r:"6.84375",fill:t?n:"none",stroke:t?n:s?"#4a5568":"#3C3E42",strokeWidth:"0.3125"}),!t&&r>0&&c("path",{d:`M 7 7 L 7 0.15625 A 6.84375 6.84375 0 ${r>.5?1:0} 1 ${7+6.84375*Math.sin(r*2*Math.PI)} ${7-6.84375*Math.cos(r*2*Math.PI)} Z`,fill:o})]})};var xa="data:image/png;base64,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",Ac="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAQlBMVEVMaXGGl/+Elf+HmP+Hmf+Hl/+Gl/+Flv+Glv+Gl/+Gl/+Gl/////+On/+Akv/4+f/v8f/i5v+9x//S2P+tuP+erP+W3PvUAAAAC3RSTlMArBlx7Isy/vvOXbb4wDYAAAAJcEhZcwAACxMAAAsTAQCanBgAAALuSURBVHjarVfbtqsgDOxu0UBpkOv//+pJRC0i2HZ58uTeqzOEyYXkduvY/Tn8KSEBpFB/w3O8/WTjoCSS6dn4S6rha477QxFGS0nHM56ckJL/ox73b+CDQAQJujKiQxTDR4qH4LN109gP8Ti/uyI46K4BUagTLZ4Cz+CZAsWzhx/oeP3RyImhjf/7ePzmxF8Hr7+zNsP3eL7GkWH4Bc8MlQ7P3/DMsIvFKHRLPzBsTWVBizIfVNMBg9H7mLQxTRdUkb9tfJxebNZjywuJW1bf2xcw4WXtzDF5bVqXuJ9HwETHNnPYeHRii0THgcwQyBxTBDQ9Fx7dEBr0TOCDYyeS6aigsFsCQIFgBh9YiVgxQA7EqM9KiCiS95nh5WsGPZ4k8ZZFRqfoY4shy9i8AaExxRgTMgcApuSODPMdRtn02wc7Z9HkPMsPa1ZVOsiRygga4udfZ5vTKKx/7GIBVFJHCUy0r705DNu3LQ9kEQ6NxMTXwWzhUTD7xlJr2MLvrZCBVazy2OD0iaC4BGh1k4cSLOSbbIuujKW4wT76aYefrGswuBJSEoBeUnaFk7nQcKEIJZRXMPsfM95O3p3KKAoRa/cJTh0pHKMybSqyiO8wMsG0wzODi7UK9u0Ah7FIJAj1+UyQcl4Gqi2uax+L/siJVKQyi+j251sbMoHTZrUqlctiojDGRX27WpivYNtdi4upKme0c/gXBmdzY7ZoOi/cWDeU7MJy+oKn3hzbT9/cFKt6pmKe9udnCoTeG103VW7EjrGZJMOD863GNzfVQ0EDP6aJUH61wBRHGZa23npYDDpuh8EnpPBRS6UUQOg9r8enzaDdmhmsPkH/da3bokkr/i0dwMmYU7lg0pRrwiVzNrW+n/dKhVzVVIbGnE9Jj86IA8glk87h+xGnGrJyzXwYNvdD1uUx7/qgeX3UvT5sXx/3ry8c11ee60vX9bXvvXjWfsC3i+d79YV19+WPH1bf/7B8Lxy8/isBINTp+v8Ph4CTcAywkiYAAAAASUVORK5CYII=",Sc="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAPFBMVEVMaXGZhueZh+eYhuWXheWYh+eYhuaXheCYhuaah+j//fmhjvOSf+Sdi+q8sOzNxO/m4fT08fapmuja0/Jb/wGxAAAACnRSTlMArEz/IYtsA87sGIEBYwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAmJJREFUeNqtV4uSgyAMRIECGhTk///1otTKG3s2Mzdz03aXbEJIQkhuYv9jIx+komhKDnxk4v1F1wT+SoxcUj3PWu8Ex39U8lH4bzt4QthL6tlDA8OP5Iv1vMADGFc5+uRQnDWdEES81EwbNquXqDuBx8va6ZcXktUYBOkc/3GixsBvwA8neFGGGO7hdyeGAsMXeM/wBJ8ziLv6LwYeisD4f4lHhiAXmH9FvzYV3AchOw6At9gFKW4KANDbsttGoSyCKd1Ab4uxkzezhBQaRfQygHB3oj2FhjwT9QgifErM6jiOrQgAXe2UmcuiIKSuHG+mki2XCH0kYqzgF1vETyYszLFaxLBMNdsgDGNFAazRoUcwrDMlDYz28RS0newGcCRlDa8TK4YgxuORGj9x8NYVEsxjKQSp/pNAw5YRcJI/JP5nYeqxjAxeIfCeRQQDyWOos/y5xR2V4NIgYhRJVkjgpralBPcvQH4PsBxIX0DjJqKRdgYLtsYPUyqh60CsACXEQew7ECvAICZp7DqwQEIQXaR+CkzaoeKr3FewQdqg4mIy36VgLyZWz4G96N5vs8sKj0UPSlJGy4fAbWX88SgGQYgJVjDXi7JaaxYo9Oj4UQ0lrHCGdN25ceiEfNoZSfIomjhcKN26DarT0q4gaiyfe2C9u9hWNUBvRghbG+yd1AZNFFrjmu+ucXMF2j60OObE7f0m+mrv/5qQkimpO+IU8fKXQ9bDMe/5oPl81P3BsP183EeGu3GoLBw/WHnuLF20sXQ9X/ueL57PV99w+Z7P5Vvj8j3fXr7j9X/f/5Vsrv9/K3NM7mGXOq0AAAAASUVORK5CYII=",Ko="data:image/svg+xml,%3csvg width='8' height='11' viewBox='57 6 8 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3cpath d='M62.7081 13.27C62.742 13.27 62.7642 13.3057 62.7491 13.3362V13.336L61.1229 16.6083C61.0892 16.6761 60.9926 16.6759 60.959 16.6083L59.3382 13.336C59.3232 13.3057 59.3453 13.27 59.3792 13.27H62.7081Z' fill='%23EA4B4B'/%3e %3cpath d='M61.0026 9.71913C61.0194 9.68524 61.0678 9.68524 61.0845 9.71913L62.747 13.0897C62.762 13.12 62.7399 13.1557 62.706 13.1557H59.3763C59.3424 13.1557 59.3203 13.12 59.3353 13.0897L61.0026 9.71913Z' fill='%23EA4B4B'/%3e %3cpath d='M60.8426 9.63827C60.8766 9.63827 60.8987 9.6741 60.8835 9.70444L59.2164 13.0594C59.1995 13.0932 59.1513 13.0932 59.1345 13.0594L57.5001 9.77047C57.47 9.70962 57.5142 9.63827 57.5821 9.63827H60.8426Z' fill='%23EA4B4B'/%3e %3cpath d='M64.5036 9.63617C64.5715 9.63618 64.6157 9.70753 64.5855 9.76838H64.5854L62.9512 13.0573C62.9344 13.0911 62.8862 13.0912 62.8692 13.0573L61.2021 9.70235C61.187 9.672 61.2091 9.63617 61.2431 9.63617H64.5036Z' fill='%23EA4B4B'/%3e %3cpath d='M62.8284 6.18281C62.862 6.11518 62.9586 6.11518 62.9922 6.18281L64.5855 9.38969C64.6157 9.45054 64.5715 9.52189 64.5036 9.52189H61.2431C61.2091 9.52189 61.187 9.48605 61.2021 9.45571L62.8283 6.18265L62.8284 6.18281Z' fill='%23EA4B4B'/%3e %3cpath d='M62.3131 6.13196C62.381 6.13196 62.4252 6.20331 62.3951 6.26416C62.154 6.74935 61.9128 7.23455 61.6718 7.71975H61.6716C61.4225 8.22125 61.1733 8.72259 60.9242 9.22409C60.9074 9.25799 60.859 9.25799 60.8422 9.22409L60.6305 8.79587C60.6275 8.78957 60.6259 8.78263 60.6259 8.77553V6.22349C60.6259 6.17297 60.6668 6.13196 60.7173 6.13196H62.3131Z' fill='%23EA4B4B'/%3e%3c/svg%3e";const Cs=ta(1)?.logo??"",Ec=na.find(e=>e.symbol==="USDC")?.logo??"",Ln=Object.fromEntries([...$l(),..._l()].map(e=>[e.id,e.logo])),ks={metamask:xa,metaMask:xa,rabby:Ac,phantom:Sc},Yo=Object.fromEntries(na.map(e=>[e.symbol,e.logo])),Zo=({symbol:e,logoURI:t,size:n=20,theme:s})=>{const{theme:o}=It(),r=s||o,[a,i]=R(!1),d={width:`${n}px`,height:`${n}px`,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${n*.4}px`,fontWeight:r.typography.fontWeight.bold,flexShrink:0,overflow:"hidden",backgroundColor:"#ffffff"},l=e.toUpperCase(),u=t||Yo[l];if(u&&!a)return c("img",{src:u,alt:e,loading:"lazy",decoding:"async",style:{...d,objectFit:"cover"},onError:()=>i(!0)});const p=Fc(e);return c("div",{style:{...d,...p.style},children:p.icon})},Fc=e=>{const t=e.toUpperCase(),n={ETH:{bg:"#627EEA",text:"#FFFFFF",icon:"\u039E"},BTC:{bg:"#F7931A",text:"#FFFFFF",icon:"\u20BF"},USDC:{bg:"#2775CA",text:"#FFFFFF"},USDT:{bg:"#26A17B",text:"#FFFFFF"},DAI:{bg:"#F5AC37",text:"#FFFFFF"},WETH:{bg:"#627EEA",text:"#FFFFFF",icon:"\u039E"},WBTC:{bg:"#F09242",text:"#FFFFFF",icon:"\u20BF"},CBTC:{bg:"#F7931A",text:"#FFFFFF",icon:"\u20BF"},USD:{bg:"#26A17B",text:"#FFFFFF",icon:"$"},MATIC:{bg:"#8247E5",text:"#FFFFFF"},AVAX:{bg:"#E84142",text:"#FFFFFF"},SOL:{bg:"#9945FF",text:"#FFFFFF"},DOT:{bg:"#E6007A",text:"#FFFFFF"},ADA:{bg:"#0033AD",text:"#FFFFFF"},LINK:{bg:"#375BD2",text:"#FFFFFF"},UNI:{bg:"#FF007A",text:"#FFFFFF"},AAVE:{bg:"#B6509E",text:"#FFFFFF"},CRV:{bg:"#40E0D0",text:"#000000"}}[t];if(n)return{style:{backgroundColor:n.bg,color:n.text},icon:n.icon||t.charAt(0)};const s=t.split("").reduce((i,d)=>d.charCodeAt(0)+((i<<5)-i),0),o=Math.abs(s)%360,r=`hsl(${o}, 60%, 50%)`,a=o>180?"#FFFFFF":"#000000";return{style:{backgroundColor:r,color:a},icon:t.charAt(0)}},ba=({chainId:e,name:t,size:n=16})=>{const s=e&&(Ln[e]||ta(e)?.logo)||"";return s?c("img",{src:s,alt:t||`Chain ${e}`,loading:"lazy",decoding:"async",width:n,height:n,style:{width:`${n}px`,height:`${n}px`,borderRadius:"50%",objectFit:"cover",flexShrink:0}}):null};function Xo(e){return e.displaySymbol||e.symbol}function Bc(e){return e.displayName||e.displaySymbol||e.name||e.symbol}function Go(e){return e.displayChainName||Jt(e.chainId)}const Tc=({selectedAsset:e,assets:t,onAssetSelect:n,showDropdown:s,onToggleDropdown:o,disabled:r=!1,theme:a,onViewAllAssets:i})=>{const{theme:d}=It(),l=a||d,u=X(null),p=X(null),m=X(null),[h,f]=R(null);G(()=>{if(s&&p.current){const D=()=>{if(p.current){const E=p.current.getBoundingClientRect();f({top:E.bottom+6,right:window.innerWidth-E.right})}};return D(),window.addEventListener("scroll",D,!0),window.addEventListener("resize",D),()=>{window.removeEventListener("scroll",D,!0),window.removeEventListener("resize",D)}}else f(null)},[s]),G(()=>{const D=E=>{u.current&&!u.current.contains(E.target)&&m.current&&!m.current.contains(E.target)&&s&&o()};return s&&document.addEventListener("mousedown",D),()=>{document.removeEventListener("mousedown",D)}},[s,o]);const[y,g]=R(!1),w=l.mode==="light",x={backgroundColor:"transparent",border:`1px solid ${w?"#aaaaaa":l.colors.border}`,borderRadius:"6px",color:l.colors.text,cursor:r?"not-allowed":"pointer",padding:"8px 14px 8px 10px",width:"100%",display:"flex",flexDirection:"column",gap:"4px",opacity:r?.6:1,transition:rn.interactive,transform:y?"scale(0.98)":"scale(1)"},B={display:"flex",justifyContent:"space-between",alignItems:"center",gap:"10px",minWidth:0},k={display:"flex",alignItems:"center",gap:"4px",paddingTop:"4px",borderTop:`1px solid ${l.colors.border}`},C=()=>h?{position:"fixed",top:`${h.top}px`,right:`${h.right}px`,backgroundColor:l.colors.secondary,border:`1px solid ${l.colors.border}`,borderRadius:l.borderRadius.md,boxShadow:l.shadows.lg,zIndex:qn.dropdown,width:"200px",maxHeight:"300px",overflow:"auto"}:{},T={backgroundColor:"transparent",border:"none",color:l.colors.text,cursor:"pointer",padding:l.spacing.sm,width:"100%",display:"flex",alignItems:"center",gap:l.spacing.sm,transition:`background-color ${l.animation.normal}`,":hover":{backgroundColor:l.colors.surfaceHover}},A={display:"flex",flexDirection:"column",alignItems:"flex-start",flex:1},v={fontSize:l.typography.fontSize.sm,fontWeight:l.typography.fontWeight.medium},S={fontSize:l.typography.fontSize.xs,color:l.colors.textMuted},F={backgroundColor:"transparent",border:"none",borderTop:`1px solid ${l.colors.border}`,color:l.colors.primary,cursor:"pointer",padding:"10px 12px",width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontFamily:l.typography.fontFamily,fontSize:l.typography.fontSize.xs,fontWeight:l.typography.fontWeight.medium,textDecoration:"underline",textUnderlineOffset:"2px"},I={transition:`transform ${l.animation.normal}`,transform:s?"rotate(180deg)":"rotate(0deg)",flexShrink:0};return b($t,{children:[c("div",{style:{position:"relative"},ref:u,children:b("div",{ref:p,style:x,onClick:r?void 0:o,onMouseLeave:()=>{g(!1)},onMouseDown:()=>g(!0),onMouseUp:()=>g(!1),children:[b("div",{style:B,children:[c("div",{style:{display:"flex",alignItems:"center",gap:"8px",flex:1,minWidth:0},children:e?.asset?b($t,{children:[c(Zo,{symbol:e.asset.symbol,logoURI:e.asset.logoURI,theme:l,size:24}),c("span",{style:{fontSize:"15px",fontWeight:500,color:l.colors.text,lineHeight:"1.5",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:Xo(e.asset)})]}):c("span",{style:{fontSize:"14px",color:l.colors.textMuted},children:"Select"})}),c("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:w?l.colors.textMuted:"#c7ccd4",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:I,children:c("path",{d:"M6 9l6 6 6-6"})})]}),e?.asset&&b("div",{style:k,children:[!e.asset.displayChainName&&c(ba,{chainId:e.asset.chainId,theme:l}),c("span",{style:{fontSize:"11px",color:l.colors.textMuted},children:Go(e.asset)})]})]})}),s&&h&&Po(b("div",{ref:m,style:C(),children:[t.length===0&&c("div",{style:{padding:"10px 12px",color:l.colors.textMuted,fontSize:l.typography.fontSize.xs},children:"No assets available"}),t.map(D=>b("button",{style:T,onClick:()=>{n(D),o()},children:[c(Zo,{symbol:D.symbol,logoURI:D.logoURI,theme:l},`${D.address}-${D.chainId}`),b("div",{style:A,children:[b("div",{style:{display:"flex",alignItems:"center",gap:l.spacing.xs},children:[c("span",{style:v,children:Xo(D)}),!D.displayChainName&&c(ba,{chainId:D.chainId,theme:l})]}),b("span",{style:S,children:[_n(D.balanceFormatted)," \u2022"," ",Go(D)]})]})]},D.receiptTokenId||`${D.address}-${D.chainId}`)),i&&b("button",{type:"button",style:F,onClick:()=>{o(),i()},children:[c("span",{children:"View all assets"}),b("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c("path",{d:"M5 12h14"}),c("path",{d:"M13 5l7 7-7 7"})]})]})]}),document.body)]})},Dc=({assets:e,selectedAsset:t,onAssetSelect:n,onAmountChange:s,disabled:o=!1,loading:r=!1,label:a="Select Asset",showBalance:i=!0,showMaxButton:d=!0,placeholder:l="0.0",theme:u,styles:p,maxAmount:m,resolveMaxAmount:h,hideAmountInput:f=!1,displayAmount:y,dark:g,onViewAllAssets:w})=>{const{theme:x,primaryColor:B,dark:k,dk:C}=It(p,g),T=u||x,A=g??k,[v,S]=R(!1),[F,I]=R(null),[D,E]=R(null),[L,W]=R(!1),[U,_]=R(null),[P,N]=R(t?.amount||""),O=X(null),j=X(""),q=X(h),H=t?.asset?t.asset.receiptTokenId||`${t.asset.chainId}-${t.asset.address}`:"",V=!!h,M=U??m;G(()=>{q.current=h},[h]),G(()=>{H!==j.current&&(N(t?.amount||""),j.current=H)},[H,t?.amount]),G(()=>{_(null),W(!1)},[H,V,t?.asset?.balance]);const oe=z=>{let le=z;le.startsWith(".")&&(le="0"+le);const te=fs(le,t?.asset?.decimals);if(!te){N(te),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>{s(te)},300);return}if(M&&parseFloat(te)>parseFloat(M)){N(M),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>{s(M)},300);return}if(t?.asset){const me=parseFloat(te),ve=t.asset.balanceFormatted,K=t.asset.decimals;if(!isNaN(me)&&me>ve){const ae=hs(Math.floor(ve*10**K)/10**K,K);N(ae),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>{s(ae)},300);return}}N(te),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>{s(te)},300)},Ce=z=>{N(z),O.current&&clearTimeout(O.current),s(z)};G(()=>{!M||!P||parseFloat(P)<=parseFloat(M)||Ce(M)},[M,P]);const Q=async()=>{if(t?.asset){const z=t.asset.decimals,le=q.current;if(U){Ce(U);return}if(le){W(!0);try{const ve=await le(t.asset);if(ve!==null){const K=fs(ve,z);_(K),Ce(K);return}}catch(ve){console.warn("[AssetSelector] Failed to resolve max amount:",ve)}finally{W(!1)}}if(M){Ce(fs(M,z));return}let te=Math.floor(t.asset.balanceFormatted*10**z)/10**z;M&&te>parseFloat(M)&&(te=parseFloat(M));const me=hs(te,z);Ce(me)}},$=async z=>{if(t?.asset){if(z===100){await Q();return}const le=t.asset.decimals,te=t.asset.balanceFormatted*z/100;let me=Math.floor(te*10**le)/10**le;M&&me>parseFloat(M)&&(me=parseFloat(M));const ve=hs(me,le);Ce(ve)}},ie=t?.asset?.balanceFormatted??0,fe=parseFloat(P)||0,de=ie>0?fe/ie*100:0;G(()=>()=>{O.current&&clearTimeout(O.current)},[]);const Ve={backgroundColor:p?.assetSelector?.backgroundColor||p?.secondaryBackground||(A?C.cardBg:"#e9e9e9"),border:A?`0.5px solid ${C.cardBorder}`:"0.5px solid #A8A8A7",borderRadius:p?.assetSelector?.borderRadius||"6px",padding:p?.assetSelector?.padding||"16px",height:"auto",minHeight:f?void 0:"144px",display:"flex",flexDirection:"column",gap:"8px",position:"relative",opacity:o?.6:1};return r?c("div",{style:Ve,children:b("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"space-between"},children:[b("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[c("div",{style:{backgroundColor:A?C.hoverBg:"#d1d5db",borderRadius:"4px",height:"16px",width:"60px"}}),c("div",{style:{backgroundColor:A?C.hoverBg:"#d1d5db",borderRadius:"4px",height:"40px",width:"150px"}})]}),b("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"8px"},children:[c("div",{style:{backgroundColor:A?C.hoverBg:"#d1d5db",borderRadius:"4px",height:"12px",width:"80px"}}),c("div",{style:{backgroundColor:A?C.hoverBg:"#d1d5db",borderRadius:"6px",height:"46px",width:"128px"}})]})]})}):b("div",{style:Ve,children:[b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:{fontFamily:p?.fontFamily||T.typography.fontFamily,fontSize:"16px",fontWeight:500,color:A?C.textSecondary:"#7d7c7b",lineHeight:"24px"},children:a}),i&&t?.asset&&b("span",{style:{fontFamily:p?.fontFamily||T.typography.fontFamily,fontSize:"12px",fontWeight:500,color:A?C.textSecondary:"#71757a",lineHeight:"16px"},children:["Balance: ",_n(t.asset.balanceFormatted)]})]}),b("div",{style:{display:"flex",justifyContent:f&&!y?"flex-start":"space-between",alignItems:"center",flex:1},children:[!f&&c(Zn,{element:"input",ariaLabel:t?.asset?`${t.asset.symbol} amount`:"Amount",dataSpiceflowFocus:!0,value:P,onChange:z=>oe(z.target.value),placeholder:l,disabled:o||!t?.asset,fontFamily:p?.fontFamily||T.typography.fontFamily,color:o?A?"rgba(255, 255, 255, 0.16)":"rgba(14, 13, 11, 0.16)":P?A?"#ffffff":"#0e0d0b":A?"#4a5568":"#d1d5db",lineHeight:"1.08",maxFontSize:40,minFontSize:22,style:{width:"100%",maxWidth:"200px"}}),c("div",{style:{width:"176px",position:"relative",flexShrink:0},children:c(Tc,{selectedAsset:t,assets:e,onAssetSelect:n,showDropdown:v,onToggleDropdown:()=>S(!v),disabled:o,theme:T,onViewAllAssets:w})}),f&&y&&c(Zn,{element:"span",value:y,title:y,fontFamily:p?.fontFamily||T.typography.fontFamily,color:A?"#ffffff":"#0e0d0b",lineHeight:"1.08",textAlign:"right",maxFontSize:40,minFontSize:22,style:{flex:1}})]}),!f&&c("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"10px",height:"14px"},children:[0,25,50,75,100].map((z,le)=>{const te=Math.abs(de-z)<1,me=le===4,ve=F===z,K=D===z;return c("button",{onClick:()=>$(z),onMouseEnter:()=>I(z),onMouseLeave:()=>{I(null),E(null)},onMouseDown:()=>E(z),onMouseUp:()=>E(null),disabled:o||!t?.asset||z===100&&L,title:`${z}%`,style:{width:"14px",height:"14px",padding:0,border:"none",backgroundColor:"transparent",cursor:o||!t?.asset||z===100&&L?"not-allowed":"pointer",opacity:te?1:ve?.8:.5,transform:K?"scale(0.85)":ve?"scale(1.15)":"scale(1)",transition:rn.interactive},children:c(qo,{pct:z,isMax:me,primaryColor:B,dark:A,fillColor:A?C.textSecondary:"#3C3E42"})},z)})})]})},vs=tn(Dc),Rc=new Set(["USDC","SUSD","USD","NUSD","USDT","DAI","ENUSD","USDG"]),wa={ETH:"ethereum",WETH:"ethereum",BTC:"bitcoin",WBTC:"bitcoin",WCBTC:"bitcoin",CBTC:"bitcoin",ECBTC:"bitcoin",ARB:"arbitrum",MATIC:"matic-network",POL:"matic-network"};let $s=null;const Wc=6e4;async function Jo(e){const t={},n=new Set,s={};for(const r of e){const a=r.toUpperCase();if(Rc.has(a))t[a]=1;else if(wa[a]){const i=wa[a];n.add(i),s[a]=i}else t[a]=0}if(n.size===0)return t;const o=Date.now();if($s&&o-$s.timestamp<Wc){for(const[r,a]of Object.entries(s))t[r]=$s.prices[a]??0;return t}try{const r=Array.from(n).join(","),a=await fetch(`https://api.coingecko.com/api/v3/simple/price?ids=${r}&vs_currencies=usd`);if(!a.ok)throw new Error(`CoinGecko ${a.status}`);const i=await a.json(),d={};for(const l of n)d[l]=i[l]?.usd??0;$s={prices:d,timestamp:o};for(const[l,u]of Object.entries(s))t[l]=d[u]??0}catch(r){console.warn("[fetchTokenPrices] CoinGecko fetch failed:",r);for(const a of Object.keys(s))t[a]=t[a]??0}return t}function Mc(e,t){return e.map(n=>{if(n.balanceUsd>0)return n;const s=t[n.symbol.toUpperCase()]??0;return{...n,balanceUsd:n.balanceFormatted*s}})}const Nc=new Set(["cbtc","btc","wbtc","wcbtc","tbtc"]),Oc=new Set(["usdc","usdt","dai","usdc.e","usdbc","usdg"]);async function Uc(){const e=(await Jo(["BTC"])).BTC;if(!e||e<=0)throw new Error("Failed to fetch BTC/USD price");return e}function Pc(e){return Nc.has(e.toLowerCase())}function Lc(e){return Oc.has(e.toLowerCase())}function zc(e,t,n,s){const o=10n**12n,r=BigInt(Math.round(s*Number(o))),a=t-n,i=10n**BigInt(Math.abs(a));let d=e*r/o;return a>0?d=d/i:a<0&&(d=d*i),d}const Is=({size:e=20,strokeWidth:t=2,color:n="currentColor",style:s})=>b("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:n,strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",style:s,children:[c("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),c("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]});var $o="data:image/svg+xml,%3csvg width='108' height='22' viewBox='0 0 108 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M1.9916 11.9854V11.2041H3.98379C4.48835 11.2041 4.87897 11.0739 5.15566 10.8135C5.43236 10.5498 5.5707 10.1868 5.5707 9.72461V9.71484C5.5707 9.24935 5.43236 8.88639 5.15566 8.62598C4.87897 8.36556 4.48835 8.23535 3.98379 8.23535H1.9916V7.4541H4.2084C4.65111 7.4541 5.04173 7.5485 5.38027 7.7373C5.71882 7.92611 5.98411 8.18978 6.17617 8.52832C6.37148 8.86686 6.46914 9.25911 6.46914 9.70508V9.71484C6.46914 10.1608 6.37148 10.5547 6.17617 10.8965C5.98411 11.2383 5.71882 11.5052 5.38027 11.6973C5.04173 11.8893 4.65111 11.9854 4.2084 11.9854H1.9916ZM1.55215 14.5V7.4541H2.43106V14.5H1.55215ZM9.51875 14.5928C9.0207 14.5928 8.58939 14.4837 8.2248 14.2656C7.86348 14.0443 7.58353 13.7301 7.38496 13.3232C7.18965 12.9163 7.09199 12.4329 7.09199 11.873V11.8633C7.09199 11.3001 7.18965 10.8151 7.38496 10.4082C7.58353 10.0013 7.86348 9.6888 8.2248 9.4707C8.58939 9.2526 9.0207 9.14355 9.51875 9.14355C10.0201 9.14355 10.4514 9.2526 10.8127 9.4707C11.174 9.6888 11.4523 10.0013 11.6477 10.4082C11.8462 10.8151 11.9455 11.3001 11.9455 11.8633V11.873C11.9455 12.4329 11.8462 12.9163 11.6477 13.3232C11.4523 13.7301 11.174 14.0443 10.8127 14.2656C10.4514 14.4837 10.0201 14.5928 9.51875 14.5928ZM9.51875 13.8408C9.85078 13.8408 10.1324 13.7627 10.3635 13.6064C10.5946 13.4502 10.7704 13.2256 10.8908 12.9326C11.0145 12.6396 11.0764 12.2865 11.0764 11.873V11.8633C11.0764 11.4466 11.0145 11.0918 10.8908 10.7988C10.7704 10.5059 10.5946 10.2829 10.3635 10.1299C10.1324 9.97363 9.85078 9.89551 9.51875 9.89551C9.18672 9.89551 8.90514 9.97363 8.67402 10.1299C8.4429 10.2829 8.26549 10.5059 8.1418 10.7988C8.02135 11.0918 7.96113 11.4466 7.96113 11.8633V11.873C7.96113 12.2865 8.02135 12.6396 8.1418 12.9326C8.26549 13.2256 8.4429 13.4502 8.67402 13.6064C8.90514 13.7627 9.18672 13.8408 9.51875 13.8408ZM13.7842 14.5L12.3096 9.23633H13.1592L14.1943 13.4453H14.2725L15.4492 9.23633H16.2549L17.4316 13.4453H17.5098L18.5449 9.23633H19.3896L17.915 14.5H17.0605L15.8838 10.4277H15.8057L14.6338 14.5H13.7842ZM22.1658 14.5928C21.6645 14.5928 21.2332 14.4821 20.8719 14.2607C20.5138 14.0394 20.2371 13.7269 20.0418 13.3232C19.8497 12.9163 19.7537 12.4378 19.7537 11.8877V11.8828C19.7537 11.3392 19.8497 10.8623 20.0418 10.4521C20.2371 10.042 20.5122 9.72135 20.867 9.49023C21.2218 9.25911 21.6368 9.14355 22.1121 9.14355C22.5906 9.14355 23.0008 9.25423 23.3426 9.47559C23.6876 9.69694 23.9513 10.0062 24.1336 10.4033C24.3191 10.7972 24.4119 11.2562 24.4119 11.7803V12.1123H20.1932V11.4336H23.9773L23.5574 12.0537V11.7168C23.5574 11.3034 23.4956 10.9632 23.3719 10.6963C23.2482 10.4294 23.0773 10.2308 22.8592 10.1006C22.6411 9.96712 22.3904 9.90039 22.1072 9.90039C21.824 9.90039 21.5701 9.97038 21.3455 10.1104C21.1242 10.2471 20.9484 10.4505 20.8182 10.7207C20.688 10.9909 20.6229 11.3229 20.6229 11.7168V12.0537C20.6229 12.4281 20.6863 12.7487 20.8133 13.0156C20.9402 13.2793 21.1209 13.4827 21.3553 13.626C21.5896 13.766 21.8663 13.8359 22.1854 13.8359C22.423 13.8359 22.6297 13.8034 22.8055 13.7383C22.9813 13.6732 23.1261 13.5902 23.24 13.4893C23.354 13.3883 23.4337 13.2858 23.4793 13.1816L23.4988 13.1377H24.3484L24.3387 13.1768C24.2931 13.3558 24.2117 13.5299 24.0945 13.6992C23.9806 13.8652 23.8325 14.0166 23.6502 14.1533C23.4679 14.2868 23.2514 14.3942 23.0008 14.4756C22.7534 14.5537 22.4751 14.5928 22.1658 14.5928ZM25.4303 14.5V9.23633H26.2799V10.0176H26.358C26.4589 9.74089 26.6298 9.52604 26.8707 9.37305C27.1116 9.22005 27.4094 9.14355 27.7643 9.14355C27.8456 9.14355 27.9254 9.14844 28.0035 9.1582C28.0849 9.16471 28.1467 9.17122 28.1891 9.17773V10.0029C28.1012 9.98665 28.0149 9.97526 27.9303 9.96875C27.8489 9.95898 27.761 9.9541 27.6666 9.9541C27.3964 9.9541 27.1572 10.0078 26.9488 10.1152C26.7405 10.2227 26.5761 10.3724 26.4557 10.5645C26.3385 10.7565 26.2799 10.9811 26.2799 11.2383V14.5H25.4303ZM30.9408 14.5928C30.4395 14.5928 30.0082 14.4821 29.6469 14.2607C29.2888 14.0394 29.0121 13.7269 28.8168 13.3232C28.6247 12.9163 28.5287 12.4378 28.5287 11.8877V11.8828C28.5287 11.3392 28.6247 10.8623 28.8168 10.4521C29.0121 10.042 29.2872 9.72135 29.642 9.49023C29.9968 9.25911 30.4118 9.14355 30.8871 9.14355C31.3656 9.14355 31.7758 9.25423 32.1176 9.47559C32.4626 9.69694 32.7263 10.0062 32.9086 10.4033C33.0941 10.7972 33.1869 11.2562 33.1869 11.7803V12.1123H28.9682V11.4336H32.7523L32.3324 12.0537V11.7168C32.3324 11.3034 32.2706 10.9632 32.1469 10.6963C32.0232 10.4294 31.8523 10.2308 31.6342 10.1006C31.4161 9.96712 31.1654 9.90039 30.8822 9.90039C30.599 9.90039 30.3451 9.97038 30.1205 10.1104C29.8992 10.2471 29.7234 10.4505 29.5932 10.7207C29.463 10.9909 29.3979 11.3229 29.3979 11.7168V12.0537C29.3979 12.4281 29.4613 12.7487 29.5883 13.0156C29.7152 13.2793 29.8959 13.4827 30.1303 13.626C30.3646 13.766 30.6413 13.8359 30.9604 13.8359C31.198 13.8359 31.4047 13.8034 31.5805 13.7383C31.7563 13.6732 31.9011 13.5902 32.015 13.4893C32.129 13.3883 32.2087 13.2858 32.2543 13.1816L32.2738 13.1377H33.1234L33.1137 13.1768C33.0681 13.3558 32.9867 13.5299 32.8695 13.6992C32.7556 13.8652 32.6075 14.0166 32.4252 14.1533C32.2429 14.2868 32.0264 14.3942 31.7758 14.4756C31.5284 14.5537 31.2501 14.5928 30.9408 14.5928ZM36.1486 14.5928C35.7059 14.5928 35.3186 14.4805 34.9865 14.2559C34.6545 14.0312 34.3973 13.7155 34.215 13.3086C34.0328 12.8984 33.9416 12.4199 33.9416 11.873V11.8633C33.9416 11.3132 34.0328 10.8346 34.215 10.4277C34.3973 10.0208 34.6529 9.70508 34.9816 9.48047C35.3137 9.25586 35.7027 9.14355 36.1486 9.14355C36.3895 9.14355 36.6158 9.18262 36.8273 9.26074C37.0422 9.33561 37.2326 9.44141 37.3986 9.57812C37.5647 9.71484 37.6949 9.8776 37.7893 10.0664H37.8674V7.14648H38.717V14.5H37.8674V13.6602H37.7893C37.6818 13.8555 37.5467 14.0231 37.384 14.1631C37.2212 14.2998 37.0357 14.4056 36.8273 14.4805C36.619 14.5553 36.3928 14.5928 36.1486 14.5928ZM36.3439 13.8408C36.663 13.8408 36.938 13.7611 37.1691 13.6016C37.4003 13.4421 37.5777 13.2158 37.7014 12.9229C37.8251 12.6266 37.8869 12.2767 37.8869 11.873V11.8633C37.8869 11.4564 37.8251 11.1064 37.7014 10.8135C37.5777 10.5205 37.4003 10.2943 37.1691 10.1348C36.938 9.97526 36.663 9.89551 36.3439 9.89551C36.0249 9.89551 35.7499 9.97526 35.5188 10.1348C35.2909 10.291 35.1151 10.5156 34.9914 10.8086C34.871 11.1016 34.8107 11.4531 34.8107 11.8633V11.873C34.8107 12.2799 34.871 12.6315 34.9914 12.9277C35.1151 13.2207 35.2909 13.4469 35.5188 13.6064C35.7499 13.7627 36.0249 13.8408 36.3439 13.8408ZM45.1775 14.5928C44.9334 14.5928 44.7072 14.5553 44.4988 14.4805C44.2905 14.4056 44.1049 14.2998 43.9422 14.1631C43.7794 14.0231 43.6443 13.8555 43.5369 13.6602H43.4588V14.5H42.6092V7.14648H43.4588V10.0664H43.5369C43.6346 9.8776 43.7648 9.71484 43.9275 9.57812C44.0936 9.44141 44.2824 9.33561 44.4939 9.26074C44.7088 9.18262 44.9367 9.14355 45.1775 9.14355C45.6235 9.14355 46.0109 9.25586 46.3396 9.48047C46.6717 9.70508 46.9288 10.0208 47.1111 10.4277C47.2934 10.8346 47.3846 11.3132 47.3846 11.8633V11.873C47.3846 12.4199 47.2934 12.8984 47.1111 13.3086C46.9288 13.7155 46.6717 14.0312 46.3396 14.2559C46.0109 14.4805 45.6235 14.5928 45.1775 14.5928ZM44.9822 13.8408C45.3045 13.8408 45.5796 13.7627 45.8074 13.6064C46.0353 13.4469 46.2094 13.2207 46.3299 12.9277C46.4536 12.6315 46.5154 12.2799 46.5154 11.873V11.8633C46.5154 11.4531 46.4536 11.1016 46.3299 10.8086C46.2094 10.5156 46.0353 10.291 45.8074 10.1348C45.5796 9.97526 45.3045 9.89551 44.9822 9.89551C44.6632 9.89551 44.3881 9.97526 44.157 10.1348C43.9259 10.2943 43.7485 10.5205 43.6248 10.8135C43.5011 11.1064 43.4393 11.4564 43.4393 11.8633V11.873C43.4393 12.2767 43.5011 12.6266 43.6248 12.9229C43.7485 13.2158 43.9259 13.4421 44.157 13.6016C44.3881 13.7611 44.6632 13.8408 44.9822 13.8408ZM48.6568 16.3457C48.6015 16.3457 48.5396 16.3424 48.4713 16.3359C48.4029 16.3327 48.3395 16.3262 48.2809 16.3164V15.6182C48.3329 15.6279 48.3899 15.6344 48.4518 15.6377C48.5136 15.641 48.5738 15.6426 48.6324 15.6426C48.8733 15.6426 49.0702 15.5807 49.2232 15.457C49.3795 15.3333 49.5048 15.1201 49.5992 14.8174L49.6969 14.5049L47.7486 9.23633H48.6568L50.2779 14.0996L49.941 13.5674H50.3414L50.0045 14.0996L51.6207 9.23633H52.5143L50.4586 14.8223C50.3154 15.2161 50.164 15.5238 50.0045 15.7451C49.845 15.9665 49.6578 16.1211 49.443 16.209C49.2314 16.3001 48.9693 16.3457 48.6568 16.3457Z' fill='%230E0D0B'/%3e%3cpath d='M62.7081 13.27C62.742 13.27 62.7642 13.3057 62.7491 13.3362V13.336L61.1229 16.6083C61.0892 16.6761 60.9926 16.6759 60.959 16.6083L59.3382 13.336C59.3232 13.3057 59.3453 13.27 59.3792 13.27H62.7081Z' fill='%23EA4B4B'/%3e%3cpath d='M61.0026 9.71913C61.0194 9.68524 61.0678 9.68524 61.0845 9.71913L62.747 13.0897C62.762 13.12 62.7399 13.1557 62.706 13.1557H59.3763C59.3424 13.1557 59.3203 13.12 59.3353 13.0897L61.0026 9.71913Z' fill='%23EA4B4B'/%3e%3cpath d='M60.8426 9.63827C60.8766 9.63827 60.8987 9.6741 60.8835 9.70444L59.2164 13.0594C59.1995 13.0932 59.1513 13.0932 59.1345 13.0594L57.5001 9.77047C57.47 9.70962 57.5142 9.63827 57.5821 9.63827H60.8426Z' fill='%23EA4B4B'/%3e%3cpath d='M64.5036 9.63617C64.5715 9.63618 64.6157 9.70753 64.5855 9.76838H64.5854L62.9512 13.0573C62.9344 13.0911 62.8862 13.0912 62.8692 13.0573L61.2021 9.70235C61.187 9.672 61.2091 9.63617 61.2431 9.63617H64.5036Z' fill='%23EA4B4B'/%3e%3cpath d='M62.8284 6.18281C62.862 6.11518 62.9586 6.11518 62.9922 6.18281L64.5855 9.38969C64.6157 9.45054 64.5715 9.52189 64.5036 9.52189H61.2431C61.2091 9.52189 61.187 9.48605 61.2021 9.45571L62.8283 6.18265L62.8284 6.18281Z' fill='%23EA4B4B'/%3e%3cpath d='M62.3131 6.13196C62.381 6.13196 62.4252 6.20331 62.3951 6.26416C62.154 6.74935 61.9128 7.23455 61.6718 7.71975H61.6716C61.4225 8.22125 61.1733 8.72259 60.9242 9.22409C60.9074 9.25799 60.859 9.25799 60.8422 9.22409L60.6305 8.79587C60.6275 8.78957 60.6259 8.78263 60.6259 8.77553V6.22349C60.6259 6.17297 60.6668 6.13196 60.7173 6.13196H62.3131Z' fill='%23EA4B4B'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M74.8537 10.0096C75.2721 10.0096 75.654 10.1125 75.9993 10.3184C76.3513 10.5177 76.6303 10.8032 76.8361 11.1751C77.0487 11.547 77.1549 11.9953 77.1549 12.52V12.6495C77.1549 13.1675 77.052 13.6158 76.8461 13.9943C76.6402 14.3729 76.3613 14.6618 76.0093 14.861C75.664 15.0603 75.2788 15.1599 74.8537 15.1599C74.515 15.1599 74.2261 15.1134 73.9871 15.0204C73.7546 14.9341 73.5653 14.8212 73.4192 14.6817C73.2731 14.5423 73.1602 14.3995 73.0805 14.2534H72.941V16.9659L72.1541 16.0013V10.1491H72.9211V10.956H73.0352C73.2729 10.6733 73.3893 10.4911 73.6683 10.2985C73.9538 10.1059 74.349 10.0096 74.8537 10.0096ZM74.6445 10.7069C74.1464 10.7069 73.7347 10.8696 73.4092 11.195C73.0905 11.5138 72.9311 11.9621 72.9311 12.5399V12.6296C72.9311 13.2074 73.0905 13.659 73.4092 13.9844C73.7347 14.3032 74.1464 14.4626 74.6445 14.4626C75.1492 14.4626 75.5577 14.3032 75.8698 13.9844C76.1886 13.659 76.348 13.2074 76.348 12.6296V12.5399C76.348 11.9621 76.1886 11.5138 75.8698 11.195C75.5577 10.8696 75.1492 10.7069 74.6445 10.7069Z' fill='%230E0D0B'/%3e%3cpath d='M78.5848 11.9583L78.5555 15.4596L77.7681 14.4846V10.9583L78.5848 11.9583Z' fill='%230E0D0B'/%3e%3cpath d='M101.588 10.2986H102.444L103 10.986H101.588V10.9867H100.802L101.588 11.9623V14.1937C101.588 14.3929 101.685 14.4926 101.877 14.4926H102.379L102.928 15.17H101.668C101.389 15.17 101.173 15.0936 101.021 14.9409C100.874 14.7881 100.801 14.5789 100.801 14.3133V10.986H99.8799L99.3217 10.2986H100.801V9.13501H101.588V10.2986Z' fill='%230E0D0B'/%3e%3cpath d='M69.0133 7.90764C69.4848 7.90764 69.9065 7.99068 70.2784 8.15671C70.6569 8.3161 70.9525 8.55517 71.165 8.87395C71.3842 9.18609 71.4938 9.58126 71.4938 10.0594V10.4778H70.667V10.0594C70.667 9.72072 70.5939 9.44842 70.4477 9.24254C70.3083 9.03666 70.1124 8.88392 69.86 8.7843C69.6143 8.68469 69.332 8.63487 69.0133 8.63487C68.555 8.63487 68.1864 8.7378 67.9075 8.94367C67.6286 9.14291 67.4891 9.4285 67.4891 9.80041C67.4891 10.0461 67.5488 10.2453 67.6684 10.3981C67.7879 10.5508 67.9573 10.677 68.1764 10.7767C68.3956 10.8696 68.658 10.9527 68.9635 11.0257L69.4815 11.1552C69.8866 11.2416 70.2485 11.3611 70.5673 11.5138C70.8927 11.6599 71.1517 11.8625 71.3443 12.1215C71.5369 12.3739 71.6332 12.706 71.6332 13.1177C71.6332 13.5295 71.5303 13.8881 71.3244 14.1936C71.1185 14.4991 70.8263 14.7382 70.4477 14.9109C70.0758 15.0769 69.6375 15.1599 69.1328 15.1599C68.6281 15.1599 68.1765 15.0702 67.778 14.8909C67.3795 14.7116 67.0641 14.4426 66.8316 14.084C66.6058 13.7187 66.4929 13.2638 66.4929 12.7192V12.51H67.3197V12.7192C67.3197 13.297 67.4891 13.7287 67.8278 14.0143C68.1665 14.2932 68.6015 14.4327 69.1328 14.4327C69.6774 14.4327 70.0924 14.3098 70.378 14.0641C70.6636 13.8183 70.8064 13.5095 70.8064 13.1376C70.8064 12.8786 70.74 12.6727 70.6072 12.52C70.481 12.3673 70.3017 12.2444 70.0692 12.1514C69.8368 12.0518 69.5645 11.9655 69.2523 11.8924L68.7343 11.7629C68.3292 11.6566 67.9706 11.5271 67.6584 11.3744C67.3463 11.2216 67.1006 11.0224 66.9213 10.7767C66.7486 10.5243 66.6623 10.2022 66.6623 9.81035C66.6623 9.41852 66.7585 9.07981 66.9511 8.79424C67.1504 8.50866 67.426 8.28953 67.778 8.13678C68.1366 7.98404 68.5484 7.90764 69.0133 7.90764Z' fill='%230E0D0B'/%3e%3cpath d='M81.6544 10.0096C82.1193 10.0096 82.5145 10.0959 82.8399 10.2686C83.1719 10.4412 83.431 10.6704 83.6169 10.956C83.8095 11.2415 83.9324 11.5471 83.9855 11.8725L83.2185 12.0318C83.1853 11.7928 83.1056 11.5736 82.9794 11.3744C82.8598 11.1752 82.6905 11.0158 82.4713 10.8962C82.2521 10.7767 81.9832 10.7169 81.6644 10.7169C81.339 10.7169 81.0468 10.7899 80.7877 10.936C80.5354 11.0821 80.3328 11.2914 80.1801 11.5637C80.034 11.836 79.9609 12.1614 79.9609 12.5399V12.6296C79.9609 13.0081 80.034 13.3335 80.1801 13.6058C80.3328 13.8781 80.5354 14.0873 80.7877 14.2334C81.0468 14.3795 81.339 14.4526 81.6644 14.4526C82.1492 14.4526 82.5178 14.3264 82.7702 14.0741C83.0292 13.8217 83.1886 13.5095 83.2483 13.1376L84.0254 13.307C83.9523 13.6257 83.8195 13.9279 83.6269 14.2135C83.4343 14.4991 83.172 14.7282 82.8399 14.9009C82.5145 15.0735 82.1193 15.1599 81.6544 15.1599C81.1829 15.1599 80.7579 15.0603 80.3793 14.861C80.0074 14.6551 79.7119 14.363 79.4927 13.9844C79.2802 13.6059 79.1739 13.1575 79.1739 12.6395V12.5299C79.1739 12.0053 79.2802 11.557 79.4927 11.1851C79.7119 10.8066 80.0074 10.5177 80.3793 10.3184C80.7579 10.1126 81.1829 10.0096 81.6544 10.0096Z' fill='%230E0D0B'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M86.7515 10.0096C87.2097 10.0096 87.6149 10.1092 87.9668 10.3084C88.3188 10.501 88.5944 10.78 88.7937 11.1452C88.9929 11.5105 89.0925 11.9389 89.0925 12.4304V12.7889H85.1177C85.1377 13.3136 85.3071 13.7254 85.6258 14.0243C85.9446 14.3165 86.3431 14.4626 86.8212 14.4626C87.2396 14.4626 87.5617 14.3663 87.7875 14.1737C88.0133 13.9811 88.186 13.752 88.3056 13.4863L88.983 13.815C88.8833 14.0209 88.7439 14.2268 88.5646 14.4327C88.3919 14.6386 88.1628 14.8113 87.8772 14.9507C87.5983 15.0902 87.2396 15.1599 86.8013 15.1599C86.3099 15.1599 85.8782 15.057 85.5063 14.8511C85.1344 14.6386 84.8455 14.343 84.6396 13.9645C84.4337 13.5859 84.3307 13.1476 84.3307 12.6495V12.5299C84.3307 12.0252 84.4337 11.5836 84.6396 11.205C84.8455 10.8265 85.1311 10.5342 85.4963 10.3284C85.8616 10.1159 86.28 10.0096 86.7515 10.0096ZM86.7515 10.7069C86.3066 10.7069 85.9413 10.8331 85.6557 11.0855C85.3701 11.3378 85.1941 11.6898 85.1277 12.1414H88.2956C88.269 11.6898 88.113 11.3378 87.8274 11.0855C87.5485 10.8331 87.1898 10.7069 86.7515 10.7069Z' fill='%230E0D0B'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M97.1624 10.0096C97.6207 10.0096 98.0258 10.1092 98.3778 10.3084C98.7298 10.501 99.0054 10.78 99.2046 11.1452C99.4039 11.5105 99.5035 11.9389 99.5035 12.4304V12.7889H95.5287C95.5487 13.3136 95.718 13.7254 96.0368 14.0243C96.3555 14.3165 96.754 14.4626 97.2322 14.4626C97.6505 14.4626 97.9727 14.3663 98.1985 14.1737C98.4243 13.9811 98.5969 13.752 98.7165 13.4863L99.3939 13.815C99.2943 14.0209 99.1548 14.2268 98.9755 14.4327C98.8028 14.6386 98.5737 14.8113 98.2881 14.9507C98.0092 15.0902 97.6506 15.1599 97.2123 15.1599C96.7208 15.1599 96.2892 15.057 95.9172 14.8511C95.5453 14.6386 95.2564 14.343 95.0505 13.9645C94.8446 13.5859 94.7417 13.1476 94.7417 12.6495V12.5299C94.7417 12.0252 94.8446 11.5836 95.0505 11.205C95.2564 10.8265 95.542 10.5342 95.9073 10.3284C96.2725 10.1158 96.6909 10.0096 97.1624 10.0096ZM97.1624 10.7069C96.7175 10.7069 96.3522 10.8331 96.0666 11.0855C95.7811 11.3378 95.6051 11.6898 95.5387 12.1414H98.7066C98.68 11.6898 98.5239 11.3378 98.2383 11.0855C97.9594 10.8331 97.6008 10.7069 97.1624 10.7069Z' fill='%230E0D0B'/%3e%3cpath d='M92.2484 10.0594C92.6137 10.0594 92.9391 10.1358 93.2247 10.2885C93.5169 10.4413 93.7494 10.6671 93.9221 10.966C94.0947 11.2648 94.1811 11.6334 94.1811 12.0717V15.1458H93.394V12.1315C93.394 11.6467 93.2712 11.2947 93.0255 11.0755C92.7864 10.8564 92.461 10.7468 92.0492 10.7468C91.5777 10.7468 91.1925 10.8995 90.8936 11.205C90.6014 11.5105 90.4553 11.9655 90.4553 12.5698V15.1458H89.6683V10.1491H90.4354V10.9582H90.5361C90.7355 10.7018 90.8604 10.5342 91.1128 10.3483C91.3718 10.1557 91.7503 10.0594 92.2484 10.0594Z' fill='%230E0D0B'/%3e%3cpath d='M78.5932 10.9581H77.7681V10.1514H78.6L78.5932 10.9581Z' fill='%230E0D0B'/%3e%3c/svg%3e";const Ca=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(","),hn=({isOpen:e,onClose:t,title:n,subtitle:s,children:o,overlayContent:r,overlayDimmed:a=!0,styles:i,theme:d,maxWidth:l="522px",dark:u,footerLinkText:p,bannerSrc:m,bannerAlt:h,closeOnBackdropClick:f=!1})=>{const{theme:y,dark:g,dk:w,palette:x}=It(i,u),B=u??g,k=d||y,C=i?.fontFamily||k.typography.fontFamily||Ee.ui,T=i?.primaryColor||k.colors.primary,A=X(null),v=X(null),S=X(null),F=Xr(),[I,D]=R(!1),[E,L]=R(!1),W=X(t);if(G(()=>{W.current=t},[t]),G(()=>{if(!e){L(!1);return}v.current=document.activeElement;const P=document.body.style.overflow;document.body.style.overflow="hidden";const N=requestAnimationFrame(()=>{const H=requestAnimationFrame(()=>L(!0));S.current=H}),O=()=>{const H=A.current;H&&(H.querySelectorAll(Ca)[0]??H).focus({preventScroll:!0})},j=H=>{if(H.key==="Escape"){H.stopPropagation(),W.current();return}if(H.key!=="Tab")return;const V=A.current;if(!V)return;const M=Array.from(V.querySelectorAll(Ca)).filter($=>!$.hasAttribute("aria-hidden"));if(M.length===0){H.preventDefault(),V.focus();return}const oe=M[0],Ce=M[M.length-1],Q=document.activeElement;H.shiftKey&&Q===oe?(H.preventDefault(),Ce.focus()):!H.shiftKey&&Q===Ce&&(H.preventDefault(),oe.focus())},q=requestAnimationFrame(O);return document.addEventListener("keydown",j),()=>{cancelAnimationFrame(q),cancelAnimationFrame(N),S.current&&cancelAnimationFrame(S.current),document.removeEventListener("keydown",j),document.body.style.overflow=P;const H=v.current;H&&typeof H.focus=="function"&&H.focus({preventScroll:!0})}},[e]),!e)return null;const U=!!m&&!I,_=h??"";return c("div",{onMouseDown:P=>{f&&P.target===P.currentTarget&&W.current()},style:{position:"fixed",inset:0,backgroundColor:B?"rgba(0,0,0,0.72)":"rgba(0,0,0,0.5)",display:"flex",alignItems:"center",justifyContent:"center",padding:"clamp(16px, 4vw, 48px)",zIndex:qn.modal,opacity:E?1:0,transition:`opacity ${Do.normal} ${es.out}`},children:c("div",{ref:A,role:"dialog","aria-modal":"true","aria-labelledby":F,tabIndex:-1,style:{backgroundColor:x.shellBorder,borderRadius:"12px",padding:"5px",width:"100%",maxWidth:l,boxSizing:"border-box",boxShadow:"0 16px 48px rgba(0, 0, 0, 0.4)",outline:"none",transform:E?"scale(1)":"scale(0.96)",transition:`transform ${Do.slow} ${es.out}`,display:"flex",flexDirection:"column",maxHeight:"100%"},children:b("div",{style:{backgroundColor:x.shell,border:`1px solid ${x.shellInnerBorder}`,borderRadius:"9px",width:"100%",padding:"0",display:"flex",flexDirection:"column",position:"relative",flex:"0 1 auto",minHeight:0,overflowY:"auto",overflowX:"hidden"},children:[r&&a&&c("div",{style:{position:"absolute",inset:0,backgroundColor:"rgba(0, 0, 0, 0.4)",zIndex:5,pointerEvents:"none",borderRadius:"12px"},"aria-hidden":"true"}),U&&b("div",{style:{position:"relative",width:"100%"},children:[c("img",{src:m,style:{width:"100%",height:"auto",display:"block",borderRadius:"6px 6px 0 0"},alt:_,"aria-hidden":_===""?"true":void 0,onError:()=>D(!0)}),c("button",{type:"button",onClick:t,"aria-label":"Close dialog",style:{position:"absolute",top:"8px",right:"8px",minWidth:"44px",minHeight:"44px",color:x.textPrimary,padding:"8px",backgroundColor:"transparent",borderRadius:"9999px",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1},children:c(Is,{size:28,strokeWidth:2.5})})]}),b("div",{style:{padding:"28px 28px 0 28px",position:"relative"},children:[!U&&c("button",{type:"button",onClick:t,"aria-label":"Close dialog",style:{position:"absolute",top:"10px",right:"10px",minWidth:"44px",minHeight:"44px",color:x.textSecondary,padding:"10px",backgroundColor:"transparent",borderRadius:"50%",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"background-color 0.2s",fontSize:"18px",fontWeight:"600"},onMouseEnter:P=>{P.currentTarget.style.backgroundColor=B?`${T}1a`:"#f3f4f6"},onMouseLeave:P=>{P.currentTarget.style.backgroundColor="transparent"},children:c(Is,{size:24,strokeWidth:2.4})}),c("h2",{id:F,style:{fontSize:"22px",fontWeight:"700",color:x.textPrimary,margin:"0",fontFamily:C,lineHeight:"1.12"},children:n})]}),s&&c("div",{style:{padding:"11px 28px 13px 28px",fontSize:"12px",color:x.textSecondary,margin:"0",lineHeight:"1.35",fontFamily:C,borderBottom:B?`1px solid ${w.cardBorder}`:"1px solid #cdcfd1"},children:s}),o,b("div",{style:{padding:"12px 28px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("img",{src:$o,alt:"","aria-hidden":"true",width:108,height:22,decoding:"async",style:{width:"108px",height:"22px",opacity:B?.85:1,filter:B?"brightness(0) invert(1)":"none",margin:0,display:"block"}}),c("a",{href:"https://spiceflow-docs.spicenet.io",target:"_blank",rel:"noopener noreferrer",style:{fontSize:"10px",color:x.textSecondary,textDecoration:"none",display:"flex",alignItems:"center",gap:"4px",fontFamily:C,lineHeight:"1"},children:c("span",{style:{color:T,textDecoration:"underline",fontWeight:"500"},children:p??"Learn more \u2192"})})]}),r]})})})};var ka="data:image/svg+xml,%3csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M4.51484 1.22476C5.04689 0.494255 5.87167 0 6.83333 0C7.79352 0 8.62302 0.493038 9.15721 1.22447C10.0512 1.08473 10.9879 1.32154 11.6665 2.00014C12.3456 2.67921 12.5823 3.61677 12.4419 4.51135C13.1714 5.04616 13.6667 5.87042 13.6667 6.83333C13.6667 7.79624 13.1714 8.62051 12.4419 9.15532C12.5823 10.0499 12.3456 10.9875 11.6665 11.6665C10.986 12.3471 10.049 12.5769 9.15858 12.4403C8.62445 13.1728 7.79434 13.6667 6.83333 13.6667C5.86959 13.6667 5.04474 13.1705 4.50996 12.44C3.619 12.5772 2.68116 12.3475 2.00014 11.6665C1.31939 10.9858 1.08903 10.0476 1.23037 9.15532C0.501138 8.62162 0 7.79824 0 6.83333C0 5.86843 0.501137 5.04504 1.23037 4.51135C1.08903 3.61904 1.31939 2.68089 2.00014 2.00014C2.67986 1.32042 3.61766 1.08457 4.51484 1.22476ZM9.20928 5.95387C9.51334 5.74624 9.59152 5.33144 9.38389 5.02737C9.17626 4.72331 8.76145 4.64514 8.45739 4.85277L8.3995 4.89229C7.48372 5.51764 6.69012 6.30153 6.05487 7.20477L5.30449 6.45518C5.044 6.19497 4.62189 6.1952 4.36168 6.45569C4.10147 6.71618 4.10169 7.13829 4.36218 7.3985L5.7 8.73489C5.84693 8.88167 6.05387 8.95158 6.25971 8.924C6.46555 8.89641 6.64677 8.77448 6.74987 8.5942C7.34322 7.55668 8.16436 6.6674 9.1514 5.9934L9.20928 5.95387Z' fill='%23EA4B4B'/%3e%3c/svg%3e",Hc="data:image/png;base64,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",jc="data:image/png;base64,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";const Vc=({size:e=20,active:t=!1,dark:n=!1})=>b("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[c("rect",{x:"2",y:"4",width:"16",height:"2",rx:"1",fill:t?n?"#e5e7eb":"#111827":n?"#9ca3af":"#374151"}),c("rect",{x:"4",y:"9",width:"12",height:"2",rx:"1",fill:t?n?"#e5e7eb":"#111827":"#9ca3af"}),c("rect",{x:"6",y:"14",width:"8",height:"2",rx:"1",fill:t?n?"#e5e7eb":"#111827":"#9ca3af"})]}),va=({checked:e,primaryColor:t="#ef4444",dark:n=!1})=>c("div",{style:{width:"18px",height:"18px",borderRadius:"4px",border:e?"none":`2px solid ${n?"#4b5563":"#d1d5db"}`,backgroundColor:e?t:"transparent",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:rn.interactive},children:e&&c("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:c("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),Qc=e=>[e.chainId,e.symbol.trim().toLowerCase(),e.name.trim().toLowerCase()].join(":"),qc=e=>{const t=new Map;for(const n of e){const s=Qc(n),o=t.get(s);if(!o){t.set(s,n);continue}const r=o.balance>0n,a=n.balance>0n;(!r&&a||n.balanceUsd>o.balanceUsd||n.balance>o.balance)&&t.set(s,n)}return Array.from(t.values())},Kc=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,onTokenSelect:s,walletAddress:o,supportedChainIds:r,network:a,prefetchedAssets:i,styles:d,dark:l})=>{const[u,p]=R(""),[m,h]=R(null),[f,y]=R(null),[g,w]=R(!1),[x,B]=R(new Set),[k,C]=R([]),T=Yt(zt),A=a||T?.network||"testnet",v=T?.allowedTokens,S=(T?.mode||"7702")==="7702"&&!(v&&v.length>0),F=!!T?.isWhitelistGateActive,{dark:I,primaryColor:D,dk:E}=It(d,l),L=I?E.cardBg:"white",W=I?`${D}55`:"#F4A5A5",U=I?"0 4px 12px rgba(0, 0, 0, 0.4)":"0 4px 12px rgba(0, 0, 0, 0.15)",_=I?E.hoverBg:"#E9E9E9",P=I?E.hoverBg:"#f9fafb",N=I?E.textPrimary:"#374151",O=I?E.textPrimary:"#111827",j=I?E.textSecondary:"#9ca3af",q=I?`${D}22`:"#FBDBDB",H=I?`${D}55`:"#F4A5A5",V=J(()=>r||T?.supportedChainIds||Xs(A),[r,T?.supportedChainIds,A]),M=J(()=>V.map(K=>{const ae=Ue(K);return ae?{id:K,name:ae.displayName,icon:Ln[K]||Cs}:null}).filter(Boolean),[V]),oe=J(()=>{const K=new Set,ae=new Set;for(const Z of V){const ye=Ue(Z);if(ye){K.add(ye.nativeCurrency?.symbol?.toUpperCase()||"ETH");for(const Qe of ye.supportedTokens||[])K.add(Qe.symbol.toUpperCase()),ae.add(Qe.address.toLowerCase())}}return{symbols:K,addresses:ae}},[V]),Ce=i===void 0,{assets:Q,loading:$}=as({address:Ce?o:void 0,supportedChains:V,fetchBalances:rs,enabled:e&&Ce&&!!o,refreshInterval:e?5e3:0}),ie=i??(Ce?Q:[]),fe=i===null||Ce&&$,de=J(()=>{if(F)return[];if(!ie)return[];let K=ie.filter(ae=>ae.isNative?!0:S?!Ro(ae.chainId).some(Z=>Z.symbol.toUpperCase()===ae.symbol.toUpperCase()&&!Fe(Z.address,ae.address)):oe.symbols.has(ae.symbol.toUpperCase())||oe.addresses.has(ae.address.toLowerCase()));return v&&v.length>0&&(K=K.filter(ae=>v.includes(ae.symbol.toLowerCase())||ae.isNative&&v.includes("native"))),K},[ie,oe,v,F,S]);G(()=>{if(!de||de.length===0){C([]);return}const K=de.filter(ye=>ye.balanceUsd===0&&ye.balanceFormatted>0).map(ye=>ye.symbol),ae=Array.from(new Set(K));if(ae.length===0){C(de);return}let Z=!1;return Jo(ae).then(ye=>{Z||C(Mc(de,ye))}),()=>{Z=!0}},[de]);const Ve=J(()=>{let K=k.filter(ae=>ae.balanceUsd>=.01||ae.balanceFormatted>=1e-4||ae.balanceFormatted===0);if(x.size>0&&(K=K.filter(ae=>x.has(ae.chainId))),u.trim()){const ae=u.toLowerCase();K=K.filter(Z=>Z.name.toLowerCase().includes(ae)||Z.symbol.toLowerCase().includes(ae)||Z.address.toLowerCase().includes(ae))}return K=qc(K),K.sort((ae,Z)=>{const ye=ae.balanceFormatted>0?1:0,Qe=Z.balanceFormatted>0?1:0;return Qe!==ye?Qe-ye:Z.balanceUsd!==ae.balanceUsd?Z.balanceUsd-ae.balanceUsd:Z.balanceFormatted-ae.balanceFormatted}),K},[k,u,x]),z=K=>`${K.chainId}-${K.address}`;G(()=>{const K=document.createElement("link");return K.href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@100;200;300;400;500;600;700&display=swap",K.rel="stylesheet",document.head.appendChild(K),()=>{document.head.removeChild(K)}},[]),G(()=>{e||(p(""),h(null),w(!1),B(new Set))},[e]);const le=K=>{s(K)},te=K=>{B(ae=>{const Z=new Set(ae);return Z.has(K)?Z.delete(K):Z.add(K),Z})},me=()=>{B(new Set)},ve=x.size===0;return b(hn,{isOpen:e,onClose:t,title:"Select a Token",bannerSrc:jc,bannerAlt:"Select token banner",styles:d,dark:I,closeOnBackdropClick:n,children:[c("div",{style:{padding:"20px 20px"},children:c(zo,{value:u,onChange:p,ariaLabel:"Search tokens",placeholder:"Search token name, symbol or address",dark:I,styles:d,endAdornment:b("div",{style:{position:"relative",flexShrink:0},children:[c("button",{onClick:()=>w(K=>!K),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"5px",borderRadius:"3px",backgroundColor:g||!ve?_:"transparent",border:"none",cursor:"pointer",transition:"background-color 0.15s"},children:c(Vc,{size:20,active:!ve,dark:I})}),g&&b("div",{style:{position:"absolute",top:"calc(100% + 8px)",right:0,backgroundColor:L,borderRadius:"8px",border:`1px solid ${W}`,boxShadow:U,padding:"8px",minWidth:"220px",zIndex:100},children:[b("button",{onClick:me,style:{width:"100%",display:"flex",alignItems:"center",gap:"10px",padding:"8px",borderRadius:"6px",backgroundColor:"transparent",border:"none",cursor:"pointer",transition:"background-color 0.15s"},onMouseEnter:K=>K.currentTarget.style.backgroundColor=P,onMouseLeave:K=>K.currentTarget.style.backgroundColor="transparent",children:[c(va,{checked:ve,primaryColor:D,dark:I}),c("img",{src:Hc,alt:"All Networks",loading:"lazy",decoding:"async",width:20,height:20,style:{width:"20px",height:"20px",borderRadius:"4px",objectFit:"cover"}}),c("span",{style:{fontFamily:Ee.mono,fontSize:"12px",fontWeight:600,letterSpacing:"0.5px",color:N},children:"ALL NETWORKS"})]}),M.map(K=>b("button",{onClick:()=>te(K.id),style:{width:"100%",display:"flex",alignItems:"center",gap:"10px",padding:"8px",borderRadius:"6px",backgroundColor:"transparent",border:"none",cursor:"pointer",transition:"background-color 0.15s"},onMouseEnter:ae=>ae.currentTarget.style.backgroundColor=P,onMouseLeave:ae=>ae.currentTarget.style.backgroundColor="transparent",children:[c(va,{checked:x.has(K.id),primaryColor:D,dark:I}),c("img",{src:K.icon,alt:K.name,loading:"lazy",decoding:"async",width:20,height:20,style:{width:"20px",height:"20px",borderRadius:"50%"}}),c("span",{style:{fontFamily:Ee.mono,fontSize:"12px",fontWeight:600,letterSpacing:"0.5px",color:N},children:K.name.toUpperCase()})]},K.id))]})]})})}),b("div",{style:{padding:"0 32px 20px",display:"flex",flexDirection:"column",gap:"8px",maxHeight:"400px",overflowY:"auto"},children:[fe&&c("div",{style:{padding:"24px 8px",textAlign:"center",fontFamily:Ee.mono,fontSize:"13px",color:j},children:"Loading balances..."}),!fe&&Ve.length===0&&c("div",{style:{padding:"24px 8px",textAlign:"center",fontFamily:Ee.mono,fontSize:"13px",color:j},children:"No tokens found"}),Ve.map(K=>{const ae=z(K),Z=m===ae,ye=f===ae,Qe=Ue(K.chainId)?.displayName||`Chain ${K.chainId}`;return b("button",{onClick:()=>le(K),onMouseEnter:()=>y(ae),onMouseLeave:()=>y(null),style:{width:"100%",display:"flex",alignItems:"center",gap:"16px",padding:"8px",borderRadius:"8px",backgroundColor:Z?q:"transparent",border:Z||ye?`1px solid ${H}`:"1px solid transparent",cursor:"pointer",transition:rn.interactive},children:[c("div",{style:{flexShrink:0},children:c(Zo,{symbol:K.symbol,logoURI:K.logoURI,size:40})}),b("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:"2px",flex:1,minWidth:0},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[c("span",{style:{fontFamily:Ee.mono,fontSize:"15px",fontWeight:500,letterSpacing:"0.4px",color:O,textAlign:"left"},children:K.name}),c("img",{src:ka,alt:"","aria-hidden":"true",loading:"lazy",decoding:"async",width:14,height:14,style:{width:"14px",height:"14px"}})]}),b("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[Ln[K.chainId]&&c("img",{src:Ln[K.chainId],alt:"",loading:"lazy",decoding:"async",width:14,height:14,style:{width:"14px",height:"14px",borderRadius:"50%"}}),b("span",{style:{fontFamily:Ee.mono,fontSize:"12px",fontWeight:400,color:j,textAlign:"left"},children:[K.symbol," \xB7 ",Qe]})]})]}),b("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"2px",flexShrink:0},children:[K.balanceUsd>0&&c("span",{style:{fontFamily:Ee.mono,fontSize:"16px",fontWeight:600,color:O},children:ts(K.balanceUsd)}),b("span",{style:{fontFamily:Ee.mono,fontSize:"12px",fontWeight:400,color:j},children:[_n(K.balanceFormatted)," ",K.symbol]})]})]},ae)})]})]})},Ia=({dk:e,dark:t,message:n,buttonLabel:s,onAction:o,disabled:r=!1})=>b("div",{style:{padding:"12px",backgroundColor:e.warningBg,borderRadius:"8px",border:`1px solid ${e.warningBorder}`},children:[c("p",{style:{margin:"0 0 10px 0",color:e.warningText,fontSize:"14px"},children:n}),c("button",{onClick:o,disabled:r,style:{width:"100%",padding:"8px 12px",borderRadius:"6px",border:`1px solid ${t?e.warningBorder:"#fbbf24"}`,backgroundColor:t?e.cardBg:"white",cursor:r?"not-allowed":"pointer",fontWeight:600,fontSize:"13px",color:e.warningText,opacity:r?.6:1},children:s})]}),Aa=({dk:e,dark:t,borderRadius:n,children:s})=>c("div",{style:{padding:"8px 12px",marginBottom:"8px",backgroundColor:t?e.warningBg:"#fffbeb",border:`1px solid ${e.warningBorder}`,borderRadius:n,fontSize:"12px",color:e.warningText,lineHeight:"1.4"},children:s});var Yc="data:image/png;base64,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";const Bn=e=>new Promise(t=>setTimeout(t,e)),_o=e=>{const t=(e.id||"").toLowerCase(),n=(e.name||"").toLowerCase();return t.startsWith("io.privy.wallet")||n.includes("privy wallet")},Zc=({dark:e,dk:t,primaryColor:n,disabled:s,onError:o})=>{const[r,a]=R(!1),{connectWallet:i}=la({onSuccess:()=>{a(!1)},onError:d=>{a(!1),o(fn(d,"Failed to connect wallet."))}});return b("button",{onClick:()=>{s||r||(a(!0),i({walletChainType:"ethereum-only"}))},disabled:s||r,style:{width:"100%",display:"flex",alignItems:"center",gap:"14px",padding:"10px",borderRadius:"8px",backgroundColor:r?e?t.hoverBg:"#f3f4f6":"transparent",border:`2px solid ${e?`${n}33`:`${n}55`}`,cursor:s||r?"not-allowed":"pointer",opacity:s?.6:1,transition:rn.interactive},children:[c("div",{style:{width:"40px",height:"40px",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:e?t.cardBg:"#f3f4f6"},children:c("img",{src:ks.metamask,alt:"Browser wallet",style:{width:"26px",height:"26px",objectFit:"contain"}})}),c("span",{className:"ibm-plex-mono",style:{fontSize:"17px",fontWeight:500,letterSpacing:"0.4px",color:t.textPrimary,flex:1,textAlign:"left",fontFamily:Ee.mono},children:r?"Opening wallet picker...":"MetaMask / Browser Wallet"})]})},Xc=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,onWalletSelect:s,onContinue:o,requiredChainId:r,styles:a})=>{const{dark:i,primaryColor:d,dk:l,theme:u}=It(a),p=kn.useContext(zt),[m,h]=R(null),[f,y]=R(!1),[g,w]=R(null),[x,B]=R(!1),[k,C]=R(null),[T,A]=R(!1);G(()=>{e||(w(null),B(!1),y(!1),C(null))},[e]);const{address:v,chain:S,connector:F,isConnected:I}=Mo(),D=p?.provider==="privy"&&F&&_o(F)?void 0:v,E=I&&!!D,{connectors:L,connect:W}=Zl(),{disconnect:U}=Xl(),{switchChainAsync:_}=ea(),{reconnect:P}=Gl(),N=X(!1),O=Xs(p?.network||"testnet");G(()=>{e&&!E&&!N.current&&P()},[e,E,P]),G(()=>{e||(N.current=!1)},[e]);const j=kn.useRef(S);kn.useEffect(()=>{j.current=S},[S]);const q=(r?Ue(r):null)?.displayName||S?.name||`Chain ${S?.id||r}`,H=z=>z.type==="announced"||typeof z.ready=="boolean"&&z.ready?!0:z.type==="injected"?typeof window<"u"&&!!window.ethereum:!0,V=L.filter(z=>{const le=z.name.toLowerCase(),te=(z.id||"").toLowerCase();return p?.provider==="privy"&&_o(z)||["safe"].includes(z.type)?!1:z.type==="walletConnect"?!!z?.options?.projectId:z.type==="announced"?!0:z.type==="injected"||["metamask","rabby","phantom","coinbase","trust","rainbow"].some(me=>le.includes(me)||te.includes(me))?H(z):!1}),M=async z=>{if(!(x||f))try{if(B(!0),C(z.uid),w(null),await W({connector:z}),await Bn(500),s&&s(z.id),r){y(!0);try{S?.id!==r&&(await _({chainId:r}),await Ce(r)||w("Please switch to the correct network in your wallet to continue."))}catch(le){console.error("Chain switch error:",le),w(Jr(le))}finally{y(!1)}}await Bn(800)}catch(le){console.error("Connection error:",le),zl(le)?w("Connection rejected. Please try again."):w(fn(le,"Failed to connect wallet."))}finally{B(!1),C(null)}},oe=z=>{if(z.icon)return z.icon;const le=(z.name||"").toLowerCase();for(const[te,me]of Object.entries(ks))if(le.includes(te.toLowerCase()))return me;if(!_o(z)&&(z.type==="injected"||z.type==="announced")&&typeof window<"u"&&window.ethereum){const te=window.ethereum;if(te.isMetaMask)return ks.metamask;if(te.isRabby)return ks.rabby;if(te.isPhantom)return ks.phantom}return null},Ce=async z=>{let le=0;const te=20;for(;le<te;){if(await Bn(100),j.current?.id===z)return w(null),!0;le++}return!1},Q=async z=>{y(!0),w(null);try{await _({chainId:z}),await Ce(z)||w("Unable to switch to the correct network. Please switch manually in your wallet to continue.")}catch(le){console.error("Manual chain switch error:",le),w(Jr(le))}finally{y(!1)}},$=async z=>{f||(A(!1),await Q(z))},ie=async()=>{if(!f){if(!r){A(z=>!z);return}await Q(r)}},fe=async()=>{N.current=!0;try{await U()}finally{w(null),B(!1),y(!1),C(null),A(!1)}},de=E&&!f&&!x&&(!r||S?.id===r),Ve=E&&!f&&!x&&r&&S?.id!==r;return b(hn,{isOpen:e,onClose:t,title:"Connect Wallet",styles:a,dark:i,bannerSrc:Yc,bannerAlt:"Connect wallet banner",closeOnBackdropClick:n,children:[b("div",{style:{padding:"0 24px 20px",display:"flex",flexDirection:"column",gap:"12px",marginTop:"20px"},children:[g&&c(Ia,{dk:l,dark:i,message:g,buttonLabel:f?"Switching...":"Try Switch Again",onAction:ie,disabled:f}),f&&b("div",{style:{padding:"12px",backgroundColor:i?l.infoBg:"#dbeafe",borderRadius:"8px",display:"flex",alignItems:"center",gap:"10px",marginTop:"20px"},children:[c(Sn,{size:20,color:i?l.infoText:"#3b82f6"}),c("p",{style:{margin:0,color:i?l.infoText:"#1e40af",fontSize:"14px"},children:"Switching network..."})]}),E&&D?b("div",{style:{border:`1px solid ${i?l.successBorder:"#02974F"}`,borderRadius:"8px",overflow:"hidden",marginTop:"20px"},children:[b("div",{style:{backgroundColor:i?l.successBg:"#00FFA81C",padding:"14px 18px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[c("div",{style:{width:"22px",height:"22px",borderRadius:"50%",backgroundColor:"#02974F",display:"flex",alignItems:"center",justifyContent:"center",color:"white",fontSize:"14px",fontWeight:"bold"},children:"\u2713"}),c("span",{className:"ibm-plex-mono",style:{color:i?l.successText:"#02974F",fontWeight:600,fontSize:"14px",letterSpacing:"0.5px"},children:"WALLET CONNECTED"})]}),c("div",{style:{width:"38px",height:"38px",borderRadius:"50%",backgroundColor:i?l.cardBg:"#f3f4f6",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},children:F&&oe(F)?c("img",{src:oe(F),alt:F.name,style:{width:"24px",height:"24px",objectFit:"contain"}}):c("span",{style:{fontSize:"16px",fontWeight:"bold",color:i?l.textPrimary:"inherit"},children:F?.name?.charAt(0)||"W"})})]}),b("div",{style:{padding:"18px",backgroundColor:i?l.cardBg:"white"},children:[b("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"14px"},children:[c("span",{className:"ibm-plex-mono",style:{color:i?l.textSecondary:"#939291",fontSize:"13px",fontWeight:500,letterSpacing:"0.3px"},children:"ADDRESS:"}),c("span",{className:"ibm-plex-mono",style:{color:i?l.textPrimary:"black",fontSize:"14px",fontWeight:600,fontFamily:Ee.mono,letterSpacing:"0.3px"},children:qs(D)})]}),T&&c("div",{style:{marginBottom:"12px",border:`1px solid ${i?l.inputBorder:"#E5E7EB"}`,borderRadius:"8px",overflow:"hidden",backgroundColor:l.cardBg},children:O.map(z=>{const le=Ue(z);if(!le)return null;const te=S?.id===z;return b("button",{onClick:()=>{te?A(!1):$(z)},style:{width:"100%",display:"flex",alignItems:"center",gap:"8px",padding:"10px 12px",backgroundColor:te?i?`${d}15`:`${d}10`:"transparent",border:"none",borderBottom:`1px solid ${i?l.inputBorder:"#E5E7EB"}`,cursor:te?"default":"pointer",transition:"background-color 0.15s"},onMouseEnter:me=>{te||(me.currentTarget.style.backgroundColor=i?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.03)")},onMouseLeave:me=>{me.currentTarget.style.backgroundColor=te?i?`${d}15`:`${d}10`:"transparent"},children:[c("img",{src:Ln[z]||Cs,alt:le.displayName,style:{width:"20px",height:"20px",borderRadius:"50%",objectFit:"contain"}}),c("span",{style:{fontSize:"13px",fontWeight:te?600:400,color:i?l.textPrimary:"#1f2937",fontFamily:Ee.mono},children:le.displayName}),te&&c("span",{style:{marginLeft:"auto",fontSize:"11px",color:d,fontWeight:500},children:"Connected"})]},z)})}),b("button",{className:"ibm-plex-mono",onClick:fe,style:{width:"100%",padding:"10px",backgroundColor:"transparent",border:`1px solid ${i?l.inputBorder:"#E5E7EB"}`,borderRadius:"6px",cursor:"pointer",fontSize:"13px",fontWeight:500,color:i?l.textSecondary:"#9CA3AF",display:"flex",alignItems:"center",justifyContent:"center",gap:"6px"},children:[c("span",{style:{fontSize:"16px"},children:"\u27F2"}),"DISCONNECT"]})]})]}):b($t,{children:[p?.provider==="privy"&&c(Zc,{dark:i,dk:l,primaryColor:d,disabled:x||f,onError:w}),V.map(z=>{const le=H(z),te=k===z.uid,me=!le||x||te;return b("button",{onClick:()=>{me||M(z)},onMouseEnter:()=>!me&&h(z.uid),onMouseLeave:()=>h(null),disabled:me,style:{width:"100%",display:"flex",alignItems:"center",gap:"14px",padding:"10px",borderRadius:"8px",backgroundColor:te?i?l.hoverBg:"#f3f4f6":"transparent",border:m===z.uid&&!me?`2px solid ${i?`${d}44`:`${d}66`}`:"2px solid transparent",cursor:me?"not-allowed":"pointer",opacity:me?.6:1,transition:rn.interactive},children:[c("div",{style:{width:"40px",height:"40px",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:i?l.cardBg:"#f3f4f6"},children:oe(z)?c("img",{src:oe(z),alt:z.name,style:{width:"26px",height:"26px",objectFit:"contain"}}):c("span",{style:{fontSize:"16px",fontWeight:"bold",color:i?l.textPrimary:"inherit"},children:z.name.charAt(0)})}),b("span",{className:"ibm-plex-mono",style:{fontSize:"17px",fontWeight:500,letterSpacing:"0.4px",color:me?i?l.inputPlaceholder:"#9ca3af":i?l.textPrimary:"#111827",flex:1,textAlign:"left",fontFamily:Ee.mono},children:[te?"Connecting...":z.name,!le&&!te&&c("span",{style:{fontSize:"12px",marginLeft:"8px"},children:"(Not detected)"})]})]},z.uid)})]})]}),Ve&&!g&&c("div",{style:{padding:"0 24px 20px"},children:c(Ia,{dk:l,dark:i,message:`Please switch to ${q} to continue.`,buttonLabel:f?"Switching...":"Switch Network",onAction:ie,disabled:f})}),c("div",{style:{padding:"0 24px 25px"},children:c(Ot,{variant:"outline",fullWidth:!0,onClick:async()=>{de&&(await Bn(300),o?await o():t())},disabled:!de,theme:u,dark:i,styles:a,children:x?"CONNECTING...":f?"SWITCHING NETWORK...":"CONTINUE"})})]})};function _s(e){const t=X(0),n=X(null),s=X(e.run);s.current=e.run;const o=X(e.onSkip);o.current=e.onSkip;const r=X(e.onCleanup);r.current=e.onCleanup,G(()=>{if(!e.shouldRun){t.current+=1,n.current?.abort(),o.current?.();return}let a=!1,i=!1;const d=async p=>{if(p&&i)return;n.current?.abort();const m=new AbortController;n.current=m;const h=++t.current;i=!0;try{await s.current({isBackground:p,isCurrent:()=>!a&&t.current===h,signal:m.signal})}finally{i=!1}},l=window.setTimeout(()=>void d(!1),e.delayMs??250),u=e.backgroundIntervalMs?window.setInterval(()=>void d(!0),e.backgroundIntervalMs):void 0;return()=>{a=!0,n.current?.abort(),clearTimeout(l),u!==void 0&&window.clearInterval(u),r.current?.()}},[e.shouldRun,e.delayMs,e.backgroundIntervalMs,...e.deps])}const er=new Set(["WBTC","CBTC"]),Sa=new Set(["btc","wbtc","wcbtc","cbtc"]);function Ea(e,t){return!e||!t?!1:e===t?!0:er.has(e)&&er.has(t)}function Tn(e){const[t,n,s]=e.split(":");if(t!=="evm"||!n||!s)return null;const o=Number(n);if(!Number.isFinite(o))return null;const r=s.startsWith("0x")?s.toLowerCase():`0x${s.toLowerCase()}`;return{chainId:o,address:r}}function eo(e){return(e??"").trim().replace(/^test\s+/i,"").replace(/^spice/i,"").toLowerCase().replace(/[^a-z0-9]/g,"")}function Gc(e){return new Set([e.receiptTokenName,e.displaySymbol,e.symbol,e.displayName,e.name].map(eo).filter(Boolean))}function Jc(e,t){const n=Gc(e),s=[t.symbol,t.name,t.equivalenceGroup].map(eo);if(s.some(a=>a&&n.has(a)))return!0;const o=[...n].some(a=>Sa.has(a)),r=s.some(a=>Sa.has(a))||er.has(t.equivalenceGroup??"");return o&&r}function Fa(e,t,n){const s=new Set(t.map(eo).filter(Boolean)),o=r=>{if(n&&Fe(r.address,n))return 0;const a=[r.symbol,r.name,r.equivalenceGroup].map(eo).findIndex(i=>i&&s.has(i));return a===-1?4:a+1};return[...e].sort((r,a)=>{const i=o(r)-o(a);return i!==0?i:r.address.toLowerCase().localeCompare(a.address.toLowerCase())})}function to(e,t){const n=e.chainTokens?Object.keys(e.chainTokens):[],s=[];for(const o of n){const r=Tn(o);if(!r||r.chainId!==t)continue;const a=r.address,i=ht(a,t);i&&(!tr(e,a,t)&&!(e.isUniversal&&Jc(e,i))||s.some(d=>Fe(d,a))||s.push(a))}return Fa(s.map(o=>{const r=ht(o,t);return{address:o,symbol:r?.symbol,name:r?.name,equivalenceGroup:r?.equivalenceGroup}}),[e.receiptTokenName,e.displaySymbol,e.symbol,e.displayName,e.name],e.chainId===t&&!e.isUniversal?e.address:void 0).map(o=>o.address)}function tr(e,t,n){return e.chainId===n&&Fe(e.address,t)?!0:As(e.address,e.chainId,t,n)}async function $c(e,t){const n=ft(e),s=Fn(e);return pe(t)?n.getBalance({address:s}):await n.readContract({address:t,abi:Le,functionName:"balanceOf",args:[s]})}function nr(e,t,n){const s=tc(n),o=s.find(a=>Fe(a.address,e));if(o)return o;const r=ht(e,t);if(r)return Fa(s.filter(a=>Ea(a.equivalenceGroup,r.equivalenceGroup)),[r.symbol,r.name,r.equivalenceGroup])[0]}function gn(e,t){if(e.chainId===t)return e.address;const n=nr(e.address,e.chainId,t);return n?n.address:null}async function sr(e,t,n={}){const s=gn(e,t),o=to(e,t);if(o.length===0)return s;if(o.length===1)return o[0];const r=n.requiredAmount??0n,a=i=>{const d=o.map(l=>({candidate:l,balance:i.get(pe(l)?"native":l.toLowerCase())??0n})).filter(l=>l.balance>0n).sort((l,u)=>l.balance===u.balance?0:l.balance>u.balance?-1:1);return d.length===0?null:((r>0n?d.find(l=>l.balance>=r):d[0])??d[0]).candidate};try{const i=await Promise.all(o.map(async u=>({key:pe(u)?"native":u.toLowerCase(),value:await $c(t,u)}))),d=new Map(i.map(({key:u,value:p})=>[u,p])),l=a(d);if(l)return l}catch{}return s}function As(e,t,n,s){const o=ht(e,t),r=ht(n,s);return o&&r?Ea(o.equivalenceGroup,r.equivalenceGroup):ec(e,n)}function no(e,t){return As(e.address,e.chainId,t.address,t.chainId)}const _c={usdc:[8453,1,42161,5115,4114],usdt:[1],btc:[4114,42161,1,5115],wbtc:[1],weth:[8453,1],eth:[8453,1,42161,4663,84532,46630],ctusd:[5115,4114],wcbtc:[5115,4114]},ed={btc:["wcbtc","cbtc","wbtc"]};function so(e){return e.replace(/^test\s*/i,"").replace(/^spice/i,"").trim()}function Dn(e){return so(e).toLowerCase()}function Ba(e){return Dn(e??"").replace(/[^a-z0-9]/g,"")}function or(e){const t=Dn(e);return[t,...ed[t]??[]].filter(Boolean)}function td(e){try{return BigInt(e.balanceAvailable||"0")}catch{return 0n}}function Ta(e){return Array.isArray(e.chainTokens)?e.chainTokens:Object.keys(e.chainTokens??{})}function nd(e,t,n,s=[]){const o=Ue(t),r=n.toLowerCase(),a=r===Zt.toLowerCase()?o?.nativeCurrency.decimals??18:o?.supportedTokens?.find(d=>d.address.toLowerCase()===r)?.decimals??18,i=new Set(s.map(Ba).filter(Boolean));return e.reduce((d,l)=>{const u=td(l),p=l.decimals??a,m=ys(u,p,a);if(Ta(l).some(f=>{const y=Tn(f);return y&&As(y.address,y.chainId,n,t)}))return d+m;if(i.size===0)return d;const h=Ba(l.tokenName||l.receiptToken);return i.has(h)?d+m:d},0n)}function sd(e,t){const n=new Set([...or(t),...or(so(t))]);return[...e].sort((s,o)=>{const r=Dn(s.symbol),a=Dn(o.symbol),i=Dn(s.name),d=Dn(o.name),l=n.has(r)?0:n.has(i)?1:2,u=n.has(a)?0:n.has(d)?1:2;return l!==u?l-u:s.address.toLowerCase().localeCompare(o.address.toLowerCase())})[0]}function od(e){const t=e&&e.length>0?e:Object.keys(Ks).map(Number).filter(Number.isFinite),n=new Map;for(const s of t){const o=Ue(s);if(!o)continue;const r=`${s}:${Zt.toLowerCase()}`;n.has(r)||n.set(r,{address:Zt,chainId:s,symbol:o.nativeCurrency.symbol,name:o.nativeCurrency.name,decimals:o.nativeCurrency.decimals,isNative:!0,logoURI:Yo[o.nativeCurrency.symbol]??o.logo});for(const a of o.supportedTokens??[]){const i=a.address.toLowerCase(),d=`${s}:${i}`;n.has(d)||n.set(d,{address:i,chainId:s,symbol:a.symbol,name:a.name,decimals:a.decimals,isNative:pe(i),logoURI:a.logo})}}return n}function rd(e,t){const n=od(t),s=so(e.tokenName),o=Dn(e.tokenName),r=or(e.tokenName),a=Array.isArray(e.chainTokens)?e.chainTokens.map(f=>[f,void 0]):Object.entries(e.chainTokens??{}),i=a.map(([f])=>Tn(f)).filter(f=>f!==null),d=new Map;for(const[f,y]of a){const g=Tn(f);if(!g||!Number.isSafeInteger(g.chainId)||g.chainId<0||!/^evm:[0-9]+:(?:0x)?[0-9a-fA-F]{40}$/.test(f)){if(!Array.isArray(e.chainTokens))throw new Error("Invalid chain token metadata identity");continue}if(y!==void 0&&(!y||typeof y!="object"||Array.isArray(y)||y.name!==void 0&&typeof y.name!="string"||y.decimals!==void 0&&(!Number.isInteger(y.decimals)||y.decimals<0||y.decimals>255)))throw new Error("Invalid chain token metadata");const w=`${g.chainId}:${g.address.toLowerCase()}`;if(d.has(w)){const x=d.get(w);if(x?.name!==y?.name||x?.decimals!==y?.decimals)throw new Error("Conflicting chain token metadata")}d.set(w,y)}const l=(f,y)=>{const g=d.get(`${y.chainId}:${y.address.toLowerCase()}`);return{...f,name:typeof g?.name=="string"&&g.name.length>0?g.name:f.name,decimals:typeof g?.decimals=="number"?g.decimals:f.decimals}},u=i.map(f=>{const y=n.get(`${f.chainId}:${f.address.toLowerCase()}`);return y?l(y,f):void 0}).filter(f=>f!==void 0),p=_c[o]??[];if(p.length>0)for(const f of p){const y=u.find(g=>g.chainId===f);if(y)return y}if(u.length>0)return sd(u,e.tokenName);const m=Array.from(n.values()).filter(f=>r.includes(Dn(f.symbol))||r.includes(Dn(f.name)));if(p.length>0)for(const f of p){const y=m.find(g=>g.chainId===f);if(y)return y}if(m.length>0)return m[0];const h=i[0];if(h){const f=d.get(`${h.chainId}:${h.address.toLowerCase()}`);return{address:h.address,chainId:h.chainId,symbol:s||e.tokenName,name:typeof f?.name=="string"&&f.name.length>0?f.name:s||e.tokenName,decimals:typeof f?.decimals=="number"?f.decimals:e.decimals??18,isNative:pe(h.address),logoURI:void 0}}}function ad(e,t){let n;try{n=BigInt(e.balanceAvailable||"0")}catch{return null}if(n<=0n)return null;if(t?.length){const f=Ta(e).map(Tn).filter(y=>y!==null);if(f.length>0&&!f.some(y=>t.includes(y.chainId)))return null}let s;try{s=rd(e,t)}catch{return null}const o=s?.decimals??e.decimals??18,r=e.decimals??o,a=ys(n,r,o),i=s?.address??Zt,d=s?.chainId??0,l=so(e.tokenName),u=s?.symbol??l,p=s?.name??l,m=parseFloat(Ge(a,o)),h=typeof e.balanceUsd=="number"?e.balanceUsd:typeof e.balanceUsd=="string"&&Number(e.balanceUsd)||0;return{address:i,symbol:u,name:p,decimals:o,chainId:d,balance:a,balanceFormatted:m,balanceUsd:h,isNative:s?.isNative??pe(i),logoURI:s?.logoURI,displaySymbol:l||u,displayName:l||p,displayChainName:"Spicenet",receiptTokenId:e.receiptToken,receiptTokenName:e.tokenName||p,receiptTokenDecimals:r,chainTokens:e.chainTokens&&!Array.isArray(e.chainTokens)?e.chainTokens:void 0,isUniversal:!0}}function id(e,t){return(t||"").trim()||`Transaction ${e}. The transaction was rejected on-chain. This may be due to insufficient balance, price changes, or health factor constraints. Please verify your positions and try again.`}const ld=350,cd=2500;async function Da(e){const{actionId:t,intentIndex:n,intentId:s,stepIndex:o,maxPolls:r=48,maxExecuteAttempts:a=3,pollsBeforeRetry:i=5,maxConsecutiveStatusErrors:d=15,onStatusMessage:l,onStepUpdate:u,signal:p,chainId:m}=e;let h="pending",f,y,g=0,w=0;const x=()=>{g++,Ht.executeStep(t,n,o,{action:"execute"}).then(B=>{B.transactionHash&&(f=B.transactionHash)}).catch(B=>{const k=B instanceof Error?B.message:String(B);console.warn(`[execution] executeStep ${o} attempt ${g} error (will poll):`,k)})};x();for(let B=0;B<r;B++){if(await Bn(B===0?ld:cd),p?.aborted)throw new je("ABORT","Execution transaction aborted");try{const C=await Ht.checkStepStatus(s,o);w=0,h=C.data.status,y=C.data.error;const T=C.data.transactionHash;T&&(f=T),u?.({status:h,transactionHash:f,error:y})}catch(C){if(C instanceof Error&&(C.name==="AbortError"||C instanceof je&&C.code==="ABORT")||(w++,w>=d))throw C;continue}if(h==="created"&&B>=g*i&&g<a&&x(),h==="reverted"||h==="error")throw new je("ON_CHAIN_REVERT",id(h,y),{status:h,txHash:f,actionId:t,intentId:s,stepId:o,chainId:m});if(h==="success"||h==="completed")return f;let k="Waiting for solver...";h==="executing"?k="Transaction executing...":h==="submitted"?k="Transaction submitted...":h==="created"&&(k="Waiting for relayer..."),l?.(k,f)}throw new je("POLLING_EXHAUSTED",`Transaction is still processing (status: ${h}). This doesn't mean it failed \u2014 the solver may still complete it. Check your positions in a few minutes, or try refreshing the page.`,{actionId:t,intentId:s,stepId:o,lastStatus:h,pollAttempts:r,maxPolls:r,txHash:f})}async function Ra(e){const{actionId:t,intentIndex:n,intentId:s,totalSteps:o,delayBeforeSpicenetStepMs:r=5e3,isSpicenetStep:a,maxExecuteAttemptsForStep:i,maxPolls:d=48,onStatusMessage:l,onStepUpdate:u,signal:p}=e;let m;for(let h=0;h<o;h++){h>0&&a?.(h)&&r>0&&await Bn(r);const f=i?.(h)??3,y=await Da({actionId:t,intentIndex:n,intentId:s,stepIndex:h,maxPolls:d,maxExecuteAttempts:f,maxConsecutiveStatusErrors:f===6?5:15,onStatusMessage:l,onStepUpdate:u?g=>u(h,g):void 0,signal:p});y&&(m=y)}return m}const dd="0xa9059cbb";function oo(e,t){return e.map(n=>{if(n.domain==="spicenet"||ss(n.chainId)||n.calls.length===0)return n;const s=new Set((n.tokenTransfers??[]).filter(a=>(a.from==="escrow"||a.from==="solver")&&Fe(a.to,t)).map(a=>a.token.toLowerCase()));if(s.size===0)return n;const o=[...s].some(pe);let r=0;for(const a of n.calls){if(o&&a.value>0n&&a.data==="0x"&&!Fe(a.to,t)){r+=1;continue}if(!a.data?.startsWith(dd))break;try{const i=Gs({abi:Le,data:a.data});if(i.functionName!=="transfer")break;const[d]=i.args;if(Fe(d,t)||!s.has(a.to.toLowerCase()))break;r+=1}catch{break}}return r===0?n:{...n,calls:n.calls.slice(r)}})}function Wa(e,t){if(e.length!==t.length)return!1;const n=On(e),s=On(t);return n.every((o,r)=>o.hash===s[r]?.hash)}const Ma=15;function ud(e){return e.now-e.lastProgressAt>=e.pollTimeoutMs}function Na(e,t){return{intentId:e,steps:t.map(n=>({...n,status:"pending"})),overallStatus:"processing"}}function ro(e,t,n){const s=e.steps.map(i=>({...i})),o=s[t];if(!o)return e;n.status==="success"||n.status==="completed"?(s[t]={...o,status:"success",transactionHash:n.transactionHash},t+1<s.length&&s[t+1].status==="pending"&&(s[t+1]={...s[t+1],status:"processing"})):n.status==="reverted"||n.status==="error"?s[t]={...o,status:"failed",transactionHash:n.transactionHash,error:n.error}:s[t]={...o,status:"processing"};const r=s.some(i=>i.status==="failed"),a=s.every(i=>i.status==="success");return{...e,steps:s,overallStatus:r?"failed":a?"success":"processing"}}function pd({checkStepStatus:e,retryStep:t,maxRetries:n=3,pollingInterval:s=2500,pollTimeoutMs:o=3e5}){const[r,a]=R(null),i=X(null),d=X(null),l=X(!1),u=X(!1),p=X(0),m=X({}),h=X(0),f=ne(k=>{i.current=k,a(k)},[]),y=ne(()=>{d.current&&(clearInterval(d.current),d.current=null)},[]),g=ne(()=>{p.current=0,m.current={},h.current=0,l.current=!0,y(),f(null)},[y,f]),w=ne((k,C)=>{y(),l.current=!1,f(Na(k,C))},[y,f]),x=ne((k,C)=>{const T=i.current;T&&f(ro(T,k,C))},[f]),B=ne((k,C)=>{y(),l.current=!1,u.current=!1,p.current=0,m.current={},h.current=Date.now(),f(Na(k,C));const T=async()=>{if(!(l.current||u.current||!e)){u.current=!0;try{if(ud({now:Date.now(),lastProgressAt:h.current,pollTimeoutMs:o})){const S=i.current;S&&f({...S,steps:S.steps.map(F=>F.status==="success"?F:{...F,status:"failed",error:"Taking longer than expected. It may still complete - check the explorer, then refresh."}),overallStatus:"failed"}),l.current=!0,y();return}const A=i.current;if(!A)return;const v=A.steps.findIndex(S=>S.status!=="success");if(v===-1){l.current=!0,y();return}if(!(v===0||A.steps[v-1].status==="success"))return;try{const S=A.steps[v].stepId,{data:F}=await e(k,S);if(p.current=0,F.status==="success"&&(h.current=Date.now()),F.status==="reverted"){const D=m.current[S]||0;if(t&&D<n){m.current[S]=D+1;try{await t(k,S)}catch(E){console.error(`[intentStatus] retry failed for step ${S}:`,E)}f(ro(i.current,v,{status:"executing"}));return}}const I=ro(i.current,v,F);f(I),I.overallStatus!=="processing"&&(l.current=!0,y())}catch(S){p.current+=1,console.error(`[intentStatus] poll error (${p.current}/${Ma}):`,S),p.current>=Ma&&(f(ro(i.current,v,{status:"error"})),l.current=!0,y())}}finally{u.current=!1}}};T(),d.current=setInterval(T,s)},[e,t,n,s,o,y,f]);return G(()=>()=>y(),[y]),{intentStatus:r,startStatusPolling:B,beginStatusTracking:w,applyStepUpdate:x,stopStatusPolling:y,clearStatus:g}}function md(e,t){const n=On(e).map(s=>s.hash);return ia(Un([{type:"string"},{type:"uint256"},{type:"uint256"},{type:"bytes32[]"}],["ecdsa",0n,t,n]))}async function Oa(e,t,n,s){if(s?.aborted)throw new je("ABORT","Execution transaction aborted");const o=await e.signMessage({raw:md(t,n)}),r=typeof o=="string"?o:o.signature;if(!r)throw new je("SIGNATURE_FAILED","Failed to sign intent authorization. The wallet returned an empty signature.");return r}function fd(e){return e.domain==="spicenet"||ss(e.chainId)}async function Ss(e){const{chainBatches:t,signingAddress:n,actions:s,cache:o,signal:r}=e,a=[...new Set(t.filter(l=>!fd(l)).map(l=>l.chainId))],i=await Promise.all(a.map(async l=>{const u=ft(l),p=$r(l),m=Number(await nc(n,u)),h=[n.toLowerCase(),l,p.toLowerCase(),m].join(":");return{chainId:l,delegateContract:p,nonce:m,cacheKey:h,cached:o?.get(h)}})),d=[];for(const{chainId:l,delegateContract:u,nonce:p,cacheKey:m,cached:h}of i){if(h){d.push(h);continue}if(r?.aborted)throw new je("ABORT","Execution transaction aborted");const f=await s.signAuthorization({contractAddress:u,chainId:l,nonce:p}),y={r:f.r,s:f.s,yParity:f.yParity,address:f.address??u,chainId:Number(f.chainId??l),nonce:Number(f.nonce??p)};o?.set(m,y),d.push(y)}return d}function Es(e,t){return e<=0n||t<=0n?0n:(e*t+10000n-1n)/10000n}function ao(e,t,n){const s=(e>t?e-t:0n)*10000n/(10000n+n),o=Es(s,n),r=s>0n,a=r?o+t:0n;return{netAmount:s,spicenetFee:r?o:0n,totalFee:a,grossAmount:s+a,coversFees:r}}function zn(e,t,n){if(e===t)return!0;const s=e>t?e:t;return s===0n?!1:(e>t?e-t:t-e)*10000n<=s*n}function rr(e,t){const n=Ge(e,t);return n.includes(".")?n.replace(/\.?0+$/,"")||"0":n}function nn(e){const t=BigInt(e.feeBreakdown.spicenetFee),n=BigInt(e.feeBreakdown.gasFee),s=BigInt(e.feeBreakdown.bridgeFee??"0"),o=t+n+s;return{spicenetFee:t,gasFee:n,bridgeFee:s,totalFee:o}}function Ua(e){const t=BigInt(e.quotedAmount),n=BigInt(e.totalDebit),{totalFee:s}=nn(e);return t>0n||n>0n||s>0n}function hd(e){const t=BigInt(e.quotedAmount),n=BigInt(e.totalDebit),{totalFee:s}=nn(e),o=t+s;return n>o?n:o}function gd(e){const t=[];for(const n of e.intents)for(const s of n.batches)t.push(BigInt(s.quotedAmount));return t.length!==1?null:t[0]}function ar(e,t,n){return e.length===0||!e.every(s=>s.domain!=="spicenet"&&!s.tokenTransfers?.length)?null:{...t,grossAmount:n,netAmount:n,totalFee:0n,gasFee:0n,spicenetFee:0n,bridgeFee:0n,gasQuoteSource:"static_zero"}}function ir(e,t,n){const s=e.intents.flatMap(u=>u.batches).filter(Ua);if(s.length===0)return n&&t.actionAmount!==void 0?ar(n,{symbol:t.symbol,decimals:t.decimals},t.actionAmount):null;if(s.length>1&&t.actionAmount===void 0)return null;let o=0n,r=0n,a=0n,i=0n;for(const u of s){const p=nn(u);o+=p.gasFee,r+=p.spicenetFee,a+=p.bridgeFee,i+=p.totalFee}const d=s.some(u=>u.gasQuoteSource==="estimated")?"estimated":s.some(u=>u.gasQuoteSource==="configured_fallback")?"configured_fallback":s[0].gasQuoteSource,l=t.actionAmount??BigInt(s[0].quotedAmount);return{symbol:t.symbol,decimals:t.decimals,grossAmount:l+i,netAmount:l,totalFee:i,spicenetFee:r,gasFee:o,bridgeFee:a,gasQuoteSource:d}}function is(e,t){const n=e.intents.flatMap(u=>u.batches).filter(Ua);if(n.length===0)return null;const s=n.filter(u=>u.chainId===t.chainId),o=s.length>0?s:n;if(o.length>1)return null;const r=o[0],{gasFee:a,spicenetFee:i,bridgeFee:d,totalFee:l}=nn(r);return{chainId:r.chainId,tokenAddress:t.tokenAddress,symbol:t.symbol,decimals:t.decimals,grossAmount:hd(r),netAmount:BigInt(r.quotedAmount),totalFee:l,gasFee:a,spicenetFee:i,bridgeFee:d,gasQuoteSource:r.gasQuoteSource}}const yd=10n,xd=5;function lr(e){return e.map(t=>({...t,calls:[...t.calls],tokenTransfers:t.tokenTransfers?[...t.tokenTransfers]:void 0}))}function io({token:e,recipient:t,amount:n}){return{to:e,value:0n,data:ct({abi:Le,functionName:"transfer",args:[t,n]})}}function bd({chainBatches:e,token:t,amount:n}){const s=lr(e),o=s[s.length-1];if(!o)return s;const r=Fn(o.chainId);return o.calls=[...o.calls,io({token:t,recipient:r,amount:n})],s}function Pa({chainBatches:e,user:t,token:n,grossAmount:s,gasFee:o}){const r=lr(e),a=r[r.length-1];if(!a)throw new je("INVALID_PARAMS","Action-output escrow funding requires at least one chain batch.");const i=Es(s,yd),d=o+i;if(d>=s)throw new je("INVALID_PARAMS","Borrow amount is too small after gas and Spicenet fees.",{grossAmount:s.toString(),gasFee:o.toString(),spicenetFee:i.toString()});const l=s-d,u=Fn(a.chainId),p=[];return o>0n&&p.push(io({token:n,recipient:an,amount:o})),i>0n&&p.push(io({token:n,recipient:Kn,amount:i})),a.calls=[...a.calls,...p,io({token:n,recipient:u,amount:l})],a.tokenTransfers=[...a.tokenTransfers??[],...o>0n?[{from:t,to:an,token:n,amount:o}]:[],...i>0n?[{from:t,to:Kn,token:n,amount:i}]:[],{from:t,to:u,token:n,amount:l}],{chainBatches:r,gasFee:o,spicenetFee:i,netEscrowAmount:l,outputCredit:{chainId:a.chainId,token:n,amount:s}}}async function La({chainBatches:e,user:t,token:n,grossAmount:s,chainAuthorizations:o}){let r=0n,a=Pa({chainBatches:e,user:t,token:n,grossAmount:s,gasFee:r});for(let i=0;i<xd;i+=1){const d=On(a.chainBatches),l=(await Ht.estimateBatchGas({user:t,outputToken:n,chainBatches:a.chainBatches.map((u,p)=>({...u,hash:d[p].hash})),chainAuthorizations:o})).gasFee;if(l===r)return a;r=l,a=Pa({chainBatches:e,user:t,token:n,grossAmount:s,gasFee:r})}throw new je("INVALID_PARAMS","Action-output fee estimate did not converge. Please retry.")}function Fs(e){return ss(e.chainId)}const wd="0xa9059cbb";function lo(e,t){return`${e}:${t.toLowerCase()}`}function za(e,t){return t===Zt.toLowerCase()?{symbol:Jt(e),decimals:18}:ht(t,e)??{symbol:"tokens",decimals:18}}function Cd(e,t){const n=ht(t,e);return[n?.equivalenceGroup,n?.symbol,n?.name]}async function kd(e){return Hl(e)}async function vd(e,t,n){const s=new Map,o=new Map,r=new Map,a=new Map,i=new Map;for(const l of n?.actionOutputCredits??[]){const u=lo(l.chainId,l.token);i.set(u,(i.get(u)??0n)+l.amount)}for(const l of e){if(Fs(l))continue;for(const m of l.tokenTransfers??[]){if(m.from!=="escrow"&&m.from!=="solver"||!Fe(m.to,t))continue;const h=BigInt(m.amount??0);if(h<=0n)continue;const f=lo(l.chainId,m.token);o.set(f,(o.get(f)??0n)+h),m.from==="escrow"&&r.set(f,(r.get(f)??0n)+h)}const u=sc(l.chainId),p=m=>!!u&&u!==Zt&&Fe(m,u);for(const m of l.calls){if(m.value&&m.value>0n){const h=lo(l.chainId,Zt);s.set(h,(s.get(h)??0n)+m.value),p(m.to)&&a.set(h,(a.get(h)??0n)+m.value)}if(m.data?.startsWith(wd))try{const h=Gs({abi:Le,data:m.data});if(h.functionName!=="transfer")continue;const[f,y]=h.args,g=m.to.toLowerCase(),w=lo(l.chainId,g);s.set(w,(s.get(w)??0n)+y),p(f)&&a.set(w,(a.get(w)??0n)+y)}catch{}}}let d=null;for(const[l,u]of r){const p=u-(a.get(l)??0n);if(p<=0n)continue;const[m,h]=l.split(":"),f=Number(m),y=za(f,h);d??(d=await kd(t));const g=nd(d,f,h,Cd(f,h));if(!(g>=p))throw new je("INVALID_PARAMS",`Insufficient Spice ${y.symbol}: needs ${Ge(p,y.decimals)}, has ${Ge(g,y.decimals)}.`,{chainId:f,token:h,userAddress:t,requiredAmount:p.toString(),balance:g.toString(),balanceSource:"spice"})}for(const[l,u]of s){if(u<=0n)continue;const[p,m]=l.split(":"),h=Number(p),f=u-(o.get(l)??0n)-(i.get(l)??0n);if(f<=0n)continue;const y=ft(h),g=m===Zt.toLowerCase()?await y.getBalance({address:t}):await y.readContract({address:m,abi:Le,functionName:"balanceOf",args:[t]});if(g>=f)continue;const w=za(h,m);throw new je("INVALID_PARAMS",`Insufficient ${w.symbol} on ${Jt(h)}: needs ${Ge(f,w.decimals)}, has ${Ge(g,w.decimals)}.`,{chainId:h,token:m,userAddress:t,requiredAmount:f.toString(),balance:g.toString(),balanceSource:"wallet"})}}function Id({chainBatches:e,tokenAddress:t,tokenTransferAmount:n,useCustomTransfers:s}){if(!(e.some(Fs)||!(s?e.some(o=>Fs(o)?!1:(o.tokenTransfers??[]).some(r=>r.from==="escrow"&&BigInt(r.amount??0)>0n)):n>0n)))throw new je("INVALID_PARAMS","Payouts funded from Spice balance require a Spicenet funding batch before the destination chain batch. Deposits into Spice balance and gas-only actions do not need one.",{tokenAddress:t,tokenTransferAmount:n.toString(),useCustomTransfers:!!s})}function Ad(e,t,n,s){t.forEach((o,r)=>{if(!o.to||!o.from||!o.token||o.amount===void 0)throw new je("INVALID_TOKEN_TRANSFER",`tokenTransfers[${r}] on chain ${e} is missing required fields (to/from/token/amount). This usually means the embedded wallet wasn't ready when the intent was built \u2014 please retry.`,{chainId:e,transferIndex:r,transfer:{from:o.from,to:o.to,token:o.token,amount:o.amount?.toString()},signingAddress:n,useCustomTransfers:s})})}function cr({user:e,chainBatches:t,tokenAddress:n,tokenTransferAmount:s,exp:o,signature:r,chainAuthorizations:a,useCustomTransfers:i}){const d=t,l=On(d),u=d.filter(p=>!Fs(p)).length;if(Id({chainBatches:d,tokenAddress:n,tokenTransferAmount:s,useCustomTransfers:i}),!i&&s>0n&&u>1)throw new je("INVALID_PARAMS","Multiple non-Spicenet batches require explicit tokenTransfers. Pass useCustomTransfers with per-batch transfers instead of relying on the default escrow payout injection.",{nonSpicenetBatchCount:u,tokenAddress:n,tokenTransferAmount:s.toString()});return{user:e,...a?{chainAuthorizations:a}:{},intents:[{mode:"7702",signatureType:"ecdsa",signature:r,nbf:0,exp:o,chainBatches:l.map((p,m)=>{const h=d[m],f=Fs(h)?[]:i?h.tokenTransfers??[]:s>0n?[{from:"escrow",to:e,token:n,amount:s}]:[];return Ad(Number(p.chainId),f,e,i),{hash:p.hash,chainId:Number(p.chainId),tokenTransfers:f,calls:p.calls}})}]}}function Ha(e,t){const n=t?.depositToEscrow?.gasFundingSource==="action-output"?t.depositToEscrow:null,s=t?.depositToEscrow&&!n?bd({chainBatches:e,token:t.depositToEscrow.token,amount:t.depositToEscrow.amount}):lr(e);return{actionOutputDeposit:n,batches:s}}let dr=!1;function ls(){const{address:e,isConnected:t,isAuthenticated:n,actions:s}=En(),o=X(null),{intentStatus:r,startStatusPolling:a,beginStatusTracking:i,applyStepUpdate:d,clearStatus:l}=pd({checkStepStatus:(g,w)=>Ht.checkStepStatus(g,w),retryStep:async(g,w)=>{const[x,B]=g.split("/"),k=parseInt(B||"0",10);await Ht.executeStep(x,k,w,{action:"execute"})}}),u=X(s),p=X(new Map);u.current=s;const m=ne((g,w,x)=>Ss({chainBatches:g,signingAddress:w,actions:u.current,cache:p.current,signal:x}),[]),h=ne((g,w,x)=>Oa(u.current,g,w,x),[]),f=ne(async(g,w,x,B,k,C)=>{const T=(A,v,S)=>{B?.({step:A,message:v,...S})};if(dr)throw new je("CONCURRENT_EXECUTION","A execution transaction is already in progress. Please wait.");dr=!0;try{if(!e)throw new je("WALLET_DISCONNECTED","No wallet connected. Please log in first.");const A=C?.userOverride||e,{actionOutputDeposit:v,batches:S}=Ha(g,C);let F=S,I=[],D=C?.useCustomTransfers;T("signing-delegation","Sign delegation in your wallet...");const E=await m(F,A,k);if(k?.aborted)throw new je("ABORT","Execution transaction aborted");const L=BigInt(Math.floor(Date.now()/1e3)+3600);if(v){const V=await La({chainBatches:g,user:A,token:v.token,grossAmount:v.amount,chainAuthorizations:E});F=V.chainBatches,I=[V.outputCredit],D=!0}if(!C?.skipPreSubmitFeeEstimate){let V=!1;for(let M=0;M<10;M++){const oe=C?.feeExecutionMode==="user-transfer"?oo(F,A):F,Ce=cr({user:A,chainBatches:oe,tokenAddress:w,tokenTransferAmount:x,exp:Number(L),signature:"0x00",chainAuthorizations:E,useCustomTransfers:D}),Q=await Ht.estimateActionFees(Ce,{signal:k});o.current=Q;const $=await C?.adjustBatchesForEstimate?.({feeEstimate:Q,chainBatches:F}),ie=!!$&&Wa(F,$);if(!$||ie){V=!0;break}F=$}if(!V)throw new je("INVALID_PARAMS","Fee estimate did not converge. Please retry.")}C?.skipUserFundingPreflight||await vd(F,A,{actionOutputCredits:I}),T("signing-intent","Sign the intent in your wallet...");const W=await h(F,L,k);if(k?.aborted)throw new je("ABORT","Execution transaction aborted");T("submitting","Submitting to relayer...");const U=cr({user:A,chainBatches:F,tokenAddress:w,tokenTransferAmount:x,exp:Number(L),signature:W,chainAuthorizations:E,useCustomTransfers:D}),_=await Ht.createAction(U),[P,N]=_.intentIds[0].split("/"),O=parseInt(N||"0",10),j=`${P}/${O}`;T("executing","Executing on chain..."),T("executing","Executing on chain...",{actionId:P,intentId:j,intentIndex:O,totalSteps:F.length});const q=F.length,H=await Ra({actionId:P,intentIndex:O,intentId:j,totalSteps:q,signal:k,isSpicenetStep:V=>F[V]?.domain==="spicenet",maxExecuteAttemptsForStep:V=>F[V]?.domain==="spicenet"?6:3,maxPolls:180,onStatusMessage:(V,M)=>{T("executing",V,{txHash:M,actionId:P,intentId:j,intentIndex:O,totalSteps:q})}});return T("success","Transaction successful!",{txHash:H,actionId:P,intentId:j,intentIndex:O,totalSteps:q}),H||P}catch(A){throw console.error("[Execution] Error:",A),T("error",A.message||"Transaction failed",{error:A.message}),A}finally{dr=!1}},[e,n,m,h]),y=ne(async(g,w,x,B)=>{if(!e)throw new je("WALLET_DISCONNECTED","No wallet connected. Please log in first.");const k=B?.userOverride||e,{actionOutputDeposit:C,batches:T}=Ha(g,B);let A=T;const v=B?.feeExecutionMode==="user-transfer"?oo(A,k):A,S=B?.signAuthorizationsForEstimate?await m(v,k):void 0;let F=B?.useCustomTransfers;C&&(A=(await La({chainBatches:g,user:k,token:C.token,grossAmount:C.amount,chainAuthorizations:S})).chainBatches,F=!0);const I=B?.feeExecutionMode==="user-transfer"?oo(A,k):A,D=cr({user:k,chainBatches:I,tokenAddress:w,tokenTransferAmount:x,exp:Math.floor(Date.now()/1e3)+3600,signature:"0x00",chainAuthorizations:S,useCustomTransfers:F}),E=await Ht.estimateActionFees(D,{signal:B?.signal});return o.current=E,E},[e,m]);return{execute:f,estimate:y,lastFeeEstimate:o.current,hasEmbeddedWallet:t&&n,intentStatus:r,startStatusPolling:a,beginStatusTracking:i,applyStepUpdate:d,clearStatus:l}}const ur=({color:e})=>b("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:[c("circle",{cx:"7",cy:"7",r:"6.5",stroke:e,strokeWidth:"1.2"}),c("path",{d:"M7 6v4",stroke:e,strokeWidth:"1.2",strokeLinecap:"round"}),c("circle",{cx:"7",cy:"4.5",r:"0.7",fill:e})]}),ja=({content:e,label:t="More info",textColor:n="#f9fafb",backgroundColor:s="#111827",borderColor:o="rgba(255,255,255,0.08)",accentColor:r="#9ca3af",children:a})=>{const i=Xr(),[d,l]=R(!1),u=X(null),[p,m]=R(!1),[h,f]=R(null);G(()=>{m(!0)},[]),Gr(()=>{if(!d||!u.current)return;const g=()=>{if(!u.current)return;const w=u.current.getBoundingClientRect(),x=Math.min(220,window.innerWidth-48),B=Math.min(Math.max(w.left+w.width/2,24+x/2),window.innerWidth-24-x/2),k=w.top>84;f({top:k?w.top-10:w.bottom+10,left:B,placement:k?"top":"bottom"})};return g(),window.addEventListener("scroll",g,!0),window.addEventListener("resize",g),()=>{window.removeEventListener("scroll",g,!0),window.removeEventListener("resize",g)}},[d]);const y=d&&p&&h?Po(b("span",{id:i,role:"tooltip",style:{position:"fixed",left:h.left,top:h.top,transform:h.placement==="top"?"translate(-50%, -100%)":"translate(-50%, 0)",width:"220px",maxWidth:"min(220px, calc(100vw - 48px))",padding:"10px 12px",borderRadius:"10px",backgroundColor:s,color:n,border:`1px solid ${o}`,boxShadow:"0 18px 45px rgba(0,0,0,0.28)",fontSize:"11px",lineHeight:"1.45",fontWeight:500,textAlign:"left",zIndex:qn.tooltip,pointerEvents:"none"},children:[e,c("span",{"aria-hidden":"true",style:{position:"absolute",left:"50%",width:"10px",height:"10px",transform:"translateX(-50%) rotate(45deg)",backgroundColor:s,...h.placement==="top"?{bottom:"-6px",borderRight:`1px solid ${o}`,borderBottom:`1px solid ${o}`}:{top:"-6px",borderTop:`1px solid ${o}`,borderLeft:`1px solid ${o}`}}})]}),document.body):null;return b($t,{children:[c("span",{ref:u,style:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:c("button",{type:"button","aria-label":t,"aria-describedby":d?i:void 0,onFocus:()=>l(!0),onBlur:()=>l(!1),style:{width:"18px",height:"18px",borderRadius:"999px",display:"inline-flex",alignItems:"center",justifyContent:"center",border:`1px solid ${o}`,backgroundColor:"transparent",color:r,cursor:"help",padding:0,outline:"none",boxShadow:d?`0 0 0 2px ${r}26`:"none",transition:"border-color 120ms ease, box-shadow 120ms ease, color 120ms ease"},children:a||c(ur,{color:r})})}),y]})};function co(e,t){if(e===0n)return"0";const n=10n**BigInt(t),s=e/n,o=(e%n).toString().padStart(t,"0").replace(/0+$/,"");return o?`${s.toString()}.${o}`:s.toString()}function pr(e,t,n){const s=`${co(e,t)} ${n}`;return e===0n?s:`-${s}`}const Sd=({fontFamily:e,textPrimary:t,textSecondary:n,cardBg:s,cardBorder:o,resolvedDark:r,darkCardBorder:a,primaryColor:i,feePreview:d,isLoading:l,errorText:u,directExecutionFeeNote:p=!1})=>{const m=r?a??o:"#e5e7eb",h=r?"#111214":"#111827",f=r?"rgba(255,255,255,0.08)":"rgba(17,24,39,0.12)",y="#f87171",g=r?"#d1d5db":"#4b5563",w=r?"#f3f4f6":t,[x,B]=R(!1),k=!!u,C=k?null:d,T=C?[{label:"Total Required",help:"Total amount required to fund this action.",value:`${co(C.grossAmount,C.decimals)} ${C.symbol}`,tone:"default"},{label:"Spicenet Fee",help:"Fees paid to Spicenet for intent processing and execution.",value:pr(C.spicenetFee,C.decimals,C.symbol),tone:"fee"},{label:"Network Fee",help:"Network fee shown in the same token you are using for this action.",value:pr(C.gasFee,C.decimals,C.symbol),tone:"fee"},...C.bridgeFee&&C.bridgeFee>0n?[{label:"Bridge Fee",help:"Estimated cost to rebalance liquidity for this action.",value:pr(C.bridgeFee,C.decimals,C.symbol),tone:"fee"}]:[],{label:"Used in TX",help:"Resulting amount of funds used in the transaction.",value:`${co(C.netAmount,C.decimals)} ${C.symbol}`,tone:"default"}]:[],A=C?`${co(C.grossAmount,C.decimals)} ${C.symbol}`:null;return k?c("div",{style:{backgroundColor:s,border:`1px solid ${o}`,borderRadius:r?"8px":"7px",padding:"14px 16px 12px 16px",marginBottom:"16px",boxShadow:r?"inset 0 1px 0 rgba(255,255,255,0.03)":"none"},children:b("div",{style:{display:"flex",flexDirection:"column",gap:"10px"},children:[c("span",{style:{fontSize:"17px",fontWeight:500,color:g,fontFamily:e,lineHeight:"24px"},children:"Fee"}),c("div",{style:{color:y,fontSize:"12px",lineHeight:"1.55",fontFamily:e},children:u})]})}):b("div",{style:{backgroundColor:s,border:`1px solid ${o}`,borderRadius:r?"8px":"7px",padding:"14px 16px 12px 16px",marginBottom:"16px",boxShadow:r?"inset 0 1px 0 rgba(255,255,255,0.03)":"none"},children:[b("button",{type:"button",onClick:()=>B(v=>!v),style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",gap:"12px",marginBottom:x?"14px":0,background:"none",border:"none",padding:0,cursor:"pointer",textAlign:"left"},children:[b("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[c("span",{style:{fontSize:"17px",fontWeight:500,color:g,fontFamily:e,lineHeight:"24px"},children:"Fee"}),x&&c("span",{style:{fontSize:"12px",color:n,fontFamily:e,lineHeight:"1.45"},children:"What is funded, spent, and taken as fees"})]}),b("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0},children:[A&&b("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"2px",minWidth:0},children:[c("span",{style:{fontSize:"10px",fontWeight:700,color:n,fontFamily:e,letterSpacing:"0.08em",textTransform:"uppercase"},children:"Total required"}),c("span",{style:{fontSize:"14px",fontWeight:700,color:w,fontFamily:e,whiteSpace:"nowrap"},children:A})]}),l&&!p&&c("span",{style:{fontSize:"11px",fontWeight:600,color:i,fontFamily:e,padding:"6px 9px",borderRadius:"999px",backgroundColor:r?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.035)",border:`1px solid ${r?m:"rgba(0,0,0,0.06)"}`,whiteSpace:"nowrap"},children:"Recalculating"}),c(Yn,{color:n,direction:x?"up":"down",style:{flexShrink:0}})]})]}),c("div",{style:{overflow:"hidden",maxHeight:x?"480px":"0px",opacity:x?1:0,transition:"max-height 0.24s ease, opacity 0.18s ease"},children:p?c("p",{style:{margin:0,color:n,fontSize:"12px",lineHeight:"1.55",fontFamily:e},children:"This path executes directly from the external wallet. Network gas is paid in-wallet, so Spicenet cannot pre-estimate that gas or charge a Spicenet fee here."}):T.length>0?b($t,{children:[c("div",{style:{display:"grid",gap:"10px"},children:T.map((v,S)=>b("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto",alignItems:"center",gap:"12px",paddingTop:S===0?0:"10px",borderTop:S===0?"none":`1px solid ${m}`,opacity:l?.74:1,transition:"opacity 120ms ease"},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"8px",minWidth:0},children:[c("span",{style:{fontSize:"12px",color:n,fontFamily:e,fontWeight:500},children:v.label}),c(ja,{content:v.help,label:`${v.label} info`,textColor:"#f9fafb",backgroundColor:h,borderColor:f,accentColor:r?"#8f96a3":"#6b7280"})]}),c("span",{style:{fontSize:"12px",color:v.tone==="fee"?y:w,fontFamily:Ee.mono,textAlign:"right",fontWeight:v.label==="Used in TX"?600:500,letterSpacing:"-0.01em"},children:v.value})]},v.label))}),c("div",{style:{marginTop:"12px",paddingTop:"12px",borderTop:`1px solid ${m}`,fontSize:"11px",color:n,fontFamily:e,lineHeight:"1.45"},children:C?.gasQuoteSource==="estimated"?"Gas quote uses a live estimate.":C?.gasQuoteSource==="configured_fallback"?"Gas quote uses a configured fallback.":"Gas quote is currently zero."})]}):c("div",{style:{fontSize:"12px",color:u?y:n,fontFamily:e,opacity:u?1:.8,lineHeight:"1.5"},children:u||"Waiting for fee estimate..."})})]})},mr=tn(Sd);function Ed(e,t){switch(e){case"success":return{bg:t.successBg,border:t.successBorder,text:t.successText};case"warning":return{bg:t.warningBg,border:t.warningBorder,text:t.warningText};case"error":return{bg:t.errorBg,border:t.errorBorder,text:t.errorText};case"info":return{bg:t.infoBg,border:t.infoBorder,text:t.infoText}}}const Rn=({variant:e,palette:t,children:n,icon:s,style:o,fontFamily:r,size:a="default"})=>{const i=Ed(e,t),d=a==="compact";return b("div",{role:e==="error"?"alert":"status",style:{backgroundColor:i.bg,border:`1px solid ${i.border}`,borderRadius:d?"7px":"8px",padding:d?"8px 10px":"12px 16px",color:i.text,fontSize:d?"12px":"13px",lineHeight:d?1.4:1.5,display:"flex",alignItems:"flex-start",gap:d?"6px":"8px",fontFamily:r,...o},children:[s&&c("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:s}),c("span",{style:{minWidth:0,overflowWrap:"anywhere"},children:n})]})},Va=Ee.mono,cs=({label:e,value:t,palette:n,valueColor:s,labelColor:o,style:r})=>b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"12px",...r},children:[c("span",{style:{fontSize:"12px",color:o??n.textSecondary,fontFamily:Va,fontWeight:500,letterSpacing:"0.03em",flexShrink:0,whiteSpace:"nowrap"},children:e}),c("span",{style:{fontSize:"13px",color:s??n.textPrimary,fontWeight:500,fontFamily:Va,minWidth:0,textAlign:"right",overflowWrap:"anywhere"},children:t})]}),fr=({onClick:e,label:t="Add Funds",color:n,fontFamily:s,style:o})=>{const[r,a]=R(!1);return b("button",{type:"button",onClick:e,"data-spiceflow-focus":!0,onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),style:{background:"none",border:"none",cursor:"pointer",padding:0,display:"inline-flex",alignItems:"center",gap:"4px",color:n,fontSize:"12px",fontWeight:500,fontFamily:s,textDecoration:"underline",textUnderlineOffset:"2px",whiteSpace:"nowrap",opacity:r?.75:1,transition:"opacity 150ms ease",...o},children:[t,b("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[c("circle",{cx:"6",cy:"6",r:"5"}),c("path",{d:"M6 4v4M4 6h4",strokeLinecap:"round"})]})]})},Fd="This deposit didn't confirm in time. It may still have gone through, so check the explorer and refresh your balance before retrying.";function Bd(e){return e?.overallStatus!=="failed"?{isFailed:!1,failureMessage:null}:{isFailed:!0,failureMessage:e.steps?.find(t=>t.status==="failed"&&!!t.error)?.error||Fd}}const uo=b("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",style:{flexShrink:0},children:[c("circle",{cx:"10",cy:"10",r:"10",fill:"#10b981"}),c("path",{d:"M6 10l3 3 5-6",stroke:"#ffffff",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),Td=({isOpen:e,onClose:t,onConfirm:n,data:s,isExecuting:o=!1,error:r=null,theme:a,styles:i,intentStatus:d,postDepositStatus:l="idle",hasPostDepositInstruction:u=!1})=>{const{dark:p,dk:m,theme:h}=It(i),[f,y]=R(!1),[g,w]=R(!0);G(()=>{e||y(!1)},[e]);const x=()=>{y(!0),setTimeout(()=>{t()},300)},B=()=>{w(!g)};if(!e||!s)return null;const k=d?.overallStatus==="processing",C=d?.overallStatus==="success",T=!!d,{isFailed:A,failureMessage:v}=Bd(d),S=!T&&u,F=S&&l==="executing",I=S&&l==="success",D=C&&u&&(l==="idle"||l==="executing")||F,E=C&&(!u||l==="success"||l==="error")||I||S&&l==="error",L=p?m.cardBg:"#ffffff",W=p?"0 -4px 20px rgba(0, 0, 0, 0.4)":"0 -4px 20px rgba(0, 0, 0, 0.15)",U=m.textSecondary,_=p?m.textPrimary:"#1f2937",P=p?m.textPrimary:"#1f2937",N=q=>c("div",{style:{marginBottom:a.spacing.md,padding:a.spacing.md,backgroundColor:i?.errorMessage?.backgroundColor||(a.mode==="light"?"#fef2f2":`${a.colors.error}20`),border:`1px solid ${i?.errorMessage?.borderColor||(a.mode==="light"?"#fecaca":a.colors.error)}`,borderRadius:i?.errorMessage?.borderRadius||a.borderRadius.md},children:c("p",{style:{color:i?.errorMessage?.color||a.colors.error,fontSize:i?.errorMessage?.fontSize||a.typography.fontSize.sm,margin:0,fontFamily:i?.errorMessage?.fontFamily||i?.fontFamily||a.typography.fontFamily},children:q})}),O={fontSize:a.typography.fontSize.sm,fontWeight:500,color:U,fontFamily:Ee.mono,letterSpacing:"0.5px"},j=(q,H,V=_)=>b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:O,children:q}),c("span",{style:{fontSize:a.typography.fontSize.sm,fontWeight:500,color:V,fontFamily:Ee.mono},children:H})]});return b("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:10,animation:f?"slideDown 0.3s ease-in":"slideUp 0.3s ease-out",pointerEvents:"auto"},children:[b("div",{style:{backgroundColor:L,borderRadius:"0",width:"100%",maxWidth:"522px",margin:"0 auto",padding:"18px 24px",boxShadow:W},children:[!C&&!I&&b($t,{children:[b("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:a.spacing.md},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"8px",cursor:"pointer"},onClick:B,children:[c("span",{style:{fontSize:"13px",fontWeight:a.typography.fontWeight.medium,color:U,fontFamily:i?.fontFamily||a.typography.fontFamily},children:"Transaction Details"}),c(Yn,{color:U,direction:g?"up":"down"})]}),c("button",{onClick:q=>{q.stopPropagation(),t()},style:{background:"none",border:"none",cursor:"pointer",padding:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:U,transition:"color 0.2s ease"},onMouseEnter:q=>{q.currentTarget.style.color=P},onMouseLeave:q=>{q.currentTarget.style.color=U},children:c(Is,{size:16})})]}),b("div",{style:{marginBottom:a.spacing.lg,display:"flex",flexDirection:"column",gap:a.spacing.md,overflow:"hidden",maxHeight:g?"200px":"0px",opacity:g?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease"},children:[j("NETWORK",s.network),j("DEPOSITED AMOUNT",s.amount,a.colors.success),s.creditedAmount&&j("CREDITED AMOUNT",s.creditedAmount),s.spicenetFee&&j("SPICENET FEE",s.spicenetFee),s.networkFee&&j("EST. NETWORK FEE",s.networkFee)]})]}),r&&!T&&N(r),A&&v&&N(v),c(Ot,{onClick:E||A?x:n,variant:"outline",fullWidth:!0,disabled:o||k||D||F,styles:i,theme:h,children:o||k||F||D?"PROCESSING...":E?"CONTINUE \u2192":A?"CLOSE":"CONFIRM DEPOSIT"}),E&&c("p",{style:{marginTop:a.spacing.md,marginBottom:0,fontSize:"14px",color:U,textAlign:"center",fontFamily:i?.fontFamily||a.typography.fontFamily},children:"Your funds are now available in your Account"}),c("div",{style:{marginTop:a.spacing.md,display:"flex",justifyContent:"center",alignItems:"center"},children:c("img",{src:$o,alt:"Powered by SpiceNet",style:{height:"auto",width:"130px",opacity:1,filter:p?"brightness(0) invert(1) opacity(0.7)":"none"}})})]}),c("style",{children:`
3
3
  @keyframes slideUp {
4
4
  from {
5
5
  transform: translateY(100%);
@@ -16,7 +16,7 @@ import{jsx as c,jsxs as w,Fragment as Gt}from"react/jsx-runtime";import xn,{useS
16
16
  transform: translateY(100%);
17
17
  }
18
18
  }
19
- `})]})},Fd=({intentStatus:e,postDepositSuccess:t=!1,postDepositAmount:n=null,postDepositStatus:o="idle",depositActionLabel:s="Post-Deposit Instruction",sourceChainName:r="Source Chain",directDepositStatus:a="idle",directDepositTxHash:i=null,directDepositChainId:d=null,styles:l})=>{const{dark:p,dk:u}=At(l),[m,h]=R([]),f=Z(null),y=p?u.cardBg:"#ffffff",g=p?u.textPrimary:"#374151",k=p?`${u.cardBorder}`:"rgba(255, 255, 255, 0.2)",x=u.textSecondary,F=p?u.successBg||"#064e3b":"#d1fae5",b=p?u.successText||"#6ee7b7":"#065f46",C=p?u.successBorder||"#065f4633":"#75FFD036",T=p?u.errorBg||"#7f1d1d":"#fecaca",v=p?u.errorText||"#fca5a5":"#991b1b",E=p?u.errorBorder||"#991b1b33":"#FCA5A536",A=e?.overallStatus==="processing",S=e?.overallStatus==="success",I=S&&o!=="idle",D=s;return X(()=>((a==="success"&&!A&&!S||t&&!A)&&(f.current=setTimeout(()=>{h([])},6e3)),()=>{f.current&&clearTimeout(f.current)}),[a,t,A,S]),X(()=>{const B=[];if(a==="processing"&&B.push({id:"direct-processing",type:"direct-processing",content:"PROCESSING DEPOSIT...",borderColor:k,backgroundColor:y,textColor:g,icon:c(vn,{size:20,borderWidth:3,color:x})}),a==="success"){const H=i&&d?Qo(d,i):void 0;B.push({id:"direct-success",type:"direct-success",content:"DEPOSIT CONFIRMED",borderColor:C,backgroundColor:F,textColor:b,explorerUrl:H!=="#"?H:void 0,icon:is})}if(A&&B.push({id:"processing",type:"processing",content:"VERIFYING TRANSACTION SIGNATURE",borderColor:k,backgroundColor:y,textColor:g,icon:c(vn,{size:20,borderWidth:3,color:x})}),S&&(B.push({id:"submitted",type:"submitted",content:"SUBMITTED TRANSACTION TO BLOCKCHAIN",borderColor:C,backgroundColor:F,textColor:b,icon:is}),B.push({id:"deposit-success",type:"deposit-success",content:`DEPOSIT TO ${r.toUpperCase()} SUCCESSFUL`,borderColor:C,backgroundColor:F,textColor:b,icon:is})),I){const H=o==="success"?C:o==="error"?E:k,W=o==="success"?F:o==="error"?T:y,P=o==="success"?b:o==="error"?v:g;let _="";o==="executing"?_=`EXECUTING ${D.toUpperCase()}...`:o==="success"?_=`${D.toUpperCase()} CONFIRMED`:o==="error"&&(_=`${D.toUpperCase()} FAILED`);let U;o==="executing"?U=c(vn,{size:20,borderWidth:3,color:x}):o==="success"?U=w("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",style:{flexShrink:0},children:[c("circle",{cx:"10",cy:"10",r:"10",fill:"#10b981"}),c("path",{d:"M6 10l3 3 5-6",stroke:"#ffffff",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):o==="error"&&(U=w("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",style:{flexShrink:0},children:[c("circle",{cx:"10",cy:"10",r:"10",fill:"#ef4444"}),c("path",{d:"M6 6l8 8M14 6l-8 8",stroke:"#ffffff",strokeWidth:"2",strokeLinecap:"round"})]})),B.push({id:"post-deposit",type:"post-deposit",content:_,status:o,borderColor:H,backgroundColor:W,textColor:P,icon:U})}t&&n&&B.push({id:"post-deposit-success",type:"post-deposit-success",content:`SUCCESSFULLY DEPOSITED ${n}`,borderColor:C,backgroundColor:F,textColor:b,icon:is}),h(H=>{const W=new Set(B.map(U=>U.id)),P=[],_=new Set;for(const U of H)if(W.has(U.id)){const N=B.find(O=>O.id===U.id);P.push(N),_.add(U.id)}for(const U of B)_.has(U.id)||P.push(U);if(P.length>3){const U=[],N=[];for(const K of P)K.type==="processing"||K.type==="post-deposit"&&K.status==="executing"?U.push(K):N.push(K);const O=[...U],j=3-O.length;return j>0&&N.length>0&&O.push(...N.slice(-j)),O}return P})},[A,S,I,o,t,n,D,r,a,i,d,p]),m.length===0?null:w("div",{style:{position:"absolute",top:"56px",left:"24px",right:"24px",zIndex:100,display:"flex",flexDirection:"column",gap:"8px",pointerEvents:"none"},children:[m.map(B=>c("div",{style:{borderRadius:"12px",border:`4px solid ${B.borderColor}`,background:"transparent",animation:"fadeInSlide 0.4s ease-out"},children:w("div",{style:{backgroundColor:B.backgroundColor,borderRadius:"8px",padding:"14px 16px",display:"flex",alignItems:"center",gap:"12px"},children:[B.icon,c("span",{style:{fontSize:"13px",fontWeight:"600",color:B.textColor,letterSpacing:"0.3px",fontFamily:Ae.ui,flex:1},children:B.content}),B.explorerUrl&&c("a",{href:B.explorerUrl,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"12px",fontWeight:"600",color:B.textColor,textDecoration:"underline",whiteSpace:"nowrap",pointerEvents:"auto",opacity:.8},children:"View tx"})]})},B.id)),c("style",{children:`
19
+ `})]})},Dd=({intentStatus:e,postDepositSuccess:t=!1,postDepositAmount:n=null,postDepositStatus:s="idle",depositActionLabel:o="Post-Deposit Instruction",sourceChainName:r="Source Chain",directDepositStatus:a="idle",directDepositTxHash:i=null,directDepositChainId:d=null,styles:l})=>{const{dark:u,dk:p}=It(l),[m,h]=R([]),f=X(null),y=u?p.cardBg:"#ffffff",g=u?p.textPrimary:"#374151",w=u?`${p.cardBorder}`:"rgba(255, 255, 255, 0.2)",x=p.textSecondary,B=u?p.successBg||"#064e3b":"#d1fae5",k=u?p.successText||"#6ee7b7":"#065f46",C=u?p.successBorder||"#065f4633":"#75FFD036",T=u?p.errorBg||"#7f1d1d":"#fecaca",A=u?p.errorText||"#fca5a5":"#991b1b",v=u?p.errorBorder||"#991b1b33":"#FCA5A536",S=e?.overallStatus==="processing",F=e?.overallStatus==="success",I=F&&s!=="idle",D=o;return G(()=>((a==="success"&&!S&&!F||t&&!S)&&(f.current=setTimeout(()=>{h([])},6e3)),()=>{f.current&&clearTimeout(f.current)}),[a,t,S,F]),G(()=>{const E=[];if(a==="processing"&&E.push({id:"direct-processing",type:"direct-processing",content:"PROCESSING DEPOSIT...",borderColor:w,backgroundColor:y,textColor:g,icon:c(Sn,{size:20,borderWidth:3,color:x})}),a==="success"){const L=i&&d?Ys(d,i):void 0;E.push({id:"direct-success",type:"direct-success",content:"DEPOSIT CONFIRMED",borderColor:C,backgroundColor:B,textColor:k,explorerUrl:L!=="#"?L:void 0,icon:uo})}if(S&&E.push({id:"processing",type:"processing",content:"VERIFYING TRANSACTION SIGNATURE",borderColor:w,backgroundColor:y,textColor:g,icon:c(Sn,{size:20,borderWidth:3,color:x})}),F&&(E.push({id:"submitted",type:"submitted",content:"SUBMITTED TRANSACTION TO BLOCKCHAIN",borderColor:C,backgroundColor:B,textColor:k,icon:uo}),E.push({id:"deposit-success",type:"deposit-success",content:`DEPOSIT TO ${r.toUpperCase()} SUCCESSFUL`,borderColor:C,backgroundColor:B,textColor:k,icon:uo})),I){const L=s==="success"?C:s==="error"?v:w,W=s==="success"?B:s==="error"?T:y,U=s==="success"?k:s==="error"?A:g;let _="";s==="executing"?_=`EXECUTING ${D.toUpperCase()}...`:s==="success"?_=`${D.toUpperCase()} CONFIRMED`:s==="error"&&(_=`${D.toUpperCase()} FAILED`);let P;s==="executing"?P=c(Sn,{size:20,borderWidth:3,color:x}):s==="success"?P=b("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",style:{flexShrink:0},children:[c("circle",{cx:"10",cy:"10",r:"10",fill:"#10b981"}),c("path",{d:"M6 10l3 3 5-6",stroke:"#ffffff",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):s==="error"&&(P=b("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",style:{flexShrink:0},children:[c("circle",{cx:"10",cy:"10",r:"10",fill:"#ef4444"}),c("path",{d:"M6 6l8 8M14 6l-8 8",stroke:"#ffffff",strokeWidth:"2",strokeLinecap:"round"})]})),E.push({id:"post-deposit",type:"post-deposit",content:_,status:s,borderColor:L,backgroundColor:W,textColor:U,icon:P})}t&&n&&E.push({id:"post-deposit-success",type:"post-deposit-success",content:`SUCCESSFULLY DEPOSITED ${n}`,borderColor:C,backgroundColor:B,textColor:k,icon:uo}),h(L=>{const W=new Set(E.map(P=>P.id)),U=[],_=new Set;for(const P of L)if(W.has(P.id)){const N=E.find(O=>O.id===P.id);U.push(N),_.add(P.id)}for(const P of E)_.has(P.id)||U.push(P);if(U.length>3){const P=[],N=[];for(const q of U)q.type==="processing"||q.type==="post-deposit"&&q.status==="executing"?P.push(q):N.push(q);const O=[...P],j=3-O.length;return j>0&&N.length>0&&O.push(...N.slice(-j)),O}return U})},[S,F,I,s,t,n,D,r,a,i,d,u]),m.length===0?null:b("div",{style:{position:"absolute",top:"56px",left:"24px",right:"24px",zIndex:100,display:"flex",flexDirection:"column",gap:"8px",pointerEvents:"none"},children:[m.map(E=>c("div",{style:{borderRadius:"12px",border:`4px solid ${E.borderColor}`,background:"transparent",animation:"fadeInSlide 0.4s ease-out"},children:b("div",{style:{backgroundColor:E.backgroundColor,borderRadius:"8px",padding:"14px 16px",display:"flex",alignItems:"center",gap:"12px"},children:[E.icon,c("span",{style:{fontSize:"13px",fontWeight:"600",color:E.textColor,letterSpacing:"0.3px",fontFamily:Ee.ui,flex:1},children:E.content}),E.explorerUrl&&c("a",{href:E.explorerUrl,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"12px",fontWeight:"600",color:E.textColor,textDecoration:"underline",whiteSpace:"nowrap",pointerEvents:"auto",opacity:.8},children:"View tx"})]})},E.id)),c("style",{children:`
20
20
  @keyframes fadeInSlide {
21
21
  from {
22
22
  opacity: 0;
@@ -27,7 +27,7 @@ import{jsx as c,jsxs as w,Fragment as Gt}from"react/jsx-runtime";import xn,{useS
27
27
  transform: translateY(0);
28
28
  }
29
29
  }
30
- `})]})};async function Bd(e,t,n){let o=null;try{const s=await e.request({method:"eth_chainId"});o=parseInt(s,16)}catch{o=null}o!==t&&(n?.(),await Kr(e,t))}async function lo(e){const t=e.provider??await e.wallet?.getEthereumProvider();if(!t)throw new Error("External wallet provider not available");await Bd(t,e.chainId,e.onSwitch);const n=Ue(e.chainId)?.viemChain;return{extWc:Ts({account:e.account,chain:n,transport:Ds(t)}),viemChain:n}}async function ja(e){let t;for(const n of e.calls){const o=await e.extWc.sendTransaction({to:n.to,data:n.data,value:n.value,chain:e.viemChain});if((await e.client.waitForTransactionReceipt({hash:o,timeout:12e4,pollingInterval:2e3,confirmations:1})).status!=="success")throw new Error(e.errorMessage);t=o}return t}function Va(e,t){return t.isNative?e.sendTransaction({to:t.recipient,value:t.amount,chain:t.viemChain}):e.sendTransaction({to:t.tokenAddr,data:ot({abi:ze,functionName:"transfer",args:[t.recipient,t.amount]}),chain:t.viemChain})}async function rr(e){const{extWc:t,sourceClient:n,recipient:o,tokenAddr:s,isNative:r,amount:a}=e;if(a<=0n)return;const i=await Va(t,{recipient:o,tokenAddr:s,isNative:r,amount:a,viemChain:e.viemChain});if((await n.waitForTransactionReceipt({hash:i,timeout:12e4,pollingInterval:2e3,confirmations:1})).status!=="success")throw new Error("Embedded wallet funding failed")}const Qa="spiceflow:pendingDeposit",ls="spiceflow:pendingDepositChanged";function qa(e,t,n){return`${Qa}:${e.toLowerCase()}:${t}:${n.toLowerCase()}`}function ar(){try{const e="__spiceflow_storage_test__";return localStorage.setItem(e,"1"),localStorage.removeItem(e),!0}catch{return!1}}function Td(e){if(!ar())return;const t=qa(e.embeddedWalletAddress,e.chainId,e.tokenAddress);try{localStorage.setItem(t,JSON.stringify(e)),window.dispatchEvent(new Event(ls))}catch(n){console.error("[pendingDeposit] Failed to save:",n)}}function Dd(e){if(!ar())return[];const t=`${Qa}:${e.toLowerCase()}:`,n=[],o=Date.now();for(let s=0;s<localStorage.length;s++){const r=localStorage.key(s);if(!(!r||!r.startsWith(t)))try{const a=localStorage.getItem(r);if(!a)continue;const i=JSON.parse(a);if(o-i.timestamp>6048e5){localStorage.removeItem(r);continue}n.push(i)}catch{localStorage.removeItem(r)}}return n}function ir(e,t,n){if(!ar())return;const o=qa(e,t,n);localStorage.removeItem(o),window.dispatchEvent(new Event(ls))}function Rd({sourceChainId:e,selectedAsset:t,destinationChainId:n,destinationTokenAddress:o,isCrossDenomination:s,convertedUsdAmount:r}){const a=Je(t.asset.address),i=o;let d,l;if(i&&n)if(d=Vo[n]?.supportedTokens?.find(p=>Be(p.address,i))?.decimals??t.asset.decimals,s){if(!r)throw new Error("Destination amount is still being calculated. Please retry in a moment.");l=r}else{const p=_e(t.amount,t.asset.decimals);l=yo(p,t.asset.decimals,d)}return{sourceChainId:e,depositTokenAddress:a,depositAmount:t.amount,depositTokenDecimals:t.asset.decimals,destinationChainId:n,destinationTokenAddress:i,destinationAmount:l,destinationTokenDecimals:d}}async function Wd(e,t){if(!e)return[];if(Array.isArray(e))return e;const n=e;return e.length>=2?n(t.depositAmount,t.depositTokenAddress):n(t)}function Ka(e,t){return!!e&&e.quotedAmount===t.amount&&e.chainId===t.chainId&&Be(e.token,t.token)}async function lr(e,t){const n=await Va(e,{recipient:t.recipient,tokenAddr:t.tokenAddr,isNative:t.isNative,amount:t.amount});t.afterSend?.(n);const o=pt(t.chainId),s=await o.waitForTransactionReceipt({hash:n,timeout:12e4,pollingInterval:2e3,confirmations:2});if(s.status!=="success")throw new Error(t.failureMessage);return t.settle&&await o.getBlockNumber()-s.blockNumber<2n&&await Sn(3e3),s.transactionHash}async function Md(e){const t=e.selectedDepositAssets.filter(s=>s.asset&&s.amount&&parseFloat(s.amount)>0);if(t.length===0){console.error("[DepositModal] No valid assets for deposit"),e.setError("Please select an asset and enter an amount");return}const n=t[0];if(!e.escrowOnly&&!e.sourceAddress){e.setError("External wallet not connected. Please connect your wallet in the previous step.");return}if(!e.isNon7702){if(!e.address||!e.embeddedWalletAddress){e.setError("Couldn't find your account wallet. Try reconnecting.");return}if(!e.isReady||!e.isAuthenticated){e.setError("Sign in to continue.");return}}if(e.zeroCreditError){e.setError(e.zeroCreditError);return}if(e.depositBalanceError){e.setError(e.depositBalanceError);return}if(e.isNon7702&&e.sponsorGas&&e.nativeChainId&&n.asset.chainId!==e.nativeChainId&&e.destinationTokenAddress){e.setError("Gas sponsorship is not supported for this deposit route. Disable sponsorGas to continue.");return}e.setIsExecuting(!0),e.setError(null);let o=!1;try{const s=n.asset.chainId,r=An(s),a=_e(n.amount,n.asset.decimals),i=t.length===1&&Ka(e.effectiveDepositFee,{amount:a,token:Je(n.asset.address),chainId:s});if(!e.isNon7702&&t.length===1&&!i)throw new Error("Fee quote is out of date. Please wait for it to refresh.");let d=e.externalWalletClient;if(!e.escrowOnly){if(!d)throw new Error("External wallet not connected");if(e.externalProvider){const l=await lo({provider:e.externalProvider,account:e.sourceAddress,chainId:s});l.viemChain&&(d=l.extWc)}}if(e.isNon7702){if(!d)throw new Error("External wallet not connected");if(!e.sourceAddress)throw new Error("External wallet address not available");if(e.nativeChainId&&s===e.nativeChainId){const l=Ue(s),p=t.map(m=>`${m.amount} ${m.asset.symbol}`).join(", ");e.setConfirmationData({network:l?.displayName||`Chain ${s}`,amount:p,symbol:"",chainId:s}),e.setShowConfirmation(!0);let u=null;e.setDirectDepositStatus("processing"),e.setDirectDepositChainId(s);for(const m of t){const h=_e(m.amount,m.asset.decimals),f=Je(m.asset.address),y=m.asset.isNative||he(f),g=await lr(d,{chainId:s,recipient:r,tokenAddr:f,isNative:y,amount:h,failureMessage:`Escrow deposit failed for ${m.asset.symbol}`});u=g,e.setDirectDepositTxHash(g)}if(t[0]?.amount){const m=t[0].amount;if(e.onDepositExecute){e.setPostDepositStatus("executing");try{await e.onDepositExecute(m),e.setPostDepositStatus("success")}catch(f){console.error("ctx.onDepositExecute failed:",f),e.setPostDepositStatus("error"),e.setPostDepositError(f?.message||"Post-deposit instruction failed")}}else e.setPostDepositStatus("success");e.setDirectDepositStatus("success"),e.setPostDepositAmount(m),e.setPostDepositSuccess(!0);const h={type:"deposit",status:"success",amount:m,asset:t[0].asset.symbol,sourceChain:l?.displayName||`Chain ${s}`,txHash:u??void 0};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:h})),e.onDepositSuccess?.(h)}e.refreshAssets(),e.onDepositSelect&&e.onDepositSelect(t[0].asset)}else{const l=e.destinationChainId||e.nativeChainId;if(!l)throw new Error("Destination chain ID is required for non-7702 mode. Either pass ctx.destinationChainId to <SpiceDeposit> or set ctx.nativeChainId on <SpiceFlowProvider>.");const p=qr(s),u=r,m=[];let h=null;for(const f of t){const y=_e(f.amount,f.asset.decimals),g=Je(f.asset.address),k=f.asset.isNative||he(g),x=await lr(d,{chainId:s,recipient:u,tokenAddr:g,isNative:k,amount:y,failureMessage:`Transfer failed for ${f.asset.symbol}`,afterSend:F=>{h||(h=F)},settle:!0});e.depositDataRef.current||(e.depositDataRef.current=[]),e.depositDataRef.current.push({txHash:x,sender:e.sourceAddress,tokenAddress:g,chainId:s,amount:y.toString(),user:e.spiceBalanceUser}),m.push({tokenAddress:g,tokenAmount:y.toString(),sender:e.sourceAddress,receiver:u})}if(!h)throw new Error("No transaction hash generated");if(!e.destinationTokenAddress){const f={type:"deposit",status:"success",amount:t[0]?.amount,asset:t[0]?.asset?.symbol,sourceChain:Jt(s),txHash:h};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:f})),e.onDepositSuccess?.(f),e.depositDataRef.current=null,e.bridgedAmountRef.current=t[0]?.amount||null,e.refreshAssets(),e.onDepositSelect&&e.onDepositSelect(t[0].asset),e.setShowConfirmation(!1);return}if(e.mode==="ondemand"){const f={to:p,value:BigInt(0),data:"0x"},y=await qo(l,e.destinationTokenAddress);let g=BigInt(0);for(const A of m){const S=BigInt(A.tokenAmount),I=Je(A.tokenAddress),D=t.find(H=>{const W=Je(H.asset.address);return Be(W,I)}),B=D?D.asset.decimals:await qo(s,Qt);g+=yo(S,B,y)}e.isCrossDenomination&&e.convertedUsdAmount&&(g=e.convertedUsdAmount);const k={chainId:s,tokenTransfers:m.map(A=>({from:A.sender,to:A.receiver,token:A.tokenAddress,amount:BigInt(A.tokenAmount)})),call:f},x=e.isCrossDenomination&&e.convertedUsdAmount?[{from:e.sourceAddress,to:r,token:Je(t[0].asset.address),amount:_e(t[0].amount,t[0].asset.decimals)}]:[],F={chainId:l,tokenTransfers:[...x,{from:"escrow",to:e.sourceAddress,token:e.destinationTokenAddress,amount:g}],call:{to:e.destinationTokenAddress,value:BigInt(0),data:"0x"}},b={mode:"non-7702:on-demand",chainBatches:[k,F]},C={user:e.sourceAddress,intents:[b]},T=await zt.createAction(C),v=T.actionId,E=T.intentIds[0];if(!h)throw new Error("No transaction hash available");e.startStatusPolling(E,Fs([{chainId:s,calls:[f]},{chainId:l,calls:[F.call]}],A=>Jt(A))),await zt.executeStep(v,0,0,{action:"execute",hash:h}),t[0]?.amount&&(e.bridgedAmountRef.current=t[0].amount),e.refreshAssets(),e.onDepositSelect&&e.onDepositSelect(t[0].asset),e.setShowConfirmation(!1)}else throw new Error("Presign mode not yet fully supported for cross-chain deposits")}}else{const l=[],p=i&&e.effectiveDepositFee?$e(e.effectiveDepositFee.net,n.asset.decimals):n?.amount;for(const b of t){const C=_e(b.amount,b.asset.decimals),T=i&&b===n,v=T?e.effectiveDepositFee.fee:0n,E=T?e.effectiveDepositFee.net:C,A=e.escrowOnly?C:C+v,S=Je(b.asset.address),I=b.asset.isNative||he(S);e.escrowOnly||await lr(d,{chainId:s,recipient:e.address,tokenAddr:S,isNative:I,amount:A,failureMessage:`Transfer to embedded wallet failed for ${b.asset.symbol}`,afterSend:()=>Td({chainId:s,tokenAddress:Je(b.asset.address),tokenSymbol:b.asset.symbol,tokenDecimals:b.asset.decimals,amount:b.amount,rawAmount:C.toString(),embeddedWalletAddress:e.address,externalWalletAddress:e.sourceAddress,timestamp:Date.now(),isNative:I}),settle:!0}),l.push(I?{to:r,value:E,data:"0x"}:{to:S,value:BigInt(0),data:ot({abi:ze,functionName:"transfer",args:[r,E]})}),v>0n&&l.push(I?{to:ln,value:v,data:"0x"}:{to:S,value:BigInt(0),data:ot({abi:ze,functionName:"transfer",args:[ln,v]})})}const u=await pt(s).getBlockNumber(),m=l.map(b=>({...b,to:bt(b.to)})),h={chainId:s,recentBlock:u,calls:m,tokenTransfers:[]},f=Rd({sourceChainId:s,selectedAsset:n&&p?{...n,amount:p}:t[0],destinationChainId:e.destinationChainId,destinationTokenAddress:e.destinationTokenAddress,isCrossDenomination:e.isCrossDenomination,convertedUsdAmount:e.convertedUsdAmount}),y=await Wd(e.depositBatches,f),g=[h,...y];if(!e.address)throw new Error("Address not available");const k=[];if(e.isCrossDenomination&&e.convertedUsdAmount&&e.destinationTokenAddress){const b=e.selectedDepositAssets[0]?.asset;if(b){const C=_e(e.selectedDepositAssets[0].amount,b.decimals);k.push({from:e.address,to:r,token:Je(b.address),amount:C}),k.push({from:"escrow",to:e.address,token:e.destinationTokenAddress,amount:e.convertedUsdAmount})}}k.length>0&&g[1]&&(g[1].tokenTransfers=k);const x=Fs(g,b=>Jt(b));let F=!1;if(await e.execution.execute(g,Qt,0n,b=>{if(b.intentId&&!F){F=!0;for(const C of t)ir(e.address,s,Je(C.asset.address));e.startStatusPolling(b.intentId,x)}},void 0,{userOverride:e.address,useCustomTransfers:!0,skipPreSubmitFeeEstimate:!0,skipUserFundingPreflight:!0}),e.refreshAssets(),e.onDepositExecute&&t[0]?.amount)try{e.setPostDepositStatus("executing"),await e.onDepositExecute(p||t[0].amount),e.setPostDepositStatus("success"),e.setPostDepositAmount(p||t[0].amount),e.setPostDepositSuccess(!0)}catch(b){console.error("ctx.onDepositExecute failed (7702):",b),e.setPostDepositStatus("error"),e.setPostDepositError(b?.message||"Post-deposit instruction failed")}e.onDepositSelect&&e.onDepositSelect(t[0].asset)}}catch(s){o=!0,console.error("[DepositModal] executeDeposit CAUGHT ERROR:",s),console.error("[DepositModal] Error details:",{message:s?.message,code:s?.code,name:s?.name,stack:s?.stack?.slice(0,500)}),e.setError(mn(s,"Deposit failed")),e.clearStatus()}finally{e.setIsExecuting(!1),o&&e.setDirectDepositStatus("idle"),o||!e.getCurrentIntentStatus()&&e.getCurrentPostDepositStatus()!=="idle"||e.setShowConfirmation(!1)}}async function Od(e){const{asset:t,assetIndex:n,selectedAssetCount:o,address:s,escrowOnly:r,isNon7702:a}=e;if(n!==0||a||o>1||!s||t.balance<=0n)return null;const i=await Ya({address:s,depositQuote:{asset:t,amount:t.balance,token:Je(t.address),chainId:t.chainId},escrowOnly:r}),d=r?t.balance:t.balance>i.fee?t.balance-i.fee:0n;return Ma(d,t.decimals)}async function Ya(e){const{address:t,depositQuote:n,escrowOnly:o}=e,{asset:s,amount:r,token:a,chainId:i}=n,d=An(i),l=s.isNative||he(a),p=r>1n?1n:0n,u=[l?{to:d,value:r,data:"0x"}:{to:a,value:0n,data:ot({abi:ze,functionName:"transfer",args:[d,r]})}];p>0n&&u.push(l?{to:ln,value:p,data:"0x"}:{to:a,value:0n,data:ot({abi:ze,functionName:"transfer",args:[ln,p]})});const m={chainId:i,tokenTransfers:[],calls:u},h=(await zt.estimateBatchGas({user:t,outputToken:a,chainBatches:[{...m,hash:Nn([m])[0].hash}],signal:e.signal})).gasFee,f=o&&h<r?r-h:r;return{fee:h,net:f,quotedAmount:r,token:a,chainId:i}}const Nd=({selectedDepositAssets:e,depositAssets:t,secondAssetOptions:n,loadingAssets:o,allowSecondAsset:s,theme:r,styles:a,dark:i,dk:d,onSelect:l,onAmountChange:p,onAdd:u,onRemove:m,resolveMaxAmount:h,onViewAllAssets:f})=>w(Gt,{children:[e.map((y,g)=>{const k=e.length===1?"Deposit":`Asset ${g+1}`;return w("div",{style:{marginBottom:r.spacing.md,position:"relative"},children:[c(vo,{assets:g===0?t:n,selectedAsset:y||void 0,onAssetSelect:x=>l(x,g),onAmountChange:x=>p(x,g),loading:o,label:k,showBalance:!0,theme:r,styles:a,allowSecondAsset:s&&g===0,onAddAsset:u,canAddAsset:e.length===1&&!!e[0]?.asset,resolveMaxAmount:h?x=>h(x,g):void 0,onViewAllAssets:g===0?f:void 0}),g===1&&c("button",{onClick:()=>m(g),style:{position:"absolute",top:"-2px",right:"-2px",background:i?`${d.cardBg}ee`:"rgba(255, 255, 255, 0.9)",border:`1px solid ${d.cardBorder}`,borderRadius:"50%",cursor:"pointer",color:r.colors.textMuted,fontSize:"16px",padding:"2px",width:"22px",height:"22px",display:"flex",alignItems:"center",justifyContent:"center",transition:an.interactive,boxShadow:"0 1px 3px rgba(0, 0, 0, 0.1)"},onMouseEnter:x=>{x.currentTarget.style.color=i?d.errorText:"#ef4444",x.currentTarget.style.background=i?d.cardBg:"#fff",x.currentTarget.style.borderColor=i?d.errorBorder:"#fecaca"},onMouseLeave:x=>{x.currentTarget.style.color=r.colors.textMuted,x.currentTarget.style.background=i?`${d.cardBg}ee`:"rgba(255, 255, 255, 0.9)",x.currentTarget.style.borderColor=i?d.cardBorder:"#e5e7eb"},title:"Remove asset",children:"\xD7"})]},`asset-${g}`)}),e.length===0&&c("div",{style:{marginBottom:r.spacing.md},children:c(vo,{assets:t,selectedAsset:void 0,onAssetSelect:y=>l(y,0),onAmountChange:y=>p(y,0),loading:o,label:"Deposit",showBalance:!0,theme:r,styles:a,allowSecondAsset:s,onAddAsset:u,canAddAsset:!1,resolveMaxAmount:h?y=>h(y,0):void 0},"initial-selector")})]}),Ud=tn(Nd);var cr="data:image/svg+xml,%3csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5 4.99995V6.99995M5 3.31245V3.31189M9.5 5C9.5 7.48528 7.48528 9.5 5 9.5C2.51472 9.5 0.5 7.48528 0.5 5C0.5 2.51472 2.51472 0.5 5 0.5C7.48528 0.5 9.5 2.51472 9.5 5Z' stroke='black' stroke-opacity='0.4' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e";const Za=xn.memo(({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,onDepositSelect:o,depositBatches:s,supportedChains:r,title:a,styles:i,onDepositAssetChange:d,assetInputHook:l,externalWalletAddress:p,onDepositAmountChange:u,allowSecondAsset:m=!1,destinationChainId:h,destinationTokenAddress:f,onDepositExecute:y,depositActionLabel:g,nativeChainId:k,sponsorGas:x=!1,preSelectedAsset:F,escrowOnly:b=!1,escrowTokenAddress:C,escrowAmount:T,escrowTokenDecimals:v,escrowTokenSymbol:E,onDepositSuccess:A,onDepositError:S,embeddedWalletAddress:I,onViewAllAssets:D})=>{const B=Vt(Lt),H=B?.mode||"7702",W=B?.allowedTokens,P=!!B?.isWhitelistGateActive,_=!b&&!!B?.isWhitelistConfigured&&B?.isUserWhitelisted!==!0,U=l?.assetAmount||"",{theme:N,dark:O,appName:j,primaryColor:K,dk:L}=At(i),q=In(),{isReady:M,isAuthenticated:ae}=q,{externalWallet:ke}=eo(),Q=B?.embeddedWalletAddress||I,G=H!="7702",ie=G?!!p:M&&ae&&!!Q,fe=Q,ue=p,qe=fe??ue,{data:z}=Xl(),[le,oe]=xn.useState(z),me=xn.useRef(null),V=xn.useRef(ke);V.current=ke;const re=ke?.address;xn.useEffect(()=>{const Y=V.current;if(!Y||!ue){me.current=null,oe(z);return}if(Y.address?.toLowerCase()!==ue?.toLowerCase()){me.current=null,oe(z);return}Y.getEthereumProvider().then(async pe=>{me.current=pe;const Fe=await pe.request({method:"eth_chainId"}),we=parseInt(Fe,16),vt=Ue(we),It=await Y.getWalletClient(we);oe(vt?Ts({account:ue,chain:vt.viemChain,transport:Ds(pe)}):It)}).catch(()=>{me.current=null,oe(z)})},[re,ue,z]);const xe=xn.useRef(null),[ee,ve]=R([]),{assets:st,loading:ye,error:mt,refreshAssets:rt}=so({address:b?fe:ue||fe,supportedChains:r,fetchBalances:oo,enabled:e,refreshInterval:e?5e3:0}),Ke=$(()=>{if(P)return[];const Y=r.flatMap(Fe=>Yr(Fe,st)),pe=(Fe,we)=>{const vt=Fe.balance>BigInt(0)?1:0,It=we.balance>BigInt(0)?1:0;return vt!==It?It-vt:(we.balanceUsd||0)-(Fe.balanceUsd||0)};return W&&W.length>0?Y.filter(Fe=>W.includes(Fe.symbol.toLowerCase())||Fe.isNative&&W.includes("native")).sort(pe):Y.filter(Fe=>Fe.balance>BigInt(0)).sort(pe)},[r,st,W,P]),Mt=$(()=>{if(!ee[0]?.asset)return[];const Y=ee[0].asset.chainId;return Ke.filter(pe=>pe.chainId===Y)},[Ke,ee]),[Le,Zt]=R(!1),[ct,Ee]=R(null),Ye=Z(S);Ye.current=S;const dt=se(Y=>{Ee(Y),typeof Y=="string"&&Y&&Ye.current?.(Y,go(Y))},[]),[J,St]=R("idle"),Bt=se(Y=>{typeof Y=="string"&&Y&&Ye.current?.(Y,go(Y))},[]),[ft,Xe]=R(!1),[Pt,Se]=R(null),[Ne,ge]=R("idle"),[Oe,Ve]=R(null),[wt,Tt]=R(null),[Ce,et]=R(null),[qt,on]=R(null),[Te,ce]=R(null),{intentStatus:He,startStatusPolling:We,clearStatus:Ct,execute:Xt}=ao(),ht=se((Y,pe)=>{const Fe=Vo[pe];return Fe?Fe.supportedTokens?.find(we=>Be(we.address,Y))?.symbol??null:null},[]),De=$(()=>{const Y=ee[0]?.asset;if(!Y||!f||!h)return!1;const pe=ht(f,h);return Oc(Y.symbol)&&!!pe&&Nc(pe)},[ee,f,h,ht]);X(()=>{ee.length>0&&U!==ee[0]?.amount&&ve(Y=>{if(Y.length===0)return Y;const pe=[...Y];return pe[0]={...pe[0],amount:U||""},pe})},[U]),X(()=>{ee.length!==0&&ve(Y=>{let pe=!1;const Fe=Y.map(we=>{if(!we.asset)return we;const vt=Ke.find(It=>It.chainId===we.asset.chainId&&Be(It.address,we.asset.address));return vt?vt===we.asset||vt.balance===we.asset.balance?we:(pe=!0,{...we,asset:vt,amount:we.amount}):we});return pe?Fe:Y})},[Ke,ee.length]),X(()=>{if(!F||ee.length>0||Ke.length===0)return;const Y=Ke.find(pe=>pe.chainId===F.chainId&&Be(pe.address,F.address));Y&&(ve([{asset:Y,amount:""}]),d?.(Y))},[F,Ke,ee.length]);const Ze=xn.useRef(null);X(()=>{if(G&&He?.overallStatus==="success"&&y&&J==="idle"){const Y=Ze.current,pe=xe.current;Y&&(async()=>{try{St("executing"),await y(Y),St("success"),Se(Y),Xe(!0);const Fe=Array.isArray(pe)?pe[0]:void 0,we={type:"deposit",status:"success",amount:Y,asset:Fe?.tokenAddress,sourceChain:Fe?String(Fe.chainId):void 0,txHash:Fe?.txHash};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:we})),A?.(we)}catch(Fe){console.error("onDepositExecute failed:",Fe),St("error"),Bt(mn(Fe,"Post-deposit instruction failed"))}finally{Ze.current=null,xe.current=null}})()}},[He?.overallStatus,G,J]);const Ge=se(()=>{dt(null)},[]);X(()=>{e||(Xe(!1),Se(null),ge("idle"),Ve(null),Tt(null))},[e]);const tt=se((Y,pe)=>{ve(Fe=>{const we=[...Fe];return we[pe]={asset:Y,amount:we[pe]?.amount||""},we}),pe===0&&d?.(Y),Ge()},[d,Ge]),gt=se(async(Y,pe)=>{if(ve(Fe=>{const we=[...Fe];return we[pe]&&(we[pe]={...we[pe],amount:Y}),we}),Ge(),pe===0)if(l?.setAssetAmount(Y),De&&Y&&parseFloat(Y)>0)try{const Fe=Ce??await Mc();Ce||et(Fe);const we=ee[0]?.asset;if(!we)return;const vt=_e(Y,we.decimals),It=f?ht(f,h):null,rn=Vo[h]?.supportedTokens?.find(Po=>Be(Po.address,f))?.decimals??6,On=Uc(vt,we.decimals,rn,Fe);on(On);const mo=$e(On,rn),vs=Fe.toLocaleString("en-US",{maximumFractionDigits:0});ce(`${Y} ${we.symbol} \u2248 $${parseFloat(mo).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})} ${It??"USD"} (rate: $${vs}/BTC)`),u?.(mo)}catch(Fe){console.error("Failed to fetch BTC/USD price:",Fe),ce(null),on(null),u?.(Y)}else ce(null),on(null),u?.(Y)},[Ge,l,u,De,Ce,ee,f,h,ht]),Ot=se(()=>{ee.length<2&&ve(Y=>[...Y,{asset:null,amount:""}])},[ee.length]),je=se(Y=>{ve(pe=>pe.filter((Fe,we)=>we!==Y)),Ge()},[Ge]),yt=Z(!1),Ht=Z(!1);X(()=>{e||(yt.current=!1,Ht.current=!1,gn(null),de(null))},[e]);const[Et,_t]=R(!1),[kt,sn]=R(null),[Nt,gn]=R(null),[Cn,de]=R(null),[te,Ie]=R(!1),[Pe,nt]=R(null),Re=$(()=>{const Y=ee[0];if(ee.length!==1||!Y?.asset||!Y.amount||parseFloat(Y.amount)<=0)return null;try{return{asset:Y.asset,amount:_e(Y.amount,Y.asset.decimals),token:Je(Y.asset.address),chainId:Y.asset.chainId}}catch{return null}},[ee]),at=$(()=>Re?[Re.chainId,Re.token.toLowerCase(),Re.amount.toString(),b?"escrow":"normal"].join("|"):null,[Re,b]),Kt=se(async(Y,pe)=>fe?Ya({address:fe,depositQuote:Y,escrowOnly:b,signal:pe}):null,[fe,b]),ut=se(async Y=>Re?Kt(Re,Y):null,[Re,Kt]),Ut=Z(ut);Ut.current=ut,Go({shouldRun:e&&!G&&!!at&&!Et&&!Le,deps:[e,G,at,Et,Le],delayMs:500,backgroundIntervalMs:1e4,onSkip:()=>{gn(null),nt(null),Ie(!1)},onCleanup:()=>Ie(!1),run:async({isBackground:Y,isCurrent:pe,signal:Fe})=>{Y||(nt(null),Ie(!0));try{const we=await Ut.current(Fe);pe()&&gn(we)}catch(we){if(!pe())return;gn(null),nt(we instanceof Error?we.message:"Failed to estimate gas fee")}finally{pe()&&Ie(!1)}}}),X(()=>{Et||Le||de(null)},[Et,Le,at]);const it=async()=>{if(ee.length===0||!ee[0]?.asset)return;const Y=ee.filter(It=>It.asset&&It.amount&&parseFloat(It.amount)>0);if(Y.length===0)return;const pe=Y[0],Fe=Ue(pe.asset.chainId),we=Y.map(It=>{const rn=parseFloat(It.amount);return`${isNaN(rn)?It.amount:rn.toPrecision(6).replace(/\.?0+$/,"")} ${It.asset.symbol}`}).join(", "),vt={network:Fe?.displayName||`Chain ${pe.asset.chainId}`,amount:we,symbol:"",chainId:pe.asset.chainId};if(!G&&Y.length===1&&Nt){de(Nt);const It=Y[0];vt.creditedAmount=`${$e(Nt.net,It.asset.decimals)} ${It.asset.symbol}`,vt.networkFee=`${$e(Nt.fee,It.asset.decimals)} ${It.asset.symbol}`}sn(vt),_t(!0)},Yt=Z(He);Yt.current=He;const Dt=Z(J);Dt.current=J;const dn=async()=>{await Md({selectedDepositAssets:ee,escrowOnly:b,sourceAddress:ue,isNon7702:G,address:fe,embeddedWalletAddress:Q,isReady:M,isAuthenticated:ae,zeroCreditError:ne,depositBalanceError:Rt,externalWalletClient:le,externalProvider:me.current,effectiveDepositFee:lt,depositBatches:s,destinationChainId:h,destinationTokenAddress:f,isCrossDenomination:De,convertedUsdAmount:qt,mode:H,sponsorGas:x,nativeChainId:k,spiceBalanceUser:qe,depositDataRef:xe,bridgedAmountRef:Ze,setIsExecuting:Zt,setError:dt,setConfirmationData:sn,setShowConfirmation:_t,setDirectDepositStatus:ge,setDirectDepositChainId:Tt,setDirectDepositTxHash:Ve,setPostDepositStatus:St,setPostDepositError:Bt,setPostDepositAmount:Se,setPostDepositSuccess:Xe,startStatusPolling:We,clearStatus:Ct,refreshAssets:rt,onDepositExecute:y,onDepositSelect:o,onDepositSuccess:A,execution:{execute:Xt},getCurrentIntentStatus:()=>Yt.current,getCurrentPostDepositStatus:()=>Dt.current})},ne=$(()=>{for(const Y of ee)if(!(!Y?.asset||!Y.amount||parseFloat(Y.amount)<=0))try{const pe=Y.asset.decimals,Fe=_e(Y.amount,pe);if(Fe<=0n)continue;const we=nc(Je(Y.asset.address)),vt=Y.asset.receiptTokenDecimals??(we==="ETH"||we==="ARB"?18:we==="USDC"||we==="SUSD"||we==="WBTC"||we==="CBTC"?6:void 0);if(vt===void 0||pe<=vt||yo(Fe,pe,vt)>0n)continue;return`Amount too small. Minimum deposit for this asset is ${$e(10n**BigInt(pe-vt),pe)} ${Y.asset.symbol}.`}catch{continue}return null},[ee]),Me=!G&&!!Re,lt=Cn??Nt,Ft=!!Re&&Ka(lt,Re),Rt=$(()=>{if(!Me||!Re||!Ft)return null;const Y=b?Re.amount:Re.amount+lt.fee;return Re.asset.balance>=Y?null:`Insufficient ${Re.asset.symbol}. Need ${$e(Y,Re.asset.decimals)} ${Re.asset.symbol} including gas.`},[Me,Re,Ft,lt,b]),[Qn,un]=R(!1),pn=ee[0]?.asset?.chainId,en=st.find(Y=>Y.isNative&&Y.chainId===pn)?.balance??0n;X(()=>{if(!e||!pn){un(!1);return}let Y=!1;return(async()=>{try{const pe=await pt(pn).getGasPrice()*150000n;Y||un(en<pe)}catch{Y||un(!1)}})(),()=>{Y=!0}},[e,pn,en]);const Wn=!Me||Ft&&!te&&!Pe&&!Rt,uo=se((Y,pe)=>Od({asset:Y,assetIndex:pe,selectedAssetCount:ee.length,address:fe,escrowOnly:b,isNon7702:G}),[G,ee.length,fe,b]),No=$(()=>{if(!Re||!lt||!Ft)return null;const Y=b?Re.amount:Re.amount+lt.fee;return{symbol:Re.asset.symbol,decimals:Re.asset.decimals,grossAmount:Y,netAmount:lt.net,totalFee:lt.fee,gasFee:lt.fee,spicenetFee:0n,bridgeFee:0n,gasQuoteSource:"estimated"}},[Re,lt,Ft,b]),Uo=parseFloat(ee[0]?.amount||"")||0,kn=ee.length>0&&ee[0]?.asset&&ee[0]?.amount&&Uo>0&&ie&&!Le&&!ne&&!Rt&&Wn&&!_;X(()=>{if(!b||!C||!T||yt.current||!ie)return;const Y=r[0];if(!Y)return;const pe=Yr(Y,[]).find(we=>Be(we.address,C));let Fe;if(pe)Fe=pe;else if(v!==void 0&&E)Fe={address:C,symbol:E,name:E,decimals:v,chainId:Y,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,isNative:he(C)};else{console.warn("[DepositModal] escrowOnly: no matching asset and missing escrowTokenDecimals/escrowTokenSymbol for",C);return}yt.current=!0,ve([{asset:Fe,amount:T}])},[b,C,T,v,E,ie,r]),X(()=>{!b||!kn||Ht.current||Le||(Ht.current=!0,dn())},[b,kn,Le]);const po=mt||ct||ne||Rt,Mn=()=>{if(Le)return"Executing Deposit...";if(!ie)return"Wallet Not Connected";if(H==="7702"){if(!M)return"Loading...";if(!ae)return"Authentication Required"}return ee[0]?.asset?ee[0]?.amount?ne?"AMOUNT TOO SMALL":Rt?"INSUFFICIENT BALANCE":Me&&!Wn?Pe?"GAS UNAVAILABLE":"ESTIMATING GAS":"DEPOSIT":"ENTER AMOUNT":"SELECT TOKEN"};return e?c(fn,{isOpen:e,onClose:t,closeOnBackdropClick:n,title:a||`Deposit to your ${j} account`,subtitle:w("div",{style:{display:"flex",alignItems:"center",gap:"5px"},children:[c("img",{src:cr,alt:"","aria-hidden":"true",style:{width:"13px",height:"13px",flexShrink:0,...O?{filter:"invert(0.6)"}:{}}}),c("p",{style:{fontSize:"12px",color:L.textSecondary,margin:"0",lineHeight:"1.4",fontFamily:Ae.ui},children:`Deposit collateral to your ${j} Account from any supported network.`})]}),dark:O,overlayContent:Et||He||J!=="idle"&&y?c("div",{}):void 0,styles:i,theme:N,children:w("div",{style:{padding:"24px 24px 5px 24px"},children:[c(Ud,{selectedDepositAssets:ee,depositAssets:Ke,secondAssetOptions:Mt,loadingAssets:ye,allowSecondAsset:m,theme:N,styles:i,dark:O,dk:L,onSelect:tt,onAmountChange:gt,onAdd:Ot,onRemove:je,resolveMaxAmount:uo,onViewAllAssets:D}),Me&&Re&&c(or,{fontFamily:i?.fontFamily||N.typography.fontFamily,textPrimary:L.textPrimary,textSecondary:L.textSecondary,cardBg:O?L.inputBg:"#ffffff",cardBorder:L.cardBorder,resolvedDark:O,darkCardBorder:L.cardBorder,primaryColor:K,feePreview:No,isLoading:te||Me&&!Ft,errorText:Pe}),c(Fd,{intentStatus:He,postDepositSuccess:ft,postDepositAmount:Pt,postDepositStatus:J,depositActionLabel:g,sourceChainName:ee[0]?.asset?.chainId?Jt(ee[0].asset.chainId):"Destination Chain",directDepositStatus:Ne,directDepositTxHash:Oe,directDepositChainId:wt,styles:i}),c(Ed,{isOpen:Et||!!He||J!=="idle"&&!!y,onClose:()=>{_t(!1),He&&Ct();const Y=J==="success"&&!He,pe=He?.overallStatus==="success"&&(y?J==="success":!0);(Y||pe)&&t()},onConfirm:dn,data:kt,isExecuting:Le,error:ct,theme:N,styles:i,intentStatus:He,postDepositStatus:J,hasPostDepositInstruction:!!y}),Te&&w(ka,{dk:L,dark:O,borderRadius:N.borderRadius.md,children:["\u26A1 ",Te]}),Qn&&c(ka,{dk:L,dark:O,borderRadius:N.borderRadius.md,children:"Low native balance in the external wallet. The deposit to spicenet account might fail."}),w("div",{style:{display:"flex",flexDirection:"column",gap:0,marginBottom:0,margin:0,padding:0},children:[po?c("div",{style:{marginBottom:"10px",fontSize:"12px",lineHeight:"1.45",color:L.errorText,fontFamily:i?.fontFamily||N.typography.fontFamily},children:po}):null,c(Wt,{variant:"outline",fullWidth:!0,onClick:it,disabled:!kn||!ie||Le,theme:N,dark:O,styles:i,children:Mn()})]})]})}):null}),Pd=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,deposits:o,onComplete:s,onCancel:r,onSkip:a,onChangeWallet:i,isProcessing:d,error:l,styles:p})=>{const{dark:u,dk:m,theme:h}=At(p);if(!e||o.length===0)return null;const f=o[0],y=p?.fontFamily||Ae.ui,g=Ae.mono,k=Jt(f.chainId),x=parseFloat(f.amount).toPrecision(6).replace(/\.?0+$/,""),F=$e(f.verifiedBalance,f.tokenDecimals);return c(fn,{isOpen:e,onClose:t,title:"Incomplete Deposit",styles:p,closeOnBackdropClick:n,children:w("div",{style:{padding:"18px 24px 24px",fontFamily:y},children:[c("p",{style:{fontSize:"14px",color:m.textSecondary,lineHeight:"1.6",margin:"0 0 18px 0"},children:"Your funds reached your wallet, but the deposit didn't finish."}),w("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto",gap:"14px 18px",marginBottom:"24px",padding:"16px 18px",backgroundColor:u?m.cardBg:"#f8fafc",border:`1px solid ${m.cardBorder}`,borderRadius:u?"14px":"10px",boxShadow:u?"inset 0 1px 0 rgba(255,255,255,0.03)":"0 1px 2px rgba(16,24,40,0.04)"},children:[w("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[c("span",{style:{fontSize:"12px",fontWeight:600,color:m.textSecondary,fontFamily:g,letterSpacing:"0.8px"},children:"NETWORK"}),c("span",{style:{fontSize:"18px",fontWeight:600,color:m.textPrimary,fontFamily:y,lineHeight:1.2},children:k})]}),w("div",{style:{display:"flex",flexDirection:"column",gap:"4px",alignItems:"flex-end",textAlign:"right"},children:[c("span",{style:{fontSize:"12px",fontWeight:600,color:m.textSecondary,fontFamily:g,letterSpacing:"0.8px"},children:"DEPOSITED AMOUNT"}),w("span",{style:{fontSize:"24px",fontWeight:700,color:m.successText,fontFamily:g,lineHeight:1.1},children:[x," ",f.tokenSymbol]}),c("span",{style:{fontSize:"12px",color:m.textSecondary,fontWeight:500,fontFamily:y},children:"Sent to embedded wallet"})]})]}),!f.hasFullBalance&&f.verifiedBalance>0n&&w("div",{style:{marginBottom:"16px",padding:"8px 12px",backgroundColor:m.warningBg,border:`1px solid ${u?m.warningBorder:"#fcd34d"}`,borderRadius:"8px",fontSize:"13px",color:m.warningText,lineHeight:"1.4"},children:["Partial balance \u2014 only ",parseFloat(F).toFixed(4)," ",f.tokenSymbol," available."]}),l&&c("div",{style:{marginBottom:"16px",padding:"10px 12px",backgroundColor:m.errorBg,border:`1px solid ${u?m.errorBorder:"#fca5a5"}`,borderRadius:"8px",fontSize:"13px",color:u?m.errorText:"#991b1b",lineHeight:"1.4"},children:l}),w("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[c(Wt,{variant:"outline",fullWidth:!0,disabled:d,onClick:()=>s(f),theme:h,dark:u,styles:p,children:"CONFIRM DEPOSIT"}),w("div",{style:{display:"flex",flexDirection:"column",gap:"10px"},children:[c(Wt,{variant:"ghost",fullWidth:!0,disabled:d,onClick:()=>r(f),theme:h,dark:u,style:{height:"48px",fontSize:"13px",letterSpacing:"0.4px",color:u?m.textPrimary:"#374151",border:`1px solid ${u?m.cardBorder:"#d1d5db"}`,borderRadius:"12px",backgroundColor:u?"rgba(255,255,255,0.02)":"#ffffff"},children:d?"RETURNING...":"RETURN FUNDS"}),w("div",{style:{display:"grid",gridTemplateColumns:i?"1fr 1fr":"1fr",gap:"10px"},children:[c(Wt,{variant:"ghost",fullWidth:!0,disabled:d,onClick:a,theme:h,dark:u,style:{height:"44px",fontSize:"12px",letterSpacing:"0.4px",color:m.textSecondary,border:`1px solid ${u?m.cardBorder:"#d1d5db"}`,borderRadius:"12px",backgroundColor:"transparent"},children:"START OVER"}),i&&c(Wt,{variant:"ghost",fullWidth:!0,disabled:d,onClick:i,theme:h,dark:u,style:{height:"44px",fontSize:"12px",letterSpacing:"0.4px",color:m.textSecondary,border:`1px solid ${u?m.cardBorder:"#d1d5db"}`,borderRadius:"12px",backgroundColor:"transparent"},children:"CHANGE WALLET"})]})]})]}),o.length>1&&w("p",{style:{fontSize:"12px",color:m.textSecondary,textAlign:"center",marginTop:"14px",marginBottom:0,lineHeight:"1.5"},children:[o.length," incomplete deposits found \u2014 resolving one at a time."]})]})})},Ld=[{source:"wallet",title:"From Wallet",description:"Deposit crypto you already hold in a connected wallet"},{source:"card",title:"With Card",description:"Buy and deposit using a debit or credit card"},{source:"exchange",title:"From Exchange",description:"Transfer from Coinbase, Binance, or any exchange"}],zd=({isOpen:e,onClose:t,closeOnBackdropClick:n,onSelect:o,styles:s})=>{const{dark:r,dk:a}=At(s),[i,d]=R(null);return c(fn,{isOpen:e,onClose:t,title:"Deposit",subtitle:"Choose how you want to add funds",styles:s,dark:r,closeOnBackdropClick:n,children:c("div",{style:{padding:"0 24px 25px",display:"flex",flexDirection:"column",gap:"12px",marginTop:"20px"},children:Ld.map(({source:l,title:p,description:u})=>w("button",{onClick:()=>o(l),onMouseEnter:()=>d(l),onMouseLeave:()=>d(null),style:{width:"100%",display:"flex",flexDirection:"column",alignItems:"flex-start",gap:"4px",padding:"14px 16px",borderRadius:"8px",border:`1px solid ${r?a.cardBorder:"#e5e7eb"}`,backgroundColor:i===l?r?a.hoverBg:"#f9fafb":r?a.cardBg:"white",cursor:"pointer",textAlign:"left",transition:an.color},children:[c("span",{style:{fontSize:"15px",fontWeight:600,fontFamily:Ae.ui,color:r?a.textPrimary:"#111827"},children:p}),c("span",{style:{fontSize:"13px",fontFamily:Ae.ui,color:r?a.textSecondary:"#6b7280"},children:u})]},l))})})},Hd=({isOpen:e,onClose:t,onBack:n,closeOnBackdropClick:o,source:s,destinationChainId:r,onShowWidget:a,onHideWidget:i,verifying:d,verifyError:l,onRetryVerify:p,funded:u,styles:m})=>{const{dark:h,dk:f,primaryColor:y,theme:g}=At(m),k=Jt(r),x=Z(null),F=Z(a);F.current=a;const b=Z(i);b.current=i;const C=d||!!l||!!u;return X(()=>{if(!e)return;const T=x.current;if(T){if(C){b.current();return}return F.current(T,s),()=>b.current()}},[e,s,C]),c(fn,{isOpen:e,onClose:t,title:s==="card"?"Deposit with Card":"Deposit from Exchange",styles:m,dark:h,closeOnBackdropClick:o,children:w("div",{style:{padding:"0 24px 25px",display:"flex",flexDirection:"column",gap:"12px",marginTop:"12px"},children:[c("button",{onClick:n,disabled:d,style:{alignSelf:"flex-start",padding:0,border:"none",background:"none",fontSize:"13px",fontFamily:Ae.ui,color:h?f.textSecondary:"#6b7280",cursor:d?"default":"pointer",opacity:d?.5:1},children:"\u2190 Back"}),w("div",{style:{position:"relative",width:"100%"},children:[c("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center"},children:c(vn,{size:28,color:y})}),c("div",{ref:x,style:{position:"relative",width:"100%",height:"560px"}}),C&&c("div",{style:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"16px",padding:"24px",borderRadius:"9px",backgroundColor:h?"rgba(0, 0, 0, 0.82)":"rgba(255, 255, 255, 0.94)"},children:d?w(Gt,{children:[c(vn,{size:28,color:y}),w("p",{style:{margin:0,fontSize:"14px",fontFamily:Ae.ui,color:h?f.textPrimary:"#111827",textAlign:"center"},children:["Confirming your deposit arrived on ",k,"\u2026"]})]}):u?w(Gt,{children:[w("p",{style:{margin:0,fontSize:"14px",fontFamily:Ae.ui,color:h?f.textPrimary:"#111827",textAlign:"center"},children:[u.amount," ",u.symbol," is in your wallet on"," ",k,"."]}),c(Wt,{variant:"outline",onClick:t,theme:g,dark:h,styles:m,children:"DONE"})]}):w(Gt,{children:[c("p",{style:{margin:0,fontSize:"14px",fontFamily:Ae.ui,color:h?f.textPrimary:"#111827",textAlign:"center"},children:l}),c(Wt,{variant:"outline",onClick:p,theme:g,dark:h,styles:m,children:"RETRY"}),c("button",{onClick:t,style:{padding:0,border:"none",background:"none",fontSize:"13px",fontFamily:Ae.ui,color:h?f.textSecondary:"#6b7280",cursor:"pointer",textDecoration:"underline"},children:"Close \u2014 we'll detect your funds later"})]})})]})]})})},jd="692fb8af264069ca12a9",co=42161,Vd=[8453,co];function Qd(e){const{targetKind:t,appChainId:n}=e;return t!=="external"||n===void 0||!Vd.includes(n)?co:Jr("USDC",n)?n:co}function cs(e=co){return Jr("USDC",e)}function qd(e){const t=e?.integratorId??jd;return{integratorId:t,enabled:e?.enabled===!0&&t!=="",embedFactory:e?.embedFactory}}const Kd=e=>import("@swapper-finance/deposit-sdk").then(t=>new t.SwapperEmbed(e));function Yd(e,t,n){return{themeMode:t?"dark":"light",componentStyles:{width:"100%",primaryColor:n,accentColor:n,borderRadius:"9px",...t?{backgroundColor:e.shell,surfaceColor:e.cardBg,surfaceAltColor:e.inputBg,textColor:e.textPrimary,border:`1px solid ${e.cardBorder}`}:{}}}}function Xa(e){return e==="card"?["depositWithCash"]:e==="exchange"?["transferCrypto"]:["depositWithCash","transferCrypto"]}function Zd(e){const t=e.destinationChainId??co,n=cs(t);if(!n)throw new Error("USDC is not configured for the Swapper destination chain");return{iframeUrl:"https://swapper-deposit-sdk.web.app/",integratorId:e.integratorId,dstChainId:String(t),dstTokenAddr:n.address,depositWalletAddress:e.depositWalletAddress,supportedDepositOptions:Xa(e.source),styles:e.styles,actionLabel:"deposit",flexibleHeight:!0,iframeAttributes:{borderRadius:"9px"}}}async function Ga(e,t=co){const n=cs(t);if(!n)throw new Error("USDC is not configured for the Swapper destination chain");return pt(t).readContract({address:n.address,abi:ze,functionName:"balanceOf",args:[e]})}async function Xd(e,t,n){const o=n?.timeoutMs??12e4,s=n?.intervalMs??3e3,r=Date.now()+o;for(;Date.now()<r;){if(n?.signal?.aborted)return null;try{const a=await Ga(e,n?.chainId);if(a>t)return a}catch{}await new Promise(a=>setTimeout(a,s))}return null}const dr=e=>{const[t,n]=R(!1),o=Vt(Lt),{dark:s,dk:r}=At();if(X(()=>{n(!0)},[]),!t)return c("div",{className:e.className,children:c("button",{disabled:!0,style:{padding:"12px 24px",fontSize:"16px",backgroundColor:s?r.hoverBg:"#ccc",color:s?r.textSecondary:"white",border:s?`1px solid ${r.buttonBorder}`:"none",borderRadius:"4px",cursor:"not-allowed"},children:"Loading..."})});if(!o){const a='ProviderLogin must be used within SpiceFlowProvider. Please wrap your app with <SpiceFlowProvider provider="privy">.';return c("div",{className:e.className,children:c("button",{onClick:()=>{e.onAuthError&&e.onAuthError(a)},style:{padding:"12px 24px",fontSize:"16px",backgroundColor:s?r.errorBg:"#dc2626",color:s?r.errorText:"white",border:s?`1px solid ${r.errorBorder}`:"none",borderRadius:"4px",cursor:"pointer"},children:"Provider Not Found"})})}return c(zl,{...e})},Gd=.01,Jd=5*60*1e3;function $d(e){const t=Number($e(e.verifiedBalance,e.tokenDecimals));return Number.isFinite(t)?t:0}async function _d(e){const t=eu(e);let n;try{n=await Vs(t.map(o=>o.tokenSymbol))}catch{return t}return t.filter(o=>{const s=$d(o);if(s<=0)return!0;const r=n[o.tokenSymbol.toUpperCase()]??0;return!Number.isFinite(r)||r<=0?!0:s*r>=Gd})}function eu(e){const t=new Map;for(const n of e){const o=`${n.chainId}:${n.tokenAddress.toLowerCase()}`;t.get(o)||t.set(o,{...n,amount:n.timestamp===0?$e(n.verifiedBalance,n.tokenDecimals):n.amount,rawAmount:n.timestamp===0?n.verifiedBalance.toString():n.rawAmount,hasFullBalance:n.timestamp===0?!0:n.hasFullBalance})}return Array.from(t.values())}function Ja(e,t){const[n,o]=R([]),[s,r]=R(!1),a=Z(t);a.current=t;const i=Z(0),d=Z(0),l=se(async({forceDiscovery:p=!1}={})=>{if(!e){o([]),r(!1);return}const u=++d.current,m=()=>u!==d.current;r(!0);try{const h=[],f=Dd(e);for(const x of f){if(m())return;try{const F=pt(x.chainId);let b;if(x.isNative||he(x.tokenAddress)?b=await Rs(F,{address:e}):b=await Pn(F,{address:bt(x.tokenAddress),abi:ze,functionName:"balanceOf",args:[e]}),m())return;b>0n?h.push({...x,verifiedBalance:b,hasFullBalance:b>=BigInt(x.rawAmount)}):Date.now()-x.timestamp>15*60*1e3&&ir(e,x.chainId,x.tokenAddress)}catch(F){console.warn(`[usePendingDeposit] Failed to verify balance for ${x.tokenSymbol} on chain ${x.chainId}:`,F),h.push({...x,verifiedBalance:0n,hasFullBalance:!1})}}if(m())return;const y=a.current,g=Date.now(),k=(y?.discoverWalletBalances??!0)&&(p||g-i.current>=Jd);if(y?.network&&k){i.current=g;const x=y.chainIds??Ko(y.network),F=new Set(h.map(C=>`${C.chainId}:${C.tokenAddress.toLowerCase()}`)),b=[];for(const C of x){const T=Ue(C);if(T?.supportedTokens)for(const v of T.supportedTokens){if(he(v.address))continue;const E=`${C}:${v.address.toLowerCase()}`;F.has(E)||b.push((async()=>{try{const A=pt(C),S=await Pn(A,{address:bt(v.address),abi:ze,functionName:"balanceOf",args:[e]});return S>0n?{chainId:C,tokenAddress:v.address,tokenSymbol:v.symbol,tokenDecimals:v.decimals,amount:$e(S,v.decimals),rawAmount:S.toString(),embeddedWalletAddress:e,externalWalletAddress:"",timestamp:0,isNative:!1,verifiedBalance:S,hasFullBalance:!0}:null}catch{return null}})())}}if(b.length>0){const C=await Promise.allSettled(b);if(m())return;for(const T of C)T.status==="fulfilled"&&T.value&&h.push(T.value)}}if(!m()){const x=await _d(h);if(m())return;o(x)}}catch(h){console.error("[usePendingDeposit] Verification error:",h),m()||o([])}finally{m()||r(!1)}},[e]);return X(()=>{if(!a.current?.enabled){d.current++,o([]),r(!1);return}l({forceDiscovery:!0});const p=a.current?.pollIntervalMs??3e4;if(p<=0||!e)return()=>{d.current++};const u=setInterval(()=>{l({forceDiscovery:!1})},p),m=()=>l({forceDiscovery:!0});return window.addEventListener(ls,m),()=>{d.current++,window.removeEventListener(ls,m),clearInterval(u)}},[l,e]),{pendingDeposits:n,loading:s,refresh:()=>l({forceDiscovery:!0})}}function tu({enabled:e,integratorId:t,depositWalletAddress:n,destinationChainId:o,brand:s,embedFactory:r,onTransactionSuccess:a,onCloseRequest:i}){const d=Z(null),l=Z(null),p=Z(a);p.current=a;const u=Z(i);u.current=i;const m=Z(s);m.current=s;const h=Z(r);h.current=r;const f=se((k,x,F)=>{if(!x.isConnected)return;const b=k.getIframe();b.updateConfig({supportedDepositOptions:Xa(F)}),b.sendConfig(),k.showIn(x)},[]);X(()=>{if(!e||!n)return;let k=!1;return Promise.resolve().then(()=>{const{dk:x,dark:F,primaryColor:b}=m.current;return(h.current??Kd)(Zd({integratorId:t,depositWalletAddress:n,destinationChainId:o,source:null,styles:Yd(x,F,b)}))}).then(x=>{if(k){x.destroy();return}const F=x.getIframe();F.on("transaction_success",C=>p.current(C)),F.on("close_request",()=>u.current()),d.current=x;const b=l.current;b&&f(x,b.placeholder,b.source)}).catch(x=>{console.error("[useSwapperEmbed] Failed to preload Swapper widget:",x)}),()=>{k=!0,l.current=null,d.current?.destroy(),d.current=null}},[e,t,n,o,f]);const y=se((k,x)=>{l.current={placeholder:k,source:x};const F=d.current;F&&f(F,k,x)},[f]),g=se(()=>{l.current=null,d.current?.hide()},[]);return{showWidget:y,hideWidget:g}}function nu(e,t,n,o,s){return{address:t,symbol:n||"UNKNOWN",name:n||"Unknown Token",decimals:o||18,chainId:e,balance:0n,balanceFormatted:s?parseFloat(s):0,balanceUsd:0,isNative:he(t)}}function ou(e,t){const n=e?.data;if(!n||typeof n!="object")return null;const o=n;if(o.__spiceflowPlaygroundMock!==!0)return null;try{if(typeof o.amountReceivedRaw=="string")return BigInt(o.amountReceivedRaw);if(typeof o.amountReceived=="string"||typeof o.amountReceived=="number")return _e(String(o.amountReceived),t)}catch{return null}return null}const su=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,styles:o,depositBatches:s,onDepositAmountChange:r,destinationChainId:a,destinationTokenAddress:i,onDepositExecute:d,depositActionLabel:l,sponsorGas:p=!1,escrowRecovery:u,skipTokenSelection:m=!1,onDepositSuccess:h,onDepositError:f,skipRecovery:y=!1})=>{const g=Vt(Lt);if(!g)return c("div",{children:"Error: SpiceDeposit must be used within SpiceFlowProvider"});const k=(g.mode||"7702")!="7702",x=k,F=g.nativeChainId,b=g.network||"testnet",{dark:C,dk:T,primaryColor:v}=At(o),E=!!u,A=In(),{isReady:S,isAuthenticated:I,actions:D}=A,B=g?.embeddedWalletAddress,{address:H}=Bs(),W=g?.externalWalletAddress??H,P=!!W,_=qd(g.swapper),U=x?{address:W,kind:"external"}:{address:B,kind:"embedded"},N=Qd({targetKind:U.kind,appChainId:a||F}),O=_.enabled&&!E&&b==="mainnet"&&!!cs(N),j=()=>m?"deposit":"select-token",K=()=>O?"select-source":x?P?j():"connect-wallet":"provider-login",[L,q]=R(K()),[M,ae]=R(null),[ke,Q]=R(!1),[G,ie]=R(null),[fe,ue]=R(!1),[qe,z]=R(null),[le,oe]=R(null),[me,V]=R(null),re=Z(null),xe=Z(null),{pendingDeposits:ee,loading:ve,refresh:st}=Ja(B,{enabled:e,network:b,chainIds:g.supportedChainIds}),[ye,mt]=R(null),[rt,Ke]=R(!1),[Mt,Le]=R(null),[Zt,ct]=R(!1),[Ee,Ye]=R("idle");X(()=>{e&&!y&&!E&&!ye&&!Zt&&Ee==="idle"&&I&&B&&P&&W&&!ve&&ee.length>0&&L!=="recovery"&&L!=="deposit"&&L!=="swapper"&&q("recovery")},[e,y,E,I,B,P,W,ve,ee,L,ye,Zt,Ee]);const dt=se(ce=>{const He={address:ce.tokenAddress,symbol:ce.tokenSymbol,name:ce.tokenSymbol,decimals:ce.tokenDecimals,chainId:ce.chainId,balance:ce.verifiedBalance,balanceFormatted:parseFloat(ce.amount),balanceUsd:0,isNative:ce.isNative};ae(He),mt(ce),q("deposit")},[]),J=se(ce=>{if(ie(ce),x){q(P?ce==="wallet"?j():"swapper":"connect-wallet");return}const He=I&&!!B;q(ce==="wallet"?He?P?j():"connect-wallet":"provider-login":He?"swapper":"provider-login")},[x,I,B,P,m]),St=se(()=>{xe.current?.abort(),ue(!1),z(null),oe(null),ie(null),re.current=null,V(null),q("select-source")},[]);X(()=>{L==="swapper"&&(me||!U.address||V({address:U.address,kind:U.kind}))},[L,me,U.address,U.kind]);const Bt=me??U,ft=Bt.address,Xe=Bt.kind,Pt=se(async ce=>{if(!ft)return;xe.current?.abort();const He=new AbortController;xe.current=He,z(null),ue(!0);const We=cs(N);if(!We){ue(!1);return}const Ct=De=>{ue(!1);const Ze=$e(De,We.decimals);if(Xe==="external"){oe({amount:Ze,symbol:We.symbol});const Ge={type:"wallet-funding",status:"success",amount:Ze,asset:We.address,sourceChain:String(N)};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:Ge})),h?.(Ge);return}dt({chainId:N,tokenAddress:We.address,tokenSymbol:We.symbol,tokenDecimals:We.decimals,amount:Ze,rawAmount:De.toString(),embeddedWalletAddress:ft,externalWalletAddress:"",timestamp:0,isNative:!1,verifiedBalance:De,hasFullBalance:!0})},Xt=ou(ce,We.decimals);if(Xt!==null){Ct(Xt);return}const ht=await Xd(ft,re.current??0n,{signal:He.signal,chainId:N});if(!He.signal.aborted){if(ht===null){ue(!1);const De=Ue(N)?.viemChain?.name??`chain ${N}`;z(`We haven't seen your funds arrive on ${De} yet \u2014 they may still be in transit.`);return}Ct(ht)}},[ft,Xe,N,dt,h]);X(()=>{if(L!=="swapper"||!ft||re.current!==null)return;let ce=!1;return Ga(ft,N).then(He=>{ce||(re.current=He)}).catch(()=>{ce||(re.current=0n)}),()=>{ce=!0}},[L,ft,N]);const{showWidget:Se,hideWidget:Ne}=tu({enabled:e&&O,integratorId:_.integratorId,depositWalletAddress:ft,destinationChainId:N,brand:{dk:T,dark:C,primaryColor:v},embedFactory:_.embedFactory,onTransactionSuccess:Pt,onCloseRequest:()=>{fe||St()}}),ge=se(()=>{ct(!0),q(I&&B&&P&&W?m?"deposit":"select-token":I&&B?"connect-wallet":"provider-login")},[I,B,P,W,m]),Oe=se(()=>{Le(null),Ye("awaiting-disconnect"),q("connect-wallet")},[]),Ve=se(async ce=>{Ke(!0),Le(null);try{if(!B)throw new Error("Embedded wallet not available");const He=await D.getEthereumProvider(),We=Ue(ce.chainId);await Kr(He,ce.chainId);const Ct=pt(ce.chainId),Xt=await Rs(Ct,{address:B}),ht=We?.viemChain?.name||`chain ${ce.chainId}`;if(Xt===0n)throw new Error(`Your embedded wallet has no ETH on ${ht} to pay for gas. We recommend completing the deposit instead \u2014 it doesn't require gas.`);const De=Ts({account:B,transport:Ds(He),chain:We?.viemChain}),Ze=ce.externalWalletAddress&&$t(ce.externalWalletAddress)?ce.externalWalletAddress:W;if(!Ze||!$t(Ze))throw new Error("Connect the external wallet that should receive these funds, then try again.");let Ge;ce.isNative||he(ce.tokenAddress)?Ge=await De.sendTransaction({to:Ze,value:ce.verifiedBalance,chain:We?.viemChain}):Ge=await De.sendTransaction({to:ce.tokenAddress,data:ot({abi:ze,functionName:"transfer",args:[Ze,ce.verifiedBalance]}),chain:We?.viemChain}),await Ct.waitForTransactionReceipt({hash:Ge,confirmations:1}),ir(ce.embeddedWalletAddress,ce.chainId,ce.tokenAddress),st(),ee.length<=1&&q(K())}catch(He){const We=He?.message||"Couldn't return your funds. Please try again.",Ct=/insufficient funds for gas/i.test(We);Le(Ct?"Not enough ETH in your embedded wallet to cover gas fees. Complete the deposit instead \u2014 it doesn't require gas.":We)}finally{Ke(!1)}},[D,B,W,ee,st]);X(()=>{e||(mt(null),Le(null),Ke(!1),ct(!1),Ye("idle"),xe.current?.abort(),ie(null),ue(!1),z(null),oe(null),re.current=null,V(null))},[e]),X(()=>{if(Ee!=="idle"){if(Ee==="awaiting-disconnect"){(!P||!W)&&Ye("awaiting-reconnect");return}e&&!ve&&ee.length>0&&I&&B&&(Ye("idle"),q("recovery"))}},[Ee,P,W,e,ve,ee,I,B]),X(()=>{!E||!e||(I&&B?(Q(!0),!M&&u?.chainId&&u?.tokenAddress&&ae(nu(u.chainId,u.tokenAddress,u.tokenSymbol,u.tokenDecimals,u.amount)),q("deposit")):q("provider-login"))},[E,e,L,I,B]);const{assets:wt,loading:Tt}=so({address:W,supportedChains:g.supportedChainIds,fetchBalances:oo,enabled:e&&!!W,refreshInterval:e?5e3:0}),Ce=se(()=>{Q(!0),q(E?"deposit":G==="card"||G==="exchange"?"swapper":P?m?"deposit":"select-token":"connect-wallet")},[E,G,P,m]),et=se(async()=>{if((!P||!W)&&(await Sn(500),!P||!W)){alert("Please connect your wallet first");return}q(m?"deposit":"select-token")},[P,W,m]),qt=se(ce=>{ae(ce),q("deposit")},[]),on=se(()=>{if(ae(null),r?.(""),!W){q("connect-wallet");return}q("select-token")},[W,r]),Te=se(()=>{t()},[t]);if(X(()=>{if(!e){const ce=setTimeout(()=>{E||(q(K()),ae(null)),Q(!1)},300);return()=>clearTimeout(ce)}},[e,E,u?.chainId]),X(()=>{e&&L==="deposit"&&!M&&!E&&!ye&&!m&&q("select-token")},[e,L,M,E,ye,m]),X(()=>{if(e&&L==="connect-wallet"&&P&&W&&Ee==="idle"){if(O&&!G){q("select-source");return}if(O&&G&&G!=="wallet"){q("swapper");return}q(m?"deposit":"select-token")}},[e,L,P,W,Ee,m,O,G]),X(()=>{if(!x&&e&&L==="provider-login"&&S&&I&&B&&!ke){const ce=setTimeout(()=>{Q(!0),q(G==="card"||G==="exchange"?"swapper":P?m?"deposit":"select-token":"connect-wallet")},100);return()=>clearTimeout(ce)}},[x,e,L,S,I,B,G,P,m,ke]),!e)return null;if(L==="recovery")return c(Pd,{isOpen:e,onClose:Te,closeOnBackdropClick:n,deposits:ee,onComplete:dt,onCancel:Ve,onSkip:ge,onChangeWallet:Oe,isProcessing:rt,error:Mt,styles:o});if(L==="select-source")return O?c(zd,{isOpen:e,onClose:Te,closeOnBackdropClick:n,onSelect:J,styles:o}):(q("provider-login"),null);if(L==="swapper")return G!=="card"&&G!=="exchange"?(q(K()),null):ft?c(Hd,{isOpen:e,onClose:Te,onBack:St,closeOnBackdropClick:n,source:G,destinationChainId:N,onShowWidget:Se,onHideWidget:Ne,verifying:fe,verifyError:qe,onRetryVerify:Pt,funded:le,styles:o}):c("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",padding:"16px",zIndex:50},children:c("div",{style:{backgroundColor:C?T.cardBg:"white",borderRadius:"9px",padding:"32px 24px",maxWidth:"400px",width:"100%",textAlign:"center",fontFamily:'"Helvetica Neue", sans-serif',fontSize:"14px",color:C?T.textPrimary:"#111827"},children:"Preparing your account..."})});if(L==="provider-login"&&!x)return c("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",padding:"16px",zIndex:50},children:c("div",{style:{backgroundColor:C?T.cardBg:"white",borderRadius:"9px",padding:"32px 24px",maxWidth:"400px",width:"100%"},children:c(dr,{onAuthSuccess:Ce,autoTrigger:!0})})});if(L==="connect-wallet")return c(Kc,{isOpen:e,onClose:Te,closeOnBackdropClick:n,onContinue:et,requiredChainId:k?F:void 0,styles:o});if(L==="select-token")return W?c(Vc,{isOpen:e,onClose:Te,closeOnBackdropClick:n,onTokenSelect:qt,walletAddress:W,supportedChainIds:g.supportedChainIds,network:b,prefetchedAssets:Tt?null:wt??null,styles:o,dark:C}):(q("connect-wallet"),null);if(L==="deposit"){if(!M&&!m)return null;const ce=!!ye;return c(Za,{isOpen:e,onClose:Te,closeOnBackdropClick:n,supportedChains:M?[M.chainId]:g.supportedChainIds??[],styles:o,externalWalletAddress:W,depositBatches:ce?void 0:s,onDepositAmountChange:r,destinationChainId:a,destinationTokenAddress:i,onDepositExecute:d,depositActionLabel:l,nativeChainId:F,sponsorGas:p,preSelectedAsset:M??void 0,escrowOnly:E||ce,escrowTokenAddress:ce?ye.tokenAddress:u?.tokenAddress,escrowAmount:ce?ye.amount:u?.amount,escrowTokenDecimals:ce?ye.tokenDecimals:u?.tokenDecimals,escrowTokenSymbol:ce?ye.tokenSymbol:u?.tokenSymbol,onDepositSuccess:h,onDepositError:f,embeddedWalletAddress:B,onViewAllAssets:m?void 0:on})}return null},ru=e=>Vt(Lt)?c(su,{...e}):c("div",{children:"Error: SpiceDeposit must be used within SpiceFlowProvider"}),au=({isOpen:e,onClose:t,onChainSelect:n,supportedChains:o,closeOnSelect:s=!0,styles:r})=>{const{theme:a,dark:i,primaryColor:d,dk:l}=At(r),[p,u]=R(""),[m,h]=R(null),[f,y]=R(null),[g,k]=R(!1),[x,F]=R(null),{switchChainAsync:b}=Zr(),C=$(()=>new Set(o||[]),[o]),T=$(()=>{if(!o||o.length===0)return[];const S=[];return o.forEach((I,D)=>{if(typeof I!="number")return;const B=Ue(I);B&&S.push({id:I.toString(),name:B.displayName,icon:Ln[I]||Co,chainId:I,verified:!0,order:D})}),S},[o]);X(()=>{m&&!C.has(parseInt(m,10))&&h(null)},[m,C]);const v=$(()=>T.filter(S=>S.name.toLowerCase().includes(p.toLowerCase())).sort((S,I)=>S.order-I.order),[T,p]),E=async()=>{if(!m)return;const S=parseInt(m,10);k(!0),F(null);try{await b({chainId:S}),n&&n(m),s&&t()}catch(I){console.error("Failed to switch chain:",I),F(mn(I,"Failed to switch chain."))}finally{k(!1)}},A=!m||g;return w(fn,{isOpen:e,onClose:t,title:"Select Chain",styles:r,theme:a,dark:i,children:[c("div",{style:{padding:"24px 20px"},children:c(Os,{value:p,onChange:u,ariaLabel:"Search chains",placeholder:"Search chain name, symbol or address",size:"md",dark:i,styles:r,endAdornment:c("div",{style:{padding:"5px 5px",borderRadius:"3px",fontSize:"13px",backgroundColor:i?l.cardBg:"#E9E9E9",color:i?l.textSecondary:"#485066",fontWeight:500,flexShrink:0},"aria-hidden":"true",children:"\u2318F"})})}),c("div",{style:{padding:"0 32px 20px",display:"flex",flexDirection:"column",gap:"12px"},children:v.map(S=>{const I=m===S.id,D=f===S.id;return w("button",{onClick:()=>h(S.id),onMouseEnter:()=>y(S.id),onMouseLeave:()=>y(null),style:{width:"100%",display:"flex",alignItems:"center",gap:"16px",padding:"8px",borderRadius:"8px",backgroundColor:I?i?`${d}15`:`${d}12`:"transparent",border:I?i?`1px solid ${d}66`:`1px solid ${d}88`:D?i?`1px solid ${d}44`:`1px solid ${d}66`:"1px solid transparent",cursor:"pointer",transition:an.interactive},children:[c("div",{style:{width:"40px",height:"40px",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"30px"},children:c("img",{src:S.icon,alt:S.name,loading:"lazy",decoding:"async",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),w("div",{style:{display:"flex",alignItems:"center",gap:"6px",flex:1},children:[c("span",{style:{fontFamily:Ae.mono,fontSize:"17px",fontWeight:500,letterSpacing:"0.4px",color:l.textPrimary,textAlign:"left"},children:S.name}),S.verified&&c("img",{src:ba,alt:"","aria-hidden":"true",loading:"lazy",decoding:"async",width:16,height:16,style:{width:"16px",height:"16px",filter:i?"brightness(0) invert(1)":"none"}})]})]},S.id)})}),x&&c("div",{style:{padding:"0 25px 12px"},children:c(Bn,{variant:"error",size:"compact",palette:l,children:x})}),c("div",{style:{padding:"0 25px 25px"},children:w(Wt,{variant:"outline",onClick:E,disabled:A,fullWidth:!0,theme:a,styles:r,dark:i,children:["SELECT",c(hc,{size:20})]})})]})},$a=({isSuccess:e,type:t,chainName:n,explorerUrl:o,txHash:s,dark:r=!1,successBg:a="#d1fae5",successBorder:i="#6ee7b7",successText:d="#065f46",errorBg:l="#fee2e2",errorBorder:p="#fca5a5",errorText:u="#dc2626",textSecondary:m="#6b7280"})=>w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px",borderRadius:"8px",backgroundColor:e?a:l,border:e?`1px solid ${i}`:`1px solid ${p}`},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"12px"},children:[c("div",{style:{width:"28px",height:"28px",borderRadius:"50%",backgroundColor:e?"#10b981":"#ef4444",display:"flex",alignItems:"center",justifyContent:"center"},children:e?c("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:c("path",{d:"M11.6667 3.5L5.25 9.91667L2.33333 7",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):c("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:c("path",{d:"M10.5 3.5L3.5 10.5M3.5 3.5L10.5 10.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),w("div",{children:[c("p",{style:{margin:0,fontSize:"14px",fontWeight:600,fontFamily:Ae.mono,letterSpacing:"0.5px",color:e?d:u},children:e?`${t.toUpperCase()} CONFIRMED`:`${t.toUpperCase()} FAILED`}),w("p",{style:{margin:"2px 0 0 0",fontSize:"12px",color:m},children:["on ",n]})]})]}),o&&s&&w("a",{href:`${o}/tx/${s}`,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",gap:"4px",fontSize:"13px",color:m,textDecoration:"none",whiteSpace:"nowrap"},children:["View on explorer",w("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:[c("path",{d:"M9 6.5V9.5C9 9.76522 8.89464 10.0196 8.70711 10.2071C8.51957 10.3946 8.26522 10.5 8 10.5H2.5C2.23478 10.5 1.98043 10.3946 1.79289 10.2071C1.60536 10.0196 1.5 9.76522 1.5 9.5V4C1.5 3.73478 1.60536 3.48043 1.79289 3.29289C1.98043 3.10536 2.23478 3 2.5 3H5.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),c("path",{d:"M7.5 1.5H10.5V4.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),c("path",{d:"M5 7L10.5 1.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})]})]})]}),_a=`
30
+ `})]})};async function Rd(e,t,n){let s=null;try{const o=await e.request({method:"eth_chainId"});s=parseInt(o,16)}catch{s=null}s!==t&&(n?.(),await _r(e,t))}async function ds(e){const t=e.provider??await e.wallet?.getEthereumProvider();if(!t)throw new Error("External wallet provider not available");await Rd(t,e.chainId,e.onSwitch);const n=Ue(e.chainId)?.viemChain;return{extWc:No({account:e.account,chain:n,transport:Oo(t)}),viemChain:n}}async function Qa(e){let t;for(const n of e.calls){const s=await e.extWc.sendTransaction({to:n.to,data:n.data,value:n.value,chain:e.viemChain});if((await e.client.waitForTransactionReceipt({hash:s,timeout:12e4,pollingInterval:2e3,confirmations:1})).status!=="success")throw new Error(e.errorMessage);t=s}return t}function qa(e,t){return t.isNative?e.sendTransaction({to:t.recipient,value:t.amount,chain:t.viemChain}):e.sendTransaction({to:t.tokenAddr,data:ct({abi:Le,functionName:"transfer",args:[t.recipient,t.amount]}),chain:t.viemChain})}async function hr(e){const{extWc:t,sourceClient:n,recipient:s,tokenAddr:o,isNative:r,amount:a}=e;if(a<=0n)return;const i=await qa(t,{recipient:s,tokenAddr:o,isNative:r,amount:a,viemChain:e.viemChain});if((await n.waitForTransactionReceipt({hash:i,timeout:12e4,pollingInterval:2e3,confirmations:1})).status!=="success")throw new Error("Embedded wallet funding failed")}const Ka="spiceflow:pendingDeposit",po="spiceflow:pendingDepositChanged";function Ya(e,t,n){return`${Ka}:${e.toLowerCase()}:${t}:${n.toLowerCase()}`}function gr(){try{const e="__spiceflow_storage_test__";return localStorage.setItem(e,"1"),localStorage.removeItem(e),!0}catch{return!1}}function Wd(e){if(!gr())return;const t=Ya(e.embeddedWalletAddress,e.chainId,e.tokenAddress);try{localStorage.setItem(t,JSON.stringify(e)),window.dispatchEvent(new Event(po))}catch(n){console.error("[pendingDeposit] Failed to save:",n)}}function Md(e){if(!gr())return[];const t=`${Ka}:${e.toLowerCase()}:`,n=[],s=Date.now();for(let o=0;o<localStorage.length;o++){const r=localStorage.key(o);if(!(!r||!r.startsWith(t)))try{const a=localStorage.getItem(r);if(!a)continue;const i=JSON.parse(a);if(s-i.timestamp>6048e5){localStorage.removeItem(r);continue}n.push(i)}catch{localStorage.removeItem(r)}}return n}function yr(e,t,n){if(!gr())return;const s=Ya(e,t,n);localStorage.removeItem(s),window.dispatchEvent(new Event(po))}function Nd({sourceChainId:e,selectedAsset:t,destinationChainId:n,destinationTokenAddress:s,isCrossDenomination:o,convertedUsdAmount:r}){const a=Xe(t.asset.address),i=s;let d,l;if(i&&n)if(d=Ks[n]?.supportedTokens?.find(u=>Fe(u.address,i))?.decimals??t.asset.decimals,o){if(!r)throw new Error("Destination amount is still being calculated. Please retry in a moment.");l=r}else{const u=$e(t.amount,t.asset.decimals);l=ys(u,t.asset.decimals,d)}return{sourceChainId:e,depositTokenAddress:a,depositAmount:t.amount,depositTokenDecimals:t.asset.decimals,destinationChainId:n,destinationTokenAddress:i,destinationAmount:l,destinationTokenDecimals:d}}async function Od(e,t){if(!e)return[];if(Array.isArray(e))return e;const n=e;return e.length>=2?n(t.depositAmount,t.depositTokenAddress):n(t)}function Bs(e){const t=Xe(e.address);return e.isNative||pe(t)?!0:!!Ue(e.chainId)?.supportedTokens?.some(n=>Fe(n.address,t))&&!!ht(t,e.chainId)}function Za(e,t){return!!e&&e.quotedAmount===t.amount&&e.chainId===t.chainId&&Fe(e.token,t.token)}async function mo(e,t){const n=await qa(e,{recipient:t.recipient,tokenAddr:t.tokenAddr,isNative:t.isNative,amount:t.amount});t.afterSend?.(n);const s=ft(t.chainId),o=await s.waitForTransactionReceipt({hash:n,timeout:12e4,pollingInterval:2e3,confirmations:2});if(o.status!=="success")throw new Error(t.failureMessage);return t.settle&&await s.getBlockNumber()-o.blockNumber<2n&&await Bn(3e3),o.transactionHash}async function Ud(e){const t=e.selectedDepositAssets.filter(o=>o.asset&&o.amount&&parseFloat(o.amount)>0);if(t.length===0){console.error("[DepositModal] No valid assets for deposit"),e.setError("Please select an asset and enter an amount");return}const n=t[0];if(!e.escrowOnly&&!e.sourceAddress){e.setError("External wallet not connected. Please connect your wallet in the previous step.");return}if(!e.isNon7702){if(!e.address||!e.embeddedWalletAddress){e.setError("Couldn't find your account wallet. Try reconnecting.");return}if(!e.isReady||!e.isAuthenticated){e.setError("Sign in to continue.");return}}if(e.zeroCreditError){e.setError(e.zeroCreditError);return}if(e.depositBalanceError){e.setError(e.depositBalanceError);return}if(e.isNon7702&&e.sponsorGas&&e.nativeChainId&&n.asset.chainId!==e.nativeChainId&&e.destinationTokenAddress){e.setError("Gas sponsorship is not supported for this deposit route. Disable sponsorGas to continue.");return}e.setIsExecuting(!0),e.setError(null);let s=!1;try{const o=n.asset.chainId,r=Fn(o),a=$e(n.amount,n.asset.decimals),i=t.length===1&&Za(e.effectiveDepositFee,{amount:a,token:Xe(n.asset.address),chainId:o}),d=!e.isNon7702&&!e.escrowOnly&&!Bs(n.asset);if(!e.isNon7702&&t.length===1&&!d&&!i)throw new Error("Fee quote is out of date. Please wait for it to refresh.");let l=e.externalWalletClient;if(!e.escrowOnly){if(!l)throw new Error("External wallet not connected");if(e.externalProvider){const u=await ds({provider:e.externalProvider,account:e.sourceAddress,chainId:o});u.viemChain&&(l=u.extWc)}}if(e.isNon7702){if(!l)throw new Error("External wallet not connected");if(!e.sourceAddress)throw new Error("External wallet address not available");if(e.nativeChainId&&o===e.nativeChainId){const u=Ue(o),p=t.map(h=>`${h.amount} ${h.asset.symbol}`).join(", ");e.setConfirmationData({network:u?.displayName||`Chain ${o}`,amount:p,symbol:"",chainId:o}),e.setShowConfirmation(!0);let m=null;e.setDirectDepositStatus("processing"),e.setDirectDepositChainId(o);for(const h of t){const f=$e(h.amount,h.asset.decimals),y=Xe(h.asset.address),g=h.asset.isNative||pe(y),w=await mo(l,{chainId:o,recipient:r,tokenAddr:y,isNative:g,amount:f,failureMessage:`Escrow deposit failed for ${h.asset.symbol}`});m=w,e.setDirectDepositTxHash(w)}if(t[0]?.amount){const h=t[0].amount;if(e.onDepositExecute){e.setPostDepositStatus("executing");try{await e.onDepositExecute(h),e.setPostDepositStatus("success")}catch(y){console.error("ctx.onDepositExecute failed:",y),e.setPostDepositStatus("error"),e.setPostDepositError(y?.message||"Post-deposit instruction failed")}}else e.setPostDepositStatus("success");e.setDirectDepositStatus("success"),e.setPostDepositAmount(h),e.setPostDepositSuccess(!0);const f={type:"deposit",status:"success",amount:h,asset:t[0].asset.symbol,sourceChain:u?.displayName||`Chain ${o}`,txHash:m??void 0};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:f})),e.onDepositSuccess?.(f)}e.refreshAssets(),e.onDepositSelect&&e.onDepositSelect(t[0].asset)}else{const u=e.destinationChainId||e.nativeChainId;if(!u)throw new Error("Destination chain ID is required for non-7702 mode. Either pass ctx.destinationChainId to <SpiceDeposit> or set ctx.nativeChainId on <SpiceFlowProvider>.");const p=$r(o),m=r,h=[];let f=null;for(const y of t){const g=$e(y.amount,y.asset.decimals),w=Xe(y.asset.address),x=y.asset.isNative||pe(w),B=await mo(l,{chainId:o,recipient:m,tokenAddr:w,isNative:x,amount:g,failureMessage:`Transfer failed for ${y.asset.symbol}`,afterSend:k=>{f||(f=k)},settle:!0});e.depositDataRef.current||(e.depositDataRef.current=[]),e.depositDataRef.current.push({txHash:B,sender:e.sourceAddress,tokenAddress:w,chainId:o,amount:g.toString(),user:e.spiceBalanceUser}),h.push({tokenAddress:w,tokenAmount:g.toString(),sender:e.sourceAddress,receiver:m})}if(!f)throw new Error("No transaction hash generated");if(!e.destinationTokenAddress){const y={type:"deposit",status:"success",amount:t[0]?.amount,asset:t[0]?.asset?.symbol,sourceChain:Jt(o),txHash:f};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:y})),e.onDepositSuccess?.(y),e.depositDataRef.current=null,e.bridgedAmountRef.current=t[0]?.amount||null,e.refreshAssets(),e.onDepositSelect&&e.onDepositSelect(t[0].asset),e.setShowConfirmation(!1);return}if(e.mode==="ondemand"){const y={to:p,value:BigInt(0),data:"0x"},g=await Zs(u,e.destinationTokenAddress);let w=BigInt(0);for(const F of h){const I=BigInt(F.tokenAmount),D=Xe(F.tokenAddress),E=t.find(W=>{const U=Xe(W.asset.address);return Fe(U,D)}),L=E?E.asset.decimals:await Zs(o,Zt);w+=ys(I,L,g)}e.isCrossDenomination&&e.convertedUsdAmount&&(w=e.convertedUsdAmount);const x={chainId:o,tokenTransfers:h.map(F=>({from:F.sender,to:F.receiver,token:F.tokenAddress,amount:BigInt(F.tokenAmount)})),call:y},B=e.isCrossDenomination&&e.convertedUsdAmount?[{from:e.sourceAddress,to:r,token:Xe(t[0].asset.address),amount:$e(t[0].amount,t[0].asset.decimals)}]:[],k={chainId:u,tokenTransfers:[...B,{from:"escrow",to:e.sourceAddress,token:e.destinationTokenAddress,amount:w}],call:{to:e.destinationTokenAddress,value:BigInt(0),data:"0x"}},C={mode:"non-7702:on-demand",chainBatches:[x,k]},T={user:e.sourceAddress,intents:[C]},A=await Ht.createAction(T),v=A.actionId,S=A.intentIds[0];if(!f)throw new Error("No transaction hash available");e.startStatusPolling(S,Wo([{chainId:o,calls:[y]},{chainId:u,calls:[k.call]}],F=>Jt(F))),await Ht.executeStep(v,0,0,{action:"execute",hash:f}),t[0]?.amount&&(e.bridgedAmountRef.current=t[0].amount),e.refreshAssets(),e.onDepositSelect&&e.onDepositSelect(t[0].asset),e.setShowConfirmation(!1)}else throw new Error("Presign mode not yet fully supported for cross-chain deposits")}}else{const u=[];let p=0,m;const h=i&&e.effectiveDepositFee?Ge(e.effectiveDepositFee.net,n.asset.decimals):n?.amount;for(const v of t){const S=$e(v.amount,v.asset.decimals),F=i&&v===n,I=F?e.effectiveDepositFee.fee:0n,D=F?e.effectiveDepositFee.net:S,E=e.escrowOnly?S:S+I,L=Xe(v.asset.address),W=v.asset.isNative||pe(L);if(!e.escrowOnly&&!Bs(v.asset)){e.setDirectDepositStatus("processing"),e.setDirectDepositChainId(o);const U=await mo(l,{chainId:o,recipient:e.address,tokenAddr:L,isNative:W,amount:S,failureMessage:`Transfer to embedded wallet failed for ${v.asset.symbol}`});p+=1,v===n&&(m=U);continue}e.escrowOnly||await mo(l,{chainId:o,recipient:e.address,tokenAddr:L,isNative:W,amount:E,failureMessage:`Transfer to embedded wallet failed for ${v.asset.symbol}`,afterSend:()=>Wd({chainId:o,tokenAddress:Xe(v.asset.address),tokenSymbol:v.asset.symbol,tokenDecimals:v.asset.decimals,amount:v.amount,rawAmount:S.toString(),embeddedWalletAddress:e.address,externalWalletAddress:e.sourceAddress,timestamp:Date.now(),isNative:W}),settle:!0}),u.push(W?{to:r,value:D,data:"0x"}:{to:L,value:BigInt(0),data:ct({abi:Le,functionName:"transfer",args:[r,D]})}),I>0n&&u.push(W?{to:an,value:I,data:"0x"}:{to:L,value:BigInt(0),data:ct({abi:Le,functionName:"transfer",args:[an,I]})})}if(u.length===0){e.setDirectDepositTxHash(m??null),e.setDirectDepositStatus("success");const v={type:"deposit",status:"success",amount:n.amount,asset:n.asset.symbol,sourceChain:Jt(o),txHash:m};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:v})),e.onDepositSuccess?.(v),e.refreshAssets(),e.onDepositSelect&&e.onDepositSelect(n.asset);return}p>0&&e.setDirectDepositStatus("idle");const f=t.find(v=>e.escrowOnly||Bs(v.asset))??n,y=await ft(o).getBlockNumber(),g=u.map(v=>({...v,to:kt(v.to)})),w={chainId:o,recentBlock:y,calls:g,tokenTransfers:[]},x=Nd({sourceChainId:o,selectedAsset:f===n&&h?{...n,amount:h}:f,destinationChainId:e.destinationChainId,destinationTokenAddress:e.destinationTokenAddress,isCrossDenomination:e.isCrossDenomination,convertedUsdAmount:e.convertedUsdAmount}),B=await Od(e.depositBatches,x),k=[w,...B];if(!e.address)throw new Error("Address not available");const C=[];if(e.isCrossDenomination&&e.convertedUsdAmount&&e.destinationTokenAddress){const v=e.selectedDepositAssets[0]?.asset;if(v){const S=$e(e.selectedDepositAssets[0].amount,v.decimals);C.push({from:e.address,to:r,token:Xe(v.address),amount:S}),C.push({from:"escrow",to:e.address,token:e.destinationTokenAddress,amount:e.convertedUsdAmount})}}C.length>0&&k[1]&&(k[1].tokenTransfers=C);const T=Wo(k,v=>Jt(v));let A=!1;if(await e.execution.execute(k,Zt,0n,v=>{if(v.intentId&&!A){A=!0;for(const S of t)yr(e.address,o,Xe(S.asset.address));e.startStatusPolling(v.intentId,T)}},void 0,{userOverride:e.address,useCustomTransfers:!0,skipPreSubmitFeeEstimate:!0,skipUserFundingPreflight:!0}),e.refreshAssets(),e.onDepositExecute&&f.amount)try{e.setPostDepositStatus("executing"),await e.onDepositExecute(h||f.amount),e.setPostDepositStatus("success"),e.setPostDepositAmount(h||f.amount),e.setPostDepositSuccess(!0)}catch(v){console.error("ctx.onDepositExecute failed (7702):",v),e.setPostDepositStatus("error"),e.setPostDepositError(v?.message||"Post-deposit instruction failed")}e.onDepositSelect&&e.onDepositSelect(f.asset)}}catch(o){s=!0,console.error("[DepositModal] executeDeposit CAUGHT ERROR:",o),console.error("[DepositModal] Error details:",{message:o?.message,code:o?.code,name:o?.name,stack:o?.stack?.slice(0,500)}),e.setError(fn(o,"Deposit failed")),e.clearStatus()}finally{e.setIsExecuting(!1),s&&e.setDirectDepositStatus("idle"),s||!e.getCurrentIntentStatus()&&e.getCurrentPostDepositStatus()!=="idle"||e.setShowConfirmation(!1)}}async function Pd(e){const{asset:t,assetIndex:n,selectedAssetCount:s,address:o,escrowOnly:r,isNon7702:a}=e;if(n!==0||a||s>1||!o||t.balance<=0n)return null;if(!r&&!Bs(t))return rr(t.balance,t.decimals);const i=await Xa({address:o,depositQuote:{asset:t,amount:t.balance,token:Xe(t.address),chainId:t.chainId},escrowOnly:r}),d=r?t.balance:t.balance>i.fee?t.balance-i.fee:0n;return rr(d,t.decimals)}async function Xa(e){const{address:t,depositQuote:n,escrowOnly:s}=e,{asset:o,amount:r,token:a,chainId:i}=n,d=Fn(i),l=o.isNative||pe(a),u=r>1n?1n:0n,p=[l?{to:d,value:r,data:"0x"}:{to:a,value:0n,data:ct({abi:Le,functionName:"transfer",args:[d,r]})}];u>0n&&p.push(l?{to:an,value:u,data:"0x"}:{to:a,value:0n,data:ct({abi:Le,functionName:"transfer",args:[an,u]})});const m={chainId:i,tokenTransfers:[],calls:p},h=(await Ht.estimateBatchGas({user:t,outputToken:a,chainBatches:[{...m,hash:On([m])[0].hash}],signal:e.signal})).gasFee,f=s&&h<r?r-h:r;return{fee:h,net:f,quotedAmount:r,token:a,chainId:i}}const Ld=({selectedDepositAssets:e,depositAssets:t,secondAssetOptions:n,loadingAssets:s,allowSecondAsset:o,theme:r,styles:a,dark:i,dk:d,onSelect:l,onAmountChange:u,onAdd:p,onRemove:m,resolveMaxAmount:h,onViewAllAssets:f})=>b($t,{children:[e.map((y,g)=>{const w=e.length===1?"Deposit":`Asset ${g+1}`;return b("div",{style:{marginBottom:r.spacing.md,position:"relative"},children:[c(vs,{assets:g===0?t:n,selectedAsset:y||void 0,onAssetSelect:x=>l(x,g),onAmountChange:x=>u(x,g),loading:s,label:w,showBalance:!0,theme:r,styles:a,allowSecondAsset:o&&g===0,onAddAsset:p,canAddAsset:e.length===1&&!!e[0]?.asset,resolveMaxAmount:h?x=>h(x,g):void 0,onViewAllAssets:g===0?f:void 0}),g===1&&c("button",{onClick:()=>m(g),style:{position:"absolute",top:"-2px",right:"-2px",background:i?`${d.cardBg}ee`:"rgba(255, 255, 255, 0.9)",border:`1px solid ${d.cardBorder}`,borderRadius:"50%",cursor:"pointer",color:r.colors.textMuted,fontSize:"16px",padding:"2px",width:"22px",height:"22px",display:"flex",alignItems:"center",justifyContent:"center",transition:rn.interactive,boxShadow:"0 1px 3px rgba(0, 0, 0, 0.1)"},onMouseEnter:x=>{x.currentTarget.style.color=i?d.errorText:"#ef4444",x.currentTarget.style.background=i?d.cardBg:"#fff",x.currentTarget.style.borderColor=i?d.errorBorder:"#fecaca"},onMouseLeave:x=>{x.currentTarget.style.color=r.colors.textMuted,x.currentTarget.style.background=i?`${d.cardBg}ee`:"rgba(255, 255, 255, 0.9)",x.currentTarget.style.borderColor=i?d.cardBorder:"#e5e7eb"},title:"Remove asset",children:"\xD7"})]},`asset-${g}`)}),e.length===0&&c("div",{style:{marginBottom:r.spacing.md},children:c(vs,{assets:t,selectedAsset:void 0,onAssetSelect:y=>l(y,0),onAmountChange:y=>u(y,0),loading:s,label:"Deposit",showBalance:!0,theme:r,styles:a,allowSecondAsset:o,onAddAsset:p,canAddAsset:!1,resolveMaxAmount:h?y=>h(y,0):void 0},"initial-selector")})]}),zd=tn(Ld);var xr="data:image/svg+xml,%3csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5 4.99995V6.99995M5 3.31245V3.31189M9.5 5C9.5 7.48528 7.48528 9.5 5 9.5C2.51472 9.5 0.5 7.48528 0.5 5C0.5 2.51472 2.51472 0.5 5 0.5C7.48528 0.5 9.5 2.51472 9.5 5Z' stroke='black' stroke-opacity='0.4' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e";const Ga=kn.memo(({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,onDepositSelect:s,depositBatches:o,supportedChains:r,title:a,styles:i,onDepositAssetChange:d,assetInputHook:l,externalWalletAddress:u,onDepositAmountChange:p,allowSecondAsset:m=!1,destinationChainId:h,destinationTokenAddress:f,onDepositExecute:y,depositActionLabel:g,nativeChainId:w,sponsorGas:x=!1,preSelectedAsset:B,escrowOnly:k=!1,escrowTokenAddress:C,escrowAmount:T,escrowTokenDecimals:A,escrowTokenSymbol:v,onDepositSuccess:S,onDepositError:F,embeddedWalletAddress:I,onViewAllAssets:D})=>{const E=Yt(zt),L=E?.mode||"7702",W=E?.allowedTokens,U=!!E?.isWhitelistGateActive,_=!k&&!!E?.isWhitelistConfigured&&E?.isUserWhitelisted!==!0,P=l?.assetAmount||"",{theme:N,dark:O,appName:j,primaryColor:q,dk:H}=It(i),V=En(),{isReady:M,isAuthenticated:oe}=V,{externalWallet:Ce}=ns(),Q=E?.embeddedWalletAddress||I,$=L!="7702",ie=$?!!u:M&&oe&&!!Q,fe=Q,de=u,Ve=fe??de,{data:z}=Jl(),[le,te]=kn.useState(z),me=kn.useRef(null),ve=kn.useRef(Ce);ve.current=Ce;const K=Ce?.address;kn.useEffect(()=>{const Y=ve.current;if(!Y||!de){me.current=null,te(z);return}if(Y.address?.toLowerCase()!==de?.toLowerCase()){me.current=null,te(z);return}Y.getEthereumProvider().then(async ge=>{me.current=ge;const De=await ge.request({method:"eth_chainId"}),we=parseInt(De,16),rt=Ue(we),Ze=await Y.getWalletClient(we);te(rt?No({account:de,chain:rt.viemChain,transport:Oo(ge)}):Ze)}).catch(()=>{me.current=null,te(z)})},[K,de,z]);const ae=kn.useRef(null),[Z,ye]=R([]),{assets:Qe,loading:xe,error:gt,refreshAssets:dt}=as({address:k?fe:de||fe,supportedChains:r,fetchBalances:rs,enabled:e,refreshInterval:e?5e3:0}),tt=!$&&!k&&!(W&&W.length>0),ut=J(()=>{if(U)return[];const Y=r.flatMap(De=>{const we=Ro(De,Qe);if(!tt)return we;const rt=Qe.filter(Ze=>Ze.chainId===De&&Ze.balance>BigInt(0)&&!we.some(mn=>Fe(mn.address,Ze.address)||mn.symbol.toUpperCase()===Ze.symbol.toUpperCase()));return[...we,...rt]}),ge=(De,we)=>{const rt=De.balance>BigInt(0)?1:0,Ze=we.balance>BigInt(0)?1:0;return rt!==Ze?Ze-rt:(we.balanceUsd||0)-(De.balanceUsd||0)};return W&&W.length>0?Y.filter(De=>W.includes(De.symbol.toLowerCase())||De.isNative&&W.includes("native")).sort(ge):Y.filter(De=>De.balance>BigInt(0)).sort(ge)},[r,Qe,W,U,tt]),_e=J(()=>{if(!Z[0]?.asset)return[];const Y=Z[0].asset.chainId;return ut.filter(ge=>ge.chainId===Y)},[ut,Z]),[vt,yt]=R(!1),[Te,Ke]=R(null),pt=X(F);pt.current=F;const se=ne(Y=>{Ke(Y),typeof Y=="string"&&Y&&pt.current?.(Y,gs(Y))},[]),[at,At]=R("idle"),mt=ne(Y=>{typeof Y=="string"&&Y&&pt.current?.(Y,gs(Y))},[]),[nt,Mt]=R(!1),[Re,Me]=R(null),[he,Ne]=R("idle"),[He,xt]=R(null),[Ut,Ae]=R(null),[Je,Xt]=R(null),[yn,We]=R(null),[ce,et]=R(null),{intentStatus:Ie,startStatusPolling:St,clearStatus:Gt,execute:Bt}=ls(),Be=ne((Y,ge)=>{const De=Ks[ge];return De?De.supportedTokens?.find(we=>Fe(we.address,Y))?.symbol??null:null},[]),qe=J(()=>{const Y=Z[0]?.asset;if(!Y||!f||!h)return!1;const ge=Be(f,h);return Pc(Y.symbol)&&!!ge&&Lc(ge)},[Z,f,h,Be]);G(()=>{Z.length>0&&P!==Z[0]?.amount&&ye(Y=>{if(Y.length===0)return Y;const ge=[...Y];return ge[0]={...ge[0],amount:P||""},ge})},[P]),G(()=>{Z.length!==0&&ye(Y=>{let ge=!1;const De=Y.map(we=>{if(!we.asset)return we;const rt=ut.find(Ze=>Ze.chainId===we.asset.chainId&&Fe(Ze.address,we.asset.address));return rt?rt===we.asset||rt.balance===we.asset.balance?we:(ge=!0,{...we,asset:rt,amount:we.amount}):we});return ge?De:Y})},[ut,Z.length]),G(()=>{if(!B||Z.length>0||ut.length===0)return;const Y=ut.find(ge=>ge.chainId===B.chainId&&Fe(ge.address,B.address));Y&&(ye([{asset:Y,amount:""}]),d?.(Y))},[B,ut,Z.length]);const it=kn.useRef(null);G(()=>{if($&&Ie?.overallStatus==="success"&&y&&at==="idle"){const Y=it.current,ge=ae.current;Y&&(async()=>{try{At("executing"),await y(Y),At("success"),Me(Y),Mt(!0);const De=Array.isArray(ge)?ge[0]:void 0,we={type:"deposit",status:"success",amount:Y,asset:De?.tokenAddress,sourceChain:De?String(De.chainId):void 0,txHash:De?.txHash};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:we})),S?.(we)}catch(De){console.error("onDepositExecute failed:",De),At("error"),mt(fn(De,"Post-deposit instruction failed"))}finally{it.current=null,ae.current=null}})()}},[Ie?.overallStatus,$,at]);const Ye=ne(()=>{se(null)},[]);G(()=>{e||(Mt(!1),Me(null),Ne("idle"),xt(null),Ae(null))},[e]);const bt=ne((Y,ge)=>{ye(De=>{const we=[...De];return we[ge]={asset:Y,amount:we[ge]?.amount||""},we}),ge===0&&d?.(Y),Ye()},[d,Ye]),Pt=ne(async(Y,ge)=>{if(ye(De=>{const we=[...De];return we[ge]&&(we[ge]={...we[ge],amount:Y}),we}),Ye(),ge===0)if(l?.setAssetAmount(Y),qe&&Y&&parseFloat(Y)>0)try{const De=Je??await Uc();Je||Xt(De);const we=Z[0]?.asset;if(!we)return;const rt=$e(Y,we.decimals),Ze=f?Be(f,h):null,mn=Ks[h]?.supportedTokens?.find(Hs=>Fe(Hs.address,f))?.decimals??6,Ls=zc(rt,we.decimals,mn,De);We(Ls);const ms=Ge(Ls,mn),zs=De.toLocaleString("en-US",{maximumFractionDigits:0});et(`${Y} ${we.symbol} \u2248 $${parseFloat(ms).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})} ${Ze??"USD"} (rate: $${zs}/BTC)`),p?.(ms)}catch(De){console.error("Failed to fetch BTC/USD price:",De),et(null),We(null),p?.(Y)}else et(null),We(null),p?.(Y)},[Ye,l,p,qe,Je,Z,f,h,Be]),ze=ne(()=>{Z.length<2&&ye(Y=>[...Y,{asset:null,amount:""}])},[Z.length]),Et=ne(Y=>{ye(ge=>ge.filter((De,we)=>we!==Y)),Ye()},[Ye]),Vt=X(!1),Lt=X(!1);G(()=>{e||(Vt.current=!1,Lt.current=!1,xn(null),ee(null))},[e]);const[Ft,wt]=R(!1),[sn,Qt]=R(null),[cn,xn]=R(null),[ue,ee]=R(null),[Se,Pe]=R(!1),[Tt,st]=R(null),ke=J(()=>{const Y=Z[0];if(Z.length!==1||!Y?.asset||!Y.amount||parseFloat(Y.amount)<=0)return null;try{return{asset:Y.asset,amount:$e(Y.amount,Y.asset.decimals),token:Xe(Y.asset.address),chainId:Y.asset.chainId}}catch{return null}},[Z]),Dt=tt&&!!ke&&!Bs(ke.asset),lt=J(()=>ke?[ke.chainId,ke.token.toLowerCase(),ke.amount.toString(),k?"escrow":"normal"].join("|"):null,[ke,k]),jt=ne(async(Y,ge)=>fe?Xa({address:fe,depositQuote:Y,escrowOnly:k,signal:ge}):null,[fe,k]),ot=ne(async Y=>ke?jt(ke,Y):null,[ke,jt]),_t=X(ot);_t.current=ot,_s({shouldRun:e&&!$&&!Dt&&!!lt&&!Ft&&!vt,deps:[e,$,Dt,lt,Ft,vt],delayMs:500,backgroundIntervalMs:1e4,onSkip:()=>{xn(null),st(null),Pe(!1)},onCleanup:()=>Pe(!1),run:async({isBackground:Y,isCurrent:ge,signal:De})=>{Y||(st(null),Pe(!0));try{const we=await _t.current(De);ge()&&xn(we)}catch(we){if(!ge())return;xn(null),st(we instanceof Error?we.message:"Failed to estimate gas fee")}finally{ge()&&Pe(!1)}}}),G(()=>{Ft||vt||ee(null)},[Ft,vt,lt]);const Rt=async()=>{if(Z.length===0||!Z[0]?.asset)return;const Y=Z.filter(Ze=>Ze.asset&&Ze.amount&&parseFloat(Ze.amount)>0);if(Y.length===0)return;const ge=Y[0],De=Ue(ge.asset.chainId),we=Y.map(Ze=>{const mn=parseFloat(Ze.amount);return`${isNaN(mn)?Ze.amount:mn.toPrecision(6).replace(/\.?0+$/,"")} ${Ze.asset.symbol}`}).join(", "),rt={network:De?.displayName||`Chain ${ge.asset.chainId}`,amount:we,symbol:"",chainId:ge.asset.chainId};if(!$&&Y.length===1&&cn){ee(cn);const Ze=Y[0];rt.creditedAmount=`${Ge(cn.net,Ze.asset.decimals)} ${Ze.asset.symbol}`,rt.networkFee=`${Ge(cn.fee,Ze.asset.decimals)} ${Ze.asset.symbol}`}Qt(rt),wt(!0)},dn=X(Ie);dn.current=Ie;const un=X(at);un.current=at;const re=async()=>{await Ud({selectedDepositAssets:Z,escrowOnly:k,sourceAddress:de,isNon7702:$,address:fe,embeddedWalletAddress:Q,isReady:M,isAuthenticated:oe,zeroCreditError:Oe,depositBalanceError:pn,externalWalletClient:le,externalProvider:me.current,effectiveDepositFee:Wt,depositBatches:o,destinationChainId:h,destinationTokenAddress:f,isCrossDenomination:qe,convertedUsdAmount:yn,mode:L,sponsorGas:x,nativeChainId:w,spiceBalanceUser:Ve,depositDataRef:ae,bridgedAmountRef:it,setIsExecuting:yt,setError:se,setConfirmationData:Qt,setShowConfirmation:wt,setDirectDepositStatus:Ne,setDirectDepositChainId:Ae,setDirectDepositTxHash:xt,setPostDepositStatus:At,setPostDepositError:mt,setPostDepositAmount:Me,setPostDepositSuccess:Mt,startStatusPolling:St,clearStatus:Gt,refreshAssets:dt,onDepositExecute:y,onDepositSelect:s,onDepositSuccess:S,execution:{execute:Bt},getCurrentIntentStatus:()=>dn.current,getCurrentPostDepositStatus:()=>un.current})},Oe=J(()=>{for(const Y of Z)if(!(!Y?.asset||!Y.amount||parseFloat(Y.amount)<=0))try{const ge=Y.asset.decimals,De=$e(Y.amount,ge);if(De<=0n)continue;const we=oc(Xe(Y.asset.address)),rt=Y.asset.receiptTokenDecimals??(we==="ETH"||we==="ARB"?18:we==="USDC"||we==="SUSD"||we==="WBTC"||we==="CBTC"?6:void 0);if(rt===void 0||ge<=rt||ys(De,ge,rt)>0n)continue;return`Amount too small. Minimum deposit for this asset is ${Ge(10n**BigInt(ge-rt),ge)} ${Y.asset.symbol}.`}catch{continue}return null},[Z]),Ct=!$&&!!ke&&!Dt,Wt=ue??cn,Nt=!!ke&&Za(Wt,ke),pn=J(()=>{if(!ke)return null;if(Dt)return ke.asset.balance>=ke.amount?null:`Insufficient ${ke.asset.symbol}. Need ${Ge(ke.amount,ke.asset.decimals)} ${ke.asset.symbol}.`;if(!Ct||!Nt)return null;const Y=k?ke.amount:ke.amount+Wt.fee;return ke.asset.balance>=Y?null:`Insufficient ${ke.asset.symbol}. Need ${Ge(Y,ke.asset.decimals)} ${ke.asset.symbol} including gas.`},[Ct,Dt,ke,Nt,Wt,k]),[An,qt]=R(!1),bn=Z[0]?.asset?.chainId,Gn=Qe.find(Y=>Y.isNative&&Y.chainId===bn)?.balance??0n;G(()=>{if(!e||!bn){qt(!1);return}let Y=!1;return(async()=>{try{const ge=await ft(bn).getGasPrice()*150000n;Y||qt(Gn<ge)}catch{Y||qt(!1)}})(),()=>{Y=!0}},[e,bn,Gn]);const ps=!Ct||Nt&&!Se&&!Tt&&!pn,Us=ne((Y,ge)=>Pd({asset:Y,assetIndex:ge,selectedAssetCount:Z.length,address:fe,escrowOnly:k,isNon7702:$}),[$,Z.length,fe,k]),Qn=J(()=>{if(!ke||!Wt||!Nt)return null;const Y=k?ke.amount:ke.amount+Wt.fee;return{symbol:ke.asset.symbol,decimals:ke.asset.decimals,grossAmount:Y,netAmount:Wt.net,totalFee:Wt.fee,gasFee:Wt.fee,spicenetFee:0n,bridgeFee:0n,gasQuoteSource:"estimated"}},[ke,Wt,Nt,k]),Ps=parseFloat(Z[0]?.amount||"")||0,wn=Z.length>0&&Z[0]?.asset&&Z[0]?.amount&&Ps>0&&ie&&!vt&&!Oe&&!pn&&ps&&!_;G(()=>{if(!k||!C||!T||Vt.current||!ie)return;const Y=r[0];if(!Y)return;const ge=Ro(Y,[]).find(we=>Fe(we.address,C));let De;if(ge)De=ge;else if(A!==void 0&&v)De={address:C,symbol:v,name:v,decimals:A,chainId:Y,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,isNative:pe(C)};else{console.warn("[DepositModal] escrowOnly: no matching asset and missing escrowTokenDecimals/escrowTokenSymbol for",C);return}Vt.current=!0,ye([{asset:De,amount:T}])},[k,C,T,A,v,ie,r]),G(()=>{!k||!wn||Lt.current||vt||(Lt.current=!0,re())},[k,wn,vt]);const Jn=gt||Te||Oe||pn,on=()=>{if(vt)return"Executing Deposit...";if(!ie)return"Wallet Not Connected";if(L==="7702"){if(!M)return"Loading...";if(!oe)return"Authentication Required"}return Z[0]?.asset?Z[0]?.amount?Oe?"AMOUNT TOO SMALL":pn?"INSUFFICIENT BALANCE":Ct&&!ps?Tt?"GAS UNAVAILABLE":"ESTIMATING GAS":"DEPOSIT":"ENTER AMOUNT":"SELECT TOKEN"};return e?c(hn,{isOpen:e,onClose:t,closeOnBackdropClick:n,title:a||`Deposit to your ${j} account`,subtitle:b("div",{style:{display:"flex",alignItems:"center",gap:"5px"},children:[c("img",{src:xr,alt:"","aria-hidden":"true",style:{width:"13px",height:"13px",flexShrink:0,...O?{filter:"invert(0.6)"}:{}}}),c("p",{style:{fontSize:"12px",color:H.textSecondary,margin:"0",lineHeight:"1.4",fontFamily:Ee.ui},children:`Deposit collateral to your ${j} Account from any supported network.`})]}),dark:O,overlayContent:Ft||Ie||at!=="idle"&&y?c("div",{}):void 0,styles:i,theme:N,children:b("div",{style:{padding:"24px 24px 5px 24px"},children:[c(zd,{selectedDepositAssets:Z,depositAssets:ut,secondAssetOptions:_e,loadingAssets:xe,allowSecondAsset:m,theme:N,styles:i,dark:O,dk:H,onSelect:bt,onAmountChange:Pt,onAdd:ze,onRemove:Et,resolveMaxAmount:Us,onViewAllAssets:D}),Ct&&ke&&c(mr,{fontFamily:i?.fontFamily||N.typography.fontFamily,textPrimary:H.textPrimary,textSecondary:H.textSecondary,cardBg:O?H.inputBg:"#ffffff",cardBorder:H.cardBorder,resolvedDark:O,darkCardBorder:H.cardBorder,primaryColor:q,feePreview:Qn,isLoading:Se||Ct&&!Nt,errorText:Tt}),c(Dd,{intentStatus:Ie,postDepositSuccess:nt,postDepositAmount:Re,postDepositStatus:at,depositActionLabel:g,sourceChainName:Z[0]?.asset?.chainId?Jt(Z[0].asset.chainId):"Destination Chain",directDepositStatus:he,directDepositTxHash:He,directDepositChainId:Ut,styles:i}),c(Td,{isOpen:Ft||!!Ie||at!=="idle"&&!!y,onClose:()=>{wt(!1),Ie&&Gt();const Y=at==="success"&&!Ie,ge=Ie?.overallStatus==="success"&&(y?at==="success":!0);(Y||ge)&&t()},onConfirm:re,data:sn,isExecuting:vt,error:Te,theme:N,styles:i,intentStatus:Ie,postDepositStatus:at,hasPostDepositInstruction:!!y}),ce&&b(Aa,{dk:H,dark:O,borderRadius:N.borderRadius.md,children:["\u26A1 ",ce]}),An&&c(Aa,{dk:H,dark:O,borderRadius:N.borderRadius.md,children:"Low native balance in the external wallet. The deposit to spicenet account might fail."}),b("div",{style:{display:"flex",flexDirection:"column",gap:0,marginBottom:0,margin:0,padding:0},children:[Jn?c("div",{style:{marginBottom:"10px",fontSize:"12px",lineHeight:"1.45",color:H.errorText,fontFamily:i?.fontFamily||N.typography.fontFamily},children:Jn}):null,c(Ot,{variant:"outline",fullWidth:!0,onClick:Rt,disabled:!wn||!ie||vt,theme:N,dark:O,styles:i,children:on()})]})]})}):null}),Hd=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,deposits:s,onComplete:o,onCancel:r,onSkip:a,onChangeWallet:i,isProcessing:d,error:l,styles:u})=>{const{dark:p,dk:m,theme:h}=It(u);if(!e||s.length===0)return null;const f=s[0],y=u?.fontFamily||Ee.ui,g=Ee.mono,w=Jt(f.chainId),x=parseFloat(f.amount).toPrecision(6).replace(/\.?0+$/,""),B=Ge(f.verifiedBalance,f.tokenDecimals);return c(hn,{isOpen:e,onClose:t,title:"Incomplete Deposit",styles:u,closeOnBackdropClick:n,children:b("div",{style:{padding:"18px 24px 24px",fontFamily:y},children:[c("p",{style:{fontSize:"14px",color:m.textSecondary,lineHeight:"1.6",margin:"0 0 18px 0"},children:"Your funds reached your wallet, but the deposit didn't finish."}),b("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto",gap:"14px 18px",marginBottom:"24px",padding:"16px 18px",backgroundColor:p?m.cardBg:"#f8fafc",border:`1px solid ${m.cardBorder}`,borderRadius:p?"14px":"10px",boxShadow:p?"inset 0 1px 0 rgba(255,255,255,0.03)":"0 1px 2px rgba(16,24,40,0.04)"},children:[b("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[c("span",{style:{fontSize:"12px",fontWeight:600,color:m.textSecondary,fontFamily:g,letterSpacing:"0.8px"},children:"NETWORK"}),c("span",{style:{fontSize:"18px",fontWeight:600,color:m.textPrimary,fontFamily:y,lineHeight:1.2},children:w})]}),b("div",{style:{display:"flex",flexDirection:"column",gap:"4px",alignItems:"flex-end",textAlign:"right"},children:[c("span",{style:{fontSize:"12px",fontWeight:600,color:m.textSecondary,fontFamily:g,letterSpacing:"0.8px"},children:"DEPOSITED AMOUNT"}),b("span",{style:{fontSize:"24px",fontWeight:700,color:m.successText,fontFamily:g,lineHeight:1.1},children:[x," ",f.tokenSymbol]}),c("span",{style:{fontSize:"12px",color:m.textSecondary,fontWeight:500,fontFamily:y},children:"Sent to embedded wallet"})]})]}),!f.hasFullBalance&&f.verifiedBalance>0n&&b("div",{style:{marginBottom:"16px",padding:"8px 12px",backgroundColor:m.warningBg,border:`1px solid ${p?m.warningBorder:"#fcd34d"}`,borderRadius:"8px",fontSize:"13px",color:m.warningText,lineHeight:"1.4"},children:["Partial balance \u2014 only ",parseFloat(B).toFixed(4)," ",f.tokenSymbol," available."]}),l&&c("div",{style:{marginBottom:"16px",padding:"10px 12px",backgroundColor:m.errorBg,border:`1px solid ${p?m.errorBorder:"#fca5a5"}`,borderRadius:"8px",fontSize:"13px",color:p?m.errorText:"#991b1b",lineHeight:"1.4"},children:l}),b("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[c(Ot,{variant:"outline",fullWidth:!0,disabled:d,onClick:()=>o(f),theme:h,dark:p,styles:u,children:"CONFIRM DEPOSIT"}),b("div",{style:{display:"flex",flexDirection:"column",gap:"10px"},children:[c(Ot,{variant:"ghost",fullWidth:!0,disabled:d,onClick:()=>r(f),theme:h,dark:p,style:{height:"48px",fontSize:"13px",letterSpacing:"0.4px",color:p?m.textPrimary:"#374151",border:`1px solid ${p?m.cardBorder:"#d1d5db"}`,borderRadius:"12px",backgroundColor:p?"rgba(255,255,255,0.02)":"#ffffff"},children:d?"RETURNING...":"RETURN FUNDS"}),b("div",{style:{display:"grid",gridTemplateColumns:i?"1fr 1fr":"1fr",gap:"10px"},children:[c(Ot,{variant:"ghost",fullWidth:!0,disabled:d,onClick:a,theme:h,dark:p,style:{height:"44px",fontSize:"12px",letterSpacing:"0.4px",color:m.textSecondary,border:`1px solid ${p?m.cardBorder:"#d1d5db"}`,borderRadius:"12px",backgroundColor:"transparent"},children:"START OVER"}),i&&c(Ot,{variant:"ghost",fullWidth:!0,disabled:d,onClick:i,theme:h,dark:p,style:{height:"44px",fontSize:"12px",letterSpacing:"0.4px",color:m.textSecondary,border:`1px solid ${p?m.cardBorder:"#d1d5db"}`,borderRadius:"12px",backgroundColor:"transparent"},children:"CHANGE WALLET"})]})]})]}),s.length>1&&b("p",{style:{fontSize:"12px",color:m.textSecondary,textAlign:"center",marginTop:"14px",marginBottom:0,lineHeight:"1.5"},children:[s.length," incomplete deposits found \u2014 resolving one at a time."]})]})})},jd=[{source:"wallet",title:"From Wallet",description:"Deposit crypto you already hold in a connected wallet"},{source:"card",title:"With Card",description:"Buy and deposit using a debit or credit card"},{source:"exchange",title:"From Exchange",description:"Transfer from Coinbase, Binance, or any exchange"}],Vd=({isOpen:e,onClose:t,closeOnBackdropClick:n,onSelect:s,styles:o})=>{const{dark:r,dk:a}=It(o),[i,d]=R(null);return c(hn,{isOpen:e,onClose:t,title:"Deposit",subtitle:"Choose how you want to add funds",styles:o,dark:r,closeOnBackdropClick:n,children:c("div",{style:{padding:"0 24px 25px",display:"flex",flexDirection:"column",gap:"12px",marginTop:"20px"},children:jd.map(({source:l,title:u,description:p})=>b("button",{onClick:()=>s(l),onMouseEnter:()=>d(l),onMouseLeave:()=>d(null),style:{width:"100%",display:"flex",flexDirection:"column",alignItems:"flex-start",gap:"4px",padding:"14px 16px",borderRadius:"8px",border:`1px solid ${r?a.cardBorder:"#e5e7eb"}`,backgroundColor:i===l?r?a.hoverBg:"#f9fafb":r?a.cardBg:"white",cursor:"pointer",textAlign:"left",transition:rn.color},children:[c("span",{style:{fontSize:"15px",fontWeight:600,fontFamily:Ee.ui,color:r?a.textPrimary:"#111827"},children:u}),c("span",{style:{fontSize:"13px",fontFamily:Ee.ui,color:r?a.textSecondary:"#6b7280"},children:p})]},l))})})},Qd=({isOpen:e,onClose:t,onBack:n,closeOnBackdropClick:s,source:o,destinationChainId:r,onShowWidget:a,onHideWidget:i,verifying:d,verifyError:l,onRetryVerify:u,funded:p,styles:m})=>{const{dark:h,dk:f,primaryColor:y,theme:g}=It(m),w=Jt(r),x=X(null),B=X(a);B.current=a;const k=X(i);k.current=i;const C=d||!!l||!!p;return G(()=>{if(!e)return;const T=x.current;if(T){if(C){k.current();return}return B.current(T,o),()=>k.current()}},[e,o,C]),c(hn,{isOpen:e,onClose:t,title:o==="card"?"Deposit with Card":"Deposit from Exchange",styles:m,dark:h,closeOnBackdropClick:s,children:b("div",{style:{padding:"0 24px 25px",display:"flex",flexDirection:"column",gap:"12px",marginTop:"12px"},children:[c("button",{onClick:n,disabled:d,style:{alignSelf:"flex-start",padding:0,border:"none",background:"none",fontSize:"13px",fontFamily:Ee.ui,color:h?f.textSecondary:"#6b7280",cursor:d?"default":"pointer",opacity:d?.5:1},children:"\u2190 Back"}),b("div",{style:{position:"relative",width:"100%"},children:[c("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center"},children:c(Sn,{size:28,color:y})}),c("div",{ref:x,style:{position:"relative",width:"100%",height:"560px"}}),C&&c("div",{style:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"16px",padding:"24px",borderRadius:"9px",backgroundColor:h?"rgba(0, 0, 0, 0.82)":"rgba(255, 255, 255, 0.94)"},children:d?b($t,{children:[c(Sn,{size:28,color:y}),b("p",{style:{margin:0,fontSize:"14px",fontFamily:Ee.ui,color:h?f.textPrimary:"#111827",textAlign:"center"},children:["Confirming your deposit arrived on ",w,"\u2026"]})]}):p?b($t,{children:[b("p",{style:{margin:0,fontSize:"14px",fontFamily:Ee.ui,color:h?f.textPrimary:"#111827",textAlign:"center"},children:[p.amount," ",p.symbol," is in your wallet on"," ",w,"."]}),c(Ot,{variant:"outline",onClick:t,theme:g,dark:h,styles:m,children:"DONE"})]}):b($t,{children:[c("p",{style:{margin:0,fontSize:"14px",fontFamily:Ee.ui,color:h?f.textPrimary:"#111827",textAlign:"center"},children:l}),c(Ot,{variant:"outline",onClick:u,theme:g,dark:h,styles:m,children:"RETRY"}),c("button",{onClick:t,style:{padding:0,border:"none",background:"none",fontSize:"13px",fontFamily:Ee.ui,color:h?f.textSecondary:"#6b7280",cursor:"pointer",textDecoration:"underline"},children:"Close \u2014 we'll detect your funds later"})]})})]})]})})},qd="692fb8af264069ca12a9",us=42161,Kd=[8453,us];function Yd(e){const{targetKind:t,appChainId:n}=e;return t!=="external"||n===void 0||!Kd.includes(n)?us:sa("USDC",n)?n:us}function fo(e=us){return sa("USDC",e)}function Zd(e){const t=e?.integratorId??qd;return{integratorId:t,enabled:e?.enabled===!0&&t!=="",embedFactory:e?.embedFactory}}const Xd=e=>import("@swapper-finance/deposit-sdk").then(t=>new t.SwapperEmbed(e));function Gd(e,t,n){return{themeMode:t?"dark":"light",componentStyles:{width:"100%",primaryColor:n,accentColor:n,borderRadius:"9px",...t?{backgroundColor:e.shell,surfaceColor:e.cardBg,surfaceAltColor:e.inputBg,textColor:e.textPrimary,border:`1px solid ${e.cardBorder}`}:{}}}}function Ja(e){return e==="card"?["depositWithCash"]:e==="exchange"?["transferCrypto"]:["depositWithCash","transferCrypto"]}function Jd(e){const t=e.destinationChainId??us,n=fo(t);if(!n)throw new Error("USDC is not configured for the Swapper destination chain");return{iframeUrl:"https://swapper-deposit-sdk.web.app/",integratorId:e.integratorId,dstChainId:String(t),dstTokenAddr:n.address,depositWalletAddress:e.depositWalletAddress,supportedDepositOptions:Ja(e.source),styles:e.styles,actionLabel:"deposit",flexibleHeight:!0,iframeAttributes:{borderRadius:"9px"}}}async function $a(e,t=us){const n=fo(t);if(!n)throw new Error("USDC is not configured for the Swapper destination chain");return ft(t).readContract({address:n.address,abi:Le,functionName:"balanceOf",args:[e]})}async function $d(e,t,n){const s=n?.timeoutMs??12e4,o=n?.intervalMs??3e3,r=Date.now()+s;for(;Date.now()<r;){if(n?.signal?.aborted)return null;try{const a=await $a(e,n?.chainId);if(a>t)return a}catch{}await new Promise(a=>setTimeout(a,o))}return null}const br=e=>{const[t,n]=R(!1),s=Yt(zt),{dark:o,dk:r}=It();if(G(()=>{n(!0)},[]),!t)return c("div",{className:e.className,children:c("button",{disabled:!0,style:{padding:"12px 24px",fontSize:"16px",backgroundColor:o?r.hoverBg:"#ccc",color:o?r.textSecondary:"white",border:o?`1px solid ${r.buttonBorder}`:"none",borderRadius:"4px",cursor:"not-allowed"},children:"Loading..."})});if(!s){const a='ProviderLogin must be used within SpiceFlowProvider. Please wrap your app with <SpiceFlowProvider provider="privy">.';return c("div",{className:e.className,children:c("button",{onClick:()=>{e.onAuthError&&e.onAuthError(a)},style:{padding:"12px 24px",fontSize:"16px",backgroundColor:o?r.errorBg:"#dc2626",color:o?r.errorText:"white",border:o?`1px solid ${r.errorBorder}`:"none",borderRadius:"4px",cursor:"pointer"},children:"Provider Not Found"})})}return c(jl,{...e})},_d=.01,eu=5*60*1e3;function tu(e){const t=Number(Ge(e.verifiedBalance,e.tokenDecimals));return Number.isFinite(t)?t:0}async function nu(e){const t=su(e);let n;try{n=await Jo(t.map(s=>s.tokenSymbol))}catch{return t}return t.filter(s=>{const o=tu(s);if(o<=0)return!0;const r=n[s.tokenSymbol.toUpperCase()]??0;return!Number.isFinite(r)||r<=0?!0:o*r>=_d})}function su(e){const t=new Map;for(const n of e){const s=`${n.chainId}:${n.tokenAddress.toLowerCase()}`;t.get(s)||t.set(s,{...n,amount:n.timestamp===0?Ge(n.verifiedBalance,n.tokenDecimals):n.amount,rawAmount:n.timestamp===0?n.verifiedBalance.toString():n.rawAmount,hasFullBalance:n.timestamp===0?!0:n.hasFullBalance})}return Array.from(t.values())}function _a(e,t){const[n,s]=R([]),[o,r]=R(!1),a=X(t);a.current=t;const i=X(0),d=X(0),l=ne(async({forceDiscovery:u=!1}={})=>{if(!e){s([]),r(!1);return}const p=++d.current,m=()=>p!==d.current;r(!0);try{const h=[],f=Md(e);for(const x of f){if(m())return;try{const B=ft(x.chainId);let k;if(x.isNative||pe(x.tokenAddress)?k=await Uo(B,{address:e}):k=await Pn(B,{address:kt(x.tokenAddress),abi:Le,functionName:"balanceOf",args:[e]}),m())return;k>0n?h.push({...x,verifiedBalance:k,hasFullBalance:k>=BigInt(x.rawAmount)}):Date.now()-x.timestamp>15*60*1e3&&yr(e,x.chainId,x.tokenAddress)}catch(B){console.warn(`[usePendingDeposit] Failed to verify balance for ${x.tokenSymbol} on chain ${x.chainId}:`,B),h.push({...x,verifiedBalance:0n,hasFullBalance:!1})}}if(m())return;const y=a.current,g=Date.now(),w=(y?.discoverWalletBalances??!0)&&(u||g-i.current>=eu);if(y?.network&&w){i.current=g;const x=y.chainIds??Xs(y.network),B=new Set(h.map(C=>`${C.chainId}:${C.tokenAddress.toLowerCase()}`)),k=[];for(const C of x){const T=Ue(C);if(T?.supportedTokens)for(const A of T.supportedTokens){if(pe(A.address))continue;const v=`${C}:${A.address.toLowerCase()}`;B.has(v)||k.push((async()=>{try{const S=ft(C),F=await Pn(S,{address:kt(A.address),abi:Le,functionName:"balanceOf",args:[e]});return F>0n?{chainId:C,tokenAddress:A.address,tokenSymbol:A.symbol,tokenDecimals:A.decimals,amount:Ge(F,A.decimals),rawAmount:F.toString(),embeddedWalletAddress:e,externalWalletAddress:"",timestamp:0,isNative:!1,verifiedBalance:F,hasFullBalance:!0}:null}catch{return null}})())}}if(k.length>0){const C=await Promise.allSettled(k);if(m())return;for(const T of C)T.status==="fulfilled"&&T.value&&h.push(T.value)}}if(!m()){const x=await nu(h);if(m())return;s(x)}}catch(h){console.error("[usePendingDeposit] Verification error:",h),m()||s([])}finally{m()||r(!1)}},[e]);return G(()=>{if(!a.current?.enabled){d.current++,s([]),r(!1);return}l({forceDiscovery:!0});const u=a.current?.pollIntervalMs??3e4;if(u<=0||!e)return()=>{d.current++};const p=setInterval(()=>{l({forceDiscovery:!1})},u),m=()=>l({forceDiscovery:!0});return window.addEventListener(po,m),()=>{d.current++,window.removeEventListener(po,m),clearInterval(p)}},[l,e]),{pendingDeposits:n,loading:o,refresh:()=>l({forceDiscovery:!0})}}function ou({enabled:e,integratorId:t,depositWalletAddress:n,destinationChainId:s,brand:o,embedFactory:r,onTransactionSuccess:a,onCloseRequest:i}){const d=X(null),l=X(null),u=X(a);u.current=a;const p=X(i);p.current=i;const m=X(o);m.current=o;const h=X(r);h.current=r;const f=ne((w,x,B)=>{if(!x.isConnected)return;const k=w.getIframe();k.updateConfig({supportedDepositOptions:Ja(B)}),k.sendConfig(),w.showIn(x)},[]);G(()=>{if(!e||!n)return;let w=!1;return Promise.resolve().then(()=>{const{dk:x,dark:B,primaryColor:k}=m.current;return(h.current??Xd)(Jd({integratorId:t,depositWalletAddress:n,destinationChainId:s,source:null,styles:Gd(x,B,k)}))}).then(x=>{if(w){x.destroy();return}const B=x.getIframe();B.on("transaction_success",C=>u.current(C)),B.on("close_request",()=>p.current()),d.current=x;const k=l.current;k&&f(x,k.placeholder,k.source)}).catch(x=>{console.error("[useSwapperEmbed] Failed to preload Swapper widget:",x)}),()=>{w=!0,l.current=null,d.current?.destroy(),d.current=null}},[e,t,n,s,f]);const y=ne((w,x)=>{l.current={placeholder:w,source:x};const B=d.current;B&&f(B,w,x)},[f]),g=ne(()=>{l.current=null,d.current?.hide()},[]);return{showWidget:y,hideWidget:g}}function ru(e,t,n,s,o){return{address:t,symbol:n||"UNKNOWN",name:n||"Unknown Token",decimals:s||18,chainId:e,balance:0n,balanceFormatted:o?parseFloat(o):0,balanceUsd:0,isNative:pe(t)}}function au(e,t){const n=e?.data;if(!n||typeof n!="object")return null;const s=n;if(s.__spiceflowPlaygroundMock!==!0)return null;try{if(typeof s.amountReceivedRaw=="string")return BigInt(s.amountReceivedRaw);if(typeof s.amountReceived=="string"||typeof s.amountReceived=="number")return $e(String(s.amountReceived),t)}catch{return null}return null}const iu=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,styles:s,depositBatches:o,onDepositAmountChange:r,destinationChainId:a,destinationTokenAddress:i,onDepositExecute:d,depositActionLabel:l,sponsorGas:u=!1,escrowRecovery:p,skipTokenSelection:m=!1,onDepositSuccess:h,onDepositError:f,skipRecovery:y=!1})=>{const g=Yt(zt);if(!g)return c("div",{children:"Error: SpiceDeposit must be used within SpiceFlowProvider"});const w=(g.mode||"7702")!="7702",x=w,B=g.nativeChainId,k=g.network||"testnet",{dark:C,dk:T,primaryColor:A}=It(s),v=!!p,S=En(),{isReady:F,isAuthenticated:I,actions:D}=S,E=g?.embeddedWalletAddress,{address:L}=Mo(),W=g?.externalWalletAddress??L,U=!!W,_=Zd(g.swapper),P=x?{address:W,kind:"external"}:{address:E,kind:"embedded"},N=Yd({targetKind:P.kind,appChainId:a||B}),O=_.enabled&&!v&&k==="mainnet"&&!!fo(N),j=()=>m?"deposit":"select-token",q=()=>O?"select-source":x?U?j():"connect-wallet":"provider-login",[H,V]=R(q()),[M,oe]=R(null),[Ce,Q]=R(!1),[$,ie]=R(null),[fe,de]=R(!1),[Ve,z]=R(null),[le,te]=R(null),[me,ve]=R(null),K=X(null),ae=X(null),{pendingDeposits:Z,loading:ye,refresh:Qe}=_a(E,{enabled:e,network:k,chainIds:g.supportedChainIds}),[xe,gt]=R(null),[dt,tt]=R(!1),[ut,_e]=R(null),[vt,yt]=R(!1),[Te,Ke]=R("idle");G(()=>{e&&!y&&!v&&!xe&&!vt&&Te==="idle"&&I&&E&&U&&W&&!ye&&Z.length>0&&H!=="recovery"&&H!=="deposit"&&H!=="swapper"&&V("recovery")},[e,y,v,I,E,U,W,ye,Z,H,xe,vt,Te]);const pt=ne(ce=>{const et={address:ce.tokenAddress,symbol:ce.tokenSymbol,name:ce.tokenSymbol,decimals:ce.tokenDecimals,chainId:ce.chainId,balance:ce.verifiedBalance,balanceFormatted:parseFloat(ce.amount),balanceUsd:0,isNative:ce.isNative};oe(et),gt(ce),V("deposit")},[]),se=ne(ce=>{if(ie(ce),x){V(U?ce==="wallet"?j():"swapper":"connect-wallet");return}const et=I&&!!E;V(ce==="wallet"?et?U?j():"connect-wallet":"provider-login":et?"swapper":"provider-login")},[x,I,E,U,m]),at=ne(()=>{ae.current?.abort(),de(!1),z(null),te(null),ie(null),K.current=null,ve(null),V("select-source")},[]);G(()=>{H==="swapper"&&(me||!P.address||ve({address:P.address,kind:P.kind}))},[H,me,P.address,P.kind]);const At=me??P,mt=At.address,nt=At.kind,Mt=ne(async ce=>{if(!mt)return;ae.current?.abort();const et=new AbortController;ae.current=et,z(null),de(!0);const Ie=fo(N);if(!Ie){de(!1);return}const St=Be=>{de(!1);const qe=Ge(Be,Ie.decimals);if(nt==="external"){te({amount:qe,symbol:Ie.symbol});const it={type:"wallet-funding",status:"success",amount:qe,asset:Ie.address,sourceChain:String(N)};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:it})),h?.(it);return}pt({chainId:N,tokenAddress:Ie.address,tokenSymbol:Ie.symbol,tokenDecimals:Ie.decimals,amount:qe,rawAmount:Be.toString(),embeddedWalletAddress:mt,externalWalletAddress:"",timestamp:0,isNative:!1,verifiedBalance:Be,hasFullBalance:!0})},Gt=au(ce,Ie.decimals);if(Gt!==null){St(Gt);return}const Bt=await $d(mt,K.current??0n,{signal:et.signal,chainId:N});if(!et.signal.aborted){if(Bt===null){de(!1);const Be=Ue(N)?.viemChain?.name??`chain ${N}`;z(`We haven't seen your funds arrive on ${Be} yet \u2014 they may still be in transit.`);return}St(Bt)}},[mt,nt,N,pt,h]);G(()=>{if(H!=="swapper"||!mt||K.current!==null)return;let ce=!1;return $a(mt,N).then(et=>{ce||(K.current=et)}).catch(()=>{ce||(K.current=0n)}),()=>{ce=!0}},[H,mt,N]);const{showWidget:Re,hideWidget:Me}=ou({enabled:e&&O,integratorId:_.integratorId,depositWalletAddress:mt,destinationChainId:N,brand:{dk:T,dark:C,primaryColor:A},embedFactory:_.embedFactory,onTransactionSuccess:Mt,onCloseRequest:()=>{fe||at()}}),he=ne(()=>{yt(!0),V(I&&E&&U&&W?m?"deposit":"select-token":I&&E?"connect-wallet":"provider-login")},[I,E,U,W,m]),Ne=ne(()=>{_e(null),Ke("awaiting-disconnect"),V("connect-wallet")},[]),He=ne(async ce=>{tt(!0),_e(null);try{if(!E)throw new Error("Embedded wallet not available");const et=await D.getEthereumProvider(),Ie=Ue(ce.chainId);await _r(et,ce.chainId);const St=ft(ce.chainId),Gt=await Uo(St,{address:E}),Bt=Ie?.viemChain?.name||`chain ${ce.chainId}`;if(Gt===0n)throw new Error(`Your embedded wallet has no ETH on ${Bt} to pay for gas. We recommend completing the deposit instead \u2014 it doesn't require gas.`);const Be=No({account:E,transport:Oo(et),chain:Ie?.viemChain}),qe=ce.externalWalletAddress&&en(ce.externalWalletAddress)?ce.externalWalletAddress:W;if(!qe||!en(qe))throw new Error("Connect the external wallet that should receive these funds, then try again.");let it;ce.isNative||pe(ce.tokenAddress)?it=await Be.sendTransaction({to:qe,value:ce.verifiedBalance,chain:Ie?.viemChain}):it=await Be.sendTransaction({to:ce.tokenAddress,data:ct({abi:Le,functionName:"transfer",args:[qe,ce.verifiedBalance]}),chain:Ie?.viemChain}),await St.waitForTransactionReceipt({hash:it,confirmations:1}),yr(ce.embeddedWalletAddress,ce.chainId,ce.tokenAddress),Qe(),Z.length<=1&&V(q())}catch(et){const Ie=et?.message||"Couldn't return your funds. Please try again.",St=/insufficient funds for gas/i.test(Ie);_e(St?"Not enough ETH in your embedded wallet to cover gas fees. Complete the deposit instead \u2014 it doesn't require gas.":Ie)}finally{tt(!1)}},[D,E,W,Z,Qe]);G(()=>{e||(gt(null),_e(null),tt(!1),yt(!1),Ke("idle"),ae.current?.abort(),ie(null),de(!1),z(null),te(null),K.current=null,ve(null))},[e]),G(()=>{if(Te!=="idle"){if(Te==="awaiting-disconnect"){(!U||!W)&&Ke("awaiting-reconnect");return}e&&!ye&&Z.length>0&&I&&E&&(Ke("idle"),V("recovery"))}},[Te,U,W,e,ye,Z,I,E]),G(()=>{!v||!e||(I&&E?(Q(!0),!M&&p?.chainId&&p?.tokenAddress&&oe(ru(p.chainId,p.tokenAddress,p.tokenSymbol,p.tokenDecimals,p.amount)),V("deposit")):V("provider-login"))},[v,e,H,I,E]);const{assets:xt,loading:Ut}=as({address:W,supportedChains:g.supportedChainIds,fetchBalances:rs,enabled:e&&!!W,refreshInterval:e?5e3:0}),Ae=ne(()=>{Q(!0),V(v?"deposit":$==="card"||$==="exchange"?"swapper":U?m?"deposit":"select-token":"connect-wallet")},[v,$,U,m]),Je=ne(async()=>{if((!U||!W)&&(await Bn(500),!U||!W)){alert("Please connect your wallet first");return}V(m?"deposit":"select-token")},[U,W,m]),Xt=ne(ce=>{oe(ce),V("deposit")},[]),yn=ne(()=>{if(oe(null),r?.(""),!W){V("connect-wallet");return}V("select-token")},[W,r]),We=ne(()=>{t()},[t]);if(G(()=>{if(!e){const ce=setTimeout(()=>{v||(V(q()),oe(null)),Q(!1)},300);return()=>clearTimeout(ce)}},[e,v,p?.chainId]),G(()=>{e&&H==="deposit"&&!M&&!v&&!xe&&!m&&V("select-token")},[e,H,M,v,xe,m]),G(()=>{if(e&&H==="connect-wallet"&&U&&W&&Te==="idle"){if(O&&!$){V("select-source");return}if(O&&$&&$!=="wallet"){V("swapper");return}V(m?"deposit":"select-token")}},[e,H,U,W,Te,m,O,$]),G(()=>{if(!x&&e&&H==="provider-login"&&F&&I&&E&&!Ce){const ce=setTimeout(()=>{Q(!0),V($==="card"||$==="exchange"?"swapper":U?m?"deposit":"select-token":"connect-wallet")},100);return()=>clearTimeout(ce)}},[x,e,H,F,I,E,$,U,m,Ce]),!e)return null;if(H==="recovery")return c(Hd,{isOpen:e,onClose:We,closeOnBackdropClick:n,deposits:Z,onComplete:pt,onCancel:He,onSkip:he,onChangeWallet:Ne,isProcessing:dt,error:ut,styles:s});if(H==="select-source")return O?c(Vd,{isOpen:e,onClose:We,closeOnBackdropClick:n,onSelect:se,styles:s}):(V("provider-login"),null);if(H==="swapper")return $!=="card"&&$!=="exchange"?(V(q()),null):mt?c(Qd,{isOpen:e,onClose:We,onBack:at,closeOnBackdropClick:n,source:$,destinationChainId:N,onShowWidget:Re,onHideWidget:Me,verifying:fe,verifyError:Ve,onRetryVerify:Mt,funded:le,styles:s}):c("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",padding:"16px",zIndex:50},children:c("div",{style:{backgroundColor:C?T.cardBg:"white",borderRadius:"9px",padding:"32px 24px",maxWidth:"400px",width:"100%",textAlign:"center",fontFamily:'"Helvetica Neue", sans-serif',fontSize:"14px",color:C?T.textPrimary:"#111827"},children:"Preparing your account..."})});if(H==="provider-login"&&!x)return c("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",padding:"16px",zIndex:50},children:c("div",{style:{backgroundColor:C?T.cardBg:"white",borderRadius:"9px",padding:"32px 24px",maxWidth:"400px",width:"100%"},children:c(br,{onAuthSuccess:Ae,autoTrigger:!0})})});if(H==="connect-wallet")return c(Xc,{isOpen:e,onClose:We,closeOnBackdropClick:n,onContinue:Je,requiredChainId:w?B:void 0,styles:s});if(H==="select-token")return W?c(Kc,{isOpen:e,onClose:We,closeOnBackdropClick:n,onTokenSelect:Xt,walletAddress:W,supportedChainIds:g.supportedChainIds,network:k,prefetchedAssets:Ut?null:xt??null,styles:s,dark:C}):(V("connect-wallet"),null);if(H==="deposit"){if(!M&&!m)return null;const ce=!!xe;return c(Ga,{isOpen:e,onClose:We,closeOnBackdropClick:n,supportedChains:M?[M.chainId]:g.supportedChainIds??[],styles:s,externalWalletAddress:W,depositBatches:ce?void 0:o,onDepositAmountChange:r,destinationChainId:a,destinationTokenAddress:i,onDepositExecute:d,depositActionLabel:l,nativeChainId:B,sponsorGas:u,preSelectedAsset:M??void 0,escrowOnly:v||ce,escrowTokenAddress:ce?xe.tokenAddress:p?.tokenAddress,escrowAmount:ce?xe.amount:p?.amount,escrowTokenDecimals:ce?xe.tokenDecimals:p?.tokenDecimals,escrowTokenSymbol:ce?xe.tokenSymbol:p?.tokenSymbol,onDepositSuccess:h,onDepositError:f,embeddedWalletAddress:E,onViewAllAssets:m?void 0:yn})}return null},lu=e=>Yt(zt)?c(iu,{...e}):c("div",{children:"Error: SpiceDeposit must be used within SpiceFlowProvider"}),cu=({isOpen:e,onClose:t,onChainSelect:n,supportedChains:s,closeOnSelect:o=!0,styles:r})=>{const{theme:a,dark:i,primaryColor:d,dk:l}=It(r),[u,p]=R(""),[m,h]=R(null),[f,y]=R(null),[g,w]=R(!1),[x,B]=R(null),{switchChainAsync:k}=ea(),C=J(()=>new Set(s||[]),[s]),T=J(()=>{if(!s||s.length===0)return[];const F=[];return s.forEach((I,D)=>{if(typeof I!="number")return;const E=Ue(I);E&&F.push({id:I.toString(),name:E.displayName,icon:Ln[I]||Cs,chainId:I,verified:!0,order:D})}),F},[s]);G(()=>{m&&!C.has(parseInt(m,10))&&h(null)},[m,C]);const A=J(()=>T.filter(F=>F.name.toLowerCase().includes(u.toLowerCase())).sort((F,I)=>F.order-I.order),[T,u]),v=async()=>{if(!m)return;const F=parseInt(m,10);w(!0),B(null);try{await k({chainId:F}),n&&n(m),o&&t()}catch(I){console.error("Failed to switch chain:",I),B(fn(I,"Failed to switch chain."))}finally{w(!1)}},S=!m||g;return b(hn,{isOpen:e,onClose:t,title:"Select Chain",styles:r,theme:a,dark:i,children:[c("div",{style:{padding:"24px 20px"},children:c(zo,{value:u,onChange:p,ariaLabel:"Search chains",placeholder:"Search chain name, symbol or address",size:"md",dark:i,styles:r,endAdornment:c("div",{style:{padding:"5px 5px",borderRadius:"3px",fontSize:"13px",backgroundColor:i?l.cardBg:"#E9E9E9",color:i?l.textSecondary:"#485066",fontWeight:500,flexShrink:0},"aria-hidden":"true",children:"\u2318F"})})}),c("div",{style:{padding:"0 32px 20px",display:"flex",flexDirection:"column",gap:"12px"},children:A.map(F=>{const I=m===F.id,D=f===F.id;return b("button",{onClick:()=>h(F.id),onMouseEnter:()=>y(F.id),onMouseLeave:()=>y(null),style:{width:"100%",display:"flex",alignItems:"center",gap:"16px",padding:"8px",borderRadius:"8px",backgroundColor:I?i?`${d}15`:`${d}12`:"transparent",border:I?i?`1px solid ${d}66`:`1px solid ${d}88`:D?i?`1px solid ${d}44`:`1px solid ${d}66`:"1px solid transparent",cursor:"pointer",transition:rn.interactive},children:[c("div",{style:{width:"40px",height:"40px",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"30px"},children:c("img",{src:F.icon,alt:F.name,loading:"lazy",decoding:"async",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),b("div",{style:{display:"flex",alignItems:"center",gap:"6px",flex:1},children:[c("span",{style:{fontFamily:Ee.mono,fontSize:"17px",fontWeight:500,letterSpacing:"0.4px",color:l.textPrimary,textAlign:"left"},children:F.name}),F.verified&&c("img",{src:ka,alt:"","aria-hidden":"true",loading:"lazy",decoding:"async",width:16,height:16,style:{width:"16px",height:"16px",filter:i?"brightness(0) invert(1)":"none"}})]})]},F.id)})}),x&&c("div",{style:{padding:"0 25px 12px"},children:c(Rn,{variant:"error",size:"compact",palette:l,children:x})}),c("div",{style:{padding:"0 25px 25px"},children:b(Ot,{variant:"outline",onClick:v,disabled:S,fullWidth:!0,theme:a,styles:r,dark:i,children:["SELECT",c(yc,{size:20})]})})]})},ei=({isSuccess:e,type:t,chainName:n,explorerUrl:s,txHash:o,dark:r=!1,successBg:a="#d1fae5",successBorder:i="#6ee7b7",successText:d="#065f46",errorBg:l="#fee2e2",errorBorder:u="#fca5a5",errorText:p="#dc2626",textSecondary:m="#6b7280"})=>b("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px",borderRadius:"8px",backgroundColor:e?a:l,border:e?`1px solid ${i}`:`1px solid ${u}`},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"12px"},children:[c("div",{style:{width:"28px",height:"28px",borderRadius:"50%",backgroundColor:e?"#10b981":"#ef4444",display:"flex",alignItems:"center",justifyContent:"center"},children:e?c("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:c("path",{d:"M11.6667 3.5L5.25 9.91667L2.33333 7",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):c("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:c("path",{d:"M10.5 3.5L3.5 10.5M3.5 3.5L10.5 10.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),b("div",{children:[c("p",{style:{margin:0,fontSize:"14px",fontWeight:600,fontFamily:Ee.mono,letterSpacing:"0.5px",color:e?d:p},children:e?`${t.toUpperCase()} CONFIRMED`:`${t.toUpperCase()} FAILED`}),b("p",{style:{margin:"2px 0 0 0",fontSize:"12px",color:m},children:["on ",n]})]})]}),s&&o&&b("a",{href:`${s}/tx/${o}`,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",gap:"4px",fontSize:"13px",color:m,textDecoration:"none",whiteSpace:"nowrap"},children:["View on explorer",b("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:[c("path",{d:"M9 6.5V9.5C9 9.76522 8.89464 10.0196 8.70711 10.2071C8.51957 10.3946 8.26522 10.5 8 10.5H2.5C2.23478 10.5 1.98043 10.3946 1.79289 10.2071C1.60536 10.0196 1.5 9.76522 1.5 9.5V4C1.5 3.73478 1.60536 3.48043 1.79289 3.29289C1.98043 3.10536 2.23478 3 2.5 3H5.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),c("path",{d:"M7.5 1.5H10.5V4.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),c("path",{d:"M5 7L10.5 1.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})]})]})]}),ti=`
31
31
  @keyframes slideUp {
32
32
  from { transform: translateY(100%); }
33
33
  to { transform: translateY(0); }
@@ -40,14 +40,14 @@ import{jsx as c,jsxs as w,Fragment as Gt}from"react/jsx-runtime";import xn,{useS
40
40
  from { opacity: 0; transform: translateY(4px); }
41
41
  to { opacity: 1; transform: translateY(0); }
42
42
  }
43
- `,ei=({title:e,showChevron:t,expanded:n,onToggleDetails:o,showClose:s,onClose:r,fontFamily:a,labelColor:i,textPrimary:d,closeHoverBg:l,closePressedBg:p})=>{const[u,m]=R(!1),[h,f]=R(!1);return w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"16px"},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"8px",cursor:o?"pointer":"default"},onClick:o,children:[w("span",{style:{fontSize:"13px",fontWeight:500,color:i,fontFamily:a},children:[e," "]}),t&&c(Yn,{color:i,direction:n?"up":"down"})]}),s&&c("button",{onClick:r,onMouseEnter:()=>m(!0),onMouseLeave:()=>{m(!1),f(!1)},onMouseDown:()=>f(!0),onMouseUp:()=>f(!1),style:{background:h?p:u?l:"none",border:"none",borderRadius:"4px",cursor:"pointer",padding:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:u||h?d:i,transform:h?"scale(0.9)":u?"scale(1.1)":"scale(1)",transition:an.interactive},children:c(Io,{size:16})})]})},ti=({chainName:e,bg:t,border:n,textPrimary:o,labelColor:s,primaryColor:r})=>w("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"20px 16px",borderRadius:"8px",backgroundColor:t,border:`1px solid ${n}`,gap:"12px"},children:[c(vn,{size:24,borderWidth:3,color:r}),w("div",{children:[c("p",{style:{margin:0,fontSize:"14px",fontWeight:600,fontFamily:Ae.mono,letterSpacing:"0.5px",color:o},children:"PROCESSING TRANSACTION"}),w("p",{style:{margin:"2px 0 0 0",fontSize:"12px",color:s},children:["on ",e]})]})]}),ni=({bg:e,border:t,left:n,right:o})=>w("div",{style:{padding:"10px 12px",borderRadius:"6px",backgroundColor:e,border:`1px solid ${t}`,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[n,o]}),ur=({isOpen:e,onClose:t,onComplete:n,closeOnComplete:o=!1,type:s,results:r,chainId:a,chainName:i,explorerUrl:d,theme:l,styles:p,dark:u,intentStatus:m,onRetry:h,onNewTx:f,onRetryTx:y,asOverlay:g=!0,isProcessing:k=!1,showStepBreakdown:x=!0})=>{const{theme:F,primaryColor:b,dark:C,dk:T}=At(p,u),v=l||F,[E,A]=R(!1),S=i??(a?Jt(a):"Network"),I=d??(a&&Qo(a,"").replace(/\/tx\/.*$/,"")||void 0),D=C?T.cardBg:"#ffffff",B=C?"0 4px 20px rgba(0, 0, 0, 0.4)":"0 4px 20px rgba(0, 0, 0, 0.1)",H=C?"0 -4px 8px -2px rgba(0, 0, 0, 0.4)":"0 -4px 8px -2px rgba(0, 0, 0, 0.15)",W=T.textSecondary,P=C?T.textPrimary:"#374151",_=C?T.inputBg:"#f9fafb",U=C?T.inputBorder:"#e5e7eb",N=C?T.inputBg:"#f3f4f6",O=C?T.inputBorder:"#e5e7eb",[j,K]=R(!0),L=C?T.inputBg:"#f9fafb",q=C?T.hoverBg:"#f3f4f6",M=C?{successBg:T.successBg,successBorder:T.successBorder,successText:T.successText,errorBg:T.errorBg,errorBorder:T.errorBorder,errorText:T.errorText}:{},ae=m?.steps.find(ue=>ue.status==="failed")?.error;X(()=>{!e&&!m&&A(!1)},[e,m]);const ke=()=>{A(!0),setTimeout(()=>{window.dispatchEvent(new CustomEvent("tx-complete",{detail:{type:s,results:r}})),window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:{type:s,status:"success",results:r}})),n?.(),o&&t()},300)},Q=()=>{K(!j)};if(m){const{steps:ue,overallStatus:qe}=m,z=qe==="processing",le=qe==="success",oe=qe==="failed",me=ue.filter(ee=>ee.transactionHash)[0],V=ue.length>1?ue.map(ee=>ee.chainName).filter(Boolean).join(" and "):S!=="Network"?S:ue[0]?.chainName||S,re=I||(me?Qo(me.chainId,me.transactionHash||"").replace(/\/tx\/.*$/,""):void 0),xe=w(Gt,{children:[c(ei,{title:z?`Processing ${s.charAt(0).toUpperCase()+s.slice(1)}`:`${s.charAt(0).toUpperCase()+s.slice(1)} results`,showChevron:x,expanded:j,onToggleDetails:Q,showClose:!z,onClose:t,fontFamily:p?.fontFamily||v.typography.fontFamily,labelColor:W,textPrimary:P,closeHoverBg:L,closePressedBg:q}),c("div",{style:{marginBottom:"16px"},children:z?c(ti,{chainName:V,bg:N,border:O,textPrimary:P,labelColor:W,primaryColor:b}):c($a,{isSuccess:le,type:s,chainName:V,explorerUrl:re,txHash:me?.transactionHash,dark:C,...M,textSecondary:W})}),x&&c("div",{style:{overflow:"hidden",maxHeight:j?"300px":"0px",opacity:j?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease",marginBottom:j?"16px":"0"},children:c("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:ue.map((ee,ve)=>{const st=ee.transactionHash?Qo(ee.chainId,ee.transactionHash):null;return c(ni,{bg:_,border:U,left:c("span",{style:{fontSize:"13px",color:P},children:ee.chainName?`On ${ee.chainName}`:ee.description||`Step ${ve+1}`}),right:w("span",{style:{display:"flex",alignItems:"center",gap:"8px",fontSize:"12px",color:ee.status==="success"?"#10b981":ee.status==="failed"?"#ef4444":W,fontWeight:500},children:[st&&c("a",{href:st,target:"_blank",rel:"noopener noreferrer",style:{color:C?T.infoText:"#2563eb",textDecoration:"none"},onClick:ye=>ye.stopPropagation(),children:"View"}),ee.status==="success"?"\u2713":ee.status==="failed"?"\u2717":"\u25CB"]})},ve)})})}),!z&&w("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[oe&&h&&c(Wt,{variant:"outline",fullWidth:!0,onClick:h,theme:v,styles:p,dark:C,children:"TRY AGAIN"}),f&&w(Wt,{variant:"outline",fullWidth:!0,onClick:f,theme:v,styles:p,dark:C,children:["NEW ",s.toUpperCase()," \u2192"]})]})]});return g?w("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:10,animation:E?"slideDown 0.3s ease-in forwards":"slideUp 0.3s ease-out forwards",pointerEvents:"auto"},children:[c("div",{style:{backgroundColor:D,borderRadius:"12px 12px 0 0",width:"100%",padding:"18px 24px 24px",boxShadow:H},children:xe}),c("style",{children:_a})]}):c("div",{style:{backgroundColor:D,borderRadius:"12px",padding:"24px",width:"100%",boxShadow:B},children:xe})}if(!e&&!k||!k&&(!r||r.length===0))return null;const G=r?r.every(ue=>ue.success):!1,ie=r?.[0],fe=[...r??[]].reverse().find(ue=>ue.txHash)?.txHash||ie?.txHash;return w("div",{style:{position:g?"absolute":"relative",bottom:g?0:void 0,left:g?0:void 0,right:g?0:void 0,zIndex:g?10:void 0,animation:g?E?"slideDown 0.3s ease-in forwards":"slideUp 0.3s ease-out forwards":void 0,pointerEvents:"auto",width:"100%"},children:[c("div",{style:{backgroundColor:D,borderRadius:g?"12px 12px 0 0":"12px",width:"100%",padding:"18px 0 24px",boxShadow:g?H:B},children:w("div",{style:{width:"100%",boxSizing:"border-box",padding:"0 24px"},children:[c(ei,{title:k?`Processing ${s.charAt(0).toUpperCase()+s.slice(1)}`:`${s.charAt(0).toUpperCase()+s.slice(1)} results`,showChevron:!k&&x,expanded:j,onToggleDetails:k?void 0:Q,showClose:!k,onClose:t,fontFamily:p?.fontFamily||v.typography.fontFamily,labelColor:W,textPrimary:P,closeHoverBg:L,closePressedBg:q}),c("div",{style:{marginBottom:"16px",animation:"statusFadeIn 220ms cubic-bezier(0.22, 1, 0.36, 1) both"},children:k?c(ti,{chainName:S,bg:N,border:O,textPrimary:P,labelColor:W,primaryColor:b}):c($a,{isSuccess:G,type:s,chainName:S,explorerUrl:I,txHash:fe,dark:C,...M,textSecondary:W})},k?"processing":G?"success":"error"),!k&&x&&r&&r.length>1&&c("div",{style:{overflow:"hidden",maxHeight:j?"200px":"0px",opacity:j?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease",marginBottom:j?"16px":"0"},children:c("div",{style:{maxHeight:"180px",overflowY:"auto",display:"flex",flexDirection:"column",gap:"8px"},children:r.map((ue,qe)=>c(ni,{bg:_,border:U,left:w("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[c("span",{style:{fontWeight:600,fontSize:"13px",color:T.textPrimary,fontFamily:Ae.mono},children:ue.asset.symbol}),ue.amount&&c("span",{style:{fontSize:"12px",color:W},children:ue.amount})]}),right:c("span",{style:{fontSize:"12px",color:ue.success?"#10b981":"#ef4444",fontWeight:500},children:ue.success?"\u2713":"\u2717"})},qe))})}),!k&&!G&&r&&c("div",{style:{padding:"12px",backgroundColor:T.errorBg,border:`1px solid ${T.errorBorder}`,borderRadius:"8px",marginBottom:"16px"},children:c("p",{style:{fontSize:"13px",color:T.errorText,margin:0,lineHeight:1.5},children:ae||r.find(ue=>!ue.success)?.error||`${s.charAt(0).toUpperCase()+s.slice(1)} failed. Please try again.`})}),!k&&w("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[!G&&y&&w(Wt,{variant:"outline",fullWidth:!0,onClick:y,theme:v,styles:p,dark:C,children:["TRY AGAIN ",s.toUpperCase()]}),G&&c(Wt,{variant:"outline",fullWidth:!0,onClick:ke,theme:v,styles:p,dark:C,children:"DONE"})]})]})}),c("style",{children:_a})]})};function iu(e,t,n){const o=Vt(Lt),[s,r]=R(0),a=n??o?.supportedChainIds,i=JSON.stringify(a??[]),d=$(()=>e.map(l=>{if(Number.isFinite(l.balanceUsd)&&l.balanceUsd>0)return[];const p=Object.keys(l.chainTokens??{}).map(En).filter(u=>!!u&&$t(u.address)&&!!a?.includes(u.chainId));return p.sort((u,m)=>{const h=f=>f===o?.nativeChainId?-1:a.indexOf(f);return h(u.chainId)-h(m.chainId)||+!Be(u.address,l.address)-+!Be(m.address,l.address)}),p.flatMap(u=>{const m=o?.rpcOverrides?.[u.chainId];if(!m)return[];const h=aa(u.chainId,m);if(!h)return[];const f=he(u.address)?Ue(u.chainId)?.nativeCurrency.symbol:void 0,y=f?`native:${f}`:u.address;return[{rpc:h,token:y,address:u.address,nativeSymbol:f}]})}),[e,i,o?.nativeChainId,o?.rpcOverrides]);return X(()=>{if(!t||!d.some(h=>h.length>0))return;let l=!0,p;const u=async()=>{!l||document.hidden||(r(h=>h+1),await Promise.all(d.map(async h=>{for(const f of h){if(!l||document.hidden)return;if(f.nativeSymbol?await da(f.rpc,f.nativeSymbol):(await ca(f.rpc,[f.address])).get(f.address.toLowerCase()))break}})),l&&r(h=>h+1))},m=()=>{clearInterval(p),!document.hidden&&(u(),p=setInterval(()=>{u()},6e4))};return m(),document.addEventListener("visibilitychange",m),()=>{l=!1,clearInterval(p),document.removeEventListener("visibilitychange",m)}},[d,t]),$(()=>e.map((l,p)=>{if(Number.isFinite(l.balanceUsd)&&l.balanceUsd>0)return l;const u=d[p].map(m=>wo(m.rpc,m.token)).find(Boolean);return{...l,balanceUsd:u?l.balanceFormatted*u.price:0,priceStatus:u?u.stale?"stale":"fresh":"unavailable"}}),[e,d,s])}function lu(e){const t=e.chainTokens??e.chainTokenConfig;if(Array.isArray(t))return t.filter(n=>typeof n=="string");if(t&&typeof t=="object")return t}const Bo=({address:e,supportedChains:t,enabled:n=!0,refetchInterval:o,priceEnabled:s=!1})=>{const r=Vt(Lt),a=r?.apiUrl||jl,[i,d]=R([]),[l,p]=R(!1),[u,m]=R(null),[h,f]=R(!1),y=Z(!1),g=Z(null),k=t??r?.supportedChainIds,x=k?JSON.stringify([...k].sort()):"",F=se(async()=>{if(!e||!n){d([]),f(!1),p(!1),m(null),y.current=!1;return}if(g.current)return;const v=new AbortController;g.current=v,y.current||p(!0),m(null);try{const E=await Hl(`${a}/wallets/${e}/balance`,{cache:"no-store",signal:v.signal});if(!E.ok)throw new Error(`Failed to fetch balance: ${E.status}`);const A=await E.json();if(v.signal.aborted)return;if(A.balances&&Array.isArray(A.balances)){const S=A.balances.map(I=>od({receiptToken:typeof I.receiptToken=="string"?I.receiptToken:void 0,tokenName:String(I.tokenName??""),balanceAvailable:String(I.balanceAvailable??"0"),chainTokens:lu(I),decimals:typeof I.decimals=="number"?I.decimals:void 0,balanceUsd:typeof I.balanceUsd=="number"||typeof I.balanceUsd=="string"?I.balanceUsd:null},k)).filter(I=>I!==null);d(S),f(S.length>0),y.current=!0}else d([]),f(!1)}catch(E){if(v.signal.aborted)return;const A=E instanceof Error?E.message:"Failed to fetch balance";m(A),console.error("Error fetching Spice assets:",E),y.current||(d([]),f(!1))}finally{g.current===v&&(p(!1),g.current=null)}},[e,n,x,a]);X(()=>(y.current=!1,d([]),f(!1),F(),()=>{g.current?.abort(),g.current=null}),[F]),X(()=>{if(!n||!e||!o)return;const v=setInterval(()=>{F()},o);return()=>clearInterval(v)},[e,n,o,F]);const b=iu(i,n&&s,k),C=se(v=>b.filter(E=>E.chainId===v),[b]),T=se(async()=>{await F()},[F]);return{assets:b,loading:l,error:u,hasBalance:h,refetch:T,getAssetsByChain:C}};function Tn(e,t,n,o){if(t===n)return e;if(t<n)return e*10n**BigInt(n-t);const s=10n**BigInt(t-n);return o==="ceil"?(e+s-1n)/s:e/s}function pr(e,t){return $e(e,t).replace(/(\.\d*?[1-9])0+$|\.0+$/,"$1")}function oi(e,t,n){return Tn(e,t,n,"floor")}function si(e,t,n=!1){if(e<=0)return"$0";if(!t||!Number.isFinite(t)||t<=0)return"\u2014";const o=e*t;return`$${o>=1?o.toFixed(3).replace(/0+$/,"").replace(/\.$/,""):o.toFixed(4).replace(/0+$/,"").replace(/\.$/,"")}${n?" (stale)":""}`}function cu(e,t){return t?JSON.stringify({tokenAddress:t.toLowerCase(),batches:e.map(n=>({chainId:n.chainId,calls:n.calls.map(o=>({to:o.to.toLowerCase(),value:o.value.toString(),data:o.data})),tokenTransfers:(n.tokenTransfers??[]).map(o=>({from:o.from,to:o.to.toLowerCase(),token:o.token.toLowerCase(),amount:o.amount.toString()}))}))}):null}function du(e){const t=e.find(n=>to(n.chainId))?.calls?.[0]?.data;if(!t)return null;try{const n=Yo({abi:$r,data:t});return n.functionName!=="createWithdrawalRequest"?null:n.args[0].transfers.map(o=>({token:o.token,recipient:o.to,amount:o.amount}))}catch{return null}}function uu(e,t){return!e||e.length!==t.length?!1:e.every((n,o)=>{const s=t[o];return n.token.toLowerCase()!==s.token.toLowerCase()||n.recipient.toLowerCase()!==s.recipient.toLowerCase()?!1:n.recipient.toLowerCase()===ln.toLowerCase()?zn(n.amount,s.amount,100n):n.amount===s.amount})}function pu(e,t){const n=e.intents.flatMap(r=>r.batches).filter(r=>{const a=nn(r);return BigInt(r.quotedAmount)>0n||BigInt(r.totalDebit)>0n||a.totalFee>0n}),o=n.filter(r=>r.chainId===t),s=o.length>0?o:n;return s.length===1?s[0]:null}function mu(e){const t=new Map;for(const n of e){if(n.amount<=0n)continue;const o=n.token.toLowerCase(),s=n.recipient.toLowerCase(),r=`${o}:${s}`,a=t.get(r);a?a.amount+=n.amount:t.set(r,{...n})}return[...t.values()]}function ri(e,t){if(!e.token||!e.recipient||e.chainId===null)return null;const n=pu(t,e.chainId);if(!n)return null;const{gasFee:o,bridgeFee:s,spicenetFee:r}=nn(n),a=o+s,i=[{token:e.token.address,recipient:e.recipient,amount:e.receiveAmountRaw}];return a>0n&&i.push({token:e.token.address,recipient:ln,amount:a}),r>0n&&i.push({token:e.token.address,recipient:Kn,amount:r}),mu(i)}function fu(e,t,n){const o=ri(e,t);return!o||uu(du(n),o)?null:e.buildWithdrawBatches(o)}async function ai(e){if(!(!e.batches.length||!e.walletAddress||!e.recipient)){e.ui.setIsExecuting(!0),e.ui.setExecutionError(null),e.ui.setExecutionProgress(null),e.executionContextRef.current=null,e.ui.setLockedGasFee(e.gasFee);try{let t=e.batches;if(e.isNon7702&&e.onWithdrawExecute)await e.onWithdrawExecute(e.amount);else{if(!e.isNon7702&&!t.some(s=>to(s.chainId)))throw new Error("Spice withdrawals must include a Spicenet funding batch before the destination chain batch.");const n=e.token?.address||"",o={useCustomTransfers:!0};if(e.buildSpicenetBatch){const s=e.feeEstimate??await e.execution.estimate(t,n,0n,o),r=ri(e,s);r&&(t=e.buildWithdrawBatches(r));const a=s.intents[0]?.batches.find(i=>i.chainId===e.chainId)??s.intents[0]?.batches[0]??null;a&&e.ui.setLockedGasFee(nn(a).totalFee)}else{const s=(e.feeEstimate??await e.execution.estimate(t,n,0n,o)).intents[0]?.batches[0]??null;s&&e.ui.setLockedGasFee(nn(s).totalFee)}await e.execution.execute(t,n,0n,s=>{s.actionId&&s.intentId&&typeof s.intentIndex=="number"&&typeof s.totalSteps=="number"&&(e.executionContextRef.current={actionId:s.actionId,intentId:s.intentId,intentIndex:s.intentIndex,totalSteps:s.totalSteps}),e.ui.setExecutionProgress(s)},void 0,e.buildSpicenetBatch?{...o,adjustBatchesForEstimate:({feeEstimate:s,chainBatches:r})=>fu(e,s,r)}:{...o,skipPreSubmitFeeEstimate:!0})}ii(e)}catch(t){const n=t instanceof Error?t.message:"Withdraw failed";e.ui.setExecutionError(n)}finally{e.ui.setIsExecuting(!1)}}}function ii(e){window.dispatchEvent(new CustomEvent("withdraw-completed")),e.onWithdrawSuccess?.({token:e.token?.symbol||"",amount:e.amount,chainId:e.chainId})}async function hu(e){const t=e.executionContextRef.current;if(!t){e.ui.setExecutionProgress(null),await ai(e);return}e.ui.setIsExecuting(!0),e.ui.setExecutionError(null),e.ui.setExecutionProgress({step:"executing",message:"Resuming existing action...",actionId:t.actionId,intentId:t.intentId,intentIndex:t.intentIndex,totalSteps:t.totalSteps});try{let n=t.totalSteps;for(let o=0;o<t.totalSteps;o++)if((await zt.checkStepStatus(t.intentId,o)).data.status!=="success"){n=o;break}if(n>=t.totalSteps)e.ui.setExecutionProgress(o=>({...o||{step:"success",message:"Transaction successful!",actionId:t.actionId,intentId:t.intentId,intentIndex:t.intentIndex,totalSteps:t.totalSteps},step:"success",message:"Transaction successful!"}));else for(let o=n;o<t.totalSteps;o++){const s=await Fa({actionId:t.actionId,intentIndex:t.intentIndex,intentId:t.intentId,stepIndex:o,chainId:e.chainId??void 0,onStatusMessage:(r,a)=>{e.isMountedRef.current&&e.ui.setExecutionProgress({step:"executing",message:r,txHash:a,actionId:t.actionId,intentId:t.intentId,intentIndex:t.intentIndex,totalSteps:t.totalSteps})}});if(!e.isMountedRef.current)return;e.ui.setExecutionProgress({step:o===t.totalSteps-1?"success":"executing",message:o===t.totalSteps-1?"Transaction successful!":"Executing remaining steps...",txHash:s,actionId:t.actionId,intentId:t.intentId,intentIndex:t.intentIndex,totalSteps:t.totalSteps})}ii(e)}catch(n){const o=n instanceof Error?n.message:"Withdraw failed";e.ui.setExecutionError(o)}finally{e.ui.setIsExecuting(!1)}}async function gu(e){const t=await e.estimate(e.batches,e.tokenAddress,0n,{useCustomTransfers:!0,signal:e.signal}),n=t.intents.flatMap(s=>s.batches).filter(s=>nn(s).totalFee>0n),o=n.filter(s=>s.chainId===e.chainId)[0]??n[0]??t.intents[0]?.batches[0];if(!o)throw new Error("No gas fee estimate was returned for this withdraw.");return{gasFee:nn(o).totalFee,feeEstimate:t}}const yu=Ae.ui,Hn=Ae.mono,xu=({show:e,onToggle:t,showCustomAddress:n,setShowCustomAddress:o,customRecipient:s,setCustomRecipient:r,externalAddress:a,recipientAddress:i,destChainName:d,destChainLogo:l,compatibleDestinationChains:p,txDetailsChainSwitchRef:u,onOpenNetworkPopover:m,sourceChainLabel:h,sourceDetailsLogo:f,sourceTokenLabel:y,amount:g,totalSourceDebitDisplay:k,receiveAmountDisplay:x,destTokenSymbol:F,shouldQuoteWithdrawGas:b,estimatingFee:C,feeError:T,displayedGasFee:v,selectedDestToken:E,theme:A,styles:S,dark:I,dk:D})=>{const B=I?D.textSecondary:"#71757A",H=I?D.textPrimary:"#0E0D0B",W=p.length>1,P=n&&s?$t(s)?jo(s):s:i?jo(i):"\u2014";return w(Gt,{children:[w("div",{onClick:t,style:{display:"flex",alignItems:"center",gap:"6px",marginBottom:e?"10px":"0",cursor:"pointer",userSelect:"none"},children:[c("span",{style:{fontSize:"13px",color:B,fontFamily:yu,fontWeight:600},children:"Transaction Details"}),c(fc,{size:12,color:B,style:{transform:e?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}})]}),e&&w("div",{style:{display:"flex",flexDirection:"column",gap:"7px"},children:[w("div",{children:[w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:{fontSize:"12px",color:B,fontFamily:Hn,fontWeight:500,letterSpacing:"0.03em"},children:"TO"}),w("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[c("span",{style:{fontSize:"13px",color:H,fontFamily:Hn,fontWeight:500},children:P}),c("button",{onClick:()=>{o(_=>!_),!n&&a&&r(a)},style:{background:"none",border:"none",cursor:"pointer",padding:"0",fontSize:"9.5px",fontFamily:Hn,color:B,textDecoration:"underline",fontWeight:600},children:n?"Reset":"Switch"})]})]}),n&&w("div",{style:{marginTop:"6px"},children:[c("div",{style:{marginBottom:"6px",padding:"7px 9px",borderRadius:"6px",border:"1px solid rgba(239, 68, 68, 0.55)",backgroundColor:"rgba(239, 68, 68, 0.12)",color:"#ef4444",fontSize:"10px",lineHeight:1.35,fontFamily:Hn,fontWeight:700,letterSpacing:0,textTransform:"uppercase"},children:"CAUTION: ENTERING AN INCORRECT ADDRESS WILL RESULT IN LOSS OF FUNDS"}),c("input",{type:"text",autoComplete:"off",spellCheck:!1,"aria-label":"Recipient address","aria-invalid":s&&!$t(s)?!0:void 0,"data-spiceflow-focus":!0,value:s,onChange:_=>r(_.target.value),placeholder:"0x...",style:{width:"100%",padding:"8px 10px",borderRadius:"6px",border:`1px solid ${s&&!$t(s)?I?D.errorBorder:"#fca5a5":I?D.inputBorder:"#d1d5db"}`,backgroundColor:I?D.inputBg:"#f9fafb",color:I?D.inputText:"#111827",fontSize:"12px",fontFamily:Hn,outline:"none",boxSizing:"border-box"}}),s&&!$t(s)&&c("span",{style:{fontSize:"11px",color:D.errorText,marginTop:"3px",display:"block"},children:"Invalid address"})]})]}),c(io,{palette:D,labelColor:B,valueColor:H,label:"RECEIVING CHAIN",value:w("div",{style:{display:"flex",alignItems:"center",gap:"7px"},children:[l&&c("img",{src:l,alt:d,style:{width:"14px",height:"14px",borderRadius:"50%"}}),c("span",{style:{fontSize:"13px",color:H,fontWeight:500,fontFamily:Hn,textTransform:"uppercase"},children:d}),c("button",{ref:u,onClick:_=>{_.stopPropagation(),m(u.current)},style:{background:"none",border:"none",cursor:W?"pointer":"not-allowed",padding:"0",fontSize:"9.5px",fontFamily:Hn,color:B,textDecoration:"underline",fontWeight:600,opacity:W?1:.45},children:"Switch"})]})}),c(io,{palette:D,labelColor:B,valueColor:H,label:"REQUESTED WITHDRAWAL",value:w(mr,{logo:f||null,alt:h,primaryText:H,children:[g||"0"," ",y]})}),b&&c(io,{palette:D,labelColor:B,valueColor:H,label:"TOTAL SOURCE DEBIT",value:w(mr,{logo:f||null,alt:h,primaryText:H,children:[k," ",y]})}),c(io,{palette:D,labelColor:B,valueColor:H,label:"YOU RECEIVE",value:w(mr,{logo:l,alt:d,primaryText:H,gap:"4px",children:[x," ",F]})}),b&&w(Gt,{children:[c(io,{palette:D,labelColor:B,label:"EST. NETWORK FEE",valueColor:T?"#f87171":H,value:C?"Estimating...":T?"Unavailable":v!==null&&E?`${pr(v,E.decimals)} ${E.symbol}`:"Estimating..."}),T&&c(Bn,{variant:"error",size:"compact",palette:D,fontFamily:S?.fontFamily||A.typography.fontFamily,children:T})]})]})]})},bu=tn(xu),mr=({logo:e,alt:t,primaryText:n,gap:o="6px",children:s})=>w("div",{style:{display:"flex",alignItems:"center",gap:o},children:[e&&c("img",{src:e,alt:t,style:{width:"13px",height:"13px",borderRadius:"50%"}}),c("span",{style:{fontSize:"13px",color:n,fontWeight:500,fontFamily:Hn},children:s})]}),wu=({dark:e,dk:t})=>w("div",{style:{display:"flex",alignItems:"center",gap:"5px"},children:[c("img",{src:cr,alt:"","aria-hidden":"true",style:{width:"13px",height:"13px",flexShrink:0,...e?{filter:"invert(0.6)"}:{}}}),c("p",{style:{fontSize:"13px",color:e?t.textSecondary:"#979AA0",margin:"0",lineHeight:"1.4",fontFamily:Ae.ui},children:"Withdraw collateral from your account to 10+ EVM blockchains."})]}),li=Ae.ui,Cu=({label:e,spiceAssetsLoading:t,totalSelectedBalance:n,dark:o,dk:s})=>{const r=o?s.textSecondary:"#7D7C7B",a=o?s.textSecondary:"#71757A";return w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:{fontFamily:li,fontSize:"17px",fontWeight:500,color:r,lineHeight:"24px"},children:e}),w("div",{style:{display:"flex",alignItems:"center",gap:"6px",fontFamily:li,fontSize:"13px",fontWeight:500,color:a,lineHeight:"16px"},children:["Balance:"," ",t?"...":Jn(n)]})]})},ci=({isOpen:e,position:t,title:n,items:o,selectedId:s,onSelect:r,portalAttribute:a})=>{const{dark:i,dk:d,primaryColor:l}=At(),[p,u]=R(null),[m,h]=R(!1);return X(()=>{if(!e){h(!1);return}const f=requestAnimationFrame(()=>{requestAnimationFrame(()=>h(!0))});return()=>cancelAnimationFrame(f)},[e]),!e||!t||o.length===0?null:Ws(w("div",{[`data-${a}-popover`]:"true",style:{position:"fixed",top:`${t.top}px`,left:`${t.left}px`,opacity:m?1:0,transform:m?"scale(1) translateY(0)":"scale(0.96) translateY(-6px)",transition:`opacity 200ms ${$n.out}, transform 200ms ${$n.out}`,backgroundColor:i?d.shell:"#ffffff",borderRadius:"10px",padding:"10px 12px",boxShadow:i?"0 16px 48px rgba(0,0,0,0.45)":"0 12px 32px rgba(0,0,0,0.12)",border:`1px solid ${d.cardBorder}`,minWidth:"220px",zIndex:qn.dropdown,fontFamily:Ae.mono},children:[c("div",{style:{marginBottom:"6px"},children:c("span",{style:{fontSize:"11px",fontWeight:500,color:i?d.textPrimary:"#0e0d0b",textTransform:"uppercase",letterSpacing:"1px"},children:n})}),c("div",{style:{borderBottom:`1px solid ${d.cardBorder}`,marginBottom:"6px"}}),c("div",{style:{display:"flex",flexDirection:"column",gap:"2px"},children:o.map(f=>{const y=s===f.id,g=p===f.id;return w("button",{onClick:k=>{k.stopPropagation(),r(f.id)},onMouseEnter:()=>u(f.id),onMouseLeave:()=>u(null),style:{display:"flex",alignItems:"center",gap:"8px",padding:"6px 4px",borderRadius:"8px",border:"none",cursor:"pointer",backgroundColor:y?i?d.hoverBg:"#f3f4f6":g?i?d.cardBg:"#f9fafb":"transparent",transition:"background-color 0.15s",width:"100%",fontFamily:Ae.mono},children:[f.icon&&c("img",{src:f.icon,alt:f.label,style:{width:"22px",height:"22px",borderRadius:"50%"}}),c("span",{style:{fontSize:"13px",fontWeight:y?700:500,textTransform:"uppercase",color:i?d.textPrimary:"#0e0d0b",letterSpacing:"0.5px",flex:1,textAlign:"left"},children:f.label}),f.detail&&c("span",{style:{fontSize:"11px",fontWeight:500,color:d.textSecondary},children:f.detail}),y&&c(sa,{color:l,style:{flexShrink:0}})]},f.id)})})]}),document.body)},To=Ae.ui,ku=170,vu=({header:e,amount:t,setAmount:n,isInsufficient:o,sourceAmountDecimals:s,selectedSourceAsset:r,resolvedSelectedSourceAsset:a,spiceAssets:i,setSelectedSourceAsset:d,sourceUsdEstimate:l,sourceTokenLabel:p,sourceChainLabel:u,totalSelectedBalance:m,showSourceTokenPopover:h,setShowSourceTokenPopover:f,tokenPopoverPos:y,setTokenPopoverPos:g,tokenTriggerRef:k,primaryColor:x,dark:F,dk:b})=>{const C=F?b.cardBg:"#E9E9E9",T=F?b.cardBorder:"#C6C6C6",v=F?b.textSecondary:"#71757A",E=F?b.textPrimary:"#0E0D0B",A=F?b.cardBorder:"#C5C5C4",S=F?"rgba(255,255,255,0.08)":"#D4D3D3",I=p.length>8?"14px":p.length>6?"16px":"18px";return w("div",{style:{backgroundColor:C,border:`1px solid ${T}`,borderRadius:"7px",padding:"14px 16px 12px 16px",minHeight:"138px",display:"flex",flexDirection:"column",gap:"6px",position:"relative"},children:[e,w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"12px",flex:1},children:[w("div",{style:{flex:1,minWidth:0,alignSelf:"flex-start",paddingTop:"4px"},children:[c(Zn,{element:"input",ariaLabel:"Withdraw amount",ariaInvalid:o,dataSpiceflowFocus:!0,value:t,onChange:D=>{const B=D.target.value;if(B===""){n("");return}/^\d*\.?\d*$/.test(B)&&n(fo(B.startsWith(".")?`0${B}`:B,s??r?.decimals))},placeholder:"0.0",fontFamily:To,color:o?"#ef4444":t?E:"#A8A8A7",lineHeight:"0.95",maxFontSize:54,minFontSize:32,style:{width:"100%"}}),c("div",{style:{fontSize:"12px",fontWeight:500,color:v,fontFamily:To,marginTop:"10px"},children:l})]}),c("div",{style:{width:`${ku}px`,flexShrink:0},children:w("div",{style:{backgroundColor:"transparent",border:`1px solid ${A}`,borderRadius:"8px",overflow:"hidden",width:"100%",display:"flex",flexDirection:"column",boxSizing:"border-box"},children:[w("div",{ref:k,onClick:D=>{if(D.stopPropagation(),!h&&k.current){const B=k.current.getBoundingClientRect(),H=220,W=16;g({top:B.bottom+8,left:Math.min(Math.max(W,B.right-H),window.innerWidth-H-W)})}f(B=>!B)},style:{display:"flex",alignItems:"center",gap:"6px",padding:"9px 10px 8px 10px",cursor:"pointer"},children:[c("img",{src:Ps,alt:p,style:{width:"24px",height:"24px",borderRadius:"50%"}}),c("span",{style:{fontSize:I,fontWeight:500,color:E,lineHeight:"1.3",fontFamily:To,flex:1,minWidth:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",letterSpacing:0},children:p}),c(Yn,{size:15,color:E,strokeWidth:2.25})]}),c(ci,{isOpen:h,position:y,title:"SELECT TOKEN",portalAttribute:"token",items:(i||[]).map(D=>({id:D.receiptTokenId||D.address,label:D.displaySymbol||D.receiptTokenName||D.symbol,icon:Ps,detail:Jn(D.balanceFormatted)})),selectedId:a?.receiptTokenId||a?.address||null,onSelect:D=>{const B=(i||[]).find(H=>(H.receiptTokenId||H.address)===D);B&&(d(B),n("")),f(!1)}}),c("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"5px 10px",backgroundColor:S,borderTop:`1px solid ${A}`},children:c("span",{style:{fontSize:"11px",fontWeight:400,color:E,fontFamily:To,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textTransform:"uppercase"},children:u})})]})})]}),w("div",{style:{minHeight:"18px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[o?c("span",{style:{fontSize:"12px",color:b.errorText,fontFamily:To,fontWeight:500},children:"Insufficient Balance"}):c("span",{}),c("div",{style:{display:"flex",justifyContent:"flex-end",gap:"0px",minHeight:"32px",marginRight:"-9px"},children:[0,25,50,75,100].map((D,B)=>{const H=B===4,W=parseFloat(t)||0,P=m>0&&Math.abs(W/m*100-D)<1;return c("button",{type:"button","aria-label":`Set amount to ${D}%`,"aria-pressed":P,onClick:()=>{const _=m*D/100,U=r?.decimals??6,N=Math.floor(_*10**U)/10**U;n(D===0?"":N>0?ho(N,U):"")},title:`${D}%`,disabled:m===0,"data-spiceflow-focus":!0,style:{width:"32px",height:"32px",padding:"9px",border:"none",backgroundColor:"transparent",cursor:m===0?"not-allowed":"pointer",opacity:P?1:.5,transition:"opacity 0.15s ease",display:"flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box"},children:c(Us,{pct:D,isMax:H,primaryColor:x,dark:F,fillColor:F?b.textSecondary:"#3C3E42"})},D)})})]})]})},ds=Ae.ui,Iu=Ae.mono,Au=170,Su=({header:e,amount:t,receiveAmountDisplay:n,receiveUsdEstimate:o,selectedDestToken:s,destTokenSymbol:r,destChainName:a,destChainLogo:i,compatibleDestinationChains:d,networkSwitchRef:l,onOpenNetworkPopover:p,showNetworkPopover:u,setShowNetworkPopover:m,networkPopoverPos:h,selectedChainId:f,setSelectedChainId:y,dark:g,dk:k})=>{const x=g?k.cardBg:"#E9E9E9",F=g?k.cardBorder:"#C6C6C6",b=g?k.textSecondary:"#71757A",C=g?k.textPrimary:"#0E0D0B",T=g?k.cardBorder:"#C5C5C4",v=g?"rgba(255,255,255,0.08)":"#D4D3D3",E=r.length>8?"14px":r.length>6?"16px":"18px";return w("div",{style:{backgroundColor:x,border:`1px solid ${F}`,borderRadius:"7px",padding:"14px 16px 12px 16px",minHeight:"138px",display:"flex",flexDirection:"column",gap:"6px"},children:[e,w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"12px",flex:1},children:[w("div",{style:{flex:1,minWidth:0,alignSelf:"flex-start",paddingTop:"4px"},children:[c(Zn,{element:"div",value:n,title:n,fontFamily:ds,color:t?C:"#A8A8A7",lineHeight:"0.95",maxFontSize:54,minFontSize:32,overflow:"wrap"}),c("div",{style:{fontSize:"12px",fontWeight:500,color:b,fontFamily:ds,marginTop:"10px"},children:o})]}),w("div",{style:{width:`${Au}px`,flexShrink:0,display:"flex",flexDirection:"column",alignItems:"stretch",gap:"8px"},children:[w("div",{style:{backgroundColor:"transparent",border:`1px solid ${T}`,borderRadius:"8px",overflow:"hidden",width:"100%",display:"flex",flexDirection:"column",boxSizing:"border-box"},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"6px",padding:"9px 10px 8px 10px"},children:[c("img",{src:s?.logoURI||Ic,alt:r,style:{width:"24px",height:"24px",borderRadius:"50%"}}),c("span",{style:{fontSize:E,fontWeight:500,color:C,lineHeight:"1.3",fontFamily:ds,flex:1,minWidth:0,letterSpacing:0},children:r})]}),w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"5px 10px",backgroundColor:v,borderTop:`1px solid ${T}`},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[i&&c("img",{src:i,alt:a,style:{width:"13px",height:"13px",borderRadius:"50%",flexShrink:0}}),c("span",{style:{fontSize:"11px",fontWeight:400,color:C,fontFamily:ds,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textTransform:"uppercase"},children:a})]}),c("button",{ref:l,onClick:A=>{A.stopPropagation(),p(l.current)},style:{background:"none",border:"none",cursor:d.length>1?"pointer":"not-allowed",padding:"0 0 0 8px",fontSize:"9.5px",fontFamily:Iu,color:b,textDecoration:"underline",fontWeight:600,opacity:d.length>1?1:.45},children:"Switch"}),c(ci,{isOpen:u,position:h,title:"SELECT NETWORK",portalAttribute:"network",items:d.map(A=>{const S=Ue(A);return{id:String(A),label:S?.displayName||String(A),icon:Ln[A]||Co}}),selectedId:f!==null?String(f):null,onSelect:A=>{y(Number(A)),m(!1)}})]})]}),c("div",{style:{minHeight:"14px"}})]})]})]})};function di(e){const t=new Set(oc(e).map(n=>n.toLowerCase()));return t.add(e.toLowerCase()),t}const Eu=["USDC","USDT","WETH","WBTC"];function ui(e,t){const n=Ue(t);if(!n)return;if(n.nativeCurrency.symbol.toUpperCase()===e.toUpperCase())return{address:Qt,symbol:n.nativeCurrency.symbol,decimals:n.nativeCurrency.decimals,chainId:t};const o=n.supportedTokens?.find(s=>s.symbol.toUpperCase()===e.toUpperCase());if(o)return{address:o.address.toLowerCase(),symbol:o.symbol,decimals:o.decimals,chainId:t}}function Dn(e,t,n){const o=Ue(t);if(!o)return;if(n!==void 0){if(he(e)&&!xt(e,n))return;const a=Zs(e,n,t);return a?{address:a.address.toLowerCase(),symbol:a.symbol,decimals:a.decimals,chainId:t}:void 0}if(he(e))return;const s=di(e),r=o.supportedTokens?.find(a=>s.has(a.address.toLowerCase()));if(r)return{address:r.address.toLowerCase(),symbol:r.symbol,decimals:r.decimals,chainId:t}}function Fu(e){const{sourceAsset:t,outputAsset:n,sourceChainId:o,destinationChainId:s,intermediaryCandidates:r=Eu}=e;if(_o(t,n))return{strategy:"direct",sourceAsset:t,outputAsset:n,sourceChainId:o,destinationChainId:s,summary:`${t.symbol} fronted directly`};if(o===s&&(he(t.address)||!xt(t.address,o)))return{strategy:"direct-swap",sourceAsset:t,outputAsset:n,sourceChainId:o,destinationChainId:s,summary:`${t.symbol} \u2192 ${n.symbol} on chain ${o}, no escrow`};if(Dn(t.address,s,o))return{strategy:"direct",sourceAsset:t,outputAsset:n,sourceChainId:o,destinationChainId:s,summary:`${t.symbol} fronted on destination, swapped to ${n.symbol}`};if(Dn(n.address,o,s))return{strategy:"source-swap",sourceAsset:t,outputAsset:n,sourceChainId:o,destinationChainId:s,summary:`${t.symbol} \u2192 ${n.symbol} on source chain, then fronted`};for(const a of r){const i=ui(a,o);if(!i||_o(t,i)||_o(n,i))continue;const d=ui(a,s);if(d&&_o(i,d))return{strategy:"intermediary",sourceAsset:t,outputAsset:n,intermediaryAsset:d,sourceChainId:o,destinationChainId:s,summary:`${t.symbol} \u2192 ${a} on source, fronted, then ${a} \u2192 ${n.symbol} on destination`}}throw new Qe("ROUTE_STRATEGY_ERROR",`No viable cross-chain route found from ${t.symbol} (chain ${o}) to ${n.symbol} (chain ${s}). No intermediary asset is available on both chains.`,{sourceAsset:t.symbol,outputAsset:n.symbol,sourceChainId:o,destinationChainId:s,candidatesChecked:r})}async function Bu(e){const{route:t,sourceAmount:n,userAddress:o,registry:s,actionCalls:r,slippage:a}=e;async function i(d,l,p,u){const m=await s.resolveSwap({type:"swap",tokenIn:l,tokenOut:p,amountIn:u,maxSlippage:a},d,o);if(!m)throw new Qe("NO_LIQUIDITY",`No venue returned a quote for ${l} \u2192 ${p} on chain ${d}. No liquidity available for this pair.`,{chainId:d,tokenIn:l,tokenOut:p,amountIn:u.toString()});return m}switch(t.strategy){case"direct-swap":{const d=await i(t.destinationChainId,t.sourceAsset.address,t.outputAsset.address,n);return{chainBatches:[{chainId:t.destinationChainId,calls:[...d.calls,...r]}],solverFrontToken:t.outputAsset,solverFrontAmount:0n,resolvedSwaps:{sourceSwap:d}}}case"direct":{const d=Dn(t.sourceAsset.address,t.destinationChainId,t.sourceChainId)||t.sourceAsset;if(di(d.address).has(t.outputAsset.address.toLowerCase()))return{chainBatches:[{chainId:t.destinationChainId,calls:r}],solverFrontToken:d,solverFrontAmount:n,resolvedSwaps:{}};const l=await i(t.destinationChainId,d.address,t.outputAsset.address,n);return{chainBatches:[{chainId:t.destinationChainId,calls:[...l.calls,...r]}],solverFrontToken:d,solverFrontAmount:n,resolvedSwaps:{destinationSwap:l}}}case"source-swap":{const d=Dn(t.outputAsset.address,t.sourceChainId,t.destinationChainId);if(!d)throw new Qe("ROUTE_TOKEN_NOT_FOUND",`Output asset ${t.outputAsset.symbol} (${t.outputAsset.address}) not found on source chain ${t.sourceChainId}`,{token:t.outputAsset.symbol,address:t.outputAsset.address,chainId:t.sourceChainId,side:"source"});const l=Dn(t.outputAsset.address,t.destinationChainId,t.destinationChainId);if(!l)throw new Qe("ROUTE_TOKEN_NOT_FOUND",`Output asset ${t.outputAsset.symbol} (${t.outputAsset.address}) not found on destination chain ${t.destinationChainId}`,{token:t.outputAsset.symbol,address:t.outputAsset.address,chainId:t.destinationChainId,side:"destination"});const p=await i(t.sourceChainId,t.sourceAsset.address,d.address,n);return{chainBatches:[{chainId:t.sourceChainId,calls:p.calls},{chainId:t.destinationChainId,calls:r}],solverFrontToken:l,solverFrontAmount:p.amountOutMinimum,resolvedSwaps:{sourceSwap:p}}}case"intermediary":{if(!t.intermediaryAsset)throw new Qe("ROUTE_STRATEGY_ERROR","Intermediary strategy requires an intermediary asset but none was provided in the route plan.",{strategy:t.strategy});const d=Dn(t.intermediaryAsset.address,t.sourceChainId,t.destinationChainId);if(!d)throw new Qe("ROUTE_TOKEN_NOT_FOUND",`Intermediary ${t.intermediaryAsset.symbol} (${t.intermediaryAsset.address}) not found on source chain ${t.sourceChainId}`,{token:t.intermediaryAsset.symbol,address:t.intermediaryAsset.address,chainId:t.sourceChainId,side:"source"});const l=await i(t.sourceChainId,t.sourceAsset.address,d.address,n),p=await i(t.destinationChainId,t.intermediaryAsset.address,t.outputAsset.address,l.amountOutMinimum);return{chainBatches:[{chainId:t.sourceChainId,calls:l.calls},{chainId:t.destinationChainId,calls:[...p.calls,...r]}],solverFrontToken:t.intermediaryAsset,solverFrontAmount:l.amountOutMinimum,resolvedSwaps:{sourceSwap:l,destinationSwap:p}}}default:throw new Qe("ROUTE_STRATEGY_ERROR",`Unknown route strategy: ${t.strategy}`,{strategy:t.strategy})}}function Tu(e,t,n){if(!e||!t)return null;const o=$o(e,t),s=Object.entries(e.chainTokens??{}).flatMap(([u,m])=>{const h=En(u);return h?.chainId===t?[{parsed:h,detail:m}]:[]}),r=u=>n.find(m=>Be(m.address,u))??null,a=u=>{const m=s.find(({parsed:y})=>Be(y.address,u));if(!m)return null;const h=Ue(t);if(he(u))return h?{address:Qt,symbol:h.nativeCurrency.symbol,name:h.nativeCurrency.name,decimals:h.nativeCurrency.decimals,logoURI:e.logoURI}:null;const f=h?.supportedTokens?.find(y=>Be(y.address,u));return!f||!Ys(e,u,t)?null:{address:m.parsed.address,symbol:f.symbol,name:f.name||m.detail?.name||e.displayName||e.name||e.symbol,decimals:f.decimals,logoURI:f.logo||e.logoURI}},i=s.map(({parsed:u})=>u.address).filter(he);for(const u of[...o,...i]){if(he(u)){const f=a(u);if(f)return f}const m=r(u);if(m)return m;const h=a(u);if(h)return h}if(e.chainTokens||e.receiptTokenId)return null;const d=hn(e,t);if(d){const u=r(d);if(u)return u}const l=Dn(e.address,t,e.chainId);return l?r(l.address)||(n.length>0?null:{address:l.address,symbol:l.symbol||e.symbol,name:e.displayName||e.name||e.symbol,decimals:l.decimals??e.decimals,logoURI:e.logoURI}):null}const Du=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,styles:o,onWithdrawExecute:s,onWithdrawSuccess:r,onWithdrawError:a,availableTokens:i,initialSourceAssetId:d,buildSpicenetBatch:l})=>{const p=Vt(Lt);if(!p)return c("div",{children:"Error: SpiceWithdraw must be used within SpiceFlowProvider"});const u=p.mode||"7702",m=u==="presign"||u==="ondemand",h=p.supportedChainIds,f=p.allowedTokens,y=p.isWhitelistGateActive,{theme:g,dark:k,dk:x}=At(o),F=p.network,b=()=>m?"select":"provider-login",[C,T]=R(b()),[v,E]=R(!1),[A,S]=R(null),[I,D]=R(null),[B,H]=R(""),[W,P]=R(!1),[_,U]=R(!1),[N,O]=R(!1),[j,K]=R(""),[L,q]=R(!0),M=Z(null),ae=Z(null),ke=Z(null),[Q,G]=R(null),[ie,fe]=R(null),ue=In(),{isReady:qe,isAuthenticated:z,address:le}=ue,oe=p?.embeddedWalletAddress,{address:me,chainId:V}=Bs(),[re,xe]=R(!1),[ee,ve]=R(null),st=Z(a);st.current=a;const ye=se(de=>{ve(de),typeof de=="string"&&de&&st.current?.(de,go(de))},[]),[mt,rt]=R(null),Ke=Z(null),Mt=Z(!0),Le=Z(null);X(()=>(Mt.current=!0,()=>{Mt.current=!1}),[]);const{execute:Zt,estimate:ct}=ao(),[Ee,Ye]=R(null),[dt,J]=R(null),[St,Bt]=R(!1),[ft,Xe]=R(null),{assets:Pt,loading:Se,error:Ne,refetch:ge}=Bo({address:oe,enabled:e&&!!oe,refetchInterval:3e4,priceEnabled:e}),Oe=$(()=>{if(y)return[];const de=(Ie,Pe)=>(Pe.balanceUsd||0)-(Ie.balanceUsd||0);if(!f||f.length===0)return[...Pt||[]].sort(de);const te=new Set(f.map(Ie=>Ie.toLowerCase()));return(Pt||[]).filter(Ie=>[Ie.symbol,Ie.displaySymbol,Ie.receiptTokenName].some(Pe=>typeof Pe=="string"&&te.has(Pe.toLowerCase()))).sort(de)},[Pt,f,y]),Ve=$(()=>[...new Set([...h??[],...Object.keys(i??{}).map(Number),...(Oe||[]).map(de=>de.chainId),...(Oe||[]).flatMap(de=>Object.keys(de.chainTokens??{}).map(te=>{const[,Ie]=te.split(":"),Pe=Number(Ie);return Number.isFinite(Pe)?Pe:null}).filter(te=>te!==null))])].filter(de=>Ue(de)?.network===F),[h,i,Oe,F]),wt=$(()=>{if(i)return i;const de={};for(const te of Oe||[]){const Ie=Object.entries(te.chainTokens??{});if(Ie.length>0){for(const[Pe,nt]of Ie){const[Re,at,Kt]=Pe.split(":");if(Re!=="evm"||!at||!Kt)continue;const ut=Number(at);if(!Number.isFinite(ut))continue;const Ut=Kt.startsWith("0x")?Kt.toLowerCase():`0x${Kt.toLowerCase()}`,it=Ue(ut)?.supportedTokens?.find(Yt=>Be(Yt.address,Ut));it&&Ys(te,Ut,ut)&&(de[ut]||(de[ut]=[]),de[ut].find(Yt=>Be(Yt.address,Ut))||de[ut].push({address:Ut,symbol:it?.symbol||nt?.name||te.symbol,name:it?.name||nt?.name||te.displayName||te.name||te.symbol,decimals:it?.decimals??nt?.decimals??te.decimals,logoURI:it?.logo||te.logoURI}))}continue}de[te.chainId]||(de[te.chainId]=[]),de[te.chainId].find(Pe=>Be(Pe.address,te.address))||de[te.chainId].push({address:te.address,symbol:te.symbol,name:te.displayName||te.name||te.symbol,decimals:te.decimals,logoURI:te.logoURI})}return de},[i,Oe]),Tt=se((de,te)=>Tu(de,te,te?wt[te]??[]:[]),[wt]),Ce=$(()=>{if(!A)return null;const de=A.receiptTokenId||`${A.chainId}:${A.address.toLowerCase()}`;return Oe.find(te=>(te.receiptTokenId||`${te.chainId}:${te.address.toLowerCase()}`)===de)||null},[A,Oe]),et=$(()=>{if(!Ce)return[];const de=Object.keys(Ce.chainTokens??{}).map(te=>En(te)?.chainId??null).filter(te=>te!==null);return Array.from(new Set([...de,Ce.chainId,...Ve].filter(Number.isFinite))).filter(te=>te!==1&&Ue(te)?.network===F&&Tt(Ce,te)!==null)},[Ce,Ve,Tt,F]),qt=$(()=>{if(!Ce||typeof window>"u")return null;const de=`spiceflow:withdraw-chain:${Ce.receiptTokenId||Ce.address.toLowerCase()}`,te=window.localStorage.getItem(de),Ie=te?Number(te):null;return Ie!==null&&Number.isFinite(Ie)&&et.includes(Ie)?Ie:null},[Ce,et]),on=$(()=>Ce?qt!==null?qt:V&&et.includes(V)?V:Ce.chainId&&et.includes(Ce.chainId)?Ce.chainId:et[0]??null:Ve[0]??null,[Ce,qt,V,et,Ve]),Te=$(()=>Tt(Ce,I),[Tt,Ce,I]);X(()=>{e&&(S(null),H(""))},[e,d]),X(()=>{if(!e||!Oe.length||A)return;const de=d?Oe.find(te=>te.receiptTokenId===d):Oe[0];S(de??null),H("")},[e,Oe,A,d]),X(()=>{Ce&&(I===null||!et.includes(I))&&D(on)},[Ce,I,on,et]),X(()=>{if(!W&&!_)return;const de=te=>{const Ie=te.target;W&&!M.current?.contains(Ie)&&!ae.current?.contains(Ie)&&!Ie?.closest?.("[data-network-popover]")&&P(!1),_&&!ke.current?.contains(Ie)&&!Ie?.closest?.("[data-token-popover]")&&U(!1)};return document.addEventListener("mousedown",de),()=>document.removeEventListener("mousedown",de)},[W,_]);const ce=se(de=>{if(!de||et.length<=1)return;const te=de.getBoundingClientRect(),Ie=220,Pe=16;G({top:te.bottom+8,left:Math.min(Math.max(Pe,te.right-Ie),window.innerWidth-Ie-Pe)}),P(nt=>!nt)},[et.length]),He=se(()=>q(de=>!de),[]);X(()=>{if(!Ce||I===null||typeof window>"u")return;const de=`spiceflow:withdraw-chain:${Ce.receiptTokenId||Ce.address.toLowerCase()}`;window.localStorage.setItem(de,String(I))},[Ce,I]);const We=N&&j&&$t(j)?j:me||oe,Ct=Ce?.balanceFormatted??0,Xt=Ce?.displaySymbol||Ce?.receiptTokenName||Ce?.symbol||"Select token",ht=Ce?.displayChainName||"Spicenet",De=Ce?.receiptTokenDecimals??Ce?.decimals,Ze=$(()=>{if(!Te||!De)return 0n;try{return _e(B||"0",De)}catch{return 0n}},[B,Te,De]),Ge=$(()=>!Te||!De?0n:oi(Ze,De,Te.decimals),[Te,De,Ze]),tt=$(()=>{const de=dt??Ee;return!de||de<=0n||!Te||!De?0n:oi(de,Te.decimals,De)},[dt,Ee,Te,De]),gt=$(()=>Ze+tt,[Ze,tt]),Ot=dt??Ee,je=se(de=>{if(!I||!Te)return[];if(Ze===0n||Ge===0n||!We)return[];const te=Array.isArray(de)?de.filter(Re=>Re.amount>0n):[{token:Te.address,recipient:We,amount:de??Ge}],Ie=te.reduce((Re,at)=>Re+at.amount,0n);if(Ie<=0n)return[];const Pe={chainId:I,calls:[],tokenTransfers:te.map(Re=>({from:"escrow",to:Re.recipient,token:Re.token,amount:Re.amount}))};if(!l)return[Pe];const nt=l({destinationChainId:I,deliveryToken:Te.address,deliveryAmount:Ie,deliveryRecipient:We,deliveryTransfers:te,requestTimestampMs:Le.current??Date.now()});return nt?[nt,Pe]:[Pe]},[I,Te,Ze,Ge,We,l]),yt=$(()=>je(),[je]),Ht=$(()=>cu(yt,Te?.address),[yt,Te?.address]),Et=Z(null),_t=e&&!m&&!re&&!!Te&&!!I&&Ze!==0n;Go({shouldRun:_t&&yt.length>0&&!!Ht,deps:[_t,yt.length>0,Ht],delayMs:500,onSkip:()=>{Et.current=null,Ye(null),Xe(null),Bt(_t&&yt.length===0)},onCleanup:()=>Bt(!1),run:async({isCurrent:de,signal:te})=>{const Ie=Ht;Bt(!0),Xe(null);try{const Pe=await gu({batches:yt,tokenAddress:Te.address,chainId:I,estimate:ct,signal:te});if(!de())return;Et.current={key:Ie,quote:Pe},Ye(Pe.gasFee)}catch(Pe){if(!de())return;Et.current=null,Ye(null),Xe(Pe instanceof Error?Pe.message:"Failed to estimate gas fee")}finally{de()&&Bt(!1)}}}),X(()=>{re||J(null)},[re,B,I,Te?.address]);const kt=se(()=>{E(!0),T("select")},[]),sn=se(()=>{t()},[t]),Nt=Z(null);Nt.current={batches:yt,walletAddress:le,recipient:We,token:Te,chainId:I,amount:B,receiveAmountRaw:Ge,gasFee:Ee,feeEstimate:Ht&&Et.current?.key===Ht?Et.current.quote.feeEstimate:null,isNon7702:m,buildWithdrawBatches:je,execution:{estimate:ct,execute:Zt},ui:{setIsExecuting:xe,setExecutionError:ye,setExecutionProgress:rt,setLockedGasFee:J},executionContextRef:Ke,isMountedRef:Mt,onWithdrawExecute:s,onWithdrawSuccess:r,buildSpicenetBatch:l};const gn=se(()=>(Le.current=Date.now(),ai(Nt.current)),[]),Cn=se(()=>(Le.current=Date.now(),hu(Nt.current)),[]);if(X(()=>{if(!e){const de=setTimeout(()=>{T(b()),E(!1),S(null),D(null),H(""),P(!1),U(!1),O(!1),K(""),xe(!1),ye(null),rt(null),Ke.current=null},300);return()=>clearTimeout(de)}},[e,m]),X(()=>{if(!m&&e&&C==="provider-login"&&qe&&z&&oe&&!v){const de=setTimeout(()=>{E(!0),T("select")},100);return()=>clearTimeout(de)}},[m,e,C,qe,z,oe,v]),!e)return null;if(C==="provider-login"&&!m)return c(dr,{onAuthSuccess:kt,autoTrigger:!0});if(C==="select"){const de=parseFloat(B)||0,te=De?pr(gt,De):B||"0",Ie=parseFloat(te)||0,Pe=Ie>0&&Ie>Ct,nt=(I?Ue(I):null)?.displayName||"Network",Re=I?Ln[I]||Co:null,at=Te?.symbol||"\u2014",Kt=Xt,ut=Te?pr(Ge,Te.decimals):"0",Ut=Ce&&Ce.balanceFormatted>0?Ce.balanceUsd/Ce.balanceFormatted:void 0,it=Ce?.priceStatus==="stale",Yt=si(de,Ut,it),Dt=si(parseFloat(ut)||0,Ut,it),dn=!N||!j||$t(j),ne=!m&&de>0&&Te!==null,Me=!ne||Ee!==null&&!St&&!ft,lt=de>0&&!Pe&&!Se&&!Ne&&Ce!==null&&I!==null&&Te!==null&&We&&dn&&Me&&Ge>0n,Ft=!lt,Rt=Se?"LOADING BALANCES":Ne?"BALANCES UNAVAILABLE":Ce===null?"NO BALANCE":de===0?"ENTER AMOUNT":Pe?"INSUFFICIENT BALANCE":ne&&!Me?ft?"GAS UNAVAILABLE":"ESTIMATING GAS":ne&&Ge===0n?"AMOUNT TOO SMALL":"WITHDRAW",Qn=!!mt&&(mt.step==="success"||mt.step==="error"),un=o?.primaryColor||g.colors.primary,pn=402,en=Wn=>c(Cu,{label:Wn,spiceAssetsLoading:Se,totalSelectedBalance:Ct,dark:k,dk:x});return c(fn,{isOpen:!0,onClose:sn,title:"Withdraw",subtitle:c(wu,{dark:k,dk:x}),styles:o,theme:g,dark:k,maxWidth:"486px",footerLinkText:"Spicenet accounts \u2192",overlayDimmed:!1,closeOnBackdropClick:n,overlayContent:Qn?c("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",justifyContent:"flex-end",pointerEvents:"none",zIndex:20},children:c("div",{style:{pointerEvents:"auto"},children:c(ur,{type:"withdraw",isOpen:!0,isProcessing:re,onRetryTx:()=>{Cn()},onNewTx:()=>{rt(null),H(""),ye(null),Ke.current=null},onClose:()=>{rt(null),ye(null),xe(!1),Ke.current=null},onComplete:()=>{rt(null),ye(null),xe(!1),Ke.current=null},results:[{asset:{symbol:Te?.symbol||"Token",address:Te?.address||""},txHash:mt?.txHash||"",success:mt?.step==="success",error:mt?.error,amount:B}],chainId:I??void 0,theme:g})})}):null,children:w("div",{style:{width:`${pn}px`,margin:"0 auto",padding:"0 0 4px 0",position:"relative"},children:[w("div",{style:{marginTop:"16px",marginBottom:"16px",display:"flex",flexDirection:"column",gap:"16px"},children:[c(vu,{header:en("Source"),amount:B,setAmount:H,isInsufficient:Pe,sourceAmountDecimals:De,selectedSourceAsset:Ce,resolvedSelectedSourceAsset:Ce,spiceAssets:Oe,setSelectedSourceAsset:S,sourceUsdEstimate:Yt,sourceTokenLabel:Kt,sourceChainLabel:ht,totalSelectedBalance:Ct,showSourceTokenPopover:_,setShowSourceTokenPopover:U,tokenPopoverPos:ie,setTokenPopoverPos:fe,tokenTriggerRef:ke,primaryColor:un,dark:k,dk:x}),c(Su,{header:en("Destination"),amount:B,receiveAmountDisplay:ut,receiveUsdEstimate:Dt,selectedDestToken:Te,destTokenSymbol:at,destChainName:nt,destChainLogo:Re,compatibleDestinationChains:et,networkSwitchRef:M,onOpenNetworkPopover:ce,showNetworkPopover:W,setShowNetworkPopover:P,networkPopoverPos:Q,selectedChainId:I,setSelectedChainId:D,dark:k,dk:x})]}),w("div",{style:{marginBottom:g.spacing.sm},children:[c(bu,{show:L,onToggle:He,showCustomAddress:N,setShowCustomAddress:O,customRecipient:j,setCustomRecipient:K,externalAddress:me,recipientAddress:We,destChainName:nt,destChainLogo:Re,compatibleDestinationChains:et,txDetailsChainSwitchRef:ae,onOpenNetworkPopover:ce,sourceChainLabel:ht,sourceDetailsLogo:Ps,sourceTokenLabel:Kt,amount:B,totalSourceDebitDisplay:te,receiveAmountDisplay:ut,destTokenSymbol:at,shouldQuoteWithdrawGas:ne,estimatingFee:St,feeError:ft,displayedGasFee:Ot,selectedDestToken:Te,theme:g,styles:o,dark:k,dk:x}),Ce&&!Se&&et.length===0&&c(Bn,{variant:"warning",size:"compact",palette:x,children:"No withdrawal networks are available for this asset."}),ee&&c(Bn,{variant:"error",size:"compact",palette:x,fontFamily:o?.fontFamily||g.typography.fontFamily,style:{marginBottom:"12px"},children:ee}),Ne&&w(Bn,{variant:"error",size:"compact",palette:x,children:["Unable to load balances. Please try again."," ",c("button",{type:"button",onClick:()=>void ge(),children:"Retry"})]}),c(Wt,{variant:"outline",fullWidth:!0,onClick:()=>{lt&&gn()},disabled:Ft||re,theme:g,dark:k,styles:o,style:{marginTop:"8px"},children:re?"EXECUTING...":Rt})]})]})})}return null},Ru=Du;async function pi(e,t,n){if(n)return{decimals:n.decimals,symbol:n.symbol,name:n.name,logoURI:n.logo};const[o,s,r]=await Promise.all([Pn(e,{address:t,abi:ze,functionName:"decimals"}).catch(()=>18),Pn(e,{address:t,abi:ze,functionName:"symbol"}).catch(()=>"TOKEN"),Pn(e,{address:t,abi:ze,functionName:"name"}).catch(()=>"TOKEN")]);return{decimals:Number(o),symbol:s,name:r,logoURI:void 0}}function mi(e,t,n){return Be(e.address,t)&&e.chainId===n?e._source==="wallet"?0:1:2}function fi(e,t,n,o){const s=mi(e,n,o)-mi(t,n,o);return s!==0?s:(t.balanceUsd||0)-(e.balanceUsd||0)}function us(e,t){return!t||t.length===0||t.some(n=>Be(n,e.address))?!0:Object.keys(e.chainTokens??{}).some(n=>{const o=En(n);return o?t.some(s=>Be(s,o.address)):!1})}function Wu(e,t,n){return e._source!=="wallet"?!0:e.chainId===t&&us(e,n)}function Mu(e,t,n){if(e._source!=="wallet")return!0;const o=e.chainId===t.chainId;return o&&Be(e.address,t.address)?!0:us(e,n)?o?!0:!!xt(e.address,e.chainId)&&!!Zs(e.address,e.chainId,t.chainId):!1}function fr(e,t,n){let{symbol:o,name:s,logoURI:r}=t;const a=Be(e.address,n.address)&&e.chainId===n.chainId;a&&n.logoURI&&(r=n.logoURI),a&&!e.configToken&&o==="TOKEN"&&(o=n.symbol,s=n.symbol);const i=parseFloat((Number(t.balance)/Math.pow(10,t.decimals)).toFixed(6));return{address:e.address,name:s,symbol:o,decimals:t.decimals,balance:t.balance,balanceFormatted:i,balanceUsd:0,logoURI:r,isNative:he(e.address),chainId:e.chainId}}function hi(e){const{destinationToken:t,supportedSourceAssets:n,sourceChains:o,enabled:s}=e,r=Vt(Lt),a=(r?.mode||"7702")!=="7702",i=r?.embeddedWalletAddress,{externalAddress:d,embeddedAddress:l,activeAddress:p}=eo(),u=i||l,{assets:m,refetch:h}=Bo({address:u,supportedChains:o,enabled:s&&!a&&!!u,refetchInterval:3e4}),f=$(()=>a?[]:m.filter(B=>us(B,n)),[m,n,a]),y=a?p??d:i,g=$(()=>a&&o&&o.length>0?o:[t.chainId],[a,o,t.chainId]),k=a?y:u,x=s&&!!k&&!r?.isWhitelistGateActive,{assets:F}=so({address:x?k:void 0,supportedChains:g,fetchBalances:oo,enabled:x,refreshInterval:3e4}),b=$(()=>{const B=new Set,H=[],W=P=>{if(!P)return;const _=P.toLowerCase();B.has(_)||(B.add(_),H.push(bt(P)))};if(W(t.address),n)for(const P of n)W(P);return H},[a,t.address,n]),C=$(()=>b.map(B=>B.toLowerCase()).sort().join(","),[b]),T=$(()=>JSON.stringify([...o||[]].sort()),[o]),[v,E]=R([]),A=Z(0),S=Z(async()=>{}),I=se(async()=>{if(!s||!y||b.length===0){A.current++,E([]);return}const B=++A.current,H=bt(y),W=a?o&&o.length>0?o:[t.chainId]:[t.chainId],P=[];for(const O of b){const j=O.toLowerCase();if(j===Qt)continue;if(he(j)){const L=Be(j,t.address)&&!W.includes(t.chainId)?[t.chainId,...W]:W;for(const q of L){const M=Ue(q)?.supportedTokens?.find(ae=>he(ae.address));M&&P.push({address:O,chainId:q,configToken:{decimals:M.decimals,symbol:M.symbol,name:M.name,logo:M.logo}})}continue}if(j===t.address.toLowerCase()){const L=Ue(t.chainId)?.supportedTokens?.find(q=>Be(q.address,j));P.push({address:O,chainId:t.chainId,configToken:L?{decimals:L.decimals,symbol:L.symbol,name:L.name,logo:L.logo}:void 0});continue}let K=!1;for(const L of W){const q=Ue(L)?.supportedTokens?.find(M=>Be(M.address,j));if(q){P.push({address:O,chainId:L,configToken:{decimals:q.decimals,symbol:q.symbol,name:q.name,logo:q.logo}}),K=!0;break}}K||P.push({address:O,chainId:t.chainId})}const _=new Map;for(const O of P){const j=_.get(O.chainId)||[];j.push(O),_.set(O.chainId,j)}const U=async(O,j)=>{try{const K=await Pn(O,{address:j.address,abi:ze,functionName:"balanceOf",args:[H]}),{decimals:L,symbol:q,name:M,logoURI:ae}=await pi(O,j.address,j.configToken);return fr(j,{decimals:L,symbol:q,name:M,logoURI:ae,balance:K},t)}catch{return null}},N=await Promise.all(Array.from(_.entries()).map(async([O,j])=>{let K;try{K=pt(O)}catch{return[]}const L=j.filter(ie=>he(ie.address)),q=j.filter(ie=>!he(ie.address)),M=await Promise.all(L.map(async ie=>{const fe=await K.getBalance({address:H}).catch(()=>0n),ue=Ue(O)?.nativeCurrency;return fr(ie,{decimals:ie.configToken?.decimals??ue?.decimals??18,symbol:ie.configToken?.symbol??ue?.symbol??"ETH",name:ie.configToken?.name??ue?.name??"Ether",logoURI:ie.configToken?.logo,balance:fe},t)}));if(q.length===0)return M;const ae=[],ke=[];for(const ie of q){const fe=ae.length;ae.push({address:ie.address,abi:ze,functionName:"balanceOf",args:[H]}),ie.configToken||ae.push({address:ie.address,abi:ze,functionName:"decimals"},{address:ie.address,abi:ze,functionName:"symbol"},{address:ie.address,abi:ze,functionName:"name"}),ke.push({start:fe,item:ie})}let Q=null;try{Q=await K.multicall({contracts:ae})}catch{Q=null}if(Q){const ie=ke.map(({start:fe,item:ue})=>{const qe=Q[fe],z=qe?.status==="success"?qe.result:0n;let le,oe,me,V;if(ue.configToken)le=ue.configToken.decimals,oe=ue.configToken.symbol,me=ue.configToken.name,V=ue.configToken.logo;else{const re=Q[fe+1],xe=Q[fe+2],ee=Q[fe+3];le=re?.status==="success"?Number(re.result):18,oe=xe?.status==="success"?xe.result:"TOKEN",me=ee?.status==="success"?ee.result:oe}return fr(ue,{decimals:le,symbol:oe,name:me,logoURI:V,balance:z},t)});return[...M,...ie]}const G=await Promise.all(q.map(ie=>U(K,ie)));return[...M,...G.filter(ie=>ie!==null)]}));B===A.current&&E(N.flat())},[s,a,y,C,T,t.address,t.chainId,t.symbol,t.logoURI]);X(()=>{S.current=I},[I]),X(()=>{if(!s){E([]);return}S.current();const B=setInterval(()=>{S.current()},15e3);return()=>clearInterval(B)},[s,a,y,C,T,t.address,t.chainId]);const D=se(()=>{I()},[I]);return{displayAssets:$(()=>{const B=[],H=new Set,W=N=>`${N.chainId}:${Je(N.address).toLowerCase()}`,P=new Map(F.map(N=>[W(N),N.balanceUsd||0])),_=N=>{const O=W(N);H.has(O)||(H.add(O),B.push({...N,balanceUsd:N.balanceUsd||P.get(O)||0,_source:"wallet"}))};for(const N of v)N.balance>0n&&_(N);for(const N of F)N.balance>0n&&_(N);for(const N of f)B.push({...N,_source:"spice"});const U=t.address.toLowerCase();return B.sort((N,O)=>fi(N,O,U,t.chainId)),B},[v,F,f,t.address,t.chainId]),filteredSpiceAssets:f,walletAssets:v,embeddedWalletAddress:u,externalAddress:d,isNon7702:a,refreshSpiceAssets:h,refreshWalletAssets:D}}function Ou(e){const{isOpen:t,includeWalletAssets:n,isWhitelistGateActive:o,isSemi7702:s,destinationTokenAddress:r,sourceAssets:a,sourceChains:i,walletAddressForAssets:d,lockChainId:l,lockTokenSymbol:p,lockTokenLogoURI:u}=e,m=$(()=>{if(!n)return[];if(o)return r?[bt(r)]:[];const E=new Set,A=[],S=I=>{if(!I)return;const D=I.toLowerCase();E.has(D)||(E.add(D),A.push(bt(I)))};r&&S(r);for(const I of a)S(I);return A},[n,s,r,a,o]),h=$(()=>m.map(E=>E.toLowerCase()).sort().join(","),[m]),f=$(()=>JSON.stringify([...i||[]].sort()),[i]),[y,g]=R([]),k=Z(0),x=Z(async()=>{}),F=se(async()=>{if(!n||!d||m.length===0){k.current++,g([]);return}const E=++k.current,A=bt(d),S=s?i&&i.length>0?i:[l]:[l],I=m.map(U=>{const N=U.toLowerCase();if(r&&Be(U,r)){const O=Ue(l)?.supportedTokens?.find(j=>Be(j.address,N));return{address:U,chainId:l,configToken:O?{decimals:O.decimals,symbol:O.symbol,name:O.name,logo:O.logo}:void 0}}for(const O of S){const j=Ue(O)?.supportedTokens?.find(K=>Be(K.address,N));if(j)return{address:U,chainId:O,configToken:{decimals:j.decimals,symbol:j.symbol,name:j.name,logo:j.logo}}}return{address:U,chainId:l}}),D=new Map;for(const U of I){const N=D.get(U.chainId)||[];N.push(U),D.set(U.chainId,N)}const B=(U,N)=>{let{symbol:O,name:j,logoURI:K}=N;const L=!!r&&Be(U.address,r)&&U.chainId===l;return L&&u&&(K=u),L&&p&&!U.configToken&&(O==="TOKEN"&&(O=p),j==="TOKEN"&&(j=p)),{symbol:O,name:j,logoURI:K}},H=(U,N,O,j)=>{const K=B(U,j),L=parseFloat((Number(N)/Math.pow(10,O)).toFixed(6));return{address:U.address,name:K.name,symbol:K.symbol,decimals:O,balance:N,balanceFormatted:L,balanceUsd:0,logoURI:K.logoURI,isNative:he(U.address),chainId:U.chainId}},W=async(U,N)=>{try{const O=await Pn(U,{address:N.address,abi:ze,functionName:"balanceOf",args:[A]}),j=await pi(U,N.address,N.configToken);return H(N,O,j.decimals,j)}catch{return null}},P=await Promise.all(Array.from(D.entries()).map(async([U,N])=>{let O;try{O=pt(U)}catch{return[]}const j=N.filter(Q=>he(Q.address)),K=N.filter(Q=>!he(Q.address)),L=await Promise.all(j.map(async Q=>{const G=await O.getBalance({address:A}).catch(()=>0n),ie=Ue(Q.chainId)?.nativeCurrency;return H(Q,G,Q.configToken?.decimals??18,{symbol:Q.configToken?.symbol??ie?.symbol??"ETH",name:Q.configToken?.name??ie?.name??"Ether",logoURI:Q.configToken?.logo})})),q=[],M=[];for(const Q of K){const G=q.length;q.push({address:Q.address,abi:ze,functionName:"balanceOf",args:[A]}),Q.configToken||q.push({address:Q.address,abi:ze,functionName:"decimals",args:[]},{address:Q.address,abi:ze,functionName:"symbol",args:[]},{address:Q.address,abi:ze,functionName:"name",args:[]}),M.push({start:G,item:Q})}let ae=null;try{ae=await O.multicall({contracts:q})}catch{ae=null}if(ae){const Q=M.map(({start:G,item:ie})=>{const fe=ae[G],ue=fe?.status==="success"?fe.result:0n;let qe,z,le,oe;if(ie.configToken)qe=ie.configToken.decimals,z=ie.configToken.symbol,le=ie.configToken.name,oe=ie.configToken.logo;else{const me=ae[G+1],V=ae[G+2],re=ae[G+3];qe=me?.status==="success"?Number(me.result):18,z=V?.status==="success"?V.result:"TOKEN",le=re?.status==="success"?re.result:z}return H(ie,ue,qe,{symbol:z,name:le,logoURI:oe})});return[...L,...Q]}const ke=await Promise.all(K.map(Q=>W(O,Q)));return[...L,...ke.filter(Q=>Q!==null)]}));if(E!==k.current)return;const _=P.flat();g(_)},[n,s,d,h,f,l,r,u,p]);X(()=>{x.current=F},[F]),X(()=>{if(!t||!n){g([]);return}x.current();const E=setInterval(()=>{x.current()},15e3);return()=>clearInterval(E)},[n,t,d,h,f,l,r]);const b=se(()=>{F()},[F]),C=t&&n&&!o&&!!d,T=$(()=>s&&i&&i.length>0?i:[l],[s,i,l]),{assets:v}=so({address:C?d:void 0,supportedChains:T,fetchBalances:oo,enabled:C,refreshInterval:3e4});return{walletAssets:$(()=>{const E=I=>`${I.chainId}:${Je(I.address).toLowerCase()}`,A=new Set(y.map(E)),S=[...y];for(const I of v){const D=E(I);I.balance<=0n||A.has(D)||(A.add(D),S.push(I))}return S},[y,v]),refreshWalletAssets:b}}const Nu={1:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",8453:"0x4200000000000000000000000000000000000006",42161:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",84532:"0x4200000000000000000000000000000000000006"},gi=bn(["function deposit() payable","function withdraw(uint256 wad)"]);function hr(e){return Ue(e)?.wrappedNativeTokenAddress??Nu[e]}const yi=(e,t)=>({to:e,value:t,data:ot({abi:gi,functionName:"deposit"})}),xi=(e,t)=>({to:e,value:0n,data:ot({abi:gi,functionName:"withdraw",args:[t]})});function bi(e,t,n){const o=he(t),s=he(n);if(!o&&!s)return null;const r=hr(e);return r?{weth:r,wrapIn:o,unwrapOut:s}:null}function Uu(e){return{...e,resolve:async(t,n,o)=>{const s=await e.resolve(t,n,o);if(s)return s;const r=bi(n,t.tokenIn,t.tokenOut);if(!r)return null;const a=await e.resolve({...t,tokenIn:r.wrapIn?r.weth:t.tokenIn,tokenOut:r.unwrapOut?r.weth:t.tokenOut},n,o);return a?{...a,calls:[...r.wrapIn?[yi(r.weth,t.amountIn)]:[],...a.calls,...r.unwrapOut?[xi(r.weth,a.amountOutMinimum)]:[]]}:null}}}function Pu(e){return{...e,resolve:async(t,n,o)=>{const s=await e.resolve(t,n,o);if(s)return s;const r=bi(n,t.tokenIn,t.tokenOut);if(!r)return null;const a=await e.resolve({...t,tokenIn:r.wrapIn?r.weth:t.tokenIn,tokenOut:r.unwrapOut?r.weth:t.tokenOut},n,o);return a?{...a,calls:[...r.wrapIn?[yi(r.weth,a.amountInMax)]:[],...a.calls,...r.unwrapOut?[xi(r.weth,a.amountOut)]:[]]}:null}}}const wi=[100,500,3e3,1e4],Ci=(e,t)=>e.toLowerCase()===t.toLowerCase();function ps(e,t,n,o,s){const r=[];for(const a of n)if(!(Ci(a,e)||Ci(a,t)))for(const i of o)for(const d of o)r.push(s==="in"?Zo(["address","uint24","address","uint24","address"],[e,i,a,d,t]):Zo(["address","uint24","address","uint24","address"],[t,d,a,i,e]));return r}function Lu(e){const t=e.slice(2),n=[];for(let o=0;o<t.length;){const s=n.length%2===0?40:6;n.push(t.slice(o,o+s)),o+=s}return`0x${n.reverse().join("")}`}const zu=bn(["function exactOutputSingle((address tokenIn, address tokenOut, uint24 fee, address recipient, uint256 amountOut, uint256 amountInMaximum, uint160 sqrtPriceLimitX96) params) payable returns (uint256 amountIn)","function exactOutput((bytes path, address recipient, uint256 amountOut, uint256 amountInMaximum) params) payable returns (uint256 amountIn)"]),Hu=bn(["function exactOutputSingle((address tokenIn, address tokenOut, uint24 fee, address recipient, uint256 deadline, uint256 amountOut, uint256 amountInMaximum, uint160 sqrtPriceLimitX96) params) payable returns (uint256 amountIn)","function exactOutput((bytes path, address recipient, uint256 deadline, uint256 amountOut, uint256 amountInMaximum) params) payable returns (uint256 amountIn)"]),ju=1800;function ki(e){const{config:t,route:n,tokenIn:o,tokenOut:s,recipient:r,amountOut:a}=e,i=e.amountInMaximum,d=e.routerHasDeadline?Hu:zu,l=e.routerHasDeadline?{deadline:BigInt(Math.floor(Date.now()/1e3)+ju)}:{},p=n.path?ot({abi:d,functionName:"exactOutput",args:[{path:n.path,recipient:r,...l,amountOut:a,amountInMaximum:i}]}):ot({abi:d,functionName:"exactOutputSingle",args:[{tokenIn:o,tokenOut:s,fee:n.fee,recipient:r,...l,amountOut:a,amountInMaximum:i,sqrtPriceLimitX96:0n}]});return{to:t.swapRouter,value:0n,data:p}}const Vu=bn(["function quoteExactInput(bytes path, uint256 amountIn) returns (uint256 amountOut, uint160[] sqrtPriceX96AfterList, uint32[] initializedTicksCrossedList, uint256 gasEstimate)","function quoteExactOutput(bytes path, uint256 amountOut) returns (uint256 amountIn, uint160[] sqrtPriceX96AfterList, uint32[] initializedTicksCrossedList, uint256 gasEstimate)"]);async function ms(e,t,n,o,s){const r=pt(e),{result:a}=await r.simulateContract({address:t.quoterV2,abi:Vu,functionName:s==="in"?"quoteExactInput":"quoteExactOutput",args:[n,o]}),[i,,,d]=a;if(i<=0n)throw new Error("No liquidity along this path.");return{amount:i,gasEstimate:d}}async function Qu(e){const{tokenIn:t,tokenOut:n,amountIn:o,fee:s,chainId:r,config:a}=e;if(o<=0n)throw new Error("amountIn must be greater than 0");const i=(await pt(r).simulateContract({address:a.quoterV2,abi:sc,functionName:"quoteExactInputSingle",args:[{tokenIn:t,tokenOut:n,amountIn:o,fee:s,sqrtPriceLimitX96:0n}]})).result;if(i[0]<=0n)throw new Error("No liquidity found for this pair. The pool returned 0 output.");return{amountOut:i[0],sqrtPriceX96After:i[1],gasEstimate:i[3]}}async function vi(e){const t=e.feeTiers??wi,n=ps(e.tokenIn,e.tokenOut,e.hubs??[],t,"in"),o=await Promise.allSettled([...t.map(async r=>({...await Qu({...e,fee:r}),fee:r})),...n.map(async r=>{const a=await ms(e.chainId,e.config,r,e.amountIn,"in");return{amountOut:a.amount,sqrtPriceX96After:0n,gasEstimate:a.gasEstimate,fee:0,path:r}})]);let s=null;for(const r of o)r.status==="fulfilled"&&(!s||r.value.amountOut>s.amountOut)&&(s=r.value);if(!s)throw new Error("No liquidity found for this pair on any fee tier.");return s}const qu=[{inputs:[{components:[{name:"tokenIn",type:"address"},{name:"tokenOut",type:"address"},{name:"amount",type:"uint256"},{name:"fee",type:"uint24"},{name:"sqrtPriceLimitX96",type:"uint160"}],name:"params",type:"tuple"}],name:"quoteExactOutputSingle",outputs:[{name:"amountIn",type:"uint256"},{name:"sqrtPriceX96After",type:"uint160"},{name:"initializedTicksCrossed",type:"uint32"},{name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"}];async function Ku(e){const{tokenIn:t,tokenOut:n,amountOut:o,fee:s,chainId:r,config:a}=e;if(o<=0n)throw new Error("amountOut must be greater than 0");const i=(await pt(r).simulateContract({address:a.quoterV2,abi:qu,functionName:"quoteExactOutputSingle",args:[{tokenIn:t,tokenOut:n,amount:o,fee:s,sqrtPriceLimitX96:0n}]})).result;if(i[0]<=0n)throw new Error("No liquidity found for this pair. The pool returned 0 input.");return{amountIn:i[0],sqrtPriceX96After:i[1],gasEstimate:i[3]}}async function Ii(e){const t=e.feeTiers??wi,n=ps(e.tokenIn,e.tokenOut,e.hubs??[],t,"out"),o=await Promise.allSettled([...t.map(async r=>({...await Ku({...e,fee:r}),fee:r})),...n.map(async r=>{const a=await ms(e.chainId,e.config,r,e.amountOut,"out");return{amountIn:a.amount,sqrtPriceX96After:0n,gasEstimate:a.gasEstimate,fee:0,path:r}})]);let s=null;for(const r of o)r.status==="fulfilled"&&(!s||r.value.amountIn<s.amountIn)&&(s=r.value);if(!s)throw new Error("No liquidity found for this pair on any fee tier.");return s}function Yu(e){return e.type==="swap"}const Do=.02,Zu=[1,8453,42161,10,137,43114,56],Xu="https://api.1inch.dev/swap/v6.0";function gr(e,t){return ea(e,t)}function Gu(e){const t=e?.baseUrl??Xu;return{name:"1inch",chainIds:e?.chainIds??Zu,resolve:async(n,o,s)=>{const r=n.maxSlippage??Do,a=r*100,i=he(n.tokenIn)?_r:n.tokenIn,d=he(n.tokenOut)?_r:n.tokenOut,l=he(n.tokenIn);try{const p=new URL(`${t}/${o}/swap`);p.searchParams.set("src",i),p.searchParams.set("dst",d),p.searchParams.set("amount",n.amountIn.toString()),p.searchParams.set("from",s),p.searchParams.set("slippage",a.toString()),p.searchParams.set("disableEstimate","true"),p.searchParams.set("allowPartialFill","false");const u={Accept:"application/json"};e?.apiKey&&(u.Authorization=`Bearer ${e.apiKey}`);const m=await fetch(p.toString(),{headers:u});if(!m.ok)throw new Qe("VENUE_API_ERROR",`[1inchVenue] API returned ${m.status} for ${n.tokenIn} \u2192 ${n.tokenOut} on chain ${o}`,{venue:"1inch",chainId:o,tokenIn:n.tokenIn,tokenOut:n.tokenOut,amountIn:n.amountIn.toString(),cause:`HTTP ${m.status}`});const h=await m.json();if(!h.dstAmount||!h.tx)return console.warn(`[1inchVenue] No route data for ${n.tokenIn} \u2192 ${n.tokenOut} on chain ${o}`),null;const f=BigInt(h.dstAmount);if(f<=0n)return console.warn(`[1inchVenue] Zero output for ${n.tokenIn} \u2192 ${n.tokenOut} on chain ${o}`),null;const y=gr(f,r),g=[];return h.tx.to&&!l&&g.push({to:n.tokenIn,value:0n,data:ot({abi:ze,functionName:"approve",args:[h.tx.to,n.amountIn]})}),g.push({to:h.tx.to,value:BigInt(h.tx.value||"0"),data:h.tx.data}),{venue:"1inch",amountOut:f,amountOutMinimum:y,calls:g}}catch(p){if(p instanceof Qe)throw p;const u=p instanceof Error?p.message:String(p);throw new Qe("VENUE_API_ERROR",`[1inchVenue] Exception for ${n.tokenIn} \u2192 ${n.tokenOut} on chain ${o}: ${u}`,{venue:"1inch",chainId:o,tokenIn:n.tokenIn,tokenOut:n.tokenOut,amountIn:n.amountIn.toString(),cause:u})}}}}const Ai=[4114,5115],yr={name:"Satsuma",swapRouter:"0x565eD3D57fe40f78A46f348C220121AE093c3cF8",quoterV2:"0x428f20dd8926Eabe19653815Ed0BE7D6c36f8425",feeTiers:[3e3]},Si={name:"Uniswap v3",swapRouter:"0x2626664c2603336E57B271c5C0b26F421741e481",quoterV2:"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a",chainIds:[8453],feeTiers:[100,500,3e3,1e4],hubCurrencies:["0x4200000000000000000000000000000000000006","0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"]},Ei={name:"Uniswap v3",swapRouter:"0xcaf681a66d020601342297493863e78c959e5cb2",quoterV2:"0x33e885ed0ec9bf04ecfb19341582aadcb4c8a9e7",chainIds:[4663],feeTiers:[100,500,3e3,1e4],hubCurrencies:["0x0bd7d308f8e1639fab988df18a8011f41eacad73","0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168"]},Fi={name:"SushiSwap",swapRouter:"0x1e406484F1F204b23cE84B9901C0171a738fd406",quoterV2:"0x3E290e5E01818002A0b672148BdC7514D861C7B3",chainIds:[4663],feeTiers:[100,500,3e3,1e4],hubCurrencies:["0x0bd7d308f8e1639fab988df18a8011f41eacad73","0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168"],routerHasDeadline:!0},Ju=bn(["function exactInput((bytes path, address recipient, uint256 amountIn, uint256 amountOutMinimum) params) payable returns (uint256 amountOut)"]),$u=bn(["function exactInput((bytes path, address recipient, uint256 deadline, uint256 amountIn, uint256 amountOutMinimum) params) payable returns (uint256 amountOut)"]),_u=bn(["function exactOutput((bytes path, address recipient, uint256 deadline, uint256 amountOut, uint256 amountInMaximum) params) payable returns (uint256 amountIn)"]),Bi=1800,Ti=[1,50,100,200,2e3],xr={name:"Aerodrome",swapRouter:"0xcbBb8035cAc7D4B3Ca7aBb74cF7BdF900215Ce0D",quoterV2:"0x3d4C22254F86f64B7eC90ab8F7aeC1FBFD271c6C",chainIds:[8453],hubCurrencies:["0x4200000000000000000000000000000000000006","0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"]};function br(e){const t=e.name??"Aerodrome",n=e.chainIds??[8453],o=e.tickSpacings??Ti;return{name:t,chainIds:n,resolve:async(s,r,a)=>{if(he(s.tokenIn)||he(s.tokenOut))return null;const i=s.maxSlippage??Do,d=[...o.map(g=>Zo(["address","uint24","address"],[s.tokenIn,g,s.tokenOut])),...ps(s.tokenIn,s.tokenOut,e.hubCurrencies??[],o,"in")],l={quoterV2:e.quoterV2},p=await Promise.allSettled(d.map(async g=>({path:g,amountOut:(await ms(r,l,g,s.amountIn,"in")).amount})));let u=null;for(const g of p)g.status==="fulfilled"&&(!u||g.value.amountOut>u.amountOut)&&(u=g.value);if(!u)return console.warn(`[AerodromeVenue] No viable route for ${s.tokenIn} \u2192 ${s.tokenOut} on chain ${r}.`),null;const m=gr(u.amountOut,i),h=BigInt(Math.floor(Date.now()/1e3)+Bi),f=ot({abi:$u,functionName:"exactInput",args:[{path:u.path,recipient:a,deadline:h,amountIn:s.amountIn,amountOutMinimum:m}]}),y=[{to:s.tokenIn,value:0n,data:ot({abi:ze,functionName:"approve",args:[e.swapRouter,s.amountIn]})},{to:e.swapRouter,value:0n,data:f}];return{venue:t,amountOut:u.amountOut,amountOutMinimum:m,calls:y}}}}function Di(e){const t=e.name??"Aerodrome",n=e.chainIds??[8453],o=e.tickSpacings??Ti;return{name:t,chainIds:n,resolve:async(s,r,a)=>{if(he(s.tokenIn)||he(s.tokenOut))return null;const i=s.maxSlippage??Do,d=[...o.map(y=>Zo(["address","uint24","address"],[s.tokenOut,y,s.tokenIn])),...ps(s.tokenIn,s.tokenOut,e.hubCurrencies??[],o,"out")],l={quoterV2:e.quoterV2},p=await Promise.allSettled(d.map(async y=>({path:y,amountIn:(await ms(r,l,y,s.amountOut,"out")).amount})));let u=null;for(const y of p)y.status==="fulfilled"&&(!u||y.value.amountIn<u.amountIn)&&(u=y.value);if(!u)return console.warn(`[AerodromeExactOutputVenue] No viable route for ${s.tokenIn} \u2192 ${s.tokenOut} on chain ${r}.`),null;const m=BigInt(Math.round(i*1e4)),h=u.amountIn+u.amountIn*m/10000n,f=BigInt(Math.floor(Date.now()/1e3)+Bi);return{venue:t,amountIn:u.amountIn,amountInMax:h,amountOut:s.amountOut,calls:[{to:e.swapRouter,value:0n,data:ot({abi:_u,functionName:"exactOutput",args:[{path:u.path,recipient:a,deadline:f,amountOut:s.amountOut,amountInMaximum:h}]})}]}}}}function Ro(e){const t=e.name??"Uniswap v3",n=e.chainIds??Ai;return{name:t,chainIds:n,resolve:async(o,s,r)=>{if(he(o.tokenIn)||he(o.tokenOut))return null;const a=o.maxSlippage??Do;let i;try{i=await vi({tokenIn:o.tokenIn,tokenOut:o.tokenOut,amountIn:o.amountIn,chainId:s,config:{swapRouter:e.swapRouter,quoterV2:e.quoterV2},feeTiers:e.feeTiers,hubs:e.hubCurrencies})}catch{return console.warn(`[UniV3Venue] No viable route for ${o.tokenIn} \u2192 ${o.tokenOut} on chain ${s}.`),null}const d=gr(i.amountOut,a),l=i.path?ot({abi:Ju,functionName:"exactInput",args:[{path:i.path,recipient:r,amountIn:o.amountIn,amountOutMinimum:d}]}):ot({abi:rc,functionName:"exactInputSingle",args:[{tokenIn:o.tokenIn,tokenOut:o.tokenOut,fee:i.fee,recipient:r,amountIn:o.amountIn,amountOutMinimum:d,sqrtPriceLimitX96:0n}]}),p=[{to:o.tokenIn,value:0n,data:ot({abi:ze,functionName:"approve",args:[e.swapRouter,o.amountIn]})},{to:e.swapRouter,value:0n,data:l}];return{venue:t,amountOut:i.amountOut,amountOutMinimum:d,calls:p}}}}function wr(e){const t=e.name??"Uniswap v3",n=e.chainIds??Ai;return{name:t,chainIds:n,resolve:async(o,s,r)=>{if(he(o.tokenIn)||he(o.tokenOut))return null;const a=o.maxSlippage??Do;let i;try{i=await Ii({tokenIn:o.tokenIn,tokenOut:o.tokenOut,amountOut:o.amountOut,chainId:s,config:{swapRouter:e.swapRouter,quoterV2:e.quoterV2},feeTiers:e.feeTiers,hubs:e.hubCurrencies})}catch{return null}const d=BigInt(Math.round(a*1e4)),l=i.amountIn+i.amountIn*d/10000n;return{venue:t,amountIn:i.amountIn,amountInMax:l,amountOut:o.amountOut,calls:[ki({config:{swapRouter:e.swapRouter,quoterV2:e.quoterV2},routerHasDeadline:e.routerHasDeadline,route:i,tokenIn:o.tokenIn,tokenOut:o.tokenOut,recipient:r,amountOut:o.amountOut,amountInMaximum:l})]}}}}function Ri(e){const t=[];e?.customVenues&&t.push(...e.customVenues),e?.satsuma&&t.push(Ro(e.satsuma)),e?.aerodrome!==!1&&t.push(br(e?.aerodrome??xr)),t.push(Gu(e?.oneInch));const n=t.map(Uu);function o(a){return n.find(i=>i.chainIds.includes(a))}async function s(a,i,d){const l=n.filter(h=>h.chainIds.includes(i));if(l.length===0)throw new Qe("NO_VENUE_FOR_CHAIN",`No liquidity venue configured for chain ${i}. Cannot resolve swap ${a.tokenIn} \u2192 ${a.tokenOut}.`,{chainId:i,tokenIn:a.tokenIn,tokenOut:a.tokenOut,amountIn:a.amountIn.toString()});const p=await Promise.allSettled(l.map(h=>h.resolve(a,i,d)));let u=null;for(const h of p)h.status==="fulfilled"&&h.value&&(!u||h.value.amountOut>u.amountOut)&&(u=h.value);if(u)return u;const m=p.find(h=>h.status==="rejected");if(m)throw m.reason;return null}async function r(a,i,d){const l=[],p=[];for(const u of a){if(!Yu(u)){l.push(u);continue}const m=await s(u,i,d);if(!m)throw new Qe("NO_LIQUIDITY",`No venue returned a quote for ${u.tokenIn} \u2192 ${u.tokenOut} on chain ${i}.`,{chainId:i,tokenIn:u.tokenIn,tokenOut:u.tokenOut,amountIn:u.amountIn.toString()});l.push(...m.calls),p.push(m)}return{calls:l,resolvedSwaps:p}}return{resolveSwapIntents:r,resolveSwap:s,getVenueForChain:o,venues:t}}const wn="0x0000000000000000000000000000000000000000",Cr=[{fee:100,tickSpacing:1},{fee:500,tickSpacing:10},{fee:3e3,tickSpacing:60},{fee:1e4,tickSpacing:200}],Wi=wn,Mi=.02,ep=1800,Oi={name:"Uniswap v4",quoter:"0x0d5e0f971ed27fbff6c2837bf31316121532048d",universalRouter:"0x6ff5693b99212da76ad316178a184ab56d299b43",permit2:"0x000000000022d473030f116ddee9f6b43ac78ba3",chainIds:[8453],hubCurrencies:["0x4200000000000000000000000000000000000006",wn,"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"]},Ni={name:"Uniswap v4",quoter:"0x8dc178efb8111bb0973dd9d722ebeff267c98f94",universalRouter:"0x8876789976decbfcbbbe364623c63652db8c0904",permit2:"0x000000000022d473030f116ddee9f6b43ac78ba3",chainIds:[4663],hubCurrencies:["0x0bd7d308f8e1639fab988df18a8011f41eacad73",wn,"0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168"]},Ui=bn(["struct PoolKey { address currency0; address currency1; uint24 fee; int24 tickSpacing; address hooks; }","struct PathKey { address intermediateCurrency; uint24 fee; int24 tickSpacing; address hooks; bytes hookData; }","struct QuoteExactSingleParams { PoolKey poolKey; bool zeroForOne; uint128 exactAmount; bytes hookData; }","struct QuoteExactParams { address exactCurrency; PathKey[] path; uint128 exactAmount; }","function quoteExactInputSingle(QuoteExactSingleParams params) returns (uint256 amountOut, uint256 gasEstimate)","function quoteExactInput(QuoteExactParams params) returns (uint256 amountOut, uint256 gasEstimate)","function quoteExactOutputSingle(QuoteExactSingleParams params) returns (uint256 amountIn, uint256 gasEstimate)","function quoteExactOutput(QuoteExactParams params) returns (uint256 amountIn, uint256 gasEstimate)"]),tp=bn(["function approve(address token, address spender, uint160 amount, uint48 expiration)"]),np=bn(["function execute(bytes commands, bytes[] inputs, uint256 deadline) payable"]),Pi="0x10",op="04",sp="06",rp="07",ap="08",ip="09",fs="0c",hs="0e",lp=[{name:"currency0",type:"address"},{name:"currency1",type:"address"},{name:"fee",type:"uint24"},{name:"tickSpacing",type:"int24"},{name:"hooks",type:"address"}],cp=[{name:"intermediateCurrency",type:"address"},{name:"fee",type:"uint24"},{name:"tickSpacing",type:"int24"},{name:"hooks",type:"address"},{name:"hookData",type:"bytes"}],Rn=(e,t)=>e.toLowerCase()===t.toLowerCase();function gs(e){return he(e)?wn:e}function dp(e,t){return e.toLowerCase()<t.toLowerCase()?[e,t]:[t,e]}function Li(e,t,n,o,s){const r=[],[a,i]=dp(e,t);for(const{fee:l,tickSpacing:p}of Cr)r.push({kind:"single",poolKey:{currency0:a,currency1:i,fee:l,tickSpacing:p,hooks:Wi},zeroForOne:Rn(e,a)});const d=(l,p)=>!!s&&(Rn(l,wn)&&Rn(p,s)||Rn(l,s)&&Rn(p,wn));for(const l of n)if(!(Rn(l,e)||Rn(l,t))&&!(d(l,e)||d(l,t)))for(const p of Cr)for(const u of Cr){const m=(h,f)=>({intermediateCurrency:h,fee:f.fee,tickSpacing:f.tickSpacing,hooks:Wi,hookData:"0x"});r.push({kind:"multi",path:o==="in"?[m(l,p),m(t,u)]:[m(e,p),m(l,u)]})}return r}async function zi(e,t,n,o,s,r){const a=pt(e),i=(await Promise.allSettled(n.map(async d=>{const{result:l}=d.kind==="single"?await a.simulateContract({address:t.quoter,abi:Ui,functionName:r==="in"?"quoteExactInputSingle":"quoteExactOutputSingle",args:[{poolKey:d.poolKey,zeroForOne:d.zeroForOne,exactAmount:s,hookData:"0x"}]}):await a.simulateContract({address:t.quoter,abi:Ui,functionName:r==="in"?"quoteExactInput":"quoteExactOutput",args:[{exactCurrency:o,path:d.path,exactAmount:s}]}),p=l[0];if(p<=0n)throw new Error("zero quote");return{candidate:d,amount:p}}))).filter(d=>d.status==="fulfilled").map(d=>d.value);return i.length===0?null:(i.sort((d,l)=>d.amount<l.amount?-1:d.amount>l.amount?1:0),r==="in"?i[i.length-1]:i[0])}function Hi(e){const{candidate:t,direction:n,currencyIn:o,currencyOut:s,recipient:r,exactAmount:a,limitAmount:i,deadline:d,sweepNativeTo:l}=e;let p,u;t.kind==="single"?(p=n==="in"?`0x${sp}${fs}${hs}`:`0x${ap}${fs}${hs}`,u=Un([{type:"tuple",components:[{name:"poolKey",type:"tuple",components:lp},{name:"zeroForOne",type:"bool"},{name:n==="in"?"amountIn":"amountOut",type:"uint128"},{name:n==="in"?"amountOutMinimum":"amountInMaximum",type:"uint128"},{name:"hookData",type:"bytes"}]}],[{poolKey:t.poolKey,zeroForOne:t.zeroForOne,[n==="in"?"amountIn":"amountOut"]:a,[n==="in"?"amountOutMinimum":"amountInMaximum"]:i,hookData:"0x"}])):(p=n==="in"?`0x${rp}${fs}${hs}`:`0x${ip}${fs}${hs}`,u=Un([{type:"tuple",components:[{name:n==="in"?"currencyIn":"currencyOut",type:"address"},{name:"path",type:"tuple[]",components:cp},{name:n==="in"?"amountIn":"amountOut",type:"uint128"},{name:n==="in"?"amountOutMinimum":"amountInMaximum",type:"uint128"}]}],[{[n==="in"?"currencyIn":"currencyOut"]:n==="in"?o:s,path:t.path,[n==="in"?"amountIn":"amountOut"]:a,[n==="in"?"amountOutMinimum":"amountInMaximum"]:i}]));const m=Un([{type:"address"},{type:"uint256"}],[o,n==="in"?a:i]),h=Un([{type:"address"},{type:"address"},{type:"uint256"}],[s,r,0n]),f=Un([{type:"bytes"},{type:"bytes[]"}],[p,[u,m,h]]),y=l?`${Pi}${op}`:Pi,g=l?[f,Un([{type:"address"},{type:"address"},{type:"uint256"}],[wn,l,0n])]:[f];return ot({abi:np,functionName:"execute",args:[y,g,d]})}function ji(){return BigInt(Math.floor(Date.now()/1e3)+ep)}function Vi(e,t,n,o){return{to:e.permit2,value:0n,data:ot({abi:tp,functionName:"approve",args:[t,e.universalRouter,n,Number(o)]})}}function Qi(e){const t=e.name??"Uniswap v4",n=e.v3?Ro({...e.v3,chainIds:e.chainIds}):null;return{name:t,chainIds:e.chainIds,resolve:async(o,s,r)=>{const a=o.maxSlippage??Mi,i=gs(o.tokenIn),d=gs(o.tokenOut),l=he(o.tokenIn),p=e.hubCurrencies??[wn];let u=null;if(!Rn(i,d)&&o.amountIn>0n){const m=await zi(s,e,Li(i,d,p,"in",hr(s)),i,o.amountIn,"in").catch(()=>null);if(m){const h=ea(m.amount,a),f=ji(),y=[];l||(y.push({to:o.tokenIn,value:0n,data:ot({abi:ze,functionName:"approve",args:[e.permit2,o.amountIn]})}),y.push(Vi(e,o.tokenIn,o.amountIn,f))),y.push({to:e.universalRouter,value:l?o.amountIn:0n,data:Hi({candidate:m.candidate,direction:"in",currencyIn:i,currencyOut:d,recipient:r,exactAmount:o.amountIn,limitAmount:h,deadline:f})}),u={venue:t,amountOut:m.amount,amountOutMinimum:h,calls:y}}}return!u&&n?n.resolve(o,s,r):u}}}function qi(e){const t=e.name??"Uniswap v4";return{name:t,chainIds:e.chainIds,resolve:async(n,o,s)=>{const r=he(n.tokenIn),a=gs(n.tokenIn),i=gs(n.tokenOut);if(Rn(a,i)||n.amountOut<=0n)return null;const d=n.maxSlippage??Mi,l=e.hubCurrencies??[wn],p=await zi(o,e,Li(a,i,l,"out",hr(o)),i,n.amountOut,"out").catch(()=>null);if(!p)return null;const u=BigInt(Math.round(d*1e4)),m=p.amount+p.amount*u/10000n,h=ji();return{venue:t,amountIn:p.amount,amountInMax:m,amountOut:n.amountOut,calls:[...r?[]:[Vi(e,n.tokenIn,m,h)],{to:e.universalRouter,value:r?m:0n,data:Hi({candidate:p.candidate,direction:"out",currencyIn:a,currencyOut:i,recipient:s,exactAmount:n.amountOut,limitAmount:m,deadline:h,sweepNativeTo:r?s:void 0})}]}}}}const Ki=[{...yr,protocol:"uniswap-v3",chainId:4114},{...yr,protocol:"uniswap-v3",chainId:5115},{...Si,protocol:"uniswap-v3",chainId:8453},{...Ei,protocol:"uniswap-v3",chainId:4663},{...Fi,protocol:"uniswap-v3",chainId:4663},{...Oi,protocol:"uniswap-v4",chainId:8453},{...Ni,protocol:"uniswap-v4",chainId:4663},{...xr,protocol:"aerodrome-slipstream",chainId:8453}];function ys(e){const t=e?.includeDefaults===!1?e.venues??[]:[...Ki,...e?.venues??[]],n=[],o=[];for(const s of t){const r=[s.chainId];switch(s.protocol){case"uniswap-v3":{const a={...s,chainIds:r};n.push(Ro(a)),o.push(wr(a));break}case"uniswap-v4":{const a={...s,chainIds:r};n.push(Qi(a)),o.push(qi(a));break}case"aerodrome-slipstream":{const a={...s,chainIds:r};n.push(br(a)),o.push(Di(a));break}default:{const a=s;throw new Qe("INVALID_PARAMS",`Unsupported liquidity venue protocol: ${a.protocol}`,{protocol:a.protocol})}}}return{input:n,output:o}}function up(e){return{...e,resolve:async(t,n,o)=>{const s=await e.resolve(t,n,o),r=s?.calls[0]?.to;return!s||!r||he(t.tokenIn)?s:{...s,calls:[{to:t.tokenIn,value:0n,data:ot({abi:ze,functionName:"approve",args:[r,s.amountInMax]})},...s.calls]}}}}function Yi(e){const t=(e?.customVenues??[]).map(o=>Pu(up(o)));async function n(o,s,r){const a=t.filter(l=>l.chainIds.includes(s));if(a.length===0)throw new Qe("NO_SWAP_ROUTE",`No exact-output venue supports chain ${s}`,{chainId:s,tokenIn:o.tokenIn,tokenOut:o.tokenOut});const i=(await Promise.allSettled(a.map(async l=>({venue:l,quote:await l.resolve(o,s,r)})))).filter(l=>l.status==="fulfilled").map(l=>l.value).filter(l=>l.quote!==null);if(i.length===0)throw new Qe("NO_SWAP_ROUTE",`All aggregators failed for ${o.tokenIn} \u2192 ${o.tokenOut} on chain ${s}`,{chainId:s,tokenIn:o.tokenIn,tokenOut:o.tokenOut,amountOut:o.amountOut.toString()});const d=i.find(l=>l.venue.preferred);return d?d.quote:(i.sort((l,p)=>l.quote.amountIn<p.quote.amountIn?-1:l.quote.amountIn>p.quote.amountIn?1:0),i[0].quote)}return{getQuote:n,venues:t}}function kr(e,t){return Ri({aerodrome:!1,oneInch:e?.includeDefaults===!1?{chainIds:[]}:void 0,customVenues:t})}const Zi=ys(),pp=kr(void 0,Zi.input);async function Xi(e){const t=await(e.liquidityVenues?kr(e.liquidityVenues,ys(e.liquidityVenues).input):pp).resolveSwap({type:"swap",tokenIn:e.tokenIn,tokenOut:e.tokenOut,amountIn:e.amountIn,maxSlippage:e.maxSlippage},e.chainId,e.recipient);if(!t)throw new Error("No liquidity for this pair.");return t}function xs(e){const{direction:t,selectedAsset:n,destinationToken:o,chainId:s,recipient:r,paymentAmount:a,maxSlippage:i,refreshIntervalMs:d,resolveExactOutputSwap:l}=e,p=Vt(Lt)?.liquidityVenues,[u,m]=R(!1),[h,f]=R(null),[y,g]=R(null),[k,x]=R(null),[F,b]=R(null),[C,T]=R(null),[v,E]=R(null),[A,S]=R(null),[I,D]=R(null),[B,H]=R(null),[W,P]=R(0),[_,U]=R(null),[N,O]=R(null),j=Z(null),K=Z(null),L=Z(0),q=Z(new Map),M=se(()=>{L.current++,q.current.clear(),O(null),P(ye=>ye+1)},[]),ae=d&&d>0?d:null,ke=p?JSON.stringify(p):"",Q=$(()=>p?ys(p):Zi,[ke]),G=$(()=>kr(p,Q.input),[Q]),ie=$(()=>Yi({customVenues:[...l?[{name:"consumer-exact-output",chainIds:[s],preferred:!0,resolve:l}]:[],...Q.output]}),[l,s,Q]);X(()=>{q.current.clear()},[ie]);const fe=$(()=>{if(!n?.asset)return null;const ye=hn(n.asset,s);if(ye)return ye;const mt=Dn(n.asset.address,s,n.asset.chainId);return mt?mt.address:null},[n?.asset,s]),ue=$(()=>n?.asset?$o(n.asset,s):[],[n?.asset,s]),qe=$(()=>ue.map(ye=>ye.toLowerCase()).join(","),[ue]),z=JSON.stringify([n?.asset.address,n?.asset.chainId,n?.asset.decimals,n?.amount,s,qe,t,a]);X(()=>{let ye=!1;if(K.current&&(clearTimeout(K.current),K.current=null),!n?.asset||ue.length<=1){D(null),H(null);return}return K.current=setTimeout(async()=>{const mt=t==="input"?n.amount:a||"0";let rt=0n;try{rt=t==="input"?_e(mt,n.asset.decimals):0n}catch{rt=0n}try{const Ke=await Xs(n.asset,s,{requiredAmount:rt});ye||(D(Ke),H(z))}catch{ye||D(null)}},400),()=>{ye=!0,K.current&&(clearTimeout(K.current),K.current=null)}},[z]);const le=$(()=>(B===z?I:null)??fe,[I,B,z,fe]),oe=$(()=>!n?.asset||!le?[]:[le,...ue.filter(ye=>ye.toLowerCase()!==le.toLowerCase())],[n?.asset,le,ue]),me=$(()=>!n?.asset||!Ao(n.asset.address,n.asset.chainId,o.address,o.chainId)||!le?!1:Be(le,o.address),[n,o.address,o.chainId,le]),V=le?Be(le,o.address):!1,re=t==="output"&&parseFloat(a||"0")===0,xe=!!n?.asset&&!me&&!V&&!re,ee=JSON.stringify([ke,t,xe,n?.asset.address,n?.asset.chainId,n?.asset.decimals,t==="input"?n?.amount:a,oe.map(ye=>ye.toLowerCase()),s,o.address.toLowerCase(),o.chainId,o.decimals,r?.toLowerCase(),i,ae]),ve=$(()=>({}),[ee,G,ie,W]),st=N?.request===ve&&(!ae||N.expiresAt>Date.now());return X(()=>{if(!ae||N?.request!==ve)return;const ye=setTimeout(M,Math.max(0,N.expiresAt-Date.now()));return()=>clearTimeout(ye)},[ae,N,ve,M]),X(()=>{j.current&&clearTimeout(j.current),U(ve),O(null),f(null);const ye=t==="input"?n?.amount:a,mt=parseFloat(ye||"0");if(!xe||!Number.isFinite(mt)||mt<=0||!n?.asset||!r||oe.length===0){L.current++,g(null),x(null),b(null),T(null),E(null),S(null),f(null),m(!1);return}const rt=n.asset.decimals;let Ke;try{Ke=t==="input"?_e(n.amount,rt):_e(a||"0",o.decimals)}catch{L.current++,f("Invalid amount"),m(!1);return}const Mt=++L.current,Le=()=>Mt!==L.current;m(!0);const Zt=t==="output"?150:400,ct=async(Ee,Ye,dt)=>{for(const J of oe){const St=`${ke}:${t}:${s}:${J.toLowerCase()}:${o.address.toLowerCase()}:${Ke.toString()}:${r.toLowerCase()}:${i??"default"}:${ae??"default"}`,Bt=q.current.get(St),ft=Bt&&Bt.expiresAt>Date.now()?Ee(Bt):void 0;if(ft)return{quote:ft,tokenIn:J,expiresAt:Bt.expiresAt};const Xe=await dt(J);if(Le())return"stale";if(!Xe)continue;const Pt=Date.now()+Math.min(ae??3e4,3e4);return q.current.set(St,{expiresAt:Pt,direction:t,...Ye(Xe)}),{quote:Xe,tokenIn:J,expiresAt:Pt}}return null};return j.current=setTimeout(async()=>{try{if(t==="input"){const Ee=await ct(dt=>dt.resolvedSwap,dt=>({resolvedSwap:dt}),dt=>G.resolveSwap({type:"swap",tokenIn:dt,tokenOut:o.address,amountIn:Ke,maxSlippage:i},s,r));if(Ee==="stale"||Le())return;if(!Ee)throw new Error("No liquidity for this pair");S(Ee.tokenIn),O({request:ve,key:`${ee}:${Mt}`,expiresAt:Ee.expiresAt}),E(Ee.quote.amountOut),b(Ee.quote),T(null);const Ye=parseFloat($e(Ee.quote.amountOut,o.decimals));g(Ye<.01?Ye.toPrecision(4):Ye.toLocaleString(void 0,{maximumFractionDigits:6})),x(null),f(null)}else{const Ee=await ct(Ye=>Ye.exactOutputSwap,Ye=>({exactOutputSwap:Ye}),async Ye=>{try{return await ie.getQuote({tokenIn:Ye,tokenOut:o.address,amountOut:Ke,maxSlippage:i},s,r)}catch{return null}});if(Ee==="stale"||Le())return;if(!Ee)throw new Error("No liquidity for this pair");S(Ee.tokenIn),O({request:ve,key:`${ee}:${Mt}`,expiresAt:Ee.expiresAt}),T(Ee.quote),b(null),E(null),x(parseFloat($e(Ee.quote.amountIn,rt)).toFixed(6)),g(null),f(null)}}catch(Ee){if(Le())return;const Ye=Ee instanceof Error?Ee.message:"Failed to get quote";f(Ye),g(null),x(null),b(null),T(null),E(null),S(null)}finally{Le()||m(!1)}},Zt),()=>{L.current++,j.current&&clearTimeout(j.current)}},[ve]),{quoteKey:st?N.key:null,quoteExpiresAt:st?N.expiresAt:null,refreshQuote:M,isQuoting:_===ve?u:xe,quoteError:_===ve?h:null,estimatedOutput:st?y:null,estimatedInput:st?k:null,resolvedSwap:st?F:null,exactOutputSwap:st?C:null,quoteAmountOut:st?v:null,resolvedTokenIn:xe&&st?A??le:le,isDirect:V,needsSwap:xe,selectedIsEquivalent:me}}function mp(e){const t=Vt(Lt)?.rpcOverrides?.[e.lockChainId],n=e.selectedAsset?.asset,o=n?._source,[s,r]=R(0),a=e.enabled&&n&&e.destinationTokenAddress?JSON.stringify([n.address.toLowerCase(),n.chainId,n.decimals,n.symbol,n.name,n.receiptTokenName,n.displaySymbol,n.displayName,n.isUniversal,o,n.chainTokens,e.lockChainId,e.destinationTokenAddress.toLowerCase(),s]):null,[i,d]=R(null),[l,p]=R(null);X(()=>{if(!a||!n||!e.destinationTokenAddress||!t?.trim())return;const b=e.destinationTokenAddress;let C=!1;return p(null),(async()=>{try{if(await Promise.resolve(),C)return;if(o==="wallet"&&n.chainId!==e.lockChainId)throw new Error("Select a wallet asset on the lock chain.");const T=o==="wallet"?n.address:await Xs(n,e.lockChainId);if(C)return;if(!T)throw new Error(`This asset cannot be delivered on ${Jt(e.lockChainId)}.`);const v=Je(T),[E,A]=await Promise.all([qo(e.lockChainId,v),qo(e.lockChainId,b)]);C||d(S=>({key:a,rpcUrl:t,inputToken:v,inputDecimals:E,outputDecimals:A,generation:(S?.generation??0)+1}))}catch(T){C||p({key:a,message:T instanceof Error?T.message:"Unable to read lock token metadata. Please retry."})}})(),()=>{C=!0}},[a,t]);const u=i?.key===a&&i.rpcUrl===t?i:null,m=$(()=>{if(!u||!n||!e.selectedAsset?.amount)return null;try{if((e.selectedAsset.amount.split(".")[1]?.replace(/0+$/,"")??"").length>n.decimals)return{error:`Use at most ${n.decimals} decimal places for this lock source.`};const b=_e(e.selectedAsset.amount,n.decimals);if(b<=0n)return null;const C=Tn(b,n.decimals,u.inputDecimals,"floor");if(Tn(C,u.inputDecimals,n.decimals,"floor")!==b)return{error:`Use at most ${u.inputDecimals} decimal places for this lock source.`};const T={address:u.inputToken,decimals:u.inputDecimals,chainId:e.lockChainId,symbol:n.symbol,name:n.name,isNative:he(u.inputToken),balance:0n,balanceFormatted:0,balanceUsd:0};return{amount:C,selected:{asset:T,amount:$e(C,u.inputDecimals)}}}catch{return{error:"Enter a valid amount."}}},[u,n,e.selectedAsset?.amount,e.lockChainId]),h=$(()=>u&&e.destinationTokenAddress?{address:e.destinationTokenAddress,chainId:e.lockChainId,decimals:u.outputDecimals,symbol:e.lockTokenSymbol,name:e.lockTokenSymbol,logoURI:e.lockTokenLogoURI,isNative:he(e.destinationTokenAddress),balance:0n,balanceFormatted:0,balanceUsd:0}:null,[u,e.destinationTokenAddress,e.lockChainId,e.lockTokenSymbol,e.lockTokenLogoURI]),f=xs({direction:"input",selectedAsset:e.enabled?m?.selected??null:null,destinationToken:h?{...h,address:Je(h.address)}:{address:Qt,decimals:0,symbol:e.lockTokenSymbol,chainId:e.lockChainId},chainId:e.lockChainId,recipient:e.recipient,maxSlippage:.01,refreshIntervalMs:3e4}),y=se(()=>{f.refreshQuote(),r(b=>b+1)},[f.refreshQuote]),g=!!u&&!!h&&!Be(u.inputToken,Je(h.address)),k=g?f.resolvedSwap?.amountOutMinimum:m?.amount,x=e.enabled&&u&&m?.selected&&h&&e.recipient&&k!==void 0&&k>0n&&(!g||f.quoteKey)?{input:m.selected.asset,amountIn:m.amount,output:h,minimum:k,swap:g?f.resolvedSwap:null,key:`${a}:${u.generation}:${e.selectedAsset?.amount}:${e.recipient.toLowerCase()}:${g?f.quoteKey:"direct"}`,expiresAt:g?f.quoteExpiresAt:null}:null,F=e.enabled?t?.trim()?l?.key===a?l.message:m?.error??f.quoteError??(k!==void 0&&k<=0n?"The swap output is too small to lock. Increase the amount.":null):`Configure SpiceFlowProvider rpcOverrides[${e.lockChainId}] for ${Jt(e.lockChainId)} before locking.`:null;return{conversion:x,error:F,retryQuote:y,isQuoting:e.enabled&&!!n&&!!e.recipient&&Number(e.selectedAsset?.amount)>0&&!x&&!F}}const fp=({options:e,selectedIndex:t,onSelect:n,primaryColor:o,dark:s=!1,textPrimary:r="#111827",textSecondary:a="#6b7280",trackColor:i})=>{const d=e.length-1,l=i||(s?"#3a3a3a":"#d1d5db"),p=s?"4px":"50%",u=s?"none":"2px solid white",m=s?"none":`0 0 0 1px ${o}`;return w("div",{style:{width:"100%",userSelect:"none"},children:[w("div",{style:{position:"relative",paddingBottom:"4px"},children:[c("div",{style:{position:"absolute",top:"50%",left:0,right:0,height:"4px",background:l,borderRadius:"2px",transform:"translateY(-50%)",pointerEvents:"none"}}),c("div",{style:{position:"absolute",top:"50%",left:0,width:`${t/d*100}%`,height:"4px",background:o,borderRadius:"2px",transform:"translateY(-50%)",pointerEvents:"none",transition:"width 0.15s ease"}}),c("input",{type:"range","aria-label":"Lock duration","aria-valuetext":e[t]?.label,"data-spiceflow-focus":!0,min:0,max:d,step:1,value:t,onChange:h=>n(Number(h.target.value)),style:{WebkitAppearance:"none",appearance:"none",width:"100%",height:"20px",background:"transparent",cursor:"pointer",outline:"none",border:"none",position:"relative",zIndex:1,margin:0,padding:0}})]}),c("div",{style:{display:"flex",justifyContent:"space-between",marginTop:"6px"},children:e.map((h,f)=>w("div",{onClick:()=>n(f),style:{display:"flex",flexDirection:"column",alignItems:f===0?"flex-start":f===d?"flex-end":"center",cursor:"pointer",flex:1},children:[c("span",{style:{fontSize:"12px",fontWeight:f===t?700:400,color:f===t?r:a,whiteSpace:"nowrap",transition:"color 0.15s, font-weight 0.15s"},children:h.label}),h.highlight&&c("span",{style:{fontSize:"10px",color:a,whiteSpace:"nowrap"},children:"(most common)"})]},f))}),c("style",{children:`
43
+ `,ni=({title:e,showChevron:t,expanded:n,onToggleDetails:s,showClose:o,onClose:r,fontFamily:a,labelColor:i,textPrimary:d,closeHoverBg:l,closePressedBg:u})=>{const[p,m]=R(!1),[h,f]=R(!1);return b("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"16px"},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"8px",cursor:s?"pointer":"default"},onClick:s,children:[b("span",{style:{fontSize:"13px",fontWeight:500,color:i,fontFamily:a},children:[e," "]}),t&&c(Yn,{color:i,direction:n?"up":"down"})]}),o&&c("button",{onClick:r,onMouseEnter:()=>m(!0),onMouseLeave:()=>{m(!1),f(!1)},onMouseDown:()=>f(!0),onMouseUp:()=>f(!1),style:{background:h?u:p?l:"none",border:"none",borderRadius:"4px",cursor:"pointer",padding:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:p||h?d:i,transform:h?"scale(0.9)":p?"scale(1.1)":"scale(1)",transition:rn.interactive},children:c(Is,{size:16})})]})},si=({chainName:e,bg:t,border:n,textPrimary:s,labelColor:o,primaryColor:r})=>b("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"20px 16px",borderRadius:"8px",backgroundColor:t,border:`1px solid ${n}`,gap:"12px"},children:[c(Sn,{size:24,borderWidth:3,color:r}),b("div",{children:[c("p",{style:{margin:0,fontSize:"14px",fontWeight:600,fontFamily:Ee.mono,letterSpacing:"0.5px",color:s},children:"PROCESSING TRANSACTION"}),b("p",{style:{margin:"2px 0 0 0",fontSize:"12px",color:o},children:["on ",e]})]})]}),oi=({bg:e,border:t,left:n,right:s})=>b("div",{style:{padding:"10px 12px",borderRadius:"6px",backgroundColor:e,border:`1px solid ${t}`,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[n,s]}),wr=({isOpen:e,onClose:t,onComplete:n,closeOnComplete:s=!1,type:o,results:r,chainId:a,chainName:i,explorerUrl:d,theme:l,styles:u,dark:p,intentStatus:m,onRetry:h,onNewTx:f,onRetryTx:y,asOverlay:g=!0,isProcessing:w=!1,showStepBreakdown:x=!0})=>{const{theme:B,primaryColor:k,dark:C,dk:T}=It(u,p),A=l||B,[v,S]=R(!1),F=i??(a?Jt(a):"Network"),I=d??(a&&Ys(a,"").replace(/\/tx\/.*$/,"")||void 0),D=C?T.cardBg:"#ffffff",E=C?"0 4px 20px rgba(0, 0, 0, 0.4)":"0 4px 20px rgba(0, 0, 0, 0.1)",L=C?"0 -4px 8px -2px rgba(0, 0, 0, 0.4)":"0 -4px 8px -2px rgba(0, 0, 0, 0.15)",W=T.textSecondary,U=C?T.textPrimary:"#374151",_=C?T.inputBg:"#f9fafb",P=C?T.inputBorder:"#e5e7eb",N=C?T.inputBg:"#f3f4f6",O=C?T.inputBorder:"#e5e7eb",[j,q]=R(!0),H=C?T.inputBg:"#f9fafb",V=C?T.hoverBg:"#f3f4f6",M=C?{successBg:T.successBg,successBorder:T.successBorder,successText:T.successText,errorBg:T.errorBg,errorBorder:T.errorBorder,errorText:T.errorText}:{},oe=m?.steps.find(de=>de.status==="failed")?.error;G(()=>{!e&&!m&&S(!1)},[e,m]);const Ce=()=>{S(!0),setTimeout(()=>{window.dispatchEvent(new CustomEvent("tx-complete",{detail:{type:o,results:r}})),window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:{type:o,status:"success",results:r}})),n?.(),s&&t()},300)},Q=()=>{q(!j)};if(m){const{steps:de,overallStatus:Ve}=m,z=Ve==="processing",le=Ve==="success",te=Ve==="failed",me=de.filter(Z=>Z.transactionHash)[0],ve=de.length>1?de.map(Z=>Z.chainName).filter(Boolean).join(" and "):F!=="Network"?F:de[0]?.chainName||F,K=I||(me?Ys(me.chainId,me.transactionHash||"").replace(/\/tx\/.*$/,""):void 0),ae=b($t,{children:[c(ni,{title:z?`Processing ${o.charAt(0).toUpperCase()+o.slice(1)}`:`${o.charAt(0).toUpperCase()+o.slice(1)} results`,showChevron:x,expanded:j,onToggleDetails:Q,showClose:!z,onClose:t,fontFamily:u?.fontFamily||A.typography.fontFamily,labelColor:W,textPrimary:U,closeHoverBg:H,closePressedBg:V}),c("div",{style:{marginBottom:"16px"},children:z?c(si,{chainName:ve,bg:N,border:O,textPrimary:U,labelColor:W,primaryColor:k}):c(ei,{isSuccess:le,type:o,chainName:ve,explorerUrl:K,txHash:me?.transactionHash,dark:C,...M,textSecondary:W})}),x&&c("div",{style:{overflow:"hidden",maxHeight:j?"300px":"0px",opacity:j?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease",marginBottom:j?"16px":"0"},children:c("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:de.map((Z,ye)=>{const Qe=Z.transactionHash?Ys(Z.chainId,Z.transactionHash):null;return c(oi,{bg:_,border:P,left:c("span",{style:{fontSize:"13px",color:U},children:Z.chainName?`On ${Z.chainName}`:Z.description||`Step ${ye+1}`}),right:b("span",{style:{display:"flex",alignItems:"center",gap:"8px",fontSize:"12px",color:Z.status==="success"?"#10b981":Z.status==="failed"?"#ef4444":W,fontWeight:500},children:[Qe&&c("a",{href:Qe,target:"_blank",rel:"noopener noreferrer",style:{color:C?T.infoText:"#2563eb",textDecoration:"none"},onClick:xe=>xe.stopPropagation(),children:"View"}),Z.status==="success"?"\u2713":Z.status==="failed"?"\u2717":"\u25CB"]})},ye)})})}),!z&&b("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[te&&h&&c(Ot,{variant:"outline",fullWidth:!0,onClick:h,theme:A,styles:u,dark:C,children:"TRY AGAIN"}),f&&b(Ot,{variant:"outline",fullWidth:!0,onClick:f,theme:A,styles:u,dark:C,children:["NEW ",o.toUpperCase()," \u2192"]})]})]});return g?b("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:10,animation:v?"slideDown 0.3s ease-in forwards":"slideUp 0.3s ease-out forwards",pointerEvents:"auto"},children:[c("div",{style:{backgroundColor:D,borderRadius:"12px 12px 0 0",width:"100%",padding:"18px 24px 24px",boxShadow:L},children:ae}),c("style",{children:ti})]}):c("div",{style:{backgroundColor:D,borderRadius:"12px",padding:"24px",width:"100%",boxShadow:E},children:ae})}if(!e&&!w||!w&&(!r||r.length===0))return null;const $=r?r.every(de=>de.success):!1,ie=r?.[0],fe=[...r??[]].reverse().find(de=>de.txHash)?.txHash||ie?.txHash;return b("div",{style:{position:g?"absolute":"relative",bottom:g?0:void 0,left:g?0:void 0,right:g?0:void 0,zIndex:g?10:void 0,animation:g?v?"slideDown 0.3s ease-in forwards":"slideUp 0.3s ease-out forwards":void 0,pointerEvents:"auto",width:"100%"},children:[c("div",{style:{backgroundColor:D,borderRadius:g?"12px 12px 0 0":"12px",width:"100%",padding:"18px 0 24px",boxShadow:g?L:E},children:b("div",{style:{width:"100%",boxSizing:"border-box",padding:"0 24px"},children:[c(ni,{title:w?`Processing ${o.charAt(0).toUpperCase()+o.slice(1)}`:`${o.charAt(0).toUpperCase()+o.slice(1)} results`,showChevron:!w&&x,expanded:j,onToggleDetails:w?void 0:Q,showClose:!w,onClose:t,fontFamily:u?.fontFamily||A.typography.fontFamily,labelColor:W,textPrimary:U,closeHoverBg:H,closePressedBg:V}),c("div",{style:{marginBottom:"16px",animation:"statusFadeIn 220ms cubic-bezier(0.22, 1, 0.36, 1) both"},children:w?c(si,{chainName:F,bg:N,border:O,textPrimary:U,labelColor:W,primaryColor:k}):c(ei,{isSuccess:$,type:o,chainName:F,explorerUrl:I,txHash:fe,dark:C,...M,textSecondary:W})},w?"processing":$?"success":"error"),!w&&x&&r&&r.length>1&&c("div",{style:{overflow:"hidden",maxHeight:j?"200px":"0px",opacity:j?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease",marginBottom:j?"16px":"0"},children:c("div",{style:{maxHeight:"180px",overflowY:"auto",display:"flex",flexDirection:"column",gap:"8px"},children:r.map((de,Ve)=>c(oi,{bg:_,border:P,left:b("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[c("span",{style:{fontWeight:600,fontSize:"13px",color:T.textPrimary,fontFamily:Ee.mono},children:de.asset.symbol}),de.amount&&c("span",{style:{fontSize:"12px",color:W},children:de.amount})]}),right:c("span",{style:{fontSize:"12px",color:de.success?"#10b981":"#ef4444",fontWeight:500},children:de.success?"\u2713":"\u2717"})},Ve))})}),!w&&!$&&r&&c("div",{style:{padding:"12px",backgroundColor:T.errorBg,border:`1px solid ${T.errorBorder}`,borderRadius:"8px",marginBottom:"16px"},children:c("p",{style:{fontSize:"13px",color:T.errorText,margin:0,lineHeight:1.5},children:oe||r.find(de=>!de.success)?.error||`${o.charAt(0).toUpperCase()+o.slice(1)} failed. Please try again.`})}),!w&&b("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[!$&&y&&b(Ot,{variant:"outline",fullWidth:!0,onClick:y,theme:A,styles:u,dark:C,children:["TRY AGAIN ",o.toUpperCase()]}),$&&c(Ot,{variant:"outline",fullWidth:!0,onClick:Ce,theme:A,styles:u,dark:C,children:"DONE"})]})]})}),c("style",{children:ti})]})};function du(e,t,n){const s=Yt(zt),[o,r]=R(0),a=n??s?.supportedChainIds,i=JSON.stringify(a??[]),d=J(()=>e.map(l=>{if(Number.isFinite(l.balanceUsd)&&l.balanceUsd>0)return[];const u=Object.keys(l.chainTokens??{}).map(Tn).filter(p=>!!p&&en(p.address)&&!!a?.includes(p.chainId));return u.sort((p,m)=>{const h=f=>f===s?.nativeChainId?-1:a.indexOf(f);return h(p.chainId)-h(m.chainId)||+!Fe(p.address,l.address)-+!Fe(m.address,l.address)}),u.flatMap(p=>{const m=s?.rpcOverrides?.[p.chainId];if(!m)return[];const h=jo(p.chainId,m);if(!h)return[];const f=pe(p.address)?Ue(p.chainId)?.nativeCurrency.symbol:void 0,y=f?`native:${f}`:p.address;return[{rpc:h,token:y,address:p.address,nativeSymbol:f}]})}),[e,i,s?.nativeChainId,s?.rpcOverrides]);return G(()=>{if(!t||!d.some(h=>h.length>0))return;let l=!0,u;const p=async()=>{!l||document.hidden||(r(h=>h+1),await Promise.all(d.map(async h=>{for(const f of h){if(!l||document.hidden)return;if(f.nativeSymbol?await Qo(f.rpc,f.nativeSymbol):(await Vo(f.rpc,[f.address])).get(f.address.toLowerCase()))break}})),l&&r(h=>h+1))},m=()=>{clearInterval(u),!document.hidden&&(p(),u=setInterval(()=>{p()},6e4))};return m(),document.addEventListener("visibilitychange",m),()=>{l=!1,clearInterval(u),document.removeEventListener("visibilitychange",m)}},[d,t]),J(()=>e.map((l,u)=>{if(Number.isFinite(l.balanceUsd)&&l.balanceUsd>0)return l;const p=d[u].map(m=>ws(m.rpc,m.token)).find(Boolean);return{...l,balanceUsd:p?l.balanceFormatted*p.price:0,priceStatus:p?p.stale?"stale":"fresh":"unavailable"}}),[e,d,o])}function uu(e){const t=e.chainTokens??e.chainTokenConfig;if(Array.isArray(t))return t.filter(n=>typeof n=="string");if(t&&typeof t=="object")return t}const Ts=({address:e,supportedChains:t,enabled:n=!0,refetchInterval:s,priceEnabled:o=!1})=>{const r=Yt(zt),a=r?.apiUrl||Ql,[i,d]=R([]),[l,u]=R(!1),[p,m]=R(null),[h,f]=R(!1),y=X(!1),g=X(null),w=t??r?.supportedChainIds,x=w?JSON.stringify([...w].sort()):"",B=ne(async()=>{if(!e||!n){d([]),f(!1),u(!1),m(null),y.current=!1;return}if(g.current)return;const A=new AbortController;g.current=A,y.current||u(!0),m(null);try{const v=await Vl(`${a}/wallets/${e}/balance`,{cache:"no-store",signal:A.signal});if(!v.ok)throw new Error(`Failed to fetch balance: ${v.status}`);const S=await v.json();if(A.signal.aborted)return;if(S.balances&&Array.isArray(S.balances)){const F=S.balances.map(I=>ad({receiptToken:typeof I.receiptToken=="string"?I.receiptToken:void 0,tokenName:String(I.tokenName??""),balanceAvailable:String(I.balanceAvailable??"0"),chainTokens:uu(I),decimals:typeof I.decimals=="number"?I.decimals:void 0,balanceUsd:typeof I.balanceUsd=="number"||typeof I.balanceUsd=="string"?I.balanceUsd:null},w)).filter(I=>I!==null);d(F),f(F.length>0),y.current=!0}else d([]),f(!1)}catch(v){if(A.signal.aborted)return;const S=v instanceof Error?v.message:"Failed to fetch balance";m(S),console.error("Error fetching Spice assets:",v),y.current||(d([]),f(!1))}finally{g.current===A&&(u(!1),g.current=null)}},[e,n,x,a]);G(()=>(y.current=!1,d([]),f(!1),B(),()=>{g.current?.abort(),g.current=null}),[B]),G(()=>{if(!n||!e||!s)return;const A=setInterval(()=>{B()},s);return()=>clearInterval(A)},[e,n,s,B]);const k=du(i,n&&o,w),C=ne(A=>k.filter(v=>v.chainId===A),[k]),T=ne(async()=>{await B()},[B]);return{assets:k,loading:l,error:p,hasBalance:h,refetch:T,getAssetsByChain:C}};function Wn(e,t,n,s){if(t===n)return e;if(t<n)return e*10n**BigInt(n-t);const o=10n**BigInt(t-n);return s==="ceil"?(e+o-1n)/o:e/o}function Cr(e,t){return Ge(e,t).replace(/(\.\d*?[1-9])0+$|\.0+$/,"$1")}function ri(e,t,n){return Wn(e,t,n,"floor")}function ai(e,t,n=!1){if(e<=0)return"$0";if(!t||!Number.isFinite(t)||t<=0)return"\u2014";const s=e*t;return`$${s>=1?s.toFixed(3).replace(/0+$/,"").replace(/\.$/,""):s.toFixed(4).replace(/0+$/,"").replace(/\.$/,"")}${n?" (stale)":""}`}function pu(e,t){return t?JSON.stringify({tokenAddress:t.toLowerCase(),batches:e.map(n=>({chainId:n.chainId,calls:n.calls.map(s=>({to:s.to.toLowerCase(),value:s.value.toString(),data:s.data})),tokenTransfers:(n.tokenTransfers??[]).map(s=>({from:s.from,to:s.to.toLowerCase(),token:s.token.toLowerCase(),amount:s.amount.toString()}))}))}):null}function mu(e){const t=e.find(n=>ss(n.chainId))?.calls?.[0]?.data;if(!t)return null;try{const n=Gs({abi:oa,data:t});return n.functionName!=="createWithdrawalRequest"?null:n.args[0].transfers.map(s=>({token:s.token,recipient:s.to,amount:s.amount}))}catch{return null}}function fu(e,t){return!e||e.length!==t.length?!1:e.every((n,s)=>{const o=t[s];return n.token.toLowerCase()!==o.token.toLowerCase()||n.recipient.toLowerCase()!==o.recipient.toLowerCase()?!1:n.recipient.toLowerCase()===an.toLowerCase()?zn(n.amount,o.amount,100n):n.amount===o.amount})}function hu(e,t){const n=e.intents.flatMap(r=>r.batches).filter(r=>{const a=nn(r);return BigInt(r.quotedAmount)>0n||BigInt(r.totalDebit)>0n||a.totalFee>0n}),s=n.filter(r=>r.chainId===t),o=s.length>0?s:n;return o.length===1?o[0]:null}function gu(e){const t=new Map;for(const n of e){if(n.amount<=0n)continue;const s=n.token.toLowerCase(),o=n.recipient.toLowerCase(),r=`${s}:${o}`,a=t.get(r);a?a.amount+=n.amount:t.set(r,{...n})}return[...t.values()]}function ii(e,t){if(!e.token||!e.recipient||e.chainId===null)return null;const n=hu(t,e.chainId);if(!n)return null;const{gasFee:s,bridgeFee:o,spicenetFee:r}=nn(n),a=s+o,i=[{token:e.token.address,recipient:e.recipient,amount:e.receiveAmountRaw}];return a>0n&&i.push({token:e.token.address,recipient:an,amount:a}),r>0n&&i.push({token:e.token.address,recipient:Kn,amount:r}),gu(i)}function yu(e,t,n){const s=ii(e,t);return!s||fu(mu(n),s)?null:e.buildWithdrawBatches(s)}async function li(e){if(!(!e.batches.length||!e.walletAddress||!e.recipient)){e.ui.setIsExecuting(!0),e.ui.setExecutionError(null),e.ui.setExecutionProgress(null),e.executionContextRef.current=null,e.ui.setLockedGasFee(e.gasFee);try{let t=e.batches;if(e.isNon7702&&e.onWithdrawExecute)await e.onWithdrawExecute(e.amount);else{if(!e.isNon7702&&!t.some(o=>ss(o.chainId)))throw new Error("Spice withdrawals must include a Spicenet funding batch before the destination chain batch.");const n=e.token?.address||"",s={useCustomTransfers:!0};if(e.buildSpicenetBatch){const o=e.feeEstimate??await e.execution.estimate(t,n,0n,s),r=ii(e,o);r&&(t=e.buildWithdrawBatches(r));const a=o.intents[0]?.batches.find(i=>i.chainId===e.chainId)??o.intents[0]?.batches[0]??null;a&&e.ui.setLockedGasFee(nn(a).totalFee)}else{const o=(e.feeEstimate??await e.execution.estimate(t,n,0n,s)).intents[0]?.batches[0]??null;o&&e.ui.setLockedGasFee(nn(o).totalFee)}await e.execution.execute(t,n,0n,o=>{o.actionId&&o.intentId&&typeof o.intentIndex=="number"&&typeof o.totalSteps=="number"&&(e.executionContextRef.current={actionId:o.actionId,intentId:o.intentId,intentIndex:o.intentIndex,totalSteps:o.totalSteps}),e.ui.setExecutionProgress(o)},void 0,e.buildSpicenetBatch?{...s,adjustBatchesForEstimate:({feeEstimate:o,chainBatches:r})=>yu(e,o,r)}:{...s,skipPreSubmitFeeEstimate:!0})}ci(e)}catch(t){const n=t instanceof Error?t.message:"Withdraw failed";e.ui.setExecutionError(n)}finally{e.ui.setIsExecuting(!1)}}}function ci(e){window.dispatchEvent(new CustomEvent("withdraw-completed")),e.onWithdrawSuccess?.({token:e.token?.symbol||"",amount:e.amount,chainId:e.chainId})}async function xu(e){const t=e.executionContextRef.current;if(!t){e.ui.setExecutionProgress(null),await li(e);return}e.ui.setIsExecuting(!0),e.ui.setExecutionError(null),e.ui.setExecutionProgress({step:"executing",message:"Resuming existing action...",actionId:t.actionId,intentId:t.intentId,intentIndex:t.intentIndex,totalSteps:t.totalSteps});try{let n=t.totalSteps;for(let s=0;s<t.totalSteps;s++)if((await Ht.checkStepStatus(t.intentId,s)).data.status!=="success"){n=s;break}if(n>=t.totalSteps)e.ui.setExecutionProgress(s=>({...s||{step:"success",message:"Transaction successful!",actionId:t.actionId,intentId:t.intentId,intentIndex:t.intentIndex,totalSteps:t.totalSteps},step:"success",message:"Transaction successful!"}));else for(let s=n;s<t.totalSteps;s++){const o=await Da({actionId:t.actionId,intentIndex:t.intentIndex,intentId:t.intentId,stepIndex:s,chainId:e.chainId??void 0,onStatusMessage:(r,a)=>{e.isMountedRef.current&&e.ui.setExecutionProgress({step:"executing",message:r,txHash:a,actionId:t.actionId,intentId:t.intentId,intentIndex:t.intentIndex,totalSteps:t.totalSteps})}});if(!e.isMountedRef.current)return;e.ui.setExecutionProgress({step:s===t.totalSteps-1?"success":"executing",message:s===t.totalSteps-1?"Transaction successful!":"Executing remaining steps...",txHash:o,actionId:t.actionId,intentId:t.intentId,intentIndex:t.intentIndex,totalSteps:t.totalSteps})}ci(e)}catch(n){const s=n instanceof Error?n.message:"Withdraw failed";e.ui.setExecutionError(s)}finally{e.ui.setIsExecuting(!1)}}async function bu(e){const t=await e.estimate(e.batches,e.tokenAddress,0n,{useCustomTransfers:!0,signal:e.signal}),n=t.intents.flatMap(o=>o.batches).filter(o=>nn(o).totalFee>0n),s=n.filter(o=>o.chainId===e.chainId)[0]??n[0]??t.intents[0]?.batches[0];if(!s)throw new Error("No gas fee estimate was returned for this withdraw.");return{gasFee:nn(s).totalFee,feeEstimate:t}}const wu=Ee.ui,Hn=Ee.mono,Cu=({show:e,onToggle:t,showCustomAddress:n,setShowCustomAddress:s,customRecipient:o,setCustomRecipient:r,externalAddress:a,recipientAddress:i,destChainName:d,destChainLogo:l,compatibleDestinationChains:u,txDetailsChainSwitchRef:p,onOpenNetworkPopover:m,sourceChainLabel:h,sourceDetailsLogo:f,sourceTokenLabel:y,amount:g,totalSourceDebitDisplay:w,receiveAmountDisplay:x,destTokenSymbol:B,shouldQuoteWithdrawGas:k,estimatingFee:C,feeError:T,displayedGasFee:A,selectedDestToken:v,theme:S,styles:F,dark:I,dk:D})=>{const E=I?D.textSecondary:"#71757A",L=I?D.textPrimary:"#0E0D0B",W=u.length>1,U=n&&o?en(o)?qs(o):o:i?qs(i):"\u2014";return b($t,{children:[b("div",{onClick:t,style:{display:"flex",alignItems:"center",gap:"6px",marginBottom:e?"10px":"0",cursor:"pointer",userSelect:"none"},children:[c("span",{style:{fontSize:"13px",color:E,fontFamily:wu,fontWeight:600},children:"Transaction Details"}),c(gc,{size:12,color:E,style:{transform:e?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}})]}),e&&b("div",{style:{display:"flex",flexDirection:"column",gap:"7px"},children:[b("div",{children:[b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:{fontSize:"12px",color:E,fontFamily:Hn,fontWeight:500,letterSpacing:"0.03em"},children:"TO"}),b("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[c("span",{style:{fontSize:"13px",color:L,fontFamily:Hn,fontWeight:500},children:U}),c("button",{onClick:()=>{s(_=>!_),!n&&a&&r(a)},style:{background:"none",border:"none",cursor:"pointer",padding:"0",fontSize:"9.5px",fontFamily:Hn,color:E,textDecoration:"underline",fontWeight:600},children:n?"Reset":"Switch"})]})]}),n&&b("div",{style:{marginTop:"6px"},children:[c("div",{style:{marginBottom:"6px",padding:"7px 9px",borderRadius:"6px",border:"1px solid rgba(239, 68, 68, 0.55)",backgroundColor:"rgba(239, 68, 68, 0.12)",color:"#ef4444",fontSize:"10px",lineHeight:1.35,fontFamily:Hn,fontWeight:700,letterSpacing:0,textTransform:"uppercase"},children:"CAUTION: ENTERING AN INCORRECT ADDRESS WILL RESULT IN LOSS OF FUNDS"}),c("input",{type:"text",autoComplete:"off",spellCheck:!1,"aria-label":"Recipient address","aria-invalid":o&&!en(o)?!0:void 0,"data-spiceflow-focus":!0,value:o,onChange:_=>r(_.target.value),placeholder:"0x...",style:{width:"100%",padding:"8px 10px",borderRadius:"6px",border:`1px solid ${o&&!en(o)?I?D.errorBorder:"#fca5a5":I?D.inputBorder:"#d1d5db"}`,backgroundColor:I?D.inputBg:"#f9fafb",color:I?D.inputText:"#111827",fontSize:"12px",fontFamily:Hn,outline:"none",boxSizing:"border-box"}}),o&&!en(o)&&c("span",{style:{fontSize:"11px",color:D.errorText,marginTop:"3px",display:"block"},children:"Invalid address"})]})]}),c(cs,{palette:D,labelColor:E,valueColor:L,label:"RECEIVING CHAIN",value:b("div",{style:{display:"flex",alignItems:"center",gap:"7px"},children:[l&&c("img",{src:l,alt:d,style:{width:"14px",height:"14px",borderRadius:"50%"}}),c("span",{style:{fontSize:"13px",color:L,fontWeight:500,fontFamily:Hn,textTransform:"uppercase"},children:d}),c("button",{ref:p,onClick:_=>{_.stopPropagation(),m(p.current)},style:{background:"none",border:"none",cursor:W?"pointer":"not-allowed",padding:"0",fontSize:"9.5px",fontFamily:Hn,color:E,textDecoration:"underline",fontWeight:600,opacity:W?1:.45},children:"Switch"})]})}),c(cs,{palette:D,labelColor:E,valueColor:L,label:"REQUESTED WITHDRAWAL",value:b(kr,{logo:f||null,alt:h,primaryText:L,children:[g||"0"," ",y]})}),k&&c(cs,{palette:D,labelColor:E,valueColor:L,label:"TOTAL SOURCE DEBIT",value:b(kr,{logo:f||null,alt:h,primaryText:L,children:[w," ",y]})}),c(cs,{palette:D,labelColor:E,valueColor:L,label:"YOU RECEIVE",value:b(kr,{logo:l,alt:d,primaryText:L,gap:"4px",children:[x," ",B]})}),k&&b($t,{children:[c(cs,{palette:D,labelColor:E,label:"EST. NETWORK FEE",valueColor:T?"#f87171":L,value:C?"Estimating...":T?"Unavailable":A!==null&&v?`${Cr(A,v.decimals)} ${v.symbol}`:"Estimating..."}),T&&c(Rn,{variant:"error",size:"compact",palette:D,fontFamily:F?.fontFamily||S.typography.fontFamily,children:T})]})]})]})},ku=tn(Cu),kr=({logo:e,alt:t,primaryText:n,gap:s="6px",children:o})=>b("div",{style:{display:"flex",alignItems:"center",gap:s},children:[e&&c("img",{src:e,alt:t,style:{width:"13px",height:"13px",borderRadius:"50%"}}),c("span",{style:{fontSize:"13px",color:n,fontWeight:500,fontFamily:Hn},children:o})]}),vu=({dark:e,dk:t})=>b("div",{style:{display:"flex",alignItems:"center",gap:"5px"},children:[c("img",{src:xr,alt:"","aria-hidden":"true",style:{width:"13px",height:"13px",flexShrink:0,...e?{filter:"invert(0.6)"}:{}}}),c("p",{style:{fontSize:"13px",color:e?t.textSecondary:"#979AA0",margin:"0",lineHeight:"1.4",fontFamily:Ee.ui},children:"Withdraw collateral from your account to 10+ EVM blockchains."})]}),di=Ee.ui,Iu=({label:e,spiceAssetsLoading:t,totalSelectedBalance:n,dark:s,dk:o})=>{const r=s?o.textSecondary:"#7D7C7B",a=s?o.textSecondary:"#71757A";return b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:{fontFamily:di,fontSize:"17px",fontWeight:500,color:r,lineHeight:"24px"},children:e}),b("div",{style:{display:"flex",alignItems:"center",gap:"6px",fontFamily:di,fontSize:"13px",fontWeight:500,color:a,lineHeight:"16px"},children:["Balance:"," ",t?"...":_n(n)]})]})},ui=({isOpen:e,position:t,title:n,items:s,selectedId:o,onSelect:r,portalAttribute:a})=>{const{dark:i,dk:d,primaryColor:l}=It(),[u,p]=R(null),[m,h]=R(!1);return G(()=>{if(!e){h(!1);return}const f=requestAnimationFrame(()=>{requestAnimationFrame(()=>h(!0))});return()=>cancelAnimationFrame(f)},[e]),!e||!t||s.length===0?null:Po(b("div",{[`data-${a}-popover`]:"true",style:{position:"fixed",top:`${t.top}px`,left:`${t.left}px`,opacity:m?1:0,transform:m?"scale(1) translateY(0)":"scale(0.96) translateY(-6px)",transition:`opacity 200ms ${es.out}, transform 200ms ${es.out}`,backgroundColor:i?d.shell:"#ffffff",borderRadius:"10px",padding:"10px 12px",boxShadow:i?"0 16px 48px rgba(0,0,0,0.45)":"0 12px 32px rgba(0,0,0,0.12)",border:`1px solid ${d.cardBorder}`,minWidth:"220px",zIndex:qn.dropdown,fontFamily:Ee.mono},children:[c("div",{style:{marginBottom:"6px"},children:c("span",{style:{fontSize:"11px",fontWeight:500,color:i?d.textPrimary:"#0e0d0b",textTransform:"uppercase",letterSpacing:"1px"},children:n})}),c("div",{style:{borderBottom:`1px solid ${d.cardBorder}`,marginBottom:"6px"}}),c("div",{style:{display:"flex",flexDirection:"column",gap:"2px"},children:s.map(f=>{const y=o===f.id,g=u===f.id;return b("button",{onClick:w=>{w.stopPropagation(),r(f.id)},onMouseEnter:()=>p(f.id),onMouseLeave:()=>p(null),style:{display:"flex",alignItems:"center",gap:"8px",padding:"6px 4px",borderRadius:"8px",border:"none",cursor:"pointer",backgroundColor:y?i?d.hoverBg:"#f3f4f6":g?i?d.cardBg:"#f9fafb":"transparent",transition:"background-color 0.15s",width:"100%",fontFamily:Ee.mono},children:[f.icon&&c("img",{src:f.icon,alt:f.label,style:{width:"22px",height:"22px",borderRadius:"50%"}}),c("span",{style:{fontSize:"13px",fontWeight:y?700:500,textTransform:"uppercase",color:i?d.textPrimary:"#0e0d0b",letterSpacing:"0.5px",flex:1,textAlign:"left"},children:f.label}),f.detail&&c("span",{style:{fontSize:"11px",fontWeight:500,color:d.textSecondary},children:f.detail}),y&&c(da,{color:l,style:{flexShrink:0}})]},f.id)})})]}),document.body)},Ds=Ee.ui,Au=170,Su=({header:e,amount:t,setAmount:n,isInsufficient:s,sourceAmountDecimals:o,selectedSourceAsset:r,resolvedSelectedSourceAsset:a,spiceAssets:i,setSelectedSourceAsset:d,sourceUsdEstimate:l,sourceTokenLabel:u,sourceChainLabel:p,totalSelectedBalance:m,showSourceTokenPopover:h,setShowSourceTokenPopover:f,tokenPopoverPos:y,setTokenPopoverPos:g,tokenTriggerRef:w,primaryColor:x,dark:B,dk:k})=>{const C=B?k.cardBg:"#E9E9E9",T=B?k.cardBorder:"#C6C6C6",A=B?k.textSecondary:"#71757A",v=B?k.textPrimary:"#0E0D0B",S=B?k.cardBorder:"#C5C5C4",F=B?"rgba(255,255,255,0.08)":"#D4D3D3",I=u.length>8?"14px":u.length>6?"16px":"18px";return b("div",{style:{backgroundColor:C,border:`1px solid ${T}`,borderRadius:"7px",padding:"14px 16px 12px 16px",minHeight:"138px",display:"flex",flexDirection:"column",gap:"6px",position:"relative"},children:[e,b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"12px",flex:1},children:[b("div",{style:{flex:1,minWidth:0,alignSelf:"flex-start",paddingTop:"4px"},children:[c(Zn,{element:"input",ariaLabel:"Withdraw amount",ariaInvalid:s,dataSpiceflowFocus:!0,value:t,onChange:D=>{const E=D.target.value;if(E===""){n("");return}/^\d*\.?\d*$/.test(E)&&n(fs(E.startsWith(".")?`0${E}`:E,o??r?.decimals))},placeholder:"0.0",fontFamily:Ds,color:s?"#ef4444":t?v:"#A8A8A7",lineHeight:"0.95",maxFontSize:54,minFontSize:32,style:{width:"100%"}}),c("div",{style:{fontSize:"12px",fontWeight:500,color:A,fontFamily:Ds,marginTop:"10px"},children:l})]}),c("div",{style:{width:`${Au}px`,flexShrink:0},children:b("div",{style:{backgroundColor:"transparent",border:`1px solid ${S}`,borderRadius:"8px",overflow:"hidden",width:"100%",display:"flex",flexDirection:"column",boxSizing:"border-box"},children:[b("div",{ref:w,onClick:D=>{if(D.stopPropagation(),!h&&w.current){const E=w.current.getBoundingClientRect(),L=220,W=16;g({top:E.bottom+8,left:Math.min(Math.max(W,E.right-L),window.innerWidth-L-W)})}f(E=>!E)},style:{display:"flex",alignItems:"center",gap:"6px",padding:"9px 10px 8px 10px",cursor:"pointer"},children:[c("img",{src:Ko,alt:u,style:{width:"24px",height:"24px",borderRadius:"50%"}}),c("span",{style:{fontSize:I,fontWeight:500,color:v,lineHeight:"1.3",fontFamily:Ds,flex:1,minWidth:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",letterSpacing:0},children:u}),c(Yn,{size:15,color:v,strokeWidth:2.25})]}),c(ui,{isOpen:h,position:y,title:"SELECT TOKEN",portalAttribute:"token",items:(i||[]).map(D=>({id:D.receiptTokenId||D.address,label:D.displaySymbol||D.receiptTokenName||D.symbol,icon:Ko,detail:_n(D.balanceFormatted)})),selectedId:a?.receiptTokenId||a?.address||null,onSelect:D=>{const E=(i||[]).find(L=>(L.receiptTokenId||L.address)===D);E&&(d(E),n("")),f(!1)}}),c("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"5px 10px",backgroundColor:F,borderTop:`1px solid ${S}`},children:c("span",{style:{fontSize:"11px",fontWeight:400,color:v,fontFamily:Ds,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textTransform:"uppercase"},children:p})})]})})]}),b("div",{style:{minHeight:"18px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[s?c("span",{style:{fontSize:"12px",color:k.errorText,fontFamily:Ds,fontWeight:500},children:"Insufficient Balance"}):c("span",{}),c("div",{style:{display:"flex",justifyContent:"flex-end",gap:"0px",minHeight:"32px",marginRight:"-9px"},children:[0,25,50,75,100].map((D,E)=>{const L=E===4,W=parseFloat(t)||0,U=m>0&&Math.abs(W/m*100-D)<1;return c("button",{type:"button","aria-label":`Set amount to ${D}%`,"aria-pressed":U,onClick:()=>{const _=m*D/100,P=r?.decimals??6,N=Math.floor(_*10**P)/10**P;n(D===0?"":N>0?hs(N,P):"")},title:`${D}%`,disabled:m===0,"data-spiceflow-focus":!0,style:{width:"32px",height:"32px",padding:"9px",border:"none",backgroundColor:"transparent",cursor:m===0?"not-allowed":"pointer",opacity:U?1:.5,transition:"opacity 0.15s ease",display:"flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box"},children:c(qo,{pct:D,isMax:L,primaryColor:x,dark:B,fillColor:B?k.textSecondary:"#3C3E42"})},D)})})]})]})},ho=Ee.ui,Eu=Ee.mono,Fu=170,Bu=({header:e,amount:t,receiveAmountDisplay:n,receiveUsdEstimate:s,selectedDestToken:o,destTokenSymbol:r,destChainName:a,destChainLogo:i,compatibleDestinationChains:d,networkSwitchRef:l,onOpenNetworkPopover:u,showNetworkPopover:p,setShowNetworkPopover:m,networkPopoverPos:h,selectedChainId:f,setSelectedChainId:y,dark:g,dk:w})=>{const x=g?w.cardBg:"#E9E9E9",B=g?w.cardBorder:"#C6C6C6",k=g?w.textSecondary:"#71757A",C=g?w.textPrimary:"#0E0D0B",T=g?w.cardBorder:"#C5C5C4",A=g?"rgba(255,255,255,0.08)":"#D4D3D3",v=r.length>8?"14px":r.length>6?"16px":"18px";return b("div",{style:{backgroundColor:x,border:`1px solid ${B}`,borderRadius:"7px",padding:"14px 16px 12px 16px",minHeight:"138px",display:"flex",flexDirection:"column",gap:"6px"},children:[e,b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"12px",flex:1},children:[b("div",{style:{flex:1,minWidth:0,alignSelf:"flex-start",paddingTop:"4px"},children:[c(Zn,{element:"div",value:n,title:n,fontFamily:ho,color:t?C:"#A8A8A7",lineHeight:"0.95",maxFontSize:54,minFontSize:32,overflow:"wrap"}),c("div",{style:{fontSize:"12px",fontWeight:500,color:k,fontFamily:ho,marginTop:"10px"},children:s})]}),b("div",{style:{width:`${Fu}px`,flexShrink:0,display:"flex",flexDirection:"column",alignItems:"stretch",gap:"8px"},children:[b("div",{style:{backgroundColor:"transparent",border:`1px solid ${T}`,borderRadius:"8px",overflow:"hidden",width:"100%",display:"flex",flexDirection:"column",boxSizing:"border-box"},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"6px",padding:"9px 10px 8px 10px"},children:[c("img",{src:o?.logoURI||Ec,alt:r,style:{width:"24px",height:"24px",borderRadius:"50%"}}),c("span",{style:{fontSize:v,fontWeight:500,color:C,lineHeight:"1.3",fontFamily:ho,flex:1,minWidth:0,letterSpacing:0},children:r})]}),b("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"5px 10px",backgroundColor:A,borderTop:`1px solid ${T}`},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[i&&c("img",{src:i,alt:a,style:{width:"13px",height:"13px",borderRadius:"50%",flexShrink:0}}),c("span",{style:{fontSize:"11px",fontWeight:400,color:C,fontFamily:ho,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textTransform:"uppercase"},children:a})]}),c("button",{ref:l,onClick:S=>{S.stopPropagation(),u(l.current)},style:{background:"none",border:"none",cursor:d.length>1?"pointer":"not-allowed",padding:"0 0 0 8px",fontSize:"9.5px",fontFamily:Eu,color:k,textDecoration:"underline",fontWeight:600,opacity:d.length>1?1:.45},children:"Switch"}),c(ui,{isOpen:p,position:h,title:"SELECT NETWORK",portalAttribute:"network",items:d.map(S=>{const F=Ue(S);return{id:String(S),label:F?.displayName||String(S),icon:Ln[S]||Cs}}),selectedId:f!==null?String(f):null,onSelect:S=>{y(Number(S)),m(!1)}})]})]}),c("div",{style:{minHeight:"14px"}})]})]})]})};function pi(e){const t=new Set(rc(e).map(n=>n.toLowerCase()));return t.add(e.toLowerCase()),t}const Tu=["USDC","USDT","WETH","WBTC"];function mi(e,t){const n=Ue(t);if(!n)return;if(n.nativeCurrency.symbol.toUpperCase()===e.toUpperCase())return{address:Zt,symbol:n.nativeCurrency.symbol,decimals:n.nativeCurrency.decimals,chainId:t};const s=n.supportedTokens?.find(o=>o.symbol.toUpperCase()===e.toUpperCase());if(s)return{address:s.address.toLowerCase(),symbol:s.symbol,decimals:s.decimals,chainId:t}}function Mn(e,t,n){const s=Ue(t);if(!s)return;if(n!==void 0){if(pe(e)&&!ht(e,n))return;const a=nr(e,n,t);return a?{address:a.address.toLowerCase(),symbol:a.symbol,decimals:a.decimals,chainId:t}:void 0}if(pe(e))return;const o=pi(e),r=s.supportedTokens?.find(a=>o.has(a.address.toLowerCase()));if(r)return{address:r.address.toLowerCase(),symbol:r.symbol,decimals:r.decimals,chainId:t}}function Du(e){const{sourceAsset:t,outputAsset:n,sourceChainId:s,destinationChainId:o,intermediaryCandidates:r=Tu}=e;if(no(t,n))return{strategy:"direct",sourceAsset:t,outputAsset:n,sourceChainId:s,destinationChainId:o,summary:`${t.symbol} fronted directly`};if(s===o&&(pe(t.address)||!ht(t.address,s)))return{strategy:"direct-swap",sourceAsset:t,outputAsset:n,sourceChainId:s,destinationChainId:o,summary:`${t.symbol} \u2192 ${n.symbol} on chain ${s}, no escrow`};if(Mn(t.address,o,s))return{strategy:"direct",sourceAsset:t,outputAsset:n,sourceChainId:s,destinationChainId:o,summary:`${t.symbol} fronted on destination, swapped to ${n.symbol}`};if(Mn(n.address,s,o))return{strategy:"source-swap",sourceAsset:t,outputAsset:n,sourceChainId:s,destinationChainId:o,summary:`${t.symbol} \u2192 ${n.symbol} on source chain, then fronted`};for(const a of r){const i=mi(a,s);if(!i||no(t,i)||no(n,i))continue;const d=mi(a,o);if(d&&no(i,d))return{strategy:"intermediary",sourceAsset:t,outputAsset:n,intermediaryAsset:d,sourceChainId:s,destinationChainId:o,summary:`${t.symbol} \u2192 ${a} on source, fronted, then ${a} \u2192 ${n.symbol} on destination`}}throw new je("ROUTE_STRATEGY_ERROR",`No viable cross-chain route found from ${t.symbol} (chain ${s}) to ${n.symbol} (chain ${o}). No intermediary asset is available on both chains.`,{sourceAsset:t.symbol,outputAsset:n.symbol,sourceChainId:s,destinationChainId:o,candidatesChecked:r})}async function Ru(e){const{route:t,sourceAmount:n,userAddress:s,registry:o,actionCalls:r,slippage:a}=e;async function i(d,l,u,p){const m=await o.resolveSwap({type:"swap",tokenIn:l,tokenOut:u,amountIn:p,maxSlippage:a},d,s);if(!m)throw new je("NO_LIQUIDITY",`No venue returned a quote for ${l} \u2192 ${u} on chain ${d}. No liquidity available for this pair.`,{chainId:d,tokenIn:l,tokenOut:u,amountIn:p.toString()});return m}switch(t.strategy){case"direct-swap":{const d=await i(t.destinationChainId,t.sourceAsset.address,t.outputAsset.address,n);return{chainBatches:[{chainId:t.destinationChainId,calls:[...d.calls,...r]}],solverFrontToken:t.outputAsset,solverFrontAmount:0n,resolvedSwaps:{sourceSwap:d}}}case"direct":{const d=Mn(t.sourceAsset.address,t.destinationChainId,t.sourceChainId)||t.sourceAsset;if(pi(d.address).has(t.outputAsset.address.toLowerCase()))return{chainBatches:[{chainId:t.destinationChainId,calls:r}],solverFrontToken:d,solverFrontAmount:n,resolvedSwaps:{}};const l=await i(t.destinationChainId,d.address,t.outputAsset.address,n);return{chainBatches:[{chainId:t.destinationChainId,calls:[...l.calls,...r]}],solverFrontToken:d,solverFrontAmount:n,resolvedSwaps:{destinationSwap:l}}}case"source-swap":{const d=Mn(t.outputAsset.address,t.sourceChainId,t.destinationChainId);if(!d)throw new je("ROUTE_TOKEN_NOT_FOUND",`Output asset ${t.outputAsset.symbol} (${t.outputAsset.address}) not found on source chain ${t.sourceChainId}`,{token:t.outputAsset.symbol,address:t.outputAsset.address,chainId:t.sourceChainId,side:"source"});const l=Mn(t.outputAsset.address,t.destinationChainId,t.destinationChainId);if(!l)throw new je("ROUTE_TOKEN_NOT_FOUND",`Output asset ${t.outputAsset.symbol} (${t.outputAsset.address}) not found on destination chain ${t.destinationChainId}`,{token:t.outputAsset.symbol,address:t.outputAsset.address,chainId:t.destinationChainId,side:"destination"});const u=await i(t.sourceChainId,t.sourceAsset.address,d.address,n);return{chainBatches:[{chainId:t.sourceChainId,calls:u.calls},{chainId:t.destinationChainId,calls:r}],solverFrontToken:l,solverFrontAmount:u.amountOutMinimum,resolvedSwaps:{sourceSwap:u}}}case"intermediary":{if(!t.intermediaryAsset)throw new je("ROUTE_STRATEGY_ERROR","Intermediary strategy requires an intermediary asset but none was provided in the route plan.",{strategy:t.strategy});const d=Mn(t.intermediaryAsset.address,t.sourceChainId,t.destinationChainId);if(!d)throw new je("ROUTE_TOKEN_NOT_FOUND",`Intermediary ${t.intermediaryAsset.symbol} (${t.intermediaryAsset.address}) not found on source chain ${t.sourceChainId}`,{token:t.intermediaryAsset.symbol,address:t.intermediaryAsset.address,chainId:t.sourceChainId,side:"source"});const l=await i(t.sourceChainId,t.sourceAsset.address,d.address,n),u=await i(t.destinationChainId,t.intermediaryAsset.address,t.outputAsset.address,l.amountOutMinimum);return{chainBatches:[{chainId:t.sourceChainId,calls:l.calls},{chainId:t.destinationChainId,calls:[...u.calls,...r]}],solverFrontToken:t.intermediaryAsset,solverFrontAmount:l.amountOutMinimum,resolvedSwaps:{sourceSwap:l,destinationSwap:u}}}default:throw new je("ROUTE_STRATEGY_ERROR",`Unknown route strategy: ${t.strategy}`,{strategy:t.strategy})}}function Wu(e,t,n){if(!e||!t)return null;const s=to(e,t),o=Object.entries(e.chainTokens??{}).flatMap(([p,m])=>{const h=Tn(p);return h?.chainId===t?[{parsed:h,detail:m}]:[]}),r=p=>n.find(m=>Fe(m.address,p))??null,a=p=>{const m=o.find(({parsed:y})=>Fe(y.address,p));if(!m)return null;const h=Ue(t);if(pe(p))return h?{address:Zt,symbol:h.nativeCurrency.symbol,name:h.nativeCurrency.name,decimals:h.nativeCurrency.decimals,logoURI:e.logoURI}:null;const f=h?.supportedTokens?.find(y=>Fe(y.address,p));return!f||!tr(e,p,t)?null:{address:m.parsed.address,symbol:f.symbol,name:f.name||m.detail?.name||e.displayName||e.name||e.symbol,decimals:f.decimals,logoURI:f.logo||e.logoURI}},i=o.map(({parsed:p})=>p.address).filter(pe);for(const p of[...s,...i]){if(pe(p)){const f=a(p);if(f)return f}const m=r(p);if(m)return m;const h=a(p);if(h)return h}if(e.chainTokens||e.receiptTokenId)return null;const d=gn(e,t);if(d){const p=r(d);if(p)return p}const l=Mn(e.address,t,e.chainId);return l?r(l.address)||(n.length>0?null:{address:l.address,symbol:l.symbol||e.symbol,name:e.displayName||e.name||e.symbol,decimals:l.decimals??e.decimals,logoURI:e.logoURI}):null}const Mu=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,styles:s,onWithdrawExecute:o,onWithdrawSuccess:r,onWithdrawError:a,availableTokens:i,initialSourceAssetId:d,buildSpicenetBatch:l})=>{const u=Yt(zt);if(!u)return c("div",{children:"Error: SpiceWithdraw must be used within SpiceFlowProvider"});const p=u.mode||"7702",m=p==="presign"||p==="ondemand",h=u.supportedChainIds,f=u.allowedTokens,y=u.isWhitelistGateActive,{theme:g,dark:w,dk:x}=It(s),B=u.network,k=()=>m?"select":"provider-login",[C,T]=R(k()),[A,v]=R(!1),[S,F]=R(null),[I,D]=R(null),[E,L]=R(""),[W,U]=R(!1),[_,P]=R(!1),[N,O]=R(!1),[j,q]=R(""),[H,V]=R(!0),M=X(null),oe=X(null),Ce=X(null),[Q,$]=R(null),[ie,fe]=R(null),de=En(),{isReady:Ve,isAuthenticated:z,address:le}=de,te=u?.embeddedWalletAddress,{address:me,chainId:ve}=Mo(),[K,ae]=R(!1),[Z,ye]=R(null),Qe=X(a);Qe.current=a;const xe=ne(ue=>{ye(ue),typeof ue=="string"&&ue&&Qe.current?.(ue,gs(ue))},[]),[gt,dt]=R(null),tt=X(null),ut=X(!0),_e=X(null);G(()=>(ut.current=!0,()=>{ut.current=!1}),[]);const{execute:vt,estimate:yt}=ls(),[Te,Ke]=R(null),[pt,se]=R(null),[at,At]=R(!1),[mt,nt]=R(null),{assets:Mt,loading:Re,error:Me,refetch:he}=Ts({address:te,enabled:e&&!!te,refetchInterval:3e4,priceEnabled:e}),Ne=J(()=>{if(y)return[];const ue=(Se,Pe)=>(Pe.balanceUsd||0)-(Se.balanceUsd||0);if(!f||f.length===0)return[...Mt||[]].sort(ue);const ee=new Set(f.map(Se=>Se.toLowerCase()));return(Mt||[]).filter(Se=>[Se.symbol,Se.displaySymbol,Se.receiptTokenName].some(Pe=>typeof Pe=="string"&&ee.has(Pe.toLowerCase()))).sort(ue)},[Mt,f,y]),He=J(()=>[...new Set([...h??[],...Object.keys(i??{}).map(Number),...(Ne||[]).map(ue=>ue.chainId),...(Ne||[]).flatMap(ue=>Object.keys(ue.chainTokens??{}).map(ee=>{const[,Se]=ee.split(":"),Pe=Number(Se);return Number.isFinite(Pe)?Pe:null}).filter(ee=>ee!==null))])].filter(ue=>Ue(ue)?.network===B),[h,i,Ne,B]),xt=J(()=>{if(i)return i;const ue={};for(const ee of Ne||[]){const Se=Object.entries(ee.chainTokens??{});if(Se.length>0){for(const[Pe,Tt]of Se){const[st,ke,Dt]=Pe.split(":");if(st!=="evm"||!ke||!Dt)continue;const lt=Number(ke);if(!Number.isFinite(lt))continue;const jt=Dt.startsWith("0x")?Dt.toLowerCase():`0x${Dt.toLowerCase()}`,ot=Ue(lt)?.supportedTokens?.find(_t=>Fe(_t.address,jt));ot&&tr(ee,jt,lt)&&(ue[lt]||(ue[lt]=[]),ue[lt].find(_t=>Fe(_t.address,jt))||ue[lt].push({address:jt,symbol:ot?.symbol||Tt?.name||ee.symbol,name:ot?.name||Tt?.name||ee.displayName||ee.name||ee.symbol,decimals:ot?.decimals??Tt?.decimals??ee.decimals,logoURI:ot?.logo||ee.logoURI}))}continue}ue[ee.chainId]||(ue[ee.chainId]=[]),ue[ee.chainId].find(Pe=>Fe(Pe.address,ee.address))||ue[ee.chainId].push({address:ee.address,symbol:ee.symbol,name:ee.displayName||ee.name||ee.symbol,decimals:ee.decimals,logoURI:ee.logoURI})}return ue},[i,Ne]),Ut=ne((ue,ee)=>Wu(ue,ee,ee?xt[ee]??[]:[]),[xt]),Ae=J(()=>{if(!S)return null;const ue=S.receiptTokenId||`${S.chainId}:${S.address.toLowerCase()}`;return Ne.find(ee=>(ee.receiptTokenId||`${ee.chainId}:${ee.address.toLowerCase()}`)===ue)||null},[S,Ne]),Je=J(()=>{if(!Ae)return[];const ue=Object.keys(Ae.chainTokens??{}).map(ee=>Tn(ee)?.chainId??null).filter(ee=>ee!==null);return Array.from(new Set([...ue,Ae.chainId,...He].filter(Number.isFinite))).filter(ee=>ee!==1&&Ue(ee)?.network===B&&Ut(Ae,ee)!==null)},[Ae,He,Ut,B]),Xt=J(()=>{if(!Ae||typeof window>"u")return null;const ue=`spiceflow:withdraw-chain:${Ae.receiptTokenId||Ae.address.toLowerCase()}`,ee=window.localStorage.getItem(ue),Se=ee?Number(ee):null;return Se!==null&&Number.isFinite(Se)&&Je.includes(Se)?Se:null},[Ae,Je]),yn=J(()=>Ae?Xt!==null?Xt:ve&&Je.includes(ve)?ve:Ae.chainId&&Je.includes(Ae.chainId)?Ae.chainId:Je[0]??null:He[0]??null,[Ae,Xt,ve,Je,He]),We=J(()=>Ut(Ae,I),[Ut,Ae,I]);G(()=>{e&&(F(null),L(""))},[e,d]),G(()=>{if(!e||!Ne.length||S)return;const ue=d?Ne.find(ee=>ee.receiptTokenId===d):Ne[0];F(ue??null),L("")},[e,Ne,S,d]),G(()=>{Ae&&(I===null||!Je.includes(I))&&D(yn)},[Ae,I,yn,Je]),G(()=>{if(!W&&!_)return;const ue=ee=>{const Se=ee.target;W&&!M.current?.contains(Se)&&!oe.current?.contains(Se)&&!Se?.closest?.("[data-network-popover]")&&U(!1),_&&!Ce.current?.contains(Se)&&!Se?.closest?.("[data-token-popover]")&&P(!1)};return document.addEventListener("mousedown",ue),()=>document.removeEventListener("mousedown",ue)},[W,_]);const ce=ne(ue=>{if(!ue||Je.length<=1)return;const ee=ue.getBoundingClientRect(),Se=220,Pe=16;$({top:ee.bottom+8,left:Math.min(Math.max(Pe,ee.right-Se),window.innerWidth-Se-Pe)}),U(Tt=>!Tt)},[Je.length]),et=ne(()=>V(ue=>!ue),[]);G(()=>{if(!Ae||I===null||typeof window>"u")return;const ue=`spiceflow:withdraw-chain:${Ae.receiptTokenId||Ae.address.toLowerCase()}`;window.localStorage.setItem(ue,String(I))},[Ae,I]);const Ie=N&&j&&en(j)?j:me||te,St=Ae?.balanceFormatted??0,Gt=Ae?.displaySymbol||Ae?.receiptTokenName||Ae?.symbol||"Select token",Bt=Ae?.displayChainName||"Spicenet",Be=Ae?.receiptTokenDecimals??Ae?.decimals,qe=J(()=>{if(!We||!Be)return 0n;try{return $e(E||"0",Be)}catch{return 0n}},[E,We,Be]),it=J(()=>!We||!Be?0n:ri(qe,Be,We.decimals),[We,Be,qe]),Ye=J(()=>{const ue=pt??Te;return!ue||ue<=0n||!We||!Be?0n:ri(ue,We.decimals,Be)},[pt,Te,We,Be]),bt=J(()=>qe+Ye,[qe,Ye]),Pt=pt??Te,ze=ne(ue=>{if(!I||!We)return[];if(qe===0n||it===0n||!Ie)return[];const ee=Array.isArray(ue)?ue.filter(st=>st.amount>0n):[{token:We.address,recipient:Ie,amount:ue??it}],Se=ee.reduce((st,ke)=>st+ke.amount,0n);if(Se<=0n)return[];const Pe={chainId:I,calls:[],tokenTransfers:ee.map(st=>({from:"escrow",to:st.recipient,token:st.token,amount:st.amount}))};if(!l)return[Pe];const Tt=l({destinationChainId:I,deliveryToken:We.address,deliveryAmount:Se,deliveryRecipient:Ie,deliveryTransfers:ee,requestTimestampMs:_e.current??Date.now()});return Tt?[Tt,Pe]:[Pe]},[I,We,qe,it,Ie,l]),Et=J(()=>ze(),[ze]),Vt=J(()=>pu(Et,We?.address),[Et,We?.address]),Lt=X(null),Ft=e&&!m&&!K&&!!We&&!!I&&qe!==0n;_s({shouldRun:Ft&&Et.length>0&&!!Vt,deps:[Ft,Et.length>0,Vt],delayMs:500,onSkip:()=>{Lt.current=null,Ke(null),nt(null),At(Ft&&Et.length===0)},onCleanup:()=>At(!1),run:async({isCurrent:ue,signal:ee})=>{const Se=Vt;At(!0),nt(null);try{const Pe=await bu({batches:Et,tokenAddress:We.address,chainId:I,estimate:yt,signal:ee});if(!ue())return;Lt.current={key:Se,quote:Pe},Ke(Pe.gasFee)}catch(Pe){if(!ue())return;Lt.current=null,Ke(null),nt(Pe instanceof Error?Pe.message:"Failed to estimate gas fee")}finally{ue()&&At(!1)}}}),G(()=>{K||se(null)},[K,E,I,We?.address]);const wt=ne(()=>{v(!0),T("select")},[]),sn=ne(()=>{t()},[t]),Qt=X(null);Qt.current={batches:Et,walletAddress:le,recipient:Ie,token:We,chainId:I,amount:E,receiveAmountRaw:it,gasFee:Te,feeEstimate:Vt&&Lt.current?.key===Vt?Lt.current.quote.feeEstimate:null,isNon7702:m,buildWithdrawBatches:ze,execution:{estimate:yt,execute:vt},ui:{setIsExecuting:ae,setExecutionError:xe,setExecutionProgress:dt,setLockedGasFee:se},executionContextRef:tt,isMountedRef:ut,onWithdrawExecute:o,onWithdrawSuccess:r,buildSpicenetBatch:l};const cn=ne(()=>(_e.current=Date.now(),li(Qt.current)),[]),xn=ne(()=>(_e.current=Date.now(),xu(Qt.current)),[]);if(G(()=>{if(!e){const ue=setTimeout(()=>{T(k()),v(!1),F(null),D(null),L(""),U(!1),P(!1),O(!1),q(""),ae(!1),xe(null),dt(null),tt.current=null},300);return()=>clearTimeout(ue)}},[e,m]),G(()=>{if(!m&&e&&C==="provider-login"&&Ve&&z&&te&&!A){const ue=setTimeout(()=>{v(!0),T("select")},100);return()=>clearTimeout(ue)}},[m,e,C,Ve,z,te,A]),!e)return null;if(C==="provider-login"&&!m)return c(br,{onAuthSuccess:wt,autoTrigger:!0});if(C==="select"){const ue=parseFloat(E)||0,ee=Be?Cr(bt,Be):E||"0",Se=parseFloat(ee)||0,Pe=Se>0&&Se>St,Tt=(I?Ue(I):null)?.displayName||"Network",st=I?Ln[I]||Cs:null,ke=We?.symbol||"\u2014",Dt=Gt,lt=We?Cr(it,We.decimals):"0",jt=Ae&&Ae.balanceFormatted>0?Ae.balanceUsd/Ae.balanceFormatted:void 0,ot=Ae?.priceStatus==="stale",_t=ai(ue,jt,ot),Rt=ai(parseFloat(lt)||0,jt,ot),dn=!N||!j||en(j),un=!m&&ue>0&&We!==null,re=!un||Te!==null&&!at&&!mt,Oe=ue>0&&!Pe&&!Re&&!Me&&Ae!==null&&I!==null&&We!==null&&Ie&&dn&&re&&it>0n,Ct=!Oe,Wt=Re?"LOADING BALANCES":Me?"BALANCES UNAVAILABLE":Ae===null?"NO BALANCE":ue===0?"ENTER AMOUNT":Pe?"INSUFFICIENT BALANCE":un&&!re?mt?"GAS UNAVAILABLE":"ESTIMATING GAS":un&&it===0n?"AMOUNT TOO SMALL":"WITHDRAW",Nt=!!gt&&(gt.step==="success"||gt.step==="error"),pn=s?.primaryColor||g.colors.primary,An=402,qt=bn=>c(Iu,{label:bn,spiceAssetsLoading:Re,totalSelectedBalance:St,dark:w,dk:x});return c(hn,{isOpen:!0,onClose:sn,title:"Withdraw",subtitle:c(vu,{dark:w,dk:x}),styles:s,theme:g,dark:w,maxWidth:"486px",footerLinkText:"Spicenet accounts \u2192",overlayDimmed:!1,closeOnBackdropClick:n,overlayContent:Nt?c("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",justifyContent:"flex-end",pointerEvents:"none",zIndex:20},children:c("div",{style:{pointerEvents:"auto"},children:c(wr,{type:"withdraw",isOpen:!0,isProcessing:K,onRetryTx:()=>{xn()},onNewTx:()=>{dt(null),L(""),xe(null),tt.current=null},onClose:()=>{dt(null),xe(null),ae(!1),tt.current=null},onComplete:()=>{dt(null),xe(null),ae(!1),tt.current=null},results:[{asset:{symbol:We?.symbol||"Token",address:We?.address||""},txHash:gt?.txHash||"",success:gt?.step==="success",error:gt?.error,amount:E}],chainId:I??void 0,theme:g})})}):null,children:b("div",{style:{width:`${An}px`,margin:"0 auto",padding:"0 0 4px 0",position:"relative"},children:[b("div",{style:{marginTop:"16px",marginBottom:"16px",display:"flex",flexDirection:"column",gap:"16px"},children:[c(Su,{header:qt("Source"),amount:E,setAmount:L,isInsufficient:Pe,sourceAmountDecimals:Be,selectedSourceAsset:Ae,resolvedSelectedSourceAsset:Ae,spiceAssets:Ne,setSelectedSourceAsset:F,sourceUsdEstimate:_t,sourceTokenLabel:Dt,sourceChainLabel:Bt,totalSelectedBalance:St,showSourceTokenPopover:_,setShowSourceTokenPopover:P,tokenPopoverPos:ie,setTokenPopoverPos:fe,tokenTriggerRef:Ce,primaryColor:pn,dark:w,dk:x}),c(Bu,{header:qt("Destination"),amount:E,receiveAmountDisplay:lt,receiveUsdEstimate:Rt,selectedDestToken:We,destTokenSymbol:ke,destChainName:Tt,destChainLogo:st,compatibleDestinationChains:Je,networkSwitchRef:M,onOpenNetworkPopover:ce,showNetworkPopover:W,setShowNetworkPopover:U,networkPopoverPos:Q,selectedChainId:I,setSelectedChainId:D,dark:w,dk:x})]}),b("div",{style:{marginBottom:g.spacing.sm},children:[c(ku,{show:H,onToggle:et,showCustomAddress:N,setShowCustomAddress:O,customRecipient:j,setCustomRecipient:q,externalAddress:me,recipientAddress:Ie,destChainName:Tt,destChainLogo:st,compatibleDestinationChains:Je,txDetailsChainSwitchRef:oe,onOpenNetworkPopover:ce,sourceChainLabel:Bt,sourceDetailsLogo:Ko,sourceTokenLabel:Dt,amount:E,totalSourceDebitDisplay:ee,receiveAmountDisplay:lt,destTokenSymbol:ke,shouldQuoteWithdrawGas:un,estimatingFee:at,feeError:mt,displayedGasFee:Pt,selectedDestToken:We,theme:g,styles:s,dark:w,dk:x}),Ae&&!Re&&Je.length===0&&c(Rn,{variant:"warning",size:"compact",palette:x,children:"No withdrawal networks are available for this asset."}),Z&&c(Rn,{variant:"error",size:"compact",palette:x,fontFamily:s?.fontFamily||g.typography.fontFamily,style:{marginBottom:"12px"},children:Z}),Me&&b(Rn,{variant:"error",size:"compact",palette:x,children:["Unable to load balances. Please try again."," ",c("button",{type:"button",onClick:()=>void he(),children:"Retry"})]}),c(Ot,{variant:"outline",fullWidth:!0,onClick:()=>{Oe&&cn()},disabled:Ct||K,theme:g,dark:w,styles:s,style:{marginTop:"8px"},children:K?"EXECUTING...":Wt})]})]})})}return null},Nu=Mu;async function fi(e,t,n){if(n)return{decimals:n.decimals,symbol:n.symbol,name:n.name,logoURI:n.logo};const[s,o,r]=await Promise.all([Pn(e,{address:t,abi:Le,functionName:"decimals"}).catch(()=>18),Pn(e,{address:t,abi:Le,functionName:"symbol"}).catch(()=>"TOKEN"),Pn(e,{address:t,abi:Le,functionName:"name"}).catch(()=>"TOKEN")]);return{decimals:Number(s),symbol:o,name:r,logoURI:void 0}}function hi(e,t,n){return Fe(e.address,t)&&e.chainId===n?e._source==="wallet"?0:1:2}function gi(e,t,n,s){const o=hi(e,n,s)-hi(t,n,s);return o!==0?o:(t.balanceUsd||0)-(e.balanceUsd||0)}function go(e,t){return!t||t.length===0||t.some(n=>Fe(n,e.address))?!0:Object.keys(e.chainTokens??{}).some(n=>{const s=Tn(n);return s?t.some(o=>Fe(o,s.address)):!1})}function Ou(e,t,n){return e._source!=="wallet"?!0:e.chainId===t&&go(e,n)}function Uu(e,t,n){if(e._source!=="wallet")return!0;const s=e.chainId===t.chainId;return s&&Fe(e.address,t.address)?!0:go(e,n)?s?!0:!!ht(e.address,e.chainId)&&!!nr(e.address,e.chainId,t.chainId):!1}function vr(e,t,n){let{symbol:s,name:o,logoURI:r}=t;const a=Fe(e.address,n.address)&&e.chainId===n.chainId;a&&n.logoURI&&(r=n.logoURI),a&&!e.configToken&&s==="TOKEN"&&(s=n.symbol,o=n.symbol);const i=parseFloat((Number(t.balance)/Math.pow(10,t.decimals)).toFixed(6));return{address:e.address,name:o,symbol:s,decimals:t.decimals,balance:t.balance,balanceFormatted:i,balanceUsd:0,logoURI:r,isNative:pe(e.address),chainId:e.chainId}}function yi(e){const{destinationToken:t,supportedSourceAssets:n,sourceChains:s,enabled:o}=e,r=Yt(zt),a=(r?.mode||"7702")!=="7702",i=r?.embeddedWalletAddress,{externalAddress:d,embeddedAddress:l,activeAddress:u}=ns(),p=i||l,{assets:m,refetch:h}=Ts({address:p,supportedChains:s,enabled:o&&!a&&!!p,refetchInterval:3e4}),f=J(()=>a?[]:m.filter(E=>go(E,n)),[m,n,a]),y=a?u??d:i,g=J(()=>a&&s&&s.length>0?s:[t.chainId],[a,s,t.chainId]),w=a?y:p,x=o&&!!w&&!r?.isWhitelistGateActive,{assets:B}=as({address:x?w:void 0,supportedChains:g,fetchBalances:rs,enabled:x,refreshInterval:3e4}),k=J(()=>{const E=new Set,L=[],W=U=>{if(!U)return;const _=U.toLowerCase();E.has(_)||(E.add(_),L.push(kt(U)))};if(W(t.address),n)for(const U of n)W(U);return L},[a,t.address,n]),C=J(()=>k.map(E=>E.toLowerCase()).sort().join(","),[k]),T=J(()=>JSON.stringify([...s||[]].sort()),[s]),[A,v]=R([]),S=X(0),F=X(async()=>{}),I=ne(async()=>{if(!o||!y||k.length===0){S.current++,v([]);return}const E=++S.current,L=kt(y),W=a?s&&s.length>0?s:[t.chainId]:[t.chainId],U=[];for(const O of k){const j=O.toLowerCase();if(j===Zt)continue;if(pe(j)){const H=Fe(j,t.address)&&!W.includes(t.chainId)?[t.chainId,...W]:W;for(const V of H){const M=Ue(V)?.supportedTokens?.find(oe=>pe(oe.address));M&&U.push({address:O,chainId:V,configToken:{decimals:M.decimals,symbol:M.symbol,name:M.name,logo:M.logo}})}continue}if(j===t.address.toLowerCase()){const H=Ue(t.chainId)?.supportedTokens?.find(V=>Fe(V.address,j));U.push({address:O,chainId:t.chainId,configToken:H?{decimals:H.decimals,symbol:H.symbol,name:H.name,logo:H.logo}:void 0});continue}let q=!1;for(const H of W){const V=Ue(H)?.supportedTokens?.find(M=>Fe(M.address,j));if(V){U.push({address:O,chainId:H,configToken:{decimals:V.decimals,symbol:V.symbol,name:V.name,logo:V.logo}}),q=!0;break}}q||U.push({address:O,chainId:t.chainId})}const _=new Map;for(const O of U){const j=_.get(O.chainId)||[];j.push(O),_.set(O.chainId,j)}const P=async(O,j)=>{try{const q=await Pn(O,{address:j.address,abi:Le,functionName:"balanceOf",args:[L]}),{decimals:H,symbol:V,name:M,logoURI:oe}=await fi(O,j.address,j.configToken);return vr(j,{decimals:H,symbol:V,name:M,logoURI:oe,balance:q},t)}catch{return null}},N=await Promise.all(Array.from(_.entries()).map(async([O,j])=>{let q;try{q=ft(O)}catch{return[]}const H=j.filter(ie=>pe(ie.address)),V=j.filter(ie=>!pe(ie.address)),M=await Promise.all(H.map(async ie=>{const fe=await q.getBalance({address:L}).catch(()=>0n),de=Ue(O)?.nativeCurrency;return vr(ie,{decimals:ie.configToken?.decimals??de?.decimals??18,symbol:ie.configToken?.symbol??de?.symbol??"ETH",name:ie.configToken?.name??de?.name??"Ether",logoURI:ie.configToken?.logo,balance:fe},t)}));if(V.length===0)return M;const oe=[],Ce=[];for(const ie of V){const fe=oe.length;oe.push({address:ie.address,abi:Le,functionName:"balanceOf",args:[L]}),ie.configToken||oe.push({address:ie.address,abi:Le,functionName:"decimals"},{address:ie.address,abi:Le,functionName:"symbol"},{address:ie.address,abi:Le,functionName:"name"}),Ce.push({start:fe,item:ie})}let Q=null;try{Q=await q.multicall({contracts:oe})}catch{Q=null}if(Q){const ie=Ce.map(({start:fe,item:de})=>{const Ve=Q[fe],z=Ve?.status==="success"?Ve.result:0n;let le,te,me,ve;if(de.configToken)le=de.configToken.decimals,te=de.configToken.symbol,me=de.configToken.name,ve=de.configToken.logo;else{const K=Q[fe+1],ae=Q[fe+2],Z=Q[fe+3];le=K?.status==="success"?Number(K.result):18,te=ae?.status==="success"?ae.result:"TOKEN",me=Z?.status==="success"?Z.result:te}return vr(de,{decimals:le,symbol:te,name:me,logoURI:ve,balance:z},t)});return[...M,...ie]}const $=await Promise.all(V.map(ie=>P(q,ie)));return[...M,...$.filter(ie=>ie!==null)]}));E===S.current&&v(N.flat())},[o,a,y,C,T,t.address,t.chainId,t.symbol,t.logoURI]);G(()=>{F.current=I},[I]),G(()=>{if(!o){v([]);return}F.current();const E=setInterval(()=>{F.current()},15e3);return()=>clearInterval(E)},[o,a,y,C,T,t.address,t.chainId]);const D=ne(()=>{I()},[I]);return{displayAssets:J(()=>{const E=[],L=new Set,W=N=>`${N.chainId}:${Xe(N.address).toLowerCase()}`,U=new Map(B.map(N=>[W(N),N.balanceUsd||0])),_=N=>{const O=W(N);L.has(O)||(L.add(O),E.push({...N,balanceUsd:N.balanceUsd||U.get(O)||0,_source:"wallet"}))};for(const N of A)N.balance>0n&&_(N);for(const N of B)N.balance>0n&&_(N);for(const N of f)E.push({...N,_source:"spice"});const P=t.address.toLowerCase();return E.sort((N,O)=>gi(N,O,P,t.chainId)),E},[A,B,f,t.address,t.chainId]),filteredSpiceAssets:f,walletAssets:A,embeddedWalletAddress:p,externalAddress:d,isNon7702:a,refreshSpiceAssets:h,refreshWalletAssets:D}}const Pu=async e=>{if(e.length===0)return e;const t=new Map;for(const s of e){const o=t.get(s.chainId)??[];o.push(s.address),t.set(s.chainId,o)}const n=new Map(await Promise.all(Array.from(t.entries()).map(async([s,o])=>[s,await kc(s,o)])));return e.map(s=>{const o=n.get(s.chainId)?.get(s.address.toLowerCase());return o?{...s,balanceUsd:o*s.balanceFormatted}:s})};function Lu(e){const{isOpen:t,includeWalletAssets:n,isWhitelistGateActive:s,isSemi7702:o,destinationTokenAddress:r,sourceAssets:a,sourceChains:i,walletAddressForAssets:d,lockChainId:l,lockTokenSymbol:u,lockTokenLogoURI:p}=e,m=J(()=>{if(!n)return[];if(s)return r?[kt(r)]:[];const v=new Set,S=[],F=I=>{if(!I)return;const D=I.toLowerCase();v.has(D)||(v.add(D),S.push(kt(I)))};r&&F(r);for(const I of a)F(I);return S},[n,o,r,a,s]),h=J(()=>m.map(v=>v.toLowerCase()).sort().join(","),[m]),f=J(()=>JSON.stringify([...i||[]].sort()),[i]),[y,g]=R([]),w=X(0),x=X(async()=>{}),B=ne(async()=>{if(!n||!d||m.length===0){w.current++,g([]);return}const v=++w.current,S=kt(d),F=o?i&&i.length>0?i:[l]:[l],I=m.map(P=>{const N=P.toLowerCase();if(r&&Fe(P,r)){const O=Ue(l)?.supportedTokens?.find(j=>Fe(j.address,N));return{address:P,chainId:l,configToken:O?{decimals:O.decimals,symbol:O.symbol,name:O.name,logo:O.logo}:void 0}}for(const O of F){const j=Ue(O)?.supportedTokens?.find(q=>Fe(q.address,N));if(j)return{address:P,chainId:O,configToken:{decimals:j.decimals,symbol:j.symbol,name:j.name,logo:j.logo}}}return{address:P,chainId:l}}),D=new Map;for(const P of I){const N=D.get(P.chainId)||[];N.push(P),D.set(P.chainId,N)}const E=(P,N)=>{let{symbol:O,name:j,logoURI:q}=N;const H=!!r&&Fe(P.address,r)&&P.chainId===l;return H&&p&&(q=p),H&&u&&!P.configToken&&(O==="TOKEN"&&(O=u),j==="TOKEN"&&(j=u)),{symbol:O,name:j,logoURI:q}},L=(P,N,O,j)=>{const q=E(P,j),H=parseFloat((Number(N)/Math.pow(10,O)).toFixed(6));return{address:P.address,name:q.name,symbol:q.symbol,decimals:O,balance:N,balanceFormatted:H,balanceUsd:0,logoURI:q.logoURI,isNative:pe(P.address),chainId:P.chainId}},W=async(P,N)=>{try{const O=await Pn(P,{address:N.address,abi:Le,functionName:"balanceOf",args:[S]}),j=await fi(P,N.address,N.configToken);return L(N,O,j.decimals,j)}catch{return null}},U=await Promise.all(Array.from(D.entries()).map(async([P,N])=>{let O;try{O=ft(P)}catch{return[]}const j=N.filter(Q=>pe(Q.address)),q=N.filter(Q=>!pe(Q.address)),H=await Promise.all(j.map(async Q=>{const $=await O.getBalance({address:S}).catch(()=>0n),ie=Ue(Q.chainId)?.nativeCurrency;return L(Q,$,Q.configToken?.decimals??18,{symbol:Q.configToken?.symbol??ie?.symbol??"ETH",name:Q.configToken?.name??ie?.name??"Ether",logoURI:Q.configToken?.logo})})),V=[],M=[];for(const Q of q){const $=V.length;V.push({address:Q.address,abi:Le,functionName:"balanceOf",args:[S]}),Q.configToken||V.push({address:Q.address,abi:Le,functionName:"decimals",args:[]},{address:Q.address,abi:Le,functionName:"symbol",args:[]},{address:Q.address,abi:Le,functionName:"name",args:[]}),M.push({start:$,item:Q})}let oe=null;try{oe=await O.multicall({contracts:V})}catch{oe=null}if(oe){const Q=M.map(({start:$,item:ie})=>{const fe=oe[$],de=fe?.status==="success"?fe.result:0n;let Ve,z,le,te;if(ie.configToken)Ve=ie.configToken.decimals,z=ie.configToken.symbol,le=ie.configToken.name,te=ie.configToken.logo;else{const me=oe[$+1],ve=oe[$+2],K=oe[$+3];Ve=me?.status==="success"?Number(me.result):18,z=ve?.status==="success"?ve.result:"TOKEN",le=K?.status==="success"?K.result:z}return L(ie,de,Ve,{symbol:z,name:le,logoURI:te})});return[...H,...Q]}const Ce=await Promise.all(q.map(Q=>W(O,Q)));return[...H,...Ce.filter(Q=>Q!==null)]})),_=await Pu(U.flat());v===w.current&&g(_)},[n,o,d,h,f,l,r,p,u]);G(()=>{x.current=B},[B]),G(()=>{if(!t||!n){g([]);return}x.current();const v=setInterval(()=>{x.current()},15e3);return()=>clearInterval(v)},[n,t,d,h,f,l,r]);const k=ne(()=>{B()},[B]),C=t&&n&&!s&&!!d,T=J(()=>o&&i&&i.length>0?i:[l],[o,i,l]),{assets:A}=as({address:C?d:void 0,supportedChains:T,fetchBalances:rs,enabled:C,refreshInterval:3e4});return{walletAssets:J(()=>{const v=I=>`${I.chainId}:${Xe(I.address).toLowerCase()}`,S=new Set(y.map(v)),F=[...y];for(const I of A){const D=v(I);I.balance<=0n||S.has(D)||(S.add(D),F.push(I))}return F},[y,A]),refreshWalletAssets:k}}const zu={1:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",8453:"0x4200000000000000000000000000000000000006",42161:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",84532:"0x4200000000000000000000000000000000000006"},xi=vn(["function deposit() payable","function withdraw(uint256 wad)"]);function Ir(e){return Ue(e)?.wrappedNativeTokenAddress??zu[e]}const bi=(e,t)=>({to:e,value:t,data:ct({abi:xi,functionName:"deposit"})}),wi=(e,t)=>({to:e,value:0n,data:ct({abi:xi,functionName:"withdraw",args:[t]})});function Ci(e,t,n){const s=pe(t),o=pe(n);if(!s&&!o)return null;const r=Ir(e);return r?{weth:r,wrapIn:s,unwrapOut:o}:null}function Hu(e){return{...e,resolve:async(t,n,s)=>{const o=await e.resolve(t,n,s);if(o)return o;const r=Ci(n,t.tokenIn,t.tokenOut);if(!r)return null;const a=await e.resolve({...t,tokenIn:r.wrapIn?r.weth:t.tokenIn,tokenOut:r.unwrapOut?r.weth:t.tokenOut},n,s);return a?{...a,calls:[...r.wrapIn?[bi(r.weth,t.amountIn)]:[],...a.calls,...r.unwrapOut?[wi(r.weth,a.amountOutMinimum)]:[]]}:null}}}function ju(e){return{...e,resolve:async(t,n,s)=>{const o=await e.resolve(t,n,s);if(o)return o;const r=Ci(n,t.tokenIn,t.tokenOut);if(!r)return null;const a=await e.resolve({...t,tokenIn:r.wrapIn?r.weth:t.tokenIn,tokenOut:r.unwrapOut?r.weth:t.tokenOut},n,s);return a?{...a,calls:[...r.wrapIn?[bi(r.weth,a.amountInMax)]:[],...a.calls,...r.unwrapOut?[wi(r.weth,a.amountOut)]:[]]}:null}}}const ki=[100,500,3e3,1e4],vi=(e,t)=>e.toLowerCase()===t.toLowerCase();function yo(e,t,n,s,o){const r=[];for(const a of n)if(!(vi(a,e)||vi(a,t)))for(const i of s)for(const d of s)r.push(o==="in"?Js(["address","uint24","address","uint24","address"],[e,i,a,d,t]):Js(["address","uint24","address","uint24","address"],[t,d,a,i,e]));return r}function Vu(e){const t=e.slice(2),n=[];for(let s=0;s<t.length;){const o=n.length%2===0?40:6;n.push(t.slice(s,s+o)),s+=o}return`0x${n.reverse().join("")}`}const Qu=vn(["function exactOutputSingle((address tokenIn, address tokenOut, uint24 fee, address recipient, uint256 amountOut, uint256 amountInMaximum, uint160 sqrtPriceLimitX96) params) payable returns (uint256 amountIn)","function exactOutput((bytes path, address recipient, uint256 amountOut, uint256 amountInMaximum) params) payable returns (uint256 amountIn)"]),qu=vn(["function exactOutputSingle((address tokenIn, address tokenOut, uint24 fee, address recipient, uint256 deadline, uint256 amountOut, uint256 amountInMaximum, uint160 sqrtPriceLimitX96) params) payable returns (uint256 amountIn)","function exactOutput((bytes path, address recipient, uint256 deadline, uint256 amountOut, uint256 amountInMaximum) params) payable returns (uint256 amountIn)"]),Ku=1800;function Ii(e){const{config:t,route:n,tokenIn:s,tokenOut:o,recipient:r,amountOut:a}=e,i=e.amountInMaximum,d=e.routerHasDeadline?qu:Qu,l=e.routerHasDeadline?{deadline:BigInt(Math.floor(Date.now()/1e3)+Ku)}:{},u=n.path?ct({abi:d,functionName:"exactOutput",args:[{path:n.path,recipient:r,...l,amountOut:a,amountInMaximum:i}]}):ct({abi:d,functionName:"exactOutputSingle",args:[{tokenIn:s,tokenOut:o,fee:n.fee,recipient:r,...l,amountOut:a,amountInMaximum:i,sqrtPriceLimitX96:0n}]});return{to:t.swapRouter,value:0n,data:u}}const Yu=vn(["function quoteExactInput(bytes path, uint256 amountIn) returns (uint256 amountOut, uint160[] sqrtPriceX96AfterList, uint32[] initializedTicksCrossedList, uint256 gasEstimate)","function quoteExactOutput(bytes path, uint256 amountOut) returns (uint256 amountIn, uint160[] sqrtPriceX96AfterList, uint32[] initializedTicksCrossedList, uint256 gasEstimate)"]);async function xo(e,t,n,s,o){const r=ft(e),{result:a}=await r.simulateContract({address:t.quoterV2,abi:Yu,functionName:o==="in"?"quoteExactInput":"quoteExactOutput",args:[n,s]}),[i,,,d]=a;if(i<=0n)throw new Error("No liquidity along this path.");return{amount:i,gasEstimate:d}}async function Zu(e){const{tokenIn:t,tokenOut:n,amountIn:s,fee:o,chainId:r,config:a}=e;if(s<=0n)throw new Error("amountIn must be greater than 0");const i=(await ft(r).simulateContract({address:a.quoterV2,abi:ac,functionName:"quoteExactInputSingle",args:[{tokenIn:t,tokenOut:n,amountIn:s,fee:o,sqrtPriceLimitX96:0n}]})).result;if(i[0]<=0n)throw new Error("No liquidity found for this pair. The pool returned 0 output.");return{amountOut:i[0],sqrtPriceX96After:i[1],gasEstimate:i[3]}}async function Ai(e){const t=e.feeTiers??ki,n=yo(e.tokenIn,e.tokenOut,e.hubs??[],t,"in"),s=await Promise.allSettled([...t.map(async r=>({...await Zu({...e,fee:r}),fee:r})),...n.map(async r=>{const a=await xo(e.chainId,e.config,r,e.amountIn,"in");return{amountOut:a.amount,sqrtPriceX96After:0n,gasEstimate:a.gasEstimate,fee:0,path:r}})]);let o=null;for(const r of s)r.status==="fulfilled"&&(!o||r.value.amountOut>o.amountOut)&&(o=r.value);if(!o)throw new Error("No liquidity found for this pair on any fee tier.");return o}const Xu=[{inputs:[{components:[{name:"tokenIn",type:"address"},{name:"tokenOut",type:"address"},{name:"amount",type:"uint256"},{name:"fee",type:"uint24"},{name:"sqrtPriceLimitX96",type:"uint160"}],name:"params",type:"tuple"}],name:"quoteExactOutputSingle",outputs:[{name:"amountIn",type:"uint256"},{name:"sqrtPriceX96After",type:"uint160"},{name:"initializedTicksCrossed",type:"uint32"},{name:"gasEstimate",type:"uint256"}],stateMutability:"nonpayable",type:"function"}];async function Gu(e){const{tokenIn:t,tokenOut:n,amountOut:s,fee:o,chainId:r,config:a}=e;if(s<=0n)throw new Error("amountOut must be greater than 0");const i=(await ft(r).simulateContract({address:a.quoterV2,abi:Xu,functionName:"quoteExactOutputSingle",args:[{tokenIn:t,tokenOut:n,amount:s,fee:o,sqrtPriceLimitX96:0n}]})).result;if(i[0]<=0n)throw new Error("No liquidity found for this pair. The pool returned 0 input.");return{amountIn:i[0],sqrtPriceX96After:i[1],gasEstimate:i[3]}}async function Si(e){const t=e.feeTiers??ki,n=yo(e.tokenIn,e.tokenOut,e.hubs??[],t,"out"),s=await Promise.allSettled([...t.map(async r=>({...await Gu({...e,fee:r}),fee:r})),...n.map(async r=>{const a=await xo(e.chainId,e.config,r,e.amountOut,"out");return{amountIn:a.amount,sqrtPriceX96After:0n,gasEstimate:a.gasEstimate,fee:0,path:r}})]);let o=null;for(const r of s)r.status==="fulfilled"&&(!o||r.value.amountIn<o.amountIn)&&(o=r.value);if(!o)throw new Error("No liquidity found for this pair on any fee tier.");return o}function Ju(e){return e.type==="swap"}const Rs=.02,$u=[1,8453,42161,10,137,43114,56],_u="https://api.1inch.dev/swap/v6.0";function Ar(e,t){return aa(e,t)}function ep(e){const t=e?.baseUrl??_u;return{name:"1inch",chainIds:e?.chainIds??$u,resolve:async(n,s,o)=>{const r=n.maxSlippage??Rs,a=r*100,i=pe(n.tokenIn)?ra:n.tokenIn,d=pe(n.tokenOut)?ra:n.tokenOut,l=pe(n.tokenIn);try{const u=new URL(`${t}/${s}/swap`);u.searchParams.set("src",i),u.searchParams.set("dst",d),u.searchParams.set("amount",n.amountIn.toString()),u.searchParams.set("from",o),u.searchParams.set("slippage",a.toString()),u.searchParams.set("disableEstimate","true"),u.searchParams.set("allowPartialFill","false");const p={Accept:"application/json"};e?.apiKey&&(p.Authorization=`Bearer ${e.apiKey}`);const m=await fetch(u.toString(),{headers:p});if(!m.ok)throw new je("VENUE_API_ERROR",`[1inchVenue] API returned ${m.status} for ${n.tokenIn} \u2192 ${n.tokenOut} on chain ${s}`,{venue:"1inch",chainId:s,tokenIn:n.tokenIn,tokenOut:n.tokenOut,amountIn:n.amountIn.toString(),cause:`HTTP ${m.status}`});const h=await m.json();if(!h.dstAmount||!h.tx)return console.warn(`[1inchVenue] No route data for ${n.tokenIn} \u2192 ${n.tokenOut} on chain ${s}`),null;const f=BigInt(h.dstAmount);if(f<=0n)return console.warn(`[1inchVenue] Zero output for ${n.tokenIn} \u2192 ${n.tokenOut} on chain ${s}`),null;const y=Ar(f,r),g=[];return h.tx.to&&!l&&g.push({to:n.tokenIn,value:0n,data:ct({abi:Le,functionName:"approve",args:[h.tx.to,n.amountIn]})}),g.push({to:h.tx.to,value:BigInt(h.tx.value||"0"),data:h.tx.data}),{venue:"1inch",amountOut:f,amountOutMinimum:y,calls:g}}catch(u){if(u instanceof je)throw u;const p=u instanceof Error?u.message:String(u);throw new je("VENUE_API_ERROR",`[1inchVenue] Exception for ${n.tokenIn} \u2192 ${n.tokenOut} on chain ${s}: ${p}`,{venue:"1inch",chainId:s,tokenIn:n.tokenIn,tokenOut:n.tokenOut,amountIn:n.amountIn.toString(),cause:p})}}}}const Ei=[4114,5115],Sr={name:"Satsuma",swapRouter:"0x565eD3D57fe40f78A46f348C220121AE093c3cF8",quoterV2:"0x428f20dd8926Eabe19653815Ed0BE7D6c36f8425",feeTiers:[3e3]},Fi={name:"Uniswap v3",swapRouter:"0x2626664c2603336E57B271c5C0b26F421741e481",quoterV2:"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a",chainIds:[8453],feeTiers:[100,500,3e3,1e4],hubCurrencies:["0x4200000000000000000000000000000000000006","0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"]},Bi={name:"Uniswap v3",swapRouter:"0xcaf681a66d020601342297493863e78c959e5cb2",quoterV2:"0x33e885ed0ec9bf04ecfb19341582aadcb4c8a9e7",chainIds:[4663],feeTiers:[100,500,3e3,1e4],hubCurrencies:["0x0bd7d308f8e1639fab988df18a8011f41eacad73","0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168"]},Ti={name:"SushiSwap",swapRouter:"0x1e406484F1F204b23cE84B9901C0171a738fd406",quoterV2:"0x3E290e5E01818002A0b672148BdC7514D861C7B3",chainIds:[4663],feeTiers:[100,500,3e3,1e4],hubCurrencies:["0x0bd7d308f8e1639fab988df18a8011f41eacad73","0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168"],routerHasDeadline:!0},tp=vn(["function exactInput((bytes path, address recipient, uint256 amountIn, uint256 amountOutMinimum) params) payable returns (uint256 amountOut)"]),np=vn(["function exactInput((bytes path, address recipient, uint256 deadline, uint256 amountIn, uint256 amountOutMinimum) params) payable returns (uint256 amountOut)"]),sp=vn(["function exactOutput((bytes path, address recipient, uint256 deadline, uint256 amountOut, uint256 amountInMaximum) params) payable returns (uint256 amountIn)"]),Di=1800,Ri=[1,50,100,200,2e3],Er={name:"Aerodrome",swapRouter:"0xcbBb8035cAc7D4B3Ca7aBb74cF7BdF900215Ce0D",quoterV2:"0x3d4C22254F86f64B7eC90ab8F7aeC1FBFD271c6C",chainIds:[8453],hubCurrencies:["0x4200000000000000000000000000000000000006","0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"]};function Fr(e){const t=e.name??"Aerodrome",n=e.chainIds??[8453],s=e.tickSpacings??Ri;return{name:t,chainIds:n,resolve:async(o,r,a)=>{if(pe(o.tokenIn)||pe(o.tokenOut))return null;const i=o.maxSlippage??Rs,d=[...s.map(g=>Js(["address","uint24","address"],[o.tokenIn,g,o.tokenOut])),...yo(o.tokenIn,o.tokenOut,e.hubCurrencies??[],s,"in")],l={quoterV2:e.quoterV2},u=await Promise.allSettled(d.map(async g=>({path:g,amountOut:(await xo(r,l,g,o.amountIn,"in")).amount})));let p=null;for(const g of u)g.status==="fulfilled"&&(!p||g.value.amountOut>p.amountOut)&&(p=g.value);if(!p)return console.warn(`[AerodromeVenue] No viable route for ${o.tokenIn} \u2192 ${o.tokenOut} on chain ${r}.`),null;const m=Ar(p.amountOut,i),h=BigInt(Math.floor(Date.now()/1e3)+Di),f=ct({abi:np,functionName:"exactInput",args:[{path:p.path,recipient:a,deadline:h,amountIn:o.amountIn,amountOutMinimum:m}]}),y=[{to:o.tokenIn,value:0n,data:ct({abi:Le,functionName:"approve",args:[e.swapRouter,o.amountIn]})},{to:e.swapRouter,value:0n,data:f}];return{venue:t,amountOut:p.amountOut,amountOutMinimum:m,calls:y}}}}function Wi(e){const t=e.name??"Aerodrome",n=e.chainIds??[8453],s=e.tickSpacings??Ri;return{name:t,chainIds:n,resolve:async(o,r,a)=>{if(pe(o.tokenIn)||pe(o.tokenOut))return null;const i=o.maxSlippage??Rs,d=[...s.map(y=>Js(["address","uint24","address"],[o.tokenOut,y,o.tokenIn])),...yo(o.tokenIn,o.tokenOut,e.hubCurrencies??[],s,"out")],l={quoterV2:e.quoterV2},u=await Promise.allSettled(d.map(async y=>({path:y,amountIn:(await xo(r,l,y,o.amountOut,"out")).amount})));let p=null;for(const y of u)y.status==="fulfilled"&&(!p||y.value.amountIn<p.amountIn)&&(p=y.value);if(!p)return console.warn(`[AerodromeExactOutputVenue] No viable route for ${o.tokenIn} \u2192 ${o.tokenOut} on chain ${r}.`),null;const m=BigInt(Math.round(i*1e4)),h=p.amountIn+p.amountIn*m/10000n,f=BigInt(Math.floor(Date.now()/1e3)+Di);return{venue:t,amountIn:p.amountIn,amountInMax:h,amountOut:o.amountOut,calls:[{to:e.swapRouter,value:0n,data:ct({abi:sp,functionName:"exactOutput",args:[{path:p.path,recipient:a,deadline:f,amountOut:o.amountOut,amountInMaximum:h}]})}]}}}}function Ws(e){const t=e.name??"Uniswap v3",n=e.chainIds??Ei;return{name:t,chainIds:n,resolve:async(s,o,r)=>{if(pe(s.tokenIn)||pe(s.tokenOut))return null;const a=s.maxSlippage??Rs;let i;try{i=await Ai({tokenIn:s.tokenIn,tokenOut:s.tokenOut,amountIn:s.amountIn,chainId:o,config:{swapRouter:e.swapRouter,quoterV2:e.quoterV2},feeTiers:e.feeTiers,hubs:e.hubCurrencies})}catch{return console.warn(`[UniV3Venue] No viable route for ${s.tokenIn} \u2192 ${s.tokenOut} on chain ${o}.`),null}const d=Ar(i.amountOut,a),l=i.path?ct({abi:tp,functionName:"exactInput",args:[{path:i.path,recipient:r,amountIn:s.amountIn,amountOutMinimum:d}]}):ct({abi:ic,functionName:"exactInputSingle",args:[{tokenIn:s.tokenIn,tokenOut:s.tokenOut,fee:i.fee,recipient:r,amountIn:s.amountIn,amountOutMinimum:d,sqrtPriceLimitX96:0n}]}),u=[{to:s.tokenIn,value:0n,data:ct({abi:Le,functionName:"approve",args:[e.swapRouter,s.amountIn]})},{to:e.swapRouter,value:0n,data:l}];return{venue:t,amountOut:i.amountOut,amountOutMinimum:d,calls:u}}}}function Br(e){const t=e.name??"Uniswap v3",n=e.chainIds??Ei;return{name:t,chainIds:n,resolve:async(s,o,r)=>{if(pe(s.tokenIn)||pe(s.tokenOut))return null;const a=s.maxSlippage??Rs;let i;try{i=await Si({tokenIn:s.tokenIn,tokenOut:s.tokenOut,amountOut:s.amountOut,chainId:o,config:{swapRouter:e.swapRouter,quoterV2:e.quoterV2},feeTiers:e.feeTiers,hubs:e.hubCurrencies})}catch{return null}const d=BigInt(Math.round(a*1e4)),l=i.amountIn+i.amountIn*d/10000n;return{venue:t,amountIn:i.amountIn,amountInMax:l,amountOut:s.amountOut,calls:[Ii({config:{swapRouter:e.swapRouter,quoterV2:e.quoterV2},routerHasDeadline:e.routerHasDeadline,route:i,tokenIn:s.tokenIn,tokenOut:s.tokenOut,recipient:r,amountOut:s.amountOut,amountInMaximum:l})]}}}}function Mi(e){const t=[];e?.customVenues&&t.push(...e.customVenues),e?.satsuma&&t.push(Ws(e.satsuma)),e?.aerodrome!==!1&&t.push(Fr(e?.aerodrome??Er)),t.push(ep(e?.oneInch));const n=t.map(Hu);function s(a){return n.find(i=>i.chainIds.includes(a))}async function o(a,i,d){const l=n.filter(h=>h.chainIds.includes(i));if(l.length===0)throw new je("NO_VENUE_FOR_CHAIN",`No liquidity venue configured for chain ${i}. Cannot resolve swap ${a.tokenIn} \u2192 ${a.tokenOut}.`,{chainId:i,tokenIn:a.tokenIn,tokenOut:a.tokenOut,amountIn:a.amountIn.toString()});const u=await Promise.allSettled(l.map(h=>h.resolve(a,i,d)));let p=null;for(const h of u)h.status==="fulfilled"&&h.value&&(!p||h.value.amountOut>p.amountOut)&&(p=h.value);if(p)return p;const m=u.find(h=>h.status==="rejected");if(m)throw m.reason;return null}async function r(a,i,d){const l=[],u=[];for(const p of a){if(!Ju(p)){l.push(p);continue}const m=await o(p,i,d);if(!m)throw new je("NO_LIQUIDITY",`No venue returned a quote for ${p.tokenIn} \u2192 ${p.tokenOut} on chain ${i}.`,{chainId:i,tokenIn:p.tokenIn,tokenOut:p.tokenOut,amountIn:p.amountIn.toString()});l.push(...m.calls),u.push(m)}return{calls:l,resolvedSwaps:u}}return{resolveSwapIntents:r,resolveSwap:o,getVenueForChain:s,venues:t}}const In="0x0000000000000000000000000000000000000000",Tr=[{fee:100,tickSpacing:1},{fee:500,tickSpacing:10},{fee:3e3,tickSpacing:60},{fee:1e4,tickSpacing:200}],Ni=In,Oi=.02,op=1800,Ui={name:"Uniswap v4",quoter:"0x0d5e0f971ed27fbff6c2837bf31316121532048d",universalRouter:"0x6ff5693b99212da76ad316178a184ab56d299b43",permit2:"0x000000000022d473030f116ddee9f6b43ac78ba3",chainIds:[8453],hubCurrencies:["0x4200000000000000000000000000000000000006",In,"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"]},Pi={name:"Uniswap v4",quoter:"0x8dc178efb8111bb0973dd9d722ebeff267c98f94",universalRouter:"0x8876789976decbfcbbbe364623c63652db8c0904",permit2:"0x000000000022d473030f116ddee9f6b43ac78ba3",chainIds:[4663],hubCurrencies:["0x0bd7d308f8e1639fab988df18a8011f41eacad73",In,"0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168"]},Li=vn(["struct PoolKey { address currency0; address currency1; uint24 fee; int24 tickSpacing; address hooks; }","struct PathKey { address intermediateCurrency; uint24 fee; int24 tickSpacing; address hooks; bytes hookData; }","struct QuoteExactSingleParams { PoolKey poolKey; bool zeroForOne; uint128 exactAmount; bytes hookData; }","struct QuoteExactParams { address exactCurrency; PathKey[] path; uint128 exactAmount; }","function quoteExactInputSingle(QuoteExactSingleParams params) returns (uint256 amountOut, uint256 gasEstimate)","function quoteExactInput(QuoteExactParams params) returns (uint256 amountOut, uint256 gasEstimate)","function quoteExactOutputSingle(QuoteExactSingleParams params) returns (uint256 amountIn, uint256 gasEstimate)","function quoteExactOutput(QuoteExactParams params) returns (uint256 amountIn, uint256 gasEstimate)"]),rp=vn(["function approve(address token, address spender, uint160 amount, uint48 expiration)"]),ap=vn(["function execute(bytes commands, bytes[] inputs, uint256 deadline) payable"]),zi="0x10",ip="04",lp="06",cp="07",dp="08",up="09",bo="0c",wo="0e",pp=[{name:"currency0",type:"address"},{name:"currency1",type:"address"},{name:"fee",type:"uint24"},{name:"tickSpacing",type:"int24"},{name:"hooks",type:"address"}],mp=[{name:"intermediateCurrency",type:"address"},{name:"fee",type:"uint24"},{name:"tickSpacing",type:"int24"},{name:"hooks",type:"address"},{name:"hookData",type:"bytes"}],Nn=(e,t)=>e.toLowerCase()===t.toLowerCase();function Co(e){return pe(e)?In:e}function fp(e,t){return e.toLowerCase()<t.toLowerCase()?[e,t]:[t,e]}function Hi(e,t,n,s,o){const r=[],[a,i]=fp(e,t);for(const{fee:l,tickSpacing:u}of Tr)r.push({kind:"single",poolKey:{currency0:a,currency1:i,fee:l,tickSpacing:u,hooks:Ni},zeroForOne:Nn(e,a)});const d=(l,u)=>!!o&&(Nn(l,In)&&Nn(u,o)||Nn(l,o)&&Nn(u,In));for(const l of n)if(!(Nn(l,e)||Nn(l,t))&&!(d(l,e)||d(l,t)))for(const u of Tr)for(const p of Tr){const m=(h,f)=>({intermediateCurrency:h,fee:f.fee,tickSpacing:f.tickSpacing,hooks:Ni,hookData:"0x"});r.push({kind:"multi",path:s==="in"?[m(l,u),m(t,p)]:[m(e,u),m(l,p)]})}return r}async function ji(e,t,n,s,o,r){const a=ft(e),i=(await Promise.allSettled(n.map(async d=>{const{result:l}=d.kind==="single"?await a.simulateContract({address:t.quoter,abi:Li,functionName:r==="in"?"quoteExactInputSingle":"quoteExactOutputSingle",args:[{poolKey:d.poolKey,zeroForOne:d.zeroForOne,exactAmount:o,hookData:"0x"}]}):await a.simulateContract({address:t.quoter,abi:Li,functionName:r==="in"?"quoteExactInput":"quoteExactOutput",args:[{exactCurrency:s,path:d.path,exactAmount:o}]}),u=l[0];if(u<=0n)throw new Error("zero quote");return{candidate:d,amount:u}}))).filter(d=>d.status==="fulfilled").map(d=>d.value);return i.length===0?null:(i.sort((d,l)=>d.amount<l.amount?-1:d.amount>l.amount?1:0),r==="in"?i[i.length-1]:i[0])}function Vi(e){const{candidate:t,direction:n,currencyIn:s,currencyOut:o,recipient:r,exactAmount:a,limitAmount:i,deadline:d,sweepNativeTo:l}=e;let u,p;t.kind==="single"?(u=n==="in"?`0x${lp}${bo}${wo}`:`0x${dp}${bo}${wo}`,p=Un([{type:"tuple",components:[{name:"poolKey",type:"tuple",components:pp},{name:"zeroForOne",type:"bool"},{name:n==="in"?"amountIn":"amountOut",type:"uint128"},{name:n==="in"?"amountOutMinimum":"amountInMaximum",type:"uint128"},{name:"hookData",type:"bytes"}]}],[{poolKey:t.poolKey,zeroForOne:t.zeroForOne,[n==="in"?"amountIn":"amountOut"]:a,[n==="in"?"amountOutMinimum":"amountInMaximum"]:i,hookData:"0x"}])):(u=n==="in"?`0x${cp}${bo}${wo}`:`0x${up}${bo}${wo}`,p=Un([{type:"tuple",components:[{name:n==="in"?"currencyIn":"currencyOut",type:"address"},{name:"path",type:"tuple[]",components:mp},{name:n==="in"?"amountIn":"amountOut",type:"uint128"},{name:n==="in"?"amountOutMinimum":"amountInMaximum",type:"uint128"}]}],[{[n==="in"?"currencyIn":"currencyOut"]:n==="in"?s:o,path:t.path,[n==="in"?"amountIn":"amountOut"]:a,[n==="in"?"amountOutMinimum":"amountInMaximum"]:i}]));const m=Un([{type:"address"},{type:"uint256"}],[s,n==="in"?a:i]),h=Un([{type:"address"},{type:"address"},{type:"uint256"}],[o,r,0n]),f=Un([{type:"bytes"},{type:"bytes[]"}],[u,[p,m,h]]),y=l?`${zi}${ip}`:zi,g=l?[f,Un([{type:"address"},{type:"address"},{type:"uint256"}],[In,l,0n])]:[f];return ct({abi:ap,functionName:"execute",args:[y,g,d]})}function Qi(){return BigInt(Math.floor(Date.now()/1e3)+op)}function qi(e,t,n,s){return{to:e.permit2,value:0n,data:ct({abi:rp,functionName:"approve",args:[t,e.universalRouter,n,Number(s)]})}}function Ki(e){const t=e.name??"Uniswap v4",n=e.v3?Ws({...e.v3,chainIds:e.chainIds}):null;return{name:t,chainIds:e.chainIds,resolve:async(s,o,r)=>{const a=s.maxSlippage??Oi,i=Co(s.tokenIn),d=Co(s.tokenOut),l=pe(s.tokenIn),u=e.hubCurrencies??[In];let p=null;if(!Nn(i,d)&&s.amountIn>0n){const m=await ji(o,e,Hi(i,d,u,"in",Ir(o)),i,s.amountIn,"in").catch(()=>null);if(m){const h=aa(m.amount,a),f=Qi(),y=[];l||(y.push({to:s.tokenIn,value:0n,data:ct({abi:Le,functionName:"approve",args:[e.permit2,s.amountIn]})}),y.push(qi(e,s.tokenIn,s.amountIn,f))),y.push({to:e.universalRouter,value:l?s.amountIn:0n,data:Vi({candidate:m.candidate,direction:"in",currencyIn:i,currencyOut:d,recipient:r,exactAmount:s.amountIn,limitAmount:h,deadline:f})}),p={venue:t,amountOut:m.amount,amountOutMinimum:h,calls:y}}}return!p&&n?n.resolve(s,o,r):p}}}function Yi(e){const t=e.name??"Uniswap v4";return{name:t,chainIds:e.chainIds,resolve:async(n,s,o)=>{const r=pe(n.tokenIn),a=Co(n.tokenIn),i=Co(n.tokenOut);if(Nn(a,i)||n.amountOut<=0n)return null;const d=n.maxSlippage??Oi,l=e.hubCurrencies??[In],u=await ji(s,e,Hi(a,i,l,"out",Ir(s)),i,n.amountOut,"out").catch(()=>null);if(!u)return null;const p=BigInt(Math.round(d*1e4)),m=u.amount+u.amount*p/10000n,h=Qi();return{venue:t,amountIn:u.amount,amountInMax:m,amountOut:n.amountOut,calls:[...r?[]:[qi(e,n.tokenIn,m,h)],{to:e.universalRouter,value:r?m:0n,data:Vi({candidate:u.candidate,direction:"out",currencyIn:a,currencyOut:i,recipient:o,exactAmount:n.amountOut,limitAmount:m,deadline:h,sweepNativeTo:r?o:void 0})}]}}}}const Zi=[{...Sr,protocol:"uniswap-v3",chainId:4114},{...Sr,protocol:"uniswap-v3",chainId:5115},{...Fi,protocol:"uniswap-v3",chainId:8453},{...Bi,protocol:"uniswap-v3",chainId:4663},{...Ti,protocol:"uniswap-v3",chainId:4663},{...Ui,protocol:"uniswap-v4",chainId:8453},{...Pi,protocol:"uniswap-v4",chainId:4663},{...Er,protocol:"aerodrome-slipstream",chainId:8453}];function ko(e){const t=e?.includeDefaults===!1?e.venues??[]:[...Zi,...e?.venues??[]],n=[],s=[];for(const o of t){const r=[o.chainId];switch(o.protocol){case"uniswap-v3":{const a={...o,chainIds:r};n.push(Ws(a)),s.push(Br(a));break}case"uniswap-v4":{const a={...o,chainIds:r};n.push(Ki(a)),s.push(Yi(a));break}case"aerodrome-slipstream":{const a={...o,chainIds:r};n.push(Fr(a)),s.push(Wi(a));break}default:{const a=o;throw new je("INVALID_PARAMS",`Unsupported liquidity venue protocol: ${a.protocol}`,{protocol:a.protocol})}}}return{input:n,output:s}}function hp(e){return{...e,resolve:async(t,n,s)=>{const o=await e.resolve(t,n,s),r=o?.calls[0]?.to;return!o||!r||pe(t.tokenIn)?o:{...o,calls:[{to:t.tokenIn,value:0n,data:ct({abi:Le,functionName:"approve",args:[r,o.amountInMax]})},...o.calls]}}}}function Xi(e){const t=(e?.customVenues??[]).map(s=>ju(hp(s)));async function n(s,o,r){const a=t.filter(l=>l.chainIds.includes(o));if(a.length===0)throw new je("NO_SWAP_ROUTE",`No exact-output venue supports chain ${o}`,{chainId:o,tokenIn:s.tokenIn,tokenOut:s.tokenOut});const i=(await Promise.allSettled(a.map(async l=>({venue:l,quote:await l.resolve(s,o,r)})))).filter(l=>l.status==="fulfilled").map(l=>l.value).filter(l=>l.quote!==null);if(i.length===0)throw new je("NO_SWAP_ROUTE",`All aggregators failed for ${s.tokenIn} \u2192 ${s.tokenOut} on chain ${o}`,{chainId:o,tokenIn:s.tokenIn,tokenOut:s.tokenOut,amountOut:s.amountOut.toString()});const d=i.find(l=>l.venue.preferred);return d?d.quote:(i.sort((l,u)=>l.quote.amountIn<u.quote.amountIn?-1:l.quote.amountIn>u.quote.amountIn?1:0),i[0].quote)}return{getQuote:n,venues:t}}function Dr(e,t){return Mi({aerodrome:!1,oneInch:e?.includeDefaults===!1?{chainIds:[]}:void 0,customVenues:t})}const Gi=ko(),gp=Dr(void 0,Gi.input);async function Ji(e){const t=await(e.liquidityVenues?Dr(e.liquidityVenues,ko(e.liquidityVenues).input):gp).resolveSwap({type:"swap",tokenIn:e.tokenIn,tokenOut:e.tokenOut,amountIn:e.amountIn,maxSlippage:e.maxSlippage},e.chainId,e.recipient);if(!t)throw new Error("No liquidity for this pair.");return t}function vo(e){const{direction:t,selectedAsset:n,destinationToken:s,chainId:o,recipient:r,paymentAmount:a,maxSlippage:i,refreshIntervalMs:d,resolveExactOutputSwap:l}=e,u=Yt(zt)?.liquidityVenues,[p,m]=R(!1),[h,f]=R(null),[y,g]=R(null),[w,x]=R(null),[B,k]=R(null),[C,T]=R(null),[A,v]=R(null),[S,F]=R(null),[I,D]=R(null),[E,L]=R(null),[W,U]=R(0),[_,P]=R(null),[N,O]=R(null),j=X(null),q=X(null),H=X(0),V=X(new Map),M=ne(()=>{H.current++,V.current.clear(),O(null),U(xe=>xe+1)},[]),oe=d&&d>0?d:null,Ce=u?JSON.stringify(u):"",Q=J(()=>u?ko(u):Gi,[Ce]),$=J(()=>Dr(u,Q.input),[Q]),ie=J(()=>Xi({customVenues:[...l?[{name:"consumer-exact-output",chainIds:[o],preferred:!0,resolve:l}]:[],...Q.output]}),[l,o,Q]);G(()=>{V.current.clear()},[ie]);const fe=J(()=>{if(!n?.asset)return null;const xe=gn(n.asset,o);if(xe)return xe;const gt=Mn(n.asset.address,o,n.asset.chainId);return gt?gt.address:null},[n?.asset,o]),de=J(()=>n?.asset?to(n.asset,o):[],[n?.asset,o]),Ve=J(()=>de.map(xe=>xe.toLowerCase()).join(","),[de]),z=JSON.stringify([n?.asset.address,n?.asset.chainId,n?.asset.decimals,n?.amount,o,Ve,t,a]);G(()=>{let xe=!1;if(q.current&&(clearTimeout(q.current),q.current=null),!n?.asset||de.length<=1){D(null),L(null);return}return q.current=setTimeout(async()=>{const gt=t==="input"?n.amount:a||"0";let dt=0n;try{dt=t==="input"?$e(gt,n.asset.decimals):0n}catch{dt=0n}try{const tt=await sr(n.asset,o,{requiredAmount:dt});xe||(D(tt),L(z))}catch{xe||D(null)}},400),()=>{xe=!0,q.current&&(clearTimeout(q.current),q.current=null)}},[z]);const le=J(()=>(E===z?I:null)??fe,[I,E,z,fe]),te=J(()=>!n?.asset||!le?[]:[le,...de.filter(xe=>xe.toLowerCase()!==le.toLowerCase())],[n?.asset,le,de]),me=J(()=>!n?.asset||!As(n.asset.address,n.asset.chainId,s.address,s.chainId)||!le?!1:Fe(le,s.address),[n,s.address,s.chainId,le]),ve=le?Fe(le,s.address):!1,K=t==="output"&&parseFloat(a||"0")===0,ae=!!n?.asset&&!me&&!ve&&!K,Z=JSON.stringify([Ce,t,ae,n?.asset.address,n?.asset.chainId,n?.asset.decimals,t==="input"?n?.amount:a,te.map(xe=>xe.toLowerCase()),o,s.address.toLowerCase(),s.chainId,s.decimals,r?.toLowerCase(),i,oe]),ye=J(()=>({}),[Z,$,ie,W]),Qe=N?.request===ye&&(!oe||N.expiresAt>Date.now());return G(()=>{if(!oe||N?.request!==ye)return;const xe=setTimeout(M,Math.max(0,N.expiresAt-Date.now()));return()=>clearTimeout(xe)},[oe,N,ye,M]),G(()=>{j.current&&clearTimeout(j.current),P(ye),O(null),f(null);const xe=t==="input"?n?.amount:a,gt=parseFloat(xe||"0");if(!ae||!Number.isFinite(gt)||gt<=0||!n?.asset||!r||te.length===0){H.current++,g(null),x(null),k(null),T(null),v(null),F(null),f(null),m(!1);return}const dt=n.asset.decimals;let tt;try{tt=t==="input"?$e(n.amount,dt):$e(a||"0",s.decimals)}catch{H.current++,f("Invalid amount"),m(!1);return}const ut=++H.current,_e=()=>ut!==H.current;m(!0);const vt=t==="output"?150:400,yt=async(Te,Ke,pt)=>{for(const se of te){const at=`${Ce}:${t}:${o}:${se.toLowerCase()}:${s.address.toLowerCase()}:${tt.toString()}:${r.toLowerCase()}:${i??"default"}:${oe??"default"}`,At=V.current.get(at),mt=At&&At.expiresAt>Date.now()?Te(At):void 0;if(mt)return{quote:mt,tokenIn:se,expiresAt:At.expiresAt};const nt=await pt(se);if(_e())return"stale";if(!nt)continue;const Mt=Date.now()+Math.min(oe??3e4,3e4);return V.current.set(at,{expiresAt:Mt,direction:t,...Ke(nt)}),{quote:nt,tokenIn:se,expiresAt:Mt}}return null};return j.current=setTimeout(async()=>{try{if(t==="input"){const Te=await yt(pt=>pt.resolvedSwap,pt=>({resolvedSwap:pt}),pt=>$.resolveSwap({type:"swap",tokenIn:pt,tokenOut:s.address,amountIn:tt,maxSlippage:i},o,r));if(Te==="stale"||_e())return;if(!Te)throw new Error("No liquidity for this pair");F(Te.tokenIn),O({request:ye,key:`${Z}:${ut}`,expiresAt:Te.expiresAt}),v(Te.quote.amountOut),k(Te.quote),T(null);const Ke=parseFloat(Ge(Te.quote.amountOut,s.decimals));g(Ke<.01?Ke.toPrecision(4):Ke.toLocaleString(void 0,{maximumFractionDigits:6})),x(null),f(null)}else{const Te=await yt(Ke=>Ke.exactOutputSwap,Ke=>({exactOutputSwap:Ke}),async Ke=>{try{return await ie.getQuote({tokenIn:Ke,tokenOut:s.address,amountOut:tt,maxSlippage:i},o,r)}catch{return null}});if(Te==="stale"||_e())return;if(!Te)throw new Error("No liquidity for this pair");F(Te.tokenIn),O({request:ye,key:`${Z}:${ut}`,expiresAt:Te.expiresAt}),T(Te.quote),k(null),v(null),x(parseFloat(Ge(Te.quote.amountIn,dt)).toFixed(6)),g(null),f(null)}}catch(Te){if(_e())return;const Ke=Te instanceof Error?Te.message:"Failed to get quote";f(Ke),g(null),x(null),k(null),T(null),v(null),F(null)}finally{_e()||m(!1)}},vt),()=>{H.current++,j.current&&clearTimeout(j.current)}},[ye]),{quoteKey:Qe?N.key:null,quoteExpiresAt:Qe?N.expiresAt:null,refreshQuote:M,isQuoting:_===ye?p:ae,quoteError:_===ye?h:null,estimatedOutput:Qe?y:null,estimatedInput:Qe?w:null,resolvedSwap:Qe?B:null,exactOutputSwap:Qe?C:null,quoteAmountOut:Qe?A:null,resolvedTokenIn:ae&&Qe?S??le:le,isDirect:ve,needsSwap:ae,selectedIsEquivalent:me}}function yp(e){const t=Yt(zt)?.rpcOverrides?.[e.lockChainId],n=e.selectedAsset?.asset,s=n?._source,[o,r]=R(0),a=e.enabled&&n&&e.destinationTokenAddress?JSON.stringify([n.address.toLowerCase(),n.chainId,n.decimals,n.symbol,n.name,n.receiptTokenName,n.displaySymbol,n.displayName,n.isUniversal,s,n.chainTokens,e.lockChainId,e.destinationTokenAddress.toLowerCase(),o]):null,[i,d]=R(null),[l,u]=R(null);G(()=>{if(!a||!n||!e.destinationTokenAddress||!t?.trim())return;const k=e.destinationTokenAddress;let C=!1;return u(null),(async()=>{try{if(await Promise.resolve(),C)return;if(s==="wallet"&&n.chainId!==e.lockChainId)throw new Error("Select a wallet asset on the lock chain.");const T=s==="wallet"?n.address:await sr(n,e.lockChainId);if(C)return;if(!T)throw new Error(`This asset cannot be delivered on ${Jt(e.lockChainId)}.`);const A=Xe(T),[v,S]=await Promise.all([Zs(e.lockChainId,A),Zs(e.lockChainId,k)]);C||d(F=>({key:a,rpcUrl:t,inputToken:A,inputDecimals:v,outputDecimals:S,generation:(F?.generation??0)+1}))}catch(T){C||u({key:a,message:T instanceof Error?T.message:"Unable to read lock token metadata. Please retry."})}})(),()=>{C=!0}},[a,t]);const p=i?.key===a&&i.rpcUrl===t?i:null,m=J(()=>{if(!p||!n||!e.selectedAsset?.amount)return null;try{if((e.selectedAsset.amount.split(".")[1]?.replace(/0+$/,"")??"").length>n.decimals)return{error:`Use at most ${n.decimals} decimal places for this lock source.`};const k=$e(e.selectedAsset.amount,n.decimals);if(k<=0n)return null;const C=Wn(k,n.decimals,p.inputDecimals,"floor");if(Wn(C,p.inputDecimals,n.decimals,"floor")!==k)return{error:`Use at most ${p.inputDecimals} decimal places for this lock source.`};const T={address:p.inputToken,decimals:p.inputDecimals,chainId:e.lockChainId,symbol:n.symbol,name:n.name,isNative:pe(p.inputToken),balance:0n,balanceFormatted:0,balanceUsd:0};return{amount:C,selected:{asset:T,amount:Ge(C,p.inputDecimals)}}}catch{return{error:"Enter a valid amount."}}},[p,n,e.selectedAsset?.amount,e.lockChainId]),h=J(()=>p&&e.destinationTokenAddress?{address:e.destinationTokenAddress,chainId:e.lockChainId,decimals:p.outputDecimals,symbol:e.lockTokenSymbol,name:e.lockTokenSymbol,logoURI:e.lockTokenLogoURI,isNative:pe(e.destinationTokenAddress),balance:0n,balanceFormatted:0,balanceUsd:0}:null,[p,e.destinationTokenAddress,e.lockChainId,e.lockTokenSymbol,e.lockTokenLogoURI]),f=vo({direction:"input",selectedAsset:e.enabled?m?.selected??null:null,destinationToken:h?{...h,address:Xe(h.address)}:{address:Zt,decimals:0,symbol:e.lockTokenSymbol,chainId:e.lockChainId},chainId:e.lockChainId,recipient:e.recipient,maxSlippage:.01,refreshIntervalMs:3e4}),y=ne(()=>{f.refreshQuote(),r(k=>k+1)},[f.refreshQuote]),g=!!p&&!!h&&!Fe(p.inputToken,Xe(h.address)),w=g?f.resolvedSwap?.amountOutMinimum:m?.amount,x=e.enabled&&p&&m?.selected&&h&&e.recipient&&w!==void 0&&w>0n&&(!g||f.quoteKey)?{input:m.selected.asset,amountIn:m.amount,output:h,minimum:w,swap:g?f.resolvedSwap:null,key:`${a}:${p.generation}:${e.selectedAsset?.amount}:${e.recipient.toLowerCase()}:${g?f.quoteKey:"direct"}`,expiresAt:g?f.quoteExpiresAt:null}:null,B=e.enabled?t?.trim()?l?.key===a?l.message:m?.error??f.quoteError??(w!==void 0&&w<=0n?"The swap output is too small to lock. Increase the amount.":null):`Configure SpiceFlowProvider rpcOverrides[${e.lockChainId}] for ${Jt(e.lockChainId)} before locking.`:null;return{conversion:x,error:B,retryQuote:y,isQuoting:e.enabled&&!!n&&!!e.recipient&&Number(e.selectedAsset?.amount)>0&&!x&&!B}}const xp=({options:e,selectedIndex:t,onSelect:n,primaryColor:s,dark:o=!1,textPrimary:r="#111827",textSecondary:a="#6b7280",trackColor:i})=>{const d=e.length-1,l=i||(o?"#3a3a3a":"#d1d5db"),u=o?"4px":"50%",p=o?"none":"2px solid white",m=o?"none":`0 0 0 1px ${s}`;return b("div",{style:{width:"100%",userSelect:"none"},children:[b("div",{style:{position:"relative",paddingBottom:"4px"},children:[c("div",{style:{position:"absolute",top:"50%",left:0,right:0,height:"4px",background:l,borderRadius:"2px",transform:"translateY(-50%)",pointerEvents:"none"}}),c("div",{style:{position:"absolute",top:"50%",left:0,width:`${t/d*100}%`,height:"4px",background:s,borderRadius:"2px",transform:"translateY(-50%)",pointerEvents:"none",transition:"width 0.15s ease"}}),c("input",{type:"range","aria-label":"Lock duration","aria-valuetext":e[t]?.label,"data-spiceflow-focus":!0,min:0,max:d,step:1,value:t,onChange:h=>n(Number(h.target.value)),style:{WebkitAppearance:"none",appearance:"none",width:"100%",height:"20px",background:"transparent",cursor:"pointer",outline:"none",border:"none",position:"relative",zIndex:1,margin:0,padding:0}})]}),c("div",{style:{display:"flex",justifyContent:"space-between",marginTop:"6px"},children:e.map((h,f)=>b("div",{onClick:()=>n(f),style:{display:"flex",flexDirection:"column",alignItems:f===0?"flex-start":f===d?"flex-end":"center",cursor:"pointer",flex:1},children:[c("span",{style:{fontSize:"12px",fontWeight:f===t?700:400,color:f===t?r:a,whiteSpace:"nowrap",transition:"color 0.15s, font-weight 0.15s"},children:h.label}),h.highlight&&c("span",{style:{fontSize:"10px",color:a,whiteSpace:"nowrap"},children:"(most common)"})]},f))}),c("style",{children:`
44
44
  input[type='range']::-webkit-slider-thumb {
45
45
  -webkit-appearance: none;
46
46
  width: 20px;
47
47
  height: 20px;
48
- border-radius: ${p};
49
- background: ${o};
50
- border: ${u};
48
+ border-radius: ${u};
49
+ background: ${s};
50
+ border: ${p};
51
51
  box-shadow: ${m};
52
52
  cursor: pointer;
53
53
  transition: transform 0.15s ease;
@@ -55,16 +55,16 @@ import{jsx as c,jsxs as w,Fragment as Gt}from"react/jsx-runtime";import xn,{useS
55
55
  input[type='range']::-moz-range-thumb {
56
56
  width: 20px;
57
57
  height: 20px;
58
- border-radius: ${p};
59
- background: ${o};
60
- border: ${u};
58
+ border-radius: ${u};
59
+ background: ${s};
60
+ border: ${p};
61
61
  box-shadow: ${m};
62
62
  cursor: pointer;
63
63
  }
64
64
  input[type='range']::-webkit-slider-thumb:hover {
65
65
  transform: scale(1.12);
66
66
  }
67
- `})]})},hp=tn(fp);function gp(e){const t=new Date;t.setDate(t.getDate()+Math.floor(e*30));const n=["January","February","March","April","May","June","July","August","September","October","November","December"],o=t.getDate(),s=o===1||o===21||o===31?"st":o===2||o===22?"nd":o===3||o===23?"rd":"th";return`${n[t.getMonth()]} ${o}${s} ${t.getFullYear()}`}const yp=({label:e,value:t,fontFamily:n,dark:o=!1,textPrimary:s="#111827",textSecondary:r="#6b7280"})=>w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[w("svg",{width:"13",height:"13",viewBox:"0 0 14 14",fill:"none",style:{flexShrink:0},children:[c("circle",{cx:"7",cy:"7",r:"6.5",stroke:r,strokeWidth:"1.2"}),c("path",{d:"M7 6v4",stroke:r,strokeWidth:"1.2",strokeLinecap:"round"}),c("circle",{cx:"7",cy:"4.5",r:"0.7",fill:r})]}),c("span",{style:{fontSize:"13px",color:r,fontFamily:n},children:e})]}),c("span",{style:{fontSize:o?"17px":"13px",fontWeight:700,color:s,fontFamily:Ae.mono,letterSpacing:"0.3px"},children:t})]}),Gi=tn(yp),xp=({isOpen:e,data:t,isLocking:n,lockError:o,onContinue:s,onClose:r,primaryColor:a,fontFamily:i,dark:d=!1})=>{const{dk:l}=At(),[p,u]=R(!1),[m,h]=R(!0),f=d?l.cardBg:"#ffffff",y=l.textPrimary,g=l.textSecondary,k=d?l.inputPlaceholder:"#9ca3af",x=d?l.successBg:"#d1fae5",F=d?l.successBorder:"#6ee7b7",b=d?l.successText:"#065f46",C=l.errorBg,T=l.errorBorder;X(()=>{e||u(!1)},[e]);const v=()=>{u(!0),setTimeout(r,300)};if(!e||!t)return null;const E=[{label:"NETWORK",value:t.sourceNetwork.toUpperCase()},{label:"DEPOSITED AMOUNT",value:`${t.depositedAmount} ${t.depositedSymbol}`,positive:!0}];return w("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:10,animation:p?"lockSlideDown 0.3s ease-in":"lockSlideUp 0.3s ease-out",pointerEvents:"auto"},children:[w("div",{style:{backgroundColor:f,width:"100%",padding:"18px 24px",boxShadow:d?"0 -4px 20px rgba(0,0,0,0.4)":"0 -4px 20px rgba(0,0,0,0.15)"},children:[w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",backgroundColor:x,border:`1px solid ${F}`,borderRadius:"8px",padding:"10px 14px",marginBottom:"16px"},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[w("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[c("circle",{cx:"10",cy:"10",r:"10",fill:"#10b981"}),c("path",{d:"M6 10l3 3 5-6",stroke:"#fff",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),c("span",{style:{fontSize:"13px",fontWeight:700,color:b,fontFamily:Ae.mono,letterSpacing:"0.3px"},children:"CONFIRMED TRANSACTION"})]}),t.explorerUrl&&w("a",{href:t.explorerUrl,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"12px",color:b,textDecoration:"none",display:"flex",alignItems:"center",gap:"4px",fontFamily:i},children:["View on explorer",c("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:c("path",{d:"M2.5 9.5L9.5 2.5M9.5 2.5H5M9.5 2.5V7"})})]})]}),w("div",{onClick:()=>h(A=>!A),style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer",marginBottom:"8px"},children:[c("span",{style:{fontSize:"13px",fontWeight:500,color:g,fontFamily:i},children:"Transaction Details"}),w("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[c(Yn,{color:g,direction:m?"up":"down"}),c("button",{onClick:A=>{A.stopPropagation(),v()},style:{background:"none",border:"none",cursor:"pointer",padding:"2px",color:g,display:"flex",alignItems:"center"},children:c("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:c("path",{d:"M11 3L3 11M3 3l8 8",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round"})})})]})]}),c("div",{style:{overflow:"hidden",maxHeight:m?"200px":"0",opacity:m?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease",marginBottom:m?"16px":"8px",display:"flex",flexDirection:"column",gap:"10px"},children:E.map(A=>w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:{fontSize:"12px",fontWeight:500,color:k,fontFamily:Ae.mono,letterSpacing:"0.5px"},children:A.label}),c("span",{style:{fontSize:"12px",fontWeight:600,color:A.positive?"#10b981":y,fontFamily:Ae.mono},children:A.value})]},A.label))}),o&&c("div",{style:{marginBottom:"12px",padding:"10px 14px",backgroundColor:C,border:`1px solid ${T}`,borderRadius:"6px"},children:c("p",{style:{color:"#ef4444",fontSize:"13px",margin:0,fontFamily:i},children:o})}),c(Wt,{variant:"outline",fullWidth:!0,onClick:s,disabled:n,loading:n,dark:d,styles:{button:{backgroundColor:a}},style:{height:"48px"},children:n?"LOCKING...":"CONTINUE \u2192"}),c("div",{style:{marginTop:"12px",display:"flex",justifyContent:"center"},children:c("img",{src:Qs,alt:"Powered by SpiceNet",style:{height:"auto",width:"130px"}})})]}),c("style",{children:`
67
+ `})]})},bp=tn(xp);function wp(e){const t=new Date;t.setDate(t.getDate()+Math.floor(e*30));const n=["January","February","March","April","May","June","July","August","September","October","November","December"],s=t.getDate(),o=s===1||s===21||s===31?"st":s===2||s===22?"nd":s===3||s===23?"rd":"th";return`${n[t.getMonth()]} ${s}${o} ${t.getFullYear()}`}const Cp=({label:e,value:t,fontFamily:n,dark:s=!1,textPrimary:o="#111827",textSecondary:r="#6b7280"})=>b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[b("svg",{width:"13",height:"13",viewBox:"0 0 14 14",fill:"none",style:{flexShrink:0},children:[c("circle",{cx:"7",cy:"7",r:"6.5",stroke:r,strokeWidth:"1.2"}),c("path",{d:"M7 6v4",stroke:r,strokeWidth:"1.2",strokeLinecap:"round"}),c("circle",{cx:"7",cy:"4.5",r:"0.7",fill:r})]}),c("span",{style:{fontSize:"13px",color:r,fontFamily:n},children:e})]}),c("span",{style:{fontSize:s?"17px":"13px",fontWeight:700,color:o,fontFamily:Ee.mono,letterSpacing:"0.3px"},children:t})]}),$i=tn(Cp),kp=({isOpen:e,data:t,isLocking:n,lockError:s,onContinue:o,onClose:r,primaryColor:a,fontFamily:i,dark:d=!1})=>{const{dk:l}=It(),[u,p]=R(!1),[m,h]=R(!0),f=d?l.cardBg:"#ffffff",y=l.textPrimary,g=l.textSecondary,w=d?l.inputPlaceholder:"#9ca3af",x=d?l.successBg:"#d1fae5",B=d?l.successBorder:"#6ee7b7",k=d?l.successText:"#065f46",C=l.errorBg,T=l.errorBorder;G(()=>{e||p(!1)},[e]);const A=()=>{p(!0),setTimeout(r,300)};if(!e||!t)return null;const v=[{label:"NETWORK",value:t.sourceNetwork.toUpperCase()},{label:"DEPOSITED AMOUNT",value:`${t.depositedAmount} ${t.depositedSymbol}`,positive:!0}];return b("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:10,animation:u?"lockSlideDown 0.3s ease-in":"lockSlideUp 0.3s ease-out",pointerEvents:"auto"},children:[b("div",{style:{backgroundColor:f,width:"100%",padding:"18px 24px",boxShadow:d?"0 -4px 20px rgba(0,0,0,0.4)":"0 -4px 20px rgba(0,0,0,0.15)"},children:[b("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",backgroundColor:x,border:`1px solid ${B}`,borderRadius:"8px",padding:"10px 14px",marginBottom:"16px"},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[b("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[c("circle",{cx:"10",cy:"10",r:"10",fill:"#10b981"}),c("path",{d:"M6 10l3 3 5-6",stroke:"#fff",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),c("span",{style:{fontSize:"13px",fontWeight:700,color:k,fontFamily:Ee.mono,letterSpacing:"0.3px"},children:"CONFIRMED TRANSACTION"})]}),t.explorerUrl&&b("a",{href:t.explorerUrl,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"12px",color:k,textDecoration:"none",display:"flex",alignItems:"center",gap:"4px",fontFamily:i},children:["View on explorer",c("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:c("path",{d:"M2.5 9.5L9.5 2.5M9.5 2.5H5M9.5 2.5V7"})})]})]}),b("div",{onClick:()=>h(S=>!S),style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer",marginBottom:"8px"},children:[c("span",{style:{fontSize:"13px",fontWeight:500,color:g,fontFamily:i},children:"Transaction Details"}),b("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[c(Yn,{color:g,direction:m?"up":"down"}),c("button",{onClick:S=>{S.stopPropagation(),A()},style:{background:"none",border:"none",cursor:"pointer",padding:"2px",color:g,display:"flex",alignItems:"center"},children:c("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:c("path",{d:"M11 3L3 11M3 3l8 8",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round"})})})]})]}),c("div",{style:{overflow:"hidden",maxHeight:m?"200px":"0",opacity:m?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease",marginBottom:m?"16px":"8px",display:"flex",flexDirection:"column",gap:"10px"},children:v.map(S=>b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:{fontSize:"12px",fontWeight:500,color:w,fontFamily:Ee.mono,letterSpacing:"0.5px"},children:S.label}),c("span",{style:{fontSize:"12px",fontWeight:600,color:S.positive?"#10b981":y,fontFamily:Ee.mono},children:S.value})]},S.label))}),s&&c("div",{style:{marginBottom:"12px",padding:"10px 14px",backgroundColor:C,border:`1px solid ${T}`,borderRadius:"6px"},children:c("p",{style:{color:"#ef4444",fontSize:"13px",margin:0,fontFamily:i},children:s})}),c(Ot,{variant:"outline",fullWidth:!0,onClick:o,disabled:n,loading:n,dark:d,styles:{button:{backgroundColor:a}},style:{height:"48px"},children:n?"LOCKING...":"CONTINUE \u2192"}),c("div",{style:{marginTop:"12px",display:"flex",justifyContent:"center"},children:c("img",{src:$o,alt:"Powered by SpiceNet",style:{height:"auto",width:"130px"}})})]}),c("style",{children:`
68
68
  @keyframes lockSlideUp {
69
69
  from { transform: translateY(100%); }
70
70
  to { transform: translateY(0); }
@@ -77,9 +77,9 @@ import{jsx as c,jsxs as w,Fragment as Gt}from"react/jsx-runtime";import xn,{useS
77
77
  from { transform: rotate(0deg); }
78
78
  to { transform: rotate(360deg); }
79
79
  }
80
- `})]})};function Ji(e,t){return e._source!=="wallet"||e.chainId!==t?!1:e.isNative||he(e.address)||!xt(e.address,e.chainId)}function bp(e,t){return e._source!=="wallet"||e.chainId!==t||e.isNative||he(e.address)?!1:!xt(e.address,e.chainId)}function wp(e,t){const n=e[0];if(e.length!==1||!n||n.chainId!==t.chainId||n.domain==="spicenet"||n.tokenTransfers?.length||n.calls.length===0)throw new Error("SpiceLock requires one lock-chain action batch. Return only lock approval and action calls, without funding transfers.");if(t.amountIn<=0n)throw new Error("Enter a positive amount to lock.");if(t.swap&&(t.swap.amountOutMinimum<=0n||t.swap.amountOutMinimum>t.swap.amountOut||t.swap.calls.length===0))throw new Error("A valid swap quote is required before locking. Please retry.");return[{...n,calls:[...t.swap?.calls??[],...n.calls],...t.escrowFunded?{tokenTransfers:[{token:Je(t.tokenIn),from:"escrow",to:t.recipient,amount:t.amountIn}]}:{}}]}function Cp(e){const t=new Map;for(const n of e){if(n.amount<=0n)continue;const o=bt(n.token),s=bt(n.to),r=`${o.toLowerCase()}:${s.toLowerCase()}`,a=t.get(r);a?a.amount+=n.amount:t.set(r,{token:o,to:s,amount:n.amount})}return[...t.values()]}function kp(e,t){return`0x${t}${e.slice(4)}`}function $i(e,t){return _i(e,t)}function _i(e,t,n){const o=ts(t,e),s=Math.floor(Date.now()/1e3)+60*10,r=Nn(o);return{user:e,...n?{chainAuthorizations:n}:{},intents:[{mode:"7702",signatureType:"ecdsa",signature:"0x00",nbf:0,exp:s,chainBatches:r.map((a,i)=>({hash:a.hash,chainId:a.chainId,tokenTransfers:o[i].domain==="spicenet"?[]:o[i].tokenTransfers??[],calls:a.calls}))}]}}function jn(e,t,n,o){if(e.some(p=>p.domain==="spicenet"))return e;const s=n?.intents.flatMap(p=>p.batches),r=p=>p.from==="escrow",a=e.map(p=>{const u=s?.find(v=>v.chainId===p.chainId);if(!u)return p;const m=nn(u),h=m.totalFee;if(h<=0n)return p;const f=(p.tokenTransfers??[]).filter(v=>r(v)&&bt(v.to).toLowerCase()===t.toLowerCase()),y=f.find(v=>!he(bt(v.token)))??f[0];if(!y)return p;const g=bt(y.token),k=he(g);let x=!1;const F=(p.tokenTransfers??[]).map(v=>x||!r(v)||bt(v.to).toLowerCase()!==t.toLowerCase()||bt(v.token).toLowerCase()!==g.toLowerCase()?v:(x=!0,{...v,amount:o?.payoutAlreadyGross?BigInt(v.amount):BigInt(v.amount)+h}));if(!x)return p;const b=(v,E)=>k?{to:v,value:E,data:"0x"}:{to:g,value:0n,data:ot({abi:ze,functionName:"transfer",args:[v,E]})},C=[];m.spicenetFee>0n&&C.push(b(Kn,m.spicenetFee));const T=m.gasFee+m.bridgeFee;return T>0n&&C.push(b(ln,T)),{...p,tokenTransfers:F,calls:[...C,...p.calls]}}),i=a.flatMap(p=>(p.tokenTransfers??[]).filter(r).map(u=>{const m=bt(u.token),h=bt(u.to),f=[{token:m,to:h,amount:BigInt(u.amount)}];return{chainId:p.chainId,transfers:Cp(f)}}));if(i.length===0)return e;const d=o?.requestTimestampMs??Date.now(),l=BigInt(Math.floor(d/1e3))+3600n;return[{chainId:ac,domain:"spicenet",tokenTransfers:[],calls:i.map((p,u)=>{const m=ta(Un([{type:"address"},{type:"address"},{type:"uint256"},{type:"uint256"},{type:"uint256"}],[t,p.transfers[0].token,p.transfers.reduce((f,y)=>f+y.amount,0n),BigInt(p.chainId),BigInt(d+u)])),h=kp(m,"77");return{to:"0x0000000000000000000000000000000000000000",value:0n,data:ot({abi:$r,functionName:"createWithdrawalRequest",args:[{chainId:`evm:${p.chainId}`,idempotenceKey:h,nbf:0n,exp:l,metadata:"{}",transfers:p.transfers.map(f=>({token:f.token.toLowerCase(),to:f.to,amount:f.amount}))}]})}})},...a]}const vp=60*60,el=(e,t)=>!!e&&e.grossAmount===t.grossAmount&&e.netAmount===t.netAmount&&e.feeAmount===t.feeAmount;function Wo(e,t){return t?e.some(n=>(n.tokenTransfers??[]).some(o=>o.from==="escrow"&&BigInt(o.amount)>=t.grossAmount)):!1}function tl(e){return!e.isSemi7702&&e.isDirectDeposit&&!e.isSourceDestToken&&!!e.selectedAsset?.asset&&!Ji(e.selectedAsset.asset,e.lockChainId)}function vr(e){if(e.swapFunding)return e.swapFunding.amount;const t=e.selectedAsset?.asset,n=e.selectedAsset?.amount;if(!(!t||!n))return _e(n,t.decimals)}async function bs({user:e,batches:t,authorizations:n,adjustBatchesForEstimate:o}){let s=t;for(let r=0;r<10;r+=1){const a=await zt.estimateActionFees(_i(e,s,n)),i=await o({feeEstimate:a,batches:s});if(!i||Ta(s,i))return s;s=i}throw new Error("Fee estimate did not converge. Please retry.")}function Ip(e){return{chainId:e.sourceChainId,calls:e.isNative?[{to:e.target,value:e.amount,data:"0x"}]:[{to:e.tokenAddr,value:0n,data:ot({abi:ze,functionName:"transfer",args:[e.target,e.amount]})}]}}function Ir(e,t,n,o){const s=e.selectedAsset.asset,r=vr(e),a=s.chainId,i=e.escrowAddress||An(a),d=Je(s.address),l=s.isNative||he(d),p=n.some(m=>m.tokenTransfers?.some(h=>h.from==="escrow")),u=bp(s,e.lockChainId);return{asset:s,userNetAmountWei:r,sourceChainId:a,tokenAddr:d,isNative:l,hasEscrowBackedPayout:p,composeBatches:(m,h,f,y)=>{if(u)return p?jn([...h],t,f,{payoutAlreadyGross:Wo(h,y),...o!==void 0?{requestTimestampMs:o}:{}}):h;const g=Ip({sourceChainId:a,target:i,tokenAddr:d,isNative:l,amount:m});if(!p)return[g,...h];const k=jn([...h],t,f,{payoutAlreadyGross:Wo(h,y),...o!==void 0?{requestTimestampMs:o}:{}});return[g,...k]}}}function Ar(e){const t={};return{state:t,adjustBatchesForEstimate:({feeEstimate:n})=>{const o=Js(n,{symbol:e.symbol,decimals:e.decimals,actionAmount:e.actionAmount});if(!o)return null;t.plan={grossAmount:o.grossAmount,netAmount:o.netAmount,feeAmount:o.totalFee??0n};const s=Vn(e.ctx,t.plan);return e.rebuild(s,n,t.plan)}}}function Vn(e,t){const n=e.selectedAsset?.asset;if(!n||!e.selectedAsset?.amount)throw new Error("Select an asset and enter an amount");const o=_e(e.selectedAsset.amount,n.decimals),s=t?Tn(t.grossAmount,e.swapFunding?.decimals??n.decimals,n.decimals,"ceil"):o;return e.resolveLockBatches({amount:e.selectedAsset.amount,amountWei:o,grossAmount:$e(s,n.decimals),grossAmountWei:s})}async function Sr(e,t,n){e.assertCurrentQuote?.();const o=e.isSemi7702&&e.embeddedWalletAddress||e.address;if(!e.isConnected||!o)throw new Error("Please connect your wallet to continue");if(t.length===0)throw new Error("No lock batches configured");if(!e.ready||!e.authenticated)throw new Error(`Please authenticate with ${e.provider||"wallet provider"} to continue`);const s=n??await So({chainBatches:t,signingAddress:o,actions:e.actions}),r=Nn(t),a=Math.floor(Date.now()/1e3)+vp;e.assertCurrentQuote?.();const i={mode:"7702",signatureType:"ecdsa",signature:await Wa(e.actions,t,BigInt(a)),nbf:0,exp:a,chainBatches:r.map((l,p)=>{const u=t[p],m=u.domain==="spicenet";return{hash:l.hash,chainId:l.chainId,tokenTransfers:m?[]:u.tokenTransfers??[],calls:l.calls}})};e.assertCurrentQuote?.();const d=await zt.createAction({user:o,chainAuthorizations:s,intents:[i]});if(d){const l=Fs(t,Jt),[p,u]=d.intentIds[0].split("/"),m=parseInt(u||"0",10),h=d.intentIds[0];e.beginStatusTracking(d.intentIds[0],l),await Ba({actionId:p,intentIndex:m,intentId:h,totalSteps:t.length,isSpicenetStep:f=>t[f]?.domain==="spicenet",maxExecuteAttemptsForStep:f=>t[f]?.domain==="spicenet"?6:3,onStepUpdate:e.applyStepUpdate,maxPolls:72})}}function Er(e,t){const n=e.feeQuote;return n?t.adjustBatchesForEstimate({feeEstimate:n.feeEstimate,batches:[]}):null}async function Ap(e){const t=Vn(e);if(t.length===0)throw new Error("No lock batches configured");const n=e.isSemi7702&&e.embeddedWalletAddress||e.address;if(!e.isConnected||!n)throw new Error("Please connect your wallet to continue");const o=await So({chainBatches:t,signingAddress:n,actions:e.actions}),s=Date.now(),r=Ar({ctx:e,actionAmount:vr(e),symbol:e.swapFunding?.symbol??e.selectedAsset?.asset.symbol??"",decimals:e.swapFunding?.decimals??e.selectedAsset?.asset.decimals??18,rebuild:(i,d,l)=>jn([...i],n,d,{payoutAlreadyGross:Wo(i,l),requestTimestampMs:s})});let a=Er(e,r)??jn([...t],n,void 0,{requestTimestampMs:s});a=await bs({user:n,batches:a,authorizations:o,adjustBatchesForEstimate:r.adjustBatchesForEstimate}),await Sr(e,a,o)}async function Sp(e){if(!e.selectedAsset?.asset||!e.selectedAsset.amount)throw new Error("Select an asset and enter an amount");const t=e.embeddedWalletAddress||e.address;if(!e.isConnected||!t)throw new Error("Please connect your wallet to continue");const n=e.resolveLockBatches();if(n.length===0)throw new Error("No lock batches configured");const o=Ir(e,t,n,Date.now()),s=Ar({ctx:e,actionAmount:o.userNetAmountWei,symbol:e.swapFunding?.symbol??o.asset.symbol,decimals:e.swapFunding?.decimals??o.asset.decimals,rebuild:(i,d,l)=>o.composeBatches(l.grossAmount,i,d,l)});let r=Er(e,s)??o.composeBatches(o.userNetAmountWei,Vn(e));const a=await So({chainBatches:r,signingAddress:t,actions:e.actions});o.hasEscrowBackedPayout&&(r=await bs({user:t,batches:r,authorizations:a,adjustBatchesForEstimate:s.adjustBatchesForEstimate})),await Sr(e,r,a)}async function Ep(e){if(!e.selectedAsset?.asset||!e.selectedAsset.amount)throw new Error("Select an asset and enter an amount");if(!e.externalWalletAddress||!e.externalWallet)throw new Error("Please connect your external wallet to continue");const t=e.embeddedWalletAddress;if(!t)throw new Error("Embedded wallet not available \u2014 sign in to create one before locking");if(e.onLockExecute){const f=e.resolveLockBatches();if(f.length===0)throw new Error("No lock batches configured");const y=e.selectedAsset.asset,g=_e(e.selectedAsset.amount,y.decimals),k=await e.onLockExecute({asset:y,amount:e.selectedAsset.amount,amountWei:g,lockDurationMonths:e.selectedDuration?.months??0,chainBatches:f});k&&e.onLockSuccess?.(k);return}const n=e.resolveLockBatches();if(n.length===0)throw new Error("No lock batches configured");const o=Ir(e,t,n,Date.now()),{userNetAmountWei:s}=o,r=Ar({ctx:e,actionAmount:s,symbol:o.asset.symbol,decimals:o.asset.decimals,rebuild:(f,y,g)=>o.composeBatches(g.grossAmount,f,y,g)});let a=Er(e,r)??o.composeBatches(s,Vn(e));const i=await So({chainBatches:a,signingAddress:t,actions:e.actions});o.hasEscrowBackedPayout&&(a=await bs({user:t,batches:a,authorizations:i,adjustBatchesForEstimate:r.adjustBatchesForEstimate}));const d=r.state.plan?.grossAmount??s,{extWc:l,viemChain:p}=await lo({wallet:e.externalWallet,account:e.externalWalletAddress,chainId:o.sourceChainId}),u=pt(o.sourceChainId),m=f=>rr({extWc:l,sourceClient:u,recipient:t,tokenAddr:o.tokenAddr,isNative:o.isNative,amount:f,viemChain:p});await m(d);let h=d;if(o.hasEscrowBackedPayout)for(let f=0;f<4;f+=1){a=await bs({user:t,batches:a,authorizations:i,adjustBatchesForEstimate:r.adjustBatchesForEstimate});const y=r.state.plan?.grossAmount??s;if(y<=h)break;await m(y-h),h=y}await Sr(e,a,i)}async function Fp(e,t){if(!e.selectedAsset?.asset||!e.selectedAsset.amount||!e.requiresRelayerFeeEstimate)return null;if(e.isSemi7702||tl(e)){const d=e.embeddedWalletAddress||e.address;if(!d)throw new Error("Embedded wallet not available \u2014 sign in to create one before locking");const l=e.feeQuote;let p=Vn(e,l?.plan);if(p.length===0)throw new Error("No lock batches configured");const u=Ir(e,d,p),{asset:m,userNetAmountWei:h}=u;let f=l?u.composeBatches(l.plan.grossAmount,p,l.feeEstimate,l.plan):u.composeBatches(h,p,void 0,{grossAmount:h,netAmount:0n,feeAmount:0n}),y=null,g=l?.plan;for(let k=0;k<4;k+=1){const x=await zt.estimateActionFees($i(d,f),{signal:t}),F=Js(x,{symbol:e.swapFunding?.symbol??m.symbol,decimals:e.swapFunding?.decimals??m.decimals,actionAmount:h});if(!F)return y;const b={grossAmount:F.grossAmount,netAmount:F.netAmount,feeAmount:F.totalFee??0n},C=el(g,b);if(y={preview:F,feeEstimate:x,plan:b},g=b,p=Vn(e,b),f=u.composeBatches(b.grossAmount,p,x,b),C)break}return y}const n=e.address;if(!e.isConnected||!n)throw new Error("Please connect your wallet to continue");const o=e.feeQuote;let s=Vn(e,o?.plan);if(s.length===0)throw new Error("No lock batches configured");let r=jn([...s],n,o?.feeEstimate,o?{payoutAlreadyGross:Wo(s,o.plan)}:void 0),a=null,i=o?.plan;for(let d=0;d<4;d+=1){const l=await zt.estimateActionFees($i(n,r),{signal:t}),p=Js(l,{symbol:e.swapFunding?.symbol??e.selectedAsset.asset.symbol,decimals:e.swapFunding?.decimals??e.selectedAsset.asset.decimals,actionAmount:vr(e)});if(!p)return null;const u={grossAmount:p.grossAmount,netAmount:p.netAmount,feeAmount:p.totalFee??0n},m=el(i,u);if(a={preview:p,feeEstimate:l,plan:u},i=u,s=Vn(e,u),r=jn([...s],n,l,{payoutAlreadyGross:Wo(s,u)}),m)break}return a}async function Bp(e){if(!e.selectedAsset?.asset||!e.selectedAsset.amount)throw new Error("Select an asset and enter an amount");const t=e.activeSignerWallet??e.externalWallet,n=e.activeSignerAddress??e.externalWalletAddress;if(!n||!t)throw new Error("Please connect your wallet to continue");const o=e.resolveLockBatches();if(o.length===0)throw new Error("No lock batches configured");const s=o.find(l=>l.chainId===e.lockChainId)||o[0];if(!s)throw new Error("No lock batch for lock chain");const{extWc:r,viemChain:a}=await lo({wallet:t,account:n,chainId:e.lockChainId}),i=pt(e.lockChainId),d=await ja({extWc:r,client:i,calls:s.calls,viemChain:a,errorMessage:"Lock transaction failed"});d&&e.onLockSuccess?.(d)}async function Tp(e){if(!e.selectedAsset?.asset||e.parsedAmount<=0){e.ui.setError("Select an asset and enter an amount");return}if(e.isInsufficientBalance){e.ui.setError("Insufficient balance. Add more assets.");return}try{e.assertCurrentQuote?.()}catch(n){e.ui.setError(n instanceof Error?n.message:"Refresh the lock quote before continuing.");return}e.ui.setIsExecuting(!0),e.ui.setError(null);const t=n=>{console.error("[SpiceLock] lock failed:",n);const o=mn(n,""),s=typeof n?.shortMessage=="string"?n.shortMessage:typeof n?.message=="string"?n.message:"";e.ui.setError(o||s||"Transaction failed. Please try again.")};if(e.isSemi7702){if(e.isSourceDestToken){try{await Bp(e)}catch(n){t(n)}finally{e.ui.setIsExecuting(!1)}return}e.ui.setShowStatusPanel(!0);try{await Ep(e)}catch(n){t(n)}finally{e.ui.setIsExecuting(!1)}return}e.ui.setShowStatusPanel(!0);try{tl(e)?await Sp(e):await Ap(e)}catch(n){t(n)}finally{e.ui.setIsExecuting(!1)}}const Dp=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,lockBatches:o,lockTokenSymbol:s,lockTokenLogoURI:r,destinationInputHook:a,sourceAssetInputHook:i,lockDurationHook:d,lockChainId:l,durationOptions:p,votingPowerEstimate:u,escrowAddress:m,includeWalletAssets:h=!1,destinationTokenAddress:f,onLockSuccess:y,onLockError:g,onLockExecute:k,sourceToDestinationConversionRate:x,onAddFunds:F,buildSpicenetBatch:b,styles:C,dark:T=!1})=>{const{theme:v,dark:E,primaryColor:A,dk:S}=At(C,T),I=v.typography.fontFamily,D=Vt(Lt),B=D?.mode||"7702",H=!!D?.isWhitelistGateActive,W=B!=="7702",P=$(()=>D?.supportedChainIds??[],[D?.supportedChainIds]),_=$(()=>{if(H)return[];const ne=D?.allowedTokens;if(!ne||ne.length===0)return[];const Me=new Set(ne.map(Rt=>Rt.toLowerCase())),lt=[],Ft=new Set;for(const Rt of P){const Qn=Ue(Rt);for(const un of Qn?.supportedTokens??[]){if(!Me.has(un.symbol.toLowerCase()))continue;const pn=`${Rt}:${un.address.toLowerCase()}`;Ft.has(pn)||(Ft.add(pn),lt.push(bt(un.address)))}}return lt},[D?.allowedTokens,P,H]),U=E?S.cardBg:C?.assetSelector?.backgroundColor||C?.secondaryBackground||"#e9e9e9",N=E?`1px solid ${S.cardBorder}`:"0.5px solid #A8A8A7",O=E?"12px":"6px",j=E?S.textPrimary:"#111827",K=E?S.textSecondary:"#6b7280",L=$(()=>({...C,assetSelector:{...C?.assetSelector,backgroundColor:E?S.cardBg:C?.assetSelector?.backgroundColor,borderRadius:E?"12px":C?.assetSelector?.borderRadius},secondaryBackground:E?S.cardBg:C?.secondaryBackground}),[C,E]),q=$(()=>E?{...v,colors:{...v.colors,secondary:S.cardBg,surfaceHover:S.hoverBg,border:S.cardBorder,borderHover:S.inputBorder}}:v,[E,v]),[M,ae]=R(null),[ke,Q]=R(0),G=d?.selectedDurationIdx??ke,ie=d?.setSelectedDurationIdx??Q,[fe,ue]=R(!1),[qe,z]=R(null),le=Z(g);le.current=g;const oe=se(ne=>{z(ne),typeof ne=="string"&&ne&&le.current?.(ne,go(ne))},[]),[me,V]=R(null),[re,xe]=R(!1),[ee,ve]=R(null),[st,ye]=R(null),[mt,rt]=R(!1),[Ke,Mt]=R(!1),[Le,Zt]=R(null),ct=In(),{isReady:Ee,isAuthenticated:Ye,isConnected:dt,address:J,provider:St,actions:Bt}=ct,{externalWallet:ft,activeWallet:Xe,activeAddress:Pt,embeddedAddress:Se}=eo(),{intentStatus:Ne,beginStatusTracking:ge,applyStepUpdate:Oe,clearStatus:Ve}=ao(),{assets:wt,refetch:Tt}=Bo({address:J,supportedChains:P,enabled:e&&dt&&!W&&!H,refetchInterval:3e4}),Ce=$(()=>{if(H)return[];if(_.length===0)return wt;const ne=new Set(_.map(Me=>Je(Me).toLowerCase()));return wt.filter(Me=>ne.has(Je(Me.address).toLowerCase()))},[wt,_,H]),et=D?.embeddedWalletAddress,qt=D?.externalWalletAddress,on=W?Pt??qt:et??Se,{walletAssets:Te,refreshWalletAssets:ce}=Ou({isOpen:e,includeWalletAssets:h,isWhitelistGateActive:H,isSemi7702:W,destinationTokenAddress:f,sourceAssets:_,sourceChains:P,walletAddressForAssets:on,lockChainId:l,lockTokenSymbol:s,lockTokenLogoURI:r}),He=$(()=>Te.filter(ne=>ne.balance>0n),[Te]),We=$(()=>{let ne;return W?ne=He.map(Me=>({...Me,_source:"wallet"})):h?ne=[...He.map(Me=>({...Me,_source:"wallet"})),...Ce.map(Me=>({...Me,_source:"spice"}))]:ne=Ce,[...ne].sort((Me,lt)=>fi(Me,lt,(f??"").toLowerCase(),l))},[W,h,He,Ce,f,l]),Ct=$(()=>H?f?We.filter(ne=>Be(ne.address,f)&&ne.chainId===l):[]:We,[We,H,f,l]),Xt=Z(null),ht=Z(null);X(()=>{ht.current=M},[M]),X(()=>{!H||!M?.asset||f&&Be(M.asset.address,f)&&M.asset.chainId===l||ae(null)},[H,M?.asset,f,l]),X(()=>{e||(ae(null),oe(null),V(null),xe(!1),ve(null),ye(null),ue(!1),Mt(!1),Zt(null),rt(!1),Ve())},[e,Ve]),X(()=>{a&&a.assetAmount!==(M?.amount||"")&&ae(ne=>ne&&{...ne,amount:a.assetAmount})},[a?.assetAmount]),X(()=>{i&&i.assetAmount!==(M?.amount||"")&&ae(ne=>ne&&{...ne,amount:i.assetAmount})},[i?.assetAmount]),X(()=>{if(!W&&Ne?.overallStatus==="success"&&Ne.intentId&&Xt.current!==Ne.intentId&&J&&Ne.steps.find(ne=>ne.transactionHash)?.transactionHash){Xt.current=Ne.intentId;const ne=ht.current;if(!ne?.asset||!ne.amount||ne.asset._source==="wallet"||_e(ne.amount,ne.asset.decimals)===0n)return;Tt()}},[Ne,J,l,Tt,W]);const De=parseFloat(M?.amount||"")||0,Ze=$(()=>M?.asset?M.asset._source==="wallet"?M.asset.balanceFormatted??0:Ce.find(ne=>Be(ne.address,M.asset.address)&&ne.chainId===M.asset.chainId)?.balanceFormatted??0:0,[M?.asset,Ce]),Ge=d?.selectedDuration??p[G]??p[0],tt=$(()=>!M?.asset||!f?!1:Be(M.asset.address,f)&&M.asset.chainId===l,[M?.asset,f,l]),gt=!W&&typeof o=="function"&&!!f&&!tt,Ot=mp({enabled:e&&gt,selectedAsset:M,lockChainId:l,destinationTokenAddress:f,lockTokenSymbol:s,lockTokenLogoURI:r,recipient:et}),je=Ot.conversion,yt=$(()=>De<=0?0:gt?je?Number($e(je.minimum,je.output.decimals)):0:tt?De:!x||x<=0?0:De/x,[De,x,tt,gt,je]),Ht=$(()=>yt<=0?null:yt.toLocaleString(void 0,gt?{maximumSignificantDigits:6}:{maximumFractionDigits:2}),[yt,gt]),Et=u&&yt>0&&Ge?u(yt,Ge.months):void 0,_t=$(()=>{if(De<=0)return"$0.00";if(gt){const ne=M?.asset;return!ne||ne.balanceFormatted<=0||ne.balanceUsd<=0?null:(De*ne.balanceUsd/ne.balanceFormatted).toLocaleString(void 0,{style:"currency",currency:"USD",maximumFractionDigits:2})}return tt&&x?(De*x).toLocaleString(void 0,{style:"currency",currency:"USD",maximumFractionDigits:2}):!x||x<=0?"$0.00":De.toLocaleString(void 0,{style:"currency",currency:"USD",maximumFractionDigits:2})},[De,x,tt,gt,M?.asset]),kt=$(()=>{if(!Ht)return null;if(gt){const Me=Te.find(lt=>lt.chainId===l&&Be(lt.address,f));return!Me||Me.balanceFormatted<=0||Me.balanceUsd<=0?null:(yt*Me.balanceUsd/Me.balanceFormatted).toLocaleString(void 0,{maximumFractionDigits:2})}const ne=parseFloat(Ht.replace(/,/g,""));return tt&&x?(ne*x).toLocaleString(void 0,{maximumFractionDigits:2}):x?(ne*x).toLocaleString(void 0,{maximumFractionDigits:2}):null},[Ht,x,tt,gt,Te,l,f,yt]),sn=se(ne=>{ae(Me=>({asset:ne,amount:Me?.asset?.address===ne.address&&Me?.asset?.chainId===ne.chainId&&Me.amount||""})),oe(null),V(null),ve(null),ye(null),i?.setSelectedAsset&&i.setSelectedAsset({symbol:ne.symbol,address:ne.address,decimals:ne.decimals,chainId:ne.chainId})},[i?.setSelectedAsset]),Nt=se(ne=>{ae(Me=>Me&&{...Me,amount:ne}),oe(null),V(null),ve(null),ye(null),a&&a.setAssetAmount(ne),i&&i.setAssetAmount(ne)},[a,i]),gn=se(ne=>{if(typeof o=="function"){if(!M?.asset||!M.amount)throw new Error("Select an asset and enter an amount");if(gt){if(!je||!et||je.expiresAt!==null&&Date.now()>=je.expiresAt)throw new Error(Ot.error||"Wait for a current swap quote before locking.");const Me=o({asset:je.output,amount:$e(je.minimum,je.output.decimals),amountWei:je.minimum,feeAdjusted:!!ne});return wp(Me,{chainId:l,recipient:et,tokenIn:je.input.address,amountIn:je.amountIn,swap:je.swap,escrowFunded:!Ji(M.asset,l)})}return o({asset:M.asset,amount:ne?.amount??M.amount,amountWei:ne?.amountWei??_e(M.amount,M.asset.decimals),grossAmount:ne?.grossAmount,grossAmountWei:ne?.grossAmountWei,feeAdjusted:!!ne})}return o},[o,M,gt,je,et,l,Ot.error]),Cn=Z(null),de=Z(null),te=$(()=>!M?.asset||De<=0?!1:W?!tt&&!k:!0,[M,De,W,tt,k]),Ie=se(ne=>Fp(Cn.current,ne),[]),Pe=Z(null),nt=$(()=>!M?.asset||De<=0||gt&&!je?null:Symbol("lock-fee-input"),[M?.asset?.address,M?.asset?.chainId,M?.amount,M?.asset?.decimals,M?.asset?._source,De,et,J,qt,f,l,W,gt,je?.key,Ge?.months,o,m]),Re=!!nt&&ee===nt,at=Re?st:null,Kt=De>0&&(at?Number($e(at.grossAmount,at.decimals))>Ze:De>Ze);Go({shouldRun:e&&!fe&&!!M?.asset&&De>0&&(!gt||!!je)&&te,deps:[e,fe,nt,te,gt,Ie],delayMs:500,backgroundIntervalMs:3e4,onSkip:()=>{if(!(!e||fe)){if(!M?.asset||De<=0){V(null),xe(!1),ve(null),ye(null);return}V(null),xe(!1),ve(nt),ye(null)}},run:async({isBackground:ne,isCurrent:Me,signal:lt})=>{const Ft=nt;ne||(V(null),ve(null),xe(!0));try{const Rt=await Ie(lt);if(!Me())return;Pe.current=Rt&&Ft?{key:Ft,quote:Rt}:null,V(null),ve(Ft),ye(Rt?.preview??null)}catch(Rt){if(!Me())return;ne||(V(mn(Rt,"Unable to calculate fees for this lock.")),ve(null))}finally{Me()&&!ne&&xe(!1)}}}),X(()=>{if(Ne?.overallStatus==="success"){const ne=Ne.steps.find(Me=>Me.transactionHash);y?.(ne?.transactionHash)}},[Ne?.overallStatus,y]);const ut=h&&M?.asset?._source==="wallet"&&M?.asset?.chainId===l,Ut=se(()=>Tp(Cn.current),[]),it=!!M?.asset&&De>0&&!Kt&&!fe&&(!gt||!!je)&&(!te||Re&&!re&&!me),Yt=qe||Ot.error||me,Dt=w("div",{style:{display:"flex",alignItems:"flex-start",gap:"6px"},children:[c(tr,{color:K}),w("p",{style:{fontSize:"13px",color:K,margin:0,lineHeight:"1.5"},children:["Add ",s," by converting assets from your account"]})]});if(de.current={key:nt,conversionKey:je?.key??null},Cn.current={selectedAsset:M,parsedAmount:De,selectedDuration:Ge,isInsufficientBalance:Kt,isSemi7702:W,isSourceDestToken:tt,isDirectDeposit:ut,requiresRelayerFeeEstimate:te,address:J,embeddedWalletAddress:et,externalWallet:ft,externalWalletAddress:qt,activeSignerWallet:Xe,activeSignerAddress:Pt,isConnected:dt,ready:Ee,authenticated:Ye,provider:St,actions:Bt,lockChainId:l,escrowAddress:m,onLockExecute:k,onLockSuccess:y,buildSpicenetBatch:b,resolveLockBatches:gn,beginStatusTracking:ge,applyStepUpdate:Oe,refreshSpiceAssets:Tt,refreshWalletAssets:ce,feeQuote:nt&&Pe.current?.key===nt?Pe.current.quote:null,...gt?{swapFunding:je?{amount:je.amountIn,decimals:je.input.decimals,symbol:je.input.symbol}:void 0,assertCurrentQuote:()=>{if(!je||!Re||de.current?.key!==nt||de.current?.conversionKey!==je.key||je.expiresAt!==null&&Date.now()>=je.expiresAt)throw new Error("The lock quote changed or expired. Review the updated amount and try again.")}}:{},ui:{setError:oe,setIsExecuting:ue,setShowStatusPanel:rt}},!e)return null;const dn={backgroundColor:U,border:N,borderRadius:O,padding:"16px",marginBottom:"16px"};return c(fn,{isOpen:e,onClose:t,title:`Add ${s} to your account`,subtitle:Dt,styles:C,dark:E,footerLinkText:"Spicenet accounts \u2192",overlayContent:Ke?c("div",{}):void 0,closeOnBackdropClick:n,children:w("div",{style:{padding:"0 24px 8px 24px",position:"relative"},children:[w("div",{style:{marginBottom:"12px"},children:[F&&c("div",{style:{display:"flex",justifyContent:"flex-end",marginBottom:"6px"},children:c(sr,{onClick:F,color:A,fontFamily:I})}),c("div",{style:{marginTop:"10px",fontSize:"13px",color:K,fontFamily:I},children:c(vo,{assets:Ct,selectedAsset:M??void 0,onAssetSelect:sn,onAmountChange:Nt,label:"Amount",showBalance:!0,showMaxButton:!0,theme:q,styles:L})}),c("div",{style:{marginTop:"6px",paddingLeft:"4px",fontSize:"13px",color:K,fontFamily:I},children:_t})]}),w("div",{style:dn,children:[w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"16px",borderBottom:E?`1px solid ${S.cardBorder}`:"1px solid #e5e7eb"},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[r?c("img",{src:r,alt:s,style:{width:"32px",height:"32px",borderRadius:"50%",objectFit:"cover"}}):c("div",{style:{width:"32px",height:"32px",borderRadius:"50%",backgroundColor:E?S.inputBg:"#d1d5db",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"12px",fontWeight:700,color:j},children:s.slice(0,2)}),c("span",{style:{fontSize:"16px",fontWeight:600,color:j,fontFamily:I},children:s})]}),w("div",{style:{textAlign:"right"},children:[c("div",{style:{fontSize:"22px",fontWeight:700,color:j,fontFamily:I,lineHeight:1.1},children:Ht??"0.00"}),(!gt||kt!==null)&&w("div",{style:{fontSize:"12px",color:K,fontFamily:I,marginTop:"2px"},children:["~$",kt??"0.00"]})]})]}),w("div",{style:{paddingTop:"16px",paddingBottom:"16px",borderBottom:E?`1px solid ${S.cardBorder}`:"1px solid #e5e7eb"},children:[w("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"16px"},children:[c("span",{style:{fontSize:"15px",fontWeight:500,color:K,fontFamily:I},children:"Lock Duration"}),c(Yn,{color:K})]}),c(hp,{options:p,selectedIndex:G,onSelect:ie,primaryColor:A,dark:E,textPrimary:j,textSecondary:K})]}),w("div",{style:{paddingTop:"12px",display:"flex",flexDirection:"column",gap:"8px"},children:[c(Gi,{label:"Estimated Lock Expiry",value:Ge?.months!==void 0?gp(Ge.months):"\u2014",fontFamily:I,dark:E,textPrimary:j,textSecondary:K}),u&&c(Gi,{label:"Estimated voting power",value:Et!==void 0?`${Et} votes/epoch`:"\u2014",fontFamily:I,dark:E,textPrimary:j,textSecondary:K})]})]}),te&&c(or,{fontFamily:I,textPrimary:j,textSecondary:K,cardBg:U,cardBorder:N,resolvedDark:E,darkCardBorder:S.cardBorder,primaryColor:A,feePreview:at,isLoading:re||Ot.isQuoting,errorText:me}),Yt&&c(Bn,{variant:"error",palette:S,fontFamily:I,style:{marginBottom:"12px"},children:Yt}),c(Wt,{variant:"outline",fullWidth:!0,onClick:()=>{Ot.error?(oe(null),V(null),ve(null),Ot.retryQuote()):Ut()},disabled:fe||!it&&!Ot.error,loading:fe,dark:E,styles:{...C,button:{...C?.button,backgroundColor:A}},children:fe?tt?"LOCKING...":"CONVERTING...":Ot.error?"RETRY QUOTE":Ot.isQuoting?"GETTING SWAP QUOTE...":re&&te?"CALCULATING FEES...":tt?`LOCK ${s}`:`CONVERT TO ${s}`}),c(xp,{isOpen:Ke,data:Le,isLocking:fe,lockError:Yt,onContinue:Ut,onClose:()=>Mt(!1),primaryColor:A,fontFamily:I,dark:E}),Ne&&mt&&c("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:10,backgroundColor:E?"rgba(0, 0, 0, 0.45)":"rgba(255, 255, 255, 0.55)",backdropFilter:"blur(2px)",WebkitBackdropFilter:"blur(2px)",borderRadius:O},children:c(ur,{type:"lock",showStepBreakdown:!1,isOpen:!!Ne&&Ne.overallStatus!=="processing",isProcessing:fe||Ne?.overallStatus==="processing",closeOnComplete:!1,onRetryTx:()=>{Ve(),rt(!1),Ut()},onNewTx:()=>{Ve(),rt(!1),ae(null),Xt.current=null,Tt(),ce()},onClose:()=>{Ve(),rt(!1)},onComplete:()=>{Ve(),rt(!1),ae(null),Xt.current=null,Tt(),ce()},results:Ne?.overallStatus==="success"||Ne?.overallStatus==="failed"?Ne.steps.map(ne=>({asset:{symbol:M?.asset?.symbol||s,address:M?.asset?.address||""},txHash:ne.transactionHash||"",success:ne.status==="success",amount:M?.amount})):void 0,chainId:l,theme:v,styles:C,dark:E})})]})})};function nl(e){const t=Vt(Lt),n=t?.embeddedWalletAddress,o=e?.enabled===!1?void 0:n,s=t?.network?{network:t.network,pollIntervalMs:e?.pollIntervalMs,chainIds:e?.chainIds??t.supportedChainIds,discoverWalletBalances:e?.discoverWalletBalances}:void 0;return{...Ja(o,s),embeddedWalletAddress:n}}var Rp="data:image/svg+xml,%3csvg width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='black' stroke-opacity='0.5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3e%3cpolyline points='17 1 21 5 17 9' /%3e%3cpath d='M3 11V9a4 4 0 0 1 4-4h14' /%3e%3cpolyline points='7 23 3 19 7 15' /%3e%3cpath d='M21 13v2a4 4 0 0 1-4 4H3' /%3e%3c/svg%3e";const Wp=({appName:e,status:t,statusLabel:n,totalUsdValue:o,breakdownSubtitle:s,showUsdSummary:r=!0,address:a,dk:i,dark:d=!1,showModeToggle:l,isEmbeddedMode:p=!0,onModeToggle:u})=>{const[m,h]=R(!1),f=async()=>{a&&await Vl(a)&&(h(!0),setTimeout(()=>h(!1),2e3))},y=t==="active",g=n||(y?"Active":"Inactive"),k=y?"#10b981":"#9ca3af",x=w("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[w("div",{children:[c("strong",{children:"Embedded:"})," Deposit assets into ",e," account and use them here."]}),w("div",{children:[c("strong",{children:"External:"})," Use assets from your connected wallet here."]})]});return w("div",{children:[w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"4px"},children:[w("div",{style:{fontSize:"13px",fontWeight:600,color:i.textPrimary},children:[e," Account"]}),l?w("div",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[w("button",{onClick:u,style:{display:"flex",alignItems:"center",gap:"4px",padding:"2px 8px",borderRadius:"9999px",backgroundColor:d?i.hoverBg:"#f3f4f6",border:d?`1px solid ${i.cardBorder}`:"1px solid #e5e7eb",cursor:"pointer",fontSize:"11px",fontWeight:600,fontFamily:Ae.mono,color:i.textSecondary,transition:"background-color 150ms ease, border-color 150ms ease, color 150ms ease",letterSpacing:"0.02em"},children:[c("span",{children:p?"Embedded":"External"}),c("img",{src:Rp,alt:"","aria-hidden":"true",style:{width:"11px",height:"11px",display:"block",...d?{filter:"invert(0.65)"}:{}}})]}),c(za,{content:x,label:"Account mode info",textColor:d?i.textPrimary:"#f9fafb",backgroundColor:d?i.cardBg:"#111827",borderColor:d?i.cardBorder:"rgba(255,255,255,0.08)",accentColor:d?i.textSecondary:"#6b7280",children:c("img",{src:cr,alt:"","aria-hidden":"true",style:{width:"12px",height:"12px",display:"block",...d?{filter:"invert(0.65)"}:{}}})})]}):w("div",{style:{display:"flex",alignItems:"center",gap:"4px",padding:"2px 8px",borderRadius:"9999px",backgroundColor:d?i.hoverBg:y?"#ecfdf5":"#f3f4f6",border:d?`1px solid ${i.cardBorder}`:y?"1px solid #a7f3d0":"1px solid #e5e7eb"},children:[c("div",{style:{width:"6px",height:"6px",borderRadius:"50%",backgroundColor:k}}),c("span",{style:{fontSize:"11px",fontWeight:500,color:d?i.textSecondary:y?"#065f46":"#6b7280"},children:g})]})]}),r&&c("div",{style:{fontSize:"28px",fontWeight:700,color:i.textPrimary,lineHeight:1.2,marginBottom:"2px"},children:_n(o)}),r&&s&&c("div",{style:{fontSize:"12px",color:i.textSecondary,marginBottom:"8px"},children:s}),a&&w("div",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[c("span",{style:{fontSize:"12px",fontFamily:Ae.mono,color:d?i.textSecondary:"#9ca3af"},children:jo(a)}),c("button",{onClick:f,style:{padding:"2px 6px",fontSize:"10px",fontWeight:500,backgroundColor:"transparent",color:d?i.textSecondary:"#9ca3af",border:"none",cursor:"pointer",borderRadius:"4px",transition:"background-color 150ms ease, color 150ms ease"},title:"Copy address",children:m?"Copied":"Copy"})]})]})},Mp=tn(Wp),Op=({pendingDeposits:e,onCompleteDeposit:t,dk:n,dark:o=!1})=>e.length===0?null:w("div",{children:[c("div",{style:{fontSize:"11px",fontWeight:600,letterSpacing:"1px",color:n.textSecondary,marginBottom:"8px",textTransform:"uppercase"},children:"Pending Deposits"}),c("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:e.map((s,r)=>{const a=Ue(s.chainId)?.displayName||`Chain ${s.chainId}`;return w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 12px",backgroundColor:o?n.warningBg:"#fffbeb",border:o?`1px solid ${n.warningBorder}`:"1px solid #fde68a",borderRadius:"8px"},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[c("div",{style:{width:"24px",height:"24px",borderRadius:"50%",backgroundColor:o?n.hoverBg:"#fde68a",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"11px",fontWeight:600,color:n.warningText},children:s.tokenSymbol.charAt(0)}),w("div",{children:[w("div",{style:{fontSize:"13px",fontWeight:500,color:n.textPrimary},children:[s.amount," ",s.tokenSymbol]}),w("div",{style:{fontSize:"11px",color:n.warningText},children:["on ",a]})]})]}),c("button",{onClick:()=>t?.(s),style:{padding:"4px 12px",fontSize:"11px",fontWeight:600,backgroundColor:o?n.hoverBg:"#fef3c7",color:o?n.textPrimary:"#92400e",border:o?`1px solid ${n.warningBorder}`:"1px solid #fde68a",borderRadius:"9999px",cursor:"pointer",transition:"background-color 150ms ease, border-color 150ms ease, color 150ms ease"},children:"Complete"})]},`${s.tokenAddress}-${s.chainId}-${r}`)})})]}),Np=tn(Op),Up=e=>`${e.tokenAddress}-${e.chainId}`,Pp=({spiceAssets:e,loading:t,dk:n,dark:o=!1,canDirectWithdraw:s=!1,onDirectWithdraw:r,directWithdrawState:a,onWithdrawClick:i})=>{const d={fontSize:"11px",fontWeight:600,letterSpacing:"1px",color:n.textSecondary,marginBottom:"8px",textTransform:"uppercase"},l={backgroundColor:n.cardBg,border:o?`1px solid ${n.cardBorder}`:"1px solid #e5e7eb",borderRadius:"8px"};return t?w("div",{children:[c("div",{style:d,children:"Idle Balances"}),[1,2].map(p=>c("div",{style:{...l,padding:"12px",marginBottom:"6px",height:"48px",animation:"pulse 1.5s ease-in-out infinite",opacity:.5}},p))]}):e.length===0?w("div",{children:[c("div",{style:d,children:"Idle Balances"}),c("div",{style:{...l,padding:"16px",textAlign:"center",fontSize:"13px",color:o?n.textSecondary:"#9ca3af"},children:"No assets yet. Deposit to get started."})]}):w("div",{children:[c("div",{style:d,children:"Idle Balances"}),c("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:e.map((p,u)=>{const m=Ue(p.chainId),h=p.chainDisplayName||m?.displayName||`Chain ${p.chainId}`,f=p.tokenDisplaySymbol||p.tokenDisplayName||p.tokenSymbol,y=Up(p),g=p.receiptTokenId&&i,k=g||s&&p.directWithdraw&&!!r,x=!g&&a?.key===y?a:null,F=x?.step==="pending";return w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 12px",...l},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[p.logoURI?c("img",{src:p.logoURI,alt:p.tokenSymbol,style:{width:"24px",height:"24px",borderRadius:"50%"}}):c("div",{style:{width:"24px",height:"24px",borderRadius:"50%",backgroundColor:o?n.hoverBg:"#e5e7eb",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"11px",fontWeight:600,color:n.textSecondary},children:f.charAt(0)}),w("div",{children:[c("div",{style:{fontSize:"13px",fontWeight:500,color:n.textPrimary},children:f}),c("div",{style:{fontSize:"11px",color:o?n.textSecondary:"#9ca3af"},children:h})]})]}),w("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[w("div",{style:{textAlign:"right"},children:[c("div",{style:{fontSize:"13px",fontWeight:500,color:n.textPrimary},children:Jn(p.balanceFormatted)}),c("div",{style:{fontSize:"11px",color:x?.step==="error"?n.errorText:o?n.textSecondary:"#9ca3af"},children:x?.step==="error"?x.message||"Withdraw failed":p.receiptTokenId&&(!Number.isFinite(p.usdValue)||p.usdValue<=0)?"\u2014":`${_n(p.usdValue)}${p.priceStatus==="stale"?" (stale)":""}`})]}),k&&c("button",{onClick:()=>{F||(g?g(p.receiptTokenId):r(p))},disabled:F,title:g?"Choose withdrawal network":"Withdraw to external wallet",style:{padding:"6px 10px",borderRadius:"6px",border:o?`1px solid ${n.cardBorder}`:"1px solid #e5e7eb",backgroundColor:o?n.hoverBg:"#ffffff",color:n.textPrimary,fontSize:"11px",fontWeight:600,cursor:F?"default":"pointer",opacity:F?.6:1,whiteSpace:"nowrap"},children:F?"Withdrawing\u2026":"Withdraw"})]})]},`${p.tokenAddress}-${p.chainId}-${u}`)})})]})},Lp=tn(Pp),zp=({section:e,dk:t,dark:n=!1})=>{const o=s=>{switch(s){case"green":return"#10b981";case"red":return"#ef4444";default:return t.textPrimary}};return w("div",{children:[c("div",{style:{fontSize:"11px",fontWeight:600,letterSpacing:"1px",color:t.textSecondary,marginBottom:"8px",textTransform:"uppercase"},children:e.title}),c("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:e.items.map((s,r)=>w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 12px",backgroundColor:t.cardBg,border:n?`1px solid ${t.cardBorder}`:"1px solid #e5e7eb",borderRadius:"8px"},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[s.tokenLogoURI?c("img",{src:s.tokenLogoURI,alt:s.tokenSymbol,style:{width:"20px",height:"20px",borderRadius:"50%"}}):c("div",{style:{width:"20px",height:"20px",borderRadius:"50%",backgroundColor:n?t.hoverBg:"#e5e7eb",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"10px",fontWeight:600,color:t.textSecondary},children:s.tokenSymbol.charAt(0)}),w("div",{children:[c("div",{style:{fontSize:"13px",fontWeight:500,color:t.textPrimary},children:s.tokenSymbol}),c("div",{style:{fontSize:"11px",color:t.textSecondary},children:s.label})]})]}),c("div",{style:{fontSize:"13px",fontWeight:600,color:o(s.valueColor)},children:s.displayValue})]},r))})]})},Hp=tn(zp),jp=({onDepositClick:e,onWithdrawClick:t,depositDisabled:n=!1,withdrawDisabled:o=!1,primaryColor:s="#EA4B4B",dark:r=!1})=>!e&&!t?null:w("div",{style:{display:"flex",gap:"8px"},children:[e&&c(Wt,{variant:"outline",onClick:e,disabled:n,dark:r,styles:{button:{backgroundColor:s}},style:{flex:1,height:"44px",fontSize:"12px"},children:"Deposit"}),t&&c(Wt,{variant:"outline",onClick:()=>t(),disabled:o,dark:r,styles:{button:{backgroundColor:s}},style:{flex:1,height:"44px",fontSize:"12px"},children:"Withdraw"})]}),Vp=tn(jp),Qp=({appName:e,status:t,statusLabel:n,totalUsdValue:o,breakdownSubtitle:s,showUsdSummary:r,address:a,spiceAssets:i,spiceAssetsLoading:d,pendingDeposits:l,customSections:p,notice:u,onDepositClick:m,onWithdrawClick:h,depositDisabled:f,onCompleteDeposit:y,primaryColor:g,dk:k,dark:x=!1,showModeToggle:F,isEmbeddedMode:b,onModeToggle:C,showConnectExternalCta:T,onConnectExternalWallet:v,connectExternalError:E,showHowItWorks:A=!0,canDirectWithdraw:S,onDirectWithdraw:I,directWithdrawState:D})=>{const[B,H]=R(!1);return w("div",{style:{display:"flex",flexDirection:"column",gap:"16px",padding:"16px",maxHeight:"calc(80vh - 32px)",overflowY:"auto"},children:[c(Mp,{appName:e,status:t,statusLabel:n,totalUsdValue:o,breakdownSubtitle:s,showUsdSummary:r,address:a,dk:k,dark:x,showModeToggle:F,isEmbeddedMode:b,onModeToggle:C}),u&&c("div",{style:{padding:"10px 12px",borderRadius:"8px",backgroundColor:u.tone==="warning"?x?"rgba(245, 158, 11, 0.12)":"#fffbeb":u.tone==="success"?x?"rgba(16, 185, 129, 0.12)":"#ecfdf5":k.cardBg,border:u.tone==="warning"?x?"1px solid rgba(245, 158, 11, 0.35)":"1px solid #fde68a":u.tone==="success"?x?"1px solid rgba(16, 185, 129, 0.35)":"1px solid #a7f3d0":x?`1px solid ${k.cardBorder}`:"1px solid #e5e7eb",color:u.tone==="warning"?x?"#fbbf24":"#92400e":u.tone==="success"?x?"#34d399":"#047857":k.textSecondary,fontSize:"12px",lineHeight:1.45,fontWeight:500},children:u.message}),T&&w("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[c("button",{onClick:v,style:{width:"100%",padding:"10px 14px",borderRadius:"8px",backgroundColor:g||"#EA4B4B",color:"#ffffff",border:"none",cursor:"pointer",fontSize:"13px",fontWeight:600,fontFamily:Ae.ui,transition:"opacity 150ms ease"},children:"Connect External Wallet"}),E&&c("span",{style:{fontSize:"11px",color:x?k.errorText:"#b91c1c",lineHeight:1.4},children:E})]}),c("div",{style:{height:"1px",backgroundColor:x?"#2d2d2d":"#e5e7eb"}}),c(Vp,{onDepositClick:m,onWithdrawClick:h,depositDisabled:f,primaryColor:g,dark:x}),A&&w("div",{children:[w("button",{onClick:()=>H(!B),style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:"8px 12px",backgroundColor:k.cardBg,border:x?`1px solid ${k.cardBorder}`:"1px solid #e5e7eb",borderRadius:"8px",cursor:"pointer",color:k.textSecondary,fontSize:"12px",fontWeight:500},children:[c("span",{children:"How It Works"}),c("span",{style:{transform:B?"rotate(180deg)":"rotate(0deg)",transition:"transform 200ms ease",fontSize:"10px"},children:"\u25BE"})]}),B&&w("div",{style:{marginTop:"6px",padding:"10px 12px",backgroundColor:x?k.cardBg:"#f0fdf4",border:x?`1px solid ${k.cardBorder}`:"1px solid #bbf7d0",borderRadius:"8px",fontSize:"12px",lineHeight:1.5,color:x?k.textSecondary:"#374151"},children:["Fund your ",e," Account from any supported chain. Once funded, transact gas-free and asset-abstracted on ",e,"."]})]}),c(Np,{pendingDeposits:l,onCompleteDeposit:y,dk:k,dark:x}),c(Lp,{spiceAssets:i,loading:d,dk:k,dark:x,canDirectWithdraw:S,onDirectWithdraw:I,directWithdrawState:D,onWithdrawClick:h}),p.map((W,P)=>c(Hp,{section:W,dk:k,dark:x},P))]})},qp=tn(Qp);function Kp(e,t,n){const o=t-n.gasBridge-n.spicenetFee;if(o<=0n)throw new Error("Balance is too small to cover the network fee.");const s=[{recipient:e,amount:o}];return n.gasBridge>0n&&s.push({recipient:ln,amount:n.gasBridge}),n.spicenetFee>0n&&s.push({recipient:Kn,amount:n.spicenetFee}),s}function ol(e,t,n){const o=n.filter(s=>s.amount>0n);return{chainId:e,domain:"evm",tokenTransfers:[],calls:he(t)?o.map(s=>({to:s.recipient,value:s.amount,data:"0x"})):o.map(s=>({to:t,value:0n,data:ot({abi:ze,functionName:"transfer",args:[s.recipient,s.amount]})}))}}const Yp=new Set([ln,Kn].map(e=>e.toLowerCase()));function Zp(e,t){return!e||e.length!==t.length?!1:e.every((n,o)=>{const s=t[o];return n.recipient.toLowerCase()!==s.recipient.toLowerCase()?!1:Yp.has(n.recipient.toLowerCase())?zn(n.amount,s.amount,100n):!0})}function Xp(e,t){const n=e.intents.flatMap(s=>s.batches).filter(s=>nn(s).totalFee>0n),o=n.filter(s=>s.chainId===t);return(o.length>0?o:n)[0]??null}function Gp(e,t,n,o){const s=Xp(o,e),{gasFee:r,bridgeFee:a,spicenetFee:i}=s?nn(s):{gasFee:0n,bridgeFee:0n,spicenetFee:0n};return Kp(t,n,{gasBridge:r+a,spicenetFee:i})}function Jp(){const{execute:e}=ao(),t=Vt(Lt),n=t?.embeddedWalletAddress,{embeddedAddress:o}=eo(),s=n||o,r=t?.externalWalletAddress,a=t?.mode==="7702"&&!!s&&!!r&&!Be(s,r),i=Z(!1),[d,l]=R(null);return{withdraw:se(async({tokenAddress:p,chainId:u,balance:m,onProgress:h})=>{if(i.current)throw new Error("A withdrawal is already in progress.");const f=`${p}-${u}`;i.current=!0,l({key:f,step:"pending"});try{if(!a)throw new Error("Connect a different external wallet to withdraw from your embedded wallet.");if(m<=0n)throw new Error("Nothing to withdraw.");const y=p,g=r,k=[ol(u,y,[{recipient:g,amount:m}])];let x=null;const F=await e(k,y,0n,h,void 0,{useCustomTransfers:!0,userOverride:s,adjustBatchesForEstimate:({feeEstimate:b})=>{const C=Gp(u,g,m,b);return Zp(x,C)?null:(x=C,[ol(u,y,C)])}});return l(null),F}catch(y){throw l({key:f,step:"error",message:mn(y,"Withdraw failed")}),y}finally{i.current=!1}},[e,s,r,a]),canWithdraw:a,state:d}}const Fr=380,Xn=8,$p=[],_p={},em=.01;function sl(e){return e?.trim().replace(/^spice/i,"").replace(/[^a-z0-9]/gi,"").toUpperCase()||void 0}function tm(e,t){const n=new Map;Object.entries(t).forEach(([s,r])=>{if(!Number.isFinite(r)||r<=0)return;n.set(s,r),n.set(s.toUpperCase(),r);const a=sl(s);a&&n.set(a,r)});const o=[e.symbol,e.displaySymbol,e.receiptTokenName,e.name,e.displayName];for(const s of o){if(!s)continue;const r=n.get(s)??n.get(s.toUpperCase());if(r!==void 0)return r;const a=sl(s);if(!a)continue;const i=n.get(a);if(i!==void 0)return i}return 0}const nm=({appName:e="Spice",status:t="active",statusLabel:n,customSections:o=$p,extraAssets:s=[],tokenPrices:r={},tokenLogos:a=_p,breakdownLabels:i=[],notice:d,styles:l,dark:p=!1,onDepositSuccess:u,onDepositClick:m,onWithdrawClick:h,onCompleteDeposit:f,showModeToggle:y=!1,defaultMode:g,showUsdSummary:k=!0})=>{const x=Vt(Lt),F=x?.mode!=="7702",b=!!x?.isWhitelistGateActive,C=!!x?.isWhitelistConfigured&&x?.isUserWhitelisted!==!0,T=Z(!1);X(()=>{if(!T.current){if(Ql()){T.current=!0;return}g&&x?.setMode&&(x.setMode(g==="non7702"?"ondemand":"7702"),T.current=!0)}},[x,g]);const[v,E]=R(!1),[A,S]=R(null),[I,D]=R({top:0,bottom:0,left:0,placement:"below"}),B=Z(null),H=Z(null),{address:W,isConnected:P}=In(),_=x?.embeddedWalletAddress,U=x?.externalWalletAddress,{embeddedAddress:N}=eo(),{dark:O,primaryColor:j,dk:K}=At(l,p),L=F&&!U,q=!F||L,M=q?_||N:W,ae=$(()=>x?.supportedChainIds??Ko("mainnet"),[x?.supportedChainIds]),{assets:ke,loading:Q}=Bo({address:M,supportedChains:ae,enabled:!!M&&q,refetchInterval:3e4,priceEnabled:v}),G=q?M:W,ie=!!G&&!b,{assets:fe,refreshAssets:ue}=so({address:ie?G:void 0,supportedChains:ae,fetchBalances:oo,enabled:ie,refreshInterval:3e4,priceEnabled:v}),qe=$(()=>{const Se=(ge,Oe)=>`${ge}:${Je(Oe).toLowerCase()}`,Ne=new Set(s.map(ge=>Se(ge.chainId,ge.tokenAddress)));return fe.filter(ge=>{if(ge.balance<=0n)return!1;const Oe=ge.isNative||he(ge.address);return q&&!Oe&&xt(ge.address,ge.chainId)?!1:!Ne.has(Se(ge.chainId,ge.address))}).map(ge=>({tokenAddress:ge.address,tokenSymbol:ge.symbol,tokenDecimals:ge.decimals,chainId:ge.chainId,chainDisplayName:Jt(ge.chainId),balance:ge.balance.toString(),balanceFormatted:ge.balanceFormatted,usdValue:ge.balanceUsd||0,logoURI:ge.logoURI||a[ge.symbol],directWithdraw:q}))},[fe,s,a,q]),z=$(()=>{const Se=q?ke.map(ge=>{const Oe=ge.balanceUsd||0,Ve=Number.isFinite(ge.balanceFormatted)?ge.balanceFormatted:0,wt=tm(ge,r),Tt=ge.priceStatus&&wt>0?wt*Ve:Oe>0?Oe:wt*Ve;return{tokenAddress:ge.address,tokenSymbol:ge.symbol,tokenDisplaySymbol:Hs(ge),tokenDisplayName:Sc(ge),tokenDecimals:ge.decimals,chainId:ge.chainId,chainDisplayName:js(ge),balance:ge.balance.toString(),balanceFormatted:ge.balanceFormatted,usdValue:Tt,priceStatus:wt>0?void 0:ge.priceStatus,logoURI:ge.logoURI,receiptTokenId:ge.receiptTokenId}}):[],Ne=L?[]:s;return[...Se,...qe,...Ne].filter(ge=>ge.balanceFormatted>0&&!(ge.usdValue>0&&ge.usdValue<em)).sort((ge,Oe)=>Oe.usdValue-ge.usdValue)},[q,L,ke,r,qe,s]),le=$(()=>z.reduce((Se,Ne)=>Se+Ne.usdValue,0),[z]),{pendingDeposits:oe,refresh:me}=nl({chainIds:ae,enabled:!!W,discoverWalletBalances:!0}),V=$(()=>o.reduce((Se,Ne)=>Se+Ne.totalValue,0),[o]),re=le+V,xe=$(()=>{const Se=[];le>0&&Se.push(`${_n(le)} idle`);for(const Ne of o){const ge=i.find(Oe=>Oe.sectionTitle===Ne.title)?.label||Ne.title.toLowerCase();Se.push(`${_n(Ne.totalValue)} ${ge}`)}return Se.join(" \xB7 ")},[le,o,i]),ee=se(Se=>{f?f(Se):S(Se)},[f]),ve=se(()=>{S(null)},[]),st=se(()=>{S(null),u?.()},[u]),ye=se(()=>{if(!B.current)return;const Se=B.current.getBoundingClientRect(),Ne=window.innerHeight-Se.bottom-Xn,ge=Se.top-Xn,Oe=Ne>=400||Ne>=ge?"below":"above",Ve=Math.max(Xn,Math.min(Se.right-Fr,window.innerWidth-Fr-Xn)),wt=Oe==="below"?Se.bottom+Xn:Se.top-Xn,Tt=Oe==="above"?window.innerHeight-wt:0;D({top:wt,bottom:Tt,left:Ve,placement:Oe})},[]);Vr(()=>{v&&ye()},[v,ye]),X(()=>{if(!v)return;const Se=Oe=>{B.current&&!B.current.contains(Oe.target)&&H.current&&!H.current.contains(Oe.target)&&E(!1)},Ne=Oe=>{Oe.key==="Escape"&&E(!1)},ge=()=>ye();return document.addEventListener("mousedown",Se),document.addEventListener("keydown",Ne),window.addEventListener("scroll",ge,{passive:!0}),window.addEventListener("resize",ye),()=>{document.removeEventListener("mousedown",Se),document.removeEventListener("keydown",Ne),window.removeEventListener("scroll",ge),window.removeEventListener("resize",ye)}},[v,ye]);const mt=q?_||N||W:U||W,rt=se(()=>{x?.setMode&&x.setMode(q?"ondemand":"7702")},[x,q]),[Ke,Mt]=R(null);let Le=null;try{Le=na({onSuccess:()=>Mt(null),onError:Se=>Mt(mn(Se,"Failed to connect wallet."))}).connectWallet}catch{Le=null}const Zt=se(()=>{Le&&(E(!1),Mt(null),Le({walletChainType:"ethereum-only"}))},[Le]),ct=!U&&!!Le,Ee=se(()=>{E(!1),m?.()},[m]),Ye=se(Se=>{E(!1),h?.(Se)},[h]),dt=se(Se=>{E(!1),ee(Se)},[ee]),{withdraw:J,canWithdraw:St,state:Bt}=Jp(),ft=se(async Se=>{try{await J({tokenAddress:Se.tokenAddress,chainId:Se.chainId,balance:BigInt(Se.balance)}),me(),ue()}catch{}},[J,me,ue]);if(typeof window>"u")return null;const Xe=w("button",{ref:B,onClick:()=>E(!v),style:{display:"inline-flex",alignItems:"center",gap:"6px",padding:"8px 14px",borderRadius:"9999px",backgroundColor:O?K.hoverBg:"#ffffff",border:O?`1px solid ${K.cardBorder}`:"1px solid #e5e7eb",cursor:"pointer",fontSize:"13px",fontWeight:500,fontFamily:Ae.ui,color:O?K.textPrimary:"#111827",transition:"background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease",boxShadow:O?"none":"0 1px 2px rgba(0,0,0,0.05)"},children:[w("span",{children:[e," Account"]}),P&&k&&w("span",{style:{color:O?K.textSecondary:"#6b7280"},children:["\xB7 ",_n(re)]}),c("span",{style:{fontSize:"10px",color:O?K.textSecondary:"#9ca3af",transform:v?"rotate(180deg)":"rotate(0deg)",transition:"transform 200ms ease"},children:"\u25BE"})]}),Pt=v?oa.createPortal(w(Gt,{children:[c("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.08)",zIndex:qn.popover},onClick:()=>E(!1)}),c("div",{ref:H,style:{position:"fixed",top:I.placement==="below"?`${I.top}px`:"auto",bottom:I.placement==="above"?`${I.bottom}px`:"auto",left:`${I.left}px`,width:`${Fr}px`,maxWidth:`calc(100vw - ${Xn*2}px)`,maxHeight:"80vh",backgroundColor:O?K.shell:"#ffffff",border:O?`1px solid ${K.cardBorder}`:"1px solid #e5e7eb",borderRadius:"12px",boxShadow:O?"0 10px 40px rgba(0, 0, 0, 0.5)":"0 10px 40px rgba(0, 0, 0, 0.12)",zIndex:qn.popover+1,overflow:"hidden",animation:`accountDisplayFadeIn 200ms ${$n.out}`},children:c(qp,{appName:e,status:t,statusLabel:n,totalUsdValue:re,breakdownSubtitle:xe,showUsdSummary:k,address:q?mt:W,spiceAssets:z,spiceAssetsLoading:Q,pendingDeposits:oe,customSections:o,notice:d,onDepositClick:m?Ee:void 0,onWithdrawClick:h?Ye:void 0,depositDisabled:C,onCompleteDeposit:dt,primaryColor:j,dk:K,dark:O,showModeToggle:y,isEmbeddedMode:q,onModeToggle:rt,showConnectExternalCta:ct,onConnectExternalWallet:Zt,connectExternalError:Ke,showHowItWorks:!b,canDirectWithdraw:St,onDirectWithdraw:ft,directWithdrawState:Bt})}),c("style",{children:`
80
+ `})]})};function _i(e,t){return e._source!=="wallet"||e.chainId!==t?!1:e.isNative||pe(e.address)||!ht(e.address,e.chainId)}function el(e,t){return e._source!=="wallet"||e.chainId!==t||e.isNative||pe(e.address)?!1:!ht(e.address,e.chainId)}function vp(e,t){const n=e[0];if(e.length!==1||!n||n.chainId!==t.chainId||n.domain==="spicenet"||n.tokenTransfers?.length||n.calls.length===0)throw new Error("SpiceLock requires one lock-chain action batch. Return only lock approval and action calls, without funding transfers.");if(t.amountIn<=0n)throw new Error("Enter a positive amount to lock.");if(t.swap&&(t.swap.amountOutMinimum<=0n||t.swap.amountOutMinimum>t.swap.amountOut||t.swap.calls.length===0))throw new Error("A valid swap quote is required before locking. Please retry.");return[{...n,calls:[...t.swap?.calls??[],...n.calls],...t.escrowFunded?{tokenTransfers:[{token:Xe(t.tokenIn),from:"escrow",to:t.recipient,amount:t.amountIn}]}:{}}]}function Ip(e){const t=new Map;for(const n of e){if(n.amount<=0n)continue;const s=kt(n.token),o=kt(n.to),r=`${s.toLowerCase()}:${o.toLowerCase()}`,a=t.get(r);a?a.amount+=n.amount:t.set(r,{token:s,to:o,amount:n.amount})}return[...t.values()]}function Ap(e,t){return`0x${t}${e.slice(4)}`}function tl(e,t){return nl(e,t)}function nl(e,t,n){const s=oo(t,e),o=Math.floor(Date.now()/1e3)+60*10,r=On(s);return{user:e,...n?{chainAuthorizations:n}:{},intents:[{mode:"7702",signatureType:"ecdsa",signature:"0x00",nbf:0,exp:o,chainBatches:r.map((a,i)=>({hash:a.hash,chainId:a.chainId,tokenTransfers:s[i].domain==="spicenet"?[]:s[i].tokenTransfers??[],calls:a.calls}))}]}}function jn(e,t,n,s){if(e.some(u=>u.domain==="spicenet"))return e;const o=n?.intents.flatMap(u=>u.batches),r=u=>u.from==="escrow",a=e.map(u=>{const p=o?.find(A=>A.chainId===u.chainId);if(!p)return u;const m=nn(p),h=m.totalFee;if(h<=0n)return u;const f=(u.tokenTransfers??[]).filter(A=>r(A)&&kt(A.to).toLowerCase()===t.toLowerCase()),y=f.find(A=>!pe(kt(A.token)))??f[0];if(!y)return u;const g=kt(y.token),w=pe(g);let x=!1;const B=(u.tokenTransfers??[]).map(A=>x||!r(A)||kt(A.to).toLowerCase()!==t.toLowerCase()||kt(A.token).toLowerCase()!==g.toLowerCase()?A:(x=!0,{...A,amount:s?.payoutAlreadyGross?BigInt(A.amount):BigInt(A.amount)+h}));if(!x)return u;const k=(A,v)=>w?{to:A,value:v,data:"0x"}:{to:g,value:0n,data:ct({abi:Le,functionName:"transfer",args:[A,v]})},C=[];m.spicenetFee>0n&&C.push(k(Kn,m.spicenetFee));const T=m.gasFee+m.bridgeFee;return T>0n&&C.push(k(an,T)),{...u,tokenTransfers:B,calls:[...C,...u.calls]}}),i=a.flatMap(u=>(u.tokenTransfers??[]).filter(r).map(p=>{const m=kt(p.token),h=kt(p.to),f=[{token:m,to:h,amount:BigInt(p.amount)}];return{chainId:u.chainId,transfers:Ip(f)}}));if(i.length===0)return e;const d=s?.requestTimestampMs??Date.now(),l=BigInt(Math.floor(d/1e3))+3600n;return[{chainId:lc,domain:"spicenet",tokenTransfers:[],calls:i.map((u,p)=>{const m=ia(Un([{type:"address"},{type:"address"},{type:"uint256"},{type:"uint256"},{type:"uint256"}],[t,u.transfers[0].token,u.transfers.reduce((f,y)=>f+y.amount,0n),BigInt(u.chainId),BigInt(d+p)])),h=Ap(m,"77");return{to:"0x0000000000000000000000000000000000000000",value:0n,data:ct({abi:oa,functionName:"createWithdrawalRequest",args:[{chainId:`evm:${u.chainId}`,idempotenceKey:h,nbf:0n,exp:l,metadata:"{}",transfers:u.transfers.map(f=>({token:f.token.toLowerCase(),to:f.to,amount:f.amount}))}]})}})},...a]}const Sp=60*60,sl=(e,t)=>!!e&&e.grossAmount===t.grossAmount&&e.netAmount===t.netAmount&&e.feeAmount===t.feeAmount;function Ms(e,t){return t?e.some(n=>(n.tokenTransfers??[]).some(s=>s.from==="escrow"&&BigInt(s.amount)>=t.grossAmount)):!1}function ol(e){return!e.isSemi7702&&e.isDirectDeposit&&!e.isSourceDestToken&&!!e.selectedAsset?.asset&&!_i(e.selectedAsset.asset,e.lockChainId)}function Ep(e){return!e.isSemi7702&&e.isDirectDeposit&&!e.isSourceDestToken&&!!e.selectedAsset?.asset&&el(e.selectedAsset.asset,e.lockChainId)}function Rr(e){if(e.swapFunding)return e.swapFunding.amount;const t=e.selectedAsset?.asset,n=e.selectedAsset?.amount;if(!(!t||!n))return $e(n,t.decimals)}async function Io({user:e,batches:t,authorizations:n,adjustBatchesForEstimate:s}){let o=t;for(let r=0;r<10;r+=1){const a=await Ht.estimateActionFees(nl(e,o,n)),i=await s({feeEstimate:a,batches:o});if(!i||Wa(o,i))return o;o=i}throw new Error("Fee estimate did not converge. Please retry.")}function Fp(e){return{chainId:e.sourceChainId,calls:e.isNative?[{to:e.target,value:e.amount,data:"0x"}]:[{to:e.tokenAddr,value:0n,data:ct({abi:Le,functionName:"transfer",args:[e.target,e.amount]})}]}}function Wr(e,t,n,s){const o=e.selectedAsset.asset,r=Rr(e),a=o.chainId,i=e.escrowAddress||Fn(a),d=Xe(o.address),l=o.isNative||pe(d),u=n.some(m=>m.tokenTransfers?.some(h=>h.from==="escrow")),p=el(o,e.lockChainId);return{asset:o,userNetAmountWei:r,sourceChainId:a,tokenAddr:d,isNative:l,hasEscrowBackedPayout:u,composeBatches:(m,h,f,y)=>{if(p)return u?jn([...h],t,f,{payoutAlreadyGross:Ms(h,y),...s!==void 0?{requestTimestampMs:s}:{}}):h;const g=Fp({sourceChainId:a,target:i,tokenAddr:d,isNative:l,amount:m});if(!u)return[g,...h];const w=jn([...h],t,f,{payoutAlreadyGross:Ms(h,y),...s!==void 0?{requestTimestampMs:s}:{}});return[g,...w]}}}function Mr(e){const t={};return{state:t,adjustBatchesForEstimate:({feeEstimate:n,batches:s})=>{const o=ir(n,{symbol:e.symbol,decimals:e.decimals,actionAmount:e.actionAmount},s);if(!o)return null;t.plan={grossAmount:o.grossAmount,netAmount:o.netAmount,feeAmount:o.totalFee??0n};const r=Vn(e.ctx,t.plan);return e.rebuild(r,n,t.plan)}}}function Vn(e,t){const n=e.selectedAsset?.asset;if(!n||!e.selectedAsset?.amount)throw new Error("Select an asset and enter an amount");const s=$e(e.selectedAsset.amount,n.decimals),o=t?Wn(t.grossAmount,e.swapFunding?.decimals??n.decimals,n.decimals,"ceil"):s;return e.resolveLockBatches({amount:e.selectedAsset.amount,amountWei:s,grossAmount:Ge(o,n.decimals),grossAmountWei:o})}async function Nr(e,t,n){e.assertCurrentQuote?.();const s=e.isSemi7702&&e.embeddedWalletAddress||e.address;if(!e.isConnected||!s)throw new Error("Please connect your wallet to continue");if(t.length===0)throw new Error("No lock batches configured");if(!e.ready||!e.authenticated)throw new Error(`Please authenticate with ${e.provider||"wallet provider"} to continue`);const o=n??await Ss({chainBatches:t,signingAddress:s,actions:e.actions}),r=On(t),a=Math.floor(Date.now()/1e3)+Sp;e.assertCurrentQuote?.();const i={mode:"7702",signatureType:"ecdsa",signature:await Oa(e.actions,t,BigInt(a)),nbf:0,exp:a,chainBatches:r.map((l,u)=>{const p=t[u],m=p.domain==="spicenet";return{hash:l.hash,chainId:l.chainId,tokenTransfers:m?[]:p.tokenTransfers??[],calls:l.calls}})};e.assertCurrentQuote?.();const d=await Ht.createAction({user:s,chainAuthorizations:o,intents:[i]});if(d){const l=Wo(t,Jt),[u,p]=d.intentIds[0].split("/"),m=parseInt(p||"0",10),h=d.intentIds[0];e.beginStatusTracking(d.intentIds[0],l),await Ra({actionId:u,intentIndex:m,intentId:h,totalSteps:t.length,isSpicenetStep:f=>t[f]?.domain==="spicenet",maxExecuteAttemptsForStep:f=>t[f]?.domain==="spicenet"?6:3,onStepUpdate:e.applyStepUpdate,maxPolls:72})}}function Or(e,t){const n=e.feeQuote;return n?t.adjustBatchesForEstimate({feeEstimate:n.feeEstimate,batches:[]}):null}async function Bp(e){const t=Vn(e);if(t.length===0)throw new Error("No lock batches configured");const n=e.isSemi7702&&e.embeddedWalletAddress||e.address;if(!e.isConnected||!n)throw new Error("Please connect your wallet to continue");const s=await Ss({chainBatches:t,signingAddress:n,actions:e.actions}),o=Date.now(),r=Mr({ctx:e,actionAmount:Rr(e),symbol:e.swapFunding?.symbol??e.selectedAsset?.asset.symbol??"",decimals:e.swapFunding?.decimals??e.selectedAsset?.asset.decimals??18,rebuild:(i,d,l)=>jn([...i],n,d,{payoutAlreadyGross:Ms(i,l),requestTimestampMs:o})});let a=Or(e,r)??jn([...t],n,void 0,{requestTimestampMs:o});a=await Io({user:n,batches:a,authorizations:s,adjustBatchesForEstimate:r.adjustBatchesForEstimate}),await Nr(e,a,s)}async function Tp(e){if(!e.selectedAsset?.asset||!e.selectedAsset.amount)throw new Error("Select an asset and enter an amount");const t=e.embeddedWalletAddress||e.address;if(!e.isConnected||!t)throw new Error("Please connect your wallet to continue");const n=e.resolveLockBatches();if(n.length===0)throw new Error("No lock batches configured");const s=Wr(e,t,n,Date.now()),o=Mr({ctx:e,actionAmount:s.userNetAmountWei,symbol:e.swapFunding?.symbol??s.asset.symbol,decimals:e.swapFunding?.decimals??s.asset.decimals,rebuild:(i,d,l)=>s.composeBatches(l.grossAmount,i,d,l)});let r=Or(e,o)??s.composeBatches(s.userNetAmountWei,Vn(e));const a=await Ss({chainBatches:r,signingAddress:t,actions:e.actions});s.hasEscrowBackedPayout&&(r=await Io({user:t,batches:r,authorizations:a,adjustBatchesForEstimate:o.adjustBatchesForEstimate})),await Nr(e,r,a)}async function Dp(e){if(!e.selectedAsset?.asset||!e.selectedAsset.amount)throw new Error("Select an asset and enter an amount");if(!e.externalWalletAddress||!e.externalWallet)throw new Error("Please connect your external wallet to continue");const t=e.embeddedWalletAddress;if(!t)throw new Error("Embedded wallet not available \u2014 sign in to create one before locking");if(e.onLockExecute){const f=e.resolveLockBatches();if(f.length===0)throw new Error("No lock batches configured");const y=e.selectedAsset.asset,g=$e(e.selectedAsset.amount,y.decimals),w=await e.onLockExecute({asset:y,amount:e.selectedAsset.amount,amountWei:g,lockDurationMonths:e.selectedDuration?.months??0,chainBatches:f});w&&e.onLockSuccess?.(w);return}const n=e.resolveLockBatches();if(n.length===0)throw new Error("No lock batches configured");const s=Wr(e,t,n,Date.now()),{userNetAmountWei:o}=s,r=Mr({ctx:e,actionAmount:o,symbol:s.asset.symbol,decimals:s.asset.decimals,rebuild:(f,y,g)=>s.composeBatches(g.grossAmount,f,y,g)});let a=Or(e,r)??s.composeBatches(o,Vn(e));const i=await Ss({chainBatches:a,signingAddress:t,actions:e.actions});s.hasEscrowBackedPayout&&(a=await Io({user:t,batches:a,authorizations:i,adjustBatchesForEstimate:r.adjustBatchesForEstimate}));const d=r.state.plan?.grossAmount??o,{extWc:l,viemChain:u}=await ds({wallet:e.externalWallet,account:e.externalWalletAddress,chainId:s.sourceChainId}),p=ft(s.sourceChainId),m=f=>hr({extWc:l,sourceClient:p,recipient:t,tokenAddr:s.tokenAddr,isNative:s.isNative,amount:f,viemChain:u});await m(d);let h=d;if(s.hasEscrowBackedPayout)for(let f=0;f<4;f+=1){a=await Io({user:t,batches:a,authorizations:i,adjustBatchesForEstimate:r.adjustBatchesForEstimate});const y=r.state.plan?.grossAmount??o;if(y<=h)break;await m(y-h),h=y}await Nr(e,a,i)}async function Rp(e,t){if(!e.selectedAsset?.asset||!e.selectedAsset.amount||!e.requiresRelayerFeeEstimate)return null;if(e.isSemi7702||ol(e)||Ep(e)){const d=e.embeddedWalletAddress||e.address;if(!d)throw new Error("Embedded wallet not available \u2014 sign in to create one before locking");const l=e.feeQuote;let u=Vn(e,l?.plan);if(u.length===0)throw new Error("No lock batches configured");const p=Wr(e,d,u),{asset:m,userNetAmountWei:h}=p;let f=l?p.composeBatches(l.plan.grossAmount,u,l.feeEstimate,l.plan):p.composeBatches(h,u,void 0,{grossAmount:h,netAmount:0n,feeAmount:0n}),y=null,g=l?.plan;for(let w=0;w<4;w+=1){const x=await Ht.estimateActionFees(tl(d,f),{signal:t}),B=ir(x,{symbol:e.swapFunding?.symbol??m.symbol,decimals:e.swapFunding?.decimals??m.decimals,actionAmount:h},f);if(!B)return y;const k={grossAmount:B.grossAmount,netAmount:B.netAmount,feeAmount:B.totalFee??0n},C=sl(g,k);if(y={preview:B,feeEstimate:x,plan:k},g=k,u=Vn(e,k),f=p.composeBatches(k.grossAmount,u,x,k),C)break}return y}const n=e.address;if(!e.isConnected||!n)throw new Error("Please connect your wallet to continue");const s=e.feeQuote;let o=Vn(e,s?.plan);if(o.length===0)throw new Error("No lock batches configured");let r=jn([...o],n,s?.feeEstimate,s?{payoutAlreadyGross:Ms(o,s.plan)}:void 0),a=null,i=s?.plan;for(let d=0;d<4;d+=1){const l=await Ht.estimateActionFees(tl(n,r),{signal:t}),u=ir(l,{symbol:e.swapFunding?.symbol??e.selectedAsset.asset.symbol,decimals:e.swapFunding?.decimals??e.selectedAsset.asset.decimals,actionAmount:Rr(e)},r);if(!u)return null;const p={grossAmount:u.grossAmount,netAmount:u.netAmount,feeAmount:u.totalFee??0n},m=sl(i,p);if(a={preview:u,feeEstimate:l,plan:p},i=p,o=Vn(e,p),r=jn([...o],n,l,{payoutAlreadyGross:Ms(o,p)}),m)break}return a}async function Wp(e){if(!e.selectedAsset?.asset||!e.selectedAsset.amount)throw new Error("Select an asset and enter an amount");const t=e.activeSignerWallet??e.externalWallet,n=e.activeSignerAddress??e.externalWalletAddress;if(!n||!t)throw new Error("Please connect your wallet to continue");const s=e.resolveLockBatches();if(s.length===0)throw new Error("No lock batches configured");const o=s.find(l=>l.chainId===e.lockChainId)||s[0];if(!o)throw new Error("No lock batch for lock chain");const{extWc:r,viemChain:a}=await ds({wallet:t,account:n,chainId:e.lockChainId}),i=ft(e.lockChainId),d=await Qa({extWc:r,client:i,calls:o.calls,viemChain:a,errorMessage:"Lock transaction failed"});d&&e.onLockSuccess?.(d)}async function Mp(e){if(!e.selectedAsset?.asset||e.parsedAmount<=0){e.ui.setError("Select an asset and enter an amount");return}if(e.isInsufficientBalance){e.ui.setError("Insufficient balance. Add more assets.");return}try{e.assertCurrentQuote?.()}catch(n){e.ui.setError(n instanceof Error?n.message:"Refresh the lock quote before continuing.");return}e.ui.setIsExecuting(!0),e.ui.setError(null);const t=n=>{console.error("[SpiceLock] lock failed:",n);const s=fn(n,""),o=typeof n?.shortMessage=="string"?n.shortMessage:typeof n?.message=="string"?n.message:"";e.ui.setError(s||o||"Transaction failed. Please try again.")};if(e.isSemi7702){if(e.isSourceDestToken){try{await Wp(e)}catch(n){t(n)}finally{e.ui.setIsExecuting(!1)}return}e.ui.setShowStatusPanel(!0);try{await Dp(e)}catch(n){t(n)}finally{e.ui.setIsExecuting(!1)}return}e.ui.setShowStatusPanel(!0);try{ol(e)?await Tp(e):await Bp(e)}catch(n){t(n)}finally{e.ui.setIsExecuting(!1)}}const Np=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,lockBatches:s,lockTokenSymbol:o,lockTokenLogoURI:r,destinationInputHook:a,sourceAssetInputHook:i,lockDurationHook:d,lockChainId:l,durationOptions:u,votingPowerEstimate:p,escrowAddress:m,includeWalletAssets:h=!1,destinationTokenAddress:f,onLockSuccess:y,onLockError:g,onLockExecute:w,sourceToDestinationConversionRate:x,onAddFunds:B,buildSpicenetBatch:k,styles:C,dark:T=!1})=>{const{theme:A,dark:v,primaryColor:S,dk:F}=It(C,T),I=A.typography.fontFamily,D=Yt(zt),E=D?.mode||"7702",L=!!D?.isWhitelistGateActive,W=E!=="7702",U=J(()=>D?.supportedChainIds??[],[D?.supportedChainIds]),_=J(()=>{if(L)return[];const re=D?.allowedTokens;if(!re||re.length===0)return[];const Oe=new Set(re.map(Nt=>Nt.toLowerCase())),Ct=[],Wt=new Set;for(const Nt of U){const pn=Ue(Nt);for(const An of pn?.supportedTokens??[]){if(!Oe.has(An.symbol.toLowerCase()))continue;const qt=`${Nt}:${An.address.toLowerCase()}`;Wt.has(qt)||(Wt.add(qt),Ct.push(kt(An.address)))}}return Ct},[D?.allowedTokens,U,L]),P=v?F.cardBg:C?.assetSelector?.backgroundColor||C?.secondaryBackground||"#e9e9e9",N=v?`1px solid ${F.cardBorder}`:"0.5px solid #A8A8A7",O=v?"12px":"6px",j=v?F.textPrimary:"#111827",q=v?F.textSecondary:"#6b7280",H=J(()=>({...C,assetSelector:{...C?.assetSelector,backgroundColor:v?F.cardBg:C?.assetSelector?.backgroundColor,borderRadius:v?"12px":C?.assetSelector?.borderRadius},secondaryBackground:v?F.cardBg:C?.secondaryBackground}),[C,v]),V=J(()=>v?{...A,colors:{...A.colors,secondary:F.cardBg,surfaceHover:F.hoverBg,border:F.cardBorder,borderHover:F.inputBorder}}:A,[v,A]),[M,oe]=R(null),[Ce,Q]=R(0),$=d?.selectedDurationIdx??Ce,ie=d?.setSelectedDurationIdx??Q,[fe,de]=R(!1),[Ve,z]=R(null),le=X(g);le.current=g;const te=ne(re=>{z(re),typeof re=="string"&&re&&le.current?.(re,gs(re))},[]),[me,ve]=R(null),[K,ae]=R(!1),[Z,ye]=R(null),[Qe,xe]=R(null),[gt,dt]=R(!1),[tt,ut]=R(!1),[_e,vt]=R(null),yt=En(),{isReady:Te,isAuthenticated:Ke,isConnected:pt,address:se,provider:at,actions:At}=yt,{externalWallet:mt,activeWallet:nt,activeAddress:Mt,embeddedAddress:Re}=ns(),{intentStatus:Me,beginStatusTracking:he,applyStepUpdate:Ne,clearStatus:He}=ls(),{assets:xt,refetch:Ut}=Ts({address:se,supportedChains:U,enabled:e&&pt&&!W&&!L,refetchInterval:3e4}),Ae=J(()=>{if(L)return[];if(_.length===0)return xt;const re=new Set(_.map(Oe=>Xe(Oe).toLowerCase()));return xt.filter(Oe=>re.has(Xe(Oe.address).toLowerCase()))},[xt,_,L]),Je=D?.embeddedWalletAddress,Xt=D?.externalWalletAddress,yn=W?Mt??Xt:Je??Re,{walletAssets:We,refreshWalletAssets:ce}=Lu({isOpen:e,includeWalletAssets:h,isWhitelistGateActive:L,isSemi7702:W,destinationTokenAddress:f,sourceAssets:_,sourceChains:U,walletAddressForAssets:yn,lockChainId:l,lockTokenSymbol:o,lockTokenLogoURI:r}),et=J(()=>We.filter(re=>re.balance>0n),[We]),Ie=J(()=>{let re;return W?re=et.map(Oe=>({...Oe,_source:"wallet"})):h?re=[...et.map(Oe=>({...Oe,_source:"wallet"})),...Ae.map(Oe=>({...Oe,_source:"spice"}))]:re=Ae,[...re].sort((Oe,Ct)=>gi(Oe,Ct,(f??"").toLowerCase(),l))},[W,h,et,Ae,f,l]),St=J(()=>L?f?Ie.filter(re=>Fe(re.address,f)&&re.chainId===l):[]:Ie,[Ie,L,f,l]),Gt=X(null),Bt=X(null);G(()=>{Bt.current=M},[M]),G(()=>{!L||!M?.asset||f&&Fe(M.asset.address,f)&&M.asset.chainId===l||oe(null)},[L,M?.asset,f,l]),G(()=>{e||(oe(null),te(null),ve(null),ae(!1),ye(null),xe(null),de(!1),ut(!1),vt(null),dt(!1),He())},[e,He]),G(()=>{a&&a.assetAmount!==(M?.amount||"")&&oe(re=>re&&{...re,amount:a.assetAmount})},[a?.assetAmount]),G(()=>{i&&i.assetAmount!==(M?.amount||"")&&oe(re=>re&&{...re,amount:i.assetAmount})},[i?.assetAmount]),G(()=>{if(!W&&Me?.overallStatus==="success"&&Me.intentId&&Gt.current!==Me.intentId&&se&&Me.steps.find(re=>re.transactionHash)?.transactionHash){Gt.current=Me.intentId;const re=Bt.current;if(!re?.asset||!re.amount||re.asset._source==="wallet"||$e(re.amount,re.asset.decimals)===0n)return;Ut()}},[Me,se,l,Ut,W]);const Be=parseFloat(M?.amount||"")||0,qe=J(()=>M?.asset?M.asset._source==="wallet"?M.asset.balanceFormatted??0:Ae.find(re=>Fe(re.address,M.asset.address)&&re.chainId===M.asset.chainId)?.balanceFormatted??0:0,[M?.asset,Ae]),it=d?.selectedDuration??u[$]??u[0],Ye=J(()=>!M?.asset||!f?!1:Fe(M.asset.address,f)&&M.asset.chainId===l,[M?.asset,f,l]),bt=!W&&typeof s=="function"&&!!f&&!Ye,Pt=yp({enabled:e&&bt,selectedAsset:M,lockChainId:l,destinationTokenAddress:f,lockTokenSymbol:o,lockTokenLogoURI:r,recipient:Je}),ze=Pt.conversion,Et=J(()=>Be<=0?0:bt?ze?Number(Ge(ze.minimum,ze.output.decimals)):0:Ye?Be:!x||x<=0?0:Be/x,[Be,x,Ye,bt,ze]),Vt=J(()=>Et<=0?null:Et.toLocaleString(void 0,bt?{maximumSignificantDigits:6}:{maximumFractionDigits:2}),[Et,bt]),Lt=p&&Et>0&&it?p(Et,it.months):void 0,Ft=J(()=>{const re=M?.asset;return!re||re.balanceFormatted<=0||re.balanceUsd<=0?0:re.balanceUsd/re.balanceFormatted},[M?.asset]),wt=J(()=>Be<=0?"$0.00":bt?Ft?(Be*Ft).toLocaleString(void 0,{style:"currency",currency:"USD",maximumFractionDigits:2}):null:Ye&&x?(Be*x).toLocaleString(void 0,{style:"currency",currency:"USD",maximumFractionDigits:2}):!x||x<=0?"$0.00":Ft?(Be*Ft).toLocaleString(void 0,{style:"currency",currency:"USD",maximumFractionDigits:2}):null,[Be,x,Ye,bt,Ft]),sn=J(()=>{if(!Vt)return null;if(bt){const Oe=We.find(Ct=>Ct.chainId===l&&Fe(Ct.address,f));return!Oe||Oe.balanceFormatted<=0||Oe.balanceUsd<=0?null:(Et*Oe.balanceUsd/Oe.balanceFormatted).toLocaleString(void 0,{maximumFractionDigits:2})}const re=parseFloat(Vt.replace(/,/g,""));return Ye&&x?(re*x).toLocaleString(void 0,{maximumFractionDigits:2}):!x||!Ft?null:(Be*Ft).toLocaleString(void 0,{maximumFractionDigits:2})},[Vt,x,Ye,bt,We,l,f,Et,Be,Ft]),Qt=ne(re=>{oe(Oe=>({asset:re,amount:Oe?.asset?.address===re.address&&Oe?.asset?.chainId===re.chainId&&Oe.amount||""})),te(null),ve(null),ye(null),xe(null),i?.setSelectedAsset&&i.setSelectedAsset({symbol:re.symbol,address:re.address,decimals:re.decimals,chainId:re.chainId})},[i?.setSelectedAsset]),cn=ne(re=>{oe(Oe=>Oe&&{...Oe,amount:re}),te(null),ve(null),ye(null),xe(null),a&&a.setAssetAmount(re),i&&i.setAssetAmount(re)},[a,i]),xn=ne(re=>{if(typeof s=="function"){if(!M?.asset||!M.amount)throw new Error("Select an asset and enter an amount");if(bt){if(!ze||!Je||ze.expiresAt!==null&&Date.now()>=ze.expiresAt)throw new Error(Pt.error||"Wait for a current swap quote before locking.");const Oe=s({asset:ze.output,amount:Ge(ze.minimum,ze.output.decimals),amountWei:ze.minimum,feeAdjusted:!!re});return vp(Oe,{chainId:l,recipient:Je,tokenIn:ze.input.address,amountIn:ze.amountIn,swap:ze.swap,escrowFunded:!_i(M.asset,l)})}return s({asset:M.asset,amount:re?.amount??M.amount,amountWei:re?.amountWei??$e(M.amount,M.asset.decimals),grossAmount:re?.grossAmount,grossAmountWei:re?.grossAmountWei,feeAdjusted:!!re})}return s},[s,M,bt,ze,Je,l,Pt.error]),ue=X(null),ee=X(null),Se=J(()=>!M?.asset||Be<=0?!1:W?!Ye&&!w:!0,[M,Be,W,Ye,w]),Pe=ne(re=>Rp(ue.current,re),[]),Tt=X(null),st=J(()=>!M?.asset||Be<=0||bt&&!ze?null:Symbol("lock-fee-input"),[M?.asset?.address,M?.asset?.chainId,M?.amount,M?.asset?.decimals,M?.asset?._source,Be,Je,se,Xt,f,l,W,bt,ze?.key,it?.months,s,m]),ke=!!st&&Z===st,Dt=ke?Qe:null,lt=Be>0&&(Dt?Number(Ge(Dt.grossAmount,Dt.decimals))>qe:Be>qe);_s({shouldRun:e&&!fe&&!!M?.asset&&Be>0&&(!bt||!!ze)&&Se,deps:[e,fe,st,Se,bt,Pe],delayMs:500,backgroundIntervalMs:3e4,onSkip:()=>{if(!(!e||fe)){if(!M?.asset||Be<=0){ve(null),ae(!1),ye(null),xe(null);return}ve(null),ae(!1),ye(st),xe(null)}},run:async({isBackground:re,isCurrent:Oe,signal:Ct})=>{const Wt=st;re||(ve(null),ye(null),ae(!0));try{const Nt=await Pe(Ct);if(!Oe())return;Tt.current=Nt&&Wt?{key:Wt,quote:Nt}:null,ve(null),ye(Wt),xe(Nt?.preview??null)}catch(Nt){if(!Oe())return;re||(ve(fn(Nt,"Unable to calculate fees for this lock.")),ye(null))}finally{Oe()&&!re&&ae(!1)}}}),G(()=>{if(Me?.overallStatus==="success"){const re=Me.steps.find(Oe=>Oe.transactionHash);y?.(re?.transactionHash)}},[Me?.overallStatus,y]);const jt=h&&M?.asset?._source==="wallet"&&M?.asset?.chainId===l,ot=ne(()=>Mp(ue.current),[]),_t=!!M?.asset&&Be>0&&!lt&&!fe&&(!bt||!!ze)&&(!Se||ke&&!!Dt&&!K&&!me),Rt=Ve||Pt.error||me,dn=b("div",{style:{display:"flex",alignItems:"flex-start",gap:"6px"},children:[c(ur,{color:q}),b("p",{style:{fontSize:"13px",color:q,margin:0,lineHeight:"1.5"},children:["Add ",o," by converting assets from your account"]})]});if(ee.current={key:st,conversionKey:ze?.key??null},ue.current={selectedAsset:M,parsedAmount:Be,selectedDuration:it,isInsufficientBalance:lt,isSemi7702:W,isSourceDestToken:Ye,isDirectDeposit:jt,requiresRelayerFeeEstimate:Se,address:se,embeddedWalletAddress:Je,externalWallet:mt,externalWalletAddress:Xt,activeSignerWallet:nt,activeSignerAddress:Mt,isConnected:pt,ready:Te,authenticated:Ke,provider:at,actions:At,lockChainId:l,escrowAddress:m,onLockExecute:w,onLockSuccess:y,buildSpicenetBatch:k,resolveLockBatches:xn,beginStatusTracking:he,applyStepUpdate:Ne,refreshSpiceAssets:Ut,refreshWalletAssets:ce,feeQuote:st&&Tt.current?.key===st?Tt.current.quote:null,...bt?{swapFunding:ze?{amount:ze.amountIn,decimals:ze.input.decimals,symbol:ze.input.symbol}:void 0,assertCurrentQuote:()=>{if(!ze||!ke||ee.current?.key!==st||ee.current?.conversionKey!==ze.key||ze.expiresAt!==null&&Date.now()>=ze.expiresAt)throw new Error("The lock quote changed or expired. Review the updated amount and try again.")}}:{},ui:{setError:te,setIsExecuting:de,setShowStatusPanel:dt}},!e)return null;const un={backgroundColor:P,border:N,borderRadius:O,padding:"16px",marginBottom:"16px"};return c(hn,{isOpen:e,onClose:t,title:`Add ${o} to your account`,subtitle:dn,styles:C,dark:v,footerLinkText:"Spicenet accounts \u2192",overlayContent:tt?c("div",{}):void 0,closeOnBackdropClick:n,children:b("div",{style:{padding:"0 24px 8px 24px",position:"relative"},children:[b("div",{style:{marginBottom:"12px"},children:[B&&c("div",{style:{display:"flex",justifyContent:"flex-end",marginBottom:"6px"},children:c(fr,{onClick:B,color:S,fontFamily:I})}),c("div",{style:{marginTop:"10px",fontSize:"13px",color:q,fontFamily:I},children:c(vs,{assets:St,selectedAsset:M??void 0,onAssetSelect:Qt,onAmountChange:cn,label:"Amount",showBalance:!0,showMaxButton:!0,theme:V,styles:H})}),c("div",{style:{marginTop:"6px",paddingLeft:"4px",fontSize:"13px",color:q,fontFamily:I},children:wt})]}),b("div",{style:un,children:[b("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"16px",borderBottom:v?`1px solid ${F.cardBorder}`:"1px solid #e5e7eb"},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[r?c("img",{src:r,alt:o,style:{width:"32px",height:"32px",borderRadius:"50%",objectFit:"cover"}}):c("div",{style:{width:"32px",height:"32px",borderRadius:"50%",backgroundColor:v?F.inputBg:"#d1d5db",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"12px",fontWeight:700,color:j},children:o.slice(0,2)}),c("span",{style:{fontSize:"16px",fontWeight:600,color:j,fontFamily:I},children:o})]}),b("div",{style:{textAlign:"right"},children:[c("div",{style:{fontSize:"22px",fontWeight:700,color:j,fontFamily:I,lineHeight:1.1},children:Vt??"0.00"}),(!bt||sn!==null)&&b("div",{style:{fontSize:"12px",color:q,fontFamily:I,marginTop:"2px"},children:["~$",sn??"0.00"]})]})]}),b("div",{style:{paddingTop:"16px",paddingBottom:"16px",borderBottom:v?`1px solid ${F.cardBorder}`:"1px solid #e5e7eb"},children:[b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"16px"},children:[c("span",{style:{fontSize:"15px",fontWeight:500,color:q,fontFamily:I},children:"Lock Duration"}),c(Yn,{color:q})]}),c(bp,{options:u,selectedIndex:$,onSelect:ie,primaryColor:S,dark:v,textPrimary:j,textSecondary:q})]}),b("div",{style:{paddingTop:"12px",display:"flex",flexDirection:"column",gap:"8px"},children:[c($i,{label:"Estimated Lock Expiry",value:it?.months!==void 0?wp(it.months):"\u2014",fontFamily:I,dark:v,textPrimary:j,textSecondary:q}),p&&c($i,{label:"Estimated voting power",value:Lt!==void 0?`${Lt} votes/epoch`:"\u2014",fontFamily:I,dark:v,textPrimary:j,textSecondary:q})]})]}),Se&&c(mr,{fontFamily:I,textPrimary:j,textSecondary:q,cardBg:P,cardBorder:N,resolvedDark:v,darkCardBorder:F.cardBorder,primaryColor:S,feePreview:Dt,isLoading:K||Pt.isQuoting,errorText:me}),Rt&&c(Rn,{variant:"error",palette:F,fontFamily:I,style:{marginBottom:"12px"},children:Rt}),c(Ot,{variant:"outline",fullWidth:!0,onClick:()=>{Pt.error?(te(null),ve(null),ye(null),Pt.retryQuote()):ot()},disabled:fe||!_t&&!Pt.error,loading:fe,dark:v,styles:{...C,button:{...C?.button,backgroundColor:S}},children:fe?Ye?"LOCKING...":"CONVERTING...":Pt.error?"RETRY QUOTE":Pt.isQuoting?"GETTING SWAP QUOTE...":K&&Se?"CALCULATING FEES...":Ye?`LOCK ${o}`:`CONVERT TO ${o}`}),c(kp,{isOpen:tt,data:_e,isLocking:fe,lockError:Rt,onContinue:ot,onClose:()=>ut(!1),primaryColor:S,fontFamily:I,dark:v}),Me&&gt&&c("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:10,backgroundColor:v?"rgba(0, 0, 0, 0.45)":"rgba(255, 255, 255, 0.55)",backdropFilter:"blur(2px)",WebkitBackdropFilter:"blur(2px)",borderRadius:O},children:c(wr,{type:"lock",showStepBreakdown:!1,isOpen:!!Me&&Me.overallStatus!=="processing",isProcessing:fe||Me?.overallStatus==="processing",closeOnComplete:!1,onRetryTx:()=>{He(),dt(!1),ot()},onNewTx:()=>{He(),dt(!1),oe(null),Gt.current=null,Ut(),ce()},onClose:()=>{He(),dt(!1)},onComplete:()=>{He(),dt(!1),oe(null),Gt.current=null,Ut(),ce()},results:Me?.overallStatus==="success"||Me?.overallStatus==="failed"?Me.steps.map(re=>({asset:{symbol:M?.asset?.symbol||o,address:M?.asset?.address||""},txHash:re.transactionHash||"",success:re.status==="success",amount:M?.amount})):void 0,chainId:l,theme:A,styles:C,dark:v})})]})})};function rl(e){const t=Yt(zt),n=t?.embeddedWalletAddress,s=e?.enabled===!1?void 0:n,o=t?.network?{network:t.network,pollIntervalMs:e?.pollIntervalMs,chainIds:e?.chainIds??t.supportedChainIds,discoverWalletBalances:e?.discoverWalletBalances}:void 0;return{..._a(s,o),embeddedWalletAddress:n}}var Op="data:image/svg+xml,%3csvg width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='black' stroke-opacity='0.5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3e%3cpolyline points='17 1 21 5 17 9' /%3e%3cpath d='M3 11V9a4 4 0 0 1 4-4h14' /%3e%3cpolyline points='7 23 3 19 7 15' /%3e%3cpath d='M21 13v2a4 4 0 0 1-4 4H3' /%3e%3c/svg%3e";const Up=({appName:e,status:t,statusLabel:n,totalUsdValue:s,breakdownSubtitle:o,showUsdSummary:r=!0,address:a,dk:i,dark:d=!1,showModeToggle:l,isEmbeddedMode:u=!0,onModeToggle:p})=>{const[m,h]=R(!1),f=async()=>{a&&await ql(a)&&(h(!0),setTimeout(()=>h(!1),2e3))},y=t==="active",g=n||(y?"Active":"Inactive"),w=y?"#10b981":"#9ca3af",x=b("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[b("div",{children:[c("strong",{children:"Embedded:"})," Deposit assets into ",e," account and use them here."]}),b("div",{children:[c("strong",{children:"External:"})," Use assets from your connected wallet here."]})]});return b("div",{children:[b("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"4px"},children:[b("div",{style:{fontSize:"13px",fontWeight:600,color:i.textPrimary},children:[e," Account"]}),l?b("div",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[b("button",{onClick:p,style:{display:"flex",alignItems:"center",gap:"4px",padding:"2px 8px",borderRadius:"9999px",backgroundColor:d?i.hoverBg:"#f3f4f6",border:d?`1px solid ${i.cardBorder}`:"1px solid #e5e7eb",cursor:"pointer",fontSize:"11px",fontWeight:600,fontFamily:Ee.mono,color:i.textSecondary,transition:"background-color 150ms ease, border-color 150ms ease, color 150ms ease",letterSpacing:"0.02em"},children:[c("span",{children:u?"Embedded":"External"}),c("img",{src:Op,alt:"","aria-hidden":"true",style:{width:"11px",height:"11px",display:"block",...d?{filter:"invert(0.65)"}:{}}})]}),c(ja,{content:x,label:"Account mode info",textColor:d?i.textPrimary:"#f9fafb",backgroundColor:d?i.cardBg:"#111827",borderColor:d?i.cardBorder:"rgba(255,255,255,0.08)",accentColor:d?i.textSecondary:"#6b7280",children:c("img",{src:xr,alt:"","aria-hidden":"true",style:{width:"12px",height:"12px",display:"block",...d?{filter:"invert(0.65)"}:{}}})})]}):b("div",{style:{display:"flex",alignItems:"center",gap:"4px",padding:"2px 8px",borderRadius:"9999px",backgroundColor:d?i.hoverBg:y?"#ecfdf5":"#f3f4f6",border:d?`1px solid ${i.cardBorder}`:y?"1px solid #a7f3d0":"1px solid #e5e7eb"},children:[c("div",{style:{width:"6px",height:"6px",borderRadius:"50%",backgroundColor:w}}),c("span",{style:{fontSize:"11px",fontWeight:500,color:d?i.textSecondary:y?"#065f46":"#6b7280"},children:g})]})]}),r&&c("div",{style:{fontSize:"28px",fontWeight:700,color:i.textPrimary,lineHeight:1.2,marginBottom:"2px"},children:ts(s)}),r&&o&&c("div",{style:{fontSize:"12px",color:i.textSecondary,marginBottom:"8px"},children:o}),a&&b("div",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[c("span",{style:{fontSize:"12px",fontFamily:Ee.mono,color:d?i.textSecondary:"#9ca3af"},children:qs(a)}),c("button",{onClick:f,style:{padding:"2px 6px",fontSize:"10px",fontWeight:500,backgroundColor:"transparent",color:d?i.textSecondary:"#9ca3af",border:"none",cursor:"pointer",borderRadius:"4px",transition:"background-color 150ms ease, color 150ms ease"},title:"Copy address",children:m?"Copied":"Copy"})]})]})},Pp=tn(Up),Lp=({pendingDeposits:e,onCompleteDeposit:t,dk:n,dark:s=!1})=>e.length===0?null:b("div",{children:[c("div",{style:{fontSize:"11px",fontWeight:600,letterSpacing:"1px",color:n.textSecondary,marginBottom:"8px",textTransform:"uppercase"},children:"Pending Deposits"}),c("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:e.map((o,r)=>{const a=Ue(o.chainId)?.displayName||`Chain ${o.chainId}`;return b("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 12px",backgroundColor:s?n.warningBg:"#fffbeb",border:s?`1px solid ${n.warningBorder}`:"1px solid #fde68a",borderRadius:"8px"},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[c("div",{style:{width:"24px",height:"24px",borderRadius:"50%",backgroundColor:s?n.hoverBg:"#fde68a",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"11px",fontWeight:600,color:n.warningText},children:o.tokenSymbol.charAt(0)}),b("div",{children:[b("div",{style:{fontSize:"13px",fontWeight:500,color:n.textPrimary},children:[o.amount," ",o.tokenSymbol]}),b("div",{style:{fontSize:"11px",color:n.warningText},children:["on ",a]})]})]}),c("button",{onClick:()=>t?.(o),style:{padding:"4px 12px",fontSize:"11px",fontWeight:600,backgroundColor:s?n.hoverBg:"#fef3c7",color:s?n.textPrimary:"#92400e",border:s?`1px solid ${n.warningBorder}`:"1px solid #fde68a",borderRadius:"9999px",cursor:"pointer",transition:"background-color 150ms ease, border-color 150ms ease, color 150ms ease"},children:"Complete"})]},`${o.tokenAddress}-${o.chainId}-${r}`)})})]}),zp=tn(Lp),Hp=e=>`${e.tokenAddress}-${e.chainId}`,jp=({spiceAssets:e,loading:t,dk:n,dark:s=!1,canDirectWithdraw:o=!1,onDirectWithdraw:r,directWithdrawState:a,onWithdrawClick:i})=>{const d={fontSize:"11px",fontWeight:600,letterSpacing:"1px",color:n.textSecondary,marginBottom:"8px",textTransform:"uppercase"},l={backgroundColor:n.cardBg,border:s?`1px solid ${n.cardBorder}`:"1px solid #e5e7eb",borderRadius:"8px"};return t?b("div",{children:[c("div",{style:d,children:"Idle Balances"}),[1,2].map(u=>c("div",{style:{...l,padding:"12px",marginBottom:"6px",height:"48px",animation:"pulse 1.5s ease-in-out infinite",opacity:.5}},u))]}):e.length===0?b("div",{children:[c("div",{style:d,children:"Idle Balances"}),c("div",{style:{...l,padding:"16px",textAlign:"center",fontSize:"13px",color:s?n.textSecondary:"#9ca3af"},children:"No assets yet. Deposit to get started."})]}):b("div",{children:[c("div",{style:d,children:"Idle Balances"}),c("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:e.map((u,p)=>{const m=Ue(u.chainId),h=u.chainDisplayName||m?.displayName||`Chain ${u.chainId}`,f=u.tokenDisplaySymbol||u.tokenDisplayName||u.tokenSymbol,y=Hp(u),g=u.receiptTokenId&&i,w=g||o&&u.directWithdraw&&!!r,x=!g&&a?.key===y?a:null,B=x?.step==="pending";return b("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 12px",...l},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[u.logoURI?c("img",{src:u.logoURI,alt:u.tokenSymbol,style:{width:"24px",height:"24px",borderRadius:"50%"}}):c("div",{style:{width:"24px",height:"24px",borderRadius:"50%",backgroundColor:s?n.hoverBg:"#e5e7eb",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"11px",fontWeight:600,color:n.textSecondary},children:f.charAt(0)}),b("div",{children:[c("div",{style:{fontSize:"13px",fontWeight:500,color:n.textPrimary},children:f}),c("div",{style:{fontSize:"11px",color:s?n.textSecondary:"#9ca3af"},children:h})]})]}),b("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[b("div",{style:{textAlign:"right"},children:[c("div",{style:{fontSize:"13px",fontWeight:500,color:n.textPrimary},children:_n(u.balanceFormatted)}),c("div",{style:{fontSize:"11px",color:x?.step==="error"?n.errorText:s?n.textSecondary:"#9ca3af"},children:x?.step==="error"?x.message||"Withdraw failed":u.receiptTokenId&&(!Number.isFinite(u.usdValue)||u.usdValue<=0)?"\u2014":`${ts(u.usdValue)}${u.priceStatus==="stale"?" (stale)":""}`})]}),w&&c("button",{onClick:()=>{B||(g?g(u.receiptTokenId):r(u))},disabled:B,title:g?"Choose withdrawal network":"Withdraw to external wallet",style:{padding:"6px 10px",borderRadius:"6px",border:s?`1px solid ${n.cardBorder}`:"1px solid #e5e7eb",backgroundColor:s?n.hoverBg:"#ffffff",color:n.textPrimary,fontSize:"11px",fontWeight:600,cursor:B?"default":"pointer",opacity:B?.6:1,whiteSpace:"nowrap"},children:B?"Withdrawing\u2026":"Withdraw"})]})]},`${u.tokenAddress}-${u.chainId}-${p}`)})})]})},Vp=tn(jp),Qp=({section:e,dk:t,dark:n=!1})=>{const s=o=>{switch(o){case"green":return"#10b981";case"red":return"#ef4444";default:return t.textPrimary}};return b("div",{children:[c("div",{style:{fontSize:"11px",fontWeight:600,letterSpacing:"1px",color:t.textSecondary,marginBottom:"8px",textTransform:"uppercase"},children:e.title}),c("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:e.items.map((o,r)=>b("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 12px",backgroundColor:t.cardBg,border:n?`1px solid ${t.cardBorder}`:"1px solid #e5e7eb",borderRadius:"8px"},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[o.tokenLogoURI?c("img",{src:o.tokenLogoURI,alt:o.tokenSymbol,style:{width:"20px",height:"20px",borderRadius:"50%"}}):c("div",{style:{width:"20px",height:"20px",borderRadius:"50%",backgroundColor:n?t.hoverBg:"#e5e7eb",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"10px",fontWeight:600,color:t.textSecondary},children:o.tokenSymbol.charAt(0)}),b("div",{children:[c("div",{style:{fontSize:"13px",fontWeight:500,color:t.textPrimary},children:o.tokenSymbol}),c("div",{style:{fontSize:"11px",color:t.textSecondary},children:o.label})]})]}),c("div",{style:{fontSize:"13px",fontWeight:600,color:s(o.valueColor)},children:o.displayValue})]},r))})]})},qp=tn(Qp),Kp=({onDepositClick:e,onWithdrawClick:t,depositDisabled:n=!1,withdrawDisabled:s=!1,primaryColor:o="#EA4B4B",dark:r=!1})=>!e&&!t?null:b("div",{style:{display:"flex",gap:"8px"},children:[e&&c(Ot,{variant:"outline",onClick:e,disabled:n,dark:r,styles:{button:{backgroundColor:o}},style:{flex:1,height:"44px",fontSize:"12px"},children:"Deposit"}),t&&c(Ot,{variant:"outline",onClick:()=>t(),disabled:s,dark:r,styles:{button:{backgroundColor:o}},style:{flex:1,height:"44px",fontSize:"12px"},children:"Withdraw"})]}),Yp=tn(Kp),Zp=({appName:e,status:t,statusLabel:n,totalUsdValue:s,breakdownSubtitle:o,showUsdSummary:r,address:a,spiceAssets:i,spiceAssetsLoading:d,pendingDeposits:l,customSections:u,notice:p,onDepositClick:m,onWithdrawClick:h,depositDisabled:f,onCompleteDeposit:y,primaryColor:g,dk:w,dark:x=!1,showModeToggle:B,isEmbeddedMode:k,onModeToggle:C,showConnectExternalCta:T,onConnectExternalWallet:A,connectExternalError:v,showHowItWorks:S=!0,canDirectWithdraw:F,onDirectWithdraw:I,directWithdrawState:D})=>{const[E,L]=R(!1);return b("div",{style:{display:"flex",flexDirection:"column",gap:"16px",padding:"16px",maxHeight:"calc(80vh - 32px)",overflowY:"auto"},children:[c(Pp,{appName:e,status:t,statusLabel:n,totalUsdValue:s,breakdownSubtitle:o,showUsdSummary:r,address:a,dk:w,dark:x,showModeToggle:B,isEmbeddedMode:k,onModeToggle:C}),p&&c("div",{style:{padding:"10px 12px",borderRadius:"8px",backgroundColor:p.tone==="warning"?x?"rgba(245, 158, 11, 0.12)":"#fffbeb":p.tone==="success"?x?"rgba(16, 185, 129, 0.12)":"#ecfdf5":w.cardBg,border:p.tone==="warning"?x?"1px solid rgba(245, 158, 11, 0.35)":"1px solid #fde68a":p.tone==="success"?x?"1px solid rgba(16, 185, 129, 0.35)":"1px solid #a7f3d0":x?`1px solid ${w.cardBorder}`:"1px solid #e5e7eb",color:p.tone==="warning"?x?"#fbbf24":"#92400e":p.tone==="success"?x?"#34d399":"#047857":w.textSecondary,fontSize:"12px",lineHeight:1.45,fontWeight:500},children:p.message}),T&&b("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[c("button",{onClick:A,style:{width:"100%",padding:"10px 14px",borderRadius:"8px",backgroundColor:g||"#EA4B4B",color:"#ffffff",border:"none",cursor:"pointer",fontSize:"13px",fontWeight:600,fontFamily:Ee.ui,transition:"opacity 150ms ease"},children:"Connect External Wallet"}),v&&c("span",{style:{fontSize:"11px",color:x?w.errorText:"#b91c1c",lineHeight:1.4},children:v})]}),c("div",{style:{height:"1px",backgroundColor:x?"#2d2d2d":"#e5e7eb"}}),c(Yp,{onDepositClick:m,onWithdrawClick:h,depositDisabled:f,primaryColor:g,dark:x}),S&&b("div",{children:[b("button",{onClick:()=>L(!E),style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:"8px 12px",backgroundColor:w.cardBg,border:x?`1px solid ${w.cardBorder}`:"1px solid #e5e7eb",borderRadius:"8px",cursor:"pointer",color:w.textSecondary,fontSize:"12px",fontWeight:500},children:[c("span",{children:"How It Works"}),c("span",{style:{transform:E?"rotate(180deg)":"rotate(0deg)",transition:"transform 200ms ease",fontSize:"10px"},children:"\u25BE"})]}),E&&b("div",{style:{marginTop:"6px",padding:"10px 12px",backgroundColor:x?w.cardBg:"#f0fdf4",border:x?`1px solid ${w.cardBorder}`:"1px solid #bbf7d0",borderRadius:"8px",fontSize:"12px",lineHeight:1.5,color:x?w.textSecondary:"#374151"},children:["Fund your ",e," Account from any supported chain. Once funded, transact gas-free and asset-abstracted on ",e,"."]})]}),c(zp,{pendingDeposits:l,onCompleteDeposit:y,dk:w,dark:x}),c(Vp,{spiceAssets:i,loading:d,dk:w,dark:x,canDirectWithdraw:F,onDirectWithdraw:I,directWithdrawState:D,onWithdrawClick:h}),u.map((W,U)=>c(qp,{section:W,dk:w,dark:x},U))]})},Xp=tn(Zp);function Gp(e,t,n){const s=t-n.gasBridge-n.spicenetFee;if(s<=0n)throw new Error("Balance is too small to cover the network fee.");const o=[{recipient:e,amount:s}];return n.gasBridge>0n&&o.push({recipient:an,amount:n.gasBridge}),n.spicenetFee>0n&&o.push({recipient:Kn,amount:n.spicenetFee}),o}function al(e,t,n){const s=n.filter(o=>o.amount>0n);return{chainId:e,domain:"evm",tokenTransfers:[],calls:pe(t)?s.map(o=>({to:o.recipient,value:o.amount,data:"0x"})):s.map(o=>({to:t,value:0n,data:ct({abi:Le,functionName:"transfer",args:[o.recipient,o.amount]})}))}}const Jp=new Set([an,Kn].map(e=>e.toLowerCase()));function $p(e,t){return!e||e.length!==t.length?!1:e.every((n,s)=>{const o=t[s];return n.recipient.toLowerCase()!==o.recipient.toLowerCase()?!1:Jp.has(n.recipient.toLowerCase())?zn(n.amount,o.amount,100n):!0})}function _p(e,t){const n=e.intents.flatMap(o=>o.batches).filter(o=>nn(o).totalFee>0n),s=n.filter(o=>o.chainId===t);return(s.length>0?s:n)[0]??null}function em(e,t,n,s){const o=_p(s,e),{gasFee:r,bridgeFee:a,spicenetFee:i}=o?nn(o):{gasFee:0n,bridgeFee:0n,spicenetFee:0n};return Gp(t,n,{gasBridge:r+a,spicenetFee:i})}function tm(){const{execute:e}=ls(),t=Yt(zt),n=t?.embeddedWalletAddress,{embeddedAddress:s}=ns(),o=n||s,r=t?.externalWalletAddress,a=t?.mode==="7702"&&!!o&&!!r&&!Fe(o,r),i=X(!1),[d,l]=R(null);return{withdraw:ne(async({tokenAddress:u,chainId:p,balance:m,onProgress:h})=>{if(i.current)throw new Error("A withdrawal is already in progress.");const f=`${u}-${p}`;i.current=!0,l({key:f,step:"pending"});try{if(!a)throw new Error("Connect a different external wallet to withdraw from your embedded wallet.");if(m<=0n)throw new Error("Nothing to withdraw.");const y=u,g=r,w=[al(p,y,[{recipient:g,amount:m}])];let x=null;const B=await e(w,y,0n,h,void 0,{useCustomTransfers:!0,userOverride:o,adjustBatchesForEstimate:({feeEstimate:k})=>{const C=em(p,g,m,k);return $p(x,C)?null:(x=C,[al(p,y,C)])}});return l(null),B}catch(y){throw l({key:f,step:"error",message:fn(y,"Withdraw failed")}),y}finally{i.current=!1}},[e,o,r,a]),canWithdraw:a,state:d}}const Ur=380,Xn=8,nm=[],sm={},om=.01;function il(e){return e?.trim().replace(/^spice/i,"").replace(/[^a-z0-9]/gi,"").toUpperCase()||void 0}function rm(e,t){const n=new Map;Object.entries(t).forEach(([o,r])=>{if(!Number.isFinite(r)||r<=0)return;n.set(o,r),n.set(o.toUpperCase(),r);const a=il(o);a&&n.set(a,r)});const s=[e.symbol,e.displaySymbol,e.receiptTokenName,e.name,e.displayName];for(const o of s){if(!o)continue;const r=n.get(o)??n.get(o.toUpperCase());if(r!==void 0)return r;const a=il(o);if(!a)continue;const i=n.get(a);if(i!==void 0)return i}return 0}const am=({appName:e="Spice",status:t="active",statusLabel:n,customSections:s=nm,extraAssets:o=[],tokenPrices:r={},tokenLogos:a=sm,breakdownLabels:i=[],notice:d,styles:l,dark:u=!1,onDepositSuccess:p,onDepositClick:m,onWithdrawClick:h,onCompleteDeposit:f,showModeToggle:y=!1,defaultMode:g,showUsdSummary:w=!0})=>{const x=Yt(zt),B=x?.mode!=="7702",k=!!x?.isWhitelistGateActive,C=!!x?.isWhitelistConfigured&&x?.isUserWhitelisted!==!0,T=X(!1);G(()=>{if(!T.current){if(Kl()){T.current=!0;return}g&&x?.setMode&&(x.setMode(g==="non7702"?"ondemand":"7702"),T.current=!0)}},[x,g]);const[A,v]=R(!1),[S,F]=R(null),[I,D]=R({top:0,bottom:0,left:0,placement:"below"}),E=X(null),L=X(null),{address:W,isConnected:U}=En(),_=x?.embeddedWalletAddress,P=x?.externalWalletAddress,{embeddedAddress:N}=ns(),{dark:O,primaryColor:j,dk:q}=It(l,u),H=B&&!P,V=!B||H,M=V?_||N:W,oe=J(()=>x?.supportedChainIds??Xs("mainnet"),[x?.supportedChainIds]),{assets:Ce,loading:Q}=Ts({address:M,supportedChains:oe,enabled:!!M&&V,refetchInterval:3e4,priceEnabled:A}),$=V?M:W,ie=!!$&&!k,{assets:fe,refreshAssets:de}=as({address:ie?$:void 0,supportedChains:oe,fetchBalances:rs,enabled:ie,refreshInterval:3e4,priceEnabled:A}),Ve=J(()=>{const Re=(he,Ne)=>`${he}:${Xe(Ne).toLowerCase()}`,Me=new Set(o.map(he=>Re(he.chainId,he.tokenAddress)));return fe.filter(he=>{if(he.balance<=0n)return!1;const Ne=he.isNative||pe(he.address);return V&&!Ne&&ht(he.address,he.chainId)?!1:!Me.has(Re(he.chainId,he.address))}).map(he=>({tokenAddress:he.address,tokenSymbol:he.symbol,tokenDecimals:he.decimals,chainId:he.chainId,chainDisplayName:Jt(he.chainId),balance:he.balance.toString(),balanceFormatted:he.balanceFormatted,usdValue:he.balanceUsd||0,logoURI:he.logoURI||a[he.symbol],directWithdraw:V}))},[fe,o,a,V]),z=J(()=>{const Re=V?Ce.map(he=>{const Ne=he.balanceUsd||0,He=Number.isFinite(he.balanceFormatted)?he.balanceFormatted:0,xt=rm(he,r),Ut=he.priceStatus&&xt>0?xt*He:Ne>0?Ne:xt*He;return{tokenAddress:he.address,tokenSymbol:he.symbol,tokenDisplaySymbol:Xo(he),tokenDisplayName:Bc(he),tokenDecimals:he.decimals,chainId:he.chainId,chainDisplayName:Go(he),balance:he.balance.toString(),balanceFormatted:he.balanceFormatted,usdValue:Ut,priceStatus:xt>0?void 0:he.priceStatus,logoURI:he.logoURI,receiptTokenId:he.receiptTokenId}}):[],Me=H?[]:o;return[...Re,...Ve,...Me].filter(he=>he.balanceFormatted>0&&!(he.usdValue>0&&he.usdValue<om)).sort((he,Ne)=>Ne.usdValue-he.usdValue)},[V,H,Ce,r,Ve,o]),le=J(()=>z.reduce((Re,Me)=>Re+Me.usdValue,0),[z]),{pendingDeposits:te,refresh:me}=rl({chainIds:oe,enabled:!!W,discoverWalletBalances:!0}),ve=J(()=>s.reduce((Re,Me)=>Re+Me.totalValue,0),[s]),K=le+ve,ae=J(()=>{const Re=[];le>0&&Re.push(`${ts(le)} idle`);for(const Me of s){const he=i.find(Ne=>Ne.sectionTitle===Me.title)?.label||Me.title.toLowerCase();Re.push(`${ts(Me.totalValue)} ${he}`)}return Re.join(" \xB7 ")},[le,s,i]),Z=ne(Re=>{f?f(Re):F(Re)},[f]),ye=ne(()=>{F(null)},[]),Qe=ne(()=>{F(null),p?.()},[p]),xe=ne(()=>{if(!E.current)return;const Re=E.current.getBoundingClientRect(),Me=window.innerHeight-Re.bottom-Xn,he=Re.top-Xn,Ne=Me>=400||Me>=he?"below":"above",He=Math.max(Xn,Math.min(Re.right-Ur,window.innerWidth-Ur-Xn)),xt=Ne==="below"?Re.bottom+Xn:Re.top-Xn,Ut=Ne==="above"?window.innerHeight-xt:0;D({top:xt,bottom:Ut,left:He,placement:Ne})},[]);Gr(()=>{A&&xe()},[A,xe]),G(()=>{if(!A)return;const Re=Ne=>{E.current&&!E.current.contains(Ne.target)&&L.current&&!L.current.contains(Ne.target)&&v(!1)},Me=Ne=>{Ne.key==="Escape"&&v(!1)},he=()=>xe();return document.addEventListener("mousedown",Re),document.addEventListener("keydown",Me),window.addEventListener("scroll",he,{passive:!0}),window.addEventListener("resize",xe),()=>{document.removeEventListener("mousedown",Re),document.removeEventListener("keydown",Me),window.removeEventListener("scroll",he),window.removeEventListener("resize",xe)}},[A,xe]);const gt=V?_||N||W:P||W,dt=ne(()=>{x?.setMode&&x.setMode(V?"ondemand":"7702")},[x,V]),[tt,ut]=R(null);let _e=null;try{_e=la({onSuccess:()=>ut(null),onError:Re=>ut(fn(Re,"Failed to connect wallet."))}).connectWallet}catch{_e=null}const vt=ne(()=>{_e&&(v(!1),ut(null),_e({walletChainType:"ethereum-only"}))},[_e]),yt=!P&&!!_e,Te=ne(()=>{v(!1),m?.()},[m]),Ke=ne(Re=>{v(!1),h?.(Re)},[h]),pt=ne(Re=>{v(!1),Z(Re)},[Z]),{withdraw:se,canWithdraw:at,state:At}=tm(),mt=ne(async Re=>{try{await se({tokenAddress:Re.tokenAddress,chainId:Re.chainId,balance:BigInt(Re.balance)}),me(),de()}catch{}},[se,me,de]);if(typeof window>"u")return null;const nt=b("button",{ref:E,onClick:()=>v(!A),style:{display:"inline-flex",alignItems:"center",gap:"6px",padding:"8px 14px",borderRadius:"9999px",backgroundColor:O?q.hoverBg:"#ffffff",border:O?`1px solid ${q.cardBorder}`:"1px solid #e5e7eb",cursor:"pointer",fontSize:"13px",fontWeight:500,fontFamily:Ee.ui,color:O?q.textPrimary:"#111827",transition:"background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease",boxShadow:O?"none":"0 1px 2px rgba(0,0,0,0.05)"},children:[b("span",{children:[e," Account"]}),U&&w&&b("span",{style:{color:O?q.textSecondary:"#6b7280"},children:["\xB7 ",ts(K)]}),c("span",{style:{fontSize:"10px",color:O?q.textSecondary:"#9ca3af",transform:A?"rotate(180deg)":"rotate(0deg)",transition:"transform 200ms ease"},children:"\u25BE"})]}),Mt=A?ca.createPortal(b($t,{children:[c("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.08)",zIndex:qn.popover},onClick:()=>v(!1)}),c("div",{ref:L,style:{position:"fixed",top:I.placement==="below"?`${I.top}px`:"auto",bottom:I.placement==="above"?`${I.bottom}px`:"auto",left:`${I.left}px`,width:`${Ur}px`,maxWidth:`calc(100vw - ${Xn*2}px)`,maxHeight:"80vh",backgroundColor:O?q.shell:"#ffffff",border:O?`1px solid ${q.cardBorder}`:"1px solid #e5e7eb",borderRadius:"12px",boxShadow:O?"0 10px 40px rgba(0, 0, 0, 0.5)":"0 10px 40px rgba(0, 0, 0, 0.12)",zIndex:qn.popover+1,overflow:"hidden",animation:`accountDisplayFadeIn 200ms ${es.out}`},children:c(Xp,{appName:e,status:t,statusLabel:n,totalUsdValue:K,breakdownSubtitle:ae,showUsdSummary:w,address:V?gt:W,spiceAssets:z,spiceAssetsLoading:Q,pendingDeposits:te,customSections:s,notice:d,onDepositClick:m?Te:void 0,onWithdrawClick:h?Ke:void 0,depositDisabled:C,onCompleteDeposit:pt,primaryColor:j,dk:q,dark:O,showModeToggle:y,isEmbeddedMode:V,onModeToggle:dt,showConnectExternalCta:yt,onConnectExternalWallet:vt,connectExternalError:tt,showHowItWorks:!k,canDirectWithdraw:at,onDirectWithdraw:mt,directWithdrawState:At})}),c("style",{children:`
81
81
  @keyframes accountDisplayFadeIn {
82
82
  from { opacity: 0; transform: translateY(-4px); }
83
83
  to { opacity: 1; transform: translateY(0); }
84
84
  }
85
- `})]}),document.body):null;return w(Gt,{children:[Xe,Pt,A&&oa.createPortal(c(Za,{isOpen:!0,onClose:ve,supportedChains:[A.chainId],escrowOnly:!0,escrowTokenAddress:A.tokenAddress,escrowAmount:A.amount,escrowTokenDecimals:A.tokenDecimals,escrowTokenSymbol:A.tokenSymbol,styles:l,onDepositSuccess:st}),document.body)]})},om="0xa9059cbb";function rl(e,t,n){return he(e)?{to:n,value:t,data:"0x"}:{to:e,value:0n,data:ot({abi:ze,functionName:"transfer",args:[n,t]})}}function al(e,t,n){return{chainId:n,calls:[rl(e,t,An(n))]}}function il(e,t,n){return!t&&e?.asset?._source==="wallet"&&e?.asset.chainId===n}function ll(e){return e.isNative||he(e.address)?!0:!xt(e.address,e.chainId)}function cl(e,t,n){const o=e?.asset;return!t||!o||o._source!=="wallet"||o.chainId!==n||o.isNative||he(o.address)?!1:!xt(o.address,o.chainId)}function dl(e,t,n,o){return t!=="user-transfer"||!n||e.length===0||e[0]?.to.toLowerCase()!==o.toLowerCase()||!e[0]?.data.startsWith(om)?{feeCall:null,remainingCalls:e}:{feeCall:e[0],remainingCalls:e.slice(1)}}async function ws(e,t,n,o){if(!t)return[e];const s=await t({...n,requestTimestampMs:o});return s?[s,e]:[e]}function ul(e){return e.filter(t=>t.domain!=="spicenet")}function Cs(e){const t=(e.tokenTransfers??[]).filter(n=>n.from==="escrow").map(n=>({token:Je(n.token),recipient:n.to,amount:BigInt(n.amount)})).filter(n=>n.amount>0n);return t.length>0?t:void 0}function cn(e,t,n){return Tn(e,t,n,"ceil")}async function pl(e,t){const{currentPaymentAmount:n,destinationToken:o,embeddedWalletAddress:s,providerEmbeddedAddress:r,address:a,isNon7702:i,isPayMode:d,resolvedChainId:l,buildActionCalls:p,feeExecutionMode:u,buildSpicenetBatch:m,selectedAsset:h,needsSwap:f,exactOutputSwap:y,resolvedTokenIn:g,requestTimestampMs:k}=e,x=_e(n,o.decimals),F=t?.actionAmountOverride??x,b=s||r||(i?void 0:a);if(!b)throw new Error("Embedded wallet address is not available. Please sign in and try again.");const C={userAddress:b,chainId:l,destinationToken:o.address,grossAmount:t?.fundingAmountOverride??x,netAmount:F,combinedFeeAmount:t?.actionContextOverride?.combinedFeeAmount,feeExecutionMode:u,feeBreakdown:t?.actionContextOverride?.feeBreakdown,...t?.actionContextOverride},T=p(F,C),v={chainId:l,calls:T},E=!d&&!i?!0:h?.asset?._source==="spice",A=il(h??null,i,l),S=E||i&&!cl(h,i,l)||A&&!!h&&!ll(h.asset),I=(B,H)=>({token:Je(B),from:"escrow",to:b,amount:H}),D=(B,H,W)=>A?[al(B,H,l),...W]:W;if(x===0n)return[v];if(f&&y){const B=g??hn(h.asset,l)??h.asset.address,H=t?.fundingAmountOverride??y.amountInMax,W=S?[I(B,H)]:[],P={chainId:l,calls:[...y.calls,...T],tokenTransfers:[...W,...v.tokenTransfers??[]]};if(!S)return[P];const _=await ws(P,m,{userAddress:b,destinationChainId:l,deliveryToken:B,deliveryAmount:H,deliveryRecipient:b,deliveryTransfers:Cs(P),sourceAsset:h.asset},k);return D(B,H,_)}if(S){const B=g??hn(h.asset,l)??o.address;if(A&&B.toLowerCase()===o.address.toLowerCase())return[v];const H=t?.fundingAmountOverride??x,W={...v,tokenTransfers:[I(B,H),...v.tokenTransfers??[]]},P=await ws(W,m,{userAddress:b,destinationChainId:l,deliveryToken:B,deliveryAmount:H,deliveryRecipient:b,deliveryTransfers:Cs(W),sourceAsset:h.asset},k);return D(B,H,P)}return[v]}async function Br(e,t){const{selectedAsset:n,embeddedWalletAddress:o,externalWalletAddress:s,recipient:r,resolvedChainId:a,destinationToken:i,buildActionCalls:d,feeExecutionMode:l,buildSpicenetBatch:p,isPayMode:u,isNon7702:m,needsSwap:h,resolvedSwap:f,quoteAmountOut:y,resolvedTokenIn:g,requestTimestampMs:k}=e;if(!n?.asset||!o)return[];const x=r??(m?s:o);if(!x)return[];const F=g??hn(n.asset,a)??i.address,b=xt(F,a)?.decimals??(h?n.asset.decimals:i.decimals),C=t?.fundingAmountOverride??t?.actionAmountOverride??Tn(_e(n.amount,n.asset.decimals),n.asset.decimals,b,"floor"),T=t?.fundingAmountOverride??C,v=t?.sourceFundingAmountOverride??cn(C,b,n.asset.decimals),E=t?.deliveryAmountOverride??T,A=t?.withdrawalAmountOverride??E,S=t?.actionAmountOverride??t?.actionContextOverride?.netAmount??C;let I=f;if(h&&!u&&t?.actionContextOverride?.netAmount!==void 0){if(!e.resolveInputSwap)throw new Error("Swap quote cannot be refreshed for the amount after fees.");I=await e.resolveInputSwap(t.actionContextOverride.netAmount)}const D=I?.amountOutMinimum??y,B={userAddress:x,chainId:a,destinationToken:i.address,feeToken:l==="user-transfer"&&h&&g?g:i.address,grossAmount:T,netAmount:S,combinedFeeAmount:t?.actionContextOverride?.combinedFeeAmount,feeExecutionMode:l,feeBreakdown:t?.actionContextOverride?.feeBreakdown,...t?.actionContextOverride},H=d(S,B),W=n.asset?._source==="wallet";if(!u&&W&&n.asset.chainId===a&&(m||ll(n.asset))){if(h){if(!g)throw new Error("Swap input token could not be resolved");if(!I||D===null)throw new Error("Swap quote not available yet")}if(h&&I&&D){const M=d(t?.actionAmountOverride??D,{...B,netAmount:t?.actionAmountOverride??D}),{feeCall:ae,remainingCalls:ke}=dl(M,l,h,B.feeToken);return[{chainId:a,calls:[...ae?[ae]:[],...I.calls,...ke]}]}return[{chainId:a,calls:H}]}if(!u&&!m&&W&&n.asset.chainId!==a)throw new Error("Cross-chain wallet supplies require external wallet mode");const P=!u&&!m?n.asset?._source!=="wallet":n.asset?._source==="spice",_=m&&W,U=il(n,m,a);if(!(P||_||U))return[{chainId:a,calls:H}];const N=U?al(g??Je(n.asset.address),v,a):_&&n.asset.chainId!==a?{chainId:n.asset.chainId,calls:[rl(Je(n.asset.address),v,An(n.asset.chainId))]}:null,O=(M,ae)=>({token:Je(M),from:_?"solver":"escrow",to:o,amount:ae}),j=(M,ae)=>_?[{token:Je(M),from:"escrow",to:ic,amount:ae}]:[];if(h){if(!g)throw new Error("Swap input token could not be resolved");if(!I||D===null)throw new Error("Swap quote not available yet")}if(h&&I&&D&&g){const M=d(t?.actionAmountOverride??D,{...B,netAmount:t?.actionAmountOverride??D}),{feeCall:ae,remainingCalls:ke}=dl(M,l,h,B.feeToken),Q={chainId:a,calls:[...ae?[ae]:[],...I.calls,...ke],tokenTransfers:[...j(g,A),O(g,E)]},G=await ws(Q,p,{userAddress:o,destinationChainId:a,deliveryToken:g,deliveryAmount:E,withdrawalAmount:A,deliveryRecipient:o,deliveryTransfers:Cs(Q),sourceAsset:n.asset},k);return N?[N,...G]:G}const K=g??hn(n.asset,a)??i.address,L={chainId:a,calls:H,tokenTransfers:[...j(K,A),O(K,E)]},q=await ws(L,p,{userAddress:o,destinationChainId:a,deliveryToken:K,deliveryAmount:E,withdrawalAmount:A,deliveryRecipient:o,deliveryTransfers:Cs(L),sourceAsset:n.asset},k);return N?[N,...q]:q}async function sm(e,t,n,o,s){let r=e;for(let a=0;a<4;a++){const i=await t(r),d=await o(i,n,r,s),l=md(d);if(l===null||l>=e)return r;const p=r-l,u=e+p;if(u<=r)return r;r=u}return r}const ml=(e,t)=>(e+t-1n)/t;function rm(e,t){const n=e.spicenetFee+(e.bridgeFee??0n);return e.grossAmount<=n?t+e.gasFee+n:ml((t+e.gasFee)*e.grossAmount,e.grossAmount-n)+2n}function fl(e,t,n){return e.every(o=>o.domain!=="spicenet"&&!o.tokenTransfers?.length)?{...t,grossAmount:n,netAmount:n,totalFee:0n,gasFee:0n,spicenetFee:0n,bridgeFee:0n,gasQuoteSource:"static_zero"}:null}async function ks(e){const{requiredNetFunding:t}=e,n=await e.buildBatches(t),o=await e.estimate(n,e.fundingToken,t,e.executionOptions),s=ro(o,e.tokenDescriptor);if(!s)return{preview:fl(n,e.tokenDescriptor,t),feeEstimate:o,grossFundingAmount:t};const r=rm(s,t),a=l=>s.grossAmount>0n?ml(l*r,s.grossAmount):l,i=a(s.spicenetFee),d=a(s.bridgeFee??0n);return{preview:{...s,grossAmount:r,netAmount:t,spicenetFee:i,bridgeFee:d,totalFee:s.gasFee+i+d},feeEstimate:o,grossFundingAmount:r}}function am(e,t,n,o){if(e<=0n)return 0n;const s=e-t;if(s<=0n)return 0n;const r=o+n;return r<=0n?s:s*o/r}async function hl(e){const{asset:t,isPayMode:n,isNon7702:o,needsSwap:s,isQuoting:r,embeddedWalletAddress:a,buildSupplyChainBatches:i,estimate:d,executionTokenAddress:l,feeExecutionMode:p}=e;if(n||o||s||r||!a||t.balance<=0n)return null;const u=await i({fundingAmountOverride:t.balance,actionAmountOverride:t.balance});if(u.length===0)return null;const m=u.some(x=>x.tokenTransfers?.length),h=await d(u,l,t.balance,m?{userOverride:a,useCustomTransfers:!0,feeExecutionMode:p}:p?{userOverride:a,feeExecutionMode:p}:{userOverride:a}),f=ro(h,{chainId:t.chainId,tokenAddress:t.address,symbol:t.symbol,decimals:t.decimals}),y=f?cn(f.gasFee,f.decimals,t.decimals):0n,g=f?cn(f.spicenetFee,f.decimals,t.decimals):0n,k=am(t.balance,y,g,t.balance);return k>0n?Ma(k,t.decimals):null}async function gl(e){const{signal:t,selectedAsset:n,isPayMode:o,isFeeInclusiveInput:s=!1,parsedAmount:r,needsSwap:a,exactOutputSwap:i,isNon7702:d,isSourceDestToken:l,currentPaymentAmount:p,destinationToken:u,feeExecutionMode:m,resolvedTokenIn:h,embeddedWalletAddress:f,providerEmbeddedAddress:y,resolvedChainId:g,isConnected:k,address:x,ready:F,authenticated:b,isDirect:C,resolvedSwap:T,isQuoting:v,executionTokenAddress:E,buildPayChainBatches:A,buildSupplyChainBatches:S,estimate:I}=e;if(!n?.asset)return null;if(o){if(r<=0||a&&!i||l)return null;const j=_e(p,u.decimals),K=h||hn(n.asset,g)||n.asset.address||u.address,L={chainId:g,tokenAddress:K,symbol:xt(K,g)?.symbol??n.asset.symbol,decimals:xt(K,g)?.decimals??n.asset.decimals};if(d){const ke=f||y;if(!ke)return null;const Q=a?i?.amountInMax??0n:j;if(Q===0n)return null;const G=await ks({requiredNetFunding:Q,buildBatches:ie=>A({fundingAmountOverride:ie}),fundingToken:K,estimate:I,executionOptions:{userOverride:ke,useCustomTransfers:!0,feeExecutionMode:m,signal:t},tokenDescriptor:L});return G.preview?{...G,preview:G.preview}:null}if(!k||!x||!F||!b)return null;const q=f||y||x,M=a?i?.amountInMax??0n:j;if(M===0n)return null;const ae=await ks({requiredNetFunding:M,buildBatches:ke=>A({fundingAmountOverride:ke}).then(Q=>jn(ul(Q),q)),fundingToken:K,estimate:I,executionOptions:{useCustomTransfers:!0,feeExecutionMode:m,signal:t},tokenDescriptor:L});return ae.preview?{...ae,preview:ae.preview}:null}if(r<=0||!f)return null;const D=f||y;if(!(!o&&!d&&n.asset?._source==="wallet"&&n.asset.chainId!==g)&&!C&&!T&&!v||v)return null;const B=await S();if(B.length===0)return null;const H=d&&n.asset?._source==="wallet"&&n.asset.chainId===g,W={chainId:g,tokenAddress:E,symbol:xt(E,g)?.symbol??u.symbol,decimals:xt(E,g)?.decimals??u.decimals},P=Tn(_e(n.amount,n.asset.decimals),n.asset.decimals,W.decimals,"floor");if(H){const j=await zt.estimateBatchGas({user:D,outputToken:E,stepIndex:0,chainBatches:B,signal:t}),K=s?os(P,j.gasFee,10n):(()=>{const L=Eo(P,10n),q=L+j.gasFee;return{grossAmount:P+q,netAmount:P,totalFee:q,spicenetFee:L}})();return{preview:{...W,grossAmount:K.grossAmount,netAmount:K.netAmount,totalFee:K.totalFee,gasFee:j.gasFee,spicenetFee:K.spicenetFee,bridgeFee:0n,gasQuoteSource:j.gasQuoteSource},feeEstimate:null}}const _=B.some(j=>j.tokenTransfers?.length),U=await I(B,E,P,_?{userOverride:D,useCustomTransfers:!0,feeExecutionMode:m,signal:t}:m?{userOverride:D,feeExecutionMode:m,signal:t}:{userOverride:D,signal:t}),N=ro(U,W)??fl(B,W,P);if(!N)return null;if(!s)return{preview:N,feeEstimate:U};const O=os(P,N.gasFee+(N.bridgeFee??0n),10n);return{preview:{...N,grossAmount:O.grossAmount,netAmount:O.netAmount,totalFee:O.totalFee,spicenetFee:O.spicenetFee},feeEstimate:U}}function yl(e,t){const n=e.selectedAsset?.asset;if(!n||n?._source!=="wallet")return;const o=hn(n,e.resolvedChainId);if(!o||!Be(o,e.executionTokenAddress))return;const s=xt(e.executionTokenAddress,e.resolvedChainId),r=cn(t,s?.decimals??e.destinationToken.decimals,n.decimals);if(r<=n.balance)return;const a=$e(r,n.decimals),i=$e(n.balance,n.decimals);throw new Error(`Insufficient ${n.symbol} for this total amount. Required ${a} ${n.symbol}; available ${i} ${n.symbol}.`)}function Mo(e){const t=xt(e.executionTokenAddress,e.resolvedChainId);return{chainId:e.resolvedChainId,tokenAddress:e.executionTokenAddress,symbol:t?.symbol??e.destinationToken.symbol,decimals:t?.decimals??e.destinationToken.decimals}}function Oo(e,t,n){const o=ro(e,Mo(t));if(!o)return;const s=o.bridgeFee??0n,r=o.gasFee+s;if(t.isFeeInclusiveInput){const d=os(n,r,10n);if(!d.coversFees)throw new Error("Amount is too small to cover fees. Increase the amount and retry.");return{grossAmount:d.grossAmount,netAmount:d.netAmount,combinedFeeAmount:d.totalFee,feeExecutionMode:t.feeExecutionMode??"backend-transfer",feeBreakdown:{spicenetFee:d.spicenetFee,gasFee:o.gasFee,bridgeFee:s}}}const a=Eo(n,10n),i=a+r;return{grossAmount:n+i,netAmount:n,combinedFeeAmount:i,feeExecutionMode:t.feeExecutionMode??"backend-transfer",feeBreakdown:{spicenetFee:a,gasFee:o.gasFee,bridgeFee:s}}}function im(e,t,n){let o=0n,s=0n;const r=n.toLowerCase();for(const a of e)if(a.chainId===t){for(const i of a.calls??[])if(i.to.toLowerCase()===r)try{const d=Yo({abi:ze,data:i.data});if(d.functionName!=="transfer")continue;const l=d.args[0].toLowerCase(),p=d.args[1];l===Kn.toLowerCase()?o+=p:l===ln.toLowerCase()&&(s+=p)}catch{continue}}return{spicenetFee:o,gasFee:s}}function Tr(e,t,n){const o=t.feeExecutionMode==="user-transfer"&&t.needsSwap&&t.resolvedTokenIn?t.resolvedTokenIn:t.executionTokenAddress,s=im(e,t.resolvedChainId,o);return s.spicenetFee===0n&&n.feeBreakdown.spicenetFee>0n||s.gasFee===0n&&n.feeBreakdown.gasFee>0n?!1:zn(s.spicenetFee,n.feeBreakdown.spicenetFee,100n)&&zn(s.gasFee,n.feeBreakdown.gasFee,100n)}function xl(e,t){return e?zn(e.grossAmount,t.grossAmount,100n)&&zn(e.feeBreakdown.spicenetFee,t.feeBreakdown.spicenetFee,100n)&&zn(e.feeBreakdown.gasFee,t.feeBreakdown.gasFee,100n)&&zn(e.feeBreakdown.bridgeFee,t.feeBreakdown.bridgeFee,100n):!1}function Dr(e,t,n,o){const s=ul(e),r=d=>(d.tokenTransfers??[]).some(l=>l.from==="escrow"),a=s.filter(d=>!r(d)),i=s.filter(r);return[...a,...jn(i,t,n,o)]}function bl(e,t){const n=xt(t,e.resolvedChainId);return{chainId:e.resolvedChainId,tokenAddress:t,symbol:n?.symbol??e.selectedAsset?.asset.symbol??"",decimals:n?.decimals??e.selectedAsset?.asset.decimals??e.destinationToken.decimals}}async function wl(e,t){const n=e.feeQuote;return n?.feeEstimate&&n.grossFundingAmount!==void 0?{grossFundingAmount:n.grossFundingAmount,feeEstimate:n.feeEstimate}:ks({...t,estimate:e.execution.estimate,tokenDescriptor:bl(e,t.fundingToken)})}function Cl(e,t){const n=e.selectedIsEquivalent?t:e.exactOutputSwap?e.exactOutputSwap.amountInMax:0n;if(n===0n)throw new Error("Quote not available yet");return n}function kl(e,t,n){const o=t instanceof Error?t:new Error(String(t));if(o.name==="AbortError"||n){e.ui.setStep("idle");return}const s=o.message||"Transaction failed";e.ui.setStep("error"),e.ui.setStatusMsg(s),e.ui.setError(s)}function vl(e,t){const n=mn(t,"Payment failed. Please try again.");e.ui.setError(n),e.ui.setPaymentResult({status:"failed",error:n})}async function Il(e){if(!e.selectedAsset?.asset||e.parsedAmount<=0){e.ui.setError("Select an asset and enter an amount");return}if(e.isInsufficientBalance){e.ui.setError("Insufficient balance");return}if(e.isNon7702){const n=e.activeSignerAddress??e.externalWalletAddress;if(e.isSourceDestToken?!n:!e.externalWalletAddress){e.ui.setError("Please connect your wallet to continue");return}e.ui.setIsExecuting(!0),e.ui.setError(null),e.ui.setTxHash(null);try{if(e.isSourceDestToken){e.ui.setStep("executing"),e.ui.setStatusMsg("Submitting transaction...");const o=await Al(e);e.ui.setTxHash(o??null)}else{e.ui.setStep("signing-delegation"),e.ui.setStatusMsg("Building transaction..."),e.refs.spiceDepositSubmittedRef.current=!1;const o=new AbortController;e.refs.abortControllerRef.current=o,await lm(e,o.signal)}e.ui.setStep("success"),e.ui.setStatusMsg(e.isSourceDestToken?"Transaction confirmed":"Deposit confirmed")}catch(o){kl(e,o,!!e.refs.abortControllerRef.current?.signal.aborted)}finally{e.ui.setIsExecuting(!1)}return}if(!e.embeddedWalletAddress){e.ui.setError("Wallet not ready");return}e.ui.setIsExecuting(!0),e.ui.setError(null),e.ui.setStep("signing-delegation"),e.ui.setStatusMsg("Building transaction..."),e.ui.setTxHash(null),e.refs.spiceDepositSubmittedRef.current=!1;const t=new AbortController;e.refs.abortControllerRef.current=t;try{const n=Tn(_e(e.selectedAsset.amount,e.selectedAsset.asset.decimals),e.selectedAsset.asset.decimals,Mo(e).decimals,"floor"),o=n;let s=await e.execution.buildSupplyChainBatches();const r=e.selectedAsset.asset?._source==="wallet",a=e.embeddedWalletAddress||e.providerEmbeddedAddress;if(e.buildSpicenetBatch&&!e.isPayMode&&!e.isNon7702&&!r&&!s.some(m=>to(m.chainId)))throw new Error("Spice-funded supplies must include a Spicenet funding batch before the destination chain batch.");const i=s.some(m=>m.tokenTransfers?.length),d=i?{userOverride:a,useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode}:e.feeExecutionMode?{userOverride:a,feeExecutionMode:e.feeExecutionMode}:{userOverride:a};let l=n,p;for(let m=0;m<4;m+=1){const h=m===0&&e.feeQuote?.feeEstimate||await e.execution.estimate(s,e.executionTokenAddress,i?l:0n,d),f=ro(h,Mo(e));p=f&&(e.feeExecutionMode==="user-transfer"||e.isFeeInclusiveInput)?Oo(h,e,o):void 0;const y=p?.grossAmount??f?.grossAmount??l;if(y===l)break;l=y,s=await e.execution.buildSupplyChainBatches({fundingAmountOverride:l,actionContextOverride:p})}yl(e,l),s=await e.execution.buildSupplyChainBatches({fundingAmountOverride:l,actionContextOverride:p});let u=p;await e.execution.execute(s,e.executionTokenAddress,i?l:0n,e.execution.onProgress,t.signal,e.feeExecutionMode==="user-transfer"?{...d,skipUserFundingPreflight:!0,adjustBatchesForEstimate:({feeEstimate:m,chainBatches:h})=>{const f=Oo(m,e,o);if(!f)return null;const y=xl(u,f),g=Tr(h,e,f);return y||g?null:(u=f,e.execution.buildSupplyChainBatches({fundingAmountOverride:f.grossAmount,actionContextOverride:f}))}}:{...d,skipPreSubmitFeeEstimate:!0}),e.ui.setStep("success"),e.ui.setStatusMsg("Deposit confirmed")}catch(n){kl(e,n,t.signal.aborted)}finally{e.ui.setIsExecuting(!1)}}async function lm(e,t){if(!e.selectedAsset?.asset)throw new Error("Select a payment source");if(!e.externalWalletAddress||!e.externalWallet)throw new Error("Please connect your external wallet to continue");const n=e.embeddedWalletAddress||e.providerEmbeddedAddress;if(!n)throw new Error("Embedded wallet not available \u2014 sign in to create one before supplying");const o=e.selectedAsset.asset,s=Tn(_e(e.selectedAsset.amount,o.decimals),o.decimals,Mo(e).decimals,"floor"),r=s,a=o?._source==="wallet"&&o.chainId===e.resolvedChainId;let i=await e.execution.buildSupplyChainBatches();const d={userOverride:n,useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode,signAuthorizationsForEstimate:!0};let l=s,p;if(a){const v=e.feeQuote?.preview.gasFee??(await zt.estimateBatchGas({user:n,outputToken:e.executionTokenAddress,stepIndex:0,chainBatches:i})).gasFee,E=Eo(s,10n),A=E+v,S=e.isFeeInclusiveInput?os(s,v,10n):{grossAmount:s+A,netAmount:r,totalFee:A,spicenetFee:E,coversFees:!0};if(!S.coversFees)throw new Error("Amount is too small to cover fees. Increase the amount and retry.");l=S.grossAmount,(e.feeExecutionMode==="user-transfer"||e.isFeeInclusiveInput)&&(p={grossAmount:l,netAmount:S.netAmount,combinedFeeAmount:S.totalFee,feeExecutionMode:e.feeExecutionMode??"backend-transfer",feeBreakdown:{spicenetFee:S.spicenetFee,gasFee:v,bridgeFee:0n}})}else for(let v=0;v<4;v+=1){const E=await e.execution.estimate(i,e.executionTokenAddress,0n,d),A=e.feeExecutionMode==="user-transfer"||e.isFeeInclusiveInput?Oo(E,e,r):void 0,S=ro(E,Mo(e)),I=A?.grossAmount??S?.grossAmount??l;if(p=A,I===l)break;l=I;const D=xt(e.executionTokenAddress,e.resolvedChainId),B=cn(l,D?.decimals??e.destinationToken.decimals,o.decimals);i=await e.execution.buildSupplyChainBatches({fundingAmountOverride:l,sourceFundingAmountOverride:B,withdrawalAmountOverride:l,actionContextOverride:A})}const u=xt(e.executionTokenAddress,e.resolvedChainId);let m=a?l:cn(l,u?.decimals??e.destinationToken.decimals,o.decimals);yl(e,l),i=await e.execution.buildSupplyChainBatches({fundingAmountOverride:l,sourceFundingAmountOverride:m,withdrawalAmountOverride:l,actionContextOverride:p});const h=o.chainId,f=n,{extWc:y,viemChain:g}=await lo({wallet:e.externalWallet,account:e.externalWalletAddress,chainId:h,onSwitch:()=>e.ui.setStatusMsg("Switching source network...")}),k=Je(o.address),x=o.isNative||he(k),F=pt(h),b=v=>rr({extWc:y,sourceClient:F,recipient:f,tokenAddr:k,isNative:x,amount:v,viemChain:g});e.ui.setStatusMsg("Funding embedded wallet..."),await b(m);let C=m;if(e.feeExecutionMode==="user-transfer")for(let v=0;v<4;v+=1){const E=await e.execution.estimate(i,e.executionTokenAddress,0n,d),A=Oo(E,e,r);if(!A)break;const S=a?A.grossAmount:cn(A.grossAmount,u?.decimals??e.destinationToken.decimals,o.decimals);if(S>C&&(await b(S-C),C=S),p=A,l=A.grossAmount,m=S,i=await e.execution.buildSupplyChainBatches({fundingAmountOverride:l,sourceFundingAmountOverride:m,withdrawalAmountOverride:l,actionContextOverride:A}),Tr(i,e,A))break}e.ui.setStatusMsg("Signing supply intent...");let T=p;await e.execution.execute(i,e.executionTokenAddress,0n,e.execution.onProgress,t,e.feeExecutionMode==="user-transfer"?{...d,skipUserFundingPreflight:!0,adjustBatchesForEstimate:({feeEstimate:v,chainBatches:E})=>{const A=Oo(v,e,r);if(!A)return null;const S=xl(T,A),I=Tr(E,e,A);if(S||I)return null;T=A;const D=a?A.grossAmount:cn(A.grossAmount,u?.decimals??e.destinationToken.decimals,o.decimals);return e.execution.buildSupplyChainBatches({fundingAmountOverride:A.grossAmount,sourceFundingAmountOverride:D,withdrawalAmountOverride:A.grossAmount,actionContextOverride:A})}}:{...d,skipPreSubmitFeeEstimate:!0})}async function Al(e){const t=e.isPayMode&&e.parsedAmount===0;if(!e.selectedAsset?.asset&&!t)throw new Error("Select a payment source");const n=e.activeSignerWallet??e.externalWallet,o=e.activeSignerAddress??e.externalWalletAddress;if(!o||!n)throw new Error("Please connect your wallet to continue");const s=_e(e.isPayMode?e.currentPaymentAmount:e.selectedAsset.amount,e.destinationToken.decimals),r={userAddress:o,chainId:e.resolvedChainId,destinationToken:e.destinationToken.address},a=e.buildActionCalls(s,r);if(a.length===0)throw new Error("No action calls configured");const{extWc:i,viemChain:d}=await lo({wallet:n,account:o,chainId:e.resolvedChainId}),l=pt(e.resolvedChainId);return ja({extWc:i,client:l,calls:a,viemChain:d,errorMessage:"Transaction failed"})}async function cm(e){if(!e.selectedAsset?.asset)throw new Error("Select a payment source");if(!e.externalWalletAddress||!e.externalWallet)throw new Error("Please connect your external wallet to continue");const t=e.embeddedWalletAddress||e.providerEmbeddedAddress;if(!t)throw new Error("Embedded wallet not available \u2014 sign in to create one before paying");const n=e.selectedAsset.asset,o=n.chainId,s=_e(e.currentPaymentAmount,e.destinationToken.decimals),r=Cl(e,s),a=e.resolvedTokenIn||e.selectedAsset.asset.address,i={userOverride:t,useCustomTransfers:!0},d=An(o),l=Je(n.address),p=n.isNative||he(l),u=t,m=v=>({chainId:o,calls:p?[{to:d,value:v,data:"0x"}]:[{to:l,value:0n,data:ot({abi:ze,functionName:"transfer",args:[d,v]})}]}),h=cl(e.selectedAsset,e.isNon7702,e.resolvedChainId),f=async(v,E,A)=>{const S=await e.execution.buildPayChainBatches({fundingAmountOverride:v});return h?S:[m(v),...Dr(S,u,E,A)]},{grossFundingAmount:y,feeEstimate:g}=await ks({requiredNetFunding:r,buildBatches:v=>f(v),fundingToken:a,estimate:e.execution.estimate,executionOptions:{...i,feeExecutionMode:e.feeExecutionMode},tokenDescriptor:bl(e,a)}),k=await f(y,g,{payoutAlreadyGross:!0}),{extWc:x,viemChain:F}=await lo({wallet:e.externalWallet,account:e.externalWalletAddress,chainId:o}),b=pt(o);await rr({extWc:x,sourceClient:b,recipient:t,tokenAddr:l,isNative:p,amount:y,viemChain:F});const C=k.some(v=>v.tokenTransfers?.length),T={...i,skipUserFundingPreflight:!0,skipPreSubmitFeeEstimate:!0};return await e.execution.execute(k,a,C?y:0n,v=>{v.txHash&&(e.ui.setPaymentResult(E=>({...E??{status:"processing"},txHash:v.txHash})),e.ui.setTxHash(v.txHash))},void 0,C?T:{userOverride:t,skipUserFundingPreflight:!0,skipPreSubmitFeeEstimate:!0})}async function Sl(e){if(e.parsedAmount<0){e.ui.setError("Enter a valid payment amount");return}const t=e.parsedAmount===0;if(!e.selectedAsset?.asset&&!t){e.ui.setError("Select a payment source");return}if(e.isInsufficientBalance){e.ui.setError("Insufficient balance");return}if(e.parsedAmount>0&&e.needsSwap&&!e.exactOutputSwap){e.ui.setError("Swap quote not available. Try a different asset.");return}if(e.isNon7702){const n=e.activeSignerAddress??e.externalWalletAddress;if(e.isSourceDestToken||t?!n:!e.externalWalletAddress){e.ui.setError("Please connect your wallet to continue");return}e.ui.setIsExecuting(!0),e.ui.setError(null),e.ui.setShowStatusPanel(!0),e.ui.setPaymentResult({status:"processing"});try{let o;if(e.isSourceDestToken||e.parsedAmount===0)o=await Al(e);else if(e.onPayExecute&&e.selectedAsset?.asset){const s=e.selectedAsset.asset,r=_e(e.currentPaymentAmount,e.destinationToken.decimals),a=Cl(e,r),i=e.embeddedWalletAddress||e.providerEmbeddedAddress;if(!i)throw new Error("Embedded wallet not available \u2014 sign in to create one before paying");const d=e.resolvedTokenIn||s.address,{grossFundingAmount:l}=await wl(e,{requiredNetFunding:a,buildBatches:m=>e.execution.buildPayChainBatches({fundingAmountOverride:m}),fundingToken:d,executionOptions:{userOverride:i,useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode}}),p=await e.execution.buildPayChainBatches({fundingAmountOverride:l}),u=await e.onPayExecute({asset:s,amount:e.currentPaymentAmount,amountWei:r,destinationToken:e.destinationToken,chainBatches:p,requiredNetFunding:a,grossFundingAmount:l,selectedIsEquivalent:e.selectedIsEquivalent,resolvedTokenIn:d,exactOutputSwapAmountInMax:e.exactOutputSwap?.amountInMax});u&&(e.ui.setTxHash(u),e.ui.setPaymentResult(m=>({...m??{status:"processing"},txHash:u}))),o=u||void 0}else o=await cm(e);e.ui.setPaymentResult(s=>({status:"success",txHash:s?.txHash||o||""}))}catch(o){vl(e,o)}finally{e.ui.setIsExecuting(!1)}return}if(!e.isConnected||!e.address){e.ui.setError("Please connect your wallet to continue");return}if(!e.ready||!e.authenticated){e.ui.setError(`Please authenticate with ${e.provider||"wallet provider"} to continue`);return}e.ui.setIsExecuting(!0),e.ui.setError(null),e.ui.setShowStatusPanel(!0),e.ui.setPaymentResult({status:"processing"});try{const n=_e(e.currentPaymentAmount,e.destinationToken.decimals),o={useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode};if(t){const h=await e.execution.buildPayChainBatches(),f=await e.execution.execute(h,e.executionTokenAddress,0n,y=>{y.txHash&&(e.ui.setPaymentResult(g=>({...g??{status:"processing"},txHash:y.txHash})),e.ui.setTxHash(y.txHash))},void 0,o);e.ui.setPaymentResult(y=>({status:"success",txHash:y?.txHash||f}));return}const s=e.selectedAsset?.asset;if(!s)throw new Error("Select a payment source");const r=e.resolvedTokenIn||s.address||e.destinationToken.address,a=e.needsSwap?e.exactOutputSwap?.amountInMax??0n:n,i=e.embeddedWalletAddress||e.providerEmbeddedAddress||e.address,{grossFundingAmount:d,feeEstimate:l}=await wl(e,{requiredNetFunding:a,buildBatches:h=>e.execution.buildPayChainBatches({fundingAmountOverride:h}).then(f=>Dr(f,i)),fundingToken:r,executionOptions:o}),p=Dr(await e.execution.buildPayChainBatches({fundingAmountOverride:d}),i,l,{payoutAlreadyGross:!0}),u=p.some(h=>h.tokenTransfers?.length),m=await e.execution.execute(p,r,u?d:0n,h=>{h.txHash&&(e.ui.setPaymentResult(f=>({...f,txHash:h.txHash})),e.ui.setTxHash(h.txHash))},void 0,{...o,skipPreSubmitFeeEstimate:!0});e.ui.setPaymentResult(h=>({status:"success",txHash:h?.txHash||m}))}catch(n){vl(e,n)}finally{e.ui.setIsExecuting(!1)}}const dm=({variant:e,destinationSymbol:t,destinationLogoURI:n,destinationDecimals:o,primaryColor:s,fontFamily:r,textPrimary:a,textSecondary:i,cardBg:d,cardBorder:l,dk:p,dark:u,isQuoting:m,quoteError:h,estimatedOutput:f,paymentAmount:y,needsSwap:g,exactOutputSwap:k,adjustable:x=!1,maxAmount:F,onAmountChange:b})=>e==="supply"?w("div",{style:{backgroundColor:d,border:`1px solid ${l}`,borderRadius:u?"8px":"7px",padding:"14px 16px 12px 16px",marginBottom:"16px",minHeight:"112px",display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[w("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px"},children:[w("div",{style:{minWidth:0},children:[c("span",{style:{fontFamily:r,fontSize:"17px",fontWeight:500,color:u?"#a7abb2":"#7D7C7B",lineHeight:"24px"},children:"Used in TX"}),c("div",{style:{fontSize:"12px",fontWeight:500,color:i,fontFamily:r,marginTop:"10px"},children:"Net amount after swap and fees"})]}),w("div",{style:{textAlign:"right",minWidth:0,display:"inline-flex",alignItems:"center",gap:"8px",border:`1px solid ${l}`,borderRadius:"8px",padding:"8px 10px",minHeight:"42px"},children:[c(Fl,{symbol:t,logoURI:n,primaryColor:s,size:24}),c("span",{style:{fontSize:"16px",fontWeight:500,color:u?"#f3f4f6":"#3C3E42",lineHeight:"1.3",fontFamily:r,letterSpacing:0},children:t})]})]}),c("div",{style:{textAlign:"right",minWidth:0},children:m?c("span",{style:{fontSize:"18px",color:i,fontFamily:r},children:"Quoting..."}):h?c("span",{style:{fontSize:"13px",color:u?"#f87171":"#dc2626",fontFamily:r},children:"Quote failed"}):f?c(Zn,{value:f,title:f,fontFamily:r,color:a,lineHeight:"0.95",textAlign:"right",maxFontSize:32,minFontSize:18}):c("span",{style:{fontSize:"20px",color:i,fontFamily:r},children:"\u2014"})})]}):c(um,{destinationSymbol:t,destinationLogoURI:n,destinationDecimals:o,primaryColor:s,fontFamily:r,textPrimary:a,textSecondary:i,cardBg:d,cardBorder:l,dk:p,dark:u,paymentAmount:y||"0",needsSwap:g,exactOutputSwap:k,isQuoting:m,adjustable:x,maxAmount:F,onAmountChange:b}),El=tn(dm),Fl=({symbol:e,logoURI:t,primaryColor:n,size:o})=>t?c("img",{src:t,alt:e,style:{width:o,height:o,borderRadius:"50%",objectFit:"cover"}}):c("div",{style:{width:o,height:o,borderRadius:"50%",backgroundColor:`${n}22`,display:"flex",alignItems:"center",justifyContent:"center",fontSize:o<30?"11px":"12px",fontWeight:700,color:n},children:e.slice(0,2)}),um=({destinationSymbol:e,destinationLogoURI:t,destinationDecimals:n,primaryColor:o,fontFamily:s,textPrimary:r,textSecondary:a,cardBg:i,cardBorder:d,dk:l,dark:p,paymentAmount:u,needsSwap:m,exactOutputSwap:h,isQuoting:f,adjustable:y,maxAmount:g,onAmountChange:k})=>{const x=Ae.mono,F=parseFloat(u||"0"),b=g?parseFloat(g):0,[C,T]=R(u||""),v=Z(null),[E,A]=R(null),[S,I]=R(null);X(()=>{y||T(u||"")},[u,y]);const D=W=>{let P=W;P.startsWith(".")&&(P="0"+P);const _=fo(P);let U=_;g&&parseFloat(_)>parseFloat(g)&&(U=g),T(U),v.current&&clearTimeout(v.current),v.current=setTimeout(()=>k?.(U),300)},B=W=>{if(!b)return;if(W===100){T(g||b.toString()),v.current&&clearTimeout(v.current),k?.(g||b.toString());return}const P=10**n,_=Math.floor(b*W/100*P)/P,U=ho(_,n);T(U),v.current&&clearTimeout(v.current),k?.(U)},H=b>0?parseFloat(C||"0")/b*100:0;return X(()=>()=>{v.current&&clearTimeout(v.current)},[]),w("div",{style:{backgroundColor:i,border:`1px solid ${d}`,borderRadius:p?"12px":"6px",padding:"16px",marginBottom:"16px"},children:[w("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[c(Fl,{symbol:e,logoURI:t,primaryColor:o,size:32}),w("div",{children:[c("span",{style:{fontSize:"14px",fontWeight:600,color:r,fontFamily:s},children:"Payment"}),c("div",{style:{fontSize:"12px",color:a,fontFamily:s,marginTop:"2px"},children:e})]})]}),w("div",{style:{textAlign:"right"},children:[y?c(Zn,{element:"input",ariaLabel:`${e} amount`,dataSpiceflowFocus:!0,value:C,onChange:W=>D(W.target.value),placeholder:"0.0",fontFamily:x,color:r,lineHeight:1.1,textAlign:"right",maxFontSize:20,minFontSize:12,style:{width:"120px"}}):c(Zn,{element:"div",value:F>0?u:"0.00",title:F>0?u:"0.00",fontFamily:x,color:r,lineHeight:1.1,textAlign:"right",maxFontSize:20,minFontSize:12}),c("div",{style:{fontSize:"12px",color:a,fontFamily:x,marginTop:"2px"},children:e}),y&&b>0&&c("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"10px",marginTop:"6px"},children:[0,25,50,75,100].map((W,P)=>{const _=Math.abs(H-W)<1,U=P===4,N=E===W,O=S===W;return c("button",{onClick:()=>B(W),onMouseEnter:()=>A(W),onMouseLeave:()=>{A(null),I(null)},onMouseDown:()=>I(W),onMouseUp:()=>I(null),title:`${W}%`,style:{width:"14px",height:"14px",padding:0,border:"none",backgroundColor:"transparent",cursor:"pointer",opacity:_?1:N?.8:.5,transform:O?"scale(0.85)":N?"scale(1.15)":"scale(1)",transition:an.interactive},children:c(Us,{pct:W,isMax:U,primaryColor:o,dark:p,fillColor:p?l?.textSecondary||"#9ca3af":"#3C3E42"})},W)})})]})]}),m&&h&&!f&&c("div",{style:{marginTop:"12px",paddingTop:"12px",borderTop:p?`1px solid ${l?.cardBorder||d}`:"1px solid #e5e7eb",display:"flex",justifyContent:"flex-end"},children:w("span",{style:{fontSize:"11px",color:a,fontFamily:s,opacity:.7},children:["via ",h.venue]})})]})},Bl={idle:"","signing-delegation":"Signing delegation...","signing-intent":"Signing intent...",submitting:"Submitting transaction...",executing:"Executing on-chain...",success:"Deposit confirmed",error:"Transaction failed"},Tl=["signing-delegation","signing-intent","submitting","executing"],pm=({step:e,statusMsg:t,txHash:n,explorerUrl:o,currentStepIdx:s,palette:r,cardBg:a,cardBorder:i,textPrimary:d,textSecondary:l,fontFamily:p,primaryColor:u,onRetry:m})=>w("div",{style:{padding:"10px 14px",borderRadius:"7px",marginBottom:"16px",backgroundColor:e==="success"?a:e==="error"?r.errorBg:a,border:`1px solid ${e==="success"?i:e==="error"?r.errorBorder:i}`},children:[w("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[e==="success"?c("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",style:{flexShrink:0},children:c("path",{d:"M5 13l4 4L19 7",stroke:r.successText,strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}):e==="error"?c("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",style:{flexShrink:0},children:c("path",{d:"M18 6L6 18M6 6l12 12",stroke:r.errorText,strokeWidth:"2.5",strokeLinecap:"round"})}):c(vn,{size:14,color:u}),c("span",{style:{fontSize:"13px",fontWeight:500,color:e==="success"?d:e==="error"?r.errorText:d,fontFamily:p,flex:1},children:e==="success"?"Deposit confirmed":e==="error"?t||"Transaction failed":Bl[e]||t}),e==="success"&&n&&c("a",{href:`${o}/tx/${n}`,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"12px",color:u,fontFamily:p,textDecoration:"none",whiteSpace:"nowrap",flexShrink:0},children:"View tx \u2192"}),e==="error"&&c("button",{onClick:m,style:{background:"none",border:"none",fontSize:"12px",color:u,fontFamily:p,cursor:"pointer",padding:0,whiteSpace:"nowrap",flexShrink:0},children:"Retry \u2192"})]}),s>=0&&e!=="success"&&e!=="error"&&c("div",{style:{marginTop:"8px",height:"3px",borderRadius:"2px",backgroundColor:`${l}22`,overflow:"hidden"},children:c("div",{style:{height:"100%",width:"100%",borderRadius:"2px",backgroundColor:u,transformOrigin:"left center",transform:`scaleX(${(s+1)/Tl.length})`,transition:"transform 400ms ease"}})})]}),mm=()=>{},fm=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,destinationToken:o,sourceChains:s,supportedSourceAssets:r,buildActionCalls:a,feeExecutionMode:i="user-transfer",buildSpicenetBatch:d,onPayExecute:l,resolveExactOutputSwap:p,actionLabel:u,amountDirection:m="input",swapDescription:h,directDescription:f,paymentAmount:y,amountInputMode:g="fixed",minPaymentAmount:k,maxPaymentAmount:x,onAmountChange:F,styles:b,dark:C,title:T,subtitle:v,onAddFunds:E,onSuccess:A,onError:S})=>{const I=m==="output",D=m==="input-inclusive",B=I?"output":"input",{theme:H,dark:W,primaryColor:P,dk:_,palette:U,fontFamily:N,monoFont:O,inputDark:j,cardBg:K,cardBorder:L,textPrimary:q,textSecondary:M,subtitleText:ae}=At(b,C),ke=$(()=>j?{...H,colors:{...H.colors,secondary:_.cardBg,surfaceHover:_.hoverBg,border:"#2d2d2d",borderHover:"#3a3a3a"}}:H,[j,H,_.cardBg,_.hoverBg]),Q=$(()=>o.logoURI?o:{...o,logoURI:Ls[o.symbol]},[o]),G=Q.chainId,ie=Vt(Lt),fe=(ie?.mode||"7702")!=="7702",ue=!!ie?.isWhitelistGateActive,qe=!!ie?.isWhitelistConfigured&&ie?.isUserWhitelisted!==!0,z=$(()=>s??ie?.supportedChainIds??[],[s,ie?.supportedChainIds]),le=$(()=>{if(ue)return[];if(r)return r;const be=ie?.allowedTokens;if(!be||be.length===0)return;const jt=new Set(be.map(yn=>yn.toLowerCase())),zo=[],Gn=new Set;for(const yn of z){const Is=Ue(yn);for(const As of Is?.supportedTokens??[]){if(!jt.has(As.symbol.toLowerCase()))continue;const Hr=As.address.toLowerCase();Gn.has(Hr)||(Gn.add(Hr),zo.push(As.address))}}return zo},[r,ie?.allowedTokens,z,ue]),{address:oe,isConnected:me,isReady:V,isAuthenticated:re,provider:xe}=In(),{execute:ee,estimate:ve}=ao(),{externalWallet:st,embeddedAddress:ye,activeWallet:mt,activeAddress:rt}=eo(),Ke=ie?.externalWalletAddress,Mt=ie?.embeddedWalletAddress||ye,{displayAssets:Le,filteredSpiceAssets:Zt,embeddedWalletAddress:ct,refreshSpiceAssets:Ee,refreshWalletAssets:Ye}=hi({destinationToken:Q,supportedSourceAssets:le,sourceChains:z,enabled:e&&(fe?!!Ke:!!Mt)}),dt=$(()=>ue?Le:fe?Le.filter(be=>Mu(be,Q,le)):I?Le:Le.filter(be=>Wu(be,G,le)),[Le,ue,I,fe,Q,G,le]),[J,St]=R(null),[Bt,ft]=R(y||""),[Xe,Pt]=R(!1),[Se,Ne]=R(null),ge=Z(S);ge.current=S;const Oe=se(be=>{Ne(be),typeof be=="string"&&be&&ge.current?.(new Error(be),go(be))},[]),[Ve,wt]=R("idle"),[Tt,Ce]=R(""),[et,qt]=R(null),[on,Te]=R(!1),[ce,He]=R(null),[We,Ct]=R(null),[Xt,ht]=R(!1),[De,Ze]=R(!1),[Ge,tt]=R(null),gt=Z(J),Ot=Z(!1),je=Z(null),yt=Z(null),Ht=Z(null),Et=Z(null),_t=Z(null);X(()=>{gt.current=J},[J]);const kt=g==="adjustable"?Bt:y||"0",sn=ct||ye||oe,Nt=xs({direction:B,selectedAsset:J,destinationToken:Q,chainId:G,recipient:sn,paymentAmount:kt,resolveExactOutputSwap:p}),gn=$(()=>{if(!D||!J||!We||We.netAmount<=0n)return null;const be=cn(We.netAmount,We.decimals,J.asset.decimals);return{...J,amount:$e(be,J.asset.decimals)}},[D,J,We]),Cn=xs({direction:B,selectedAsset:gn,destinationToken:Q,chainId:G,recipient:sn,paymentAmount:kt,resolveExactOutputSwap:p}),de=D?Cn:Nt,te=D?Nt:de,{isQuoting:Ie,quoteError:Pe,estimatedOutput:nt,resolvedSwap:Re,exactOutputSwap:at,quoteAmountOut:Kt,resolvedTokenIn:ut,isDirect:Ut,needsSwap:it,selectedIsEquivalent:Yt}=de,Dt=I?parseFloat(kt||"0"):parseFloat(J?.amount||"")||0,dn=J?.asset?._source==="wallet",ne=!!J?.asset&&dn&&J.asset.chainId!==G,Me=$(()=>J?.asset?Zt.find(be=>Be(be.address,J.asset.address))?.balanceFormatted??0:0,[J,Zt]),lt=dn?J?.asset.balanceFormatted??0:Me,Ft=$(()=>{if(!J?.asset)return!1;if(I)return We?cn(We.grossAmount,We.decimals,J.asset.decimals)>J.asset.balance:Yt||Ut?Dt>J.asset.balanceFormatted:at?parseFloat($e(at.amountInMax,J.asset.decimals))>J.asset.balanceFormatted:!1;if(We){const be=cn(We.grossAmount,We.decimals,J.asset.decimals);return dn?be>J.asset.balance:parseFloat($e(be,J.asset.decimals))>lt}return Dt>lt},[J,I,We,Yt,Dt,at,lt,dn,Ut]);X(()=>{e||(St(null),Oe(null),Pt(!1),wt("idle"),Ce(""),qt(null),Te(!1),He(null),Ct(null),ht(!1),Ze(!1),tt(null),Ot.current=!1,g==="adjustable"&&ft(y||""),je.current&&(je.current.abort(),je.current=null))},[e]);const Rt=se(be=>{St(jt=>({asset:be,amount:jt?.asset?.address===be.address&&jt?.asset?.chainId===be.chainId&&jt.amount||""})),Oe(null),tt(null),Ze(!1)},[]),Qn=se(be=>{St(jt=>jt&&{...jt,amount:be}),Oe(null),tt(null),Ze(!1)},[]),un=se(be=>{let jt=be;x&&parseFloat(jt)>parseFloat(x)&&(jt=x),ft(jt),F?.(jt),Oe(null),tt(null),Ze(!1)},[x,F]),pn=se(be=>{wt({building:"signing-delegation","signing-delegation":"signing-delegation","signing-intent":"signing-intent",submitting:"submitting",executing:"executing",success:"success",error:"error"}[be.step]||"executing"),Ce(be.message),be.txHash&&qt(be.txHash)},[]),en=$(()=>({currentPaymentAmount:kt,destinationToken:Q,embeddedWalletAddress:ct,providerEmbeddedAddress:ye,externalWalletAddress:Ke,address:oe,isNon7702:fe,isPayMode:I,resolvedChainId:G,buildActionCalls:a,feeExecutionMode:i,buildSpicenetBatch:d,selectedAsset:J,needsSwap:it,resolvedSwap:Re,exactOutputSwap:at,quoteAmountOut:Kt,resolvedTokenIn:ut,resolveInputSwap:async be=>{if(!ut||!sn)throw new Error("Swap route is not ready.");return Xi({chainId:G,recipient:sn,tokenIn:ut,tokenOut:Q.address,amountIn:be,liquidityVenues:ie?.liquidityVenues})}}),[kt,Q,ct,ye,Ke,oe,fe,I,G,a,i,d,J,it,Re,at,Kt,ut,sn,ie?.liquidityVenues]),Wn=se(be=>pl({...en,requestTimestampMs:yt.current??Date.now()},be),[en]),uo=se(be=>Br({...en,requestTimestampMs:yt.current??Date.now()},be),[en]),No=$(()=>D?{...en,needsSwap:Nt.needsSwap,resolvedSwap:Nt.resolvedSwap,exactOutputSwap:Nt.exactOutputSwap,quoteAmountOut:Nt.quoteAmountOut,resolvedTokenIn:Nt.resolvedTokenIn}:en,[D,en,Nt]),Uo=se(be=>Br({...No,requestTimestampMs:yt.current??Date.now()},be),[No]),kn=$(()=>J?.asset?it&&ut?ut:J.asset.chainId===G?J.asset.address:ut??hn(J.asset,G)??Q.address:Q.address,[J,Q.address,it,G,ut]),po=se(()=>(yt.current=Date.now(),Il(_t.current)),[]),Mn=$(()=>J?.asset?Be(J.asset.address,Q.address)&&J.asset.chainId===Q.chainId:!1,[J,Q.address,Q.chainId]),Y=Mn&&(fe||I),pe=Y&&Dt>0&&!!J?.asset,Fe=qe&&!Y,we=$(()=>{if(!pe)return null;let be;try{be=_e(kt||"0",Q.decimals)}catch{return null}return{symbol:Q.symbol,decimals:Q.decimals,grossAmount:be,netAmount:be,totalFee:0n,gasFee:0n,spicenetFee:0n,bridgeFee:0n,gasQuoteSource:"static_zero"}},[pe,kt,Q.symbol,Q.decimals]),vt=Se,It=D&&!!We&&We.netAmount===0n,rn=$(()=>!(!J?.asset||Dt<=0),[J,Dt,pe]),On=$(()=>!e||Xe||Ve!=="idle"||!rn||pe||!J?.asset?null:[I?"pay":"supply",m,J.asset.address.toLowerCase(),J.asset.chainId,J.amount,kt,Q.address.toLowerCase(),Q.chainId,G,te.resolvedTokenIn?.toLowerCase()??"",te.needsSwap?"swap":"direct",te.isDirect?"direct-token":"routed-token",fe?"non7702":"7702",Mn?"source-dest":"cross-chain",te.isQuoting?"quoting":"quoted",te.exactOutputSwap?.amountIn?.toString()??"",te.exactOutputSwap?.amountInMax?.toString()??"",te.exactOutputSwap?.venue??"",te.resolvedSwap?.amountOut?.toString()??"",te.quoteAmountOut?.toString()??"",ct??"",ye??"",oe??""].join("|"),[e,Xe,Ve,rn,pe,J,I,m,kt,Q,G,te,fe,Mn,ct,ye,oe]),mo=se(be=>gl({signal:be,selectedAsset:J,isPayMode:I,isFeeInclusiveInput:D,parsedAmount:Dt,needsSwap:te.needsSwap,exactOutputSwap:te.exactOutputSwap,isNon7702:fe,isSourceDestToken:Mn,currentPaymentAmount:kt,destinationToken:Q,feeExecutionMode:i,resolvedTokenIn:te.resolvedTokenIn,embeddedWalletAddress:ct,providerEmbeddedAddress:ye,resolvedChainId:G,isConnected:me,address:oe,ready:V,authenticated:re,isDirect:te.isDirect,resolvedSwap:te.resolvedSwap,isQuoting:te.isQuoting,executionTokenAddress:kn,buildPayChainBatches:Wn,buildSupplyChainBatches:Uo,estimate:ve}),[J,I,D,Dt,te,fe,Mn,kt,Q,i,ct,ye,Wn,ve,G,me,oe,V,re,Uo,kn]);X(()=>{Ht.current=mo},[mo]);const vs=se(be=>hl({asset:be,isPayMode:I,isNon7702:fe,needsSwap:it,isQuoting:Ie,embeddedWalletAddress:ct,buildSupplyChainBatches:uo,estimate:ve,executionTokenAddress:kn,feeExecutionMode:i}),[I,fe,it,Ie,ct,uo,ve,kn,i]);Go({shouldRun:e&&!Xe&&Ve==="idle"&&rn&&!pe&&!te.isQuoting&&!!On,deps:[e,Xe,Ve,rn,pe,we,te.isQuoting,On],onSkip:()=>{if(!e){ht(!1),Ze(!1),tt(null),Ct(null);return}if(Xe||Ve!=="idle"){ht(!1);return}if(!rn){Ct(null),ht(!1),Ze(!1),tt(null);return}if(pe){Ct(we),ht(!1),Ze(!0),tt(null);return}te.isQuoting&&(ht(!1),Ze(!1))},onCleanup:()=>ht(!1),delayMs:500,backgroundIntervalMs:5e3,run:async({isBackground:be,isCurrent:jt,signal:zo})=>{const Gn=On;be||(tt(null),ht(!0));try{const yn=await Ht.current?.(zo);if(!jt())return;yn&&Gn?(Et.current={key:Gn,quote:yn},Ct(yn.preview),Ze(!0)):(Et.current=null,Ct(null),Ze(!1)),tt(null)}catch(yn){if(!jt())return;if(be&&Et.current?.key===Gn){console.warn("[SpiceSupply] fee refresh failed:",yn);return}const Is=mn(yn,"Unable to calculate fees for this action.");Et.current=null,Ct(null),Ze(!1),tt(Is)}finally{jt()&&ht(!1)}}});const Po=se(()=>(yt.current=Date.now(),Sl(_t.current)),[]);X(()=>{!I&&Ve==="success"&&et&&(Ee(),A?.(et))},[I,Ve,et,Ee,A]),X(()=>{if(!I||ce?.status!=="success"||Ot.current||!oe)return;Ot.current=!0;const be=gt.current;!be?.asset||be.asset?._source==="wallet"||Ee()},[I,ce?.status,oe,Ee]);const Rr=Z(A),Wr=Z(S);X(()=>{Rr.current=A},[A]),X(()=>{Wr.current=S},[S]),X(()=>{e&&(Ee(),Ye())},[e,Ee,Ye]),X(()=>{I&&(ce?.status==="success"&&Rr.current?.(ce.txHash||""),ce?.status==="failed"&&Wr.current?.(new Error("Payment execution failed")))},[I,ce?.status]);const Mr=se(()=>{Te(!1),He(null),St(null),Ot.current=!1,Ee(),Ye()},[Ee,Ye]);_t.current={selectedAsset:J,parsedAmount:Dt,currentPaymentAmount:kt,isInsufficientBalance:Ft,isPayMode:I,isFeeInclusiveInput:D,isNon7702:fe,isSourceDestToken:Mn,needsSwap:it,exactOutputSwap:at,selectedIsEquivalent:Yt,resolvedTokenIn:ut,embeddedWalletAddress:ct,providerEmbeddedAddress:ye,externalWallet:st,externalWalletAddress:Ke,activeSignerWallet:mt,activeSignerAddress:rt,address:oe,isConnected:me,ready:V,authenticated:re,provider:xe,resolvedChainId:G,executionTokenAddress:kn,destinationToken:Q,buildActionCalls:a,feeExecutionMode:i,buildSpicenetBatch:d,onPayExecute:l,onSuccess:A,feeQuote:On&&Et.current?.key===On?Et.current.quote:null,execution:{estimate:ve,execute:ee,buildPayChainBatches:Wn,buildSupplyChainBatches:uo,onProgress:pn},ui:{setError:Oe,setStep:wt,setStatusMsg:Ce,setTxHash:qt,setIsExecuting:Pt,setShowStatusPanel:Te,setPaymentResult:He},refs:{spiceDepositSubmittedRef:Ot,abortControllerRef:je}};const Or=y?.trim(),Lo=I&&g==="fixed"&&Or!==void 0&&Or!==""&&Dt===0,Nr=I?(Lo||!!J?.asset)&&Dt>=0&&!Ft&&!Xe&&(Lo||pe||De)&&!Ge&&(Lo||!it||!!at)&&!Fe:!!J?.asset&&Dt>0&&!Ft&&!Xe&&(Y||De)&&!Ge&&!It&&(ne||Ut||!!Re&&!Ie)&&!Fe,Dl=Ut?f||`Your ${Q.symbol} will be used directly.`:h||"Your assets will be swapped and used in a single atomic transaction.",Rl=(G?Ue(G):void 0)?.viemChain?.blockExplorers?.default?.url??"",Wl=Tl.indexOf(Ve),Ml=Xe?(Bl[Ve]||"EXECUTING...").toUpperCase():Ve==="success"?"DONE":Ft?"INSUFFICIENT BALANCE":it&&Pe&&!Ie?"QUOTE ERROR":u.toUpperCase(),Ol=$(()=>{if(ce?.status==="success")return"DONE";if(Xe)return"PAYING...";if(Ft&&J?.asset)return`INSUFFICIENT ${J.asset.symbol}`;if(it&&Pe&&!Ie)return"QUOTE ERROR";if(u)return u.toUpperCase();const be=Dt>0?` ${kt} ${Q.symbol}`:"";return it?`SWAP & PAY${be}`:`PAY${be}`},[Xe,Ft,J,u,Dt,kt,Q.symbol,it,Pe,Ie,ce?.status]),Nl=Ve==="success"?()=>{wt("idle"),St(null),qt(null),Ee()}:po,Ul=Ve==="success"?!1:!Nr;if(!e)return null;const Ur=I?T||`Pay ${Q.symbol}`:u,Pr=I?v:w("div",{style:{display:"flex",alignItems:"flex-start",gap:"3px"},children:[c("span",{style:{marginTop:"3px",flexShrink:0},children:c(tr,{color:ae})}),c("p",{style:{fontSize:"12px",color:ae,margin:0,lineHeight:"1.4",fontFamily:N},children:Dl})]}),Lr={...b,button:{...b?.button,backgroundColor:P}},zr=rn&&c(or,{fontFamily:N,textPrimary:q,textSecondary:M,cardBg:K,cardBorder:L,resolvedDark:W,darkCardBorder:_.cardBorder,primaryColor:P,feePreview:We,isLoading:Xt,errorText:Ge,directExecutionFeeNote:pe});if(I){const be=ce&&(ce.status==="success"||ce.status==="failed")?[{asset:{symbol:J?.asset?.symbol||Q.symbol,address:J?.asset?.address||""},amount:kt,txHash:ce.txHash||"",success:ce.status==="success",error:ce.status==="failed"?ce.error:void 0}]:void 0;return c(fn,{isOpen:e,onClose:t,title:Ur,subtitle:Pr,styles:b,dark:W,footerLinkText:"Spicenet accounts \u2192",closeOnBackdropClick:n,children:w("div",{style:{padding:"16px 24px 8px 24px",position:"relative"},children:[E&&c("div",{style:{display:"flex",justifyContent:"flex-end",marginBottom:"6px"},children:c(sr,{onClick:E,color:P,fontFamily:N})}),!Lo&&c("div",{style:{marginBottom:"12px"},children:c(vo,{assets:dt,selectedAsset:J??void 0,onAssetSelect:Rt,onAmountChange:mm,label:"Pay with",showBalance:!0,showMaxButton:!1,hideAmountInput:!0,displayAmount:J?.asset?it?Ie?"...":at?`~${parseFloat($e(at.amountIn,J.asset.decimals)).toFixed(6)}`:void 0:kt??void 0:void 0,dark:W,theme:ke,styles:b})}),c(El,{variant:"pay",destinationSymbol:Q.symbol,destinationLogoURI:Q.logoURI,destinationDecimals:Q.decimals,primaryColor:P,fontFamily:N,textPrimary:q,textSecondary:M,cardBg:K,cardBorder:L,dk:_,dark:W,isQuoting:Ie,quoteError:Pe,estimatedOutput:nt,paymentAmount:kt,needsSwap:it,exactOutputSwap:at,adjustable:g==="adjustable",maxAmount:x,onAmountChange:un}),zr,vt&&c(Bn,{variant:"error",palette:U,fontFamily:N,style:{marginBottom:"12px"},children:vt}),c(Wt,{variant:"outline",fullWidth:!0,onClick:ce?.status==="success"?t:Po,disabled:ce?.status==="success"?!1:!Nr,loading:Xe,dark:W,styles:Lr,children:Ol}),ce&&on&&c("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:10,backgroundColor:W?_.shell:"white",borderRadius:W?"12px":"6px",padding:"16px 0"},children:c(ur,{type:"payment",isOpen:ce.status!=="processing",isProcessing:Xe||ce.status==="processing",closeOnComplete:!1,chainId:G,onRetryTx:()=>{Te(!1),He(null),Po()},onNewTx:Mr,onClose:()=>{Te(!1),He(null)},onComplete:Mr,results:be,styles:b,dark:W})})]})})}return c(fn,{isOpen:e,onClose:t,title:Ur,subtitle:Pr,dark:W,styles:b,theme:H,closeOnBackdropClick:n,children:w("div",{style:{padding:"24px 24px 5px 24px",position:"relative"},children:[c("div",{style:{marginBottom:"16px"},children:c(vo,{assets:dt,selectedAsset:J||void 0,onAssetSelect:Rt,onAmountChange:Qn,disabled:Xe||Ve==="success",showBalance:!0,showMaxButton:!0,label:"From Wallet",placeholder:"0.00",theme:ke,styles:b,dark:j,resolveMaxAmount:D?void 0:vs,maxAmount:J?.asset?$e(J.asset.balance,J.asset.decimals):void 0})}),J?.asset&&!Ut&&c(El,{variant:"supply",destinationSymbol:Q.symbol,destinationLogoURI:Q.logoURI,destinationDecimals:Q.decimals,primaryColor:P,fontFamily:N,textPrimary:q,textSecondary:M,cardBg:K,cardBorder:L,dark:W,isQuoting:Ie,quoteError:Pe,estimatedOutput:nt}),zr,Ve!=="idle"&&c(pm,{step:Ve,statusMsg:Tt,txHash:et,explorerUrl:Rl,currentStepIdx:Wl,palette:U,cardBg:K,cardBorder:L,textPrimary:q,textSecondary:M,fontFamily:N,primaryColor:P,onRetry:()=>{wt("idle"),Oe(null),setTimeout(po,50)}}),Se&&Ve==="idle"&&c(Bn,{variant:"error",palette:U,fontFamily:N,style:{marginBottom:"16px"},children:Se}),c(Wt,{variant:"outline",fullWidth:!0,disabled:Ul,onClick:Nl,theme:H,dark:W,styles:Lr,style:{fontSize:"20px",fontWeight:600,letterSpacing:"1.5px",fontFamily:O},children:Ml})]})})},hm=()=>{const[e,t]=R("0"),[n,o]=R(null);return{assetAmount:e,setAssetAmount:t,selectedAsset:n,setSelectedAsset:o}};function gm(e,t=0){const[n,o]=R(t),s=e[n]??e[0],r=$(()=>s?BigInt(Math.round(s.months*30*24*3600)):0n,[s?.months]);return{selectedDurationIdx:n,setSelectedDurationIdx:o,selectedDuration:s,durationSeconds:r}}function ym(){const{actions:e,isReady:t,isAuthenticated:n}=In(),o=Vt(Lt)?.embeddedWalletAddress,s=Z(!1),r=Z(0),a=Z(null),i=Z(e),[d,l]=R(0);i.current=e,X(()=>{s.current=!1,r.current=0,a.current&&(clearTimeout(a.current),a.current=null)},[o]),X(()=>{if(!o||!t||!n||s.current)return;s.current=!0;let p=!1;return(async()=>{await Sn(2e3);try{await ql(o,i.current.signMessage),r.current=0}catch(u){console.warn("[SmartWallet] Registration failed:",u),s.current=!1,!p&&r.current<3&&(r.current+=1,a.current=setTimeout(()=>{l(m=>m+1)},5e3))}})(),()=>{p=!0,a.current&&(clearTimeout(a.current),a.current=null)}},[o,t,n,d])}pc();export{xr as AERODROME_BASE_CONFIG,nm as AccountDisplay,sr as AddFundsLink,sa as CheckIcon,Yn as ChevronIcon,Io as CloseIcon,Ki as DEFAULT_LIQUIDITY_VENUES,io as DetailRow,Um as NATIVE_TOKEN_ADDRESS,dr as ProviderLogin,yr as SATSUMA_CITREA_CONFIG,Pm as SPICENET_NATIVE_CHAIN_ID,Lm as SPICE_COMBINED_FEE_RECIPIENT,zm as SPICE_GAS_FEE_RECIPIENT,Hm as SPICE_PLATFORM_FEE_RECIPIENT,jm as SPICE_SOLVER_ADDRESS,Os as SearchInput,au as SelectChainModal,ru as SpiceDeposit,Tm as SpiceFlowProvider,Lt as SpiceFlowProviderContext,Dp as SpiceLock,fm as SpiceSupply,Ru as SpiceWithdraw,Qe as SpiceflowError,vn as Spinner,Bn as StatusBanner,Si as UNIV3_BASE_CONFIG,Ei as UNIV3_ROBINHOOD_CONFIG,Fi as UNIV3_ROBINHOOD_SUSHI_CONFIG,Oi as UNIV4_BASE_CONFIG,Ni as UNIV4_ROBINHOOD_CONFIG,wn as V4_NATIVE_CURRENCY,Vm as applySlippage,Ao as areEquivalentOnChains,Dm as buildDarkPalette,Rm as buildLightPalette,ys as buildLiquidityVenues,pl as buildPayChainBatches,Bu as buildRoutedBatches,Br as buildSupplyChainBatches,Qm as buildUniV3SwapCalls,Di as createAerodromeExactOutputVenue,br as createAerodromeVenue,Yi as createExactOutputRegistry,Ri as createLiquidityRegistry,wr as createSatsumaExactOutputVenue,Ro as createSatsumaVenue,wr as createUniV3ExactOutputVenue,Ro as createUniV3Venue,qi as createUniV4ExactOutputVenue,Qi as createUniV4Venue,Es as duration,$n as easing,ki as encodeUniV3ExactOutputCall,gl as estimateFeePreview,sm as estimateRequiredGrossFunding,hl as estimateSupplyMaxAmount,Sl as executePay,Il as executeSupply,Dn as findEquivalentOnChain,Ae as font,$o as getAssetChainTokenCandidates,Ii as getBestUniV3ExactOutputQuote,vi as getBestUniV3Quote,Ue as getChainConfig,qm as getChainIdsByNetwork,Jt as getChainName,Km as getEscrowContractAddress,Ym as isNativeToken,Wm as isSpiceflowError,Zm as isSpicenetChainId,us as isSupportedSupplyAsset,Xm as normalizeNativeTokenAddress,Ss as radius,zt as relayerService,hn as resolveAssetTokenAddressOnChain,Xs as resolveFundedToken,Xi as resolveInputSupplySwapQuote,Fu as resolveRoute,Mm as resolveTheme,Lu as reverseUniV3Path,cn as scaleTokenAmount,Gm as spicenetAbi,Jm as spicenetWithdrawalAbi,an as transition,hm as useAssetInput,Om as useIsUserWhitelisted,gm as useLockDuration,ym as useSmartWallet,Bo as useSpiceAssets,At as useSpiceBrand,ao as useSpiceExecution,nl as useSpicePendingDeposits,hi as useSupplyAssets,xs as useSupplyQuote,In as useWallet,qn as z};
85
+ `})]}),document.body):null;return b($t,{children:[nt,Mt,S&&ca.createPortal(c(Ga,{isOpen:!0,onClose:ye,supportedChains:[S.chainId],escrowOnly:!0,escrowTokenAddress:S.tokenAddress,escrowAmount:S.amount,escrowTokenDecimals:S.tokenDecimals,escrowTokenSymbol:S.tokenSymbol,styles:l,onDepositSuccess:Qe}),document.body)]})},im="0xa9059cbb";function ll(e,t,n){return pe(e)?{to:n,value:t,data:"0x"}:{to:e,value:0n,data:ct({abi:Le,functionName:"transfer",args:[n,t]})}}function cl(e,t,n){return{chainId:n,calls:[ll(e,t,Fn(n))]}}function dl(e,t,n){return!t&&e?.asset?._source==="wallet"&&e?.asset.chainId===n}function ul(e){return e.isNative||pe(e.address)?!0:!ht(e.address,e.chainId)}function pl(e,t,n){const s=e?.asset;return!t||!s||s._source!=="wallet"||s.chainId!==n||s.isNative||pe(s.address)?!1:!ht(s.address,s.chainId)}function ml(e,t,n,s){return t!=="user-transfer"||!n||e.length===0||e[0]?.to.toLowerCase()!==s.toLowerCase()||!e[0]?.data.startsWith(im)?{feeCall:null,remainingCalls:e}:{feeCall:e[0],remainingCalls:e.slice(1)}}async function Ao(e,t,n,s){if(!t)return[e];const o=await t({...n,requestTimestampMs:s});return o?[o,e]:[e]}function fl(e){return e.filter(t=>t.domain!=="spicenet")}function So(e){const t=(e.tokenTransfers??[]).filter(n=>n.from==="escrow").map(n=>({token:Xe(n.token),recipient:n.to,amount:BigInt(n.amount)})).filter(n=>n.amount>0n);return t.length>0?t:void 0}function ln(e,t,n){return Wn(e,t,n,"ceil")}async function hl(e,t){const{currentPaymentAmount:n,destinationToken:s,embeddedWalletAddress:o,providerEmbeddedAddress:r,address:a,isNon7702:i,isPayMode:d,resolvedChainId:l,buildActionCalls:u,feeExecutionMode:p,buildSpicenetBatch:m,selectedAsset:h,needsSwap:f,exactOutputSwap:y,resolvedTokenIn:g,requestTimestampMs:w}=e,x=$e(n,s.decimals),B=t?.actionAmountOverride??x,k=o||r||(i?void 0:a);if(!k)throw new Error("Embedded wallet address is not available. Please sign in and try again.");const C={userAddress:k,chainId:l,destinationToken:s.address,grossAmount:t?.fundingAmountOverride??x,netAmount:B,combinedFeeAmount:t?.actionContextOverride?.combinedFeeAmount,feeExecutionMode:p,feeBreakdown:t?.actionContextOverride?.feeBreakdown,...t?.actionContextOverride},T=u(B,C),A={chainId:l,calls:T},v=!d&&!i?!0:h?.asset?._source==="spice",S=dl(h??null,i,l),F=v||i&&!pl(h,i,l)||S&&!!h&&!ul(h.asset),I=(E,L)=>({token:Xe(E),from:"escrow",to:k,amount:L}),D=(E,L,W)=>S?[cl(E,L,l),...W]:W;if(x===0n)return[A];if(f&&y){const E=g??gn(h.asset,l)??h.asset.address,L=t?.fundingAmountOverride??y.amountInMax,W=F?[I(E,L)]:[],U={chainId:l,calls:[...y.calls,...T],tokenTransfers:[...W,...A.tokenTransfers??[]]};if(!F)return[U];const _=await Ao(U,m,{userAddress:k,destinationChainId:l,deliveryToken:E,deliveryAmount:L,deliveryRecipient:k,deliveryTransfers:So(U),sourceAsset:h.asset},w);return D(E,L,_)}if(F){const E=g??gn(h.asset,l)??s.address;if(S&&E.toLowerCase()===s.address.toLowerCase())return[A];const L=t?.fundingAmountOverride??x,W={...A,tokenTransfers:[I(E,L),...A.tokenTransfers??[]]},U=await Ao(W,m,{userAddress:k,destinationChainId:l,deliveryToken:E,deliveryAmount:L,deliveryRecipient:k,deliveryTransfers:So(W),sourceAsset:h.asset},w);return D(E,L,U)}return[A]}async function Pr(e,t){const{selectedAsset:n,embeddedWalletAddress:s,externalWalletAddress:o,recipient:r,resolvedChainId:a,destinationToken:i,buildActionCalls:d,feeExecutionMode:l,buildSpicenetBatch:u,isPayMode:p,isNon7702:m,needsSwap:h,resolvedSwap:f,quoteAmountOut:y,resolvedTokenIn:g,requestTimestampMs:w}=e;if(!n?.asset||!s)return[];const x=r??(m?o:s);if(!x)return[];const B=g??gn(n.asset,a)??i.address,k=ht(B,a)?.decimals??(h?n.asset.decimals:i.decimals),C=t?.fundingAmountOverride??t?.actionAmountOverride??Wn($e(n.amount,n.asset.decimals),n.asset.decimals,k,"floor"),T=t?.fundingAmountOverride??C,A=t?.sourceFundingAmountOverride??ln(C,k,n.asset.decimals),v=t?.deliveryAmountOverride??T,S=t?.withdrawalAmountOverride??v,F=t?.actionAmountOverride??t?.actionContextOverride?.netAmount??C;let I=f;if(h&&!p&&t?.actionContextOverride?.netAmount!==void 0){if(!e.resolveInputSwap)throw new Error("Swap quote cannot be refreshed for the amount after fees.");I=await e.resolveInputSwap(t.actionContextOverride.netAmount)}const D=I?.amountOutMinimum??y,E={userAddress:x,chainId:a,destinationToken:i.address,feeToken:l==="user-transfer"&&h&&g?g:i.address,grossAmount:T,netAmount:F,combinedFeeAmount:t?.actionContextOverride?.combinedFeeAmount,feeExecutionMode:l,feeBreakdown:t?.actionContextOverride?.feeBreakdown,...t?.actionContextOverride},L=d(F,E),W=n.asset?._source==="wallet";if(!p&&W&&n.asset.chainId===a&&(m||ul(n.asset))){if(h){if(!g)throw new Error("Swap input token could not be resolved");if(!I||D===null)throw new Error("Swap quote not available yet")}if(h&&I&&D){const M=d(t?.actionAmountOverride??D,{...E,netAmount:t?.actionAmountOverride??D}),{feeCall:oe,remainingCalls:Ce}=ml(M,l,h,E.feeToken);return[{chainId:a,calls:[...oe?[oe]:[],...I.calls,...Ce]}]}return[{chainId:a,calls:L}]}if(!p&&!m&&W&&n.asset.chainId!==a)throw new Error("Cross-chain wallet supplies require external wallet mode");const U=!p&&!m?n.asset?._source!=="wallet":n.asset?._source==="spice",_=m&&W,P=dl(n,m,a);if(!(U||_||P))return[{chainId:a,calls:L}];const N=P?cl(g??Xe(n.asset.address),A,a):_&&n.asset.chainId!==a?{chainId:n.asset.chainId,calls:[ll(Xe(n.asset.address),A,Fn(n.asset.chainId))]}:null,O=(M,oe)=>({token:Xe(M),from:_?"solver":"escrow",to:s,amount:oe}),j=(M,oe)=>_?[{token:Xe(M),from:"escrow",to:cc,amount:oe}]:[];if(h){if(!g)throw new Error("Swap input token could not be resolved");if(!I||D===null)throw new Error("Swap quote not available yet")}if(h&&I&&D&&g){const M=d(t?.actionAmountOverride??D,{...E,netAmount:t?.actionAmountOverride??D}),{feeCall:oe,remainingCalls:Ce}=ml(M,l,h,E.feeToken),Q={chainId:a,calls:[...oe?[oe]:[],...I.calls,...Ce],tokenTransfers:[...j(g,S),O(g,v)]},$=await Ao(Q,u,{userAddress:s,destinationChainId:a,deliveryToken:g,deliveryAmount:v,withdrawalAmount:S,deliveryRecipient:s,deliveryTransfers:So(Q),sourceAsset:n.asset},w);return N?[N,...$]:$}const q=g??gn(n.asset,a)??i.address,H={chainId:a,calls:L,tokenTransfers:[...j(q,S),O(q,v)]},V=await Ao(H,u,{userAddress:s,destinationChainId:a,deliveryToken:q,deliveryAmount:v,withdrawalAmount:S,deliveryRecipient:s,deliveryTransfers:So(H),sourceAsset:n.asset},w);return N?[N,...V]:V}async function lm(e,t,n,s,o){let r=e;for(let a=0;a<4;a++){const i=await t(r),d=await s(i,n,r,o),l=gd(d);if(l===null||l>=e)return r;const u=r-l,p=e+u;if(p<=r)return r;r=p}return r}const gl=(e,t)=>(e+t-1n)/t;function cm(e,t){const n=e.spicenetFee+(e.bridgeFee??0n);return e.grossAmount<=n?t+e.gasFee+n:gl((t+e.gasFee)*e.grossAmount,e.grossAmount-n)+2n}async function Eo(e){const{requiredNetFunding:t}=e,n=await e.buildBatches(t),s=await e.estimate(n,e.fundingToken,t,e.executionOptions),o=is(s,e.tokenDescriptor);if(!o)return{preview:ar(n,e.tokenDescriptor,t),feeEstimate:s,grossFundingAmount:t};const r=cm(o,t),a=l=>o.grossAmount>0n?gl(l*r,o.grossAmount):l,i=a(o.spicenetFee),d=a(o.bridgeFee??0n);return{preview:{...o,grossAmount:r,netAmount:t,spicenetFee:i,bridgeFee:d,totalFee:o.gasFee+i+d},feeEstimate:s,grossFundingAmount:r}}function dm(e,t,n,s){if(e<=0n)return 0n;const o=e-t;if(o<=0n)return 0n;const r=s+n;return r<=0n?o:o*s/r}async function yl(e){const{asset:t,isPayMode:n,isNon7702:s,needsSwap:o,isQuoting:r,embeddedWalletAddress:a,buildSupplyChainBatches:i,estimate:d,executionTokenAddress:l,feeExecutionMode:u}=e;if(n||s||o||r||!a||t.balance<=0n)return null;const p=await i({fundingAmountOverride:t.balance,actionAmountOverride:t.balance});if(p.length===0)return null;const m=p.some(x=>x.tokenTransfers?.length),h=await d(p,l,t.balance,m?{userOverride:a,useCustomTransfers:!0,feeExecutionMode:u}:u?{userOverride:a,feeExecutionMode:u}:{userOverride:a}),f=is(h,{chainId:t.chainId,tokenAddress:t.address,symbol:t.symbol,decimals:t.decimals}),y=f?ln(f.gasFee,f.decimals,t.decimals):0n,g=f?ln(f.spicenetFee,f.decimals,t.decimals):0n,w=dm(t.balance,y,g,t.balance);return w>0n?rr(w,t.decimals):null}async function xl(e){const{signal:t,selectedAsset:n,isPayMode:s,isFeeInclusiveInput:o=!1,parsedAmount:r,needsSwap:a,exactOutputSwap:i,isNon7702:d,isSourceDestToken:l,currentPaymentAmount:u,destinationToken:p,feeExecutionMode:m,resolvedTokenIn:h,embeddedWalletAddress:f,providerEmbeddedAddress:y,resolvedChainId:g,isConnected:w,address:x,ready:B,authenticated:k,isDirect:C,resolvedSwap:T,isQuoting:A,executionTokenAddress:v,buildPayChainBatches:S,buildSupplyChainBatches:F,estimate:I}=e;if(!n?.asset)return null;if(s){if(r<=0||a&&!i||l)return null;const j=$e(u,p.decimals),q=h||gn(n.asset,g)||n.asset.address||p.address,H={chainId:g,tokenAddress:q,symbol:ht(q,g)?.symbol??n.asset.symbol,decimals:ht(q,g)?.decimals??n.asset.decimals};if(d){const Ce=f||y;if(!Ce)return null;const Q=a?i?.amountInMax??0n:j;if(Q===0n)return null;const $=await Eo({requiredNetFunding:Q,buildBatches:ie=>S({fundingAmountOverride:ie}),fundingToken:q,estimate:I,executionOptions:{userOverride:Ce,useCustomTransfers:!0,feeExecutionMode:m,signal:t},tokenDescriptor:H});return $.preview?{...$,preview:$.preview}:null}if(!w||!x||!B||!k)return null;const V=f||y||x,M=a?i?.amountInMax??0n:j;if(M===0n)return null;const oe=await Eo({requiredNetFunding:M,buildBatches:Ce=>S({fundingAmountOverride:Ce}).then(Q=>jn(fl(Q),V)),fundingToken:q,estimate:I,executionOptions:{useCustomTransfers:!0,feeExecutionMode:m,signal:t},tokenDescriptor:H});return oe.preview?{...oe,preview:oe.preview}:null}if(r<=0||!f)return null;const D=f||y;if(!(!s&&!d&&n.asset?._source==="wallet"&&n.asset.chainId!==g)&&!C&&!T&&!A||A)return null;const E=await F();if(E.length===0)return null;const L=d&&n.asset?._source==="wallet"&&n.asset.chainId===g,W={chainId:g,tokenAddress:v,symbol:ht(v,g)?.symbol??p.symbol,decimals:ht(v,g)?.decimals??p.decimals},U=Wn($e(n.amount,n.asset.decimals),n.asset.decimals,W.decimals,"floor");if(L){const j=await Ht.estimateBatchGas({user:D,outputToken:v,stepIndex:0,chainBatches:E,signal:t}),q=o?ao(U,j.gasFee,10n):(()=>{const H=Es(U,10n),V=H+j.gasFee;return{grossAmount:U+V,netAmount:U,totalFee:V,spicenetFee:H}})();return{preview:{...W,grossAmount:q.grossAmount,netAmount:q.netAmount,totalFee:q.totalFee,gasFee:j.gasFee,spicenetFee:q.spicenetFee,bridgeFee:0n,gasQuoteSource:j.gasQuoteSource},feeEstimate:null}}const _=E.some(j=>j.tokenTransfers?.length),P=await I(E,v,U,_?{userOverride:D,useCustomTransfers:!0,feeExecutionMode:m,signal:t}:m?{userOverride:D,feeExecutionMode:m,signal:t}:{userOverride:D,signal:t}),N=is(P,W)??ar(E,W,U);if(!N)return null;if(!o)return{preview:N,feeEstimate:P};const O=ao(U,N.gasFee+(N.bridgeFee??0n),10n);return{preview:{...N,grossAmount:O.grossAmount,netAmount:O.netAmount,totalFee:O.totalFee,spicenetFee:O.spicenetFee},feeEstimate:P}}function bl(e,t){const n=e.selectedAsset?.asset;if(!n||n?._source!=="wallet")return;const s=gn(n,e.resolvedChainId);if(!s||!Fe(s,e.executionTokenAddress))return;const o=ht(e.executionTokenAddress,e.resolvedChainId),r=ln(t,o?.decimals??e.destinationToken.decimals,n.decimals);if(r<=n.balance)return;const a=Ge(r,n.decimals),i=Ge(n.balance,n.decimals);throw new Error(`Insufficient ${n.symbol} for this total amount. Required ${a} ${n.symbol}; available ${i} ${n.symbol}.`)}function Ns(e){const t=ht(e.executionTokenAddress,e.resolvedChainId);return{chainId:e.resolvedChainId,tokenAddress:e.executionTokenAddress,symbol:t?.symbol??e.destinationToken.symbol,decimals:t?.decimals??e.destinationToken.decimals}}function Os(e,t,n){const s=is(e,Ns(t));if(!s)return;const o=s.bridgeFee??0n,r=s.gasFee+o;if(t.isFeeInclusiveInput){const d=ao(n,r,10n);if(!d.coversFees)throw new Error("Amount is too small to cover fees. Increase the amount and retry.");return{grossAmount:d.grossAmount,netAmount:d.netAmount,combinedFeeAmount:d.totalFee,feeExecutionMode:t.feeExecutionMode??"backend-transfer",feeBreakdown:{spicenetFee:d.spicenetFee,gasFee:s.gasFee,bridgeFee:o}}}const a=Es(n,10n),i=a+r;return{grossAmount:n+i,netAmount:n,combinedFeeAmount:i,feeExecutionMode:t.feeExecutionMode??"backend-transfer",feeBreakdown:{spicenetFee:a,gasFee:s.gasFee,bridgeFee:o}}}function um(e,t,n){let s=0n,o=0n;const r=n.toLowerCase();for(const a of e)if(a.chainId===t){for(const i of a.calls??[])if(i.to.toLowerCase()===r)try{const d=Gs({abi:Le,data:i.data});if(d.functionName!=="transfer")continue;const l=d.args[0].toLowerCase(),u=d.args[1];l===Kn.toLowerCase()?s+=u:l===an.toLowerCase()&&(o+=u)}catch{continue}}return{spicenetFee:s,gasFee:o}}function Lr(e,t,n){const s=t.feeExecutionMode==="user-transfer"&&t.needsSwap&&t.resolvedTokenIn?t.resolvedTokenIn:t.executionTokenAddress,o=um(e,t.resolvedChainId,s);return o.spicenetFee===0n&&n.feeBreakdown.spicenetFee>0n||o.gasFee===0n&&n.feeBreakdown.gasFee>0n?!1:zn(o.spicenetFee,n.feeBreakdown.spicenetFee,100n)&&zn(o.gasFee,n.feeBreakdown.gasFee,100n)}function wl(e,t){return e?zn(e.grossAmount,t.grossAmount,100n)&&zn(e.feeBreakdown.spicenetFee,t.feeBreakdown.spicenetFee,100n)&&zn(e.feeBreakdown.gasFee,t.feeBreakdown.gasFee,100n)&&zn(e.feeBreakdown.bridgeFee,t.feeBreakdown.bridgeFee,100n):!1}function zr(e,t,n,s){const o=fl(e),r=d=>(d.tokenTransfers??[]).some(l=>l.from==="escrow"),a=o.filter(d=>!r(d)),i=o.filter(r);return[...a,...jn(i,t,n,s)]}function Cl(e,t){const n=ht(t,e.resolvedChainId);return{chainId:e.resolvedChainId,tokenAddress:t,symbol:n?.symbol??e.selectedAsset?.asset.symbol??"",decimals:n?.decimals??e.selectedAsset?.asset.decimals??e.destinationToken.decimals}}async function kl(e,t){const n=e.feeQuote;return n?.feeEstimate&&n.grossFundingAmount!==void 0?{grossFundingAmount:n.grossFundingAmount,feeEstimate:n.feeEstimate}:Eo({...t,estimate:e.execution.estimate,tokenDescriptor:Cl(e,t.fundingToken)})}function vl(e,t){const n=e.selectedIsEquivalent?t:e.exactOutputSwap?e.exactOutputSwap.amountInMax:0n;if(n===0n)throw new Error("Quote not available yet");return n}function Il(e,t,n){const s=t instanceof Error?t:new Error(String(t));if(s.name==="AbortError"||n){e.ui.setStep("idle");return}const o=s.message||"Transaction failed";e.ui.setStep("error"),e.ui.setStatusMsg(o),e.ui.setError(o)}function Al(e,t){const n=fn(t,"Payment failed. Please try again.");e.ui.setError(n),e.ui.setPaymentResult({status:"failed",error:n})}async function Sl(e){if(!e.selectedAsset?.asset||e.parsedAmount<=0){e.ui.setError("Select an asset and enter an amount");return}if(e.isInsufficientBalance){e.ui.setError("Insufficient balance");return}if(e.isNon7702){const n=e.activeSignerAddress??e.externalWalletAddress;if(e.isSourceDestToken?!n:!e.externalWalletAddress){e.ui.setError("Please connect your wallet to continue");return}e.ui.setIsExecuting(!0),e.ui.setError(null),e.ui.setTxHash(null);try{if(e.isSourceDestToken){e.ui.setStep("executing"),e.ui.setStatusMsg("Submitting transaction...");const s=await El(e);e.ui.setTxHash(s??null)}else{e.ui.setStep("signing-delegation"),e.ui.setStatusMsg("Building transaction..."),e.refs.spiceDepositSubmittedRef.current=!1;const s=new AbortController;e.refs.abortControllerRef.current=s,await pm(e,s.signal)}e.ui.setStep("success"),e.ui.setStatusMsg(e.isSourceDestToken?"Transaction confirmed":"Deposit confirmed")}catch(s){Il(e,s,!!e.refs.abortControllerRef.current?.signal.aborted)}finally{e.ui.setIsExecuting(!1)}return}if(!e.embeddedWalletAddress){e.ui.setError("Wallet not ready");return}e.ui.setIsExecuting(!0),e.ui.setError(null),e.ui.setStep("signing-delegation"),e.ui.setStatusMsg("Building transaction..."),e.ui.setTxHash(null),e.refs.spiceDepositSubmittedRef.current=!1;const t=new AbortController;e.refs.abortControllerRef.current=t;try{const n=Wn($e(e.selectedAsset.amount,e.selectedAsset.asset.decimals),e.selectedAsset.asset.decimals,Ns(e).decimals,"floor"),s=n;let o=await e.execution.buildSupplyChainBatches();const r=e.selectedAsset.asset?._source==="wallet",a=e.embeddedWalletAddress||e.providerEmbeddedAddress;if(e.buildSpicenetBatch&&!e.isPayMode&&!e.isNon7702&&!r&&!o.some(m=>ss(m.chainId)))throw new Error("Spice-funded supplies must include a Spicenet funding batch before the destination chain batch.");const i=o.some(m=>m.tokenTransfers?.length),d=i?{userOverride:a,useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode}:e.feeExecutionMode?{userOverride:a,feeExecutionMode:e.feeExecutionMode}:{userOverride:a};let l=n,u;for(let m=0;m<4;m+=1){const h=m===0&&e.feeQuote?.feeEstimate||await e.execution.estimate(o,e.executionTokenAddress,i?l:0n,d),f=is(h,Ns(e));u=f&&(e.feeExecutionMode==="user-transfer"||e.isFeeInclusiveInput)?Os(h,e,s):void 0;const y=u?.grossAmount??f?.grossAmount??l;if(y===l)break;l=y,o=await e.execution.buildSupplyChainBatches({fundingAmountOverride:l,actionContextOverride:u})}bl(e,l),o=await e.execution.buildSupplyChainBatches({fundingAmountOverride:l,actionContextOverride:u});let p=u;await e.execution.execute(o,e.executionTokenAddress,i?l:0n,e.execution.onProgress,t.signal,e.feeExecutionMode==="user-transfer"?{...d,skipUserFundingPreflight:!0,adjustBatchesForEstimate:({feeEstimate:m,chainBatches:h})=>{const f=Os(m,e,s);if(!f)return null;const y=wl(p,f),g=Lr(h,e,f);return y||g?null:(p=f,e.execution.buildSupplyChainBatches({fundingAmountOverride:f.grossAmount,actionContextOverride:f}))}}:{...d,skipPreSubmitFeeEstimate:!0}),e.ui.setStep("success"),e.ui.setStatusMsg("Deposit confirmed")}catch(n){Il(e,n,t.signal.aborted)}finally{e.ui.setIsExecuting(!1)}}async function pm(e,t){if(!e.selectedAsset?.asset)throw new Error("Select a payment source");if(!e.externalWalletAddress||!e.externalWallet)throw new Error("Please connect your external wallet to continue");const n=e.embeddedWalletAddress||e.providerEmbeddedAddress;if(!n)throw new Error("Embedded wallet not available \u2014 sign in to create one before supplying");const s=e.selectedAsset.asset,o=Wn($e(e.selectedAsset.amount,s.decimals),s.decimals,Ns(e).decimals,"floor"),r=o,a=s?._source==="wallet"&&s.chainId===e.resolvedChainId;let i=await e.execution.buildSupplyChainBatches();const d={userOverride:n,useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode,signAuthorizationsForEstimate:!0};let l=o,u;if(a){const A=e.feeQuote?.preview.gasFee??(await Ht.estimateBatchGas({user:n,outputToken:e.executionTokenAddress,stepIndex:0,chainBatches:i})).gasFee,v=Es(o,10n),S=v+A,F=e.isFeeInclusiveInput?ao(o,A,10n):{grossAmount:o+S,netAmount:r,totalFee:S,spicenetFee:v,coversFees:!0};if(!F.coversFees)throw new Error("Amount is too small to cover fees. Increase the amount and retry.");l=F.grossAmount,(e.feeExecutionMode==="user-transfer"||e.isFeeInclusiveInput)&&(u={grossAmount:l,netAmount:F.netAmount,combinedFeeAmount:F.totalFee,feeExecutionMode:e.feeExecutionMode??"backend-transfer",feeBreakdown:{spicenetFee:F.spicenetFee,gasFee:A,bridgeFee:0n}})}else for(let A=0;A<4;A+=1){const v=await e.execution.estimate(i,e.executionTokenAddress,0n,d),S=e.feeExecutionMode==="user-transfer"||e.isFeeInclusiveInput?Os(v,e,r):void 0,F=is(v,Ns(e)),I=S?.grossAmount??F?.grossAmount??l;if(u=S,I===l)break;l=I;const D=ht(e.executionTokenAddress,e.resolvedChainId),E=ln(l,D?.decimals??e.destinationToken.decimals,s.decimals);i=await e.execution.buildSupplyChainBatches({fundingAmountOverride:l,sourceFundingAmountOverride:E,withdrawalAmountOverride:l,actionContextOverride:S})}const p=ht(e.executionTokenAddress,e.resolvedChainId);let m=a?l:ln(l,p?.decimals??e.destinationToken.decimals,s.decimals);bl(e,l),i=await e.execution.buildSupplyChainBatches({fundingAmountOverride:l,sourceFundingAmountOverride:m,withdrawalAmountOverride:l,actionContextOverride:u});const h=s.chainId,f=n,{extWc:y,viemChain:g}=await ds({wallet:e.externalWallet,account:e.externalWalletAddress,chainId:h,onSwitch:()=>e.ui.setStatusMsg("Switching source network...")}),w=Xe(s.address),x=s.isNative||pe(w),B=ft(h),k=A=>hr({extWc:y,sourceClient:B,recipient:f,tokenAddr:w,isNative:x,amount:A,viemChain:g});e.ui.setStatusMsg("Funding embedded wallet..."),await k(m);let C=m;if(e.feeExecutionMode==="user-transfer")for(let A=0;A<4;A+=1){const v=await e.execution.estimate(i,e.executionTokenAddress,0n,d),S=Os(v,e,r);if(!S)break;const F=a?S.grossAmount:ln(S.grossAmount,p?.decimals??e.destinationToken.decimals,s.decimals);if(F>C&&(await k(F-C),C=F),u=S,l=S.grossAmount,m=F,i=await e.execution.buildSupplyChainBatches({fundingAmountOverride:l,sourceFundingAmountOverride:m,withdrawalAmountOverride:l,actionContextOverride:S}),Lr(i,e,S))break}e.ui.setStatusMsg("Signing supply intent...");let T=u;await e.execution.execute(i,e.executionTokenAddress,0n,e.execution.onProgress,t,e.feeExecutionMode==="user-transfer"?{...d,skipUserFundingPreflight:!0,adjustBatchesForEstimate:({feeEstimate:A,chainBatches:v})=>{const S=Os(A,e,r);if(!S)return null;const F=wl(T,S),I=Lr(v,e,S);if(F||I)return null;T=S;const D=a?S.grossAmount:ln(S.grossAmount,p?.decimals??e.destinationToken.decimals,s.decimals);return e.execution.buildSupplyChainBatches({fundingAmountOverride:S.grossAmount,sourceFundingAmountOverride:D,withdrawalAmountOverride:S.grossAmount,actionContextOverride:S})}}:{...d,skipPreSubmitFeeEstimate:!0})}async function El(e){const t=e.isPayMode&&e.parsedAmount===0;if(!e.selectedAsset?.asset&&!t)throw new Error("Select a payment source");const n=e.activeSignerWallet??e.externalWallet,s=e.activeSignerAddress??e.externalWalletAddress;if(!s||!n)throw new Error("Please connect your wallet to continue");const o=$e(e.isPayMode?e.currentPaymentAmount:e.selectedAsset.amount,e.destinationToken.decimals),r={userAddress:s,chainId:e.resolvedChainId,destinationToken:e.destinationToken.address},a=e.buildActionCalls(o,r);if(a.length===0)throw new Error("No action calls configured");const{extWc:i,viemChain:d}=await ds({wallet:n,account:s,chainId:e.resolvedChainId}),l=ft(e.resolvedChainId);return Qa({extWc:i,client:l,calls:a,viemChain:d,errorMessage:"Transaction failed"})}async function mm(e){if(!e.selectedAsset?.asset)throw new Error("Select a payment source");if(!e.externalWalletAddress||!e.externalWallet)throw new Error("Please connect your external wallet to continue");const t=e.embeddedWalletAddress||e.providerEmbeddedAddress;if(!t)throw new Error("Embedded wallet not available \u2014 sign in to create one before paying");const n=e.selectedAsset.asset,s=n.chainId,o=$e(e.currentPaymentAmount,e.destinationToken.decimals),r=vl(e,o),a=e.resolvedTokenIn||e.selectedAsset.asset.address,i={userOverride:t,useCustomTransfers:!0},d=Fn(s),l=Xe(n.address),u=n.isNative||pe(l),p=t,m=A=>({chainId:s,calls:u?[{to:d,value:A,data:"0x"}]:[{to:l,value:0n,data:ct({abi:Le,functionName:"transfer",args:[d,A]})}]}),h=pl(e.selectedAsset,e.isNon7702,e.resolvedChainId),f=async(A,v,S)=>{const F=await e.execution.buildPayChainBatches({fundingAmountOverride:A});return h?F:[m(A),...zr(F,p,v,S)]},{grossFundingAmount:y,feeEstimate:g}=await Eo({requiredNetFunding:r,buildBatches:A=>f(A),fundingToken:a,estimate:e.execution.estimate,executionOptions:{...i,feeExecutionMode:e.feeExecutionMode},tokenDescriptor:Cl(e,a)}),w=await f(y,g,{payoutAlreadyGross:!0}),{extWc:x,viemChain:B}=await ds({wallet:e.externalWallet,account:e.externalWalletAddress,chainId:s}),k=ft(s);await hr({extWc:x,sourceClient:k,recipient:t,tokenAddr:l,isNative:u,amount:y,viemChain:B});const C=w.some(A=>A.tokenTransfers?.length),T={...i,skipUserFundingPreflight:!0,skipPreSubmitFeeEstimate:!0};return await e.execution.execute(w,a,C?y:0n,A=>{A.txHash&&(e.ui.setPaymentResult(v=>({...v??{status:"processing"},txHash:A.txHash})),e.ui.setTxHash(A.txHash))},void 0,C?T:{userOverride:t,skipUserFundingPreflight:!0,skipPreSubmitFeeEstimate:!0})}async function Fl(e){if(e.parsedAmount<0){e.ui.setError("Enter a valid payment amount");return}const t=e.parsedAmount===0;if(!e.selectedAsset?.asset&&!t){e.ui.setError("Select a payment source");return}if(e.isInsufficientBalance){e.ui.setError("Insufficient balance");return}if(e.parsedAmount>0&&e.needsSwap&&!e.exactOutputSwap){e.ui.setError("Swap quote not available. Try a different asset.");return}if(e.isNon7702){const n=e.activeSignerAddress??e.externalWalletAddress;if(e.isSourceDestToken||t?!n:!e.externalWalletAddress){e.ui.setError("Please connect your wallet to continue");return}e.ui.setIsExecuting(!0),e.ui.setError(null),e.ui.setShowStatusPanel(!0),e.ui.setPaymentResult({status:"processing"});try{let s;if(e.isSourceDestToken||e.parsedAmount===0)s=await El(e);else if(e.onPayExecute&&e.selectedAsset?.asset){const o=e.selectedAsset.asset,r=$e(e.currentPaymentAmount,e.destinationToken.decimals),a=vl(e,r),i=e.embeddedWalletAddress||e.providerEmbeddedAddress;if(!i)throw new Error("Embedded wallet not available \u2014 sign in to create one before paying");const d=e.resolvedTokenIn||o.address,{grossFundingAmount:l}=await kl(e,{requiredNetFunding:a,buildBatches:m=>e.execution.buildPayChainBatches({fundingAmountOverride:m}),fundingToken:d,executionOptions:{userOverride:i,useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode}}),u=await e.execution.buildPayChainBatches({fundingAmountOverride:l}),p=await e.onPayExecute({asset:o,amount:e.currentPaymentAmount,amountWei:r,destinationToken:e.destinationToken,chainBatches:u,requiredNetFunding:a,grossFundingAmount:l,selectedIsEquivalent:e.selectedIsEquivalent,resolvedTokenIn:d,exactOutputSwapAmountInMax:e.exactOutputSwap?.amountInMax});p&&(e.ui.setTxHash(p),e.ui.setPaymentResult(m=>({...m??{status:"processing"},txHash:p}))),s=p||void 0}else s=await mm(e);e.ui.setPaymentResult(o=>({status:"success",txHash:o?.txHash||s||""}))}catch(s){Al(e,s)}finally{e.ui.setIsExecuting(!1)}return}if(!e.isConnected||!e.address){e.ui.setError("Please connect your wallet to continue");return}if(!e.ready||!e.authenticated){e.ui.setError(`Please authenticate with ${e.provider||"wallet provider"} to continue`);return}e.ui.setIsExecuting(!0),e.ui.setError(null),e.ui.setShowStatusPanel(!0),e.ui.setPaymentResult({status:"processing"});try{const n=$e(e.currentPaymentAmount,e.destinationToken.decimals),s={useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode};if(t){const h=await e.execution.buildPayChainBatches(),f=await e.execution.execute(h,e.executionTokenAddress,0n,y=>{y.txHash&&(e.ui.setPaymentResult(g=>({...g??{status:"processing"},txHash:y.txHash})),e.ui.setTxHash(y.txHash))},void 0,s);e.ui.setPaymentResult(y=>({status:"success",txHash:y?.txHash||f}));return}const o=e.selectedAsset?.asset;if(!o)throw new Error("Select a payment source");const r=e.resolvedTokenIn||o.address||e.destinationToken.address,a=e.needsSwap?e.exactOutputSwap?.amountInMax??0n:n,i=e.embeddedWalletAddress||e.providerEmbeddedAddress||e.address,{grossFundingAmount:d,feeEstimate:l}=await kl(e,{requiredNetFunding:a,buildBatches:h=>e.execution.buildPayChainBatches({fundingAmountOverride:h}).then(f=>zr(f,i)),fundingToken:r,executionOptions:s}),u=zr(await e.execution.buildPayChainBatches({fundingAmountOverride:d}),i,l,{payoutAlreadyGross:!0}),p=u.some(h=>h.tokenTransfers?.length),m=await e.execution.execute(u,r,p?d:0n,h=>{h.txHash&&(e.ui.setPaymentResult(f=>({...f,txHash:h.txHash})),e.ui.setTxHash(h.txHash))},void 0,{...s,skipPreSubmitFeeEstimate:!0});e.ui.setPaymentResult(h=>({status:"success",txHash:h?.txHash||m}))}catch(n){Al(e,n)}finally{e.ui.setIsExecuting(!1)}}const fm=({variant:e,destinationSymbol:t,destinationLogoURI:n,destinationDecimals:s,primaryColor:o,fontFamily:r,textPrimary:a,textSecondary:i,cardBg:d,cardBorder:l,dk:u,dark:p,isQuoting:m,quoteError:h,estimatedOutput:f,paymentAmount:y,needsSwap:g,exactOutputSwap:w,adjustable:x=!1,maxAmount:B,onAmountChange:k})=>e==="supply"?b("div",{style:{backgroundColor:d,border:`1px solid ${l}`,borderRadius:p?"8px":"7px",padding:"14px 16px 12px 16px",marginBottom:"16px",minHeight:"112px",display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[b("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px"},children:[b("div",{style:{minWidth:0},children:[c("span",{style:{fontFamily:r,fontSize:"17px",fontWeight:500,color:p?"#a7abb2":"#7D7C7B",lineHeight:"24px"},children:"Used in TX"}),c("div",{style:{fontSize:"12px",fontWeight:500,color:i,fontFamily:r,marginTop:"10px"},children:"Net amount after swap and fees"})]}),b("div",{style:{textAlign:"right",minWidth:0,display:"inline-flex",alignItems:"center",gap:"8px",border:`1px solid ${l}`,borderRadius:"8px",padding:"8px 10px",minHeight:"42px"},children:[c(Tl,{symbol:t,logoURI:n,primaryColor:o,size:24}),c("span",{style:{fontSize:"16px",fontWeight:500,color:p?"#f3f4f6":"#3C3E42",lineHeight:"1.3",fontFamily:r,letterSpacing:0},children:t})]})]}),c("div",{style:{textAlign:"right",minWidth:0},children:m?c("span",{style:{fontSize:"18px",color:i,fontFamily:r},children:"Quoting..."}):h?c("span",{style:{fontSize:"13px",color:p?"#f87171":"#dc2626",fontFamily:r},children:"Quote failed"}):f?c(Zn,{value:f,title:f,fontFamily:r,color:a,lineHeight:"0.95",textAlign:"right",maxFontSize:32,minFontSize:18}):c("span",{style:{fontSize:"20px",color:i,fontFamily:r},children:"\u2014"})})]}):c(hm,{destinationSymbol:t,destinationLogoURI:n,destinationDecimals:s,primaryColor:o,fontFamily:r,textPrimary:a,textSecondary:i,cardBg:d,cardBorder:l,dk:u,dark:p,paymentAmount:y||"0",needsSwap:g,exactOutputSwap:w,isQuoting:m,adjustable:x,maxAmount:B,onAmountChange:k}),Bl=tn(fm),Tl=({symbol:e,logoURI:t,primaryColor:n,size:s})=>t?c("img",{src:t,alt:e,style:{width:s,height:s,borderRadius:"50%",objectFit:"cover"}}):c("div",{style:{width:s,height:s,borderRadius:"50%",backgroundColor:`${n}22`,display:"flex",alignItems:"center",justifyContent:"center",fontSize:s<30?"11px":"12px",fontWeight:700,color:n},children:e.slice(0,2)}),hm=({destinationSymbol:e,destinationLogoURI:t,destinationDecimals:n,primaryColor:s,fontFamily:o,textPrimary:r,textSecondary:a,cardBg:i,cardBorder:d,dk:l,dark:u,paymentAmount:p,needsSwap:m,exactOutputSwap:h,isQuoting:f,adjustable:y,maxAmount:g,onAmountChange:w})=>{const x=Ee.mono,B=parseFloat(p||"0"),k=g?parseFloat(g):0,[C,T]=R(p||""),A=X(null),[v,S]=R(null),[F,I]=R(null);G(()=>{y||T(p||"")},[p,y]);const D=W=>{let U=W;U.startsWith(".")&&(U="0"+U);const _=fs(U);let P=_;g&&parseFloat(_)>parseFloat(g)&&(P=g),T(P),A.current&&clearTimeout(A.current),A.current=setTimeout(()=>w?.(P),300)},E=W=>{if(!k)return;if(W===100){T(g||k.toString()),A.current&&clearTimeout(A.current),w?.(g||k.toString());return}const U=10**n,_=Math.floor(k*W/100*U)/U,P=hs(_,n);T(P),A.current&&clearTimeout(A.current),w?.(P)},L=k>0?parseFloat(C||"0")/k*100:0;return G(()=>()=>{A.current&&clearTimeout(A.current)},[]),b("div",{style:{backgroundColor:i,border:`1px solid ${d}`,borderRadius:u?"12px":"6px",padding:"16px",marginBottom:"16px"},children:[b("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[c(Tl,{symbol:e,logoURI:t,primaryColor:s,size:32}),b("div",{children:[c("span",{style:{fontSize:"14px",fontWeight:600,color:r,fontFamily:o},children:"Payment"}),c("div",{style:{fontSize:"12px",color:a,fontFamily:o,marginTop:"2px"},children:e})]})]}),b("div",{style:{textAlign:"right"},children:[y?c(Zn,{element:"input",ariaLabel:`${e} amount`,dataSpiceflowFocus:!0,value:C,onChange:W=>D(W.target.value),placeholder:"0.0",fontFamily:x,color:r,lineHeight:1.1,textAlign:"right",maxFontSize:20,minFontSize:12,style:{width:"120px"}}):c(Zn,{element:"div",value:B>0?p:"0.00",title:B>0?p:"0.00",fontFamily:x,color:r,lineHeight:1.1,textAlign:"right",maxFontSize:20,minFontSize:12}),c("div",{style:{fontSize:"12px",color:a,fontFamily:x,marginTop:"2px"},children:e}),y&&k>0&&c("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"10px",marginTop:"6px"},children:[0,25,50,75,100].map((W,U)=>{const _=Math.abs(L-W)<1,P=U===4,N=v===W,O=F===W;return c("button",{onClick:()=>E(W),onMouseEnter:()=>S(W),onMouseLeave:()=>{S(null),I(null)},onMouseDown:()=>I(W),onMouseUp:()=>I(null),title:`${W}%`,style:{width:"14px",height:"14px",padding:0,border:"none",backgroundColor:"transparent",cursor:"pointer",opacity:_?1:N?.8:.5,transform:O?"scale(0.85)":N?"scale(1.15)":"scale(1)",transition:rn.interactive},children:c(qo,{pct:W,isMax:P,primaryColor:s,dark:u,fillColor:u?l?.textSecondary||"#9ca3af":"#3C3E42"})},W)})})]})]}),m&&h&&!f&&c("div",{style:{marginTop:"12px",paddingTop:"12px",borderTop:u?`1px solid ${l?.cardBorder||d}`:"1px solid #e5e7eb",display:"flex",justifyContent:"flex-end"},children:b("span",{style:{fontSize:"11px",color:a,fontFamily:o,opacity:.7},children:["via ",h.venue]})})]})},Dl={idle:"","signing-delegation":"Signing delegation...","signing-intent":"Signing intent...",submitting:"Submitting transaction...",executing:"Executing on-chain...",success:"Deposit confirmed",error:"Transaction failed"},Rl=["signing-delegation","signing-intent","submitting","executing"],gm=({step:e,statusMsg:t,txHash:n,explorerUrl:s,currentStepIdx:o,palette:r,cardBg:a,cardBorder:i,textPrimary:d,textSecondary:l,fontFamily:u,primaryColor:p,onRetry:m})=>b("div",{style:{padding:"10px 14px",borderRadius:"7px",marginBottom:"16px",backgroundColor:e==="success"?a:e==="error"?r.errorBg:a,border:`1px solid ${e==="success"?i:e==="error"?r.errorBorder:i}`},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[e==="success"?c("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",style:{flexShrink:0},children:c("path",{d:"M5 13l4 4L19 7",stroke:r.successText,strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}):e==="error"?c("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",style:{flexShrink:0},children:c("path",{d:"M18 6L6 18M6 6l12 12",stroke:r.errorText,strokeWidth:"2.5",strokeLinecap:"round"})}):c(Sn,{size:14,color:p}),c("span",{style:{fontSize:"13px",fontWeight:500,color:e==="success"?d:e==="error"?r.errorText:d,fontFamily:u,flex:1},children:e==="success"?"Deposit confirmed":e==="error"?t||"Transaction failed":Dl[e]||t}),e==="success"&&n&&c("a",{href:`${s}/tx/${n}`,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"12px",color:p,fontFamily:u,textDecoration:"none",whiteSpace:"nowrap",flexShrink:0},children:"View tx \u2192"}),e==="error"&&c("button",{onClick:m,style:{background:"none",border:"none",fontSize:"12px",color:p,fontFamily:u,cursor:"pointer",padding:0,whiteSpace:"nowrap",flexShrink:0},children:"Retry \u2192"})]}),o>=0&&e!=="success"&&e!=="error"&&c("div",{style:{marginTop:"8px",height:"3px",borderRadius:"2px",backgroundColor:`${l}22`,overflow:"hidden"},children:c("div",{style:{height:"100%",width:"100%",borderRadius:"2px",backgroundColor:p,transformOrigin:"left center",transform:`scaleX(${(o+1)/Rl.length})`,transition:"transform 400ms ease"}})})]}),ym=()=>{},xm=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,destinationToken:s,sourceChains:o,supportedSourceAssets:r,buildActionCalls:a,feeExecutionMode:i="user-transfer",buildSpicenetBatch:d,onPayExecute:l,resolveExactOutputSwap:u,actionLabel:p,amountDirection:m="input",swapDescription:h,directDescription:f,paymentAmount:y,amountInputMode:g="fixed",minPaymentAmount:w,maxPaymentAmount:x,onAmountChange:B,styles:k,dark:C,title:T,subtitle:A,onAddFunds:v,onSuccess:S,onError:F})=>{const I=m==="output",D=m==="input-inclusive",E=I?"output":"input",{theme:L,dark:W,primaryColor:U,dk:_,palette:P,fontFamily:N,monoFont:O,inputDark:j,cardBg:q,cardBorder:H,textPrimary:V,textSecondary:M,subtitleText:oe}=It(k,C),Ce=J(()=>j?{...L,colors:{...L.colors,secondary:_.cardBg,surfaceHover:_.hoverBg,border:"#2d2d2d",borderHover:"#3a3a3a"}}:L,[j,L,_.cardBg,_.hoverBg]),Q=J(()=>s.logoURI?s:{...s,logoURI:Yo[s.symbol]},[s]),$=Q.chainId,ie=Yt(zt),fe=(ie?.mode||"7702")!=="7702",de=!!ie?.isWhitelistGateActive,Ve=!!ie?.isWhitelistConfigured&&ie?.isUserWhitelisted!==!0,z=J(()=>o??ie?.supportedChainIds??[],[o,ie?.supportedChainIds]),le=J(()=>{if(de)return[];if(r)return r;const be=ie?.allowedTokens;if(!be||be.length===0)return;const Kt=new Set(be.map(Cn=>Cn.toLowerCase())),Vs=[],$n=new Set;for(const Cn of z){const Fo=Ue(Cn);for(const Bo of Fo?.supportedTokens??[]){if(!Kt.has(Bo.symbol.toLowerCase()))continue;const Zr=Bo.address.toLowerCase();$n.has(Zr)||($n.add(Zr),Vs.push(Bo.address))}}return Vs},[r,ie?.allowedTokens,z,de]),{address:te,isConnected:me,isReady:ve,isAuthenticated:K,provider:ae}=En(),{execute:Z,estimate:ye}=ls(),{externalWallet:Qe,embeddedAddress:xe,activeWallet:gt,activeAddress:dt}=ns(),tt=ie?.externalWalletAddress,ut=ie?.embeddedWalletAddress||xe,{displayAssets:_e,filteredSpiceAssets:vt,embeddedWalletAddress:yt,refreshSpiceAssets:Te,refreshWalletAssets:Ke}=yi({destinationToken:Q,supportedSourceAssets:le,sourceChains:z,enabled:e&&(fe?!!tt:!!ut)}),pt=J(()=>de?_e:fe?_e.filter(be=>Uu(be,Q,le)):I?_e:_e.filter(be=>Ou(be,$,le)),[_e,de,I,fe,Q,$,le]),[se,at]=R(null),[At,mt]=R(y||""),[nt,Mt]=R(!1),[Re,Me]=R(null),he=X(F);he.current=F;const Ne=ne(be=>{Me(be),typeof be=="string"&&be&&he.current?.(new Error(be),gs(be))},[]),[He,xt]=R("idle"),[Ut,Ae]=R(""),[Je,Xt]=R(null),[yn,We]=R(!1),[ce,et]=R(null),[Ie,St]=R(null),[Gt,Bt]=R(!1),[Be,qe]=R(!1),[it,Ye]=R(null),bt=X(se),Pt=X(!1),ze=X(null),Et=X(null),Vt=X(null),Lt=X(null),Ft=X(null);G(()=>{bt.current=se},[se]);const wt=g==="adjustable"?At:y||"0",sn=yt||xe||te,Qt=vo({direction:E,selectedAsset:se,destinationToken:Q,chainId:$,recipient:sn,paymentAmount:wt,resolveExactOutputSwap:u}),cn=J(()=>{if(!D||!se||!Ie||Ie.netAmount<=0n)return null;const be=ln(Ie.netAmount,Ie.decimals,se.asset.decimals);return{...se,amount:Ge(be,se.asset.decimals)}},[D,se,Ie]),xn=vo({direction:E,selectedAsset:cn,destinationToken:Q,chainId:$,recipient:sn,paymentAmount:wt,resolveExactOutputSwap:u}),ue=D?xn:Qt,ee=D?Qt:ue,{isQuoting:Se,quoteError:Pe,estimatedOutput:Tt,resolvedSwap:st,exactOutputSwap:ke,quoteAmountOut:Dt,resolvedTokenIn:lt,isDirect:jt,needsSwap:ot,selectedIsEquivalent:_t}=ue,Rt=I?parseFloat(wt||"0"):parseFloat(se?.amount||"")||0,dn=se?.asset?._source==="wallet",un=!!se?.asset&&dn&&se.asset.chainId!==$,re=J(()=>se?.asset?vt.find(be=>Fe(be.address,se.asset.address))?.balanceFormatted??0:0,[se,vt]),Oe=dn?se?.asset.balanceFormatted??0:re,Ct=J(()=>{if(!se?.asset)return!1;if(I)return Ie?ln(Ie.grossAmount,Ie.decimals,se.asset.decimals)>se.asset.balance:_t||jt?Rt>se.asset.balanceFormatted:ke?parseFloat(Ge(ke.amountInMax,se.asset.decimals))>se.asset.balanceFormatted:!1;if(Ie){const be=ln(Ie.grossAmount,Ie.decimals,se.asset.decimals);return dn?be>se.asset.balance:parseFloat(Ge(be,se.asset.decimals))>Oe}return Rt>Oe},[se,I,Ie,_t,Rt,ke,Oe,dn,jt]);G(()=>{e||(at(null),Ne(null),Mt(!1),xt("idle"),Ae(""),Xt(null),We(!1),et(null),St(null),Bt(!1),qe(!1),Ye(null),Pt.current=!1,g==="adjustable"&&mt(y||""),ze.current&&(ze.current.abort(),ze.current=null))},[e]);const Wt=ne(be=>{at(Kt=>({asset:be,amount:Kt?.asset?.address===be.address&&Kt?.asset?.chainId===be.chainId&&Kt.amount||""})),Ne(null),Ye(null),qe(!1)},[]),Nt=ne(be=>{at(Kt=>Kt&&{...Kt,amount:be}),Ne(null),Ye(null),qe(!1)},[]),pn=ne(be=>{let Kt=be;x&&parseFloat(Kt)>parseFloat(x)&&(Kt=x),mt(Kt),B?.(Kt),Ne(null),Ye(null),qe(!1)},[x,B]),An=ne(be=>{xt({building:"signing-delegation","signing-delegation":"signing-delegation","signing-intent":"signing-intent",submitting:"submitting",executing:"executing",success:"success",error:"error"}[be.step]||"executing"),Ae(be.message),be.txHash&&Xt(be.txHash)},[]),qt=J(()=>({currentPaymentAmount:wt,destinationToken:Q,embeddedWalletAddress:yt,providerEmbeddedAddress:xe,externalWalletAddress:tt,address:te,isNon7702:fe,isPayMode:I,resolvedChainId:$,buildActionCalls:a,feeExecutionMode:i,buildSpicenetBatch:d,selectedAsset:se,needsSwap:ot,resolvedSwap:st,exactOutputSwap:ke,quoteAmountOut:Dt,resolvedTokenIn:lt,resolveInputSwap:async be=>{if(!lt||!sn)throw new Error("Swap route is not ready.");return Ji({chainId:$,recipient:sn,tokenIn:lt,tokenOut:Q.address,amountIn:be,liquidityVenues:ie?.liquidityVenues})}}),[wt,Q,yt,xe,tt,te,fe,I,$,a,i,d,se,ot,st,ke,Dt,lt,sn,ie?.liquidityVenues]),bn=ne(be=>hl({...qt,requestTimestampMs:Et.current??Date.now()},be),[qt]),Gn=ne(be=>Pr({...qt,requestTimestampMs:Et.current??Date.now()},be),[qt]),ps=J(()=>D?{...qt,needsSwap:Qt.needsSwap,resolvedSwap:Qt.resolvedSwap,exactOutputSwap:Qt.exactOutputSwap,quoteAmountOut:Qt.quoteAmountOut,resolvedTokenIn:Qt.resolvedTokenIn}:qt,[D,qt,Qt]),Us=ne(be=>Pr({...ps,requestTimestampMs:Et.current??Date.now()},be),[ps]),Qn=J(()=>se?.asset?ot&&lt?lt:se.asset.chainId===$?se.asset.address:lt??gn(se.asset,$)??Q.address:Q.address,[se,Q.address,ot,$,lt]),Ps=ne(()=>(Et.current=Date.now(),Sl(Ft.current)),[]),wn=J(()=>se?.asset?Fe(se.asset.address,Q.address)&&se.asset.chainId===Q.chainId:!1,[se,Q.address,Q.chainId]),Jn=wn&&(fe||I),on=Jn&&Rt>0&&!!se?.asset,Y=Ve&&!Jn,ge=J(()=>{if(!on)return null;let be;try{be=$e(wt||"0",Q.decimals)}catch{return null}return{symbol:Q.symbol,decimals:Q.decimals,grossAmount:be,netAmount:be,totalFee:0n,gasFee:0n,spicenetFee:0n,bridgeFee:0n,gasQuoteSource:"static_zero"}},[on,wt,Q.symbol,Q.decimals]),De=Re,we=D&&!!Ie&&Ie.netAmount===0n,rt=J(()=>!(!se?.asset||Rt<=0),[se,Rt,on]),Ze=J(()=>!e||nt||He!=="idle"||!rt||on||!se?.asset?null:[I?"pay":"supply",m,se.asset.address.toLowerCase(),se.asset.chainId,se.amount,wt,Q.address.toLowerCase(),Q.chainId,$,ee.resolvedTokenIn?.toLowerCase()??"",ee.needsSwap?"swap":"direct",ee.isDirect?"direct-token":"routed-token",fe?"non7702":"7702",wn?"source-dest":"cross-chain",ee.isQuoting?"quoting":"quoted",ee.exactOutputSwap?.amountIn?.toString()??"",ee.exactOutputSwap?.amountInMax?.toString()??"",ee.exactOutputSwap?.venue??"",ee.resolvedSwap?.amountOut?.toString()??"",ee.quoteAmountOut?.toString()??"",yt??"",xe??"",te??""].join("|"),[e,nt,He,rt,on,se,I,m,wt,Q,$,ee,fe,wn,yt,xe,te]),mn=ne(be=>xl({signal:be,selectedAsset:se,isPayMode:I,isFeeInclusiveInput:D,parsedAmount:Rt,needsSwap:ee.needsSwap,exactOutputSwap:ee.exactOutputSwap,isNon7702:fe,isSourceDestToken:wn,currentPaymentAmount:wt,destinationToken:Q,feeExecutionMode:i,resolvedTokenIn:ee.resolvedTokenIn,embeddedWalletAddress:yt,providerEmbeddedAddress:xe,resolvedChainId:$,isConnected:me,address:te,ready:ve,authenticated:K,isDirect:ee.isDirect,resolvedSwap:ee.resolvedSwap,isQuoting:ee.isQuoting,executionTokenAddress:Qn,buildPayChainBatches:bn,buildSupplyChainBatches:Us,estimate:ye}),[se,I,D,Rt,ee,fe,wn,wt,Q,i,yt,xe,bn,ye,$,me,te,ve,K,Us,Qn]);G(()=>{Vt.current=mn},[mn]);const Ls=ne(be=>yl({asset:be,isPayMode:I,isNon7702:fe,needsSwap:ot,isQuoting:Se,embeddedWalletAddress:yt,buildSupplyChainBatches:Gn,estimate:ye,executionTokenAddress:Qn,feeExecutionMode:i}),[I,fe,ot,Se,yt,Gn,ye,Qn,i]);_s({shouldRun:e&&!nt&&He==="idle"&&rt&&!on&&!ee.isQuoting&&!!Ze,deps:[e,nt,He,rt,on,ge,ee.isQuoting,Ze],onSkip:()=>{if(!e){Bt(!1),qe(!1),Ye(null),St(null);return}if(nt||He!=="idle"){Bt(!1);return}if(!rt){St(null),Bt(!1),qe(!1),Ye(null);return}if(on){St(ge),Bt(!1),qe(!0),Ye(null);return}ee.isQuoting&&(Bt(!1),qe(!1))},onCleanup:()=>Bt(!1),delayMs:500,backgroundIntervalMs:5e3,run:async({isBackground:be,isCurrent:Kt,signal:Vs})=>{const $n=Ze;be||(Ye(null),Bt(!0));try{const Cn=await Vt.current?.(Vs);if(!Kt())return;Cn&&$n?(Lt.current={key:$n,quote:Cn},St(Cn.preview),qe(!0)):(Lt.current=null,St(null),qe(!1)),Ye(null)}catch(Cn){if(!Kt())return;if(be&&Lt.current?.key===$n){console.warn("[SpiceSupply] fee refresh failed:",Cn);return}const Fo=fn(Cn,"Unable to calculate fees for this action.");Lt.current=null,St(null),qe(!1),Ye(Fo)}finally{Kt()&&Bt(!1)}}});const ms=ne(()=>(Et.current=Date.now(),Fl(Ft.current)),[]);G(()=>{!I&&He==="success"&&Je&&(Te(),S?.(Je))},[I,He,Je,Te,S]),G(()=>{if(!I||ce?.status!=="success"||Pt.current||!te)return;Pt.current=!0;const be=bt.current;!be?.asset||be.asset?._source==="wallet"||Te()},[I,ce?.status,te,Te]);const zs=X(S),Hs=X(F);G(()=>{zs.current=S},[S]),G(()=>{Hs.current=F},[F]),G(()=>{e&&(Te(),Ke())},[e,Te,Ke]),G(()=>{I&&(ce?.status==="success"&&zs.current?.(ce.txHash||""),ce?.status==="failed"&&Hs.current?.(new Error("Payment execution failed")))},[I,ce?.status]);const Hr=ne(()=>{We(!1),et(null),at(null),Pt.current=!1,Te(),Ke()},[Te,Ke]);Ft.current={selectedAsset:se,parsedAmount:Rt,currentPaymentAmount:wt,isInsufficientBalance:Ct,isPayMode:I,isFeeInclusiveInput:D,isNon7702:fe,isSourceDestToken:wn,needsSwap:ot,exactOutputSwap:ke,selectedIsEquivalent:_t,resolvedTokenIn:lt,embeddedWalletAddress:yt,providerEmbeddedAddress:xe,externalWallet:Qe,externalWalletAddress:tt,activeSignerWallet:gt,activeSignerAddress:dt,address:te,isConnected:me,ready:ve,authenticated:K,provider:ae,resolvedChainId:$,executionTokenAddress:Qn,destinationToken:Q,buildActionCalls:a,feeExecutionMode:i,buildSpicenetBatch:d,onPayExecute:l,onSuccess:S,feeQuote:Ze&&Lt.current?.key===Ze?Lt.current.quote:null,execution:{estimate:ye,execute:Z,buildPayChainBatches:bn,buildSupplyChainBatches:Gn,onProgress:An},ui:{setError:Ne,setStep:xt,setStatusMsg:Ae,setTxHash:Xt,setIsExecuting:Mt,setShowStatusPanel:We,setPaymentResult:et},refs:{spiceDepositSubmittedRef:Pt,abortControllerRef:ze}};const jr=y?.trim(),js=I&&g==="fixed"&&jr!==void 0&&jr!==""&&Rt===0,Vr=I?(js||!!se?.asset)&&Rt>=0&&!Ct&&!nt&&(js||on||Be)&&!it&&(js||!ot||!!ke)&&!Y:!!se?.asset&&Rt>0&&!Ct&&!nt&&(Jn||Be)&&!it&&!we&&(un||jt||!!st&&!Se)&&!Y,Wl=jt?f||`Your ${Q.symbol} will be used directly.`:h||"Your assets will be swapped and used in a single atomic transaction.",Ml=($?Ue($):void 0)?.viemChain?.blockExplorers?.default?.url??"",Nl=Rl.indexOf(He),Ol=nt?(Dl[He]||"EXECUTING...").toUpperCase():He==="success"?"DONE":Ct?"INSUFFICIENT BALANCE":ot&&Pe&&!Se?"QUOTE ERROR":p.toUpperCase(),Ul=J(()=>{if(ce?.status==="success")return"DONE";if(nt)return"PAYING...";if(Ct&&se?.asset)return`INSUFFICIENT ${se.asset.symbol}`;if(ot&&Pe&&!Se)return"QUOTE ERROR";if(p)return p.toUpperCase();const be=Rt>0?` ${wt} ${Q.symbol}`:"";return ot?`SWAP & PAY${be}`:`PAY${be}`},[nt,Ct,se,p,Rt,wt,Q.symbol,ot,Pe,Se,ce?.status]),Pl=He==="success"?()=>{xt("idle"),at(null),Xt(null),Te()}:Ps,Ll=He==="success"?!1:!Vr;if(!e)return null;const Qr=I?T||`Pay ${Q.symbol}`:p,qr=I?A:b("div",{style:{display:"flex",alignItems:"flex-start",gap:"3px"},children:[c("span",{style:{marginTop:"3px",flexShrink:0},children:c(ur,{color:oe})}),c("p",{style:{fontSize:"12px",color:oe,margin:0,lineHeight:"1.4",fontFamily:N},children:Wl})]}),Kr={...k,button:{...k?.button,backgroundColor:U}},Yr=rt&&c(mr,{fontFamily:N,textPrimary:V,textSecondary:M,cardBg:q,cardBorder:H,resolvedDark:W,darkCardBorder:_.cardBorder,primaryColor:U,feePreview:Ie,isLoading:Gt,errorText:it,directExecutionFeeNote:on});if(I){const be=ce&&(ce.status==="success"||ce.status==="failed")?[{asset:{symbol:se?.asset?.symbol||Q.symbol,address:se?.asset?.address||""},amount:wt,txHash:ce.txHash||"",success:ce.status==="success",error:ce.status==="failed"?ce.error:void 0}]:void 0;return c(hn,{isOpen:e,onClose:t,title:Qr,subtitle:qr,styles:k,dark:W,footerLinkText:"Spicenet accounts \u2192",closeOnBackdropClick:n,children:b("div",{style:{padding:"16px 24px 8px 24px",position:"relative"},children:[v&&c("div",{style:{display:"flex",justifyContent:"flex-end",marginBottom:"6px"},children:c(fr,{onClick:v,color:U,fontFamily:N})}),!js&&c("div",{style:{marginBottom:"12px"},children:c(vs,{assets:pt,selectedAsset:se??void 0,onAssetSelect:Wt,onAmountChange:ym,label:"Pay with",showBalance:!0,showMaxButton:!1,hideAmountInput:!0,displayAmount:se?.asset?ot?Se?"...":ke?`~${parseFloat(Ge(ke.amountIn,se.asset.decimals)).toFixed(6)}`:void 0:wt??void 0:void 0,dark:W,theme:Ce,styles:k})}),c(Bl,{variant:"pay",destinationSymbol:Q.symbol,destinationLogoURI:Q.logoURI,destinationDecimals:Q.decimals,primaryColor:U,fontFamily:N,textPrimary:V,textSecondary:M,cardBg:q,cardBorder:H,dk:_,dark:W,isQuoting:Se,quoteError:Pe,estimatedOutput:Tt,paymentAmount:wt,needsSwap:ot,exactOutputSwap:ke,adjustable:g==="adjustable",maxAmount:x,onAmountChange:pn}),Yr,De&&c(Rn,{variant:"error",palette:P,fontFamily:N,style:{marginBottom:"12px"},children:De}),c(Ot,{variant:"outline",fullWidth:!0,onClick:ce?.status==="success"?t:ms,disabled:ce?.status==="success"?!1:!Vr,loading:nt,dark:W,styles:Kr,children:Ul}),ce&&yn&&c("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:10,backgroundColor:W?_.shell:"white",borderRadius:W?"12px":"6px",padding:"16px 0"},children:c(wr,{type:"payment",isOpen:ce.status!=="processing",isProcessing:nt||ce.status==="processing",closeOnComplete:!1,chainId:$,onRetryTx:()=>{We(!1),et(null),ms()},onNewTx:Hr,onClose:()=>{We(!1),et(null)},onComplete:Hr,results:be,styles:k,dark:W})})]})})}return c(hn,{isOpen:e,onClose:t,title:Qr,subtitle:qr,dark:W,styles:k,theme:L,closeOnBackdropClick:n,children:b("div",{style:{padding:"24px 24px 5px 24px",position:"relative"},children:[c("div",{style:{marginBottom:"16px"},children:c(vs,{assets:pt,selectedAsset:se||void 0,onAssetSelect:Wt,onAmountChange:Nt,disabled:nt||He==="success",showBalance:!0,showMaxButton:!0,label:"From Wallet",placeholder:"0.00",theme:Ce,styles:k,dark:j,resolveMaxAmount:D?void 0:Ls,maxAmount:se?.asset?Ge(se.asset.balance,se.asset.decimals):void 0})}),se?.asset&&!jt&&c(Bl,{variant:"supply",destinationSymbol:Q.symbol,destinationLogoURI:Q.logoURI,destinationDecimals:Q.decimals,primaryColor:U,fontFamily:N,textPrimary:V,textSecondary:M,cardBg:q,cardBorder:H,dark:W,isQuoting:Se,quoteError:Pe,estimatedOutput:Tt}),Yr,He!=="idle"&&c(gm,{step:He,statusMsg:Ut,txHash:Je,explorerUrl:Ml,currentStepIdx:Nl,palette:P,cardBg:q,cardBorder:H,textPrimary:V,textSecondary:M,fontFamily:N,primaryColor:U,onRetry:()=>{xt("idle"),Ne(null),setTimeout(Ps,50)}}),Re&&He==="idle"&&c(Rn,{variant:"error",palette:P,fontFamily:N,style:{marginBottom:"16px"},children:Re}),c(Ot,{variant:"outline",fullWidth:!0,disabled:Ll,onClick:Pl,theme:L,dark:W,styles:Kr,style:{fontSize:"20px",fontWeight:600,letterSpacing:"1.5px",fontFamily:O},children:Ol})]})})},bm=()=>{const[e,t]=R("0"),[n,s]=R(null);return{assetAmount:e,setAssetAmount:t,selectedAsset:n,setSelectedAsset:s}};function wm(e,t=0){const[n,s]=R(t),o=e[n]??e[0],r=J(()=>o?BigInt(Math.round(o.months*30*24*3600)):0n,[o?.months]);return{selectedDurationIdx:n,setSelectedDurationIdx:s,selectedDuration:o,durationSeconds:r}}function Cm(){const{actions:e,isReady:t,isAuthenticated:n}=En(),s=Yt(zt)?.embeddedWalletAddress,o=X(!1),r=X(0),a=X(null),i=X(e),[d,l]=R(0);i.current=e,G(()=>{o.current=!1,r.current=0,a.current&&(clearTimeout(a.current),a.current=null)},[s]),G(()=>{if(!s||!t||!n||o.current)return;o.current=!0;let u=!1;return(async()=>{await Bn(2e3);try{await Yl(s,i.current.signMessage),r.current=0}catch(p){console.warn("[SmartWallet] Registration failed:",p),o.current=!1,!u&&r.current<3&&(r.current+=1,a.current=setTimeout(()=>{l(m=>m+1)},5e3))}})(),()=>{u=!0,a.current&&(clearTimeout(a.current),a.current=null)}},[s,t,n,d])}fc();export{Er as AERODROME_BASE_CONFIG,am as AccountDisplay,fr as AddFundsLink,da as CheckIcon,Yn as ChevronIcon,Is as CloseIcon,Zi as DEFAULT_LIQUIDITY_VENUES,cs as DetailRow,Hm as NATIVE_TOKEN_ADDRESS,br as ProviderLogin,Sr as SATSUMA_CITREA_CONFIG,jm as SPICENET_NATIVE_CHAIN_ID,Vm as SPICE_COMBINED_FEE_RECIPIENT,Qm as SPICE_GAS_FEE_RECIPIENT,qm as SPICE_PLATFORM_FEE_RECIPIENT,Km as SPICE_SOLVER_ADDRESS,zo as SearchInput,cu as SelectChainModal,lu as SpiceDeposit,Mm as SpiceFlowProvider,zt as SpiceFlowProviderContext,Np as SpiceLock,xm as SpiceSupply,Nu as SpiceWithdraw,je as SpiceflowError,Sn as Spinner,Rn as StatusBanner,Fi as UNIV3_BASE_CONFIG,Bi as UNIV3_ROBINHOOD_CONFIG,Ti as UNIV3_ROBINHOOD_SUSHI_CONFIG,Ui as UNIV4_BASE_CONFIG,Pi as UNIV4_ROBINHOOD_CONFIG,In as V4_NATIVE_CURRENCY,Ym as applySlippage,As as areEquivalentOnChains,Nm as buildDarkPalette,Om as buildLightPalette,ko as buildLiquidityVenues,hl as buildPayChainBatches,Ru as buildRoutedBatches,Pr as buildSupplyChainBatches,Zm as buildUniV3SwapCalls,Wi as createAerodromeExactOutputVenue,Fr as createAerodromeVenue,Xi as createExactOutputRegistry,Mi as createLiquidityRegistry,Br as createSatsumaExactOutputVenue,Ws as createSatsumaVenue,Br as createUniV3ExactOutputVenue,Ws as createUniV3Venue,Yi as createUniV4ExactOutputVenue,Ki as createUniV4Venue,Do as duration,es as easing,Ii as encodeUniV3ExactOutputCall,xl as estimateFeePreview,lm as estimateRequiredGrossFunding,yl as estimateSupplyMaxAmount,Fl as executePay,Sl as executeSupply,Mn as findEquivalentOnChain,Ee as font,to as getAssetChainTokenCandidates,Si as getBestUniV3ExactOutputQuote,Ai as getBestUniV3Quote,Ue as getChainConfig,Xm as getChainIdsByNetwork,Jt as getChainName,Gm as getEscrowContractAddress,Jm as isNativeToken,Um as isSpiceflowError,$m as isSpicenetChainId,go as isSupportedSupplyAsset,_m as normalizeNativeTokenAddress,To as radius,Ht as relayerService,gn as resolveAssetTokenAddressOnChain,sr as resolveFundedToken,Ji as resolveInputSupplySwapQuote,Du as resolveRoute,Pm as resolveTheme,Vu as reverseUniV3Path,ln as scaleTokenAmount,ef as spicenetAbi,tf as spicenetWithdrawalAbi,rn as transition,bm as useAssetInput,Lm as useIsUserWhitelisted,wm as useLockDuration,Cm as useSmartWallet,Ts as useSpiceAssets,It as useSpiceBrand,ls as useSpiceExecution,rl as useSpicePendingDeposits,yi as useSupplyAssets,vo as useSupplyQuote,En as useWallet,qn as z};