@spicenet-io/spiceflow-ui 4.0.13-next.5 → 4.0.14

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.
Files changed (35) hide show
  1. package/dist/auth-privy.js +1 -1
  2. package/dist/components/AccountDisplay/types.d.ts +0 -3
  3. package/dist/components/SpiceLock/index.d.ts +0 -1
  4. package/dist/components/SpiceLock/lib/executors.d.ts +0 -1
  5. package/dist/components/SpiceSupply/lib/executors.d.ts +1 -1
  6. package/dist/components/SpiceWithdraw/lib/executors.d.ts +1 -1
  7. package/dist/components/SpiceWithdraw/lib/feePreview.d.ts +0 -1
  8. package/dist/components/SpiceWithdraw/lib/helpers.d.ts +0 -2
  9. package/dist/components/ui/index.d.ts +1 -1
  10. package/dist/hooks/index.d.ts +0 -2
  11. package/dist/hooks/useSupplyAssets.d.ts +2 -8
  12. package/dist/index.cjs.js +8 -8
  13. package/dist/index.d.ts +4 -6
  14. package/dist/index.js +12 -12
  15. package/dist/themes/default.d.ts +0 -1
  16. package/dist/types/assets.d.ts +0 -1
  17. package/dist/types/authorization.d.ts +0 -4
  18. package/dist/types/deposit.d.ts +2 -19
  19. package/dist/types/index.d.ts +1 -1
  20. package/dist/types/lock.d.ts +1 -1
  21. package/dist/types/ui.d.ts +0 -9
  22. package/dist/types/wallet.d.ts +0 -28
  23. package/dist/types/withdraw.d.ts +0 -2
  24. package/dist/utils/crossChainRouter/liquidityVenues.d.ts +0 -5
  25. package/dist/utils/logos.d.ts +0 -2
  26. package/dist/utils/pendingDeposit.d.ts +0 -1
  27. package/dist/utils/rollupBalances.d.ts +0 -1
  28. package/package.json +7 -5
  29. package/dist/components/SpiceDeposit/parts/ModalHeader.d.ts +0 -5
  30. package/dist/components/SpiceSupply/parts/SupplyEstimate.d.ts +0 -4
  31. package/dist/components/index.d.ts +0 -5
  32. package/dist/hooks/useSpiceAction.d.ts +0 -49
  33. package/dist/types/configs.d.ts +0 -2
  34. package/dist/utils/crossChainRouter/algebra.d.ts +0 -146
  35. /package/dist/{privy-D2mpwstS.js → privy-Ds5DCgFX.js} +0 -0
package/dist/index.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- "use strict";var da=Object.create;var ko=Object.defineProperty;var ua=Object.getOwnPropertyDescriptor;var pa=Object.getOwnPropertyNames;var fa=Object.getPrototypeOf,ma=Object.prototype.hasOwnProperty;var ha=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of pa(t))!ma.call(e,r)&&r!==n&&ko(e,r,{get:()=>t[r],enumerable:!(s=ua(t,r))||s.enumerable});return e};var ga=(e,t,n)=>(n=e!=null?da(fa(e)):{},ha(t||!e||!e.__esModule?ko(n,"default",{value:e,enumerable:!0}):n,e));const o=require("react/jsx-runtime"),i=require("react"),As=require("lucide-react"),m=require("./privy-BdHp5Owr.js"),Xt=require("wagmi"),T=require("@spicenet-io/spiceflow-core"),E=require("viem"),an=require("viem/actions"),Es=require("@privy-io/react-auth"),zn=require("react-dom");require("@tanstack/react-query");var Bn=typeof document<"u"?document.currentScript:null;const xa="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@100;200;300;400;500;600;700&display=swap",ya="spiceflow-ibm-plex-mono",Ca="spiceflow-preconnect-googleapis",ba="spiceflow-preconnect-gstatic";function js(e,t){if(document.getElementById(e))return;const n=t();n.id=e,document.head.appendChild(n)}function wa(){typeof document>"u"||(js(Ca,()=>{const e=document.createElement("link");return e.rel="preconnect",e.href="https://fonts.googleapis.com",e}),js(ba,()=>{const e=document.createElement("link");return e.rel="preconnect",e.href="https://fonts.gstatic.com",e.crossOrigin="",e}),js(ya,()=>{const e=document.createElement("link");return e.rel="stylesheet",e.href=xa,e}))}const In={base:0,raised:1,sticky:10,overlay:20,popover:40,modal:1e3,dropdown:1100,toast:1200,tooltip:1300},Fs={none:"0",sm:"4px",md:"6px",card:"8px",input:"10px",shell:"9px",modal:"12px",pill:"9999px",circle:"50%"},Vt={out:"cubic-bezier(0.22, 1, 0.36, 1)",inOut:"cubic-bezier(0.65, 0, 0.35, 1)",linear:"linear"},en={fast:"120ms",normal:"150ms",slow:"300ms",progress:"400ms"},nn={interactive:`transform ${en.normal} ${Vt.out}, box-shadow ${en.normal} ${Vt.out}, background-color ${en.normal} ${Vt.out}, border-color ${en.normal} ${Vt.out}, color ${en.normal} ${Vt.out}`,color:`background-color ${en.normal} ${Vt.out}, border-color ${en.normal} ${Vt.out}, color ${en.normal} ${Vt.out}`,popover:`opacity ${en.normal} ${Vt.out}, transform ${en.normal} ${Vt.out}`},vo={ui:'"Helvetica Neue", sans-serif',mono:'"IBM Plex Mono", monospace'},Ts=({value:e,onChange:t,ariaLabel:n,placeholder:s,endAdornment:r,size:a="lg",dark:c,styles:d,inputRef:u,autoFocus:l})=>{const{dark:f,dk:p}=m.useSpiceBrand(d,c),g=c??f,x=a==="lg",h=x?"15px":"14px",y=x?"7px":"10px",C=x?Fs.input:Fs.sm,I=d?.fontFamily||vo.ui,k=g?p.inputBg:"#FAFAFA",M=g?p.inputBorder:"#e5e7eb",w=g?p.textPrimary:"#374151",b=g?p.textSecondary:"#9ca3af";return o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",backgroundColor:k,borderRadius:C,boxShadow:g?"0 2px 4px rgba(0, 0, 0, 0.3)":"0 2px 4px rgba(0, 0, 0, 0.1)",padding:`${y} 5px`,border:`1px solid ${M}`},children:[o.jsx(As.Search,{style:{color:b},size:24}),o.jsx("input",{ref:u,type:"text",role:"searchbox","aria-label":n,autoComplete:"off",spellCheck:!1,autoFocus:l,"data-spiceflow-focus":!0,placeholder:s,value:e,onChange:B=>t(B.target.value),style:{flex:1,backgroundColor:k,outline:"none",border:"none",color:w,fontSize:h,fontWeight:400,fontFamily:I}}),r]})},Bs=typeof process<"u"&&process.env?.NEXT_PUBLIC_MORALIS_API_KEY||typeof{url:typeof document>"u"?require("url").pathToFileURL(__filename).href:Bn&&Bn.tagName.toUpperCase()==="SCRIPT"&&Bn.src||new URL("index.cjs.js",document.baseURI).href}<"u"&&void 0||"",ka="https://deep-index.moralis.io/api/v2.2",va=async(e,t)=>{try{const n=m.getChainsForAssets(),s=m.getClientForChain(t),r=await an.getBalance(s,{address:e}),a=n[t],c=parseFloat((Number(r)/Math.pow(10,18)).toFixed(6)),d=m.getChainConfig(t),u=d?.supportedTokens?.find(l=>T.isNativeToken(l.address));return{address:T.ZERO_ADDRESS,name:a.chain.nativeCurrency.name,symbol:a.chain.nativeCurrency.symbol,decimals:a.chain.nativeCurrency.decimals,balance:r,balanceFormatted:c,balanceUsd:0,logoURI:u?.logo||d?.logo,isNative:!0,chainId:t}}catch{const n=m.getChainsForAssets(),s=m.getChainConfig(t),r=s?.supportedTokens?.find(a=>T.isNativeToken(a.address));return{address:T.ZERO_ADDRESS,name:n[t].chain.nativeCurrency.name,symbol:n[t].chain.nativeCurrency.symbol,decimals:18,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:r?.logo||s?.logo,isNative:!0,chainId:t}}},So=async(e,t,n,s,r,a)=>{try{if(!E.isAddress(n))return null;const c=E.getAddress(n),d=E.isAddress(e)?E.getAddress(e):e,u=m.getClientForChain(t),l=await an.readContract(u,{address:c,abi:E.erc20Abi,functionName:"balanceOf",args:[d]}),f=parseFloat((Number(l)/Math.pow(10,a)).toFixed(6));return f>0?{address:c,name:s,symbol:r,decimals:a,balance:l,balanceFormatted:f,balanceUsd:0,logoURI:void 0,isNative:!1,chainId:t}:null}catch(c){const d=typeof c?.message=="string"?c.message:String(c?.message??"");return d.includes("checksum")||d.includes("Address")||d.includes("invalid"),null}},Io=(e,t)=>{const n=m.getChainConfig(t);if(!n)return e;const s=new Set(e.map(a=>a.address.toLowerCase())),r=e.some(a=>a.isNative);for(const a of n.supportedTokens||[])T.isNativeToken(a.address)&&r||s.has(a.address.toLowerCase())||e.push({address:a.address,name:a.name,symbol:a.symbol,decimals:a.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:a.logo,isNative:T.isNativeToken(a.address),chainId:t});if(!e.find(a=>a.isNative)){const a=n.supportedTokens?.find(c=>T.isNativeToken(c.address));e.push({address:T.ZERO_ADDRESS,name:n.nativeCurrency.name,symbol:n.nativeCurrency.symbol,decimals:n.nativeCurrency.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:a?.logo||n.logo,isNative:!0,chainId:t})}return e},Sa=async(e,t)=>{const n=[],s=await va(e,t);s.balanceFormatted>0&&n.push(s);const r=(m.getChainConfig(t)?.supportedTokens||[]).filter(a=>!T.isNativeToken(a.address));if(r.length>0)try{const a=m.getClientForChain(t),c=E.getAddress(e),d=r.filter(p=>E.isAddress(p.address)).map(p=>({address:E.getAddress(p.address),abi:E.erc20Abi,functionName:"balanceOf",args:[c]})),u=await a.multicall({contracts:d}),l=r.filter(p=>E.isAddress(p.address)),f=[];u.forEach((p,g)=>{if(p.status==="success"){const x=p.result;if(x&&x>0n){const h=l[g],y=parseFloat((Number(x)/Math.pow(10,h.decimals)).toFixed(6));y>0&&n.push({address:E.getAddress(h.address),name:h.name,symbol:h.symbol,decimals:h.decimals,balance:x,balanceFormatted:y,balanceUsd:0,logoURI:h.logo,isNative:!1,chainId:t})}}else f.push(l[g])});for(const p of f){const g=await So(e,t,p.address,p.name,p.symbol,p.decimals);g&&(g.logoURI=p.logo,n.push(g))}}catch{for(const a of r){const c=await So(e,t,a.address,a.name,a.symbol,a.decimals);c&&(c.logoURI=a.logo,n.push(c))}}return{tokens:Io(n,t),chainId:t}},Ia=async(e,t)=>{const n=m.getChainsForAssets()[t];if(!n?.moralisName)throw new Error(`Moralis unsupported for chain ${t}`);if(!Bs)throw new Error("MORALIS_API_KEY is missing");const s=[],r=(await(await import("axios")).default.get(`${ka}/wallets/${e}/tokens`,{params:{chain:n.moralisName},headers:{"X-API-Key":Bs}})).data?.result||[];for(const a of r){const c=a.token_address,d=!!a.native_token||T.isNativeToken(c);if(!d&&!E.isAddress(c))continue;const u=parseInt(a.decimals||"18",10)||18,l=a.balance||"0",f=parseFloat(a.balance_formatted||(Number(l)/Math.pow(10,u)).toString());f<=0||s.push({address:d?T.ZERO_ADDRESS:E.getAddress(c),name:a.name||"Unknown",symbol:a.symbol||"UNKNOWN",decimals:u,balance:BigInt(l),balanceFormatted:f,balanceUsd:parseFloat(a.usd_value||"0"),logoURI:a.logo,isNative:d,chainId:t})}return{tokens:Io(s,t),chainId:t}},Ao=async(e,t)=>{try{if(m.getChainsForAssets()[t]?.moralisName&&Bs)try{return await Ia(e,t)}catch{}return await Sa(e,t)}catch{return{tokens:[],chainId:t}}},Rs=async(e,t)=>{if(!e)throw new Error("Wallet address is required");const n=m.getChainsForAssets(),s=t&&t.length>0?new Set(t):null,r=Object.keys(n).map(Number).filter(d=>!s||s.has(d)),a=await Promise.allSettled(r.map(d=>Ao(e,d))),c={};return a.forEach((d,u)=>{d.status==="fulfilled"&&(c[r[u]]=d.value)}),c},Ms=({address:e,supportedChains:t,fetchBalances:n,enabled:s=!0,refreshInterval:r=0})=>{const[a,c]=i.useState([]),[d,u]=i.useState(!1),[l,f]=i.useState(null),p=i.useRef(!0),g=i.useRef(e),x=i.useRef(t),h=i.useRef(n);i.useEffect(()=>{g.current=e,x.current=t,h.current=n},[e,t,n]);const y=i.useCallback(async()=>{const k=g.current,M=x.current;if(!k){c([]);return}p.current&&u(!0),f(null);try{const w=m.getChainsForAssets(),b=Object.keys(w).map(Number).filter(S=>M.includes(S)),B=(await Promise.allSettled(b.map(async S=>{try{const F=await Ao(k,S);return F.tokens.map(R=>({...R,chainId:F.chainId}))}catch(F){return console.error(`Error fetching assets for chain ${S}:`,F),[]}}))).filter(S=>S.status==="fulfilled").flatMap(S=>S.value);c(B)}catch(w){const b=w instanceof Error?w.message:"Failed to fetch assets";f(b)}finally{p.current&&(u(!1),p.current=!1)}},[]),C=i.useCallback(k=>a.filter(M=>M.chainId===k),[a]),I=i.useCallback(()=>a.filter(k=>k.isNative),[a]);return i.useEffect(()=>{if(!s){p.current=!0,c([]),u(!1),f(null);return}e?(p.current=!0,y()):c([])},[e,s,y]),i.useEffect(()=>{if(!s||!e||!r)return;const k=setInterval(()=>{y()},r);return()=>clearInterval(k)},[e,s,r]),{assets:a,loading:d,error:l,refreshAssets:y,getAssetsByChain:C,getNativeAssets:I}};function Aa(e,t=40,n=18){const s=e.length,r=[{maxLength:7,shrink:0},{maxLength:10,shrink:6},{maxLength:13,shrink:12},{maxLength:16,shrink:16},{maxLength:20,shrink:19}].find(a=>s<=a.maxLength);return Math.max(n,t-(r?.shrink??22))}const An=({value:e,element:t="span",placeholder:n,ariaLabel:s,ariaInvalid:r,disabled:a,onChange:c,inputMode:d="decimal",autoComplete:u="off",dataSpiceflowFocus:l,fontFamily:f,fontWeight:p=700,color:g,textAlign:x,lineHeight:h=1,maxFontSize:y=40,minFontSize:C=18,overflow:I="ellipsis",title:k,style:M})=>{const w=Aa(e||n||"",y,C),b=I==="wrap"?{overflowWrap:"anywhere",wordBreak:"break-word",whiteSpace:"normal"}:I==="ellipsis"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{},B={fontFamily:f,fontSize:`${w}px`,fontWeight:p,color:g,lineHeight:h,letterSpacing:0,textAlign:x,minWidth:0,maxWidth:"100%",...b,...M};return t==="input"?o.jsx("input",{type:"text",inputMode:d,autoComplete:u,"aria-label":s,"aria-invalid":r||void 0,"data-spiceflow-focus":l||void 0,value:e,onChange:c,placeholder:n,disabled:a,title:k,style:{backgroundColor:"transparent",border:"none",outline:"none",padding:0,width:"100%",...B}}):o.jsx(t,{title:k,style:B,children:e})};var Eo="data:image/png;base64,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",Ea="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=",ja="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=",Ns="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 Ln=T.getChainMeta(1)?.logo??"";T.getChainMeta(42161)?.logo;const Fa=T.TOKENS.find(e=>e.symbol==="USDC")?.logo??"";T.TOKENS.find(e=>e.symbol==="WBTC")?.logo;const wn=Object.fromEntries([...T.getMainnetChains(),...T.getTestnetChains()].map(e=>[e.id,e.logo])),Hn={metamask:Eo,metaMask:Eo,rabby:Ea,phantom:ja},Ta=Object.fromEntries(T.TOKENS.map(e=>[e.symbol,e.logo])),Ds=({symbol:e,logoURI:t,size:n=20,theme:s})=>{const{theme:r}=m.useSpiceBrand(),a=s||r,[c,d]=i.useState(!1),u={width:`${n}px`,height:`${n}px`,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${n*.4}px`,fontWeight:a.typography.fontWeight.bold,flexShrink:0,overflow:"hidden",backgroundColor:"#ffffff"},l=e.toUpperCase(),f=t||Ta[l];if(f&&!c)return o.jsx("img",{src:f,alt:e,loading:"lazy",decoding:"async",style:{...u,objectFit:"cover"},onError:()=>d(!0)});const p=Ba(e);return o.jsx("div",{style:{...u,...p.style},children:p.icon})},Ba=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((d,u)=>u.charCodeAt(0)+((d<<5)-d),0),r=Math.abs(s)%360,a=`hsl(${r}, 60%, 50%)`,c=r>180?"#FFFFFF":"#000000";return{style:{backgroundColor:a,color:c},icon:t.charAt(0)}},jo=({chainId:e,name:t,size:n=16})=>{const s=e&&(wn[e]||T.getChainMeta(e)?.logo)||"";return s?o.jsx("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 Ws(e){return e.displaySymbol||e.symbol}function Ra(e){return e.displayName||e.displaySymbol||e.name||e.symbol}function Ps(e){return e.displayChainName||m.getChainName(e.chainId)}const Ma=({selectedAsset:e,assets:t,onAssetSelect:n,showDropdown:s,onToggleDropdown:r,disabled:a=!1,theme:c,onViewAllAssets:d})=>{const{theme:u}=m.useSpiceBrand(),l=c||u,f=i.useRef(null),p=i.useRef(null),g=i.useRef(null),[x,h]=i.useState(null);i.useEffect(()=>{if(s&&p.current){const N=()=>{if(p.current){const j=p.current.getBoundingClientRect();h({top:j.bottom+6,right:window.innerWidth-j.right})}};return N(),window.addEventListener("scroll",N,!0),window.addEventListener("resize",N),()=>{window.removeEventListener("scroll",N,!0),window.removeEventListener("resize",N)}}else h(null)},[s]),i.useEffect(()=>{const N=j=>{f.current&&!f.current.contains(j.target)&&g.current&&!g.current.contains(j.target)&&s&&r()};return s&&document.addEventListener("mousedown",N),()=>{document.removeEventListener("mousedown",N)}},[s,r]);const[y,C]=i.useState(!1),I=l.mode==="light",k={backgroundColor:"transparent",border:`1px solid ${I?"#aaaaaa":l.colors.border}`,borderRadius:"6px",color:l.colors.text,cursor:a?"not-allowed":"pointer",padding:"8px 14px 8px 10px",width:"100%",display:"flex",flexDirection:"column",gap:"4px",opacity:a?.6:1,transition:nn.interactive,transform:y?"scale(0.98)":"scale(1)"},M={display:"flex",justifyContent:"space-between",alignItems:"center",gap:"10px",minWidth:0},w={display:"flex",alignItems:"center",gap:"4px",paddingTop:"4px",borderTop:`1px solid ${l.colors.border}`},b=()=>x?{position:"fixed",top:`${x.top}px`,right:`${x.right}px`,backgroundColor:l.colors.secondary,border:`1px solid ${l.colors.border}`,borderRadius:l.borderRadius.md,boxShadow:l.shadows.lg,zIndex:In.dropdown,width:"200px",maxHeight:"300px",overflow:"auto"}:{},B={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}},S={display:"flex",flexDirection:"column",alignItems:"flex-start",flex:1},F={fontSize:l.typography.fontSize.sm,fontWeight:l.typography.fontWeight.medium},R={fontSize:l.typography.fontSize.xs,color:l.colors.textMuted},v={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"},A={transition:`transform ${l.animation.normal}`,transform:s?"rotate(180deg)":"rotate(0deg)",flexShrink:0};return o.jsxs(o.Fragment,{children:[o.jsx("div",{style:{position:"relative"},ref:f,children:o.jsxs("div",{ref:p,style:k,onClick:a?void 0:r,onMouseLeave:()=>{C(!1)},onMouseDown:()=>C(!0),onMouseUp:()=>C(!1),children:[o.jsxs("div",{style:M,children:[o.jsx("div",{style:{display:"flex",alignItems:"center",gap:"8px",flex:1,minWidth:0},children:e?.asset?o.jsxs(o.Fragment,{children:[o.jsx(Ds,{symbol:e.asset.symbol,logoURI:e.asset.logoURI,theme:l,size:24}),o.jsx("span",{style:{fontSize:"15px",fontWeight:500,color:l.colors.text,lineHeight:"1.5",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:Ws(e.asset)})]}):o.jsx("span",{style:{fontSize:"14px",color:l.colors.textMuted},children:"Select"})}),o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:I?l.colors.textMuted:"#c7ccd4",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:A,children:o.jsx("path",{d:"M6 9l6 6 6-6"})})]}),e?.asset&&o.jsxs("div",{style:w,children:[!e.asset.displayChainName&&o.jsx(jo,{chainId:e.asset.chainId,theme:l}),o.jsx("span",{style:{fontSize:"11px",color:l.colors.textMuted},children:Ps(e.asset)})]})]})}),s&&x&&zn.createPortal(o.jsxs("div",{ref:g,style:b(),children:[t.length===0&&o.jsx("div",{style:{padding:"10px 12px",color:l.colors.textMuted,fontSize:l.typography.fontSize.xs},children:"No assets available"}),t.map(N=>o.jsxs("button",{style:B,onClick:()=>{n(N),r()},children:[o.jsx(Ds,{symbol:N.symbol,logoURI:N.logoURI,theme:l},`${N.address}-${N.chainId}`),o.jsxs("div",{style:S,children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:l.spacing.xs},children:[o.jsx("span",{style:F,children:Ws(N)}),!N.displayChainName&&o.jsx(jo,{chainId:N.chainId,theme:l})]}),o.jsxs("span",{style:R,children:[m.formatBalance(N.balanceFormatted)," \u2022"," ",Ps(N)]})]})]},N.receiptTokenId||`${N.address}-${N.chainId}-${N?._fundingWallet??""}-${N._wrapFromNative?"native":"token"}`)),d&&o.jsxs("button",{type:"button",style:v,onClick:()=>{r(),d()},children:[o.jsx("span",{children:"View all assets"}),o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("path",{d:"M5 12h14"}),o.jsx("path",{d:"M13 5l7 7-7 7"})]})]})]}),document.body)]})},Na=({assets:e,selectedAsset:t,onAssetSelect:n,onAmountChange:s,disabled:r=!1,loading:a=!1,label:c="Select Asset",showBalance:d=!0,showMaxButton:u=!0,placeholder:l="0.0",theme:f,styles:p,maxAmount:g,resolveMaxAmount:x,hideAmountInput:h=!1,displayAmount:y,dark:C,onViewAllAssets:I})=>{const{theme:k,primaryColor:M,dark:w,dk:b}=m.useSpiceBrand(p,C),B=f||k,S=C??w,[F,R]=i.useState(!1),[v,A]=i.useState(null),[N,j]=i.useState(null),[D,z]=i.useState(!1),[V,O]=i.useState(null),[P,W]=i.useState(t?.amount||""),Q=i.useRef(null),ae=i.useRef(""),K=i.useRef(x),G=t?.asset?t.asset.receiptTokenId||`${t.asset.chainId}-${t.asset.address}-${t.asset?._fundingWallet??""}-${t.asset._wrapFromNative?"native":"token"}`:"",ie=!!x,U=V??g;i.useEffect(()=>{K.current=x},[x]),i.useEffect(()=>{G!==ae.current&&(W(t?.amount||""),ae.current=G)},[G,t?.amount]),i.useEffect(()=>{let L=!1;O(null);const J=K.current;if(!t?.asset||!J)return z(!1),()=>{L=!0};const oe=t.asset;return z(!0),Promise.resolve(J(oe)).then(ye=>{L||O(ye===null?null:m.parseNumericInput(ye,oe.decimals))}).catch(ye=>{L||console.warn("[AssetSelector] Failed to resolve max amount:",ye)}).finally(()=>{L||z(!1)}),()=>{L=!0}},[G,ie,t?.asset?.balance,t?.asset?.decimals,t?.asset?.chainId,t?.asset?.address]);const X=L=>{let J=L;J.startsWith(".")&&(J="0"+J);const oe=m.parseNumericInput(J,t?.asset?.decimals);if(!oe){W(oe),Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>{s(oe)},300);return}if(U&&parseFloat(oe)>parseFloat(U)){W(U),Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>{s(U)},300);return}if(t?.asset){const ye=parseFloat(oe),H=t.asset.balanceFormatted,Y=t.asset.decimals;if(!isNaN(ye)&&ye>H){const xe=m.formatDecimalInput(Math.floor(H*10**Y)/10**Y,Y);W(xe),Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>{s(xe)},300);return}}W(oe),Q.current&&clearTimeout(Q.current),Q.current=setTimeout(()=>{s(oe)},300)},fe=L=>{W(L),Q.current&&clearTimeout(Q.current),s(L)};i.useEffect(()=>{!U||!P||parseFloat(P)<=parseFloat(U)||fe(U)},[U,P]);const be=async()=>{if(t?.asset){const L=t.asset.decimals,J=K.current;if(J){z(!0);try{const H=await J(t.asset);if(H!==null){const Y=m.parseNumericInput(H,L);O(Y),fe(Y);return}}catch(H){console.warn("[AssetSelector] Failed to resolve max amount:",H)}finally{z(!1)}}if(U){fe(m.parseNumericInput(U,L));return}let oe=Math.floor(t.asset.balanceFormatted*10**L)/10**L;U&&oe>parseFloat(U)&&(oe=parseFloat(U));const ye=m.formatDecimalInput(oe,L);fe(ye)}},$=async L=>{if(t?.asset){if(L===100){await be();return}const J=t.asset.decimals,oe=t.asset.balanceFormatted*L/100;let ye=Math.floor(oe*10**J)/10**J;U&&ye>parseFloat(U)&&(ye=parseFloat(U));const H=m.formatDecimalInput(ye,J);fe(H)}},de=t?.asset?.balanceFormatted??0,ue=parseFloat(P)||0,Ie=de>0?ue/de*100:0;i.useEffect(()=>()=>{Q.current&&clearTimeout(Q.current)},[]);const _={backgroundColor:p?.assetSelector?.backgroundColor||p?.secondaryBackground||(S?b.cardBg:"#e9e9e9"),border:S?`0.5px solid ${b.cardBorder}`:"0.5px solid #A8A8A7",borderRadius:p?.assetSelector?.borderRadius||"6px",padding:p?.assetSelector?.padding||"16px",height:"auto",minHeight:h?void 0:"144px",display:"flex",flexDirection:"column",gap:"8px",position:"relative",opacity:r?.6:1};return a?o.jsx("div",{style:_,children:o.jsxs("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"space-between"},children:[o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[o.jsx("div",{style:{backgroundColor:S?b.hoverBg:"#d1d5db",borderRadius:"4px",height:"16px",width:"60px"}}),o.jsx("div",{style:{backgroundColor:S?b.hoverBg:"#d1d5db",borderRadius:"4px",height:"40px",width:"150px"}})]}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"8px"},children:[o.jsx("div",{style:{backgroundColor:S?b.hoverBg:"#d1d5db",borderRadius:"4px",height:"12px",width:"80px"}}),o.jsx("div",{style:{backgroundColor:S?b.hoverBg:"#d1d5db",borderRadius:"6px",height:"46px",width:"128px"}})]})]})}):o.jsxs("div",{style:_,children:[o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("span",{style:{fontFamily:p?.fontFamily||B.typography.fontFamily,fontSize:"16px",fontWeight:500,color:S?b.textSecondary:"#7d7c7b",lineHeight:"24px"},children:c}),d&&t?.asset&&o.jsxs("span",{style:{fontFamily:p?.fontFamily||B.typography.fontFamily,fontSize:"12px",fontWeight:500,color:S?b.textSecondary:"#71757a",lineHeight:"16px"},children:["Balance: ",m.formatBalance(t.asset.balanceFormatted)]})]}),o.jsxs("div",{style:{display:"flex",justifyContent:h&&!y?"flex-start":"space-between",alignItems:"center",flex:1},children:[!h&&o.jsx(An,{element:"input",ariaLabel:t?.asset?`${t.asset.symbol} amount`:"Amount",dataSpiceflowFocus:!0,value:P,onChange:L=>X(L.target.value),placeholder:l,disabled:r||!t?.asset,fontFamily:p?.fontFamily||B.typography.fontFamily,color:r?S?"rgba(255, 255, 255, 0.16)":"rgba(14, 13, 11, 0.16)":P?S?"#ffffff":"#0e0d0b":S?"#4a5568":"#d1d5db",lineHeight:"1.08",maxFontSize:40,minFontSize:22,style:{width:"100%",maxWidth:"200px"}}),o.jsx("div",{style:{width:"176px",position:"relative",flexShrink:0},children:o.jsx(Ma,{selectedAsset:t,assets:e,onAssetSelect:n,showDropdown:F,onToggleDropdown:()=>R(!F),disabled:r,theme:B,onViewAllAssets:I})}),h&&y&&o.jsx(An,{element:"span",value:y,title:y,fontFamily:p?.fontFamily||B.typography.fontFamily,color:S?"#ffffff":"#0e0d0b",lineHeight:"1.08",textAlign:"right",maxFontSize:40,minFontSize:22,style:{flex:1}})]}),!h&&o.jsx("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"10px",height:"14px"},children:[0,25,50,75,100].map((L,J)=>{const oe=Math.abs(Ie-L)<1,ye=J===4,H=L/100,Y=v===L,xe=N===L;return o.jsx("button",{onClick:()=>$(L),onMouseEnter:()=>A(L),onMouseLeave:()=>{A(null),j(null)},onMouseDown:()=>j(L),onMouseUp:()=>j(null),disabled:r||!t?.asset||L===100&&D,title:`${L}%`,style:{width:"14px",height:"14px",padding:0,border:"none",backgroundColor:"transparent",cursor:r||!t?.asset||L===100&&D?"not-allowed":"pointer",opacity:oe?1:Y?.8:.5,transform:xe?"scale(0.85)":Y?"scale(1.15)":"scale(1)",transition:nn.interactive},children:o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",children:[o.jsx("circle",{cx:"7",cy:"7",r:"6.84375",fill:ye?M:"none",stroke:ye?M:S?"#4a5568":"#3C3E42",strokeWidth:"0.3125"}),!ye&&H>0&&o.jsx("path",{d:`M 7 7 L 7 0.15625 A 6.84375 6.84375 0 ${H>.5?1:0} 1 ${7+6.84375*Math.sin(H*2*Math.PI)} ${7-6.84375*Math.cos(H*2*Math.PI)} Z`,fill:S?b.textSecondary:"#3C3E42"})]})},L)})})]})},Qn=i.memo(Na),Fo=new Set(["USDC","SUSD","USD","NUSD","USDT","DAI","ENUSD","USDC.E","USDBC","CTUSD","SPICEUSDC"]),To={ETH:"ethereum",WETH:"ethereum",BTC:"bitcoin",WBTC:"bitcoin",WCBTC:"bitcoin",CBTC:"bitcoin",ECBTC:"bitcoin",ARB:"arbitrum",MATIC:"matic-network",POL:"matic-network"};let Xn=null;const Da=6e4;async function Us(e){const t={},n=new Set,s={};for(const a of e){const c=a.toUpperCase();if(Fo.has(c))t[c]=1;else if(To[c]){const d=To[c];n.add(d),s[c]=d}else t[c]=0}if(n.size===0)return t;const r=Date.now();if(Xn&&r-Xn.timestamp<Da){for(const[a,c]of Object.entries(s))t[a]=Xn.prices[c]??0;return t}try{const a=Array.from(n).join(","),c=await fetch(`https://api.coingecko.com/api/v3/simple/price?ids=${a}&vs_currencies=usd`);if(!c.ok)throw new Error(`CoinGecko ${c.status}`);const d=await c.json(),u={};for(const l of n)u[l]=d[l]?.usd??0;Xn={prices:u,timestamp:r};for(const[l,f]of Object.entries(s))t[l]=u[f]??0}catch(a){console.warn("[fetchTokenPrices] CoinGecko fetch failed:",a);for(const c of Object.keys(s))t[c]=t[c]??0}return t}function Wa(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 Pa=new Set(["cbtc","btc","wbtc","wcbtc","tbtc"]);async function Ua(){const e=(await Us(["BTC"])).BTC;if(!e||e<=0)throw new Error("Failed to fetch BTC/USD price");return e}function Oa(e){return Pa.has(e.toLowerCase())}function Rn(e){return Fo.has(e.toUpperCase())}function za(e,t,n,s){const r=10n**12n,a=BigInt(Math.round(s*Number(r))),c=t-n,d=10n**BigInt(Math.abs(c));let u=e*a/r;return c>0?u=u/d:c<0&&(u=u*d),u}const Mn=({size:e=20,strokeWidth:t=2,color:n="currentColor",style:s})=>o.jsxs("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:[o.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),o.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]});var Os="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 Bo=["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:r,overlayContent:a,overlayDimmed:c=!0,styles:d,theme:u,maxWidth:l="522px",dark:f,footerLinkText:p,bannerSrc:g,bannerAlt:x,closeOnBackdropClick:h=!1})=>{const{theme:y,dark:C,dk:I,palette:k}=m.useSpiceBrand(d,f),M=f??C,w=u||y,b=d?.fontFamily||w.typography.fontFamily||'"Helvetica Neue", sans-serif',B=d?.primaryColor||w.colors.primary,S=i.useRef(null),F=i.useRef(null),R=i.useRef(null),v=i.useId(),[A,N]=i.useState(!1),[j,D]=i.useState(!1),z=i.useRef(t);if(i.useEffect(()=>{z.current=t},[t]),i.useEffect(()=>{if(!e){D(!1);return}F.current=document.activeElement;const P=document.body.style.overflow;document.body.style.overflow="hidden";const W=requestAnimationFrame(()=>{const G=requestAnimationFrame(()=>D(!0));R.current=G}),Q=()=>{const G=S.current;G&&(G.querySelectorAll(Bo)[0]??G).focus({preventScroll:!0})},ae=G=>{if(G.key==="Escape"){G.stopPropagation(),z.current();return}if(G.key!=="Tab")return;const ie=S.current;if(!ie)return;const U=Array.from(ie.querySelectorAll(Bo)).filter($=>!$.hasAttribute("aria-hidden"));if(U.length===0){G.preventDefault(),ie.focus();return}const X=U[0],fe=U[U.length-1],be=document.activeElement;G.shiftKey&&be===X?(G.preventDefault(),fe.focus()):!G.shiftKey&&be===fe&&(G.preventDefault(),X.focus())},K=requestAnimationFrame(Q);return document.addEventListener("keydown",ae),()=>{cancelAnimationFrame(K),cancelAnimationFrame(W),R.current&&cancelAnimationFrame(R.current),document.removeEventListener("keydown",ae),document.body.style.overflow=P;const G=F.current;G&&typeof G.focus=="function"&&G.focus({preventScroll:!0})}},[e]),!e)return null;const V=!!g&&!A,O=x??"";return o.jsx("div",{onMouseDown:P=>{h&&P.target===P.currentTarget&&z.current()},style:{position:"fixed",inset:0,backgroundColor:M?"rgba(0,0,0,0.72)":"rgba(0,0,0,0.5)",display:"flex",alignItems:"center",justifyContent:"center",padding:"clamp(16px, 4vw, 48px)",zIndex:In.modal,opacity:j?1:0,transition:`opacity ${en.normal} ${Vt.out}`},children:o.jsx("div",{ref:S,role:"dialog","aria-modal":"true","aria-labelledby":v,tabIndex:-1,style:{backgroundColor:k.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:j?"scale(1)":"scale(0.96)",transition:`transform ${en.slow} ${Vt.out}`,display:"flex",flexDirection:"column",maxHeight:"100%"},children:o.jsxs("div",{style:{backgroundColor:k.shell,border:`1px solid ${k.shellInnerBorder}`,borderRadius:"9px",width:"100%",padding:"0",display:"flex",flexDirection:"column",position:"relative",flex:"0 1 auto",minHeight:0,overflowY:"auto",overflowX:"hidden"},children:[a&&c&&o.jsx("div",{style:{position:"absolute",inset:0,backgroundColor:"rgba(0, 0, 0, 0.4)",zIndex:5,pointerEvents:"none",borderRadius:"12px"},"aria-hidden":"true"}),V&&o.jsxs("div",{style:{position:"relative",width:"100%"},children:[o.jsx("img",{src:g,style:{width:"100%",height:"auto",display:"block",borderRadius:"6px 6px 0 0"},alt:O,"aria-hidden":O===""?"true":void 0,onError:()=>N(!0)}),o.jsx("button",{type:"button",onClick:t,"aria-label":"Close dialog",style:{position:"absolute",top:"8px",right:"8px",minWidth:"44px",minHeight:"44px",color:k.textPrimary,padding:"8px",backgroundColor:"transparent",borderRadius:"9999px",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1},children:o.jsx(Mn,{size:28,strokeWidth:2.5})})]}),o.jsxs("div",{style:{padding:"28px 28px 0 28px",position:"relative"},children:[!V&&o.jsx("button",{type:"button",onClick:t,"aria-label":"Close dialog",style:{position:"absolute",top:"10px",right:"10px",minWidth:"44px",minHeight:"44px",color:k.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=M?`${B}1a`:"#f3f4f6"},onMouseLeave:P=>{P.currentTarget.style.backgroundColor="transparent"},children:o.jsx(Mn,{size:24,strokeWidth:2.4})}),o.jsx("h2",{id:v,style:{fontSize:"22px",fontWeight:"700",color:k.textPrimary,margin:"0",fontFamily:b,lineHeight:"1.12"},children:n})]}),s&&o.jsx("div",{style:{padding:"11px 28px 13px 28px",fontSize:"12px",color:k.textSecondary,margin:"0",lineHeight:"1.35",fontFamily:b,borderBottom:M?`1px solid ${I.cardBorder}`:"1px solid #cdcfd1"},children:s}),r,o.jsxs("div",{style:{padding:"12px 28px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("img",{src:Os,alt:"","aria-hidden":"true",width:108,height:22,decoding:"async",style:{width:"108px",height:"22px",opacity:M?.85:1,filter:M?"brightness(0) invert(1)":"none",margin:0,display:"block"}}),o.jsx("a",{href:"https://spiceflow-docs.spicenet.io",target:"_blank",rel:"noopener noreferrer",style:{fontSize:"10px",color:k.textSecondary,textDecoration:"none",display:"flex",alignItems:"center",gap:"4px",fontFamily:b,lineHeight:"1"},children:o.jsx("span",{style:{color:B,textDecoration:"underline",fontWeight:"500"},children:p??"Learn more \u2192"})})]}),a]})})})};var Ro="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",La="data:image/png;base64,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",Ha="data:image/png;base64,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";const Qa=({size:e=20,active:t=!1,dark:n=!1})=>o.jsxs("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("rect",{x:"2",y:"4",width:"16",height:"2",rx:"1",fill:t?n?"#e5e7eb":"#111827":n?"#9ca3af":"#374151"}),o.jsx("rect",{x:"4",y:"9",width:"12",height:"2",rx:"1",fill:t?n?"#e5e7eb":"#111827":"#9ca3af"}),o.jsx("rect",{x:"6",y:"14",width:"8",height:"2",rx:"1",fill:t?n?"#e5e7eb":"#111827":"#9ca3af"})]}),Mo=({checked:e,primaryColor:t="#ef4444",dark:n=!1})=>o.jsx("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:nn.interactive},children:e&&o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:o.jsx("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),qa=e=>[e.chainId,e.symbol.trim().toLowerCase(),e.name.trim().toLowerCase()].join(":"),Va=e=>{const t=new Map;for(const n of e){const s=qa(n),r=t.get(s);if(!r){t.set(s,n);continue}const a=r.balance>0n,c=n.balance>0n;(!a&&c||n.balanceUsd>r.balanceUsd||n.balance>r.balance)&&t.set(s,n)}return Array.from(t.values())},Ka=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,onTokenSelect:s,walletAddress:r,supportedChainIds:a,network:c,prefetchedAssets:d,styles:u,dark:l})=>{const[f,p]=i.useState(""),[g,x]=i.useState(null),[h,y]=i.useState(null),[C,I]=i.useState(!1),[k,M]=i.useState(new Set),[w,b]=i.useState([]),B=i.useContext(m.SpiceFlowProviderContext),S=c||B?.network||"testnet",F=B?.allowedTokens,R=!!B?.isWhitelistGateActive,{dark:v,primaryColor:A,dk:N}=m.useSpiceBrand(u,l),j=v?N.cardBg:"white",D=v?`${A}55`:"#F4A5A5",z=v?"0 4px 12px rgba(0, 0, 0, 0.4)":"0 4px 12px rgba(0, 0, 0, 0.15)",V=v?N.hoverBg:"#E9E9E9",O=v?N.hoverBg:"#f9fafb",P=v?N.textPrimary:"#374151",W=v?N.textPrimary:"#111827",Q=v?N.textSecondary:"#9ca3af",ae=v?`${A}22`:"#FBDBDB",K=v?`${A}55`:"#F4A5A5",G=i.useMemo(()=>a||B?.supportedChainIds||T.getChainIdsByNetwork(S),[a,B?.supportedChainIds,S]),ie=i.useMemo(()=>G.map(H=>{const Y=m.getChainConfig(H);return Y?{id:H,name:Y.displayName,icon:wn[H]||Ln}:null}).filter(Boolean),[G]),U=i.useMemo(()=>{const H=new Set,Y=new Set;for(const xe of G){const re=m.getChainConfig(xe);if(re){H.add(re.nativeCurrency?.symbol?.toUpperCase()||"ETH");for(const Be of re.supportedTokens||[])H.add(Be.symbol.toUpperCase()),Y.add(Be.address.toLowerCase())}}return{symbols:H,addresses:Y}},[G]),X=d===void 0,{assets:fe,loading:be}=Ms({address:X?r:void 0,supportedChains:G,fetchBalances:Rs,enabled:e&&X&&!!r,refreshInterval:e?5e3:0}),$=d??(X?fe:[]),de=d===null||X&&be,ue=i.useMemo(()=>{if(R)return[];if(!$)return[];let H=$.filter(Y=>Y.isNative?!0:U.symbols.has(Y.symbol.toUpperCase())||U.addresses.has(Y.address.toLowerCase()));return F&&F.length>0&&(H=H.filter(Y=>F.includes(Y.symbol.toLowerCase())||Y.isNative&&F.includes("native"))),H},[$,U,F,R]);i.useEffect(()=>{if(!ue||ue.length===0){b([]);return}const H=ue.filter(re=>re.balanceUsd===0&&re.balanceFormatted>0).map(re=>re.symbol),Y=Array.from(new Set(H));if(Y.length===0){b(ue);return}let xe=!1;return Us(Y).then(re=>{xe||b(Wa(ue,re))}),()=>{xe=!0}},[ue]);const Ie=i.useMemo(()=>{let H=w.filter(Y=>Y.balanceUsd>=.01||Y.balanceFormatted>=1e-4||Y.balanceFormatted===0);if(k.size>0&&(H=H.filter(Y=>k.has(Y.chainId))),f.trim()){const Y=f.toLowerCase();H=H.filter(xe=>xe.name.toLowerCase().includes(Y)||xe.symbol.toLowerCase().includes(Y)||xe.address.toLowerCase().includes(Y))}return H=Va(H),H.sort((Y,xe)=>{const re=Y.balanceFormatted>0?1:0,Be=xe.balanceFormatted>0?1:0;return Be!==re?Be-re:xe.balanceUsd!==Y.balanceUsd?xe.balanceUsd-Y.balanceUsd:xe.balanceFormatted-Y.balanceFormatted}),H},[w,f,k]),_=H=>`${H.chainId}-${H.address}`;i.useEffect(()=>{const H=document.createElement("link");return H.href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@100;200;300;400;500;600;700&display=swap",H.rel="stylesheet",document.head.appendChild(H),()=>{document.head.removeChild(H)}},[]),i.useEffect(()=>{e||(p(""),x(null),I(!1),M(new Set))},[e]);const L=H=>{s(H)},J=H=>{M(Y=>{const xe=new Set(Y);return xe.has(H)?xe.delete(H):xe.add(H),xe})},oe=()=>{M(new Set)},ye=k.size===0;return o.jsxs(hn,{isOpen:e,onClose:t,title:"Select a Token",bannerSrc:Ha,bannerAlt:"Select token banner",styles:u,dark:v,closeOnBackdropClick:n,children:[o.jsx("div",{style:{padding:"20px 20px"},children:o.jsx(Ts,{value:f,onChange:p,ariaLabel:"Search tokens",placeholder:"Search token name, symbol or address",dark:v,styles:u,endAdornment:o.jsxs("div",{style:{position:"relative",flexShrink:0},children:[o.jsx("button",{onClick:()=>I(H=>!H),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"5px",borderRadius:"3px",backgroundColor:C||!ye?V:"transparent",border:"none",cursor:"pointer",transition:"background-color 0.15s"},children:o.jsx(Qa,{size:20,active:!ye,dark:v})}),C&&o.jsxs("div",{style:{position:"absolute",top:"calc(100% + 8px)",right:0,backgroundColor:j,borderRadius:"8px",border:`1px solid ${D}`,boxShadow:z,padding:"8px",minWidth:"220px",zIndex:100},children:[o.jsxs("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:H=>H.currentTarget.style.backgroundColor=O,onMouseLeave:H=>H.currentTarget.style.backgroundColor="transparent",children:[o.jsx(Mo,{checked:ye,primaryColor:A,dark:v}),o.jsx("img",{src:La,alt:"All Networks",loading:"lazy",decoding:"async",width:20,height:20,style:{width:"20px",height:"20px",borderRadius:"4px",objectFit:"cover"}}),o.jsx("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"12px",fontWeight:600,letterSpacing:"0.5px",color:P},children:"ALL NETWORKS"})]}),ie.map(H=>o.jsxs("button",{onClick:()=>J(H.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:Y=>Y.currentTarget.style.backgroundColor=O,onMouseLeave:Y=>Y.currentTarget.style.backgroundColor="transparent",children:[o.jsx(Mo,{checked:k.has(H.id),primaryColor:A,dark:v}),o.jsx("img",{src:H.icon,alt:H.name,loading:"lazy",decoding:"async",width:20,height:20,style:{width:"20px",height:"20px",borderRadius:"50%"}}),o.jsx("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"12px",fontWeight:600,letterSpacing:"0.5px",color:P},children:H.name.toUpperCase()})]},H.id))]})]})})}),o.jsxs("div",{style:{padding:"0 32px 20px",display:"flex",flexDirection:"column",gap:"8px",maxHeight:"400px",overflowY:"auto"},children:[de&&o.jsx("div",{style:{padding:"24px 8px",textAlign:"center",fontFamily:'"IBM Plex Mono", monospace',fontSize:"13px",color:Q},children:"Loading balances..."}),!de&&Ie.length===0&&o.jsx("div",{style:{padding:"24px 8px",textAlign:"center",fontFamily:'"IBM Plex Mono", monospace',fontSize:"13px",color:Q},children:"No tokens found"}),Ie.map(H=>{const Y=_(H),xe=g===Y,re=h===Y,Be=m.getChainConfig(H.chainId)?.displayName||`Chain ${H.chainId}`;return o.jsxs("button",{onClick:()=>L(H),onMouseEnter:()=>y(Y),onMouseLeave:()=>y(null),style:{width:"100%",display:"flex",alignItems:"center",gap:"16px",padding:"8px",borderRadius:"8px",backgroundColor:xe?ae:"transparent",border:xe||re?`1px solid ${K}`:"1px solid transparent",cursor:"pointer",transition:nn.interactive},children:[o.jsx("div",{style:{flexShrink:0},children:o.jsx(Ds,{symbol:H.symbol,logoURI:H.logoURI,size:40})}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:"2px",flex:1,minWidth:0},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[o.jsx("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"15px",fontWeight:500,letterSpacing:"0.4px",color:W,textAlign:"left"},children:H.name}),o.jsx("img",{src:Ro,alt:"","aria-hidden":"true",loading:"lazy",decoding:"async",width:14,height:14,style:{width:"14px",height:"14px"}})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[wn[H.chainId]&&o.jsx("img",{src:wn[H.chainId],alt:"",loading:"lazy",decoding:"async",width:14,height:14,style:{width:"14px",height:"14px",borderRadius:"50%"}}),o.jsxs("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"12px",fontWeight:400,color:Q,textAlign:"left"},children:[H.symbol," \xB7 ",Be]})]})]}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"2px",flexShrink:0},children:[H.balanceUsd>0&&o.jsx("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"16px",fontWeight:600,color:W},children:m.formatUsd(H.balanceUsd)}),o.jsxs("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"12px",fontWeight:400,color:Q},children:[m.formatBalance(H.balanceFormatted)," ",H.symbol]})]})]},Y)})]})]})};var Ya="data:image/png;base64,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";const sn=e=>new Promise(t=>setTimeout(t,e)),zs=e=>{const t=(e.id||"").toLowerCase(),n=(e.name||"").toLowerCase();return t.startsWith("io.privy.wallet")||n.includes("privy wallet")},Za=({dark:e,dk:t,primaryColor:n,disabled:s,onError:r})=>{const[a,c]=i.useState(!1),{connectWallet:d}=Es.useConnectWallet({onSuccess:()=>{c(!1)},onError:u=>{c(!1),r(m.sanitizeError(u,"Failed to connect wallet."))}});return o.jsxs("button",{onClick:()=>{s||a||(c(!0),d({walletChainType:"ethereum-only"}))},disabled:s||a,style:{width:"100%",display:"flex",alignItems:"center",gap:"14px",padding:"10px",borderRadius:"8px",backgroundColor:a?e?t.hoverBg:"#f3f4f6":"transparent",border:`2px solid ${e?`${n}33`:`${n}55`}`,cursor:s||a?"not-allowed":"pointer",opacity:s?.6:1,transition:nn.interactive},children:[o.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:e?t.cardBg:"#f3f4f6"},children:o.jsx("img",{src:Hn.metamask,alt:"Browser wallet",style:{width:"26px",height:"26px",objectFit:"contain"}})}),o.jsx("span",{className:"ibm-plex-mono",style:{fontSize:"17px",fontWeight:500,letterSpacing:"0.4px",color:t.textPrimary,flex:1,textAlign:"left",fontFamily:'"IBM Plex Mono", monospace'},children:a?"Opening wallet picker...":"MetaMask / Browser Wallet"})]})},Ga=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,onWalletSelect:s,onContinue:r,requiredChainId:a,styles:c})=>{const{dark:d,primaryColor:u,dk:l,theme:f}=m.useSpiceBrand(c),p=i.useContext(m.SpiceFlowProviderContext),[g,x]=i.useState(null),[h,y]=i.useState(!1),[C,I]=i.useState(null),[k,M]=i.useState(!1),[w,b]=i.useState(null),[B,S]=i.useState(!1);i.useEffect(()=>{e||(I(null),M(!1),y(!1),b(null))},[e]);const{address:F,chain:R,connector:v,isConnected:A}=Xt.useAccount(),N=p?.provider==="privy"&&v&&zs(v)?void 0:F,j=A&&!!N,{connectors:D,connect:z}=Xt.useConnect(),{disconnect:V}=Xt.useDisconnect(),{switchChainAsync:O}=Xt.useSwitchChain(),{reconnect:P}=Xt.useReconnect(),W=i.useRef(!1),Q=T.getChainIdsByNetwork(p?.network||"testnet");i.useEffect(()=>{e&&!j&&!W.current&&P()},[e,j,P]),i.useEffect(()=>{e||(W.current=!1)},[e]);const ae=i.useRef(R);i.useEffect(()=>{ae.current=R},[R]);const K=(a?m.getChainConfig(a):null)?.displayName||R?.name||`Chain ${R?.id||a}`,G=_=>_.type==="announced"||typeof _.ready=="boolean"&&_.ready?!0:_.type==="injected"?typeof window<"u"&&!!window.ethereum:!0,ie=D.filter(_=>{const L=_.name.toLowerCase(),J=(_.id||"").toLowerCase();return p?.provider==="privy"&&zs(_)||["safe"].includes(_.type)?!1:_.type==="walletConnect"?!!_?.options?.projectId:_.type==="announced"?!0:_.type==="injected"||["metamask","rabby","phantom","coinbase","trust","rainbow"].some(oe=>L.includes(oe)||J.includes(oe))?G(_):!1}),U=async _=>{if(!(k||h))try{if(M(!0),b(_.uid),I(null),await z({connector:_}),await sn(500),s&&s(_.id),a){y(!0);try{if(R?.id!==a){await O({chainId:a});let L=0;const J=20;for(;L<J;){if(await sn(100),ae.current?.id===a){I(null);break}L++}ae.current?.id!==a&&I("Please switch to the correct network in your wallet to continue.")}}catch(L){console.error("Chain switch error:",L),L.code===4902||L.name==="ChainNotConfiguredError"?I("This network is not configured in your wallet. Please add it manually to continue."):L.code===4001?I("Network switch cancelled. Please switch manually in your wallet to continue."):I("Unable to switch network. Please switch manually in your wallet to continue.")}finally{y(!1)}}await sn(800)}catch(L){console.error("Connection error:",L),m.isUserRejection(L)?I("Connection rejected. Please try again."):I(m.sanitizeError(L,"Failed to connect wallet."))}finally{M(!1),b(null)}},X=_=>{if(_.icon)return _.icon;const L=(_.name||"").toLowerCase();for(const[J,oe]of Object.entries(Hn))if(L.includes(J.toLowerCase()))return oe;if(!zs(_)&&(_.type==="injected"||_.type==="announced")&&typeof window<"u"&&window.ethereum){const J=window.ethereum;if(J.isMetaMask)return Hn.metamask;if(J.isRabby)return Hn.rabby;if(J.isPhantom)return Hn.phantom}return null},fe=async _=>{y(!0),I(null);try{await O({chainId:_});let L=0;const J=20;for(;L<J;){if(await sn(100),ae.current?.id===_){I(null);break}L++}ae.current?.id!==_&&I("Unable to switch to the correct network. Please switch manually in your wallet to continue.")}catch(L){console.error("Manual chain switch error:",L),L.code===4902||L.name==="ChainNotConfiguredError"?I("This network is not configured in your wallet. Please add it manually to continue."):L.code===4001?I("Network switch cancelled. Please switch manually in your wallet to continue."):I("Unable to switch network. Please switch manually in your wallet to continue.")}finally{y(!1)}},be=async _=>{h||(S(!1),await fe(_))},$=async()=>{if(!h){if(!a){S(_=>!_);return}await fe(a)}},de=async()=>{W.current=!0;try{await V()}finally{I(null),M(!1),y(!1),b(null),S(!1)}},ue=j&&!h&&!k&&(!a||R?.id===a),Ie=j&&!h&&!k&&a&&R?.id!==a;return o.jsxs(hn,{isOpen:e,onClose:t,title:"Connect Wallet",styles:c,dark:d,bannerSrc:Ya,bannerAlt:"Connect wallet banner",closeOnBackdropClick:n,children:[o.jsxs("div",{style:{padding:"0 24px 20px",display:"flex",flexDirection:"column",gap:"12px",marginTop:"20px"},children:[C&&o.jsxs("div",{style:{padding:"12px",backgroundColor:l.warningBg,borderRadius:"8px",border:`1px solid ${l.warningBorder}`},children:[o.jsx("p",{style:{margin:"0 0 10px 0",color:l.warningText,fontSize:"14px"},children:C}),o.jsx("button",{onClick:$,disabled:h,style:{width:"100%",padding:"8px 12px",borderRadius:"6px",border:`1px solid ${d?l.warningBorder:"#fbbf24"}`,backgroundColor:d?l.cardBg:"white",cursor:h?"not-allowed":"pointer",fontWeight:600,fontSize:"13px",color:l.warningText,opacity:h?.6:1},children:h?"Switching...":"Try Switch Again"})]}),h&&o.jsxs("div",{style:{padding:"12px",backgroundColor:d?l.infoBg:"#dbeafe",borderRadius:"8px",display:"flex",alignItems:"center",gap:"10px",marginTop:"20px"},children:[o.jsx(m.Spinner,{size:20,color:d?l.infoText:"#3b82f6"}),o.jsx("p",{style:{margin:0,color:d?l.infoText:"#1e40af",fontSize:"14px"},children:"Switching network..."})]}),j&&N?o.jsxs("div",{style:{border:`1px solid ${d?l.successBorder:"#02974F"}`,borderRadius:"8px",overflow:"hidden",marginTop:"20px"},children:[o.jsxs("div",{style:{backgroundColor:d?l.successBg:"#00FFA81C",padding:"14px 18px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[o.jsx("div",{style:{width:"22px",height:"22px",borderRadius:"50%",backgroundColor:"#02974F",display:"flex",alignItems:"center",justifyContent:"center",color:"white",fontSize:"14px",fontWeight:"bold"},children:"\u2713"}),o.jsx("span",{className:"ibm-plex-mono",style:{color:d?l.successText:"#02974F",fontWeight:600,fontSize:"14px",letterSpacing:"0.5px"},children:"WALLET CONNECTED"})]}),o.jsx("div",{style:{width:"38px",height:"38px",borderRadius:"50%",backgroundColor:d?l.cardBg:"#f3f4f6",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},children:v&&X(v)?o.jsx("img",{src:X(v),alt:v.name,style:{width:"24px",height:"24px",objectFit:"contain"}}):o.jsx("span",{style:{fontSize:"16px",fontWeight:"bold",color:d?l.textPrimary:"inherit"},children:v?.name?.charAt(0)||"W"})})]}),o.jsxs("div",{style:{padding:"18px",backgroundColor:d?l.cardBg:"white"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"14px"},children:[o.jsx("span",{className:"ibm-plex-mono",style:{color:d?l.textSecondary:"#939291",fontSize:"13px",fontWeight:500,letterSpacing:"0.3px"},children:"ADDRESS:"}),o.jsx("span",{className:"ibm-plex-mono",style:{color:d?l.textPrimary:"black",fontSize:"14px",fontWeight:600,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.3px"},children:m.truncateAddress(N)})]}),B&&o.jsx("div",{style:{marginBottom:"12px",border:`1px solid ${d?l.inputBorder:"#E5E7EB"}`,borderRadius:"8px",overflow:"hidden",backgroundColor:l.cardBg},children:Q.map(_=>{const L=m.getChainConfig(_);if(!L)return null;const J=R?.id===_;return o.jsxs("button",{onClick:()=>{J?S(!1):be(_)},style:{width:"100%",display:"flex",alignItems:"center",gap:"8px",padding:"10px 12px",backgroundColor:J?d?`${u}15`:`${u}10`:"transparent",border:"none",borderBottom:`1px solid ${d?l.inputBorder:"#E5E7EB"}`,cursor:J?"default":"pointer",transition:"background-color 0.15s"},onMouseEnter:oe=>{J||(oe.currentTarget.style.backgroundColor=d?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.03)")},onMouseLeave:oe=>{oe.currentTarget.style.backgroundColor=J?d?`${u}15`:`${u}10`:"transparent"},children:[o.jsx("img",{src:wn[_]||Ln,alt:L.displayName,style:{width:"20px",height:"20px",borderRadius:"50%",objectFit:"contain"}}),o.jsx("span",{style:{fontSize:"13px",fontWeight:J?600:400,color:d?l.textPrimary:"#1f2937",fontFamily:'"IBM Plex Mono", monospace'},children:L.displayName}),J&&o.jsx("span",{style:{marginLeft:"auto",fontSize:"11px",color:u,fontWeight:500},children:"Connected"})]},_)})}),o.jsxs("button",{className:"ibm-plex-mono",onClick:de,style:{width:"100%",padding:"10px",backgroundColor:"transparent",border:`1px solid ${d?l.inputBorder:"#E5E7EB"}`,borderRadius:"6px",cursor:"pointer",fontSize:"13px",fontWeight:500,color:d?l.textSecondary:"#9CA3AF",display:"flex",alignItems:"center",justifyContent:"center",gap:"6px"},children:[o.jsx("span",{style:{fontSize:"16px"},children:"\u27F2"}),"DISCONNECT"]})]})]}):o.jsxs(o.Fragment,{children:[p?.provider==="privy"&&o.jsx(Za,{dark:d,dk:l,primaryColor:u,disabled:k||h,onError:I}),ie.map(_=>{const L=G(_),J=w===_.uid,oe=!L||k||J;return o.jsxs("button",{onClick:()=>{oe||U(_)},onMouseEnter:()=>!oe&&x(_.uid),onMouseLeave:()=>x(null),disabled:oe,style:{width:"100%",display:"flex",alignItems:"center",gap:"14px",padding:"10px",borderRadius:"8px",backgroundColor:J?d?l.hoverBg:"#f3f4f6":"transparent",border:g===_.uid&&!oe?`2px solid ${d?`${u}44`:`${u}66`}`:"2px solid transparent",cursor:oe?"not-allowed":"pointer",opacity:oe?.6:1,transition:nn.interactive},children:[o.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:d?l.cardBg:"#f3f4f6"},children:X(_)?o.jsx("img",{src:X(_),alt:_.name,style:{width:"26px",height:"26px",objectFit:"contain"}}):o.jsx("span",{style:{fontSize:"16px",fontWeight:"bold",color:d?l.textPrimary:"inherit"},children:_.name.charAt(0)})}),o.jsxs("span",{className:"ibm-plex-mono",style:{fontSize:"17px",fontWeight:500,letterSpacing:"0.4px",color:oe?d?l.inputPlaceholder:"#9ca3af":d?l.textPrimary:"#111827",flex:1,textAlign:"left",fontFamily:'"IBM Plex Mono", monospace'},children:[J?"Connecting...":_.name,!L&&!J&&o.jsx("span",{style:{fontSize:"12px",marginLeft:"8px"},children:"(Not detected)"})]})]},_.uid)})]})]}),Ie&&!C&&o.jsx("div",{style:{padding:"0 24px 20px"},children:o.jsxs("div",{style:{padding:"12px",backgroundColor:l.warningBg,borderRadius:"8px",border:`1px solid ${l.warningBorder}`},children:[o.jsxs("p",{style:{margin:"0 0 10px 0",color:l.warningText,fontSize:"14px"},children:["Please switch to ",K," to continue."]}),o.jsx("button",{onClick:$,disabled:h,style:{width:"100%",padding:"8px 12px",borderRadius:"6px",border:`1px solid ${d?l.warningBorder:"#fbbf24"}`,backgroundColor:d?l.cardBg:"white",cursor:h?"not-allowed":"pointer",fontWeight:600,fontSize:"13px",color:l.warningText,opacity:h?.6:1},children:h?"Switching...":"Switch Network"})]})}),o.jsx("div",{style:{padding:"0 24px 25px"},children:o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:async()=>{ue&&(await sn(300),r?await r():t())},disabled:!ue,theme:f,dark:d,styles:c,children:k?"CONNECTING...":h?"SWITCHING NETWORK...":"CONTINUE"})})]})},Ls=new Set(["WBTC","CBTC"]),No=new Set(["btc","wbtc","wcbtc","cbtc"]);function Do(e,t){return!e||!t?!1:e===t?!0:Ls.has(e)&&Ls.has(t)}function Nn(e){const[t,n,s]=e.split(":");if(t!=="evm"||!n||!s)return null;const r=Number(n);if(!Number.isFinite(r))return null;const a=s.startsWith("0x")?s.toLowerCase():`0x${s.toLowerCase()}`;return{chainId:r,address:a}}function Jn(e){return(e??"").trim().replace(/^test\s+/i,"").replace(/^spice/i,"").toLowerCase().replace(/[^a-z0-9]/g,"")}function Xa(e){return new Set([e.receiptTokenName,e.displaySymbol,e.symbol,e.displayName,e.name].map(Jn).filter(Boolean))}function Ja(e,t){const n=Xa(e),s=[t.symbol,t.name,t.equivalenceGroup].map(Jn);if(s.some(c=>c&&n.has(c)))return!0;const r=[...n].some(c=>No.has(c)),a=s.some(c=>No.has(c))||Ls.has(t.equivalenceGroup??"");return r&&a}function Wo(e,t,n){const s=new Set(t.map(Jn).filter(Boolean)),r=a=>{if(n&&m.addressesEqual(a.address,n))return 0;const c=[a.symbol,a.name,a.equivalenceGroup].map(Jn).findIndex(d=>d&&s.has(d));return c===-1?4:c+1};return[...e].sort((a,c)=>{const d=r(a)-r(c);return d!==0?d:a.address.toLowerCase().localeCompare(c.address.toLowerCase())})}const Po=typeof process<"u"&&process.env?.NEXT_PUBLIC_MORALIS_API_KEY||typeof{url:typeof document>"u"?require("url").pathToFileURL(__filename).href:Bn&&Bn.tagName.toUpperCase()==="SCRIPT"&&Bn.src||new URL("index.cjs.js",document.baseURI).href}<"u"&&void 0||"",$a="https://deep-index.moralis.io/api/v2.2";function $n(e,t){const n=e.chainTokens?Object.keys(e.chainTokens):[],s=[];for(const r of n){const a=Nn(r);if(!a||a.chainId!==t)continue;const c=a.address,d=T.getTokenByAddress(c,t);d&&(!Hs(e,c,t)&&!(e.isUniversal&&Ja(e,d))||s.some(u=>m.addressesEqual(u,c))||s.push(c))}return Wo(s.map(r=>{const a=T.getTokenByAddress(r,t);return{address:r,symbol:a?.symbol,name:a?.name,equivalenceGroup:a?.equivalenceGroup}}),[e.receiptTokenName,e.displaySymbol,e.symbol,e.displayName,e.name],e.chainId===t&&!e.isUniversal?e.address:void 0).map(r=>r.address)}function Hs(e,t,n){return e.chainId===n&&m.addressesEqual(e.address,t)?!0:qn(e.address,e.chainId,t,n)}async function _a(e,t){const n=m.getClientForChain(e),s=T.getEscrowContractAddress(e);return T.isNativeToken(t)?n.getBalance({address:s}):await n.readContract({address:t,abi:E.erc20Abi,functionName:"balanceOf",args:[s]})}function Uo(e,t,n){const s=T.getTokensForChain(n),r=s.find(c=>m.addressesEqual(c.address,e));if(r)return r;const a=T.getTokenByAddress(e,t);if(a)return Wo(s.filter(c=>Do(c.equivalenceGroup,a.equivalenceGroup)),[a.symbol,a.name,a.equivalenceGroup])[0]}function ln(e,t){if(e.chainId===t)return e.address;const n=Uo(e.address,e.chainId,t);return n?n.address:null}async function Oo(e,t,n={}){const s=ln(e,t),r=$n(e,t);if(r.length===0)return s;if(r.length===1)return r[0];const a=n.requiredAmount??0n,c=u=>{const l=r.map(f=>({candidate:f,balance:u.get(T.isNativeToken(f)?"native":f.toLowerCase())??0n})).filter(f=>f.balance>0n).sort((f,p)=>f.balance===p.balance?0:f.balance>p.balance?-1:1);return l.length===0?null:((a>0n?l.find(f=>f.balance>=a):l[0])??l[0]).candidate},d=m.getChainsForAssets()[t];if(d?.moralisName&&Po){const u=new Map,l=r.some(f=>T.isNativeToken(f));try{if(l)try{const p=m.getClientForChain(t),g=T.getEscrowContractAddress(t);u.set("native",await p.getBalance({address:g}))}catch{}const f=await fetch(`${$a}/wallets/${T.getEscrowContractAddress(t)}/tokens?chain=${d.moralisName}`,{headers:{"X-API-Key":Po}});if(f.ok){const p=await f.json();for(const x of p?.result||[]){const h=String(x.token_address||"").toLowerCase();if(h)try{u.set(h,BigInt(String(x.balance||"0")))}catch{}}const g=c(u);if(g)return g}}catch{}}try{const u=await Promise.all(r.map(async p=>({key:T.isNativeToken(p)?"native":p.toLowerCase(),value:await _a(t,p)}))),l=new Map(u.map(({key:p,value:g})=>[p,g])),f=c(l);if(f)return f}catch{}return s}function qn(e,t,n,s){const r=T.getTokenByAddress(e,t),a=T.getTokenByAddress(n,s);return r&&a?Do(r.equivalenceGroup,a.equivalenceGroup):T.areEquivalent(e,n)}function _n(e,t){return qn(e.address,e.chainId,t.address,t.chainId)}const ei={usdc:[8453,1,42161,5115,4114],usdt:[1],btc:[4114,42161,1,5115],wbtc:[1],weth:[8453,1],ctusd:[5115,4114],wcbtc:[5115,4114]},ti={btc:["wcbtc","cbtc","wbtc"]};function es(e){return e.replace(/^test\s+/i,"").replace(/^spice/i,"").trim()}function gn(e){return es(e).toLowerCase()}function zo(e){return gn(e??"").replace(/[^a-z0-9]/g,"")}function Qs(e){const t=gn(e);return[t,...ti[t]??[]].filter(Boolean)}function ni(e){try{return BigInt(e.balanceAvailable||"0")}catch{return 0n}}function si(e){return Array.isArray(e.chainTokens)?e.chainTokens:Object.keys(e.chainTokens??{})}function oi(e,t,n,s=[]){const r=m.getChainConfig(t),a=n.toLowerCase(),c=a===T.ZERO_ADDRESS.toLowerCase()?r?.nativeCurrency.decimals??18:r?.supportedTokens?.find(u=>u.address.toLowerCase()===a)?.decimals??18,d=new Set(s.map(zo).filter(Boolean));return e.reduce((u,l)=>{const f=ni(l),p=l.decimals??c,g=T.convertAmountBetweenDecimals(f,p,c);if(si(l).some(h=>{const y=Nn(h);return y&&qn(y.address,y.chainId,n,t)}))return u+g;if(d.size===0)return u;const x=zo(l.tokenName||l.receiptToken);return d.has(x)?u+g:u},0n)}function ri(e,t){const n=new Set([...Qs(t),...Qs(es(t))]);return[...e].sort((s,r)=>{const a=gn(s.symbol),c=gn(r.symbol),d=gn(s.name),u=gn(r.name),l=n.has(a)?0:n.has(d)?1:2,f=n.has(c)?0:n.has(u)?1:2;return l!==f?l-f:s.address.toLowerCase().localeCompare(r.address.toLowerCase())})[0]}function ai(e){const t=e&&e.length>0?e:Object.keys(m.CHAIN_CONFIGS).map(Number).filter(Number.isFinite),n=new Map;for(const s of t){const r=m.getChainConfig(s);if(!r)continue;const a=`${s}:${T.ZERO_ADDRESS.toLowerCase()}`;n.has(a)||n.set(a,{address:T.ZERO_ADDRESS,chainId:s,symbol:r.nativeCurrency.symbol,name:r.nativeCurrency.name,decimals:r.nativeCurrency.decimals,isNative:!0,logoURI:r.logo});for(const c of r.supportedTokens??[]){const d=c.address.toLowerCase(),u=`${s}:${d}`;n.has(u)||n.set(u,{address:d,chainId:s,symbol:c.symbol,name:c.name,decimals:c.decimals,isNative:T.isNativeToken(d),logoURI:c.logo})}}return n}function ii(e,t){const n=ai(t),s=es(e.tokenName),r=gn(e.tokenName),a=Qs(e.tokenName),c=Array.isArray(e.chainTokens)?e.chainTokens.map(h=>[h,void 0]):Object.entries(e.chainTokens??{}),d=c.map(([h])=>Nn(h)).filter(h=>h!==null),u=new Map(c.map(([h,y])=>[h,y])),l=(h,y)=>{const C=u.get(`evm:${y.chainId}:${y.address.slice(2).toLowerCase()}`);return{...h,name:typeof C?.name=="string"&&C.name.length>0?C.name:h.name,decimals:typeof C?.decimals=="number"?C.decimals:h.decimals}},f=d.map(h=>{const y=n.get(`${h.chainId}:${h.address.toLowerCase()}`);return y?l(y,h):void 0}).filter(h=>h!==void 0),p=ei[r]??[];if(p.length>0)for(const h of p){const y=f.find(C=>C.chainId===h);if(y)return y}if(f.length>0)return ri(f,e.tokenName);const g=Array.from(n.values()).filter(h=>a.includes(gn(h.symbol))||a.includes(gn(h.name)));if(p.length>0)for(const h of p){const y=g.find(C=>C.chainId===h);if(y)return y}if(g.length>0)return g[0];const x=d[0];if(x){const h=u.get(`evm:${x.chainId}:${x.address.slice(2).toLowerCase()}`);return{address:x.address,chainId:x.chainId,symbol:s||e.tokenName,name:typeof h?.name=="string"&&h.name.length>0?h.name:s||e.tokenName,decimals:typeof h?.decimals=="number"?h.decimals:e.decimals??18,isNative:T.isNativeToken(x.address),logoURI:void 0}}}function li(e,t){let n;try{n=BigInt(e.balanceAvailable||"0")}catch{return null}if(n<=0n)return null;const s=ii(e,t),r=s?.decimals??e.decimals??18,a=e.decimals??r,c=T.convertAmountBetweenDecimals(n,a,r),d=s?.address??T.ZERO_ADDRESS,u=s?.chainId??0,l=es(e.tokenName),f=s?.symbol??l,p=s?.name??l,g=parseFloat(E.formatUnits(c,r)),x=typeof e.balanceUsd=="number"?e.balanceUsd:typeof e.balanceUsd=="string"&&Number(e.balanceUsd)||0;return{address:d,symbol:f,name:p,decimals:r,chainId:u,balance:c,balanceFormatted:g,balanceUsd:x,isNative:s?.isNative??T.isNativeToken(d),logoURI:s?.logoURI,displaySymbol:e.tokenName||f,displayName:e.tokenName||p,displayChainName:"Spicenet",receiptTokenId:e.receiptToken,receiptTokenName:e.tokenName||p,receiptTokenDecimals:a,chainTokens:e.chainTokens&&!Array.isArray(e.chainTokens)?e.chainTokens:void 0,isUniversal:!0}}function ci(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 di=350,ui=2500;async function pi(e){const{actionId:t,intentIndex:n,intentId:s,stepIndex:r,maxPolls:a=48,maxExecuteAttempts:c=3,pollsBeforeRetry:d=5,maxConsecutiveStatusErrors:u=15,onStatusMessage:l,onStepUpdate:f,signal:p,chainId:g}=e;let x="pending",h,y,C=0,I=0;const k=()=>{C++,m.relayerService.executeStep(t,n,r,{action:"execute"}).then(M=>{M.transactionHash&&(h=M.transactionHash)}).catch(M=>{const w=M instanceof Error?M.message:String(M);console.warn(`[execution] executeStep ${r} attempt ${C} error (will poll):`,w)})};k();for(let M=0;M<a;M++){if(await sn(M===0?di:ui),p?.aborted)throw new m.SpiceflowError("ABORT","Execution transaction aborted");try{const b=await m.relayerService.checkStepStatus(s,r);I=0,x=b.data.status,y=b.data.error;const B=b.data.transactionHash;B&&(h=B),f?.({status:x,transactionHash:h,error:y})}catch(b){if(b instanceof Error&&(b.name==="AbortError"||b instanceof m.SpiceflowError&&b.code==="ABORT")||(I++,I>=u))throw b;continue}if(x==="created"&&M>=C*d&&C<c&&k(),x==="reverted"||x==="error")throw new m.SpiceflowError("ON_CHAIN_REVERT",ci(x,y),{status:x,txHash:h,actionId:t,intentId:s,stepId:r,chainId:g});if(x==="success"||x==="completed")return h;let w="Waiting for solver...";x==="executing"?w="Transaction executing...":x==="submitted"?w="Transaction submitted...":x==="created"&&(w="Waiting for relayer..."),l?.(w,h)}throw new m.SpiceflowError("POLLING_EXHAUSTED",`Transaction is still processing (status: ${x}). 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:r,lastStatus:x,pollAttempts:a,maxPolls:a,txHash:h})}async function Lo(e){const{actionId:t,intentIndex:n,intentId:s,totalSteps:r,delayBeforeSpicenetStepMs:a=5e3,isSpicenetStep:c,maxExecuteAttemptsForStep:d,maxPolls:u=48,onStatusMessage:l,onStepUpdate:f,signal:p}=e;let g;for(let x=0;x<r;x++){x>0&&c?.(x)&&a>0&&await sn(a);const h=d?.(x)??3,y=await pi({actionId:t,intentIndex:n,intentId:s,stepIndex:x,maxPolls:u,maxExecuteAttempts:h,maxConsecutiveStatusErrors:h===6?5:15,onStatusMessage:l,onStepUpdate:f?C=>f(x,C):void 0,signal:p});y&&(g=y)}return g}const fi="0xa9059cbb";function ts(e,t){return e.map(n=>{if(n.domain==="spicenet"||T.isSpicenetChainId(n.chainId)||n.calls.length===0)return n;const s=new Set((n.tokenTransfers??[]).filter(a=>(a.from==="escrow"||a.from==="solver")&&m.addressesEqual(a.to,t)).map(a=>a.token.toLowerCase()));if(s.size===0)return n;let r=0;for(const a of n.calls){if(!a.data?.startsWith(fi))break;try{const c=E.decodeFunctionData({abi:E.erc20Abi,data:a.data});if(c.functionName!=="transfer")break;const[d]=c.args;if(m.addressesEqual(d,t)||!s.has(a.to.toLowerCase()))break;r+=1}catch{break}}return r===0?n:{...n,calls:n.calls.slice(r)}})}function Ho(e,t){if(e.length!==t.length)return!1;const n=T.hashChainBatches(e),s=T.hashChainBatches(t);return n.every((r,a)=>r.hash===s[a]?.hash)}const Qo=15;function mi(e){return e.now-e.lastProgressAt>=e.pollTimeoutMs}function qo(e,t){return{intentId:e,steps:t.map(n=>({...n,status:"pending"})),overallStatus:"processing"}}function ns(e,t,n){const s=e.steps.map(d=>({...d})),r=s[t];if(!r)return e;n.status==="success"||n.status==="completed"?(s[t]={...r,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]={...r,status:"failed",transactionHash:n.transactionHash,error:n.error}:s[t]={...r,status:"processing"};const a=s.some(d=>d.status==="failed"),c=s.every(d=>d.status==="success");return{...e,steps:s,overallStatus:a?"failed":c?"success":"processing"}}function hi({checkStepStatus:e,retryStep:t,maxRetries:n=3,pollingInterval:s=2500,pollTimeoutMs:r=3e5}){const[a,c]=i.useState(null),d=i.useRef(null),u=i.useRef(null),l=i.useRef(!1),f=i.useRef(!1),p=i.useRef(0),g=i.useRef({}),x=i.useRef(0),h=i.useCallback(w=>{d.current=w,c(w)},[]),y=i.useCallback(()=>{u.current&&(clearInterval(u.current),u.current=null)},[]),C=i.useCallback(()=>{p.current=0,g.current={},x.current=0,l.current=!0,y(),h(null)},[y,h]),I=i.useCallback((w,b)=>{y(),l.current=!1,h(qo(w,b))},[y,h]),k=i.useCallback((w,b)=>{const B=d.current;B&&h(ns(B,w,b))},[h]),M=i.useCallback((w,b)=>{y(),l.current=!1,f.current=!1,p.current=0,g.current={},x.current=Date.now(),h(qo(w,b));const B=async()=>{if(!(l.current||f.current||!e)){f.current=!0;try{if(mi({now:Date.now(),lastProgressAt:x.current,pollTimeoutMs:r})){const R=d.current;R&&h({...R,steps:R.steps.map(v=>v.status==="success"?v:{...v,status:"failed",error:"Taking longer than expected. It may still complete - check the explorer, then refresh."}),overallStatus:"failed"}),l.current=!0,y();return}const S=d.current;if(!S)return;const F=S.steps.findIndex(R=>R.status!=="success");if(F===-1){l.current=!0,y();return}if(!(F===0||S.steps[F-1].status==="success"))return;try{const R=S.steps[F].stepId,{data:v}=await e(w,R);if(p.current=0,v.status==="success"&&(x.current=Date.now()),v.status==="reverted"){const N=g.current[R]||0;if(t&&N<n){g.current[R]=N+1;try{await t(w,R)}catch(j){console.error(`[intentStatus] retry failed for step ${R}:`,j)}h(ns(d.current,F,{status:"executing"}));return}}const A=ns(d.current,F,v);h(A),A.overallStatus!=="processing"&&(l.current=!0,y())}catch(R){p.current+=1,console.error(`[intentStatus] poll error (${p.current}/${Qo}):`,R),p.current>=Qo&&(h(ns(d.current,F,{status:"error"})),l.current=!0,y())}}finally{f.current=!1}}};B(),u.current=setInterval(B,s)},[e,t,n,s,r,y,h]);return i.useEffect(()=>()=>y(),[y]),{intentStatus:a,startStatusPolling:M,beginStatusTracking:I,applyStepUpdate:k,stopStatusPolling:y,clearStatus:C}}function ss(e,t){return e<=0n||t<=0n?0n:(e*t+10000n-1n)/10000n}function kn(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 Vo(e,t){const n=E.formatUnits(e,t);return n.includes(".")?n.replace(/\.?0+$/,"")||"0":n}function tn(e){const t=BigInt(e.feeBreakdown.spicenetFee),n=BigInt(e.feeBreakdown.gasFee),s=BigInt(e.feeBreakdown.bridgeFee??"0"),r=t+n+s;return{spicenetFee:t,gasFee:n,bridgeFee:s,totalFee:r}}function Ko(e){const t=BigInt(e.quotedAmount),n=BigInt(e.totalDebit),{totalFee:s}=tn(e);return t>0n||n>0n||s>0n}function gi(e){const t=BigInt(e.quotedAmount),n=BigInt(e.totalDebit),{totalFee:s}=tn(e),r=t+s;return n>r?n:r}function xi(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 En(e,t){const n=e.intents.flatMap(l=>l.batches).filter(Ko);if(n.length===0||n.length>1&&t.actionAmount===void 0)return null;let s=0n,r=0n,a=0n,c=0n;for(const l of n){const f=tn(l);s+=f.gasFee,r+=f.spicenetFee,a+=f.bridgeFee,c+=f.totalFee}const d=n.some(l=>l.gasQuoteSource==="estimated")?"estimated":n.some(l=>l.gasQuoteSource==="configured_fallback")?"configured_fallback":n[0].gasQuoteSource,u=t.actionAmount??BigInt(n[0].quotedAmount);return{symbol:t.symbol,decimals:t.decimals,grossAmount:u+c,netAmount:u,totalFee:c,spicenetFee:r,gasFee:s,bridgeFee:a,gasQuoteSource:d}}function xn(e,t){const n=e.intents.flatMap(f=>f.batches).filter(Ko);if(n.length===0)return null;const s=n.filter(f=>f.chainId===t.chainId),r=s.length>0?s:n;if(r.length>1)return null;const a=r[0],{gasFee:c,spicenetFee:d,bridgeFee:u,totalFee:l}=tn(a);return{chainId:a.chainId,tokenAddress:t.tokenAddress,symbol:t.symbol,decimals:t.decimals,grossAmount:gi(a),netAmount:BigInt(a.quotedAmount),totalFee:l,gasFee:c,spicenetFee:d,bridgeFee:u,gasQuoteSource:a.gasQuoteSource}}const on=.01,yi=10n,Ci=5;function os(e){return e.map(t=>({...t,calls:[...t.calls],tokenTransfers:t.tokenTransfers?[...t.tokenTransfers]:void 0}))}function rs({token:e,recipient:t,amount:n}){return{to:e,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[t,n]})}}function Yo({chainBatches:e,token:t,amount:n}){const s=os(e),r=s[s.length-1];if(!r)return s;const a=T.getEscrowContractAddress(r.chainId);return r.calls=[...r.calls,rs({token:t,recipient:a,amount:n})],s}function Zo({chainBatches:e,user:t,token:n,grossAmount:s,gasFee:r}){const a=os(e),c=a[a.length-1];if(!c)throw new m.SpiceflowError("INVALID_PARAMS","Action-output escrow funding requires at least one chain batch.");const d=ss(s,yi),u=r+d;if(u>=s)throw new m.SpiceflowError("INVALID_PARAMS","Borrow amount is too small after gas and Spicenet fees.",{grossAmount:s.toString(),gasFee:r.toString(),spicenetFee:d.toString()});const l=s-u,f=T.getEscrowContractAddress(c.chainId),p=[];return r>0n&&p.push(rs({token:n,recipient:T.SPICE_GAS_FEE_RECIPIENT,amount:r})),d>0n&&p.push(rs({token:n,recipient:T.SPICE_PLATFORM_FEE_RECIPIENT,amount:d})),c.calls=[...c.calls,...p,rs({token:n,recipient:f,amount:l})],c.tokenTransfers=[...c.tokenTransfers??[],...r>0n?[{from:t,to:T.SPICE_GAS_FEE_RECIPIENT,token:n,amount:r}]:[],...d>0n?[{from:t,to:T.SPICE_PLATFORM_FEE_RECIPIENT,token:n,amount:d}]:[],{from:t,to:f,token:n,amount:l}],{chainBatches:a,gasFee:r,spicenetFee:d,netEscrowAmount:l,outputCredit:{chainId:c.chainId,token:n,amount:s}}}async function Go({chainBatches:e,user:t,token:n,grossAmount:s,chainAuthorizations:r}){let a=0n,c=Zo({chainBatches:e,user:t,token:n,grossAmount:s,gasFee:a});for(let d=0;d<Ci;d+=1){const u=T.hashChainBatches(c.chainBatches),l=(await m.relayerService.estimateBatchGas({user:t,outputToken:n,chainBatches:c.chainBatches.map((f,p)=>({...f,hash:u[p].hash})),chainAuthorizations:r})).gasFee;if(l===a)return c;a=l,c=Zo({chainBatches:e,user:t,token:n,grossAmount:s,gasFee:a})}throw new m.SpiceflowError("INVALID_PARAMS","Action-output fee estimate did not converge. Please retry.")}function Dn(e){return T.isSpicenetChainId(e.chainId)}const bi="0xa9059cbb";function as(e,t){return`${e}:${t.toLowerCase()}`}function Xo(e,t){return t===T.ZERO_ADDRESS.toLowerCase()?{symbol:m.getChainName(e),decimals:18}:T.getTokenByAddress(t,e)??{symbol:"tokens",decimals:18}}function wi(e,t){const n=T.getTokenByAddress(t,e);return[n?.equivalenceGroup,n?.symbol,n?.name]}async function ki(e){return m.getWalletBalanceEntries(e)}async function vi(e,t,n){const s=new Map,r=new Map,a=new Map,c=new Map;for(const u of n?.actionOutputCredits??[]){const l=as(u.chainId,u.token);c.set(l,(c.get(l)??0n)+u.amount)}for(const u of e)if(!Dn(u)){for(const l of u.tokenTransfers??[]){if(l.from!=="escrow"&&l.from!=="solver"||!m.addressesEqual(l.to,t))continue;const f=BigInt(l.amount??0);if(f<=0n)continue;const p=as(u.chainId,l.token);r.set(p,(r.get(p)??0n)+f),l.from==="escrow"&&a.set(p,(a.get(p)??0n)+f)}for(const l of u.calls){if(l.value&&l.value>0n){const f=as(u.chainId,T.ZERO_ADDRESS);s.set(f,(s.get(f)??0n)+l.value)}if(l.data?.startsWith(bi))try{const f=E.decodeFunctionData({abi:E.erc20Abi,data:l.data});if(f.functionName!=="transfer")continue;const[,p]=f.args,g=l.to.toLowerCase(),x=as(u.chainId,g);s.set(x,(s.get(x)??0n)+p)}catch{}}}let d=null;for(const[u,l]of a){if(l<=0n)continue;const[f,p]=u.split(":"),g=Number(f),x=Xo(g,p);d??(d=await ki(t));const h=oi(d,g,p,wi(g,p));if(!(h>=l))throw new m.SpiceflowError("INVALID_PARAMS",`Insufficient Spice ${x.symbol}: needs ${E.formatUnits(l,x.decimals)}, has ${E.formatUnits(h,x.decimals)}.`,{chainId:g,token:p,userAddress:t,requiredAmount:l.toString(),balance:h.toString(),balanceSource:"spice"})}for(const[u,l]of s){if(l<=0n)continue;const[f,p]=u.split(":"),g=Number(f),x=l-(r.get(u)??0n)-(c.get(u)??0n);if(x<=0n)continue;const h=m.getClientForChain(g),y=p===T.ZERO_ADDRESS.toLowerCase()?await h.getBalance({address:t}):await h.readContract({address:p,abi:E.erc20Abi,functionName:"balanceOf",args:[t]});if(y>=x)continue;const C=Xo(g,p);throw new m.SpiceflowError("INVALID_PARAMS",`Insufficient ${C.symbol} on ${m.getChainName(g)}: needs ${E.formatUnits(x,C.decimals)}, has ${E.formatUnits(y,C.decimals)}.`,{chainId:g,token:p,userAddress:t,requiredAmount:x.toString(),balance:y.toString(),balanceSource:"wallet"})}}function Si({chainBatches:e,tokenAddress:t,tokenTransferAmount:n,useCustomTransfers:s}){if(!(e.some(Dn)||!(s?e.some(r=>Dn(r)?!1:(r.tokenTransfers??[]).some(a=>a.from==="escrow"&&BigInt(a.amount??0)>0n)):n>0n)))throw new m.SpiceflowError("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 Ii(e,t,n,s){t.forEach((r,a)=>{if(!r.to||!r.from||!r.token||r.amount===void 0)throw new m.SpiceflowError("INVALID_TOKEN_TRANSFER",`tokenTransfers[${a}] 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:a,transfer:{from:r.from,to:r.to,token:r.token,amount:r.amount?.toString()},signingAddress:n,useCustomTransfers:s})})}function qs({user:e,chainBatches:t,tokenAddress:n,tokenTransferAmount:s,exp:r,signature:a,chainAuthorizations:c,useCustomTransfers:d}){const u=t,l=T.hashChainBatches(u),f=u.filter(p=>!Dn(p)).length;if(Si({chainBatches:u,tokenAddress:n,tokenTransferAmount:s,useCustomTransfers:d}),!d&&s>0n&&f>1)throw new m.SpiceflowError("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:f,tokenAddress:n,tokenTransferAmount:s.toString()});return{user:e,...c?{chainAuthorizations:c}:{},intents:[{mode:"7702",signatureType:"ecdsa",signature:a,nbf:0,exp:r,chainBatches:l.map((p,g)=>{const x=u[g],h=Dn(x)?[]:d?x.tokenTransfers??[]:s>0n?[{from:"escrow",to:e,token:n,amount:s}]:[];return Ii(Number(p.chainId),h,e,d),{hash:p.hash,chainId:Number(p.chainId),tokenTransfers:h,calls:p.calls}})}]}}function Ai(e,t){const n=T.hashChainBatches(e).map(s=>s.hash);return E.keccak256(E.encodeAbiParameters([{type:"string"},{type:"uint256"},{type:"uint256"},{type:"bytes32[]"}],["ecdsa",0n,t,n]))}let Vs=!1;function jn(){const{address:e,isConnected:t,isAuthenticated:n,actions:s}=m.useWallet(),[r,a]=i.useState(null),{intentStatus:c,startStatusPolling:d,beginStatusTracking:u,applyStepUpdate:l,clearStatus:f}=hi({checkStepStatus:(I,k)=>m.relayerService.checkStepStatus(I,k),retryStep:async(I,k)=>{const[M,w]=I.split("/"),b=parseInt(w||"0",10);await m.relayerService.executeStep(M,b,k,{action:"execute"})}}),p=i.useRef(s),g=i.useRef(new Map);p.current=s;const x=i.useCallback(async(I,k,M)=>{const w=[...new Set(I.filter(S=>!Dn(S)).map(S=>S.chainId))],b=await Promise.all(w.map(async S=>{const F=m.getClientForChain(S),R=m.getDelegateContractAddress(S),v=Number(await T.getAccountNonce(k,F)),A=[k.toLowerCase(),S,R.toLowerCase(),v].join(":");return{chainId:S,delegateContract:R,nonce:v,cacheKey:A,cached:g.current.get(A)}})),B=[];for(const{chainId:S,delegateContract:F,nonce:R,cacheKey:v,cached:A}of b){if(A){B.push(A);continue}if(M?.aborted)throw new m.SpiceflowError("ABORT","Execution transaction aborted");const N=await p.current.signAuthorization({contractAddress:F,chainId:S,nonce:R}),j={r:N.r,s:N.s,yParity:N.yParity,address:N.address??F,chainId:Number(N.chainId??S),nonce:Number(N.nonce??R)};g.current.set(v,j),B.push(j)}return B},[]),h=i.useCallback(async(I,k,M)=>{if(M?.aborted)throw new m.SpiceflowError("ABORT","Execution transaction aborted");const w=await p.current.signMessage({raw:Ai(I,k)}),b=typeof w=="string"?w:w.signature;if(!b)throw new m.SpiceflowError("SIGNATURE_FAILED","Failed to sign intent authorization. The wallet returned an empty signature.");return b},[]),y=i.useCallback(async(I,k,M,w,b,B)=>{const S=(F,R,v)=>{w?.({step:F,message:R,...v})};if(Vs)throw new m.SpiceflowError("CONCURRENT_EXECUTION","A execution transaction is already in progress. Please wait.");Vs=!0;try{if(!e)throw new m.SpiceflowError("WALLET_DISCONNECTED","No wallet connected. Please log in first.");const F=B?.userOverride||e,R=B?.depositToEscrow?.gasFundingSource==="action-output"?B.depositToEscrow:null;let v=B?.depositToEscrow&&!R?Yo({chainBatches:I,token:B.depositToEscrow.token,amount:B.depositToEscrow.amount}):os(I),A=[],N=B?.useCustomTransfers;S("signing-delegation","Sign delegation in your wallet...");const j=await x(v,F,b);if(b?.aborted)throw new m.SpiceflowError("ABORT","Execution transaction aborted");const D=BigInt(Math.floor(Date.now()/1e3)+3600);if(R){const ie=await Go({chainBatches:I,user:F,token:R.token,grossAmount:R.amount,chainAuthorizations:j});v=ie.chainBatches,A=[ie.outputCredit],N=!0}if(!B?.skipPreSubmitFeeEstimate){let ie=!1;for(let U=0;U<10;U++){const X=B?.feeExecutionMode==="user-transfer"?ts(v,F):v,fe=qs({user:F,chainBatches:X,tokenAddress:k,tokenTransferAmount:M,exp:Number(D),signature:"0x00",chainAuthorizations:j,useCustomTransfers:N}),be=await m.relayerService.estimateActionFees(fe);a(be);const $=await B?.adjustBatchesForEstimate?.({feeEstimate:be,chainBatches:v}),de=!!$&&Ho(v,$);if(!$||de){ie=!0;break}v=$}if(!ie)throw new m.SpiceflowError("INVALID_PARAMS","Fee estimate did not converge. Please retry.")}B?.skipUserFundingPreflight||await vi(v,F,{actionOutputCredits:A}),S("signing-intent","Sign the intent in your wallet...");const z=await h(v,D,b);if(b?.aborted)throw new m.SpiceflowError("ABORT","Execution transaction aborted");S("submitting","Submitting to relayer...");const V=qs({user:F,chainBatches:v,tokenAddress:k,tokenTransferAmount:M,exp:Number(D),signature:z,chainAuthorizations:j,useCustomTransfers:N}),O=await m.relayerService.createAction(V),[P,W]=O.intentIds[0].split("/"),Q=parseInt(W||"0",10),ae=`${P}/${Q}`;S("executing","Executing on chain..."),S("executing","Executing on chain...",{actionId:P,intentId:ae,intentIndex:Q,totalSteps:v.length});const K=v.length,G=await Lo({actionId:P,intentIndex:Q,intentId:ae,totalSteps:K,signal:b,isSpicenetStep:ie=>v[ie]?.domain==="spicenet",maxExecuteAttemptsForStep:ie=>v[ie]?.domain==="spicenet"?6:3,maxPolls:180,onStatusMessage:(ie,U)=>{S("executing",ie,{txHash:U,actionId:P,intentId:ae,intentIndex:Q,totalSteps:K})}});return S("success","Transaction successful!",{txHash:G,actionId:P,intentId:ae,intentIndex:Q,totalSteps:K}),G||P}catch(F){throw console.error("[Execution] Error:",F),S("error",F.message||"Transaction failed",{error:F.message}),F}finally{Vs=!1}},[e,n,x,h]),C=i.useCallback(async(I,k,M,w)=>{if(!e)throw new m.SpiceflowError("WALLET_DISCONNECTED","No wallet connected. Please log in first.");const b=w?.userOverride||e,B=w?.depositToEscrow?.gasFundingSource==="action-output"?w.depositToEscrow:null;let S=w?.depositToEscrow&&!B?Yo({chainBatches:I,token:w.depositToEscrow.token,amount:w.depositToEscrow.amount}):os(I);const F=w?.feeExecutionMode==="user-transfer"?ts(S,b):S,R=w?.signAuthorizationsForEstimate?await x(F,b):void 0;let v=w?.useCustomTransfers;B&&(S=(await Go({chainBatches:I,user:b,token:B.token,grossAmount:B.amount,chainAuthorizations:R})).chainBatches,v=!0);const A=w?.feeExecutionMode==="user-transfer"?ts(S,b):S,N=qs({user:b,chainBatches:A,tokenAddress:k,tokenTransferAmount:M,exp:Math.floor(Date.now()/1e3)+3600,signature:"0x00",chainAuthorizations:R,useCustomTransfers:v}),j=await m.relayerService.estimateActionFees(N);return a(j),j},[e,x]);return{execute:y,estimate:C,lastFeeEstimate:r,hasEmbeddedWallet:t&&n,intentStatus:c,startStatusPolling:d,beginStatusTracking:u,applyStepUpdate:l,clearStatus:f}}const Ks=({color:e})=>o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:[o.jsx("circle",{cx:"7",cy:"7",r:"6.5",stroke:e,strokeWidth:"1.2"}),o.jsx("path",{d:"M7 6v4",stroke:e,strokeWidth:"1.2",strokeLinecap:"round"}),o.jsx("circle",{cx:"7",cy:"4.5",r:"0.7",fill:e})]}),Jo=({content:e,label:t="More info",textColor:n="#f9fafb",backgroundColor:s="#111827",borderColor:r="rgba(255,255,255,0.08)",accentColor:a="#9ca3af",children:c})=>{const d=i.useId(),[u,l]=i.useState(!1),f=i.useRef(null),[p,g]=i.useState(!1),[x,h]=i.useState(null);i.useEffect(()=>{g(!0)},[]),i.useLayoutEffect(()=>{if(!u||!f.current)return;const C=()=>{if(!f.current)return;const I=f.current.getBoundingClientRect(),k=Math.min(220,window.innerWidth-48),M=Math.min(Math.max(I.left+I.width/2,24+k/2),window.innerWidth-24-k/2),w=I.top>84;h({top:w?I.top-10:I.bottom+10,left:M,placement:w?"top":"bottom"})};return C(),window.addEventListener("scroll",C,!0),window.addEventListener("resize",C),()=>{window.removeEventListener("scroll",C,!0),window.removeEventListener("resize",C)}},[u]);const y=u&&p&&x?zn.createPortal(o.jsxs("span",{id:d,role:"tooltip",style:{position:"fixed",left:x.left,top:x.top,transform:x.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 ${r}`,boxShadow:"0 18px 45px rgba(0,0,0,0.28)",fontSize:"11px",lineHeight:"1.45",fontWeight:500,textAlign:"left",zIndex:In.tooltip,pointerEvents:"none"},children:[e,o.jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:"50%",width:"10px",height:"10px",transform:"translateX(-50%) rotate(45deg)",backgroundColor:s,...x.placement==="top"?{bottom:"-6px",borderRight:`1px solid ${r}`,borderBottom:`1px solid ${r}`}:{top:"-6px",borderTop:`1px solid ${r}`,borderLeft:`1px solid ${r}`}}})]}),document.body):null;return o.jsxs(o.Fragment,{children:[o.jsx("span",{ref:f,style:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:o.jsx("button",{type:"button","aria-label":t,"aria-describedby":u?d: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 ${r}`,backgroundColor:"transparent",color:a,cursor:"help",padding:0,outline:"none",boxShadow:u?`0 0 0 2px ${a}26`:"none",transition:"border-color 120ms ease, box-shadow 120ms ease, color 120ms ease"},children:c||o.jsx(Ks,{color:a})})}),y]})},$o=(e,t,n,s)=>({width:e,height:e,fill:"none",className:t,"aria-hidden":n??!0,style:s}),vn=({size:e=16,color:t="currentColor",strokeWidth:n=2,direction:s="down",className:r,style:a,"aria-hidden":c})=>o.jsx("svg",{...$o(e,r,c,{transform:s==="up"?"rotate(180deg)":void 0,transition:"transform 0.3s ease",...a}),viewBox:"0 0 16 16",children:o.jsx("path",{d:"M4 6L8 10L12 6",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})}),_o=({size:e=14,color:t="currentColor",strokeWidth:n=2,className:s,style:r,"aria-hidden":a})=>o.jsx("svg",{...$o(e,s,a,r),viewBox:"0 0 16 16",children:o.jsx("path",{d:"M3 8L6.5 11.5L13 5",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})});function is(e,t){if(e===0n)return"0";const n=10n**BigInt(t),s=e/n,r=(e%n).toString().padStart(t,"0").replace(/0+$/,"");return r?`${s.toString()}.${r}`:s.toString()}function ls(e,t,n){const s=`${is(e,t)} ${n}`;return e===0n?s:`-${s}`}const Ei=({fontFamily:e,textPrimary:t,textSecondary:n,cardBg:s,cardBorder:r,resolvedDark:a,darkCardBorder:c,primaryColor:d,feePreview:u,isLoading:l,errorText:f,directExecutionFeeNote:p=!1})=>{const g=a?c??r:"#e5e7eb",x=a?"#111214":"#111827",h=a?"rgba(255,255,255,0.08)":"rgba(17,24,39,0.12)",y="#f87171",C=a?"#d1d5db":"#4b5563",I=a?"#f3f4f6":t,[k,M]=i.useState(!1),w=!!f,b=w?null:u,B=b?[{label:"Total Required",help:"Total amount required to fund this action.",value:`${is(b.grossAmount,b.decimals)} ${b.symbol}`,tone:"default"},{label:"Spicenet Fee",help:"Fees paid to Spicenet for intent processing and execution.",value:ls(b.spicenetFee,b.decimals,b.symbol),tone:"fee"},{label:"Gas Fee",help:"Gas fee shown in the same token you are using for this action.",value:ls(b.gasFee,b.decimals,b.symbol),tone:"fee"},...b.bridgeFee&&b.bridgeFee>0n?[{label:"Bridge Fee",help:"Estimated cost to rebalance liquidity for this action.",value:ls(b.bridgeFee,b.decimals,b.symbol),tone:"fee"}]:[],{label:"Used in TX",help:"Resulting amount of funds used in the transaction.",value:`${is(b.netAmount,b.decimals)} ${b.symbol}`,tone:"default"}]:[];b&&ls(b.totalFee??0n,b.decimals,b.symbol);const S=b?`${is(b.grossAmount,b.decimals)} ${b.symbol}`:null;return w?o.jsx("div",{style:{backgroundColor:s,border:`1px solid ${r}`,borderRadius:a?"8px":"7px",padding:"14px 16px 12px 16px",marginBottom:"16px",boxShadow:a?"inset 0 1px 0 rgba(255,255,255,0.03)":"none"},children:o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"10px"},children:[o.jsx("span",{style:{fontSize:"17px",fontWeight:500,color:C,fontFamily:e,lineHeight:"24px"},children:"Fee"}),o.jsx("div",{style:{color:y,fontSize:"12px",lineHeight:"1.55",fontFamily:e},children:f})]})}):o.jsxs("div",{style:{backgroundColor:s,border:`1px solid ${r}`,borderRadius:a?"8px":"7px",padding:"14px 16px 12px 16px",marginBottom:"16px",boxShadow:a?"inset 0 1px 0 rgba(255,255,255,0.03)":"none"},children:[o.jsxs("button",{type:"button",onClick:()=>M(F=>!F),style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",gap:"12px",marginBottom:k?"14px":0,background:"none",border:"none",padding:0,cursor:"pointer",textAlign:"left"},children:[o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[o.jsx("span",{style:{fontSize:"17px",fontWeight:500,color:C,fontFamily:e,lineHeight:"24px"},children:"Fee"}),k&&o.jsx("span",{style:{fontSize:"12px",color:n,fontFamily:e,lineHeight:"1.45"},children:"What is funded, spent, and taken as fees"})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0},children:[S&&o.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"2px",minWidth:0},children:[o.jsx("span",{style:{fontSize:"10px",fontWeight:700,color:n,fontFamily:e,letterSpacing:"0.08em",textTransform:"uppercase"},children:"Total required"}),o.jsx("span",{style:{fontSize:"14px",fontWeight:700,color:I,fontFamily:e,whiteSpace:"nowrap"},children:S})]}),l&&!p&&o.jsx("span",{style:{fontSize:"11px",fontWeight:600,color:d,fontFamily:e,padding:"6px 9px",borderRadius:"999px",backgroundColor:a?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.035)",border:`1px solid ${a?g:"rgba(0,0,0,0.06)"}`,whiteSpace:"nowrap"},children:"Recalculating"}),o.jsx(vn,{color:n,direction:k?"up":"down",style:{flexShrink:0}})]})]}),o.jsx("div",{style:{overflow:"hidden",maxHeight:k?"480px":"0px",opacity:k?1:0,transition:"max-height 0.24s ease, opacity 0.18s ease"},children:p?o.jsx("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."}):B.length>0?o.jsxs(o.Fragment,{children:[o.jsx("div",{style:{display:"grid",gap:"10px"},children:B.map((F,R)=>o.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto",alignItems:"center",gap:"12px",paddingTop:R===0?0:"10px",borderTop:R===0?"none":`1px solid ${g}`,opacity:l?.74:1,transition:"opacity 120ms ease"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",minWidth:0},children:[o.jsx("span",{style:{fontSize:"12px",color:n,fontFamily:e,fontWeight:500},children:F.label}),o.jsx(Jo,{content:F.help,label:`${F.label} info`,textColor:"#f9fafb",backgroundColor:x,borderColor:h,accentColor:a?"#8f96a3":"#6b7280"})]}),o.jsx("span",{style:{fontSize:"12px",color:F.tone==="fee"?y:I,fontFamily:'"IBM Plex Mono", monospace',textAlign:"right",fontWeight:F.label==="Used in TX"?600:500,letterSpacing:"-0.01em"},children:F.value})]},F.label))}),o.jsx("div",{style:{marginTop:"12px",paddingTop:"12px",borderTop:`1px solid ${g}`,fontSize:"11px",color:n,fontFamily:e,lineHeight:"1.45"},children:b?.gasQuoteSource==="estimated"?"Gas quote uses a live estimate.":b?.gasQuoteSource==="configured_fallback"?"Gas quote uses a configured fallback.":"Gas quote is currently zero."})]}):o.jsx("div",{style:{fontSize:"12px",color:f?y:n,fontFamily:e,opacity:f?1:.8,lineHeight:"1.5"},children:f||"Waiting for fee estimate..."})})]})},cs=i.memo(Ei);function ji(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 Wn=({variant:e,palette:t,children:n,icon:s,style:r,fontFamily:a,size:c="default"})=>{const d=ji(e,t),u=c==="compact";return o.jsxs("div",{role:e==="error"?"alert":"status",style:{backgroundColor:d.bg,border:`1px solid ${d.border}`,borderRadius:u?"7px":"8px",padding:u?"8px 10px":"12px 16px",color:d.text,fontSize:u?"12px":"13px",lineHeight:u?1.4:1.5,display:"flex",alignItems:"flex-start",gap:u?"6px":"8px",fontFamily:a,...r},children:[s&&o.jsx("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:s}),o.jsx("span",{style:{minWidth:0,overflowWrap:"anywhere"},children:n})]})},er='"IBM Plex Mono", monospace',Pn=({label:e,value:t,palette:n,valueColor:s,labelColor:r,style:a})=>o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"12px",...a},children:[o.jsx("span",{style:{fontSize:"12px",color:r??n.textSecondary,fontFamily:er,fontWeight:500,letterSpacing:"0.03em",flexShrink:0,whiteSpace:"nowrap"},children:e}),o.jsx("span",{style:{fontSize:"13px",color:s??n.textPrimary,fontWeight:500,fontFamily:er,minWidth:0,textAlign:"right",overflowWrap:"anywhere"},children:t})]}),Ys=({onClick:e,label:t="Add Funds",color:n,fontFamily:s,style:r})=>{const[a,c]=i.useState(!1);return o.jsxs("button",{type:"button",onClick:e,"data-spiceflow-focus":!0,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!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:a?.75:1,transition:"opacity 150ms ease",...r},children:[t,o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[o.jsx("circle",{cx:"6",cy:"6",r:"5"}),o.jsx("path",{d:"M6 4v4M4 6h4",strokeLinecap:"round"})]})]})},Fi="This deposit didn't confirm in time. It may still have gone through, so check the explorer and refresh your balance before retrying.";function Ti(e){return e?.overallStatus!=="failed"?{isFailed:!1,failureMessage:null}:{isFailed:!0,failureMessage:e.steps?.find(t=>t.status==="failed"&&!!t.error)?.error||Fi}}const ds=o.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",style:{flexShrink:0},children:[o.jsx("circle",{cx:"10",cy:"10",r:"10",fill:"#10b981"}),o.jsx("path",{d:"M6 10l3 3 5-6",stroke:"#ffffff",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),Bi=({isOpen:e,onClose:t,onConfirm:n,data:s,isExecuting:r=!1,error:a=null,theme:c,styles:d,intentStatus:u,postDepositStatus:l="idle",hasPostDepositInstruction:f=!1})=>{const{dark:p,dk:g,theme:x}=m.useSpiceBrand(d),[h,y]=i.useState(!1),[C,I]=i.useState(!0);i.useEffect(()=>{e||y(!1)},[e]);const k=()=>{y(!0),setTimeout(()=>{t()},300)},M=()=>{I(!C)};if(!e||!s)return null;const w=u?.overallStatus==="processing",b=u?.overallStatus==="success",B=!!u,{isFailed:S,failureMessage:F}=Ti(u),R=!B&&f,v=R&&l==="executing",A=R&&l==="success",N=b&&f&&(l==="idle"||l==="executing")||v,j=b&&(!f||l==="success"||l==="error")||A||R&&l==="error",D=p?g.cardBg:"#ffffff",z=p?"0 -4px 20px rgba(0, 0, 0, 0.4)":"0 -4px 20px rgba(0, 0, 0, 0.15)",V=g.textSecondary,O=p?g.textPrimary:"#1f2937",P=p?g.textPrimary:"#1f2937",W=K=>o.jsx("div",{style:{marginBottom:c.spacing.md,padding:c.spacing.md,backgroundColor:d?.errorMessage?.backgroundColor||(c.mode==="light"?"#fef2f2":`${c.colors.error}20`),border:`1px solid ${d?.errorMessage?.borderColor||(c.mode==="light"?"#fecaca":c.colors.error)}`,borderRadius:d?.errorMessage?.borderRadius||c.borderRadius.md},children:o.jsx("p",{style:{color:d?.errorMessage?.color||c.colors.error,fontSize:d?.errorMessage?.fontSize||c.typography.fontSize.sm,margin:0,fontFamily:d?.errorMessage?.fontFamily||d?.fontFamily||c.typography.fontFamily},children:K})}),Q={fontSize:c.typography.fontSize.sm,fontWeight:500,color:V,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.5px"},ae=(K,G,ie=O)=>o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("span",{style:Q,children:K}),o.jsx("span",{style:{fontSize:c.typography.fontSize.sm,fontWeight:500,color:ie,fontFamily:'"IBM Plex Mono", monospace'},children:G})]});return o.jsxs("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:10,animation:h?"slideDown 0.3s ease-in":"slideUp 0.3s ease-out",pointerEvents:"auto"},children:[o.jsxs("div",{style:{backgroundColor:D,borderRadius:"0",width:"100%",maxWidth:"522px",margin:"0 auto",padding:"18px 24px",boxShadow:z},children:[!b&&!A&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:c.spacing.md},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",cursor:"pointer"},onClick:M,children:[o.jsx("span",{style:{fontSize:"13px",fontWeight:c.typography.fontWeight.medium,color:V,fontFamily:d?.fontFamily||c.typography.fontFamily},children:"Transaction Details"}),o.jsx(vn,{color:V,direction:C?"up":"down"})]}),o.jsx("button",{onClick:K=>{K.stopPropagation(),t()},style:{background:"none",border:"none",cursor:"pointer",padding:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:V,transition:"color 0.2s ease"},onMouseEnter:K=>{K.currentTarget.style.color=P},onMouseLeave:K=>{K.currentTarget.style.color=V},children:o.jsx(Mn,{size:16})})]}),o.jsxs("div",{style:{marginBottom:c.spacing.lg,display:"flex",flexDirection:"column",gap:c.spacing.md,overflow:"hidden",maxHeight:C?"200px":"0px",opacity:C?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease"},children:[ae("NETWORK",s.network),ae("DEPOSITED AMOUNT",s.amount,c.colors.success),s.creditedAmount&&ae("CREDITED AMOUNT",s.creditedAmount),s.spicenetFee&&ae("SPICENET FEE",s.spicenetFee),s.networkFee&&ae("EST. GAS FEE",s.networkFee)]})]}),a&&!B&&W(a),S&&F&&W(F),o.jsx(m.Button,{onClick:j||S?k:n,variant:"outline",fullWidth:!0,disabled:r||w||N||v,styles:d,theme:x,children:r||w||v||N?"PROCESSING...":j?"CONTINUE \u2192":S?"CLOSE":"CONFIRM DEPOSIT"}),j&&o.jsx("p",{style:{marginTop:c.spacing.md,marginBottom:0,fontSize:"14px",color:V,textAlign:"center",fontFamily:d?.fontFamily||c.typography.fontFamily},children:"Your funds are now available in your Account"}),o.jsx("div",{style:{marginTop:c.spacing.md,display:"flex",justifyContent:"center",alignItems:"center"},children:o.jsx("img",{src:Os,alt:"Powered by SpiceNet",style:{height:"auto",width:"130px",opacity:1,filter:p?"brightness(0) invert(1) opacity(0.7)":"none"}})})]}),o.jsx("style",{children:`
2
+ "use strict";var Zr=Object.create;var oo=Object.defineProperty;var Kr=Object.getOwnPropertyDescriptor;var Xr=Object.getOwnPropertyNames;var Gr=Object.getPrototypeOf,Jr=Object.prototype.hasOwnProperty;var $r=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Xr(t))!Jr.call(e,r)&&r!==n&&oo(e,r,{get:()=>t[r],enumerable:!(s=Kr(t,r))||s.enumerable});return e};var _r=(e,t,n)=>(n=e!=null?Zr(Gr(e)):{},$r(t||!e||!e.__esModule?oo(n,"default",{value:e,enumerable:!0}):n,e));const o=require("react/jsx-runtime"),i=require("react"),xs=require("lucide-react"),m=require("./privy-BdHp5Owr.js"),cn=require("wagmi"),j=require("@spicenet-io/spiceflow-core"),F=require("viem"),nn=require("viem/actions"),ro=require("@privy-io/react-auth"),Un=require("react-dom");require("@tanstack/react-query");var jn=typeof document<"u"?document.currentScript:null;const ea="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@100;200;300;400;500;600;700&display=swap",ta="spiceflow-ibm-plex-mono",na="spiceflow-preconnect-googleapis",sa="spiceflow-preconnect-gstatic";function ys(e,t){if(document.getElementById(e))return;const n=t();n.id=e,document.head.appendChild(n)}function oa(){typeof document>"u"||(ys(na,()=>{const e=document.createElement("link");return e.rel="preconnect",e.href="https://fonts.googleapis.com",e}),ys(sa,()=>{const e=document.createElement("link");return e.rel="preconnect",e.href="https://fonts.gstatic.com",e.crossOrigin="",e}),ys(ta,()=>{const e=document.createElement("link");return e.rel="stylesheet",e.href=ea,e}))}const wn={base:0,raised:1,sticky:10,overlay:20,popover:40,modal:1e3,dropdown:1100,toast:1200,tooltip:1300},Cs={none:"0",sm:"4px",md:"6px",card:"8px",input:"10px",shell:"9px",modal:"12px",pill:"9999px",circle:"50%"},Rt={out:"cubic-bezier(0.22, 1, 0.36, 1)",inOut:"cubic-bezier(0.65, 0, 0.35, 1)",linear:"linear"},Yt={fast:"120ms",normal:"150ms",slow:"300ms",progress:"400ms"},en={interactive:`transform ${Yt.normal} ${Rt.out}, box-shadow ${Yt.normal} ${Rt.out}, background-color ${Yt.normal} ${Rt.out}, border-color ${Yt.normal} ${Rt.out}, color ${Yt.normal} ${Rt.out}`,color:`background-color ${Yt.normal} ${Rt.out}, border-color ${Yt.normal} ${Rt.out}, color ${Yt.normal} ${Rt.out}`,popover:`opacity ${Yt.normal} ${Rt.out}, transform ${Yt.normal} ${Rt.out}`},ao={ui:'"Helvetica Neue", sans-serif',mono:'"IBM Plex Mono", monospace'},bs=({value:e,onChange:t,ariaLabel:n,placeholder:s,endAdornment:r,size:a="lg",dark:l,styles:d,inputRef:u,autoFocus:c})=>{const{dark:f,dk:p}=m.useSpiceBrand(d,l),g=l??f,x=a==="lg",h=x?"15px":"14px",b=x?"7px":"10px",y=x?Cs.input:Cs.sm,I=d?.fontFamily||ao.ui,v=g?p.inputBg:"#FAFAFA",D=g?p.inputBorder:"#e5e7eb",k=g?p.textPrimary:"#374151",w=g?p.textSecondary:"#9ca3af";return o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",backgroundColor:v,borderRadius:y,boxShadow:g?"0 2px 4px rgba(0, 0, 0, 0.3)":"0 2px 4px rgba(0, 0, 0, 0.1)",padding:`${b} 5px`,border:`1px solid ${D}`},children:[o.jsx(xs.Search,{style:{color:w},size:24}),o.jsx("input",{ref:u,type:"text",role:"searchbox","aria-label":n,autoComplete:"off",spellCheck:!1,autoFocus:c,"data-spiceflow-focus":!0,placeholder:s,value:e,onChange:M=>t(M.target.value),style:{flex:1,backgroundColor:v,outline:"none",border:"none",color:k,fontSize:h,fontWeight:400,fontFamily:I}}),r]})},ws=typeof process<"u"&&process.env?.NEXT_PUBLIC_MORALIS_API_KEY||typeof{url:typeof document>"u"?require("url").pathToFileURL(__filename).href:jn&&jn.tagName.toUpperCase()==="SCRIPT"&&jn.src||new URL("index.cjs.js",document.baseURI).href}<"u"&&void 0||"",ra="https://deep-index.moralis.io/api/v2.2",aa=async(e,t)=>{try{const n=m.getChainsForAssets(),s=m.getClientForChain(t),r=await nn.getBalance(s,{address:e}),a=n[t],l=parseFloat((Number(r)/Math.pow(10,18)).toFixed(6)),d=m.getChainConfig(t),u=d?.supportedTokens?.find(c=>j.isNativeToken(c.address));return{address:j.ZERO_ADDRESS,name:a.chain.nativeCurrency.name,symbol:a.chain.nativeCurrency.symbol,decimals:a.chain.nativeCurrency.decimals,balance:r,balanceFormatted:l,balanceUsd:0,logoURI:u?.logo||d?.logo,isNative:!0,chainId:t}}catch{const n=m.getChainsForAssets(),s=m.getChainConfig(t),r=s?.supportedTokens?.find(a=>j.isNativeToken(a.address));return{address:j.ZERO_ADDRESS,name:n[t].chain.nativeCurrency.name,symbol:n[t].chain.nativeCurrency.symbol,decimals:18,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:r?.logo||s?.logo,isNative:!0,chainId:t}}},io=async(e,t,n,s,r,a)=>{try{if(!F.isAddress(n))return null;const l=F.getAddress(n),d=F.isAddress(e)?F.getAddress(e):e,u=m.getClientForChain(t),c=await nn.readContract(u,{address:l,abi:F.erc20Abi,functionName:"balanceOf",args:[d]}),f=parseFloat((Number(c)/Math.pow(10,a)).toFixed(6));return f>0?{address:l,name:s,symbol:r,decimals:a,balance:c,balanceFormatted:f,balanceUsd:0,logoURI:void 0,isNative:!1,chainId:t}:null}catch(l){const d=typeof l?.message=="string"?l.message:String(l?.message??"");return d.includes("checksum")||d.includes("Address")||d.includes("invalid"),null}},lo=(e,t)=>{const n=m.getChainConfig(t);if(!n)return e;const s=new Set(e.map(a=>a.address.toLowerCase())),r=e.some(a=>a.isNative);for(const a of n.supportedTokens||[])j.isNativeToken(a.address)&&r||s.has(a.address.toLowerCase())||e.push({address:a.address,name:a.name,symbol:a.symbol,decimals:a.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:a.logo,isNative:j.isNativeToken(a.address),chainId:t});if(!e.find(a=>a.isNative)){const a=n.supportedTokens?.find(l=>j.isNativeToken(l.address));e.push({address:j.ZERO_ADDRESS,name:n.nativeCurrency.name,symbol:n.nativeCurrency.symbol,decimals:n.nativeCurrency.decimals,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,logoURI:a?.logo||n.logo,isNative:!0,chainId:t})}return e},ia=async(e,t)=>{const n=[],s=await aa(e,t);s.balanceFormatted>0&&n.push(s);const r=(m.getChainConfig(t)?.supportedTokens||[]).filter(a=>!j.isNativeToken(a.address));if(r.length>0)try{const a=m.getClientForChain(t),l=F.getAddress(e),d=r.filter(p=>F.isAddress(p.address)).map(p=>({address:F.getAddress(p.address),abi:F.erc20Abi,functionName:"balanceOf",args:[l]})),u=await a.multicall({contracts:d}),c=r.filter(p=>F.isAddress(p.address)),f=[];u.forEach((p,g)=>{if(p.status==="success"){const x=p.result;if(x&&x>0n){const h=c[g],b=parseFloat((Number(x)/Math.pow(10,h.decimals)).toFixed(6));b>0&&n.push({address:F.getAddress(h.address),name:h.name,symbol:h.symbol,decimals:h.decimals,balance:x,balanceFormatted:b,balanceUsd:0,logoURI:h.logo,isNative:!1,chainId:t})}}else f.push(c[g])});for(const p of f){const g=await io(e,t,p.address,p.name,p.symbol,p.decimals);g&&(g.logoURI=p.logo,n.push(g))}}catch{for(const a of r){const l=await io(e,t,a.address,a.name,a.symbol,a.decimals);l&&(l.logoURI=a.logo,n.push(l))}}return{tokens:lo(n,t),chainId:t}},la=async(e,t)=>{const n=m.getChainsForAssets()[t];if(!n?.moralisName)throw new Error(`Moralis unsupported for chain ${t}`);if(!ws)throw new Error("MORALIS_API_KEY is missing");const s=[],r=(await(await import("axios")).default.get(`${ra}/wallets/${e}/tokens`,{params:{chain:n.moralisName},headers:{"X-API-Key":ws}})).data?.result||[];for(const a of r){const l=a.token_address,d=!!a.native_token||j.isNativeToken(l);if(!d&&!F.isAddress(l))continue;const u=parseInt(a.decimals||"18",10)||18,c=a.balance||"0",f=parseFloat(a.balance_formatted||(Number(c)/Math.pow(10,u)).toString());f<=0||s.push({address:d?j.ZERO_ADDRESS:F.getAddress(l),name:a.name||"Unknown",symbol:a.symbol||"UNKNOWN",decimals:u,balance:BigInt(c),balanceFormatted:f,balanceUsd:parseFloat(a.usd_value||"0"),logoURI:a.logo,isNative:d,chainId:t})}return{tokens:lo(s,t),chainId:t}},co=async(e,t)=>{try{if(m.getChainsForAssets()[t]?.moralisName&&ws)try{return await la(e,t)}catch{}return await ia(e,t)}catch{return{tokens:[],chainId:t}}},ks=async(e,t)=>{if(!e)throw new Error("Wallet address is required");const n=m.getChainsForAssets(),s=t&&t.length>0?new Set(t):null,r=Object.keys(n).map(Number).filter(d=>!s||s.has(d)),a=await Promise.allSettled(r.map(d=>co(e,d))),l={};return a.forEach((d,u)=>{d.status==="fulfilled"&&(l[r[u]]=d.value)}),l},vs=({address:e,supportedChains:t,fetchBalances:n,enabled:s=!0,refreshInterval:r=0})=>{const[a,l]=i.useState([]),[d,u]=i.useState(!1),[c,f]=i.useState(null),p=i.useRef(!0),g=i.useRef(e),x=i.useRef(t),h=i.useRef(n);i.useEffect(()=>{g.current=e,x.current=t,h.current=n},[e,t,n]);const b=i.useCallback(async()=>{const v=g.current,D=x.current;if(!v){l([]);return}p.current&&u(!0),f(null);try{const k=m.getChainsForAssets(),w=Object.keys(k).map(Number).filter(A=>D.includes(A)),M=(await Promise.allSettled(w.map(async A=>{try{const T=await co(v,A);return T.tokens.map(B=>({...B,chainId:T.chainId}))}catch(T){return console.error(`Error fetching assets for chain ${A}:`,T),[]}}))).filter(A=>A.status==="fulfilled").flatMap(A=>A.value);l(M)}catch(k){const w=k instanceof Error?k.message:"Failed to fetch assets";f(w)}finally{p.current&&(u(!1),p.current=!1)}},[]),y=i.useCallback(v=>a.filter(D=>D.chainId===v),[a]),I=i.useCallback(()=>a.filter(v=>v.isNative),[a]);return i.useEffect(()=>{if(!s){p.current=!0,l([]),u(!1),f(null);return}e?(p.current=!0,b()):l([])},[e,s,b]),i.useEffect(()=>{if(!s||!e||!r)return;const v=setInterval(()=>{b()},r);return()=>clearInterval(v)},[e,s,r]),{assets:a,loading:d,error:c,refreshAssets:b,getAssetsByChain:y,getNativeAssets:I}};function ca(e,t=40,n=18){const s=e.length,r=[{maxLength:7,shrink:0},{maxLength:10,shrink:6},{maxLength:13,shrink:12},{maxLength:16,shrink:16},{maxLength:20,shrink:19}].find(a=>s<=a.maxLength);return Math.max(n,t-(r?.shrink??22))}const kn=({value:e,element:t="span",placeholder:n,ariaLabel:s,ariaInvalid:r,disabled:a,onChange:l,inputMode:d="decimal",autoComplete:u="off",dataSpiceflowFocus:c,fontFamily:f,fontWeight:p=700,color:g,textAlign:x,lineHeight:h=1,maxFontSize:b=40,minFontSize:y=18,overflow:I="ellipsis",title:v,style:D})=>{const k=ca(e||n||"",b,y),w=I==="wrap"?{overflowWrap:"anywhere",wordBreak:"break-word",whiteSpace:"normal"}:I==="ellipsis"?{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{},M={fontFamily:f,fontSize:`${k}px`,fontWeight:p,color:g,lineHeight:h,letterSpacing:0,textAlign:x,minWidth:0,maxWidth:"100%",...w,...D};return t==="input"?o.jsx("input",{type:"text",inputMode:d,autoComplete:u,"aria-label":s,"aria-invalid":r||void 0,"data-spiceflow-focus":c||void 0,value:e,onChange:l,placeholder:n,disabled:a,title:v,style:{backgroundColor:"transparent",border:"none",outline:"none",padding:0,width:"100%",...M}}):o.jsx(t,{title:v,style:M,children:e})};var uo="data:image/png;base64,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",da="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=",ua="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=",Ss="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 zn=j.getChainMeta(1)?.logo??"",pa=j.TOKENS.find(e=>e.symbol==="USDC")?.logo??"",xn=Object.fromEntries([...j.getMainnetChains(),...j.getTestnetChains()].map(e=>[e.id,e.logo])),On={metamask:uo,metaMask:uo,rabby:da,phantom:ua},fa=Object.fromEntries(j.TOKENS.map(e=>[e.symbol,e.logo])),Is=({symbol:e,logoURI:t,size:n=20,theme:s})=>{const{theme:r}=m.useSpiceBrand(),a=s||r,[l,d]=i.useState(!1),u={width:`${n}px`,height:`${n}px`,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:`${n*.4}px`,fontWeight:a.typography.fontWeight.bold,flexShrink:0,overflow:"hidden",backgroundColor:"#ffffff"},c=e.toUpperCase(),f=t||fa[c];if(f&&!l)return o.jsx("img",{src:f,alt:e,loading:"lazy",decoding:"async",style:{...u,objectFit:"cover"},onError:()=>d(!0)});const p=ma(e);return o.jsx("div",{style:{...u,...p.style},children:p.icon})},ma=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((d,u)=>u.charCodeAt(0)+((d<<5)-d),0),r=Math.abs(s)%360,a=`hsl(${r}, 60%, 50%)`,l=r>180?"#FFFFFF":"#000000";return{style:{backgroundColor:a,color:l},icon:t.charAt(0)}},po=({chainId:e,name:t,size:n=16})=>{const s=e&&(xn[e]||j.getChainMeta(e)?.logo)||"";return s?o.jsx("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 As(e){return e.displaySymbol||e.symbol}function ha(e){return e.displayName||e.displaySymbol||e.name||e.symbol}function Es(e){return e.displayChainName||m.getChainName(e.chainId)}const ga=({selectedAsset:e,assets:t,onAssetSelect:n,showDropdown:s,onToggleDropdown:r,disabled:a=!1,theme:l,onViewAllAssets:d})=>{const{theme:u}=m.useSpiceBrand(),c=l||u,f=i.useRef(null),p=i.useRef(null),g=i.useRef(null),[x,h]=i.useState(null);i.useEffect(()=>{if(s&&p.current){const S=()=>{if(p.current){const R=p.current.getBoundingClientRect();h({top:R.bottom+6,right:window.innerWidth-R.right})}};return S(),window.addEventListener("scroll",S,!0),window.addEventListener("resize",S),()=>{window.removeEventListener("scroll",S,!0),window.removeEventListener("resize",S)}}else h(null)},[s]),i.useEffect(()=>{const S=R=>{f.current&&!f.current.contains(R.target)&&g.current&&!g.current.contains(R.target)&&s&&r()};return s&&document.addEventListener("mousedown",S),()=>{document.removeEventListener("mousedown",S)}},[s,r]);const[b,y]=i.useState(!1),I=c.mode==="light",v={backgroundColor:"transparent",border:`1px solid ${I?"#aaaaaa":c.colors.border}`,borderRadius:"6px",color:c.colors.text,cursor:a?"not-allowed":"pointer",padding:"8px 14px 8px 10px",width:"100%",display:"flex",flexDirection:"column",gap:"4px",opacity:a?.6:1,transition:en.interactive,transform:b?"scale(0.98)":"scale(1)"},D={display:"flex",justifyContent:"space-between",alignItems:"center",gap:"10px",minWidth:0},k={display:"flex",alignItems:"center",gap:"4px",paddingTop:"4px",borderTop:`1px solid ${c.colors.border}`},w=()=>x?{position:"fixed",top:`${x.top}px`,right:`${x.right}px`,backgroundColor:c.colors.secondary,border:`1px solid ${c.colors.border}`,borderRadius:c.borderRadius.md,boxShadow:c.shadows.lg,zIndex:wn.dropdown,width:"200px",maxHeight:"300px",overflow:"auto"}:{},M={backgroundColor:"transparent",border:"none",color:c.colors.text,cursor:"pointer",padding:c.spacing.sm,width:"100%",display:"flex",alignItems:"center",gap:c.spacing.sm,transition:`background-color ${c.animation.normal}`,":hover":{backgroundColor:c.colors.surfaceHover}},A={display:"flex",flexDirection:"column",alignItems:"flex-start",flex:1},T={fontSize:c.typography.fontSize.sm,fontWeight:c.typography.fontWeight.medium},B={fontSize:c.typography.fontSize.xs,color:c.colors.textMuted},C={backgroundColor:"transparent",border:"none",borderTop:`1px solid ${c.colors.border}`,color:c.colors.primary,cursor:"pointer",padding:"10px 12px",width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontFamily:c.typography.fontFamily,fontSize:c.typography.fontSize.xs,fontWeight:c.typography.fontWeight.medium,textDecoration:"underline",textUnderlineOffset:"2px"},E={transition:`transform ${c.animation.normal}`,transform:s?"rotate(180deg)":"rotate(0deg)",flexShrink:0};return o.jsxs(o.Fragment,{children:[o.jsx("div",{style:{position:"relative"},ref:f,children:o.jsxs("div",{ref:p,style:v,onClick:a?void 0:r,onMouseLeave:()=>{y(!1)},onMouseDown:()=>y(!0),onMouseUp:()=>y(!1),children:[o.jsxs("div",{style:D,children:[o.jsx("div",{style:{display:"flex",alignItems:"center",gap:"8px",flex:1,minWidth:0},children:e?.asset?o.jsxs(o.Fragment,{children:[o.jsx(Is,{symbol:e.asset.symbol,logoURI:e.asset.logoURI,theme:c,size:24}),o.jsx("span",{style:{fontSize:"15px",fontWeight:500,color:c.colors.text,lineHeight:"1.5",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:As(e.asset)})]}):o.jsx("span",{style:{fontSize:"14px",color:c.colors.textMuted},children:"Select"})}),o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:I?c.colors.textMuted:"#c7ccd4",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:E,children:o.jsx("path",{d:"M6 9l6 6 6-6"})})]}),e?.asset&&o.jsxs("div",{style:k,children:[!e.asset.displayChainName&&o.jsx(po,{chainId:e.asset.chainId,theme:c}),o.jsx("span",{style:{fontSize:"11px",color:c.colors.textMuted},children:Es(e.asset)})]})]})}),s&&x&&Un.createPortal(o.jsxs("div",{ref:g,style:w(),children:[t.length===0&&o.jsx("div",{style:{padding:"10px 12px",color:c.colors.textMuted,fontSize:c.typography.fontSize.xs},children:"No assets available"}),t.map(S=>o.jsxs("button",{style:M,onClick:()=>{n(S),r()},children:[o.jsx(Is,{symbol:S.symbol,logoURI:S.logoURI,theme:c},`${S.address}-${S.chainId}`),o.jsxs("div",{style:A,children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:c.spacing.xs},children:[o.jsx("span",{style:T,children:As(S)}),!S.displayChainName&&o.jsx(po,{chainId:S.chainId,theme:c})]}),o.jsxs("span",{style:B,children:[m.formatBalance(S.balanceFormatted)," \u2022"," ",Es(S)]})]})]},S.receiptTokenId||`${S.address}-${S.chainId}`)),d&&o.jsxs("button",{type:"button",style:C,onClick:()=>{r(),d()},children:[o.jsx("span",{children:"View all assets"}),o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[o.jsx("path",{d:"M5 12h14"}),o.jsx("path",{d:"M13 5l7 7-7 7"})]})]})]}),document.body)]})},xa=({assets:e,selectedAsset:t,onAssetSelect:n,onAmountChange:s,disabled:r=!1,loading:a=!1,label:l="Select Asset",showBalance:d=!0,showMaxButton:u=!0,placeholder:c="0.0",theme:f,styles:p,maxAmount:g,resolveMaxAmount:x,hideAmountInput:h=!1,displayAmount:b,dark:y,onViewAllAssets:I})=>{const{theme:v,primaryColor:D,dark:k,dk:w}=m.useSpiceBrand(p,y),M=f||v,A=y??k,[T,B]=i.useState(!1),[C,E]=i.useState(null),[S,R]=i.useState(null),[N,P]=i.useState(!1),[H,L]=i.useState(null),[W,U]=i.useState(t?.amount||""),z=i.useRef(null),_=i.useRef(""),V=i.useRef(x),Y=t?.asset?t.asset.receiptTokenId||`${t.asset.chainId}-${t.asset.address}`:"",ue=!!x,q=H??g;i.useEffect(()=>{V.current=x},[x]),i.useEffect(()=>{Y!==_.current&&(U(t?.amount||""),_.current=Y)},[Y,t?.amount]),i.useEffect(()=>{let X=!1;L(null);const te=V.current;if(!t?.asset||!te)return P(!1),()=>{X=!0};const se=t.asset;return P(!0),Promise.resolve(te(se)).then(ye=>{X||L(ye===null?null:m.parseNumericInput(ye,se.decimals))}).catch(ye=>{X||console.warn("[AssetSelector] Failed to resolve max amount:",ye)}).finally(()=>{X||P(!1)}),()=>{X=!0}},[Y,ue,t?.asset?.balance,t?.asset?.decimals,t?.asset?.chainId,t?.asset?.address]);const ee=X=>{let te=X;te.startsWith(".")&&(te="0"+te);const se=m.parseNumericInput(te,t?.asset?.decimals);if(!se){U(se),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{s(se)},300);return}if(q&&parseFloat(se)>parseFloat(q)){U(q),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{s(q)},300);return}if(t?.asset){const ye=parseFloat(se),Q=t.asset.balanceFormatted,J=t.asset.decimals;if(!isNaN(ye)&&ye>Q){const me=m.formatDecimalInput(Math.floor(Q*10**J)/10**J,J);U(me),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{s(me)},300);return}}U(se),z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{s(se)},300)},oe=X=>{U(X),z.current&&clearTimeout(z.current),s(X)};i.useEffect(()=>{!q||!W||parseFloat(W)<=parseFloat(q)||oe(q)},[q,W]);const pe=async()=>{if(t?.asset){const X=t.asset.decimals,te=V.current;if(te){P(!0);try{const Q=await te(t.asset);if(Q!==null){const J=m.parseNumericInput(Q,X);L(J),oe(J);return}}catch(Q){console.warn("[AssetSelector] Failed to resolve max amount:",Q)}finally{P(!1)}}if(q){oe(m.parseNumericInput(q,X));return}let se=Math.floor(t.asset.balanceFormatted*10**X)/10**X;q&&se>parseFloat(q)&&(se=parseFloat(q));const ye=m.formatDecimalInput(se,X);oe(ye)}},we=async X=>{if(t?.asset){if(X===100){await pe();return}const te=t.asset.decimals,se=t.asset.balanceFormatted*X/100;let ye=Math.floor(se*10**te)/10**te;q&&ye>parseFloat(q)&&(ye=parseFloat(q));const Q=m.formatDecimalInput(ye,te);oe(Q)}},de=t?.asset?.balanceFormatted??0,xe=parseFloat(W)||0,Ee=de>0?xe/de*100:0;i.useEffect(()=>()=>{z.current&&clearTimeout(z.current)},[]);const Z={backgroundColor:p?.assetSelector?.backgroundColor||p?.secondaryBackground||(A?w.cardBg:"#e9e9e9"),border:A?`0.5px solid ${w.cardBorder}`:"0.5px solid #A8A8A7",borderRadius:p?.assetSelector?.borderRadius||"6px",padding:p?.assetSelector?.padding||"16px",height:"auto",minHeight:h?void 0:"144px",display:"flex",flexDirection:"column",gap:"8px",position:"relative",opacity:r?.6:1};return a?o.jsx("div",{style:Z,children:o.jsxs("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"space-between"},children:[o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[o.jsx("div",{style:{backgroundColor:A?w.hoverBg:"#d1d5db",borderRadius:"4px",height:"16px",width:"60px"}}),o.jsx("div",{style:{backgroundColor:A?w.hoverBg:"#d1d5db",borderRadius:"4px",height:"40px",width:"150px"}})]}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"8px"},children:[o.jsx("div",{style:{backgroundColor:A?w.hoverBg:"#d1d5db",borderRadius:"4px",height:"12px",width:"80px"}}),o.jsx("div",{style:{backgroundColor:A?w.hoverBg:"#d1d5db",borderRadius:"6px",height:"46px",width:"128px"}})]})]})}):o.jsxs("div",{style:Z,children:[o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("span",{style:{fontFamily:p?.fontFamily||M.typography.fontFamily,fontSize:"16px",fontWeight:500,color:A?w.textSecondary:"#7d7c7b",lineHeight:"24px"},children:l}),d&&t?.asset&&o.jsxs("span",{style:{fontFamily:p?.fontFamily||M.typography.fontFamily,fontSize:"12px",fontWeight:500,color:A?w.textSecondary:"#71757a",lineHeight:"16px"},children:["Balance: ",m.formatBalance(t.asset.balanceFormatted)]})]}),o.jsxs("div",{style:{display:"flex",justifyContent:h&&!b?"flex-start":"space-between",alignItems:"center",flex:1},children:[!h&&o.jsx(kn,{element:"input",ariaLabel:t?.asset?`${t.asset.symbol} amount`:"Amount",dataSpiceflowFocus:!0,value:W,onChange:X=>ee(X.target.value),placeholder:c,disabled:r||!t?.asset,fontFamily:p?.fontFamily||M.typography.fontFamily,color:r?A?"rgba(255, 255, 255, 0.16)":"rgba(14, 13, 11, 0.16)":W?A?"#ffffff":"#0e0d0b":A?"#4a5568":"#d1d5db",lineHeight:"1.08",maxFontSize:40,minFontSize:22,style:{width:"100%",maxWidth:"200px"}}),o.jsx("div",{style:{width:"176px",position:"relative",flexShrink:0},children:o.jsx(ga,{selectedAsset:t,assets:e,onAssetSelect:n,showDropdown:T,onToggleDropdown:()=>B(!T),disabled:r,theme:M,onViewAllAssets:I})}),h&&b&&o.jsx(kn,{element:"span",value:b,title:b,fontFamily:p?.fontFamily||M.typography.fontFamily,color:A?"#ffffff":"#0e0d0b",lineHeight:"1.08",textAlign:"right",maxFontSize:40,minFontSize:22,style:{flex:1}})]}),!h&&o.jsx("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"10px",height:"14px"},children:[0,25,50,75,100].map((X,te)=>{const se=Math.abs(Ee-X)<1,ye=te===4,Q=X/100,J=C===X,me=S===X;return o.jsx("button",{onClick:()=>we(X),onMouseEnter:()=>E(X),onMouseLeave:()=>{E(null),R(null)},onMouseDown:()=>R(X),onMouseUp:()=>R(null),disabled:r||!t?.asset||X===100&&N,title:`${X}%`,style:{width:"14px",height:"14px",padding:0,border:"none",backgroundColor:"transparent",cursor:r||!t?.asset||X===100&&N?"not-allowed":"pointer",opacity:se?1:J?.8:.5,transform:me?"scale(0.85)":J?"scale(1.15)":"scale(1)",transition:en.interactive},children:o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",children:[o.jsx("circle",{cx:"7",cy:"7",r:"6.84375",fill:ye?D:"none",stroke:ye?D:A?"#4a5568":"#3C3E42",strokeWidth:"0.3125"}),!ye&&Q>0&&o.jsx("path",{d:`M 7 7 L 7 0.15625 A 6.84375 6.84375 0 ${Q>.5?1:0} 1 ${7+6.84375*Math.sin(Q*2*Math.PI)} ${7-6.84375*Math.cos(Q*2*Math.PI)} Z`,fill:A?w.textSecondary:"#3C3E42"})]})},X)})})]})},Ln=i.memo(xa),ya=new Set(["USDC","SUSD","USD","NUSD","USDT","DAI","ENUSD"]),fo={ETH:"ethereum",WETH:"ethereum",BTC:"bitcoin",WBTC:"bitcoin",WCBTC:"bitcoin",CBTC:"bitcoin",ECBTC:"bitcoin",ARB:"arbitrum",MATIC:"matic-network",POL:"matic-network"};let Yn=null;const Ca=6e4;async function js(e){const t={},n=new Set,s={};for(const a of e){const l=a.toUpperCase();if(ya.has(l))t[l]=1;else if(fo[l]){const d=fo[l];n.add(d),s[l]=d}else t[l]=0}if(n.size===0)return t;const r=Date.now();if(Yn&&r-Yn.timestamp<Ca){for(const[a,l]of Object.entries(s))t[a]=Yn.prices[l]??0;return t}try{const a=Array.from(n).join(","),l=await fetch(`https://api.coingecko.com/api/v3/simple/price?ids=${a}&vs_currencies=usd`);if(!l.ok)throw new Error(`CoinGecko ${l.status}`);const d=await l.json(),u={};for(const c of n)u[c]=d[c]?.usd??0;Yn={prices:u,timestamp:r};for(const[c,f]of Object.entries(s))t[c]=u[f]??0}catch(a){console.warn("[fetchTokenPrices] CoinGecko fetch failed:",a);for(const l of Object.keys(s))t[l]=t[l]??0}return t}function ba(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 wa=new Set(["cbtc","btc","wbtc","wcbtc","tbtc"]),ka=new Set(["usdc","usdt","dai","usdc.e","usdbc"]);async function va(){const e=(await js(["BTC"])).BTC;if(!e||e<=0)throw new Error("Failed to fetch BTC/USD price");return e}function Sa(e){return wa.has(e.toLowerCase())}function Ia(e){return ka.has(e.toLowerCase())}function Aa(e,t,n,s){const r=10n**12n,a=BigInt(Math.round(s*Number(r))),l=t-n,d=10n**BigInt(Math.abs(l));let u=e*a/r;return l>0?u=u/d:l<0&&(u=u*d),u}const Fn=({size:e=20,strokeWidth:t=2,color:n="currentColor",style:s})=>o.jsxs("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:[o.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),o.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]});var Fs="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 mo=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(","),dn=({isOpen:e,onClose:t,title:n,subtitle:s,children:r,overlayContent:a,overlayDimmed:l=!0,styles:d,theme:u,maxWidth:c="522px",dark:f,footerLinkText:p,bannerSrc:g,bannerAlt:x,closeOnBackdropClick:h=!1})=>{const{theme:b,dark:y,dk:I,palette:v}=m.useSpiceBrand(d,f),D=f??y,k=u||b,w=d?.fontFamily||k.typography.fontFamily||'"Helvetica Neue", sans-serif',M=d?.primaryColor||k.colors.primary,A=i.useRef(null),T=i.useRef(null),B=i.useRef(null),C=i.useId(),[E,S]=i.useState(!1),[R,N]=i.useState(!1),P=i.useRef(t);if(i.useEffect(()=>{P.current=t},[t]),i.useEffect(()=>{if(!e){N(!1);return}T.current=document.activeElement;const W=document.body.style.overflow;document.body.style.overflow="hidden";const U=requestAnimationFrame(()=>{const Y=requestAnimationFrame(()=>N(!0));B.current=Y}),z=()=>{const Y=A.current;Y&&(Y.querySelectorAll(mo)[0]??Y).focus({preventScroll:!0})},_=Y=>{if(Y.key==="Escape"){Y.stopPropagation(),P.current();return}if(Y.key!=="Tab")return;const ue=A.current;if(!ue)return;const q=Array.from(ue.querySelectorAll(mo)).filter(we=>!we.hasAttribute("aria-hidden"));if(q.length===0){Y.preventDefault(),ue.focus();return}const ee=q[0],oe=q[q.length-1],pe=document.activeElement;Y.shiftKey&&pe===ee?(Y.preventDefault(),oe.focus()):!Y.shiftKey&&pe===oe&&(Y.preventDefault(),ee.focus())},V=requestAnimationFrame(z);return document.addEventListener("keydown",_),()=>{cancelAnimationFrame(V),cancelAnimationFrame(U),B.current&&cancelAnimationFrame(B.current),document.removeEventListener("keydown",_),document.body.style.overflow=W;const Y=T.current;Y&&typeof Y.focus=="function"&&Y.focus({preventScroll:!0})}},[e]),!e)return null;const H=!!g&&!E,L=x??"";return o.jsx("div",{onMouseDown:W=>{h&&W.target===W.currentTarget&&P.current()},style:{position:"fixed",inset:0,backgroundColor:D?"rgba(0,0,0,0.72)":"rgba(0,0,0,0.5)",display:"flex",alignItems:"center",justifyContent:"center",padding:"clamp(16px, 4vw, 48px)",zIndex:wn.modal,opacity:R?1:0,transition:`opacity ${Yt.normal} ${Rt.out}`},children:o.jsx("div",{ref:A,role:"dialog","aria-modal":"true","aria-labelledby":C,tabIndex:-1,style:{backgroundColor:v.shellBorder,borderRadius:"12px",padding:"5px",width:"100%",maxWidth:c,boxSizing:"border-box",boxShadow:"0 16px 48px rgba(0, 0, 0, 0.4)",outline:"none",transform:R?"scale(1)":"scale(0.96)",transition:`transform ${Yt.slow} ${Rt.out}`,display:"flex",flexDirection:"column",maxHeight:"100%"},children:o.jsxs("div",{style:{backgroundColor:v.shell,border:`1px solid ${v.shellInnerBorder}`,borderRadius:"9px",width:"100%",padding:"0",display:"flex",flexDirection:"column",position:"relative",flex:"0 1 auto",minHeight:0,overflowY:"auto",overflowX:"hidden"},children:[a&&l&&o.jsx("div",{style:{position:"absolute",inset:0,backgroundColor:"rgba(0, 0, 0, 0.4)",zIndex:5,pointerEvents:"none",borderRadius:"12px"},"aria-hidden":"true"}),H&&o.jsxs("div",{style:{position:"relative",width:"100%"},children:[o.jsx("img",{src:g,style:{width:"100%",height:"auto",display:"block",borderRadius:"6px 6px 0 0"},alt:L,"aria-hidden":L===""?"true":void 0,onError:()=>S(!0)}),o.jsx("button",{type:"button",onClick:t,"aria-label":"Close dialog",style:{position:"absolute",top:"8px",right:"8px",minWidth:"44px",minHeight:"44px",color:v.textPrimary,padding:"8px",backgroundColor:"transparent",borderRadius:"9999px",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1},children:o.jsx(Fn,{size:28,strokeWidth:2.5})})]}),o.jsxs("div",{style:{padding:"28px 28px 0 28px",position:"relative"},children:[!H&&o.jsx("button",{type:"button",onClick:t,"aria-label":"Close dialog",style:{position:"absolute",top:"10px",right:"10px",minWidth:"44px",minHeight:"44px",color:v.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:W=>{W.currentTarget.style.backgroundColor=D?`${M}1a`:"#f3f4f6"},onMouseLeave:W=>{W.currentTarget.style.backgroundColor="transparent"},children:o.jsx(Fn,{size:24,strokeWidth:2.4})}),o.jsx("h2",{id:C,style:{fontSize:"22px",fontWeight:"700",color:v.textPrimary,margin:"0",fontFamily:w,lineHeight:"1.12"},children:n})]}),s&&o.jsx("div",{style:{padding:"11px 28px 13px 28px",fontSize:"12px",color:v.textSecondary,margin:"0",lineHeight:"1.35",fontFamily:w,borderBottom:D?`1px solid ${I.cardBorder}`:"1px solid #cdcfd1"},children:s}),r,o.jsxs("div",{style:{padding:"12px 28px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("img",{src:Fs,alt:"","aria-hidden":"true",width:108,height:22,decoding:"async",style:{width:"108px",height:"22px",opacity:D?.85:1,filter:D?"brightness(0) invert(1)":"none",margin:0,display:"block"}}),o.jsx("a",{href:"https://spiceflow-docs.spicenet.io",target:"_blank",rel:"noopener noreferrer",style:{fontSize:"10px",color:v.textSecondary,textDecoration:"none",display:"flex",alignItems:"center",gap:"4px",fontFamily:w,lineHeight:"1"},children:o.jsx("span",{style:{color:M,textDecoration:"underline",fontWeight:"500"},children:p??"Learn more \u2192"})})]}),a]})})})};var ho="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",Ea="data:image/png;base64,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",ja="data:image/png;base64,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";const Fa=({size:e=20,active:t=!1,dark:n=!1})=>o.jsxs("svg",{width:e,height:e,viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("rect",{x:"2",y:"4",width:"16",height:"2",rx:"1",fill:t?n?"#e5e7eb":"#111827":n?"#9ca3af":"#374151"}),o.jsx("rect",{x:"4",y:"9",width:"12",height:"2",rx:"1",fill:t?n?"#e5e7eb":"#111827":"#9ca3af"}),o.jsx("rect",{x:"6",y:"14",width:"8",height:"2",rx:"1",fill:t?n?"#e5e7eb":"#111827":"#9ca3af"})]}),go=({checked:e,primaryColor:t="#ef4444",dark:n=!1})=>o.jsx("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:en.interactive},children:e&&o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:o.jsx("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),Ba=e=>[e.chainId,e.symbol.trim().toLowerCase(),e.name.trim().toLowerCase()].join(":"),Ta=e=>{const t=new Map;for(const n of e){const s=Ba(n),r=t.get(s);if(!r){t.set(s,n);continue}const a=r.balance>0n,l=n.balance>0n;(!a&&l||n.balanceUsd>r.balanceUsd||n.balance>r.balance)&&t.set(s,n)}return Array.from(t.values())},Ra=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,onTokenSelect:s,walletAddress:r,supportedChainIds:a,network:l,prefetchedAssets:d,styles:u,dark:c})=>{const[f,p]=i.useState(""),[g,x]=i.useState(null),[h,b]=i.useState(null),[y,I]=i.useState(!1),[v,D]=i.useState(new Set),[k,w]=i.useState([]),M=i.useContext(m.SpiceFlowProviderContext),A=l||M?.network||"testnet",T=M?.allowedTokens,B=!!M?.isWhitelistGateActive,{dark:C,primaryColor:E,dk:S}=m.useSpiceBrand(u,c),R=C?S.cardBg:"white",N=C?`${E}55`:"#F4A5A5",P=C?"0 4px 12px rgba(0, 0, 0, 0.4)":"0 4px 12px rgba(0, 0, 0, 0.15)",H=C?S.hoverBg:"#E9E9E9",L=C?S.hoverBg:"#f9fafb",W=C?S.textPrimary:"#374151",U=C?S.textPrimary:"#111827",z=C?S.textSecondary:"#9ca3af",_=C?`${E}22`:"#FBDBDB",V=C?`${E}55`:"#F4A5A5",Y=i.useMemo(()=>a||M?.supportedChainIds||j.getChainIdsByNetwork(A),[a,M?.supportedChainIds,A]),ue=i.useMemo(()=>Y.map(Q=>{const J=m.getChainConfig(Q);return J?{id:Q,name:J.displayName,icon:xn[Q]||zn}:null}).filter(Boolean),[Y]),q=i.useMemo(()=>{const Q=new Set,J=new Set;for(const me of Y){const Se=m.getChainConfig(me);if(Se){Q.add(Se.nativeCurrency?.symbol?.toUpperCase()||"ETH");for(const ie of Se.supportedTokens||[])Q.add(ie.symbol.toUpperCase()),J.add(ie.address.toLowerCase())}}return{symbols:Q,addresses:J}},[Y]),ee=d===void 0,{assets:oe,loading:pe}=vs({address:ee?r:void 0,supportedChains:Y,fetchBalances:ks,enabled:e&&ee&&!!r,refreshInterval:e?5e3:0}),we=d??(ee?oe:[]),de=d===null||ee&&pe,xe=i.useMemo(()=>{if(B)return[];if(!we)return[];let Q=we.filter(J=>J.isNative?!0:q.symbols.has(J.symbol.toUpperCase())||q.addresses.has(J.address.toLowerCase()));return T&&T.length>0&&(Q=Q.filter(J=>T.includes(J.symbol.toLowerCase())||J.isNative&&T.includes("native"))),Q},[we,q,T,B]);i.useEffect(()=>{if(!xe||xe.length===0){w([]);return}const Q=xe.filter(Se=>Se.balanceUsd===0&&Se.balanceFormatted>0).map(Se=>Se.symbol),J=Array.from(new Set(Q));if(J.length===0){w(xe);return}let me=!1;return js(J).then(Se=>{me||w(ba(xe,Se))}),()=>{me=!0}},[xe]);const Ee=i.useMemo(()=>{let Q=k.filter(J=>J.balanceUsd>=.01||J.balanceFormatted>=1e-4||J.balanceFormatted===0);if(v.size>0&&(Q=Q.filter(J=>v.has(J.chainId))),f.trim()){const J=f.toLowerCase();Q=Q.filter(me=>me.name.toLowerCase().includes(J)||me.symbol.toLowerCase().includes(J)||me.address.toLowerCase().includes(J))}return Q=Ta(Q),Q.sort((J,me)=>{const Se=J.balanceFormatted>0?1:0,ie=me.balanceFormatted>0?1:0;return ie!==Se?ie-Se:me.balanceUsd!==J.balanceUsd?me.balanceUsd-J.balanceUsd:me.balanceFormatted-J.balanceFormatted}),Q},[k,f,v]),Z=Q=>`${Q.chainId}-${Q.address}`;i.useEffect(()=>{const Q=document.createElement("link");return Q.href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@100;200;300;400;500;600;700&display=swap",Q.rel="stylesheet",document.head.appendChild(Q),()=>{document.head.removeChild(Q)}},[]),i.useEffect(()=>{e||(p(""),x(null),I(!1),D(new Set))},[e]);const X=Q=>{s(Q)},te=Q=>{D(J=>{const me=new Set(J);return me.has(Q)?me.delete(Q):me.add(Q),me})},se=()=>{D(new Set)},ye=v.size===0;return o.jsxs(dn,{isOpen:e,onClose:t,title:"Select a Token",bannerSrc:ja,bannerAlt:"Select token banner",styles:u,dark:C,closeOnBackdropClick:n,children:[o.jsx("div",{style:{padding:"20px 20px"},children:o.jsx(bs,{value:f,onChange:p,ariaLabel:"Search tokens",placeholder:"Search token name, symbol or address",dark:C,styles:u,endAdornment:o.jsxs("div",{style:{position:"relative",flexShrink:0},children:[o.jsx("button",{onClick:()=>I(Q=>!Q),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"5px",borderRadius:"3px",backgroundColor:y||!ye?H:"transparent",border:"none",cursor:"pointer",transition:"background-color 0.15s"},children:o.jsx(Fa,{size:20,active:!ye,dark:C})}),y&&o.jsxs("div",{style:{position:"absolute",top:"calc(100% + 8px)",right:0,backgroundColor:R,borderRadius:"8px",border:`1px solid ${N}`,boxShadow:P,padding:"8px",minWidth:"220px",zIndex:100},children:[o.jsxs("button",{onClick:se,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:Q=>Q.currentTarget.style.backgroundColor=L,onMouseLeave:Q=>Q.currentTarget.style.backgroundColor="transparent",children:[o.jsx(go,{checked:ye,primaryColor:E,dark:C}),o.jsx("img",{src:Ea,alt:"All Networks",loading:"lazy",decoding:"async",width:20,height:20,style:{width:"20px",height:"20px",borderRadius:"4px",objectFit:"cover"}}),o.jsx("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"12px",fontWeight:600,letterSpacing:"0.5px",color:W},children:"ALL NETWORKS"})]}),ue.map(Q=>o.jsxs("button",{onClick:()=>te(Q.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:J=>J.currentTarget.style.backgroundColor=L,onMouseLeave:J=>J.currentTarget.style.backgroundColor="transparent",children:[o.jsx(go,{checked:v.has(Q.id),primaryColor:E,dark:C}),o.jsx("img",{src:Q.icon,alt:Q.name,loading:"lazy",decoding:"async",width:20,height:20,style:{width:"20px",height:"20px",borderRadius:"50%"}}),o.jsx("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"12px",fontWeight:600,letterSpacing:"0.5px",color:W},children:Q.name.toUpperCase()})]},Q.id))]})]})})}),o.jsxs("div",{style:{padding:"0 32px 20px",display:"flex",flexDirection:"column",gap:"8px",maxHeight:"400px",overflowY:"auto"},children:[de&&o.jsx("div",{style:{padding:"24px 8px",textAlign:"center",fontFamily:'"IBM Plex Mono", monospace',fontSize:"13px",color:z},children:"Loading balances..."}),!de&&Ee.length===0&&o.jsx("div",{style:{padding:"24px 8px",textAlign:"center",fontFamily:'"IBM Plex Mono", monospace',fontSize:"13px",color:z},children:"No tokens found"}),Ee.map(Q=>{const J=Z(Q),me=g===J,Se=h===J,ie=m.getChainConfig(Q.chainId)?.displayName||`Chain ${Q.chainId}`;return o.jsxs("button",{onClick:()=>X(Q),onMouseEnter:()=>b(J),onMouseLeave:()=>b(null),style:{width:"100%",display:"flex",alignItems:"center",gap:"16px",padding:"8px",borderRadius:"8px",backgroundColor:me?_:"transparent",border:me||Se?`1px solid ${V}`:"1px solid transparent",cursor:"pointer",transition:en.interactive},children:[o.jsx("div",{style:{flexShrink:0},children:o.jsx(Is,{symbol:Q.symbol,logoURI:Q.logoURI,size:40})}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:"2px",flex:1,minWidth:0},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[o.jsx("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"15px",fontWeight:500,letterSpacing:"0.4px",color:U,textAlign:"left"},children:Q.name}),o.jsx("img",{src:ho,alt:"","aria-hidden":"true",loading:"lazy",decoding:"async",width:14,height:14,style:{width:"14px",height:"14px"}})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[xn[Q.chainId]&&o.jsx("img",{src:xn[Q.chainId],alt:"",loading:"lazy",decoding:"async",width:14,height:14,style:{width:"14px",height:"14px",borderRadius:"50%"}}),o.jsxs("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"12px",fontWeight:400,color:z,textAlign:"left"},children:[Q.symbol," \xB7 ",ie]})]})]}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"2px",flexShrink:0},children:[Q.balanceUsd>0&&o.jsx("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"16px",fontWeight:600,color:U},children:m.formatUsd(Q.balanceUsd)}),o.jsxs("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"12px",fontWeight:400,color:z},children:[m.formatBalance(Q.balanceFormatted)," ",Q.symbol]})]})]},J)})]})]})};var Ma="data:image/png;base64,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";const tn=e=>new Promise(t=>setTimeout(t,e)),Bs=e=>{const t=(e.id||"").toLowerCase(),n=(e.name||"").toLowerCase();return t.startsWith("io.privy.wallet")||n.includes("privy wallet")},Da=({dark:e,dk:t,primaryColor:n,disabled:s,onError:r})=>{const[a,l]=i.useState(!1),{connectWallet:d}=ro.useConnectWallet({onSuccess:()=>{l(!1)},onError:u=>{l(!1),r(m.sanitizeError(u,"Failed to connect wallet."))}});return o.jsxs("button",{onClick:()=>{s||a||(l(!0),d({walletChainType:"ethereum-only"}))},disabled:s||a,style:{width:"100%",display:"flex",alignItems:"center",gap:"14px",padding:"10px",borderRadius:"8px",backgroundColor:a?e?t.hoverBg:"#f3f4f6":"transparent",border:`2px solid ${e?`${n}33`:`${n}55`}`,cursor:s||a?"not-allowed":"pointer",opacity:s?.6:1,transition:en.interactive},children:[o.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:e?t.cardBg:"#f3f4f6"},children:o.jsx("img",{src:On.metamask,alt:"Browser wallet",style:{width:"26px",height:"26px",objectFit:"contain"}})}),o.jsx("span",{className:"ibm-plex-mono",style:{fontSize:"17px",fontWeight:500,letterSpacing:"0.4px",color:t.textPrimary,flex:1,textAlign:"left",fontFamily:'"IBM Plex Mono", monospace'},children:a?"Opening wallet picker...":"MetaMask / Browser Wallet"})]})},Na=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,onWalletSelect:s,onContinue:r,requiredChainId:a,styles:l})=>{const{dark:d,primaryColor:u,dk:c,theme:f}=m.useSpiceBrand(l),p=i.useContext(m.SpiceFlowProviderContext),[g,x]=i.useState(null),[h,b]=i.useState(!1),[y,I]=i.useState(null),[v,D]=i.useState(!1),[k,w]=i.useState(null),[M,A]=i.useState(!1);i.useEffect(()=>{e||(I(null),D(!1),b(!1),w(null))},[e]);const{address:T,chain:B,connector:C,isConnected:E}=cn.useAccount(),S=p?.provider==="privy"&&C&&Bs(C)?void 0:T,R=E&&!!S,{connectors:N,connect:P}=cn.useConnect(),{disconnect:H}=cn.useDisconnect(),{switchChainAsync:L}=cn.useSwitchChain(),{reconnect:W}=cn.useReconnect(),U=i.useRef(!1),z=j.getChainIdsByNetwork(p?.network||"testnet");i.useEffect(()=>{e&&!R&&!U.current&&W()},[e,R,W]),i.useEffect(()=>{e||(U.current=!1)},[e]);const _=i.useRef(B);i.useEffect(()=>{_.current=B},[B]);const V=(a?m.getChainConfig(a):null)?.displayName||B?.name||`Chain ${B?.id||a}`,Y=Z=>Z.type==="announced"||typeof Z.ready=="boolean"&&Z.ready?!0:Z.type==="injected"?typeof window<"u"&&!!window.ethereum:!0,ue=N.filter(Z=>{const X=Z.name.toLowerCase(),te=(Z.id||"").toLowerCase();return p?.provider==="privy"&&Bs(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(se=>X.includes(se)||te.includes(se))?Y(Z):!1}),q=async Z=>{if(!(v||h))try{if(D(!0),w(Z.uid),I(null),await P({connector:Z}),await tn(500),s&&s(Z.id),a){b(!0);try{if(B?.id!==a){await L({chainId:a});let X=0;const te=20;for(;X<te;){if(await tn(100),_.current?.id===a){I(null);break}X++}_.current?.id!==a&&I("Please switch to the correct network in your wallet to continue.")}}catch(X){console.error("Chain switch error:",X),X.code===4902||X.name==="ChainNotConfiguredError"?I("This network is not configured in your wallet. Please add it manually to continue."):X.code===4001?I("Network switch cancelled. Please switch manually in your wallet to continue."):I("Unable to switch network. Please switch manually in your wallet to continue.")}finally{b(!1)}}await tn(800)}catch(X){console.error("Connection error:",X),m.isUserRejection(X)?I("Connection rejected. Please try again."):I(m.sanitizeError(X,"Failed to connect wallet."))}finally{D(!1),w(null)}},ee=Z=>{if(Z.icon)return Z.icon;const X=(Z.name||"").toLowerCase();for(const[te,se]of Object.entries(On))if(X.includes(te.toLowerCase()))return se;if(!Bs(Z)&&(Z.type==="injected"||Z.type==="announced")&&typeof window<"u"&&window.ethereum){const te=window.ethereum;if(te.isMetaMask)return On.metamask;if(te.isRabby)return On.rabby;if(te.isPhantom)return On.phantom}return null},oe=async Z=>{b(!0),I(null);try{await L({chainId:Z});let X=0;const te=20;for(;X<te;){if(await tn(100),_.current?.id===Z){I(null);break}X++}_.current?.id!==Z&&I("Unable to switch to the correct network. Please switch manually in your wallet to continue.")}catch(X){console.error("Manual chain switch error:",X),X.code===4902||X.name==="ChainNotConfiguredError"?I("This network is not configured in your wallet. Please add it manually to continue."):X.code===4001?I("Network switch cancelled. Please switch manually in your wallet to continue."):I("Unable to switch network. Please switch manually in your wallet to continue.")}finally{b(!1)}},pe=async Z=>{h||(A(!1),await oe(Z))},we=async()=>{if(!h){if(!a){A(Z=>!Z);return}await oe(a)}},de=async()=>{U.current=!0;try{await H()}finally{I(null),D(!1),b(!1),w(null),A(!1)}},xe=R&&!h&&!v&&(!a||B?.id===a),Ee=R&&!h&&!v&&a&&B?.id!==a;return o.jsxs(dn,{isOpen:e,onClose:t,title:"Connect Wallet",styles:l,dark:d,bannerSrc:Ma,bannerAlt:"Connect wallet banner",closeOnBackdropClick:n,children:[o.jsxs("div",{style:{padding:"0 24px 20px",display:"flex",flexDirection:"column",gap:"12px",marginTop:"20px"},children:[y&&o.jsxs("div",{style:{padding:"12px",backgroundColor:c.warningBg,borderRadius:"8px",border:`1px solid ${c.warningBorder}`},children:[o.jsx("p",{style:{margin:"0 0 10px 0",color:c.warningText,fontSize:"14px"},children:y}),o.jsx("button",{onClick:we,disabled:h,style:{width:"100%",padding:"8px 12px",borderRadius:"6px",border:`1px solid ${d?c.warningBorder:"#fbbf24"}`,backgroundColor:d?c.cardBg:"white",cursor:h?"not-allowed":"pointer",fontWeight:600,fontSize:"13px",color:c.warningText,opacity:h?.6:1},children:h?"Switching...":"Try Switch Again"})]}),h&&o.jsxs("div",{style:{padding:"12px",backgroundColor:d?c.infoBg:"#dbeafe",borderRadius:"8px",display:"flex",alignItems:"center",gap:"10px",marginTop:"20px"},children:[o.jsx(m.Spinner,{size:20,color:d?c.infoText:"#3b82f6"}),o.jsx("p",{style:{margin:0,color:d?c.infoText:"#1e40af",fontSize:"14px"},children:"Switching network..."})]}),R&&S?o.jsxs("div",{style:{border:`1px solid ${d?c.successBorder:"#02974F"}`,borderRadius:"8px",overflow:"hidden",marginTop:"20px"},children:[o.jsxs("div",{style:{backgroundColor:d?c.successBg:"#00FFA81C",padding:"14px 18px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[o.jsx("div",{style:{width:"22px",height:"22px",borderRadius:"50%",backgroundColor:"#02974F",display:"flex",alignItems:"center",justifyContent:"center",color:"white",fontSize:"14px",fontWeight:"bold"},children:"\u2713"}),o.jsx("span",{className:"ibm-plex-mono",style:{color:d?c.successText:"#02974F",fontWeight:600,fontSize:"14px",letterSpacing:"0.5px"},children:"WALLET CONNECTED"})]}),o.jsx("div",{style:{width:"38px",height:"38px",borderRadius:"50%",backgroundColor:d?c.cardBg:"#f3f4f6",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},children:C&&ee(C)?o.jsx("img",{src:ee(C),alt:C.name,style:{width:"24px",height:"24px",objectFit:"contain"}}):o.jsx("span",{style:{fontSize:"16px",fontWeight:"bold",color:d?c.textPrimary:"inherit"},children:C?.name?.charAt(0)||"W"})})]}),o.jsxs("div",{style:{padding:"18px",backgroundColor:d?c.cardBg:"white"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"14px"},children:[o.jsx("span",{className:"ibm-plex-mono",style:{color:d?c.textSecondary:"#939291",fontSize:"13px",fontWeight:500,letterSpacing:"0.3px"},children:"ADDRESS:"}),o.jsx("span",{className:"ibm-plex-mono",style:{color:d?c.textPrimary:"black",fontSize:"14px",fontWeight:600,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.3px"},children:m.truncateAddress(S)})]}),M&&o.jsx("div",{style:{marginBottom:"12px",border:`1px solid ${d?c.inputBorder:"#E5E7EB"}`,borderRadius:"8px",overflow:"hidden",backgroundColor:c.cardBg},children:z.map(Z=>{const X=m.getChainConfig(Z);if(!X)return null;const te=B?.id===Z;return o.jsxs("button",{onClick:()=>{te?A(!1):pe(Z)},style:{width:"100%",display:"flex",alignItems:"center",gap:"8px",padding:"10px 12px",backgroundColor:te?d?`${u}15`:`${u}10`:"transparent",border:"none",borderBottom:`1px solid ${d?c.inputBorder:"#E5E7EB"}`,cursor:te?"default":"pointer",transition:"background-color 0.15s"},onMouseEnter:se=>{te||(se.currentTarget.style.backgroundColor=d?"rgba(255,255,255,0.05)":"rgba(0,0,0,0.03)")},onMouseLeave:se=>{se.currentTarget.style.backgroundColor=te?d?`${u}15`:`${u}10`:"transparent"},children:[o.jsx("img",{src:xn[Z]||zn,alt:X.displayName,style:{width:"20px",height:"20px",borderRadius:"50%",objectFit:"contain"}}),o.jsx("span",{style:{fontSize:"13px",fontWeight:te?600:400,color:d?c.textPrimary:"#1f2937",fontFamily:'"IBM Plex Mono", monospace'},children:X.displayName}),te&&o.jsx("span",{style:{marginLeft:"auto",fontSize:"11px",color:u,fontWeight:500},children:"Connected"})]},Z)})}),o.jsxs("button",{className:"ibm-plex-mono",onClick:de,style:{width:"100%",padding:"10px",backgroundColor:"transparent",border:`1px solid ${d?c.inputBorder:"#E5E7EB"}`,borderRadius:"6px",cursor:"pointer",fontSize:"13px",fontWeight:500,color:d?c.textSecondary:"#9CA3AF",display:"flex",alignItems:"center",justifyContent:"center",gap:"6px"},children:[o.jsx("span",{style:{fontSize:"16px"},children:"\u27F2"}),"DISCONNECT"]})]})]}):o.jsxs(o.Fragment,{children:[p?.provider==="privy"&&o.jsx(Da,{dark:d,dk:c,primaryColor:u,disabled:v||h,onError:I}),ue.map(Z=>{const X=Y(Z),te=k===Z.uid,se=!X||v||te;return o.jsxs("button",{onClick:()=>{se||q(Z)},onMouseEnter:()=>!se&&x(Z.uid),onMouseLeave:()=>x(null),disabled:se,style:{width:"100%",display:"flex",alignItems:"center",gap:"14px",padding:"10px",borderRadius:"8px",backgroundColor:te?d?c.hoverBg:"#f3f4f6":"transparent",border:g===Z.uid&&!se?`2px solid ${d?`${u}44`:`${u}66`}`:"2px solid transparent",cursor:se?"not-allowed":"pointer",opacity:se?.6:1,transition:en.interactive},children:[o.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:d?c.cardBg:"#f3f4f6"},children:ee(Z)?o.jsx("img",{src:ee(Z),alt:Z.name,style:{width:"26px",height:"26px",objectFit:"contain"}}):o.jsx("span",{style:{fontSize:"16px",fontWeight:"bold",color:d?c.textPrimary:"inherit"},children:Z.name.charAt(0)})}),o.jsxs("span",{className:"ibm-plex-mono",style:{fontSize:"17px",fontWeight:500,letterSpacing:"0.4px",color:se?d?c.inputPlaceholder:"#9ca3af":d?c.textPrimary:"#111827",flex:1,textAlign:"left",fontFamily:'"IBM Plex Mono", monospace'},children:[te?"Connecting...":Z.name,!X&&!te&&o.jsx("span",{style:{fontSize:"12px",marginLeft:"8px"},children:"(Not detected)"})]})]},Z.uid)})]})]}),Ee&&!y&&o.jsx("div",{style:{padding:"0 24px 20px"},children:o.jsxs("div",{style:{padding:"12px",backgroundColor:c.warningBg,borderRadius:"8px",border:`1px solid ${c.warningBorder}`},children:[o.jsxs("p",{style:{margin:"0 0 10px 0",color:c.warningText,fontSize:"14px"},children:["Please switch to ",V," to continue."]}),o.jsx("button",{onClick:we,disabled:h,style:{width:"100%",padding:"8px 12px",borderRadius:"6px",border:`1px solid ${d?c.warningBorder:"#fbbf24"}`,backgroundColor:d?c.cardBg:"white",cursor:h?"not-allowed":"pointer",fontWeight:600,fontSize:"13px",color:c.warningText,opacity:h?.6:1},children:h?"Switching...":"Switch Network"})]})}),o.jsx("div",{style:{padding:"0 24px 25px"},children:o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:async()=>{xe&&(await tn(300),r?await r():t())},disabled:!xe,theme:f,dark:d,styles:l,children:v?"CONNECTING...":h?"SWITCHING NETWORK...":"CONTINUE"})})]})},Ts=new Set(["WBTC","CBTC"]),xo=new Set(["btc","wbtc","wcbtc","cbtc"]);function yo(e,t){return!e||!t?!1:e===t?!0:Ts.has(e)&&Ts.has(t)}function Bn(e){const[t,n,s]=e.split(":");if(t!=="evm"||!n||!s)return null;const r=Number(n);if(!Number.isFinite(r))return null;const a=s.startsWith("0x")?s.toLowerCase():`0x${s.toLowerCase()}`;return{chainId:r,address:a}}function Zn(e){return(e??"").trim().replace(/^test\s+/i,"").replace(/^spice/i,"").toLowerCase().replace(/[^a-z0-9]/g,"")}function Wa(e){return new Set([e.receiptTokenName,e.displaySymbol,e.symbol,e.displayName,e.name].map(Zn).filter(Boolean))}function Pa(e,t){const n=Wa(e),s=[t.symbol,t.name,t.equivalenceGroup].map(Zn);if(s.some(l=>l&&n.has(l)))return!0;const r=[...n].some(l=>xo.has(l)),a=s.some(l=>xo.has(l))||Ts.has(t.equivalenceGroup??"");return r&&a}function Co(e,t,n){const s=new Set(t.map(Zn).filter(Boolean)),r=a=>{if(n&&m.addressesEqual(a.address,n))return 0;const l=[a.symbol,a.name,a.equivalenceGroup].map(Zn).findIndex(d=>d&&s.has(d));return l===-1?4:l+1};return[...e].sort((a,l)=>{const d=r(a)-r(l);return d!==0?d:a.address.toLowerCase().localeCompare(l.address.toLowerCase())})}const bo=typeof process<"u"&&process.env?.NEXT_PUBLIC_MORALIS_API_KEY||typeof{url:typeof document>"u"?require("url").pathToFileURL(__filename).href:jn&&jn.tagName.toUpperCase()==="SCRIPT"&&jn.src||new URL("index.cjs.js",document.baseURI).href}<"u"&&void 0||"",Ua="https://deep-index.moralis.io/api/v2.2";function Kn(e,t){const n=e.chainTokens?Object.keys(e.chainTokens):[],s=[];for(const r of n){const a=Bn(r);if(!a||a.chainId!==t)continue;const l=a.address,d=j.getTokenByAddress(l,t);d&&(!Rs(e,l,t)&&!(e.isUniversal&&Pa(e,d))||s.some(u=>m.addressesEqual(u,l))||s.push(l))}return Co(s.map(r=>{const a=j.getTokenByAddress(r,t);return{address:r,symbol:a?.symbol,name:a?.name,equivalenceGroup:a?.equivalenceGroup}}),[e.receiptTokenName,e.displaySymbol,e.symbol,e.displayName,e.name],e.chainId===t&&!e.isUniversal?e.address:void 0).map(r=>r.address)}function Rs(e,t,n){return e.chainId===n&&m.addressesEqual(e.address,t)?!0:Hn(e.address,e.chainId,t,n)}async function za(e,t){const n=m.getClientForChain(e),s=j.getEscrowContractAddress(e);return j.isNativeToken(t)?n.getBalance({address:s}):await n.readContract({address:t,abi:F.erc20Abi,functionName:"balanceOf",args:[s]})}function wo(e,t,n){const s=j.getTokensForChain(n),r=s.find(l=>m.addressesEqual(l.address,e));if(r)return r;const a=j.getTokenByAddress(e,t);if(a)return Co(s.filter(l=>yo(l.equivalenceGroup,a.equivalenceGroup)),[a.symbol,a.name,a.equivalenceGroup])[0]}function an(e,t){if(e.chainId===t)return e.address;const n=wo(e.address,e.chainId,t);return n?n.address:null}async function ko(e,t,n={}){const s=an(e,t),r=Kn(e,t);if(r.length===0)return s;if(r.length===1)return r[0];const a=n.requiredAmount??0n,l=u=>{const c=r.map(f=>({candidate:f,balance:u.get(j.isNativeToken(f)?"native":f.toLowerCase())??0n})).filter(f=>f.balance>0n).sort((f,p)=>f.balance===p.balance?0:f.balance>p.balance?-1:1);return c.length===0?null:((a>0n?c.find(f=>f.balance>=a):c[0])??c[0]).candidate},d=m.getChainsForAssets()[t];if(d?.moralisName&&bo){const u=new Map,c=r.some(f=>j.isNativeToken(f));try{if(c)try{const p=m.getClientForChain(t),g=j.getEscrowContractAddress(t);u.set("native",await p.getBalance({address:g}))}catch{}const f=await fetch(`${Ua}/wallets/${j.getEscrowContractAddress(t)}/tokens?chain=${d.moralisName}`,{headers:{"X-API-Key":bo}});if(f.ok){const p=await f.json();for(const x of p?.result||[]){const h=String(x.token_address||"").toLowerCase();if(h)try{u.set(h,BigInt(String(x.balance||"0")))}catch{}}const g=l(u);if(g)return g}}catch{}}try{const u=await Promise.all(r.map(async p=>({key:j.isNativeToken(p)?"native":p.toLowerCase(),value:await za(t,p)}))),c=new Map(u.map(({key:p,value:g})=>[p,g])),f=l(c);if(f)return f}catch{}return s}function Hn(e,t,n,s){const r=j.getTokenByAddress(e,t),a=j.getTokenByAddress(n,s);return r&&a?yo(r.equivalenceGroup,a.equivalenceGroup):j.areEquivalent(e,n)}function Xn(e,t){return Hn(e.address,e.chainId,t.address,t.chainId)}const Oa={usdc:[8453,1,42161,5115,4114],usdt:[1],btc:[4114,42161,1,5115],wbtc:[1],weth:[8453,1],ctusd:[5115,4114],wcbtc:[5115,4114]},La={btc:["wcbtc","cbtc","wbtc"]};function Gn(e){return e.replace(/^test\s+/i,"").replace(/^spice/i,"").trim()}function un(e){return Gn(e).toLowerCase()}function vo(e){return un(e??"").replace(/[^a-z0-9]/g,"")}function Ms(e){const t=un(e);return[t,...La[t]??[]].filter(Boolean)}function Ha(e){try{return BigInt(e.balanceAvailable||"0")}catch{return 0n}}function Qa(e){return Array.isArray(e.chainTokens)?e.chainTokens:Object.keys(e.chainTokens??{})}function Va(e,t,n,s=[]){const r=m.getChainConfig(t),a=n.toLowerCase(),l=a===j.ZERO_ADDRESS.toLowerCase()?r?.nativeCurrency.decimals??18:r?.supportedTokens?.find(u=>u.address.toLowerCase()===a)?.decimals??18,d=new Set(s.map(vo).filter(Boolean));return e.reduce((u,c)=>{const f=Ha(c),p=c.decimals??l,g=j.convertAmountBetweenDecimals(f,p,l);if(Qa(c).some(h=>{const b=Bn(h);return b&&Hn(b.address,b.chainId,n,t)}))return u+g;if(d.size===0)return u;const x=vo(c.tokenName||c.receiptToken);return d.has(x)?u+g:u},0n)}function qa(e,t){const n=new Set([...Ms(t),...Ms(Gn(t))]);return[...e].sort((s,r)=>{const a=un(s.symbol),l=un(r.symbol),d=un(s.name),u=un(r.name),c=n.has(a)?0:n.has(d)?1:2,f=n.has(l)?0:n.has(u)?1:2;return c!==f?c-f:s.address.toLowerCase().localeCompare(r.address.toLowerCase())})[0]}function Ya(e){const t=e&&e.length>0?e:Object.keys(m.CHAIN_CONFIGS).map(Number).filter(Number.isFinite),n=new Map;for(const s of t){const r=m.getChainConfig(s);if(!r)continue;const a=`${s}:${j.ZERO_ADDRESS.toLowerCase()}`;n.has(a)||n.set(a,{address:j.ZERO_ADDRESS,chainId:s,symbol:r.nativeCurrency.symbol,name:r.nativeCurrency.name,decimals:r.nativeCurrency.decimals,isNative:!0,logoURI:r.logo});for(const l of r.supportedTokens??[]){const d=l.address.toLowerCase(),u=`${s}:${d}`;n.has(u)||n.set(u,{address:d,chainId:s,symbol:l.symbol,name:l.name,decimals:l.decimals,isNative:j.isNativeToken(d),logoURI:l.logo})}}return n}function Za(e,t){const n=Ya(t),s=Gn(e.tokenName),r=un(e.tokenName),a=Ms(e.tokenName),l=Array.isArray(e.chainTokens)?e.chainTokens.map(h=>[h,void 0]):Object.entries(e.chainTokens??{}),d=l.map(([h])=>Bn(h)).filter(h=>h!==null),u=new Map(l.map(([h,b])=>[h,b])),c=(h,b)=>{const y=u.get(`evm:${b.chainId}:${b.address.slice(2).toLowerCase()}`);return{...h,name:typeof y?.name=="string"&&y.name.length>0?y.name:h.name,decimals:typeof y?.decimals=="number"?y.decimals:h.decimals}},f=d.map(h=>{const b=n.get(`${h.chainId}:${h.address.toLowerCase()}`);return b?c(b,h):void 0}).filter(h=>h!==void 0),p=Oa[r]??[];if(p.length>0)for(const h of p){const b=f.find(y=>y.chainId===h);if(b)return b}if(f.length>0)return qa(f,e.tokenName);const g=Array.from(n.values()).filter(h=>a.includes(un(h.symbol))||a.includes(un(h.name)));if(p.length>0)for(const h of p){const b=g.find(y=>y.chainId===h);if(b)return b}if(g.length>0)return g[0];const x=d[0];if(x){const h=u.get(`evm:${x.chainId}:${x.address.slice(2).toLowerCase()}`);return{address:x.address,chainId:x.chainId,symbol:s||e.tokenName,name:typeof h?.name=="string"&&h.name.length>0?h.name:s||e.tokenName,decimals:typeof h?.decimals=="number"?h.decimals:e.decimals??18,isNative:j.isNativeToken(x.address),logoURI:void 0}}}function Ka(e,t){let n;try{n=BigInt(e.balanceAvailable||"0")}catch{return null}if(n<=0n)return null;const s=Za(e,t),r=s?.decimals??e.decimals??18,a=e.decimals??r,l=j.convertAmountBetweenDecimals(n,a,r),d=s?.address??j.ZERO_ADDRESS,u=s?.chainId??0,c=Gn(e.tokenName),f=s?.symbol??c,p=s?.name??c,g=parseFloat(F.formatUnits(l,r)),x=typeof e.balanceUsd=="number"?e.balanceUsd:typeof e.balanceUsd=="string"&&Number(e.balanceUsd)||0;return{address:d,symbol:f,name:p,decimals:r,chainId:u,balance:l,balanceFormatted:g,balanceUsd:x,isNative:s?.isNative??j.isNativeToken(d),logoURI:s?.logoURI,displaySymbol:e.tokenName||f,displayName:e.tokenName||p,displayChainName:"Spicenet",receiptTokenId:e.receiptToken,receiptTokenName:e.tokenName||p,receiptTokenDecimals:a,chainTokens:e.chainTokens&&!Array.isArray(e.chainTokens)?e.chainTokens:void 0,isUniversal:!0}}function Xa(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 Ga=350,Ja=2500;async function $a(e){const{actionId:t,intentIndex:n,intentId:s,stepIndex:r,maxPolls:a=48,maxExecuteAttempts:l=3,pollsBeforeRetry:d=5,maxConsecutiveStatusErrors:u=15,onStatusMessage:c,onStepUpdate:f,signal:p,chainId:g}=e;let x="pending",h,b,y=0,I=0;const v=()=>{y++,m.relayerService.executeStep(t,n,r,{action:"execute"}).then(D=>{D.transactionHash&&(h=D.transactionHash)}).catch(D=>{const k=D instanceof Error?D.message:String(D);console.warn(`[execution] executeStep ${r} attempt ${y} error (will poll):`,k)})};v();for(let D=0;D<a;D++){if(await tn(D===0?Ga:Ja),p?.aborted)throw new m.SpiceflowError("ABORT","Execution transaction aborted");try{const w=await m.relayerService.checkStepStatus(s,r);I=0,x=w.data.status,b=w.data.error;const M=w.data.transactionHash;M&&(h=M),f?.({status:x,transactionHash:h,error:b})}catch(w){if(w instanceof Error&&(w.name==="AbortError"||w instanceof m.SpiceflowError&&w.code==="ABORT")||(I++,I>=u))throw w;continue}if(x==="created"&&D>=y*d&&y<l&&v(),x==="reverted"||x==="error")throw new m.SpiceflowError("ON_CHAIN_REVERT",Xa(x,b),{status:x,txHash:h,actionId:t,intentId:s,stepId:r,chainId:g});if(x==="success"||x==="completed")return h;let k="Waiting for solver...";x==="executing"?k="Transaction executing...":x==="submitted"?k="Transaction submitted...":x==="created"&&(k="Waiting for relayer..."),c?.(k,h)}throw new m.SpiceflowError("POLLING_EXHAUSTED",`Transaction is still processing (status: ${x}). 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:r,lastStatus:x,pollAttempts:a,maxPolls:a,txHash:h})}async function So(e){const{actionId:t,intentIndex:n,intentId:s,totalSteps:r,delayBeforeSpicenetStepMs:a=5e3,isSpicenetStep:l,maxExecuteAttemptsForStep:d,maxPolls:u=48,onStatusMessage:c,onStepUpdate:f,signal:p}=e;let g;for(let x=0;x<r;x++){x>0&&l?.(x)&&a>0&&await tn(a);const h=d?.(x)??3,b=await $a({actionId:t,intentIndex:n,intentId:s,stepIndex:x,maxPolls:u,maxExecuteAttempts:h,maxConsecutiveStatusErrors:h===6?5:15,onStatusMessage:c,onStepUpdate:f?y=>f(x,y):void 0,signal:p});b&&(g=b)}return g}const _a="0xa9059cbb";function Jn(e,t){return e.map(n=>{if(n.domain==="spicenet"||j.isSpicenetChainId(n.chainId)||n.calls.length===0)return n;const s=new Set((n.tokenTransfers??[]).filter(a=>(a.from==="escrow"||a.from==="solver")&&m.addressesEqual(a.to,t)).map(a=>a.token.toLowerCase()));if(s.size===0)return n;let r=0;for(const a of n.calls){if(!a.data?.startsWith(_a))break;try{const l=F.decodeFunctionData({abi:F.erc20Abi,data:a.data});if(l.functionName!=="transfer")break;const[d]=l.args;if(m.addressesEqual(d,t)||!s.has(a.to.toLowerCase()))break;r+=1}catch{break}}return r===0?n:{...n,calls:n.calls.slice(r)}})}function Io(e,t){if(e.length!==t.length)return!1;const n=j.hashChainBatches(e),s=j.hashChainBatches(t);return n.every((r,a)=>r.hash===s[a]?.hash)}const Ao=15;function ei(e){return e.now-e.lastProgressAt>=e.pollTimeoutMs}function Eo(e,t){return{intentId:e,steps:t.map(n=>({...n,status:"pending"})),overallStatus:"processing"}}function $n(e,t,n){const s=e.steps.map(d=>({...d})),r=s[t];if(!r)return e;n.status==="success"||n.status==="completed"?(s[t]={...r,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]={...r,status:"failed",transactionHash:n.transactionHash,error:n.error}:s[t]={...r,status:"processing"};const a=s.some(d=>d.status==="failed"),l=s.every(d=>d.status==="success");return{...e,steps:s,overallStatus:a?"failed":l?"success":"processing"}}function ti({checkStepStatus:e,retryStep:t,maxRetries:n=3,pollingInterval:s=2500,pollTimeoutMs:r=3e5}){const[a,l]=i.useState(null),d=i.useRef(null),u=i.useRef(null),c=i.useRef(!1),f=i.useRef(!1),p=i.useRef(0),g=i.useRef({}),x=i.useRef(0),h=i.useCallback(k=>{d.current=k,l(k)},[]),b=i.useCallback(()=>{u.current&&(clearInterval(u.current),u.current=null)},[]),y=i.useCallback(()=>{p.current=0,g.current={},x.current=0,c.current=!0,b(),h(null)},[b,h]),I=i.useCallback((k,w)=>{b(),c.current=!1,h(Eo(k,w))},[b,h]),v=i.useCallback((k,w)=>{const M=d.current;M&&h($n(M,k,w))},[h]),D=i.useCallback((k,w)=>{b(),c.current=!1,f.current=!1,p.current=0,g.current={},x.current=Date.now(),h(Eo(k,w));const M=async()=>{if(!(c.current||f.current||!e)){f.current=!0;try{if(ei({now:Date.now(),lastProgressAt:x.current,pollTimeoutMs:r})){const B=d.current;B&&h({...B,steps:B.steps.map(C=>C.status==="success"?C:{...C,status:"failed",error:"Taking longer than expected. It may still complete - check the explorer, then refresh."}),overallStatus:"failed"}),c.current=!0,b();return}const A=d.current;if(!A)return;const T=A.steps.findIndex(B=>B.status!=="success");if(T===-1){c.current=!0,b();return}if(!(T===0||A.steps[T-1].status==="success"))return;try{const B=A.steps[T].stepId,{data:C}=await e(k,B);if(p.current=0,C.status==="success"&&(x.current=Date.now()),C.status==="reverted"){const S=g.current[B]||0;if(t&&S<n){g.current[B]=S+1;try{await t(k,B)}catch(R){console.error(`[intentStatus] retry failed for step ${B}:`,R)}h($n(d.current,T,{status:"executing"}));return}}const E=$n(d.current,T,C);h(E),E.overallStatus!=="processing"&&(c.current=!0,b())}catch(B){p.current+=1,console.error(`[intentStatus] poll error (${p.current}/${Ao}):`,B),p.current>=Ao&&(h($n(d.current,T,{status:"error"})),c.current=!0,b())}}finally{f.current=!1}}};M(),u.current=setInterval(M,s)},[e,t,n,s,r,b,h]);return i.useEffect(()=>()=>b(),[b]),{intentStatus:a,startStatusPolling:D,beginStatusTracking:I,applyStepUpdate:v,stopStatusPolling:b,clearStatus:y}}function _n(e,t){return e<=0n||t<=0n?0n:(e*t+10000n-1n)/10000n}function yn(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 jo(e,t){const n=F.formatUnits(e,t);return n.includes(".")?n.replace(/\.?0+$/,"")||"0":n}function Zt(e){const t=BigInt(e.feeBreakdown.spicenetFee),n=BigInt(e.feeBreakdown.gasFee),s=BigInt(e.feeBreakdown.bridgeFee??"0"),r=t+n+s;return{spicenetFee:t,gasFee:n,bridgeFee:s,totalFee:r}}function Fo(e){const t=BigInt(e.quotedAmount),n=BigInt(e.totalDebit),{totalFee:s}=Zt(e);return t>0n||n>0n||s>0n}function ni(e){const t=BigInt(e.quotedAmount),n=BigInt(e.totalDebit),{totalFee:s}=Zt(e),r=t+s;return n>r?n:r}function si(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 vn(e,t){const n=e.intents.flatMap(c=>c.batches).filter(Fo);if(n.length===0||n.length>1&&t.actionAmount===void 0)return null;let s=0n,r=0n,a=0n,l=0n;for(const c of n){const f=Zt(c);s+=f.gasFee,r+=f.spicenetFee,a+=f.bridgeFee,l+=f.totalFee}const d=n.some(c=>c.gasQuoteSource==="estimated")?"estimated":n.some(c=>c.gasQuoteSource==="configured_fallback")?"configured_fallback":n[0].gasQuoteSource,u=t.actionAmount??BigInt(n[0].quotedAmount);return{symbol:t.symbol,decimals:t.decimals,grossAmount:u+l,netAmount:u,totalFee:l,spicenetFee:r,gasFee:s,bridgeFee:a,gasQuoteSource:d}}function pn(e,t){const n=e.intents.flatMap(f=>f.batches).filter(Fo);if(n.length===0)return null;const s=n.filter(f=>f.chainId===t.chainId),r=s.length>0?s:n;if(r.length>1)return null;const a=r[0],{gasFee:l,spicenetFee:d,bridgeFee:u,totalFee:c}=Zt(a);return{chainId:a.chainId,tokenAddress:t.tokenAddress,symbol:t.symbol,decimals:t.decimals,grossAmount:ni(a),netAmount:BigInt(a.quotedAmount),totalFee:c,gasFee:l,spicenetFee:d,bridgeFee:u,gasQuoteSource:a.gasQuoteSource}}const fn=.01,oi=10n,ri=5;function es(e){return e.map(t=>({...t,calls:[...t.calls],tokenTransfers:t.tokenTransfers?[...t.tokenTransfers]:void 0}))}function ts({token:e,recipient:t,amount:n}){return{to:e,value:0n,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[t,n]})}}function Bo({chainBatches:e,token:t,amount:n}){const s=es(e),r=s[s.length-1];if(!r)return s;const a=j.getEscrowContractAddress(r.chainId);return r.calls=[...r.calls,ts({token:t,recipient:a,amount:n})],s}function To({chainBatches:e,user:t,token:n,grossAmount:s,gasFee:r}){const a=es(e),l=a[a.length-1];if(!l)throw new m.SpiceflowError("INVALID_PARAMS","Action-output escrow funding requires at least one chain batch.");const d=_n(s,oi),u=r+d;if(u>=s)throw new m.SpiceflowError("INVALID_PARAMS","Borrow amount is too small after gas and Spicenet fees.",{grossAmount:s.toString(),gasFee:r.toString(),spicenetFee:d.toString()});const c=s-u,f=j.getEscrowContractAddress(l.chainId),p=[];return r>0n&&p.push(ts({token:n,recipient:j.SPICE_GAS_FEE_RECIPIENT,amount:r})),d>0n&&p.push(ts({token:n,recipient:j.SPICE_PLATFORM_FEE_RECIPIENT,amount:d})),l.calls=[...l.calls,...p,ts({token:n,recipient:f,amount:c})],l.tokenTransfers=[...l.tokenTransfers??[],...r>0n?[{from:t,to:j.SPICE_GAS_FEE_RECIPIENT,token:n,amount:r}]:[],...d>0n?[{from:t,to:j.SPICE_PLATFORM_FEE_RECIPIENT,token:n,amount:d}]:[],{from:t,to:f,token:n,amount:c}],{chainBatches:a,gasFee:r,spicenetFee:d,netEscrowAmount:c,outputCredit:{chainId:l.chainId,token:n,amount:s}}}async function Ro({chainBatches:e,user:t,token:n,grossAmount:s,chainAuthorizations:r}){let a=0n,l=To({chainBatches:e,user:t,token:n,grossAmount:s,gasFee:a});for(let d=0;d<ri;d+=1){const u=j.hashChainBatches(l.chainBatches),c=(await m.relayerService.estimateBatchGas({user:t,outputToken:n,chainBatches:l.chainBatches.map((f,p)=>({...f,hash:u[p].hash})),chainAuthorizations:r})).gasFee;if(c===a)return l;a=c,l=To({chainBatches:e,user:t,token:n,grossAmount:s,gasFee:a})}throw new m.SpiceflowError("INVALID_PARAMS","Action-output fee estimate did not converge. Please retry.")}function Tn(e){return j.isSpicenetChainId(e.chainId)}const ai="0xa9059cbb";function ns(e,t){return`${e}:${t.toLowerCase()}`}function Mo(e,t){return t===j.ZERO_ADDRESS.toLowerCase()?{symbol:m.getChainName(e),decimals:18}:j.getTokenByAddress(t,e)??{symbol:"tokens",decimals:18}}function ii(e,t){const n=j.getTokenByAddress(t,e);return[n?.equivalenceGroup,n?.symbol,n?.name]}async function li(e){return m.getWalletBalanceEntries(e)}async function ci(e,t,n){const s=new Map,r=new Map,a=new Map,l=new Map;for(const u of n?.actionOutputCredits??[]){const c=ns(u.chainId,u.token);l.set(c,(l.get(c)??0n)+u.amount)}for(const u of e)if(!Tn(u)){for(const c of u.tokenTransfers??[]){if(c.from!=="escrow"&&c.from!=="solver"||!m.addressesEqual(c.to,t))continue;const f=BigInt(c.amount??0);if(f<=0n)continue;const p=ns(u.chainId,c.token);r.set(p,(r.get(p)??0n)+f),c.from==="escrow"&&a.set(p,(a.get(p)??0n)+f)}for(const c of u.calls){if(c.value&&c.value>0n){const f=ns(u.chainId,j.ZERO_ADDRESS);s.set(f,(s.get(f)??0n)+c.value)}if(c.data?.startsWith(ai))try{const f=F.decodeFunctionData({abi:F.erc20Abi,data:c.data});if(f.functionName!=="transfer")continue;const[,p]=f.args,g=c.to.toLowerCase(),x=ns(u.chainId,g);s.set(x,(s.get(x)??0n)+p)}catch{}}}let d=null;for(const[u,c]of a){if(c<=0n)continue;const[f,p]=u.split(":"),g=Number(f),x=Mo(g,p);d??(d=await li(t));const h=Va(d,g,p,ii(g,p));if(!(h>=c))throw new m.SpiceflowError("INVALID_PARAMS",`Insufficient Spice ${x.symbol}: needs ${F.formatUnits(c,x.decimals)}, has ${F.formatUnits(h,x.decimals)}.`,{chainId:g,token:p,userAddress:t,requiredAmount:c.toString(),balance:h.toString(),balanceSource:"spice"})}for(const[u,c]of s){if(c<=0n)continue;const[f,p]=u.split(":"),g=Number(f),x=c-(r.get(u)??0n)-(l.get(u)??0n);if(x<=0n)continue;const h=m.getClientForChain(g),b=p===j.ZERO_ADDRESS.toLowerCase()?await h.getBalance({address:t}):await h.readContract({address:p,abi:F.erc20Abi,functionName:"balanceOf",args:[t]});if(b>=x)continue;const y=Mo(g,p);throw new m.SpiceflowError("INVALID_PARAMS",`Insufficient ${y.symbol} on ${m.getChainName(g)}: needs ${F.formatUnits(x,y.decimals)}, has ${F.formatUnits(b,y.decimals)}.`,{chainId:g,token:p,userAddress:t,requiredAmount:x.toString(),balance:b.toString(),balanceSource:"wallet"})}}function di({chainBatches:e,tokenAddress:t,tokenTransferAmount:n,useCustomTransfers:s}){if(!(e.some(Tn)||!(s?e.some(r=>Tn(r)?!1:(r.tokenTransfers??[]).some(a=>a.from==="escrow"&&BigInt(a.amount??0)>0n)):n>0n)))throw new m.SpiceflowError("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 ui(e,t,n,s){t.forEach((r,a)=>{if(!r.to||!r.from||!r.token||r.amount===void 0)throw new m.SpiceflowError("INVALID_TOKEN_TRANSFER",`tokenTransfers[${a}] 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:a,transfer:{from:r.from,to:r.to,token:r.token,amount:r.amount?.toString()},signingAddress:n,useCustomTransfers:s})})}function Ds({user:e,chainBatches:t,tokenAddress:n,tokenTransferAmount:s,exp:r,signature:a,chainAuthorizations:l,useCustomTransfers:d}){const u=t,c=j.hashChainBatches(u),f=u.filter(p=>!Tn(p)).length;if(di({chainBatches:u,tokenAddress:n,tokenTransferAmount:s,useCustomTransfers:d}),!d&&s>0n&&f>1)throw new m.SpiceflowError("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:f,tokenAddress:n,tokenTransferAmount:s.toString()});return{user:e,...l?{chainAuthorizations:l}:{},intents:[{mode:"7702",signatureType:"ecdsa",signature:a,nbf:0,exp:r,chainBatches:c.map((p,g)=>{const x=u[g],h=Tn(x)?[]:d?x.tokenTransfers??[]:s>0n?[{from:"escrow",to:e,token:n,amount:s}]:[];return ui(Number(p.chainId),h,e,d),{hash:p.hash,chainId:Number(p.chainId),tokenTransfers:h,calls:p.calls}})}]}}function pi(e,t){const n=j.hashChainBatches(e).map(s=>s.hash);return F.keccak256(F.encodeAbiParameters([{type:"string"},{type:"uint256"},{type:"uint256"},{type:"bytes32[]"}],["ecdsa",0n,t,n]))}let Ns=!1;function Rn(){const{address:e,isConnected:t,isAuthenticated:n,actions:s}=m.useWallet(),[r,a]=i.useState(null),{intentStatus:l,startStatusPolling:d,beginStatusTracking:u,applyStepUpdate:c,clearStatus:f}=ti({checkStepStatus:(I,v)=>m.relayerService.checkStepStatus(I,v),retryStep:async(I,v)=>{const[D,k]=I.split("/"),w=parseInt(k||"0",10);await m.relayerService.executeStep(D,w,v,{action:"execute"})}}),p=i.useRef(s),g=i.useRef(new Map);p.current=s;const x=i.useCallback(async(I,v,D)=>{const k=[...new Set(I.filter(A=>!Tn(A)).map(A=>A.chainId))],w=await Promise.all(k.map(async A=>{const T=m.getClientForChain(A),B=m.getDelegateContractAddress(A),C=Number(await j.getAccountNonce(v,T)),E=[v.toLowerCase(),A,B.toLowerCase(),C].join(":");return{chainId:A,delegateContract:B,nonce:C,cacheKey:E,cached:g.current.get(E)}})),M=[];for(const{chainId:A,delegateContract:T,nonce:B,cacheKey:C,cached:E}of w){if(E){M.push(E);continue}if(D?.aborted)throw new m.SpiceflowError("ABORT","Execution transaction aborted");const S=await p.current.signAuthorization({contractAddress:T,chainId:A,nonce:B}),R={r:S.r,s:S.s,yParity:S.yParity,address:S.address??T,chainId:Number(S.chainId??A),nonce:Number(S.nonce??B)};g.current.set(C,R),M.push(R)}return M},[]),h=i.useCallback(async(I,v,D)=>{if(D?.aborted)throw new m.SpiceflowError("ABORT","Execution transaction aborted");const k=await p.current.signMessage({raw:pi(I,v)}),w=typeof k=="string"?k:k.signature;if(!w)throw new m.SpiceflowError("SIGNATURE_FAILED","Failed to sign intent authorization. The wallet returned an empty signature.");return w},[]),b=i.useCallback(async(I,v,D,k,w,M)=>{const A=(T,B,C)=>{k?.({step:T,message:B,...C})};if(Ns)throw new m.SpiceflowError("CONCURRENT_EXECUTION","A execution transaction is already in progress. Please wait.");Ns=!0;try{if(!e)throw new m.SpiceflowError("WALLET_DISCONNECTED","No wallet connected. Please log in first.");const T=M?.userOverride||e,B=M?.depositToEscrow?.gasFundingSource==="action-output"?M.depositToEscrow:null;let C=M?.depositToEscrow&&!B?Bo({chainBatches:I,token:M.depositToEscrow.token,amount:M.depositToEscrow.amount}):es(I),E=[],S=M?.useCustomTransfers;A("signing-delegation","Sign delegation in your wallet...");const R=await x(C,T,w);if(w?.aborted)throw new m.SpiceflowError("ABORT","Execution transaction aborted");const N=BigInt(Math.floor(Date.now()/1e3)+3600);if(B){const ue=await Ro({chainBatches:I,user:T,token:B.token,grossAmount:B.amount,chainAuthorizations:R});C=ue.chainBatches,E=[ue.outputCredit],S=!0}if(!M?.skipPreSubmitFeeEstimate){let ue=!1;for(let q=0;q<10;q++){const ee=M?.feeExecutionMode==="user-transfer"?Jn(C,T):C,oe=Ds({user:T,chainBatches:ee,tokenAddress:v,tokenTransferAmount:D,exp:Number(N),signature:"0x00",chainAuthorizations:R,useCustomTransfers:S}),pe=await m.relayerService.estimateActionFees(oe);a(pe);const we=await M?.adjustBatchesForEstimate?.({feeEstimate:pe,chainBatches:C}),de=!!we&&Io(C,we);if(!we||de){ue=!0;break}C=we}if(!ue)throw new m.SpiceflowError("INVALID_PARAMS","Fee estimate did not converge. Please retry.")}M?.skipUserFundingPreflight||await ci(C,T,{actionOutputCredits:E}),A("signing-intent","Sign the intent in your wallet...");const P=await h(C,N,w);if(w?.aborted)throw new m.SpiceflowError("ABORT","Execution transaction aborted");A("submitting","Submitting to relayer...");const H=Ds({user:T,chainBatches:C,tokenAddress:v,tokenTransferAmount:D,exp:Number(N),signature:P,chainAuthorizations:R,useCustomTransfers:S}),L=await m.relayerService.createAction(H),[W,U]=L.intentIds[0].split("/"),z=parseInt(U||"0",10),_=`${W}/${z}`;A("executing","Executing on chain..."),A("executing","Executing on chain...",{actionId:W,intentId:_,intentIndex:z,totalSteps:C.length});const V=C.length,Y=await So({actionId:W,intentIndex:z,intentId:_,totalSteps:V,signal:w,isSpicenetStep:ue=>C[ue]?.domain==="spicenet",maxExecuteAttemptsForStep:ue=>C[ue]?.domain==="spicenet"?6:3,maxPolls:180,onStatusMessage:(ue,q)=>{A("executing",ue,{txHash:q,actionId:W,intentId:_,intentIndex:z,totalSteps:V})}});return A("success","Transaction successful!",{txHash:Y,actionId:W,intentId:_,intentIndex:z,totalSteps:V}),Y||W}catch(T){throw console.error("[Execution] Error:",T),A("error",T.message||"Transaction failed",{error:T.message}),T}finally{Ns=!1}},[e,n,x,h]),y=i.useCallback(async(I,v,D,k)=>{if(!e)throw new m.SpiceflowError("WALLET_DISCONNECTED","No wallet connected. Please log in first.");const w=k?.userOverride||e,M=k?.depositToEscrow?.gasFundingSource==="action-output"?k.depositToEscrow:null;let A=k?.depositToEscrow&&!M?Bo({chainBatches:I,token:k.depositToEscrow.token,amount:k.depositToEscrow.amount}):es(I);const T=k?.feeExecutionMode==="user-transfer"?Jn(A,w):A,B=k?.signAuthorizationsForEstimate?await x(T,w):void 0;let C=k?.useCustomTransfers;M&&(A=(await Ro({chainBatches:I,user:w,token:M.token,grossAmount:M.amount,chainAuthorizations:B})).chainBatches,C=!0);const E=k?.feeExecutionMode==="user-transfer"?Jn(A,w):A,S=Ds({user:w,chainBatches:E,tokenAddress:v,tokenTransferAmount:D,exp:Math.floor(Date.now()/1e3)+3600,signature:"0x00",chainAuthorizations:B,useCustomTransfers:C}),R=await m.relayerService.estimateActionFees(S);return a(R),R},[e,x]);return{execute:b,estimate:y,lastFeeEstimate:r,hasEmbeddedWallet:t&&n,intentStatus:l,startStatusPolling:d,beginStatusTracking:u,applyStepUpdate:c,clearStatus:f}}const Ws=({color:e})=>o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:[o.jsx("circle",{cx:"7",cy:"7",r:"6.5",stroke:e,strokeWidth:"1.2"}),o.jsx("path",{d:"M7 6v4",stroke:e,strokeWidth:"1.2",strokeLinecap:"round"}),o.jsx("circle",{cx:"7",cy:"4.5",r:"0.7",fill:e})]}),Do=({content:e,label:t="More info",textColor:n="#f9fafb",backgroundColor:s="#111827",borderColor:r="rgba(255,255,255,0.08)",accentColor:a="#9ca3af",children:l})=>{const d=i.useId(),[u,c]=i.useState(!1),f=i.useRef(null),[p,g]=i.useState(!1),[x,h]=i.useState(null);i.useEffect(()=>{g(!0)},[]),i.useLayoutEffect(()=>{if(!u||!f.current)return;const y=()=>{if(!f.current)return;const I=f.current.getBoundingClientRect(),v=Math.min(220,window.innerWidth-48),D=Math.min(Math.max(I.left+I.width/2,24+v/2),window.innerWidth-24-v/2),k=I.top>84;h({top:k?I.top-10:I.bottom+10,left:D,placement:k?"top":"bottom"})};return y(),window.addEventListener("scroll",y,!0),window.addEventListener("resize",y),()=>{window.removeEventListener("scroll",y,!0),window.removeEventListener("resize",y)}},[u]);const b=u&&p&&x?Un.createPortal(o.jsxs("span",{id:d,role:"tooltip",style:{position:"fixed",left:x.left,top:x.top,transform:x.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 ${r}`,boxShadow:"0 18px 45px rgba(0,0,0,0.28)",fontSize:"11px",lineHeight:"1.45",fontWeight:500,textAlign:"left",zIndex:wn.tooltip,pointerEvents:"none"},children:[e,o.jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:"50%",width:"10px",height:"10px",transform:"translateX(-50%) rotate(45deg)",backgroundColor:s,...x.placement==="top"?{bottom:"-6px",borderRight:`1px solid ${r}`,borderBottom:`1px solid ${r}`}:{top:"-6px",borderTop:`1px solid ${r}`,borderLeft:`1px solid ${r}`}}})]}),document.body):null;return o.jsxs(o.Fragment,{children:[o.jsx("span",{ref:f,style:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),children:o.jsx("button",{type:"button","aria-label":t,"aria-describedby":u?d:void 0,onFocus:()=>c(!0),onBlur:()=>c(!1),style:{width:"18px",height:"18px",borderRadius:"999px",display:"inline-flex",alignItems:"center",justifyContent:"center",border:`1px solid ${r}`,backgroundColor:"transparent",color:a,cursor:"help",padding:0,outline:"none",boxShadow:u?`0 0 0 2px ${a}26`:"none",transition:"border-color 120ms ease, box-shadow 120ms ease, color 120ms ease"},children:l||o.jsx(Ws,{color:a})})}),b]})},No=(e,t,n,s)=>({width:e,height:e,fill:"none",className:t,"aria-hidden":n??!0,style:s}),Cn=({size:e=16,color:t="currentColor",strokeWidth:n=2,direction:s="down",className:r,style:a,"aria-hidden":l})=>o.jsx("svg",{...No(e,r,l,{transform:s==="up"?"rotate(180deg)":void 0,transition:"transform 0.3s ease",...a}),viewBox:"0 0 16 16",children:o.jsx("path",{d:"M4 6L8 10L12 6",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})}),Wo=({size:e=14,color:t="currentColor",strokeWidth:n=2,className:s,style:r,"aria-hidden":a})=>o.jsx("svg",{...No(e,s,a,r),viewBox:"0 0 16 16",children:o.jsx("path",{d:"M3 8L6.5 11.5L13 5",stroke:t,strokeWidth:n,strokeLinecap:"round",strokeLinejoin:"round"})});function ss(e,t){if(e===0n)return"0";const n=10n**BigInt(t),s=e/n,r=(e%n).toString().padStart(t,"0").replace(/0+$/,"");return r?`${s.toString()}.${r}`:s.toString()}function os(e,t,n){const s=`${ss(e,t)} ${n}`;return e===0n?s:`-${s}`}const fi=({fontFamily:e,textPrimary:t,textSecondary:n,cardBg:s,cardBorder:r,resolvedDark:a,darkCardBorder:l,primaryColor:d,feePreview:u,isLoading:c,errorText:f,directExecutionFeeNote:p=!1})=>{const g=a?l??r:"#e5e7eb",x=a?"#111214":"#111827",h=a?"rgba(255,255,255,0.08)":"rgba(17,24,39,0.12)",b="#f87171",y=a?"#d1d5db":"#4b5563",I=a?"#f3f4f6":t,[v,D]=i.useState(!1),k=!!f,w=k?null:u,M=w?[{label:"Total Required",help:"Total amount required to fund this action.",value:`${ss(w.grossAmount,w.decimals)} ${w.symbol}`,tone:"default"},{label:"Spicenet Fee",help:"Fees paid to Spicenet for intent processing and execution.",value:os(w.spicenetFee,w.decimals,w.symbol),tone:"fee"},{label:"Gas Fee",help:"Gas fee shown in the same token you are using for this action.",value:os(w.gasFee,w.decimals,w.symbol),tone:"fee"},...w.bridgeFee&&w.bridgeFee>0n?[{label:"Bridge Fee",help:"Estimated cost to rebalance liquidity for this action.",value:os(w.bridgeFee,w.decimals,w.symbol),tone:"fee"}]:[],{label:"Used in TX",help:"Resulting amount of funds used in the transaction.",value:`${ss(w.netAmount,w.decimals)} ${w.symbol}`,tone:"default"}]:[];w&&os(w.totalFee??0n,w.decimals,w.symbol);const A=w?`${ss(w.grossAmount,w.decimals)} ${w.symbol}`:null;return k?o.jsx("div",{style:{backgroundColor:s,border:`1px solid ${r}`,borderRadius:a?"8px":"7px",padding:"14px 16px 12px 16px",marginBottom:"16px",boxShadow:a?"inset 0 1px 0 rgba(255,255,255,0.03)":"none"},children:o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"10px"},children:[o.jsx("span",{style:{fontSize:"17px",fontWeight:500,color:y,fontFamily:e,lineHeight:"24px"},children:"Fee"}),o.jsx("div",{style:{color:b,fontSize:"12px",lineHeight:"1.55",fontFamily:e},children:f})]})}):o.jsxs("div",{style:{backgroundColor:s,border:`1px solid ${r}`,borderRadius:a?"8px":"7px",padding:"14px 16px 12px 16px",marginBottom:"16px",boxShadow:a?"inset 0 1px 0 rgba(255,255,255,0.03)":"none"},children:[o.jsxs("button",{type:"button",onClick:()=>D(T=>!T),style:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",gap:"12px",marginBottom:v?"14px":0,background:"none",border:"none",padding:0,cursor:"pointer",textAlign:"left"},children:[o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[o.jsx("span",{style:{fontSize:"17px",fontWeight:500,color:y,fontFamily:e,lineHeight:"24px"},children:"Fee"}),v&&o.jsx("span",{style:{fontSize:"12px",color:n,fontFamily:e,lineHeight:"1.45"},children:"What is funded, spent, and taken as fees"})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0},children:[A&&o.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"2px",minWidth:0},children:[o.jsx("span",{style:{fontSize:"10px",fontWeight:700,color:n,fontFamily:e,letterSpacing:"0.08em",textTransform:"uppercase"},children:"Total required"}),o.jsx("span",{style:{fontSize:"14px",fontWeight:700,color:I,fontFamily:e,whiteSpace:"nowrap"},children:A})]}),c&&!p&&o.jsx("span",{style:{fontSize:"11px",fontWeight:600,color:d,fontFamily:e,padding:"6px 9px",borderRadius:"999px",backgroundColor:a?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.035)",border:`1px solid ${a?g:"rgba(0,0,0,0.06)"}`,whiteSpace:"nowrap"},children:"Recalculating"}),o.jsx(Cn,{color:n,direction:v?"up":"down",style:{flexShrink:0}})]})]}),o.jsx("div",{style:{overflow:"hidden",maxHeight:v?"480px":"0px",opacity:v?1:0,transition:"max-height 0.24s ease, opacity 0.18s ease"},children:p?o.jsx("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."}):M.length>0?o.jsxs(o.Fragment,{children:[o.jsx("div",{style:{display:"grid",gap:"10px"},children:M.map((T,B)=>o.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto",alignItems:"center",gap:"12px",paddingTop:B===0?0:"10px",borderTop:B===0?"none":`1px solid ${g}`,opacity:c?.74:1,transition:"opacity 120ms ease"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",minWidth:0},children:[o.jsx("span",{style:{fontSize:"12px",color:n,fontFamily:e,fontWeight:500},children:T.label}),o.jsx(Do,{content:T.help,label:`${T.label} info`,textColor:"#f9fafb",backgroundColor:x,borderColor:h,accentColor:a?"#8f96a3":"#6b7280"})]}),o.jsx("span",{style:{fontSize:"12px",color:T.tone==="fee"?b:I,fontFamily:'"IBM Plex Mono", monospace',textAlign:"right",fontWeight:T.label==="Used in TX"?600:500,letterSpacing:"-0.01em"},children:T.value})]},T.label))}),o.jsx("div",{style:{marginTop:"12px",paddingTop:"12px",borderTop:`1px solid ${g}`,fontSize:"11px",color:n,fontFamily:e,lineHeight:"1.45"},children:w?.gasQuoteSource==="estimated"?"Gas quote uses a live estimate.":w?.gasQuoteSource==="configured_fallback"?"Gas quote uses a configured fallback.":"Gas quote is currently zero."})]}):o.jsx("div",{style:{fontSize:"12px",color:f?b:n,fontFamily:e,opacity:f?1:.8,lineHeight:"1.5"},children:f||"Waiting for fee estimate..."})})]})},rs=i.memo(fi);function mi(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 Mn=({variant:e,palette:t,children:n,icon:s,style:r,fontFamily:a,size:l="default"})=>{const d=mi(e,t),u=l==="compact";return o.jsxs("div",{role:e==="error"?"alert":"status",style:{backgroundColor:d.bg,border:`1px solid ${d.border}`,borderRadius:u?"7px":"8px",padding:u?"8px 10px":"12px 16px",color:d.text,fontSize:u?"12px":"13px",lineHeight:u?1.4:1.5,display:"flex",alignItems:"flex-start",gap:u?"6px":"8px",fontFamily:a,...r},children:[s&&o.jsx("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:s}),o.jsx("span",{style:{minWidth:0,overflowWrap:"anywhere"},children:n})]})},Po='"IBM Plex Mono", monospace',Dn=({label:e,value:t,palette:n,valueColor:s,labelColor:r,style:a})=>o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"12px",...a},children:[o.jsx("span",{style:{fontSize:"12px",color:r??n.textSecondary,fontFamily:Po,fontWeight:500,letterSpacing:"0.03em",flexShrink:0,whiteSpace:"nowrap"},children:e}),o.jsx("span",{style:{fontSize:"13px",color:s??n.textPrimary,fontWeight:500,fontFamily:Po,minWidth:0,textAlign:"right",overflowWrap:"anywhere"},children:t})]}),Ps=({onClick:e,label:t="Add Funds",color:n,fontFamily:s,style:r})=>{const[a,l]=i.useState(!1);return o.jsxs("button",{type:"button",onClick:e,"data-spiceflow-focus":!0,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!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:a?.75:1,transition:"opacity 150ms ease",...r},children:[t,o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.8","aria-hidden":"true",children:[o.jsx("circle",{cx:"6",cy:"6",r:"5"}),o.jsx("path",{d:"M6 4v4M4 6h4",strokeLinecap:"round"})]})]})},hi="This deposit didn't confirm in time. It may still have gone through, so check the explorer and refresh your balance before retrying.";function gi(e){return e?.overallStatus!=="failed"?{isFailed:!1,failureMessage:null}:{isFailed:!0,failureMessage:e.steps?.find(t=>t.status==="failed"&&!!t.error)?.error||hi}}const as=o.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",style:{flexShrink:0},children:[o.jsx("circle",{cx:"10",cy:"10",r:"10",fill:"#10b981"}),o.jsx("path",{d:"M6 10l3 3 5-6",stroke:"#ffffff",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),xi=({isOpen:e,onClose:t,onConfirm:n,data:s,isExecuting:r=!1,error:a=null,theme:l,styles:d,intentStatus:u,postDepositStatus:c="idle",hasPostDepositInstruction:f=!1})=>{const{dark:p,dk:g,theme:x}=m.useSpiceBrand(d),[h,b]=i.useState(!1),[y,I]=i.useState(!0);i.useEffect(()=>{e||b(!1)},[e]);const v=()=>{b(!0),setTimeout(()=>{t()},300)},D=()=>{I(!y)};if(!e||!s)return null;const k=u?.overallStatus==="processing",w=u?.overallStatus==="success",M=!!u,{isFailed:A,failureMessage:T}=gi(u),B=!M&&f,C=B&&c==="executing",E=B&&c==="success",S=w&&f&&(c==="idle"||c==="executing")||C,R=w&&(!f||c==="success"||c==="error")||E||B&&c==="error",N=p?g.cardBg:"#ffffff",P=p?"0 -4px 20px rgba(0, 0, 0, 0.4)":"0 -4px 20px rgba(0, 0, 0, 0.15)",H=g.textSecondary,L=p?g.textPrimary:"#1f2937",W=p?g.textPrimary:"#1f2937",U=V=>o.jsx("div",{style:{marginBottom:l.spacing.md,padding:l.spacing.md,backgroundColor:d?.errorMessage?.backgroundColor||(l.mode==="light"?"#fef2f2":`${l.colors.error}20`),border:`1px solid ${d?.errorMessage?.borderColor||(l.mode==="light"?"#fecaca":l.colors.error)}`,borderRadius:d?.errorMessage?.borderRadius||l.borderRadius.md},children:o.jsx("p",{style:{color:d?.errorMessage?.color||l.colors.error,fontSize:d?.errorMessage?.fontSize||l.typography.fontSize.sm,margin:0,fontFamily:d?.errorMessage?.fontFamily||d?.fontFamily||l.typography.fontFamily},children:V})}),z={fontSize:l.typography.fontSize.sm,fontWeight:500,color:H,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.5px"},_=(V,Y,ue=L)=>o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("span",{style:z,children:V}),o.jsx("span",{style:{fontSize:l.typography.fontSize.sm,fontWeight:500,color:ue,fontFamily:'"IBM Plex Mono", monospace'},children:Y})]});return o.jsxs("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:10,animation:h?"slideDown 0.3s ease-in":"slideUp 0.3s ease-out",pointerEvents:"auto"},children:[o.jsxs("div",{style:{backgroundColor:N,borderRadius:"0",width:"100%",maxWidth:"522px",margin:"0 auto",padding:"18px 24px",boxShadow:P},children:[!w&&!E&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:l.spacing.md},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",cursor:"pointer"},onClick:D,children:[o.jsx("span",{style:{fontSize:"13px",fontWeight:l.typography.fontWeight.medium,color:H,fontFamily:d?.fontFamily||l.typography.fontFamily},children:"Transaction Details"}),o.jsx(Cn,{color:H,direction:y?"up":"down"})]}),o.jsx("button",{onClick:V=>{V.stopPropagation(),t()},style:{background:"none",border:"none",cursor:"pointer",padding:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:H,transition:"color 0.2s ease"},onMouseEnter:V=>{V.currentTarget.style.color=W},onMouseLeave:V=>{V.currentTarget.style.color=H},children:o.jsx(Fn,{size:16})})]}),o.jsxs("div",{style:{marginBottom:l.spacing.lg,display:"flex",flexDirection:"column",gap:l.spacing.md,overflow:"hidden",maxHeight:y?"200px":"0px",opacity:y?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease"},children:[_("NETWORK",s.network),_("DEPOSITED AMOUNT",s.amount,l.colors.success),s.creditedAmount&&_("CREDITED AMOUNT",s.creditedAmount),s.spicenetFee&&_("SPICENET FEE",s.spicenetFee),s.networkFee&&_("EST. GAS FEE",s.networkFee)]})]}),a&&!M&&U(a),A&&T&&U(T),o.jsx(m.Button,{onClick:R||A?v:n,variant:"outline",fullWidth:!0,disabled:r||k||S||C,styles:d,theme:x,children:r||k||C||S?"PROCESSING...":R?"CONTINUE \u2192":A?"CLOSE":"CONFIRM DEPOSIT"}),R&&o.jsx("p",{style:{marginTop:l.spacing.md,marginBottom:0,fontSize:"14px",color:H,textAlign:"center",fontFamily:d?.fontFamily||l.typography.fontFamily},children:"Your funds are now available in your Account"}),o.jsx("div",{style:{marginTop:l.spacing.md,display:"flex",justifyContent:"center",alignItems:"center"},children:o.jsx("img",{src:Fs,alt:"Powered by SpiceNet",style:{height:"auto",width:"130px",opacity:1,filter:p?"brightness(0) invert(1) opacity(0.7)":"none"}})})]}),o.jsx("style",{children:`
3
3
  @keyframes slideUp {
4
4
  from {
5
5
  transform: translateY(100%);
@@ -16,7 +16,7 @@
16
16
  transform: translateY(100%);
17
17
  }
18
18
  }
19
- `})]})},Ri=({intentStatus:e,postDepositSuccess:t=!1,postDepositAmount:n=null,postDepositStatus:s="idle",depositActionLabel:r="Post-Deposit Instruction",sourceChainName:a="Source Chain",directDepositStatus:c="idle",directDepositTxHash:d=null,directDepositChainId:u=null,styles:l})=>{const{dark:f,dk:p}=m.useSpiceBrand(l),[g,x]=i.useState([]),h=i.useRef(null),y=f?p.cardBg:"#ffffff",C=f?p.textPrimary:"#374151",I=f?`${p.cardBorder}`:"rgba(255, 255, 255, 0.2)",k=p.textSecondary,M=f?p.successBg||"#064e3b":"#d1fae5",w=f?p.successText||"#6ee7b7":"#065f46",b=f?p.successBorder||"#065f4633":"#75FFD036",B=f?p.errorBg||"#7f1d1d":"#fecaca",S=f?p.errorText||"#fca5a5":"#991b1b",F=f?p.errorBorder||"#991b1b33":"#FCA5A536",R=e?.overallStatus==="processing",v=e?.overallStatus==="success",A=v&&s!=="idle",N=r;return i.useEffect(()=>((c==="success"&&!R&&!v||t&&!R)&&(h.current=setTimeout(()=>{x([])},6e3)),()=>{h.current&&clearTimeout(h.current)}),[c,t,R,v]),i.useEffect(()=>{const j=[];if(c==="processing"&&j.push({id:"direct-processing",type:"direct-processing",content:"PROCESSING DEPOSIT...",borderColor:I,backgroundColor:y,textColor:C,icon:o.jsx(m.Spinner,{size:20,borderWidth:3,color:k})}),c==="success"){const D=d&&u?m.getExplorerUrl(u,d):void 0;j.push({id:"direct-success",type:"direct-success",content:"DEPOSIT CONFIRMED",borderColor:b,backgroundColor:M,textColor:w,explorerUrl:D!=="#"?D:void 0,icon:ds})}if(R&&j.push({id:"processing",type:"processing",content:"VERIFYING TRANSACTION SIGNATURE",borderColor:I,backgroundColor:y,textColor:C,icon:o.jsx(m.Spinner,{size:20,borderWidth:3,color:k})}),v&&(j.push({id:"submitted",type:"submitted",content:"SUBMITTED TRANSACTION TO BLOCKCHAIN",borderColor:b,backgroundColor:M,textColor:w,icon:ds}),j.push({id:"deposit-success",type:"deposit-success",content:`DEPOSIT TO ${a.toUpperCase()} SUCCESSFUL`,borderColor:b,backgroundColor:M,textColor:w,icon:ds})),A){const D=s==="success"?b:s==="error"?F:I,z=s==="success"?M:s==="error"?B:y,V=s==="success"?w:s==="error"?S:C;let O="";s==="executing"?O=`EXECUTING ${N.toUpperCase()}...`:s==="success"?O=`${N.toUpperCase()} CONFIRMED`:s==="error"&&(O=`${N.toUpperCase()} FAILED`);let P;s==="executing"?P=o.jsx(m.Spinner,{size:20,borderWidth:3,color:k}):s==="success"?P=o.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",style:{flexShrink:0},children:[o.jsx("circle",{cx:"10",cy:"10",r:"10",fill:"#10b981"}),o.jsx("path",{d:"M6 10l3 3 5-6",stroke:"#ffffff",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):s==="error"&&(P=o.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",style:{flexShrink:0},children:[o.jsx("circle",{cx:"10",cy:"10",r:"10",fill:"#ef4444"}),o.jsx("path",{d:"M6 6l8 8M14 6l-8 8",stroke:"#ffffff",strokeWidth:"2",strokeLinecap:"round"})]})),j.push({id:"post-deposit",type:"post-deposit",content:O,status:s,borderColor:D,backgroundColor:z,textColor:V,icon:P})}t&&n&&j.push({id:"post-deposit-success",type:"post-deposit-success",content:`SUCCESSFULLY DEPOSITED ${n}`,borderColor:b,backgroundColor:M,textColor:w,icon:ds}),x(D=>{const z=new Set(j.map(P=>P.id)),V=[],O=new Set;for(const P of D)if(z.has(P.id)){const W=j.find(Q=>Q.id===P.id);V.push(W),O.add(P.id)}for(const P of j)O.has(P.id)||V.push(P);if(V.length>3){const P=[],W=[];for(const K of V)K.type==="processing"||K.type==="post-deposit"&&K.status==="executing"?P.push(K):W.push(K);const Q=[...P],ae=3-Q.length;return ae>0&&W.length>0&&Q.push(...W.slice(-ae)),Q}return V})},[R,v,A,s,t,n,N,a,c,d,u,f]),g.length===0?null:o.jsxs("div",{style:{position:"absolute",top:"56px",left:"24px",right:"24px",zIndex:100,display:"flex",flexDirection:"column",gap:"8px",pointerEvents:"none"},children:[g.map(j=>o.jsx("div",{style:{borderRadius:"12px",border:`4px solid ${j.borderColor}`,background:"transparent",animation:"fadeInSlide 0.4s ease-out"},children:o.jsxs("div",{style:{backgroundColor:j.backgroundColor,borderRadius:"8px",padding:"14px 16px",display:"flex",alignItems:"center",gap:"12px"},children:[j.icon,o.jsx("span",{style:{fontSize:"13px",fontWeight:"600",color:j.textColor,letterSpacing:"0.3px",fontFamily:'"Helvetica Neue", sans-serif',flex:1},children:j.content}),j.explorerUrl&&o.jsx("a",{href:j.explorerUrl,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"12px",fontWeight:"600",color:j.textColor,textDecoration:"underline",whiteSpace:"nowrap",pointerEvents:"auto",opacity:.8},children:"View tx"})]})},j.id)),o.jsx("style",{children:`
19
+ `})]})},yi=({intentStatus:e,postDepositSuccess:t=!1,postDepositAmount:n=null,postDepositStatus:s="idle",depositActionLabel:r="Post-Deposit Instruction",sourceChainName:a="Source Chain",directDepositStatus:l="idle",directDepositTxHash:d=null,directDepositChainId:u=null,styles:c})=>{const{dark:f,dk:p}=m.useSpiceBrand(c),[g,x]=i.useState([]),h=i.useRef(null),b=f?p.cardBg:"#ffffff",y=f?p.textPrimary:"#374151",I=f?`${p.cardBorder}`:"rgba(255, 255, 255, 0.2)",v=p.textSecondary,D=f?p.successBg||"#064e3b":"#d1fae5",k=f?p.successText||"#6ee7b7":"#065f46",w=f?p.successBorder||"#065f4633":"#75FFD036",M=f?p.errorBg||"#7f1d1d":"#fecaca",A=f?p.errorText||"#fca5a5":"#991b1b",T=f?p.errorBorder||"#991b1b33":"#FCA5A536",B=e?.overallStatus==="processing",C=e?.overallStatus==="success",E=C&&s!=="idle",S=r;return i.useEffect(()=>((l==="success"&&!B&&!C||t&&!B)&&(h.current=setTimeout(()=>{x([])},6e3)),()=>{h.current&&clearTimeout(h.current)}),[l,t,B,C]),i.useEffect(()=>{const R=[];if(l==="processing"&&R.push({id:"direct-processing",type:"direct-processing",content:"PROCESSING DEPOSIT...",borderColor:I,backgroundColor:b,textColor:y,icon:o.jsx(m.Spinner,{size:20,borderWidth:3,color:v})}),l==="success"){const N=d&&u?m.getExplorerUrl(u,d):void 0;R.push({id:"direct-success",type:"direct-success",content:"DEPOSIT CONFIRMED",borderColor:w,backgroundColor:D,textColor:k,explorerUrl:N!=="#"?N:void 0,icon:as})}if(B&&R.push({id:"processing",type:"processing",content:"VERIFYING TRANSACTION SIGNATURE",borderColor:I,backgroundColor:b,textColor:y,icon:o.jsx(m.Spinner,{size:20,borderWidth:3,color:v})}),C&&(R.push({id:"submitted",type:"submitted",content:"SUBMITTED TRANSACTION TO BLOCKCHAIN",borderColor:w,backgroundColor:D,textColor:k,icon:as}),R.push({id:"deposit-success",type:"deposit-success",content:`DEPOSIT TO ${a.toUpperCase()} SUCCESSFUL`,borderColor:w,backgroundColor:D,textColor:k,icon:as})),E){const N=s==="success"?w:s==="error"?T:I,P=s==="success"?D:s==="error"?M:b,H=s==="success"?k:s==="error"?A:y;let L="";s==="executing"?L=`EXECUTING ${S.toUpperCase()}...`:s==="success"?L=`${S.toUpperCase()} CONFIRMED`:s==="error"&&(L=`${S.toUpperCase()} FAILED`);let W;s==="executing"?W=o.jsx(m.Spinner,{size:20,borderWidth:3,color:v}):s==="success"?W=o.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",style:{flexShrink:0},children:[o.jsx("circle",{cx:"10",cy:"10",r:"10",fill:"#10b981"}),o.jsx("path",{d:"M6 10l3 3 5-6",stroke:"#ffffff",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):s==="error"&&(W=o.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",style:{flexShrink:0},children:[o.jsx("circle",{cx:"10",cy:"10",r:"10",fill:"#ef4444"}),o.jsx("path",{d:"M6 6l8 8M14 6l-8 8",stroke:"#ffffff",strokeWidth:"2",strokeLinecap:"round"})]})),R.push({id:"post-deposit",type:"post-deposit",content:L,status:s,borderColor:N,backgroundColor:P,textColor:H,icon:W})}t&&n&&R.push({id:"post-deposit-success",type:"post-deposit-success",content:`SUCCESSFULLY DEPOSITED ${n}`,borderColor:w,backgroundColor:D,textColor:k,icon:as}),x(N=>{const P=new Set(R.map(W=>W.id)),H=[],L=new Set;for(const W of N)if(P.has(W.id)){const U=R.find(z=>z.id===W.id);H.push(U),L.add(W.id)}for(const W of R)L.has(W.id)||H.push(W);if(H.length>3){const W=[],U=[];for(const V of H)V.type==="processing"||V.type==="post-deposit"&&V.status==="executing"?W.push(V):U.push(V);const z=[...W],_=3-z.length;return _>0&&U.length>0&&z.push(...U.slice(-_)),z}return H})},[B,C,E,s,t,n,S,a,l,d,u,f]),g.length===0?null:o.jsxs("div",{style:{position:"absolute",top:"56px",left:"24px",right:"24px",zIndex:100,display:"flex",flexDirection:"column",gap:"8px",pointerEvents:"none"},children:[g.map(R=>o.jsx("div",{style:{borderRadius:"12px",border:`4px solid ${R.borderColor}`,background:"transparent",animation:"fadeInSlide 0.4s ease-out"},children:o.jsxs("div",{style:{backgroundColor:R.backgroundColor,borderRadius:"8px",padding:"14px 16px",display:"flex",alignItems:"center",gap:"12px"},children:[R.icon,o.jsx("span",{style:{fontSize:"13px",fontWeight:"600",color:R.textColor,letterSpacing:"0.3px",fontFamily:'"Helvetica Neue", sans-serif',flex:1},children:R.content}),R.explorerUrl&&o.jsx("a",{href:R.explorerUrl,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"12px",fontWeight:"600",color:R.textColor,textDecoration:"underline",whiteSpace:"nowrap",pointerEvents:"auto",opacity:.8},children:"View tx"})]})},R.id)),o.jsx("style",{children:`
20
20
  @keyframes fadeInSlide {
21
21
  from {
22
22
  opacity: 0;
@@ -27,7 +27,7 @@
27
27
  transform: translateY(0);
28
28
  }
29
29
  }
30
- `})]})};async function Un(e,t,n){let s=null;try{const r=await e.request({method:"eth_chainId"});s=parseInt(r,16)}catch{s=null}s!==t&&(n?.(),await m.ensureWalletOnChain(e,t))}const tr="spiceflow:pendingDeposit",us="spiceflow:pendingDepositChanged";function nr(e,t,n){return`${tr}:${e.toLowerCase()}:${t}:${n.toLowerCase()}`}function Zs(){try{const e="__spiceflow_storage_test__";return localStorage.setItem(e,"1"),localStorage.removeItem(e),!0}catch{return!1}}function Mi(e){if(!Zs())return;const t=nr(e.embeddedWalletAddress,e.chainId,e.tokenAddress);try{localStorage.setItem(t,JSON.stringify(e)),window.dispatchEvent(new Event(us))}catch(n){console.error("[pendingDeposit] Failed to save:",n)}}function Ni(e){if(!Zs())return[];const t=`${tr}:${e.toLowerCase()}:`,n=[],s=Date.now();for(let r=0;r<localStorage.length;r++){const a=localStorage.key(r);if(!(!a||!a.startsWith(t)))try{const c=localStorage.getItem(a);if(!c)continue;const d=JSON.parse(c);if(s-d.timestamp>6048e5){localStorage.removeItem(a);continue}n.push(d)}catch{localStorage.removeItem(a)}}return n}function Gs(e,t,n){if(!Zs())return;const s=nr(e,t,n);localStorage.removeItem(s),window.dispatchEvent(new Event(us))}function Di({sourceChainId:e,selectedAsset:t,destinationChainId:n,destinationTokenAddress:s,isCrossDenomination:r,convertedUsdAmount:a}){const c=T.normalizeNativeTokenAddress(t.asset.address),d=s;let u,l;if(d&&n)if(u=m.CHAIN_CONFIGS[n]?.supportedTokens?.find(f=>m.addressesEqual(f.address,d))?.decimals??t.asset.decimals,r){if(!a)throw new Error("Destination amount is still being calculated. Please retry in a moment.");l=a}else{const f=E.parseUnits(t.amount,t.asset.decimals);l=T.convertAmountBetweenDecimals(f,t.asset.decimals,u)}return{sourceChainId:e,depositTokenAddress:c,depositAmount:t.amount,depositTokenDecimals:t.asset.decimals,destinationChainId:n,destinationTokenAddress:d,destinationAmount:l,destinationTokenDecimals:u}}async function Wi(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)}const Pi=60*60;async function Ui(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}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}e.setIsExecuting(!0),e.setError(null);let n=!1;try{const s=t[0].asset.chainId,r=T.getEscrowContractAddress(s);let a=e.externalWalletClient;if(!e.escrowOnly){if(!a)throw new Error("External wallet not connected");if(e.externalProvider){await Un(e.externalProvider,s);const c=m.getChainConfig(s);c&&(a=E.createWalletClient({account:e.sourceAddress,chain:c.viemChain,transport:E.custom(e.externalProvider)}))}}if(e.isNon7702){if(!a)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 c=m.getChainConfig(s),d=t.map(l=>`${l.amount} ${l.asset.symbol}`).join(", ");e.setConfirmationData({network:c?.displayName||`Chain ${s}`,amount:d,symbol:"",chainId:s}),e.setShowConfirmation(!0);let u=null;e.setDirectDepositStatus("processing"),e.setDirectDepositChainId(s);for(const l of t){const f=E.parseUnits(l.amount,l.asset.decimals),p=T.normalizeNativeTokenAddress(l.asset.address),g=l.asset.isNative||T.isNativeToken(p)?await a.sendTransaction({to:r,value:f}):await a.sendTransaction({to:p,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[r,f]})}),x=await m.getClientForChain(s).waitForTransactionReceipt({hash:g,timeout:12e4,pollingInterval:2e3,confirmations:2});if(x.status!=="success")throw new Error(`Escrow deposit failed for ${l.asset.symbol}`);u=x.transactionHash,e.setDirectDepositTxHash(x.transactionHash)}if(t[0]?.amount){const l=t[0].amount;if(e.onDepositExecute){e.setPostDepositStatus("executing");try{await e.onDepositExecute(l),e.setPostDepositStatus("success")}catch(p){console.error("ctx.onDepositExecute failed:",p),e.setPostDepositStatus("error"),e.setPostDepositError(p?.message||"Post-deposit instruction failed")}}else e.setPostDepositStatus("success");e.setDirectDepositStatus("success"),e.setPostDepositAmount(l),e.setPostDepositSuccess(!0);const f={type:"deposit",status:"success",amount:l,asset:t[0].asset.symbol,sourceChain:c?.displayName||`Chain ${s}`,txHash:u??void 0};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:f})),e.onDepositSuccess?.(f)}e.refreshAssets(),e.onDepositSelect&&e.onDepositSelect(t[0].asset)}else{const c=e.destinationChainId||e.nativeChainId;if(!c)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 d=m.getDelegateContractAddress(s),u=r,l=[];let f=null;for(const p of t){const g=E.parseUnits(p.amount,p.asset.decimals),x=T.normalizeNativeTokenAddress(p.asset.address),h=p.asset.isNative||T.isNativeToken(x),y=u,C=h?await a.sendTransaction({to:u,value:g}):await a.sendTransaction({to:x,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[y,g]})});f||(f=C);const I=m.getClientForChain(s),k=await I.waitForTransactionReceipt({hash:C,timeout:12e4,pollingInterval:2e3,confirmations:2});if(k.status!=="success")throw new Error(`Transfer failed for ${p.asset.symbol}`);await I.getBlockNumber()-k.blockNumber<2&&await sn(3e3),e.depositDataRef.current||(e.depositDataRef.current=[]),e.depositDataRef.current.push({txHash:C,sender:e.sourceAddress,tokenAddress:x,chainId:s,amount:g.toString(),user:e.spiceBalanceUser}),l.push({tokenAddress:x,tokenAmount:g.toString(),sender:e.sourceAddress,receiver:u})}if(!f)throw new Error("No transaction hash generated");if(!e.destinationTokenAddress){const p={type:"deposit",status:"success",amount:t[0]?.amount,asset:t[0]?.asset?.symbol,sourceChain:m.getChainName(s),txHash:f};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:p})),e.onDepositSuccess?.(p),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.sponsorGas&&e.nativeChainId){const p=E.parseUnits("0.05",18);l.push({tokenAddress:T.ZERO_ADDRESS,tokenAmount:p.toString(),sender:e.sourceAddress,receiver:u})}if(e.mode==="ondemand"){const p={to:d,value:BigInt(0),data:"0x"},g=await m.getTokenDecimals(c,e.destinationTokenAddress);let x=BigInt(0);for(const B of l){const S=BigInt(B.tokenAmount),F=T.normalizeNativeTokenAddress(B.tokenAddress),R=t.find(A=>{const N=T.normalizeNativeTokenAddress(A.asset.address);return m.addressesEqual(N,F)}),v=R?R.asset.decimals:await m.getTokenDecimals(s,T.ZERO_ADDRESS);x+=T.convertAmountBetweenDecimals(S,v,g)}e.isCrossDenomination&&e.convertedUsdAmount&&(x=e.convertedUsdAmount);const h={chainId:s,tokenTransfers:l.map(B=>({from:B.sender,to:B.receiver,token:B.tokenAddress,amount:BigInt(B.tokenAmount)})),call:p},y=e.isCrossDenomination&&e.convertedUsdAmount?[{from:e.sourceAddress,to:r,token:T.normalizeNativeTokenAddress(t[0].asset.address),amount:E.parseUnits(t[0].amount,t[0].asset.decimals)}]:[],C={chainId:c,tokenTransfers:[...y,{from:"escrow",to:e.sourceAddress,token:e.destinationTokenAddress,amount:x}],call:{to:e.destinationTokenAddress,value:BigInt(0),data:"0x"}},I={mode:"non-7702:on-demand",chainBatches:[h,C]},k={user:e.sourceAddress,intents:[I]},M=await m.relayerService.createAction(k),w=M.actionId,b=M.intentIds[0];if(!f)throw new Error("No transaction hash available");e.startStatusPolling(b,m.createInitialSteps([{chainId:s,calls:[p]},{chainId:c,calls:[C.call]}],B=>m.getChainName(B))),await m.relayerService.executeStep(w,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 c=[],d=t[0],u=d&&t.length===1&&e.effectiveDepositFee&&e.effectiveDepositFee.chainId===s&&m.addressesEqual(e.effectiveDepositFee.token,T.normalizeNativeTokenAddress(d.asset.address))?E.formatUnits(e.effectiveDepositFee.net,d.asset.decimals):d?.amount;for(const v of t){const A=E.parseUnits(v.amount,v.asset.decimals),N=t.length===1&&!!e.effectiveDepositFee&&e.effectiveDepositFee.chainId===s&&m.addressesEqual(e.effectiveDepositFee.token,T.normalizeNativeTokenAddress(v.asset.address)),j=N?e.effectiveDepositFee.fee:0n,D=N?e.effectiveDepositFee.net:A,z=e.escrowOnly?A:A+j,V=T.normalizeNativeTokenAddress(v.asset.address),O=v.asset.isNative||T.isNativeToken(V);if(!e.escrowOnly){const P=O?await a.sendTransaction({to:e.address,value:z}):await a.sendTransaction({to:V,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[e.address,z]})});Mi({chainId:s,tokenAddress:T.normalizeNativeTokenAddress(v.asset.address),tokenSymbol:v.asset.symbol,tokenDecimals:v.asset.decimals,amount:v.amount,rawAmount:A.toString(),embeddedWalletAddress:e.address,externalWalletAddress:e.sourceAddress,timestamp:Date.now(),isNative:O});const W=m.getClientForChain(s),Q=await W.waitForTransactionReceipt({hash:P,timeout:12e4,pollingInterval:2e3,confirmations:2});if(Q.status!=="success")throw new Error(`Transfer to embedded wallet failed for ${v.asset.symbol}`);await W.getBlockNumber()-Q.blockNumber<2&&await sn(3e3)}c.push(O?{to:r,value:D,data:"0x"}:{to:V,value:BigInt(0),data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[r,D]})}),j>0n&&c.push(O?{to:T.SPICE_GAS_FEE_RECIPIENT,value:j,data:"0x"}:{to:V,value:BigInt(0),data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[T.SPICE_GAS_FEE_RECIPIENT,j]})})}const l=await m.getClientForChain(s).getBlockNumber(),f=c.map(v=>({...v,to:E.getAddress(v.to)})),p={chainId:s,recentBlock:l,calls:f,tokenTransfers:[]},g=Di({sourceChainId:s,selectedAsset:d&&u?{...d,amount:u}:t[0],destinationChainId:e.destinationChainId,destinationTokenAddress:e.destinationTokenAddress,isCrossDenomination:e.isCrossDenomination,convertedUsdAmount:e.convertedUsdAmount}),x=await Wi(e.depositBatches,g),h=[p,...x];if(!e.address)throw new Error("Address not available");const y=[...new Set(h.map(v=>v.chainId))],C=[];for(const v of y){const A=m.getDelegateContractAddress(v),N=m.getClientForChain(v),j=await T.getAccountNonce(e.address,N),D=await e.actions.signAuthorization({contractAddress:A,chainId:v,nonce:Number(j)});C.push({r:D.r,s:D.s,yParity:D.yParity,chainId:D.chainId,nonce:Number(D.nonce),address:D.address})}const I=T.hashChainBatches(h),k=Math.floor(Date.now()/1e3)+Pi,M=I.map(v=>v.hash),w=E.keccak256(E.encodeAbiParameters([{type:"string"},{type:"uint256"},{type:"uint256"},{type:"bytes32[]"}],["ecdsa",0n,BigInt(k),M])),{signature:b}=await e.actions.signMessage({raw:w});if(!b)throw new Error("Failed to sign intent authorization");const B=[];if(e.isCrossDenomination&&e.convertedUsdAmount&&e.destinationTokenAddress){const v=e.selectedDepositAssets[0]?.asset;if(v){const A=E.parseUnits(e.selectedDepositAssets[0].amount,v.decimals);B.push({from:e.address,to:r,token:T.normalizeNativeTokenAddress(v.address),amount:A}),B.push({from:"escrow",to:e.address,token:e.destinationTokenAddress,amount:e.convertedUsdAmount})}}const S={mode:"7702",signatureType:"ecdsa",signature:b,nbf:0,exp:k,chainBatches:I.map((v,A)=>({hash:v.hash,chainId:h[A].chainId,tokenTransfers:A===1&&B.length>0?B:h[A].tokenTransfers??[],calls:h[A].calls}))},F={user:e.address,chainAuthorizations:C,intents:[S]},R=await m.relayerService.createAction(F);if(R){const v=R.actionId;for(let N=0;N<h.length;N++)await m.relayerService.executeStep(v,0,N,{action:"execute"});for(const N of t)Gs(e.address,s,T.normalizeNativeTokenAddress(N.asset.address));const A=m.createInitialSteps(h,N=>m.getChainName(N));if(e.startStatusPolling(R.intentIds[0],A),e.refreshAssets(),e.onDepositExecute&&t[0]?.amount)try{e.setPostDepositStatus("executing"),await e.onDepositExecute(u||t[0].amount),e.setPostDepositStatus("success"),e.setPostDepositAmount(u||t[0].amount),e.setPostDepositSuccess(!0)}catch(N){console.error("ctx.onDepositExecute failed (7702):",N),e.setPostDepositStatus("error"),e.setPostDepositError(N?.message||"Post-deposit instruction failed")}e.onDepositSelect&&e.onDepositSelect(t[0].asset)}}}catch(s){n=!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(m.sanitizeError(s,"Deposit failed")),e.clearStatus()}finally{e.setIsExecuting(!1),n&&e.setDirectDepositStatus("idle"),n||!e.getCurrentIntentStatus()&&e.getCurrentPostDepositStatus()!=="idle"||e.setShowConfirmation(!1)}}async function Oi(e){const{asset:t,assetIndex:n,selectedAssetCount:s,address:r,escrowOnly:a,isNon7702:c}=e;if(n!==0||c||s>1||!r||t.balance<=0n)return null;const d=await sr({address:r,depositQuote:{asset:t,amount:t.balance,token:T.normalizeNativeTokenAddress(t.address),chainId:t.chainId},escrowOnly:a}),u=a?t.balance:t.balance>d.fee?t.balance-d.fee:0n;return Vo(u,t.decimals)}async function sr(e){const{address:t,depositQuote:n,escrowOnly:s}=e,{asset:r,amount:a,token:c,chainId:d}=n,u=T.getEscrowContractAddress(d),l=r.isNative||T.isNativeToken(c),f=a>1n?1n:0n,p=[l?{to:u,value:a,data:"0x"}:{to:c,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[u,a]})}];f>0n&&p.push(l?{to:T.SPICE_GAS_FEE_RECIPIENT,value:f,data:"0x"}:{to:c,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[T.SPICE_GAS_FEE_RECIPIENT,f]})});const g={chainId:d,tokenTransfers:[],calls:p},x=(await m.relayerService.estimateBatchGas({user:t,outputToken:c,chainBatches:[{...g,hash:T.hashChainBatches([g])[0].hash}]})).gasFee,h=s&&x<a?a-x:a;return{fee:x,net:h,token:c,chainId:d}}const zi=({selectedDepositAssets:e,depositAssets:t,secondAssetOptions:n,loadingAssets:s,allowSecondAsset:r,theme:a,styles:c,dark:d,dk:u,onSelect:l,onAmountChange:f,onAdd:p,onRemove:g,resolveMaxAmount:x,onViewAllAssets:h})=>o.jsxs(o.Fragment,{children:[e.map((y,C)=>{const I=e.length===1?"Deposit":`Asset ${C+1}`;return o.jsxs("div",{style:{marginBottom:a.spacing.md,position:"relative"},children:[o.jsx(Qn,{assets:C===0?t:n,selectedAsset:y||void 0,onAssetSelect:k=>l(k,C),onAmountChange:k=>f(k,C),loading:s,label:I,showBalance:!0,theme:a,styles:c,allowSecondAsset:r&&C===0,onAddAsset:p,canAddAsset:e.length===1&&!!e[0]?.asset,resolveMaxAmount:x?k=>x(k,C):void 0,onViewAllAssets:C===0?h:void 0}),C===1&&o.jsx("button",{onClick:()=>g(C),style:{position:"absolute",top:"-2px",right:"-2px",background:d?`${u.cardBg}ee`:"rgba(255, 255, 255, 0.9)",border:`1px solid ${u.cardBorder}`,borderRadius:"50%",cursor:"pointer",color:a.colors.textMuted,fontSize:"16px",padding:"2px",width:"22px",height:"22px",display:"flex",alignItems:"center",justifyContent:"center",transition:nn.interactive,boxShadow:"0 1px 3px rgba(0, 0, 0, 0.1)"},onMouseEnter:k=>{k.currentTarget.style.color=d?u.errorText:"#ef4444",k.currentTarget.style.background=d?u.cardBg:"#fff",k.currentTarget.style.borderColor=d?u.errorBorder:"#fecaca"},onMouseLeave:k=>{k.currentTarget.style.color=a.colors.textMuted,k.currentTarget.style.background=d?`${u.cardBg}ee`:"rgba(255, 255, 255, 0.9)",k.currentTarget.style.borderColor=d?u.cardBorder:"#e5e7eb"},title:"Remove asset",children:"\xD7"})]},`asset-${C}`)}),e.length===0&&o.jsx("div",{style:{marginBottom:a.spacing.md},children:o.jsx(Qn,{assets:t,selectedAsset:void 0,onAssetSelect:y=>l(y,0),onAmountChange:y=>f(y,0),loading:s,label:"Deposit",showBalance:!0,theme:a,styles:c,allowSecondAsset:r,onAddAsset:p,canAddAsset:!1,resolveMaxAmount:x?y=>x(y,0):void 0},"initial-selector")})]}),Li=i.memo(zi);var Xs="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 or=i.memo(({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,onDepositSelect:s,depositBatches:r,supportedChains:a,title:c,styles:d,onDepositAssetChange:u,assetInputHook:l,externalWalletAddress:f,onDepositAmountChange:p,allowSecondAsset:g=!1,destinationChainId:x,destinationTokenAddress:h,onDepositExecute:y,depositActionLabel:C,nativeChainId:I,sponsorGas:k=!1,preSelectedAsset:M,escrowOnly:w=!1,escrowTokenAddress:b,escrowAmount:B,escrowTokenDecimals:S,escrowTokenSymbol:F,onDepositSuccess:R,embeddedWalletAddress:v,onViewAllAssets:A})=>{const N=i.useContext(m.SpiceFlowProviderContext),j=N?.mode||"7702",D=N?.allowedTokens,z=!!N?.isWhitelistGateActive,V=!w&&!!N?.isWhitelistConfigured&&N?.isUserWhitelisted!==!0,O=l?.assetAmount||"",{theme:P,dark:W,appName:Q,primaryColor:ae,dk:K}=m.useSpiceBrand(d),G=m.useWallet(),{isReady:ie,isAuthenticated:U,actions:X}=G,{externalWallet:fe}=m.useProviderWallets(),be=N?.embeddedWalletAddress||v,$=j!="7702",de=$?!!f:ie&&U&&!!be,ue=be,Ie=f,_=ue??Ie,{data:L}=Xt.useWalletClient(),[J,oe]=i.useState(L),ye=i.useRef(null),H=i.useRef(fe);H.current=fe;const Y=fe?.address;i.useEffect(()=>{const q=H.current;if(!q||!Ie){ye.current=null,oe(L);return}if(q.address?.toLowerCase()!==Ie?.toLowerCase()){ye.current=null,oe(L);return}q.getEthereumProvider().then(async se=>{ye.current=se;const he=await se.request({method:"eth_chainId"}),ce=parseInt(he,16),Oe=m.getChainConfig(ce),Qe=await q.getWalletClient(ce);oe(Oe?E.createWalletClient({account:Ie,chain:Oe.viemChain,transport:E.custom(se)}):Qe)}).catch(()=>{ye.current=null,oe(L)})},[Y,Ie,L]);const xe=i.useRef(null),[re,Be]=i.useState([]),{assets:Xe,loading:et,error:Ct,refreshAssets:bt}=Ms({address:w?ue:Ie||ue,supportedChains:a,fetchBalances:Rs,enabled:e,refreshInterval:e?5e3:0}),me=i.useMemo(()=>{if(z)return[];const q=a.flatMap(se=>m.getAllAssetsForChain(se,Xe));return D&&D.length>0?q.filter(se=>D.includes(se.symbol.toLowerCase())||se.isNative&&D.includes("native")).sort((se,he)=>{const ce=se.balance>BigInt(0)?1:0;return(he.balance>BigInt(0)?1:0)-ce}):q.filter(se=>se.balance>BigInt(0))},[a,Xe,D,z]),Re=i.useMemo(()=>{if(!re[0]?.asset)return[];const q=re[0].asset.chainId;return me.filter(se=>se.chainId===q)},[me,re]),[ze,je]=i.useState(!1),[rt,Bt]=i.useState(null),[tt,Z]=i.useState("idle"),[Ke,nt]=i.useState(null),[wt,De]=i.useState(!1),[Jt,$e]=i.useState(null),[Dt,le]=i.useState("idle"),[Te,ke]=i.useState(null),[Me,kt]=i.useState(null),[lt,Wt]=i.useState(null),[we,Ee]=i.useState(null),[jt,yt]=i.useState(null),{intentStatus:ge,startStatusPolling:Ht,clearStatus:It}=jn(),ct=i.useCallback((q,se)=>{const he=m.CHAIN_CONFIGS[se];return he?he.supportedTokens?.find(ce=>m.addressesEqual(ce.address,q))?.symbol??null:null},[]),Le=i.useMemo(()=>{const q=re[0]?.asset;if(!q||!h||!x)return!1;const se=ct(h,x);return Oa(q.symbol)&&!!se&&Rn(se)},[re,h,x,ct]);i.useEffect(()=>{re.length>0&&O!==re[0]?.amount&&Be(q=>{if(q.length===0)return q;const se=[...q];return se[0]={...se[0],amount:O||""},se})},[O]),i.useEffect(()=>{re.length!==0&&Be(q=>{let se=!1;const he=q.map(ce=>{if(!ce.asset)return ce;const Oe=me.find(Qe=>Qe.chainId===ce.asset.chainId&&m.addressesEqual(Qe.address,ce.asset.address));return Oe?Oe===ce.asset||Oe.balance===ce.asset.balance?ce:(se=!0,{...ce,asset:Oe,amount:ce.amount}):ce});return se?he:q})},[me,re.length]),i.useEffect(()=>{if(!M||re.length>0||me.length===0)return;const q=me.find(se=>se.chainId===M.chainId&&m.addressesEqual(se.address,M.address));q&&(Be([{asset:q,amount:""}]),u?.(q))},[M,me,re.length]);const Rt=i.useRef(null);i.useEffect(()=>{if($&&ge?.overallStatus==="success"&&y&&tt==="idle"){const q=Rt.current,se=xe.current;q&&(async()=>{try{Z("executing"),await y(q),Z("success"),$e(q),De(!0);const he=Array.isArray(se)?se[0]:void 0,ce={type:"deposit",status:"success",amount:q,asset:he?.tokenAddress,sourceChain:he?String(he.chainId):void 0,txHash:he?.txHash};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:ce})),R?.(ce)}catch(he){console.error("onDepositExecute failed:",he),Z("error"),nt(m.sanitizeError(he,"Post-deposit instruction failed"))}finally{Rt.current=null,xe.current=null}})()}},[ge?.overallStatus,$,tt]);const st=i.useCallback(()=>{Bt(null)},[]);i.useEffect(()=>{e||(De(!1),$e(null),le("idle"),ke(null),kt(null))},[e]);const Zt=i.useCallback((q,se)=>{Be(he=>{const ce=[...he];return ce[se]={asset:q,amount:ce[se]?.amount||""},ce}),se===0&&u?.(q),st()},[u,st]),Pt=i.useCallback(async(q,se)=>{if(Be(he=>{const ce=[...he];return ce[se]&&(ce[se]={...ce[se],amount:q}),ce}),st(),se===0)if(l?.setAssetAmount(q),Le&&q&&parseFloat(q)>0)try{const he=lt??await Ua();lt||Wt(he);const ce=re[0]?.asset;if(!ce)return;const Oe=E.parseUnits(q,ce.decimals),Qe=h?ct(h,x):null,qt=m.CHAIN_CONFIGS[x]?.supportedTokens?.find(_t=>m.addressesEqual(_t.address,h))?.decimals??6,Kt=za(Oe,ce.decimals,qt,he);Ee(Kt);const $t=E.formatUnits(Kt,qt),pn=he.toLocaleString("en-US",{maximumFractionDigits:0});yt(`${q} ${ce.symbol} \u2248 $${parseFloat($t).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})} ${Qe??"USD"} (rate: $${pn}/BTC)`),p?.($t)}catch(he){console.error("Failed to fetch BTC/USD price:",he),yt(null),Ee(null),p?.(q)}else yt(null),Ee(null),p?.(q)},[st,l,p,Le,lt,re,h,x,ct]),Gt=i.useCallback(()=>{re.length<2&&Be(q=>[...q,{asset:null,amount:""}])},[re.length]),Ye=i.useCallback(q=>{Be(se=>se.filter((he,ce)=>ce!==q)),st()},[st]),At=i.useRef(!1),Mt=i.useRef(!1);i.useEffect(()=>{e||(At.current=!1,Mt.current=!1,zt(null),Fe(null))},[e]);const[dt,pe]=i.useState(!1),[We,Ze]=i.useState(null),[vt,zt]=i.useState(null),[Ft,Fe]=i.useState(null),[Ut,St]=i.useState(!1),[Tt,_e]=i.useState(null),Ue=i.useMemo(()=>{const q=re[0];if(re.length!==1||!q?.asset||!q.amount||parseFloat(q.amount)<=0)return null;try{return{asset:q.asset,amount:E.parseUnits(q.amount,q.asset.decimals),token:T.normalizeNativeTokenAddress(q.asset.address),chainId:q.asset.chainId}}catch{return null}},[re]),at=i.useMemo(()=>Ue?[Ue.chainId,Ue.token.toLowerCase(),Ue.amount.toString(),w?"escrow":"normal"].join("|"):null,[Ue,w]),te=i.useCallback(async q=>ue?sr({address:ue,depositQuote:q,escrowOnly:w}):null,[ue,w]),ee=i.useCallback(async()=>Ue?te(Ue):null,[Ue,te]),ve=i.useRef(ee);ve.current=ee,i.useEffect(()=>{let q=!1;if(!e||$||!at||dt||ze){zt(null),_e(null),St(!1);return}const se=async()=>{_e(null),St(!0);try{const ce=await ve.current();q||zt(ce)}catch(ce){if(q)return;zt(null),_e(ce instanceof Error?ce.message:"Failed to estimate gas fee")}finally{q||St(!1)}};se();const he=window.setInterval(()=>{se()},1e4);return()=>{q=!0,window.clearInterval(he)}},[e,$,at,dt,ze]),i.useEffect(()=>{dt||ze||Fe(null)},[dt,ze,at]);const qe=async()=>{if(re.length===0||!re[0]?.asset)return;const q=re.filter(Qe=>Qe.asset&&Qe.amount&&parseFloat(Qe.amount)>0);if(q.length===0)return;const se=q[0],he=m.getChainConfig(se.asset.chainId),ce=q.map(Qe=>{const qt=parseFloat(Qe.amount);return`${isNaN(qt)?Qe.amount:qt.toPrecision(6).replace(/\.?0+$/,"")} ${Qe.asset.symbol}`}).join(", "),Oe={network:he?.displayName||`Chain ${se.asset.chainId}`,amount:ce,symbol:"",chainId:se.asset.chainId};if(!$&&q.length===1&&vt){Fe(vt);const Qe=q[0];Oe.creditedAmount=`${E.formatUnits(vt.net,Qe.asset.decimals)} ${Qe.asset.symbol}`,Oe.networkFee=`${E.formatUnits(vt.fee,Qe.asset.decimals)} ${Qe.asset.symbol}`}Ze(Oe),pe(!0)},ut=i.useRef(ge);ut.current=ge;const gt=i.useRef(tt);gt.current=tt;const Ot=async()=>{await Ui({selectedDepositAssets:re,escrowOnly:w,sourceAddress:Ie,isNon7702:$,address:ue,embeddedWalletAddress:be,isReady:ie,isAuthenticated:U,zeroCreditError:Je,depositBalanceError:Ve,externalWalletClient:J,externalProvider:ye.current,effectiveDepositFee:Ge,depositBatches:r,destinationChainId:x,destinationTokenAddress:h,isCrossDenomination:Le,convertedUsdAmount:we,mode:j,sponsorGas:k,nativeChainId:I,spiceBalanceUser:_,depositDataRef:xe,bridgedAmountRef:Rt,setIsExecuting:je,setError:Bt,setConfirmationData:Ze,setShowConfirmation:pe,setDirectDepositStatus:le,setDirectDepositChainId:kt,setDirectDepositTxHash:ke,setPostDepositStatus:Z,setPostDepositError:nt,setPostDepositAmount:$e,setPostDepositSuccess:De,startStatusPolling:Ht,clearStatus:It,refreshAssets:bt,onDepositExecute:y,onDepositSelect:s,onDepositSuccess:R,actions:X,getCurrentIntentStatus:()=>ut.current,getCurrentPostDepositStatus:()=>gt.current})},Je=i.useMemo(()=>{for(const q of re)if(!(!q?.asset||!q.amount||parseFloat(q.amount)<=0))try{const se=q.asset.decimals,he=E.parseUnits(q.amount,se);if(he<=0n)continue;const ce=T.getEquivalenceGroup(T.normalizeNativeTokenAddress(q.asset.address)),Oe=q.asset.receiptTokenDecimals??(ce==="ETH"||ce==="ARB"?18:ce==="USDC"||ce==="SUSD"||ce==="WBTC"||ce==="CBTC"?6:void 0);if(Oe===void 0||se<=Oe||T.convertAmountBetweenDecimals(he,se,Oe)>0n)continue;return`Amount too small. Minimum deposit for this asset is ${E.formatUnits(10n**BigInt(se-Oe),se)} ${q.asset.symbol}.`}catch{continue}return null},[re]),Ne=!$&&!!Ue,Ge=Ft??vt,He=!!Ue&&!!Ge&&Ge.chainId===Ue.chainId&&m.addressesEqual(Ge.token,Ue.token),Ve=i.useMemo(()=>{if(!Ne||!Ue||!He)return null;const q=w?Ue.amount:Ue.amount+Ge.fee;return Ue.asset.balance>=q?null:`Insufficient ${Ue.asset.symbol}. Need ${E.formatUnits(q,Ue.asset.decimals)} ${Ue.asset.symbol} including gas.`},[Ne,Ue,He,Ge,w]),[ne,Se]=i.useState(!1),Et=re[0]?.asset?.chainId,xt=Xe.find(q=>q.isNative&&q.chainId===Et)?.balance??0n;i.useEffect(()=>{if(!e||!Et){Se(!1);return}let q=!1;return(async()=>{try{const se=await m.getClientForChain(Et).getGasPrice()*150000n;q||Se(xt<se)}catch{q||Se(!1)}})(),()=>{q=!0}},[e,Et,xt]);const pt=!Ne||He&&!Ut&&!Tt&&!Ve,Lt=i.useCallback((q,se)=>Oi({asset:q,assetIndex:se,selectedAssetCount:re.length,address:ue,escrowOnly:w,isNon7702:$}),[$,re.length,ue,w]),Qt=i.useMemo(()=>{if(!Ue||!Ge||!He)return null;const q=w?Ue.amount:Ue.amount+Ge.fee;return{symbol:Ue.asset.symbol,decimals:Ue.asset.decimals,grossAmount:q,netAmount:Ge.net,totalFee:Ge.fee,gasFee:Ge.fee,spicenetFee:0n,bridgeFee:0n,gasQuoteSource:"estimated"}},[Ue,Ge,He,w]),Nt=parseFloat(re[0]?.amount||"")||0,ft=Rn(re[0]?.asset?.symbol||"")&&Nt>0&&Nt<on,Ae=re.length>0&&re[0]?.asset&&re[0]?.amount&&Nt>0&&!ft&&de&&!ze&&!Je&&!Ve&&pt&&!V;i.useEffect(()=>{if(!w||!b||!B||At.current||!de)return;const q=a[0];if(!q)return;const se=m.getAllAssetsForChain(q,[]).find(ce=>m.addressesEqual(ce.address,b));let he;if(se)he=se;else if(S!==void 0&&F)he={address:b,symbol:F,name:F,decimals:S,chainId:q,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,isNative:T.isNativeToken(b)};else{console.warn("[DepositModal] escrowOnly: no matching asset and missing escrowTokenDecimals/escrowTokenSymbol for",b);return}At.current=!0,Be([{asset:he,amount:B}])},[w,b,B,S,F,de,a]),i.useEffect(()=>{!w||!Ae||Mt.current||ze||(Mt.current=!0,Ot())},[w,Ae,ze]);const mt=Ct||rt||Je||Ve,ht=()=>{if(ze)return"Executing Deposit...";if(!de)return"Wallet Not Connected";if(j==="7702"){if(!ie)return"Loading...";if(!U)return"Authentication Required"}return re[0]?.asset?re[0]?.amount?ft?`MINIMUM ${on}`:Je?"AMOUNT TOO SMALL":Ve?"INSUFFICIENT BALANCE":Ne&&!pt?Tt?"GAS UNAVAILABLE":"ESTIMATING GAS":"DEPOSIT":"ENTER AMOUNT":"SELECT TOKEN"};return e?o.jsx(hn,{isOpen:e,onClose:t,closeOnBackdropClick:n,title:c||`Deposit to your ${Q} account`,subtitle:o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"5px"},children:[o.jsx("img",{src:Xs,alt:"","aria-hidden":"true",style:{width:"13px",height:"13px",flexShrink:0,...W?{filter:"invert(0.6)"}:{}}}),o.jsx("p",{style:{fontSize:"12px",color:K.textSecondary,margin:"0",lineHeight:"1.4",fontFamily:'"Helvetica Neue", sans-serif'},children:`Deposit collateral to your ${Q} Account from any supported network.`})]}),dark:W,overlayContent:dt||ge||tt!=="idle"&&y?o.jsx("div",{}):void 0,styles:d,theme:P,children:o.jsxs("div",{style:{padding:"24px 24px 5px 24px"},children:[o.jsx(Li,{selectedDepositAssets:re,depositAssets:me,secondAssetOptions:Re,loadingAssets:et,allowSecondAsset:g,theme:P,styles:d,dark:W,dk:K,onSelect:Zt,onAmountChange:Pt,onAdd:Gt,onRemove:Ye,resolveMaxAmount:Lt,onViewAllAssets:A}),Ne&&Ue&&o.jsx(cs,{fontFamily:d?.fontFamily||P.typography.fontFamily,textPrimary:K.textPrimary,textSecondary:K.textSecondary,cardBg:W?K.inputBg:"#ffffff",cardBorder:K.cardBorder,resolvedDark:W,darkCardBorder:K.cardBorder,primaryColor:ae,feePreview:Qt,isLoading:Ut||Ne&&!He,errorText:Tt}),o.jsx(Ri,{intentStatus:ge,postDepositSuccess:wt,postDepositAmount:Jt,postDepositStatus:tt,depositActionLabel:C,sourceChainName:re[0]?.asset?.chainId?m.getChainName(re[0].asset.chainId):"Destination Chain",directDepositStatus:Dt,directDepositTxHash:Te,directDepositChainId:Me,styles:d}),o.jsx(Bi,{isOpen:dt||!!ge||tt!=="idle"&&!!y,onClose:()=>{pe(!1),ge&&It();const q=tt==="success"&&!ge,se=ge?.overallStatus==="success"&&tt==="success"&&y;(q||se)&&t()},onConfirm:Ot,data:We,isExecuting:ze,error:rt,theme:P,styles:d,intentStatus:ge,postDepositStatus:tt,hasPostDepositInstruction:!!y}),jt&&o.jsxs("div",{style:{padding:"8px 12px",marginBottom:"8px",backgroundColor:W?K.warningBg:"#fffbeb",border:`1px solid ${K.warningBorder}`,borderRadius:P.borderRadius.md,fontSize:"12px",color:K.warningText,lineHeight:"1.4"},children:["\u26A1 ",jt]}),ne&&o.jsx("div",{style:{padding:"8px 12px",marginBottom:"8px",backgroundColor:W?K.warningBg:"#fffbeb",border:`1px solid ${K.warningBorder}`,borderRadius:P.borderRadius.md,fontSize:"12px",color:K.warningText,lineHeight:"1.4"},children:"Low native balance in the external wallet. The deposit to spicenet account might fail."}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:0,marginBottom:0,margin:0,padding:0},children:[mt?o.jsx("div",{style:{marginBottom:"10px",fontSize:"12px",lineHeight:"1.45",color:K.errorText,fontFamily:d?.fontFamily||P.typography.fontFamily},children:mt}):null,o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:qe,disabled:!Ae||!de||ze,theme:P,dark:W,styles:d,children:ht()})]})]})}):null}),Hi=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,deposits:s,onComplete:r,onCancel:a,onSkip:c,onChangeWallet:d,isProcessing:u,error:l,styles:f})=>{const{dark:p,dk:g,theme:x}=m.useSpiceBrand(f);if(!e||s.length===0)return null;const h=s[0],y=f?.fontFamily||'"Helvetica Neue", sans-serif',C='"IBM Plex Mono", monospace',I=m.getChainName(h.chainId),k=parseFloat(h.amount).toPrecision(6).replace(/\.?0+$/,""),M=E.formatUnits(h.verifiedBalance,h.tokenDecimals);return o.jsx(hn,{isOpen:e,onClose:t,title:"Incomplete Deposit",styles:f,closeOnBackdropClick:n,children:o.jsxs("div",{style:{padding:"18px 24px 24px",fontFamily:y},children:[o.jsx("p",{style:{fontSize:"14px",color:g.textSecondary,lineHeight:"1.6",margin:"0 0 18px 0"},children:"Your funds reached your wallet, but the deposit didn't finish."}),o.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto",gap:"14px 18px",marginBottom:"24px",padding:"16px 18px",backgroundColor:p?g.cardBg:"#f8fafc",border:`1px solid ${g.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:[o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[o.jsx("span",{style:{fontSize:"12px",fontWeight:600,color:g.textSecondary,fontFamily:C,letterSpacing:"0.8px"},children:"NETWORK"}),o.jsx("span",{style:{fontSize:"18px",fontWeight:600,color:g.textPrimary,fontFamily:y,lineHeight:1.2},children:I})]}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px",alignItems:"flex-end",textAlign:"right"},children:[o.jsx("span",{style:{fontSize:"12px",fontWeight:600,color:g.textSecondary,fontFamily:C,letterSpacing:"0.8px"},children:"DEPOSITED AMOUNT"}),o.jsxs("span",{style:{fontSize:"24px",fontWeight:700,color:g.successText,fontFamily:C,lineHeight:1.1},children:[k," ",h.tokenSymbol]}),o.jsx("span",{style:{fontSize:"12px",color:g.textSecondary,fontWeight:500,fontFamily:y},children:"Sent to embedded wallet"})]})]}),!h.hasFullBalance&&h.verifiedBalance>0n&&o.jsxs("div",{style:{marginBottom:"16px",padding:"8px 12px",backgroundColor:g.warningBg,border:`1px solid ${p?g.warningBorder:"#fcd34d"}`,borderRadius:"8px",fontSize:"13px",color:g.warningText,lineHeight:"1.4"},children:["Partial balance \u2014 only ",parseFloat(M).toFixed(4)," ",h.tokenSymbol," available."]}),l&&o.jsx("div",{style:{marginBottom:"16px",padding:"10px 12px",backgroundColor:g.errorBg,border:`1px solid ${p?g.errorBorder:"#fca5a5"}`,borderRadius:"8px",fontSize:"13px",color:p?g.errorText:"#991b1b",lineHeight:"1.4"},children:l}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[o.jsx(m.Button,{variant:"outline",fullWidth:!0,disabled:u,onClick:()=>r(h),theme:x,dark:p,styles:f,children:"CONFIRM DEPOSIT"}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"10px"},children:[o.jsx(m.Button,{variant:"ghost",fullWidth:!0,disabled:u,onClick:()=>a(h),theme:x,dark:p,style:{height:"48px",fontSize:"13px",letterSpacing:"0.4px",color:p?g.textPrimary:"#374151",border:`1px solid ${p?g.cardBorder:"#d1d5db"}`,borderRadius:"12px",backgroundColor:p?"rgba(255,255,255,0.02)":"#ffffff"},children:u?"RETURNING...":"RETURN FUNDS"}),o.jsxs("div",{style:{display:"grid",gridTemplateColumns:d?"1fr 1fr":"1fr",gap:"10px"},children:[o.jsx(m.Button,{variant:"ghost",fullWidth:!0,disabled:u,onClick:c,theme:x,dark:p,style:{height:"44px",fontSize:"12px",letterSpacing:"0.4px",color:g.textSecondary,border:`1px solid ${p?g.cardBorder:"#d1d5db"}`,borderRadius:"12px",backgroundColor:"transparent"},children:"START OVER"}),d&&o.jsx(m.Button,{variant:"ghost",fullWidth:!0,disabled:u,onClick:d,theme:x,dark:p,style:{height:"44px",fontSize:"12px",letterSpacing:"0.4px",color:g.textSecondary,border:`1px solid ${p?g.cardBorder:"#d1d5db"}`,borderRadius:"12px",backgroundColor:"transparent"},children:"CHANGE WALLET"})]})]})]}),s.length>1&&o.jsxs("p",{style:{fontSize:"12px",color:g.textSecondary,textAlign:"center",marginTop:"14px",marginBottom:0,lineHeight:"1.5"},children:[s.length," incomplete deposits found \u2014 resolving one at a time."]})]})})},Js=e=>{const[t,n]=i.useState(!1),s=i.useContext(m.SpiceFlowProviderContext),{dark:r,dk:a}=m.useSpiceBrand();if(i.useEffect(()=>{n(!0)},[]),!t)return o.jsx("div",{className:e.className,children:o.jsx("button",{disabled:!0,style:{padding:"12px 24px",fontSize:"16px",backgroundColor:r?a.hoverBg:"#ccc",color:r?a.textSecondary:"white",border:r?`1px solid ${a.buttonBorder}`:"none",borderRadius:"4px",cursor:"not-allowed"},children:"Loading..."})});if(!s){const c='ProviderLogin must be used within SpiceFlowProvider. Please wrap your app with <SpiceFlowProvider provider="privy">.';return o.jsx("div",{className:e.className,children:o.jsx("button",{onClick:()=>{e.onAuthError&&e.onAuthError(c)},style:{padding:"12px 24px",fontSize:"16px",backgroundColor:r?a.errorBg:"#dc2626",color:r?a.errorText:"white",border:r?`1px solid ${a.errorBorder}`:"none",borderRadius:"4px",cursor:"pointer"},children:"Provider Not Found"})})}return o.jsx(m.PrivyLogin,{...e})},Qi=.01,qi=5*60*1e3;function Vi(e){const t=Number(E.formatUnits(e.verifiedBalance,e.tokenDecimals));return Number.isFinite(t)?t:0}async function Ki(e){const t=Yi(e);let n;try{n=await Us(t.map(s=>s.tokenSymbol))}catch{return t}return t.filter(s=>{const r=Vi(s);if(r<=0)return!0;const a=n[s.tokenSymbol.toUpperCase()]??0;return!Number.isFinite(a)||a<=0?!0:r*a>=Qi})}function Yi(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?E.formatUnits(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 rr(e,t){const[n,s]=i.useState([]),[r,a]=i.useState(!1),c=i.useRef(t);c.current=t;const d=i.useRef(0),u=i.useRef(0),l=i.useCallback(async({forceDiscovery:f=!1}={})=>{if(!e){s([]),a(!1);return}const p=++u.current,g=()=>p!==u.current;a(!0);try{const x=[],h=Ni(e);for(const k of h){if(g())return;try{const M=m.getClientForChain(k.chainId);let w;if(k.isNative||T.isNativeToken(k.tokenAddress)?w=await an.getBalance(M,{address:e}):w=await an.readContract(M,{address:E.getAddress(k.tokenAddress),abi:E.erc20Abi,functionName:"balanceOf",args:[e]}),g())return;w>0n?x.push({...k,verifiedBalance:w,hasFullBalance:w>=BigInt(k.rawAmount)}):Date.now()-k.timestamp>15*60*1e3&&Gs(e,k.chainId,k.tokenAddress)}catch(M){console.warn(`[usePendingDeposit] Failed to verify balance for ${k.tokenSymbol} on chain ${k.chainId}:`,M),x.push({...k,verifiedBalance:0n,hasFullBalance:!1})}}if(g())return;const y=c.current,C=Date.now(),I=(y?.discoverWalletBalances??!0)&&(f||C-d.current>=qi);if(y?.network&&I){d.current=C;const k=y.chainIds??T.getChainIdsByNetwork(y.network),M=new Set(x.map(b=>`${b.chainId}:${b.tokenAddress.toLowerCase()}`)),w=[];for(const b of k){const B=m.getChainConfig(b);if(B?.supportedTokens)for(const S of B.supportedTokens){if(T.isNativeToken(S.address))continue;const F=`${b}:${S.address.toLowerCase()}`;M.has(F)||w.push((async()=>{try{const R=m.getClientForChain(b),v=await an.readContract(R,{address:E.getAddress(S.address),abi:E.erc20Abi,functionName:"balanceOf",args:[e]});return v>0n?{chainId:b,tokenAddress:S.address,tokenSymbol:S.symbol,tokenDecimals:S.decimals,amount:E.formatUnits(v,S.decimals),rawAmount:v.toString(),embeddedWalletAddress:e,externalWalletAddress:"",timestamp:0,isNative:!1,verifiedBalance:v,hasFullBalance:!0}:null}catch{return null}})())}}if(w.length>0){const b=await Promise.allSettled(w);if(g())return;for(const B of b)B.status==="fulfilled"&&B.value&&x.push(B.value)}}if(!g()){const k=await Ki(x);if(g())return;s(k)}}catch(x){console.error("[usePendingDeposit] Verification error:",x),g()||s([])}finally{g()||a(!1)}},[e]);return i.useEffect(()=>{if(!c.current?.enabled){u.current++,s([]),a(!1);return}l({forceDiscovery:!0});const f=c.current?.pollIntervalMs??3e4;if(f<=0||!e)return()=>{u.current++};const p=setInterval(()=>{l({forceDiscovery:!1})},f),g=()=>l({forceDiscovery:!0});return window.addEventListener(us,g),()=>{u.current++,window.removeEventListener(us,g),clearInterval(p)}},[l,e]),{pendingDeposits:n,loading:r,refresh:()=>l({forceDiscovery:!0})}}function Zi(e,t,n,s,r){return{address:t,symbol:n||"UNKNOWN",name:n||"Unknown Token",decimals:s||18,chainId:e,balance:0n,balanceFormatted:r?parseFloat(r):0,balanceUsd:0,isNative:T.isNativeToken(t)}}const Gi=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,styles:s,depositBatches:r,onDepositAmountChange:a,destinationChainId:c,destinationTokenAddress:d,onDepositExecute:u,depositActionLabel:l,sponsorGas:f=!1,escrowRecovery:p,skipTokenSelection:g=!1,onDepositSuccess:x,skipRecovery:h=!1})=>{const y=i.useContext(m.SpiceFlowProviderContext);if(!y)return o.jsx("div",{children:"Error: SpiceDeposit must be used within SpiceFlowProvider"});const C=(y.mode||"7702")!="7702",I=C,k=y.nativeChainId,M=y.network||"testnet",{dark:w,dk:b}=m.useSpiceBrand(s),B=!!p,S=m.useWallet(),{isReady:F,isAuthenticated:R,actions:v}=S,A=y?.embeddedWalletAddress,{address:N}=Xt.useAccount(),j=y?.externalWalletAddress??N,D=!!j,z=()=>g?"deposit":"select-token",V=()=>I?D?z():"connect-wallet":"provider-login",[O,P]=i.useState(V()),[W,Q]=i.useState(null),[ae,K]=i.useState(!1),{pendingDeposits:G,loading:ie,refresh:U}=rr(A,{enabled:e,network:M,chainIds:y.supportedChainIds}),[X,fe]=i.useState(null),[be,$]=i.useState(!1),[de,ue]=i.useState(null),[Ie,_]=i.useState(!1),[L,J]=i.useState("idle");i.useEffect(()=>{e&&!h&&!B&&!X&&!Ie&&L==="idle"&&R&&A&&D&&j&&!ie&&G.length>0&&O!=="recovery"&&O!=="deposit"&&P("recovery")},[e,h,B,R,A,D,j,ie,G,O,X,Ie,L]);const oe=i.useCallback(me=>{const Re={address:me.tokenAddress,symbol:me.tokenSymbol,name:me.tokenSymbol,decimals:me.tokenDecimals,chainId:me.chainId,balance:me.verifiedBalance,balanceFormatted:parseFloat(me.amount),balanceUsd:0,isNative:me.isNative};Q(Re),fe(me),P("deposit")},[]),ye=i.useCallback(()=>{_(!0),P(R&&A&&D&&j?g?"deposit":"select-token":R&&A?"connect-wallet":"provider-login")},[R,A,D,j,g]),H=i.useCallback(()=>{ue(null),J("awaiting-disconnect"),P("connect-wallet")},[]),Y=i.useCallback(async me=>{$(!0),ue(null);try{if(!A)throw new Error("Embedded wallet not available");const Re=await v.getEthereumProvider(),ze=m.getChainConfig(me.chainId);await m.ensureWalletOnChain(Re,me.chainId);const je=m.getClientForChain(me.chainId),rt=await an.getBalance(je,{address:A}),Bt=ze?.viemChain?.name||`chain ${me.chainId}`;if(rt===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 tt=E.createWalletClient({account:A,transport:E.custom(Re),chain:ze?.viemChain}),Z=me.externalWalletAddress&&E.isAddress(me.externalWalletAddress)?me.externalWalletAddress:j;if(!Z||!E.isAddress(Z))throw new Error("Connect the external wallet that should receive these funds, then try again.");let Ke;me.isNative||T.isNativeToken(me.tokenAddress)?Ke=await tt.sendTransaction({to:Z,value:me.verifiedBalance,chain:ze?.viemChain}):Ke=await tt.sendTransaction({to:me.tokenAddress,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[Z,me.verifiedBalance]}),chain:ze?.viemChain}),await je.waitForTransactionReceipt({hash:Ke,confirmations:1}),Gs(me.embeddedWalletAddress,me.chainId,me.tokenAddress),U(),G.length<=1&&P(V())}catch(Re){const ze=Re?.message||"Couldn't return your funds. Please try again.",je=/insufficient funds for gas/i.test(ze);ue(je?"Not enough ETH in your embedded wallet to cover gas fees. Complete the deposit instead \u2014 it doesn't require gas.":ze)}finally{$(!1)}},[v,A,j,G,U]);i.useEffect(()=>{e||(fe(null),ue(null),$(!1),_(!1),J("idle"))},[e]),i.useEffect(()=>{if(L!=="idle"){if(L==="awaiting-disconnect"){(!D||!j)&&J("awaiting-reconnect");return}e&&!ie&&G.length>0&&R&&A&&(J("idle"),P("recovery"))}},[L,D,j,e,ie,G,R,A]),i.useEffect(()=>{!B||!e||(R&&A?(K(!0),!W&&p?.chainId&&p?.tokenAddress&&Q(Zi(p.chainId,p.tokenAddress,p.tokenSymbol,p.tokenDecimals,p.amount)),P("deposit")):P("provider-login"))},[B,e,O,R,A]);const{assets:xe,loading:re}=Ms({address:j,supportedChains:y.supportedChainIds,fetchBalances:Rs,enabled:e&&!!j,refreshInterval:e?5e3:0}),Be=i.useCallback(()=>{K(!0),P(B?"deposit":D?g?"deposit":"select-token":"connect-wallet")},[B,D,g]),Xe=i.useCallback(async()=>{if((!D||!j)&&(await sn(500),!D||!j)){alert("Please connect your wallet first");return}P(g?"deposit":"select-token")},[D,j,g]),et=i.useCallback(me=>{Q(me),P("deposit")},[]),Ct=i.useCallback(()=>{if(Q(null),a?.(""),!j){P("connect-wallet");return}P("select-token")},[j,a]),bt=i.useCallback(()=>{t()},[t]);if(i.useEffect(()=>{if(!e){const me=setTimeout(()=>{B||(P(V()),Q(null)),K(!1)},300);return()=>clearTimeout(me)}},[e,B,p?.chainId]),i.useEffect(()=>{e&&O==="deposit"&&!W&&!B&&!X&&!g&&P("select-token")},[e,O,W,B,X,g]),i.useEffect(()=>{e&&O==="connect-wallet"&&D&&j&&L==="idle"&&P(g?"deposit":"select-token")},[e,O,D,j,L,g]),i.useEffect(()=>{if(!I&&e&&O==="provider-login"&&F&&R&&A&&!ae){const me=setTimeout(()=>{K(!0),P(D?g?"deposit":"select-token":"connect-wallet")},100);return()=>clearTimeout(me)}},[I,e,O,F,R,A,D,g,ae]),!e)return null;if(O==="recovery")return o.jsx(Hi,{isOpen:e,onClose:bt,closeOnBackdropClick:n,deposits:G,onComplete:oe,onCancel:Y,onSkip:ye,onChangeWallet:H,isProcessing:be,error:de,styles:s});if(O==="provider-login"&&!I)return o.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",padding:"16px",zIndex:50},children:o.jsx("div",{style:{backgroundColor:w?b.cardBg:"white",borderRadius:"9px",padding:"32px 24px",maxWidth:"400px",width:"100%"},children:o.jsx(Js,{onAuthSuccess:Be,autoTrigger:!0})})});if(O==="connect-wallet")return o.jsx(Ga,{isOpen:e,onClose:bt,closeOnBackdropClick:n,onContinue:Xe,requiredChainId:C?k:void 0,styles:s});if(O==="select-token")return j?o.jsx(Ka,{isOpen:e,onClose:bt,closeOnBackdropClick:n,onTokenSelect:et,walletAddress:j,supportedChainIds:y.supportedChainIds,network:M,prefetchedAssets:re?null:xe??null,styles:s,dark:w}):(P("connect-wallet"),null);if(O==="deposit"){if(!W&&!g)return null;const me=!!X;return o.jsx(or,{isOpen:e,onClose:bt,closeOnBackdropClick:n,supportedChains:W?[W.chainId]:y.supportedChainIds??[],styles:s,externalWalletAddress:j,depositBatches:me?void 0:r,onDepositAmountChange:a,destinationChainId:c,destinationTokenAddress:d,onDepositExecute:u,depositActionLabel:l,nativeChainId:k,sponsorGas:f,preSelectedAsset:W??void 0,escrowOnly:B||me,escrowTokenAddress:me?X.tokenAddress:p?.tokenAddress,escrowAmount:me?X.amount:p?.amount,escrowTokenDecimals:me?X.tokenDecimals:p?.tokenDecimals,escrowTokenSymbol:me?X.tokenSymbol:p?.tokenSymbol,onDepositSuccess:x,embeddedWalletAddress:A,onViewAllAssets:g?void 0:Ct})}return null},Xi=e=>i.useContext(m.SpiceFlowProviderContext)?o.jsx(Gi,{...e}):o.jsx("div",{children:"Error: SpiceDeposit must be used within SpiceFlowProvider"}),Ji=({isOpen:e,onClose:t,onChainSelect:n,supportedChains:s,closeOnSelect:r=!0,styles:a})=>{const{theme:c,dark:d,primaryColor:u,dk:l}=m.useSpiceBrand(a),[f,p]=i.useState(""),[g,x]=i.useState(null),[h,y]=i.useState(null),[C,I]=i.useState(!1),[k,M]=i.useState(null),{switchChainAsync:w}=Xt.useSwitchChain(),b=i.useMemo(()=>new Set(s||[]),[s]),B=i.useMemo(()=>{if(!s||s.length===0)return[];const v=[];return s.forEach((A,N)=>{if(typeof A!="number")return;const j=m.getChainConfig(A);j&&v.push({id:A.toString(),name:j.displayName,icon:wn[A]||Ln,chainId:A,verified:!0,order:N})}),v},[s]);i.useEffect(()=>{g&&!b.has(parseInt(g,10))&&x(null)},[g,b]);const S=i.useMemo(()=>B.filter(v=>v.name.toLowerCase().includes(f.toLowerCase())).sort((v,A)=>v.order-A.order),[B,f]),F=async()=>{if(!g)return;const v=parseInt(g,10);I(!0),M(null);try{await w({chainId:v}),n&&n(g),r&&t()}catch(A){console.error("Failed to switch chain:",A),M(m.sanitizeError(A,"Failed to switch chain."))}finally{I(!1)}},R=!g||C;return o.jsxs(hn,{isOpen:e,onClose:t,title:"Select Chain",styles:a,theme:c,dark:d,children:[o.jsx("div",{style:{padding:"24px 20px"},children:o.jsx(Ts,{value:f,onChange:p,ariaLabel:"Search chains",placeholder:"Search chain name, symbol or address",size:"md",dark:d,styles:a,endAdornment:o.jsx("div",{style:{padding:"5px 5px",borderRadius:"3px",fontSize:"13px",backgroundColor:d?l.cardBg:"#E9E9E9",color:d?l.textSecondary:"#485066",fontWeight:500,flexShrink:0},"aria-hidden":"true",children:"\u2318F"})})}),o.jsx("div",{style:{padding:"0 32px 20px",display:"flex",flexDirection:"column",gap:"12px"},children:S.map(v=>{const A=g===v.id,N=h===v.id;return o.jsxs("button",{onClick:()=>x(v.id),onMouseEnter:()=>y(v.id),onMouseLeave:()=>y(null),style:{width:"100%",display:"flex",alignItems:"center",gap:"16px",padding:"8px",borderRadius:"8px",backgroundColor:A?d?`${u}15`:`${u}12`:"transparent",border:A?d?`1px solid ${u}66`:`1px solid ${u}88`:N?d?`1px solid ${u}44`:`1px solid ${u}66`:"1px solid transparent",cursor:"pointer",transition:nn.interactive},children:[o.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"30px"},children:o.jsx("img",{src:v.icon,alt:v.name,loading:"lazy",decoding:"async",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px",flex:1},children:[o.jsx("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"17px",fontWeight:500,letterSpacing:"0.4px",color:l.textPrimary,textAlign:"left"},children:v.name}),v.verified&&o.jsx("img",{src:Ro,alt:"","aria-hidden":"true",loading:"lazy",decoding:"async",width:16,height:16,style:{width:"16px",height:"16px",filter:d?"brightness(0) invert(1)":"none"}})]})]},v.id)})}),o.jsx("div",{style:{padding:"0 25px 25px"},children:o.jsxs(m.Button,{variant:"outline",onClick:F,disabled:R,fullWidth:!0,theme:c,styles:a,dark:d,children:["SELECT",o.jsx(As.ChevronRight,{size:20})]})})]})},ar=({isOpen:e,position:t,title:n,items:s,selectedId:r,onSelect:a,portalAttribute:c})=>{const{dark:d,dk:u,primaryColor:l}=m.useSpiceBrand(),[f,p]=i.useState(null),[g,x]=i.useState(!1);return i.useEffect(()=>{if(!e){x(!1);return}const h=requestAnimationFrame(()=>{requestAnimationFrame(()=>x(!0))});return()=>cancelAnimationFrame(h)},[e]),!e||!t||s.length===0?null:zn.createPortal(o.jsxs("div",{[`data-${c}-popover`]:"true",style:{position:"fixed",top:`${t.top}px`,left:`${t.left}px`,opacity:g?1:0,transform:g?"scale(1) translateY(0)":"scale(0.96) translateY(-6px)",transition:`opacity 200ms ${Vt.out}, transform 200ms ${Vt.out}`,backgroundColor:d?u.shell:"#ffffff",borderRadius:"10px",padding:"10px 12px",boxShadow:d?"0 16px 48px rgba(0,0,0,0.45)":"0 12px 32px rgba(0,0,0,0.12)",border:`1px solid ${u.cardBorder}`,minWidth:"220px",zIndex:In.dropdown,fontFamily:'"IBM Plex Mono", monospace'},children:[o.jsx("div",{style:{marginBottom:"6px"},children:o.jsx("span",{style:{fontSize:"11px",fontWeight:500,color:d?u.textPrimary:"#0e0d0b",textTransform:"uppercase",letterSpacing:"1px"},children:n})}),o.jsx("div",{style:{borderBottom:`1px solid ${u.cardBorder}`,marginBottom:"6px"}}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"2px"},children:s.map(h=>{const y=r===h.id,C=f===h.id;return o.jsxs("button",{onClick:I=>{I.stopPropagation(),a(h.id)},onMouseEnter:()=>p(h.id),onMouseLeave:()=>p(null),style:{display:"flex",alignItems:"center",gap:"8px",padding:"6px 4px",borderRadius:"8px",border:"none",cursor:"pointer",backgroundColor:y?d?u.hoverBg:"#f3f4f6":C?d?u.cardBg:"#f9fafb":"transparent",transition:"background-color 0.15s",width:"100%",fontFamily:'"IBM Plex Mono", monospace'},children:[h.icon&&o.jsx("img",{src:h.icon,alt:h.label,style:{width:"22px",height:"22px",borderRadius:"50%"}}),o.jsx("span",{style:{fontSize:"13px",fontWeight:y?700:500,textTransform:"uppercase",color:d?u.textPrimary:"#0e0d0b",letterSpacing:"0.5px",flex:1,textAlign:"left"},children:h.label}),h.detail&&o.jsx("span",{style:{fontSize:"11px",fontWeight:500,color:u.textSecondary},children:h.detail}),y&&o.jsx(_o,{color:l,style:{flexShrink:0}})]},h.id)})})]}),document.body)},ir=({isSuccess:e,type:t,chainName:n,explorerUrl:s,txHash:r,dark:a=!1,successBg:c="#d1fae5",successBorder:d="#6ee7b7",successText:u="#065f46",errorBg:l="#fee2e2",errorBorder:f="#fca5a5",errorText:p="#dc2626",textSecondary:g="#6b7280"})=>o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px",borderRadius:"8px",backgroundColor:e?c:l,border:e?`1px solid ${d}`:`1px solid ${f}`},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px"},children:[o.jsx("div",{style:{width:"28px",height:"28px",borderRadius:"50%",backgroundColor:e?"#10b981":"#ef4444",display:"flex",alignItems:"center",justifyContent:"center"},children:e?o.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:o.jsx("path",{d:"M11.6667 3.5L5.25 9.91667L2.33333 7",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):o.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:o.jsx("path",{d:"M10.5 3.5L3.5 10.5M3.5 3.5L10.5 10.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),o.jsxs("div",{children:[o.jsx("p",{style:{margin:0,fontSize:"14px",fontWeight:600,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.5px",color:e?u:p},children:e?`${t.toUpperCase()} CONFIRMED`:`${t.toUpperCase()} FAILED`}),o.jsxs("p",{style:{margin:"2px 0 0 0",fontSize:"12px",color:g},children:["on ",n]})]})]}),s&&r&&o.jsxs("a",{href:`${s}/tx/${r}`,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",gap:"4px",fontSize:"13px",color:g,textDecoration:"none",whiteSpace:"nowrap"},children:["View on explorer",o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:[o.jsx("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"}),o.jsx("path",{d:"M7.5 1.5H10.5V4.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M5 7L10.5 1.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})]})]})]}),$s=({isOpen:e,onClose:t,onComplete:n,closeOnComplete:s=!1,type:r,results:a,chainName:c="Network",explorerUrl:d,theme:u,styles:l,dark:f,intentStatus:p,onRetry:g,onNewTx:x,onRetryTx:h,asOverlay:y=!0,isProcessing:C=!1,showStepBreakdown:I=!0})=>{const{theme:k,primaryColor:M,dark:w,dk:b}=m.useSpiceBrand(l,f),B=u||k,[S,F]=i.useState(!1),R=w?b.cardBg:"#ffffff",v=w?"0 4px 20px rgba(0, 0, 0, 0.4)":"0 4px 20px rgba(0, 0, 0, 0.1)",A=w?"0 -4px 8px -2px rgba(0, 0, 0, 0.4)":"0 -4px 8px -2px rgba(0, 0, 0, 0.15)",N=b.textSecondary,j=w?b.textPrimary:"#374151",D=w?b.inputBg:"#f9fafb",z=w?b.inputBorder:"#e5e7eb",V=w?b.inputBg:"#f3f4f6",O=w?b.inputBorder:"#e5e7eb",[P,W]=i.useState(!0),[Q,ae]=i.useState(null),[K,G]=i.useState(null),ie=p?.steps.find(de=>de.status==="failed")?.error;i.useEffect(()=>{!e&&!p&&F(!1)},[e,p]);const U=()=>{F(!0),setTimeout(()=>{window.dispatchEvent(new CustomEvent("tx-complete",{detail:{type:r,results:a}})),window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:{type:r,status:"success",results:a}})),n?.(),s&&t()},300)},X=()=>{W(!P)};if(p){const{steps:de,overallStatus:ue}=p,Ie=ue==="processing",_=ue==="success",L=ue==="failed",J=de.filter(Y=>Y.transactionHash)[0],oe=de.length>1?de.map(Y=>Y.chainName).filter(Boolean).join(" and "):c!=="Network"?c:de[0]?.chainName||c,ye=d||(J?m.getExplorerUrl(J.chainId,J.transactionHash||"").replace(/\/tx\/.*$/,""):void 0),H=o.jsxs(o.Fragment,{children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"16px"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",cursor:"pointer"},onClick:X,children:[o.jsxs("span",{style:{fontSize:"13px",fontWeight:500,color:N,fontFamily:l?.fontFamily||B.typography.fontFamily},children:[Ie?`Processing ${r.charAt(0).toUpperCase()+r.slice(1)}`:`${r.charAt(0).toUpperCase()+r.slice(1)} results`," "]}),I&&o.jsx(vn,{color:N,direction:P?"up":"down"})]}),!Ie&&o.jsx("button",{onClick:t,onMouseEnter:()=>ae("close"),onMouseLeave:()=>{ae(null),G(null)},onMouseDown:()=>G("close"),onMouseUp:()=>G(null),style:{background:K==="close"?w?b.hoverBg:"#f3f4f6":Q==="close"?w?b.inputBg:"#f9fafb":"none",border:"none",borderRadius:"4px",cursor:"pointer",padding:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:Q==="close"||K==="close"?j:N,transform:K==="close"?"scale(0.9)":Q==="close"?"scale(1.1)":"scale(1)",transition:nn.interactive},children:o.jsx(Mn,{size:16})})]}),o.jsx("div",{style:{marginBottom:"16px"},children:Ie?o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"20px 16px",borderRadius:"8px",backgroundColor:V,border:`1px solid ${O}`,gap:"12px"},children:[o.jsx(m.Spinner,{size:24,borderWidth:3,color:M}),o.jsxs("div",{children:[o.jsx("p",{style:{margin:0,fontSize:"14px",fontWeight:600,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.5px",color:j},children:"PROCESSING TRANSACTION"}),o.jsxs("p",{style:{margin:"2px 0 0 0",fontSize:"12px",color:N},children:["on ",oe]})]})]}):o.jsx(ir,{isSuccess:_,type:r,chainName:oe,explorerUrl:ye,txHash:J?.transactionHash,dark:w,...w?{successBg:b.successBg,successBorder:b.successBorder,successText:b.successText,errorBg:b.errorBg,errorBorder:b.errorBorder,errorText:b.errorText}:{},textSecondary:N})}),I&&o.jsx("div",{style:{overflow:"hidden",maxHeight:P?"300px":"0px",opacity:P?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease",marginBottom:P?"16px":"0"},children:o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:de.map((Y,xe)=>{const re=Y.transactionHash?m.getExplorerUrl(Y.chainId,Y.transactionHash):null;return o.jsxs("div",{style:{padding:"10px 12px",borderRadius:"6px",backgroundColor:D,border:`1px solid ${z}`,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("span",{style:{fontSize:"13px",color:j},children:Y.chainName?`On ${Y.chainName}`:Y.description||`Step ${xe+1}`}),o.jsxs("span",{style:{display:"flex",alignItems:"center",gap:"8px",fontSize:"12px",color:Y.status==="success"?"#10b981":Y.status==="failed"?"#ef4444":N,fontWeight:500},children:[re&&o.jsx("a",{href:re,target:"_blank",rel:"noopener noreferrer",style:{color:w?b.infoText:"#2563eb",textDecoration:"none"},onClick:Be=>Be.stopPropagation(),children:"View"}),Y.status==="success"?"\u2713":Y.status==="failed"?"\u2717":"\u25CB"]})]},xe)})})}),!Ie&&o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[L&&g&&o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:g,theme:B,styles:l,dark:w,children:"TRY AGAIN"}),x&&o.jsxs(m.Button,{variant:"outline",fullWidth:!0,onClick:x,theme:B,styles:l,dark:w,children:["NEW ",r.toUpperCase()," \u2192"]})]})]});return y?o.jsxs("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:10,animation:S?"slideDown 0.3s ease-in forwards":"slideUp 0.3s ease-out forwards",pointerEvents:"auto"},children:[o.jsx("div",{style:{backgroundColor:R,borderRadius:"12px 12px 0 0",width:"100%",padding:"18px 24px 24px",boxShadow:A},children:H}),o.jsx("style",{children:`
30
+ `})]})};async function Nn(e,t,n){let s=null;try{const r=await e.request({method:"eth_chainId"});s=parseInt(r,16)}catch{s=null}s!==t&&(n?.(),await m.ensureWalletOnChain(e,t))}const Uo="spiceflow:pendingDeposit",is="spiceflow:pendingDepositChanged";function zo(e,t,n){return`${Uo}:${e.toLowerCase()}:${t}:${n.toLowerCase()}`}function Us(){try{const e="__spiceflow_storage_test__";return localStorage.setItem(e,"1"),localStorage.removeItem(e),!0}catch{return!1}}function Ci(e){if(!Us())return;const t=zo(e.embeddedWalletAddress,e.chainId,e.tokenAddress);try{localStorage.setItem(t,JSON.stringify(e)),window.dispatchEvent(new Event(is))}catch(n){console.error("[pendingDeposit] Failed to save:",n)}}function bi(e){if(!Us())return[];const t=`${Uo}:${e.toLowerCase()}:`,n=[],s=Date.now();for(let r=0;r<localStorage.length;r++){const a=localStorage.key(r);if(!(!a||!a.startsWith(t)))try{const l=localStorage.getItem(a);if(!l)continue;const d=JSON.parse(l);if(s-d.timestamp>6048e5){localStorage.removeItem(a);continue}n.push(d)}catch{localStorage.removeItem(a)}}return n}function zs(e,t,n){if(!Us())return;const s=zo(e,t,n);localStorage.removeItem(s),window.dispatchEvent(new Event(is))}function wi({sourceChainId:e,selectedAsset:t,destinationChainId:n,destinationTokenAddress:s,isCrossDenomination:r,convertedUsdAmount:a}){const l=j.normalizeNativeTokenAddress(t.asset.address),d=s;let u,c;if(d&&n)if(u=m.CHAIN_CONFIGS[n]?.supportedTokens?.find(f=>m.addressesEqual(f.address,d))?.decimals??t.asset.decimals,r){if(!a)throw new Error("Destination amount is still being calculated. Please retry in a moment.");c=a}else{const f=F.parseUnits(t.amount,t.asset.decimals);c=j.convertAmountBetweenDecimals(f,t.asset.decimals,u)}return{sourceChainId:e,depositTokenAddress:l,depositAmount:t.amount,depositTokenDecimals:t.asset.decimals,destinationChainId:n,destinationTokenAddress:d,destinationAmount:c,destinationTokenDecimals:u}}async function ki(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)}const vi=60*60;async function Si(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}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}e.setIsExecuting(!0),e.setError(null);let n=!1;try{const s=t[0].asset.chainId,r=j.getEscrowContractAddress(s);let a=e.externalWalletClient;if(!e.escrowOnly){if(!a)throw new Error("External wallet not connected");if(e.externalProvider){await Nn(e.externalProvider,s);const l=m.getChainConfig(s);l&&(a=F.createWalletClient({account:e.sourceAddress,chain:l.viemChain,transport:F.custom(e.externalProvider)}))}}if(e.isNon7702){if(!a)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=m.getChainConfig(s),d=t.map(c=>`${c.amount} ${c.asset.symbol}`).join(", ");e.setConfirmationData({network:l?.displayName||`Chain ${s}`,amount:d,symbol:"",chainId:s}),e.setShowConfirmation(!0);let u=null;e.setDirectDepositStatus("processing"),e.setDirectDepositChainId(s);for(const c of t){const f=F.parseUnits(c.amount,c.asset.decimals),p=j.normalizeNativeTokenAddress(c.asset.address),g=c.asset.isNative||j.isNativeToken(p)?await a.sendTransaction({to:r,value:f}):await a.sendTransaction({to:p,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[r,f]})}),x=await m.getClientForChain(s).waitForTransactionReceipt({hash:g,timeout:12e4,pollingInterval:2e3,confirmations:2});if(x.status!=="success")throw new Error(`Escrow deposit failed for ${c.asset.symbol}`);u=x.transactionHash,e.setDirectDepositTxHash(x.transactionHash)}if(t[0]?.amount){const c=t[0].amount;if(e.onDepositExecute){e.setPostDepositStatus("executing");try{await e.onDepositExecute(c),e.setPostDepositStatus("success")}catch(p){console.error("ctx.onDepositExecute failed:",p),e.setPostDepositStatus("error"),e.setPostDepositError(p?.message||"Post-deposit instruction failed")}}else e.setPostDepositStatus("success");e.setDirectDepositStatus("success"),e.setPostDepositAmount(c),e.setPostDepositSuccess(!0);const f={type:"deposit",status:"success",amount:c,asset:t[0].asset.symbol,sourceChain:l?.displayName||`Chain ${s}`,txHash:u??void 0};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:f})),e.onDepositSuccess?.(f)}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 d=m.getDelegateContractAddress(s),u=r,c=[];let f=null;for(const p of t){const g=F.parseUnits(p.amount,p.asset.decimals),x=j.normalizeNativeTokenAddress(p.asset.address),h=p.asset.isNative||j.isNativeToken(x),b=u,y=h?await a.sendTransaction({to:u,value:g}):await a.sendTransaction({to:x,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[b,g]})});f||(f=y);const I=m.getClientForChain(s),v=await I.waitForTransactionReceipt({hash:y,timeout:12e4,pollingInterval:2e3,confirmations:2});if(v.status!=="success")throw new Error(`Transfer failed for ${p.asset.symbol}`);await I.getBlockNumber()-v.blockNumber<2&&await tn(3e3),e.depositDataRef.current||(e.depositDataRef.current=[]),e.depositDataRef.current.push({txHash:y,sender:e.sourceAddress,tokenAddress:x,chainId:s,amount:g.toString(),user:e.spiceBalanceUser}),c.push({tokenAddress:x,tokenAmount:g.toString(),sender:e.sourceAddress,receiver:u})}if(!f)throw new Error("No transaction hash generated");if(!e.destinationTokenAddress){const p={type:"deposit",status:"success",amount:t[0]?.amount,asset:t[0]?.asset?.symbol,sourceChain:m.getChainName(s),txHash:f};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:p})),e.onDepositSuccess?.(p),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.sponsorGas&&e.nativeChainId){const p=F.parseUnits("0.05",18);c.push({tokenAddress:j.ZERO_ADDRESS,tokenAmount:p.toString(),sender:e.sourceAddress,receiver:u})}if(e.mode==="ondemand"){const p={to:d,value:BigInt(0),data:"0x"},g=await m.getTokenDecimals(l,e.destinationTokenAddress);let x=BigInt(0);for(const M of c){const A=BigInt(M.tokenAmount),T=j.normalizeNativeTokenAddress(M.tokenAddress),B=t.find(E=>{const S=j.normalizeNativeTokenAddress(E.asset.address);return m.addressesEqual(S,T)}),C=B?B.asset.decimals:await m.getTokenDecimals(s,j.ZERO_ADDRESS);x+=j.convertAmountBetweenDecimals(A,C,g)}e.isCrossDenomination&&e.convertedUsdAmount&&(x=e.convertedUsdAmount);const h={chainId:s,tokenTransfers:c.map(M=>({from:M.sender,to:M.receiver,token:M.tokenAddress,amount:BigInt(M.tokenAmount)})),call:p},b=e.isCrossDenomination&&e.convertedUsdAmount?[{from:e.sourceAddress,to:r,token:j.normalizeNativeTokenAddress(t[0].asset.address),amount:F.parseUnits(t[0].amount,t[0].asset.decimals)}]:[],y={chainId:l,tokenTransfers:[...b,{from:"escrow",to:e.sourceAddress,token:e.destinationTokenAddress,amount:x}],call:{to:e.destinationTokenAddress,value:BigInt(0),data:"0x"}},I={mode:"non-7702:on-demand",chainBatches:[h,y]},v={user:e.sourceAddress,intents:[I]},D=await m.relayerService.createAction(v),k=D.actionId,w=D.intentIds[0];if(!f)throw new Error("No transaction hash available");e.startStatusPolling(w,m.createInitialSteps([{chainId:s,calls:[p]},{chainId:l,calls:[y.call]}],M=>m.getChainName(M))),await m.relayerService.executeStep(k,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 l=[],d=t[0],u=d&&t.length===1&&e.effectiveDepositFee&&e.effectiveDepositFee.chainId===s&&m.addressesEqual(e.effectiveDepositFee.token,j.normalizeNativeTokenAddress(d.asset.address))?F.formatUnits(e.effectiveDepositFee.net,d.asset.decimals):d?.amount;for(const C of t){const E=F.parseUnits(C.amount,C.asset.decimals),S=t.length===1&&!!e.effectiveDepositFee&&e.effectiveDepositFee.chainId===s&&m.addressesEqual(e.effectiveDepositFee.token,j.normalizeNativeTokenAddress(C.asset.address)),R=S?e.effectiveDepositFee.fee:0n,N=S?e.effectiveDepositFee.net:E,P=e.escrowOnly?E:E+R,H=j.normalizeNativeTokenAddress(C.asset.address),L=C.asset.isNative||j.isNativeToken(H);if(!e.escrowOnly){const W=L?await a.sendTransaction({to:e.address,value:P}):await a.sendTransaction({to:H,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[e.address,P]})});Ci({chainId:s,tokenAddress:j.normalizeNativeTokenAddress(C.asset.address),tokenSymbol:C.asset.symbol,tokenDecimals:C.asset.decimals,amount:C.amount,rawAmount:E.toString(),embeddedWalletAddress:e.address,externalWalletAddress:e.sourceAddress,timestamp:Date.now(),isNative:L});const U=m.getClientForChain(s),z=await U.waitForTransactionReceipt({hash:W,timeout:12e4,pollingInterval:2e3,confirmations:2});if(z.status!=="success")throw new Error(`Transfer to embedded wallet failed for ${C.asset.symbol}`);await U.getBlockNumber()-z.blockNumber<2&&await tn(3e3)}l.push(L?{to:r,value:N,data:"0x"}:{to:H,value:BigInt(0),data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[r,N]})}),R>0n&&l.push(L?{to:j.SPICE_GAS_FEE_RECIPIENT,value:R,data:"0x"}:{to:H,value:BigInt(0),data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[j.SPICE_GAS_FEE_RECIPIENT,R]})})}const c=await m.getClientForChain(s).getBlockNumber(),f=l.map(C=>({...C,to:F.getAddress(C.to)})),p={chainId:s,recentBlock:c,calls:f,tokenTransfers:[]},g=wi({sourceChainId:s,selectedAsset:d&&u?{...d,amount:u}:t[0],destinationChainId:e.destinationChainId,destinationTokenAddress:e.destinationTokenAddress,isCrossDenomination:e.isCrossDenomination,convertedUsdAmount:e.convertedUsdAmount}),x=await ki(e.depositBatches,g),h=[p,...x];if(!e.address)throw new Error("Address not available");const b=[...new Set(h.map(C=>C.chainId))],y=[];for(const C of b){const E=m.getDelegateContractAddress(C),S=m.getClientForChain(C),R=await j.getAccountNonce(e.address,S),N=await e.actions.signAuthorization({contractAddress:E,chainId:C,nonce:Number(R)});y.push({r:N.r,s:N.s,yParity:N.yParity,chainId:N.chainId,nonce:Number(N.nonce),address:N.address})}const I=j.hashChainBatches(h),v=Math.floor(Date.now()/1e3)+vi,D=I.map(C=>C.hash),k=F.keccak256(F.encodeAbiParameters([{type:"string"},{type:"uint256"},{type:"uint256"},{type:"bytes32[]"}],["ecdsa",0n,BigInt(v),D])),{signature:w}=await e.actions.signMessage({raw:k});if(!w)throw new Error("Failed to sign intent authorization");const M=[];if(e.isCrossDenomination&&e.convertedUsdAmount&&e.destinationTokenAddress){const C=e.selectedDepositAssets[0]?.asset;if(C){const E=F.parseUnits(e.selectedDepositAssets[0].amount,C.decimals);M.push({from:e.address,to:r,token:j.normalizeNativeTokenAddress(C.address),amount:E}),M.push({from:"escrow",to:e.address,token:e.destinationTokenAddress,amount:e.convertedUsdAmount})}}const A={mode:"7702",signatureType:"ecdsa",signature:w,nbf:0,exp:v,chainBatches:I.map((C,E)=>({hash:C.hash,chainId:h[E].chainId,tokenTransfers:E===1&&M.length>0?M:h[E].tokenTransfers??[],calls:h[E].calls}))},T={user:e.address,chainAuthorizations:y,intents:[A]},B=await m.relayerService.createAction(T);if(B){const C=B.actionId;for(let S=0;S<h.length;S++)await m.relayerService.executeStep(C,0,S,{action:"execute"});for(const S of t)zs(e.address,s,j.normalizeNativeTokenAddress(S.asset.address));const E=m.createInitialSteps(h,S=>m.getChainName(S));if(e.startStatusPolling(B.intentIds[0],E),e.refreshAssets(),e.onDepositExecute&&t[0]?.amount)try{e.setPostDepositStatus("executing"),await e.onDepositExecute(u||t[0].amount),e.setPostDepositStatus("success"),e.setPostDepositAmount(u||t[0].amount),e.setPostDepositSuccess(!0)}catch(S){console.error("ctx.onDepositExecute failed (7702):",S),e.setPostDepositStatus("error"),e.setPostDepositError(S?.message||"Post-deposit instruction failed")}e.onDepositSelect&&e.onDepositSelect(t[0].asset)}}}catch(s){n=!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(m.sanitizeError(s,"Deposit failed")),e.clearStatus()}finally{e.setIsExecuting(!1),n&&e.setDirectDepositStatus("idle"),n||!e.getCurrentIntentStatus()&&e.getCurrentPostDepositStatus()!=="idle"||e.setShowConfirmation(!1)}}async function Ii(e){const{asset:t,assetIndex:n,selectedAssetCount:s,address:r,escrowOnly:a,isNon7702:l}=e;if(n!==0||l||s>1||!r||t.balance<=0n)return null;const d=await Oo({address:r,depositQuote:{asset:t,amount:t.balance,token:j.normalizeNativeTokenAddress(t.address),chainId:t.chainId},escrowOnly:a}),u=a?t.balance:t.balance>d.fee?t.balance-d.fee:0n;return jo(u,t.decimals)}async function Oo(e){const{address:t,depositQuote:n,escrowOnly:s}=e,{asset:r,amount:a,token:l,chainId:d}=n,u=j.getEscrowContractAddress(d),c=r.isNative||j.isNativeToken(l),f=a>1n?1n:0n,p=[c?{to:u,value:a,data:"0x"}:{to:l,value:0n,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[u,a]})}];f>0n&&p.push(c?{to:j.SPICE_GAS_FEE_RECIPIENT,value:f,data:"0x"}:{to:l,value:0n,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[j.SPICE_GAS_FEE_RECIPIENT,f]})});const g={chainId:d,tokenTransfers:[],calls:p},x=(await m.relayerService.estimateBatchGas({user:t,outputToken:l,chainBatches:[{...g,hash:j.hashChainBatches([g])[0].hash}]})).gasFee,h=s&&x<a?a-x:a;return{fee:x,net:h,token:l,chainId:d}}const Ai=({selectedDepositAssets:e,depositAssets:t,secondAssetOptions:n,loadingAssets:s,allowSecondAsset:r,theme:a,styles:l,dark:d,dk:u,onSelect:c,onAmountChange:f,onAdd:p,onRemove:g,resolveMaxAmount:x,onViewAllAssets:h})=>o.jsxs(o.Fragment,{children:[e.map((b,y)=>{const I=e.length===1?"Deposit":`Asset ${y+1}`;return o.jsxs("div",{style:{marginBottom:a.spacing.md,position:"relative"},children:[o.jsx(Ln,{assets:y===0?t:n,selectedAsset:b||void 0,onAssetSelect:v=>c(v,y),onAmountChange:v=>f(v,y),loading:s,label:I,showBalance:!0,theme:a,styles:l,allowSecondAsset:r&&y===0,onAddAsset:p,canAddAsset:e.length===1&&!!e[0]?.asset,resolveMaxAmount:x?v=>x(v,y):void 0,onViewAllAssets:y===0?h:void 0}),y===1&&o.jsx("button",{onClick:()=>g(y),style:{position:"absolute",top:"-2px",right:"-2px",background:d?`${u.cardBg}ee`:"rgba(255, 255, 255, 0.9)",border:`1px solid ${u.cardBorder}`,borderRadius:"50%",cursor:"pointer",color:a.colors.textMuted,fontSize:"16px",padding:"2px",width:"22px",height:"22px",display:"flex",alignItems:"center",justifyContent:"center",transition:en.interactive,boxShadow:"0 1px 3px rgba(0, 0, 0, 0.1)"},onMouseEnter:v=>{v.currentTarget.style.color=d?u.errorText:"#ef4444",v.currentTarget.style.background=d?u.cardBg:"#fff",v.currentTarget.style.borderColor=d?u.errorBorder:"#fecaca"},onMouseLeave:v=>{v.currentTarget.style.color=a.colors.textMuted,v.currentTarget.style.background=d?`${u.cardBg}ee`:"rgba(255, 255, 255, 0.9)",v.currentTarget.style.borderColor=d?u.cardBorder:"#e5e7eb"},title:"Remove asset",children:"\xD7"})]},`asset-${y}`)}),e.length===0&&o.jsx("div",{style:{marginBottom:a.spacing.md},children:o.jsx(Ln,{assets:t,selectedAsset:void 0,onAssetSelect:b=>c(b,0),onAmountChange:b=>f(b,0),loading:s,label:"Deposit",showBalance:!0,theme:a,styles:l,allowSecondAsset:r,onAddAsset:p,canAddAsset:!1,resolveMaxAmount:x?b=>x(b,0):void 0},"initial-selector")})]}),Ei=i.memo(Ai);var Os="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 Lo=i.memo(({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,onDepositSelect:s,depositBatches:r,supportedChains:a,title:l,styles:d,onDepositAssetChange:u,assetInputHook:c,externalWalletAddress:f,onDepositAmountChange:p,allowSecondAsset:g=!1,destinationChainId:x,destinationTokenAddress:h,onDepositExecute:b,depositActionLabel:y,nativeChainId:I,sponsorGas:v=!1,preSelectedAsset:D,escrowOnly:k=!1,escrowTokenAddress:w,escrowAmount:M,escrowTokenDecimals:A,escrowTokenSymbol:T,onDepositSuccess:B,onDepositError:C,embeddedWalletAddress:E,onViewAllAssets:S})=>{const R=i.useContext(m.SpiceFlowProviderContext),N=R?.mode||"7702",P=R?.allowedTokens,H=!!R?.isWhitelistGateActive,L=!k&&!!R?.isWhitelistConfigured&&R?.isUserWhitelisted!==!0,W=c?.assetAmount||"",{theme:U,dark:z,appName:_,primaryColor:V,dk:Y}=m.useSpiceBrand(d),ue=m.useWallet(),{isReady:q,isAuthenticated:ee,actions:oe}=ue,{externalWallet:pe}=m.useProviderWallets(),we=R?.embeddedWalletAddress||E,de=N!="7702",xe=de?!!f:q&&ee&&!!we,Ee=we,Z=f,X=Ee??Z,{data:te}=cn.useWalletClient(),[se,ye]=i.useState(te),Q=i.useRef(null),J=i.useRef(pe);J.current=pe;const me=pe?.address;i.useEffect(()=>{const O=J.current;if(!O||!Z){Q.current=null,ye(te);return}if(O.address?.toLowerCase()!==Z?.toLowerCase()){Q.current=null,ye(te);return}O.getEthereumProvider().then(async ne=>{Q.current=ne;const ke=await ne.request({method:"eth_chainId"}),ce=parseInt(ke,16),Ze=m.getChainConfig(ce),he=await O.getWalletClient(ce);ye(Ze?F.createWalletClient({account:Z,chain:Ze.viemChain,transport:F.custom(ne)}):he)}).catch(()=>{Q.current=null,ye(te)})},[me,Z,te]);const Se=i.useRef(null),[ie,qe]=i.useState([]),{assets:ot,loading:Kt,error:Ft,refreshAssets:ut}=vs({address:k?Ee:Z||Ee,supportedChains:a,fetchBalances:ks,enabled:e,refreshInterval:e?5e3:0}),ae=i.useMemo(()=>{if(H)return[];const O=a.flatMap(ne=>m.getAllAssetsForChain(ne,ot));return P&&P.length>0?O.filter(ne=>P.includes(ne.symbol.toLowerCase())||ne.isNative&&P.includes("native")).sort((ne,ke)=>{const ce=ne.balance>BigInt(0)?1:0;return(ke.balance>BigInt(0)?1:0)-ce}):O.filter(ne=>ne.balance>BigInt(0))},[a,ot,P,H]),Ne=i.useMemo(()=>{if(!ie[0]?.asset)return[];const O=ie[0].asset.chainId;return ae.filter(ne=>ne.chainId===O)},[ae,ie]),[Me,Ct]=i.useState(!1),[re,At]=i.useState(null),Ae=i.useRef(C);Ae.current=C;const Te=i.useCallback(O=>{At(O),typeof O=="string"&&O&&Ae.current?.(O)},[]),[le,ze]=i.useState("idle"),[zt,Qt]=i.useState(null),Xt=i.useCallback(O=>{Qt(O),typeof O=="string"&&O&&Ae.current?.(O)},[]),[Et,ge]=i.useState(!1),[Ot,Gt]=i.useState(null),[Lt,Ke]=i.useState("idle"),[wt,Vt]=i.useState(null),[Mt,fe]=i.useState(null),[Oe,ft]=i.useState(null),[Dt,Fe]=i.useState(null),[kt,Jt]=i.useState(null),{intentStatus:Re,startStatusPolling:vt,clearStatus:mt}=Rn(),qt=i.useCallback((O,ne)=>{const ke=m.CHAIN_CONFIGS[ne];return ke?ke.supportedTokens?.find(ce=>m.addressesEqual(ce.address,O))?.symbol??null:null},[]),Bt=i.useMemo(()=>{const O=ie[0]?.asset;if(!O||!h||!x)return!1;const ne=qt(h,x);return Sa(O.symbol)&&!!ne&&Ia(ne)},[ie,h,x,qt]);i.useEffect(()=>{ie.length>0&&W!==ie[0]?.amount&&qe(O=>{if(O.length===0)return O;const ne=[...O];return ne[0]={...ne[0],amount:W||""},ne})},[W]),i.useEffect(()=>{ie.length!==0&&qe(O=>{let ne=!1;const ke=O.map(ce=>{if(!ce.asset)return ce;const Ze=ae.find(he=>he.chainId===ce.asset.chainId&&m.addressesEqual(he.address,ce.asset.address));return Ze?Ze===ce.asset||Ze.balance===ce.asset.balance?ce:(ne=!0,{...ce,asset:Ze,amount:ce.amount}):ce});return ne?ke:O})},[ae,ie.length]),i.useEffect(()=>{if(!D||ie.length>0||ae.length===0)return;const O=ae.find(ne=>ne.chainId===D.chainId&&m.addressesEqual(ne.address,D.address));O&&(qe([{asset:O,amount:""}]),u?.(O))},[D,ae,ie.length]);const $e=i.useRef(null);i.useEffect(()=>{if(de&&Re?.overallStatus==="success"&&b&&le==="idle"){const O=$e.current,ne=Se.current;O&&(async()=>{try{ze("executing"),await b(O),ze("success"),Gt(O),ge(!0);const ke=Array.isArray(ne)?ne[0]:void 0,ce={type:"deposit",status:"success",amount:O,asset:ke?.tokenAddress,sourceChain:ke?String(ke.chainId):void 0,txHash:ke?.txHash};window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:ce})),B?.(ce)}catch(ke){console.error("onDepositExecute failed:",ke),ze("error"),Xt(m.sanitizeError(ke,"Post-deposit instruction failed"))}finally{$e.current=null,Se.current=null}})()}},[Re?.overallStatus,de,le]);const ct=i.useCallback(()=>{Te(null)},[]);i.useEffect(()=>{e||(ge(!1),Gt(null),Ke("idle"),Vt(null),fe(null))},[e]);const pt=i.useCallback((O,ne)=>{qe(ke=>{const ce=[...ke];return ce[ne]={asset:O,amount:ce[ne]?.amount||""},ce}),ne===0&&u?.(O),ct()},[u,ct]),rn=i.useCallback(async(O,ne)=>{if(qe(ke=>{const ce=[...ke];return ce[ne]&&(ce[ne]={...ce[ne],amount:O}),ce}),ct(),ne===0)if(c?.setAssetAmount(O),Bt&&O&&parseFloat(O)>0)try{const ke=Oe??await va();Oe||ft(ke);const ce=ie[0]?.asset;if(!ce)return;const Ze=F.parseUnits(O,ce.decimals),he=h?qt(h,x):null,De=m.CHAIN_CONFIGS[x]?.supportedTokens?.find(In=>m.addressesEqual(In.address,h))?.decimals??6,It=Aa(Ze,ce.decimals,De,ke);Fe(It);const Ut=F.formatUnits(It,De),Wn=ke.toLocaleString("en-US",{maximumFractionDigits:0});Jt(`${O} ${ce.symbol} \u2248 $${parseFloat(Ut).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})} ${he??"USD"} (rate: $${Wn}/BTC)`),p?.(Ut)}catch(ke){console.error("Failed to fetch BTC/USD price:",ke),Jt(null),Fe(null),p?.(O)}else Jt(null),Fe(null),p?.(O)},[ct,c,p,Bt,Oe,ie,h,x,qt]),Ye=i.useCallback(()=>{ie.length<2&&qe(O=>[...O,{asset:null,amount:""}])},[ie.length]),lt=i.useCallback(O=>{qe(ne=>ne.filter((ke,ce)=>ce!==O)),ct()},[ct]),$t=i.useRef(!1),Xe=i.useRef(!1);i.useEffect(()=>{e||($t.current=!1,Xe.current=!1,dt(null),rt(null))},[e]);const[ht,_e]=i.useState(!1),[gt,Ge]=i.useState(null),[Nt,dt]=i.useState(null),[Wt,rt]=i.useState(null),[$,G]=i.useState(!1),[be,Be]=i.useState(null),ve=i.useMemo(()=>{const O=ie[0];if(ie.length!==1||!O?.asset||!O.amount||parseFloat(O.amount)<=0)return null;try{return{asset:O.asset,amount:F.parseUnits(O.amount,O.asset.decimals),token:j.normalizeNativeTokenAddress(O.asset.address),chainId:O.asset.chainId}}catch{return null}},[ie]),et=i.useMemo(()=>ve?[ve.chainId,ve.token.toLowerCase(),ve.amount.toString(),k?"escrow":"normal"].join("|"):null,[ve,k]),at=i.useCallback(async O=>Ee?Oo({address:Ee,depositQuote:O,escrowOnly:k}):null,[Ee,k]),He=i.useCallback(async()=>ve?at(ve):null,[ve,at]),Je=i.useRef(He);Je.current=He,i.useEffect(()=>{let O=!1;if(!e||de||!et||ht||Me){dt(null),Be(null),G(!1);return}const ne=async()=>{Be(null),G(!0);try{const ce=await Je.current();O||dt(ce)}catch(ce){if(O)return;dt(null),Be(ce instanceof Error?ce.message:"Failed to estimate gas fee")}finally{O||G(!1)}};ne();const ke=window.setInterval(()=>{ne()},1e4);return()=>{O=!0,window.clearInterval(ke)}},[e,de,et,ht,Me]),i.useEffect(()=>{ht||Me||rt(null)},[ht,Me,et]);const Pt=async()=>{if(ie.length===0||!ie[0]?.asset)return;const O=ie.filter(he=>he.asset&&he.amount&&parseFloat(he.amount)>0);if(O.length===0)return;const ne=O[0],ke=m.getChainConfig(ne.asset.chainId),ce=O.map(he=>{const De=parseFloat(he.amount);return`${isNaN(De)?he.amount:De.toPrecision(6).replace(/\.?0+$/,"")} ${he.asset.symbol}`}).join(", "),Ze={network:ke?.displayName||`Chain ${ne.asset.chainId}`,amount:ce,symbol:"",chainId:ne.asset.chainId};if(!de&&O.length===1&&Nt){rt(Nt);const he=O[0];Ze.creditedAmount=`${F.formatUnits(Nt.net,he.asset.decimals)} ${he.asset.symbol}`,Ze.networkFee=`${F.formatUnits(Nt.fee,he.asset.decimals)} ${he.asset.symbol}`}Ge(Ze),_e(!0)},Qe=i.useRef(Re);Qe.current=Re;const Ve=i.useRef(le);Ve.current=le;const K=async()=>{await Si({selectedDepositAssets:ie,escrowOnly:k,sourceAddress:Z,isNon7702:de,address:Ee,embeddedWalletAddress:we,isReady:q,isAuthenticated:ee,zeroCreditError:Ie,depositBalanceError:St,externalWalletClient:se,externalProvider:Q.current,effectiveDepositFee:We,depositBatches:r,destinationChainId:x,destinationTokenAddress:h,isCrossDenomination:Bt,convertedUsdAmount:Dt,mode:N,sponsorGas:v,nativeChainId:I,spiceBalanceUser:X,depositDataRef:Se,bridgedAmountRef:$e,setIsExecuting:Ct,setError:Te,setConfirmationData:Ge,setShowConfirmation:_e,setDirectDepositStatus:Ke,setDirectDepositChainId:fe,setDirectDepositTxHash:Vt,setPostDepositStatus:ze,setPostDepositError:Xt,setPostDepositAmount:Gt,setPostDepositSuccess:ge,startStatusPolling:vt,clearStatus:mt,refreshAssets:ut,onDepositExecute:b,onDepositSelect:s,onDepositSuccess:B,actions:oe,getCurrentIntentStatus:()=>Qe.current,getCurrentPostDepositStatus:()=>Ve.current})},Ie=i.useMemo(()=>{for(const O of ie)if(!(!O?.asset||!O.amount||parseFloat(O.amount)<=0))try{const ne=O.asset.decimals,ke=F.parseUnits(O.amount,ne);if(ke<=0n)continue;const ce=j.getEquivalenceGroup(j.normalizeNativeTokenAddress(O.asset.address)),Ze=O.asset.receiptTokenDecimals??(ce==="ETH"||ce==="ARB"?18:ce==="USDC"||ce==="SUSD"||ce==="WBTC"||ce==="CBTC"?6:void 0);if(Ze===void 0||ne<=Ze||j.convertAmountBetweenDecimals(ke,ne,Ze)>0n)continue;return`Amount too small. Minimum deposit for this asset is ${F.formatUnits(10n**BigInt(ne-Ze),ne)} ${O.asset.symbol}.`}catch{continue}return null},[ie]),tt=!de&&!!ve,We=Wt??Nt,Pe=!!ve&&!!We&&We.chainId===ve.chainId&&m.addressesEqual(We.token,ve.token),St=i.useMemo(()=>{if(!tt||!ve||!Pe)return null;const O=k?ve.amount:ve.amount+We.fee;return ve.asset.balance>=O?null:`Insufficient ${ve.asset.symbol}. Need ${F.formatUnits(O,ve.asset.decimals)} ${ve.asset.symbol} including gas.`},[tt,ve,Pe,We,k]),[xt,Ht]=i.useState(!1),je=ie[0]?.asset?.chainId,nt=ot.find(O=>O.isNative&&O.chainId===je)?.balance??0n;i.useEffect(()=>{if(!e||!je){Ht(!1);return}let O=!1;return(async()=>{try{const ne=await m.getClientForChain(je).getGasPrice()*150000n;O||Ht(nt<ne)}catch{O||Ht(!1)}})(),()=>{O=!0}},[e,je,nt]);const it=!tt||Pe&&!$&&!be&&!St,st=i.useCallback((O,ne)=>Ii({asset:O,assetIndex:ne,selectedAssetCount:ie.length,address:Ee,escrowOnly:k,isNon7702:de}),[de,ie.length,Ee,k]),bt=i.useMemo(()=>{if(!ve||!We||!Pe)return null;const O=k?ve.amount:ve.amount+We.fee;return{symbol:ve.asset.symbol,decimals:ve.asset.decimals,grossAmount:O,netAmount:We.net,totalFee:We.fee,gasFee:We.fee,spicenetFee:0n,bridgeFee:0n,gasQuoteSource:"estimated"}},[ve,We,Pe,k]),yt=parseFloat(ie[0]?.amount||"")||0,Ue=yt>0&&yt<fn,Le=ie.length>0&&ie[0]?.asset&&ie[0]?.amount&&yt>0&&!Ue&&xe&&!Me&&!Ie&&!St&&it&&!L;i.useEffect(()=>{if(!k||!w||!M||$t.current||!xe)return;const O=a[0];if(!O)return;const ne=m.getAllAssetsForChain(O,[]).find(ce=>m.addressesEqual(ce.address,w));let ke;if(ne)ke=ne;else if(A!==void 0&&T)ke={address:w,symbol:T,name:T,decimals:A,chainId:O,balance:BigInt(0),balanceFormatted:0,balanceUsd:0,isNative:j.isNativeToken(w)};else{console.warn("[DepositModal] escrowOnly: no matching asset and missing escrowTokenDecimals/escrowTokenSymbol for",w);return}$t.current=!0,qe([{asset:ke,amount:M}])},[k,w,M,A,T,xe,a]),i.useEffect(()=>{!k||!Le||Xe.current||Me||(Xe.current=!0,K())},[k,Le,Me]);const Tt=Ft||re||Ie||St,_t=()=>{if(Me)return"Executing Deposit...";if(!xe)return"Wallet Not Connected";if(N==="7702"){if(!q)return"Loading...";if(!ee)return"Authentication Required"}return ie[0]?.asset?ie[0]?.amount?Ue?`MINIMUM ${fn}`:Ie?"AMOUNT TOO SMALL":St?"INSUFFICIENT BALANCE":tt&&!it?be?"GAS UNAVAILABLE":"ESTIMATING GAS":"DEPOSIT":"ENTER AMOUNT":"SELECT TOKEN"};return e?o.jsx(dn,{isOpen:e,onClose:t,closeOnBackdropClick:n,title:l||`Deposit to your ${_} account`,subtitle:o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"5px"},children:[o.jsx("img",{src:Os,alt:"","aria-hidden":"true",style:{width:"13px",height:"13px",flexShrink:0,...z?{filter:"invert(0.6)"}:{}}}),o.jsx("p",{style:{fontSize:"12px",color:Y.textSecondary,margin:"0",lineHeight:"1.4",fontFamily:'"Helvetica Neue", sans-serif'},children:`Deposit collateral to your ${_} Account from any supported network.`})]}),dark:z,overlayContent:ht||Re||le!=="idle"&&b?o.jsx("div",{}):void 0,styles:d,theme:U,children:o.jsxs("div",{style:{padding:"24px 24px 5px 24px"},children:[o.jsx(Ei,{selectedDepositAssets:ie,depositAssets:ae,secondAssetOptions:Ne,loadingAssets:Kt,allowSecondAsset:g,theme:U,styles:d,dark:z,dk:Y,onSelect:pt,onAmountChange:rn,onAdd:Ye,onRemove:lt,resolveMaxAmount:st,onViewAllAssets:S}),tt&&ve&&o.jsx(rs,{fontFamily:d?.fontFamily||U.typography.fontFamily,textPrimary:Y.textPrimary,textSecondary:Y.textSecondary,cardBg:z?Y.inputBg:"#ffffff",cardBorder:Y.cardBorder,resolvedDark:z,darkCardBorder:Y.cardBorder,primaryColor:V,feePreview:bt,isLoading:$||tt&&!Pe,errorText:be}),o.jsx(yi,{intentStatus:Re,postDepositSuccess:Et,postDepositAmount:Ot,postDepositStatus:le,depositActionLabel:y,sourceChainName:ie[0]?.asset?.chainId?m.getChainName(ie[0].asset.chainId):"Destination Chain",directDepositStatus:Lt,directDepositTxHash:wt,directDepositChainId:Mt,styles:d}),o.jsx(xi,{isOpen:ht||!!Re||le!=="idle"&&!!b,onClose:()=>{_e(!1),Re&&mt();const O=le==="success"&&!Re,ne=Re?.overallStatus==="success"&&le==="success"&&b;(O||ne)&&t()},onConfirm:K,data:gt,isExecuting:Me,error:re,theme:U,styles:d,intentStatus:Re,postDepositStatus:le,hasPostDepositInstruction:!!b}),kt&&o.jsxs("div",{style:{padding:"8px 12px",marginBottom:"8px",backgroundColor:z?Y.warningBg:"#fffbeb",border:`1px solid ${Y.warningBorder}`,borderRadius:U.borderRadius.md,fontSize:"12px",color:Y.warningText,lineHeight:"1.4"},children:["\u26A1 ",kt]}),xt&&o.jsx("div",{style:{padding:"8px 12px",marginBottom:"8px",backgroundColor:z?Y.warningBg:"#fffbeb",border:`1px solid ${Y.warningBorder}`,borderRadius:U.borderRadius.md,fontSize:"12px",color:Y.warningText,lineHeight:"1.4"},children:"Low native balance in the external wallet. The deposit to spicenet account might fail."}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:0,marginBottom:0,margin:0,padding:0},children:[Tt?o.jsx("div",{style:{marginBottom:"10px",fontSize:"12px",lineHeight:"1.45",color:Y.errorText,fontFamily:d?.fontFamily||U.typography.fontFamily},children:Tt}):null,o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:Pt,disabled:!Le||!xe||Me,theme:U,dark:z,styles:d,children:_t()})]})]})}):null}),ji=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,deposits:s,onComplete:r,onCancel:a,onSkip:l,onChangeWallet:d,isProcessing:u,error:c,styles:f})=>{const{dark:p,dk:g,theme:x}=m.useSpiceBrand(f);if(!e||s.length===0)return null;const h=s[0],b=f?.fontFamily||'"Helvetica Neue", sans-serif',y='"IBM Plex Mono", monospace',I=m.getChainName(h.chainId),v=parseFloat(h.amount).toPrecision(6).replace(/\.?0+$/,""),D=F.formatUnits(h.verifiedBalance,h.tokenDecimals);return o.jsx(dn,{isOpen:e,onClose:t,title:"Incomplete Deposit",styles:f,closeOnBackdropClick:n,children:o.jsxs("div",{style:{padding:"18px 24px 24px",fontFamily:b},children:[o.jsx("p",{style:{fontSize:"14px",color:g.textSecondary,lineHeight:"1.6",margin:"0 0 18px 0"},children:"Your funds reached your wallet, but the deposit didn't finish."}),o.jsxs("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto",gap:"14px 18px",marginBottom:"24px",padding:"16px 18px",backgroundColor:p?g.cardBg:"#f8fafc",border:`1px solid ${g.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:[o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[o.jsx("span",{style:{fontSize:"12px",fontWeight:600,color:g.textSecondary,fontFamily:y,letterSpacing:"0.8px"},children:"NETWORK"}),o.jsx("span",{style:{fontSize:"18px",fontWeight:600,color:g.textPrimary,fontFamily:b,lineHeight:1.2},children:I})]}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px",alignItems:"flex-end",textAlign:"right"},children:[o.jsx("span",{style:{fontSize:"12px",fontWeight:600,color:g.textSecondary,fontFamily:y,letterSpacing:"0.8px"},children:"DEPOSITED AMOUNT"}),o.jsxs("span",{style:{fontSize:"24px",fontWeight:700,color:g.successText,fontFamily:y,lineHeight:1.1},children:[v," ",h.tokenSymbol]}),o.jsx("span",{style:{fontSize:"12px",color:g.textSecondary,fontWeight:500,fontFamily:b},children:"Sent to embedded wallet"})]})]}),!h.hasFullBalance&&h.verifiedBalance>0n&&o.jsxs("div",{style:{marginBottom:"16px",padding:"8px 12px",backgroundColor:g.warningBg,border:`1px solid ${p?g.warningBorder:"#fcd34d"}`,borderRadius:"8px",fontSize:"13px",color:g.warningText,lineHeight:"1.4"},children:["Partial balance \u2014 only ",parseFloat(D).toFixed(4)," ",h.tokenSymbol," available."]}),c&&o.jsx("div",{style:{marginBottom:"16px",padding:"10px 12px",backgroundColor:g.errorBg,border:`1px solid ${p?g.errorBorder:"#fca5a5"}`,borderRadius:"8px",fontSize:"13px",color:p?g.errorText:"#991b1b",lineHeight:"1.4"},children:c}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"12px"},children:[o.jsx(m.Button,{variant:"outline",fullWidth:!0,disabled:u,onClick:()=>r(h),theme:x,dark:p,styles:f,children:"CONFIRM DEPOSIT"}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"10px"},children:[o.jsx(m.Button,{variant:"ghost",fullWidth:!0,disabled:u,onClick:()=>a(h),theme:x,dark:p,style:{height:"48px",fontSize:"13px",letterSpacing:"0.4px",color:p?g.textPrimary:"#374151",border:`1px solid ${p?g.cardBorder:"#d1d5db"}`,borderRadius:"12px",backgroundColor:p?"rgba(255,255,255,0.02)":"#ffffff"},children:u?"RETURNING...":"RETURN FUNDS"}),o.jsxs("div",{style:{display:"grid",gridTemplateColumns:d?"1fr 1fr":"1fr",gap:"10px"},children:[o.jsx(m.Button,{variant:"ghost",fullWidth:!0,disabled:u,onClick:l,theme:x,dark:p,style:{height:"44px",fontSize:"12px",letterSpacing:"0.4px",color:g.textSecondary,border:`1px solid ${p?g.cardBorder:"#d1d5db"}`,borderRadius:"12px",backgroundColor:"transparent"},children:"START OVER"}),d&&o.jsx(m.Button,{variant:"ghost",fullWidth:!0,disabled:u,onClick:d,theme:x,dark:p,style:{height:"44px",fontSize:"12px",letterSpacing:"0.4px",color:g.textSecondary,border:`1px solid ${p?g.cardBorder:"#d1d5db"}`,borderRadius:"12px",backgroundColor:"transparent"},children:"CHANGE WALLET"})]})]})]}),s.length>1&&o.jsxs("p",{style:{fontSize:"12px",color:g.textSecondary,textAlign:"center",marginTop:"14px",marginBottom:0,lineHeight:"1.5"},children:[s.length," incomplete deposits found \u2014 resolving one at a time."]})]})})},Ls=e=>{const[t,n]=i.useState(!1),s=i.useContext(m.SpiceFlowProviderContext),{dark:r,dk:a}=m.useSpiceBrand();if(i.useEffect(()=>{n(!0)},[]),!t)return o.jsx("div",{className:e.className,children:o.jsx("button",{disabled:!0,style:{padding:"12px 24px",fontSize:"16px",backgroundColor:r?a.hoverBg:"#ccc",color:r?a.textSecondary:"white",border:r?`1px solid ${a.buttonBorder}`:"none",borderRadius:"4px",cursor:"not-allowed"},children:"Loading..."})});if(!s){const l='ProviderLogin must be used within SpiceFlowProvider. Please wrap your app with <SpiceFlowProvider provider="privy">.';return o.jsx("div",{className:e.className,children:o.jsx("button",{onClick:()=>{e.onAuthError&&e.onAuthError(l)},style:{padding:"12px 24px",fontSize:"16px",backgroundColor:r?a.errorBg:"#dc2626",color:r?a.errorText:"white",border:r?`1px solid ${a.errorBorder}`:"none",borderRadius:"4px",cursor:"pointer"},children:"Provider Not Found"})})}return o.jsx(m.PrivyLogin,{...e})},Fi=.01,Bi=5*60*1e3;function Ti(e){const t=Number(F.formatUnits(e.verifiedBalance,e.tokenDecimals));return Number.isFinite(t)?t:0}async function Ri(e){const t=Mi(e);let n;try{n=await js(t.map(s=>s.tokenSymbol))}catch{return t}return t.filter(s=>{const r=Ti(s);if(r<=0)return!0;const a=n[s.tokenSymbol.toUpperCase()]??0;return!Number.isFinite(a)||a<=0?!0:r*a>=Fi})}function Mi(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?F.formatUnits(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 Ho(e,t){const[n,s]=i.useState([]),[r,a]=i.useState(!1),l=i.useRef(t);l.current=t;const d=i.useRef(0),u=i.useRef(0),c=i.useCallback(async({forceDiscovery:f=!1}={})=>{if(!e){s([]),a(!1);return}const p=++u.current,g=()=>p!==u.current;a(!0);try{const x=[],h=bi(e);for(const v of h){if(g())return;try{const D=m.getClientForChain(v.chainId);let k;if(v.isNative||j.isNativeToken(v.tokenAddress)?k=await nn.getBalance(D,{address:e}):k=await nn.readContract(D,{address:F.getAddress(v.tokenAddress),abi:F.erc20Abi,functionName:"balanceOf",args:[e]}),g())return;k>0n?x.push({...v,verifiedBalance:k,hasFullBalance:k>=BigInt(v.rawAmount)}):Date.now()-v.timestamp>15*60*1e3&&zs(e,v.chainId,v.tokenAddress)}catch(D){console.warn(`[usePendingDeposit] Failed to verify balance for ${v.tokenSymbol} on chain ${v.chainId}:`,D),x.push({...v,verifiedBalance:0n,hasFullBalance:!1})}}if(g())return;const b=l.current,y=Date.now(),I=(b?.discoverWalletBalances??!0)&&(f||y-d.current>=Bi);if(b?.network&&I){d.current=y;const v=b.chainIds??j.getChainIdsByNetwork(b.network),D=new Set(x.map(w=>`${w.chainId}:${w.tokenAddress.toLowerCase()}`)),k=[];for(const w of v){const M=m.getChainConfig(w);if(M?.supportedTokens)for(const A of M.supportedTokens){if(j.isNativeToken(A.address))continue;const T=`${w}:${A.address.toLowerCase()}`;D.has(T)||k.push((async()=>{try{const B=m.getClientForChain(w),C=await nn.readContract(B,{address:F.getAddress(A.address),abi:F.erc20Abi,functionName:"balanceOf",args:[e]});return C>0n?{chainId:w,tokenAddress:A.address,tokenSymbol:A.symbol,tokenDecimals:A.decimals,amount:F.formatUnits(C,A.decimals),rawAmount:C.toString(),embeddedWalletAddress:e,externalWalletAddress:"",timestamp:0,isNative:!1,verifiedBalance:C,hasFullBalance:!0}:null}catch{return null}})())}}if(k.length>0){const w=await Promise.allSettled(k);if(g())return;for(const M of w)M.status==="fulfilled"&&M.value&&x.push(M.value)}}if(!g()){const v=await Ri(x);if(g())return;s(v)}}catch(x){console.error("[usePendingDeposit] Verification error:",x),g()||s([])}finally{g()||a(!1)}},[e]);return i.useEffect(()=>{if(!l.current?.enabled){u.current++,s([]),a(!1);return}c({forceDiscovery:!0});const f=l.current?.pollIntervalMs??3e4;if(f<=0||!e)return()=>{u.current++};const p=setInterval(()=>{c({forceDiscovery:!1})},f),g=()=>c({forceDiscovery:!0});return window.addEventListener(is,g),()=>{u.current++,window.removeEventListener(is,g),clearInterval(p)}},[c,e]),{pendingDeposits:n,loading:r,refresh:()=>c({forceDiscovery:!0})}}function Di(e,t,n,s,r){return{address:t,symbol:n||"UNKNOWN",name:n||"Unknown Token",decimals:s||18,chainId:e,balance:0n,balanceFormatted:r?parseFloat(r):0,balanceUsd:0,isNative:j.isNativeToken(t)}}const Ni=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,styles:s,depositBatches:r,onDepositAmountChange:a,destinationChainId:l,destinationTokenAddress:d,onDepositExecute:u,depositActionLabel:c,sponsorGas:f=!1,escrowRecovery:p,skipTokenSelection:g=!1,onDepositSuccess:x,onDepositError:h,skipRecovery:b=!1})=>{const y=i.useContext(m.SpiceFlowProviderContext);if(!y)return o.jsx("div",{children:"Error: SpiceDeposit must be used within SpiceFlowProvider"});const I=(y.mode||"7702")!="7702",v=I,D=y.nativeChainId,k=y.network||"testnet",{dark:w,dk:M}=m.useSpiceBrand(s),A=!!p,T=m.useWallet(),{isReady:B,isAuthenticated:C,actions:E}=T,S=y?.embeddedWalletAddress,{address:R}=cn.useAccount(),N=y?.externalWalletAddress??R,P=!!N,H=()=>g?"deposit":"select-token",L=()=>v?P?H():"connect-wallet":"provider-login",[W,U]=i.useState(L()),[z,_]=i.useState(null),[V,Y]=i.useState(!1),{pendingDeposits:ue,loading:q,refresh:ee}=Ho(S,{enabled:e,network:k,chainIds:y.supportedChainIds}),[oe,pe]=i.useState(null),[we,de]=i.useState(!1),[xe,Ee]=i.useState(null),[Z,X]=i.useState(!1),[te,se]=i.useState("idle");i.useEffect(()=>{e&&!b&&!A&&!oe&&!Z&&te==="idle"&&C&&S&&P&&N&&!q&&ue.length>0&&W!=="recovery"&&W!=="deposit"&&U("recovery")},[e,b,A,C,S,P,N,q,ue,W,oe,Z,te]);const ye=i.useCallback(ae=>{const Ne={address:ae.tokenAddress,symbol:ae.tokenSymbol,name:ae.tokenSymbol,decimals:ae.tokenDecimals,chainId:ae.chainId,balance:ae.verifiedBalance,balanceFormatted:parseFloat(ae.amount),balanceUsd:0,isNative:ae.isNative};_(Ne),pe(ae),U("deposit")},[]),Q=i.useCallback(()=>{X(!0),U(C&&S&&P&&N?g?"deposit":"select-token":C&&S?"connect-wallet":"provider-login")},[C,S,P,N,g]),J=i.useCallback(()=>{Ee(null),se("awaiting-disconnect"),U("connect-wallet")},[]),me=i.useCallback(async ae=>{de(!0),Ee(null);try{if(!S)throw new Error("Embedded wallet not available");const Ne=await E.getEthereumProvider(),Me=m.getChainConfig(ae.chainId);await m.ensureWalletOnChain(Ne,ae.chainId);const Ct=m.getClientForChain(ae.chainId),re=await nn.getBalance(Ct,{address:S}),At=Me?.viemChain?.name||`chain ${ae.chainId}`;if(re===0n)throw new Error(`Your embedded wallet has no ETH on ${At} to pay for gas. We recommend completing the deposit instead \u2014 it doesn't require gas.`);const Ae=F.createWalletClient({account:S,transport:F.custom(Ne),chain:Me?.viemChain}),Te=ae.externalWalletAddress&&F.isAddress(ae.externalWalletAddress)?ae.externalWalletAddress:N;if(!Te||!F.isAddress(Te))throw new Error("Connect the external wallet that should receive these funds, then try again.");let le;ae.isNative||j.isNativeToken(ae.tokenAddress)?le=await Ae.sendTransaction({to:Te,value:ae.verifiedBalance,chain:Me?.viemChain}):le=await Ae.sendTransaction({to:ae.tokenAddress,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[Te,ae.verifiedBalance]}),chain:Me?.viemChain}),await Ct.waitForTransactionReceipt({hash:le,confirmations:1}),zs(ae.embeddedWalletAddress,ae.chainId,ae.tokenAddress),ee(),ue.length<=1&&U(L())}catch(Ne){const Me=Ne?.message||"Couldn't return your funds. Please try again.",Ct=/insufficient funds for gas/i.test(Me);Ee(Ct?"Not enough ETH in your embedded wallet to cover gas fees. Complete the deposit instead \u2014 it doesn't require gas.":Me)}finally{de(!1)}},[E,S,N,ue,ee]);i.useEffect(()=>{e||(pe(null),Ee(null),de(!1),X(!1),se("idle"))},[e]),i.useEffect(()=>{if(te!=="idle"){if(te==="awaiting-disconnect"){(!P||!N)&&se("awaiting-reconnect");return}e&&!q&&ue.length>0&&C&&S&&(se("idle"),U("recovery"))}},[te,P,N,e,q,ue,C,S]),i.useEffect(()=>{!A||!e||(C&&S?(Y(!0),!z&&p?.chainId&&p?.tokenAddress&&_(Di(p.chainId,p.tokenAddress,p.tokenSymbol,p.tokenDecimals,p.amount)),U("deposit")):U("provider-login"))},[A,e,W,C,S]);const{assets:Se,loading:ie}=vs({address:N,supportedChains:y.supportedChainIds,fetchBalances:ks,enabled:e&&!!N,refreshInterval:e?5e3:0}),qe=i.useCallback(()=>{Y(!0),U(A?"deposit":P?g?"deposit":"select-token":"connect-wallet")},[A,P,g]),ot=i.useCallback(async()=>{if((!P||!N)&&(await tn(500),!P||!N)){alert("Please connect your wallet first");return}U(g?"deposit":"select-token")},[P,N,g]),Kt=i.useCallback(ae=>{_(ae),U("deposit")},[]),Ft=i.useCallback(()=>{if(_(null),a?.(""),!N){U("connect-wallet");return}U("select-token")},[N,a]),ut=i.useCallback(()=>{t()},[t]);if(i.useEffect(()=>{if(!e){const ae=setTimeout(()=>{A||(U(L()),_(null)),Y(!1)},300);return()=>clearTimeout(ae)}},[e,A,p?.chainId]),i.useEffect(()=>{e&&W==="deposit"&&!z&&!A&&!oe&&!g&&U("select-token")},[e,W,z,A,oe,g]),i.useEffect(()=>{e&&W==="connect-wallet"&&P&&N&&te==="idle"&&U(g?"deposit":"select-token")},[e,W,P,N,te,g]),i.useEffect(()=>{if(!v&&e&&W==="provider-login"&&B&&C&&S&&!V){const ae=setTimeout(()=>{Y(!0),U(P?g?"deposit":"select-token":"connect-wallet")},100);return()=>clearTimeout(ae)}},[v,e,W,B,C,S,P,g,V]),!e)return null;if(W==="recovery")return o.jsx(ji,{isOpen:e,onClose:ut,closeOnBackdropClick:n,deposits:ue,onComplete:ye,onCancel:me,onSkip:Q,onChangeWallet:J,isProcessing:we,error:xe,styles:s});if(W==="provider-login"&&!v)return o.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",justifyContent:"center",padding:"16px",zIndex:50},children:o.jsx("div",{style:{backgroundColor:w?M.cardBg:"white",borderRadius:"9px",padding:"32px 24px",maxWidth:"400px",width:"100%"},children:o.jsx(Ls,{onAuthSuccess:qe,autoTrigger:!0})})});if(W==="connect-wallet")return o.jsx(Na,{isOpen:e,onClose:ut,closeOnBackdropClick:n,onContinue:ot,requiredChainId:I?D:void 0,styles:s});if(W==="select-token")return N?o.jsx(Ra,{isOpen:e,onClose:ut,closeOnBackdropClick:n,onTokenSelect:Kt,walletAddress:N,supportedChainIds:y.supportedChainIds,network:k,prefetchedAssets:ie?null:Se??null,styles:s,dark:w}):(U("connect-wallet"),null);if(W==="deposit"){if(!z&&!g)return null;const ae=!!oe;return o.jsx(Lo,{isOpen:e,onClose:ut,closeOnBackdropClick:n,supportedChains:z?[z.chainId]:y.supportedChainIds??[],styles:s,externalWalletAddress:N,depositBatches:ae?void 0:r,onDepositAmountChange:a,destinationChainId:l,destinationTokenAddress:d,onDepositExecute:u,depositActionLabel:c,nativeChainId:D,sponsorGas:f,preSelectedAsset:z??void 0,escrowOnly:A||ae,escrowTokenAddress:ae?oe.tokenAddress:p?.tokenAddress,escrowAmount:ae?oe.amount:p?.amount,escrowTokenDecimals:ae?oe.tokenDecimals:p?.tokenDecimals,escrowTokenSymbol:ae?oe.tokenSymbol:p?.tokenSymbol,onDepositSuccess:x,onDepositError:h,embeddedWalletAddress:S,onViewAllAssets:g?void 0:Ft})}return null},Wi=e=>i.useContext(m.SpiceFlowProviderContext)?o.jsx(Ni,{...e}):o.jsx("div",{children:"Error: SpiceDeposit must be used within SpiceFlowProvider"}),Pi=({isOpen:e,onClose:t,onChainSelect:n,supportedChains:s,closeOnSelect:r=!0,styles:a})=>{const{theme:l,dark:d,primaryColor:u,dk:c}=m.useSpiceBrand(a),[f,p]=i.useState(""),[g,x]=i.useState(null),[h,b]=i.useState(null),[y,I]=i.useState(!1),[v,D]=i.useState(null),{switchChainAsync:k}=cn.useSwitchChain(),w=i.useMemo(()=>new Set(s||[]),[s]),M=i.useMemo(()=>{if(!s||s.length===0)return[];const C=[];return s.forEach((E,S)=>{if(typeof E!="number")return;const R=m.getChainConfig(E);R&&C.push({id:E.toString(),name:R.displayName,icon:xn[E]||zn,chainId:E,verified:!0,order:S})}),C},[s]);i.useEffect(()=>{g&&!w.has(parseInt(g,10))&&x(null)},[g,w]);const A=i.useMemo(()=>M.filter(C=>C.name.toLowerCase().includes(f.toLowerCase())).sort((C,E)=>C.order-E.order),[M,f]),T=async()=>{if(!g)return;const C=parseInt(g,10);I(!0),D(null);try{await k({chainId:C}),n&&n(g),r&&t()}catch(E){console.error("Failed to switch chain:",E),D(m.sanitizeError(E,"Failed to switch chain."))}finally{I(!1)}},B=!g||y;return o.jsxs(dn,{isOpen:e,onClose:t,title:"Select Chain",styles:a,theme:l,dark:d,children:[o.jsx("div",{style:{padding:"24px 20px"},children:o.jsx(bs,{value:f,onChange:p,ariaLabel:"Search chains",placeholder:"Search chain name, symbol or address",size:"md",dark:d,styles:a,endAdornment:o.jsx("div",{style:{padding:"5px 5px",borderRadius:"3px",fontSize:"13px",backgroundColor:d?c.cardBg:"#E9E9E9",color:d?c.textSecondary:"#485066",fontWeight:500,flexShrink:0},"aria-hidden":"true",children:"\u2318F"})})}),o.jsx("div",{style:{padding:"0 32px 20px",display:"flex",flexDirection:"column",gap:"12px"},children:A.map(C=>{const E=g===C.id,S=h===C.id;return o.jsxs("button",{onClick:()=>x(C.id),onMouseEnter:()=>b(C.id),onMouseLeave:()=>b(null),style:{width:"100%",display:"flex",alignItems:"center",gap:"16px",padding:"8px",borderRadius:"8px",backgroundColor:E?d?`${u}15`:`${u}12`:"transparent",border:E?d?`1px solid ${u}66`:`1px solid ${u}88`:S?d?`1px solid ${u}44`:`1px solid ${u}66`:"1px solid transparent",cursor:"pointer",transition:en.interactive},children:[o.jsx("div",{style:{width:"40px",height:"40px",borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"30px"},children:o.jsx("img",{src:C.icon,alt:C.name,loading:"lazy",decoding:"async",style:{width:"100%",height:"100%",borderRadius:"50%"}})}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px",flex:1},children:[o.jsx("span",{style:{fontFamily:'"IBM Plex Mono", monospace',fontSize:"17px",fontWeight:500,letterSpacing:"0.4px",color:c.textPrimary,textAlign:"left"},children:C.name}),C.verified&&o.jsx("img",{src:ho,alt:"","aria-hidden":"true",loading:"lazy",decoding:"async",width:16,height:16,style:{width:"16px",height:"16px",filter:d?"brightness(0) invert(1)":"none"}})]})]},C.id)})}),o.jsx("div",{style:{padding:"0 25px 25px"},children:o.jsxs(m.Button,{variant:"outline",onClick:T,disabled:B,fullWidth:!0,theme:l,styles:a,dark:d,children:["SELECT",o.jsx(xs.ChevronRight,{size:20})]})})]})},Qo=({isOpen:e,position:t,title:n,items:s,selectedId:r,onSelect:a,portalAttribute:l})=>{const{dark:d,dk:u,primaryColor:c}=m.useSpiceBrand(),[f,p]=i.useState(null),[g,x]=i.useState(!1);return i.useEffect(()=>{if(!e){x(!1);return}const h=requestAnimationFrame(()=>{requestAnimationFrame(()=>x(!0))});return()=>cancelAnimationFrame(h)},[e]),!e||!t||s.length===0?null:Un.createPortal(o.jsxs("div",{[`data-${l}-popover`]:"true",style:{position:"fixed",top:`${t.top}px`,left:`${t.left}px`,opacity:g?1:0,transform:g?"scale(1) translateY(0)":"scale(0.96) translateY(-6px)",transition:`opacity 200ms ${Rt.out}, transform 200ms ${Rt.out}`,backgroundColor:d?u.shell:"#ffffff",borderRadius:"10px",padding:"10px 12px",boxShadow:d?"0 16px 48px rgba(0,0,0,0.45)":"0 12px 32px rgba(0,0,0,0.12)",border:`1px solid ${u.cardBorder}`,minWidth:"220px",zIndex:wn.dropdown,fontFamily:'"IBM Plex Mono", monospace'},children:[o.jsx("div",{style:{marginBottom:"6px"},children:o.jsx("span",{style:{fontSize:"11px",fontWeight:500,color:d?u.textPrimary:"#0e0d0b",textTransform:"uppercase",letterSpacing:"1px"},children:n})}),o.jsx("div",{style:{borderBottom:`1px solid ${u.cardBorder}`,marginBottom:"6px"}}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"2px"},children:s.map(h=>{const b=r===h.id,y=f===h.id;return o.jsxs("button",{onClick:I=>{I.stopPropagation(),a(h.id)},onMouseEnter:()=>p(h.id),onMouseLeave:()=>p(null),style:{display:"flex",alignItems:"center",gap:"8px",padding:"6px 4px",borderRadius:"8px",border:"none",cursor:"pointer",backgroundColor:b?d?u.hoverBg:"#f3f4f6":y?d?u.cardBg:"#f9fafb":"transparent",transition:"background-color 0.15s",width:"100%",fontFamily:'"IBM Plex Mono", monospace'},children:[h.icon&&o.jsx("img",{src:h.icon,alt:h.label,style:{width:"22px",height:"22px",borderRadius:"50%"}}),o.jsx("span",{style:{fontSize:"13px",fontWeight:b?700:500,textTransform:"uppercase",color:d?u.textPrimary:"#0e0d0b",letterSpacing:"0.5px",flex:1,textAlign:"left"},children:h.label}),h.detail&&o.jsx("span",{style:{fontSize:"11px",fontWeight:500,color:u.textSecondary},children:h.detail}),b&&o.jsx(Wo,{color:c,style:{flexShrink:0}})]},h.id)})})]}),document.body)},Vo=({isSuccess:e,type:t,chainName:n,explorerUrl:s,txHash:r,dark:a=!1,successBg:l="#d1fae5",successBorder:d="#6ee7b7",successText:u="#065f46",errorBg:c="#fee2e2",errorBorder:f="#fca5a5",errorText:p="#dc2626",textSecondary:g="#6b7280"})=>o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"14px 16px",borderRadius:"8px",backgroundColor:e?l:c,border:e?`1px solid ${d}`:`1px solid ${f}`},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px"},children:[o.jsx("div",{style:{width:"28px",height:"28px",borderRadius:"50%",backgroundColor:e?"#10b981":"#ef4444",display:"flex",alignItems:"center",justifyContent:"center"},children:e?o.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:o.jsx("path",{d:"M11.6667 3.5L5.25 9.91667L2.33333 7",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):o.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:o.jsx("path",{d:"M10.5 3.5L3.5 10.5M3.5 3.5L10.5 10.5",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),o.jsxs("div",{children:[o.jsx("p",{style:{margin:0,fontSize:"14px",fontWeight:600,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.5px",color:e?u:p},children:e?`${t.toUpperCase()} CONFIRMED`:`${t.toUpperCase()} FAILED`}),o.jsxs("p",{style:{margin:"2px 0 0 0",fontSize:"12px",color:g},children:["on ",n]})]})]}),s&&r&&o.jsxs("a",{href:`${s}/tx/${r}`,target:"_blank",rel:"noopener noreferrer",style:{display:"flex",alignItems:"center",gap:"4px",fontSize:"13px",color:g,textDecoration:"none",whiteSpace:"nowrap"},children:["View on explorer",o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:[o.jsx("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"}),o.jsx("path",{d:"M7.5 1.5H10.5V4.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M5 7L10.5 1.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})]})]})]}),Hs=({isOpen:e,onClose:t,onComplete:n,closeOnComplete:s=!1,type:r,results:a,chainName:l="Network",explorerUrl:d,theme:u,styles:c,dark:f,intentStatus:p,onRetry:g,onNewTx:x,onRetryTx:h,asOverlay:b=!0,isProcessing:y=!1,showStepBreakdown:I=!0})=>{const{theme:v,primaryColor:D,dark:k,dk:w}=m.useSpiceBrand(c,f),M=u||v,[A,T]=i.useState(!1),B=k?w.cardBg:"#ffffff",C=k?"0 4px 20px rgba(0, 0, 0, 0.4)":"0 4px 20px rgba(0, 0, 0, 0.1)",E=k?"0 -4px 8px -2px rgba(0, 0, 0, 0.4)":"0 -4px 8px -2px rgba(0, 0, 0, 0.15)",S=w.textSecondary,R=k?w.textPrimary:"#374151",N=k?w.inputBg:"#f9fafb",P=k?w.inputBorder:"#e5e7eb",H=k?w.inputBg:"#f3f4f6",L=k?w.inputBorder:"#e5e7eb",[W,U]=i.useState(!0),[z,_]=i.useState(null),[V,Y]=i.useState(null),ue=p?.steps.find(de=>de.status==="failed")?.error;i.useEffect(()=>{!e&&!p&&T(!1)},[e,p]);const q=()=>{T(!0),setTimeout(()=>{window.dispatchEvent(new CustomEvent("tx-complete",{detail:{type:r,results:a}})),window.dispatchEvent(new CustomEvent("spiceflow:action",{detail:{type:r,status:"success",results:a}})),n?.(),s&&t()},300)},ee=()=>{U(!W)};if(p){const{steps:de,overallStatus:xe}=p,Ee=xe==="processing",Z=xe==="success",X=xe==="failed",te=de.filter(J=>J.transactionHash)[0],se=de.length>1?de.map(J=>J.chainName).filter(Boolean).join(" and "):l!=="Network"?l:de[0]?.chainName||l,ye=d||(te?m.getExplorerUrl(te.chainId,te.transactionHash||"").replace(/\/tx\/.*$/,""):void 0),Q=o.jsxs(o.Fragment,{children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"16px"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",cursor:"pointer"},onClick:ee,children:[o.jsxs("span",{style:{fontSize:"13px",fontWeight:500,color:S,fontFamily:c?.fontFamily||M.typography.fontFamily},children:[Ee?`Processing ${r.charAt(0).toUpperCase()+r.slice(1)}`:`${r.charAt(0).toUpperCase()+r.slice(1)} results`," "]}),I&&o.jsx(Cn,{color:S,direction:W?"up":"down"})]}),!Ee&&o.jsx("button",{onClick:t,onMouseEnter:()=>_("close"),onMouseLeave:()=>{_(null),Y(null)},onMouseDown:()=>Y("close"),onMouseUp:()=>Y(null),style:{background:V==="close"?k?w.hoverBg:"#f3f4f6":z==="close"?k?w.inputBg:"#f9fafb":"none",border:"none",borderRadius:"4px",cursor:"pointer",padding:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:z==="close"||V==="close"?R:S,transform:V==="close"?"scale(0.9)":z==="close"?"scale(1.1)":"scale(1)",transition:en.interactive},children:o.jsx(Fn,{size:16})})]}),o.jsx("div",{style:{marginBottom:"16px"},children:Ee?o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"20px 16px",borderRadius:"8px",backgroundColor:H,border:`1px solid ${L}`,gap:"12px"},children:[o.jsx(m.Spinner,{size:24,borderWidth:3,color:D}),o.jsxs("div",{children:[o.jsx("p",{style:{margin:0,fontSize:"14px",fontWeight:600,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.5px",color:R},children:"PROCESSING TRANSACTION"}),o.jsxs("p",{style:{margin:"2px 0 0 0",fontSize:"12px",color:S},children:["on ",se]})]})]}):o.jsx(Vo,{isSuccess:Z,type:r,chainName:se,explorerUrl:ye,txHash:te?.transactionHash,dark:k,...k?{successBg:w.successBg,successBorder:w.successBorder,successText:w.successText,errorBg:w.errorBg,errorBorder:w.errorBorder,errorText:w.errorText}:{},textSecondary:S})}),I&&o.jsx("div",{style:{overflow:"hidden",maxHeight:W?"300px":"0px",opacity:W?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease",marginBottom:W?"16px":"0"},children:o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:de.map((J,me)=>{const Se=J.transactionHash?m.getExplorerUrl(J.chainId,J.transactionHash):null;return o.jsxs("div",{style:{padding:"10px 12px",borderRadius:"6px",backgroundColor:N,border:`1px solid ${P}`,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("span",{style:{fontSize:"13px",color:R},children:J.chainName?`On ${J.chainName}`:J.description||`Step ${me+1}`}),o.jsxs("span",{style:{display:"flex",alignItems:"center",gap:"8px",fontSize:"12px",color:J.status==="success"?"#10b981":J.status==="failed"?"#ef4444":S,fontWeight:500},children:[Se&&o.jsx("a",{href:Se,target:"_blank",rel:"noopener noreferrer",style:{color:k?w.infoText:"#2563eb",textDecoration:"none"},onClick:ie=>ie.stopPropagation(),children:"View"}),J.status==="success"?"\u2713":J.status==="failed"?"\u2717":"\u25CB"]})]},me)})})}),!Ee&&o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[X&&g&&o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:g,theme:M,styles:c,dark:k,children:"TRY AGAIN"}),x&&o.jsxs(m.Button,{variant:"outline",fullWidth:!0,onClick:x,theme:M,styles:c,dark:k,children:["NEW ",r.toUpperCase()," \u2192"]})]})]});return b?o.jsxs("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:10,animation:A?"slideDown 0.3s ease-in forwards":"slideUp 0.3s ease-out forwards",pointerEvents:"auto"},children:[o.jsx("div",{style:{backgroundColor:B,borderRadius:"12px 12px 0 0",width:"100%",padding:"18px 24px 24px",boxShadow:E},children:Q}),o.jsx("style",{children:`
31
31
  @keyframes slideUp {
32
32
  from { transform: translateY(100%); }
33
33
  to { transform: translateY(0); }
@@ -36,7 +36,7 @@
36
36
  from { transform: translateY(0); }
37
37
  to { transform: translateY(100%); }
38
38
  }
39
- `})]}):o.jsx("div",{style:{backgroundColor:R,borderRadius:"12px",padding:"24px",width:"100%",boxShadow:v},children:H})}if(!e&&!C||!C&&(!a||a.length===0))return null;const fe=a?a.every(de=>de.success):!1;a&&a.some(de=>!de.success);const be=a?.[0],$=[...a??[]].reverse().find(de=>de.txHash)?.txHash||be?.txHash;return o.jsxs("div",{style:{position:y?"absolute":"relative",bottom:y?0:void 0,left:y?0:void 0,right:y?0:void 0,zIndex:y?10:void 0,animation:y?S?"slideDown 0.3s ease-in forwards":"slideUp 0.3s ease-out forwards":void 0,pointerEvents:"auto",width:"100%"},children:[o.jsx("div",{style:{backgroundColor:R,borderRadius:y?"12px 12px 0 0":"12px",width:"100%",padding:"18px 0 24px",boxShadow:y?A:v},children:o.jsxs("div",{style:{width:"100%",boxSizing:"border-box",padding:"0 24px"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"16px"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",cursor:C?"default":"pointer"},onClick:C?void 0:X,children:[o.jsxs("span",{style:{fontSize:"13px",fontWeight:500,color:N,fontFamily:l?.fontFamily||B.typography.fontFamily},children:[C?`Processing ${r.charAt(0).toUpperCase()+r.slice(1)}`:`${r.charAt(0).toUpperCase()+r.slice(1)} results`," "]}),!C&&I&&o.jsx(vn,{color:N,direction:P?"up":"down"})]}),!C&&o.jsx("button",{onClick:t,onMouseEnter:()=>ae("close"),onMouseLeave:()=>{ae(null),G(null)},onMouseDown:()=>G("close"),onMouseUp:()=>G(null),style:{background:K==="close"?w?b.hoverBg:"#f3f4f6":Q==="close"?w?b.inputBg:"#f9fafb":"none",border:"none",borderRadius:"4px",cursor:"pointer",padding:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:Q==="close"||K==="close"?j:N,transform:K==="close"?"scale(0.9)":Q==="close"?"scale(1.1)":"scale(1)",transition:nn.interactive},children:o.jsx(Mn,{size:16})})]}),o.jsx("div",{style:{marginBottom:"16px",animation:"statusFadeIn 220ms cubic-bezier(0.22, 1, 0.36, 1) both"},children:C?o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"20px 16px",borderRadius:"8px",backgroundColor:V,border:`1px solid ${O}`,gap:"12px"},children:[o.jsx(m.Spinner,{size:24,borderWidth:3,color:M}),o.jsxs("div",{children:[o.jsx("p",{style:{margin:0,fontSize:"14px",fontWeight:600,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.5px",color:j},children:"PROCESSING TRANSACTION"}),o.jsxs("p",{style:{margin:"2px 0 0 0",fontSize:"12px",color:N},children:["on ",c]})]})]}):o.jsx(ir,{isSuccess:fe,type:r,chainName:c,explorerUrl:d,txHash:$,dark:w,...w?{successBg:b.successBg,successBorder:b.successBorder,successText:b.successText,errorBg:b.errorBg,errorBorder:b.errorBorder,errorText:b.errorText}:{},textSecondary:N})},C?"processing":fe?"success":"error"),!C&&I&&a&&a.length>1&&o.jsx("div",{style:{overflow:"hidden",maxHeight:P?"200px":"0px",opacity:P?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease",marginBottom:P?"16px":"0"},children:o.jsx("div",{style:{maxHeight:"180px",overflowY:"auto",display:"flex",flexDirection:"column",gap:"8px"},children:a.map((de,ue)=>o.jsxs("div",{style:{padding:"10px 12px",borderRadius:"6px",backgroundColor:D,border:`1px solid ${z}`,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[o.jsx("span",{style:{fontWeight:600,fontSize:"13px",color:b.textPrimary,fontFamily:'"IBM Plex Mono", monospace'},children:de.asset.symbol}),de.amount&&o.jsx("span",{style:{fontSize:"12px",color:N},children:de.amount})]}),o.jsx("span",{style:{fontSize:"12px",color:de.success?"#10b981":"#ef4444",fontWeight:500},children:de.success?"\u2713":"\u2717"})]},ue))})}),!C&&!fe&&a&&o.jsx("div",{style:{padding:"12px",backgroundColor:b.errorBg,border:`1px solid ${b.errorBorder}`,borderRadius:"8px",marginBottom:"16px"},children:o.jsx("p",{style:{fontSize:"13px",color:b.errorText,margin:0,lineHeight:1.5},children:ie||a.find(de=>!de.success)?.error||`${r.charAt(0).toUpperCase()+r.slice(1)} failed. Please try again.`})}),!C&&o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[!fe&&h&&o.jsxs(m.Button,{variant:"outline",fullWidth:!0,onClick:h,theme:B,styles:l,dark:w,children:["TRY AGAIN ",r.toUpperCase()]}),fe&&o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:U,theme:B,styles:l,dark:w,children:"DONE"})]})]})}),o.jsx("style",{children:`
39
+ `})]}):o.jsx("div",{style:{backgroundColor:B,borderRadius:"12px",padding:"24px",width:"100%",boxShadow:C},children:Q})}if(!e&&!y||!y&&(!a||a.length===0))return null;const oe=a?a.every(de=>de.success):!1;a&&a.some(de=>!de.success);const pe=a?.[0],we=[...a??[]].reverse().find(de=>de.txHash)?.txHash||pe?.txHash;return o.jsxs("div",{style:{position:b?"absolute":"relative",bottom:b?0:void 0,left:b?0:void 0,right:b?0:void 0,zIndex:b?10:void 0,animation:b?A?"slideDown 0.3s ease-in forwards":"slideUp 0.3s ease-out forwards":void 0,pointerEvents:"auto",width:"100%"},children:[o.jsx("div",{style:{backgroundColor:B,borderRadius:b?"12px 12px 0 0":"12px",width:"100%",padding:"18px 0 24px",boxShadow:b?E:C},children:o.jsxs("div",{style:{width:"100%",boxSizing:"border-box",padding:"0 24px"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"16px"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",cursor:y?"default":"pointer"},onClick:y?void 0:ee,children:[o.jsxs("span",{style:{fontSize:"13px",fontWeight:500,color:S,fontFamily:c?.fontFamily||M.typography.fontFamily},children:[y?`Processing ${r.charAt(0).toUpperCase()+r.slice(1)}`:`${r.charAt(0).toUpperCase()+r.slice(1)} results`," "]}),!y&&I&&o.jsx(Cn,{color:S,direction:W?"up":"down"})]}),!y&&o.jsx("button",{onClick:t,onMouseEnter:()=>_("close"),onMouseLeave:()=>{_(null),Y(null)},onMouseDown:()=>Y("close"),onMouseUp:()=>Y(null),style:{background:V==="close"?k?w.hoverBg:"#f3f4f6":z==="close"?k?w.inputBg:"#f9fafb":"none",border:"none",borderRadius:"4px",cursor:"pointer",padding:"4px",display:"flex",alignItems:"center",justifyContent:"center",color:z==="close"||V==="close"?R:S,transform:V==="close"?"scale(0.9)":z==="close"?"scale(1.1)":"scale(1)",transition:en.interactive},children:o.jsx(Fn,{size:16})})]}),o.jsx("div",{style:{marginBottom:"16px",animation:"statusFadeIn 220ms cubic-bezier(0.22, 1, 0.36, 1) both"},children:y?o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"20px 16px",borderRadius:"8px",backgroundColor:H,border:`1px solid ${L}`,gap:"12px"},children:[o.jsx(m.Spinner,{size:24,borderWidth:3,color:D}),o.jsxs("div",{children:[o.jsx("p",{style:{margin:0,fontSize:"14px",fontWeight:600,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.5px",color:R},children:"PROCESSING TRANSACTION"}),o.jsxs("p",{style:{margin:"2px 0 0 0",fontSize:"12px",color:S},children:["on ",l]})]})]}):o.jsx(Vo,{isSuccess:oe,type:r,chainName:l,explorerUrl:d,txHash:we,dark:k,...k?{successBg:w.successBg,successBorder:w.successBorder,successText:w.successText,errorBg:w.errorBg,errorBorder:w.errorBorder,errorText:w.errorText}:{},textSecondary:S})},y?"processing":oe?"success":"error"),!y&&I&&a&&a.length>1&&o.jsx("div",{style:{overflow:"hidden",maxHeight:W?"200px":"0px",opacity:W?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease",marginBottom:W?"16px":"0"},children:o.jsx("div",{style:{maxHeight:"180px",overflowY:"auto",display:"flex",flexDirection:"column",gap:"8px"},children:a.map((de,xe)=>o.jsxs("div",{style:{padding:"10px 12px",borderRadius:"6px",backgroundColor:N,border:`1px solid ${P}`,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[o.jsx("span",{style:{fontWeight:600,fontSize:"13px",color:w.textPrimary,fontFamily:'"IBM Plex Mono", monospace'},children:de.asset.symbol}),de.amount&&o.jsx("span",{style:{fontSize:"12px",color:S},children:de.amount})]}),o.jsx("span",{style:{fontSize:"12px",color:de.success?"#10b981":"#ef4444",fontWeight:500},children:de.success?"\u2713":"\u2717"})]},xe))})}),!y&&!oe&&a&&o.jsx("div",{style:{padding:"12px",backgroundColor:w.errorBg,border:`1px solid ${w.errorBorder}`,borderRadius:"8px",marginBottom:"16px"},children:o.jsx("p",{style:{fontSize:"13px",color:w.errorText,margin:0,lineHeight:1.5},children:ue||a.find(de=>!de.success)?.error||`${r.charAt(0).toUpperCase()+r.slice(1)} failed. Please try again.`})}),!y&&o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},children:[!oe&&h&&o.jsxs(m.Button,{variant:"outline",fullWidth:!0,onClick:h,theme:M,styles:c,dark:k,children:["TRY AGAIN ",r.toUpperCase()]}),oe&&o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:q,theme:M,styles:c,dark:k,children:"DONE"})]})]})}),o.jsx("style",{children:`
40
40
  @keyframes slideUp {
41
41
  from {
42
42
  transform: translateY(100%);
@@ -63,7 +63,7 @@
63
63
  transform: translateY(0);
64
64
  }
65
65
  }
66
- `})]})};function $i(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 Vn=({address:e,supportedChains:t,enabled:n=!0,refetchInterval:s})=>{const r=i.useContext(m.SpiceFlowProviderContext)?.apiUrl||m.RELAYER_API_URL,[a,c]=i.useState([]),[d,u]=i.useState(!1),[l,f]=i.useState(null),[p,g]=i.useState(!1),x=i.useRef(!1),h=i.useRef(!1),y=t?JSON.stringify([...t].sort()):"",C=i.useCallback(async(M=!1)=>{if(!e||!n){c([]),g(!1),x.current=!1;return}if(!h.current){h.current=!0,!x.current&&!M&&u(!0),f(null);try{const w=await fetch(`${r}/wallets/${e}/balance`,{cache:"no-store"});if(!w.ok)throw new Error(`Failed to fetch balance: ${w.status}`);const b=await w.json();if(b.balances&&Array.isArray(b.balances)){const B=b.balances.map(S=>li({receiptToken:typeof S.receiptToken=="string"?S.receiptToken:void 0,tokenName:String(S.tokenName??""),balanceAvailable:String(S.balanceAvailable??"0"),chainTokens:$i(S),decimals:typeof S.decimals=="number"?S.decimals:void 0,balanceUsd:typeof S.balanceUsd=="number"||typeof S.balanceUsd=="string"?S.balanceUsd:null},t)).filter(S=>S!==null);c(B),g(B.length>0),x.current=!0}else c([]),g(!1)}catch(w){const b=w instanceof Error?w.message:"Failed to fetch balance";f(b),console.error("Error fetching Spice assets:",w),x.current||(c([]),g(!1))}finally{u(!1),h.current=!1}}},[e,n,y,r]);i.useEffect(()=>{n&&e&&(x.current=!1,C(!1))},[e,n,y]),i.useEffect(()=>{if(!n||!e||!s)return;const M=setInterval(()=>{C(!0)},s);return()=>clearInterval(M)},[e,n,s,y]);const I=i.useCallback(M=>a.filter(w=>w.chainId===M),[a]),k=i.useCallback(async()=>{await C(!0)},[C]);return{assets:a,loading:d,error:l,hasBalance:p,refetch:k,getAssetsByChain:I}},_i={usdc:1,"usdc.e":1,usdt:1,dai:1,ctusd:1,wbtc:1e5,wcbtc:1e5,cbtc:1e5};function ps(e,t){return E.formatUnits(e,t).replace(/(\.\d*?[1-9])0+$|\.0+$/,"$1")}function fs(e,t,n){return t===n?e:t<n?e*10n**BigInt(n-t):e/10n**BigInt(t-n)}function lr(e,t){const n=t?_i[t.trim().toLowerCase()]??0:0,s=e*n;return s<=0?"$0":s>=1?`$${s.toFixed(3).replace(/0+$/,"").replace(/\.$/,"")}`:`$${s.toFixed(4).replace(/0+$/,"").replace(/\.$/,"")}`}function el(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 tl(e){const t=e.find(n=>T.isSpicenetChainId(n.chainId))?.calls?.[0]?.data;if(!t)return null;try{const n=E.decodeFunctionData({abi:T.spicenetAbi,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 nl(e,t){return!e||e.length!==t.length?!1:e.every((n,s)=>{const r=t[s];return n.token.toLowerCase()!==r.token.toLowerCase()||n.recipient.toLowerCase()!==r.recipient.toLowerCase()?!1:n.recipient.toLowerCase()===T.SPICE_GAS_FEE_RECIPIENT.toLowerCase()?kn(n.amount,r.amount,100n):n.amount===r.amount})}function sl(e,t){const n=e.intents.flatMap(a=>a.batches).filter(a=>{const c=tn(a);return BigInt(a.quotedAmount)>0n||BigInt(a.totalDebit)>0n||c.totalFee>0n}),s=n.filter(a=>a.chainId===t),r=s.length>0?s:n;return r.length===1?r[0]:null}function ol(e){const t=new Map;for(const n of e){if(n.amount<=0n)continue;const s=n.token.toLowerCase(),r=n.recipient.toLowerCase(),a=`${s}:${r}`,c=t.get(a);c?c.amount+=n.amount:t.set(a,{...n})}return[...t.values()]}function cr(e,t){if(!e.token||!e.recipient||e.chainId===null)return null;const n=sl(t,e.chainId);if(!n)return null;const{gasFee:s,bridgeFee:r,spicenetFee:a}=tn(n),c=s+r,d=[{token:e.token.address,recipient:e.recipient,amount:e.receiveAmountRaw}];return c>0n&&d.push({token:e.token.address,recipient:T.SPICE_GAS_FEE_RECIPIENT,amount:c}),a>0n&&d.push({token:e.token.address,recipient:T.SPICE_PLATFORM_FEE_RECIPIENT,amount:a}),ol(d)}function dr(e,t,n){const s=cr(e,t);return!s||nl(tl(n),s)?null:e.buildWithdrawBatches(s)}async function ur(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(r=>T.isSpicenetChainId(r.chainId)))throw new Error("Spice withdrawals must include a Spicenet funding batch before the destination chain batch.");const n=e.token?.address||"",s={userOverride:e.walletAddress,useCustomTransfers:!0};if(e.buildSpicenetBatch){const r=await e.execution.estimate(t,n,0n,{...s,adjustBatchesForEstimate:({feeEstimate:d,chainBatches:u})=>dr(e,d,u)}),a=cr(e,r);a&&(t=e.buildWithdrawBatches(a));const c=r.intents[0]?.batches.find(d=>d.chainId===e.chainId)??r.intents[0]?.batches[0]??null;c&&e.ui.setLockedGasFee(tn(c).totalFee)}else{const r=(await e.execution.estimate(t,n,0n,s)).intents[0]?.batches[0]??null;r&&e.ui.setLockedGasFee(tn(r).totalFee)}await e.execution.execute(t,n,0n,r=>{r.actionId&&r.intentId&&typeof r.intentIndex=="number"&&typeof r.totalSteps=="number"&&(e.executionContextRef.current={actionId:r.actionId,intentId:r.intentId,intentIndex:r.intentIndex,totalSteps:r.totalSteps}),e.ui.setExecutionProgress(r)},void 0,e.buildSpicenetBatch?{...s,adjustBatchesForEstimate:({feeEstimate:r,chainBatches:a})=>dr(e,r,a)}:s)}window.dispatchEvent(new CustomEvent("withdraw-completed")),e.onWithdrawSuccess?.({token:e.token?.symbol||"",amount:e.amount,chainId:e.chainId})}catch(t){const n=t instanceof Error?t.message:"Withdraw failed";e.ui.setExecutionError(n),e.onWithdrawError?.(n)}finally{e.ui.setIsExecuting(!1)}}}async function rl(e){const t=e.executionContextRef.current;if(!t){e.ui.setExecutionProgress(null),await ur(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 m.relayerService.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++){let r="pending",a;try{const c=await m.relayerService.executeStep(t.actionId,t.intentIndex,s,{action:"execute"});c.transactionHash&&(a=c.transactionHash)}catch{}for(let c=0;c<120;c++){if(await sn(Math.min(1e3+c*1e3,5e3)),!e.isMountedRef.current)return;const d=await m.relayerService.checkStepStatus(t.intentId,s);if(!e.isMountedRef.current)return;if(r=d.data.status,d.data.transactionHash&&(a=d.data.transactionHash),r==="success"){e.ui.setExecutionProgress({step:s===t.totalSteps-1?"success":"executing",message:s===t.totalSteps-1?"Transaction successful!":"Executing remaining steps...",txHash:a,actionId:t.actionId,intentId:t.intentId,intentIndex:t.intentIndex,totalSteps:t.totalSteps});break}if(r==="reverted"||r==="error")throw new Error("Withdraw failed");e.ui.setExecutionProgress({step:"executing",message:"Executing remaining steps...",txHash:a,actionId:t.actionId,intentId:t.intentId,intentIndex:t.intentIndex,totalSteps:t.totalSteps})}if(!e.isMountedRef.current)return;if(r!=="success")throw new Error("Withdraw is still processing")}window.dispatchEvent(new CustomEvent("withdraw-completed")),e.onWithdrawSuccess?.({token:e.token?.symbol||"",amount:e.amount,chainId:e.chainId})}catch(n){const s=n instanceof Error?n.message:"Withdraw failed";e.ui.setExecutionError(s),e.onWithdrawError?.(s)}finally{e.ui.setIsExecuting(!1)}}async function al(e){const t=await e.estimate(e.batches,e.tokenAddress,0n,{userOverride:e.userAddress,useCustomTransfers:!0}),n=t.intents.flatMap(r=>r.batches).filter(r=>tn(r).totalFee>0n),s=n.filter(r=>r.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 tn(s).totalFee}const pr='"IBM Plex Mono", monospace',fr='"Helvetica Neue", sans-serif',il=({show:e,position:t,popoverRef:n,spiceAssets:s,dark:r,dk:a})=>{if(!e||!t)return null;const c=r?a.textSecondary:"#71757A",d=r?a.textPrimary:"#0E0D0B",u=s||[];return o.jsxs("div",{ref:n,"data-balance-popover":!0,style:{position:"fixed",top:`${t.top}px`,left:`${t.left}px`,width:"220px",background:r?a.cardBg:"#FFFFFF",border:`1px solid ${r?a.cardBorder:"#D6D6D6"}`,borderRadius:"10px",boxShadow:r?"0 12px 32px rgba(0,0,0,0.32)":"0 12px 28px rgba(15, 23, 42, 0.14)",padding:"10px",zIndex:40},children:[o.jsx("div",{style:{fontFamily:pr,fontSize:"11px",letterSpacing:"0.05em",color:c,marginBottom:"8px"},children:"ALL BALANCES"}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:u.length>0?u.map(l=>{const f=l.displaySymbol||l.receiptTokenName||l.symbol;return o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px",padding:"6px 0"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",minWidth:0},children:[l.logoURI?o.jsx("img",{src:l.logoURI,alt:f,style:{width:"18px",height:"18px",borderRadius:"50%",flexShrink:0}}):o.jsx("div",{style:{width:"18px",height:"18px",borderRadius:"50%",border:`1px solid ${r?a.cardBorder:"#C8C8C8"}`,flexShrink:0}}),o.jsx("span",{style:{fontFamily:fr,fontSize:"13px",color:d,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:f})]}),o.jsx("span",{style:{fontFamily:pr,fontSize:"12px",color:d,flexShrink:0},children:m.formatBalance(l.balanceFormatted)})]},l.receiptTokenId||l.address)}):o.jsx("span",{style:{fontFamily:fr,fontSize:"13px",color:c},children:"No balances"})})]})},ll='"Helvetica Neue", sans-serif',Sn='"IBM Plex Mono", monospace',cl=({show:e,onToggle:t,showCustomAddress:n,setShowCustomAddress:s,customRecipient:r,setCustomRecipient:a,externalAddress:c,recipientAddress:d,destChainName:u,destChainLogo:l,compatibleDestinationChains:f,txDetailsChainSwitchRef:p,onOpenNetworkPopover:g,sourceChainLabel:x,sourceDetailsLogo:h,sourceTokenLabel:y,amount:C,totalSourceDebitDisplay:I,receiveAmountDisplay:k,destTokenSymbol:M,shouldQuoteWithdrawGas:w,estimatingFee:b,feeError:B,displayedGasFee:S,selectedDestToken:F,theme:R,styles:v,dark:A,dk:N})=>{const j=A?N.textSecondary:"#71757A",D=A?N.textPrimary:"#0E0D0B",z=f.length>1,V=n&&r?E.isAddress(r)?m.truncateAddress(r):r:d?m.truncateAddress(d):"\u2014";return o.jsxs(o.Fragment,{children:[o.jsxs("div",{onClick:t,style:{display:"flex",alignItems:"center",gap:"6px",marginBottom:e?"10px":"0",cursor:"pointer",userSelect:"none"},children:[o.jsx("span",{style:{fontSize:"13px",color:j,fontFamily:ll,fontWeight:600},children:"Transaction Details"}),o.jsx(As.ChevronDown,{size:12,color:j,style:{transform:e?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}})]}),e&&o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"7px"},children:[o.jsxs("div",{children:[o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("span",{style:{fontSize:"12px",color:j,fontFamily:Sn,fontWeight:500,letterSpacing:"0.03em"},children:"TO"}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[o.jsx("span",{style:{fontSize:"13px",color:D,fontFamily:Sn,fontWeight:500},children:V}),o.jsx("button",{onClick:()=>{s(O=>!O),!n&&c&&a(c)},style:{background:"none",border:"none",cursor:"pointer",padding:"0",fontSize:"9.5px",fontFamily:Sn,color:j,textDecoration:"underline",fontWeight:600},children:n?"Reset":"Switch"})]})]}),n&&o.jsxs("div",{style:{marginTop:"6px"},children:[o.jsx("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:Sn,fontWeight:700,letterSpacing:0,textTransform:"uppercase"},children:"CAUTION: ENTERING AN INCORRECT ADDRESS WILL RESULT IN LOSS OF FUNDS"}),o.jsx("input",{type:"text",autoComplete:"off",spellCheck:!1,"aria-label":"Recipient address","aria-invalid":r&&!E.isAddress(r)?!0:void 0,"data-spiceflow-focus":!0,value:r,onChange:O=>a(O.target.value),placeholder:"0x...",style:{width:"100%",padding:"8px 10px",borderRadius:"6px",border:`1px solid ${r&&!E.isAddress(r)?A?N.errorBorder:"#fca5a5":A?N.inputBorder:"#d1d5db"}`,backgroundColor:A?N.inputBg:"#f9fafb",color:A?N.inputText:"#111827",fontSize:"12px",fontFamily:Sn,outline:"none",boxSizing:"border-box"}}),r&&!E.isAddress(r)&&o.jsx("span",{style:{fontSize:"11px",color:N.errorText,marginTop:"3px",display:"block"},children:"Invalid address"})]})]}),o.jsx(Pn,{palette:N,labelColor:j,valueColor:D,label:"RECEIVING CHAIN",value:o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"7px"},children:[l&&o.jsx("img",{src:l,alt:u,style:{width:"14px",height:"14px",borderRadius:"50%"}}),o.jsx("span",{style:{fontSize:"13px",color:D,fontWeight:500,fontFamily:Sn,textTransform:"uppercase"},children:u}),o.jsx("button",{ref:p,onClick:O=>{O.stopPropagation(),g(p.current)},style:{background:"none",border:"none",cursor:z?"pointer":"not-allowed",padding:"0",fontSize:"9.5px",fontFamily:Sn,color:j,textDecoration:"underline",fontWeight:600,opacity:z?1:.45},children:"Switch"})]})}),o.jsx(Pn,{palette:N,labelColor:j,valueColor:D,label:"REQUESTED WITHDRAWAL",value:o.jsxs(_s,{logo:h||null,alt:x,primaryText:D,children:[C||"0"," ",y]})}),w&&o.jsx(Pn,{palette:N,labelColor:j,valueColor:D,label:"TOTAL SOURCE DEBIT",value:o.jsxs(_s,{logo:h||null,alt:x,primaryText:D,children:[I," ",y]})}),o.jsx(Pn,{palette:N,labelColor:j,valueColor:D,label:"YOU RECEIVE",value:o.jsxs(_s,{logo:l,alt:u,primaryText:D,gap:"4px",children:[k," ",M]})}),w&&o.jsxs(o.Fragment,{children:[o.jsx(Pn,{palette:N,labelColor:j,label:"EST. GAS FEE",valueColor:B?"#f87171":D,value:b?"Estimating...":B?"Unavailable":S!==null&&F?`${ps(S,F.decimals)} ${F.symbol}`:"Estimating..."}),B&&o.jsx(Wn,{variant:"error",size:"compact",palette:N,fontFamily:v?.fontFamily||R.typography.fontFamily,children:B})]})]})]})},dl=i.memo(cl),_s=({logo:e,alt:t,primaryText:n,gap:s="6px",children:r})=>o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:s},children:[e&&o.jsx("img",{src:e,alt:t,style:{width:"13px",height:"13px",borderRadius:"50%"}}),o.jsx("span",{style:{fontSize:"13px",color:n,fontWeight:500,fontFamily:Sn},children:r})]});function mr(e){const t=new Set(T.getEquivalentAddresses(e).map(n=>n.toLowerCase()));return t.add(e.toLowerCase()),t}const ul=["USDC","USDT","WETH","WBTC"];function eo(e,t){const n=m.getChainConfig(t);if(!n)return;if(n.nativeCurrency.symbol.toUpperCase()===e.toUpperCase())return{address:T.ZERO_ADDRESS,symbol:n.nativeCurrency.symbol,decimals:n.nativeCurrency.decimals,chainId:t};const s=n.supportedTokens?.find(r=>r.symbol.toUpperCase()===e.toUpperCase());if(s)return{address:s.address.toLowerCase(),symbol:s.symbol,decimals:s.decimals,chainId:t}}function yn(e,t,n){const s=m.getChainConfig(t);if(!s)return;if(n!==void 0){const c=Uo(e,n,t);if(c)return{address:c.address.toLowerCase(),symbol:c.symbol,decimals:c.decimals,chainId:t}}const r=mr(e);if([...r].some(c=>T.isNativeToken(c)))return{address:T.ZERO_ADDRESS,symbol:s.nativeCurrency.symbol,decimals:s.nativeCurrency.decimals,chainId:t};const a=s.supportedTokens?.find(c=>r.has(c.address.toLowerCase()));if(a)return{address:a.address.toLowerCase(),symbol:a.symbol,decimals:a.decimals,chainId:t}}function hr(e){const{sourceAsset:t,outputAsset:n,sourceChainId:s,destinationChainId:r,intermediaryCandidates:a=ul}=e;if(_n(t,n))return{strategy:"direct",sourceAsset:t,outputAsset:n,sourceChainId:s,destinationChainId:r,summary:`${t.symbol} fronted directly`};if(yn(t.address,r,s))return{strategy:"direct",sourceAsset:t,outputAsset:n,sourceChainId:s,destinationChainId:r,summary:`${t.symbol} fronted on destination, swapped to ${n.symbol}`};if(yn(n.address,s,r))return{strategy:"source-swap",sourceAsset:t,outputAsset:n,sourceChainId:s,destinationChainId:r,summary:`${t.symbol} \u2192 ${n.symbol} on source chain, then fronted`};for(const c of a){const d=eo(c,s);if(!d||_n(t,d)||_n(n,d))continue;const u=eo(c,r);if(u&&_n(d,u))return{strategy:"intermediary",sourceAsset:t,outputAsset:n,intermediaryAsset:u,sourceChainId:s,destinationChainId:r,summary:`${t.symbol} \u2192 ${c} on source, fronted, then ${c} \u2192 ${n.symbol} on destination`}}throw new m.SpiceflowError("ROUTE_STRATEGY_ERROR",`No viable cross-chain route found from ${t.symbol} (chain ${s}) to ${n.symbol} (chain ${r}). No intermediary asset is available on both chains.`,{sourceAsset:t.symbol,outputAsset:n.symbol,sourceChainId:s,destinationChainId:r,candidatesChecked:a})}async function gr(e){const{route:t,sourceAmount:n,userAddress:s,registry:r,actionCalls:a,slippage:c}=e;async function d(u,l,f,p){const g=r.getVenueForChain(u);if(!g)throw new m.SpiceflowError("NO_VENUE_FOR_CHAIN",`No liquidity venue configured for chain ${u}. Cannot resolve swap ${l} \u2192 ${f}.`,{chainId:u,tokenIn:l,tokenOut:f,amountIn:p.toString()});const x=await g.resolve({type:"swap",tokenIn:l,tokenOut:f,amountIn:p,maxSlippage:c},u,s);if(!x)throw new m.SpiceflowError("NO_LIQUIDITY",`${g.name} returned no quote for ${l} \u2192 ${f} on chain ${u}. No liquidity available for this pair.`,{venue:g.name,chainId:u,tokenIn:l,tokenOut:f,amountIn:p.toString()});return x}switch(t.strategy){case"direct":{const u=yn(t.sourceAsset.address,t.destinationChainId,t.sourceChainId)||t.sourceAsset;if(mr(u.address).has(t.outputAsset.address.toLowerCase()))return{chainBatches:[{chainId:t.destinationChainId,calls:a}],solverFrontToken:u,solverFrontAmount:n,resolvedSwaps:{}};const l=await d(t.destinationChainId,u.address,t.outputAsset.address,n);return{chainBatches:[{chainId:t.destinationChainId,calls:[...l.calls,...a]}],solverFrontToken:u,solverFrontAmount:n,resolvedSwaps:{destinationSwap:l}}}case"source-swap":{const u=yn(t.outputAsset.address,t.sourceChainId,t.destinationChainId);if(!u)throw new m.SpiceflowError("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=yn(t.outputAsset.address,t.destinationChainId,t.destinationChainId);if(!l)throw new m.SpiceflowError("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 f=await d(t.sourceChainId,t.sourceAsset.address,u.address,n);return{chainBatches:[{chainId:t.sourceChainId,calls:f.calls},{chainId:t.destinationChainId,calls:a}],solverFrontToken:l,solverFrontAmount:f.amountOutMinimum,resolvedSwaps:{sourceSwap:f}}}case"intermediary":{if(!t.intermediaryAsset)throw new m.SpiceflowError("ROUTE_STRATEGY_ERROR","Intermediary strategy requires an intermediary asset but none was provided in the route plan.",{strategy:t.strategy});const u=yn(t.intermediaryAsset.address,t.sourceChainId,t.destinationChainId);if(!u)throw new m.SpiceflowError("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 d(t.sourceChainId,t.sourceAsset.address,u.address,n),f=await d(t.destinationChainId,t.intermediaryAsset.address,t.outputAsset.address,l.amountOutMinimum);return{chainBatches:[{chainId:t.sourceChainId,calls:l.calls},{chainId:t.destinationChainId,calls:[...f.calls,...a]}],solverFrontToken:t.intermediaryAsset,solverFrontAmount:l.amountOutMinimum,resolvedSwaps:{sourceSwap:l,destinationSwap:f}}}default:throw new m.SpiceflowError("ROUTE_STRATEGY_ERROR",`Unknown route strategy: ${t.strategy}`,{strategy:t.strategy})}}const pl=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,styles:s,onWithdrawExecute:r,withdrawActionLabel:a,onWithdrawSuccess:c,onWithdrawError:d,autoCloseDelay:u,availableTokens:l,buildSpicenetBatch:f})=>{const p=i.useContext(m.SpiceFlowProviderContext);if(!p)return o.jsx("div",{children:"Error: SpiceWithdraw must be used within SpiceFlowProvider"});const g=p.mode||"7702",x=g==="presign"||g==="ondemand",h=p.supportedChainIds,y=p.allowedTokens,C=p.isWhitelistGateActive,I=!0,{theme:k,dark:M,dk:w}=m.useSpiceBrand(s),b=p.network,B=()=>x?"select":"provider-login",[S,F]=i.useState(B()),[R,v]=i.useState(!1),[A,N]=i.useState(null),[j,D]=i.useState(null),[z,V]=i.useState(""),[O,P]=i.useState(!1),[W,Q]=i.useState(!1),[ae,K]=i.useState(!1),[G,ie]=i.useState(!1),[U,X]=i.useState(""),[fe,be]=i.useState(!0),$=i.useRef(null),de=i.useRef(null),ue=i.useRef(null),Ie=i.useRef(null),[_,L]=i.useState(null),[J,oe]=i.useState(null),[ye,H]=i.useState(null),{isReady:Y,isAuthenticated:xe}=m.useWallet(),re=p?.embeddedWalletAddress,{address:Be,chainId:Xe}=Xt.useAccount(),[et,Ct]=i.useState(!1),[bt,me]=i.useState(null),[Re,ze]=i.useState(null),je=i.useRef(null),rt=i.useRef(!0),Bt=i.useRef(null);i.useEffect(()=>(rt.current=!0,()=>{rt.current=!1}),[]);const{execute:tt,estimate:Z}=jn(),[Ke,nt]=i.useState(null),[wt,De]=i.useState(null),[Jt,$e]=i.useState(!1),[Dt,le]=i.useState(null),{assets:Te,loading:ke}=Vn({address:re,enabled:e&&!!re,refetchInterval:3e4}),Me=i.useMemo(()=>{if(C)return[];if(!y||y.length===0)return Te;const te=new Set(y.map(ee=>ee.toLowerCase()));return(Te||[]).filter(ee=>[ee.symbol,ee.displaySymbol,ee.receiptTokenName].some(ve=>typeof ve=="string"&&te.has(ve.toLowerCase())))},[Te,y,C]),kt=i.useMemo(()=>[...new Set([...h??[],...Object.keys(l??{}).map(Number),...(Me||[]).map(te=>te.chainId),...(Me||[]).flatMap(te=>Object.keys(te.chainTokens??{}).map(ee=>{const[,ve]=ee.split(":"),qe=Number(ve);return Number.isFinite(qe)?qe:null}).filter(ee=>ee!==null))])].filter(te=>m.getChainConfig(te)?.network===b),[h,l,Me,b]),lt=i.useMemo(()=>{if(l)return l;const te={};for(const ee of Me||[]){const ve=Object.entries(ee.chainTokens??{});if(ve.length>0){for(const[qe,ut]of ve){const[gt,Ot,Je]=qe.split(":");if(gt!=="evm"||!Ot||!Je)continue;const Ne=Number(Ot);if(!Number.isFinite(Ne))continue;const Ge=Je.startsWith("0x")?Je.toLowerCase():`0x${Je.toLowerCase()}`,He=m.getChainConfig(Ne)?.supportedTokens?.find(Ve=>m.addressesEqual(Ve.address,Ge));He&&Hs(ee,Ge,Ne)&&(te[Ne]||(te[Ne]=[]),te[Ne].find(Ve=>m.addressesEqual(Ve.address,Ge))||te[Ne].push({address:Ge,symbol:He?.symbol||ut?.name||ee.symbol,name:He?.name||ut?.name||ee.displayName||ee.name||ee.symbol,decimals:He?.decimals??ut?.decimals??ee.decimals,logoURI:He?.logo||ee.logoURI}))}continue}te[ee.chainId]||(te[ee.chainId]=[]),te[ee.chainId].find(qe=>m.addressesEqual(qe.address,ee.address))||te[ee.chainId].push({address:ee.address,symbol:ee.symbol,name:ee.displayName||ee.name||ee.symbol,decimals:ee.decimals,logoURI:ee.logoURI})}return te},[l,Me]),Wt=i.useCallback((te,ee)=>{if(!te||!ee)return null;const ve=$n(te,ee),qe=Object.entries(te.chainTokens??{}).flatMap(([He,Ve])=>{const ne=Nn(He);return ne?.chainId===ee?[{parsed:ne,detail:Ve}]:[]}),ut=lt?.[ee]||[],gt=He=>ut.find(Ve=>m.addressesEqual(Ve.address,He))??null,Ot=He=>{const Ve=m.getChainConfig(ee)?.supportedTokens?.find(Se=>m.addressesEqual(Se.address,He));if(!Ve||!Hs(te,He,ee))return null;const ne=qe.find(({parsed:Se})=>m.addressesEqual(Se.address,He));return ne?{address:ne.parsed.address,symbol:Ve.symbol,name:Ve.name||ne.detail?.name||te.displayName||te.name||te.symbol,decimals:Ve.decimals,logoURI:Ve.logo||te.logoURI}:null};for(const He of ve){const Ve=gt(He);if(Ve)return Ve;const ne=Ot(He);if(ne)return ne}const Je=ln(te,ee);if(Je){const He=gt(Je);if(He)return He;const Ve=Ot(Je);if(Ve)return Ve}const Ne=yn(te.address,ee,te.chainId);return Ne?gt(Ne.address)||(ut.length>0?null:{address:Ne.address,symbol:Ne.symbol||te.symbol,name:te.displayName||te.name||te.symbol,decimals:Ne.decimals??te.decimals,logoURI:te.logoURI}):null},[lt]),we=i.useMemo(()=>{if(!A)return null;const te=A.receiptTokenId||`${A.chainId}:${A.address.toLowerCase()}`;return Me.find(ee=>(ee.receiptTokenId||`${ee.chainId}:${ee.address.toLowerCase()}`)===te)||A},[A,Me]),Ee=i.useMemo(()=>{if(!we)return[];const te=Object.keys(we.chainTokens??{}).map(ee=>Nn(ee)?.chainId??null).filter(ee=>ee!==null);return Array.from(new Set([...te,we.chainId,...kt].filter(Number.isFinite))).filter(ee=>ee!==1&&m.getChainConfig(ee)?.network===b&&Wt(we,ee)!==null)},[we,kt,Wt,b]),jt=i.useMemo(()=>{if(!we||typeof window>"u")return null;const te=`spiceflow:withdraw-chain:${we.receiptTokenId||we.address.toLowerCase()}`,ee=window.localStorage.getItem(te),ve=ee?Number(ee):null;return ve!==null&&Number.isFinite(ve)&&Ee.includes(ve)?ve:null},[we,Ee]),yt=i.useMemo(()=>we?jt!==null?jt:Xe&&Ee.includes(Xe)?Xe:we.chainId&&Ee.includes(we.chainId)?we.chainId:Ee[0]??kt[0]??null:kt[0]??null,[we,jt,Xe,Ee,kt]),ge=i.useMemo(()=>Wt(we,j),[Wt,we,j]);i.useEffect(()=>{!Me?.length||we||N(Me[0])},[I,Me,we]),i.useEffect(()=>{!we||(j===null||!Ee.includes(j))&&D(yt)},[I,we,j,yt,Ee]),i.useEffect(()=>{if(!O&&!W&&!ae)return;const te=ee=>{const ve=ee.target;O&&!$.current?.contains(ve)&&!de.current?.contains(ve)&&!ve?.closest?.("[data-network-popover]")&&P(!1),W&&!ue.current?.contains(ve)&&!ve?.closest?.("[data-token-popover]")&&Q(!1),ae&&!Ie.current?.contains(ve)&&!ve?.closest?.("[data-balance-trigger]")&&K(!1)};return document.addEventListener("mousedown",te),()=>document.removeEventListener("mousedown",te)},[O,W,ae]);const Ht=i.useCallback(te=>{if(!te||Ee.length<=1)return;const ee=te.getBoundingClientRect(),ve=220,qe=16;L({top:ee.bottom+8,left:Math.min(Math.max(qe,ee.right-ve),window.innerWidth-ve-qe)}),P(ut=>!ut)},[Ee.length]),It=i.useCallback(()=>be(te=>!te),[]);i.useEffect(()=>{if(!we||j===null||typeof window>"u")return;const te=`spiceflow:withdraw-chain:${we.receiptTokenId||we.address.toLowerCase()}`;window.localStorage.setItem(te,String(j))},[we,j]);const ct=G&&U&&E.isAddress(U)?U:Be||re,Le=we?.balanceFormatted??0,Rt=i.useCallback(te=>{if(!te)return;const ee=te.getBoundingClientRect();H({top:ee.bottom+8,left:ee.right-220}),K(!0)},[]),st=we?.displaySymbol||we?.receiptTokenName||we?.symbol||"spiceUSDC",Zt=we?.displayChainName||"Spicenet",Pt=Ns,Gt=Ns,Ye=we?.receiptTokenDecimals??we?.decimals,At=we?fs(we.balance,we.decimals,Ye??we.decimals):0n,Mt=i.useMemo(()=>{if(!ge||!Ye)return 0n;try{return E.parseUnits(z||"0",Ye)}catch{return 0n}},[z,ge,Ye]),dt=i.useMemo(()=>!ge||!Ye?0n:fs(Mt,Ye,ge.decimals),[ge,Ye,Mt]),pe=i.useMemo(()=>{const te=wt??Ke;return!te||te<=0n||!ge||!Ye?0n:fs(te,ge.decimals,Ye)},[wt,Ke,ge,Ye]),We=i.useMemo(()=>Mt+pe,[Mt,pe]),Ze=wt??Ke,vt=i.useCallback(te=>{if(!j||!ge)return[];if(Mt===0n||dt===0n||!ct)return[];const ee=Array.isArray(te)?te.filter(gt=>gt.amount>0n):[{token:ge.address,recipient:ct,amount:te??dt}],ve=ee.reduce((gt,Ot)=>gt+Ot.amount,0n);if(ve<=0n)return[];const qe={chainId:j,calls:[],tokenTransfers:ee.map(gt=>({from:"escrow",to:gt.recipient,token:gt.token,amount:gt.amount}))};if(!f)return[qe];const ut=f({destinationChainId:j,deliveryToken:ge.address,deliveryAmount:ve,deliveryRecipient:ct,deliveryTransfers:ee,requestTimestampMs:Bt.current??Date.now()});return ut?[ut,qe]:[qe]},[I,j,ge,Mt,dt,ct,f]),zt=i.useMemo(()=>vt(),[vt]),Ft=i.useMemo(()=>el(zt,ge?.address),[zt,ge?.address]),Fe=i.useRef(null),Ut=i.useRef(0);i.useEffect(()=>{let te=!1;if(!e||x||et||!ge||!j||!re||Mt===0n){Fe.current=null,nt(null),le(null),$e(!1);return}if(zt.length===0){Fe.current=null,nt(null),$e(!0);return}if(!Ft){Fe.current=null,nt(null),le(null),$e(!1);return}if(Fe.current===Ft)return;Fe.current=Ft;const ee=++Ut.current;return(async()=>{$e(!0),le(null);try{const ve=await al({batches:zt,tokenAddress:ge.address,chainId:j,userAddress:re,estimate:Z});if(te||ee!==Ut.current)return;nt(ve)}catch(ve){if(te||ee!==Ut.current)return;Fe.current=null,nt(null),le(ve instanceof Error?ve.message:"Failed to estimate gas fee")}finally{!te&&ee===Ut.current&&$e(!1)}})(),()=>{te=!0}},[e,x,et,ge,re,Z,Mt,zt,Ft]),i.useEffect(()=>{et||De(null)},[et,z,j,ge?.address]),i.useEffect(()=>{if(et||!Ke||Ke<=0n||!ge||!Ye||We<=At)return;const te=fs(Ke,ge.decimals,Ye),ee=At-te;ee<=0n||V(ps(ee,Ye))},[Ke,et,ge,Ye,At,We]);const St=i.useCallback(()=>{v(!0),F("select")},[I]),Tt=i.useCallback(()=>{t()},[t]),_e=i.useRef(null);_e.current={batches:zt,walletAddress:re,recipient:ct,token:ge,chainId:j,amount:z,receiveAmountRaw:dt,gasFee:Ke,isNon7702:x,buildWithdrawBatches:vt,execution:{estimate:Z,execute:tt},ui:{setIsExecuting:Ct,setExecutionError:me,setExecutionProgress:ze,setLockedGasFee:De},executionContextRef:je,isMountedRef:rt,onWithdrawExecute:r,onWithdrawSuccess:c,onWithdrawError:d,buildSpicenetBatch:f};const Ue=i.useCallback(()=>(Bt.current=Date.now(),ur(_e.current)),[]),at=i.useCallback(()=>(Bt.current=Date.now(),rl(_e.current)),[]);if(i.useEffect(()=>{if(!e){const te=setTimeout(()=>{F(B()),v(!1),N(null),D(null),V(""),P(!1),Q(!1),ie(!1),X(""),Ct(!1),me(null),ze(null),je.current=null},300);return()=>clearTimeout(te)}},[e,x]),i.useEffect(()=>{if(!x&&e&&S==="provider-login"&&Y&&xe&&re&&!R){const te=setTimeout(()=>{v(!0),F("select")},100);return()=>clearTimeout(te)}},[x,e,S,Y,xe,re,R,I]),!e)return null;if(S==="provider-login"&&!x)return o.jsx(Js,{onAuthSuccess:St,autoTrigger:!0});if(S==="select"&&I){const te=parseFloat(z)||0,ee=Ye?ps(We,Ye):z||"0",ve=parseFloat(ee)||0,qe=pe>0n&&pe>=At,ut=qe||ve>0&&ve>Le,gt=(j?m.getChainConfig(j):null)?.displayName||"Network",Ot=j?wn[j]||Ln:null,Je=ge?.symbol||"\u2014",Ne=st,Ge=ge?ps(dt,ge.decimals):"0",He=lr(te,ge?.symbol||we?.symbol),Ve=lr(parseFloat(Ge)||0,ge?.symbol||we?.symbol),ne=!G||!U||E.isAddress(U),Se=!x&&te>0&&ge!==null,Et=!Se||Ke!==null&&!Jt&&!Dt,xt=Rn(st)&&te>0&&te<on,pt=te>0&&!xt&&!ut&&A!==null&&j!==null&&ge!==null&&ct&&ne&&Et&&dt>0n,Lt=!pt,Qt=A===null?"NO BALANCE":qe?"BALANCE BELOW FEE":te===0?"ENTER AMOUNT":xt?`MINIMUM ${on}`:ut?"INSUFFICIENT BALANCE":Se&&!Et?Dt?"GAS UNAVAILABLE":"ESTIMATING GAS":Se&&dt===0n?"AMOUNT TOO SMALL":"WITHDRAW",Nt=!!Re&&(Re.step==="success"||Re.step==="error"),ft=o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"5px"},children:[o.jsx("img",{src:Xs,alt:"","aria-hidden":"true",style:{width:"13px",height:"13px",flexShrink:0,...M?{filter:"invert(0.6)"}:{}}}),o.jsx("p",{style:{fontSize:"13px",color:M?w.textSecondary:"#979AA0",margin:"0",lineHeight:"1.4",fontFamily:'"Helvetica Neue", sans-serif'},children:"Withdraw collateral from your account to 10+ EVM blockchains."})]}),Ae='"Helvetica Neue", sans-serif',mt='"IBM Plex Mono", monospace',ht=s?.primaryColor||k.colors.primary,q=M?w.cardBg:"#E9E9E9",se=M?w.cardBorder:"#C6C6C6",he=M?w.textSecondary:"#7D7C7B",ce=M?w.textSecondary:"#71757A",Oe=M?w.textPrimary:"#0E0D0B",Qe=M?w.cardBorder:"#C5C5C4",qt=M?"rgba(255,255,255,0.08)":"#D4D3D3",Kt=170,$t=Ne.length>8?"14px":Ne.length>6?"16px":"18px",pn=Je.length>8?"14px":Je.length>6?"16px":"18px",_t=402,fn=Pe=>o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("span",{style:{fontFamily:Ae,fontSize:"17px",fontWeight:500,color:he,lineHeight:"24px"},children:Pe}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px",fontFamily:Ae,fontSize:"13px",fontWeight:500,color:ce,lineHeight:"16px"},children:["Balance:"," ",ke?"...":m.formatBalance(Le),o.jsx("button",{type:"button","data-balance-trigger":!0,onClick:ot=>{ot.stopPropagation(),Rt(ot.currentTarget)},style:{width:"15px",height:"15px",borderRadius:"999px",border:"1px solid #EA4B4B",color:"#EA4B4B",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:"9px",fontWeight:500,lineHeight:1,boxSizing:"border-box",background:"transparent",padding:0,cursor:"pointer"},children:o.jsx("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"1.5px"},children:[0,1,2].map(ot=>o.jsx("span",{style:{width:"1.75px",height:"1.75px",borderRadius:"999px",backgroundColor:"#EA4B4B",display:"block"}},ot))})})]})]});return o.jsx(hn,{isOpen:!0,onClose:Tt,title:"Withdraw",subtitle:ft,styles:s,theme:k,dark:M,maxWidth:"486px",footerLinkText:"Spicenet accounts \u2192",overlayDimmed:!1,closeOnBackdropClick:n,overlayContent:Nt?o.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",justifyContent:"flex-end",pointerEvents:"none",zIndex:20},children:o.jsx("div",{style:{pointerEvents:"auto"},children:o.jsx($s,{type:"withdraw",isOpen:!0,isProcessing:et,onRetryTx:()=>{at()},onNewTx:()=>{ze(null),V(""),me(null),je.current=null},onClose:()=>{ze(null),me(null),Ct(!1),je.current=null},onComplete:()=>{ze(null),me(null),Ct(!1),je.current=null},results:[{asset:{symbol:ge?.symbol||"Token",address:ge?.address||""},txHash:Re?.txHash||"",success:Re?.step==="success",error:Re?.error,amount:z}],chainName:j?m.getChainName(j):"Network",explorerUrl:j?m.getExplorerUrl(j,"").replace(/\/tx\/.*$/,""):void 0,theme:k})})}):null,children:o.jsxs("div",{style:{width:`${_t}px`,margin:"0 auto",padding:"0 0 4px 0",position:"relative"},children:[o.jsx(il,{show:ae,position:ye,popoverRef:Ie,spiceAssets:Me,dark:M,dk:w}),o.jsxs("div",{style:{marginTop:"16px",marginBottom:"16px",display:"flex",flexDirection:"column",gap:"16px"},children:[o.jsxs("div",{style:{backgroundColor:q,border:`1px solid ${se}`,borderRadius:"7px",padding:"14px 16px 12px 16px",minHeight:"138px",display:"flex",flexDirection:"column",gap:"6px",position:"relative"},children:[fn("Source"),o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"12px",flex:1},children:[o.jsxs("div",{style:{flex:1,minWidth:0,alignSelf:"flex-start",paddingTop:"4px"},children:[o.jsx(An,{element:"input",ariaLabel:"Withdraw amount",ariaInvalid:ut,dataSpiceflowFocus:!0,value:z,onChange:Pe=>{const ot=Pe.target.value;if(ot===""){V("");return}/^\d*\.?\d*$/.test(ot)&&V(m.parseNumericInput(ot.startsWith(".")?`0${ot}`:ot,Ye??A?.decimals))},placeholder:"0.0",fontFamily:Ae,color:ut?"#ef4444":z?Oe:"#A8A8A7",lineHeight:"0.95",maxFontSize:54,minFontSize:32,style:{width:"100%"}}),o.jsx("div",{style:{fontSize:"12px",fontWeight:500,color:ce,fontFamily:Ae,marginTop:"10px"},children:He})]}),o.jsx("div",{style:{width:`${Kt}px`,flexShrink:0},children:o.jsxs("div",{style:{backgroundColor:"transparent",border:`1px solid ${Qe}`,borderRadius:"8px",overflow:"hidden",width:"100%",display:"flex",flexDirection:"column",boxSizing:"border-box"},children:[o.jsxs("div",{ref:ue,onClick:Pe=>{if(Pe.stopPropagation(),!W&&ue.current){const ot=ue.current.getBoundingClientRect(),Yt=220,mn=16;oe({top:ot.bottom+8,left:Math.min(Math.max(mn,ot.right-Yt),window.innerWidth-Yt-mn)})}Q(ot=>!ot)},style:{display:"flex",alignItems:"center",gap:"6px",padding:"9px 10px 8px 10px",cursor:"pointer"},children:[o.jsx("img",{src:Pt,alt:Ne,style:{width:"24px",height:"24px",borderRadius:"50%"}}),o.jsx("span",{style:{fontSize:$t,fontWeight:500,color:Oe,lineHeight:"1.3",fontFamily:Ae,flex:1,minWidth:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",letterSpacing:0},children:Ne}),o.jsx(vn,{size:15,color:Oe,strokeWidth:2.25})]}),o.jsx(ar,{isOpen:W,position:J,title:"SELECT TOKEN",portalAttribute:"token",items:(Me||[]).map(Pe=>({id:Pe.receiptTokenId||Pe.address,label:Pe.displaySymbol||Pe.receiptTokenName||Pe.symbol,icon:Ns,detail:m.formatBalance(Pe.balanceFormatted)})),selectedId:we?.receiptTokenId||we?.address||null,onSelect:Pe=>{const ot=(Me||[]).find(Yt=>(Yt.receiptTokenId||Yt.address)===Pe);ot&&(N(ot),V("")),Q(!1)}}),o.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"5px 10px",backgroundColor:qt,borderTop:`1px solid ${Qe}`},children:o.jsx("span",{style:{fontSize:"11px",fontWeight:400,color:Oe,fontFamily:Ae,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textTransform:"uppercase"},children:Zt})})]})})]}),o.jsxs("div",{style:{minHeight:"18px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[ut?o.jsx("span",{style:{fontSize:"12px",color:w.errorText,fontFamily:Ae,fontWeight:500},children:qe?"Balance is below the estimated fee":"Insufficient Balance"}):o.jsx("span",{}),o.jsx("div",{style:{display:"flex",justifyContent:"flex-end",gap:"0px",minHeight:"32px",marginRight:"-9px"},children:[0,25,50,75,100].map((Pe,ot)=>{const Yt=ot===4,mn=Pe/100,ks=parseFloat(z)||0,Gn=Le>0&&Math.abs(ks/Le*100-Pe)<1;return o.jsx("button",{type:"button","aria-label":`Set amount to ${Pe}%`,"aria-pressed":Gn,onClick:()=>{const vs=Le*Pe/100,Tn=A?.decimals??6,On=Math.floor(vs*10**Tn)/10**Tn;V(Pe===0?"":On>0?m.formatDecimalInput(On,Tn):"")},title:`${Pe}%`,disabled:Le===0,"data-spiceflow-focus":!0,style:{width:"32px",height:"32px",padding:"9px",border:"none",backgroundColor:"transparent",cursor:Le===0?"not-allowed":"pointer",opacity:Gn?1:.5,transition:"opacity 0.15s ease",display:"flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box"},children:o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",children:[o.jsx("circle",{cx:"7",cy:"7",r:"6.84375",fill:Yt?ht:"none",stroke:Yt?ht:M?"#4a5568":"#3C3E42",strokeWidth:"0.3125"}),!Yt&&mn>0&&o.jsx("path",{d:`M 7 7 L 7 0.15625 A 6.84375 6.84375 0 ${mn>.5?1:0} 1 ${7+6.84375*Math.sin(mn*2*Math.PI)} ${7-6.84375*Math.cos(mn*2*Math.PI)} Z`,fill:M?w.textSecondary:"#3C3E42"})]})},Pe)})})]})]}),o.jsxs("div",{style:{backgroundColor:q,border:`1px solid ${se}`,borderRadius:"7px",padding:"14px 16px 12px 16px",minHeight:"138px",display:"flex",flexDirection:"column",gap:"6px"},children:[fn("Destination"),o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"12px",flex:1},children:[o.jsxs("div",{style:{flex:1,minWidth:0,alignSelf:"flex-start",paddingTop:"4px"},children:[o.jsx(An,{element:"div",value:Ge,title:Ge,fontFamily:Ae,color:z?Oe:"#A8A8A7",lineHeight:"0.95",maxFontSize:54,minFontSize:32,overflow:"wrap"}),o.jsx("div",{style:{fontSize:"12px",fontWeight:500,color:ce,fontFamily:Ae,marginTop:"10px"},children:Ve})]}),o.jsxs("div",{style:{width:`${Kt}px`,flexShrink:0,display:"flex",flexDirection:"column",alignItems:"stretch",gap:"8px"},children:[o.jsxs("div",{style:{backgroundColor:"transparent",border:`1px solid ${Qe}`,borderRadius:"8px",overflow:"hidden",width:"100%",display:"flex",flexDirection:"column",boxSizing:"border-box"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px",padding:"9px 10px 8px 10px"},children:[o.jsx("img",{src:ge?.logoURI||Fa,alt:Je,style:{width:"24px",height:"24px",borderRadius:"50%"}}),o.jsx("span",{style:{fontSize:pn,fontWeight:500,color:Oe,lineHeight:"1.3",fontFamily:Ae,flex:1,minWidth:0,letterSpacing:0},children:Je})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"5px 10px",backgroundColor:qt,borderTop:`1px solid ${Qe}`},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[Ot&&o.jsx("img",{src:Ot,alt:gt,style:{width:"13px",height:"13px",borderRadius:"50%",flexShrink:0}}),o.jsx("span",{style:{fontSize:"11px",fontWeight:400,color:Oe,fontFamily:Ae,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textTransform:"uppercase"},children:gt})]}),o.jsx("button",{ref:$,onClick:Pe=>{Pe.stopPropagation(),Ht($.current)},style:{background:"none",border:"none",cursor:Ee.length>1?"pointer":"not-allowed",padding:"0 0 0 8px",fontSize:"9.5px",fontFamily:mt,color:ce,textDecoration:"underline",fontWeight:600,opacity:Ee.length>1?1:.45},children:"Switch"}),o.jsx(ar,{isOpen:O,position:_,title:"SELECT NETWORK",portalAttribute:"network",items:Ee.map(Pe=>{const ot=m.getChainConfig(Pe);return{id:String(Pe),label:ot?.displayName||String(Pe),icon:wn[Pe]||Ln}}),selectedId:j!==null?String(j):null,onSelect:Pe=>{D(Number(Pe)),P(!1)}})]})]}),o.jsx("div",{style:{minHeight:"14px"}})]})]})]})]}),o.jsxs("div",{style:{marginBottom:k.spacing.sm},children:[o.jsx(dl,{show:fe,onToggle:It,showCustomAddress:G,setShowCustomAddress:ie,customRecipient:U,setCustomRecipient:X,externalAddress:Be,recipientAddress:ct,destChainName:gt,destChainLogo:Ot,compatibleDestinationChains:Ee,txDetailsChainSwitchRef:de,onOpenNetworkPopover:Ht,sourceChainLabel:Zt,sourceDetailsLogo:Gt,sourceTokenLabel:Ne,amount:z,totalSourceDebitDisplay:ee,receiveAmountDisplay:Ge,destTokenSymbol:Je,shouldQuoteWithdrawGas:Se,estimatingFee:Jt,feeError:Dt,displayedGasFee:Ze,selectedDestToken:ge,theme:k,styles:s,dark:M,dk:w}),bt&&o.jsx(Wn,{variant:"error",size:"compact",palette:w,fontFamily:s?.fontFamily||k.typography.fontFamily,style:{marginBottom:"12px"},children:bt}),o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:()=>{pt&&Ue()},disabled:Lt||et,theme:k,dark:M,styles:s,style:{marginTop:"8px"},children:et?"EXECUTING...":Qt})]})]})})}return null},fl=pl,ml=({options:e,selectedIndex:t,onSelect:n,primaryColor:s,dark:r=!1,textPrimary:a="#111827",textSecondary:c="#6b7280",trackColor:d})=>{const u=e.length-1,l=d||(r?"#3a3a3a":"#d1d5db"),f=r?"4px":"50%",p=r?"none":"2px solid white",g=r?"none":`0 0 0 1px ${s}`;return o.jsxs("div",{style:{width:"100%",userSelect:"none"},children:[o.jsxs("div",{style:{position:"relative",paddingBottom:"4px"},children:[o.jsx("div",{style:{position:"absolute",top:"50%",left:0,right:0,height:"4px",background:l,borderRadius:"2px",transform:"translateY(-50%)",pointerEvents:"none"}}),o.jsx("div",{style:{position:"absolute",top:"50%",left:0,width:`${t/u*100}%`,height:"4px",background:s,borderRadius:"2px",transform:"translateY(-50%)",pointerEvents:"none",transition:"width 0.15s ease"}}),o.jsx("input",{type:"range","aria-label":"Lock duration","aria-valuetext":e[t]?.label,"data-spiceflow-focus":!0,min:0,max:u,step:1,value:t,onChange:x=>n(Number(x.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}})]}),o.jsx("div",{style:{display:"flex",justifyContent:"space-between",marginTop:"6px"},children:e.map((x,h)=>o.jsxs("div",{onClick:()=>n(h),style:{display:"flex",flexDirection:"column",alignItems:h===0?"flex-start":h===u?"flex-end":"center",cursor:"pointer",flex:1},children:[o.jsx("span",{style:{fontSize:"12px",fontWeight:h===t?700:400,color:h===t?a:c,whiteSpace:"nowrap",transition:"color 0.15s, font-weight 0.15s"},children:x.label}),x.highlight&&o.jsx("span",{style:{fontSize:"10px",color:c,whiteSpace:"nowrap"},children:"(most common)"})]},h))}),o.jsx("style",{children:`
66
+ `})]})};function Ui(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 Qn=({address:e,supportedChains:t,enabled:n=!0,refetchInterval:s})=>{const r=i.useContext(m.SpiceFlowProviderContext)?.apiUrl||m.RELAYER_API_URL,[a,l]=i.useState([]),[d,u]=i.useState(!1),[c,f]=i.useState(null),[p,g]=i.useState(!1),x=i.useRef(!1),h=i.useRef(!1),b=t?JSON.stringify([...t].sort()):"",y=i.useCallback(async(D=!1)=>{if(!e||!n){l([]),g(!1),x.current=!1;return}if(!h.current){h.current=!0,!x.current&&!D&&u(!0),f(null);try{const k=await fetch(`${r}/wallets/${e}/balance`,{cache:"no-store"});if(!k.ok)throw new Error(`Failed to fetch balance: ${k.status}`);const w=await k.json();if(w.balances&&Array.isArray(w.balances)){const M=w.balances.map(A=>Ka({receiptToken:typeof A.receiptToken=="string"?A.receiptToken:void 0,tokenName:String(A.tokenName??""),balanceAvailable:String(A.balanceAvailable??"0"),chainTokens:Ui(A),decimals:typeof A.decimals=="number"?A.decimals:void 0,balanceUsd:typeof A.balanceUsd=="number"||typeof A.balanceUsd=="string"?A.balanceUsd:null},t)).filter(A=>A!==null);l(M),g(M.length>0),x.current=!0}else l([]),g(!1)}catch(k){const w=k instanceof Error?k.message:"Failed to fetch balance";f(w),console.error("Error fetching Spice assets:",k),x.current||(l([]),g(!1))}finally{u(!1),h.current=!1}}},[e,n,b,r]);i.useEffect(()=>{n&&e&&(x.current=!1,y(!1))},[e,n,b]),i.useEffect(()=>{if(!n||!e||!s)return;const D=setInterval(()=>{y(!0)},s);return()=>clearInterval(D)},[e,n,s,b]);const I=i.useCallback(D=>a.filter(k=>k.chainId===D),[a]),v=i.useCallback(async()=>{await y(!0)},[y]);return{assets:a,loading:d,error:c,hasBalance:p,refetch:v,getAssetsByChain:I}},zi={usdc:1,"usdc.e":1,usdt:1,dai:1,ctusd:1,wbtc:1e5,wcbtc:1e5,cbtc:1e5};function Qs(e,t){return F.formatUnits(e,t).replace(/(\.\d*?[1-9])0+$|\.0+$/,"$1")}function qo(e,t,n){return t===n?e:t<n?e*10n**BigInt(n-t):e/10n**BigInt(t-n)}function Yo(e,t){const n=t?zi[t.trim().toLowerCase()]??0:0,s=e*n;return s<=0?"$0":s>=1?`$${s.toFixed(3).replace(/0+$/,"").replace(/\.$/,"")}`:`$${s.toFixed(4).replace(/0+$/,"").replace(/\.$/,"")}`}function Oi(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 Li(e){const t=e.find(n=>j.isSpicenetChainId(n.chainId))?.calls?.[0]?.data;if(!t)return null;try{const n=F.decodeFunctionData({abi:j.spicenetAbi,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 Hi(e,t){return!e||e.length!==t.length?!1:e.every((n,s)=>{const r=t[s];return n.token.toLowerCase()!==r.token.toLowerCase()||n.recipient.toLowerCase()!==r.recipient.toLowerCase()?!1:n.recipient.toLowerCase()===j.SPICE_GAS_FEE_RECIPIENT.toLowerCase()?yn(n.amount,r.amount,100n):n.amount===r.amount})}function Qi(e,t){const n=e.intents.flatMap(a=>a.batches).filter(a=>{const l=Zt(a);return BigInt(a.quotedAmount)>0n||BigInt(a.totalDebit)>0n||l.totalFee>0n}),s=n.filter(a=>a.chainId===t),r=s.length>0?s:n;return r.length===1?r[0]:null}function Vi(e){const t=new Map;for(const n of e){if(n.amount<=0n)continue;const s=n.token.toLowerCase(),r=n.recipient.toLowerCase(),a=`${s}:${r}`,l=t.get(a);l?l.amount+=n.amount:t.set(a,{...n})}return[...t.values()]}function Zo(e,t){if(!e.token||!e.recipient||e.chainId===null)return null;const n=Qi(t,e.chainId);if(!n)return null;const{gasFee:s,bridgeFee:r,spicenetFee:a}=Zt(n),l=s+r,d=[{token:e.token.address,recipient:e.recipient,amount:e.receiveAmountRaw}];return l>0n&&d.push({token:e.token.address,recipient:j.SPICE_GAS_FEE_RECIPIENT,amount:l}),a>0n&&d.push({token:e.token.address,recipient:j.SPICE_PLATFORM_FEE_RECIPIENT,amount:a}),Vi(d)}function Ko(e,t,n){const s=Zo(e,t);return!s||Hi(Li(n),s)?null:e.buildWithdrawBatches(s)}async function Xo(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(r=>j.isSpicenetChainId(r.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 r=await e.execution.estimate(t,n,0n,{...s,adjustBatchesForEstimate:({feeEstimate:d,chainBatches:u})=>Ko(e,d,u)}),a=Zo(e,r);a&&(t=e.buildWithdrawBatches(a));const l=r.intents[0]?.batches.find(d=>d.chainId===e.chainId)??r.intents[0]?.batches[0]??null;l&&e.ui.setLockedGasFee(Zt(l).totalFee)}else{const r=(await e.execution.estimate(t,n,0n,s)).intents[0]?.batches[0]??null;r&&e.ui.setLockedGasFee(Zt(r).totalFee)}await e.execution.execute(t,n,0n,r=>{r.actionId&&r.intentId&&typeof r.intentIndex=="number"&&typeof r.totalSteps=="number"&&(e.executionContextRef.current={actionId:r.actionId,intentId:r.intentId,intentIndex:r.intentIndex,totalSteps:r.totalSteps}),e.ui.setExecutionProgress(r)},void 0,e.buildSpicenetBatch?{...s,adjustBatchesForEstimate:({feeEstimate:r,chainBatches:a})=>Ko(e,r,a)}:s)}window.dispatchEvent(new CustomEvent("withdraw-completed")),e.onWithdrawSuccess?.({token:e.token?.symbol||"",amount:e.amount,chainId:e.chainId})}catch(t){const n=t instanceof Error?t.message:"Withdraw failed";e.ui.setExecutionError(n)}finally{e.ui.setIsExecuting(!1)}}}async function qi(e){const t=e.executionContextRef.current;if(!t){e.ui.setExecutionProgress(null),await Xo(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 m.relayerService.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++){let r="pending",a;try{const l=await m.relayerService.executeStep(t.actionId,t.intentIndex,s,{action:"execute"});l.transactionHash&&(a=l.transactionHash)}catch{}for(let l=0;l<120;l++){if(await tn(Math.min(1e3+l*1e3,5e3)),!e.isMountedRef.current)return;const d=await m.relayerService.checkStepStatus(t.intentId,s);if(!e.isMountedRef.current)return;if(r=d.data.status,d.data.transactionHash&&(a=d.data.transactionHash),r==="success"){e.ui.setExecutionProgress({step:s===t.totalSteps-1?"success":"executing",message:s===t.totalSteps-1?"Transaction successful!":"Executing remaining steps...",txHash:a,actionId:t.actionId,intentId:t.intentId,intentIndex:t.intentIndex,totalSteps:t.totalSteps});break}if(r==="reverted"||r==="error")throw new Error("Withdraw failed");e.ui.setExecutionProgress({step:"executing",message:"Executing remaining steps...",txHash:a,actionId:t.actionId,intentId:t.intentId,intentIndex:t.intentIndex,totalSteps:t.totalSteps})}if(!e.isMountedRef.current)return;if(r!=="success")throw new Error("Withdraw is still processing")}window.dispatchEvent(new CustomEvent("withdraw-completed")),e.onWithdrawSuccess?.({token:e.token?.symbol||"",amount:e.amount,chainId:e.chainId})}catch(n){const s=n instanceof Error?n.message:"Withdraw failed";e.ui.setExecutionError(s)}finally{e.ui.setIsExecuting(!1)}}async function Yi(e){const t=await e.estimate(e.batches,e.tokenAddress,0n,{useCustomTransfers:!0}),n=t.intents.flatMap(r=>r.batches).filter(r=>Zt(r).totalFee>0n),s=n.filter(r=>r.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 Zt(s).totalFee}const Go='"IBM Plex Mono", monospace',Jo='"Helvetica Neue", sans-serif',Zi=({show:e,position:t,popoverRef:n,spiceAssets:s,dark:r,dk:a})=>{if(!e||!t)return null;const l=r?a.textSecondary:"#71757A",d=r?a.textPrimary:"#0E0D0B",u=s||[];return o.jsxs("div",{ref:n,"data-balance-popover":!0,style:{position:"fixed",top:`${t.top}px`,left:`${t.left}px`,width:"220px",background:r?a.cardBg:"#FFFFFF",border:`1px solid ${r?a.cardBorder:"#D6D6D6"}`,borderRadius:"10px",boxShadow:r?"0 12px 32px rgba(0,0,0,0.32)":"0 12px 28px rgba(15, 23, 42, 0.14)",padding:"10px",zIndex:40},children:[o.jsx("div",{style:{fontFamily:Go,fontSize:"11px",letterSpacing:"0.05em",color:l,marginBottom:"8px"},children:"ALL BALANCES"}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:u.length>0?u.map(c=>{const f=c.displaySymbol||c.receiptTokenName||c.symbol;return o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"10px",padding:"6px 0"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px",minWidth:0},children:[c.logoURI?o.jsx("img",{src:c.logoURI,alt:f,style:{width:"18px",height:"18px",borderRadius:"50%",flexShrink:0}}):o.jsx("div",{style:{width:"18px",height:"18px",borderRadius:"50%",border:`1px solid ${r?a.cardBorder:"#C8C8C8"}`,flexShrink:0}}),o.jsx("span",{style:{fontFamily:Jo,fontSize:"13px",color:d,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:f})]}),o.jsx("span",{style:{fontFamily:Go,fontSize:"12px",color:d,flexShrink:0},children:m.formatBalance(c.balanceFormatted)})]},c.receiptTokenId||c.address)}):o.jsx("span",{style:{fontFamily:Jo,fontSize:"13px",color:l},children:"No balances"})})]})},Ki='"Helvetica Neue", sans-serif',bn='"IBM Plex Mono", monospace',Xi=({show:e,onToggle:t,showCustomAddress:n,setShowCustomAddress:s,customRecipient:r,setCustomRecipient:a,externalAddress:l,recipientAddress:d,destChainName:u,destChainLogo:c,compatibleDestinationChains:f,txDetailsChainSwitchRef:p,onOpenNetworkPopover:g,sourceChainLabel:x,sourceDetailsLogo:h,sourceTokenLabel:b,amount:y,totalSourceDebitDisplay:I,receiveAmountDisplay:v,destTokenSymbol:D,shouldQuoteWithdrawGas:k,estimatingFee:w,feeError:M,displayedGasFee:A,selectedDestToken:T,theme:B,styles:C,dark:E,dk:S})=>{const R=E?S.textSecondary:"#71757A",N=E?S.textPrimary:"#0E0D0B",P=f.length>1,H=n&&r?F.isAddress(r)?m.truncateAddress(r):r:d?m.truncateAddress(d):"\u2014";return o.jsxs(o.Fragment,{children:[o.jsxs("div",{onClick:t,style:{display:"flex",alignItems:"center",gap:"6px",marginBottom:e?"10px":"0",cursor:"pointer",userSelect:"none"},children:[o.jsx("span",{style:{fontSize:"13px",color:R,fontFamily:Ki,fontWeight:600},children:"Transaction Details"}),o.jsx(xs.ChevronDown,{size:12,color:R,style:{transform:e?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s"}})]}),e&&o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"7px"},children:[o.jsxs("div",{children:[o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("span",{style:{fontSize:"12px",color:R,fontFamily:bn,fontWeight:500,letterSpacing:"0.03em"},children:"TO"}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[o.jsx("span",{style:{fontSize:"13px",color:N,fontFamily:bn,fontWeight:500},children:H}),o.jsx("button",{onClick:()=>{s(L=>!L),!n&&l&&a(l)},style:{background:"none",border:"none",cursor:"pointer",padding:"0",fontSize:"9.5px",fontFamily:bn,color:R,textDecoration:"underline",fontWeight:600},children:n?"Reset":"Switch"})]})]}),n&&o.jsxs("div",{style:{marginTop:"6px"},children:[o.jsx("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:bn,fontWeight:700,letterSpacing:0,textTransform:"uppercase"},children:"CAUTION: ENTERING AN INCORRECT ADDRESS WILL RESULT IN LOSS OF FUNDS"}),o.jsx("input",{type:"text",autoComplete:"off",spellCheck:!1,"aria-label":"Recipient address","aria-invalid":r&&!F.isAddress(r)?!0:void 0,"data-spiceflow-focus":!0,value:r,onChange:L=>a(L.target.value),placeholder:"0x...",style:{width:"100%",padding:"8px 10px",borderRadius:"6px",border:`1px solid ${r&&!F.isAddress(r)?E?S.errorBorder:"#fca5a5":E?S.inputBorder:"#d1d5db"}`,backgroundColor:E?S.inputBg:"#f9fafb",color:E?S.inputText:"#111827",fontSize:"12px",fontFamily:bn,outline:"none",boxSizing:"border-box"}}),r&&!F.isAddress(r)&&o.jsx("span",{style:{fontSize:"11px",color:S.errorText,marginTop:"3px",display:"block"},children:"Invalid address"})]})]}),o.jsx(Dn,{palette:S,labelColor:R,valueColor:N,label:"RECEIVING CHAIN",value:o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"7px"},children:[c&&o.jsx("img",{src:c,alt:u,style:{width:"14px",height:"14px",borderRadius:"50%"}}),o.jsx("span",{style:{fontSize:"13px",color:N,fontWeight:500,fontFamily:bn,textTransform:"uppercase"},children:u}),o.jsx("button",{ref:p,onClick:L=>{L.stopPropagation(),g(p.current)},style:{background:"none",border:"none",cursor:P?"pointer":"not-allowed",padding:"0",fontSize:"9.5px",fontFamily:bn,color:R,textDecoration:"underline",fontWeight:600,opacity:P?1:.45},children:"Switch"})]})}),o.jsx(Dn,{palette:S,labelColor:R,valueColor:N,label:"REQUESTED WITHDRAWAL",value:o.jsxs(Vs,{logo:h||null,alt:x,primaryText:N,children:[y||"0"," ",b]})}),k&&o.jsx(Dn,{palette:S,labelColor:R,valueColor:N,label:"TOTAL SOURCE DEBIT",value:o.jsxs(Vs,{logo:h||null,alt:x,primaryText:N,children:[I," ",b]})}),o.jsx(Dn,{palette:S,labelColor:R,valueColor:N,label:"YOU RECEIVE",value:o.jsxs(Vs,{logo:c,alt:u,primaryText:N,gap:"4px",children:[v," ",D]})}),k&&o.jsxs(o.Fragment,{children:[o.jsx(Dn,{palette:S,labelColor:R,label:"EST. GAS FEE",valueColor:M?"#f87171":N,value:w?"Estimating...":M?"Unavailable":A!==null&&T?`${Qs(A,T.decimals)} ${T.symbol}`:"Estimating..."}),M&&o.jsx(Mn,{variant:"error",size:"compact",palette:S,fontFamily:C?.fontFamily||B.typography.fontFamily,children:M})]})]})]})},Gi=i.memo(Xi),Vs=({logo:e,alt:t,primaryText:n,gap:s="6px",children:r})=>o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:s},children:[e&&o.jsx("img",{src:e,alt:t,style:{width:"13px",height:"13px",borderRadius:"50%"}}),o.jsx("span",{style:{fontSize:"13px",color:n,fontWeight:500,fontFamily:bn},children:r})]});function $o(e){const t=new Set(j.getEquivalentAddresses(e).map(n=>n.toLowerCase()));return t.add(e.toLowerCase()),t}const Ji=["USDC","USDT","WETH","WBTC"];function qs(e,t){const n=m.getChainConfig(t);if(!n)return;if(n.nativeCurrency.symbol.toUpperCase()===e.toUpperCase())return{address:j.ZERO_ADDRESS,symbol:n.nativeCurrency.symbol,decimals:n.nativeCurrency.decimals,chainId:t};const s=n.supportedTokens?.find(r=>r.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=m.getChainConfig(t);if(!s)return;if(n!==void 0){const l=wo(e,n,t);if(l)return{address:l.address.toLowerCase(),symbol:l.symbol,decimals:l.decimals,chainId:t}}const r=$o(e);if([...r].some(l=>j.isNativeToken(l)))return{address:j.ZERO_ADDRESS,symbol:s.nativeCurrency.symbol,decimals:s.nativeCurrency.decimals,chainId:t};const a=s.supportedTokens?.find(l=>r.has(l.address.toLowerCase()));if(a)return{address:a.address.toLowerCase(),symbol:a.symbol,decimals:a.decimals,chainId:t}}function _o(e){const{sourceAsset:t,outputAsset:n,sourceChainId:s,destinationChainId:r,intermediaryCandidates:a=Ji}=e;if(Xn(t,n))return{strategy:"direct",sourceAsset:t,outputAsset:n,sourceChainId:s,destinationChainId:r,summary:`${t.symbol} fronted directly`};if(mn(t.address,r,s))return{strategy:"direct",sourceAsset:t,outputAsset:n,sourceChainId:s,destinationChainId:r,summary:`${t.symbol} fronted on destination, swapped to ${n.symbol}`};if(mn(n.address,s,r))return{strategy:"source-swap",sourceAsset:t,outputAsset:n,sourceChainId:s,destinationChainId:r,summary:`${t.symbol} \u2192 ${n.symbol} on source chain, then fronted`};for(const l of a){const d=qs(l,s);if(!d||Xn(t,d)||Xn(n,d))continue;const u=qs(l,r);if(u&&Xn(d,u))return{strategy:"intermediary",sourceAsset:t,outputAsset:n,intermediaryAsset:u,sourceChainId:s,destinationChainId:r,summary:`${t.symbol} \u2192 ${l} on source, fronted, then ${l} \u2192 ${n.symbol} on destination`}}throw new m.SpiceflowError("ROUTE_STRATEGY_ERROR",`No viable cross-chain route found from ${t.symbol} (chain ${s}) to ${n.symbol} (chain ${r}). No intermediary asset is available on both chains.`,{sourceAsset:t.symbol,outputAsset:n.symbol,sourceChainId:s,destinationChainId:r,candidatesChecked:a})}async function er(e){const{route:t,sourceAmount:n,userAddress:s,registry:r,actionCalls:a,slippage:l}=e;async function d(u,c,f,p){const g=r.getVenueForChain(u);if(!g)throw new m.SpiceflowError("NO_VENUE_FOR_CHAIN",`No liquidity venue configured for chain ${u}. Cannot resolve swap ${c} \u2192 ${f}.`,{chainId:u,tokenIn:c,tokenOut:f,amountIn:p.toString()});const x=await g.resolve({type:"swap",tokenIn:c,tokenOut:f,amountIn:p,maxSlippage:l},u,s);if(!x)throw new m.SpiceflowError("NO_LIQUIDITY",`${g.name} returned no quote for ${c} \u2192 ${f} on chain ${u}. No liquidity available for this pair.`,{venue:g.name,chainId:u,tokenIn:c,tokenOut:f,amountIn:p.toString()});return x}switch(t.strategy){case"direct":{const u=mn(t.sourceAsset.address,t.destinationChainId,t.sourceChainId)||t.sourceAsset;if($o(u.address).has(t.outputAsset.address.toLowerCase()))return{chainBatches:[{chainId:t.destinationChainId,calls:a}],solverFrontToken:u,solverFrontAmount:n,resolvedSwaps:{}};const c=await d(t.destinationChainId,u.address,t.outputAsset.address,n);return{chainBatches:[{chainId:t.destinationChainId,calls:[...c.calls,...a]}],solverFrontToken:u,solverFrontAmount:n,resolvedSwaps:{destinationSwap:c}}}case"source-swap":{const u=mn(t.outputAsset.address,t.sourceChainId,t.destinationChainId);if(!u)throw new m.SpiceflowError("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 c=mn(t.outputAsset.address,t.destinationChainId,t.destinationChainId);if(!c)throw new m.SpiceflowError("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 f=await d(t.sourceChainId,t.sourceAsset.address,u.address,n);return{chainBatches:[{chainId:t.sourceChainId,calls:f.calls},{chainId:t.destinationChainId,calls:a}],solverFrontToken:c,solverFrontAmount:f.amountOutMinimum,resolvedSwaps:{sourceSwap:f}}}case"intermediary":{if(!t.intermediaryAsset)throw new m.SpiceflowError("ROUTE_STRATEGY_ERROR","Intermediary strategy requires an intermediary asset but none was provided in the route plan.",{strategy:t.strategy});const u=mn(t.intermediaryAsset.address,t.sourceChainId,t.destinationChainId);if(!u)throw new m.SpiceflowError("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 c=await d(t.sourceChainId,t.sourceAsset.address,u.address,n),f=await d(t.destinationChainId,t.intermediaryAsset.address,t.outputAsset.address,c.amountOutMinimum);return{chainBatches:[{chainId:t.sourceChainId,calls:c.calls},{chainId:t.destinationChainId,calls:[...f.calls,...a]}],solverFrontToken:t.intermediaryAsset,solverFrontAmount:c.amountOutMinimum,resolvedSwaps:{sourceSwap:c,destinationSwap:f}}}default:throw new m.SpiceflowError("ROUTE_STRATEGY_ERROR",`Unknown route strategy: ${t.strategy}`,{strategy:t.strategy})}}const $i=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,styles:s,onWithdrawExecute:r,onWithdrawSuccess:a,onWithdrawError:l,availableTokens:d,buildSpicenetBatch:u})=>{const c=i.useContext(m.SpiceFlowProviderContext);if(!c)return o.jsx("div",{children:"Error: SpiceWithdraw must be used within SpiceFlowProvider"});const f=c.mode||"7702",p=f==="presign"||f==="ondemand",g=c.supportedChainIds,x=c.allowedTokens,h=c.isWhitelistGateActive,{theme:b,dark:y,dk:I}=m.useSpiceBrand(s),v=c.network,D=()=>p?"select":"provider-login",[k,w]=i.useState(D()),[M,A]=i.useState(!1),[T,B]=i.useState(null),[C,E]=i.useState(null),[S,R]=i.useState(""),[N,P]=i.useState(!1),[H,L]=i.useState(!1),[W,U]=i.useState(!1),[z,_]=i.useState(!1),[V,Y]=i.useState(""),[ue,q]=i.useState(!0),ee=i.useRef(null),oe=i.useRef(null),pe=i.useRef(null),we=i.useRef(null),[de,xe]=i.useState(null),[Ee,Z]=i.useState(null),[X,te]=i.useState(null),se=m.useWallet(),{isReady:ye,isAuthenticated:Q,address:J}=se,me=c?.embeddedWalletAddress,{address:Se,chainId:ie}=cn.useAccount(),[qe,ot]=i.useState(!1),[Kt,Ft]=i.useState(null),ut=i.useRef(l);ut.current=l;const ae=i.useCallback($=>{Ft($),typeof $=="string"&&$&&ut.current?.($)},[]),[Ne,Me]=i.useState(null),Ct=i.useRef(null),re=i.useRef(!0),At=i.useRef(null);i.useEffect(()=>(re.current=!0,()=>{re.current=!1}),[]);const{execute:Ae,estimate:Te}=Rn(),[le,ze]=i.useState(null),[zt,Qt]=i.useState(null),[Xt,Et]=i.useState(!1),[ge,Ot]=i.useState(null),{assets:Gt,loading:Lt}=Qn({address:me,enabled:e&&!!me,refetchInterval:3e4}),Ke=i.useMemo(()=>{if(h)return[];if(!x||x.length===0)return Gt;const $=new Set(x.map(G=>G.toLowerCase()));return(Gt||[]).filter(G=>[G.symbol,G.displaySymbol,G.receiptTokenName].some(be=>typeof be=="string"&&$.has(be.toLowerCase())))},[Gt,x,h]),wt=i.useMemo(()=>[...new Set([...g??[],...Object.keys(d??{}).map(Number),...(Ke||[]).map($=>$.chainId),...(Ke||[]).flatMap($=>Object.keys($.chainTokens??{}).map(G=>{const[,be]=G.split(":"),Be=Number(be);return Number.isFinite(Be)?Be:null}).filter(G=>G!==null))])].filter($=>m.getChainConfig($)?.network===v),[g,d,Ke,v]),Vt=i.useMemo(()=>{if(d)return d;const $={};for(const G of Ke||[]){const be=Object.entries(G.chainTokens??{});if(be.length>0){for(const[Be,ve]of be){const[et,at,He]=Be.split(":");if(et!=="evm"||!at||!He)continue;const Je=Number(at);if(!Number.isFinite(Je))continue;const Pt=He.startsWith("0x")?He.toLowerCase():`0x${He.toLowerCase()}`,Qe=m.getChainConfig(Je)?.supportedTokens?.find(Ve=>m.addressesEqual(Ve.address,Pt));Qe&&Rs(G,Pt,Je)&&($[Je]||($[Je]=[]),$[Je].find(Ve=>m.addressesEqual(Ve.address,Pt))||$[Je].push({address:Pt,symbol:Qe?.symbol||ve?.name||G.symbol,name:Qe?.name||ve?.name||G.displayName||G.name||G.symbol,decimals:Qe?.decimals??ve?.decimals??G.decimals,logoURI:Qe?.logo||G.logoURI}))}continue}$[G.chainId]||($[G.chainId]=[]),$[G.chainId].find(Be=>m.addressesEqual(Be.address,G.address))||$[G.chainId].push({address:G.address,symbol:G.symbol,name:G.displayName||G.name||G.symbol,decimals:G.decimals,logoURI:G.logoURI})}return $},[d,Ke]),Mt=i.useCallback(($,G)=>{if(!$||!G)return null;const be=Kn($,G),Be=Object.entries($.chainTokens??{}).flatMap(([Qe,Ve])=>{const K=Bn(Qe);return K?.chainId===G?[{parsed:K,detail:Ve}]:[]}),ve=Vt?.[G]||[],et=Qe=>ve.find(Ve=>m.addressesEqual(Ve.address,Qe))??null,at=Qe=>{const Ve=m.getChainConfig(G)?.supportedTokens?.find(Ie=>m.addressesEqual(Ie.address,Qe));if(!Ve||!Rs($,Qe,G))return null;const K=Be.find(({parsed:Ie})=>m.addressesEqual(Ie.address,Qe));return K?{address:K.parsed.address,symbol:Ve.symbol,name:Ve.name||K.detail?.name||$.displayName||$.name||$.symbol,decimals:Ve.decimals,logoURI:Ve.logo||$.logoURI}:null};for(const Qe of be){const Ve=et(Qe);if(Ve)return Ve;const K=at(Qe);if(K)return K}const He=an($,G);if(He){const Qe=et(He);if(Qe)return Qe;const Ve=at(He);if(Ve)return Ve}const Je=mn($.address,G,$.chainId);return Je?et(Je.address)||(ve.length>0?null:{address:Je.address,symbol:Je.symbol||$.symbol,name:$.displayName||$.name||$.symbol,decimals:Je.decimals??$.decimals,logoURI:$.logoURI}):null},[Vt]),fe=i.useMemo(()=>{if(!T)return null;const $=T.receiptTokenId||`${T.chainId}:${T.address.toLowerCase()}`;return Ke.find(G=>(G.receiptTokenId||`${G.chainId}:${G.address.toLowerCase()}`)===$)||T},[T,Ke]),Oe=i.useMemo(()=>{if(!fe)return[];const $=Object.keys(fe.chainTokens??{}).map(G=>Bn(G)?.chainId??null).filter(G=>G!==null);return Array.from(new Set([...$,fe.chainId,...wt].filter(Number.isFinite))).filter(G=>G!==1&&m.getChainConfig(G)?.network===v&&Mt(fe,G)!==null)},[fe,wt,Mt,v]),ft=i.useMemo(()=>{if(!fe||typeof window>"u")return null;const $=`spiceflow:withdraw-chain:${fe.receiptTokenId||fe.address.toLowerCase()}`,G=window.localStorage.getItem($),be=G?Number(G):null;return be!==null&&Number.isFinite(be)&&Oe.includes(be)?be:null},[fe,Oe]),Dt=i.useMemo(()=>fe?ft!==null?ft:ie&&Oe.includes(ie)?ie:fe.chainId&&Oe.includes(fe.chainId)?fe.chainId:Oe[0]??wt[0]??null:wt[0]??null,[fe,ft,ie,Oe,wt]),Fe=i.useMemo(()=>Mt(fe,C),[Mt,fe,C]);i.useEffect(()=>{!Ke?.length||fe||B(Ke[0])},[Ke,fe]),i.useEffect(()=>{fe&&(C===null||!Oe.includes(C))&&E(Dt)},[fe,C,Dt,Oe]),i.useEffect(()=>{if(!N&&!H&&!W)return;const $=G=>{const be=G.target;N&&!ee.current?.contains(be)&&!oe.current?.contains(be)&&!be?.closest?.("[data-network-popover]")&&P(!1),H&&!pe.current?.contains(be)&&!be?.closest?.("[data-token-popover]")&&L(!1),W&&!we.current?.contains(be)&&!be?.closest?.("[data-balance-trigger]")&&U(!1)};return document.addEventListener("mousedown",$),()=>document.removeEventListener("mousedown",$)},[N,H,W]);const kt=i.useCallback($=>{if(!$||Oe.length<=1)return;const G=$.getBoundingClientRect(),be=220,Be=16;xe({top:G.bottom+8,left:Math.min(Math.max(Be,G.right-be),window.innerWidth-be-Be)}),P(ve=>!ve)},[Oe.length]),Jt=i.useCallback(()=>q($=>!$),[]);i.useEffect(()=>{if(!fe||C===null||typeof window>"u")return;const $=`spiceflow:withdraw-chain:${fe.receiptTokenId||fe.address.toLowerCase()}`;window.localStorage.setItem($,String(C))},[fe,C]);const Re=z&&V&&F.isAddress(V)?V:Se||me,vt=fe?.balanceFormatted??0,mt=i.useCallback($=>{if(!$)return;const G=$.getBoundingClientRect();te({top:G.bottom+8,left:G.right-220}),U(!0)},[]),qt=fe?.displaySymbol||fe?.receiptTokenName||fe?.symbol||"spiceUSDC",Bt=fe?.displayChainName||"Spicenet",$e=fe?.receiptTokenDecimals??fe?.decimals,ct=i.useMemo(()=>{if(!Fe||!$e)return 0n;try{return F.parseUnits(S||"0",$e)}catch{return 0n}},[S,Fe,$e]),pt=i.useMemo(()=>!Fe||!$e?0n:qo(ct,$e,Fe.decimals),[Fe,$e,ct]),rn=i.useMemo(()=>{const $=zt??le;return!$||$<=0n||!Fe||!$e?0n:qo($,Fe.decimals,$e)},[zt,le,Fe,$e]),Ye=i.useMemo(()=>ct+rn,[ct,rn]),lt=zt??le,$t=i.useCallback($=>{if(!C||!Fe)return[];if(ct===0n||pt===0n||!Re)return[];const G=Array.isArray($)?$.filter(et=>et.amount>0n):[{token:Fe.address,recipient:Re,amount:$??pt}],be=G.reduce((et,at)=>et+at.amount,0n);if(be<=0n)return[];const Be={chainId:C,calls:[],tokenTransfers:G.map(et=>({from:"escrow",to:et.recipient,token:et.token,amount:et.amount}))};if(!u)return[Be];const ve=u({destinationChainId:C,deliveryToken:Fe.address,deliveryAmount:be,deliveryRecipient:Re,deliveryTransfers:G,requestTimestampMs:At.current??Date.now()});return ve?[ve,Be]:[Be]},[C,Fe,ct,pt,Re,u]),Xe=i.useMemo(()=>$t(),[$t]),ht=i.useMemo(()=>Oi(Xe,Fe?.address),[Xe,Fe?.address]),_e=i.useRef(null),gt=i.useRef(0);i.useEffect(()=>{let $=!1;if(!e||p||qe||!Fe||!C||ct===0n){_e.current=null,ze(null),Ot(null),Et(!1);return}if(Xe.length===0){_e.current=null,ze(null),Et(!0);return}if(!ht){_e.current=null,ze(null),Ot(null),Et(!1);return}if(_e.current===ht)return;_e.current=ht;const G=++gt.current;return(async()=>{Et(!0),Ot(null);try{const be=await Yi({batches:Xe,tokenAddress:Fe.address,chainId:C,estimate:Te});if($||G!==gt.current)return;ze(be)}catch(be){if($||G!==gt.current)return;_e.current=null,ze(null),Ot(be instanceof Error?be.message:"Failed to estimate gas fee")}finally{!$&&G===gt.current&&Et(!1)}})(),()=>{$=!0}},[e,p,qe,Fe,Te,ct,Xe,ht]),i.useEffect(()=>{qe||Qt(null)},[qe,S,C,Fe?.address]);const Ge=i.useCallback(()=>{A(!0),w("select")},[]),Nt=i.useCallback(()=>{t()},[t]),dt=i.useRef(null);dt.current={batches:Xe,walletAddress:J,recipient:Re,token:Fe,chainId:C,amount:S,receiveAmountRaw:pt,gasFee:le,isNon7702:p,buildWithdrawBatches:$t,execution:{estimate:Te,execute:Ae},ui:{setIsExecuting:ot,setExecutionError:ae,setExecutionProgress:Me,setLockedGasFee:Qt},executionContextRef:Ct,isMountedRef:re,onWithdrawExecute:r,onWithdrawSuccess:a,buildSpicenetBatch:u};const Wt=i.useCallback(()=>(At.current=Date.now(),Xo(dt.current)),[]),rt=i.useCallback(()=>(At.current=Date.now(),qi(dt.current)),[]);if(i.useEffect(()=>{if(!e){const $=setTimeout(()=>{w(D()),A(!1),B(null),E(null),R(""),P(!1),L(!1),_(!1),Y(""),ot(!1),ae(null),Me(null),Ct.current=null},300);return()=>clearTimeout($)}},[e,p]),i.useEffect(()=>{if(!p&&e&&k==="provider-login"&&ye&&Q&&me&&!M){const $=setTimeout(()=>{A(!0),w("select")},100);return()=>clearTimeout($)}},[p,e,k,ye,Q,me,M]),!e)return null;if(k==="provider-login"&&!p)return o.jsx(Ls,{onAuthSuccess:Ge,autoTrigger:!0});if(k==="select"){const $=parseFloat(S)||0,G=$e?Qs(Ye,$e):S||"0",be=parseFloat(G)||0,Be=be>0&&be>vt,ve=(C?m.getChainConfig(C):null)?.displayName||"Network",et=C?xn[C]||zn:null,at=Fe?.symbol||"\u2014",He=qt,Je=Fe?Qs(pt,Fe.decimals):"0",Pt=Yo($,Fe?.symbol||fe?.symbol),Qe=Yo(parseFloat(Je)||0,Fe?.symbol||fe?.symbol),Ve=!z||!V||F.isAddress(V),K=!p&&$>0&&Fe!==null,Ie=!K||le!==null&&!Xt&&!ge,tt=$>0&&$<fn,We=$>0&&!tt&&!Be&&T!==null&&C!==null&&Fe!==null&&Re&&Ve&&Ie&&pt>0n,Pe=!We,St=T===null?"NO BALANCE":$===0?"ENTER AMOUNT":tt?`MINIMUM ${fn}`:Be?"INSUFFICIENT BALANCE":K&&!Ie?ge?"GAS UNAVAILABLE":"ESTIMATING GAS":K&&pt===0n?"AMOUNT TOO SMALL":"WITHDRAW",xt=!!Ne&&(Ne.step==="success"||Ne.step==="error"),Ht=o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"5px"},children:[o.jsx("img",{src:Os,alt:"","aria-hidden":"true",style:{width:"13px",height:"13px",flexShrink:0,...y?{filter:"invert(0.6)"}:{}}}),o.jsx("p",{style:{fontSize:"13px",color:y?I.textSecondary:"#979AA0",margin:"0",lineHeight:"1.4",fontFamily:'"Helvetica Neue", sans-serif'},children:"Withdraw collateral from your account to 10+ EVM blockchains."})]}),je='"Helvetica Neue", sans-serif',nt='"IBM Plex Mono", monospace',it=s?.primaryColor||b.colors.primary,st=y?I.cardBg:"#E9E9E9",bt=y?I.cardBorder:"#C6C6C6",yt=y?I.textSecondary:"#7D7C7B",Ue=y?I.textSecondary:"#71757A",Le=y?I.textPrimary:"#0E0D0B",Tt=y?I.cardBorder:"#C5C5C4",_t=y?"rgba(255,255,255,0.08)":"#D4D3D3",O=170,ne=He.length>8?"14px":He.length>6?"16px":"18px",ke=at.length>8?"14px":at.length>6?"16px":"18px",ce=402,Ze=he=>o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("span",{style:{fontFamily:je,fontSize:"17px",fontWeight:500,color:yt,lineHeight:"24px"},children:he}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px",fontFamily:je,fontSize:"13px",fontWeight:500,color:Ue,lineHeight:"16px"},children:["Balance:"," ",Lt?"...":m.formatBalance(vt),o.jsx("button",{type:"button","data-balance-trigger":!0,onClick:De=>{De.stopPropagation(),mt(De.currentTarget)},style:{width:"15px",height:"15px",borderRadius:"999px",border:"1px solid #EA4B4B",color:"#EA4B4B",display:"inline-flex",alignItems:"center",justifyContent:"center",fontSize:"9px",fontWeight:500,lineHeight:1,boxSizing:"border-box",background:"transparent",padding:0,cursor:"pointer"},children:o.jsx("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"1.5px"},children:[0,1,2].map(De=>o.jsx("span",{style:{width:"1.75px",height:"1.75px",borderRadius:"999px",backgroundColor:"#EA4B4B",display:"block"}},De))})})]})]});return o.jsx(dn,{isOpen:!0,onClose:Nt,title:"Withdraw",subtitle:Ht,styles:s,theme:b,dark:y,maxWidth:"486px",footerLinkText:"Spicenet accounts \u2192",overlayDimmed:!1,closeOnBackdropClick:n,overlayContent:xt?o.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",justifyContent:"flex-end",pointerEvents:"none",zIndex:20},children:o.jsx("div",{style:{pointerEvents:"auto"},children:o.jsx(Hs,{type:"withdraw",isOpen:!0,isProcessing:qe,onRetryTx:()=>{rt()},onNewTx:()=>{Me(null),R(""),ae(null),Ct.current=null},onClose:()=>{Me(null),ae(null),ot(!1),Ct.current=null},onComplete:()=>{Me(null),ae(null),ot(!1),Ct.current=null},results:[{asset:{symbol:Fe?.symbol||"Token",address:Fe?.address||""},txHash:Ne?.txHash||"",success:Ne?.step==="success",error:Ne?.error,amount:S}],chainName:C?m.getChainName(C):"Network",explorerUrl:C?m.getExplorerUrl(C,"").replace(/\/tx\/.*$/,""):void 0,theme:b})})}):null,children:o.jsxs("div",{style:{width:`${ce}px`,margin:"0 auto",padding:"0 0 4px 0",position:"relative"},children:[o.jsx(Zi,{show:W,position:X,popoverRef:we,spiceAssets:Ke,dark:y,dk:I}),o.jsxs("div",{style:{marginTop:"16px",marginBottom:"16px",display:"flex",flexDirection:"column",gap:"16px"},children:[o.jsxs("div",{style:{backgroundColor:st,border:`1px solid ${bt}`,borderRadius:"7px",padding:"14px 16px 12px 16px",minHeight:"138px",display:"flex",flexDirection:"column",gap:"6px",position:"relative"},children:[Ze("Source"),o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"12px",flex:1},children:[o.jsxs("div",{style:{flex:1,minWidth:0,alignSelf:"flex-start",paddingTop:"4px"},children:[o.jsx(kn,{element:"input",ariaLabel:"Withdraw amount",ariaInvalid:Be,dataSpiceflowFocus:!0,value:S,onChange:he=>{const De=he.target.value;if(De===""){R("");return}/^\d*\.?\d*$/.test(De)&&R(m.parseNumericInput(De.startsWith(".")?`0${De}`:De,$e??T?.decimals))},placeholder:"0.0",fontFamily:je,color:Be?"#ef4444":S?Le:"#A8A8A7",lineHeight:"0.95",maxFontSize:54,minFontSize:32,style:{width:"100%"}}),o.jsx("div",{style:{fontSize:"12px",fontWeight:500,color:Ue,fontFamily:je,marginTop:"10px"},children:Pt})]}),o.jsx("div",{style:{width:`${O}px`,flexShrink:0},children:o.jsxs("div",{style:{backgroundColor:"transparent",border:`1px solid ${Tt}`,borderRadius:"8px",overflow:"hidden",width:"100%",display:"flex",flexDirection:"column",boxSizing:"border-box"},children:[o.jsxs("div",{ref:pe,onClick:he=>{if(he.stopPropagation(),!H&&pe.current){const De=pe.current.getBoundingClientRect(),It=220,Ut=16;Z({top:De.bottom+8,left:Math.min(Math.max(Ut,De.right-It),window.innerWidth-It-Ut)})}L(De=>!De)},style:{display:"flex",alignItems:"center",gap:"6px",padding:"9px 10px 8px 10px",cursor:"pointer"},children:[o.jsx("img",{src:Ss,alt:He,style:{width:"24px",height:"24px",borderRadius:"50%"}}),o.jsx("span",{style:{fontSize:ne,fontWeight:500,color:Le,lineHeight:"1.3",fontFamily:je,flex:1,minWidth:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",letterSpacing:0},children:He}),o.jsx(Cn,{size:15,color:Le,strokeWidth:2.25})]}),o.jsx(Qo,{isOpen:H,position:Ee,title:"SELECT TOKEN",portalAttribute:"token",items:(Ke||[]).map(he=>({id:he.receiptTokenId||he.address,label:he.displaySymbol||he.receiptTokenName||he.symbol,icon:Ss,detail:m.formatBalance(he.balanceFormatted)})),selectedId:fe?.receiptTokenId||fe?.address||null,onSelect:he=>{const De=(Ke||[]).find(It=>(It.receiptTokenId||It.address)===he);De&&(B(De),R("")),L(!1)}}),o.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"5px 10px",backgroundColor:_t,borderTop:`1px solid ${Tt}`},children:o.jsx("span",{style:{fontSize:"11px",fontWeight:400,color:Le,fontFamily:je,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textTransform:"uppercase"},children:Bt})})]})})]}),o.jsxs("div",{style:{minHeight:"18px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[Be?o.jsx("span",{style:{fontSize:"12px",color:I.errorText,fontFamily:je,fontWeight:500},children:"Insufficient Balance"}):o.jsx("span",{}),o.jsx("div",{style:{display:"flex",justifyContent:"flex-end",gap:"0px",minHeight:"32px",marginRight:"-9px"},children:[0,25,50,75,100].map((he,De)=>{const It=De===4,Ut=he/100,Wn=parseFloat(S)||0,In=vt>0&&Math.abs(Wn/vt*100-he)<1;return o.jsx("button",{type:"button","aria-label":`Set amount to ${he}%`,"aria-pressed":In,onClick:()=>{const ms=vt*he/100,An=T?.decimals??6,Pn=Math.floor(ms*10**An)/10**An;R(he===0?"":Pn>0?m.formatDecimalInput(Pn,An):"")},title:`${he}%`,disabled:vt===0,"data-spiceflow-focus":!0,style:{width:"32px",height:"32px",padding:"9px",border:"none",backgroundColor:"transparent",cursor:vt===0?"not-allowed":"pointer",opacity:In?1:.5,transition:"opacity 0.15s ease",display:"flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box"},children:o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",children:[o.jsx("circle",{cx:"7",cy:"7",r:"6.84375",fill:It?it:"none",stroke:It?it:y?"#4a5568":"#3C3E42",strokeWidth:"0.3125"}),!It&&Ut>0&&o.jsx("path",{d:`M 7 7 L 7 0.15625 A 6.84375 6.84375 0 ${Ut>.5?1:0} 1 ${7+6.84375*Math.sin(Ut*2*Math.PI)} ${7-6.84375*Math.cos(Ut*2*Math.PI)} Z`,fill:y?I.textSecondary:"#3C3E42"})]})},he)})})]})]}),o.jsxs("div",{style:{backgroundColor:st,border:`1px solid ${bt}`,borderRadius:"7px",padding:"14px 16px 12px 16px",minHeight:"138px",display:"flex",flexDirection:"column",gap:"6px"},children:[Ze("Destination"),o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"12px",flex:1},children:[o.jsxs("div",{style:{flex:1,minWidth:0,alignSelf:"flex-start",paddingTop:"4px"},children:[o.jsx(kn,{element:"div",value:Je,title:Je,fontFamily:je,color:S?Le:"#A8A8A7",lineHeight:"0.95",maxFontSize:54,minFontSize:32,overflow:"wrap"}),o.jsx("div",{style:{fontSize:"12px",fontWeight:500,color:Ue,fontFamily:je,marginTop:"10px"},children:Qe})]}),o.jsxs("div",{style:{width:`${O}px`,flexShrink:0,display:"flex",flexDirection:"column",alignItems:"stretch",gap:"8px"},children:[o.jsxs("div",{style:{backgroundColor:"transparent",border:`1px solid ${Tt}`,borderRadius:"8px",overflow:"hidden",width:"100%",display:"flex",flexDirection:"column",boxSizing:"border-box"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px",padding:"9px 10px 8px 10px"},children:[o.jsx("img",{src:Fe?.logoURI||pa,alt:at,style:{width:"24px",height:"24px",borderRadius:"50%"}}),o.jsx("span",{style:{fontSize:ke,fontWeight:500,color:Le,lineHeight:"1.3",fontFamily:je,flex:1,minWidth:0,letterSpacing:0},children:at})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"5px 10px",backgroundColor:_t,borderTop:`1px solid ${Tt}`},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[et&&o.jsx("img",{src:et,alt:ve,style:{width:"13px",height:"13px",borderRadius:"50%",flexShrink:0}}),o.jsx("span",{style:{fontSize:"11px",fontWeight:400,color:Le,fontFamily:je,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",textTransform:"uppercase"},children:ve})]}),o.jsx("button",{ref:ee,onClick:he=>{he.stopPropagation(),kt(ee.current)},style:{background:"none",border:"none",cursor:Oe.length>1?"pointer":"not-allowed",padding:"0 0 0 8px",fontSize:"9.5px",fontFamily:nt,color:Ue,textDecoration:"underline",fontWeight:600,opacity:Oe.length>1?1:.45},children:"Switch"}),o.jsx(Qo,{isOpen:N,position:de,title:"SELECT NETWORK",portalAttribute:"network",items:Oe.map(he=>{const De=m.getChainConfig(he);return{id:String(he),label:De?.displayName||String(he),icon:xn[he]||zn}}),selectedId:C!==null?String(C):null,onSelect:he=>{E(Number(he)),P(!1)}})]})]}),o.jsx("div",{style:{minHeight:"14px"}})]})]})]})]}),o.jsxs("div",{style:{marginBottom:b.spacing.sm},children:[o.jsx(Gi,{show:ue,onToggle:Jt,showCustomAddress:z,setShowCustomAddress:_,customRecipient:V,setCustomRecipient:Y,externalAddress:Se,recipientAddress:Re,destChainName:ve,destChainLogo:et,compatibleDestinationChains:Oe,txDetailsChainSwitchRef:oe,onOpenNetworkPopover:kt,sourceChainLabel:Bt,sourceDetailsLogo:Ss,sourceTokenLabel:He,amount:S,totalSourceDebitDisplay:G,receiveAmountDisplay:Je,destTokenSymbol:at,shouldQuoteWithdrawGas:K,estimatingFee:Xt,feeError:ge,displayedGasFee:lt,selectedDestToken:Fe,theme:b,styles:s,dark:y,dk:I}),Kt&&o.jsx(Mn,{variant:"error",size:"compact",palette:I,fontFamily:s?.fontFamily||b.typography.fontFamily,style:{marginBottom:"12px"},children:Kt}),o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:()=>{We&&Wt()},disabled:Pe||qe,theme:b,dark:y,styles:s,style:{marginTop:"8px"},children:qe?"EXECUTING...":St})]})]})})}return null},_i=$i,el=({options:e,selectedIndex:t,onSelect:n,primaryColor:s,dark:r=!1,textPrimary:a="#111827",textSecondary:l="#6b7280",trackColor:d})=>{const u=e.length-1,c=d||(r?"#3a3a3a":"#d1d5db"),f=r?"4px":"50%",p=r?"none":"2px solid white",g=r?"none":`0 0 0 1px ${s}`;return o.jsxs("div",{style:{width:"100%",userSelect:"none"},children:[o.jsxs("div",{style:{position:"relative",paddingBottom:"4px"},children:[o.jsx("div",{style:{position:"absolute",top:"50%",left:0,right:0,height:"4px",background:c,borderRadius:"2px",transform:"translateY(-50%)",pointerEvents:"none"}}),o.jsx("div",{style:{position:"absolute",top:"50%",left:0,width:`${t/u*100}%`,height:"4px",background:s,borderRadius:"2px",transform:"translateY(-50%)",pointerEvents:"none",transition:"width 0.15s ease"}}),o.jsx("input",{type:"range","aria-label":"Lock duration","aria-valuetext":e[t]?.label,"data-spiceflow-focus":!0,min:0,max:u,step:1,value:t,onChange:x=>n(Number(x.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}})]}),o.jsx("div",{style:{display:"flex",justifyContent:"space-between",marginTop:"6px"},children:e.map((x,h)=>o.jsxs("div",{onClick:()=>n(h),style:{display:"flex",flexDirection:"column",alignItems:h===0?"flex-start":h===u?"flex-end":"center",cursor:"pointer",flex:1},children:[o.jsx("span",{style:{fontSize:"12px",fontWeight:h===t?700:400,color:h===t?a:l,whiteSpace:"nowrap",transition:"color 0.15s, font-weight 0.15s"},children:x.label}),x.highlight&&o.jsx("span",{style:{fontSize:"10px",color:l,whiteSpace:"nowrap"},children:"(most common)"})]},h))}),o.jsx("style",{children:`
67
67
  input[type='range']::-webkit-slider-thumb {
68
68
  -webkit-appearance: none;
69
69
  width: 20px;
@@ -87,7 +87,7 @@
87
87
  input[type='range']::-webkit-slider-thumb:hover {
88
88
  transform: scale(1.12);
89
89
  }
90
- `})]})},hl=i.memo(ml);function gl(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(),r=s===1||s===21||s===31?"st":s===2||s===22?"nd":s===3||s===23?"rd":"th";return`${n[t.getMonth()]} ${s}${r} ${t.getFullYear()}`}const xl=({label:e,value:t,fontFamily:n,dark:s=!1,textPrimary:r="#111827",textSecondary:a="#6b7280"})=>o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[o.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 14 14",fill:"none",style:{flexShrink:0},children:[o.jsx("circle",{cx:"7",cy:"7",r:"6.5",stroke:a,strokeWidth:"1.2"}),o.jsx("path",{d:"M7 6v4",stroke:a,strokeWidth:"1.2",strokeLinecap:"round"}),o.jsx("circle",{cx:"7",cy:"4.5",r:"0.7",fill:a})]}),o.jsx("span",{style:{fontSize:"13px",color:a,fontFamily:n},children:e})]}),o.jsx("span",{style:{fontSize:s?"17px":"13px",fontWeight:700,color:r,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.3px"},children:t})]}),xr=i.memo(xl),yl=({isOpen:e,data:t,isLocking:n,lockError:s,onContinue:r,onClose:a,primaryColor:c,fontFamily:d,dark:u=!1})=>{const{dk:l}=m.useSpiceBrand(),[f,p]=i.useState(!1),[g,x]=i.useState(!0),h=u?l.cardBg:"#ffffff",y=l.textPrimary,C=l.textSecondary,I=u?l.inputPlaceholder:"#9ca3af",k=u?l.successBg:"#d1fae5",M=u?l.successBorder:"#6ee7b7",w=u?l.successText:"#065f46",b=l.errorBg,B=l.errorBorder;i.useEffect(()=>{e||p(!1)},[e]);const S=()=>{p(!0),setTimeout(a,300)};if(!e||!t)return null;const F=[{label:"NETWORK",value:t.sourceNetwork.toUpperCase()},{label:"DEPOSITED AMOUNT",value:`${t.depositedAmount} ${t.depositedSymbol}`,positive:!0}];return o.jsxs("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:10,animation:f?"lockSlideDown 0.3s ease-in":"lockSlideUp 0.3s ease-out",pointerEvents:"auto"},children:[o.jsxs("div",{style:{backgroundColor:h,width:"100%",padding:"18px 24px",boxShadow:u?"0 -4px 20px rgba(0,0,0,0.4)":"0 -4px 20px rgba(0,0,0,0.15)"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",backgroundColor:k,border:`1px solid ${M}`,borderRadius:"8px",padding:"10px 14px",marginBottom:"16px"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[o.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[o.jsx("circle",{cx:"10",cy:"10",r:"10",fill:"#10b981"}),o.jsx("path",{d:"M6 10l3 3 5-6",stroke:"#fff",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),o.jsx("span",{style:{fontSize:"13px",fontWeight:700,color:w,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.3px"},children:"CONFIRMED TRANSACTION"})]}),t.explorerUrl&&o.jsxs("a",{href:t.explorerUrl,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"12px",color:w,textDecoration:"none",display:"flex",alignItems:"center",gap:"4px",fontFamily:d},children:["View on explorer",o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:o.jsx("path",{d:"M2.5 9.5L9.5 2.5M9.5 2.5H5M9.5 2.5V7"})})]})]}),o.jsxs("div",{onClick:()=>x(R=>!R),style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer",marginBottom:"8px"},children:[o.jsx("span",{style:{fontSize:"13px",fontWeight:500,color:C,fontFamily:d},children:"Transaction Details"}),o.jsxs("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[o.jsx(vn,{color:C,direction:g?"up":"down"}),o.jsx("button",{onClick:R=>{R.stopPropagation(),S()},style:{background:"none",border:"none",cursor:"pointer",padding:"2px",color:C,display:"flex",alignItems:"center"},children:o.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:o.jsx("path",{d:"M11 3L3 11M3 3l8 8",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round"})})})]})]}),o.jsx("div",{style:{overflow:"hidden",maxHeight:g?"200px":"0",opacity:g?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease",marginBottom:g?"16px":"8px",display:"flex",flexDirection:"column",gap:"10px"},children:F.map(R=>o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("span",{style:{fontSize:"12px",fontWeight:500,color:I,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.5px"},children:R.label}),o.jsx("span",{style:{fontSize:"12px",fontWeight:600,color:R.positive?"#10b981":y,fontFamily:'"IBM Plex Mono", monospace'},children:R.value})]},R.label))}),s&&o.jsx("div",{style:{marginBottom:"12px",padding:"10px 14px",backgroundColor:b,border:`1px solid ${B}`,borderRadius:"6px"},children:o.jsx("p",{style:{color:"#ef4444",fontSize:"13px",margin:0,fontFamily:d},children:s})}),o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:r,disabled:n,loading:n,dark:u,styles:{button:{backgroundColor:c}},style:{height:"48px"},children:n?"LOCKING...":"CONTINUE \u2192"}),o.jsx("div",{style:{marginTop:"12px",display:"flex",justifyContent:"center"},children:o.jsx("img",{src:Os,alt:"Powered by SpiceNet",style:{height:"auto",width:"130px"}})})]}),o.jsx("style",{children:`
90
+ `})]})},tl=i.memo(el);function nl(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(),r=s===1||s===21||s===31?"st":s===2||s===22?"nd":s===3||s===23?"rd":"th";return`${n[t.getMonth()]} ${s}${r} ${t.getFullYear()}`}const sl=({label:e,value:t,fontFamily:n,dark:s=!1,textPrimary:r="#111827",textSecondary:a="#6b7280"})=>o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[o.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 14 14",fill:"none",style:{flexShrink:0},children:[o.jsx("circle",{cx:"7",cy:"7",r:"6.5",stroke:a,strokeWidth:"1.2"}),o.jsx("path",{d:"M7 6v4",stroke:a,strokeWidth:"1.2",strokeLinecap:"round"}),o.jsx("circle",{cx:"7",cy:"4.5",r:"0.7",fill:a})]}),o.jsx("span",{style:{fontSize:"13px",color:a,fontFamily:n},children:e})]}),o.jsx("span",{style:{fontSize:s?"17px":"13px",fontWeight:700,color:r,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.3px"},children:t})]}),tr=i.memo(sl),ol=({isOpen:e,data:t,isLocking:n,lockError:s,onContinue:r,onClose:a,primaryColor:l,fontFamily:d,dark:u=!1})=>{const{dk:c}=m.useSpiceBrand(),[f,p]=i.useState(!1),[g,x]=i.useState(!0),h=u?c.cardBg:"#ffffff",b=c.textPrimary,y=c.textSecondary,I=u?c.inputPlaceholder:"#9ca3af",v=u?c.successBg:"#d1fae5",D=u?c.successBorder:"#6ee7b7",k=u?c.successText:"#065f46",w=c.errorBg,M=c.errorBorder;i.useEffect(()=>{e||p(!1)},[e]);const A=()=>{p(!0),setTimeout(a,300)};if(!e||!t)return null;const T=[{label:"NETWORK",value:t.sourceNetwork.toUpperCase()},{label:"DEPOSITED AMOUNT",value:`${t.depositedAmount} ${t.depositedSymbol}`,positive:!0}];return o.jsxs("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:10,animation:f?"lockSlideDown 0.3s ease-in":"lockSlideUp 0.3s ease-out",pointerEvents:"auto"},children:[o.jsxs("div",{style:{backgroundColor:h,width:"100%",padding:"18px 24px",boxShadow:u?"0 -4px 20px rgba(0,0,0,0.4)":"0 -4px 20px rgba(0,0,0,0.15)"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",backgroundColor:v,border:`1px solid ${D}`,borderRadius:"8px",padding:"10px 14px",marginBottom:"16px"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[o.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[o.jsx("circle",{cx:"10",cy:"10",r:"10",fill:"#10b981"}),o.jsx("path",{d:"M6 10l3 3 5-6",stroke:"#fff",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),o.jsx("span",{style:{fontSize:"13px",fontWeight:700,color:k,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.3px"},children:"CONFIRMED TRANSACTION"})]}),t.explorerUrl&&o.jsxs("a",{href:t.explorerUrl,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"12px",color:k,textDecoration:"none",display:"flex",alignItems:"center",gap:"4px",fontFamily:d},children:["View on explorer",o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:o.jsx("path",{d:"M2.5 9.5L9.5 2.5M9.5 2.5H5M9.5 2.5V7"})})]})]}),o.jsxs("div",{onClick:()=>x(B=>!B),style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer",marginBottom:"8px"},children:[o.jsx("span",{style:{fontSize:"13px",fontWeight:500,color:y,fontFamily:d},children:"Transaction Details"}),o.jsxs("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[o.jsx(Cn,{color:y,direction:g?"up":"down"}),o.jsx("button",{onClick:B=>{B.stopPropagation(),A()},style:{background:"none",border:"none",cursor:"pointer",padding:"2px",color:y,display:"flex",alignItems:"center"},children:o.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:o.jsx("path",{d:"M11 3L3 11M3 3l8 8",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round"})})})]})]}),o.jsx("div",{style:{overflow:"hidden",maxHeight:g?"200px":"0",opacity:g?1:0,transition:"max-height 0.3s ease, opacity 0.3s ease",marginBottom:g?"16px":"8px",display:"flex",flexDirection:"column",gap:"10px"},children:T.map(B=>o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsx("span",{style:{fontSize:"12px",fontWeight:500,color:I,fontFamily:'"IBM Plex Mono", monospace',letterSpacing:"0.5px"},children:B.label}),o.jsx("span",{style:{fontSize:"12px",fontWeight:600,color:B.positive?"#10b981":b,fontFamily:'"IBM Plex Mono", monospace'},children:B.value})]},B.label))}),s&&o.jsx("div",{style:{marginBottom:"12px",padding:"10px 14px",backgroundColor:w,border:`1px solid ${M}`,borderRadius:"6px"},children:o.jsx("p",{style:{color:"#ef4444",fontSize:"13px",margin:0,fontFamily:d},children:s})}),o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:r,disabled:n,loading:n,dark:u,styles:{button:{backgroundColor:l}},style:{height:"48px"},children:n?"LOCKING...":"CONTINUE \u2192"}),o.jsx("div",{style:{marginTop:"12px",display:"flex",justifyContent:"center"},children:o.jsx("img",{src:Fs,alt:"Powered by SpiceNet",style:{height:"auto",width:"130px"}})})]}),o.jsx("style",{children:`
91
91
  @keyframes lockSlideUp {
92
92
  from { transform: translateY(100%); }
93
93
  to { transform: translateY(0); }
@@ -100,9 +100,9 @@
100
100
  from { transform: rotate(0deg); }
101
101
  to { transform: rotate(360deg); }
102
102
  }
103
- `})]})};async function yr(e,t,n){if(n)return{decimals:n.decimals,symbol:n.symbol,name:n.name,logoURI:n.logo};const[s,r,a]=await Promise.all([an.readContract(e,{address:t,abi:E.erc20Abi,functionName:"decimals"}).catch(()=>18),an.readContract(e,{address:t,abi:E.erc20Abi,functionName:"symbol"}).catch(()=>"TOKEN"),an.readContract(e,{address:t,abi:E.erc20Abi,functionName:"name"}).catch(()=>"TOKEN")]);return{decimals:Number(s),symbol:r,name:a,logoURI:void 0}}function Cl(e){const t=new Map;for(const n of e){if(n.amount<=0n)continue;const s=E.getAddress(n.token),r=E.getAddress(n.to),a=`${s.toLowerCase()}:${r.toLowerCase()}`,c=t.get(a);c?c.amount+=n.amount:t.set(a,{token:s,to:r,amount:n.amount})}return[...t.values()]}function bl(e,t){return`0x${t}${e.slice(4)}`}function to(e,t){return Cr(e,t)}function Cr(e,t,n){const s=ts(t,e),r=Math.floor(Date.now()/1e3)+60*10,a=T.hashChainBatches(s);return{user:e,...n?{chainAuthorizations:n}:{},intents:[{mode:"7702",signatureType:"ecdsa",signature:"0x00",nbf:0,exp:r,chainBatches:a.map((c,d)=>({hash:c.hash,chainId:c.chainId,tokenTransfers:s[d].domain==="spicenet"?[]:s[d].tokenTransfers??[],calls:c.calls}))}]}}function cn(e,t,n,s){if(e.some(f=>f.domain==="spicenet"))return e;const r=n?.intents.flatMap(f=>f.batches),a=f=>f.from==="escrow",c=e.map(f=>{const p=r?.find(w=>w.chainId===f.chainId);if(!p)return f;const g=tn(p),x=g.totalFee;if(x<=0n)return f;const h=(f.tokenTransfers??[]).find(w=>a(w)&&E.getAddress(w.to).toLowerCase()===t.toLowerCase()&&!T.isNativeToken(E.getAddress(w.token)));if(!h)return f;const y=E.getAddress(h.token);let C=!1;const I=(f.tokenTransfers??[]).map(w=>C||!a(w)||E.getAddress(w.to).toLowerCase()!==t.toLowerCase()||E.getAddress(w.token).toLowerCase()!==y.toLowerCase()?w:(C=!0,{...w,amount:s?.payoutAlreadyGross?BigInt(w.amount):BigInt(w.amount)+x}));if(!C)return f;const k=[];g.spicenetFee>0n&&k.push({to:y,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[T.SPICE_PLATFORM_FEE_RECIPIENT,g.spicenetFee]})});const M=g.gasFee+g.bridgeFee;return M>0n&&k.push({to:y,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[T.SPICE_GAS_FEE_RECIPIENT,M]})}),{...f,tokenTransfers:I,calls:[...k,...f.calls]}}),d=c.flatMap(f=>(f.tokenTransfers??[]).filter(a).map(p=>{const g=E.getAddress(p.token),x=E.getAddress(p.to),h=[{token:g,to:x,amount:BigInt(p.amount)}];return{chainId:f.chainId,transfers:Cl(h)}}));if(d.length===0)return e;const u=s?.requestTimestampMs??Date.now(),l=BigInt(Math.floor(u/1e3))+3600n;return[{chainId:T.SPICENET_NATIVE_CHAIN_ID,domain:"spicenet",tokenTransfers:[],calls:d.map((f,p)=>{const g=E.keccak256(E.encodeAbiParameters([{type:"address"},{type:"address"},{type:"uint256"},{type:"uint256"},{type:"uint256"}],[t,f.transfers[0].token,f.transfers.reduce((h,y)=>h+y.amount,0n),BigInt(f.chainId),BigInt(u+p)])),x=bl(g,"77");return{to:"0x0000000000000000000000000000000000000000",value:0n,data:E.encodeFunctionData({abi:T.spicenetAbi,functionName:"createWithdrawalRequest",args:[{chainId:`evm:${f.chainId}`,idempotenceKey:x,nbf:0n,exp:l,metadata:"{}",transfers:f.transfers.map(h=>({token:h.token.toLowerCase(),to:h.to,amount:h.amount}))}]})}})},...c]}async function no(e){const{extWc:t,sourceClient:n,recipient:s,tokenAddr:r,isNative:a,amount:c}=e;if(c<=0n)return;const d=a?await t.sendTransaction({to:s,value:c,chain:e.viemChain}):await t.sendTransaction({to:r,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[s,c]}),chain:e.viemChain});if((await n.waitForTransactionReceipt({hash:d,timeout:12e4,pollingInterval:2e3,confirmations:1})).status!=="success")throw new Error("Embedded wallet funding failed")}const wl=60*60;function ms(e,t){return t?e.some(n=>(n.tokenTransfers??[]).some(s=>s.from==="escrow"&&BigInt(s.amount)>=t.grossAmount)):!1}function br(e){return!e.isSemi7702&&e.isDirectDeposit&&!e.isSourceDestToken}function so(e){const t=e.selectedAsset?.asset,n=e.selectedAsset?.amount;if(!(!t||!n))return E.parseUnits(n,t.decimals)}function wr(e){return e.map(t=>({r:t.r,s:t.s,yParity:t.yParity,address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce)}))}async function hs({user:e,batches:t,authorizations:n,adjustBatchesForEstimate:s}){let r=t;const a=wr(n);for(let c=0;c<10;c+=1){const d=await m.relayerService.estimateActionFees(Cr(e,r,a)),u=await s({feeEstimate:d,batches:r});if(!u||Ho(r,u))return r;r=u}throw new Error("Fee estimate did not converge. Please retry.")}function oo(e){return{chainId:e.sourceChainId,calls:e.isNative?[{to:e.target,value:e.amount,data:"0x"}]:[{to:e.tokenAddr,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[e.target,e.amount]})}]}}function dn(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.parseUnits(e.selectedAsset.amount,n.decimals),r=t?.grossAmount??s;return e.resolveLockBatches({amount:e.selectedAsset.amount,amountWei:s,grossAmount:E.formatUnits(r,n.decimals),grossAmountWei:r})}async function gs(e,t,n){const s=[...new Set(n.filter(a=>a.domain!=="spicenet").map(a=>a.chainId))],r=[];for(const a of s){const c=m.getClientForChain(a),d=m.getDelegateContractAddress(a),u=await T.getAccountNonce(t,c),l=await e.actions.signAuthorization({contractAddress:d,chainId:a,nonce:Number(u)});r.push(l)}return r}async function ro(e,t,n){const s=e.isSemi7702&&e.providerEmbeddedAddress||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 r=n??await gs(e,s,t),a=T.hashChainBatches(t),c=Math.floor(Date.now()/1e3)+wl,d=a.map(x=>x.hash),u=E.keccak256(E.encodeAbiParameters([{type:"string"},{type:"uint256"},{type:"uint256"},{type:"bytes32[]"}],["ecdsa",0n,BigInt(c),d])),l=await e.actions.signMessage({raw:u}),f=typeof l=="string"?l:l.signature;if(!f)throw new Error("Failed to sign intent authorization");const p={mode:"7702",signatureType:"ecdsa",signature:f,nbf:0,exp:c,chainBatches:a.map((x,h)=>{const y=t[h],C=y.domain==="spicenet";return{hash:x.hash,chainId:x.chainId,tokenTransfers:C?[]:y.tokenTransfers??[],calls:x.calls}})},g=await m.relayerService.createAction({user:s,chainAuthorizations:wr(r),intents:[p]});if(g){const x=m.createInitialSteps(t,m.getChainName),[h,y]=g.intentIds[0].split("/"),C=parseInt(y||"0",10),I=g.intentIds[0];e.beginStatusTracking(g.intentIds[0],x),await Lo({actionId:h,intentIndex:C,intentId:I,totalSteps:t.length,isSpicenetStep:k=>t[k]?.domain==="spicenet",maxExecuteAttemptsForStep:k=>t[k]?.domain==="spicenet"?6:3,onStepUpdate:e.applyStepUpdate,maxPolls:72})}}async function kl(e){let t=dn(e);if(t.length===0)throw new Error("No lock batches configured");const n=e.isSemi7702&&e.providerEmbeddedAddress||e.address;if(!e.isConnected||!n)throw new Error("Please connect your wallet to continue");const s=await gs(e,n,t),r=Date.now();let a=cn([...t],n,void 0,{requestTimestampMs:r}),c;a=await hs({user:n,batches:a,authorizations:s,adjustBatchesForEstimate:({feeEstimate:d})=>{const u=En(d,{symbol:e.selectedAsset?.asset.symbol??"",decimals:e.selectedAsset?.asset.decimals??18,actionAmount:so(e)});return u?(c={grossAmount:u.grossAmount,netAmount:u.netAmount,feeAmount:u.totalFee??0n},t=dn(e,c),cn([...t],n,d,{payoutAlreadyGross:ms(t,c),requestTimestampMs:r})):null}}),await ro(e,a,s)}async function vl(e){if(!e.selectedAsset?.asset||!e.selectedAsset.amount)throw new Error("Select an asset and enter an amount");const t=e.embeddedWalletAddress||e.providerEmbeddedAddress||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=e.selectedAsset.asset,r=E.parseUnits(e.selectedAsset.amount,s.decimals),a=s.chainId,c=e.escrowAddress||T.getEscrowContractAddress(a),d=T.normalizeNativeTokenAddress(s.address),u=s.isNative||T.isNativeToken(d),l=Date.now();let f;const p=n.some(I=>I.tokenTransfers?.some(k=>k.from==="escrow")),g=I=>oo({sourceChainId:a,target:c,tokenAddr:d,isNative:u,amount:I}),x=(I,k,M,w)=>{const b=g(I);if(!p)return[b,...k];const B=cn([...k],t,M,{payoutAlreadyGross:ms(k,w),requestTimestampMs:l});return[b,...B]};let h=dn(e),y=x(r,h);const C=await gs(e,t,y);p&&(y=await hs({user:t,batches:y,authorizations:C,adjustBatchesForEstimate:({feeEstimate:I})=>{const k=En(I,{symbol:s.symbol,decimals:s.decimals,actionAmount:r});return k?(f={grossAmount:k.grossAmount,netAmount:k.netAmount,feeAmount:k.totalFee??0n},h=dn(e,f),x(f.grossAmount,h,I,f)):null}})),await ro(e,y,C)}async function Sl(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||e.providerEmbeddedAddress;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 R=e.selectedAsset.asset,v=E.parseUnits(e.selectedAsset.amount,R.decimals),A=await e.onLockExecute({asset:R,amount:e.selectedAsset.amount,amountWei:v,lockDurationMonths:e.selectedDuration?.months??0,chainBatches:F});A&&e.onLockSuccess?.(A);return}const n=e.resolveLockBatches();if(n.length===0)throw new Error("No lock batches configured");const s=e.selectedAsset.asset,r=E.parseUnits(e.selectedAsset.amount,s.decimals),a=s.chainId,c=e.escrowAddress||T.getEscrowContractAddress(a),d=T.normalizeNativeTokenAddress(s.address),u=s.isNative||T.isNativeToken(d),l=n.some(F=>F.tokenTransfers?.some(R=>R.from==="escrow")),f=Date.now();let p;const g=F=>oo({sourceChainId:a,target:c,tokenAddr:d,isNative:u,amount:F}),x=(F,R,v,A)=>{const N=g(F);if(!l)return[N,...R];const j=cn([...R],t,v,{payoutAlreadyGross:ms(R,A),requestTimestampMs:f});return[N,...j]};let h=dn(e),y=x(r,h);const C=await gs(e,t,y);l&&(y=await hs({user:t,batches:y,authorizations:C,adjustBatchesForEstimate:({feeEstimate:F})=>{const R=En(F,{symbol:s.symbol,decimals:s.decimals,actionAmount:r});return R?(p={grossAmount:R.grossAmount,netAmount:R.netAmount,feeAmount:R.totalFee??0n},h=dn(e,p),x(p.grossAmount,h,F,p)):null}}));const I=p?.grossAmount??r,k=await e.externalWallet.getEthereumProvider();await Un(k,a);const M=m.getChainConfig(a),w=E.createWalletClient({account:e.externalWalletAddress,chain:M?.viemChain,transport:E.custom(k)}),b=m.getClientForChain(a),B=F=>no({extWc:w,sourceClient:b,recipient:t,tokenAddr:d,isNative:u,amount:F,viemChain:M?.viemChain});await B(I);let S=I;if(l)for(let F=0;F<4;F+=1){y=await hs({user:t,batches:y,authorizations:C,adjustBatchesForEstimate:({feeEstimate:v})=>{const A=En(v,{symbol:s.symbol,decimals:s.decimals,actionAmount:r});return A?(p={grossAmount:A.grossAmount,netAmount:A.netAmount,feeAmount:A.totalFee??0n},h=dn(e,p),x(p.grossAmount,h,v,p)):null}});const R=p?.grossAmount??r;if(R<=S)break;await B(R-S),S=R}await ro(e,y,C)}async function Il(e){if(!e.selectedAsset?.asset||!e.selectedAsset.amount||!e.requiresRelayerFeeEstimate)return null;if(e.isSemi7702||br(e)){const c=e.embeddedWalletAddress||e.providerEmbeddedAddress||e.address;if(!c)throw new Error("Embedded wallet not available \u2014 sign in to create one before locking");let d=dn(e);if(d.length===0)throw new Error("No lock batches configured");const u=e.selectedAsset.asset,l=E.parseUnits(e.selectedAsset.amount,u.decimals),f=u.chainId,p=e.escrowAddress||T.getEscrowContractAddress(f),g=T.normalizeNativeTokenAddress(u.address),x=u.isNative||T.isNativeToken(g),h=d.some(w=>w.tokenTransfers?.some(b=>b.from==="escrow")),y=w=>oo({sourceChainId:f,target:p,tokenAddr:g,isNative:x,amount:w}),C=(w,b,B)=>{const S=y(w);if(!h)return[S,...b];const F=cn([...b],c,B,{payoutAlreadyGross:b.some(R=>(R.tokenTransfers??[]).some(v=>v.from==="escrow"&&BigInt(v.amount)>=w))});return[S,...F]};let I=C(l,d),k=null,M;for(let w=0;w<4;w+=1){const b=await m.relayerService.estimateActionFees(to(c,I)),B=En(b,{symbol:u.symbol,decimals:u.decimals,actionAmount:l});if(!B)return k;const S={grossAmount:B.grossAmount,netAmount:B.netAmount,feeAmount:B.totalFee??0n},F=M?.grossAmount===S.grossAmount&&M?.netAmount===S.netAmount&&M?.feeAmount===S.feeAmount;if(k=B,M=S,d=dn(e,S),I=C(S.grossAmount,d,b),F)break}return k}const t=e.address;if(!e.isConnected||!t)throw new Error("Please connect your wallet to continue");let n=dn(e);if(n.length===0)throw new Error("No lock batches configured");let s=cn([...n],t),r=null;for(let c=0;c<4;c+=1){const d=await m.relayerService.estimateActionFees(to(t,s)),u=En(d,{symbol:e.selectedAsset.asset.symbol,decimals:e.selectedAsset.asset.decimals,actionAmount:so(e)});if(!u)return null;const l={grossAmount:u.grossAmount},f=r?.grossAmount===u.grossAmount&&r?.netAmount===u.netAmount&&r?.totalFee===u.totalFee;if(r=u,n=dn(e,l),s=cn([...n],t,d,{payoutAlreadyGross:ms(n,l)}),f)break}if(r)return r;const a=await m.relayerService.estimateActionFees(to(t,s));return En(a,{symbol:e.selectedAsset.asset.symbol,decimals:e.selectedAsset.asset.decimals,actionAmount:so(e)})}async function Al(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 r=s.find(f=>f.chainId===e.lockChainId)||s[0];if(!r)throw new Error("No lock batch for lock chain");const a=await t.getEthereumProvider();await Un(a,e.lockChainId);const c=m.getChainConfig(e.lockChainId),d=E.createWalletClient({account:n,chain:c?.viemChain,transport:E.custom(a)}),u=m.getClientForChain(e.lockChainId);let l;for(const f of r.calls){const p=await d.sendTransaction({to:f.to,data:f.data,value:f.value,chain:c?.viemChain});if((await u.waitForTransactionReceipt({hash:p,timeout:12e4,pollingInterval:2e3,confirmations:1})).status!=="success")throw new Error("Lock transaction failed");l=p}l&&e.onLockSuccess?.(l)}async function El(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}e.ui.setIsExecuting(!0),e.ui.setError(null);const t=n=>{console.error("[SpiceLockModal] lock failed:",n);const s=m.sanitizeError(n,""),r=typeof n?.shortMessage=="string"?n.shortMessage:typeof n?.message=="string"?n.message:"";e.ui.setError(s||r||"Transaction failed. Please try again.")};if(e.isSemi7702){if(e.isSourceDestToken){try{await Al(e)}catch(n){t(n)}finally{e.ui.setIsExecuting(!1)}return}e.ui.setShowStatusPanel(!0);try{await Sl(e)}catch(n){t(n)}finally{e.ui.setIsExecuting(!1)}return}e.ui.setShowStatusPanel(!0);try{br(e)?await vl(e):await kl(e)}catch(n){t(n)}finally{e.ui.setIsExecuting(!1)}}const kr=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,lockBatches:s,lockTokenSymbol:r,lockTokenLogoURI:a,destinationInputHook:c,sourceAssetInputHook:d,lockDurationHook:u,lockChainId:l,durationOptions:f,votingPowerEstimate:p,escrowAddress:g,includeWalletAssets:x=!1,destinationTokenAddress:h,onLockSuccess:y,onLockExecute:C,sourceToDestinationConversionRate:I,estimatedOutputAmount:k,onAddFunds:M,buildSpicenetBatch:w,styles:b,dark:B=!1})=>{const{theme:S,dark:F,primaryColor:R,dk:v}=m.useSpiceBrand(b,B),A=S.typography.fontFamily,N=i.useContext(m.SpiceFlowProviderContext),j=N?.mode||"7702",D=!!N?.isWhitelistGateActive,z=j!=="7702",V=i.useMemo(()=>N?.supportedChainIds??[],[N?.supportedChainIds]),O=i.useMemo(()=>{if(D)return[];const ne=N?.allowedTokens;if(!ne||ne.length===0)return[];const Se=new Set(ne.map(pt=>pt.toLowerCase())),Et=[],xt=new Set;for(const pt of V){const Lt=m.getChainConfig(pt);for(const Qt of Lt?.supportedTokens??[]){if(!Se.has(Qt.symbol.toLowerCase()))continue;const Nt=`${pt}:${Qt.address.toLowerCase()}`;xt.has(Nt)||(xt.add(Nt),Et.push(E.getAddress(Qt.address)))}}return Et},[N?.allowedTokens,V,D]),P=F?v.cardBg:b?.assetSelector?.backgroundColor||b?.secondaryBackground||"#e9e9e9",W=F?`1px solid ${v.cardBorder}`:"0.5px solid #A8A8A7",Q=F?"12px":"6px",ae=F?v.textPrimary:"#111827",K=F?v.textSecondary:"#6b7280",G=i.useMemo(()=>({...b,assetSelector:{...b?.assetSelector,backgroundColor:F?v.cardBg:b?.assetSelector?.backgroundColor,borderRadius:F?"12px":b?.assetSelector?.borderRadius},secondaryBackground:F?v.cardBg:b?.secondaryBackground}),[b,F]),ie=i.useMemo(()=>F?{...S,colors:{...S.colors,secondary:v.cardBg,surfaceHover:v.hoverBg,border:v.cardBorder,borderHover:v.inputBorder}}:S,[F,S]),[U,X]=i.useState(null),[fe,be]=i.useState(0),$=u?.selectedDurationIdx??fe,de=u?.setSelectedDurationIdx??be,[ue,Ie]=i.useState(!1),[_,L]=i.useState(null),[J,oe]=i.useState(null),[ye,H]=i.useState(!1),[Y,xe]=i.useState(!1),[re,Be]=i.useState(null),[Xe,et]=i.useState(!1),Ct=i.useRef(0),[bt,me]=i.useState(!1),[Re,ze]=i.useState(null);Xt.useWalletClient(),Xt.useSwitchChain();const{chain:je,address:rt}=Xt.useAccount();Xt.useConfig();const Bt=i.useRef(je);i.useEffect(()=>{Bt.current=je},[je]);const tt=m.useWallet(),{isReady:Z,isAuthenticated:Ke,isConnected:nt,address:wt,provider:De,actions:Jt}=tt,{externalWallet:$e,embeddedAddress:Dt,activeWallet:le,activeAddress:Te}=m.useProviderWallets(),{intentStatus:ke,beginStatusTracking:Me,applyStepUpdate:kt,clearStatus:lt}=jn(),{assets:Wt,refetch:we}=Vn({address:wt,supportedChains:V,enabled:e&&nt&&!z&&!D,refetchInterval:3e4}),Ee=i.useMemo(()=>{if(D)return[];if(O.length===0)return Wt;const ne=new Set(O.map(Se=>Se.toLowerCase()));return Wt.filter(Se=>ne.has(Se.address.toLowerCase()))},[Wt,O,D]),jt=N?.embeddedWalletAddress,yt=N?.externalWalletAddress||rt,ge=z?Te??yt:jt,Ht=i.useMemo(()=>{if(!x)return[];if(D)return h?[E.getAddress(h)]:[];const ne=new Set,Se=[],Et=xt=>{if(!xt)return;const pt=xt.toLowerCase();ne.has(pt)||(ne.add(pt),Se.push(E.getAddress(xt)))};h&&Et(h);for(const xt of O)Et(xt);return Se},[x,z,h,O,D]),It=i.useMemo(()=>Ht.map(ne=>ne.toLowerCase()).sort().join(","),[Ht]),ct=i.useMemo(()=>JSON.stringify([...V||[]].sort()),[V]),[Le,Rt]=i.useState([]),st=i.useRef(0),Zt=i.useRef(async()=>{}),Pt=i.useCallback(async()=>{if(!x||!ge||Ht.length===0){st.current++,Rt([]);return}const ne=++st.current,Se=E.getAddress(ge),Et=z?V&&V.length>0?V:[l]:[l],xt=Ht.map(ft=>{const Ae=ft.toLowerCase();if(h&&m.addressesEqual(ft,h)){const mt=m.getChainConfig(l)?.supportedTokens?.find(ht=>m.addressesEqual(ht.address,Ae));return{address:ft,chainId:l,configToken:mt?{decimals:mt.decimals,symbol:mt.symbol,name:mt.name,logo:mt.logo}:void 0}}for(const mt of Et){const ht=m.getChainConfig(mt)?.supportedTokens?.find(q=>m.addressesEqual(q.address,Ae));if(ht)return{address:ft,chainId:mt,configToken:{decimals:ht.decimals,symbol:ht.symbol,name:ht.name,logo:ht.logo}}}return{address:ft,chainId:l}}),pt=new Map;for(const ft of xt){const Ae=pt.get(ft.chainId)||[];Ae.push(ft),pt.set(ft.chainId,Ae)}const Lt=async(ft,Ae)=>{try{const mt=await an.readContract(ft,{address:Ae.address,abi:E.erc20Abi,functionName:"balanceOf",args:[Se]}),ht=await yr(ft,Ae.address,Ae.configToken),q=ht.decimals;let se=ht.symbol,he=ht.name,ce=ht.logoURI;const Oe=!!h&&m.addressesEqual(Ae.address,h)&&Ae.chainId===l;Oe&&a&&(ce=a),Oe&&r&&!Ae.configToken&&(se==="TOKEN"&&(se=r),he==="TOKEN"&&(he=r));const Qe=parseFloat((Number(mt)/Math.pow(10,q)).toFixed(6));return{address:Ae.address,name:he,symbol:se,decimals:q,balance:mt,balanceFormatted:Qe,balanceUsd:0,logoURI:ce,isNative:!1,chainId:Ae.chainId}}catch{return null}},Qt=await Promise.all(Array.from(pt.entries()).map(async([ft,Ae])=>{let mt;try{mt=m.getClientForChain(ft)}catch{return[]}const ht=[],q=[];for(const he of Ae){const ce=ht.length;ht.push({address:he.address,abi:E.erc20Abi,functionName:"balanceOf",args:[Se]}),he.configToken||ht.push({address:he.address,abi:E.erc20Abi,functionName:"decimals",args:[]},{address:he.address,abi:E.erc20Abi,functionName:"symbol",args:[]},{address:he.address,abi:E.erc20Abi,functionName:"name",args:[]}),q.push({start:ce,item:he})}let se=null;try{se=await mt.multicall({contracts:ht})}catch{se=null}return se?q.map(({start:he,item:ce})=>{const Oe=se[he],Qe=Oe?.status==="success"?Oe.result:0n;let qt,Kt,$t,pn;if(ce.configToken)qt=ce.configToken.decimals,Kt=ce.configToken.symbol,$t=ce.configToken.name,pn=ce.configToken.logo;else{const Pe=se[he+1],ot=se[he+2],Yt=se[he+3];qt=Pe?.status==="success"?Number(Pe.result):18,Kt=ot?.status==="success"?ot.result:"TOKEN",$t=Yt?.status==="success"?Yt.result:Kt}const _t=!!h&&m.addressesEqual(ce.address,h)&&ce.chainId===l;_t&&a&&(pn=a),_t&&r&&!ce.configToken&&(Kt==="TOKEN"&&(Kt=r),$t==="TOKEN"&&($t=r));const fn=parseFloat((Number(Qe)/Math.pow(10,qt)).toFixed(6));return{address:ce.address,name:$t,symbol:Kt,decimals:qt,balance:Qe,balanceFormatted:fn,balanceUsd:0,logoURI:pn,isNative:!1,chainId:ce.chainId}}):(await Promise.all(Ae.map(he=>Lt(mt,he)))).filter(he=>he!==null)}));if(ne!==st.current)return;const Nt=Qt.flat();Rt(Nt)},[x,z,ge,It,ct,l,h,a,r]);i.useEffect(()=>{Zt.current=Pt},[Pt]),i.useEffect(()=>{if(!e||!x){Rt([]);return}Zt.current();const ne=setInterval(()=>{Zt.current()},15e3);return()=>clearInterval(ne)},[x,e,ge,It,ct,l,h]);const Gt=i.useCallback(()=>{Pt()},[Pt]),Ye=i.useMemo(()=>Le.filter(ne=>ne.balance>0n),[Le]),At=i.useMemo(()=>{if(z)return Ye.map(Se=>({...Se,_source:"wallet"}));if(!x)return Ee;const ne=[];for(const Se of Ye)ne.push({...Se,_source:"wallet"});for(const Se of Ee)ne.push({...Se,_source:"spice"});return ne},[z,x,Ye,Ee]),Mt=i.useMemo(()=>D?h?At.filter(ne=>m.addressesEqual(ne.address,h)&&ne.chainId===l):[]:At,[At,D,h,l]),dt=i.useRef(null),pe=i.useRef(null);i.useEffect(()=>{pe.current=U},[U]),i.useEffect(()=>{!D||!U?.asset||h&&m.addressesEqual(U.asset.address,h)&&U.asset.chainId===l||X(null)},[D,U?.asset,h,l]),i.useEffect(()=>{e||(X(null),L(null),oe(null),H(!1),xe(!1),Be(null),Ie(!1),me(!1),ze(null),et(!1),lt())},[e,lt]),i.useEffect(()=>{c&&c.assetAmount!==(U?.amount||"")&&X(ne=>ne&&{...ne,amount:c.assetAmount})},[c?.assetAmount]),i.useEffect(()=>{d&&d.assetAmount!==(U?.amount||"")&&X(ne=>ne&&{...ne,amount:d.assetAmount})},[d?.assetAmount]),i.useEffect(()=>{if(!z&&ke?.overallStatus==="success"&&ke.intentId&&dt.current!==ke.intentId&&wt&&ke.steps.find(ne=>ne.transactionHash)?.transactionHash){dt.current=ke.intentId;const ne=pe.current;if(!ne?.asset||!ne.amount||ne.asset._source==="wallet"||E.parseUnits(ne.amount,ne.asset.decimals)===0n)return;we()}},[ke,wt,l,we,z]);const We=parseFloat(U?.amount||"")||0,Ze=Rn(U?.asset?.displaySymbol||U?.asset?.symbol||"")&&We>0&&We<on,vt=i.useMemo(()=>U?.asset?U.asset._source==="wallet"?U.asset.balanceFormatted??0:Ee.find(ne=>m.addressesEqual(ne.address,U.asset.address)&&ne.chainId===U.asset.chainId)?.balanceFormatted??0:0,[U?.asset,Ee]),zt=We>0&&(re?parseFloat(E.formatUnits(re.grossAmount,re.decimals))>vt:We>vt),Ft=u?.selectedDuration??f[$]??f[0],Fe=i.useMemo(()=>!U?.asset||!h?!1:m.addressesEqual(U.asset.address,h)&&U.asset.chainId===l,[U?.asset,h,l]),Ut=i.useMemo(()=>We<=0?0:Fe?We:!I||I<=0?0:We/I,[We,I,Fe]),St=i.useMemo(()=>Ut<=0?null:Ut.toLocaleString(void 0,{maximumFractionDigits:2}),[Ut]),Tt=p&&Ut>0&&Ft?p(Ut,Ft.months):void 0,_e=i.useMemo(()=>We<=0?"$0.00":Fe&&I?(We*I).toLocaleString(void 0,{style:"currency",currency:"USD",maximumFractionDigits:2}):!I||I<=0?"$0.00":We.toLocaleString(void 0,{style:"currency",currency:"USD",maximumFractionDigits:2}),[We,I,Fe]),Ue=i.useMemo(()=>{if(!St)return null;const ne=parseFloat(St.replace(/,/g,""));return Fe&&I?(ne*I).toLocaleString(void 0,{maximumFractionDigits:2}):I?(ne*I).toLocaleString(void 0,{maximumFractionDigits:2}):null},[St,I,Fe]),at=i.useCallback(ne=>{X(Se=>({asset:ne,amount:Se?.asset?.address===ne.address&&Se?.asset?.chainId===ne.chainId&&Se.amount||""})),L(null),oe(null),xe(!1),Be(null),d?.setSelectedAsset&&d.setSelectedAsset({symbol:ne.symbol,address:ne.address,decimals:ne.decimals,chainId:ne.chainId})},[d?.setSelectedAsset]),te=i.useCallback(ne=>{X(Se=>Se&&{...Se,amount:ne}),L(null),oe(null),xe(!1),Be(null),c&&c.setAssetAmount(ne),d&&d.setAssetAmount(ne)},[c,d]),ee=i.useCallback(ne=>{if(typeof s=="function"){if(!U?.asset||!U.amount)throw new Error("Select an asset and enter an amount");return s({asset:U.asset,amount:ne?.amount??U.amount,amountWei:ne?.amountWei??E.parseUnits(U.amount,U.asset.decimals),grossAmount:ne?.grossAmount,grossAmountWei:ne?.grossAmountWei,feeAdjusted:!!ne})}return s},[s,U]),ve=i.useRef(null),qe=i.useMemo(()=>!U?.asset||We<=0?!1:z?!Fe&&!C:!0,[U,We,z,Fe,C]),ut=i.useCallback(()=>Il(ve.current),[]),gt=i.useMemo(()=>!U?.asset||We<=0?null:`${U.asset.address.toLowerCase()}:${U.asset.chainId}:${U.amount??""}`,[U?.asset?.address,U?.asset?.chainId,U?.amount,We]);i.useEffect(()=>{if(!e||ue)return;if(!U?.asset||We<=0){oe(null),H(!1),xe(!1),Be(null);return}if(!qe){oe(null),H(!1),xe(!0),Be(null);return}let ne=!1;const Se=async pt=>{const Lt=++Ct.current;pt||(oe(null),xe(!1),H(!0));try{const Qt=await ut();if(ne||Ct.current!==Lt)return;oe(null),xe(!0),Be(Qt)}catch(Qt){if(ne||Ct.current!==Lt)return;pt||(oe(m.sanitizeError(Qt,"Unable to calculate fees for this lock.")),xe(!1))}finally{!ne&&Ct.current===Lt&&!pt&&H(!1)}},Et=window.setTimeout(()=>{Se(!1)},250),xt=window.setInterval(()=>{Se(!0)},3e4);return()=>{ne=!0,clearTimeout(Et),window.clearInterval(xt)}},[e,ue,gt,qe,ut]),i.useEffect(()=>{if(ke?.overallStatus==="success"){const ne=ke.steps.find(Se=>Se.transactionHash);y?.(ne?.transactionHash)}},[ke?.overallStatus,y]);const Ot=x&&U?.asset?._source==="wallet"&&U?.asset?.chainId===l,Je=i.useCallback(()=>El(ve.current),[]),Ne=!!U?.asset&&We>0&&!Ze&&!zt&&!ue&&(!qe||Y&&!ye&&!J),Ge=_||J,He=o.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:"6px"},children:[o.jsx(Ks,{color:K}),o.jsxs("p",{style:{fontSize:"13px",color:K,margin:0,lineHeight:"1.5"},children:["Add ",r," by converting assets from your account"]})]});if(ve.current={selectedAsset:U,parsedAmount:We,selectedDuration:Ft,isInsufficientBalance:zt,isSemi7702:z,isSourceDestToken:Fe,isDirectDeposit:Ot,requiresRelayerFeeEstimate:qe,address:wt,embeddedWalletAddress:jt,providerEmbeddedAddress:Dt,externalWallet:$e,externalWalletAddress:yt,activeSignerWallet:le,activeSignerAddress:Te,isConnected:nt,ready:Z,authenticated:Ke,provider:De,actions:Jt,lockChainId:l,escrowAddress:g,onLockExecute:C,onLockSuccess:y,buildSpicenetBatch:w,resolveLockBatches:ee,beginStatusTracking:Me,applyStepUpdate:kt,refreshSpiceAssets:we,refreshWalletAssets:Gt,ui:{setError:L,setIsExecuting:Ie,setShowStatusPanel:et}},!e)return null;const Ve={backgroundColor:P,border:W,borderRadius:Q,padding:"16px",marginBottom:"16px"};return o.jsx(hn,{isOpen:e,onClose:t,title:`Add ${r} to your account`,subtitle:He,styles:b,dark:F,footerLinkText:"Spicenet accounts \u2192",overlayContent:bt?o.jsx("div",{}):void 0,closeOnBackdropClick:n,children:o.jsxs("div",{style:{padding:"0 24px 8px 24px",position:"relative"},children:[o.jsxs("div",{style:{marginBottom:"12px"},children:[M&&o.jsx("div",{style:{display:"flex",justifyContent:"flex-end",marginBottom:"6px"},children:o.jsx(Ys,{onClick:M,color:R,fontFamily:A})}),o.jsx("div",{style:{marginTop:"10px",fontSize:"13px",color:K,fontFamily:A},children:o.jsx(Qn,{assets:Mt,selectedAsset:U??void 0,onAssetSelect:at,onAmountChange:te,label:"Amount",showBalance:!0,showMaxButton:!0,theme:ie,styles:G})}),o.jsx("div",{style:{marginTop:"6px",paddingLeft:"4px",fontSize:"13px",color:K,fontFamily:A},children:_e})]}),o.jsxs("div",{style:Ve,children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"16px",borderBottom:F?`1px solid ${v.cardBorder}`:"1px solid #e5e7eb"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[a?o.jsx("img",{src:a,alt:r,style:{width:"32px",height:"32px",borderRadius:"50%",objectFit:"cover"}}):o.jsx("div",{style:{width:"32px",height:"32px",borderRadius:"50%",backgroundColor:F?v.inputBg:"#d1d5db",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"12px",fontWeight:700,color:ae},children:r.slice(0,2)}),o.jsx("span",{style:{fontSize:"16px",fontWeight:600,color:ae,fontFamily:A},children:r})]}),o.jsxs("div",{style:{textAlign:"right"},children:[o.jsx("div",{style:{fontSize:"22px",fontWeight:700,color:ae,fontFamily:A,lineHeight:1.1},children:St??"0.00"}),o.jsxs("div",{style:{fontSize:"12px",color:K,fontFamily:A,marginTop:"2px"},children:["~$",Ue??"0.00"]})]})]}),o.jsxs("div",{style:{paddingTop:"16px",paddingBottom:"16px",borderBottom:F?`1px solid ${v.cardBorder}`:"1px solid #e5e7eb"},children:[o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"16px"},children:[o.jsx("span",{style:{fontSize:"15px",fontWeight:500,color:K,fontFamily:A},children:"Lock Duration"}),o.jsx(vn,{color:K})]}),o.jsx(hl,{options:f,selectedIndex:$,onSelect:de,primaryColor:R,dark:F,textPrimary:ae,textSecondary:K})]}),o.jsxs("div",{style:{paddingTop:"12px",display:"flex",flexDirection:"column",gap:"8px"},children:[o.jsx(xr,{label:"Estimated Lock Expiry",value:Ft?.months!==void 0?gl(Ft.months):"\u2014",fontFamily:A,dark:F,textPrimary:ae,textSecondary:K}),p&&o.jsx(xr,{label:"Estimated voting power",value:Tt!==void 0?`${Tt} votes/epoch`:"\u2014",fontFamily:A,dark:F,textPrimary:ae,textSecondary:K})]})]}),qe&&o.jsx(cs,{fontFamily:A,textPrimary:ae,textSecondary:K,cardBg:P,cardBorder:W,resolvedDark:F,darkCardBorder:v.cardBorder,primaryColor:R,feePreview:re,isLoading:ye,errorText:J}),Ge&&o.jsx(Wn,{variant:"error",palette:v,fontFamily:A,style:{marginBottom:"12px"},children:Ge}),o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:Je,disabled:!Ne,loading:ue,dark:F,styles:{...b,button:{...b?.button,backgroundColor:R}},children:ue?Fe?"LOCKING...":"CONVERTING...":Ze?`MINIMUM ${on}`:ye&&qe?"CALCULATING FEES...":Fe?`LOCK ${r}`:`CONVERT TO ${r}`}),o.jsx(yl,{isOpen:bt,data:Re,isLocking:ue,lockError:Ge,onContinue:Je,onClose:()=>me(!1),primaryColor:R,fontFamily:A,dark:F}),ke&&Xe&&o.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:10,backgroundColor:F?"rgba(0, 0, 0, 0.45)":"rgba(255, 255, 255, 0.55)",backdropFilter:"blur(2px)",WebkitBackdropFilter:"blur(2px)",borderRadius:Q},children:o.jsx($s,{type:"lock",showStepBreakdown:!1,isOpen:!!ke&&ke.overallStatus!=="processing",isProcessing:ue||ke?.overallStatus==="processing",closeOnComplete:!1,onRetryTx:()=>{lt(),et(!1),Je()},onNewTx:()=>{lt(),et(!1),X(null),dt.current=null,we(),Gt()},onClose:()=>{lt(),et(!1)},onComplete:()=>{lt(),et(!1),X(null),dt.current=null,we(),Gt()},results:ke?.overallStatus==="success"||ke?.overallStatus==="failed"?ke.steps.map(ne=>({asset:{symbol:U?.asset?.symbol||r,address:U?.asset?.address||""},txHash:ne.transactionHash||"",success:ne.status==="success",amount:U?.amount})):void 0,chainName:m.getChainName(l),explorerUrl:m.getExplorerUrl(l,"").replace(/\/tx\/.*$/,"")||void 0,theme:S,styles:b,dark:F})})]})})};function vr(e){const t=i.useContext(m.SpiceFlowProviderContext),n=t?.embeddedWalletAddress,s=e?.enabled===!1?void 0:n,r=t?.network?{network:t.network,pollIntervalMs:e?.pollIntervalMs,chainIds:e?.chainIds??t.supportedChainIds,discoverWalletBalances:e?.discoverWalletBalances}:void 0;return{...rr(s,r),embeddedWalletAddress:n}}var jl="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 Fl=({appName:e,status:t,statusLabel:n,totalUsdValue:s,breakdownSubtitle:r,address:a,dk:c,dark:d=!1,showModeToggle:u,isEmbeddedMode:l=!0,onModeToggle:f})=>{const[p,g]=i.useState(!1),x=async()=>{a&&await m.copyToClipboard(a)&&(g(!0),setTimeout(()=>g(!1),2e3))},h=t==="active",y=n||(h?"Active":"Inactive"),C=h?"#10b981":"#9ca3af",I=o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Embedded:"})," Deposit assets into ",e," account and use them here."]}),o.jsxs("div",{children:[o.jsx("strong",{children:"External:"})," Use assets from your connected wallet here."]})]});return o.jsxs("div",{children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"4px"},children:[o.jsxs("div",{style:{fontSize:"13px",fontWeight:600,color:c.textPrimary},children:[e," Account"]}),u?o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[o.jsxs("button",{onClick:f,style:{display:"flex",alignItems:"center",gap:"4px",padding:"2px 8px",borderRadius:"9999px",backgroundColor:d?c.hoverBg:"#f3f4f6",border:d?`1px solid ${c.cardBorder}`:"1px solid #e5e7eb",cursor:"pointer",fontSize:"11px",fontWeight:600,fontFamily:'"IBM Plex Mono", monospace',color:c.textSecondary,transition:"background-color 150ms ease, border-color 150ms ease, color 150ms ease",letterSpacing:"0.02em"},children:[o.jsx("span",{children:l?"Embedded":"External"}),o.jsx("img",{src:jl,alt:"","aria-hidden":"true",style:{width:"11px",height:"11px",display:"block",...d?{filter:"invert(0.65)"}:{}}})]}),o.jsx(Jo,{content:I,label:"Account mode info",textColor:d?c.textPrimary:"#f9fafb",backgroundColor:d?c.cardBg:"#111827",borderColor:d?c.cardBorder:"rgba(255,255,255,0.08)",accentColor:d?c.textSecondary:"#6b7280",children:o.jsx("img",{src:Xs,alt:"","aria-hidden":"true",style:{width:"12px",height:"12px",display:"block",...d?{filter:"invert(0.65)"}:{}}})})]}):o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px",padding:"2px 8px",borderRadius:"9999px",backgroundColor:d?c.hoverBg:h?"#ecfdf5":"#f3f4f6",border:d?`1px solid ${c.cardBorder}`:h?"1px solid #a7f3d0":"1px solid #e5e7eb"},children:[o.jsx("div",{style:{width:"6px",height:"6px",borderRadius:"50%",backgroundColor:C}}),o.jsx("span",{style:{fontSize:"11px",fontWeight:500,color:d?c.textSecondary:h?"#065f46":"#6b7280"},children:y})]})]}),o.jsx("div",{style:{fontSize:"28px",fontWeight:700,color:c.textPrimary,lineHeight:1.2,marginBottom:"2px"},children:m.formatUsd(s)}),r&&o.jsx("div",{style:{fontSize:"12px",color:c.textSecondary,marginBottom:"8px"},children:r}),a&&o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[o.jsx("span",{style:{fontSize:"12px",fontFamily:'"IBM Plex Mono", monospace',color:d?c.textSecondary:"#9ca3af"},children:m.truncateAddress(a)}),o.jsx("button",{onClick:x,style:{padding:"2px 6px",fontSize:"10px",fontWeight:500,backgroundColor:"transparent",color:d?c.textSecondary:"#9ca3af",border:"none",cursor:"pointer",borderRadius:"4px",transition:"background-color 150ms ease, color 150ms ease"},title:"Copy address",children:p?"Copied":"Copy"})]})]})},Tl=i.memo(Fl),Bl=({pendingDeposits:e,onCompleteDeposit:t,dk:n,dark:s=!1})=>e.length===0?null:o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:"11px",fontWeight:600,letterSpacing:"1px",color:n.textSecondary,marginBottom:"8px",textTransform:"uppercase"},children:"Pending Deposits"}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:e.map((r,a)=>{const c=m.getChainConfig(r.chainId)?.displayName||`Chain ${r.chainId}`;return o.jsxs("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:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[o.jsx("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:r.tokenSymbol.charAt(0)}),o.jsxs("div",{children:[o.jsxs("div",{style:{fontSize:"13px",fontWeight:500,color:n.textPrimary},children:[r.amount," ",r.tokenSymbol]}),o.jsxs("div",{style:{fontSize:"11px",color:n.warningText},children:["on ",c]})]})]}),o.jsx("button",{onClick:()=>t?.(r),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"})]},`${r.tokenAddress}-${r.chainId}-${a}`)})})]}),Rl=i.memo(Bl),Ml=e=>`${e.tokenAddress}-${e.chainId}`,Nl=({spiceAssets:e,loading:t,dk:n,dark:s=!1,canDirectWithdraw:r=!1,onDirectWithdraw:a,directWithdrawState:c})=>{const d={fontSize:"11px",fontWeight:600,letterSpacing:"1px",color:n.textSecondary,marginBottom:"8px",textTransform:"uppercase"},u={backgroundColor:n.cardBg,border:s?`1px solid ${n.cardBorder}`:"1px solid #e5e7eb",borderRadius:"8px"};return t?o.jsxs("div",{children:[o.jsx("div",{style:d,children:"Idle Balances"}),[1,2].map(l=>o.jsx("div",{style:{...u,padding:"12px",marginBottom:"6px",height:"48px",animation:"pulse 1.5s ease-in-out infinite",opacity:.5}},l))]}):e.length===0?o.jsxs("div",{children:[o.jsx("div",{style:d,children:"Idle Balances"}),o.jsx("div",{style:{...u,padding:"16px",textAlign:"center",fontSize:"13px",color:s?n.textSecondary:"#9ca3af"},children:"No assets yet. Deposit to get started."})]}):o.jsxs("div",{children:[o.jsx("div",{style:d,children:"Idle Balances"}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:e.map((l,f)=>{const p=m.getChainConfig(l.chainId),g=l.chainDisplayName||p?.displayName||`Chain ${l.chainId}`,x=l.tokenDisplaySymbol||l.tokenDisplayName||l.tokenSymbol,h=Ml(l),y=r&&l.directWithdraw&&!!a,C=c?.key===h?c:null,I=C?.step==="pending";return o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 12px",...u},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[l.logoURI?o.jsx("img",{src:l.logoURI,alt:l.tokenSymbol,style:{width:"24px",height:"24px",borderRadius:"50%"}}):o.jsx("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:x.charAt(0)}),o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:"13px",fontWeight:500,color:n.textPrimary},children:x}),o.jsx("div",{style:{fontSize:"11px",color:s?n.textSecondary:"#9ca3af"},children:g})]})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[o.jsxs("div",{style:{textAlign:"right"},children:[o.jsx("div",{style:{fontSize:"13px",fontWeight:500,color:n.textPrimary},children:m.formatBalance(l.balanceFormatted)}),o.jsx("div",{style:{fontSize:"11px",color:C?.step==="error"?n.errorText:s?n.textSecondary:"#9ca3af"},children:C?.step==="error"?C.message||"Withdraw failed":m.formatUsd(l.usdValue)})]}),y&&o.jsx("button",{onClick:()=>!I&&a(l),disabled:I,title:"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:I?"default":"pointer",opacity:I?.6:1,whiteSpace:"nowrap"},children:I?"Withdrawing\u2026":"Withdraw"})]})]},`${l.tokenAddress}-${l.chainId}-${f}`)})})]})},Dl=i.memo(Nl),Wl=({section:e,dk:t,dark:n=!1})=>{const s=r=>{switch(r){case"green":return"#10b981";case"red":return"#ef4444";default:return t.textPrimary}};return o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:"11px",fontWeight:600,letterSpacing:"1px",color:t.textSecondary,marginBottom:"8px",textTransform:"uppercase"},children:e.title}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:e.items.map((r,a)=>{const c=!!r.onClick,d={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 12px",backgroundColor:t.cardBg,border:n?`1px solid ${t.cardBorder}`:"1px solid #e5e7eb",borderRadius:"8px",...c&&{width:"100%",textAlign:"left",font:"inherit",color:"inherit",cursor:"pointer"}},u=o.jsxs(o.Fragment,{children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[r.tokenLogoURI?o.jsx("img",{src:r.tokenLogoURI,alt:r.tokenSymbol,style:{width:"20px",height:"20px",borderRadius:"50%"}}):o.jsx("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:r.tokenSymbol.charAt(0)}),o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:"13px",fontWeight:500,color:t.textPrimary},children:r.tokenSymbol}),o.jsx("div",{style:{fontSize:"11px",color:t.textSecondary},children:r.label})]})]}),o.jsx("div",{style:{fontSize:"13px",fontWeight:600,color:s(r.valueColor)},children:r.displayValue})]});return c?o.jsx("button",{type:"button",onClick:r.onClick,style:d,children:u},a):o.jsx("div",{style:d,children:u},a)})})]})},Pl=i.memo(Wl),Ul=({onDepositClick:e,onWithdrawClick:t,depositDisabled:n=!1,withdrawDisabled:s=!1,primaryColor:r="#EA4B4B",dark:a=!1})=>!e&&!t?null:o.jsxs("div",{style:{display:"flex",gap:"8px"},children:[e&&o.jsx(m.Button,{variant:"outline",onClick:e,disabled:n,dark:a,styles:{button:{backgroundColor:r}},style:{flex:1,height:"44px",fontSize:"12px"},children:"Deposit"}),t&&o.jsx(m.Button,{variant:"outline",onClick:t,disabled:s,dark:a,styles:{button:{backgroundColor:r}},style:{flex:1,height:"44px",fontSize:"12px"},children:"Withdraw"})]}),Ol=i.memo(Ul),zl=({appName:e,status:t,statusLabel:n,totalUsdValue:s,breakdownSubtitle:r,address:a,spiceAssets:c,spiceAssetsLoading:d,pendingDeposits:u,customSections:l,notice:f,onDepositClick:p,onWithdrawClick:g,depositDisabled:x,onCompleteDeposit:h,primaryColor:y,dk:C,dark:I=!1,showModeToggle:k,isEmbeddedMode:M,onModeToggle:w,showConnectExternalCta:b,onConnectExternalWallet:B,connectExternalError:S,showHowItWorks:F=!0,canDirectWithdraw:R,onDirectWithdraw:v,directWithdrawState:A})=>{const[N,j]=i.useState(!1);return o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"16px",padding:"16px",maxHeight:"calc(80vh - 32px)",overflowY:"auto"},children:[o.jsx(Tl,{appName:e,status:t,statusLabel:n,totalUsdValue:s,breakdownSubtitle:r,address:a,dk:C,dark:I,showModeToggle:k,isEmbeddedMode:M,onModeToggle:w}),f&&o.jsx("div",{style:{padding:"10px 12px",borderRadius:"8px",backgroundColor:f.tone==="warning"?I?"rgba(245, 158, 11, 0.12)":"#fffbeb":f.tone==="success"?I?"rgba(16, 185, 129, 0.12)":"#ecfdf5":C.cardBg,border:f.tone==="warning"?I?"1px solid rgba(245, 158, 11, 0.35)":"1px solid #fde68a":f.tone==="success"?I?"1px solid rgba(16, 185, 129, 0.35)":"1px solid #a7f3d0":I?`1px solid ${C.cardBorder}`:"1px solid #e5e7eb",color:f.tone==="warning"?I?"#fbbf24":"#92400e":f.tone==="success"?I?"#34d399":"#047857":C.textSecondary,fontSize:"12px",lineHeight:1.45,fontWeight:500},children:f.message}),b&&o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[o.jsx("button",{onClick:B,style:{width:"100%",padding:"10px 14px",borderRadius:"8px",backgroundColor:y||"#EA4B4B",color:"#ffffff",border:"none",cursor:"pointer",fontSize:"13px",fontWeight:600,fontFamily:'"Helvetica Neue", sans-serif',transition:"opacity 150ms ease"},children:"Connect External Wallet"}),S&&o.jsx("span",{style:{fontSize:"11px",color:I?C.errorText:"#b91c1c",lineHeight:1.4},children:S})]}),o.jsx("div",{style:{height:"1px",backgroundColor:I?"#2d2d2d":"#e5e7eb"}}),o.jsx(Ol,{onDepositClick:p,onWithdrawClick:g,depositDisabled:x,primaryColor:y,dark:I}),F&&o.jsxs("div",{children:[o.jsxs("button",{onClick:()=>j(!N),style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:"8px 12px",backgroundColor:C.cardBg,border:I?`1px solid ${C.cardBorder}`:"1px solid #e5e7eb",borderRadius:"8px",cursor:"pointer",color:C.textSecondary,fontSize:"12px",fontWeight:500},children:[o.jsx("span",{children:"How It Works"}),o.jsx("span",{style:{transform:N?"rotate(180deg)":"rotate(0deg)",transition:"transform 200ms ease",fontSize:"10px"},children:"\u25BE"})]}),N&&o.jsxs("div",{style:{marginTop:"6px",padding:"10px 12px",backgroundColor:I?C.cardBg:"#f0fdf4",border:I?`1px solid ${C.cardBorder}`:"1px solid #bbf7d0",borderRadius:"8px",fontSize:"12px",lineHeight:1.5,color:I?C.textSecondary:"#374151"},children:["Fund your ",e," Account from any supported chain. Once funded, transact gas-free and asset-abstracted on ",e,"."]})]}),o.jsx(Rl,{pendingDeposits:u,onCompleteDeposit:h,dk:C,dark:I}),o.jsx(Dl,{spiceAssets:c,loading:d,dk:C,dark:I,canDirectWithdraw:R,onDirectWithdraw:v,directWithdrawState:A}),l.map((D,z)=>o.jsx(Pl,{section:D,dk:C,dark:I},z))]})},Ll=i.memo(zl);function Hl(e){return!!e.embeddedAddress&&!!e.externalAddress}function Ql(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 r=[{recipient:e,amount:s}];return n.gasBridge>0n&&r.push({recipient:T.SPICE_GAS_FEE_RECIPIENT,amount:n.gasBridge}),n.spicenetFee>0n&&r.push({recipient:T.SPICE_PLATFORM_FEE_RECIPIENT,amount:n.spicenetFee}),r}const ql=new Set([T.SPICE_GAS_FEE_RECIPIENT,T.SPICE_PLATFORM_FEE_RECIPIENT].map(e=>e.toLowerCase()));function Vl(e,t){return!e||e.length!==t.length?!1:e.every((n,s)=>{const r=t[s];return n.recipient.toLowerCase()!==r.recipient.toLowerCase()?!1:ql.has(n.recipient.toLowerCase())?kn(n.amount,r.amount,100n):!0})}function Sr(e,t,n){return{chainId:e,domain:"evm",tokenTransfers:[],calls:n.filter(s=>s.amount>0n).map(s=>({to:t,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[s.recipient,s.amount]})}))}}function Kl(e,t){const n=e.intents.flatMap(r=>r.batches).filter(r=>tn(r).totalFee>0n),s=n.filter(r=>r.chainId===t);return(s.length>0?s:n)[0]??null}function Yl(e,t,n,s){const r=Kl(s,e),{gasFee:a,bridgeFee:c,spicenetFee:d}=r?tn(r):{gasFee:0n,bridgeFee:0n,spicenetFee:0n};return Ql(t,n,{gasBridge:a+c,spicenetFee:d})}function Zl(){const{execute:e}=jn(),t=i.useContext(m.SpiceFlowProviderContext)?.embeddedWalletAddress,{embeddedAddress:n}=m.useProviderWallets(),s=t||n;return{withdraw:i.useCallback(async({tokenAddress:r,chainId:a,balance:c,recipient:d,onProgress:u})=>{const l=r,f=d;if(c<=0n)throw new Error("Nothing to withdraw.");const p=[Sr(a,l,[{recipient:f,amount:c}])];let g=null;return e(p,l,0n,u,void 0,{useCustomTransfers:!0,userOverride:s,adjustBatchesForEstimate:({feeEstimate:x})=>{const h=Yl(a,f,c,x);return Vl(g,h)?null:(g=h,[Sr(a,l,h)])}})},[e,s])}}const ao=380,Fn=8,Gl=[];function Ir(e){return e?.trim().replace(/^spice/i,"").replace(/[^a-z0-9]/gi,"").toUpperCase()||void 0}function Xl(e,t){const n=new Map;Object.entries(t).forEach(([r,a])=>{if(!Number.isFinite(a)||a<=0)return;n.set(r,a),n.set(r.toUpperCase(),a);const c=Ir(r);c&&n.set(c,a)});const s=[e.symbol,e.displaySymbol,e.receiptTokenName,e.name,e.displayName];for(const r of s){if(!r)continue;const a=n.get(r)??n.get(r.toUpperCase());if(a!==void 0)return a;const c=Ir(r);if(!c)continue;const d=n.get(c);if(d!==void 0)return d}return 0}const Jl=({appName:e="Spice",status:t="active",statusLabel:n,customSections:s=Gl,extraAssets:r=[],tokenPrices:a={},breakdownLabels:c=[],notice:d,styles:u,dark:l=!1,onDepositSuccess:f,onDepositClick:p,onWithdrawClick:g,onCompleteDeposit:x,showModeToggle:h=!1,defaultMode:y,alwaysShowEmbeddedIdle:C=!1,showDisconnect:I=!1})=>{const k=i.useContext(m.SpiceFlowProviderContext),M=k?.mode!=="7702",w=!!k?.isWhitelistGateActive,b=!!k?.isWhitelistConfigured&&k?.isUserWhitelisted!==!0,B=i.useRef(!1);i.useEffect(()=>{if(!B.current){if(m.hasStoredSpiceFlowMode()){B.current=!0;return}y&&k?.setMode&&(k.setMode(y==="non7702"?"ondemand":"7702"),B.current=!0)}},[k,y]);const[S,F]=i.useState(!1),[R,v]=i.useState(null),[A,N]=i.useState({top:0,bottom:0,left:0,placement:"below"}),j=i.useRef(null),D=i.useRef(null),{address:z,isConnected:V}=m.useWallet(),O=k?.embeddedWalletAddress,P=k?.externalWalletAddress,{embeddedAddress:W}=m.useProviderWallets(),{dark:Q,primaryColor:ae,dk:K}=m.useSpiceBrand(u,l),G=M&&!P,ie=!M||G,U=C||ie,X=U?O||W:z,fe=i.useMemo(()=>k?.supportedChainIds??T.getChainIdsByNetwork("mainnet"),[k?.supportedChainIds]),{assets:be,loading:$}=Vn({address:X,supportedChains:fe,enabled:!!X&&U,refetchInterval:3e4}),de=i.useMemo(()=>{const le=U?be.map(ke=>{const Me=ke.balanceUsd||0,kt=Number.isFinite(ke.balanceFormatted)?ke.balanceFormatted:0,lt=Me>0?Me:Xl(ke,a)*kt;return{tokenAddress:ke.address,tokenSymbol:ke.symbol,tokenDisplaySymbol:Ws(ke),tokenDisplayName:Ra(ke),tokenDecimals:ke.decimals,chainId:ke.chainId,chainDisplayName:Ps(ke),balance:ke.balance.toString(),balanceFormatted:ke.balanceFormatted,usdValue:lt,logoURI:ke.logoURI}}):[],Te=G?[]:r;return[...le,...Te].filter(ke=>ke.balanceFormatted>0)},[U,G,be,a,r]),ue=i.useMemo(()=>de.reduce((le,Te)=>le+Te.usdValue,0),[de]),{pendingDeposits:Ie}=vr({chainIds:fe,enabled:!!z,discoverWalletBalances:!0}),_=i.useMemo(()=>s.reduce((le,Te)=>le+Te.totalValue,0),[s]),L=ue+_,J=i.useMemo(()=>{const le=[];ue>0&&le.push(`${m.formatUsd(ue)} idle`);for(const Te of s){const ke=c.find(Me=>Me.sectionTitle===Te.title)?.label||Te.title.toLowerCase();le.push(`${m.formatUsd(Te.totalValue)} ${ke}`)}return le.join(" \xB7 ")},[ue,s,c]),oe=i.useCallback(le=>{x?x(le):v(le)},[x]),ye=i.useCallback(()=>{v(null)},[]),H=i.useCallback(()=>{v(null),f?.()},[f]),Y=i.useCallback(()=>{if(!j.current)return;const le=j.current.getBoundingClientRect(),Te=window.innerHeight-le.bottom-Fn,ke=le.top-Fn,Me=Te>=400||Te>=ke?"below":"above",kt=Math.max(Fn,Math.min(le.right-ao,window.innerWidth-ao-Fn)),lt=Me==="below"?le.bottom+Fn:le.top-Fn,Wt=Me==="above"?window.innerHeight-lt:0;N({top:lt,bottom:Wt,left:kt,placement:Me})},[]);i.useLayoutEffect(()=>{S&&Y()},[S,Y]),i.useEffect(()=>{if(!S)return;const le=Me=>{j.current&&!j.current.contains(Me.target)&&D.current&&!D.current.contains(Me.target)&&F(!1)},Te=Me=>{Me.key==="Escape"&&F(!1)},ke=()=>Y();return document.addEventListener("mousedown",le),document.addEventListener("keydown",Te),window.addEventListener("scroll",ke,{passive:!0}),window.addEventListener("resize",Y),()=>{document.removeEventListener("mousedown",le),document.removeEventListener("keydown",Te),window.removeEventListener("scroll",ke),window.removeEventListener("resize",Y)}},[S,Y]);const xe=ie?O||W||z:P||z,re=i.useCallback(()=>{k?.setMode&&k.setMode(ie?"ondemand":"7702")},[k,ie]),[Be,Xe]=i.useState(null),[et,Ct]=i.useState(!1),{logout:bt}=Es.useLogout(),{disconnectAsync:me}=Xt.useDisconnect();let Re=null;try{Re=Es.useConnectWallet({onSuccess:()=>Xe(null),onError:le=>Xe(m.sanitizeError(le,"Failed to connect wallet."))}).connectWallet}catch{Re=null}const ze=i.useCallback(()=>{Re&&(F(!1),Xe(null),Re({walletChainType:"ethereum-only"}))},[Re]),je=!P&&!!Re,rt=i.useCallback(async()=>{Ct(!0);const[,le]=await Promise.allSettled([me(),bt()]);Ct(!1),le.status==="fulfilled"&&F(!1)},[me,bt]),Bt=i.useCallback(()=>{F(!1),p?.()},[p]),tt=i.useCallback(()=>{F(!1),g?.()},[g]),Z=i.useCallback(le=>{F(!1),oe(le)},[oe]),{withdraw:Ke}=Zl(),[nt,wt]=i.useState(null),De=Hl({embeddedAddress:O||W,externalAddress:P}),Jt=i.useCallback(async le=>{if(!P)return;const Te=`${le.tokenAddress}-${le.chainId}`;wt({key:Te,step:"pending"});try{await Ke({tokenAddress:le.tokenAddress,chainId:le.chainId,balance:BigInt(le.balance),recipient:P}),wt(null)}catch(ke){wt({key:Te,step:"error",message:m.sanitizeError(ke,"Withdraw failed")})}},[Ke,P]);if(typeof window>"u")return null;const $e=o.jsxs("button",{ref:j,onClick:()=>F(!S),style:{display:"inline-flex",alignItems:"center",gap:"6px",padding:"8px 14px",borderRadius:"9999px",backgroundColor:Q?K.hoverBg:"#ffffff",border:Q?`1px solid ${K.cardBorder}`:"1px solid #e5e7eb",cursor:"pointer",fontSize:"13px",fontWeight:500,fontFamily:'"Helvetica Neue", sans-serif',color:Q?K.textPrimary:"#111827",transition:"background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease",boxShadow:Q?"none":"0 1px 2px rgba(0,0,0,0.05)"},children:[o.jsxs("span",{children:[e," Account"]}),V&&o.jsxs("span",{style:{color:Q?K.textSecondary:"#6b7280"},children:["\xB7 ",m.formatUsd(L)]}),o.jsx("span",{style:{fontSize:"10px",color:Q?K.textSecondary:"#9ca3af",transform:S?"rotate(180deg)":"rotate(0deg)",transition:"transform 200ms ease"},children:"\u25BE"})]}),Dt=S?zn.createPortal(o.jsxs(o.Fragment,{children:[o.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.08)",zIndex:In.popover},onClick:()=>F(!1)}),o.jsxs("div",{ref:D,style:{position:"fixed",top:A.placement==="below"?`${A.top}px`:"auto",bottom:A.placement==="above"?`${A.bottom}px`:"auto",left:`${A.left}px`,width:`${ao}px`,maxWidth:`calc(100vw - ${Fn*2}px)`,maxHeight:"80vh",backgroundColor:Q?K.shell:"#ffffff",border:Q?`1px solid ${K.cardBorder}`:"1px solid #e5e7eb",borderRadius:"12px",boxShadow:Q?"0 10px 40px rgba(0, 0, 0, 0.5)":"0 10px 40px rgba(0, 0, 0, 0.12)",zIndex:In.popover+1,overflow:"hidden",display:"flex",flexDirection:"column",animation:`accountDisplayFadeIn 200ms ${Vt.out}`},children:[o.jsx(Ll,{appName:e,status:t,statusLabel:n,totalUsdValue:L,breakdownSubtitle:J,address:ie?xe:z,spiceAssets:de,spiceAssetsLoading:$,pendingDeposits:Ie,customSections:s,notice:d,onDepositClick:p?Bt:void 0,onWithdrawClick:g?tt:void 0,depositDisabled:b,onCompleteDeposit:Z,primaryColor:ae,dk:K,dark:Q,showModeToggle:h,isEmbeddedMode:ie,onModeToggle:re,showConnectExternalCta:je,onConnectExternalWallet:ze,connectExternalError:Be,showHowItWorks:!w,canDirectWithdraw:De,onDirectWithdraw:Jt,directWithdrawState:nt}),I&&o.jsx("div",{style:{padding:"0 16px 16px",flexShrink:0},children:o.jsx(m.Button,{variant:"ghost",onClick:rt,loading:et,dark:Q,fullWidth:!0,style:{height:"40px",fontSize:"12px"},children:"Disconnect"})})]}),o.jsx("style",{children:`
103
+ `})]})};async function nr(e,t,n){if(n)return{decimals:n.decimals,symbol:n.symbol,name:n.name,logoURI:n.logo};const[s,r,a]=await Promise.all([nn.readContract(e,{address:t,abi:F.erc20Abi,functionName:"decimals"}).catch(()=>18),nn.readContract(e,{address:t,abi:F.erc20Abi,functionName:"symbol"}).catch(()=>"TOKEN"),nn.readContract(e,{address:t,abi:F.erc20Abi,functionName:"name"}).catch(()=>"TOKEN")]);return{decimals:Number(s),symbol:r,name:a,logoURI:void 0}}function rl(e){const t=new Map;for(const n of e){if(n.amount<=0n)continue;const s=F.getAddress(n.token),r=F.getAddress(n.to),a=`${s.toLowerCase()}:${r.toLowerCase()}`,l=t.get(a);l?l.amount+=n.amount:t.set(a,{token:s,to:r,amount:n.amount})}return[...t.values()]}function al(e,t){return`0x${t}${e.slice(4)}`}function Ys(e,t){return sr(e,t)}function sr(e,t,n){const s=Jn(t,e),r=Math.floor(Date.now()/1e3)+60*10,a=j.hashChainBatches(s);return{user:e,...n?{chainAuthorizations:n}:{},intents:[{mode:"7702",signatureType:"ecdsa",signature:"0x00",nbf:0,exp:r,chainBatches:a.map((l,d)=>({hash:l.hash,chainId:l.chainId,tokenTransfers:s[d].domain==="spicenet"?[]:s[d].tokenTransfers??[],calls:l.calls}))}]}}function sn(e,t,n,s){if(e.some(f=>f.domain==="spicenet"))return e;const r=n?.intents.flatMap(f=>f.batches),a=f=>f.from==="escrow",l=e.map(f=>{const p=r?.find(k=>k.chainId===f.chainId);if(!p)return f;const g=Zt(p),x=g.totalFee;if(x<=0n)return f;const h=(f.tokenTransfers??[]).find(k=>a(k)&&F.getAddress(k.to).toLowerCase()===t.toLowerCase()&&!j.isNativeToken(F.getAddress(k.token)));if(!h)return f;const b=F.getAddress(h.token);let y=!1;const I=(f.tokenTransfers??[]).map(k=>y||!a(k)||F.getAddress(k.to).toLowerCase()!==t.toLowerCase()||F.getAddress(k.token).toLowerCase()!==b.toLowerCase()?k:(y=!0,{...k,amount:s?.payoutAlreadyGross?BigInt(k.amount):BigInt(k.amount)+x}));if(!y)return f;const v=[];g.spicenetFee>0n&&v.push({to:b,value:0n,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[j.SPICE_PLATFORM_FEE_RECIPIENT,g.spicenetFee]})});const D=g.gasFee+g.bridgeFee;return D>0n&&v.push({to:b,value:0n,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[j.SPICE_GAS_FEE_RECIPIENT,D]})}),{...f,tokenTransfers:I,calls:[...v,...f.calls]}}),d=l.flatMap(f=>(f.tokenTransfers??[]).filter(a).map(p=>{const g=F.getAddress(p.token),x=F.getAddress(p.to),h=[{token:g,to:x,amount:BigInt(p.amount)}];return{chainId:f.chainId,transfers:rl(h)}}));if(d.length===0)return e;const u=s?.requestTimestampMs??Date.now(),c=BigInt(Math.floor(u/1e3))+3600n;return[{chainId:j.SPICENET_NATIVE_CHAIN_ID,domain:"spicenet",tokenTransfers:[],calls:d.map((f,p)=>{const g=F.keccak256(F.encodeAbiParameters([{type:"address"},{type:"address"},{type:"uint256"},{type:"uint256"},{type:"uint256"}],[t,f.transfers[0].token,f.transfers.reduce((h,b)=>h+b.amount,0n),BigInt(f.chainId),BigInt(u+p)])),x=al(g,"77");return{to:"0x0000000000000000000000000000000000000000",value:0n,data:F.encodeFunctionData({abi:j.spicenetAbi,functionName:"createWithdrawalRequest",args:[{chainId:`evm:${f.chainId}`,idempotenceKey:x,nbf:0n,exp:c,metadata:"{}",transfers:f.transfers.map(h=>({token:h.token.toLowerCase(),to:h.to,amount:h.amount}))}]})}})},...l]}async function Zs(e){const{extWc:t,sourceClient:n,recipient:s,tokenAddr:r,isNative:a,amount:l}=e;if(l<=0n)return;const d=a?await t.sendTransaction({to:s,value:l,chain:e.viemChain}):await t.sendTransaction({to:r,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[s,l]}),chain:e.viemChain});if((await n.waitForTransactionReceipt({hash:d,timeout:12e4,pollingInterval:2e3,confirmations:1})).status!=="success")throw new Error("Embedded wallet funding failed")}const il=60*60;function ls(e,t){return t?e.some(n=>(n.tokenTransfers??[]).some(s=>s.from==="escrow"&&BigInt(s.amount)>=t.grossAmount)):!1}function or(e){return!e.isSemi7702&&e.isDirectDeposit&&!e.isSourceDestToken}function Ks(e){const t=e.selectedAsset?.asset,n=e.selectedAsset?.amount;if(!(!t||!n))return F.parseUnits(n,t.decimals)}function rr(e){return e.map(t=>({r:t.r,s:t.s,yParity:t.yParity,address:t.address,chainId:Number(t.chainId),nonce:Number(t.nonce)}))}async function cs({user:e,batches:t,authorizations:n,adjustBatchesForEstimate:s}){let r=t;const a=rr(n);for(let l=0;l<10;l+=1){const d=await m.relayerService.estimateActionFees(sr(e,r,a)),u=await s({feeEstimate:d,batches:r});if(!u||Io(r,u))return r;r=u}throw new Error("Fee estimate did not converge. Please retry.")}function Xs(e){return{chainId:e.sourceChainId,calls:e.isNative?[{to:e.target,value:e.amount,data:"0x"}]:[{to:e.tokenAddr,value:0n,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[e.target,e.amount]})}]}}function on(e,t){const n=e.selectedAsset?.asset;if(!n||!e.selectedAsset?.amount)throw new Error("Select an asset and enter an amount");const s=F.parseUnits(e.selectedAsset.amount,n.decimals),r=t?.grossAmount??s;return e.resolveLockBatches({amount:e.selectedAsset.amount,amountWei:s,grossAmount:F.formatUnits(r,n.decimals),grossAmountWei:r})}async function ds(e,t,n){const s=[...new Set(n.filter(a=>a.domain!=="spicenet").map(a=>a.chainId))],r=[];for(const a of s){const l=m.getClientForChain(a),d=m.getDelegateContractAddress(a),u=await j.getAccountNonce(t,l),c=await e.actions.signAuthorization({contractAddress:d,chainId:a,nonce:Number(u)});r.push(c)}return r}async function Gs(e,t,n){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 r=n??await ds(e,s,t),a=j.hashChainBatches(t),l=Math.floor(Date.now()/1e3)+il,d=a.map(x=>x.hash),u=F.keccak256(F.encodeAbiParameters([{type:"string"},{type:"uint256"},{type:"uint256"},{type:"bytes32[]"}],["ecdsa",0n,BigInt(l),d])),c=await e.actions.signMessage({raw:u}),f=typeof c=="string"?c:c.signature;if(!f)throw new Error("Failed to sign intent authorization");const p={mode:"7702",signatureType:"ecdsa",signature:f,nbf:0,exp:l,chainBatches:a.map((x,h)=>{const b=t[h],y=b.domain==="spicenet";return{hash:x.hash,chainId:x.chainId,tokenTransfers:y?[]:b.tokenTransfers??[],calls:x.calls}})},g=await m.relayerService.createAction({user:s,chainAuthorizations:rr(r),intents:[p]});if(g){const x=m.createInitialSteps(t,m.getChainName),[h,b]=g.intentIds[0].split("/"),y=parseInt(b||"0",10),I=g.intentIds[0];e.beginStatusTracking(g.intentIds[0],x),await So({actionId:h,intentIndex:y,intentId:I,totalSteps:t.length,isSpicenetStep:v=>t[v]?.domain==="spicenet",maxExecuteAttemptsForStep:v=>t[v]?.domain==="spicenet"?6:3,onStepUpdate:e.applyStepUpdate,maxPolls:72})}}async function ll(e){let t=on(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 ds(e,n,t),r=Date.now();let a=sn([...t],n,void 0,{requestTimestampMs:r}),l;a=await cs({user:n,batches:a,authorizations:s,adjustBatchesForEstimate:({feeEstimate:d})=>{const u=vn(d,{symbol:e.selectedAsset?.asset.symbol??"",decimals:e.selectedAsset?.asset.decimals??18,actionAmount:Ks(e)});return u?(l={grossAmount:u.grossAmount,netAmount:u.netAmount,feeAmount:u.totalFee??0n},t=on(e,l),sn([...t],n,d,{payoutAlreadyGross:ls(t,l),requestTimestampMs:r})):null}}),await Gs(e,a,s)}async function cl(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=e.selectedAsset.asset,r=F.parseUnits(e.selectedAsset.amount,s.decimals),a=s.chainId,l=e.escrowAddress||j.getEscrowContractAddress(a),d=j.normalizeNativeTokenAddress(s.address),u=s.isNative||j.isNativeToken(d),c=Date.now();let f;const p=n.some(I=>I.tokenTransfers?.some(v=>v.from==="escrow")),g=I=>Xs({sourceChainId:a,target:l,tokenAddr:d,isNative:u,amount:I}),x=(I,v,D,k)=>{const w=g(I);if(!p)return[w,...v];const M=sn([...v],t,D,{payoutAlreadyGross:ls(v,k),requestTimestampMs:c});return[w,...M]};let h=on(e),b=x(r,h);const y=await ds(e,t,b);p&&(b=await cs({user:t,batches:b,authorizations:y,adjustBatchesForEstimate:({feeEstimate:I})=>{const v=vn(I,{symbol:s.symbol,decimals:s.decimals,actionAmount:r});return v?(f={grossAmount:v.grossAmount,netAmount:v.netAmount,feeAmount:v.totalFee??0n},h=on(e,f),x(f.grossAmount,h,I,f)):null}})),await Gs(e,b,y)}async function dl(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 T=e.resolveLockBatches();if(T.length===0)throw new Error("No lock batches configured");const B=e.selectedAsset.asset,C=F.parseUnits(e.selectedAsset.amount,B.decimals),E=await e.onLockExecute({asset:B,amount:e.selectedAsset.amount,amountWei:C,lockDurationMonths:e.selectedDuration?.months??0,chainBatches:T});E&&e.onLockSuccess?.(E);return}const n=e.resolveLockBatches();if(n.length===0)throw new Error("No lock batches configured");const s=e.selectedAsset.asset,r=F.parseUnits(e.selectedAsset.amount,s.decimals),a=s.chainId,l=e.escrowAddress||j.getEscrowContractAddress(a),d=j.normalizeNativeTokenAddress(s.address),u=s.isNative||j.isNativeToken(d),c=n.some(T=>T.tokenTransfers?.some(B=>B.from==="escrow")),f=Date.now();let p;const g=T=>Xs({sourceChainId:a,target:l,tokenAddr:d,isNative:u,amount:T}),x=(T,B,C,E)=>{const S=g(T);if(!c)return[S,...B];const R=sn([...B],t,C,{payoutAlreadyGross:ls(B,E),requestTimestampMs:f});return[S,...R]};let h=on(e),b=x(r,h);const y=await ds(e,t,b);c&&(b=await cs({user:t,batches:b,authorizations:y,adjustBatchesForEstimate:({feeEstimate:T})=>{const B=vn(T,{symbol:s.symbol,decimals:s.decimals,actionAmount:r});return B?(p={grossAmount:B.grossAmount,netAmount:B.netAmount,feeAmount:B.totalFee??0n},h=on(e,p),x(p.grossAmount,h,T,p)):null}}));const I=p?.grossAmount??r,v=await e.externalWallet.getEthereumProvider();await Nn(v,a);const D=m.getChainConfig(a),k=F.createWalletClient({account:e.externalWalletAddress,chain:D?.viemChain,transport:F.custom(v)}),w=m.getClientForChain(a),M=T=>Zs({extWc:k,sourceClient:w,recipient:t,tokenAddr:d,isNative:u,amount:T,viemChain:D?.viemChain});await M(I);let A=I;if(c)for(let T=0;T<4;T+=1){b=await cs({user:t,batches:b,authorizations:y,adjustBatchesForEstimate:({feeEstimate:C})=>{const E=vn(C,{symbol:s.symbol,decimals:s.decimals,actionAmount:r});return E?(p={grossAmount:E.grossAmount,netAmount:E.netAmount,feeAmount:E.totalFee??0n},h=on(e,p),x(p.grossAmount,h,C,p)):null}});const B=p?.grossAmount??r;if(B<=A)break;await M(B-A),A=B}await Gs(e,b,y)}async function ul(e){if(!e.selectedAsset?.asset||!e.selectedAsset.amount||!e.requiresRelayerFeeEstimate)return null;if(e.isSemi7702||or(e)){const l=e.embeddedWalletAddress||e.address;if(!l)throw new Error("Embedded wallet not available \u2014 sign in to create one before locking");let d=on(e);if(d.length===0)throw new Error("No lock batches configured");const u=e.selectedAsset.asset,c=F.parseUnits(e.selectedAsset.amount,u.decimals),f=u.chainId,p=e.escrowAddress||j.getEscrowContractAddress(f),g=j.normalizeNativeTokenAddress(u.address),x=u.isNative||j.isNativeToken(g),h=d.some(k=>k.tokenTransfers?.some(w=>w.from==="escrow")),b=k=>Xs({sourceChainId:f,target:p,tokenAddr:g,isNative:x,amount:k}),y=(k,w,M)=>{const A=b(k);if(!h)return[A,...w];const T=sn([...w],l,M,{payoutAlreadyGross:w.some(B=>(B.tokenTransfers??[]).some(C=>C.from==="escrow"&&BigInt(C.amount)>=k))});return[A,...T]};let I=y(c,d),v=null,D;for(let k=0;k<4;k+=1){const w=await m.relayerService.estimateActionFees(Ys(l,I)),M=vn(w,{symbol:u.symbol,decimals:u.decimals,actionAmount:c});if(!M)return v;const A={grossAmount:M.grossAmount,netAmount:M.netAmount,feeAmount:M.totalFee??0n},T=D?.grossAmount===A.grossAmount&&D?.netAmount===A.netAmount&&D?.feeAmount===A.feeAmount;if(v=M,D=A,d=on(e,A),I=y(A.grossAmount,d,w),T)break}return v}const t=e.address;if(!e.isConnected||!t)throw new Error("Please connect your wallet to continue");let n=on(e);if(n.length===0)throw new Error("No lock batches configured");let s=sn([...n],t),r=null;for(let l=0;l<4;l+=1){const d=await m.relayerService.estimateActionFees(Ys(t,s)),u=vn(d,{symbol:e.selectedAsset.asset.symbol,decimals:e.selectedAsset.asset.decimals,actionAmount:Ks(e)});if(!u)return null;const c={grossAmount:u.grossAmount},f=r?.grossAmount===u.grossAmount&&r?.netAmount===u.netAmount&&r?.totalFee===u.totalFee;if(r=u,n=on(e,c),s=sn([...n],t,d,{payoutAlreadyGross:ls(n,c)}),f)break}if(r)return r;const a=await m.relayerService.estimateActionFees(Ys(t,s));return vn(a,{symbol:e.selectedAsset.asset.symbol,decimals:e.selectedAsset.asset.decimals,actionAmount:Ks(e)})}async function pl(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 r=s.find(f=>f.chainId===e.lockChainId)||s[0];if(!r)throw new Error("No lock batch for lock chain");const a=await t.getEthereumProvider();await Nn(a,e.lockChainId);const l=m.getChainConfig(e.lockChainId),d=F.createWalletClient({account:n,chain:l?.viemChain,transport:F.custom(a)}),u=m.getClientForChain(e.lockChainId);let c;for(const f of r.calls){const p=await d.sendTransaction({to:f.to,data:f.data,value:f.value,chain:l?.viemChain});if((await u.waitForTransactionReceipt({hash:p,timeout:12e4,pollingInterval:2e3,confirmations:1})).status!=="success")throw new Error("Lock transaction failed");c=p}c&&e.onLockSuccess?.(c)}async function fl(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}e.ui.setIsExecuting(!0),e.ui.setError(null);const t=n=>{console.error("[SpiceLock] lock failed:",n);const s=m.sanitizeError(n,""),r=typeof n?.shortMessage=="string"?n.shortMessage:typeof n?.message=="string"?n.message:"";e.ui.setError(s||r||"Transaction failed. Please try again.")};if(e.isSemi7702){if(e.isSourceDestToken){try{await pl(e)}catch(n){t(n)}finally{e.ui.setIsExecuting(!1)}return}e.ui.setShowStatusPanel(!0);try{await dl(e)}catch(n){t(n)}finally{e.ui.setIsExecuting(!1)}return}e.ui.setShowStatusPanel(!0);try{or(e)?await cl(e):await ll(e)}catch(n){t(n)}finally{e.ui.setIsExecuting(!1)}}const ml=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,lockBatches:s,lockTokenSymbol:r,lockTokenLogoURI:a,destinationInputHook:l,sourceAssetInputHook:d,lockDurationHook:u,lockChainId:c,durationOptions:f,votingPowerEstimate:p,escrowAddress:g,includeWalletAssets:x=!1,destinationTokenAddress:h,onLockSuccess:b,onLockError:y,onLockExecute:I,sourceToDestinationConversionRate:v,onAddFunds:D,buildSpicenetBatch:k,styles:w,dark:M=!1})=>{const{theme:A,dark:T,primaryColor:B,dk:C}=m.useSpiceBrand(w,M),E=A.typography.fontFamily,S=i.useContext(m.SpiceFlowProviderContext),R=S?.mode||"7702",N=!!S?.isWhitelistGateActive,P=R!=="7702",H=i.useMemo(()=>S?.supportedChainIds??[],[S?.supportedChainIds]),L=i.useMemo(()=>{if(N)return[];const K=S?.allowedTokens;if(!K||K.length===0)return[];const Ie=new Set(K.map(Pe=>Pe.toLowerCase())),tt=[],We=new Set;for(const Pe of H){const St=m.getChainConfig(Pe);for(const xt of St?.supportedTokens??[]){if(!Ie.has(xt.symbol.toLowerCase()))continue;const Ht=`${Pe}:${xt.address.toLowerCase()}`;We.has(Ht)||(We.add(Ht),tt.push(F.getAddress(xt.address)))}}return tt},[S?.allowedTokens,H,N]),W=T?C.cardBg:w?.assetSelector?.backgroundColor||w?.secondaryBackground||"#e9e9e9",U=T?`1px solid ${C.cardBorder}`:"0.5px solid #A8A8A7",z=T?"12px":"6px",_=T?C.textPrimary:"#111827",V=T?C.textSecondary:"#6b7280",Y=i.useMemo(()=>({...w,assetSelector:{...w?.assetSelector,backgroundColor:T?C.cardBg:w?.assetSelector?.backgroundColor,borderRadius:T?"12px":w?.assetSelector?.borderRadius},secondaryBackground:T?C.cardBg:w?.secondaryBackground}),[w,T]),ue=i.useMemo(()=>T?{...A,colors:{...A.colors,secondary:C.cardBg,surfaceHover:C.hoverBg,border:C.cardBorder,borderHover:C.inputBorder}}:A,[T,A]),[q,ee]=i.useState(null),[oe,pe]=i.useState(0),we=u?.selectedDurationIdx??oe,de=u?.setSelectedDurationIdx??pe,[xe,Ee]=i.useState(!1),[Z,X]=i.useState(null),te=i.useRef(y);te.current=y;const se=i.useCallback(K=>{X(K),typeof K=="string"&&K&&te.current?.(K)},[]),[ye,Q]=i.useState(null),[J,me]=i.useState(!1),[Se,ie]=i.useState(!1),[qe,ot]=i.useState(null),[Kt,Ft]=i.useState(!1),ut=i.useRef(0),[ae,Ne]=i.useState(!1),[Me,Ct]=i.useState(null),re=m.useWallet(),{isReady:At,isAuthenticated:Ae,isConnected:Te,address:le,provider:ze,actions:zt}=re,{externalWallet:Qt,activeWallet:Xt,activeAddress:Et}=m.useProviderWallets(),{intentStatus:ge,beginStatusTracking:Ot,applyStepUpdate:Gt,clearStatus:Lt}=Rn(),{assets:Ke,refetch:wt}=Qn({address:le,supportedChains:H,enabled:e&&Te&&!P&&!N,refetchInterval:3e4}),Vt=i.useMemo(()=>{if(N)return[];if(L.length===0)return Ke;const K=new Set(L.map(Ie=>Ie.toLowerCase()));return Ke.filter(Ie=>K.has(Ie.address.toLowerCase()))},[Ke,L,N]),Mt=S?.embeddedWalletAddress,fe=S?.externalWalletAddress,Oe=P?Et??fe:Mt,ft=i.useMemo(()=>{if(!x)return[];if(N)return h?[F.getAddress(h)]:[];const K=new Set,Ie=[],tt=We=>{if(!We)return;const Pe=We.toLowerCase();K.has(Pe)||(K.add(Pe),Ie.push(F.getAddress(We)))};h&&tt(h);for(const We of L)tt(We);return Ie},[x,P,h,L,N]),Dt=i.useMemo(()=>ft.map(K=>K.toLowerCase()).sort().join(","),[ft]),Fe=i.useMemo(()=>JSON.stringify([...H||[]].sort()),[H]),[kt,Jt]=i.useState([]),Re=i.useRef(0),vt=i.useRef(async()=>{}),mt=i.useCallback(async()=>{if(!x||!Oe||ft.length===0){Re.current++,Jt([]);return}const K=++Re.current,Ie=F.getAddress(Oe),tt=P?H&&H.length>0?H:[c]:[c],We=ft.map(je=>{const nt=je.toLowerCase();if(h&&m.addressesEqual(je,h)){const it=m.getChainConfig(c)?.supportedTokens?.find(st=>m.addressesEqual(st.address,nt));return{address:je,chainId:c,configToken:it?{decimals:it.decimals,symbol:it.symbol,name:it.name,logo:it.logo}:void 0}}for(const it of tt){const st=m.getChainConfig(it)?.supportedTokens?.find(bt=>m.addressesEqual(bt.address,nt));if(st)return{address:je,chainId:it,configToken:{decimals:st.decimals,symbol:st.symbol,name:st.name,logo:st.logo}}}return{address:je,chainId:c}}),Pe=new Map;for(const je of We){const nt=Pe.get(je.chainId)||[];nt.push(je),Pe.set(je.chainId,nt)}const St=async(je,nt)=>{try{const it=await nn.readContract(je,{address:nt.address,abi:F.erc20Abi,functionName:"balanceOf",args:[Ie]}),st=await nr(je,nt.address,nt.configToken),bt=st.decimals;let yt=st.symbol,Ue=st.name,Le=st.logoURI;const Tt=!!h&&m.addressesEqual(nt.address,h)&&nt.chainId===c;Tt&&a&&(Le=a),Tt&&r&&!nt.configToken&&(yt==="TOKEN"&&(yt=r),Ue==="TOKEN"&&(Ue=r));const _t=parseFloat((Number(it)/Math.pow(10,bt)).toFixed(6));return{address:nt.address,name:Ue,symbol:yt,decimals:bt,balance:it,balanceFormatted:_t,balanceUsd:0,logoURI:Le,isNative:!1,chainId:nt.chainId}}catch{return null}},xt=await Promise.all(Array.from(Pe.entries()).map(async([je,nt])=>{let it;try{it=m.getClientForChain(je)}catch{return[]}const st=[],bt=[];for(const Ue of nt){const Le=st.length;st.push({address:Ue.address,abi:F.erc20Abi,functionName:"balanceOf",args:[Ie]}),Ue.configToken||st.push({address:Ue.address,abi:F.erc20Abi,functionName:"decimals",args:[]},{address:Ue.address,abi:F.erc20Abi,functionName:"symbol",args:[]},{address:Ue.address,abi:F.erc20Abi,functionName:"name",args:[]}),bt.push({start:Le,item:Ue})}let yt=null;try{yt=await it.multicall({contracts:st})}catch{yt=null}return yt?bt.map(({start:Ue,item:Le})=>{const Tt=yt[Ue],_t=Tt?.status==="success"?Tt.result:0n;let O,ne,ke,ce;if(Le.configToken)O=Le.configToken.decimals,ne=Le.configToken.symbol,ke=Le.configToken.name,ce=Le.configToken.logo;else{const De=yt[Ue+1],It=yt[Ue+2],Ut=yt[Ue+3];O=De?.status==="success"?Number(De.result):18,ne=It?.status==="success"?It.result:"TOKEN",ke=Ut?.status==="success"?Ut.result:ne}const Ze=!!h&&m.addressesEqual(Le.address,h)&&Le.chainId===c;Ze&&a&&(ce=a),Ze&&r&&!Le.configToken&&(ne==="TOKEN"&&(ne=r),ke==="TOKEN"&&(ke=r));const he=parseFloat((Number(_t)/Math.pow(10,O)).toFixed(6));return{address:Le.address,name:ke,symbol:ne,decimals:O,balance:_t,balanceFormatted:he,balanceUsd:0,logoURI:ce,isNative:!1,chainId:Le.chainId}}):(await Promise.all(nt.map(Ue=>St(it,Ue)))).filter(Ue=>Ue!==null)}));if(K!==Re.current)return;const Ht=xt.flat();Jt(Ht)},[x,P,Oe,Dt,Fe,c,h,a,r]);i.useEffect(()=>{vt.current=mt},[mt]),i.useEffect(()=>{if(!e||!x){Jt([]);return}vt.current();const K=setInterval(()=>{vt.current()},15e3);return()=>clearInterval(K)},[x,e,Oe,Dt,Fe,c,h]);const qt=i.useCallback(()=>{mt()},[mt]),Bt=i.useMemo(()=>kt.filter(K=>K.balance>0n),[kt]),$e=i.useMemo(()=>{if(P)return Bt.map(Ie=>({...Ie,_source:"wallet"}));if(!x)return Vt;const K=[];for(const Ie of Bt)K.push({...Ie,_source:"wallet"});for(const Ie of Vt)K.push({...Ie,_source:"spice"});return K},[P,x,Bt,Vt]),ct=i.useMemo(()=>N?h?$e.filter(K=>m.addressesEqual(K.address,h)&&K.chainId===c):[]:$e,[$e,N,h,c]),pt=i.useRef(null),rn=i.useRef(null);i.useEffect(()=>{rn.current=q},[q]),i.useEffect(()=>{!N||!q?.asset||h&&m.addressesEqual(q.asset.address,h)&&q.asset.chainId===c||ee(null)},[N,q?.asset,h,c]),i.useEffect(()=>{e||(ee(null),se(null),Q(null),me(!1),ie(!1),ot(null),Ee(!1),Ne(!1),Ct(null),Ft(!1),Lt())},[e,Lt]),i.useEffect(()=>{l&&l.assetAmount!==(q?.amount||"")&&ee(K=>K&&{...K,amount:l.assetAmount})},[l?.assetAmount]),i.useEffect(()=>{d&&d.assetAmount!==(q?.amount||"")&&ee(K=>K&&{...K,amount:d.assetAmount})},[d?.assetAmount]),i.useEffect(()=>{if(!P&&ge?.overallStatus==="success"&&ge.intentId&&pt.current!==ge.intentId&&le&&ge.steps.find(K=>K.transactionHash)?.transactionHash){pt.current=ge.intentId;const K=rn.current;if(!K?.asset||!K.amount||K.asset._source==="wallet"||F.parseUnits(K.amount,K.asset.decimals)===0n)return;wt()}},[ge,le,c,wt,P]);const Ye=parseFloat(q?.amount||"")||0,lt=Ye>0&&Ye<fn,$t=i.useMemo(()=>q?.asset?q.asset._source==="wallet"?q.asset.balanceFormatted??0:Vt.find(K=>m.addressesEqual(K.address,q.asset.address)&&K.chainId===q.asset.chainId)?.balanceFormatted??0:0,[q?.asset,Vt]),Xe=Ye>0&&(qe?parseFloat(F.formatUnits(qe.grossAmount,qe.decimals))>$t:Ye>$t),ht=u?.selectedDuration??f[we]??f[0],_e=i.useMemo(()=>!q?.asset||!h?!1:m.addressesEqual(q.asset.address,h)&&q.asset.chainId===c,[q?.asset,h,c]),gt=i.useMemo(()=>Ye<=0?0:_e?Ye:!v||v<=0?0:Ye/v,[Ye,v,_e]),Ge=i.useMemo(()=>gt<=0?null:gt.toLocaleString(void 0,{maximumFractionDigits:2}),[gt]),Nt=p&&gt>0&&ht?p(gt,ht.months):void 0,dt=i.useMemo(()=>Ye<=0?"$0.00":_e&&v?(Ye*v).toLocaleString(void 0,{style:"currency",currency:"USD",maximumFractionDigits:2}):!v||v<=0?"$0.00":Ye.toLocaleString(void 0,{style:"currency",currency:"USD",maximumFractionDigits:2}),[Ye,v,_e]),Wt=i.useMemo(()=>{if(!Ge)return null;const K=parseFloat(Ge.replace(/,/g,""));return _e&&v?(K*v).toLocaleString(void 0,{maximumFractionDigits:2}):v?(K*v).toLocaleString(void 0,{maximumFractionDigits:2}):null},[Ge,v,_e]),rt=i.useCallback(K=>{ee(Ie=>({asset:K,amount:Ie?.asset?.address===K.address&&Ie?.asset?.chainId===K.chainId&&Ie.amount||""})),se(null),Q(null),ie(!1),ot(null),d?.setSelectedAsset&&d.setSelectedAsset({symbol:K.symbol,address:K.address,decimals:K.decimals,chainId:K.chainId})},[d?.setSelectedAsset]),$=i.useCallback(K=>{ee(Ie=>Ie&&{...Ie,amount:K}),se(null),Q(null),ie(!1),ot(null),l&&l.setAssetAmount(K),d&&d.setAssetAmount(K)},[l,d]),G=i.useCallback(K=>{if(typeof s=="function"){if(!q?.asset||!q.amount)throw new Error("Select an asset and enter an amount");return s({asset:q.asset,amount:K?.amount??q.amount,amountWei:K?.amountWei??F.parseUnits(q.amount,q.asset.decimals),grossAmount:K?.grossAmount,grossAmountWei:K?.grossAmountWei,feeAdjusted:!!K})}return s},[s,q]),be=i.useRef(null),Be=i.useMemo(()=>!q?.asset||Ye<=0?!1:P?!_e&&!I:!0,[q,Ye,P,_e,I]),ve=i.useCallback(()=>ul(be.current),[]),et=i.useMemo(()=>!q?.asset||Ye<=0?null:`${q.asset.address.toLowerCase()}:${q.asset.chainId}:${q.amount??""}`,[q?.asset?.address,q?.asset?.chainId,q?.amount,Ye]);i.useEffect(()=>{if(!e||xe)return;if(!q?.asset||Ye<=0){Q(null),me(!1),ie(!1),ot(null);return}if(!Be){Q(null),me(!1),ie(!0),ot(null);return}let K=!1;const Ie=async Pe=>{const St=++ut.current;Pe||(Q(null),ie(!1),me(!0));try{const xt=await ve();if(K||ut.current!==St)return;Q(null),ie(!0),ot(xt)}catch(xt){if(K||ut.current!==St)return;Pe||(Q(m.sanitizeError(xt,"Unable to calculate fees for this lock.")),ie(!1))}finally{!K&&ut.current===St&&!Pe&&me(!1)}},tt=window.setTimeout(()=>{Ie(!1)},250),We=window.setInterval(()=>{Ie(!0)},3e4);return()=>{K=!0,clearTimeout(tt),window.clearInterval(We)}},[e,xe,et,Be,ve]),i.useEffect(()=>{if(ge?.overallStatus==="success"){const K=ge.steps.find(Ie=>Ie.transactionHash);b?.(K?.transactionHash)}},[ge?.overallStatus,b]);const at=x&&q?.asset?._source==="wallet"&&q?.asset?.chainId===c,He=i.useCallback(()=>fl(be.current),[]),Je=!!q?.asset&&Ye>0&&!lt&&!Xe&&!xe&&(!Be||Se&&!J&&!ye),Pt=Z||ye,Qe=o.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:"6px"},children:[o.jsx(Ws,{color:V}),o.jsxs("p",{style:{fontSize:"13px",color:V,margin:0,lineHeight:"1.5"},children:["Add ",r," by converting assets from your account"]})]});if(be.current={selectedAsset:q,parsedAmount:Ye,selectedDuration:ht,isInsufficientBalance:Xe,isSemi7702:P,isSourceDestToken:_e,isDirectDeposit:at,requiresRelayerFeeEstimate:Be,address:le,embeddedWalletAddress:Mt,externalWallet:Qt,externalWalletAddress:fe,activeSignerWallet:Xt,activeSignerAddress:Et,isConnected:Te,ready:At,authenticated:Ae,provider:ze,actions:zt,lockChainId:c,escrowAddress:g,onLockExecute:I,onLockSuccess:b,buildSpicenetBatch:k,resolveLockBatches:G,beginStatusTracking:Ot,applyStepUpdate:Gt,refreshSpiceAssets:wt,refreshWalletAssets:qt,ui:{setError:se,setIsExecuting:Ee,setShowStatusPanel:Ft}},!e)return null;const Ve={backgroundColor:W,border:U,borderRadius:z,padding:"16px",marginBottom:"16px"};return o.jsx(dn,{isOpen:e,onClose:t,title:`Add ${r} to your account`,subtitle:Qe,styles:w,dark:T,footerLinkText:"Spicenet accounts \u2192",overlayContent:ae?o.jsx("div",{}):void 0,closeOnBackdropClick:n,children:o.jsxs("div",{style:{padding:"0 24px 8px 24px",position:"relative"},children:[o.jsxs("div",{style:{marginBottom:"12px"},children:[D&&o.jsx("div",{style:{display:"flex",justifyContent:"flex-end",marginBottom:"6px"},children:o.jsx(Ps,{onClick:D,color:B,fontFamily:E})}),o.jsx("div",{style:{marginTop:"10px",fontSize:"13px",color:V,fontFamily:E},children:o.jsx(Ln,{assets:ct,selectedAsset:q??void 0,onAssetSelect:rt,onAmountChange:$,label:"Amount",showBalance:!0,showMaxButton:!0,theme:ue,styles:Y})}),o.jsx("div",{style:{marginTop:"6px",paddingLeft:"4px",fontSize:"13px",color:V,fontFamily:E},children:dt})]}),o.jsxs("div",{style:Ve,children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:"16px",borderBottom:T?`1px solid ${C.cardBorder}`:"1px solid #e5e7eb"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[a?o.jsx("img",{src:a,alt:r,style:{width:"32px",height:"32px",borderRadius:"50%",objectFit:"cover"}}):o.jsx("div",{style:{width:"32px",height:"32px",borderRadius:"50%",backgroundColor:T?C.inputBg:"#d1d5db",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"12px",fontWeight:700,color:_},children:r.slice(0,2)}),o.jsx("span",{style:{fontSize:"16px",fontWeight:600,color:_,fontFamily:E},children:r})]}),o.jsxs("div",{style:{textAlign:"right"},children:[o.jsx("div",{style:{fontSize:"22px",fontWeight:700,color:_,fontFamily:E,lineHeight:1.1},children:Ge??"0.00"}),o.jsxs("div",{style:{fontSize:"12px",color:V,fontFamily:E,marginTop:"2px"},children:["~$",Wt??"0.00"]})]})]}),o.jsxs("div",{style:{paddingTop:"16px",paddingBottom:"16px",borderBottom:T?`1px solid ${C.cardBorder}`:"1px solid #e5e7eb"},children:[o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"16px"},children:[o.jsx("span",{style:{fontSize:"15px",fontWeight:500,color:V,fontFamily:E},children:"Lock Duration"}),o.jsx(Cn,{color:V})]}),o.jsx(tl,{options:f,selectedIndex:we,onSelect:de,primaryColor:B,dark:T,textPrimary:_,textSecondary:V})]}),o.jsxs("div",{style:{paddingTop:"12px",display:"flex",flexDirection:"column",gap:"8px"},children:[o.jsx(tr,{label:"Estimated Lock Expiry",value:ht?.months!==void 0?nl(ht.months):"\u2014",fontFamily:E,dark:T,textPrimary:_,textSecondary:V}),p&&o.jsx(tr,{label:"Estimated voting power",value:Nt!==void 0?`${Nt} votes/epoch`:"\u2014",fontFamily:E,dark:T,textPrimary:_,textSecondary:V})]})]}),Be&&o.jsx(rs,{fontFamily:E,textPrimary:_,textSecondary:V,cardBg:W,cardBorder:U,resolvedDark:T,darkCardBorder:C.cardBorder,primaryColor:B,feePreview:qe,isLoading:J,errorText:ye}),Pt&&o.jsx(Mn,{variant:"error",palette:C,fontFamily:E,style:{marginBottom:"12px"},children:Pt}),o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:He,disabled:!Je,loading:xe,dark:T,styles:{...w,button:{...w?.button,backgroundColor:B}},children:xe?_e?"LOCKING...":"CONVERTING...":lt?`MINIMUM ${fn}`:J&&Be?"CALCULATING FEES...":_e?`LOCK ${r}`:`CONVERT TO ${r}`}),o.jsx(ol,{isOpen:ae,data:Me,isLocking:xe,lockError:Pt,onContinue:He,onClose:()=>Ne(!1),primaryColor:B,fontFamily:E,dark:T}),ge&&Kt&&o.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:10,backgroundColor:T?"rgba(0, 0, 0, 0.45)":"rgba(255, 255, 255, 0.55)",backdropFilter:"blur(2px)",WebkitBackdropFilter:"blur(2px)",borderRadius:z},children:o.jsx(Hs,{type:"lock",showStepBreakdown:!1,isOpen:!!ge&&ge.overallStatus!=="processing",isProcessing:xe||ge?.overallStatus==="processing",closeOnComplete:!1,onRetryTx:()=>{Lt(),Ft(!1),He()},onNewTx:()=>{Lt(),Ft(!1),ee(null),pt.current=null,wt(),qt()},onClose:()=>{Lt(),Ft(!1)},onComplete:()=>{Lt(),Ft(!1),ee(null),pt.current=null,wt(),qt()},results:ge?.overallStatus==="success"||ge?.overallStatus==="failed"?ge.steps.map(K=>({asset:{symbol:q?.asset?.symbol||r,address:q?.asset?.address||""},txHash:K.transactionHash||"",success:K.status==="success",amount:q?.amount})):void 0,chainName:m.getChainName(c),explorerUrl:m.getExplorerUrl(c,"").replace(/\/tx\/.*$/,"")||void 0,theme:A,styles:w,dark:T})})]})})};function ar(e){const t=i.useContext(m.SpiceFlowProviderContext),n=t?.embeddedWalletAddress,s=e?.enabled===!1?void 0:n,r=t?.network?{network:t.network,pollIntervalMs:e?.pollIntervalMs,chainIds:e?.chainIds??t.supportedChainIds,discoverWalletBalances:e?.discoverWalletBalances}:void 0;return{...Ho(s,r),embeddedWalletAddress:n}}var hl="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 gl=({appName:e,status:t,statusLabel:n,totalUsdValue:s,breakdownSubtitle:r,address:a,dk:l,dark:d=!1,showModeToggle:u,isEmbeddedMode:c=!0,onModeToggle:f})=>{const[p,g]=i.useState(!1),x=async()=>{a&&await m.copyToClipboard(a)&&(g(!0),setTimeout(()=>g(!1),2e3))},h=t==="active",b=n||(h?"Active":"Inactive"),y=h?"#10b981":"#9ca3af",I=o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Embedded:"})," Deposit assets into ",e," account and use them here."]}),o.jsxs("div",{children:[o.jsx("strong",{children:"External:"})," Use assets from your connected wallet here."]})]});return o.jsxs("div",{children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"4px"},children:[o.jsxs("div",{style:{fontSize:"13px",fontWeight:600,color:l.textPrimary},children:[e," Account"]}),u?o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[o.jsxs("button",{onClick:f,style:{display:"flex",alignItems:"center",gap:"4px",padding:"2px 8px",borderRadius:"9999px",backgroundColor:d?l.hoverBg:"#f3f4f6",border:d?`1px solid ${l.cardBorder}`:"1px solid #e5e7eb",cursor:"pointer",fontSize:"11px",fontWeight:600,fontFamily:'"IBM Plex Mono", monospace',color:l.textSecondary,transition:"background-color 150ms ease, border-color 150ms ease, color 150ms ease",letterSpacing:"0.02em"},children:[o.jsx("span",{children:c?"Embedded":"External"}),o.jsx("img",{src:hl,alt:"","aria-hidden":"true",style:{width:"11px",height:"11px",display:"block",...d?{filter:"invert(0.65)"}:{}}})]}),o.jsx(Do,{content:I,label:"Account mode info",textColor:d?l.textPrimary:"#f9fafb",backgroundColor:d?l.cardBg:"#111827",borderColor:d?l.cardBorder:"rgba(255,255,255,0.08)",accentColor:d?l.textSecondary:"#6b7280",children:o.jsx("img",{src:Os,alt:"","aria-hidden":"true",style:{width:"12px",height:"12px",display:"block",...d?{filter:"invert(0.65)"}:{}}})})]}):o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"4px",padding:"2px 8px",borderRadius:"9999px",backgroundColor:d?l.hoverBg:h?"#ecfdf5":"#f3f4f6",border:d?`1px solid ${l.cardBorder}`:h?"1px solid #a7f3d0":"1px solid #e5e7eb"},children:[o.jsx("div",{style:{width:"6px",height:"6px",borderRadius:"50%",backgroundColor:y}}),o.jsx("span",{style:{fontSize:"11px",fontWeight:500,color:d?l.textSecondary:h?"#065f46":"#6b7280"},children:b})]})]}),o.jsx("div",{style:{fontSize:"28px",fontWeight:700,color:l.textPrimary,lineHeight:1.2,marginBottom:"2px"},children:m.formatUsd(s)}),r&&o.jsx("div",{style:{fontSize:"12px",color:l.textSecondary,marginBottom:"8px"},children:r}),a&&o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[o.jsx("span",{style:{fontSize:"12px",fontFamily:'"IBM Plex Mono", monospace',color:d?l.textSecondary:"#9ca3af"},children:m.truncateAddress(a)}),o.jsx("button",{onClick:x,style:{padding:"2px 6px",fontSize:"10px",fontWeight:500,backgroundColor:"transparent",color:d?l.textSecondary:"#9ca3af",border:"none",cursor:"pointer",borderRadius:"4px",transition:"background-color 150ms ease, color 150ms ease"},title:"Copy address",children:p?"Copied":"Copy"})]})]})},xl=i.memo(gl),yl=({pendingDeposits:e,onCompleteDeposit:t,dk:n,dark:s=!1})=>e.length===0?null:o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:"11px",fontWeight:600,letterSpacing:"1px",color:n.textSecondary,marginBottom:"8px",textTransform:"uppercase"},children:"Pending Deposits"}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:e.map((r,a)=>{const l=m.getChainConfig(r.chainId)?.displayName||`Chain ${r.chainId}`;return o.jsxs("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:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[o.jsx("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:r.tokenSymbol.charAt(0)}),o.jsxs("div",{children:[o.jsxs("div",{style:{fontSize:"13px",fontWeight:500,color:n.textPrimary},children:[r.amount," ",r.tokenSymbol]}),o.jsxs("div",{style:{fontSize:"11px",color:n.warningText},children:["on ",l]})]})]}),o.jsx("button",{onClick:()=>t?.(r),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"})]},`${r.tokenAddress}-${r.chainId}-${a}`)})})]}),Cl=i.memo(yl),bl=e=>`${e.tokenAddress}-${e.chainId}`,wl=({spiceAssets:e,loading:t,dk:n,dark:s=!1,canDirectWithdraw:r=!1,onDirectWithdraw:a,directWithdrawState:l})=>{const d={fontSize:"11px",fontWeight:600,letterSpacing:"1px",color:n.textSecondary,marginBottom:"8px",textTransform:"uppercase"},u={backgroundColor:n.cardBg,border:s?`1px solid ${n.cardBorder}`:"1px solid #e5e7eb",borderRadius:"8px"};return t?o.jsxs("div",{children:[o.jsx("div",{style:d,children:"Idle Balances"}),[1,2].map(c=>o.jsx("div",{style:{...u,padding:"12px",marginBottom:"6px",height:"48px",animation:"pulse 1.5s ease-in-out infinite",opacity:.5}},c))]}):e.length===0?o.jsxs("div",{children:[o.jsx("div",{style:d,children:"Idle Balances"}),o.jsx("div",{style:{...u,padding:"16px",textAlign:"center",fontSize:"13px",color:s?n.textSecondary:"#9ca3af"},children:"No assets yet. Deposit to get started."})]}):o.jsxs("div",{children:[o.jsx("div",{style:d,children:"Idle Balances"}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:e.map((c,f)=>{const p=m.getChainConfig(c.chainId),g=c.chainDisplayName||p?.displayName||`Chain ${c.chainId}`,x=c.tokenDisplaySymbol||c.tokenDisplayName||c.tokenSymbol,h=bl(c),b=r&&c.directWithdraw&&!!a,y=l?.key===h?l:null,I=y?.step==="pending";return o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"10px 12px",...u},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[c.logoURI?o.jsx("img",{src:c.logoURI,alt:c.tokenSymbol,style:{width:"24px",height:"24px",borderRadius:"50%"}}):o.jsx("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:x.charAt(0)}),o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:"13px",fontWeight:500,color:n.textPrimary},children:x}),o.jsx("div",{style:{fontSize:"11px",color:s?n.textSecondary:"#9ca3af"},children:g})]})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[o.jsxs("div",{style:{textAlign:"right"},children:[o.jsx("div",{style:{fontSize:"13px",fontWeight:500,color:n.textPrimary},children:m.formatBalance(c.balanceFormatted)}),o.jsx("div",{style:{fontSize:"11px",color:y?.step==="error"?n.errorText:s?n.textSecondary:"#9ca3af"},children:y?.step==="error"?y.message||"Withdraw failed":m.formatUsd(c.usdValue)})]}),b&&o.jsx("button",{onClick:()=>!I&&a(c),disabled:I,title:"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:I?"default":"pointer",opacity:I?.6:1,whiteSpace:"nowrap"},children:I?"Withdrawing\u2026":"Withdraw"})]})]},`${c.tokenAddress}-${c.chainId}-${f}`)})})]})},kl=i.memo(wl),vl=({section:e,dk:t,dark:n=!1})=>{const s=r=>{switch(r){case"green":return"#10b981";case"red":return"#ef4444";default:return t.textPrimary}};return o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:"11px",fontWeight:600,letterSpacing:"1px",color:t.textSecondary,marginBottom:"8px",textTransform:"uppercase"},children:e.title}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:e.items.map((r,a)=>o.jsxs("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:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[r.tokenLogoURI?o.jsx("img",{src:r.tokenLogoURI,alt:r.tokenSymbol,style:{width:"20px",height:"20px",borderRadius:"50%"}}):o.jsx("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:r.tokenSymbol.charAt(0)}),o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:"13px",fontWeight:500,color:t.textPrimary},children:r.tokenSymbol}),o.jsx("div",{style:{fontSize:"11px",color:t.textSecondary},children:r.label})]})]}),o.jsx("div",{style:{fontSize:"13px",fontWeight:600,color:s(r.valueColor)},children:r.displayValue})]},a))})]})},Sl=i.memo(vl),Il=({onDepositClick:e,onWithdrawClick:t,depositDisabled:n=!1,withdrawDisabled:s=!1,primaryColor:r="#EA4B4B",dark:a=!1})=>!e&&!t?null:o.jsxs("div",{style:{display:"flex",gap:"8px"},children:[e&&o.jsx(m.Button,{variant:"outline",onClick:e,disabled:n,dark:a,styles:{button:{backgroundColor:r}},style:{flex:1,height:"44px",fontSize:"12px"},children:"Deposit"}),t&&o.jsx(m.Button,{variant:"outline",onClick:t,disabled:s,dark:a,styles:{button:{backgroundColor:r}},style:{flex:1,height:"44px",fontSize:"12px"},children:"Withdraw"})]}),Al=i.memo(Il),El=({appName:e,status:t,statusLabel:n,totalUsdValue:s,breakdownSubtitle:r,address:a,spiceAssets:l,spiceAssetsLoading:d,pendingDeposits:u,customSections:c,notice:f,onDepositClick:p,onWithdrawClick:g,depositDisabled:x,onCompleteDeposit:h,primaryColor:b,dk:y,dark:I=!1,showModeToggle:v,isEmbeddedMode:D,onModeToggle:k,showConnectExternalCta:w,onConnectExternalWallet:M,connectExternalError:A,showHowItWorks:T=!0,canDirectWithdraw:B,onDirectWithdraw:C,directWithdrawState:E})=>{const[S,R]=i.useState(!1);return o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"16px",padding:"16px",maxHeight:"calc(80vh - 32px)",overflowY:"auto"},children:[o.jsx(xl,{appName:e,status:t,statusLabel:n,totalUsdValue:s,breakdownSubtitle:r,address:a,dk:y,dark:I,showModeToggle:v,isEmbeddedMode:D,onModeToggle:k}),f&&o.jsx("div",{style:{padding:"10px 12px",borderRadius:"8px",backgroundColor:f.tone==="warning"?I?"rgba(245, 158, 11, 0.12)":"#fffbeb":f.tone==="success"?I?"rgba(16, 185, 129, 0.12)":"#ecfdf5":y.cardBg,border:f.tone==="warning"?I?"1px solid rgba(245, 158, 11, 0.35)":"1px solid #fde68a":f.tone==="success"?I?"1px solid rgba(16, 185, 129, 0.35)":"1px solid #a7f3d0":I?`1px solid ${y.cardBorder}`:"1px solid #e5e7eb",color:f.tone==="warning"?I?"#fbbf24":"#92400e":f.tone==="success"?I?"#34d399":"#047857":y.textSecondary,fontSize:"12px",lineHeight:1.45,fontWeight:500},children:f.message}),w&&o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[o.jsx("button",{onClick:M,style:{width:"100%",padding:"10px 14px",borderRadius:"8px",backgroundColor:b||"#EA4B4B",color:"#ffffff",border:"none",cursor:"pointer",fontSize:"13px",fontWeight:600,fontFamily:'"Helvetica Neue", sans-serif',transition:"opacity 150ms ease"},children:"Connect External Wallet"}),A&&o.jsx("span",{style:{fontSize:"11px",color:I?y.errorText:"#b91c1c",lineHeight:1.4},children:A})]}),o.jsx("div",{style:{height:"1px",backgroundColor:I?"#2d2d2d":"#e5e7eb"}}),o.jsx(Al,{onDepositClick:p,onWithdrawClick:g,depositDisabled:x,primaryColor:b,dark:I}),T&&o.jsxs("div",{children:[o.jsxs("button",{onClick:()=>R(!S),style:{display:"flex",alignItems:"center",justifyContent:"space-between",width:"100%",padding:"8px 12px",backgroundColor:y.cardBg,border:I?`1px solid ${y.cardBorder}`:"1px solid #e5e7eb",borderRadius:"8px",cursor:"pointer",color:y.textSecondary,fontSize:"12px",fontWeight:500},children:[o.jsx("span",{children:"How It Works"}),o.jsx("span",{style:{transform:S?"rotate(180deg)":"rotate(0deg)",transition:"transform 200ms ease",fontSize:"10px"},children:"\u25BE"})]}),S&&o.jsxs("div",{style:{marginTop:"6px",padding:"10px 12px",backgroundColor:I?y.cardBg:"#f0fdf4",border:I?`1px solid ${y.cardBorder}`:"1px solid #bbf7d0",borderRadius:"8px",fontSize:"12px",lineHeight:1.5,color:I?y.textSecondary:"#374151"},children:["Fund your ",e," Account from any supported chain. Once funded, transact gas-free and asset-abstracted on ",e,"."]})]}),o.jsx(Cl,{pendingDeposits:u,onCompleteDeposit:h,dk:y,dark:I}),o.jsx(kl,{spiceAssets:l,loading:d,dk:y,dark:I,canDirectWithdraw:B,onDirectWithdraw:C,directWithdrawState:E}),c.map((N,P)=>o.jsx(Sl,{section:N,dk:y,dark:I},P))]})},jl=i.memo(El);function Fl(e){return!!e.embeddedAddress&&!!e.externalAddress}function Bl(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 r=[{recipient:e,amount:s}];return n.gasBridge>0n&&r.push({recipient:j.SPICE_GAS_FEE_RECIPIENT,amount:n.gasBridge}),n.spicenetFee>0n&&r.push({recipient:j.SPICE_PLATFORM_FEE_RECIPIENT,amount:n.spicenetFee}),r}const Tl=new Set([j.SPICE_GAS_FEE_RECIPIENT,j.SPICE_PLATFORM_FEE_RECIPIENT].map(e=>e.toLowerCase()));function Rl(e,t){return!e||e.length!==t.length?!1:e.every((n,s)=>{const r=t[s];return n.recipient.toLowerCase()!==r.recipient.toLowerCase()?!1:Tl.has(n.recipient.toLowerCase())?yn(n.amount,r.amount,100n):!0})}function ir(e,t,n){return{chainId:e,domain:"evm",tokenTransfers:[],calls:n.filter(s=>s.amount>0n).map(s=>({to:t,value:0n,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[s.recipient,s.amount]})}))}}function Ml(e,t){const n=e.intents.flatMap(r=>r.batches).filter(r=>Zt(r).totalFee>0n),s=n.filter(r=>r.chainId===t);return(s.length>0?s:n)[0]??null}function Dl(e,t,n,s){const r=Ml(s,e),{gasFee:a,bridgeFee:l,spicenetFee:d}=r?Zt(r):{gasFee:0n,bridgeFee:0n,spicenetFee:0n};return Bl(t,n,{gasBridge:a+l,spicenetFee:d})}function Nl(){const{execute:e}=Rn(),t=i.useContext(m.SpiceFlowProviderContext)?.embeddedWalletAddress,{embeddedAddress:n}=m.useProviderWallets(),s=t||n;return{withdraw:i.useCallback(async({tokenAddress:r,chainId:a,balance:l,recipient:d,onProgress:u})=>{const c=r,f=d;if(l<=0n)throw new Error("Nothing to withdraw.");const p=[ir(a,c,[{recipient:f,amount:l}])];let g=null;return e(p,c,0n,u,void 0,{useCustomTransfers:!0,userOverride:s,adjustBatchesForEstimate:({feeEstimate:x})=>{const h=Dl(a,f,l,x);return Rl(g,h)?null:(g=h,[ir(a,c,h)])}})},[e,s])}}const Js=380,Sn=8,Wl=[];function lr(e){return e?.trim().replace(/^spice/i,"").replace(/[^a-z0-9]/gi,"").toUpperCase()||void 0}function Pl(e,t){const n=new Map;Object.entries(t).forEach(([r,a])=>{if(!Number.isFinite(a)||a<=0)return;n.set(r,a),n.set(r.toUpperCase(),a);const l=lr(r);l&&n.set(l,a)});const s=[e.symbol,e.displaySymbol,e.receiptTokenName,e.name,e.displayName];for(const r of s){if(!r)continue;const a=n.get(r)??n.get(r.toUpperCase());if(a!==void 0)return a;const l=lr(r);if(!l)continue;const d=n.get(l);if(d!==void 0)return d}return 0}const Ul=({appName:e="Spice",status:t="active",statusLabel:n,customSections:s=Wl,extraAssets:r=[],tokenPrices:a={},breakdownLabels:l=[],notice:d,styles:u,dark:c=!1,onDepositSuccess:f,onDepositClick:p,onWithdrawClick:g,onCompleteDeposit:x,showModeToggle:h=!1,defaultMode:b})=>{const y=i.useContext(m.SpiceFlowProviderContext),I=y?.mode!=="7702",v=!!y?.isWhitelistGateActive,D=!!y?.isWhitelistConfigured&&y?.isUserWhitelisted!==!0,k=i.useRef(!1);i.useEffect(()=>{if(!k.current){if(m.hasStoredSpiceFlowMode()){k.current=!0;return}b&&y?.setMode&&(y.setMode(b==="non7702"?"ondemand":"7702"),k.current=!0)}},[y,b]);const[w,M]=i.useState(!1),[A,T]=i.useState(null),[B,C]=i.useState({top:0,bottom:0,left:0,placement:"below"}),E=i.useRef(null),S=i.useRef(null),{address:R,isConnected:N}=m.useWallet(),P=y?.embeddedWalletAddress,H=y?.externalWalletAddress,{embeddedAddress:L}=m.useProviderWallets(),{dark:W,primaryColor:U,dk:z}=m.useSpiceBrand(u,c),_=I&&!H,V=!I||_,Y=V?P||L:R,ue=i.useMemo(()=>y?.supportedChainIds??j.getChainIdsByNetwork("mainnet"),[y?.supportedChainIds]),{assets:q,loading:ee}=Qn({address:Y,supportedChains:ue,enabled:!!Y&&V,refetchInterval:3e4}),oe=i.useMemo(()=>{const Ae=V?q.map(le=>{const ze=le.balanceUsd||0,zt=Number.isFinite(le.balanceFormatted)?le.balanceFormatted:0,Qt=ze>0?ze:Pl(le,a)*zt;return{tokenAddress:le.address,tokenSymbol:le.symbol,tokenDisplaySymbol:As(le),tokenDisplayName:ha(le),tokenDecimals:le.decimals,chainId:le.chainId,chainDisplayName:Es(le),balance:le.balance.toString(),balanceFormatted:le.balanceFormatted,usdValue:Qt,logoURI:le.logoURI}}):[],Te=_?[]:r;return[...Ae,...Te].filter(le=>le.balanceFormatted>0)},[V,_,q,a,r]),pe=i.useMemo(()=>oe.reduce((Ae,Te)=>Ae+Te.usdValue,0),[oe]),{pendingDeposits:we}=ar({chainIds:ue,enabled:!!R,discoverWalletBalances:!0}),de=i.useMemo(()=>s.reduce((Ae,Te)=>Ae+Te.totalValue,0),[s]),xe=pe+de,Ee=i.useMemo(()=>{const Ae=[];pe>0&&Ae.push(`${m.formatUsd(pe)} idle`);for(const Te of s){const le=l.find(ze=>ze.sectionTitle===Te.title)?.label||Te.title.toLowerCase();Ae.push(`${m.formatUsd(Te.totalValue)} ${le}`)}return Ae.join(" \xB7 ")},[pe,s,l]),Z=i.useCallback(Ae=>{x?x(Ae):T(Ae)},[x]),X=i.useCallback(()=>{T(null)},[]),te=i.useCallback(()=>{T(null),f?.()},[f]),se=i.useCallback(()=>{if(!E.current)return;const Ae=E.current.getBoundingClientRect(),Te=window.innerHeight-Ae.bottom-Sn,le=Ae.top-Sn,ze=Te>=400||Te>=le?"below":"above",zt=Math.max(Sn,Math.min(Ae.right-Js,window.innerWidth-Js-Sn)),Qt=ze==="below"?Ae.bottom+Sn:Ae.top-Sn,Xt=ze==="above"?window.innerHeight-Qt:0;C({top:Qt,bottom:Xt,left:zt,placement:ze})},[]);i.useLayoutEffect(()=>{w&&se()},[w,se]),i.useEffect(()=>{if(!w)return;const Ae=ze=>{E.current&&!E.current.contains(ze.target)&&S.current&&!S.current.contains(ze.target)&&M(!1)},Te=ze=>{ze.key==="Escape"&&M(!1)},le=()=>se();return document.addEventListener("mousedown",Ae),document.addEventListener("keydown",Te),window.addEventListener("scroll",le,{passive:!0}),window.addEventListener("resize",se),()=>{document.removeEventListener("mousedown",Ae),document.removeEventListener("keydown",Te),window.removeEventListener("scroll",le),window.removeEventListener("resize",se)}},[w,se]);const ye=V?P||L||R:H||R,Q=i.useCallback(()=>{y?.setMode&&y.setMode(V?"ondemand":"7702")},[y,V]),[J,me]=i.useState(null);let Se=null;try{Se=ro.useConnectWallet({onSuccess:()=>me(null),onError:Ae=>me(m.sanitizeError(Ae,"Failed to connect wallet."))}).connectWallet}catch{Se=null}const ie=i.useCallback(()=>{Se&&(M(!1),me(null),Se({walletChainType:"ethereum-only"}))},[Se]),qe=!H&&!!Se,ot=i.useCallback(()=>{M(!1),p?.()},[p]),Kt=i.useCallback(()=>{M(!1),g?.()},[g]),Ft=i.useCallback(Ae=>{M(!1),Z(Ae)},[Z]),{withdraw:ut}=Nl(),[ae,Ne]=i.useState(null),Me=Fl({embeddedAddress:P||L,externalAddress:H}),Ct=i.useCallback(async Ae=>{if(!H)return;const Te=`${Ae.tokenAddress}-${Ae.chainId}`;Ne({key:Te,step:"pending"});try{await ut({tokenAddress:Ae.tokenAddress,chainId:Ae.chainId,balance:BigInt(Ae.balance),recipient:H}),Ne(null)}catch(le){Ne({key:Te,step:"error",message:m.sanitizeError(le,"Withdraw failed")})}},[ut,H]);if(typeof window>"u")return null;const re=o.jsxs("button",{ref:E,onClick:()=>M(!w),style:{display:"inline-flex",alignItems:"center",gap:"6px",padding:"8px 14px",borderRadius:"9999px",backgroundColor:W?z.hoverBg:"#ffffff",border:W?`1px solid ${z.cardBorder}`:"1px solid #e5e7eb",cursor:"pointer",fontSize:"13px",fontWeight:500,fontFamily:'"Helvetica Neue", sans-serif',color:W?z.textPrimary:"#111827",transition:"background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease",boxShadow:W?"none":"0 1px 2px rgba(0,0,0,0.05)"},children:[o.jsxs("span",{children:[e," Account"]}),N&&o.jsxs("span",{style:{color:W?z.textSecondary:"#6b7280"},children:["\xB7 ",m.formatUsd(xe)]}),o.jsx("span",{style:{fontSize:"10px",color:W?z.textSecondary:"#9ca3af",transform:w?"rotate(180deg)":"rotate(0deg)",transition:"transform 200ms ease"},children:"\u25BE"})]}),At=w?Un.createPortal(o.jsxs(o.Fragment,{children:[o.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.08)",zIndex:wn.popover},onClick:()=>M(!1)}),o.jsx("div",{ref:S,style:{position:"fixed",top:B.placement==="below"?`${B.top}px`:"auto",bottom:B.placement==="above"?`${B.bottom}px`:"auto",left:`${B.left}px`,width:`${Js}px`,maxWidth:`calc(100vw - ${Sn*2}px)`,maxHeight:"80vh",backgroundColor:W?z.shell:"#ffffff",border:W?`1px solid ${z.cardBorder}`:"1px solid #e5e7eb",borderRadius:"12px",boxShadow:W?"0 10px 40px rgba(0, 0, 0, 0.5)":"0 10px 40px rgba(0, 0, 0, 0.12)",zIndex:wn.popover+1,overflow:"hidden",animation:`accountDisplayFadeIn 200ms ${Rt.out}`},children:o.jsx(jl,{appName:e,status:t,statusLabel:n,totalUsdValue:xe,breakdownSubtitle:Ee,address:V?ye:R,spiceAssets:oe,spiceAssetsLoading:ee,pendingDeposits:we,customSections:s,notice:d,onDepositClick:p?ot:void 0,onWithdrawClick:g?Kt:void 0,depositDisabled:D,onCompleteDeposit:Ft,primaryColor:U,dk:z,dark:W,showModeToggle:h,isEmbeddedMode:V,onModeToggle:Q,showConnectExternalCta:qe,onConnectExternalWallet:ie,connectExternalError:J,showHowItWorks:!v,canDirectWithdraw:Me,onDirectWithdraw:Ct,directWithdrawState:ae})}),o.jsx("style",{children:`
104
104
  @keyframes accountDisplayFadeIn {
105
105
  from { opacity: 0; transform: translateY(-4px); }
106
106
  to { opacity: 1; transform: translateY(0); }
107
107
  }
108
- `})]}),document.body):null;return o.jsxs(o.Fragment,{children:[$e,Dt,R&&zn.createPortal(o.jsx(or,{isOpen:!0,onClose:ye,supportedChains:[R.chainId],escrowOnly:!0,escrowTokenAddress:R.tokenAddress,escrowAmount:R.amount,escrowTokenDecimals:R.tokenDecimals,escrowTokenSymbol:R.tokenSymbol,styles:u,onDepositSuccess:H}),document.body)]})},$l="0xa9059cbb",_l=[{type:"function",name:"deposit",stateMutability:"payable",inputs:[],outputs:[]}];function Ar(e,t,n){return T.isNativeToken(e)?{to:n,value:t,data:"0x"}:{to:e,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[n,t]})}}function Er(e,t,n){return{chainId:n,calls:[Ar(e,t,T.getEscrowContractAddress(n))]}}function jr(e,t,n){return!t&&e?.asset?._source==="wallet"&&e?.asset.chainId===n}function Fr(e,t,n,s){return t!=="user-transfer"||!n||e.length===0||e[0]?.to.toLowerCase()!==s.toLowerCase()||!e[0]?.data.startsWith($l)?{feeCall:null,remainingCalls:e}:{feeCall:e[0],remainingCalls:e.slice(1)}}async function xs(e,t,n,s){if(!t)return[e];const r=await t({...n,requestTimestampMs:s});return r?[r,e]:[e]}function ys(e){return e.filter(t=>t.domain!=="spicenet")}function Cs(e){const t=(e.tokenTransfers??[]).filter(n=>n.from==="escrow").map(n=>({token:T.normalizeNativeTokenAddress(n.token),recipient:n.to,amount:BigInt(n.amount)})).filter(n=>n.amount>0n);return t.length>0?t:void 0}function un(e,t,n){if(t===n)return e;if(t<n)return e*10n**BigInt(n-t);const s=10n**BigInt(t-n);return(e+s-1n)/s}async function io(e,t){const{currentPaymentAmount:n,destinationToken:s,embeddedWalletAddress:r,providerEmbeddedAddress:a,address:c,isNon7702:d,isPayMode:u,resolvedChainId:l,buildActionCalls:f,feeExecutionMode:p,buildSpicenetBatch:g,selectedAsset:x,needsSwap:h,exactOutputSwap:y,resolvedTokenIn:C,requestTimestampMs:I}=e,k=E.parseUnits(n,s.decimals),M=t?.actionAmountOverride??k,w=r||a||(d?void 0:c);if(!w)throw new Error("Embedded wallet address is not available. Please sign in and try again.");const b={userAddress:w,chainId:l,destinationToken:s.address,grossAmount:t?.fundingAmountOverride??k,netAmount:M,combinedFeeAmount:t?.actionContextOverride?.combinedFeeAmount,feeExecutionMode:p,feeBreakdown:t?.actionContextOverride?.feeBreakdown,...t?.actionContextOverride},B=f(M,b),S={chainId:l,calls:B},F=!u&&!d?!0:x?.asset?._source==="spice",R=jr(x??null,d,l),v=F||d||R,A=(j,D)=>({token:j,from:"escrow",to:w,amount:D}),N=(j,D,z)=>R?[Er(j,D,l),...z]:z;if(k===0n)return[S];if(h&&y){const j=C??ln(x.asset,l)??x.asset.address,D=t?.fundingAmountOverride??y.amountInMax,z=v?[A(j,D)]:[],V={to:j,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"approve",args:[y.calls[0]?.to,y.amountInMax]})},O={chainId:l,calls:[V,...y.calls,...B],tokenTransfers:[...z,...S.tokenTransfers??[]]};if(!v)return[O];const P=await xs(O,g,{userAddress:w,destinationChainId:l,deliveryToken:j,deliveryAmount:D,deliveryRecipient:w,deliveryTransfers:Cs(O),sourceAsset:x.asset},I);return N(j,D,P)}if(v){const j=C??ln(x.asset,l)??s.address;if(R&&j.toLowerCase()===s.address.toLowerCase())return[S];const D=t?.fundingAmountOverride??k,z={...S,tokenTransfers:[A(j,D),...S.tokenTransfers??[]]},V=await xs(z,g,{userAddress:w,destinationChainId:l,deliveryToken:j,deliveryAmount:D,deliveryRecipient:w,deliveryTransfers:Cs(z),sourceAsset:x.asset},I);return N(j,D,V)}return[S]}async function lo(e,t){const{selectedAsset:n,embeddedWalletAddress:s,externalWalletAddress:r,recipient:a,resolvedChainId:c,destinationToken:d,buildActionCalls:u,feeExecutionMode:l,buildSpicenetBatch:f,isPayMode:p,isNon7702:g,needsSwap:x,resolvedSwap:h,quoteAmountOut:y,resolvedTokenIn:C,requestTimestampMs:I}=e,k=h?.amountOutMinimum??y;if(!n?.asset||!s)return[];const M=a??(g?r:s);if(!M)return[];const w=t?.fundingAmountOverride??t?.actionAmountOverride??E.parseUnits(n.amount,n.asset.decimals),b=t?.fundingAmountOverride??w,B=t?.sourceFundingAmountOverride??w,S=t?.deliveryAmountOverride??b,F=t?.withdrawalAmountOverride??S,R=t?.actionAmountOverride??w,v={userAddress:M,chainId:c,destinationToken:d.address,feeToken:l==="user-transfer"&&x&&C?C:d.address,grossAmount:b,netAmount:R,combinedFeeAmount:t?.actionContextOverride?.combinedFeeAmount,feeExecutionMode:l,feeBreakdown:t?.actionContextOverride?.feeBreakdown,...t?.actionContextOverride},A=u(R,v),N=n.asset?._source==="wallet",j=n.asset._wrapFromNative&&B>0n?[{to:n.asset.address,value:B,data:E.encodeFunctionData({abi:_l,functionName:"deposit"})}]:[],D=n.asset?._fundingWallet,z=N&&(D==="external"||g&&D!=="embedded");if(!p&&N&&n.asset.chainId===c&&(g||D==="external"||n.asset._wrapFromNative)){if(x){if(!C)throw new Error("Swap input token could not be resolved");if(!h||k===null)throw new Error("Swap quote not available yet")}if(x&&h&&k){const G=u(t?.actionAmountOverride??k,{...v,netAmount:t?.actionAmountOverride??k}),{feeCall:ie,remainingCalls:U}=Fr(G,l,x,v.feeToken);return[{chainId:c,calls:[...j,...ie?[ie]:[],...h.calls,...U]}]}return[{chainId:c,calls:[...j,...A]}]}if(!p&&N&&n.asset.chainId!==c&&!z)throw new Error("Cross-chain wallet supplies require external wallet mode");const V=!p&&!g?n.asset?._source!=="wallet":n.asset?._source==="spice",O=jr(n,g,c);if(!(V||z||O))return[{chainId:c,calls:[...j,...A]}];const P=O?Er(C??T.normalizeNativeTokenAddress(n.asset.address),B,c):z&&n.asset.chainId!==c?{chainId:n.asset.chainId,calls:[Ar(T.normalizeNativeTokenAddress(n.asset.address),B,T.getEscrowContractAddress(n.asset.chainId))]}:null,W=(G,ie)=>({token:G,from:"escrow",to:s,amount:ie});if(x){if(!C)throw new Error("Swap input token could not be resolved");if(!h||k===null)throw new Error("Swap quote not available yet")}if(x&&h&&k&&C){const G=u(t?.actionAmountOverride??k,{...v,netAmount:t?.actionAmountOverride??k}),{feeCall:ie,remainingCalls:U}=Fr(G,l,x,v.feeToken),X={chainId:c,calls:[...ie?[ie]:[],...h.calls,...U],tokenTransfers:[W(C,S)]},fe=await xs(X,f,{userAddress:s,destinationChainId:c,deliveryToken:C,deliveryAmount:S,withdrawalAmount:F,deliveryRecipient:s,deliveryTransfers:Cs(X),sourceAsset:n.asset},I);return P?[P,...fe]:fe}const Q=C??ln(n.asset,c)??d.address,ae={chainId:c,calls:A,tokenTransfers:[W(Q,S)]},K=await xs(ae,f,{userAddress:s,destinationChainId:c,deliveryToken:Q,deliveryAmount:S,withdrawalAmount:F,deliveryRecipient:s,deliveryTransfers:Cs(ae),sourceAsset:n.asset},I);return P?[P,...K]:K}async function co(e,t,n,s,r){let a=e;for(let c=0;c<4;c++){const d=await t(a),u=await s(d,n,a,r),l=xi(u);if(l===null||l>=e)return a;const f=a-l,p=e+f;if(p<=a)return a;a=p}return a}function ec(e,t,n,s){if(e<=0n)return 0n;const r=e-t;if(r<=0n)return 0n;const a=s+n;return a<=0n?r:r*s/a}async function Tr(e){const{asset:t,isPayMode:n,isNon7702:s,needsSwap:r,isQuoting:a,embeddedWalletAddress:c,buildSupplyChainBatches:d,estimate:u,executionTokenAddress:l,feeExecutionMode:f}=e;if(n||s||r||a||!c||t.balance<=0n)return null;const p=c,g=await d({fundingAmountOverride:t.balance,actionAmountOverride:t.balance});if(g.length===0)return null;const x=g.some(M=>M.tokenTransfers?.length),h=await u(g,l,t._wrapFromNative?0n:t.balance,x?{userOverride:p,useCustomTransfers:!0,feeExecutionMode:f}:f?{userOverride:p,feeExecutionMode:f}:{userOverride:p}),y=xn(h,{chainId:t.chainId,tokenAddress:t.address,symbol:t.symbol,decimals:t.decimals}),C=y?un(y.gasFee,y.decimals,t.decimals):0n,I=y?un(y.spicenetFee,y.decimals,t.decimals):0n,k=ec(t.balance,C,I,t.balance);return k>0n?Vo(k,t.decimals):null}async function uo(e){const{selectedAsset:t,isPayMode:n,parsedAmount:s,needsSwap:r,exactOutputSwap:a,isNon7702:c,isSourceDestToken:d,currentPaymentAmount:u,destinationToken:l,feeExecutionMode:f,resolvedTokenIn:p,embeddedWalletAddress:g,providerEmbeddedAddress:x,resolvedChainId:h,isConnected:y,address:C,ready:I,authenticated:k,isDirect:M,resolvedSwap:w,isQuoting:b,executionTokenAddress:B,buildPayChainBatches:S,buildSupplyChainBatches:F,estimate:R,estimateRequiredGrossFunding:v}=e;if(!t?.asset)return null;if(n){if(s<=0||r&&!a||d)return null;const W=E.parseUnits(u,l.decimals),Q=p||ln(t.asset,h)||t.asset.address||l.address,ae={chainId:h,tokenAddress:Q,symbol:T.getTokenByAddress(Q,h)?.symbol??t.asset.symbol,decimals:T.getTokenByAddress(Q,h)?.decimals??t.asset.decimals};if(c){const fe=g||x;if(!fe)return null;const be=r?a?.amountInMax??0n:W;if(be===0n)return null;const $={userOverride:fe,useCustomTransfers:!0},de=await v(be,_=>S({fundingAmountOverride:_}),Q,$),ue=await S({fundingAmountOverride:de}),Ie=await R(ue,Q,de,{...$,feeExecutionMode:f});return xn(Ie,ae)}if(!y||!C||!I||!k)return null;const K=g||x||C,G=r?a?.amountInMax??0n:W;if(G===0n)return null;const ie=await v(G,fe=>S({fundingAmountOverride:fe}).then(be=>cn(ys(be),K)),Q,{useCustomTransfers:!0});let U=cn(ys(await S({fundingAmountOverride:ie})),K);const X=await R(U,Q,ie,{useCustomTransfers:!0,feeExecutionMode:f});return xn(X,ae)}if(s<=0||!g)return null;const A=g||x;if(!(!n&&!c&&t.asset?._source==="wallet"&&t.asset.chainId!==h)&&!M&&!w&&!b||b)return null;const N=E.parseUnits(t.amount,t.asset.decimals),j=await F();if(j.length===0)return null;const D=t.asset?._source==="wallet",z=D&&(t.asset?._fundingWallet==="external"||c&&t.asset?._fundingWallet!=="embedded")&&D&&t.asset.chainId===h,V={chainId:h,tokenAddress:B,symbol:T.getTokenByAddress(B,h)?.symbol??l.symbol,decimals:T.getTokenByAddress(B,h)?.decimals??l.decimals};if(z){const W=await m.relayerService.estimateBatchGas({user:A,outputToken:B,stepIndex:0,chainBatches:j}),Q=ss(N,10n),ae=Q+W.gasFee;return{...V,grossAmount:N+ae,netAmount:N,totalFee:ae,gasFee:W.gasFee,spicenetFee:Q,bridgeFee:0n,gasQuoteSource:W.gasQuoteSource}}const O=j.some(W=>W.tokenTransfers?.length),P=await R(j,B,t.asset._wrapFromNative?0n:N,O?{userOverride:A,useCustomTransfers:!0,feeExecutionMode:f}:f?{userOverride:A,feeExecutionMode:f}:{userOverride:A});return xn(P,V)}const tc=10n;function Br(e,t){if(!e||e?._source!=="wallet")return!1;const n=e?._fundingWallet;return n==="external"||t&&n!=="embedded"}function po(e,t){const n=e.selectedAsset?.asset;if(!n)return;const s=ln(n,e.resolvedChainId);if(!s||!m.addressesEqual(s,e.executionTokenAddress))return;const r=T.getTokenByAddress(e.executionTokenAddress,e.resolvedChainId),a=un(t,r?.decimals??e.destinationToken.decimals,n.decimals);if(a<=n.balance)return;const c=E.formatUnits(a,n.decimals),d=E.formatUnits(n.balance,n.decimals);throw new Error(`Insufficient ${n.symbol} for amount plus fees. Required ${c} ${n.symbol}; available ${d} ${n.symbol}.`)}function fo(e){const t=T.getTokenByAddress(e.executionTokenAddress,e.resolvedChainId);return{chainId:e.resolvedChainId,tokenAddress:e.executionTokenAddress,symbol:t?.symbol??e.destinationToken.symbol,decimals:t?.decimals??e.destinationToken.decimals}}function Kn(e,t,n){const s=xn(e,fo(t));if(!s)return;const r=ss(n,tc),a=s.bridgeFee??0n,c=r+s.gasFee+a;return{grossAmount:n+c,netAmount:n,combinedFeeAmount:c,feeExecutionMode:"user-transfer",feeBreakdown:{spicenetFee:r,gasFee:s.gasFee,bridgeFee:a}}}function Rr(e,t,n){let s=0n,r=0n;const a=n.toLowerCase();for(const c of e)if(c.chainId===t){for(const d of c.calls??[])if(d.to.toLowerCase()===a)try{const u=E.decodeFunctionData({abi:E.erc20Abi,data:d.data});if(u.functionName!=="transfer")continue;const l=u.args[0].toLowerCase(),f=u.args[1];l===T.SPICE_PLATFORM_FEE_RECIPIENT.toLowerCase()?s+=f:l===T.SPICE_GAS_FEE_RECIPIENT.toLowerCase()&&(r+=f)}catch{continue}}return{spicenetFee:s,gasFee:r}}function mo(e,t,n){const s=t.feeExecutionMode==="user-transfer"&&t.needsSwap&&t.resolvedTokenIn?t.resolvedTokenIn:t.executionTokenAddress,r=Rr(e,t.resolvedChainId,s);return r.spicenetFee===0n&&n.feeBreakdown.spicenetFee>0n||r.gasFee===0n&&n.feeBreakdown.gasFee>0n?!1:kn(r.spicenetFee,n.feeBreakdown.spicenetFee,100n)&&kn(r.gasFee,n.feeBreakdown.gasFee,100n)}function Mr(e,t){return e?kn(e.grossAmount,t.grossAmount,100n)&&kn(e.feeBreakdown.spicenetFee,t.feeBreakdown.spicenetFee,100n)&&kn(e.feeBreakdown.gasFee,t.feeBreakdown.gasFee,100n)&&kn(e.feeBreakdown.bridgeFee,t.feeBreakdown.bridgeFee,100n):!1}async function ho(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(Br(e.selectedAsset.asset,e.isNon7702)){const n=e.isNon7702&&e.isSourceDestToken,s=e.activeSignerAddress??e.externalWalletAddress;if(n?!s:!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(n){e.ui.setStep("executing"),e.ui.setStatusMsg("Submitting transaction...");const r=await bs(e);e.ui.setTxHash(r??null)}else{e.ui.setStep("signing-delegation"),e.ui.setStatusMsg("Building transaction..."),e.refs.spiceDepositSubmittedRef.current=!1;const r=new AbortController;e.refs.abortControllerRef.current=r,await Nr(e,r.signal)}e.ui.setStep("success"),e.ui.setStatusMsg(n?"Transaction confirmed":"Deposit confirmed")}catch(r){const a=r instanceof Error?r:new Error(String(r));if(a.name==="AbortError"||e.refs.abortControllerRef.current?.signal.aborted){e.ui.setStep("idle");return}const c=a.message||"Transaction failed";e.ui.setStep("error"),e.ui.setStatusMsg(c),e.ui.setError(c),e.onError?.(a)}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=E.parseUnits(e.selectedAsset.amount,e.selectedAsset.asset.decimals),s=n;let r=await e.execution.buildSupplyChainBatches();const a=e.selectedAsset.asset?._source==="wallet",c=e.embeddedWalletAddress||e.providerEmbeddedAddress;if(e.buildSpicenetBatch&&!e.isPayMode&&!e.isNon7702&&!a&&!r.some(x=>T.isSpicenetChainId(x.chainId)))throw new Error("Spice-funded supplies must include a Spicenet funding batch before the destination chain batch.");const d=r.some(x=>x.tokenTransfers?.length)?{userOverride:c,useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode}:e.feeExecutionMode?{userOverride:c,feeExecutionMode:e.feeExecutionMode}:{userOverride:c};let u=n;const l=e.feeExecutionMode==="user-transfer"&&e.needsSwap&&!e.exactOutputSwap,f=e.feeExecutionMode==="user-transfer"&&!l?s:void 0;let p;for(let x=0;x<4;x+=1){const h=await e.execution.estimate(r,e.executionTokenAddress,e.selectedAsset.asset._wrapFromNative?0n:u,d),y=xn(h,fo(e));p=e.feeExecutionMode==="user-transfer"&&y?Kn(h,e,s):void 0;const C=p?.grossAmount??y?.grossAmount??u;if(C===u){u=C;break}u=C,r=await e.execution.buildSupplyChainBatches({fundingAmountOverride:u,actionAmountOverride:f,actionContextOverride:p})}e.feeExecutionMode==="user-transfer"&&(po(e,u),r=await e.execution.buildSupplyChainBatches({fundingAmountOverride:u,actionAmountOverride:f,actionContextOverride:p}));let g=p;await e.execution.execute(r,e.executionTokenAddress,e.selectedAsset.asset._wrapFromNative?0n:u,e.execution.onProgress,t.signal,e.feeExecutionMode==="user-transfer"?{...d,skipUserFundingPreflight:!0,adjustBatchesForEstimate:({feeEstimate:x,chainBatches:h})=>{const y=Kn(x,e,s);if(!y)return null;const C=e.feeExecutionMode==="user-transfer"&&e.needsSwap&&e.resolvedTokenIn?e.resolvedTokenIn:e.executionTokenAddress;Rr(h,e.resolvedChainId,C);const I=Mr(g,y),k=mo(h,e,y);return I||k?null:(g=y,e.execution.buildSupplyChainBatches({fundingAmountOverride:y.grossAmount,actionAmountOverride:f,actionContextOverride:y}))}}:d),e.ui.setStep("success"),e.ui.setStatusMsg("Deposit confirmed")}catch(n){const s=n instanceof Error?n:new Error(String(n));if(s.name==="AbortError"||t.signal.aborted){e.ui.setStep("idle");return}const r=s.message||"Transaction failed";e.ui.setStep("error"),e.ui.setStatusMsg(r),e.ui.setError(r),e.onError?.(s)}finally{e.ui.setIsExecuting(!1)}}async function Nr(e,t){if(!e.selectedAsset?.asset)throw new Error("Select a payment source");if(!e.externalWalletAddress)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,r=Br(s,e.isNon7702);if(r&&!e.externalWallet)throw new Error("Please connect your external wallet to continue");const a=E.parseUnits(e.selectedAsset.amount,s.decimals),c=a,d=s?._source==="wallet"&&s.chainId===e.resolvedChainId;let u=await e.execution.buildSupplyChainBatches();const l={userOverride:n,useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode,signAuthorizationsForEstimate:!0};let f=a;const p=e.feeExecutionMode==="user-transfer"&&e.needsSwap&&!e.exactOutputSwap,g=e.feeExecutionMode==="user-transfer"&&!p?c:void 0;let x;if(d){const b=await m.relayerService.estimateBatchGas({user:n,outputToken:e.executionTokenAddress,stepIndex:0,chainBatches:u}),B=ss(a,10n),S=B+b.gasFee;f=a+S,e.feeExecutionMode==="user-transfer"&&(x={grossAmount:f,netAmount:c,combinedFeeAmount:S,feeExecutionMode:e.feeExecutionMode,feeBreakdown:{spicenetFee:B,gasFee:b.gasFee,bridgeFee:0n}})}else for(let b=0;b<4;b+=1){const B=await e.execution.estimate(u,e.executionTokenAddress,0n,l),S=e.feeExecutionMode==="user-transfer"?Kn(B,e,c):void 0,F=xn(B,fo(e)),R=S?.grossAmount??(F?F.grossAmount>a?F.grossAmount:a:f);if(x=S,R===f){f=R;break}f=R;const v=T.getTokenByAddress(e.executionTokenAddress,e.resolvedChainId),A=un(f,v?.decimals??e.destinationToken.decimals,s.decimals);u=await e.execution.buildSupplyChainBatches({fundingAmountOverride:f,sourceFundingAmountOverride:A,withdrawalAmountOverride:f,actionAmountOverride:g,actionContextOverride:S})}const h=T.getTokenByAddress(e.executionTokenAddress,e.resolvedChainId);let y=d?f:un(f,h?.decimals??e.destinationToken.decimals,s.decimals);po(e,f),u=await e.execution.buildSupplyChainBatches({fundingAmountOverride:f,sourceFundingAmountOverride:y,withdrawalAmountOverride:f,actionAmountOverride:g,actionContextOverride:x});const C=s.chainId,I=n,k=async b=>{if(!r)return;const B=await e.externalWallet.getEthereumProvider();await Un(B,C,()=>e.ui.setStatusMsg("Switching source network..."));const S=m.getChainConfig(C),F=E.createWalletClient({account:e.externalWalletAddress,chain:S?.viemChain,transport:E.custom(B)}),R=T.normalizeNativeTokenAddress(s.address),v=s.isNative||s._wrapFromNative||T.isNativeToken(R),A=m.getClientForChain(C);await no({extWc:F,sourceClient:A,recipient:I,tokenAddr:R,isNative:v,amount:b,viemChain:S?.viemChain})};r&&(e.ui.setStatusMsg("Funding embedded wallet..."),await k(y));let M=y;if(e.feeExecutionMode==="user-transfer")for(let b=0;b<4;b+=1){const B=await e.execution.estimate(u,e.executionTokenAddress,0n,l),S=Kn(B,e,c);if(!S)break;const F=d?S.grossAmount:un(S.grossAmount,h?.decimals??e.destinationToken.decimals,s.decimals);if(r&&F>M&&(e.ui.setStatusMsg("Topping up embedded wallet..."),await k(F-M),M=F),x=S,f=S.grossAmount,y=F,u=await e.execution.buildSupplyChainBatches({fundingAmountOverride:f,sourceFundingAmountOverride:y,withdrawalAmountOverride:f,actionAmountOverride:g,actionContextOverride:S}),mo(u,e,S))break}po(e,f),e.ui.setStatusMsg("Signing supply intent...");let w=x;await e.execution.execute(u,e.executionTokenAddress,0n,e.execution.onProgress,t,e.feeExecutionMode==="user-transfer"?{...l,skipUserFundingPreflight:!0,adjustBatchesForEstimate:({feeEstimate:b,chainBatches:B})=>{const S=Kn(b,e,c);if(!S)return null;const F=Mr(w,S),R=mo(B,e,S);if(F||R)return null;if(S.grossAmount>f)throw new Error("Fee estimate increased after wallet funding. Please retry so the signed fee can match the latest relayer estimate.");w=S;const v=d?S.grossAmount:un(S.grossAmount,h?.decimals??e.destinationToken.decimals,s.decimals);return e.execution.buildSupplyChainBatches({fundingAmountOverride:S.grossAmount,sourceFundingAmountOverride:v,withdrawalAmountOverride:S.grossAmount,actionAmountOverride:g,actionContextOverride:S})}}:l)}async function bs(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 r=E.parseUnits(e.isPayMode?e.currentPaymentAmount:e.selectedAsset.amount,e.destinationToken.decimals),a={userAddress:e.recipient??s,chainId:e.resolvedChainId,destinationToken:e.destinationToken.address},c=e.buildActionCalls(r,a);if(c.length===0)throw new Error("No action calls configured");const d=await n.getEthereumProvider();await Un(d,e.resolvedChainId);const u=m.getChainConfig(e.resolvedChainId),l=E.createWalletClient({account:s,chain:u?.viemChain,transport:E.custom(d)}),f=m.getClientForChain(e.resolvedChainId);let p;for(const g of c){const x=await l.sendTransaction({to:g.to,data:g.data,value:g.value,chain:u?.viemChain});if((await f.waitForTransactionReceipt({hash:x,timeout:12e4,pollingInterval:2e3,confirmations:1})).status!=="success")throw new Error("Transaction failed");p=x}return p}async function Dr(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,r=E.parseUnits(e.currentPaymentAmount,e.destinationToken.decimals),a=e.selectedIsEquivalent?r:e.exactOutputSwap?e.exactOutputSwap.amountInMax:0n;if(a===0n)throw new Error("Quote not available yet");const c=e.resolvedTokenIn||e.selectedAsset.asset.address,d={userOverride:t,useCustomTransfers:!0},u=T.getEscrowContractAddress(s),l=T.normalizeNativeTokenAddress(n.address),f=n.isNative||T.isNativeToken(l),p=t,g=v=>({chainId:s,calls:f?[{to:u,value:v,data:"0x"}]:[{to:l,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"transfer",args:[u,v]})}]}),x=(v,A,N)=>{const j=ys(v),D=O=>(O.tokenTransfers??[]).some(P=>P.from==="escrow"),z=j.filter(O=>!D(O)),V=j.filter(D);return[...z,...cn(V,p,A,N)]},h=async(v,A,N)=>[g(v),...x(await e.execution.buildPayChainBatches({fundingAmountOverride:v}),A,N)],y=await e.execution.estimateRequiredGrossFunding(a,v=>h(v),c,d);let C=y,I=await h(y);const k=await e.execution.estimate(I,c,y,{...d,feeExecutionMode:e.feeExecutionMode}),M=xn(k,{chainId:e.resolvedChainId,tokenAddress:c,symbol:T.getTokenByAddress(c,e.resolvedChainId)?.symbol??n.symbol,decimals:T.getTokenByAddress(c,e.resolvedChainId)?.decimals??n.decimals})?.grossAmount??y;M!==y&&(C=M),I=await h(C,k,{payoutAlreadyGross:!0});const w=await e.externalWallet.getEthereumProvider();await Un(w,s);const b=m.getChainConfig(s),B=E.createWalletClient({account:e.externalWalletAddress,chain:b?.viemChain,transport:E.custom(w)}),S=m.getClientForChain(s);await no({extWc:B,sourceClient:S,recipient:t,tokenAddr:l,isNative:f,amount:C,viemChain:b?.viemChain});const F=I.some(v=>v.tokenTransfers?.length),R={...d,skipUserFundingPreflight:!0};return await e.execution.execute(I,c,F?C:0n,v=>{v.txHash&&(e.ui.setPaymentResult(A=>({...A??{status:"processing"},txHash:v.txHash})),e.ui.setTxHash(v.txHash))},void 0,F?R:{userOverride:t,skipUserFundingPreflight:!0})}async function Wr(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 bs(e);else if(e.onPayExecute&&e.selectedAsset?.asset){const r=e.selectedAsset.asset,a=E.parseUnits(e.currentPaymentAmount,e.destinationToken.decimals),c=e.selectedIsEquivalent?a:e.exactOutputSwap?e.exactOutputSwap.amountInMax:0n;if(c===0n)throw new Error("Quote not available yet");const d=e.embeddedWalletAddress||e.providerEmbeddedAddress;if(!d)throw new Error("Embedded wallet not available \u2014 sign in to create one before paying");const u=e.resolvedTokenIn||r.address,l=await e.execution.estimateRequiredGrossFunding(c,g=>e.execution.buildPayChainBatches({fundingAmountOverride:g}),u,{userOverride:d,useCustomTransfers:!0}),f=await e.execution.buildPayChainBatches({fundingAmountOverride:l}),p=await e.onPayExecute({asset:r,amount:e.currentPaymentAmount,amountWei:a,destinationToken:e.destinationToken,chainBatches:f,requiredNetFunding:c,grossFundingAmount:l,selectedIsEquivalent:e.selectedIsEquivalent,resolvedTokenIn:u,exactOutputSwapAmountInMax:e.exactOutputSwap?.amountInMax});p&&(e.ui.setTxHash(p),e.ui.setPaymentResult(g=>({...g??{status:"processing"},txHash:p}))),s=p||void 0}else s=await Dr(e);e.ui.setPaymentResult(r=>({status:"success",txHash:r?.txHash||s||""}))}catch(s){const r=m.sanitizeError(s,"Payment failed. Please try again.");e.ui.setError(r),e.ui.setPaymentResult({status:"failed",error:r}),e.onError?.(s instanceof Error?s:new Error(r))}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.parseUnits(e.currentPaymentAmount,e.destinationToken.decimals),s={useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode};if(t){const C=await bs(e);e.ui.setPaymentResult(I=>({status:"success",txHash:I?.txHash||C||""}));return}const r=e.selectedAsset?.asset;if(!r)throw new Error("Select a payment source");const a=e.resolvedTokenIn||r.address||e.destinationToken.address,c=e.needsSwap?e.exactOutputSwap?.amountInMax??0n:n,d=e.embeddedWalletAddress||e.providerEmbeddedAddress||e.address,u=(C,I,k)=>{const M=ys(C),w=S=>(S.tokenTransfers??[]).some(F=>F.from==="escrow"),b=M.filter(S=>!w(S)),B=M.filter(w);return[...b,...cn(B,d,I,k)]},l=await e.execution.estimateRequiredGrossFunding(c,C=>e.execution.buildPayChainBatches({fundingAmountOverride:C}).then(I=>u(I)),a,s);let f=l,p=u(await e.execution.buildPayChainBatches({fundingAmountOverride:l}));const g=await e.execution.estimate(p,a,l,s),x=xn(g,{chainId:e.resolvedChainId,tokenAddress:a,symbol:T.getTokenByAddress(a,e.resolvedChainId)?.symbol??r.symbol,decimals:T.getTokenByAddress(a,e.resolvedChainId)?.decimals??r.decimals})?.grossAmount??l;x!==l&&(f=x),p=u(await e.execution.buildPayChainBatches({fundingAmountOverride:f}),g,{payoutAlreadyGross:!0});const h=p.some(C=>C.tokenTransfers?.length),y=await e.execution.execute(p,a,h?f:0n,C=>{C.txHash&&(e.ui.setPaymentResult(I=>({...I,txHash:C.txHash})),e.ui.setTxHash(C.txHash))},void 0,s);e.ui.setPaymentResult(C=>({status:"success",txHash:C?.txHash||y}))}catch(n){const s=m.sanitizeError(n,"Payment failed. Please try again.");e.ui.setError(s),e.ui.setPaymentResult({status:"failed",error:s}),e.onError?.(n instanceof Error?n:new Error(s))}finally{e.ui.setIsExecuting(!1)}}const nc=({variant:e,destinationSymbol:t,destinationLogoURI:n,destinationDecimals:s,primaryColor:r,fontFamily:a,textPrimary:c,textSecondary:d,cardBg:u,cardBorder:l,dk:f,dark:p,isQuoting:g,quoteError:x,estimatedOutput:h,paymentAmount:y,needsSwap:C,exactOutputSwap:I,adjustable:k=!1,maxAmount:M,onAmountChange:w})=>e==="supply"?o.jsxs("div",{style:{backgroundColor:u,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:[o.jsxs("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px"},children:[o.jsxs("div",{style:{minWidth:0},children:[o.jsx("span",{style:{fontFamily:a,fontSize:"17px",fontWeight:500,color:p?"#a7abb2":"#7D7C7B",lineHeight:"24px"},children:"Used in TX"}),o.jsx("div",{style:{fontSize:"12px",fontWeight:500,color:d,fontFamily:a,marginTop:"10px"},children:"Net amount after swap and fees"})]}),o.jsxs("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:[o.jsx(Ur,{symbol:t,logoURI:n,primaryColor:r,size:24}),o.jsx("span",{style:{fontSize:"16px",fontWeight:500,color:p?"#f3f4f6":"#3C3E42",lineHeight:"1.3",fontFamily:a,letterSpacing:0},children:t})]})]}),o.jsx("div",{style:{textAlign:"right",minWidth:0},children:g?o.jsx("span",{style:{fontSize:"18px",color:d,fontFamily:a},children:"Quoting..."}):x?o.jsx("span",{style:{fontSize:"13px",color:p?"#f87171":"#dc2626",fontFamily:a},children:"Quote failed"}):h?o.jsx(An,{value:h,title:h,fontFamily:a,color:c,lineHeight:"0.95",textAlign:"right",maxFontSize:32,minFontSize:18}):o.jsx("span",{style:{fontSize:"20px",color:d,fontFamily:a},children:"\u2014"})})]}):o.jsx(sc,{destinationSymbol:t,destinationLogoURI:n,destinationDecimals:s,primaryColor:r,fontFamily:a,textPrimary:c,textSecondary:d,cardBg:u,cardBorder:l,dk:f,dark:p,paymentAmount:y||"0",needsSwap:C,exactOutputSwap:I,isQuoting:g,adjustable:k,maxAmount:M,onAmountChange:w}),Pr=i.memo(nc),Ur=({symbol:e,logoURI:t,primaryColor:n,size:s})=>t?o.jsx("img",{src:t,alt:e,style:{width:s,height:s,borderRadius:"50%",objectFit:"cover"}}):o.jsx("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)}),sc=({destinationSymbol:e,destinationLogoURI:t,destinationDecimals:n,primaryColor:s,fontFamily:r,textPrimary:a,textSecondary:c,cardBg:d,cardBorder:u,dk:l,dark:f,paymentAmount:p,needsSwap:g,exactOutputSwap:x,isQuoting:h,adjustable:y,maxAmount:C,onAmountChange:I})=>{const k='"IBM Plex Mono", monospace',M=parseFloat(p||"0"),w=C?parseFloat(C):0,[b,B]=i.useState(p||""),S=i.useRef(null),[F,R]=i.useState(null),[v,A]=i.useState(null);i.useEffect(()=>{y||B(p||"")},[p,y]);const N=z=>{let V=z;V.startsWith(".")&&(V="0"+V);const O=m.parseNumericInput(V);let P=O;C&&parseFloat(O)>parseFloat(C)&&(P=C),B(P),S.current&&clearTimeout(S.current),S.current=setTimeout(()=>I?.(P),300)},j=z=>{if(!w)return;if(z===100){B(C||w.toString()),S.current&&clearTimeout(S.current),I?.(C||w.toString());return}const V=10**n,O=Math.floor(w*z/100*V)/V,P=m.formatDecimalInput(O,n);B(P),S.current&&clearTimeout(S.current),I?.(P)},D=w>0?parseFloat(b||"0")/w*100:0;return i.useEffect(()=>()=>{S.current&&clearTimeout(S.current)},[]),o.jsxs("div",{style:{backgroundColor:d,border:`1px solid ${u}`,borderRadius:f?"12px":"6px",padding:"16px",marginBottom:"16px"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[o.jsx(Ur,{symbol:e,logoURI:t,primaryColor:s,size:32}),o.jsxs("div",{children:[o.jsx("span",{style:{fontSize:"14px",fontWeight:600,color:a,fontFamily:r},children:"Payment"}),o.jsx("div",{style:{fontSize:"12px",color:c,fontFamily:r,marginTop:"2px"},children:e})]})]}),o.jsxs("div",{style:{textAlign:"right"},children:[y?o.jsx(An,{element:"input",ariaLabel:`${e} amount`,dataSpiceflowFocus:!0,value:b,onChange:z=>N(z.target.value),placeholder:"0.0",fontFamily:k,color:a,lineHeight:1.1,textAlign:"right",maxFontSize:20,minFontSize:12,style:{width:"120px"}}):o.jsx(An,{element:"div",value:M>0?p:"0.00",title:M>0?p:"0.00",fontFamily:k,color:a,lineHeight:1.1,textAlign:"right",maxFontSize:20,minFontSize:12}),o.jsx("div",{style:{fontSize:"12px",color:c,fontFamily:k,marginTop:"2px"},children:e}),y&&w>0&&o.jsx("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"10px",marginTop:"6px"},children:[0,25,50,75,100].map((z,V)=>{const O=Math.abs(D-z)<1,P=V===4,W=z/100,Q=F===z,ae=v===z;return o.jsx("button",{onClick:()=>j(z),onMouseEnter:()=>R(z),onMouseLeave:()=>{R(null),A(null)},onMouseDown:()=>A(z),onMouseUp:()=>A(null),title:`${z}%`,style:{width:"14px",height:"14px",padding:0,border:"none",backgroundColor:"transparent",cursor:"pointer",opacity:O?1:Q?.8:.5,transform:ae?"scale(0.85)":Q?"scale(1.15)":"scale(1)",transition:nn.interactive},children:o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",children:[o.jsx("circle",{cx:"7",cy:"7",r:"6.84375",fill:P?s:"none",stroke:P?s:f?"#4a5568":"#3C3E42",strokeWidth:"0.3125"}),!P&&W>0&&o.jsx("path",{d:`M 7 7 L 7 0.15625 A 6.84375 6.84375 0 ${W>.5?1:0} 1 ${7+6.84375*Math.sin(W*2*Math.PI)} ${7-6.84375*Math.cos(W*2*Math.PI)} Z`,fill:f?l?.textSecondary||"#9ca3af":"#3C3E42"})]})},z)})})]})]}),g&&x&&!h&&o.jsx("div",{style:{marginTop:"12px",paddingTop:"12px",borderTop:f?`1px solid ${l?.cardBorder||u}`:"1px solid #e5e7eb",display:"flex",justifyContent:"flex-end"},children:o.jsxs("span",{style:{fontSize:"11px",color:c,fontFamily:r,opacity:.7},children:["via ",x.venue]})})]})};function Or(e,t,n){const s=m.addressesEqual(e.address,t),r=e.chainId===n,a=e._source==="wallet";return a&&s&&r?0:a&&r?1:!a&&s?2:!a&&r?3:4}function zr(e,t){if(!t||t.length===0)return!0;const n=t.filter(r=>!E.isAddress(r)).map(r=>r.toLowerCase()),s=t.filter(r=>E.isAddress(r));if(e.symbol&&n.includes(e.symbol.toLowerCase()))return!0;if(n.length>0&&e.chainId!==void 0){const r=m.getChainConfig(e.chainId)?.supportedTokens?.find(a=>m.addressesEqual(a.address,e.address));if(r?.symbol&&n.includes(r.symbol.toLowerCase()))return!0}return s.some(r=>m.addressesEqual(r,e.address))?!0:Object.keys(e.chainTokens??{}).some(r=>{const a=Nn(r);if(!a)return!1;if(s.some(d=>m.addressesEqual(d,a.address)))return!0;if(n.length===0)return!1;const c=m.getChainConfig(a.chainId)?.supportedTokens?.find(d=>m.addressesEqual(d.address,a.address));return!!c?.symbol&&n.includes(c.symbol.toLowerCase())})}function oc(e,t,n){const s=Array.from(new Set([e.chainId,...n??[]])),r=new Map,a=(u,l,f)=>{if(!E.isAddress(u)||m.addressesEqual(u,T.ZERO_ADDRESS))return;const p=E.getAddress(u),g=`${l}:${p.toLowerCase()}`;r.has(g)||r.set(g,{address:p,chainId:l,configToken:f})},c=(u,l)=>a(l.address,u,{decimals:l.decimals,symbol:l.symbol,name:l.name,logo:l.logo}),d=m.getChainConfig(e.chainId)?.supportedTokens.find(u=>m.addressesEqual(u.address,e.address));d?c(e.chainId,d):a(e.address,e.chainId);for(const u of t??[]){let l=!1;for(const f of s){const p=m.getChainConfig(f)?.supportedTokens??[];for(const g of p)(E.isAddress(u)?m.addressesEqual(g.address,u):g.symbol.toLowerCase()===u.toLowerCase())&&(c(f,g),l=!0)}!l&&E.isAddress(u)&&a(u,e.chainId)}return Array.from(r.values())}function Lr(e,t,n){let{symbol:s,name:r,logoURI:a}=t;const c=m.addressesEqual(e.address,n.address)&&e.chainId===n.chainId;c&&n.logoURI&&(a=n.logoURI),c&&!e.configToken&&s==="TOKEN"&&(s=n.symbol,r=n.symbol);const d=parseFloat((Number(t.balance)/Math.pow(10,t.decimals)).toFixed(6));return{address:e.address,name:r,symbol:s,decimals:t.decimals,balance:t.balance,balanceFormatted:d,balanceUsd:0,logoURI:a,isNative:!1,chainId:e.chainId}}function go(e){const{destinationToken:t,supportedSourceAssets:n,sourceChains:s,enabled:r,includeAllFundingWallets:a=!1}=e,c=i.useContext(m.SpiceFlowProviderContext),d=(c?.mode||"7702")!=="7702",u=c?.embeddedWalletAddress,{externalAddress:l,embeddedAddress:f}=m.useProviderWallets(),p=u||f,{assets:g,refetch:x}=Vn({address:p,supportedChains:s,enabled:r&&!!p&&(a||!d),refetchInterval:3e4}),h=i.useMemo(()=>!a&&d?[]:g.filter(F=>zr(F,n)),[a,d,g,n]),y=i.useMemo(()=>oc(t,n,s),[t,n,s]),C=i.useMemo(()=>y.filter(F=>F.chainId===t.chainId),[t.chainId,y]),I=i.useMemo(()=>y.map(F=>`${F.chainId}:${F.address.toLowerCase()}`).sort().join(","),[y]),[k,M]=i.useState([]),w=i.useRef(0),b=i.useRef(async()=>{}),B=i.useCallback(async()=>{const F=!!l&&y.length>0&&(a||d),R=!!p&&C.length>0&&(a||!d);if(!r||!F&&!R){w.current++,M([]);return}const v=++w.current,A=async(V,O,P)=>{const W=E.getAddress(V),Q=new Map;for(const G of O){const ie=Q.get(G.chainId)||[];ie.push(G),Q.set(G.chainId,ie)}const ae=G=>({...G,_fundingWallet:P}),K=async(G,ie)=>{try{const U=await an.readContract(G,{address:ie.address,abi:E.erc20Abi,functionName:"balanceOf",args:[W]}),{decimals:X,symbol:fe,name:be,logoURI:$}=await yr(G,ie.address,ie.configToken);return ae(Lr(ie,{decimals:X,symbol:fe,name:be,logoURI:$,balance:U},t))}catch{return null}};return(await Promise.all(Array.from(Q.entries()).map(async([G,ie])=>{let U;try{U=m.getClientForChain(G)}catch{return[]}const X=[],fe=[];for(const $ of ie){const de=X.length;X.push({address:$.address,abi:E.erc20Abi,functionName:"balanceOf",args:[W]}),$.configToken||X.push({address:$.address,abi:E.erc20Abi,functionName:"decimals"},{address:$.address,abi:E.erc20Abi,functionName:"symbol"},{address:$.address,abi:E.erc20Abi,functionName:"name"}),fe.push({start:de,item:$})}let be=null;try{be=await U.multicall({contracts:X})}catch{be=null}return be?fe.map(({start:$,item:de})=>{const ue=be[$],Ie=ue?.status==="success"?ue.result:0n;let _,L,J,oe;if(de.configToken)_=de.configToken.decimals,L=de.configToken.symbol,J=de.configToken.name,oe=de.configToken.logo;else{const ye=be[$+1],H=be[$+2],Y=be[$+3];_=ye?.status==="success"?Number(ye.result):18,L=H?.status==="success"?H.result:"TOKEN",J=Y?.status==="success"?Y.result:L}return ae(Lr(de,{decimals:_,symbol:L,name:J,logoURI:oe,balance:Ie},t))}):(await Promise.all(ie.map($=>K(U,$)))).filter($=>$!==null)}))).flat()},[N,j]=await Promise.all([F?A(l,y,"external"):Promise.resolve([]),R?A(p,C,"embedded"):Promise.resolve([])]),D=new Map,z=d?[...N,...j]:[...j,...N];for(const V of z){const O=`${V._fundingWallet}:${V.chainId}:${V.address.toLowerCase()}`;D.has(O)||D.set(O,V)}v===w.current&&M(Array.from(D.values()))},[r,a,d,l,p,I,t.address,t.chainId,t.symbol,t.logoURI]);i.useEffect(()=>{b.current=B},[B]),i.useEffect(()=>{if(!r){w.current++,M([]);return}b.current();const F=setInterval(()=>{b.current()},15e3);return()=>clearInterval(F)},[r,a,d,l,p,I,t.address,t.chainId]);const S=i.useCallback(()=>{B()},[B]);return{displayAssets:i.useMemo(()=>{const F=[],R=k.filter(A=>A.balance>0n);for(const A of R)F.push({...A,_source:"wallet"});for(const A of h)F.push({...A,_source:"spice"});const v=t.address.toLowerCase();return F.sort((A,N)=>Or(A,v,t.chainId)-Or(N,v,t.chainId)),F},[k,h,t.address,t.chainId]),filteredSpiceAssets:h,walletAssets:k,embeddedWalletAddress:p,externalAddress:l,isNon7702:d,refreshSpiceAssets:x,refreshWalletAssets:S}}async function Hr(e){const{tokenIn:t,tokenOut:n,amountIn:s,fee:r,chainId:a,config:c}=e;if(s<=0n)throw new Error("amountIn must be greater than 0");const d=(await m.getClientForChain(a).simulateContract({address:c.quoterV2,abi:T.uniV3QuoterV2Abi,functionName:"quoteExactInputSingle",args:[{tokenIn:t,tokenOut:n,amountIn:s,fee:r,sqrtPriceLimitX96:0n}]})).result;if(d[0]<=0n)throw new Error("No liquidity found for this pair. The pool returned 0 output.");return{amountOut:d[0],sqrtPriceX96After:d[1],gasEstimate:d[3]}}async function Qr(e){const t=e.feeTiers??[100,500,3e3,1e4],n=await Promise.allSettled(t.map(r=>Hr({...e,fee:r})));let s=null;for(let r=0;r<n.length;r++){const a=n[r];a.status==="fulfilled"&&(!s||a.value.amountOut>s.amountOut)&&(s={...a.value,fee:t[r]})}if(!s)throw new Error("No liquidity found for this pair on any fee tier.");return s}const rc=[{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 ac(e){const{tokenIn:t,tokenOut:n,amountOut:s,fee:r,chainId:a,config:c}=e;if(s<=0n)throw new Error("amountOut must be greater than 0");const d=(await m.getClientForChain(a).simulateContract({address:c.quoterV2,abi:rc,functionName:"quoteExactOutputSingle",args:[{tokenIn:t,tokenOut:n,amount:s,fee:r,sqrtPriceLimitX96:0n}]})).result;if(d[0]<=0n)throw new Error("No liquidity found for this pair. The pool returned 0 input.");return{amountIn:d[0],sqrtPriceX96After:d[1],gasEstimate:d[3]}}async function ic(e){const t=e.feeTiers??[100,500,3e3,1e4],n=await Promise.allSettled(t.map(r=>ac({...e,fee:r})));let s=null;for(let r=0;r<n.length;r++){const a=n[r];a.status==="fulfilled"&&(!s||a.value.amountIn<s.amountIn)&&(s={...a.value,fee:t[r]})}if(!s)throw new Error("No liquidity found for this pair on any fee tier.");return s}const lc="0x0000000000000000000000000000000000000000",qr=3,Vr=8,cc=30,Kr=[{name:"quoteExactInput",stateMutability:"nonpayable",inputs:[{name:"path",type:"bytes"},{name:"amountInRequired",type:"uint256"}],outputs:[{name:"amountOutList",type:"uint256[]"},{name:"amountInList",type:"uint256[]"},{name:"sqrtPriceX96AfterList",type:"uint160[]"},{name:"initializedTicksCrossedList",type:"uint32[]"},{name:"gasEstimate",type:"uint256"},{name:"feeList",type:"uint16[]"}],type:"function"},{name:"quoteExactOutput",stateMutability:"nonpayable",inputs:[{name:"path",type:"bytes"},{name:"amountOutRequired",type:"uint256"}],outputs:[{name:"amountOutList",type:"uint256[]"},{name:"amountInList",type:"uint256[]"},{name:"sqrtPriceX96AfterList",type:"uint160[]"},{name:"initializedTicksCrossedList",type:"uint32[]"},{name:"gasEstimate",type:"uint256"},{name:"feeList",type:"uint16[]"}],type:"function"}],Yr=[{name:"exactInput",stateMutability:"payable",inputs:[{name:"params",type:"tuple",components:[{name:"path",type:"bytes"},{name:"recipient",type:"address"},{name:"deadline",type:"uint256"},{name:"amountIn",type:"uint256"},{name:"amountOutMinimum",type:"uint256"}]}],outputs:[{name:"amountOut",type:"uint256"}],type:"function"},{name:"exactOutput",stateMutability:"payable",inputs:[{name:"params",type:"tuple",components:[{name:"path",type:"bytes"},{name:"recipient",type:"address"},{name:"deadline",type:"uint256"},{name:"amountOut",type:"uint256"},{name:"amountInMaximum",type:"uint256"}]}],outputs:[{name:"amountIn",type:"uint256"}],type:"function"}];function ws(e){const t=[];for(let n=0;n<e.length;n++)t.push(E.pad(e[n],{size:20})),n<e.length-1&&t.push(lc);return E.concat(t)}async function dc(e,t){const n=t.toLowerCase(),s=`{ pools(first: 500, where: { or: [ { token0: "${n}" }, { token1: "${n}" } ] }) { token0 { id } token1 { id } } }`,r=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:s})});if(!r.ok)throw new Error(`Algebra subgraph returned ${r.status}`);const a=await r.json();if(a.errors||!a.data?.pools)throw new Error("Algebra subgraph query failed");const c=new Set;for(const d of a.data.pools){const u=d.token0.id.toLowerCase(),l=d.token1.id.toLowerCase();c.add(u===n?l:u)}return c}async function Zr(e,t,n){const s=t.toLowerCase(),r=n.toLowerCase(),a=new Map,c=async l=>{const f=a.get(l);if(f)return f;if(a.size>=cc)return new Set;const p=await dc(e,l);return a.set(l,p),p},d=[],u=[[s]];for(;u.length>0&&d.length<Vr;){const l=u.shift();if(l.length-1>=qr)continue;const f=l[l.length-1];for(const p of await c(f))if(!l.includes(p))if(p===r){if(d.push([...l,p]),d.length>=Vr)break}else l.length-1<qr-1&&u.push([...l,p])}return d}async function uc(e,t,n,s){const r=m.getClientForChain(t),{result:a}=await r.simulateContract({address:e,abi:Kr,functionName:"quoteExactInput",args:[ws(n),s]}),c=a[0],d=c[c.length-1]??0n;if(d<=0n)throw new Error("Algebra quote returned zero output");return d}async function pc(e,t,n,s){const r=m.getClientForChain(t),{result:a}=await r.simulateContract({address:e,abi:Kr,functionName:"quoteExactOutput",args:[ws([...n].reverse()),s]}),c=a[1],d=c[c.length-1]??0n;if(d<=0n)throw new Error("Algebra quote returned zero input");return d}async function fc(e){const{tokenIn:t,tokenOut:n,amountIn:s,chainId:r,config:a}=e,c=await Zr(a.subgraphUrl,t,n),d=await Promise.allSettled(c.map(async l=>({path:l,amountOut:await uc(a.quoterV2,r,l,s)})));let u=null;for(const l of d)l.status==="fulfilled"&&(!u||l.value.amountOut>u.amountOut)&&(u=l.value);return u}async function mc(e){const{tokenIn:t,tokenOut:n,amountOut:s,chainId:r,config:a}=e,c=await Zr(a.subgraphUrl,t,n),d=await Promise.allSettled(c.map(async l=>({path:l,amountIn:await pc(a.quoterV2,r,l,s)})));let u=null;for(const l of d)l.status==="fulfilled"&&(!u||l.value.amountIn<u.amountIn)&&(u=l.value);return u}function Gr(e){return e.type==="swap"}const Yn=.02,hc=[1,8453,42161,10,137,43114,56],gc="https://api.1inch.dev/swap/v6.0";function xo(e,t){return T.applySlippage(e,t)}function Xr(e){const t=e?.baseUrl??gc;return{name:"1inch",chainIds:e?.chainIds??hc,resolve:async(n,s,r)=>{const a=n.maxSlippage??Yn,c=a*100,d=T.isNativeToken(n.tokenIn)?T.NATIVE_TOKEN_ADDRESS:n.tokenIn,u=T.isNativeToken(n.tokenOut)?T.NATIVE_TOKEN_ADDRESS:n.tokenOut,l=T.isNativeToken(n.tokenIn);try{const f=new URL(`${t}/${s}/swap`);f.searchParams.set("src",d),f.searchParams.set("dst",u),f.searchParams.set("amount",n.amountIn.toString()),f.searchParams.set("from",r),f.searchParams.set("slippage",c.toString()),f.searchParams.set("disableEstimate","true"),f.searchParams.set("allowPartialFill","false");const p={Accept:"application/json"};e?.apiKey&&(p.Authorization=`Bearer ${e.apiKey}`);const g=await fetch(f.toString(),{headers:p});if(!g.ok)throw new m.SpiceflowError("VENUE_API_ERROR",`[1inchVenue] API returned ${g.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 ${g.status}`});const x=await g.json();if(!x.dstAmount||!x.tx)return console.warn(`[1inchVenue] No route data for ${n.tokenIn} \u2192 ${n.tokenOut} on chain ${s}`),null;const h=BigInt(x.dstAmount);if(h<=0n)return console.warn(`[1inchVenue] Zero output for ${n.tokenIn} \u2192 ${n.tokenOut} on chain ${s}`),null;const y=xo(h,a),C=[];return x.tx.to&&!l&&C.push({to:n.tokenIn,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"approve",args:[x.tx.to,n.amountIn]})}),C.push({to:x.tx.to,value:BigInt(x.tx.value||"0"),data:x.tx.data}),{venue:"1inch",amountOut:h,amountOutMinimum:y,calls:C}}catch(f){if(f instanceof m.SpiceflowError)throw f;const p=f instanceof Error?f.message:String(f);throw new m.SpiceflowError("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 Jr=[4114,5115],yo={swapRouter:"0x565eD3D57fe40f78A46f348C220121AE093c3cF8",quoterV2:"0x428f20dd8926Eabe19653815Ed0BE7D6c36f8425",feeTiers:[3e3]},$r={swapRouter:"0x2626664c2603336E57B271c5C0b26F421741e481",quoterV2:"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a",chainIds:[8453],feeTiers:[3e3]};function _r(e){return{name:"satsuma",chainIds:e.chainIds??Jr,resolve:async(t,n,s)=>{const r=t.maxSlippage??Yn,a=T.isNativeToken(t.tokenIn);let c;try{c=await Qr({tokenIn:t.tokenIn,tokenOut:t.tokenOut,amountIn:t.amountIn,chainId:n,config:{swapRouter:e.swapRouter,quoterV2:e.quoterV2},feeTiers:e.feeTiers})}catch{return console.warn(`[SatsumaVenue] No viable fee tier for ${t.tokenIn} \u2192 ${t.tokenOut} on chain ${n}.`),null}const d=xo(c.amountOut,r),u=[];return a||u.push({to:t.tokenIn,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"approve",args:[e.swapRouter,t.amountIn]})}),u.push({to:e.swapRouter,value:a?t.amountIn:0n,data:E.encodeFunctionData({abi:T.uniV3SwapRouterAbi,functionName:"exactInputSingle",args:[{tokenIn:t.tokenIn,tokenOut:t.tokenOut,fee:c.fee,recipient:s,amountIn:t.amountIn,amountOutMinimum:d,sqrtPriceLimitX96:0n}]})}),{venue:"satsuma",amountOut:c.amountOut,amountOutMinimum:d,calls:u}}}}function ea(e){return{name:"satsuma",chainIds:e.chainIds??Jr,resolve:async(t,n,s)=>{const r=t.maxSlippage??Yn,a=T.isNativeToken(t.tokenIn);let c;try{c=await ic({tokenIn:t.tokenIn,tokenOut:t.tokenOut,amountOut:t.amountOut,chainId:n,config:{swapRouter:e.swapRouter,quoterV2:e.quoterV2},feeTiers:e.feeTiers})}catch{return null}const d=BigInt(Math.round(r*1e4)),u=c.amountIn+c.amountIn*d/10000n,l=[];return l.push({to:e.swapRouter,value:a?u:0n,data:E.encodeFunctionData({abi:xc,functionName:"exactOutputSingle",args:[{tokenIn:t.tokenIn,tokenOut:t.tokenOut,fee:c.fee,recipient:s,amountOut:t.amountOut,amountInMaximum:u,sqrtPriceLimitX96:0n}]})}),{venue:"satsuma",amountIn:c.amountIn,amountInMax:u,amountOut:t.amountOut,calls:l}}}}const xc=[{inputs:[{components:[{name:"tokenIn",type:"address"},{name:"tokenOut",type:"address"},{name:"fee",type:"uint24"},{name:"recipient",type:"address"},{name:"amountOut",type:"uint256"},{name:"amountInMaximum",type:"uint256"},{name:"sqrtPriceLimitX96",type:"uint160"}],name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"}],ta=[4114],Co={swapRouter:"0x3012E9049d05B4B5369D690114D5A5861EbB85cb",quoterV2:"0xa77aD9f635a3FB3bCCC5E6d1A87cB269746Aba17",subgraphUrl:"https://api.goldsky.com/api/public/project_cmamb6kkls0v2010932jjhxj4/subgraphs/analytics-mainnet/v1.0.1/gn"};function na(e){return{name:"algebra",chainIds:e.chainIds??ta,resolve:async(t,n,s)=>{const r=T.isNativeToken(t.tokenIn),a=await fc({tokenIn:t.tokenIn,tokenOut:t.tokenOut,amountIn:t.amountIn,chainId:n,config:e}).catch(()=>null);if(!a)return null;const c=xo(a.amountOut,t.maxSlippage??Yn),d=[];return r||d.push({to:t.tokenIn,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"approve",args:[e.swapRouter,t.amountIn]})}),d.push({to:e.swapRouter,value:r?t.amountIn:0n,data:E.encodeFunctionData({abi:Yr,functionName:"exactInput",args:[{path:ws(a.path),recipient:s,deadline:E.maxUint256,amountIn:t.amountIn,amountOutMinimum:c}]})}),{venue:"algebra",amountOut:a.amountOut,amountOutMinimum:c,calls:d}}}}function sa(e){return{name:"algebra",chainIds:e.chainIds??ta,resolve:async(t,n,s)=>{const r=T.isNativeToken(t.tokenIn),a=await mc({tokenIn:t.tokenIn,tokenOut:t.tokenOut,amountOut:t.amountOut,chainId:n,config:e}).catch(()=>null);if(!a)return null;const c=t.maxSlippage??Yn,d=BigInt(Math.round(c*1e4)),u=a.amountIn+a.amountIn*d/10000n,l=[];return r||l.push({to:t.tokenIn,value:0n,data:E.encodeFunctionData({abi:E.erc20Abi,functionName:"approve",args:[e.swapRouter,u]})}),l.push({to:e.swapRouter,value:r?u:0n,data:E.encodeFunctionData({abi:Yr,functionName:"exactOutput",args:[{path:ws([...a.path].reverse()),recipient:s,deadline:E.maxUint256,amountOut:t.amountOut,amountInMaximum:u}]})}),{venue:"algebra",amountIn:a.amountIn,amountInMax:u,amountOut:t.amountOut,calls:l}}}}function oa(e){const t=[];e?.customVenues&&t.push(...e.customVenues),e?.algebra&&t.push(na(e.algebra)),e?.satsuma&&t.push(_r(e.satsuma)),t.push(Xr(e?.oneInch));function n(r){return t.find(a=>a.chainIds.includes(r))}async function s(r,a,c){const d=[],u=[];for(const l of r){if(!Gr(l)){d.push(l);continue}const f=n(a);if(!f)throw new m.SpiceflowError("NO_VENUE_FOR_CHAIN",`No liquidity venue configured for chain ${a}. Cannot resolve swap ${l.tokenIn} \u2192 ${l.tokenOut}.`,{chainId:a,tokenIn:l.tokenIn,tokenOut:l.tokenOut,amountIn:l.amountIn.toString()});const p=await f.resolve(l,a,c);if(!p)throw new m.SpiceflowError("NO_LIQUIDITY",`${f.name} returned no quote for ${l.tokenIn} \u2192 ${l.tokenOut} on chain ${a}.`,{venue:f.name,chainId:a,tokenIn:l.tokenIn,tokenOut:l.tokenOut,amountIn:l.amountIn.toString()});d.push(...p.calls),u.push(p)}return{calls:d,resolvedSwaps:u}}return{resolveSwapIntents:s,getVenueForChain:n,venues:t}}function ra(e){const t=e?.customVenues??[];async function n(s,r,a){const c=t.filter(l=>l.chainIds.includes(r));if(c.length===0)throw new m.SpiceflowError("NO_SWAP_ROUTE",`No exact-output venue supports chain ${r}`,{chainId:r,tokenIn:s.tokenIn,tokenOut:s.tokenOut});const d=(await Promise.allSettled(c.map(async l=>({venue:l,quote:await l.resolve(s,r,a)})))).filter(l=>l.status==="fulfilled").map(l=>l.value).filter(l=>l.quote!==null);if(d.length===0)throw new m.SpiceflowError("NO_SWAP_ROUTE",`All aggregators failed for ${s.tokenIn} \u2192 ${s.tokenOut} on chain ${r}`,{chainId:r,tokenIn:s.tokenIn,tokenOut:s.tokenOut,amountOut:s.amountOut.toString()});const u=d.find(l=>l.venue.preferred);return u?u.quote:(d.sort((l,f)=>l.quote.amountIn<f.quote.amountIn?-1:l.quote.amountIn>f.quote.amountIn?1:0),d[0].quote)}return{getQuote:n,venues:t}}const aa=oa({algebra:Co,satsuma:yo});async function yc(e){const t=aa.getVenueForChain(e.chainId);if(!t)throw new Error(`No swap venue configured for chain ${e.chainId}.`);const n=await t.resolve({type:"swap",tokenIn:e.tokenIn,tokenOut:e.tokenOut,amountIn:e.amountIn},e.chainId,e.recipient);if(!n)throw new Error("No liquidity for this pair.");return n}function bo(e){const{direction:t,selectedAsset:n,destinationToken:s,chainId:r,recipient:a,paymentAmount:c,resolveExactOutputSwap:d}=e,[u,l]=i.useState(!1),[f,p]=i.useState(null),[g,x]=i.useState(null),[h,y]=i.useState(null),[C,I]=i.useState(null),[k,M]=i.useState(null),[w,b]=i.useState(null),[B,S]=i.useState(null),[F,R]=i.useState(null),v=i.useRef(null),A=i.useRef(null),N=i.useRef(0),j=i.useRef(new Map),D=i.useMemo(()=>aa,[]),z=i.useMemo(()=>ra({customVenues:[sa(Co),...d?[{name:"consumer-exact-output",chainIds:[r],preferred:!0,resolve:d}]:[],ea(yo),ea($r)]}),[d,r]),V=i.useMemo(()=>{if(!n?.asset)return null;const X=ln(n.asset,r);if(X)return X;const fe=yn(n.asset.address,r,n.asset.chainId);return fe?fe.address:null},[n?.asset,r]),O=i.useMemo(()=>n?.asset?$n(n.asset,r):[],[n?.asset,r]),P=i.useMemo(()=>O.map(X=>X.toLowerCase()).join(","),[O]);i.useEffect(()=>{let X=!1;if(A.current&&(clearTimeout(A.current),A.current=null),!n?.asset||O.length<=1){R(null);return}return A.current=setTimeout(async()=>{const fe=t==="input"?n.amount:c||"0";let be=0n;try{be=t==="input"?E.parseUnits(fe,n.asset.decimals):0n}catch{be=0n}try{const $=await Oo(n.asset,r,{requiredAmount:be});X||R($)}catch{X||R(null)}},400),()=>{X=!0,A.current&&(clearTimeout(A.current),A.current=null)}},[n?.asset,n?.amount,r,O.length,P,t,c]);const W=i.useMemo(()=>F??V,[F,V]),Q=i.useMemo(()=>!n?.asset||!W?[]:[W,...O.filter(X=>X.toLowerCase()!==W.toLowerCase())],[n?.asset,W,O]),ae=i.useMemo(()=>!n?.asset||!qn(n.asset.address,n.asset.chainId,s.address,s.chainId)||!W?!1:m.addressesEqual(W,s.address),[n,s.address,s.chainId,W]),K=W?m.addressesEqual(W,s.address):!1,G=t==="output"&&parseFloat(c||"0")===0,ie=!!n?.asset&&!ae&&!K&&!G,U=ie?B??W:W;return i.useEffect(()=>{v.current&&clearTimeout(v.current);const X=t==="input"?n?.amount:c,fe=parseFloat(X||"0");if(!ie||!Number.isFinite(fe)||fe<=0||!n?.asset||!a||Q.length===0){N.current++,x(null),y(null),I(null),M(null),b(null),S(null),p(null),l(!1);return}const be=n.asset.decimals;let $;try{$=t==="input"?E.parseUnits(n.amount,be):E.parseUnits(c||"0",s.decimals)}catch{N.current++,p("Invalid amount"),l(!1);return}const de=++N.current,ue=()=>de!==N.current;l(!0);const Ie=t==="output"?150:400;return v.current=setTimeout(async()=>{try{if(t==="input"){const _=D.getVenueForChain(r);if(!_)throw new Error("No swap venue for this chain");let L=null,J=null;for(const ye of Q){const H=`${t}:${r}:${ye.toLowerCase()}:${s.address.toLowerCase()}:${$.toString()}`,Y=j.current.get(H);if(Y&&Y.expiresAt>Date.now()&&Y.resolvedSwap){L=Y.resolvedSwap,J=ye;break}const xe=await _.resolve({type:"swap",tokenIn:ye,tokenOut:s.address,amountIn:$},r,a);if(ue())return;if(xe){j.current.set(H,{expiresAt:Date.now()+3e4,direction:t,resolvedSwap:xe}),L=xe,J=ye;break}}if(!L||!J)throw new Error("No liquidity for this pair");S(J),b(L.amountOut),I(L),M(null);const oe=parseFloat(E.formatUnits(L.amountOut,s.decimals));x(oe<.01?oe.toPrecision(4):oe.toLocaleString(void 0,{maximumFractionDigits:6})),y(null),p(null)}else{let _=null,L=null;for(const J of Q){const oe=`${t}:${r}:${J.toLowerCase()}:${s.address.toLowerCase()}:${$.toString()}`,ye=j.current.get(oe);if(ye&&ye.expiresAt>Date.now()&&ye.exactOutputSwap){_=ye.exactOutputSwap,L=J;break}try{const H=await z.getQuote({tokenIn:J,tokenOut:s.address,amountOut:$},r,a);if(ue())return;j.current.set(oe,{expiresAt:Date.now()+3e4,direction:t,exactOutputSwap:H}),_=H,L=J;break}catch{if(ue())return}}if(!_||!L)throw new Error("No liquidity for this pair");S(L),M(_),I(null),b(null),y(parseFloat(E.formatUnits(_.amountIn,be)).toFixed(6)),x(null),p(null)}}catch(_){if(ue())return;const L=_ instanceof Error?_.message:"Failed to get quote";p(L),x(null),y(null),I(null),M(null),b(null),S(null)}finally{ue()||l(!1)}},Ie),()=>{v.current&&clearTimeout(v.current)}},[t,ie,n?.amount,n?.asset?.address,n?.asset?.decimals,c,Q,r,s.address,s.decimals,a,D,z]),{isQuoting:u,quoteError:f,estimatedOutput:g,estimatedInput:h,resolvedSwap:C,exactOutputSwap:k,quoteAmountOut:w,resolvedTokenIn:U,isDirect:K,needsSwap:ie,selectedIsEquivalent:ae}}const ia={idle:"","signing-delegation":"Signing delegation...","signing-intent":"Signing intent...",submitting:"Submitting transaction...",executing:"Executing on-chain...",success:"Deposit confirmed",error:"Transaction failed"},la=["signing-delegation","signing-intent","submitting","executing"],Cc=()=>{},bc=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,destinationToken:s,sourceChains:r,supportedSourceAssets:a,buildActionCalls:c,feeExecutionMode:d="user-transfer",buildSpicenetBatch:u,onPayExecute:l,resolveExactOutputSwap:f,actionLabel:p,amountDirection:g="input",swapDescription:x,directDescription:h,paymentAmount:y,amountInputMode:C="fixed",minPaymentAmount:I,maxPaymentAmount:k,onAmountChange:M,styles:w,dark:b,title:B,subtitle:S,onAddFunds:F,onSuccess:R,onError:v})=>{const A=g==="output",{theme:N,dark:j,primaryColor:D,dk:z,palette:V,fontFamily:O,monoFont:P,inputDark:W,cardBg:Q,cardBorder:ae,textPrimary:K,textSecondary:G,subtitleText:ie}=m.useSpiceBrand(w,b),U=i.useMemo(()=>W?{...N,colors:{...N.colors,secondary:z.cardBg,surfaceHover:z.hoverBg,border:"#2d2d2d",borderHover:"#3a3a3a"}}:N,[W,N,z.cardBg,z.hoverBg]),X=s.chainId,fe=i.useContext(m.SpiceFlowProviderContext),be=fe?.mode||"7702",$=be!=="7702",de=!!fe?.isWhitelistGateActive,ue=!!fe?.isWhitelistConfigured&&fe?.isUserWhitelisted!==!0,Ie=i.useMemo(()=>r??fe?.supportedChainIds??[],[r,fe?.supportedChainIds]),_=i.useMemo(()=>{if(de)return[];if(a)return a;const Ce=fe?.allowedTokens;if(!Ce||Ce.length===0)return;const it=new Set(Ce.map(bn=>bn.toLowerCase())),rn=[],Cn=new Set;for(const bn of Ie){const Ss=m.getChainConfig(bn);for(const Is of Ss?.supportedTokens??[]){if(!it.has(Is.symbol.toLowerCase()))continue;const wo=Is.address.toLowerCase();Cn.has(wo)||(Cn.add(wo),rn.push(Is.address))}}return rn},[a,fe?.allowedTokens,Ie,de]),L=m.useWallet(),{address:J,isConnected:oe,isReady:ye,isAuthenticated:H,provider:Y}=L,{execute:xe,estimate:re}=jn(),{externalWallet:Be,embeddedAddress:Xe,activeWallet:et,activeAddress:Ct}=m.useProviderWallets(),bt=fe?.externalWalletAddress,me=fe?.embeddedWalletAddress||Xe,{displayAssets:Re,filteredSpiceAssets:ze,embeddedWalletAddress:je,refreshSpiceAssets:rt,refreshWalletAssets:Bt}=go({destinationToken:s,supportedSourceAssets:_,sourceChains:Ie,enabled:e&&(!!bt||!!me),includeAllFundingWallets:!A}),tt=i.useMemo(()=>A?Re.filter(Ce=>{const it=Ce?._source,rn=Ce?._fundingWallet;return $?it==="wallet"&&rn!=="embedded":rn!=="external"}):Re,[Re,A,$]);i.useEffect(()=>{e&&console.debug("[SpiceSupply] selectable assets",{mode:be,walletAddressUsed:je,count:tt.length,assets:tt.map(Ce=>({symbol:Ce.symbol,address:Ce.address,chainId:Ce.chainId,balanceFormatted:Ce.balanceFormatted,source:Ce?._source}))})},[e,be,je,tt]);const[Z,Ke]=i.useState(null),[nt,wt]=i.useState(y||""),[De,Jt]=i.useState(!1),[$e,Dt]=i.useState(null),[le,Te]=i.useState("idle"),[ke,Me]=i.useState(""),[kt,lt]=i.useState(null),[Wt,we]=i.useState(!1),[Ee,jt]=i.useState(null),[yt,ge]=i.useState(null),[Ht,It]=i.useState(!1),[ct,Le]=i.useState(!1),[Rt,st]=i.useState(null),Zt=i.useRef(Z),Pt=i.useRef(!1),Gt=i.useRef(null),Ye=i.useRef(null),At=i.useRef(0),Mt=i.useRef(null),dt=i.useRef(null);i.useEffect(()=>{Zt.current=Z},[Z]);const pe=C==="adjustable"?nt:y||"0",We=je||Xe||J,{isQuoting:Ze,quoteError:vt,estimatedOutput:zt,resolvedSwap:Ft,exactOutputSwap:Fe,quoteAmountOut:Ut,resolvedTokenIn:St,isDirect:Tt,needsSwap:_e,selectedIsEquivalent:Ue}=bo({direction:g,selectedAsset:Z,destinationToken:s,chainId:X,recipient:We,paymentAmount:pe,resolveExactOutputSwap:f}),at=A?parseFloat(pe||"0"):parseFloat(Z?.amount||"")||0,te=A?s.symbol:Z?.asset?.displaySymbol||Z?.asset?.symbol||"",ee=Rn(te)&&at>0&&at<on,ve=Z?.asset?._source==="wallet",qe=Z?.asset?._fundingWallet,ut=ve&&(qe==="external"||$&&qe!=="embedded"),gt=!!Z?.asset&&ve&&Z.asset.chainId!==X,Ot=i.useMemo(()=>Z?.asset?ze.find(Ce=>m.addressesEqual(Ce.address,Z.asset.address))?.balanceFormatted??0:0,[Z,ze]),Je=ve?Z?.asset.balanceFormatted??0:Ot,Ne=i.useMemo(()=>{if(!Z?.asset)return!1;if(A)return yt?un(yt.grossAmount,yt.decimals,Z.asset.decimals)>Z.asset.balance:Ue||Tt?at>Z.asset.balanceFormatted:Fe?parseFloat(E.formatUnits(Fe.amountInMax,Z.asset.decimals))>Z.asset.balanceFormatted:!1;if(yt){const Ce=un(yt.grossAmount,yt.decimals,Z.asset.decimals);return ve?Ce>Z.asset.balance:parseFloat(E.formatUnits(Ce,Z.asset.decimals))>Je}return at>Je},[Z,A,yt,Ue,at,Fe,Je,ve,Tt]);i.useEffect(()=>{e||(Ke(null),Dt(null),Jt(!1),Te("idle"),Me(""),lt(null),we(!1),jt(null),ge(null),It(!1),Le(!1),st(null),Pt.current=!1,C==="adjustable"&&wt(y||""),Gt.current&&(Gt.current.abort(),Gt.current=null))},[e]);const Ge=i.useCallback(Ce=>{Ke(it=>{const rn=it?.asset?.address===Ce.address&&it?.asset?.chainId===Ce.chainId&&it.asset?._fundingWallet===Ce?._fundingWallet;return{asset:Ce,amount:rn&&it.amount||""}}),Dt(null),st(null),Le(!1)},[]),He=i.useCallback(Ce=>{Ke(it=>it&&{...it,amount:Ce}),Dt(null),st(null),Le(!1)},[]),Ve=i.useCallback(Ce=>{let it=Ce;k&&parseFloat(it)>parseFloat(k)&&(it=k),wt(it),M?.(it),Dt(null),st(null),Le(!1)},[k,M]);i.useCallback(Ce=>{if(Pt.current||!J)return;const it=Zt.current;!it?.asset||!it.amount||it.asset?._source==="wallet"||E.parseUnits(A?pe:it.amount,it.asset.decimals)===0n||(Pt.current=!0,rt())},[J,X,rt,A,pe]);const ne=i.useCallback(Ce=>{Te({building:"signing-delegation","signing-delegation":"signing-delegation","signing-intent":"signing-intent",submitting:"submitting",executing:"executing",success:"success",error:"error"}[Ce.step]||"executing"),Me(Ce.message),Ce.txHash&&lt(Ce.txHash)},[]),Se=i.useMemo(()=>({currentPaymentAmount:pe,destinationToken:s,embeddedWalletAddress:je,providerEmbeddedAddress:Xe,externalWalletAddress:bt,address:J,isNon7702:$,isPayMode:A,resolvedChainId:X,buildActionCalls:c,feeExecutionMode:d,buildSpicenetBatch:u,selectedAsset:Z,needsSwap:_e,resolvedSwap:Ft,exactOutputSwap:Fe,quoteAmountOut:Ut,resolvedTokenIn:St}),[pe,s,je,Xe,bt,J,$,A,X,c,d,u,Z,_e,Ft,Fe,Ut,St]),Et=i.useCallback(Ce=>io({...Se,requestTimestampMs:Ye.current??Date.now()},Ce),[Se]),xt=i.useCallback(Ce=>lo({...Se,requestTimestampMs:Ye.current??Date.now()},Ce),[Se]),pt=i.useCallback((Ce,it,rn,Cn)=>co(Ce,it,rn,re,Cn),[re]),Lt=i.useMemo(()=>Z?.asset?_e&&St?St:Z.asset.chainId===X?Z.asset.address:St??ln(Z.asset,X)??s.address:s.address,[Z,s.address,_e,X,St]),Qt=i.useCallback(()=>(Ye.current=Date.now(),ho(dt.current)),[]),Nt=i.useMemo(()=>Z?.asset?m.addressesEqual(Z.asset.address,s.address)&&Z.asset.chainId===s.chainId:!1,[Z,s.address,s.chainId]),ft=Nt&&(A||$&&ut),Ae=ft&&at>0&&!!Z?.asset,mt=ue&&!ft,ht=i.useMemo(()=>{if(!Ae)return null;let Ce;try{Ce=E.parseUnits(pe||"0",s.decimals)}catch{return null}return{symbol:s.symbol,decimals:s.decimals,grossAmount:Ce,netAmount:Ce,totalFee:0n,gasFee:0n,spicenetFee:0n,bridgeFee:0n,gasQuoteSource:"static_zero"}},[Ae,pe,s.symbol,s.decimals]),q=$e,se=i.useMemo(()=>!(!Z?.asset||at<=0),[Z,at,Ae]),he=i.useMemo(()=>!e||De||le!=="idle"||!se||Ae||!Z?.asset?null:[A?"pay":"supply",g,Z.asset.address.toLowerCase(),Z.asset.chainId,Z.amount,pe,s.address.toLowerCase(),s.chainId,X,St?.toLowerCase()??"",_e?"swap":"direct",Tt?"direct-token":"routed-token",$?"non7702":"7702",Nt?"source-dest":"cross-chain",Ze?"quoting":"quoted",Fe?.amountIn?.toString()??"",Fe?.amountInMax?.toString()??"",Fe?.venue??"",Ft?.amountOut?.toString()??"",Ut?.toString()??"",je??"",Xe??"",J??""].join("|"),[e,De,le,se,Ae,Z,A,g,pe,s,X,St,_e,Tt,$,Nt,Ze,Fe,Ft,Ut,je,Xe,J]),ce=i.useCallback(()=>uo({selectedAsset:Z,isPayMode:A,parsedAmount:at,needsSwap:_e,exactOutputSwap:Fe,isNon7702:$,isSourceDestToken:Nt,currentPaymentAmount:pe,destinationToken:s,feeExecutionMode:d,resolvedTokenIn:St,embeddedWalletAddress:je,providerEmbeddedAddress:Xe,resolvedChainId:X,isConnected:oe,address:J,ready:ye,authenticated:H,isDirect:Tt,resolvedSwap:Ft,isQuoting:Ze,executionTokenAddress:Lt,buildPayChainBatches:Et,buildSupplyChainBatches:xt,estimate:re,estimateRequiredGrossFunding:pt}),[Z,A,at,_e,Fe,$,Nt,pe,s,d,St,je,Xe,pt,Et,re,X,oe,J,ye,H,Tt,Ft,Ze,xt,Lt]);i.useEffect(()=>{Mt.current=ce},[ce]);const Oe=i.useCallback(Ce=>Tr({asset:Ce,isPayMode:A,isNon7702:$,needsSwap:_e,isQuoting:Ze,embeddedWalletAddress:je,buildSupplyChainBatches:xt,estimate:re,executionTokenAddress:Lt,feeExecutionMode:d}),[A,$,_e,Ze,je,xt,re,Lt,d]);i.useEffect(()=>{if(!e){It(!1),Le(!1),st(null),ge(null);return}if(De||le!=="idle"){At.current+=1,It(!1);return}if(!se){ge(null),It(!1),Le(!1),st(null);return}if(Ae){ge(ht),It(!1),Le(!0),st(null);return}if(Ze){At.current+=1,It(!1),Le(!1);return}if(!he)return;let Ce=!1;const it=async()=>{const Cn=++At.current;st(null),It(!0);try{const bn=await Mt.current?.();if(Ce||At.current!==Cn)return;bn?(ge(bn),Le(!0)):(ge(null),Le(!1)),st(null)}catch(bn){if(Ce||At.current!==Cn)return;const Ss=m.sanitizeError(bn,"Unable to calculate fees for this action.");ge(null),Le(!1),st(Ss)}finally{!Ce&&At.current===Cn&&It(!1)}},rn=window.setTimeout(()=>{it()},250);return()=>{Ce=!0,clearTimeout(rn),It(!1)}},[e,De,le,se,Ae,ht,Ze,he]);const Qe=i.useCallback(()=>(Ye.current=Date.now(),Wr(dt.current)),[]);i.useEffect(()=>{!A&&le==="success"&&kt&&(rt(),R?.(kt))},[A,le,kt,rt,R]),i.useEffect(()=>{if(!A||Ee?.status!=="success"||Pt.current||!J)return;Pt.current=!0;const Ce=Zt.current;!Ce?.asset||Ce.asset?._source==="wallet"||rt()},[A,Ee?.status,J,rt]);const qt=i.useRef(R),Kt=i.useRef(v);i.useEffect(()=>{qt.current=R},[R]),i.useEffect(()=>{Kt.current=v},[v]),i.useEffect(()=>{e&&(rt(),Bt())},[e,rt,Bt]),i.useEffect(()=>{A&&(Ee?.status==="success"&&qt.current?.(Ee.txHash||""),Ee?.status==="failed"&&Kt.current?.(new Error("Payment execution failed")))},[A,Ee?.status]);const $t=i.useCallback(()=>{we(!1),jt(null),Ke(null),Pt.current=!1,rt(),Bt()},[rt,Bt]);dt.current={selectedAsset:Z,parsedAmount:at,currentPaymentAmount:pe,isInsufficientBalance:Ne,isPayMode:A,isNon7702:$,isSourceDestToken:Nt,needsSwap:_e,exactOutputSwap:Fe,selectedIsEquivalent:Ue,resolvedTokenIn:St,embeddedWalletAddress:je,providerEmbeddedAddress:Xe,externalWallet:Be,externalWalletAddress:bt,activeSignerWallet:et,activeSignerAddress:Ct,address:J,isConnected:oe,ready:ye,authenticated:H,provider:Y,resolvedChainId:X,executionTokenAddress:Lt,destinationToken:s,buildActionCalls:c,feeExecutionMode:d,buildSpicenetBatch:u,onPayExecute:l,onSuccess:R,onError:v,execution:{estimate:re,execute:xe,buildPayChainBatches:Et,buildSupplyChainBatches:xt,estimateRequiredGrossFunding:pt,onProgress:ne},ui:{setError:Dt,setStep:Te,setStatusMsg:Me,setTxHash:lt,setIsExecuting:Jt,setShowStatusPanel:we,setPaymentResult:jt},refs:{spiceDepositSubmittedRef:Pt,abortControllerRef:Gt}};const pn=y?.trim(),_t=A&&C==="fixed"&&pn!==void 0&&pn!==""&&at===0,fn=A?(_t||!!Z?.asset)&&at>=0&&!ee&&!Ne&&!De&&(_t||Ae||ct)&&!Rt&&(_t||!_e||!!Fe)&&!mt:!!Z?.asset&&at>0&&!ee&&!Ne&&!De&&(ft||ct)&&!Rt&&(gt||Tt||!!Ft&&!Ze)&&!mt;i.useEffect(()=>{e&&console.debug("[SpiceSupply] canExecute gates",{canExecute:fn,isPayMode:A,hasSelectedAsset:!!Z?.asset,selectedAsset:Z?.asset?{symbol:Z.asset.symbol,address:Z.asset.address,chainId:Z.asset.chainId,balanceFormatted:Z.asset.balanceFormatted,source:Z.asset?._source}:null,parsedAmount:at,isZeroAmountPay:_t,isBelowMinimum:ee,isInsufficientBalance:Ne,isExecuting:De,directExternalAction:ft,directExecutionFeeNote:Ae,feeEstimateReady:ct,feeEstimateError:Rt,needsSwap:_e,isDirect:Tt,isSourceDestToken:Nt,hasExactOutputSwap:!!Fe,isQuoting:Ze,whitelistHoldPending:ue,supplyHeldForWhitelist:mt,isWhitelistGateActive:de,destinationToken:{symbol:s.symbol,address:s.address,chainId:s.chainId}})},[e,fn,A,Z,at,_t,ee,Ne,De,ft,Ae,ct,Rt,_e,Tt,Nt,Fe,Ze,ue,mt,de,s]);const Pe=Tt?h||`Your ${s.symbol} will be used directly.`:x||"Your assets will be swapped and used in a single atomic transaction.",ot=(X?m.getChainConfig(X):void 0)?.viemChain?.blockExplorers?.default?.url??"",Yt=la.indexOf(le),mn=De?(ia[le]||"EXECUTING...").toUpperCase():le==="success"?"DONE":ee?`MINIMUM ${on}`:Ne?"INSUFFICIENT BALANCE":p.toUpperCase(),ks=i.useMemo(()=>{if(De)return"PAYING...";if(ee)return`MINIMUM ${on}`;if(Ne&&Z?.asset)return`INSUFFICIENT ${Z.asset.symbol}`;if(p)return p.toUpperCase();const Ce=at>0?` ${pe} ${s.symbol}`:"";return _e?`SWAP & PAY${Ce}`:`PAY${Ce}`},[De,ee,Ne,Z,p,at,pe,s.symbol,_e]),Gn=le==="success"?()=>{Te("idle"),Ke(null),lt(null),rt()}:Qt,vs=le==="success"?!1:!fn;if(!e)return null;const Tn=A?B||`Pay ${s.symbol}`:p,On=A?S:o.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:"3px"},children:[o.jsx("span",{style:{marginTop:"3px",flexShrink:0},children:o.jsx(Ks,{color:ie})}),o.jsx("p",{style:{fontSize:"12px",color:ie,margin:0,lineHeight:"1.4",fontFamily:O},children:Pe})]});if(A){const Ce=Ee&&(Ee.status==="success"||Ee.status==="failed")?[{asset:{symbol:Z?.asset?.symbol||s.symbol,address:Z?.asset?.address||""},amount:pe,txHash:Ee.txHash||"",success:Ee.status==="success",error:Ee.status==="failed"?Ee.error:void 0}]:void 0;return o.jsx(hn,{isOpen:e,onClose:t,title:Tn,subtitle:On,styles:w,dark:j,footerLinkText:"Spicenet accounts \u2192",closeOnBackdropClick:n,children:o.jsxs("div",{style:{padding:"16px 24px 8px 24px",position:"relative"},children:[F&&o.jsx("div",{style:{display:"flex",justifyContent:"flex-end",marginBottom:"6px"},children:o.jsx(Ys,{onClick:F,color:D,fontFamily:O})}),!_t&&o.jsx("div",{style:{marginBottom:"12px"},children:o.jsx(Qn,{assets:tt,selectedAsset:Z??void 0,onAssetSelect:Ge,onAmountChange:Cc,label:"Pay with",showBalance:!0,showMaxButton:!1,hideAmountInput:!0,displayAmount:Z?.asset?_e?Ze?"...":Fe?`~${parseFloat(E.formatUnits(Fe.amountIn,Z.asset.decimals)).toFixed(6)}`:void 0:pe??void 0:void 0,dark:j,theme:U,styles:w})}),o.jsx(Pr,{variant:"pay",destinationSymbol:s.symbol,destinationLogoURI:s.logoURI,destinationDecimals:s.decimals,primaryColor:D,fontFamily:O,textPrimary:K,textSecondary:G,cardBg:Q,cardBorder:ae,dk:z,dark:j,isQuoting:Ze,quoteError:vt,estimatedOutput:zt,paymentAmount:pe,needsSwap:_e,exactOutputSwap:Fe,adjustable:C==="adjustable",maxAmount:k,onAmountChange:Ve}),se&&o.jsx(cs,{fontFamily:O,textPrimary:K,textSecondary:G,cardBg:Q,cardBorder:ae,resolvedDark:j,darkCardBorder:z.cardBorder,primaryColor:D,feePreview:yt,isLoading:Ht,errorText:Rt,directExecutionFeeNote:Ae}),q&&o.jsx(Wn,{variant:"error",palette:V,fontFamily:O,style:{marginBottom:"12px"},children:q}),o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:Qe,disabled:!fn,loading:De,dark:j,styles:{...w,button:{...w?.button,backgroundColor:D}},children:ks}),Ee&&Wt&&o.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:10,backgroundColor:j?z.shell:"white",borderRadius:j?"12px":"6px",padding:"16px 0"},children:o.jsx($s,{type:"payment",isOpen:Ee.status!=="processing",isProcessing:De||Ee.status==="processing",closeOnComplete:!1,chainName:m.getChainName(X),explorerUrl:m.getExplorerUrl(X,"").replace(/\/tx\/.*$/,"")||void 0,onRetryTx:()=>{we(!1),jt(null),Qe()},onNewTx:$t,onClose:()=>{we(!1),jt(null)},onComplete:$t,results:Ce,styles:w,dark:j})})]})})}return o.jsx(hn,{isOpen:e,onClose:t,title:Tn,subtitle:On,dark:j,styles:w,theme:N,closeOnBackdropClick:n,children:o.jsxs("div",{style:{padding:"24px 24px 5px 24px",position:"relative"},children:[o.jsx("div",{style:{marginBottom:"16px"},children:o.jsx(Qn,{assets:tt,selectedAsset:Z||void 0,onAssetSelect:Ge,onAmountChange:He,disabled:De||le==="success",showBalance:!0,showMaxButton:!0,label:"From Wallet",placeholder:"0.00",theme:U,styles:w,dark:W,resolveMaxAmount:Oe,maxAmount:Je>0?m.formatDecimalInput(Je,Z?.asset.decimals??s.decimals):void 0})}),Z?.asset&&!Tt&&o.jsx(Pr,{variant:"supply",destinationSymbol:s.symbol,destinationLogoURI:s.logoURI,destinationDecimals:s.decimals,primaryColor:D,fontFamily:O,textPrimary:K,textSecondary:G,cardBg:Q,cardBorder:ae,dark:j,isQuoting:Ze,quoteError:vt,estimatedOutput:zt}),se&&o.jsx(cs,{fontFamily:O,textPrimary:K,textSecondary:G,cardBg:Q,cardBorder:ae,resolvedDark:j,darkCardBorder:z.cardBorder,primaryColor:D,feePreview:yt,isLoading:Ht,errorText:Rt,directExecutionFeeNote:Ae}),le!=="idle"&&o.jsxs("div",{style:{padding:"10px 14px",borderRadius:"7px",marginBottom:"16px",backgroundColor:le==="success"?Q:le==="error"?V.errorBg:Q,border:`1px solid ${le==="success"?ae:le==="error"?V.errorBorder:ae}`},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[le==="success"?o.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",style:{flexShrink:0},children:o.jsx("path",{d:"M5 13l4 4L19 7",stroke:V.successText,strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}):le==="error"?o.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",style:{flexShrink:0},children:o.jsx("path",{d:"M18 6L6 18M6 6l12 12",stroke:V.errorText,strokeWidth:"2.5",strokeLinecap:"round"})}):o.jsx(m.Spinner,{size:14,color:D}),o.jsx("span",{style:{fontSize:"13px",fontWeight:500,color:le==="success"?K:le==="error"?V.errorText:K,fontFamily:O,flex:1},children:le==="success"?"Deposit confirmed":le==="error"?ke||"Transaction failed":ia[le]||ke}),le==="success"&&kt&&o.jsx("a",{href:`${ot}/tx/${kt}`,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"12px",color:D,fontFamily:O,textDecoration:"none",whiteSpace:"nowrap",flexShrink:0},children:"View tx \u2192"}),le==="error"&&o.jsx("button",{onClick:()=>{Te("idle"),Dt(null),setTimeout(Qt,50)},style:{background:"none",border:"none",fontSize:"12px",color:D,fontFamily:O,cursor:"pointer",padding:0,whiteSpace:"nowrap",flexShrink:0},children:"Retry \u2192"})]}),Yt>=0&&le!=="success"&&le!=="error"&&o.jsx("div",{style:{marginTop:"8px",height:"3px",borderRadius:"2px",backgroundColor:`${G}22`,overflow:"hidden"},children:o.jsx("div",{style:{height:"100%",width:"100%",borderRadius:"2px",backgroundColor:D,transformOrigin:"left center",transform:`scaleX(${(Yt+1)/la.length})`,transition:"transform 400ms ease"}})})]}),$e&&le==="idle"&&o.jsx(Wn,{variant:"error",palette:V,fontFamily:O,style:{marginBottom:"16px"},children:$e}),o.jsx(m.Button,{variant:"outline",fullWidth:!0,disabled:vs,onClick:Gn,theme:N,dark:j,styles:{...w,button:{...w?.button,backgroundColor:D}},style:{fontSize:"20px",fontWeight:600,letterSpacing:"1.5px",fontFamily:P},children:mn})]})})},wc=()=>{const[e,t]=i.useState("0"),[n,s]=i.useState(null);return{assetAmount:e,setAssetAmount:t,selectedAsset:n,setSelectedAsset:s}};function kc(e,t=0){const[n,s]=i.useState(t),r=e[n]??e[0],a=i.useMemo(()=>r?BigInt(Math.round(r.months*30*24*3600)):0n,[r?.months]);return{selectedDurationIdx:n,setSelectedDurationIdx:s,selectedDuration:r,durationSeconds:a}}function vc(){const{actions:e,isReady:t,isAuthenticated:n}=m.useWallet(),s=i.useContext(m.SpiceFlowProviderContext)?.embeddedWalletAddress,r=i.useRef(!1),a=i.useRef(0),c=i.useRef(null),d=i.useRef(e),[u,l]=i.useState(0);d.current=e,i.useEffect(()=>{r.current=!1,a.current=0,c.current&&(clearTimeout(c.current),c.current=null)},[s]),i.useEffect(()=>{if(!s||!t||!n||r.current)return;r.current=!0;let f=!1;return(async()=>{await sn(2e3);try{await m.ensureSmartWallet(s,d.current.signMessage),a.current=0}catch(p){console.warn("[SmartWallet] Registration failed:",p),r.current=!1,!f&&a.current<3&&(a.current+=1,c.current=setTimeout(()=>{l(g=>g+1)},5e3))}})(),()=>{f=!0,c.current&&(clearTimeout(c.current),c.current=null)}},[s,t,n,u])}function Sc({destinationToken:e,recipient:t,buildActionCalls:n,buildSpicenetBatch:s,amount:r,sourceChains:a,supportedSourceAssets:c,feeExecutionMode:d="user-transfer",enabled:u=!0,onSuccess:l,onError:f}){const p=e.chainId,g=i.useContext(m.SpiceFlowProviderContext),x=(g?.mode||"7702")!=="7702",h=!!g?.isWhitelistConfigured&&g.isUserWhitelisted!==!0,y=i.useMemo(()=>a??g?.supportedChainIds??[],[a,g?.supportedChainIds]),C=i.useMemo(()=>{if(g?.isWhitelistGateActive)return[];if(c)return c;const pe=g?.allowedTokens;return pe?.length?pe:void 0},[g?.allowedTokens,g?.isWhitelistGateActive,c]),I=m.useWallet(),{address:k,isConnected:M,isReady:w,isAuthenticated:b,provider:B}=I,S=jn(),{externalWallet:F,externalAddress:R,embeddedAddress:v,activeWallet:A,activeAddress:N}=m.useProviderWallets(),j=g?.externalWalletAddress||R,D=g?.embeddedWalletAddress||v,{displayAssets:z,filteredSpiceAssets:V,refreshSpiceAssets:O,refreshWalletAssets:P}=go({destinationToken:e,supportedSourceAssets:C,sourceChains:y,enabled:u&&(!!j||!!D),includeAllFundingWallets:!0}),[W,Q]=i.useState(null),[ae,K]=i.useState(!1),[G,ie]=i.useState(null),[U,X]=i.useState("idle"),[fe,be]=i.useState(""),[$,de]=i.useState(null),[ue,Ie]=i.useState(null),[_,L]=i.useState(!1),[J,oe]=i.useState(!1),[ye,H]=i.useState(null),Y=i.useRef(null),xe=i.useRef(0),re=i.useRef(),Be=i.useRef(null),Xe=i.useRef(null),et=i.useRef(l),Ct=i.useRef(null);i.useEffect(()=>{et.current=l},[l]),i.useEffect(()=>{u||(Q(null),K(!1),ie(null),X("idle"),be(""),de(null),Ie(null),L(!1),oe(!1),H(null),Ct.current=null,Y.current?.abort(),Y.current=null)},[u]),i.useEffect(()=>{Q(pe=>pe&&pe.amount!==r?{...pe,amount:r}:pe)},[r]);const bt=i.useCallback(pe=>{Q(pe),ie(null),H(null),oe(!1)},[]),me=i.useCallback(pe=>{Q(We=>{const Ze=We?.asset.address===pe.address&&We.asset.chainId===pe.chainId&&We.asset._fundingWallet===pe._fundingWallet;return{asset:pe,amount:Ze&&We?.amount||r}}),ie(null),H(null),oe(!1)},[r]),Re=W?.amount||"0",ze=bo({direction:"input",selectedAsset:W,destinationToken:e,chainId:p,recipient:D||v||k,paymentAmount:Re}),{isQuoting:je,quoteError:rt,estimatedInput:Bt,estimatedOutput:tt,resolvedSwap:Z,quoteAmountOut:Ke,resolvedTokenIn:nt,isDirect:wt,needsSwap:De,selectedIsEquivalent:Jt}=ze,$e=Number.parseFloat(Re)||0,Dt=W?.asset?.displaySymbol||W?.asset.symbol||"",le=Rn(Dt)&&$e>0&&$e<on,Te=W?.asset?._source==="wallet",ke=W?.asset?._fundingWallet,Me=Te&&(ke==="external"||x&&ke!=="embedded"),kt=!!W?.asset&&Te&&W.asset.chainId!==p,lt=i.useMemo(()=>W?.asset?V.find(pe=>m.addressesEqual(pe.address,W.asset.address))?.balanceFormatted??W.asset.balanceFormatted:0,[V,W]),Wt=Te?W?.asset.balanceFormatted??0:lt,we=i.useMemo(()=>{if(!W?.asset)return!1;if(!ue)return $e>Wt;const pe=un(ue.grossAmount,ue.decimals,W.asset.decimals);return Te?pe>W.asset.balance:Number.parseFloat(E.formatUnits(pe,W.asset.decimals))>Wt},[ue,$e,W,Wt,Te]),Ee=i.useCallback(pe=>{X({building:"signing-delegation","signing-delegation":"signing-delegation","signing-intent":"signing-intent",submitting:"submitting",executing:"executing",success:"success",error:"error"}[pe.step]||"executing"),be(pe.message),pe.txHash&&de(pe.txHash)},[]),jt=i.useMemo(()=>({currentPaymentAmount:Re,destinationToken:e,embeddedWalletAddress:D,providerEmbeddedAddress:v,externalWalletAddress:j,address:k,recipient:t,isNon7702:x,isPayMode:!1,resolvedChainId:p,buildActionCalls:n,feeExecutionMode:d,buildSpicenetBatch:s,selectedAsset:W,needsSwap:De,resolvedSwap:Z,exactOutputSwap:null,quoteAmountOut:Ke,resolvedTokenIn:nt}),[k,n,s,p,Re,e,D,j,d,x,De,v,Ke,t,Z,nt,W]),yt=i.useCallback(pe=>io({...jt,requestTimestampMs:Be.current??Date.now()},pe),[jt]),ge=i.useCallback(pe=>lo({...jt,requestTimestampMs:Be.current??Date.now()},pe),[jt]),Ht=i.useCallback((pe,We,Ze,vt)=>co(pe,We,Ze,S.estimate,vt),[S.estimate]),It=i.useMemo(()=>W?.asset?De&&nt?nt:W.asset.chainId===p?W.asset.address:nt??ln(W.asset,p)??e.address:e.address,[p,e.address,De,nt,W]),ct=!!W?.asset&&!W.asset._wrapFromNative&&W.asset.chainId===e.chainId&&m.addressesEqual(W.asset.address,e.address),Le=x&&Me&&!!W?.asset&&(ct||W.asset._wrapFromNative&&W.asset.chainId===e.chainId),Rt=i.useMemo(()=>!u||ae||U!=="idle"&&U!=="error"||$e<=0||Le||je||!W?.asset?null:[W.asset.address.toLowerCase(),W.asset.chainId,ke||"spice",Re,e.address.toLowerCase(),e.chainId,nt?.toLowerCase()||"",De?"swap":"direct",x?"external":"embedded",t?.toLowerCase()||"",Z?.amountOut?.toString()||"",Ke?.toString()||""].join("|"),[Re,e,Le,u,ke,ae,x,je,De,$e,Ke,t,Z,nt,W,U]),st=i.useCallback(()=>uo({selectedAsset:W,isPayMode:!1,parsedAmount:$e,needsSwap:De,exactOutputSwap:null,isNon7702:x,isSourceDestToken:ct,currentPaymentAmount:Re,destinationToken:e,feeExecutionMode:d,resolvedTokenIn:nt,embeddedWalletAddress:D,providerEmbeddedAddress:v,resolvedChainId:p,isConnected:M,address:k,ready:w,authenticated:b,isDirect:wt,resolvedSwap:Z,isQuoting:je,executionTokenAddress:It,buildPayChainBatches:yt,buildSupplyChainBatches:ge,estimate:S.estimate,estimateRequiredGrossFunding:Ht}),[k,b,yt,ge,p,Re,e,D,Ht,S.estimate,It,d,M,wt,x,je,ct,De,$e,v,w,t,Z,nt,W]);i.useEffect(()=>{re.current=st},[st]),i.useEffect(()=>{if(!Rt){xe.current+=1,L(!1),Ie(null),oe(!1),H(null),Le?oe(!0):je?oe(!1):je||oe(!1);return}let pe=!1;Ie(null),oe(!1),H(null);const We=window.setTimeout(async()=>{const Ze=++xe.current;H(null),L(!0);try{const vt=await re.current?.();if(pe||xe.current!==Ze)return;Ie(vt||null),oe(!!vt)}catch(vt){if(pe||xe.current!==Ze)return;Ie(null),oe(!1),H(m.sanitizeError(vt,"Unable to calculate fees for this action."))}finally{!pe&&xe.current===Ze&&L(!1)}},250);return()=>{pe=!0,window.clearTimeout(We)}},[Le,Rt,je]),i.useEffect(()=>{U!=="success"||!$||Ct.current!==$&&(Ct.current=$,O(),P(),et.current?.($))},[O,P,U,$]);const Zt=i.useCallback(pe=>{},[]),Pt=i.useCallback(pe=>{},[]),Gt=i.useRef(!1);Xe.current={selectedAsset:W,parsedAmount:$e,currentPaymentAmount:Re,isInsufficientBalance:we,isPayMode:!1,isNon7702:x,isSourceDestToken:ct,needsSwap:De,exactOutputSwap:null,selectedIsEquivalent:Jt,resolvedTokenIn:nt,embeddedWalletAddress:D,providerEmbeddedAddress:v,recipient:t,externalWallet:F,externalWalletAddress:j,activeSignerWallet:A,activeSignerAddress:N,address:k,isConnected:M,ready:w,authenticated:b,provider:B,resolvedChainId:p,executionTokenAddress:It,destinationToken:e,buildActionCalls:n,feeExecutionMode:d,buildSpicenetBatch:s,onError:f,execution:{estimate:S.estimate,execute:S.execute,buildPayChainBatches:yt,buildSupplyChainBatches:ge,estimateRequiredGrossFunding:Ht,onProgress:Ee},ui:{setError:ie,setStep:X,setStatusMsg:be,setTxHash:de,setIsExecuting:K,setShowStatusPanel:Zt,setPaymentResult:Pt},refs:{spiceDepositSubmittedRef:Gt,abortControllerRef:Y}};const Ye=i.useCallback(async()=>{Be.current=Date.now();const pe=Xe.current;pe&&await ho(pe)},[]),At=h&&!Le,Mt=!!W?.asset&&$e>0&&!le&&!we&&!ae&&(Le||J)&&!ye&&(kt||wt||!!Z&&!je)&&!At,dt=i.useCallback(()=>{O(),P()},[O,P]);return{sources:z,selectedAsset:W,setSelectedAsset:bt,selectAsset:me,quote:{isQuoting:je,error:le?`Minimum amount is ${on}`:rt||G,estimatedInput:Bt,estimatedOutput:tt,estimatedMinOutput:Z?.amountOutMinimum!=null?E.formatUnits(Z.amountOutMinimum,e.decimals):null,isDirect:wt,needsSwap:De},feePreview:ue,isFeePreviewLoading:_,feePreviewError:ye,canSubmit:Mt,execute:Ye,isExecuting:ae,step:U,statusMsg:fe,txHash:$,refreshAssets:dt}}function Zn(e){try{return T.resolveTokenRef(e)}catch{throw new m.SpiceflowError("ROUTE_TOKEN_NOT_FOUND",`Token "${e[0]}" not found on chain ${e[1]} in the token registry.`,{symbol:e[0],chainId:e[1]})}}function Ic(e,t){if(e[0].toUpperCase()===t[0].toUpperCase()&&e[1]===t[1])return!0;let n,s;try{n=Zn(e),s=Zn(t)}catch{return!1}const r=new Set(T.getEquivalentAddresses(s.address).map(a=>a.toLowerCase()));return r.add(s.address.toLowerCase()),r.has(n.address.toLowerCase())}function Ac(){const e=[];for(const t of Object.keys(T.CHAINS).map(Number))for(const n of T.getTokensForChain(t))e.push([n.symbol,t]);return e}async function Ec(e){const{action:t,inputToken:n,inputAmount:s,registry:r,userAddress:a,slippage:c,intermediaryCandidates:d}=e;if(t.calls.length===0)throw new m.SpiceflowError("INVALID_PARAMS","buildIntent: action.calls must not be empty.",{action:t});if(s<=0n)throw new m.SpiceflowError("INVALID_PARAMS","buildIntent: inputAmount must be greater than zero.",{inputAmount:s.toString()});const u=t.supportedInputTokens??Ac();if(!u.some(C=>Ic(n,C))){const C=u.map(([I,k])=>`${I} (chain ${k})`).join(", ");throw new m.SpiceflowError("ROUTE_UNSUPPORTED_INPUT",`Input token "${n[0]}" on chain ${n[1]} is not in the action's supported input tokens. Supported: ${C}.`,{inputToken:{symbol:n[0],chainId:n[1]},supportedInputTokens:u})}const l=Zn(n),f=Zn(t.outputToken),p=hr({sourceAsset:l,outputAsset:f,sourceChainId:l.chainId,destinationChainId:t.chainId,intermediaryCandidates:d}),{chainBatches:g,solverFrontToken:x,solverFrontAmount:h,resolvedSwaps:y}=await gr({route:p,sourceAmount:s,userAddress:a,registry:r,actionCalls:t.calls,slippage:c});return{chainBatches:g,route:p,resolvedSwaps:y,resolvedInputToken:l,resolvedOutputToken:f,solverFrontToken:x,solverFrontAmount:h}}const jc=[0n,1n,30n],Fc=new Set(["ABORT","CONCURRENT_EXECUTION","WALLET_DISCONNECTED","WALLET_REJECTED","NO_VENUE_FOR_CHAIN"]);function ca(e,t){return t===0n?e:e*(1000n-t)/1000n}async function Tc(e,t){const{chainId:n,swapCalls:s,quoteAmountOut:r,buildActionCalls:a,tokenAddress:c,tokenTransferAmount:d,onProgress:u,signal:l,options:f,buffers:p=jc}=t;for(let g=0;g<p.length;g++){const x=p[g],h=ca(r,x),y=a(h),C=[{chainId:n,calls:[...s,...y]}];try{return await e(C,c,d,u,l,f)}catch(I){const k=typeof I?.message=="string"?I.message:String(I?.message??"");if(m.isSpiceflowError(I)&&Fc.has(I.code)||I.name==="AbortError"||l?.aborted||k.includes("User rejected")||k.includes("User denied")||I.code===4001||g>=p.length-1)throw I;const M=Number(p[g+1])/10;console.warn(`[SwapThenAction] Action attempt ${g+1} failed (buffer ${Number(x)/10}%), retrying with ${M}% buffer...`,I.message),u?.({step:"signing-delegation",message:`Adjusting action amount, retrying (${M}% buffer)...`})}}throw new m.SpiceflowError("ALL_ATTEMPTS_FAILED","All action attempts failed after exhausting buffer progression.",{attempts:p.length,chainId:n})}wa(),exports.SpiceFlowProvider=m.SpiceFlowProvider,exports.SpiceFlowProviderContext=m.SpiceFlowProviderContext,exports.SpiceflowError=m.SpiceflowError,exports.Spinner=m.Spinner,exports.buildDarkPalette=m.buildDarkPalette,exports.buildLightPalette=m.buildLightPalette,exports.getChainConfig=m.getChainConfig,exports.getChainName=m.getChainName,exports.isSpiceflowError=m.isSpiceflowError,exports.relayerService=m.relayerService,exports.resolveTheme=m.resolveTheme,exports.useIsUserWhitelisted=m.useIsUserWhitelisted,exports.useSpiceBrand=m.useSpiceBrand,exports.useWallet=m.useWallet,Object.defineProperty(exports,"NATIVE_TOKEN_ADDRESS",{enumerable:!0,get:function(){return T.ZERO_ADDRESS}}),Object.defineProperty(exports,"SPICENET_NATIVE_CHAIN_ID",{enumerable:!0,get:function(){return T.SPICENET_NATIVE_CHAIN_ID}}),Object.defineProperty(exports,"SPICE_COMBINED_FEE_RECIPIENT",{enumerable:!0,get:function(){return T.SPICE_COMBINED_FEE_RECIPIENT}}),Object.defineProperty(exports,"SPICE_GAS_FEE_RECIPIENT",{enumerable:!0,get:function(){return T.SPICE_GAS_FEE_RECIPIENT}}),Object.defineProperty(exports,"SPICE_PLATFORM_FEE_RECIPIENT",{enumerable:!0,get:function(){return T.SPICE_PLATFORM_FEE_RECIPIENT}}),Object.defineProperty(exports,"SPICE_SOLVER_ADDRESS",{enumerable:!0,get:function(){return T.SPICE_SOLVER_ADDRESS}}),Object.defineProperty(exports,"applySlippage",{enumerable:!0,get:function(){return T.applySlippage}}),Object.defineProperty(exports,"buildUniV3SwapCalls",{enumerable:!0,get:function(){return T.buildUniV3SwapCalls}}),Object.defineProperty(exports,"getChainIdsByNetwork",{enumerable:!0,get:function(){return T.getChainIdsByNetwork}}),Object.defineProperty(exports,"getEscrowContractAddress",{enumerable:!0,get:function(){return T.getEscrowContractAddress}}),Object.defineProperty(exports,"isNativeToken",{enumerable:!0,get:function(){return T.isNativeToken}}),Object.defineProperty(exports,"isSpicenetChainId",{enumerable:!0,get:function(){return T.isSpicenetChainId}}),Object.defineProperty(exports,"normalizeNativeTokenAddress",{enumerable:!0,get:function(){return T.normalizeNativeTokenAddress}}),Object.defineProperty(exports,"spicenetAbi",{enumerable:!0,get:function(){return T.spicenetAbi}}),Object.defineProperty(exports,"spicenetWithdrawalAbi",{enumerable:!0,get:function(){return T.spicenetAbi}}),exports.ALGEBRA_CITREA_CONFIG=Co,exports.AccountDisplay=Jl,exports.AddFundsLink=Ys,exports.CheckIcon=_o,exports.ChevronIcon=vn,exports.CloseIcon=Mn,exports.DetailRow=Pn,exports.MIN_TRANSACTION_AMOUNT=on,exports.ProviderLogin=Js,exports.SATSUMA_CITREA_CONFIG=yo,exports.SearchInput=Ts,exports.SelectChainModal=Ji,exports.SpiceDeposit=Xi,exports.SpiceLock=kr,exports.SpiceLockModal=kr,exports.SpiceSupply=bc,exports.SpiceWithdraw=fl,exports.StatusBanner=Wn,exports.UNIV3_BASE_CONFIG=$r,exports.applyBuffer=ca,exports.areEquivalentOnChains=qn,exports.buildIntent=Ec,exports.buildPayChainBatches=io,exports.buildRoutedBatches=gr,exports.buildSupplyChainBatches=lo,exports.create1inchVenue=Xr,exports.createAlgebraExactOutputVenue=sa,exports.createAlgebraVenue=na,exports.createExactOutputRegistry=ra,exports.createLiquidityRegistry=oa,exports.createSatsumaVenue=_r,exports.duration=en,exports.easing=Vt,exports.estimateFeePreview=uo,exports.estimateRequiredGrossFunding=co,exports.estimateSupplyMaxAmount=Tr,exports.executeDirectExternalAction=bs,exports.executeNon7702Pay=Dr,exports.executeNon7702Supply=Nr,exports.executePay=Wr,exports.executeSupply=ho,exports.executeSwapThenAction=Tc,exports.findEquivalentOnChain=yn,exports.findTokenOnChain=eo,exports.font=vo,exports.getAssetChainTokenCandidates=$n,exports.getBestUniV3Quote=Qr,exports.getUniV3Quote=Hr,exports.isSupportedSupplyAsset=zr,exports.isSwapIntent=Gr,exports.radius=Fs,exports.resolveAssetTokenAddressOnChain=ln,exports.resolveFundedToken=Oo,exports.resolveInputSupplySwapQuote=yc,exports.resolveRoute=hr,exports.resolveTokenRef=Zn,exports.scaleTokenAmount=un,exports.transition=nn,exports.useAssetInput=wc,exports.useLockDuration=kc,exports.useSmartWallet=vc,exports.useSpiceAction=Sc,exports.useSpiceAssets=Vn,exports.useSpiceExecution=jn,exports.useSpicePendingDeposits=vr,exports.useSupplyAssets=go,exports.useSupplyQuote=bo,exports.z=In;
108
+ `})]}),document.body):null;return o.jsxs(o.Fragment,{children:[re,At,A&&Un.createPortal(o.jsx(Lo,{isOpen:!0,onClose:X,supportedChains:[A.chainId],escrowOnly:!0,escrowTokenAddress:A.tokenAddress,escrowAmount:A.amount,escrowTokenDecimals:A.tokenDecimals,escrowTokenSymbol:A.tokenSymbol,styles:u,onDepositSuccess:te}),document.body)]})},zl="0xa9059cbb";function cr(e,t,n){return j.isNativeToken(e)?{to:n,value:t,data:"0x"}:{to:e,value:0n,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[n,t]})}}function dr(e,t,n){return{chainId:n,calls:[cr(e,t,j.getEscrowContractAddress(n))]}}function ur(e,t,n){return!t&&e?.asset?._source==="wallet"&&e?.asset.chainId===n}function pr(e,t,n,s){return t!=="user-transfer"||!n||e.length===0||e[0]?.to.toLowerCase()!==s.toLowerCase()||!e[0]?.data.startsWith(zl)?{feeCall:null,remainingCalls:e}:{feeCall:e[0],remainingCalls:e.slice(1)}}async function us(e,t,n,s){if(!t)return[e];const r=await t({...n,requestTimestampMs:s});return r?[r,e]:[e]}function ps(e){return e.filter(t=>t.domain!=="spicenet")}function fs(e){const t=(e.tokenTransfers??[]).filter(n=>n.from==="escrow").map(n=>({token:j.normalizeNativeTokenAddress(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){if(t===n)return e;if(t<n)return e*10n**BigInt(n-t);const s=10n**BigInt(t-n);return(e+s-1n)/s}async function fr(e,t){const{currentPaymentAmount:n,destinationToken:s,embeddedWalletAddress:r,providerEmbeddedAddress:a,address:l,isNon7702:d,isPayMode:u,resolvedChainId:c,buildActionCalls:f,feeExecutionMode:p,buildSpicenetBatch:g,selectedAsset:x,needsSwap:h,exactOutputSwap:b,resolvedTokenIn:y,requestTimestampMs:I}=e,v=F.parseUnits(n,s.decimals),D=t?.actionAmountOverride??v,k=r||a||(d?void 0:l);if(!k)throw new Error("Embedded wallet address is not available. Please sign in and try again.");const w={userAddress:k,chainId:c,destinationToken:s.address,grossAmount:t?.fundingAmountOverride??v,netAmount:D,combinedFeeAmount:t?.actionContextOverride?.combinedFeeAmount,feeExecutionMode:p,feeBreakdown:t?.actionContextOverride?.feeBreakdown,...t?.actionContextOverride},M=f(D,w),A={chainId:c,calls:M},T=!u&&!d?!0:x?.asset?._source==="spice",B=ur(x??null,d,c),C=T||d||B,E=(R,N)=>({token:R,from:"escrow",to:k,amount:N}),S=(R,N,P)=>B?[dr(R,N,c),...P]:P;if(v===0n)return[A];if(h&&b){const R=y??an(x.asset,c)??x.asset.address,N=t?.fundingAmountOverride??b.amountInMax,P=C?[E(R,N)]:[],H={to:R,value:0n,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"approve",args:[b.calls[0]?.to,b.amountInMax]})},L={chainId:c,calls:[H,...b.calls,...M],tokenTransfers:[...P,...A.tokenTransfers??[]]};if(!C)return[L];const W=await us(L,g,{userAddress:k,destinationChainId:c,deliveryToken:R,deliveryAmount:N,deliveryRecipient:k,deliveryTransfers:fs(L),sourceAsset:x.asset},I);return S(R,N,W)}if(C){const R=y??an(x.asset,c)??s.address;if(B&&R.toLowerCase()===s.address.toLowerCase())return[A];const N=t?.fundingAmountOverride??v,P={...A,tokenTransfers:[E(R,N),...A.tokenTransfers??[]]},H=await us(P,g,{userAddress:k,destinationChainId:c,deliveryToken:R,deliveryAmount:N,deliveryRecipient:k,deliveryTransfers:fs(P),sourceAsset:x.asset},I);return S(R,N,H)}return[A]}async function mr(e,t){const{selectedAsset:n,embeddedWalletAddress:s,externalWalletAddress:r,recipient:a,resolvedChainId:l,destinationToken:d,buildActionCalls:u,feeExecutionMode:c,buildSpicenetBatch:f,isPayMode:p,isNon7702:g,needsSwap:x,resolvedSwap:h,quoteAmountOut:b,resolvedTokenIn:y,requestTimestampMs:I}=e,v=h?.amountOutMinimum??b;if(!n?.asset||!s)return[];const D=a??(g?r:s);if(!D)return[];const k=t?.fundingAmountOverride??t?.actionAmountOverride??F.parseUnits(n.amount,n.asset.decimals),w=t?.fundingAmountOverride??k,M=t?.sourceFundingAmountOverride??k,A=t?.deliveryAmountOverride??w,T=t?.withdrawalAmountOverride??A,B=t?.actionAmountOverride??k,C={userAddress:D,chainId:l,destinationToken:d.address,feeToken:c==="user-transfer"&&x&&y?y:d.address,grossAmount:w,netAmount:B,combinedFeeAmount:t?.actionContextOverride?.combinedFeeAmount,feeExecutionMode:c,feeBreakdown:t?.actionContextOverride?.feeBreakdown,...t?.actionContextOverride},E=u(B,C),S=n.asset?._source==="wallet";if(!p&&g&&S&&n.asset.chainId===l){if(x){if(!y)throw new Error("Swap input token could not be resolved");if(!h||v===null)throw new Error("Swap quote not available yet")}if(x&&h&&v){const V=u(t?.actionAmountOverride??v,{...C,netAmount:t?.actionAmountOverride??v}),{feeCall:Y,remainingCalls:ue}=pr(V,c,x,C.feeToken);return[{chainId:l,calls:[...Y?[Y]:[],...h.calls,...ue]}]}return[{chainId:l,calls:E}]}if(!p&&!g&&S&&n.asset.chainId!==l)throw new Error("Cross-chain wallet supplies require external wallet mode");const R=!p&&!g?n.asset?._source!=="wallet":n.asset?._source==="spice",N=g&&S,P=ur(n,g,l);if(!(R||N||P))return[{chainId:l,calls:E}];const H=P?dr(y??j.normalizeNativeTokenAddress(n.asset.address),M,l):N&&n.asset.chainId!==l?{chainId:n.asset.chainId,calls:[cr(j.normalizeNativeTokenAddress(n.asset.address),M,j.getEscrowContractAddress(n.asset.chainId))]}:null,L=(V,Y)=>({token:V,from:N?"solver":"escrow",to:s,amount:Y}),W=(V,Y)=>N?[{token:V,from:"escrow",to:j.SPICE_SOLVER_ADDRESS,amount:Y}]:[];if(x){if(!y)throw new Error("Swap input token could not be resolved");if(!h||v===null)throw new Error("Swap quote not available yet")}if(x&&h&&v&&y){const V=u(t?.actionAmountOverride??v,{...C,netAmount:t?.actionAmountOverride??v}),{feeCall:Y,remainingCalls:ue}=pr(V,c,x,C.feeToken),q={chainId:l,calls:[...Y?[Y]:[],...h.calls,...ue],tokenTransfers:[...W(y,T),L(y,A)]},ee=await us(q,f,{userAddress:s,destinationChainId:l,deliveryToken:y,deliveryAmount:A,withdrawalAmount:T,deliveryRecipient:s,deliveryTransfers:fs(q),sourceAsset:n.asset},I);return H?[H,...ee]:ee}const U=y??an(n.asset,l)??d.address,z={chainId:l,calls:E,tokenTransfers:[...W(U,T),L(U,A)]},_=await us(z,f,{userAddress:s,destinationChainId:l,deliveryToken:U,deliveryAmount:A,withdrawalAmount:T,deliveryRecipient:s,deliveryTransfers:fs(z),sourceAsset:n.asset},I);return H?[H,..._]:_}async function hr(e,t,n,s,r){let a=e;for(let l=0;l<4;l++){const d=await t(a),u=await s(d,n,a,r),c=si(u);if(c===null||c>=e)return a;const f=a-c,p=e+f;if(p<=a)return a;a=p}return a}function Ol(e,t,n,s){if(e<=0n)return 0n;const r=e-t;if(r<=0n)return 0n;const a=s+n;return a<=0n?r:r*s/a}async function gr(e){const{asset:t,isPayMode:n,isNon7702:s,needsSwap:r,isQuoting:a,embeddedWalletAddress:l,buildSupplyChainBatches:d,estimate:u,executionTokenAddress:c,feeExecutionMode:f}=e;if(n||s||r||a||!l||t.balance<=0n)return null;const p=l,g=await d({fundingAmountOverride:t.balance,actionAmountOverride:t.balance});if(g.length===0)return null;const x=g.some(D=>D.tokenTransfers?.length),h=await u(g,c,t.balance,x?{userOverride:p,useCustomTransfers:!0,feeExecutionMode:f}:f?{userOverride:p,feeExecutionMode:f}:{userOverride:p}),b=pn(h,{chainId:t.chainId,tokenAddress:t.address,symbol:t.symbol,decimals:t.decimals}),y=b?ln(b.gasFee,b.decimals,t.decimals):0n,I=b?ln(b.spicenetFee,b.decimals,t.decimals):0n,v=Ol(t.balance,y,I,t.balance);return v>0n?jo(v,t.decimals):null}async function xr(e){const{selectedAsset:t,isPayMode:n,parsedAmount:s,needsSwap:r,exactOutputSwap:a,isNon7702:l,isSourceDestToken:d,currentPaymentAmount:u,destinationToken:c,feeExecutionMode:f,resolvedTokenIn:p,embeddedWalletAddress:g,providerEmbeddedAddress:x,resolvedChainId:h,isConnected:b,address:y,ready:I,authenticated:v,isDirect:D,resolvedSwap:k,isQuoting:w,executionTokenAddress:M,buildPayChainBatches:A,buildSupplyChainBatches:T,estimate:B,estimateRequiredGrossFunding:C}=e;if(!t?.asset)return null;if(n){if(s<=0||r&&!a||d)return null;const W=F.parseUnits(u,c.decimals),U=p||an(t.asset,h)||t.asset.address||c.address,z={chainId:h,tokenAddress:U,symbol:j.getTokenByAddress(U,h)?.symbol??t.asset.symbol,decimals:j.getTokenByAddress(U,h)?.decimals??t.asset.decimals};if(l){const ee=g||x;if(!ee)return null;const oe=r?a?.amountInMax??0n:W;if(oe===0n)return null;const pe={userOverride:ee,useCustomTransfers:!0},we=await C(oe,Ee=>A({fundingAmountOverride:Ee}),U,pe),de=await A({fundingAmountOverride:we}),xe=await B(de,U,we,{...pe,feeExecutionMode:f});return pn(xe,z)}if(!b||!y||!I||!v)return null;const _=g||x||y,V=r?a?.amountInMax??0n:W;if(V===0n)return null;const Y=await C(V,ee=>A({fundingAmountOverride:ee}).then(oe=>sn(ps(oe),_)),U,{useCustomTransfers:!0});let ue=sn(ps(await A({fundingAmountOverride:Y})),_);const q=await B(ue,U,Y,{useCustomTransfers:!0,feeExecutionMode:f});return pn(q,z)}if(s<=0||!g)return null;const E=g||x;if(!(!n&&!l&&t.asset?._source==="wallet"&&t.asset.chainId!==h)&&!D&&!k&&!w||w)return null;const S=F.parseUnits(t.amount,t.asset.decimals),R=await T();if(R.length===0)return null;const N=l&&t.asset?._source==="wallet"&&t.asset.chainId===h,P={chainId:h,tokenAddress:M,symbol:j.getTokenByAddress(M,h)?.symbol??c.symbol,decimals:j.getTokenByAddress(M,h)?.decimals??c.decimals};if(N){const W=await m.relayerService.estimateBatchGas({user:E,outputToken:M,stepIndex:0,chainBatches:R}),U=_n(S,10n),z=U+W.gasFee;return{...P,grossAmount:S+z,netAmount:S,totalFee:z,gasFee:W.gasFee,spicenetFee:U,bridgeFee:0n,gasQuoteSource:W.gasQuoteSource}}const H=R.some(W=>W.tokenTransfers?.length),L=await B(R,M,S,H?{userOverride:E,useCustomTransfers:!0,feeExecutionMode:f}:f?{userOverride:E,feeExecutionMode:f}:{userOverride:E});return pn(L,P)}const Ll=10n;function yr(e,t){const n=e.selectedAsset?.asset;if(!n||n?._source!=="wallet")return;const s=an(n,e.resolvedChainId);if(!s||!m.addressesEqual(s,e.executionTokenAddress))return;const r=j.getTokenByAddress(e.executionTokenAddress,e.resolvedChainId),a=ln(t,r?.decimals??e.destinationToken.decimals,n.decimals);if(a<=n.balance)return;const l=F.formatUnits(a,n.decimals),d=F.formatUnits(n.balance,n.decimals);throw new Error(`Insufficient ${n.symbol} for amount plus fees. Required ${l} ${n.symbol}; available ${d} ${n.symbol}.`)}function $s(e){const t=j.getTokenByAddress(e.executionTokenAddress,e.resolvedChainId);return{chainId:e.resolvedChainId,tokenAddress:e.executionTokenAddress,symbol:t?.symbol??e.destinationToken.symbol,decimals:t?.decimals??e.destinationToken.decimals}}function Vn(e,t,n){const s=pn(e,$s(t));if(!s)return;const r=_n(n,Ll),a=s.bridgeFee??0n,l=r+s.gasFee+a;return{grossAmount:n+l,netAmount:n,combinedFeeAmount:l,feeExecutionMode:"user-transfer",feeBreakdown:{spicenetFee:r,gasFee:s.gasFee,bridgeFee:a}}}function Cr(e,t,n){let s=0n,r=0n;const a=n.toLowerCase();for(const l of e)if(l.chainId===t){for(const d of l.calls??[])if(d.to.toLowerCase()===a)try{const u=F.decodeFunctionData({abi:F.erc20Abi,data:d.data});if(u.functionName!=="transfer")continue;const c=u.args[0].toLowerCase(),f=u.args[1];c===j.SPICE_PLATFORM_FEE_RECIPIENT.toLowerCase()?s+=f:c===j.SPICE_GAS_FEE_RECIPIENT.toLowerCase()&&(r+=f)}catch{continue}}return{spicenetFee:s,gasFee:r}}function _s(e,t,n){const s=t.feeExecutionMode==="user-transfer"&&t.needsSwap&&t.resolvedTokenIn?t.resolvedTokenIn:t.executionTokenAddress,r=Cr(e,t.resolvedChainId,s);return r.spicenetFee===0n&&n.feeBreakdown.spicenetFee>0n||r.gasFee===0n&&n.feeBreakdown.gasFee>0n?!1:yn(r.spicenetFee,n.feeBreakdown.spicenetFee,100n)&&yn(r.gasFee,n.feeBreakdown.gasFee,100n)}function br(e,t){return e?yn(e.grossAmount,t.grossAmount,100n)&&yn(e.feeBreakdown.spicenetFee,t.feeBreakdown.spicenetFee,100n)&&yn(e.feeBreakdown.gasFee,t.feeBreakdown.gasFee,100n)&&yn(e.feeBreakdown.bridgeFee,t.feeBreakdown.bridgeFee,100n):!1}async function wr(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 eo(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 kr(e,s.signal)}e.ui.setStep("success"),e.ui.setStatusMsg(e.isSourceDestToken?"Transaction confirmed":"Deposit confirmed")}catch(s){const r=s instanceof Error?s:new Error(String(s));if(r.name==="AbortError"||e.refs.abortControllerRef.current?.signal.aborted){e.ui.setStep("idle");return}const a=r.message||"Transaction failed";e.ui.setStep("error"),e.ui.setStatusMsg(a),e.ui.setError(a)}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=F.parseUnits(e.selectedAsset.amount,e.selectedAsset.asset.decimals),s=n;let r=await e.execution.buildSupplyChainBatches();const a=e.selectedAsset.asset?._source==="wallet",l=e.embeddedWalletAddress||e.providerEmbeddedAddress;if(e.buildSpicenetBatch&&!e.isPayMode&&!e.isNon7702&&!a&&!r.some(x=>j.isSpicenetChainId(x.chainId)))throw new Error("Spice-funded supplies must include a Spicenet funding batch before the destination chain batch.");const d=r.some(x=>x.tokenTransfers?.length)?{userOverride:l,useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode}:e.feeExecutionMode?{userOverride:l,feeExecutionMode:e.feeExecutionMode}:{userOverride:l};let u=n;const c=e.feeExecutionMode==="user-transfer"&&e.needsSwap&&!e.exactOutputSwap,f=e.feeExecutionMode==="user-transfer"&&!c?s:void 0;let p;for(let x=0;x<4;x+=1){const h=await e.execution.estimate(r,e.executionTokenAddress,u,d),b=pn(h,$s(e));p=e.feeExecutionMode==="user-transfer"&&b?Vn(h,e,s):void 0;const y=p?.grossAmount??b?.grossAmount??u;if(y===u){u=y;break}u=y,r=await e.execution.buildSupplyChainBatches({fundingAmountOverride:u,actionAmountOverride:f,actionContextOverride:p})}e.feeExecutionMode==="user-transfer"&&(yr(e,u),r=await e.execution.buildSupplyChainBatches({fundingAmountOverride:u,actionAmountOverride:f,actionContextOverride:p}));let g=p;await e.execution.execute(r,e.executionTokenAddress,u,e.execution.onProgress,t.signal,e.feeExecutionMode==="user-transfer"?{...d,skipUserFundingPreflight:!0,adjustBatchesForEstimate:({feeEstimate:x,chainBatches:h})=>{const b=Vn(x,e,s);if(!b)return null;const y=e.feeExecutionMode==="user-transfer"&&e.needsSwap&&e.resolvedTokenIn?e.resolvedTokenIn:e.executionTokenAddress;Cr(h,e.resolvedChainId,y);const I=br(g,b),v=_s(h,e,b);return I||v?null:(g=b,e.execution.buildSupplyChainBatches({fundingAmountOverride:b.grossAmount,actionAmountOverride:f,actionContextOverride:b}))}}:d),e.ui.setStep("success"),e.ui.setStatusMsg("Deposit confirmed")}catch(n){const s=n instanceof Error?n:new Error(String(n));if(s.name==="AbortError"||t.signal.aborted){e.ui.setStep("idle");return}const r=s.message||"Transaction failed";e.ui.setStep("error"),e.ui.setStatusMsg(r),e.ui.setError(r)}finally{e.ui.setIsExecuting(!1)}}async function kr(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,r=F.parseUnits(e.selectedAsset.amount,s.decimals),a=r,l=s?._source==="wallet"&&s.chainId===e.resolvedChainId;let d=await e.execution.buildSupplyChainBatches();const u={userOverride:n,useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode,signAuthorizationsForEstimate:!0};let c=r;const f=e.feeExecutionMode==="user-transfer"&&e.needsSwap&&!e.exactOutputSwap,p=e.feeExecutionMode==="user-transfer"&&!f?a:void 0;let g;if(l){const C=await m.relayerService.estimateBatchGas({user:n,outputToken:e.executionTokenAddress,stepIndex:0,chainBatches:d}),E=_n(r,10n),S=E+C.gasFee;c=r+S,e.feeExecutionMode==="user-transfer"&&(g={grossAmount:c,netAmount:a,combinedFeeAmount:S,feeExecutionMode:e.feeExecutionMode,feeBreakdown:{spicenetFee:E,gasFee:C.gasFee,bridgeFee:0n}})}else for(let C=0;C<4;C+=1){const E=await e.execution.estimate(d,e.executionTokenAddress,0n,u),S=e.feeExecutionMode==="user-transfer"?Vn(E,e,a):void 0,R=pn(E,$s(e)),N=S?.grossAmount??(R?R.grossAmount>r?R.grossAmount:r:c);if(g=S,N===c){c=N;break}c=N;const P=j.getTokenByAddress(e.executionTokenAddress,e.resolvedChainId),H=ln(c,P?.decimals??e.destinationToken.decimals,s.decimals);d=await e.execution.buildSupplyChainBatches({fundingAmountOverride:c,sourceFundingAmountOverride:H,withdrawalAmountOverride:c,actionAmountOverride:p,actionContextOverride:S})}const x=j.getTokenByAddress(e.executionTokenAddress,e.resolvedChainId);let h=l?c:ln(c,x?.decimals??e.destinationToken.decimals,s.decimals);yr(e,c),d=await e.execution.buildSupplyChainBatches({fundingAmountOverride:c,sourceFundingAmountOverride:h,withdrawalAmountOverride:c,actionAmountOverride:p,actionContextOverride:g});const b=s.chainId,y=n,I=await e.externalWallet.getEthereumProvider();await Nn(I,b,()=>e.ui.setStatusMsg("Switching source network..."));const v=m.getChainConfig(b),D=F.createWalletClient({account:e.externalWalletAddress,chain:v?.viemChain,transport:F.custom(I)}),k=j.normalizeNativeTokenAddress(s.address),w=s.isNative||j.isNativeToken(k),M=m.getClientForChain(b),A=C=>Zs({extWc:D,sourceClient:M,recipient:y,tokenAddr:k,isNative:w,amount:C,viemChain:v?.viemChain});e.ui.setStatusMsg("Funding embedded wallet..."),await A(h);let T=h;if(e.feeExecutionMode==="user-transfer")for(let C=0;C<4;C+=1){const E=await e.execution.estimate(d,e.executionTokenAddress,0n,u),S=Vn(E,e,a);if(!S)break;const R=l?S.grossAmount:ln(S.grossAmount,x?.decimals??e.destinationToken.decimals,s.decimals);if(R>T&&(e.ui.setStatusMsg("Topping up embedded wallet..."),await A(R-T),T=R),g=S,c=S.grossAmount,h=R,d=await e.execution.buildSupplyChainBatches({fundingAmountOverride:c,sourceFundingAmountOverride:h,withdrawalAmountOverride:c,actionAmountOverride:p,actionContextOverride:S}),_s(d,e,S))break}e.ui.setStatusMsg("Signing supply intent...");let B=g;await e.execution.execute(d,e.executionTokenAddress,0n,e.execution.onProgress,t,e.feeExecutionMode==="user-transfer"?{...u,skipUserFundingPreflight:!0,adjustBatchesForEstimate:({feeEstimate:C,chainBatches:E})=>{const S=Vn(C,e,a);if(!S)return null;const R=br(B,S),N=_s(E,e,S);if(R||N)return null;if(S.grossAmount>c)throw new Error("Fee estimate increased after wallet funding. Please retry so the signed fee can match the latest relayer estimate.");B=S;const P=l?S.grossAmount:ln(S.grossAmount,x?.decimals??e.destinationToken.decimals,s.decimals);return e.execution.buildSupplyChainBatches({fundingAmountOverride:S.grossAmount,sourceFundingAmountOverride:P,withdrawalAmountOverride:S.grossAmount,actionAmountOverride:p,actionContextOverride:S})}}:u)}async function eo(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 r=F.parseUnits(e.isPayMode?e.currentPaymentAmount:e.selectedAsset.amount,e.destinationToken.decimals),a={userAddress:s,chainId:e.resolvedChainId,destinationToken:e.destinationToken.address},l=e.buildActionCalls(r,a);if(l.length===0)throw new Error("No action calls configured");const d=await n.getEthereumProvider();await Nn(d,e.resolvedChainId);const u=m.getChainConfig(e.resolvedChainId),c=F.createWalletClient({account:s,chain:u?.viemChain,transport:F.custom(d)}),f=m.getClientForChain(e.resolvedChainId);let p;for(const g of l){const x=await c.sendTransaction({to:g.to,data:g.data,value:g.value,chain:u?.viemChain});if((await f.waitForTransactionReceipt({hash:x,timeout:12e4,pollingInterval:2e3,confirmations:1})).status!=="success")throw new Error("Transaction failed");p=x}return p}async function vr(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,r=F.parseUnits(e.currentPaymentAmount,e.destinationToken.decimals),a=e.selectedIsEquivalent?r:e.exactOutputSwap?e.exactOutputSwap.amountInMax:0n;if(a===0n)throw new Error("Quote not available yet");const l=e.resolvedTokenIn||e.selectedAsset.asset.address,d={userOverride:t,useCustomTransfers:!0},u=j.getEscrowContractAddress(s),c=j.normalizeNativeTokenAddress(n.address),f=n.isNative||j.isNativeToken(c),p=t,g=C=>({chainId:s,calls:f?[{to:u,value:C,data:"0x"}]:[{to:c,value:0n,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"transfer",args:[u,C]})}]}),x=(C,E,S)=>{const R=ps(C),N=L=>(L.tokenTransfers??[]).some(W=>W.from==="escrow"),P=R.filter(L=>!N(L)),H=R.filter(N);return[...P,...sn(H,p,E,S)]},h=async(C,E,S)=>[g(C),...x(await e.execution.buildPayChainBatches({fundingAmountOverride:C}),E,S)],b=await e.execution.estimateRequiredGrossFunding(a,C=>h(C),l,d);let y=b,I=await h(b);const v=await e.execution.estimate(I,l,b,{...d,feeExecutionMode:e.feeExecutionMode}),D=pn(v,{chainId:e.resolvedChainId,tokenAddress:l,symbol:j.getTokenByAddress(l,e.resolvedChainId)?.symbol??n.symbol,decimals:j.getTokenByAddress(l,e.resolvedChainId)?.decimals??n.decimals})?.grossAmount??b;D!==b&&(y=D),I=await h(y,v,{payoutAlreadyGross:!0});const k=await e.externalWallet.getEthereumProvider();await Nn(k,s);const w=m.getChainConfig(s),M=F.createWalletClient({account:e.externalWalletAddress,chain:w?.viemChain,transport:F.custom(k)}),A=m.getClientForChain(s);await Zs({extWc:M,sourceClient:A,recipient:t,tokenAddr:c,isNative:f,amount:y,viemChain:w?.viemChain});const T=I.some(C=>C.tokenTransfers?.length),B={...d,skipUserFundingPreflight:!0};return await e.execution.execute(I,l,T?y:0n,C=>{C.txHash&&(e.ui.setPaymentResult(E=>({...E??{status:"processing"},txHash:C.txHash})),e.ui.setTxHash(C.txHash))},void 0,T?B:{userOverride:t,skipUserFundingPreflight:!0})}async function Sr(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 eo(e);else if(e.onPayExecute&&e.selectedAsset?.asset){const r=e.selectedAsset.asset,a=F.parseUnits(e.currentPaymentAmount,e.destinationToken.decimals),l=e.selectedIsEquivalent?a:e.exactOutputSwap?e.exactOutputSwap.amountInMax:0n;if(l===0n)throw new Error("Quote not available yet");const d=e.embeddedWalletAddress||e.providerEmbeddedAddress;if(!d)throw new Error("Embedded wallet not available \u2014 sign in to create one before paying");const u=e.resolvedTokenIn||r.address,c=await e.execution.estimateRequiredGrossFunding(l,g=>e.execution.buildPayChainBatches({fundingAmountOverride:g}),u,{userOverride:d,useCustomTransfers:!0}),f=await e.execution.buildPayChainBatches({fundingAmountOverride:c}),p=await e.onPayExecute({asset:r,amount:e.currentPaymentAmount,amountWei:a,destinationToken:e.destinationToken,chainBatches:f,requiredNetFunding:l,grossFundingAmount:c,selectedIsEquivalent:e.selectedIsEquivalent,resolvedTokenIn:u,exactOutputSwapAmountInMax:e.exactOutputSwap?.amountInMax});p&&(e.ui.setTxHash(p),e.ui.setPaymentResult(g=>({...g??{status:"processing"},txHash:p}))),s=p||void 0}else s=await vr(e);e.ui.setPaymentResult(r=>({status:"success",txHash:r?.txHash||s||""}))}catch(s){const r=m.sanitizeError(s,"Payment failed. Please try again.");e.ui.setError(r),e.ui.setPaymentResult({status:"failed",error:r})}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=F.parseUnits(e.currentPaymentAmount,e.destinationToken.decimals),s={useCustomTransfers:!0,feeExecutionMode:e.feeExecutionMode};if(t){const y=await e.execution.buildPayChainBatches(),I=await e.execution.execute(y,e.executionTokenAddress,0n,v=>{v.txHash&&(e.ui.setPaymentResult(D=>({...D??{status:"processing"},txHash:v.txHash})),e.ui.setTxHash(v.txHash))},void 0,s);e.ui.setPaymentResult(v=>({status:"success",txHash:v?.txHash||I}));return}const r=e.selectedAsset?.asset;if(!r)throw new Error("Select a payment source");const a=e.resolvedTokenIn||r.address||e.destinationToken.address,l=e.needsSwap?e.exactOutputSwap?.amountInMax??0n:n,d=e.embeddedWalletAddress||e.providerEmbeddedAddress||e.address,u=(y,I,v)=>{const D=ps(y),k=A=>(A.tokenTransfers??[]).some(T=>T.from==="escrow"),w=D.filter(A=>!k(A)),M=D.filter(k);return[...w,...sn(M,d,I,v)]},c=await e.execution.estimateRequiredGrossFunding(l,y=>e.execution.buildPayChainBatches({fundingAmountOverride:y}).then(I=>u(I)),a,s);let f=c,p=u(await e.execution.buildPayChainBatches({fundingAmountOverride:c}));const g=await e.execution.estimate(p,a,c,s),x=pn(g,{chainId:e.resolvedChainId,tokenAddress:a,symbol:j.getTokenByAddress(a,e.resolvedChainId)?.symbol??r.symbol,decimals:j.getTokenByAddress(a,e.resolvedChainId)?.decimals??r.decimals})?.grossAmount??c;x!==c&&(f=x),p=u(await e.execution.buildPayChainBatches({fundingAmountOverride:f}),g,{payoutAlreadyGross:!0});const h=p.some(y=>y.tokenTransfers?.length),b=await e.execution.execute(p,a,h?f:0n,y=>{y.txHash&&(e.ui.setPaymentResult(I=>({...I,txHash:y.txHash})),e.ui.setTxHash(y.txHash))},void 0,s);e.ui.setPaymentResult(y=>({status:"success",txHash:y?.txHash||b}))}catch(n){const s=m.sanitizeError(n,"Payment failed. Please try again.");e.ui.setError(s),e.ui.setPaymentResult({status:"failed",error:s})}finally{e.ui.setIsExecuting(!1)}}const Hl=({variant:e,destinationSymbol:t,destinationLogoURI:n,destinationDecimals:s,primaryColor:r,fontFamily:a,textPrimary:l,textSecondary:d,cardBg:u,cardBorder:c,dk:f,dark:p,isQuoting:g,quoteError:x,estimatedOutput:h,paymentAmount:b,needsSwap:y,exactOutputSwap:I,adjustable:v=!1,maxAmount:D,onAmountChange:k})=>e==="supply"?o.jsxs("div",{style:{backgroundColor:u,border:`1px solid ${c}`,borderRadius:p?"8px":"7px",padding:"14px 16px 12px 16px",marginBottom:"16px",minHeight:"112px",display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px"},children:[o.jsxs("div",{style:{minWidth:0},children:[o.jsx("span",{style:{fontFamily:a,fontSize:"17px",fontWeight:500,color:p?"#a7abb2":"#7D7C7B",lineHeight:"24px"},children:"Used in TX"}),o.jsx("div",{style:{fontSize:"12px",fontWeight:500,color:d,fontFamily:a,marginTop:"10px"},children:"Net amount after swap and fees"})]}),o.jsxs("div",{style:{textAlign:"right",minWidth:0,display:"inline-flex",alignItems:"center",gap:"8px",border:`1px solid ${c}`,borderRadius:"8px",padding:"8px 10px",minHeight:"42px"},children:[o.jsx(Ar,{symbol:t,logoURI:n,primaryColor:r,size:24}),o.jsx("span",{style:{fontSize:"16px",fontWeight:500,color:p?"#f3f4f6":"#3C3E42",lineHeight:"1.3",fontFamily:a,letterSpacing:0},children:t})]})]}),o.jsx("div",{style:{textAlign:"right",minWidth:0},children:g?o.jsx("span",{style:{fontSize:"18px",color:d,fontFamily:a},children:"Quoting..."}):x?o.jsx("span",{style:{fontSize:"13px",color:p?"#f87171":"#dc2626",fontFamily:a},children:"Quote failed"}):h?o.jsx(kn,{value:h,title:h,fontFamily:a,color:l,lineHeight:"0.95",textAlign:"right",maxFontSize:32,minFontSize:18}):o.jsx("span",{style:{fontSize:"20px",color:d,fontFamily:a},children:"\u2014"})})]}):o.jsx(Ql,{destinationSymbol:t,destinationLogoURI:n,destinationDecimals:s,primaryColor:r,fontFamily:a,textPrimary:l,textSecondary:d,cardBg:u,cardBorder:c,dk:f,dark:p,paymentAmount:b||"0",needsSwap:y,exactOutputSwap:I,isQuoting:g,adjustable:v,maxAmount:D,onAmountChange:k}),Ir=i.memo(Hl),Ar=({symbol:e,logoURI:t,primaryColor:n,size:s})=>t?o.jsx("img",{src:t,alt:e,style:{width:s,height:s,borderRadius:"50%",objectFit:"cover"}}):o.jsx("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)}),Ql=({destinationSymbol:e,destinationLogoURI:t,destinationDecimals:n,primaryColor:s,fontFamily:r,textPrimary:a,textSecondary:l,cardBg:d,cardBorder:u,dk:c,dark:f,paymentAmount:p,needsSwap:g,exactOutputSwap:x,isQuoting:h,adjustable:b,maxAmount:y,onAmountChange:I})=>{const v='"IBM Plex Mono", monospace',D=parseFloat(p||"0"),k=y?parseFloat(y):0,[w,M]=i.useState(p||""),A=i.useRef(null),[T,B]=i.useState(null),[C,E]=i.useState(null);i.useEffect(()=>{b||M(p||"")},[p,b]);const S=P=>{let H=P;H.startsWith(".")&&(H="0"+H);const L=m.parseNumericInput(H);let W=L;y&&parseFloat(L)>parseFloat(y)&&(W=y),M(W),A.current&&clearTimeout(A.current),A.current=setTimeout(()=>I?.(W),300)},R=P=>{if(!k)return;if(P===100){M(y||k.toString()),A.current&&clearTimeout(A.current),I?.(y||k.toString());return}const H=10**n,L=Math.floor(k*P/100*H)/H,W=m.formatDecimalInput(L,n);M(W),A.current&&clearTimeout(A.current),I?.(W)},N=k>0?parseFloat(w||"0")/k*100:0;return i.useEffect(()=>()=>{A.current&&clearTimeout(A.current)},[]),o.jsxs("div",{style:{backgroundColor:d,border:`1px solid ${u}`,borderRadius:f?"12px":"6px",padding:"16px",marginBottom:"16px"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[o.jsx(Ar,{symbol:e,logoURI:t,primaryColor:s,size:32}),o.jsxs("div",{children:[o.jsx("span",{style:{fontSize:"14px",fontWeight:600,color:a,fontFamily:r},children:"Payment"}),o.jsx("div",{style:{fontSize:"12px",color:l,fontFamily:r,marginTop:"2px"},children:e})]})]}),o.jsxs("div",{style:{textAlign:"right"},children:[b?o.jsx(kn,{element:"input",ariaLabel:`${e} amount`,dataSpiceflowFocus:!0,value:w,onChange:P=>S(P.target.value),placeholder:"0.0",fontFamily:v,color:a,lineHeight:1.1,textAlign:"right",maxFontSize:20,minFontSize:12,style:{width:"120px"}}):o.jsx(kn,{element:"div",value:D>0?p:"0.00",title:D>0?p:"0.00",fontFamily:v,color:a,lineHeight:1.1,textAlign:"right",maxFontSize:20,minFontSize:12}),o.jsx("div",{style:{fontSize:"12px",color:l,fontFamily:v,marginTop:"2px"},children:e}),b&&k>0&&o.jsx("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"10px",marginTop:"6px"},children:[0,25,50,75,100].map((P,H)=>{const L=Math.abs(N-P)<1,W=H===4,U=P/100,z=T===P,_=C===P;return o.jsx("button",{onClick:()=>R(P),onMouseEnter:()=>B(P),onMouseLeave:()=>{B(null),E(null)},onMouseDown:()=>E(P),onMouseUp:()=>E(null),title:`${P}%`,style:{width:"14px",height:"14px",padding:0,border:"none",backgroundColor:"transparent",cursor:"pointer",opacity:L?1:z?.8:.5,transform:_?"scale(0.85)":z?"scale(1.15)":"scale(1)",transition:en.interactive},children:o.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",children:[o.jsx("circle",{cx:"7",cy:"7",r:"6.84375",fill:W?s:"none",stroke:W?s:f?"#4a5568":"#3C3E42",strokeWidth:"0.3125"}),!W&&U>0&&o.jsx("path",{d:`M 7 7 L 7 0.15625 A 6.84375 6.84375 0 ${U>.5?1:0} 1 ${7+6.84375*Math.sin(U*2*Math.PI)} ${7-6.84375*Math.cos(U*2*Math.PI)} Z`,fill:f?c?.textSecondary||"#9ca3af":"#3C3E42"})]})},P)})})]})]}),g&&x&&!h&&o.jsx("div",{style:{marginTop:"12px",paddingTop:"12px",borderTop:f?`1px solid ${c?.cardBorder||u}`:"1px solid #e5e7eb",display:"flex",justifyContent:"flex-end"},children:o.jsxs("span",{style:{fontSize:"11px",color:l,fontFamily:r,opacity:.7},children:["via ",x.venue]})})]})};function Er(e,t,n){const s=m.addressesEqual(e.address,t),r=e.chainId===n,a=e._source==="wallet";return a&&s&&r?0:a&&r?1:!a&&s?2:!a&&r?3:4}function jr(e,t){return!t||t.length===0||t.some(n=>m.addressesEqual(n,e.address))?!0:Object.keys(e.chainTokens??{}).some(n=>{const s=Bn(n);return s?t.some(r=>m.addressesEqual(r,s.address)):!1})}function Fr(e,t,n){let{symbol:s,name:r,logoURI:a}=t;const l=m.addressesEqual(e.address,n.address)&&e.chainId===n.chainId;l&&n.logoURI&&(a=n.logoURI),l&&!e.configToken&&s==="TOKEN"&&(s=n.symbol,r=n.symbol);const d=parseFloat((Number(t.balance)/Math.pow(10,t.decimals)).toFixed(6));return{address:e.address,name:r,symbol:s,decimals:t.decimals,balance:t.balance,balanceFormatted:d,balanceUsd:0,logoURI:a,isNative:!1,chainId:e.chainId}}function Br(e){const{destinationToken:t,supportedSourceAssets:n,sourceChains:s,enabled:r}=e,a=i.useContext(m.SpiceFlowProviderContext),l=(a?.mode||"7702")!=="7702",d=a?.embeddedWalletAddress,{externalAddress:u,embeddedAddress:c,activeAddress:f}=m.useProviderWallets(),p=d||c,{assets:g,refetch:x}=Qn({address:p,supportedChains:s,enabled:r&&!l&&!!p,refetchInterval:3e4}),h=i.useMemo(()=>l?[]:g.filter(B=>jr(B,n)),[g,n,l]),b=l?f??u:d,y=i.useMemo(()=>{const B=new Set,C=[],E=S=>{if(!S)return;const R=S.toLowerCase();B.has(R)||(B.add(R),C.push(F.getAddress(S)))};if(E(t.address),n)for(const S of n)E(S);return C},[l,t.address,n]),I=i.useMemo(()=>y.map(B=>B.toLowerCase()).sort().join(","),[y]),v=i.useMemo(()=>JSON.stringify([...s||[]].sort()),[s]),[D,k]=i.useState([]),w=i.useRef(0),M=i.useRef(async()=>{}),A=i.useCallback(async()=>{if(!r||!b||y.length===0){w.current++,k([]);return}const B=++w.current,C=F.getAddress(b),E=l?s&&s.length>0?s:[t.chainId]:[t.chainId],S=[];for(const H of y){const L=H.toLowerCase();if(L===j.ZERO_ADDRESS)continue;if(L===t.address.toLowerCase()){const U=m.getChainConfig(t.chainId)?.supportedTokens?.find(z=>m.addressesEqual(z.address,L));S.push({address:H,chainId:t.chainId,configToken:U?{decimals:U.decimals,symbol:U.symbol,name:U.name,logo:U.logo}:void 0});continue}let W=!1;for(const U of E){const z=m.getChainConfig(U)?.supportedTokens?.find(_=>m.addressesEqual(_.address,L));if(z){S.push({address:H,chainId:U,configToken:{decimals:z.decimals,symbol:z.symbol,name:z.name,logo:z.logo}}),W=!0;break}}W||S.push({address:H,chainId:t.chainId})}const R=new Map;for(const H of S){const L=R.get(H.chainId)||[];L.push(H),R.set(H.chainId,L)}const N=async(H,L)=>{try{const W=await nn.readContract(H,{address:L.address,abi:F.erc20Abi,functionName:"balanceOf",args:[C]}),{decimals:U,symbol:z,name:_,logoURI:V}=await nr(H,L.address,L.configToken);return Fr(L,{decimals:U,symbol:z,name:_,logoURI:V,balance:W},t)}catch{return null}},P=await Promise.all(Array.from(R.entries()).map(async([H,L])=>{let W;try{W=m.getClientForChain(H)}catch{return[]}const U=[],z=[];for(const V of L){const Y=U.length;U.push({address:V.address,abi:F.erc20Abi,functionName:"balanceOf",args:[C]}),V.configToken||U.push({address:V.address,abi:F.erc20Abi,functionName:"decimals"},{address:V.address,abi:F.erc20Abi,functionName:"symbol"},{address:V.address,abi:F.erc20Abi,functionName:"name"}),z.push({start:Y,item:V})}let _=null;try{_=await W.multicall({contracts:U})}catch{_=null}return _?z.map(({start:V,item:Y})=>{const ue=_[V],q=ue?.status==="success"?ue.result:0n;let ee,oe,pe,we;if(Y.configToken)ee=Y.configToken.decimals,oe=Y.configToken.symbol,pe=Y.configToken.name,we=Y.configToken.logo;else{const de=_[V+1],xe=_[V+2],Ee=_[V+3];ee=de?.status==="success"?Number(de.result):18,oe=xe?.status==="success"?xe.result:"TOKEN",pe=Ee?.status==="success"?Ee.result:oe}return Fr(Y,{decimals:ee,symbol:oe,name:pe,logoURI:we,balance:q},t)}):(await Promise.all(L.map(V=>N(W,V)))).filter(V=>V!==null)}));B===w.current&&k(P.flat())},[r,l,b,I,v,t.address,t.chainId,t.symbol,t.logoURI]);i.useEffect(()=>{M.current=A},[A]),i.useEffect(()=>{if(!r){k([]);return}M.current();const B=setInterval(()=>{M.current()},15e3);return()=>clearInterval(B)},[r,l,b,I,v,t.address,t.chainId]);const T=i.useCallback(()=>{A()},[A]);return{displayAssets:i.useMemo(()=>{const B=[],C=D.filter(S=>S.balance>0n);for(const S of C)B.push({...S,_source:"wallet"});for(const S of h)B.push({...S,_source:"spice"});const E=t.address.toLowerCase();return B.sort((S,R)=>Er(S,E,t.chainId)-Er(R,E,t.chainId)),B},[D,h,t.address,t.chainId]),filteredSpiceAssets:h,walletAssets:D,embeddedWalletAddress:p,externalAddress:u,isNon7702:l,refreshSpiceAssets:x,refreshWalletAssets:T}}async function Tr(e){const{tokenIn:t,tokenOut:n,amountIn:s,fee:r,chainId:a,config:l}=e;if(s<=0n)throw new Error("amountIn must be greater than 0");const d=(await m.getClientForChain(a).simulateContract({address:l.quoterV2,abi:j.uniV3QuoterV2Abi,functionName:"quoteExactInputSingle",args:[{tokenIn:t,tokenOut:n,amountIn:s,fee:r,sqrtPriceLimitX96:0n}]})).result;if(d[0]<=0n)throw new Error("No liquidity found for this pair. The pool returned 0 output.");return{amountOut:d[0],sqrtPriceX96After:d[1],gasEstimate:d[3]}}async function Rr(e){const t=e.feeTiers??[100,500,3e3,1e4],n=await Promise.allSettled(t.map(r=>Tr({...e,fee:r})));let s=null;for(let r=0;r<n.length;r++){const a=n[r];a.status==="fulfilled"&&(!s||a.value.amountOut>s.amountOut)&&(s={...a.value,fee:t[r]})}if(!s)throw new Error("No liquidity found for this pair on any fee tier.");return s}const Vl=[{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 ql(e){const{tokenIn:t,tokenOut:n,amountOut:s,fee:r,chainId:a,config:l}=e;if(s<=0n)throw new Error("amountOut must be greater than 0");const d=(await m.getClientForChain(a).simulateContract({address:l.quoterV2,abi:Vl,functionName:"quoteExactOutputSingle",args:[{tokenIn:t,tokenOut:n,amount:s,fee:r,sqrtPriceLimitX96:0n}]})).result;if(d[0]<=0n)throw new Error("No liquidity found for this pair. The pool returned 0 input.");return{amountIn:d[0],sqrtPriceX96After:d[1],gasEstimate:d[3]}}async function Yl(e){const t=e.feeTiers??[100,500,3e3,1e4],n=await Promise.allSettled(t.map(r=>ql({...e,fee:r})));let s=null;for(let r=0;r<n.length;r++){const a=n[r];a.status==="fulfilled"&&(!s||a.value.amountIn<s.amountIn)&&(s={...a.value,fee:t[r]})}if(!s)throw new Error("No liquidity found for this pair on any fee tier.");return s}function Mr(e){return e.type==="swap"}const to=.02,Zl=[1,8453,42161,10,137,43114,56],Kl="https://api.1inch.dev/swap/v6.0";function Dr(e,t){return j.applySlippage(e,t)}function Nr(e){const t=e?.baseUrl??Kl;return{name:"1inch",chainIds:e?.chainIds??Zl,resolve:async(n,s,r)=>{const a=n.maxSlippage??to,l=a*100,d=j.isNativeToken(n.tokenIn)?j.NATIVE_TOKEN_ADDRESS:n.tokenIn,u=j.isNativeToken(n.tokenOut)?j.NATIVE_TOKEN_ADDRESS:n.tokenOut,c=j.isNativeToken(n.tokenIn);try{const f=new URL(`${t}/${s}/swap`);f.searchParams.set("src",d),f.searchParams.set("dst",u),f.searchParams.set("amount",n.amountIn.toString()),f.searchParams.set("from",r),f.searchParams.set("slippage",l.toString()),f.searchParams.set("disableEstimate","true"),f.searchParams.set("allowPartialFill","false");const p={Accept:"application/json"};e?.apiKey&&(p.Authorization=`Bearer ${e.apiKey}`);const g=await fetch(f.toString(),{headers:p});if(!g.ok)throw new m.SpiceflowError("VENUE_API_ERROR",`[1inchVenue] API returned ${g.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 ${g.status}`});const x=await g.json();if(!x.dstAmount||!x.tx)return console.warn(`[1inchVenue] No route data for ${n.tokenIn} \u2192 ${n.tokenOut} on chain ${s}`),null;const h=BigInt(x.dstAmount);if(h<=0n)return console.warn(`[1inchVenue] Zero output for ${n.tokenIn} \u2192 ${n.tokenOut} on chain ${s}`),null;const b=Dr(h,a),y=[];return x.tx.to&&!c&&y.push({to:n.tokenIn,value:0n,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"approve",args:[x.tx.to,n.amountIn]})}),y.push({to:x.tx.to,value:BigInt(x.tx.value||"0"),data:x.tx.data}),{venue:"1inch",amountOut:h,amountOutMinimum:b,calls:y}}catch(f){if(f instanceof m.SpiceflowError)throw f;const p=f instanceof Error?f.message:String(f);throw new m.SpiceflowError("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 Wr=[4114,5115],no={swapRouter:"0x565eD3D57fe40f78A46f348C220121AE093c3cF8",quoterV2:"0x428f20dd8926Eabe19653815Ed0BE7D6c36f8425",feeTiers:[3e3]},Pr={swapRouter:"0x2626664c2603336E57B271c5C0b26F421741e481",quoterV2:"0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a",chainIds:[8453],feeTiers:[3e3]};function Ur(e){return{name:"satsuma",chainIds:e.chainIds??Wr,resolve:async(t,n,s)=>{const r=t.maxSlippage??to,a=j.isNativeToken(t.tokenIn);let l;try{l=await Rr({tokenIn:t.tokenIn,tokenOut:t.tokenOut,amountIn:t.amountIn,chainId:n,config:{swapRouter:e.swapRouter,quoterV2:e.quoterV2},feeTiers:e.feeTiers})}catch{return console.warn(`[SatsumaVenue] No viable fee tier for ${t.tokenIn} \u2192 ${t.tokenOut} on chain ${n}.`),null}const d=Dr(l.amountOut,r),u=[];return a||u.push({to:t.tokenIn,value:0n,data:F.encodeFunctionData({abi:F.erc20Abi,functionName:"approve",args:[e.swapRouter,t.amountIn]})}),u.push({to:e.swapRouter,value:a?t.amountIn:0n,data:F.encodeFunctionData({abi:j.uniV3SwapRouterAbi,functionName:"exactInputSingle",args:[{tokenIn:t.tokenIn,tokenOut:t.tokenOut,fee:l.fee,recipient:s,amountIn:t.amountIn,amountOutMinimum:d,sqrtPriceLimitX96:0n}]})}),{venue:"satsuma",amountOut:l.amountOut,amountOutMinimum:d,calls:u}}}}function zr(e){return{name:"satsuma",chainIds:e.chainIds??Wr,resolve:async(t,n,s)=>{const r=t.maxSlippage??to,a=j.isNativeToken(t.tokenIn);let l;try{l=await Yl({tokenIn:t.tokenIn,tokenOut:t.tokenOut,amountOut:t.amountOut,chainId:n,config:{swapRouter:e.swapRouter,quoterV2:e.quoterV2},feeTiers:e.feeTiers})}catch{return null}const d=BigInt(Math.round(r*1e4)),u=l.amountIn+l.amountIn*d/10000n,c=[];return c.push({to:e.swapRouter,value:a?u:0n,data:F.encodeFunctionData({abi:Xl,functionName:"exactOutputSingle",args:[{tokenIn:t.tokenIn,tokenOut:t.tokenOut,fee:l.fee,recipient:s,amountOut:t.amountOut,amountInMaximum:u,sqrtPriceLimitX96:0n}]})}),{venue:"satsuma",amountIn:l.amountIn,amountInMax:u,amountOut:t.amountOut,calls:c}}}}const Xl=[{inputs:[{components:[{name:"tokenIn",type:"address"},{name:"tokenOut",type:"address"},{name:"fee",type:"uint24"},{name:"recipient",type:"address"},{name:"amountOut",type:"uint256"},{name:"amountInMaximum",type:"uint256"},{name:"sqrtPriceLimitX96",type:"uint160"}],name:"params",type:"tuple"}],name:"exactOutputSingle",outputs:[{name:"amountIn",type:"uint256"}],stateMutability:"payable",type:"function"}];function Or(e){const t=[];e?.customVenues&&t.push(...e.customVenues),e?.satsuma&&t.push(Ur(e.satsuma)),t.push(Nr(e?.oneInch));function n(r){return t.find(a=>a.chainIds.includes(r))}async function s(r,a,l){const d=[],u=[];for(const c of r){if(!Mr(c)){d.push(c);continue}const f=n(a);if(!f)throw new m.SpiceflowError("NO_VENUE_FOR_CHAIN",`No liquidity venue configured for chain ${a}. Cannot resolve swap ${c.tokenIn} \u2192 ${c.tokenOut}.`,{chainId:a,tokenIn:c.tokenIn,tokenOut:c.tokenOut,amountIn:c.amountIn.toString()});const p=await f.resolve(c,a,l);if(!p)throw new m.SpiceflowError("NO_LIQUIDITY",`${f.name} returned no quote for ${c.tokenIn} \u2192 ${c.tokenOut} on chain ${a}.`,{venue:f.name,chainId:a,tokenIn:c.tokenIn,tokenOut:c.tokenOut,amountIn:c.amountIn.toString()});d.push(...p.calls),u.push(p)}return{calls:d,resolvedSwaps:u}}return{resolveSwapIntents:s,getVenueForChain:n,venues:t}}function Lr(e){const t=e?.customVenues??[];async function n(s,r,a){const l=t.filter(c=>c.chainIds.includes(r));if(l.length===0)throw new m.SpiceflowError("NO_SWAP_ROUTE",`No exact-output venue supports chain ${r}`,{chainId:r,tokenIn:s.tokenIn,tokenOut:s.tokenOut});const d=(await Promise.allSettled(l.map(async c=>({venue:c,quote:await c.resolve(s,r,a)})))).filter(c=>c.status==="fulfilled").map(c=>c.value).filter(c=>c.quote!==null);if(d.length===0)throw new m.SpiceflowError("NO_SWAP_ROUTE",`All aggregators failed for ${s.tokenIn} \u2192 ${s.tokenOut} on chain ${r}`,{chainId:r,tokenIn:s.tokenIn,tokenOut:s.tokenOut,amountOut:s.amountOut.toString()});const u=d.find(c=>c.venue.preferred);return u?u.quote:(d.sort((c,f)=>c.quote.amountIn<f.quote.amountIn?-1:c.quote.amountIn>f.quote.amountIn?1:0),d[0].quote)}return{getQuote:n,venues:t}}const Hr=Or({satsuma:no});async function Gl(e){const t=Hr.getVenueForChain(e.chainId);if(!t)throw new Error(`No swap venue configured for chain ${e.chainId}.`);const n=await t.resolve({type:"swap",tokenIn:e.tokenIn,tokenOut:e.tokenOut,amountIn:e.amountIn},e.chainId,e.recipient);if(!n)throw new Error("No liquidity for this pair.");return n}function Qr(e){const{direction:t,selectedAsset:n,destinationToken:s,chainId:r,recipient:a,paymentAmount:l,resolveExactOutputSwap:d}=e,[u,c]=i.useState(!1),[f,p]=i.useState(null),[g,x]=i.useState(null),[h,b]=i.useState(null),[y,I]=i.useState(null),[v,D]=i.useState(null),[k,w]=i.useState(null),[M,A]=i.useState(null),[T,B]=i.useState(null),C=i.useRef(null),E=i.useRef(null),S=i.useRef(0),R=i.useRef(new Map),N=i.useMemo(()=>Hr,[]),P=i.useMemo(()=>Lr({customVenues:[...d?[{name:"consumer-exact-output",chainIds:[r],preferred:!0,resolve:d}]:[],zr(no),zr(Pr)]}),[d,r]),H=i.useMemo(()=>{if(!n?.asset)return null;const ee=an(n.asset,r);if(ee)return ee;const oe=mn(n.asset.address,r,n.asset.chainId);return oe?oe.address:null},[n?.asset,r]),L=i.useMemo(()=>n?.asset?Kn(n.asset,r):[],[n?.asset,r]),W=i.useMemo(()=>L.map(ee=>ee.toLowerCase()).join(","),[L]);i.useEffect(()=>{let ee=!1;if(E.current&&(clearTimeout(E.current),E.current=null),!n?.asset||L.length<=1){B(null);return}return E.current=setTimeout(async()=>{const oe=t==="input"?n.amount:l||"0";let pe=0n;try{pe=t==="input"?F.parseUnits(oe,n.asset.decimals):0n}catch{pe=0n}try{const we=await ko(n.asset,r,{requiredAmount:pe});ee||B(we)}catch{ee||B(null)}},400),()=>{ee=!0,E.current&&(clearTimeout(E.current),E.current=null)}},[n?.asset,n?.amount,r,L.length,W,t,l]);const U=i.useMemo(()=>T??H,[T,H]),z=i.useMemo(()=>!n?.asset||!U?[]:[U,...L.filter(ee=>ee.toLowerCase()!==U.toLowerCase())],[n?.asset,U,L]),_=i.useMemo(()=>!n?.asset||!Hn(n.asset.address,n.asset.chainId,s.address,s.chainId)||!U?!1:m.addressesEqual(U,s.address),[n,s.address,s.chainId,U]),V=U?m.addressesEqual(U,s.address):!1,Y=t==="output"&&parseFloat(l||"0")===0,ue=!!n?.asset&&!_&&!V&&!Y,q=ue?M??U:U;return i.useEffect(()=>{C.current&&clearTimeout(C.current);const ee=t==="input"?n?.amount:l,oe=parseFloat(ee||"0");if(!ue||!Number.isFinite(oe)||oe<=0||!n?.asset||!a||z.length===0){S.current++,x(null),b(null),I(null),D(null),w(null),A(null),p(null),c(!1);return}const pe=n.asset.decimals;let we;try{we=t==="input"?F.parseUnits(n.amount,pe):F.parseUnits(l||"0",s.decimals)}catch{S.current++,p("Invalid amount"),c(!1);return}const de=++S.current,xe=()=>de!==S.current;c(!0);const Ee=t==="output"?150:400;return C.current=setTimeout(async()=>{try{if(t==="input"){const Z=N.getVenueForChain(r);if(!Z)throw new Error("No swap venue for this chain");let X=null,te=null;for(const ye of z){const Q=`${t}:${r}:${ye.toLowerCase()}:${s.address.toLowerCase()}:${we.toString()}`,J=R.current.get(Q);if(J&&J.expiresAt>Date.now()&&J.resolvedSwap){X=J.resolvedSwap,te=ye;break}const me=await Z.resolve({type:"swap",tokenIn:ye,tokenOut:s.address,amountIn:we},r,a);if(xe())return;if(me){R.current.set(Q,{expiresAt:Date.now()+3e4,direction:t,resolvedSwap:me}),X=me,te=ye;break}}if(!X||!te)throw new Error("No liquidity for this pair");A(te),w(X.amountOut),I(X),D(null);const se=parseFloat(F.formatUnits(X.amountOut,s.decimals));x(se<.01?se.toPrecision(4):se.toLocaleString(void 0,{maximumFractionDigits:6})),b(null),p(null)}else{let Z=null,X=null;for(const te of z){const se=`${t}:${r}:${te.toLowerCase()}:${s.address.toLowerCase()}:${we.toString()}`,ye=R.current.get(se);if(ye&&ye.expiresAt>Date.now()&&ye.exactOutputSwap){Z=ye.exactOutputSwap,X=te;break}try{const Q=await P.getQuote({tokenIn:te,tokenOut:s.address,amountOut:we},r,a);if(xe())return;R.current.set(se,{expiresAt:Date.now()+3e4,direction:t,exactOutputSwap:Q}),Z=Q,X=te;break}catch{if(xe())return}}if(!Z||!X)throw new Error("No liquidity for this pair");A(X),D(Z),I(null),w(null),b(parseFloat(F.formatUnits(Z.amountIn,pe)).toFixed(6)),x(null),p(null)}}catch(Z){if(xe())return;const X=Z instanceof Error?Z.message:"Failed to get quote";p(X),x(null),b(null),I(null),D(null),w(null),A(null)}finally{xe()||c(!1)}},Ee),()=>{C.current&&clearTimeout(C.current)}},[t,ue,n?.amount,n?.asset?.address,n?.asset?.decimals,l,z,r,s.address,s.decimals,a,N,P]),{isQuoting:u,quoteError:f,estimatedOutput:g,estimatedInput:h,resolvedSwap:y,exactOutputSwap:v,quoteAmountOut:k,resolvedTokenIn:q,isDirect:V,needsSwap:ue,selectedIsEquivalent:_}}const Vr={idle:"","signing-delegation":"Signing delegation...","signing-intent":"Signing intent...",submitting:"Submitting transaction...",executing:"Executing on-chain...",success:"Deposit confirmed",error:"Transaction failed"},qr=["signing-delegation","signing-intent","submitting","executing"],Jl=()=>{},$l=({isOpen:e,onClose:t,closeOnBackdropClick:n=!1,destinationToken:s,sourceChains:r,supportedSourceAssets:a,buildActionCalls:l,feeExecutionMode:d="user-transfer",buildSpicenetBatch:u,onPayExecute:c,resolveExactOutputSwap:f,actionLabel:p,amountDirection:g="input",swapDescription:x,directDescription:h,paymentAmount:b,amountInputMode:y="fixed",minPaymentAmount:I,maxPaymentAmount:v,onAmountChange:D,styles:k,dark:w,title:M,subtitle:A,onAddFunds:T,onSuccess:B,onError:C})=>{const E=g==="output",{theme:S,dark:R,primaryColor:N,dk:P,palette:H,fontFamily:L,monoFont:W,inputDark:U,cardBg:z,cardBorder:_,textPrimary:V,textSecondary:Y,subtitleText:ue}=m.useSpiceBrand(k,w),q=i.useMemo(()=>U?{...S,colors:{...S.colors,secondary:P.cardBg,surfaceHover:P.hoverBg,border:"#2d2d2d",borderHover:"#3a3a3a"}}:S,[U,S,P.cardBg,P.hoverBg]),ee=s.chainId,oe=i.useContext(m.SpiceFlowProviderContext),pe=(oe?.mode||"7702")!=="7702",we=!!oe?.isWhitelistGateActive,de=!!oe?.isWhitelistConfigured&&oe?.isUserWhitelisted!==!0,xe=i.useMemo(()=>r??oe?.supportedChainIds??[],[r,oe?.supportedChainIds]),Ee=i.useMemo(()=>{if(we)return[];if(a)return a;const Ce=oe?.allowedTokens;if(!Ce||Ce.length===0)return;const jt=new Set(Ce.map(gn=>gn.toLowerCase())),En=[],hn=new Set;for(const gn of xe){const hs=m.getChainConfig(gn);for(const gs of hs?.supportedTokens??[]){if(!jt.has(gs.symbol.toLowerCase()))continue;const so=gs.address.toLowerCase();hn.has(so)||(hn.add(so),En.push(gs.address))}}return En},[a,oe?.allowedTokens,xe,we]),{address:Z,isConnected:X,isReady:te,isAuthenticated:se,provider:ye}=m.useWallet(),{execute:Q,estimate:J}=Rn(),{externalWallet:me,embeddedAddress:Se,activeWallet:ie,activeAddress:qe}=m.useProviderWallets(),ot=oe?.externalWalletAddress,Kt=oe?.embeddedWalletAddress||Se,{displayAssets:Ft,filteredSpiceAssets:ut,embeddedWalletAddress:ae,refreshSpiceAssets:Ne,refreshWalletAssets:Me}=Br({destinationToken:s,supportedSourceAssets:Ee,sourceChains:xe,enabled:e&&(pe?!!ot:!!Kt)}),Ct=we||E||pe?Ft:ut,[re,At]=i.useState(null),[Ae,Te]=i.useState(b||""),[le,ze]=i.useState(!1),[zt,Qt]=i.useState(null),Xt=i.useRef(C);Xt.current=C;const Et=i.useCallback(Ce=>{Qt(Ce),typeof Ce=="string"&&Ce&&Xt.current?.(new Error(Ce))},[]),[ge,Ot]=i.useState("idle"),[Gt,Lt]=i.useState(""),[Ke,wt]=i.useState(null),[Vt,Mt]=i.useState(!1),[fe,Oe]=i.useState(null),[ft,Dt]=i.useState(null),[Fe,kt]=i.useState(!1),[Jt,Re]=i.useState(!1),[vt,mt]=i.useState(null),qt=i.useRef(re),Bt=i.useRef(!1),$e=i.useRef(null),ct=i.useRef(null),pt=i.useRef(0),rn=i.useRef(null),Ye=i.useRef(null);i.useEffect(()=>{qt.current=re},[re]);const lt=y==="adjustable"?Ae:b||"0",$t=ae||Se||Z,{isQuoting:Xe,quoteError:ht,estimatedOutput:_e,resolvedSwap:gt,exactOutputSwap:Ge,quoteAmountOut:Nt,resolvedTokenIn:dt,isDirect:Wt,needsSwap:rt,selectedIsEquivalent:$}=Qr({direction:g,selectedAsset:re,destinationToken:s,chainId:ee,recipient:$t,paymentAmount:lt,resolveExactOutputSwap:f}),G=E?parseFloat(lt||"0"):parseFloat(re?.amount||"")||0,be=G>0&&G<fn,Be=re?.asset?._source==="wallet",ve=!!re?.asset&&Be&&re.asset.chainId!==ee,et=i.useMemo(()=>re?.asset?ut.find(Ce=>m.addressesEqual(Ce.address,re.asset.address))?.balanceFormatted??0:0,[re,ut]),at=Be?re?.asset.balanceFormatted??0:et,He=i.useMemo(()=>{if(!re?.asset)return!1;if(E)return ft?ln(ft.grossAmount,ft.decimals,re.asset.decimals)>re.asset.balance:$||Wt?G>re.asset.balanceFormatted:Ge?parseFloat(F.formatUnits(Ge.amountInMax,re.asset.decimals))>re.asset.balanceFormatted:!1;if(ft){const Ce=ln(ft.grossAmount,ft.decimals,re.asset.decimals);return Be?Ce>re.asset.balance:parseFloat(F.formatUnits(Ce,re.asset.decimals))>at}return G>at},[re,E,ft,$,G,Ge,at,Be,Wt]);i.useEffect(()=>{e||(At(null),Et(null),ze(!1),Ot("idle"),Lt(""),wt(null),Mt(!1),Oe(null),Dt(null),kt(!1),Re(!1),mt(null),Bt.current=!1,y==="adjustable"&&Te(b||""),$e.current&&($e.current.abort(),$e.current=null))},[e]);const Je=i.useCallback(Ce=>{At(jt=>({asset:Ce,amount:jt?.asset?.address===Ce.address&&jt?.asset?.chainId===Ce.chainId&&jt.amount||""})),Et(null),mt(null),Re(!1)},[]),Pt=i.useCallback(Ce=>{At(jt=>jt&&{...jt,amount:Ce}),Et(null),mt(null),Re(!1)},[]),Qe=i.useCallback(Ce=>{let jt=Ce;v&&parseFloat(jt)>parseFloat(v)&&(jt=v),Te(jt),D?.(jt),Et(null),mt(null),Re(!1)},[v,D]),Ve=i.useCallback(Ce=>{Ot({building:"signing-delegation","signing-delegation":"signing-delegation","signing-intent":"signing-intent",submitting:"submitting",executing:"executing",success:"success",error:"error"}[Ce.step]||"executing"),Lt(Ce.message),Ce.txHash&&wt(Ce.txHash)},[]),K=i.useMemo(()=>({currentPaymentAmount:lt,destinationToken:s,embeddedWalletAddress:ae,providerEmbeddedAddress:Se,externalWalletAddress:ot,address:Z,isNon7702:pe,isPayMode:E,resolvedChainId:ee,buildActionCalls:l,feeExecutionMode:d,buildSpicenetBatch:u,selectedAsset:re,needsSwap:rt,resolvedSwap:gt,exactOutputSwap:Ge,quoteAmountOut:Nt,resolvedTokenIn:dt}),[lt,s,ae,Se,ot,Z,pe,E,ee,l,d,u,re,rt,gt,Ge,Nt,dt]),Ie=i.useCallback(Ce=>fr({...K,requestTimestampMs:ct.current??Date.now()},Ce),[K]),tt=i.useCallback(Ce=>mr({...K,requestTimestampMs:ct.current??Date.now()},Ce),[K]),We=i.useCallback((Ce,jt,En,hn)=>hr(Ce,jt,En,J,hn),[J]),Pe=i.useMemo(()=>re?.asset?rt&&dt?dt:re.asset.chainId===ee?re.asset.address:dt??an(re.asset,ee)??s.address:s.address,[re,s.address,rt,ee,dt]),St=i.useCallback(()=>(ct.current=Date.now(),wr(Ye.current)),[]),xt=i.useMemo(()=>re?.asset?m.addressesEqual(re.asset.address,s.address)&&re.asset.chainId===s.chainId:!1,[re,s.address,s.chainId]),Ht=xt&&(pe||E),je=Ht&&G>0&&!!re?.asset,nt=de&&!Ht,it=i.useMemo(()=>{if(!je)return null;let Ce;try{Ce=F.parseUnits(lt||"0",s.decimals)}catch{return null}return{symbol:s.symbol,decimals:s.decimals,grossAmount:Ce,netAmount:Ce,totalFee:0n,gasFee:0n,spicenetFee:0n,bridgeFee:0n,gasQuoteSource:"static_zero"}},[je,lt,s.symbol,s.decimals]),st=zt,bt=i.useMemo(()=>!(!re?.asset||G<=0),[re,G,je]),yt=i.useMemo(()=>!e||le||ge!=="idle"||!bt||je||!re?.asset?null:[E?"pay":"supply",g,re.asset.address.toLowerCase(),re.asset.chainId,re.amount,lt,s.address.toLowerCase(),s.chainId,ee,dt?.toLowerCase()??"",rt?"swap":"direct",Wt?"direct-token":"routed-token",pe?"non7702":"7702",xt?"source-dest":"cross-chain",Xe?"quoting":"quoted",Ge?.amountIn?.toString()??"",Ge?.amountInMax?.toString()??"",Ge?.venue??"",gt?.amountOut?.toString()??"",Nt?.toString()??"",ae??"",Se??"",Z??""].join("|"),[e,le,ge,bt,je,re,E,g,lt,s,ee,dt,rt,Wt,pe,xt,Xe,Ge,gt,Nt,ae,Se,Z]),Ue=i.useCallback(()=>xr({selectedAsset:re,isPayMode:E,parsedAmount:G,needsSwap:rt,exactOutputSwap:Ge,isNon7702:pe,isSourceDestToken:xt,currentPaymentAmount:lt,destinationToken:s,feeExecutionMode:d,resolvedTokenIn:dt,embeddedWalletAddress:ae,providerEmbeddedAddress:Se,resolvedChainId:ee,isConnected:X,address:Z,ready:te,authenticated:se,isDirect:Wt,resolvedSwap:gt,isQuoting:Xe,executionTokenAddress:Pe,buildPayChainBatches:Ie,buildSupplyChainBatches:tt,estimate:J,estimateRequiredGrossFunding:We}),[re,E,G,rt,Ge,pe,xt,lt,s,d,dt,ae,Se,We,Ie,J,ee,X,Z,te,se,Wt,gt,Xe,tt,Pe]);i.useEffect(()=>{rn.current=Ue},[Ue]);const Le=i.useCallback(Ce=>gr({asset:Ce,isPayMode:E,isNon7702:pe,needsSwap:rt,isQuoting:Xe,embeddedWalletAddress:ae,buildSupplyChainBatches:tt,estimate:J,executionTokenAddress:Pe,feeExecutionMode:d}),[E,pe,rt,Xe,ae,tt,J,Pe,d]);i.useEffect(()=>{if(!e){kt(!1),Re(!1),mt(null),Dt(null);return}if(le||ge!=="idle"){pt.current+=1,kt(!1);return}if(!bt){Dt(null),kt(!1),Re(!1),mt(null);return}if(je){Dt(it),kt(!1),Re(!0),mt(null);return}if(Xe){pt.current+=1,kt(!1),Re(!1);return}if(!yt)return;let Ce=!1;const jt=async()=>{const hn=++pt.current;mt(null),kt(!0);try{const gn=await rn.current?.();if(Ce||pt.current!==hn)return;gn?(Dt(gn),Re(!0)):(Dt(null),Re(!1)),mt(null)}catch(gn){if(Ce||pt.current!==hn)return;const hs=m.sanitizeError(gn,"Unable to calculate fees for this action.");Dt(null),Re(!1),mt(hs)}finally{!Ce&&pt.current===hn&&kt(!1)}},En=window.setTimeout(()=>{jt()},250);return()=>{Ce=!0,clearTimeout(En),kt(!1)}},[e,le,ge,bt,je,it,Xe,yt]);const Tt=i.useCallback(()=>(ct.current=Date.now(),Sr(Ye.current)),[]);i.useEffect(()=>{!E&&ge==="success"&&Ke&&(Ne(),B?.(Ke))},[E,ge,Ke,Ne,B]),i.useEffect(()=>{if(!E||fe?.status!=="success"||Bt.current||!Z)return;Bt.current=!0;const Ce=qt.current;!Ce?.asset||Ce.asset?._source==="wallet"||Ne()},[E,fe?.status,Z,Ne]);const _t=i.useRef(B),O=i.useRef(C);i.useEffect(()=>{_t.current=B},[B]),i.useEffect(()=>{O.current=C},[C]),i.useEffect(()=>{e&&(Ne(),Me())},[e,Ne,Me]),i.useEffect(()=>{E&&(fe?.status==="success"&&_t.current?.(fe.txHash||""),fe?.status==="failed"&&O.current?.(new Error("Payment execution failed")))},[E,fe?.status]);const ne=i.useCallback(()=>{Mt(!1),Oe(null),At(null),Bt.current=!1,Ne(),Me()},[Ne,Me]);Ye.current={selectedAsset:re,parsedAmount:G,currentPaymentAmount:lt,isInsufficientBalance:He,isPayMode:E,isNon7702:pe,isSourceDestToken:xt,needsSwap:rt,exactOutputSwap:Ge,selectedIsEquivalent:$,resolvedTokenIn:dt,embeddedWalletAddress:ae,providerEmbeddedAddress:Se,externalWallet:me,externalWalletAddress:ot,activeSignerWallet:ie,activeSignerAddress:qe,address:Z,isConnected:X,ready:te,authenticated:se,provider:ye,resolvedChainId:ee,executionTokenAddress:Pe,destinationToken:s,buildActionCalls:l,feeExecutionMode:d,buildSpicenetBatch:u,onPayExecute:c,onSuccess:B,execution:{estimate:J,execute:Q,buildPayChainBatches:Ie,buildSupplyChainBatches:tt,estimateRequiredGrossFunding:We,onProgress:Ve},ui:{setError:Et,setStep:Ot,setStatusMsg:Lt,setTxHash:wt,setIsExecuting:ze,setShowStatusPanel:Mt,setPaymentResult:Oe},refs:{spiceDepositSubmittedRef:Bt,abortControllerRef:$e}};const ke=b?.trim(),ce=E&&y==="fixed"&&ke!==void 0&&ke!==""&&G===0,Ze=E?(ce||!!re?.asset)&&G>=0&&!be&&!He&&!le&&(ce||je||Jt)&&!vt&&(ce||!rt||!!Ge)&&!nt:!!re?.asset&&G>0&&!be&&!He&&!le&&(Ht||Jt)&&!vt&&(ve||Wt||!!gt&&!Xe)&&!nt,he=Wt?h||`Your ${s.symbol} will be used directly.`:x||"Your assets will be swapped and used in a single atomic transaction.",De=(ee?m.getChainConfig(ee):void 0)?.viemChain?.blockExplorers?.default?.url??"",It=qr.indexOf(ge),Ut=le?(Vr[ge]||"EXECUTING...").toUpperCase():ge==="success"?"DONE":be?`MINIMUM ${fn}`:He?"INSUFFICIENT BALANCE":p.toUpperCase(),Wn=i.useMemo(()=>{if(le)return"PAYING...";if(be)return`MINIMUM ${fn}`;if(He&&re?.asset)return`INSUFFICIENT ${re.asset.symbol}`;if(p)return p.toUpperCase();const Ce=G>0?` ${lt} ${s.symbol}`:"";return rt?`SWAP & PAY${Ce}`:`PAY${Ce}`},[le,be,He,re,p,G,lt,s.symbol,rt]),In=ge==="success"?()=>{Ot("idle"),At(null),wt(null),Ne()}:St,ms=ge==="success"?!1:!Ze;if(!e)return null;const An=E?M||`Pay ${s.symbol}`:p,Pn=E?A:o.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:"3px"},children:[o.jsx("span",{style:{marginTop:"3px",flexShrink:0},children:o.jsx(Ws,{color:ue})}),o.jsx("p",{style:{fontSize:"12px",color:ue,margin:0,lineHeight:"1.4",fontFamily:L},children:he})]});if(E){const Ce=fe&&(fe.status==="success"||fe.status==="failed")?[{asset:{symbol:re?.asset?.symbol||s.symbol,address:re?.asset?.address||""},amount:lt,txHash:fe.txHash||"",success:fe.status==="success",error:fe.status==="failed"?fe.error:void 0}]:void 0;return o.jsx(dn,{isOpen:e,onClose:t,title:An,subtitle:Pn,styles:k,dark:R,footerLinkText:"Spicenet accounts \u2192",closeOnBackdropClick:n,children:o.jsxs("div",{style:{padding:"16px 24px 8px 24px",position:"relative"},children:[T&&o.jsx("div",{style:{display:"flex",justifyContent:"flex-end",marginBottom:"6px"},children:o.jsx(Ps,{onClick:T,color:N,fontFamily:L})}),!ce&&o.jsx("div",{style:{marginBottom:"12px"},children:o.jsx(Ln,{assets:Ct,selectedAsset:re??void 0,onAssetSelect:Je,onAmountChange:Jl,label:"Pay with",showBalance:!0,showMaxButton:!1,hideAmountInput:!0,displayAmount:re?.asset?rt?Xe?"...":Ge?`~${parseFloat(F.formatUnits(Ge.amountIn,re.asset.decimals)).toFixed(6)}`:void 0:lt??void 0:void 0,dark:R,theme:q,styles:k})}),o.jsx(Ir,{variant:"pay",destinationSymbol:s.symbol,destinationLogoURI:s.logoURI,destinationDecimals:s.decimals,primaryColor:N,fontFamily:L,textPrimary:V,textSecondary:Y,cardBg:z,cardBorder:_,dk:P,dark:R,isQuoting:Xe,quoteError:ht,estimatedOutput:_e,paymentAmount:lt,needsSwap:rt,exactOutputSwap:Ge,adjustable:y==="adjustable",maxAmount:v,onAmountChange:Qe}),bt&&o.jsx(rs,{fontFamily:L,textPrimary:V,textSecondary:Y,cardBg:z,cardBorder:_,resolvedDark:R,darkCardBorder:P.cardBorder,primaryColor:N,feePreview:ft,isLoading:Fe,errorText:vt,directExecutionFeeNote:je}),st&&o.jsx(Mn,{variant:"error",palette:H,fontFamily:L,style:{marginBottom:"12px"},children:st}),o.jsx(m.Button,{variant:"outline",fullWidth:!0,onClick:Tt,disabled:!Ze,loading:le,dark:R,styles:{...k,button:{...k?.button,backgroundColor:N}},children:Wn}),fe&&Vt&&o.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:10,backgroundColor:R?P.shell:"white",borderRadius:R?"12px":"6px",padding:"16px 0"},children:o.jsx(Hs,{type:"payment",isOpen:fe.status!=="processing",isProcessing:le||fe.status==="processing",closeOnComplete:!1,chainName:m.getChainName(ee),explorerUrl:m.getExplorerUrl(ee,"").replace(/\/tx\/.*$/,"")||void 0,onRetryTx:()=>{Mt(!1),Oe(null),Tt()},onNewTx:ne,onClose:()=>{Mt(!1),Oe(null)},onComplete:ne,results:Ce,styles:k,dark:R})})]})})}return o.jsx(dn,{isOpen:e,onClose:t,title:An,subtitle:Pn,dark:R,styles:k,theme:S,closeOnBackdropClick:n,children:o.jsxs("div",{style:{padding:"24px 24px 5px 24px",position:"relative"},children:[o.jsx("div",{style:{marginBottom:"16px"},children:o.jsx(Ln,{assets:Ct,selectedAsset:re||void 0,onAssetSelect:Je,onAmountChange:Pt,disabled:le||ge==="success",showBalance:!0,showMaxButton:!0,label:"From Wallet",placeholder:"0.00",theme:q,styles:k,dark:U,resolveMaxAmount:Le,maxAmount:at>0?m.formatDecimalInput(at,re?.asset.decimals??s.decimals):void 0})}),re?.asset&&!Wt&&o.jsx(Ir,{variant:"supply",destinationSymbol:s.symbol,destinationLogoURI:s.logoURI,destinationDecimals:s.decimals,primaryColor:N,fontFamily:L,textPrimary:V,textSecondary:Y,cardBg:z,cardBorder:_,dark:R,isQuoting:Xe,quoteError:ht,estimatedOutput:_e}),bt&&o.jsx(rs,{fontFamily:L,textPrimary:V,textSecondary:Y,cardBg:z,cardBorder:_,resolvedDark:R,darkCardBorder:P.cardBorder,primaryColor:N,feePreview:ft,isLoading:Fe,errorText:vt,directExecutionFeeNote:je}),ge!=="idle"&&o.jsxs("div",{style:{padding:"10px 14px",borderRadius:"7px",marginBottom:"16px",backgroundColor:ge==="success"?z:ge==="error"?H.errorBg:z,border:`1px solid ${ge==="success"?_:ge==="error"?H.errorBorder:_}`},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[ge==="success"?o.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",style:{flexShrink:0},children:o.jsx("path",{d:"M5 13l4 4L19 7",stroke:H.successText,strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})}):ge==="error"?o.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",style:{flexShrink:0},children:o.jsx("path",{d:"M18 6L6 18M6 6l12 12",stroke:H.errorText,strokeWidth:"2.5",strokeLinecap:"round"})}):o.jsx(m.Spinner,{size:14,color:N}),o.jsx("span",{style:{fontSize:"13px",fontWeight:500,color:ge==="success"?V:ge==="error"?H.errorText:V,fontFamily:L,flex:1},children:ge==="success"?"Deposit confirmed":ge==="error"?Gt||"Transaction failed":Vr[ge]||Gt}),ge==="success"&&Ke&&o.jsx("a",{href:`${De}/tx/${Ke}`,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"12px",color:N,fontFamily:L,textDecoration:"none",whiteSpace:"nowrap",flexShrink:0},children:"View tx \u2192"}),ge==="error"&&o.jsx("button",{onClick:()=>{Ot("idle"),Et(null),setTimeout(St,50)},style:{background:"none",border:"none",fontSize:"12px",color:N,fontFamily:L,cursor:"pointer",padding:0,whiteSpace:"nowrap",flexShrink:0},children:"Retry \u2192"})]}),It>=0&&ge!=="success"&&ge!=="error"&&o.jsx("div",{style:{marginTop:"8px",height:"3px",borderRadius:"2px",backgroundColor:`${Y}22`,overflow:"hidden"},children:o.jsx("div",{style:{height:"100%",width:"100%",borderRadius:"2px",backgroundColor:N,transformOrigin:"left center",transform:`scaleX(${(It+1)/qr.length})`,transition:"transform 400ms ease"}})})]}),zt&&ge==="idle"&&o.jsx(Mn,{variant:"error",palette:H,fontFamily:L,style:{marginBottom:"16px"},children:zt}),o.jsx(m.Button,{variant:"outline",fullWidth:!0,disabled:ms,onClick:In,theme:S,dark:R,styles:{...k,button:{...k?.button,backgroundColor:N}},style:{fontSize:"20px",fontWeight:600,letterSpacing:"1.5px",fontFamily:W},children:Ut})]})})},_l=()=>{const[e,t]=i.useState("0"),[n,s]=i.useState(null);return{assetAmount:e,setAssetAmount:t,selectedAsset:n,setSelectedAsset:s}};function ec(e,t=0){const[n,s]=i.useState(t),r=e[n]??e[0],a=i.useMemo(()=>r?BigInt(Math.round(r.months*30*24*3600)):0n,[r?.months]);return{selectedDurationIdx:n,setSelectedDurationIdx:s,selectedDuration:r,durationSeconds:a}}function tc(){const{actions:e,isReady:t,isAuthenticated:n}=m.useWallet(),s=i.useContext(m.SpiceFlowProviderContext)?.embeddedWalletAddress,r=i.useRef(!1),a=i.useRef(0),l=i.useRef(null),d=i.useRef(e),[u,c]=i.useState(0);d.current=e,i.useEffect(()=>{r.current=!1,a.current=0,l.current&&(clearTimeout(l.current),l.current=null)},[s]),i.useEffect(()=>{if(!s||!t||!n||r.current)return;r.current=!0;let f=!1;return(async()=>{await tn(2e3);try{await m.ensureSmartWallet(s,d.current.signMessage),a.current=0}catch(p){console.warn("[SmartWallet] Registration failed:",p),r.current=!1,!f&&a.current<3&&(a.current+=1,l.current=setTimeout(()=>{c(g=>g+1)},5e3))}})(),()=>{f=!0,l.current&&(clearTimeout(l.current),l.current=null)}},[s,t,n,u])}function qn(e){try{return j.resolveTokenRef(e)}catch{throw new m.SpiceflowError("ROUTE_TOKEN_NOT_FOUND",`Token "${e[0]}" not found on chain ${e[1]} in the token registry.`,{symbol:e[0],chainId:e[1]})}}function nc(e,t){if(e[0].toUpperCase()===t[0].toUpperCase()&&e[1]===t[1])return!0;let n,s;try{n=qn(e),s=qn(t)}catch{return!1}const r=new Set(j.getEquivalentAddresses(s.address).map(a=>a.toLowerCase()));return r.add(s.address.toLowerCase()),r.has(n.address.toLowerCase())}function sc(){const e=[];for(const t of Object.keys(j.CHAINS).map(Number))for(const n of j.getTokensForChain(t))e.push([n.symbol,t]);return e}async function oc(e){const{action:t,inputToken:n,inputAmount:s,registry:r,userAddress:a,slippage:l,intermediaryCandidates:d}=e;if(t.calls.length===0)throw new m.SpiceflowError("INVALID_PARAMS","buildIntent: action.calls must not be empty.",{action:t});if(s<=0n)throw new m.SpiceflowError("INVALID_PARAMS","buildIntent: inputAmount must be greater than zero.",{inputAmount:s.toString()});const u=t.supportedInputTokens??sc();if(!u.some(y=>nc(n,y))){const y=u.map(([I,v])=>`${I} (chain ${v})`).join(", ");throw new m.SpiceflowError("ROUTE_UNSUPPORTED_INPUT",`Input token "${n[0]}" on chain ${n[1]} is not in the action's supported input tokens. Supported: ${y}.`,{inputToken:{symbol:n[0],chainId:n[1]},supportedInputTokens:u})}const c=qn(n),f=qn(t.outputToken),p=_o({sourceAsset:c,outputAsset:f,sourceChainId:c.chainId,destinationChainId:t.chainId,intermediaryCandidates:d}),{chainBatches:g,solverFrontToken:x,solverFrontAmount:h,resolvedSwaps:b}=await er({route:p,sourceAmount:s,userAddress:a,registry:r,actionCalls:t.calls,slippage:l});return{chainBatches:g,route:p,resolvedSwaps:b,resolvedInputToken:c,resolvedOutputToken:f,solverFrontToken:x,solverFrontAmount:h}}const rc=[0n,1n,30n],ac=new Set(["ABORT","CONCURRENT_EXECUTION","WALLET_DISCONNECTED","WALLET_REJECTED","NO_VENUE_FOR_CHAIN"]);function Yr(e,t){return t===0n?e:e*(1000n-t)/1000n}async function ic(e,t){const{chainId:n,swapCalls:s,quoteAmountOut:r,buildActionCalls:a,tokenAddress:l,tokenTransferAmount:d,onProgress:u,signal:c,options:f,buffers:p=rc}=t;for(let g=0;g<p.length;g++){const x=p[g],h=Yr(r,x),b=a(h),y=[{chainId:n,calls:[...s,...b]}];try{return await e(y,l,d,u,c,f)}catch(I){const v=typeof I?.message=="string"?I.message:String(I?.message??"");if(m.isSpiceflowError(I)&&ac.has(I.code)||I.name==="AbortError"||c?.aborted||v.includes("User rejected")||v.includes("User denied")||I.code===4001||g>=p.length-1)throw I;const D=Number(p[g+1])/10;console.warn(`[SwapThenAction] Action attempt ${g+1} failed (buffer ${Number(x)/10}%), retrying with ${D}% buffer...`,I.message),u?.({step:"signing-delegation",message:`Adjusting action amount, retrying (${D}% buffer)...`})}}throw new m.SpiceflowError("ALL_ATTEMPTS_FAILED","All action attempts failed after exhausting buffer progression.",{attempts:p.length,chainId:n})}oa(),exports.SpiceFlowProvider=m.SpiceFlowProvider,exports.SpiceFlowProviderContext=m.SpiceFlowProviderContext,exports.SpiceflowError=m.SpiceflowError,exports.Spinner=m.Spinner,exports.buildDarkPalette=m.buildDarkPalette,exports.buildLightPalette=m.buildLightPalette,exports.getChainConfig=m.getChainConfig,exports.getChainName=m.getChainName,exports.isSpiceflowError=m.isSpiceflowError,exports.relayerService=m.relayerService,exports.resolveTheme=m.resolveTheme,exports.useIsUserWhitelisted=m.useIsUserWhitelisted,exports.useSpiceBrand=m.useSpiceBrand,exports.useWallet=m.useWallet,Object.defineProperty(exports,"NATIVE_TOKEN_ADDRESS",{enumerable:!0,get:function(){return j.ZERO_ADDRESS}}),Object.defineProperty(exports,"SPICENET_NATIVE_CHAIN_ID",{enumerable:!0,get:function(){return j.SPICENET_NATIVE_CHAIN_ID}}),Object.defineProperty(exports,"SPICE_COMBINED_FEE_RECIPIENT",{enumerable:!0,get:function(){return j.SPICE_COMBINED_FEE_RECIPIENT}}),Object.defineProperty(exports,"SPICE_GAS_FEE_RECIPIENT",{enumerable:!0,get:function(){return j.SPICE_GAS_FEE_RECIPIENT}}),Object.defineProperty(exports,"SPICE_PLATFORM_FEE_RECIPIENT",{enumerable:!0,get:function(){return j.SPICE_PLATFORM_FEE_RECIPIENT}}),Object.defineProperty(exports,"SPICE_SOLVER_ADDRESS",{enumerable:!0,get:function(){return j.SPICE_SOLVER_ADDRESS}}),Object.defineProperty(exports,"applySlippage",{enumerable:!0,get:function(){return j.applySlippage}}),Object.defineProperty(exports,"buildUniV3SwapCalls",{enumerable:!0,get:function(){return j.buildUniV3SwapCalls}}),Object.defineProperty(exports,"getChainIdsByNetwork",{enumerable:!0,get:function(){return j.getChainIdsByNetwork}}),Object.defineProperty(exports,"getEscrowContractAddress",{enumerable:!0,get:function(){return j.getEscrowContractAddress}}),Object.defineProperty(exports,"isNativeToken",{enumerable:!0,get:function(){return j.isNativeToken}}),Object.defineProperty(exports,"isSpicenetChainId",{enumerable:!0,get:function(){return j.isSpicenetChainId}}),Object.defineProperty(exports,"normalizeNativeTokenAddress",{enumerable:!0,get:function(){return j.normalizeNativeTokenAddress}}),Object.defineProperty(exports,"spicenetAbi",{enumerable:!0,get:function(){return j.spicenetAbi}}),Object.defineProperty(exports,"spicenetWithdrawalAbi",{enumerable:!0,get:function(){return j.spicenetAbi}}),exports.AccountDisplay=Ul,exports.AddFundsLink=Ps,exports.CheckIcon=Wo,exports.ChevronIcon=Cn,exports.CloseIcon=Fn,exports.DetailRow=Dn,exports.ProviderLogin=Ls,exports.SATSUMA_CITREA_CONFIG=no,exports.SearchInput=bs,exports.SelectChainModal=Pi,exports.SpiceDeposit=Wi,exports.SpiceLock=ml,exports.SpiceSupply=$l,exports.SpiceWithdraw=_i,exports.StatusBanner=Mn,exports.UNIV3_BASE_CONFIG=Pr,exports.applyBuffer=Yr,exports.areEquivalentOnChains=Hn,exports.buildIntent=oc,exports.buildPayChainBatches=fr,exports.buildRoutedBatches=er,exports.buildSupplyChainBatches=mr,exports.create1inchVenue=Nr,exports.createExactOutputRegistry=Lr,exports.createLiquidityRegistry=Or,exports.createSatsumaVenue=Ur,exports.duration=Yt,exports.easing=Rt,exports.estimateFeePreview=xr,exports.estimateRequiredGrossFunding=hr,exports.estimateSupplyMaxAmount=gr,exports.executeDirectExternalAction=eo,exports.executeNon7702Pay=vr,exports.executeNon7702Supply=kr,exports.executePay=Sr,exports.executeSupply=wr,exports.executeSwapThenAction=ic,exports.findEquivalentOnChain=mn,exports.findTokenOnChain=qs,exports.font=ao,exports.getAssetChainTokenCandidates=Kn,exports.getBestUniV3Quote=Rr,exports.getUniV3Quote=Tr,exports.isSupportedSupplyAsset=jr,exports.isSwapIntent=Mr,exports.radius=Cs,exports.resolveAssetTokenAddressOnChain=an,exports.resolveFundedToken=ko,exports.resolveInputSupplySwapQuote=Gl,exports.resolveRoute=_o,exports.resolveTokenRef=qn,exports.scaleTokenAmount=ln,exports.transition=en,exports.useAssetInput=_l,exports.useLockDuration=ec,exports.useSmartWallet=tc,exports.useSpiceAssets=Qn,exports.useSpiceExecution=Rn,exports.useSpicePendingDeposits=ar,exports.useSupplyAssets=Br,exports.useSupplyQuote=Qr,exports.z=wn;